JP2023120287A - 拡張可能な証明書管理システムアーキテクチャ - Google Patents

拡張可能な証明書管理システムアーキテクチャ Download PDF

Info

Publication number
JP2023120287A
JP2023120287A JP2023097452A JP2023097452A JP2023120287A JP 2023120287 A JP2023120287 A JP 2023120287A JP 2023097452 A JP2023097452 A JP 2023097452A JP 2023097452 A JP2023097452 A JP 2023097452A JP 2023120287 A JP2023120287 A JP 2023120287A
Authority
JP
Japan
Prior art keywords
application
certificate
authority
authority application
management system
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
Application number
JP2023097452A
Other languages
English (en)
Inventor
アラン ティー. マイヤー
T Meyer Alan
グレゴリー エー. パウエル
A Powell Gregory
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Integrity Security Services LLC
Original Assignee
Integrity Security Services LLC
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
Priority claimed from US16/029,559 external-priority patent/US10581620B2/en
Application filed by Integrity Security Services LLC filed Critical Integrity Security Services LLC
Publication of JP2023120287A publication Critical patent/JP2023120287A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • 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/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0414Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden during transmission, i.e. party's identity is protected against eavesdropping, e.g. by using temporary identifiers, but is known to the other party or parties involved in the communication
    • 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/3263Cryptographic 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/3268Cryptographic 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】コンピュータ化装置のセキュアなプロビジョニングのためのシステム、装置及び方法を提供する。【解決手段】拡張可能でセキュアな証明書管理システム(CMS)400は、登録局を実行し、登録局によって要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能な1つ以上のアプリケーションプラットフォームと、加入証明書局を実行し、加入証明書局によって要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能な1つ以上のアプリケーションプラットフォームと、匿名証明書局を実行し、匿名証明書局によって要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能な1つ以上のアプリケーションプラットフォームと、第1の結合局及び第2の結合局を実行し、結合局によって要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能な1つ以上のアプリケーションプラットフォームと、を含む。【選択図】図4A

Description

(関連出願の相互参照)
本願は、いずれも参照により全文が本願に援用される、2016年11月14日に出願
された米国仮出願第62/421,878号、2016年11月14日に出願された米国
仮出願第62/421,852号、及び2017年4月20日に出願された米国仮出願第
62/487,909号の利益を主張する2017年11月14に出願された米国出願第
15/812,510号の一部継続出願である。
本発明は、コンピュータ化装置のセキュアなプロビジョニングのためのシステム、装置
、及び方法に関する。
コンピュータの小型化とコモディティ化が進むにつれ、製造業者は、1つ以上の組込み
型コンピュータ又はプロセッサを内蔵した様々な装置をますます多く製造している。コン
ピュータ化装置内のコンピュータは、とりわけ、装置の動作を制御でき、データを収集、
保存、及び共有でき、他のコンピュータや他のコンピュータ化装置と通信でき、自身のソ
フトウェアを更新できる。
モノのインターネット(IoT)は、組込み型のプロセッサ、電子回路、ソフトウェア
、データ、センサー、アクチュエータ、及び/又はネットワーク接続機能を有するコンピ
ュータ化された物理的装置から成るネットワークであり、これらの装置は、ネットワーク
接続機能によって、インターネット、セルラーネットワーク、他の無線ネットワークをは
じめとするデジタルネットワークを通じて接続し、データをやり取りすることができる。
通常、それぞれの「モノ」は、各自の組込み型コンピューティングシステムで一意的に識
別可能であり、既存のインターネットインフラの中で相互動作することができる。
IoTの意味での「モノ」は、とりわけ民生用電化製品、仕事や会社で利用される業務
用装置、製造機械、耕作機械、家屋や建物内のエネルギー消費装置(スイッチ、コンセン
ト、電気器具、照明システム、電球、テレビ、ガレージドアオープナー、スプリンクラー
システム、防犯システムなど)、医療・ヘルスケア用装置、インフラ管理装置、ロボット
、ドローン、輸送用装置・車両など、様々なコンピュータ化装置を指し得る。
例えば、全てでないにしろ、ほとんどの、現代の車両や輸送用機械(例えば、自動車、
トラック、航空機、電車、船、オートバイ、スクーターなど)は、そのサブシステムに数
個の組込み型プロセッサや組込み型コンピュータを内蔵しており、少なくとも部分的には
コンピュータ制御される。同様に、現代の交通インフラ装置(例えば、信号機、交通監視
カメラ、交通センサー、橋監視装置、橋制御システム、及び同類のもの)の多くは、少な
くとも1つの、多くの場合は多数の、組込み型プロセッサや組込み型コンピュータシステ
ムを内蔵し、少なくとも部分的にはコンピュータ制御される。これらの輸送網のコンピュ
ータ制御される要素は通常、様々な種類の情報をやり取りしながら互いに通信し、これら
の要素は、反応でき、応答でき、自身の動作を変えることができ、あるいは、安全で正確
で効率的で信頼性のある動作に対してビークル・ツー・ビークル(すなわちV2V、C2
Cすなわちカー・ツー・カーの別名でも知られる)通信で他の車両を相手に送受信される
情報に、及び/又はビークル・ツー・インフラストラクチャ(すなわちV2I、C2Iす
なわちカー・ツー・インフラストラクチャの別名でも知られる)通信でインフラ要素を相
手に送受信される情報に、頼ることができる。
コンピュータ化装置内のコンピュータは、自身のソフトウェア及び/又はファームウェ
アとデータに従って動作する。安全で適正な動作を徹底するには、製造業者が意図する適
切なソフトウェア、ファームウェア、実行可能命令、デジタル証明書(例えば、公開鍵証
明書)、暗号鍵など(これ以降「デジタルアセット」又は「ソフトウェア」と総称する)
でコンピュータ化装置の初期化と更新を適切に行う必要があるため、IoTは、認可され
良好であることが判明しているソフトウェアとデータを実行する装置のみから構成されて
いる。しかし、権限を持たない人や組織(例えば、ハッカー)がコンピュータ化装置のソ
フトウェアを交換したり変更したりすると問題が生じる。古いソフトウェア、試験されて
いないソフトウェア、承認されていないソフトウェア、及び/又はバグが判明しているソ
フトウェアがコンピュータ化装置にインストールされる場合にも問題が生じる。
したがって、エラーが多いソフトウェア及びデータ、不適切に機能するソフトウェア及
びデータ、試験されていないソフトウェア及びデータ、悪意を持って改変されたソフトウ
ェア及びデータ、あるいは望ましくないソフトウェア及びデータを使用してコンピュータ
化装置が動作するのを防ぐため、コンピュータ化装置でデジタルアセットをセキュアにプ
ロビジョニングする改善されたシステム、方法、及び技法を提供することが望ましい。
本明細書では、セキュリティクレデンシャルやデジタル証明書といったある種のデジタ
ルアセットをセキュアに生成して提供するシステム、方法、及び装置が開示される。様々
な実装において、該システム、方法、及び装置は、拡張可能な証明書管理システム(CM
S)を使用して、セキュリティクレデンシャルや公開鍵証明書といったある種のデジタル
アセットを作成し、提供する。一部の実装において、CMSは、加入証明書や匿名証明書
といった証明書を求める要求に応答してかかる証明書を提供する。
様々な実装において、CMSは、登録局と、1つ以上の結合局と、匿名証明書局と、加
入証明書局とを含む拡張可能なアーキテクチャを有する。例示的CMSは、登録局アプリ
ケーションを実行し、登録局アプリケーションによって要求される暗号計算を遂行する1
つ以上の計算エンジンへ通信可能なように接続された、1つ以上のアプリケーションプラ
ットフォームを含んでよい。1つ以上のアプリケーションプラットフォームは、1つ以上
の仮想マシン(VM)、又は1つ以上のハードウェアプラットフォーム(例えば、サーバ
、コンピュータ、又はソフトウェアアプリケーションをホストして実行できる他のコンピ
ュータハードウェア)を含んでよい。システムはまた、加入証明書局を実行し、加入証明
書局によって要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能なように
接続された、1つ以上のVMを含んでよい。加入証明書局アプリケーションは、加入証明
書を生成して登録局アプリケーションへ条件付きで送信する働きをする。例示的CMSは
さらに、匿名証明書局アプリケーションを実行し、匿名証明書局によって要求される暗号
計算を遂行する1つ以上の計算エンジンへ通信可能なように接続された、1つ以上のVM
を含んでよい。匿名証明書局アプリケーションは、匿名証明書を生成して登録局アプリケ
ーションへ条件付きで送信する働きをする。CMSシステムはまた、第1及び第2の結合
局を実行し、第1及び第2の結合局によって要求される暗号計算を遂行する1つ以上の計
算エンジンへ通信可能なように接続された、1つ以上のVMを含んでよい。第1の結合局
アプリケーションと第2の結合局アプリケーションは、結合値を生成して登録局アプリケ
ーションへ条件付きで送信する働きをする。
一部の実装において、プロビジョニングコントローラに証明書をセキュアに提供する拡
張可能なCMSは、登録局アプリケーションを実行し、登録局アプリケーションによって
要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能なように接続された、
1つ以上のアプリケーションプラットフォームと、加入証明書局アプリケーションを実行
し、加入証明書局アプリケーションによって要求される暗号計算を遂行する1つ以上の計
算エンジンへ通信可能なように接続された、1つ以上のアプリケーションプラットフォー
ムであって、加入証明書局アプリケーションが加入証明書を生成して登録局アプリケーシ
ョンへ条件付きで送信する働きをしてよい、1つ以上のアプリケーションプラットフォー
ムと、匿名証明書局アプリケーションを実行し、匿名証明書局アプリケーションによって
要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能なように接続された、
1つ以上のアプリケーションプラットフォームであって、匿名証明書局アプリケーション
が匿名証明書を生成して登録局アプリケーションへ条件付きで送信する働きをしてよい、
1つ以上のアプリケーションプラットフォームと、第1の結合局アプリケーションを実行
し、第1の結合局アプリケーションによって要求される暗号計算を遂行する1つ以上の計
算エンジンへ通信可能なように接続された、1つ以上のアプリケーションプラットフォー
ムと、第2の結合局アプリケーションを実行し、第2の結合局アプリケーションによって
要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能なように接続された、
1つ以上のアプリケーションプラットフォームとを含む。結合局アプリケーションは、結
合値を生成して登録局アプリケーションへ条件付きで送信する働きをする。
別の実装において、CMSは、登録局アプリケーションを実行する1つ以上のアプリケ
ーションプラットフォーム、加入証明書局アプリケーションを実行する1つ以上のアプリ
ケーションプラットフォーム、匿名証明書局アプリケーションを実行する1つ以上のアプ
リケーションプラットフォーム、第1の結合局アプリケーションを実行する1つ以上のア
プリケーションプラットフォーム、及び第2の結合局アプリケーションを実行する1つ以
上のアプリケーションプラットフォームへ動作可能なように接続された1つ以上のデータ
ベースをさらに含んでよい。
さらに別の実装において、登録局アプリケーション、加入証明書局アプリケーション、
匿名証明書局アプリケーション、第1の結合局アプリケーション、第2の結合局アプリケ
ーション、及び1つ以上のデータベースの各々は、互いに独立して拡張されるよう動作可
能である。
さらに別の実装において、加入証明書局アプリケーションは、登録局アプリケーション
から加入証明書の要求を受信したことに応答して加入証明書を生成する働きをしてよく、
加入証明書局アプリケーションは、登録局アプリケーションから匿名証明書の要求を受信
したことに応答して匿名証明書を生成する働きをしてよく、第1の結合局アプリケーショ
ンと第2の結合局アプリケーションは、登録局アプリケーションから結合値の要求を受信
したことに応答して結合値を生成する働きをしてよい。
一部の実装において、登録局アプリケーション、加入証明書局アプリケーション、匿名
証明書局アプリケーション、第1の結合局アプリケーション、及び第2の結合局アプリケ
ーションの各々は、複数のメッセージキューを備えるメッセージキューイングサービスに
よって互いに通信可能なように接続されてよい。
いくつかの実装において、加入証明書局アプリケーションを実行する1つ以上のアプリ
ケーションプラットフォームは、第1の複数のメッセージキューによって、加入証明書局
アプリケーションによって要求される暗号計算を遂行する1つ以上の計算エンジンへ通信
可能なように接続された1つ以上の仮想マシンであり、第1の結合局アプリケーションを
実行する1つ以上のアプリケーションプラットフォームは、第2の複数のメッセージキュ
ーによって、第1の結合局アプリケーションによって要求される暗号計算を遂行する1つ
以上の計算エンジンへ通信可能なように接続された1つ以上の仮想マシンであり、第2の
結合局アプリケーションを実行する1つ以上のアプリケーションプラットフォームは、第
3の複数のメッセージキューによって、第2の結合局アプリケーションによって要求され
る暗号計算を遂行する1つ以上の計算エンジンへ通信可能なように接続された1つ以上の
仮想マシンである。
第1、第2、及び第3の複数のメッセージキューを有するいくつかの実装によると、第
1の複数のメッセージキューは、加入証明書局アプリケーションを実行する1つ以上の仮
想マシンへ送付されるメッセージを入れる第1のメッセージキューと、加入証明書局アプ
リケーションによって要求される暗号計算を遂行する1つ以上の計算エンジンへ送付され
るメッセージを入れる第2のメッセージキューとを含み、第2の複数のメッセージキュー
は、第1の結合局アプリケーションを実行する1つ以上の仮想マシンへ送付されるメッセ
ージを入れる第3のメッセージキューと、第1の結合局アプリケーションによって要求さ
れる暗号計算を遂行する1つ以上の計算エンジンへ送付されるメッセージを入れる第4の
メッセージキューとを備え、第3の複数のメッセージキューは、第2の結合局アプリケー
ションを実行する1つ以上の仮想マシンへ送付されるメッセージを入れる第5のメッセー
ジキューと、第2の結合局アプリケーションによって要求される暗号計算を遂行する1つ
以上の計算エンジンへ送付されるメッセージを入れる第6のメッセージキューとを備える
第1、第2、及び第3の複数のメッセージキューを有する別の実装において、第1の複
数のメッセージキューは、加入証明書局アプリケーションを実行する1つ以上の仮想マシ
ンへ送付されるメッセージと、該1つ以上の仮想マシンから送信されるメッセージとを入
れる第1の双方向メッセージキューと、加入証明書局アプリケーションによって要求され
る暗号計算を遂行する1つ以上の計算エンジンへ送付されるメッセージと、該1つ以上の
計算エンジンから送信されるメッセージとを入れる第2の双方向メッセージキューとを備
え、第2の複数のメッセージキューは、第1の結合局アプリケーションを実行する1つ以
上の仮想マシンへ送付されるメッセージと、該1つ以上の仮想マシンから送信されるメッ
セージとを入れる第3の双方向メッセージキューと、第1の結合局アプリケーションによ
って要求される暗号計算を遂行する1つ以上の計算エンジンへ送付されるメッセージと、
該1つ以上の計算エンジンから送信されるメッセージとを入れる第4の双方向メッセージ
キューとを備え、第3の複数のメッセージキューは、第2の結合局アプリケーションを実
行する1つ以上の仮想マシンへ送付されるメッセージと、該1つ以上の仮想マシンから送
信されるメッセージとを入れる第5の双方向メッセージキューと、第2の結合局アプリケ
ーションによって要求される暗号計算を遂行する1つ以上の計算エンジンへ送付されるメ
ッセージと、該1つ以上の計算エンジンから送信されるメッセージとを入れる第6の双方
向メッセージキューとを備える。
CMSの別の実装において、加入証明書局アプリケーションを実行する1つ以上のアプ
リケーションプラットフォームは、第1のロードバランサによって、加入証明書局アプリ
ケーションによって要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能な
ように接続され、第1の結合局アプリケーションを実行する1つ以上のアプリケーション
プラットフォームは、第2のロードバランサによって、第1の結合局アプリケーションに
よって要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能なように接続さ
れ、第2の結合局アプリケーションを実行する1つ以上のアプリケーションプラットフォ
ームは、第3のロードバランサによって、第2の結合局アプリケーションによって要求さ
れる暗号計算を遂行する1つ以上の計算エンジンへ通信可能なように接続される。
第1、第2、及び第3のロードバランサを含むCMSのいくつかの実装において、ロー
ドバランサの各々は、ロードバランサ仮想マシンとロードバランササーバのいずれか1つ
以上を各々備えてよく、ロードバランサ仮想マシンとロードバランササーバは各々、複数
のアプリケーションプラットフォームと複数の計算エンジンにわたって作業負荷を分散す
るように構成される。
ロードバランサ仮想マシンとロードバランササーバとを有する別の実装において、ロー
ドバランサ仮想マシンとロードバランササーバは各々、ラウンドロビン手法を用いて、複
数のアプリケーションプラットフォームと複数の計算エンジンにわたって作業負荷を分散
するように構成される。
ロードバランサ仮想マシンとロードバランササーバとを含むさらに別の実装において、
ロードバランサ仮想マシンとロードバランササーバは各々、複数のアプリケーションプラ
ットフォームの各々と複数の計算エンジンの各々によって報告されるそれぞれの作業負荷
に基づいて、複数のアプリケーションプラットフォームと複数の計算エンジンにわたって
作業負荷を分散するように構成される。
様々な実装において、プロビジョニングコントローラは、コンピュータ化装置の代わり
に、加入証明書の要求を登録局アプリケーションへ送信し、加入証明書局アプリケーショ
ンによって生成され得る加入証明書を登録局アプリケーションから受信し、加入証明書を
コンピュータ化装置へ送信し、コンピュータ化装置の代わりに、複数の匿名証明書の要求
を登録局アプリケーションへ送信し、匿名証明書局アプリケーションによって生成され得
る複数の匿名証明書を登録局アプリケーションから受信し、複数の匿名証明書をコンピュ
ータ化装置へ送信し、コンピュータ化装置に関連するログを作成及び保守し、かつコンピ
ュータ化装置の証明書活動に関する情報を保存する働きをしてよい。
プロビジョニングコントローラがログを作成及び保守する働きをし得る一部の実装にお
いて、プロビジョニングコントローラはさらに、コンピュータ化装置に関係する証明書活
動に関する情報を、ログに保存するためプロビジョニングコントローラへ送信する働きを
してよい。
プロビジョニングコントローラが加入証明書の要求を登録局アプリケーションへ送信す
る働きをし得るいくつかの実装において、プロビジョニングコントローラはさらに、加入
証明書の要求を登録局アプリケーションへ送信する前に、コンピュータ化装置を認証する
働きをしてよい。
別の実装において、加入証明書は公開鍵証明書であってよく、該公開鍵証明書は、該公
開鍵証明書のホルダを、複数のコンピュータ化装置を含むエコシステム内の認可されたパ
ーティシパントとして識別し、エコシステム内の認可された各パーティシパントは、複数
のコンピュータ化装置との通信を可能にする1つ以上の匿名証明書を受け取ることもでき
る。
一部の実装において、1つ以上のコンピュータ化装置をプロビジョニングするシステム
は、コンピュータ化装置へ通信可能なように接続され、デジタルアセットを受信してコン
ピュータ化装置にデジタルアセットを読み込ませる働きをする、ディストリビュータ装置
と、第1のセキュアな通信経路を通じてディストリビュータ装置へ接続され、デジタルア
セットを生成してディストリビュータ装置へ条件付きで送信する働きをする、デジタルア
セット管理システムと、第2のセキュアな通信経路を通じてディストリビュータ装置へ接
続され、第3のセキュアな通信経路を通じてデジタルアセット管理システムへ接続され、
デジタルアセットをディストリビュータ装置へ送信することをデジタルアセット管理シス
テムに指図する働きをする、プロビジョニングコントローラとを含む。コンピュータ化装
置は、デジタルアセットがコンピュータ化装置に読み込まれる前に、デジタルアセットが
ないため、機能しないか、又は部分的にしか機能しない場合がある。デジタルアセットは
、デジタル証明書、暗号鍵、及び実行可能ソフトウェアの少なくともいずれか1つであっ
てよい。いくつかの実装において、システムは、拡張可能なCMSとやり取りでき、ある
いは拡張可能なCMSからクレデンシャルを受信できる。
様々な実装において、システムは、第4のセキュアな通信経路を通じてデジタルアセッ
ト管理システムへ接続され、ディストリビュータ装置の接続が外された後にコンピュータ
化装置へ通信可能なように接続され、第2のデジタルアセットを受信してコンピュータ化
装置に第2のデジタルアセットを読み込ませる働きをする、第2のディストリビュータ装
置をさらに含んでよく、プロビジョニングコントローラはさらに、第2のデジタルアセッ
トをディストリビュータ装置へ送信することをデジタルアセット管理システムに指図する
働きをする。コンピュータ化装置は、第2のデジタルアセットがコンピュータ化装置に読
み込まれた後に、完全に機能できる。
様々な実装において、デジタルアセット管理システムは、登録局アプリケーションを実
行し、登録局アプリケーションによって要求される暗号計算を遂行する1つ以上の計算エ
ンジンへ通信可能なように接続された、1つ以上のアプリケーションプラットフォームと
、加入証明書局アプリケーションを実行し、加入証明書局アプリケーションによって要求
される暗号計算を遂行する1つ以上の計算エンジンへ通信可能なように接続された、1つ
以上のアプリケーションプラットフォームと、匿名証明書局アプリケーションを実行し、
匿名証明書局アプリケーションによって要求される暗号計算を遂行する1つ以上の計算エ
ンジンへ通信可能なように接続された、1つ以上のアプリケーションプラットフォームと
、第1の結合局アプリケーションを実行し、第1の結合局アプリケーションによって要求
される暗号計算を遂行する1つ以上の計算エンジンへ通信可能なように接続された、1つ
以上のアプリケーションプラットフォームと、第2の結合局アプリケーションを実行し、
第2の結合局アプリケーションによって要求される暗号計算を遂行する1つ以上の計算エ
ンジンへ通信可能なように接続された、1つ以上のアプリケーションプラットフォームと
をさらに含んでよい。
別の実装において、デジタルアセット管理システムは、登録局アプリケーションを実行
する1つ以上のアプリケーションプラットフォーム、加入証明書局を実行する1つ以上の
アプリケーションプラットフォーム、匿名証明書局アプリケーションを実行する1つ以上
のアプリケーションプラットフォームアプリケーション、第1の結合局アプリケーション
を実行する1つ以上のアプリケーションプラットフォーム、及び第2の結合局アプリケー
ションを実行する1つ以上のアプリケーションプラットフォームへ動作可能なように接続
された1つ以上のデータベースをさらに含んでよい。
さらに別の実装において、システムは、プロビジョニングコントローラへ動作可能なよ
うに接続され、コンピュータ化装置の製造業者を認証し、製造業者がコンピュータ化装置
のプロビジョニングを管理できるようにするポータル、及び/又はプロビジョニングコン
トローラへ動作可能なように接続され、コンピュータ化装置の設置業者を認証し、設置業
者がコンピュータ化装置のプロビジョニングを管理できるようにするポータル、及び/又
はプロビジョニングコントローラへ動作可能なように接続され、コンピュータ化装置の調
整業者を認証し、調整業者がコンピュータ化装置のプロビジョニングを調整できるように
するポータルをさらに含んでよい。
さらに別の実装において、プロビジョニングコントローラはさらに、デジタルアセット
(例えば、実行可能ソフトウェアイメージ)を、コンピュータ化装置に読み込ませるため
、ディストリビュータ装置へ送信する働きをしてよい。さらに別の実装において、プロビ
ジョニングコントローラはさらに、デジタル装置に関連し、デジタル装置のプロビジョニ
ング活動に関する情報を保存するログを作成及び保守する働きをしてよく、ディストリビ
ュータ装置はさらに、デジタル装置に関係するプロビジョニング活動に関する情報を、ロ
グに保存するため、プロビジョニングコントローラへ送信する働きをしてよい。
さらに別の実装において、プロビジョニングコントローラはさらに、デジタルアセット
を送信することをデジタルアセット管理システムに指図する前に、デジタル装置を認証す
る働きをしてよい。
本明細書に組み込まれ本明細書の一部を成す添付の図面は、本発明の実装を例証し、こ
の説明と共に本発明の原理を解説するものである。
本発明の実装と一致する、セキュアなプロビジョニングのためのシステムの一例を示すブロック図である。 本発明の実装と一致する、コンピュータ化装置をセキュアにプロビジョニングするプロセスの一例を示すスイムレーン図である。 本発明の実装と一致する、コンピュータ化装置をセキュアにプロビジョニングするプロセスの別の一例を示すスイムレーン図である。 本発明の実装と一致する、メッセージキューを備えた拡張可能でセキュアなデジタルアセット管理システムを実装するシステムの一例のブロック図の第1の部分である。 本発明の実装と一致する、メッセージキューを備えた拡張可能でセキュアな証明書管理システムを実装するシステムの一例のブロック図の第2の部分である。 本発明の実装と一致する、証明書などのクレデンシャルをセキュアに提供するプロセスの一例を示すスイムレーン図の第1の部分である。 本発明の実装と一致する、証明書などのクレデンシャルをセキュアに提供するプロセスの一例を示すスイムレーン図の第2の部分である。 本発明の実装と一致する、双方向メッセージキューを備えた拡張可能でセキュアな証明書管理システムを実装するシステムの一例のブロック図の第1の部分である。 本発明の実装と一致する、双方向メッセージキューを備えた拡張可能な証明書管理システムを実装するシステムの一例のブロック図の第2の部分である。 本発明の実装と一致する、ロードバランサを備えた拡張可能でセキュアな証明書管理システムを実装するシステムの一例のブロック図の第1の部分である。 本発明の実装と一致する、ロードバランサを備えた拡張可能でセキュアな証明書管理システムを実装するシステムの一例のブロック図の第2の部分である。 本発明の実装と一致する、ラウンドロビン要求を伴う拡張可能でセキュアな証明書管理システムを実装するシステムの一例のブロック図である。 本発明の実装と一致する、作業負荷に基づく要求を伴う拡張可能でセキュアな証明書管理システムを実装するシステムの一例のブロック図である。 本発明の実装と一致する、メッセージキューを備えた拡張可能でセキュアなデジタルアセット管理システムを実装するシステムの一例のブロック図の第1の部分である。 本発明の実装と一致する、メッセージキューを備えた拡張可能でセキュアな証明書管理システムを実装するシステムの一例のブロック図の第2の部分である。 本発明の実装と一致するシステム及び方法をホストするために使用されてよいコンピューティングシステムの一例のブロック図である。
これより、添付の図面に例が示された本発明の様々な実装を参照する。都合がよければ
、図面の全体を通じて同じ部分や同様の部分は同じ参照番号を用いて指示される。
現場で安全かつ適正な動作を徹底するには、組込み型装置を、例えば車両に使われる電
子制御装置(ECU)を、製造中にセキュリティアセットなどのデジタルアセットをプロ
ビジョニングすることによって適切に初期化する必要がある。デジタルアセットは、様々
な暗号鍵、一意な識別子、デジタル証明書、及びソフトウェアを含み得る。ほとんどの場
合、これらのデジタルアセットの出所と製造工場は、セキュアではないインターネット通
信で相互接続された別々の地理的場所にある。したがって、これらのデジタルアセットの
出所から装置にかけてエンドツーエンドのセキュアな経路を作ることにより、悪意のある
当事者によって、又は事故により、デジタルアセットがアクセスされたり改変されたりす
るのを防ぐことが望ましい。
TLS/SSLなどのエンドツーエンド保護のための従来のネットワークセキュリティ
プロトコルには、両通信当事者に事前共有鍵かある種のシークレットセキュリティマテリ
アルをあらかじめ必要とするという欠点がある。これは、デジタルアセットをプロビジョ
ニングするには、何らかの最初のシークレットマテリアルがあらかじめ存在しなければな
らないという循環的な技術的問題を引き起こす。この問題は、最初のシークレットマテリ
アルをどのように保護すればいいかということを含む。ロジスティックスを簡素化するた
めに、通常は製造中に単一バージョンの最初のソフトウェアがコンピュータ化装置に搭載
されるので、この問題はコンピュータ化装置の場合に特に深刻となる。この最初のソフト
ウェアが最初のセキュリティマテリアルを包含しなければならない場合は、広域的な秘密
が存在することになる。結果的に、最初のセキュリティマテリアルがセキュリティ侵害さ
れると、同じ広域的な秘密を共有する全ての装置にプロビジョニングされた全てのデジタ
ルアセットのセキュリティ侵害につながる。本開示と一致するシステム、方法、及び装置
は、これらの問題や従来のプロビジョニングシステムの他の問題に対処する。
プロビジョニングは、適切なデータやソフトウェアでコンピュータ化装置を準備するた
めに行われる一連の作業を通常指す。これは、装置をその運用環境内に適切に設置して運
用可能な状態にするために行われる一連の作業も含み得る。作業は、装置のデジタルスト
レージ(例えば、メモリ)に適切なデジタルアセット(例えば、オペレーティングシステ
ム、デバイスドライバ、ミドルウェア、アプリケーション、デジタル証明書など)を読み
込ませることを含み、さらに(必要に応じ)装置で特定のデジタルアセットを適切にカス
タマイズし構成することを含み、これらのデジタルアセットは個々の装置に固有である場
合がある。作業は、コンピュータ化装置が模造品や偽造装置ではなく、正規の装置製造業
者によって製作された正規の装置であることを確認することも含み得る。
作業は、装置をその運用環境に正しく設置し、これを試験してこれが正常に作動するこ
とを確認することも含み得る。装置がある1つの製造業者によって製造され、後ほど別の
製造業者によってより大規模なシステムや装置に設置されることがあるため、例えば、部
品製造業者によって製造された車載装置(OBU)が自動車製造業者によって製造された
自動車に設置されることがあるため、良好であることが判明している装置だけをセキュア
にプロビジョニングするのは複雑である。不適切に設置された装置は不適切に機能するお
それがある。
本発明と一致する様々な実装は、IoT装置を含むコンピュータ化装置のセキュアなプ
ロビジョニングを提供する。かかる実装は、コンピュータ化装置によって使用されるデジ
タルアセットの悪意のある、不注意な、又は間違った、改ざん、変更、更新、又はリリー
スを予防又は阻止し、コンピュータ化装置とそのソフトウェアの不適切な設置/インスト
ールを予防又は阻止する働きをする。
本発明と一致する様々な実装は、セキュアなプロビジョニング過程の監査ログ、記録、
報告書などをも作成でき、これらは、後ほど見つかった問題の分析や解決に役立てること
ができる。
本発明と一致する様々な実装は、セキュアなプロビジョニング及び管理プラットフォー
ムも提供でき、これはサービスの形で装置製造業者やシステム製造業者に提供できる。
図1は、本発明の実装と一致する、コンピュータ化装置のセキュアなプロビジョニング
のためのシステム100の一例を示すブロック図である。図1の例に示されているように
、システム100はプロビジョニングコントローラ120を含む。プロビジョニングコン
トローラ120は、組込み型ハードウェア・セキュリティ・モジュール(HSM)を備え
たサーバコンピュータ(例えば、少なくとも1つのプロセッサと関連メモリとを有する)
として実装されてよく、このHSMはデジタルセキュリティアセットをセキュアに生成し
て保存し、様々な暗号計算や機密計算をセキュアに遂行する。HSMは、暗号鍵などのデ
ジタルセキュリティアセットと他の機密データを攻撃者によるアクセスから守る。様々な
実装において、プロビジョニングコントローラ120は、システム100のユーザを認証
し、かつこれとセキュアに通信し、1つ以上のディストリビュータ装置108、131と
セキュアに通信し、かつこれを管理し、デジタルアセット管理システム(DAMS)11
0とセキュアに通信し、かつこれの動作を指図し、プロビジョニング記録を作成及び保存
し、プロビジョニング記録を作成、保存、及び配信し、監査ログを作成、保存、及び配信
し、DAMS110とディストリビュータ装置108、131の各部を暗号的に結合する
ために証明書を作成及び配信し、ユーザや管理対象装置が信頼できなくなった場合にこれ
らを必要に応じて取り消し、業務継続や災害復旧のための遠隔保存のために重要な鍵やデ
ータのセキュアで暗号化されたバックアップを作成及び配信する働きをする。
図1の例に示されているように、プロビジョニングコントローラ120はデータベース
125へ通信可能なように接続されており、データベース125は、装置106a、10
6b(106と総称される場合がある)をセキュアにプロビジョニングすることに関係す
るデータ、情報、及びデジタルアセットを保存できる。
プロビジョニングコントローラ120は製造業者のユーザポータル115にも通信可能
なように接続されており、製造業者のユーザポータル115は、例えばサーバとして、又
はプロビジョニングコントローラ120に対するインターフェイスとして、実装されてよ
い。様々な実装において、装置製造業者105のスタッフ109は製造業者のユーザポー
タル115を使用することでプロビジョニングコントローラ120と(延いてはDAMS
110と)インターフェイスをとり、自身の装置プロビジョニング作業を管理することが
できる。様々な実装において、製造業者のユーザポータル115は、ユーザ名、パスワー
ド、2要素識別データ、顔認識画像、指紋、などをはじめとする識別情報をスタッフユー
ザ109から収集し、その識別情報をプロビジョニングコントローラ120に提供するこ
とできる。プロビジョニングコントローラ120は、スタッフ109がセキュアなプロビ
ジョニングシステム100にアクセスすることを許可する前に、スタッフ109を認証で
きる。例えば、プロビジョニングコントローラ120は、あらかじめ検証されデータベー
ス125に保存されているスタッフユーザ109に関連する識別情報を調べ、保存されて
いる識別情報を製造業者のユーザポータル115によって収集された識別情報に比較する
ことができる。代わりに、プロビジョニングコントローラ120又はDAMSユーザポー
タル115は、ユーザの会社の識別認証システムと一体化されてもよく、これがスタッフ
109にシステム100の使用が許可されているかどうかを判断する。様々な実装におい
て、プロビジョニングコントローラ120又はDAMSユーザポータル115は、正常に
認証されたスタッフ109に役割を与えることで、システム100の中でのスタッフの活
動を制限することができる。いくつかの例において、プロビジョニングコントローラ12
0は、2つのセットの識別情報が一致する場合に限りアクセスを許可できる。
同様に、プロビジョニングコントローラ120は設置業者ユーザポータル116にも通
信可能なように接続されており、設置業者ユーザポータル116は、例えばサーバとして
、又はプロビジョニングコントローラ120に対するインターフェイスとして、実装され
てよい。様々な実装において、装置設置業者のスタッフ132は設置業者ユーザポータル
116を使用することでプロビジョニングコントローラ120と(延いてはDAMS11
0と)インターフェイスをとり、自身の装置設置作業とプロビジョニング作業を管理する
ことができる。プロビジョニングコントローラ120は、スタッフ132を許可する前に
スタッフ132を認証でき、スタッフ132がセキュアなプロビジョニングシステム10
0にアクセスしてシステムに対して認可された機能を遂行することを許可する前に、スタ
ッフ132に役割を割り当てることができる。
同様に、プロビジョニングコントローラ120は調整業者ポータル117にも通信可能
なように接続されており、調整業者ポータル117は、例えばサーバとして、又はプロビ
ジョニングコントローラ120に対するインターフェイスとして、実装されてよい。様々
な実装において、かつてプロビジョニングコントローラ120によって認証された調整業
者140は、調整業者ポータル117を使用することでプロビジョニングコントローラ1
20とインターフェイスをとり、製造業者104、設置業者130、装置106、及び/
又は装置106にインストールされたソフトウェア/デジタルアセットの審査と承認を管
理することができる。プロビジョニングコントローラ120は、調整業者140がセキュ
アなプロビジョニングシステム100にアクセスすることを許可する前に、調整業者14
0を認証できる。システム100の一部の実装において、調整業者140と調整業者ポー
タル117は任意選択的である。
プロビジョニングコントローラ120はさらに、DAMS110へ通信可能なように接
続されている。様々な実装において、DAMS110は、サーバ、装置、又はセキュアな
装置及び/又はサーバから成るシステムとして実装されてよい。DAMS110は、プロ
ビジョニングされるエンドエンティティ装置から、ディストリビュータ装置108、13
1を通じて、又は他のセキュアで認証された接続を通じて、公開鍵をセキュアに検索し、
装置106にインストールされているデジタル証明書と関連データをセキュアに供給する
。加えて、DAMS110は、製造業者105と設置業者130からディストリビュータ
装置108、131を通じて、コンピュータ化装置106のプロビジョニング、設置、機
能、などに関するステータス情報をセキュアに受信する。加えて、DAMS110は、図
1に示されているように、このプロビジョニングを、単一の場所で、又は複数の場所で、
遂行できる。図2に関してさらに詳しく説明するように、DAMS110は以下の主要要
素、すなわち、ルート証明書局(CA)、ポリシージェネレータ、CRLジェネレータ、
不正行為局、中間CA、加入CA、結合局、匿名CA、及び登録局を含んでよい。
DAMS110は、William Whyteらによる論文「A Secure C
redential Management System for V2V Comm
unications」2013 IEEE車両ネットワーキング会議、2013年12
月に記載されたコンポーネント及び機能に新しい機能を加えて向上する。様々な実装にお
いて、DAMS110は多段式プログラミングと柔軟な管理(例えば、調整業者140の
導入を許可)を含む。DAMS110の様々な実装はまた、単一のDAMS110が様々
なサブスクライバに対して様々なレベルのプロビジョニングを提供することを許可する能
力を可能にする。DAMS110の様々な実装はまた、サブスクライバがある程度の期間
中(例えば、1週間)に様々なデジタル証明書使用を割り当てること、並びに様々な証明
書ロード(従来のシステムのような3年の代わりに1週間など)を割り当てることを許可
する能力を可能にする。DAMS110の様々な実装はまた、サブスクライバ固有URL
を提供でき、これにより、特定の製造業者のコンピュータ化装置106(例えば、OEM
の車両)は、その製造業者の領域内にとどまることができる(例えば、製造業者のURL
は製造業者の名称を示す)。
図示されているように、プロビジョニングコントローラ120はディストリビュータ装
置108、131にも通信可能なように接続されている。様々な実装において、ディスト
リビュータ装置108、131は、とりわけ、(図示されているように)会社の構内に設
置された単独でセキュアな装置として、あるいはウェブ又はクラウドサービスとして、実
装されてよい。様々な実装において、ディストリビュータ装置108、131は、望まし
くはインターネット以外の専用通信経路を通じて、DAMS110やプロビジョニングコ
ントローラ120を相手にデジタルアセットや他の情報をセキュアに送受信する信頼され
たエンドポイント装置として実現される。図示されているように、ディストリビュータ装
置108、131はまた、装置106a、106bへデジタルアセットをダウンロードす
るため、また装置106a、106bからデータを受信するため、装置106a、106
bと直接的に、又は間接的に、接続する。様々な実装において、ディストリビュータ装置
108、131は、ハードウェア・セキュリティ・モジュール(HSM)、強化されたオ
ペレーティングシステム(OS)、内部ファイアウォール、及び内部ホスト侵入検知/予
防システムを備えたサーバコンピュータ(例えば、少なくとも1つのプロセッサと関連メ
モリとを有する)を内包する箱として実装できる。ディストリビュータ装置は信頼できな
い環境内で動作しても、信用し信頼できる動作を提供するように特別に設計されてよい。
ディストリビュータ装置は、自身と、セキュアなプロビジョニングコントローラ120及
びDAMS110との間に、セキュアな通信経路を有する。この経路は、ディストリビュ
ータ装置を制御するために、また、プロビジョニング関連のデータやログ情報を送信し検
索するために、使用される。ディストリビュータ装置はまた、装置106のプログラミン
グかプロビジョニングに使用する試験装置107に対するセキュアな通信経路を有してよ
い。この経路は、製造現場の通信ネットワークでプロビジョニングデータやログデータが
漏洩したり改変されたりするのを防ぐ。ディストリビュータ装置108はまた、プログラ
ミングされる装置106とのセキュアな通信経路を直接確立してよく、これにより、(不
正な試験装置107を含む)サードパーティによるプロビジョニングデータのセキュリテ
ィ侵害や改変はできなくなる。様々な実装において、ディストリビュータ装置は、プロビ
ジョニングの対象となる装置106から公開鍵やマイクロプロセッサシリアル番号などの
他データを収集できる。ディストリビュータ装置は、この情報をプロビジョニングコント
ローラ120及び/又はDAMS110へ送信できる。ディストリビュータ装置はまた、
プロビジョニングコントローラ120及び/又はDAMS110からデータやコマンドや
他の情報を、装置106にプログラミングするために、受け入れることができる。ディス
トリビュータ装置は、自身のログデータを返すことができ、また試験装置107からのデ
ータをプロビジョニングコントローラ120及び/又はDAMS110に返すことができ
る。
装置製造業者105に関して図示されているように、ディストリビュータ装置108は
試験装置107(例えば、コンピュータ化された製造装置、製品試験装置など)へ通信可
能なように接続されてよく、試験装置107は、OBU装置など、製造業者105によっ
て製造された装置106aに接続される。製造業者105は、コンピュータ化装置106
aを製造する、及び/又は市場に供給する、工場を含んでよく、あるいは該工場であって
よい。数ある可能な例の一例として、コンピュータ化装置106aは、車載装置(OBU
)の一部として設置され、自動車と輸送インフラ装置との通信のために後ほど自動車に設
置される遠隔通信用セルラーモデムに使用される組込み型汎用集積回路カード(eUIC
C)であってよい。コンピュータ化装置106aは、他の車両や沿道装置(RSU)との
通信のためにOBUに設置されるV2Vのためのセキュアなマイクロプロセッサであって
もよい。これらの新たに製造された装置106aは、正常に動作するために、デジタルア
セット、例えばDAMS110からのデジタル証明書で、適切にプロビジョニングしなけ
ればならない。製造業者105のスタッフ109は、ユーザポータル115を使用してプ
ロビジョニングコントローラ120とやり取りし、DAMS110による製品プロビジョ
ニング活動を管理することができる。
設置業者130に関して図示されているように、ディストリビュータ装置131は、代
わりに、装置106bがその運用環境に設置されている最中か設置された後に、装置10
6bに通信可能なように直接接続されてもよい。設置業者130は、コンピュータ化装置
106bをその運用環境に設置する、例えばOBUを自動車に設置する、工場又は作業場
を含んでよく、あるいは該工場又は作業場であってよい。コンピュータ化装置106bは
、正常に動作するために、設置時に、デジタルアセットで、例えばDAMS110からの
追加のデジタル証明書で、さらに適切にプロビジョニングしなければならない。設置業者
130のスタッフ132は、設置業者ユーザポータル116を使用して、プロビジョニン
グコントローラ120とやり取りし、DAMS110による製品プロビジョニング活動を
管理することができる。
様々な実装において、プロビジョニングコントローラ120、ディストリビュータ装置
108、131、及びDAMS110は、それらの間にセキュアで公的にはアクセス可能
でない通信リンク又は経路を有してよく、様々な実装において、図1に示された通信リン
クはいずれも、セキュアで公的にはアクセス可能でない通信経路であってよい。様々な実
装では、このセキュアなインフラの中で認可されていないエンドポイントが通信するのを
防ぐため、これらのセキュアな経路は暗号化され、相互認証される。これらの通信経路を
保護するために複数のセキュリティ機構が使用されてよく、これにより、外側の層がどう
にかしてセキュリティ侵害されても、内側の層はセキュアな状態を保つ。一例として、外
側の層として相互認証TLSトンネルを使用してよく、内側の層には独自のセキュア通信
プロトコルなどの別のプロトコルを使用してよい。システム100を備えるインフラコン
ポーネント間のこれらのセキュアな接続は、コンポーネント間の機密通信を保護して、そ
れらの適正動作を保証するために使用される。これらのセキュアな経路を使用することで
、プロビジョニングコントローラ120とDAMS110は、デジタルデータが送信中に
セキュリティ侵害又は改変されることを心配せずに、コンポーネント間でデジタルデータ
を送信できる。これらの経路ではコマンドや制御情報を渡すこともできる。例えば、プロ
ビジョニングコントローラ120は、何らかのデジタルアセットやデータの送信先にあた
るディストリビュータ装置108、131がどれなのかを操作できる。プロビジョニング
コントローラ120は、プロビジョニングしている製造ライン上の装置106にこのデー
タをメータアウトする方法をディストリビュータ装置108、131に教えることもでき
る。さらに、ディストリビュータ装置108、131は、情報が送信中にセキュリティ侵
害又は改変されることを気にせずに、プロビジョニングコントローラ120に情報を折り
返し報告できる。例えば、セキュアなプロビジョニングコントローラ120は、何らかの
種類のデジタルアセットで、例えば、証明書、ソフトウェア、ヒューズコンテントなどで
、最高10,000台の装置をプロビジョニングするようにディストリビュータ装置10
8、131をプログラミングできる。ディストリビュータ装置108、131はプロビジ
ョニングしている装置を数えることができ、これがその限度に達すると、その旨をプロビ
ジョニングコントローラ120に報告する。様々な実装において、プロビジョニングコン
トローラ120によって管理される装置(例えば、108、110、131、115、1
16、117)は、それらの装置がプロビジョニングコントローラ120と定期的に通信
しない場合に、それらの装置が動作するのを止めさせる機能を含んでおり、これにより、
それらの装置が盗まれた場合は、それらの装置は使い物にならなくなる。この機能は、失
われた/盗まれた装置があたかも正規の製造環境の中にまだ設置されているかのように作
動して装置106をプロビジョニングし続けるのを防ぐ。
図1に示された例を引き続き参照すると、操業中に、製造業者105にあるディストリ
ビュータ装置108は、DAMS110からデジタルアセットをセキュアに受信し、それ
らを装置106aの試験装置107に供給する。それぞれの装置106aが製造業者10
5によって製造されると、試験装置107は装置106aと通信して、装置106aの一
意な識別番号やステータスなどの情報を装置106aから取得し、デジタル証明書などの
デジタルアセットを装置にダウンロード又はインストールする。試験装置107はまた、
装置106aからの情報(例えば、プロビジョニングステータス)をディストリビュータ
装置108に供給でき、ディストリビュータ装置108はその情報をDAMS110及び
/又はプロビジョニングコントローラ120にセキュアに伝達する。一部の実装において
、試験装置107は、ディストリビュータ装置108と装置106aとの間でデータをセ
キュアにトランスポートするソフトウェアトランスポート層セキュリティ(TLS)エー
ジェントを含んでよく、これは、それぞれの装置106aに対応付けられた一時的な鍵を
使用して、DAMS110と装置106aの間にディストリビュータ装置108と試験装
置107を経由するセキュアで暗号化された通信路を実質的に形成する。
製造業者105は、装置106aが最初にプロビジョニングされた後に装置106aを
設置業者130へ出荷し、設置業者130は装置106bを設置する。様々な実装におい
て、装置106aは最初のプロビジョニングの前に機能せず、製造業者105による最初
のプロビジョニングの後に、装置106aは部分的には機能できるが、まだ完全には機能
しない。かかる実装において、最初のプロビジョニングは、設置を行うのに必要な程度ま
で、また装置を完全に運用可能にするために必要なさらなる最終プロビジョニングを行う
のに必要な程度まで、装置が機能するようにするのみである。
設置業者130は装置106bをその運用環境に設置し、設置業者130のスタッフメ
ンバー132は設置業者ポータル116を通じてプロビジョニングコントローラ120に
その旨を通知する。この通知は設置が適切に完了したことを証明するものであり、望まし
くは、プロビジョニングコントローラ120に対して装置106bを一意的に識別する情
報を含む。一部の実装において、ディストリビュータ装置131は、装置106bにステ
ータスと識別情報を問い合わせた後に、プロビジョニングコントローラ120に自動的に
通知できる。設置業者130が装置106bを適切に設置したことを設置業者ポータル1
16を通じて証明する様々な実装では、この証明がプロビジョニングコントローラ120
によってデータベース125に記録/保存されてよい。この証明は、無線伝送電力測定や
GPSアンテナ位置確認といった特定の設置済み装置106bに関連する特定の試験デー
タを含んでよい。
設置通知に応答して、プロビジョニングコントローラ120は、(i)装置106bが
製造業者105によって合法的に製造された装置としてデータベース125に列挙されて
いること、(ii)装置106bが最初に製造業者105によって正常にプロビジョニン
グされたものとしてデータベース125に列挙されていること、(iii)設置業者13
0が認可された設置業者としてデータベース125に列挙されていることを検証する。こ
の検証に成功すると、コントローラ120は、装置106bを運用可能な形にプロビジョ
ニングするのに必要なデジタルアセット(例えば、匿名証明書(PC))及び/又は他の
情報を送信することをDAMS110に指図し、このプロビジョニングにより、装置10
6bは運用環境に設置されたものとして正常に機能できるようになる。
様々な実装において、調整業者140は調整業者ポータル117を通じてプロビジョニ
ングコントローラ120とやり取りして、設置業者130及び/又は製造業者105を識
別、検証、及び管理して、認可されていない設置業者(例えば、ハッカー)がシステム1
00から真正のデジタルアセットを得ることができないようにする。調整業者140のス
タッフメンバーはプロビジョニングコントローラ120によって認証でき、システム10
0で一意なIDを持つことができるため、スタッフメンバーの活動は一意的に記録できる
。様々な実装において、調整業者140は調整業者ポータル117を使用してプロビジョ
ニングコントローラ120に問い合わせを行い、証明報告書、設置業者活動、製造された
装置106aの数及び識別情報、設置され完全にプロビジョニングされた装置106bの
数及び識別情報など、コントローラ120によって記録される情報のコピーや報告書を入
手することができる。
様々な実装において、設置業者130がシステム100とやり取りするには、プロビジ
ョニングコントローラ120によって認可済みの設置業者として認証されなければならな
い。認可されるためには、設置業者130は、例えば、設置業者130が対象となる環境
(例えば、対象となる車両又は場所など)に装置106bを適切に設置することを述べた
然るべき契約書を履行しなければならない場合がある。設置業者130は、例えば、調整
業者140によって他の契約内容を証明することが求められる場合がある。望ましくは、
それぞれの設置業者130がシステム100の中で一意なIDを持ち、これにより、設置
業者130の活動をプロビジョニングコントローラ120によって一意的に記録できる。
システム100とその機能の説明されている実装は、製造業者105によって製造され
、認可された設置業者130によって適切に設置及び試験された装置106だけが、装置
106を運用可能にするのに必要なデジタルアセットで完全にプロビジョニングされるこ
とを保証する。プロビジョニングコントローラ120は、プロビジョニング工程の各段階
で誰によってどのような作業が行われたかを伝える幅広いログや報告書を作成し、従来の
システムにはなかった重要な監査能力を提供する。
当業者なら、図1に示されたコンポーネント、プロセス、データ、工程、及び実装の詳
細が、説明を簡潔かつ明確にするために提示された例であることを認めるであろう。この
例は制限することを意図しておらず、また数多くのバリエーションが可能であるため、本
発明の原理から逸脱せずに、別のコンポーネント、プロセス、実装の詳細、及びバリエー
ションを使用することもできる。例えば、図1にはただ1つの製造業者105と、ただ1
つの設置業者130と、ただ1つの調整業者140が示されているが、他の実装では、こ
れらの各エンティティがいくつあってもよい。別の一例として、DAMS110とプロビ
ジョニングコントローラ120は別々の装置として示されているが、別の実装では、それ
らの機能を単一の装置、例えば単一のサーバに、まとめてよい。さらに別の一例として、
ポータル115~117についても同じことができる。さらに別の一例として、システム
100は、参照により援用される2016年11月14日に出願された米国仮出願第62
/421,852号に記載されているようなアセット管理装置(AMA、図示せず)を追
加で含むことができる。かかる実装において、AMAは、プロビジョニングコントローラ
120、及び/又はディストリビュータ装置108、131、及び/又はDAMS110
へ通信可能なように接続されてよい。様々な実装において、AMAは、使い勝手の良いG
UIと、生産調整役が製品(例えば、装置106)の構成や構造を簡単かつ効率的に管理
し、かつアセット所有者がデジタルアセットの在庫を簡単かつ効率的に管理することを可
能にする機能とを含んでよい。
図2は、本発明の実装と一致する、コンピュータ化装置をセキュアにプロビジョニング
するプロセス200の一例を示すスイムレーン図である。様々な実装において、示されて
いるプロセス200又は工程の一部又は全部は、汎用コンピューティングシステム(1つ
以上のプロセッサ、又は1つ以上のコンピューティングサブシステムを含み得る)で実行
するコードによって、ハードウェアのみのシステムによって、又はこれら2つのハイブリ
ッドであるシステムによって、遂行されてよい。図2の上部にまたがって示されているよ
うに、プロセス200に関わるエンティティは、コンピュータ化装置106の製造業者1
05と、製造業者105にあるディストリビュータ装置108と、プロビジョニングコン
トローラ120と、DAMS110とを含む。様々な実装において、これらのエンティテ
ィは、図1に関して説明されている通りであってよく、また本開示の全体を通じて説明さ
れている通りであってよく、互いに通信してよい。
図2の例に示されているように、プロセス200は205で始まり、ここで製造業者1
05(例えば、スタッフメンバー109)は、装置106aにプロビジョニングされる(
例えば、装置106aによって使用される)デジタルアセットのためにデジタルアセット
プロビジョニングサービスをプロビジョニングコントローラ130に要求し、この要求は
デジタルアセットの行先にあたる装置106aを特定できる。要求は、例えば、製造業者
105が新しい製品106Aのプロビジョニングサービスを要求するものであってよく、
あるいは既存の製品106Bのために新たなプロビジョニングサービス要求を行うもので
あってもよい。様々な実装において、この工程は、認可されたユーザが、例えばユーザポ
ータル115を通じて、プロビジョニングコントローラ130にログオンする作業を伴う
場合がある。いくつかの場合において、要求されるデジタルアセットは、加入証明書、装
置106が実行する実行可能コード、デジタル動作パラメータといったセキュアなクレデ
ンシャルであってよい。加入証明書は、そのホルダをエコシステム内の認可されたパーテ
ィシパントとして識別する公開鍵証明書であり、このエコシステムの中では、全てのパー
ティシパントが有効な加入証明書を所持しなければならず、(米国運輸省のV2Xエコシ
ステムなど)、認可されたパーティシパントは、エコシステム内での装置106の通信及
び動作を可能にする匿名証明書を受け取ることもできる(例えば、米国運輸省のV2Xエ
コシステムの例で、車両と沿道インフラとの通信及び動作を可能にするため)。
210では、製造業者のユーザ109が認可されたユーザであるか否かをプロビジョニ
ングコントローラ120が判断する。一部の実装において、プロビジョニングコントロー
ラ120は、プロビジョニングされる装置106a(例えば、製品)がシステム100で
の使用が承認されているか否かも210で判断できる。場合によっては、図1の調整業者
140によって承認済み装置のリストが提供され、この判断を下すにあたってプロビジョ
ニングコントローラ120によって使用されてよい。
プロビジョニングコントローラ120は、ユーザ(及び/又は製品)が認可されていな
い場合に、デジタルアセットプロビジョニングサービスの要求を拒絶する(図2に図示せ
ず)。一方、認可されているユーザが(例えば、認可された製品のための)要求を行って
いる場合(210、はい)、プロビジョニングコントローラ120は、例えば、(215
で)サービス要求命令をDAMS110に送信することによって、DAMS110がサー
ビス要求を履行するように指図、命令、又は制御する。
220では、DAMS110が、215からの要求の受信に応答して、また215から
の要求の受信を条件として、要求に基づいて装置106aに対するサービスを始めるため
に自身を構成する。一部の実装において、DAMS110は、装置106aにサービスを
行う形にディストリビュータ装置108を構成するために、ディストリビュータ装置10
8へ命令を送信することもできる(図示せず)。
222では、DAMS110が205で要求された装置106aのためのデジタルアセ
ットを生成する、作成する、計算する、及び/又は検索する。様々な実装において、DA
MS110は、公開及び秘密鍵対といった要求されたデジタルセキュリティアセット、並
びに装置106aのための加入証明書や匿名証明書を、作成又は生成することができる。
工程222の代替の実装において(図2に図示せず)、DAMS110は、装置106
aによって生成され装置106aから検索される加入及び匿名用公開鍵などの装置106
aに関連するデジタルアセット生成用情報と、装置106aを一意的に識別するデータ(
例えば、マイクロプロセッサシリアル番号)とを、ディストリビュータ装置108に要求
し、ディストリビュータ装置108から受信する。かかる実装において、DAMS110
はその後、加入及び匿名用公開鍵を使用してデジタルアセット、例えば、装置106aの
ための加入証明書と適当数の匿名証明書とを生成する。
225では、DAMS110が、205でデジタルアセットサービスを要求した製造業
者105のディストリビュータ装置108へデジタルアセットを送信する。例えば、DA
MS110は、公開・秘密鍵対と、加入証明書と、匿名証明書とを製造業者105のディ
ストリビュータ装置108へセキュアに送信できる。
226では、DAMS110がデジタルアセットに関するログ情報をプロビジョニング
コントローラ120へ送信する。様々な実装において、ログ情報は、要求元のID、デジ
タルアセットのID、ディストリビュータ装置のID、要求作業と送信作業のタイムスタ
ンプ、受信したマイクロプロセッサシリアル番号などをはじめとする、デジタルアセット
の要求と転送を記述する情報を含んでよい。一部の実装において、ログ情報はデジタルア
セットのコピーを含んでよい。227では、プロビジョニングコントローラ120がログ
情報を受信し、例えばデータベース125にログ情報を保存する。プロビジョニングコン
トローラ120はシステム100内で起きる全活動の監査証跡を実質的に管理し、これに
より、製造業者105によっていくつの装置106aがいつ製造されプロビジョニングさ
れたかに関するデータなど、多くの種類のデータをまとめることができる。そのようなデ
ータやログ情報は請求書の作成、並びに監査の目的に使用できる。
230では、ディストリビュータ装置108がDAMS110によって送信されたデジ
タルアセット(例えば、公開・秘密鍵対、加入証明書、及び匿名証明書)を受信し、保存
する。
235では、ディストリビュータ装置108が、ディストリビュータ装置108から装
置106aへデジタルアセットをセキュアに転送するのに使用することができる公開鍵な
どのデジタルセキュリティアセットを装置106aに要求し、装置106aから受信する
。様々な種類の装置106aは、ことによると装置106に組み込まれたセキュアなプロ
セッサを使用して一時的な鍵対を生成する能力を有しており、公開鍵はこの一時的な鍵対
の一部であってよい。240では、ディストリビュータ装置108がデジタルセキュリテ
ィアセット(例えば、公開鍵)を使用して装置106aへデジタルアセット(例えば、加
入証明書)をセキュアに送信する。様々な実装において、ディストリビュータ装置108
は装置106aの公開鍵を使用して、例えば装置106aとの仮想プライベートネットワ
ーク(VPN)を形成し、その中でデジタルアセットをセキュアに送信することができる
様々な実装において、ディストリビュータ装置108はディストリビュータ装置108
と試験装置107との間にトランスポート層セキュリティ(TLS)を使用し、装置10
6aに接続されることがある試験装置107との通信をセキュアなものにする。装置10
6aに直接的でセキュアな通信を用意することが望まれる実装では、システムが装置10
6aで一時的な公開鍵対を作成し、その公開鍵を、ディストリビュータ装置108の公開
鍵を含むディストリビュータ装置108からの証明書と併せて使用し、装置106aに対
するセキュアなトンネルを作ることができる。かかる実装において、装置106aは、シ
ステム100のルート公開鍵を含む特殊なコードを実行して、ディストリビュータ装置1
08が装置106aに送信する証明書を確認する。
装置106a又は試験装置107とディストリビュータ装置108との間にセキュアな
経路が確立されると、装置106aはその後、(例えば、V2Xエコシステムのための)
加入・匿名用公開鍵対を作成し、それらの公開鍵と他のデータをディストリビュータ装置
108へエクスポートすることができ、ディストリビュータ装置108はその後、このデ
ータをDAMS110とプロビジョニングコントローラ120へ送信できる。工程222
の代替実装に関して上述したように、DAMS110は受信した公開鍵を使用して加入証
明書と匿名証明書を作成できるが、一部の実装においては、匿名証明書の数が多くなるこ
とがある(例えば、3000)。この代替実装例では、DAMS110が前述した工程2
25でこれらの証明書をディストリビュータ装置108に返す。いくつかの別の実装にお
いて、DAMS110は、プロビジョニングが行われている場所に応じて、これらの証明
書を、ディストリビュータ装置108の代わりにディストリビュータ装置131へ送信す
ることもできる。
一部の実装において、例えば、装置106が独自の無線又は有線通信機能を有し、かつ
少なくとも部分的に動作可能である場合は、ディストリビュータ装置108は装置106
と直接的に通信できる。別の実装において、ディストリビュータ装置108は、試験装置
107などの中間装置を介して装置106と間接的に通信できる。
装置106aはデジタルアセットを受信し、これを動作中に使用するために保存する。
例えば、装置106aが自動車の車載装置(OBU)か電子制御装置(ECU)であり、
デジタルアセットが無線ネットワークに参加するために必要なセキュリティアセット(例
えば、公開鍵証明書)である場合、このデジタルセキュリティアセットがOBUによって
保存される。後ほど自動車に設置され自動車で作動されたOBUは、無線ネットワークへ
の接続を試みる。ネットワークは、OBUがネットワークに接続することを許可する前に
、OBUの認証を試みる。OBUは、製造業者105のディストリビュータ装置108に
よって提供されたデジタルセキュリティアセットを持っている場合に限り、認証でき、ネ
ットワークに参加できる。
245で、ディストリビュータ装置108は、装置106aが240で送信されたデジ
タルアセットを正常に受信しインストール(例えば、保存)したか否かを伝えるステータ
ス情報を、装置106aから受信する、又は該ステータス情報にアクセスする。
250では、ディストリビュータ装置108がプロビジョニングコントローラ120へ
ステータス情報を送信する。255では、プロビジョニングコントローラ120がステー
タス情報を受信し、工程227で保存されたログ情報と併せて保存する。それゆえ、プロ
ビジョニングコントローラ120は、各装置106に関わる全てのシステム100活動に
ついて監査証跡又は監査ログを継続する。様々な実装において、監査ログは、製造業者の
プロビジョニング(例えば、工程235~245)の失敗の成功、デジタルアセットの識
別情報(及び/又はデジタルアセット自体コピー)、暗号技術の種類などを伝える情報を
装置106ごとに含んでよい。
装置106aがデジタルアセットで正常にプロビジョニングされた場合は、製造業者1
05が270で装置を市場に発売する。例えば、製造会社105は、装置をその動作環境
に設置する会社(例えば、図1の設置会社130)へ装置106aを物理的に出荷できる
。一部の実装において、装置106aはこの時点で完全にプログラミング又はプロビジョ
ニングされてフル機能で動作できる場合があるが、他の実装において、装置106aはこ
の時点で部分的にしかプログラミング又はプロビジョニングされていない場合があり、フ
ル機能で稼働できないか、機能不能である。
図2に示された例は、説明を目的とするものに過ぎず、制限することを意図していない
。さらに、示されているプロセス200は、開示されている特定の実装と一致する新しく
革新的な特定の特徴を明確に説明するためいくぶん簡略化された一例であるが、この例は
制限することを意図しておらず、数多くのバリエーションが可能である。例えば、機能と
工程は特定の順序で遂行されるものとして示されているが、説明されている順序は一例に
過ぎず、開示されている特定の実装に合わせて、これとは異なる様々な順序で工程を遂行
することもできる。さらに、工程は専ら説明の目的のために個別のステップとして説明さ
れているが、一部の実装においては、複数の工程が同時に遂行されてもよく、及び/又は
単一の計算の一部として、又はより大規模な工程の一部として、遂行されてもよい。説明
されている工程は、網羅的であること、制限すること、又は絶対的であることを意図して
おらず、様々な工程を修正、挿入、又は削除できる。バリエーションの一例として、図2
は単一のデジタルアセット(例えば、単一のデジタル証明書)の脈絡で概ね説明されてい
るが、システムとプロセスは複数のデジタルアセット(例えば、2つ以上のデジタル証明
書)でも同様に機能して処理する。別の一例として、装置106aがセキュアな通信能力
を持っていない場合は、工程235及び240を削除でき、ディストリビュータ装置10
8は暗号化されていない通信を使用して装置106bと通信できる。
さらに別の一例として、様々な実装において、プロビジョニングコントローラ120又
は特殊な署名装置などの代理局は、同様に、ソフトウェア、ファームウェア、ヒューズブ
ロブ、マニフェストファイルなどをはじめとするデジタルアセットを含む、別のデジタル
アセット又は追加のデジタルアセットを、ディストリビュータ装置108へ送信し、ディ
ストリビュータ装置108から装置106bに読み込ませることができる。かかる実装に
おいて、プロビジョニングコントローラ120は、加えて、又は代わりに、ストレージか
ら要求されたデジタルアセットを検索すること、要求されたデジタルアセットを取得する
こと、又は要求されたデジタルアセットにアクセスすること、又は要求されたデジタルア
セットのアクセスを指図することができる。例えば(図2に図示せず)、プロビジョニン
グコントローラ120又はその認定代理は、装置106aに読み込まれて装置106aに
よって実行される実行可能ソフトウェアイメージ(例えば、データベース125に保存さ
れたコンパイル済みコンピュータプログラム)を検索し、この実行可能ソフトウェアイメ
ージを装置にプログラミングするためディストリビュータ装置10へ送信することができ
る。様々な実装において、プロビジョニングコントローラ120によってアクセスされる
デジタルアセットは、装置106aの製造業者105によってセキュアに供給、リリース
、及び/又は認可されたソフトウェアなどだけで構成されてよく、この場合は、認可され
ていないソフトウェアを装置106aに読み込むことはできない。一部の実装において、
プロビジョニングコントローラ120によって検索されるデジタルアセットは、図1のデ
ータベース125など、プロビジョニングコントローラ120と連係されたストレージデ
バイスやデータベースに保存されてよい。
図3は、本発明の実装と一致する、コンピュータ化装置をセキュアにプロビジョニング
するプロセス200の一例を示すスイムレーン図である。様々な実装において、示されて
いるプロセス300又は工程の一部又は全部は、汎用コンピューティングシステム(1つ
以上のプロセッサ、又は1つ以上のコンピューティングサブシステムを含み得る)で実行
するコードによって、ハードウェアのみのシステムによって、又はこれら2つのハイブリ
ッドであるシステムによって、遂行されてよい。図3の上部にまたがって示されているよ
うに、プロセス300に関わるエンティティは、コンピュータ化装置106の設置業者1
30と、設置業者130にあるディストリビュータ装置131と、プロビジョニングコン
トローラ120と、DAMS110とを含む。様々な実装において、これらのエンティテ
ィは、図1に関して説明されている通りであってよく、また本開示の全体を通じて説明さ
れている通りであってよく、互いに通信してよい。
図3の例に示されているように、プロセス300は305で始まり、ここで設置業者1
30は、製造業者105によって製造され、発売又は出荷された(図2の工程270参照
)装置106b(例えば、OBU又はECU)を受け取る。310では、設置業者130
が、装置106bをその運用環境に、例えばより大規模なシステムに設置することができ
る。例えば、設置業者130は製造業者105からOBUを購入する自動車メーカーであ
ってよく、設置業者130はOBUを自動車に設置することができる。様々な実装におい
て、装置106bの設置は、設置後に装置106bの動作、機能、などを試験することと
、関連ステータスデータを収集することとを含んでよい。
一部の実装において、装置106bは部分的にしかプロビジョニングされておらず、完
全には機能しない場合がある。例えば、装置106bの製造業者105は加入証明書のみ
で装置106bをプロビジョニングしたかもしれず、フル機能を得るためには、例えば、
別の完全にプログラミングされた装置106と通信する機能を得るためには、匿名証明書
などの別のデジタル証明書で装置106bをさらにプロビジョニングする必要がある。
315では、設置業者130(例えば、スタッフメンバー132)がプロビジョニング
コントローラ120へ設置ステータスデータを送信する。様々な実装において、設置ステ
ータスデータは、設置された装置の変更不可能な識別子、例えば、シリアル番号、又は一
旦生成されたら決して消去されない鍵対の公開鍵といった固定され一意的に識別する他の
情報を含む。設置ステータスデータは他の情報を、例えば、設置業者130の一意な識別
子、装置106bがいつどのようにして設置されたかを伝える情報、設置された装置10
6bに行われた試験の結果に関する情報、設置業者130が該当する仕様、契約条件、及
び又は指図に従って装置106bを設置したことを証明する情報、及び/又は他の類似す
る情報を含んでもよい。
320では、設置業者130のユーザが認可されたユーザであるか否かをプロビジョニ
ングコントローラ120が判断する。認可されたユーザではない場合、プロビジョニング
コントローラ120は設置ステータスの連絡を拒絶する(図3に図示せず)。一方、認可
されているユーザが要求を行っている場合(320、はい)、プロビジョニングコントロ
ーラ120は、設置ステータスデータで特定される装置106bが認可された装置である
か否かを判断する(325)。一部の実装において、プロビジョニングコントローラ12
0は、1)そのdbase125に装置106bの記録があること、2)その記録が製造
業者105で装置106bが正常にプロビジョニングされたことを示していること、3)
その記録が(320で認可された設置業者であると確認された)設置業者130へ装置1
06bが送られたことを示していることを、そのデータベース125あらかじめ保存され
ている情報に照らして確認することによって、装置106bが認可されていると判断する
ことができる。
設置ステータスデータで特定される装置が認可されていない場合、プロビジョニングコ
ントローラ120は設置ステータスの連絡を拒絶する(図3に図示せず)。一方、設置ス
テータスデータで特定される装置106bが認可されている場合(325、はい)、プロ
ビジョニングコントローラ120は330で、設置ステータスデータを装置106bに関
連するログ情報と共に保存する。例えば、装置106bに関連するログ情報は、図2の工
程227に関して説明したように、データベース125にあらかじめ保存されたものであ
ってよい。
335で、プロビジョニングコントローラ120は、例えば設置業者130にある装置
106bをプロビジョニングする要求をDAMS110へ送信することによって、DAM
S110がプロビジョニング要求を履行するように指図、命令、又は制御する。340で
は、DAMS110が、335からの要求の受信に応答して、また335からの要求の受
信を条件として、335で要求されたデジタルアセットを生成及び/又は検索する。様々
な実装において、DAMS110は、図2に関して説明したように、匿名証明書や他の公
開鍵証明書など、要求されたデジタルアセットを作成又は生成できる。様々な実装におい
て、DAMS110、又はDAM110の代わりにプロビジョニングコントローラ120
は、加えて又は代わりに、装置106bタイプの装置に使用するためデータベース125
にあらかじめ保存されている実行可能イメージなど、要求されたデジタルアセットを、ス
トレージから検索する、取得する、又はアクセスすることができる。
345では、DAMS110が315で設置ステータスを送信した設置業者130のデ
ィストリビュータ装置131へデジタルアセットを送信する。例えば、DAMS110は
設置業者130のディストリビュータ装置131へ匿名証明書をセキュアに送信できる。
350では、ディストリビュータ装置131が、図2に関して説明したように、工程2
30~245と同じか同様の工程を遂行する。355では、ディストリビュータ装置13
1がプロビジョニングコントローラ120へステータス情報を送信する。360では、プ
ロビジョニングコントローラ120がステータス情報を受信し、工程227で保存された
ステータス情報など、装置106bに関連する保存済みの情報と併せてステータス情報を
保存する。それゆえ、プロビジョニングコントローラ120は、各装置106に関わる全
てのシステム100活動について監査証跡又は監査ログを継続する。
図3に示されたプロセス300は、説明を目的とする例であり、制限することを意図し
ていない。さらに、示されているプロセス300は、開示されている特定の実装に一致す
る新しく革新的な特定の特徴を明確に説明するためいくぶん簡略化された一例であるが、
数多くのバリエーションが可能である。例えば、機能と工程は特定の順序で遂行されるも
のとして示されているが、説明されている順序は一例に過ぎず、開示されている特定の実
装に合わせて、これとは異なる様々な順序で工程を遂行することもできる。さらに、工程
は専ら説明の目的のために個別のステップとして説明されているが、一部の実装において
は、複数の工程が同時に遂行されてもよく、及び/又は単一の計算の一部として、又はよ
り大規模な工程の一部として、遂行されてもよい。説明されている工程は、網羅的である
こと、制限すること、又は絶対的であることを意図しておらず、様々な工程を修正、挿入
、又は削除できる。
図4A及び図4Bはともに、本発明の実装による、拡張可能でセキュアな証明書管理シ
ステム(CMS)400を実装する例示的アーキテクチャのブロック図である。拡張可能
なCMS400の様々な実装は、超大量装置トランザクション及び証明書生成処理に使用
されてよい。様々な実装において、拡張可能なCMS400は、複数のサーバ、HSM、
複数の計算エンジン又はコンピューティングエンジン、及び複数のアプリケーションプラ
ットフォームを使用して実装されてよい。図4A及び図4Bに示された例示的実装におい
て、アプリケーションプラットフォームは1つ以上の仮想マシン(VM)を各々含んでよ
い。追加の実装又は代替の実装において、アプリケーションプラットフォームは各々、1
つ以上のハードウェアプラットフォーム、例えば、アプリケーションサーバ、コンピュー
タ、又はソフトウェアアプリケーションをホストして実行できる他のコンピュータハード
ウェアなどを含んでよい。図4A及び図4Bの例において、加入証明書局430のアプリ
ケーションプラットフォームは、加入証明書局アプリケーションを実行する1つ以上のV
Mであってよく、匿名証明書局440のアプリケーションプラットフォームは、匿名証明
書局アプリケーションをホストして実行する働きをする1つ以上のVMであってよい。同
様に、結合局1 450のアプリケーションプラットフォームは、結合局1アプリケーシ
ョンをホストして実行するように構成された1つ以上のVMであってよく、結合局2 4
60のアプリケーションプラットフォームは、結合局2アプリケーションをホストして実
行する働きをする1つ以上のVMであってよい。拡張可能なCMS400の例は、プライ
ベートデータセンター、AmazonのAmazonウェブサービス(AWS)などのク
ラウドデータセンター、又はプライベートデータセンターとクラウドデータセンターのハ
イブリッドで実装されてよい。
一部の実装において、拡張可能なCMS400は、セキュリティ証明書、例えば、図1
に関して説明されているように機能でき、また本開示の他の部分で説明されているように
機能できる、製造業者105のディストリビュータ装置108によって使用される、加入
証明書や匿名証明書などを提供できる。いくつかの実装において、拡張可能なCMS40
0は、ディストリビュータ装置108に証明書を提供するため、図1に関して説明したデ
ジタルアセット管理システム(DAMS)110とやり取りできる。
図4Aの例に示されているように、CMS400のアーキテクチャは、望ましくは別々
のサーバで実装される2つのプロビジョニングコントローラ120、すなわち一次プロビ
ジョニングコントローラと待機プロビジョニングコントローラとを、含んでよい。2つの
プロビジョニングコントローラ120は、一次プロビジョニングコントローラに収容され
ているオブジェクト、データなどを、待機(二次)プロビジョニングコントローラにコピ
ー又は収容させる機能を含む。待機プロビジョニングコントローラは、一次プロビジョニ
ングコントローラが何らかの理由でオフラインになる場合に、オンラインにされて一次プ
ロビジョニングコントローラに取って代わることができる。これは、プロビジョニングコ
ントローラ120の連続(又は非常に高度な)アベイラビリティを提供する。様々な実装
において、一次及び待機プロビジョニングコントローラは、図1に関して説明されている
通りであってよく、また本開示の他の部分で説明されている通りであってよい。様々な実
装において、プロビジョニングコントローラ120は、図1のプロビジョニングコントロ
ーラ120と製造業者のディストリビュータ装置108との間の接続及び通信に関して本
明細書で説明されているやり方と同じか同様のやり方で拡張可能なCMS400に接続し
てよい。
概して、プロビジョニングコントローラ120は、インフラを備えるシステム要素を、
明確に認可された要素だけが拡張可能なCMS400に参加して拡張可能なCMS400
とやり取りができる形に管理する。様々な実装において、プロビジョニングコントローラ
120は、ユーザ(例えば、製造業者105又は設置業者130)の従業員識別・認可シ
ステムと一体化でき、あるいは独自の識別・認可機能を提供して、認可されたユーザだけ
が拡張可能なCMS400を使用できるようにすることができる。一部の実装において、
プロビジョニングコントローラ120は装置ライフサイクル管理(DLM)コントローラ
であってよく、例えば一次及び待機DLMコントローラであってよい。様々な実装におい
て、プロビジョニングコントローラ120は、CMS400タイプのコンポーネント内に
存在するコントローラであってよい。例えば、図4A及び図4Bにおいて、プロビジョニ
ングコントローラ120は、登録局420、加入証明書局430、匿名証明書局440、
及び結合局450、460のために存在する1つのセット又は一対のコントローラであっ
てよい。
図4A及び図4Bに示されているように、拡張可能なCMS400のアーキテクチャは
、リプリゼンテーショナル・ステート・トランスファ(REST)ウェブサービスとして
実装された登録局405、登録局420、登録局計算エンジン425、加入証明書局43
0、加入証明書局計算エンジン435、匿名証明書局440、匿名証明書局計算エンジン
445、結合局1 450、結合局1計算エンジン455、結合局2 460、結合局1
計算エンジン465、メッセージキュー410、411、412、413、414、41
5、416、417、418、419、及び1つ以上のデータベース470を含む。以下
の段落では、これらのコンポーネントの各々を説明する。
拡張可能なCMS400のアーキテクチャは、セキュリティ機能から非セキュリティ関
連アプリケーションを有利にも分離する。図4A及び図4Bの例に示されているように、
登録局420、加入証明書局430、匿名証明書局440、及び結合局450、460は
、いずれも非セキュリティ関連アプリケーション及び機能から独立した各自の専用計算エ
ンジン425、435、445、455、及び465上で実行する各自のVM上のアプリ
ケーションとして実装されている。これは、HSMの性能が遅い、又はクラウドサービス
プロバイダがHSMを供給できない、又はその適正HSM管理が不確かである、従来のシ
ステムを凌ぐ、技術的な利点及び進歩とセキュリティ上の利点及び進歩の両方を提供する
。拡張可能なCMS400では、HSMを必要とする全ての暗号操作が計算エンジン(例
えば、計算エンジン425、435、445、455、及び465のいずれか1つ以上)
で遂行される。
図4A及び図4Bに示されているように、重要なセキュリティ機能を互いに分離するこ
とにより、また別々の計算エンジンに分離することにより、例えば、登録局420、加入
証明書局430、匿名証明書局440、及び結合局450、460によって遂行される計
算が多い暗号機能やセキュリティ機能(例えば、楕円曲線バタフライ拡張計算、又は楕円
曲線デジタル署名)は、既存の登録局システムより大幅に速く遂行される。この設計は、
「ボトルネック」となるアプリケーションを必要に応じて個別に拡張可能とすることによ
って、トランザクション処理の大幅改善を可能にする。このため、本開示と一致する実装
は、特に、技術的に有利なシステムアーキテクチャを提供することで、既存の登録局シス
テムに伴うボトルネックを低減する。例えば、登録局405及び420で実行する登録局
アプリケーションが拡張する必要がある場合は、さらなるVMを追加でき、登録局計算エ
ンジン425のセキュア計算能力に変更を加える必要はない。代わりに、セキュリティ計
算が性能を制限している場合は、さらなるセキュア登録局計算エンジン425を追加でき
る。CMS400の他のコンポーネントにもこれと同じ多次元拡張が当てはまる。これら
の能力は、既存のセキュリティクレデンシャル管理システム(SCMS)を凌ぐ大幅な性
能改善と拡張性を提供する。
図4A及び図4Bに示された例では、入力メッセージキュー410、411、412、
413、414、415、416、417、418、及び419を含むメッセージングサ
ブシステム又はメッセージキューイングサービスによって登録局405が他のコンポーネ
ントに接続されており、かつ他のコンポーネントが互いに接続されている。図4A及び図
4Bの例示的実装では、入力メッセージキュー410、411、412、413、414
、415、416、417、418、及び419は単方向性であるから、メッセージはこ
れらのキューの中で一方向に(例えば、クライアントからサーバへ)流れる。これは、V
Mと計算エンジンの各々につき単一の入力キューを設けることにより、簡素さという技術
的なメリットを提供する。
一部の実装において、メッセージングサービスは高速メッセージキューイングサービス
であってよく、例えば、Amazonウェブサービスによって提供されるAmazonシ
ンプルキューサービス(SQS)であってよい。例えば、かかる実装によると、メッセー
ジキュー410、411、412、413、414、415、416、417、418、
及び419は、SQSメッセージキューであってよい。入力メッセージキュー410、4
11、412、413、414、415、416、417、418、419を使用してア
プリケーションVMと計算エンジンを互いに通信可能なように接続することにより、アプ
リケーションVMと計算エンジンは必要に応じて個別に拡張できる。すなわち、登録局4
20、加入証明書局430、匿名証明書局440、及び結合局450、460の各アプリ
ケーションプラットフォームは、それぞれの入力メッセージキューを通じて計算エンジン
425、435、445、455、及び465へ通信可能なように接続されているので、
CMS400のこれらのコンポーネントとデータベース470はいずれも、互いに別々に
拡張する。
上述したように、そして図4A及び図4Bの非制限的例に示されているように、登録局
405、420、証明書局430、440、及び結合局450、460の各々は、各自の
仮想マシン(VM)上でアプリケーションとして実装されてよい。追加の実装又は代替の
実装において、登録局405、420、証明書局430、440、及び結合局450、4
60のいずれか1つ以上は、ハードウェアプラットフォーム(例えば、サーバ又は計算エ
ンジン)上で実行してよい。以下の段落では、アプリケーションプラットフォーム(例え
ば、VM又はハードウェアプラットフォーム)上で実行するこれらのアプリケーションの
各々の役割と機能を説明する。
様々な実装において、登録局405は、プロビジョニングネットワークにおいて、デジ
タル証明書や他種デジタルセキュリティアセットを求めるユーザ要求を検証し、証明書局
(例えば、加入証明書局430及び匿名証明書局440)にそのデジタル証明書を発行さ
せる局であってよい。様々な実装において、登録局405は公開鍵基盤(PKI)システ
ムで既知の登録局と同様であってよい。様々な実装において、登録局405はリプリゼン
テーショナル・ステート・トランスファ(REST)ウェブサービスとして実装されてよ
い。登録局405について図4Aで3つの「積み重なった」長方形で表現されているよう
に、様々な実装においては、同時に実行する登録局405の複数インスタンスがあってよ
い。図4A及び図4Bの他の「積み重なった」要素についても、これが同様に表現されて
いる。CMS400の登録局機能は非中央的であり、その機能は、RESTウェブサービ
スとして実装された登録局405の複数インスタンスと登録局420の複数インスタンス
によって遂行できる。登録局405、420の第一の役割は、証明書プロビジョニング要
求を承諾し履行することであり、それと同時に、署名する匿名証明書局440が特定のコ
ンピュータ化装置に行きつく証明書がどれなのかを知ることを防ぐ。登録局405、42
0は、CMS400の中で自身の役割を果たすため、メッセージキュー414、416、
及び418を通じて匿名証明書局440、結合局450、460と直接やり取りする。
長方形の左下から現れる「DB」の矢印で表現されているように、登録局405(並び
に、「DB」の矢印で示された図4A及び図4Bの他のコンポーネント)は、それぞれの
データベース470へ接続されてよい。図4Aにはただ単一のデータベース470が示さ
れているが、CMS400がデータの保存と検索のために一群のデータストア又はデータ
ベース470を利用できることを理解されたい。例えば、データベース470は、必要に
応じてデータの分離を可能にする1つ以上のテーブルが各々備わった1つ以上のデータベ
ース論理又は物理ユニットから構成されてよい。本明細書で使われている用語「データベ
ース」は、1つ以上のデータベース又はデータストアを指す。いくつかの実装において、
複数データベース470の使用は、登録局405「DB」の矢印で示された図4A及び図
4Bの他のコンポーネントとの間でデータの分離を可能にする。例えば、かかる複数デー
タベース470の使用は、登録局405、420、証明書局430、440、及び結合局
450、460間でデータの分離を可能にする。
好適な実装において、データベース470は1つ以上の高速アクセス低待ち時間データ
ベースから成る集まりである。一部の実装において、データベース470はNoSQLデ
ータベースであってよく、あるいは、例えば、Amazonウェブサービスによって提供
されているDynamoDBデータサービスなどのデータベースサービスであってよい。
様々な実装において、データベース470に保存されるデータはアプリケーション次第で
あるが、過去の発行済み証明書、様々な結合局の値、証明書が発行された装置に関するデ
ータ、作業者の行為などを含み得る。なお、データは、暗号化されていない状態で、暗号
化された状態で、又はこれらの状態の組み合わせで、保存されてよい。
様々な実装において、登録局405によって作成されるデジタル証明書は、別々の部分
に、例えば、加入デジタル証明書と匿名デジタル証明書に分割されるため、拡張可能なC
MS400は加入証明書局430と匿名証明書局440とを含む。
同時に実行する加入証明書局430の複数インスタンスがあってよいため、加入証明書
局430はCMS400の非中央コンポーネントである。加入証明書局430について図
4Aで3つの「積み重なった」長方形で示されているように、一部の実装においては、同
時に実行する加入証明書局430の複数インスタンスがあってよい。加入証明書局430
は、加入証明書を求める要求を登録局420から受信できる。加入証明書局430の第一
の役割は、登録局420からの要求を履行して、エンドユーザ装置に、例えば、図1に示
された製造業者105のディストリビュータ装置108などに、加入証明書を発行するこ
とである。図5Aを参照して後述するように、加入証明書局430は、CMS400の中
でその役割を果たすために、登録局420と直接やり取りする。
匿名証明書局440はCMS400の非中央コンポーネントであり、同時に実行する匿
名証明書局440の複数インスタンスがあってよい。繰り返し述べると、匿名証明書局4
40について図4Aで3つの「積み重なった」長方形で示されているように、様々な実装
においては、同時に並行して実行する匿名証明書局440の複数インスタンスがあってよ
い。匿名証明書局440は、匿名証明書を求める要求を登録局420から受信できる。匿
名証明書局440の第一の役割は、登録局420からの要求を履行して、エンドユーザ装
置に、例えば、図1に示された製造業者105のディストリビュータ装置108などに、
匿名証明書を発行することである。いくつかの実装において、匿名証明書局440は、V
2V機能のために短期間匿名証明書の要求を履行する。図5Bを参照して後述するように
、匿名証明書局440は、CMS400の中でその機能を果たすために、登録局420と
直接やり取りする。
様々な実装において、図4Bに示された結合局450、460は、取り消しの目的のた
めに、証明書要求元の識別情報(すなわち、証明書要求元の装置の一意な識別子)を発行
された匿名証明書に結び付ける。すなわち、結合局1 450と結合局2 460は、証
明書要求元の装置の一意な識別子として、それぞれの結合値を、発行された匿名証明書に
それぞれ提供する。結合局1 450と結合局2 460は、結合値を求める要求を登録
局420から受信し、その後、要求された結合値を登録局420に提供することができる
。図5Aを参照して後述するように、結合局450、460は、結合値の要求を履行する
ために、登録局420と直接やり取りする。
様々な実装において、計算エンジン425、435、445、455、及び465とプ
ロビジョニングコントローラ120がHSMを含んでいることにより、これらのコンポー
ネントは、ハッカーに不当に脅かされることなくセキュアな計算を実行できる。一部の実
装において、計算エンジン425、435、445、455、及び465は、組込み型H
SMを必要とせず自主的にセキュアな計算を実行するように設計されてもよく、かかる実
装では、計算エンジンがHSMを具現する。
様々な実装において、CMS400では様々なHSMバージョンが使用されてよい。例
えば、HSMは、計算エンジン425、435、445、455、及び465のいずれか
1つ以上の中にプラグインカードとして取り付けられる組込み型HSMを含み得る。かか
る例示的実装において、組込み型HSMは、ペリフェラル・コンポーネント・インターコ
ネクト(PCI)HSMとして、又はPCIエクスプレス(PCIe)HSMとして、計
算エンジンのいずれか1つ以上に取り付けられてよい。また、例えば、CMS400内の
HSMは、専用の筐体に入って計算エンジンから独立したネットワーク取り付け型又はネ
ットワーク接続型の外付けHSMをも含み得る。
当業者なら、図4A及び図4Bに示されたコンポーネント、プロセス、データ、工程、
及び実装の詳細が、説明を簡潔かつ明確にするために提示された例であることを認めるで
あろう。この例は制限することを意図しておらず、また数多くのバリエーションが可能で
あるため、本発明の原理から逸脱せずに、別のコンポーネント、プロセス、実装の詳細、
及びバリエーションを使用することもできる。
図5A及び図5Bはともに、本発明の実装と一致する、証明書などのクレデンシャルを
セキュアに提供する例示的プロセス500を示すスイムレーン図である。様々な実装にお
いて、示されているプロセス500又は工程の一部又は全部は、汎用コンピューティング
システム(1つ以上のプロセッサ、又は1つ以上のコンピューティングサブシステムを含
み得る)上で実行するコードによって、ハードウェアのみのシステムによって、又はこれ
ら2つのハイブリッドであるシステムによって、遂行されてよい。図5A及び図5Bの上
部にまたがって示されているように、プロセス500に関わるエンティティは、製造業者
105にあるディストリビュータ装置108と、CMSホストの登録局420と、結合局
450、460と、匿名証明書局440と、加入証明書局430とを含む。様々な実装に
おいて、これらのエンティティは、図4A及び図4Bに関して説明されている通りであっ
てよく、また本開示の全体を通じて説明されている通りであってよく、互いに通信してよ
い。
図5Aの例に示されているように、プロセス500は加入関連の工程505~535で
始まる。加入証明書局430の第一の役割は、登録局420からの要求を履行して、エン
ドユーザ装置に、例えば、ディストリビュータ装置108などに、加入証明書を発行する
ことである。加入関連の工程505~535を参照して後述するように、加入証明書局4
30は、要求された加入証明書をディストリビュータ装置108に発行するために、登録
局420と直接やり取りする。
505では、製造業者105のディストリビュータ装置108が装置106aにプロビ
ジョニングされる(例えば、装置106aによって使用される)加入証明書を登録局42
0に要求し、この要求は加入証明書の行先にあたる装置106aを特定できる。要求は、
例えば、新しい装置106A(例えば、新しい製品)のために加入証明書を要求している
製造業者105のディストリビュータ装置108であってよい。図2を参照して上述した
ように、加入証明書は、そのホルダをエコシステム内の認可されたパーティシパントとし
て識別する公開鍵証明書であり、このエコシステムの中では、全てのパーティシパントが
有効な加入証明書を共有しなければならず、(例えば、米国運輸省のV2Xエコシステム
など)、認可されたパーティシパントは、エコシステム内での装置106の通信及び工程
を可能にする匿名証明書を受け取ることもできる(例えば、米国運輸省のV2Xエコシス
テムの例で、車両と沿道インフラとの通信及び工程を可能にするため)。
510では、加入証明書の要求が登録局420で受信され、その後、登録局420から
加入証明書局430へ送信される。様々な実装において、この工程は、署名の検証、未承
認装置のリスト(例えば、ブラックリスト)を使用して加入証明書の行先にあたる装置(
例えば、装置106a)の取り消し状況をチェックすること、要求元(例えば、ディスト
リビュータ装置108)が登録局420に加入証明書を要求することが可能であるか否か
を判断することなど、登録局420が要求を復号して検証する作業を伴う場合がある。例
えば、工程510は、製造業者105のユーザが認可されたユーザ(例えば、スタッフ1
09の一員)であるか否かを判断することを含んでよい。一部の実装において、登録局4
20は510で、加入証明書を受け取る装置106a(例えば、製品)がシステム100
での使用が承認されているか否かも判断してよい。場合によっては、承認済み装置のリス
ト(例えば、ホワイトリスト)が図1の調整業者140によって提供されてよく、この判
断を下すためにプロビジョニングコントローラ120によって使用されてよい。加入証明
書の要求が検証された後は、登録局420から加入証明書局430へ要求が送信される。
この要求は、登録局420によって作成される加入証明書生成要求として送信されてよい
515では、加入証明書の要求が加入証明書局430で受信される。要求の受信に応答
し、520で、加入証明書局430は要求された加入証明書を生成し、生成した加入証明
書を登録局420へ送り返す。525では、加入証明書が登録局420で受信され、53
0では、登録局420が加入証明書をディストリビュータ装置108へ送信する。535
では、ディストリビュータ装置108が加入証明書を受信する。この時点で、ディストリ
ビュータ装置108は装置(例えば、装置106a)に加入証明書をプロビジョニングで
き、これにより装置は加入証明書を使用できるようになり、加入関連の工程は完了する。
工程540~599は匿名証明書のプロビジョニングに関する。540では、ディスト
リビュータ装置108が登録局420に匿名証明書を要求する。これらの匿名証明書は装
置106aにプロビジョニングされるものであり(例えば、装置106aによって使用さ
れるものであり)、この要求は匿名証明書の行先にあたる装置106aを特定できる。要
求は、例えば、先に加入証明書を受け取ったコンピュータ化装置(例えば、加入された装
置106A)のために匿名証明書を要求している製造業者105のディストリビュータ装
置108であってよい。匿名証明書はある程度の数量(例えば、1週間分、1カ月分、又
は1年分)の公開鍵証明書を含む。
545では、匿名証明書の要求が登録局420で受信され、登録局420はその後、匿
名証明書のプロビジョニングを開始する。
工程550~570では、結合局450、460が、結合値の要求を履行するために、
登録局420と直接やり取りする。550では、登録局420が第1の結合値セット(L
A1)を求める要求を結合局1 450へ送信する。
555では、第1の結合値セットの要求の受信に応答して、結合局1 450が第1の
結合値セットを生成して登録局420へ送信する。557では、第1の結合値セットが登
録局420で受信される。560では、登録局420が第2の結合値セット(LA2)を
求める要求を結合局2 460へ送信する。
次に、図5Bに示されているように、565では、第2の結合値セットの要求の受信に
応答して、結合局2 460が第2の結合値セットを生成して登録局420へ送信する。
570では、第2の結合値セットが登録局420で受信される。
いくつかの実装において、図5A及び図5Bに示された結合局450、460は、取り
消しの目的のために、証明書要求元の識別情報(すなわち、証明書要求元の装置の一意な
識別子)を発行された匿名証明書に結び付けることができる。すなわち、結合局1 45
0と結合局2 460は、証明書要求元の装置の一意な識別子として、第1及び第2のセ
ット結合値を、プロセス500の一部として匿名証明書局440によって発行された匿名
証明書にそれぞれ提供する。結合局1 450と結合局2 460は、工程550及び5
60で登録局420から送信される結合値の要求を受信し、その後、要求された結合値を
工程555及び565で登録局420に提供する。
非限定的な例示的実装において、工程550~570でやり取りされる結合値の要求と
それらの要求に対する応答は、以下に示すヘッダー項目とペイロードデータ項目を有する
メッセージを含んでよい。
# Registration Authority(RA)->Linkage A
uthority-x(LA-x):Initial Linkage Seed Re
quest {
header:{
msgID:mt.MSG_RA_LA_LINKAGE_SEED_REQUEST
_MSG,
taskPosition:‘‘Linkage Authority number
1 or 2’’
},
payload:{
identifier:‘‘Message identifier’’,
iMin:Number,
iMax:Number,
jMax:Number


# LA-x->RA:Initial Linkage Seed Respons
e {
header:{
msgID:mt.MSG_LA_RA_LINKAGE_SEED_RESPONS
E_MSG,
taskPosition:‘‘Linkage Authority number
1 or 2’’
},
payload:{
identifier:‘‘Incoming Message identifie
r’’,
linkageChainIdentifier:‘‘Linkage Chain
ID--HashedId8 of AES CCM Encrypted Linka
ge Seed’’,
iMin:Number,
iMax:Number,
jMax:Number


# RA->LA-x:PreLinkage Value Chain Reque
st(Chunked 10 iRange at a time){
header:{
msgID:mt.MSG_RA_LA_PRE_LINKAGE_VALUE_RE
QUEST_MSG,
iRangeSegmentChunkSize:‘‘set to 10’’,
currentIRangeSegment:‘‘Index of segment
in total request’’,
taskPosition:‘‘Linkage Authority number
1 or 2’’
},
payload:{
identifier:‘‘Incoming Message identifie
r’’,
linkageChainId:‘‘Linkage Chain ID to us
e to create P Linkage Values(PLVs)’’,
iMin:Number,
iMax:Number,
jMax:Number


# LA-x->RA:PreLinkage Value Chain Respo
nse {
header:{
msgID:mt.MSG_LA_RA_PRE_LINKAGE_VALUE_RE
SPONSE_MSG,
iRangeSegmentChunkSize:‘‘set to 10’’,
currentIRangeSegment:‘‘Index of segment
in total request’’,
taskPosition:‘‘Linkage Authority number
1 or 2’’
},
payload:{
identifier:‘‘Incoming Message identifie
r’’,
preLinkageValues:Array of Encryped Prel
inkage values for this segment of i,j tu
ples,
linkageChainIdentifier:‘‘Linkage Chain
ID to use to create P Linkage Values(PLV
s)’’,
iMin:Number,
iMax:Number,
jMax:Number

図5Bを引き続き参照すると、575では、登録局420が匿名証明書の要求を匿名証
明書局430へ送信する。この要求は、登録局420によって作成される一まとまりの匿
名証明書生成要求として送信されてよい。
580では、匿名証明書の要求が匿名証明書局430で受信される。要求の受信に応答
し、585で、匿名証明書局430は要求された匿名証明書を生成し、生成した匿名証明
書を登録局420へ送り返す。590では、匿名証明書が登録局420で受信される。
595で、ディストリビュータ装置108は、要求した匿名証明書が準備できているか
(すなわち、生成され利用できるか)否かを問い合わせるため、登録局420に複数の要
求を送信できる。いくつかの実装において、工程595の問い合わせは、工程540で匿
名証明書の要求が送信された後に随時送信されてよい。例えば、ディストリビュータ装置
108は、工程540で匿名証明書の要求を登録局420へ送信した後に、要求した匿名
証明書が準備できているか否かを判断するために、定期的に登録局420へ問い合わせを
送信できる。この例において、工程595の問い合わせのいずれか1つ以上は、工程54
5~590と並行して(すなわち、匿名証明書が生成されている間に)送信されてもよい
598では、匿名証明書が準備できると、登録局420が匿名証明書をディストリビュ
ータ装置108へ送信する。599では、ディストリビュータ装置108が匿名証明書を
受信する。この時点で、ディストリビュータ装置108は装置(例えば、装置106a)
に匿名証明書をプロビジョニングでき、これにより装置は匿名証明書を使用できるように
なり、匿名証明書をプロビジョニングする工程は完了する。
いくらかの非限定的な例示的実装において、工程575~590でやり取りされる匿名
証明書の要求とそれらの要求に対する応答は、以下に示すヘッダー項目とペイロードデー
タ項目を有するメッセージを含んでよい。
# Registration Authority(RA)->Pseudonym
Certificate Authority(PCA):Generate an
individual Certificate {
header:{
msgID:mt.MSG_RA_PCA_CERT_REQUEST_MSG,
iRangeSegmentChunkSize:‘‘set to 10’’
},
payload:{
identifier:‘‘hash of payload minus this
field’’
i:Number,
plv1:‘‘Encrypted PLV from LA1’’,
plv2:‘‘Encrypted PLV from LA2’’,
seedPublicKey:‘‘Seed Verify Public key’
’,
encryptKey:‘‘Seed Encrypt Public key’’,
startSeconds:‘‘start time for this cert
ificate’’,
endSeconds:‘‘end time for this certific
ate’’,
region:‘‘requested region’’,
certRequestPermissions:‘‘the cert reque
st permissions from the enrollment cert(
will be turned into app permissions)’’


# PCA->RA:Certificate Response

header:{
msgID:mt.MSG_PCA_RA_IDENTITY_CERT_RESPO
NSE_MSG
},
payload:{
data:‘‘Signed and Encrypted SCMS certif
icate response’’,
identifier:‘‘hash of original payload r
equest’’

図6A及び図6Bはともに、本発明の実装と一致する、双方向メッセージキュー610
、611、612、613、614、615、616、617、618、619を備えた
拡張可能でセキュアなCMS600を実装する例示的アーキテクチャのブロック図である
図4A及び図4Bを参照して上述したCMS400と同様、拡張可能なCMS600の
様々な実装は、超大量装置トランザクション及び証明書生成処理に利用されてよい。一部
の実装において、拡張可能なCMS600は、複数のサーバ、HSM、複数の計算エンジ
ン又はコンピューティングエンジン、及び複数のアプリケーションプラットフォーム(例
えば、VM又はハードウェアプラットフォーム)を使用して実装されてよい。図6A及び
図6Bに示された例示的実装において、アプリケーションプラットフォームは1つ以上の
仮想マシン(VM)を各々含んでよい。追加の実装又は代替の実装において、アプリケー
ションプラットフォームは各々、1つ以上のハードウェアプラットフォーム、例えば、サ
ーバ、コンピュータ、又はソフトウェアアプリケーションを実行できる他のコンピュータ
ハードウェアなどを含んでよい。拡張可能なCMS600の例は、プライベートデータセ
ンター、AmazonのAmazonウェブサービス(AWS)などのクラウドデータセ
ンター、又はプライベートデータセンターとクラウドデータセンターのハイブリッドで実
装されてよい。簡潔にするため、以下では、図4A及び図4Bと比べた図6A及び図6B
の違いだけを説明する。
図6Aの例に示されているように、CMS600のアーキテクチャは、望ましくは別々
のサーバで実装される2つのプロビジョニングコントローラ602、すなわち一次プロビ
ジョニングコントローラと待機プロビジョニングコントローラとを含んでよい。2つのプ
ロビジョニングコントローラ602は図4Aのプロビジョニングコントローラ102と同
様の機能を含んでいるため、図4Aを参照して上述したように、一次プロビジョニングコ
ントローラに収容されているオブジェクト、データなどは、フェイルオーバーの目的のた
め、待機(二次)プロビジョニングコントローラにコピー又は収容される。いくつかの実
装において、プロビジョニングコントローラ602はDLMコントローラ、例えば、一次
及び待機DLMコントローラであってよい。様々な実装において、プロビジョニングコン
トローラ602は、CMS600内の各種コンポーネントごとに存在するコントローラで
あってよい。図6A及び図6Bの例において、プロビジョニングコントローラ602は、
登録局620、加入証明書局430、匿名証明書局440、及び結合局450、460の
ために存在する一対のコントローラ(例えば、一次及び待機)であってよい。
図6A及び図6Bに示されているように、拡張可能なCMS600のアーキテクチャは
、RESTウェブサービスとして実装された登録局605、登録局620、登録局計算エ
ンジン625、加入証明書局630、加入証明書局計算エンジン635、匿名証明書局6
40、匿名証明書局計算エンジン645、結合局1 650、結合局1計算エンジン65
5、結合局2 660、結合局1計算エンジン665、双方向メッセージキュー610、
611、612、613、614、615、616、617、618、619、及びデー
タベース670を含む。
拡張可能なCMS600のアーキテクチャは、セキュリティ機能から非セキュリティ関
連アプリケーションを有利にも分離する。図6A及び図6Bの非限定的例に示されている
ように、登録局620、加入証明書局630、匿名証明書局640、及び結合局650、
660は、いずれも非セキュリティ関連アプリケーション及び機能から独立した各自の専
用計算エンジン625、635、645、655、及び665上で実行する各自のVM上
のアプリケーションとして実装されている。これは、HSMの性能が遅い、又はクラウド
サービスプロバイダがHSMを供給できない、又はその適正HSM管理が不確かである、
従来のシステムを凌ぐ、技術的な利点及び進歩とセキュリティ上の利点及び進歩の両方を
提供する。拡張可能なCMS600では、HSMを必要とする全ての暗号操作が計算エン
ジン(例えば、計算エンジン625、635、645、655、及び665のいずれか1
つ以上)で遂行される。すなわち、CMS600では、HSMを必要とする全ての暗号操
作が計算エンジンで遂行される。
図6A及び図6Bに示されているように、重要なセキュリティ機能を互いに分離するこ
とにより、また別々の計算エンジンに分離することにより、例えば、登録局620、加入
証明書局630、匿名証明書局640、及び結合局650、660によって遂行される計
算が多い暗号機能やセキュリティ機能は、既存の登録局システムより大幅に速く遂行され
る。この設計は、「ボトルネック」となるアプリケーションを必要に応じて個別に拡張可
能とすることによって、トランザクション処理の大幅改善を可能にする。例えば、登録局
605及び620で実行する登録局アプリケーションが拡張する必要がある場合は、さら
なるアプリケーションプラットフォーム(例えば、VM又はハードウェアプラットフォー
ム)を追加でき、登録局計算エンジン625のセキュア計算能力に変更を加える必要はな
い。また、例えば、セキュリティ計算が性能を制限している場合は、さらなるセキュア登
録局計算エンジン625を追加できる。CMS600の他のコンポーネントにもこれと同
じ多次元拡張が当てはまる。
図6A及び図6Bに示された例では、双方向メッセージキュー610、611、612
、613、614、615、616、617、618、及び619によって登録局605
が他のコンポーネントに接続されており、かつ他のコンポーネントが互いに接続されてい
る。図6A及び図6Bの例示的実装で、双方向メッセージキュー610、611、612
、613、614、615、616、617、618、及び619は双方向性であるから
、メッセージはこれらのキューの中で2方向に(例えば、クライアントとサーバとの間を
)流れる。これは、メッセージキューの中で保留になっている応答から新たな要求を分離
するという性能上のメリットを提供する。双方向メッセージキュー610、611、61
2、613、614、615、616、617、618、619を使用してアプリケーシ
ョンプラットフォーム(例えば、VM及び/又はハードウェアプラットフォーム)と計算
エンジンを互いに通信可能なように接続することによって、アプリケーションプラットフ
ォーム(例えば、VM及び/又はハードウェアプラットフォーム)と計算エンジンは個別
に拡張できる。CMS600では、登録局620、加入証明書局630、匿名証明書局6
40、及び結合局650、660の各アプリケーションプラットフォーム(例えば、VM
及び/又はハードウェアプラットフォーム)がそれぞれの双方向メッセージキューセット
を通じて計算エンジン625、635、645、655、及び665へ通信可能なように
接続されている。
CMS600では、登録局605(並びに、「DB」の矢印が示された図6A及び図6
Bの他のコンポーネント)がデータベース670へ接続されてよい。好適な実装において
、データベース670は高速アクセスで低待ち時間のデータベースである。いくつかの実
装において、データベース670はNoSQLデータベースであってよく、あるいは、例
えば、Amazonウェブサービスによって提供されているDynamoDBデータサー
ビスなどのデータベースサービスであってよい。様々な実装において、データベース67
0に保存されるデータはアプリケーション次第であるが、発行済み証明書、様々な結合局
の値(例えば、結合値)、証明書が発行された装置に関するデータ、作業者の行為などを
含み得る。データは、暗号化されていない状態で、暗号化された状態で、又はこれらの状
態の組み合わせで、保存されてよい。
様々な実装において、登録局605によって作成されるデジタル証明書は、別々のセグ
メント、例えば、加入デジタル証明書と匿名デジタル証明書に分割されるため、拡張可能
なCMS600は加入証明書局630と匿名証明書局640とを含む。
加入証明書局630について図6Aで3つの「積み重なった」長方形で示されているよ
うに、一部の実装においては、同時に実行する加入証明書局630の複数インスタンスが
あってよい。これは、図6A及び図6Bの他の「積み重なった」要素についても同様に表
現されている。加入証明書局630は、加入証明書を求める複数の要求を登録局620か
ら受信することがある。
様々な実装において、計算エンジン625、635、645、655、及び665とプ
ロビジョニングコントローラ602はHSMを含んでいるため、これらのコンポーネント
は、ハッカーに不当に脅かされることなくセキュアな計算を実行できる。一部の実装にお
いて、計算エンジン625、635、645、655、及び665は、組込み型HSMを
必要とせず自主的にセキュアな計算を実行するように設計されてもよく、かかる実装では
、計算エンジンがHSMを具現する。
当業者なら、図6A及び図6Bに示されたコンポーネント、プロセス、データ、工程、
及び実装の詳細が、説明を簡潔かつ明確にするために提示された例であることを認めるで
あろう。この例は制限することを意図しておらず、また数多くのバリエーションが可能で
あるため、本発明の原理から逸脱せずに、別のコンポーネント、プロセス、実装の詳細、
及びバリエーションを使用することもできる。
図7A及び図7Bはともに、本発明の実装と一致する、ロードバランサ710、711
、712、713、714、715、716、717、718、719を備えた拡張可能
でセキュアなCMS700を実装する例示的アーキテクチャのブロック図である。
図4及び図6を参照して上述したCMS400及び600と同様、拡張可能なCMS7
00の様々な実装は、超大量装置トランザクション及び証明書生成処理に利用されてよい
。簡潔にするため、以下では、図4及び図6と比べた図7A及び図7Bの違いだけを説明
する。図7A及び図7Bに示された例示的実装では、アプリケーションプラットフォーム
が1つ以上の仮想マシン(VM)を含むものとして示されている。追加の実装又は代替の
実装において、アプリケーションプラットフォームは各々、1つ以上のハードウェアプラ
ットフォーム、例えば、アプリケーションサーバ、サーバファーム、クラウドベースのサ
ーバ、アプリケーション工程を遂行するように構成されたプロセッサ、又はソフトウェア
アプリケーションを実行できる他のコンピュータハードウェアなどを含んでよい。
図7Aの例に示されているように、CMS700のアーキテクチャは、望ましくは別々
のサーバで実装される2つのプロビジョニングコントローラ702、すなわち一次プロビ
ジョニングコントローラと待機プロビジョニングコントローラとを含んでよい。2つのプ
ロビジョニングコントローラ702はそれぞれ、図4A及び図6Aのプロビジョニングコ
ントローラ120及び602と同様の機能を含む。すなわち、図4Aを参照して上述した
ように、一次プロビジョニングコントローラに収容されているオブジェクト、データなど
は、フェイルオーバーの目的のため、待機(二次)プロビジョニングコントローラにコピ
ー又は収容される。
図7A及び図7Bに示されているように、拡張可能なCMS700のアーキテクチャは
、RESTウェブサービスとして実装された登録局705、登録局720、登録局計算エ
ンジン725、加入証明書局730、加入証明書局計算エンジン735、匿名証明書局7
40、匿名証明書局計算エンジン745、結合局1 750、結合局1計算エンジン75
5、結合局2 760、結合局1計算エンジン765、ロードバランサ710、711、
712、713、714、715、716、717、718、719、及びデータベース
770を含む。
図4及び図6のCMS400及びCMS600と同様、拡張可能なCMS700のアー
キテクチャは、セキュリティ機能から非セキュリティ関連アプリケーションを有利にも分
離する。図7A及び図7Bの非限定的例に示されているように、登録局720、加入証明
書局730、匿名証明書局740、及び結合局750、760は、いずれも非セキュリテ
ィ関連アプリケーション及び機能から独立した各自の専用計算エンジン725、735、
745、755、及び765上で実行する各自のVM上のアプリケーションとして実装さ
れている。拡張可能なCMS700では、HSMを必要とする全ての暗号操作が計算エン
ジン(例えば、計算エンジン725、735、745、755、及び765のいずれか1
つ以上)で遂行される。CMS700では、HSMを必要とする全ての暗号操作が計算エ
ンジンで遂行される。
図7A及び図7Bに示されているように、重要なセキュリティ機能を互いに分離するこ
とにより、また別々の計算エンジンに分離することにより、例えば、登録局720、加入
証明書局730、匿名証明書局740、及び結合局750、760によって遂行される計
算が多い暗号機能やセキュリティ機能は、公知の登録局ソリューションより大幅に速く遂
行される。この設計は、サーバの処理能力や保存容量に束縛されず、「ボトルネック」と
なるアプリケーションを必要に応じて個別に拡張可能とすることによって、トランザクシ
ョン処理の大幅改善を可能にする。例えば、登録局705及び720で実行する登録局ア
プリケーションが拡張する必要がある場合は、さらなるアプリケーションプラットフォー
ム(例えば、VM又はハードウェアプラットフォーム)を追加でき、登録局計算エンジン
725のセキュア計算能力に変更を加える必要はない。また、例えば、セキュリティ計算
が性能を制限している場合は、さらなるセキュア登録局計算エンジン725を追加できる
。CMS700の他のコンポーネントにもこれと同じ多次元拡張が当てはまる。
図7A及び図7Bに示された例では、ロードバランサ710、711、712、713
、714、715、716、717、718、及び719によって登録局705が他のコ
ンポーネントに接続されており、かつ他のコンポーネントが互いに接続されている。図7
A及び図7Bの例示的実装において、ロードバランサ710、711、712、713、
714、715、716、717、718、及び719は、(例えば、VM上で実行する
)仮想ロードバランサとして、又は専用のハードウェアによって、実装されてよい。図7
A及び図7Bに見られるように、CMS700では、ロードバランサ710、711、7
12、713、714、715、716、717、718、及び719の各々が、類似す
る種類のVM又は計算エンジンから成る各グループの手前に挿入されている。これは、1
つ又は複数のクライアントに単一のサーバエンドポイントだけを認識させ、ある特定の要
求をどのサーバが処理するかをロードバランサが決めるというメリットを提供する。この
ように、ロードバランサ710、711、712、713、714、715、716、7
17、718、719はアプリケーションプラットフォーム(例えば、VM及び/又はハ
ードウェアプラットフォーム)と計算エンジンを互いに通信可能なように接続する。CM
S700では、登録局720、加入証明書局730、匿名証明書局740、及び結合局7
50、760の各アプリケーションプラットフォームがそれぞれのロードバランサセット
を通じて計算エンジン725、735、745、755、及び765へ通信可能なように
接続されている。
様々な実装において、登録局705によって作成されるデジタル証明書は、別々の部分
に、例えば、加入デジタル証明書と匿名デジタル証明書に分割されるため、拡張可能なC
MS700は加入証明書局730と匿名証明書局740とを含む。
匿名証明書局740について図7Aで3つの「積み重なった」長方形で示されているよ
うに、様々な実装においては、同時に実行する匿名証明書局740の複数インスタンスが
あってよい。これは、図7A及び図7Bの他の「積み重なった」要素についても同様に表
現されている。匿名証明書局740は、一まとまりの匿名証明書を求める複数の要求(例
えば、1週間、1カ月、又は1年分の匿名証明書を求める要求)を登録局720から受信
することがある。
当業者なら、図7A及び図7Bに示されたコンポーネント、プロセス、データ、工程、
及び実装の詳細が、説明を簡潔かつ明確にするために提示された例であることを認めるで
あろう。この例は制限することを意図しておらず、また数多くのバリエーションが可能で
あるため、本発明の原理から逸脱せずに、別のコンポーネント、プロセス、実装の詳細、
及びバリエーションを使用することもできる。
図8は、本発明の実装と一致する、ラウンドロビン要求を伴う拡張可能でセキュアなC
MSを実装するシステム800の一例のブロック図である。簡素にするため、図8には、
1つのセットのアプリケーションプラットフォーム(例えば、VM及び/又はハードウェ
アプラットフォーム)820、830、840、850と、1つのセットの計算エンジン
825、835、845、855だけが示されている。なお、図8のアプリケーションプ
ラットフォーム820、830、840、850と計算エンジン825、835、845
、855は、図7を参照して上述した登録局720、加入証明書局730、匿名証明書局
740、及び結合局750、760のいずれかを実装するために使用される1つのセット
のアプリケーションプラットフォーム及び計算エンジンのいずれであってよい。図7のC
MS700と同様、システム800では、HSMを必要とする全ての暗号操作が計算エン
ジンで遂行され、アプリケーションプラットフォームと計算エンジンはいずれも個別に拡
張する。
図8を引き続き参照すると、ラウンドロビンとは、利用可能な各サーバ(例えば、各計
算エンジン)に関する知識を使用することを指す。システム800で送信されるラウンド
ロビン要求は、利用可能な計算エンジン(例えば、計算エンジン825、835、845
、855)に関する知識を使用して、当該1つのセットの計算エンジンに送信される要求
とメッセージを配信する。
システム800におけるラウンドロビン要求の順序を明確に説明するため、アプリケー
ションVM850で利用できる拡大された1つのセットの計算エンジン865、875、
885、895が示されている。図8の例には、「n」個のアプリケーションプラットフ
ォーム(例えば、VM及び/又はハードウェアプラットフォーム)があり、「m」個の利
用可能な計算エンジンがある。計算エンジンに対して要求を行いたいクライアント(例え
ば、アプリケーションVM895)は、図8に示された順序でこれを行う。図示されてい
るように、アプリケーションVM895からの第1の要求はCE1(計算エンジン865
)に至り、第2の要求はCE2(計算エンジン875)に至り、以降も同様に続く。最後
のCEであるCEm(計算エンジン895)に達すると、クライアント(アプリケーショ
ンVM895)はCE1からやり直す。
システム800では、全てのクライアント(例えば、アプリケーションプラットフォー
ム820、830、840、850)が通信する必要のある相手方の全サーバ(例えば、
1つのセットの利用可能な計算エンジン)を認識している。それぞれのクライアントはそ
れぞれのサーバに対してラウンドロビン要求を行い、これにより作業負荷は、有利にも全
てのサーバにわたって均一に分散される。いくつかの実装においては、計算エンジンで作
業負荷を均一に分散するため、図7に示されたCMS700のロードバランサ710、7
11、712、713、714、715、716、717、718、719が計算エンジ
ンにラウンドロビン要求を送信できる。
図9は、本発明の実装と一致する、作業負荷に基づく要求を伴う拡張可能でセキュアな
CMSを実装するシステム900の一例のブロック図である。簡潔にするため、以下では
、図7及び図8と比べた図9の違いだけを説明する。
図8と同様、簡素かつ明確にするため、図9には、1つのセットのアプリケーションプ
ラットフォーム920、930、940、950と、1つのセットの計算エンジン925
、935、945、955だけが示されている。なお、図9のアプリケーションプラット
フォーム(例えば、VM及び/又はハードウェアプラットフォーム)920、930、9
40、950と計算エンジン925、935、945、955は、図7を参照して上述し
た登録局720、加入証明書局730、匿名証明書局740、及び結合局750、760
のいずれかを実装するために使用される1つのセットのアプリケーションプラットフォー
ム及び計算エンジンのいずれかであってよい。図7のCMS700と同様、システム90
0では、HSMを必要とする全ての暗号操作が計算エンジンで遂行され、アプリケーショ
ンプラットフォーム(例えば、VM及び/又はハードウェアプラットフォーム)と計算エ
ンジンはいずれも個別に拡張する。
図9を引き続き参照し、作業負荷分散手法は、使用される各サーバの作業負荷を伝える
情報を第1のクエリーに加えることによって可能となる。この作業負荷分散手法は、利用
可能な各サーバ(例えば、各計算エンジン)の作業負荷に関する知識を利用するので、作
業負荷に基づく手法である。システム900で送信される要求は、利用可能な計算エンジ
ン(例えば、計算エンジン925、935、945、955)の現在の作業負荷に関する
知識を使用して、当該1つのセットの計算エンジンに送信される要求とメッセージを配信
する。システム900では、それぞれの計算エンジンの報告された作業負荷に基づいて計
算エンジンへ要求が送信される。
システム900における作業負荷に基づく要求を明確に説明するため、各自の作業負荷
をアプリケーションVM950に報告する拡大された1つのセットの計算エンジン965
、975、985、995が示されている。図9の例では、「m」はアプリケーションプ
ラットフォームの数であり、「n」は各自の作業負荷を報告する計算エンジンの数である
。図9の例では、作業負荷がパーセンテージで報告されており、計算エンジン975の3
0%作業負荷は、計算エンジン975が自身の全能力の30%で現在稼働していることを
意味する。同様に、計算エンジン965、985、及び995によって報告される80%
の作業負荷は、これらの計算エンジンが自身の全能力の80%で現在稼働していることを
意味する。いくつかの実装において、ある特定の計算エンジンによって報告される現在の
作業負荷は、当該計算エンジンに組み込まれたHSMの作業負荷を表す。例えば、暗号操
作を遂行するにあたって、計算エンジンの処理能力がそのHSMの能力によって束縛又は
制約される場合は、当該計算エンジンによって報告される作業負荷のパーセンテージがH
SMの現在の作業負荷を反映できる。例えば、計算エンジン975によって使用されてい
るHSMがその処理能力の30%で稼働している場合、計算エンジン975は、自身がそ
の全能力の30%で稼働していることを報告できる。一部の実装において、作業負荷パー
センテージは、サーバ(例えば、計算エンジン)の処理能力、通信能力(例えば、直接通
信リンク又は無線モジュールに利用できる帯域幅の尺度)、及びストレージ/メモリ容量
の加重尺度であってよい。一例において、処理能力と通信能力とメモリ容量には等しい3
分の1の重みが与えられてよい。この例で、計算エンジン975がその中央処理装置(C
PU)能力の25%と、その通信能力の35%と、その利用可能なメモリ又はストレージ
の30%を使用している場合、計算エンジン975は自身の作業負荷が30%であると報
告する。
いくつかの実装においては、計算エンジンの環境測定値が加重され、作業負荷の測定値
と併せて考慮されてよい。例えば、計算エンジンの全体的な健全性を示す測定値が求めら
れ、当該計算エンジンの作業負荷の測定値と共に報告されてよい。いくつかの例において
、ある特定の計算エンジンの健全性を示す測定値は、当該計算エンジンの動作温度(例え
ば、温度センサーからの平均より高い温度値は、CPU、メモリモジュール、又はディス
クドライブが熱による動作停止や誤動作を被る可能性があることを意味し得る)、計算エ
ンジンの筐体内の湿度レベル、再起動又はリブートの頻度(例えば、熱による動作停止や
クラッシュ)、最後の再起動からの経過時間、最近の期間中(例えば、前日、先週、又は
先月)に起きたディスク故障やメモリ障害の数、計算エンジンの予定されたメンテナンス
作業までの時間(例えば、ソフトウェアやファームウェアの更新、欠陥ハードウェアコン
ポーネントの交換)、計算エンジンが予備電源で稼働していることを伝える情報、又は計
算エンジンの電源の最後の停電又は電圧低下からの持続時間のいずれか1つ以上の関数で
あってよい。
追加の実装又は代替の実装においては、他の重み、尺度、及び基準を使用して計算エン
ジンの作業負荷を決定してよい。例えば、暗号操作を遂行する計算エンジンがこれまで通
信能力やメモリ容量より多大な制約をCPU能力から受けている場合、それらの計算エン
ジンについて総作業負荷パーセンテージを割り出すときに、CPU能力に他の能力/容量
より大きい重みを与えることができる。
システム900において、計算エンジンに対して要求を行いたいクライアント(例えば
、アプリケーションVM995)は、計算エンジンによって報告される作業負荷に基づい
てこれを行う。図9の例では、アプリケーションVM995からの次の要求は、30%と
いう比較的低い作業負荷に基づいてCE2(計算エンジン975)に至る。すなわち、計
算エンジン975の作業負荷が1つのセットの計算エンジン965、975、985、9
95の中で最も低いからである。アプリケーションVM995から計算エンジンへ次の要
求が送信されるときは、いずれも等しい80%の作業負荷を現在報告しているCE1(計
算エンジン965)、又はCE3(計算エンジン985)、又はCEm(計算エンジン9
95)のいずれかが使用されてよい。利用可能な各計算エンジンが同じか同様の作業負荷
を報告している場合は、一連の要求を使用して、負荷が等しいこれらの計算エンジンにわ
たって負荷を均等に分散することができる。すなわち、利用可能な各計算エンジンが実質
的に等しいか等しい作業負荷を報告している場合は、図8を参照して上述した要求を使用
できる。時間が経つにつれて作業負荷が変化したら、クライアント(アプリケーションV
M995)は以降の要求を利用可能で負荷が最も小さい計算エンジンへ送信する。
システム900では、全てのクライアント(例えば、アプリケーションプラットフォー
ム920、930、940、950)が通信する必要のある相手方の全サーバ(例えば、
1つのセットの利用可能な計算エンジン)の作業負荷を認識している。それぞれのクライ
アントはそれぞれのサーバに作業負荷のクエリーを提出し、報告される作業負荷をもとに
して全てのサーバにわたって作業負荷を有利にも均一に分散することができる。いくつか
の実装においては、計算エンジンで作業負荷を均一に分散するため、図7に示されたCM
S700のロードバランサ710、711、712、713、714、715、716、
717、718、719が作業負荷に基づく要求を計算エンジンへ送信できる。
図10A及び図10Bはともに、本発明の実装による、拡張可能でセキュアな証明書管
理システム(CMS)400を実装する例示的アーキテクチャのブロック図である。簡潔
にするため、以下では、図4A及び図4Bと比べた図10A及び図10Bの違いだけを説
明する。
図10Aの例に示されているように、CMS1000のアーキテクチャは、望ましくは
別々のサーバで実装される2つのプロビジョニングコントローラ1002、すなわち一次
プロビジョニングコントローラと待機プロビジョニングコントローラとを含んでよい。2
つのプロビジョニングコントローラ1002は、それぞれ図4A及び図6Aのプロビジョ
ニングコントローラ120及び602と同様の機能を含む。すなわち、図4Aを参照して
上述したように、一次プロビジョニングコントローラに収容されているオブジェクト、デ
ータなどは、フェイルオーバーの目的のため、待機(二次)プロビジョニングコントロー
ラにコピー又は収容される。
図10A及び図10Bに示されているように、CMS1000のアーキテクチャは、R
ESTウェブサービスとして実装された登録局1005、登録局1020、計算エンジン
1025、1035、1045、1050、1060、メッセージキュー1010、10
12、1014、1016、1018、及びデータベース1070を含む。
CMS1000の例は、プライベートデータセンター、クラウドデータセンター、又は
プライベートデータセンターとクラウドデータセンターのハイブリッドで実装されてよい
。CMS1000の様々な実装は、超大量装置トランザクション及び証明書生成処理に利
用されてよい。様々な実装において、CMS1000は、複数のサーバ、HSM、及びア
プリケーションプラットフォームとして機能する複数の計算エンジン又はコンピューティ
ングエンジンを使用して実装されてよい。すなわち、図10A及び図10Bに示されてい
るように、登録局、証明書局、及び結合局の図示されたアプリケーションは各々、ソフト
ウェアアプリケーションをホストして実行できる1つ以上の計算エンジンを動作させる。
CMS1000は図4A及び図4Bを参照して上述したCMS400と同様であり、違
いは、アプリケーションをホストして実行するために計算エンジン1025、1035、
1045、1050、1060を使用する点にある。すなわち、CMS1000アーキテ
クチャはCMS400のアーキテクチャの代替案であり、登録局、加入証明書局、匿名証
明書局、及び結合局のアプリケーションは、各自の専用計算エンジン1025、1035
、1045、1050、1060上で実行する。CMS1000では、HSMを必要とす
る全ての暗号操作が計算エンジン(例えば、計算エンジン1025、1035、1045
、1050、及び1060)で遂行され、計算エンジンは関連アプリケーションも実行す
る。有利なことに、アプリケーションと暗号操作を計算エンジン1025、1035、1
045、1050、1060で実行することにより、CMS1000のアーキテクチャは
必要なメッセージキューの数を減らす。
図10A及び図10Bの例で、計算エンジンは、登録局アプリケーションをホストして
実行する登録局計算エンジン1025と、加入証明書局アプリケーションをホストして実
行する働きをする加入証明書局計算エンジン1035と、匿名証明書局アプリケーション
をホストして実行する働きをする匿名証明書局計算エンジン1045と、結合局1アプリ
ケーションをホストして実行する結合局1計算エンジン1050と、結合局2アプリケー
ションをホストして実行する働きをする結合局2 1060とを含む。
図10A及び図10Bに示されているように、入力メッセージキュー1010、101
2、1014、1016、1018を含むメッセージングサブシステム又はメッセージキ
ューイングサービスによって登録局1005が他のコンポーネントに接続されており、か
つ他のコンポーネントが互いに接続されている。図10A及び図10Bの例示的実装で、
入力メッセージキュー1010、1012、1014、1016、1018は単方向性で
あるから、メッセージはこれらのキューの中で一方向に(例えば、クライアントからサー
バへ)流れる。これは、それぞれのアプリケーションを各々ホストして実行する計算エン
ジンの各々につき単一の入力キューを設けることにより、簡素さという技術的なメリット
を提供する。
入力メッセージキュー1010、1012、1014、1016、1018を使用して
計算エンジンを互いに通信可能なように接続することにより、計算エンジンは必要に応じ
て個別に拡張できる。すなわち、登録局、加入証明書局、匿名証明書局、及び結合局アプ
リケーションのアプリケーションプラットフォームとして働く各計算エンジンは、それぞ
れの入力メッセージキューを通じて通信可能なように接続されているので、CMS100
0のこれらのコンポーネントとデータベース1070はいずれも互いに個別に拡張する。
図11は、本発明の実装と一致するシステム及び方法を実装するために使用されてよい
、コンピューティングシステム1100を含む、コンピューティング環境1101の一例
のブロック図である。他のコンポーネント及び/又は機構が使用されてもよい。一部の実
装においては、とりわけ図4及び図6~図10のプロビジョニングコントローラ120、
DAMS110、及び計算エンジン、並びに図7のロードバランサ710~719など、
図1~図10の様々なコンポーネントを少なくとも部分的に実装するためにコンピューテ
ィングシステム1100が使用されてよい。一部の実装においては、図1~図10のコン
ポーネントのいずれか1つを実装するため、コンピューティングシステム1100と同様
の一連のコンピューティングシステムを特殊なハードウェアで各々カスタマイズしてよく
、及び/又は特殊なサーバとして各々プログラミングしてよく、これらのコンポーネント
はネットワーク1135を通じて互いに通信できる。
図11に示された例で、コンピューティングシステム1100は、CPU1105、メ
モリ1110、入力/出力(I/O)装置1125、ハードウェア・セキュリティ・モジ
ュール(HSM)1140、不揮発性ストレージデバイス1120など、数々のコンポー
ネントを含む。システム1100は様々な形で実装されてよい。例えば、統合されたプラ
ットフォーム(サーバ、ワークステーション、パーソナルコンピュータ、ラップトップな
ど)としての実装は、CPU1105と、メモリ1110と、不揮発性ストレージ112
0と、I/O装置1125とを備えてよい。かかる構成では、コンポーネント1105、
1110、1120、及び1125がローカルデータバスを通じて接続及び通信してよく
、外部のI/O接続を通じて(例えば、別個のデータベースシステムとして実装された)
データリポジトリ1130にアクセスしてよい。I/Oコンポーネント1125は、直接
的な通信リンク(例えば、有線接続又はローカルwifi接続)を通じて、ローカルエリ
アネットワーク(LAN)やワイドエリアネットワーク(携帯電話網やインターネットな
どのWAN)などのネットワークを通じて、及び/又は他の適当な接続を通じて、外部の
装置に接続してよい。システム1100は独立型であってよく、あるいはより大規模なシ
ステムのサブシステムであってもよい。
CPU1105は、Santa Clara,CAのIntel(登録商標)Corp
orationによって製造されているCore(登録商標)ファミリーに属するマイク
ロプロセッサ、又はSunnyvale,CAのAMD(登録商標)Corporati
onによって製造されているAthlon(登録商標)ファミリーに属するマイクロプロ
セッサなど、1つ以上の既知のプロセッサ又は処理装置であってよい。メモリ1110は
、本発明の実装に関係する何らかの機能、方法、及びプロセスを遂行するためにCPU1
105によって実行又は使用される命令と情報を保存するように構成された1つ以上の高
速ストレージデバイスであってよい。ストレージ1120は、長期保存を目的とするCD
及びDVD及びソリッド・ステート・デバイスなどのデバイスを含む、揮発性又は不揮発
性、磁気式、半導体、テープ、光学式、又は他の種類のストレージデバイス又はコンピュ
ータ可読媒体であってよい。
図示されている実装において、メモリ1110は、ストレージ1120から、又は遠隔
地のシステム(図示せず)から、読み込まれた1つ以上のプログラム又はアプリケーショ
ン1115を収容し、1つ以上のプログラム又はアプリケーション1115は、CPU1
105によって実行されると、本発明と一致する様々な工程、手順、プロセス、又は方法
を遂行する。代わりに、CPU1105は、システム1100から遠隔の場所にある1つ
以上のプログラムを実行してもよい。例えば、システム1100はネットワーク1135
を通じて1つ以上の遠隔地のプログラムにアクセスしてよく、1つ以上の遠隔地のプログ
ラムは、実行されると、本発明の実装に関係する機能及びプロセスを遂行する。
一実装において、メモリ1110は、プロビジョニングコントローラ120、DAMS
110、及び/又はディストリビュータ装置118、131のために、本明細書で説明さ
れている特殊な機能と工程を遂行するプログラム1115を含むことができる。一部の実
装において、メモリ1110は、本発明に補助的機能を提供する他の方法やプロセスを実
施する他のプログラム又はアプリケーションを含むこともできる。
メモリ1110は、本発明とは無関係の他のプログラム(図示せず)、及び/又はCP
U1105によって実行されたときにいくつかの公知の機能を遂行するオペレーティング
システム(図示せず)で構成されてもよい。一例として、オペレーティングシステムは、
Microsoft Windows(登録商標)、Unix(登録商標)、Linux
(登録商標)、Apple Computers(登録商標)のオペレーティングシステ
ム、又は他のオペレーティングシステムであってよい。オペレーティングシステムの選択
は本発明にとって重要ではなく、オペレーティングシステムの使用すら本発明にとって重
要ではない。
HSM1140は、独自のプロセッサを備え、デジタルセキュリティアセットをセキュ
アに生成し保存する、及び/又は様々な暗号計算や機密計算をセキュアに遂行する、装置
であってよい。HSM1140は、暗号鍵などのデジタルセキュリティアセットや他の機
密データを攻撃者によるアクセスから守る。一部の実装において、HSMは、コンピュー
ティングシステム1100に直接取り付けられるプラグインカード又はボードであってよ
い。
I/O装置1125は、システム1100によるデータ受信及び/又は送信を可能にす
る1つ以上の入力/出力装置を備えてよい。例えば、I/O装置1125は、ユーザから
のデータ入力を可能にする、キーボード、タッチスクリーン、マウス、及び同類のものな
ど、1つ以上の入力装置を含んでよい。さらに、I/O装置1125は、ユーザへのデー
タ出力又は提示を可能にする、表示画面、CRTモニター、LCDモニター、プラズマデ
ィスプレイ、プリンタ、スピーカ装置、及び同類のものなど、1つ以上の出力装置を含ん
でよい。I/O装置1125はまた、コンピューティングシステム1100が、例えばデ
ジタル方式で、他のマシンや装置と通信することを可能にする、1つ以上のデジタル及び
/又はアナログ通信入力/出力装置を含んでよい。別の構成及び/又は数の入力及び/又
は出力装置がI/O装置1125に組み込まれてもよい。
図示された実装において、システム1100はネットワーク1135(インターネット
、プライベートネットワーク、仮想プライベートネットワーク、セルラーネットワーク、
又は他のネットワーク、又はこれらの組み合わせなど)に接続されており、ネットワーク
1135は、サーバ、パーソナルコンピュータ、ラップトップコンピュータ、クライアン
ト装置、などをはじめとする様々なシステムやコンピューティングマシンに接続されてよ
い。概して、システム1100は、ネットワーク1135を通じて、外部のマシン及び装
置からデータを入力でき、かつ外部のマシン及び装置にデータを出力できる。
図11に示された例示的な実装において、データソース1130は、データベース12
5など、システム1100外部の独立したデータベースである。別の実装において、デー
タソース1130はシステム1100によってホストされてもよい。様々な実装において
、データソース1130は、本発明と一致するシステム及び方法を実施するために使用さ
れるデータを管理し保存することができる。例えば、データソース1130は、システム
110によってプロビジョニングされる各装置116のステータス情報とログ情報、及び
同類のものを包含するデータ構造を管理し保存することができる。
データソース1130は、情報を保存し、システム1100を通じてアクセス及び/又
は管理される、1つ以上のデータベースを備えてよい。一例として、データベース113
0は、Oracle(登録商標)データベース、Sybase(登録商標)データベース
、又は他のリレーショナルデータベースであってよい。ただし、本発明と一致するシステ
ム及び方法は、別個のデータ構造又はデータベースに限定されず、データベース又はデー
タ構造の使用にすら限定されない。
当業者なら、図11のシステムのコンポーネントと実装の詳細が、説明を簡潔かつ明確
にするために提示された例であることを認めるであろう。他のコンポーネントや実装の詳
細を使用することもできる。
前述の例では、説明を明確にするために、OBU、ECU、RSUといったコンピュー
タ化装置の具体例を使用しているが、本発明はそれらの具体例に限定されない。本発明と
一致する様々な実装は、とりわけ医療装置(例えば、透析装置、注入ポンプなど)、ロボ
ット、ドローン、自律走行車、無線通信モジュール(例えば、組込み型汎用集積回路カー
ド(eUICC))などをはじめとする様々なコンピュータ化装置と共に利用されてよく
、また様々なコンピュータ化装置のために利用されてよい。
本明細書で説明されているアプリケーションの様々な工程は、1つ以上のVMによって
少なくとも部分的には遂行されてよい。追加の実装又は代替の実装において、本明細書で
説明されているアプリケーションの工程は、該当する工程を遂行する形に、(例えば、ソ
フトウェアによって)一時的に構成された、又は永久的に構成された、1つ以上のプロセ
ッサによって、少なくとも部分的には遂行されてよい。かかるプロセッサは、一時的に構
成されたものであろうと永久的に構成されたものであろうと、本明細書で説明されている
1つ以上のアプリケーションの工程、機能、及び役割を遂行する働きをするプロセッサ実
装型モジュールを構成してよい。本明細書で使われている用語「プロセッサ実装型モジュ
ール」は、1つ以上のプロセッサを使用して実装されたハードウェアモジュールを指す。
同様に、本明細書で説明されている方法は、少なくとも部分的にはプロセッサ実装型で
あってよく、ある特定の1つ又は複数のプロセッサはハードウェアの一例である。例えば
、ある方法の複数工程の少なくとも一部は、1つ以上のプロセッサかプロセッサ実装型モ
ジュールによって遂行されてよい。さらに、1つ以上のプロセッサは、「クラウドコンピ
ューティング」環境の中で、又は「ソフトウェア・アズ・ア・サービス」(SaaS)と
して、該当する工程の遂行を支援する働きをしてもよい。例えば、複数工程の少なくとも
一部は、一団のコンピュータ(プロセッサを含むマシンの例として)によって遂行されて
よく、これらの工程は、ネットワーク(例えば、インターネット)を通じて、また1つ以
上の適切なインターフェイス(例えば、API)を通じて、アクセス可能である。
いくつかの工程の遂行は、単一のマシンの中にあるばかりでなく、いくつかのマシンに
わたって配備された、プロセッサの間で分散されてよい。一部の例示的実装において、プ
ロセッサ又はプロセッサ実装型モジュールは、単一の地理的場所に(例えば、オフィス環
境、製造環境、又はサーバファームの中に)置かれてよい。他の例示的実装において、プ
ロセッサ又はプロセッサ実装型モジュールは、多数の地理的場所にまたがって分散されて
もよい。
本発明の他の実装は、本明細書の考察と本明細書で開示されている発明の実施から当業
者に明白となるであろう。本明細書と例は単なる例示とみなすべきものであり、本発明の
真の範囲は以下の請求項によって示される。

Claims (16)

  1. プロビジョニングコントローラに証明書をセキュアに提供する拡張可能な証明書管理シ
    ステムであって、前記証明書管理システムが、
    登録局アプリケーションを実行し、前記登録局アプリケーションによって要求される暗
    号計算を遂行する1つ以上の計算エンジンへ通信可能なように接続された、1つ以上のア
    プリケーションプラットフォームと、
    加入証明書局アプリケーションを実行し、前記加入証明書局アプリケーションによって
    要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能なように接続された、
    1つ以上のアプリケーションプラットフォームであって、前記加入証明書局アプリケーシ
    ョンが加入証明書を生成して前記登録局アプリケーションへ条件付きで送信する働きをす
    る、1つ以上のアプリケーションプラットフォームと、
    匿名証明書局アプリケーションを実行し、前記匿名証明書局アプリケーションによって
    要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能なように接続された、
    1つ以上のアプリケーションプラットフォームであって、前記匿名証明書局アプリケーシ
    ョンが匿名証明書を生成して前記登録局アプリケーションへ条件付きで送信する働きをす
    る、1つ以上のアプリケーションプラットフォームと、
    第1の結合局アプリケーションを実行し、前記第1の結合局アプリケーションによって
    要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能なように接続された、
    1つ以上のアプリケーションプラットフォームと、
    第2の結合局アプリケーションを実行し、前記第2の結合局アプリケーションによって
    要求される暗号計算を遂行する1つ以上の計算エンジンへ通信可能なように接続された、
    1つ以上のアプリケーションプラットフォームであって、前記第1の結合局アプリケーシ
    ョンと前記第2の結合局アプリケーションが結合値を生成して前記登録局アプリケーショ
    ンへ条件付きで送信する働きをする、1つ以上のアプリケーションプラットフォームとを
    備える、証明書管理システム。
  2. 前記証明書管理システムが、前記登録局アプリケーションを実行する前記1つ以上のア
    プリケーションプラットフォーム、前記加入証明書局アプリケーションを実行する前記1
    つ以上のアプリケーションプラットフォーム、前記匿名証明書局アプリケーションを実行
    する前記1つ以上のアプリケーションプラットフォーム、前記第1の結合局アプリケーシ
    ョンを実行する前記1つ以上のアプリケーションプラットフォーム、及び前記第2の結合
    局アプリケーションを実行する前記1つ以上のアプリケーションプラットフォームへ動作
    可能なように接続された1つ以上のデータベースをさらに備える、請求項1に記載の証明
    書管理システム。
  3. 前記登録局アプリケーション、前記加入証明書局アプリケーション、前記匿名証明書局
    アプリケーション、前記第1の結合局アプリケーション、前記第2の結合局アプリケーシ
    ョン、及び前記1つ以上のデータベースの各々が、互いに独立して拡張される働きをする
    、請求項2に記載の証明書管理システム。
  4. 前記加入証明書局アプリケーションが、前記登録局アプリケーションから加入証明書の
    要求を受信したことに応答して加入証明書を生成する働きをし、
    前記加入証明書局アプリケーションが、前記登録局アプリケーションから匿名証明書の
    要求を受信したことに応答して匿名証明書を生成する働きをし、
    前記第1の結合局アプリケーションと前記第2の結合局アプリケーションが、前記登録
    局アプリケーションから結合値の要求を受信したことに応答して結合値を生成する働きを
    する、
    請求項1に記載の証明書管理システム。
  5. 前記登録局アプリケーション、前記加入証明書局アプリケーション、前記匿名証明書局
    アプリケーション、前記第1の結合局アプリケーション、及び前記第2の結合局アプリケ
    ーションの各々が、複数のメッセージキューを備えるメッセージキューイングサービスに
    よって互いに通信可能なように接続される、請求項1に記載の証明書管理システム。
  6. 前記加入証明書局アプリケーションを実行する前記1つ以上のアプリケーションプラッ
    トフォームが、第1の複数のメッセージキューによって、前記加入証明書局アプリケーシ
    ョンによって要求される前記暗号計算を遂行する前記1つ以上の計算エンジンへ通信可能
    なように接続された1つ以上の仮想マシンであり、
    前記第1の結合局アプリケーションを実行する前記1つ以上のアプリケーションプラッ
    トフォームが、第2の複数のメッセージキューによって、前記第1の結合局アプリケーシ
    ョンによって要求される前記暗号計算を遂行する前記1つ以上の計算エンジンへ通信可能
    なように接続された1つ以上の仮想マシンであり、
    前記第2の結合局アプリケーションを実行する前記1つ以上のアプリケーションプラッ
    トフォームが、第3の複数のメッセージキューによって、前記第2の結合局アプリケーシ
    ョンによって要求される前記暗号計算を遂行する前記1つ以上の計算エンジンへ通信可能
    なように接続された1つ以上の仮想マシンである、
    請求項1に記載の証明書管理システム。
  7. 前記第1の複数のメッセージキューが、
    前記加入証明書局アプリケーションを実行する前記1つ以上の仮想マシンへ送付される
    メッセージを入れる第1のメッセージキューと、
    前記加入証明書局アプリケーションによって要求される前記暗号計算を遂行する前記1
    つ以上の計算エンジンへ送付されるメッセージを入れる第2のメッセージキューとを備え

    前記第2の複数のメッセージキューが、
    前記第1の結合局アプリケーションを実行する前記1つ以上の仮想マシンへ送付される
    メッセージを入れる第3のメッセージキューと、
    前記第1の結合局アプリケーションによって要求される前記暗号計算を遂行する前記1
    つ以上の計算エンジンへ送付されるメッセージを入れる第4のメッセージキューとを備え

    前記第3の複数のメッセージキューが、
    前記第2の結合局アプリケーションを実行する前記1つ以上の仮想マシンへ送付される
    メッセージを入れる第5のメッセージキューと、
    前記第2の結合局アプリケーションによって要求される前記暗号計算を遂行する前記1
    つ以上の計算エンジンへ送付されるメッセージを入れる第6のメッセージキューとを備え
    る、
    請求項6に記載の証明書管理システム。
  8. 前記第1の複数のメッセージキューが、
    前記加入証明書局アプリケーションを実行する前記1つ以上の仮想マシンへ送付される
    メッセージと、前記1つ以上の仮想マシンから送信されるメッセージとを入れる第1の双
    方向メッセージキューと、
    前記加入証明書局アプリケーションによって要求される前記暗号計算を遂行する前記1
    つ以上の計算エンジンへ送付されるメッセージと、前記1つ以上の計算エンジンから送信
    されるメッセージとを入れる第2の双方向メッセージキューとを備え、
    前記第2の複数のメッセージキューが、
    前記第1の結合局アプリケーションを実行する前記1つ以上の仮想マシンへ送付される
    メッセージと、前記1つ以上の仮想マシンから送信されるメッセージとを入れる第3の双
    方向メッセージキューと、
    前記第1の結合局アプリケーションによって要求される前記暗号計算を遂行する前記1
    つ以上の計算エンジンへ送付されるメッセージと、前記1つ以上の計算エンジンから送信
    されるメッセージとを入れる第4の双方向メッセージキューとを備え、
    前記第3の複数のメッセージキューが、
    前記第2の結合局アプリケーションを実行する前記1つ以上の仮想マシンへ送付される
    メッセージと、前記1つ以上の仮想マシンから送信されるメッセージとを入れる第5の双
    方向メッセージキューと、
    前記第2の結合局アプリケーションによって要求される前記暗号計算を遂行する前記1
    つ以上の計算エンジンへ送付されるメッセージと、前記1つ以上の計算エンジンから送信
    されるメッセージとを入れる第6の双方向メッセージキューとを備える、
    請求項6に記載の証明書管理システム。
  9. 前記加入証明書局アプリケーションを実行する前記1つ以上のアプリケーションプラッ
    トフォームが、第1のロードバランサによって、前記加入証明書局アプリケーションによ
    って要求される前記暗号計算を遂行する前記1つ以上の計算エンジンへ通信可能なように
    接続され、
    前記第1の結合局アプリケーションを実行する前記1つ以上のアプリケーションプラッ
    トフォームが、第2のロードバランサによって、前記第1の結合局アプリケーションによ
    って要求される前記暗号計算を遂行する前記1つ以上の計算エンジンへ通信可能なように
    接続され、
    前記第2の結合局アプリケーションを実行する前記1つ以上のアプリケーションプラッ
    トフォームが、第3のロードバランサによって、前記第2の結合局アプリケーションによ
    って要求される前記暗号計算を遂行する前記1つ以上の計算エンジンへ通信可能なように
    接続される、
    請求項1に記載の証明書管理システム。
  10. 前記第1のロードバランサ、前記第2のロードバランサ、及び前記第3のロードバラン
    サが各々、ロードバランサ仮想マシンとロードバランササーバのいずれか1つ以上を備え

    前記ロードバランサ仮想マシンと前記ロードバランササーバが各々、複数のアプリケー
    ションプラットフォームと複数の計算エンジンにわたって作業負荷を分散するように構成
    される、
    請求項9に記載の証明書管理システム。
  11. 前記ロードバランサ仮想マシンと前記ロードバランササーバが各々、ラウンドロビン手
    法を用いて、前記複数のアプリケーションプラットフォームと前記複数の計算エンジンに
    わたって作業負荷を分散するように構成される、請求項10に記載の証明書管理システム
  12. 前記ロードバランサ仮想マシンと前記ロードバランササーバが、前記複数のアプリケー
    ションプラットフォームの各々と前記複数の計算エンジンの各々によって報告されるそれ
    ぞれの作業負荷に基づいて、前記複数のアプリケーションプラットフォームと前記複数の
    計算エンジンにわたって作業負荷を分散するように各々構成される、請求項10に記載の
    証明書管理システム。
  13. 前記プロビジョニングコントローラが、
    コンピュータ化装置の代わりに、加入証明書の要求を前記登録局アプリケーションへ送
    信し、
    前記加入証明書局アプリケーションによって生成される前記加入証明書を前記登録局ア
    プリケーションから受信し、
    前記加入証明書を前記コンピュータ化装置へ送信し、
    前記コンピュータ化装置の代わりに、複数の匿名証明書の要求を前記登録局アプリケー
    ションへ送信し、
    前記匿名証明書局アプリケーションによって生成される前記複数の匿名証明書を前記登
    録局アプリケーションから受信し、
    前記複数の匿名証明書を前記コンピュータ化装置へ送信し、
    前記コンピュータ化装置に関連するログを作成及び保守し、かつ
    前記コンピュータ化装置の証明書活動に関する情報を保存する働きをする、
    請求項1に記載の証明書管理システム。
  14. 前記証明書管理システムがさらに、前記コンピュータ化装置に関係する証明書活動に関
    する情報を、前記ログに保存するため前記プロビジョニングコントローラへ送信する働き
    をする、請求項13に記載の証明書管理システム。
  15. 前記プロビジョニングコントローラがさらに、前記加入証明書の前記要求を前記登録局
    アプリケーションへ送信する前に、前記コンピュータ化装置を認証する働きをする、請求
    項13に記載の証明書管理システム。
  16. 加入証明書が公開鍵証明書であり、前記公開鍵証明書が、前記公開鍵証明書のホルダを
    、複数のコンピュータ化装置を含むエコシステム内の認可されたパーティシパントとして
    識別し、前記エコシステム内の認可された各パーティシパントが、前記複数のコンピュー
    タ化装置との通信を可能にする1つ以上の匿名証明書を受け取ることができる、請求項1
    に記載の証明書管理システム。
JP2023097452A 2018-07-07 2023-06-14 拡張可能な証明書管理システムアーキテクチャ Pending JP2023120287A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16/029,559 US10581620B2 (en) 2016-11-14 2018-07-07 Scalable certificate management system architectures
US16/029,559 2018-07-07
PCT/US2019/040064 WO2020014024A1 (en) 2018-07-07 2019-07-01 Scalable certificate management system architectures
JP2021500186A JP7297861B2 (ja) 2018-07-07 2019-07-01 拡張可能な証明書管理システムアーキテクチャ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021500186A Division JP7297861B2 (ja) 2018-07-07 2019-07-01 拡張可能な証明書管理システムアーキテクチャ

Publications (1)

Publication Number Publication Date
JP2023120287A true JP2023120287A (ja) 2023-08-29

Family

ID=69142492

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021500186A Active JP7297861B2 (ja) 2018-07-07 2019-07-01 拡張可能な証明書管理システムアーキテクチャ
JP2023097452A Pending JP2023120287A (ja) 2018-07-07 2023-06-14 拡張可能な証明書管理システムアーキテクチャ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021500186A Active JP7297861B2 (ja) 2018-07-07 2019-07-01 拡張可能な証明書管理システムアーキテクチャ

Country Status (6)

Country Link
EP (1) EP3818457A4 (ja)
JP (2) JP7297861B2 (ja)
KR (1) KR20210028637A (ja)
CN (1) CN112513840A (ja)
AU (1) AU2019300777A1 (ja)
WO (1) WO2020014024A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240073030A1 (en) * 2022-08-26 2024-02-29 Motorola Solutions, Inc. Certificate entitlement licenses for authenticating public key infrastructure certificate enrollment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328344B2 (en) * 2001-09-28 2008-02-05 Imagitas, Inc. Authority-neutral certification for multiple-authority PKI environments
US8627063B2 (en) * 2009-12-23 2014-01-07 Citrix Systems, Inc. Systems and methods for flash crowd control and batching OCSP requests via online certificate status protocol
US20140280595A1 (en) * 2013-03-15 2014-09-18 Polycom, Inc. Cloud Based Elastic Load Allocation for Multi-media Conferencing
US10069903B2 (en) * 2013-04-16 2018-09-04 Amazon Technologies, Inc. Distributed load balancer
EP3278213A4 (en) * 2015-06-05 2019-01-30 C3 IoT, Inc. SYSTEMS, METHODS AND DEVICES FOR AN APPLICATION DEVELOPMENT PLATFORM OF AN INTERNET OF THE THINGS OF A COMPANY
CA3080676C (en) * 2016-01-28 2022-04-05 Etas Embedded Systems Canada Inc. System and method for certificate selection in vehicle-to-vehicle applications to enhance privacy
WO2018089990A1 (en) * 2016-11-14 2018-05-17 INTEGRITY Security Services, Inc. Secure provisioning and management of devices
US10826905B2 (en) * 2016-12-05 2020-11-03 Citrix Systems, Inc. Secure access to on-premises web services from multi-tenant cloud services

Also Published As

Publication number Publication date
EP3818457A4 (en) 2022-03-30
JP7297861B2 (ja) 2023-06-26
KR20210028637A (ko) 2021-03-12
CN112513840A (zh) 2021-03-16
EP3818457A1 (en) 2021-05-12
WO2020014024A1 (en) 2020-01-16
AU2019300777A1 (en) 2021-01-07
JP2021530169A (ja) 2021-11-04

Similar Documents

Publication Publication Date Title
US11997220B2 (en) Scalable certificate management system architectures
US11586709B2 (en) Secure provisioning and management of devices
US10382213B1 (en) Certificate registration
US9160723B2 (en) Framework for provisioning devices with externally acquired component-based identity data
JP2023120287A (ja) 拡張可能な証明書管理システムアーキテクチャ

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230710

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240611