(57)【要約】【課題】通信するデータに応じて、異なる暗号方式を用いて、送受信するデータを暗号化するか、または復号する。【解決手段】  アンテナ１０１は、送信されてきた要求信号を受信する。復調部１０２は、要求信号を復調する。SPU１０３は、復調された要求信号を復号する。暗号化部１３１または復号部１３２は、要求信号により、上書きが要求されたデータまたは送信が要求されたデータによって特定される暗号アルゴリズムコードおよび暗号鍵を、暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づいて、上書きが要求されたデータを復号するか、または送信が要求されたデータを暗号化する。本発明は、有線または無線の通信網を介して、データを送受信する情報処理システムに適用できる。【選択図】図３
2006108886.tif 000002
【特許請求の範囲】
【請求項１】
記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれに関係付けられ、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報を記憶する記憶手段と、
前記情報によって特定される方式で、データを復号するか、または記憶している前記データを暗号化する暗号処理手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記暗号処理手段は、記憶している前記データのそれぞれ、通信する前記相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれによって特定される、データを暗号化するか、または復号するために必要な鍵を用いて、データを復号するか、または記憶している前記データを暗号化する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記暗号処理手段は、前記情報によって特定される、データを暗号化するか、または復号するために必要な鍵を用いて、データを復号するか、または記憶している前記データを暗号化する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記情報によって特定される、データを暗号化するか、または復号するために必要な鍵を、前記相手との通信を開始するごとに生成する生成手段をさらに備え、
前記暗号処理手段は、生成した前記鍵を用いて、データを復号するか、または記憶している前記データを暗号化する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれに関係付けられ、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報を読み出す読み出しステップと、
前記情報によって特定される方式で、データを復号するか、または記憶している前記データを暗号化する暗号処理ステップと
を含むことを特徴とする情報処理方法。
【請求項６】
記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれに関係付けられ、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報を読み出す読み出しステップと、
前記情報によって特定される方式で、データを復号するか、または記憶している前記データを暗号化する暗号処理ステップと
を含むことを特徴とする情報処理をコンピュータに実行させるプログラムが記録されている記録媒体。
【請求項７】
記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれに関係付けられ、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報を読み出す読み出しステップと、
前記情報によって特定される方式で、データを復号するか、または記憶している前記データを暗号化する暗号処理ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、情報の漏洩を防止することができるようにした情報処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
情報処理技術の発達にともない、大量の情報が通信網を介して、通信されるようになってきている。例えば、電子マネーシステムやセキュリティーシステムなどにおいて利用されているＩＣカード（スマートカード）は、各種の処理を行うCPU（Central Processing Unit）や、処理に必用なデータなどを記憶するメモリを内蔵しており、所定のリーダライタに電気的に接触させた状態、もしくは、電磁界を利用した状態で、データの送受信が行われる。
【０００３】
従来のＩＣカードは、生成した乱数を用いて、通信するリーダライタとの相互認証を行い、さらに、予め定められた手段によって生成され、ＩＣカードと、リーダライタとの間で交換された値をセッション鍵として用いている（例えば、特許文献１参照）。このＩＣカードにおいては、送受信するデータを、このセッション鍵を用い、予め定められた暗号アルゴリズムに基づいて暗号化するか、または復号する。
【０００４】
【特許文献１】特開平１０−２０７８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した技術においては、送受信するデータを暗号化するか、または復号するための暗号方式（暗号アルゴリズム）として、予め定められた１つの暗号アルゴリズムが、ＩＣカードのライフサイクルにおいて恒久的に用いられているため、通信するデータや相手に応じて、暗号強度の異なる暗号アルゴリズムを用いて、送受信するデータを暗号化するか、または復号することが非常に困難であるという課題があった。
【０００６】
また、その結果、送受信するデータを暗号化するか、または復号するために用いている暗号アルゴリズムにセキュリティーホール（脆弱性）が発見された場合など、送受信するデータを暗号化するか、または復号するために用いている暗号アルゴリズムを、より暗号強度の強い暗号アルゴリズムに切り替えるために、ハードウェアそのものを交換しなければならず、セキュリティ耐性と、通信する装置における互換性とを両立することが大変困難であるという課題があった。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、通信するデータまたは相手に応じて、異なる暗号方式を用いて、送受信するデータを暗号化するか、または復号することができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれに関係付けられ、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報を記憶する記憶手段と、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報によって特定される方式で、データを復号するか、または記憶しているデータを暗号化する暗号処理手段とを備えることを特徴とする。
【０００９】
暗号処理手段は、記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれによって特定される、データを暗号化するか、または復号するために必要な鍵を用いて、データを復号するか、または記憶しているデータを暗号化するようにすることができる。
【００１０】
暗号処理手段は、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報によって特定される、データを暗号化するか、または復号するために必要な鍵を用いて、データを復号するか、または記憶しているデータを暗号化するようにすることができる。
【００１１】
情報処理装置は、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報によって特定される、データを暗号化するか、または復号するために必要な鍵を、相手との通信を開始するごとに生成する生成手段をさらに設け、暗号処理手段は、生成した鍵を用いて、データを復号するか、または記憶しているデータを暗号化するようにすることができる。
【００１２】
本発明の情報処理方法は、記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれに関係付けられ、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報を読み出す読み出しステップと、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報によって特定される方式で、データを復号するか、または記憶しているデータを暗号化する暗号処理ステップと含むことを特徴とする。
【００１３】
本発明の記録媒体のプログラムは、記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれに関係付けられ、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報を読み出す読み出しステップと、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報によって特定される方式で、データを復号するか、または記憶しているデータを暗号化する暗号処理ステップとを含むことを特徴とする。
【００１４】
本発明のプログラムは、記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれに関係付けられ、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報を読み出す読み出しステップと、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報によって特定される方式で、データを復号するか、または記憶しているデータを暗号化する暗号処理ステップとをコンピュータに実行させることを特徴とする。
【００１５】
本発明の情報処理装置においては、記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれに関係付けられ、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報が記憶され、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報によって特定される方式で、データが復号されるか、または記憶しているデータが暗号化される。
【００１６】
本発明の情報処理方法、記録媒体、およびプログラムにおいては、記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれに関係付けられ、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報が読み出され、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報によって特定される方式で、データが復号されるか、または記憶しているデータが暗号化される。
【００１７】
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
【発明の効果】
【００１８】
本発明によれば、通信するデータまたは相手に応じて、異なる暗号方式を用いて、送受信するデータを暗号化するか、または復号することができる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２０】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００２１】
請求項１に記載の情報処理装置は、記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれに関係付けられ、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報（例えば、図７を参照して説明する暗号アルゴリズムコード）を記憶する記憶手段（例えば、図３の暗号アルゴリズムコード保持部１０５）と、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報によって特定される方式で、データを復号するか、または記憶しているデータを暗号化する暗号処理手段（例えば、図３の暗号化部１３１および復号部１３２）とを備えることを特徴とする。
【００２２】
請求項２に記載の情報処理装置は、暗号処理手段（例えば、図３の暗号化部１３１および復号部１３２）は、記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれによって特定される、データを暗号化するか、または復号するために必要な鍵を用いて、データを復号するか、または記憶しているデータを暗号化することを特徴とする。
【００２３】
請求項３に記載の情報処理装置は、暗号処理手段（例えば、図３の暗号化部１３１および復号部１３２）は、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報（例えば、図１２を参照して説明する暗号アルゴリズムコード）によって特定される、データを暗号化するか、または復号するために必要な鍵を用いて、データを復号するか、または記憶しているデータを暗号化することを特徴とする。
【００２４】
請求項４に記載の情報処理装置は、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報（例えば、図１２を参照して説明する暗号アルゴリズムコード）によって特定される、データを暗号化するか、または復号するために必要な鍵を、相手との通信を開始するごとに生成する生成手段（例えば、図２４のセッション鍵生成部４５１）をさらに備え、暗号処理手段（例えば、図２４の暗号化部４５２および復号部４５３）は、生成した鍵を用いて、データを復号するか、または記憶しているデータを暗号化することを特徴とする。
【００２５】
請求項５に記載の情報処理方法は、記憶しているデータのそれぞれ、通信する相手との相互認証処理における相互認証方式のそれぞれ、または、１若しくは複数のデータからなるデータの集合を単位として、データを記憶する記憶領域のそれぞれに関係付けられ、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報（例えば、図７を参照して説明する暗号アルゴリズムコード）を読み出す読み出しステップ（例えば、図６のステップＳ７１の処理）と、データを暗号化するか、または復号する複数の方式のうちの１つを特定する情報によって特定される方式で、データを復号するか、または記憶しているデータを暗号化する暗号処理ステップ（例えば、図６のステップＳ７２の処理）と含むことを特徴とする。
【００２６】
なお、請求項６に記載の記録媒体および請求項７に記載のプログラムも、上述した請求項５に記載の情報処理方法と基本的に同様の処理であるため、繰り返しになるのでその説明は省略する。
【００２７】
本発明は、有線または無線の通信網を介して、データを送受信する情報処理システム、ＩＣカードを利用した電子マネーシステム、セキュリティーシステムなどに適用できる。
【００２８】
まず、本発明を適用した第１の実施の形態について説明する。
【００２９】
図１は、本発明に係る無線通信システムを説明する図である。
【００３０】
この無線通信システムは、無線通信するリーダライタ１１およびＩＣカード１２から構成され、リーダライタ１１とＩＣカード１２との間では、電磁波を利用して非接触でのデータの送受信が行われるようになされている。
【００３１】
リーダライタ１１は、電波（電磁波）を放射し、例えば、ポーリングなどの処理を行うことによって、ＩＣカード１２を検出する。
【００３２】
ＩＣカード１２がリーダライタ１１に近接し、リーダライタ１１によって、ＩＣカード１２が検出されると、リーダライタ１１およびＩＣカード１２は、所定のデータを送受信することによって、相互認証の処理を行う。
【００３３】
そして、相互認証の処理によって、認証がなされると、リーダライタ１１は、所定のデータを含む、データの上書きを要求する旨の要求信号、または所定のデータの送信を要求する旨の要求信号を生成し、生成した要求信号を無線通信により、ＩＣカード１２あてに送信する。
【００３４】
ＩＣカード１２は、リーダライタ１１から送信されてきた要求信号を受信する。ＩＣカード１２は、所定のデータの上書きを要求する旨の要求信号を受信した場合、ＩＣカード１２が記録しているデータであって、上書きが要求されたデータによって特定される、データを暗号化するか、または復号するための暗号鍵、およびデータを暗号化するか、または復号するための暗号アルゴリズムに基づき、要求信号に含まれるデータを復号する。
【００３５】
すなわち、ＩＣカード１２は、予め記録している、上書きされるデータ（上書きが要求されたデータ）によって特定される暗号鍵を用いて、上書きされるデータによって特定される暗号アルゴリズムに基づき、要求信号に含まれるデータを復号する。ＩＣカード１２は、復号したデータを、要求信号によって指定されたデータ領域に記録することによって、ＩＣカード１２が記録しているデータを上書きする。
【００３６】
一方、ＩＣカード１２は、所定のデータの送信を要求する旨の要求信号を受信した場合、要求信号によって指定されたデータによって特定される暗号鍵および暗号アルゴリズムを基に、要求信号によって指定されたデータを暗号化する。すなわち、ＩＣカード１２は、要求信号によって指定されたデータ（送信が要求されたデータ）によって特定される暗号鍵を用いて、要求信号によって指定されたデータによって特定される暗号アルゴリズムに基づき、送信が要求されたデータを暗号化する。ＩＣカード１２は、暗号化したデータを含む応答信号を生成し、生成した応答信号を無線通信により、リーダライタ１１あてに送信する。
【００３７】
リーダライタ１１は、ＩＣカード１２から送信されてきた応答信号を受信する。リーダライタ１１は、受信した応答信号から、送信を要求したデータを抽出する。そして、リーダライタ１１は、抽出したデータを、ＩＣカード１２の暗号化方式に対応する復号方式により復号し、復号したデータを記録する。
【００３８】
図２は、リーダライタ１１の機能の構成を示すブロック図である。
【００３９】
リーダライタ１１は、制御部３１、記録部３２、SPU（Signal Processing Unit）３３、変調部３４、発振回路３５、アンテナ３６、復調部３７、およびドライブ３８を含むように構成される。
【００４０】
制御部３１は、所定のデータを含む、データの上書きを要求する旨の要求信号を生成する。また、制御部３１は、所定のデータの送信を要求する旨の要求信号を生成する。制御部３１は、暗号化部５１および復号部５２を備えている。
【００４１】
制御部３１は、データの上書きを要求する旨の要求信号に格納するデータを生成する。制御部３１の暗号化部５１は、記録部３２から、ＩＣカード１２に記録されている、上書きを要求するデータによって特定される暗号鍵を取得する。そして、制御部３１の暗号化部５１は、記録部３２に記録されている暗号アルゴリズムコードであって、上書きを要求するデータによって特定される暗号アルゴリズムコードに関係付けられた暗号アルゴリズムに基づき、データを暗号化する。制御部３１は、制御部３１の暗号化部５１が暗号化したデータを含む、データの上書きを要求する旨の要求信号を生成し、生成した要求信号を、SPU３３に供給する。
【００４２】
ここで、暗号アルゴリズムコードとは、例えば、DES（Data Encryption Standard）方式、３DES（Triple DES）方式、AES（Advanced Encryption Standard）方式などの暗号アルゴリズムを特定する情報をいう。すなわち、暗号アルゴリズムコードは、所定の暗号アルゴリズムに関係付けられた情報であり、データによって、暗号アルゴリズムコードが特定されることで、データを暗号化するか、または復号する暗号アルゴリズムが定まる。
【００４３】
また、制御部３１の復号部５２は、SPU３３から供給された応答信号に含まれるデータを、所定の方式により復号する。応答信号には、データの送信を要求する旨の要求信号によって指定されたデータが含まれており、制御部３１の復号部５２は、応答信号に含まれるデータによって特定される暗号鍵を取得する。そして、制御部３１の復号部５２は、記録部３２に記録されている暗号アルゴリズムコードであって、応答信号に含まれるデータによって特定される暗号アルゴリズムコードに関係付けられた暗号アルゴリズムに基づき、データを復号する。制御部３１は、制御部３１の復号部５２が復号したデータを記録部３２に供給する。
【００４４】
制御部３１は、必要に応じて装着された、ドライブ３８から供給されたプログラムを読み込んで、読み込んだプログラムを実行する。また、制御部３１は、ドライブ３８からプログラムやデータが供給された場合、供給されたプログラムやデータを必要に応じて、記録部３２に供給し、記録部３２に記録されたプログラムを読み込み、読み込んだプログラムを実行する。
【００４５】
記録部３２は、書き換え可能で、電源が遮断されても記録内容を保持できる、いわゆる不揮発性の記憶媒体または記録媒体からなり、例えば、ハードディスクまたはフラッシュメモリなどにより構成される。記録部３２は、各種のデータを記録している。また、記録部３２は、記録しているデータを、必要に応じて制御部３１に供給する。
【００４６】
記録部３２は、ＩＣカード１２が記録しているデータによって特定される（データに関係付けられた）暗号鍵および暗号アルゴリズムコードを記録している。記録部３２は、記録している暗号鍵を制御部３１に供給する。また、記録部３２は、制御部３１から供給されたデータを記録する。記録部３２は、ＩＣカード１２との相互認証の処理に用いられる認証鍵を記録している。
【００４７】
SPU３３は、制御部３１から供給された要求信号を、所定の方式により符号化し、符号化した要求信号を変調部３４に供給する。また、SPU３３は、復調部３７から供給された応答信号を、応答信号の符号化方式に対応する方式により復号し、復号した応答信号を制御部３１に供給する。
【００４８】
例えば、SPU３３は、ＩＣカード１２あてに送信する要求信号が、制御部３１から供給されてきた場合、その要求信号に、例えば、マンチェスターコードへのコーディングなどの符号化処理を施し、これにより得られた信号を変調部３４に出力する。また、SPU３３は、ＩＣカード１２からの応答信号が復調部３７から供給されてきた場合、そのデータに対して、例えば、マンチェスターコードのデコードなどの復号処理を施し、これにより得られた信号を、制御部３１に供給する。
【００４９】
変調部３４は、発振回路３５から供給された所定の周波数のクロック信号を基に、搬送波を生成する。変調部３４は、搬送波に基づいて、SPU３３から供給された要求信号を所定の方式により変調することにより要求信号を生成し、変調した要求信号をアンテナ３６に供給する。例えば、変調部３４は、SPU３３から供給された要求信号に基づいて、搬送波の位相、振幅、周波数などを変化させることにより変調した要求信号を生成する。
【００５０】
より具体的には、例えば、変調部３４は、発振回路３５から供給される13.56MHzの周波数のクロック信号を搬送波として、SPU３３より供給されるデータをASK（Amplitude Shift Keying）変調し、生成された変調波を、電磁波としてアンテナ３６から出力させる。
【００５１】
発振回路３５は、所定の周波数の、基準となるクロック信号を生成し、生成したクロック信号を変調部３４に供給する。
【００５２】
アンテナ３６は、変調部３４から供給された要求信号を、無線通信によりＩＣカード１２あてに送信する。すなわち、例えば、アンテナ３６は、変調部３４から供給された要求信号を伝送するための電波を輻射（放射）する。また、アンテナ３６は、ＩＣカード１２から送信されてきた応答信号を受信し、受信した応答信号を復調部３７に供給する。
【００５３】
復調部３７は、アンテナ３６から供給された応答信号を、変調部１０９（図３）の変調方式に対応する復調方式により復調し、復調した応答信号をSPU３３に供給する。例えば、復調部３７は、アンテナ３６を介して取得した変調波（ASK変調波）を復調し、復調した応答信号をSPU３３に出力する。
【００５４】
ドライブ３８は、磁気ディスク７１、光ディスク７２、光磁気ディスク７３、或いは半導体メモリ７４などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、制御部３１またはＩＣカード１２に転送される。また、ＩＣカード１２に転送（送信）されたプログラムは、ＩＣカード１２により、必要に応じて、記録されるか、または実行される。
【００５５】
図３は、ＩＣカード１２の機能の構成を示すブロック図である。
【００５６】
ＩＣカード１２は、アンテナ１０１、復調部１０２、SPU１０３、制御部１０４、暗号アルゴリズムコード保持部１０５、記録部１０６、RAM（Random Access Memory）１０７、発振回路１０８、変調部１０９、および電力発生部１１０を含むように構成される。
【００５７】
アンテナ１０１は、リーダライタ１１から送信されてきた要求信号を受信し、受信した要求信号を復調部１０２に供給する。また、アンテナ１０１は、変調部１０９から供給された応答信号を、無線通信により、リーダライタ１１あてに送信する。すなわち、例えば、アンテナ１０１は、変調部１０９から供給された応答信号を伝送するための電波を放射する。また、アンテナ１０１においては、リーダライタ１１から放射される所定の周波数の電波により、共振が生じ、起電力が発生する。
【００５８】
復調部１０２は、アンテナ１０１から供給された要求信号を、変調部３４（図２）の変調方式に対応する復調方式により復調し、復調した要求信号をSPU１０３に供給する。例えば、復調部１０２は、アンテナ１０１を介して受信したASK変調波である要求信号を包絡線検波して復調し、復調した要求信号をSPU１０３に出力する。
【００５９】
SPU１０３は、復調部１０２から供給された要求信号を所定の方式により復号し、復号した要求信号を制御部１０４に供給する。SPU１０３は、制御部１０４から供給された応答信号を、所定の符号化方式により符号化し、符号化した応答信号を変調部１０９に供給する。例えば、SPU１０３は、復調部１０２において復調されたデータがマンチェスター方式で符号化されている場合、図示せぬPLL（Phase Locked Loop）回路から供給されるクロック信号に基づいて、そのデータの復号（マンチェスターコードのデコード）を行い、復号したデータを制御部１０４に供給する。例えば、SPU１０３は、制御部１０４から供給された応答信号を、マンチェスター方式で符号化し、符号化した応答信号を変調部１０９に供給する。
【００６０】
制御部１０４は、暗号化部１３１および復号部１３２を備えている。制御部１０４の復号部１３２は、SPU１０３から制御部１０４に、データの上書きを要求する旨の要求信号が供給されると、上書きが要求されたデータによって特定される暗号アルゴリズムコードおよび暗号鍵を、暗号アルゴリズムコード保持部１０５から取得する。制御部１０４の復号部１３２は、取得した暗号鍵を用いて、取得した暗号アルゴリズムコードに関係付けられた（取得した暗号アルゴリズムコードによって特定される）暗号アルゴリズムに基づいて、要求信号に含まれているデータを復号する。制御部１０４は、復号したデータを記録部１０６に供給する。
【００６１】
また、制御部１０４の暗号化部１３１は、SPU１０３から、データの送信を要求する旨の要求信号が供給されると、送信が要求されたデータを、記録部１０６から取得する。そして、制御部１０４の暗号化部１３１は、取得したデータによって特定される暗号アルゴリズムコードおよび暗号鍵を、暗号アルゴリズムコード保持部１０５から取得する。制御部１０４の暗号化部１３１は、取得した暗号鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づいて、取得したデータを暗号化する。制御部１０４は、暗号化したデータを含む、応答信号を生成し、生成した応答信号をSPU１０３に供給する。
【００６２】
暗号アルゴリズムコード保持部１０５は、例えば、フラッシュメモリ、EEPROM（Electrically Erasable Programmable Read Only Memory）、MRAM（Magnetoresistive Random Access Memory（磁気抵抗メモリ））、またはFeRAM（強誘電体メモリ）などの不揮発性メモリなどにより構成され、記録部１０６が記録しているデータによって特定される、暗号アルゴリズムコードおよび暗号鍵を保持している。暗号アルゴリズムコード保持部１０５は、保持している暗号アルゴリズムコードおよび暗号鍵を制御部１０４に供給する。
【００６３】
記録部１０６は、例えば、フラッシュメモリ、EEPROM、MRAM、またはFeRAMなどの不揮発性メモリなどにより構成され、リーダライタ１１に送信される秘匿すべきデータ、プログラムの実行に必要なデータなどの各種データを記録している。また、記録部１０６は、リーダライタ１１との相互認証の処理に用いられる認証鍵を記録している。
【００６４】
RAM１０７は、プログラムの実行に必要なデータなどを適宜記憶する。RAM１０７は、記憶しているデータを制御部１０４に供給する。
【００６５】
発振回路１０８は、アンテナ１０１が受信する要求信号の周波数と同じ周波数のクロック信号を生成し、生成したクロック信号を変調部１０９に供給する。例えば、発振回路１０８は、PLL回路を内蔵し、要求信号のクロック周波数と同一の周波数のクロック信号を発生する。
【００６６】
変調部１０９は、発振回路１０８から供給された所定の周波数のクロック信号を基に、搬送波を生成する。変調部１０９は、搬送波に基づいて、SPU１０３から供給された応答信号を、所定の方式によって変調することにより、応答信号を生成し、変調した応答信号をアンテナ１０１に供給する。例えば、変調部１０９は、SPU１０３から供給された、マンチェスター方式により符号化された応答信号を、さらにASK変調し、変調した応答信号を、アンテナ１０１を介して、リーダライタ１１に送信する。
【００６７】
また、例えば、変調部１０９は、SPU１０３から供給される応答信号に対して、所定のスイッチング素子（図示せず）をオン、オフさせ、スイッチング素子がオン状態であるときだけ、所定の負荷をアンテナ１０１に並列に接続させることにより、アンテナ１０１の負荷を変動させる。ASK変調された応答信号は、アンテナ１０１の負荷の変動により、アンテナ１０１を介して、リーダライタ１１に送信される（リーダライタ１１のアンテナ３６の端子電圧を変動させる）。
【００６８】
電力発生部１１０は、アンテナ１０１に生じた交流の起電力を基に、直流電力を発生させ、発生させた直流電力をＩＣカード１２の各部に供給する。
【００６９】
次に、図４のフローチャートを参照して、リーダライタ１１による要求の処理を説明する。
【００７０】
ステップＳ１１において、リーダライタ１１は、必要に応じて、乱数などのデータを送受信し、ＩＣカード１２との相互認証を行う。例えば、ステップＳ１１において、リーダライタ１１は、ISO/IEC（International Organization for Standardization/International Electrotechnical Commission）9798-2およびJIS（Japanese Industrial Standards） X5056-2において定義されている、対称暗号アルゴリズムを用いた方式により、ＩＣカード１２との相互認証を行う。
【００７１】
この場合、リーダライタ１１は、乱数、タイムスタンプ、通し番号などの所定のデータを、予め記録している、認証鍵としての共通鍵（Pre-Shared Key）を用いて、暗号化し、暗号化したデータを、無線通信によりＩＣカード１２あてに送信する。そして、リーダライタ１１は、ＩＣカード１２から送信されてきたデータを受信し、受信したデータを、共通鍵を用いて復号し、復号したデータが、ＩＣカード１２あてに送信したデータと同一のデータであるか否かを基に、認証を行う。また、リーダライタ１１は、ＩＣカード１２から送信されてきた、ＩＣカード１２が生成した乱数、タイムスタンプ、通し番号などの所定のデータを受信する。そして、リーダライタ１１は、受信したデータを、認証鍵としての共通鍵を用いて復号し、さらに、復号したデータを暗号化し、暗号化したデータを、無線通信によりＩＣカード１２あてに送信する。
【００７２】
また、例えば、ステップＳ１１において、リーダライタ１１は、ISO/IEC9798-3およびJIS X5056-3において定義されている、非対称暗号アルゴリズムを用いた方式により、ＩＣカード１２との相互認証を行う。この場合、リーダライタ１１は、例えば、乱数、タイムスタンプ、通し番号などの所定のデータを、認証鍵としての秘密鍵または公開鍵を用いて、暗号化するか、または復号することによって、ＩＣカード１２との相互認証を行う。なお、正規のＩＣカード１２であると認証されなかった場合には、ＩＣカード１２は、要求信号を送信してもよい相手ではないので、要求の処理は終了する。
【００７３】
相互認証がなされると、ステップＳ１２において、制御部３１は、所定の処理の実行を要求する旨の要求信号を生成し、生成した要求信号をSPU３３に供給する。
【００７４】
例えば、ステップＳ１２において、制御部３１は、ＩＣカード１２に記録されている所定のデータの上書きを要求する旨の要求信号を生成し、生成した要求信号をSPU３３に供給する。ここで、要求信号には、ＩＣカード１２に記録されているデータに上書きするためのデータが含まれている。換言すれば、制御部３１は、ＩＣカード１２が記録しているデータを、制御部３１が生成した新たなデータに書き換える旨の要求信号を生成する。
【００７５】
この場合、例えば、制御部３１は、データの上書きを要求する旨の要求信号に格納するデータを生成する。制御部３１の暗号化部５１は、記録部３２から、上書きを要求するデータによって特定される暗号鍵を取得する。そして、制御部３１の暗号化部５１は、記録部３２に記録されている暗号アルゴリズムコードであって、上書きを要求するデータによって特定される暗号アルゴリズムコードに関係付けられた暗号アルゴリズムに基づき、データを暗号化する。制御部３１は、制御部３１の暗号化部５１が暗号化したデータを含む、データの上書きを要求する旨の要求信号を生成し、生成した要求信号をSPU３３に供給する。
【００７６】
また、例えば、ステップＳ１２において、制御部３１は、ＩＣカード１２に記録されている所定のデータの送信を要求する旨の要求信号を生成し、生成した要求信号をSPU３３に供給する。
【００７７】
ステップＳ１３において、SPU３３は、制御部３１から供給された要求信号を、所定の符号化方式により符号化し、符号化した要求信号を変調部３４に供給する。例えば、ステップＳ１３において、SPU３３は、制御部３１から供給された要求信号を、マンチェスター方式などの符号化方式により符号化し、符号化した要求信号を、変調部３４に供給する。
【００７８】
ステップＳ１４において、変調部３４は、SPU３３から供給された要求信号を変調し、変調した要求信号をアンテナ３６に供給する。例えば、ステップＳ１４において、変調部３４は、発振回路３５から供給されたクロック信号に対応する、所定の周波数（例えば、13.56MHz）の搬送波に基づいて、SPU３３から供給された要求信号を、所定の方式により変調する。変調部３４は、変調した要求信号をアンテナ３６に供給する。
【００７９】
より詳細には、例えば、ステップＳ１４において、変調部３４は、ASK方式、PSK（Phase Shift Keying）方式、またはFSK（Frequency Shift Keying）方式などの変調方式により要求信号を変調し、変調した要求信号をアンテナ３６に供給する。
【００８０】
ステップＳ１５において、アンテナ３６は、変調部３４から供給された要求信号を、無線通信によってＩＣカード１２あてに送信し、要求の処理は終了する。例えば、ステップＳ１５において、アンテナ３６は、変調部３４から供給された要求信号を伝送する電波を、放射することにより要求信号を送信する。
【００８１】
このようにして、リーダライタ１１は、要求信号を生成し、生成した要求信号を、無線通信によりＩＣカード１２あてに送信する。
【００８２】
図５のフローチャートを参照して、ＩＣカード１２による応答の処理を説明する。
【００８３】
ステップＳ４１において、ＩＣカード１２は、必要に応じて、乱数などのデータを送受信し、リーダライタ１１との相互認証を行う。例えば、ステップＳ４１において、ＩＣカード１２は、ISO/IEC9798-2およびJIS X5056-2において定義されている、対称暗号アルゴリズムを用いた方式、ISO/IEC9798-3およびJIS X5056-3において定義されている、非対称暗号アルゴリズムを用いた方式などにより、リーダライタ１１との相互認証を行う。
【００８４】
なお、正規のリーダライタ１１であると認証されなかった場合には、リーダライタ１１は、通信してもよい相手ではないので、応答の処理は終了する。
【００８５】
ステップＳ４１において、相互認証がなされると、リーダライタ１１から要求信号が送信されてくるので、ステップＳ４２において、アンテナ１０１は、リーダライタ１１から送信されてきた要求信号を受信し、受信した要求信号を復調部１０２に供給する。
【００８６】
ステップＳ４３において、復調部１０２は、アンテナ１０１から供給された要求信号を、変調部３４（図２）の変調方式に対応する復調方式により復調し、復調した要求信号をSPU１０３に供給する。
【００８７】
ステップＳ４４において、SPU１０３は、復調部１０２から供給された要求信号を、SPU３３（図２）の符号化方式に対応する復号方式により復号し、復号した要求信号を制御部１０４に供給する。
【００８８】
ステップＳ４５において、制御部１０４は、SPU１０３から供給された要求信号が、データの上書きを要求する旨の要求信号であるか否かを判定する。
【００８９】
ステップＳ４５において、データの上書きを要求する旨の要求信号であると判定された場合、データの上書きが要求されたので、ステップＳ４６に進み、ＩＣカード１２は、データ記録の処理を行い、応答の処理は終了する。なお、データ記録の処理の詳細は後述するが、データ記録の処理において、ＩＣカード１２は、要求信号に含まれるデータを、所定の方式により復号し、復号したデータを記録する。
【００９０】
一方、ステップＳ４５において、データの上書きを要求する旨の要求信号でないと判定された場合、SPU１０３から供給された要求信号は、所定のデータの送信を要求する旨の要求信号であるので、ステップＳ４７に進み、ＩＣカード１２は、データ送信の処理を行い、応答の処理は終了する。なお、データ送信の処理の詳細は後述するが、データ送信の処理において、ＩＣカード１２は、送信が要求されたデータを、所定の方式により暗号化し、暗号化したデータを含む応答信号を生成する。そして、ＩＣカード１２は、生成した応答信号を、無線通信によりリーダライタ１１あてに送信する。
【００９１】
このようにして、ＩＣカード１２は、リーダライタ１１から送信されてきた要求信号を受信し、受信した要求信号によって要求された処理を実行する。
【００９２】
次に、図６のフローチャートを参照して、図５のステップＳ４６の処理に対応する、データ記録の処理を説明する。
【００９３】
ステップＳ７１において、制御部１０４の復号部１３２は、SPU１０３から供給された要求信号を基に、上書きが要求されたデータによって特定される、暗号アルゴリズムコードおよび暗号鍵を、暗号アルゴリズムコード保持部１０５から取得する。
【００９４】
なお、暗号アルゴリズムコードは、暗号アルゴリズムコード保持部１０５に予め保持されている暗号アルゴリズムコードを取得するようにしてもよく、リーダライタ１１または他の外部装置から取得するようにしてもよい。
【００９５】
ここで、暗号アルゴリズムコード保持部１０５は、例えば、図７に示す暗号アルゴリズムコードおよび暗号鍵を保持している。
【００９６】
すなわち、暗号アルゴリズムコード保持部１０５は、記録部１０６が記録しているデータであって、データの名前（ファイル名）が、データＤ１であるデータによって特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ１を保持している。
【００９７】
また、暗号アルゴリズムコード保持部１０５は、記録部１０６が記録しているデータであって、ファイル名が、データＤ２であるデータによって特定される暗号アルゴリズムコードＡＣ２および暗号鍵Ｋ１を保持しており、記録部１０６が記録しているデータであって、ファイル名が、データＤ３であるデータによって特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ２を保持している。
【００９８】
したがって、例えば、SPU１０３から制御部１０４に供給された要求信号が、記録部１０６に記録されているデータＤ１を上書きする旨の要求信号であった場合、すなわち、記録部１０６に記録されているデータＤ１を、要求信号に含まれているデータに書き換える旨の要求信号であった場合、制御部１０４の復号部１３２は、データＤ１によって特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ１を、暗号アルゴリズムコード保持部１０５から取得する。
【００９９】
なお、暗号アルゴリズムコード保持部１０５に保持されている暗号鍵は、例えば、56bit、112bit、128bit、192bitなどの共通鍵であり、１つのデータによって特定される暗号鍵は、１つであってもよいし、複数であってもよい。
【０１００】
ステップＳ７２において、制御部１０４の復号部１３２は、取得した暗号鍵を用いて、暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づいて、要求信号に含まれているデータを復号する。制御部１０４は、制御部１０４の復号部１３２が復号したデータを記録部１０６に供給する。
【０１０１】
ここで、暗号アルゴリズムコード保持部１０５が保持している暗号アルゴリズムコードのそれぞれには、例えば、図８に示す暗号アルゴリズムのそれぞれが関係付けられている。
【０１０２】
すなわち、暗号アルゴリズムコードＡＣ１には暗号アルゴリズムＡ１が関係付けられており、暗号アルゴリズムコードＡＣ２には暗号アルゴリズムＡ２が関係付けられており、暗号アルゴリズムコードＡＣ３には暗号アルゴリズムＡ３が関係付けられている。
【０１０３】
また、暗号アルゴリズムＡ１乃至暗号アルゴリズムＡ３は、例えば、DES方式、3DES方式、AES方式などの暗号アルゴリズムとすることができる。
【０１０４】
したがって、例えば、制御部１０４の復号部１３２は、暗号アルゴリズムコード保持部１０５から暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ１を取得した場合、暗号鍵Ｋ１を用いて、暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づいて、要求信号に含まれているデータを復号する。
【０１０５】
すなわち、ＩＣカード１２は、例えば、図９に示すように、アクセスが要求されたデータによって特定される暗号アルゴリズムコードおよび暗号鍵を取得し、取得した暗号鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づき、データを暗号化するか、または復号する。
【０１０６】
例えば、ＩＣカード１２が、データＤ１の上書きを要求する旨の要求信号を受信した場合、制御部１０４の復号部１３２は、データＤ１によって特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得する。そして、制御部１０４の復号部１３２は、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ１を復号する。
【０１０７】
また、ＩＣカード１２が、データＤ２の上書きを要求する旨の要求信号を受信した場合、制御部１０４の復号部１３２は、データＤ２によって特定される暗号アルゴリズムコードＡＣ２および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データＤ２を復号する。
【０１０８】
さらに、ＩＣカード１２が、データＤ３の上書きを要求する旨の要求信号を受信した場合、制御部１０４の復号部１３２は、データＤ３によって特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ２を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ２を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ３を復号する。
【０１０９】
同様に、例えば、ＩＣカード１２が、データＤ１の送信を要求する旨の要求信号を受信した場合、制御部１０４の暗号化部１３１は、データＤ１によって特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得する。そして、制御部１０４の暗号化部１３１は、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ１を暗号化する。
【０１１０】
また、ＩＣカード１２が、データＤ２の送信を要求する旨の要求信号を受信した場合、制御部１０４の暗号化部１３１は、データＤ２によって特定される暗号アルゴリズムコードＡＣ２および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データＤ２を暗号化する。
【０１１１】
さらに、ＩＣカード１２が、データＤ３の送信を要求する旨の要求信号を受信した場合、制御部１０４の暗号化部１３１は、データＤ３によって特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ２を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ２を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ３を暗号化する。
【０１１２】
図６のフローチャートの説明に戻り、ステップＳ７３において、記録部１０６は、制御部１０４から供給されたデータを、記録し、処理は終了する。例えば、ＩＣカード１２が、データＤ１を上書きする旨の要求信号を受信した場合、ステップＳ７３において、記録部１０６は、記録しているデータＤ１を、制御部１０４から供給されたデータに書き換えることにより、データＤ１を上書きする。
【０１１３】
このようにして、ＩＣカード１２は、記録しているデータ（上書きが要求されたデータ）によって特定される暗号鍵および暗号アルゴリズムを基にデータを復号し、復号したデータを記録する。
【０１１４】
このように、記録しているデータごとに、異なる暗号鍵および暗号アルゴリズムを用いることで、記録しているデータの重要度（秘匿性）に応じて、異なる組み合わせの暗号鍵および暗号アルゴリズムを設定することができ、セキュリティ耐性と、通信する装置における互換性とを両立することができる。また、記録するデータによって特定される暗号アルゴリズムコードおよび暗号鍵を保持することで、暗号アルゴリズムや暗号鍵の変更を容易に行うことができる。
【０１１５】
次に、図１０のフローチャートを参照して、図５のステップＳ４７の処理に対応する、データ送信の処理を説明する。
【０１１６】
ステップＳ１０１において、制御部１０４の暗号化部１３１は、SPU１０３から供給された要求信号によって指定された（送信が要求された）データによって特定される暗号アルゴリズムコードおよび暗号鍵を、暗号アルゴリズムコード保持部１０５から取得する。また、制御部１０４の暗号化部１３１は、記録部１０６から送信が要求されたデータを取得する。
【０１１７】
なお、暗号アルゴリズムコードは、暗号アルゴリズムコード保持部１０５に予め保持されている暗号アルゴリズムコードを取得するようにしてもよく、リーダライタ１１または他の外部装置から取得するようにしてもよい。
【０１１８】
例えば、ＩＣカード１２がデータＤ２の送信を要求する旨の要求信号を受信した場合、ステップＳ１０１において、制御部１０４の暗号化部１３１は、データＤ２によって特定される暗号アルゴリズムコードＡＣ２および暗号鍵Ｋ１を、暗号アルゴリズムコード保持部１０５から取得する。そして、制御部１０４の暗号化部１３１は、記録部１０６からデータＤ２を取得する。
【０１１９】
ステップＳ１０２において、制御部１０４の暗号化部１３１は、取得した暗号鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づいて、取得したデータを暗号化する。したがって、例えば、制御部１０４の暗号化部１３１がデータＤ２を暗号化する場合、制御部１０４の暗号化部１３１は、暗号鍵Ｋ１を用いて、暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づいて、データＤ２を暗号化する。
【０１２０】
ステップＳ１０３において、制御部１０４は、制御部１０４の暗号化部１３１が暗号化したデータを含む、応答信号を生成し、生成した応答信号をSPU１０３に供給する。
【０１２１】
ステップＳ１０４において、SPU１０３は、制御部１０４から供給された応答信号を、所定の符号化方式により符号化し、符号化した応答信号を変調部１０９に供給する。例えば、ステップＳ１０４において、SPU１０３は、制御部１０４から供給された応答信号を、マンチェスター方式により符号化し、符号化した応答信号を変調部１０９に供給する。
【０１２２】
ステップＳ１０５において、変調部１０９は、SPU１０３から供給された応答信号を、所定の方式により変調し、変調した応答信号をアンテナ１０１に供給する。例えば、ステップＳ１０５において、変調部１０９は、発振回路１０８から供給されたクロック信号により生成した搬送波を基に、SPU１０３から供給された応答信号を、ASK方式により変調し、変調した応答信号をアンテナ１０１に供給する。
【０１２３】
ステップＳ１０６において、アンテナ１０１は、変調部１０９から供給された、変調されている応答信号を、無線通信により、リーダライタ１１あてに送信し、処理は終了する。例えば、ステップＳ１０６において、アンテナ１０１は、変調部１０９から供給された応答信号を伝送する電波を放射することにより、応答信号を送信する。
【０１２４】
このようにして、ＩＣカード１２は、送信が要求されたデータを含む応答信号を生成し、生成した応答信号を、無線通信によりリーダライタ１１あてに送信する。
【０１２５】
このように、記録しているデータごとに異なる暗号鍵および暗号アルゴリズムを用いることで、データの重要度（秘匿性）に応じて、適切な暗号鍵および暗号アルゴリズムを設定することができる。また、記録しているデータごとに異なる暗号鍵および暗号アルゴリズムを用いることで、セキュリティ耐性と、通信する装置における互換性とを両立することができる。
【０１２６】
図１１のフローチャートを参照して、リーダライタ１１による、データ受信の処理を説明する。
【０１２７】
ステップＳ１３１において、アンテナ３６は、ＩＣカード１２から送信されてきた応答信号を受信し、受信した応答信号を復調部３７に供給する。
【０１２８】
ステップＳ１３２において、復調部３７は、アンテナ３６から供給された応答信号を、変調部１０９（図３）の変調方式に対応する復調方式により復調し、復調した応答信号を、SPU３３に供給する。
【０１２９】
ステップＳ１３３において、SPU３３は、復調部３７から供給された応答信号を、SPU１０３（図３）の符号化方式に対応する復号方式により復号し、復号した応答信号を、制御部３１に供給する。
【０１３０】
ステップＳ１３４において、制御部３１の復号部５２は、SPU３３から供給された応答信号に含まれるデータを抽出する。そして、制御部３１の復号部５２は、記録部３２から、応答信号に含まれるデータによって特定される暗号鍵を取得し、記録部３２に記録されている暗号アルゴリズムコードであって、応答信号に含まれるデータによって特定される暗号アルゴリズムコードに関係付けられた暗号アルゴリズムに基づき、取得した暗号鍵を用いて、応答信号に含まれるデータを復号する。制御部３１は、制御部３１の復号部５２が復号したデータを、記録部３２に供給する。
【０１３１】
したがって、例えば、制御部３１が、データＤ２の送信を要求する旨の要求信号を生成し、SPU３３からデータＤ２が含まれている応答信号が供給された場合、例えば、制御部３１の復号部５２は、記録部３２から、データＤ２によって特定される暗号鍵Ｋ１を取得する。そして、制御部３１の復号部５２は、取得した暗号鍵Ｋ１を用いて、記録部３２に記録されている、データＤ２によって特定される暗号アルゴリズムコードＡＣ２に関係付けられた暗号アルゴリズムＡ２に基づき、応答信号に含まれるデータＤ２を復号する。
【０１３２】
ステップＳ１３５において、記録部３２は、制御部３１から供給されたデータを記録し、データ送信の処理は終了する。
【０１３３】
このようにして、リーダライタ１１は、ＩＣカード１２から送信されてきた応答信号を受信し、受信した応答信号に含まれるデータを、データによって特定される暗号鍵を用いて、データによって特定される暗号アルゴリズムコードに関係付けられた暗号アルゴリズムに基づいて復号する。
【０１３４】
このように、データによって特定される暗号鍵をおよびアルゴリズムに基づき、データを復号することで、データの重要度（秘匿性）に応じて、適切な暗号鍵および暗号アルゴリズムを設定することができる。また、データごとに異なる暗号鍵および暗号アルゴリズムを用いることで、セキュリティ耐性と、通信する装置における互換性とを両立することができる。
【０１３５】
以上のように、ＩＣカードが記録するか、または送信するデータごとに、異なる暗号アルゴリズム（暗号化方式）および暗号鍵を用いるようにしたので、データの重要度（秘匿性）に応じて、適切な暗号鍵および暗号アルゴリズムを設定することができる。また、ＩＣカードが記録するか、または送信するデータごとに、異なる暗号アルゴリズムおよび暗号鍵を用いるようにしたので、セキュリティ耐性と、通信する装置における互換性とを両立することができる。
【０１３６】
本発明によれば、暗号鍵を保持するようにしたので、送受信するデータを暗号化するか、または復号することができる。また、本発明によれば、ＩＣカードが記録するか、または送信するデータごとに、異なる暗号アルゴリズムおよび暗号鍵を用いるようにしたので、データの重要度（秘匿性）に応じて、適切な暗号鍵および暗号アルゴリズムを設定することができる。
【０１３７】
さらに、本発明によれば、ＩＣカードが記録するか、または送信するデータごとに、異なる暗号アルゴリズムおよび暗号鍵を用いるようにしたので、セキュリティ耐性と、通信する装置における互換性とを両立することができる。
【０１３８】
なお、暗号アルゴリズムコード保持部１０５が記録部１０６に含まれるようにしてもよい。また、データによって特定される暗号アルゴリズムコードに関係付けられた暗号アルゴリズムに基づいて、データを暗号化するか、または復号すると説明したが、データによって特定される、所定の暗号アルゴリズムに基づいてデータを暗号化するか、または復号するプログラムを取得し、取得したプログラムを実行することによって、データを暗号化するか、または復号するようにしてもよい。
【０１３９】
さらに、復号部５２が暗号化部５１に含まれるような構成とし、暗号化部５１が、データを暗号化するか、または復号するようにしてもよい。同様に、復号部１３２が暗号化部１３１に含まれるような構成とし、暗号化部１３１が、データを暗号化するか、または復号するようにしてもよい。
【０１４０】
また、暗号アルゴリズムコード保持部１０５が、暗号アルゴリズムコードおよび暗号鍵を保持していると説明したが、暗号アルゴリズムコード保持部１０５が、暗号アルゴリズムコード保持部１０５における所定の記憶領域に暗号アルゴリズムコードを保持し、さらに、暗号アルゴリズムコードを保持している記憶領域とは異なる記憶領域に、暗号アルゴリズムコードによって特定される暗号鍵を保持するようにしてもよい。
【０１４１】
この場合、暗号アルゴリズムコード保持部１０５は、例えば、図１２に示す暗号アルゴリズムコードを保持している。すなわち、暗号アルゴリズムコード保持部１０５は、データＤ１によって特定される暗号アルゴリズムコードＡＣ１、データＤ２によって特定される暗号アルゴリズムコードＡＣ２、およびデータＤ３によって特定される暗号アルゴリズムコードＡＣ１を保持している。
【０１４２】
また、この場合、暗号アルゴリズムコード保持部１０５は、暗号アルゴリズムコードを保持している記憶領域とは異なる記憶領域に、例えば、図１３に示す暗号鍵を保持している。すなわち、暗号アルゴリズムコード保持部１０５は、暗号アルゴリズムコードＡＣ１によって特定される暗号鍵Ｋ１を保持している。また、暗号アルゴリズムコード保持部１０５は、暗号アルゴリズムコードＡＣ２によって特定される暗号鍵Ｋ１を保持しており、暗号アルゴリズムコードＡＣ３によって特定される暗号鍵Ｋ２を保持している。
【０１４３】
すなわち、ＩＣカード１２は、例えば、図１４に示すように、アクセスが要求されたデータによって特定される暗号アルゴリズムコードを取得し、取得した暗号アルゴリズムコードによって特定される暗号鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づき、データを暗号化するか、または復号する。
【０１４４】
例えば、ＩＣカード１２が、データＤ１の上書きを要求する旨の要求信号を受信した場合、制御部１０４の復号部１３２は、データＤ１によって特定される暗号アルゴリズムコードＡＣ１を暗号アルゴリズムコード保持部１０５から取得する。そして、制御部１０４の復号部１３２は、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ１を復号する。
【０１４５】
また、ＩＣカード１２が、データＤ２の上書きを要求する旨の要求信号を受信した場合、制御部１０４の復号部１３２は、データＤ２によって特定される暗号アルゴリズムコードＡＣ２を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データＤ２を復号する。
【０１４６】
さらに、ＩＣカード１２が、データＤ３の上書きを要求する旨の要求信号を受信した場合、制御部１０４の復号部１３２は、データＤ３によって特定される暗号アルゴリズムコードＡＣ１を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ３を復号する。
【０１４７】
同様に、例えば、ＩＣカード１２が、データＤ１の送信を要求する旨の要求信号を受信した場合、制御部１０４の暗号化部１３１は、データＤ１によって特定される暗号アルゴリズムコードＡＣ１を暗号アルゴリズムコード保持部１０５から取得する。そして、制御部１０４の暗号化部１３１は、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ１を暗号化する。
【０１４８】
また、ＩＣカード１２が、データＤ２の送信を要求する旨の要求信号を受信した場合、制御部１０４の暗号化部１３１は、データＤ２によって特定される暗号アルゴリズムコードＡＣ２を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データＤ２を暗号化する。
【０１４９】
さらに、ＩＣカード１２が、データＤ３の送信を要求する旨の要求信号を受信した場合、制御部１０４の暗号化部１３１は、データＤ３によって特定される暗号アルゴリズムコードＡＣ１を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ３を暗号化する。
【０１５０】
さらに、リーダライタ１１およびＩＣカード１２が行う相互認証の方式によって、暗号アルゴリズムおよび暗号鍵が特定されるようにすることも可能である。
【０１５１】
この場合、暗号アルゴリズムコード保持部１０５は、例えば、図１５に示す暗号アルゴリズムコードおよび暗号鍵を保持している。
【０１５２】
すなわち、暗号アルゴリズムコード保持部１０５は、相互認証方式Ｍ１によって、特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ１を保持している。また、暗号アルゴリズムコード保持部１０５は、相互認証方式Ｍ２によって、特定される暗号アルゴリズムコードＡＣ２および暗号鍵Ｋ１を保持しており、相互認証方式Ｍ３によって、特定される暗号アルゴリズムコードＡＣ３および暗号鍵Ｋ２を保持している。
【０１５３】
ここで、相互認証方式Ｍ１乃至相互認証方式Ｍ３は、例えば、ISO/IEC9798-2およびJIS X5056-2において定義されている、対称暗号アルゴリズムを用いた方式、ISO/IEC9798-3およびJIS X5056-3において定義されている、非対称暗号アルゴリズムを用いた方式などである。また、相互認証の処理に用いる認証鍵の長さや認証鍵の個数によって、異なる相互認証方式とすることも可能である。
【０１５４】
この場合、ＩＣカード１２は、例えば、図１６に示すように、相互認証方式によって特定される暗号アルゴリズムコードおよび暗号鍵を取得し、取得した暗号鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づき、データを暗号化するか、または復号する。
【０１５５】
例えば、ＩＣカード１２が、相互認証方式Ｍ１により相互認証を行った場合、制御部１０４の復号部１３２は、相互認証方式Ｍ１によって特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得する。そして、制御部１０４の復号部１３２は、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データを復号する。
【０１５６】
また、ＩＣカード１２が、相互認証方式Ｍ２により相互認証を行った場合、制御部１０４の復号部１３２は、相互認証方式Ｍ２によって特定される暗号アルゴリズムコードＡＣ２および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データを復号する。
【０１５７】
さらに、ＩＣカード１２が、相互認証方式Ｍ３により相互認証を行った場合、制御部１０４の復号部１３２は、相互認証方式Ｍ３によって特定される暗号アルゴリズムコードＡＣ３および暗号鍵Ｋ２を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ２を用いて、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号アルゴリズムＡ３に基づき、データを復号する。
【０１５８】
同様に、例えば、ＩＣカード１２が、相互認証方式Ｍ１により相互認証を行った場合、制御部１０４の暗号化部１３１は、相互認証方式Ｍ１によって特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得する。そして、制御部１０４の暗号化部１３１は、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データを暗号化する。
【０１５９】
また、ＩＣカード１２が、相互認証方式Ｍ２により相互認証を行った場合、制御部１０４の暗号化部１３１は、相互認証方式Ｍ２によって特定される暗号アルゴリズムコードＡＣ２および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データを暗号化する。
【０１６０】
さらに、ＩＣカード１２が、相互認証方式Ｍ３により相互認証を行った場合、制御部１０４の暗号化部１３１は、相互認証方式Ｍ３によって特定される暗号アルゴリズムコードＡＣ３および暗号鍵Ｋ２を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ２を用いて、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号アルゴリズムＡ３に基づき、データを暗号化する。
【０１６１】
さらに、また、記録部１０６に記録されているデータが、階層構造になっているフォルダに含まれている場合、要求信号により上書きまたは送信が要求されたデータが含まれているフォルダによって、暗号アルゴリズムおよび暗号鍵が特定されるようにすることも可能である。この場合、記録部１０６は、例えば、図１７に示すフォルダおよびデータを記録している。
【０１６２】
すなわち、最上位の階層のルートフォルダＲＦ１には、従属するフォルダＦ１およびフォルダＦ２が含まれている。また、ルートフォルダＲＦ１には、データＤ４が含まれている。ルートフォルダＲＦ１に従属するフォルダＦ１には、データＤ１およびデータＤ２が含まれている。同様に、ルートフォルダＲＦ１に従属するフォルダＦ２には、データＤ３が含まれている。
【０１６３】
したがって、この場合、要求信号によって、上書きまたは送信が要求されたデータが、ルートフォルダＲＦ１、フォルダＦ１、またはフォルダＦ２の何れのフォルダに含まれているかによって、暗号アルゴリズムおよび暗号鍵が特定される。
【０１６４】
この場合、暗号アルゴリズムコード保持部１０５は、例えば、図１８に示す暗号アルゴリズムコードおよび暗号鍵を保持している。すなわち、暗号アルゴリズムコード保持部１０５は、ルートフォルダＲＦ１によって特定される、暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ１を保持しており、フォルダＦ１によって特定される、暗号アルゴリズムコードＡＣ２および暗号鍵Ｋ１を保持しており、フォルダＦ２によって特定される、暗号アルゴリズムコードＡＣ３および暗号鍵Ｋ２を保持している。
【０１６５】
また、この場合、ＩＣカード１２は、例えば、図１９に示すように、アクセスが要求されたデータが含まれているフォルダによって特定される暗号アルゴリズムコードおよび暗号鍵を取得し、取得した暗号鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づき、データを暗号化するか、または復号する。
【０１６６】
例えば、ＩＣカード１２が、データＤ４の上書きを要求する旨の要求信号を受信した場合、データＤ４は、ルートフォルダＲＦ１に含まれているので、制御部１０４の復号部１３２は、ルートフォルダＲＦ１によって特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得する。そして、制御部１０４の復号部１３２は、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ４を復号する。
【０１６７】
また、ＩＣカード１２が、データＤ２の上書きを要求する旨の要求信号を受信した場合、データＤ２は、フォルダＦ１に含まれているので、制御部１０４の復号部１３２は、フォルダＦ１によって特定される暗号アルゴリズムコードＡＣ２および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データＤ２を復号する。
【０１６８】
さらに、ＩＣカード１２が、データＤ３の上書きを要求する旨の要求信号を受信した場合、データＤ３は、フォルダＦ２に含まれているので、制御部１０４の復号部１３２は、フォルダＦ２によって特定される暗号アルゴリズムコードＡＣ３および暗号鍵Ｋ２を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ２を用いて、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号アルゴリズムＡ３に基づき、データＤ３を復号する。
【０１６９】
同様に、例えば、ＩＣカード１２が、データＤ４の送信を要求する旨の要求信号を受信した場合、データＤ４は、ルートフォルダＲＦ１に含まれているので、制御部１０４の暗号化部１３１は、ルートフォルダＲＦ１によって特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得する。そして、制御部１０４の暗号化部１３１は、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ４を暗号化する。
【０１７０】
また、ＩＣカード１２が、データＤ２の送信を要求する旨の要求信号を受信した場合、データＤ２は、フォルダＦ１に含まれているので、制御部１０４の暗号化部１３１は、フォルダＦ１によって特定される暗号アルゴリズムコードＡＣ２および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データＤ２を暗号化する。
【０１７１】
さらに、ＩＣカード１２が、データＤ３の送信を要求する旨の要求信号を受信した場合、データＤ３は、フォルダＦ２に含まれているので、制御部１０４の暗号化部１３１は、フォルダＦ２によって特定される暗号アルゴリズムコードＡＣ３および暗号鍵Ｋ２を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ２を用いて、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号アルゴリズムＡ３に基づき、データＤ３を暗号化する。
【０１７２】
さらに、また、記録部１０６に記録されているデータが、図１７に示す階層構造になっているフォルダに含まれている場合、暗号アルゴリズムコード保持部１０５が、要求信号によって、上書きまたは送信が要求されたデータが含まれているフォルダによって特定される暗号アルゴリズムコードを、暗号アルゴリズムコード保持部１０５における所定の記憶領域に保持し、暗号アルゴリズムコードを保持している記憶領域とは異なる記憶領域に、暗号アルゴリズムコードによって特定される暗号鍵を保持するようにすることも可能である。
【０１７３】
この場合、暗号アルゴリズムコード保持部１０５は、例えば、図２０に示す暗号アルゴリズムコードを保持している。すなわち、暗号アルゴリズムコード保持部１０５は、ルートフォルダＲＦ１によって特定される、暗号アルゴリズムコードＡＣ１を保持しており、フォルダＦ１によって特定される、暗号アルゴリズムコードＡＣ２を保持しており、フォルダＦ２によって特定される、暗号アルゴリズムコードＡＣ３を保持している。
【０１７４】
また、この場合、暗号アルゴリズムコード保持部１０５は、暗号アルゴリズムコードを保持している記憶領域とは異なる記憶領域に、例えば、図１３に示す暗号鍵を保持しており、ＩＣカード１２は、例えば、図２１に示すように、アクセスが要求されたデータが含まれているフォルダによって特定される暗号アルゴリズムコードを取得し、取得した暗号アルゴリズムコードによって特定される暗号鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づき、データを暗号化するか、または復号する。
【０１７５】
例えば、ＩＣカード１２が、データＤ４の上書きを要求する旨の要求信号を受信した場合、データＤ４は、ルートフォルダＲＦ１に含まれているので、制御部１０４の復号部１３２は、ルートフォルダＲＦ１によって特定される暗号アルゴリズムコードＡＣ１を暗号アルゴリズムコード保持部１０５から取得する。そして、制御部１０４の復号部１３２は、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ４を復号する。
【０１７６】
また、ＩＣカード１２が、データＤ２の上書きを要求する旨の要求信号を受信した場合、データＤ２は、フォルダＦ１に含まれているので、制御部１０４の復号部１３２は、フォルダＦ１によって特定される暗号アルゴリズムコードＡＣ２を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データＤ２を復号する。
【０１７７】
さらに、ＩＣカード１２が、データＤ３の上書きを要求する旨の要求信号を受信した場合、データＤ３は、フォルダＦ２に含まれているので、制御部１０４の復号部１３２は、フォルダＦ２によって特定される暗号アルゴリズムコードＡＣ３を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号鍵Ｋ２を用いて、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号アルゴリズムＡ３に基づき、データＤ３を復号する。
【０１７８】
同様に、例えば、ＩＣカード１２が、データＤ４の送信を要求する旨の要求信号を受信した場合、データＤ４は、ルートフォルダＲＦ１に含まれているので、制御部１０４の暗号化部１３１は、ルートフォルダＲＦ１によって特定される暗号アルゴリズムコードＡＣ１を暗号アルゴリズムコード保持部１０５から取得する。そして、制御部１０４の暗号化部１３１は、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ４を暗号化する。
【０１７９】
また、ＩＣカード１２が、データＤ２の送信を要求する旨の要求信号を受信した場合、データＤ２は、フォルダＦ１に含まれているので、制御部１０４の暗号化部１３１は、フォルダＦ１によって特定される暗号アルゴリズムコードＡＣ２を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データＤ２を暗号化する。
【０１８０】
さらに、ＩＣカード１２が、データＤ３の送信を要求する旨の要求信号を受信した場合、データＤ３は、フォルダＦ２に含まれているので、制御部１０４の暗号化部１３１は、フォルダＦ２によって特定される暗号アルゴリズムコードＡＣ３を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号鍵Ｋ２を用いて、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号アルゴリズムＡ３に基づき、データＤ３を暗号化する。
【０１８１】
さらに、また、記録部１０６に記録されているデータが、図１７に示す階層構造になっているフォルダに含まれている場合において、リーダライタ１１およびＩＣカード１２が行う相互認証の方式によって、暗号アルゴリズムおよび暗号鍵が特定されるようにすることも可能である。
【０１８２】
この場合、暗号アルゴリズムコード保持部１０５は、例えば、図１５に示す暗号アルゴリズムコードおよび暗号鍵を保持している。
【０１８３】
したがって、例えば、ＩＣカード１２は、図２２に示すように、相互認証方式によって特定される暗号アルゴリズムコードおよび暗号鍵を取得し、取得した暗号鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づき、データを暗号化するか、または復号する。
【０１８４】
例えば、ＩＣカード１２が、相互認証方式Ｍ１により相互認証を行った場合、制御部１０４の復号部１３２は、相互認証方式Ｍ１によって特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得する。そして、制御部１０４の復号部１３２は、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データを復号する。
【０１８５】
また、ＩＣカード１２が、相互認証方式Ｍ２により相互認証を行った場合、制御部１０４の復号部１３２は、相互認証方式Ｍ２によって特定される暗号アルゴリズムコードＡＣ２および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データを復号する。
【０１８６】
さらに、ＩＣカード１２が、相互認証方式Ｍ３により相互認証を行った場合、制御部１０４の復号部１３２は、相互認証方式Ｍ３によって特定される暗号アルゴリズムコードＡＣ３および暗号鍵Ｋ２を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ２を用いて、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号アルゴリズムＡ３に基づき、データを復号する。
【０１８７】
同様に、例えば、ＩＣカード１２が、相互認証方式Ｍ１により相互認証を行った場合、制御部１０４の暗号化部１３１は、相互認証方式Ｍ１によって特定される暗号アルゴリズムコードＡＣ１および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得する。そして、制御部１０４の暗号化部１３１は、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データを暗号化する。
【０１８８】
また、ＩＣカード１２が、相互認証方式Ｍ２により相互認証を行った場合、制御部１０４の暗号化部１３１は、相互認証方式Ｍ２によって特定される暗号アルゴリズムコードＡＣ２および暗号鍵Ｋ１を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データを暗号化する。
【０１８９】
さらに、ＩＣカード１２が、相互認証方式Ｍ３により相互認証を行った場合、制御部１０４の暗号化部１３１は、相互認証方式Ｍ３によって特定される暗号アルゴリズムコードＡＣ３および暗号鍵Ｋ２を暗号アルゴリズムコード保持部１０５から取得し、取得した暗号鍵Ｋ２を用いて、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号アルゴリズムＡ３に基づき、データを暗号化する。
【０１９０】
次に、本発明を適用した第２の実施の形態について説明する。
【０１９１】
図２３は、リーダライタの機能の構成を示すブロック図である。
【０１９２】
リーダライタ３０１は、制御部３３１、記録部３３２、SPU３３３、変調部３３４、発振回路３３５、アンテナ３３６、復調部３３７、セッション鍵保持部３３８、およびドライブ３３９を含むように構成される。
【０１９３】
制御部３３１は、所定のデータにアクセスする旨の情報を含む、認証を要求する旨の認証要求信号を生成し、生成した認証要求信号を、SPU３３３に供給する。
【０１９４】
制御部３３１は、暗号化部３５１および復号部３５２を備えている。制御部３３１の復号部３５２は、SPU３３３から供給されたセッション鍵を、記録部３３２に予め記録されている認証鍵を用いて復号する。また、制御部３３１は、制御部３３１の復号部３５２が復号したセッション鍵を、セッション鍵保持部３３８に供給する。
【０１９５】
制御部３３１の暗号化部３５１は、制御部３３１の復号部３５２が復号したセッション鍵を、記録部３３２に予め記録されている認証鍵を用いて暗号化する。制御部３３１は、制御部３３１の暗号化部３５１が暗号化したセッション鍵をSPU３３３に供給する。
【０１９６】
制御部３３１は、SPU３３３から、認証された旨の認証信号が供給されると、所定のデータを含む、データの上書きを要求する旨の要求信号を生成する。また、制御部３３１は、所定のデータの送信を要求する旨の要求信号を生成する。
【０１９７】
制御部３３１は、データの上書きを要求する旨の要求信号に格納するデータを生成する。制御部３３１の暗号化部３５１は、セッション鍵保持部３３８から、セッション鍵を取得する。そして、制御部３３１の暗号化部３５１は、取得したセッション鍵を用いて、記録部３３２に記録されている暗号アルゴリズムコードであって、記録部４２６（図２４）に記録されている、上書きを要求するデータによって特定される暗号アルゴリズムコードに関係付けられた暗号アルゴリズムに基づき、生成したデータを暗号化する。制御部３３１は、制御部３３１の暗号化部３５１が暗号化したデータを含む、データの上書きを要求する旨の要求信号を生成し、生成した要求信号を、SPU３３３に供給する。
【０１９８】
また、制御部３３１の復号部３５２は、SPU３３３から供給された応答信号に含まれるデータを、所定の方式により復号する。応答信号には、データの送信を要求する旨の要求信号によって指定されたデータが含まれており、制御部３３１の復号部３５２は、セッション鍵保持部３３８から、セッション鍵を取得する。そして、制御部３３１の復号部３５２は、取得したセッション鍵を用いて、記録部３３２に記録されている暗号アルゴリズムコードであって、応答信号に含まれるデータによって特定されるによって特定される暗号アルゴリズムコードに関係付けられた暗号アルゴリズムに基づき、データを復号する。制御部３３１は、制御部３３１の復号部３５２が復号したデータを記録部３３２に供給する。
【０１９９】
制御部３３１は、必要に応じて装着された、ドライブ３３９から供給されたプログラムを読み込んで、読み込んだプログラムを実行する。また、制御部３３１は、ドライブ３３９からプログラムやデータが供給された場合、供給されたプログラムやデータを必要に応じて、記録部３３２に供給し、記録部３３２に記録されたプログラムを読み込み、読み込んだプログラムを実行する。
【０２００】
記録部３３２は、書き換え可能で、電源が遮断されても記録内容を保持できる、いわゆる不揮発性の記憶媒体または記録媒体からなり、例えば、ハードディスクまたはフラッシュメモリなどにより構成される。記録部３３２は、各種のデータを記録している。また、記録部３３２は、記録しているデータを、必要に応じて制御部３３１に供給する。
【０２０１】
記録部３３２は、ＩＣカード４０１（図２４）が記録しているデータによって特定される暗号アルゴリズムコードを記録している。記録部３３２は、制御部３３１から供給されたデータを記録する。記録部３３２は、ＩＣカード４０１との認証の処理に用いられる認証鍵を記録している。
【０２０２】
SPU３３３は、制御部３３１から供給された要求信号、認証要求信号、またはセッション鍵を、所定の方式により符号化し、符号化した要求信号、認証要求信号、またはセッション鍵を変調部３３４に供給する。また、SPU３３３は、復調部３３７から供給された応答信号、セッション鍵、または認証信号を、応答信号、セッション鍵、または認証信号の符号化方式に対応する方式により復号し、復号した応答信号、セッション鍵、または認証信号を制御部３３１に供給する。
【０２０３】
変調部３３４は、発振回路３３５から供給された所定の周波数のクロック信号を基に、搬送波を生成する。変調部３３４は、搬送波に基づいて、SPU３３３から供給された要求信号、認証要求信号、またはセッション鍵を所定の方式により変調することにより変調した要求信号、認証要求信号、またはセッション鍵を生成し、変調した要求信号、認証要求信号、またはセッション鍵をアンテナ３３６に供給する。例えば、変調部３３４は、SPU３３３から供給された要求信号、認証要求信号、またはセッション鍵に基づいて、搬送波の位相、振幅、周波数などを変化させることにより変調した要求信号、認証要求信号、またはセッション鍵を生成する。
【０２０４】
発振回路３３５は、所定の周波数の、基準となるクロック信号を生成し、生成したクロック信号を変調部３３４に供給する。
【０２０５】
アンテナ３３６は、変調部３３４から供給された要求信号、認証要求信号、またはセッション鍵を、無線通信によりＩＣカード４０１あてに送信する。すなわち、例えば、アンテナ３３６は、変調部３３４から供給された要求信号、認証要求信号、またはセッション鍵を伝送するための電波を輻射する。また、アンテナ３３６は、ＩＣカード４０１から送信されてきた応答信号、セッション鍵、または認証信号を受信し、受信した応答信号、セッション鍵、または認証信号を復調部３３７に供給する。
【０２０６】
復調部３３７は、アンテナ３３６から供給された応答信号、セッション鍵、または認証信号を、変調部４２９（図２４）の変調方式に対応する復調方式により復調し、復調した応答信号、セッション鍵、または認証信号をSPU３３３に供給する。例えば、復調部３３７は、アンテナ３３６を介して取得した変調波（ASK変調波）を復調し、復調した応答信号、セッション鍵、または認証信号をSPU３３３に出力する。
【０２０７】
セッション鍵保持部３３８は、制御部３３１から供給されたセッション鍵を保持する。セッション鍵保持部３３８は、保持しているセッション鍵を制御部３３１に供給する。セッション鍵保持部３３８は、リーダライタ３０１とＩＣカード４０１との通信が終了すると、保持しているセッション鍵を破棄する。
【０２０８】
ドライブ３３９は、磁気ディスク３７１、光ディスク３７２、光磁気ディスク３７３、或いは半導体メモリ３７４などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、制御部３３１またはＩＣカード４０１に転送される。また、ＩＣカード４０１に転送（送信）されたプログラムは、ＩＣカード４０１により、必要に応じて記録されるか、または実行される。
【０２０９】
図２４は、ＩＣカードの機能の構成を示すブロック図である。
【０２１０】
ＩＣカード４０１は、アンテナ４２１、復調部４２２、SPU４２３、制御部４２４、暗号アルゴリズムコード保持部４２５、記録部４２６、RAM４２７、発振回路４２８、変調部４２９、および電力発生部４３０を含むように構成される。
【０２１１】
アンテナ４２１は、リーダライタ３０１から送信されてきた要求信号、認証要求信号、またはセッション鍵を受信し、受信した要求信号、認証要求信号、またはセッション鍵を復調部４２２に供給する。また、アンテナ４２１は、変調部４２９から供給された応答信号、セッション鍵、または認証信号を、無線通信により、リーダライタ３０１あてに送信する。すなわち、例えば、アンテナ４２１は、変調部４２９から供給された応答信号、セッション鍵、または認証信号を伝送するための電波を放射する。また、アンテナ４２１においては、リーダライタ３０１から放射される所定の周波数の電波により、共振が生じ、起電力が発生する。
【０２１２】
復調部４２２は、アンテナ４２１から供給された要求信号、認証要求信号、またはセッション鍵を、変調部３３４（図２３）の変調方式に対応する復調方式により復調し、復調した要求信号、認証要求信号、またはセッション鍵をSPU４２３に供給する。例えば、復調部４２２は、アンテナ４２１を介して受信したASK変調波である要求信号、認証要求信号、またはセッション鍵を包絡線検波して復調し、復調した要求信号、認証要求信号、またはセッション鍵をSPU４２３に出力する。
【０２１３】
SPU４２３は、復調部４２２から供給された要求信号、認証要求信号、またはセッション鍵を所定の方式により復号し、復号した要求信号、認証要求信号、またはセッション鍵を制御部４２４に供給する。SPU４２３は、制御部４２４から供給された応答信号、セッション鍵、または認証信号を、所定の符号化方式により符号化し、符号化した応答信号、セッション鍵、または認証信号を変調部４２９に供給する。
【０２１４】
制御部４２４は、所定のデータにアクセスする旨の情報を含む、認証を要求する旨の認証要求信号がSPU４２３から供給されると、認証要求信号に含まれている、データにアクセスする旨の情報によって指定されたデータによって特定される暗号アルゴリズムコードを、暗号アルゴリズムコード保持部４２５から取得する。制御部４２４は、セッション鍵生成部４５１を備えている。制御部４２４のセッション鍵生成部４５１は、取得された暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づく、暗号アルゴリズムにおいて使用されるセッション鍵を生成する。制御部４２４は、制御部４２４のセッション鍵生成部４５１が生成したセッション鍵を、RAM４２７に供給する。
【０２１５】
ここで、制御部４２４のセッション鍵生成部４５１は、例えば、DES方式、３DES方式、AES方式などの暗号アルゴリズムにおいて使用される、暗号アルゴリズムごとのセッション鍵を生成する。
【０２１６】
また、制御部４２４は、暗号化部４５２および復号部４５３を備えている。制御部４２４の暗号化部４５２は、制御部４２４のセッション鍵生成部４５１が生成したセッション鍵を、記録部４２６に予め記録されている認証鍵を用いて暗号化する。制御部４２４は、制御部４２４の暗号化部４５２が暗号化したセッション鍵を、SPU４２３に供給する。
【０２１７】
制御部４２４の復号部４５３は、SPU４２３から供給されたセッション鍵を、記録部４２６に予め記録されている認証鍵を用いて復号する。制御部４２４は、制御部４２４の復号部４５３が復号したセッション鍵が、RAM４２７に一時的に記憶されているセッション鍵と同一であるか否かの判定の処理を行い、リーダライタ３０１の認証を行う。制御部４２４は、リーダライタ３０１が認証されると、認証された旨の認証信号を生成し、生成した認証信号を、SPU４２３に供給する。
【０２１８】
制御部４２４の復号部４５３は、SPU４２３から、データの上書きを要求する旨の要求信号が供給されると、上書きが要求されたデータによって特定される暗号アルゴリズムコードを、暗号アルゴリズムコード保持部４２５から取得する。制御部４２４の復号部４５３は、RAM４２７に記憶されているセッション鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づいて、要求信号に含まれているデータを復号する。制御部４２４は、復号したデータを記録部４２６に供給する。
【０２１９】
また、制御部４２４の暗号化部４５２は、SPU４２３から、データの送信を要求する旨の要求信号が供給されると、送信が要求されたデータを、記録部４２６から取得する。そして、制御部４２４の暗号化部４５２は、取得したデータによって特定される暗号アルゴリズムコードを、暗号アルゴリズムコード保持部４２５から取得する。制御部４２４の暗号化部４５２は、RAM４２７に記憶されているセッション鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づいて、取得したデータを暗号化する。制御部４２４は、暗号化したデータを含む、応答信号を生成し、生成した応答信号をSPU４２３に供給する。
【０２２０】
暗号アルゴリズムコード保持部４２５は、例えば、フラッシュメモリ、EEPROM、MRAM、またはFeRAMなどの不揮発性メモリなどにより構成され、記録部４２６が記録しているデータによって特定される、暗号アルゴリズムコードを保持している。暗号アルゴリズムコード保持部４２５は、保持している暗号アルゴリズムコードを制御部４２４に供給する。
【０２２１】
記録部４２６は、例えば、フラッシュメモリ、EEPROM、MRAM、またはFeRAMなどの不揮発性メモリなどにより構成され、リーダライタ３０１に送信される、秘匿すべきデータ、プログラムの実行に必要なデータなどの各種データを記録している。また、記録部４２６は、リーダライタ３０１との認証の処理に用いられる認証鍵を記録している。
【０２２２】
RAM４２７は、プログラムの実行に必要なデータなどを適宜記憶する。また、RAM４２７は、制御部４２４から供給された、暗号アルゴリズムコードによって特定されるセッション鍵を、一時的に記憶する。RAM４２７は、ＩＣカード４０１が、リーダライタ３０１との通信を終了すると、記憶しているセッション鍵を破棄する。
【０２２３】
発振回路４２８は、アンテナ４２１が受信する要求信号、認証要求信号、またはセッション鍵の周波数と同じ周波数のクロック信号を生成し、生成したクロック信号を変調部４２９に供給する。例えば、発振回路４２８は、PLL回路を内蔵し、要求信号、認証要求信号、またはセッション鍵のクロック周波数と同一の周波数のクロック信号を発生する。
【０２２４】
変調部４２９は、発振回路４２８から供給された所定の周波数のクロック信号を基に、搬送波を生成する。変調部４２９は、搬送波に基づいて、SPU４２３から供給された応答信号、セッション鍵、または認証信号を、所定の方式によって変調することにより、変調した応答信号、セッション鍵、または認証信号を生成し、変調した応答信号、セッション鍵、または認証信号をアンテナ４２１に供給する。例えば、変調部４２９は、SPU４２３から供給された、マンチェスター方式により符号化された応答信号、セッション鍵、または認証信号を、さらにASK変調し、変調した応答信号、セッション鍵、または認証信号を、アンテナ４２１を介して、リーダライタ３０１に送信する。
【０２２５】
電力発生部４３０は、アンテナ４２１に生じた交流の起電力を基に、直流電力を発生させ、発生させた直流電力をＩＣカード４０１の各部に供給する。
【０２２６】
次に、図２５および図２６のフローチャートを参照して、リーダライタ３０１によるセッション鍵保持の処理およびＩＣカード４０１によるセッション鍵送信の処理を説明する。
【０２２７】
ステップＳ３０１において、制御部３３１は、所定のデータにアクセスする旨の情報を含む、認証を要求する旨の認証要求信号を生成し、生成した認証要求信号を、SPU３３３に供給する。例えば、ＩＣカード４０１が記録しているデータＤ１の送信を要求する場合、またはＩＣカード４０１が記録しているデータＤ１の上書きを要求する場合、ステップＳ３０１において、制御部３３１は、データＤ１にアクセスする旨の情報を含む、認証を要求する旨の認証要求信号を生成し、生成した認証要求信号を、SPU３３３に供給する。
【０２２８】
ステップＳ３０２において、SPU３３３は、制御部３３１から供給された認証要求信号を、所定の方式により符号化し、符号化した認証要求信号を変調部３３４に供給する。例えば、ステップＳ３０２において、SPU３３３は、制御部３３１から供給された認証要求信号を、マンチェスター方式などの符号化方式により符号化し、符号化した認証要求信号を変調部３３４に供給する。
【０２２９】
ステップＳ３０３において、変調部３３４は、SPU３３３から供給された認証要求信号を、所定の方式により変調し、変調した認証要求信号をアンテナ３３６に供給する。例えば、ステップＳ３０３において、変調部３３４は、発振回路３３５から供給されたクロック信号に対応する、所定の周波数の搬送波に基づいて、SPU３３３から供給された認証要求信号を、ASK方式により変調する。変調部３３４は、変調した認証要求信号をアンテナ３３６に供給する。
【０２３０】
ステップＳ３０４において、アンテナ３３６は、変調部３３４から供給された認証要求信号を、無線通信によりＩＣカード４０１あてに送信する。例えば、ステップＳ３０４において、アンテナ３３６は、変調部３３４から供給された認証要求信号を伝送する電波を、放射することにより認証要求信号を送信する。
【０２３１】
ステップＳ３０４の処理において、リーダライタ３０１から認証要求信号が送信されてくるので、ステップＳ３５１において、アンテナ４２１は、リーダライタ３０１から送信されてきた認証要求信号を受信し、受信した認証要求信号を復調部４２２に供給する。
【０２３２】
ステップＳ３５２において、復調部４２２は、アンテナ４２１から供給された認証要求信号を、変調部３３４の変調方式に対応する復調方式により復調し、復調した認証要求信号をSPU４２３に供給する。
【０２３３】
ステップＳ３５３において、SPU４２３は、復調部４２２から供給された認証要求信号を、SPU３３３の符号化方式に対応する復号方式により復号し、復号した認証要求信号を制御部４２４に供給する。
【０２３４】
ステップＳ３５４において、制御部４２４のセッション鍵生成部４５１は、SPU４２３から供給された認証要求信号に含まれる、データにアクセスする旨の情報によって指定されたデータによって特定される暗号アルゴリズムに基づいて、セッション鍵を生成する。制御部４２４は、制御部４２４のセッション鍵生成部４５１が生成したセッション鍵を、RAM４２７に供給する。
【０２３５】
より詳細には、ステップＳ３５４において、制御部４２４のセッション鍵生成部４５１は、SPU４２３から供給された認証要求信号に含まれる、データにアクセスする旨の情報によって指定されたデータによって特定される暗号アルゴリズムコードを、暗号アルゴリズムコード保持部４２５から取得する。そして、制御部４２４のセッション鍵生成部４５１は、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づく、暗号アルゴリズムコードによって特定されるセッション鍵を生成する。
【０２３６】
例えば、暗号アルゴリズムコードによって特定される暗号アルゴリズムにおいて用いられるセッション鍵が、56bitのセッション鍵である場合、制御部４２４のセッション鍵生成部４５１は、内蔵している乱数発生部（図示せず）に56bitの乱数を発生させ、発生させた乱数をセッション鍵とする。制御部４２４は、制御部４２４のセッション鍵生成部４５１が生成したセッション鍵を、RAM４２７に供給する。
【０２３７】
したがって、例えば、暗号アルゴリズムコード保持部４２５が図１２に示す暗号アルゴリズムコードを保持しており、SPU４２３から供給された認証要求信号に含まれる、データにアクセスする旨の情報によってデータＤ１が指定されていた場合、制御部４２４のセッション鍵生成部４５１は、暗号アルゴリズムコードＡＣ１を、暗号アルゴリズムコード保持部４２５から取得する。そして、制御部４２４のセッション鍵生成部４５１は、取得した暗号アルゴリズムコードＡＣ１によって特定される、暗号アルゴリズムＡ１に基づくセッション鍵を生成する。
【０２３８】
ステップＳ３５５において、RAM４２７は、制御部４２４から供給されたセッション鍵を、一時的に記憶する。
【０２３９】
ステップＳ３５６において、制御部４２４の暗号化部４５２は、制御部４２４のセッション鍵生成部４５１が生成したセッション鍵を、記録部４２６に記録されている認証鍵を用いて、所定の方式により暗号化する。制御部４２４は、制御部４２４の暗号化部４５２が暗号化したセッション鍵を、SPU４２３に供給する。
【０２４０】
例えば、ステップＳ３５６において、制御部４２４の暗号化部４５２は、制御部４２４のセッション鍵生成部４５１が生成したセッション鍵を、記録部４２６に記録されている認証鍵を用いて、DES方式、RSA（R.Rivest A.Shamir L.Adelman）方式などの暗号化方式により暗号化する。
【０２４１】
ステップＳ３５７において、SPU４２３は、制御部４２４から供給されたセッション鍵を、所定の符号化方式により符号化し、符号化したセッション鍵を変調部４２９に供給する。例えば、ステップＳ３５７において、SPU４２３は、制御部４２４から供給されたセッション鍵を、マンチェスター方式などの符号化方式により符号化し、符号化したセッション鍵を変調部４２９に供給する。
【０２４２】
ステップＳ３５８において、変調部４２９は、SPU４２３から供給されたセッション鍵を、所定の方式により変調し、変調したセッション鍵をアンテナ４２１に供給する。例えば、ステップＳ３５８において、変調部４２９は、発振回路４２８から供給されたクロック信号に対応する、所定の周波数の搬送波に基づいて、SPU４２３から供給されたセッション鍵を、ASK方式により変調する。変調部４２９は、変調したセッション鍵をアンテナ４２１に供給する。
【０２４３】
ステップＳ３５９において、アンテナ４２１は、変調部４２９から供給されたセッション鍵を、無線通信によりリーダライタ３０１あてに送信する。例えば、ステップＳ３５９において、アンテナ４２１は、変調部４２９から供給されたセッション鍵を伝送する電波を、放射することによりセッション鍵を送信する。
【０２４４】
ステップＳ３５９の処理において、ＩＣカード４０１からセッション鍵が送信されてくるので、ステップＳ３０５において、アンテナ３３６は、ＩＣカード４０１から送信されてきたセッション鍵を受信し、受信したセッション鍵を、復調部３３７に供給する。
【０２４５】
ステップＳ３０６において、復調部３３７は、アンテナ３３６から供給されたセッション鍵を、変調部４２９の変調方式に対応する復調方式により復調し、復調したセッション鍵をSPU３３３に供給する。
【０２４６】
ステップＳ３０７において、SPU３３３は、復調部３３７から供給されたセッション鍵を、SPU４２３の符号化方式に対応する復号方式により復号し、復号したセッション鍵を制御部３３１に供給する。
【０２４７】
ステップＳ３０８において、制御部３３１の復号部３５２は、SPU３３３から供給されたセッション鍵を、記録部３３２に記録されている認証鍵を用いて、暗号化部４５２が、セッション鍵を暗号化した方式に対応する方式により復号する。制御部３３１は、制御部３３１の復号部３５２が復号したセッション鍵をセッション鍵保持部３３８に供給する。
【０２４８】
ステップＳ３０９において、セッション鍵保持部３３８は、制御部３３１から供給されたセッション鍵を、一時的に保持する。
【０２４９】
ステップＳ３１０において、制御部３３１の暗号化部３５１は、制御部３３１の復号部３５２が復号したセッション鍵を、記録部３３２に記録されている認証鍵を用いて、所定の方式により暗号化する。制御部３３１は、制御部３３１の暗号化部３５１が暗号化したセッション鍵をSPU３３３に供給する。
【０２５０】
例えば、ステップＳ３１０において、制御部３３１の暗号化部３５１は、セッション鍵を、記録部３３２に記録されている認証鍵を用いて、DES方式、RSA方式などの暗号化方式により暗号化する。そして、制御部３３１は、制御部３３１の暗号化部３５１が暗号化したセッション鍵をSPU３３３に供給する。
【０２５１】
ステップＳ３１１において、SPU３３３は、制御部３３１から供給されたセッション鍵を、所定の符号化方式により符号化し、符号化したセッション鍵を変調部３３４に供給する。例えば、ステップＳ３１１において、SPU３３３は、制御部３３１から供給されたセッション鍵を、マンチェスター方式などの符号化方式により符号化し、符号化したセッション鍵を変調部３３４に供給する。
【０２５２】
ステップＳ３１２において、変調部３３４は、SPU３３３から供給されたセッション鍵を、所定の方式により変調し、変調したセッション鍵をアンテナ３３６に供給する。例えば、ステップＳ３１２において、変調部３３４は、発振回路３３５から供給されたクロック信号に対応する、所定の周波数の搬送波に基づいて、SPU３３３から供給されたセッション鍵を、ASK方式により変調する。変調部３３４は、変調したセッション鍵をアンテナ３３６に供給する。
【０２５３】
ステップＳ３１３において、アンテナ３３６は、変調部３３４から供給されたセッション鍵を、無線通信によりＩＣカード４０１あてに送信する。例えば、ステップＳ３１３において、アンテナ３３６は、変調部３３４から供給されたセッション鍵を伝送する電波を、放射することによりセッション鍵を送信する。
【０２５４】
ステップＳ３１３の処理において、リーダライタ３０１からセッション鍵が送信されてくるので、ステップＳ３６０において、アンテナ４２１は、リーダライタ３０１から送信されてきたセッション鍵を受信し、受信したセッション鍵を、復調部４２２に供給する。
【０２５５】
ステップＳ３６１において、復調部４２２は、アンテナ４２１から供給されたセッション鍵を、変調部３３４の変調方式に対応する復調方式により復調し、復調したセッション鍵をSPU４２３に供給する。
【０２５６】
ステップＳ３６２において、SPU４２３は、復調部４２２から供給されたセッション鍵を、SPU３３３の符号化方式に対応する復号方式により復号し、復号したセッション鍵を制御部４２４に供給する。
【０２５７】
ステップＳ３６３において、制御部４２４の復号部４５３は、SPU４２３から供給されたセッション鍵を、記録部４２６に記録されている認証鍵を用いて、暗号化部３５１が、セッション鍵を暗号化した方式に対応する復号方式により復号する。
【０２５８】
ステップＳ３６４において、制御部４２４は、制御部４２４の復号部４５３が復号したセッション鍵が、RAM４２７に記憶されているセッション鍵と同一であるか否かを判定することにより、認証の処理を行い、リーダライタ３０１を認証する。なお、制御部４２４の復号部４５３が復号したセッション鍵が、RAM４２７に記憶されているセッション鍵と同一でないと判定された場合、リーダライタ３０１は正規のリーダライタではないので、ＩＣカード４０１は、セッション鍵送信の処理を終了する。
【０２５９】
ステップＳ３６５において、制御部４２４は、リーダライタ３０１が認証されたので、認証された旨の認証信号を生成し、生成した認証信号をSPU４２３に供給する。
【０２６０】
ステップＳ３６６において、SPU４２３は、制御部４２４から供給された認証信号を、所定の符号化方式により符号化し、符号化した認証信号を変調部４２９に供給する。例えば、ステップＳ３６６において、SPU４２３は、制御部４２４から供給された認証信号を、マンチェスター方式などの符号化方式により符号化し、符号化した認証信号を変調部４２９に供給する。
【０２６１】
ステップＳ３６７において、変調部４２９は、SPU４２３から供給された認証信号を、所定の方式により変調し、変調した認証信号をアンテナ４２１に供給する。例えば、ステップＳ３６７において、変調部４２９は、発振回路４２８から供給されたクロック信号に対応する、所定の周波数の搬送波に基づいて、SPU４２３から供給された認証信号を、ASK方式により変調する。変調部４２９は、変調した認証信号をアンテナ４２１に供給する。
【０２６２】
ステップＳ３６８において、アンテナ４２１は、変調部４２９から供給された認証信号を、無線通信によりリーダライタ３０１あてに送信し、セッション鍵送信の処理は終了する。例えば、ステップＳ３６８において、アンテナ４２１は、変調部４２９から供給された認証信号を伝送する電波を、放射することにより認証信号を送信する。
【０２６３】
ステップＳ３６８の処理において、ＩＣカード４０１から認証信号が送信されてくるので、ステップＳ３１４において、アンテナ３３６は、ＩＣカード４０１から送信されてきた認証信号を受信し、受信した認証信号を、復調部３３７に供給する。
【０２６４】
ステップＳ３１５において、復調部３３７は、アンテナ３３６から供給された認証信号を、変調部４２９の変調方式に対応する復調方式により復調し、復調した認証信号をSPU３３３に供給する。
【０２６５】
ステップＳ３１６において、SPU３３３は、復調部３３７から供給された認証信号を、SPU４２３の符号化方式に対応する復号方式により復号し、復号した認証信号を制御部３３１に供給し、セッション鍵保持の処理は終了する。
【０２６６】
このようにして、ＩＣカード４０１は、セッション鍵を生成し、生成したセッション鍵を、無線通信によりリーダライタ３０１に送信する。そして、リーダライタ３０１は、ＩＣカード４０１から送信されてきたセッション鍵を受信し、受信したセッション鍵を保持する。
【０２６７】
このように、アクセスするデータによって、異なるセッション鍵を生成することによって、セキュリティ耐性と、通信する装置における互換性とを両立することができる。
【０２６８】
次に、図２７のフローチャートを参照して、リーダライタ３０１による、要求の処理を説明する。
【０２６９】
リーダライタ３０１が、ＩＣカード４０１から送信されてきた認証信号を受信すると、リーダライタ３０１が正規のリーダライタであると認証されたので、ステップＳ３９１において、制御部３３１は、所定の処理の実行を要求する旨の要求信号を生成し、生成した要求信号をSPU３３３に供給する。
【０２７０】
例えば、ステップＳ３９１において、制御部３３１は、ＩＣカード４０１に記録されている所定のデータを、上書きする旨の要求信号を生成し、生成した要求信号をSPU３３３に供給する。ここで、要求信号には、ＩＣカード４０１に記録されているデータに上書きするためのデータが含まれている。換言すれば、制御部３３１は、ＩＣカード４０１が記録しているデータを、制御部３３１が生成した新たなデータに書き換える旨の要求信号を生成する。
【０２７１】
この場合、例えば、制御部３３１は、データの上書きを要求する旨の要求信号に格納するデータを生成する。制御部３３１の暗号化部３５１は、セッション鍵保持部３３８から、セッション鍵を取得する。そして、制御部３３１の暗号化部３５１は、取得したセッション鍵を用いて、記録部３３２に記録されている暗号アルゴリズムコードであって、上書きを要求するデータによって特定される暗号アルゴリズムコードに関係付けられた暗号アルゴリズムに基づき、生成したデータを暗号化する。制御部３３１は、制御部３３１の暗号化部３５１が暗号化したデータを含む、データの上書きを要求する旨の要求信号を生成し、生成した要求信号をSPU３３３に供給する。
【０２７２】
また、例えば、ステップＳ３９１において、制御部３３１は、ＩＣカード４０１に記録されている所定のデータの送信を要求する旨の要求信号を生成し、生成した要求信号をSPU３３３に供給する。
【０２７３】
なお、ステップＳ３９２の処理乃至ステップＳ３９４の処理のそれぞれは、図４におけるステップＳ１３の処理乃至ステップＳ１５の処理のそれぞれと同様であるので、その説明は省略する。
【０２７４】
このようにして、リーダライタ３０１は、要求信号を生成し、生成した要求信号を、無線通信によりＩＣカード４０１あてに送信する。
【０２７５】
図２８のフローチャートを参照して、ＩＣカード４０１による、応答の処理を説明する。
【０２７６】
なお、ステップＳ４２１の処理乃至ステップＳ４２３の処理のそれぞれは、図５におけるステップＳ４２の処理乃至ステップＳ４４の処理のそれぞれと同様であるので、その説明は省略する。
【０２７７】
ステップＳ４２４において、制御部４２４は、SPU４２３から供給された要求信号が、データの上書きを要求する旨の要求信号であるか否かを判定する。
【０２７８】
ステップＳ４２４において、データの上書きを要求する旨の要求信号であると判定された場合、データの上書きが要求されたので、ステップＳ４２５に進み、ＩＣカード４０１は、データ記録の処理を行い、応答の処理は終了する。なお、データ記録の処理の詳細は後述するが、データ記録の処理において、ＩＣカード４０１は、要求信号に含まれるデータを、記憶しているセッション鍵を用いて、所定の方式により復号し、復号したデータを記録する。
【０２７９】
一方、ステップＳ４２４において、データの上書きを要求する旨の要求信号でないと判定された場合、SPU４２３から供給された要求信号は、所定のデータの送信を要求する旨の要求信号であるので、ステップＳ４２６に進み、ＩＣカード４０１は、データ送信の処理を行い、応答の処理は終了する。なお、データ送信の処理の詳細は後述するが、データ送信の処理において、ＩＣカード４０１は、送信が要求されたデータを、記憶しているセッション鍵を用いて、所定の方式により暗号化し、暗号化したデータを含む応答信号を生成する。そして、ＩＣカード４０１は、生成した応答信号を、無線通信によりリーダライタ３０１あてに送信する。
【０２８０】
このようにして、ＩＣカード４０１は、リーダライタ３０１から送信されてきた要求信号を受信し、受信した要求信号によって要求された処理を実行する。
【０２８１】
図２９のフローチャートを参照して、図２８のステップＳ４２５の処理に対応する、データ記録の処理を説明する。
【０２８２】
ステップＳ４５１において、制御部４２４の復号部４５３は、SPU４２３から供給された要求信号を基に、上書きが要求されたデータによって特定される、暗号アルゴリズムコードを、暗号アルゴリズムコード保持部４２５から取得する。
【０２８３】
ここで、暗号アルゴリズムコード保持部４２５は、例えば、図１２に示す暗号アルゴリズムコードを保持している。
【０２８４】
したがって、例えば、SPU４２３から制御部４２４に供給された要求信号が、記録部４２６に記録されているデータＤ１を上書きする旨の要求信号であった場合、すなわち、記録部４２６に記録されているデータＤ１を、要求信号に含まれているデータに書き換える旨の要求信号であった場合、制御部４２４の復号部４５３は、データＤ１によって特定される暗号アルゴリズムコードＡＣ１を、暗号アルゴリズムコード保持部４２５から取得する。
【０２８５】
ステップＳ４５２において、制御部４２４の復号部４５３は、RAM４２７に記憶されている、取得された暗号アルゴリズムコードによって特定されるセッション鍵を用いて、取得された暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づいて、要求信号に含まれているデータを復号する。制御部４２４は、制御部４２４の復号部４５３が復号したデータを記録部４２６に供給する。
【０２８６】
ここで、ここで、暗号アルゴリズムコード保持部４２５が保持している暗号アルゴリズムコードのそれぞれには、例えば、図８に示す暗号アルゴリズムのそれぞれが関係付けられており、ＩＣカード４０１は、例えば、図３０に示すように、RAM４２７に一時的に記憶されている、暗号アルゴリズムコードによって特定されるセッション鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づき、データを暗号化するか、または復号する。
【０２８７】
例えば、ＩＣカード４０１が、データＤ１にアクセスする旨の情報を含む、認証要求信号を受信した場合、制御部４２４のセッション鍵生成部４５１は、データＤ１によって特定される暗号アルゴリズムコードＡＣ１を暗号アルゴリズムコード保持部４２５から取得し、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づくセッション鍵Ｋ１を生成する。そして、RAM４２７は、制御部４２４のセッション鍵生成部４５１が生成したセッション鍵Ｋ１を一時的に記憶する。
【０２８８】
そして、ＩＣカード４０１が、データＤ１の上書きを要求する旨の要求信号、またはデータＤ１の送信を要求する要求信号を受信すると、制御部４２４の復号部４５３または暗号化部４５２は、データＤ１によって特定される暗号アルゴリズムコードＡＣ１を暗号アルゴリズムコード保持部４２５から取得する。そして、制御部４２４の復号部４５３または暗号化部４５２は、取得した暗号アルゴリズムコードＡＣ１によって特定されるセッション号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ１を暗号化するか、または復号する。
【０２８９】
また、例えば、ＩＣカード４０１が、データＤ２にアクセスする旨の情報を含む、認証要求信号を受信した場合、制御部４２４のセッション鍵生成部４５１は、データＤ２によって特定される暗号アルゴリズムコードＡＣ２を暗号アルゴリズムコード保持部４２５から取得し、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づくセッション鍵Ｋ１を生成する。そして、RAM４２７は、制御部４２４のセッション鍵生成部４５１が生成したセッション鍵Ｋ１を一時的に記憶する。
【０２９０】
そして、ＩＣカード４０１が、データＤ２の上書きを要求する旨の要求信号、またはデータＤ２の送信を要求する要求信号を受信すると、制御部４２４の復号部４５３または暗号化部４５２は、データＤ２によって特定される暗号アルゴリズムコードＡＣ２を暗号アルゴリズムコード保持部４２５から取得する。そして、制御部４２４の復号部４５３または暗号化部４５２は、取得した暗号アルゴリズムコードＡＣ２によって特定されるセッション号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データＤ２を暗号化するか、または復号する。
【０２９１】
さらに、例えば、ＩＣカード４０１が、データＤ３にアクセスする旨の情報を含む、認証要求信号を受信した場合、制御部４２４のセッション鍵生成部４５１は、データＤ３によって特定される暗号アルゴリズムコードＡＣ３を暗号アルゴリズムコード保持部４２５から取得し、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号アルゴリズムＡ３に基づくセッション鍵Ｋ２を生成する。そして、RAM４２７は、制御部４２４のセッション鍵生成部４５１が生成したセッション鍵Ｋ２を一時的に記憶する。
【０２９２】
そして、ＩＣカード４０１が、データＤ３の上書きを要求する旨の要求信号、またはデータＤ３の送信を要求する要求信号を受信すると、制御部４２４の復号部４５３または暗号化部４５２は、データＤ３によって特定される暗号アルゴリズムコードＡＣ３を暗号アルゴリズムコード保持部４２５から取得する。そして、制御部４２４の復号部４５３または暗号化部４５２は、取得した暗号アルゴリズムコードＡＣ３によって特定されるセッション号鍵Ｋ２を用いて、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号アルゴリズムＡ３に基き、データＤ３を暗号化するか、または復号する。
【０２９３】
したがって、例えば、制御部４２４の復号部４５３は、暗号アルゴリズムコード保持部４２５から暗号アルゴリズムコードＡＣ１を取得した場合、RAM４２７が記憶している、暗号アルゴリズムコードＡＣ１によって特定されるセッション鍵Ｋ１を用いて、暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づいて、データを復号する。
【０２９４】
なお、ステップＳ４５３の処理は、図６におけるステップＳ７３の処理と同様であるので、その説明は省略する。
【０２９５】
このようにして、ＩＣカード４０１は、記録しているデータによって特定される暗号アルゴリズムおよびセッション鍵を基に、データを復号し、復号したデータを記録する。
【０２９６】
このように、データごとに異なるセッション鍵および暗号アルゴリズムを用いることで、セキュリティ耐性と、通信する装置における互換性とを両立することができる。また、記録しているデータによって特定される暗号アルゴリズムコードを保持することで、暗号アルゴリズムの変更を容易に行うことができる。
【０２９７】
図３１のフローチャートを参照して、図２８のステップＳ４２６の処理に対応する、データ送信の処理を説明する。
【０２９８】
ステップＳ４８１において、制御部４２４の暗号化部４５２は、SPU４２３から供給された要求信号によって指定された（送信が要求された）データによって特定される暗号アルゴリズムコードを、暗号アルゴリズムコード保持部４２５から取得する。また、制御部４２４の暗号化部４５２は、記録部４２６から送信が要求されたデータを取得する。さらに、制御部４２４の暗号化部４５２は、RAM４２７から、取得した暗号アルゴリズムコードによって特定されるセッション鍵を取得する。
【０２９９】
例えば、暗号アルゴリズムコード保持部４２５が、図１２に示す暗号アルゴリズムコードを保持しており、ＩＣカード４０１がデータＤ２の送信を要求する旨の要求信号を受信した場合、ステップＳ４８１において、制御部４２４の暗号化部４５２は、データＤ２によって特定される暗号アルゴリズムコードＡＣ２を、暗号アルゴリズムコード保持部４２５から取得する。そして、制御部４２４の暗号化部４５２は、記録部４２６からデータＤ２を取得する。さらに、制御部４２４の暗号化部４５２は、RAM４２７から、暗号アルゴリズムコードＡＣ２によって特定されるセッション鍵Ｋ１を取得する。
【０３００】
ステップＳ４８２において、制御部４２４の暗号化部４５２は、取得したセッション鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づいて、取得したデータを暗号化する。
【０３０１】
したがって、例えば、制御部４２４の暗号化部４５２がデータＤ２を暗号化する場合、制御部４２４の暗号化部４５２は、暗号アルゴリズムコードＡＣ２によって特定されるセッション鍵Ｋ１を用いて、暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づいて、データＤ２を暗号化する。
【０３０２】
なお、ステップＳ４８３の処理乃至ステップＳ４８６の処理のそれぞれは、図１０におけるステップＳ１０３の処理乃至ステップＳ１０６の処理のそれぞれと同様であるので、その説明は省略する。
【０３０３】
このようにして、ＩＣカード４０１は、送信が要求されたデータを含む応答信号を生成し、生成した応答信号を、無線通信によりリーダライタ３０１あてに送信する。
【０３０４】
このように、データごとに異なるセッション鍵および暗号アルゴリズムを用いることで、データの重要度（秘匿性）に応じて、適切なセッション鍵および暗号アルゴリズムを設定することができる。また、データごとに異なるセッション鍵および暗号アルゴリズムを用いることで、セキュリティ耐性と、通信する装置における互換性とを両立することができる。
【０３０５】
図３２のフローチャートを参照して、リーダライタ３０１による、データ受信の処理を説明する。なお、ステップＳ５１１の処理乃至ステップＳ５１３の処理のそれぞれは、図１１におけるステップＳ１３１の処理乃至ステップＳ１３３の処理のそれぞれと同様であるので、その説明は省略する。
【０３０６】
ステップＳ５１４において、制御部３３１の復号部３５２は、SPU３３３から供給された応答信号に含まれるデータを抽出する。そして、制御部３３１の復号部３５２は、セッション鍵保持部３３８から、応答信号に含まれているデータによって特定されるセッション鍵を取得する。制御部３３１の復号部３５２は、記録部３３２に記録されている暗号アルゴリズムコードであって、応答信号に含まれるデータによって特定される暗号アルゴリズムコードに関係付けられた暗号アルゴリズムに基づき、取得したセッション鍵を用いて、応答信号に含まれるデータを復号する。制御部３３１は、制御部３３１の復号部３５２が復号したデータを、記録部３３２に供給する。
【０３０７】
したがって、例えば、制御部３３１が、データＤ２の送信を要求する旨の要求信号を生成し、SPU３３３からデータＤ２が含まれている応答信号が供給された場合、例えば、制御部３３１の復号部３５２は、セッション鍵保持部３３８から、暗号アルゴリズムコードＡＣ２によって特定されるセッション鍵Ｋ１を取得する。そして、制御部３３１の復号部３５２は、取得したセッション鍵Ｋ１を用いて、記録部３３２に記録されている、暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、応答信号に含まれるデータＤ２を復号する。
【０３０８】
ステップＳ５１５において、記録部３３２は、制御部３３１から供給されたデータを記録し、データ送信の処理は終了する。
【０３０９】
このようにして、リーダライタ３０１は、ＩＣカード４０１から送信されてきた応答信号を受信し、受信した応答信号に含まれるデータを、データによって特定される暗号アルゴリズムコードに関係付けられたセッション鍵を用いて、暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づいて復号する。
【０３１０】
このように、データによって特定される暗号アルゴリズムコードに関係付けられたセッション鍵をおよび暗号アルゴリズムに基づき、データを復号することで、データの重要度（秘匿性）に応じて、適切なセッション鍵および暗号アルゴリズムを設定することができる。また、データごとに異なるセッション鍵および暗号アルゴリズムを用いることで、セキュリティ耐性と、通信する装置における互換性とを両立することができる。
【０３１１】
なお、暗号アルゴリズムコード保持部４２５が、記録部４２６に含まれるような構成とするようにしてもよい。また、復号部３５２が暗号化部３５１に含まれるような構成とし、暗号化部３５１が、データを暗号化するか、または復号するようにしてもよい。同様に、復号部４５３が暗号化部４５２に含まれるような構成とし、暗号化部４５２が、データを暗号化するか、または復号するようにしてもよい。
【０３１２】
また、記録部４２６に記録されているデータが、図１７に示す階層構造になっているフォルダに含まれている場合、暗号アルゴリズムコード保持部４２５が、要求信号によって、上書きまたは送信が要求されたデータが含まれているフォルダによって特定される暗号アルゴリズムコードを保持するように構成することも可能である。
【０３１３】
この場合、暗号アルゴリズムコード保持部４２５は、例えば、図２０に示す暗号アルゴリズムコードを保持している。また、この場合、ＩＣカード４０１は、例えば、図３３に示すように、アクセスが要求されたデータが含まれているフォルダによって特定される暗号アルゴリズムコードを取得し、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づいて、セッション鍵を生成する。そして、生成したセッション鍵を用いて、取得した暗号アルゴリズムコードによって特定される暗号アルゴリズムに基づき、データを暗号化するか、または復号する。
【０３１４】
例えば、ＩＣカード４０１が、データＤ４にアクセスする旨の情報を含む、認証要求信号を受信した場合、データＤ４は、ルートフォルダＲＦ１に含まれているので、制御部４２４のセッション鍵生成部４５１は、ルートフォルダＲＦ１によって特定される暗号アルゴリズムコードＡＣ１を暗号アルゴリズムコード保持部４２５から取得し、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づくセッション鍵Ｋ１を生成する。そして、RAM４２７は、制御部４２４のセッション鍵生成部４５１が生成したセッション鍵Ｋ１を一時的に記憶する。
【０３１５】
ＩＣカード４０１が、データＤ４の上書きを要求する旨の要求信号、またはデータＤ４の送信を要求する要求信号を受信すると、制御部４２４の復号部４５３または暗号化部４５２は、ルートフォルダＲＦ１によって特定される暗号アルゴリズムコードＡＣ１を暗号アルゴリズムコード保持部４２５から取得する。そして、制御部４２４の復号部４５３または暗号化部４５２は、取得した暗号アルゴリズムコードＡＣ１によって特定されるセッション号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ１によって特定される暗号アルゴリズムＡ１に基づき、データＤ４を暗号化するかまたは復号する。
【０３１６】
また、例えば、ＩＣカード４０１が、データＤ２にアクセスする旨の情報を含む、認証要求信号を受信した場合、データＤ２は、フォルダＦ１に含まれているので、制御部４２４のセッション鍵生成部４５１は、フォルダＦ１によって特定される暗号アルゴリズムコードＡＣ２を暗号アルゴリズムコード保持部４２５から取得し、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づくセッション鍵Ｋ１を生成する。そして、RAM４２７は、制御部４２４のセッション鍵生成部４５１が生成したセッション鍵Ｋ１を一時的に記憶する。
【０３１７】
ＩＣカード４０１が、データＤ２の上書きを要求する旨の要求信号、またはデータＤ２の送信を要求する要求信号を受信すると、制御部４２４の復号部４５３または暗号化部４５２は、フォルダＦ１によって特定される暗号アルゴリズムコードＡＣ２を暗号アルゴリズムコード保持部４２５から取得する。そして、制御部４２４の復号部４５３または暗号化部４５２は、取得した暗号アルゴリズムコードＡＣ２によって特定されるセッション号鍵Ｋ１を用いて、取得した暗号アルゴリズムコードＡＣ２によって特定される暗号アルゴリズムＡ２に基づき、データＤ２を暗号化するかまたは復号する。
【０３１８】
さらに、例えば、ＩＣカード４０１が、データＤ３にアクセスする旨の情報を含む、認証要求信号を受信した場合、データＤ３は、フォルダＦ２に含まれているので、制御部４２４のセッション鍵生成部４５１は、フォルダＦ２によって特定される暗号アルゴリズムコードＡＣ３を暗号アルゴリズムコード保持部４２５から取得し、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号アルゴリズムＡ３に基づくセッション鍵Ｋ２を生成する。そして、RAM４２７は、制御部４２４のセッション鍵生成部４５１が生成したセッション鍵Ｋ２を一時的に記憶する。
【０３１９】
ＩＣカード４０１が、データＤ３の上書きを要求する旨の要求信号、またはデータＤ３の送信を要求する要求信号を受信すると、制御部４２４の復号部４５３または暗号化部４５２は、フォルダＦ２によって特定される暗号アルゴリズムコードＡＣ３を暗号アルゴリズムコード保持部４２５から取得する。そして、制御部４２４の復号部４５３または暗号化部４５２は、取得した暗号アルゴリズムコードＡＣ３によって特定されるセッション号鍵Ｋ２を用いて、取得した暗号アルゴリズムコードＡＣ３によって特定される暗号アルゴリズムＡ３に基づき、データＤ３を暗号化するかまたは復号する。
【０３２０】
以上のように、ＩＣカードが記録するか、または送信するデータごとに、異なる暗号アルゴリズムおよびセッション鍵を用いるようにしたので、データの重要度（秘匿性）に応じて、適切なセッション鍵および暗号アルゴリズムを設定することができる。また、ＩＣカードが記録するか、または送信するデータごとに、異なる暗号アルゴリズムおよびセッション鍵を用いるようにしたので、セキュリティ耐性と、通信する装置における互換性とを両立することができる。
【０３２１】
本発明によれば、セッション鍵を保持するようにしたので、送受信するデータを暗号化するか、または復号することができる。また、本発明によれば、ＩＣカードが記録するか、または送信するデータごとに、異なる暗号アルゴリズムおよびセッション鍵を用いるようにしたので、データの重要度（秘匿性）に応じて、適切なセッション鍵および暗号アルゴリズムを設定することができる。
【０３２２】
さらに、本発明によれば、ＩＣカードが記録するか、または送信するデータごとに、異なる暗号アルゴリズムおよびセッション鍵を用いるようにしたので、セキュリティ耐性と、通信する装置における互換性とを両立することができる。
【０３２３】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０３２４】
この記録媒体は、図２または、図２３に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク７１または磁気ディスク３７１（フレキシブルディスクを含む）、光ディスク７２または光ディスク３７２（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク７３（ＭＤ(Mini-Disc)（商標）を含む）または光磁気ディスク３７３、若しくは半導体メモリ７４または半導体メモリ３７４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや、記録部３２または記録部３３２に含まれるハードディスクなどで構成される。
【０３２５】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【０３２６】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３２７】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０３２８】
【図１】本発明に係る無線通信システムを説明する図である。
【図２】リーダライタの機能の構成を示すブロック図である。
【図３】ＩＣカードの機能の構成を示すブロック図である。
【図４】要求の処理を説明するフローチャートである。
【図５】応答の処理を説明するフローチャートである。
【図６】データ記録の処理を説明するフローチャートである。
【図７】暗号アルゴリズムコードおよび暗号鍵を説明する図である。
【図８】暗号アルゴリズムコードに関係付けられた暗号アルゴリズムを説明する図である。
【図９】データによって特定される暗号アルゴリズムコードおよび暗号鍵を説明する図である。
【図１０】データ送信の処理を説明するフローチャートである。
【図１１】データ受信の処理を説明するフローチャートである。
【図１２】暗号アルゴリズムコードを説明する図である。
【図１３】暗号アルゴリズムコードに関係付けられた暗号鍵を説明する図である。
【図１４】データによって特定される暗号アルゴリズムコードおよび暗号アルゴリズムコードによって特定される暗号鍵を説明する図である。
【図１５】暗号アルゴリズムコードおよび暗号鍵を説明する図である。
【図１６】相互認証方式によって特定される暗号アルゴリズムコードおよび暗号鍵を説明する図である。
【図１７】記録部に記録されているフォルダおよびデータを説明する図である。
【図１８】暗号アルゴリズムコードおよび暗号鍵を説明する図である。
【図１９】フォルダによって特定される暗号アルゴリズムコードおよび暗号鍵を説明する図である。
【図２０】フォルダによって特定される暗号アルゴリズムコードを説明する図である。
【図２１】フォルダによって特定される暗号アルゴリズムコードおよび暗号アルゴリズムコードによって特定される暗号鍵を説明する図である。
【図２２】相互認証方式によって特定される暗号アルゴリズムコードおよび暗号鍵を説明する図である。
【図２３】リーダライタの機能の構成を示すブロック図である。
【図２４】ＩＣカードの機能の構成を示すブロック図である。
【図２５】リーダライタによるセッション鍵保持の処理およびＩＣカードによるセッション鍵送信の処理を説明するフローチャートである。
【図２６】リーダライタによるセッション鍵保持の処理およびＩＣカードによるセッション鍵送信の処理を説明するフローチャートである。
【図２７】要求の処理を説明するフローチャートである。
【図２８】応答の処理を説明するフローチャートである。
【図２９】データ記録の処理を説明するフローチャートである。
【図３０】データによって特定される暗号アルゴリズムコードおよび暗号アルゴリズムコードによって特定されるセッション鍵を説明する図である。
【図３１】データ送信の処理を説明するフローチャートである。
【図３２】データ受信の処理を説明するフローチャートである。
【図３３】フォルダによって特定される暗号アルゴリズムコードおよび暗号アルゴリズムコードによって特定されるセッション鍵を説明する図である。
【符号の説明】
【０３２９】
１１  リーダライタ，  １２  ＩＣカード，  ３１  制御部，  ３２  記録部，  ３６  アンテナ，  ５１  暗号化部，  ５２  復号部，  ７１  磁気ディスク，  ７２  光ディスク，  ７３  光磁気ディスク，  ７４  半導体メモリ，  １０１  アンテナ，  １０４  制御部，  １０５  暗号アルゴリズムコード保持部，  １０６  記録部，  １０７  RAM，  １３１  暗号化部，  １３２  復号部，  ３０１  リーダライタ，  ３３１  制御部，  ３３２  記録部，  ３３６  アンテナ，  ３３８  セッション鍵保持部，  ３５１  暗号化部，  ３５２  復号部，  ３７１  磁気ディスク，  ３７２  光ディスク，  ３７３  光磁気ディスク，  ３７４  半導体メモリ，  ４０１  ＩＣカード，  ４２１  アンテナ，  ４２４  制御部，  ４２５  暗号アルゴリズムコード保持部，  ４２６  記録部，  ４２７  RAM，  ４５１  セッション鍵生成部，  ４５２  暗号化部，  ４５３  復号部
【図１】
2006108886.tif 000003
【図２】
2006108886.tif 000004
【図３】
2006108886.tif 000005
【図４】
2006108886.tif 000006
【図５】
2006108886.tif 000007
【図６】
2006108886.tif 000008
【図７】
2006108886.tif 000009
【図８】
2006108886.tif 000010
【図９】
2006108886.tif 000011
【図１０】
2006108886.tif 000012
【図１１】
2006108886.tif 000013
【図１２】
2006108886.tif 000014
【図１３】
2006108886.tif 000015
【図１４】
2006108886.tif 000016
【図１５】
2006108886.tif 000017
【図１６】
2006108886.tif 000018
【図１７】
2006108886.tif 000019
【図１８】
2006108886.tif 000020
【図１９】
2006108886.tif 000021
【図２０】
2006108886.tif 000022
【図２１】
2006108886.tif 000023
【図２２】
2006108886.tif 000024
【図２３】
2006108886.tif 000025
【図２４】
2006108886.tif 000026
【図２５】
2006108886.tif 000027
【図２６】
2006108886.tif 000028
【図２７】
2006108886.tif 000029
【図２８】
2006108886.tif 000030
【図２９】
2006108886.tif 000031
【図３０】
2006108886.tif 000032
【図３１】
2006108886.tif 000033
【図３２】
2006108886.tif 000034
【図３３】
2006108886.tif 000035