【文献】
D. Boneh and M. Franklin,Efficient GEneration of Shared RSA Keys,Advances in Cryptology - CRYPTO '97,ドイツ,Springer Berlin Heidelberg,1997年 8月17日,LNCS vol. 1294,p.425-439
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
一例において、組み合わされたデジタル証明書を生成及び管理するためにクリプトプロセッサなどのコンピュータを用いることができる。組み合わされたデジタル証明書は、複数の認証機関から受信したデータに基づいて生成される公開鍵を生成するためのデータを含み得る。また、このコンピュータは更に、対応する秘密鍵を生成することもでき、対応する秘密鍵は組み合わされたデジタル証明書から分離して(及び安全に)ストアされ得る。秘密鍵も、複数の認証機関から提供されるデータに基づき得る。このようにして、たとえ無許可のユーザー(例えば、ハッカー)により複数の認証機関のうちの一つが危殆化されたとしても、このような無許可のユーザーは秘密鍵を判定することができない。
【0012】
図1は、組み合わされたデジタル証明書3を生成及び管理するためのシステム2の一例を図示する。組み合わされたデジタル証明書3は、これらに限定されないが、例えば、エルガマル(El−Gamal)署名、シュノア(Schnorr)署名、DSA(Digital Secure Algorithm)、又はそれらの変形など、任意の離散対数公開鍵システムを用いることにより生成され得る。これらの方式の任意のものが、本質的に低いメモリ及び演算要件を提供する楕円曲線暗号(ECC)を用いることができる。システム2は、例えば、機械読み取り可能な命令をストアするためのメモリ6を含むコンピュータ4を含み得る。コンピュータ4は、例えば、クリプトプロセッサ、特定用途向け集積回路チップ(ASIC)、スマートカード、スマートフォン、デスクトップコンピュータ、ノートブックコンピュータ、又は同様のものとして実装され得る。メモリ6は、例えば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、ハードドライブなど、持続性(non-transistory)コンピュータ可読媒体などとして実装され得る。メモリ6の幾つかの部分は、要求に応じて外部システムによりアクセスされ得る。しかし、幾つかの例において、メモリ6の幾つかの部分は、セキュリティ保護され得、コンピュータ4の内部構成要素によってのみアクセス可能である。コンピュータ4は更に、メモリ6にアクセスするための及び機械読み取り可能な命令を実行するための処理ユニット8を含み得る。処理ユニット8は、例えば、プロセッサコアとして実装され得る。メモリ6は、組み合わされたデジタル証明書3を生成、改変、及び/又は管理することができる証明書マネジャー10を含み得、組み合わされたデジタル証明書3もメモリ6にストアされ得る。他の例では、証明書マネジャー10は、スマートフォン、又はコンピュータ4を収容する他のデバイスなど、サーバー又はホストシステムなどの外部システムなどの別のシステムにストアされ得ることを理解されたい。
【0013】
証明書マネジャー10は、或る条件が合致することに応答して組み合わされたデジタル証明書3の生成を開始し得る。例えば、コンピュータ4がクリプトプロセッサとして実装される場合、証明書マネジャー10は、別のシステムからの起動要求に応答してデジタル証明書の生成を開始し得る。他の例では、証明書マネジャー10は、ユーザー入力に応答して、組み合わされたデジタル証明書3の生成を開始し得る。
【0014】
コンピュータ4は、ネットワーク14を介してN個の認証機関12と通信することができ、ここで、Nは2より大きいか又は2に等しい整数である。ネットワーク14は、例えば、パブリックネットワーク(例えば、インターネット)、プライベートネットワーク、又は同様のものとして実装され得る。N個の認証機関12の各認証機関12は、デジタル証明書を発行するシステムとして実装され得る。デジタル証明書は、その証明書の指定の被認証者により公開鍵の所有権を証明する。これにより、他者(第三者)は、証明された公開鍵に対応する秘密鍵により成された署名又はアサートに依存することができる。このような信頼関係のモデルにおいて、1〜N個の認証機関12の各々は、証明書の被認証者(オーナー)と証明書に依存する第三者との両方により信頼されている、信頼し得る第三者機関である。
【0015】
一例において、組み合わされたデジタル証明書3の生成の開始に応答して、証明書マネジャー10は、N個のランダム数が処理ユニット8により生成されることを要求し得、ここで、ランダム数は「r1...rN」と呼ばれ得る。幾つかの例において、証明書マネジャー10は、ランダム数の生成のための比較的大きな時間期間にわたって個別の要求を提供することができることに留意されたい。例えば、証明書マネジャー10は、製造時にr1の生成を要求するように構成され得る。また、証明書マネジャー10は、コンピュータ4を顧客サイトに搬送した後r2〜rNの生成を要求するように構成され得る。一例として、コンピュータ4は、r1と埋め込まれ得、顧客サイトにおける起動時にr2〜rNの生成を要求するように構成され得る。
【0016】
証明書マネジャー10は、r1(又はその倍数)を認証機関1に送信することができる。応答して、認証機関1は、コンピュータ4に対する公開鍵を生成するためのデータを含み得るデジタル証明書1を返すことができ、この公開鍵は認証機関1に関連付けられている。認証機関1は更に、認証機関1に関連付けられている公開鍵に対応する秘密鍵を生成するため整数などのデータを含み得る。幾つかの例において、デジタル証明書1、及び秘密鍵と認証機関1に関連付けられている公開鍵とを生成するためのデータは、コンピュータ4の製造時にコンピュータ4に埋め込まれ得ることに留意されたい。また、証明書マネジャー10は、r2...rNを、2〜N個の認証機関12の各々の対応する認証機関12に送信することができる。応答して、2〜N個の認証機関12の各々は、コンピュータ4に、対応するデジタル証明書、及び公開鍵とコンピュータ4に対する対応する秘密鍵とを生成するためのデータを提供することができ、これは、対応する2〜N個の認証機関12に関連付けられ得、このデータは証明書データと呼ばれ得る。証明書マネジャー10及び/又は処理ユニット8は、コンピュータ4に対する秘密鍵を生成するため1〜N個の認証機関12の各々によって提供される証明書データを用いることができ、秘密鍵はSKey16と呼ばれ得る。また、幾つかの例において、証明書マネジャー10は更に、SKey16に対応するコンピュータ4に対する公開鍵を生成するためのデジタル証明書1〜Nに基づく公開鍵データ18を提供することもでき、これはPKeyと呼ばれ得る。幾つかの例において、公開鍵データ18は第三者に提供され得る。他の例において、公開鍵データ18は、他の方法(例えば、登録サービス)を介して第三者により既知であり得る。幾つかの例において、証明書マネジャー10は更に、公開鍵データ18を含み得る組み合わされた証明書3を生成することもできる。幾つかの例において、組み合わせ証明書3は更に、1〜N個の認証機関12の各々を識別するためのデータを含み得る。この手法を用いることにより、証明書マネジャー10は、1〜N個の認証機関12の各々によって提供されるデジタル証明書に基づく組み合わされたデジタル証明書3を生成することができる。また、この手法を用いることにより、1〜N個の認証機関12のいずれも互いに通信する必要はない。
【0017】
別の例では、デジタル証明書の生成の開始時に、証明書マネジャー10は、1つのランダム数が処理ユニット8により生成されることを要求することができ、このランダム数はr1と呼ばれ得る。証明書マネジャー10はr1を認証機関1に送信することができる。応答して、認証機関1は、デジタル証明書1、及び公開鍵とコンピュータ4に対する対応する秘密鍵とを生成するためのデータ(例えば、整数)を生成することができる。認証機関1は、コンピュータ4へ秘密鍵を生成するためのデータを転送し、デジタル証明書1を認証機関2に転送することができ、秘密鍵は認証機関1に関連付けられている。また、認証機関2は、デジタル証明書1が、認証されていないソース(例えば、ハッカー)からではなく認証機関1から生じていることを確実にするため、認証機関1を認証することができる。認証機関2は、デジタル証明書1に基づいてデジタル証明書2を生成し、デジタル証明書2を証明書マネジャー10に転送することができ、デジタル証明書は、認証機関1及び認証機関2両方に関連付けられているPKeyを生成するための公開鍵データ18を含み得る。認証機関2は更に、認証機関2に関連付けられている秘密鍵を生成するためのデータ(例えば、整数)を提供することもできる。証明書マネジャー10及び/又は処理ユニット8は、認証機関1及び認証機関2から提供されるデータに基づいてSKey16を生成することができ、SKey16はPKeyに対応する。証明書マネジャー10及び/又は処理ユニット8は更に、デジタル証明書2に基づいて組み合わされたデジタル証明書3を生成することもできる。幾つかの例において、組み合わされた証明書3は、PKeyを生成するために用いることができる公開鍵データ18を含み得る。この手法を用いることにより、組み合わされた証明書のサイズが低減され得、メモリが節約され得る。
【0018】
いずれの手法においても、組み合わされたデジタル証明書3は、1〜N個の認証機関12によって提供されるデータに基づき得る。第1の手法において、たとえ無許可のユーザー(例えば、ハッカー)が1〜N個の認証機関12の任意の一つへのアクセスを得たとしても、組み合わされたデジタル証明書3は危殆化されない。実際、組み合わされたデジタル証明書3のセキュリティを危殆化するためには、このような無許可のユーザーは、1〜N個の認証機関12の全てを危殆化させる必要があり得る。第2の手法において、認証機関1は認証機関2により認証されるため、認証機関1によって提供されるデータは、認証機関2により信頼され得る。このため、組み合わされたデジタル証明書3は、かなりのセキュリティ違反耐性を提供する。また、このようなセキュリティ違反に対する責任は、1〜N個の認証機関12の各々を介して分配され得る。
【0019】
上述の構造的及び機能的特徴を考慮すると、
図2A、
図2B、
図3A、及び
図3Bの例を参照すれば例の手法がより良く分かるであろう。説明を簡潔にするため、
図2A、
図2B、
図3A、及び
図3Bの例示の方法は、順次実行されるように示されており説明されているが、本例は、図示した順序には限定されず、幾つかのアクションが他の例では本明細書に図示及び記載したものとは異なる順で及び/又は同時に起こり得る。
【0020】
図2A及び
図2Bは、
図1に示す組み合わされたデジタル証明書3など、組み合わされたデジタル証明書を生成するために用いられ得る例示の方法200の例示のフローチャートを図示する。
【0021】
210において、証明書生成が開始され得る。証明書生成開始は、例えば、
図1に示す証明書マネジャー10などの証明書マネジャーにより、開始され得る。このような状況において、証明書マネジャーは、クリプトプロセッサなどのコンピュータで実行され得る。方法200において、組み合わされた証明書が、ECCからの手法を用いることにより生成され得る。しかし、他の暗号手法が付加的に又は代替として用いられ得る。ECCにおいて、曲線Eに沿った点た有限体を定義できる。一例において、式1は、方法200に対して用いられる有限体を定義できる。
式1: y
2=x
3+ax+b
ここで、P={x
P,y
P}、Q={x
Q、y
Q}であり、P及びQは曲線E上の点である。
【0022】
また、ECCにおいて、曲線E上の点の数は、有限整数「n」として表され得る。このような状況において、式2及び式3は、n、P、及びQ間の関係を表し得る。
式2: nP=P+P+P...+P
式3: Q=nP
【0023】
220において、例えば、
図1に示す処理ユニット8などの処理ユニットにより、N個のランダム数が生成され得る。N個のランダム数の各々は、曲線E上の点として計算され得る。例えば、一例において、処理ユニットはランダム数r
iを生成することができ、ここで、iは1〜Nの間の整数である。処理ユニットは、r
i・Gを計算するために楕円曲線点乗算を用いることができる。ここで、Gは、r
i・Gが曲線E上の点であるように、生成器点Gにおいて定義される曲線E上の点の数である。230において、証明書マネジャーは、ランダム数r
iを対応する認証機関iに提供することができ、認証機関iは、
図1に示す1〜N個の認証機関12の一つとして実装され得る。このような状況において、認証機関iは、c
CAiとして示される秘密鍵及びQ
CAiとして示される公開鍵を有し得る。このような状況において、式4が、c
CAiとQ
CAiとの間の関係を示すことができる。式4は楕円曲線乗算を示すことに留意されたい。
式4: Q
CAi=c
CAi.G
【0024】
一例において、各加入者Aに対し、各認証機関iは、異なるアイデンティティ数(例えば、特有のID)を割り当てることができる。このような状況において、各アイデンティティ数は、N個の認証機関の各々に起因する各アイデンティティ数の合計として実装され得る(ID
A=Σ(ID
A))。代替として、認証機関iの所与の一つが、他の認証機関iにより共有される特有のアイデンティティ数を有し得る。240において、認証機関iはk
i.Gを計算することができ、ここで、k
iはインタバル[1,n−1]内のランダム数である。250において、認証機関iは、P
iを計算するために式5を用い得る。式5が楕円曲線加算を示すことに留意されたい。
式5: P
i=r
i.G+k
i.G
【0025】
260において、認証機関iはe
iを計算するために式6を用い得る。
(式6)
ここで、Hは1方向ハッシュ関数であり、P
iは式5により得られる楕円曲線加算の結果の点であり、IDはコンピュータに対する特有の識別子である。
【0026】
270において、認証機関iは、s
iを計算するために式7を又は代替として式8を用い得る。
式7: s
i=e
i.k
i−c
CAi(mod n)
式8: s
i=k
i−e
i.c
CAi(mod n)
【0027】
280において、認証機関iは、少なくともP
i、s
i及びe
iが証明書マネジャーに供給されるように、デジタル証明書i及び他のデータを証明書マネジャーに提供することができる。290において、iがNより小さいか又はNに等しいかについて判定が成され得る。この判定が肯定(例えば、はい)である場合、方法200は300に進み得る。判定が否定(例えば、いいえ)である場合、方法は310(
図2B)に進み得る。300において、iの値は1だけ増大され得、この方法は230まで戻り得る。
【0028】
図2Bの310において、証明書マネジャーは、関連するコンピュータに対する秘密鍵を計算することができ、この秘密鍵は「SKey」で示され得る。SKeyは、例えば、コンピュータのセキュリティ保護メモリにストアされ得る。s
iを計算するために式7が用いられる例において、証明書マネジャーはSKeyを計算するために式9を用いることができる。代替として、s
iを計算するために式8が用いられる状況において、証明書マネジャーはSKeyを計算するために式10を用いることができる。
式9:
式10:
【0029】
320において、証明書マネジャーは、関連するコンピュータに対するSKeyに対応する公開鍵を計算するために(例えば、第三者により)用いられ得る公開鍵データを判定することができ、この公開鍵は「PKey」で示され得る。幾つかの例において、公開鍵データは、各認証機関iから提供されるPiを含み得る。幾つかの例において、式11及び式12を用いることにより、第三者はPKeyを導出するため公開鍵データを用いることができる。式11及び式12に示すように、PKeyはQ
CAに基づき得、これは、1〜N個の認証機関から受信した各Q
CAiの合計として実装され得る。他の例において、第三者はPKeyを計算するために式12及び式13を用いることができる。
式11:
式12:
式13:
【0030】
330において、組み合わされたデジタル証明書が生成され得る。組み合わされたデジタル証明書は、この組み合わされたデジタル証明書を生成するために用いられる各認証機関iを識別し得る。また、幾つかの例において、組み合わされたデジタル証明書は公開鍵データを含み得る。方法200を用いることにより、認証機関iの各々の間で何の相互作用も必要とされない。また、ECCを用いることにより、他の暗号化方式と比較してメモリ利用の著しい低減が達成され得る。
【0031】
図3A及び
図3Bは、
図1に示す組み合わされたデジタル証明書3などの組み合わされたデジタル証明書を生成するために用いられ得る方法400の別の例の例示のフローチャートを図示する。
【0032】
410において、証明書生成が開始され得る。証明書生成開始は、例えば、
図1に示す証明書マネジャー10などの証明書マネジャーにより開始され得る。このような状況において、証明書マネジャーは、クリプトプロセッサなどのコンピュータで実行され得る。方法400において、組み合わされたデジタル証明書は、ECCからの手法を用いることにより生成され得る。しかし、他の暗号手法が付加的に又は代替として用いられてもよい。一例において、方法400のための有限体を定義するために式1を用いることができる。このような例において、楕円曲線Eは有限数の点「n」を有し得る。また、式1において示すように、点P及びQは曲線E上の点であり得る。更に、式2及び式3は、n、P、及びQ間の関係を定義できる。
【0033】
420において、例えば、
図1に示す処理ユニット8などの処理ユニットにより、ランダム数が生成され得る。ランダム数は曲線E上の点として計算され得る。例えば、一例において、処理ユニットはランダム数rを生成することができる。処理ユニットは、r・Gを計算するため楕円曲線点乗算rを用いることができる。ここで、Gは、r・Gが曲線E上の点であるように、生成器点Gにおいて定義される曲線E上の点の数である。430において、証明書マネジャーは認証機関1にランダム数r・Gを提供することができ、この認証機関iは、
図1に示す認証機関1として実装され得る。このような状況において、認証機関1は秘密鍵を有し得、この秘密鍵はc
CA1と呼ばれ得、公開鍵はQ
CA1として示され得る。このような状況において、式4はc
CA1とQ
CA1との間の関係を示すことができる。440において、認証機関1はk
1・Gを計算することができ、ここで、k
1はインタバル[1,N−1]内のランダム数である。450において、認証機関1はP
1を計算するために式5を用い得る。460において、認証機関1はs
1を計算するために式14を用い得る。
式14: s
1=k
1+c
CA1 mod n
【0034】
470において、認証機関1は、少なくともs
1を含むデータを証明書マネジャーに提供することができる。475において、認証機関1は認証機関2により認証され得る。このような認証は、認証機関1から提供されるデータが、実際に認証機関1から生じており、無許可のソース(例えば、ハッカー)からではないことを確実にし得る。480において、認証機関1は、認証機関2にP
1及びs
1を提供することができる。490(
図3B)において、認証機関2はk
2・Gを計算することができ、ここで、k
2はインタバル[1,N−1]内のランダム数である。500において、認証機関2はPを計算するために式15を用い得る。式15は楕円点乗算を用いることに留意されたい。
式15: P=k
2.G+P
1
【0035】
510において、認証機関2はeを計算するために式16を用い得る。
式16:
Hは一方向ハッシュ関数であり、IDはコンピュータに対する特有の識別子である。
【0036】
520において、認証機関2はs
2を計算することができる。幾つかの例において、認証機関2はs
2を計算するために式17を用い得る。
式17: s
2=e(k
2+c
CA2)mod n
【0037】
530において、認証機関は、証明書マネジャーに、少なくともP(式15)を含むデジタル証明書を提供することができる。また、認証機関は証明書マネジャーにs
2を提供することができる。540において、処理ユニットは、コンピュータに対する秘密鍵を計算することができ、この秘密鍵は「SKey」で示され得る。s
2を計算するために式17が用いられる例において、処理ユニットはSKeyを計算するために式18を用いることができる。
式18: SKey=e(s
1+r)+s
2 mod n
【0038】
550において、証明書マネジャー及び/又は処理ユニットは、関連するコンピュータに対する公開鍵を生成するために用いることができる公開鍵データを判定することができ、この公開鍵は「PKey」で示され得る。公開鍵データは、認証機関2から受信したPを含み得る。このようにして、第三者がPKeyを計算するために公開鍵データを用いることができる。例えば、SKeyを計算するために式18が用いられる例において、第三者はPKeyを計算するために式19及び式20を用いることができる。
式19: Q
CA=Q
CA1+Q
CA2
式20: PKey=e(P+Q
CA)
【0039】
560において、証明書マネジャーは、組み合わされたデジタル証明書を生成及びストアすることができる。幾つかの例において、組み合わされたデジタル証明書は公開鍵データを含み得る。方法400を用いることにより、コンピュータにおいてストアされる必要があるのはPに対し1つの値のみであるため、メモリの低減が達成され得る。また、付加的なメモリ保存が、ECCを用いることによって達成され得る。また更に、組み合わされたデジタル証明書が2つの異なる認証機関の公開鍵Q
CA1及びQ
CA2に基づくため、この方法はセキュリティの増強を可能にする。
【0040】
図4は、組み合わされたデジタル証明書602を生成及び管理するためのシステム600の別の例を図示する。システム600はホストコンピュータ604を含み得、クリプトプロセッサ606がホストコンピュータ604にストアされる。クリプトプロセッサ606は
図1に示すコンピュータ4に類似する方式で実装され得る。例えば、クリプトプロセッサ606は、暗号オペレーションを実行するためにチップ又はマイクロプロセッサ上の専用コンピュータとして実装され得、複数の物理的セキュリティ手段を備えたパッケージングにおいて具現化され得、それにより、クリプトプロセッサ606に或る程度の不正耐性を提供する。一例において、クリプトプロセッサ606は、信頼できるプラットフォームモジュール(TPM)として実装され得る。ホストコンピュータ604は、機械読み取り可能な命令をストアするためのメモリ607(例えば、RAM、フラッシュメモリ、ハードドライブ、又は同様のものなど、持続性(non-transistory)コンピュータ可読媒体)を含み得る。ホストコンピュータ604は更に、メモリ607にアクセスするため及びマシン可読命令を実行するため処理ユニット608を含むこともできる。処理ユニット608はプロセッサコアを含み得る。幾つかの例において、ホストコンピュータ604は、スマートフォン、デスクトップコンピュータ、ラップトップコンピュータ、サーバー、又は同様のものとして実装され得る。
【0041】
ホストコンピュータ604は、ネットワーク612を介してN個の認証機関610と通信することができる。ネットワーク612は、例えば、インターネット、プライベートネットワーク、又はそれらの組み合わせとして実装され得る。
図4において、認証機関1の構成要素を詳細に示す。2〜N個の認証機関610が同様の方式で実装され得ることを理解されたい。認証機関1は、デジタル証明書の信頼できる発行者などのコンピュータとして実装され得る。
【0042】
認証機関1は、機械読み取り可能な命令をストアするためのメモリ614を含み得る。メモリ614は、例えば、RAM、フラッシュメモリ、ハードドライブ、又は同様のものとして実装され得る。認証機関1は更に、メモリ614にアクセスするため及び機械読み取り可能な命令を実行するため処理ユニット618を含み得る。メモリ614は、認証機関1に対する秘密鍵cCA1620を含み得る。認証機関1は更に、認証機関1に対する公開鍵QCA1622を含み得る。
【0043】
ホストコンピュータ604のメモリ607は、組み合わされたデジタル証明書602の生成を開始することができる証明書マネジャー616を含み得る。組み合わされたデジタル証明書602の生成の開始は、ユーザー入力に応答し得る。組み合わされたデジタル証明書602の生成の開始に応答して、証明書マネジャー616は、クリプトプロセッサ606に、
図2A、
図2B、
図3A、及び
図3Bに関して説明するものなど、1つ又は複数のランダム数を生成することを要求することができる。
【0044】
図2A、
図2B、
図3A、及び
図3Bに示す方法200又は400に関して説明したように、組み合わされたデジタル証明書602の生成の開始に応答して、証明書マネジャー616は、1〜N個の認証機関610から少なくともK個のデジタル証明書624を受け取ることができ、ここで、Kは1に等しいか1より大きい整数であり、また、1〜N個の認証機関610の各々からのデータ(例えば、s
1...s
n)を受け取ることができる。証明書マネジャー616は、クリプトプロセッサ606に、秘密鍵(SKey)626を生成するためのデータ(例えば、証明書データ)と、1〜N個の認証機関610から提供されるデータ(例えば、s
1...s
n及びP
1...P
n)に基づいてクリプトプロセッサ606に対する対応する公開鍵(PKey)629を生成するための公開鍵データ628とを提供することができる。また、クリプトプロセッサ606は、組み合わされた証明書602を生成するため証明書マネジャー616によって提供されるデータを用い得る。幾つかの例において、組み合わされた証明書602は公開鍵データ628を含み得る。組み合わされた証明書602は、例えば、組み合わされたデジタル証明書602が基づくN個の認証機関610の各々の識別を含み得る。
【0045】
時間の或る点において、ホストコンピュータ604は、ドキュメント630にデジタル的に署名するために、組み合わされた証明書を用い得る。このような状況において、証明書マネジャー616は、デジタル署名632に対する要求と共に、ドキュメント630をクリプトプロセッサ606に提供することができる。一例において、クリプトプロセッサ606は、ドキュメント630の一部で構成されるダイジェストをつくるためダイジェストアルゴリズムを用い得る。クリプトプロセッサ606は、ドキュメント630のダイジェストに署名するためにSKey626を用い得、署名されたダイジェストはデジタル署名632であり得る。
【0046】
第三者634(例えば、コンピュータシステム)が、ドキュメント630を要求し得る。ドキュメント630、組み合わされた証明書602、デジタル署名632、及びN個の認証機関610の所与の認証機関610の公開鍵(Q
CAi)は、第三者634に提供され得る。組み合わされた証明書は更に、ドキュメント630のダイジェストを計算するために用いられるダイジェストアルゴリズムを含み得る。また、第三者634は、公開鍵データ628に基づいてPKey629を生成することができる。
【0047】
第三者634は、所与の認証機関610の公開鍵(Q
CAi)を認証するために所与の認証機関610と通信することができる。このようにして、第三者634は、PKey629が、所与の認証機関610の秘密鍵(c
CAi)に基づいて生成されたことを信頼することができる。また、第三者634は、ドキュメント630のダイジェストを再生成するためダイジェストアルゴリズムを用いることができる。第三者634は、組み合わされたデジタル証明書602に含まれるPKey629でデジタル署名632を検証することができ、これが、検証されたダイジェストとなり得る。第三者634は、ドキュメント630がクリプトプロセッサ606により署名されたこと、及びドキュメント630に対するデジタル署名が生成されて以来ドキュメント630が変更されていないことを確実にするため、再生成されたデジタルダイジェストを検証されたダイジェストと比較し得る。
【0048】
本発明に関連する技術に習熟した者であれば、本発明の特許請求の範囲内で、説明した例示の実施例に変形が成され得ること、及び他の実施例を実装し得ることが分かるであろう。