(57)【要約】【課題】既知平文攻撃や選択平文攻撃への耐性を強め、より安全性を高めた暗号化／復号化処理を行えるようにする。【解決手段】ブロック暗号処理機能を有する可搬暗号化／復号化装置（２）においてＸＭＬによるマーク付けを解釈して受信電文のデータ部から暗号化／復号化対象ブロックを切り出し、ブロック毎に秘密情報の部分と、暗号化／復号化対象データの部分を抽出し、抽出した暗号化／復号化対象データを抽出した秘密情報を用いて暗号化／復号化処理するＸＭＬデータ処理手段（３）を備えたものである。【選択図】        図１
2004312154.tif 000002
【特許請求の範囲】
【請求項１】
ブロック暗号処理機能を有する可搬暗号化／復号化装置において
ＸＭＬによるマーク付けを解釈して受信電文のデータ部から暗号化／復号化対象ブロックを切り出し、ブロック毎に秘密情報の部分と、暗号化／復号化対象データの部分を抽出し、抽出した暗号化／復号化対象データを抽出した秘密情報を用いて暗号化／復号化処理するＸＭＬデータ処理手段を備えたことを特徴とする可搬暗号化／復号化装置。
【請求項２】
ＸＭＬの文書型定義があらかじめ格納されていることを特徴とする請求項１記載の可搬暗号化／復号化装置。
【請求項３】
ＸＭＬの文書型定義が受信電文に含まれていることを特徴とする請求項１記載の可搬暗号化／復号化装置。
【請求項４】
前記ＸＭＬデータ処理手段は、切り出した暗号化／復号化対象ブロックが文書型定義に沿っているか否かの妥当性を検証し、受信電文が妥当でないときエラー応答することを特徴とする請求項１記載の可搬暗号化／復号化装置。
【請求項５】
前記ＸＭＬデータ処理手段は、暗号化／復号化処理結果を、１つのレスポンスメッセージのデータ部にＸＭＬでマーク付けして返すことを特徴とする請求項１記載の可搬暗号化／復号化装置。
【請求項６】
前記ＸＭＬデータ処理手段は、暗号化／復号化処理結果を、暗号化／復号化対象ブロック毎にレスポンスメッセージとして返すことを特徴とする請求項１記載の可搬暗号化／復号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は暗号機能プログラムを搭載したＩＣカード等の可搬暗号化／復号化装置に関する。
【０００２】
【従来の技術】
ＩＳＯ／ＩＥＣ  ７８１６  ｐａｒｔ４に準拠したＩＣカードでは、外部装置からＩＣカードへ与えるコマンド（命令）はパラメータ部とデータ部から構成されている。例えば、ＩＣカードが真正かどうかを認証するための内部認証用コマンド（Ｉｎｔｅｒｎａｌ  Ａｕｔｈｅｎｔｉｃａｔｅ）では、パラメータ部に対してＩＣカード内部に格納された秘密の鍵情報への参照ポインタを与え、データ部に対してＩＣカードの認証に用いるデータ、例えば外部装置で発生させた乱数を与える。この内部認証用コマンドを受信したＩＣカードは、受信電文のデータ部のデータに対してパラメータ部で与えられたポインタから検索した鍵を用いて暗号化を行い、その結果をレンポンスメッセージとして外部装置へ返す。外部装置はレンポンスの内容からＩＣカードに格納された鍵が真正か否かを判断している。
【０００３】
【発明が解決しようとする課題】
内部認証用コマンドを使うためには、通常、鍵のファイルのＰＩＮ（個人識別番号）を知らないと実行できないようになっているが、何らかの手段で内部認証用コマンドが実行可能な攻撃者は、データの全体をパラメータ部で参照される鍵および／または初期ベクトルで暗号化しているため、様々な平文をデータ部に与えて内部認証用コマンドを実行させることにより、攻撃者が都合よく選択した平文と、それに対する暗号文の対を容易に得ることができる。
【０００４】
この結果、線型解読法や差分解読法等の攻撃を行う機会を攻撃者に与えることになってしまう。これらの攻撃法では、膨大な数の平文と暗号文の対を必要とするので、ただちに現実的な脅威とはならないが、万一、内部認証用の鍵が解読された場合には、ＩＣカードの偽造を許す結果にもつながりかねない。
【０００５】
【課題を解決するための手段】
本発明は上記課題を解決しようとするもので、既知平文攻撃や選択平文攻撃への耐性を強め、より安全性を高めた暗号化／復号化処理を行えるようにした可搬暗号化／復号化装置を提供しようとするものである。
【０００６】
本発明は一定長のデータブロックを一定長の鍵で暗号化するブロック暗号処理機能を有する可搬暗号化／復号化装置であって、一度に受信したデータ部の中から、暗号化／復号化対象データと、鍵や初期ベクトルの組（以下では暗号化／復号化対象ブロックと言う）をＸＭＬで複数組記述可能とし、ＩＣカードはＸＭＬを解釈し、暗号化／復号化対象ブロック毎に暗号化／復号化した結果を返すようにしたものである。
【０００７】
ＸＭＬはインターネット言語として使用されているＨＴＭＬをより一般化した言語で、ＨＴＭＬでは最初からウェブブラウザ用のタグが決まっているのに対し、ＸＭＬでは何にでも使えるようにした仕組みのため、どういうタグが文書の中に出てくるのかを自分の文書の中で定義し、文書の構造自体を自由に使えるものとして注目されている。
【０００８】
ＸＭＬ文書はＸＭＬ宣言、ＤＴＤ（文書型定義）、本体の３つの部分に分かれている。ＸＭＬ宣言は、ＸＭＬ文書の先頭に記述するもので、次に続く情報がＸＭＬであることを宣言する文であり、バージョン情報やエンコーディング宣言等を指定する。ＤＴＤはＸＭＬ文書の中でどんな要素がどのように記述されるかといった構造を定義する。本体はＸＭＬ文書のデータを記述する所である。
【０００９】
ＸＭＬ文書には、妥当なＸＭＬ文書と、整形式のＸＭＬ文書がある。ＸＭＬ文書はタグで内容をマークアップしていくもので、要素の中に要素を入れることができ、文書をツリー構造で表現することができる。
【００１０】
妥当なＸＭＬ文書とは、ＸＭＬ文書の中にＤＴＤが含まれており、このＤＴＤに対して完全に適応したＸＭＬ文書である。ＸＭＬ文書の妥当性をチェックしたり、階層構造に文書を展開する処理を行うＸＭＬ文書処理エンジンをＸＭＬパーサという。
【００１１】
整形式のＸＭＬ文書とは、アプリケーションで定めた要素の階層構造とタグの構文規則を保証することができる場合の文書で、あらかじめＤＴＤにより構造の定義が不要のため、ＤＴＤを省略することができる。また、ＤＴＤがあっても使用してもしなくても良いことが仕様として認められている場合もＤＴＤを省略することができる。
【００１２】
本発明においては、可搬暗号化／復号化装置への送信電文のデータ部をＸＭＬでマーク付けされたテキストとする。このＸＭＬのＤＴＤはあらかじめ可搬暗号化／復号化装置内に格納しておいても送信電文に含めて渡しても良い。また、ＤＴＤは可搬暗号化／復号化装置を利用するシステムにおいて、予め固定的に定めても良い。ＤＴＤを可搬暗号化／復号化装置内に格納できる場合には、可搬暗号化／復号化装置の製造時に格納しておいても良いし、使用時にＤＴＤを新規作成や書換えしても良い。このＸＭＬでマーク付けされたテキストの中に暗号化／復号化対象ブロックを１個または複数個含めるようにする。各々の暗号化／復号化対象ブロックは、鍵および／または初期ベクトル等の秘密情報部と、実際に暗号化／復号化の対象となるデータの部分から構成され、それぞれマーク付けされている。
【００１３】
初期ベクトルについて説明すると、ブロック暗号においては、平文を、例えば８バイト単位でブロック化し、ｉ−１番目のブロック（ブロック（ｉ−１））の暗号化された結果にブロックｉを加えて暗号化したものをブロックｉの暗号文としており、この場合、ブロック１に対する暗号の相手が初期ベクトルであり、鍵と同じ働きをし、あらかじめ作成する。
【００１４】
ＸＭＬでマーク付けされたテキストを受信電文として受け取った可搬暗号化／復号化装置は、ＸＭＬによるマーク付けを解釈し、受信電文のデータ部から１個または複数個の暗号化／復号化対象ブロックを切り出す。この時、ＤＴＤに沿った妥当性を検証しても良いし、検証しなくても良い。前述したように、妥当なＸＭＬ文書の場合には、ＤＴＤが含まれているので、その定義と本文が一致している時に妥当性があるとする。妥当性を検証する場合には、受信電文が妥当でない場合にはエラー応答しても良い。ＸＭＬによるマーク付けを解釈し、切り出した暗号化／復号化対象ブロックの中から、鍵および／または初期ベクトル等の秘密情報の部分と、暗号化／復号化対象データの部分を抽出する。
【００１５】
こうして抽出した暗号化／復号化対象データを抽出した秘密情報を用いて暗号化／復号化の計算を行う。暗号化／復号化の計算結果を１個のレンポンスメッセージのデータ部にＸＭＬでマーク付けして返しても良いし、抽出した暗号化／復号化対象ブロック毎に別々のレンポンスメッセージとして返すようにしても良い。
【００１６】
このように、データ部をＸＭＬでマーク付けされたテキストとすることにより、ＸＭＬ文書型定義をシステムの設計関係者以外は知ることができないので、秘密鍵情報の解読が従来の可搬暗号化／復号化装置よりも困難になる。
【００１７】
【発明の実施の形態】
以下に本発明の実施の形態について説明する。
図１は本発明の可搬暗号化／復号化装置を説明する概念図である。
外部装置１はコンピュータ等からなり、ＸＭＬによりマーク付けした文書をコマンドのデータ部に付加してＩＣカード等からなる可搬暗号化／復号化装置２に対して送信する。可搬暗号化／復号化装置２はブロック暗号処理機能を有していて、ＸＭＬパーサ機能プログラムからなるＸＭＬデータ処理手段３により、受信したコマンドのデータ部のＸＭＬによるマーク付けを解釈し、暗号化／復号化対象ブロックを切り出し、ブロック毎に秘密情報の部分と、暗号化／復号化対象データの部分を抽出し、抽出した暗号化／復号化対象データを抽出した秘密情報を用いて暗号化／復号化処理してレスポンスメッセージとして外部装置１に対して返す。
【００１８】
図２はＸＭＬでマーク付けされたテキストを受け取り、暗号化／復号化した結果を返すＸＭＬパーサ機能を有するコマンドＡＰＤＵ（アプリケーション・プログラム・データ・ユニット）の例を示す図である。
コマンドはＩＳＯ規格で決まっているものか否かを示すＣＬＡ、コマンドの内容を示すＩＮＳ、パラメータＰ１、Ｐ２、データの長さを示すＬｃ、ＸＭＬのテキストが格納されるデータ部からなっている。
【００１９】
図３は図２のコマンドのデータ部のＸＭＬによるマーク付けの例を説明する図である。
ここでは、ＸＭＬのタグを次のように定めて例示する。
【００２０】
＜ｂｌｏｃｋ  ＞  ：暗号化／復号化対象ブロック
＜ｋｅｙ  ＞    ：暗号化／復号化鍵ＩＥＦ識別子
＜ｄａｔａ＞    ：暗号化／復号化対象データ
＜ｎｕｍｂｅｒ＞  ：ブロック番号
ＩＣカードに搭載されたＸＭＬパーサ機能プログラムは、受信電文のデータブロックのタグを解釈し、暗号化／復号化対象ブロックを抽出する。
【００２１】
次に各暗号化／復号化対象ブロックから暗号化／復号化鍵ＩＥＦ識別子、暗号化／復号化対象データ、ブロック番号を抽出する。ＸＭＬパーサ機能プログラムは各暗号化／復号化ブロックから抽出した暗号化／復号化鍵ＩＥＦ識別子と、暗号化／復号化対象データを暗号化／復号化機能プログラムへブロック順に渡す。
暗号化／復号化機能プログラムから返される暗号化／復号化結果にブロック番号を付けてＸＭＬタグを付加し、レンポンス電文を編集する。
【００２２】
図２において、＜？ｘｍｌ  ｖｅｒｓｉｏｎ  ＝  ″１．０  ″は国際規格でバージョン１．０  を示し、ｅｎｃｏｄｉｎｇ＝ＵＴＦ−１６は使用する文字コードを示し、ｓｔａｎｄａｌｏｎｅ＝″ｙｅｓ  ″はＤＴＤを決めなくても良い、つまり、整形式の文書であることを示している。末尾の？＞により＜？ｘｍｌ  〜？＞がＸＭＬ宣言文であることを示している。なお、ＤＴＤはシステムであらかじめ決めておけば電文の中にはもたなくてもよい。
【００２３】
次の＜ｂｌｏｃｋ  ＞は暗号化ブロックのタグで、＜ｂｌｏｃｋ  ＞〜＜／ｂｌｏｃｋ＞で１つのブロックを示し、ここでは並列的に暗号化ブロックが２つ入って伝送電文が成り立っていることを示している。
＜ｋｅｙ  ｎｏｔａｔｉｏｎ＝  ″ｈｅｘ  ″〜／ｋｅｙ＞は鍵や初期ベクトル等の秘密情報部
＜ｄａｔａ  ｎｏｔａｔｉｏｎ＝″〜／ｄａｔａ  ＞はデータ部
＜ｎｕｍｂｅｒ＞〜／ｎｕｍｂｅｒ  ＞はブロック番号
をそれぞれ示しており階層（入れ子）構造で表現される。
【００２４】
【発明の効果】
以上のように、本発明によれば、可搬暗号化／復号化装置への送信電文のデータ部をＸＭＬでマーク付けることにより以下のような効果が得られる。
▲１▼データ部のＸＭＬ文書型定義を一般に公表しなければ、このシステムの設計関係者以外はＸＭＬ文書型定義を知ることがない。従って、可搬暗号化／復号化装置がＩＣカードのように耐タンパ性を有するものであれば、文書型定義を可搬暗号化／復号化装置内に格納し、アクセス点を適切に設定することにより、文書型定義の秘密をより安全に保つことができるうえに、万一文書型定義が別の手段により漏洩した場合でも、新たな文書型定義に置き換えることができる。
▲２▼システム設計者以外の一般の可搬暗号化／復号化装置保持者で悪意を持った者が平文を可搬暗号化／復号化装置へ送り、暗号化させて暗号文を得ようとしても、ＸＭＬの文書型定義を最初に何らかの方法で入手しなければ不可能である。また、仮に、文書型定義を入手したとしても、多数の暗号化／復号化対象ブロックから構成されていたり、文書階層が深く入れ子になっていたりすると、攻撃者が自由に平文を与えるのが困難になる。
▲３▼必要に応じてデータ部が文書型定義に合致した妥当なＸＭＬ文書であるかどうかを検証することにより、文書型定義を知らない者による偽造電文を検出することが可能となる。
【図面の簡単な説明】
【図１】本発明の可搬暗号化／復号化装置を説明する概念図である。
【図２】ＸＭＬパーサ機能を有するコマンドＡＰＤＵの例を示す図である。
【図３】ＸＭＬによるマーク付けの例を説明する図である。
【符号の説明】
１…外部装置、２…可搬暗号化／復号化装置、３…ＸＭＬデータ処理手段。
【図１】
2004312154.tif 000003
【図２】
2004312154.tif 000004
【図３】
2004312154.tif 000005