(57)【要約】【課題】この発明は、ＩＣカード２がコマンドを受信してからコマンドに対する処理結果を送信するまでの時間により、外部機器が上記ＩＣカード２内でどの認証アルゴリズムによりコマンドに対する処理を行ったかを推測することを困難にすることができる。【解決手段】この発明は、複数の認証アルゴリズムによる処理時間が一定となるようにダミー処理を各認証アルゴリズムに設定しておき、各認証アルゴリズムによる処理とともに上記ダミー処理を行うようにしたものである。【選択図】    図１
2004206574.tif 000002
【特許請求の範囲】
【請求項１】
外部からコマンドを受信し、受信したコマンドに対する処理結果を送信する携帯可能電子媒体において、
外部からの認証コマンドに対する複数の認証アルゴリズムを記憶する記憶手段と、
前記記憶手段に記憶した各認証アルゴリズムに対応するダミー処理を設定する設定手段と、
前記認証コマンドに対する処理として前記記憶手段に記憶されている認証アルゴリズムによる処理を実行する場合、当該認証アルゴリズムによる処理とともに前記設定手段により設定されている当該アルゴリズムに対応するダミー処理を行う処理手段と、
を具備することを特徴とする携帯可能電子媒体。
【請求項２】
前記設定手段は、前記処理手段による処理時間が一定時間となるように前記記憶手段に記憶されている各認証アルゴリズムに対応するダミー処理を設定する、ことを特徴とする前記請求項１に記載の携帯可能電子媒体。
【請求項３】
前記設定手段は、前記処理手段による処理時間が前記記憶手段に記憶されている各認証アルゴリズムのうち最も処理時間が長い認証アルゴリズムによる処理時間と同等になるように各認証アルゴリズムに対応するダミー処理を設定する、ことを特徴とする前記請求項１に記載の携帯可能電子媒体。
【請求項４】
前記設定手段は、前記認証コマンドに対する処理が任意の処理時間となるように前記記憶手段に記憶されている各認証アルゴリズムに対するダミー処理を設定する、ことを特徴とする前記請求項１に記載の携帯可能電子媒体。
【請求項５】
外部からコマンドを受信し、受信したコマンドに対する処理結果を送信する携帯可能電子媒体において、
外部からの認証コマンドに対する複数の認証アルゴリズムを記憶する記憶手段と、
前記記憶手段に記憶されている各認証アルゴリズムに対応してカウント値を設定する設定手段と、
前記認証コマンドに対する処理として前記記憶手段に記憶されている認証アルゴリズムによる処理を実行する場合、当該認証アルゴリズムによる処理を行うとともに前記設定手段により設定された当該認証アルゴリズムに対するカウント値に応じてダミー処理を行う処理手段と、
を具備することを特徴とする携帯可能電子媒体。
【請求項６】
前記設定手段は、前記処理手段による処理時間が一定時間となるように各認証アルゴリズムに対してカウント値を設定することを特徴とする前記請求項５に記載の携帯可能電子媒体。
【請求項７】
前記設定手段は、前記処理手段による処理時間が前記記憶手段に記憶した各認証アルゴリズムのうち最も処理時間が長い認証アルゴリズムによる処理時間と同等になるように各認証アルゴリズムに対してカウント値を設定することを特徴とする前記請求項５に記載の携帯可能電子媒体。
【請求項８】
前記設定手段は、前記処理手段による処理時間が任意の処理時間となるように任意に選択されたカウント値を各認証アルゴリズムに対するカウント値として設定することを特徴とする前記請求項５に記載の携帯可能電子媒体。
【請求項９】
外部からの認証コマンドに対する複数の認証アルゴリズムを記憶した記憶手段を有する携帯可能電子媒体の認証処理方法であって、
ＩＣカード処理装置からの認証コマンドを受信し、
この受信した認証コマンドに対して実行すべき認証アルゴリズムを判断し、
この判断した認証アルゴリズムに対応するダミー処理を設定し、
前記認証コマンドに対して実行すべき認証アルゴリズムによる処理とともに前記認証アルゴリズムに対応するダミー処理を行い、
前記認証アルゴリズムによる処理と前記ダミー処理とが終了した際、前記認証アルゴリズムによる処理結果を前記ＩＣカード処理装置へ送信する、
ことを特徴とする携帯可能電子媒体の認証処理方法。
【請求項１０】
外部からの認証コマンドに対する複数の認証アルゴリズムを記憶した記憶手段を有する携帯可能電子媒体の認証処理方法であって、
ＩＣカード処理装置からの認証コマンドを受信し、
この受信した認証コマンドに対して実行すべき認証アルゴリズムを判断し、
この判断により判断した認証アルゴリズムに対応するカウント値を設定し、
前記判断した認証アルゴリズムによる処理とともに当該認証アルゴリズムに対応するカウント値に応じたダミー処理を行い、
前記認証アルゴリズムによる処理と前記ダミー処理とが終了した際、前記認証アルゴリズムによる処理結果を前記ＩＣカード処理装置へ送信する、
ことを特徴とする携帯可能電子媒体の認証処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えば、不揮発性メモリなどが内蔵されたＩＣカードと称される携帯可能電子媒体及び前記携帯可能電子媒体の認証処理方法に関する。
【０００２】
【従来の技術】
従来、ＩＣカード処理装置などの上位装置がＩＣカードなどの携帯可能電子媒体を認証する場合、ＩＣカードは、上位装置からの１つの認証コマンドに対して、予め設定されている複数のアルゴリズムを切り替えて処理を実行している。この場合、ＩＣカードで実行される処理は、各アルゴリズムによって処理時間が異なる。これらのアルゴリズムによる処理では、アルゴリズムごとに一定の処理時間となることがある。このため、コマンドに対するＩＣカードでの処理時間に基づいてＩＣカードが実行したアルゴリズムを推測できる。
【０００３】
従って、コマンドに対するＩＣカードでの処理時間が外部装置に測定されると、当該ＩＣカードで実行されたアルゴリズムが変化した事、或は、当該ＩＣカードが複数のアルゴリズムを有していることなどが上記外部装置により容易に推測されてしまう。このように、ＩＣカードで実行したアルゴリズムが変化した事やＩＣカードが有するアルゴリズムなどが外部装置に推測されてしまうことは、セキュリティ上好ましくないという問題点がある。
【０００４】
また、ＩＣカードにて実行されるアルゴリズム毎に処理時間が異なるため、ＩＣカードの処理パフォーマンスは、アルゴリズム毎の処理時間を考慮して検討する必要がある。従って、従来のＩＣカードでは、そのＩＣカードが有している処理パフォーマンスを検討するのに多くの時間を要するという問題点がある。
【０００５】
【発明が解決しようとする課題】
この発明は、上記したように、処理時間により携帯可能電子媒体内で実行した処理のアルゴリズムが推測されてしまうという問題点を解決するもので、携帯可能電子媒体内で実行した処理のアルゴリズムが推測されることを困難にすることができ、セキュリティを向上させることができる携帯可能電子媒体及び前記携帯可能電子媒体の認証処理方法を提供することを目的とする。
【０００６】
また、この発明は、携帯可能電子媒体内で実行される各アルゴリズムの処理時間を一定することができ、携帯可能電子媒体全体としての処理パフォーマンスの検討を簡易化できる携帯可能電子媒体及び前記携帯可能電子媒体の認証処理方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
この発明の携帯可能電子媒体は、外部からコマンドを受信し、受信したコマンドに対する処理結果を送信するものにおいて、外部からの認証コマンドに対する複数の認証アルゴリズムを記憶する記憶手段と、前記記憶手段に記憶した各認証アルゴリズムに対応するダミー処理を設定する設定手段と、前記認証コマンドに対する処理として前記記憶手段に記憶されている認証アルゴリズムによる処理を実行する場合、当該認証アルゴリズムによる処理とともに前記設定手段により設定されている当該アルゴリズムに対応するダミー処理を行う処理手段とを有する。
【０００８】
この発明の携帯可能電子媒体は、外部からコマンドを受信し、受信したコマンドに対する処理結果を送信するものにおいて、外部からの認証コマンドに対する複数の認証アルゴリズムを記憶する記憶手段と、前記記憶手段に記憶されている各認証アルゴリズムに対応してカウント値を設定する設定手段と、前記認証コマンドに対する処理として前記記憶手段に記憶されている認証アルゴリズムによる処理を実行する場合、当該認証アルゴリズムによる処理を行うとともに前記設定手段により設定された当該認証アルゴリズムに対するカウント値に応じてダミー処理を行う処理手段とを有する。
【０００９】
この発明の携帯可能電子媒体の認証処理方法は、外部からの認証コマンドに対する複数の認証アルゴリズムを記憶した記憶手段を有する携帯可能電子媒体に用いられる方法であって、ＩＣカード処理装置からの認証コマンドを受信し、この受信した認証コマンドに対して実行すべき認証アルゴリズムを判断し、この判断した認証アルゴリズムに対応するダミー処理を設定し、前記認証コマンドに対して実行すべき認証アルゴリズムによる処理とともに前記認証アルゴリズムに対応するダミー処理を行い、前記認証アルゴリズムによる処理と前記ダミー処理とが終了した際、前記認証アルゴリズムによる処理結果を前記ＩＣカード処理装置へ送信することを特徴とする。
【００１０】
この発明の携帯可能電子媒体の認証処理方法は、外部からの認証コマンドに対する複数の認証アルゴリズムを記憶した記憶手段を有する携帯可能電子媒体に用いられる方法であって、ＩＣカード処理装置からの認証コマンドを受信し、この受信した認証コマンドに対して実行すべき認証アルゴリズムを判断し、この判断により判断した認証アルゴリズムに対応するカウント値を設定し、前記判断した認証アルゴリズムによる処理とともに当該認証アルゴリズムに対応するカウント値に応じたダミー処理を行い、前記認証アルゴリズムによる処理と前記ダミー処理とが終了した際、前記認証アルゴリズムによる処理結果を前記ＩＣカード処理装置へ送信することを特徴とする。
【００１１】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照して説明する。
図１は、この発明の実施の形態に係るＩＣカード（携帯可能電子媒体）２の概略構成を示すブロック図である。
図１に示すように、上記ＩＣカード処理装置１は、ＩＣカード２へコマンドを送信し、そのコマンドに対する応答をＩＣカード２から受信するようになっている。例えば、ＩＣカード２の認証処理を行う場合、上記ＩＣカード処理装置１は、上記ＩＣカード２へ認証用のコマンドを送信し、このコマンドに対するＩＣカード２からの応答データに基づいて、当該ＩＣカード２の認証を行うようになっている。
【００１２】
上記ＩＣカード２は、カード状の筐体内に内蔵されるＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３、不揮発性メモリ２４、及び通信インターフェース２５などから構成される。上記ＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３、不揮発性メモリ２４、及び通信インターフェース２５は、ＩＣチップ（図示しない）により構成され、ＩＣカード本体内に埋設されている。
上記ＣＰＵ２１は、ＩＣカード２全体の制御を司るものである。上記ＣＰＵ２１は、上記ＲＯＭ２３あるいは不揮発性メモリ２４に記憶された制御プログラムに基づいて動作する。上記ＣＰＵ２１は、計数処理を行うカウンタ２１ａを有している。上記ＲＡＭ２２は、ワーキングメモリとして機能する揮発性のメモリである。上記ＲＡＭ２２は、上記ＣＰＵ２１が処理中のデータなどを一時保管するバッファとして機能し、例えば、上記通信インターフェース２５により上位機器から受信したデータを一時保管するようになっている。
【００１３】
上記ＲＯＭ２３は、予め制御用のプログラムや制御データなどが記憶されている不揮発性のメモリである。上記ＲＯＭ２３は、製造段階でＩＣカード２内に組み込まれるものであり、上記ＲＯＭ２３に記憶されている制御プログラムは、予め当該ＩＣカード２の仕様に応じて組み込まれるものである。
【００１４】
例えば、上記ＲＯＭ２３には、ＭＩＬＡＮＡＧＥアルゴリズムやテスト認証アルゴリズムなどの複数の認証アルゴリズムやダミー処理用のアルゴリズムなどが記憶されている。上記認証アルゴリズムや上記ダミー処理については、後で詳細に説明するが、各認証アルゴリズムに対応するダミー処理のカウント値が予め設定される場合には上記ＲＯＭ２３に各認証アルゴリズムに対応してカウント値が記憶される。
【００１５】
上記不揮発性メモリ２４は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどにより構成される。上記不揮発性メモリ２４は、ＩＣカード２の発行処理（ＩＣカードを運用可能な状態にする処理）などにおいてデータの書き込みが可能な不揮発性のメモリである。上記不揮発性メモリ２４には、当該ＩＣカード２の運用用途に応じてプログラムファイルやデータファイルなどが定義され、それらのファイルにデータが書き込まれるようになっている。
【００１６】
上記不揮発性メモリ２４には、当該ＩＣカードを使用（運用）するために必要な制御プログラムやコマンドに対して実行する処理の設定情報などの運用データが記録される。例えば、上記不揮発性メモリ２４には、当該ＩＣカード２の発行処理時に、上記ＩＣカード処理装置１から認証用のコマンドを受信した場合に実行すべき認証アルゴリズムを示す設定情報が記憶されるようになっている。
【００１７】
上記通信インターフェース２５は、ＩＣカード処理装置１などの上位機器との通信を行う通信インターフェースである。上記通信インターフェース２５は、ＩＣカード本体に設けられている図示しないコンタクト部あるいはアンテナを介して上位機器とのデータの送受信を行うものである。
【００１８】
次に、上記ＩＣカード処理装置１による認証処理におけるＩＣカード２の処理動作について概略的に説明する。
図２に示すように、ＩＣカード処理装置１がＩＣカードの認証を行う場合、当該ＩＣカード処理装置１は、認証対象とするＩＣカード２へ認証用のコマンドを送信する。
【００１９】
上記ＩＣカード処理装置１からの認証用のコマンドをＩＣカード２が受信すると、上記ＩＣカード２のＣＰＵ２１は、上記ＩＣカード処理装置１からの認証用のコマンドに対するコマンド処理として、発行処理時に上記不揮発性メモリ２４に書き込まれた設定情報に基づいて認証アルゴリズムを実行する。このようなコマンド処理が終了すると、上記ＩＣカード２のＣＰＵ２１は、上記通信インターフェース２５を介して上記認証アルゴリズムによる処理結果を認証用のコマンドに対する処理結果として上記ＩＣカード処理装置１へ送信する。
【００２０】
このＩＣカード２からの処理結果をＩＣカード処理装置１が受信すると、上記ＩＣカード処理装置１は、上記ＩＣカード２から受信した処理結果に基づいて当該ＩＣカード２を認証するか否かを判定する処理を行う。
【００２１】
例えば、３ＧＰＰと呼ばれる規格に基づいて認証処理が行われるとし、上記ＩＣカード２には、ＭＩＬＥＮＡＧＥアルゴリズムやテスト認証アルゴリズムなどの複数の認証アルゴリズムが予め記憶されているものとする。
このような場合、上記ＩＣカード２を発行する発行者は、発行処理時に、当該ＩＣカード２の不揮発性メモリ２４にＩＣカード処理装置１からの認証（Ａｕｔｈｅｎｔｉｃａｔｅ）コマンドに対する認証アルゴリズムの実行方法をオプションとして設定しておく。図２に示すような認証処理において、上記のような状態のＩＣカード２がＩＣカード処理装置１からＡｕｔｈｅｎｔｉｃａｔｅコマンドを受信すると、ＩＣカード２は、発行者による設定に基づいて認証アルゴリズムを選択的に実行し、その処理結果をＡｕｔｈｅｎｔｉｃａｔｅコマンドに対する処理結果としてＩＣカード処理装置１へ返信する。これにより、上記ＩＣカード処理装置１では、ＩＣカードに対する認証処理を行うことができる。
【００２２】
上記のような認証処理において、ＩＣカード２が実行可能な複数の認証アルゴリズムの処理時間が一定である場合、コマンドに対するＩＣカードでの処理時間によってＩＣカードが実行して認証アルゴリズムが推測できる。このため、本実施の形態においては、上記ＩＣカード２が実行する種々の認証アルゴリズムに対してダミー処理を行うようにしたものである。上記ダミー処理は、外部機器から計測可能な処理時間としての各認証アルゴリズムによる処理時間を変更するものである。
【００２３】
例えば、上記ＭＩＬＥＮＡＧＥアルゴリズムでは、１０ｍｓｅｃ以上の特定の処理時間で実行され、上記テスト認証アルゴリズムでは、数ｍｓｅｃ以下の特定の処理時間で実行される。すなわち、上記のような認証アルゴリズムでは、認証アルゴリズムごとに処理時間が一定であり、かつ、各認証アルゴリズムによって処理時間が異なる。つまり、上記ダミー処理は、各認証アルゴリズムでの処理時間を任意の処理時間としたり、各認証アルゴリズムでの処理時間を一定の処理時間に合わせたりするものである。
【００２４】
次に、上記認証アルゴリズム及び上記ダミー処理について詳細に説明する。
ＩＣカードでは、各認証アルゴリズムに対するダミー処理が予め設定されている。上記ダミー処理は、上述のように、各認証アルゴリズムの処理時間を、任意の処理時間とするものであっても良いし、一定の処理時間に合わせるものであっても良い。また、上記ダミー処理は、各認証アルゴリズムの処理時間を一定の処理時間に合わせる場合も、各認証アルゴリズムの処理時間を、最も処理時間が長い認証アルゴリズムの処理時間に合わせるものであっても良いし、所定の処理時間に合わせるものであっても良い。
【００２５】
例えば、上記テスト認証アルゴリズムの処理時間は数ｍｅｓｃ以下であるのに対して、上記ＭＩＬＥＮＡＧＥアルゴリズムの処理時間は１０ｍｓｅｃ以上である。従って、各認証アルゴリズムの処理時間を最も処理時間が長い認証アルゴリズムの処理時間に合わせる場合には、上記テスト認証アルゴリズムに対して、処理時間が上記ＭＩＬＥＮＡＧＥアルゴリズムの処理時間と同様になるようにダミー処理を設定しておけば良い。
【００２６】
また、各認証アルゴリズムの処理時間を所定の処理時間に合わせる場合、所定の処理時間を最も処理時間が長い認証アルゴリズムの処理時間以上に設定し、上記テスト認証アルゴリズム及び上記ＭＩＬＥＮＡＧＥアルゴリズムに対して、処理時間が上記所定の処理時間になるようにダミー処理を設定しておけば良い。
さらに、各認証アルゴリズムの処理時間を任意の処理時間とする場合、各認証アルゴリズムを実行する際にランダムに種々の処理時間を有するダミー処理を選択し、各認証アルゴリズムでの処理時間を任意の処理時間とするように設定しておけば良い。
【００２７】
上記ダミー処理は、各認証アルゴリズムに実行するダミー処理を設定しても良いし、各認証アルゴリズムにカウント値を設定して特定のダミー処理を上記カウンタ２１ａによるカウント値に応じて実行するようにしても良い。また、各認証アルゴリズムの処理時間を任意の処理時間とする場合、上記ダミー処理は、特定のダミー処理をカウント値に応じて実行するようにしても良い。この場合には、認証アルゴリズムを実行する際に、乱数などによりカウント値をランダムに選択し、そのカウント値に基づいてダミー処理を実行するようにすれば良い。
【００２８】
以下、ＩＣカード処理装置１からのコマンドに対する処理の第１の動作例について説明する。
図３は、第１の動作例を説明するためのフローチャートである。
この第１の動作例では、ＩＣカード２が認証アルゴリズムとして第１の認証アルゴリズムと上記第１の認証アルゴリズムよりも処理時間が短い第２の認証アルゴリズムとを有しているものとする。また、この第１の動作例では、上記第２の認証アルゴリズムの処理時間が上記第１の認証アルゴリズムの処理時間と同等になるように上記ＲＯＭ２３等に予め設定されているダミー処理を行うものとする。
【００２９】
まず、上記ＩＣカード２が上記ＩＣカード処理装置１から認証用のコマンドを受信したものとする（ステップＳ１１）。この場合、上記ＩＣカード２のＣＰＵ２１は、上記不揮発性メモリ２４に記憶されている設定情報に基づいて上記認証用のコマンドに対して実行すべき認証アルゴリズムを判断する（ステップＳ１２）。
【００３０】
この判断により第１の認証アルゴリズムによる処理を行うと判断すると（ステップＳ１３、ＹＥＳ）、上記ＩＣカード２のＣＰＵ２１は、上記第１の認証アルゴリズムによる処理のみを実行する（ステップＳ１４）。
このような上記第１の認証アルゴリズムによる処理が完了すると、上記ＩＣカード２のＣＰＵ２１は、上記認証コマンドに対する処理結果として、上記第１の認証アルゴリズムによる処理結果を上記ＩＣカード処理装置１へ送信する（ステップＳ１７）。
【００３１】
また、上記判断により第２の認証アルゴリズムによる処理を行うと判断した場合（ステップＳ１３、ＮＯ）、上記ＩＣカード２のＣＰＵ２１は、上記第２の認証アルゴリズムに対応するダミー処理を設定し、当該第２の認証アルゴリズムによる処理を行うとともに（ステップＳ１５）、当該第２の認証アルゴリズムに対応するダミー処理を行う（ステップＳ１６）。
このような上記第１の認証アルゴリズムに対応するダミー処理が完了すると、上記ＩＣカード２のＣＰＵ２１は、上記認証コマンドに対する処理結果として、上記第２の認証アルゴリズムによる処理結果を上記ＩＣカード処理装置１へ送信する（ステップＳ１７）。
【００３２】
このような処理により、上記第１の認証アルゴリズムによる処理と上記第２の認証アルゴリズム及び上記ダミー処理による処理とは、処理時間が同じになる。つまり、ＩＣカード処理装置１からの認証コマンドに対し、上記第１の認証アルゴリズムを用いて処理を行っても上記第２の認証アルゴリズムを用いて処理を行っても、上記ＩＣカード２が認証コマンドを受信してから当該認証コマンドに対する処理結果を送信するまでの時間が同等になる。
【００３３】
上記のように、上記第１の認証アルゴリズムの処理における処理時間と、上記第２の認証アルゴリズムの処理及び上記第２の認証アルゴリズムに対応するダミー処理における処理時間とは、同等の時間となる。従って、上記のような動作によれば、どの認証アルゴリズムでコマンドに対する処理を実行しても、ＩＣカード２がコマンドを受信してからコマンドに対する処理結果を送信するまでの時間がほぼ同じになるため、外部機器からは、上記ＩＣカード２内でどの認証アルゴリズムによりコマンドに対する処理を行ったかを推測することができない。
【００３４】
また、上記のようなＩＣカードを作成すると、どの認証アルゴリズムで処理を実行してもその処理結果が出力されるまでの時間がほぼ同じになるため、当該ＩＣカードの処理パフォーマンスが評価しやすいという利点もある。
【００３５】
次に、第２の動作例について説明する。
この第２の動作例は、ＩＣカード２が認証アルゴリズムとして、第１の認証アルゴリズム、第２の認証アルゴリズム、及び第３の認証アルゴリズムを有する場合の動作例を説明するものである。以下に説明する第２の動作例では、上記第１の認証アルゴリズムが最も長い処理時間を有し、上記第２の認証アルゴリズム及び上記第３の認証アルゴリズムは、上記第１の認証アルゴリズムよりも短い処理時間を有するものとする。また、この第２の動作例では、第１、第２、第３の認証アルゴリズムに対応してカウント値が上記ＲＯＭ２３等に予め設定されており、それらのカウント値に応じたダミー処理を行うものとする。
【００３６】
まず、上記ＩＣカード２が上記ＩＣカード処理装置１から認証用のコマンドを受信したものとする（ステップＳ２１）。この場合、上記ＩＣカード２のＣＰＵ２１は、上記不揮発性メモリ２４に記憶されている設定情報に基づいて上記認証用のコマンドに対して実行すべき認証アルゴリズムを判断する（ステップＳ２２）。
【００３７】
この判断により第１の認証アルゴリズムによる処理を行うと判断すると（ステップＳ２３、第１の認証アルゴリズム）、上記ＩＣカード２のＣＰＵ２１は、上記第１の認証アルゴリズムに対応するダミー処理のカウント値を上記ＲＯＭ２３から読み出すとともに、上記第１の認証アルゴリズムによる処理を実行する（ステップＳ２４）。上記第１の認証アルゴリズムによる処理が完了すると、上記ＣＰＵ２１は、上記カウンタ２１ａを初期化する。上記カウンタ２１ａを初期化すると、上記ＣＰＵ２１は、上記カウンタ２１ａの値をチェックする（ステップＳ２５）。この際、上記ＣＰＵ２１は、上記第１の認証アルゴリズムに対応するカウント値と上記カウンタ２１ａの値とが一致するか否かにより処理を終了するか否かを判断する（ステップＳ２６）。
【００３８】
この判断によりカウンタ２１ａの値が上記第１の認証アルゴリズムに対応するカウント値と一致しないと判断した場合、つまり、上記第１の認証アルゴリズムの処理を終了すると判断した場合、上記ＣＰＵ２１は、所定のダミー処理を行うとともに、上記カウンタ２１ａをカウントアップする（ステップＳ２７）。上記ダミー処理が終了すると、上記ＣＰＵ２１は、上記ステップＳ２５へ戻り、上記カウンタ２１ａの値をチェックする。
【００３９】
また、上記判断により上記第１の認証アルゴリズムの処理を終了すると判断した場合（ステップＳ２６、ＹＥＳ）、上記ＣＰＵ２１は、上記第１の認証アルゴリズムによる処理結果を上記ＩＣカード処理装置１へ送信し（ステップＳ２８）、上記コマンドに対する処理を終了する。
【００４０】
上記ステップＳ２４〜Ｓ２８のような処理により上記ＣＰＵ２１は、上記第１の認証アルゴリズムによる処理を実行するとともに、上記カウンタ２１ａの値が上記第１の認証アルゴリズムに対応するカウント値になるまで上記ダミー処理を繰返し実行する。
なお、上記第１の認証アルゴリズムに対応するカウント値を０に設定することにより上記第１の認証アルゴリズムに対してダミー処理を行わないようにすることも可能である。
【００４１】
また、上記判断により第２の認証アルゴリズムによる処理を行うと判断した場合（ステップＳ２３、第２の認証アルゴリズム）、上記ＩＣカード２のＣＰＵ２１は、上記ステップＳ２４〜Ｓ２７と同様に、上記第２の認証アルゴリズムによる処理を実行するとともに、上記カウンタ２１ａの値が上記第２の認証アルゴリズムに対応するカウント値になるまで上記ダミー処理を繰返し実行する（ステップＳ３１〜Ｓ３４）。
【００４２】
これにより、上記第２の認証アルゴリズムによる処理結果は、当該ＩＣカード２が認証コマンドを受信してから、上記第２の認証アルゴリズムの処理時間と上記第２の認証アルゴリズムに対応するカウント値に応じたダミー処理の処理時間とに基づく処理時間で上記ＩＣカード処理装置１へ送信される（ステップＳ２８）。
【００４３】
また、上記判断により第３の認証アルゴリズムによる処理を行うと判断した場合（ステップＳ２３、第３の認証アルゴリズム）、上記ＩＣカード２のＣＰＵ２１は、上記ステップＳ２４〜Ｓ２７と同様に、上記第３の認証アルゴリズムによる処理を実行するとともに、上記カウンタ２１ａの値が上記第３の認証アルゴリズムに対応するカウント値になるまで上記ダミー処理を繰返し実行する（ステップＳ４１〜Ｓ４４）。
【００４４】
これにより、上記第３の認証アルゴリズムによる処理結果は、ＩＣカード２が認証コマンドを受信してから、上記第３の認証アルゴリズムの処理時間と上記第３の認証アルゴリズムに対応するカウント値に応じたダミー処理の処理時間とに基づく処理時間で上記ＩＣカード処理装置１へ送信される（ステップＳ２８）。
【００４５】
上記のように、第２の動作例によれば、各認証アルゴリズムに対応してダミー処理用のカウント値を設定しておき、各認証アルゴリズムによる処理を実行する場合には、各認証アルゴリズムによる処理とともに各認証アルゴリズムに対応するカウント値に応じた処理時間のダミー処理を行う。これにより、各認証アルゴリズムの処理時間をダミー処理により変更することができ、コマンドを送信してからそのコマンドに対する処理結果が出力される時間によりどの認証アルゴリズムによる処理が行われたかを推測することを困難にすることができる。
【００４６】
さらに、上記カウント値に応じたダミー処理を行うようにすることにより、カウント値を設定するだけで各認証アルゴリズムの処理時間を変更することが可能となり、容易に各認証アルゴリズムの処理時間を変更することが可能となる。
さらに、上記カウント値を各認証アルゴリズムの処理時間が一定になるように各認証アルゴリズムに対して予め設定しておけば、当該ＩＣカードにおける各認証アルゴリズムの処理時間が一定となるため、当該ＩＣカード全体の処理パフォーマンスの検討を簡易化できる。
【００４７】
また、各認証アルゴリズムに対応するカウント値は、上記のように、各認証アルゴリズムの処理が一定になるように各認証アルゴリズムに対して予め設定しておくようにしても良いし、各認証アルゴリズムの処理が任意の処理時間になるようにしても良い。
【００４８】
例えば、各認証アルゴリズムの処理が任意の処理時間になるようにする場合、各認証アルゴリズムの処理を実行する際に、予め各認証アルゴリズムに対応して設定されるカウント値の代わりに、乱数等によりカウント値をランダムに選択（設定）し、その選択したカウント値によるダミー処理を認証アルゴリズムによる処理とともに実行するようにすれば良い。
【００４９】
これにより、各認証アルゴリズムによる処理時間が任意に変更される。この場合も、認証アルゴリズムの処理時間が任意に変更されるため、外部機器からコマンドを送信してからそのコマンドに対する処理結果がＩＣカードから出力されるまでの時間により、ＩＣカード内でどの認証アルゴリズムによる処理が行われたかを推測することを困難にすることができる。
【００５０】
【発明の効果】
以上詳述したように、この発明によれば、携帯可能電子媒体内で実行した処理のアルゴリズムが推測されることを困難にすることができ、セキュリティを向上させることができる携帯可能電子媒体及び前記携帯可能電子媒体の認証処理方法を提供できる。
【００５１】
また、この発明は、携帯可能電子媒体内で実行される各アルゴリズムの処理時間を一定することができ、携帯可能電子媒体全体としての処理パフォーマンスの検討を簡易化できる携帯可能電子媒体及び前記携帯可能電子媒体の認証処理方法を提供できる。
【図面の簡単な説明】
【図１】この発明の実施の形態に係るＩＣカードの概略構成を示す図。
【図２】ＩＣカード処理装置からのコマンドに対する処理を説明するための図。
【図３】ＩＣカードにおける第１の動作例を説明するためのフローチャート。
【図４】ＩＣカードにおける第２の動作例を説明するためのフローチャート。
【符号の説明】
１…ＩＣカード処理装置、２…ＩＣカード（携帯可能電子媒体）、２１…ＣＰＵ（処理手段）、２１ａ…カウンタ、２２…ＲＡＭ、２３…ＲＯＭ（記憶手段、設定手段）、２４…不揮発性メモリ、２５…通信インターフェース
【図１】
2004206574.tif 000003
【図２】
2004206574.tif 000004
【図３】
2004206574.tif 000005
【図４】
2004206574.tif 000006