(57)【要約】【課題】消費電力波形測定や処理時間測定などから、セキュリティ情報を解読できないような耐タンパ性を有するＩＣカードを提供すること。【解決手段】外部とのデータの入出力を行う手段（Ｉ／Ｏ）と、外部から入力した外部データと内部に保持された内部データを照合する手段（２０１）とを備えたＩＣカードにおいて、前記内部データと所定の変換用データとの演算処理によって得られた照合用データを記憶する手段（２０４、２０６）を備え、前記照合手段は、前記外部データと前記照合用データとの演算処理によって得られたデータと、前記変換用データとを照合する。【選択図】図１
2008181225.tif 000002
【特許請求の範囲】
【請求項１】
外部とのデータの入出力を行う手段と、外部から入力した外部データと内部に保持された内部データを照合する手段とを備えたＩＣカードにおいて、
前記内部データと所定の変換用データとの演算処理によって得られた照合用データを記憶する手段を備え、
前記照合手段は、前記外部データと前記照合用データとの演算処理によって得られたデータと、前記変換用データとを照合することを特徴とするＩＣカード。
【請求項２】
請求項１に記載のＩＣカードにおいて、前記演算処理は、排他的論理和（ＸＯＲ）であることを特徴とするＩＣカード。
【請求項３】
請求項１に記載のＩＣカードにおいて、前記照合用データと前記変換用データが照合処理毎に異なることを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードの耐タンパ技術に関する。
【背景技術】
【０００２】
ＩＣカードは、勝手に書き換えることが許されないような個人情報の保持や、データの暗号化や復号化を行う装置である。このため、ＩＣカード内部に格納されているデータは、ディレクトリ、ファイル毎のアクセス権により守られており、不正に外部に出力されたりすることはないようになっている。ＩＣカード自体は電源を持っておらず、ＩＣカード用のリーダライタ（card reader）に差し込まれることにより、また、無線アンテナを備えたものであれば無線アンテナの誘導電流によって、リーダライタから電源の供給を受け、動作可能となる。ＩＣカードが動作可能になると、リーダライタから送信されるコマンドを受信し、そのコマンドに従って、データの転送等の処理を行う。なお、ＩＣカードの細かい仕様に関しては、非特許文献１に記載されているので、詳細な説明は省略する。
【０００３】
このように、ＩＣカードは、プログラムや重要な情報がＩＣカード用チップの中に密閉されており、重要な情報を格納したり、カードの中で暗号処理を行うために用いられるので、ＩＣカードでの暗号を解読する難しさは、暗号アルゴリズムの解読の難しさと同じであると考えられていた。
【０００４】
しかし、ＩＣカードが暗号処理を行っている時の消費電力を観測し、これを解析することにより、暗号アルゴリズムを直接的に解読するよりも容易に暗号処理の内容や暗号鍵が推定される可能性がある。消費電力は、オシロスコープを用いて、ＩＣカードのＶｃｃ端子とグランド端子の間の電圧変化を測定することによって調べることができる。このように、電力解析による内部秘密情報を取り出す方法は、電力解析（Power Analysis）と呼ばれている。
【０００５】
この電力解析において、反転ビット数（ハミングウェイト）に応じて電力が消費されることから、プログラムカウンタの変化に伴うビットの反転数（ハミング距離）の変化を均一化する提案が成されている（特許文献１参照）。しかし、セキュリティ情報の解読方法は、日々進歩しており、より強固な耐タンパ性を備えたＩＣカードが要求されている。
【特許文献１】特開２００４−１２６８４１号公報
【非特許文献１】ＩＳＯ７８１６
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、消費電力波形測定や処理時間測定などから、セキュリティ情報を解読できないような耐タンパ性を有するＩＣカードを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の局面に係る発明は、外部とのデータの入出力を行う手段と、外部から入力した外部データと内部に保持された内部データを照合する手段とを備えたＩＣカードにおいて、前記内部データと所定の変換用データとの演算処理によって得られた照合用データを記憶する手段を備え、前記照合手段は、前記外部データと前記照合用データとの演算処理によって得られたデータと、前記変換用データとを照合することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、消費電力波形測定や処理時間測定などから、セキュリティ情報を解読できないような耐タンパ性を有するＩＣカードを提供することができる。
【発明を実施するための最良の形態】
【０００９】
図面を参照して本発明の実施の形態を説明する。図１は、本発明の一実施形態に係るＩＣカードの概略構成を示す図である。  
ＩＣカードは、カード１０１と、カード１０１の上に搭載されたＩＣカード用チップ１０２とを備えている。図１に示すように、一般に、ＩＣカードは、ＩＳＯ７８１６の規格（非特許文献１）に定められた位置に供給電圧端子Ｖｃｃと、グランド端子ＧＮＤと、リセット端子ＲＳＴと、入出力端子Ｉ／Ｏと、クロック端子ＣＬＫとを備えており、これらの端子を通して、リーダライタから電源の供給を受け、リーダライタとの通信を行う。
【００１０】
ＩＣカード用チップ１０２の構成は、基本的には通常のマイクロコンピュータと同じ構成である。その構成を、図２に示す。ＩＣカード用チップ１０２は、中央処理装置（ＣＰＵ）２０１と、コ・プロセッサ２０２と、記憶装置２０４と、入出力（Ｉ／Ｏ）ポート２０７とを備え、データバス２０３で相互に通信可能に接続されている。ＣＰＵ２０１は、論理演算や算術演算などを行う装置であり、記憶装置２０４は、プログラムやデータを格納する装置である。入出力ポート２０７は、図示しないリーダライタと通信を行う装置である。コ・プロセッサ２０２は、暗号処理そのもの、または、暗号処理に必要な演算を高速に行う装置である。例えば、ＲＳＡ暗号の剰余演算を行う為の特別な演算装置や、ＤＥＳ暗号の処理を行う暗号装置などがある。なお、ＩＣカード用プロセッサの中には、コ・プロセッサを持たないものもある。
【００１１】
記憶装置２０４は、プログラム格納部２０５と、データ格納部２０６とからなる。プログラムは基本的に書き換えることがないので、プログラム格納部２０５はＲＯＭ（Read Only Memory）で構成される。なお、プログラムを更新可能とするために、不揮発性のメモリであるＥＥＰＲＯＭ（Electrical Erasable Programmable Read Only Memory）で構成されることもあるが、この場合には、ＥＥＰＲＯＭはデータ格納部２０６と共有されることがある。データ格納部２０６には、電源の供給がなくなっても保持することが必要なデータ、例えば、プリペイドガードの残高のデータ、等が記憶される。また、図示しない作業用のメモリとして、電源の供給がなくなってもデータを保持する必要がない高速な揮発性のメモリであるＲＡＭ（Random Access Memory）が使用される。
【００１２】
上記のように構成された本発明の一実施形態に係るＩＣカードの動作を説明する。図３は、本発明の一実施形態に係るＩＣカードの動作を示すフローチャートである。
【００１３】
まず、予め発生させた乱数やその他の暗号化のための情報（本実施形態では、「乱数」とする）との演算処理によって、内部のセキュリティ情報を別のデータ（以下、「セキュリティデータ」と称する）に変換する（ステップＳ１）。この演算処理は、例えば、排他的論理和（ＸＯＲ）やその他の演算（ＡＮＤ、ＯＲなどの論理演算、代数による演算など）により実行される。また、乱数は、データ格納部２０６に記憶される。
【００１４】
そして、外部からセキュリティ情報が入力されると、セキュリティデータとの演算処理により、乱数を求める（ステップＳ２）。例えば、ＸＯＲによりセキュリティデータを求めた場合には、ＸＯＲにより乱数を求める。
【００１５】
ステップＳ２で求めた乱数と、データ格納部２０６に記憶された乱数とを照合し、一致すれば、外部から入力されたセキュリティ情報が正しいものと判定する（ステップＳ３）。
【００１６】
上記の方法により、セキュリティ情報同士の直接的な照合を避け、間接的に照合処理を行うことができるので、耐タンパ性を有するＩＣカードが提供できる。
【００１７】
本発明は、上記各実施の形態に限ることなく、その他、実施段階ではその要旨を逸脱しない範囲で種々の変形を実施し得ることが可能である。上記の実施形態では、例えば論理演算によりセキュリティデータを求め、該セキュリティデータと外部からのセキュリティ情報との演算によって、セキュリティ情報の正当性の照合を行うようにしたが、これに加えて、照合する単位を照合毎に変化させたり、照合する順序を照合毎に変化させるようにしても良い。更に、データを、例えば、バイト単位に分割して、該分割単位毎に照合を行うようにしても良い。さらに、上記各実施形態には、種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組合せにより種々の発明が抽出され得る。
【００１８】
また、例えば各実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係るＩＣカードの概略構成を示す図である。
【図２】ＩＣカード用チップ１０２の概略構成を示すブロック図である。
【図３】本発明の一実施形態に係るＩＣカードの動作を示すフローチャートである。
【符号の説明】
【００２０】
Ｖｃｃ…供給電圧端子
ＧＮＤ…グランド端子
ＲＳＴ…リセット端子
Ｉ／Ｏ…入出力端子
ＣＬＫ…クロック端子
１０１…カード
１０２…ＩＣカード用チップ
２０１…中央処理装置（ＣＰＵ）
２０２…コ・プロセッサ
２０３…データバス
２０４…記憶装置
２０５…プログラム格納部
２０６…データ格納部
２０７…入出力ポート
【図１】
2008181225.tif 000003
【図２】
2008181225.tif 000004
【図３】
2008181225.tif 000005