(57)【要約】【課題】  ユーザ・データを格納して、格納されたユーザ・データに関する情報を端末装置（２）に提供するために端末装置（２）と対話することが可能なタイプのデータ・セキュリティ装置（５）を提供する。【解決手段】  データ・セキュリティ装置（５）は、ユーザ・データを格納するためのメモリ（１０）と、セキュリティ装置（５）とデータ通信ネットワーク（３）に接続可能な端末装置（２）との間におけるデータ通信の伝送のためのインタフェース（７）と、コントローラ（８）とを有する。コントローラ（８）は、先ずユーザ・データに関して要求された情報の指標を含むメッセージを生成することによって、ユーザ・データに関する情報についての端末装置（２）からの要求を処理する。メッセージは、秘密データを用いて、メッセージがコントローラ（８）によって生成されたことの検証を可能にするように生成される。コントローラは、ネットワークにおいてメッセージを公開するための公開エンティティ（４）とネットワーク（３）を介して通信するための端末装置（２）に、メッセージを送信する。次いで、コントローラ（８）は、公開エンティティ（４）によって公開されたメッセージを符号化した、公開エンティティ（４）によって発行された暗号構成を、端末装置（２）から受信する。コントローラは、コントローラ（８）によって生成されたメッセージについて、暗号構成の有効性を検査し、それに続く、ユーザ・データに関して要求された情報の端末装置（２）への供給は、暗号構成に従う。対応する端末装置（２）及びシステム（１）も提供される。【選択図】      図３
2013520906.tif 000002
【特許請求の範囲】
【請求項１】
データ・セキュリティ装置（５）であって、
ユーザ・データを格納するためのメモリ（１０）と、
前記セキュリティ装置（５）とデータ通信ネットワーク（３）に接続可能な端末装置（２）との間におけるデータ通信の伝送のためのインタフェース（７）と、
前記ユーザ・データに関する情報についての前記端末装置（２）からの要求を処理するためのコントローラ（８）と
を備え、
前記コントローラ（８）は、
前記ユーザ・データに関して要求された前記情報の指標を含むメッセージを生成することであって、前記メッセージは、秘密データを用いて、前記メッセージが前記コントローラ（８）によって生成されたことの検証を可能にするように生成される、メッセージを生成することと、
前記ネットワークにおいて前記メッセージを公開するための公開エンティティ（４）と前記ネットワーク（３）を介して通信するための前記端末装置（２）に、前記メッセージを送信することと、
前記公開エンティティ（４）によって公開された前記メッセージを符号化した、前記公開エンティティ（４）によって発行された暗号構成を、前記端末装置（２）から受信することと、
前記コントローラ（８）によって生成された前記メッセージについて、前記暗号構成の有効性を検査することと、
前記暗号構成に従って、前記ユーザ・データに関して要求された前記情報を前記端末装置（２）に供給することと
によって、前記要求を処理するようになっている、データ・セキュリティ装置。
【請求項２】
前記コントローラ（８）は、前記暗号構成が、前記コントローラ（８）によって生成された前記メッセージについて有効である場合にのみ、前記ユーザ・データに関して要求された前記情報を前記端末装置（２）に供給するようになっている、請求項１に記載の装置。
【請求項３】
前記コントローラ（８）は、前記ユーザ・データに関して要求された前記情報の前記指標を暗号化して、秘密ユーザ鍵を用いて復号可能な暗号文を生成することによって、前記メッセージを生成するようになっている、請求項１又は請求項２に記載の装置。
【請求項４】
前記コントローラ（８）は、匿名鍵（ｋｅｙ−ａｎｏｎｙｍｏｕｓ）暗号化システムに従って前記指標を暗号化するようになっている、請求項３に記載の装置。
【請求項５】
前記コントローラ（８）はさらに、
前記ネットワーク（３）において前記公開エンティティ（４）によって公開されたメッセージから、前記端末装置（２）を介してメッセージ・データを受信することと、
前記メッセージ・データに対応する前記公開されたメッセージの中の前記コントローラ（８）によって生成されたいずれかのメッセージを、前記メッセージ・データから識別することと、
そのように識別された各メッセージについて、そのメッセージ中の前記指標に対応する前記ユーザ・データに関して要求された前記情報の記述を、ユーザに対して出力するために、前記端末装置（２）に送信することと
を含む監査プロセスを行うようになっている、請求項１〜請求項４のいずれかに記載の装置。
【請求項６】
前記コントローラ（８）は、前記コントローラによって生成された各メッセージについて、前記メッセージが前記コントローラによって生成されたことの検証を容易にする暗号チャレンジを計算し、前記暗号チャレンジを前記メッセージに含めるようになっている、請求項１〜請求項５のいずれかに記載の装置。
【請求項７】
前記コントローラ（８）は、前記公開エンティティに関連付けられた公開／非公開鍵ペアの公開鍵を用いて、メッセージ内の暗号チャレンジを暗号化するようになっている、請求項６に記載の装置。
【請求項８】
前記コントローラ（８）は、前記装置（５）によるいかなるメッセージ固有のデータの格納も介在させずに、前記メッセージが前記コントローラ（８）によって生成されたことを所定の秘密値を用いて検証できるように、前記メッセージのための乱数と前記秘密値とを用いて前記暗号チャレンジを計算するようになっている、請求項６又は請求項７に記載の装置。
【請求項９】
前記コントローラ（８）は、前記監査プロセスにおいて、
前記公開エンティティ（４）によって公開されたメッセージから、前記端末装置（２）を介して暗号チャレンジを受信し、
前記チャレンジを、前記乱数及び前記所定の秘密値を用いて前記コントローラによって計算される全ての可能なチャレンジと比較することによって、前記コントローラ（８）によって生成されたいずれかのメッセージを前記チャレンジから識別する
ようになっている、請求項８及び請求項５に記載の装置。
【請求項１０】
前記コントローラ（８）は、
前記チャレンジが、前記乱数に依存し、前記秘密値に依存する所定の関係を有する、一対の値を含むように、メッセージについて前記暗号チャレンジを計算し、
前記監査プロセスにおいて、前記公開エンティティ（４）によって公開されたメッセージから、前記端末装置（２）を介して暗号チャレンジを受信し、前記所定の関係を有する一対の値を含むいずれかのチャレンジを識別することによって、コントローラ（８）によって生成されたいずれかのメッセージを前記チャレンジから識別する
ようになった、請求項８及び請求項５に記載の装置。
【請求項１１】
前記装置（５）はスマート・カードを備える、請求項１〜請求項１０のいずれかに記載の装置。
【請求項１２】
ユーザ・データを格納するためのメモリ（１０）と、セキュリティ装置（５）とデータ通信ネットワーク（３）に接続可能な端末装置（２）との間におけるデータ通信の伝送のためのインタフェース（７）とを有する、前記データ・セキュリティ装置（５）のプロセッサに、前記ユーザ・データに関する情報についての前記端末装置（２）からの要求を処理するための方法を行わせるプログラム・コード手段を含むコンピュータ・プログラムであって、前記方法は、前記要求の各々について、
前記ユーザ・データに関して要求された前記情報の指標を含むメッセージを生成することであって、前記メッセージは、秘密データを用いて、前記メッセージが前記セキュリティ装置（５）によって生成されたことの検証を可能にするように生成される、メッセージを生成することと、
前記ネットワークにおいて前記メッセージを公開するための公開エンティティ（４）と前記ネットワーク（３）を介して通信するための前記端末装置（２）に、前記メッセージを送信することと、
前記公開エンティティによって公開された前記メッセージを符号化した、前記公開エンティティ（４）によって発行された暗号構成を、前記端末装置（２）から受信することと、
前記コントローラ（８）によって生成された前記メッセージについて、前記暗号構成の有効性を検査することと、
前記暗号構成に従って、前記ユーザ・データに関して要求された前記情報を前記端末装置（２）に供給することと
を含む、コンピュータ・プログラム。
【請求項１３】
端末装置（２）であって、
前記端末装置（２）とデータ通信ネットワーク（３）との間におけるデータの通信のための通信インタフェース（１６）と、
前記端末装置（２）とユーザ・データを格納するメモリ（１０）を有するデータ・セキュリティ装置（５）との間におけるデータの通信のためのセキュリティ装置インタフェース（１２）と、
前記ユーザ・データに関する情報について前記データ・セキュリティ装置（５）に要求を送信するための端末コントローラ（１７）と
を備え、前記端末コントローラ（１７）は、前記セキュリティ装置に送信された前記要求において要求された前記ユーザ・データに関する情報を受信する前に、
前記セキュリティ装置に送信された前記要求に応答する前記セキュリティ装置（５）から、メッセージを受信し、
前記ネットワークにおいて前記メッセージを公開するための公開エンティティ（４）に、前記データ通信ネットワーク（３）を介して前記メッセージを送信し、
前記公開エンティティによって公開された前記メッセージを符号化した、前記公開エンティティ（４）によって発行された暗号構成を、前記公開エンティティ（４）から受信し、
前記暗号構成を前記セキュリティ装置（５）に送信する
ようになっている、装置。
【請求項１４】
データ通信ネットワーク（３）に接続可能であり、ユーザ・データを格納するメモリ（１０）を有するセキュリティ装置（５）とデータの通信を行うように動作可能な、端末装置（２）のプロセッサに、前記ユーザ・データに関する情報を要求するための方法を実行させるプログラム・コード手段を含むコンピュータ・プログラムであって、前記方法は、前記ユーザ・データに関する情報について前記セキュリティ装置（５）に要求を送信することと、前記要求において要求された情報を受信する前に、
前記要求に応答する前記セキュリティ装置（５）からメッセージを受信することと、
前記ネットワークにおいて前記メッセージを公開するための公開エンティティに、前記データ通信ネットワーク（３）を介して前記メッセージを送信することと、
前記公開エンティティによって公開された前記メッセージを符号化した、前記公開エンティティ（４）によって発行された暗号構成を、前記公開エンティティ（４）から受信することと、
前記暗号構成を前記セキュリティ装置（５）に送信することと
を含む、コンピュータ・プログラム。
【請求項１５】
データ通信ネットワーク（３）に接続可能な、請求項１３に記載の端末装置（２）と、
前記ユーザ・データに関する情報について前記端末装置（２）からの要求を処理するための、請求項１から請求項１１までのいずれか１つに記載のデータ・セキュリティ装置（５）と、
前記端末装置（２）とのデータの通信のために前記ネットワーク（３）に接続された公開エンティティであって、前記公開エンティティは、前記端末装置（２）から前記ネットワーク（３）を介して前記メッセージを受信し、前記ネットワーク（３）において前記メッセージを公開し、前記公開されたメッセージを符号化した暗号構成を生成し、前記暗号構成を前記端末装置（２）に送信するようになっている、公開エンティティと、
を備えるシステム（１）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ユーザ・データを格納して、格納されたユーザ・データに関する情報を端末装置に提供するために端末装置と対話することが可能なタイプのデータ・セキュリティ装置のためのトランザクション監査に関する。これらのトランザクションの信頼できる監査を可能にするデータ・セキュリティ装置が、こうしたセキュリティ装置と共に用いるための端末装置、これらの装置を利用したシステム、及び、こうした装置の動作を制御するためのコンピュータ・プログラムと共に提供される。
【背景技術】
【０００２】
何らかのリソースにアクセスするためにユーザが特定の情報を証明することが必要な数多くのシナリオがある。この情報は、秘密のもの、非公開のもの、又は個人的なものであるか、そうでなければ権限のない開示に対して保護するに値するとみなされる場合があるという点で、セキュリティに配慮する必要があるものであることが多い。こうした情報は、端末装置と対話するようになっているデータ・セキュリティ装置のメモリに、ユーザ・データとして格納することが可能である。セキュリティ装置は、当のリソースにアクセスするために必要などんな情報でも証明できるように、格納されたユーザ・データに関する情報を端末装置に提供することが可能である。証明に成功すると、端末装置は、ユーザにリソースへのアクセスを許可する。
【０００３】
スマート・カードが、こうしたデータ・セキュリティ装置のための共通のフォームファクタである。例として、電子身分証明（ｅＩＤ）カード、クレジット・カード及び健康保険証カードが挙げられる。カードに格納されるユーザ・データは、不正アクセスから保護して有効性を保証するために、典型的には、何らかの方法、例えば暗号による符号化処理によって、保護される。具体的には、ユーザ・データは、通常、暗号構成、具体的にはユーザ・データによって表現される情報を検証した信用できる機関によって発行される何らかの形式の暗号資格情報に、符号化される。例えば属性に基づくシステムでは、ユーザ情報の項目は、証明されることになる情報に応じて定義される所定の「属性」、例えば出生市、年齢、職業、髪の色等を指定する属性に割り当てられた値によって、表現される。属性値は、表現される情報の正確さを認証する資格情報の中に、ユーザ・データとして符号化することができる。安全保護の目的で、資格情報システムは、理想的には、証明されるべき事項以外には何も明らかにすることなく格納されたユーザ・データについて証明を行うことができるように、設計される。従って、格納されたユーザ・データについて何らかの特定の情報の証明を要求する端末装置は、ユーザ・データについて他に何も知ることなく、必要な証明を得ることができる。
【０００４】
端末装置は、データ・セキュリティ装置と対話するときに、格納されたユーザ・データについて必要な情報を指定する要求をセキュリティ装置に送信する。例えば属性に基づくシステムにおいては、この指定、即ち「ポリシー」は、開示されることが必要ないずれかの属性値、及び／又は、特定の属性値について証明されることが必要なものを示す。次いで、セキュリティ装置は、端末装置との間で、ポリシーを満たすユーザ属性を認証する有効な資格情報の所有を明示する暗号証明のやりとりを行う。
【０００５】
端末とセキュリティ装置との間の情報交換の信頼できる監査には、課題がある。具体的には、ユーザが、そのユーザの種々のトランザクションにおいて端末から要求される情報を検査できることが望ましいが、この目的で信頼できる監査情報を得ることは容易ではない。この課題には、種々の要因がかかわっている。例えば、スマート・カードのような典型的なデータ・セキュリティ装置は、一般に、それ自体のユーザ・インタフェースを持っていない。従って、これらの装置は、トランザクション毎にユーザに監査情報を表示することができない。端末装置は、通常は、ユーザ・インタフェースを備えているが、これらの装置は一般に信頼できず、従って、ユーザは、これらの装置が監査情報を正直に提示していると信じることができない。特に、信頼できない端末が、セキュリティ装置との対話についてユーザに通知せずに、ユーザ・データについての多くの質問をセキュリティ装置に尋ねる恐れがある。次いで、端末は、これら全てのトランザクションから、機密のユーザ・データを推測することができる可能性がある。例えば、セキュリティ装置が、年齢の証明を年齢の範囲（例えば、「私は１８歳より上である」、又は「私は１６歳より下である」等）によって提供する場合には、端末は、異なる年齢ポリシーを伴う多数の要求から、ユーザの証明された実際の年齢を、又は実際の誕生日さえも、推測する可能性がある。セキュリティ装置は、それ自体のユーザ・インタフェースを持たないため、この悪用をユーザに直接通知することができない。
【０００６】
別の課題は、スマート・カードのようなデータ・セキュリティ装置内の永続的メモリの書換え能力に限界があることである。このことによって、セキュリティ装置がユーザのトランザクションにおける自己の監査証跡（audit trail）を記録することは、非現実的なものとなる。例えば、現在のｅＩＤカードに採用されるＥＥＰＲＯＭ（電気的消去・プログラム可能読出専用メモリ）は、（固有の消去サイクルによって生じる消耗のため）１０，０００回程度の書込み動作に制限される。実際に、ｅＩＤカードの機能は、ＥＥＰＲＯＭへの書込み動作を可能な限り回避することが理想的である。これは、一部には、カードが、１つのＥＥＰＲＯＭセルが壊れただけでもサービスを完全に拒否するように設計されているためであり、過剰な書込み動作のために、余りにも早くｅＩＤカードの使用期限がくる場合があった。
【０００７】
データ・セキュリティ装置内の揮発性メモリは、当然のことながら、複数の非開示要求を伴う端末の不正使用の詳細を記録することができる。しかし、装置の揮発性の状態は電源断の度に消去されるため、端末は、装置の揮発性の状態をリセットすることが可能であり、そのため悪用の揮発性の記録も削除する可能性がある。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Ｔ．ＥｌＧａｍａｌ、「Ａ  Ｐｕｂｌｉｃ  Ｋｅｙ  Ｃｒｙｐｔｏｓｙｓｔｅｍ  ａｎｄ  ａ  Ｓｉｇｎａｔｕｒｅ  Ｓｃｈｅｍｅ  ｂａｓｅｄ  ｏｎ  Ｄｉｓｃｒｅｔｅ  Ｌｏｇａｒｉｇｈｍｓ」、Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ：ＣＲＹＰＴＯ  １９８４、Ｓｐｒｉｎｇｅｒ、１９８５年、ＬＮＣＳ第１９６巻、ｐ．１０―１８
【非特許文献２】Ｙ．Ｄｏｄｉｓ  ａｎｄ  Ａ．Ｙａｍｐｏｌｓｋｉｙ、「Ａ  ｖｅｒｉｆｉａｂｌｅ  ｒａｎｄｏｍ  ｆｕｎｃｔｉｏｎ  ｗｉｔｈ  ｓｈｏｒｔ  ｐｒｏｏｆｓ  ａｎｄ  ｋｅｙｓ」、Ｐｕｂｌｉｃ  Ｋｅｙ  Ｃｒｙｐｔｏｇｒａｐｈｙ  ’０５、Ｓｐｒｉｎｇｅｒ、２００５年、ＬＮＣＳ第３３８６巻、ｐ．４１６―４３１
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以上のことから、データ・セキュリティ装置は、監査情報に関する限り端末装置に支配される傾向にあり、その結果、ユーザが気付かない複数要求攻撃に対して脆弱であることが分かる。この根本的な制限は、セキュリティ装置が、各応答においてユーザについての追加的な情報が開示されるという多くの方法で端末の要求に対して応答することが可能な場合には、特に重要である。この場合、端末は、多数の非開示の質問をすることによって、ユーザについての自己の知識を増大させることが可能である。端末装置が特定の属性を要求することのみを許されるように、端末装置の認証を行うことが提案されてきた。しかし、これは、端末が動作する属性空間を限定するだけであり、広範なトランザクションによってより少ない知識が実際に要求された場合でも、端末がこの空間の境界までその知識を増大させることを防ぐものではない。別の選択肢は、信頼できるユーザ表示装置及び入力装置を組み込んだ、信頼できる端末、又は端末の動作を監視するための信頼できるハードウェア装置を用いることである。
【課題を解決するための手段】
【００１０】
本発明の態様の１つの実施形態は、ユーザ・データを格納するためのメモリと、セキュリティ装置とデータ通信ネットワークに接続可能な端末装置との間におけるデータ通信の伝送のためのインタフェースと、ユーザ・データに関する情報についての端末装置からの要求を処理するためのコントローラとを備えるデータ・セキュリティ装置を提供する。コントローラは、
ユーザ・データに関して要求された情報の指標を含むメッセージを生成することであって、メッセージは、秘密データを用いて、メッセージがコントローラによって生成されたことの検証を可能にするように生成される、メッセージを生成することと、
ネットワークにおいてメッセージを公開するための公開エンティティとネットワークを介して通信するための端末装置に、メッセージを送信することと、
公開エンティティによって公開されたメッセージを符号化した、公開エンティティによって発行された暗号構成を、端末装置から受信することと、
コントローラによって生成されたメッセージについて、暗号構成の有効性を検査することと、
暗号構成に従って、ユーザ・データに関して要求された情報を端末装置に供給することと、
によって、要求を処理するようになっている。
【００１１】
従って、本発明を具体化するセキュリティ装置においては、コントローラは、要求された情報の指標を含むメッセージを生成することによって、格納されたユーザ・データに関する情報の要求に応答する。このメッセージは、出所（authorship）、即ちメッセージが確かにそのコントローラによって生成されたことを、後で検証できるような方法で生成される。この検証プロセスは、典型的にはセキュリティ装置自体に格納されたものではあるが、いずれにしてもセキュリティ装置についての監査情報を見ることが許された権限のある者（複数の者の場合もある）のみが利用可能であるという意味で「秘密」である、秘密データの使用を必要とするものであってもよい。通常、権限のある唯一の当事者は、セキュリティ装置自体のユーザであろう。結果として得られるメッセージは、端末装置に送信され、ネットワークを経由して公開エンティティに中継される。このエンティティは、メッセージをネットワーク内に公開し、公開されたメッセージを符号化した暗号構成を生成する。こうした暗号構成は、例えば暗号署名アルゴリズムを用いて、暗号符号化プロセスに従って公開されたメッセージを符号化することによる様々な方法で、生成することができる。公開エンティティによって発行された暗号構成は、端末を経由してセキュリティ装置に返される。次いで、装置コントローラは、暗号構成が、元の生成メッセージについて有効であるかどうか（即ち、構成が、元のメッセージが有効に符号化されたものであること）を検証することが可能である。有効である場合には、これは、元のメッセージが確かに公開されたことを裏付けている。このように、暗号構成の有効性は、要求された元の情報が実際に端末に送信される前に検査され、その後の情報の端末への供給は、暗号構成に従う。
【００１２】
このように、セキュリティ装置は、端末装置によって要求された情報が実際に端末装置に供給される前に、その情報の公開された記録が存在することを保証することが可能である。こうして、事前に、装置のトランザクションの信頼できる監査証跡の利用可能性を保証することができる。従って、ユーザは、公開された監査証跡を後で検査して、端末装置によって開示された情報以外の情報が要求されなかったことを確かめることができる。その上、公開されたメッセージの出所であることの検証には上述の秘密データを必要とするため、権限の無い者は、どのメッセージがその特定のセキュリティ装置に由来するかを検証することができない。従って、ユーザの監査証跡は、匿名にすることができる。このように、本発明を具体化するセキュリティ装置は、端末装置に供給される情報について信頼できる監査証跡を確立するための、洗練され、簡潔で、極めて実用的な高効率システムを提供することができる。このシステムは、複数要求攻撃を行う不正な端末による個々の不正使用の事実を防止することはできない。しかし、このシステムは、効果的な詐欺検出機構を提供するものであり、不正な端末及び端末の所有者を迅速に識別することを可能にし、それによって継続的な不正使用を防止して効果的な抑止力として機能することができる。
【００１３】
元の生成メッセージについて暗号構成の有効性が検査されると、コントローラは、暗号構成に従って、例えば、構成の有効性に従って、及び／又は、構成の中の情報に従って、ユーザ・データに関して要求された情報を端末に供給することができる。好ましい実施形態においては、コントローラは、構成が元の生成メッセージについて有効な場合にのみ、ユーザ・データに関して要求された情報を端末装置に供給するようになっている。しかし、代替手段を想定することができる。例えば、構成の中に符号化されたメッセージが元の生成メッセージと異なることが判明した場合には、コントローラは、特定の情報、例えば、幾つかの所定の最小情報、又は、（実際に要求された情報のより小さなサブセットである場合には）構成の中に符号化されたメッセージにおいて端末によって要求されたものとして示されるような情報を、端末に供給する実施形態を想定することができる。要求について有効な構成が受信されなかったときには、コントローラは、一般に、供給することができる情報若しくは出されることになる要求の数を制限するか、又は、この場合にはトランザクションの詳細を永続的メモリに記録することができる（この解決法は、上述の理由により、通常は望ましくないであろうと考えられる）。最も安全で効果的な動作のために、ユーザ情報の提供は、有効な暗号構成の受信に依存することになる。
【００１４】
セキュリティ装置によって生成されるメッセージは、端末装置によって要求された情報のいずれかの簡便な指標を含むことができる。この指標は、簡便には、端末装置からの要求に含まれたポリシー（又は同様の仕様）とすることができるが、一般には、要求された情報を識別することができるいずれかの仕様、定義、記述、又は他の指標を用いることができる。
【００１５】
出所であることの検証を可能にするメッセージの生成は、様々な方法で達成することができる。具体的には、メッセージ生成プロセスに何らかの形で関連した秘密データを用いて、出所であることの検証を可能にするために、種々の暗号メッセージ生成プロセスを採用することができる。例えば、メッセージ生成プロセスは、復号に成功するためには秘密鍵が必要となるような暗号化プロセス、及び／又は、１つ又は複数の秘密値を用いて生成される何らかの特定の要素を含ませて、１つ又は複数の秘密値の知識によってそのように生成されたメッセージを後で識別できるようにすることを、伴うものとすることができる。好ましい実施形態においては、コントローラは、秘密のユーザ鍵を用いて復号可能な暗号文を生成するために、ユーザ・データについて要求された情報の前述の指標を暗号化することによってメッセージを生成するようになっている。このための好ましい実施形態によって、匿名鍵（key-anonymous）暗号化アルゴリズムが用いられ、これによって、公開されたメッセージは、匿名であるだけでなく、秘密のユーザ鍵の持ち主以外の誰によっても結び付けられないようにすることが可能である。メッセージ生成は、好ましい実施形態において追加のプロセスを伴うこともでき、これによって、メッセージは、前述の暗号文と共に他の要素を含むことができる。特に、コントローラは、コントローラによって生成されたメッセージごとに、メッセージがコントローラによって生成されたことの検証を容易にする暗号チャレンジを計算し、その暗号チャレンジをメッセージ中に含めるようになっていることが好ましい。こうしたチャレンジは、理想的には、権限のある公開エンティティのみがメッセージに含まれたチャレンジを復号することができるように暗号化される。
【００１６】
特に好ましい実施形態においては、コントローラは、装置によるいかなるメッセージ固有のデータの格納も介在させずに、メッセージがコントローラによって生成されたことを所定の秘密値を用いて検証できるように、（少なくとも）そのメッセージのための乱数と所定の秘密値とを用いてメッセージについての暗号チャレンジを計算するようになっている。乱数は、公開されたメッセージの結び付けられ難さ（unlinkability）を保証するために用いられ、一方、秘密値は、出所の検証を可能にする。このようにして、結び付けられ難さを仮定することが可能であり、それと同時に、セキュリティ装置の永続的ストレージへの書込み動作は必要とされない。特に、後の検証プロセスをうまく働かせるためには、セキュリティ装置は、チャレンジ、用いられた特定の乱数、又は、メッセージ毎に永続的ストレージの使用を要したであろう他のいずれかのメッセージ固有データを、格納する必要がない。こうした技術の詳細な例は後述される。
【００１７】
必要な秘密データを自ら保有する（又は、セキュリティ装置から得る）ある信頼できる端末装置によって、公開されたメッセージの再検討、従ってどのメッセージが所与のセキュリティ装置から発せられたかの検証が行われるシナリオを想定することができる。しかし、最も簡便には、このプロセスは、セキュリティ装置のコントローラによって行うことができる。従って、コントローラは、公開エンティティによってネットワーク内に公開されたメッセージから、端末装置を介してメッセージ・データを受信することと、メッセージ・データに対応する公開メッセージの中にコントローラによって生成されたいずれかのメッセージを、メッセージ・データから識別することと、そのように識別されたメッセージごとに、そのメッセージ中の指標に対応するユーザ・データに関して要求された情報の記述を、ユーザへの出力のための端末装置に送信することと、を含む監査プロセスを行うようになっていることが好ましい。一般に、前述のメッセージ・データは、メッセージ全体からなるものであっても、メッセージの出所であることを識別するのに必要などのようなメッセージ内容からなるものであってもよい。ユーザに出力される情報の記述は、メッセージ中に含まれる指標であっても、当の情報の他の何らかの表現であってもよい。
【００１８】
本発明の第２の態様の実施形態は、端末装置とデータ通信ネットワークとの間におけるデータの通信のための通信インタフェースと、端末装置とユーザ・データを格納するメモリを有するデータ・セキュリティ装置との間におけるデータの通信のためのセキュリティ装置インタフェースと、ユーザ・データに関する情報について要求をデータ・セキュリティ装置に送信するための端末コントローラと、を備える端末装置を提供する。端末コントローラは、セキュリティ装置に送信された要求において要求されたユーザ・データに関する情報を受信する前に、
セキュリティ装置に送信された要求に応答するセキュリティ装置から、メッセージを受信し、
ネットワークにおいてメッセージを公開するための公開エンティティに、データ通信ネットワークを介してメッセージを送信し、
公開エンティティによって公開されたメッセージを符号化した、公開エンティティによって発行された暗号構成を、公開エンティティから受信し、
暗号構成をセキュリティ装置に送信する、
ようになっている。
【００１９】
本発明の更に別の態様のそれぞれの実施形態は、本発明の第１の態様の実施形態によるセキュリティ装置及び本発明の第２の態様の実施形態による端末装置の動作を制御するためのプログラム・コード手段を含むコンピュータ・プログラムを提供する。本発明を具体化するコンピュータ・プログラムは、独立したプログラムを構成することも、より大きなプログラムの要素とすることもでき、装置内でロードするために、例えばディスク又は電子的伝送のようなコンピュータ可読媒体において具体化された状態で、提供することができる。コンピュータ・プログラムのプログラム・コード手段は、当該方法を、直接的に、又は、（ａ）別の言語、コード若しくは表記法への変換、及び（ｂ）異なる素材の形態での再生のいずれか又は両方の後に、コンピュータに実行させるように意図された命令の集合の、いずれかの言語、コード又は表記法でのいずれかの表現を含むことができる。
【００２０】
本発明の別の態様の実施形態は、
データ通信ネットワークに接続可能な、本発明の第２の態様による端末装置と、
ユーザ・データに関する情報についての端末装置からの要求を処理するための、本発明の第１の態様によるデータ・セキュリティ装置と、
端末装置とのデータの通信のためにネットワークに接続された公開エンティティであって、端末装置からネットワークを介してメッセージを受信し、メッセージをネットワーク内に公開し、公開されたメッセージを符号化した暗号構成を生成し、暗号構成を端末装置に送信するようになっている、公開エンティティと、
を備えるシステムを提供する。
【００２１】
一般に、公開エンティティは、ネットワークを介してそのエンティティに接続している装置がメッセージにアクセスできるようにするという意味で、メッセージを公開することが可能なあらゆる装置、システム又は機構とすることができる。簡便には、公開エンティティは、メッセージの公開のための掲示板を運用するようになっている。
【図面の簡単な説明】
【００２２】
【図１】本発明を具体化するデータ通信システムの概略図である。
【図２】図１のデータ・セキュリティ装置及び端末装置のより詳細な図である。
【図３】図１のシステムの装置間における、データ・セキュリティ装置への情報の要求に続く対話を示す図である。
【図４】図３のプロセスの主要ステップをより詳細に示す図である。
【図５】図１のシステムの装置間における、データ・セキュリティ装置によって行われる監査プロセスの間の対話を示す図である。
【発明を実施するための形態】
【００２３】
一般に、本明細書において、本発明の１つの態様の実施形態に関して特徴が説明される場合に、対応する特徴が、本発明の別の態様の実施形態において提供されることがある。
【００２４】
ここで、添付図面を参照しながら、例として、本発明の好ましい実施形態を説明する。
【００２５】
図１は、本発明を具体化するデータ通信システム１を示す。システム１は、端末装置２を含み、端末装置２は、ネットワークを介して他の装置と通信するために、データ通信ネットワーク３に接続可能である。ネットワーク３は、一般に、インターネットを含む１つ又は複数のコンポーネント・ネットワーク又は相互接続ネットワークを含むことができる。システム１はまた、ここではネットワーク３に接続されたサーバ４として表される公開エンティティを含む。より詳細に後述されるように、サーバ４は、信頼できる掲示板（ＢＢ）サービスをネットワーク３に提供する。（ここでは単一のブロックとして示されるが、一般に、サーバ４の機能は、サーバ・システムの複数の物理的機器にわたって分散させることができる）。スマート・カード５の形態のデータ・セキュリティ装置は、システムの端末装置２と対話することができる。スマート・カード５には、カードの持ち主（「ユーザ」）に関するユーザ・データを含む埋め込みチップが組み込まれる（そのようには図示されていない）。
【００２６】
図２は、端末装置（「端末」）２及びスマート・カード５の概略的なブロック図であり、これらの装置の主要な要素をより詳細に示す。スマート・カード５は、カード５と端末２との間におけるデータ通信の伝送のための端末インタフェース（Ｉ／Ｆ）７を含む。インタフェース７は、一般に有線又は無線の通信インタフェースのいずれかの形態で実装することができるが、典型的には、カードが端末のカード読取口に挿入されたときに端末に係合するための一組の電気的接点を備える。カード・コントローラ８の形態の制御論理が、カードの動作を全体的に制御する。コントローラ８は、端末２からの要求を出すための機能を含み、後で詳述するようにトランザクション監査プロセスを実装するための機能も含む。カード５は、コントローラ８の種々の動作のための作業記憶として用いる揮発性メモリ９を含む。例えばＲＯＭ及びＥＥＰＲＯＭを含むことができる永続的メモリ１０は、上述のユーザ・データのための永続的ストレージ、及び、コントローラ８の動作において行われる暗号プロセスのために必要な他の様々なデータのための永続的ストレージとなる。このデータは、暗号アルゴリズムのための種々の暗号鍵及びパラメータと、より詳細に後述されるように秘密値ｓを含む秘密データとを含む。
【００２７】
端末２は、ここではカード読取インタフェース１２として示される、カードの端末インタフェース７を介してカード５と通信するためのセキュリティ装置インタフェースを含む。端末２は、表示部１４及びキーパッド１５を備えるユーザ・インタフェース１３を有し、これによって、情報をユーザに表示することができ、ユーザが情報を端末に入力することができる。端末２はまた、ネットワーク３とのデータ通信のための通信インタフェース１６を含む。端末コントローラ１７の形態の制御論理が、端末の動作を全体的に制御し、後述されるようにカード５からの情報を要求するための処理を実装する。端末コントローラ１７には、ここでは別個には示されないが、その種々の動作に必要なデータを格納するためのメモリが組み込まれる。一般に、コントローラ８及びコントローラ１７の制御論理は、ハードウェア、ソフトウェア、又はこれらの組み合わせとして実装できるが、この例においては、論理は、説明される機能を実行するようにそれぞれの装置２及び装置５のプロセッサを構成するソフトウェアによって実装される。こうしたプロセッサは、一般に、１つ又は複数の処理チップ又はコアを含むことができる。当業者であれば、本明細書の説明から、適切なソフトウェアが明らかであろう。
【００２８】
この例においては、カード５が、更に後述される属性に基づくシステムに従ってユーザ・データを符号化するｅＩＤカードであると仮定する。ユーザは、カードを用いて、制限されたサービス又は他のリソースに、端末２との対話を通じてアクセスすることができる。特に、リソースへのアクセスは、カードに格納されたユーザ・データに関する幾つかの必要な情報を証明することを要する。特定の用途のシナリオによっては、リソースは、端末２自体によって、又は、端末２を制御するか若しくは端末２と通信可能な何らかの他者によって、提供されることがある。従って、端末２は、リソース提供者によって所有されることも所有されないこともあり、様々な用途のために種々の方法で実装することができる。具体的には、端末２は、特定の用途のための専用端末装置であってもよく、又は、ネットワーク３を介して他の装置（図示せず）によって提供されるリソースにアクセス可能な、パーソナル・コンピュータ、携帯電話、ＰＤＡ（携帯情報端末）等の汎用装置であってもよい。端末装置の正確な形態は、説明される動作とは全く無関係である。要点は、リソースへのアクセスが、カード内のユーザ・データに関する幾つかの必要な情報の証明を要すること、及び、この証明が、カード５と端末２との間の対話を通じて行われることである。具体的には、カード５が端末２に接続され、任意の準備プロセス（ユーザＰＩＮ（個人識別番号）の入力及び確認等）が完了したときに、端末は、当のリソースにアクセスするために必要なカードのユーザ・データに関するあらゆる情報についての要求を、カードに送信することになる。ここで、図３を参照して、システム１の種々の構成要素間におけるその後の対話を説明する。
【００２９】
図３は、情報についての要求が端末２によって発行されたときに、カード５（図の左側の列によって表される）、端末２（図の中央の列によって表される）、及びＢＢサーバ（ＢＢ）４（図の右側の列によって表される）によって行われる主要なステップの概要を示す。図の最上部にあるステップ（ａ）は、端末コントローラ１７による要求を装置のインタフェース１２及び７を介してカード・コントローラ８に送信することを表す。ユーザ・データに関して要求される情報は、ここでは、要求に含まれるポリシーｐで定義される。要求を受信すると、図のステップ（ｂ）において、ポリシーｐは、カード・コントローラ８によって揮発性メモリ９に格納される。次いで、カード・コントローラ８は、端末によって要求される情報の指標を含むメッセージＭを生成する。この実施形態においては、これは、メッセージにポリシーｐを含むことによって達成される。メッセージＭは、後述される特定の方法で生成され、ポリシーｐに加えて、メッセージＭがカード・コントローラ８によって生成されたことの後の検証を可能にする要素を含む。図のステップ（ｃ）において、カード・コントローラは、応答Ｒをインタフェース７及び１２を介して端末コントローラ１７に送信する。この応答は、メッセージＭを含み、メッセージＭの幾つかの要素は、後述されるように、応答の中では暗号化されている。応答を受信すると、端末コントローラ１７は、端末のネットワーク・インタフェース１６を介し、ネットワーク３を通じて、ＢＢサーバ４に接続する。次いで、端末コントローラは、応答をＢＢサーバ４に送信する。
【００３０】
図３のステップ（ｅ）において、ＢＢサーバ４は、応答を受信すると、先ず、後述されるプロセスによって応答からメッセージＭを抽出する。次いで、サーバは、掲示板への投稿ＰによってメッセージＭを公開する。（掲示板の動作は、当該技術分野において周知であり、ここで更に説明する必要はない）。次いで、ＢＢサーバ４は、後に詳述されるように、公開されたメッセージＰを符号化した暗号構成（ＣＣ）を生成する。ステップ（ｆ）において、ＢＢサーバは、構成（ＣＣ）を端末２に送信し、端末コントローラ１７は、構成をカード・コントローラ８に転送する。
【００３１】
ステップ（ｇ）において、カード・コントローラ８は、構成（ＣＣ）を受信すると、カード・コントローラ８によって生成された元のメッセージＭについての有効な構成であることを検査する。次の動作は、構成の有効性に応じて決まる。構成が有効な場合にのみ、カード・コントローラは、続けてステップ（ｈ）において、ポリシーｐによって指定されるカードのユーザ・データに関する情報を端末装置２に供給する。この場合には、次いで、端末装置はそのアクセス判断を行い、ユーザは、それに応じてリソースへのアクセスを許可されるか又は拒否される。しかし、ステップ（ｈ）において構成が有効でない場合には、カード・コントローラはいずれのユーザ情報も供給せず、端末の要求は拒絶される。
【００３２】
ここで、種々の装置によって実装可能な、図３のプロセスにおけるプロトコルの例を、より詳細に説明する。この例において、発行者の集合Ｉ＝｛Ｉ１，Ｉ２，…｝及び属性の集合Ａ＝｛ａ１，ａ２，…｝を定義する。各発行者Ｉは、ユーザの要求におけるユーザＵについて、既知の属性の集合ａＩ⊆Ａと、属性を具体的な値にマッピングする、部分関数の場合がある関数ａＩ，Ｕとを認証する。発行者は、Ｕからのこうした要求を拒絶することもあるが、そうでなければ、トランザクションの結果、Ｕは、属性ａＩ及びそれらの値ａＩ，Ｕからなる認証情報ｃＩ，Ｕと、暗号署名σＩ，Ｕとを保持する。いかなる第三者も、署名σがＩからのものであることを検証することができ、Ｕは、署名が無効になることなく署名された値を変更することができない。
【００３３】
カード５のユーザＵによるリソースへのアクセスには、カード・コントローラ８が特定の発行者Ｉによって発行された属性及び属性値の所有の証明を行うことが必要であると仮定する。カード５のメモリ１０に格納されたユーザ・データが、必要な属性値を含む認証情報ｃＩ，Ｕを含むものとすると、カード・コントローラ８は、こうした証明を発行することが可能である。
【００３４】
説明されるプロトコルは、ポリシーｐ、時間の識別子τ及び暗号チャレンジｃを使用する。ポリシーｐは、どの属性値が明らかにされる必要があるか、及び／又は、特定の属性値に関してどのような情報が証明される必要があるかを指定する。後述するように、時間識別子τによって、トランザクションが特定の時間に結び付けられ、特定の時間窓の間におけるトランザクションの監査が可能になる。チャレンジｃによって、カード・コントローラが、ＢＢサーバ４によって公開されたメッセージの中から自分自身のトランザクション・メッセージを識別することが可能になる。システムはまた、公開／非公開鍵ペアを用いており、エンティティＸの鍵ペアは、一般に知られることが仮定される公開鍵ｐｋＸと、Ｘのみに知られることが仮定される秘密鍵ｓｋＸ（「非公開鍵」とも呼ばれる）とを含む。
【００３５】
図４のプロセス流れ図を参照して、本システムの動作を説明する。これは、全体としては図３に対応するが、プロトコルのステップをより詳細に示すものである。図のステップ（ａ）において、端末２は、現在の時間τを得る（ここで、「時間」は、現実の時間であってもよいが、いずれかの順序付けられた一連の事象の観点でより一般的に測定することができ、これによって、時間識別子τは、単に、順序付けられた一連の事象における特定のステージを指すインデックスとみなすことができることが分かるであろう）。時間インデックスτを生成するための適切な時間の情報源は、端末２に実装されるかネットワーク３を介してアクセス可能な他の何らかの装置に実装されるかにかかわらず、当業者には明らかであろう。上述のように、時間τは、ポリシーｐと共に、カード５に送られる要求の中に含まれる。
【００３６】
図のステップ（ｂ）において、カード・コントローラ８によって生成されるメッセージＭは、後に詳述されるプロセスによって生成された暗号チャレンジｃと、ポリシーｐを符号化した暗号文とを含む。これは、ポリシーｐと、カードに関連付けられ、永続的メモリ１０に格納された、公開／非公開鍵ペアｐｋＣ、ｓｋＣの公開鍵ｐｋＣとを入力とする、暗号化アルゴリズムＥを用いる。暗号化アルゴリズムは、公開鍵ｐｋＣの下でｐを暗号化することによって、暗号文γ＝ＥｐｋＣ（ｐ）を生成する。カード・コントローラ８のみに知られる秘密鍵ｓｋＣを用いてｐ＝Ｅ−１ｓｋＣ（ＥｐｋＣ（ｐ））を生成する復号アルゴリズムが存在する。ここでは、暗号化は、暗号化された項目を誰も結び付けることができないように、匿名鍵暗号化アルゴリズムを用いて行われる。例として、エルガマル（ＥｌＧａｍａｌ）暗号システムが、一時的な鍵を用いるため、採用することができる。（エルガマル・システムは、当業者に周知であり、非特許文献１の中で説明される）。従って、生成元がｇであり位数がｑである巡回群Ｇを用いて、カードは、秘密値ｚ∈Ｇ及びｈ＝ｇｚを格納することができる。ｒを無作為に選択された集合の要素とすると、暗号化は、ＥｐｋＣ（ｐ）＝（ｇｒ，ｈｒ・ｐ）として計算される。
【００３７】
暗号チャレンジｃ及び時間識別子τは、ポリシーｐと共に、カードの揮発性メモリ９に格納される。次いで、チャレンジは、ＢＢサーバ４に関連付けられた公開／非公開鍵ペアｐｋＢＢ、ｓｋＢＢの公開鍵ｐｋＢＢの下で暗号化され、暗号文δ＝ＥｐｋＢＢ（ｃ）が生成される。これにより、本物のＢＢサーバ４のみがチャレンジを復号できることが保証される。図４のステップ（ｃ）においてカード５によって端末２に送信された応答は、図示されるように、２つの暗号文γ、δを含む。ステップ（ｄ）において、端末２は、ステップ（ａ）において要求に関連付けられた時間τと共に、応答をＢＢサーバ４に転送する。
【００３８】
ステップ（ｅ）において、ＢＢサーバは先ず、復号ｃ＝Ｅ−１ｓｋＢＢ（δ）によってメッセージについてのチャレンジｃを抽出する。次いで、サーバ４は、掲示板への投稿において、τ、ｃ及び暗号化されたポリシーγを公開する。次に、サーバ４は、公開を符号化した暗号構成を生成する。具体的には、サーバ４は、秘密のＢＢ署名鍵ｓｋ’ＢＢの下で公開に署名を行う署名生成アルゴリズムＳｓｋ‘ＢＢ（τ，ｃ，γ）を用いて、署名σを生成する。（ＢＢ４の署名鍵ペアは、上述の暗号化鍵ペアとは異なることに注意されたい）。次いで、ステップ（ｆ）において、署名σは、カード５に返送される。
【００３９】
ステップ（ｇ）において、カード・コントローラは、要求について揮発性メモリ９の中に格納された、ポリシーｐ、チャレンジｃ、及び時間τについて、署名の有効性を検証する。これには、署名鍵ｓｋ’ＢＢに対応する公開鍵ｐｋ’ＢＢを用いて署名を復号する検証アルゴリズムＶｐｋ’ＢＢを用いる。検証アルゴリズムは、公開（τ，ｃ，γ）が、要求についてメモリ９に格納されたチャレンジｃ及び時間τと同じ値を含み、暗号文γが秘密鍵ｓｋＣの下でメモリ９に格納されたものと同一のポリシーｐに復号する場合且つその場合に限り、真を返す。従って、カード５は、資格情報σが正しい時間τにおける有効な署名であって、且つ、メッセージ（γ，ｃ）が元々カードにより生成されたものである場合にのみ、資格情報σを有効なものとして検証することになる。これによって、ＢＢサーバ４が信頼できるという前提の下で、ポリシーｐを含む元のメッセージが掲示板に正しく公開されたことが証明される。また、署名の検証は、ステップ（ｄ）においてＢＢに提供された時間τがステップ（ａ）においてカードに供給されたものと同じであったことを保証する。（加えて、ＢＢサーバが正当性のために時間τを検査するようになっている場合には、用いられる時間の正当性を保証することができる）。署名が有効である場合には、ステップ（ｇ）において、カード・コントローラ８は、ポリシーｐに従って、ユーザ認証情報ｃＩ，Ｕのユーザ属性に関する知識ＰＫ（ｐ）の必要な証明を行い、これによって、ユーザ・データに関して要求された情報を端末２に供給する。
【００４０】
説明されたシステムによって、要求された情報が実際に端末２に供給される前に、端末２によって要求される情報を定義するポリシーｐが信頼できる掲示板に公開されることを、カード・コントローラ８が確信できるようになることがわかるであろう。さらに、端末２とのトランザクションの後であればいつでも、ユーザは、カード５を信頼できる端末に持って行って、ポリシーｐを取得することができる。これによって、ユーザは、そのポリシーがトランザクションの際に端末の表示部１４を介してユーザと通信したものによって作られたかどうかを検査することが可能となる。図５は、この監査プロセスの基本的なステップの概要を示す。本図は、図の左側の列によって表されるカード５（信頼できる端末経由）と、図の右側の列によって表されるＢＢサーバ４との間の対話を示す。この高度に実用的な実装形態の場合には、プロセスのステップ（ａ）において、ユーザは、監査プロセスが行われる時間窓を選択する。その場合には、監査プロセスは、その時間窓内にＢＢサーバ４によって公開されたメッセージに限定されることになる。時間間隔は、信頼できる端末の支援を受けてユーザによって選択され、図においてΔτ＝（τ１…τ２）で表される。ステップ（ｂ）において、カード・コントローラ８は、特定の時間間隔Δτにおける時間τを含むＢＢの公開（τｉ，ｃｉ，γｉ）について、信頼できる端末を介してＢＢサーバ４に要求を送信する。ＢＢサーバ４は、ステップ（ｃ）において、メッセージ（ｃｉ，γｉ）を含む関連する公開（τｉ，ｃｉ，γｉ）を取得し、ステップ（ｄ）において、これらをカード５に送信する。次に、ステップ（ｅ）において、カード・コントローラ８は、返された公開から、コントローラ８によって生成されたメッセージ（ｃｉ，γｉ）を識別する。カード・コントローラは、カードの永続的メモリ１０に格納された秘密値ｓを用いて、どのメッセージを自分が生成したかを検証することができる。これは、後により詳細に説明される。次いで、そのように識別された各メッセージについて、コントローラ８は、ステップ（ｆ）において暗号文γｉを復号し、その中に符号化されたポリシーｐｉを得る。次いで、結果として得られたポリシーｐｉ及び関連付けられた時間τｉは、端末を介してユーザに表示される。従って、ユーザは、以前の端末を用いた自分のトランザクションの監査証跡を閲覧することができ、その時に端末によって明らかにされたもの以外の情報が開示されなかったことを検査できる。このように、不一致な点を特定することができ、不正な端末を関係当局に通報することができる。
【００４１】
ここで、カード・コントローラ８によってメッセージの出所の検証を可能にする特定の技術を説明する。これらの技術によって、カードがその永続的メモリ１０に何らかのデータを書き込むことを必要とせずに、検証プロセスを行うことが可能になる。すなわち、ＢＢ４に公開されるメッセージの生成を含む所与のトランザクションと、そのメッセージがカード・コントローラ８によって識別される後の監査プロセスとの間において、メッセージ固有のデータ（チャレンジｃ等又はカウンタさえも）がカード５によって保持される必要はない。いずれの永続的ストレージも用いない結果として、カード・コントローラは、掲示板から情報を取り出すときに、幾つかの計算をする必要がある。他者が同じ装置の異なるトランザクションに結び付けることを可能にすることなく、ＢＢの公開の中から自分自身のメッセージを識別することが可能となるように、カード・コントローラがチャレンジｃを計算できるようにする２つの戦略を説明する。
【００４２】
第１の技術は、比較的小さい、無作為に選択された数ｒ∈｛０，１｝ｈと、カードのメモリ１０に格納された固定の秘密値ｓと、ｆ（ｘ）＝ｇ１／（ｘ＋ｓ）（ｍｏｄ  ｖ）等の検証可能乱数関数（ＶＲＦ：ｖｅｒｉｆｉａｂｌｅ  ｒａｎｄｏｍ  ｆｕｎｃｔｉｏｎ）を用いるものであり、ここでｇは、非特許文献２に定義されるように、素数位数ｖを持つ群Ｇの生成元である。カード・コントローラ８は、ｃ＝ｆ（ｒ）＝ｇ１／（ｒ＋ｓ）（ｍｏｄ  ｖ）によってチャレンジを計算する。公開されたメッセージ（ｃｉ，γｉ）の出所であることを検証するため、コントローラ８は、全ての可能な選択ｒｌ∈｛０，１｝ｈについて、ｃｌ＝ｆ（ｒｌ）を計算する。図５のステップ（ｅ）において、コントローラ８は、全ての可能なチャレンジ値ｃｌを、ＢＢ上で公開されたメッセージ内に受信されたチャレンジと比較することができる。この解決法の原理は、少数の（無作為に選択された）値を、大きなメッセージ空間上にマッピングすることである。パラメータは、（１）コントローラ８がその寿命の間（又は、少なくともトランザクションの数と比較して十分に長い期間）に同一のｒを選択する確率が小さく、且つ（２）２つの異なるカード・コントローラが同一のｃを生成する確率が無視できるほど僅かであるように、選択される。（しかし、衝突が起こる可能性を許容するために、ポリシー中のチェックサムを用いて、誤って復号された除去すべきポリシーを識別することができる）。
【００４３】
第２の技術は、チャレンジが、乱数ｒに依存し、固定の秘密値ｓに依存する所定の関係を有する、一対の値を含むように、メッセージについてチャレンジｃを計算することを伴う。監査プロセスにおいて、コントローラによって生成されたメッセージ（ｃｉ，γｉ）は、所要の関係を有する一対の値を含むいずれかのチャレンジｃｉを識別することによって、識別される。より詳細には、カード・コントローラ８は、乱数ｇ∈ＲＧを選択し、格納された秘密値ｓを用いてｇｓを計算することによって、チャレンジを計算する。チャレンジｃは、ｃ＝（ｇ，ｇｓ）と設定される。監査プロセスにおいて、コントローラ８は、公開の中の各ｃ＝（ｇ，ｇ’）をダウンロードし、図５のステップ（ｅ）において、ｇｓを計算する。ｇ’＝ｇｓであるメッセージは全て、カード・コントローラ８に由来するものである。この技術及び第１の技術の両方において、秘密値ｓが取られるメッセージ空間は十分に広いため、異なるカードが同一の秘密値を用いる可能性は極めて低い。
【００４４】
上述のシステムによって、永続的メモリへの書込みサイクルに厳しい制限があり、Ｉ／Ｏ能力のない、スマート・カード５のようなデータ・セキュリティ装置が、信頼できない端末２とのトランザクションについての信頼できる監査証跡を達成することが可能になる。この監査証跡は、カード・ユーザだけのものであり、従って、いずれかの独立した監査者の秘密保護の約束が信頼できるものであることは不要である。カード・ユーザは、要求されたユーザ情報を定義するポリシーが、情報が実際に端末に供給される前に公開されたことを確信することができる。加えて、いずれかの他者がユーザを識別することも、同一のユーザの異なるトランザクションに結び付けることも可能とすることなく、ユーザは、公開されたポリシーを取得して検査することができる。従って、実際に明らかにするデータより多いデータを要求する不正な端末を識別して通報することが可能であり、端末の不正行為に対する効果的な抑止となる。安全な動作のために、システムは、信頼できるＢＢ４及び監査プロセスのための信頼できる端末へのユーザのアクセスしか必要としない。信頼できるＢＢサーバでさえ、ユーザのトランザクションに関して何も（即ち、当事者又は交換される情報を）知得しない。プロトコルは、データ・セキュリティ装置が個々のトランザクションに関するどのような情報も永続的に格納することを必要としない。監査証跡を取得するときに必要な計算は、応答時間の重要性がトランザクション自体の間ほど高くないときに行われる。図４のトランザクション・プロトコルは、トランザクションの最初の部分とステップ（ｇ）において行われる検証との間に電源の障害がなかったことを保証する。結果として、カード・コントローラは、ポリシーに関係しない事前計算を行うことができ、こうした事前計算は、ユーザが図４のステップ（ｈ）において完了することになる最終的な証明を待たなければならない時間を、大幅に短くすることができる。これは、例えばｅＩＤカード・システムへの期待に応えるために、極めて重要である。
【００４５】
データ・セキュリティ装置は上記のスマート・カードであるが、一般にいずれかの形態のデータ支持ハードウェア・トークンを含む他の多くの形態のデータ・セキュリティ装置を、想定することができる。さらに、上記のユーザ・データの符号化について属性に基づくシステムを説明したが、当然のことながら、本発明の実施形態において、他のシステムを採用してもよい。本発明の範囲を逸脱することなく、説明された例示的な実施形態に対して、他の多くの変更及び修正を行うことが可能である。
【図１】
2013520906.tif 000003
【図２】
2013520906.tif 000004
【図３】
2013520906.tif 000005
【図４】
2013520906.tif 000006
【図５】
2013520906.tif 000007
【手続補正書】
【提出日】平成24年10月25日(2012.10.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ・セキュリティ装置（５）であって、
ユーザ・データを格納するためのメモリ（１０）と、
前記セキュリティ装置（５）とデータ通信ネットワーク（３）に接続可能な端末装置（２）との間におけるデータ通信の伝送のためのインタフェース（７）と、
前記ユーザ・データに関する情報についての前記端末装置（２）からの要求を処理するためのコントローラ（８）と
を備え、
前記コントローラ（８）は、
前記ユーザ・データに関して要求された前記情報の指標を含むメッセージを生成することであって、前記メッセージは、秘密データを用いて、前記メッセージが前記コントローラ（８）によって生成されたことの検証を可能にするように生成される、メッセージを生成することと、
前記ネットワークにおいて前記メッセージを公開するための公開エンティティ（４）と前記ネットワーク（３）を介して通信するための前記端末装置（２）に、前記メッセージを送信することと、
前記公開エンティティ（４）によって公開された前記メッセージを符号化した、前記公開エンティティ（４）によって発行された暗号構成を、前記端末装置（２）から受信することと、
前記コントローラ（８）によって生成された前記メッセージについて、前記暗号構成の有効性を検査することと、
前記暗号構成に従って、前記ユーザ・データに関して要求された前記情報を前記端末装置（２）に供給することと
によって、前記要求を処理するようになっている、データ・セキュリティ装置。
【請求項２】
前記コントローラ（８）は、前記暗号構成が、前記コントローラ（８）によって生成された前記メッセージについて有効である場合にのみ、前記ユーザ・データに関して要求された前記情報を前記端末装置（２）に供給するようになっている、請求項１に記載の装置。
【請求項３】
前記コントローラ（８）は、前記ユーザ・データに関して要求された前記情報の前記指標を暗号化して、秘密ユーザ鍵を用いて復号可能な暗号文を生成することによって、前記メッセージを生成するようになっている、請求項１又は請求項２に記載の装置。
【請求項４】
前記コントローラ（８）は、匿名鍵（ｋｅｙ−ａｎｏｎｙｍｏｕｓ）暗号化システムに従って前記指標を暗号化するようになっている、請求項３に記載の装置。
【請求項５】
前記コントローラ（８）はさらに、
前記ネットワーク（３）において前記公開エンティティ（４）によって公開されたメッセージから、前記端末装置（２）を介してメッセージ・データを受信することと、
前記メッセージ・データに対応する前記公開されたメッセージの中の前記コントローラ（８）によって生成されたいずれかのメッセージを、前記メッセージ・データから識別することと、
そのように識別された各メッセージについて、そのメッセージ中の前記指標に対応する前記ユーザ・データに関して要求された前記情報の記述を、ユーザに対して出力するために、前記端末装置（２）に送信することと
を含む監査プロセスを行うようになっている、請求項１〜請求項４のいずれかに記載の装置。
【請求項６】
前記コントローラ（８）は、前記コントローラによって生成された各メッセージについて、前記メッセージが前記コントローラによって生成されたことの検証を容易にする暗号チャレンジを計算し、前記暗号チャレンジを前記メッセージに含めるようになっている、請求項１〜請求項５のいずれかに記載の装置。
【請求項７】
前記コントローラ（８）は、前記公開エンティティに関連付けられた公開／非公開鍵ペアの公開鍵を用いて、メッセージ内の暗号チャレンジを暗号化するようになっている、請求項６に記載の装置。
【請求項８】
前記コントローラ（８）は、前記装置（５）によるいかなるメッセージ固有のデータの格納も介在させずに、前記メッセージが前記コントローラ（８）によって生成されたことを所定の秘密値を用いて検証できるように、前記メッセージのための乱数と前記秘密値とを用いて前記暗号チャレンジを計算するようになっている、請求項６又は請求項７に記載の装置。
【請求項９】
前記コントローラ（８）は、前記監査プロセスにおいて、
前記公開エンティティ（４）によって公開されたメッセージから、前記端末装置（２）を介して暗号チャレンジを受信し、
前記チャレンジを、前記乱数及び前記所定の秘密値を用いて前記コントローラによって計算される全ての可能なチャレンジと比較することによって、前記コントローラ（８）によって生成されたいずれかのメッセージを前記チャレンジから識別する
ようになっている、請求項８及び請求項５に記載の装置。
【請求項１０】
前記コントローラ（８）は、
前記チャレンジが、前記乱数に依存し、前記秘密値に依存する所定の関係を有する、一対の値を含むように、メッセージについて前記暗号チャレンジを計算し、
前記監査プロセスにおいて、前記公開エンティティ（４）によって公開されたメッセージから、前記端末装置（２）を介して暗号チャレンジを受信し、前記所定の関係を有する一対の値を含むいずれかのチャレンジを識別することによって、コントローラ（８）によって生成されたいずれかのメッセージを前記チャレンジから識別する
ようになった、請求項８及び請求項５に記載の装置。
【請求項１１】
前記装置（５）はスマート・カードを備える、請求項１〜請求項１０のいずれかに記載の装置。
【請求項１２】
ユーザ・データを格納するためのメモリ（１０）と、セキュリティ装置（５）とデータ通信ネットワーク（３）に接続可能な端末装置（２）との間におけるデータ通信の伝送のためのインタフェース（７）とを有する、前記セキュリティ装置（５）のプロセッサに、前記ユーザ・データに関する情報についての前記端末装置（２）からの要求を処理するための方法を行わせるプログラム・コード手段を含むコンピュータ・プログラムであって、前記方法は、前記要求の各々について、
前記ユーザ・データに関して要求された前記情報の指標を含むメッセージを生成することであって、前記メッセージは、秘密データを用いて、前記メッセージがコントローラ（８）によって生成されたことの検証を可能にするように生成される、メッセージを生成することと、
前記ネットワークにおいて前記メッセージを公開するための公開エンティティ（４）と前記ネットワーク（３）を介して通信するための前記端末装置（２）に、前記メッセージを送信することと、
前記公開エンティティによって公開された前記メッセージを符号化した、前記公開エンティティ（４）によって発行された暗号構成を、前記端末装置（２）から受信することと、
前記コントローラ（８）によって生成された前記メッセージについて、前記暗号構成の有効性を検査することと、
前記暗号構成に従って、前記ユーザ・データに関して要求された前記情報を前記端末装置（２）に供給することと
を含む、コンピュータ・プログラム。
【請求項１３】
端末装置（２）であって、
前記端末装置（２）とデータ通信ネットワーク（３）との間におけるデータの通信のための通信インタフェース（１６）と、
前記端末装置（２）とユーザ・データを格納するメモリ（１０）を有するデータ・セキュリティ装置（５）との間におけるデータの通信のためのセキュリティ装置インタフェース（１２）と、
前記ユーザ・データに関する情報について前記データ・セキュリティ装置（５）に要求を送信するための端末コントローラ（１７）と
を備え、前記端末コントローラ（１７）は、前記セキュリティ装置に送信された前記要求において要求された前記ユーザ・データに関する情報を受信する前に、
前記セキュリティ装置に送信された前記要求に応答する前記セキュリティ装置（５）から、メッセージを受信し、
前記ネットワークにおいて前記メッセージを公開するための公開エンティティ（４）に、前記データ通信ネットワーク（３）を介して前記メッセージを送信し、
前記公開エンティティによって公開された前記メッセージを符号化した、前記公開エンティティ（４）によって発行された暗号構成を、前記公開エンティティ（４）から受信し、
前記暗号構成を前記セキュリティ装置（５）に送信する
ようになっている、装置。
【請求項１４】
データ通信ネットワーク（３）に接続可能であり、ユーザ・データを格納するメモリ（１０）を有するセキュリティ装置（５）とデータの通信を行うように動作可能な、端末装置（２）のプロセッサに、前記ユーザ・データに関する情報を要求するための方法を実行させるプログラム・コード手段を含むコンピュータ・プログラムであって、前記方法は、前記ユーザ・データに関する情報について前記セキュリティ装置（５）に要求を送信することと、前記要求において要求された情報を受信する前に、
前記要求に応答する前記セキュリティ装置（５）からメッセージを受信することと、
前記ネットワークにおいて前記メッセージを公開するための公開エンティティに、前記データ通信ネットワーク（３）を介して前記メッセージを送信することと、
前記公開エンティティによって公開された前記メッセージを符号化した、前記公開エンティティ（４）によって発行された暗号構成を、前記公開エンティティ（４）から受信することと、
前記暗号構成を前記セキュリティ装置（５）に送信することと
を含む、コンピュータ・プログラム。
【請求項１５】
データ通信ネットワーク（３）に接続可能な、請求項１３に記載の端末装置（２）と、
前記ユーザ・データに関する情報について前記端末装置（２）からの要求を処理するための、請求項１から請求項１１までのいずれか１つに記載のデータ・セキュリティ装置（５）と、
前記端末装置（２）とのデータの通信のために前記ネットワーク（３）に接続された公開エンティティであって、前記公開エンティティは、前記端末装置（２）から前記ネットワーク（３）を介して前記メッセージを受信し、前記ネットワーク（３）において前記メッセージを公開し、前記公開されたメッセージを符号化した暗号構成を生成し、前記暗号構成を前記端末装置（２）に送信するようになっている、公開エンティティと、
を備えるシステム（１）。
【国際調査報告】
2013520906.tif 000008
2013520906.tif 000009