(57)【特許請求の範囲】
【請求項１】
他の自律型ＩＣカードを含む通信相手装置とネットワークを介して接続されたＩＣカード端末を経由して、前記他の自律型ＩＣカードと価値情報を送受信する自律型ＩＣカードであって、
前記ＩＣカード端末と物理層を介して接続されるインターフェースと、
前記他の自律型ＩＣカードと前記ＩＣカード端末を介して相互に認証を行う相互認証を行い、前記相互認証が成功した場合に、前記他の自律型ＩＣカードとセッションを構築し、前記セッションを介し、ネットワーク層のプロトコルを用いて前記他の自律型ＩＣカードと暗号化通信を行うＩＣチップと
を備え、
前記ＩＣチップ及び前記他の自律型ＩＣカードのそれぞれは、割り当てられた固有の識別子を有し、
前記固有の識別子は、前記ネットワーク層のプロトコルを用いた暗号化通信においてネットワーク層アドレスを構成し、
前記ＩＣチップは、前記価値情報を前記他の自律型ＩＣカードに送信する際に、前記他の自律型ＩＣカードのみが復号可能な暗号化を前記価値情報に施すことを特徴とする自律型ＩＣカード。
【請求項２】
前記ＩＣチップは、前記他の自律型ＩＣカードに対して前記セッションを構築するセッション管理命令群と、前記他の自律型ＩＣカードに対して、前記価値情報の送受信に関する処理をトランザクションによって行うためのトランザクションセッションを構築するトランザクション管理命令群と、を有することを特徴とする請求項１に記載の自律型ＩＣカード。
【請求項３】
前記ＩＣチップは、前記他の自律型ＩＣカードと相互に認証処理を行うと共に、前記他の自律型ＩＣカードとの通信に係る情報に対して暗号化／復号化を施す暗号処理部を有することを特徴とする請求項１に記載の自律型ＩＣカード。
【請求項４】
前記識別子に基づき、前記他の自律型ＩＣカードを識別し、相互の認証処理を行うことを特徴とする請求項３に記載の自律型ＩＣカード。
【請求項５】
前記暗号処理部は、前記他の自律型ＩＣカードの種別に応じて、複数の認証処理及び複数の暗号処理の中から適した認証処理及び暗号処理を選択してそれらの処理を行うことを特徴とする請求項３に記載の自律型ＩＣカード。
【請求項６】
前記ＩＣチップは、前記価値情報が格納される記憶部を有し、前記他の自律型ＩＣカードと前記価値情報に係る通信を行うことを特徴とする請求項１乃至５のいずれか１項に記載の自律型ＩＣカード。
【請求項７】
前記インターフェースと、前記ＩＣカード端末とは、非接触で接続されることを特徴とする請求項１乃至６のいずれか１項に記載の自律型ＩＣカード。
【請求項８】
自律型ＩＣカードと、
他の自律型ＩＣカードを含む通信相手装置とネットワークを介して接続されるＩＣカード端末と
を備える通信システムであって、
前記自律型ＩＣカードは、
前記ＩＣカード端末と物理層を介して接続されるインターフェースと、
ＩＣチップとを備え、
前記ＩＣチップは、前記ＩＣカード端末を介して前記他の自律型ＩＣカードと相互に認証を行う相互認証を行い、前記相互認証が成功した場合に、前記他の自律型ＩＣカードとセッションを構築し、前記セッションを介し、ネットワーク層のプロトコルを用いて前記他の自律型ＩＣカードと暗号化通信を行い、
前記ＩＣカード端末は、前記ＩＣチップ及び前記他の自律型ＩＣカードが実行する前記暗号化通信を中継し、
前記ＩＣチップ及び前記他の自律型ＩＣカードのそれぞれは、割り当てられた固有の識別子を有し、
前記固有の識別子は、前記ネットワーク層のプロトコルを用いた暗号化通信においてネットワーク層アドレスを構成し、
前記ＩＣチップは、前記価値情報を前記他の自律型ＩＣカードに送信する際に、前記他の自律型ＩＣカードのみが復号可能な暗号化を前記価値情報に施すことを特徴とする通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＣカードに関し、特に、ＩＣカード端末に直接又はネットワークを介して接続される他の装置と、直接かつ自律的に通信を行う自律型ＩＣカードに関する。
【０００２】
【従来の技術】
図４は、従来におけるＩＣカードとＩＣカード端末との信号のやり取りを説明するための図である。
ここで、ＩＣカード端末は、ＩＣカードリーダ／ライター２００とＩＣカード端末本体３００とで構成される。尚、ここではＩＣカード１００とＩＣカードリーダ／ライター２００とは模式的に離れて示されているが、このように非接触型であってもよいし、勿論、ＩＣカード１００がＩＣカードリーダ／ライター２００に典型的には挿入される接触型であってもよい。
【０００３】
このようなＩＣカード１００を利用した処理においては、ＩＣカード端末本体３００がマスター装置であり、ＩＣカード１００がスレーブ装置となっている。すなわち、ＩＣカード１００を利用した処理を行いたい場合、先ずＩＣカード端末本体３００に備えられた入力端末（図示せず）に操作者は指示入力する。それに応じて、マスター装置たるＩＣカード端末本体３００は、ＩＣカードリーダ／ライター２００を介して命令をＩＣカード１００に送る。その命令を受け取ったスレーブ装置たるＩＣカード１００はその命令に応じた処理を行い、その実行結果をＩＣカードリーダ／ライター２００を介してＩＣカード端末本体３００に返す。
【０００４】
図５は、従来において、２枚のＩＣカードが互いに通信を行う場合の信号のやり取りを示す図である。
同図において、図４に示した構成に加えて、ＩＣカードリーダ／ライター２００ｂがＩＣカード端末本体３００に接続されており、そのＩＣカードリーダ／ライター２００ｂにＩＣカード１００ｂが接触式又は非接触式で接続される形態になっている。
【０００５】
そこで、図４の場合と同様、先ずＩＣカード端末本体３００に備えられた入力端末（図示せず）に操作者はカード間通信に係る指示入力する。それに応じて、ＩＣカード端末本体３００は、ＩＣカードリーダ／ライター２００ａを介して命令をＩＣカード１００ａに送る。その命令を受け取ったＩＣカード１００ａはその命令に応じた処理を行い、その結果である返答Ａを出力する。ＩＣカード１００ａから出力された返答Ａは、ＩＣカードリーダ／ライター２００ａを介してＩＣカード端末本体３００に入力される。ＩＣカード端末本体３００は、その返答Ａたる情報に対しての中継動作を行う。ＩＣカード端末本体３００から出力された返答Ａは、ＩＣカードリーダ／ライター２００ｂを介してＩＣカード１００ｂに入力される。ＩＣカード１００ｂは、入力された返答Ａに応じた処理を行い、その結果として返答Ｂを出力する。ＩＣカード１００ｂから出力された返答Ｂは、ＩＣカードリーダ／ライター２００ｂを介してＩＣカード端末本体３００に入力される。ＩＣカード端末本体３００は、その返答Ｂたる情報に対しての中継動作を行う。ＩＣカード端末本体３００から出力された返答Ｂは、ＩＣカードリーダ／ライター２００ａ介してＩＣカード１００ａに入力される。
【０００６】
以上のようなＩＣカード１００ａとＩＣカード１００ｂとの間のやりとりが更に続いても、基本的には動作は同じである。すなわち、ＩＣカード端末本体３００は、ＩＣカード１００ａＩＣカード１００ｂとの間でやりとりされる情報に対する中継動作を行うという役目を必ず担っている。
【０００７】
【発明が解決しようとする課題】
ところで、従来におけるＩＣカード間通信においては、上述のようにＩＣカード端末本体が必ずＩＣカード間通信に係る情報の中継動作を行っている。従って、従来においては、ＩＣカード端末本体に代表される介在装置が、ＩＣカード間の通信情報を改竄したり盗聴したりすることが可能であった。故に、従来においては、ＩＣカード間の正確な情報の通信が保証されないという課題があった。
【０００８】
本発明は、上述のような事情を鑑みて為されたものであり、本発明の目的は、ＩＣカードがＩＣカード端末に直接又はネットワークを介して接続される他の通信装置と通信を行うに際し、ＩＣカードと他の通信装置との間に介在するＩＣカード端末等の装置を見かけ上介在させることなく、他の通信装置と直接通信を行うことにより、正確な情報の安全な通信を保証することができる自律型ＩＣカードを提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、請求項１の自律型ＩＣカードは、ＩＣカード端末と物理層を介して接続される論理ホストインターフェースと、前記ＩＣカード端末を物理的に介して接続される通信装置と通信を行うための論理外部通信インターフェースと、前記論理外部通信インターフェースを介し、前記通信装置の接続を認識し、前記通信装置と直接的に通信を行うように構成されたＩＣチップと、を備えることを要旨とする。
【００１０】
本発明によれば、本発明の自律型ＩＣカードは、ＩＣカード端末を介して接続される通信装置を自ら認識し、その通信装置と直接的に通信を行うことができる。
【００１１】
また、請求項２の発明は、請求項１の自律型ＩＣカードにおいて、前記ＩＣチップは、前記論理外部通信インターフェースを介して前記通信装置と直接的に通信を行うためのソフトウェアモジュールたる通信制御部を有することを要旨とする。
【００１２】
本発明によれば、通信制御部は、接続されているＩＣカード端末を意識しないソフトウェアモジュールによりその処理を行うことができる。
【００１３】
また、請求項３の発明は、請求項２の自律型ＩＣカードにおいて、前記通信制御部は、前記通信装置に対してセッション通信路を構築するセッション管理命令群と、前記通信装置に対してトランザクションセッションを構築するトランザクション管理命令群と、を有することを要旨とする。
【００１４】
また、請求項４の発明は、請求項１の自律型ＩＣカードにおいて、前記ＩＣチップは、前記通信装置と相互に認証処理を行うと共に、前記通信装置との通信に係る情報に対して暗号化／復号化を施す暗号処理部を有することを要旨とする。
【００１５】
本発明によれば、暗号処理部は、通信装置と相互に認証処理を行うと共に、通信装置との通信に係る情報に対して暗号化／復号化を施す。
【００１６】
また、請求項５の発明は、請求項４の自律型ＩＣカードにおいて、前記ＩＣチップは、割り当てられた固有の識別子を有し、その識別子に基づき、前記通信装置を識別し、相互の認証処理を行うことを要旨とする。
【００１７】
また、請求項６の発明は、請求項４の自律型ＩＣカードにおいて、前記暗号処理部は、認識された前記通信装置の種別に応じて、複数の認証処理及び複数の暗号処理の中から適した認証処理及び暗号処理を選択してそれらの処理を行うことを要旨とする。
【００１８】
また、請求項７の発明は、請求項１乃至６の自律型ＩＣカードにおいて、前記ＩＣチップは、価値情報が格納される記憶部を有し、前記他の通信装置とその価値情報に係る通信を行うことを要旨とする。
【００１９】
また、請求項８の発明は、請求項１乃至７の自律型ＩＣカードにおいて、前記ＩＣカード端末と前記他の通信装置は、ネットワークを介して接続されていることを要旨とする。
【００２０】
また、請求項９の発明は、請求項１乃至８の自律型ＩＣカードにおいて、前記論理ホストインターフェース及び前記論理外部通信インターフェースと、前記ＩＣカード端末とは、非接触で接続されることを要旨とする。
【００２１】
【発明の実施の形態】
以下、図面に基づいて、本発明における自律型ＩＣカードの実施形態について詳細に説明する。
【００２２】
図１は、本発明における自律型ＩＣカードの一実施形態の論理的な構成を示す図である。
【００２３】
図１において、本発明の自律型ＩＣカード１は、ＣＰＵ１０と、ＲＯＭ(read only memory)１１と、ＲＡＭ(randam access memory)１２と、不揮発性メモリ１３と、暗号処理部１４と、通信制御部１５と、外部通信インターフェース１６と、ホストデバイスインターフェース１７とで構成される。
【００２４】
尚、上記構成においては、物理的な構成（ハードウェア）と論理的な構成（ソフトウェア）が混在しているが、以下それぞれについて説明する。
【００２５】
ホストデバイスインターフェース１７は、従来から備わっている物理的インターフェースであり、外部との通信を行うためのものである。従来と同様、接触型と非接触型がある。ＣＰＵ１０は、一部の浮動小数点演算を除き、全ての演算を行う中央演算装置である。尚、浮動小数点演算については別途浮動小数点演算装置が備わっている（図示せず）。ＲＯＭ１１は、読み出し専用メモリであり、当該自律型ＩＣカード１用の固有のソフトウェア（ＯＳ、プログラム）や後述する本発明チップIDが格納されている。ＲＡＭ１２は、読み書き可能メモリであり、当該自律型ＩＣカード１内で動作するソフトウェアが扱うデータが一時的に記憶されるメモリである。尚、ＩＣカードへの電力供給が絶たれると内容全て消去される。
【００２６】
不揮発性メモリ１３は、後述する価値情報が格納される。価値情報とは、電子チケット、電子マネー等の価値を含むデータをいう。尚、不揮発性メモリ１３は、内容保持型メモリなので電力の供給が絶たれても内容が保持される。
以上が物理的な構成部分である。
【００２７】
外部通信インターフェース１６は、上記ＣＰＵ１０等で構成される後述する本発明チップが外部との直接通信を行う論理的なインターフェースである。従来のＩＣカードは、それが物理的に接続されている装置、典型的にはＩＣカード端末、とのみ通信を行う論理インターフェースしか持たなかったが、本発明の自律型ＩＣカード１は、論理ホストインターフェースの他に、外部の装置（後述の本発明チップ搭載サービスクライアント）と直接通信を行う外部通信インターフェース１６を備えている。尚、この外部通信インターフェース１６は、後の「４．本発明チップ APIプロトコル」で詳述するプロトコルに従って通信を行うインターフェースである。
【００２８】
通信制御部１５は、外部通信インターフェース１６を介して外部の装置との間で行われる通信を制御するソフトウェアモジュールである。後述する「10. 本発明チップ API仕様」全体を実現するソフトウェアモジュールであるが、特に「10.1 セッション管理命令群」及び「10.2 トランザクション管理命令群」と関わりが深いソフトウェアモジュールである。このモジュールにより外部の装置との間で直接的に通信が行われる。
【００２９】
暗号処理部１４は、後述する「3.4 認証・アクセス制御・暗号」、「５.eTP鍵証明書」及び「６．鍵実体」において定義された多様な種類の相互認証及び暗号通信を可能にするためのモジュールである。暗号処理部１４は、通信を行う相手装置に応じて、複数の相互認証及び複数の暗号通信の中から適したものを選択切替している。尚、通信制御部１５に基づく直接通信の上に、暗号処理部１４による相互認証及び暗号通信を行えば、間に介在する装置、例えばＩＣカード端末、によりデータ内容が盗まれたり、データが改竄されるという危険性が更に低くなる。
【００３０】
尚、図１に示された本発明に係る構成部は、好適には、最後に詳細にその仕様が列記されるワンチップマイクロコンピュータ（以下、ＩＣチップと称する）で具現化される。
【００３１】
ここで、本発明の自律型ＩＣカードに搭載されるＩＣチップの全体的な特徴を説明する。
【００３２】
本発明に係るＩＣチップは、分散環境におけるノードとして機能するように設計されている。従って、本発明のＩＣカードがＩＣカードリーダ／ライターを有するＩＣカード端末本体に接触式又は非接触式で接続されて機能している装置が、ネットワークを介して、例えば他のＩＣカードと物理的に通信できるように構成されている場合、本発明に係るＩＣチップを有するそれらのＩＣカードは通信ネットワーク上でノードとしての機能を有する。そして、このときＩＣカードリーダ／ライター及びＩＣカード端末本体は、ネットワークとコンタクトレス通信の物理層を橋渡しするゲートウェイ（ブリッジ）の役割を果たしている。すなわち、前述の外部通信インターフェース１６が、分散システムにおけるノードとしてのＩＣカードの通信を司っており、ホストデバイスインターフェース１７が、コンタクトレス通信の物理層を橋渡しする役割を担っている。
【００３３】
そこで、分散環境におけるノードとして機能するために、本発明に係るＩＣチップは、上述のようなネットワークを最も簡単な例とする分散システム全体において固有の識別子（ＩＤ）を有している。
【００３４】
また、本発明の自律型ＩＣカードに搭載されるＩＣチップは、ネットワークを介して接続された、同様のＩＣチップを搭載した複数の装置を識別し、それらの装置との相互認証を先ず行う。そして、それらの装置が正規の実体であると確認した後にそれらの装置との通信を行うように設計されている。その認証においては、２つのモード、すなわち（情報）発行者モード及び所有者モードがある。これは後に詳述する。
【００３５】
更に、本発明に係るＩＣチップにおいては、それが有する資源を保護するために、前述のＩＤに基づいたアクセス制御リストが採用されている。つまり、チップ、ファイル（、レコード）にはアクセス制御リストが付加されている。
【００３６】
本発明に係るＩＣチップでは、アクセス制御リストの中で、「所有者」、「発行者」、「その他」のサービスクライアントを統一的に扱い、それぞれの持つ権限に応じて、アクセス制御リストを変更するＡＰＩを発行することによって、アクセス権限の制限や解放、移譲といった制御を柔軟に行うことを可能にしている。
【００３７】
また、本発明に係るＩＣチップにおいては、コンテンツを複数のコンテンツホールダ、例えば、本発明チップとネットワーク上の価値情報格納サーバー、の間で分散して保持する、ハイブリッド方式をサポートし、そのための機構として、コンテンツ間のリンク機能を提供している。
【００３８】
次に、本発明の自律型ＩＣカードによる通信の具体例について説明する。
図２は、本発明の自律型ＩＣカードによるＩＣカード間通信を行うシステムの構成を示す図である。
同図において、自律型ＩＣカード１ａは、ＩＣカード端末本体３に備わったＩＣカードリーダ／ライター２ａに対して接触式又は非接触式に接続されている。また、同様に、自律型ＩＣカード１ｂは、ＩＣカード端末本体３に備わったＩＣカードリーダ／ライター２ｂに対して接触式又は非接触式に接続されている。
【００３９】
かかる構成において、自律型ＩＣカード１ａに対して自律型ＩＣカード１ｂと通信を行わせたい場合、操作者は、ＩＣカード端末本体３に備えられた入力端末（図示せず）にカード間通信に係る指示入力する。それに応じて、ＩＣカード端末本体３は、ＩＣカードリーダ／ライター２ａを介して命令を自律型ＩＣカード１ａに送る。その命令を受け取った自律型ＩＣカード１ａは、図１に示した外部通信インターフェース１６を介して、ソフトウェア的に、直接かつ自律的に、自律型ＩＣカード１ｂと通信を行う。自律型ＩＣカード１ａがこのように自律型ＩＣカード１ｂと直接通信できるのは、前述のように、自律型ＩＣカード１ａが分散環境におけるノードとして機能することができるからである。かかる通信において、図１に示した暗号処理部１４により通信データに対して暗号化及び復号化を行えば、通信途中における改竄や盗聴という危険を確実に回避できる。
【００４０】
図３は、本発明の自律型ＩＣカードによる通信を行う他のシステムの構成を示す図である。
本発明の自律型ＩＣカードによる通信においては、通信の相手がＩＣカードである必要はなく他の通信装置であってもよい。同図において、ＩＣカード端末本体３はネットワーク４を介して他の通信装置５と接続されている。自律型ＩＣカード１ａがネットワーク４を介して通信装置５と通信を行う場合、ＩＣカード端末本体３から命令を受けた自律型ＩＣカード１ａは、ソフトウェア的に、直接かつ自律的に、通信装置５と通信を行う。
【００４１】
以下、本発明の自律型ＩＣカードに搭載されるＩＣチップ（以下、単に、本発明チップと称する）の詳細仕様を説明する。以下の説明中、Contents Holder(CHs)が上述の自律型ＩＣカード１，１ａに対応しており、Service Client(SCs) が、自律型ＩＣカード１，１ａと通信を行う全ての装置、すなわち上述のＩＣカード端末本体３、自律型ＩＣカード１ｂ及び他の通信装置５に対応している。
【００４２】
尚、全体像を容易に把握できるようにするため、目次を付し、説明本体には各構成ごとに見出しを付けた。
【００４３】
目次
１．はじめに
1.1 分散環境ノードとしての本発明チップ
1.2 本発明チップIDで特定する相互認証方式
1.3 本発明チップIDに基づいたアクセス制御リスト方式による資源保護機構
1.4 チップ所有者・価値情報発行者・価値情報利用者に対する総合的アクセス制御の実現
1.5 ロールバック可能なトランザクション機構
1.6 リンク機能を持った記憶構造
1.7 関連チップ体系との整合性
1.8 多様なチップに対応したゆるやかな標準化
２．システム仕様
2.1 システムアーキテクチャ
2.2 本発明チップ識別子（本発明チップID）
３．本発明チップ概要
3.1 本発明チップ
3.2 データ構造モデル
3.3 本発明チップ API
3.4 認証・アクセス制御・暗号
４．本発明チップ APIプロトコル
4.1 パケット形式
4.2 命令識別子（コマンドID）一覧
4.3 エラーコード一覧
4.4 MAC・トレーラ
4.5 セッション通信と非セッション型通信
５．eTP鍵証明書
セッション構築時における認証時の証明書の利用
1.概要
６．鍵実体
７．本発明標準コンテンツ形式
８．鍵実体による本発明標準コンテンツ操作時の決算処理
９．本発明チップ API仕様（データ型定義）
１０．本発明チップ API仕様（命令定義）
10.1 セッション管理命令群
10.2 トランザクション管理命令群
10.3 ファイル管理命令群
10.4 レコード管理命令群
10.5 鍵実体管理命令群
10.6 認証補助管理命令群
暗号実装仕様
１．はじめに
本発明チップ（価値情報付加チップ）は、本発明関連プロジェクトが目指す、超機能分散システムにおいて、価値情報の格納媒体となるコンピュータシステム（例えばＩＣカード等）および、その外部仕様である。今後の技術の進展を想定し、８ビットＣＰＵ版、１６ビットＣＰＵ版、３２ビットＣＰＵ版とそれぞれシリーズ化されており、共通する操作に関しては共通のコマンド及びメッセージフォーマットを提供する。本書は、特に本発明チップ仕様体系の中でも１６ビットＣＰＵ版ＩＣチップを対象ハードウェアとした仕様の概要を説明したものである。
【００４４】
本章では、既存の他の耐タンパーチップと比べた場合の、本発明チップの特長を述べる。
【００４５】
1.1 分散環境ノードとしての本発明チップ
本発明チップは従来型のＩＣチップのように、コンピュータの周辺機器として、リーダライタを通して操作されるものではなく、分散環境におけるノードとして設計されている。ネットワーク上のサービス提供モジュールとチップ、チップとカードが対等にpeer-to-peerで通信する。リーダライタ装置は、ＬＡＮとコンタクトレス通信の物理層を橋渡しするゲートウェイ（ブリッジ）となる。
【００４６】
本発明チップアーキテクチャでは、本発明チップは分散システム全体でユニークな識別子（本発明チップID）を持つ。本発明チップIDは、チップを物理的に識別するだけでなく、分散環境上での経路制御にも利用され、認証通信における相手に識別子として利用される。
【００４７】
従って本発明チップの認証の対象は例えば、リーダライタではなく、ネットワークとリーダライタを経由して、チップと情報交換をするネットワーク上の計算実体（Contents Holders）である。
【００４８】
1.2 本発明チップIDで特定する相互認証方式
本発明チップは、相互認証を行い、正規な実体であることを確認してから通信を行う。本発明チップアーキテクチャでは、アクセス対象である本発明チップ搭載Contents Holder(CHs)も、アクセス側である本発明チップ搭載Service Client(SCs)も、ともに一貫したユニークな識別子（本発明チップID）を備え、相互認証後には、相手の本発明チップIDを確実に把握する。
【００４９】
1.3 本発明チップIDに基づいたアクセス制御リスト方式による資源確保機構
本発明チップは、相互認証によって本発明チップ APIを発行するSCを特定する。そこで、本発明チップが持つ資源を保護するために、この本発明チップIDに基づいたアクセス制御リストを使う。現在の本発明チップでは、資源に対して、「発行者」（ISSUER）、「所有者」（OWNER）といった属性を、本発明チップIDで表現している。さらに、アクセス制御リストによって、「発行者」・「所有者」・「それ以外」のSCsが発行できる命令を指定できる。
【００５０】
1.4 チップ所有者・価値情報発行者・価値情報利用者に対する統合的アクセス制御の実現
本発明チップでは、価値情報を格納する多様なアプリケーションが実装される可能性がある。価値情報には様々なタイプがあり、例えば、チップ上にある情報でも、以下のようなものが考えられる。
【００５１】
- チップの所有者は変更できずに情報の発行者だけが変更できる情報
（例：電子チケットの座席番号）
- チップの所有者でさえ見せない情報（例：電子チケット変更の鍵）
- チップの所有者だけが完全に制御できる情報（例：所有者の個人情報）
- 読むことはだれでもできる情報
本発明チップでは、アクセス制御リストの中で、「所有者」、「発行者」、「その他」のSCsを統一的に扱い、それぞれのもつ権限に応じて、アクセス制御リストを変更するAPIを発行することによって、アクセス権限の制御や解放、委譲といった制御を柔軟に行うことを可能にしている。
【００５２】
1.5 ロールバック可能なトランザクション機構
本発明チップに価値情報を移動する時は、安全に行う必要がある。そこで、本発明チップでは、特に価値情報の作成と削除に関しては、処理のAtomicityを保証するために、トランザクション機構を提供している。トランザクションを開始したあと、発行された命令による操作は、トランザクション終了時のコミット命令によって反映される。アボート命令が発行された場合、また規定したタイムアウト時間に達するまでコミット命令が到着しない場合は、発行された命令に関してロールバック（roll-back）される。同様に、トランザクション途中に、何らかのトラブルによって、本発明チップが電源遮断された場合は、次に本発明チップがアクティブになった初期時にロールバック処理が行われる。
【００５３】
1.6 リンク機能を持った記憶構造
現在、耐タンパーチップは、情報処理能力においても記憶容量などの資源においても多様なものが存在する。その中でも、資源に乏しいハードウェアでは、想定するアプリケーションの全ての価値情報をチップに格納できないケースもある。一方、チップがそれぞれ分散して価値情報を保持する方式も、処理効率の観点から望ましい。そこで、本発明ではコンテンツを複数の本発明コンテンツホールダ、例えば、本発明チップとネットワーク上の価値情報格納サーバー、の間で分散して保持する、ハイブリッド方式をサポートし、そのための機構として、コンテンツ間のリンク機能を提供している。
【００５４】
1.7 関連チップ体系との整合性
本発明チップはAPIのコマンドコンベンション、エラーコード、資源の静的・動的な扱い方の方法などを本発明関連プロジェクトの他のアーキテクチャと整合性を持たせている。例えば、エラーコードの一般的な部分は関連チップと本発明チップは共通である。これによって、関連チップアーキテクチャ上での開発経験のある技術者が本発明チップアプリケーションを開発することを支援する。
【００５５】
1.8 多様なチップに対応したゆるやかな標準化
本発明チップは、８bit ＣＰＵ〜３２bit ＣＰＵ、Contact/Contact-less/Dual Interface、スマートカード〜RF IDと、様々なICカードに対して、整合性のある一貫したAPIの体系を提供する。
【００５６】
２．システム仕様
2.1 システムアーキテクチャ
本発明チップアーキテクチャは、耐タンパ性を有する価値情報を安全に格納し、コンピュータネットワーク上を安全に交換するための分散システムアーキテクチャであり、主に、以下の要素から構成される。
【００５７】
(A) 価値情報ネットワーク系（Entity Network Infrastructuer）
価値情報を交換するためのアーキテクチャ。以下の二つの要素から構成される。
【００５８】
A-i) 本発明チップ搭載コンテンツホールダ（CHs）
本発明チップ搭載コンテンツホールダは、価値情報を格納し、本発明チップ搭載 APIを提供してこの価値情報を外部から操作させる、分散システム上の計算実体で。例として、以下のようなものがある。
【００５９】
本発明チップ：
価値情報を安全に格納する、耐タンパ性を有するＬＳＩチップである。
【００６０】
本発明チップボックス：
価値情報を安全に格納する、耐タンパをもった筺体に収められた大容電子金庫。
【００６１】
A-ii) 本発明チップ搭載サービスクライアント（SCs）
本発明チップ搭載コンテンツホールダに格納された価値情報に本発明チップ APIを介してする計算実体。例えば、以下のようなタイプがある。
【００６２】
本発明チップ：
本発明チップ自体も高度なものはクライアントとしての機能ももつ。
【００６３】
発行サーバ：
価値情報を発行し本発明チップ搭載コンテンツホールダに格納する。
【００６４】
サービス現場システム：
本発明チップに格納された価値情報を用いたアプリケーションシステム。電子チケットのゲートなどが含まれる。
【００６５】
※ 本発明チップ搭載サービスクライアント且つ本発明チップボックスである計算実体も存在することに注意。
【００６６】
(B) 暗号／認証ネットワーク系（AENI:Authentication/Encryption Network Infrastructure）
本発明チップが公開鍵暗号系の認証及び暗号を実装した場合の、認証系。認証局が主な役割となる
(C) アプリケーションネットワーク系（ANI:Application Network Infrastructure）
アプリケーションに依存した各種通信系。例えば、電子チケットであれば、チケットの検索や購入を指示するネットワークプロトコルなどが含まれる。この購入の指示までがANI の枠組みで行われ、その後、価値情報であるチケット本体の移動は、本発明チップの機能を使ったENIで行われる。
【００６７】
2.2 本発明チップ識別子（本発明チップID）
本発明チップ搭載コンテンツホールダとサービスクライアントは、ユニークな識別子をもち、それぞれ本発明チップ識別子（本発明チップID）と呼ぶ。本発明チップ識別子は、ネットワーク上で、本発明チップコンテンツホールダやサービスクライアントの認証、メッセージの経路制御などに用いられる。本発明チップIDは、１６オクテット（１２８ビット）数で表現される。
【００６８】
※ 本発明チップIDは、ENIでの通信プロトコルで用いられる識別子の交換フォーマットであり、その本発明チップ内での内部保存形式を定めるものではない。
【００６９】
※経路制御の実装の容易性を考慮すると、ＥＮＩのネットワーク層のプロトコルにおける識別子を直接本発明チップＩＤとする実装方法も考えられる。たとえば、本発明チップＩＤの下位ビットがそのままネットワークアドレスであるなど。
【００７０】
※ 所有者の本発明チップIDは、「0x00〜00」（all"0"）とする。
【００７１】
例えば、Ｘという本発明チップIDをもった本発明チップ搭載サービスクライアントが所有者認証モードで認証されてセッションをはり、そのセッションの中でファイルを作ったとき、そのファイルの発行者ID欄は「０」が格納されるものとする。
【００７２】
※ 管理運用のスーパーユーザの本発明チップIDは「0xff〜ff」（all"1"）とする。
【００７３】
３．本発明チップ概要
3.1 本発明チップ
本発明チップは、価値情報を用いた各種会社サービスを直接享受する利用者が価値情報を携帯するために用いる小型計算実体であり、本仕様書が主に扱う対象である。通常、ICカード、スマートカード、携帯型端末といったハードウェア上に実装されることが多いと考えられている。これらのハードウェアには、備えている情報処理能力や資源の差が大きいこと、耐タンパーチップ技術が発展段階であることを考慮し、本発明チップの仕様は、様々なハードウェアに応じた、多様な仕様を提供し、インタフェースのみを共通化し、シリーズ化を図る。
【００７４】
【表１】
0004326189.tif 000002
表：本発明チップ仕様のシリーズ
3.2 データ構造モデル
本発明チップボックスや本発明チップに格納される価値情報は、次の階層的なデータ構造として外部から見えるものとする。
【００７５】
●フォールダ
複数のファイルのセットをまとめる構造。
【００７６】
本発明チップ/１６にルートフォルダだけが存在する。
【００７７】
●ファイル
価値情報を格納する資源。ファイルの中にはレコードが格納されるが、本発明チップ／１６では、一つのファイルに単一のレコードだけが格納される構造をとる。
【００７８】
3.3 本発明チップ API
本発明チップは、本発明チップ搭載サービスクライアントから、本発明チップ APIによって動作する。
【００７９】
本発明チップ APIは、基本的に、以下の手順によるセッションベースのプロトコルである。
【００８０】
−本発明チップと本発明チップ搭載サービスクライアントの相互認証と暗号通信路の確立→セッション（トランザクション）の確立
−命令メッセージの送付
−セッション（トランザクション）の切断
※セッション／トランザクション方式はメッセージ交換回数が多くなるため、タッチ&ゴーのような高応答性が求められる応用に適さないことがある。そこで、命令メッセージ毎に認証や暗号を適用する。非セッションプロトコルも一部の命令に関して取り入れる。
【００８１】
※ session ID＝０で発行した命令は、非セッションモードとして扱われる。
【００８２】
■セッション命令
eopn ses   Open Session
ecfm ses   Confirm Session
ecls ses   Close Session
■トランザクション命令
eopn tra   Open Transaction
ecfm tra   Confirm Transaction
ecom tra   Commit Transaction
eabo tra   Abort Transaction
■ファイル操作命令
ecre fil   Create File
edel fil   Delete File
etra fil   Transfer File
eupd fim   Update File Mode
eenc fil   Encode File
edec fil   Decode File
■レコード操作命令
eupd rec   Update Record
erea rec   Read Record
■鍵実体操作命令
ecre key   Create Key
edel key   Delete Key
eupd key   Update Key
■認証補助命令
ecfm cer   Confirm Certificate
■制御命令
epol chp   Polling Chip
eini car   Initialize Card
eupd cer   Update My Certificate
eupd cpk   Update CA Public Key
3.4 認証・アクセス制御・暗号
セッションを構築するときに、本発明チップと本発明チップ搭載サービスクライアントが相互認証を行う。この認証の具体的アルゴリズムは、チップに搭載されているハードウェア等に特化して、多様なものが使えるものとする。
【００８３】
●認証モード
認証には（情報）発行者モードと所有者モードのモードがあり、認証時に指定され、各モードによって認証アルゴリズムが（一般的には）異なる。
【００８４】
（情報）発行者モード：
本発明チップ搭載サービスクライアントをファイルの発行者として認証するモード。発行者のモードで認証された後は、その本発明チップサービスクライアントが作成したファイルには、発行者権限でアクセスでき、それ以外の資源には、その他権限でアクセスすることができる。
【００８５】
所有者のモード：
本発明チップ搭載サービスクライアントをチップの所有者として認証するモード。通常、パスワード等、人間にとって扱いやすい認証方法が使われる。所有者モードで認証された本発明チップ搭載サービスクライアントは所有者権限を持つ。
【００８６】
●相互認証後の本発明チップの状態
認証が終了すると、本発明チップは、以下の情報を保持することになる。
【００８７】
- 正規に認証された本発明チップ搭載サービスクライアントの本発明チップID
- 本発明チップ搭載サービスクライアントへ送るメッセージの暗号共通鍵
- 本発明チップ搭載サービスクライアントから来たメッセージの復号共通鍵
- セッションID
- セッションモード（発行者モード／所有者モード）
●アクセス制御
チップ、ファイル（、レコード）には、
- 発行者を表す本発明チップID
- アクセス制御リスト（権限毎に許可されている操作）
がつけられており、以下で定めるセッションがもつ権限に応じて、アクセスが制限される。
【００８８】
●ファイルアクセスモード
本発明チップID＝eidのSCが、本発明チップ内のファイルＦ（Ｆを作成した本発明チップSCの本発明チップID=F.eid）をアクセスするモードには、以下の３種類がある。
【００８９】
1. 所有者アクセス
所有者認証を通過してセッション中でのアクセス。
【００９０】
※ この場合、eid=0x00(all"0)である。
【００９１】
2. （情報）発行者アクセス
（情報）発行者認証を通過したセッション中から、
eid==F.eidの場合のアクセス。
【００９２】
3. その他のアクセス
（情報）作成者認証を通過したセッション中で、
eid !=F.eidの場合のアクセス、
もしくは、
非セッションモードによるアクセス。
【００９３】
●ルートフォルダへのアクセス制御リスト
【表２】
0004326189.tif 000003
ACL0   =0／1   ecre fil所有者アクセス不可／可
※ 所有者アクセスで、ルートフォルダーにファイルを作ることを許可するか
ACL1   =0／1   ecre filその他アクセス不可／可
※ 所有者アクセス以外で、ルートフォルダーにファイルを作ることを許可するかどうか
ACL2   =0／1   edel fil所有者アクセス不可／可
※ 所有者アクセスで、ルートフォルダーからファイルを消すことを許可するか
ACL3   =0／1   edel filその他アクセス不可／可
※ 所有者アクセス以外で、ルートフォルダからファイルを消すことを許可するかどうか
ACL4   =0／1   etra fil所有者アクセス不可／可
※ 所有者アクセスで、ルートフォルダーからファイルを転送することを許可するかどうか
ACL5   =0／1   etra filその他アクセス不可／可
※ 所有者アクセス以外で、ルートフォルダからファイルを転送することを許可するかどうか
【表３】
0004326189.tif 000004
※ ルートフォルダの（情報）発行者は所有者として運用する。
【００９４】
※ つまり、価値情報をルートフォルダにファイル／鍵実体を作成する一般の価値情報サーバは、ルートフォルダによっては、「その他アクセス」に相当する
●ファイルへのアクセス制御リスト
【表４】
0004326189.tif 000005
ACL0   =0／1   eupd rec所有者アクセス不可／可
ACL1   =0／1   eupd recその他アクセス不可／可
ACL2   =0／1   erea rec所有者アクセス不可／可
ACL3   =0／1   erea recその他アクセス不可／可
ACL4   =0／1   eupd fim所有者アクセス不可／可
ACL5   =0／1   eupd fimその他アクセス不可／可
ACL6   =0／1   elst fil所有者アクセス不可／可
ACL7   =0／1   elst filその他アクセス不可／可
ACL8   =0／1   edel fil所有者アクセス不可／可
ACL9   =0／1   edel filその他アクセス不可／可
ACLa   =0／1   etra fil所有者アクセス不可／可
ACLb   =0／1   etra filその他アクセス不可／可
ACLc   =0／1   eenc fil所有者アクセス不可／可
ACLd   =0／1   eenc filその他アクセス不可／可
ACLe   =0／1   edec fil所有者アクセス不可／可
ACLf   =0／1   edec filその他アクセス不可／可
【表５】
0004326189.tif 000006
●鍵実体のアクセス制御リスト
【表６】
0004326189.tif 000007
ACL0   =0／1   eupd key所有者アクセス不可／可
ACL1   =0／1   eupd keyその他アクセス不可／可
ACL2   =0／1   erea key所有者アクセス不可／可
ACL3   =0／1   erea keyその他アクセス不可／可
ACL4   =0／1   eupd kym所有者アクセス不可／可
ACL5   =0／1   eupd fimその他アクセス不可／可
ACL8   =0／1   edel key所有者アクセス不可／可
ACL9   =0／1   edel keyその他アクセス不可／可
ACLc   =0／1   eenc fil所有者アクセス不可／可
ACLd   =0／1   eenc filその他アクセス不可／可
ACLe   =0／1   edec fil所有者アクセス不可／可
ACLf   =0／1   edec filその他アクセス不可／可
【表７】
0004326189.tif 000008
４．本発明チップ APIプロトコル
4.1 パケット形式
※ パケット形式右に、「□」は暗号セッション時に、非暗号化部分、「■」は暗号化する部分、
※ ２オクテット以上の数値データは、Little Endianで格納する。
【００９５】
ルーティング・ヘッダ
【表８】
0004326189.tif 000009
本発明チップセッション部（往）
【表９】
0004326189.tif 000010
本発明チップセッション部（復）
【表１０】
0004326189.tif 000011
MAC・トレーラ
【表１１】
0004326189.tif 000012
※ MACは、暗号化された後のデータに対してつけられる。
【００９６】
4.2 命令識別子（コマンドID）一覧
本発明チップ APIの命令識別子（コマンドID）は正の１バイト整数で表現される。
【００９７】
本発明チップ／８，１６，３２のシリーズで共通に定められており、以下の通りである。
【００９８】
【表１２】
0004326189.tif 000013
表：本発明チップ APIの命令識別子一覧
※ 本発明チップ／１６第一バージョンでは実装せず。
【００９９】
4.3 エラーコード一覧
本発明チップにおける命令のエラーコードは、符号付き整数で表される。操作が正常に終了したときは、E_OK＝０または、操作の結果を表す正の数が返される。正常に終了せず、何かのエラーがあった場合には、負の数を返す。エラーコードは以下のコンベンションで表現される。
【０１００】
・"E_"と書かれたものは、チップ中のローカルな命令処理時に起きる一般的なエラーを表す（関連チップのエラーコードと共通）。
【０１０１】
・"EN_"と書かれたものは、通信関連の一般的なエラーを表す（セッションエラー以外は、関連チップのエラーコードと共通）。
【０１０２】
・"EE_"と書かれたものは、主に、セキュリティー関連の一般的なエラーを表す（本発明チップ専用）。
【０１０３】
【表１３】
0004326189.tif 000014
表：本発明チップ APIのエラーコード一覧
4.4 MAC・トレーラ
【表１４】
0004326189.tif 000015
1 チェックサム
【表１５】
0004326189.tif 000016
2 ＣＲＣ-ＣＣＩＴＴ
ＣＲＣ-ＣＣＩＴＴにおける生成多項式
Ｇ(Ｘ)＝Ｘ＾１６＋Ｘ＾１２＋Ｘ＾５＋１
※ パケットサイズが奇数の場合、後ろのバイトをnull paddingしてからＣＲＣをとる。
【０１０４】
【表１６】
0004326189.tif 000017
5 HMAC with MD5 [RFC 2085]
セッション／トランザクション暗号通信路で用いる
暗号通信路の秘密鍵暗号の鍵の始めの６４バイトを鍵Ｋとして用いる、
HMACは以下の式で計算する。
【０１０５】
MD5(K xor opad｜MD5(K xor ipad｜TEXT))
opad+the byte Ox36 repeated 64 times
ipad+the byte Ox5c repeated 64 times
"｜"means simple bit append.
e.g.("0100"｜"1001")=("01001001")
※ セッション確立後、暗号通信を行なっている場合、６４バイトの秘密鍵として、１６バイト暗号鍵を４回繰り返したもの、つまり、eopn ses（）のＲＳＡ認証による場合、交換された乱数を以下のようにアペンドしてを用いる。
【０１０６】
Ｋ＝Ｒａ｜Ｒｂ｜Ｒａ｜Ｒｂ｜Ｒａ｜Ｒｂ｜Ｒａ｜Ｒｂ
【表１７】
0004326189.tif 000018
4.5 セッション通信と非セッション型通信
本発明チップとの通信では、「相互認証」後に「暗号」通信路としてのセッション／トランザクションが確立し、以後「暗号」化されたメッセージ通信を行う。erea rec命令（レコードの内容を読む）に関しては、「認証」のフェーズを経ずに、直接実行する非セッション型通信をサポートする。この時、セッションを張らずに命令をsession ID＝０で呼び出すことで起動できる。この非セッション型通信によるアクセスは、そのファイルが「その他アクセス」を許可していれば成功する。この時、アクセスパケットは暗号化されない。これは、チケットのゲーティングなどの、タッチ＆ゴー応用の必要性が高い場所で用いられる。
【０１０７】
※ サービス提供者は、このモードを使うことにより、リスクは高くなる。以下の音源チップを搭載しています。
【０１０８】
５．eTP鍵証明書
セッション構築時における認証時の証明書の利用
1. 概要
本発明チップ／１６ではセッションを構築する時に相互認証は、公開鍵ベースかつ、PKIの存在を前提とする。
【０１０９】
- 本発明チップ搭載CHs、本発明チップ搭載SCsには、それぞれ本発明チップIDが割り振られ、発行時に、認証用の公開鍵／秘密鍵の対が割り当てられている。
【０１１０】
- セッション・トランザクション構築時に、正規に発行された（本発明チップID、公開鍵）対を持っていることを相互に示すことができるように、常に本発明チップ搭載CH、本発明チップ搭載SC内部に本発明チップ搭載CAの署名付の証明書を格納している。
【０１１１】
※ 本発明チップ搭載CAは、将来的には複数あることが想定されるが、本バージョンでは一つに制限する。
【０１１２】
- 証明書は、本発明チップID、公開鍵のペア、（id,PK id）が正規に発行されたものであることを、本発明チップ搭載CAの署名（S ca(id,PK id))が証明する。
【０１１３】
2. 詳細
本発明チップ搭載ノード（ここで、本発明チップ搭載SCと本発明チップ搭載CH両方を総称してそう呼ぶ）は、認証段階の前段階として、相手のデバイスとの間で、相互に自らの本発明チップの公開鍵を本発明チップデバイス発行者の署名つき証明書として送付する※注１）。
【０１１４】
本発明チップ搭載ノードは、証明書発行者の署名鍵の公開鍵を証明書形式で所有する。この鍵を使って正当性を確認する。
【０１１５】
「相手ノードから送られてきた公開鍵の正当性」
＝「発行者の正規な署名があること」＋「証明書が有効期間内であること」
を検証する※注２）。
【０１１６】
正当であることが確認できない場合にはセッションを確立せずに、通信を打ち切る※注３）。
【０１１７】
※注１）
公開鍵ベースの認証において、その後のセッションで、高価な価値の転送／交換の場合には、証明書が「廃止・破棄」されている場合も考慮する。本発明チップ／１６では、
1. CRL(破棄リスト）を使う（ただしデータが大きくなる）
または
2. 特定の証明書が「廃止・破棄」されているかを照会するサーバーアクセスの利用を行なう。
【０１１８】
※注２）
注１で述べた用に、これに加えて証明書の「廃止・破棄」の問い合わせを行なうこともできる。
【０１１９】
※注３）
証明書の正当性の確認が終了する前に、とりあえず認証のステップを開始して、相手に認証に必要なパケットを送信している間、あるいは相手からの認証に必要なパケットを待っている間に別タスクによっての正当性を確認する実装が有効である。チップ内で割り込みやマルチタスクOSが実現されている必要があるが、認証全体の処理時間を短く実装するために有効な手段である。
【０１２０】
上の説明は、本発明チップやカードのようなノードの通信の初期の設定にかかる時間の減らす工夫である。サーバーマシン上に実装されたノードは、不正な証明書をもつ装置から不正は証明書の送付によるサーバ問い合わせ処理の浪費というDoS を防ぐため、必ず最初に証明書の署名確認をオフラインで済ませてから「廃止・破棄」を確認した方が良い。
【０１２１】
eTP鍵証明書のフォーマット（ver.0.1）
【表１８】
0004326189.tif 000019
・ver：
証明書形式のバージョン番号。ver.0.1ではver="1"とする。
【０１２２】
・証明書番号：
その本発明チップIDに対する鍵の証明書シリアル番号。
【０１２３】
・署名法：
署名アルゴリズム指定子
０：証明書のkeyフィールド部分までをSHA-1ハッシュし、結果をRSA暗号化（実装）
１：予約
２：予約
３：予約
・発行者ID：
証明書の発行者（CA局）ID。ver.0.1では"0"に固定。
【０１２４】
・有効期間開始、有効期限終了：
証明書の有効期間。
【０１２５】
符号なし４オクテット整数（2000年1月1日AM0:00からの秒数の積算）
・ＣＡＫＥＹ＃：
CAが鍵の署名に複数の鍵を使っている場合に、それを区別するための鍵のID番号。ver.0.1では"０"に固定。
【０１２６】
・キー長さ：
後ろのつく鍵のビット長サイズ
※ 証明書中で、鍵が８オクテットの倍数にならない場合、それを格納するkeyフィールドの最後に"０"を付加し（null padding）８オクテットの倍数データとして格納する。keyフィールドの中の「キー長さ」ビットが有効な鍵である。
【０１２７】
・署名長：
最後につく署名に使うハッシュ（sha-1など）のビット長
※ ハッシュは、必要であれば最後にnull paddingして８オクテットの倍数のデータとしてから、CAの鍵で暗号化して署名を作成する。
【０１２８】
署名を確認する時には、最後につくこの８オクテットの整数倍のデータを、本発明チップ搭載ノードが保存するCAサーバーの公開鍵で復号する。その復号値の中で、先頭の署名長ビットが確認に用いるハッシュ値となる。
【０１２９】
・具体的な長さの例：（RSA/sha-1署名を使った場合）
- ＲＳＡ
本発明チップ認証公開鍵はRSAで1024ビットとする。
【０１３０】
1024bits＝128bytes＝16×8bytesである。
【０１３１】
sha-1を署名のためのハッシュ関数として使う。
【０１３２】
- sha-1
sha-1の出力は160bits.
160bits=20bytes.
このバイト長をnull paddingして８の倍数にして２４バイトデータをRSA暗号で署名する。
【０１３３】
証明書全体の長さは以下のように計算できる。
【０１３４】
0004326189.tif 000020
【０１３５】
署名の部分は暗号結果は1024ビットを必要とするので、128バイトの長さを使う。
【０１３６】
ただし、鍵の部分は単純に128バイトとはならないので注意されたい。
【０１３７】
これはRSA鍵の場合、公開鍵として1024ビットと俗称している場合には1024bitsのＮと指数ｅ（ｅ，Ｎ）の対を念頭においており、鍵の部分には（ｅ，Ｎ）両方を入れる必要があるためである。
【０１３８】
RSAの場合、鍵フィールドには以下のようにe,Nを入れることにする。
【０１３９】
ｅのバイト長：（１バイト）
ｅの値そのもの：必要に応じてバイト単位まで広げてバイト列として埋める。これに続けてＮの値をバイト列として埋める。
【０１４０】
（ｅ，Ｎ）でｅ＝３の場合を例として考えてみると、鍵のフィールドには以下のように130バイトのバイトデータが入る。
【０１４１】
公開鍵＝0x01｜0x03｜Ｎのバイト列（128バイト）
130は、８の倍数でないので、136バイトまでパディングされて鍵データの占めるバイトは136となる。
【０１４２】
これで全体長が計算できる。
【０１４３】
0004326189.tif 000021
このようにｅ＝３の場合には、長さは総計で304バイトとなる。
【０１４４】
６．鍵実体
鍵実体は、本発明チップが通常のファイルに格納する、暗号鍵及び暗号鍵を使った価値情報操作に必要な情報をまとめたシステムデータ形式である。
【０１４５】
【表１９】
0004326189.tif 000022
暗号方式指定子：
KEY(1)、KEY(2)が、どの暗号アルゴリズムの鍵であるかを指定する。以下の通り、eopn sesにおける暗号通信路の暗号アルゴリズム指定と同じ方式で指定する。
【０１４６】
【表２０】
0004326189.tif 000023
７．本発明標準コンテンツ形式
標準コンテンツ形式は、本発明チップ内で価値情報操作を行なうことができる。標準コンテンツデータ形式である。鍵実体を操作することによって、暗号／復号操作を加え、その際に鍵実体の内部の課金情報をアトミックに変更することができる。
【０１４７】
基本的に、暗号化されたコンテンツを復号化する時に課金するという販売モデムを本発明チップの内部で確実に行なうことを想定している。
【０１４８】
■コンテンツ形式全体
【表２１】
0004326189.tif 000024
（Ａ）コンテンツヘッダ
【表２２】
0004326189.tif 000025
（Ｂ）課金ヘッダ
【表２３】
0004326189.tif 000026
（Ｃ）暗号化コンテンツ
【表２４】
0004326189.tif 000027
※ 暗号化KEY(1),(2)は、そのコンテンツの解読に必要な鍵実体に格納されている鍵を使って暗号化されている。本発明チップ／１６ではファイル容量の問題から、鍵実体の暗号として、共通鍵暗号だけを考え、公開鍵暗号は扱わないものとする。（ここの暗号化キーのデータ長が暗号後に、伸長してしまうため）
（Ｄ）署名トレーラ
【表２５】
0004326189.tif 000028
※ 署名の方式は、eTPパケットの署名トレーラと同じ形式とする。
【０１４９】
HMAC with MD５［RFC 2085］の場合の６４バイトの秘密鍵として、本コンテンツに含まれている暗号化KEY(1)と暗号化KEY(2)を、鍵実身の鍵で復号したＫ１、Ｋ２を使い、Ｋを以下の方法で生成する。
【０１５０】
Ｋ＝Ｋ１｜Ｋ２｜Ｋ１｜Ｋ２｜Ｋ１｜Ｋ２｜Ｋ１｜Ｋ２
■課金ヘッダ
【表２６】
0004326189.tif 000029
■暗号化コンテンツ
【表２７】
0004326189.tif 000030
■署名トレーラ
本発明チップのパケットと同様の仕様
８．鍵実体による本発明標準コンテンツ操作時の決算処理
鍵実体を使った計算方法は、以下の方式をとる。
【０１５１】
（１）本発明暗号化コンテンツの課金ヘッダの課金額（本発明チップ/16では、固定額のみ）を算出
（２）鍵実体のMONEYフィールドから、決算額の減算処理を行なう。
【０１５２】
0004326189.tif 000031
0004326189.tif 000032
［機能概要］
本発明チップに対して安全なセッション通信路を構築する。１パスで済む認証を用いる場合は、eopn sesを、２パス必要な認証を用いる場合はeopn sesとecnf sesをこの順序で用いる。
【０１５３】
このセッション構築によって、Callerである本発明チップ搭載サービスクライアント側と、Callee側である本発明チップ側とでセッション中のみ有効な一時的な共通暗号鍵が共有される。
【０１５４】
認証の方式、暗号の種類は、パケット内のパラメータよって選択可能。本発明チップ側で利用できない認証／暗号が指定された場合はエラーとなる。
【０１５５】
0004326189.tif 000033
0004326189.tif 000034
［送りパケット形式］
【表２８】
0004326189.tif 000035
【表２９】
0004326189.tif 000036
［戻りパケット形式］
【表３０】
0004326189.tif 000037
【表３１】
0004326189.tif 000038
0004326189.tif 000039
［送りパケット形式］
【表３２】
0004326189.tif 000040
【表３３】
0004326189.tif 000041
［戻りパケット形式］
【表３４】
0004326189.tif 000042
【表３５】
0004326189.tif 000043
［機能詳細］
open/confirm session命令は、本発明チップ搭載サービスクライアントと本発明チップが相互認証した上で安全な暗号通信路としてのセッションを確立する。具体的な動作は、認証・暗号方式に依存し、その方式は多くの場合本発明Nチップハードウェアの暗号支援機能に依存する（実装依存）。セッション確立プロトコルは、発行者モードによる認証と、所有者モードによる認証があり、open session命令のauthmodeパラメータによって区別される。
【０１５６】
■公開鍵暗号による発行者モード(authmode=ISSUER)認証
【表３６】
0004326189.tif 000044
0004326189.tif 000045
0004326189.tif 000046
【０１５７】
・取り出した乱数Rbのデジタル署名をＡの秘密鍵で作成する。
【０１５８】
0004326189.tif 000047
《Ｂ側の動作》
・authDataで受信したデータをＡの公開鍵で復号化してRaとデジタル署名を取り出す
・取り出したRaはセッション暗号の3DESの秘密鍵の一部にする。
【０１５９】
・取り出したRaのデジタル署名をＢの秘密鍵で作成する。
【０１６０】
・取り出した署名をＡの公開鍵で確認する。
【０１６１】
0004326189.tif 000048
【０１６２】
0004326189.tif 000049
0004326189.tif 000050
0004326189.tif 000051
0004326189.tif 000052
※ これで、Ａ、Ｂ双方に(Ra,Rb)のペアが残され、ここから、一定のアルゴリズムでセッション共通鍵を生成する。
【０１６３】
■セッション確立後の暗号通信パラメータの設定
（例）３ＤＥＳの場合
Ra-Rb-RaによるE-D-E方式による3DES暗号とする。この時セッションIDはeopn ses（）の往パケットのsid欄に格納されていた値を利用する。つまり最初の呼び出したcallerが指定したsession idをそのまま利用することになる。
【０１６４】
（例）ＤＥＳの場合
Rbを鍵としたDES暗号とする。
【０１６５】
この時セッションIDはRaを利用する。
【０１６６】
■秘密鍵暗号による所有者モード(authmode=OWNER)認証
eopn ses、ecfm sesを用いた２パス式の所有者認証によるセッションの確立動作の例を以下に示す。ここでの方法は、本発明チップが所有者に依存したパスワードを保持し、それを利用して認証を行う。認証が開始された時に、本発明チップが乱数を発生してＲ／Ｗに送信する。その後、Ｒ／Ｗ側でその乱数を用いてパスワードを暗号化して、本発明チップに送る方式を基本とする。
【０１６７】
【表３７】
0004326189.tif 000053
（１）eopn ses(Ａ→Ｂ)
乱数Ｒａを生成し、
・ID Ａ
・Ｒａ
をＢに送る。
【０１６８】
（２）eopn ses(Ａ←Ｂ)
乱数Ｒｂを生成し、
・Ｘ1=Ｅ1 Key(ID Ａ｜Ra)
・Ｘ2=Ｅ2 P(Pb)
を計算し、Ａに戻す
（３）ecfm ses(Ａ→Ｂ)
ア．Ｄ1 Key(X1)で復号して、Ｒａを確認する
（正しい本発明チップであることを認証）。
【０１６９】
イ．Ｒ Ｂ=Ｄ2 Ｐ(X2)を計算しＸ２を復号してＲｂを取り出す。
【０１７０】
ウ．Ｒ Ｂを部分ビット反転などで変形したＲ'ｂを生成し、
・Ｙ=Ｅ3 Ｐ(R'b)
を生成しＢに送る。
【０１７１】
（４）cefm ses(Ａ←Ｂ)
Ｄ3 ｐ(Y)で復号して、Ｒ'ｂを確認（正しい所有者が本発明チップ搭載サービスクライアントを経由して操作していることを認証）。
【０１７２】
ＲａからセッションID(sid)を生成し、Ａに戻す
※ ここで、"｜"は、ビット列をappendしてつなげるという意味。例えば、
Ａ="010010011"、Ｂ="00100101"であれば、
(Ａ｜Ｂ)="01001001100100101"である。
【０１７３】
※ ID Ａ，ID Ｂはそれぞれ、本発明チップ搭載サービスクライアント(Ａ）、本発明チップ
(Ｂ)の本発明チップID(128ビット)である。
【０１７４】
※ E2をDESだとするならば、E3は引数をビット反転してDESする。
【０１７５】
セッション終了
Close Session
［機能概要］
セッションを終了する。
【０１７６】
0004326189.tif 000054
［送りパケット形式］
【表３８】
0004326189.tif 000055
【表３９】
0004326189.tif 000056
［戻りパケット形式］
【表４０】
0004326189.tif 000057
【表４１】
0004326189.tif 000058
［アクセス制御］
この命令は、セッションを構築した本発明チップ搭載クライアントであれば、常に利用できる。
【０１７７】
［機能詳細］
確立しているセッションを終了する。
【０１７８】
10.2 トランザクション管理命令群
トランザクションセッションの構築
Open/Confirm Transaction
［機能概要］
本発明チップに対してトランザクションセッションを構築する。１パスで済む認証を用いる場合は、eopn traを、２パス必要な認証を用いる場合はeopn traとecnf traとをこの順序で用いる。
【０１７９】
※ 基本的な動作は、eopn ses,ecfm sesと同様である。ただ、その後の処理のロールバックが可能になるようになってるところが異なる。
【０１８０】
0004326189.tif 000059
0004326189.tif 000060
［送りパケット形式］
【表４２】
0004326189.tif 000061
【表４３】
0004326189.tif 000062
［戻りパケット形式］
【表４４】
0004326189.tif 000063
【表４５】
0004326189.tif 000064
0004326189.tif 000065
［送りパケット形式］
【表４６】
0004326189.tif 000066
【表４７】
0004326189.tif 000067
［戻りパケット形式］
【表４８】
0004326189.tif 000068
【表４９】
0004326189.tif 000069
［機能詳細］
認証、暗号化に関しては、eopn ses、ecfm sesと同様。
【０１８１】
但し、トランザクションが確立した後は、以下の本発明チップ APIだけが発行可能で、その他のものを発行すると、エラーになる。
【０１８２】
・Create File       ecre fil
．Delete File       edel fil
・Create Record     ecre rec
・Delete Record     edel rec
・Update Record     eupd rec
ここで発行された命令列は、ecom traが発行された時に反映され、eabo traが発行された時、または一定時間待ってecom traが発行されずタイムアウトしたときには完全にロールバックすることが保証されなければならない。
【０１８３】
トランザクション終了
Commit/Abort Transaction
［機能概要］
トランザクションを終了する。コミットして終了する場合、ecom tra、アボートして終了する場合は、cabo tarを使う。
【０１８４】
0004326189.tif 000070
［送りパケット形式］
【表５０】
0004326189.tif 000071
【表５１】
0004326189.tif 000072
［戻りパケット形式］
【表５２】
0004326189.tif 000073
【表５３】
0004326189.tif 000074
0004326189.tif 000075
［送りパケット形式］
【表５４】
0004326189.tif 000076
【表５５】
0004326189.tif 000077
［戻りパケット形式］
【表５６】
0004326189.tif 000078
【表５７】
0004326189.tif 000079
［アクセス制御］
この命令は、トランザクションを構築した本発明チップ搭載サービスクライアントであれば、常に利用できる。
【０１８５】
［機能詳細］
・確立しているトランザクションをコミット／アボートする。
【０１８６】
・コミットされた場合は、ecfm tra〜ecom traの間で発行された命令をすべて、本発明チップの不揮発性記憶に反映させる。
【０１８７】
・アボートされた場合、または一定時間待ってもコミットが来ない時は、 tra〜ecom traの間で発行された命令をすべて、本発明チップの不揮発性記憶に反映させる。
【０１８８】
10.3 ファイル管理命令群
［実装制限事項］
本システムにおけるファイルは、以下の制限を持つ。
【０１８９】
・使えるファイルの数の上限    50
・ファイルID                  0〜49
・ファイルのサイズ上限        256（オクテット）
ファイルの作成
Create File
［機能概要］
（空）ファイルを作成する。
【０１９０】
0004326189.tif 000080
［送りパケット形式］
【表５８】
0004326189.tif 000081
【表５９】
0004326189.tif 000082
［戻りパケット形式］
【表６０】
0004326189.tif 000083
【表６１】
0004326189.tif 000084
［アクセス制御］
・発行者モード（親フォルダのISSUER 本発明チップID=Sessionを構築したＳＣの本発明チップID)であればいつでも利用できる。
【０１９１】
・親フォルダのアクセス制御リストで許可されていれば、所有者モード・他者モードで利用できる。
【０１９２】
［動作の詳細］
fidで指定したファイルIDを持ったファイルを作成する。指定したfidが既に利用されている場合はエラーとなる。
【０１９３】
ファイルの削除
Delete File
［機能概要］
ファイルを削除する。
【０１９４】
0004326189.tif 000085
［送りのパケット形式］
【表６２】
0004326189.tif 000086
【表６３】
0004326189.tif 000087
［戻りパケット形式］
【表６４】
0004326189.tif 000088
【表６５】
0004326189.tif 000089
［アクセス制御］
・edel filが実行できるためには、以下の条件を満たす必要がある。二種類のアクセス制御リストが関連するので注意が必要である。
【０１９５】
（ＣＡＳＥ １）所有者認証アクセスの場合
1. ルートフォルダが「所有者アクセス」でedel filできるように許可されてなければならない。つまりルートフォルダのACL2==１でなければならない。
【０１９６】
2. 対象ファイルが「所有者アクセス」でedel filできるように許可されてなければならない。つまりそのファイルのACL8==１でなければならない。
【０１９７】
（ＣＡＳＥ ２）発行者認証アクセスの場合
1. ルートフォルダが「その他アクセス」でedel filできるように許可されてなければならない。つまりルートフォルダのACL3==１でなければならない。
【０１９８】
2. 対象ファイル側のACLには関係しない。（常にＯＫ）
（ＣＡＳＥ ３）その他アクセスの場合
1. ルートフォルダが「その他アクセス」でedel filできるように許可されてなければならない。つまりルートフォルダのACL3==１でなければならない。
【０１９９】
2. 対象ファイルが「その他アクセス」でedel filできるように許可されてなければならない。つまりそのファイルのACL9==１でなければならない。
【０２００】
［動作の詳細］
fidで指定したファイルIDを持ったファイルを削除する。ファイルの物理的位置を指す制御ブロックをクリアし、不揮発性記憶領域を解放するだけでなく、中を必ず０クリアまたは１クリアする。
【０２０１】
ファイルの譲渡要求
Request File Transfer
［機能概要］
ファイルの内容を他の本発明チップ搭載コンテンツホールダに譲渡する。
【０２０２】
0004326189.tif 000090
［パケット形式］
【表６６】
0004326189.tif 000091
【表６７】
0004326189.tif 000092
［戻りパケット形式］
【表６８】
0004326189.tif 000093
【表６９】
0004326189.tif 000094
［動作詳細］
このシステムコールが呼ばれたチップは、以下の一連の処理を行う。
【０２０３】
譲渡相手のチップに対して、以下の本発明チップ API列を発行する。
【０２０４】
0004326189.tif 000095
途中で何らかの異常が検知された場合は、トランザクションはアボートされる。また、正常にコミット命令が到達しない限りセッション中の命令が反映されることもない。
【０２０５】
ファイルのデータを暗号化・復号化する
Encode/Decode File
［機能概要］
本発明暗号化コンテンツが格納されているファイルを復号する。
【０２０６】
0004326189.tif 000096
［パケット形式］
【表７０】
0004326189.tif 000097
【表７１】
0004326189.tif 000098
［戻りパケット形式］
【表７２】
0004326189.tif 000099
【表７３】
0004326189.tif 000100
［機能詳細］
■edec fil（）の動作
【表７４】
0004326189.tif 000101
■eenc fil（）の動作
【表７５】
0004326189.tif 000102
※ コンテンツの暗号化は、「元のＫＥＹ」で行なう。
【０２０７】
※ ＫＥＹの暗号化は、指定した鍵実体の鍵で行なう。
【０２０８】
※ 署名は、暗号化が終了したデータに関して作用する。
【０２０９】
※ HMAC with MD5の時の６４ビット秘密鍵Ｋは、元のＫＥＹを４回繰り返したものを使う。
【０２１０】
ファイルのアクセス制御リストの変更
Update File Mode
［機能概要］
ファイルのアクセス制御リストを変更する。
【０２１１】
0004326189.tif 000103
［送りパケット形式］
【表７６】
0004326189.tif 000104
【表７７】
0004326189.tif 000105
［戻りパケット形式］
【表７８】
0004326189.tif 000106
【表７９】
0004326189.tif 000107
［アクセス制御］
・対象ファイルに対して発行者モード（ファイルのISSUER 本発明チップID＝sessionを構築したＳＣの本発明チップID）であればいつでも利用できる。
【０２１２】
・対象ファイルのアクセス制御リストで許可されていれば、所有者モード・他者モードで利用できる。
【０２１３】
［機能概要］
ファイルのアクセス制御リストを、指定した値に変更する。
【０２１４】
定義済ファイルのリストを得る
List File ID
［機能概要］
定義済ファイルのリストを得る
0004326189.tif 000108
［送りパケット形式］
【表８０】
0004326189.tif 000109
【表８１】
0004326189.tif 000110
［戻りパケット形式］
【表８２】
0004326189.tif 000111
【表８３】
0004326189.tif 000112
［アクセス制御］
・対象ファイルに対して発行者モード（ファイルのISSUER 本発明チップID＝Sessionを構築したＳＣの本発明チップID）であればいつでも利用できる。
【０２１５】
・対象ファイルのアクセス制御リストで許可されていれば、所有者モード・他者モードで利用できる。
【０２１６】
10.4 レコード管理命令群
レコードのデータを更新
Update Record
［機能概要］
レコードの内容を変更する。
【０２１７】
0004326189.tif 000113
［パケット形式］
【表８４】
0004326189.tif 000114
【表８５】
0004326189.tif 000115
［戻りパケット形式］
【表８６】
0004326189.tif 000116
【表８７】
0004326189.tif 000117
［アクセス制御］
・対象レコードに対して発行者モード（レコードのISSUER 本発明チップID＝Sessionを構築したＳＣの本発明チップID）であればいつでも利用できる。
【０２１８】
・対象レコードのアクセス制御リストで許可されていれば、所有者モード・他で利用できる。
【０２１９】
［動作の詳細］
blkレコードで、始めからcntオクテット分のデータを書き込む要求を出す。cntは、ハードウェアの条件によって上限が設けられることがある。実際に書き込まれたオクテット数がrCntに返る。
【０２２０】
レコードからデータを読む
Read Record
［機能概要］
レコードの内容を読み出す。
【０２２１】
0004326189.tif 000118
［パケット形式］
【表８８】
0004326189.tif 000119
【表８９】
0004326189.tif 000120
［戻りパケット形式］
【表９０】
0004326189.tif 000121
【表９１】
0004326189.tif 000122
［アクセス制御］
・対象レコードに対して発行者モード（レコードのISSUER 本発明チップID =Sessionを構築したＳＣの本発明チップID）であればいつでも利用できる。
【０２２２】
・対象レコードのアクセス制御リストで許可されていれば、所有者モード・他者モードで利用できる。
【０２２３】
［動作の詳細］
blkレコードの最初から、cntオクテット分のデータを読み込む要求を出す。cntは、ハードウェアの条件によって上限が設けられることがある。実際に読み込まれたオクテット数がrCntに返る。
【０２２４】
通常は、セッションが確立したところで発行されて実行されるが、タッチ＆ゴー応用の特化し、セッションを確立していない本発明チップ搭載サービスクライアントでも、sid=0で本命令を呼び出すことができる。この場合、レコードのアクセス制御リストで、その他権限での読み出しが許可されていると、命令の実行は成功する。
【０２２５】
10.5 鍵実体管理命令群
［実装制限事項］
本システムにおける鍵実体は、以下の制限を持つ。
【０２２６】
0004326189.tif 000123
0004326189.tif 000124
［パケット形式］
【表９２】
0004326189.tif 000125
【表９３】
0004326189.tif 000126
［戻りパケット形式］
【表９４】
0004326189.tif 000127
【表９５】
0004326189.tif 000128
鍵実体を削除する
Delete Key Object
［機能概要］
0004326189.tif 000129
［パケット形式］
【表９６】
0004326189.tif 000130
【表９７】
0004326189.tif 000131
［戻りパケット形式］
【表９８】
0004326189.tif 000132
【表９９】
0004326189.tif 000133
鍵実体を更新する
Update Key Object
［機能概要］
指定した鍵実体の金額を更新する。
【０２２７】
0004326189.tif 000134
［パケット形式］
【表１００】
0004326189.tif 000135
【表１０１】
0004326189.tif 000136
［戻りパケット形式］
【表１０２】
0004326189.tif 000137
【表１０３】
0004326189.tif 000138
鍵実体の情報を読む
Read Key Object
［機能概要］
指定した鍵実体の金額情報を読み出す。
【０２２８】
0004326189.tif 000139
［パケット形式］
【表１０４】
0004326189.tif 000140
【表１０５】
0004326189.tif 000141
［戻りパケット形式］
【表１０６】
0004326189.tif 000142
【表１０７】
0004326189.tif 000143
鍵実体のアクセス制御リストを更新する
Update Key Mode
［機能概要］
鍵実体のアクセス制御リストを更新する。
【０２２９】
※ 最初のバージョンでは未実装
0004326189.tif 000144
［パケット形式］
【表１０８】
0004326189.tif 000145
【表１０９】
0004326189.tif 000146
［戻りパケット形式］
【表１１０】
0004326189.tif 000147
【表１１１】
0004326189.tif 000148
定義済鍵実体のリストを得る
List Key Object ID
［機能概要］
定義済鍵実体のリストを得る
0004326189.tif 000149
［送りパケット形式］
【表１１２】
0004326189.tif 000150
【表１１３】
0004326189.tif 000151
［戻りパケット形式］
【表１１４】
0004326189.tif 000152
【表１１５】
0004326189.tif 000153
［アクセス制御］
・対象鍵実体に対して発行者モード（ファイルのISSUER 本発明チップID =Sessionを構築したＳＣの本発明チップID）であればいつでも利用できる。
【０２３０】
・対象鍵実体のアクセス制御リストで許可されていれば、所有者モード・他者モードで利用できる。
【０２３１】
10.6 認証補助管理命令群
eTP証明書をチェックする
Confirm Certificate
0004326189.tif 000154
0004326189.tif 000155
［パケット形式］
【表１１６】
0004326189.tif 000156
【表１１７】
0004326189.tif 000157
［戻りパケット形式］
【表１１８】
0004326189.tif 000158
【表１１９】
0004326189.tif 000159
■5.3 準本発明チップ API命令定義
次に記述するAPI命令は、その形式は本発明チップ API命令に準ずるが、必ずしも本発明チップ搭載サービスクライアントだけが発行する命令でなく、他の実体が発行する命令である。主に、ハードウェアに依存した管理、運用、また通信の下位階層をサポートするためのインタフェースが中心である。チップリーダライタユニットが発行したり、製造時のコンピュータが発行するケースがある。
【０２３２】
チップをポリングする
Poll CHIP
［機能概要］
本発明チップの状態を読み出す（実装依存、運用依存）。
【０２３３】
0004326189.tif 000160
［パケット形式］
【表１２０】
0004326189.tif 000161
【表１２１】
0004326189.tif 000162
［戻りパケット形式］
【表１２２】
0004326189.tif 000163
【表１２３】
0004326189.tif 000164
※ eardId、clientIdともにチップヘッダにつくので、本体の中には入らない。
【０２３４】
［アクセス制御］
このAPIは、常に利用できる。
【０２３５】
セッション中でなくてもよい。
【０２３６】
［機能の詳細］
epol carの戻りパケットのルーティングヘッダ部分のsrcId部分に、チップの本発明チップIDを格納して戻すため、誰でも本発明チップのIDを最初に取得するために用いることができる。
【０２３７】
セッションの中でなく、誰でも発行できる。
【０２３８】
チップを初期化する
Initialize CHIP
［機能概要］
本発明チップを初期化するために、チップ管理部を作成する。
【０２３９】
0004326189.tif 000165
［パケット形式］
【表１２４】
0004326189.tif 000166
【表１２５】
0004326189.tif 000167
［戻りパケット形式］
【表１２６】
0004326189.tif 000168
【表１２７】
0004326189.tif 000169
［動作の詳細］
与えられた引数に応じて、システム制御ブロックを初期化する。
【０２４０】
その他のメモリ領域は、すべて０クリアする。
【０２４１】
［アクセス制御］
本発明チップのsource 本発明チップID=Oxff…ff(all"1")の時のみ受け付ける。
【０２４２】
自認証公開鍵証明書入換
Update My Certificate
［機能概要］
本発明チップ自身の証明書を更新する。
【０２４３】
0004326189.tif 000170
［パケット形式］
【表１２８】
0004326189.tif 000171
【表１２９】
0004326189.tif 000172
［戻りパケット形式］
【表１３０】
0004326189.tif 000173
［戻りパケット形式（例）］
【表１３１】
0004326189.tif 000174
ＣＡ局公開鍵入換
Update CA Public Kye
［機能概要］
ＣＡ局の公開鍵交換する。
【０２４４】
0004326189.tif 000175
［パケット形式］
【表１３２】
0004326189.tif 000176
【表１３３】
0004326189.tif 000177
［戻りパケット形式］
【表１３４】
0004326189.tif 000178
［戻りパケット形式（例）］
【表１３５】
0004326189.tif 000179
暗号実装仕様
■ＤＥＳ
６４ビットの秘密鍵から５６ビットのＤＥＳ鍵の生成方法
以下の通り、各オクテットの最下位ビットをパリティビットとする（しかしチップでは無視するだけでチェックはしない）。上位７ビットを８オクテット分足した５６ビットをＤＥＳとして利用する。
【０２４５】
0004326189.tif 000180
鍵について、以下のように表現する。
【０２４６】
ｄ＝1024ビット（128オクテット）
ｎ＝1024ビット（128オクテット）
ｅ＝0x0003 固定（1オクテット）
秘密鍵sk=ｄ（128オクテット）
公開鍵pk=ｅの長さ(1オクテット)｜ｅ(1オクテット)｜ｎ(128オクテット)
【０２４７】
【発明の効果】
以上説明したように、本発明によれば、本発明の自律型ＩＣカードは、ＩＣカード端末を介して接続される通信装置を自ら認識し、その通信装置と直接的に通信を行うので、正確な情報の安全な通信を保証することができる。また、本発明の自律型ＩＣカードが、通信装置と相互に認証処理を行うと共に通信装置との通信に係る情報に対して暗号化／復号化を施す暗号処理部を有する構成とした場合、更に、通信装置の正規性を判断できると共に、その自律型ＩＣカードと、その通信装置との間に物理的に介在する装置によるデータ内容の盗難やデータの改竄の可能性を十分に低減することができる。特に、そのデータが電子チケット等のいわゆる価値情報にかかるものである場合、その意義は大きい。また、暗号処理部が、認識された通信装置の種別に応じて、複数の認証処理及び複数の暗号処理の中から適した認証処理及び暗号処理を選択してそれらの処理を行う場合、認識された通信装置に適した処理を行うことができる。
【図面の簡単な説明】
【図１】本発明におけるＩＣカードの一実施形態の論理的な構成を示す図である。
【図２】本発明の自律型ＩＣカードによるＩＣカード間通信を行うシステムの構成を示す図である。
【図３】本発明の自律型ＩＣカードによる通信を行う他のシステムの構成を示す図である。
【図４】従来におけるＩＣカードとＩＣカード端末との信号のやり取りを説明するための図である。
【図５】従来において、２枚のＩＣカードが互いに通信を行う場合の信号のやり取りを示す図である。
【符号の説明】
１，１ａ，１ｂ  自律型ＩＣカード
２，２ａ，２ｂ  ＩＣカードリーダ／ライター
３  ＩＣカード端末本体
４  ネットワーク
５  通信装置
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  不揮発性メモリ
１４  暗号処理部
１５  通信制御部
１６  外部通信インターフェース
１７  ホストデバイスインターフェース
１００    ＩＣカード
１００ａ  ＩＣカード
１００ｂ  ＩＣカード
２００    ＩＣカードリーダ／ライター
２００ａ  ＩＣカードリーダ／ライター
２００ｂ  ＩＣカードリーダ／ライター
３００    ＩＣカード端末本体
【図１】
0004326189.tif 000181
【図２】
0004326189.tif 000182
【図３】
0004326189.tif 000183
【図４】
0004326189.tif 000184
【図５】
0004326189.tif 000185