IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2024-501197データをセキュア保護するためのハイブリッド鍵導出
<>
  • 特表-データをセキュア保護するためのハイブリッド鍵導出 図1
  • 特表-データをセキュア保護するためのハイブリッド鍵導出 図2
  • 特表-データをセキュア保護するためのハイブリッド鍵導出 図3
  • 特表-データをセキュア保護するためのハイブリッド鍵導出 図4
  • 特表-データをセキュア保護するためのハイブリッド鍵導出 図5
  • 特表-データをセキュア保護するためのハイブリッド鍵導出 図6
  • 特表-データをセキュア保護するためのハイブリッド鍵導出 図7
  • 特表-データをセキュア保護するためのハイブリッド鍵導出 図8
  • 特表-データをセキュア保護するためのハイブリッド鍵導出 図9
  • 特表-データをセキュア保護するためのハイブリッド鍵導出 図10
  • 特表-データをセキュア保護するためのハイブリッド鍵導出 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-11
(54)【発明の名称】データをセキュア保護するためのハイブリッド鍵導出
(51)【国際特許分類】
   G09C 1/00 20060101AFI20231228BHJP
【FI】
G09C1/00 620Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023535674
(86)(22)【出願日】2021-11-18
(85)【翻訳文提出日】2023-06-12
(86)【国際出願番号】 CN2021131487
(87)【国際公開番号】W WO2022142837
(87)【国際公開日】2022-07-07
(31)【優先権主張番号】17/137,656
(32)【優先日】2020-12-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.SMALLTALK
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000316
【氏名又は名称】弁理士法人ピー・エス・ディ
(72)【発明者】
【氏名】グレイ、マイケル、ダブリュー
(72)【発明者】
【氏名】マクマホン、サイモン、ディー
(72)【発明者】
【氏名】マディネニ、ナラヤナ、アディティア
(72)【発明者】
【氏名】グリーン、マシュー
(72)【発明者】
【氏名】ウォルテンバーグ、ピーター、ティー
(57)【要約】
データをセキュア保護するための手法において、プロセッサは、従来の公開鍵を従来の証明書において公開し、PQC公開鍵をPQC証明書において公開する。プロセッサは、従来の公開鍵に基づく従来の共有秘密及びPQC公開鍵に基づく従来の共有秘密を用いることにより、鍵導出関数を用いて生成されたハイブリッド共有秘密でデータを暗号化する。プロセッサは、従来の秘密鍵及びPQC秘密鍵に基づくハイブリッド共有秘密でデータを復号する。プロセッサは、従来の署名に続いてPQC署名を用いてデータに署名する。
【特許請求の範囲】
【請求項1】
1つ又は複数のプロセッサにより、従来の公開鍵を従来の証明書において、及びポスト量子暗号(PQC)公開鍵をPQC証明書において、公開することと、
1つ又は複数のプロセッサにより、前記従来の公開鍵に基づく従来の共有秘密及び前記PQC公開鍵に基づくPQC共有秘密を用いることにより、鍵導出関数を用いて生成されたハイブリッド共有秘密でデータを暗号化することと、
1つ又は複数のプロセッサにより、従来の秘密鍵及びPQC秘密鍵に基づく前記ハイブリッド共有秘密で前記データを復号することと、
1つ又は複数のプロセッサにより、従来の署名に続いてPQC署名を用いて前記データに署名することと、
を含むコンピュータ実施方法。
【請求項2】
前記従来の公開鍵及び前記PQC公開鍵を公開することは、
従来の秘密鍵及び前記従来の公開鍵を含む従来の鍵ペアを生成することと、
PQC秘密鍵及び前記PQC公開鍵を含むPQC鍵ペアを生成することと、
前記従来の公開鍵を前記従来の証明書において公開することと、
前記PQC公開鍵を前記PQC証明書において公開することと、
前記従来の秘密鍵及び前記PQC秘密鍵をセキュア保護することと
を含む、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記ハイブリッド共有秘密で前記データを暗号化することは、
前記従来の共有秘密をランダムに生成することと、
前記従来の公開鍵で前記従来の共有秘密を暗号化することと、
前記PQC公開鍵を用いて前記PQC共有秘密を導出することと、
前記PQC公開鍵に基づき、PQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出することと、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いることにより、前記ハイブリッド共有秘密を生成することと、
前記ハイブリッド共有秘密で前記データを暗号化することと、
前記暗号化された従来の共有秘密、前記新しいPQC公開鍵、及び前記暗号化されたデータを、エンコーディングとして格納することと
を含む、請求項1に記載のコンピュータ実施方法。
【請求項4】
前記ハイブリッド共有秘密で前記データを復号することは、
前記暗号化された従来の共有秘密、前記新しいPQC公開鍵、及び前記暗号化されたデータの前記エンコーディングを読み取ることと、
前記従来の秘密鍵で前記従来の共有秘密を復号することと、
前記新しいPQC公開鍵及び前記PQC秘密鍵を用いて前記PQC共有秘密を導出することと、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いて前記ハイブリッド共有秘密を生成することと、
前記暗号化されたデータを前記ハイブリッド共有秘密で復号することと
を含む、請求項3に記載のコンピュータ実施方法。
【請求項5】
前記ハイブリッド共有秘密で前記データを暗号化することは、
新しい従来の秘密鍵及び新しい従来の公開鍵を含む新しい従来の鍵ペアを生成することと、
前記従来の公開鍵及び前記新しい従来の秘密鍵を用いて前記従来の共有秘密を導出することと、
前記新しい従来の秘密鍵を廃棄することと、
前記PQC公開鍵を用いて前記PQC共有秘密を導出することと、
前記PQC公開鍵に基づき、PQCカプセル化機構を用いて新しいPQC公開鍵を導出することと、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いることにより、前記ハイブリッド共有秘密を生成することと、
前記ハイブリッド共有秘密で前記データを暗号化することと、
前記新しい従来の公開鍵、前記新しいPQC公開鍵、及び前記暗号化されたデータを、エンコーディングとして格納することと
を含む、請求項1に記載のコンピュータ実施方法。
【請求項6】
前記ハイブリッド共有秘密で前記データを復号することは、
前記新しい従来の公開鍵、前記新しいPQC公開鍵、及び前記暗号化されたデータの前記エンコーディングを読み取ることと、
前記新しい従来の公開鍵及び前記従来の秘密鍵を用いて前記従来の共有秘密を導出することと、
前記新しいPQC公開鍵及び前記PQC秘密鍵を用いて前記PQC共有秘密を導出することと、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いて前記ハイブリッド共有秘密を生成することと、
前記暗号化されたデータを前記ハイブリッド共有秘密で復号することと
を含む、請求項5に記載のコンピュータ実施方法。
【請求項7】
前記従来の署名に続いて前記PQC署名を用いて前記データに署名することは、
前記従来の公開鍵及び前記PQC公開鍵の妥当性を証明することと、
前記データに対して前記従来の公開鍵を用いて前記従来の署名を検証することと、
前記従来の署名に連結された前記データに対して前記PQC公開鍵を用いて前記PQC署名を検証することと
を含む、請求項1に記載のコンピュータ実施方法。
【請求項8】
1つ又は複数のコンピュータ可読ストレージ媒体、及び前記1つ又は複数のコンピュータ可読ストレージ媒体上にまとめて格納されたプログラム命令を含み、前記プログラム命令は、
従来の公開鍵を従来の証明書において、及びPQC公開鍵をPQC証明書において、公開するためのプログラム命令と、
前記従来の公開鍵に基づく従来の共有秘密及び前記PQC公開鍵に基づくPQC共有秘密を用いることにより、鍵導出関数を用いて生成されたハイブリッド共有秘密でデータを暗号化するためのプログラム命令と、
従来の秘密鍵及びPQC秘密鍵に基づく前記ハイブリッド共有秘密で前記データを復号するためのプログラム命令と、
従来の署名に続いてPQC署名を用いて前記データに署名するためのプログラム命令と
を含む、コンピュータ・プログラム製品。
【請求項9】
前記従来の公開鍵及び前記PQC公開鍵を公開するためのプログラム命令は、
従来の秘密鍵及び前記従来の公開鍵を含む従来の鍵ペアを生成するためのプログラム命令と、
PQC秘密鍵及び前記PQC公開鍵を含むPQC鍵ペアを生成するためのプログラム命令と、
前記従来の公開鍵を前記従来の証明書において公開するためのプログラム命令と、
前記PQC公開鍵を前記PQC証明書において公開するためのプログラム命令と、
前記従来の秘密鍵及び前記PQC秘密鍵をセキュア保護するためのプログラム命令と
を含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項10】
前記ハイブリッド共有秘密で前記データを暗号化するためのプログラム命令は、
前記従来の共有秘密をランダムに生成するためのプログラム命令と、
前記従来の公開鍵で前記従来の共有秘密を暗号化するためのプログラム命令と、
前記PQC公開鍵を用いて前記PQC共有秘密を導出するためのプログラム命令と、
前記PQC公開鍵に基づき、PQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出するためのプログラム命令と、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いることにより、前記ハイブリッド共有秘密を生成するためのプログラム命令と、
前記ハイブリッド共有秘密で前記データを暗号化するためのプログラム命令と、
前記暗号化された従来の共有秘密、前記新しいPQC公開鍵、及び前記暗号化されたデータを、エンコーディングとして格納するためのプログラム命令と
を含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項11】
前記ハイブリッド共有秘密で前記データを復号するためのプログラム命令は、
前記暗号化された従来の共有秘密、前記新しいPQC公開鍵、及び前記暗号化されたデータの前記エンコーディングを読み取るためのプログラム命令と、
前記従来の秘密鍵を用いて前記従来の共有秘密を復号するためのプログラム命令と、
前記新しいPQC公開鍵及び前記PQC秘密鍵を用いて前記PQC共有秘密を導出するためのプログラム命令と、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いて前記ハイブリッド共有秘密を生成するためのプログラム命令と、
前記暗号化されたデータを前記ハイブリッド共有秘密で復号するためのプログラム命令と
を含む、請求項10に記載のコンピュータ・プログラム製品。
【請求項12】
前記ハイブリッド共有秘密で前記データを暗号化するためのプログラム命令は、
新しい従来の秘密鍵及び新しい従来の公開鍵を含む新しい従来の鍵ペアを生成するためのプログラム命令と、
前記従来の公開鍵及び前記新しい従来の秘密鍵を用いて前記従来の共有秘密を導出するためのプログラム命令と、
前記新しい従来の秘密鍵を廃棄するためのプログラム命令と、
前記PQC公開鍵を用いて前記PQC共有秘密を導出するためのプログラム命令と、
前記PQC公開鍵に基づき、PQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出するためのプログラム命令と、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いることにより、前記ハイブリッド共有秘密を生成するためのプログラム命令と、
前記ハイブリッド共有秘密で前記データを暗号化するためのプログラム命令と、
前記新しい従来の公開鍵、前記新しいPQC公開鍵、及び前記暗号化されたデータを、エンコーディングとして格納するためのプログラム命令と
を含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項13】
前記ハイブリッド共有秘密で前記データを復号するためのプログラム命令は、
前記新しい従来の公開鍵、前記新しいPQC公開鍵、及び前記暗号化されたデータの前記エンコーディングを読み取るためのプログラム命令と、
前記新しい従来の公開鍵及び前記従来の秘密鍵を用いて前記従来の共有秘密を導出するためのプログラム命令と、
前記新しいPQC公開鍵及び前記PQC秘密鍵を用いて前記PQC共有秘密を導出するためのプログラム命令と、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いて前記ハイブリッド共有秘密を生成するためのプログラム命令と、
前記暗号化されたデータを前記ハイブリッド共有秘密で復号するためのプログラム命令と
を含む、請求項12に記載のコンピュータ・プログラム製品。
【請求項14】
前記従来の署名に続いて前記PQC署名を用いて前記データに署名するためのプログラム命令は、
前記従来の公開鍵及び前記PQC公開鍵の妥当性を証明するためのプログラム命令と、
前記データに対して前記従来の公開鍵を用いて前記従来の署名を検証するためのプログラム命令と、
前記従来の署名に連結された前記データに対して前記PQC公開鍵を用いて前記PQC署名を検証するためのプログラム命令と
を含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項15】
1つ又は複数のプロセッサ、1つ又は複数のコンピュータ可読ストレージ媒体、及び前記1つ又は複数のプロセッサの少なくとも1つにより実行されるための、前記1つ又は複数のコンピュータ可読ストレージ媒体上に格納されたプログラム命令を含み、前記プログラム命令は、
従来の公開鍵を従来の証明書において、及びPQC公開鍵をPQC証明書において、公開するためのプログラム命令と、
前記従来の公開鍵に基づく従来の共有秘密及び前記PQC公開鍵に基づくPQC共有秘密を用いることにより、鍵導出関数を用いて生成されたハイブリッド共有秘密でデータを暗号化するためのプログラム命令と、
従来の秘密鍵及びPQC秘密鍵に基づく前記ハイブリッド共有秘密で前記データを復号するためのプログラム命令と、
従来の署名に続いてPQC署名を用いて前記データに署名するためのプログラム命令と
を含む、コンピュータ・システム。
【請求項16】
前記従来の公開鍵及び前記PQC公開鍵を公開するためのプログラム命令は、
従来の秘密鍵及び前記従来の公開鍵を含む従来の鍵ペアを生成するためのプログラム命令と、
PQC秘密鍵及び前記PQC公開鍵を含むPQC鍵ペアを生成するためのプログラム命令と、
前記従来の公開鍵を前記従来の証明書において公開するためのプログラム命令と、
前記PQC公開鍵を前記PQC証明書において公開するためのプログラム命令と、
前記従来の秘密鍵及び前記PQC秘密鍵をセキュア保護するためのプログラム命令と
を含む、請求項15に記載のコンピュータ・システム。
【請求項17】
前記ハイブリッド共有秘密で前記データを暗号化するためのプログラム命令は、
前記従来の共有秘密をランダムに生成するためのプログラム命令と、
前記従来の公開鍵で前記従来の共有秘密を暗号化するためのプログラム命令と、
前記PQC公開鍵を用いて前記PQC共有秘密を導出するためのプログラム命令と、
前記PQC公開鍵に基づき、PQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出するためのプログラム命令と、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いることにより、前記ハイブリッド共有秘密を生成するためのプログラム命令と、
前記ハイブリッド共有秘密で前記データを暗号化するためのプログラム命令と、
前記暗号化された従来の共有秘密、前記新しいPQC公開鍵、及び前記暗号化されたデータを、エンコーディングとして格納するためのプログラム命令と
を含む、請求項15に記載のコンピュータ・システム。
【請求項18】
前記ハイブリッド共有秘密で前記データを復号するためのプログラム命令は、
前記暗号化された従来の共有秘密、前記新しいPQC公開鍵、及び前記暗号化されたデータの前記エンコーディングを読み取るためのプログラム命令と、
前記従来の秘密鍵で前記従来の共有秘密を復号するためのプログラム命令と、
前記新しいPQC公開鍵及び前記PQC秘密鍵を用いて前記PQC共有秘密を導出するためのプログラム命令と、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いて前記ハイブリッド共有秘密を生成するためのプログラム命令と、
前記暗号化されたデータを前記ハイブリッド共有秘密で復号するためのプログラム命令と
を含む、請求項17に記載のコンピュータ・システム。
【請求項19】
前記ハイブリッド共有秘密で前記データを暗号化するためのプログラム命令は、
新しい従来の秘密鍵及び新しい従来の公開鍵を含む新しい従来の鍵ペアを生成するためのプログラム命令と、
前記従来の公開鍵及び前記新しい従来の秘密鍵を用いて前記従来の共有秘密を導出するためのプログラム命令と、
前記新しい従来の秘密鍵を廃棄するためのプログラム命令と、
前記PQC公開鍵を用いて前記PQC共有秘密を導出するためのプログラム命令と、
前記PQC公開鍵に基づき、PQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出するためのプログラム命令と、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いることにより、前記ハイブリッド共有秘密を生成するためのプログラム命令と、
前記ハイブリッド共有秘密で前記データを暗号化するためのプログラム命令と、
前記新しい従来の公開鍵、前記新しいPQC公開鍵、及び前記暗号化されたデータを、エンコーディングとして格納するためのプログラム命令と
を含む、請求項15に記載のコンピュータ・システム。
【請求項20】
前記ハイブリッド共有秘密で前記データを復号するためのプログラム命令は、
前記新しい従来の公開鍵、前記新しいPQC公開鍵、及び前記暗号化されたデータの前記エンコーディングを読み取るためのプログラム命令と、
前記新しい従来の公開鍵及び前記従来の秘密鍵を用いて前記従来の共有秘密を導出するためのプログラム命令と、
前記新しいPQC公開鍵及び前記PQC秘密鍵を用いて前記PQC共有秘密を導出するためのプログラム命令と、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いて前記ハイブリッド共有秘密を生成するためのプログラム命令と、
前記暗号化されたデータを前記ハイブリッド共有秘密で復号するためのプログラム命令と
を含む、請求項19に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、データの暗号化及び復号の分野に関し、より詳細には、従来のアルゴリズム及びポスト量子暗号(PQC)アルゴリズムの両方の長所を組み合わせて、エンコーディングにおいて保存データ(data at rest)をセキュア保護することに関する。
【背景技術】
【0002】
暗号技術において、暗号化は、情報をエンコードするプロセスであり得る。エンコーディング・プロセスは、平文(plaintext)として知られる情報のオリジナルの表現を、暗号文として知られる別の形態に変換することができる。理想的には、権限のある当事者のみが、暗号文を解読して平文に戻し、オリジナルの情報にアクセスすることができる。公開鍵暗号化スキームでは、誰もが暗号化鍵を使用してメッセージを暗号化できるように、暗号化鍵を公開することができる。しかしながら、受信当事者のみが、メッセージの読み取りを可能にする復号鍵にアクセスすることができる。量子コンピューティングは、量子機構の特性を利用して、大量のデータを同時に処理することができる。量子コンピューティングは、現在のスーパー・コンピュータよりも数千倍速い計算速度を達成することが分かっている。
【発明の概要】
【0003】
本開示の態様が、データをセキュア保護するための手法を開示する。プロセッサは、従来の公開鍵を従来の証明書において、及びPQC公開鍵をPQC証明書において公開する。プロセッサは、従来の公開鍵に基づく従来の共有秘密(shared secret)及びPQC公開鍵に基づく従来の共有秘密を用いることにより、鍵導出関数を用いて生成されたハイブリッド共有秘密でデータを暗号化する。プロセッサは、従来の秘密鍵及びPQC秘密鍵に基づくハイブリッド共有秘密でデータを復号する。プロセッサは、従来の署名に続いてPQC署名を用いてデータに署名する。
【図面の簡単な説明】
【0004】
図1】本開示の実施形態による、ハイブリッド鍵導出環境を示す機能ブロック図である。
図2】本開示の実施形態による、図1のコンピューティング・デバイス内のハイブリッド鍵導出モジュールの動作ステップを示すフローチャートである。
図3】本開示の実施形態による、図1のコンピューティング・デバイス内のハイブリッド鍵導出モジュールの配布モジュールの動作ステップを示すフローチャートである。
図4】本開示の実施形態による、図1のコンピューティング・デバイス内のハイブリッド鍵導出モジュールの暗号化モジュールの動作ステップを示すフローチャートである。
図5】本開示の実施形態による、図1のコンピューティング・デバイス内のハイブリッド鍵導出モジュールの暗号化モジュールの動作ステップを示す別のフローチャートである。
図6】本開示の実施形態による、図1のコンピューティング・デバイス内のハイブリッド鍵導出モジュールの復号モジュールの動作ステップを示すフローチャートである。
図7】本開示の実施形態による、図1のコンピューティング・デバイス内のハイブリッド鍵導出モジュールの復号モジュールの動作ステップを示す別のフローチャートである。
図8】本開示の実施形態による、図1のコンピューティング・デバイス内のハイブリッド鍵導出モジュールの署名モジュールの動作ステップを示すフローチャートである。
図9】本開示の実施形態による、図1のコンピューティング・デバイスのコンポーネントのブロック図である。
図10】本開示の実施形態による、クラウド・コンピューティング環境の実施形態を示す。
図11】本開示の実施形態による、クラウド・コンピューティング環境の抽象化モデル層の実施形態を示す。
【発明を実施するための形態】
【0005】
本開示は、従来のアルゴリズムとPQC(ポスト量子暗号)アルゴリズムの長所を組み合わせて、エンコーディングにおいて保存データをセキュア保護するためのシステム及び方法に向けられる。
【0006】
本開示の実施形態は、PKCS7(Seventh of the Public Key Cryptographic Standards)フレームワーク内で、従来のアルゴリズムと共に量子耐性アルゴリズムを用いて、保存データを、理想的には比較的新しいPQCアルゴリズムがまだ発見されていない欠陥を有し得るリスクにデータをさらすことなく、保護するための必要性を認識する。本開示の実施形態は、従来のアルゴリズムとPQCアルゴリズムの長所を組み合わせて、エンコーディング(例えば、PKCS7エンコーディング)において保存データを保護することを開示する。本開示の実施形態は、従来の(例えば、RSA(Rivest-Shamir-Adleman)及びECDH(Elliptic-curve Diffie-Hellman))及びPQCアルゴリズムの両方を組み合わせることにより、ハイブリッド鍵導出関数を用いて、PKCS7用の暗号化鍵を生成することを開示する。本開示の実施形態は、証明書においてPQC(例えば、Dilithium)アルゴリズムを用いて署名されたPQC(例えば、Kyber)公開鍵を配布することを開示する。本開示の実施形態は、データが従来の署名アルゴリズムによって署名され(データ+従来の署名)、続いてPQC署名アルゴリズムによって署名されるPKCS7の署名されたエンベロープを開示する。
【0007】
一実施形態において、送信者及び受信者は、PQC鍵ペアを用いて、PQC共有秘密(shared secret)を生成することができる。受信者のRSA公開鍵は、送信者に知られていることもあり、これを用いて、ランダムに生成された従来の共有秘密を暗号化することができる。これら2つの共有秘密をハッシュ・ベースの鍵導出関数に入力し、送信者がデータを暗号化するための暗号化鍵として使用できるハイブリッド共有秘密を生成することができる。受信者は、同様の技術を適用して、復号鍵を導出することができる。別の実施形態では、送信者及び受信者の両方が従来の(例えば、ECDH)鍵ペア及びPQC鍵ペアを有することができ、それらを使用して従来の共有秘密及びPQC共有秘密を生成することができる。これら2つの共有秘密をハッシュ・ベースの鍵導出関数に入力し、送信者がデータを暗号化するための暗号化鍵として使用できるハイブリッド共有秘密を生成することができる。受信者は、同様の技術を適用して、復号鍵を導出することができる。
【0008】
本開示の実施形態は、PQC(例えば、Dilithium)署名アルゴリズムを用いることにより直接生成し署名することができる証明書を用いて、PQC(例えば、Kyber)公開鍵を配布することを開示する。本開示の実施形態は、PKCS7の署名されエンベロープされたデータに対して、従来のアルゴリズムを用いてデータに署名し、従来の署名をデータに連結し、PQC署名アルゴリズムを用いて従来の署名とデータの結果に署名することを開示する。本開示の実施形態は、従来の証明書とPQC証明書との間で互いにバインドすることを開示する。
【0009】
ここで、図を参照して本開示を詳細に説明する。図1は、本開示の実施形態による、全体を100で示すハイブリッド鍵導出環境を示す機能ブロック図である。
【0010】
示される実施形態において、ハイブリッド鍵導出環境100は、コンピューティング・デバイス102、データ104、及びネットワーク108を含む。示される実施形態において、データ104は、コンピューティング・デバイス102の外部に位置し、ネットワーク108などの通信ネットワークを通じてアクセスされる。データ104は、コンピューティング・デバイス102から直接アクセスすることができる。他の実施形態では、データ104は、コンピューティング・デバイス102上に格納及び位置することができる。
【0011】
本開示の種々の実施形態において、コンピューティング・デバイス102は、ラップトップ・コンピュータ、タブレット・コンピュータ、ネットブック・コンピュータ、パーソナル・コンピュータ(PC)、デスクトップ・コンピュータ、携帯電話、スマートフォン、スマート・ウォッチ、ウェアラブル・コンピューティング・デバイス、携帯情報端末(PDA)、又はサーバとすることができる。別の実施形態において、コンピューティング・デバイス102は、シームレス・リソースの単一のプールとして機能するようにクラスタ化されたコンピュータ及びコンポーネントを利用するコンピューティング・システムを表す。他の実施形態では、コンピューティング・デバイス102は、クラウド・コンピューティング環境におけるようなサーバ・システムとして複数のコンピュータを利用するサーバ・コンピューティング・システムを表すこともできる。一般に、コンピューティング・デバイス102は、ハイブリッド鍵導出モジュール110及びネットワーク108へのアクセスを有する任意のコンピューティング・デバイス又はデバイスの組み合わせとすることができ、本開示の実施形態に従って、プログラム命令を処理し、ハイブリッド鍵導出モジュール110を実行することが可能である。コンピューティング・デバイス102は、図9に関してさらに詳細に示され説明されるように、内部及び外部のハードウェア・コンポーネントを含むことができる。
【0012】
さらに、示される実施形態において、コンピューティング・デバイス102は、ハイブリッド鍵導出モジュール110を含む。示される実施形態では、ハイブリッド鍵導出モジュール110は、コンピューティング・デバイス102上に位置する。しかしながら、他の実施形態では、ハイブリッド鍵導出モジュール110は、外部に位置し、ネットワーク108などの通信ネットワークを通じてアクセスすることができる。通信ネットワークは、例えば、ローカル・エリア・ネットワーク(LAN)、インターネットなどの広域ネットワーク(WAN)、又はこれら2つの組み合わせとすることができ、有線、無線、光ファイバ、又は当技術分野で知られている他の任意の接続を含むことができる。一般に、通信ネットワークは、本開示の望ましい実施形態に従った、コンピューティング・デバイス102とハイブリッド鍵導出モジュール110との間の通信をサポートする接続及びプロトコルの任意の組み合わせとすることができる。
【0013】
1つ又は複数の実施形態において、ハイブリッド鍵導出モジュール110は、従来の公開鍵を従来の証明書において公開し、PQC公開鍵をPQC証明書において公開するように構成される。ハイブリッド鍵導出モジュール110は、従来の鍵ペアを生成することができる。従来の鍵ペアは、従来の秘密鍵及び従来の公開鍵を含むことができる。一例では、従来の鍵ペアは、RSA鍵ペアとすることができる。RSA鍵ペアは、データ104を暗号化及び復号するために使用することができる。RSA公開鍵は、誰にでも知られてよい。RSA秘密鍵は、秘密にしておく必要がある。公開鍵を用いて暗号化されたメッセージは、秘密鍵で復号することができる。別の例では、従来の鍵ペアは、ECDH鍵ペアとすることができる。ECDHは、各々が楕円曲線公開鍵-秘密鍵ペアを有する2つの当事者が、安全でないチャネル上で共有秘密を確立することを可能にする鍵共有プロトコル(key agreement protocol)とすることができる。この共有秘密は、鍵として直接使用することも、又は別の鍵を導出するために使用することができる。この鍵又は導出された鍵は、対称鍵暗号を用いて後の通信を暗号化するために使用することもできる。一例では、ハイブリッド鍵導出モジュール110は、Diffie-Hellman Ephemeral(DHE)鍵ペアを生成することができる。DHEは、静的鍵(static key)を使用するDiffie-Hellman鍵交換の修正形態とすることができる。暗号鍵が鍵交換プロセスの各実行に対して生成される場合、暗号鍵は、エフェメラル(ephemeral)と呼ばれることがある。幾つかの例では、送信者がメッセージごとに1つのエフェメラル鍵ペアのみを生成し、秘密鍵が各々の受信者の公開鍵と別々に結合される単一のセッション内で(例えば、ブロードキャスト用途において)、エフェメラル鍵を複数回使用することができる。ハイブリッド鍵導出モジュール110は、PQC鍵ペアを生成することができる。PQC鍵ペアは、PQC秘密鍵及びPQC公開鍵を含むことができる。PQCは、量子コンピュータによる攻撃に対して安全であり得る暗号アルゴリズムを指すことができる。一例では、PQCは、安全な鍵カプセル化機構(例えば、Kyber)とすることができ、そのセキュリティは、モジュール格子上でエラーを伴う学習(learning-with-errors)問題を解くことの困難さに基づく。鍵カプセル化機構は、非対称(公開鍵)アルゴリズムを用いて伝送用の対称暗号鍵材料を保護するように設計された暗号化技術のクラスとすることができる。Kyber鍵は、暗号化及び復号に使用することができる。Kyber公開鍵は、Dilithium鍵を用いて署名された証明書において公開することができる。例えば、Dilithiumは、モジュール格子上の格子問題の困難さに基づく選択されたメッセージ攻撃下で安全なデジタル署名スキームとすることができる。ハイブリッド鍵導出モジュール110は、従来の公開鍵を、暗号化のために使用される従来の証明書において公開することができる。ハイブリッド鍵導出モジュール110は、PQC公開鍵を、暗号化のために使用されるPQC証明書において公開することができる。ハイブリッド鍵導出モジュール110は、従来の秘密鍵及びPQC秘密鍵を格納しセキュア保護することができる。
【0014】
1つ又は複数の実施形態において、ハイブリッド鍵導出モジュール110は、ハイブリッド共有秘密でデータ104を暗号化するように構成される。ハイブリッド鍵導出モジュール110は、従来の公開鍵に基づく従来の共有秘密及びPQC公開鍵に基づくPQC共有秘密を用いることにより、鍵導出関数を用いてハイブリッド共有秘密を生成することができる。一例では、ハイブリッド鍵導出モジュール110は、従来の共有秘密をランダムに生成することができる。ハイブリッド鍵導出モジュール110は、従来の公開鍵で従来の共有秘密を暗号化することができる。実施形態において、従来の共有秘密は、RSA共有秘密とすることができる。従来の公開鍵は、RSA公開鍵とすることができる。ハイブリッド鍵導出モジュール110は、PQC公開鍵を用いてPQC共有秘密を導出することができる。ハイブリッド鍵導出モジュール110は、ピアのPQC公開鍵に基づき、PQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出することができる。一例において、PQC鍵カプセル化機構は、Kyberとすることができ、そのセキュリティは、モジュール格子上でエラーを伴う学習問題を解くことの困難さに基づくものであり得る。Kyberは、異なるセキュリティ・レベルを目的とした異なるパラメータ・セットを有することができる。例えば、Kyber-512はAES-128とほぼ等しいセキュリティを目的とし、Kyber-768はAES-192とほぼ等しいセキュリティを目的とし、Kyber-1024はAES-256とほぼ等しいセキュリティを目的とする。AES(Advanced Encryption Standard)は、例えば米国国立標準技術研究所により確立された電子データの暗号化のための仕様である。ハイブリッド鍵導出モジュール110は、従来の共有秘密及びPQC共有秘密に基づき、鍵導出関数を用いることにより、ハイブリッド共有秘密を生成することができる。一例では、鍵導出関数は、ハッシュ・ベースの鍵導出関数とすることができる。ハッシュ・ベースの鍵導出は、ハッシュ・ベースのメッセージ認証コードに基づく単純な鍵導出関数とすることができる。ハッシュ・ベースの鍵導出は、入力鍵を取得し、入力鍵から固定長の擬似乱数鍵を抽出することができる。ハッシュ・ベースの鍵導出は、入力鍵を幾つかの付加的な擬似乱数鍵に拡張することができる。一例では、ハッシュ・ベースの鍵導出は、Diffie-Hellmanを介して交換された共有秘密を、暗号化、完全性チェック、又は認証における使用に適した鍵材料に変換することができる。ハイブリッド鍵導出モジュール110は、ハイブリッド共有秘密でデータ104を暗号化することができる。ハイブリッド鍵導出モジュール110は、暗号化された従来の共有秘密、新しいPQC公開鍵、及び暗号化されたデータを、エンコーディングとして格納することができる。一例では、エンコーディングは、PKCS7エンコーディングとすることができる。ハイブリッド鍵導出モジュール110は、PKCS7エンコーディングを受信者に送信することができる。
【0015】
別の例では、ハイブリッド鍵導出モジュール110は、従来のECDHアルゴリズム及びPQCアルゴリズムの両方を組み合わせることにより、PKCS7用の暗号化鍵を生成するために、ハイブリッド鍵関数を使用することができる。ハイブリッド鍵導出モジュール110は、新しい従来の鍵ペアを生成することができる。一例では、新しい従来の鍵ペアは、エフェメラルDHE鍵ペアである。新しい従来の鍵ペアは、新しい従来の秘密鍵及び新しい従来の公開鍵を含むことができる。ハイブリッド鍵導出モジュール110は、ピアの従来の公開鍵及び新しい従来の秘密鍵を用いて従来の共有秘密を導出することができる。ハイブリッド鍵導出モジュール110は、新しい従来の秘密鍵を破棄することができる。ハイブリッド鍵導出モジュール110は、PQC公開鍵を用いてPQC共有秘密を導出することができる。ハイブリッド鍵導出モジュール110は、ピアのPQC公開鍵に基づき、PQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出することができる。ハイブリッド鍵導出モジュール110は、従来の共有秘密及びPQC共有秘密に基づき、鍵導出関数を用いることにより、ハイブリッド共有秘密を生成することができる。ハイブリッド鍵導出モジュール110は、ハイブリッド共有秘密でデータ104を暗号化することができる。ハイブリッド鍵導出モジュール110は、新しい従来の公開鍵、新しいPQC公開鍵、及び暗号化されたデータを、エンコーディングとして格納することができる。エンコーディングは、PKCS7エンコーディングとすることができる。
【0016】
1つ又は複数の実施形態において、ハイブリッド鍵導出モジュール110は、従来の秘密鍵及びPQC秘密鍵に基づくハイブリッド共有秘密でデータ104を復号するように構成される。実施形態において、ハイブリッド鍵導出モジュール110は、ハイブリッド(例えば、従来のRSA及びPQCの両方)共有秘密生成アルゴリズムを用いて、保存データ104(例えば、PKCS7)を復号することができる。例えば、ハイブリッド鍵導出モジュール110は、暗号化された従来の共有秘密、新しいPQC公開鍵、及び暗号化されたデータのエンコーディングを読み取ることができる。ハイブリッド鍵導出モジュール110は、従来の秘密鍵で従来の共有秘密を復号することができる。一例では、従来の共有秘密は、RSA共有秘密とすることができる。従来の秘密鍵は、RSA秘密鍵とすることもできる。ハイブリッド鍵導出モジュール110は、新しいPQC公開鍵及びPQC秘密鍵を用いてPQC共有秘密を導出することができる。ハイブリッド鍵導出モジュール110は、従来の共有秘密及びPQC共有秘密に基づき、鍵導出関数を用いてハイブリッド共有秘密を生成することができる。一例では、鍵導出関数は、ハッシュ・ベースの鍵導出関数とすることができる。ハイブリッド鍵導出モジュール110は、暗号化されたデータ104をハイブリッド共有秘密で復号することができる。ハイブリッド鍵導出モジュール110は、データ104をセキュア保護し、復元することができる。別の実施形態では、ハイブリッド鍵導出モジュール110は、ハイブリッド(例えば、従来のECDH及びPQCの両方)共有秘密生成アルゴリズムを用いて、保存データ104(例えば、PKCS7)を復号することができる。例えば、ハイブリッド鍵導出モジュール110は、新しい従来の公開鍵、新しいPQC公開鍵、及び暗号化されたデータのエンコーディングを読み取ることができる。ハイブリッド鍵導出モジュール110は、新しい従来の公開鍵(例えば、別のECDH公開鍵)及び従来の秘密鍵(例えば、ECDH秘密鍵)を用いて従来の共有秘密(例えば、従来のECDH共有秘密)を導出することができる。ハイブリッド鍵導出モジュール110は、新しいPQC公開鍵及びPQC秘密鍵を用いてPQC共有秘密を導出することができる。ハイブリッド鍵導出モジュール110は、従来の共有秘密及びPQC共有秘密に基づき、鍵導出関数を用いてハイブリッド共有秘密を生成することができる。ハイブリッド鍵導出モジュール110は、暗号化されたデータ104をハイブリッド共有秘密で復号することができる。ハイブリッド鍵導出モジュール110は、データ104をセキュア保護し、復元することができる。
【0017】
1つ又は複数の実施形態において、ハイブリッド鍵導出モジュール110は、従来の署名に続いてPQC署名を用いてデータ104に署名するように構成される。ハイブリッド鍵導出モジュール110は、従来の公開鍵及びPQC公開鍵の証明書の妥当性を確認することができる。ハイブリッド鍵導出モジュール110は、データに対して従来の公開鍵を用いて従来の署名を検証することができる。ハイブリッド鍵導出モジュール110は、従来の署名に連結されたデータに対してPQC公開鍵を用いてPQC署名を検証することができる。ハイブリッド鍵導出モジュール110は、PQC(例えば、Dilithium)署名アルゴリズムを用いることにより直接生成し署名することができる証明書を使用して、PQC(例えば、Kyber)公開鍵を配布することができる。PKCS7の署名されエンベロープされたデータに対して、ハイブリッド鍵導出モジュール110は、従来のアルゴリズムを用いてデータに署名し、従来の署名をデータに連結し、PQCアルゴリズムを用いて従来の署名とデータの結果に署名することができる。ハイブリッド鍵導出モジュール110は、従来の証明書とPQCの証明書との間で互いにバインドすることができる。
【0018】
さらに、示される実施形態において、ハイブリッド鍵導出モジュール110は、配布モジュール112、暗号化モジュール114、復号モジュール116、及び署名モジュール118を含む。示される実施形態では、配布モジュール112、暗号化モジュール114、復号モジュール116、及び署名モジュール118は、コンピューティング・デバイス102上に位置する。しかしながら、他の実施形態では、配布モジュール112、暗号化モジュール114、復号モジュール116、及び署名モジュール118は、外部に位置し、ネットワーク108などの通信ネットワークを通じてアクセスすることができる。
【0019】
1つ又は複数の実施形態において、配布モジュール112は、従来の公開鍵を従来の証明書において公開し、PQC公開鍵をPQC証明書において公開するように構成される。配布モジュール112は、従来の鍵ペアを生成することができる。従来の鍵ペアは、従来の秘密鍵及び従来の公開鍵を含むことができる。一例では、従来の鍵ペアは、RSA鍵ペアとすることができる。RSA鍵ペアは、データ104を暗号化し、復号するために使用することができる。RSA公開鍵は、誰にでも知られてよい。RSA秘密鍵は、秘密にしておく必要がある。公開鍵を用いて暗号化されたメッセージは、秘密鍵で復号することができる。別の例では、従来の鍵ペアは、ECDH鍵ペアとすることができる。ECDHは、各々が楕円曲線公開鍵-秘密鍵ペアを有する2つの当事者が、安全でないチャネル上で共有秘密を確立することを可能にする鍵共有プロトコルとすることができる。この共有秘密は、鍵として直接使用することも、又は別の鍵を導出するために使用することもできる。この鍵又は導出された鍵は、対称鍵暗号を使用して後の通信を暗号化するために使用することができる。一例では、配布モジュール112は、DHE鍵ペアを生成することができる。DHEは、静的鍵を使用するDiffie-Hellman鍵交換の修正形態とすることができる。暗号鍵が鍵交換プロセスの各実行に対して生成される場合、暗号鍵はエフェメラルと呼ばれることがある。幾つかの例では、送信者がメッセージごとに1つのエフェメラル鍵ペアのみを生成し、秘密鍵が各受信者の公開鍵と別々に結合される単一のセッション内で(例えば、ブロードキャスト用途において)、エフェメラル鍵を複数回使用することができる。配布モジュール112は、PQC鍵ペアを生成することができる。PQC鍵ペアは、PQC秘密鍵及びPQC公開鍵を含むことができる。PQCは、量子コンピュータによる攻撃に対して安全であり得る暗号アルゴリズムを指すことができる。一例では、PQCは、安全な鍵カプセル化機構(例えば、Kyber)とすることができ、そのセキュリティは、モジュール格子上でエラーを伴う学習問題を解くことの困難さに基づく。鍵カプセル化機構は、非対称(公開鍵)アルゴリズムを使用して伝送用の対称暗号鍵材料を保護するように設計された暗号化技術のクラスとすることができる。Kyber鍵は、暗号化及び復号に使用することができる。Kyber公開鍵は、Dilithium鍵を用いて署名された証明書において公開することができる。例えば、Dilithiumは、モジュール格子上の格子問題の困難さに基づく選択されたメッセージ攻撃下で安全なデジタル署名スキームとすることができる。配布モジュール112は、従来の公開鍵を、暗号化に使用するために従来の証明書において公開することができる。配布モジュール112は、PQC公開鍵を、暗号化に使用するためにPQC証明書において公開することができる。配布モジュール112は、従来の秘密鍵及びPQCの秘密鍵を格納しセキュア保護することができる。
【0020】
1つ又は複数の実施形態において、暗号化モジュール114は、ハイブリッド共有秘密でデータ104を暗号化するように構成される。暗号化モジュール114は、従来の公開鍵に基づく従来の共有秘密及びPQC公開鍵に基づくPQC共有秘密を用いることにより、鍵導出機能を用いてハイブリッド共有秘密を生成することができる。一例では、暗号化モジュール114は、従来の共有秘密をランダムに生成することができる。暗号化モジュール114は、従来の公開鍵で従来の共有秘密を暗号化することができる。実施形態において、従来の共有秘密は、RSA共有秘密とすることができる。従来の公開鍵は、RSA公開鍵とすることができる。暗号化モジュール114は、PQC公開鍵を用いてPQC共有秘密を導出することができる。暗号化モジュール114は、ピアのPQC公開鍵に基づき、PQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出することができる。一例では、PQC鍵カプセル化機構は、Kyberとすることができ、そのセキュリティは、モジュール格子上でエラーを伴う学習問題を解くことの困難さに基づき得る。Kyberは、異なるセキュリティ・レベルを目的とした異なるパラメータ・セットを有することができる。例えば、Kyber-512はAES-128とほぼ等しいセキュリティを目的とし、Kyber-768はAES-192とほぼ等しいセキュリティを目的とし、Kyber-1024はAES-256とほぼ等しいセキュリティを目的とする。AESは、例えば、米国国立標準技術研究所により確立された電子データの暗号化のための仕様とすることができる。暗号化モジュール114は、従来の共有秘密及びPQC共有秘密に基づき、鍵導出関数を用いることによりハイブリッド共有秘密を生成することができる。一例では、鍵導出関数は、ハッシュ・ベースの鍵導出関数とすることができる。ハッシュ・ベースの鍵導出は、ハッシュ・ベースのメッセージ認証コードに基づく単純な鍵導出関数とすることができる。ハッシュ・ベースの鍵導出は、入力鍵を取得し、入力鍵から固定長の擬似乱数鍵を抽出することができる。ハッシュ・ベースの鍵導出は、入力鍵を幾つかの付加的な擬似乱数鍵に拡張することができる。一例では、ハッシュ・ベースの鍵導出は、Diffie-Hellmanを介して交換された共有秘密を、暗号化、完全性チェック、又は認証における使用に適した鍵材料に変換することができる。暗号化モジュール114は、ハイブリッド共有秘密でデータ104を暗号化することができる。暗号化モジュール114は、暗号化された従来の共有秘密、新しいPQC公開鍵、及び暗号化されたデータを、エンコーディングとして格納することができる。一例では、エンコーディングは、PKCS7エンコーディングとすることができる。暗号化モジュール114は、PKCS7エンコーディングを受信者に送信することができる。
【0021】
別の例では、暗号化モジュール114は、従来のECDH及びPQCアルゴリズムの両方を組み合わせることにより、PKCS7用の暗号化鍵を生成するために、ハイブリッド鍵関数を使用することができる。暗号化モジュール114は、新しい従来の鍵ペアを生成することができる。一例では、新しい従来の鍵ペアは、エフェメラルDHE鍵ペアである。新しい従来の鍵ペアは、新しい従来の秘密鍵及び新しい従来の公開鍵を含むことができる。暗号化モジュール114は、ピアの従来公開鍵及び新しい従来の秘密鍵を用いて従来の共有秘密を導出することができる。暗号化モジュール114は、新しい従来の秘密鍵を破棄することができる。暗号化モジュール114は、PQC公開鍵を用いてPQC共有秘密を導出することができる。暗号化モジュール114は、ピアのPQC公開鍵に基づき、PQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出することができる。暗号化モジュール114は、従来の共有秘密及びPQC共有秘密に基づき、鍵導出関数を用いることにより、ハイブリッド共有秘密を生成することができる。暗号化モジュール114は、ハイブリッド共有秘密でデータ104を暗号化することができる。暗号化モジュール114は、新しい従来の公開鍵、新しいPQC公開鍵、及び暗号化されたデータを、エンコーディングとして格納することができる。エンコーディングは、PKCS7エンコーディングとすることができる。
【0022】
1つ又は複数の実施形態において、復号モジュール116は、従来の秘密鍵及びPQC秘密鍵に基づくハイブリッド共有秘密でデータ104を復号するように構成される。実施形態において、復号モジュール116は、ハイブリッド(例えば、従来のRSA及びPQCの両方)共有秘密生成アルゴリズムを使用して、保存データ104(例えば、PKCS7)を復号することができる。例えば、復号モジュール116は、暗号化された従来の共有秘密、新しいPQC公開鍵、及び暗号化されたデータのエンコーディングを読み取ることができる。復号モジュール116は、従来の秘密鍵で従来の共有秘密を復号することができる。一例では、従来の共有秘密は、RSA共有秘密とすることができる。従来の秘密鍵は、RSA秘密鍵とすることもできる。復号モジュール116は、ピアの新しいPQC公開鍵及びPQC秘密鍵を用いてPQC共有秘密を導出することができる。復号モジュール116は、従来の共有秘密及びPQC共有秘密に基づき、鍵導出関数を用いてハイブリッド共有秘密を生成することができる。一例では、鍵導出関数は、ハッシュ・ベースの鍵導出関数とすることができる。復号モジュール116は、暗号化されたデータ104をハイブリッド共有秘密で復号することができる。復号モジュール116は、データ104をセキュア保護し、復元することができる。別の実施形態では、復号モジュール116は、ハイブリッド(例えば、従来のECDH及びPQCの両方)共有秘密生成アルゴリズムを使用して、保存データ104(例えば、PKCS7)を復号することができる。例えば、復号モジュール116は、新しい従来の公開鍵、新しいPQC公開鍵、及び暗号化されたデータのエンコーディングを読み取ることができる。復号モジュール116は、ピアの新しい従来の公開鍵(例えば、別のECDH公開鍵)及び従来の秘密鍵(例えば、ECDH秘密鍵)を用いて従来の共有秘密(例えば、従来のECDH共有秘密)を導出することができる。復号モジュール116は、ピアの新しいPQC公開鍵及びPQC秘密鍵を用いてPQC共有秘密を導出することができる。復号モジュール116は、従来の共有秘密及びPQC共有秘密に基づいて、鍵導出関数を用いてハイブリッド共有秘密を生成することができる。復号モジュール116は、暗号化されたデータ104をハイブリッド共有秘密で復号することができる。復号モジュール116は、データ104をセキュア保護し、復元することができる。
【0023】
1つ又は複数の実施形態において、署名モジュール118は、従来の署名に続いてPQC署名を用いてデータ104に署名するように構成される。署名モジュール118は、従来の公開鍵及びPQC公開鍵の証明書の妥当性を確認することができる。署名モジュール118は、データに対して従来の公開鍵を用いて従来の署名を検証することができる。署名モジュール118は、従来の署名に連結されたデータに対してPQC公開鍵を用いてPQC署名を検証することができる。署名モジュール118は、PQC(例えば、Dilithium)署名アルゴリズムを用いることにより直接生成し署名することができる証明書を使用して、PQC(例えば、Kyber)公開鍵を配布することができる。PKCS7の署名されエンベロープされたデータに対して、署名モジュール118は、従来のアルゴリズムを用いてデータに署名し、従来の署名をデータに連結し、PQCアルゴリズムを用いて従来の署名とデータの結果に署名することができる。署名モジュール118は、従来の証明書とPQCの証明書との間で互いにバインドすることができる。
【0024】
図2は、本開示の実施形態による、ハイブリッド鍵導出モジュール110の動作ステップを示すフローチャート200である。
【0025】
ハイブリッド鍵導出モジュール110は、従来の公開鍵を従来の証明書において公開し、PQC公開鍵をPQC証明書において公開するように動作する。ハイブリッド鍵導出モジュール110はまた、ハイブリッド共有秘密でデータ104を暗号化するように動作する。ハイブリッド鍵導出モジュール110は、従来の公開鍵に基づく従来の共有秘密及びPQC公開鍵に基づくPQC共有秘密を用いることにより、鍵導出関数を用いてハイブリッド共有秘密を生成することができる。ハイブリッド鍵導出モジュール110は、従来の秘密鍵及びPQC秘密鍵に基づくハイブリッド共有秘密でデータ104を復号するように動作する。ハイブリッド鍵導出モジュール110は、従来の署名に続いてPQC署名を用いてデータ104に署名するように動作する。
【0026】
ステップ202において、ハイブリッド鍵導出モジュール110は、従来の公開鍵を従来の証明書において公開し、PQC公開鍵をPQC証明書において公開する。ハイブリッド鍵導出モジュール110は、従来の鍵ペアを生成することができる。従来の鍵ペアは、従来の秘密鍵及び従来の公開鍵を含むことができる。一例では、従来の鍵ペアは、RSA鍵ペアとすることができる。RSA鍵ペアは、データ104を暗号化及び復号するために使用することができる。RSA公開鍵は、誰にでも知られてよい。RSA秘密鍵は、秘密にしておく必要がある。公開鍵を用いて暗号化されたメッセージは、秘密鍵で復号することができる。別の例では、従来の鍵ペアは、ECDH鍵ペアとすることができる。ECDHは、各々が楕円曲線公開-秘密鍵ペアを有する2つの当事者が、安全でないチャネル上で共有秘密を確立することを可能にする鍵共有(key agreement)プロトコルとすることができる。この共有秘密は、鍵として直接使用することも、又は別の鍵を導出するために使用することもできる。この鍵又は導出された鍵は、対称鍵暗号を用いて後の通信を暗号化するために使用することができる。一例では、ハイブリッド鍵導出モジュール110は、DHE鍵ペアを生成することができる。DHEは、静的鍵(static key)を使用するDiffie-Hellman鍵交換の修正版であり得る。鍵交換プロセスの各実行について暗号鍵が生成される場合、暗号鍵はエフェメラルと呼ばれることがある。幾つかの例では、送信者がメッセージごとに1つのエフェメラル鍵ペアのみを生成し、かつ秘密鍵が各々の受信者の公開鍵と別々に組み合わせられる単一のセッション内で(例えば、ブロードキャスト用途において)、エフェメラル鍵を複数回使用することができる。ハイブリッド鍵導出モジュール110は、PQC鍵ペアを生成することができる。PQC鍵ペアは、PQC秘密鍵及びPQC公開鍵を含むことができる。PQCは、量子コンピュータによる攻撃に対して安全であり得る暗号アルゴリズムを指すことができる。一例では、PQCは、安全な鍵カプセル化機構(例えば、Kyber)とすることができ、そのセキュリティは、モジュール格子上でエラーを伴う学習問題を解くことの困難さに基づく。鍵カプセル化機構は、非対称(公開鍵)アルゴリズムを用いて伝送するための対称暗号鍵材料をセキュア保護するように設計された暗号化技術のクラスとすることができる。Kyber鍵は、暗号化及び復号に使用することができる。Kyber公開鍵は、Dilithium鍵で署名された証明書において公開することができる。例えば、Dilithiumは、モジュール格子上での格子問題の困難さに基づく、選択されたメッセージ攻撃下で安全なデジタル署名スキームとすることができる。ハイブリッド鍵導出モジュール110は、従来の公開鍵を、暗号化に使用するために従来の証明書において公開することができる。ハイブリッド鍵導出モジュール110は、PQC公開鍵を、暗号化に使用するためにPQC証明書において公開することができる。ハイブリッド鍵導出モジュール110は、従来の秘密鍵及びPQC秘密鍵を格納し、セキュリティ保護することができる。
【0027】
ステップ204において、ハイブリッド鍵導出モジュール110は、ハイブリッド共有秘密でデータ104を暗号化する。ハイブリッド鍵導出モジュール110は、従来の公開鍵に基づく従来の共有秘密及びPQC公開鍵に基づくPQC共有秘密を用いて鍵導出関数を用いてハイブリッド共有秘密を生成することができる。一例では、ハイブリッド鍵導出モジュール110は、従来の共有秘密をランダムに生成することができる。ハイブリッド鍵導出モジュール110は、従来の公開鍵で従来の共有秘密を暗号化することができる。実施形態において、従来の共有秘密は、RSA共有秘密とすることができる。従来の公開鍵は、RSA公開鍵とすることができる。ハイブリッド鍵導出モジュール110は、PQC公開鍵によりPQC共有秘密を導出することができる。ハイブリッド鍵導出モジュール110は、PQC公開鍵に基づくPQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出することができる。一例では、PQC鍵カプセル化機構は、Kyberとすることができ、そのセキュリティは、モジュール格子上でエラーを伴う学習問題を解くことの困難さに基づき得る。Kyberは、異なるセキュリティ・レベルを目的とする異なるパラメータ・セットを有することができる。例えば、Kyber-512はAES-128とほぼ等しいセキュリティを目的とし、Kyber-768はAES-192とほぼ等しいセキュリティを目的とし、Kyber-1024はAES-256とほぼ等しいセキュリティを目的とする。AESは、例えば、米国国立標準技術研究所により確立された電子データの暗号化のための仕様とすることができる。ハイブリッド鍵導出モジュール110は、従来の共有秘密及びPQC共有秘密に基づいて、鍵導出関数を用いてハイブリッド共有秘密を生成することができる。一例では、鍵導出関数は、ハッシュ・ベースの鍵導出関数とすることができる。ハッシュ・ベースの鍵導出は、ハッシュ・ベースのメッセージ認証コードに基づく単純な鍵導出関数とすることができる。ハッシュ・ベースの鍵導出は、入力鍵を取得し、入力鍵から固定長の擬似乱数鍵を抽出することができる。ハッシュ・ベースの鍵導出は、入力鍵を幾つかの付加的な擬似乱数鍵に拡張することができる。一例では、ハッシュ・ベースの鍵導出は、Diffie-Hellmanを介して交換された共有秘密を、暗号化、完全性チェック、又は認証における使用に適した鍵材料に変換することができる。ハイブリッド鍵導出モジュール110は、ハイブリッド共有秘密でデータ104を暗号化することができる。ハイブリッド鍵導出モジュール110は、暗号化された従来の共有秘密、新しいPQC公開鍵、及び暗号化されたデータを、エンコーディングとして格納することができる。一例では、エンコーディングは、PKCS7エンコーディングとすることができる。ハイブリッド鍵導出モジュール110は、PKCS7符号化を受信者に送信することができる。
【0028】
別の例において、ハイブリッド鍵導出モジュール110は、従来のECDH及びPQCアルゴリズムの両方を組み合わせることにより、PKCS7のための暗号化鍵を生成するために、ハイブリッド鍵関数を用いることができる。ハイブリッド鍵導出モジュール110は、新しい従来の鍵ペアを生成することができる。一例では、新しい従来の鍵ペアは、エフェメラルDHE鍵ペアである。新しい従来の鍵ペアは、新しい従来の秘密鍵及び新しい従来の公開鍵を含むことができる。ハイブリッド鍵導出モジュール110は、従来の公開鍵及び新しい従来の秘密鍵を用いて従来の共有秘密を導出することができる。ハイブリッド鍵導出モジュール110は、新しい従来の秘密鍵を破棄することができる。ハイブリッド鍵導出モジュール110は、PQC公開鍵を用いてPQC共有秘密を導出することができる。ハイブリッド鍵導出モジュール110は、ピアのPQC公開鍵に基づき、PQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出することができる。ハイブリッド鍵導出モジュール110は、従来の共有秘密及びPQC共有秘密に基づき、鍵導出関数を用いることにより、ハイブリッド共有秘密を生成することができる。ハイブリッド鍵導出モジュール110は、ハイブリッド共有秘密でデータ104を暗号化することができる。ハイブリッド鍵導出モジュール110は、新しい従来の公開鍵、新しいPQC公開鍵、及び暗号化されたデータを、エンコーディングとして格納することができる。エンコーディングは、PKCS7エンコーディングとすることができる。
【0029】
ステップ206において、ハイブリッド鍵導出モジュール110は、従来の秘密鍵及びPQC秘密鍵に基づくハイブリッド共有秘密でデータ104を復号する。実施形態において、ハイブリッド鍵導出モジュール110は、ハイブリッド(例えば、従来のRSA及びPQCの両方の)共有秘密生成アルゴリズムを使用して、保存データ104(例えば、PKCS7)を復号することができる。例えば、ハイブリッド鍵導出モジュール110は、暗号化された従来の共有秘密、新しいPQC公開鍵、及び暗号化されたデータのエンコーディングを読み取ることができる。ハイブリッド鍵導出モジュール110は、従来の秘密鍵で従来の共有秘密を復号することができる。一例では、従来の共有秘密は、RSA共有秘密とすることができる。従来の秘密鍵は、RSA秘密鍵とすることができる。ハイブリッド鍵導出モジュール110は、新しいPQC公開鍵及びPQC秘密鍵を用いてPQC共有秘密を導出することができる。ハイブリッド鍵導出モジュール110は、従来の共有秘密及びPQC共有秘密に基づいて、鍵導出関数を用いてハイブリッド共有秘密を生成することができる。一例では、鍵導出関数は、ハッシュ・ベースの鍵導出関数とすることができる。ハイブリッド鍵導出モジュール110は、暗号化されたデータ104をハイブリッド共有秘密で復号することができる。ハイブリッド鍵導出モジュール110は、データ104をセキュア保護し、復元することができる。別の実施形態では、ハイブリッド鍵導出モジュール110は、ハイブリッド(例えば、従来のECDH及びPQCの両方の)共有秘密生成アルゴリズムを使用して、保存データ104(例えば、PKCS7)を復号することができる。例えば、ハイブリッド鍵導出モジュール110は、新しい従来の公開鍵、新しいPQC公開鍵、及び暗号化されたデータのエンコーディングを読み取ることができる。ハイブリッド鍵導出モジュール110は、新しい従来の公開鍵(例えば、別のECDH公開鍵)及び従来の秘密鍵(例えば、ECDH秘密鍵)を用いて従来の共有秘密(例えば、従来のECDH共有秘密)を導出することができる。ハイブリッド鍵導出モジュール110は、新しいPQC公開鍵及びPQC秘密鍵を用いてPQC共有秘密を導出することができる。ハイブリッド鍵導出モジュール110は、従来の共有秘密及びPQC共有秘密に基づき、鍵導出関数を用いてハイブリッド共有秘密を生成することができる。ハイブリッド鍵導出モジュール110は、暗号化されたデータ104をハイブリッド共有秘密で復号することができる。ハイブリッド鍵導出モジュール110は、データ104をセキュア保護し、復元することができる。
【0030】
ステート208において、ハイブリッド鍵導出モジュール110は、従来の署名に続いてPQCの署名を用いてデータ104に署名する。ハイブリッド鍵導出モジュール110は、従来の公開鍵及びPQC公開鍵の証明書の妥当性を確認することができる。ハイブリッド鍵導出モジュール110は、データに対して従来の公開鍵による従来の署名を検証することができる。ハイブリッド鍵導出モジュール110は、従来の署名に連結されたデータに対してPQC公開鍵を用いてPQC署名を検証することができる。ハイブリッド鍵導出モジュール110は、PQC(例えば、Dilithium)署名アルゴリズムを用いることにより直接生成し署名することができる証明書を使用して、PQC(例えば、Kyber)公開鍵を配布することができる。PKCS7の署名されエンベロープされたデータに対して、ハイブリッド鍵導出モジュール110は、従来のアルゴリズムを使用してデータに署名し、従来の署名をデータに連結し、PQCアルゴリズムを使用して従来の署名とデータとの結果に署名することができる。ハイブリッド鍵導出モジュール110は、従来の証明書とPQCの証明書との間で互いにバインドすることができる。
【0031】
図3は、本開示の実施形態による、ハイブリッド鍵導出モジュール110の配布モジュール112の動作ステップを示すフローチャート300である。
【0032】
ステップ302において、配布モジュール112は、従来の鍵ペアを生成する。従来の鍵ペアは、従来の秘密鍵及び従来の公開鍵を含むことができる。一例では、従来の鍵ペアは、RSA鍵ペアとすることができる。別の例では、従来の鍵ペアは、ECDH鍵ペアとすることができる。配布モジュール112は、DHE鍵ペアを生成することができる。ステップ304において、配布モジュール112は、PQC鍵ペアを生成する。PQC鍵ペアは、PQC秘密鍵及びPQC公開鍵を含むことができる。ステップ306において、配布モジュール112は、従来の公開鍵を、暗号化に使用するために従来の証明書において公開する。ステップ308において、配布モジュール112は、PQC公開鍵を、暗号化に使用するためにPQC証明書において公開する。ステップ310において、配布モジュール112は、従来の秘密鍵及びPQCの秘密鍵をセキュア保護する。配布モジュール112は、従来の秘密鍵及びPQC秘密鍵を格納することができる。
【0033】
図4は、本開示の実施形態によるハイブリッド鍵導出モジュール110の暗号化モジュール114の動作ステップを示すフローチャート400である。
【0034】
ステップ402において、暗号化モジュール114は、従来の共有秘密をランダムに生成する。ステップ404において、暗号化モジュール114は、従来の公開鍵で従来の共有秘密を暗号化する。実施形態において、従来の共有秘密は、RSA共有秘密とすることができる。従来の公開鍵は、RSA公開鍵とすることができる。ステップ406において、暗号化モジュール114は、PQC公開鍵を用いてPQC共有秘密を導出する。ステップ408において、暗号化モジュール114は、PQC公開鍵に基づき、PQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出する。一例では、PQC鍵カプセル化機構は、Kyberとすることができ、そのセキュリティは、モジュール格子上でエラーを伴う学習問題を解くことの困難さに基づき得る。ステップ410において、暗号化モジュール114は、従来の共有秘密及びPQC共有秘密に基づき、鍵導出関数を用いることにより、ハイブリッド共有秘密を生成する。一例では、鍵導出関数は、ハッシュ・ベースの鍵導出関数とすることができる。ハッシュ・ベースの鍵導出は、ハッシュ・ベースのメッセージ認証コードに基づく単純な鍵導出関数とすることができる。ステップ412において、暗号化モジュール114は、ハイブリッド共有秘密でデータ104を暗号化する。ステップ414において、暗号化モジュール114は、暗号化された従来の共有秘密、新しいPQC公開鍵、及び暗号化されたデータを、エンコーディングとして格納する。一例では、エンコーディングは、PKCS7エンコーディングとすることができる。暗号化モジュール114は、PKCS7エンコーディングを受信者に送信することができる。
【0035】
図5は、本開示の実施形態による、ハイブリッド鍵導出モジュール110の暗号化モジュール114の動作ステップを示す別のフローチャート500である。
【0036】
ステップ502において、暗号化モジュール114は、新しい従来の鍵ペアを生成する。一例では、新しい従来の鍵ペアは、エフェメラルDHE鍵ペアである。新しい従来の鍵ペアは、新しい従来の秘密鍵及び新しい従来の公開鍵を含むことができる。ステップ504において、暗号化モジュール114は、ピアの従来の公開鍵及び新しい従来の秘密鍵を用いて従来の共有秘密を導出する。ステップ506において、暗号化モジュール114は、新しい従来の秘密鍵を破棄する。ステップ508において、暗号化モジュール114は、PQC公開鍵を用いてPQC共有秘密を導出する。ステップ510において、暗号化モジュール114は、PQC公開鍵に基づき、PQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出する。ステップ512において、暗号化モジュール114は、従来の共有秘密及びPQC共有秘密に基づき、鍵導出関数を用いることにより、ハイブリッド共有秘密を生成する。ステップ514において、暗号化モジュール114は、ハイブリッド共有秘密でデータ104を暗号化する。ステップ516において、暗号化モジュール114は、新しい従来の公開鍵、新しいPQC公開鍵、及び暗号化されたデータを、エンコーディングとして格納する。エンコーディングは、PKCS7エンコーディングとすることができる。暗号化モジュール114は、PKCS7エンコーディングを受信者に送信することができる。
【0037】
図6は、本開示の実施形態による、ハイブリッド鍵導出モジュール110の復号モジュール116の動作ステップを示すフローチャート600である。
【0038】
ステップ602において、復号モジュール116は、暗号化された従来の共有秘密、新しいPQC公開鍵、及び暗号化されたデータのエンコーディングを読み取る。ステップ604において、復号モジュール116は、従来の秘密鍵で暗号化された従来の共有秘密を復号する。一例では、従来の共有秘密は、RSA共有秘密とすることができる。従来の秘密鍵は、RSA秘密鍵とすることができる。ステップ606において、復号モジュール116は、新しいPQC公開鍵及びPQC秘密鍵を用いてPQC共有秘密を導出する。ステップ608において、復号モジュール116は、従来の共有秘密及びPQC共有秘密に基づき、鍵導出関数を用いてハイブリッド共有秘密を生成する。一例では、鍵導出関数は、ハッシュ・ベースの鍵導出関数とすることができる。ステップ610において、復号モジュール116は、暗号化されたデータ104をハイブリッド共有秘密で復号する。復号モジュール116は、データ104をセキュア保護し、復元することができる。
【0039】
図7は、本開示の実施形態による、ハイブリッド鍵導出モジュール110の復号モジュール116の動作ステップを示す別のフローチャート700である。
【0040】
ステップ702において、復号モジュール116は、新しい従来の公開鍵、新しいPQC公開鍵、及び暗号化されたデータのエンコーディングを読み取る。ステップ704において、復号モジュール116は、新しい従来の公開鍵(例えば、別のECDH公開鍵)及び従来の秘密鍵(例えば、ECDH秘密鍵)を用いて従来の共有秘密(例えば、従来のECDH共有秘密)を導出する。ステップ706において、復号モジュール116は、新しいPQC公開鍵及びPQC秘密鍵を用いてPQC共有秘密を導出する。ステップ708において、復号モジュール116は、従来の共有秘密及びPQC共有秘密に基づき、鍵導出関数を用いてハイブリッド共有秘密を生成する。ステップ710において、復号モジュール116は、暗号化されたデータ104をハイブリッド共有秘密で復号する。復号モジュール116は、データ104をセキュア保護し、復元することができる。
【0041】
図8は、本開示の実施形態によるハイブリッド鍵導出モジュール110の署名モジュール118の動作ステップを示すフローチャート800である。
【0042】
ステップ802において、署名モジュール118は、従来の公開鍵及びPQC公開鍵の妥当性を証明する。ステップ804において、署名モジュール118は、データ104に対して従来の公開鍵を用いて従来の署名を検証する。ステップ806において、署名モジュール118は、従来の署名に連結されたデータ104に対してPQC公開鍵を用いてPQC署名を検証する。署名モジュール118は、PQC(例えば、Dilithium)署名アルゴリズムを用いることにより直接生成し署名することができる証明書を用いて、PQC(例えば、Kyber)公開鍵を配布することができる。PKCS7の署名されエンベロープされたデータに対して、署名モジュール118は、従来のアルゴリズムを用いてデータに署名し、従来の署名をデータに連結し、PQCアルゴリズムを用いて従来の署名及びデータの結果に署名することができる。署名モジュール118は、従来の証明書とPQCの証明書との間で互いにバインドすることができる。
【0043】
図9は、本開示の実施形態による、コンピューティング・デバイス102のコンポーネントのブロック図900である。図9は、1つの実装の例示のみを提供し、異なる実施形態を実装環境に関していかなる制限も意味しないことを理解されたい。示される環境に対する多くの修正をなすことができる。
【0044】
コンピューティング・デバイス102は、キャッシュ916、メモリ906、永続ストレージ908、通信ユニット910、及び入力/出力(I/O)インターフェース912の間の通信を提供する通信ファブリック902を含むことができる。通信ファブリック902は、プロセッサ(例えば、マイクロプロセッサ、通信及びネットワーク・プロセッサなど)、システム・メモリ、周辺機器、及びシステム内の任意の他のハードウェア・コンポーネントの間でデータもしくは制御情報、又はその両方を渡すように設計された任意のアーキテクチャで実装することができる。例えば、通信ファブリック902は、1つ又は複数のバス又はクロスバー・スイッチを用いて実装することができる。
【0045】
メモリ906及び永続ストレージ908は、コンピュータ可読ストレージ媒体である。本実施形態において、メモリ906は、ランダム・アクセス・メモリ(RAM)を含む。一般に、メモリ906は、任意の適切な揮発性又は不揮発性コンピュータ可読ストレージ媒体を含むことができる。キャッシュ916は、メモリ906から、最近アクセスされたデータ及びアクセスされたデータ付近のデータを保持することによって、コンピュータ・プロセッサ904の性能を向上させる高速メモリである。
【0046】
ハイブリッド鍵導出モジュール110は、キャッシュ916を介して、それぞれのコンピュータ・プロセッサ904の1つ又は複数による実行のために永続的ストレージ908及びメモリ906に格納することができる。実施形態において、永続ストレージ908は、磁気ハードディスク・ドライブを含む。代替的に又は磁気ハードディスク・ドライブに加えて、永続ストレージ908は、ソリッド・ステート・ハードドライブ、半導体ストレージ・デバイス、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROM)、フラッシュ・メモリ、又はプログラム命令又はデジタル情報を格納することができる任意の他のコンピュータ可読ストレージ憶媒体を含むことができる。
【0047】
永続ストレージ908によって使用される媒体は、取り外し可能とすることもできる。例えば、取り外し可能ハードディスクが、永続ストレージ908に使用されることがある。他の例として、永続ストレージ908の一部でもある別のコンピュータ可読ストレージ媒体に転送するためにドライブに挿入される光及び磁気ディスク、サム・ドライブ、並びにスマートカードがある。
【0048】
通信ユニット910は、これらの例では、他のデータ処理システム又はデバイスとの通信を提供する。これらの例では、通信ユニット910は、1つ又は複数のネットワーク・インターフェース・カードを含む。通信ユニット910は、物理的及び無線通信リンクのいずれか又は両方を用いて通信を提供することができる。ハイブリッド鍵導出モジュール110は、通信ユニット910を通じて永続ストレージ908にダウンロードすることができる。
【0049】
I/Oインターフェース912は、コンピューティング・デバイス102に接続することができる他のデバイスとのデータの入力及び出力を可能にする。例えば、I/Oインターフェース912は、キーボード、キーパッド、タッチスクリーン、もしくは幾つかの他の適切な入力デバイス、又はそれらの組み合わせなどの外部デバイス918への接続を提供することができる。外部デバイス918は、例えば、サム・ドライブ、携帯型光又は磁気ディスク、及びメモリ・カードなどの携帯型コンピュータ可読ストレージ媒体を含むこともできる。本発明の実施形態、例えば、ハイブリッド鍵導出モジュール110を実施するために使用されるソフトウェア及びデータは、そうした携帯型コンピュータ可読ストレージ媒体上に格納することができ、I/Oインターフェース912を介して永続ストレージ908にロードすることができる。I/Oインターフェース912はまた、ディスプレイ920にも接続する。
【0050】
ディスプレイ920は、データをユーザに表示する機構を提供し、例えば、コンピュータ・モニタとすることができる。
【0051】
本明細書に記載されるプログラムは、本発明の特定の実施形態においてそれらが実施される用途に基づいて識別される。しかしながら、本明細書における任意の特定のプログラム命名法は、単に便宜上使用されており、従って、本発明は、そうした命名法によって識別されるもしくは暗示される、又はその両方の任意の特定の用途での使用に限定されるべきではないことを理解されたい。
【0052】
本発明は、システム、方法もしくはコンピュータ・プログラム製品又はそれらの組み合わせを、いずれかの可能な技術的詳細レベルで統合したものとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(単数又は複数)を含むことができる。
【0053】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチカードもしくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【0054】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワークもしくは無線ネットワーク、又はそれらの組み合わせなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバ、又はそれらの組み合わせを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体内に格納する。
【0055】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、「C」プログラミング言語もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述されるソース・コード又はオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータもしくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネットサービスプロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行して、電子回路を個別化することができる。
【0056】
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図もしくはブロック図又はその両方を参照して説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【0057】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートもしくはブロック図又は両方の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作り出すようにすることができる。コンピュータ、プログラム可能データ処理装置もしくは他のデバイス又はそれらの組み合わせを特定の方式で機能させるように指示することができるこれらのコンピュータ・プログラム命令を、コンピュータ可読媒体内に格納することもでき、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を含むようにすることもできる。
【0058】
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生産し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャートもしくはブロック図又は両方の1つ又は複数のブロックにおいて指定された機能/動作を実行するためのプロセスを提供するようにすることもできる。
【0059】
図面内のフローチャート及びブロック図は、本発明の様々な実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図もしくはフローチャート図又は両方の各ブロック、及びブロック図もしくはフローチャート図又はその両方におけるブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
【0060】
本開示の種々の実施形態の説明は、例証の目的のために提示されたが、これらは、網羅的であること、又は開示した実施形態に限定することを意図するものではない。当業者には、説明される実施形態の範囲から逸脱することなく、多くの修正及び変形が明らかであろう。本明細書で用いられる用語は、実施形態の原理、実用性、又は市場に見られる技術に優る技術的改善を最もよく説明するため、又は、当業者が、本明細書に開示される実施形態を理解するのを可能にするために選択された。
【0061】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実装は、クラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られている又は後に開発される任意の他のタイプのコンピューティング環境と共に実施することが可能である。
【0062】
クラウド・コンピューティングは、最小限の管理労力又はサービスのプロバイダとの対話で迅速にプロビジョニング及び解放することができる構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、及び少なくとも4つのデプロイメント・モデルを含むことができる。
【0063】
特徴は、以下の通りである。
【0064】
オンデマンド・セルフ・サービス:クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
【0065】
広範なネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準的な機構を通じてアクセスされる。
【0066】
リソース・プール化:プロバイダのコンピューティング・リソースは、マルチテナントモデルを用いて複数のコンシューマにサービスを提供するためにプールされ、異なる物理及び仮想リソースが要求に応じて動的に割り当て及び再割り当てされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を持たないという点で、位置とは独立しているといえるが、より抽象化レベルの高い位置(例えば、国、州、又はデータ・センタ)を特定できる場合がある。
【0067】
迅速な弾力性:機能を、迅速かつ弾力的に、場合によっては自動的に、プロビジョニングしてすばやくスケールアウトし、迅速に解放して素早くスケールインすることができる。コンシューマにとって、プロビジョニングに利用可能な機能は、多くの場合、無制限であるように見え、いつでもどんな量でも購入できる。
【0068】
計測されるサービス:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザアカウント)に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告して、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【0069】
サービス・モデルは、以下の通りである。
【0070】
Software as a Service(SaaS):コンシューマに提供される機能は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。これらのアプリケーションは、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシンクライアントインターフェースを通じて、種々のクライアントデバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を想定される例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション能力機能をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
【0071】
Platform as a Service(PaaS):コンシューマに提供される機能は、プロバイダによってサポートされるプログラミング言語及びツールを用いて作成された、コンシューマが作成又は取得したアプリケーションを、クラウド・インフラストラクチャ上にデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージを含む基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、デプロイされたアプリケーション、及び場合によってはアプリケーションをホストする環境構成を制御する。
【0072】
Infrastructure as a Service(IaaS):コンシューマに提供される機能は、コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアをデプロイして実行させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションに対する制御、及び場合によってはネットワークコンポーネント(例えば、ホストのファイアウォール)選択に対する限定された制御を有する。
【0073】
デプロイメント・モデルは以下の通りである。
【0074】
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運営される。これは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
【0075】
コミュニティ・クラウド:クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項(例えば、ミッション、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項)を有する特定のコミュニティをサポートする。これは、それらの組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
【0076】
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループによって利用可能であり、クラウド・サービスを販売する組織によって所有される。
【0077】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションのポータビリティを可能にする標準化技術又は専用技術(例えば、クラウド間の負荷平衡のためのクラウド・バースティング)によって互いに結び付けられた、2つ又はそれより多いクラウド(プライベート、コミュニティ、又はパブリック)の混成物である。
【0078】
クラウド・コンピューティング環境は、サービス指向であり、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置く。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0079】
ここで図10を参照すると、例示的なクラウド・コンピューティング環境50が示される。図示のように、クラウド・コンピューティング環境50は、例えば、携帯情報端末(PDA)もしくはセルラ電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、もしくは自動車コンピュータ・システム54N、又はその組み合わせなどの、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信することができる、1つ又は複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信することができる。ノード10は、上述されるプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、又はハイブリッド・クラウド、又はその組み合わせなどの、1つ又は複数のネットワークにおいて物理的に又は仮想的にグループ化することができる(図示せず)。このことは、クラウド・コンピューティング環境50が、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないInfrastructure as a Service、Platform as a ServiceもしくはSoftware as a Service又はその組み合わせを提供することを可能にする。図5に示されるコンピューティング・デバイス54A~Nのタイプは、単に例示的であることが意図され、コンピューティングノード10及びクラウド・コンピューティング環境50は、任意のタイプのネットワークもしくはネットワーク・アドレス指定可能な接続又はその両方を介して任意のタイプのコンピュータ化されたデバイスと通信することが可能である(例えば、ウェブブラウザを用いて)ことが理解される。
【0080】
ここで図11を参照すると、クラウド・コンピューティング環境50(図10)によって提供される機能抽象化層のセットが示される。図11に示されるコンポーネント、層及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
【0081】
ハードウェア及びソフトウェア層60は、ハードウェア・コンポーネント及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム61、RISC(Reduced Instruction Set Computer(縮小命令セットコンピュータ))アーキテクチャベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、並びにネットワーク及びネットワーキング・コンポーネント66が含まれる。幾つかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーションサーバ・ソフトウェア67と、データベース・ソフトウェア68とを含む。
【0082】
仮想化層70は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーション及びオペレーティング・システム74、並びに仮想クライアント75を提供することができる。
【0083】
一例において、管理層80は、以下で説明される機能を提供することができる。リソース・プロビジョニング81が、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定82は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡と、これらのリソースの消費に対する課金又は請求とを提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、クラウド・コンシューマ及びタスクについての識別検証、並びにデータ及び他のリソースに対する保護を提供する。ユーザ・ポータル83は、コンシューマ及びシステム管理者に対して、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、必要なサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割当て及び管理を提供する。サービス・レベル・アグリーメント(Service Level Agreement、SLA)の計画及び履行85は、SLAに従って将来的な必要性が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
【0084】
ワークロード層90は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができる作業負荷及び機能の例として、マッピング及びナビゲーション91、ソフトウェア開発及びライフサイクル管理92、仮想教室教育配信93、データ分析処理94、トランザクション処理95、及び、例えばハイブリッド鍵導出環境100に関して上述されたようなハイブリッド鍵導出モジュール110を含むモジュール96が挙げられる。
【0085】
本発明の特定の実施形態が説明されたが、説明される実施形態と同等である他の実施形態が存在することが、当業者により理解されるであろう。従って、本発明は、特定の示される実施形態に限定されるべきではなく、添付の特許請求の範囲によってのみ限定されることを理解されたい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
【手続補正書】
【提出日】2023-07-03
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータの情報処理により実行される方法であって、
1つ又は複数のプロセッサにより、従来の公開鍵を従来の証明書において、及びポスト量子暗号(PQC)公開鍵をPQC証明書において、公開することと、
1つ又は複数のプロセッサにより、前記従来の公開鍵に基づく従来の共有秘密及び前記PQC公開鍵に基づくPQC共有秘密を用いることにより、鍵導出関数を用いて生成されたハイブリッド共有秘密でデータを暗号化することと、
1つ又は複数のプロセッサにより、従来の秘密鍵及びPQC秘密鍵に基づく前記ハイブリッド共有秘密で前記データを復号することと、
1つ又は複数のプロセッサにより、従来の署名に続いてPQC署名を用いて前記データに署名することと、
を含む方法
【請求項2】
前記従来の公開鍵及び前記PQC公開鍵を公開することは、
従来の秘密鍵及び前記従来の公開鍵を含む従来の鍵ペアを生成することと、
PQC秘密鍵及び前記PQC公開鍵を含むPQC鍵ペアを生成することと、
前記従来の公開鍵を前記従来の証明書において公開することと、
前記PQC公開鍵を前記PQC証明書において公開することと、
前記従来の秘密鍵及び前記PQC秘密鍵をセキュア保護することと
を含む、請求項1に記載の方法
【請求項3】
前記ハイブリッド共有秘密で前記データを暗号化することは、
前記従来の共有秘密をランダムに生成することと、
前記従来の公開鍵で前記従来の共有秘密を暗号化することと、
前記PQC公開鍵を用いて前記PQC共有秘密を導出することと、
前記PQC公開鍵に基づき、PQC鍵カプセル化機構を用いて新しいPQC公開鍵を導出することと、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いることにより、前記ハイブリッド共有秘密を生成することと、
前記ハイブリッド共有秘密で前記データを暗号化することと、
前記暗号化された従来の共有秘密、前記新しいPQC公開鍵、及び前記暗号化されたデータを、エンコーディングとして格納することと
を含む、請求項1に記載の方法
【請求項4】
前記ハイブリッド共有秘密で前記データを復号することは、
前記暗号化された従来の共有秘密、前記新しいPQC公開鍵、及び前記暗号化されたデータの前記エンコーディングを読み取ることと、
前記従来の秘密鍵で前記従来の共有秘密を復号することと、
前記新しいPQC公開鍵及び前記PQC秘密鍵を用いて前記PQC共有秘密を導出することと、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いて前記ハイブリッド共有秘密を生成することと、
前記暗号化されたデータを前記ハイブリッド共有秘密で復号することと
を含む、請求項3に記載の方法
【請求項5】
前記ハイブリッド共有秘密で前記データを暗号化することは、
新しい従来の秘密鍵及び新しい従来の公開鍵を含む新しい従来の鍵ペアを生成することと、
前記従来の公開鍵及び前記新しい従来の秘密鍵を用いて前記従来の共有秘密を導出することと、
前記新しい従来の秘密鍵を廃棄することと、
前記PQC公開鍵を用いて前記PQC共有秘密を導出することと、
前記PQC公開鍵に基づき、PQCカプセル化機構を用いて新しいPQC公開鍵を導出することと、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いることにより、前記ハイブリッド共有秘密を生成することと、
前記ハイブリッド共有秘密で前記データを暗号化することと、
前記新しい従来の公開鍵、前記新しいPQC公開鍵、及び前記暗号化されたデータを、エンコーディングとして格納することと
を含む、請求項1に記載の方法
【請求項6】
前記ハイブリッド共有秘密で前記データを復号することは、
前記新しい従来の公開鍵、前記新しいPQC公開鍵、及び前記暗号化されたデータの前記エンコーディングを読み取ることと、
前記新しい従来の公開鍵及び前記従来の秘密鍵を用いて前記従来の共有秘密を導出することと、
前記新しいPQC公開鍵及び前記PQC秘密鍵を用いて前記PQC共有秘密を導出することと、
前記従来の共有秘密及び前記PQC共有秘密に基づき、前記鍵導出関数を用いて前記ハイブリッド共有秘密を生成することと、
前記暗号化されたデータを前記ハイブリッド共有秘密で復号することと
を含む、請求項5に記載の方法
【請求項7】
前記従来の署名に続いて前記PQC署名を用いて前記データに署名することは、
前記従来の公開鍵及び前記PQC公開鍵の妥当性を証明することと、
前記データに対して前記従来の公開鍵を用いて前記従来の署名を検証することと、
前記従来の署名に連結された前記データに対して前記PQC公開鍵を用いて前記PQC署名を検証することと
を含む、請求項1に記載の方法
【請求項8】
請求項1から請求項7までのいずれかに記載の方法をコンピュータに実行させるプログラム命令を含む、コンピュータ・プログラム。
【請求項9】
請求項8に記載のコンピュータ・プログラムを格納した、コンピュータ可読ストレージ媒体。
【請求項10】
1つ又は複数のプロセッサ、1つ又は複数のコンピュータ可読ストレージ媒体、及び前記1つ又は複数のプロセッサの少なくとも1つにより実行されるための、前記1つ又は複数のコンピュータ可読ストレージ媒体上に格納されたプログラム命令を含み、前記プログラム命令は、前記1つ又は複数のプロセッサの少なくとも1つに、請求項1から請求項7までのいずれかに記載の方法の工程を行わせる、コンピュータ・システム。
【国際調査報告】