(58)【調査した分野】(Int.Cl.,DB名)
前記プロビジョニングコントローラに動作可能に接続され、前記コンピュータ化された機器の製造業者を認証し、前記製造業者が前記コンピュータ化された機器のプロビジョニングを管理することを可能にする第1のポータルをさらに含む、請求項1に記載のコンピュータ化された機器を安全にプロビジョニングするためのシステム。
前記プロビジョニングコントローラに動作可能に接続され、前記コンピュータ化された機器の設置業者を認証し、前記設置業者が前記コンピュータ化された機器のプロビジョニングを管理することを可能にする第2のポータルをさらに含む、請求項4に記載のコンピュータ化された機器を安全にプロビジョニングするためのシステム。
前記プロビジョニングコントローラに動作可能に接続され、前記コンピュータ化された機器のレギュレータを認証し、前記レギュレータが前記コンピュータ化された機器のプロビジョニングを管理することを可能にする第3のポータルをさらに含む、請求項1に記載のコンピュータ化された機器を安全にプロビジョニングするためのシステム。
前記コンピュータ化された機器は、埋め込み型ユニバーサル集積回路カード(eUICC)である、請求項1に記載のコンピュータ化された機器を安全にプロビジョニングするためのシステム。
【発明を実施するための形態】
【0023】
ここで、本発明の様々な実施形態について詳細に言及するが、それらの例は添付の図面に示されている。都合のよい場合にはいつでも、同じまたは同様の部分を指すために、図面全体を通して同じ符号を使用する。
【0024】
現場での安全で適切な動作を保証するために、組込み機器(例えば、車両に使用される電子制御ユニット(ECU))は、セキュリティ資産などのデジタル資産をプロビジョニングすることによって製造中に適切に初期化される必要がある。デジタル資産には、様々な暗号化キー、一意の識別子、デジタル証明書、およびソフトウェアを含めることができる。ほとんどの場合、これらのデジタル資産の起源と製造工場は、地理的に異なる場所にあり、これらの場所は、従来、安全でないインターネット通信を介して相互接続されている。したがって、デジタル資産が悪意のある者によってまたは偶然にアクセスまたは変更されることがないように、これらのデジタル資産の起点から機器へのエンドツーエンドの安全なチャネルを作成することが望ましい。
【0025】
TLS/SSLなどのエンドツーエンド保護のための従来のネットワークセキュリティプロトコルには、両方の通信側に事前共有キーまたは特定の秘密セキュリティ資料が予め存在することが必要であるという欠点がある。これは、デジタル資産をプロビジョニングするために、いくつかの初期の秘密資料が事前に存在しなければならないという点で、周期的な技術的問題を引き起こす。この問題には、いかに最初の秘密資料を保護するか、という事が含まれている。物流を単純化するために、通常、初期ソフトウェアの単一バージョンが製造中にコンピュータ化された機器にロードされるので、この問題はコンピュータ化された機器にとって特に深刻である。この初期ソフトウェアに初期セキュリティ資料を含める必要がある場合、これにはグローバルシークレットが存在する必要がある。結果として、初期のセキュリティ資料を危険にさらすことは、それらがすべて同じグローバルシークレットを共有するので、すべての機器上にプロビジョニングされるすべてのデジタル資産の漏洩につながるであろう。本開示と一致するシステム、方法、および機器は、従来のプロビジョニングシステムのこれらのおよび他の問題に対処する。
【0026】
プロビジョニングとは一般的に、適切なデータとソフトウェアを使ってコンピュータ化された機器を準備するためにとられる一連のアクションを指す。それはまた、機器をその運用環境に適切に設置して運用準備を整えるためにとられる一連のアクションも含むことができる。アクションは、適切なデジタル資産(例えば、オペレーティングシステム、機器ドライバ、ミドルウェア、アプリケーション、デジタル証明書など)を機器のデジタルストレージ(例えば、メモリ)にロードすること、および(必要な場合)各々の特定の機器に固有であり得る特定のデジタル資産を機器上で適切にカスタマイズし構成することを含む。アクションはまた、コンピュータ化された機器が正当な機器製造業者によって作成された正当な機器であり、コピーまたは偽造の機器ではないことを検証することを含むことができる。
【0027】
アクションはまた、機器をその動作環境に正しく設置すること、および機器が正しく動作していることを検証するためにそれをテストすることを含むことができる。機器が1つの製造業者によって構築され、後で別の業者によってより大きなシステムまたは機器に設置される可能性がある(例えば、部品メーカーにより作られたオンボードユニット(OBU)が、自動車メーカーによって作られた自動車に取り付けられる可能性がある)という事実によって、安全性が確認されている機器のみを安全にプロビジョニングする機能は複雑である。不適切に設置された機器は、正しく機能しない可能性がある。
【0028】
本発明と一致した様々な実施形態は、IoT機器を含むコンピュータ化された機器の安全なプロビジョニングを提供する。そのような実施形態は、コンピュータ化された機器によって使用されるデジタル資産の悪意のある、過失の、または誤った改ざん、改変、更新、またはリリースを防止または禁止し、コンピュータ化された機器およびそれらのソフトウェアの不適切な設置を防止または禁止するのに役立つ。
【0029】
本発明と一致した様々な実施形態はまた、安全なプロビジョニングプロセスの監査ログ、記録、報告などを生成することができ、それは後で発見された問題を分析し解決するために使用することができる。
【0030】
本発明と一致した様々な実施形態は、機器およびシステム製造業者へのサービスとして提供され得る安全なプロビジョニングおよび管理プラットフォームも提供することができる。
【0031】
図1は、本発明の実施形態と一致する、コンピュータ化された機器の安全なプロビジョニングのためのシステム100の一例を示すブロック図である。
図1の例に示すように、システム100はプロビジョニングコントローラ120を含む。プロビジョニングコントローラ120は、デジタルセキュリティ資産を安全に生成および格納し、様々な暗号化および機密計算を安全に実行する組み込みハードウェアセキュリティモジュール(HSM)を有する(例えば、少なくとも1つのプロセッサおよび関連メモリを有する)サーバコンピュータとして実装することができる。HSMは、暗号キーなどのデジタルセキュリティ資産やその他の機密データを起こり得る攻撃者によるアクセスから保護する。様々な実施形態では、プロビジョニングコントローラ120は、システム100のユーザを認証し、それらと安全に通信するように機能し、1つ以上の配信機器108、131と安全に通信し、それらを管理するように機能し、デジタル資産管理システム(DAMS)110と安全に通信し、その動作を指示するように機能し、プロビジョニングレコードを作成して保存するように機能し、プロビジョニングレコードを作成、保存、配信するように機能し、監査ログを作成、保存、配信するように機能し、DAMS110と配信機器108、131の要素を暗号的に結び付けるために証明書を作成し配信するように機能し、ユーザと管理対象機器が信頼されなくなった場合は、必要に応じてそれらを無効にするように機能し、ビジネス継続性と災害復旧のための、オフサイトストレージ用の重要なキーとデータの安全な暗号化バックアップを作成し配信するように機能する。
【0032】
図1の例に示すように、プロビジョニングコントローラ120は、データベース125に通信可能に接続され、データベース125は、機器106a、106b(まとめて106と呼ぶことがある)の安全なプロビジョニングに関連するデータ、情報、およびデジタル資産を格納することができる。
【0033】
プロビジョニングコントローラ120はまた、製造業者のユーザポータル115に安全に通信可能に接続され、ユーザポータル115は、例えば、サーバとして、またはプロビジョニングコントローラ120へのインターフェースとして実装することができる。様々な実施形態では、機器製造業者105のスタッフ109は、製造業者のユーザポータル115を使用して、プロビジョニングコントローラ120(およびしたがってDAMS110)とインターフェース接続し、それらの機器プロビジョニングアクティビティを管理することができる。様々な実施形態では、製造業者のユーザポータル115は、ユーザ名、パスワード、2ファクタ識別データ、顔認識画像、指紋などの識別情報をスタッフユーザ109から収集し、識別情報をプロビジョニングコントローラ120に提供することができる。プロビジョニングコントローラ120は、スタッフ109に安全なプロビジョニングシステム100へのアクセスを可能にする前に、スタッフ109を認証することができる。例えば、プロビジョニングコントローラ120は、スタッフユーザ109に関連付けられ、以前に検証されてそのデータベース125に格納された識別情報を検索し、格納された識別情報を製造業者のユーザポータル115によって収集された識別情報と比較することができる。あるいはまた、プロビジョニングコントローラ120またはDAMSユーザポータル115は、スタッフ109がシステム100を使用することを認可されているかどうかを判断する、ユーザの企業識別および認証システムと統合されてもよい。様々な実施形態では、プロビジョニングコントローラ120またはDAMSユーザポータル115は、認証に成功したスタッフ109に役割を与え、システム100内での彼らのアクションを制限することができる。いくつかの実施形態では、プロビジョニングコントローラ120は、2セットの識別情報が一致する場合にのみアクセスを可能にすることができる。
【0034】
同様に、プロビジョニングコントローラ120はまた、例えばサーバとして、またはプロビジョニングコントローラ120へのインターフェースとして実装され得る設置業者ユーザポータル116に通信可能に接続される。様々な実施形態では、機器設置業者のスタッフ132は、設置業者ユーザポータル116を使用して、プロビジョニングコントローラ120(およびしたがってDAMS110)とインターフェース接続し、それらの機器設置およびプロビジョニングアクティビティを管理することができる。プロビジョニングコントローラ120は、スタッフ132を認可する前にスタッフ132を認証し、スタッフ132が安全なプロビジョニングシステム100にアクセスしてシステム上で認可された機能を実行することを可能にする前にそれらに役割を割り当てることができる。
【0035】
また同様に、プロビジョニングコントローラ120はまた、例えばサーバとして、またはプロビジョニングコントローラ120へのインターフェースとして実装することができるレギュレータポータル117に通信可能に接続される。様々な実施形態では、プロビジョニングコントローラ120によって認証されると、レギュレータ140は、レギュレータポータル117を使用してプロビジョニングコントローラ120とインターフェース接続し、製造業者104、設置業者130、機器106、および/または機器106に設置されているソフトウェア/デジタル資産のレビューおよび認可を管理することができる。プロビジョニングコントローラ120は、レギュレータ140が安全なプロビジョニングシステム100にアクセスすることを可能にする前に、レギュレータ140を認証することができる。システム100のいくつかの実施形態では、レギュレータ140およびレギュレータポータル117はオプションである。
【0036】
プロビジョニングコントローラ120はさらに、DAMS110と通信可能に接続されている。様々な実施形態では、DAMS110は、サーバ、機器、または安全な機器および/またはサーバのシステムとして実装することができる。DAMS110は、配信機器108、131、または他の安全で認証された接続を介して、プロビジョニングされるエンドエンティティ機器から公開鍵を安全に検索し、機器106に設置されているデジタル証明書および関連データを安全に供給する。また、DAMS110は、製造業者105および設置業者130から、コンピュータ化された機器106のプロビジョニング、設置、機能性などに関するステータス情報を、配信機器108、131を介して安全に受信する。さらに、DAMS110は、
図1に示されるように単一のサイトまたは複数のサイトでこのプロビジョニングを実行することができる。
図4に関してより詳細に説明されるように、DAMS110は、以下の主な要素を含むことができる:ルート認証局(CA)、ポリシージェネレータ、CRLジェネレータ、不正行為局、中間CA、登録CA、連携局、偽名CA、および登録局。
【0037】
DAMS110は、新しい機能性を追加し、William Whyteらによる2013年12月の2013 IEEE Vehicular Networking Conferenceによる論文「V2V通信のための安全な信用証明書管理システム」に記載されているコンポーネントおよび機能性を改善する。様々な実施形態では、DAMS110は、多段階プログラミングおよび柔軟な管理を含む(例えば、レギュレータ140を含めることを可能にする)。DAMS110の様々な実施形態はまた、単一のDAMS110が異なる加入者に異なるレベルのプロビジョニングを提供することを可能にする機能を可能にする。DAMS110の様々な実施形態はまた、加入者がある期間中(例えば、1週間あたり)に異なるデジタル証明書の使用ならびに異なる証明書のロード(従来のシステムのような3年の代わりに1週間など)を割り当てることを可能にする機能を可能にする。特定の製造業者のコンピュータ化された機器106(例えば、OEMの自動車)が製造業者の範囲内に留まる(例えば、それらのURLがそれらの名前を示す)ことができるように、DAMS110の様々な実施形態は加入者固有のURLも提供し得る。
【0038】
図示されるように、プロビジョニングコントローラ120はまた、配信機器108、131に通信可能に接続される。様々な実施形態において、配信機器108、131は、とりわけ(図示のように)会社の敷地に設置されたスタンドアロンの安全な機器として、またはウェブサービスまたはクラウドサービスとして実装することができる。様々な実施形態では、配信機器108、131は、好ましくは専用の非インターネット通信チャネルを介してDAMS110およびプロビジョニングコントローラ120との間でデジタル資産および他の情報を安全に送受信する信頼できるエンドポイント機器として実現される。図示されるように、配信機器108、131はまた、デジタル資産を機器106a、106bにダウンロードし、そこからデータを受信するために、機器106a、106bと直接的または間接的のいずれかで接続する。様々な実施形態では、配信機器108、131は、ハードウェアセキュリティモジュール、強化オペレーティングシステム(OS)、内部ファイアウォール、および内部ホスト侵入検知/防御システムを備えた(例えば、少なくとも1つのプロセッサおよび関連メモリを有する)サーバコンピュータを含むボックスとして実装できる。配信機器は、信頼できない環境で動作するように特に設計されてもよく、それでもなお信頼され信頼できる動作を提供する。配信機器は、それ自体と安全なプロビジョニングコントローラ120およびDAMS110との間に安全な通信チャネルを有する。このチャネルは、配信機器を制御し、プロビジョニング関連のデータとログ情報を送受信するために使用される。配信機器はまた、機器106をプログラムまたはプロビジョニングするために使用されるテスタ107への安全な通信チャネルを有することができる。このチャネルは、製造場所の通信ネットワーク上でプロビジョニングデータとログデータが漏洩されたり変更されたりすることから保護する。配信機器108はまた、プロビジョニングデータが(不正テスタ107を含む)第三者によって危険にさらされたり変更されたりすることができないように、プログラムされる機器106と直接的に安全な通信チャネルを確立することができる。様々な実施形態では、配信機器は、それがプロビジョニングしようとしている機器106から、公開鍵およびマイクロプロセッサのシリアル番号などの他のデータを収集することができる。配信機器は、この情報をプロビジョニングコントローラ120および/またはDAMS110に送信することができる。配信機器はまた、機器106内にプログラムするために、プロビジョニングコントローラ120および/またはDAMS110からデータおよびコマンドおよび他の情報を受け取ることができる。配信機器はそれ自身のログデータを返すことができ、そして配信機器はテスタ107からプロビジョニングコントローラ120および/またはDAMS110へデータを返すことができる。
【0039】
機器製造業者105に関して図示されているように、配信機器108はテスタ107(例えば、コンピュータ化された製造装置、製品検査機器など)に通信可能に接続することができ、テスタ107は次いで、OBU機器などの製造業者105によって製造された機器106aに接続される。製造業者105は、コンピュータ化された機器106aを製造するおよび/または市場に供給する工場を含むか、またはそのような工場とすることができる。多くの可能な例のうちの1つとして、コンピュータ化された機器106aは、自動車と交通インフラ機器間の通信用に後で自動車に設置されるオンボードユニット(OBU)の一部として組み込まれる、電気通信用のセルラーモデムで使用される組み込み型ユニバーサル集積回路カード(eUICC)とすることができる。それは、他の車両や路側機(RSU)と通信するためにOBUに搭載されたV2Vセキュアマイクロプロセッサとすることもできる。これらの新しく製造された機器106aは、適切に動作するために、デジタル資産(例えば、DAMS110からのデジタル証明書)によって適切にプロビジョニングされなければならない。製造業者105のスタッフ109は、ユーザポータル115を使用して、プロビジョニングコントローラ120と対話し、DAMS110による製品プロビジョニングアクティビティを管理することができる。
【0040】
設置業者130に関して示されるように、機器106bがその動作環境に設置されている間または設置された後に、配信機器131は代替的に機器106bに直接通信可能に接続されてもよい。設置業者130は、コンピュータ化された機器106bをそれらの動作環境内に設置する(例えば、OBUを自動車内に設置する)工場または店舗を含むか、またはそれらであり得る。設置時に、コンピュータ化された機器106bは、適切に動作するために、デジタル資産(例えば、DAMS110からの追加のデジタル証明書)をさらに適切にプロビジョニングされなければならない。設置業者130のスタッフ132は、設置業者ユーザポータル116を使用して、プロビジョニングコントローラ120と対話し、DAMS110による製品プロビジョニングアクティビティを管理することができる。
【0041】
様々な実施形態では、プロビジョニングコントローラ120、配信機器108、131、およびDAMS110は、それらの間に安全で公的にアクセスできない通信リンクまたはチャネルを有することができ、様々な実施形態では、
図1に示される通信リンクのすべてが、安全で公的にアクセスできない通信チャネルであり得る。様々な実施形態では、これらの安全なチャネルは、この安全なインフラストラクチャ内で未認可のエンドポイントが通信するのを防ぐために暗号化され、相互に認証されている。外層が何らかの形で危険にさらされても、内層は安全なままとなるように、これらの通信チャネルを保護するために複数のセキュリティ機構を使用することができる。一例として、相互認証TLSトンネルは、独自の安全な通信プロトコルなどの別のプロトコルを使用して、内層と共に外層として使用することができる。システム100を含むインフラストラクチャコンポーネント間のこれらの安全な接続は、コンポーネント間の機密通信を保護し、それらの正しい動作を保証するために使用される。これらの安全な経路を使用して、プロビジョニングコントローラ120およびDAMS110は、転送中に漏洩または変更されることを懸念することなく、コンポーネント間でデジタルデータを送信することができる。コマンドおよび制御情報もこれらのチャネルを介して渡すことができる。例えば、プロビジョニングコントローラ120は、どの配信機器108、131に、特定のデジタル資産およびデータを送信するかを制御することができる。それはまた、それがプロビジョニングされている製造ライン上の機器106にこのデータをどのように計量するかを配信機器108、131に指示することができる。さらに、配信機器108、131は、情報が送信中に漏洩または変更されることを心配することなく、情報をプロビジョニングコントローラ120に報告して戻すことができる。例えば、安全なプロビジョニングコントローラ120は、任意の種類のデジタル資産(例えば、証明書、ソフトウェア、ヒューズコンテンツなど)を用いて最大10,000個の機器をプロビジョニングするように配信機器108、131をプログラムすることができる。配信機器108、131は、それがプロビジョニングしている機器をカウントすることができ、それがその限界に達すると、それをプロビジョニングコントローラ120に報告する。様々な実施形態では、プロビジョニングコントローラ120によって管理される機器(例えば、108、110、131、115、116、117)は、それらがプロビジョニングコントローラ120と定期的に通信しない場合に、したがって、それらが盗まれて役に立たなくなった場合に、それらを動作させなくする機能を含む。この機能は、紛失/盗難にあった機器が動作し続け、あたかもそれらがまだ適切な製造環境に置かれているかのように機器106をプロビジョニングすることを防止する。
【0042】
引き続き
図1に示す例を参照すると、動作時に、製造業者105に配置された配信機器108は、DAMS110からデジタル資産を安全に受け取り、それらを機器106a用のテスタ107に供給する。各機器106aが製造業者105によって製造されると、テスタ107は機器106aと通信して、機器106aからその固有の識別番号およびステータスなどの情報を取得し、デジタル資産(例えば、デジタル証明書)を機器内にダウンロードまたはさもなければ設置する。テスタ107はまた、機器106aから配信機器108に情報(例えば、プロビジョニングステータス)を供給することができ、配信機器108は、その情報をDAMS110および/またはプロビジョニングコントローラ120に安全に通信する。いくつかの実施形態では、テスタ107は、配信機器108と機器106aとの間でデータを安全にトランスポートするソフトウェアトランスポートレイヤセキュリティ(TLS)エージェントを含むことができ、これは実際には、各機器106aに関連付けられた一時鍵を使用して、配信機器108およびテスタ107を介してDAMS110と機器106aとの間に安全な暗号化通信経路を作成する。
【0043】
それが最初にプロビジョニングされた後、製造業者105は機器106aを設置業者130に出荷し、設置業者130は機器106bを設置する。様々な実施形態では、最初のプロビジョニングの前に、機器106aは機能しておらず、製造業者105による最初のプロビジョニングの後に、機器106aは、部分的に機能することはできるが、まだ完全には機能していない。そのような実施形態では、最初のプロビジョニングは、設置およびさらなる最後のプロビジョニングのために必要とされる程度までだけ機器を機能的にし、それは完全に動作可能にするために必要とされる。
【0044】
設置業者130は、機器106bをその動作環境内に設置し、設置業者130のスタッフメンバー132は、設置業者ポータル116を介してその事実をプロビジョニングコントローラ120に通知する。この通知は、設置が正しく完了したことを証明するものであり、プロビジョニングコントローラ120に対して機器106bを一意に識別する情報を含むことが好ましい。いくつかの実施形態では、配信機器131は、ステータスおよび識別情報について機器106bに照会した後に、プロビジョニングコントローラ120に自動的に通知することができる。設置業者130が設置業者ポータル116を介して自分が機器106bを適切に設置したことを証明する様々な実施形態では、この証明はプロビジョニングコントローラ120によってデータベース125に記録/保存されてもよい。証明は、無線送信電力測定またはGPSアンテナ位置の検証などの、各々の特定の設置された機器106bに関連する特定の試験データを含み得る。
【0045】
設置通知に応答して、プロビジョニングコントローラ120は、(i)製造業者105によって合法的に製造された機器として機器106bがそのデータベース125内にリストされていること、(ii)製造業者105によって最初に首尾よくプロビジョニングされたとして機器106bがそのデータベース125内にリストされていること、および(iii)設置業者130がそのデータベース125内に認可された設置業者としてリストされていることを検証する。この検証が成功した場合、コントローラ120は、機器106bがその動作環境内に設置されたとき適切に機能することができるように、DAMS110にデジタル資産(例えば、偽名証明書(PC))および/または機器106bを動作可能にプロビジョニングするのに必要な他の情報を送信するように指示する。
【0046】
様々な実施形態では、レギュレータポータル117を介してレギュレータ140はプロビジョニングコントローラ120と対話して、設置業者130および/または製造業者105を識別、検証、および管理し、無認可の設置業者(例えば、ハッカー)がシステム100からの本物のデジタル資産を取得できないようにする。レギュレータ140のスタッフメンバーは、プロビジョニングコントローラ120によって認証されることができ、システム100との一意のIDを有することができるので、それらのアクションは一意に記録することができる。様々な実施形態では、レギュレータ140は、レギュレータポータル117を使用してプロビジョニングコントローラ120に問い合わせて、検証レポート、設置業者のアクション、製造された機器106aの数および識別情報、設置済みの完全にプロビジョニングされた機器106bの数および識別情報などのコントローラ120によって記録された情報のコピーおよびレポートを取得することができる。
【0047】
様々な実施形態では、設置業者130は、システム100と対話するために、プロビジョニングコントローラ120によって認可されたものとして認証されなければならない。認可されるために、設置業者130は、例えば、ターゲット環境(例えば、ターゲット車両またはサイトなど)に機器106bを適切に設置することを記載した適切な契約文書を締結しなければならない場合がある。設置業者130は、例えば、レギュレータ140による他の契約上の要素を証明することを要求されてもよい。好ましくは、各設置業者130は、そのアクションがプロビジョニングコントローラ120によって一意に記録され得るように、システム100内に一意のIDを有する。
【0048】
システム100およびその機能の記載された実施形態は、製造業者105によって製造され、認可された設置業者130によって適切に設置および試験された機器106のみが、機器106を動作可能にするために必要なデジタル資産で完全にプロビジョニングされることを保証する。プロビジョニングコントローラ120は、プロビジョニングプロセスの各段階で誰がどのような行動を取ったかについての広範なログおよびレポートを生成し、従来のシステムには存在しなかった重要な監査機能を提供する。
【0049】
当業者であれば、
図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は、生産コーディネータが製品(例えば、機器106)の構成および構築を容易かつ効率的に管理することを可能にし、資産所有者がデジタル資産の在庫を容易かつ効率的に管理することを可能にするユーザフレンドリーなGUIおよび機能を含むことができる。
【0050】
図2は、本発明の実施形態と一致する、コンピュータ化された機器を安全にプロビジョニングするためのプロセス200の一例を示すスイムレーン図である。様々な実施形態では、図示のプロセス200または動作の一部または全部は、(1つ以上のプロセッサまたは1つ以上のコンピューティングサブシステムを含み得る)汎用コンピューティングシステム上で実行するコードによって、ハードウェアのみのシステムによって、またはそれら2つのハイブリッドであるシステムによって、実行され得る。
図2の上を横切って示されるように、プロセス200に関与するエンティティは、コンピュータ化された機器106の製造業者105、製造業者105に配置されている配信機器108、プロビジョニングコントローラ120、およびDAMS110を含む。様々な実施形態では、これらのエンティティは、
図1に関しておよび本開示を通して説明されるようなものであることができ、そのように互いに通信することができる。
【0051】
図2の例に示すように、プロセス200は、製造業者105(例えば、スタッフメンバー109)が、プロビジョニングコントローラ130からデジタル資産プロビジョニングサービスを要求する205において開始し、ここでデジタル資産は機器106aにプロビジョニングされ(例えば、機器106aによって使用され)、要求はデジタル資産の宛先である機器106aを識別することができる。要求は、例えば、製造業者105が新しい製品106に対するプロビジョニングサービスを要求しているか、または既存の製品16に対する新しいプロビジョニングサービス要求を行っている可能性がある。様々な実施形態では、この動作は、認可されたユーザが、例えばユーザポータル115を介してプロビジョニングコントローラ130にログオンすることを含み得る。場合によっては、要求されたデジタル資産は、例えば、登録証明書、機器106が実行する実行可能コード、デジタル動作パラメータなどの安全な資格情報である場合がある。登録証明書は、すべての参加者が有効な登録証明書を共有する必要があり(例えば、USDOTのV2Xエコシステム)、認可された参加者も(例えば、USDOTのV2Xエコシステムの例では、車両と路側インフラストラクチャとの間の通信および動作を可能にするために)エコシステム内の機器106の通信および動作を可能にする偽名証明書を受け取ることができるエコシステム内の認可された参加者としてその所有者を識別する公開鍵証明書である。
【0052】
210において、プロビジョニングコントローラ120は、製造業者109からのユーザが認可されたユーザであるかどうかを判定する。いくつかの実施形態では、プロビジョニングコントローラ120はまた、210において、プロビジョニングされるべき機器106a(例えば、製品)がシステム100と共に使用することを認可されているかどうかを判定することができる。場合によっては、認可された機器のリストが
図1のレギュレータ140によって提供され、この決定を行うためにプロビジョニングコントローラ120によって使用されてもよい。
【0053】
ユーザ(および/または製品)が認可されていない場合、プロビジョニングコントローラ120はデジタル資産プロビジョニングサービス(
図2には図示せず)に対する要求を拒否する。一方、認可されたユーザが(例えば、認可された製品に対する)要求を行っている場合(210、はい)、プロビジョニングコントローラ120は、(例えば、(215で)サービス要求命令をDAMS110に送信することによって)サービス要求を満たすようにDAMS110に指示、命令し、または他の方法でDAMS110を制御する。
【0054】
220において、215からの要求を受信したことに応答して、およびそれを条件として、DAMS110は、その要求に基づいて機器106aへのサービスを開始するように自身を設定する。いくつかの実施形態では、DAMS110はまた、機器106aにサービスを提供するように配信機器108を設定するように、配信機器108に命令を送信することができる(図示せず)。
【0055】
222において、DAMS110は、205において要求されたように、機器106aのためのデジタル資産を生成、作成、計算、および/または検索する。様々な実施形態では、DAMS110は、公開鍵と秘密鍵のペア、ならびに機器106aのための登録証明書と偽名証明書などの要求されたデジタルセキュリティ資産を作成または生成することができる。
【0056】
動作222の代替の実施形態(
図2には図示されない)では、DAMS110は、機器106aに関連するデジタル資産生成情報(例えば、機器106aによって生成されたか、または機器106aから検索された登録および偽名公開鍵ならびに機器106aを一意に識別するデータ(例えば、マイクロプロセッサのシリアル番号))を配信機器108から要求し、受信する。そのような実施形態では、DAMS110は次に、登録および偽名公開鍵を使用して、デジタル資産(例えば、機器106aのための登録証明書および適切な数の偽名証明書)を生成する。
【0057】
225において、DAMS110は、205でデジタル資産サービスを要求した製造業者105の配信機器108にデジタル資産を送信する。例えば、DAMS110は、公開鍵と秘密鍵のペア、登録証明書、および偽名証明書を製造業者105の配信機器108に安全に送信することができる。
【0058】
226において、DAMS110は、デジタル資産に関するログ情報をプロビジョニングコントローラ120に送信する。様々な実施形態では、ログ情報は、例えば、要求者のID、デジタル資産のID、配信機器のID、要求および送信アクションのタイムスタンプ、受信したマイクロプロセッサのシリアル番号などのデジタル資産の要求および転送を記述する情報を含み得る。いくつかの実施形態では、ログ情報はデジタル資産のコピーを含み得る。227において、プロビジョニングコントローラ120はログ情報を受信し、例えばデータベース125に格納する。実際には、プロビジョニングコントローラ120は、システム100内で発生するすべてのアクティビティの監査跡を維持し、これにより、機器106aが製造業者105によってどのようにそしていつ構築およびプロビジョニングされ得るかに関するデータなど、多くの種類のデータを組み立てることができる。そのようなデータおよびログ情報は、請求および監査目的で使用される場合がある。
【0059】
230において、配信機器108は、DAMS110によって送信されたデジタル資産(例えば、公開鍵と秘密鍵のペア、登録証明書と偽名証明書)を受信して記憶する。
【0060】
235において、配信機器108は、デジタル資産を配信機器108から機器106aに安全に転送するために使用することができる公開鍵などのデジタルセキュリティ資産を機器106aに要求して受信する。様々なタイプの機器106aは、おそらく機器106に内蔵された安全なプロセッサを使用して一時鍵ペアを生成する能力を有し、公開鍵は一時鍵ペアの一部であり得る。240において、配信機器108は、デジタルセキュリティ資産(例えば、公開鍵)を使用してデジタル資産(例えば、登録証明書)を安全に機器106aに送信する。様々な実施形態では、配信機器108は、例えば、機器106aとの仮想プライベートネットワーク(VPN)を形成し、その中でデジタル資産を安全に送信するために、機器106aの公開鍵を使用することができる。
【0061】
様々な実施形態では、配信機器108は、それとテスタ107との間でトランスポートレイヤーセキュリティ(TLS)を使用して、機器106aに接続され得るテスタ107との通信を保護することができる。機器106aへの安全な通信を直接行うことが望ましい実施形態では、システムは、機器106a上で一時公開鍵ペアを作成し、その公開鍵を配信機器108の公開鍵を含む配信機器108からの証明書と共に使用して、機器106aへの安全なトンネルを作成することができる。そのような実施形態では、機器106aは、その中でシステム100のルート公開鍵を用いて特別なコードを実行し、配信機器108がそれに送信する証明書を検証する。
【0062】
安全なパスが機器106aまたはテスタ107と配信機器108との間に確立されると、機器106aは、(例えば、V2Xエコシステムのための)登録および偽名公開鍵ペアを作成し、公開鍵および他のデータを配信機器108にエクスポートし、配信機器108はその後、このデータをDAMS110およびプロビジョニングコントローラ120に送信することができる。動作222の代替実施形態に関して上述したように、DAMS110は、受信した公開鍵を使用して登録証明書および偽名証明書を作成することができ、いくつかの実施形態では、多数(例えば3,000)の偽名証明書があり得る。一実施形態のこの代替例では、DAMS110は、前述のように、動作225でこれらの証明書を配信機器108に返す。いくつかの他の実施形態では、DAMS110は、プロビジョニングが実行されている場所に応じて、108の代わりにこれらの証明書を配信機器131に送信することができる。
【0063】
いくつかの実施形態では、例えば、機器106がそれ自体のワイヤレスまたは有線通信機能を有し、少なくとも部分的に動作可能である場合、配信機器108は機器106と直接通信することができる。他の実施形態では、配信機器108は、テスタ107などの中間機器を介して機器106と間接的に通信することができる。
【0064】
機器106aはデジタル資産を受信し、動作中に使用するためにそれを格納する。例えば、機器106aが自動車搭載ユニット(OBU)または電子制御ユニット(ECU)であり、デジタル資産が無線ネットワークに参加するために必要なセキュリティ資産(例えば、公開鍵証明書)である場合、デジタルセキュリティ資産はOBUによって保管される。OBUが後で車に取り付けられて作動すると、ワイヤレスネットワークへの接続を試みる。OBUがネットワークに接続することを可能にする前に、ネットワークはOBUの認証を試みる。OBUは、それが製造業者105において配信機器108によって提供されたデジタルセキュリティ資産を有する場合にのみ、ネットワークを認証し参加することができる。
【0065】
245において、配信機器108は、240で送信されたデジタル資産を機器106aが正常に受信および設置(例えば、格納)したかどうかを示すステータス情報を機器106aから受信またはアクセスする。
【0066】
250において、配信機器108はステータス情報をプロビジョニングコントローラ120に送信する。そして、255において、プロビジョニングコントローラ120は、動作227で格納されたログ情報に関連してステータス情報を受信して格納する。したがって、プロビジョニングコントローラ120は、各々の特定の機器106に関連付けられたシステム100の活動のすべてについて監査跡または監査ログを継続する。様々な実施形態では、監査ログは、各々の機器106に対して、製造業者のプロビジョニングの失敗の成功(例えば、動作235〜245)、デジタル資産の識別情報(および/またはデジタル資産自体のコピー)、暗号の種類などを示す情報を含むことができる。
【0067】
270において、機器106aがデジタル資産を首尾よくプロビジョニングされた場合、製造業者105は機器を市場にリリースする。例えば、製造業者105は、機器をその動作環境に設置する会社(例えば、
図1の設置業者の会社130)に機器106aを物理的に出荷することができる。いくつかの実施形態では、機器106aは、この時点で完全にプログラムまたはプロビジョニングされ、完全な機能で動作することが可能であり得る。一方、他の実施形態では、機器106aはこの時点で部分的にのみプログラムまたはプロビジョニングされてもよく、完全な機能で動作することができないか、または機能しない。
【0068】
図2に示す例は、例示の目的のためだけであり、限定することを意図しない。さらに、図示されたプロセス200は、特定の開示された実施形態と一致する特定の新規かつ革新的な構成の説明を明確にするために幾分単純化された一例であるが、この例は限定的であることを意図せず、多くの変形が可能である。例えば、機能および動作は特定の順序で実行されるように示されているが、説明された順序は単なる一例であり、開示された特定の実施形態と矛盾しない様々な異なる動作シーケンスを実行することができる。さらに、動作は、単に説明の目的のために別々のステップとして説明され、いくつかの実施形態では、複数の動作が、同時に、および/または単一の計算もしくはより大きな動作の一部として、実行され得る。説明された動作は、網羅的、限定的、または絶対的であることを意図されておらず、様々な動作は修正、挿入、または削除することができる。変形の一例として、
図2は概して単一のデジタル資産(例えば、単一のデジタル証明書)の文脈で説明されているが、システムおよびプロセスは複数のデジタル資産(例えば、2つ以上のデジタル証明書)を処理するために同様に機能する。別の一例として、機器106aが安全な通信機能を有さない場合、動作235および240を削除することができ、配信機器108は暗号化されていない通信を使用して機器106bと通信することができる。
【0069】
さらに別の一例として、様々な実施形態では、プロビジョニングコントローラ120、または専用の署名機器などの委任局が、同様に配信機器108に送信し、ソフトウェア、ファームウェア、ヒューズBLOB、マニフェストファイルなどのデジタル資産を含む別のまたは追加のデジタル資産を機器106bにロードさせることができる。そのような実施形態では、プロビジョニングコントローラ120は、追加的にまたは代替的に、要求されたデジタル資産をストレージから検索、取得、または他の方法でアクセス、またはアクセスを指示することができる。例えば(
図2には図示せず)、プロビジョニングコントローラ120またはその認可された委任先は、機器106aにロードされて実行される実行可能ソフトウェアイメージ(例えば、データベース125に格納されたコンパイル済みコンピュータプログラム)を検索し、実行可能ソフトウェアイメージを機器内へプログラミングするために配信機器10に送信することができる。様々な実施形態では、プロビジョニングコントローラ120によってアクセスされるデジタル資産は、不正なソフトウェアを機器106a内にロードすることができないように、機器106aの製造業者105によって安全に供給、リリース、および/または認可されたソフトウェアなどのみからなることができる。いくつかの実施形態では、プロビジョニングコントローラ120によって検索されたデジタル資産は、
図1のデータベース125など、プロビジョニングコントローラ120に関連付けられているストレージ機器またはデータベース内に格納することができる。
【0070】
図3は、本発明の実施形態と一致する、コンピュータ化された機器を安全にプロビジョニングするためのプロセス200の一例を示すスイムレーン図である。様々な実施形態では、(1つ以上のプロセッサまたは1つ以上のコンピューティングサブシステムを含むことができる)汎用コンピューティングシステム上で実行するコードによって、ハードウェアのみのシステムによって、またはそれら2つのハイブリッドであるシステムによって、プロセス300または図示の動作の一部またはすべてを実行することができる。
図3の上を横切って示されるように、プロセス300に関与するエンティティは、コンピュータ化された機器106の設置業者130、設置業者130に配置されている配信機器131、プロビジョニングコントローラ120、およびDAMS110を含む。様々な実施形態では、これらのエンティティは、
図1に関しておよび本開示を通して説明されるようなものであることができ、そのように互いに通信することができる。
【0071】
図3の例に示すように、プロセス300は、製造業者105によって製造およびリリースまたは出荷された機器106b(例えば、OBUまたはECU)を設置業者130が受け取る305で始まる(
図2の動作270を参照)。310において、設置業者130は、より大きなシステムなど、その動作環境に機器106bを設置することができる。例えば、設置業者130は、製造業者105からOBUを購入する自動車メーカーとすることができ、設置業者130は、自動車にOBUを設置することができる。様々な実施形態では、機器106bを設置することは、設置後に機器106bの動作、機能などをテストすること、および関連するステータスデータを収集することを含むことができる。
【0072】
いくつかの実施形態では、機器106bは、部分的にのみプロビジョニングされ、完全に機能的ではない場合がある。例えば、機器106bの製造業者105は、機器106bが完全な機能性(例えば、別の完全にプログラムされた機器106と通信する機能性)を得るために別のデジタル証明書(例えば、偽名証明書)を用いてさらにプロビジョニングされる必要があるように、機器106bを登録証明書のみによってプロビジョニングしてもよい。
【0073】
315において、設置業者130(例えば、スタッフメンバー132)は、設置ステータスデータをプロビジョニングコントローラ120に送信する。様々な実施形態では、設置ステータスデータは、設置された機器の不変の識別子(例えば、一度生成されて消去されることがない鍵ペアからの公開鍵などのシリアル番号または他の固定の一意の識別情報)を含む。設置ステータスデータはまた、設置業者130の一意の識別子、機器106bがいつどのように設置されたかを示す情報、設置された機器106bで行われたテストの結果に関する情報、設置業者130が適用可能な仕様、契約上の要件、および/または指示、および/または他の同様の情報に従って、機器106bを設置したことを証明する情報などの他の情報を含むことができる。
【0074】
320において、プロビジョニングコントローラ120は、設置業者130からのユーザが認可されたユーザであるかどうかを判定する。そうでない場合、プロビジョニングコントローラ120は、設置ステータス通信を拒絶する(
図3には図示せず)。一方、認可されたユーザが要求を出している場合(320、はい)、プロビジョニングコントローラ120は、設置ステータスデータで識別された機器106bが認可された機器であるかどうかを判定する(325)。いくつかの実施形態では、プロビジョニングコントローラ120は、1)機器106bに対する記録がそのデータベース125内に存在し、2)その記録は、機器106bが製造業者105にうまくプロビジョニングされたことを示し、3)その記録は、機器106bが(320において認可された設置業者であると検証された)設置業者130に送信されたことを示す、以前に格納された情報に対してそのデータベース125を検証することによって、機器106bが認可されていると判断することができる。
【0075】
設置ステータスデータで識別された機器が認可されていない場合、プロビジョニングコントローラ120は設置ステータス通信を拒否する(
図3には図示されない)。一方、設置ステータスデータで識別された機器106bが認可されている場合(325、はい)、プロビジョニングコントローラ120は、330において、設置ステータスデータを機器106bに関連付けられたログ情報と共に格納する。例えば、機器106bに関連付けられたログ情報は、
図2の動作227に関して説明したようにデータベース125に以前に格納されていてもよい。
【0076】
335において、プロビジョニングコントローラ120は、(例えば、設置業者130にある機器106bをプロビジョニングする要求をDAMS110に送信することによって)プロビジョニング要求を満たすようにDAMS110に指示、命令し、または他の方法でDAMS110を制御する。340において、335からの要求を受信したことに応答して、およびそれを条件として、DAMS110は、335において要求されたデジタル資産を生成および/または検索する。様々な実施形態では、DAMS110は、
図2に関して説明したように、偽名証明書または他の公開鍵証明書などの要求されたデジタル資産を作成または生成することができる。様々な実施形態では、DAMS110、またはDAM110の代わりにプロビジョニングコントローラ120は、追加または代替として、機器106bの種類の機器での使用のためにデータベース125に以前に格納された実行可能イメージなどのストレージから要求されたデジタル資産を検索、取得、またはさもなければアクセスすることができる。
【0077】
345において、DAMS110は、315において設置ステータスを送信した設置業者130の配信機器131にデジタル資産を送信する。例えば、DAMS110は、偽名証明書を設置業者130の配信機器131に安全に送信することができる。
【0078】
350において、配信機器131は、
図2に関して説明したように、動作230〜245と同じまたは類似の動作を実行する。355において、配信機器131は、ステータス情報をプロビジョニングコントローラ120に送信する。そして、360において、プロビジョニングコントローラ120は、動作227で格納されたステータス情報などの機器106bに関連して以前に格納された情報に関連したステータス情報を受信して格納する。したがって、プロビジョニングコントローラ120は、各々の特定の機器106に関連付けられたシステム100の活動のすべてについて監査跡または監査ログを継続する。
【0079】
図3に示されるプロセス300は、例示の目的のための一例であり、限定することを意図しない。さらに、図示のプロセス300は、開示された特定の実施形態と一致する特定の新規かつ革新的な構成の説明を明確にするために幾分単純化された一例であるが、多くの変形が可能である。例えば、機能および動作は特定の順序で実行されるように示されているが、説明された順序は単なる一例であり、開示された特定の実施形態と矛盾しない様々な異なる動作シーケンスを実行することができる。さらに、動作は、単に説明の目的のために別々のステップとして説明され、いくつかの実施形態では、複数の動作が、同時に、および/または単一の計算もしくはより大きな動作の一部として、実行され得る。説明された動作は、網羅的、限定的、または絶対的であることを意図されておらず、様々な動作は修正、挿入、または削除することができる。
【0080】
図4Aおよび
図4Bは共に、本発明の実施形態に係る、スケーラブルで安全なデジタル資産管理システムを実装するためのシステム400の一例のブロック図である。システム400の様々な実施形態は、極めて大量の機器トランザクションおよび証明書生成処理に使用することができる。様々な実施形態では、システム400は、複数のサーバ、ハードウェアセキュリティモジュール、複数の計算エンジンまたはコンピューティングエンジン、および複数の仮想マシン(VM)を使用して実装することができる。システム400の例は、プライベートデータセンター、クラウドデータセンター(例えば、AWS)、またはプライベートデータセンターとクラウドデータセンターとのハイブリッドで実装することができる。
【0081】
様々な実施形態では、システム400は、
図1および本開示の他のセクションに関して説明したように機能し得るデジタル資産管理システム(DAMS)110とすることができるか、その一部とすることができるか、またはそれと対話することができる。
【0082】
図4の例に示すように、このアーキテクチャは、(好ましくは別々のサーバに実装される)2つのプロビジョニングコントローラ120(すなわち、プライマリおよびスタンバイ)を含むことができる。2つのプロビジョニングコントローラ120は、プライマリプロビジョニングコントローラに含まれるオブジェクト、データなどがコピーされるか、さもなればスタンバイ(セカンダリ)プロビジョニングコントローラに含まれるような機能を含む。プライマリプロビジョニングコントローラが何らかの理由でオフラインになった場合は、スタンバイプロビジョニングコントローラをオンラインにしてプライマリプロビジョニングコントローラに取って代わることができる。これは、プロビジョニングコントローラ120の連続的な(または非常に高い)可用性を提供する。様々な実施形態では、プライマリプロビジョニングコントローラおよびスタンバイプロビジョニングコントローラは、
図1および本開示の他のセクションに関して説明した通りとすることができる。様々な実施形態では、プロビジョニングコントローラ120は、
図1のプロビジョニングコントローラ120とDAMS110との間の接続および通信に関して本明細書で説明したのと同じまたは類似の方法でシステム400に接続することができる。一般的に、プロビジョニングコントローラ120は、明示的に認可された要素だけが参加してシステム400と対話できるように、インフラストラクチャを構成するシステム要素を管理する。様々な実施形態では、プロビジョニングコントローラ120は、ユーザ(例えば、製造業者105または設置業者130)の従業員識別および認可システムと統合することができ、あるいは認可されたユーザのみがシステム400を使用できるように識別および認可のための独自の機能を提供することができる。
【0083】
システム400のアーキテクチャは、セキュリティ関連ではないアプリケーションをセキュリティ機能から分離する。この例に示すように、登録局420、認証局430、440、および連携局450、460は、それら自身の専用計算エンジン425、435、445、555、465上で実行されるそれら自身の仮想マシン上のアプリケーションとして実装され、これらはすべて、セキュリティ関連以外のアプリケーションおよび機能とは分離している。これは、ハードウェアセキュリティモジュールの性能が遅い、またはクラウドサービスプロバイダがHSMを供給することができない、またはHSMの適切な管理が不確実である、従来のシステムに対する技術的およびセキュリティ上の利点および改善の両方を提供する。
図4に示すように、重要なセキュリティ機能を互いに、別々の計算エンジンに分離することによって、例えば、登録局420、認証局430、440、および連携局450、460によって実行されるような、計算集約型の暗号およびセキュリティ機能(例えば、楕円曲線バタフライ拡張演算または楕円曲線デジタル署名)が、既存の登録局システムよりもかなり速く実行される。この設計により、「ボトルネック」アプリケーションを必要に応じて拡張できるため、トランザクション処理を大幅に改善できる。例えば、405および420で実行されている登録局アプリケーションを拡張する必要がある場合は、425の安全な計算機能に変更を加えることなく、追加のVMを追加できる。あるいはまた、セキュリティ計算が性能を制限している場合、追加の安全な計算エンジン425を追加することができる。これと同じ多次元スケーリングは、400の他のコンポーネントにも当てはまる。この機能により、他の既存のSCMSシステムよりも大幅にパフォーマンスが向上する。
【0084】
様々な実施形態では、登録局405は、デジタル証明書または他の種類のデジタルセキュリティ資産に対するユーザ要求を検証するプロビジョニングネットワーク内の局とすることができ、認証局(例えば、認証局430、440)がデジタル証明書を発行することを可能にし得る。様々な実施形態では、登録局405は、公開鍵インフラストラクチャ(PKI)システムで知られている登録局と同様とすることができる。様々な実施形態では、登録局405は、Representational State Transfer(REST)ウェブサービスとして実装することができる。登録局405に関して
図4に示される3つの「積み重ねられた」長方形によって表されるように、様々な実施形態において、同時に実行する登録局405の複数のインスタンスが存在してもよい。これは、
図4の他の「積み重ねられた」要素についても同様に表される。
【0085】
矩形の左下に現れる「DB」矢印によって表されるように、登録局405(および「DB」矢印で示される
図4の他のコンポーネント)は、データベース470に接続することができる。好ましい実施形態では、データベース470は高速アクセス、低待ち時間データベースである。いくつかの実施形態では、データベース470は、NoSQLデータベースまたはデータベースサービス(例えば、Amazonウェブサービスによって提供されるDynamoDBデータサービス)とすることができる。様々な実施形態では、データベース410に格納されたデータはアプリケーションに依存するが、過去に発行された証明書、様々な連携局値、証明書が発行された機器に関するデータ、オペレータアクションなどを含み得る。データは、暗号化されていないか、暗号化されているか、またはそれらの何らかの組み合わせで格納されてもよいことに留意されたい。
【0086】
図4に示す例では、登録局405は他のコンポーネントに接続され、他のコンポーネントはボックス410によって表されるメッセージングサブシステムまたはサービスによって互いに接続される。いくつかの実施形態では、メッセージングサービス410は、Amazonウェブサービスによって提供されるAmazon単純キューサービス(SQS)などの高速メッセージキューイングサービスとすることができる。
【0087】
様々な実施形態では、システム400は、登録局405によって生成されたデジタル証明書が異なるセグメント(例えば、登録デジタル証明書と偽名デジタル証明書)に分割されるので、登録認証局430と偽名認証局440を含む。
【0088】
様々な実施形態では、連携局450、460は、失効の目的で、証明書要求者の識別情報(すなわち、証明書要求者の機器の一意の識別子)を発行された偽名証明書にリンクさせる。
【0089】
様々な実施形態では、計算エンジン425、435、445、455、および465ならびにプロビジョニングコントローラ120は、ハッカーから過度に脅かされることなくこれらのコンポーネントが安全な計算を実行することを可能にするHSMを含む。いくつかの実施形態では、計算エンジン425、435、445、455、および465は、組込み型HSMを必要とせずに安全な計算自体を実行するように設計することができ、そのような実施形態では、それらはHSMを具現化する。
【0090】
当業者であれば、
図4に示すコンポーネント、プロセス、データ、動作、および実装の詳細は、説明を簡潔かつ明確にするために提示された例であることを理解するであろう。この例は限定を意図するものではなく、多くの変形が可能であるので、本発明の原理から逸脱することなく他のコンポーネント、プロセス、実施形態の詳細、および変形を使用することができる。
【0091】
図5は、本発明の実施形態と一致するシステムおよび方法を実装するために使用することができるコンピューティングシステム500を含む、コンピューティング環境501の一例のブロック図である。他のコンポーネントおよび/または配置もまた使用することができる。いくつかの実施形態では、コンピューティングシステム500を使用して、少なくとも部分的に
図1〜
図3の様々なコンポーネント(例えば、とりわけ、プロビジョニングコントローラ120およびDAMS110)を実装することができる。いくつかの実施形態では、コンピューティングシステム500と同様の一連のコンピューティングシステムは、それぞれ、専用ハードウェアでカスタマイズされ、および/または
図1〜
図3のコンポーネントのうちの1つを実装するための専用サーバとしてプログラムすることができ、ネットワーク535を介して互いに通信することができる。
【0092】
図5に示す例では、コンピューティングシステム500は、中央処理装置(CPU)505、メモリ510、入出力(I/O)機器525、ハードウェアセキュリティモジュール(HSM)540、および不揮発性ストレージデバイス520などの多くのコンポーネントを含む。システム500は様々な方法で実施することができる。例えば、(サーバ、ワークステーション、パーソナルコンピュータ、ラップトップなどの)統合プラットフォームとしての実装は、CPU505、メモリ510、不揮発性ストレージ520、およびI/O機器525を含むことができる。そのような構成では、コンポーネント505、510、520、および525は、ローカルデータバスを介して接続および通信することができ、外部I/O接続を介して(例えば、別個のデータベースシステムとして実装される)データリポジトリ530にアクセスすることができる。I/Oコンポーネント525は、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN、例えば、携帯電話ネットワークまたはインターネット)などのネットワークを介して、および/または他の適切な接続を介して、直接通信リンク(例えば、有線またはローカルのWiFi接続)を介して外部機器に接続することができる。システム500はスタンドアロンでもよいし、またはより大きなシステムのサブシステムでもよい。
【0093】
CPU505は、カリフォルニア州サンタクララのインテル(登録商標)コーポレーションによって製造されたCore(登録商標)ファミリーのマイクロプロセッサ、またはカリフォルニア州サニーベールのAMD(登録商標)コーポレーションによって製造されたAthlon(登録商標)ファミリーのマイクロプロセッサなどの1つ以上の既知のプロセッサまたは処理デバイスとすることができる。メモリ510は、本発明の実施形態に関連する特定の機能、方法、およびプロセスを実行するためにCPU505によって実行または使用される命令および情報を格納するように構成された1つ以上の高速記憶デバイスとすることができる。ストレージ520は、揮発性または不揮発性、磁気、半導体、テープ、光学、または他の種類のストレージデバイス、またはCDおよびDVDなどのデバイスを含むコンピュータ可読媒体、および長期記憶を意図したソリッドステートデバイスとすることができる。
【0094】
図示の実施形態では、メモリ510は、CPU505によって実行されたときに、本発明と一致する様々な動作、手順、プロセス、または方法を実行する、ストレージ520からまたはリモートシステム(図示せず)からロードされた1つ以上のプログラムまたはアプリケーション515を含む。あるいはまた、CPU505は、システム500から遠隔に位置する1つ以上のプログラムを実行することができる。例えば、システム500は、実行時に本発明の実施形態に関連する機能およびプロセスを実行する、ネットワーク535を介して1つ以上のリモートプログラムにアクセスすることができる。
【0095】
一実施形態では、メモリ510は、プロビジョニングコントローラ120、DAMS110、および/または配信機器108、131について本明細書で説明されている特殊な機能および動作を実行するためのプログラム515を含むことができる。いくつかの実施形態では、メモリ510は、本発明に補助機能を提供する他の方法およびプロセスを実装する他のプログラムまたはアプリケーションも含むことができる。
【0096】
メモリ510はまた、本発明とは無関係の他のプログラム(図示せず)および/またはCPU505によって実行されると当該技術分野で周知のいくつかの機能を実行するオペレーティングシステム(図示せず)で構成することもできる。例として、オペレーティングシステムは、Microsoft Windows(登録商標)、Unix(登録商標)、Linux(登録商標)、Apple Computers(登録商標)オペレーティングシステム、または他のオペレーティングシステムとすることができる。オペレーティングシステムの選択、さらにはオペレーティングシステムの使用にとっても、本発明にとって重要ではない。
【0097】
HSM540は、デジタルセキュリティ資産を安全に生成および格納し、および/または様々な暗号および機密計算を安全に実行する、それ自身のプロセッサを有する機器とすることができる。HSM540は、暗号鍵などのデジタルセキュリティ資産とその他の機密データを可能性のある攻撃者によるアクセスから保護する。いくつかの実施形態では、HSMは、コンピューティングシステム500に直接取り付けられたプラグインカードまたはボードとすることができる。
【0098】
I/O機器525は、システム500によってデータを受信および/または送信することを可能にする1つ以上の入出力機器を含むことができる。例えば、I/O機器525は、データがユーザから入力されることを可能にする(例えば、キーボード、タッチスクリーン、マウスなどの)1つ以上の入力機器を含むことができる。さらに、I/O機器525は、データを出力するまたはユーザに提示することを可能にする(例えば、ディスプレイスクリーン、CRTモニタ、LCDモニタ、プラズマディスプレイ、プリンタ、スピーカ装置などの)1つ以上の出力装置を含むことができる。I/O機器525はまた、コンピューティングシステム500が他のマシンおよび機器と(例えば、デジタルで)通信することを可能にする1つ以上のデジタルおよび/またはアナログ通信入出力機器を含むことができる。他の構成および/またはいくつかの入力機器および/または出力機器をI/O機器525に組み込むことができる。
【0099】
図示の実施形態では、システム500はネットワーク535(例えば、インターネット、プライベートネットワーク、仮想プライベートネットワーク、携帯電話ネットワーク、または他のネットワーク、あるいはこれらの組み合わせ)に接続され、ネットワーク535は次いで、様々なシステムおよびコンピューティングマシン(例えば、サーバ、パーソナルコンピュータ、ラップトップコンピュータ、クライアント機器など)に接続することができる。一般的に、システム500は、ネットワーク535を介して外部のマシンおよび機器からデータを入力し、外部のマシンおよび機器にデータを出力することができる。
【0100】
図5に示す例示的な実施形態では、データソース530は、システム500の外部にあるスタンドアロンデータベース(例えば、データベース125)である。他の実施形態では、データソース530は、システム500によってホストされ得る。様々な実施形態では、データソース530は、本発明と一致したシステムおよび方法を実施するために使用されるデータを管理および格納することができる。例えば、データソース530は、システム100によってプロビジョニングされた各々の機器106のステータスおよびログ情報などを含むデータ構造を管理および格納することができる。
【0101】
データソース530は、情報を記憶し、システム500を通じてアクセスおよび/または管理される1つ以上のデータベースを含むことができる。例として、データベース530は、Oracle(登録商標)データベース、Sybase(登録商標)データベース、または他のリレーショナルデータベースとすることができる。しかしながら、本発明によるシステムおよび方法は、別々のデータ構造またはデータベースに、あるいはデータベースまたはデータ構造の使用にさえ限定されない。
【0102】
当業者であれば、
図5のシステムのコンポーネントおよび実施形態の詳細は、説明を簡潔かつ明確にするために提示された例であることを理解するであろう。他のコンポーネントおよび実施形態の詳細が使用されてもよい。
【0103】
前述の例は、説明を明確にするために、OBU、ECU、およびRSUなどのコンピュータ化された機器の特定の例を使用しているが、本発明はそれらの特定の例に限定されない。本発明と一致する様々な実施形態は、とりわけ、医療機器(例えば、透析機、注入ポンプなど)、ロボット、ドローン、自律走行車、無線通信モジュール(例えば、埋め込み型ユニバーサル集積回路カード(eUICC))などの多種多様なコンピュータ化された機器と共に、およびそれらのために使用することができる。
【0104】
本発明の他の実施形態は、本明細書の考察および本明細書に開示された本発明の実施から当業者には明らかであろう。明細書および実施例は例示としてのみ考慮されることを意図しており、本発明の真の範囲は以下の特許請求の範囲によって示される。