(58)【調査した分野】(Int.Cl.,DB名)
前記証明書要求は、前記エンティティの前記第2の公開鍵と、第1の証明書要求署名と、第2の証明書要求署名とを含み、前記第1の証明書要求署名は前記第1の暗号システムに関連し、前記第2の証明書要求署名は前記第2の暗号システムに関連し、前記方法は、 前記エンティティの前記第1の公開鍵を用いて前記第1の証明書要求署名を検証するステップと、
前記エンティティの前記第2の公開鍵を用いて前記第2の証明書要求署名を検証するステップと、
を含む、
請求項1に記載の方法。
前記証明書要求は、前記エンティティの前記第2の公開鍵と、第1の証明書要求署名と、第2の証明書要求署名とを含み、前記第1の証明書要求署名は前記第1の暗号システムに関連し、前記第2の証明書要求署名は前記第2の暗号システムに関連し、前記動作は、 前記エンティティの前記第1の公開鍵を用いて前記第1の証明書要求署名を検証するステップと、
前記エンティティの前記第2の公開鍵を用いて前記第2の証明書要求署名を検証するステップと、
を含む、
請求項9に記載のシステム。
前記方法は、前記証明書概要と、前記第2の暗号システムに関連する、前記認証局の公開鍵とを用いて、前記認証局の前記第2のデジタル署名を検証するステップをさらに含む、
請求項16に記載の方法。
前記方法は、前記証明書概要と、前記第1の暗号システムに関連する、前記認証局の公開鍵とを用いて、前記認証局の前記第1のデジタル署名を検証するステップをさらに含む、
請求項16に記載の方法。
前記動作は、前記証明書概要と、前記第1の暗号システムに関連する、前記認証局の公開鍵とを用いて、前記認証局の前記第1のデジタル署名を検証するステップをさらに含む、
請求項24に記載のシステム。
【発明を実施するための形態】
【0005】
ここで説明する内容のいくつかの態様では、デジタル証明書を複数の暗号システムと共に使用することができる。デジタル証明書は、各暗号システムのコンポーネント(例えば、デジタル署名、公開鍵など)を含むことができる。いくつかの例では、このようなデジタル証明書を、企業インフラ内で新たな認証アルゴリズムを展開するという文脈で使用することができる。例えば、このような「ハイブリッド」なデジタル証明書は、様々なシステムコンポーネントを新たな暗号システムをサポートするようにアップグレードする際に、新たな暗号システムを徐々に運用開始する段階的方法において使用することができる。
【0006】
いくつかの実装では、例えば量子脆弱暗号システムから耐量子暗号システムへの移行中に、量子脆弱暗号システム(例えば、従来の量子脆弱暗号システム)とアップグレードされた耐量子暗号システムとがハイブリッドデジタル証明書を使用することができる。いくつかの例では、耐量子暗号システムのコンポーネント(例えば、耐量子公開鍵、耐量子デジタル署名など)と量子脆弱暗号システムのコンポーネント(例えば、量子脆弱公開鍵、量子脆弱デジタル署名など)とを1つの証明書内に配置することにより、単一の証明書チェーン構造又は符号化に、複数の有効な証明書チェーンを埋め込むことができる。このようなハイブリッド証明書を使用すると、レガシーなアプリケーションは量子脆弱暗号システムを使用し続ける一方で、アップグレードされたアプリケーションは耐量子暗号システムの使用を開始して、通信システム内に両暗号システムが共存できるようにすることができる。
【0007】
いくつかの実装では、暗号システム間の移行に多段階アップグレードを使用する。各移行段階では、追加のシステムコンポーネントをアップグレードして、アップグレードされた(例えば、耐量子)暗号システムへの依存度を高める。いくつかの例では、移行段階が、1又は2以上のアプリケーションをアップデートしてエンドエンティティ証明書を修正することを含む。いくつかの例では、別の移行段階が、公開鍵基盤(PKI)をアップグレードしてCA証明書を修正することを含む。いくつかの例では、別の移行段階が、残りの全てのアプリケーションをアップグレードして証明書の修正を排除することを含む。このような多段階アップグレードは、例えば量子脆弱暗号システムから耐量子暗号システムへの移行において、又は別のタイプの移行(例えば、より安全なデジタル署名アルゴリズムへのアップグレードなど)において使用することができる。
【0008】
PKIを使用する企業システムは複雑であり、広い地理的範囲又は組織的範囲に及ぶ多くのエンティティを伴う場合がある。例えば、いくつかの大規模組織(例えば、会社組織、政府機関など)は、数百万人ものユーザ及び関連するクレデンシャルを有していることもあり、(例えば、「ブリッジCA」などのエンティティ又は他のタイプのエンティティを介して)信頼関係を維持する複数の系列グループにわたって展開されていることもある。これらの及びその他の例では、2つのエンティティが通信する際に、これらの間の信頼関係に、異なる組織内で維持されている多くの異なる認証局を行き来することが必要な場合もある。このような特徴及び複雑性を有するシステムは、例えば継続性及びセキュリティを保証するために多段階を用いて移行することができる。いくつかの実装では、エンティティが、1又は2以上の移行段階中に、例えばPKI及び関連するアプリケーションのアップグレード後に、古い暗号システム又は新しい暗号システムを用いて認証及び識別を行うことができる。
【0009】
図1は、通信システム例100の態様を示すブロック図である。
図1に示す通信システム例100は、2つのエンティティノード102、104及び2つの認証局ノード112、114という4つのノードを含む。これらのノードは、ネットワーク106を介して互いに通信するために暗号スキームを使用する。図示の例では、量子対応の敵対者(quantum−enabled adversary)108が、ネットワーク106、ネットワーク106上で交換される情報、又はこれらの両方にアクセスすることができる。いくつかの例では、量子対応の敵対者が、ネットワーク106上の情報を修正することもできる。通信システム100は、さらなる又は異なる特徴を含むこともでき、通信システム内のコンポーネントは、
図1に示すように又は別の方法で動作するように構成することができる。
【0010】
いくつかの実装では、通信システム100内のノードがサーバ−クライアント関係を有することができる。例えば、ノード102をサーバとし、ノード104をサービスネットワーク内のクライアントとすることができ、或いはこれを逆にすることもできる。いくつかの実装では、通信システム100内のノードがピアツーピア関係を有することができる。例えば、ノード102、104は、サービスネットワーク、ピアツーピアネットワーク、又は別のタイプのネットワーク内のピアとすることができる。ノードは、通信システム100内で別のタイプの関係を有することもできる。
【0011】
図1に示す例では、通信システム100が、暗号通信のための公開鍵基盤(PKI)を使用する。典型的な公開鍵基盤(PKI)では、エンティティが、信頼できる認証局によって発行された証明書に基づいて互いを認証することができる。PKI内のエンティティ(例えば、ユーザ、ユーザアカウント、装置又は機械、ソフトウェアモジュール又はその他のタイプのエンティティ)は、それぞれがユーザアイデンティティと、公開鍵及び秘密鍵を含む鍵対とを有し、認証局は、公開鍵をエンティティのユーザアイデンティティに結び付けるデジタル証明書を発行することができる。
【0012】
いくつかのPKI例では、認証局(CA)証明書及びエンドエンティティ証明書という2つのタイプのデジタル証明書が存在する。CA証明書は、他の証明書を認証するために使用することができる。エンドエンティティ証明書は、エンティティ(証明書の所有者)を識別するために使用することができる。
図1に示す例では、エンティティノード102、104の各々が、エンドエンティティ証明書を有するエンティティに関連することができ、認証局ノード102、104の各々が、CA証明書を有する認証局に関連することができる。
【0013】
いくつかのPKI例は、証明書チェーンを使用する。典型的な証明書チェーンでは、証明書チェーンの最上位にルートCA証明書が存在し、証明書チェーンの最下位にエンドエンティティ証明書が存在し、証明書チェーンの中間(ルートCA証明書とエンドエンティティ証明書との間)に1又は2以上の中間CA証明書が存在する。ルートCA証明書はハードコード化され、PKI内のエンティティはこれを明確に信頼することができる。エンドエンティティ証明書はPKI内のエンティティに発行され、エンティティのユーザアイデンティティを含むことができる。いくつかの例では、ルート認証局が、下位の認証局に中間CA証明書又はエンドエンティティ証明書を発行することができる。いくつかの例では、中間認証局が、下位の認証局に中間CA証明書又はエンドエンティティ証明書を発行することができる。一例として、
図1の認証局ノード112は、ルートCA証明書を有するルート認証局に関連することができ、ルート認証局は、他の認証局ノード114に関連する認証局に中間CA証明書を発行することができる。中間認証局は、エンティティノード102、104に関連するエンティティにエンドエンティティ証明書を発行することができる。
【0014】
標準化された公開鍵基盤の例に、X.509デジタル証明書を使用するX.509公開鍵基盤がある。通常、X.509証明書は、複数の基本フィールド(basic fields)と、1又は2以上の拡張領域(extensions)とを含む。X.509証明書の基本フィールドは、例えば署名値フィールド、発行者フィールド、有効期間フィールド、主体者フィールド、(「主体者公開鍵情報」フィールドとも呼ばれる)公開鍵フィールドなどを含むことができる。X.509証明書の署名値フィールドは、認証局が証明書に署名するために計算したデジタル署名を含むことができる。X.509証明書の発行者フィールドは、証明書の署名及び発行を行ったエンティティを識別する情報を含むことができる。X.509証明書の有効期間フィールドは、認証局が証明書の状態に関する情報を維持することを保証する期間を識別する情報を含むことができる。X.509証明書の主体者フィールドは、公開鍵フィールドに記憶された公開鍵に関連するエンティティ(証明書の所有者)を識別する情報(例えば、ユーザアイデンティティ)を含むことができる。X.509証明書の公開鍵フィールドは、エンティティの公開鍵を含むことができる。X.509の公開鍵フィールドは、公開鍵と共に使用される暗号アルゴリズムを識別する情報を含むこともできる。
【0015】
X.509証明書の拡張領域は、例えば標準拡張、プライベート拡張、及び場合によっては他のタイプの拡張を含むことができる。標準拡張は、例えば鍵識別子、鍵使用情報、証明書ポリシー、別名、制約、及びその他のタイプの情報を含むことができる。いくつかの実装では、X.509証明書を、標準拡張に含まれていないさらなる拡張を含むように修正することができる。例えば、X.509証明書は、別の署名値(例えば、認証局が別の暗号システムに関連する秘密鍵を用いて証明書に署名するために計算した別のデジタル署名)、エンティティの別の公開鍵(例えば、別の暗号システムに関連する公開鍵)を含むプライベート拡張を有するように修正することができる。X.509証明書は、他のタイプの情報及び他の拡張領域又はフィールドを含むこともできる。
【0016】
通信システム例100内のノードは、セキュア通信モジュール(例えば、仮想プライベートネットワーク(VPN)、セキュアウェブブラウジング、セキュアメールなど)、或いはPKIを認証に使用し、関連する暗号鍵(例えば、デジタル署名ベースのゼロ知識証明又は別のタイプの識別機構)を識別に使用して、参加エンティティの信頼できるアイデンティティを確立する他のタイプのシステムコンポーネントを含む。このような認証及び識別機構のセキュリティは、1又は2以上の暗号化システム(「暗号システム(cryptosystem)」)に依拠することができる。暗号システムの例としては、様々なRSAベースの暗号システム、ECCベースの暗号システム、格子ベースの暗号システムなどが挙げられる。通常、暗号システムは、暗号プロトコルの組と、暗号プロトコル内で使用されるパラメータの組とを定義する。
【0017】
いくつかの例では、通信システム100が、例えばさらなるセキュリティ層を提供する目的で、1つの暗号システムから別の暗号システムに移行する目的で、新たな暗号システムをテストする目的で、又はその他の目的で、複数の暗号システムを使用することができる。一例として、通信システム100は、セキュリティのために、ECCベースの暗号システムへの依拠から格子ベースの暗号システムへの依拠に移行することができる。別の例として、通信システム100は、セキュリティのために、1つのタイプのECCベースの暗号システムへの依拠から別のタイプのECCベースの暗号システムへの依拠に移行することもできる。セキュア通信モジュールは、通信システム100内の他のノードと相互作用するので、暗号システムは段階的に移行させることができる。例えば、新たな暗号システムは、新旧両方の暗号システムを利用できる1又は2以上の移行段階を通じて導入することができる。これらの移行段階は、サービスを大幅に中断することなく新たな暗号システムの導入を可能にすることができる。
図2A及び
図2Bに多段階移行の例を示すが、暗号システムは、別の方法で移行させることもできる。
【0018】
図1に示す例では、通信システム100を、初期の暗号システムからアップグレードされた暗号システムに移行させることができる。いくつかの例では、アップグレードされた暗号システムが初期暗号システムと同じ暗号プロトコルを使用し、これらのプロトコル内で異なるパラメータを使用する。例えば、ECCベースの暗号システムは、さらに優れたセキュリティを提供する新たな楕円曲線を使用するようにアップグレードすることができる。いくつかの例では、アップグレードされた暗号システムが、初期暗号システムが使用するものとは異なる暗号プロトコルを使用する。例えば、ECCベースの暗号システムは、さらに優れたセキュリティを提供する格子ベースの暗号システムに置き換えることができる。
【0019】
いくつかの例では、通信システム100が、移行中にPKIがユーザアイデンティティ毎に1つのデジタル証明書を使用できるような形で移行される。例えば、移行前、移行後及び移行中に、初期の暗号システム及びアップグレード後の暗号システムの両方において1つのデジタル証明書を使用することができる。ユーザアイデンティティ毎に1つのデジタル証明書を維持すると、例えば移行中のセキュアな通信に必要なリソースを抑えることによって移行を単純化することができる。例えば、システムによっては、使用しているクレデンシャル記憶のための物理的解決策が空間面で、及び(例えば、更新のための)リソースとの相互作用方法の面で制限されているものもあり、単一のエンドエンティティ証明書を維持することによって、このようなシステムコンポーネントをアップグレードするための単純な解決策を提供することができる。
【0020】
いくつかの例では、通信システム100が、例えば量子脆弱暗号システムから耐量子暗号システムへの移行中に、量子脆弱暗号システムと耐量子暗号システムの両方を使用することができる。例えば、多くの従来の暗号システム(例えば、RSA、DSA又はECDSAなどの一部の古典的なデジタル署名アルゴリズム)は、量子コンピュータによる攻撃を受けやすい可能性があり、耐量子暗号システムにアップグレードすることでセキュリティを改善できることが知られている。いくつかの実装では、段階的移行を用いて通信システム100を量子脆弱暗号システムから耐量子暗号システムに移行させることができる。この段階的移行は、セキュア通信モジュール(例えば、仮想プライベートネットワーク(VPN)、セキュアウェブブラウジング、セキュアメールなど)又は他のタイプのシステムコンポーネントを量子脆弱暗号システムから耐量子暗号システムにスムーズに移行させるように設計することができる。
【0021】
図1に示す例では、例示的なエンティティノード102、104及び認証局ノード112、114が、それぞれ他のノードと通信するために使用される計算リソース(例えば、ハードウェア、ソフトウェア、ファームウェア)を有する。いくつかの実装では、通信システム100内のノードを、例えばラップトップ、デスクトップ、ワークステーション、スマートフォン、タブレット、携帯情報端末、サーバ、サーバクラスタ、メインフレーム及びその他のタイプのコンピュータシステムなどの様々なシステムに実装することができる。
図1に示すように、ノード例102は、メモリ110と、プロセッサ111と、インターフェイス113とを含む。エンティティノード102、104及び認証局ノード112、114の各々は、同じコンポーネント、さらなるコンポーネント、又は異なるコンポーネントを含むこともできる。エンティティノード102、104及び認証局ノード112、114は、
図1に関して図示し説明するように構成することも、又は別の方法で動作するように構成することもできる。いくつかの例では、単一の装置が、エンティティノードと認証局ノードの両方として動作することができる。
【0022】
図1に示すノード例102では、メモリ110が、例えばランダムアクセスメモリ(RAM)、記憶装置(例えば、書き込み可能リードオンリメモリ(ROM)など)、ハードディスク、又は別のタイプの記憶媒体を含むことができる。メモリ例110は、オペレーティングシステム、コンピュータアプリケーション及びその他のリソースに関連する命令(例えば、コンピュータコード、コンピュータプログラムなど)を記憶することができる。メモリ110は、ノード102上で実行中の1又は2以上のアプリケーション又は仮想機械が解釈できるアプリケーションデータ及びデータオブジェクトを記憶することもできる。ノード102は、予めプログラムしておくことも、或いは別のソースから(例えば、DVD−ROM、取り外し可能メモリデバイス、リモートサーバ、データネットワークから又は別の方法で)プログラムをロードすることによってプログラム(及び再プログラム)することもできる。いくつかの例では、メモリ110が、プロセッサ111によって解釈又は実行される、ソフトウェアアプリケーション、スクリプト、プログラム、関数、実行ファイル又は他のモジュールのためのコンピュータ可読命令を記憶する。例えば、コンピュータ可読命令は、
図3及び
図4に示す動作のうちの1つ又は2つ以上を実行するように構成することができる。
【0023】
図1に示すノード例102では、プロセッサ111が、例えばデータ入力に基づいて出力データを生成する命令を実行することができる。例えば、プロセッサ111は、メモリ110に記憶されているソフトウェア、スクリプト、プログラム、関数、実行ファイル又はその他のモジュールを実行又は解釈することによってコンピュータプログラムを実行することができる。いくつかの例では、プロセッサ111が、
図3及び
図4に示す動作のうちの1つ又は2つ以上を実行することができる。
【0024】
図1に示すプロセッサ例111は、アナログ回路、デジタル回路又はこれらの組み合わせを含む1又は2以上のチップ又はチップセットを含むことができる。いくつかの例では、プロセッサ111が、例えば1又は2以上のメインプロセッサ及び1又は2以上のコプロセッサなどの複数のプロセッサ装置を含む。例えば、プロセッサ111は、いくつかの計算タスクを暗号コプロセッサに委任できるメインプロセッサを含むことができ、暗号コプロセッサは、計算タスクをメインプロセッサよりも効率的に、又は他のプロセッサ装置によって実行される他の計算タスクと並行して実行するように構成することができる。いくつかの例では、プロセッサ111が、例えばユーザインターフェイス、通信インターフェイス、周辺装置、及び場合によってはその他のコンポーネントなどの、ノード102の他のコンポーネントの動作を調整又は制御する。
【0025】
図1に示すノード例102では、インターフェイス113が他のノード又は装置との通信を提供する。いくつかの例では、インターフェイス113が、例えば、とりわけBluetooth(登録商標)、Wi−Fi、近距離通信(NFC)、GMS音声通話、SMS、EMS、又はMMSメッセージング、無線標準規格(例えば、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、GPRS)などの様々な無線プロトコル下で無線通信を提供する無線通信インターフェイスを含む。このような通信は、例えば無線周波数トランシーバ又は別のタイプのコンポーネントを通じて行うことができる。いくつかの例では、インターフェイス113が、例えばキーボード、ポインティングデバイス、スキャナなどの1又は2以上の入力/出力装置に、或いは、例えばネットワークアダプタを通じてスイッチ又はルータなどのネットワーク装置に接続できる有線通信インターフェイス(例えば、USB、Ethernet)を含む。
【0026】
ネットワーク例106は、コネクタ、データ通信ネットワーク又は別のタイプの通信リンクの全部又は一部を含むことができる。例えば、ネットワーク106は、1又は2以上の有線又は無線接続、1又は2以上の有線又は無線ネットワーク、又は他の通信チャネルを含むことができる。いくつかの例では、ネットワーク106が、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、プライベートネットワーク、仮想プライベートネットワーク(VPN)、公衆ネットワーク(インターネットなど)、ピアツーピアネットワーク、セルラーネットワーク、Wi−Fiネットワーク、パーソナルエリアネットワーク(PAN)(例えば、Bluetooth low energy(BTLE)ネットワーク、ZigBeeネットワークなど)、又は機械間(M2M)通信を含むその他の短距離ネットワーク、又は別のタイプのデータ通信ネットワークを含む。
【0027】
図示の例では、量子対応の敵対者108が量子計算リソースにアクセスすることができる。例えば、量子対応の敵対者108は、量子コンピュータ、量子情報プロセッサ、量子メモリ、量子通信インターフェイス、又はこれらの組み合わせ、及び場合によってはその他の量子技術とすることができ、これらを含むことができ、又はこれらにアクセスすることができる。いくつかの実装では、量子対応の敵対者108が、例えば古典的なフロントエンドプロセッサによって駆動される量子プロセッサを含むハイブリッドコンピュータシステム、又は別のタイプのハイブリッドコンピュータシステムを含むことができる。
【0028】
いくつかの例では、量子対応の敵対者108が、量子システムに情報を記憶して処理することができる。例えば、量子対応の敵対者108は、情報を量子ビット(「qubit」)として符号化し、この量子ビットを操作することによって情報を処理することができる。情報は、物理量子ビット、論理量子ビット、又はこれらの組み合わせ、及びその他のタイプの量子ビット符号化の形で符号化することができる。いくつかの実装では、量子対応の敵対者108が、耐故障性レジーム内で、又は耐故障性レジームの下位で動作することができる。
【0029】
多くの公開鍵暗号システムは、拡張可能な量子コンピュータで武装した攻撃に対して安全でないことが知られている。例えば、ディフィー・ヘルマン(DH)鍵共有プロトコル及び楕円曲線ディフィー・ヘルマン(ECDH)鍵共有プロトコルは、量子対応の敵対者によるいくつかのタイプの攻撃を受けやすい。公開鍵暗号法に対する量子コンピュータの脅威は、量子攻撃を受けにくいと考えられる他の公開鍵暗号システムに切り替えることによって軽減することができる。例えば、量子脆弱と考えられているいくつかのRSAベース又はECCベースの暗号システムの耐量子的な置換として、格子ベースの暗号システムが提案されている。
【0030】
いくつかの実装では、量子対応の敵対者例108が、量子計算アルゴリズム、量子計算回路又は量子通信プロトコル、或いは他のタイプの量子情報処理タスクを実行することができる。図示の例では、量子対応の敵対者108が、古典的なコンピュータ上では困難と考えられる問題を量子対応の敵対者が効率的に解けるようにするShorのアルゴリズムを実行する。例えば、量子対応の敵対者108は、Shorのアルゴリズムを用いて大整数を因数分解し、離散対数を発見し、又は場合によっては計算効率の良い方法で他の問題を解くことができる。従って、量子対応の敵対者例108は、(例えば、公開情報に基づいて認証局又はその他のエンティティの秘密鍵を計算することによって)いくつかの量子脆弱暗号システムのセキュリティを損なうことができる。
【0031】
図1に示す量子対応の敵対者例108は、ネットワーク106上で交換される情報にアクセスすることができる。例えば、量子対応の敵対者108は、エンティティノード102、104間、又はエンティティノードと認証局ノードとの間で交換される情報の一部又は全部にアクセスすることができる。いくつかの例では、量子対応の敵対者108が、ネットワーク106上の通信を直接観察することができ、いくつかの例では、例えば別のエンティティ又はシステムがネットワーク106上で観察した情報を受け取ることによって、このような通信を間接的に取得する。
【0032】
いくつかの実装では、量子対応の敵対者108が、特定の暗号システムのセキュリティを損なうのに十分な速度で整数を因数分解し、離散対数を計算し、或いは従来は困難であった他の計算タスクを実行することができる。例えば、量子対応の敵対者108は、特定のRSA暗号規格を損なうのに十分な速度で素因数を計算し、或いは特定のECC暗号規格を損なうのに十分な速度で離散対数を計算することができる。
【0033】
図1に示す例では、エンティティノード102、104及び認証局ノード112、114が、量子対応の敵対者例108が損なうことができない耐量子暗号システムを使用することができる。例えば、エンティティノード102、104は、Shorのアルゴリズム、又はいくつかの従来の暗号規格のセキュリティを損なうことが分かっている他のタイプのアルゴリズムを効率的に実行できる量子コンピュータに対して安全な暗号システムを用いて通信することができる。いくつかの実装では、耐量子暗号システムを量子脆弱暗号システムと並行して使用することができる。例えば、通信システム100は、1又は2以上の移行段階において量子脆弱暗号システムの使用から耐量子暗号システムの使用に移行することができ、移行段階中は両暗号システムを利用することができる。
【0034】
いくつかの実装では、ノード102、104が、各ノードが他のノードから受け取ったメッセージの真正性を検証できるようにするデジタル署名スキームを使用する。いくつかの実装では、ノード102、104が、各ノードが他のノードに機密メッセージを送信できるようにする暗号化スキームを使用する。このようなデジタル署名スキーム及び暗号化スキームはデジタル証明書を含むことができ、又はデジタル証明書に基づいて実行することができる。いくつかのスキーム例では、エンティティノード102、104及び認証局ノード112、114が、
図2A、
図2B、
図3、
図4、
図5、
図6、
図7、
図8、
図9又は
図10のうちのいずれか1つ又は2つ以上に示す、又はこれらの図に関して説明する技術例を使用することができ、或いはこれらの及びその他の技術の変形例を用いてネットワーク106内で通信することができる。いくつかの例では、例えば暗号システムの移行中に複数のデジタル署名スキーム又は複数の暗号化スキームが使用される。
【0035】
いくつかの実装では、エンティティノード102、104及び認証局ノード112、114が、ネットワーク106を介した通信において楕円曲線暗号(ECC)スキームを使用する。いくつかのECCスキームでは、楕円曲線群内の楕円曲線点において情報が暗号化される。楕円曲線群については、例えば素数有限体又は標数2の拡大体などの有限体上の方程式の解を用いて説明することができる。楕円曲線群内の各点は、楕円曲線方程式の解に対応する一対のフィールド要素である。例えば、ECDSA(楕円曲線デジタル署名アルゴリズム)、ECNR(楕円曲線Nyberg Rueppel),ECPVS(楕円曲線Pintsov Vanstone署名)、ECQV(楕円曲線Qu Vanstone)及びEdDSA(エドワーズ曲線デジタル署名アルゴリズム)などの複数のECCデジタル署名アルゴリズムが標準化されている。いくつかのECCスキームは、量子攻撃を受けやすいと考えられている。
【0036】
いくつかの実装では、エンティティノード102、104及び認証局ノード112、114が、ネットワーク106を介した通信において格子ベースの暗号スキームを使用する。格子ベースの暗号スキームのセキュリティは、
内の点格子のいくつかの問題の見掛け硬さ(apparent hardness)に基づくものである。いくつかの格子ベースの暗号スキームは、量子対応の敵対者に対して安全と考えられている。例えば、格子ベースの暗号において典型的に使用される難問のための効率的な量子アルゴリズムは存在しないと考えられている。格子ベースの暗号技術の例としては、ring−learning−with−errors−based(Ring−LWE)鍵共有プロトコル、Ring−LWE暗号化プロトコル、NTRUアルゴリズム(例えば、NTRUEncrypt、NTRUSignなど)、バイモーダル格子署名スキーム(BLISS)、PASSアルゴリズム(例えば、PASSSignなど)、TESLA(Tightly−secure,Efficient signature Scheme from Standard LAttices)プロトコル、及びring−TESLAプロトコルなどが挙げられる。いくつかの格子ベースのスキームは、量子攻撃に耐性を示すと考えられている。
【0037】
図2Aは、暗号システムの移行を行う企業システム例200を示すブロック図である。
図2Aに示す企業システム例200は、公開鍵基盤(PKI)201と、アプリケーション202、204、206とを含む。
図2Aに示す企業システム例200は、移行プロセス例220に従って移行する。いくつかの実装では、移行プロセス例220を用いて、中断を低減又は排除する形で企業インフラを完全にアップグレードすることができる。
図2Bは、暗号システム間の移行を行うための、
図2Aにおいて使用する移行プロセス例220を示すフロー図である。いくつかの例では、別のタイプの移行プロセスを使用することもできる。
【0038】
図2Aに示す企業システム200のコンポーネントは、
図1に示す通信システム例100又は別のタイプのシステムに実装することができる。例えば、アプリケーション202、204、206の各々は、エンティティノード102、104及び認証局ノード112、114において実行することができる。アプリケーション202、204、206は、公開鍵基盤201を使用する様々なセキュア通信モジュールを含むことができる。一例として、アプリケーション202は、仮想プライベートネットワーク(VPN)アプリケーションとすることができ、アプリケーション204は、セキュアウェブブラウジングアプリケーションとすることができ、アプリケーション206は、セキュアメールアプリケーションとすることができる。企業システム200内のアプリケーションは、さらなる又は異なるタイプのソフトウェアアプリケーションを含むこともできる。
【0039】
図2Aには、段階1アップグレード222、段階2アップグレード224及び段階3アップグレード226という、移行プロセス例220内の3つの段階を示す。
図2Bには、各段階のいくつかの態様を示す。図示の例では、3つの段階の各々の最中に異なるタイプのデジタル証明書を使用する。移行プロセスは、これより少ない段階、さらなる段階、又は異なる段階を含むこともできる。例えば、これらの段階のうちの2つ又は3つ以上を1つの段階に組み合わせることも、或いは1つの段階を複数の段階に分割することもできる。一例として、段階1アップグレード222と段階2アップグレード224とを移行プロセス220の1つの段階として実行することも、或いは段階1アップグレード222を省いて段階2アップグレード224から移行プロセス220を開始することもできる。
【0040】
図2A及び
図2Bに示す例では、企業システム200が、古い暗号システムから新しい暗号システムにアップグレードされる。一例として、古い暗号システムは量子脆弱暗号システムとすることができ、新しい暗号システムは耐量子暗号システムとすることができる。一般に、暗号システムは、プロトコルの組とパラメータの組とを定義する。通常、暗号システムによって定義されるプロトコルの組は、例えば署名アルゴリズム又は暗号化アルゴリズムでは、各エンティティによって実行されるステップを含む。通常、暗号システムによって定義されるパラメータの組は、プロトコル内で使用される値又は値の範囲を含む。
【0041】
暗号システムのアップグレードは、プロトコルの組の変更、パラメータの組の変更、又はこれらの両方を含むことができる。いくつかの例では、システムコンポーネントを、あるプロトコルの組内の第1のパラメータの組(例えば、第1の楕円曲線群など)を使用する暗号システムから、同じプロトコルの組内の第2のパラメータの組(例えば、異なる楕円曲線群など)を使用する別の暗号システムにアップグレードすることができる。いくつかの例では、システムコンポーネントを、第1のプロトコルの組(例えば、第1の署名アルゴリズムなど)内の1つのパラメータの組を使用する暗号システムから、第2のプロトコルの組(例えば、第2の署名アルゴリズムなど)内の同じパラメータを使用する別の暗号システムにアップグレードすることができる。いくつかの例では、システムコンポーネントを、第1のパラメータ及びプロトコルの組を使用する暗号システムから、異なるパラメータ及びプロトコルの組を使用する別の暗号システムにアップグレード(例えば、ECCベースの暗号システムから格子ベースの暗号システムにアップグレード)することができる。一例として、
図2Bに示す移行プロセス220を用いて、いずれか2種類のデジタル署名スキーム間の(例えば、量子脆弱デジタル署名スキームから耐量子デジタル署名スキームへの)移行を行うことができる。
【0042】
図2Bに示すように、1又は2以上の個々のアプリケーションに段階1アップグレード222が適用される。
図2Aに示す例では、段階1アップグレード222がアプリケーション202及びアプリケーション204に適用され、アプリケーション206には適用されない。
図2Bに示すように、段階1アップグレード222を適用すると、アップグレードされたアプリケーションのエンティティ証明書は、新旧の暗号システムの公開鍵を含み、アップグレードされたアプリケーションは、新たな暗号システムを用いて(例えば、デジタル署名プロセス、暗号化プロセス又はその他の識別機構を用いて)識別を行う。認証については、アップグレードされたアプリケーションもアップグレードされていないアプリケーションも古い暗号システムを使用し続ける。アップグレードされていないアプリケーションは、識別にも古い暗号システムを使用し続ける。
【0043】
一例として、企業システムに段階1アップグレード222を適用すると、VPNアプリケーションは企業システム全体を通じて(例えば、全ての企業ノード上で)アップグレードできるのに対し、他のアプリケーション(例えば、セキュアウェブブラウザアプリケーション)はアップグレードされない。段階1アップグレード222後、VPNアプリケーションは、(例えば、クライアントとサーバとの間の)ハンドシェイクチャレンジには新たな(例えば、耐量子)暗号システムを使用し、証明書チェーンの検証には古い(例えば、量子脆弱)暗号システムを使用することができる。いくつかの例では、アップグレードされたVPNアプリケーションは、新たな暗号システムに関連する秘密鍵を用いてハンドシェイクチャレンジに署名できるのに対し、他のアプリケーションは、古い暗号システムに関連する秘密鍵を用いてハンドシェイクチャレンジに署名し続ける。アップグレードされたVPNアプリケーションは、各々が古い暗号システム用と新たな暗号システム用の2つの公開鍵を含むデジタル証明書を使用することができる。例えば、アップグレードされたVPNアプリケーションは、
図5に示すデジタル証明書例502又は別のデジタル証明書を使用することができる。いくつかの例では、新たな暗号システムに関連する公開鍵は、アップグレードされたアプリケーションのデジタル証明書の拡張領域に挿入されるのに対し、古い暗号システムに関連する公開鍵及び証明書署名は、基本公開鍵及び署名値フィールド内にそれぞれ存在する。アップグレードされたアプリケーションのデジタル証明書を要求するには、例えば
図5に関連して説明するような証明書署名要求(CSR)を作成することができる。
【0044】
いくつかの実装では、段階1アップグレード222の後に、認証局が新たな暗号システムに関連する公開鍵を認識していなくてもよく、これを許容できる理由は、例えばPKIのセキュリティが、段階2アップグレード224までは依然として古い暗号システムに関連する公開鍵に依拠しているからである。
【0045】
図2Bに示すように、公開鍵基盤に段階2アップグレード224が適用される。
図2Aに示す例では、段階2アップグレード224が公開鍵基盤201に適用される。
図2Bに示すように、段階2アップグレード224を適用すると、エンティティ証明書及びCA証明書は、新旧の暗号システムのための認証局署名を含み、アップグレードされたアプリケーション(すなわち、段階1アップグレード222においてアップグレードされたアプリケーション)は、新たな暗号システムを用いて識別及び認証を行う。他のアプリケーション(すなわち、段階1アップグレード222においてアップグレードされなかったアプリケーション)は、識別及び認証に古い暗号システムを使用し続ける。
【0046】
いくつかの実装では、段階2アップグレード224後に、依存プロトコル(relying protocols)が全ての利用可能な暗号鍵及びデジタル署名を使用することができる。いくつかの例では、認証プロセスについては依存プロトコルを修正せずに実行することができ、識別プロセスについてはプロトコル修正が必要となり得る。いくつかの例では、認証プロセスについてもプロトコル修正が必要となり得る。
【0047】
(VPNアプリケーションに段階1アップグレード222を適用する)上記の例を続けると、企業システムに段階2アップグレード224を適用した場合、公開鍵基盤は企業システム全体を通じて(例えば、全企業ノード上で)アップグレードされるのに対し、いくつかの個々のアプリケーション(例えば、セキュアウェブブラウザアプリケーション)はアップグレードされない。段階2アップグレード224後、VPNアプリケーションは、(例えば、クライアントとサーバとの間の)ハンドシェイクチャレンジ及び証明書チェーンの検証に新たな(例えば、耐量子)暗号システムを使用することができる。いくつかの例では、アップグレードされたVPNアプリケーションは、新たな暗号システムに関連する認証局署名を用いて証明書チェーンを検証できるのに対し、他のアプリケーションは、古い暗号システムに関連する認証局署名を用いて証明書チェーンを検証し続ける。段階2アップグレード224後、アップグレードされたVPNアプリケーションは、各々が古い暗号システム用と新しい暗号システム用の2つの公開鍵と2つの認証局署名とを含むデジタル証明書を使用することができる。例えば、アップグレードされたVPNアプリケーションは、
図9に示すデジタル証明書例902又は別のデジタル証明書を使用することができる。いくつかの例では、新たな暗号システムに関連する公開鍵及び認証局署名は、いずれもアップグレードされたアプリケーションのデジタル証明書の拡張領域に挿入されるのに対し、古い暗号システムに関連する公開鍵及び証明書署名は、基本公開鍵及び署名値フィールド内にそれぞれ存在する。
【0048】
PKIのアップグレード後に、アップグレードされたアプリケーションのデジタル証明書を要求するには、例えば
図9に関連して説明する証明書署名要求例に従って証明書署名要求(CSR)を生成することができる。段階2アップグレード224後、認証局は、新たな暗号システムのためのプロトコルを実行することができる。従って、エンドエンティティは、証明書の要求時に、新旧の暗号システムに関連するデジタル署名を提供する。その後、認証局は、エンドエンティティが新旧両方の暗号システムに関連する公開鍵を所有していることを検証することができる。
【0049】
いくつかの実装では、PKIのアップグレード後に、認証局が、証明書署名要求(CSR)に応答して、アップグレードされたアプリケーションのデジタル証明書を作成する。いくつかの例では、認証局が、まず新たな暗号システムの秘密鍵を用いてデジタル証明書に署名してこれをプライベート拡張領域に配置し、次に古い暗号システムの秘密鍵を用いてデジタル証明書に署名してこれを基本署名値フィールドに配置する。このような例では、署名階層化の順序により、(段階1アップグレード222において)アップグレードされていなかったアプリケーションが(段階2アップグレード224の)PKIアップグレード前のように動作し続けて証明書署名を検証できることを確実にすることができる。例えば、アップグレードされなかったアプリケーションは、証明書署名を検証するために証明書ハッシュを計算する際に全ての拡張領域を含めて証明書全体をハッシュ計算するのに対し、アップグレードされたアプリケーションは、証明書ハッシュを計算する際に基本署名値フィールドを除外してから、新たな暗号システムに関連する認証局署名を検証することができる。
【0050】
図2Bに示すように、段階1アップグレード222中にアップグレードされなかった残りのアプリケーションには、段階3アップグレード226が適用される。
図2Aに示す例では、他のアプリケーション202、204は既に段階1アップグレード222中にアップグレードされているので、アプリケーション206に段階3アップグレード226が適用される。
図2Bに示すように、段階3アップグレード226を適用すると、エンティティ証明書及びCA証明書は、全てが新たな暗号システムに合わせて構成され、全てのアプリケーションが新たな暗号システムを用いて識別及び認証を行う。
【0051】
いくつかの実装では、企業システムにおいて段階3アップグレード226を適用した後には、もはや企業システムにハイブリッド証明書は必要でなくなる。新たな暗号システムに関連するデータオブジェクト(例えば、公開鍵及び認証局署名)をデジタル証明書の基本公開鍵フィールド及び署名値フィールドに配置して、プライベート拡張領域は省略又は無視することができる。ハイブリッド証明書が置換されたら、セキュリティポリシーを用いて企業システム内のハイブリッド証明書サポートをオフにすることができる。
【0052】
いくつかの実装では、企業システムにおいて段階3アップグレード226を適用した後に、新たな暗号システムに関連する公開鍵及び署名がデジタル証明書のプライベート拡張領域に残る。いくつかの実装では、企業システムにおいて段階3アップグレード226を適用した後に、古い暗号システムに関連する公開鍵及び署名がデジタル証明書のプライベート拡張領域に移される。古い暗号システムに関連する公開鍵及び署名の保持は、例えばS/MIMEを使用するセキュア電子メールアプリケーションの場合に有用となり得る。例えば、失効していないエンティティ証明書については、そのエンティティが署名したメッセージを証明書の失効まで認証するように意図することができる。新たな公開鍵でユーザ証明書を再発行する場合には、合致する(古い)秘密鍵によって署名されたユーザメッセージを引き続き認証できるように古い公開鍵も含めることができる。このような場合、古い公開鍵は、その元々の有効期限に関連することができる。
【0053】
いくつかの実装では、移行プロセス例220が、エンドエンティティ及び認証局が異なるデジタル署名アルゴリズムを使用するシナリオに対応することができる。例えば、認証局が(例えば、Leighton Micali Signatures又はXMSSなどの)ハッシュベースのデジタル署名アルゴリズムを用いてデジタル証明書に署名する一方で、エンドエンティティは別のタイプのデジタル署名アルゴリズムを用いてメッセージに署名することができる。
【0054】
いくつかの実装では、公開鍵基盤201がX.509証明書を使用し、このX.509証明書のプライベート拡張領域に、新たな暗号システムに関連するデータオブジェクト(例えば、公開鍵及び認証局署名)が挿入される。このような場合、アップグレードに気付いてないシステムコンポーネントはプライベート拡張領域を無視することができ、従って新たな暗号システムに関連するデータオブジェクトがこのようなシステムコンポーネントに影響を与えることはない。
【0055】
図3は、複数の暗号システムのデジタル証明書を発行するプロセス例300を示すフロー図である。プロセス例300は、例えばネットワークを介して情報を交換できるコンピュータシステムによって実行することができる。例えば、
図1に示す通信システム例100又は別のタイプのシステムでは、プロセス300の動作をエンティティノードのいずれか(102又は104)、及び認証局ノードのいずれか(112又は114)が実行することができる。
【0056】
図3に示すプロセス例300は、エンティティ302によって実行される動作と、認証局304によって実行される動作とを含む。図示の例では、エンティティ302及び認証局304が、公開鍵基盤(PKI)内の2つの異なるエンティティを表す。認証局304は、例えばルート認証局又は下位の認証局とすることができる。エンティティ302は、下位の認証局、又はPKI内の他のいずれかのタイプのエンティティ(例えば、ユーザ、ユーザアカウント、装置又は機械、ソフトウェアモジュール又はその他のタイプのエンティティ)とすることができる。
図3に示す例では、認証局304がエンティティ302にデジタル証明書を発行する。プロセス300において発行されるデジタル証明書は、例えばエンドエンティティ証明書又はCA証明書とすることができる。
【0057】
いくつかの実装では、プロセス例300を用いて、第1の暗号システムのためのデータオブジェクト(例えば、公開鍵、認証局署名など)と、第2の異なる暗号システムのためのデータオブジェクト(例えば、公開鍵、認証局署名など)とを含むデジタル証明書を発行する。例えば、プロセス例300を用いて、
図5、
図6、
図7、
図8、
図9又は
図10に示すデジタル証明書又は別のタイプのデジタル証明書のうちの1つ又は2つ以上を発行することができる。プロセス例300において発行されるデジタル証明書は、第1の暗号システムと第2の暗号システムとの間の1又は2以上の移行段階中に使用されるハイブリッドデジタル証明書とすることができる。例えば、プロセス例300において発行されるデジタル証明書は、段階1アップグレード222、段階2アップグレード224又は別のタイプの移行段階後に、
図2Aに示すシステムコンポーネント例のうちの1つ又は2つ以上が使用することができる。いくつかの例では、第1の暗号システムが量子脆弱暗号システムであり、第2の暗号システムが耐量子暗号システムである。
【0058】
プロセス例300は、さらなる又は異なるエンティティによって実行される動作を含むさらなる又は異なる動作を含むことができ、これらの動作は、図示の順序又は別の順序で実行することができる。いくつかの例では、
図3に示す動作のうちの1つ又は2つ以上が、複数の動作、サブプロセス又は他のタイプのルーチンを含むプロセスとして実装される。いくつかの例では、動作を組み合わせ、並行して実行し、反復又は別様に繰り返し、或いは別の形で実行することもできる。
【0059】
いくつかの例では、プロセス300の1又は2以上の態様が、例えば
図1に示す量子対応の敵対者108などの量子対応の敵対者に対して安全である。例えば、いくつかの例では、プロセス例300が、エンティティ302と認証局304との間で交換される公開情報にアクセスできる量子対応の敵対者が実行し得る特定のタイプの攻撃又はその他のプロセスに対して安全である。いくつかの例では、プロセス300の1又は2以上の態様が、量子コンピュータ又は他の量子リソースにアクセスできない旧式対応の敵対者に対して安全である。
【0060】
310において、エンティティ302が、第1の暗号システムに関連する第1の鍵対(第1の秘密鍵及び第1の公開鍵)を取得する。312において、エンティティ302は、第2の暗号システムに関連する第2の鍵対(第2の秘密鍵及び第2の公開鍵)を取得する。一例として、エンティティ302は、310においてECCベースの暗号システムに関連する鍵対を取得することができ、312において格子ベースの暗号システムに関連する鍵対を取得することができる。これらの鍵対は、例えばメモリ又は遠隔装置から読み出すことによって、或いは鍵導出プロトコル又は別のタイプのプロセスを実行することによって取得することができる。
【0061】
314において、エンティティ302が証明書要求のフィールドに挿入を行う。証明書要求は、例えば証明書署名要求(CSR)又は別のタイプの証明書要求とすることができる。例えば、エンティティ302は、
図5、
図7又は
図9に示すタイプのCSR又は別のタイプのCSRを生成することができる。いくつかの例では、証明書要求が、第1の暗号システムに関連する第1の公開鍵と、第2の暗号システムに関連する第2の公開鍵とを含む。第1の公開鍵は、証明書要求の公開鍵フィールドに含めることができ、第2の公開鍵は、証明書要求の拡張領域に含めることができる。公開鍵は、別の形で証明書要求に含めることもできる。いくつかの例では、証明書要求が、第2の暗号システムに関連する第2の公開鍵を含まない。
【0062】
316において、エンティティ302が証明書要求に署名する。いくつかの実装では、例えば
図5又は
図7に示すように単一のデジタル署名が証明書要求に適用される。例えば、エンティティ302は、第1の暗号システムに関連する第1の公開鍵及びデジタル署名アルゴリズムを用いて証明書要求署名を生成することができる。いくつかの実装では、例えば
図9に示すように複数のデジタル署名が証明書要求に適用される。例えば、エンティティ302は、第2の暗号システムに関連する第2の公開鍵及びデジタル署名アルゴリズムを用いて第2の証明書要求署名を生成することができる。いくつかの例では、第1のデジタル署名を適用する前に第2のデジタル署名を適用することができる。
【0063】
318において、エンティティ302が証明書要求を認証局304に送信し、320において、認証局304がエンティティ302から証明書要求を受け取る。
図3に示す例では、エンティティ302が直接認証局304に情報を送信することができ、或いはエンティティ302は、例えばサーバを通じて間接的に送信を開始することもできる。情報の全部又は一部は、公開チャネルを介して送信することができ、量子対応の敵対者又は別のタイプの敵対者はこれを観察することができる。
【0064】
322において、認証局304は、証明書要求上の1又は2以上の署名を検証する。証明書要求が単一の証明書要求署名を含む場合、認証局304は、エンティティ302の第1の公開鍵と、第1の暗号システムに関連するデジタル署名アルゴリズムとを用いて証明書要求署名を検証することができる。証明書要求が第2の証明書要求署名も含む場合、認証局304は、エンティティの第2の公開鍵と、第2の暗号システムに関連するデジタル署名アルゴリズムとを用いて第2の証明書要求署名を検証することができる。
【0065】
324において、認証局304がデジタル証明書のフィールドに挿入を行う。例えば、認証局304は、
図5、
図7又は
図9に示すタイプのデジタル証明書、又は別のタイプのデジタル証明書を生成することができる。いくつかの例では、例えば証明書要求又はその他のデータオブジェクトに基づいて予め挿入された1又は2以上のフィールドを含むデジタル証明書が生成される。1又は2以上の未挿入のフィールドを含むデジタル証明書を生成し、後で認証局304がデジタル証明書のフィールドに挿入を行うこともできる。いくつかの例では、デジタル証明書が、第1の暗号システムに関連する第1の公開鍵と、第2の暗号システムに関連する第2の公開鍵とを含む。認証局304は、デジタル証明書の公開鍵フィールドにエンティティの第1の公開鍵を挿入し、デジタル証明書の拡張領域にエンティティの第2の公開鍵を挿入することができる。公開鍵は、別の形でデジタル証明書に含めることもできる。
【0066】
326において、認証局304がデジタル証明書に署名する。いくつかの実装では、例えば
図5に示すように単一のデジタル署名がデジタル証明書に適用される。例えば、認証局304は、第1の暗号システムに関連する第1の認証局秘密鍵を用いてデジタル署名を生成することができる。いくつかの実装では、例えば
図7又は
図9に示すように複数のデジタル署名がデジタル証明書に適用される。例えば、認証局304は、第2の暗号システムに関連する第2の認証局秘密鍵を用いて(例えば、第1の認証局秘密鍵を用いて第1のデジタル署名を適用する前に)第2のデジタル署名を生成することができる。第1のデジタル署名はデジタル証明書の署名値フィールドに含めることができ、第2のデジタル署名はデジタル証明書の拡張領域に含めることができる。
【0067】
いくつかの実装では、326において、認証局304が第1の認証局秘密鍵を用いて第1のデジタル署名を生成し、この第1のデジタル署名は、公開鍵フィールドに第1の公開鍵を、拡張領域に第2の公開鍵を有するバージョンのデジタル証明書から生成される。第1のデジタル署名は、(例えば、
図5に示す例における)第2のデジタル署名を含まないバージョンのデジタル証明書から生成することもできる。次に、認証局304は、デジタル証明書の署名値フィールドに第1のデジタル署名を挿入することができる。
【0068】
いくつかの実装では、326において、認証局304が、第2の認証局秘密鍵を用いて第2のデジタル署名を生成し、この第2のデジタル署名は、公開鍵フィールドに第1の公開鍵を有するバージョンのデジタル証明書から生成される。第2のデジタル署名は、(例えば、
図7に示す例における)第2の公開鍵も第1のデジタル署名も含まないバージョンのデジタル証明書から生成することができる。次に、認証局304は、デジタル証明書の拡張領域に第2のデジタル署名を挿入し、第1の認証局秘密鍵を用いて第1のデジタル署名を生成することができる。この場合、第1のデジタル署名は、公開鍵フィールドに第1の公開鍵を、拡張領域に第2のデジタル署名を有するバージョンのデジタル証明書から生成され、その後、認証局304は、デジタル証明書の署名値フィールドに第1のデジタル署名を挿入することができる。
【0069】
いくつかの実装では、326において、認証局304が、第2の認証局秘密鍵を用いて第2のデジタル署名を生成し、この第2のデジタル署名は、公開鍵フィールドに第1の公開鍵を、拡張領域に第2の公開鍵を有するバージョンのデジタル証明書から生成される。次に、認証局304は、デジタル証明書の拡張領域に第2のデジタル署名を挿入し、第1の認証局秘密鍵を用いて第1のデジタル署名を生成することができる。この場合、第1のデジタル署名は、(例えば、
図9に示す例における)公開鍵フィールドに第1の公開鍵を、拡張領域に第2の公開鍵と第2のデジタル署名とを有するバージョンのデジタル証明書から生成される。その後、認証局304は、デジタル証明書の署名値フィールドに第1のデジタル署名を挿入することができる。
【0070】
328において、認証局304がデジタル証明書をエンティティ302に送信し、330において、エンティティ302が認証局304からデジタル証明書を受け取る。332において、エンティティ302がデジタル証明書を使用する。例えば、エンティティ302は、
図4に示す認定エンティティ402として、又は別の形でデジタル証明書を使用することができる。
【0071】
図4は、複数の暗号システムと共にデジタル証明書を使用するプロセス例400を示すフロー図である。プロセス例400は、例えばネットワークを介して情報を交換できるコンピュータシステムによって実行することができる。例えば、プロセス400の動作は、
図1に示す通信システム例100又は別のタイプのシステム内のいずれかのノード(例えば、エンティティノード102、104)が実行することができる。
【0072】
図4に示すプロセス例400は、認定エンティティ402によって実行される動作と、依存エンティティ404によって実行される動作とを含む。図示の例では、認定エンティティ402及び依存エンティティ404が、公開鍵基盤(PKI)内の2つの異なるエンティティを表し、これらはPKIにおけるいずれかのタイプのエンティティ(例えば、ユーザ、ユーザアカウント、装置又は機械、ソフトウェアモジュール又はその他のタイプのエンティティ)とすることができる。例えば、依存エンティティ404はサーバとすることができ、認定エンティティ402は、サーバによってサービスを提供されるクライアントとすることができ、或いはこの逆とすることもできる。別の例として、認定エンティティ402及び依存エンティティ404をネットワーク内のピアとすることもできる。
【0073】
プロセス例400は、第1の暗号システムのためのデータオブジェクト(例えば、公開鍵、認証局署名など)と、第2の異なる暗号システムのためのデータオブジェクト(例えば、公開鍵、認証局署名など)とを使用する。いくつかの例では、第1の暗号システムが量子脆弱暗号システムであり、第2の暗号システムが耐量子暗号システムである。
図4に示すプロセス400において使用されるデジタル証明書は、例えば
図3に示すプロセス300において発行されるデジタル証明書、
図5、
図6、
図7、
図8、
図9又は
図10に示すデジタル証明書のうちの1つ又は2つ以上、又は別のタイプのデジタル証明書とすることができる。プロセス例400は、例えば第1の暗号システムと第2の暗号システムとの間の1又は2以上の移行段階中(例えば、
図2A及び
図2Bに示す段階1アップグレード222又は段階2アップグレード224の後)に、ハイブリッドデジタル証明書を使用することができる。
【0074】
プロセス例400は、さらなる又は異なるエンティティによって実行される動作を含むさらなる又は異なる動作を含むこともでき、これらの動作は、図示の順序又は別の順序で実行することができる。いくつかの例では、
図4に示す動作のうちの1つ又は2つ以上が、複数の動作、サブプロセス又は他のタイプのルーチンを含むプロセスとして実装される。いくつかの例では、動作を組み合わせ、並行して実行し、反復又は別様に繰り返し、或いは別の形で実行することができる。
【0075】
いくつかの例では、プロセス400の1又は2以上の態様が、例えば
図1に示す量子対応の敵対者108などの量子対応の敵対者に対して安全である。例えば、いくつかの例では、プロセス例400が、認定エンティティ402と依存エンティティ404との間で交換される公開情報にアクセスできる量子対応の敵対者が実行し得る特定のタイプの攻撃又は他のプロセスに対して安全である。いくつかの例では、プロセス400の1又は2以上の態様が、量子コンピュータ又は他の量子リソースにアクセスできない旧式対応の敵対者に対して安全である。
【0076】
408において、認定エンティティ402がデジタル証明書を取得する。例えば、認定エンティティ402は、メモリ又は遠隔装置からデジタル証明書を読み出すことによって、或いは認証局にデジタル証明書を要求することなどによってデジタル証明書を取得することができる。いくつかの例では(例えば、
図9に示す例では)、デジタル証明書の拡張領域が、エンティティの第2の公開鍵と認証局の第2のデジタル署名の両方を含む。いくつかの例では(例えば、
図5に示す例では)、デジタル証明書の拡張領域が、エンティティの第2の公開鍵を含んで認証局の第2のデジタル署名を含まない。いくつかの例では(例えば、
図7に示す例では)、デジタル証明書の拡張領域が、認証局の第2のデジタル署名を含んでエンティティの第2の公開鍵を含まない。
【0077】
認定エンティティ402がデジタル証明書を取得した後に、認定エンティティ402及び依存エンティティ404は、1又は2以上のサブプロセスを実行することができる。
図4に示すように、認定エンティティ402及び依存エンティティ404は、デジタル署名プロセス420又は暗号化プロセス430(又はこれらの両方)を実行する前に認証プロセス410を実行することができる。サブプロセスは、図示の順序で実行することができ、又はいくつかの例では別の順序で実行することができる。いくつかの例では、デジタル署名プロセス420又は暗号化プロセス430(又はこれらの両方)を省略し、又は別の順序で実行することもできる。
図4に示すサブプロセス例では、認定エンティティ402及び依存エンティティ404が互いに直接情報を送信することができ、或いはこれらのエンティティは、例えばサーバを通じて間接的に送信を開始することもできる。情報の全部又は一部は、公開チャネルを介して送信することができ、量子対応の敵対者又は別のタイプの敵対者はこれを観察することができる。
【0078】
認証プロセス例410を用いて、デジタル証明書が有効なエンティティに属することを確認することができる。
図4に示すように、412において、認定エンティティ402が依存エンティティ404にデジタル証明書を送信し、414において、依存エンティティ404が認定エンティティ402からデジタル証明書を受け取る。依存エンティティ404は、認定エンティティ402を認証するために、416においてデジタル証明書を検証する。いくつかの例では、デジタル証明書が、第2の暗号システムに関連する認証局デジタル署名を含む拡張領域を含み、依存エンティティ404は、(例えば、
図8又は
図10に関して適宜説明するように)第2の暗号システムに関連するアルゴリズムを用いてデジタル証明書を検証する。いくつかの例では、依存エンティティ404が、(例えば、
図6に関して説明するように)第1の暗号システムに関連するアルゴリズムを用いてデジタル証明書を検証する。いくつかの実装では、416におけるデジタル証明書の検証が、証明書チェーンの検証、又は他の複数のタイプのチェックを行うことを含む。依存エンティティ404は、416においてデジタル証明書を検証した後、デジタル証明書内のユーザアイデンティティがPKI内の有効なエンティティに属することを確信する。
【0079】
いくつかの実装では、416において、依存エンティティ404が、デジタル証明書の拡張領域に少なくとも部分的に基づいて証明書概要を生成し、この証明書概要と認証局公開鍵とを用いてデジタル証明書を検証する。いくつかの例では、証明書概要と第1の暗号システムの認証局公開鍵とを用いてデジタル証明書が検証される。このような場合、証明書概要は、拡張領域に第2の認証局署名を含むバージョンのデジタル証明書に基づいて生成することができる。いくつかの例では、証明書概要と第2の暗号システムの認証局公開鍵とを用いてデジタル証明書が検証される。このような場合、証明書概要は、第1の認証局署名を含まない(例えば、この署名は、証明書概要の生成前に削除することができる)バージョンのデジタル証明書に基づいて生成することができる。
【0080】
デジタル署名プロセス例420又は暗号化プロセス例430は、認定エンティティ402が実際にデジタル証明書内の検証済みユーザアイデンティティの所有者であることを確認するための識別機構として使用することができる。認定エンティティ402は、依存エンティティ404にこのような確認を提供するために、デジタル証明書内の公開鍵に対応する秘密鍵を所有していることを依存エンティティ404に対して証明する。秘密鍵の所有は、例えばチャレンジ−応答プロトコル又は別のタイプの証明を用いて証明することができる。
【0081】
デジタル署名プロセス420は、認証された通信にデジタル署名アルゴリズムを使用することを含むことができる。いくつかの例では、デジタル署名アルゴリズムが第1の暗号システムに関連し、従って第1の暗号システムに関連する鍵対を使用する。いくつかの例では、デジタル署名アルゴリズムが第2の暗号システムに関連し、従って第2の暗号システムに関連する鍵対を使用する。いくつかの例では、デジタル署名プロセス420が、例えばVPNアプリケーション、セキュアウェブブラウザアプリケーション、セキュアメールアプリケーション、又は別のタイプのアプリケーションなどの1又は2以上のアプリケーションによって実行される。
【0082】
図4に示すように、422において、認定エンティティ402がデジタル署名を生成する。デジタル署名は、デジタル署名アルゴリズムと秘密鍵とを用いてメッセージに基づいて生成することができる。いくつかの例では、デジタル証明書が、第2の暗号システムに関連する公開鍵を含む拡張領域を含み、認定エンティティ402は、(例えば、
図5又は
図9に関して適宜説明するように)第2の暗号システムに関連する秘密鍵を用いてデジタル署名を生成する。いくつかの例では、認定エンティティ402が、(例えば、
図7に関して説明するように)第1の暗号システムに関連する秘密鍵を用いてデジタル署名を生成する。デジタル署名は、ランダム値、チャレンジ値又は別のタイプのデータオブジェクトに基づいて生成することができる。
【0083】
図4に示すように、424において、認定エンティティ402が依存エンティティ404にデジタル証明書を送信し、426において、依存エンティティ404が認定エンティティ402からデジタル証明書を受け取る。428において、依存エンティティ404がデジタル証明書を検証する。428におけるデジタル証明書の検証は、第1の暗号システム又は第2の暗号システムのいずれかに関連するデータオブジェクトを用いて実行することができる。いくつかの例では、デジタル証明書が、第2の暗号システムに関連する公開鍵を含む拡張領域を含み、依存エンティティ404は、(例えば、
図5又は
図9に関して適宜説明するように)第2の暗号システムに関連する公開鍵を用いてデジタル署名を検証する。いくつかの例では、依存エンティティ404が、(例えば、
図7に関して説明するように)第1の暗号システムに関連する公開鍵を用いてデジタル署名を検証する。
【0084】
暗号化プロセス430は、暗号化アルゴリズムを機密通信に使用することを含むことができる。いくつかの例では、暗号化アルゴリズムが第1の暗号システムに関連し、従って第1の暗号システムに関連する鍵対を使用する。いくつかの例では、暗号化プロセス430を、例えばウェブブラウジング用途、電子メール用途、ボイスオーバIP(VoIP)用途、又は別のタイプのインターネット用途で、トランスポート層セキュリティ(TLS)プロトコル内で使用することができる。いくつかの例では、暗号化プロセス430を別のタイプのアプリケーション又はシステムにおいて使用することができる。
【0085】
いくつかの例では、暗号化アルゴリズムが第2の暗号システムに関連し、従って第2の暗号システムに関連する鍵対を使用する。いくつかの例では、暗号化プロセス430が、例えばVPNアプリケーション、セキュアウェブブラウザアプリケーション、セキュアメールアプリケーション、又は別のタイプのアプリケーションなどの1又は2以上のアプリケーションによって実行される。
【0086】
図4に示す例では、432において、依存エンティティ404がメッセージを暗号化する。暗号化メッセージは、暗号化アルゴリズムと公開鍵とを用いて生成することができる。いくつかの例では、依存エンティティ404が、メッセージを対称鍵で暗号化し、対称鍵を公開鍵で暗号化することができる。いくつかの例では、依存エンティティ404が、第2の暗号システムに関連する公開鍵を用いて暗号化メッセージを生成する。いくつかの例では、依存エンティティ404が、第1の暗号システムに関連する公開鍵を用いて暗号化メッセージを生成する。
【0087】
図4に示すように、434において、依存エンティティ404が認定エンティティ402に暗号化メッセージを送信し、436において、認定エンティティ402が依存エンティティ404から暗号化メッセージを受け取る。438において、認定エンティティ402が秘密鍵を用いてメッセージを復号する。いくつかの例では、認定エンティティ402が、対称鍵を秘密鍵で復号した後に、対称鍵でメッセージを復号することができる。依存エンティティ404が認定エンティティ402の第1の公開鍵を用いてメッセージを暗号化した場合、認定エンティティ402は、第1の暗号システムに関連する秘密鍵を用いてメッセージを復号する。依存エンティティ404が認定エンティティ402の第2の公開鍵を用いてメッセージを暗号化した場合、認定エンティティ402は、第2の暗号システムに関連する秘密鍵を用いてメッセージを復号する。
【0088】
デジタル署名プロセス420及び暗号化プロセス430は、様々な暗号鍵又は共有秘密鍵を使用することができる。いくつかの例では、デジタル証明書からの認定エンティティの(第1の暗号システム又は第2の暗号システムに関連する)長期公開鍵を用いて、428において署名を検証し、又は432においてメッセージを暗号化し、認定エンティティの対応する長期秘密鍵を用いて、422において署名を生成し、又は438においてメッセージを復号する。いくつかの例では、(短期秘密鍵及び短期公開鍵を含む)短期鍵対を導出し、デジタル署名プロセス420又は暗号化プロセス430において使用することができる。いくつかの例では、暗号化プロセス430において対称鍵を生成して使用することができる。
【0089】
いくつかの例では、デジタル署名プロセス420において署名される、又は暗号化プロセス430において暗号化されるメッセージが、ソフトウェアアプリケーションによって読み込み、編集、レンダリング、操作又は別様に処理することができる電子メールメッセージ、電子文書又は電子ファイルである。いくつかの例では、このメッセージが、例えば他のメッセージの暗号ハッシュ又は別のタイプの概要などの、別のメッセージの概要である。いくつかの例では、このメッセージが、ハードウェアによって読み込み、編集、レンダリング、操作又は別様に処理することができるデータパケット又はデータオブジェクトである。例えば、このメッセージは、ハードウェア又はファームウェアに実装されたシグナリングシステムによって処理することができる。例えば、このメッセージは、チャレンジ値、ランダム値、電子メール、短期鍵、対称セッション鍵、プリマスタシークレット、又は別のタイプのメッセージとすることができる。
【0090】
図5は、認証局が証明書署名要求(CSR)に基づいて生成するデジタル証明書例502を示すブロック図である。
図5に示すデジタル証明書例502は、別の(例えば、量子脆弱)暗号システムの公開鍵に加えて、耐量子暗号システムの公開鍵を含む。
【0091】
デジタル証明書502は、第1の暗号システム(例えば、量子脆弱暗号システム)に関連する第1の公開鍵516と、第2の異なる暗号システムに関連する第2の公開鍵520とを含む証明書要求に基づいて生成される。図示の例では、第2の暗号システムが耐量子(QR)暗号システムである。証明書要求は、基本フィールドと拡張領域とを含むことができる。証明書要求の基本フィールドは、主体者フィールドに主体者情報(例えば、ユーザアイデンティティ)を、発行者フィールドに発行者情報(例えば、認証局アイデンティティ)を、有効期間フィールドに有効期間情報を、及び公開鍵フィールドに第1の公開鍵516を含むことができる。証明書要求の拡張領域は、第2の(QR)公開鍵520を含むことができる。証明書要求を生成するエンティティは、第1の暗号システムを用いて証明書要求に署名することができる。例えば、第1の公開鍵516に関連する秘密鍵を用いて、証明書要求に適用されるデジタル署名を生成することができる。
【0092】
図5に示すデジタル証明書502は、第1の暗号システム(例えば、量子脆弱暗号システム)に関連する第1の公開鍵516と、第2の異なる暗号システムに関連する第2の公開鍵520とを含むデジタル証明書の例である。図示の例では、第2の暗号システムが耐量子(QR)暗号システムである。
【0093】
図5に示すように、デジタル証明書502は、基本フィールド504と拡張領域506とを含む。基本フィールド504は、主体者フィールドに主体者情報510(例えば、ユーザアイデンティティ)を、発行者フィールドに発行者情報512(例えば、認証局アイデンティティ)を、有効期間フィールドに有効期間情報514を、公開鍵フィールドに第1の公開鍵516を、及び署名値フィールドに認証局署名530を含む。拡張領域506は、証明書要求からの第2の(QR)公開鍵520を含む。デジタル証明書502は、さらなる又は異なるフィールド、拡張領域又はその他の情報を含むこともできる。
【0094】
図5に示すデジタル証明書例502は、認証局が証明書要求例に応答して生成する。
図5の左側に示すように、認証局は、公開鍵フィールドに第1の公開鍵516を、拡張領域に第2の公開鍵520を含むバージョンのデジタル証明書502に基づいて認証局署名530を生成する。その後、
図5の右側に示すように、デジタル証明書502の署名値フィールドに認証局署名530を挿入する。
【0095】
いくつかの例では、デジタル証明書502が、要求者及び発行者によって実行される証明書要求及び作成プロセスにおいて生成され、いくつかの例では、このプロセスが以下のように進行することができる。要求者は、第1の公開鍵516及び関連する第1の秘密鍵を含む、第1の暗号システムに関連する第1の鍵対を生成する。要求者は、QR公開鍵520及び関連するQR秘密鍵を含む、第2の(耐量子)暗号システムに関連する第2の(QR)鍵対を生成する。要求者は、証明書署名要求(CSR)の拡張領域にQR公開鍵520を挿入する。要求者は、CSRの基本フィールドの公開鍵フィールドに第1の公開鍵516を挿入する。要求者は、CSRの他の標準的な基本フィールド及び拡張領域に挿入を行う。要求者は、挿入済みのCSRに基づいて、要求者の第1の秘密鍵を用いてデジタル署名を生成する。要求者は、署名済みCSRを発行者に送信する。発行者は、要求者から署名済みCSRを受け取って要求者を調べる。発行者は、要求者のデジタル署名を検証して、要求者が第1の公開鍵516に合致する秘密鍵を所有していることを確認する。発行者は、CSRの他の全ての属性を検証して更新を適用することができる。発行者は、公開鍵フィールドに第1の公開鍵516を挿入し、拡張領域506にQR公開鍵520を挿入することを含め、デジタル証明書502の1又は2以上のフィールドに挿入を行う。次に、発行者は、第1の暗号システムに関連する認証局秘密鍵を用いて、デジタル証明書502に基づいて認証局署名530を生成する。発行者は、基本フィールド504の署名値フィールドに認証局署名530を挿入する。いくつかの例では、証明書要求及び作成プロセスがさらなる又は異なるステップを含むことも、或いは別の形で進行することもできる。
【0096】
いくつかの例では、デジタル証明書502、又はデジタル証明書502からの情報が、例えば
図4に示すデジタル署名プロセス420などのデジタル署名プロセスにおいて使用される。
図5に示すデジタル証明書例502が、証明書所有者と別のエンティティとの間のデジタル署名プロセスの基礎である場合、いくつかの例では、識別プロセスが以下のように進行することができる。証明書所有者は、デジタル証明書502内の2つの公開鍵の一方に関連する証明書所有者の秘密鍵でメッセージに署名する。次に、結果として得られたデジタル署名が他方のエンティティに送信され、他方のエンティティは、適切な公開鍵(第1の公開鍵516又はQR公開鍵520のいずれか)を用いてデジタル署名を検証する。いくつかの例では、デジタル署名が、証明書所有者によって第2の(耐量子)暗号システム及びQR公開鍵520に関連する証明書所有者のQR秘密鍵を用いて生成され、このような場合、他方のエンティティは、QR公開鍵520を用いてデジタル署名を検証する。いくつかの例では、デジタル署名が、第1の暗号システム及び第1の公開鍵516に関連する証明書所有者の第1の秘密鍵を用いて生成され、このような場合、他方のエンティティは、第1の公開鍵516を用いてデジタル署名を検証する。いくつかの例では、デジタル証明書502、又はデジタル証明書502からの情報を用いて、別のタイプのデジタル署名プロセスを実行することもできる。
【0097】
いくつかの例では、デジタル証明書502、又はデジタル証明書502からの情報が、例えば
図4に示す暗号化プロセス430などの暗号化プロセスにおいて使用される。
図5に示すデジタル証明書例502が暗号化プロセスの基礎である場合、プロセスは以下のように進行することができる。暗号化を行うエンティティは、デジタル証明書502内の2つの公開鍵の一方を用いてメッセージを暗号化する。次に、この暗号化メッセージが証明書所有者に送信され、証明書所有者が、(第1の公開鍵516又はQR公開鍵520のいずれかに関連する)適切な秘密鍵を用いてメッセージを復号する。いくつかの例では、メッセージがQR公開鍵520を用いて暗号化され、第2の(耐量子)暗号システムに関連する、証明書所有者の関連するQR秘密鍵を用いて復号される。いくつかの例では、メッセージが第1の公開鍵516を用いて暗号化され、第1の暗号システムに関連する、証明書所有者の関連する第1の秘密鍵を用いて復号される。いくつかの例では、暗号化を行うエンティティが、メッセージを対称鍵で暗号化した後に一方の公開鍵で対称鍵を暗号化し、この場合、証明書所有者は、秘密鍵で対称鍵を復号し、この対称鍵でメッセージを復号することができる。いくつかの例では、デジタル証明書502、又はデジタル証明書502からの情報を用いて、別のタイプの暗号化プロセスを実行することもできる。
【0098】
図6は、別の(例えば、量子脆弱)暗号システムの公開鍵に加えて、耐量子暗号システムの公開鍵を含むデジタル証明書を伴う証明書チェーン例600を示すブロック図である。
図6に示す証明書チェーン例600は、ルートCA証明書602、中間CA証明書604、及びエンドエンティティ証明書606という3つのデジタル証明書を含む。エンドエンティティ証明書606は、
図5に示すデジタル証明書例502として作成してフォーマットできるデジタル証明書の例である。いくつかの例では、
図6に示すデジタル証明書のうちの1つ又は2つ以上を別の形で作成してフォーマットすることもできる。
図6に示す例では、ルートCA証明書602が、ルート認証局の独自の公開鍵を用いて検証できる自己署名証明書であり、中間CA証明書604及びエンドエンティティ証明書606が、適切な認証局公開鍵を用いて検証できるCA署名証明書である。
【0099】
図6に示す例では、ルートCA証明書602がルート認証局に属する。ルート認証局は、第1の暗号システムに関連する第1の鍵対を有する。第1の鍵対は、第1の認証局秘密鍵620と第1の認証局公開鍵614とを含む。ルートCA証明書例602は、発行者情報610(ルートCAのアイデンティティ)と、主体者情報612(ルートCAのアイデンティティ)と、第1の認証局公開鍵614と、第1の暗号システムに関連する第1の認証局署名616と、拡張領域618とを含む。
図6に示すように、第1の認証局秘密鍵620を用いて第1の認証局署名616を生成する。ルートCA証明書602は、さらなる又は異なる情報を含むこともできる。
【0100】
図6に示す例では、中間CA証明書604が中間認証局に属する。中間認証局は、第1の暗号システムに関連する第2の鍵対を有する。第2の鍵対は、第2の認証局秘密鍵640と、第2の認証局公開鍵634とを含む。中間CA証明書例604は、発行者情報630(ルートCAのアイデンティティ)と、主体者情報632(中間CAのアイデンティティ)と、第2の認証局公開鍵634と、第1の暗号システムに関連する第2の認証局署名636と、拡張領域638とを含む。
図6に示すように、第1の認証局秘密鍵620を用いて第2の認証局署名636を生成する。中間CA証明書604は、さらなる又は異なる情報を含むこともできる。
【0101】
図6に示す例では、エンドエンティティ証明書606がSSLサーバエンティティに属する。SSLサーバエンティティは、第1の暗号システムに関連する第3の鍵対と、第2の(耐量子)暗号システムに関連する第4の鍵対とを有する。第3の鍵対は、第1のエンティティ秘密鍵660と、第1のエンティティ公開鍵654とを含む。第4の鍵対は、第2の(QR)エンティティ秘密鍵661と、第2の(QR)エンティティ公開鍵658とを含む。
【0102】
エンドエンティティ証明書例606は、発行者情報650(中間CAのアイデンティティ)と、主体者情報652(SSLサーバエンティティのアイデンティティ)と、第1のエンティティ公開鍵654と、第1の暗号システムに関連する第3の認証局署名656と、第2の(QR)エンティティ公開鍵658とを含む。
図6に示すように、第2の認証局秘密鍵640を用いて第3の認証局署名656を生成する。エンドエンティティ証明書606は、さらなる又は異なる情報を含むこともできる。
【0103】
図6に示す例では、ルートCA証明書602が、ルート認証局の独自の公開鍵を用いて検証できる自己署名証明書であり、中間CA証明書604及びエンドエンティティ証明書606が、適切な認証局公開鍵を用いて検証できるCA署名証明書である。
【0104】
いくつかの例では、エンドエンティティ証明書606、又はエンドエンティティ証明書606からの情報が、例えば
図4に示す認証プロセス例410などの認証プロセスにおいて使用される。
図6に示すエンドエンティティ証明書例606が認証プロセスの基礎である場合、認証プロセスは、第1の暗号システムを用いて以下のように進行することができる。依存エンティティは、エンドエンティティ証明書606内の発行者情報650と、中間CA証明書604内の主体者情報632とを照合する。次に、依存エンティティは、エンドエンティティ証明書606内の第3の認証局署名656を除く一部又は全部の情報の証明書概要を作成する。次に、依存エンティティは、中間CA証明書604からの第2の認証局公開鍵634を用いて、第3の認証局署名656を概要に照らして検証する。次に、依存エンティティは、以下と同様の方法で中間CA証明書604を検証することができる。依存エンティティは、中間CA証明書604内の発行者情報630と、ルートCA証明書602内の主体者情報612とを照合する。次に、依存エンティティは、中間CA証明書604内の第2の認証局署名636を除く一部又は全部の情報の証明書概要を作成する。次に、依存エンティティは、ルートCA証明書602からの第1の認証局公開鍵614を用いて、第2の認証局署名636を概要に照らして検証する。いくつかの例では、ルートCA証明書602を明確に信頼することができ、従って依存エンティティが検証する必要はない。いくつかの例では、ルートCA証明書602からの第1の認証局公開鍵614を用いてルートCA証明書602を検証することができる。いくつかの例では、エンドエンティティ証明書606、又はエンドエンティティ証明書606からの情報を用いて、別のタイプの認証プロセスを実行することもできる。
【0105】
図7は、認証局が証明書署名要求(CSR)に基づいて生成するデジタル証明書例702を示すブロック図である。
図7に示すデジタル証明書例702は、別の(例えば、量子脆弱)暗号システムのための認証局署名に加えて、耐量子暗号システムのための認証局署名を含む。
【0106】
デジタル証明書702は、第1の暗号システム(例えば、量子脆弱暗号システム)に関連する公開鍵516を含む証明書要求に基づいて生成される。証明書要求は、基本フィールドと拡張領域とを含むことができる。証明書要求の基本フィールドは、主体者フィールドに主体者情報(例えば、ユーザアイデンティティ)を、発行者フィールドに発行者情報(例えば、認証局アイデンティティ)を、有効期間フィールドに有効期間情報を、及び公開鍵フィールドに公開鍵716を含むことができる。証明書要求を生成するエンティティは、第1の暗号システムを用いて証明書要求に署名することができる。例えば、公開鍵716に関連する秘密鍵を用いて、証明書要求に適用されるデジタル署名を生成することができる。
【0107】
図7に示すデジタル証明書702は、第1の暗号システム(例えば、量子脆弱暗号システム)に関連する第1の認証局署名740と、第2の異なる暗号システムに関連する第2の認証局署名730とを含むデジタル証明書の例である。
図7に示す例では、公開鍵716及び関連する秘密鍵が第1の暗号システムに関連し、第2の暗号システムは耐量子(QR)暗号システムである。
【0108】
図7に示すように、デジタル証明書702は、基本フィールド704と拡張領域706とを含む。基本フィールド704は、主体者フィールドに主体者情報710(例えば、ユーザアイデンティティ)を、発行者フィールドに発行者情報712(例えば、認証局アイデンティティ)を、有効期間フィールドに有効期間情報714を、公開鍵フィールドに公開鍵716を、及び署名値フィールドに第1の認証局署名740を含む。拡張領域706は、第2の認証局署名730を含む。デジタル証明書702は、さらなる又は異なるフィールド、拡張領域又はその他の情報を含むこともできる。
【0109】
図7に示すデジタル証明書例702は、認証局が証明書要求例に応答して生成する。
図7の左側に示すように、第2の(QR)認証局署名730は、第1の認証局署名740の前に生成される。認証局は、公開鍵フィールドに第1の公開鍵716を含むバージョンのデジタル証明書702に基づいて第2の(QR)認証局署名730を生成した後に、デジタル証明書702の拡張領域706に第2の(QR)認証局署名730を挿入する。次に、認証局は、公開鍵フィールドに第1の公開鍵716を、拡張領域706に第2の(QR)認証局署名730を含むバージョンのデジタル証明書702に基づいて第1の認証局署名740を生成した後に、
図7の右側に示すように、デジタル証明書702の署名値フィールドに第1の認証局署名740を挿入する。
【0110】
いくつかの例では、デジタル証明書702が、要求者及び発行者によって実行される証明書要求及び作成プロセスにおいて生成され、いくつかの例では、このプロセスが以下のように進行することができる。要求者は、公開鍵716及び関連する秘密鍵を含む、第1の暗号システムに関連する鍵対を生成する。要求者は、証明書署名要求(CSR)の基本フィールドの公開鍵フィールドに公開鍵716を挿入する。要求者は、CSRの他の標準的な基本フィールド及び拡張領域に挿入を行う。要求者は、挿入済みのCSRに基づいて、要求者の秘密鍵を用いてデジタル署名を生成する。要求者は、署名済みCSRを発行者に送信する。発行者は、署名済みCSRを要求者から受け取って要求者を調べる。発行者は、要求者のデジタル署名を検証して、要求者が公開鍵716に合致する秘密鍵を所有していることを確認する。発行者は、CSRの他の全ての属性を検証して更新を適用することができる。発行者は、公開鍵フィールドに公開鍵716を挿入することを含め、デジタル証明書702の1又は2以上のフィールドに挿入を行う。次に、発行者は、第2の(耐量子)暗号システムに関連する第2の認証局秘密鍵を用いて、デジタル証明書702に基づいて第2の(QR)認証局署名730を生成する。発行者は、拡張領域706に第2の(QR)認証局署名730を挿入する。次に、発行者は、第1の暗号システムに関連する第1の認証局秘密鍵を用いて、デジタル証明書702に基づいて別の署名(第1の認証局署名740)を生成する。発行者は、基本フィールド704の署名値フィールドに第1の認証局署名740を挿入する。いくつかの例では、証明書要求及び作成プロセスがさらなる又は異なるステップを含むことも、或いは別の形で進行することもできる。
【0111】
いくつかの例では、デジタル証明書702、又はデジタル証明書702からの情報が、例えば
図4に示すデジタル署名プロセス例420などのデジタル署名プロセスにおいて使用される。
図7に示すデジタル証明書例702が、証明書所有者と他のエンティティとの間のデジタル署名プロセスの基礎である場合、いくつかの例では、デジタル署名プロセスが以下のように進行することができる。証明書所有者は、デジタル証明書702内の公開鍵716に関連する証明書所有者の秘密鍵でメッセージに署名する。次に、結果として得られたデジタル署名が他方のエンティティに送信され、他方のエンティティは、公開鍵716を用いてデジタル署名を検証する。いくつかの例では、デジタル証明書702、又はデジタル証明書702からの情報を用いて、別のタイプのデジタル署名プロセスを実行することもできる。
【0112】
いくつかの例では、デジタル証明書702、又はデジタル証明書702からの情報が、例えば
図4に示す暗号化プロセス430のような暗号化プロセスにおいて使用される。
図7に示すデジタル証明書例702が暗号化プロセスの基礎である場合、いくつかの例では、プロセスが以下のように進行することができる。暗号化を行うエンティティは、デジタル証明書702からの公開鍵716でメッセージを暗号化する。次に、この暗号化メッセージが証明書所有者に送信され、証明書所有者が、公開鍵716に関連する秘密鍵を用いてメッセージを復号する。いくつかの例では、デジタル証明書702又はデジタル証明書702からの情報を用いて、別のタイプのセキュア電子メールプロセスを実行することもできる。
【0113】
図8は、別の(例えば、量子脆弱)暗号システムのための認証局署名に加えて、耐量子暗号システムのための認証局署名を含むデジタル証明書を伴う証明書チェーン例800を示すブロック図である。
図8に示す証明書チェーン例800は、ルートCA証明書802、中間CA証明書804、及びエンドエンティティ証明書806という3つのデジタル証明書を含む。中間CA証明書804は、
図9に示すデジタル証明書例902として作成してフォーマットできるデジタル証明書の例である。エンドエンティティ証明書806は、
図7に示すデジタル証明書例702として作成してフォーマットできるデジタル証明書の例である。いくつかの例では、
図8に示すデジタル証明書のうちの1つ又は2つ以上を別の形で作成してフォーマットすることもできる。
図8に示す例では、ルートCA証明書802が、ルート認証局の独自の公開鍵を用いて検証できる自己署名証明書であり、中間CA証明書804及びエンドエンティティ証明書806が、適切な認証局公開鍵を用いて検証できるCA署名証明書である。
【0114】
図8に示す例では、ルートCA証明書802がルート認証局に属する。ルート認証局は、第1の暗号システムに関連する第1の鍵対と、第2の(耐量子)暗号システムに関連する第2の鍵対とを有する。第1の鍵対は、第1の認証局秘密鍵820と第1の認証局公開鍵814とを含む。第2の鍵対は、第2の(QR)認証局秘密鍵821と第2の(QR)認証局公開鍵818とを含む。
【0115】
ルートCA証明書例802は、発行者情報810(ルートCAのアイデンティティ)と、主体者情報812(ルートCAのアイデンティティ)と、第1の認証局公開鍵814と、第1の暗号システムに関連する第1の認証局署名816と、第2の(QR)認証局公開鍵818と、第2の暗号システムに関連する第2の(QR)認証局署名819とを含む。
図8に示すように、第1の認証局秘密鍵820を用いて第1の認証局署名816を生成し、第2の(QR)認証局秘密鍵821を用いて第2の(QR)認証局署名819を生成する。ルートCA証明書802は、さらなる又は異なる情報を含むこともできる。
【0116】
図8に示す例では、中間CA証明書804が中間認証局に属する。中間認証局は、第1の暗号システムに関連する第3の鍵対と、第2の(耐量子)暗号システムに関連する第4の鍵対とを有する。第3の鍵対は、第3の認証局秘密鍵840と、第3の認証局公開鍵834とを含む。第4の鍵対は、第4の(QR)認証局秘密鍵841と、第4の(QR)認証局公開鍵838とを含む。
【0117】
中間CA証明書例804は、発行者情報830(ルートCAのアイデンティティ)と、主体者情報832(中間CAのアイデンティティ)と、第3の認証局公開鍵834と、第1の暗号システムに関連する第3の認証局署名836と、第4の(QR)認証局公開鍵838と、第2の暗号システムに関連する第4の(QR)認証局署名839とを含む。
図8に示すように、第1の認証局秘密鍵820を用いて第3の認証局署名836を生成し、第2の(QR)認証局秘密鍵821を用いて第4の(QR)認証局署名839を生成する。中間CA証明書804は、さらなる又は異なる情報を含むこともできる。
【0118】
図8に示す例では、エンドエンティティ証明書806がSSLサーバエンティティに属する。SSLサーバエンティティは、第1の暗号システムに関連する第5の鍵対を有する。第5の鍵対は、第1のエンティティ秘密鍵860と、第1のエンティティ公開鍵854とを含む。
【0119】
エンドエンティティ証明書例806は、発行者情報850(中間CAのアイデンティティ)と、主体者情報852(SSLサーバエンティティのアイデンティティ)と、第1のエンティティ公開鍵854と、第1の暗号システムに関連する第5の認証局署名856と、第2の暗号システムに関連する第6の(QR)認証局署名859とを含む。
図8に示すように、第3の認証局秘密鍵840を用いて第5の認証局署名856を生成し、第4の(QR)認証局秘密鍵841を用いて第6の(QR)認証局署名859を生成する。エンドエンティティ証明書806は、さらなる又は異なる情報を含むこともできる。
【0120】
図8に示す例では、ルートCA証明書802が、ルート認証局の独自の公開鍵を用いて検証できる自己署名証明書であり、中間CA証明書804及びエンドエンティティ証明書806が、適切な認証局公開鍵を用いて検証できるCA署名証明書である。
【0121】
いくつかの例では、エンドエンティティ証明書806、又はエンドエンティティ証明書806からの情報が、例えば
図4に示す認証プロセス例410のような認証プロセスにおいて使用される。
図8に示すエンドエンティティ証明書例806が認証プロセスの基礎である場合、認証プロセスは、第1の暗号システムに関連するデータオブジェクト(814、816、834、836、854、856)を用いて、
図6に示す証明書チェーン例600に関して説明した認証プロセスに類似する形で進行することができる。これに加えて、又はこれとは別に、
図8に示すエンドエンティティ証明書例806が認証プロセスの基礎である場合、認証プロセスは、第2の(耐量子)暗号システムを用いて以下のように進行することもできる。依存エンティティは、エンドエンティティ証明書806内の発行者情報850と、中間CA証明書804内の主体者情報832とを照合する。次に、依存エンティティは、エンドエンティティ証明書806内の第5の認証局署名856と第6の(QR)認証局署名859とを除く一部又は全部の情報の証明書概要を作成する。次に、依存エンティティは、中間CA証明書804からの第4の(QR)認証局公開鍵838を用いて、第6の(QR)認証局署名859を概要に照らして検証する。次に、依存エンティティは、以下と同様の方法で中間CA証明書804を検証することができる。依存エンティティは、中間CA証明書804内の発行者情報830と、ルートCA証明書802内の主体者情報812とを照合する。次に、依存エンティティは、中間CA証明書804内の第3の認証局署名836と第4の(QR)認証局署名839とを除く一部又は全部の情報の証明書概要を作成する。次に、依存エンティティは、ルートCA証明書802からの第2の(QR)認証局公開鍵818を用いて、第4の(QR)認証局署名839を概要に照らして検証する。いくつかの例では、ルートCA証明書802を明確に信頼することができ、従って依存エンティティが検証する必要はない。いくつかの例では、ルートCA証明書802からの第2の(QR)認証局公開鍵818を用いてルートCA証明書802を検証することができる。いくつかの例では、エンドエンティティ証明書806、又はエンドエンティティ証明書806からの情報を用いて、別のタイプの認証プロセスを実行することもできる。
【0122】
図9は、認証局が証明書署名要求(CSR)に基づいて生成するデジタル証明書例902を示すブロック図である。
図9に示すデジタル証明書例902は、別の(例えば、量子脆弱)暗号システムのための認証局署名及び公開鍵に加えて、耐量子暗号システムのための認証局署名及び公開鍵を含む。
【0123】
デジタル証明書902は、第1の暗号システム(例えば、量子脆弱暗号システム)に関連する第1の公開鍵916と、第2の異なる暗号システムに関連する第2の公開鍵920と、第1の暗号システムに関連する第1のデジタル署名と、第2の暗号システムに関連する第2のデジタル署名とを含む証明書要求に基づいて生成される。図示の例では、第2の暗号システムが耐量子(QR)暗号システムである。証明書要求は、基本フィールドと拡張領域とを含むことができる。証明書要求の基本フィールドは、主体者フィールドに主体者情報(例えば、ユーザアイデンティティ)を、発行者フィールドに発行者情報(例えば、認証局アイデンティティ)を、有効期間フィールドに有効期間情報を、及び公開鍵フィールドに第1の公開鍵916を含むことができる。証明書要求の拡張領域は、第2の(QR)公開鍵920を含むことができる。証明書要求を生成するエンティティは、第1の暗号システム又は第2の暗号システム(又はこれらの両方)を用いて証明書要求に署名することができる。例えば、第1の公開鍵916に関連する秘密鍵を用いて、証明書要求に適用されるデジタル署名を生成することができ、或いはQR公開鍵920に関連する秘密鍵を用いて、証明書要求に適用される(QR)デジタル署名を生成することもできる。
【0124】
図9に示すデジタル証明書902は、第1の暗号システム(例えば、量子脆弱暗号システム)に関連する第1の公開鍵916と、第2の異なる暗号システムに関連する第2の公開鍵920とを含むデジタル証明書の例である。
図9に示すデジタル証明書902は、第1の暗号システム(例えば、量子脆弱暗号システム)に関連する第1の認証局署名940と、第2の異なる暗号システムに関連する第2の認証局署名930とを含むデジタル証明書の例でもある。図示の例では、第2の暗号システムが耐量子(QR)暗号システムである。
【0125】
図9に示すように、デジタル証明書902は、基本フィールド904と拡張領域906とを含む。基本フィールド904は、主体者フィールドに主体者情報910(例えば、ユーザアイデンティティ)を、発行者フィールドに発行者情報912(例えば、認証局アイデンティティ)を、有効期間フィールドに有効期間情報914を、公開鍵フィールドに第1の公開鍵916を、及び署名値フィールドに第1の認証局署名940を含む。拡張領域906は、第2の(QR)公開鍵920と第2の(QR)認証局署名930とを含む。デジタル証明書902は、さらなる又は異なるフィールド、拡張領域又はその他の情報を含むこともできる。
【0126】
図9に示すデジタル証明書例902は、認証局が証明書要求例に応答して生成する。
図9の左側に示すように、第2の(QR)認証局署名930は、第1の認証局署名940の前に生成される。認証局は、公開鍵フィールドに第1の公開鍵916を、拡張領域906に第2の(QR)公開鍵920を含むバージョンのデジタル証明書902に基づいて第2の(QR)認証局署名930を生成した後に、拡張領域906に第2の(QR)認証局署名930を挿入する。次に、認証局は、公開鍵フィールドに第1の公開鍵916を、拡張領域906に第2の(QR)公開鍵920を、拡張領域906に第2の(QR)認証局署名930を含むバージョンのデジタル証明書902に基づいて第1の認証局署名940を生成した後に、
図9の右側に示すように、デジタル証明書902の署名値フィールドに第1の認証局署名940を挿入する。
【0127】
いくつかの例では、デジタル証明書902が、要求者及び発行者によって実行される証明書要求及び作成プロセスにおいて生成され、いくつかの例では、このプロセスが以下のように進行することができる。要求者は、第1の公開鍵916と関連する第1の秘密鍵とを含む、第1の暗号システムに関連する鍵対を生成する。要求者は、QR公開鍵920と関連するQR秘密鍵とを含む、第2の(耐量子)暗号システムに関連する第2の(QR)鍵対を生成する。要求者は、証明書署名要求(CSR)の拡張領域にQR公開鍵920を挿入する。要求者は、CSRの基本フィールドの公開鍵フィールドに第1の公開鍵916を挿入する。要求者は、他の標準的な基本フィールド及び拡張領域に挿入を行う。要求者は、挿入済みのCSRに基づいて、要求者の各秘密鍵を用いてデジタル署名を生成する。要求者は、署名済みCSRを発行者に送信する。発行者は、署名済みCSRを要求者から受け取って要求者を調べる。発行者は、署名を検証して、要求者が第1の公開鍵916及びQR公開鍵920に合致する秘密鍵を所有していることを確認する。発行者は、CSRの他の全ての属性を検証して更新を適用することができる。発行者は、公開鍵フィールドに公開鍵916を挿入し、拡張領域906をQR公開鍵920を挿入することを含め、デジタル証明書902の1又は2以上のフィールドに挿入を行う。次に、発行者は、第2の(耐量子)暗号システムに関連する第2の認証局秘密鍵を用いて、デジタル証明書902に基づいて第2の(QR)認証局署名930を生成する。発行者は、拡張領域906に第2の(QR)認証局署名930を挿入する。次に、発行者は、第1の暗号システムに関連する第1の認証局秘密鍵を用いて、デジタル証明書902に基づいて別の認証局署名(第1の認証局署名940)を生成する。発行者は、基本フィールド904の署名値フィールドに第1の認証局署名940を挿入する。いくつかの例では、証明書要求及び作成プロセスがさらなる又は異なるステップを含むことも、或いは別の形で進行することもできる。
【0128】
いくつかの例では、デジタル証明書902、又はデジタル証明書902からの情報が、例えば
図4に示すデジタル署名プロセス例420などのデジタル署名プロセスにおいて使用される。
図9に示すデジタル証明書例902が、証明書所有者と他のエンティティとの間のデジタル署名プロセスの基礎である場合、デジタル署名プロセスは、
図5に示すデジタル証明書例502に関して説明したデジタル署名プロセスに類似する形又はその他の形で進行することができる。
【0129】
いくつかの例では、デジタル証明書902、又はデジタル証明書902からの情報が、例えば
図4に示す暗号化プロセス430などの暗号化プロセスにおいて使用される。
図9に示すデジタル証明書例902が、暗号化プロセスの基礎である場合、プロセスは、
図5に示すデジタル証明書例502に関して説明した暗号化プロセスに類似する形又はその他の形で進行することができる。
【0130】
図10は、別の(例えば、量子脆弱)暗号システムのための認証局署名及び公開鍵に加えて、耐量子暗号システムのための認証局署名及び公開鍵を含むデジタル証明書を伴う証明書チェーン例1000を示すブロック図である。
図10に示す証明書チェーン例1000は、ルートCA証明書1002、中間CA証明書1004、及びエンドエンティティ証明書1006という3つのデジタル証明書を含む。中間CA証明書1004及びエンドエンティティ証明書1006は、
図9に示すデジタル証明書例902として作成してフォーマットできるデジタル証明書の例である。いくつかの例では、
図10に示すデジタル証明書のうちの1つ又は2つ以上を別の形で作成してフォーマットすることもできる。
図10に示す例では、ルートCA証明書1002が、ルート認証局の独自の公開鍵を用いて検証できる自己署名証明書であり、中間CA証明書1004及びエンドエンティティ証明書1006が、適切な認証局公開鍵を用いて検証できるCA署名証明書である。
【0131】
図10に示す例では、ルートCA証明書1002がルート認証局に属する。ルート認証局は、第1の暗号システムに関連する第1の鍵対と、第2の(耐量子)暗号システムに関連する第2の鍵対とを有する。第1の鍵対は、第1の認証局秘密鍵1020と第1の認証局公開鍵1014とを含む。第2の鍵対は、第2の(QR)認証局秘密鍵1021と第2の(QR)認証局公開鍵1018とを含む。
【0132】
ルートCA証明書例1002は、発行者情報1010(ルートCAのアイデンティティ)と、主体者情報1012(ルートCAのアイデンティティ)と、第1の認証局公開鍵1014と、第1の暗号システムに関連する第1の認証局署名1016と、第2の(QR)認証局公開鍵1018と、第2の暗号システムに関連する第2の(QR)認証局署名1019とを含む。
図10に示すように、第1の認証局秘密鍵1020を用いて第1の認証局署名1016を生成し、第2の(QR)認証局秘密鍵1021を用いて第2の(QR)認証局署名1019を生成する。ルートCA証明書1002は、さらなる又は異なる情報を含むこともできる。
【0133】
図10に示す例では、中間CA証明書1004が中間認証局に属する。中間認証局は、第1の暗号システムに関連する第3の鍵対と、第2の(耐量子)暗号システムに関連する第4の鍵対とを有する。第3の鍵対は、第3の認証局秘密鍵1040と、第3の認証局公開鍵1034とを含む。第4の鍵対は、第4の(QR)認証局秘密鍵1041と、第4の(QR)認証局公開鍵1038とを含む。
【0134】
中間CA証明書例1004は、発行者情報1030(ルートCAのアイデンティティ)と、主体者情報1032(中間CAのアイデンティティ)と、第3の認証局公開鍵1034と、第1の暗号システムに関連する第3の認証局署名1036と、第4の(QR)認証局公開鍵1038と、第2の暗号システムに関連する第4の(QR)認証局署名1039とを含む。
図10に示すように、第1の認証局秘密鍵1020を用いて第3の認証局署名1036を生成し、第2の(QR)認証局秘密鍵1021を用いて第4の(QR)認証局署名1039を生成する。中間CA証明書1004は、さらなる又は異なる情報を含むこともできる。
【0135】
図10に示す例では、エンドエンティティ証明書1006がSSLサーバエンティティに属する。SSLサーバエンティティは、第1の暗号システムに関連する第5の鍵対と、第2の(耐量子)暗号システムに関連する第6の鍵対とを有する。第5の鍵対は、第1のエンティティ秘密鍵1060と、第1のエンティティ公開鍵1054とを含む。第6の鍵対は、第2の(QR)エンティティ秘密鍵1061と、第2の(QR)エンティティ公開鍵1058とを含む。
【0136】
エンドエンティティ証明書例1006は、発行者情報1050(中間CAのアイデンティティ)と、主体者情報1052(SSLサーバエンティティのアイデンティティ)と、第1のエンティティ公開鍵1054と、第1の暗号システムに関連する第5の認証局署名1056と、第2の(QR)エンティティ公開鍵1058と、第2の暗号システムに関連する第6の(QR)認証局署名1059とを含む。
図10に示すように、第3の認証局秘密鍵1040を用いて第5の認証局署名1056を生成し、第4の(QR)認証局秘密鍵1041を用いて第6の(QR)認証局署名1059を生成する。エンドエンティティ証明書1006は、さらなる又は異なる情報を含むこともできる。
【0137】
図10に示す例では、ルートCA証明書1002が、ルート認証局の独自の公開鍵を用いて検証できる自己署名証明書であり、中間CA証明書1004及びエンドエンティティ証明書1006が、適切な認証局公開鍵を用いて検証できるCA署名証明書である。
【0138】
いくつかの例では、エンドエンティティ証明書1006、又はエンドエンティティ証明書1006からの情報が、例えば
図4に示す認証プロセス例410などの認証プロセスにおいて使用される。
図10に示すエンドエンティティ証明書例1006が認証プロセスの基礎である場合、認証プロセスは、第1の暗号システムに関連するデータオブジェクト(1014、1016、1034、1036、1054、1056)を用いて、
図6に示す証明書チェーン例600に関して説明した認証プロセスに類似する形で進行することができる。これに加えて、又はこれとは別に、
図10に示すエンドエンティティ証明書例1006が認証プロセスの基礎である場合、認証プロセスは、第2の(耐量子)暗号システムを用いて以下のように進行することもできる。依存エンティティは、エンドエンティティ証明書1006内の発行者情報1050と、中間CA証明書1004内の主体者情報1032とを照合する。次に、依存エンティティは、エンドエンティティ証明書1006内の第5の認証局署名1056と第6の(QR)認証局署名1059とを除く一部又は全部の情報の証明書概要を作成する。次に、依存エンティティは、中間CA証明書1004からの第4の(QR)認証局公開鍵1038を用いて、第6の(QR)認証局署名1059を概要に照らして検証する。次に、依存エンティティは、以下と同様の方法で中間CA証明書1004を検証することができる。依存エンティティは、中間CA証明書1004内の発行者情報1030と、ルートCA証明書1002内の主体者情報1012とを照合する。次に、依存エンティティは、中間CA証明書1004内の第3の認証局署名1036と第4の(QR)認証局署名1039とを除く一部又は全部の情報の証明書概要を作成する。次に、依存エンティティは、ルートCA証明書1002からの第2の(QR)認証局公開鍵1018を用いて、第4の(QR)認証局署名1039を概要に照らして検証する。いくつかの例では、ルートCA証明書1002を明確に信頼することができ、従って依存エンティティが検証する必要はない。いくつかの例では、ルートCA証明書1002からの第2の(QR)認証局公開鍵1018を用いてルートCA証明書1002を検証することができる。いくつかの例では、エンドエンティティ証明書1006、又はエンドエンティティ証明書1006からの情報を用いて、別のタイプの認証プロセスを実行することもできる。
【0139】
本明細書で説明した主題及び動作の一部は、本明細書で開示した構造及びこれらの構造的同等物、或いはこれらの1又は2以上の組み合わせを含め、デジタル電子回路で実装することも、或いはコンピュータソフトウェア、ファームウェア又はハードウェアで実装することもできる。本明細書で説明した主題及び動作の一部は、1又は2以上のコンピュータプログラムとして、すなわちデータ処理装置によって実行される、又はデータ処理装置の動作を制御する、コンピュータ記憶媒体上に符号化されたコンピュータプログラム命令の1又は2以上のモジュールとして実装することができる。コンピュータ記憶媒体は、コンピュータ可読記憶装置、コンピュータ可読記憶基板、ランダム又はシリアルアクセスメモリアレイ又はデバイス、或いはこれらのうちの1つ又は2つ以上の組み合わせとすることも、又はこれらに含めることもできる。さらに、コンピュータ記憶媒体は伝搬信号ではなく、人工的に生成された伝搬信号の形で符号化されたコンピュータプログラム命令の発信元又は宛先とすることができる。コンピュータ記憶媒体は、1又は2以上の別個のコンポーネント又は媒体(例えば、複数のCD、ディスク又はその他の記憶装置)とすることも、或いはこれらに含めることもできる。
【0140】
本明細書で説明した動作の一部は、例えば1又は2以上のコンピュータ可読記憶装置に記憶された、又は他のソースから受け取られたデータに対してデータ処理装置が実行する動作として実装することができる。
【0141】
「データ処理装置」という用語は、データを処理する全ての種類の装置、機器及び機械を含み、一例としてプログラマブルプロセッサ、コンピュータ、システムオンチップ、又は複数のシステムオンチップ、又はこれらの組み合わせを含む。この装置は、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)などの専用論理回路を含むこともできる。この装置は、ハードウェアに加えて、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、又はこれらのうちの1つ又は2つ以上の組み合わせを構成するコードなどの、対象とするコンピュータプログラムの実行環境を形成するコードを含むこともできる。
【0142】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト又はコードとしても知られている)コンピュータプログラムは、コンパイラ型言語又はインタープリタ型言語、宣言型言語又は手続き型言語を含むあらゆる形のプログラミング言語で書くことができ、スタンドアロンプログラム、又はモジュール、コンポーネント、サブルーチン、オブジェクト、又はコンピュータ環境で使用するのに適した他のユニットとしての形を含むあらゆる形で展開することができる。コンピュータプログラムは、必須ではないが、ファイルシステム内のファイルに対応することができる。プログラムは、プログラム専用の単一のファイル内の、又は複数の連動するファイル(例えば、1又は2以上のモジュール、サブプログラム、又はコードの一部を記憶するファイル)内の、他のプログラム又はデータ(例えば、マークアップ言語リソースに記憶された1又は2以上のスクリプト)を保持するファイルの一部に記憶することができる。コンピュータプログラムは、1つのコンピュータ上で実行されるように展開することも、或いは1つのサイトに位置する、又は複数のサイトに分散して通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することもできる。
【0143】
本明細書で説明したプロセス及びロジックフローの一部は、1又は2以上のコンピュータプログラムを実行する1又は2以上のプログラマブルプロセッサによって、入力データに作用して出力を生成することによって動作を行うように実行することができる。プロセス及びロジックフローは、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)などの専用論理回路によって実行することもでき、装置をこのような専用論理回路として実装することもできる。
【0144】
コンピュータプログラムを実行するのに適したプロセッサとしては、一例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータのプロセッサが挙げられる。一般に、プロセッサは、リードオンリメモリ又はランダムアクセスメモリ、或いはこれらの両方から命令及びデータを受け取る。コンピュータの要素は、命令に従って動作を実行するプロセッサと、命令及びデータを記憶する1又は2以上のメモリデバイスとを含む。コンピュータは、例えば非磁気ドライブ(例えば、半導体ドライブ)、磁気ディスク、光磁気ディスク、光学ディスクなどの、データを記憶する1又は2以上の大容量記憶装置を含むこともでき、或いはこのような記憶装置との間でのデータの受け取り及びデータの転送、又はこれらの両方を行うように動作可能に結合することもできる。しかしながら、コンピュータは、このような装置を有していなくてもよい。さらに、コンピュータは、例えば電話機、電子機器、モバイルオーディオプレーヤ又はビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、モノのインターネット(IoT)装置、機械間(M2M)センサ又はアクチュエータ、又はポータブル記憶装置(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)などの別の装置に組み込むこともできる。コンピュータプログラム命令及びデータの記憶に適した装置としては、一例として、半導体メモリデバイス(例えば、EPROM、EEPROM及びフラッシュメモリデバイスなど)、磁気ディスク(例えば、内部ハードディスク又はリムーバブルディスクなど)、磁気光学ディスク、並びにCD ROM及びDVD−ROMディスクを含む全ての形態の不揮発性メモリ、媒体及びメモリデバイスが挙げられる。いくつかの例では、プロセッサ及びメモリを専用論理回路によって補完することも、又は専用論理回路に組み込むこともできる。
【0145】
動作は、ユーザとの相互作用をもたらすために、ディスプレイ装置(例えば、モニタ、又は別のタイプのディスプレイ装置)と、ユーザがコンピュータに入力を提供できるようにするキーボード及びポインティングデバイス(例えば、マウス、トラックボール、タブレット、タッチセンサ式画面、又は別のタイプのポインティングデバイス)とを有するコンピュータ上で実行することができる。他の種類の装置を使用してユーザとの相互作用をもたらすこともでき、例えばユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック又は触覚的フィードバックなどのあらゆる形の感覚的フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力又は触覚入力を含むあらゆる形で受け取ることができる。また、コンピュータは、例えばウェブブラウザから受け取られた要求に応答してユーザのクライアント装置上のウェブブラウザにウェブページを送信することなどの、ユーザが使用する装置との間で文書を送受信することによってユーザと相互作用することもできる。
【0146】
コンピュータシステムは、単一のコンピュータ装置を含むことも、或いは互いに近接して、又は一般的には離れて動作して、通常は通信ネットワークを通じて相互作用する複数のコンピュータを含むこともできる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)及びワイドエリアネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、衛星リンクを含むネットワーク、及びピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)が挙げられる。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作して互いにクライアント−サーバの関係を有するコンピュータプログラムによって生じることができる。
【0147】
ここで説明した例の一般的態様では、複数の暗号システムが使用される。
【0148】
第1の例では、デジタル証明書が発行される。エンティティの第1の公開鍵を含む証明書要求が受け取られる。第1の公開鍵は、第1の暗号システムに関連する。認証局の第1の秘密鍵を用いて、証明書要求内の情報に基づいて第1のデジタル署名を生成する。第1の秘密鍵は、第1の暗号システムに関連する。デジタル証明書が作成される。デジタル証明書は、エンティティの第1の公開鍵を含む公開鍵フィールドを含む。デジタル証明書は、第1のデジタル署名を含む署名値フィールドを含む。デジタル証明書は、拡張領域を含む。拡張領域は、エンティティの第2の公開鍵、第2のデジタル署名、又はこれらの両方を含む。第2の公開鍵は、第2の暗号システムに関連する。第2のデジタル署名は、証明書要求内の情報に基づいて、認証局の第2の秘密鍵を用いて生成される。認証局の第2の秘密鍵は、第2の暗号システムに関連する。
【0149】
第1の例のいくつかの実装では、デジタル証明書が、データ処理装置と、データ処理装置によって実行された時にデジタル証明書を発行する動作を実行する命令を記憶するコンピュータ可読媒体とを含むコンピュータシステムによって発行される。
【0150】
第1の例の実装は、以下の特徴のうちの1つ又は2つ以上を含むことができる。デジタル証明書は、暗号で保護された通信において使用できるように認証局が発行することができる。発行されたデジタル証明書では、拡張領域が、第2のデジタル署名を含まずにエンティティの第2の公開鍵を含むことができる。発行されたデジタル証明書では、拡張領域が、エンティティの公開鍵を含まずに第2のデジタル署名を含むことができる。発行されたデジタル証明書では、拡張領域が、第2のデジタル署名とエンティティの公開鍵とを含むことができる。
【0151】
第1の例の実装は、以下の特徴のうちの1つ又は2つ以上を含むことができる。証明書要求は、証明書要求署名を含むことができ、証明書要求署名は、エンティティの第1の公開鍵を用いて検証することができる。証明書要求は、エンティティの第2の公開鍵と、第1の証明書要求署名と、第2の証明書要求署名とを含むことができる。第1の証明書要求署名は第1の暗号システムに関連し、第2の証明書要求署名は第2の暗号システムに関連する。第1の証明書要求署名は、エンティティの第1の公開鍵を用いて検証することができる。第2の証明書要求署名は、エンティティの第2の公開鍵を用いて検証することができる。
【0152】
第1の例の実装は、以下の特徴のうちの1つ又は2つ以上を含むことができる。1又は2以上の未挿入のフィールドを含むデジタル証明書を生成することができる。デジタル証明書の公開鍵フィールドに、エンティティの第1の公開鍵を挿入することができる。デジタル証明書の拡張領域に、エンティティの第2の公開鍵を挿入することができる。認証局の第1の秘密鍵を用いて第1のデジタル署名を生成することができる。第1のデジタル署名は、公開鍵フィールドに第1の公開鍵を、拡張領域に第2の公開鍵を有するデジタル証明書から生成することができる。デジタル証明書の署名値フィールドに、第1のデジタル署名を挿入することができる。
【0153】
第1の例の実装は、以下の特徴のうちの1つ又は2つ以上を含むことができる。1又は2以上の未挿入のフィールドを含むデジタル証明書を生成することができる。デジタル証明書の公開鍵フィールドに、エンティティの第1の公開鍵を挿入することができる。認証局の第2の秘密鍵を用いて第2のデジタル署名を生成することができる。第2のデジタル署名は、公開鍵フィールドに第1の公開鍵を有するデジタル証明書から生成することができる。デジタル証明書の拡張領域に、第2のデジタル署名を挿入することができる。認証局の第1の秘密鍵を用いて第1のデジタル署名を生成することができる。第1のデジタル署名は、公開鍵フィールドに第1の公開鍵を、拡張領域に第2のデジタル署名を含むデジタル証明書から生成することができる。デジタル証明書の署名値フィールドに、第1のデジタル署名を挿入することができる。
【0154】
第1の例の実装は、以下の特徴のうちの1つ又は2つ以上を含むことができる。1又は2以上の未挿入のフィールドを含むデジタル証明書を生成することができる。デジタル証明書の公開鍵フィールドに、エンティティの第1の公開鍵を挿入することができる。デジタル証明書の拡張領域に、エンティティの第2の公開鍵を挿入することができる。認証局の第2の秘密鍵を用いて第2のデジタル署名を生成することができる。第2のデジタル署名は、公開鍵フィールドに第1の公開鍵を、拡張領域に第2の公開鍵を含むデジタル証明書から生成することができる。デジタル証明書の拡張領域に、第2のデジタル署名を挿入することができる。認証局の第1の秘密鍵を用いて第1のデジタル署名を生成することができる。第1のデジタル署名は、公開鍵フィールドに第1の公開鍵を、拡張領域に第2の公開鍵を、及び拡張領域に第2のデジタル署名を含むデジタル証明書から生成することができる。デジタル証明書の署名値フィールドに、第1のデジタル署名を挿入することができる。
【0155】
第1の例の実装は、以下の特徴のうちの1つ又は2つ以上を含むことができる。第1の暗号システムは量子脆弱暗号システムとすることができ、第2の暗号システムは耐量子暗号システムとすることができる。デジタル証明書は、認証局システムからエンティティに関連するノードに送信することができる。
【0156】
第2の例では、デジタル証明書が認証される。デジタル証明書が受け取られる。デジタル証明書は、エンティティの第1の公開鍵を含む公開鍵フィールドを含む。エンティティの第1の公開鍵は、第1の暗号システムに関連する。デジタル証明書は、認証局の第1のデジタル署名を含む署名値フィールドを含む。第1のデジタル署名は、第1の暗号システムに関連する。デジタル証明書は、拡張領域を含む。拡張領域は、エンティティの第2の公開鍵、認証局の第2のデジタル署名、又はこれらの両方を含む。第2の公開鍵は、第2の暗号システムに関連する。第2のデジタル署名は、第2の暗号システムに関連する。拡張領域に少なくとも部分的に基づいて証明書概要が生成される。証明書概要及び認証局の公開鍵を用いて、認証局の第1のデジタル署名又は認証局の第2のデジタル署名を検証する。
【0157】
第2の例のいくつかの実装では、デジタル証明書が、データ処理装置と、データ処理装置によって実行された時に、例えば暗号プロトコルの動作を実行する命令を記憶するコンピュータ可読媒体とを含むコンピュータシステムによって受け取られる。
【0158】
第2の例の実装は、以下の特徴のうちの1つ又は2つ以上を含むことができる。デジタル証明書が受け取られた時に、拡張領域は、第2のデジタル署名を含まずにエンティティの第2の公開鍵を含むことができる。デジタル証明書が受け取られた時に、拡張領域は、エンティティの公開鍵を含まずに第2のデジタル署名を含むことができる。デジタル証明書が受け取られた時に、拡張領域は、第2のデジタル署名とエンティティの公開鍵とを含むことができる。
【0159】
第2の例の実装は、以下の特徴のうちの1つ又は2つ以上を含むことができる。メッセージと、エンティティのデジタル署名とを受け取ることができる。エンティティを識別するために、エンティティの第2の公開鍵を用いてエンティティのデジタル署名を検証することができる。エンティティを識別するために、エンティティの第1の公開鍵を用いてエンティティのデジタル署名を検証することができる。
【0160】
第2の例の実装は、以下の特徴のうちの1つ又は2つ以上を含むことができる。エンティティの第2の公開鍵を用いて、エンティティ宛てのメッセージを暗号化することができる。エンティティの第1の公開鍵を用いて、エンティティ宛てのメッセージを暗号化することができる。
【0161】
第2の例の実装は、以下の特徴のうちの1つ又は2つ以上を含むことができる。認証局の公開鍵は、認証局の第1のデジタル署名を検証するために使用され、第1の暗号システムに関連する。認証局の公開鍵は、認証局の第2のデジタル署名を検証するために使用され、第2の暗号システムに関連する。第1の暗号システムは量子脆弱暗号システムとすることができ、第2の暗号システムは耐量子暗号システムとすることができる。
【0162】
本明細書は多くの詳細を含んでいるが、これらの詳細は、特許請求できる内容の範囲に対する限定ではなく、むしろ特定の例に固有の特徴の説明として理解されたい。別個の実装の文脈で本明細書において説明した又は図面に示したいくつかの特徴は組み合わせることもできる。これとは逆に、単一の実装の文脈で説明又は図示した様々な特徴は、複数の実施形態において別個に実装することも、或いはあらゆる好適な部分的組み合わせで実装することもできる。
【0163】
同様に、図面には特定の順序で動作を示しているが、これについては、望ましい結果を達成するためにこのような動作を図示の特定の順序又は順番で実施し、又は図示の動作を全て実施する必要があると理解すべきでない。いくつかの状況では、マルチタスク及び並行処理が有利な場合もある。さらに、上述した実装において様々なシステムコンポーネントを分離していても、このような分離が全ての実装において必要であると理解すべきではなく、説明したプログラムコンポーネント及びシステムを単一の製品に一般的に統合し、又は複数の製品にパッケージ化することもできると理解されたい。
【0164】
複数の実装について説明した。それでもなお、様々な修正を行うことができると理解されるであろう。従って、以下の特許請求の範囲には、他の実施形態も含まれる。