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

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

▶ タレス ディアイエス フランス エスアーの特許一覧 ▶ セーフネット カナダ インク.の特許一覧

特許6896940第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法
<>
  • 特許6896940-第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法 図000002
  • 特許6896940-第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法 図000003
  • 特許6896940-第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法 図000004
  • 特許6896940-第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6896940
(24)【登録日】2021年6月11日
(45)【発行日】2021年6月30日
(54)【発明の名称】第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法
(51)【国際特許分類】
   H04L 9/08 20060101AFI20210621BHJP
【FI】
   H04L9/00 601C
   H04L9/00 601E
【請求項の数】10
【全頁数】21
(21)【出願番号】特願2020-519833(P2020-519833)
(86)(22)【出願日】2018年4月4日
(65)【公表番号】特表2020-526146(P2020-526146A)
(43)【公表日】2020年8月27日
(86)【国際出願番号】EP2018058641
(87)【国際公開番号】WO2018228732
(87)【国際公開日】20181220
【審査請求日】2019年12月18日
(31)【優先権主張番号】17305728.2
(32)【優先日】2017年6月14日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】519283417
【氏名又は名称】タレス ディアイエス フランス エスアー
(73)【特許権者】
【識別番号】519445749
【氏名又は名称】タレス ディアイエス シーピーエル カナダ インク.
(74)【代理人】
【識別番号】100086368
【弁理士】
【氏名又は名称】萩原 誠
(72)【発明者】
【氏名】ルイス ミグエル, ヒューアパヤ
(72)【発明者】
【氏名】アンネ マリー, プラデン
【審査官】 寺谷 大亮
(56)【参考文献】
【文献】 特開2000−332748(JP,A)
【文献】 特開2011−217037(JP,A)
【文献】 特開2006−107406(JP,A)
【文献】 米国特許出願公開第2003/0145203(US,A1)
【文献】 米国特許出願公開第2010/0306531(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G09C 1/00−5/00
H04L 9/00−9/38
(57)【特許請求の範囲】
【請求項1】
第1のアプリケーション(102)と第2のアプリケーション(110)との間の対称型相互認証方法(40)であって、
− 分散トラストチェーン内に含まれる第1のエレメントである第1のサーバ(104)が、前記分散トラストチェーン内に含まれる第2のエレメントである少なくとも1つの第2のサーバ(108)に対して、少なくとも1つのマスタ対称鍵を送信するステップと、
− 前記第1のサーバが、前記少なくとも1つのマスタ対称鍵を前記第1のアプリケーションに送信するステップ(28)と、
− 前記第2のサーバが、少なくとも1つの鍵生成パラメータと、前記少なくとも1つのマスタ対称鍵に含まれる第1のマスタ対称鍵とを使用することによって、第1の派生対称鍵を動的に生成するステップ(38)と、
− 前記第2のサーバが、前記第1の派生対称鍵と、前記少なくとも1つの鍵生成パラメータとを前記第2のアプリケーションに送信するステップ(310)と、
− 前記第2のアプリケーションが、前記第1の派生対称鍵を使用することによって第1の鍵所有証明を生成するステップ(42)と、
− 前記第2のアプリケーションが、前記第1の鍵所有証明と、前記少なくとも1つの鍵生成パラメータとを前記第1のアプリケーションに送信するステップ(44)と、
− 前記第1のアプリケーションが、前記第1の派生対称鍵を使用することによって前記第1の鍵所有証明が生成されたものであることの検証に、前記少なくとも1つの鍵生成パラメータと、前記第1のマスタ対称鍵と、前記第1の鍵所有証明とを使用することによって成功するステップ(410)と、
− 前記第1のアプリケーションが、前記第1の派生対称鍵を使用することによって第2の鍵所有証明を生成するステップ(414)と、
− 前記第1のアプリケーションが、少なくとも前記第2の鍵所有証明を前記第2のアプリケーションに送信するステップ(416)と、
− 前記第2のアプリケーションが、動的に生成され証明された共有鍵である前記第1の派生対称鍵を使用することによって前記第2の鍵所有証明が生成されたものであることの検証に、前記第2の鍵所有証明を使用することによって成功するステップ(418)と、
を含む方法。
【請求項2】
前記少なくとも1つのマスタ対称鍵を前記第1のアプリケーションに送信するのに先立って、前記分散トラストチェーン内の第1の信頼の基点である前記第1のサーバが、前記第1のアプリケーションの証明の検証に成功する(26)、及び/又は前記第1のアプリケーションの認証に成功し、結果として提供された前記少なくとも1つのマスタ対称鍵が前記第1のアプリケーションの真正性及び完全性の証明及び/又は認証された第1のアプリケーションの証明になり、及び/又は、前記第1の派生対称鍵を前記第2のアプリケーションに送信するのに先立って、前記分散トラストチェーン内の第2の信頼の基点である前記第2のサーバが、前記第2のアプリケーションの証明の検証に成功する(34)、及び/又は前記第2のアプリケーションの認証に成功し、結果として提供された前記第1の派生対称鍵が、前記第2のアプリケーションの真正性及び完全性の証明及び/又は認証された第2のアプリケーションの証明になる、請求項1に記載の方法。
【請求項3】
前記第1のサーバが前記少なくとも1つのマスタ対称鍵を前記第1のアプリケーションに信し、前記第1のサーバが、前記少なくとも1つのマスタ対称鍵のそれぞれに関連する一意の識別子に関するデータをさらに前記第1のアプリケーションに信し、前記第2のアプリケーションが前記少なくとも1つの鍵生成パラメータを前記第2のサーバから信し、前記第2のアプリケーションが、前記第1のマスタ対称鍵に関連する一意の識別子に関するデータをさらに受信し、さらに前記第1のアプリケーションに送信する、請求項1又は2に記載の方法。
【請求項4】
前記第1の派生対称鍵が所定の第1の寿命時間有効である、請求項1乃至3の何れかに記載の方法。
【請求項5】
前記第2のサーバが、前記少なくとも1つの鍵生成パラメータに含まれる少なくとも1つの鍵生成パラメータ及び/又は前記第1のマスタ対称鍵を変更することによって、前記第1の派生対称鍵と異なる第2の派生対称鍵を生成する、請求項1乃至4の何れかに記載の方法。
【請求項6】
前記第1の鍵所有証明が、暗号化された第1のノンス及び/又は暗号化された前記第1のノンスのハッシュ値を含む、請求項1乃至5の何れかに記載の方法。
【請求項7】
前記第2の鍵所有証明が、暗号化された第2のノンス及び/又は暗号化された前記第2のノンスのハッシュ値を含む、請求項1乃至6の何れかに記載の方法。
【請求項8】
前記第1のアプリケーション及び前記第2のアプリケーションが、前記第1の鍵所有証明及び/又は前記第2の鍵所有証明に基づいてセッション鍵を別々に生成する、請求項1乃至7の何れかに記載の方法。
【請求項9】
前記第1のアプリケーションが、
− 前記第1のマスタ対称鍵と異なる第2のマスタ対称鍵を使用することにより前もって暗号化されているセッション鍵と、
− 前記第2のマスタ対称鍵に関連する一意の識別子に関するデータと、
− 前記セッション鍵が有効である所定の寿命時間と、
からなる群のうちの少なくとも1つのエレメントを、セッション鍵情報として前記第2のアプリケーションに送信する、請求項1乃至8の何れかに記載の方法。
【請求項10】
前記方法がさらに、
− 前記第1のサーバ、前記第2のサーバ、又は前記分散トラストチェーン内に含まれる第3のエレメントであり、前記第1のサーバ及び前記第2のサーバと異なる第3のサーバが、前記少なくとも1つのマスタ対称鍵を、前記第1のアプリケーション及び前記第2のアプリケーションと異なる第3のアプリケーションに送信すること、及び
− 前記第1のアプリケーション又は前記第2のアプリケーションが、前記セッション鍵情報を前記第3のアプリケーションに送信して、前記セッション鍵を使用して前記第3のアプリケーションと安全に交換を行うこと、
を含む請求項9に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法に関する。
【0002】
本発明は特に、サーバが、例えばネットワーク仮想機能(すなわちNVF)を実行し得るIntel(登録商標)Software Guard eXtensions(ソフトウェアガードエクステンション)(すなわちSGX)といったハードウェア介在エンクレーブ(すなわちHME)などの、第1及び第2のアプリケーションの1つをサポートするクラウドコンピューティングネットワークに適用できる可能性がある。
【0003】
本明細書では、HMEが、エンクレーブ内のコードとデータの両方に、エンクレーブ内のデータにアクセスするコードだけがエンクレーブ内のセキュアコードとなるように機密性及び完全性を提供する、例えば中央処理装置(すなわちCPU)などのプロセッサにより実行されるセキュアコードを含む。このような保証は、特にホストオペレーティングシステム(すなわちOS)に関係なくプロセッサ自体によって行われる。換言すれば、(管理者/ルート権限を含む)いかなる権限レベルで実行される(カーネルレベルコードを含む)いかなる他のコードもエンクレーブ内のセキュアコードにアクセスしない。
【0004】
本発明は特に、独立したエンティティである、又は例えばセキュアエレメント(すなわちSE)などのデバイスと連携する、例えば携帯電話などの携帯端末が第1及び第2のアプリケーションの1つをサポートする携帯無線通信分野に適用できる可能性がある。
【0005】
本明細書では、SEは、耐タンパ性コンポーネントとして格納データへのアクセスを保護するチップを含み、例えば(携帯)電話といったSEホストデバイスなどのデバイスとデータ通信を行うことが意図されたスマートオブジェクトである。
【0006】
本発明は特に、1つ以上の鍵を提供できるサーバである2つ以上のハードウェアセキュリティモジュール(すなわちHSM)タイプサーバに適用できる可能性がある。HSMタイプサーバは、好ましくは別々のHSMタイプサーバが互いとの信頼を構築できるようにする、例えばブロックチェーンメカニズムなどの安全なデータ交換メカニズムによって互いに接続される。
【背景技術】
【0007】
2つのアプリケーション間を公開鍵基盤(すなわちPKI)技術を用いることによって相互認証することは知られている。
【0008】
しかしながら、そのようなPKI技術は、各アプリケーションをサポートするデバイスを、デバイスに鍵ペア、すなわち秘密鍵及び対応する公開鍵を提供すると同時に製造時に構成する必要があるため実装にかなりの費用がかかる。
【0009】
また、そのようなPKI技術は、デバイスの否認防止を検証するための認証局との通信を伴う重い処理を実行する必要があるため運用にかなりの時間がかかる。
【0010】
最後に、そのような非対称暗号に基づくPKI技術は量子計算に対して無抵抗であることが知られている。知られているように、非対称暗号とは、公開鍵が暗号化に使用され、公開鍵と異なる対応する秘密鍵が復号に使用されることを意味する。
【0011】
PKI技術を用いた既知の解決策よりも安価で、速く、より安全な代替的解決策が必要である。
【発明の概要】
【発明が解決しようとする課題】
【0012】
本発明は、第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法を提供することによって、上記で特定したばかりの必要性を満たすための解決策を提案する。
【課題を解決するための手段】
【0013】
本発明による方法は以下のステップを含む。分散トラストチェーン内に含まれる第1のエレメントである第1のサーバが、分散トラストチェーン内に含まれる第2のエレメントである少なくとも1つの第2のサーバに対して、少なくとも1つのマスタ対称鍵を送受信する。第1のサーバは、少なくとも1つのマスタ対称鍵を第1のアプリケーションに送信する。第2のサーバは、少なくとも1つの鍵生成パラメータと、少なくとも1つのマスタ対称鍵に含まれる第1のマスタ対称鍵とを使用することによって第1の派生対称鍵を動的に生成する。第2のサーバは、第1の派生対称鍵及び少なくとも1つの鍵生成パラメータを第2のアプリケーションに送信する。第2のアプリケーションは、第1の派生対称鍵を使用することによって第1の鍵所有証明を生成する。第2のアプリケーションは、第1の鍵所有証明及び少なくとも1つの鍵生成パラメータを第1のアプリケーションに送信する。第1のアプリケーションは、第1の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものであることの検証に、少なくとも1つの鍵生成パラメータ、第1のマスタ対称鍵及び第1の鍵所有証明を使用することによって成功する。第1のアプリケーションは、第1の派生対称鍵を使用することによって第2の鍵所有証明を生成する。第1のアプリケーションは、少なくとも第2の鍵所有証明を第2のアプリケーションに送信する。第2のアプリケーションは、第2の鍵所有証明が動的に生成され証明された共有鍵である第1の派生対称鍵を使用することによって生成されたものであることの検証に、第2の鍵所有証明を使用することによって成功する。
【0014】
本発明の原理は、(分散)トラストチェーン内に含まれる、例えばHSMタイプサーバなどの第1及び第2のサーバを使用することにある。第1のサーバは、サーバ間で交換される1つ(又は複数)のマスタ対称鍵を第1のアプリケーションに提供する。第2のサーバは、1つ又は複数のパラメータと、第1のサーバにより第1のアプリケーションに提供された第1のマスタ対称鍵とに基づいて、第2のサーバによりオンザフライで生成される第1の派生対称鍵を第2のアプリケーションに提供する。第2のアプリケーションは、第1の派生対称鍵を使用して第1の鍵所有証明を生成する。第2のアプリケーションは、第1の派生対称鍵を生成するのに使用されたパラメータが添付された第1の鍵所有証明を第1のアプリケーションに送信する。第1のアプリケーションは、第1のマスタ対称鍵と、第1の鍵所有証明と、第1の派生対称鍵を生成するのに使用されたパラメータとを使用しながら、第1の鍵所有証明が第1の派生対称鍵を使用して生成されたものであるか否かを確認する。第1の鍵所有証明が第1の派生対称鍵を使用して生成されたものであることを第1のアプリケーションが確認した場合にのみ、第1のアプリケーションは、第2のアプリケーションが動的に生成された第1の派生対称鍵を所有していることを知る。第1のアプリケーションは、第1の派生対称鍵を使用して第2の鍵所有証明を生成する。第1のアプリケーションは、第2のアプリケーションに少なくとも第2の鍵所有証明を送信する。第2のアプリケーションは、第1の派生対称鍵を使用しながら、第2の鍵所有証明が第1の派生対称鍵を使用して生成されたものであるか否かを確認する。第2の鍵所有証明が第1の派生対称鍵を使用して生成されたものであることを第2のアプリケーションが確認した場合にのみ、第2のアプリケーションは、第1及び第2のアプリケーションが共に動的に生成された第1の派生対称鍵を共有していることを知る。
【0015】
本発明の解決策は、動的に生成された対称鍵に基づいており、対称暗号を使用することによって第1及び第2のアプリケーション間の相互認証を実行する。知られているように、対称暗号とは、同じ鍵が暗号化と復号の両方に使用されることを意味する。
【0016】
したがって、本発明の解決策は、既知のPKI技術と異なり、第1及び第2のアプリケーションのそれぞれをサポートするデバイスを、デバイスに何らかの鍵を提供すると同時に製造時に構成する必要がない。
【0017】
本発明の解決策は、対称暗号に基づいており、例えば2つのアプリケーションがフィールドで使用される場合に、第1及び第2のアプリケーション間の相互認証を行うのに使用される対称鍵が動的に生成されるため、例えば0.数マイクロ秒未満と高速である。
【0018】
本発明の解決策は、第1及び第2のアプリケーションのそれぞれが、検証後に第1及び第2のアプリケーションの他方が動的に生成された対称鍵を所有していることを確認するため安全である。
【0019】
本発明の解決策は、特に量子計算に対してより抵抗力があると知られている対称暗号に基づいているため、PKI技術を用いた既知の解決策の場合よりも安全である。
【0020】
したがって、本発明の解決策は、対称暗号を使用することによって、既知のPKIに基づいた解決策に対してセキュリティを強化する。
【0021】
例えば動的に生成された対称鍵を生成するのに使用されたマスタ対称鍵などのデータを、分散トラストチェーンのエレメントである第1及び第2のサーバ間で安全に交換するのに使用されるメカニズムは、例えばブロックチェーン技術などの任意の安全なデータ交換技術に基づくことができることに留意されたい。
【図面の簡単な説明】
【0022】
本発明の追加の特徴及び利点は、示唆的で非制限的な例である本発明の1つの好適な実施形態の詳細な説明及び関連する以下の図面から明らかになるだろう。
【0023】
図1】本発明に係る、第1及び第2のHSMと、第1のアプリケーションをサポートするクラウドサーバと、第2のアプリケーションをサポートするクライアントデバイスとを備え、動的に生成された第1の派生対称鍵に基づく第1及び第2のアプリケーション間の対称型相互認証方法の特定の実施形態を実装するように適合されたシステムの実施形態の簡略図。
図2】本発明に係る、トラストチェーン内の第1の信頼の基点である第1のHSMが、第1のアプリケーションの認証に成功した、及び/又は第1のアプリケーションの証明の検証に成功した後に第1のアプリケーションに1つ又は複数のマスタ対称鍵を提供する、第1のアプリケーションと図1の第1のHSMとの間の簡略化したメッセージフロー。
図3】本発明に係る、トラストチェーン内の第2の信頼の基点である第2のHSMが、HSMと第1のアプリケーションとの間で共有された第1のマスタ対称鍵に基づいて第1の派生対称鍵を動的に生成し、第2のアプリケーションの認証に成功した、及び/又は第2のアプリケーションの証明の検証に成功した後に第2のアプリケーションに第1の派生対称鍵を提供する、第2のアプリケーションと図1の第2のHSMとの間の簡略化したメッセージフロー。
図4】本発明に係る、2つのアプリケーションのそれぞれが、2つのアプリケーションの他方が、一方でHSM間で安全に共有され、他方で第1のアプリケーションに提供される第1のマスタ対称鍵に基づいてオンザフライで前もって生成された第1の派生対称鍵を所有していることを証明する、図1の第1及び第2のアプリケーション間の簡略化したメッセージフロー。
【発明を実施するための形態】
【0024】
以下では、本発明による第1及び第2のアプリケーション間の対称型相互認証方法が、2つのサーバである2つのHSMタイプサーバと、第1のデバイスであるクラウドサーバによりサポートされた第1のアプリケーションであるHMEと、第2のデバイスである携帯電話によりサポートされた第2のアプリケーションであるモバイルアプリケーションとによって実行される例示的な実施形態を考える。
【0025】
別の例示的な実施形態(図示せず)によれば、本発明による第1及び第2のアプリケーション間の対称型相互認証方法は、HSMタイプサーバと、第1のデバイスによりサポートされた第1のアプリケーションと、第2のデバイス(又は第1のデバイス)によりサポートされた第2のアプリケーションとによって実行される。換言すれば、HSMタイプサーバはいかなる他のHSMタイプサーバとも連携しない、すなわち2つのアプリケーションは同一のHSMタイプサーバによって管理される。このような例示的な実施形態によれば、HSMタイプサーバは、2つのHSMタイプサーバにより実行される、以下に記載の機能を実行するように適合される。
【0026】
当然ながら、以下に記載の実施形態は単に例示のためのものに過ぎず、本発明の範囲を減縮するものとは認められない。
【0027】
図1は、HME102と、第1のHSM104と、モバイルアプリケーション110と、第2のHSM108とを備えたシステム100を模式的に示している。
【0028】
クラウドサーバ101は、クラウドコンピューティングネットワーク(図示せず)内に含まれる。
【0029】
データセンターにある可能性があるクラウドサーバ101はホストアプリケーションをサポートする。
【0030】
クラウドサーバ101は、データ処理手段である1つ又は複数のCPU(図示せず)と、データ格納手段である1つ又は複数のメモリ(図示せず)と、全てが内部で互いに接続される1つ又は複数の入出力(I/O)インターフェイス(図示せず)とを備える。
【0031】
クラウドサーバメモリはオペレーティングシステム(すなわちOS)を格納している。
【0032】
ホストアプリケーションは、第1のアプリケーションであるHME102をホストする。ホストアプリケーションは、ホストアプリケーションの一部(サブセット)であるHME102と連携する。HME102は、実行されるときネットワーク仮想機能(すなわちNVF)を実行することができる。
【0033】
例えばIntel SGXなどのHME102は、クラウドサーバCPU、又はクラウドサーバ101にある専用プロセッサ(又はマイクロプロセッサ)によって実行する又は走らせることができる。
【0034】
HME102は、1つ又は複数の中間ネットワークエンティティ(図示せず)を介して、好ましくは双方向リンク103経由で第1のHSM104に接続される。
【0035】
第1のHSM104は第1のサービスプロバイダ(又はその代理)によって運用される。第1のHSM104は、双方向リンク105経由でブロックチェーンメカニズム106又は任意の他の安全なデータ交換メカニズムに接続される。
【0036】
第1のHSM104は、データ処理手段である1つ又は複数のCPU(図示せず)と、データ格納手段である1つ又は複数のメモリ(図示せず)と、全てが内部で互いに接続される1つ又は複数のI/Oインターフェイス(図示せず)とを備える。
【0037】
第1のHSMメモリはOSを格納している。
【0038】
第1のHSM104は、好ましくは第1のマスタ対称鍵セットである1つ又は複数のマスタ対称鍵を生成し格納することができる。
【0039】
第1のHSMメモリは、好ましくはHME102が1つ又は複数の所定のセキュリティ条件又は制約を満たすことを証明できる高速安全機構を促進するのに使用される1つ又は複数の暗号鍵を格納し、その結果、安全にかつ全面的に信頼してHME102に第1のマスタ対称鍵セットを提供する。
【0040】
第1のHSM104は、好ましくはマスタ対称鍵の送信先に関連する所定のセキュリティ制約(例えば、以下に記載の第1のアプリケーションの証明の検証、認証、及び/又は第1のアプリケーションの認証が1又は複数回無事に完了することなど)が満たされる場合にのみ、HME102に1つ又は複数のマスタ対称鍵を提供することができる。2つ以上のマスタ対称鍵が提供されるとき、第1のHSM104は、各マスタ対称鍵と関連するマスタ対称鍵セット内に含まれる各マスタ対称鍵に関連する一意の識別子に関するデータである各汎用一意識別子(すなわちUUID)と関連するマスタ対称鍵を送信する。
【0041】
(携帯)電話111(すなわちクラウドサーバ101又は本発明による方法の別の実施形態における別のクラウドサーバ)は、第2のアプリケーションであるモバイルアプリケーション110をサポートする。
【0042】
モバイルアプリケーション110は、1つ又は複数の中間ネットワークエンティティ(図示せず)を介して、好ましくは双方向リンク109経由で第2のHSM108に接続される。
【0043】
第2のHSM108は、好ましくは第1のサービスプロバイダと異なる第2のサービスプロバイダ(又はインフラストラクチャプロバイダ)(又はその代理)によって運用される。
【0044】
異なるサービスプロバイダは互いを知らない。
【0045】
代替的に、第1のHSM104及び第2のHSM108は、2つの異なるサービスプロバイダではなく、同一のサービスプロバイダによって運用される。
【0046】
各サービスプロバイダは、それぞれ独自のマスタ対称鍵を有する独自のHSMを有する。
【0047】
第2のHSM108は、双方向リンク107経由でブロックチェーンメカニズム106(又は任意の他の安全なデータ交換メカニズム)に接続される。
【0048】
第2のHSM108は、データ処理手段である1つ又は複数のCPU(図示せず)と、データ格納手段である1つ又は複数のメモリ(図示せず)と、全てが互いに接続される1つ又は複数のI/Oインターフェイス(図示せず)とを備える。
【0049】
第2のHSMメモリはOSを格納している。
【0050】
第2のHSM108は、好ましくは第2のマスタ対称鍵セットである1つ又は複数のマスタ対称鍵を生成し格納することができる。第2のマスタ対称鍵セットは第1のマスタ対称鍵セットと異なる。
【0051】
第2のHSMメモリは、好ましくはモバイルアプリケーション110が1つ又は複数の所定のセキュリティ制約を満たすことを証明できる高速安全機構を促進するのに使用される1つ又は複数の暗号鍵を格納し、その結果、安全にかつ全面的に信頼してモバイルアプリケーション110に第1の派生対称鍵を提供する。
【0052】
本発明の本質的な特徴によれば、第2のHSM108は、例えば第2のHSM108が前もって生成し、鍵生成パラメータとして一度だけ使用されるノンスと、第1のマスタ対称鍵とを使用することによって、第1の派生対称鍵を動的に生成するように構成される。
【0053】
第1の派生対称鍵を動的に生成する難易度を高めるために(したがって、セキュリティを強化するために)、例えば第2のHSM108及びHME102により使用される所定の鍵導出関数(すなわちKDF)に関連する一意の識別子に関するデータなどの他の鍵生成パラメータを追加することができる。
【0054】
第1のマスタ対称鍵は、第1又は第2のマスタ対称鍵セット内に含まれている。
【0055】
第1のマスタ対称鍵は、第2のHSM108又は第1のHSM104によって前もって生成されていてよい。
【0056】
第1のマスタ対称鍵は、第1のHSM104と第2のHSM108との間でブロックチェーンメカニズム106(又は任意の他の安全なデータ交換メカニズム)を介して安全に交換される。
【0057】
ブロックチェーンメカニズム106又は任意の他の安全なデータ交換メカニズムは、特に(とりわけ)第1のHSM104と第2のHSM108との間で、例えば場合により対応する関連付けられたUUIDが添付されたマスタ対称鍵などのデータ(又は各マスタ対称鍵に関連する一意の識別子に関する他のデータ)を安全に交換することを可能にする。
【0058】
ブロックチェーンメカニズム106又は任意の他の安全なデータ交換メカニズムは、第1のサービスプロバイダに関連する第1のHSM104が第2のサービスプロバイダに関連する第2のHSM108との信頼を構築することを可能にする。これによって、第1のHSM104及び第2のHSM108は、1つ又は複数のマスタ対称鍵セット及び場合により他の鍵を安全に交換する。他の鍵は、好ましくはHME102及び/又はモバイルアプリケーション110が1つ又は複数の所定のセキュリティ制約を満たすようにするメカニズムを促進すなわち加速するのに使用され、その結果、第1のHSM104によって(HME102用の)第1のマスタ対称鍵を含むマスタ対称鍵が、及び/又は第2のHSM108によって(モバイルアプリケーション110用の)第1の派生対称鍵が提供される。
【0059】
ブロックチェーンメカニズム106又は任意の他の安全なデータ交換メカニズムは、各HSM104又は108が、もう一方のHSM108又は104に安全に接続すること、及び例えば各他のマスタ対称鍵セットなどのデータを、いつでも各HSM104又は108が分散トラストチェーンに広がる全ての異なるHSM108又は104からのマスタ対称鍵セットを格納するように交換することを可能にする。
【0060】
第2のHSM108は、第1のHSM104との信頼をブロックチェーンメカニズム106(又は任意の他の安全なデータ交換メカニズム)を介して構築し、反対に、つまり第1のHSM104は、第2のHSM108との信頼をブロックチェーンメカニズム106(又は任意の他の安全なデータ交換メカニズム)を介して構築する。
【0061】
第1のHSM104は、分散トラストチェーン内に含まれる第1のエレメントを構成する。
【0062】
第2のHSM108は、第1のエレメントと異なり、分散トラストチェーン内に含まれる第2のエレメントを構成する。
【0063】
第1のHSM104及び第2のHSM108のそれぞれは、第1のHSM104及び第2のHSM108の他方により生成されたいかなるマスタ対称鍵セットも安全に入手することができる。
【0064】
本発明の本質的な特徴によれば、第2のHSM108は、モバイルアプリケーション110に、動的に生成された対称鍵である第1の派生対称鍵と、第1の派生対称鍵を生成するのに使用された鍵生成パラメータと、好ましくは(必須ではないが)(第1の派生対称鍵を生成するのに使用された)第1のマスタ対称鍵に関連する一意の識別子に関するデータとを提供するように構成される。
【0065】
電話111は、データ処理手段である1つ又は複数のCPU(図示せず)と、データ格納手段である1つ又は複数のメモリ(図示せず)と、全てが内部で互いに接続される1つ又は複数のI/Oインターフェイス(図示せず)とを備える。電話メモリはOSを格納している。
【0066】
モバイルアプリケーション110は、電話CPU、又は電話111にある専用プロセッサ(又は例えばSEの1つなどのマイクロプロセッサ)によって実行する又は走らせることができる。
【0067】
モバイルアプリケーション110はSEチップ(図示せず)によってサポートされてよい。
【0068】
本発明は、SEが存在する場合にその種類にいかなる制約も課さない。
【0069】
SEは、SEホストデバイスである端末内の、例えば埋込み汎用集積回路カード(すなわちeUICC)又は統合汎用集積回路カード(すなわちiUICC)などの組込みチップ、又はSEホストデバイスである端末に結合され、スマートカード(又は別の媒体)内に含まれているチップであってよい。したがって、チップは、例えば携帯電話などのホストデバイスに固定されるものでも取り外し可能なものでもよい。
【0070】
本発明は、SEタイプの種類にいかなる制約も課さない。
【0071】
SEは様々なフォームファクタを有してよい。
【0072】
取り外し可能なSEとしては、加入者識別モジュール(すなわちSIM)タイプカード、セキュアリムーバブルモジュール(すなわちSRM)、USB(“Universal Serial Bus”の頭字語)タイプのスマートドングル、(マイクロ)セキュアデジタル(すなわちSD)タイプカード若しくはマルチメディアタイプカード(すなわちMMC)、又はユーザを認証するためのデバイスであるホストデバイスに結合される任意のフォーマットカードであってよい。
【0073】
SEチップは、例えばベースバンドプロセッサ、アプリケーションプロセッサ及び/又は他の電子コンポーネントなどの電話コンポーネントの少なくとも一部を組み込むことができる。
【0074】
代替的に、SEチップは、電話(すなわち端末)プロセッサの保護領域及び保護されたランタイム環境である信頼できる実行環境(すなわちTEE)を含む。
【0075】
SEチップは、好ましくは、SEホストデバイスである電話111のプリント回路基板(すなわちPCB)内に、場合により取り外し可能に組み込まれる。
【0076】
本発明の本質的な特徴によれば、モバイルアプリケーション110は、第1の派生対称鍵を使用することによって、第1の鍵所有証明である、例えば暗号化された第1のノンス及び/又は暗号化された第1のノンスのハッシュ値を生成するように適合される。
【0077】
第1の鍵所有証明を生成するために、モバイルアプリケーション110は、第1の派生対称鍵と共に、例えば高度暗号化標準(すなわちAES)、データ暗号化標準(すなわちDES)又は3DESなどの所定の第1の暗号化アルゴリズムを使用する。知られているように、対応する第1の復号アルゴリズムが第1の暗号化アルゴリズムである。
【0078】
モバイルアプリケーション110は、双方向リンク113経由でHME102に、第1の派生対称鍵を生成するのに使用された鍵生成パラメータと共に第1の鍵所有証明を送信することができる。モバイルアプリケーション110は、好ましくは第1の鍵所有証明及び鍵生成パラメータに加えて、第1のマスタ対称鍵に関連する一意の識別子に関するデータを送信することができる。
【0079】
モバイルアプリケーション110は、双方向リンク113経由でHME102から、場合により他のデータと共に第2の鍵所有証明を受信することができる。
【0080】
本発明の本質的な特徴によれば、モバイルアプリケーション110は、第2の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものであるか否かを、(受信した)第2の鍵所有証明を使用することによって検証するように適合される。
【0081】
受信したデータを使用してこのような検証を行うために、モバイルアプリケーション110は、例えば(好ましくはHME102が使用した第2の暗号化アルゴリズムである)所定の第2の復号アルゴリズム及び第1の派生対称鍵を使用することによって、例えば(受信した)暗号化された第2のノンスのハッシュ値を復号し、その結果、比較される第2の基準である第2のノンスのハッシュ値を入手する。モバイルアプリケーション110は、例えば(好ましくはHME102が使用した第2の暗号化アルゴリズムである)所定の第2の復号アルゴリズム及び第1の派生対称鍵を使用することによって、例えば(受信した)暗号化された第2のノンスを復号する。次いで、モバイルアプリケーション110は、例えば第2のノンスのハッシュ値を生成し、第2のノンスのハッシュ値を第2の基準と比較する。第2のノンスのハッシュ値が第2の基準と一致しない場合、検証は失敗する。そうでない場合、すなわち第2のノンスのハッシュ値が第2の基準と一致する場合、検証は成功する。
【0082】
検証失敗の場合、第2の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものでない場合、モバイルアプリケーション110は、HME102が第1の派生対称鍵を所有していることを認証すなわち証明することができない。このような検証失敗の場合、モバイルアプリケーション110はHME102を信頼することができない。
【0083】
そうでない場合、すなわち検証成功の場合、第2の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものである場合、モバイルアプリケーション110は、HME102が第1の派生対称鍵を所有していることの認証(すなわち証明)に成功する。このような検証成功の場合、モバイルアプリケーション110はHME102を信頼することができる。
【0084】
モバイルアプリケーション110は、双方向リンク113経由でHME102に、第1の派生対称鍵を生成するのに使用された鍵生成パラメータと共に第1の鍵所有証明を送信することができる。モバイルアプリケーション110は、好ましくは第1の鍵所有証明及び鍵生成パラメータに加えて、第1のマスタ対称鍵に関連する一意の識別子に関するデータを送信することができる。
【0085】
本発明の本質的な特徴によれば、HME102は、第1の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものであるか否かを、(受信した)第1の鍵所有証明と、(受信した)鍵生成パラメータと、好ましくは(必須ではないが)受信したデータにより特定される第1のマスタ対称鍵とを使用することによって検証するように適合される。
【0086】
受信したデータを使用してこのような検証を行うために、HME102は、受信したデータを使用することによって第1のマスタ対称鍵を特定し、例えば(モバイルアプリケーション110が使用した第1の暗号化アルゴリズムである)所定の第1の復号アルゴリズムと、第1の派生対称鍵とを使用することによって、例えば(受信した)暗号化された第1のノンスのハッシュ値を復号し、その結果、比較される第1の基準である第1のノンスのハッシュ値を入手する。HME102は、受信したデータを使用することによって第1のマスタ対称鍵を特定し、例えば(モバイルアプリケーション110が使用した第1の暗号化アルゴリズムである)所定の第1の復号アルゴリズムと、第1の派生対称鍵とを使用することによって、例えば(受信した)暗号化された第1のノンスを復号する。次いで、HME102は、例えば第1のノンスのハッシュ値を生成し、第1のノンスのハッシュ値を第1の基準と比較する。第1のノンスのハッシュ値が第1の基準と一致しない場合、検証は失敗する。そうでない場合、すなわち第1のノンスのハッシュ値が第1の基準と一致する場合、検証は成功する。
【0087】
検証の結果、第1の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものでない場合、HME102は、モバイルアプリケーション110が第1の派生対称鍵を所有していることを認証すなわち証明することができない。このような失敗の場合、HME102はモバイルアプリケーション110を信頼することができない。
【0088】
そうでない場合、すなわち検証の結果、第1の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものである場合、HME102は、モバイルアプリケーション110が第1の派生対称鍵を所有していることの認証(すなわち証明)に成功する。このような成功の場合、HME102はモバイルアプリケーション110を信頼することができる。
【0089】
本発明の本質的な特徴によれば、HME102は、第1の派生対称鍵を使用することによって、第2の鍵所有証明である、例えば暗号化された第2のノンス及び/又は暗号化された第2のノンスのハッシュ値などを生成するように適合される。
【0090】
第2の鍵所有証明を生成するために、モバイルアプリケーション110は、第1の派生対称鍵と共に、例えばAES、DES又は3DESなどの所定の第2の暗号化アルゴリズムを使用する。知られているように、対応する第2の復号アルゴリズムが第2の暗号化アルゴリズムである。
【0091】
第2の暗号化アルゴリズムは、第1の暗号化アルゴリズムと異なるものであるか、第1の暗号化アルゴリズムと同じものであってよい。
【0092】
第1の鍵所有証明及び/又は第2の鍵所有証明の少なくとも1つの認証が失敗した場合は、第1及び第2のアプリケーションは相互認証を行わない。
【0093】
これに対して、第1の鍵所有証明の認証及び第2の鍵所有証明の認証が成功した場合は、第1及び第2のアプリケーションは相互認証を行う(に成功する)。
【0094】
図2に示されているように、第1のHSM104は、好ましくは安全に、すなわち1つ又は複数の所定のセキュリティ制約がHME102によって満たされていることを検証した後に、HME102に第1のマスタ対称鍵セットである1つ又は複数のマスタ対称鍵を提供する。
【0095】
このように1つ又は複数の所定のセキュリティ制約がHME102によって満たされていることを安全に検証することによって、HME102と第1のHSM104との間に事前の信頼を構築することが可能になる。これによって、HME102は第1のHSM104にテザリングされ、その結果、HME102と第1のHSM104との間に強いトラストバインディングが生じる。
【0096】
クラウドサーバ101(より厳密にはホストアプリケーション)は、対応する開始要求22をHME102に送信することによってHME102の実行を開始する。
【0097】
HME102は、例えばアプリケーション証明プロセス、アプリケーション認証プロセス及び/又はユーザ認証プロセスなどの1つ又は複数の所定のセキュリティプロセスを、1つ又は複数の鍵を使用することによって実行しながら実行される。
【0098】
所定のセキュリティプロセスは、例えばHME102により安全に格納されている所定の非対称鍵と、メッセージ認証コード(すなわちMAC)アルゴリズムなどの所定の証明アルゴリズムとを使用することによるアプリケーション証明プロセスを含んでよい。
【0099】
所定のセキュリティプロセスは、例えばHME102により安全に格納されている所定の認証鍵と、所定の認証アルゴリズムとを使用することによるコード(すなわちアプリケーション)認証プロセスを含んでよい。
【0100】
所定のセキュリティプロセスは、例えばHME102により安全に格納されている所定のユーザ認証鍵と、所定のユーザ認証アルゴリズムとを使用することによるユーザ認証プロセスを含んでよい。
【0101】
HME102は、証明レポートと、提出データであるコード認証データ及び/又はユーザ認証データとを含む1つ又は複数のメッセージ24を第1のHSM104に送信する。
【0102】
第1のHSM104は、(受信した)提出データが、例えば予想されるアプリケーション証明プロセス結果、予想されるアプリケーション認証プロセス結果及び/又は予想されるユーザ認証プロセス結果などの、予想される(すなわち所定の)セキュリティプロセス結果と一致するか否かを検証する(26)。
【0103】
提出データが予想されるセキュリティプロセス結果と一致しない場合、第1のHSM104は、セキュリティプロセスがHME102によって満たされていることを検証することができない。第1のHSM104は、エラーコード又は障害コードを含むメッセージ(図示せず)をHME102へ送信することができる。このようなエラーコード又は障害コードによって、HME102が必要なセキュリティプロセスを満たしていない旨をHME102に知らせることが可能になる。
【0104】
そうでない場合、すなわち提出データが予想されるセキュリティプロセス結果と一致する場合にのみ、第1のHSM104は、例えばHME102の証明の検証に成功する、HME102の認証に成功する、及び/又はHME102のユーザの認証に成功するなど、セキュリティプロセスが満たされていることの検証に成功する。
【0105】
検証に成功すると、分散トラストチェーン内の第1の信頼の基点である第1のHSM104は、例えばHME102の真正性及び完全性の証明、認証されたHME102の証明、及び/又は認証されたHMEユーザの証明などのセキュリティ証明である第1のマスタ対称鍵セット(及び/又は第2のマスタ対称鍵セット)を含む1つ又は複数のメッセージ28をHME102へ送信する。これによって、第1のHSM104はHME102との信頼を構築する。
【0106】
HME102は、セキュリティ証明として第1のマスタ対称鍵セット(及び/又は第2のマスタ対称鍵セット)を受信すると、第2のHSM108により管理されたモバイルアプリケーション110(及び/又は任意の他のモバイルアプリケーション)との相互認証(すなわち信頼)を構築することができる。
【0107】
図3に示されているように、第2のHSM108は、好ましくは安全に、すなわち1つ又は複数の所定のセキュリティ制約がモバイルアプリケーション110によって満たされていることを検証した後に、モバイルアプリケーション110に第1の派生対称鍵を提供する。
【0108】
このように1つ又は複数の所定のセキュリティ制約がモバイルアプリケーション110によって満たされていることを安全に検証することによって、モバイルアプリケーション110と第2のHSM108との間に事前の信頼を構築することが可能になる。これによって、モバイルアプリケーション110は第2のHSM108にテザリングされ、その結果、モバイルアプリケーション110と第2のHSM108との間にトラストバインディングが生じる。
【0109】
電話111(より厳密にはホストアプリケーション)は、対応する開始要求32をモバイルアプリケーション110に送信することによってモバイルアプリケーション110の実行を開始する。
【0110】
モバイルアプリケーション110は、例えばアプリケーション証明プロセス、アプリケーション認証プロセス及び/又はユーザ認証プロセスなどの1つ又は複数の所定のセキュリティプロセスを、1つ又は複数の鍵を使用することによって実行しながら実行される。
【0111】
所定のセキュリティプロセスは、例えばモバイルアプリケーション110により安全に格納されている所定の非対称鍵、及びMACアルゴリズムなどの所定の証明アルゴリズムを使用することによるアプリケーション証明プロセスを含んでよい。
【0112】
所定のセキュリティプロセスは、例えばモバイルアプリケーション110により安全に格納されている所定の認証鍵、及び所定の認証アルゴリズムを使用することによるコード(すなわちアプリケーション)認証プロセスを含んでよい。
【0113】
所定のセキュリティプロセスは、例えばモバイルアプリケーション110により安全に格納されている所定のユーザ認証鍵、及び所定のユーザ認証アルゴリズムを使用することによるユーザ認証プロセスを含んでよい。
【0114】
モバイルアプリケーション110は、証明レポート、提出データであるコード認証データ及び/又はユーザ認証データを含む1つ又は複数のメッセージ34を第2のHSM108に送信する。
【0115】
第2のHSM108は、(受信した)提出データが、例えば予想されるアプリケーション証明プロセス結果、予想されるアプリケーション認証プロセス結果及び/又は予想されるユーザ認証プロセス結果などの、予想される(すなわち所定の)セキュリティプロセス結果と一致するか否かを検証する(34)。
【0116】
提出データが予想されるセキュリティプロセス結果と一致しない場合、第2のHSM108は、セキュリティプロセスがモバイルアプリケーション110によって満たされていることを検証することができない。第2のHSM108は、エラーコード又は障害コードを含むメッセージ36をモバイルアプリケーション110へ送信することができる。このようなエラーコード又は障害コードによって、モバイルアプリケーション110が必要なセキュリティプロセスを満たしていない旨をモバイルアプリケーション110に知らせることが可能になる。
【0117】
そうでない場合、すなわち提出データが予想されるセキュリティプロセス結果と一致する場合にのみ、第2のHSM108は、例えばモバイルアプリケーション110の証明の検証に成功する、モバイルアプリケーション110の認証に成功する、及び/又はモバイルアプリケーション110のユーザの認証に成功するなど、セキュリティプロセスが満たされていることの検証に成功する。
【0118】
モバイルアプリケーション110が必要なセキュリティプロセスを満たす(ことに成功する)と、第2のHSM108は、例えば第1の派生対称鍵を生成するのに使用される鍵生成パラメータである、好ましくは大きい、すなわち256ビットより大きいノンス、及び好ましくは(2つ以上のマスタ対称鍵を含む場合の)第2の(又は第1の)マスタ対称鍵セットから選択される第1のマスタ対称鍵を使用することによって、(一意の)第1の派生対称鍵を動的に生成する(38)。
【0119】
第1の派生対称鍵が生成されると、分散トラストチェーン内の第2の信頼の基点である第2のHSM108は、例えばモバイルアプリケーション110の真正性及び完全性の証明、認証されたモバイルアプリケーション110の証明、及び/又は認証されたモバイルアプリケーション110のユーザの証明などのセキュリティ証明として、第1の派生対称鍵と、鍵生成パラメータと、場合により第1のマスタ対称鍵に関連する一意の識別子に関するデータとを含む、1つ又は複数のメッセージ310をモバイルアプリケーション110へ送信する。これによって、第2のHSM108は、モバイルアプリケーション110との信頼を構築する。
【0120】
モバイルアプリケーション110は、セキュリティ証明として、第1の派生対称鍵と、鍵生成パラメータと、場合により第1のマスタ対称鍵に関連する一意の識別子に関するデータとを受信すると、第1のHSM104により管理されたHME102(及び/又は任意の他のHME)との相互認証(すなわち信頼)を構築することができる。
【0121】
図4は、モバイルアプリケーション110とHME102との間で交換されるメッセージ40の例示的な実施形態を示している。
【0122】
HME102が、(第2のマスタ対称鍵セットに含まれている)各マスタ対称鍵に関連する一意の識別子に関するデータである各対応するUUIDと関連する第2のマスタ対称鍵セットをセキュリティ証明として受信していると仮定される。
【0123】
さらに、モバイルアプリケーション110が、第1の派生対称鍵と、鍵生成パラメータと、第1のマスタ対称鍵に関連する一意の識別子に関するデータである第1のマスタ対称鍵のUUIDxとをセキュリティ証明として受信していると仮定される。
【0124】
さらにまた、第1の派生対称鍵が、例えば大きいノンスを一意の鍵生成パラメータとして使用することによって生成されていると仮定される。
【0125】
さらにまた、第1のマスタ対称鍵が、前もって第2のHSM108により生成され、第1のHSM104に送信又は伝搬されている第2のマスタ対称鍵セット内に含まれていると仮定される。
【0126】
初めに、モバイルアプリケーション110は、第1の派生対称鍵を使用することによって第1の鍵所有証明を生成する(42)。
【0127】
モバイルアプリケーション110は、第1の鍵所有証明を生成するために、第1のノンスを生成し、次に第1の派生対称鍵を使用することによって第1のノンスを暗号化することができる。モバイルアプリケーション110はまた、好ましくは第1のノンスのハッシュ値を生成し、次に第1の派生対称鍵を使用することによって第1のノンスのハッシュ値を暗号化することができる。暗号化された第1のノンスのハッシュ値によって、HME102が第1の鍵所有証明の検証中に比較される第1の基準を生成することが可能になる。
【0128】
第1の鍵所有証明が生成されると、モバイルアプリケーション110は、第1の鍵所有証明である暗号化された第1のノンスと、好ましくは暗号化された第1のノンスのハッシュ値と、第1のマスタ対称鍵のUUIDxと、第1の派生対称鍵を生成するのに使用された鍵生成パラメータである大きいノンスとを含む1つ又は複数のメッセージ44をHME102へ送信する。
【0129】
メッセージ44がHME102によって受信されると、HME102は、第1のマスタ対称鍵のUUIDxに基づいて、第1の派生対称鍵を生成するのに使用された第1のマスタ対称鍵を特定する(46)。
【0130】
第1のマスタ対称鍵が特定されると、HME102は、第1のマスタ対称鍵と、鍵生成パラメータである大きいノンスとを使用することによって第1の派生対称鍵を生成する(48)。HME102は、第2のHSM108により使用される所定の鍵生成アルゴリズムを使用して第1の派生対称鍵を生成する。
【0131】
第1の派生対称鍵が生成されると、HME102は、第1の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものであるか否かを、鍵生成パラメータと、(特定された)第1のマスタ対称鍵と、第1の鍵所有証明とを使用することによって検証する(410)。
【0132】
そのような検証410を行うために、HME102は、例えば暗号化された第1のノンスを、第1の派生対称鍵を使用することによって復号し、結果として平文の第1のノンスを入手する。次いでHME102は第1のノンスのハッシュ値を生成し、(生成したばかりの)第1のノンスのハッシュ値を受信した比較対象の第1の基準と比較する。
【0133】
比較が失敗した、すなわち第1のノンスのハッシュ値が受信した比較対象の第1の基準と一致しない場合は、第1の鍵所有証明は、第1の派生対称鍵を使用することによって生成されたものではなく、HME102はモバイルアプリケーション110を認証することができない。HME102は、エラーコード又は障害コードを含むメッセージ412を送信することができる。このようなエラーコード又は障害コードによって、HME102がモバイルアプリケーション110を認証できないことをモバイルアプリケーション110に知らせることが可能になる。
【0134】
比較が成功した、すなわち第1のノンスのハッシュ値が受信した比較対象の第1の基準と一致した場合は、第1の鍵所有証明は、第1の派生対称鍵を使用することによって生成されたものであり、HME102はモバイルアプリケーション110の認証に成功する。
【0135】
モバイルアプリケーション110の認証が成功すると、HME102は、第1の派生対称鍵を使用することによって第2の鍵所有証明を生成する(414)。
【0136】
HME102は、第2の鍵所有証明を生成するために、第2のノンスを生成し、次に第1の派生対称鍵を使用することによって第2のノンスを暗号化することができる。HME102はまた、好ましくは第2のノンスのハッシュ値を生成し、次に第1の派生対称鍵を使用することによって第2のノンスのハッシュ値を暗号化することができる。暗号化された第2のノンスのハッシュ値によって、モバイルアプリケーション110が第2の鍵所有証明の検証中に比較される第2の基準を生成することが可能になる。
【0137】
第2の鍵所有証明が生成されると、HME102は、第2の鍵所有証明である暗号化された第2のノンスと、好ましくは(必須ではないが)暗号化された第2のノンスのハッシュ値とを含む1つ又は複数のメッセージ416をモバイルアプリケーション110へ送信する。
【0138】
第2の鍵所有証明が受信されると、モバイルアプリケーション110は、第2の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものであるか否かを、少なくとも第2の鍵所有証明を使用することによって検証する(416)。
【0139】
そのような検証416を行うために、モバイルアプリケーション110は、例えば暗号化された第2のノンスを、第1の派生対称鍵を使用することによって復号し、結果として平文の第2のノンスを入手する。次いでモバイルアプリケーション110は第2のノンスのハッシュ値を生成し、(生成したばかりの)第2のノンスのハッシュ値を受信した比較対象の第2の基準と比較する。
【0140】
比較が失敗した、すなわち第2のノンスのハッシュ値が受信した比較対象の第2の基準と一致しない場合は、第2の鍵所有証明は、第1の派生対称鍵を使用することによって生成されたものではなく、モバイルアプリケーション110はHME102を認証することができない。モバイルアプリケーション110は、エラーコード又は障害コードを含むメッセージ420を送信することができる。このようなエラーコード又は障害コードによって、モバイルアプリケーション110がHME102を認証できないことをHME102に知らせることが可能になる。
【0141】
比較が成功した、すなわち第2のノンスのハッシュ値が受信した比較対象の第2の基準と一致した場合は、第2の鍵所有証明は、第1の派生対称鍵を使用することによって生成されたものであり、モバイルアプリケーション110はHME102の認証に成功する。
【0142】
モバイルアプリケーション110がHME102の認証に成功すると、モバイルアプリケーション110及びHME102は、HME102及びモバイルアプリケーション110が結果として動的に生成され証明された共有鍵である第1の派生対称鍵をそれぞれ所有していることを互いに証明することによって、相互認証に成功する(422)。
【0143】
これによって、トラストチェーンネットワークは、第1のHSM104及び第2のHSM108に加えて、トラストチェーンの追加のエレメントであるHME102とモバイルアプリケーション110とを含む。
【0144】
第1の派生対称鍵は、1時間や30分などの所定の第1の寿命時間有効であってよい。
【0145】
第2のHSM108は、第1のマスタ対称鍵、及び/又は第1の派生対称鍵を生成するのに使用された1つ又は複数のパラメータを変更することによって、第1の派生対称鍵と異なる第2の派生対称鍵を生成することができる。
【0146】
HME102及びモバイルアプリケーション110は、例えば第1の鍵所有証明及び/又は第2の鍵所有証明をそれぞれ生成するのに使用された可能性があり、HME102及びモバイルアプリケーション110により共有されるデータである第1のノンス及び/又は第2のノンスに基づいて、セッション鍵を別々に生成することができる(図示せず)。
【0147】
HME102及びモバイルアプリケーション110が、例えば第1の派生対称鍵、及び/又は他方のアプリケーションが第1の派生対称鍵を所有していることを証明するのに使用されたデータなどの共有データに基づく同じセッション鍵を共有すると、HME102及びモバイルアプリケーション110は、(このセッション鍵を使用しながら)連続的かつ安全に処理を行うことができる。
【0148】
セッション鍵は、第1のマスタ対称鍵と異なる第2のマスタ対称鍵を使用することによって暗号化することができる。第2のマスタ対称鍵は、第1のHSM104及び第2のHSM108間で共有される。
【0149】
HME102(又はモバイルアプリケーション110)は、セッション鍵情報として、第1のマスタ対称鍵と異なる第2のマスタ対称鍵を使用することにより前もって暗号化されるセッション鍵、第2のマスタ対称鍵に関連する一意の識別子に関するデータ、及び/又はセッション鍵が有効である所定の寿命時間を含む1つ又は複数のメッセージ(図示せず)を、モバイルアプリケーション110(又はHME102)へ(それぞれ)送信することができる。このようなセッション鍵情報は、ヘッダ内容が暗号化されていない、すなわち平文であるため、好ましくは各メッセージのヘッダに挿入される。
【0150】
第1のHSM104、第2のHSM108、及び分散トラストチェーン内に含まれているが第1のHSM104及び第2のHSM108と異なる第3のHSMは、HME102及びモバイルアプリケーション110と異なる第3のアプリケーションに、第1のマスタ対称鍵セット及び/又は第2のマスタ対称鍵セットを送信することができる。そしてHME102又はモバイルアプリケーション110は、第3のアプリケーションにセッション鍵情報を送信し、結果として同一のセッション鍵を使用して第3のアプリケーションと安全に交換を行う。このようなセッション鍵情報の送信によって、セッション鍵情報の第3のアプリケーションへの伝搬が可能となる。このようなセッション鍵情報の送信によって、特にペイロードバランシング又は仮想ペイロードバランシングとの関連における、第1又は第2のアプリケーションから第3のアプリケーションへの通信の移植性を確保することが可能となる。そして、第3のアプリケーションとの通信は、あらゆるデータ交換においてセッション鍵情報を使用して安全性が保護される。そして第3のアプリケーションは、セッション鍵情報を使用して、第3のアプリケーションにより受信されるデータを復号し、第3のアプリケーションから送信されるデータを暗号化する。
【0151】
例えば第1のマスタ対称鍵などの、HSMトラストチェーン内で管理された1つ又は複数のマスタ対称鍵を使用するいかなるサービスプロバイダ、エンドユーザ及び/又はアプリケーションも、関与するサービスプロバイダ自体でさえも当該マスタ対称鍵を危殆化し得ないことを信じることができる。
【0152】
本発明の解決策は、好ましくはセキュアコード/データ(例えばHMEなど)の高い保証された機密性及び完全性を提供することを可能にする。
【0153】
本発明の解決策は、好ましくは対称鍵を使用する高速認証メカニズムを提供することを可能にする。このような高速認証メカニズムによって、少なくとも一方がセキュアコード/データであるHME(など)内で終端する2つのエンドポイントが、高速対称暗号を使用して互いとの信頼を迅速に構築することが可能になる。
【0154】
本発明の解決策は、セキュアコード/データ(例えばHMEなど)と安全性が低い(すなわち安全でない)コード(例えばモバイルアプリケーションなど)との高い保証された隔離を提供することを可能にする。このような隔離によって、サイドチャネル攻撃や悪意のあるクラウド管理者などの内部関係者からの攻撃から安全を確保しながら、機密コード及び機密情報を仮想ペイロード内にホストすることが可能になる。
【0155】
本発明の解決策は、別々のサービスプロバイダが、一方のサービスプロバイダにより運営される(HSMタイプサーバを備えた)システム上で動作するアプリケーション及び場合により安全なペイロードが、他方のサービスプロバイダにより運営される(別のHSMタイプサーバを備えた)別のシステム上で動作する別のアプリケーション及び別の安全なペイロードとの信頼(すなわち認証)を構築できるように相互間の信頼を構築する方法を提供することを可能にする。本発明の解決策は、セキュアコード(例えばHMEなど)及びHSMタイプサーバネットワークを伴いながら、信頼が広く分散したシステムに広がることを可能にする。
【0156】
本発明の解決策は、両面否認を提供することを可能にする。すなわち第1のアプリケーションは第2のアプリケーションが本物であることを知っており、またその逆も言える。
【0157】
本発明の解決策は、いかなる測度、すなわちPKI技術に基づくいかなる署名も必要としない。
【0158】
本発明の解決策は、動的に導出された鍵を使用する対称暗号に基づいているため単純で安全性が高い。
【0159】
本発明の解決策は、対称暗号に基づいているため高速である。
図1
図2
図3
図4