(57)【要約】電子署名のチェック方法およびシステムと、方法で使用する超小型回路付カードを実現する。電子署名をチェックするために、超小型回路カードを使用し、超小型回路は受信し、電子署名をチェックするリクエストを処理するように設計され、処理は超小型カード内のメモリに認証された公開鍵のダイジェストフォームを含む証明書テーブルを記憶する。電子署名をチェックするフェイズ（２）は、超小型回路によってチェックされるための署名（Ｓｉｇ（Ａｉｐ，Ｍ））と、チェックされた電子署名の生成に使用される秘密鍵を備える１対の鍵内の公開鍵（Ａ１ｐ）との受信（２１）と、受信した公開鍵のダイジェストフォーム（Ｈａｓｈ（Ａ１ｐ））の計算（２２）と、証明書テーブル（５，５’）内の計算された公開鍵のダイジェストフォームの探索（２３）と、記計算された公開鍵のダイジェストフォームが証明書テーブル内に位置する場合に受信した公開鍵を使って電子署名の暗号化（２５）から構成される。
2005529547.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システム（５１）と接続することができる超小型回路（５３）を利用する電子署名のチェック方法であって、前記超小型回路は、データ処理システムからの電子署名をチェックするためのリクエストを受信し、該リクエストを処理するように設計され、電子署名は、秘密鍵を署名の主体にだけ公開して使用されるように生成され、ならびに、公開鍵に対応づけられており、
メモリ内に少なくとも１つの公開鍵のダイジェストフォームを含む証明書テーブル（５，５’）を超小型回路（５３）内に記憶するステップと、電子署名をチェックするフェイズ（２）とを含むことを特徴とする電子署名のチェック方法であり、
前記フェイズ（２）は、
前記超小型回路によってチェックされるための前記署名（Ｓｉｇ（Ａｉｐ，Ｍ））と、チェックされた電子署名の生成に使用される秘密鍵を備える１対の鍵（pair of keys）内の公開鍵（Ａ１ｐ）とを受け取る（２１）ステップと、
受信した公開鍵のダイジェストフォーム（Ｈａｓｈ（Ａ１ｐ））を計算し（２２）、前記証明書テーブル（５，５’）内の前記計算された公開鍵のダイジェストフォームを探索する（２３）ステップと、
前記計算された公開鍵のダイジェストフォームが前記証明書テーブル内に位置する場合、受信した公開鍵を使って電子署名を暗号化する（２５）ステップとを備えている電子署名のチェック方法。
【請求項２】
請求項１記載の方法において、
公開鍵（Ｂｐ）を前記証明書テーブル（５，５’）に挿入するフェイズ（１）を備え、
前記フェイズ（１）は、
前記証明書テーブルに挿入するべき公開鍵（Ｂｐ）の証明書（＜Ｒ，Ｂ＞）と、上記証明書および上記証明主体の電子署名へ挿入されるべき上記公開鍵を備えた上記証明書が生成され、上記証明主体の上記公開鍵を含む１対の鍵に従った使用によって生成された秘密鍵が証明主体からの公開鍵（Ｒｐ）とを上記超小型回路（５３）によって受信する（１０）ステップと、
前記超小型回路によって前記証明主体から受け取った公開鍵（Ｒｐ）のダイジェストフォーム（Ｈａｓｈ（Ｒｐ））を計算し（１１）、前記証明書テーブル内の前記公開鍵からの前記計算されたダイジェストを探索する（１２）ステップと、
前記公開鍵の前記計算されたダイジェストフォームが前記テーブル内に位置する場合、前記証明主体から受け取った前記公開鍵を使用した前記電子署名を暗号化する（１４）ステップと、
前記復号化された電子署名が正しい場合、前記証明書から前記公開鍵（Ｂｐ）を抽出する（１７）ステップと、
前記証明書から抽出された前記公開鍵（Ｂｐ）のダイジェスト（Ｈａｓｈ（Ｂｐ））を計算し（１８）、前記証明書テーブル内に前記計算されたダイジェストを挿入する（１９）ステップとを備えたことを特徴とする方法。
【請求項３】
請求項２記載の方法において、
前記証明書テーブル（５，５’）内に公開鍵（Ｂｐ）を挿入する前記フェイズ（１）は、上記公開鍵の上記挿入されたダイジェストの組み合わせから証明ツリーを定義するために、前記証明書テーブル内のポインタ（８）を挿入すべき前記公開鍵の前記証明書（＜Ｒ，Ｂ＞）から発行された前記証明主体の前記公開鍵（Ｒｐ）の前記ダイジェストへの前記挿入を備えることを特徴とする方法。
【請求項４】
請求項３記載の方法において、
前記証明書テーブルから除去されるべき前記ダイジェストの公開鍵の削除と、除去されるべき前記公開鍵（Ｂｐ）を指し示すポインタ（８）と対応付けられた公開鍵の全ダイジェストの上記証明書テーブルからの削除とから構成される、公開鍵（Ｂｐ）のダイジェスト（Ｈａｓｈ（Ｂｐ））を前記証明書テーブル（５，５’）から削除するフェイズ（３）を含むことを特徴とする方法。
【請求項５】
請求項２〜４のいずれか一項に記載の方法において、
上記証明書テーブル（５，５’）に入れられた各公開鍵が有効期限終了日（７）と、上記証明書テーブルから読み込まれた上記証明主体の上記公開鍵（Ｒｐ）の上記有効期限終了日が上記有効期限終了日よりも早い場合、挿入されるべき上記公開鍵の上記ダイジェストと一緒に、上記受信した証明書（＜Ｒ，Ｂ＞）に挿入されるべき上記公開鍵の有効期限最終日の読込みを内包するステップと、上記証明書テーブルに挿入されるべき上記公開鍵（Ｂｐ）の上記有効期限終了日の登録を内包するステップとを同じく備える公開鍵（Ｂｐ）を上記証明書テーブルに挿入する上記フェイズ（１）とに関連づけられたことを特徴とする方法。
【請求項６】
請求項２〜５のいずれか一項に記載の方法において、
前記証明書テーブル（５，５’）内に入れられたそれぞれの公開鍵のダイジェストが、電子署名のチェックに前記公開鍵が使用されるたびに毎回インクリメントされる使用カウンタ（４１）に関連付けられ、使用カウンタが０かつ前記証明書テーブル内の空白場所の数が所定の閾値より小さい場合、証明書テーブルからの公開鍵ダイジェストの削除を含むことを特徴とする方法。
【請求項７】
請求項２〜６のいずれか一項に記載の方法において、
前記証明書テーブル（５，５’）に入れられたそれぞれの公開鍵のダイジェストは、電子署名のチェックに前記公開鍵が使用されるたびに毎回インクリメントされる使用カウンタ（４１）と、前記使用カウンタがインクリメントされるたびに毎回更新される最終使用日（４２）とに関連付けられ、前記証明書テーブルの空白場所の数が所定の閾値よりも小さくなった場合、前記使用カウンタと前記最終使用日に関連付けた値と対応する関数として削除されるために公開鍵のダイジェストを同じく選択するステップを含むことを特徴とする方法。
【請求項８】
請求項１〜７のいずれか一項に記載の方法において、
前記超小型回路（５３）は、前記公開鍵のダイジェストの計算に所定のハッシング関数を使用することを特徴とする方法。
【請求項９】
請求項１〜８のいずれか一項に記載の方法において、
ルートの公開鍵（Ｒｐ）を前記証明書テーブルに挿入するフェイズを備え、この挿入フェイズは前記超小型回路（５３）内の特別鍵を使って計算されたＭＡＣに制御された書込み処理によって行われ、超小型回路内の送信主体のみに公開することを特徴とする方法。
【請求項１０】
請求項１〜９のいずれか一項に記載の方法において、
前記証明書テーブル（５，５’）内に記憶された前記公開鍵のダイジェストは、前記公開鍵の有効期限終了日や、識別情報や、シリアルナンバーなどの他の情報と関連付けられた前記公開鍵のダイジェストの計算によって獲得され、この情報は、前記署名がチェックされるたびに毎回前記超小型回路（５３）に送信されることを特徴とする方法。
【請求項１１】
請求項１〜１０のいずれか一項に記載の方法において、
前記証明書テーブル（５，５’）内の前記公開鍵のダイジェストは、前記超小型回路（５３）から受信した前記証明書のダイジェストの計算によって獲得され、前記公開鍵が前記証明書テーブルに挿入された場合、この証明書は前記署名が前記公開鍵を使ってチェックされるたびに毎回前記超小型回路に送信されることを特徴とする方法。
【請求項１２】
請求項１〜１１のいずれか一項に記載の方法において、
証明書テーブル（５，５’）は前記超小型回路（５３）の安全なメモリ領域に記憶されることを特徴とする方法。
【請求項１３】
超小型回路（５３）と共に与えられるカードであって、請求項１〜１２のいずれか一項の方法を用いることを特徴とするカード。
【請求項１４】
電子署名をチェックするシステムであって、データ処理システム（５１）に接続することができる超小型回路（５３）を備え、請求項１〜１２のいずれか一項の方法を用いる手段を備えることを特徴とするシステム。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
本発明は、電子署名のチェック方法およびシステムと、スマートカードの上記方法への使用に関するものである。
【０００２】
特に、情報の認証、および、特定の処理に対する許可を与えるための電子署名の照会に適用できるが、それ専用ではない。上記処理は、特に、電子輸送チケットや電子財布のように電子超小型回路付きのカードに権利を記録する用途、または、流通証憑削減の用途を含んでいる。
【０００３】
スマートカードと呼ばれる超小型電子回路を持つカードは、特に銀行オペレーションや、安全な支払いや、建物またはセキュアエリアへのアクセスや遠隔通信といった高水準のセキュリティを概ね必要とするモバイル・コンピュータをサポートする多種多様な用途に通常使われる。
【０００４】
例えば、電子財布の用途で入金するといった、スマートカードにおいて取り扱いに慎重を要するデータのアップデートが必要とされるとき、上記カードは、受け取るアップデート指示のソースをチェックすることが可能でなければならない。これは、アップデート指示に対応する証明書（certificate）によって同じように保証される電子署名があるアップデート指示と対応付けることよって行われる。
【０００５】
メッセージに加えられた電子署名は、ハッシング機能を適用することで通常獲得される。そして秘密鍵を使うこのダイジェストの暗号化によって署名者のみに知らせられる。従って、署名をチェックするために必要である全ては、使用される秘密鍵に対応する公開鍵とハッシング機能と、ハッシング機能をメッセージに適用し、公開鍵を使う署名を復号化し、そして、復号化によって獲得された結果を持つハッシング機能を用いて獲得された結果を比較することとである。これらの２つの結果が同じであるならば、その署名は、正しい。
【０００６】
公開鍵証明書は、例えばＸ５０９、ＰＫＣＳ＃６標準に従い、人に使われる公開鍵のセットから構成される。セットとは、人および有効期間の定義のための識別情報と、認証機関（certification authority）と、認証機関の秘密鍵を使うこの署名によって加えられた電子署名によって偽造することが不可能にされた情報である。この証明書をチェックするために必要である全ては、使われる秘密鍵と対応する認証機関の公開鍵を持ち、そして、電子署名が認証機関によって実際発行されたかどうかチェックするためにこの公開鍵を使うことである。公開鍵が所定の人の本人証明と一致かの確認は、上記のように可能である。しかしながら、この原理は、公開鍵と対応する秘密鍵を使っている人が、実際に証明書において確認された人であることを保証しない。認証機関は、この対応を通常保証しない。
【０００７】
そのような対応を保証するために、それぞれの人（person）の上記デジタル署名が、ピラミッドの頂点の基準機関（reference authority）に達するまでに、あらかじめ他の主体（entity）などによって証明された上記署名の主体によって証明される、チェーンまたはピラミッド形の「証明書の連鎖（certificates chains）」の概念に基づく機構を設立することが提案された。そのような機構において、署名は、基準機関まで証明書の連鎖にそって上方に働くため、全ての公開鍵における全ての証明書の基礎となる。それは、この既知の主体の上記公開鍵が確実に記録され、偽造不可能であるべきことと同じく必要である。
【０００８】
そのような機構を管理する為に必要な上記技術は、ＰＣタイプのパーソナルコンピュータ、特に全部またはいくつかのそれらの機能をＳＳＬ（Secure Sockets Layer）やＨＴＴＰＳ（Hypertext Transfer Protocol integrating SSL）のプロトコルによって集約したインターネットブラウジングソフトにおいて、容易にインストールすることが出来る。しかしながら、これらの技術は、著しく限られた計算能力および記憶容量を持つスマートカードにおいてもっと使いにくい。処理されなければならない証明書の連鎖は、スマートカードの通常の特性と比較すると非常に長い。このように、Ｘ５０９スタンダードに準拠する証明書が数ｋｂｉｔであり、上記証明書の連鎖が長い場合、上記カードは、その基本となる能力を超える情報を処理し、記憶しなければならないかもしれない。
【０００９】
この点に関して、上記カードが接続されている端末がそのような処理を実行することが出来ないこと、そして上記端末のメモリは、公開鍵を別のものに取り替えることによって、その後セキュリティに影響を及ぼさずにカードを欺くことが容易であるためにこの処理に使用することが出来ないことを強調することは、重要である。
【００１０】
既に、上記証明書の連鎖において、認証機関の全ての公開鍵をスマートカードのメモリに導入することが提案された。しかしながら、この解決方法は、上記公開鍵がしばしば１ｋｂｉｔを超える容量を占有することから、大きなメモリ容量を必要とする。不認定キーを公開鍵のこのリストに挿入することによる詐欺の危険を妨げるために、これらの公開鍵が安全なメモリ領域に格納されるべきであることは、同じく必要である。今のところ、スマートカードに取り付けられた超小型回路は、十分なだけの安全な記憶容量を持っていない。
【００１１】
本発明の目的は、必要な量のメモリが使われるシステムのセキュリティに影響を及ぼすことなく、処理するカードに適用された制限を最小限にするスマートカード、および、端末の間のデータ、そして、処理機構を提案することによってこれらの欠点をなくすことである。該目的は、電子署名検証のプロセスの提供によって達成され、データ処理システムと接続することができる超小型回路を利用し、上記超小型回路は上記データ処理システムからの電子署名をチェックするリクエストを受信するように設計されており、電子署名は署名の実態だけに知られる秘密鍵を使用して生成され、電子署名は、公開鍵に関連づけられる。
【００１２】
本発明によれば、この処理は上記小型回路内のメモリに少なくとも１つの公開鍵のダイジェストフォームを内包する証明書テーブル（certificates table）を記憶するステップと、電子署名をチェックするフェイズとを含む。フェイズは
−上記超小型回路によってチェックされた上記電子署名と、上記チェックされた電子署名によって生成された秘密鍵を備える１対の鍵（pair of keys）内の公開鍵とを受信するステップと、
−上記受信した公開鍵のダイジェストフォームを計算し、上記証明書テーブル内の上記公開鍵の上記計算されたダイジェストフォームを検索するステップと、
−上記公開鍵の上記計算されたダイジェストフォームが上記証明書テーブル内に位置する場合、上記受け取った公開鍵を用いて上記電子署名を復号化するステップとを備える。
【００１３】
本発明の特別な特徴によって、この処理は上記証明書テーブル内に公開鍵を挿入するフェイズを備える。フェイズは、
−上記証明書テーブルに挿入される上記公開鍵の証明書と、上記証明書テーブル内に追加され、上記証明主体内の上記公開鍵を含む１対の鍵に従って秘密鍵を使用して保証されるための上記公開鍵とを備えた上記証明書によって保証された証明書主体からの公開鍵とを上記超小型回路によって受信するステップと、
−上記証明主体から受け取った上記公開鍵のダイジェストフォームを上記超小型回路によって計算し、上記証明書テーブル内の上記公開鍵の上記計算されたダイジェストフォームを検索するステップと、
−上記公開鍵の上記計算されたダイジェストフォームが上記テーブル内に位置する場合、上記証明主体から受信した上記公開鍵を使用して上記電子署名を復号化するステップと、
−復号化された電子署名が正しい場合、上記証明書から挿入される上記公開鍵を展開するステップと、
−上記証明書から展開された公開鍵のダイジェストを計算し、上記計算されたダイジェストを上記証明書テーブルに挿入するステップとを備える。
【００１４】
上記証明書テーブル内の上記公開鍵の上記証明書テーブルへ挿入する上記フェイズは、上記公開鍵の上記挿入されたダイジェストの組み合わせにより証明ツリー（certification tree）を定義するために上記証明書より支給される上記証明主体の、上記公開鍵のダイジェストへの上記ポインタの挿入を含む事が望ましい。
【００１５】
本発明の別の特徴によって、この処理は、公開鍵ダイジェストを上記証明書テーブルから削除するフェイズを含む。フェイズは、上記証明書テーブルから除去された上記公開鍵のダイジェストの削除と、上記公開鍵を除去するように指示するポインタに対応付けられた公開鍵の全ダイジェストの上記証明書テーブルからの削除を内包する。
【００１６】
上記証明書テーブルに登録されたそれぞれの公開鍵ダイジェストは、有効期限最終日と関連づけられる。そして公開鍵を上記証明書テーブルへ挿入する上記フェイズは、上記証明書テーブルから読み込まれる上記証明主体における上記公開鍵の上記有効期限最終日が早い場合、上記受け取った証明書に挿入される上記公開鍵の有効期限終了日の読込みと、上記証明書テーブルに挿入される上記公開鍵の上記有効期限最終日の登録と、を挿入される上記公開鍵の上記ダイジェストと一緒に内包するステップを同じく備えることが望ましい。
【００１７】
また、上記証明書テーブルに登録されたそれぞれの公開鍵のダイジェストは、上記公開鍵を使用して電子署名をチェックする毎にインクリメントされる使用カウンタと関連付けられる、そして該処理は、上記使用カウンタが０かつ上記証明書テーブル内の空白場所の数が所定の閾値よりも低いとき、公開鍵ダイジェストを上記証明書テーブルから削除することを含むことが望ましい。
【００１８】
また、上記証明書テーブルに入れられた各公開鍵ダイジェストは、使用カウンタと対応づけられるのが好ましい。使用カウンタは、電子署名が上記公開鍵を使用してチェックされる毎にインクリメントされる。毎回更新される最終使用日において、前記関連付けられた使用カウンタは、インクリメントされる。前記証明書テーブル内の空白箇所の数が所定の閾値より低い場合、削除されるべき公開鍵のダイジェストを選択するステップを含む該処理は、対応付ける関数として、前記前記使用カウンタの値および前記最終使用日を関連づける。
【００１９】
上記超小型回路は、上記公開鍵の上記ダイジェストフォームを計算するための規定のハッシング機能を使用することが好ましい。
【００２０】
本発明のさらにもう１つの特別な特徴によれば、この処理は、公開鍵のルートが挿入されるフェイズを備える、この挿入フェイズは、上記超小型回路の特別キーを使用して計算された上記超小型回路内のＭＡＣによる書込み処理によってなされ、上記超小型回路による送信主体にのみ知られる。
【００２１】
上記証明書テーブル内に記憶された公開鍵の上記ダイジェストは、上記公開鍵の上記有効期限終了日や、識別情報や、シリアルナンバーなどといった他の情報に関連付けられた計算された公開鍵のダイジェストによって獲得される、該情報は、上記署名が上記公開鍵をつかってチェックされる毎に上記超小型回路に送信されることが好ましい。
【００２２】
上記証明書テーブル内に記憶された公開鍵の上記ダイジェストは、上記公開鍵が上記証明書テーブル内に挿入されたとき、上記小型回路によって受信された上記証明書のダイジェストの計算することよって獲得される、該証明書は、上記署名が上記公開鍵を使用してチェックされる毎に上記超小型回路に送信されることが好ましい。
【００２３】
上記証明書テーブルは、上記超小型回路内の安全な記憶領域に記憶されることが好ましい。
【００２４】
本発明は、また、上述のように定義した超小型回路カードに関する。
【００２５】
本発明は、また、データ処理システムに接続することができる超小型回路を含む電子署名をチェックし、上述のように定義した処理を実行するシステムに関する。
【００２６】
本発明の好ましい実施形態については、限定されない例として添付された図に沿って、以下で述べられるだろう。
【００２７】
図１は、本発明にもとづく方法が使用されるシステムの概略を示す図である。
【００２８】
図２は、証明書ツリーを示す図である。
【００２９】
図３は、本発明にもとづくスマートカードに記憶された証明ツリーを示す図である。
【００３０】
図４、本発明にもとづくスマートカードによって実行される、上記様々な手続きをフローチャートの形で説明する図である。
【００３１】
図５は、本発明にもとづくスマートカードによって実行される、上記様々な手続きをフローチャートの形で説明する図である。
【００３２】
図６は、本発明にもとづくスマートカードによって実行される、上記様々な手続きをフローチャートの形で説明する図である。
【００３３】
図７は、図３で示されたものとは別の、本発明にもとづく証明書テーブルを示す図である。
【００３４】
図１において示されるシステムは、デジタルデータを送信するネットワーク５０に接続された複数の端末５１を備える。これらの端末は、例えば、電子財布の補填や、（輸送チケットのような）権利の割り当てや、安全なデータ交換などといった、不正行為から保護されなければならないサービスを提供するように設計される。
【００３５】
システムユーザは、いわゆるスマートカードと呼ばれるようなマイクロプロセッサ５３が付属したタイプの個人カードを持ち、スマートカードリーダーのような通信手段５２によってそれぞれの端末５１に提供され、カード５３のマイクロプロセッサによって通信される。
【００３６】
上述によって言及されたように、ユーザはサービスにアクセスする前に、そのメモリの中にサービスに割り当てられた公開鍵があるであろうスマートカード５３を持っていなければならない。該公開鍵によって、証明システムを使った、異なる端末の署名のチェックまたは認証を可能にする。
【００３７】
図２は、いくつかの証明システムを備えた公開鍵証明ツリーを表す。該ツリーは、主体Ａ１およびＡ２に対応する公開鍵が主体Ａによって証明され、主体Ａおよび主体Ｂの公開鍵が該ツリーの根っこに位置するという事実から「ルート」と呼ばれる主体Ｒによって証明されることを、鍵の間のリンクによって示す。
【００３８】
証明が必要な場合、例えば、主体Ａ２によって配布され関連付けられる人Ｘの公開鍵が、認証機関Rによってのみ知られる人によってチェックされるべき場合、上記認証機関によって発行された証明書を備える該人物に全体の証明書の連鎖が送信される。主体Ａによって発行された公開鍵を取り扱う主体Ａ１は＜Ａ，Ａ１＞と示し、該証明書の連鎖は以下の証明書から成る。
【００３９】
＜Ａ２，Ｘ＞＜Ａ，Ａ２＞＜Ｒ，Ａ＞
各証明書は、証明するための上記公開鍵に結び付けられる上記認証機関の上記署名と、証明するための上記公開鍵および所有者の同一性情報との関連づけと、可能ならば有効期限開始日および終了日から構成される。従って、＜Ｒ，Ａ＞＝（ＳｉｇR（Ａｐ、Ａの同一性,有効期限開始日および終了日）,Ｒの同一性）、Ａｐは主体Ａの上記公開鍵を表す、と示される。
【００４０】
上記の例では、上記人Ｘによって発行された署名Ｓｉｇｘ（Ｍ）とメッセージＭの取り扱いが必要とされる場合、上記認証機関Ｒを知る人物によってのみチェックされることができ、上記証明書は上記署名に関連づけられて言及されていなくてはならない。
【００４１】
Ｓｉｇx（Ｍ）＜Ａ，２，Ｘ＞＜Ａ，Ａ２＞＜Ｒ，Ａ＞
このように、公開鍵Ｒｐが知られている場合、上記証明書＜Ｒ，Ａ＞は主体Ａの上記公開鍵Ａ２Ｐを供給する。上名所＜Ａ，Ａ２＞は主体Ａ２の上記公開鍵Ａ２Ｐを支給し、上記証明書＜Ａ２，Ｘ＞は上記署名ＳｉｇＸ（Ｍ）のチェックに使う公開鍵Ｘｐを支給する。
【００４２】
署名をチェックし、それゆえに公開鍵の正当性の保証が必要とされるとき、該プロセスは、多量の情報および大量の処理を包含し、これらの制限はスマートカードの記憶および処理能力と互換性がない。
【００４３】
これらの問題を解決するために、本発明は、公開鍵よりむしろスマートカードメモリそのものにおける認識された認証機関の公開鍵のダイジェスト、例えばＭＤ（Message Digest）４または５、ＳＨＡ（Secure Hash Algorithm）、ＨＭＡＣ（Hashed Message Authentication）のようないわゆるハッシング機能を用いて獲得されたダイジェストを格納することを提案する。
【００４４】
該ダイジェスト鍵は、図３に示されるように、証明書テーブル５の形で格納される。この図において示された上記証明書テーブルにおいて、上記公開鍵の各ハッシュ（Ｘｐ）ダイジェスト６は、上記関係する証明書の有効期限最終日７や、例えばフォーム＜月／二桁の年＞で定義されるような、証明書テーブルの情報にある上記公開鍵に対応する上記テーブルの列へのポインタ８と対応づけられている。
【００４５】
このように、例えば鍵Ａ２Ｐは、上記テーブルの４列目のダイジェストフォームに記憶され、２００２年１２月と等しい有効期限終了日に関連付けられ、上記公開鍵Ａｐの位置に関連する上記テーブルの２行目に結び付けられる。それゆえ、通常、テーブル５内の上記ポインタ行８に現れるポインタは、図２によって示された証明ツリーを再構成するために使うことができる。
【００４６】
証明ツリーのルート鍵Ｒｐは他の鍵に結び付けられないので、証明書テーブルにおけるヌル・ポインタと関連づけられている。
【００４７】
言うまでもなく、本発明に基づく証明テーブルは、いくつかの独立した証明ツリー含むことができ、それゆえ、いくつかかのルート鍵を含むことができる。
【００４８】
それが必要なメモリ資源を減少させるという事実から離れて、本発明はまた、鍵のサイズが変数（他の鍵よりルート鍵が通常大きい）であり、ハッシング機能が入力関数によって適用された２進数列に関わらず固定長の２進数列によって供給されることで知られる該メモリ管理を単純化する。
【００４９】
本発明に基づいて、該証明書テーブル５は、上記テーブル内に載せられた鍵によって証明された新しい鍵を挿入する手続きと、上記テーブルから鍵を削除する手続きと、上記テーブルの鍵が使用された署名をチェックする手続きとに関連づけられており、該手続きはスマートカード５３のプログラムメモリに記憶され、端末５１のカードへの接続の元で、上記カードの処理装置によって実行される。
【００５０】
新しい鍵は、図４で概略的に示される手続き１を使用して、上記証明書テーブル５内に挿入される。
【００５１】
ステップ１０で、該手続きは、テーブル５に挿入される上記公開鍵の上記証明書を受信し、＜Ｒ，Ｂ＞で例示するように、上記証明書によって発行された上記認証機関の上記公開鍵Ｒｐと関連付けられる。次のステップ１１で、該手続きは、規定のハッシング関数を使用して受信した公開鍵ＲｐのダイジェストＨａｓｈ（Ｒｐ）を計算し、そして上記証明テーブル内で該鍵ダイジェストの探索１２を行う。該鍵ダイジェストＨａｓｈ（Ｒｐ）が上記証明書テーブル５内に存在しない場合、該手続きはエラーメッセージ１３を返す。しかしながら、存在する場合は、上記公開鍵Ｒｐを使用して復号化しようと試みることで上記証明書をチェック１４する。上記証明書が正当でなければ、言い換えれば、上記公開鍵Ｒｐを使用して復号できなければ（ステップ１５）、該手続き１６はエラーメッセージを返す。正当である場合、上記証明書＜Ｒ，Ｂ＞から上記証明書テーブルに挿入されるために上記公開鍵Ｂｐで展開し１７、上記公開鍵のダイジェストＨａｓｈ（Ｂｐ）を上記同じハッシング関数を使用して計算し１８、上記公開鍵の上記ダイジェストは上記証明書テーブルから獲得されて挿入される１９。
【００５２】
上記新しい鍵Ｂｐを上記テーブル内に挿入する上記ステップの間、上記新しい鍵の上記有効期限終了日が上記証明書によって結び付けられた上記鍵Ｒｐの有効期限終了日より早ければ追加でチェックされる。該施策は、許可者が該プロセスに所有する権利より広い権利を割り当てることができないという原則を満たすことを意図している。該日付が結び付けられた上記鍵の上記有効期限終了日よりも遅い場合、該２つの日付の古いほうを上記テーブルに挿入することができる。変形として、セキュリティ理由から、上記新しい鍵を上記テーブルに入力せず、エラーメッセージを上記端末に出すことを決定してもよい。
【００５３】
従って、たった今示された手続き１は鍵をテーブルに挿入するために使うことができ、上記鍵は、証明書によって上記ダイジェストがすでに証明書テーブル５内に位置するよう他の鍵と結び付けられる。従って、上記証明書テーブルと、新しい鍵を上記テーブルに挿入するための上記手続きとによって使用される上記証明システムの全体のセキュリティは、ルート鍵を上記テーブル内に挿入するために使用される上記手続きに基づいている。こういうわけで、ルート鍵は、十分な保護を提供する手続きを使用して挿入されなければならない。従って、例えば、そのような手続きは、従来のＭＡＣ(Message Authentication Code)によって制御され、カードの発行人のみに知られるカード特有の鍵を使用して計算された書込み処理を含んでも良い。
【００５４】
図５は、上記署名をチェックする上記手続き２が、メッセージＭに結び付けられ、上記公開鍵Ａｐに対応する秘密鍵を用いて生成された、Ｓｉｇ（Ａｐ，Ｍ）を意味することを示す概略図である。
【００５５】
該手続きは、例えば、Ｓｉｇ（Ａ１ｐ、Ｍ）のように、ステップ２１の入力によってチェックされる上記署名と、上記署名を生成するために使用された上記秘密鍵に対応する上記公開鍵Ａ１ｐとを受信する。
【００５６】
ステップ２２において、該手続きは、上記受信した鍵Ａ１ｐのダイジェストＨａｓｈ（Ａ１ｐ）を計算し、ステップ２３において、該鍵ダイジェストが上記認証テーブル内に位置する場合、参照するために検索する。そうでない場合、上記カードは上記署名を検証することができず、エラーメッセージを返す（２４）。その場合、上記公開鍵Ａ１ｐを使用してメッセージＭの上記ダイジェストの復号化を試みることで、上記署名を検証２５する。以下のステップ２６、２７、２８において、上記検証の上記結果を与えるメッセージを返す。
【００５７】
図６は、上記証明書テーブルからある鍵を回収する手続き３を示す概略図である。ステップ３１において、該手続きは、削除するために上記鍵Ｂｐを入力として受信する。ステップ３２および３３において、該手続きは、上記鍵Ｂｐのダイジェスト上記Ｈａｓｈ（Ｂｐ）を計算し、上記テーブル５内の該鍵の上記ダイジェストを検索する。削除される上記鍵がテーブル内に見つからない場合、該手続きはエラーメッセージを返す（３４）。その場合、テーブル５内の上記ラインに出現する全情報を削除する。つぎにステップ３６で、それらが削除された鍵に結び付けられているために他の鍵がテーブル５から除去される必要がある場合、言い換えれば、上記テーブルが上記削除された行を指し示すポインタを含む場合に、参照するために検索する。他の鍵が上記テーブルから削除（ステップ３７）される必要がある場合、該手続きは、あらゆる鍵を見けるために上記手続き３を実行し、ステップ３５からステップ３８へ進む。このように、鍵Ａが上記テーブルから除去された場合、Ａに結び付けられた全ての鍵は自動的に除去され、言い換えれば図２で、鍵Ａ１およびＡ２および全ての鍵は、Ａ１およびＡ２に結び付けられる。
【００５８】
上記カード処理ユニットは、定期的に、例えば、上記現在時刻が受信されたときに、全ての終了した鍵、言い換えれば、上記現在の日付より早い有効期限終了日を持つ全ての鍵をテーブル５から削除する手続き３を呼び出すことが出来ることに留意するべきである。
【００５９】
さらに、上記削除処理の最後で、テーブル５は、テーブル内の空白ではない行の補正によって二つの空白ではない行の間にある空白行を消去することで、上記テーブルの開始点に向かって再編成することができる。
【００６０】
たった今述べられた手続き１、２、および３は、非接続モードで実行することが出来ること、言い換えれば、接続された上記スマートカード５３および上記端末５１以外の主体による動作を必要としないこと、該手続きに必要とされる上記証明書と、署名と、公開鍵とをもつ上記端末によって供給することが出来ることとに留意するべきである。
【００６１】
上記証明書テーブル５’は、また、上記テーブル内のそれぞれの鍵に関連づけられた使用カウンタを受信するように設計された追加列４１を含んでいる（図７）。
【００６２】
上記テーブル内の鍵を使用した署名のチェックに上記手続き２が実行されるたびに、上記鍵が上記テーブル内に挿入されるとき０に初期化された上記対応づけられたカウンタは、１によってインクリメントされ、上流方向（言い換えれば、上記チェックされた署名および上記証明書の連鎖内の上記鍵に対応付けられた上記鍵と、上記同じ証明書の連鎖に従う上記鍵との間）の鍵に対応付けられた全てのカウンタもまた、１によってインクリメントされるだろう。
【００６３】
上記スマートカード５３の上記限られたメモリを、鍵は決して使われないというような上記テーブル内の各キーの上記使用といった情報の提供によって、もっと効果的に管理することができる該計測手段は、上記証明書テーブルから除去することができる。該除去は上記端末５１がトリガーとなっても良い。この場合、上記手続き１は、テーブル５’内の上記空白行の数が所定の数より低くなったとき、「メモリ不足」のメッセージを上記端末に送信するステップを備える。手続き１は、ステップ１９内の手続き３の呼び出しによって該除去のトリガーとなることも出来る。
【００６４】
更に、テーブル５’内の全カウンタが０ではなく、上記テーブルがいっぱいである場合、上記カウンタの上記最低の値に対応付けられた上記鍵は、削除することが出来る。テーブル５’内のいくつかの鍵が該基準を満たす場合、上記鍵は、ルート鍵からもっとも遠い鍵の１つが上記テーブルからの除去に選択される。
【００６５】
上記テーブルは、また、各カウンタの上記更新日または上記鍵の最終使用日を内包する追加の列４２を内包してもよい。この場合、上記使用数の基準および最終使用日の基準は組合されることが出来、または、該２つの基準は上記鍵の上記証明書テーブル５’から削除するための選択に適用することが出来る。上記適用に従属して、上記最も古い使用期限に対応付けられた上記鍵を上記テーブルから削除することが可能になるだろう。
【００６６】
上記証明書テーブルは、本発明がダイジェストフォームに、同一性、シリアルナンバー、有効期限終了日情報等の、他の情報を記憶することができることに基づく。この場合、該情報は、手続き１，２、および３が呼び出されたとき、上記カードに送信されなければならない。
【００６７】
本発明の１つの変形では、上記認証機関から配給された上記証明書によって、上記テーブルは証明書のダイジェストを記憶し、認証機関による公開鍵のダイジェストの代わりに上記証明ツリーを形成する。該証明書は、手続き１、２、および３が呼び出された場合、上記カードに送信される。
【図面の簡単な説明】
【００６８】
【図１】本発明にもとづく方法が使用されるシステムの概略を示す図である。
【図２】証明書ツリーを示す図である。
【図３】本発明にもとづくスマートカードに記憶された証明ツリーを示す図である。
【図４】本発明にもとづくスマートカードによって実行される、上記様々な手続きをフローチャートの形で説明する図である。
【図５】本発明にもとづくスマートカードによって実行される、上記様々な手続きをフローチャートの形で説明する図である。
【図６】本発明にもとづくスマートカードによって実行される、上記様々な手続きをフローチャートの形で説明する図である。
【図７】図３で示されたものとは別の、本発明にもとづく証明書テーブルを示す図である。
【図１】
2005529547.tif 000003
【図２】
2005529547.tif 000004
【図３】
2005529547.tif 000005
【図４】
2005529547.tif 000006
【図５】
2005529547.tif 000007
【図６】
2005529547.tif 000008
【図７】
2005529547.tif 000009
【国際調査報告】
2005529547.tif 000010
2005529547.tif 000011
2005529547.tif 000012
2005529547.tif 000013