JP2024513526A - ルートオブトラスト登録及びデバイス拘束された公開鍵登録 - Google Patents
ルートオブトラスト登録及びデバイス拘束された公開鍵登録 Download PDFInfo
- Publication number
- JP2024513526A JP2024513526A JP2023562579A JP2023562579A JP2024513526A JP 2024513526 A JP2024513526 A JP 2024513526A JP 2023562579 A JP2023562579 A JP 2023562579A JP 2023562579 A JP2023562579 A JP 2023562579A JP 2024513526 A JP2024513526 A JP 2024513526A
- Authority
- JP
- Japan
- Prior art keywords
- certificate
- epk
- electronic device
- device identifier
- identifier
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 90
- 230000015654 memory Effects 0.000 claims abstract description 75
- 230000006870 function Effects 0.000 claims abstract description 68
- 230000004044 response Effects 0.000 claims abstract description 44
- 238000012795 verification Methods 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 17
- 230000000977 initiatory effect Effects 0.000 claims description 12
- 238000010200 validation analysis Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 36
- 238000007726 management method Methods 0.000 description 20
- 238000004519 manufacturing process Methods 0.000 description 16
- 230000004888 barrier function Effects 0.000 description 12
- 238000003860 storage Methods 0.000 description 12
- 230000005641 tunneling Effects 0.000 description 12
- 108091006146 Channels Proteins 0.000 description 11
- 230000001010 compromised effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000009434 installation Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007429 general method Methods 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- VBMOHECZZWVLFJ-GXTUVTBFSA-N (2s)-2-[[(2s)-6-amino-2-[[(2s)-6-amino-2-[[(2s,3r)-2-[[(2s,3r)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-2-[[(2s)-2,6-diaminohexanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]propanoyl]amino]hexanoyl]amino]propanoyl]amino]hexan Chemical compound NC(N)=NCCC[C@@H](C(O)=O)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CCCCN)NC(=O)[C@H]([C@@H](C)O)NC(=O)[C@H]([C@H](O)C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@@H](N)CCCCN VBMOHECZZWVLFJ-GXTUVTBFSA-N 0.000 description 1
- 239000004593 Epoxy Substances 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 108010068904 lysyl-arginyl-alanyl-lysyl-alanyl-lysyl-threonyl-threonyl-lysyl-lysyl-arginine Proteins 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000000377 silicon dioxide Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3234—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network 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
- H04L63/064—Hierarchical key distribution, e.g. by multi-tier trusted parties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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/3278—Cryptographic 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 using physically unclonable functions [PUF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Power Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
方法、装置、デバイス、及びコンピュータ可読媒体が登録に関連して提供される。一例では、電子デバイスが提供される。電子デバイスは、物理複製困難関数(PUF)を有するセキュリティモジュールを備える。セキュリティモジュールは、PUFに対する第1のチャレンジ及び応答に基づいて登録鍵対(EPK、ESK)を確立するように構成され、登録鍵対は、登録公開鍵(EPK)及び登録秘密鍵(ESK)を備える。電子デバイスは、1つ以上のメモリを更に備える。電子デバイスは、セキュア接続を介して、EPKがデバイス識別子と関連付けられることを証明する証明書のためのデバイス識別子及びEPKを含む証明書署名要求(CSR)をサーバに送信するように構成される1つ以上のプロセッサを更に備え、CSRがESKを使用して署名され、デバイス識別子がEPKの関数に基づく。1つ以上のプロセッサは、セキュア接続を介して、EPKがデバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書を受信するように更に構成される。1つ以上のプロセッサは、一時的登録デバイス証明書をメモリにインストールするように更に構成される。
Description
本開示は、一般に、当事者間の信頼を確立するための方法及びシステムに関する。特に、本開示は、暗号化方法及びそのような方法を実行するように構成されるコンピューティング装置に関する。本明細書の開示は、多くのデバイス及びネットワークに適用可能であるが、特にインターネット接続デバイスに適用可能である。
インターネットなどのネットワークは、日常的なタスクの実行方法を変化させており、これは情報セキュリティに大きな影響を及ぼしている。多くの日常タスクは、デジタルデバイスが安全に認証し、別の当事者によって認証され、及び/又は個人情報を安全に処理することを必要とする。モノのインターネット(IoT)の発展に伴い、暖房や照明などのシステムがインターネットに接続されたデバイスによって制御されることが益々一般的になり、益々多くのデバイスが毎年インターネットに接続されるようになっている。
デバイス認証とは、それを信頼できるようにするためにデバイスの識別情報を安全に確立する行為を指す。デバイスが接続するサービス(例えば、クラウドベースのサービス)は、デバイスが本物であり、信頼できるソフトウェアを実行しており、信頼できるユーザに代わって動作していることを知る必要がある。
プロビジョニングとは、エンドユーザに渡すのに適するようにデバイスを準備し、サービスに登録するプロセスを指す。認証はそのプロセスの一部であるため、適切なクレデンシャルを提示するデバイスのみが登録される。プロビジョニングの正確な詳細は実施に基づいて大きく異なり得るが、殆どの状況において、デバイスには製造時に暗号鍵及び証明書が提供されるため、デバイスが展開される(サービスに接続するためにエンドユーザにいつでも提供できる状態にある)とき、適切なクレデンシャルを提供することができる。
多くの場合、IoTデバイスの組み込みシステムは事前共有鍵に依存しており、事前共有鍵は、それらがインターネットに接続されてグローバルにアドレス指定可能になる時点で問題になる。デバイスの展開前に事前共有鍵を共有しなければならず、また、集中型リソースは、一般に、通信するために各デバイスと鍵を共有する必要があるため、単一のサーバの妥協は、デバイスのネットワーク全体のセキュリティを危険にさらす場合がある。更に、そのような事前共有鍵は、任意の通信の発信元の証明及びアクセス制御などの様々なセキュリティ保証を可能にしない。
公開鍵インフラストラクチャ(PKI)は、事前共有鍵に伴う問題に対処する1つの方法を提供する。PKIは、集中型クレデンシャル管理及び鍵配布のために多くのネットワークシステムで使用されるが、IoTコミュニティは、経済的理由及び技術的理由の両方のためにPKIを採用するのに時間がかかっている。公開鍵暗号化、すなわち非対称暗号化は、広く普及することができる公開鍵と、デバイス/所有者にのみ知られている対応する秘密鍵(secret key)/プライベート鍵(private key)とを含む鍵の対を使用する暗号システムである。PKIは、デジタル証明書を作成、管理、配布、使用、記憶及び無効にする並びに公開鍵暗号化を管理するのに必要な役割、ポリシー、ハードウェア、ソフトウェア及び手順のセットである。PKIは、公開鍵をエンティティのそれぞれの識別情報(人、組織、又は個々のデバイスなど)とバインディングする。バインディングは、信頼できる認証局(CA)による証明書の登録及び発行のプロセスを介して確立される。
事前共有鍵又は公開鍵インフラストラクチャをうまく利用するために、幾つかの秘密情報が、一般に、デバイス製造時又はその直後に電子デバイスのセキュア領域に注入される。例えば、秘密情報は事前共有鍵であってもよく、又は秘密情報は、公開鍵暗号化に依存するシステム内の鍵対の秘密鍵を含んでもよい。この手法は、秘密情報を電子デバイスに注入する、及び/又は鍵を安全に注入する第三者の能力を信頼するセキュア設備を必要とする。セキュア設備は、コストが高く、管理が困難であり、新たな脅威に対する堅牢な応答を確保するためにセキュリティ手順の継続的な保守及び評価を必要とする。一般に、鍵を生成及び記憶するためにハードウェアセキュリティモジュール(HSM)が必要とされる場合があり、電子デバイスに鍵を注入するために一体型鍵注入システムが必要とされる場合があり、その場合でも、HSM及び/又はセキュア設備が損なわれる場合、注入された鍵の完全性を確保することができない。
電子デバイスに秘密情報を安全に提供する際の固有の困難は、デバイスの登録-相互接続されたデバイスのグリッドへのその開始などの更なる下流側プロセスに影響を及ぼす可能性がある。多くの場合、デバイス証明書は、サービスに登録するための幾つかの基本的なクレデンシャルをデバイスに提供するために、製造時にデバイスに安全に提供されなければならない。ここでも、これをどの程度確実に行なうことができるかには限界がある。
典型的なシナリオにおいて、相手先ブランド製品の製造業者(OEM)は、製造されたデバイスに登録を可能にするための識別情報を提供し、デバイスにファームウェアを安全にインストールすることを求めることができる。デバイスは、例えば、鍵を記憶するためのセキュア領域を有するマイクロコントローラを含むことができ、マイクロコントローラは、第三者の製造業者によって製造されていてもよい。OEM又は製造業者は、例えば、秘密鍵及びデバイス証明書を、セキュア設備を必要とするセキュア領域に注入することができる。デバイスにファームウェア/証明書をインストールするために、OEMは、信頼を必要とするデバイスを構成するためのプログラミングハウスのサービスを採用することができる。プログラミングハウスは、セキュア設備を運用し、正しい情報を注入し、OEMに代わって証明書に安全に署名するために、信頼できなければならない。状況によっては、デバイスをプロビジョニングするには、複数の異なる当事者が電子デバイスと対話する必要があり得る。
本発明の実施形態の目的は、当技術分野で知られている1つ以上の問題を少なくとも緩和することである。
本発明の一態様によれば、電子デバイスが提供される。電子デバイスは、物理複製困難関数(PUF)を有するセキュリティモジュールを備える。セキュリティモジュールは、PUFに対する第1のチャレンジ及び応答に基づいて登録鍵対(EPK、ESK)を確立するように構成され、登録鍵対は、登録公開鍵(EPK)及び登録秘密鍵(ESK)を備える。電子デバイスは、1つ以上のメモリを更に備える。電子デバイスは、セキュア接続を介して、EPKがデバイス識別子と関連付けられることを証明する証明書のためのデバイス識別子及びEPKを含む証明書署名要求(CSR)をサーバに送信するように構成される1つ以上のプロセッサを更に備え、CSRがESKを使用して署名され、デバイス識別子がEPKの関数に基づく。1つ以上のプロセッサは、セキュア接続を介して、EPKがデバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書を受信するように更に構成される。1つ以上のプロセッサは、一時的登録デバイス証明書をメモリにインストールするように更に構成される。
従来、デバイスがサービスに関して認証できるようにするために、デバイス証明書(一時的又は他の方法)が、デバイス証明書と関連付けられる秘密鍵と共に、製造中にデバイスにインストールされる。これに対し、本開示の方法及び装置は、好適には、製造後に、製造時に電子デバイスに秘密鍵を埋め込む必要なく、一時的デバイス証明書を電子デバイスに提供できるようにする。
1つ以上のメモリには、プライマリトラステッドルート証明書がインストールされていてもよい。1つ以上のプロセッサは、セキュア接続を介して、発行証明書を受信するように更に構成されてもよく、発行証明書は、プライマリトラステッドルート証明書の下位(descendant)である。発行証明書は、電子デバイスのための永続的デバイス証明書に関連する後続の手順で使用され得る。
1つ以上のプロセッサは、発行証明書がプライマリトラステッドルート証明書から直接派生していることを検証するように更に構成されてもよい。1つ以上のプロセッサは、検証に応じて、発行証明書をメモリにインストールするように更に構成されてもよい。
1つ以上のプロセッサは、サーバからセキュア接続発行証明書及びセキュア接続証明書を受信するように更に構成されてもよく、セキュア接続発行証明書及びセキュア接続証明書はプライマリトラステッドルート証明書の下位である。1つ以上のプロセッサは、プライマリトラステッドルート証明書を使用してセキュア接続証明書を検証するように更に構成されてもよい。1つ以上のプロセッサは、検証に応じて、サーバに対するセキュア接続を確立するように更に構成されてもよい。
セキュア接続証明書を検証することは、セキュア接続証明書がプライマリトラステッドルート証明書の下位であることを検証すること、任意選択的に、セキュア接続証明書に含まれるサーバ識別子を電子デバイスの1つ以上のメモリに記憶されるサーバ識別子と比較することを含んでもよい。サーバ識別子は、例えば、サーバの名前又はサーバのアドレス(例えば、URL又はIPアドレス)を含んでもよい。
1つ以上のプロセッサは、電子デバイスの1つ以上のメモリに記憶されるサーバ識別子によって識別されるサーバに対するセキュア接続を開始するように更に構成されてもよい。
デバイスは、PUFに対する第2のチャレンジ及び応答に基づいてデバイス鍵対(DPK、DSK)を確立するように更に構成されてもよく、デバイス鍵対は、デバイス公開鍵(DPK)及びデバイス秘密鍵(DSK)を含む。1つ以上のプロセッサは、第2のセキュア接続を介して、DPKがデバイス識別子と関連付けられることを証明する証明書のための第2の証明書署名要求(CSR)をサーバに送信するように更に構成されてもよい。第2のCSRはDPK及びデバイス識別子を含んでもよく、第2のCSRはDSKを使用して署名される。1つ以上のプロセッサは、第2のセキュア接続を介して、DPKをデバイス識別子と関連付けるデバイス証明書を受信するように更に構成されてもよい。1つ以上のプロセッサは、デバイス証明書がプライマリトラステッドルート証明書の下位であることを検証するように更に構成されてもよい。1つ以上のプロセッサは、検証に応じて、デバイス証明書をメモリにインストールするように更に構成されてもよい。
好適には、本明細書を読むと明らかになるように、そのような方法は、デバイス識別子がそのデバイス識別子に関連するものとして認証されたデバイス公開鍵に関連しないデバイス証明書を電子デバイスに提供できるようにする。これにより、下流側での更なるセキュリティが可能になる。例えば、デバイス鍵対が何らかの予期しない方法で危険にさらされる場合、電子デバイスは、新しいデバイス識別情報を必要とせずに再鍵付き証明書を取得することができる。
デバイス識別子は、EPKのハッシュ関数に基づいてもよい。例えば、デバイス識別子は、EPKに適用される暗号化ハッシュ関数に基づいてもよい。
一時的登録デバイス証明書の有効期間は、関連する実施目的に適した任意の期間であってもよい。幾つかの例において、有効期間は、10分未満、5分未満、又は2分未満であってもよい。
幾つかの例において、一時的登録デバイス証明書は、その識別情報が電子デバイスのファームウェアから電子デバイスに知られていたコンピューティング装置/サーバからセキュア接続を介して受信されたため、電子デバイスによって信頼され得る。
他の例において、電子デバイスの1つ以上のメモリには、一時的登録トラステッドルート証明書がインストールされていてもよい。1つ以上のプロセッサは、一時的登録デバイス証明書を受信した後、一時的登録トラステッドルート証明書を使用して一時的登録デバイス証明書を検証するように構成されてもよく、一時的登録デバイス証明書をインストールすることは検証に応答したものである。
一時的登録デバイス証明書は、一時的登録発行証明書と関連付けられる秘密鍵を使用してサーバによって署名されてもよい。
本発明の一態様によれば、電子デバイスによる実行のための方法が提供される。電子デバイスは、物理複製困難関数(PUF)を有するセキュリティモジュールを備え、セキュリティモジュールは、PUFに対する第1のチャレンジ及び応答に基づいて登録鍵対(EPK、ESK)を確立するように構成され、登録鍵対は、登録公開鍵(EPK)及び登録秘密鍵(ESK)を備える。電子デバイスは、1つ以上のメモリを更に備える。方法は、セキュア接続を介して、EPKがデバイス識別子と関連付けられることを証明する証明書のための証明書署名要求(CSR)をサーバに送信するステップを含み、CSRはデバイス識別子及びEPKを含む。CSRはESKを使用して署名され、デバイス識別子はEPKの関数に基づく。方法は、セキュア接続を介して、EPKがデバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書を受信するステップを更に含む。方法は、一時的登録デバイス証明書をメモリにインストールすることを更に含む。
本発明の一態様によれば、サーバが提供される。サーバは、本明細書では鍵管理サーバ又はコンピューティング装置とも呼ばれ得る。サーバは、デバイス識別子と、電子デバイスによって確立される登録鍵対の登録公開鍵(EPK)とを含む証明書署名要求(CSR)を受信するように構成される。CSRは、EPKがデバイス識別子と関連付けられることを証明する証明書のためのものである。デバイス識別子は、EPKの関数に基づく。サーバは、サーバが証明書に署名することができるデバイス識別子のデータベースとデバイス識別子が照合されるようにするべく更に構成される。サーバは、デバイス識別子がEPKの関数であることを証明するためにデバイス識別子の照合が実行されるようにするべく更に構成される。サーバは、EPKがデータベース内のデバイス識別子と関連付けられるようにするべく更に構成される。サーバは、EPKがデバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書に署名するように更に構成される。サーバは、デバイス識別子によって識別される電子デバイスに対するセキュア接続を介した署名された一時的登録デバイス証明書の送信を開始するように更に構成される。
サーバは、電子デバイスからセキュア接続を介してCSRを受信するように構成されてもよい。サーバは、サーバシステムの1つのサーバであってもよく、CSRは、電子デバイスとのセキュア接続を介してCSRを受信したサーバシステムの他のサーバを介して受信されてもよい。
サーバは、セキュア接続を介して発行証明書を送信するように更に構成されてもよく、発行証明書は、電子デバイスに知られているプライマリトラステッドルート証明書の下位である。
サーバは、デバイス識別子に基づいて、プライマリトラステッドルート証明書の下位である複数の発行証明書からセキュア接続を介して送信するための発行証明書を選択するように更に構成されてもよい。このようにして、異なるデバイスに関して異なるセキュリティポリシーを設定することができ、例えば、第1の発行証明書を第1のクラスの電子デバイス(例えば、スマート電球)で使用し、第2の発行証明書を第2のクラスの電子デバイス(例えば、スマート洗濯機)で使用することができる。
セキュア接続を介して送信される発行証明書は、電子デバイスと関連付けられるセキュリティポリシーに基づくことができる。
電子デバイスのデバイス識別子がデータベースと照合されるようにすることは、CSRにおいて受信されたデバイス識別子がデータベースに既に記憶されることを検証するために照合が実行されるようにすることを含んでもよい。サーバは、受信されたデバイス識別子がデータベースに既に記憶される場合にのみ、一時的登録デバイス証明書に署名することを許可されてもよい。好適には、そのような条件は、関連するデバイス識別子がデータベース内にある電子デバイスのための証明書にのみサーバが署名するため、セキュリティを向上させ、したがって、危険にさらされた電子デバイスはサーバと通信することができない。
デバイス識別子がEPKの関数であることを証明するためにデバイス識別子の照合が実行されるようにすることは、デバイス識別子がEPKのハッシュ関数に基づくことを証明するためにデバイス識別子の照合が実行されるようにすることを含んでもよい。
一時的登録デバイス証明書の有効期間は、関連する実施目的に適した任意の期間であってもよい。幾つかの例において、有効期間は、10分未満、5分未満、又は2分未満であってもよい。
サーバは、電子デバイスに対するセキュア接続発行証明書及びセキュア接続証明書の送信を開始するように更に構成されてもよく、セキュア接続発行証明書及びセキュア接続証明書は、電子デバイスに知られているプライマリトラステッドルート証明書の下位である。
サーバは、一時的登録デバイス証明書を受信するように更に構成されてもよい。サーバは、デバイス識別子と、電子デバイスによって確立されるデバイス鍵対のデバイス公開鍵(DPK)とを含む第2のCSRを受信するように更に構成されてもよく、第2のCSRは、DPKがデバイス識別子と関連付けられることを証明する証明書のためのものである。サーバは、サーバが証明書に署名することができるデバイス識別子のデータベースと第2のCSRのデバイス識別子が照合されるようにするべく更に構成されてもよい。サーバは、第2のCSRのデバイス識別子が受信した一時的登録デバイス証明書で指定されたデバイス識別子と一致することを検証するために、第2のCSRのデバイス識別子の照合が実行されるようにするべく更に構成されてもよい。サーバは、CSRに基づいてデバイス証明書に署名するように更に構成されてもよく、デバイス証明書は、電子デバイスに知られているプライマリトラステッドルート証明書の下位である。サーバは、デバイス識別子によって識別される電子デバイスに対する第2のセキュア接続を介したデバイス証明書の送信を開始するように更に構成されてもよい。幾つかの例において、サーバは、デバイス証明書の送信を開始する前に、第2のCSRのデバイス識別子がEPKの関数であることを検証するために、第2のCSRのデバイス識別子の照合が実行されるようにするべく更に構成されてもよい。
サーバは、電子デバイスから第2のセキュア接続を介してDPKのためのCSRを受信するように構成されてもよい。サーバは、サーバシステムの1つのサーバであってもよく、第2のCSRは、電子デバイスとのセキュア接続を介して第2のCSRを受信したサーバシステムの他のサーバを介して受信されてもよい。
一時的登録デバイス証明書は、サーバに記憶された一時的登録発行証明書によって署名されてもよい。
本発明の一態様によれば、サーバにおける実行のための方法が提供される。方法は、デバイス識別子と、電子デバイスによって確立される登録鍵対の登録公開鍵(EPK)とを含む証明書署名要求(CSR)を受信するステップを含む。CSRは、EPKがデバイス識別子と関連付けられることを証明する証明書のためのものであり、デバイス識別子はEPKの関数に基づく。方法は、サーバが証明書に署名することができるデバイス識別子のデータベースとデバイス識別子が照合されるようにするステップを含む。方法は、デバイス識別子がEPKの関数であることを証明するために、デバイス識別子の照合が実行されるようにするステップを含む。方法は、EPKがデータベース内のデバイス識別子と関連付けられるようにするステップを含む。方法は、EPKがデバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書に署名するステップを含む。方法は、デバイス識別子によって識別される電子デバイスに対するセキュア接続を介した署名された一時的登録デバイス証明書の送信を開始するステップを含む。
本発明の一態様によれば、システムが提供される。システムは、電子デバイス及び1つ以上のサーバを備える。電子デバイスは、物理複製困難関数(PUF)を有するセキュリティモジュールを備え、セキュリティモジュールは、PUFに対する第1のチャレンジ及び応答に基づいて登録鍵対(EPK、ESK)を確立するように構成され、登録鍵対は、登録公開鍵(EPK)及び登録秘密鍵(ESK)を備える。電子デバイスは、1つ以上のメモリを更に備える。電子デバイスは、1つ以上のプロセッサを更に備える。1つ以上のプロセッサは、セキュア接続を介して、EPKがデバイス識別子と関連付けられることを証明する証明書のための証明書署名要求(CSR)を1つ以上のサーバのうちの1つのサーバに送信するように構成される。CSRは、デバイス識別子及びEPKを含み、CSRは、ESKを使用して署名される。デバイス識別子は、EPKの関数に基づく。1つ以上のプロセッサは、セキュア接続を介して、EPKがデバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書を受信するように更に構成される。1つ以上のプロセッサは、検証に応じて、一時的登録デバイス証明書をメモリにインストールするように更に構成される。1つ以上のサーバは、セキュア接続を介して、デバイス識別子とEPKがデバイス識別子と関連付けられることを証明する証明書のためのEPKとを含むCSRを電子デバイスから受信するように構成される。1つ以上のサーバは、1つ以上のサーバが証明書に署名することができるデバイス識別子のデータベースとデバイス識別子を照合するように更に構成される。1つ以上のサーバは、デバイス識別子がEPKの関数であることを証明するためにデバイス識別子を照合するように更に構成される。1つ以上のサーバは、EPKをデータベース内のデバイス識別子と関連付けるように更に構成される。1つ以上のサーバは、EPKがデバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書に署名するように更に構成される。1つ以上のサーバは、セキュア接続を介して署名された一時的登録デバイス証明書を電子デバイスに送信するように更に構成される。
本発明の一態様によれば、コンピュータ可読媒体が提供される。コンピュータ可読媒体は、電子デバイスのプロセッサによって実行されるときに電子デバイスに本明細書に記載の方法を実行させる命令を含む。
本発明の一態様によれば、コンピュータ可読媒体が提供される。コンピュータ可読媒体は、サーバのプロセッサによって実行されるときにサーバに本明細書に記載の方法を実行させる命令を含む。
本明細書に記載のような方法を実行するためのコンピュータプログラム及び/又はコード/命令は、コンピュータ可読媒体又はコンピュータプログラムプロダクト上のコンピュータなどの装置に提供されてもよい。コンピュータ可読媒体は、例えば、電子、磁気、光学、電磁気、赤外線、もしくは半導体システム、又はデータ伝送のための、例えばインターネットを介してコードをダウンロードするための伝搬媒体とすることができる。或いは、コンピュータ可読媒体は、半導体又はソリッドステートメモリ、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、剛体磁気ディスク、及びCD-ROM、CD-R/W、又はDVDなどの光ディスクなどの物理的なコンピュータ可読媒体の形態を成すことができる。
本明細書に提示された教示に照らして、これらの発明が関連する当業者には、本明細書に記載された発明の多くの修正及び他の実施形態が思い浮かび得る。したがって、本明細書の開示は、本明細書に開示された特定の実施形態に限定されるものではないことが理解され得る。更に、本明細書で提供される説明は、要素、ステップ、及び/又は機能の特定の組み合わせの文脈で例示的な実施形態を提供するが、本発明の範囲から逸脱することなく代替の実施形態によって提供されてもよい。
ここで、添付図面に関連して、本発明の実施形態を単なる例として説明する。
説明及び図面を通して、同様の参照番号は同様の部分を指す。
様々な実施形態が以下に説明されるが、本発明はこれらの実施形態に限定されず、これらの実施形態の変形は、添付の特許請求の範囲によってのみ限定されるべき本発明の範囲内に十分に含まれ得る。
以下では、IoTデバイスのセキュリティ及び登録について言及する。しかしながら、当業者であれば分かるように、本明細書に記載の方法、システム、及び装置がはるかに広く適用可能である。
以下では、一時的登録デバイス証明書を電子デバイスに安全に提供する方法、及びデバイス証明書を電子デバイスに安全に提供する方法について説明する。本明細書に記載の方法は、関与する様々な当事者が電子デバイスのセキュリティを特に互いに信頼する必要なく、電子デバイスを展開し、電子デバイスがサービス(例えば、IoTハブによって提供されるクラウドベースのサービス)にいつでも接続できるようにする。説明を容易にするために、幾つかの関与する当事者(例えば、相手先ブランド製品の製造業者及びIoTハブ)の例示的なシナリオが、図1に記載されている、詳細な説明全体を通して参照される。しかしながら、本明細書に記載の方法は、当業者により理解されるように、より一般的に適用可能である。
詳細な説明を読むと理解されるように、電子デバイスには物理複製困難関数が与えられてもよい。物理複製困難関数(物理的に複製が困難な関数又はPUFとしても知られている)は、セキュアEEPROM及び他の高価なハードウェアを必要とせずに、認証及び秘密鍵記憶のために使用される暗号プリミティブである。秘密をデジタルメモリに記憶する代わりに、PUFは、通常は製造中に導入される1つ以上の構成要素の固有の物理的特性から秘密を導き出す。既知のPUFは、小さなシリカ球が懸濁された硬化エポキシシートを通るレーザ光の散乱、又は幾つかの回路におけるゲート遅延の製造ばらつきなどの現象に基づいている。
以下では、物理的に複製が困難な関数、物理複製困難関数、及びPUFという用語は互換的に使用される。PUFは、機能的操作を実行するオブジェクトを含み、すなわち、特定の入力で照会されると、PUFは測定可能な出力を生成する。一般に、PUFへの入力は「チャレンジ」と呼ばれ、結果として生じるPUFの出力は「応答」と呼ばれる。適用されたチャレンジ及びその測定された応答は、「チャレンジ-応答対」(CRP)として知られている。本明細書で使用される用語「チャレンジ」は、PUF(例えば、アレイの特定のセルの選択、特定の電圧の印加など)に提供される選択された入力を意味すると理解され、用語「応答」は、PUFの対応する出力を指すために本明細書で使用される。
PUFが電子デバイスでの使用に適している限り、任意の適切なPUFを本明細書に記載のシステム及び方法で使用することができる。例えば、PUFはSRAM PUFであってもよい。SRAM PUFは、SRAMの閾値電圧のランダム差を使用して、固有のチャレンジ-応答対を作成する。
適切なPUFの他の例は、チップ上のワイヤ又はゲートにおける遅延のランダムな変動を利用する遅延PUFである。入力チャレンジが与えられると、回路内にレース条件が設定され、異なる経路に沿って伝播する2つの遷移が比較されて、どちらが最初に来るかが分かる(応答)。
PUFの他の例では、量子閉じ込めが役割を果たすことができる。例えば、PUFは、幾つかの共振トンネルダイオードから形成することができる。
PUFの他の例では、量子トンネル障壁を通る量子トンネルが役割を果たす場合がある。PUFの一例は、「Device Identification With Quantum Tunnelling Currents」と題されて国際公開第2020/212689号として公開された、2020年4月8日に出願された国際特許出願番号PCT/GB2020/050918号に記載されている。一例によれば、PUFは、複数の個別にアドレス指定可能なセルを有するアレイを含み得る。各セルは、量子トンネル障壁を有する要素回路を備えてもよい。セルは、トランジスタの形態の第1の電子部品と、第2の電子トランジスタの形態の第2の電子部品とを備えてもよい。第1のトランジスタのソース、ドレイン及び本体は、同電位(例えば、地面)に保持されてもよい。第2のトランジスタのソース、ドレイン、及び本体も全て同じ電位に保持されてもよい。第1のトランジスタは、トランジスタのチャネルとゲート端子との間に第1の量子トンネル障壁を有する。第2のトランジスタは、トランジスタのチャネルとゲート端子との間に第2の量子トンネル障壁を有する。製造中に導入されるトランジスタの固有の違いにより、第1の量子トンネル障壁は第1のトランジスタを固有に特徴付け、第2の量子トンネル障壁は第2のトランジスタを固有に特徴付ける。セルは、第1の量子トンネル障壁及び第2の量子トンネル障壁にわたって電位差を印加するために、行デコーダ及び列デコーダを使用して選択され得る。電位差は、電流が第1の量子トンネル障壁又は第2の量子トンネル障壁のいずれかを古典的に通過することができる閾値電圧未満であり得る。したがって、セルが選択されると、量子トンネル電流は第1のトランジスタの第1の量子トンネル障壁を通って流れることができ、量子トンネル電流は第2のトランジスタの第2の量子トンネル障壁を通って流れることができ、古典的な電流は流れない場合がある。量子トンネル電流を比較及び増幅することができる。セルと印加電圧との組み合わせをチャレンジと見なすことができ、出力量子トンネル電流を応答と見なすことができる。
他の例では、PUFは、電子的に相互作用することができる限り、電子部品に基づく必要はない。
以下では、非対称鍵対として知られる幾つかの公開鍵対を参照する。非対称鍵対は、他の当事者と共有され得る公開鍵と、共有されない対応する秘密鍵とを含む。公開鍵は、秘密に保つ必要はないが、改ざんされないように保存されるべき公開値である。一例では、公開鍵は、電子デバイス内のROMに記憶されて、決して書き換え又は変更することができないようにすることができる。本明細書で説明される公開鍵対は、多くの場合名前を有する。例えば、1つの公開鍵対は、「登録公開鍵」(EPK)と対応する「登録秘密鍵」(ESK)とを含む「登録公開鍵対」として説明される。別の公開鍵対は、「デバイス公開鍵」(DPK)と対応する「デバイス秘密鍵」(DSK)とを含む「デバイス公開鍵対」として説明される。別の公開鍵対は、「公開認証局鍵」(PAK)と対応する「秘密認証局鍵」(SAK)とを含む「認証局鍵対」として説明される。読者は、これらの公開鍵対の名前が公開鍵対を区別することのみを意図していることを理解し得る。
本明細書で説明される公開鍵対は、任意の適切な公開鍵暗号システム、例えばRSA又は楕円曲線ベースの暗号システムと共に使用され得る。本明細書で説明される公開鍵対の多くは、デジタル署名と共に使用するためのものである。デジタル署名は、デジタルメッセージ又は文書の真正性を検証するための数学的スキームである。本明細書の例では、任意の適切なデジタル署名スキーム、例えばRSA、ElGamal署名スキーム又はECDSAを使用することができる。
本明細書に記載のサーバ/サーバシステム/コンピューティング装置の幾つかには、「認証局サーバシステム」又は「鍵管理サーバ」などの名前も付けられている。読者は、そのような名称が異なるコンピューティング装置を区別することのみを意図していることを理解し得る。
図1は、電子デバイス100の安全な作成、プロビジョニング、及び展開に関与することができる商用(又は他の)当事者を描く図を示す。当業者は、他の設定が想定され、この図が例示のみを目的として提供されていることを理解し得る。高レベルでは、セキュリティモジュールが製造され、次いで、電子デバイス100にインストールするために相手先ブランド製品の製造業者(OEM)160にセキュリティモジュールが(必ずしもそうとは限らないが、一般に、マイクロコントローラの一部として)提供される。次いで、OEM160は、プログラミングハウス180の助けを借りて、電子デバイス100にファームウェアをインストールし、最終的に展開のために電子デバイス100を準備するステップをとることができる。展開されると、電子デバイス100は、IoTハブ170を介して提供されるサービスと通信することができる。
図を参照すると、認証局(authority)140は、電子デバイス100にインストールするためのセキュリティモジュール110を作成するために、製造能力150を有することができる(又は信頼できる製造業者と密接に協働することができる)。セキュリティモジュール及び電子デバイスの例を以下で更に説明する。
本説明の目的のために、セキュリティモジュール110は、公開鍵対を確立するように動作可能な、図1には示されていない物理複製困難関数(PUF)を含む。公開鍵対は、他の当事者と共有され得る公開鍵と、共有されない対応する秘密鍵とを含む。公開鍵対は、非対称鍵対としても知られ得る。公開鍵及び秘密鍵は、PUFに対するチャレンジ及び応答に基づくことができる。例えば、公開鍵はPUFに対するチャレンジに基づくことができ、秘密鍵はそのチャレンジに対する応答に基づくことができる。したがって、セキュリティモジュール110は、製造業者150又は下流側のいずれかの当事者によって任意の秘密鍵が注入されることを必要とせずに公開鍵対を確立することができる。
本説明の目的のために、セキュリティモジュール110は、対応する少なくとも2つのチャレンジ-応答対に基づいて少なくとも2つの鍵対を確立するように構成される。好適には、PUFベースの公開鍵対では、秘密鍵は、電子デバイスに記憶される必要はないが、セキュリティモジュールによって提供されるセキュア境界/信頼ゾーン内でPUFから動的に再生成され得る。したがって、たとえ電子デバイスがハッキングされたとしても、盗まれる秘密鍵がそこに記憶されていない可能性がある。
登録公開鍵(EPK)及び対応する登録秘密鍵(ESK)は、第1のCRPに基づく。EPKは、電子デバイスに識別子を提供するために使用され、以下で更に説明するように、一時的登録デバイス証明書を電子デバイスに提供するプロセスで使用される。一時的登録デバイス証明書は、EPKをデバイス識別子と関連付け、電子デバイスのためのデバイス証明書を取得するために後続の通信で使用可能である。デバイス識別子は、EPKの関数に基づく。本明細書で説明される例の多くでは、関数が暗号化ハッシュ関数であるが、これはそうである必要はなく、別の関数が使用されてもよい。
デバイス公開鍵(DPK)及び対応するデバイス秘密鍵(DSK)は、第2のCRPに基づく。デバイス鍵対は、EPKに基づく特定のデバイス識別子を有する適切な電子デバイスにデバイス証明書を提供する際に使用される。デバイス証明書は、DPKがデバイス識別子と関連付けられることを証明する。後述するように、デバイス証明書を認証する信頼チェーンは、OEM160によって制御される。
本開示の目的のために、電子デバイス100は、マイクロコントローラ(MCU)などの低レベル回路から成ると理解されてもよい。電子デバイス100は、代替的に、より高いレベルの回路、例えば湿度又は温度を検知するための回路を備えると理解されてもよく、又はスマートフォン又はコンピュータなどのより大規模な電子デバイスであると理解されてもよい。製造業者150は、セキュリティモジュール110のみを製造してもよく、或いは、セキュリティモジュール110が搭載されたマイクロコントローラを製造してもよい。
以下で更に説明するように、認証局140は、公開鍵対と関連付けられてもよい。すなわち、認証局140は、公開鍵(以下、公開認証局鍵PAKと呼ぶ)及び対応する秘密鍵(以下、秘密認証局鍵SAKと呼ぶ)と関連付けられ得る。SAKは他の当事者と共有されないが、PAKはより広く共有され得る。例えば、PAKは、セキュリティモジュール110、例えばセキュアメモリにインプリントされてもよい。或いは、製造業者150がセキュリティモジュールを備えるマイクロコントローラ(又は他の電子デバイス)を製造する場合、PAKは、セキュリティモジュールの外部の電子デバイスの他のリードオンリーメモリ(ROM)にインストールされてもよい。セキュリティ目的のために、セキュリティモジュール/電子デバイスに記憶されたPAKがその完全性を保つために書き換えることも変更することもできないことが重要である。PAKは、後の段階でセキュリティモジュール110によって使用されて、受信した情報がSAKを使用して署名され、したがって認証局140によって承認されたことを検証することができる。他の非秘密情報、例えば、SAKを使用して認証局140によって署名され、PAKが認証局140と関連付けられることを示すルート証明書も、セキュリティモジュール/電子デバイスにインプリントすることができる。認証局140によってセキュリティモジュール110に秘密情報は提供されない。認証局140又は製造業者150によってセキュリティモジュール110から秘密情報が抽出されない。
デバイス識別子及び1つ以上の公開鍵をセキュリティモジュール110から抽出できるようにするために、初期登録ファームウェア(IEF)もセキュリティモジュール/電子デバイスに提供される。
認証局140は、1つ以上のサーバを備えるサーバシステム130を所有及び/又は運用することができる。図1の認証局サーバシステム130には3つのサーバが示されるが、当業者であれば分かるように、サーバシステム130はより多くの又はより少ないサーバを備えてもよい。
認証局システムのサーバの少なくとも1つは、SAKを使用して証明書に署名するように構成される(これに関する詳細は以下で更に提供される)。SAKは、ファームウェアの署名にも使用することができる。
認証局サーバシステム130のサーバの少なくとも1つは、デバイス識別子等のセキュリティモジュール110に関する情報を有するデータベースを保持するように構成される。
認証局サーバシステム130のサーバのうちの少なくとも1つは、相手先ブランド製品の製造業者(OEM)160によって運営されるコンピューティング装置120と安全に通信するように構成される。
サーバの少なくとも1つは、IoTハブ170と通信するように構成される。IoTハブは、IoTアプリケーションとそれが管理する電子デバイスとの間の双方向通信のためのメッセージハブとして機能する、クラウドでホストされるマネージドサービスである。本説明の目的のために、本明細書に記載の方法は、電子デバイスがIoTハブ170と通信する準備ができた状態で展開され得るように、電子デバイスをプロビジョニングするのに適している。
単に明確にする目的のために、サーバシステム130のサーバは、本明細書では「認証局サーバ」と呼ばれることがある。
当業者であれば分かるように、サーバシステム130の機能の少なくとも一部がクラウドサービスとして提供されてもよい。サーバのうちの1つ以上は、認証局140の物理的に外部に位置され得る。サーバシステム130の認証局サーバは、特定のセキュリティモジュール110を識別するためのデバイス識別子を受信することができる。デバイス識別子は、登録秘密鍵(ESK)及びEPKを含む登録鍵対の登録公開鍵(EPK)の関数に基づく。EPK及びESKは、セキュリティモジュール110のPUFに対するチャレンジ及び応答に基づいており、ESKはセキュリティモジュール110を離れない。一例では、EPKがPUFに対するチャレンジに基づいており、ESKがPUFに対するチャレンジへの応答に基づいている。サーバシステム130は、デバイス識別子をデータベースに記憶するように構成される。幾つかの例において、サーバシステム130は、特定のセキュリティモジュール110のEPKを受信してもよいが、受信する必要はない。
サーバシステム130がセキュリティモジュール110のデバイス識別子を受信して記憶すると、セキュリティモジュール110(場合によってはマイクロコントローラに既にインストールされている)がOEM160に提供される。OEMは、一般に、OEM160によって製造されている幾つかの電子デバイス100にインストールするために、そのようなセキュリティモジュールのバッチを購入することができる。
OEM160は、認証局140のサーバシステム130と安全に通信することができるコンピューティング装置120にアクセスすることができる。参照を容易にするために、OEMによって操作されるコンピューティング装置120は、以下では「鍵管理サーバ」と呼ばれる。「鍵管理サーバ」という用語は単数形で使用されているが、当業者であれば分かるように、コンピューティング装置120の機能は複数のコンピューティングデバイス間で共有されてもよく、したがって「鍵管理サーバ」は、所望の機能を有する複数のコンピューティングデバイス(1つ以上のサーバ/コンピューティングデバイスを含む鍵管理サーバシステム)も指すと理解されるべきである。
以下でKMS120と呼ばれる鍵管理サーバ120は、状況によっては、OEM160が直接対話することができるサーバではあるが、認証局サーバシステム130の別の認証局サーバと考えることができる。特に、KMS120は、認証局サーバシステム130と安全に通信することができ、そのため、認証局140によってOEMの使用について認証され得る。
鍵管理サーバ120は、オンプレミス動作のためにOEM160に提供される物理サーバを備えることができる。例えば、OEM160は、認証局140から物理KMS120を取得するように構成され得る。認証局140は、OEM160に提供されるべき特定のKMSインスタンスを識別するためのKMS識別子を生成及び記録することができる。認証局140は、KMS120内部のハードウェアセキュリティモジュール(HSM)でKMS公開鍵対を生成し、KMS公開鍵対のKMS公開鍵を抽出し、KMS識別子をKMS公開鍵と関連付けるためにSAKを使用して証明書に署名し、証明書をKMSソフトウェアに埋め込むことができる。また、認証局140は、KMSが認証局サーバシステム130の認証局サーバと接続できるようにするURLと共に、PAKを認証局140と関連付けるルート証明書をKMS120に埋め込むこともできる。その後、物理的KMS120は、OEM160に物理的に転送されてもよい。その後、KMS120は、サーバシステム130とのセキュア通信(例えば、TLS通信)を開始することができる。サーバシステム130は、SAKによって署名されたTLS証明書及びチェーンを提示してTLSサーバ認証を実行することによって認証することができる。そして、KMS120は、PAKと認証局140とを関連付けるハードコードされたルート証明書を使用して証明書を検証することができる。KMS120は、その証明書(認証局140がSAKを用いて署名したもの)を提示してTLSクライアント認証を実行することによって、認証局サーバに対して認証を行なうことができる。認証局140は、KMSにインストールされた証明書に署名するために使用されるSAKに対応するルート公開鍵(PAK)を使用して、証明書を介して署名を検証することができる。当業者であれば分かるように、KMS120を認証するために使用される公開認証局鍵は、セキュリティモジュール110にインストールされた公開認証局鍵と同じであっても異なっていてもよい。
オンプレミス動作のためにOEM160に提供される特注の物理サーバとは対照的に、鍵管理サーバ120は、OEM160によって動作されるが認証局140のサーバシステム130と通信するために設けられたセキュアゲートウェイのための特注のソフトウェアを有するコンピューティング装置120を備えることができる。特注のソフトウェアは、展開を容易にするために非依存的であり、OEM160によって容易にインストール及び操作することができる。特注のソフトウェアは、それがサーバシステム130に対して認証することができる機構(公開鍵)を含む。
鍵管理サーバ120は、他の電子デバイス100とも通信可能である。このようにして、1つ以上の電子デバイス100を登録することができる。KMS120は、電子デバイス100へのファームウェアの安全なインストールを容易にするために使用されてもよい。以下で更に説明するように、KMS120を使用して、デバイス識別子を特定の電子デバイス100と関連付けることができる。KMS120は、証明書に署名するために使用され得る。
OEM160は、KMS120を使用して、受信した1つ以上のセキュリティモジュールを登録することができる。具体的には、KMS120は、電子デバイスのセキュリティモジュール110と通信してデバイス識別子を抽出することができ、デバイス識別子はEPKの関数を含む。KMS120は、KMSインスタンス120とデバイス識別子との間の関連付けを信頼できる機関140に登録するために、認証局サーバシステム130とのセキュア通信チャネルを開くことができる。認証局140は、ローカルデータベースを更新し、デバイス識別子を正常に登録したことをKMS120に通知することができ、そのデバイス識別子に関連付けられた電子デバイスと通信するための特定の許可をKMS120に付与することができる。
OEM160は、KMS120を使用して、電子デバイスにファームウェアを安全に提供することができる。OEMのファームウェアは、任意の適切な安全な方法を使用して電子デバイスにインストールすることができる。例えば、OEM160は、電子デバイス100にインストールされるファームウェアを設計することができる。KMS120は、認証局サーバシステム130とのセキュア通信チャネルを開き、ファームウェア又はそのハッシュを、秘密認証局鍵SAKで署名するために認証局140に送信することができ、その相手方(PAK)は電子デバイス100にインストールされる。KMS120は、PUFベースのファームウェア公開鍵(FPK)によるファームウェア及び認証局の署名を更に暗号化することができ、その相手方は、電子デバイスで動的に生成可能である。したがって、電子デバイスは、対応するファームウェア秘密鍵を使用してファームウェアを復号し、ファームウェアが認証局140によってメモリに記憶されたPAKを使用して署名されていることを検証することができる。このようにして、OEMは、電子デバイス100にファームウェアを安全に提供することができる。
ファームウェアは、電子デバイスのハードウェアを制御するための低レベル命令を含むことができる。
ファームウェアは、以下で更に説明する方法に従ってデバイスを登録するための1つ以上のルート証明書を含み得る。特に、ファームウェアは、プライマリトラステッドルート証明書(「OEM_ROOT」、図6C)を含み得る。
ファームウェアはKMS120の識別子を含み、該識別子を用いて電子デバイスのデバイス識別子が登録され。例えば、識別子はユニフォーム・リソース・ロケータ(URL)を含むことができ、このURLにより電子デバイスがKMS120に通信するようになっている。ファームウェアは、URLによって識別されるコンピューティング装置/サーバとのTLS接続などのセキュア接続を開始するための命令を含むことができる。
ファームウェアは、電子デバイスが受信した証明書を解釈できるように、証明書命名構造の詳細を含み得る。ファームウェアは、証明書署名要求(CSR)を確立するための詳細を更に含み得る。証明書署名要求は、通常、証明書が発行されるべき公開鍵、識別情報(デバイス識別子など)、及び完全性保護(例えば、デジタル署名)を含む。
また、KMS120は、IoTハブ170に接続するために必要な情報を電子デバイスに安全に提供するために使用されてもよい。例えば、KMS120は、IoTハブと直接又はサーバシステム130を介して通信して、登録された各電子デバイス100のデバイス証明書をIoTハブに提供するように構成されてもよい。KMS120は、デバイスがIoTハブ170と通信でいるようにするために、IoTルート証明書及びIoTエンドポイントを電子デバイス100に提供するように構成されてもよい。
したがって、電子デバイス100は、IoTハブ170と通信するために必要な全ての情報と共に展開されてもよい。
図2は、図1に存在するハードウェアデバイスの多くを含む通信システムをより一般的に示す。図2は、特に、通信ネットワーク200、セキュリティモジュール110を有する例示的な電子デバイス100、例えばOEM160によって操作され得る鍵管理サーバ120、認証局サーバシステム130、及び例えばIoTハブ170によって操作され得るコンピューティングデバイス220を示す。通信ネットワーク200は、インターネットなどの任意の適切な通信ネットワークであってもよい。幾つかの例では、ネットワーク200が広域ネットワーク(WAN)を備えてもよい。
電子デバイス100は、任意の適切な形態をとることができ、本明細書に記載の方法を実行するための任意の適切なコンピューティング装置を備えることができる。例えば、電子デバイスは、パーソナルコンピュータ、サーバ、ラップトップコンピュータ、又は他のそのような機械など、処理及び記憶が可能な任意のコンピューティングデバイスであってもよい。電子デバイス100は、IoTデバイスを備えることができる。電子デバイスは、より大きなデバイスに設置するためのマイクロコントローラユニット(MCU)を備えることができる。電子デバイス100は、直接に又はネットワーク200を介して他のデバイスと通信することができる。例えば、電子デバイス100は、物理的接続又はネットワーク200を介してKMS120と通信することができる。電子デバイス100が展開されると、デバイス100は、ネットワーク200を介してコンピューティングデバイス220と通信することができる。電子デバイスは、セキュア接続、例えばTLS接続を介してKMS120及び/又はコンピューティングデバイス220と通信することができる。
KMS120は、以下で更に説明するコンピューティング装置500などの任意の適切なコンピューティング装置を備えることができる。KMS120は、サーバのクラスタ又は単一のデバイスを備えることができる。KMS120の機能は、分散データ処理環境、単一のデータ処理デバイスなどを含む多くの異なるタイプのデータ処理環境で利用することができる。
KMS120は、ネットワーク200を介して認証局サーバシステム130とセキュア接続を確立することができ、また、ネットワーク200を介して、又は場合によっては有線接続などの直接接続を介して電子デバイス100と通信することもできる。KMS120は、電子デバイス100のセキュリティモジュール110を識別するデバイス識別子及び電子デバイス100のEPKなどの1つ以上の公開鍵などの、電子デバイス100に関する情報を記憶するように構成される。これに加えて又は代えて、KMS120は、そのような情報を取得するために、認証局サーバシステム130のデータベース210と通信するように構成されてもよい。KMS120は、証明書に署名するように更に構成される。
認証局サーバシステム130は、1つ以上のサーバを備え、データベース210を含む。認証局サーバシステム130の1つ以上の認証局サーバは、例えばKMS120が認証局140によって信頼されていることを証明するために、又は電子デバイス100にインストールするためにファームウェアに署名するために、認証局140に代わって証明書に署名するように構成される。データベース210は、電子デバイス100を識別するデバイス識別子、幾つかの例では電子デバイス100のファームウェア公開鍵など、電子デバイス100に関する情報を記憶するように構成される。データベース210は、KMS120に関する情報を記憶するように更に構成され得る。例えば、データベース210は、デバイス識別子のバッチを特定のKMS120と関連付ける情報を含むことができ、それが関連付けられるデバイス識別子のみと対話することをKMS120に許可するために使用され得る。
コンピューティングデバイス220は、多くの接続されたデバイス(例えば、分散型コンピューティング環境内)又は単一のコンピューティングデバイスを備えることができる。
図3Aは、一例に係る電子デバイス100のブロック図を示す。例えば、電子デバイス100はIoTデバイスであってもよい。当業者により理解されるように、図3Aに示すものに対する他のアーキテクチャが使用されてもよい。
図を参照すると、電子デバイス100は、セキュリティモジュール110と、1つ以上のCPU/プロセッサ302と、1つ以上のメモリ304と、センサモジュール306と、通信モジュール308と、ポート310と、電源312とを含む。構成要素302,304,306,308,310,312のそれぞれは、様々なバスを使用して相互接続される。CPU302は、通信モジュール308を介して又はポート310を介して受信された、メモリ304に記憶された命令を含む、電子デバイス100内で実行するための命令を処理することができる。
メモリ304は、電子デバイス100内にデータを記憶するためのものである。1つ以上のメモリ304は、揮発性メモリユニットを含んでもよい。1つ以上のメモリは、1つ以上の不揮発性メモリユニットを含むことができる。また、1つ以上のメモリ304は、磁気又は光ディスクなどのコンピュータ可読媒体の別の形態であってもよい。1つ以上のメモリ304は、電子デバイス100に大容量ストレージをもたらしてもよい。本明細書に記載の方法を実行するための命令は、1つ以上のメモリ304内に記憶することができる。
通信モジュール308は、プロセッサ302と他のシステムとの間で通信を送受信するのに適している。例えば、通信モジュール308は、インターネットなどの通信ネットワーク200を介して通信を送受信するために使用され得る。通信モジュール308は、WiFi(登録商標)、Bluetooth(登録商標)、NFCなどの幾つかのプロトコルのいずれかによって電子デバイス100が他のデバイス/サーバと通信できるようにしてもよい。
ポート310は、例えば、プロセッサ302によって処理されるべき命令を含む非一時的コンピュータ可読媒体を受信するのに適している。ポート310は、例えば、電子デバイス100と鍵管理サーバ120との間の有線通信に使用することができる。
センサモジュール306は、温度、湿度、又は任意の他のパラメータなどの検知パラメータのための1つ以上のセンサを備えることができる。
プロセッサ302は、例えばセンサモジュール306、セキュリティモジュール110、又は通信モジュール308からデータを受信するように構成される。プロセッサ302は、メモリ304にアクセスし、前記メモリ304から、通信モジュール308から、又はポート310に接続されたコンピュータ可読記憶媒体から受信した命令及び/又は情報に基づいて動作するように更に構成される。
図3Bは、より大きな電子デバイス内に設置され得る電子デバイス100の別の例、すなわちマイクロコントローラユニット(MCU)315のアーキテクチャを示す。当業者であれば分かるように、他のMCUアーキテクチャが使用され得る。
図3BのMCU315は、CPU320と、ユーザメモリ322と、ブートランダムアクセスメモリ328とを備える。CPU320、ブートROM328、及びユーザメモリ322は、コードバス324を介して通信することができる。CPU320、ブートROM328、及びユーザメモリ322は、システムバス326に接続されてもよく、システムバスは、複数の周辺機器A、B、及びC(330,332,334)並びにセキュリティモジュール110に接続されてもよい。MCU315には、セキュリティに関する構成要素のみが示されている。当業者であれば分かるように、MCU315がより多くの又はより少ない構成要素を有することができる。例えば、MCU315は、より多くの周辺機器及びシステム構成要素を有することができる。
図4Aは、一例に係るセキュリティモジュール110のブロック図を示す。セキュリティモジュール110は、内部のセキュアな構成要素を電子デバイス100の他の構成要素から分離する信頼ゾーンと考えることができる。セキュリティモジュール110は、PUFモジュール402、暗号化アクセラレータ404、及びセキュアメモリ406を備える。当業者であれば分かるように、他のアーキテクチャも想定し得る。セキュリティモジュール110は、電子デバイス100のシステムバスに接続される。
PUFモジュール410は、PUFと、PUFと相互作用するのに必要な任意の回路とを備える。特に、PUFモジュールは、暗号化アクセラレータ404から信号を受信し、適切な応答を提供することができる。暗号化アクセラレータ404は、暗号化動作を実行し、PUFモジュール402及びセキュアメモリ406と相互作用するための専用処理ユニットを備える。
セキュアメモリは、PUFモジュール402によって生成された鍵及び/又はルート証明書などの秘密情報を記憶するように構成される。PUFモジュール402、セキュリティモジュール110内のセキュリティ周辺機器、及びセキュアメモリを制御するためにCPU320によって必要とされる命令は、システムの不変ブートプロセスの一部であるブートROM328内に含まれる。
図4Bは、一例に係るPUFモジュール402の機能的な構成要素を示す。PUFモジュール402は、PUF450と、アナログフロントエンド(AFE)452と、後処理エンジン454と、RISC-Vコア456とを備える。
当業者であれば分かるようには、PUF450が任意の適切なPUFであり得る。
アナログフロントエンド(AFE)452は、PUFと相互作用するためのアナログ信号調整回路を備える。例えば、AFEは、生の「フィンガープリント」を確立するためにPUF450と相互作用することができる。後処理エンジン454は、AFE452の出力を補正し、AFEの出力を更に処理することによって更なるプライバシー強化を提供するように構成される。RISC-Vコア456は、PUF450からのデータの後処理、例えばデータの誤り訂正を行なうCPUコアである。RISC-Vコアは、PUFモジュール402を外部マイクロコントローラに容易に接続することを可能にするインターフェースを提供するが、他のCPUを利用してもよい。
図5は、コンピューティング装置500のブロック図である。例えば、コンピューティング装置500は、コンピューティングデバイス、サーバ、モバイル又はポータブルコンピュータ又は電話などを備えることができる。コンピューティング装置500は、複数の接続された装置にわたって分散されてもよい。コンピューティング装置500は、鍵管理サーバ120、認証局サーバシステム130の認証局サーバ、又は例えばIoTハブで使用するためのサーバ220としての使用に適し得る。当業者により理解されるように、図5に示すものに対する他のアーキテクチャが使用されてもよい。
図を参照すると、コンピューティング装置500は、1つ以上のプロセッサ510と、1つ以上のメモリ520と、ビジュアルディスプレイ530及び仮想又は物理キーボード540などの幾つかの任意選択のユーザインターフェースと、通信モジュール550と、任意選択的にポート560と、任意選択的に電源570とを含む。構成要素510,520,530,540,550,560及び570のそれぞれは、様々なバスを使用して相互接続される。プロセッサ510は、通信モジュール550を介して、又はポート560を介して受信された、メモリ520に記憶された命令を含む、計算装置500内で実行するための命令を処理することができる。
メモリ520は、コンピューティング装置500内にデータを記憶するためのものである。1つ以上のメモリ520は、揮発性メモリユニットを含んでもよい。1つ以上のメモリは、1つ以上の不揮発性メモリユニットを含むことができる。また、1つ以上のメモリ520は、磁気又は光ディスクなどのコンピュータ可読媒体の別の形態であってもよい。1つ以上のメモリ520は、コンピューティング装置500に大容量ストレージをもたらすことができる。本明細書に記載の方法を実行するための命令は、1つ以上のメモリ520内に記憶することができる。
装置500は、ビジュアルディスプレイ530などの視覚化手段と、キーボード540などの仮想又は専用のユーザ入力デバイスとを含む幾つかのユーザインターフェースを含む。
通信モジュール550は、プロセッサ510と遠隔システムとの間で通信を送受信するのに適している。例えば、通信モジュール550は、インターネットなどの通信ネットワーク200を介して通信を送受信するために使用され得る。
ポート560は、例えば、プロセッサ510によって処理される命令を含む非一時的コンピュータ可読媒体を受け付けるのに適している。
プロセッサ510は、データを受信し、メモリ520にアクセスし、通信モジュール550から又はユーザ入力装置540から前記メモリ520又はポート560に接続されたコンピュータ可読記憶媒体のいずれかから受信した命令に基づいて動作するように構成される。
コンピューティング装置500は、暗号鍵を安全に記憶するために、図5には示されていないハードウェアセキュリティモジュール(HSM)を更に備えることができる。例えば、鍵管理サーバ120として使用されるコンピューティング装置500の場合、HSMは、証明書に署名するための1つ以上の秘密鍵、又はファームウェアを暗号化/復号するためのサーバ暗号化鍵及びサーバ復号鍵を記憶する必要があり得る。例えば、認証局サーバシステム130の認証局サーバとして使用されるコンピューティング装置500の場合、HSMは、認証局鍵対の秘密認証局鍵(SAK)などの1つ以上の秘密鍵を記憶する必要があり得る。当業者であれば分かるように、HSMが秘密鍵を記憶する必要はなく、他のセキュリティ構成が適用可能であり得る。例えば、コンピューティング装置はクラウドベースのHSMにアクセスすることができる。
ファームウェアは、電子デバイス100に安全に提供され得る。ファームウェアは、例えば、認証局サーバシステム130でファームウェアに署名し、KMS120で署名の前又は後のいずれかにファームウェアを暗号化し、次いで、署名された暗号化ファームウェアを電子デバイス100にプログラムされるようにプログラミングハウス180に送信することによって、安全に提供され得る。
ファームウェアは、電子デバイスが登録されているKMS120の識別子と、信頼チェーンを構築するための1つ以上のルート証明書とを含み得る。ファームウェアが電子デバイス100に安全に提供された後、電子デバイス100は登録を開始することができる。
図7~図9に関連して、電子デバイス100に一時的登録デバイス証明書を提供する方法を説明する。更に、図10~図12に関連して、電子デバイスにデバイス証明書(例えばIoTハブと接続するために展開された時点で使用することができる)を提供する方法が説明される。デバイス証明書の信頼を確立するために、電子デバイスには、OEM用の1つ以上のルート証明書が提供される必要がある。
1つ以上のルート証明書は、製造時点で電子デバイス100にインストールされてもよく、セキュリティを追加するために、登録前に安全にインストールされたファームウェアと共に又はその一部として電子デバイス100に提供されてもよい。
図6Aは、公開鍵インフラストラクチャによって提供される信頼チェーンの一例を示す。公開鍵インフラストラクチャは、メッセージのソースを検証するために使用できる証明書の階層(1002,1012,1024)によって表わされる。各証明書は、対応するエンティティが保持するプライベート鍵に対応する公開鍵を含む。証明書は、鍵に関する情報、その所有者(対象と呼ばれる)の身元に関する情報、及び証明書の内容を検証したエンティティ(発行者と呼ばれる)のデジタル署名を含む。信頼チェーンにおける信頼は、最終的に、ルート証明書1002に関連付けられたルート認証局(CA)から得られる。ルート証明書1002は、一般に、ルート認証局の識別子/識別名(1004)、ルート認証局の公開鍵1006、及びルート認証局の署名(1010)を含み、署名はルート公開鍵1006に対応する秘密鍵1008を使用して署名される。
認証局は、ツリー構造の形態で複数の証明書を発行することができる。ルート証明書1002は、ツリーの最上位の証明書であり、そのプライベート鍵1008は下位の証明書に署名するために使用される。図6Aに示されるように、ルート秘密鍵1008は、中間/下位証明書1012に署名するために使用することができる。中間証明書1012は、仲介者/発行者の識別子/識別名1014、仲介者の公開鍵1020、ルート認証局1018の識別情報、及びルート認証局の署名1016を含む。中間証明書1012の正確性は、ルート認証局1018の識別子から、ルート公開鍵1006を見つけることができる適切なルート証明書1002を決定することによって照合され得る。ルート公開鍵1006は、中間証明書1012に署名するために使用されるルート秘密鍵1008に対応するので、ルート公開鍵1006は、中間証明書1012のルート署名1016を復号するために使用することができ、更に照合を行うことができる。中間証明書は、中間証明書1012に関連付けられた発行者/仲介者が更なる証明書に署名することを許可されているかどうかなどの更なる情報を含むことができる。中間体が、発行者公開鍵1020に関連する発行者秘密鍵1022を使用して下位証明書に署名することを許可されている場合、発行者秘密鍵1022を使用して署名された証明書の信頼は、最終的に、ルート証明書1002に関連するルート認証局に由来する信頼チェーンから導出することができる。
図6Aの発行者秘密鍵1022は、電子デバイスに関連付けられた最終証明書1024に署名するために使用される。一般に、最終証明書は、最終証明書が関連付けられている当事者が信頼チェーンにおける更なる証明書に署名する権利がないことを示す。最終デバイス証明書1024は、証明書1024が発行される電子デバイスの識別子1026、エンド証明書1012を証明した発行者の識別子、電子デバイスに対応する公開鍵1032、発行者の署名1028、及び発行者によって証明された任意の更なる情報/メタデータ1036を含む。したがって、最終証明書1024は、公開鍵1032が、ルート認証局に由来する信頼チェーンで、最終デバイス証明書1024によって識別されるエンティティ(1026)と関連付けられることを証明する。電子デバイス公開鍵1032は電子デバイス秘密鍵1034と関連付けられる。
図6Aには3つの証明書が示されるが、当然ながら、チェーンが幾つかの中間証明書により更に長くてもよい。
証明書チェーンの証明書は、更なる情報を含み得る。例えば、証明書は、バージョン番号、シリアル番号、署名アルゴリズムID、使用された公開鍵アルゴリズムに関する情報などを含み得る。証明書は有効期間を含むことができる。公開鍵証明書には幾つかの既知の標準フォーマットがあり、最も一般的に使用されているのはX.509である。X.509証明書は、TLS/SSLを含む多くのプロトコルで使用され、本明細書に記載の方法で使用され得る。
従来、OEMがデバイスを製造する場合、それらは、暗号化されていない形式でその電子デバイスに秘密情報が注入されることに依存している。例えば、秘密鍵がデバイスに注入される必要があり得る。更に、更なる証明書情報、例えば最終証明書1024も一般にデバイスに提供される。製造業者がデバイスに秘密鍵及び最終証明書1024を提供する場合、幾つかの欠点がある。第1に、OEM又はIoTハブなどの下流側の当事者は、秘密鍵がデバイスに安全に提供されており、それが他の当事者に知られていないことを信頼する必要がある。第2に、OEMなどの下流側の当事者は、製造業者の信頼に基づいて信頼チェーンを信頼しなければならない場合があり、これは、例えばファームウェア更新を扱うときにセキュリティ上の結果をもたらす可能性がある。或いは、製造中に一時的登録証明書がデバイスに提供されてもよい。一時的登録証明書は、デバイスに注入された秘密鍵に関連付けられた公開鍵を含み、それによってデバイスをその公開鍵に関連付け、サービスに登録するための有限の有効期間を含むことができる。しかしながら、一時的登録デバイス証明書及び関連する秘密鍵の提供は、一般に、セキュア設備を必要とする。
対照的に、ここで異なるアプローチを説明する。特に、図7~図9及び添付の本文は、電子デバイスに一時的登録デバイス証明書を提供するための例示的な方法を説明しており、図10~図12及び添付の本文は、展開の準備ができた電子デバイスに最終デバイス証明書を提供するための例示的な方法を説明している。記載された例では、OEM160は、展開された電子デバイスの信頼の基礎となる最終的な認証局がOEMであることを確実にすることができる。
図6B、図6C及び図6Dは、本明細書に記載の例で使用可能な3つの証明書チェーンを示す。例示のみを目的として図1を参照すると、ルート証明書1038、1044、及び1058は全て、OEM160と関連付けられ得る。すなわち、OEM160は、ルート証明書1038、1044、1058と関連付けられたルート認証局であり得る。本明細書では3つの証明書チェーンが説明されているが、他のシナリオも想定され、例えば、単一のルート証明書が他の全ての証明書の元になるルート証明書であってもよい。OEMによって製造された電子デバイス100には、適切なルート証明書をプロビジョニングすることができ、そこから信頼チェーンを構築して、電子デバイス100がデバイスに提供される任意のソフトウェア又は通信を確実にすることができるようにすることができる。
説明を簡単にするために、図6B~図6Dの証明書チェーンは、図1の当事者を参照して説明されており、OEM160は、3つ全てのチェーンのルート証明書に関連付けられた認証局である。しかしながら、当業者であれば分かるように、他のシナリオも適用可能である。
図6Bは、一例に係る証明書チェーンを示す。図6Bの証明書チェーンは、使用時に以下で更に説明される。図6Bでは、一時的登録トラステッドルート証明書1038(「TE_OEM_Root」とラベル付けされている)は、OEM160にのみ知られている適切な秘密鍵を使用して自己署名される。一時的登録発行証明書1040(「TE_OEM_IC」とラベル付けされている)は、ルート証明書1038によって認証される。すなわち、一時的登録トラステッドルート証明書1038で識別された公開鍵と関連付けられた秘密鍵を使用して、一時的登録発行証明書1040に署名する。一時的登録デバイス証明書1042(「TE_Dev_Cert」とラベル付けされている)は、一時的登録発行証明書1040によって認証される。すなわち、一時的登録発行証明書1040で特定された公開鍵に対応付けられた秘密鍵を用いて、一時的登録デバイス証明書1042に署名する。
図7に関連して説明するように、OEM160は、一時的登録トラステッドルート証明書1038が関連付けられる認証局であってもよく、OEM又は(OEMが所有する)KMS120は、関連する秘密鍵を所有する。一時的登録発行証明書1040と関連付けられた秘密鍵は、KMS120が所持していてもよい。OEMの一時的登録(TE)PKIは、一時的登録デバイス証明書を発行するために使用され、これにより、電子デバイスが登録プロトコル中にKMSに対して認証できるようにする。これらの証明書は他の目的に使用されるべきではないため、一時的登録トラステッドルート証明書1038及び一時的登録発行証明書1040はKMSを離れる必要はない。
図6Cは、一例に係る証明書チェーンを示す。図6Cの証明書チェーンは、使用時に以下で更に説明される。図6Cでは、プライマリトラステッドルート証明書1044(「OEM_ROOT」とラベル付けされている)は、適切な秘密鍵を使用して自己署名される。図6Cには、3つの中間証明書1046、1050、1054が示される。
OEMのプライマリPKIのトラストアンカーは、自己署名されたプライマリトラステッドルート証明書1038であり、登録中にKMS120から外部で使用される全ての証明書を発行するために使用される。プライマリトラステッドルート証明書1038の下には、ある数の発行証明書がある。
セキュア接続発行証明書1054は、プライマリトラステッドルート証明書1044に関連付けられたルート秘密鍵によって署名される。以下に説明する例では、セキュア接続自体がTLS接続であるため、図6Cではセキュア接続発行証明書1054が「IC_TLS」とラベル付けされる。セキュア接続発行証明書1054と関連付けられた発行者秘密鍵は、セキュア接続証明書1056(「KMS_TLS_Cert」とラベル付けされる)に署名するために使用される。以下に説明する例では、セキュア接続証明書1056は、TLSサーバ認証中に電子デバイス100を認証するためにKMS120によって使用される。
図6Cは、プライマリトラステッドルート証明書1044から派生した2つの更なる中間証明書1046、1050を示す。中間証明書1046、1050(それぞれ「IC_A」及び「IC_B」とラベル付けされている)は、デバイス固有のポリシーと関連付けられた派生デバイス証明書を認証するために使用される。例えば、IC_A1046は、第1のクラスのIoTデバイスのセキュリティポリシーに基づいて、第1のクラスのIoTデバイス(例えば、焙煎器)のデバイス証明書を認証するために使用されてもよく、IC_B1050は、第2のクラスのIoTデバイスのセキュリティポリシーに基づいて、第2のクラスのIoTデバイス(例えば、電球)のデバイス証明書を認証するために使用されてもよい。これは、どの発行証明書が署名に使用されたかを確認することによって、証明書から所与のタイプのデバイスを識別できるため、セキュリティポリシーを実施するのに有用であり得る。
中間証明書IC_A及びIC_Bによって署名されたデバイスの最終証明書も図6Cに示されている(それぞれ「Dev_Cert_A」1048及び「Dev_Cert_B」1052とラベル付けされている)。以下の例に見られるように、デバイス証明書1048は、そのIoTハブ170に対して認証するために電子デバイス100によって使用され得る。
当業者であれば分かるように、デバイス証明書を発行するための2つの中間証明書1046、1050が図6Cに示されているが、より多くの又はより少ない中間発行証明書がプライマリトラステッドルート証明書1044から派生し得る。
図6Dは、一例に係る証明書チェーンを示す。図6Dでは、ファームウェアルート証明書1058(「OEM_Firmware」とラベル付けされる)が認証局によって自己署名される。そのルート証明書からファームウェア署名証明書1060(「Firm_SC」とラベル付けされている)が派生する。
ファームウェア署名証明書1060は、電子デバイス100に導入されるファームウェアに署名するために使用され得る。ファームウェア署名PKIは、プライマリ登録及び一時的登録PKIとは別個のルートを有する。これは、OEM160がファームウェア署名証明書を使用して任意のメッセージ、証明書などに署名することができ、このPKIを別々に保つことにより、ファームウェアPKIを使用して(偶然又は悪意を持って)登録のセキュリティを損なうものに署名することができないことが保証されるためである。
当業者であれば分かるように、図6B、図6C及び図6DのPKIの上記の説明で使用された証明書の名前は、3つのPKIのみを区別するために使用されている。
電子デバイス100又はKMS120が証明書を検証するときはいつでも、できるだけ多くの有用な属性(例えば、対象名、使用制限、発行当事者の名前など)を照合する必要がある。電子デバイスがこれを行うことができるようにするために、それらのファームウェアは、KMS120の識別子及び異なる証明書に期待する命名構造など、これらの照合を行うために必要な情報を含まなければならない。電子デバイスは、可能な場合、チェーン内の全ての署名を検証し、チェーン内の中間証明書が証明書を発行することを許可されていることを確認し(例えば、侵入されたデバイスがそのデバイス証明書を使用して証明書を発行しようとするのを防ぐために、)、全ての証明書が期限切れでないことを確認する(時間にアクセスできる場合)。
図7は、一時的登録デバイス証明書1042を電子デバイス100に提供するための例示的な方法を示す。
電子デバイス100は、PUF450を有するセキュリティモジュール110を備え、セキュリティモジュール110は、PUFに対する第1のチャレンジ及び応答に基づいて登録鍵対(EPK、ESK)を確立するように構成され、登録鍵対は、登録公開鍵(EPK)及び登録秘密鍵(ESK)を含む。一例では、セキュリティモジュールは、PUF450に対する第1のチャレンジに基づいて登録公開鍵(EPK)を確立し、PUF450に対する第1のチャレンジへの応答に基づいて登録秘密鍵を確立するように構成されてもよい。
この交換の目的は、電子デバイス100が、そのEPKについての一時的登録デバイス証明書1042を要求し、発行されることである。デバイスは、これを使用して、図10に関連して以下で更に詳述される第2のハンドシェイクでKMS120を認証する。この例のKMS120は、所有するデバイス識別子(すなわち、登録されているデバイス識別子)に対応するEPK用の証明書のみを発行する。KMS120はまた、最終的にその最終デバイス証明書(この例ではDev_Cert_A1048)を発行するために使用される発行証明書IC_A1046を電子デバイスに送信し、電子デバイス100は、KMS120によって発行された後続の証明書を検証するために記憶する。
電子デバイス100は、電子デバイス100上のファームウェアにインストールされたURLによって識別されるKMS120へのTLS接続を開始する(1102)。ハンドシェイク中に、KMS120は、KMS_TLS_Cert1056及びTLS発行証明書IC_TLS1054を提示することによってクライアントを認証し(1104で)、電子デバイス100が(電子デバイス100に以前にインストールされた)プライマリルート証明書1044からTLS証明書1056へのチェーンを構築でいるようにする。電子デバイス100は、TLS接続のための信頼チェーンを検証する(1106)。電子デバイス100は、プライマリトラステッドルート証明書1044で始まる証明書チェーンのみを受け入れる。電子デバイス100は、証明書1056の対象名がファームウェアに含まれるKMS識別子と同一であることを確認する。可能であれば、電子デバイス100は、TLS証明書1056がTLS発行証明書1054によって署名されていることを確認すべきである。認証が失敗した場合、デバイスは接続を終了する。クライアント認証が要求されると、デバイス100は、適切な証明書を持っていないことを示し、KMS120に対して認証しない。
OEMの鍵のいずれも危険にさらされていないと仮定すると、このステップは、デバイスのファームウェア内のKMS識別子と関連付けられた実際のKMS120と通信していることを電子デバイス100に証明する。電子デバイス100は、TLSの対象名が予想されるものと一致することを確認する必要があり、そうでない場合、電子デバイス100は、プライマリトラステッドルート証明書1044によって署名された任意の証明書からの接続を受け入れる脆弱性がある可能性があり、そのため、例えば、侵入されたデバイスと通信する可能性がある。同じ対象名で他の証明書が発行されないことを保証する必要があり、そうでなければ、この証明書を所有する当事者は、証明書を使用してKMS120を電子デバイス100になりすますことができる。
1106でTLS接続が検証された場合、電子デバイス100とKMS120との間でセキュアなTLS通信チャネルが開かれる(1108)。
電子デバイス100は、1110において、証明書署名要求(CSR)を作成する。公開鍵インフラストラクチャ(PKI)システムでは、CSRは、デジタル識別証明書を申請するために、申請者から公開鍵インフラストラクチャの登録局に送信されるメッセージである。これは、通常、証明書が発行されるべき公開鍵、識別情報(EPKに基づくドメイン名又はデバイス識別子など)、及び完全性保護(例えば、デジタル署名)を含む。CSRのための最も一般的なフォーマットは、PKCS#10仕様であり、もう1つは、署名付き公開鍵及びチャレンジSPKACフォーマットである。
1110において、登録公開鍵EPKをデバイス識別子に関連付けるためのCSRが作成される。更に前述したように、デバイス識別子はEPKの関数f(EPK)であり、この説明の目的のために、デバイス識別子はEPKのハッシュH(EPK)を含む。したがって、CSRでは、公開鍵がEPKとして識別され、対象名/識別名/識別子がH(EPK)として識別される。今後、要求された証明書は、後続のTLSハンドシェイク中にKMS120に対して認証するために電子デバイス100によって使用される。CSRは、1112においてKMS120に送信される。
CSRは、CSRに対する署名の形態の登録秘密鍵ESKの所有証明を含む。しかしながら、これは、必ずしも、TLS接続の他端において電子デバイス100によってCSRが計算されたことをKMS120に証明しない。攻撃者が何らかの方法でデバイスによって計算された以前のCSRを知ることができた場合(これらがTLS接続下で暗号化されて送信されるため、可能性は低い)、攻撃者はこれを別の接続でKMS120に再生することができる。しかしながら、攻撃者は、そのような攻撃を実行することができたとしても、対応するEPKを知らないため、返された証明書を使用することができない。
KMS120は、CSRを受信すると、幾つかの照合を行う。
KMS120は、1114で、CSRの対象フィールドに提供されたデバイス識別子をデータベースと照合して、KMS120がそのデバイス識別子に関連付けられた電子デバイス100の証明書に署名することを許可されていること、言い換えれば、KMS120がそのデバイス識別子を「所有」していることを検証する。適切なデータベースは、KMS120上にローカルに保持されてもよく、又は認証局サーバシステム130への要求を介してアクセスされてもよい。
KMS120は、1116において、CSRの公開鍵フィールド内の登録公開鍵EPKが対象名フィールド内のデバイス識別子にハッシュすることを更に照合する。すなわち、KMSは、デバイス識別子DeviceID=H(EPK)であることを検証する。
1114及び1116における照合は、任意の順序で、又は同時に実行されてもよい。いずれかの照合に失敗した場合、KMS120は、接続を終了する。成功した場合、KMS120はEPKをデバイス識別子に関連付ける-KMS120はEPKをデータベース内のデバイス識別子のエントリに追加する。
CSR内の公開鍵がデータベース内のデバイス識別子の1つに対応することを確認することは重要であり、そうでなければ、攻撃者は任意の鍵対の証明書を要求する可能性がある。この照合を課すことは、KMS120が所有するデバイス識別子のいずれかにハッシュする公開鍵に対してのみ証明書を要求できることを意味する。攻撃者がKMS120に、デバイス識別子の根底にある実際のEPK以外の公開鍵に対する証明書を発行させることができる唯一の方法は、同じデバイス識別子にハッシュする異なるEPKを見つけることができる場合である。これは、攻撃者がハッシュ関数において衝突を見つけることを必要とし、これは、定義により非常に困難なタスクである。
全ての照合が完了すると、KMS120は、(「TE_Dev_Cert」とラベル付けされた)一時的登録デバイス証明書1042に署名する。一時的登録デバイス証明書1042は、対象名としてのデバイス識別子、公開鍵としてのEPK、及び有効期間を含む。TE_Dev_Cert1042は、一時的登録発行証明書1040(TE_OEM_IC)に対応付けられた秘密鍵によって署名される。
前述したように、OEMは、製造中にKMSが所有する電子デバイス100によって生成されたEPKの証明書のみを要求するように効果的に制限され、実際のデバイス以外の第三者は対応するESKを知らない。したがって、一時的登録デバイス証明書1042は、実際の電子デバイス100を除く全ての当事者にとって役に立たないはずである。一時的登録デバイス証明書1042は、登録のみで使用される一時的なクレデンシャルとしての使用を強制するのに役立つ短い有効期間を有する。例えば、有効期間は5分以下であってもよい。
1122において、そのデバイスのバッチに関連付けられたセキュリティポリシーによって指定された発行証明書IC_A1046と、署名されたTE_Dev_Cert1042との両方が、電子デバイス100に通信される。
TLS接続は、1124において閉じられる。
次いで、電子デバイス100は、1122で受信したクレデンシャルを照合し(1126)、成功した場合、TE_Dev_Cert1042及びIC_A1046をインストールする(1128)。
電子デバイス100は、ハンドシェイクで付与された発行証明書IC_A1046を検証する。電子デバイス100は、対象名フィールドが期待値と一致すること、すなわち発行証明書IC_A1046を使用して証明書を発行できることを確認し、プライマリトラステッドルート証明書1044を使用して発行証明書IC_A1046上で署名を検証する。セキュリティを追加するために、電子デバイス100は、中間CAではなくプライマリトラステッドルート証明書1044によって直接署名されている場合にのみ、発行証明書IC_Aを受け入れるべきである。可能であれば、実行された照合は、電子デバイス100が証明書を発行する実デバイスのみを受け入れることに十分であることが保証されるべきである。特に、TLS発行証明書1054及びそれによって発行された証明書を拒否すべきであり、デバイス証明書及びデバイス証明書によって発行された証明書を拒否すべきである。照合に合格すると、電子デバイス100は、発行証明書IC_A1046をインストールし、その結果、OEM160によって発行された後続の証明書を認証するために使用できる。
電子デバイス100は、KMSの実際の発行証明書(これが事前に分かっている場合、理想的には、デバイスの特定の発行証明書)のいずれでもない証明書を拒否する必要がある。
また、電子デバイス100は、TE_Dev_Cert1042内の機器ID及びEPKが電子デバイス100に属するものと一致することを確認する。これにより、TE_Dev_Cert1042が次のハンドシェイクにおける認証に使用するのに適していることが保証される。
これらの照合のいずれかが失敗した場合、電子デバイス100は登録を中止する。
この例では、TE_Dev_Cert1042は、KMS120が認証したTLSチャネルを介して電子デバイス100に受信されたので、TE_Dev_Cert1042は、KMS120によって承認されたものとして暗黙的に信頼することができる。したがって、電子デバイスは、TE_Dev_Cert1042が特定の一時的登録ルート証明書TE_OEM_ROOT1038の下位であることを照合する必要はない。好適には、これは、TE_OEM_ROOT1038又は発行証明書TE_OEM_IC1040のいずれもKMS120から出る必要がないことを意味する。しかしながら、他の例では、一時的登録ルート証明書1038は、OEMファームウェアの一部としてデバイスに予めインストールされてもよく、KMS120はまた、セキュア接続を介して一時的登録発行証明書1040を送信して、電子デバイスが一時的登録デバイス証明書1042への信頼チェーンを構築できるようにしてもよい。
図7の交換が実行された後、電子デバイス100は、EPKが電子デバイス100に関連付けられていることを証明する一時的登録デバイス証明書1042を所有している。一時的登録デバイス証明書1042はまた、電子デバイスがKMSと更に交換を行うことができる有効期間を提供する。EPKは、この段階では、例えば認証局サーバ130などによって広く知られている。電子デバイス100はまた、後続の交換で発行されたデバイス証明書1048を検証するために使用できる発行証明書1046を所有している。
好適には、デバイスに安全な情報を注入する必要なく、一時的登録デバイス証明書がデバイスに提供される。安全な情報を注入するには、秘密情報を電子デバイスに注入するセキュア設備、及び/又は情報を安全に注入する第三者の能力を信頼する必要がある。セキュア設備は、コストが高く、管理が困難であり、新たな脅威に対する堅牢な応答を確保するためにセキュリティ手順の継続的な保守及び評価を必要とする。一般に、ハードウェアセキュリティモジュール(HSM)は、鍵を生成及び記憶するために必要とされてもよく、統合された鍵注入システムは、電子デバイスに鍵を注入するために必要とされてもよく、その場合でも、HSM及び/又はセキュア設備が損なわれた場合、注入された情報の完全性を保証することができない。したがって、安全な情報を注入する必要性を回避することにより、電子デバイスの管理が容易になり、情報の完全性が保証され、より安全になる。
図8は、電子デバイス100による実行のための一般的な方法1200のフローチャートを示す。電子デバイス100は、物理複製困難関数(PUF)450を有するセキュリティモジュール110を備え、セキュリティモジュール110は、PUFに対する第1のチャレンジ及び応答に基づいて登録鍵対(EPK、ESK)を確立するように構成され、登録鍵対は、登録公開鍵(EPK)及び登録秘密鍵(ESK)を備える。一例では、セキュリティモジュール110は、PUF450に対する第1のチャレンジに基づいて登録公開鍵(EPK)を確立し、PUF450に対する第1のチャレンジへの応答に基づいて登録秘密鍵(ESK)を確立するように構成されてもよい。電子デバイス100は、一時的登録トラステッドルート証明書1038がインストールされた1つ以上のメモリを更に備える。
方法1200は、1210において、セキュア接続を介して、EPKがデバイス識別子と関連付けられることを証明する証明書のためのデバイス識別子及びEPKを含む証明書署名要求(CSR)をサーバに送信するステップを含み、CSRは、ESKを使用して署名され、デバイス識別子は、EPKの関数に基づく。セキュア接続は、TLS接続を含み得る。例えば、セキュア接続は、鍵管理サーバ120とのTLS接続を含み得る。
方法1200は、1220において、セキュア接続を介して、EPKがデバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書1042を受信することを更に含む。
有効期間は、セキュア接続の他端における当事者との更なるセキュア接続を確立することができる期間を規定することができる。
電子デバイス100の1つ以上のメモリはまた、プライマリトラステッドルート証明書1044をインストールしていてもよく、方法1200は、プライマリトラステッドルート証明書1044の下位である発行証明書1046を受信するステップを含んでもよい。方法は、発行証明書1046がプライマリトラステッドルート証明書1044から直接派生したものであることを検証するステップを更に含むことができる。
方法1200は、1230において、一時的登録デバイス証明書1042をメモリにインストールすることを更に含む。KMS120が電子デバイス100に対して認証した後に、セキュアチャネルを介して一時的登録デバイス証明書が受信された場合、一時的登録デバイス証明書1042は、KMSから来たものとして電子デバイスによって信頼され得る。しかしながら、他の例では、一時的登録ルート証明書1038は、OEMファームウェアの一部としてデバイスに予めインストールされてもよいし、通信チャネルを介して電子デバイスによって受信されてもよい。
図9は、方法1300のフローチャートを示す。この方法は、例えば、鍵管理サーバ120によって実行され得る。
1310において、方法1300は、EPKがデバイス識別子と関連付けられることを証明する証明書のための、デバイス識別子と電子デバイスによって確立された登録鍵対の登録公開鍵(EPK)とを含む証明書署名要求(CSR)を受信するステップを含み、デバイス識別子はEPKの関数に基づく。
1320において、方法1300は、サーバが証明書に署名することができるデバイス識別子のデータベースとデバイス識別子が照合されるようにするステップを含む。例えば、データベースはローカルに記憶されてもよく、その場合、図7に関して説明したシナリオで想定されるように、データベースを直接参照することができる。しかしながら、他の例では、データベースは、例えば認証局サーバ130を有するリモートサーバに配置されてもよく、その場合、データベースに対してデバイス識別子を照合する要求が行われてもよい。
1330において、方法1300は、デバイス識別子がEPKの関数であることを検証するためにデバイス識別子の照合が実行されるようにすることを更に含む。サーバは、デバイス識別子がEPKの関数であるかどうかを直接評価してもよく、又はデバイス識別子がEPKの関数であることを検証するために別のコンピューティングデバイスと通信してもよい。幾つかの例では、関数は暗号化ハッシュ関数であってもよい。
1340において、方法1300は、EPKがデータベース内のデバイス識別子と関連付けられるようにするステップを含む。例えば、データベースはローカルに記憶されてもよく、その場合、図7に関して説明したシナリオで想定されるように、データベースは直接修正されてもよい。しかしながら、他の例では、データベースは、例えば認証局サーバ130を有するリモートサーバに配置されてもよく、その場合、デバイス識別子をデータベース内のEPKに関連付ける要求が行われてもよい。
1350において、方法1300は、EPKがデバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書に署名するステップを含む。
1360において、方法1300は、デバイス識別子によって識別される電子デバイスに対するセキュア接続を介した署名された一時的登録デバイス証明書の送信を開始するステップを含む。署名された一時的登録証明書は、デバイス識別子によって識別される電子デバイスに直接送信されてもよいし、セキュア接続を介して電子デバイス100に前方送信するために別のコンピューティングデバイスに渡されてもよい。
方法は、電子デバイスへの発行証明書1046の通信を開始するステップを更に含むことができる。
図10は、電子デバイス100を登録するための方法を示す。電子デバイス100は、物理複製困難関数(PUF)450を有するセキュリティモジュール110を含む。セキュリティモジュール110は、PUFに対する第1のチャレンジ及び応答に基づいて登録鍵対(EPK、ESK)を確立するように構成されており、登録鍵対は、登録公開鍵(EPK)及び登録秘密鍵(ESK)を含む。一例では、セキュリティモジュール110は、PUF450に対する第1のチャレンジに基づいて登録公開鍵(EPK)を確立し、PUF450に対する第1のチャレンジへの応答に基づいて登録秘密鍵(ESK)を確立するように構成されてもよい。電子デバイス100は、PUFに対する第2のチャレンジ及び応答に基づいてデバイス鍵対(DPK、DSK)を確立するように更に構成され、デバイス鍵対は、デバイス公開鍵(DPK)及びデバイス秘密鍵(DSK)を含む。電子デバイス100は、プライマリトラステッドルート証明書1044(例えば、図6Cの「OEM_ROOT」)がインストールされた1つ以上のメモリを更に備える。
この方法では、電子デバイス100及びKMS120は互いに認証し、電子デバイス100は、IoTハブ170と通信するために使用するデバイス公開鍵(DPK)の証明書を要求する。
電子デバイス100は、1402において、KMS120へのTLS接続を開始する。ハンドシェイク中に、KMS120は、セキュア接続証明書(「KMS_TLS_Cert」)1056とセキュア接続発行証明書(「IC_TLS」)1054を提示する(1404)ことで、電子デバイス100に対して再度認証を行う。
電子デバイス100は、図7に関連して前述したように、この証明書に対する全ての照合を実行しなければならない(特に、対象名を慎重に照合する)。これは、電子デバイス100に、ファームウェア内のKMS識別子に関連付けられたKMS120と通信していることを証明する。
KMS認証が成功した場合、電子デバイス100は、1406において、以前の交換で受信した一時的登録デバイス証明書1046を提示し、TLSクライアント認証を実行することによってサーバに認証する。KMS120は、一時的登録発行証明書1040(「TE_OEM_IC」)によって署名された一時的登録デバイス証明書のみを受け付ける。1408において、KMS120は、一時的登録デバイス証明書の照合を実行する。
クライアント認証が成功すると、電子デバイス100は、一時的登録デバイス証明書1042内の登録公開鍵(EPK)に対応する登録秘密鍵(ESK)を知っていることが証明される。証明書を発行するときのKMS120による照合は、デバイス識別子がそれらが所有するデバイスに対応することを保証し、一時的登録デバイス証明書1042内の登録公開鍵がその証明書で指定されたデバイス識別子にハッシュするので、デバイスの対が衝突IDを有さず、攻撃者がハッシュ関数内の衝突を見つけることができなかった場合(両方のイベントが非常に小さな確率で発生する)、これは、電子デバイス100が、一時的登録デバイス証明書1042内のEPKに対応するESKを知っているH(EPK)によって与えられる識別子を有する一意のデバイスであることをKMS120に証明する。
一時的登録署名鍵が危険にさらされた場合、攻撃者は、KMS120へのTLSクライアント認証を正常に完了することを可能にする既知の鍵対の任意の証明書を発行することができる。しかしながら、この場合は、更に後述するKMS120によって実行される照合によって捕捉される。
双方が認証されると、セキュアなTLS通信チャネルが開かれる(1410)。
電子デバイス100は、1412において、デバイス公開鍵DPKのための証明書署名要求(CSR)を作成する。CSRにおける対象名は、EPKの暗号ハッシュH(EPK)であるデバイス識別子(図では「DeviceID」とラベル付けされている)と等しい。電子デバイス100は、1414において、CSRをKMS120に送信する。
CSRにおける所有の証明は、電子デバイス100がCSRにおけるデバイス公開鍵(DPK)に対応するデバイス秘密鍵(DSK)を知っているという何らかの保証をKMS120に与える。将来的にチャネルバインディング情報をCSRに含めることができる場合、これは、TLS接続のクライアント側の電子デバイス100がDPKに対応するDSKを知っていることを証明する。
CSRを受信した後、KMS120は、幾つかの照合を実行する。
KMS120は、1416において、一時的登録デバイス証明書1042が有効期間内であり、一時的登録デバイス証明書1042に署名するために使用された署名が正しく検証されていることを照合する。
KMS120は、1418において、一時的登録デバイス証明書1042内のデバイス識別子がKMSのデータベース内のエントリに対応することを更に照合する。これにより、(TE_OEM_IC証明書1040に関連付けられた)TE発行秘密鍵の侵害が軽減される。そのようなイベントが発生すると、攻撃者は任意の有効な一時的登録デバイス証明書1042を発行することができる。しかしながら、KMSが所有するセットの外部にあるデバイス識別子の一時的登録デバイス証明書は、この照合後に拒否される。これは、攻撃者が発行できるのは、KMSが所有するデバイス識別子に対する悪意のある一時的登録デバイス証明書のみであることを意味する。これは、以下の照合で軽減される。
KMS120は、1420において、一時的登録デバイス証明書1042内のデバイス識別子がH(EPK)に等しいことを照合し、EPKは一時的登録デバイス証明書1042の公開鍵フィールド内にある。
悪意のある証明書は、一時的登録デバイス証明書(これは、前の照合によって、KMSに属するデバイス識別子に対応する)内のデバイス識別子にハッシュするEPKを有していなければならない。TLSクライアント認証がそのような証明書で成功するためには、攻撃者は、デバイスのESKを侵害している(この場合、デバイスはいずれにしても完全に侵害されている)か、又はハッシュ関数の衝突を発見している必要があり、これは、EPK以外の公開鍵を一時的登録デバイス証明書1042で使用できることを意味する(良好な衝突耐性ハッシュ関数には実行不可能)。
1416、1418、1420における照合は、必要に応じて、セキュアなチャネルが開かれる前に1408において実行され得ることに留意されたい。
KMSは、1422において、一時的登録デバイス証明書1042内のデバイス識別子がCSR内のデバイス識別子と等しいことを照合する。CSRの対象名が、一時的登録デバイス証明書1042の対象名と一致することを照合することは、認証電子デバイス100の識別情報を発行された証明書の識別情報にリンクするために必要である。これは、電子デバイス100が異なるデバイス識別子の証明書を要求し、その証明書を使用してその異なるデバイスになりすますことを防止するためである。
1424において、KMS120は、そのデータベースから所与のデバイス識別子に関連付けられたセキュリティポリシーを検索し、証明書の有効期限、鍵の使用などに基づいて全ての必要な照合を実行して、CSRの詳細がKMSのセキュリティポリシーに準拠するようにする。
全ての照合に成功した場合、KMS120は、ポリシーに関連付けられた発行証明書1046(「IC_A」)の秘密鍵を使用して、CSRの詳細に従って電子デバイス100にデバイス証明書1048を発行する。
新しく作成されたデバイス証明書1048は、1426で、IoTハブエンドポイント及びIoTルート証明書と共に電子デバイス100に送信される。デバイス証明書1048もIoTハブ170に送信される。電子デバイス100は、これで、そのIoTハブ170に接続するために必要な全ての情報を有する。
電子デバイス100がそのIoTハブ170に対して認証できるようにするためには、デバイス証明書1048に署名した発行証明書1046が事前にIoTハブ170に登録されている必要がある。証明書IC_A、IC_Bなどを発行する全てのデバイスは、電子デバイスが接続する前にIoTハブ170に登録される。
1430において、TLS接続が終了する。
1432において、電子デバイス100は、以前にインストールされた発行証明書IC_A1046を使用して、送信されたデバイス証明書1048を検証する。電子デバイス100は、デバイス証明書1048が、以前にインストールされた発行証明書1046によって発行されたものであることを照合し、他の証明書によって発行されたデバイス証明書を受け入れてはならない。
電子デバイス100は、デバイス証明書1048の対象名及び公開鍵が想定通りであること(すなわち、対象がデバイス識別子H(EPK)であり、公開鍵がDPKであること)を照合する。更なるセキュリティのために、電子デバイス100は、可能な場合、有効期限及び有効期限が不規則性(有効期限が過去である、又はデバイス証明書1048が期限切れであるなど)を表示しないことを照合するべきである。証明書1048が更新されている(したがって、公開鍵が変更されていない)場合、電子デバイス100は、例えば、有効期限が以前の証明書と異なることを照合して、KMS120になりすました攻撃者が電子デバイスの古い証明書を返していないことをある程度保証することができる。
電子デバイス100は、検証が失敗した場合、接続を終了し、オプションで詳細を示すエラーメッセージを表示しなければならない。
このステップは、電子デバイス100が、現在信頼されている発行証明書IC_A1046によって有効なデバイス証明書1048を発行され、その詳細が電子デバイス100の期待通りであることを確認するために使用される。攻撃者が(KMS_TLS_Cert証明書1056のための)TLS鍵を侵害したが、(IC_A証明書1046のための)発行秘密鍵を侵害していない場合、攻撃者は、KMS120を電子デバイス100になりすますことができるが、電子デバイス100のための有効な新しいデバイス証明書1048を発行することができない。電子デバイス100は、適切な証明書を受信したことを確認するためと、KMS120になりすましているが発行秘密を知らない攻撃者が、電子デバイス100に錯覚を与えて既に発行されたデバイス証明書を受け取らせようとしているかどうかを検出するための両方で、受信した証明書の詳細を慎重に照合する必要がある。
好適には、図10の方法の後、電子デバイスは、デバイス公開鍵(DPK)がデバイス識別子(H(EPK))に関連付けられていることを証明するための有効なデバイス証明書1048を所有している。デバイス証明書1048の信頼は、OEM160に関連付けられたプライマリルート証明書1044から導出される。
図11は、電子デバイス100による実行のための一般的な方法1500のフローチャートを示す。電子デバイス100は、物理複製困難関数(PUF)450を有するセキュリティモジュール110を備える。セキュリティモジュール110は、PUFに対する第1のチャレンジ及び応答に基づいて登録鍵対(EPK、ESK)を確立するように構成されており、登録鍵対は、登録公開鍵(EPK)及び登録秘密鍵(ESK)を含む。一例では、セキュリティモジュール110は、PUF450に対する第1のチャレンジに基づいて登録公開鍵(EPK)を確立し、PUFに対する第1のチャレンジへの応答に基づいて登録秘密鍵(ESK)を確立するように構成されてもよい。電子デバイス100は、PUFに対する第1のチャレンジ及び応答に基づいてデバイス鍵対(DPK、DSK)を確立するように構成されており、デバイス鍵対は、デバイス公開鍵(DPK)及びデバイス秘密鍵(DSK)を含む。電子デバイス100は、プライマリトラステッドルート証明書1044がインストールされた1つ以上のメモリを更に備える。
1510において、方法1500は、セキュア接続を介して、DPKがデバイス識別子と関連付けられることを証明する証明書1048のための証明書署名要求(CSR)をサーバに送信するステップを含み、CSRはDSKを使用して署名される。CSRは、DPK及びデバイス識別子を含む。デバイス識別子は、EPKの関数に基づく。
1520において、方法1500は、セキュア接続を介して、DPKをデバイス識別子と関連付けるデバイス証明書1048を受信するステップを含む。
1530において、方法1500は、デバイス証明書1048がプライマリトラステッドルート証明書1044の下位であることを検証するステップを含む。電子デバイス100は、デバイス証明書1048の対象名及び公開鍵が予想通りであること(すなわち、対象がデバイス識別子H(EPK)であり、公開鍵がDPKであること)を更に照合することができる。更なるセキュリティのために、電子デバイス100は、有効期限及び有効期限が不規則性(有効期限が過去である、又はデバイス証明書1048が期限切れであるなど)を表示しないことを照合することができる。証明書1048が更新されている(したがって、公開鍵が変更されていない)場合、電子デバイス100は、有効期限が以前の証明書の有効期限と異なることを照合して、攻撃者が電子デバイスの古い証明書を返していないことをある程度保証することができる。
1540において、方法1500は、検証に応じて、デバイス証明書1048をメモリにインストールするステップを含む。
図12は、方法1600のフローチャートを示す。方法は、(すなわち、鍵管理サーバシステム)1つ以上のコンピューティング装置を含むことができる鍵管理サーバ120などのコンピューティング装置による実行に適している。
1610において、方法1600は、デバイス鍵対のデバイス公開鍵(DPK)がデバイス識別子と関連付けられることを証明する証明書のための証明書署名要求(CSR)を受信するステップを含む。CSRは、デバイス識別子及びDPKを含み、デバイス鍵対のデバイス秘密鍵(DSK)を使用して署名される。デバイス識別子は、電子デバイスに属することが知られている登録鍵対の登録公開鍵の関数に基づく。
KMS120は、電子デバイス100からのセキュア接続を介してCSRを受信してもよいし、電子デバイス100からのセキュア接続を介してCSRを受信した鍵管理サーバシステムの別のサーバからCSRを受信してもよい。
1620において、方法1600は、サーバが証明書に署名することができるデバイス識別子のデータベースとデバイス識別子が照合されるようにするステップを含む。例えば、データベースはローカルに記憶されてもよく、その場合、図10に関して説明したシナリオで想定されるように、データベースを直接参照することができる。しかしながら、他の例では、データベースは、例えば認証局サーバ130を有するリモートサーバに配置されてもよく、その場合、データベースに対してデバイス識別子を照合する要求が行われてもよい。
1630において、方法1600は、デバイス識別子が電子デバイスを識別することが知られていることを検証するためにデバイス識別子の照合が実行されるようにするステップを含む。例えば、KMS120は、KMS120がデバイス識別子を所有していること、デバイス識別子がEPKの関数であること、及びCSRのデバイス識別子が以前に発行された一時的登録デバイス証明書1042内のデバイス識別子と等しいことを検証するために照合が実行されるようにし得る。
1640において、方法1600は、CSRに基づいてデバイス証明書1048に署名するステップを含み、デバイス証明書1048は、電子デバイスに知られているプライマリトラステッドルート証明書の下位である。
1650において、本方法は、デバイス識別子によって識別される電子デバイスへのセキュア接続を介したデバイス証明書1048の送信を開始するステップを含む。方法は、電子デバイスが関連するIoTハブと通信することを可能にするために、IoTハブのIoTルート証明書、及びURLなどのエンドポイントの送信を開始するステップを更に含むことができる。方法は、デバイス証明書1048をIoTハブ170に通信するステップを更に含み得る。
図13は、幾つかの例に係るコンピュータ可読媒体1700を示す。
コンピュータ可読媒体1700はユニットを記憶し、各ユニットは、実行されるときにプロセッサ1720又は他の処理/コンピューティング装置もしくは装置に特定の動作を実行させる命令1710を含む。
例えば、命令1710は、セキュア接続を介して、EPKがデバイス識別子と関連付けられることを証明する証明書のためのデバイス識別子と登録公開鍵EPKとを含む証明書署名要求(CSR)をプロセッサ1720がサーバに送信するようにしてもよく、CSRは登録秘密鍵ESKを使用して署名され、デバイス識別子はEPKの関数に基づく。命令1710は、更に、セキュア接続を介して、EPKがデバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書をプロセッサ1720に受信させることができる。命令1710は、更に、プロセッサ1720が一時的登録デバイス証明書をメモリにインストールするようにし得る。
例えば、命令1710は、EPKがデバイス識別子と関連付けられることを証明する証明書のための、デバイス識別子と電子デバイスによって確立された登録鍵対の登録公開鍵(EPK)とを含む証明書署名要求(CSR)を、プロセッサ1720に受信させることができ、デバイス識別子はEPKの関数に基づく。命令1710は、更に、プロセッサ1720に、サーバが証明書に署名することができるデバイス識別子のデータベースとデバイス識別子とを照合させることができる。命令1710は、更に、プロセッサ1720に、デバイス識別子がEPKの関数であることを検証するためにデバイス識別子の照合を実行させることができる。命令1710は、更に、プロセッサ1720に、EPKをデータベース内のデバイス識別子と関連付けさせることができる。命令1710は、更に、プロセッサ1720に、EPKがデバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書に署名させることができる。命令1710は、更に、プロセッサ1720に、デバイス識別子によって識別される電子デバイスに対するセキュア接続を介した署名された一時的登録デバイス証明書の送信を開始させることができる。
例えば、命令1710は、プロセッサ1720に、セキュア接続を介して、DPKがデバイス識別子と関連付けられることを証明する証明書のための、登録公開鍵(EPK)の関数に基づくデバイス識別子を含むデバイス公開鍵(DPK)のための証明書署名要求(CSR)をサーバへ送信させることができ、CSRはデバイス秘密鍵(DSK)を使用して署名される。命令1710は、更に、プロセッサ1720に、セキュア接続を介して、DPKをデバイス識別子と関連付けるデバイス証明書を受信させることができる。命令1710は、更に、プロセッサ1720に、デバイス証明書がプライマリトラステッドルート証明書の下位であることを検証させることができる。命令1710は、更に、プロセッサ1720に、検証に応じて、デバイス証明書をメモリにインストールさせることができる。
例えば、命令1710は、プロセッサ1720に、電子デバイスによって確立されたデバイス鍵対のデバイス公開鍵(DPK)に対する証明書署名要求(CSR)を受信させることができ、CSRは、電子デバイスによって確立された登録鍵対の登録公開鍵(EPK)の関数に基づくデバイス識別子を含み、CSRは、DPKがデバイス識別子と関連付けられることを証明する証明書のためのものである。命令1710は、更に、プロセッサ1720に、デバイス識別子を、プロセッサ1720が証明書に署名することができるデバイス識別子のデータベースと照合させることができる。命令1710は、更に、プロセッサ1720に、デバイス識別子が電子デバイスを識別することが知られていることを検証するためにデバイス識別子の照合を実行させることができる。命令1710は、更に、プロセッサ1720に、CSRに基づいてデバイス証明書に署名させることができ、デバイス証明書は、プライマリトラステッドルート証明書の下位である。命令1710は、更に、プロセッサ1720に、デバイス識別子によって識別される電子デバイスに対するセキュア接続を介したデバイス証明書の送信を開始させることができる。
1つ以上のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、例えば、電子、磁気、光学、電磁気、赤外線、又は半導体システム、装置、デバイス、又はこれらの任意の適切な組み合わせであってもよいが、これらに限定されない。コンピュータ可読媒体のより具体的な例(非網羅的なリスト)には、1つ以上の配線を有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスクリードオンリーメモリ(CDROM)、光記憶装置、磁気記憶装置、又はこれらの任意の適切な組み合わせが含まれる。本明細書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによって、又はそれに関連して使用するためのプログラムを含むか又は記憶することができる任意の有形媒体であってもよい。
コンピュータ可読信号媒体は、例えばベースバンドにおいて、又は搬送波の一部として、コンピュータ可読プログラムコードが内部に具現化された伝搬データ信号を含むことができる。そのような伝搬信号は、電磁的、光学的、又はそれらの任意の適切な組み合わせを含むがこれらに限定されない様々な形態のいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、又はデバイスによって、又はそれらと関連して使用するためのプログラムを通信、伝播、又は輸送することができる任意のコンピュータ可読媒体であってもよい。
コンピュータ可読媒体上に具現化されたコンピュータコードは、無線、有線、光ファイバケーブル、無線周波数(RF)など、又はそれらの任意の適切な組み合わせを含むがこれらに限定されない任意の適切な媒体を使用して送信され得る。
本発明の態様のための動作を実行するためのコンピュータプログラムコードは、Java(商標)、Smalltalk(商標)、C++などのオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述することができる。プログラムコードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上及び部分的にリモートコンピュータ上で、又は完全にリモートコンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、又は外部コンピュータ(例えば、インターネットサービスプロバイダを使用してインターネットを介して、)に接続されてもよい。
本明細書に記載の方法の多くの変形形態が当業者には明らかである。
本明細書に開示されている各特徴(添付の特許請求の範囲、要約、及び図面を含む)は、特に明記しない限り、同じ、同等、又は同様の目的を果たす代替的な特徴に置き換えることができる。したがって、特に明記しない限り、開示された各特徴は、一般的な一連の同等又は類似の特徴の一例にすぎない。
本発明は、任意の前述の実施形態の詳細に限定されない。本発明は、本明細書(添付の特許請求の範囲、要約、及び図面を含む)に開示された特徴の任意の新規なもの、もしくは任意の新規な組み合わせ、又はそのように開示された任意の方法もしくはプロセスのステップの任意の新規なもの、もしくは任意の新規な組み合わせに及ぶ。特許請求の範囲は、前述の実施形態だけでなく、特許請求の範囲内に入る任意の実施形態も包含すると解釈されるべきである。
Claims (25)
- 物理複製困難関数(PUF)を有するセキュリティモジュールであって、前記PUFに対する第1のチャレンジ及び応答に基づいて登録鍵対(EPK、ESK)を確立するように構成され、前記登録鍵対が登録公開鍵(EPK)及び登録秘密鍵(ESK)を備える、セキュリティモジュールと、
1以上のメモリと、
プロセッサと、
を備え、
前記プロセッサは、セキュア接続を介して、前記EPKがデバイス識別子と関連付けられることを証明する証明書のための証明書署名要求(CSR)をサーバに送信するように構成され、前記CSRは、
前記デバイス識別子と、
前記EPKと、
を含み、
前記CSRは、前記ESKを使用して署名され、前記デバイス識別子は、前記EPKの関数に基づき、
前記プロセッサは、
前記セキュア接続を介して、前記EPKが前記デバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書を受信し、
前記一時的登録デバイス証明書をメモリにインストールする、
ように構成される、電子デバイス。 - 前記1以上のメモリは、プライマリトラステッドルート証明書を更にインストールしており、前記プロセッサは、前記セキュア接続を介して発行証明書を受信するように更に構成され、前記発行証明書が前記プライマリトラステッドルート証明書の下位である、請求項1に記載の電子デバイス。
- 前記プロセッサは、
前記発行証明書がプライマリトラステッドルート証明書から直接派生していることを検証し、
前記検証に応じて、前記発行証明書を前記1つ以上のメモリにインストールする、
ように更に構成される、請求項2に記載の電子デバイス。 - 前記プロセッサは、
セキュア接続発行証明書及びセキュア接続証明書を前記サーバから受信し、前記セキュア接続発行証明書及び前記セキュア接続証明書が前記プライマリトラステッドルート証明書の下位であり、
前記プライマリトラステッドルート証明書を使用して前記セキュア接続証明書を検証し、
前記検証に応じて、前記サーバに対する前記セキュア接続を確立する、
ように更に構成される、請求項2又は3に記載の電子デバイス。 - 前記セキュア接続証明書を検証することは、前記セキュア接続証明書が前記プライマリトラステッドルート証明書の下位であることを検証すること、任意選択的に、前記セキュア接続証明書に含まれるサーバ識別子を前記電子デバイスの前記1つ以上のメモリに記憶されるサーバアイデンティティと比較することを含む、請求項4に記載の電子デバイス。
- 前記プロセッサは、前記電子デバイスの前記1つ以上のメモリに記憶される前記サーバ識別子によって識別される前記サーバに対する前記セキュア接続を開始するように更に構成される、請求項5に記載の電子デバイス。
- 前記デバイスは、前記PUFに対する第2のチャレンジ及び応答に基づいてデバイス鍵対(DPK、DSK)を確立するように更に構成され、前記デバイス鍵対は、デバイス公開鍵(DPK)及びデバイス秘密鍵(DSK)を備え、
前記プロセッサは、第2のセキュア接続を介して、前記DPKがデバイス識別子と関連付けられることを証明する証明書のための第2の証明書署名要求(CSR)をサーバに送信するように更に構成され、前記第2のCSRは、
前記DPKと、
前記デバイス識別子と、
を含み、
前記第2のCSRは、前記DSKを使用して署名され、
前記プロセッサは、
前記第2のセキュア接続を介して、前記DPKを前記デバイス識別子と関連付けるデバイス証明書を受信し、
前記デバイス証明書が前記プライマリトラステッドルート証明書の下位であることを検証し、
前記検証に応じて、前記デバイス証明書をメモリにインストールする、
ように更に構成される、請求項2から6のいずれかに記載の電子デバイス。 - 前記デバイス識別子が前記EPKのハッシュ関数に基づく、請求項1から7のいずれか一項に記載の電子デバイス。
- 前記一時的登録デバイス証明書の有効期間が10分未満である、請求項1から8のいずれか一項に記載の電子デバイス。
- 前記1以上のメモリには、一時的登録トラステッドルート証明書がインストールされており、
前記プロセッサは、前記一時的登録デバイス証明書を受信した後、前記一時的登録トラステッドルート証明書を使用して前記一時的登録デバイス証明書を検証するように更に構成され、
前記一時的登録デバイス証明書をインストールすることが前記検証に応答したものである、
請求項1から9のいずれか一項に記載の電子デバイス。 - 電子デバイスによる実行のための方法であって、前記電子デバイスは、
物理複製困難関数(PUF)を有するセキュリティモジュールであって、前記PUFに対する第1のチャレンジ及び応答に基づいて登録鍵対(EPK、ESK)を確立するように構成され、前記登録鍵対が登録公開鍵(EPK)及び登録秘密鍵(ESK)を備える、セキュリティモジュールと、
1以上のメモリと、
を備え、
前記方法は、
セキュア接続を介して、前記EPKがデバイス識別子と関連付けられることを証明する証明書のための証明書署名要求(CSR)をサーバに送信するステップであって、前記CSRが、
前記デバイス識別子と、
前記EPKと、
を含み、
前記CSRが、前記ESKを使用して署名され、前記デバイス識別子が、前記EPKの関数に基づく、送信するステップと、
前記セキュア接続を介して、前記EPKが前記デバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書を受信するステップと、
前記一時的登録デバイス証明書をメモリにインストールするステップと、
を含む方法。 - サーバであって、
デバイス識別子と、電子デバイスによって確立される登録鍵対の登録公開鍵(EPK)とを含む証明書署名要求(CSR)を受信し、前記CSRが、前記EPKが前記デバイス識別子と関連付けられることを証明する証明書のためのものであり、前記デバイス識別子が前記EPKの関数に基づき、
前記デバイス識別子が、前記サーバが証明書に署名することができる前記デバイス識別子のデータベースと照合されるようにし、
前記デバイス識別子が前記EPKの関数であることを証明するために前記デバイス識別子の照合が実行されるようにし、
前記EPKが前記データベース内の前記デバイス識別子と関連付けられるようにし、
前記EPKがデバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書に署名し、
前記デバイス識別子によって識別される前記電子デバイスに対するセキュア接続を介した前記署名された一時的登録デバイス証明書の送信を開始する、
ように構成されるサーバ。 - 前記サーバは、前記セキュア接続を介して発行証明書を送信するように更に構成され、前記発行証明書は、前記電子デバイスに知られているプライマリトラステッドルート証明書の下位である、請求項12に記載のサーバ。
- 前記サーバは、前記デバイス識別子に基づいて、前記プライマリトラステッドルート証明書の下位である複数の発行証明書から前記セキュア接続を介して送信するための前記発行証明書を選択するように更に構成される、請求項13に記載のサーバ。
- 前記セキュア接続を介して送信される発行証明書は、前記デバイス識別子と関連付けられるセキュリティポリシーに基づく、請求項12から14のいずれか一項に記載のサーバ。
- 電子デバイスのデバイス識別子がデータベースと照合されるようにすることは、前記CSRで受信される前記デバイス識別子が前記データベースに既に記憶されていることの照合を行なわせることを含み、前記受信されたデバイス識別子が前記データベースに既に記憶されている場合、前記サーバは、前記一時的登録デバイス証明書に署名することを許可される、請求項12から15のいずれか一項に記載のサーバ。
- 前記デバイス識別子が前記EPKの関数であることを証明するために前記デバイス識別子の照合が実行されるようにすることは、前記デバイス識別子が前記EPKのハッシュ関数に基づくことを証明するために前記デバイス識別子の照合が実行されるようにすることを含む、請求項12から16のいずれか一項に記載のサーバ。
- 前記一時的登録デバイス証明書の有効期間が10分未満である、請求項12から17のいずれか一項に記載のサーバ。
- セキュア接続発行証明書及びセキュア接続証明書の前記電子デバイスに対する送信を開始するように更に構成され、前記セキュア接続発行証明書及びセキュア接続証明書は、前記電子デバイスに知られているプライマリトラステッドルート証明書の下位である、請求項12から18のいずれか一項に記載のサーバ。
- 前記サーバは、
一時的登録デバイス証明書を受信し、
前記デバイス識別子と、前記電子デバイスによって確立されるデバイス鍵対のデバイス公開鍵(DPK)とを含む第2のCSRを受信し、前記第2のCSRが、前記DPKが前記デバイス識別子に関連付けられることを証明する証明書のためのものであり、
前記第2のCSRの前記デバイス識別子が、前記サーバが証明書に署名することができるデバイス識別子のデータベースと照合されるようにし、
前記第2のCSRの前記デバイス識別子が前記受信された一時的登録デバイス証明書において指定された前記デバイス識別子と一致することを検証するために前記第2のCSRの前記デバイス識別子の照合が実行されるようにし、
前記CSRに基づいてデバイス証明書に署名し、前記デバイス証明書が、前記電子デバイスに知られているプライマリトラステッドルート証明書の下位であり、
前記デバイス識別子によって識別される前記電子デバイスに対する第2のセキュア接続を介した前記デバイス証明書の送信を開始する、
ように更に構成される、請求項13から22のいずれか一項に記載のサーバ。 - 前記デバイス証明書の送信を開始する前に、前記第2のCSRの前記デバイス識別子が前記EPKの関数であることを検証するために前記第2のCSRの前記デバイス識別子の照合が実行されるようにするべく更に構成される、請求項20に記載のサーバ。
- サーバにおいて、
デバイス識別子と、電子デバイスによって確立される登録鍵対の登録公開鍵(EPK)とを含む証明書署名要求(CSR)を受信するステップであって、前記CSRが、前記EPKが前記デバイス識別子と関連付けられることを証明する証明書のためのものであり、前記デバイス識別子が前記EPKの関数に基づく、受信するステップと、
前記デバイス識別子が、前記サーバが証明書に署名することができるデバイス識別子のデータベースと照合されるようにするステップと、
前記デバイス識別子が前記EPKの関数であることを証明するために前記デバイス識別子の照合が実行されるようにするステップと、
前記EPKが前記データベース内の前記デバイス識別子と関連付けられるようにするステップと、
前記EPKがデバイス識別子に関連付けられることを証明して有効期間を含む一時的登録デバイス証明書に署名するステップと、
前記デバイス識別子によって識別される前記電子デバイスに対するセキュア接続を介した前記署名された一時的登録デバイス証明書の送信を開始するステップと、
を含む方法。 - 電子デバイスであって、
物理複製困難関数(PUF)を有するセキュリティモジュールであり、前記PUFに対する第1のチャレンジ及び応答に基づいて登録鍵対(EPK、ESK)を確立するように構成され、前記登録鍵対が登録公開鍵(EPK)及び登録秘密鍵(ESK)を備える、セキュリティモジュールと、
1以上のメモリと、
プロセッサと、
を備え、
前記プロセッサが、セキュア接続を介して、前記EPKがデバイス識別子と関連付けられることを証明する証明書のための証明書署名要求(CSR)を1つ以上のサーバのうちの1つのサーバに送信するように構成され、前記CSRが、
前記デバイス識別子と、
前記EPKと、
を含み、
前記CSRが、前記ESKを使用して署名され、前記デバイス識別子が、前記EPKの関数に基づき、
前記プロセッサが、
前記セキュア接続を介して、前記EPKが前記デバイス識別子と関連付けられることを証明して有効期間を含む一時的登録デバイス証明書を受信し、
検証に応じて、前記一時的登録デバイス証明書をメモリにインストールする、
ように構成される、電子デバイスと、
1つ以上のサーバであって、
前記セキュア接続を介して、前記デバイス識別子と、前記デバイス識別子と関連付けられることを証明する証明書のための前記EPKとを含む前記CSRを前記電子デバイスから受信し、
前記デバイス識別子を、前記1つ以上のサーバが証明書に署名することができるデバイス識別子のデータベースと照合し、
前記デバイス識別子が前記EPKの関数であることを証明するために前記デバイス識別子を照合し、
前記EPKを前記データベース内の前記デバイス識別子と関連付け、
前記EPKがデバイス識別子と関連付けられることを証明して有効期間を含む前記一時的登録デバイス証明書に署名し、
前記セキュア接続を介して前記署名された一時的登録デバイス証明書を前記電子デバイスに送信する、
ように構成される、1つ以上のサーバと、
を備えるシステム。 - 電子デバイスコンピューティングデバイスのプロセッサによって読み取られるときに前記プロセッサに請求項11に記載の方法を実行させる命令が記憶されたコンピュータ可読媒体。
- 電子デバイスコンピューティングデバイスのプロセッサによって読み取られるときに前記プロセッサに請求項22に記載の方法を実行させる命令が記憶されたコンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2105185.9A GB2605951A (en) | 2021-04-12 | 2021-04-12 | Interim root-of-trust enrolment and device-bound public key registration |
GB2105185.9 | 2021-04-12 | ||
PCT/GB2022/050911 WO2022219320A1 (en) | 2021-04-12 | 2022-04-12 | Interim root-of-trust enrolment and device-bound public key registration |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024513526A true JP2024513526A (ja) | 2024-03-25 |
Family
ID=75949413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023562579A Pending JP2024513526A (ja) | 2021-04-12 | 2022-04-12 | ルートオブトラスト登録及びデバイス拘束された公開鍵登録 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20240195641A1 (ja) |
EP (1) | EP4324158A1 (ja) |
JP (1) | JP2024513526A (ja) |
KR (1) | KR20240045161A (ja) |
CN (1) | CN117256121A (ja) |
GB (1) | GB2605951A (ja) |
WO (1) | WO2022219320A1 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2566264B (en) * | 2017-09-01 | 2020-05-13 | Trustonic Ltd | Application certificate |
GB2583118B (en) | 2019-04-17 | 2021-09-08 | Crypto Quantique Ltd | Device identification with quantum tunnelling currents |
-
2021
- 2021-04-12 GB GB2105185.9A patent/GB2605951A/en active Pending
-
2022
- 2022-04-12 CN CN202280027957.8A patent/CN117256121A/zh active Pending
- 2022-04-12 EP EP22717421.6A patent/EP4324158A1/en active Pending
- 2022-04-12 KR KR1020237036835A patent/KR20240045161A/ko active Search and Examination
- 2022-04-12 WO PCT/GB2022/050911 patent/WO2022219320A1/en active Application Filing
- 2022-04-12 US US18/553,021 patent/US20240195641A1/en active Pending
- 2022-04-12 JP JP2023562579A patent/JP2024513526A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN117256121A (zh) | 2023-12-19 |
GB2605951A (en) | 2022-10-26 |
US20240195641A1 (en) | 2024-06-13 |
WO2022219320A1 (en) | 2022-10-20 |
EP4324158A1 (en) | 2024-02-21 |
GB202105185D0 (en) | 2021-05-26 |
KR20240045161A (ko) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10382485B2 (en) | Blockchain-assisted public key infrastructure for internet of things applications | |
US11849029B2 (en) | Method of data transfer, a method of controlling use of data and cryptographic device | |
US9621355B1 (en) | Securely authorizing client applications on devices to hosted services | |
US11070542B2 (en) | Systems and methods for certificate chain validation of secure elements | |
US9912485B2 (en) | Method and apparatus for embedding secret information in digital certificates | |
US10567370B2 (en) | Certificate authority | |
KR20200080441A (ko) | 사물인터넷 블록체인 환경에서의 디바이스 분산 인증 방법 및 이를 이용한 디바이스 분산 인증 시스템 | |
JP7367212B2 (ja) | リモートホストを使用したデバイスの認証 | |
JP2024513521A (ja) | 組み込みデバイスの安全な信頼の起点登録及び識別管理 | |
US20240187262A1 (en) | Encrypted and authenticated firmware provisioning with root-of-trust based security | |
CN110771087A (zh) | 私钥更新 | |
US20240195641A1 (en) | Interim root-of-trust enrolment and device-bound public key registration | |
JP2023544529A (ja) | 認証方法およびシステム |