JP2017536729A - 安全な共有鍵共有システム及び方法 - Google Patents

安全な共有鍵共有システム及び方法 Download PDF

Info

Publication number
JP2017536729A
JP2017536729A JP2017518068A JP2017518068A JP2017536729A JP 2017536729 A JP2017536729 A JP 2017536729A JP 2017518068 A JP2017518068 A JP 2017518068A JP 2017518068 A JP2017518068 A JP 2017518068A JP 2017536729 A JP2017536729 A JP 2017536729A
Authority
JP
Japan
Prior art keywords
shared key
unique identifier
party
trusted
signature
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.)
Granted
Application number
JP2017518068A
Other languages
English (en)
Other versions
JP6221014B1 (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 マイクロン テクノロジー, インク.
Application granted granted Critical
Publication of JP6221014B1 publication Critical patent/JP6221014B1/ja
Publication of JP2017536729A publication Critical patent/JP2017536729A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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
    • 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/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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/3236Cryptographic 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 cryptographic hash functions
    • 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/3247Cryptographic 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 digital signatures
    • 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/3247Cryptographic 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 digital signatures
    • H04L9/3249Cryptographic 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 digital signatures using RSA or related signature schemes, e.g. Rabin scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

共有鍵をデバイスに安全に通信するために使用されるシステム及び方法。一実施形態では、第1のデバイス(32)及び第2のデバイス(34)に共有鍵を安全に通信する方法であり、前記第1のデバイスを使用して、前記第1のデバイス(32)に関連付けられた共有鍵及び固有識別子のペアリングを、鍵生成器(36)から受信すること(52)と、信頼できる第三者(38)を使用して、前記鍵生成器(36)から前記共有鍵及び固有識別子のペアリングを受信すること(54)と、前記第1のデバイス(32)を使用して、前記固有識別子及び前記共有鍵を使用する署名を生成すること(80)と、前記第1のデバイス(32)を使用して、前記署名及び前記固有識別子を前記信頼できる第三者(38)に送信すること(82)と、前記信頼できる第三者(38)を使用して、前記署名に基づいて前記固有識別子を検証すること(86)と、前記信頼できる第三者(38)を使用して、前記固有識別子が検証されたときに前記共有鍵を判定することと、前記信頼できる第三者(38)を使用して、前記第1のデバイス(32)及び前記第2のデバイス(34)が、前記共有鍵を使用して通信データを符号化及び復号することによって安全に通信することを可能にするために、前記第2のデバイス(34)に前記共有鍵を送信すること(88)とを説明する。【選択図】図5

Description

本発明は、一般に、共有暗号鍵の安全な通信に関し、特に、安全なチャネルによって接続されていないデバイス間の共有暗号鍵の通信に関する。
一般に、デバイスは、互いに安全に通信するために共有暗号鍵を利用することができる。例えば、第1のデバイスは、共有鍵を利用してデータに署名(例えば、符号化)し、署名されたデータを第2のデバイスに送信することができる。次いで、第2のデバイスは、受信データを検証(例えば、復号)するために共有鍵を利用することができる。このようにすることで、符号化されたデータをインターセプトする外部の第三者は、共有鍵なしでデータを復号することができない。したがって、共有鍵を使用して通信の安全を確保することは、互いに共有鍵を知っている通信デバイスを前提とする。
言い換えれば、共有鍵を使用してデータを符号化及び復号する前に、共有鍵を各デバイスに安全に通信することができる。多くの場合、共有鍵を安全に通信するための方法は、広範な数学的計算を利用することができる。例えば、デバイス間で共有鍵を通信するためにDiffie−Hellmanアプローチを利用することは、デバイスがモジュロ演算を実行することを伴い、非自明な計算処理を必要とする可能性がある。しかし、メモリデバイスなどの一部のデバイスは、処理能力が限られている可能性がある。
したがって、例えば、処理能力が制限されたデバイスであっても共有鍵の通信を可能にすることによって、共有鍵の安全な通信を改善することが有益である。
一実施形態による、コンピューティング・システムのブロック図を示す。 一実施形態による、共有鍵を通信するために使用されるデバイスのブロック図を示す。 一実施形態による、共有鍵を通信するための図2のデバイスを準備するためのプロセス・フローを示す。 一実施形態による、図2のデバイス間のデータ・フロー図を示す。 一実施形態による、図2のデバイス間で共有鍵を安全に通信するためのプロセス・フローを示す。
上述したように、共有暗号鍵は、安全な(例えば、符号化された及び/または署名された)通信を可能にするために、デバイスによってしばしば使用される。より具体的には、デバイスは、送信データに署名(例えば、符号化)し、受信データを検証(例えば、復号)するために、共有鍵を利用することができる。例えば、第1のデバイスは、共有鍵を使用してデータに対して暗号学的ハッシュを実行することによってデータに署名し、ハッシュ結果と共に署名データを第2のデバイスに送信することができる。次に、第2のデバイスは、共有鍵を使用して暗号学的ハッシュを実行し、結果を比較することによって、受信データを検証することができる。このように、通信のいずれかの端にあるデバイスは、共有鍵を利用することができる。言い換えれば、共有鍵は、各通信デバイスに安全に通信され得る。
理解され得るように、共有鍵は送信データを保護するための基礎であるので、外部の第三者が共有鍵を取得しないことが重要である。このように、共有鍵は、外部の当事者が共有鍵を判定することなく、デバイスに安全に通信されるべきである。様々な方法を使用して、デバイスへの共有鍵の安全な送信を容易にすることができる。そのような方法は、Diffie−Hellman鍵交換、Ron Rivest、Adi Shamir及びLeonard Adleman(RSA)システム・アプローチ、または別の公開鍵インフラストラクチャ・アプローチを含むことができる。しかしながら、これらの方法は計算上複雑であり、膨大な処理能力を利用する。
例えば、Diffie−Hellman鍵交換を利用するために、第1及び第2のデバイスは、まず、17などの素数の法、及び3などの素数の法の原始根を判定することができる。次に、第1及び第2のデバイスは、それぞれ秘密の整数を選択することができる。例えば、第1のデバイスは15を選択し、第2のデバイスは13を選択することができる。それらの秘密の整数を使用して、第1及び第2のデバイスは原始根をそのそれぞれの秘密の整数に累乗し、素数の法を使用してモジュロ演算を行うことができる。例えば、第1のデバイスは、315mod17を計算することができ、それは6であり、第2のデバイスは、313mod17を計算することができ、それは12である。計算された結果は、次に、他のデバイスに送信される。次に各受信デバイスは、受信結果をそれぞれの秘密整数に累乗し、素数の法を使用してモジュロ演算を実行することができる。例えば、第1のデバイスは、10に等しい1215mod17を計算することができ、それは10であり、第2のデバイスは、613mod17を計算することができ、それは同じく10に等しい。このようにして、第1及び第2のデバイスは共に、例えば10という共有鍵を判定することができる。
このように、第1及び第2のデバイスの両方は、一般的には、モジュロ演算を迅速かつ効率的に実行するための処理コンポーネントを含む。より具体的には、処理コンポーネントは、複数の指数演算及びモジュロ演算を実行する。さらに、セキュリティを向上させるために、使用される数字のサイズを例えば数百桁まで増加させることができる。言い換えれば、現実的世界の状況では、指数関数演算及びモジュロ演算は、上記の例よりはるかに複雑であり得る。
しかしながら、データを保護するために共有鍵を利用することを望むいくつかのデバイスは、その処理能力が制限されていることがある。そのような1つの例は、コンピューティング・システムをブートするために使用される不揮発性ブート・デバイスであり得る。一般に、不揮発性ブート・デバイスは、限定された動作を実行し、制限された処理能力を有する処理コンポーネントを含むことができる。例えば、処理コンポーネントは、整数の算術演算及び論理演算しか実行しない算術論理ユニット(ALU)であってもよい。
このようなデバイスの処理能力を高めることは可能ではあるが、コストがかかりすぎる可能性がある。言い換えれば、不揮発性ブート・デバイスの処理能力を増加させることなく、共有鍵のコンピューティング・システムとの安全な通信を可能にすることは有益であろう。
したがって、本開示は、最小の処理要件で共有鍵の安全な通信を可能にする技術を記述する。例えば、いくつかの実施形態は、通信を保護するために、公開鍵インフラストラクチャ(PKI)技術よりも計算の複雑さが少ない、共有対称鍵を利用することができる。より具体的には、共用対称鍵アプローチは、モジュロ演算のようなPKI技術で使用されるより広範なコンピュータ計算と比較して、局所組み合わせを使用して主に実装され得る。
さらに、いくつかの実施形態は、サーバなどの信頼できる第三者の使用を通じて共有鍵を安全に通信することができる。より具体的には、鍵生成器は、第1のデバイスのための固有識別子及び共有鍵のペアリングを生成することができる。ペアリングは、例えば、製造中に、かつ信頼できる第三者において、第1のデバイスに記憶されてもよい。共有鍵を第2のデバイスに通信するために、第1のデバイスは、その固有識別子と、共有鍵及び、ノンス(例えば、ランダムまたは疑似乱数)を使用して生成された署名を、信頼できる第三者に送信することができる。次に、信頼できる第三者は、固有識別子を使用して、対応する共有鍵を検索し、署名を検証することができる。署名が検証された場合、信頼できる第三者は、それが固有識別子に基づいて調べた安全な鍵が、第1のデバイスに記憶された安全な鍵と同じであることを保証され得る。このように、信頼できる第三者は、第1のデバイスと第2のデバイスとの間の通信チャネル上に共有鍵を公開することなく、共有鍵を安全なチャネルを介して第2のデバイスに通信することができる。その後、第1及び第2のデバイスは、共有鍵を使用して安全に通信することができる。
したがって、以下でより詳細に説明するように、デバイス間に既存の安全なチャネルが存在しない場合であっても、共有鍵をデバイスと安全に共有することができる。言い換えれば、署名及び固有識別子だけしか受信しない別の当事者は、その当事者が、信頼できる第三者と安全なチャネルを介して以前に共有された、固有識別子及び共有鍵のペアリングへのアクセス権を有していない限り、共有鍵を判定することが出来ない。さらに、以下でより詳細に説明するように、共有鍵は、第1のデバイスによって実行される最小限の計算で第2のデバイスと安全に共有することができる。より具体的には、第1のデバイスによる処理は、例えば、固有識別子に対して暗号学的ハッシュ演算を実行することによって、共有鍵とノンスとを使用して署名を生成することしか含まなくてもよい。
上述したように、本明細書で説明する技術は、コンピューティング・システム内の不揮発性ブート・デバイスに特に有用であり得る。説明を助けるために、不揮発性ブート・デバイス12を備えたコンピューティング・システム10の実施形態を図1に示す。コンピューティング・システム10は、コンピュータ、ページャ、携帯電話、パーソナル・オーガナイザ、制御回路等のような様々なタイプのいずれかであってもよい。図1に示す様々な機能ブロックは、ハードウェア要素(回路を含む)、ソフトウェア要素(コンピュータ可読媒体に記憶されたコンピュータ・コードを含む)、またはハードウェア要素とソフトウェア要素の両方の組み合わせを含むことができる。図1は、特定の実施態様の単なる一例に過ぎず、コンピューティング・システム10に存在し得るコンポーネントのタイプを示すことを意図していることはさらに留意すべきである。
図示されるように、コンピューティング・システム10は、中央処理装置14及びメモリ16を含む。より具体的には、中央処理装置14は、メモリ16に記憶された命令を実行して、本明細書に記載されている技術において様々な動作を実行することができる。このように、中央処理装置14は、1つ以上の汎用マイクロプロセッサ、1つ以上の特定用途向けプロセッサ(ASIC)、1つ以上のフィールド・プログラマブル論理アレイ(FPGA)、またはそれらの任意の組み合わせを含むことができる。さらに、メモリ16は、中央処理装置14によって実行可能な命令及び/または中央処理装置14によって処理されるデータを記憶する、有形の非一時的なコンピュータ可読媒体であってもよい。いくつかの実施形態では、メモリ16は、ランダム・アクセス・メモリ(RAM)などの揮発性メモリ及び/または、読出し専用メモリ(ROM)、フラッシュ・メモリ、強誘電体RAM(F−RAM)、ハード・ディスク、フロッピー・ディスク、磁気テープ、光ディスク、あるいはそれらの任意の組み合わせなどの不揮発性メモリを含むことができる。
さらに、中央処理装置14は、コンピューティング・システム10内の他のコンポーネントを利用して、様々な機能を実行することができる。1つの機能は、ユーザに情報を提供し、ユーザから制御コマンドを受信することを含む、ユーザとの情報の通信を含むことができる。例えば、中央処理装置14は、スピーカ18にオーディオ・データを提供し、オーディオ・データをユーザに音声として通信するようにスピーカ18に指示することができる。加えて、中央処理装置14は、ビデオデータをディスプレイ20に提供し、ディスプレイ20に、ユーザに情報を提示するグラフィカル・ユーザ・インタフェースを表示するように指示することができる。さらに、情報の受信を容易にするために、中央処理装置14は、1つ以上の入力デバイス22を介してユーザから制御コマンドを受信することができる。いくつかの実施形態では、入力デバイス22は、ボタン、スイッチ、キーボード、光学ペン、マウス、デジタイザ及びスタイラス、音声認識システム、タッチ感知ディスプレイ、またはそれらの任意の組み合わせを含むことができる。
さらに、情報は通信インタフェース24を介して外部デバイスと通信することができる。さらに詳細には、通信インタフェース24は、コンピューティング・システム10が、パーソナル・エリア・ネットワーク(例えば、ブルートゥース・ネットワーク)、ローカル・エリア・ネットワーク(例えば、802.11x Wi−Fiネットワーク)、及び/またはワイド・エリア・ネットワーク(例えば、3Gセルラ・ネットワーク)などのネットワークに接続することを可能にすることができる。さらに、通信インタフェース24は、コンピューティング・システム10が、例えば、シリアル・ケーブルを介して外部デバイスに直接接続することを可能にすることができる。
上述した機能並びにその他を初期化するために、ブート・デバイス12に記憶されたスタートアップ・ルーチン命令を実行することができる。図示のように、ブート・デバイス12は、マイクロコントローラ26と、スタートアップ・ルーチン命令を記憶するブート・ブロック28のような1つ以上の不揮発性メモリとを含む。したがって、コンピューティング・システム10に電源を投入すると、スタートアップ・ルーチン命令がブート・ブロック28から検索され、中央処理装置14が命令を実行することができる。より具体的には、スタートアップ・ルーチンは、コンピューティング・システム10の適切な機能実行のための基盤を確立することができる。例えば、いくつかの実施形態では、中央処理装置14がスタートアップ・ルーチン命令を実行すると、マルウェア・エラー検出が実行されて、メモリ16に記憶された悪意のあるコード、欠陥コード、または他の方法で破損したコードの存在を、検出することができる。
したがって、ブート・デバイス12から中央処理装置14へのスタートアップ・ルーチン命令の安全な通信を確保することが重要である。1つの方法は、共有鍵の使用であってもよい。より具体的には、ブート・デバイス12は、共有鍵を使用してスタートアップ・ルーチン命令に署名(例えば、符号化)し、署名された命令を中央処理装置14に通信することができる。次に、中央処理装置14は、共有鍵を使用して署名された命令を検証(例えば、復号)して、スタートアップ・ルーチンの命令を実行する。言い換えると、共有鍵を利用するために、共有鍵は、ブート・デバイス12及び中央処理装置14の両方と安全に共有することができる。
上述したように、共有鍵を共有するための様々な計算集中的な方法を利用することができる。したがって、このような方法を利用するためには、中央処理装置14及びマイクロコントローラ26の処理能力は、効率的に計算を実行するのに十分なものでなければならない。例えば、マイクロコントローラ26は、モジュロ演算を効率的に実行することを求められ得る。しかし、データの符号化/復号などの他の動作を実行するためにマイクロコントローラ26によって利用される処理能力は、モジュロ演算などの計算集中的な計算を実行するために使用されるよりも少なくてもよい。
したがって、共有鍵は、異なる中央処理装置14に接続されているとき、または最大でもコンピューティング・デバイス10の各電源投入時にしか共有され得ないので、本明細書で説明される技術は、集中的な計算を利用することなく、また安全でない通信チャネルを介して共有鍵を公開することなく、共有鍵をブート・デバイス12及び中央処理装置14で共有することを可能にする。こうして、マイクロコントローラ26の処理能力が低減することができ、したがって、ブート・デバイス12の製造コストも低減することができる。言い換えれば、本明細書で説明する技術は、一方の当事者(例えば、デバイス)が処理能力によって制限されている場合であっても、共有鍵が安全に通信されることを可能にする。
しかしながら、本明細書で説明する技術は、電力制限のあるデバイスを処理することに限定されない。言い換えれば、これらの技術は、共有鍵を安全に通信するために任意のデバイスによって利用されてもよい。説明を助けるために、共有鍵共有システム30のブロック図を図2に示す。図示の実施形態では、共有鍵共有システム30は、デバイスA32(例えば、ブート・デバイス12)とデバイスB34(例えば、中央処理装置14)との間の安全な通信を可能にすることができる。言い換えると、共有鍵共有システム30は、共有鍵を、デバイスA32及びデバイスB34と安全に通信することができる。
共有鍵の通信を容易にするために、鍵共有システム30は、鍵生成器36及び信頼できる第三者38を含む。いくつかの実施形態では、鍵生成器36は、安全な施設におけるデバイスのために、固有識別子及び共有鍵のペアリングを生成することができる。したがって、図示されているように、鍵生成器36は、鍵生成器36の機能を容易にするために、1つ以上の処理コンポーネント40及びメモリ42を含むことができる。いくつかの実施形態では、固有識別子は、メディア・アクセス制御(MAC)アドレスなどのデバイスA32を固有に識別する識別子であってもよい。さらに、共有鍵は、通信されたデータを保護するために使用される暗号鍵(例えば、対称鍵または秘密鍵)であってもよい。
いくつかの実施形態では、鍵生成器36はデバイスA32を製造する製造施設の一部であってもよい。説明を助けるために、デバイスA32が製造されるとき、製造者は、鍵生成器36を利用して固有識別子及び共有鍵のペアリングを生成し、ペアリングをデバイスA32に記憶することができる。例えば、ペアリングは、中央処理装置14または別のエンティティによって直接アクセス可能ではなく、またはそれに露出されていない、ブート・ブロック28の部分など、デバイスAの不揮発性メモリに静的にプログラムされてもよい。さらに、ペアリングは安全な施設に記憶されているので、望ましくない侵入の可能性が最小限に抑えられる。こうして、固有識別子及び共有鍵のペアリングはデバイスA32に安全に通信することができる。したがって、図示のように、鍵生成器36は、第1の安全な通信チャネル33を介してデバイスA32に通信可能に結合される。
鍵生成器36は、デバイスA32用のペアリングを生成することに加えて、例えば、製造された各デバイスのために、複数のデバイスのそれぞれについて固有識別子及び共有鍵のペアリングを生成することができる。次に、生成されたペアリングは、信頼できる第三者38に安全に通信することができる。
一般に、信頼できる第三者38は、鍵生成器36と安全に通信し、複数の固有識別子及び共有鍵のペアリングを安全に記憶することができるデータベースであってもよい。例えば、信頼できる第三者38は、クラウド内に位置するリモートサーバであってもよい。したがって、図示のように、信頼できる第三者38は、受信したペアリングを記憶するために鍵生成器36及びメモリ46との安全な通信を容易にする1つ以上の処理コンポーネント44を含むことができる。
鍵生成器36と信頼できる第三者38との間の通信を確保するための任意の適切な手段を利用することができる。例えば、処理コンポーネント40及び44は、鍵生成器36と信頼できる第三者38との間で通信されるデータを暗号化するのに十分な処理能力を含むことができる。いくつかの実施形態において、暗号化は、データ暗号化規格(DES)、高度暗号化規格(AES)、国際データ暗号化アルゴリズム(IDEA)、RSA暗号化、Diffie−Hellman暗号化、または別のPKI暗号化技術を利用することができる。したがって、示すように、鍵生成器36は、第2の安全な通信チャネル35を介して信頼できる第三者38に通信可能に結合される。言い換えれば、鍵生成器36及び信頼できる第三者38は、第2の通信チャネル35を保護するための暗号化技術を利用するために十分な処理能力を備えることができる。いくつかの実施形態では、第2の安全な通信チャネル35は、ワイド・エリア・ネットワーク(WAN)またはローカル・エリア・ネットワーク(LAN)などのネットワークを利用することができる。
以下でより詳細に説明するように、デバイスB34と共有鍵を共有するプロセスが初期化されるとき、デバイスA32は、署名及びその固有識別子を信頼できる第三者38に通信することができる。いくつかの実施形態では、デバイスA32は、信頼できる第三者38と直接通信することができる。したがって、図示のように、デバイスA32及び信頼できる第三者38は、安全でない可能性がある第3の通信チャネル37を介して通信可能に結合されてもよい。いくつかの実施形態では、第3の通信チャネル37は、ワイド・エリア・ネットワーク(WAN)またはローカル・エリア・ネットワーク(LAN)などのネットワークを利用することができる。
他の実施形態では、デバイスA32は、デバイスB34を介して信頼できる第三者38と通信することができる。言い換えれば、デバイスA32は、デバイスB34に署名及びその固有識別子を通信することができ、デバイスB34は固有識別子及び署名を信頼できる第三者38に中継することができる。したがって、図示されるように、デバイスA32は、最初は安全でない可能性がある第4の通信チャネル39を介してデバイスB34に通信可能に結合される。例えば、コンピューティング・デバイス10において、第4の通信チャネル39は、中央処理装置14とブート・デバイス12とを通信可能に結合するデータ・バスであってもよい。
以下でより詳細に説明するように、信頼できる第三者38が固有識別子及び署名を受信すると、信頼できる第三者38は、受信した固有識別子を使用して対応する共有鍵を検索し、受信した共有鍵を使用して受信した署名を検証することができる。署名が検証された場合、信頼できる第三者38は、共有鍵をデバイスB34に安全に通信することができる。
一般に、信頼できる第三者38とデバイスB34との間の通信を保護するための任意の適切な手段を利用することができる。例えば、処理コンポーネント40及び中央処理装置14は、信頼できる第三者38とデバイスBとの間で通信されるデータを暗号化するのに十分な処理能力を含むことができる。いくつかの実施形態において、暗号化は、データ暗号化規格(DES)、高度暗号化規格(AES)、国際データ暗号化アルゴリズム(IDEA)、RSA暗号化、Diffie−Hellman暗号化、または別のPKI暗号化技術を利用することができる。したがって、図示されるように、信頼できる第三者38は、第5の安全な通信チャネル41を介してデバイスB34に通信可能に結合されている。言い換えれば、信頼できる第三者38及びデバイスB34は、第5の通信チャネル41を保護する暗号化技術を利用するために十分な処理能力を備えることができる。例えば、コンピューティング・デバイス10において、中央処理装置14及び信頼できる第三者は、通信インタフェース24に接続されたネットワークを介して通信可能に結合されてもよい。言い換えれば、第5の安全な通信チャンネル41は、ワイド・エリア・ネットワーク(WAN)またはローカルエリアネットワーク(LAN)などのネットワークを利用することができる。
デバイスB34が共有鍵を受信すると、デバイスA32及びデバイスB34は、共有鍵を使用して通信されたデータを符号化及び復号することによって安全に通信することができる。このようにして、デバイスA32とデバイスBとの間で通信されるデータは、通信されたデータの完全性を検証する共有鍵を使用してデータに署名することによって保護される。上述したように、本明細書に記載の技術を利用して共有鍵を安全に通信することは、鍵共有システム30をセット・アップすることによって可能にすることができる。
鍵共有システム30をセット・アップするためのプロセス48の一実施形態を図3に示す。一般に、プロセス48は、固有識別子及び共有鍵のペアリングを生成すること(プロセス・ブロック50)、第1のデバイスにペアリングを記憶すること(プロセス・ブロック52)、信頼できる第三者に記憶するためにペアリングを送信すること(プロセス・ブロック54)、及び共有鍵を第2のデバイスに安全に通信すること(プロセス・ブロック56)を含む。いくつかの実施形態では、プロセス48は、メモリ16、42、46などの1つ以上の有形の非一時的なコンピュータ可読媒体及び/またはブート・ブロック28(単独または組み合わせのいずれか)に記憶され、中央処理装置14、処理コンポーネント40もしくは44、及び/またはマイクロコントローラ26のような1つ以上の処理コンポーネントによって(単独または組み合わせて)実行される、複数の命令によって実施することができる。
したがって、いくつかの実施形態では、鍵生成器36は、デバイスA32のための固有識別子及び共有鍵のペアリングを生成することができる(プロセス・ブロック50)。より具体的には、鍵生成器36は、デバイスA32を固有に識別するための固有識別子を生成してもよい。例えば、一部の実施形態では、固有識別子は、シリアル番号及び製造者識別子を含むMACアドレスであってもよい。より具体的には、シリアル番号は、デバイスA32が製造された順序を示すことができる。言い換えれば、シリアル番号を生成するために、鍵生成器36は、1つのデバイスにシリアル番号を割り当て、シリアル番号をインクリメントし、インクリメントされたシリアル番号を次のデバイスに割り当てることができる。他の実施形態では、固有識別子は、例えば複数のルールのセットに基づいてランダムに生成されてもよい。
さらに、鍵生成器36は、デバイスA32と通信されたデータを符号化/復号するために使用される、共有鍵を生成することができる。より具体的には、共有鍵は、デバイスAとデバイスBとの間の通信に使用され得る符号化/復号のタイプに基づいて生成されてもよい。いくつかの実施形態では、共有鍵は、ルールの特定のセットに基づいて生成されてもよい。他の実施形態では、共有鍵は、数字、文字、及び/または記号を含むことができる大きなランダムに生成された文字列であってもよい。共有鍵のサイズは、外部当事者が鍵のすべての可能性を推測できる可能性を低減するように選択することができる。したがって、共有鍵は、80ビット、128ビット、256ビット、またはそれ以上であってもよい。
いくつかの実施形態では、固有識別子及び共有鍵は、別々に生成されてもよい。例えば、デバイスA32に対する固有識別子は、共有鍵を生成するためのアルゴリズムにアクセスできない製造者によって生成されてもよい。その後、別個の安全な施設が共有鍵を生成することができる。言い換えれば、鍵生成器36は、製造施設及び/または追加の安全な施設を含むことができる。
デバイスA32の固有識別子及び共有鍵が生成されると、鍵生成器36は、メモリ42にペアリングを記憶することができる。より具体的には、固有識別子及び共有鍵は、それらが互いに対応するように記憶することができる。言い換えれば、対応する共有鍵は、固有識別子に基づいて判定されてもよい。いくつかの実施形態では、共有鍵が単一の固有識別子とペアになっている場合、固有識別子は、共有鍵に基づいて判定されてもよい。
さらに、鍵生成器36は、デバイスA32に固有識別子及び共有鍵のペアリングを記憶することができる(プロセス・ブロック52)。いくつかの実施形態では、ペアリングは、製造中にデバイスA32に記憶されてもよい。例えば、ブート・デバイス12の製造中に、鍵生成器36は、中央処理装置14により直接アクセスできないブート・ブロック28の一部分のような別のエンティティに、直接アクセス可能でなくまたさらされていない、不揮発性メモリに、ペアリングを静的にプログラムすることができる。いくつかの実施形態では、ペアリングは、例えばディスクリート回路を使用してデバイスA32にハードワイヤ接続されてもよい。他の実施形態では、デバイスA32の固有識別子は、共有鍵へのアクセス権を持たない製造業者によって記憶されてもよい。その後、別個の安全な施設、例えば共有鍵を生成した安全な施設は、それが固有識別子とペアになるようにデバイスAに共有鍵を記憶することができる。言い換えれば、ブート・デバイス12の製造が完了した後に、ペアリングをブート・デバイス12に記憶することができる。
より具体的には、ペアリングは、製造施設などの安全な施設でデバイスA32に記憶されてもよい。いくつかの実施形態では、安全な施設は、外部当事者がペアリングへのアクセス権を得る可能性を低減する侵入防止システムを含むことができる。このように、特に、製造中にペアリングが記憶されるとき、共有鍵は、デバイスA32に安全に通信することができる。
さらに、固有識別子及び共有鍵のペアリングは、信頼できる第三者38に記憶することができる(プロセス・ブロック54)。より具体的には、ペアリングは、例えば、ネットワークを介して、鍵生成器36から信頼できる第三者38に通信することができる。このような実施形態では、転送されたデータを暗号化することによってペアリングを安全に通信することができる。より具体的には、鍵生成器36は、ペアリングを暗号化し、暗号化されたペアリングを信頼できる第三者38に通信することができる。次に、信頼できる第三者38は、受信したペアリングを暗号解読し、暗号解読されたペアリングをメモリ46に記憶する。
次に、共有鍵は、信頼できる第三者38からデバイスB34に安全に通信することができる(プロセス・ブロック56)。いくつかの実施形態では、共有鍵は、例えば、ネットワークを介して信頼できる第三者38からデバイスB34に通信されてもよい。そのような実施形態では、共有鍵は、転送されたデータを暗号化することによって安全に通信することができる。より具体的には、信頼できる第三者38は、共有鍵を暗号化し、暗号化された鍵をデバイスB34に通信することができる。次に、デバイスB34は、受信した鍵を暗号解読し、例えばメモリ16に暗号解読された共有鍵を記憶する。
しかしながら、共有鍵は、デバイスA32とデバイスB34との間の通信を保護するために使用されるので、共有鍵を秘密に保たねばならない。したがって、共有鍵をデバイスB34に通信するプロセスは、外部第三者が共有鍵を取得する可能性を低減するためのセキュリティ手段を含むことができる。説明を助けるため、共有鍵を通信するために使用される、信頼できる第三者38、デバイスB34、及びデバイスA32の間のデータ・フローを、図4に記載する。
図示された実施形態では、デバイスB34は、デバイスA32に、その固有識別子及び署名(矢印58)について要求を送信することができる。例えば、コンピューティング・システム10において、中央処理装置14は、データ・バスを介してブート・デバイス12に要求を通信することができる。いくつかの実施形態では、署名は、メッセージのオリジナリティを提供するために使用される乱数または疑似乱数であり得る、ノンスを使用して生成され得る。したがって、要求とともに、デバイスB34はノンスを送信することができる。他の実施形態では、信頼できる第三者38は、ノンスと共にデバイスA32に要求を送信(図示せず)することができる。
この要求に応答して、デバイスA32は署名を生成することができる(矢印60)。いくつかの実施形態では、署名は、ノンス及び共有鍵を使用して固有識別子に対して暗号学的ハッシュを実行することによって生成することができる。例えば、コンピューティング・システム10では、マイクロコントローラ26が署名を生成することができる。
次に、デバイスA32は、署名と共にデバイスB34に固有識別子を送信することができ(矢印62)、デバイスB34は、信頼できる第三者に固有識別子及び署名を中継することができる(矢印64)。例えば、コンピューティング・システム10において、ブート・デバイス12は、データ・バスを介して固有識別子及び署名を中央処理装置14に通信することができる。中央処理装置14は、通信インタフェース24に接続されたネットワークを介して、固有識別子及び署名を信頼できる第三者に中継することができる。他の実施形態では、デバイスA32は、固有識別子及び署名を、信頼できる第三者38に直接通信(図示せず)することができる。
受信した固有識別子を使用して、信頼できる第三者38は、デバイスA32に記憶された共有鍵を検索することができる(矢印66)。さらに、共有鍵を使用して、信頼できる第三者38は、受信した署名を検証することができる(矢印68)。例えば、上述のコンピューティング・システム10を参照すると、信頼できる第三者38は、メモリ46から共有鍵を検索し、処理コンポーネント44を使用して署名を検証することができる。より具体的には、信頼できる第三者38は、署名を生成するためにデバイスA32によって実行される共有鍵を使用して、固有識別子について同じ動作(例えば、暗号学的ハッシュ)を実行することによって、署名を検証することができる。
信頼できる第三者38によって判定された署名がデバイスA32から受信した署名と一致する場合、信頼できる第三者38は共有鍵をデバイスB34に通信することができる(矢印70)。例えば、上述のコンピューティング・システム10を参照すると、信頼できる第三者38は、通信インタフェース24に接続されたネットワークを介して、共有鍵を中央処理装置14に通信することができる。
共有鍵が受信されると、デバイスB34は、共有鍵を記憶することができる(矢印72)。例えば、コンピューティング・システム10において、中央処理装置14は、共有鍵をメモリ16に記憶することができる。上述したように、共有鍵の露出を制限することが重要である。このように、中央処理装置14は、別のエンティティによって直接アクセス可能ではなく、または別のエンティティに露出されないように、共有鍵を記憶することができる。言い換えると、共有鍵は、デバイスBに安全に記憶することができる。
このようにして、デバイスA32とデバイスB34との間のその後の通信(矢印74)は、例えば、共有鍵で送信データに署名することによって、共有鍵を使用して送信データの完全性を検証することによって保護することができる。例えば、コンピューティング・システム10において、中央処理装置14は、共有鍵を使用して暗号学的ハッシュを実行することによって、メモリ16から共有鍵を検索し、データに署名(例えば、符号化)することができる。署名されたデータを受信すると、マイクロコントローラ26は、共有鍵を使用して同じ暗号学的ハッシュを実行することによって、不揮発性メモリ(例えば、ブート・ブロック28)から共有鍵を検索し、データを検証(例えば、復号)する。より具体的には、中央処理装置14によって実行される暗号学的ハッシュの結果を、マイクロコントローラ26によって実行される暗号学的ハッシュの結果と比較することによって、結果を検証することができる。そして、結果が一致する場合、マイクロコントローラ26は、中央処理装置14の識別情報を検証し、及び/またはデータの識別情報が変更されていないことを検証することができる。次に、マイクロコントローラ26は、検証されたデータを処理することができる。
同様に、マイクロコントローラ26は、共有鍵を使用して暗号学的ハッシュを実行することによって、不揮発性メモリ(例えば、ブート・ブロック28)から共有鍵を検索し、データに署名(例えば、符号化)することができる。中央処理装置14は、署名されたデータを受信すると、メモリ16から共有鍵を検索し、共有鍵を使用して同じ暗号学的ハッシュを実行することによってデータを検証(例えば、復号)することができる。より具体的には、中央処理装置14によって実行される暗号学的ハッシュの結果を、マイクロコントローラ26によって実行される暗号学的ハッシュの結果と比較することによって、結果を検証することができる。そして、結果が一致すると、中央処理装置14は、マイクロコントローラ26の識別情報を検証し、及び/またはデータが変更されていないことを検証することができる。次に、中央処理装置14は検証されたデータを処理することができる。Twofish、Serpent、AES、Blowfish、CAST5、RC4、3DES、及びIDEAなどの様々な符号化/復号技術を利用することができる。このようにして、共有鍵を他のエンティティに露出することなく、データの通信を保護することができる。
データ・フローを実施するためのプロセス76の一実施形態を図5に示す。一般に、プロセス76は、第1のデバイスから固有識別子及び署名を要求し(プロセス・ブロック78)、署名を生成し(プロセス・ブロック80)、固有識別子及び署名を信頼できる第三者に送信し(プロセス・ブロック82)、共有鍵を検索し(プロセス・ブロック84)、署名を検証し(プロセス・ブロック86)、共有鍵を第2のデバイスに送信し(プロセス・ブロック88)、そして共有鍵を使用して通信を復号/符号化する(プロセス・ブロック90)ことを含む。いくつかの実施形態では、プロセス76は、メモリ16、42、46及び/またはブート・ブロック28などの1つ以上の有形の非一時的なコンピュータ可読媒体に記憶され、中央処理装置14、処理コンポーネント40あるいは44、及び/またはマイクロコントローラ26などの、1つ以上の処理コンポーネントによって実行される、命令によって実施することができる。
データ・フローに示すように、プロセス76はデバイスB34によって初期化することができる。例えば、デバイスB34は、デバイスB34が、デバイスA32との通信が所望されているが、デバイスB34は共有鍵を知らない、と判定した場合に、プロセス76を初期化することができる。他の実施形態では、プロセス76は、信頼できる第三者38及び/またはデバイスB34によって初期化されてもよい。例えば、プロセス76は、デバイスB34及びデバイスA32が、例えばコンピューティング・システム10の作動開始時またはコンピューティング・システム10の電源投入時ごとに初めて通信可能に結合されている、とデバイスB34または信頼できる第三者38が判定した場合に、初期化されてもよい。
プロセス76が初期化されると、固有識別子及び署名の要求がデバイスA32に通信される(プロセス・ブロック78)。データ・フローにあるように、要求は、例えばデバイスB34がプロセス76を初期化すると、デバイスB34からデバイスA32に通信されてもよい。他の実施形態では、信頼できる第三者38がプロセス76を初期化すると、要求は信頼できる第三者38からデバイスB34に通信され、デバイスB34は要求をデバイスA32に中継することができる。追加的にまたは代替的に、要求は信頼できる第三者38からデバイスA32に直接通信することができる。
上述したように、署名は、固有識別子、共有鍵、及び/またはノンスを使用して生成することができる。したがって、署名を生成するために使用されたノンスは、要求と共にデバイスA32に通信されてもよい(プロセス・ブロック92)。一般に、ノンスは乱数または疑似乱数であってもよい。いくつかの実施形態では、ノンスは、信頼できる第三者38が、ノンスを利用してデバイスA32によって返された署名を検証することができるように、信頼できる第三者38によって生成されてもよい。他の実施形態では、ノンスはデバイスB34によって生成されて、デバイスA32及び信頼できる第三者38の両方に通信されてもよい。
要求の受信に応答して、デバイスA32は署名を生成することができる(プロセス・ブロック80)。より具体的には、デバイスA32は、共有鍵及び受信したノンスを使用して署名を生成することができる。いくつかの実施形態では、デバイスA32は、共有鍵及びノンスを鍵として使用して固有識別子に対して暗号学的ハッシュを実行することによって、署名を生成することができる。暗号学的ハッシュ関数の出力(例えば、結果)は、署名である。さらに、ノンスは乱数または疑似乱数とすることができるので、署名は外部の当事者が再現するのを困難にすることができる。
次に、デバイスA32は、生成された署名及びその固有識別子を信頼できる第三者38に通信することができる(プロセス・ブロック82)。データ・フローにあるように、署名及び固有識別子は、デバイスA32からデバイスB34に通信され、デバイスB34は、署名及び固有識別子を信頼できる第三者38に中継することができる。追加的にまたは代替的に、署名及び固有識別子は、デバイスA32から信頼できる第三者38に直接通信されてもよい。
受信した固有識別子を使用して、信頼できる第三者38は、デバイスA32の対応する共有鍵を検索することができる(プロセス・ブロック84)。上述したように、信頼できる第三者38は、例えばメモリ46に、複数のデバイスに対する固有識別子及び共有鍵のペアリングを記憶することができる。したがって、信頼できる第三者38は、記憶されたペアリングを検索して、受信した固有識別子に対応する共有鍵を見つけることができる。
次に、信頼できる第三者38は、デバイスA32から受信した署名を検証することができる(プロセス・ブロック86)。より具体的には、信頼できる第三者38は共有鍵とノンスを有するので、信頼できる第三者38は、デバイスA32によって使用されるのと同じ動作を実行して、署名を生成することができる。例えば、信頼できる第三者38は、共有鍵とノンスを鍵として使用して、固有識別子に対して同じ暗号学的ハッシュを実行することができる。次に、暗号学的ハッシュ関数の出力を、受信した署名と比較することができる。署名が一致する場合、信頼できる第三者38は、デバイスA32が実際に共有鍵を知っていると判定することができる。言い換えれば、共有鍵はデバイスA32に固有であるので、信頼できる第三者38は、デバイスA32の識別情報を検証するために署名を使用することができる。
一方、署名が一致しない場合、信頼できる第三者38は、外部の第三者がデバイスA32であると偽っていると判定することができる。言い換えれば、信頼できる第三者38は、外部の第三者が共有鍵を判定しようと試みている、と判定することができる。いくつかの実施形態では、これはコンピューティング・システム10への侵入の試みを示し得る。このように、信頼できる第三者38は、共有鍵を検索するさらなる試みをブロックし、及び/または可能性のある侵入をオペレータに通知することができる。
署名が検証された場合、信頼できる第三者38は、共有鍵をデバイスB34に安全に通信することができる(プロセス・ブロック88)。より具体的には、信頼できる第三者38は、共有鍵を暗号化し、暗号化された鍵をデバイスB34に送信することができる。次に、デバイスB34は、共有鍵を暗号解読し、例えばメモリ16に記憶することができる。
続いて、デバイスA32及びデバイスB34は、共有鍵を使用してデータを符号化及び復号することによって安全に通信することができる(プロセス・ブロック90)。一般に、デバイスA32は、共有鍵を使用してデータに署名(例えば、符号化)し、署名されたデータをデバイスB34に送信することができる。いくつかの実施形態では、デバイスA32は、共有鍵を使用してデータに対する暗号学的ハッシュを実行することにより、データに署名することができる。次にデバイスA32は、署名されたデータをデバイスBに送信することができる。いくつかの実施形態では、署名されたデータは、デバイスA32によって実行された暗号学的ハッシュの結果とともにデータを含むことができる。デバイスB34は、受信データを検証(例えば、復号)し、処理することができる。いくつかの実施形態では、デバイスB34は、データに対して同じ暗号学的ハッシュを実行し、デバイスA32によって実行された暗号学的ハッシュの結果を、デバイスB34によって実行された暗号学的ハッシュの結果と比較することによって、署名されたデータを検証することができる。より具体的には、結果が一致した場合、デバイスB34は、デバイスA32の識別情報を検証し、及び/またはデータが変更されていない(例えば、改竄されていない)ことを検証することができる。さらに、いくつかの実施形態では、同じ暗号学的ハッシュ関数が、デバイスA32、信頼できる第三者38、及びデバイスB34によって使用されて、署名を生成し、送信データを署名/検証することができる。
このようにして、デバイスA32及びデバイスB34は、安全な通信チャネル(例えば、通信チャネル39)をセット・アップすることができる。したがって、コンピューティング・システム10において、ブート・デバイス12は、スタートアップ・ルーチン命令を中央処理装置14に安全に通信することができる。より具体的には、マイクロコントローラ26は、共有鍵を使用してスタートアップ・ルーチン命令に署名(例えば、符号化)し、符号化された命令を中央処理装置14に送信することができる。次に、中央処理装置14は、命令を検証(例えば、復号)してスタートアップ命令を実行することができる。さらに、共有鍵が中央処理装置14及びブート・デバイス12の両方に安全に通信されるので、外部の第三者がスタートアップ・ルーチン命令を変更するリスクが最小限に抑えられる。
したがって、本開示の技術的効果は、共有鍵のデバイスへの安全な通信を可能にすることを含む。実際、本技術は、デバイスの1つが処理能力に制限がある場合であっても、共有鍵をデバイスに安全に通信することを可能にする。
本発明は、様々な修正及び代替形態が可能であるが、特定の実施形態は、図面の例として示されており、本明細書において詳細に説明されている。しかしながら、本発明は開示された特定の形態に限定されるものではないことを理解されたい。むしろ、本発明は、以下の添付の特許請求の範囲によって規定される本発明の精神及び範囲内に入るすべての修正、等価物、及び代替物を包含するものである。

Claims (32)

  1. 共有鍵を第1のデバイス及び第2のデバイスに安全に通信する方法であって、
    前記第1のデバイスを使用して、前記第1のデバイスに関連付けられた共有鍵及び固有識別子のペアリングを鍵生成器から受信することと、
    信頼できる第三者を使用して、前記鍵生成器から前記共有鍵と固有識別子のペアリングを受信することと、
    前記第1のデバイスを使用して、前記固有識別子及び前記共有鍵を使用する署名を生成することと、
    前記第1のデバイスを使用して、前記署名及び前記固有識別子を前記信頼できる第三者に送信することと、
    前記信頼できる第三者を使用して、前記署名に基づいて前記固有識別子を検証することと、
    前記信頼できる第三者を使用して、前記固有識別子が検証されたときに前記共有鍵を判定することと、
    前記信頼できる第三者を使用して、前記第1のデバイス及び前記第2のデバイスが、前記共有鍵を使用して通信データを符号化及び復号することによって安全に通信することを可能にするために、前記第2のデバイスに前記共有鍵を送信することと
    を含む、前記方法。
  2. 前記署名及び前記固有識別子を送信することが、前記信頼できる第三者または前記第2のデバイスから受信した要求に応答して、前記署名及び前記固有識別子を送信することを含む、請求項1に記載の方法。
  3. 前記要求がノンスを含み、前記署名を生成することが、前記共有鍵及び前記ノンスを使用して前記固有識別子に暗号学的ハッシュを実行することを含む、請求項2に記載の方法。
  4. 前記信頼できる第三者または前記第2のデバイスが、
    前記第1のデバイス及び前記第2のデバイスは初めて通信可能に結合されることと、
    前記第2のデバイスは電源が投入されていることと、
    前記第2のデバイスは共有鍵を知らないこと、またはそれらの任意の組み合わせ
    を判定したときに送信することを含む、請求項2に記載の方法。
  5. 前記第1のデバイスがブート・デバイスを含み、前記第2のデバイスが中央処理装置を含み、前記ブート・デバイス及び前記中央処理装置は、データ・バスを介して通信可能に結合され、前記中央処理装置は、ネットワークを介して前記信頼できる第三者に通信可能に結合されている、請求項1に記載の方法。
  6. 前記ブート・デバイスを使用して、前記共有鍵を使用してスタートアップ・ルーチン命令を符号化することによって、前記ブート・デバイスに記憶された前記スタートアップ・ルーチン命令に署名することと、
    前記ブート・デバイスを使用して、前記署名されたスタートアップ・ルーチン命令を前記中央処理装置に送信することと、
    前記中央処理装置を使用して、前記署名されたスタートアップ・ルーチン命令を、前記共有鍵を使用して前記署名されたスタートアップ・ルーチン命令を復号することによって検証することと、
    前記中央処理装置を使用して、コンピューティング・システムを初期化するために前記スタートアップ・ルーチン命令を実行することと
    を含む、請求項5に記載の方法。
  7. プロセッサによって実行可能な命令を記憶するように構成された、有形の非一時的なコンピュータ可読媒体であって、前記命令が、
    信頼できる第三者を使用して、第1のデバイスに関連付けられた共有鍵及び固有識別子のペアリングを記憶することと、
    前記信頼できる第三者を使用して、前記共有鍵を使用して前記第1のデバイスから受信した署名された固有識別子に少なくとも部分的に基づいて、前記第1のデバイスの識別情報を検証することであって、前記署名された固有識別子が、前記固有識別子ならびに前記固有識別子及び前記共有鍵を使用して前記第1のデバイスによって生成された署名を含む、前記検証することと、
    前記信頼できる第三者を使用して、前記第1のデバイスの前記識別情報が検証されたときに、前記固有識別子に少なくとも部分的に基づいて、前記共有鍵を判定することであって、前記信頼できる第三者が、異なるデバイスと関連付けられた複数の固有識別子及び共有鍵のペアリングを記憶するように構成された、前記判定することと、
    前記第1のデバイスおよび前記第2のデバイスが、前記共有鍵を使用して通信データを符号化及び復号することによって、安全に通信することを可能にするために、前記信頼できる第三者から第2のデバイスに、前記共有鍵を送信すること
    のための命令を含む、前記有形の非一時的なコンピュータ可読媒体。
  8. ノンスを生成するための命令と、前記署名された固有識別子を要求するために、前記信頼できる第三者から前記第1のデバイスに要求を送信する命令とを含み、前記要求は、前記第1のデバイスが、前記共有鍵及び前記ノンスを使用して、前記固有識別子に第1の暗号学的ハッシュ演算を実行することによって、前記署名を生成することを可能にするための前記ノンスを含む、請求項7に記載のコンピュータ可読媒体。
  9. 前記第1のデバイスの前記識別情報を検証するための前記命令が、前記固有識別子、前記共有鍵、及び前記ノンスを使用して、前記信頼できる第三者によって実行される第2の暗号学的ハッシュ演算の出力と、前記署名を比較する命令を含む、請求項8に記載のコンピュータ可読媒体。
  10. 前記共有鍵を前記第2のデバイスに送信する前記命令が、公開鍵インフラストラクチャ暗号化技術を使用して前記共有鍵を暗号化するための命令を含む、請求項7に記載のコンピュータ可読媒体。
  11. 前記共有鍵を判定する前記命令が、前記固有識別子を前記複数のペアリングのうちの1つと照合するための命令を含む、請求項7に記載のコンピュータ可読媒体。
  12. 第1のデバイスを製造する方法であって、
    鍵生成器を使用して、前記第1のデバイスを固有識別する固有識別子を生成することと、
    前記鍵生成器を使用して、送信データを符号化し、受信データを復号するために、前記第1のデバイスによって使用されるように構成された、共有鍵を生成することと、
    前記鍵生成器を使用して、前記第1のデバイス内の前記固有識別子及び前記共有鍵を記憶することと、
    前記固有識別子及び前記共有鍵を前記鍵生成器から信頼できる第三者に送信することであって、前記信頼できる第三者が、
    前記固有識別子及び前記共有鍵をペアリングとして記憶することと、
    前記共有鍵を第2のデバイスに送信して、第1のデバイスと第2のデバイスが、前記共有鍵を使用してデータを符号化及び復号することによって安全に通信することと
    を可能にする、前記送信することと
    を含む、前記方法。
  13. 前記固有識別子及び前記共有鍵を前記信頼できる第三者に送信することが、公開鍵インフラストラクチャ暗号化技術を使用して前記固有識別子及び前記共有鍵を暗号化し、前記暗号化された固有識別子及び共有鍵をネットワーク上で送信することを含む、請求項12に記載の方法。
  14. 前記固有識別子を生成することが、メディア・アクセス制御アドレスを生成することを含む、請求項12に記載の方法。
  15. 前記共有鍵を生成することが、対称鍵を生成することを含む、請求項12に記載の方法。
  16. 前記固有識別子及び前記共有鍵を前記第1のデバイスに記憶することが、前記共有鍵が別のエンティティによってアクセス可能でないように、前記第1のデバイスの製造中に前記第1のデバイスのメモリを静的にプログラミングすることを含む、請求項12に記載の方法。
  17. 固有識別子、共有鍵、及びコンピューティング・システムを初期化するためにプロセッサによって実行可能なスタートアップ・ルーチン命令を記憶するように構成された1つ以上の不揮発性メモリと、
    マイクロコントローラであって、
    前記固有識別子及び署名を信頼できる第三者に提供する、ノンスを含む要求を受信し、
    前記固有識別子、共有鍵、及び前記ノンスを使用して前記署名を生成し、
    前記署名及び前記固有識別子を信頼できる第三者に送信して、前記信頼できる第三者が前記共有鍵を判定し、前記共有鍵を前記プロセッサに通信することを可能にし、それにより前記マイクロコントローラ及び前記プロセッサが前記共有鍵を使用して安全に通信することを可能にする
    ように構成された、前記マイクロコントローラと
    を含む、不揮発性ブート・デバイス。
  18. 請求項17に記載の不揮発性ブート・デバイスであって、前記マイクロコントローラが、
    前記共有鍵を使用して暗号学的ハッシュを実行することによってスタートアップ・ルーチン命令に署名し、
    前記署名されたスタートアップ・ルーチンを前記プロセッサに送信して、前記プロセッサが、
    前記共有鍵を使用して前記暗号学的ハッシュを実行し、前記マイクロコントローラによって実行された前記地図作成ハッシュの結果と、前記プロセッサによって実行された前記暗号学的ハッシュの結果とを比較することによって、前記スタートアップ命令を検証することと、
    前記スタートアップ命令を実行して、前記スタートアップ・ルーチン命令が検証されたときに前記コンピューティング・システムを初期化することと
    を可能にする
    ように構成された、前記不揮発性ブート・デバイス。
  19. 前記信頼できる第三者が、前記署名を使用して前記固有識別子を検証し、前記固有識別子が検証されたときに、前記共有鍵を前記プロセッサに通信するように構成された、請求項17に記載の不揮発性ブート・デバイス。
  20. 前記ノンスが、乱数または擬似乱数である、請求項17に記載の不揮発性ブート・デバイス。
  21. 前記マイクロコントローラが、データ・バスを介して前記プロセッサから前記要求を受信し、前記データ・バスを介して前記署名及び前記固有識別子を前記プロセッサに送信するように構成され、前記プロセッサが、ネットワークを介して前記署名及び前記固有識別子を前記信頼できる第三者に送信し、前記共有鍵を前記信頼できる第三者からネットワークを介して受信するように構成された、請求項17に記載の不揮発性ブート・デバイス。
  22. 前記1つ以上の不揮発性メモリが、不揮発性ブート・ブロックを含む、請求項17に記載の不揮発性ブート・デバイス。
  23. プロセッサによって実行可能な命令を記憶するように構成された、有形の非一時的なコンピュータ可読媒体であって、前記命令が、
    前記プロセッサからデバイスに、前記デバイスから固有識別子及び、前記デバイスに記憶された共有鍵に少なくとも部分的に基づいて生成された署名を要求するために、要求を送信し、
    前記プロセッサを使用して、前記デバイスから前記固有識別子及び前記署名を受信し、
    前記プロセッサから信頼できる第三者に前記固有識別子及び前記署名を送信して、前記信頼できる第三者が前記共有鍵を判定することを可能とし、
    前記プロセッサを使用して、前記信頼できる第三者からの前記共有鍵を受信し、
    前記プロセッサを使用して、前記デバイスに送信されたデータを符号化し、前記共有鍵を使用して前記デバイスから受信したデータを復号することによって、前記デバイスと通信する
    ための命令を含む、前記有形の非一時的なコンピュータ可読媒体。
  24. 前記デバイスから符号化されたスタートアップ・ルーチン命令を受信し、
    前記スタートアップ・ルーチンの命令を復号し、
    前記復号されたスタートアップ・ルーチン命令を実行して、前記プロセッサを初期化する
    ための命令を含む、請求項23に記載のコンピュータ可読媒体。
  25. 前記要求を送信する前記命令が、前記プロセッサが前記デバイスに最初に結合されたときに前記要求を送信するための命令を含む、請求項23に記載のコンピュータ可読媒体。
  26. 前記信頼できる第三者から前記要求を受信する命令を含む、請求項23に記載のコンピュータ可読媒体。
  27. 前記プロセッサを使用してノンスを生成し、
    前記ノンスを前記プロセッサから前記デバイス及び前記信頼できる第三者に送信する
    ための命令を含む、請求項23に記載のコンピュータ可読媒体。
  28. 第2のデバイスに通信可能に結合された第1のデバイスであって、前記第1のデバイスが、共有鍵を使用して前記第2のデバイスと安全に通信するように構成され、前記第1のデバイスは、
    前記第2のデバイスに通信可能に結合された信頼できる第三者に、前記第1のデバイスに関連付けられた固有識別子及び署名を送信することにより、前記第2のデバイスが前記共有鍵を判定することを可能にし、
    前記第2のデバイスが前記信頼できる第三者から前記共有鍵を受信した後に、前記共有鍵を使用して第1の暗号学的ハッシュを実行することによって、データに署名し、
    前記署名されたデータを前記第2のデバイスに送信して、前記第2のデバイスが、前記共有鍵を使用して第2の暗号学的ハッシュを実行し、前記第1の暗号学的ハッシュからの結果を前記第2の暗号学的ハッシュからの結果と比較することによって、前記データを検証することを可能にする
    ように構成された、前記第1のデバイス
    を含む、コンピューティング・システム。
  29. 前記第2のデバイスが中央処理装置であり、前記第1のデバイスが不揮発性ブート・デバイスである、請求項28に記載のコンピューティング・システム。
  30. 前記第1のデバイスが、前記第2のデバイスまたは前記信頼できる第三者から受信した要求に応答して、前記信頼できる第三者に前記固有識別子及び前記署名を送信して、前記信頼できる第三者が、前記第1のデバイスの識別情報を検証し、前記第1のデバイスの識別情報が検証されたときに、前記第2のデバイスに前記共有鍵を通信するように構成されている、請求項28に記載のコンピューティング・システム。
  31. 前記第1のデバイスが、前記固有識別子に前記第1の暗号学的ハッシュを実行することによって前記署名を生成するように構成され、前記第1の暗号学的ハッシュが、前記第2の暗号学的ハッシュと同じ演算である、請求項28に記載のコンピューティング・システム。
  32. 前記データが、スタートアップ・ルーチン命令を含み、前記第2のデバイスが、前記スタートアップ・ルーチン命令が検証された後に、前記コンピューティング・システムを初期化するために前記スタートアップ・ルーチン命令を実行するように構成された、請求項28に記載のコンピューティング・システム。
JP2017518068A 2014-10-06 2015-09-22 安全な共有鍵共有システム及び方法 Active JP6221014B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/507,526 US9331989B2 (en) 2014-10-06 2014-10-06 Secure shared key sharing systems and methods
US14/507,526 2014-10-06
PCT/US2015/051436 WO2016057209A1 (en) 2014-10-06 2015-09-22 Secure shared key sharing systems and methods

Publications (2)

Publication Number Publication Date
JP6221014B1 JP6221014B1 (ja) 2017-10-25
JP2017536729A true JP2017536729A (ja) 2017-12-07

Family

ID=55633647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017518068A Active JP6221014B1 (ja) 2014-10-06 2015-09-22 安全な共有鍵共有システム及び方法

Country Status (6)

Country Link
US (2) US9331989B2 (ja)
EP (1) EP3205046B1 (ja)
JP (1) JP6221014B1 (ja)
KR (1) KR101830589B1 (ja)
CN (2) CN106797317B (ja)
WO (1) WO2016057209A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020129769A (ja) * 2019-02-12 2020-08-27 コニカミノルタ株式会社 鍵共有方法、鍵共有システム、エージェント端末

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805844B2 (en) 2008-08-04 2014-08-12 Liveperson, Inc. Expert search
US10356098B2 (en) * 2013-02-19 2019-07-16 Barry Gold Systematic enhancement of contact information
US9906511B1 (en) * 2015-06-29 2018-02-27 Bar-Ilan University Secure impersonation detection
US9832174B2 (en) * 2015-08-11 2017-11-28 Netapp, Inc. Authentication for cluster peering
CN106470104B (zh) 2015-08-20 2020-02-07 阿里巴巴集团控股有限公司 用于生成共享密钥的方法、装置、终端设备及系统
US10432403B2 (en) * 2015-11-25 2019-10-01 Fenwal, Inc. Secure communication between infusion pump and server
US10262164B2 (en) 2016-01-15 2019-04-16 Blockchain Asics Llc Cryptographic ASIC including circuitry-encoded transformation function
US11170094B2 (en) * 2016-01-27 2021-11-09 Secret Double Octopus Ltd. System and method for securing a communication channel
GB2550905A (en) * 2016-05-27 2017-12-06 Airbus Operations Ltd Secure communications
GB2551580A (en) * 2016-06-24 2017-12-27 Sony Corp Data communications
US10404478B2 (en) 2016-08-04 2019-09-03 Macronix International Co., Ltd. Physical unclonable function using divided threshold distributions in non-volatile memory
US10911229B2 (en) 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
US10855477B2 (en) 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US11258599B2 (en) 2016-08-04 2022-02-22 Macronix International Co., Ltd. Stable physically unclonable function
US10230700B2 (en) * 2016-08-09 2019-03-12 Lenovo (Singapore) Pte. Ltd. Transaction based message security
US10606864B2 (en) 2016-08-16 2020-03-31 Quintessencelabs Pty Ltd. Fault-tolerant key management system
CN107801187B (zh) * 2016-08-31 2021-02-02 华为技术有限公司 加解密方法、装置及系统
US9722803B1 (en) 2016-09-12 2017-08-01 InfoSci, LLC Systems and methods for device authentication
US10419226B2 (en) 2016-09-12 2019-09-17 InfoSci, LLC Systems and methods for device authentication
CN107181589B (zh) * 2017-04-11 2020-09-22 北京奇艺世纪科技有限公司 一种堡垒机私钥管理方法及装置
US11463439B2 (en) 2017-04-21 2022-10-04 Qwerx Inc. Systems and methods for device authentication and protection of communication on a system on chip
CN107438005B (zh) * 2017-06-21 2020-01-14 深圳奥联信息安全技术有限公司 Sm9联合数字签名方法和装置
US10313133B2 (en) * 2017-06-21 2019-06-04 Visa International Service Association Secure communications providing forward secrecy
US10819696B2 (en) 2017-07-13 2020-10-27 Microsoft Technology Licensing, Llc Key attestation statement generation providing device anonymity
WO2019026372A1 (ja) * 2017-08-04 2019-02-07 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
DE102017118164A1 (de) * 2017-08-09 2019-02-14 Infineon Technologies Ag Kryptographische schaltung und datenverarbeitung
US10836400B2 (en) 2017-12-19 2020-11-17 Micron Technology, Inc. Implementing safety measures in applications
US10850684B2 (en) * 2017-12-19 2020-12-01 Micron Technology, Inc. Vehicle secure messages based on a vehicle private key
US10594666B2 (en) 2017-12-19 2020-03-17 Micron Technology, Inc. Secure message including a vehicle private key
US11178133B2 (en) 2017-12-19 2021-11-16 Micron Technology, Inc. Secure vehicle control unit update
US10933882B2 (en) 2017-12-27 2021-03-02 Micron Technology, Inc. Determination of reliability of vehicle control commands using a voting mechanism
US10836402B2 (en) 2017-12-27 2020-11-17 Micron Technology, Inc. Determination of reliability of vehicle control commands via redundancy
US10981576B2 (en) 2017-12-27 2021-04-20 Micron Technology, Inc. Determination of reliability of vehicle control commands via memory test
US10372943B1 (en) 2018-03-20 2019-08-06 Blockchain Asics Llc Cryptographic ASIC with combined transformation and one-way functions
US20190327092A1 (en) * 2018-04-23 2019-10-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Methods and systems for secure biometric authentication
US10256974B1 (en) 2018-04-25 2019-04-09 Blockchain Asics Llc Cryptographic ASIC for key hierarchy enforcement
US11601402B1 (en) * 2018-05-03 2023-03-07 Cyber Ip Holdings, Llc Secure communications to multiple devices and multiple parties using physical and virtual key storage
US11991273B2 (en) * 2018-09-04 2024-05-21 International Business Machines Corporation Storage device key management for encrypted host data
US11088829B2 (en) 2018-09-04 2021-08-10 International Business Machines Corporation Securing a path at a node
US11038698B2 (en) 2018-09-04 2021-06-15 International Business Machines Corporation Securing a path at a selected node
US11507175B2 (en) 2018-11-02 2022-11-22 Micron Technology, Inc. Data link between volatile memory and non-volatile memory
US10901862B2 (en) 2018-11-13 2021-01-26 Micron Technology, Inc. High-reliability non-volatile memory using a voting mechanism
CN109639682A (zh) * 2018-12-14 2019-04-16 深圳市青葡萄科技有限公司 文件分享方法
US11387983B2 (en) * 2019-03-25 2022-07-12 Micron Technology, Inc. Secure medical apparatus communication
CN110190950B (zh) * 2019-06-11 2021-04-27 飞天诚信科技股份有限公司 一种安全签名的实现方法及装置
KR20210097379A (ko) * 2020-01-30 2021-08-09 삼성전자주식회사 보안 장치, 전자 장치, 보안 부트 관리 시스템, 부트 이미지 생성 방법 및 부트 체인 실행 방법
US11489821B2 (en) * 2020-02-26 2022-11-01 International Business Machines Corporation Processing a request to initiate a secure data transfer in a computing environment
US11546137B2 (en) 2020-02-26 2023-01-03 International Business Machines Corporation Generation of a request to initiate a secure data transfer in a computing environment
US11652616B2 (en) 2020-02-26 2023-05-16 International Business Machines Corporation Initializing a local key manager for providing secure data transfer in a computing environment
US11502834B2 (en) 2020-02-26 2022-11-15 International Business Machines Corporation Refreshing keys in a computing environment that provides secure data transfer
US11184160B2 (en) 2020-02-26 2021-11-23 International Business Machines Corporation Channel key loading in a computing environment
US11770246B2 (en) * 2020-09-02 2023-09-26 Motorola Solutions, Inc. Securely transferring key materials between processors in a multi-processor device
CN112926978A (zh) * 2020-09-07 2021-06-08 陈建芸 基于区块链通信的支付信息处理方法及系统
KR20220052016A (ko) 2020-10-20 2022-04-27 삼성전자주식회사 스토리지 장치에서의 보안 동작을 위한 키 교환 방법 및 이를 이용한 접근 권한 이관 방법
US11380379B2 (en) 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories
CN112584355A (zh) * 2020-12-13 2021-03-30 北京明朝万达科技股份有限公司 一种用于车辆间通信的密钥协同方法、系统和介质
US11968296B2 (en) * 2021-03-09 2024-04-23 Micron Technology, Inc. Utilization of a memory device for per-user encryption
CN113114627B (zh) * 2021-03-19 2023-01-31 京东科技信息技术有限公司 一种基于密钥交换的安全数据交互方法以及交互系统
KR20230020239A (ko) 2021-08-03 2023-02-10 시큐리티플랫폼 주식회사 플래시 메모리를 이용한 펌웨어 업데이트 보안 방법 및 이를 실행하기 위한 기록매체에 저장된 컴퓨터 프로그램
KR102573894B1 (ko) 2021-08-03 2023-09-01 시큐리티플랫폼 주식회사 플래시 메모리를 이용한 펌웨어 업데이트 공유키 관리 방법 및 이를 실행하기 위한 기록매체에 저장된 컴퓨터 프로그램
KR102510167B1 (ko) * 2021-08-03 2023-03-15 시큐리티플랫폼 주식회사 플래시 메모리를 이용한 펌웨어 대용량 업데이트 개선 방법 및 이를 실행하기 위한 기록매체에 저장된 컴퓨터 프로그램
CN114418830A (zh) * 2022-01-19 2022-04-29 百度在线网络技术(北京)有限公司 安全计算方法、装置、设备以及存储介质
KR102535124B1 (ko) * 2022-08-04 2023-05-26 (주)이씨스 복수의 ble 장치를 하나의 장치로 인식시키는 ble 장치 복제 시스템 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005209108A (ja) * 2004-01-26 2005-08-04 Toshiba Lsi System Support Kk メモリ外付けマイコン
US20070288761A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors
JP2011501582A (ja) * 2007-10-23 2011-01-06 西安西▲電▼捷通▲無▼▲綫▼▲網▼絡通信有限公司 信頼できる第三者に基づいたエンティティの相互認証の方法、及びシステム
JP2011501585A (ja) * 2007-11-16 2011-01-06 華為技術有限公司 キー配信用の方法、システムおよび機器
WO2014088172A1 (en) * 2012-12-06 2014-06-12 Samsung Electronics Co., Ltd. System on chip for performing secure boot, image forming apparatus using the same, and method thereof

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5937063A (en) * 1996-09-30 1999-08-10 Intel Corporation Secure boot
US8156322B2 (en) 2007-11-12 2012-04-10 Micron Technology, Inc. Critical security parameter generation and exchange system and method for smart-card memory modules
CN101222328B (zh) * 2007-12-14 2010-11-03 西安西电捷通无线网络通信股份有限公司 一种实体双向鉴别方法
US8543799B2 (en) * 2008-05-02 2013-09-24 Microsoft Corporation Client authentication during network boot
US9559842B2 (en) 2008-09-30 2017-01-31 Hewlett Packard Enterprise Development Lp Trusted key management for virtualized platforms
US8214630B2 (en) * 2009-02-24 2012-07-03 General Instrument Corporation Method and apparatus for controlling enablement of JTAG interface
EP2228942B1 (en) * 2009-03-13 2012-06-06 Sap Ag Securing communications sent by a first user to a second user
US8745365B2 (en) * 2009-08-06 2014-06-03 Imation Corp. Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system
CN101667913B (zh) * 2009-09-18 2011-12-21 重庆邮电大学 基于对称加密的认证加密方法及加密系统
US20120008784A1 (en) 2010-07-08 2012-01-12 Phillip Martin Hallam-Baker Delegated Key Exchange System and Method of Operation
US20130080768A1 (en) 2011-09-26 2013-03-28 Erik Lagerway Systems and methods for secure communications using an open peer protocol
CN102427449B (zh) * 2011-11-04 2014-04-09 北京工业大学 一种基于安全芯片的可信移动存储方法
US20130173903A1 (en) * 2011-12-29 2013-07-04 Eric T. Obligacion Unified network architecture having storage devices with secure boot devices
US20130173906A1 (en) * 2011-12-29 2013-07-04 Eric T. Obligacion Cloning storage devices through secure communications links
US8745371B2 (en) * 2011-12-29 2014-06-03 Unisys Corporation Unified network architecture having storage devices with secure boot devices
EP2667539A1 (en) 2012-05-21 2013-11-27 Koninklijke Philips N.V. Key sharing methods, device and system for configuration thereof.
US9237133B2 (en) 2012-12-12 2016-01-12 Empire Technology Development Llc. Detecting matched cloud infrastructure connections for secure off-channel secret generation
CN105027492B (zh) 2013-02-28 2019-05-07 皇家飞利浦有限公司 用于确定共享密钥的设备、方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005209108A (ja) * 2004-01-26 2005-08-04 Toshiba Lsi System Support Kk メモリ外付けマイコン
US20070288761A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors
JP2011501582A (ja) * 2007-10-23 2011-01-06 西安西▲電▼捷通▲無▼▲綫▼▲網▼絡通信有限公司 信頼できる第三者に基づいたエンティティの相互認証の方法、及びシステム
JP2011501585A (ja) * 2007-11-16 2011-01-06 華為技術有限公司 キー配信用の方法、システムおよび機器
WO2014088172A1 (en) * 2012-12-06 2014-06-12 Samsung Electronics Co., Ltd. System on chip for performing secure boot, image forming apparatus using the same, and method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020129769A (ja) * 2019-02-12 2020-08-27 コニカミノルタ株式会社 鍵共有方法、鍵共有システム、エージェント端末
JP7107241B2 (ja) 2019-02-12 2022-07-27 コニカミノルタ株式会社 鍵共有方法、鍵共有システム、エージェント端末

Also Published As

Publication number Publication date
KR20170056018A (ko) 2017-05-22
US20170019380A1 (en) 2017-01-19
CN106797317A (zh) 2017-05-31
JP6221014B1 (ja) 2017-10-25
CN108809646A (zh) 2018-11-13
US9686248B2 (en) 2017-06-20
EP3205046A1 (en) 2017-08-16
US20160099922A1 (en) 2016-04-07
CN108809646B (zh) 2020-03-17
EP3205046A4 (en) 2018-07-18
KR101830589B1 (ko) 2018-02-20
CN106797317B (zh) 2018-09-21
EP3205046B1 (en) 2019-11-06
WO2016057209A1 (en) 2016-04-14
US9331989B2 (en) 2016-05-03

Similar Documents

Publication Publication Date Title
JP6221014B1 (ja) 安全な共有鍵共有システム及び方法
US10785019B2 (en) Data transmission method and apparatus
CN110378139B (zh) 一种数据密钥保护方法、系统及电子设备和存储介质
US10263962B2 (en) User authentication over networks
JP7454564B2 (ja) 鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品
JP5855696B2 (ja) 完全性検証を含むブロック暗号化方法およびブロック復号化方法
US11075759B2 (en) Fingerprint data processing method and processing apparatus
US10880100B2 (en) Apparatus and method for certificate enrollment
CN107317677B (zh) 密钥存储及设备身份认证方法、装置
WO2021103802A1 (zh) 数据的加解密方法、装置、存储介质及加密文件
JP2017517979A (ja) 署名生成および暗号化/暗号解読のための共通法rsa鍵対
CN107453880B (zh) 一种云数据安全存储方法和系统
US11057196B2 (en) Establishing shared key data for wireless pairing
JP2019514314A (ja) 暗号化メッセージを送受信するために動的公開鍵インフラストラクチャを用いる方法、システム、及び媒体
US20190044922A1 (en) Symmetric key identity systems and methods
CN113556230A (zh) 数据安全传输方法、证书相关方法、服务端、系统及介质
US10681038B1 (en) Systems and methods for efficient password based public key authentication
CN111064577A (zh) 一种安全认证方法、装置及电子设备
US20230085577A1 (en) Secured performance of an elliptic curve cryptographic process
CN114240428A (zh) 数据传输方法及装置、数据交易终端、数据供方
JP2022551586A (ja) 暗号化コプロセッサにおけるエンティティ固有の暗号化コードの実行
CN116628771A (zh) 芯片安全启动的方法、系统、存储介质及终端
KR20200086436A (ko) Https 프로토콜에서 mitm 공격을 회피하는 방법
EP3010172A1 (en) System enabling licensed processing of encrypted information

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170420

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170420

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170420

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170817

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: 20170926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171002

R150 Certificate of patent or registration of utility model

Ref document number: 6221014

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250