(57)【特許請求の範囲】
【請求項１】
第１のデータ格納領域と、
データアクセス要求に応答して前記第１のデータ格納領域内のデータへのアクセスを制御する第１のアクセス制御手段と、
第２のデータ格納領域と、
データアクセス要求に応答して前記第２のデータ格納領域内のデータへのアクセスを制御する第２のアクセス制御手段と、
前記第２のデータ格納領域内に格納され、前記第２のデータ格納領域のデータにアクセスすることを許可するために用いられる認証鍵と、
前記第１のデータ格納領域内に格納され、前記第２のデータ格納領域内のデータのファイルＩＤ及び当該データに対応する前記認証鍵のファイルＩＤが記録されるリンクデータと、
前記第２のデータ格納領域内に格納され、前記第２のデータ格納領域のデータへのアクセスを許可するか否かを示すアクセス制御ビットが記録されるアクセス制御管理用メモリと、を備え、
前記第１のアクセス制御手段が、
外部装置から認証要求を受けた場合、その認証要求に応答して、前記リンクデータに記録されている前記認証鍵のファイルＩＤと前記外部装置から受信した第１の乱数と共に認証要求を前記第２のアクセス制御手段に送信し、外部装置からデータアクセス要求を受けたとき、そのデータアクセス要求が、前記第２のデータ格納領域内のデータにアクセスすることの要求である場合、前記リンクデータに記録されている前記データのファイルＩＤと共にデータアクセス要求を前記第２のアクセス制御手段に送信し、
前記第２のアクセス制御手段が、
前記第１のアクセス制御手段から前記認証鍵のファイルＩＤと前記第１の乱数と共に認証要求を受けた場合、前記認証鍵のファイルＩＤに基づいて前記第２のデータ格納領域内の認証鍵を取得し、当該認証鍵を用いて、前記第１の乱数を暗号化し、暗号化した第１の乱数を前記第１のアクセス制御手段を介して前記外部装置に送信し、第２の乱数を生成し、生成した前記第２の乱数を前記第１のアクセス制御手段を介して前記外部装置に送信し、前記第１のアクセス制御手段から前記外部装置によって暗号化された情報を受信した場合、前記認証鍵を用いて前記情報を復号し、復号した前記情報が前記第２の乱数に一致するときには前記第２のデータ格納領域内のデータに対応する前記アクセス制御ビットにアクセス許可を示すビット値を記録し、前記第１のアクセス制御手段から前記データのファイルＩＤと共にデータアクセス要求を受けた場合、前記アクセス制御ビットにアクセス許可を示すビット値が記録されているときは、前記データのファイルＩＤに基づいて前記第２のデータ格納領域内のデータを読み出し、前記第１のアクセス制御手段を介して前記外部装置に送信することを特徴とするアクセス制御装置。
【請求項２】
第１のデータ格納領域と、データアクセス要求に応答して前記第１のデータ格納領域内のデータへのアクセスを制御する第１のアクセス制御手段と、第２のデータ格納領域と、データアクセス要求に応答して前記第２のデータ格納領域内のデータへのアクセスを制御する第２のアクセス制御手段と、前記第２のデータ格納領域内に格納され、前記第２のデータ格納領域内のデータにアクセスすることを許可するために用いられる認証鍵と、前記第１のデータ格納領域内に格納され、前記第２のデータ格納領域内のデータのファイルＩＤ及び当該データに対応する前記認証鍵のファイルＩＤが記録されるリンクデータと、前記第２のデータ格納領域内に格納され、前記第２のデータ格納領域のデータへのアクセスを許可するか否かを示すアクセス制御ビットが記録されるアクセス制御管理用メモリと、を備えたアクセス制御装置のコンピュータに、
前記第１のアクセス制御手段が、外部装置から認証要求を受け、その認証要求に応答して、前記リンクデータに記録されている前記認証鍵のファイルＩＤと前記外部装置から受信した第１の乱数と共に認証要求を前記第２のアクセス制御手段に送信するステップと、
前記第２のアクセス制御手段が、前記第１のアクセス制御手段から前記認証鍵のファイルＩＤと前記第１の乱数と共に認証要求を受けた場合、前記認証鍵のファイルＩＤに基づいて前記第２のデータ格納領域内の認証鍵を取得するステップと、
前記第２のアクセス制御手段が、当該認証鍵を用いて、前記第１の乱数を暗号化し、暗号化した第１の乱数を前記第１のアクセス制御手段を介して前記外部装置に送信するステップと、
前記第２のアクセス制御手段が、第２の乱数を生成し、生成した前記第２の乱数を前記第１のアクセス制御手段を介して前記外部装置に送信するステップと、
前記第２のアクセス制御手段が、前記第１のアクセス制御手段から前記外部装置によって暗号化された情報を受信した場合、前記認証鍵を用いて前記情報を復号し、復号した前記情報が前記第２の乱数に一致するときには前記第２のデータ格納領域内のデータに対応する前記アクセス制御ビットにアクセス許可を示すビット値を記録するステップと、
前記第１のアクセス制御手段が、外部装置からデータアクセス要求を受けるステップと、
前記第１のアクセス制御手段が、前記リンクデータに記録されている前記データのファイルＩＤと共にデータアクセス要求を前記第２のアクセス制御手段に送信するステップと、
前記第２のアクセス制御手段が、前記第１のアクセス制御手段から前記データのファイルＩＤと共にデータアクセス要求を受けた場合、前記アクセス制御ビットにアクセス許可を示すビット値が記録されているときは、前記データのファイルＩＤに基づいて前記第２のデータ格納領域内のデータを読み出し、前記第１のアクセス制御手段を介して前記外部装置に送信するステップと、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部からのアクセスを制御するための技術に関し、例えば、外部装置からのアクセスを制御する手段を備えたＩＣカードに関する。
【０００２】
【従来の技術】
本発明のアクセス制御装置は、ＩＣカード、パーソナルコンピュータ、及びその他の種々の装置に採用し得るが、以下、本発明のアクセス制御装置がＩＣカードに適用された場合を例に採り、本発明について説明する。
【０００３】
従来、接触式と非接触式の両方のインターフェースを備えたＩＣカードが知られている。そのようなＩＣカードとして、例えば、両方のインターフェース間でメモリが共有されるコンビネーションＩＣカードがある。コンビネーションＩＣカードの共有のメモリには、接触式のインターフェース（以下、「接触式ＩＦ」と表記）に対応したファイル格納領域（以下、「接触用データ格納領域」と言う）と、非接触式のインターフェース（以下、「非接触式ＩＦ」と表記）に対応したファイル格納領域（以下、「非接触用データ格納領域」と言う）とが用意されているものがある。各データ格納領域は、通常、アクセス制御されている。
【０００４】
【発明が解決しようとする課題】
接触用データ格納領域と非接触用データ格納領域とでは、認証方法等のアクセス制御方式や、ファイル管理方式や、コマンド体系が異なる場合がある。このため、両方のデータ格納領域のアクセス制御方式を統一させることは困難であり、それ故、例えば、接触用ＩＦを介して非接触用データ格納領域へ不正にアクセスしようとする処理が行われた場合に、各データ格納領域用のアクセス制御が正常に行なわれず、接触用ＩＦを介して非接触用データ格納領域に不正にアクセスするといったセキュリティ侵害が起こる可能性がある。
【０００５】
また、ＩＣカードの用途によっては、接触用ＩＦを介して非接触用データ格納領域へアクセスする、或いは反対に、非接触用ＩＦを介して接触用データ格納領域へアクセスするといったことを行ないたい場合があるであろう。しかし、上述したように、接触用データ格納領域と非接触用データ格納領域とでは、認証方法等のアクセス制御方式や、ファイル管理方式や、コマンド体系が異なる場合があるので、接触用ＩＦを介して非接触用データ格納領域へアクセスする等の処理が正常に行なわれない可能性もある。
【０００６】
このような問題点は、上述のようなコンビネーションＩＣカードに限らず、２以上のデータ格納領域と、２以上の格納領域にそれぞれ対応している２種以上のアクセス制御手段（対応しているデータ格納領域内のファイルへアクセスすることを制御する手段）とを有する種々の装置にも存在し得る。
【０００７】
従って、本発明の目的は、２以上のデータ格納領域と、２以上の格納領域にそれぞれ対応している２種以上のアクセス制御手段とを有する装置において、外部から一方のアクセス制御手段を介して他方のアクセス制御手段に対応するデータ格納領域内へ正常にアクセスできるようにすることにある。
【０００８】
【課題を解決するための手段】
本発明は、第１のデータ格納領域と、データアクセス要求に応答して前記第１のデータ格納領域内のデータへのアクセスを制御する第１のアクセス制御手段と、第２のデータ格納領域と、データアクセス要求に応答して前記第２のデータ格納領域内のデータへのアクセスを制御する第２のアクセス制御手段と、前記第２のデータ格納領域内に格納され、前記第２のデータ格納領域内のデータにアクセスすることを許可するために用いられる認証鍵と、前記第１のデータ格納領域内に格納され、前記第２のデータ格納領域内のデータのファイルＩＤ及び当該データに対応する前記認証鍵のファイルＩＤが記録されるリンクデータと、前記第２のデータ格納領域内に格納され、前記第２のデータ格納領域のデータへのアクセスを許可するか否かを示すアクセス制御ビットが記録されるアクセス制御管理用メモリと、を備え、前記第１のアクセス制御手段が、外部装置から認証要求を受けた場合、その認証要求に応答して、前記リンクデータに記録されている前記認証鍵のファイルＩＤと前記外部装置から受信した第１の乱数と共に認証要求を前記第２のアクセス制御手段に送信し、外部装置からデータアクセス要求を受けたとき、そのデータアクセス要求が、前記第２のデータ格納領域内のデータにアクセスすることの要求である場合、前記リンクデータに記録されている前記データのファイルＩＤと共にデータアクセス要求を前記第２のアクセス制御手段に送信し、前記第２のアクセス制御手段が、前記第１のアクセス制御手段から前記認証鍵のファイルＩＤと前記第１の乱数と共に認証要求を受けた場合、前記認証鍵のファイルＩＤに基づいて前記第２のデータ格納領域内の認証鍵を取得し、当該認証鍵を用いて、前記第１の乱数を暗号化し、暗号化した第１の乱数を前記第１のアクセス制御手段を介して前記外部装置に送信し、第２の乱数を生成し、生成した前記第２の乱数を前記第１のアクセス制御手段を介して前記外部装置に送信し、前記第１のアクセス制御手段から前記外部装置によって暗号化された情報を受信した場合、前記認証鍵を用いて前記情報を復号し、復号した前記情報が前記第２の乱数に一致するときには前記第２のデータ格納領域内のデータに対応する前記アクセス制御ビットにアクセス許可を示すビット値を記録し、前記第１のアクセス制御手段から前記データのファイルＩＤと共にデータアクセス要求を受けた場合、前記アクセス制御ビットにアクセス許可を示すビット値が記録されているときは、前記データのファイルＩＤに基づいて前記第２のデータ格納領域内のデータを読み出し、前記第１のアクセス制御手段を介して前記外部装置に送信することを特徴とするアクセス制御装置である。
【０００９】
また、本発明は、第１のデータ格納領域と、データアクセス要求に応答して前記第１のデータ格納領域内のデータへのアクセスを制御する第１のアクセス制御手段と、第２のデータ格納領域と、データアクセス要求に応答して前記第２のデータ格納領域内のデータへのアクセスを制御する第２のアクセス制御手段と、前記第２のデータ格納領域内のデータにアクセスすることを許可するために用いられる認証鍵と、前記第１のデータ格納領域内に格納され、前記第２のデータ格納領域内のデータのファイルＩＤ及び当該データに対応する前記認証鍵のファイルＩＤが記録されるリンクデータと、前記第２のデータ格納領域内に格納され、前記第２のデータ格納領域のデータへのアクセスを許可するか否かを示すアクセス制御ビットが記録されるアクセス制御管理用メモリと、を備えたアクセス制御装置のコンピュータに、前記第１のアクセス制御手段が、外部装置から認証要求を受け、その認証要求に応答して、前記リンクデータに記録されている前記認証鍵のファイルＩＤと前記外部装置から受信した第１の乱数と共に認証要求を前記第２のアクセス制御手段に送信するステップと、前記第２のアクセス制御手段が、前記第１のアクセス制御手段から前記認証鍵のファイルＩＤと前記第１の乱数と共に認証要求を受けた場合、前記認証鍵のファイルＩＤに基づいて前記第２のデータ格納領域内の認証鍵を取得するステップと、前記第２のアクセス制御手段が、当該認証鍵を用いて、前記第１の乱数を暗号化し、暗号化した第１の乱数を前記第１のアクセス制御手段を介して前記外部装置に送信するステップと、前記第２のアクセス制御手段が、第２の乱数を生成し、生成した前記第２の乱数を前記第１のアクセス制御手段を介して前記外部装置に送信するステップと、前記第２のアクセス制御手段が、前記第１のアクセス制御手段から前記外部装置によって暗号化された情報を受信した場合、前記認証鍵を用いて前記情報を復号し、復号した前記情報が前記第２の乱数に一致するときには前記第２のデータ格納領域内のデータに対応する前記アクセス制御ビットにアクセス許可を示すビット値を記録するステップと、前記第１のアクセス制御手段が、外部装置からデータアクセス要求を受けるステップと、前記第１のアクセス制御手段が、前記リンクデータに記録されている前記データのファイルＩＤと共にデータアクセス要求を前記第２のアクセス制御手段に送信するステップと、前記第２のアクセス制御手段が、前記第１のアクセス制御手段から前記データのファイルＩＤと共にデータアクセス要求を受けた場合、前記アクセス制御ビットにアクセス許可を示すビット値が記録されているときは、前記データのファイルＩＤに基づいて前記第２のデータ格納領域内のデータを読み出し、前記第１のアクセス制御手段を介して前記外部装置に送信するステップと、を実行させるためのコンピュータプログラムである。
【００１２】
【発明の実施の形態】
以下、図面を用いて、本発明に係るアクセス制御装置が適用されたＩＣカードの一実施形態を説明する。
【００１３】
図１は、本発明の一実施形態に係るＩＣカードのブロック図である。
【００１４】
このＩＣカード１は、コンビネーションＩＣカードであり、接触式と非接触式の両方のインターフェース（図示せず）を有している。ＩＣカード１は、ＩＣカード１と接触式ＩＦを介してデータを送受信することができる外部機器（以下、「接触用上位装置」と言う）７と接触式ＩＦを介して通信することができ、且つ、ＩＣカード１と非接触式ＩＦを介してデータを送受信することができる外部機器（以下、「非接触用上位装置」と言う）９と非接触式ＩＦを介して通信することができる。
【００１５】
ＩＣカード１は、各インターフェースを介して送受信されるデータが格納されるメモリ１１と、接触用ＯＳ３と、非接触用ＯＳ５とを備えている。
【００１６】
メモリ１１は、両方のインターフェースに共有のものである。このメモリ１１には、接触式のインターフェース（以下、「接触式ＩＦ」と表記）に対応したデータ格納領域（以下、「接触用データ格納領域」と言う）１３と、非接触式のインターフェース（以下、「非接触式ＩＦ」と表記）に対応したデータ格納領域（以下、「非接触用データ格納領域」と言う）１５とが用意されている。接触用データ格納領域１３は、接触式ＩＦを介して送受信されるデータが格納されるデータ格納領域であり、非接触用データ格納領域１５は、非接触式ＩＦを介して送受信されるデータが格納されるデータ格納領域である。
【００１７】
接触用ＯＳ３は、接触式ＩＦを介してＩＣカード１と接触用上位装置７（例えば、ＩＣカード１のカードリーダライタやそれを備えたパーソナルコンピュータ等）との間で行なわれる通信の制御等を行なうオペレーティングシステムである。接触用ＯＳ３は、接触用上位装置７から、接触用ＯＳ３が解釈できる形式のコマンドを受信し、そのコマンドの内容に基づいて、ＩＣカード１の正当性を認証するための処理や、接触用上位装置７の正当性を認証するための処理や、非接触用ＯＳ５に特定の処理の実行を命じる処理等を実行する。
【００１８】
非接触用ＯＳ５は、接触用ＯＳ３には依存しない独自のオペレーティングシステムであり、非接触式ＩＦを介してＩＣカード１と非接触用上位装置９（例えば、ＩＣカード１のカードリーダライタやそれを備えた端末装置等）との間で行なわれる通信の制御等を行なうものである。非接触用ＯＳ５は、非接触用上位装置９から、非接触用ＯＳ５が解釈できる形式のコマンドを受信し、そのコマンドの内容に基づいて、ＩＣカード１の正当性を認証するための処理や、非接触用上位装置９の正当性を認証するための処理や、接触用ＯＳ３に特定の処理の実行を命じる処理等を実行する。
【００１９】
接触用データ格納領域１３内と非接触用データ格納領域１５内の構成は異なっている。以下、接触用データ格納領域１３内と非接触用データ格納領域１５内の構成について説明する。
【００２０】
図２は、接触用データ格納領域１３内の構成を示す。
【００２１】
接触用データ格納領域１３内には、複数のファイル、すなわち、１以上の接触用認証鍵ファイル２１Ａ、２１Ｂ、・・・（この実施形態では２つであるが２つに限定する必要はない）と、１以上の接触用データファイル２３Ａ、２３Ｂ、…と、アクセス制御管理用メモリ２５と、１以上の（例えば１つの）非接触認証用リンクファイル２７と、１以上の（例えば１つの）非接触データファイル用リンクファイル２９とが設定されている。各ファイルには、そのファイルを識別するためのコード（以下、「ファイルＩＤ」と言う）が用意されている。各種リンクファイル２７、２９は、ＩＣカード１の発行の際に生成される。
【００２２】
接触用認証鍵ファイル２１Ａ、２１Ｂ、・・・の各々には、接触用データ格納領域１３にアクセスすることの正当性の認証（以下、「接触用認証」と言う）の際に使用される所定の認証鍵のコード（以下、「接触用認証鍵」と言う）が格納されている。具体的には、例えば、接触用認証鍵ファイル２１Ａには、接触用認証鍵Ｐ１が格納されており、接触用認証鍵ファイル２１Ｂには、接触用認証鍵Ｐ１とは別のデータ構成となっている接触用認証鍵Ｐ２が格納されている。
【００２３】
接触用データファイル２３Ａ、２３Ｂ、…の各々は、１以上のサブデータ格納領域（以下、これを「レコード」と言う）に区分けされており、各レコードには、所定ビット数のデータが格納される。また、接触用データファイル２３Ａ、２３Ｂ、…の各々には、接触用データ格納領域１３内のどの接触用認証鍵によって接触用認証が成功したときにそのデータファイルにアクセス可能とするかを示すアクセス制御コードが用意されている。具体的には、接触用データファイル２３Ａには、アクセス制御コードとして、接触用認証鍵Ｐ１が設定されている（すなわち、接触用接触鍵Ｐ１を用いて接触用認証が行われた場合には、接触用上位装置７（又は非接触用上位装置９）が接触用データファイル２３Ａにアクセスすることが許可される）。
【００２４】
アクセス制御管理用メモリ２５には、接触用データ格納領域１３内に存在する接触用認証鍵毎に領域が用意されており、その領域には、その領域に対応している接触用認証鍵を用いて接触用認証が行われた否かを示すアクセス制御ビットが記述されている。具体的には、例えば、接触用認証鍵Ｐ１を用いて接触用認証が行われた場合には、図２に示すように、接触用認証鍵Ｐ１に対応したアクセス制御ビット（以下、「Ｐ１制御ビット」と言う）は「１」となり、そうでない場合には、Ｐ１制御ビットは「０」になる。
【００２５】
非接触認証用リンクファイル２７には、非接触用データ格納領域１５内にアクセスすることの正当性の認証（以下、「非接触用認証」と言う）の際に使用される認証鍵のコード（以下、「非接触用認証鍵」と言う）が格納されている、非接触用データ格納領域１５内に存在のファイルのファイルＩＤが１つ以上記録されている。接触用上位装置７からこのファイル２７が指定された場合は、このファイル２７に記録されているファイルＩＤを持つ、非接触用データ格納領域１５内のファイルの非接触用認証鍵が認証で使用される。
【００２６】
非接触データファイル用リンクファイル２９は、１以上のレコードを有しており、各レコードには、そのレコードを識別するための番号（以下、「レコード番号」と言う）が割当てられており、非接触用データ格納領域１５内のデータファイル（以下、「非接触用データファイル」と言う）のファイルＩＤと、その非接触用データファイル中のレコードのレコード番号とが記録されている。接触用上位装置７から、このファイル２９及びこのファイル２９のレコード番号が指定された場合は、このファイル２９の指定されたレコード番号のレコード（以下、この段落において「指定レコード」と言う）に記録されているファイルＩＤを持つ非接触用データファイルの、指定レコードに記録されているレコード番号を持つレコードに、接触用上位装置７が接触式ＩＦを介してアクセスすることが可能である。
【００２７】
以上のような接触用データ格納領域１３において、例えば外部機器（この実施形態では接触用上位装置７又は非接触用上位装置９）から接触用データファイル２３Ａへのアクセスは以下のように行なわれる。すなわち、接触用ＯＳ３が、外部機器から接触用データファイル２３ＡのファイルＩＤ「０００１」を受けたら、アクセス制御管理用メモリ２５内のＰ１制御ビット（すなわち、接触用データファイル２３Ａのアクセス制御コードＰ１に対応したアクセス制御ビット）を参照する。接触用ＯＳ３は、Ｐ１制御ビットが「１」ならば、外部機器から接触用データファイル２３Ａへのアクセスを許可し、そうでないならば、そのアクセスを許可しない。
【００２８】
図３は、非接触用データ格納領域１５内の構成を示す。
【００２９】
非接触用データ格納領域１５内にも、接触用データ格納領域１３と同様に、複数のファイル、すなわち、１以上の非接触用データファイル３１Ａ、３１Ｂ、…と、接触認証用リンクファイル３７と、接触データファイル用リンクファイル３９とが設定されている。各ファイルには、そのファイルを識別するためのファイルＩＤが用意されている。また、各種リンクファイル３７、３９は、ＩＣカード１の発行の際に生成される。
【００３０】
非接触用データファイル３１Ａ、３１Ｂ、…の各々は、以下のようになっている。すなわち、例えば非接触用データファイル３１Ａは、１以上のレコードと、非接触用認証鍵Ｑ１と、アクセス制御ビット３５とを有している（これは、他の非接触用データファイル３１Ｂ、…も同様である）。そのファイル３１Ａの各レコードには、所定ビット数のデータが格納される。そのファイル３１Ａのアクセス制御ビット３５は、非接触用認証鍵Ｑ１を用いて非接触用認証が行われた場合に、図３に示すように「１」というコードになり、そうでない場合には、「０」というコードになる。
【００３１】
接触認証用リンクファイル３７には、接触用認証鍵が格納されている、接触用データ格納領域１３内でのファイルＩＤが１つ以上記録されている。非接触用上位装置９からこのファイル３７が指定された場合は、このファイル３７に記録されているファイルＩＤを持つ、接触用データ格納領域１３内の接触用認証鍵ファイルの接触用認証鍵が認証で使用される。
【００３２】
接触データファイル用リンクファイル３９は、１以上のレコードを有しており、各レコードには、レコード番号が割当てられており、接触用データファイルのファイルＩＤと、その接触用データファイル中のレコードのレコード番号とが記録されている。非接触用上位装置９から、このファイル３９及びこのファイル３９のレコード番号が指定された場合は、このファイル３９の指定されたレコード番号のレコード（以下、この段落において「指定レコード」と言う）に記録されているファイルＩＤを持つ接触用データファイルの、指定レコードに記録されているレコード番号を持つレコードに、非接触用上位装置９が非接触式ＩＦを介してアクセスすることが可能である。
【００３３】
以上のような非接触用データ格納領域１５において、例えば外部機器から非接触用データファイル３１Ａへのアクセスは以下のように行なわれる。すなわち、非接触用ＯＳ５が、外部機器から非接触用データファイル３１ＡのファイルＩＤ「ＡＡＡ」を受けたら、そのデータファイル３１が有するアクセス制御ビットを参照する。非接触用ＯＳ５は、そのアクセス制御ビットが「１」ならば、外部機器から非接触用データファイル３１Ａへのアクセスを許可し、そうでないならば、そのアクセスを許可しない。
【００３４】
以上のようなＩＣカード１に対して、接触用上位装置７は、接触式ＩＦを介して、接触用認証の処理実行のみならず、非接触用認証の処理実行をも命令することができる。非接触用認証の処理実行は、接触用認証の処理実行と同様の形式で命令することができるので、この実施形態に係るＩＣカード１を実施した場合、従来からある接触用上位装置７を大きく設計変更する必要がない。このため、低コストでＩＣカード１を実施可能である。
【００３５】
以下、図４を参照して、接触用上位装置７から接触式ＩＦを介して非接触用認証の処理実行が命令された場合に、接触用上位装置７とＩＣカード１との間で行われる処理流れについて説明する。
【００３６】
この処理流れでは、接触用上位装置７が接触式ＩＦを介してＩＣカード１内に命令を出すため、接触用上位装置７が接触用ＯＳ３と通信し、接触用ＯＳ３が非接触用ＯＳ５と通信することで、接触用上位装置７とＩＣカード１との間で非接触用認証の処理が行われる。
【００３７】
また、この処理流れでは、ステップ１（以下、ステップを「Ｓ」と略記する）〜Ｓ７の第１フェーズと、Ｓ８〜Ｓ１７の第２フェーズとがある。
【００３８】
第１フェーズでは、まず、接触用上位装置７が、乱数ＲＡを生成し、その乱数ＲＡと、接触用ＯＳ３に参照されるべきファイル（ここでは非接触認証用リンクファイル２７）のファイルＩＤとが含まれたコマンドであって、ＩＣカード１の正当性を認証する処理の実行を命じるための接触用ＯＳ３が解釈可能なコマンド（以下、「接触用カード認証コマンド」と言う）を、接触式ＩＦを介してＩＣカード１内に送信する（Ｓ１）。
【００３９】
接触用ＯＳ３は、接触用上位装置７から接触用カード認証コマンドを受信したら、そのコマンドを解釈し、そのコマンドに含まれているファイルＩＤを持つ非接触認証用リンクファイル２７を参照して、そのファイル２７に記録されている、非接触用データ格納領域１５内のファイルのファイルＩＤ（以下、「非接触ファイルＩＤ」と言う）を取得する。そして、接触用ＯＳ３は、受信した接触用カード認証コマンドを、非接触用ＯＳ５が解釈可能なコマンドに変換し（換言すれば、非接触用ＯＳ５に対する、ＩＣカード１の正当性を認証する処理の実行を命じるためのコマンドの形式に変換し）（Ｓ２）、変換後のコマンド（以下、「非接触用カード認証コマンド」と言う）を非接触用ＯＳ５に送信する（Ｓ３）。その非接触用カード認証コマンドには、接触用ＯＳ３が接触用上位装置７から受信した接触用カード認証コマンドに含まれている乱数ＲＡと、取得された１以上の非接触ファイルＩＤとが含まれている。
【００４０】
非接触用ＯＳ５は、接触用ＯＳ３から非接触用カード認証コマンドを受信したら、そのコマンドを解釈し、そのコマンドに含まれている各非接触ファイルＩＤを持つ、非接触用データ格納領域１３内の各データファイルを参照して、そのデータファイルに付加されている非接触用認証鍵を取得する。そして、非接触用ＯＳ５は、取得した非接触用認証鍵それ自体又はその鍵から生成された鍵（例えば、非接触用認証鍵に１以上の別の鍵（例えば、システムキーやエリアキー）が加えられて圧縮されたもの）を、接触用ＯＳ３から受信した非接触用カード認証コマンドに含まれている乱数ＲＡを暗号化して、暗号化された乱数Ｅ（ＲＡ）を得て（Ｅ１（））、その乱数Ｅ（ＲＡ）を接触用ＯＳ３に送信する（Ｓ５）。なお、この処理において、非接触用カード認証コマンドから取得された非接触用認証鍵が複数個ある場合には、例えば、複数個の非接触用認証鍵を個々に用いて暗号化が行なわれても良いし（つまり複数回の暗号化処理が行われても良いし）、複数個の非接触用認証鍵を１つの鍵に圧縮し圧縮された１つの鍵を用いて暗号化が行われても良い。また、「システムキー」とは、ＩＣカード毎に設定されている鍵で、ＩＣカード毎に異なるものであり、「エリアキー」とは、ファイルが属しているエリアに対応する鍵で、エリア毎に設定されるものである。
【００４１】
接触用ＯＳ３は、非接触用ＯＳ５から暗号化された乱数Ｅ（ＲＡ）を受信したら、その乱数Ｅ（ＲＡ）を接触用上位装置７に送信する（Ｓ６）。
【００４２】
接触用上位装置７は、Ｅ１（）の暗号化の際に使用された鍵と同一の鍵又はそれに対応した鍵（以下、「上位装置用復号化鍵」と言う）を予め有する、所定のタイミングで（例えば、接触用ＯＳ３から暗号化された乱数Ｅ（ＲＡ）を受信したときに）、所定の場所（例えば通信ネットワーク上の所定のサーバ）から取得する。接触用上位装置７は、接触用ＯＳ３からの暗号化された乱数Ｅ（ＲＡ）を、上位装置用復号化鍵を用いて復号化する（Ｓ７）。その復号化の結果、接触用上位装置７がＳ１で送信した乱数ＲＡと同一の乱数が得られた場合には、接触用上位装置７においてＩＣカード１は正当であると判断され（つまりＩＣカード１の正当性が認証され）、そうでない場合には、ＩＣカード１は不当なものと判断される（つまりＩＣカード１の正当性は認証されない）。
【００４３】
以上が、非接触用認証の処理における第１フェーズである。この第１フェーズの最中又は終了後の所定のタイミングで、非接触用ＯＳ５が、乱数ＲＢを生成して接触用ＯＳ３に送信し（Ｓ８）、接触用ＯＳ３が、非接触用ＯＳ５からの乱数ＲＢを所定の場所（例えば、接触用データ格納領域１３内の所定場所）に記録しておく。
【００４４】
第２フェーズでは、まず、接触用上位装置７が、接触式ＩＦを介してＩＣカード１内に乱数を要求する（Ｓ９）。
【００４５】
ＩＣカード１内の接触用ＯＳ３が、接触用上位装置７から乱数の要求を受け、その要求に応答して、所定の場所に格納されている上記乱数ＲＢを接触用上位装置７に送信する（Ｓ１０）。
【００４６】
接触用上位装置７は、接触用ＯＳ３からの乱数ＲＢを、予め所有している鍵又は所定のタイミングで所定の場所（例えば通信ネットワーク上の所定のサーバ）から取得した鍵で暗号化し（Ｅ２（））、暗号化された乱数Ｅ（ＲＢ）を得る。そして、接触用上位装置７は、得られた乱数Ｅ（ＲＢ）と、接触用ＯＳ３に参照されるべきファイルのファイルＩＤとが含まれたコマンドであって、接触用上位装置７の正当性を認証する処理の実行を命じるための接触用ＯＳ３が解釈可能なコマンド（以下、「接触用上位装置認証コマンド」と言う）を、接触式ＩＦを介してＩＣカード１内に送信する（Ｓ１２）。接触用上位装置認証コマンドに含まれているファイルＩＤは、非接触認証用リンクファイル２７のファイルＩＤである。
【００４７】
接触用ＯＳ３は、接触用上位装置７から接触用上位装置認証コマンドを受信したら、そのコマンドを解釈し、そのコマンドに含まれているファイルＩＤを持つ非接触認証用リンクファイル２７を参照して、そのファイル２７に記録されている１つ以上の非接触ファイルＩＤを取得する。そして、接触用ＯＳ３は、受信した接触用上位装置認証コマンドを、非接触用ＯＳ５が解釈可能なコマンドに変換し（換言すれば、非接触用ＯＳ５に対する、接触用上位装置７の正当性を認証する処理の実行を命じるためのコマンドの形式に変換し）（Ｓ１３）、変換後のコマンド（以下、「非接触用上位装置認証コマンド」と言う）を非接触用ＯＳ５に送信する（Ｓ１４）。その非接触用上位装置認証コマンドには、接触用ＯＳ３が接触用上位装置７から受信した接触用上位装置認証コマンドに含まれている暗号化された乱数Ｅ（ＲＢ）と、取得された１以上の非接触ファイルＩＤとが含まれている。
【００４８】
非接触用ＯＳ５は、接触用ＯＳ３から非接触用上位装置認証コマンドを受信したら、そのコマンドを解釈し、そのコマンドに含まれている各非接触ファイルＩＤを持つ、非接触用データ格納領域１３内の各データファイルを参照して、そのデータファイルに付加されている非接触用認証鍵を取得する。そして、非接触用ＯＳ５は、取得した非接触用認証鍵それ自体又はその鍵から生成された鍵（例えば、非接触用認証鍵に１以上の別の鍵（例えば、システムキーやエリアキー）が加えられて圧縮されたもの）で、接触用ＯＳ３から受信した非接触用上位装置認証コマンドに含まれている暗号化された乱数Ｅ（ＲＢ）を復号化する。その復号化の結果、非接触用ＯＳ５がＳ８で送信した乱数ＲＢと同一の乱数が得られた場合には、非接触用ＯＳ５は、接触用上位装置７は正当であると判断し（つまり接触用上位装置７の正当性が認証され）、そうでない場合には、接触用上位装置７は不当なものと判断する（つまり接触用上位装置７の正当性は認証されない）。非接触用ＯＳ５は、接触用上位装置７が正当であるか不当であるかの判断の結果（以下、上位装置正当性判断結果）を接触用ＯＳ３に送信する（Ｓ１６）。その上位装置正当性判断結果は、接触用ＯＳ３から接触式ＩＦを介して接触用上位装置７に送信される（Ｓ１７）。なお、Ｓ１６では、必ずしも判断の結果を送信しなければならないわけではなく、例えば、無応答が、正当あるいは不当を意味しても良い。
【００４９】
以上の流れにおいて、接触用上位装置７及びＩＣカード１が正当であると判断された場合には、使用された非接触用認証鍵を有する非接触用データファイルの非接触用アクセス制御ビット３５は「１」というコードになる。すなわち、非接触用認証の処理において使用された非接触用認証鍵を有する非接触用データファイルへ、接触用上位装置７が接触式ＩＦを介してアクセスすることが可能になる。
【００５０】
以上のような流れで、非接触用認証の処理が行われる。なお、上述した非接触用認証の処理の内容は、一例であって、他の方法でも非接触用認証の処理が可能である。例えば、第１フェーズでは、接触用上位装置７は、送出した乱数ＲＡを上位装置用復号化鍵で暗号化し、非接触用ＯＳ５から接触用ＯＳ３を介して暗号化された乱数Ｅ（ＲＡ）を受けたときは、と、上位装置用復号化鍵で暗号化した乱数ＲＡと、接触用ＯＳ３を介して受けた乱数Ｅ（ＲＡ）とを比較照合することにより、ＩＣカード１の正当性を判断しても良い（第２フェーズにおける非接触用ＯＳ５についても同様）。また、例えば、接触用ＯＳ３は、Ｓ９で接触用上位装置７から乱数の要求を受けたときは、その要求を非接触用ＯＳ５が解釈可能な形式に変換して非接触用ＯＳ５に転送し、非接触用ＯＳ５は、接触用ＯＳ３から転送されて来た乱数の要求に応答して、乱数ＲＢを生成して接触用ＯＳ３に送信しても良い。また、例えば、Ｓ１で、乱数ＲＡは、Ｅ１（）と同一の又は別の方式で暗号化しても良く（Ｅ３（））、その暗号化された乱数ＲＡは、ＩＣカード１で復号化されても良く、復号化に成功しない場合は接触用上位装置７は不正なものであると判断されてエラー処理が実行されても良い。また、同様に、例えば、Ｓ１０では、乱数ＲＢは、Ｅ２（）と同一又は別の方式で暗号化されても良く（Ｅ４（））、その暗号化された乱数ＲＢは、接触用上位装置７において復号化されても良く、復号化に成功しない場合は不正なＩＣカード１であると判断されてエラー処理が実行されても良い。
【００５１】
ところで、上述した非接触用認証の処理流れは、接触用上位装置７から接触式ＩＦを介して非接触用認証の処理実行が命令された場合（以下、「接触式ＩＦを介する非接触用認証の場合」と言う）の流れであるが、反対に、非接触用上位装置９から非接触式ＩＦを介して接触用認証の処理実行が命令された場合（以下、「非接触式ＩＦを介する接触用認証の場合」と言う）にも実質的に同様の処理が行なわれる。すなわち、上述した非接触用認証の処理流れの説明により、非接触式ＩＦを介する接触用認証の場合について説明したこととなる。従って、その場合についての具体的な説明は割愛するが、上記理由から、非接触式ＩＦを介する接触用認証の場合について何ら不明瞭な点はない。
【００５２】
次に、図５を参照して、接触用上位装置７が接触式ＩＦを介して非接触用データファイルからデータを読み出す場合に行なわれる処理流れについて説明する。
【００５３】
ここでは、上述した認証の場合と同様に、接触用上位装置７が接触式ＩＦを介してＩＣカード１内に命令を出すため、接触用上位装置７が接触用ＯＳ３と通信し、接触用ＯＳ３が非接触用ＯＳ５と通信することで、非接触用データファイル内のデータが非接触用ＯＳ５、接触用ＯＳ３を介して接触用上位装置７に読み出される。
【００５４】
まず、接触用上位装置７が、接触式ＩＦを介して、接触用ＯＳ３に参照されるべきファイル（ここでは非接触データファイル用リンクファイル２９）のファイルＩＤ「０１００」と、そのファイルのレコード番号「０２」とが含まれたコマンド（以下、接触用読み出し実行コマンド）５１を、ＩＣカード１内に送信する。
【００５５】
接触用ＯＳ３は、接触用上位装置７から接触用読み出し実行コマンド５１を受信したら、そのコマンド５１を解釈し、そのコマンド５１に含まれているファイルＩＤ「０１００」を持つ非接触データファイル用リンクファイル２９の、そのコマンド５１に含まれているレコード番号「０２」に記録されている非接触ファイルＩＤ「ＡＡＡ」とレコード番号「５〜７」を取得する。そして、接触用ＯＳ３は、受信したコマンド５１を、非接触用ＯＳ５が解釈可能なコマンドに変換し、変換後のコマンド（以下、「非接触用読み出し実行コマンド」と言う）５３を非接触用ＯＳ５に送信する。その非接触用読み出し実行コマンド５３には、上記取得された非接触ファイルＩＤ「ＡＡＡ」とレコード番号「５〜７」とが含まれている。
【００５６】
非接触用ＯＳ５は、接触用ＯＳ３から非接触用読み出し実行コマンド５３を受信したら、そのコマンド５３を解釈し、そのコマンド５３に含まれている非接触ファイルＩＤ「ＡＡＡ」を持つ非接触用データファイル３１Ａのアクセス制御ビットを参照する。そのアクセス制御ビットが図示のように「１」であれば、非接触用認証鍵Ｑ１によるロックが解除されている証拠なので、非接触用ＯＳ５は、そのデータファイル３１Ａの、コマンド５３にレコード番号「５〜７」に記録されているデータ（以下、読み出し対象データ）を取得し、接触用ＯＳ３に送信する。接触用ＯＳ３は、非接触用ＯＳ５からの読み出し対象データを接触式ＩＦを介して接触用上位装置７に送信する。
【００５７】
以上が、接触用上位装置７が接触式ＩＦを介して非接触用データファイルからデータを読み出す場合の処理流れである。なお、これと実質的に同様の処理流れが、接触用上位装置７が接触式ＩＦを介して非接触用データファイルにデータを書き込む場合や、非接触用上位装置９が非接触式ＩＦを介して接触用データファイルにデータを読み書きする（つまりアクセスする）場合（以下、この段落において「その他の場合」と言う）に行われる。すなわち、接触用上位装置７が接触式ＩＦを介して非接触用データファイルからデータを読み出す場合の上記説明により、上述のその他の場合についても説明したこととなる。従って、上記その他の場合についての具体的な説明は割愛するが、上記理由から、上述のその他の場合について何ら不明瞭な点はない。
【００５８】
以上、上述した実施形態によれば、各インターフェースに対応した各データ格納領域１３、１５内に、他のデータ格納領域内の認証鍵を有するデータファイルのファイルＩＤが記録されている認証用リンクファイル２７又は３７が用意されている。そして、一方のインターフェース（例えば接触式ＩＦ）を介して他方のデータ格納領域（例えば非接触用データ格納領域１５）内のファイルにアクセスすることの許可を得るための認証の際には、各認証用リンクファイル２７、３７に基づいて、一方のインターフェースを介して一方のＯＳ（例えば接触用ＯＳ３）が受信したコマンドやパラメータ（上記実施形態ではファイルＩＤ）が内部的に変換され、変換されたコマンドやパラメータが他方のＯＳ（例えば非接触用ＯＳ５）に送信される。すなわち、一方のインターフェースを介しても、きちんと、外部機器と他方のＯＳとの間で認証処理が行なわれる。このため、外部から一方のインターフェースを介して不正に他方のデータ格納領域内にアクセスされることを防ぐことができる。
【００５９】
また、上述した実施形態によれば、各インターフェースに対応した各データ格納領域１３、１５内に、他のデータ格納領域内のデータファイルのファイルＩＤが記録されているデータファイル用リンクファイル２９又は３９も用意されている。そして、一方のインターフェース（例えば接触式ＩＦ）を介して他方のデータ格納領域（例えば非接触用データ格納領域１５）内のファイルにアクセスする場合には、各データファイル用リンクファイル２９、３９に基づいて、一方のインターフェースを介して一方のＯＳ（例えば接触用ＯＳ３）が受信したコマンドやパラメータが内部的に変換され、変換されたコマンドやパラメータが他方のＯＳ（例えば非接触用ＯＳ５）に送信される。この場合、他方のＯＳは、一方のＯＳからのコマンド又はパラメータが表すファイル（以下、この段落において「ターゲットファイル」と言う）のアクセス制御ビットを参照し、そのビットが「１」か「０」かに応じて、外部機器からそのターゲットファイルにアクセスすることを許可したり禁止したりする。このため、外部から一方のインターフェースを介して不正に他方のデータ格納領域内にアクセスされることを防ぐことができる。
【００６０】
また、上述した実施形態によれば、各インターフェースに対応した各データ格納領域に各種リンクファイル２７、２９、３７、３９が用意されている。このため、例えば接触用上位装置７は、接触用データ格納領域１３内のファイルにアクセスする方法と同様の方法で、非接触用データ格納領域１５内のファイルにアクセスすることができる（これは非接触用上位装置９についても同様である）。これにより、上位装置のアプリケーションの変更を最小限に抑えることが可能になり、開発効率性が向上する。
【００６１】
以上、本発明の好適な幾つかの実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。すなわち、本発明のアクセス制御装置は、ＩＣカード、パーソナルコンピュータ、及びその他の種々の装置に採用し得る。例えば、パーソナルコンピュータに２種類のＯＳが搭載されている場合、本発明の原理を適用すれば、外部から一方のＯＳを介して他方のＯＳが管理しているファイルにアクセスすることが可能である（具体的には、例えば、他方のＯＳが管理しているファイルの中身を一方のＯＳを介して表示することができる）。また、その場合、各ＯＳが所有するファイル管理テーブルを利用して、一方のＯＳから他方のＯＳが管理している各ファイルにアクセスするためのファイルアクセス情報が記録されているリンクファイルを自動的に作成するようにすることもできるし、そのリンクファイルに記録されている内容を、ユーザが任意に書き換えることができるようにすることもできる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るＩＣカードのブロック図。
【図２】接触用データ格納領域１３内の構成を示す図。
【図３】非接触用データ格納領域１５内の構成を示す図。
【図４】接触用上位装置７から接触式ＩＦを介して非接触用認証の処理実行が命令された場合に、接触用上位装置７とＩＣカード１との間で行われる処理流れを示す図。
【図５】接触用上位装置７から接触式ＩＦを介して非接触用データファイルにアクセスする場合に行なわれる処理流れを説明するための図。
【符号の説明】
１  ＩＣカード
３  接触用ＯＳ
５  非接触用ＯＳ
７  接触用上位装置
９  非接触用上位装置
１１  メモリ
１３  接触用データ格納領域
１５  非接触用データ格納領域
２７  非接触認証用リンクファイル
２９  非接触データファイル用リンクファイル
【図１】
0003698693.tif 000002
【図２】
0003698693.tif 000003
【図３】
0003698693.tif 000004
【図４】
0003698693.tif 000005
【図５】
0003698693.tif 000006