(57)【要約】【課題】  元データ及び暗号鍵の推定を困難にし、より高レベルのセキュリティを有する携帯可能電子装置を提供する。【解決手段】複数の暗号鍵に暗号鍵インデックスを付与して記憶しておき、データを不揮発性メモリに書込む際に、乱数を生成し、前記生成された乱数に基づいて暗号鍵インデックスを特定し、特定された暗号鍵インデックスに応じた暗号鍵を前記記憶されている複数の暗号鍵から１つ選択し、前記選択された暗号鍵を用いてデータを暗号化し、前記暗号化した暗号化データを不揮発性メモリに書込むようにしてものである。【選択図】      図２
2008109276.tif 000002
【特許請求の範囲】
【請求項１】
複数の暗号鍵を記憶している記憶手段と、
乱数を生成する乱数生成手段と、
前記乱数生成手段により生成された乱数に基づいて前記記憶手段に記憶されている複数の暗号鍵から１つの暗号鍵を選択する選択手段と、
前記選択手段により選択された暗号鍵を用いてデータを暗号化する暗号化手段と、
前記暗号化手段により暗号化された暗号化データを記憶する不揮発性メモリと、
を具備することを特徴とする携帯可能電子装置。
【請求項２】
前記不揮発性メモリには、さらに、前記暗号化データに対応づけて前記乱数生成手段により生成された乱数を記憶する、ことを特徴とする前記請求項１に記載の携帯可能電子装置。
【請求項３】
さらに、前記不揮発性メモリに記憶するファイル毎に、前記乱数生成手段による乱数の生成、前記選択手段による暗号鍵の選択、前記暗号化手段による暗号化を行う制御手段を具備することを特徴とする前記請求項１に記載の携帯可能電子装置。
【請求項４】
さらに、前記不揮発性メモリにおける特定のアドレス毎に区切られる各ブロックに記憶するデータ毎に、前記乱数生成手段による乱数の生成、前記選択手段による暗号鍵の選択、前記暗号化手段による暗号化を行う制御手段を具備することを特徴とする前記請求項１に記載の携帯可能電子装置。
【請求項５】
さらに、前記不揮発性メモリに記憶されている暗号化データに対応づけられている乱数に基づいて前記選択手段により選択される暗号鍵を用いて当該暗号化データを復号化する復号化手段を具備することを特徴とする前記請求項２に記載の携帯可能電子装置。
【請求項６】
複数の暗号鍵を記憶している記憶手段と、
複数の異なる暗号方式による暗号化を行う複数の暗号処理部と、
第１、及び第２の乱数を生成する乱数生成手段と、
前記乱数生成手段により生成された第１の乱数に基づいて前記記憶手段に記憶されている複数の暗号鍵から１つの暗号鍵を選択する第１の選択手段と、
前記乱数生成手段により生成された第２の乱数に基づいて前記複数の暗号処理部から１つの暗号処理部を選択する第２の選択手段と、
前記第１の選択手段により選択された暗号鍵を用いて、前記第２の選択手段により選択された暗号処理部によりデータを暗号化する暗号化手段と、
前記暗号化手段により暗号化された暗号化データを記憶する不揮発性メモリと、
を具備することを特徴とする携帯可能電子装置。
【請求項７】
前記不揮発性メモリには、さらに、前記暗号化データに対応づけて前記乱数生成手段により生成された第１及び第２の乱数を記憶する、ことを特徴とする前記請求項６に記載の携帯可能電子装置。
【請求項８】
さらに、前記不揮発性メモリに記憶するファイル毎に、前記乱数生成手段による第１及び第２の乱数の生成、前記第１の選択手段による暗号鍵の選択、前記第２の選択手段による暗号処理部の選択、前記暗号化手段による暗号化を行う制御手段を具備することを特徴とする前記請求項６に記載の携帯可能電子装置。
【請求項９】
さらに、前記不揮発性メモリにおける特定のアドレス毎に区切られる各ブロックに記憶するデータ毎に、前記乱数生成手段による第１及び第２の乱数の生成、前記第１の選択手段による暗号鍵の選択、前記第２の選択手段による暗号処理部の選択、前記暗号化手段による暗号化を行う制御手段を具備することを特徴とする前記請求項６に記載の携帯可能電子装置。
【請求項１０】
さらに、前記不揮発性メモリに記憶されている暗号化データに対応づけられている第１の乱数に基づいて前記第１の選択手段により選択される暗号鍵を用いて、前記第２の乱数に基づいて前記第２の選択手段により選択される暗号処理部により、当該暗号化データを復号化する復号化手段を具備することを特徴とする前記請求項７に記載の携帯可能電子装置。
【請求項１１】
さらに、前記暗号化手段は、前記第１の選択手段により選択される暗号鍵のビット数を、前記第２の選択手段により選択される暗号処理部の暗号鍵に適するビット数に変換する鍵適合化手段を具備することを特徴する請求項６記載の携帯可能電子装置。
【請求項１２】
さらに、前記各手段と前記不揮発性メモリとを有するモジュールと、
前記モジュールが内蔵された本体と、
を具備することを特徴する請求項１乃至１１記載の携帯可能電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、制御素子、通信インターフェース、不揮発性メモリなどを有するＩＣチップが内蔵されたＩＣカードなどの携帯可能電子装置に関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置としてのＩＣカードは、プラスチックなどで形成されたカード状の筐体内にＩＣチップが埋め込まれているものである。上記のようなＩＣカードでは、電源が無い状態でもデータを保持することができるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、あるいはフラッシュＲＯＭなどの不揮発性メモリを有している。このようなＩＣカードは、上記不揮発性メモリに種々のデータを記録する。近年では、不揮発性メモリの小型化等の技術が進歩し、ＩＣカードには、記憶容量の大きい不揮発性メモリを設けることが可能となっている。これにより、ＩＣカードでは、大量のデータを扱うことができることから、次世代のカードとして広く注目を集めている。
【０００３】
たとえば、上記ＩＣカードは、エレクトリック・パース（電子貨幣、電子マネー）、電子商取引（エレクトリック・コマース）、及び企業内部のプライベートセキュリティシステム（ドアセキュリティシステム、ネットワーク上のアクセス管理など）に用いられている。これらのような用途においては、セキュリティが極めて重要となる。従来のＩＣカードには、不正利用を防止するため、不揮発性メモリにＰＩＮ（Ｐｅｒｓｏｎａｌ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ）、若しくは、鍵情報などの認証用の情報が記憶されるものがある。このような認証用の情報が悪意のある者により特定されてしまった場合、当該ＩＣカードが不正使用される可能性があるという問題がある。そこで、ＩＣカードの保持している暗号鍵を用いてデータの暗号化及び復号化を行い、書き込み及び読出しを実行するＩＣカードシステムが提示されている（たとえば、特許文献１参照）。
【０００４】
しかしながら、上記した従来のＩＣカードシステムでは、常に同一の暗号鍵がデータの暗号化及び復号化に用いられている。この場合、既知の暗号化前のデータ（元データ）と暗号化後のデータ（暗号化データ）の相関関係に着目することにより、暗号化データから未知の元データを解析することができる可能性があるという問題がある。また、暗号化処理の処理内容を解析して暗号鍵を推定することがされた場合、ＩＣカードが容易に不正使用することが可能となってしまうという問題がある。
【特許文献１】特開２００５−１２２４０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の一形態では、上記のような問題点を解決するものであり、高レベルのセキュリティを有する携帯可能電子装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一実施形態としての携帯可能電子装置は、複数の暗号鍵を記憶している記憶手段と、乱数を生成する乱数生成手段と、前記乱数生成手段により生成された乱数に基づいて前記記憶手段に記憶されている複数の暗号鍵から１つの暗号鍵を選択する選択手段と、前記選択手段により選択された暗号鍵を用いてデータを暗号化する暗号化手段と、前記暗号化手段により暗号化された暗号化データを記憶する不揮発性メモリとを有する。
【０００７】
本発明の一実施形態としての携帯可能電子装置は、複数の暗号鍵を記憶している記憶手段と、複数の異なる暗号方式による暗号化を行う複数の暗号処理部と、第１、及び第２の乱数を生成する乱数生成手段と、前記乱数生成手段により生成された第１の乱数に基づいて前記記憶手段に記憶されている複数の暗号鍵から１つの暗号鍵を選択する第１の選択手段と、前記乱数生成手段により生成された第２の乱数に基づいて前記複数の暗号処理部から１つの暗号処理部を選択する第２の選択手段と、前記第１の選択手段により選択された暗号鍵を用いて、前記第２の選択手段により選択された暗号処理部によりデータを暗号化する暗号化手段と、前記暗号化手段により暗号化された暗号化データを記憶する不揮発性メモリとを有する。
【発明の効果】
【０００８】
この発明の一形態によれば、高レベルのセキュリティを有する携帯可能電子装置を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、この発明の実施の形態について図面を参照して説明する。  
まず、第１の実施の形態について説明する。  
図１は、本第１の実施の形態に係る携帯可能電子装置（ＩＣカード）２００との通信機能を有する外部装置としてのＩＣカード処理装置１００の構成例を概略的に示すブロック図である。  
上記ＩＣカード処理装置１００は、端末装置１１０、ディスプレイ１２０、キーボード１３０、テンキー１４０、及び、カードリーダライタ１５０などを有している。
【００１０】
上記端末装置１１０は、ＣＰＵ、種々のメモリ及び各種インターフェースなどを有する装置により構成され、ＩＣカード処理装置１００全体の動作を制御するものである。上記端末装置１１０は、上記カードリーダライタ１５０によりＩＣカード２００へコマンドを送信する機能、ＩＣカード２００から受信したデータを基に種々の処理を行う機能などを有している。  
たとえば、上記端末装置１１０は、カードリーダライタ１５０を介してＩＣカード２００にデータの書き込みコマンドを送信することによりＩＣカード２００内の不揮発性メモリにデータを書き込む。また、上記端末装置１１０は、ＩＣカード２００に読み取りコマンドを送信することによりＩＣカード２００からデータを読み出す。
【００１１】
上記ディスプレイ１２０は、上記端末装置１１０の制御により種々の情報を表示する表示装置である。上記キーボード１３０は、当該ＩＣカード処理装置１００の操作員が操作する操作部として機能し、操作員により種々の操作指示やデータなどが入力される。上記テンキー１４０は、数字を入力する為の入力部として機能する。  
上記カードリーダライタ１５０は、上記ＩＣカード２００との通信を行うためのインターフェース装置である。上記カードリーダライタ１５０では、上記ＩＣカード２００に対する電源供給、クロック供給、リセット制御、データの送受信が行われるようになっている。このような機能によってカードリーダライタ１５０は、上記端末装置１１０による制御に基づいて上記ＩＣカード２００の活性化（起動）、種々のコマンドの送信、及び送信したコマンドに対する応答の受信などを行なう。
【００１２】
次に、上記ＩＣカード２００について説明する。  
上記ＩＣカード２００は、上記ＩＣカード処理装置１００などの上位機器から電力などの供給を受けた際、活性化される（動作可能な状態になる）ようになっている。例えば、上記ＩＣカード２００が接触式通信によりＩＣカード処理装置１００と接続される場合、つまり、ＩＣカード２００が接触式のＩＣカードで構成される場合、上記ＩＣカード２００は、通信インターフェースとしての通信インターフェース２２０を介してＩＣカード処理装置１００からの動作電源及び動作クロックの供給を受けて活性化される。
【００１３】
また、上記ＩＣカード２００が非接触式の通信方式によりＩＣカード処理装置１００と接続される場合、つまり、上記ＩＣカード２００が非接触式のＩＣカードで構成される場合、上記ＩＣカード２００は、通信インターフェースとしてのアンテナ及び通信制御部などを介してＩＣカード処理装置１００からの電波を受信し、その電波から図示しない電源部により動作電源及び動作クロックを生成して活性化するようになっている。
【００１４】
次に、上記ＩＣカード２００の構成例について説明する。
【００１５】
図２は、本第１の実施の形態に係るＩＣカード２００の構成例を概略的に示すブロック図である。上記ＩＣカード２００は、本体２０１を構成する筐体内にモジュール２０２が内蔵されている。上記モジュール２０２は、１つまたは複数のＩＣチップ２０３と通信用の外部インターフェース（通信インターフェース）とが接続された状態で一体的に形成され、ＩＣカード２００の本体２０１内に埋設されている。また、上記ＩＣカード２００のモジュール２０２は、図２に示すように、制御部２１０、通信インターフェース２２０、ＲＯＭ２３０、ＲＡＭ２４０、不揮発性メモリ２５０、乱数生成部２６０、及び暗号復号部２７０を有してしている。
【００１６】
上記制御部２１０は、当該ＩＣカード２００全体の制御を司るものである。上記制御部２１０は、上記ＲＯＭ２３０あるいは上記不揮発性メモリ２５０に記憶されている制御プログラムや制御データに基づいて動作することにより、種々の処理手段として機能する。
【００１７】
上記通信インターフェース２２０は、上記ＩＣカード処理装置１００のカードリーダライタ１５０との通信を行うためのインターフェースである。当該ＩＣカード２００が接触式のＩＣカードとして実現される場合、通信インターフェース２２０は、上記ＩＣカード処理装置１００のカードリーダライタ１５０と接触して信号の送受信を行うための通信制御部と外部インターフェースとしてのコンタクト部とにより構成される。また、当該ＩＣカード２００が非接触式のＩＣカードとして実現される場合、通信インターフェース２２０は、上記ＩＣカード処理装置１００のカードリーダライタ１５０との無線通信を行うための通信制御部と外部インターフェースとしてのアンテナとにより構成される。
【００１８】
上記ＲＯＭ２３０は、予め制御用のプログラムや制御データなどが記憶されている不揮発性のメモリである。上記ＲＯＭ２３０は、製造段階で制御プログラムや制御データなどが記憶された状態でＩＣカード２００内に組み込まれるものである。つまり、上記ＲＯＭ２３０に記憶されている制御プログラムや制御データは、予め当該ＩＣカード２００の仕様に応じて組み込まれる。  
上記ＲＡＭ２４０は、ワーキングメモリとして機能する揮発性のメモリである。また、上記ＲＡＭ２４０は、制御部２１０が処理中のデータなどを一時保管するバッファとしても機能する。例えば、上記ＲＡＭ２４０は、上記通信インターフェース２２０を介してＩＣカード処理装置１００から受信したデータを一時保管するようになっている。
【００１９】
上記不揮発性メモリ２５０は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどの、データの書き込み及び書換えが可能な不揮発性のメモリにより構成される。上記不揮発性メモリ２５０には、当該ＩＣカード２００の運用用途に応じて制御プログラムや種々のデータが書込まれる。たとえば、上記不揮発性メモリ２５０では、プログラムファイルやデータファイルなどが定義され、それらのファイルに制御プログラムや種々のデータが書き込まれる。  
上記乱数生成部２６０は、乱数を生成するものである。上記乱数生成部２６０は、上記制御部２１０からの指示に応じて乱数を生成するようになっている。上記乱数生成部２６０は、たとえば、制御部２１０に乱数を生成させるためのプログラムにより構成するようにしても良い。
【００２０】
ここでは、上記ＲＯＭ２３０あるいは不揮発性メモリ２５０には、暗号化及び復号の処理に用いられる複数の暗号鍵情報（以下、単に、暗号鍵とも称する）を記憶しているものとする。各暗号鍵は、数字または文字列などにより構成される認証用の情報である。また、上記ＲＯＭ２３０あるいは不揮発性メモリ２５０に記憶される複数の暗号鍵には、それぞれ、各暗号鍵を識別するための識別情報としての暗号鍵インデックスが付加されているものとする。なお、以下の説明では、ＲＯＭ２３０に複数の暗号鍵が記憶されているものとする。
【００２１】
また、上記制御部２１０では、上記乱数生成部２６０により生成された乱数に基づいて、暗号鍵を特定する機能を有している。すなわち、上記制御部２１０では、乱数に応じて暗号鍵インデックスを決定し、当該暗号鍵インデックスに対応する暗号鍵を判定するようになっている。
【００２２】
たとえば、ＩＣカード処理装置１００からのデータの書き込みコマンドを受信した場合、上記制御部２１０は、上記乱数生成部２６０により乱数Ｒを生成する。上記乱数生成部２６０により乱数Ｒを生成すると、上記制御部２１０は、当該乱数Ｒに応じて暗号鍵インデックスを決定する。当該乱数Ｒに応じた暗号鍵インデックスを決定すると、上記制御部２１０は、当該暗号鍵インデックスに対応する暗号鍵ＫＲを特定する。このように乱数Ｒに基づいて暗号鍵ＫＲを特定すると、上記制御部２１０は、当該暗号鍵ＫＲと上記書込みコマンドに応じて不揮発性メモリ２５０に書込むべきデータとを暗号復号部２７０へ供給する。これにより、上記暗号復号部２７０は、暗号鍵ＫＲを用いて不揮発性メモリ２５０に書込むべきデータを暗号化する。この暗号化されたデータ（暗号化データ）が、上記不揮発性メモリ２５０に書込まれる。この際、不揮発性メモリ２５０には、当該暗号化データに対応づけて暗号鍵ＫＲを特定するための乱数Ｒが記憶されるようになっている。
【００２３】
また、読出しコマンドに応じて上記不揮発性メモリ２５０に記憶されている暗号化データを読み出す場合、上記制御部２１０は、当該暗号化データに対応する乱数Ｒが読み出し、当該乱数Ｒに対応する暗号鍵インデックスを特定する。暗号鍵インデックスが特定されると、上記制御部２１０は、当該暗号鍵インデックスに対応する暗号鍵ＫＲを特定する。暗号鍵ＫＲが特定されると、上記制御部２１０は、暗号鍵ＫＲと上記読出しコマンドに応じて読み出すべき暗号化データとを上記暗号復号部２７０に供給する。これにより、上記暗号復号部２７０では、当該暗号鍵ＫＲを用いて暗号化データを復号化する。この復号化されたデータが、上記読出しコマンドに応じて外部へ出力されるデータとなる。
【００２４】
なお、上記不揮発性メモリ２５０に書込むデータの暗号化は、データのセットであるファイル毎、あるいは、不揮発性メモリ２５０における所定のアドレス毎で区切られる各ブロックに記憶するデータ毎に行うようにしても良い。これらの場合、上記制御部２１０は、データのセットであるファイル毎、あるいは、不揮発性メモリ２５０における所定のアドレス毎で区切られる各ブロックに記憶するデータ毎に、乱数Ｒを生成し、乱数Ｒに基づいて暗号鍵を設定するようになっている。
【００２５】
図３は、上記ＲＯＭ２３０（あるいは不揮発性メモリ２５０）に記憶される複数の暗号鍵を示す図である。なお、図３に示す暗号鍵群２３１は、これらの複数の暗号鍵を模式的に示したものである。  
図３に示すように、上記ＲＯＭ２３０には、複数の暗号鍵（暗号鍵Ａ、暗号鍵Ｂ、暗号鍵Ｃ、…）が暗号鍵インデックスに対応づけて記憶されている。図１に示す例では、暗号鍵Ａ、暗号鍵Ｂ、暗号鍵Ｃ、…に対して、それぞれ「０１」、「０２」、「０３」、…という暗号インデックスが対応づけて記憶されている。つまり、上記ＲＯＭ２３０に記憶されている暗号鍵は、暗号インデックスにより特定されるようになっている。
【００２６】
次に、上記ＩＣカード２００に用いられる不揮発性メモリ２５０に記憶されるデータの構成について説明する。  
図４は、上記不揮発性メモリ２５０に記憶されるデータの構成例を示す図である。  
図４に示す例では、上記不揮発性メモリ２５０には、各データ２５２が暗号鍵のインデックスデータ２５１に対応づけて記憶されている。  
上記各暗号鍵のインデックスデータ２５１は、対応する各データを暗号化するために用いられた暗号鍵を特定するための情報である。つまり、上記各暗号鍵のインデックスデータ２５１としては、ＲＯＭ２３０に記憶されている暗号鍵を特定するための乱数Ｒあるいは暗号鍵インデックスである。従って、上記制御部２１０は、暗号鍵のインデックスデータ２５１により対応するデータを暗号化するために用いられた暗号鍵を特定することができるようになっている。また、各暗号鍵のインデックスデータ２５１は、たとえば、１つのデータのセットである１ファイル毎のデータ、あるいは、所定のアドレス毎に区切られる上記不揮発性メモリ上の各ブロック毎のデータに対して設定されている。なお、図４に示す例では、各ファイル毎のデータ２５２に対して暗号鍵のインデックスデータ２５１が設定されているものとする。
【００２７】
また、図４に示す例では、各暗号鍵のインデックスデータ２５１に対応するデータ２５２として、複数の管理データのファイルと複数のアプリケーションデータのファイルとが記憶されている状態を示している。これらの各データ２５２は、それぞれ対応する暗号鍵のインデックスデータ２５１により特定される暗号鍵で暗号化された状態となっている。従って、各データ２５２を読み出すためには、対応する暗号鍵のインデックスデータ２５１により特定される暗号鍵で復号化することが必要となる。
【００２８】
なお、上記管理データは、アプリケーションデータにアクセスする為の情報であり、アプリケーションデータと対になって構成されている。各管理データは、たとえば、対応するアプリケーションデータのアドレス、およびバイト数を示す情報などで構成される。各アプリケーションデータは、プログラムファイルやプログラムで使用されるデータファイルなどである。
【００２９】
次に、上記のように構成されるＩＣカード２００におけるデータ書込み処理について説明する。  
図５は、上記ＩＣカード２００におけるデータ書き込みコマンドに対する動作例を説明するためのフローチャートである。  
まず、上記ＩＣカード処理装置１００からの電源供給、動作クロック信号およびリセット信号等を受けて、上記ＩＣカード２００が活性化された状態であるものとする。この状態において、上記ＩＣカード処理装置１００からデータ書き込みコマンドと書き込むべきデータ（元データ）がＩＣカード２００へ送信されたものとする。
【００３０】
上記ＩＣカード２００では、ＩＣカード処理装置１００からのデータ書き込みコマンドと元データを通信インターフェース２２０により受信する。すると、上記ＩＣカード２００の制御部２１０は、元データのファイル毎に乱数を生成するように乱数生成部２６０へ指示を出す（ステップＳ１１）。乱数生成部２６０は、上記制御部２１０からの指示に基いて乱数Ｒを生成し、制御部２１０へ送信する（ステップＳ１２）。
【００３１】
上記乱数生成部２６０から乱数Ｒを受信すると、上記制御部２１０は、受信した乱数Ｒを暗号鍵インデックスとして用いられている桁数に変換することにより、乱数Ｒに応じた暗号鍵インデックスを特定する。上記乱数Ｒに応じた暗号鍵インデックスを特定すると、上記制御部２１０は、当該暗号鍵インデックスに対応する暗号鍵ＫＲを特定する（ステップＳ１３）。乱数Ｒに応じた暗号鍵インデックスを特定すると、上記制御部２１０は、特定した暗号鍵インデックスに対応する暗号鍵ＫＲをＲＯＭ２３０から読み込む（ステップＳ１４）。これにより、上記制御部２１０では、乱数生成部２６０により生成された乱数Ｒに応じた暗号鍵ＫＲを取得することとなる。
【００３２】
上記乱数Ｒに基づいて暗号鍵ＫＲを取得すると、上記制御部２１０は、取得した暗号鍵ＫＲと元データとを暗号復号部２７０へ送信し、暗号化を行なうように暗号復号部２７０へ指示する。上記制御部２１０から暗号化の要求を受けた暗号復号部２７０は、指定された暗号鍵ＫＲと所定の暗号方式とを用いて、元データを暗号化する（ステップＳ１５）。上記暗号復号部２７０により暗号化されたデータ（暗号化データ）は、上記制御部２１０の制御によりデータ２５２として不揮発性メモリ２５０に書き込まれる（ステップＳ１６）。上記不揮発性メモリ２５０に暗号化データ２５２を書込むと、上記制御部２１０は、さらに、当該暗号化データ２５２の暗号化に用いた暗号鍵ＫＲを選択するために用いた乱数Ｒあるいは暗号鍵インデックスを、当該暗号化データ２５２の暗号鍵のインデックスデータ２５１として、不揮発性メモリ２５０に書き込み（ステップＳ１７）、処理を終了する。
【００３３】
上記のように、第１の実施の形態のデータ書込処理では、制御部２１０は、乱数Ｒに応じて暗号鍵インデックスを特定し、上記暗号鍵インデックスに対応する暗号鍵ＫＲをＲＯＭ２３０より取得する。暗号復号部２７０は、暗号鍵ＫＲを用いて、所定の暗号方式によりデータを暗号化する。さらに、制御部２１０は、上記暗号復号部２７０により暗号鍵ＫＲを用いて暗号したデータと当該暗号鍵ＫＲを特定するための乱数あるいは乱数から特定された暗号鍵インデックスとを対応づけて不揮発性メモリ２５０に記憶する。  
このようなデータの書込処理によれば、不揮発性メモリに記憶するデータを暗号化するために用いる暗号鍵を乱数に基づいて選択する為、元データおよび暗号鍵の推定を困難にすることができる。この結果として、上記したデータ書込み処理によれば、高レベルのセキュリティを有する携帯可能電子装置を提供することができる。
【００３４】
次に、上記ＩＣカード２００におけるデータの読出し処理について説明する。  
図６は、上記ＩＣカード２００におけるデータ読み出しコマンドに対する動作例を説明するためのフローチャートである。  
まず、上記ＩＣカード処理装置１００からの電源供給、動作クロック信号およびリセット信号等を受けて上記ＩＣカード２００が活性化された状態であるものとする。この状態において、上記ＩＣカード処理装置１００からデータ読み出しコマンドが上記ＩＣカード２００へ送信されたものとする。この読み出しコマンドでは、読み出すべきデータ（暗号化データ）の先頭アドレスおよびデータ長などが指定されているものとする。
【００３５】
上記ＩＣカード２００では、上記ＩＣカード処理装置１００からのデータ読み出しコマンドを上記通信インターフェース２２０により受信する。すると、上記ＩＣカード２００の制御部２１０は、当該読み出しコマンドで指定されている先頭アドレスとデータ長とに基いて、上記不揮発性メモリ２５０に記憶されている暗号化データにアクセスする（ステップＳ２１）。上記制御部２１０は、アクセスした暗号化データの暗号鍵のインデックスデータ２５１から乱数Ｒを読み出す（ステップＳ２２）。
【００３６】
上記暗号鍵のインデックスデータ２５１から乱数Ｒを読み出すと、上記制御部２１０は、読み出した乱数Ｒを暗号鍵インデックスとして用いられている桁数に変換することにより、乱数Ｒに応じた暗号鍵インデックスを特定する。上記乱数Ｒに応じた暗号鍵インデックスを特定すると、上記制御部２１０は、当該暗号鍵インデックスに対応する暗号鍵ＫＲを特定する（ステップＳ２３）。乱数Ｒに応じた暗号鍵インデックスを特定すると、上記制御部２１０は、特定した暗号鍵インデックスに対応する暗号鍵ＫＲをＲＯＭ２３０から読み込む（ステップＳ２４）。これにより、上記制御部２１０では、乱数生成部２６０により生成された乱数Ｒに応じた暗号鍵ＫＲを取得することとなる。
【００３７】
上記乱数Ｒに基づいて暗号鍵ＫＲを取得すると、上記制御部２１０は、上記不揮発性メモリ２５０から暗号化データを読み出す（ステップＳ２５）。暗号化データを読み出すと、上記制御部２１０は、取得した暗号鍵ＫＲと読み出した暗号化データとを暗号復号部２７０へ送信し、復号化を行なうように指示する。上記制御部２１０から復号化の要求を受けた暗号復号部２７０は、指定された暗号鍵ＫＲと所定の暗号方式とを用いて、暗号化データを復号化する（ステップＳ２６）。上記暗号復号部２７０により復号化されたデータ（元データ）は、上記制御部２１０の制御により通信インターフェース２２０を介し、上記ＩＣカード処理装置１００へ送信され（ステップＳ２７）、処理を終了する。
【００３８】
上記のように、第１の実施の形態のデータ読出処理では、制御部２１０は、暗号化データ２５２の暗号鍵のインデックスデータ２５１から乱数Ｒを読み出し、乱数Ｒに応じて暗号鍵インデックスを特定し、上記暗号鍵インデックスに対応する暗号鍵ＫＲをＲＯＭ２３０より取得する。暗号復号部２７０は、暗号鍵ＫＲを用いて、所定の暗号方式によりデータを復号化する。さらに、制御部２１０は、復号化されたデータを通信インターフェースを介して読み出しコマンドの送信元に出力する。  
このようなデータ読出処理によれば、暗号化されて不揮発性メモリに記憶されている暗号化データを復号化するのに用いる暗号鍵を当該暗号化データに対応づけて記憶されている乱数に基づいて選択する構成となっている為、元データ及び暗号鍵の推定を困難にすることができる。この結果として、上記したデータ読出処理によれば、高レベルのセキュリティを有する携帯可能電子装置を提供することができる。
【００３９】
次に、第２の実施の形態にについて説明する。  
図７は、本第２の実施の形態に係るＩＣカード３００の構成例を概略的に示すブロック図である。なお、図７に示すＩＣカード３００は、たとえば、図１に示すようなＩＣカードシステムに用いられるものとする。また、ＩＣカード３００については、図７に示すように、図２に示すＩＣカード２００と同一の部分には同一の参照符号を付し、詳細な説明は省略する。  
上記ＩＣカード３００は、図２に示すＩＣカード２００と比較すると、暗号復号部２７０に替えて暗号復号部３７０が設けられている。上記暗号復号部３７０では、種々の暗号方式による暗号化および復号化を行う機能を有している。また、上記暗号復号部３７０では、種々の暗号方式による暗号化および復号化を各暗号鍵によって行うようになっている。なお、本第２の実施の形態では、説明を簡単化するため、上記暗号復号部３７０が実現する種々の暗号方式は、ＤＥＳ方式、ＡＥＳ方式などの共通鍵暗号方式であることを想定している。
【００４０】
図８は、上記暗号復号部３７０の構成例を示す図である。  
図８に示すように、上記ＩＣカード３００の暗号復号部３７０は、さらに、暗号化及び復号化の方式である複数の異なる暗号方式による処理を行うための複数の暗号処理部３７１（３７１ａ、３７１ｂ、３７１ｃ、…）と、鍵適合化部３７２とを有している。暗号方式Ａの暗号処理部３７１ａ、暗号方式Ｂの暗号処理部３７１ｂ、暗号方式Ｃの暗号処理部３７１ｃ、…には、それぞれ暗号方式インデックスが付加されている。上記暗号方式インデックスは、暗号方式を特定するための識別情報である。
【００４１】
また、各暗号処理部３７１の各暗号方式は、その種類によって必要とする暗号鍵のビット数が異なることがある。そこで、鍵適合化部３７２は、暗号鍵のビット数を、使用する暗号方式の暗号鍵に適するビット数に変換するようになっている。なお、本第２の実施形態では、各暗号鍵は、各暗号方式で用いる暗号鍵の中で最長のビット数を有するものとする。つまり、各暗号鍵は、上記鍵適合化部３７２により各暗号方式で使用可能な暗号鍵に変換されるようになっている。
【００４２】
また、上記ＩＣカード３００の制御部２１０では、上記第１の実施の形態と同様に、上記乱数生成部２６０により生成された乱数Ｒに基づいて暗号鍵を特定する機能を有している。さらに、上記ＩＣカード３００の制御部２１０では、上記乱数生成部２６０により生成された乱数ｒに基づいて暗号方式を特定する機能を有している。すなわち、上記ＩＣカード３００の制御部２１０では、乱数Ｒに応じて暗号鍵インデックスを決定することにより暗号鍵を特定するとともに、乱数ｒに応じて暗号方式インデックスを決定することにより暗号方式を特定するようになっている。
【００４３】
たとえば、ＩＣカード処理装置１００からのデータの書き込みコマンドを受信した場合、上記制御部２１０は、上記乱数生成部２６０により乱数Ｒと乱数ｒとを生成する。すると、上記制御部２１０は、上記乱数Ｒに応じて暗号鍵インデックスを決定するとともに、上記乱数ｒに応じて暗号方式インデックスを決定する。暗号鍵インデックスを決定すると、上記制御部２１０は、上記暗号鍵インデックスに対応する暗号鍵ＫＲを特定する。暗号鍵ＫＲを特定すると、上記制御部２１０は、上記暗号鍵ＫＲと暗号方式インデックスと上記書込みコマンドに応じて不揮発性メモリ２５０に書込むべきデータとを暗号復号部３７０へ供給する。これにより、上記暗号復号部３７０は、暗号方式インデックスに応じて暗号方式（暗号処理部）を選択し、鍵適合化部３７２により暗号鍵ＫＲのビット数を選択した暗号方式に応じたビット数に変換し、その後、選択した暗号方式の暗号処理部３７１により上記暗号鍵ＫＲを用いて不揮発性メモリ２５０に書込むべきデータを暗号化する。この暗号化されたデータ（暗号化データ）が、上記不揮発性メモリ２５０に書込まれる。この際、不揮発性メモリ２５０には、暗号鍵ＫＲを特定するための乱数Ｒおよび暗号方式ＣＡＬＣｒを特定するための乱数ｒとが当該暗号化データに対応づけて記憶されるようになっている。
【００４４】
また、上記不揮発性メモリ２５０に記憶されている暗号化データを読出しコマンドに応じて読み出す場合、上記ＩＣカード３００の制御部２１０は、当該暗号化データに対応する乱数Ｒおよび乱数ｒを読み出し、乱数Ｒに対応する暗号鍵インデックスおよび乱数ｒに対応する暗号方式インデックスとを特定する。暗号鍵インデックスを特定すると、上記制御部２１０は、暗号鍵インデックスに応じた暗号鍵ＫＲを特定する。暗号鍵ＫＲが特定されると、上記制御部２１０は、上記暗号鍵ＫＲと暗号方式インデックスと上記読出しコマンドに応じて不揮発性メモリ２５０から読み出すべきデータ（暗号化データ）とを暗号復号部３７０へ供給する。これにより、上記暗号復号部３７０は、暗号方式インデックスに応じて暗号方式（暗号処理部）を選択し、鍵適合化部３７２により暗号鍵ＫＲのビット数を選択した暗号方式に応じたビット数に変換し、その後、選択した暗号処理部３７１により上記暗号鍵ＫＲを用いて不揮発性メモリ２５０から読み出すべき暗号化データを復号化する。この復号化されたデータが、上記読出しコマンドに応じて外部へ出力すべきデータである。
【００４５】
なお、上記不揮発性メモリ２５０に書込むデータの暗号化は、データのセットであるファイル毎、あるいは、不揮発性メモリ２５０における所定のアドレス毎で区切られる各ブロックに記憶するデータ毎に行うようにしても良い。これらの場合、上記制御部２１０は、データのセットであるファイル毎、あるいは、不揮発性メモリ２５０における所定のアドレス毎で区切られる各ブロックに記憶するデータ毎に、乱数Ｒ及び乱数ｒを生成し、乱数Ｒに基づいて暗号鍵を設定するとともに、乱数ｒに応じて暗号方式を設定するようになっている。
【００４６】
次に、上記ＩＣカード３００の不揮発性メモリ２５０に記憶されるデータの構成について説明する。  
図９は、上記ＩＣカード３００の不揮発性メモリ２５０に記憶されるデータの構成例を示す図である。  
図９に示す例では、上記不揮発性メモリ２５０には、各データ２５２が暗号鍵のインデックスデータ２５１と暗号方式のインデックスデータ２５３とに対応づけて記憶されている。  
上記各暗号鍵のインデックスデータ２５１は、上記第１の実施形態で説明したように、対応するデータ２５２を暗号化するために用いられた暗号鍵を特定するための識別情報である。上記制御部２１０は、暗号鍵のインデックスデータ２５１により対応するデータを暗号化するために用いられた暗号鍵を特定することができるようになっている。また、上記暗号方式のインデックスデータ２５３は、対応するデータ２５２を暗号化するための暗号方式を特定するための識別情報である。上記制御部２１０は、暗号方式のインデックスデータ２５３により対応するデータを暗号化するために用いた暗号方式を特定することができるようになっている。
【００４７】
すなわち、図９に示すような構成の各データ２５２は、暗号鍵のインデックスデータ２５１で暗号鍵が特定され、暗号方式のインデックスデータ２５３で暗号方式が特定されることができるようになっている。
【００４８】
また、各データ２５２としては、たとえば、上記第１の実施の形態と同様に、１つのデータのセットである１ファイル毎のデータ、あるいは、所定のアドレス毎に区切られる上記不揮発性メモリ上の各ブロック毎のデータであることを想定している。つまり、１ファイル毎のデータ２５２、あるいは、所定のアドレス毎に区切られる各ブロック毎のデータ２５２には、暗号鍵のインデックスデータ２５１と暗号方式のインデックスデータ２５３とが設定されている。なお、図９に示す例では、各ファイル毎のデータ２５２に対して暗号鍵のインデックスデータ２５１と暗号方式のインデックスデータ２５３が設定されているものとする。
【００４９】
次に、上記ＩＣカード３００におけるデータ書込み処理について説明する。  
図１０は、上記ＩＣカード３００におけるデータ書き込みコマンドに対する動作例を説明するためのフローチャートである。  
まず、上記ＩＣカード処理装置１００からの電源供給、動作クロック信号およびリセット信号等を受けて、上記ＩＣカード３００が活性化された状態であるものとする。この状態において、上記ＩＣカード処理装置１００からデータ書き込みコマンドと書き込むべきデータ（元データ）がＩＣカード３００へ送信されたものとする。
【００５０】
上記ＩＣカード３００では、ＩＣカード処理装置１００からのデータ書き込みコマンドと元データを通信インターフェース２２０により受信する。すると、上記ＩＣカード３００の制御部２１０は、元データのファイル毎に乱数を生成するように乱数生成部２６０へ指示を出す（ステップＳ３１）。乱数生成部２６０は、上記制御部２１０からの指示に基いて乱数Ｒを生成し、制御部２１０へ送信する（ステップＳ３２）。
【００５１】
上記乱数生成部２６０から乱数Ｒを受信すると、上記制御部２１０は、受信した乱数Ｒを暗号鍵インデックスとして用いられている桁数に変換することにより、乱数Ｒに応じた暗号鍵インデックスを特定する。上記乱数Ｒに応じた暗号鍵インデックスを特定すると、上記制御部２１０は、当該暗号鍵インデックスに対応する暗号鍵ＫＲを特定する（ステップＳ３３）。乱数Ｒに応じた暗号鍵インデックスを特定すると、上記制御部２１０は、特定した暗号鍵インデックスに対応する暗号鍵ＫＲをＲＯＭ２３０から読み込む（ステップＳ３４）。これにより、上記制御部２１０では、乱数生成部２６０により生成された乱数Ｒに応じた暗号鍵を取得することとなる。
【００５２】
次に、乱数生成部２６０は、上記制御部２１０からの指示に基いて乱数ｒを生成し、制御部２１０へ送信する（ステップＳ３５）。上記乱数生成部２６０から乱数ｒを受信すると、上記制御部２１０は、受信した乱数ｒを暗号方式インデックスとして用いられている桁数に変換することにより、乱数ｒに応じた暗号方式インデックスを特定する（ステップＳ３６）。上記乱数ｒに基づいて暗号方式インデックスを特定すると、上記制御部２１０は、取得した暗号鍵ＫＲと元データと特定した暗号方式インデックスを上記暗号復号部３７０へ送信し、暗号化を行なうように上記暗号復号部３７０へ指示する。
【００５３】
上記暗号復号部３７０は、受信した暗号方式インデックスに応じて暗号処理部３７１を選択する。上記暗号処理部３７１を選択すると、鍵適合化部３７２は、選択した上記暗号処理部３７１の暗号鍵に適するビット数に変換し、暗号鍵の適合化を行う（ステップＳ３７）。暗号鍵の適合化を行うと、上記暗号復号部３７０は、適合化した暗号鍵ＫＲと選択した上記暗号処理部３７１とを用いて、元データを暗号化する（ステップＳ３８）。上記暗号復号部３７０により暗号化されたデータ（暗号化データ）は、上記制御部２１０の制御によりデータ２５２として不揮発性メモリ２５０に書き込まれる（ステップＳ３９）。
【００５４】
上記不揮発性メモリ２５０に暗号化データを書込むと、上記制御部２１０は、さらに、当該暗号化データの暗号化に用いた暗号鍵ＫＲを選択するために用いた乱数Ｒを、当該暗号化データの暗号鍵のインデックスデータ２５１として、不揮発性メモリ２５０に書き込む（ステップＳ４０）。また、上記制御部２１０は、当該暗号化データの暗号化に用いた上記暗号処理部３７１を選択するために用いた乱数ｒを、当該暗号化データの暗号方式のインデックスデータ２５３として、不揮発性メモリ２５０に書き込み（ステップＳ４１）、処理を終了する。
【００５５】
上記のように、第２の実施の形態のデータ書込処理では、制御部２１０は、乱数Ｒに応じて暗号鍵インデックスを特定し、上記暗号鍵インデックスに対応する暗号鍵ＫＲをＲＯＭ２３０より取得する。また、制御部２１０は、乱数ｒに応じて暗号方式インデックスを特定する。暗号復号部３７０は、特定した暗号方式インデックスに対応する暗号処理部３７１を選択する。暗号復号部３７０は、暗号鍵ＫＲを用いて、選択した暗号処理部３７１によりデータを暗号化する。さらに、制御部２１０は、上記暗号処理部３７１により暗号化されたデータと暗号鍵ＫＲを特定するための乱数Ｒと暗号方式を特定するための乱数ｒとを対応づけて不揮発性メモリ２５０に書込む。
【００５６】
このようなデータの書込み処理によれば、不揮発性メモリに書込むデータを暗号化するために用いる暗号鍵と暗号方式とをそれぞれ乱数に基づいて選択する為、元データ及び暗号鍵の推定をより困難にすることができる。この結果として、上記のようなデータの書込み処理によれば、高レベルのセキュリティを有する携帯可能電子装置を提供することができる。
【００５７】
次に、上記ＩＣカード３００におけるデータの読出し処理について説明する。  
図１１は、上記ＩＣカード３００におけるデータ読み出しコマンドに対する動作例を説明するためのフローチャートである。  
まず、上記ＩＣカード処理装置１００からの電源供給、動作クロック信号およびリセット信号等を受けて上記ＩＣカード３００が活性化された状態であるものとする。この状態において、上記ＩＣカード処理装置１００からデータ読み出しコマンドが上記ＩＣカード３００へ送信されたものとする。この読み出しコマンドでは、読み出すべきデータ（暗号化データ）の先頭アドレスとデータ長とが指定されている。
【００５８】
上記ＩＣカード３００では、上記ＩＣカード処理装置１００からのデータ読み出しコマンドを上記通信インターフェース２２０により受信する。すると、上記ＩＣカード３００の制御部２１０は、当該読出しコマンドで指定されている先頭アドレスとデータ長とに基づいて、上記不揮発性メモリ２５０に記憶されている暗号化データ２５２にアクセスする（ステップＳ５１）。上記制御部２１０は、アクセスした暗号化データ２５２に対応する暗号鍵のインデックスデータ２５１から乱数Ｒを読み出す（ステップＳ５２）。
【００５９】
上記暗号鍵のインデックスデータ２５１から乱数Ｒを読み出すと、上記制御部２１０は、読み出した乱数Ｒを暗号鍵インデックスとして用いられている桁数に変換することにより、乱数Ｒに応じた暗号鍵インデックスを特定する。上記乱数Ｒに応じた暗号鍵インデックスを特定すると、上記制御部２１０は、当該暗号鍵インデックスに対応する暗号鍵ＫＲを特定する（ステップＳ５３）。乱数Ｒに応じた暗号鍵インデックスを特定すると、上記制御部２１０は、特定した暗号鍵インデックスに対応する暗号鍵ＫＲをＲＯＭ２３０から読み込む（ステップＳ５４）。これにより、上記制御部２１０では、乱数生成部２６０により生成された乱数Ｒに応じた暗号鍵を取得することとなる。
【００６０】
また、上記制御部２１０は、アクセスした暗号化データ２５２の暗号方式のインデックスデータ２５３から乱数ｒを読み出す（ステップＳ５５）。上記暗号方式のインデックスデータ２５３から乱数ｒを読み出すと、上記制御部２１０は、読み出した乱数ｒを暗号方式インデックスとして用いられている桁数に変換することにより、乱数ｒに応じた暗号方式インデックスを特定する（ステップＳ５６）。
【００６１】
上記乱数ｒに基づいて暗号方式インデックスを特定すると、上記制御部２１０は、上記不揮発性メモリ２５０から暗号化データを読み出す（ステップＳ５７）。暗号化データを読み出すと、上記制御部２１０は、取得した暗号鍵ＫＲと特定した暗号方式インデックスと読み出した暗号化データとを暗号復号部３７０へ送信し、復号化を行なうように暗号復号部３７０へ指示する。
【００６２】
上記暗号復号部３７０は、受信した暗号方式インデックスに応じて暗号処理部３７１を選択する。上記暗号処理部３７１を選択すると、鍵適合化部３７２は、暗号鍵ＫＲを選択した上記暗号処理部３７１の暗号方式に対応する暗号鍵に適するビット数に変換することにより暗号鍵ＫＲの適合化を行う（ステップＳ５８）。暗号鍵の適合化を行うと、上記暗号復号部３７０は、適合化した暗号鍵ＫＲと選択した上記暗号処理部３７１とを用いて、暗号化データを復号化する（ステップＳ５９）。上記暗号復号部３７０により復号化されたデータ（元データ）は、上記制御部２１０の制御により通信インターフェース２２０を介し、上記ＩＣカード処理装置１００へ送信され（ステップＳ６０）、処理を終了する。
【００６３】
上記のように、第２の実施の形態のデータ読出処理では、制御部２１０は、暗号化データ２５２に対応する暗号鍵のインデックスデータ２５１から乱数Ｒ（あるいは暗号鍵インデックス）を読み出し、暗号方式のインデックスデータ２５３から乱数ｒ（あるいは暗号方式のインデックス）を読み出す。制御部２１０は、乱数Ｒに応じて暗号鍵インデックスを特定し、上記暗号鍵インデックスに対応する暗号鍵ＫＲをＲＯＭ２３０より取得する。また、制御部２１０は、乱数ｒに応じて暗号方式インデックスを特定する。暗号復号部３７０は、特定した暗号方式インデックスに対応する暗号処理部３７１を選択する。暗号復号部３７０は、暗号鍵ＫＲを選択した暗号処理部の暗号方式に適合するものに適合化し、適合化した暗号鍵ＫＲを用いて選択した暗号処理部３７１により上記暗号化データを復号化する。  
このようなデータ読出処理によれば、暗号化されて不揮発性メモリに記憶されている暗号化データを復号化するのに用いる暗号鍵と暗号方式とを、当該暗号化データに対応づけて記憶されている乱数（あるいは暗号鍵インデックス及び暗号方式インデックス）に基づいて選択する構成となっている為、元データ及び暗号鍵の推定をより困難にすることができる。この結果として、上記したデータ読出処理によれば、より高レベルのセキュリティを有する携帯可能電子装置を提供することができる。
【００６４】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００６５】
【図１】第１の実施の形態に係るＩＣカードとの通信機能を有する外部装置としてのＩＣカード処理装置の構成例を概略的に示すブロック図である。
【図２】図１に示すＩＣカードにおける構成例を概略的に示すブロック図である。
【図３】図２に示すＲＯＭ若しくは不揮発性メモリに記憶される複数の暗号鍵の例を示す模式的に示す図である。
【図４】図２に示す不揮発性メモリ内に記憶されるデータの構成例を示す図である。
【図５】図２に示すＩＣカードにおけるデータ書き込みコマンドに対するデータ書込処理の例を説明するためのフローチャートである。
【図６】図２に示すＩＣカードにおけるデータ読み出しコマンドに対するデータ読出処理の例を説明するためのフローチャートである。
【図７】第２の実施の形態に係るＩＣカードにおける構成例を概略的に示すブロック図である。
【図８】図７に示す暗号復号部の構成例を示すブロック図である。
【図９】図７に示す不揮発性メモリ内に記憶されるデータの構成例を示す図である。
【図１０】図７に示すＩＣカードにおけるデータ書き込みコマンドに対するデータ書込処理の例を説明するためのフローチャートである。
【図１１】図７に示すＩＣカードにおけるデータ読み出しコマンドに対するデータ読出処理の例を説明するためのフローチャートである。
【符号の説明】
【００６６】
２１０…制御部、２３１…暗号鍵群、２５０…不揮発性メモリ、２６０…乱数生成部、２７０…暗号復号部、３７１…暗号処理部、３７２…鍵適合化部、Ｒ…乱数、ｒ…乱数、ＫＲ…暗号鍵。
【図１】
2008109276.tif 000003
【図２】
2008109276.tif 000004
【図３】
2008109276.tif 000005
【図４】
2008109276.tif 000006
【図５】
2008109276.tif 000007
【図６】
2008109276.tif 000008
【図７】
2008109276.tif 000009
【図８】
2008109276.tif 000010
【図９】
2008109276.tif 000011
【図１０】
2008109276.tif 000012
【図１１】
2008109276.tif 000013