JP6896940B2 - 第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法 - Google Patents

第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法 Download PDF

Info

Publication number
JP6896940B2
JP6896940B2 JP2020519833A JP2020519833A JP6896940B2 JP 6896940 B2 JP6896940 B2 JP 6896940B2 JP 2020519833 A JP2020519833 A JP 2020519833A JP 2020519833 A JP2020519833 A JP 2020519833A JP 6896940 B2 JP6896940 B2 JP 6896940B2
Authority
JP
Japan
Prior art keywords
application
key
symmetric key
proof
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020519833A
Other languages
English (en)
Other versions
JP2020526146A (ja
Inventor
ミグエル, ヒューアパヤ ルイス
ミグエル, ヒューアパヤ ルイス
マリー, プラデン アンネ
マリー, プラデン アンネ
Original Assignee
タレス ディアイエス フランス エスアー
タレス ディアイエス フランス エスアー
タレス ディアイエス シーピーエル カナダ インク.
タレス ディアイエス シーピーエル カナダ インク.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by タレス ディアイエス フランス エスアー, タレス ディアイエス フランス エスアー, タレス ディアイエス シーピーエル カナダ インク., タレス ディアイエス シーピーエル カナダ インク. filed Critical タレス ディアイエス フランス エスアー
Publication of JP2020526146A publication Critical patent/JP2020526146A/ja
Application granted granted Critical
Publication of JP6896940B2 publication Critical patent/JP6896940B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Description

本発明は、概して第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法に関する。
本発明は特に、サーバが、例えばネットワーク仮想機能(すなわちNVF)を実行し得るIntel(登録商標)Software Guard eXtensions(ソフトウェアガードエクステンション)(すなわちSGX)といったハードウェア介在エンクレーブ(すなわちHME)などの、第1及び第2のアプリケーションの1つをサポートするクラウドコンピューティングネットワークに適用できる可能性がある。
本明細書では、HMEが、エンクレーブ内のコードとデータの両方に、エンクレーブ内のデータにアクセスするコードだけがエンクレーブ内のセキュアコードとなるように機密性及び完全性を提供する、例えば中央処理装置(すなわちCPU)などのプロセッサにより実行されるセキュアコードを含む。このような保証は、特にホストオペレーティングシステム(すなわちOS)に関係なくプロセッサ自体によって行われる。換言すれば、(管理者/ルート権限を含む)いかなる権限レベルで実行される(カーネルレベルコードを含む)いかなる他のコードもエンクレーブ内のセキュアコードにアクセスしない。
本発明は特に、独立したエンティティである、又は例えばセキュアエレメント(すなわちSE)などのデバイスと連携する、例えば携帯電話などの携帯端末が第1及び第2のアプリケーションの1つをサポートする携帯無線通信分野に適用できる可能性がある。
本明細書では、SEは、耐タンパ性コンポーネントとして格納データへのアクセスを保護するチップを含み、例えば(携帯)電話といったSEホストデバイスなどのデバイスとデータ通信を行うことが意図されたスマートオブジェクトである。
本発明は特に、1つ以上の鍵を提供できるサーバである2つ以上のハードウェアセキュリティモジュール(すなわちHSM)タイプサーバに適用できる可能性がある。HSMタイプサーバは、好ましくは別々のHSMタイプサーバが互いとの信頼を構築できるようにする、例えばブロックチェーンメカニズムなどの安全なデータ交換メカニズムによって互いに接続される。
2つのアプリケーション間を公開鍵基盤(すなわちPKI)技術を用いることによって相互認証することは知られている。
しかしながら、そのようなPKI技術は、各アプリケーションをサポートするデバイスを、デバイスに鍵ペア、すなわち秘密鍵及び対応する公開鍵を提供すると同時に製造時に構成する必要があるため実装にかなりの費用がかかる。
また、そのようなPKI技術は、デバイスの否認防止を検証するための認証局との通信を伴う重い処理を実行する必要があるため運用にかなりの時間がかかる。
最後に、そのような非対称暗号に基づくPKI技術は量子計算に対して無抵抗であることが知られている。知られているように、非対称暗号とは、公開鍵が暗号化に使用され、公開鍵と異なる対応する秘密鍵が復号に使用されることを意味する。
PKI技術を用いた既知の解決策よりも安価で、速く、より安全な代替的解決策が必要である。
本発明は、第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法を提供することによって、上記で特定したばかりの必要性を満たすための解決策を提案する。
本発明による方法は以下のステップを含む。分散トラストチェーン内に含まれる第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の鍵所有証明を使用することによって成功する。
本発明の原理は、(分散)トラストチェーン内に含まれる、例えば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の派生対称鍵を共有していることを知る。
本発明の解決策は、動的に生成された対称鍵に基づいており、対称暗号を使用することによって第1及び第2のアプリケーション間の相互認証を実行する。知られているように、対称暗号とは、同じ鍵が暗号化と復号の両方に使用されることを意味する。
したがって、本発明の解決策は、既知のPKI技術と異なり、第1及び第2のアプリケーションのそれぞれをサポートするデバイスを、デバイスに何らかの鍵を提供すると同時に製造時に構成する必要がない。
本発明の解決策は、対称暗号に基づいており、例えば2つのアプリケーションがフィールドで使用される場合に、第1及び第2のアプリケーション間の相互認証を行うのに使用される対称鍵が動的に生成されるため、例えば0.数マイクロ秒未満と高速である。
本発明の解決策は、第1及び第2のアプリケーションのそれぞれが、検証後に第1及び第2のアプリケーションの他方が動的に生成された対称鍵を所有していることを確認するため安全である。
本発明の解決策は、特に量子計算に対してより抵抗力があると知られている対称暗号に基づいているため、PKI技術を用いた既知の解決策の場合よりも安全である。
したがって、本発明の解決策は、対称暗号を使用することによって、既知のPKIに基づいた解決策に対してセキュリティを強化する。
例えば動的に生成された対称鍵を生成するのに使用されたマスタ対称鍵などのデータを、分散トラストチェーンのエレメントである第1及び第2のサーバ間で安全に交換するのに使用されるメカニズムは、例えばブロックチェーン技術などの任意の安全なデータ交換技術に基づくことができることに留意されたい。
本発明の追加の特徴及び利点は、示唆的で非制限的な例である本発明の1つの好適な実施形態の詳細な説明及び関連する以下の図面から明らかになるだろう。
本発明に係る、第1及び第2のHSMと、第1のアプリケーションをサポートするクラウドサーバと、第2のアプリケーションをサポートするクライアントデバイスとを備え、動的に生成された第1の派生対称鍵に基づく第1及び第2のアプリケーション間の対称型相互認証方法の特定の実施形態を実装するように適合されたシステムの実施形態の簡略図。 本発明に係る、トラストチェーン内の第1の信頼の基点である第1のHSMが、第1のアプリケーションの認証に成功した、及び/又は第1のアプリケーションの証明の検証に成功した後に第1のアプリケーションに1つ又は複数のマスタ対称鍵を提供する、第1のアプリケーションと図1の第1のHSMとの間の簡略化したメッセージフロー。 本発明に係る、トラストチェーン内の第2の信頼の基点である第2のHSMが、HSMと第1のアプリケーションとの間で共有された第1のマスタ対称鍵に基づいて第1の派生対称鍵を動的に生成し、第2のアプリケーションの認証に成功した、及び/又は第2のアプリケーションの証明の検証に成功した後に第2のアプリケーションに第1の派生対称鍵を提供する、第2のアプリケーションと図1の第2のHSMとの間の簡略化したメッセージフロー。 本発明に係る、2つのアプリケーションのそれぞれが、2つのアプリケーションの他方が、一方でHSM間で安全に共有され、他方で第1のアプリケーションに提供される第1のマスタ対称鍵に基づいてオンザフライで前もって生成された第1の派生対称鍵を所有していることを証明する、図1の第1及び第2のアプリケーション間の簡略化したメッセージフロー。
以下では、本発明による第1及び第2のアプリケーション間の対称型相互認証方法が、2つのサーバである2つのHSMタイプサーバと、第1のデバイスであるクラウドサーバによりサポートされた第1のアプリケーションであるHMEと、第2のデバイスである携帯電話によりサポートされた第2のアプリケーションであるモバイルアプリケーションとによって実行される例示的な実施形態を考える。
別の例示的な実施形態(図示せず)によれば、本発明による第1及び第2のアプリケーション間の対称型相互認証方法は、HSMタイプサーバと、第1のデバイスによりサポートされた第1のアプリケーションと、第2のデバイス(又は第1のデバイス)によりサポートされた第2のアプリケーションとによって実行される。換言すれば、HSMタイプサーバはいかなる他のHSMタイプサーバとも連携しない、すなわち2つのアプリケーションは同一のHSMタイプサーバによって管理される。このような例示的な実施形態によれば、HSMタイプサーバは、2つのHSMタイプサーバにより実行される、以下に記載の機能を実行するように適合される。
当然ながら、以下に記載の実施形態は単に例示のためのものに過ぎず、本発明の範囲を減縮するものとは認められない。
図1は、HME102と、第1のHSM104と、モバイルアプリケーション110と、第2のHSM108とを備えたシステム100を模式的に示している。
クラウドサーバ101は、クラウドコンピューティングネットワーク(図示せず)内に含まれる。
データセンターにある可能性があるクラウドサーバ101はホストアプリケーションをサポートする。
クラウドサーバ101は、データ処理手段である1つ又は複数のCPU(図示せず)と、データ格納手段である1つ又は複数のメモリ(図示せず)と、全てが内部で互いに接続される1つ又は複数の入出力(I/O)インターフェイス(図示せず)とを備える。
クラウドサーバメモリはオペレーティングシステム(すなわちOS)を格納している。
ホストアプリケーションは、第1のアプリケーションであるHME102をホストする。ホストアプリケーションは、ホストアプリケーションの一部(サブセット)であるHME102と連携する。HME102は、実行されるときネットワーク仮想機能(すなわちNVF)を実行することができる。
例えばIntel SGXなどのHME102は、クラウドサーバCPU、又はクラウドサーバ101にある専用プロセッサ(又はマイクロプロセッサ)によって実行する又は走らせることができる。
HME102は、1つ又は複数の中間ネットワークエンティティ(図示せず)を介して、好ましくは双方向リンク103経由で第1のHSM104に接続される。
第1のHSM104は第1のサービスプロバイダ(又はその代理)によって運用される。第1のHSM104は、双方向リンク105経由でブロックチェーンメカニズム106又は任意の他の安全なデータ交換メカニズムに接続される。
第1のHSM104は、データ処理手段である1つ又は複数のCPU(図示せず)と、データ格納手段である1つ又は複数のメモリ(図示せず)と、全てが内部で互いに接続される1つ又は複数のI/Oインターフェイス(図示せず)とを備える。
第1のHSMメモリはOSを格納している。
第1のHSM104は、好ましくは第1のマスタ対称鍵セットである1つ又は複数のマスタ対称鍵を生成し格納することができる。
第1のHSMメモリは、好ましくはHME102が1つ又は複数の所定のセキュリティ条件又は制約を満たすことを証明できる高速安全機構を促進するのに使用される1つ又は複数の暗号鍵を格納し、その結果、安全にかつ全面的に信頼してHME102に第1のマスタ対称鍵セットを提供する。
第1のHSM104は、好ましくはマスタ対称鍵の送信先に関連する所定のセキュリティ制約(例えば、以下に記載の第1のアプリケーションの証明の検証、認証、及び/又は第1のアプリケーションの認証が1又は複数回無事に完了することなど)が満たされる場合にのみ、HME102に1つ又は複数のマスタ対称鍵を提供することができる。2つ以上のマスタ対称鍵が提供されるとき、第1のHSM104は、各マスタ対称鍵と関連するマスタ対称鍵セット内に含まれる各マスタ対称鍵に関連する一意の識別子に関するデータである各汎用一意識別子(すなわちUUID)と関連するマスタ対称鍵を送信する。
(携帯)電話111(すなわちクラウドサーバ101又は本発明による方法の別の実施形態における別のクラウドサーバ)は、第2のアプリケーションであるモバイルアプリケーション110をサポートする。
モバイルアプリケーション110は、1つ又は複数の中間ネットワークエンティティ(図示せず)を介して、好ましくは双方向リンク109経由で第2のHSM108に接続される。
第2のHSM108は、好ましくは第1のサービスプロバイダと異なる第2のサービスプロバイダ(又はインフラストラクチャプロバイダ)(又はその代理)によって運用される。
異なるサービスプロバイダは互いを知らない。
代替的に、第1のHSM104及び第2のHSM108は、2つの異なるサービスプロバイダではなく、同一のサービスプロバイダによって運用される。
各サービスプロバイダは、それぞれ独自のマスタ対称鍵を有する独自のHSMを有する。
第2のHSM108は、双方向リンク107経由でブロックチェーンメカニズム106(又は任意の他の安全なデータ交換メカニズム)に接続される。
第2のHSM108は、データ処理手段である1つ又は複数のCPU(図示せず)と、データ格納手段である1つ又は複数のメモリ(図示せず)と、全てが互いに接続される1つ又は複数のI/Oインターフェイス(図示せず)とを備える。
第2のHSMメモリはOSを格納している。
第2のHSM108は、好ましくは第2のマスタ対称鍵セットである1つ又は複数のマスタ対称鍵を生成し格納することができる。第2のマスタ対称鍵セットは第1のマスタ対称鍵セットと異なる。
第2のHSMメモリは、好ましくはモバイルアプリケーション110が1つ又は複数の所定のセキュリティ制約を満たすことを証明できる高速安全機構を促進するのに使用される1つ又は複数の暗号鍵を格納し、その結果、安全にかつ全面的に信頼してモバイルアプリケーション110に第1の派生対称鍵を提供する。
本発明の本質的な特徴によれば、第2のHSM108は、例えば第2のHSM108が前もって生成し、鍵生成パラメータとして一度だけ使用されるノンスと、第1のマスタ対称鍵とを使用することによって、第1の派生対称鍵を動的に生成するように構成される。
第1の派生対称鍵を動的に生成する難易度を高めるために(したがって、セキュリティを強化するために)、例えば第2のHSM108及びHME102により使用される所定の鍵導出関数(すなわちKDF)に関連する一意の識別子に関するデータなどの他の鍵生成パラメータを追加することができる。
第1のマスタ対称鍵は、第1又は第2のマスタ対称鍵セット内に含まれている。
第1のマスタ対称鍵は、第2のHSM108又は第1のHSM104によって前もって生成されていてよい。
第1のマスタ対称鍵は、第1のHSM104と第2のHSM108との間でブロックチェーンメカニズム106(又は任意の他の安全なデータ交換メカニズム)を介して安全に交換される。
ブロックチェーンメカニズム106又は任意の他の安全なデータ交換メカニズムは、特に(とりわけ)第1のHSM104と第2のHSM108との間で、例えば場合により対応する関連付けられたUUIDが添付されたマスタ対称鍵などのデータ(又は各マスタ対称鍵に関連する一意の識別子に関する他のデータ)を安全に交換することを可能にする。
ブロックチェーンメカニズム106又は任意の他の安全なデータ交換メカニズムは、第1のサービスプロバイダに関連する第1のHSM104が第2のサービスプロバイダに関連する第2のHSM108との信頼を構築することを可能にする。これによって、第1のHSM104及び第2のHSM108は、1つ又は複数のマスタ対称鍵セット及び場合により他の鍵を安全に交換する。他の鍵は、好ましくはHME102及び/又はモバイルアプリケーション110が1つ又は複数の所定のセキュリティ制約を満たすようにするメカニズムを促進すなわち加速するのに使用され、その結果、第1のHSM104によって(HME102用の)第1のマスタ対称鍵を含むマスタ対称鍵が、及び/又は第2のHSM108によって(モバイルアプリケーション110用の)第1の派生対称鍵が提供される。
ブロックチェーンメカニズム106又は任意の他の安全なデータ交換メカニズムは、各HSM104又は108が、もう一方のHSM108又は104に安全に接続すること、及び例えば各他のマスタ対称鍵セットなどのデータを、いつでも各HSM104又は108が分散トラストチェーンに広がる全ての異なるHSM108又は104からのマスタ対称鍵セットを格納するように交換することを可能にする。
第2のHSM108は、第1のHSM104との信頼をブロックチェーンメカニズム106(又は任意の他の安全なデータ交換メカニズム)を介して構築し、反対に、つまり第1のHSM104は、第2のHSM108との信頼をブロックチェーンメカニズム106(又は任意の他の安全なデータ交換メカニズム)を介して構築する。
第1のHSM104は、分散トラストチェーン内に含まれる第1のエレメントを構成する。
第2のHSM108は、第1のエレメントと異なり、分散トラストチェーン内に含まれる第2のエレメントを構成する。
第1のHSM104及び第2のHSM108のそれぞれは、第1のHSM104及び第2のHSM108の他方により生成されたいかなるマスタ対称鍵セットも安全に入手することができる。
本発明の本質的な特徴によれば、第2のHSM108は、モバイルアプリケーション110に、動的に生成された対称鍵である第1の派生対称鍵と、第1の派生対称鍵を生成するのに使用された鍵生成パラメータと、好ましくは(必須ではないが)(第1の派生対称鍵を生成するのに使用された)第1のマスタ対称鍵に関連する一意の識別子に関するデータとを提供するように構成される。
電話111は、データ処理手段である1つ又は複数のCPU(図示せず)と、データ格納手段である1つ又は複数のメモリ(図示せず)と、全てが内部で互いに接続される1つ又は複数のI/Oインターフェイス(図示せず)とを備える。電話メモリはOSを格納している。
モバイルアプリケーション110は、電話CPU、又は電話111にある専用プロセッサ(又は例えばSEの1つなどのマイクロプロセッサ)によって実行する又は走らせることができる。
モバイルアプリケーション110はSEチップ(図示せず)によってサポートされてよい。
本発明は、SEが存在する場合にその種類にいかなる制約も課さない。
SEは、SEホストデバイスである端末内の、例えば埋込み汎用集積回路カード(すなわちeUICC)又は統合汎用集積回路カード(すなわちiUICC)などの組込みチップ、又はSEホストデバイスである端末に結合され、スマートカード(又は別の媒体)内に含まれているチップであってよい。したがって、チップは、例えば携帯電話などのホストデバイスに固定されるものでも取り外し可能なものでもよい。
本発明は、SEタイプの種類にいかなる制約も課さない。
SEは様々なフォームファクタを有してよい。
取り外し可能なSEとしては、加入者識別モジュール(すなわちSIM)タイプカード、セキュアリムーバブルモジュール(すなわちSRM)、USB(“Universal Serial Bus”の頭字語)タイプのスマートドングル、(マイクロ)セキュアデジタル(すなわちSD)タイプカード若しくはマルチメディアタイプカード(すなわちMMC)、又はユーザを認証するためのデバイスであるホストデバイスに結合される任意のフォーマットカードであってよい。
SEチップは、例えばベースバンドプロセッサ、アプリケーションプロセッサ及び/又は他の電子コンポーネントなどの電話コンポーネントの少なくとも一部を組み込むことができる。
代替的に、SEチップは、電話(すなわち端末)プロセッサの保護領域及び保護されたランタイム環境である信頼できる実行環境(すなわちTEE)を含む。
SEチップは、好ましくは、SEホストデバイスである電話111のプリント回路基板(すなわちPCB)内に、場合により取り外し可能に組み込まれる。
本発明の本質的な特徴によれば、モバイルアプリケーション110は、第1の派生対称鍵を使用することによって、第1の鍵所有証明である、例えば暗号化された第1のノンス及び/又は暗号化された第1のノンスのハッシュ値を生成するように適合される。
第1の鍵所有証明を生成するために、モバイルアプリケーション110は、第1の派生対称鍵と共に、例えば高度暗号化標準(すなわちAES)、データ暗号化標準(すなわちDES)又は3DESなどの所定の第1の暗号化アルゴリズムを使用する。知られているように、対応する第1の復号アルゴリズムが第1の暗号化アルゴリズムである。
モバイルアプリケーション110は、双方向リンク113経由でHME102に、第1の派生対称鍵を生成するのに使用された鍵生成パラメータと共に第1の鍵所有証明を送信することができる。モバイルアプリケーション110は、好ましくは第1の鍵所有証明及び鍵生成パラメータに加えて、第1のマスタ対称鍵に関連する一意の識別子に関するデータを送信することができる。
モバイルアプリケーション110は、双方向リンク113経由でHME102から、場合により他のデータと共に第2の鍵所有証明を受信することができる。
本発明の本質的な特徴によれば、モバイルアプリケーション110は、第2の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものであるか否かを、(受信した)第2の鍵所有証明を使用することによって検証するように適合される。
受信したデータを使用してこのような検証を行うために、モバイルアプリケーション110は、例えば(好ましくはHME102が使用した第2の暗号化アルゴリズムである)所定の第2の復号アルゴリズム及び第1の派生対称鍵を使用することによって、例えば(受信した)暗号化された第2のノンスのハッシュ値を復号し、その結果、比較される第2の基準である第2のノンスのハッシュ値を入手する。モバイルアプリケーション110は、例えば(好ましくはHME102が使用した第2の暗号化アルゴリズムである)所定の第2の復号アルゴリズム及び第1の派生対称鍵を使用することによって、例えば(受信した)暗号化された第2のノンスを復号する。次いで、モバイルアプリケーション110は、例えば第2のノンスのハッシュ値を生成し、第2のノンスのハッシュ値を第2の基準と比較する。第2のノンスのハッシュ値が第2の基準と一致しない場合、検証は失敗する。そうでない場合、すなわち第2のノンスのハッシュ値が第2の基準と一致する場合、検証は成功する。
検証失敗の場合、第2の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものでない場合、モバイルアプリケーション110は、HME102が第1の派生対称鍵を所有していることを認証すなわち証明することができない。このような検証失敗の場合、モバイルアプリケーション110はHME102を信頼することができない。
そうでない場合、すなわち検証成功の場合、第2の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものである場合、モバイルアプリケーション110は、HME102が第1の派生対称鍵を所有していることの認証(すなわち証明)に成功する。このような検証成功の場合、モバイルアプリケーション110はHME102を信頼することができる。
モバイルアプリケーション110は、双方向リンク113経由でHME102に、第1の派生対称鍵を生成するのに使用された鍵生成パラメータと共に第1の鍵所有証明を送信することができる。モバイルアプリケーション110は、好ましくは第1の鍵所有証明及び鍵生成パラメータに加えて、第1のマスタ対称鍵に関連する一意の識別子に関するデータを送信することができる。
本発明の本質的な特徴によれば、HME102は、第1の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものであるか否かを、(受信した)第1の鍵所有証明と、(受信した)鍵生成パラメータと、好ましくは(必須ではないが)受信したデータにより特定される第1のマスタ対称鍵とを使用することによって検証するように適合される。
受信したデータを使用してこのような検証を行うために、HME102は、受信したデータを使用することによって第1のマスタ対称鍵を特定し、例えば(モバイルアプリケーション110が使用した第1の暗号化アルゴリズムである)所定の第1の復号アルゴリズムと、第1の派生対称鍵とを使用することによって、例えば(受信した)暗号化された第1のノンスのハッシュ値を復号し、その結果、比較される第1の基準である第1のノンスのハッシュ値を入手する。HME102は、受信したデータを使用することによって第1のマスタ対称鍵を特定し、例えば(モバイルアプリケーション110が使用した第1の暗号化アルゴリズムである)所定の第1の復号アルゴリズムと、第1の派生対称鍵とを使用することによって、例えば(受信した)暗号化された第1のノンスを復号する。次いで、HME102は、例えば第1のノンスのハッシュ値を生成し、第1のノンスのハッシュ値を第1の基準と比較する。第1のノンスのハッシュ値が第1の基準と一致しない場合、検証は失敗する。そうでない場合、すなわち第1のノンスのハッシュ値が第1の基準と一致する場合、検証は成功する。
検証の結果、第1の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものでない場合、HME102は、モバイルアプリケーション110が第1の派生対称鍵を所有していることを認証すなわち証明することができない。このような失敗の場合、HME102はモバイルアプリケーション110を信頼することができない。
そうでない場合、すなわち検証の結果、第1の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものである場合、HME102は、モバイルアプリケーション110が第1の派生対称鍵を所有していることの認証(すなわち証明)に成功する。このような成功の場合、HME102はモバイルアプリケーション110を信頼することができる。
本発明の本質的な特徴によれば、HME102は、第1の派生対称鍵を使用することによって、第2の鍵所有証明である、例えば暗号化された第2のノンス及び/又は暗号化された第2のノンスのハッシュ値などを生成するように適合される。
第2の鍵所有証明を生成するために、モバイルアプリケーション110は、第1の派生対称鍵と共に、例えばAES、DES又は3DESなどの所定の第2の暗号化アルゴリズムを使用する。知られているように、対応する第2の復号アルゴリズムが第2の暗号化アルゴリズムである。
第2の暗号化アルゴリズムは、第1の暗号化アルゴリズムと異なるものであるか、第1の暗号化アルゴリズムと同じものであってよい。
第1の鍵所有証明及び/又は第2の鍵所有証明の少なくとも1つの認証が失敗した場合は、第1及び第2のアプリケーションは相互認証を行わない。
これに対して、第1の鍵所有証明の認証及び第2の鍵所有証明の認証が成功した場合は、第1及び第2のアプリケーションは相互認証を行う(に成功する)。
図2に示されているように、第1のHSM104は、好ましくは安全に、すなわち1つ又は複数の所定のセキュリティ制約がHME102によって満たされていることを検証した後に、HME102に第1のマスタ対称鍵セットである1つ又は複数のマスタ対称鍵を提供する。
このように1つ又は複数の所定のセキュリティ制約がHME102によって満たされていることを安全に検証することによって、HME102と第1のHSM104との間に事前の信頼を構築することが可能になる。これによって、HME102は第1のHSM104にテザリングされ、その結果、HME102と第1のHSM104との間に強いトラストバインディングが生じる。
クラウドサーバ101(より厳密にはホストアプリケーション)は、対応する開始要求22をHME102に送信することによってHME102の実行を開始する。
HME102は、例えばアプリケーション証明プロセス、アプリケーション認証プロセス及び/又はユーザ認証プロセスなどの1つ又は複数の所定のセキュリティプロセスを、1つ又は複数の鍵を使用することによって実行しながら実行される。
所定のセキュリティプロセスは、例えばHME102により安全に格納されている所定の非対称鍵と、メッセージ認証コード(すなわちMAC)アルゴリズムなどの所定の証明アルゴリズムとを使用することによるアプリケーション証明プロセスを含んでよい。
所定のセキュリティプロセスは、例えばHME102により安全に格納されている所定の認証鍵と、所定の認証アルゴリズムとを使用することによるコード(すなわちアプリケーション)認証プロセスを含んでよい。
所定のセキュリティプロセスは、例えばHME102により安全に格納されている所定のユーザ認証鍵と、所定のユーザ認証アルゴリズムとを使用することによるユーザ認証プロセスを含んでよい。
HME102は、証明レポートと、提出データであるコード認証データ及び/又はユーザ認証データとを含む1つ又は複数のメッセージ24を第1のHSM104に送信する。
第1のHSM104は、(受信した)提出データが、例えば予想されるアプリケーション証明プロセス結果、予想されるアプリケーション認証プロセス結果及び/又は予想されるユーザ認証プロセス結果などの、予想される(すなわち所定の)セキュリティプロセス結果と一致するか否かを検証する(26)。
提出データが予想されるセキュリティプロセス結果と一致しない場合、第1のHSM104は、セキュリティプロセスがHME102によって満たされていることを検証することができない。第1のHSM104は、エラーコード又は障害コードを含むメッセージ(図示せず)をHME102へ送信することができる。このようなエラーコード又は障害コードによって、HME102が必要なセキュリティプロセスを満たしていない旨をHME102に知らせることが可能になる。
そうでない場合、すなわち提出データが予想されるセキュリティプロセス結果と一致する場合にのみ、第1のHSM104は、例えばHME102の証明の検証に成功する、HME102の認証に成功する、及び/又はHME102のユーザの認証に成功するなど、セキュリティプロセスが満たされていることの検証に成功する。
検証に成功すると、分散トラストチェーン内の第1の信頼の基点である第1のHSM104は、例えばHME102の真正性及び完全性の証明、認証されたHME102の証明、及び/又は認証されたHMEユーザの証明などのセキュリティ証明である第1のマスタ対称鍵セット(及び/又は第2のマスタ対称鍵セット)を含む1つ又は複数のメッセージ28をHME102へ送信する。これによって、第1のHSM104はHME102との信頼を構築する。
HME102は、セキュリティ証明として第1のマスタ対称鍵セット(及び/又は第2のマスタ対称鍵セット)を受信すると、第2のHSM108により管理されたモバイルアプリケーション110(及び/又は任意の他のモバイルアプリケーション)との相互認証(すなわち信頼)を構築することができる。
図3に示されているように、第2のHSM108は、好ましくは安全に、すなわち1つ又は複数の所定のセキュリティ制約がモバイルアプリケーション110によって満たされていることを検証した後に、モバイルアプリケーション110に第1の派生対称鍵を提供する。
このように1つ又は複数の所定のセキュリティ制約がモバイルアプリケーション110によって満たされていることを安全に検証することによって、モバイルアプリケーション110と第2のHSM108との間に事前の信頼を構築することが可能になる。これによって、モバイルアプリケーション110は第2のHSM108にテザリングされ、その結果、モバイルアプリケーション110と第2のHSM108との間にトラストバインディングが生じる。
電話111(より厳密にはホストアプリケーション)は、対応する開始要求32をモバイルアプリケーション110に送信することによってモバイルアプリケーション110の実行を開始する。
モバイルアプリケーション110は、例えばアプリケーション証明プロセス、アプリケーション認証プロセス及び/又はユーザ認証プロセスなどの1つ又は複数の所定のセキュリティプロセスを、1つ又は複数の鍵を使用することによって実行しながら実行される。
所定のセキュリティプロセスは、例えばモバイルアプリケーション110により安全に格納されている所定の非対称鍵、及びMACアルゴリズムなどの所定の証明アルゴリズムを使用することによるアプリケーション証明プロセスを含んでよい。
所定のセキュリティプロセスは、例えばモバイルアプリケーション110により安全に格納されている所定の認証鍵、及び所定の認証アルゴリズムを使用することによるコード(すなわちアプリケーション)認証プロセスを含んでよい。
所定のセキュリティプロセスは、例えばモバイルアプリケーション110により安全に格納されている所定のユーザ認証鍵、及び所定のユーザ認証アルゴリズムを使用することによるユーザ認証プロセスを含んでよい。
モバイルアプリケーション110は、証明レポート、提出データであるコード認証データ及び/又はユーザ認証データを含む1つ又は複数のメッセージ34を第2のHSM108に送信する。
第2のHSM108は、(受信した)提出データが、例えば予想されるアプリケーション証明プロセス結果、予想されるアプリケーション認証プロセス結果及び/又は予想されるユーザ認証プロセス結果などの、予想される(すなわち所定の)セキュリティプロセス結果と一致するか否かを検証する(34)。
提出データが予想されるセキュリティプロセス結果と一致しない場合、第2のHSM108は、セキュリティプロセスがモバイルアプリケーション110によって満たされていることを検証することができない。第2のHSM108は、エラーコード又は障害コードを含むメッセージ36をモバイルアプリケーション110へ送信することができる。このようなエラーコード又は障害コードによって、モバイルアプリケーション110が必要なセキュリティプロセスを満たしていない旨をモバイルアプリケーション110に知らせることが可能になる。
そうでない場合、すなわち提出データが予想されるセキュリティプロセス結果と一致する場合にのみ、第2のHSM108は、例えばモバイルアプリケーション110の証明の検証に成功する、モバイルアプリケーション110の認証に成功する、及び/又はモバイルアプリケーション110のユーザの認証に成功するなど、セキュリティプロセスが満たされていることの検証に成功する。
モバイルアプリケーション110が必要なセキュリティプロセスを満たす(ことに成功する)と、第2のHSM108は、例えば第1の派生対称鍵を生成するのに使用される鍵生成パラメータである、好ましくは大きい、すなわち256ビットより大きいノンス、及び好ましくは(2つ以上のマスタ対称鍵を含む場合の)第2の(又は第1の)マスタ対称鍵セットから選択される第1のマスタ対称鍵を使用することによって、(一意の)第1の派生対称鍵を動的に生成する(38)。
第1の派生対称鍵が生成されると、分散トラストチェーン内の第2の信頼の基点である第2のHSM108は、例えばモバイルアプリケーション110の真正性及び完全性の証明、認証されたモバイルアプリケーション110の証明、及び/又は認証されたモバイルアプリケーション110のユーザの証明などのセキュリティ証明として、第1の派生対称鍵と、鍵生成パラメータと、場合により第1のマスタ対称鍵に関連する一意の識別子に関するデータとを含む、1つ又は複数のメッセージ310をモバイルアプリケーション110へ送信する。これによって、第2のHSM108は、モバイルアプリケーション110との信頼を構築する。
モバイルアプリケーション110は、セキュリティ証明として、第1の派生対称鍵と、鍵生成パラメータと、場合により第1のマスタ対称鍵に関連する一意の識別子に関するデータとを受信すると、第1のHSM104により管理されたHME102(及び/又は任意の他のHME)との相互認証(すなわち信頼)を構築することができる。
図4は、モバイルアプリケーション110とHME102との間で交換されるメッセージ40の例示的な実施形態を示している。
HME102が、(第2のマスタ対称鍵セットに含まれている)各マスタ対称鍵に関連する一意の識別子に関するデータである各対応するUUIDと関連する第2のマスタ対称鍵セットをセキュリティ証明として受信していると仮定される。
さらに、モバイルアプリケーション110が、第1の派生対称鍵と、鍵生成パラメータと、第1のマスタ対称鍵に関連する一意の識別子に関するデータである第1のマスタ対称鍵のUUIDxとをセキュリティ証明として受信していると仮定される。
さらにまた、第1の派生対称鍵が、例えば大きいノンスを一意の鍵生成パラメータとして使用することによって生成されていると仮定される。
さらにまた、第1のマスタ対称鍵が、前もって第2のHSM108により生成され、第1のHSM104に送信又は伝搬されている第2のマスタ対称鍵セット内に含まれていると仮定される。
初めに、モバイルアプリケーション110は、第1の派生対称鍵を使用することによって第1の鍵所有証明を生成する(42)。
モバイルアプリケーション110は、第1の鍵所有証明を生成するために、第1のノンスを生成し、次に第1の派生対称鍵を使用することによって第1のノンスを暗号化することができる。モバイルアプリケーション110はまた、好ましくは第1のノンスのハッシュ値を生成し、次に第1の派生対称鍵を使用することによって第1のノンスのハッシュ値を暗号化することができる。暗号化された第1のノンスのハッシュ値によって、HME102が第1の鍵所有証明の検証中に比較される第1の基準を生成することが可能になる。
第1の鍵所有証明が生成されると、モバイルアプリケーション110は、第1の鍵所有証明である暗号化された第1のノンスと、好ましくは暗号化された第1のノンスのハッシュ値と、第1のマスタ対称鍵のUUIDxと、第1の派生対称鍵を生成するのに使用された鍵生成パラメータである大きいノンスとを含む1つ又は複数のメッセージ44をHME102へ送信する。
メッセージ44がHME102によって受信されると、HME102は、第1のマスタ対称鍵のUUIDxに基づいて、第1の派生対称鍵を生成するのに使用された第1のマスタ対称鍵を特定する(46)。
第1のマスタ対称鍵が特定されると、HME102は、第1のマスタ対称鍵と、鍵生成パラメータである大きいノンスとを使用することによって第1の派生対称鍵を生成する(48)。HME102は、第2のHSM108により使用される所定の鍵生成アルゴリズムを使用して第1の派生対称鍵を生成する。
第1の派生対称鍵が生成されると、HME102は、第1の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものであるか否かを、鍵生成パラメータと、(特定された)第1のマスタ対称鍵と、第1の鍵所有証明とを使用することによって検証する(410)。
そのような検証410を行うために、HME102は、例えば暗号化された第1のノンスを、第1の派生対称鍵を使用することによって復号し、結果として平文の第1のノンスを入手する。次いでHME102は第1のノンスのハッシュ値を生成し、(生成したばかりの)第1のノンスのハッシュ値を受信した比較対象の第1の基準と比較する。
比較が失敗した、すなわち第1のノンスのハッシュ値が受信した比較対象の第1の基準と一致しない場合は、第1の鍵所有証明は、第1の派生対称鍵を使用することによって生成されたものではなく、HME102はモバイルアプリケーション110を認証することができない。HME102は、エラーコード又は障害コードを含むメッセージ412を送信することができる。このようなエラーコード又は障害コードによって、HME102がモバイルアプリケーション110を認証できないことをモバイルアプリケーション110に知らせることが可能になる。
比較が成功した、すなわち第1のノンスのハッシュ値が受信した比較対象の第1の基準と一致した場合は、第1の鍵所有証明は、第1の派生対称鍵を使用することによって生成されたものであり、HME102はモバイルアプリケーション110の認証に成功する。
モバイルアプリケーション110の認証が成功すると、HME102は、第1の派生対称鍵を使用することによって第2の鍵所有証明を生成する(414)。
HME102は、第2の鍵所有証明を生成するために、第2のノンスを生成し、次に第1の派生対称鍵を使用することによって第2のノンスを暗号化することができる。HME102はまた、好ましくは第2のノンスのハッシュ値を生成し、次に第1の派生対称鍵を使用することによって第2のノンスのハッシュ値を暗号化することができる。暗号化された第2のノンスのハッシュ値によって、モバイルアプリケーション110が第2の鍵所有証明の検証中に比較される第2の基準を生成することが可能になる。
第2の鍵所有証明が生成されると、HME102は、第2の鍵所有証明である暗号化された第2のノンスと、好ましくは(必須ではないが)暗号化された第2のノンスのハッシュ値とを含む1つ又は複数のメッセージ416をモバイルアプリケーション110へ送信する。
第2の鍵所有証明が受信されると、モバイルアプリケーション110は、第2の鍵所有証明が第1の派生対称鍵を使用することによって生成されたものであるか否かを、少なくとも第2の鍵所有証明を使用することによって検証する(416)。
そのような検証416を行うために、モバイルアプリケーション110は、例えば暗号化された第2のノンスを、第1の派生対称鍵を使用することによって復号し、結果として平文の第2のノンスを入手する。次いでモバイルアプリケーション110は第2のノンスのハッシュ値を生成し、(生成したばかりの)第2のノンスのハッシュ値を受信した比較対象の第2の基準と比較する。
比較が失敗した、すなわち第2のノンスのハッシュ値が受信した比較対象の第2の基準と一致しない場合は、第2の鍵所有証明は、第1の派生対称鍵を使用することによって生成されたものではなく、モバイルアプリケーション110はHME102を認証することができない。モバイルアプリケーション110は、エラーコード又は障害コードを含むメッセージ420を送信することができる。このようなエラーコード又は障害コードによって、モバイルアプリケーション110がHME102を認証できないことをHME102に知らせることが可能になる。
比較が成功した、すなわち第2のノンスのハッシュ値が受信した比較対象の第2の基準と一致した場合は、第2の鍵所有証明は、第1の派生対称鍵を使用することによって生成されたものであり、モバイルアプリケーション110はHME102の認証に成功する。
モバイルアプリケーション110がHME102の認証に成功すると、モバイルアプリケーション110及びHME102は、HME102及びモバイルアプリケーション110が結果として動的に生成され証明された共有鍵である第1の派生対称鍵をそれぞれ所有していることを互いに証明することによって、相互認証に成功する(422)。
これによって、トラストチェーンネットワークは、第1のHSM104及び第2のHSM108に加えて、トラストチェーンの追加のエレメントであるHME102とモバイルアプリケーション110とを含む。
第1の派生対称鍵は、1時間や30分などの所定の第1の寿命時間有効であってよい。
第2のHSM108は、第1のマスタ対称鍵、及び/又は第1の派生対称鍵を生成するのに使用された1つ又は複数のパラメータを変更することによって、第1の派生対称鍵と異なる第2の派生対称鍵を生成することができる。
HME102及びモバイルアプリケーション110は、例えば第1の鍵所有証明及び/又は第2の鍵所有証明をそれぞれ生成するのに使用された可能性があり、HME102及びモバイルアプリケーション110により共有されるデータである第1のノンス及び/又は第2のノンスに基づいて、セッション鍵を別々に生成することができる(図示せず)。
HME102及びモバイルアプリケーション110が、例えば第1の派生対称鍵、及び/又は他方のアプリケーションが第1の派生対称鍵を所有していることを証明するのに使用されたデータなどの共有データに基づく同じセッション鍵を共有すると、HME102及びモバイルアプリケーション110は、(このセッション鍵を使用しながら)連続的かつ安全に処理を行うことができる。
セッション鍵は、第1のマスタ対称鍵と異なる第2のマスタ対称鍵を使用することによって暗号化することができる。第2のマスタ対称鍵は、第1のHSM104及び第2のHSM108間で共有される。
HME102(又はモバイルアプリケーション110)は、セッション鍵情報として、第1のマスタ対称鍵と異なる第2のマスタ対称鍵を使用することにより前もって暗号化されるセッション鍵、第2のマスタ対称鍵に関連する一意の識別子に関するデータ、及び/又はセッション鍵が有効である所定の寿命時間を含む1つ又は複数のメッセージ(図示せず)を、モバイルアプリケーション110(又はHME102)へ(それぞれ)送信することができる。このようなセッション鍵情報は、ヘッダ内容が暗号化されていない、すなわち平文であるため、好ましくは各メッセージのヘッダに挿入される。
第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のアプリケーションから送信されるデータを暗号化する。
例えば第1のマスタ対称鍵などの、HSMトラストチェーン内で管理された1つ又は複数のマスタ対称鍵を使用するいかなるサービスプロバイダ、エンドユーザ及び/又はアプリケーションも、関与するサービスプロバイダ自体でさえも当該マスタ対称鍵を危殆化し得ないことを信じることができる。
本発明の解決策は、好ましくはセキュアコード/データ(例えばHMEなど)の高い保証された機密性及び完全性を提供することを可能にする。
本発明の解決策は、好ましくは対称鍵を使用する高速認証メカニズムを提供することを可能にする。このような高速認証メカニズムによって、少なくとも一方がセキュアコード/データであるHME(など)内で終端する2つのエンドポイントが、高速対称暗号を使用して互いとの信頼を迅速に構築することが可能になる。
本発明の解決策は、セキュアコード/データ(例えばHMEなど)と安全性が低い(すなわち安全でない)コード(例えばモバイルアプリケーションなど)との高い保証された隔離を提供することを可能にする。このような隔離によって、サイドチャネル攻撃や悪意のあるクラウド管理者などの内部関係者からの攻撃から安全を確保しながら、機密コード及び機密情報を仮想ペイロード内にホストすることが可能になる。
本発明の解決策は、別々のサービスプロバイダが、一方のサービスプロバイダにより運営される(HSMタイプサーバを備えた)システム上で動作するアプリケーション及び場合により安全なペイロードが、他方のサービスプロバイダにより運営される(別のHSMタイプサーバを備えた)別のシステム上で動作する別のアプリケーション及び別の安全なペイロードとの信頼(すなわち認証)を構築できるように相互間の信頼を構築する方法を提供することを可能にする。本発明の解決策は、セキュアコード(例えばHMEなど)及びHSMタイプサーバネットワークを伴いながら、信頼が広く分散したシステムに広がることを可能にする。
本発明の解決策は、両面否認を提供することを可能にする。すなわち第1のアプリケーションは第2のアプリケーションが本物であることを知っており、またその逆も言える。
本発明の解決策は、いかなる測度、すなわちPKI技術に基づくいかなる署名も必要としない。
本発明の解決策は、動的に導出された鍵を使用する対称暗号に基づいているため単純で安全性が高い。
本発明の解決策は、対称暗号に基づいているため高速である。

Claims (10)

  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に記載の方法。
JP2020519833A 2017-06-14 2018-04-04 第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法 Active JP6896940B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17305728 2017-06-14
EP17305728.2 2017-06-14
PCT/EP2018/058641 WO2018228732A1 (en) 2017-06-14 2018-04-04 Method for mutual symmetric authentication between a first application and a second application

Publications (2)

Publication Number Publication Date
JP2020526146A JP2020526146A (ja) 2020-08-27
JP6896940B2 true JP6896940B2 (ja) 2021-06-30

Family

ID=59579551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020519833A Active JP6896940B2 (ja) 2017-06-14 2018-04-04 第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法

Country Status (7)

Country Link
US (1) US11196722B2 (ja)
EP (1) EP3613169B1 (ja)
JP (1) JP6896940B2 (ja)
KR (1) KR102469979B1 (ja)
CN (1) CN110800248B (ja)
ES (1) ES2880012T3 (ja)
WO (1) WO2018228732A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
GB2566402A (en) * 2016-07-01 2019-03-13 American Express Travel Related Services Co Inc Systems and methods for validating transmissions over communication channels
DE102017216974A1 (de) * 2017-09-25 2019-05-16 Bundesdruckerei Gmbh Dataculestruktur und Verfahren zum manipulationssicheren Speichern von Daten
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
US20210056053A1 (en) * 2019-08-19 2021-02-25 Cryptography Research, Inc. Application authentication and data encryption without stored pre-shared keys
US11552802B2 (en) * 2020-04-15 2023-01-10 Salesforce, Inc. Stateless mutual authentication between services
US11711213B2 (en) * 2020-07-23 2023-07-25 PolySign, Inc. Master key escrow process
US11973861B2 (en) * 2022-02-09 2024-04-30 Northrop Grumman Systems Corporation Secure key generation

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2788909B1 (fr) * 1999-01-27 2004-02-20 France Telecom Procede d'authentification ou de signature a nombre de calculs reduit
US8146141B1 (en) * 2003-12-16 2012-03-27 Citibank Development Center, Inc. Method and system for secure authentication of a user by a host system
US8146142B2 (en) * 2004-09-03 2012-03-27 Intel Corporation Device introduction and access control framework
CN1797266A (zh) * 2004-12-21 2006-07-05 赛孚耐(北京)信息技术有限公司 软硬件之间的安全通讯方法及装置
US7900247B2 (en) * 2005-03-14 2011-03-01 Microsoft Corporation Trusted third party authentication for web services
US7861078B2 (en) * 2005-10-14 2010-12-28 Juniper Networks, Inc. Password-authenticated asymmetric key exchange
US20100138652A1 (en) * 2006-07-07 2010-06-03 Rotem Sela Content control method using certificate revocation lists
US8892887B2 (en) * 2006-10-10 2014-11-18 Qualcomm Incorporated Method and apparatus for mutual authentication
US8332923B2 (en) * 2007-01-19 2012-12-11 Toshiba America Research, Inc. Kerberized handover keying
CN102017510B (zh) * 2007-10-23 2013-06-12 赵运磊 自封闭联合知识证明和Diffie-Hellman密钥交换方法与结构
CA2621147C (en) * 2008-02-15 2013-10-08 Connotech Experts-Conseils Inc. Method of bootstrapping an authenticated data session configuration
KR101514840B1 (ko) * 2008-06-11 2015-04-23 삼성전자주식회사 휴대 방송 시스템에서의 암호화 키 분배 방법 및 이를 위한시스템
US20100306531A1 (en) * 2009-05-29 2010-12-02 Ebay Inc. Hardware-Based Zero-Knowledge Strong Authentication (H0KSA)
US8612771B2 (en) * 2012-01-06 2013-12-17 Netflix, Inc. Verifying authenticity of playback device
US20150113283A1 (en) * 2012-06-23 2015-04-23 Pomian & Corella Protecting credentials against physical capture of a computing device
WO2015057116A1 (en) * 2013-10-15 2015-04-23 Telefonaktiebolaget L M Ericsson (Publ) Establishing a secure connection between a master device and a slave device
CN103731261B (zh) * 2014-01-09 2017-01-18 西安电子科技大学 加密重复数据删除场景下的密钥分发方法
CN108259159B (zh) * 2014-02-05 2021-02-05 苹果公司 用于在控制器和附件之间进行配对的方法和系统
US9509502B2 (en) * 2014-03-13 2016-11-29 Intel Corporation Symmetric keying and chain of trust
BR112017002747A2 (pt) * 2014-08-29 2018-01-30 Visa Int Service Ass método implementado por computador, e, sistema de computador.
JP6514337B2 (ja) * 2014-12-29 2019-05-15 ヴァスコ データ セキュリティ インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツング モバイルアプリケーションを安全にするための方法および装置
US9602288B1 (en) * 2015-03-27 2017-03-21 Amazon Technologies, Inc. Enhanced data security through uniqueness checking
CN105141602A (zh) * 2015-08-18 2015-12-09 西安电子科技大学 基于收敛加密的文件所有权证明方法

Also Published As

Publication number Publication date
JP2020526146A (ja) 2020-08-27
ES2880012T3 (es) 2021-11-23
KR20200013764A (ko) 2020-02-07
CN110800248B (zh) 2022-11-22
EP3613169A1 (en) 2020-02-26
US11196722B2 (en) 2021-12-07
KR102469979B1 (ko) 2022-11-25
WO2018228732A1 (en) 2018-12-20
EP3613169B1 (en) 2021-03-17
US20200177563A1 (en) 2020-06-04
CN110800248A (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
JP6896940B2 (ja) 第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法
US10142297B2 (en) Secure communication method and apparatus
CN110677240B (zh) 通过证书签发提供高可用计算服务的方法、装置及介质
US11432150B2 (en) Method and apparatus for authenticating network access of terminal
KR101904177B1 (ko) 데이터 처리 방법 및 장치
US8037295B2 (en) Hardware-bonded credential manager method and system
KR101636028B1 (ko) 로컬 기능을 갖는 아이덴티티 관리
US10972272B2 (en) Providing high availability computing service by issuing a certificate
US8285989B2 (en) Establishing a secured communication session
EP2879421B1 (en) Terminal identity verification and service authentication method, system, and terminal
CN107396350B (zh) 基于sdn-5g网络架构的sdn组件间安全保护方法
KR101531662B1 (ko) 사용자 단말과 서버간 상호 인증 방법 및 시스템
WO2018202109A1 (zh) 一种证书请求消息发送方法、接收方法和装置
CN113094686A (zh) 认证方法及相关设备、计算机可读存储介质
JP2017139026A (ja) 信頼できる認証およびログオンのための方法および装置
JP2015111440A (ja) 信頼できる認証およびログオンのための方法および装置
Li et al. A cloud based dual-root trust model for secure mobile online transactions
WO2022135388A1 (zh) 身份鉴别方法、装置、设备、芯片、存储介质及程序
WO2022135404A1 (zh) 身份鉴别方法、装置、存储介质、程序、及程序产品
Randhawa Security and Trust
WO2022238423A1 (en) Method for authentication of a service provider device to a user device
CN117728958A (zh) 一种通信方法、装置和系统
CN116458173A (zh) 应用于WiFi的安全认证的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210512

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210609

R150 Certificate of patent or registration of utility model

Ref document number: 6896940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150