IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ モカナ コーポレイションの特許一覧

特許7267293接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス
<>
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図1
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図2
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図3
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図4
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図5
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図6
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図7
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図8
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図9
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図10
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図11
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図12
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図13
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図14
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図15
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図16
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図17
  • 特許-接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-21
(45)【発行日】2023-05-01
(54)【発明の名称】接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別のシステム及び方法、ならびにブロックチェーンサービス
(51)【国際特許分類】
   H04L 9/32 20060101AFI20230424BHJP
   G09C 1/00 20060101ALI20230424BHJP
   G06F 21/44 20130101ALI20230424BHJP
   G06F 21/57 20130101ALI20230424BHJP
【FI】
H04L9/32 200D
G09C1/00 640D
G06F21/44
G06F21/57 350
【請求項の数】 11
(21)【出願番号】P 2020548860
(86)(22)【出願日】2018-11-20
(65)【公表番号】
(43)【公表日】2021-02-15
(86)【国際出願番号】 US2018061907
(87)【国際公開番号】W WO2019108435
(87)【国際公開日】2019-06-06
【審査請求日】2021-11-16
(31)【優先権主張番号】62/592,868
(32)【優先日】2017-11-30
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/898,842
(32)【優先日】2018-02-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520193183
【氏名又は名称】モカナ コーポレイション
【氏名又は名称原語表記】MOCANA CORPORATION
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100205659
【弁理士】
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100126000
【弁理士】
【氏名又は名称】岩池 満
(74)【代理人】
【識別番号】100185269
【弁理士】
【氏名又は名称】小菅 一弘
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100169823
【弁理士】
【氏名又は名称】吉澤 雄郎
(72)【発明者】
【氏名】スリニヴァス クマール
(72)【発明者】
【氏名】アトゥル グプタ
(72)【発明者】
【氏名】ルスラン ウラノフ
(72)【発明者】
【氏名】シュレヤ ウチル
【審査官】局 成矢
(56)【参考文献】
【文献】米国特許出願公開第2017/0063846(US,A1)
【文献】米国特許出願公開第2005/0235363(US,A1)
【文献】米国特許出願公開第2016/0087801(US,A1)
【文献】米国特許出願公開第2011/0213965(US,A1)
【文献】米国特許出願公開第2012/0265979(US,A1)
【文献】米国特許出願公開第2016/0301695(US,A1)
【文献】米国特許出願公開第2017/0302663(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G09C 1/00
G06F 21/44
G06F 21/57
(57)【特許請求の範囲】
【請求項1】
多段階検証ブートローダ、エンドポイントデバイスにおける検出エージェント、ゲートウェイデバイスにおける検出サービス、エンロールメントサービス、ポリシーサービス、及びデバイス管理サービスを使用して、ゲートウェイデバイスに接続されるエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別の方法であって、
前記エンドポイントデバイスの前記検出エージェントにより、前記ゲートウェイデバイスの前記検出サービスに、エンドポイントデバイスプロファイルを有する認証されたアイデンティティビーコンを送信することと、
前記検出サービスにより、前記エンドポイントデバイスの前記認証されたアイデンティティビーコンと前記エンドポイントデバイスプロファイルを検証することと、
前記検出サービスにより、プライバシー認証局からの前記エンドポイントデバイスの証明書リクエストを生成することと、
前記検出サービスにより、前記エンドポイントデバイスの前記証明書リクエストを前記エンロールメントサービスに送信することと、
前記エンロールメントサービスにより、受信された前記エンドポイントデバイスの前記証明書リクエストを処理して、認証局への前記証明書リクエストに変換することと、
前記エンロールメントサービスにより、変換された前記エンドポイントデバイスの前記証明書リクエストを前記認証局に送信することと、
前記エンロールメントサービスにより、前記認証局により発行された前記エンドポイントデバイスの証明書を受信することと、
前記エンロールメントサービスにより、受信された前記エンドポイントデバイスの前記証明書を処理して、受信された前記エンドポイントデバイスの前記証明書を、プライバシー認証局を表すように変換することと、
前記エンロールメントサービスにより、前記エンドポイントデバイスの前記証明書を前記検出サービスに送信することと、
前記エンロールメントサービスにより、エンドポイントデバイス登録の通知を前記ポリシーサービスに送信することと、
前記ポリシーサービスにより、前記エンドポイントデバイスをデバイス管理サービスに追加する指令を送信することと、
前記検出サービスにより、発行された前記エンドポイントデバイスの前記証明書をローカル証明書ストアに保存することと、
を含む方法。
【請求項2】
前記アイデンティティビーコンは、一意のエンドポイントデバイス識別子、エンドポイントデバイスタイプ、エンドポイントデバイスメイク、及びエンドポイントデバイスモデルを含み、前記エンドポイントデバイス識別子は、電源投入からの前記エンドポイントデバイスの多段階検証ブートシーケンスに基づいて認証される、請求項1に記載の方法。
【請求項3】
前記多段階検証ブートシーケンスは、公開鍵の複数のマッチングセットを使用して、前記エンドポイントデバイスの署名されたプログラムイメージに関連付けられた複数のデジタル署名のセットを検証して、イメージサイナーにより対応する秘密署名鍵を使用して生成されたデジタル署名を検証する、多段階検証ブートローダによって実行される、請求項2に記載の方法。
【請求項4】
検証される前記プログラムイメージは、前記エンドポイントデバイスの第1段階のブートローダ、第2段階のブートローダ、及びオペレーティングシステムローダのうちの少なくとも1つであり、前記多段階検証ブートローダは、前記多段階検証ブートシーケンスの任意の段階に導入されることができる、請求項3に記載の方法。
【請求項5】
前記デジタル署名は、署名及び検証プロセスに関連付けられた1つ又は複数の公開-秘密鍵ペアの偽装を検出するための対策として、論理AND又はOR演算子に基づいて検証され、前記デジタル署名及び署名一致基準の配置順序は、署名仕様に基づく、請求項3に記載の方法。
【請求項6】
論理AND演算は、検証されるべき前記署名されたプログラムイメージの少なくとも2つの一意のデジタル署名を必要とする、請求項5に記載の方法。
【請求項7】
前記多段階検証ブートローダは、後続段階のブートローダへのいかなる修正も必要とせずに、複数の後続段階のブートローダ、イメージ、構成及びデータファイルの検証を進めるためにブートシーケンスに導入される、請求項3に記載の方法。
【請求項8】
ブロックチェーンアプリケーションとしてのゲートウェイデバイスにおける検出サービスと、ブロックチェーンネットワークピアとしてのネットワークにおけるエンロールメントサービスとを使用した、エンドポイントデバイスエンロールメントの方法であって、
前記検出サービスにより、前記エンドポイントデバイスのエンロールメントリクエストを前記ネットワークの前記エンロールメントサービスに送信することと、
前記エンロールメントサービスにより、前記エンロールメントリクエストの受信し、前記ゲートウェイデバイスを認証することと、
前記エンロールメントサービスにより、前記ネットワークのネットワークサービスのために確立されたオーケストレーションルールに基づいて、認証局によって発行された前記エンドポイントデバイスの証明書を生成することと、
前記エンロールメントサービスにより、前記エンドポイントデバイスの前記証明書を前記ゲートウェイデバイスに送信することと、
アップデートサービスにより、前記エンドポイントデバイスのリクエストログをトランザクションレコードとしてローカル台帳に記録し、トランザクションレコードのブロックをブロックチェーンピアに配布して、デバイス履歴を再現するために分散台帳を維持することと、
を含む、方法。
【請求項9】
前記エンドポイントデバイスの前記リクエストログは、署名され、暗号化され、少なくともリクエストカウンタ、リクエスト動作データ、リクエストタイムスタンプ、リクエストノンス、デバイスリクエスト署名、リクエストハッシュ、デバイス署名、デバイス証明書識別子、パブリッシャ署名、パブリッシャ証明書識別子、パッケージ識別子、デバイス識別子、プロバイダ識別子、及びパブリッシャ識別子を含む、請求項に記載の方法。
【請求項10】
前記ブロックチェーンの分散台帳は、アップデートパッケージプロバイダ及びパブリッシャのサプライチェーンにわたるクロスドメイントレーサビリティのために、デバイス及びサービストランザクションの履歴を再現するための適切なトランザクションレコードを
有する、請求項に記載の方法。
【請求項11】
デバイス除籍リクエストは、前記エンロールメントサービスが、前記エンドポイントデバイスの除籍のための認証局への証明書取消リクエストを生成し、前記エンドポイントデバイスの前記リクエストログをトランザクションレコードとして前記ローカル台帳に記録するために、アドミニストレーションダッシュボードから発行されることができる、請求項10に記載の方法。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2017年11月30日に出願された米国仮出願第62/592,868号、及び2018年2月19日に出願された米国特許出願第15/898,842号に対する優先権の利益を主張し、それぞれの内容が参照により本明細書に組み込まれる。
【技術分野】
【0002】
本開示は、エンロールメントサービス及びアイデンティティ(identity)プルーフィングに基づく認証局により暗号的に署名されたアーティファクトの発行と、デバイス管理サービスによる発行されたアーティファクトの使用とに基づく、インターネット・オブ・シングス(IoT)のためのデバイス保護の分野に関する。
【背景技術】
【0003】
サイバーセキュリティは、産業、自動車、及びホームオートメーションの分野の至る所に展開されているIoTデバイスに対するオペレーションテクノロジー(OT)の新興分野において深刻なリスクをもたらす。サプライチェーンにわたる改ざん耐性デバイスは、証明書ベースのエンロールメントを必要とする。アップデートサービスでは、無線又はネットワーク経由でリモートデバイスにアップデートを安全に配布するために、高度に保証された暗号署名が必要である。ゼロタッチプロビジョニング(例えば、典型的にはデバイスインストールにおける、ユーザ対話なしにデバイスを構成する能力)は、デバイス登録及びデバイス管理サービスに必要とされる。デバイス登録の現在のアプローチには、保証鍵又は証明書(X.509)のユーザ生成デジタルハッシュ(ダイジェスト)を使用したwebポータルを使用した手動プロビジョニング、或いは割り当てられたデバイス識別子に基づくサービスプロバイダ独自のJSONウェブトークン(JWT)の使用が含まれる。自動化は、動作のスケーラビリティのためにバッチ処理のスクリプトを使用して実現される。他の新しいアプローチは、非集中型認証に基づいて参加者を登録するためのプライベートの/許可されたブロックチェーン技術の使用と、暗号署名のための公開鍵インフラストラクチャ(PKI)の使用である。ブロックチェーンの使用に基づく代替方法は、データ改ざんに対する強力な保護、スケーラビリティのための分散制御、並びにデジタル資産及びトランザクションの所有権を保護するための公開鍵暗号化及びデジタル署名を提供する。
【0004】
これらの方法の制限には、非現実のアイデンティティの不十分なプルーフの所有、安全でないアイデンティティプルーフィング方法、証明書管理のプロトコルベースではない独自の方法、ベンダロックイン、及びデバイス登録ユースケースのみに対処することが含まれ、その後、これらのアプリケーションは安全な鍵/ストレージ及び証明書管理を処理しなければならず、アプリケーションを脆弱にする。他のアプローチは、グループメンバーシップベースの鍵ペアを使用して、サプライチェーンを通じた所有権の、署名ベースの安全な変更を提供する。しかしながら、これは、オペレーションの情報技術(IT)及びOTドメインの外部のワークフローにおける集中型ブローカを必要とする。ブロックチェーンベースのアプローチは、通信において否認不可なデバイスアイデンティティを欠いており、デバイス登録は、アイデンティティの信頼できるプルーフを欠いており、同時トランザクションの量においてスケーラビリティを欠いている。
【0005】
ブロックチェーン技術は、デジタル資産及びトランザクションの所有権を保護するために、公開鍵暗号及びデジタル署名に基づいて、スケーラビリティ、データ署名、及び署名検証のための分散制御の方法を提供する。しかしながら、通信において否認不可なデバイスアイデンティティが存在しない場合があり、IoTデバイス登録は、アイデンティティの信頼できるプルーフなしに実行される場合があり、IoTデバイスは、データを暗号化し、復号化するために必要な計算能力を欠いている場合がある。ブロックチェーンアプリケーションは、ネットワークにトランザクションリクエストを送信する。ネットワーク上のピアは、スマートコントラクト(コードチェーン)を使用してトランザクションリクエストを処理し、台帳(ledger)をアップデートし、システム間のオーケストレーションのためにトランザクションのブロックを発行する。
【0006】
現在のアプローチは、デバイス検出、識別、及び登録のために様々な方法を使用する。これらの方法は、ヘッドレスデバイス(すなわち、対話型ユーザなしで動作するデバイス)に対するユーザ介入を必要とするか、或いは登録のための信頼できる検出及び識別の前にデバイスを事前登録するための管理アクションを必要とする。このような方法には、(a)ネットワーク(IP)アドレス及びパーソナリティに基づく検出(たとえば、周知のサービスポート、アプリケーションプロトコルの一意のクエリ検査など)、(b)デバイスタイプによるエンロールメントルールを適用するデバイス事前登録、(c)共有秘密を使用するヘッドレスデバイスの検出、(d)デバイスのタイプによるエンロールメントポリシー、(e)発行された証明書がデバイスの通信アドレスに関連付けられる、機器と認証局との信頼できる関連付け、(f)既存の暗号鍵ペアの使用、(g)構成データベースのデバイスパスワード又はデバイスの事前登録がリクエストされる、内部及び外部エンドポイントと中間支援ゲートウェイデバイスとの信頼関係、(h)デバイスの一意の識別子を使用してネットワークデバイスを、サービスにより識別すること、(i)ネットワークに接続された第1のデバイスを、第2のユーザデバイスを使用して識別すること、さらに、第1のデバイスがDHCPを介してIPを取得すること、(j)コントローラとアプライアンスと間の安全なエンドポイントを作成するための、資産管理システムによるHSMの使用、及び(k)他のデバイスのための既存の証明書又はトークンを必要とする、デバイス識別子により他のデバイスに接続するための、ネットワーク接続された支援デバイスの使用、が含まれる。
【0007】
例えばインテル(商標登録)のエンハンスドプライバシーID(EPID)スキームなどの、プライバシー保護及び匿名性の必要性に基づく技術は、メンバのアイデンティティを開示することなく、メンバがグループの信頼されたメンバであることをベリファイヤ(verifier)に証明するために、メンバのグループ公開鍵及びメンバ一意の秘密鍵を使用する。しかしながら、これらの方法は、データ交換におけるメッセージ完全性の検証に限定され、グループを作成してメンバーシップを管理するために集中イシュアラー(issuer)を必要とする。EPID署名は、シリコンベンダからIoTサービスプロバイダへの所有権の証明ベースの転送を促進するが、デバイスライフサイクル管理は、データの機密性のために、デバイス証明書及びPKIに基づく管理、運用、及び保守を必要とする。
【0008】
ブロックチェーンに基づく他のアプローチは、データハッシュに署名及び検証するための集中型ブローカ及びREST(Representational State Transfer) APIを使用して、クライアントとサーバとの間の保存データ、データ署名、及び署名検証を保護するための署名鍵を提供する。このようなPKI又は証明書に依存しない鍵不要(キーレス)署名の使用は、データ完全性のためのメッセージ署名に限定される。サーバ上の署名スキームでは、周期的な(月単位の)アップデートが必要である。
【0009】
不変のハードウェア構成に基づくデバイスの一意のデジタルフィンガープリントの使用に基づく代替アプローチ、及びフィラーコードのために少なくとも1つのユーザ構成可能パラメータを必要とするアルゴリズム処理は、何百万もの分散型IoTデバイスにわたるヘッドレスデバイス又はスケーラビリティのための実行可能な解決策ではない。デバイスのデジタルフィンガープリントに基づく秘密鍵を使用し、発行されたデバイスの公開証明書にデバイスのデジタルフィンガープリントを含めることは、プライバシー及び匿名性保護を取消し、デバイスをリバースエンジニアリング及びハッカー攻撃にさらす。
【発明の概要】
【0010】
上述の方法とは全く対照的に、本開示のデバイス登録のためのシステムは、(a)デバイス検出及び識別前のデバイス事前登録、(b)共有秘密の使用、(c)認証局によるデバイスの事前発行証明書、(d)ユーザデバイスとの推論された信頼関係、(e)TCP/IPネットワークへの内部エンドポイントの接続性、又は(f)デバイスのために発行された既存の暗号鍵の使用、を必要としないが、事前共有秘密を任意に使用して、アイデンティティの高度な所有のプルーフを提供することができる。開示されたシステムの開示された方法は、実装に応じて、(a)グループ及びメンバ鍵管理のための集中イシュアラーを必要とせずに分散制御を提供し、(b)分散制御のブロックチェーン概念に準拠した集中ブローカ、並びに、データ改ざんに対するデジタル資産及びトランザクションのためのPKIベースの強力な保護を必要とせず、(c)ヘッドレスデバイスを登録するために必要とされるユーザ構成可能パラメータを伴わないゼロタッチプロビジョニングを提供し、(d)デバイスフィンガープリントをデバイス証明書に含めることを必要としないプライバシー保護を提供することができる。エンドポイントデバイスは、検出前にエンロールメントサービスへの事前登録を必要としない不変のデバイス識別子と、信頼の基点(root of trust)アンカーとして機能するローカル又はリモートセキュアエレメントを持つ関連付けられたゲートウェイデバイス(非IPエンドポイントデバイスの場合のみ)とを必要とするのみである。
【0011】
例示的な実施形態では、開示されたシステムの方法は、デバイスエンロールメント及びデバイス登録を別個のワークフローとして区別する。デバイス登録は、デバイスの信頼の基点として機能するセキュアエレメントによる、デバイスのアイデンティティプルーフィングに基づくデバイスクレデンシャルの最初の割り当てである。デバイスエンロールメント(enrollment)は、許可されたドメイン及びブロックチェーンにデバイスを追加する(又は参加させる)ために必要とされる。デバイス登録(registration)は、例えばデバイス管理サービス、ポリシーサービス、又はアップデートサービスなどの、接続されたサービスへの、登録されたデバイスの追加(すなわち、エンロールメントの後工程)である。デバイス登録は、管理されたネットワークにデバイスを追加するため、デバイス管理サービスへのデバイス所有権の割り当て又は転送のため、ポリシーベースの遠隔操作、管理、保守、及びプロビジョニング機能のために必要とされる。デバイスエンロールメントリクエストは、オーケストレーションされたワークフロー動作として、(証明書ベースの登録のための)デバイスエンロールメント及びデバイス登録を含んでもよい。同様に、デバイス除籍リクエストは、オーケストレーションワークフロー動作として、(証明書ベースの登録のための)デバイス除籍(disenrollment)及びデバイス登録解除(deregistration)を含んでもよい。
【0012】
従来のIT脅威モデルは、脅威情報、文法、式、及びベースラインからの逸脱に基づく異常検出を中心とする多層防衛マインドセットを使用する。IoTは、システムの安全性を中心に、検出から保護へのパラダイムシフトを必要とする。これは、埋め込み安全管理の悪用に対する、リスクの予想、先制対策、及びアプリケーションの回復力を必要とする。
【0013】
ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を介したデータ転送には、ネットワークサービスによって静的又は動的に割り当てられたインターネットプロトコル(IP)アドレスが必要である。従来のブラウンフィールドデバイスは、ポイントツーポイントインタフェース及びリンクプロトコル(例えばRS-232、RS-422、RS-485、HART(ハイウェイアドレッサブルリモートトランスデューサ)、Modbus、CAN(コントローラエリアネットワーク)バス、航空無線(ARINC)、汎用入出力(GPIO)を使用し、ネットワーク用のIPプロトコルスタックがない場合がある。
【0014】
開示された方法は、従来のデバイスを改良して保護及びリモートデバイス管理をするために、著しい改善及び効率を提供することができる。(例えばメモリ、バッテリ駆動などの)リソース制約及びポイントツーポイント接続性を有しており、IPネットワークを介してアクセス可能ではない、非IPアドレス割り当てデバイス(以下、「非IPデバイス」)は、デバイスのエンロールメント及び管理のために検出され得る。ネットワークIPアドレスを持たない非IPデバイスは、接続されたIPゲートウェイデバイスに関連付けられてもよく、その逆も、識別及び証明書ベースの管理のために関連付けられてもよい。デバイス設定、ファームウェア、又はアプリケーションソフトウェアのアップデートを含む、非IPデバイスへの/からのデータ転送は、機密性と一体性のためにデバイス関連証明書を使用して、IP(LAN又はWAN)ネットワーク経由の接続されたIPゲートウェイデバイスにより代理され得る。接続されたゲートウェイデバイスへの非IPデバイスの動的な関連付けは、デバイス管理サービスによって監視され得る。接続されたエンドポイント及びゲートウェイデバイスは、ブロックチェーンアプリケーションとして参加して、非IP又はIPデバイス検出を開始し、オーケストレーションルール(すなわち、スマートコントラクト又はコードチェーン)に基づいて、認証されたトランザクションをブロックチェーン内のネットワークピアに関連付け、デバイスの棚卸及びデバイスのライフサイクルにわたるステータス管理のために、分散台帳(distributed ledger)にトランザクションレコードを生成することができる。
【0015】
開示された方法は、(a)追加されるデバイスのために構成されたポリシーサービスを使用した証明書ベースの登録におけるIPデバイス及び非IPデバイスの自動登録、(b)削除されるデバイスのために構成されたポリシーサービスを使用した証明書取消におけるIPデバイス及び非IPデバイスの自動登録解除、(c)コネクタの属性には少なくとも証明書のコストと期間が含まれ得る、証明書発行及び取消のための複数の認証局を使用したポリシーベースの動的関連付け(コネクタ)、(d)接続されたエンドポイントデバイスの証明書リクエストがゲートウェイデバイス証明書を使用して署名され、ゲートウェイデバイス証明書がゲートウェイデバイス上の基礎となるローカルセキュアエレメントの保証証明書(信頼の基点)を使用して署名される、マルチシステムトラストチェーンを確立するためのエンロールメントサービスにおけるエンドポイント及び接続されたゲートウェイデバイスの認証を伴う、スケーラビリティのための大幅なプロセス向上及び効率を提供することができる。
【0016】
例えばトランスポート層セキュリティ(TSL)又はインターネットプロトコルセキュリティ(IPsec)などの、一般的に使用されるセキュアなトランスポートプロトコルに基づくフィールドデバイスへのアップデートの任意のフォームは、ピアツーピア通信での送信者(サーバ)とオプションで受信者(クライアント)の検証によって転送時のデータの機密性のみを提供する。サプライチェーンの一体性の検証は、行われない。ファームウェアアップデート、設定アップデート、ファイアウォールルール、ソフトウェアアップデート、オペレーティングシステムパッチなどの、デバイスに配布されるアップデートは、プロバイダから、ディストリビュータを介してパブリッシャに送信される。この流路には、複数ホップの蓄積及び転送サイロが含まれる。このような配達機構において、サプライチェーンにわたるアップデートパッケージの漏えい耐性パッケージングを高度に保証するためのプロビジョニングはない。開示される方法は、革新的な暗号技術の使用とディストリビューションチェーン内の全てのエンティティの信頼できるアイデンティティプルーフィングとに基づいて、エンドツーエンドのデータの機密性及び一体性のためのサプライチェーンの起源(provenance)を組み込むためのスケーラブルかつ自動化されたアプローチを記載する。
【0017】
エンロールメント及び登録、並びにセキュアなアップデートのためのデバイス識別の開示された方法は、非IP及びIPエンドポイントデバイス並びにIPゲートウェイデバイスに適用可能である。業界用語では、エンドポイントデバイスは、エッジデバイス又はセンサとも称され、ゲートウェイデバイスは、コアデバイスとも称される。
【0018】
本開示の例示的な実施形態は、ゲートウェイデバイスに接続されたエンドポイントデバイスのエンロールメント及び登録のためのデバイス識別の方法を提供する。本方法は、多段階検証ブートローダ、エンドポイントデバイスでの検出エージェント、ゲートウェイデバイスでの検出サービス、エンロールメントサービス、ポリシーサービス、及びデバイス管理サービスを使用する。本方法は、エンドポイントデバイスの検出エージェントにより、ゲートウェイデバイスの検出サービスに、エンドポイントデバイスプロファイルを有する認証されたアイデンティティビーコンを送信することを含む。本方法は、検出サービスにより、エンドポイントデバイスの認証及びエンドポイントデバイスプロファイルを検証することと、検出サービスにより、プライバシー認証局からのエンドポイントデバイスの証明書リクエストを生成することと、を含む。本方法は、検出サービスにより、エンドポイントデバイスの証明書リクエストをエンロールメントサービスに送信することを含む。本方法は、エンロールメントサービスにより、受信されたエンドポイントデバイスの証明書リクエストを処理して、認証局への証明書リクエストに変換することと、エンロールメントサービスにより、変換されたエンドポイントデバイスの証明書リクエストを認証局に送信することと、を含む。本方法は、エンロールメントサービスにより、認証局により発行されたエンドポイントデバイスの証明書を受信することと、エンロールメントサービスにより、受信されたエンドポイントデバイスの証明書を処理して、受信されたエンドポイントデバイスの証明書を、プライバシー認証局を表すように変換することと、を含む。本方法は、エンロールメントサービスにより、エンドポイントデバイスの証明書を検出サービスに送信することと、エンロールメントサービスにより、エンドポイントデバイス登録の通知をポリシーサービスに送信することと、を含む。本方法は、ポリシーサービスにより、エンドポイントデバイスをデバイス管理サービスに追加する指令を送信することと、検出サービスにより、発行されたエンドポイントデバイスの証明書をローカル証明書ストアに保存することと、を含む。
【0019】
本開示の例示的な実施形態は、アドミニストレーションダッシュボード、エンロールメントサービス、ポリシーサービス、及びデバイス管理サービスを使用してデバイスを登録解除する方法を提供する。本方法は、認証された特権ユーザにより、アドミニストレーションダッシュボードから、デバイス証明書を取消す動作を開始することと、エンロールメントサービスにより、認証局に取消コマンドを送信することと、を含む。本方法は、エンロールメントサービスにより、デバイス証明書取消の通知をポリシーサービスに送信することを含む。本方法は、ポリシーサービスにより、デバイス管理サービスに、デバイスを削除する指令を送信することを含む。
【0020】
本開示の例示的な実施形態は、ブロックチェーンアプリケーションとしてゲートウェイデバイスにおける検出サービスと、ブロックチェーンネットワークピアとしてネットワークにおけるエンロールメントサービスとを使用した、エンドポイントデバイスエンロールメントの方法を提供する。本方法は、検出サービスにより、エンドポイントデバイスのエンロールメントリクエストをネットワークのエンロールメントサービスに送信することを含む。本方法は、エンロールメントサービスにより、エンロールメントリクエストの受信し、ゲートウェイデバイスを認証することを含み得る。本方法は、エンロールメントサービスにより、ネットワークのネットワークサービスのために確立されたオーケストレーションルールに基づいて、認証局によって発行されたエンドポイントデバイスの証明書を生成することを含む。本方法は、エンロールメントサービスにより、エンドポイントデバイスの証明書をゲートウェイデバイスに送信することを含む。本方法は、アップデートサービスにより、エンドポイントデバイスのリクエストログをトランザクションレコードとしてローカル台帳に記録し、トランザクションレコードのブロックをブロックチェーンピアに配布して、デバイス履歴を再現するために分散台帳を維持することを含む。
【0021】
本開示の例示的な実施形態は、アップデートプロバイダにより操作されるディベロップメントシステム及びリリース管理システム、アップデートパブリッシャにより操作されるアップデートサービス、デバイスのアップデートクライアント、及びデバイスのローカルセキュアエレメントを使用して、登録されたデバイスをアップデートする方法を提供する。本方法は、ディベロップメントシステムに、ファームウェアアップデート、ソフトウェアアップデート、構成アップデート、及びアップデートスクリプトの少なくとも1つを含むアップデートパッケージを構築することを含む。本方法は、リリース管理システムにより、プロバイダ署名鍵を使用してアップデートパッケージに署名することを含み、ここで、第1のデジタル署名はアップデートパッケージに含まれる。本方法は、リリース管理システムにより、アップデートパッケージの初期暗号化のために、アップデートパブリッシャのためのパブリッシャ証明書からのパブリッシャ公開鍵を使用して署名されたアップデートパッケージを暗号化することを含む。本方法は、リリース管理システムにより、署名及び暗号化されたアップデートパッケージをアップデートサービスに送信することを含む。本方法は、デバイスのアップデートクライアントにより、アップデートパッケージをリクエストすることを含む。リクエストは、デバイスマニフェストと、少なくともそのデバイスのベンダ識別子、型番、及びデバイス証明書を含み得る。本方法は、アップデートサービスにより、受信したデバイスマニフェストに基づいて、構成されたデバイスのオーケストレーションルールに基づいて、デバイスの署名されたアップデートパッケージのセットを準備することを含む。本方法は、アップデートサービスにより、アップデートパブリッシャのパブリッシャ秘密鍵を使用して初期暗号化を復号化することによって署名されたアップデートパッケージを再暗号化及び再署名し、アップデートパブリッシャの署名鍵を使用してアップデートパッケージを署名し、最後に、アップデートパッケージの最終暗号化のために、デバイス証明書からのデバイス公開鍵を使用してアップデートパッケージを暗号化することを含む。第2のデジタル署名は、アップデートパッケージに含まれる。本方法は、アップデートサービスにより、暗号化され二重に署名されたアップデートパッケージをデバイスのアップデートクライアントに送信することを含む。本方法は、アップデートクライアントにより、デバイスのデバイス秘密鍵を使用して暗号化されたアップデートパッケージを復号化することを含む。本方法は、アップデートクライアントにより、アップデートプロバイダからの各々の公開鍵と認証局によって発行されたパブリッシャ証明書とを使用して、第1及び第2のデジタル署名を検証することを含む。例示的な実施形態では、アップデートスクリプトは、アップデートパッケージをデバイスに適用するためにデバイスで実行される。
【0022】
本開示の例示的な実施形態は、ブロックチェーンアプリケーションとしてのデバイスのアップデートクライアント、ブロックチェーンネットワークピアとしてのネットワークのアップデートサービス、オーケストレーションルール、及び台帳を使用してデバイスをアップデートする方法を提供する。本方法は、アップデートクライアントにより、ネットワークのアップデートサービスからデバイスのアップデートパッケージのデバイスリクエストを送信することを含む。本方法は、アップデートサービスにより、デバイスリクエストを受信し、デバイスを認証することを含む。本方法は、アップデートサービスにより、ネットワークのネットワークサービスのために確立されたオーケストレーションルールに基づいて、署名され暗号化されたアップデートパッケージを準備することを含む。本方法は、アップデートサービスにより、署名及び暗号化されたアップデートパッケージをデバイスに送信することを含む。本方法は、アップデートサービスにより、デバイスのリクエストログをエントリとして台帳に記録し、トランザクションレコードのブロックをブロックチェーンピアに配布して、デバイス履歴を再現するために分散台帳を維持することを含む。
【0023】
本開示の例示的な実施形態は、検出エージェント、検出サービス、エンロールメントサービス、ポリシーサービス、及びデバイス管理サービスを使用して、IPアドレスを有さないエンドポイントデバイスと、エンドポイントデバイスに接続されるゲートウェイデバイスとの間のデータ転送を安全にする方法を提供する。本方法は、エンドポイントデバイスの検出エージェントにより、ゲートウェイデバイスの検出サービスに、エンドポイントデバイスのデバイスプロファイルを有する認証されたアイデンティティビーコンを送信することを含む。本方法には、検出サービスにより、エンドポイントデバイス及びデバイスプロファイルの認証を検証することと、検出サービスにより、プライバシー認証局からエンロールメントサービスへのエンドポイントデバイスの証明書リクエストを生成することを含む。本方法は、エンロールメントサービスにより、受信されたエンドポイントデバイスの証明書リクエストを処理して、認証局への証明書リクエストに変換することを含む。本方法は、エンロールメントサービスにより、エンドポイントデバイスの証明書リクエストを認証局に送信することと、エンロールメントサービスにより、認証局により発行されたエンドポイントデバイスの証明書を受信することと、を含む。本方法は、エンロールメントサービスにより、受信されたエンドポイントデバイスの証明書を処理して、プライバシー認証局を表すように変換することを含む。本方法は、エンロールメントサービスにより、エンドポイントデバイスの証明書を検出サービスに送信することを含む。本方法は、エンロールメントサービスにより、エンドポイントデバイス登録の通知をポリシーサービスに送信することと、ポリシーサービスにより、エンドポイントデバイスを追加する指令をデバイス管理サービスに送信することとを含む。本方法は、検出サービスにより、発行されたエンドポイントデバイスの証明書をゲートウェイデバイスのローカル証明書ストアに格納することを含む。本方法は、安全なデータ転送のために、ゲートウェイデバイスのアプリケーションにより、エンドポイントデバイスから/への送信中のデータを受信し、ローカル証明書ストアからのエンドポイントデバイスの証明書を使用して、データに対して暗号化動作を実行することを含む。
【図面の簡単な説明】
【0024】
本開示は、添付の図面に関連して読まれるとき、以下の詳細な説明から最も良く理解される。一般的な慣行によれば、図面の種々の特徴/要素は縮尺通りに描かれていない場合もある。共通の参照番号は、同様の特徴/要素を表す。以下の図面が、添付の図面に含まれる。
図1図1は、開示されたシステムの様々な例示的な実施形態における、エンドポイント及びゲートウェイデバイスのデバイスライフサイクル管理システムを図示したものである。
図2図2は、開示されたシステムの様々な例示的な実施形態における、接続されたIPゲートウェイデバイスに物理的に接続された非IPエンドポイントデバイスを検出するための方法を示す模式図である。
図3図3は、開示されたシステムの様々な例示的な実施形態における、リモートセキュアエレメントを使用する非IPエンドポイント又はIPゲートウェイデバイスのエンロールメントを示す模式図である。
図4図4は、開示されたシステムの様々な例示的な実施形態における、ローカルセキュアエレメント及び認証局を使用する非IPエンドポイント又はIPゲートウェイデバイスの登録を示す模式図である。
図5図5は、開示されたシステムの様々な例示的な実施形態における、ローカルセキュアエレメント、認証局、ポリシーサービス、及びデバイス管理サービスを使用する、追加(on-boarding)のためのデバイスのエンロールメント及び登録の方法を示すフローチャートである。
図6図6は、開示されたシステムの様々な例示的な実施形態における、アップデートサービス、アップデートクライアント、及びローカルセキュアエレメントを使用するエンドポイント又はゲートウェイデバイスの安全なアップデートの方法を示すフローチャートである。
図7図7は、開示されたシステムの様々な例示的な実施形態における、削除(off-boarding)のためのデバイスの除籍及び登録解除の方法を示すフローチャートである。
図8図8は、開示されたシステムの様々な例示的な実施形態における、複数のデバイスの安全なアップデートをオーケストレーションするためのブロックチェーンアプリケーション及びネットワークサービスのための、プロバイダ、パブリッシャ、及びデバイスのクラスを含むエンティティリレーションシップモデルを示す模式図である。
図9図9は、開示されたシステムの様々な例示的な実施形態における、複数のデバイスの安全なアップデートをオーケストレーションするためのブロックチェーンアプリケーション及びネットワークサービスのための、アップデートパッケージのプロバイダ、パブリッシャ、及び消費者を含むワークフローモデルを示す模式図である。
図10図10は、開示されたシステムの様々な例示的な実施形態における、複数のデバイスのデバイスエンロールメントをオーケストレーションするためのブロックチェーンアプリケーション及びネットワークサービスのための、エンロールメントサービス、認証局サービス、デバイスドメイン、及び複数のタイプのデバイスを含むエンティティリレーションシップモデルを示す模式図である。
図11図11は、開示されたシステムの様々な例示的な実施形態における、複数のデバイスのデバイスエンロールメントをオーケストレーションするためのブロックチェーンアプリケーション及びネットワークサービスのための、エンロールメントサービス、認証局サービス、デバイスドメイン、及び複数のタイプのデバイスを含むワークフローモデルを示す模式図である。
図12図12は、開示されたシステムの様々な例示的な実施形態における、エンロールメントサービス、アップデートクライアント、及びアップデートサービスのクラウドサービスとのオーケストレーションのワークフローモデルを示す模式図である。
図13図13は、開示されたシステムの様々な例示的な実施形態における、多段階検証ブート方法によるプログラムイメージ検証と、攻撃者により偽装された秘密署名鍵の悪用に対する保護対策とを示す模式図である。
図14図14はデータプライバシー及び保護のために、エンティティ識別子のポリシーベースの匿名化と、トランザクションレコード内のコンテンツの項目別フィルタリングとを提供するシステム及び方法を示す模式図である。
図15図15は、シリコン製造工場、相手先製品製造業者(OEM)、プラットフォーム所有者からデバイスの所有者までのデバイスの管理のチェーンを、ブロックチェーンの分散台帳として追跡する、ブロックスキーマを示す模式図である。
図16図16は、シリコン製造工場、相手先製品製造業者(OEM)、プラットフォーム所有者からデバイス所有者までのデバイスのアプリケーショントラストチェーンを、ブロックチェーンの分散台帳として追跡する、ブロックスキーマを示す模式図である。
図17図17は、シリコン製造工場、相手先商標製造業者(OEM)、プラットフォーム所有者からデバイス所有者までのサプライチェーンを通じたデバイスの変更管理を、ブロックチェーンの分散台帳として追跡する、ブロックスキーマを示す模式図である。
図18図18は、デバイス識別、検出、エンロールメント、及び登録の方法の実施形態が実装され得る例示的なコンピュータシステムの図である。
【0025】
本開示の更なる適用可能性の領域は、以下に提供される詳細な説明から明らかになるのであろう。例示的な実施形態の詳細な説明は、例示のみを目的としたものであり、したがって、必ずしも本開示の範囲を限定することを目的としたものではないことを理解されたい。
【発明を実施するための形態】
【0026】
本開示は、特定の実施形態を参照して本明細書に例示され、説明されるが、本開示は、本明細書に示される詳細事項に限定されることを意図するものではない。むしろ、本開示のスコープから逸脱することなく、特許請求の範囲と同等のスコープ及び範囲内で、細部に様々な修正を行うことができる。
【0027】
例えば商用CAなどの認証局(CA:Certificate Authority)は、(X.509スタンダードに基づく証明書などの)証明書を発行する証明書サービスプロバイダを指す。プライバシーCAは、セキュアエレメント(例えば、トラステッドコンピューティンググループ(TCG)仕様に基づくトラステッドプラットフォームモジュール(TPM)、製造元が発行した保証鍵に基づくデバイス認証用のネットワーク又はクラウドベースのハードウェアセキュリティモジュール(HSM)、又は物理複製困難関数(PUF:Physically Unclonable Function)により生成されたデバイスの一意の識別子などのデバイス認証アーティファクトなど)によりサポートされるアイデンティティ証明方法に参加する証明書サービスプロバイダを指す。
【0028】
デバイスの一意の識別子は、不変の静的な識別子であってもよく、又はデバイスのPUFエンジンを使用して電源投入時に動的に再生成されてもよい。従来のデバイスでは、デジタルフィンガープリントは、プログラム可読デバイスシリアル番号、ブートROM内の秘密鍵のワンタイムプログラマブル(OTP)ハッシュ、又はハードウェアレジスタベースの一意のデジタル値などのデバイス特性及び属性に基づく暗号署名から構成され得る。
【0029】
開示されたシステムの例示的な実施形態では、デバイス管理サービスを伴うゲートウェイエンロールメントが、ゲートウェイの一意の識別子を使用して実行されてもよく、セキュアエレメントの保証証明書が、ゲートウェイ証明書リクエストにデジタル署名するために使用されてもよい。発行されたゲートウェイ証明書は、その後、デバイスの一意の識別子を使用して、接続されたデバイスの証明書リクエストにデジタル署名するために使用されてもよい。
【0030】
開示されたシステムの更に他の例示的な実施形態では、発行されたゲートウェイ証明書は、その後、一意の識別子としてアプリケーション又はサービスプリンシパル名を使用して、ゲートウェイにインストールされ実行されるアプリケーション又はサービスの証明書リクエストにデジタル署名するために使用されてもよい。
【0031】
図1及び図2を参照すると、非IPエンドポイントデバイス101の検出エージェント109は、電源投入時に、任意で、構成された周期的間隔に、アイデンティティビーコン110を、通信インタフェース100を介して、接続されたIPゲートウェイデバイス102の検出サービス111に送信する。通信インタフェース100は、シリアル、パラレル、バス、USBインタフェースなどでよい。ステップ126で、検出サービス111は、ゲートウェイデバイス102の適切なインタフェースドライバを介してアイデンティティビーコン110を受信する。ステップ112で、検出サービス111は、デバイス認証及びプロファイリング113を実行して、少なくともエンドポイントデバイス識別子231を含むアイデンティティビーコン110及びデバイスプロファイル232の完全性を検証する。ステップ115で、検出サービスは、ゲートウェイプロファイル114から、少なくともゲートウェイデバイスのゲートウェイ識別子115、タイプ、メイク及びモデルを含むゲートウェイデバイス102の不変の識別子を取得する。ステップ116で、検出サービス111は、少なくともエンドポイントデバイスプロファイル232及びゲートウェイデバイスプロファイル114を含むエンドポイントデバイス101の証明書リクエスト116を構築し、エンロールメントサービス103に送信する。ステップ117で、エンロールメントサービス103は、エンドポイントデバイスプロファイル232及び接続されたゲートウェイプロファイル114を拡張属性として有する、エンドポイントデバイス101の認証局により発行された証明書を応答する。ステップ118で、接続されたエンドポイントデバイス101の発行された証明書は、ローカル証明書ストア127に格納される。
【0032】
図1を参照すると、ステップ119で、非IPエンドポイントデバイス101は、接続されたIPゲートウェイデバイス102の通信インタフェース100を介して、接続されたサービス106とのデータ交換を開始する。ステップ120で、デバイスデータ120は、エンドポイントデバイス101と接続されたサービス106との間でデータ交換を転送するためのプロキシサービスとして機能するクライアントアプリケーション121によって受信される。ステップ122で、接続されたエンドポイントデバイス101に関連付けられた証明書が、ローカル証明書ストア127からクライアントアプリケーション121により取得される。取得された証明書は、ステップ123で、接続されたサービス106との安全な通信を確立するために相互認証に使用されてもよく、ステップ124で、安全なアップデートのためにアップデートサービス107からアップデートパッケージをリクエストするために使用されてもよい。
【0033】
図1及び図2を参照すると、ステップ124で、ゲートウェイデバイス102のアップデートクライアント108は、構成されたアップデートサービス107からアップデートパッケージをリクエストする。アップデートパッケージリクエストは、接続されたエンドポイントデバイス101又はゲートウェイデバイス102のいずれかのデバイス証明書と、少なくともデバイスの識別子、タイプ、メイク及びモデルを含む関連付けられたデバイスプロファイル114、232とを含む。
【0034】
図1を参照すると、ステップ125で、デバイス管理サービス105は、接続された非IPエンドポイントデバイスに発行された証明書についてゲートウェイデバイス102に問い合わせる。
【0035】
図1及び図2を参照すると、ステップ128で、エンロールメントサービス103は、エンドポイントデバイス登録の通知をポリシーサービス104に送信する。ステップ129で、ポリシーサービス104は、エンドポイントデバイス101をデバイス管理サービス105に追加する指令を送信する。ステップ130で、エンロールメントサービス103は、エンドポイントデバイス101の証明書リクエストを認証局406に送信し、受信されたエンドポイントデバイス101の証明書を処理して、(エンロールメントサービス103により認証局406から)受信された証明書を、プライバシー認証局を表すように変換し、エンドポイントデバイス101の証明書を検出サービス111に送信する。(例えばTPMなどの)セキュアエレメント235は、例えば、対応する秘密鍵を使用してのみ復号化され得るセキュアエレメント235の公開鍵を使用することにより、発行された証明書を暗号化するためにプライバシーCAにより利用されるべきアイデンティティ(すなわち秘密)の高度な所有のプルーフをサポートし得る。代替の方法には、鍵導出機能及び保護されたシードを使用して生成された対称鍵を使用することが含まれてもよい。したがって、エンドポイントデバイス101のセキュアエレメント235が本当に秘密を所有していない限り、証明書は、セキュアエレメント235により解読されることができない。商用CA406は、このようなメカニズムをサポートしないことがある。したがって、検出サービス111と商用CA406との間のプロキシサービスとして機能するエンロールメントサービス103で、変換が実行されてもよい。商用CA406は証明書を発行し、エンロールメントサービス103は、アイデンティティの高度な所有のプルーフをサポートするために暗号化された、発行された証明書を含むコンテンツを有する応答メッセージを準備する。
【0036】
図2を参照すると、ステップ202で、イメージサイナー(signer)201は、署名仕様233に基づいて、公開-秘密非対称鍵ペアを生成し、プログラムイメージ250にデジタル署名して、署名されたプログラムイメージ203を生成する。ステップ204で、生成された鍵ペアに関連付けられた公開鍵が、多段階検証ブートローダ240に含まれる。エンドポイントデバイス101の電源投入時に、ブロック205で、第1段階のブートローダは、制御を実行し、次の段階の多段階検証ブートローダ240に制御を転送する。ステップ209で、多段階検証ブートローダ240は、デバイスプロファイラ210を呼び出す。ステップ211で、エンドポイントデバイス識別子は、例えばデータバスのエンドポイントアドレス、又はエンドポイントデバイス101の不揮発性ストレージ内のワンタイムプログラマブルシリアル番号のような、エンドポイントデバイス101の複数のインジケータに基づいて、デバイスプロファイラ210により生成される。ステップ212で、少なくともエンドポイントデバイス101の識別子、タイプ、メイク及びモデルを含むデバイスプロファイル232は、プロファイル送信機能213により、非対称鍵ペアの公開鍵214を使用して署名される。ステップ216で、署名されたデバイスプロファイル232は、例えばシリアルRS-232、RS-485、RS-422、CANバス、Modbus、HART、GPIO、ユニバーサルシリアルバス(USB)インタフェース等の通信リンクを介して、接続されたゲートウェイIPデバイス102に、通信インタフェース100を介して送信される。
【0037】
図2を参照すると、ステップ206で、イメージベリファイヤ(verifier)207は、多段階検証ブートローダ240により実行される。ステップ208で、イメージベリファイヤ207は、署名されたプログラムイメージ203のデジタル署名を再生成し検証する。検証の成功に基づいて、署名されたプログラムイメージがメモリにロードされ、実行される。
【0038】
図2及び図1を参照すると、ステップ217で、署名されたデバイスプロファイル232は、ゲートウェイデバイス102の物理インタフェース200を介して、アイデンティティビーコン110として受信される。ステップ219で、デバイスプロファイル232は、プロファイル受信機能218により処理される。ステップ220で、検出サービス111は、プロファイル検証機能221を使用して、関連付けられた秘密鍵222を使用して、署名されたデバイスプロファイル232の完全性を検証する。検出サービス111は、デバイスプロファイル232を、物理通信インタフェース200に接続されたエンドポイントデバイス101に関連付ける。
【0039】
開示されたシステムの例示的な一実施形態では、図2を参照すると、ステップ234で、イメージサイナー201は、例えばトラステッドプラットフォームモジュール(TPM)、ネットワークハードウェアセキュリティモジュール(ネットワークHSM)、クラウドHSMなどのセキュアエレメント235を使用して、署名鍵ペアを生成し、秘密署名鍵はセキュアエレメント235内で保護される。
【0040】
開示されたシステムの例示的な一実施形態では、多段階検証ブートローダ240は複数の公開鍵を使用してもよく、イメージサイナー201は複数の同等の署名鍵を使用して、署名されたプログラムイメージ203の署名仕様233を使用して複数のデジタル署名を生成してもよい。本方法は、複数の署名鍵をリクエストすることにより、エンドポイントデバイス101(又はゲートウェイデバイス102)を、紛失及び/又は盗まれた秘密鍵により偽装されることから保護し、迅速なリスク軽減のための対策を提供する。複数の署名鍵の使用は、偽装された署名鍵を使用して署名されたプログラムイメージ203のインフィールドアップデートに対する強化された保護のための論理的な「AND」演算として実装されてもよく、或いは、ミッションクリティカルなシステムの冗長性及び高可用性のための論理的な「OR」演算として実装されてもよい。公開鍵の証明書ベースの検証がない場合、複数の鍵ペアに対する論理的な「AND」及び「OR」演算は、偽装された鍵に基づく検証をブロックするための効果的な対策を提供する。発行されたPKI公開鍵の偽装は、例えばリターンオブカッパースミスアタック(ROCA)として記述され、公表された脆弱性などの技術を使用して設計され得る。
【0041】
開示されたシステムの更に他の例示的な実施形態では、多段階検証ブート240の署名仕様233は、署名されたプログラムイメージ203内にゆるい配置順序で存在するデジタル署名のみの、及びそのうちの少なくとも2つの検証と、一意性のために鍵ペアごとに異なる署名仕様の使用とを必要とし得る。本方法は、多段階検証ブートローダ240に埋め込まれた偽装された公開鍵が交換されるまで(すなわち、鍵のリニューアルまで)、署名されたプログラムイメージ203のパブリッシャが、デバイスの偽装された公開鍵を使用することなく、デバイスをアップデートすることを可能にする。
【0042】
開示されたシステムの更に他の例示的な実施形態では、多段階検証ブートローダ240の署名仕様233は、多段階検証ブートローダ240の公開鍵の厳密な配置順序を一致させるための、署名されたプログラムイメージ203のデジタル署名の順序付けられたリストと、ただ1つの偽装された公開-秘密鍵ペアの潜在的な乱用からの保護のための、一意性のために鍵ペアごとに異なる署名仕様の使用とを必要とし得る。偽装された署名鍵を使用して署名されたプログラムイメージ203のアップデートの誤りは、論理「AND」演算の使用及び署名仕様233による厳格な配置順序を必要とするこのような対策により保護される。
【0043】
ブロック203で検証される署名されたプログラムイメージ250は、第1段階のブートローダ、次の段階(例えば第2段階等)のブートローダ、又はデバイスのオペレーティングシステム(OS)ローダであってもよい。ブロック205の多段検証ブートローダ240は、ブートシーケンスの任意の段階で導入されてもよく、OSを検証しロードするデバイスのブートROMと同じくらい初期段階から導入されてもよい。多段階検証ブートローダ240は、後続段階のブートローダへのいかなる修正も必要とせずに、複数の後続段階のブートローダ、イメージ、構成及びデータファイルを検証するために、ブートシーケンス(又はチェーン)に導入されてもよい。
【0044】
図3図1及び図2を参照すると、ステップ301で、ゲートウェイデバイス102の検出サービス111は、エンロールメントサービス103に対するエンドポイントデバイスプロファイル232及びゲートウェイデバイスプロファイル114を含むエンロールメントサービス103の一方向証明書検証を伴う、安全な転送により、エンドポイントデバイス101のエンロールメントリクエストを送信する。ステップ304で、エンロールメントサービス103は、ゲートウェイデバイス102及びエンドポイントデバイス101の認証と、構成されたオーケストレーションルール305に基づくエンロールメントリクエストの検証とを実行する。デバイスの認証は、X.509証明書又はJWTベースの方法を使用して実行されてもよい。ステップ306で、エンロールメントサービス103は、リモートセキュアエレメント307を使用してPKI公開鍵-秘密鍵ペアを生成する。ステップ308で、生成されたエンドポイントデバイス101に関連付けられた公開鍵は、安全な転送により、検出サービス111に送信される。エンドポイントデバイス101に関連付けられた秘密鍵は、リモートセキュアエレメント307に安全に格納される。ステップ312で、エンドポイントデバイス101に関連付けられた公開鍵は、エンドポイントデバイス101による暗号化又は署名のためにローカル鍵ストア313に格納され、或いは、ステップ123で、エンドポイントデバイス101の安全なアップデートのためにローカル鍵ストア313に格納される。
【0045】
開示されたシステムの例示的な一実施形態では、ネットワーク又はクラウドベースのHSMが、リモートセキュアエレメント307として構成され得る。
【0046】
開示されたシステムの他の例示的な実施形態では、ステップ309で、デバイスエンロールメントのトランザクションレコードは、エンロールメントサービス103により、データベース機能311を含むローカル台帳310に追加されてもよい。ステップ314で、ローカル台帳310は、ブロックチェーン内のアプリケーションとのオーケストレーションのためのデバイスエンロールメントトランザクションのブロックを表すイベント315を発する。
【0047】
開示されたシステムの更に他の例示的な実施形態では、ステップ301で、エンロールメントリクエストは、ゲートウェイデバイス102に対するものであってもよい。ステップ312で、ゲートウェイデバイス102に関連付けられた公開鍵は、ゲートウェイデバイス102による暗号化又は署名のために、或いはゲートウェイデバイス102の安全なアップデートのために、ローカル鍵ストア313に格納される。
【0048】
図4図1図2、及び図3を参照すると、ステップ402で、検出サービス111は、鍵ペアの秘密鍵を保護するために、ローカルセキュアエレメント401を使用してPKI非対称鍵ペアを生成する。ステップ403で、検出サービス111は、エンドポイントデバイスプロファイル232及びゲートウェイデバイスプロファイル114を含むデバイスの証明書署名リクエスト(CSR)を送信する。CSRは、認証局406により暗号化された証明書を、保証公開鍵を使用して復号化するための、秘密鍵の所有のプルーフとして、保証公開鍵又はローカルセキュアエレメント401の証明書を含んでもよい。ステップ404で、エンロールメントサービス103は、ゲートウェイデバイス102及びエンドポイントデバイス101の認証と、構成されたオーケストレーションルール305に基づくエンロールメントリクエストの検証とを実行する。ステップ405で、エンロールメントサービス103は、構成されたコネクタ属性、例えばコスト、証明書タイプ、証明書プロバイダなどに基づいて、コネクタを使用して、複数の認証局406のうちの1つに、デバイスの証明書をリクエストする。ステップ407で、認証局(CA)が発行したエンドポイントデバイスの証明書は、少なくともエンドポイントデバイスプロファイル232及び接続されたゲートウェイデバイスプロファイル114を拡張属性として含んでもよく、エンロールメントサービス103からゲートウェイデバイス102の検出サービス111に送信される。ステップ409で、検出サービス111は、受信されたエンドポイントデバイスの証明書をローカル証明書ストア127に格納して、(ステップ123で)セキュアなデータ転送を提供し、(ステップ124で)エンドポイントデバイス101のアップデートパッケージをリクエストする。
【0049】
開示されたシステムの他の例示的な実施形態では、ステップ408で、デバイスエンロールメントのトランザクションレコードは、エンロールメントサービス103により、データベース機能を実行するデータベース311を含むローカル台帳310に追加されてもよい。ステップ410で、台帳310は、ブロックチェーン内のアプリケーションとのオーケストレーションのためのデバイスエンロールメント及び登録トランザクションのブロックを表すイベント411を発する。
【0050】
図5及び図1を参照すると、ステップ501で、エンロールメントサービス103は、デバイスエンロールメントの通知を、少なくともエンドポイントデバイスプロファイル232及び発行されたエンドポイントデバイスの証明書とともに、APIを介して、又はメッセージバスインタフェースでの発行(publish)を介して、ポリシーサービス104に送信する。ステップ502で、ポリシーサービス104は、APIを介して、又は、メッセージバスインタフェースでの発行を介して、デバイス管理サービス105にデバイスを追加する。
【0051】
図6図1図3、及び図4を参照すると、アップデートプロバイダ601は、ディベロップメントシステム604及びリリース管理システム608を含み、アップデートパブリッシャ602は、アップデートサービス107、ローカル台帳625、オーケストレーションルール624、及びイベント623を含み、エンドポイントデバイス101又はゲートウェイデバイス102は、アップデートクライアント603及びローカルセキュアエレメント401を含む。ステップ605で、ディベロップメントシステム604のディベロッパは、アップデートスクリプトと、例えばファームウェアアップデート、ソフトウェアアップデート、構成アップデート、オペレーティングシステムパッチ/アップデート、デバイスポリシーなどの複数のコンポーネントアップデートを含むパッケージエレメント606から、署名されていないアップデートパッケージ607を構築する。ステップ607で、署名されていないアップデートパッケージは、リリース管理システム608のリリースマネージャにより処理され、ローカルレジストリ(例えば、データベースなど)に格納される。リリース管理システム608は、署名及び暗号化されたアップデートパッケージを構築し、署名はプロバイダ署名鍵609を使用して実行され、暗号化はパブリッシャ証明書610を使用して実行される。ステップ611で、アップデートパブリッシャ602のアップデートサービス107は、アップデートパブリッシャ602の公開鍵を使用して暗号化された、署名及び暗号化されたアップデートパッケージを調達し、ローカルレジストリ(例えばデータベースなど)に格納する。アップデートプロバイダ601は、複数のアップデートパブリッシャ602のための署名及び暗号化されたパッケージを構築するように構成されてもよい。ステップ612で、アップデートサービス107は、プロビジョニングされたオーケストレーションルール624を使用して、アップデートパッケージを、例えばデバイスタイプ、メイク、モデル、ベンダ識別子などの複数のデバイス属性により、指定されたデバイスクラスに構成する。ステップ616で、ゲートウェイデバイス102のアップデートクライアント603は、自ら、或いは接続されたエンドポイントデバイス101に代わって、アップデートパッケージのリクエストをアップデートサービス107に送信する。リクエストは、拡張属性としてデバイスプロファイル(例えば、エンドポイントデバイスプロファイル232又は接続されたゲートウェイデバイスプロファイル114)を有するデバイス証明書(すなわち、エンドポイントデバイス101又はゲートウェイデバイス102の暗号化証明書)を少なくとも含む。デバイスリクエストは、デバイス署名鍵を使用してデジタル署名されたデバイスマニフェスト(すなわち、デジタル署名を検証するためにアップデートサービスのデバイスリクエストにも含まれるデバイス署名証明書に関連付けられた)を含んでもよく、デバイスマニフェストは、アップデートサービスとの事前の(過去の)相互作用に基づいて、現在インストールされているアップデートパッケージのリストである。このステップは、潜在的なマンインザミドル(MITM)攻撃、デバイスへの正当なアップデートパッケージの配布をブロックする偽装攻撃、及び/又は脆弱性を悪用するリバースエンジニアリングのためのアップデートパッケージの傍受から保護する。ステップ619で、リクエストされたアップデートパッケージは、受信されたデバイス証明書を使用して再暗号化され、アップデートサービス107によりパブリッシャ署名鍵618を使用して再署名される。
【0052】
開示されたシステムの他の例示的な実施形態では、ステップ620で、少なくとも署名及び暗号化されたデバイスリクエストログを含む、デバイスアップデートのためのトランザクションレコードが生成され、データベース機能311を含むローカル台帳310に格納される。ステップ617で、ローカル台帳625は、ブロックチェーン内のアプリケーションとのオーケストレーションのためのデバイスアップデートトランザクションのブロックを表すイベント623を発する。ステップ621で、アップデートクライアント603は、まず、プロバイダ証明書615からの公開鍵及びパブリッシャ証明書614からの公開鍵を使用して、受信されたアップデートパッケージの完全性を検証する。ステップ622で、アップデートクライアント603は、(自己のアップデートのための)エンドポイントデバイス101(又はゲートウェイデバイス102)の秘密鍵並びにローカルセキュアエレメント401を使用して、受信されたアップデートパッケージを復号化する。
【0053】
開示されたシステムの例示的な一実施形態では、複数のデバイスは、デバイス証明書及び関連付けられた秘密鍵を共有するように構成されてもよい。アップデートサービス107は、このような構成で、パフォーマンス最適化のためのデバイス証明書のハッシュと、多数のデバイスに対するアップデートのスケーラビリティとを使用して、ステップ619で、生成されたアップデートパッケージをキャッシュしてもよい。
【0054】
図7図1図3、及び図4を参照すると、アドミニストレータ700は、アドミニストレーションダッシュボード701において、登録及びエンロールメントされたエンドポイントデバイス101又はゲートウェイデバイス102の登録解除及び除籍のためのアクションを実行する。ステップ702で、アドミニストレーションダッシュボード701は、デバイス証明書の証明書取消リクエストをエンロールメントサービス103に送信する。ステップ703で、エンロールメントサービス103は、構成されたオーケストレーションルール305に基づいて、アドミニストレータ認証及び取消リクエストの検証を行う。ステップ704で、エンロールメントサービス103は、証明書取消リクエストを、コネクタを介して発行した認証局406に送信する。ステップ706で、エンロールメントサービス103は、APIを介して、又はメッセージバスインタフェースでの発行を介して、ポリシーサービス104にデバイス除籍の通知を送信する。ステップ707で、ポリシーサービス104は、API又はメッセージバスインタフェースでの発行を介して、デバイスをデバイス管理サービス105から除去する。
【0055】
開示されたシステムの他の例示的な実施形態では、ステップ705で、デバイス除籍のトランザクションレコードは、エンロールメントサービス103により、データベース機能311を含むローカル台帳310に追加されてもよい。ステップ708で、台帳310は、ブロックチェーン内のアプリケーションとのオーケストレーションのためのデバイス除籍及び登録解除トランザクションのブロックを表すイベント709を発する。
【0056】
図8を参照すると、エンドポイントデバイス101又はゲートウェイデバイス102の安全なデバイスアップデートをオーケストレーションするためのエンティティ及びエンティティリレーションシップが示されている。任意の2つのエンティティ間のコネクタ800は、1対多のリレーションシップを示す。表1(下記)では、エンティティオブジェクトと属性が示される。
【表1-1】
【表1-2】
【0057】
図9図8及び図6を参照すると、エンドポイントデバイス101又はゲートウェイデバイス102に安全なアップデートをオーケストレーションするためのワークフローが示されている。ステップ902で、プロバイダ903のディベロッパ901は、アップデートパッケージを構築する。ステップ904で、プロバイダ903のリリースマネージャは、プロバイダ秘密鍵を使用してアップデートパッケージに署名し、パブリッシャ公開鍵を使用してアップデートパッケージを暗号化して、プロバイダパッケージ833を構築する。ステップ912で、パブリッシャ913により操作されるアップデートサービス911のアドミニストレータは、プロバイダパッケージ833を承認する。ステップ915で、アドミニストレータはデバイスタイプ923を定義し、さらに、ステップ922で、デバイス921をデバイスタイプ923に属するようにプロビジョニングする。ステップ916で、アドミニストレータは、プロバイダパッケージを復号化し、パブリッシャ秘密鍵を使用してアップデートパッケージに再署名し(ステップ904でのプロバイダによる第1の署名を保持)、安全なストレージのためにパブリッシャ公開鍵を使用してアップデートパッケージを再暗号化する。プロバイダにより保持された第1の署名は、サプライチェーンワークフローにおける改ざん保護を提供する。ステップ918で、アップデートサービス911のアドミニストレータは、パブリッシャアップデートパッケージ917をデバイスタイプ923に関連付ける。ステップ924で、デバイス921は、パブリッシャアップデートパッケージ917の、デバイス証明書を含む署名されたリクエストを、アップデートサービス911に送信する。ステップ925で、アップデートサービス911は、パブリッシャ秘密鍵を使用してパブリッシャアップデートパッケージを復号化し、受信されたデバイス証明書から抽出されたデバイス公開鍵を使用してアップデートパッケージを再暗号化する。ステップ926で、アップデートサービス911は、ローカル台帳625のデバイスリクエストストレージ927に、少なくとも署名及び暗号化されたデバイスリクエストログを含むトランザクションレコードを生成する。
【0058】
図10を参照すると、エンドポイントデバイス101又はゲートウェイデバイス102のエンロールメントをオーケストレーションするためのエンティティ及びエンティティリレーションシップが示されている。任意の2つのエンティティ間のコネクタ800は、1対多のリレーションシップを示す。表2(下記)では、エンティティオブジェクトと属性が示される。
【表2】
【0059】
図11を参照すると、エンドポイントデバイス1101、ゲートウェイデバイス102、又はエンロールメントされたデバイスのアプリケーションのエンロールメントをオーケストレーションするためのワークフローが示されている。ステップ1102で、デバイス1101は、一意のデバイス識別子を含むエンロールメントリクエストをエンロールメントサービス1103に送信する。ステップ1104で、エンロールメントサービス1103はデバイス認証を実行し、任意で、認証局に関連付けられたドメインサーバ1105とともにエンロールメントリクエストを検証してもよい。ステップ1106で、エンロールメントサービスは、APIを介して、又はメッセージバスインタフェースでの発行を介して、認証局サービス1107にデバイスエンロールメントリクエストを送信する。ステップ1108で、認証局サービス1107は、デバイス証明書1109を生成し、ステップ1110で、デバイス証明書1109は、エンロールメントサービス1103によりデバイス1101に発行される。
【0060】
開示されたシステムの例示的な一実施形態では、ステップ1112で、デバイス1101のアプリケーション1111は、アプリケーション(又はサービス)プリンシパル名に基づく一意の識別子を含むエンロールメントリクエストを、エンロールメントサービス1103に送信する。ステップ1116で、エンロールメントサービス1103は、エンロールメントドメインに関連付けられたドメインサーバ1105とともにアプリケーション認証を実行する。ステップ1106で、エンロールメントサービスは、APIを介して、又はメッセージバスインタフェースでの発行を介して、認証局サービス1107にアプリケーションエンロールメントリクエストを送信する。ステップ1113で、認証局サービス1107は、アプリケーション証明書1114を生成し、ステップ1115で、アプリケーション証明書1114は、エンロールメントサービス1103によりアプリケーション1111に発行される。
【0061】
図12及び図1を参照すると、それぞれエンロールメントサービス103及びアップデートサービス107をクラウドサービス1202と統合することにより、エンドポイントデバイス101又はゲートウェイデバイス102のデバイスエンロールメント及び安全なアップデート動作を統合するためのワークフローが示されている。クラウドサービスプロバイダは、パブリック、プライベート、又はコミュニティのクラウド事業者であってもよく、サービスは、ソフトウェアアズアサービス(SaaS)又はプラットフォームアズアサービス(PaaS)ソリューションとして提供されてもよい。IoTデバイスは、エンロールメント及びアップデートサービスのためにクラウドサービス1202に直接登録されてもよい。クラウドサービス1202は、サードパーティのエンロールメント及びアップデートサービスのためのAPIベースのコネクタを提供してもよい。
【0062】
開示されたシステムの例示的な一実施形態では、図12及び図1を参照すると、ステップ1203で、エンロールメントサービス103は、デバイスの登録(又は登録解除)通知をクラウドサービス1202に送信して、クラウド接続されたデバイスに追加(又は削除)する。ステップ102で、エンロールメントサービス103は、ポリシーサービス104に通知し、ステップ1205で、ポリシーサービスは、APIを介して、又は、メッセージバスインタフェースでの発行を介して、デバイスをデバイス管理サービス105に追加又は削除する。
【0063】
開示されたシステムの更に他の例示的な実施形態では、図12図6、及び図1を参照すると、ステップ1206で、エンドポイントデバイス101又はゲートウェイデバイス102のアップデートクライアント603は、少なくともデバイス証明書を含む、アップデートパッケージのリクエストをクラウドサービス1202に送信する。ステップ1207で、クラウドサービス1202は、受信されたアップデートパッケージのリクエストをデバイスからアップデートサービス107に転送してもよい。代替の方法では、クラウドサービスは、複数のデバイスタイプの署名及び暗号化されたアップデートパッケージをプレロードし、キャッシュしてもよい。ステップ1208で、アップデートサービス107は、デバイスの署名及び暗号化されたアップデートパッケージをクラウドサービス1202に送信して、(ステップ1209で)デバイスに転送する。
【0064】
開示されたシステムの例示的な実施形態では、エンドポイントデバイス101又はゲートウェイデバイス102は、複数のアップデートパブリッシャ601に関連付けられた複数のアップデートサービスを使用して、複数のアップデートプロバイダ602のアップデートパッケージをリクエストしてもよい。
【0065】
開示されたシステムの例示的な実施形態では、ローカル台帳310内のトランザクションレコード309、408、620、705は、ネットワークピアに配布され、エンロールメントサービス103又はアップデートサービス107により、エンドポイント又はゲートウェイデバイスの署名及び暗号化されたデバイスリクエストログのハッシュを使用してチェーン接続される。さらに、ブロックチェーン内の分散台帳内のトランザクションレコードは、アップデートパッケージプロバイダ601及びパブリッシャ602のサプライチェーンにわたるクロスドメイントレーサビリティのためのデバイス及びサービストランザクションの再現可能な履歴を提供する。
【0066】
開示されたシステムの例示的な実施形態では、複数の中間パブリッシャが、アップデートパッケージのディストリビュータとして機能することができ、各々の中間パブリッシャがアップデートパッケージに署名する。
【0067】
開示されたシステムの例示的な実施形態では、エンロールメントサービス103が、エンドポイントデバイス101又はゲートウェイデバイス102の証明書のデジタルハッシュダイジェストを使用して、APIを介してクラウドサービスと統合し、デバイスをエンロールメントする。さらに、アップデートサービス107は、APIを介してクラウドサービスと統合し、クラウドサービスにエンロールメントされたデバイスにアップデートパッケージを配布する。
【0068】
開示されたシステムの例示的な実施形態では、ローカルセキュアエレメント401は、例えばトラステッドプラットフォームモジュール(TPM)、サブスクライバアイデンティティモジュール(SIM)、安全な鍵生成及び鍵記憶能力を有するマイクロコントローラベースの暗号エンジンなどであってもよい。リモートセキュアエレメント307は、ネットワーク又はクラウドベースのHSMであってもよい。
【0069】
図13及び図2を参照すると、ブロック1300で、多段階検証ブートローダ1301(ブロック205の実施形態240)は、プログラムイメージ1302(ブロック203の実施形態250)のデジタル署名を検証する。ステップ1303、1304、1305で、デジタル署名A、B、及びCは、検証され得る複数の鍵及びデジタル署名の例として、それぞれ鍵A、B、及びCを使用して検証される。本方法は、真正なパブリッシャが複数の署名鍵を使用してプログラムイメージに署名する論理AND演算を示す。ブロック1320で、多段階検証ブートローダ1321(ブロック205の実施形態240)は、プログラムイメージ1323、1325、又は1327(ブロック203の実施形態250)のデジタル署名を検証する。ステップ1322、1324、及び1326で、デジタル署名A、B、又はCは、検証され得る複数の鍵及びデジタル署名の例として、鍵A、B、又はCを使用して検証される。本方法は、真正なパブリッシャが複数の署名鍵のうちの1つだけを使用してプログラムイメージに署名する論理OR演算を示す。
【0070】
ブロック1340で、ワークフローは、一例として、公開鍵Aに関連付けられた偽装された秘密署名鍵を扱うための対策を示す。プログラムイメージの真正なパブリッシャ(ブロック203の実施形態250)は、偽装された鍵Aの使用を期限切れにし、鍵B及びCを使用してプログラムイメージに署名する。ステップ1343及び1344で、多段階検証ブートローダ1341(ブロック205の実施形態240)は、署名されたプログラムイメージに含まれる一意のデジタル署名のすべて、及び少なくとも2つを検証する。偽装された鍵Aの使用は、パブリッシャによって除外された。本方法は、複数の鍵のペアを使用した非ブロック論理AND演算を示す。ステップ1346で、多段階検証ブートローダ1341は、偽装された鍵を所有する攻撃者により偽装された署名鍵Aを使用して生成された、署名されたプログラムイメージ1345内のデジタル署名を検証する。しかしながら、署名されたプログラムイメージの少なくとも2つのデジタル署名に対する署名仕様233の要件は、プログラムイメージ検証を不適格にし、攻撃者のプログラムイメージ1345からデバイスを保護する。ステップ1349で、多段階検証ブートローダ1341は、偽装された鍵を所有する攻撃者により偽装された署名鍵Aを使用して生成された、署名されたプログラムイメージ1347内の2つのデジタル署名を検証する。しかしながら、署名されたプログラムイメージにおけるデジタル署名の一意性の署名仕様233の要件は、プログラムイメージ検証を不適格にし、攻撃者のプログラムイメージ1347からデバイスを保護する。
【0071】
例示的な実施形態は、ゲートウェイデバイス102に接続されたエンドポイントデバイス101のエンロールメント及び登録のためのデバイス識別の方法を対象とする。本方法は、多段階検証ブートローダ240、エンドポイントデバイス101における検出エージェント109、ゲートウェイデバイス102における検出サービス111、エンロールメントサービス103、ポリシーサービス104、及びデバイス管理サービス105を使用する。本方法は、エンドポイントデバイス101の検出エージェント109により、ゲートウェイデバイス102の検出サービス111に、エンドポイントデバイスプロファイル232を有する認証されたアイデンティティビーコン110を送信することを含み得る。本方法は、検出サービス111により、エンドポイントデバイス101及びエンドポイントデバイスプロファイル232の認証を検証することと、検出サービス111により、プライバシー認証局からエンドポイントデバイス101の証明書リクエスト116を生成することとを含み得る。本方法は、検出サービス111により、エンドポイントデバイス101の証明書リクエストをエンロールメントサービス103に送信することを含み得る。本方法は、エンロールメントサービス103により、受信されたエンドポイントデバイス101の証明書リクエストを処理して認証局406への証明書リクエストに変換することと、エンロールメントサービス103により、変換されたエンドポイントデバイス101の証明書リクエストを認証局406に送信することとを含み得る。本方法は、エンロールメントサービス103により、認証局406により発行されたエンドポイントデバイス101の証明書を受信することと、エンロールメントサービス103により、エンドポイントデバイス101の受信された証明書を処理して、受信されたエンドポイントデバイス101の証明書を、プライバシー認証局を表すように変換することとを含むことができる。本方法は、エンロールメントサービス103により、エンドポイントデバイス101の証明書を検出サービス111に送信することと、エンロールメントサービス103により、エンドポイントデバイス登録の通知をポリシーサービス104に送信することとを含み得る。本方法は、ポリシーサービス104により、エンドポイントデバイス101をデバイス管理サービス105に追加するための指令を送信することと、検出サービス111により、発行されたエンドポイントデバイスの証明書をローカル証明書ストア127に格納することとを含み得る。
【0072】
例示的な実施形態では、アイデンティティビーコン110は、一意のエンドポイントデバイス識別子231、エンドポイントデバイスタイプ、エンドポイントデバイスメイク、及びエンドポイントデバイスモデルを含み、エンドポイントデバイス識別子231は、電源投入からのエンドポイントデバイスの多段階検証ブートシーケンスに基づいて認証される。
【0073】
例示的な実施形態では、多段階検証ブートシーケンスは、イメージサイナー201により対応する秘密署名鍵を使用して生成されたデジタル署名を検証するために、公開鍵の複数のマッチングセットを使用して、エンドポイントデバイス101の署名されたプログラムイメージに関連付けられた複数セットのデジタル署名を検証する多段階検証ブートローダによって実行される。
【0074】
例示的な実施形態では、検証されるプログラムイメージは、エンドポイントデバイス101の第1段階のブートローダ、第2段階のブートローダ、及びオペレーティングシステムローダのうちの少なくとも1つであって、多段階検証ブートローダ240は、ブートシーケンスの任意の段階に導入されてもよい。
【0075】
例示的な実施形態では、デジタル署名は、署名及び検証プロセスに関連付けられた1つ又は複数の公開-秘密鍵ペアの偽装を検出するための対策として、論理AND又はOR演算子に基づいて検証され、デジタル署名及び署名一致基準の配置順序は、署名仕様に基づく。
【0076】
例示的な実施形態では、論理AND演算は、検証されるべき署名されたプログラムイメージ内の少なくとも2つの一意のデジタル署名を必要とする。
【0077】
例示的な実施形態では、多段階検証ブートローダ240は、後続段階のブートローダへのいかなる修正も必要とせずに、複数の後続段階のブートローダ、イメージ、構成、及びデータファイルの検証を進めるためにブートシーケンスに導入される。
【0078】
例示的な実施形態は、アドミニストレーションダッシュボード701、エンロールメントサービス103、ポリシーサービス104、及びデバイス管理サービス105を使用してデバイス101、102を登録解除する方法を対象とする。本方法は、認証された特権ユーザにより、アドミニストレーションダッシュボード701から、デバイス証明書を取消す動作を開始することと、エンロールメントサービス103により、取消コマンド704を認証局406に送信することとを含み得る。本方法は、エンロールメントサービス103により、デバイス証明書取消の通知をポリシーサービス104に送信することを含み得る。本方法は、ポリシーサービス104により、デバイス管理サービス105に、デバイス101、102を削除する指令を送信することを含み得る。
【0079】
例示的な実施形態は、ゲートウェイデバイス102の検出サービス111をブロックチェーンアプリケーションとして使用し、ネットワークのエンロールメントサービス103をブロックチェーンネットワークピアとして使用する、エンドポイントデバイス101のエンロールメントの方法を対象とする。本方法は、検出サービス111により、エンドポイントデバイス101のエンロールメントリクエスト301をネットワークのエンロールメントサービスに送信することを含む。本方法は、エンロールメントサービス103により、エンロールメントリクエスト301を受信し、ゲートウェイデバイス102を認証することを含み得る。本方法は、エンロールメントサービス103により、ネットワークのネットワークサービスのために確立されたオーケストレーションルール305に基づいて、認証局406により発行されたエンドポイントデバイス101の証明書を生成することを含み得る。本方法は、エンロールメントサービス103により、エンドポイントデバイス101の証明書をゲートウェイデバイス102に送信することを含み得る。本方法は、アップデートサービス107により、エンドポイントデバイスのリクエストログをトランザクションレコード309としてローカル台帳310に記録することと、トランザクションレコード309のブロックをブロックチェーンピアに配布して、デバイス履歴を再現するために、分散台帳を維持することとを含み得る。
【0080】
例示的な実施形態では、エンドポイントデバイスのリクエストログは、署名され、暗号化され、少なくとも、リクエストカウンタ、リクエスト動作データ、リクエストタイムスタンプ、リクエストノンス、デバイスリクエスト署名、リクエストハッシュ、デバイス署名、デバイス証明書識別子、パブリッシャ署名、パブリッシャ証明書識別子、パッケージ識別子、デバイス識別子、プロバイダ識別子、及びパブリッシャ識別子を含む。
【0081】
例示的な実施形態では、ブロックチェーン内の分散台帳は、アップデートパッケージプロバイダ及びパブリッシャのサプライチェーンにわたるクロスドメイントレーサビリティのために、デバイス及びサービストランザクションの履歴を再現するのに十分なトランザクションレコードを有する。
【0082】
例示的な実施形態では、エンドポイントデバイス101の除籍のために認証局406への証明書取消リクエスト704をエンロールメントサービス103により生成し、エンドポイントデバイス101のリクエストログをトランザクションレコードとしてローカル台帳に記録するために、デバイス除籍リクエスト702がアドミニストレーションダッシュボード701から発行され得る。
【0083】
例示的な実施形態は、アップデートプロバイダ601により操作されるディベロップメントシステム604及びリリース管理システム608、アップデートパブリッシャ602により操作されるアップデートサービス107、デバイス101、102上のアップデートクライアント603、並びにデバイス101、102上のローカルセキュアエレメント401を使用して、登録されたデバイス(例えば、エンドポイントデバイス101、ゲートウェイデバイス102)をアップデートする方法を対象とする。本方法は、ディベロップメントシステム604に、ファームウェアアップデート、ソフトウェアアップデート、構成アップデート、及びアップデートスクリプトの少なくとも1つを含むアップデートパッケージを構築することを含み得る。本方法は、リリース管理システム608により、プロバイダ署名鍵609を使用してアップデートパッケージ607に署名することを含むことができ、ここで、第1のデジタル署名がアップデートパッケージに含まれる。本方法は、リリース管理システム608により、アップデートパッケージの初期暗号化のために、アップデートパブリッシャ602のパブリッシャ証明書610からのパブリッシャ公開鍵を使用して、署名されたアップデートパッケージを暗号化することを含み得る。本方法は、リリース管理システム608により、署名及び暗号化されたアップデートパッケージ611をアップデートサービス107に送信することを含み得る。本方法は、デバイス101、102上のアップデートクライアント603により、アップデートパッケージをリクエストすることを含み得る。リクエストは、少なくとも、デバイスのベンダ識別子、型番、及びデバイス証明書613を含み得る。本方法は、アップデートサービス107により、パブリッシャ署名鍵618を使用して、署名されたアップデートパッケージを再署名することを含み得る。第2のデジタル署名は、アップデートパッケージに含まれる。本方法は、アップデートサービス107により、アップデートパッケージの最終暗号化のために、アップデートパブリッシャ602からのパブリッシャ秘密鍵を使用して初期暗号化を復号化し、デバイス証明書613からのデバイス公開鍵を使用してアップデートパッケージを暗号化することにより、二重に署名されたアップデートパッケージを再暗号化することを含み得る。本方法は、アップデートサービス107により、暗号化され二重に署名されたアップデートパッケージ619をデバイス101、102上のアップデートクライアント603に送信することを含み得る。本方法は、アップデートクライアント603により、デバイス101、102のデバイス秘密鍵を使用して、暗号化されたアップデートパッケージを復号化することを含み得る。本方法は、アップデートクライアント603により、アップデートプロバイダ601と認証局406により発行されたパブリッシャ証明書とのそれぞれの公開鍵を使用して、第1及び第2のデジタル署名を検証することを含み得る。例示的な実施形態では、アップデートスクリプトは、アップデートパッケージをデバイス101、102に適用するために、デバイスで実行される。
【0084】
例示的な実施形態では、アップデートパッケージの初期暗号化は、対称鍵を使用して実行され、さらに、対称鍵は、パブリッシャ公開鍵を使用して暗号化される。アップデートパッケージのメッセージダイジェストが生成され、メッセージダイジェストの第1のデジタル署名が、アップデートプロバイダ601からのプロバイダ秘密鍵を使用して生成される。第1のデジタル署名は、パブリッシャ公開鍵を使用してさらに暗号化される。
【0085】
例示的な実施形態では、アップデートパッケージの最終暗号化は対称鍵を使用して実行され、さらに、対称鍵はデバイス公開鍵を使用して暗号化される。アップデートパッケージのメッセージダイジェストが生成され、メッセージダイジェストの第2のデジタル署名が、アップデートプロバイダ601からのパブリッシャ秘密鍵を使用して生成される。第2のデジタル署名は、デバイス公開鍵を使用してさらに暗号化される。
【0086】
例示的な実施形態では、暗号化のためのデバイス秘密-公開鍵ペアは、デバイス101、102上のセキュアエレメント401により生成されてもよく、デバイス秘密鍵は、セキュアエレメント401内で保護される。デバイス公開鍵のデバイス証明書は、認証局406により発行される。
【0087】
例示的な実施形態は、ブロックチェーンアプリケーションとしてのデバイス101、102上のアップデートクライアント603、ブロックチェーンネットワークピアとしてのネットワークのアップデートサービス107、オーケストレーションルール624、及び台帳625を使用して、デバイス(例えば、エンドポイントデバイス101、ゲートウェイデバイス102)をアップデートする方法を対象とする。本方法は、アップデートクライアント603により、ネットワークのアップデートサービス107からデバイス101、102のアップデートパッケージのデバイスリクエスト616を送信することを含み得る。本方法は、アップデートサービス107により、デバイスリクエストを受信し、デバイス101、102を認証することを含み得る。本方法は、アップデートサービス107により、受信したデバイスマニフェストに基づいて、ネットワークのネットワークサービスのために確立されたオーケストレーションルール624に基づいて、署名及び暗号化されたアップデートパッケージを準備することを含み得る。本方法は、アップデートサービス107により、署名及び暗号化されたアップデートパッケージをデバイス101、102に送信することを含み得る。本方法は、アップデートサービス107により、デバイスのリクエストログをエントリとして台帳625の記録することと、トランザクションレコードのブロックをブロックチェーンピアに配布して、デバイス101、102の履歴を再現するために分散台帳を維持することとを含み得る。
【0088】
例示的な実施形態では、デバイスのリクエストログが署名され、暗号化され、少なくともリクエストカウンタ、リクエスト動作データ、リクエストタイムスタンプ、リクエストノンス、デバイスリクエスト署名、リクエストハッシュ、デバイス署名、デバイス証明書識別子、パブリッシャ署名、パブリッシャ証明書識別子、パッケージ識別子、デバイス識別子、プロバイダ識別子、及びパブリッシャ識別子を含む。
【0089】
例示的な実施形態では、ブロックチェーン内の分散台帳は、アップデートパッケージプロバイダ及びパブリッシャのサプライチェーンにわたるクロスドメイントレーサビリティのために、デバイス101、102の履歴及びサービストランザクションを再現するのに十分なトランザクションレコードを有する。
【0090】
例示的な実施形態は、検出エージェント109、検出サービス111、エンロールメントサービス103、ポリシーサービス104、及びデバイス管理サービス105を使用して、IPアドレスを持たないエンドポイントデバイス101と、エンドポイントデバイスに接続されるゲートウェイデバイス102との間のデータ転送を保護する方法を対象とする。本方法は、エンドポイントデバイス101の検出エージェント109により、ゲートウェイデバイス102の検出サービス111に、エンドポイントデバイスのデバイスプロファイルを有する、認証されたアイデンティティビーコン110を送信することを含み得る。本方法は、検出サービス111により、エンドポイントデバイス101の認証及びデバイスプロファイルを検証することと、検出サービス111により、プライバシー認証局からエンロールメントサービス103へのエンドポイントデバイス101の証明書リクエストを生成することとを含み得る。本方法は、エンロールメントサービス103により、受信されたエンドポイントデバイス101の証明書リクエストを処理して、認証局406への証明書リクエストに変換することを含み得る。本方法は、エンロールメントサービス103により、認証局406に、エンドポイントデバイス101の証明書リクエストを送信することと、エンロールメントサービス103により、認証局406により発行されたエンドポイントデバイス101の証明書を受信することとを含み得る。本方法は、エンロールメントサービス103により、受信されたエンドポイントデバイス101の証明書を処理して、受信されたエンドポイントデバイス101の証明書を、プライバシー認証局を表すように変換することを含み得る。本方法は、エンロールメントサービス103により、検出サービス111に、エンドポイントデバイス101の証明書を送信することを含み得る。本方法は、エンロールメントサービス103により、エンドポイントデバイスの登録の通知をポリシーサービス104に送信することと、ポリシーサービス104により、デバイス管理サービス105に、エンドポイントデバイス101を追加する指令を送信することとを含み得る。本方法は、検出サービス111により、発行されたエンドポイントデバイスの証明書をゲートウェイデバイス102のローカル証明書ストアに格納することを含み得る。本方法は、安全なデータ転送のために、ゲートウェイデバイス102のアプリケーションにより、エンドポイントデバイス101から/への送信中のデータを受信し、ローカル証明書ストアからのエンドポイントデバイス101の証明書を使用して、データに暗号化動作を実行することを含み得る。
【0091】
例示的な実施形態では、アイデンティティビーコン110は、一意のエンドポイントデバイス識別子231、エンドポイントデバイスタイプ、エンドポイントデバイスメイク、及びエンドポイントデバイスモデルを含む。エンドポイントデバイス識別子は、電源投入からのエンドポイントデバイス101の多段階検証ブートシーケンスに基づいて認証される。
【0092】
例示的な実施形態では、多段階検証ブートシーケンスは、イメージサイナー201により対応する秘密署名鍵を使用して生成されたデジタル署名を検証するために、公開鍵の複数のマッチングセットを使用して、エンドポイントデバイス101の署名されたプログラムイメージに関連付けられたデジタル署名の複数のセットを検証する多段階検証ブートローダにより実行される。
【0093】
例示的な実施形態では、検証されるプログラムイメージは、エンドポイントデバイス101の第1段階のブートローダ、第2段階のブートローダ、及びオペレーティングシステムローダのうちの少なくとも1つである。多段検証ブートローダ240は、ブートシーケンスの任意の段階で導入されてもよい。
【0094】
例示的な実施形態では、デジタル署名は、署名及び検証プロセスに関連付けられた1つ又は複数の公開-秘密鍵ペアの偽装を検出するための対策として、論理AND又はOR演算子に基づいて検証される。デジタル署名及び署名一致基準の配置順序は、署名仕様に基づく。
【0095】
例示的な実施形態では、論理AND演算は、検証されるべき署名されたプログラムイメージ内の少なくとも2つの一意のデジタル署名を必要とする。
【0096】
例示的な実施形態では、多段階検証ブートローダ240は、後続段階のブートローダへのいかなる修正も必要とせずに、複数の後続段階のブートローダ、イメージ、構成及びデータファイルを検証するためにブートシーケンスに導入される。
【0097】
例示的な実施形態では、エンドポイントデバイス101又はゲートウェイデバイス102のアップデートクライアント108は、デバイス特性(例えば、プロファイル)、プラットフォーム特性(例えば、プロセッサアーキテクチャ、オペレーティングシステムタイプ及びバージョン)、及び拡張特性(例えば、工場で構成された設定)を含み得る動的デバイス属性を検出することができる。
【0098】
図14は、複数のインターネットプロトコル(IP)対応及び非IP配布デバイス(例えば、IoTフィールド及びエッジデバイス及びゲートウェイ)、デバイス管理サービス(例えば、エンロールメントサービス、アップデートサービス、ポリシーサービス、分析サービス)、ブロックチェーンネットワーク内のノードとして機能するブロックチェーンブローカサービス、及びデバイス管理サービスからブロックチェーンブローカサービスへのトランザクションコネクタを備えるシステム及び方法を示す。一実施形態では、デバイス及びデバイス管理サービスのどちらもブロックチェーンに直接参加しない。一実施形態では、ブロックチェーンブローカサービスは、デバイス及びデバイス管理サービスのためのブロックチェーンネットワークにプロキシノードとして参加する。さらに、ブロックチェーンブローカサービスは、データプライバシー及び保護のために、バージョン化されたブロックとしてトランザクションを提出する前に、ポリシーベースの(例えば、スマートコントラクト、ローカルルールなどの)エンティティ識別子の匿名化、及びトランザクションレコード内のコンテンツの項目化されたフィルタリングを提供することができる。
【0099】
図14を参照すると、ステップ1404で、エンドポイントデバイス101又はゲートウェイデバイス102は、少なくとも認証及び識別アーティファクトを含むエンロールメントリクエストをエンロールメントサービス103に送信し得る。エンロールメントサービス103は、受信されたアーティファクトを検証し、デバイス101、102に関連付けられた証明書を発行、更新、又は鍵再付与するための動作リクエストを処理し得る。エンロールメント動作のレコードは、デバイスエンロールメントに関連付けられ、否認不可である、複数の検証されたアーティファクトを含み、トランザクションコネクタ1412を介して、ブロックチェーンブローカサービス1414に送信され得る。ステップ1416で、ブロックチェーンブローカサービスは、エンロールメント動作のためのバージョン化されたブロックを生成し、ブロックチェーンネットワークに送信して、分散台帳をアップデートし得る。当業者であれば、ブロックチェーンにブロックを追加する多くの方法が存在し、本明細書に記載される機構と実質的に同一であり得ることは理解されよう。
【0100】
ステップ1406で、エンドポイントデバイス101又はゲートウェイデバイス102は、少なくとも認証及び識別アーティファクトを含むアップデートリクエストをアップデートサービス107に送信し得る。アップデートサービス107は、受信したアーティファクトを検証し、構成されたポリシーに基づいてアップデートパッケージを準備し、デバイス101、102に送信するために動作リクエストを処理し得る。アップデート動作のレコードは、アップデートパッケージサプライチェーンの出所、アップデートパッケージの配布及び発行にそれぞれ関連付けられたプロバイダ及びパブリッシャの動作に関連付けられた、否認不可である、複数の検証されたアーティファクトアーティファクトを含み、トランザクションコネクタ1412を介して、ブロックチェーンブローカサービス1414に送信され得る。ステップ1416で、ブロックチェーンブローカサービスは、アップデート動作のためのバージョン化されたブロックを生成し、ブロックチェーンネットワークに送信して、分散台帳をアップデートし得る。当業者であれば、ブロックチェーンにブロックを追加する多くの方法が存在し、本明細書に記載される機構と実質的に同一であり得ることは理解されよう。
【0101】
一実施形態では、アップデートプロバイダ601のリリース管理システム608は、トランザクションコネクタ1412を介して、アップデート配布動作のレコードをブロックチェーンブローカサービス1414に送信し得る。
【0102】
一実施形態では、アップデートパブリッシャ602のアップデートサービス107は、トランザクションコネクタ1412を介して、アップデート発行動作のレコードをブロックチェーンブローカサービス1414に送信することができる。
【0103】
ステップ1408で、エンドポイントデバイス101又はゲートウェイデバイス102は、少なくとも認証及び識別アーティファクトを含むポリシーリクエストをポリシーサービス104に送信し得る。ポリシーサービスは、受信されたアーティファクトを検証し、動作リクエストを処理して、デバイスタイプ及び認定基準に基づいて、連続ランタイムモニタリングのためのポリシーを準備し、デバイス101、102に送信し得る。ポリシー構成動作のレコードは、一意のポリシー及びルール識別子及び文法を含み、トランザクションコネクタ1412を介して、ブロックチェーンブローカサービス1414に送信され得る。ステップ1416で、ブロックチェーンブローカサービスは、ポリシー構成動作のためのバージョン化されたブロックを生成し、ブロックチェーンネットワークに送信して、分散台帳をアップデートし得る。当業者であれば、ブロックチェーンにブロックを追加する多くの方法が存在し、本明細書に記載される機構と実質的に同一であり得ることは理解されよう。
【0104】
ステップ1410で、エンドポイントデバイス101又はゲートウェイデバイス102は、少なくとも認証、識別、及び署名されたイベント関連データアーティファクトを含むポリシートリガイベントを分析サービス1402に送信し得る。分析サービスは、受信されたアーティファクトを検証し、動作リクエストを処理して、少なくともエピソード情報、ランタイム状態測定値、及びデバイス完全性スコアを含む、ポリシートリガに基づいて、検出されたインフィールドデバイスアクティビティのレコードを準備し、トランザクションコネクタ1412を介して、ブロックチェーンブローカサービス1414に送信し得る。ステップ1416で、ブロックチェーンブローカサービスは、エピソード情報、ランタイム状態測定値、及びデバイス完全性スコアのバージョン化されたブロックを生成し、ブロックチェーンネットワークに送信して、分散台帳をアップデートし得る。当業者であれば、ブロックチェーンにブロックを追加する多くの方法が存在し、本明細書に記載される機構と実質的に同一であり得ることは理解されよう。
【0105】
一実施形態では、ブロックチェーンブローカサービス1414は、情報フィルタリング及び匿名化のために、構成されたブローカサービスポリシーに基づいてトランザクションフィルタを適用し得る。
【0106】
図15は、ブロックチェーンの分散台帳として、シリコン製造工場、相手先製品製造業者(OEM)、プラットフォーム所有者からデバイスの所有者までのデバイスの管理のチェーンを追跡するためのブロックスキーマを示し、ここで、デバイスに関連付けられたリモートエンロールメントサービス及びエンロールメントサービスに関連付けられたトランザクションコネクタは、(作業のプルーフ及び許可のプルーフに相当する)トランザクションを、ブロックチェーンネットワークのブロックチェーンブローカサービスノードにサブミットする。
【0107】
図15を参照すると、ブロック1501で、ブロック#1502は、ブロックチェーン内のブロックシーケンス番号を表し、ノンス1503は、ブロックチェーン内のブロックをハッシュするための要件に基づく乱数である。ヘッダセクション1504は、少なくとも、産業セクタ、ブロックデータのタイプ、及びブロックデータフォーマット(又はスキーマ)のバージョンを含む。動作1505、1521、1541は、デバイスによりリクエストされた動作(トランザクション)のタイプ(例えば、登録、アップデート、鍵再付与、取消)を記述する。デバイスセクション1506は、少なくとも、デバイス名、デバイスタイプ、認証アカウント(クレデンシャル)、及びデバイスの一意の識別子(ID)を含む。証明書セクション1507は、少なくとも、証明書に関連付けられたサブジェクト名、証明書シリアル番号(CSN)、証明書のイシュアラーの一意の識別子(UID)、サブジェクトの一意の識別子、証明書のサブジェクトの代替名(SAN)、デバイス(ハードウェア、ファームウェア又はソフトウェアに基づく信頼の基点)に関連付けられたルート(公開)鍵、デバイスに発行されたプラットフォーム(公開)鍵、デバイスの所有に関連付けられた所有者(公開)鍵、鍵の意図された使用(署名、暗号化など)、及び動作の日時のタイムスタンプを含む。前1508は、ブロックチェーン内の先行するブロック(図示せず)のハッシュであり、ハッシュ1509は、ブロック1501のハッシュである。ブロック1520で、前1522は、ブロックチェーン内のブロック1501のハッシュ1509を参照する。ブロック1540で、証明書1542は、鍵再付与動作1541に関連付けられた取消鍵を含む。
【0108】
一実施形態では、デバイス鍵の取消は、取消リクエスト動作タイプとして実行され得る。
【0109】
図16は、ブロックチェーンの分散台帳として、シリコン製造工場、相手先製品製造業者(OEM)、プラットフォーム所有者からデバイスの所有者までのデバイスのアプリケーショントラストチェーンを追跡するためのブロックスキーマを示し、ここで、デバイスに関連付けられたリモートエンロールメントサービス及びエンロールメントサービスに関連付けられたトランザクションコネクタは、(作業のプルーフ及び許可のプルーフに相当する)トランザクションを、ブロックチェーンネットワークのブロックチェーンブローカサービスノードにサブミットする。
【0110】
図16を参照すると、ブロック1601で、ブロック#1602は、ブロックチェーン内のブロックシーケンス番号を表し、ノンス1603は、ブロックチェーン内のブロックをハッシュするための要件に基づく乱数である。ヘッダセクション1604は、少なくとも産業セクタ、ブロックデータのタイプ、及びブロックデータフォーマット(又はスキーマ)のバージョンを含む。動作1605は、アプリケーションによりリクエストされた動作(トランザクション)のタイプ(例えば、登録、アップデート、鍵再付与、取消)を記述する。アプリケーションセクション1606は、少なくともアプリケーション名、アプリケーションタイプ、認証アカウント(クレデンシャル又はサービスアカウント)、及びアプリケーションの一意の識別子(ID)を含む。証明書セクション1607は、少なくとも、証明書に関連付けられたサブジェクト名、証明書シリアル番号(CSN)、証明書のイシュアーの一意の識別子(UID)、サブジェクトの一意の識別子、証明書のサブジェクトの代替名(SAN)、デバイス(ハードウェア、ファームウェア又はソフトウェアベースの信頼の基点)に関連付けられたルート(公開)鍵、デバイスに発行されたプラットフォーム(公開)鍵、デバイスの所有に関連付けられた所有者(公開)鍵、(例えば、クラウドサービス、ピアツーピア通信などの)リモートサービスにアクセスするアプリケーションに関連付けられたサービス(公開)鍵、鍵の意図された使用(署名、暗号化など)、及び動作の日時のタイムスタンプを含む。前1608は、ブロックチェーン内の先行するブロック(図示せず)のハッシュであり、ハッシュ1609は、ブロック1601のハッシュである。ブロック1620で、前1622は、ブロックチェーン内のブロック1601のハッシュ1609を参照する。ブロック1640で、証明書1642は、鍵再付与動作1641に関連付けられた取消鍵を含む。
【0111】
一実施形態では、アプリケーション鍵の取消は、取消リクエスト動作タイプとして実行され得る。
【0112】
図17は、ブロックチェーンの分散台帳として、シリコン製造工場、相手先製品製造業者(OEM)、プラットフォーム所有者からデバイスの所有者までのサプライチェーンを通じたデバイスの変更管理を追跡するためのブロックスキーマを示し、ここで、デバイスに関連付けられたリモートアップデートサービス及びアップデートサービスに関連付けられたトランザクションコネクタは、(作業のプルーフ及び許可のプルーフに相当する)トランザクションブロックチェーンネットワークのブロックチェーンブローカサービスノードにサブミットする。
【0113】
一実施形態では、ブロックチェーンのブロックは、プロバイダ識別子を、サプライチェーン内のオリジナルコンテンツプロバイダ(ソース)として識別し、パブリッシャ識別子をサプライチェーン内のリモートアップデートサービス(例えば、デバイス所有者又は管理サービスプロバイダにより操作されるデバイスマネージャ)として識別し、これは、トランザクションの直接的に接続された(ポイントツーポイント)エンティティを識別するための単なる手段として機能するメッセージ(又はコンテンツ)の送信者及び受信者の一般的な概念とは明らかに区別される。
【0114】
一実施形態では、ブロックチェーンのブロックは、何百万台のIoTデバイスのサービスポイントにおいて、さらにマルチテナントサービス構成において、事前に構成され、暗黙的に推論されるデバイス属性の、スケーラブルではない方法ではなく、動作に関連付けられた、分散された動的なアーチファクト(明示的プロパティ)を含む。
【0115】
一実施形態では、デバイスヒストリアンが、ブロックチェーン内のブロックに基づいて構築(インスタンス化)されてもよく、ここで、ブロックは、接続されたデバイス並びにデバイスのハードウェア、ファームウェア、及びソフトウェアコンポーネントに関連付けられた複数のプロバイダのサプライチェーン内の複数の接続されたサービスによってサブミットされた、複数の分散されたトランザクションを表す。さらに、バージョン化されたブロックは、オペレーションタイプにより、及びエンティティとしてのデバイス、アプリケーション、又は(ポータル又はサービス)オペレータを使用して、特定の産業セクタのために準備されてもよい。
【0116】
図17を参照すると、ブロック1701で、ブロック#1702は、ブロックチェーン内のブロックシーケンス番号を表し、ノンス1703は、ブロックチェーン内のブロックをハッシュするための要件に基づく乱数である。ヘッダセクション1704は、少なくとも産業セクタ、ブロックデータのタイプ、及びブロックデータフォーマット(又はスキーマ)のバージョンを含む。動作1705、1721、1741は、デバイスアップデートパッケージ(例えば、プロバイダによる配布、パブリッシャによる発行、デバイスによるリクエスト)に関連付けられた動作(トランザクション)のタイプを記述する。オペレータセクション1706は、少なくともポータル又はサービスユーザアカウント、(例えば、公開署名鍵又はURLによる)ディストリビューション内のパブリッシャ識別子のリストを含み、アップデートパッケージが配布されるデバイスのクラスを含む。パッケージセクション1707は少なくとも、アップデートパッケージ名、アップデートパッケージタイプ、アップデートパッケージバージョン、アップデートパッケージが対象とするデバイスカテゴリ、サイナー公開鍵のリスト(例えば、サプライチェーン内のプロバイダ及びパブリッシャ)、デバイス暗号化公開鍵、及び動作の日時のタイムスタンプを含む。前1708は、ブロックチェーン内の先行するブロック(図示せず)のハッシュであり、ハッシュ1709は、ブロック1701のハッシュである。ブロック1720で、前1724は、ブロックチェーン内のブロック1701のハッシュ1709を参照する。オペレータセクション1722は、アップデートパッケージが関連付けられたデバイスタイプを含み、パッケージセクション1723は、パブリッシャによりアップデートパッケージに関連付けられたタグを含む。
【0117】
図18は、本開示の実施形態又はその一部がコンピュータ可読コードとして実装され得る例示的なコンピュータシステム1800を示す。例えば、本明細書で開示されたネットワークシステム及びアーキテクチャ(エンドポイントデバイス101、ゲートウェイデバイス102、エンロールメントサービス103、データベース311、アップデートプロバイダ601、アップデートパブリッシャ602、クラウドサービス1202など)は、ハードウェア、ソフトウェア、ファームウェア、命令を記憶した非一時的コンピュータ可読媒体、又はこれらの組み合わせを使用してコンピュータシステム1800で実装されてもよく、1つ又は複数のコンピュータシステム又は他の情報処理で実装されてもよい。ハードウェア、ソフトウェア、又はこれらの任意の組み合わせは、本明細書で開示されるアーキテクチャ及びシステムを実装するために使用される任意のモジュール及び構成要素を具現化し得る。
【0118】
プログラマブルロジックが使用される場合、これらのロジックは、市販の処理プラットフォーム又は専用デバイスで動作し得る。当業者であれば、開示された主題の実施形態は、マルチコアマルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、分散された機能とリンクされた又はクラスタ化されたコンピュータ、並びに実質的に任意のデバイスに埋め込まれ得るパーベイシブ又はミニチュアコンピュータを含む、様々なコンピュータシステム構成で実施され得ることを理解されよう。
【0119】
例えば、少なくとも1つのプロセッサデバイス及びメモリを使用して、上述の実施形態を実装することができる。プロセッサデバイスは、単一のプロセッサ、複数のプロセッサ、又はこれらの組み合わせとすることができる。プロセッサデバイスは、1つ又は複数のプロセッサ「コア」を有することができる。
【0120】
本開示の様々な実施形態が、本例示的なコンピュータシステム1800に関して説明される。本説明を読んだ後、どのように他のコンピュータシステム及び/又はコンピュータアーキテクチャを使用して本開示を実装するかは、当業者には明らかになろう。動作は連続的なプロセスとして記述され得るが、動作のいくつかは実際には並列に、同時に、及び/又は分散環境において実行されてもよく、シングル又はマルチプロセッサマシンによるアクセスのためにローカル又はリモートに記憶されたプログラムコードを用いて実行されてもよい。さらに、いくつかの実施形態では、動作の順序は、開示された主題の趣旨から逸脱することなく再構成されてもよい。
【0121】
プロセッサデバイス1802は、特定用途又は汎用プロセッサデバイスであってもよい。当業者には理解されるように、プロセッサデバイス1802は、単独で動作するシステムのような、マルチコア/マルチプロセッサシステム内の単一のプロセッサであってもよいし、クラスタ又はサーバファームで動作するコンピューティングデバイスのクラスタ内の単一のプロセッサであってもよい。プロセッサデバイス1802は、例えば、バス、メッセージキュー、ネットワーク、又はマルチコアメッセージパッシングスキームなどの、通信インフラストラクチャ1826に接続される。
【0122】
コンピュータシステム1800は、メインメモリ1804、例えばランダムアクセスメモリ(RAM)又はフラッシュメモリを含み、セカンダリメモリ1806を含んでもよい。セカンダリメモリ1806は、例えば、ハードディスクドライブ1808、リムーバブルストレージドライブ1810を含んでもよい。リムーバブルストレージドライブ1810は、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュメモリなどであってもよい。
【0123】
リムーバブルストレージドライブ1812は、周知の方法でリムーバブルストレージユニット1812からの読取り及び/又は書込みを行う。リムーバブルストレージユニット1812は、リムーバブルストレージドライブ1810により読み書きされるフロッピーディスク、磁気テープ、光ディスク等であってもよい。当業者には理解されるように、リムーバブルストレージユニット1812は、コンピュータソフトウェア及び/又はデータが記憶された非一時的コンピュータ使用可能記憶媒体を含む。
【0124】
代替の実施形態では、セカンダリメモリ1806は、コンピュータプログラム又は他の命令をコンピュータシステム1800にロードすることを可能にする他の同様の手段を含んでもよい。これらの手段は、例えば、リムーバブルストレージユニット1816及びインタフェース1814を含んでもよい。これらの手段の例には、(ビデオゲームデバイスに見られるような)プログラムカートリッジ及びカートリッジインタフェース、リムーバブルメモリチップ(EPROM又はPROMなど)及び関連付けられたソケット、並びにソフトウェア及びデータをリムーバブルストレージユニット1816からコンピュータシステム1800に転送可能にする他のリムーバブルストレージユニット1816及びインタフェース1814が含まれてもよい。
【0125】
コンピュータシステム1800は、通信インタフェース1818を含んでもよい。通信インタフェース1818は、ソフトウェア及びデータをコンピュータシステム1800と外部デバイスとの間で転送可能にする。通信インタフェース1818は、モデム、ネットワークインタフェース(イーサネットカード等)、通信ポート、PCMCIAスロット及びカード等を含んでもよい。通信インタフェース1818を介して転送されるソフトウェア及びデータは、通信インタフェース1818により受信可能な電子的、電磁気的、光学的、又は他の信号を含む、信号の形態であってもよい。これらの信号は、通信経路1820を介して、通信インタフェース1818に提供されてもよい。通信経路1820は、信号を搬送し、ワイヤ又はケーブル、光ファイバ、電話回線、携帯電話リンク、RFリンク、又は他の通信チャンネルを使用して実装されてもよい。
【0126】
コンピュータシステム1800は、コンピュータディスプレイ1824及びディスプレイインタフェース1822を含んでもよい。実施形態によれば、上述された図1図13に示されるGUI及びダッシュボードを表示するために使用されるディスプレイは、コンピュータディスプレイ1824であってもよく、コンソールインタフェースはディスプレイインタフェース1822であってもよい。
【0127】
本明細書において、「コンピュータプログラム媒体」、「非一時的コンピュータ可読媒体」、「コンピュータ使用可能媒体」という用語は、一般に、リムーバブルストレージユニット1812、リムーバブルストレージユニット1816、及びハードディスクドライブ1808に用いられるハードディスクのような媒体を指すために使用される。通信経路1820を介して搬送される信号は、本明細書で説明されるロジックを具現化することもできる。コンピュータプログラム媒体及びコンピュータ使用可能媒体は、メインメモリ1804及びセカンダリメモリ1806などのメモリを指すことができ、メモリ半導体(例えば、DRAMなど)とすることができる。これらのコンピュータプログラムプロダクトは、コンピュータシステム1800にソフトウェアを提供するための手段である。
【0128】
コンピュータプログラム(コンピュータ制御ロジックとも称される)は、メインメモリ1804及び/又はセカンダリメモリ1806に記憶される。コンピュータプログラムは、通信インタフェース1818を介して、受信されてもよい。そのようなコンピュータプログラムは、実行されると、コンピュータシステム1800が本明細書で説明された本開示を実施することを可能にする。具体的には、コンピュータプログラムは、実行されると、プロセッサデバイス1802が、上述された図1~13のフローチャートにより示される方法のステージなど、本開示のプロセスを実施することを可能にする。したがって、これらのコンピュータプログラムは、コンピュータシステム1800のコントローラを表す。本開示がソフトウェアを使用して実装される場合、ソフトウェアは、コンピュータプログラムプロダクトに記憶され、リムーバブルストレージドライブ1812、インタフェース1814、及びハードディスクドライブ1808、又は通信インタフェース1818を使用して、コンピュータシステム1800にロードされてもよい。
【0129】
本開示の実施形態は、任意のコンピュータ使用可能媒体に格納されたソフトウェアを備えるコンピュータプログラムプロダクトを対象としてもよい。これらのソフトウェアは、1つ又は複数のデータ処理デバイスで実行されると、(1つ又は複数の)データ処理デバイスに本明細書で説明するように動作させる。本開示の実施形態は、任意のコンピュータ使用可能媒体又はコンピュータ可読媒体を使用する。コンピュータ使用可能媒体の例には、プライマリストレージデバイス(例えば、任意のタイプのランダムアクセスメモリなど)、セカンダリストレージデバイス(例えば、ハードドライブ、フロッピーディスク、CD-ROM、ZIPディスク、テープ、磁気記憶デバイス、及び光記憶デバイス、MEMS、ナノテクノロジー記憶デバイスなど)、及び通信媒体(例えば、有線及び無線通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、イントラネットなど)が含まれるが、これらに限定されない。
【0130】
結論
発明の概要及び要約書ではなく、詳細な説明のセクションが、請求項を解釈するために使用されることを意図している。発明の概要及び要約書のセクションは、本発明者により企図される本開示の、1つ又は複数の例示的な実施形態を記載しているが、すべてではなく、したがって、本開示及び添付の特許請求の範囲をいかなる形でも限定することを意図するものとではない。
【0131】
本開示の実施形態は、特定された機能の実装及びそれらのリレーションシップを示すファンクショナルビルディングブロックを用いて、上述された。これらのファンクショナルビルディングブロックの境界は、説明の便宜上、本明細書において定義されている。特定された機能及それらのリレーションシップが適切に実行される限り、代替の境界が定義されてもよい。
【0132】
特定の実施形態について上述した説明は、本開示の一般的な性質を十分に明らかにしており、当業者の知識を適用することにより、本開示の一般的な概念から逸脱することなく、過度の実験を行うことなく、これらの特定の実施形態を様々な用途に容易に修正及び/又は適応させることができる。したがって、これらの適応及び修正は、本明細書で提示される教示及びガイダンスに基づいて、開示された実施形態と同等の意味及び範囲内にあることが意図される。本明細書中の語法又は用語は、説明の目的のためのものであって、限定のためのものではなく、したがって、本明細書の用語又は語法は、教示及びガイダンスに照らして当業者によって解釈されるべきであることを理解されたい。単数形の要素への言及は、明示される場合を除き「1つ及び1つのみ」を意味するものではなく、「1つ又は複数」を意味することを意図している。さらに、「A、B、又はCのうちの少なくとも1つ」のようなフレーズが特許請求の範囲で使用される場合、そのフレーズはAが単独で実施形態に存在してもよく、Bが単独で実施形態に存在してもよく、Cが単独で実施形態に存在してもよく、或いは要素A、B、及びCの任意の組み合わせが単一の実施形態に存在してもよく、例えば、A及びB、A及びC、B及びC、或いは、A及びB及びCであってもよい。本明細書の特許請求の範囲のいかなる要素も、その要素が「のための手段」という句を使用して明示的に列挙されない限り、35 U.S.C.112(f)の規定に基づいて解釈されるものではない。本明細書で使用されるように、用語「備える」、「含む」、又はその任意の他の変形は、要素のリストを備えるプロセス、方法、物品、又はデバイスがそれらの要素だけを含むものではなく、明示的にリストされていない要素、又はこれらのプロセス、方法、物品、又はデバイスに固有の他の要素を含むことができるように、非排他的な包含をカバーすることを意図する。
【0133】
本開示は特定の実施形態を参照して本明細書に例示され、説明されるが、本開示は示される詳細に限定されることを意図するものではない。むしろ、本開示から逸脱することなく、特許請求の範囲と同等のスコープ及び範囲内で、様々な修正を当該詳細に行うことができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18