(57)【特許請求の範囲】
【請求項１】
暗号方式でセキュアされたアクセスコントロールドデータムへのアクセスを管理する装置において、
(a)候補アクセスコードを受け取る入力ロジックと、
(b)暗号方式でカムフラージュされたアクセスコントロールドデータムをストアするように構成した第１メモリと、
(c)前記入力ロジックと前記第１メモリとに接続した第１暗号方式ロジックであって、前記暗号方式でカムフラージュされたアクセスコントロールドデータムを前記候補アクセスコードを用いて処理し、該処理において、前記候補アクセスコードの不正プロバイダが、前記アクセスコントロールドデータムのプレカムフラージュされた状態に対応する特性構造フォーマットを保存することにより、暗号方式によるカムフラージュを検知することを、禁止する第１暗号方式ロジックと、
(d)前記処理されたアクセスコントロールドデータムを本装置のユーザに供給する出力ロジックと
を備え、前記アクセスコントロールドデータムはプライベートキーであり、前記プライベートキーに対応する擬似パブリックキーをさらに備えたことを特徴とする装置。
【請求項２】
請求項１において、
(a)前記アクセスコントロールドデータムは、アクセスコードを用いて少なくとも一部暗号化されており、
(b)前記アクセスコードの暗号方式表現をストアするように構成した第２メモリを備え、
(c)前記第１暗号方式ロジックは、
(i)前記入力ロジックに接続した第２暗号方式ロジックであって、前記アクセスコードの前記暗号方式表現を、複数の擬似有効アクセスコードに属する前記候補アクセスコードに応答して再生成するように構成した第２暗号方式ロジックと、
(ii)前記再生成された暗号方式表現を前記第２暗号方式ロジックから受け取るように構成した第３暗号方式ロジックであって、前記第１メモリおよび前記入力ロジックに接続した第３暗号方式ロジックであり、前記ストアされた暗号化アクセスコントロールドデータムを復号化して復号化アクセスコントロールドデータムを生成する際に、前記受け取った候補アクセスコードを用いる第３暗号方式ロジックと
を含むことを特徴とする装置。
【請求項３】
請求項２において、前記アクセスコントロールドデータムは、暗号方式キーであることを特徴とする装置。
【請求項４】
請求項３において、前記暗号方式キーは、プライベートキーであることを特徴とする装置。
【請求項５】
請求項１において、前記擬似パブリックキーを含む擬似パブリック証明書を備えたことを特徴とする装置。
【請求項６】
請求項１において、前記擬似パブリックキーは、暗号化されていることを特徴とする装置。
【請求項７】
請求項１において、前記擬似パブリックキーは、オーソライズされたベリファィヤー以外に知られていない対応するプライベートキーを有するパブリックキーで暗号化されたことを特徴とする装置。
【請求項８】
請求項４において、前記プライベートキーは、well-formedであることを特徴とする装置。
【請求項９】
暗号方式でセキュアされたアクセスコントロールドデータムへのアクセスを管理する装置において、
(a)候補アクセスコードを受け取る入力ロジックと、
(b)暗号方式でカムフラージュされたアクセスコントロールドデータムをストアするように構成した第１メモリと、
(c)前記入力ロジックと前記第１メモリとに接続した第１暗号方式ロジックであって、前記暗号方式でカムフラージュされたアクセスコントロールドデータムを前記候補アクセスコードを用いて処理し、該処理において、前記候補アクセスコードの不正プロバイダが、前記アクセスコントロールドデータムのプレカムフラージュされた状態に対応する特性構造フォーマットを保存することにより、暗号方式によるカムフラージュを検知することを、禁止する第１暗号方式ロジックと、
(d)前記処理されたアクセスコントロールドデータムを本装置のユーザに供給する出力ロジックと
を備え、前記アクセスコントロールドデータムはプライベートキーであり、前記プライベートキーは、小さい係数を持たないモジュラスと、前記モジュラスより小さい指数部とを含むことを特徴とする装置。
【請求項１０】
暗号方式でセキュアされたアクセスコントロールドデータムへのアクセスを管理する装置において、
(a)候補アクセスコードを受け取る入力ロジックと、
(b)暗号方式でカムフラージュされたアクセスコントロールドデータムをストアするように構成した第１メモリと、
(c)前記入力ロジックと前記第１メモリとに接続した第１暗号方式ロジックであって、前記暗号方式でカムフラージュされたアクセスコントロールドデータムを前記候補アクセスコードを用いて処理し、該処理において、前記候補アクセスコードの不正プロバイダが、前記アクセスコントロールドデータムのプレカムフラージュされた状態に対応する特性構造フォーマットを保存することにより、暗号方式によるカムフラージュを検知することを、禁止する第１暗号方式ロジックと、
(d)前記処理されたアクセスコントロールドデータムを本装置のユーザに供給する出力ロジックと
を備え、前記アクセスコントロールドデータムはプライベートキーであり、前記プライベートキーは、
(a)前記モジュラスのクリアテキスト表現と、
(b)前記モジュラスに対応する指数部の少なくとも一部の暗号方式表現と
を含むことを特徴とする装置。
【請求項１１】
請求項１０において、
(a)前記指数部より大きくかつ前記モジュラスより小さい数をストアするための第３メモリをさらに備え、
(b)前記指数部の少なくとも一部は、拡張フォームでストアされ、モジュロ−前記数値で評価されたとき、前記指数部の少なくとも一部と等しくなることを特徴とする装置。
【請求項１２】
請求項１０において、前記指数部の少なくとも一部は、前記指数部の下位桁を表すことを特徴とする装置。
【請求項１３】
請求項３において、前記アクセスコードの前記暗号方式表現の再生成するための前記第２暗号方式ロジックは、多対１ハッシュを含むことを特徴とする装置。
【請求項１４】
請求項１３において、前記多対１ハッシュは、前記複数の擬似有効アクセスコードが複数の無効アクセスコードに分散されていることを特徴とする装置。
【請求項１５】
請求項２において、
(a)前記暗号方式表現は、ハッシュ関数を含み、
(b)前記暗号方式表現を再生成するための前記第２暗号方式ロジックは、多対１ハッシュを含む
ことを特徴とする装置。
【請求項１６】
請求項１５において、前記多対１ハッシュは、前記複数の擬似有効アクセスコードが複数の無効アクセスコードに分散されていることを特徴とする装置。
【請求項１７】
請求項１５において、前記アクセスコントロールドデータムは、プライベートキーであることを特徴とする装置。
【請求項１８】
暗号方式でセキュアされたアクセスコントロールドデータムへのアクセスを管理する装置において、
(a)候補アクセスコードを受け取る入力ロジックと、
(b)暗号方式でカムフラージュされたアクセスコントロールドデータムをストアするように構成した第１メモリと、
(c)前記入力ロジックと前記第１メモリとに接続した第１暗号方式ロジックであって、前記暗号方式でカムフラージュされたアクセスコントロールドデータムを前記候補アクセスコードを用いて処理し、該処理において、前記候補アクセスコードの不正プロバイダが、前記アクセスコントロールドデータムのプレカムフラージュされた状態に対応する特性構造フォーマットを保存することにより、暗号方式によるカムフラージュを検知することを、禁止する第１暗号方式ロジックと、
(d)前記処理されたアクセスコントロールドデータムを本装置のユーザに供給する出力ロジックと
を備え、
(e)前記アクセスコントロールドデータムは、アクセスコードを用いて少なくとも一部暗号化されており、
(f)前記アクセスコードの暗号方式表現をストアするように構成した第２メモリを備え、
(g)前記第１暗号方式ロジックは、
(i)前記入力ロジックに接続した第２暗号方式ロジックであって、前記アクセスコードの前記暗号方式表現を、複数の擬似有効アクセスコードに属する前記候補アクセスコードに応答して再生成するように構成した第２暗号方式ロジックと、
(ii)前記再生成された暗号方式表現を前記第２暗号方式ロジックから受け取るように構成した第３暗号方式ロジックであって、前記第１メモリおよび前記入力ロジックに接続した第３暗号方式ロジックであり、前記ストアされた暗号化アクセスコントロールドデータムを復号化して復号化アクセスコントロールドデータムを生成する際に、前記受け取った候補アクセスコードを用いる第３暗号方式ロジックと、
を含み
(h)前記暗号方式表現は、ハッシュ関数を含み、
(i)前記暗号方式表現を再生成するための前記第２暗号方式ロジックは、多対１ハッシュを含み、
(j)前記アクセスコントロールドデータムは、プライベートキーであり、
(k)前記プライベートキーは、well-formedである
ことを特徴とする装置。
【請求項１９】
暗号方式でセキュアされたアクセスコントロールドデータムへのアクセスを管理する装置において、
(a)候補アクセスコードを受け取る入力ロジックと、
(b)暗号方式でカムフラージュされたアクセスコントロールドデータムをストアするように構成した第１メモリと、
(c)前記入力ロジックと前記第１メモリとに接続した第１暗号方式ロジックであって、前記暗号方式でカムフラージュされたアクセスコントロールドデータムを前記候補アクセスコードを用いて処理し、該処理において、前記候補アクセスコードの不正プロバイダが、前記アクセスコントロールドデータムのプレカムフラージュされた状態に対応する特性構造フォーマットを保存することにより、暗号方式によるカムフラージュを検知することを、禁止する第１暗号方式ロジックと、
(d)前記処理されたアクセスコントロールドデータムを本装置のユーザに供給する出力ロジックと、
(e)デジタルサイニングロジックと、
を備え、前記デジタルサイニングロジックは
(i)サインされるメッセージを受けるための入力ロジックと、
(ii)ランダムデータを生成するランダマイジングロジックと、
(iii)前記入力ロジックとランダマイジングロジックとにオペラティブに接続された第４暗号方式ロジックであって、
(1)前記受け取ったメッセージを前記生成されたランダムデータでパディングし、
(2)前記パッディングされたメッセージを前記復号化アクセスコントロールドデータムでサインする
第４暗号方式ロジックと、
を含むことを特徴とする装置。
【請求項２０】
請求項２において、前記第３暗号方式ロジックは、
前記受け取った候補アクセスコードが無効アクセスコードであるとき、前記暗号化を許可しないように構成したことを特徴とする装置。
【請求項２１】
請求項２において、前記第１乃至第３暗号方式ロジックは、ソフトウェアプログラムとして実装されたことを特徴とする装置。
【請求項２２】
請求項２において、ハードウェアデバイスとして実装されたことを特徴とする装置。
【請求項２３】
請求項２において、
(a)サインされるメッセージを受け取る入力ロジックと、
(b)ランダムデータを生成するランダマイジングロジックと、
(c)前記入力ロジックおよび前記ランダマイジングロジックに接続した第４暗号方式ロジックであって、
(i)前記受け取ったメッセージを前記生成されたランダムデータでパディングし、
(ii)前記パッディングされたメッセージを前記復号化アクセスコントロールドデータムでサインする
第４暗号方式ロジックと
を含むデジタルサイニングロジックを備えたことを特徴とする装置。
【請求項２４】
請求項２３において、前記生成されたランダムデータは、本装置の外部ソースからアライズ（arise）されることを特徴とする装置。
【請求項２５】
請求項２３において、前記生成されたランダムデータは、物理的ソースからオリジネートされることを特徴とする装置。
【請求項２６】
請求項２において、前記復号化するための第３暗号方式ロジックは、対称暗号方式関数を含むことを特徴とする装置。
【請求項２７】
請求項２６において、前記対称暗号方式関数は、ＤＥＳであることを特徴とする装置。
【請求項２８】
暗号方式でセキュアされたアクセスコントロールドデータムへのアクセスを管理する装置において、
(a)候補アクセスコードを受け取る入力ロジックと、
(b)暗号方式でカムフラージュされたアクセスコントロールドデータムをストアするように構成した第１メモリと、
(c)前記入力ロジックと前記第１メモリとに接続した第１暗号方式ロジックであって、前記暗号方式でカムフラージュされたアクセスコントロールドデータムを前記候補アクセスコードを用いて処理し、該処理において、前記候補アクセスコードの不正プロバイダが、前記アクセスコントロールドデータムのプレカムフラージュされた状態に対応する特性構造フォーマットを保存することにより、暗号方式によるカムフラージュを検知することを、禁止する第１暗号方式ロジックと、
(d)前記処理されたアクセスコントロールドデータムを本装置のユーザに供給する出力ロジックと
を備え、前記ストアされたアクセスコントロールドデータムは、対応するパブリックキーを有するプライベートキーであり、長い指数部を含むことを特徴とする装置。
【請求項２９】
暗号方式キーウォレットにおいて、
(a)ユーザ入力されたアクセスコードであって、複数の擬似有効アクセスコードに属するのが可能なアクセスコードを受け取る入力ロジックと、
(b)前記複数の擬似有効アクセスコードのうちの１つの擬似有効アクセスコードの不正インプッタ（inputter）が、暗号方式によるカムフラージュを検知することを禁止する暗号方式ロジックであって、該禁止を、
(i)前記入力された擬似有効アクセスコードを暗号方式によりベリファイし、
(ii)前記アクセスコントロールドデータムのプレカムフラージュされた状態に対応する特性構造フォーマットを有する復号化アクセスコントロールドデータムを生成するため、暗号方式でカムフラージュされたアクセスコントロールドデータムを、前記入力された擬似有効アクセスコードを用いて、復号化する
ことにより、行う暗号方式ロジックと、
(c)前記復号化アクセスコントロールドデータムを前記ユーザに提供する出力ロジックと
を備え、前記アクセスコントロールドデータムは、対応する擬似パブリックキーを有するプライベートキーを含むことを特徴とする暗号方式キーウォレット。
【請求項３０】
請求項２９において、前記擬似パブリックキーを含む擬似パブリック証明書をさらに備えたことを特徴とする暗号方式キーウォレット。
【請求項３１】
デジタルウォレットが作成されたメモリを備えたコンピュータが、前記デジタルウォレットにストアされた、暗号方式でセキュアされたアクセスコントロールドデータムを提供するための方法であって、
(a)候補アクセスコードを前記デジタルウォレットのユーザから受け取るステップと、
(b)ストアされ暗号方式でカムフラージュされたアクセスコントロールドデータムにアクセスするステップと、
(c)前記暗号方式でカムフラージュされたアクセスコントロールドデータムを、前記候補アクセスコードを用いて、暗号方式で処理するステップであって、前記候補アクセスコードの不正プロバイダが、前記アクセスコントロールドデータムのプレカムフラージュされた状態に対応する特性構造フォーマットを保存することにより、暗号方式によるカムフラージュを検知することを禁止する、暗号方式で処理するステップと、
(d)前記処理されたアクセスコントロールドデータムを、前記デジタルウォレットの前記ユーザに提供するステップと
を備え、前記アクセスコントロールドデータムはプライベートキーであり、前記プライベートキーに対応する擬似パブリックキーをさらに備えたことを特徴とする方法。
【請求項３２】
請求項３１において、前記暗号方式でカムフラージュされたアクセスコントロールドデータムを、前記候補アクセスコードを用いて、暗号方式で処理するステップは、
(a)前記デジタルウォレットにストアされた、アクセスコードを用いて少なくとも一部暗号化されたアクセスコントロールドデータムにアクセスするステップと、
(b)前記デジタルウォレットにストアされた、前記アクセスコードの暗号方式表現にアクセスするステップと、
(c)複数の擬似有効アクセスコードに属する前記候補アクセスコードに応答して、前記アクセスコードの前記暗号方式表現を再生成するステップと、
(d)前記受け取った候補アクセスコードを用い、前記暗号化アクセスコントロールドデータムを復号化して、復号化アクセスコントロールドデータムを生成するステップと
を含むことを特徴とする方法。
【請求項３３】
請求項３２において、前記アクセスコントロールドデータムは、暗号方式キーであることを特徴とする方法。
【請求項３４】
請求項３３において、前記暗号方式キーは、プライベートキーであることを特徴とする方法。
【請求項３５】
請求項３１において、前記デジタルウォレットは、前記擬似パブリックキーを含む擬似パブリック証明書を含むことを特徴とする方法。
【請求項３６】
請求項３５において、前記擬似パブリックキーは、暗号化されていることを特徴とする方法。
【請求項３７】
請求項３６において、前記擬似パブリックキーは、オーソライズされたベリファイヤー以外に知られていないプライベートキーを有するパブリックキーで暗号化されたことを特徴とする方法。
【請求項３８】
請求項３１において、前記プライベートキーは、well-formedであることを特徴とする方法。
【請求項３９】
請求項３８において、前記プライベートキーは、小さい係数を持たないモジュラスと、該モジュラスより小さい指数部とを含むことを特徴とする方法。
【請求項４０】
請求項３８において、前記プライベートキーは、
(a)前記モジュラスのclearテキスト表現と、
(b)前記モジュラスに対応する指数部の少なくとも一部の暗号方式表現と
を含むことを特徴とする方法。
【請求項４１】
請求項４０において、
(a)前記プライベートキーは、前記指数部のうちの拡張フォームの少なくとも一部として前記デジタルウォレットにストアされ、
(b)前記暗号化アクセスコントロールドデータムを復号化するステップは、前記コンピュータが、
(i)前記指数部より大きくかつ前記モジュラスより小さい数値を、前記デジタルウォレットから取り出すステップと、
(ii)前記指数部のうちの拡張フォームの少なくとも一部を、前記デジタルウォレットから取り出すステップと、
(iii)前記指数部のうちの拡張フォームの少なくとも一部に対して、モジュロ−前記数値の評価をし、前記指数部の前記少なくとも一部をリカバーするステップと
を含むことを特徴とする方法。
【請求項４２】
請求項４０において、前記指数部の少なくとも一部は、前記指数部の下位桁を表すことを特徴とする方法。
【請求項４３】
請求項３４において、前記アクセスコードの前記暗号方式表現を再生成するステップは、多対１ハッシュをパフォームすることを含むことを特徴とする方法。
【請求項４４】
請求項４３において、前記多対１ハッシュは、前記複数の擬似有効アクセスコードが複数の無効アクセスコードに分散されていることを特徴とする方法。
【請求項４５】
請求項３３において、
(a)前記暗号方式表現はハッシュ関数を含み、
(b)前記アクセスコードの前記暗号方式表現を再生成するステップは、多対１ハッシュをパフォームする
ことを含むことを特徴とする方法。
【請求項４６】
請求項４５において、前記多対１ハッシュは、前記複数の擬似有効アクセスコードが複数の無効アクセスコードに分散されていることを特徴とする方法。
【請求項４７】
請求項４５において、前記アクセスコントロールドデータムは、プライベートキーであることを特徴とする方法。
【請求項４８】
請求項４７において、前記プライベートキーは、well-formedであることを特徴とする方法。
【請求項４９】
請求項４７において、
(a)サインされるメッセージを受け取るステップと、
(b)ランダムデータを生成するステップと、
(c)前記受け取ったメッセージを前記生成されたランダムデータでパディングするステップと、
(d)前記パディングされたメッセージを前記復号化アクセスコントロールドデータムでサインするステップと
をさらに備えたことを特徴とする方法。
【請求項５０】
請求項３３において、前記アクセスコントロールドデータムを復号化するステップは、前記受け取った候補アクセスコードが無効アクセスコードであるとき許可しないことを特徴とする方法。
【請求項５１】
請求項３３において、ソフトウェアプログラムとしてインプリメントされることを特徴とする方法。
【請求項５２】
請求項３３において、ハードウェアデバイスによりインプリメントされることを特徴とする方法。
【請求項５３】
デジタルウォレットが作成されたメモリを備えたコンピュータが、前記デジタルウォレットにストアされた、暗号方式でセキュアされたアクセスコントロールドデータムを提供するための方法であって、
(a)候補アクセスコードを前記デジタルウォレットのユーザから受け取るステップと、
(b)ストアされ暗号方式でカムフラージュされたアクセスコントロールドデータムにアクセスするステップと、
(c)前記暗号方式でカムフラージュされたアクセスコントロールドデータムを、前記候補アクセスコードを用いて、暗号方式で処理するステップであって、前記候補アクセスコードの不正プロバイダが、前記アクセスコントロールドデータムのプレカムフラージュされた状態に対応する特性構造フォーマットを保存することにより、暗号方式によるカムフラージュを検知することを禁止する、暗号方式で処理するステップと、
(d)前記処理されたアクセスコントロールドデータムを、前記デジタルウォレットの前記ユーザに提供するステップと、
(e)サインされるメッセージを受け取るステップと、
(f)ランダムデータを生成するステップと、
(g)前記受け取ったメッセージを前記生成されたランダムデータでパディングするステップと、
(h)前記パディングされたメッセージを前記復号化アクセスコントロールドデータムでサインするステップと
を備えたことを特徴とする方法。
【請求項５４】
請求項５３において、前記生成されたランダムデータは、本装置の外部ソースからアライズ（arise）されることを特徴とする方法。
【請求項５５】
請求項５３において、前記生成されたランダムデータは、物理的ソースからオリジネートされることを特徴とする方法。
【請求項５６】
請求項３３において、前記暗号化アクセスコントロールドデータムを復号化するステップは、前記暗号化アクセスコントロールドデータムに対して対称暗号方式オペレーションをパフォームすることを特徴とする方法。
【請求項５７】
請求項５６において、前記対称暗号方式オペレーションはＤＥＳであることを特徴とする方法。
【請求項５８】
デジタルウォレットが作成されたメモリを備えたコンピュータが、前記デジタルウォレットにストアされた、暗号方式でセキュアされたアクセスコントロールドデータムを提供するための方法であって、
(a)候補アクセスコードを前記デジタルウォレットのユーザから受け取るステップと、
(b)ストアされ暗号方式でカムフラージュされたアクセスコントロールドデータムにアクセスするステップと、
(c)前記暗号方式でカムフラージュされたアクセスコントロールドデータムを、前記候補アクセスコードを用いて、暗号方式で処理するステップであって、前記候補アクセスコードの不正プロバイダが、前記アクセスコントロールドデータムのプレカムフラージュされた状態に対応する特性構造フォーマットを保存することにより、暗号方式によるカムフラージュを検知することを禁止する、暗号方式で処理するステップと、
(d)前記処理されたアクセスコントロールドデータムを、前記デジタルウォレットの前記ユーザに提供するステップと
を備え、前記ストアされたアクセスコントロールドデータムは、長い指数部を含む対応するパブリックキーを有するプライベートキーであることを特徴とする方法。
【請求項５９】
デジタルウォレットが作成されたメモリを備えたコンピュータが、前記デジタルウォレットにストアされた、暗号方式でセキュアされたアクセスコントロールドデータムを提供する方法において、
(a)ユーザから入力されたアクセスコードであって、複数の擬似有効アクセスコードに属するのが可能なアクセスコードを、前記デジタルウォレットにて、受け取るステップと、
(b)前記複数の擬似有効アクセスコードのうちの１つの擬似有効アクセスコードの不正インプッタ（inputter）が、暗号方式によるカムフラージュを検知することを禁止する暗号方式ロジックであって、該禁止を、
(i)前記入力された擬似有効アクセスコードを暗号方式によりベリファイし、
(ii)前記アクセスコントロールドデータムのプレカムフラージュされた状態に対応する特性構造フォーマットを有する復号化アクセスコントロールドデータムを生成するため、暗号方式でカムフラージュされたアクセスコントロールドデータムを、前記入力された擬似有効アクセスコードを用いて、復号化することにより、行うステップと、
(c)前記復号化アクセスコントロールドデータムを前記デジタルウォレットの前記ユーザに提供するステップと
を備え、前記アクセスコントロールドデータムは、対応する擬似パブリックキーを有するプライベートキーを含むことを特徴とする方法。
【請求項６０】
請求項５９において、前記デジタルウォレットは、前記擬似パブリックキーを有する擬似パブリック証明書を含むことを特徴とする方法。
【請求項６１】
デジタルウォレットが作成されたメモリを備えたコンピュータが、暗号方式でセキュアされたアクセスコントロールドデータムを前記デジタルウォレットにストアする方法において、
(a)アクセスコントロールドデータムを受け取るステップと、
(b)オーソライズされたユーザにより認識されるが、オーソライズされていないユーザには認識されないような前記アクセスコントロールドデータムを、前記アクセスコントロールドデータムのプレカムフラージュされた状態に対応する特性構造フォーマットを保存することにより、暗号方式でカムフラージュするステップと、
(c)前記カムフラージュされたアクセスコントロールドデータムを前記デジタルウォレットにストアするステップと
を備えたことを特徴とする方法。
【請求項６２】
請求項６１において、前記アクセスコントロールドデータムを暗号方式でカムフラージュするステップは、
(a)アクセスコードを受け取るステップと、
(b)前記アクセスコードの暗号方式表現であって、複数の擬似有効アクセスコードに応答して再作成の可能なプロパティを有する暗号方式表現を計算するステップと、
(c)前記アクセスコードの前記計算された暗号方式表現をストアするステップと、
(d)前記アクセスコントロールドデータムを前記アクセスコードを用いて少なくとも一部復号化するステップと、
(e)前記複数の前記擬似有効アクセスコードのうちの１つを提供するユーザによりその後アクセスするため、前記少なくとも一部暗号化されたアクセスコントロールドデータムをストアするステップと
を含むことを特徴とする方法。
【請求項６３】
請求項６２において、前記アクセスコントロールドデータムは、暗号方式キーであることを特徴とする方法。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、アクセスコントロールドデータムを暗号方式でセキュアすることに関し、具体的には、暗号方式キーをセキュアにストアし使用することに関する。
【０００２】
（本発明の背景）
暗号方式データセキュリティ技術によれば、データをキーで暗号化してデータをセキュアする。復号化されたデータは、当該キーを用いた場合のみリカバーできる。選択されるキーは、不正な侵入者が試行錯誤しても、実質的にありとあらゆるコンピューティングリソースを用いたとしても、考えつかないほど充分長いものがいい。よって、当該データのセキュリティは当該キーのセキュリティに転嫁される。当該キーへのアクセスがパスフレーズによりコントロールされるか、ヒューマンユーザが容易に思い出させるほど短いＰＩＮ(Personal Identification Number)によりコントロールされるように、当該キーをストアするのは望ましい。こうすることにより、当該ヒューマンユーザは自分のＰＩＮを用いて自分のキーをリカバーでき、そして、暗号化されていたデータを、当該キーを用いてリカバーできる。不幸にも、当該ＰＩＮが人が容易に思い出せるほど短い場合には、不正な侵入者にとっては、試行錯誤してゲス（guess）できる程度に短いのである。そうすると、当該キーのセキュリティは徐々にむしばまれ、よって、暗号化データのセキュリティも徐々にむしばまれることになる。このことは、データセキュリティでは悩みの種であった。本発明では、暗号方式カムフラージュという基本的に新しい技術を用いて、この問題に対するソリューションを提供する。当該キーを隠すことを意図する慣用の方法に対して、この新しい技術によれば、見かけ上同様の多数のキーの中に当該キーを埋め込むことにより、当該キーをカムフラージュすることになる。当該キーが充分異なると言えるのは、データの正当な所有者が、自分が思い出させる程度に短いＰＩＮを用いて、正しいキーを難なく突き止めることができるからである。だが、当該キーが非常に似通っていると、不正な侵入者はごく普通に当該キーを見つけ出すことになる。このような侵入者が試行錯誤で正しいキーを選択できる唯一の方法は、当該キーの所有者か、行政当局かのいずれかが、この侵入者の行為をベリファイして、この侵入者を暴露する方法がある。以下の説明において、デジタルシグネチャに対するプライベートキーをストアするコンテキストは例に過ぎない。当業者にとって当然のことであるが、暗号方式カムフラージュの技術を用いて他のフォームのデータをセキュアできる。
【０００３】
本発明の背景を説明する。ＲＡＳのような非対称暗号方式では、各ユーザは、整合したキーペアと、プライベートキーと、パブリックキーとを保持する。このプライベートキーとこのパブリックキーは、一意で、整合したペアを、メッセージ（例えば、メッセージか、データか、コードか、他のデジタル表現が可能な情報であって他の暗号方式キーを含む情報か、情報の暗号方式表現）内に形成される。このメッセージはプライベートキーで暗号化され、パブリックキーでのみ復号化でき、逆に、パブリックキーで暗号化され、プライベートキーのみで復号化できる。プライベートキーとパブリックキとの間の１：１対応を用いて、電子メッセージおよびリアクションのため、デジタルシグネチャを作成できる。電子メッセージにサインするため、ユーザは当該メッセージを自分のプライベートキーで暗号化する。そして、自分のパブリックキーを、暗号化されたメッセージに付加して受取人に送る。あるいはまた、このユーザは自分のパブリックキーを当該メッセージに付加しないが、この受取人が、このユーザのパブリックキーをパブリックキーのディレクトリでルックアップできる。あるいは、当該シグネチャをベリファイするため、当該受取人は当該メッセージを、当該付加されているパブリックキーを用いて復号化することになる。そして、当該復号化が成功した場合には、当該受取人は当該メッセージがオリジンであると確信する。
【０００４】
上述したように、当該送り人は、当該メッセージにサインするため、当該メッセージ全体を、自分のプライベートキーを用いて暗号化する。このようにすると、計算上、高額になる。このことをアドレスするため、固定長、例えば、１２９ビット長の当該メッセージを計算し、ついで、当該ハッシュ値を暗号化するだけで充分である。当該ハッシュ関数がＭＤ５のようなものであれば、２つのメッセージが同一のハッシュ値を有するチャンスは極端に小さくなる。よって、デジタルシグネチャ方法は、典型的には、メッセージのハッシュを計算し、得られたハッシュ値のみを暗号化する。この暗号化されたハッシュ値と、当該送り人の当該パブリックキーは、当該受取人に伝送する前に、当該オリジナルのメッセージに付加される。当該シグネチャをベリファイするため、当該受取人は受け取ったメッセージのハッシュを計算する。得られたハッシュ値が、当該暗号化されたハッシュとの復号化フォームと同一である場合には、当該受取人は当該メッセージがオリジンと確信する。
【０００５】
以上のように、当該シグネチャベリフィケーションプロセスは、当該メッセージに付加された当該パブリックキーが、実際、意図した所有者のパブリックキーであるという受取人の確信に依存する。ユーザを装おうことを阻止する手段がない場合には、整合するキーペアを生成できるものは誰でもユーザを装おうことができる。この点、パブリックキーは、しばしば、ＣＡ（certifying authorities）というサードパーティにより証明される。ＣＡの例としては、VerisignやEntrustのような商業上のエンティティがある。ＣＡは被証明者のパブリックキーを当該被証明者のＩＤとバインドし、ついで、当該コンバインされたメッセージを当該ＣＡのプライベートキーでサインし、当該被証明者のパブリックキー証明書を形成する。そこで、証明書保持者は、当該メッセージを当該受取人に送る前に、自分のパブリックキー証明書を、当該暗号化されたメッセージに付加する。当該送り人のＩＤをチェックし、自分のパブリックキーの認証性をチェックするため、当該受取人は当該ＣＡのパブリックキーを用いて、当該送り人のパブリックキー証明書上の当該ＣＡのシグネチャをベリファイする。広く信頼されるＣＡの数が僅かであるので、ＣＡのパブリックキーは信頼でき、受取人に容易に適用可能である。そこで、パブリックキーシグネチャは、stranger-to-stranger認証のために、次のような点で、用いることができる。すなわち、受取人および送り人が以前には関係がないとしても、当該受取人と当該送り人が共に共通のＣＡを信頼する限り、当該受取人は当該送り人のシグネチャをベリファイできる、という点で用いることができる。ユーザのシグネチャが一意であるか捏造できないかは、当該ユーザが自分のプライベートキーをプライベートにしておく能力にかかっている。ユーザのプライベートキーにアクセスできる者は、匿名で当該ユーザを装おうことができる。電子商取引（electronic commerce）や他のアプリケーションにおいて、デジタルシグネチャを広く使用するには、プライベートキーをセキュアにストレージする技術が必要になる。現在では、広く信じられているが、ハードウェアデバイス、例えば、スマートカードと、Fortezzaカードと、PCMCIAカード、他のコンパクトなハードウェアデバイス上で、プライベートキーを物理的に隔離してストアするのが最上の方法である。スマートカードはクレジットカードサイズのカードであって、マイクロプロセッサとメモリを含んでいる。ユーザのプライベートキーとパブリックキー証明書は、当該メモリ上にライトされる。当該カードを使用するには、ユーザが当該カードを、ホストコンピュータに接続された適正なカードリーダに差し込み、ついで、当該カードを活動化するため、自分のＰＩＮをエンタする。正しいＰＩＮがエンタされた場合、オンカード（on-card）プロセッサは、当該ホストコンピュータで使用するため、当該プライベートキーを解放する。正しくないＰＩＮがエンタされた場合は、当該プロセッサは当該ユーザのプライベートキーを解放することになる。耐タンパー（tamper）性を有するスマートカードの中には、正しくないＰＩＮが続けて何回かエンタされた場合に、当該カードが永久にルックアップするように、構成されているものがある。精巧なスマートカード（��リプトカードと呼ばれることもある）の中には、当該プライベートキーが当該スマートカードからけっして離脱しないように、暗号方式オペレーションをパフォームするものがある。処理されるバイト（byte）がホストコンピュータからスマートカードに入ると、処理され、ついで、当該ホストコンピュータに戻される。不幸にも、クリプトカードは、カードリーダとの間でバイトのやり取りを行なうホストコンピュータを信頼するとしても、完全にセキュアではない。不正なホストコンピュータは、伝送する前に、あるメッセージを別のメッセージと取り換えることができる。従って、ユーザは、あるメッセージにサインしていると思っているが、実際は、別のメッセージにサインしている。よって、クリプトカードであって、不正なホストコンピュータと戦うことはできない。
【０００６】
一方、スマートカードはプライベートキーをセキュアにストアするという問題を解決できるが、スマートカードにも欠点がある。
１)所期コストが高い。スマートカードは、スマートカードリーダという、高価なハードウェア・インフラストラクチャが必要である。
２)管理上のオーバヘッド。スマートカードは分配・維持のため、管理上のオーバヘッドが必要になる。
３)ユーザの便宜が低い。耐タンパーのため、ユーザはスマートカードを複製できないし、バックアップできないし、照合できない。
【０００７】
セキュアなソフトウェアベースのキーウォレットは、ハードウェアの追加を必要としないが、上述したスマートカードの欠点の幾つかを緩和できる。不幸にも、このようなソリューションは現在では利用できない。キーストレージのために、今日、MicrosoftおよびNetscapeの製品で用いられている標準技術は、タンパーに対する保護については非常に低く、このような保護を突破できてしまう。具体的には、これらキーウォレットは、当該ユーザのＰＩＮを暗号化キーとして用いて、暗号化されたフォームで、プライベートキーをストアする。ＰＩＮはユーザが思い出させる程度に短く、例えば、６桁コードでなければならない。このようなソフトウェアキーウォレットがハッカーの手に渡ると、当該ハッカーはパーソナルコンピュータ上で、１００万通りの可能な６桁コードを自動的にトライし、ついに、当該キーウォレットを開けるコードを見つけ出す。この時点で、当該ハッカーは全く正しいＰＩＮを手にしたことを知り、当該ユーザのプライベートキーにアクセスする。よって、ソフトウェア・オンリのキーウォレットを提供するという点に関する主要な問題には、ＰＩＮは当該ユーザが思い出せる程度に短くなくてはならないが、キーウォレットに耐タンパーを与える程度には長くなくてはならない、という競合する要件が存在する。
【０００８】
（発明の概要）
本発明は、暗号方式カムフラージュというデータストレージのための新しい技術を提供する。当該データを隠すことを狙いとする慣用の暗号方式方法に対して、本発明によれば、当該データが同様のデータ内に埋め入まれ、当該データがカムフラージュされる。この埋め込みは次のような点が変化する。データはそれぞれ異なっているので、当該データの正当な所有者は、自分が容易に思い出すことができる短いＰＩＮを用いて、正しいデータを難なく突き止めることができる。ただ、これらデータが非常に似通っていて、不正な侵入者はどれももっともらしいと思う点では、この埋めこみは同質のものである。
このような侵入者が試行錯誤して正しいデータを選択できる唯一の方法は、当該データの所有者か、行政当局かのいずれかが、この侵入者の行為をベリファイして、この侵入者を暴露する方法がある。この埋め込みのため選択された多数のデータは、これらデータが当該正当な所有者のためには変化に富んでいるが、不正な侵入者を撃退できるほどに同質であるという競合する制約を満足する、のが好ましい。当業者にとって当然のことであるが、このような埋め込みは、特別のアプリケーションの具体的なコンテキストに合うように仕立て上げることができる。
【０００９】
ここでは、プライベートキーをキーウォレットにストアする例を説明する。これは、現行のパブリックキーシグネチャ方法、例えば、ＲＳＡと、ＤＳＳと、El-Gamalと、楕円曲線クリプトシステムと、関係付けをしたキー生成と、ベリフィケーションと、証明技術と互換性がある。
【００１０】
当業者にとって当然のことであるが、当該暗号方式カムフラージュの技術は、当該実施の形態の一般的な方法にしたがえば、他の実施の形態に適用できる。キーウォレット（あるいはまた、デジタルウォレット)という用語は、当然、暗号方式カムフラージュされたアクセスコントロールドデータムをストアするためのデバイスを指すが、明細書に記載された例のみを指すわけではない。キーウォレットは、スマートカードと全く同様にしてユーザがＰＩＮを用いてアンロックするソフトウェアウォレットとしてインプリメントできる。ソフトウェアベースののウォレットスキームの利点としては、
１)低コスト。当該システムは追加のハードウェア・インフラストラクチャを必要としない。このウォレットは、デジタルストレージ媒体、すなわち、フロッピーディスクと、ハードディスクと、磁気ストライプカードと、スマートカードそのものを含むデジタルストレージ媒体に埋め込むことができる。
２)管理上のオーバヘッドが小さい。このウォレットは電子的に配布され、必要に応じて、電子的にアップデートされる。
３)ユーザの便宜が高い。ユーザはウォレットを複製し、バックアップし、照合できる。ウォレットは電子的に伝送できる。
４)耐タンパー性がある。ウォレットは機能的にはスマートカードと同じ耐タンパーを有する。
５)ユーザに無駄な負担がない。ウォレットに対するユーザの経験はスマートカードと同じである。ユーザは異常に長いＰＩＮを必要とせず、ＰＩＮのエンタ等に特に注意すべきである。
【００１１】
本発明の関連する他の態様は、上記キーウォレットに有用な、パブリックキー証明書の作成と管理に関係する。このような証明書の利点としては、
１）限定された義務。パブリックキーは擬似パブリックキーであり、その使用はＣＡによりオーソライズされたベリファイヤに限定される。これは、実際上、ＣＡの法的義務を限定することができる。
２)証明書の取消し。オーソライズされたベリファイヤにとって有用なパブリックキー証明書を作成できる。よって、当該証明書の取消しは容易であり、当該オーソライズされたベリファイヤのみが証明書のキャンセルを知らせる必要があるだけである。勿論、本発明をソフトウェア・オンリでインプリメントするのは種々の利点があり、当該システムの全部または一部をハードウェアとソフトウェアの組み合わせでインプリメントでき、あるいは、純粋にハードウェアでインプリメントでき、ディプロイおよび利用の点での柔軟性が大きい。まず、暗号方式でカムフラージュしたキーウォレットシステムのメタファを説明し、ついで、これを技術的に実現した要約を説明する。
【００１２】
家の玄関の錠を選択する問題を考察する。小さくて安価な錠と、持運びに不便でない小さな鍵を選択できる。あるいは、大きくて頑丈な錠と、持運びに不便な大きな鍵を選択できる。第三には、強力な電子錠とキーカード、例えば、ホテル等で使用されているものがある。このような電子錠は高価であり、管理上のオーバヘッドは幾分大きくなるが、これらは便利でセキュアである。
【００１３】
比喩的に言えば、安価な錠は、コンピューティング・リソースを保護するのに広く用いられるている簡単なパスワードを表している。強力な錠に大きなキーは、パブリックキー方法を表している。これらは、強力であるが、扱いにくい。電子キーカード錠は当該キーをストアするためのスマートカードを有するパブリックキー認証方法を表している。この比喩では、プライベートキーストレージに対する慣用のソフトウェアソリューションは、鍵をドアマットの下に隠すのと等しい。ユーザは、自分のＰＩＮを用いて、鍵をドアマットの下から見つけ出す。不幸にも、不正なハッカーが、鍵が見つかるまでドアマットの下を探し回るのは、容易なことである。これに対して、本発明を用いれば、ユーザは１万個の鍵をドアマットの下に隠すことができる。これらキーのうち１つが正しいキーであり、ドアを開けることができる。残りのキーではドアは開かないし、および／または、使えばアラームが鳴ることになる。これらのキーは、全て異なるように注意深く指定してあり、正当なユーザは暗闇でも正しい鍵を見つけ出すことができる。しかし、これらのキーは似通っているので、侵入者には同じように見える。そして、正しくない鍵を選択しても、次に選択する鍵に関するフィードバックはない。
【００１４】
本発明のキーウォレット態様は、上述した暗号方式カムフラージュの比喩を技術的に実現したものである。本発明の一実施の形態では、当該キーウォレットは当該プライベートキーを、暗号化されたフォームでストアする。ここで、暗号化キーは当該ユーザのＰＩＮである。ユーザは自分のプライベートキーを、自分のＰＩＮを用いてリカバーする。ＰＩＮは典型的に６桁コードである。当該ユーザが全く正しいＰＩＮをエンタした場合には、自分のプライベートキーを正しくリカバーできる。ユーザが正しくないＰＩＮをエンタした場合は、２つの事柄の一方が起こる。(a)当該キーウォレットは開かない。または、(b)当該キーウォレットは開くが、正しくないプライベートキーはリカバーされない。例えば、１００万通りの６桁ＰＩＮコードのうち、１万個の６桁ＰＩＮコードはキーウォレットを開け、候補プライベートキーができる。しかし、これら候補プライベートキーのうちの１つのみが、正しいプライベートキーとなる。他の候補プライベートキーは正しくないキーとなるが、それにも関らず、正しいプライベートキーらしく見えることになる。上述した比喩のように、正当なユーザは当該正しいプライベートキーを突き止めることができる。というのは、この正当なユーザは真のＰＩＮを知っているからである。この不正なハッカーは、ありとあらゆるＰＩＮをトライして、等しくそれらしい１万個の候補プライベートキーを全てリカバーすることになる。当該ハッカーがどのキーが正しいキーであるかを分かることができる１つの方法としては、それらのキーを受け取ることをオーソライズされた幾つかの企業でそれらのキーを使用する方法がある。このことは、大いにありそうなことであるが、当該ハッカーは侵入者として暴かれることになる。以上より、当該キーウォレットのユーザは、当該キーウォレットのプライベートキーにアクセスする人である。あるいはまた、当該ユーザは人である必要はなく、アプリケーションプログラムか、ハードウェアデバイスか、人の幾つかのエージェントになることができる。しかし、説明を簡単にするため、ユーザという用語は、ここでは、キーウォレットにアクセスする人のコンテキストで用いる。
【００１５】
以上は、暗号方式カムフラージュのインプリメンテーションの例であり、プライベートキーをＰＩＮを用いてセキュアにストアする例である。しかし、当業者にとって当然のことであるが、本発明は、アクセスコントロールドデータム(ACD)を、デジタル表現可能なアクセスコードを用いて、セキュアにストアするのに一般的に有用である。よって、キーウォレット（あるいはまた、デジタルウォレット）という用語は、当然、一般的には、暗号方式カムフラージュされたアクセスコントロールドデータムをストアするためのデバイスをいい、実施形態の例ではない。最後に、本発明の関係する態様は、キー生成と、ベリフィケーションおよび証明技術を含む。このことは後程詳細に説明する。
【００１６】
当業者にとって当然のことであるが、本発明のアプリケーションとしては、次の(a)〜(i)のようなものを含むが、これらに限定されるものではない。(a)コンピューティングおよびストレージリソースに、リモート／ローカルに、セキュアにアクセスするための強力な認証、(b)ネットワーク上に複数のコンピュータを有する環境でのユーザ・サインオンの軽減、(c)IPSECネットワークプロトコルを用いるか、あるいは用いないで、ファイヤウォールを介してセキュアにアクセスするための強力な認証、(d)セキュアな電子商取引トランザクションに対するデジタルシグネチャ、(e)電子ペイメントメカニズムに対するデジタルシグネチャ、(f)データベースに対するセキュアなアクセス、および／または、データベーストランザクションに対するデジタルシグネチャ、(g)ルータおよびネットワークスイッチに対するセキュアなアクセス、(h)分散サービスに対するセキュアなアクセス、(i)埋め込みアプリケーションであって、（例えば、デジタルウォレットの)ユーザがコンピュテーショナル・エージェントにより、例えば、ソフトウェアまたはハードウェアでランするプログラムにより、表現されるが、上記アプリケーションに適用されるものの、これに限定されるものではない埋め込みアプリケーション。
【００１７】
（発明の詳細な説明）
図１はシステム全体の機能要素を示す。これらの機能要素はそれぞれプライベートキーのセキュアにストレージしその後に当該プライベートキーを用いる点で役割を演じるものである。第１コンポーネントはキー生成コンポーネント１００であり、ユーザのためにパブリックおよびプライベートキーを作成するものである。第２コンポーネントはキーウォレット１１０であって、生成されたプライベートキーをストアし、シグネチャを生成するのに用いられる。第３コンポーネントはベリフィケーションコンポーネント１２０であって、当該キーウォレットにより作成されたシグネチャをベリファイするのに用いられる。第４コンポーネントはサーティフィケーションコンポーネント１３０であって、キー生成コンポーネントにより作成されたパブリックキーを証明するのに用いられる。キーウォレットコンポーネントは当該暗号方式カムフラージュを埋め込む。一方、その他の要素は当該埋め込みが当該正当なユーザにとって種々に便宜であることを保証するが、当該不正な侵入者を撃退する点では同質である。上述したものは、本発明の実施例では、汎用のコンピュータでランするソフトウェアとしてインプリメントされている。
【００１８】
１.キーウォレットの詳細な説明
分析のため、キーウォレットはユーザのプライベートキーが入っているソフトウェアベースのロックボックスである。このロックボックスは、正当なユーザのみに知られている秘密ＰＩＮによってのみアンロックされるものとする。そして、このキーウォレットが不正なハッカーの手に渡ったものとする。ここで、ハッカーがブラックボックス上にマウントできる攻撃の種類を列挙し、攻撃を阻止する手段を提供する。説明の核心を明確にするため、ＲＳＡパブリックキーシグネチャシステムについて説明することにする。しかし、この説明の基本的な部分が同様にして、他のシステムに適用可能であることは、当業者とって当然のことである。これら他のシステムとしては限定はないが、これらの他のシステムとしては、El-Gamal and DSSシグネチャシステムと、楕円曲線（elliptic curve）クリプトシステムが含まれる。
【００１９】
ａ．ＰＩＮハッシュ攻撃
図２は慣用的なキーウォレットを示す。当該ウォレットをアンロックするためエンタされたＰＩＮ２００(一般的には、アクセスコード)は、１：１ハッシュ関数２１０に渡される。このハッシュ関数には、ソルト値か、他のセキュリティエンハンシング機構を含ませることができる。このことは、当業者にとって当然のことである。エンタされたＰＩＮのハッシュド値２１５は、正しいＰＩＮのハッシュド値であるストアドハッシュ値２２０と比較される。これら２つのハッシュ値が一致した場合は、このＰＩＮは暗号化モジュール２４０に渡される。このプライベートキーは（正しいＰＩＮを暗号化キーとして用いて）暗号化され、フィールド２３０にストアされているが、暗号化モジュール２４０により復号化されている。暗号化モジュール２４０は典型的にはＤＥＳであるか、幾つかの他の暗号方式機能である。暗号方式機能としては、例えば、トリプルＤＥＳ（triple-DES）か、IDEAか、BLOWFISHがある。よって、復号化されたプライベートキー２５０は使用のためにリリースされている。
【００２０】
ハッシュをコンピューティングし、ストアドハッシュを復号化する暗号方式オペレーションを、１つ以上の暗号方式ロジック（例えば、ソフトウェア）モジュールを用いて、インプリメントすることができる。正しいハッシュ値とプライベートキーを、プロテクトのかかったデータフィールドにストアするか、他の形式のメモリ（例えば、ＲＯＭから、コンピュータ可読媒体から、等々からリードし）にストアすることができる。典型的なキーウォレットには、候補ＰＩＮを受け取り、復号化されたプライベートキーを出力する入出力ロジックも含ませることになり、同様に、キーおよび他のデータを管理し、ビューし、コピーし、ハンドルするロジックも含ませることができる。
【００２１】
ハッシュ関数の１：１という性質により、正しいＰＩＮと、正しいＰＩＮのみが、キーウォレットをアンロックすることになる。不幸にも、このことにより、正なハッカーに、正しいＰＩＮをゲス（guess）するプロセスを自動にする完全な情報を提供することになる。典型的なインプリメンテーションでは、このＰＩＮは桁数が６桁以下のコードである。ハッカーは、ストアドハッシュド値にハッシュする６桁のコードを単に見つけ出せば良い。ハッカーはキーウォレットのコピーを手に入れ、ハッキングの対象となるコンピュータに、他の者に全く気づかれずに、自動で、数分で、この攻撃を行なうことができる。このハッカーは、例えば、キーウォレットに関する６桁ＰＩＮコードを全てチェックするプログラムを書くこともできるかも知れない。
【００２２】
このＰＩＮハッシュ攻撃を阻止するため、本発明は１：１ハッシュに代えて、多対１ハッシュを採用している。多対１ハッシュとは、多数の入力が同一のハッシュド出力を生成する（すなわち、再生する）ハッシュをいう。このことは図３のフローチャートに示してある。典型的なインプリメンテーションでは、多対１ハッシュ関数３１０は６桁コードを２桁ハッシュ値にハッシュする。慣用的なキーウォレットでもそうであるが、エンタされたＰＩＮ３００のハッシュド値３１５は、正しいＰＩＮのハッシュド値であるストアドハッシュ値３２０と比較される。これら２つのハッシュ値が一致した場合、このキーウォレットが開く。プライベートキーは、暗号化キーとしての正しいＰＩＮで暗号化され、キーウォレットのフィールド３３０に再びストアされる。この正しいＰＩＮがエンタされたとき、ストアド暗号化キーは復号化され、正しいプライベートキー３５０は使用のためリリースされる。しかし、ハッシュ関数が多対１であるので、キーウォレットを開けることになる、エンタされたＰＩＮは数が多く異なることになる。（正しいＰＩＮとして同一のハッシュ値にハッシュするＰＩＮは、正しいＰＩＮも含んでいるが、擬似有効ＰＩＮという。)例えば、このハッシュ関数により６桁コードが２桁ハッシュ値にハッシュされた場合、総数１００万個の可能な６桁コードのうち、このキーウォレットを開けることになるのは、１万個の６桁擬似ＰＩＮである。擬似有効ＰＩＮは暗号化モジュール３４０に渡され、ストアド暗号化キーが復号化されて、候補プライベートキーが生成される。しかし、これらの候補プライベートキーのうち１つを除き、全て、ストアド(正しい)プライベートキーを正しく復号化するものである。エンタされたＰＩＮが正しいＰＩＮである場合にのみ、正しいプライベートキーがリカバーされることになる。この多対１ハッシュ関数はgoodハッシュになるものを選択するのが好ましい。例えば、ＭＤ５およびＳＨＡが周知のgoodハッシュ関数であるが、これに限定されるものではない。goodハッシュ関数は、ありとあらゆるＰＩＮの空間に、擬似有効ＰＩＮを実質的に一様に分散させる１つの手段である。例えば、６桁コードを２桁ハッシュ値にハッシュするハッシュ関数を考察する。１００万個の可能な入力値のうち、１万個の入力が擬似有効ＰＩＮになる。このハッシュ関数がgoodハッシュである場合は、これらの値は実質的に一様に分散されることになる。特に、１００個のＰＩＮに対して１個のＰＩＮが擬似有効ＰＩＮになり、効率的にランダムに分散されることになる。具体的には、正しいＰＩＮをエンタする際にユーザがグラフィカルエラーをおかした場合に、その結果、ＰＩＮが擬似有効ＰＩＮになるチャンスは、1/100である。このことを図で示すと図４のようになる。図４では、全ての可能なＰＩＮの空間はウォール４００で示す。ウォール４００内のホール４１０は擬似有効ＰＩＮに対応する。図４に示すように、これらのホール４２０のうちの１つのホールが正しいＰＩＮに対応する。ここで、ストアドハッシュ値にハッシュしない各擬似有効ＰＩＮの周りに、ＰＩＮのネイバフッド（neighborhood）が存在することに注意されたい。このことを図５と比較して説明する。図５は慣用的なキーウォレットで用いられるような１：１ハッシュに対するＰＩＮの空間を示してある。ここで、図５は正しいＰＩＮに対応して１つのホール５１０のみを示してあることに注意されたい。また、図４の正しいＰＩＮの局所的なネイバフッドが、図５の正しいＰＩＮのネイバフッドと似ていることにも注意されたい。この意味で、本発明に係るキーウォレットに関する、正当なユーザの経験は、慣用的なキーウォレットに関する、正当なユーザの経験と大変似ている。
【００２３】
別の可能なシナリオとしては、擬似有効ＰＩＮをクラスタリングする多数の見かけ上同様のweakハッシュを用いることがある。擬似有効ＰＩＮをクラスタリングすることにより、侵入者は１つの擬似有効ＰＩＮが他の擬似有効ＰＩＮを容易に見つけ出すものとゲスする。いつも１桁打ち間違える正当なユーザは擬似有効ＰＩＮのシーケンスを得ることになる。そして、プライベートキーを受け取るシステムか、このプライベートキーにより暗号化されたメッセージを受け取るシステムが、alarm-or-disable-upon-repeated-failure機構を有する場合には、このシステムは正当なユーザを不注意にもロックアウトする。よって、weakハッシュはgoodハッシュに対して、典型的にdisfavoredである。それにも関らず、幾つかのアプリケーションが可能である。これらのアプリケーションにおいてweakハッシュが提供する特性としては、例えば、計算効率があり、特殊アプリケーションでは好都合であるがインプリメンテーションが容易なことがある。
【００２４】
ｂ．周知のシグネチャ攻撃
共通する別の攻撃としては周知のシグネチャ攻撃がある。この攻撃は周知の平文攻撃ともいわれるものであるが、この攻撃では、不正なハッカーが２つの情報、すなわち、(a)ユーザのキーウォレットと、(b)当該ユーザにより予めサインされたメッセージ（テキストが平分であって、しかも、サインされたもの）とに、アクセスする。この攻撃を図示すると図６のようになる。このハッカーは当該キーウォレットの可能な限り全てのＰＩＮ６００をトライ（try）することになる。そして、各擬似有効ＰＩＮに対して、周知の平文６２０をサインするため、復号化されたプライベートキー６１０を用い、シグネチャ６３０を作成する。このシグネチャ６３０が、平文のテキストである当該メッセージのユーザ６４０の周知のシグネチャと一致した場合には、当該ハッカーは正しいＰＩＮを発見して、ユーザの正しく復号化されたプライベートキーをリカバリーしたことを知る。慣用的なシグネチャプロセスでは、サインされる平文テキストメッセージは、（ＭＤ５のような）ハッシュアルゴリズムを用いてハッシュされる。そして、このハッシュされた平文テキストは、シグネチャを形成するため、ユーザのプライベートキーを用い、暗号化される。選択された平文テキスト攻撃を阻止するため、ハッシュする前に、擬似ランダムパッドが平文テキストに付加されることがよくある。このような擬似ランダムビットは、キーウォレットにストアされているシードから生成されるか、トレースまたは複製が可能な幾つかの他のソース、例えば、time of day等から生成されるのが典型的である。このような擬似ランダムビットの不都合な点は、ランダム生成メカニズムを判定する攻撃者が、周知のシグネチャ攻撃に対して有効にフィードバックできることである。よって、本発明の実施の態様では、シグネチャプロセスにバリエーションを持たせてこの攻撃を阻止している。
【００２５】
図７に示すように、本発明に係るサイニングコンポーネントは、ハッシュされた平文テキスト７２０を、プライベートキー７３０で暗号化する前に、強力なランダムビット７１０でパッド（pad）し、非複製可能シグネチャ７４０を作成する。このような強力ランダムビットは、キーウォレット外のランダムネス（randomness）のソースに依存する方法を用いて生成することができる。このような例としては、ランダムネスの物理的なソースがある。このような物理的なソースとしては、ホストコンピュータ上のディスクドライブのシークタイムの変動があり、キーボードのキーストロークのランダムな時間間隔があり、ユーザによるランダムなキャラクタ入力がある。強力なランダムネスを生成するこのような方法も当業者にとって周知のものであるが、他の方法も当業者にとって周知のものである。（例えば、D.Davis, R.Ihaka, and P.Fenstermacher,"Cryptographic Randomness from Air Turbulence in Disk Drives," Advances in Cryptology: Proc. Crypto 84, Springer-Verlag, 1985, pp.183-215を参照されたい、より一般的なものとしては、Bruce Schneier, Applied Cryptography,2nd Ed., Wiley, 1996を参照されたい)。このような強力ランダムパッドの目的は、不正なハッカーがシグネチャを複製できないようにすることを保証することにある。というのは、ハッカーはこのランダムパッドを知らないし、キーウォレットにストアされた情報からランダムパッドを作成できないからである。これらのことは、擬似ランダムパッドについてもいうことができる。依然として、攻撃を思いとどまらせるため、強力なランダムネスを応用することは、当業者にとっと周知のことであり、本発明の代替実施の形態でもインプリメントすることができる。
【００２６】
ｃ．ill-formedキー攻撃
別の攻撃としては、不正なハッカーがありとあらゆるＰＩＮをトライし、復号されたキーを試験するものがある。当該キーがwell-formedでない場合には、当該ハッカーはこの擬似有効ＰＩＮが正しいＰＩＮになりえないことを知っている。よって、ストアドキーを擬似有効ＰＩＮを用いて復号化することにより得た候補プライベートキーも、well-formedすることは、必要である。
【００２７】
ＲＳＡシステムでは、プライベートキーは指数部(d)とモジュラス（modulus）(n)を有しており、次のような場合には、well-formedと言われている。すなわち、モジュラスが小数（small factors）を有さず、指数部dが(p-１)(q-１)より小さいが、ｐまたはｑで割り切れない場合には、well-formedと言われる。ここで、ｐおよびｑはモジュラスｎの素数の係数である。よって、候補プライベートキーのモジュラスおよび指数部も、これらの条件に合致させるなければならない。本発明の一実施の形態では、これらの条件が図８に示すように、保証されている。ここで、正しいプライベートキーが適正にフォームされ、しかも、モジュラス８１０が暗号化されずにストアされているが、暗号化／復号化プロセスによりモディファイされていないものと仮定する。よって、候補プライベートキーのモジュラスは、定義から、well-formedである。そして、問題は、候補プライベートキーの指数部（以下、「候補指数部」という）がwell-formedであることを保証することにある。素数係数をモジュラスとシェアする候補指数部の類似点は、極めて小さいが、当該モジュラスを思いもよらずファクタリングするという類似点とは比較できる。よって、主要な束縛は、モジュラスに対する候補指数部のサイズである。
【００２８】
この点を保証する１つの方法としては、次のようなものがある。正しいプライベートキーの指数部（以下、「正しい指数部」という)がwell-formedであったので、正しい指数部と同じようなサイズの候補指数部もwell-formedになる可能性がある。.
このことを保証する１つの方法としては、正しい指数部を上位桁部８２０と、下位桁部８３０に分割する方法がある。例えば,６５５３７は「６５」が上位２桁であり、「５３７」が下位３桁である。上位桁は暗号化されずにストアされ、正しい指数部の下位桁のみがＰＩＮを用いて暗号化され、ストアされる。ストアされた下位桁が擬似有効ＰＩＮを用いて復号化されたときは、得られた下位桁は完全に変化する（例えば、本例では、５３７は１４２になるかもしれない）。そして、候補指数部８４０をリカバーするため、ストアされた上位桁と、復号化により得られた下位桁が、組み合わされる。しかし、この組み合わされた候補指数部の大きさ（magnitude）は、大幅に変化していない。下位桁の桁数を適正に選択することにより、再び計算して得られた候補指数部の大きさのオーダをコントロールして、候補指数部をモジュラスより小さくしておくことを保証できる。以上、１０進法（base-10）計算を用いた下位桁暗号化の概念を説明した。この対応するコンピュータベースのインプリメンテーションは同じようになるであろう。ただし、この場合には、桁を用いずにビットを用いることになる。例えば、モジュラスが５１２ビット以上である場合には、例としてのインプリメンテーションは、当該指数部の下位の１２８ビットのみが、ＰＩＮをキーとして用いて暗号化される。
【００２９】
当業者にとって当然のことであるが、候補プライベートキーをwell-formedにする代替方法としては数多くある。代替方法では、キー生成モジュールが２つの乱数ｋおよびｍが選択される。ただし、ｍはｄとモジュラスｎの間の数である。例としてのインプリメンテーションでは、ｋを６４ビット長にすることができる。サムｄ＋ｋｍが計算され、ｋが破棄され、ｍが、後程使用するため、ストアされる。正しい指数部ｄをストアしないで、サムｄ＋ｋｍがＰＩＮを用いて暗号化され、暗号化されたサムとしてストアされる。擬似有効ＰＩＮがエンタされると、この暗号化サムは復号化され、復号化サムが得られる。そして、この復号化サムはmodulo ｍで評価される。すなわち、候補指数部は、復号化サムｄ＋ｋｍをｍで除算され、剰余としてリカバーされる。このような候補指数部は、評価すると、ｍより小さくなる。ｍがモジュラスｎより小さくなるように選択されているので、この候補指数部もｎより小さくなるように保証されている。
【００３０】
ＲＳＡ互換候補プライベートキーのwell-formedを保証するため、上述したことを、２つの実施例として説明する。当業者にとって当然のことであるが、well-formedを補償するという概念は、他のプライベートキーにも拡張でき、一般的には、他のストアされアクセスコントロールされたデータにも拡張できる。例を挙げるが、これに限定されるものではない。ストアドデータムが物理的な金庫（safe）に対するコンビネーションであれば、この候補データムは、コンビネーションダイヤルのために、適正なフォーマットでなければならない。アクセスコントロールされたデータムであって期待されたフォーマットを有するデータムのストアは、候補アクセスコードにより暗号化されている間にwell-formedが保証される本発明の本実施の形態を用いて、行なうことができる。
【００３１】
ｄ．コンビネーション攻撃
ＰＩＮハッシュ攻撃と、既知シグネチャ攻撃と、ill-formedキー攻撃を同時に阻止するため、図３と図７と図８に示すような本発明の種々の実施の形態を、図９に示すように組み合わせることができる。当業者であれば容易に認識できることであるが、これらの攻撃のコンビネーション、サブセット、スーパセットは、これら攻撃の特別のコンビネーション、サブセット、スーパセットが注目される環境では、本発明の適正な態様を組み合わせる（または、修正する）ことにより阻止できる。
【００３２】
２.証明コンポーネントの詳細な説明
本発明の証明コンポーネントにより、慣用のパブリックキーとは幾分異なるpubicキー証明書が作成される。本質的には、ここで用いられるパブリックキーは、慣用的な方法に関する限り、真にパブリックではないが、限定的（例えば、組織内か、イントラネットを介してか、閉じているが擬似パブリックの企業）に配布されることを意味する。慣用的な方法とこのようにずれているので、このことを、プライベートキーに対する次のような攻撃を阻止するのに用いられる。
【００３３】
ａ．既知パブリックキー攻撃
この攻撃では、不正なハッカーは２つの情報、すなわち、(a)ユーザのキーウォレットと、(b)ユーザのパブリックキーにアクセスする。これらの情報は、パブリックキー証明書ディレクトリで既に利用可能かも知れない。この攻撃を図１０に示す。当該ハッカーはキーウォレットのありとあらゆるＰＩＮ１０００をトライすることになり、擬似有効ＰＩＮにの対して、それぞれ、復号化プライベートキー１０１０を用いて、恣意的に選択されたサンプルメッセージ１０２０を暗号化し、ついで、得られた暗号文をユーザのパブリックキーを用いて復号化する。得られた復号化メッセージ１０４０が平文テキストサンプルメッセージと一致した場合は、当該ハッカーは、正しいＰＩＮが発見され、正しく復号化されたユーザのプライベートキーがリカバーされたと、知ることになる。この攻撃を阻止するため、本発明の実施の形態では、パブリックキーが真にパブリックであることを許可していない。説明を簡単にするため、このような限定的な配布を「擬似パブリックキー」といい、このような擬似パブリックキーを含む証明書を、「擬似パブリック証明書」という。具体的には、擬似パブリック証明書はユーザの擬似パブリックキーを暗号化形式で含んでいる。オーソライズされた者のみが擬似パブリックキーのアクセスして、ユーザのシグネチャをベリファイできる。この点が、パブリックキーシグネチャのベリファイを誰でも行なえる、パブリックキー証明書の慣用的な使用方法と大きく異なる点である。勿論、キーウォレットと、本発明の他の態様または実施の形態は、慣用の証明書とともに用いることができる。しかし、擬似パブリックキーと証明とが用いられる場合には、大幅なセキュリティが提供される。このことは、説明する。当業者にとって当然のことであるが、現行の証明発行デバイスと、プロシージャは、本発明の上述した実施の形態に適応させるために、容易に適合させることができる。よって、証明コンポーネントの具体例を、具体的に、ハードウェアおよび／またはソフトウェア的にインプリメントすることを詳細に説明する必要はない。ただ、慣用的な証明書のみを次に説明することにする。当業者にとって当然のことであるが、慣用的な証明書のフォーマットは種々のものがあり、その最も著名なものはX.509フォーマットとそのリビジョンである。しかし、慣用的なォーマットの本質的な要素は、本発明に関する点から見ると、類似である。慣用的なパブリックキー証明書と、擬似パブリック証明書の可能な例を、図１１に併置して示す。この擬似パブリック証明書は、そのフォーマットが慣用的な証明書と同一である。しかし、この証明書１１００のボディは、擬似パブリックキーを含んでいるが、オーソライズされたベリファイヤのみにより可読であるような方法で、暗号化される。例えば、１つのインプリメンテーションでは、この暗号化は、オーソライズされたベリファイヤのパブリックキーにより行われる。
【００３４】
対応するプライベートキーにアクセスする認証サーバは、当該ユーザの証明書をアンラップ（unwrap）し、ユーザのパブリックキーにアクセスする。オーソライズされたベリファイヤが幾人かいる場合は、当該証明書のボディは当該擬似パブリックキーの幾つかの暗号化コピーを持つことになる。これら暗号化コピーは、幾人かのベリファイヤのうちの一人のパブリックキーにより暗号化されている。各企業か、本発明の本態様を採用するエンティティは、擬似パブリック証明書をサポートするため、上記証明コンポーネントを有する証明書サーバを有することになる。当業者にとって当然のことであるが、擬似パブリック証明書の重要な特性は、パブリックキーが暗号化され、オーソライズされたベリファイヤのみにより復号化されることであり、このような特性は、種々の暗号方式アルゴリズムを用いて、種々の異なる方法により得られる。例えば、擬似パブリックキー証明書の代替例では、パブリックキーＤＥＳキーにより暗号化され、このＤＥＳキーはオーソライズされベリファイヤのパブリックキーにより暗号されることになる。
【００３５】
そして、得られた証明書は、慣用の証明書と同様のＣＡによりサインされることになる。キー管理における２つの重要な利点が提供されるのは、本発明における、パブリックキーの擬似パブリックな性質による。第１に、ＣＡは、当該パブリックキーを使用するのに誰がオーソライズされているか、明示的に知っている。当該ＣＡの法的義務は、実際上、限定されている。この点は、誰が当該証明書を使用するかＣＡは事前に知らないという点で、慣用的な証明書と異なる。第２に、パブリック-キー証明書をリボークするのは容易である。というのは、ＣＡは、パブリックキー証明書を使用するのにオーソライズされたベリファイヤに、通知するだけでよいからである。
【００３６】
提案されたフォームの証明書は、図１２に示す証明書サーバとしてアクトする証明コンポーネントにより発行されることになる。当業者にとって当然のことであるが、このサーバは、ソフトウェア、ハードウェア、ソフトウェアおよびハードウェアを組み合わせたものにインプリメントされた一連のロジックモジュールを備えることになる。証明されようとするユーザは、入力１２１０のようなデジタルサインされた要求を、証明書サーバ１２００にサブミットする。
このような要求は、典型的には、証明されるユーザのパブリックキーを含んでおり、その他に、ユーザ名か、他の識別属性を含んでいる。この証明書サーバは、サブミットされたパブリックキーを用いて、当該ユーザのデジタルシグネチャをベリファイすることになる。当該シグネチャが正しくベリファイした場合は、当該サーバはデータベース１２２０で当該ユーザのＩＤ情報をチェックし、提案されたフォームのパブリックキー証明書１２３０を、出力として、発行する。当業者とって当然のことであるが、証明書を要求するユーザのＩＤをベリファイするため、ユーザＩＤデータベースに代えて、情報の他のソースを採用することができる。
【００３７】
擬似パブリック証明書サーバの代替実現例としては、慣用的な証明書サーバに付加されるモディフィケーションユニットを含めることができる。このようなアドオン（add-on）ユニットは慣用的な証明書サーバの入力または出力に姿対してオペレートすることができる。モディフィケーションユニットが入力に対してオペレートする場合には、当該モディフィケーションユニットは当該ユーザのパブリックキーを暗号化することにより証明書に対する要求を再パッケージし、暗号化パブリックキーを識別属性に組み入れることになる。そして、当該モディフィケーションユニットはダミーのパブリックキーを当該要求に付加し、関係付けをしたプライベートキーで当該要求をサインし、当該要求があったときに、慣用的な証明書サーバに渡す。慣用的な証明書サーバの出力は、当該ユーザの暗号化パブリックキーを、識別属性の１つとして含む証明書とすることができる。当該モディフィケーションユニットが慣用的な証明書サーバの出力に対してオペレートするときは、当該ユニットは慣用的な証明書サーバにより作成された慣用的な証明書を再パッケージすることになる。この慣用的な証明書の作成は、当該証明書のパブリックキー指数部を原位置で暗号化し、ついで、モディファイされた証明書のフレッシュなシグネチャで、当該証明書サーバのシグネチャをオーバライトすることにより行われる。当業者とって当然のことであるが、他の代替実施例も可能である。
【００３８】
３．キー生成コンポーネントの詳細な説明
このコンポーネントは、あるユーザが自分の信用証明書を作成したとき、セットアップ時に、当該ユーザのパブリックおよびプライベートキーを作成する。本発明の本態様では、パブリックキー生成は（慣用的な意味でも、擬似パブリックの意味でも）一般的に、慣用的なキー生成技術と同様であるが、次のような攻撃を阻止する点をわずかに修正した。
【００３９】
ａ．既知パブリックキー指数部攻撃
この攻撃は、具体的には、ＲＳＡクリプトシステムに対する攻撃であり、上述した既知パブリックキー攻撃の変形である。このＲＳＡシステムでは、暗号方式オペレーションを加速するため、簡単な固定の指数部（例えば、３または６５５３７）を用いるのが普通である。これによれば、不幸にも、不正なハッカーが既知パブリックキー攻撃をマウントすることが可能になる。当該ハッカーはキーウォレットのありとあらゆるＰＩＮをトライすることになり、そして、各擬似有効ＰＩＮに対して、復号化プライベートキーを取り出して、プライベート指数部と、モジュラスとに分ける。ＲＳＡパブリックキーが既知指数部と、同一のモジュラスとよりなるので、当該ハッカーは候補パブリックキーを組み立てるため、これら２つを組み立てることになる。そして、このハッカーは上述した既知パブリックキー攻撃をマウントする。この攻撃を阻止するため、本発明ののキー生成態様は、キー生成時にランダムに生成される長い指数部、例えば、６４-１２８ビットを有するパブリックキーを利用することができる。
【００４０】
４．ベリフィケーションコンポーネントの詳細な説明
本発明のベリフィケーションコンポーネントは、２つの点で、慣用的なシステムのベリフィケーションコンポーネントと異なる。このベリフィケーションコンポーネントはパブリックキー証明書の擬似パブリックな性質を重んじなければならないし、ユーザのシグネチャをベリファイする前に、ユーザのパブリックキーを当該証明書から取り出す適正な方法を取らなければならない。本発明の本形態における例では、これらには、証明書ホルダの暗号化擬似パブリックキーを含む証明書を受け取ることが含まれ、この擬似パブリックキーを復号化するため、オーソライズされたベリファイヤのプライベートキーを用いることも含まれる。そして、このベリフィケーションコンポーネントは証明書ホルダにより送られたメッセージ内のデジタルシグネチャをベリファイするため、当該擬似パブリックキーを用いることになる。
【００４１】
代替の実施の形態では、擬似パブリックキーを暗号化するため、ＤＥＳキーが用いられた場合には、まず、このＤＥＳキーはベリファイヤのプライベートキーを用いて復号され、この擬似パブリックキーを復号化するため、このＤＥＳキーが用いられる。この暗号化メカニズムがなんであれ、このベリフィケーションコンポーネントには、不正なハッカーによるブレイクインを検知するためのロジックが含まれる。このような不正なハッカーは、例えば、本発明に係るキーウォレットの擬似有効アクセスコードに対応する正しくない候補プライベートキーで、メッセージをサインする者である。このようなケースでは、不正なハッカーは正当なユーザの擬似パブリック証明書を盗んだり、獲得したりし、得られた証明書を、正しくない候補プライベートキーでサインした不正なメッセージとともに送るかもしれない。証明書と正しくない候補プライベートキーとにおける正当なユーザの正しい擬似パブリックキーが整合しないので、不正なユーザを検知できる。具体的には、１つの実施の形態では、具体的なユーザのシグネチャが３回連続してベリファイされない場合には、このベリフィケーションコンポーネントは、現在、ブレークイン中であり、ユーザのアクセス特権をフリーズして、これ以上調査できないようにすると結論するかも知れない。このようにアクセスをフリーズした上で（あるいは、フリーズする代わりに）、このベリフィケーションコンポーネントはブレークインを行なっているオペレータに対して警告音を発するかもしれない。このベリフィケーションコンポーネントを狙ったブレークインを検知する方法は他にもあり、ブレークインを検知したときの可能なアクション過程もある。当業者とって当然のことであるが、このベリフィケーションコンポーネントは、ソフトウェア,ハードウェア,ソフトウェアおよびハードウェアを組み合わせたものでインプリメントできる一連のロジックモジュールを備えている。
【００４２】
５．修正、改良、代替実施形態
以上、本発明の種々の実施の形態を説明した。１つの好ましい実施の形態では、キーウォレットと、キー生成コンポーネントと、キーベリフィケーションコンポーネントと、キー証明コンポーネントとを全て用いて、暗号方式キーを記憶し使用するためのセキュア技術を提供した。当業者とって当然のことであるが、代替実施形態では、当該コンポーネントの全てを必要としない具体的なアプリケーションのために、当該システム全体のサブセットも組み合わせることができる。
【００４３】
その上、ソフトウェアベースのシステムについて説明したが、これは、厳密にいえば、必要ではない。例えば、これらコンポーネントの中には、マイクロコードおよびＰＬＡまたはＲＯＭと、汎用のプログラミング言語と、汎用マイクロプロセッサか、ＡＳＩＣを用いて、ディプロイ（deploy）できるものがある。すなわち、本発明はソフトウェアそのものに限定されるものではなく、純粋なソフトウェアか、ソフトウェアおよびハードウェアを組み合わせたものか、ハードウェアだけを含むロジックであって仮想的には任意のフォームを有するロジックをディプロイできる。
【００４４】
さらに、以上の種々の実施の形態および形態は、ＲＳＡ暗号方式（パブリックおよび／または擬似パブリックキーに対するとともに、パブリックおよび／または擬似パブリック証明書に対して）か、ＤＥＳ暗号方式（擬似パブリック証明書の擬似パブリックキーのＰＩＮ暗号化と記憶に対して）について説明した。当業者とって当然のことであるが、暗号方式技術例に対する修正および改良は種々可能である。一般的には、上述したオペレーションはそれぞれ暗号方式技術から広く選択してインプリメントできる。これら暗号方式技術としては、種々の非対称または対象暗号化が含まれ、同様に、ＣＲＣＳか、ハッシュか、メッセージダイジェストか、他のワンウェイ関数が含まれる。例えば、非対称暗号化オペレーションは（オプションでキード（keyed）)ワンウェイ関数と置換可能である。ここで、保全性が主要な関心事であり、非対称セッションキーを暗号化した後、平文テキスト暗号化のためのセッションキーを使用し、当業者に周知の他の種々の代替例がある。最後に、プライベートキーを保護するＰＩＮについて説明した。当業者とって当然のことであるが、暗号方式カムフラージュと同一の技術は、アクセスコントロールドデータムを保護するため、別のタイプのアクセスコードと暗号方式表現とともに用いることができる。よって、当然、本発明の範囲は特許請求の範囲にのみにより限定されるべきである。
【図面の簡単な説明】
【図１】  暗号方式キーウォレットと、キー生成、キー証明、ベリフィケーションサブシステムの概要を示す図である。
【図２】  慣用のキーウォレットを示す図である。
【図３】  本発明に係るキーウォレットの例を示す図である。
【図４】  擬似有効ＰＩＮを可能な限りのＰＩＮに分散することを説明するための図である。
【図５】  正しいＰＩＮのネイバーフッドを示す図である。
【図６】  本発明のサイニング態様によってアドレスされる既知平文攻撃を説明するための図である。
【図７】  本発明のサイニング態様の例を示す図である。
【図８】本発明のキー生成態様において、well-formedプライベートキーを生成する例を示す図である。
【図９】  メッセージをデジタルサインするためのシステムであって、キーウォレットと、関係付けをしたキー生成ロジックを含むシステムの例である。
【図１０】  本発明の擬似パブリックキー証明書態様によりアドレスされる既知パブリックキー攻撃を示す図である。
【図１１】  慣用の擬似パブリックキー証明書と擬似パブリックキー証明書の例を示す図である。
【図１２】  本発明の証明書サーバの例を示す図である。
【図１】
0004463979.tif 000002
【図２】
0004463979.tif 000003
【図３】
0004463979.tif 000004
【図４】
0004463979.tif 000005
【図５】
0004463979.tif 000006
【図６】
0004463979.tif 000007
【図７】
0004463979.tif 000008
【図８】
0004463979.tif 000009
【図９】
0004463979.tif 000010
【図１０】
0004463979.tif 000011
【図１１】
0004463979.tif 000012
【図１２】
0004463979.tif 000013