特許第6043804号(P6043804)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本テキサス・インスツルメンツ株式会社の特許一覧 ▶ テキサス インスツルメンツ インコーポレイテッドの特許一覧

<>
  • 特許6043804-組み合わされたデジタル証明書 図000012
  • 特許6043804-組み合わされたデジタル証明書 図000013
  • 特許6043804-組み合わされたデジタル証明書 図000014
  • 特許6043804-組み合わされたデジタル証明書 図000015
  • 特許6043804-組み合わされたデジタル証明書 図000016
  • 特許6043804-組み合わされたデジタル証明書 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6043804
(24)【登録日】2016年11月18日
(45)【発行日】2016年12月14日
(54)【発明の名称】組み合わされたデジタル証明書
(51)【国際特許分類】
   H04L 9/32 20060101AFI20161206BHJP
   H04L 9/08 20060101ALI20161206BHJP
【FI】
   H04L9/00 675Z
   H04L9/00 601C
【請求項の数】11
【全頁数】16
(21)【出願番号】特願2014-547543(P2014-547543)
(86)(22)【出願日】2012年12月17日
(65)【公表番号】特表2015-501112(P2015-501112A)
(43)【公表日】2015年1月8日
(86)【国際出願番号】US2012070014
(87)【国際公開番号】WO2013090881
(87)【国際公開日】20130620
【審査請求日】2015年12月17日
(31)【優先権主張番号】13/326,837
(32)【優先日】2011年12月15日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】390020248
【氏名又は名称】日本テキサス・インスツルメンツ株式会社
(73)【特許権者】
【識別番号】507107291
【氏名又は名称】テキサス インスツルメンツ インコーポレイテッド
(74)【上記1名の代理人】
【識別番号】100098497
【弁理士】
【氏名又は名称】片寄 恭三
(72)【発明者】
【氏名】エリック ティエリ ペーテルス
【審査官】 青木 重徳
(56)【参考文献】
【文献】 特開2000−66589(JP,A)
【文献】 特開2004−193684(JP,A)
【文献】 特開2001−189719(JP,A)
【文献】 米国特許出願公開第2012/0233457(US,A1)
【文献】 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名)
H04L 9/32
H04L 9/08
(57)【特許請求の範囲】
【請求項1】
組み合わされたデジタル証明書を生成するための方法であって、
コンピュータにおいてN個のランダム値を生成することであって、Nが2以上の整数である、前記生成すること
前記コンピュータから、N個の認証機関に要求を提供すること
前記コンピュータにおいて、前記要求に応答して前記N個の認証機関の各々からデジタル証明書を受け取ること
前記コンピュータにおいて、前記N個の認証機関の各々から受け取ったデータの組み合わせに基づいて前記コンピュータに対する秘密鍵を生成すること
前記コンピュータにおいて、前記N個の認証機関の各々から受け取った各デジタル証明書の組合せに基づいて組み合わされたデジタル証明書を生成すること
を含
前記N個の認証機関の各々から受け取った各デジタル証明書が楕円曲線暗号に基づいて生成され、
前記コンピュータに対する前記秘密鍵が、
のように構成され、ここで、
SKeyが前記コンピュータに対する前記秘密鍵を示し、
が前記コンピュータにより生成される前記N個のランダム値の前記所与の1つを示し、
が前記N個の認証機関の認証機関iにおいて実行されるハッシュ関数の結果を示し、
が前記認証機関iから提供される整数を示し、
nが前記楕円曲線上の多数の点を示す、方法。
【請求項2】
請求項1に記載の方法であって、
前記コンピュータが、前記コンピュータの製造時に前記N個のランダム値の生成引き続いて前記N個のランダム値の残り生成するように構成される、方法。
【請求項3】
請求項1に記載の方法であって、
前記N個の認証機関の各々から受け取った各デジタル証明書が互いに独立して生成される、方法。
【請求項4】
請求項3に記載の方法であって、
Nが少なくとも3である、方法。
【請求項5】
組み合わされたデジタル証明書を生成するための方法であって、
コンピュータにおいてランダム値を生成すること
第1のデジタル証明書を生成する、2つの認証機関の第1の認証機関に前記ランダム値を提供すること
前記コンピュータにおいて、前記2つの認証機関の第2の認証機関から前記第1のデジタル証明書とデジタル証明書とを受け取ることであって、前記デジタル証明書が前記第1の認証機関において生成されるデジタル証明書に基づく、前記受け取ること
前記コンピュータにおいて、前記2つの認証機関の各々からの数に基づいて前記コンピュータに対する秘密鍵を生成すること
前記コンピュータにおいて、前記コンピュータにおいて受け取った前記デジタル証明書に含まれるデータに基づいて組み合わされたデジタル証明書を生成すること
を含
前記2つの認証機関の前記第2の認証機関から受け取った前記デジタル証明書が楕円曲線暗号に基づいており、
前記コンピュータに対する前記秘密鍵が、SKey=e(s+r)+s mod nとなるように構成され、
SKeyが前記コンピュータに対する前記秘密鍵を示し、
rが前記コンピュータにより生成される前記ランダム値を示し、
が前記2つの認証機関の前記第1の認証機関から提供される整数を示し、
が前記2つの認証機関の前記第2の認証機関から提供される整数を示し、
eが前記2つの認証機関の前記第2の認証機関において実行されるハッシュ関数の結果を示し、
nがsとsとを計算するために用いられる楕円曲線における多数の点を示す、方法。
【請求項6】
請求項に記載の方法であって、
第三者においてSKeyに対応する公開鍵を生成することを更に含む、方法。
【請求項7】
コンピュータ可読命令をストアするメモリ
前記メモリにアクセスして前記コンピュータ可読命令を実行するための処理ユニット
を含むシステムであって
前記コンピュータ可読命令が証明書マネジャーを含み、
前記証明書マネジャーが、
Nが1以上の整数である、N個のランダム値の生成を要求し、
それぞれが同じ証明書を有する少なくとも2つの異なる認証機関の少なくとも1つの認証機関からデジタル証明書を要求し、
後の時間に少なくとも1つの付加的な機関の秘密鍵の関数を取得し、
1つの機関の秘密鍵の関数と前記少なくとも1つの付加的な機関の秘密鍵の前記後に取得した関数とに基づいて、公開−秘密鍵ペアの秘密鍵を生成する、
ように構成され、
前記要求が前記N個のランダム値の所与の1つを含み、
前記証明書マネジャーに対する前記少なくとも2つの異なる認証機関の各々により生成される前記デジタル証明書が互いに独立して生成され、
前記コンピュータに対する前記秘密鍵が、
のように構成され、ここで、
SKeyが前記コンピュータに対する前記秘密鍵を示し、
が前記コンピュータにより生成される前記N個のランダム値の前記所与の1つを示し、
が前記N個の認証機関の認証機関iにおいて実行されるハッシュ関数の結果を示し、
が前記認証機関iから提供される整数を示し、
nが楕円曲線上の多数の点を示す、システム。
【請求項8】
請求項に記載のシステムであって、
前記証明書マネジャーが前記秘密鍵を生成するために楕円曲線暗号を用いる、システム。
【請求項9】
請求項に記載のシステムであって、
前記少なくとも2つの異なる認証機関が、少なくとも3つの異なる認証機関を含む、システム。
【請求項10】
請求項に記載のシステムであって、
前記システムがクリプトプロセッサである、システム。
【請求項11】
或る方法を実行するためのコンピュータ実行可能な命令を有する持続性(non−transistory)コンピュータ可読媒体であって、前記方法が、
N個のランダム値の生成を要求することであって、Nが1以上の整数である、前記要求すること
同じ証明書を有する少なくとも2つの異なる認証機関の少なくとも1つの認証機関からデジタル証明書を要求することであって、前記要求が前記N個のランダム値の所与のつを含む、前記要求すること
公開−秘密鍵ペアの秘密鍵の生成を要求することであって、前記秘密鍵が前記少なくとも2つの異なる認証機関の各々の秘密鍵に基づいて生成される、前記要求すること
を含
前記コンピュータに対する前記秘密鍵が、
のように構成され、ここで、
SKeyが前記コンピュータに対する前記秘密鍵を示し、
が前記コンピュータにより生成される前記N個のランダム値の前記所与の1つを示し、
が前記N個の認証機関の認証機関iにおいて実行されるハッシュ関数の結果を示し、
が前記認証機関iから提供される整数を示し、
nが前記楕円曲線上の多数の点を示す、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、概してデジタル証明書に関し、更に特定して言えば、組み合わされたデジタル証明書を生成するための装置及び方法に関連する。
【背景技術】
【0002】
公開鍵暗号化とは、プレーンテキストをロック又は暗号化するための1つの鍵、及び暗号化テキストをアンロック又は解読するためのもう1つの鍵、の2つの個別の鍵を必要とする暗号システムを指す。これらの鍵の一方は公にされ又は公開され(公開鍵)、他方はプライベート(秘密鍵)に保たれる。ロック/暗号化鍵が公にされた鍵である場合、そのシステムは、公からアンロック鍵オーナーへのプライベート通信を可能とする。アンロック/解読鍵が公にされた鍵である場合、このシステムは、秘密鍵のオーナーによりロックされたドキュメントの署名認証装置として機能する。
【0003】
デジタル署名を提供するために幾つかの異なる公開鍵プリミティブを用いることができる。幾つかは、離散対数問題に基づいており、離散対数ベースの公開鍵クリプトシステムと呼ばれる。公開鍵クリプトシステムは、機密性、インテグリティ、認証、又は否認防止機能を提供するために種々の方式で用いることができる。否認防止又は認証は、公開鍵デジタル証明書などのデジタル証明書を介して達成され得る。公開鍵デジタル証明書は、データとデータの署名との2つの部分を含み得る。データは、公開鍵と、信頼できる第三者機関、即ち認証機関(CA)、に対する加入者(subscriber)の特有の識別子とを含み得る。加入者の公開鍵上のCAの署名が、加入者公開鍵と加入者のアイデンティティ(ID)との間の信頼のおけるつながりをもたらす。
【発明の概要】
【0004】
1つの例が或るシステムに関連し、このシステムは、コンピュータ可読命令をストアするメモリと、このメモリにアクセスするため及びコンピュータ可読命令を実行するための処理ユニットとを含み得る。コンピュータ可読命令は証明書マネジャーを含む。証明書マネジャーは、N個のランダム値の生成を要求するように構成され得、Nは1に等しいか1より大きい整数である。証明書マネジャーは更に、少なくとも2つの異なる認証機関のうち少なくとも1つの認証機関からデジタル証明書を要求するようにも構成され得る。この要求は、N個のランダム値の所与の一つを含む。証明書マネジャーは更に、公開−秘密鍵ペアの秘密鍵を、少なくとも2つの異なる認証機関の各々の秘密鍵に基づいて生成するようにも構成され得る。
【0005】
別の例が、組み合わされたデジタル証明書を生成するための方法に関連する。この方法は、コンピュータにおいて、N個のランダム値を生成することを含み得、Nは2に等しいか2より大きい整数である。この方法は更に、このコンピュータから、N個のランダム値の所与の一つを含む要求を、N個の認証機関のうち対応する認証機関に提供することを含み得る。この方法は更に、このコンピュータにおいて、N個の認証機関の各々からデジタル証明書を受け取ることを含み得る。この方法は更に、このコンピュータにおいて、N個の認証機関の各々から受け取ったデータの組み合わせに基づいて、このコンピュータに対する秘密鍵を生成することを含み得る。この方法は更に、このコンピュータにおいて、N個の認証機関の各々から受け取った各デジタル証明書の組合せに基づいて、組み合わされたデジタル証明書を生成することを含み得る。
【0006】
更に別の例が、組み合わされたデジタル証明書を生成するための方法に関連する。この方法は、コンピュータにおいて、ランダム値を生成することを含み得る。この方法は更に、このコンピュータから、ランダム値を2つの認証機関のうちの第1の認証機関に提供することを含み得る。この方法は更に、このコンピュータにおいて、2つの認証機関のうちの第2の認証機関からデジタル証明書を受け取ることを含み得る。デジタル証明書は、第1の認証機関において生成されるデジタル証明書に基づく。この方法は更に、このコンピュータにおいて、2つの認証機関の各々からの数に基づいてこのコンピュータに対する秘密鍵を生成することを含み得る。この方法は更に、このコンピュータにおいて、このコンピュータにおいて受け取ったデジタル証明書に含まれるデータに基づいて、組み合わされたデジタル証明書を生成することを含み得る。
【図面の簡単な説明】
【0007】
図1図1は、組み合わされたデジタル証明書を生成するためのシステムの一例を図示する。
【0008】
図2A図2Aは、組み合わされたデジタル証明書を生成するための例示の方法のフローチャートを図示する。
図2B図2Bは、組み合わされたデジタル証明書を生成するための例示の方法のフローチャートを図示する。
【0009】
図3A図3Aは、組み合わされたデジタル証明書を生成するための例示の方法の別のフローチャートを図示する。
図3B図3Bは、組み合わされたデジタル証明書を生成するための例示の方法の別のフローチャートを図示する。
【0010】
図4図4は、組み合わされたデジタル証明書を生成するためのシステムの別の例を図示する。
【発明を実施するための形態】
【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=x+ax+b
ここで、P={x,y}、Q={x、y}であり、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は1〜Nの間の整数である。処理ユニットは、r・Gを計算するために楕円曲線点乗算を用いることができる。ここで、Gは、r・Gが曲線E上の点であるように、生成器点Gにおいて定義される曲線E上の点の数である。230において、証明書マネジャーは、ランダム数rを対応する認証機関iに提供することができ、認証機関iは、図1に示す1〜N個の認証機関12の一つとして実装され得る。このような状況において、認証機関iは、cCAiとして示される秘密鍵及びQCAiとして示される公開鍵を有し得る。このような状況において、式4が、cCAiとQCAiとの間の関係を示すことができる。式4は楕円曲線乗算を示すことに留意されたい。
式4: QCAi=cCAi.G
【0024】
一例において、各加入者Aに対し、各認証機関iは、異なるアイデンティティ数(例えば、特有のID)を割り当てることができる。このような状況において、各アイデンティティ数は、N個の認証機関の各々に起因する各アイデンティティ数の合計として実装され得る(ID=Σ(ID))。代替として、認証機関iの所与の一つが、他の認証機関iにより共有される特有のアイデンティティ数を有し得る。240において、認証機関iはk.Gを計算することができ、ここで、kはインタバル[1,n−1]内のランダム数である。250において、認証機関iは、Pを計算するために式5を用い得る。式5が楕円曲線加算を示すことに留意されたい。
式5: P=r.G+k.G
【0025】
260において、認証機関iはeを計算するために式6を用い得る。
(式6)
ここで、Hは1方向ハッシュ関数であり、Pは式5により得られる楕円曲線加算の結果の点であり、IDはコンピュータに対する特有の識別子である。
【0026】
270において、認証機関iは、sを計算するために式7を又は代替として式8を用い得る。
式7: s=e.k−cCAi(mod n)
式8: s=k−e.cCAi(mod n)
【0027】
280において、認証機関iは、少なくともP、s及びeが証明書マネジャーに供給されるように、デジタル証明書i及び他のデータを証明書マネジャーに提供することができる。290において、iがNより小さいか又はNに等しいかについて判定が成され得る。この判定が肯定(例えば、はい)である場合、方法200は300に進み得る。判定が否定(例えば、いいえ)である場合、方法は310(図2B)に進み得る。300において、iの値は1だけ増大され得、この方法は230まで戻り得る。
【0028】
図2Bの310において、証明書マネジャーは、関連するコンピュータに対する秘密鍵を計算することができ、この秘密鍵は「SKey」で示され得る。SKeyは、例えば、コンピュータのセキュリティ保護メモリにストアされ得る。sを計算するために式7が用いられる例において、証明書マネジャーはSKeyを計算するために式9を用いることができる。代替として、sを計算するために式8が用いられる状況において、証明書マネジャーはSKeyを計算するために式10を用いることができる。
式9:
式10:
【0029】
320において、証明書マネジャーは、関連するコンピュータに対するSKeyに対応する公開鍵を計算するために(例えば、第三者により)用いられ得る公開鍵データを判定することができ、この公開鍵は「PKey」で示され得る。幾つかの例において、公開鍵データは、各認証機関iから提供されるPiを含み得る。幾つかの例において、式11及び式12を用いることにより、第三者はPKeyを導出するため公開鍵データを用いることができる。式11及び式12に示すように、PKeyはQCAに基づき得、これは、1〜N個の認証機関から受信した各QCAiの合計として実装され得る。他の例において、第三者は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は秘密鍵を有し得、この秘密鍵はcCA1と呼ばれ得、公開鍵はQCA1として示され得る。このような状況において、式4はcCA1とQCA1との間の関係を示すことができる。440において、認証機関1はk・Gを計算することができ、ここで、kはインタバル[1,N−1]内のランダム数である。450において、認証機関1はPを計算するために式5を用い得る。460において、認証機関1はsを計算するために式14を用い得る。
式14: s=k+cCA1 mod n
【0034】
470において、認証機関1は、少なくともsを含むデータを証明書マネジャーに提供することができる。475において、認証機関1は認証機関2により認証され得る。このような認証は、認証機関1から提供されるデータが、実際に認証機関1から生じており、無許可のソース(例えば、ハッカー)からではないことを確実にし得る。480において、認証機関1は、認証機関2にP及びsを提供することができる。490(図3B)において、認証機関2はk・Gを計算することができ、ここで、kはインタバル[1,N−1]内のランダム数である。500において、認証機関2はPを計算するために式15を用い得る。式15は楕円点乗算を用いることに留意されたい。
式15: P=k.G+P
【0035】
510において、認証機関2はeを計算するために式16を用い得る。
式16:
Hは一方向ハッシュ関数であり、IDはコンピュータに対する特有の識別子である。
【0036】
520において、認証機関2はsを計算することができる。幾つかの例において、認証機関2はsを計算するために式17を用い得る。
式17: s=e(k+cCA2)mod n
【0037】
530において、認証機関は、証明書マネジャーに、少なくともP(式15)を含むデジタル証明書を提供することができる。また、認証機関は証明書マネジャーにsを提供することができる。540において、処理ユニットは、コンピュータに対する秘密鍵を計算することができ、この秘密鍵は「SKey」で示され得る。sを計算するために式17が用いられる例において、処理ユニットはSKeyを計算するために式18を用いることができる。
式18: SKey=e(s+r)+s mod n
【0038】
550において、証明書マネジャー及び/又は処理ユニットは、関連するコンピュータに対する公開鍵を生成するために用いることができる公開鍵データを判定することができ、この公開鍵は「PKey」で示され得る。公開鍵データは、認証機関2から受信したPを含み得る。このようにして、第三者がPKeyを計算するために公開鍵データを用いることができる。例えば、SKeyを計算するために式18が用いられる例において、第三者はPKeyを計算するために式19及び式20を用いることができる。
式19: QCA=QCA1+QCA2
式20: PKey=e(P+QCA
【0039】
560において、証明書マネジャーは、組み合わされたデジタル証明書を生成及びストアすることができる。幾つかの例において、組み合わされたデジタル証明書は公開鍵データを含み得る。方法400を用いることにより、コンピュータにおいてストアされる必要があるのはPに対し1つの値のみであるため、メモリの低減が達成され得る。また、付加的なメモリ保存が、ECCを用いることによって達成され得る。また更に、組み合わされたデジタル証明書が2つの異なる認証機関の公開鍵QCA1及びQCA2に基づくため、この方法はセキュリティの増強を可能にする。
【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...s)を受け取ることができる。証明書マネジャー616は、クリプトプロセッサ606に、秘密鍵(SKey)626を生成するためのデータ(例えば、証明書データ)と、1〜N個の認証機関610から提供されるデータ(例えば、s...s及びP...P)に基づいてクリプトプロセッサ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の公開鍵(QCAi)は、第三者634に提供され得る。組み合わされた証明書は更に、ドキュメント630のダイジェストを計算するために用いられるダイジェストアルゴリズムを含み得る。また、第三者634は、公開鍵データ628に基づいてPKey629を生成することができる。
【0047】
第三者634は、所与の認証機関610の公開鍵(QCAi)を認証するために所与の認証機関610と通信することができる。このようにして、第三者634は、PKey629が、所与の認証機関610の秘密鍵(cCAi)に基づいて生成されたことを信頼することができる。また、第三者634は、ドキュメント630のダイジェストを再生成するためダイジェストアルゴリズムを用いることができる。第三者634は、組み合わされたデジタル証明書602に含まれるPKey629でデジタル署名632を検証することができ、これが、検証されたダイジェストとなり得る。第三者634は、ドキュメント630がクリプトプロセッサ606により署名されたこと、及びドキュメント630に対するデジタル署名が生成されて以来ドキュメント630が変更されていないことを確実にするため、再生成されたデジタルダイジェストを検証されたダイジェストと比較し得る。
【0048】
本発明に関連する技術に習熟した者であれば、本発明の特許請求の範囲内で、説明した例示の実施例に変形が成され得ること、及び他の実施例を実装し得ることが分かるであろう。

図1
図2A
図2B
図3A
図3B
図4