(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-30
(45)【発行日】2023-12-08
(54)【発明の名称】デバイスの識別と監視のための方法およびシステム
(51)【国際特許分類】
H04L 9/08 20060101AFI20231201BHJP
G06Q 10/083 20230101ALI20231201BHJP
G06Q 10/0836 20230101ALI20231201BHJP
H04W 12/06 20210101ALI20231201BHJP
【FI】
H04L9/08 F
G06Q10/083 320
G06Q10/0836
H04W12/06
(21)【出願番号】P 2021560974
(86)(22)【出願日】2019-12-05
(86)【国際出願番号】 EP2019083899
(87)【国際公開番号】W WO2020228976
(87)【国際公開日】2020-11-19
【審査請求日】2021-10-14
(32)【優先日】2019-05-10
(33)【優先権主張国・地域又は機関】EP
【前置審査】
(73)【特許権者】
【識別番号】517451940
【氏名又は名称】エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー
(74)【代理人】
【識別番号】100124811
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】カラメ ガッサン
(72)【発明者】
【氏名】ソリエンテ クラウディオ
(72)【発明者】
【氏名】リー ウェンティン
【審査官】中里 裕正
(56)【参考文献】
【文献】特表2018-515824(JP,A)
【文献】米国特許出願公開第2012/0030067(US,A1)
【文献】国際公開第2018/230305(WO,A1)
【文献】米国特許出願公開第2016/0275461(US,A1)
【文献】米国特許出願公開第2018/0183587(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
G06Q 10/083
G06Q 10/0836
H04W 12/06
(57)【特許請求の範囲】
【請求項1】
複数の参加エンティティによって提供および/または操作されるネットワーク(1)のデバイス(4)を識別および監視するための方法であって、
前記参加エンティティがノード(6)を介して分散型台帳ネットワーク(5)の台帳またはブロックチェーンとの間でレコードを発行および取得することができるよう構成されており、前記参加エンティティのそれぞれの1つ以上のノード(6)が配置された分散型台帳ネットワーク(5)が構築され、
各デバイス(4)に固有の認証済み公開鍵を割り当てる公開鍵インフラストラクチャを設定し、
前記分散型台帳ネットワーク(5)の台帳に、デバイス(4)の更新されたステータスを保存し、
前記参加エンティティのノードが、デバイス(4)のステータスが変更されると、デバイス(4)の公開鍵が記録されたデバイス(4)のステータスの変更に関連するトランザクションを前記台帳に発行し、
デバイスの秘密鍵は各デバイス内に隠されており、デバイスの公開鍵は外部から認識可能であ
り、
さらに、ハードウェアベンダー(2)またはネットワークオペレーター(3)のノードは、サプライチェーンメンバーからのデバイス(4)の受領に応じて、
デバイス(4)の公開鍵を読み出し、
前記台帳にデバイス情報を問い合わせ、
前記台帳からのデバイス情報がデバイス(4)の公開鍵と一致した場合に、前記台帳にレコードを発行して、デバイスのステータスを受領済みとして更新する、
ことを特徴とする方法。
【請求項2】
前記ネットワーク(1)が、4G LTE/LTE-Advanced ネットワークまたは5Gネットワークなどの大規模動的ネットワークである、
請求項1に記載の方法。
【請求項3】
前記複数の参加エンティティは、ハードウェアベンダー(2)、サプライチェーンメンバー、およびネットワークオペレーター(3)を含む、
請求項1または2に記載の方法。
【請求項4】
ハードウェアベンダー(2)またはネットワークオペレーター(3)からデバイス(4)の配送を行うサプライチェーンメンバーのノードは、デバイス(4)のステータスが出荷済みであることを表す情報と共に、デバイス(4)の公開鍵と、ハードウェアベンダー(2)またはネットワークオペレーター(3)の識別情報と、を含むレコードを前記台帳に発行する、
請求項1乃至3のいずれかに記載の方法。
【請求項5】
ネットワーク(1)のデバイス(4)を識別および監視するためのシステムであって、
ネットワーク(1)のデバイス(4)を提供および/または操作する複数の参加エンティティのそれぞれの1つ以上のノードが配置された分散型台帳ネットワーク(5)と、
各デバイス(4)に固有の認証済み公開鍵を割り当てる公開鍵インフラストラクチャと、
を備え、
前記参加エンティティのノードは、デバイスのステータスが変化されると、デバイス(4)の公開鍵が記録されたデバイス(4)のステータスの変更に関連するトランザクションを台帳に発行することによって、前記分散型台帳ネットワーク(5)の台帳にデバイス(4)の更新されたステータスを保存するよう構成されており、
デバイスの秘密鍵は各デバイス内に隠されており、デバイスの公開鍵は外部から認識可能であ
り、
さらに、ハードウェアベンダー(2)またはネットワークオペレーター(3)のノードは、サプライチェーンメンバーからのデバイス(4)の受領に応じて、
デバイス(4)の公開鍵を読み出し、
前記台帳にデバイス情報を問い合わせ、
前記台帳からのデバイス情報がデバイス(4)の公開鍵と一致した場合に、前記台帳にレコードを発行して、デバイスのステータスを受領済みとして更新する、
ように構成されている、
ことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークのデバイスを識別及び監視するための方法およびシステムに関する。
【背景技術】
【0002】
4G(LTE / LTE-Advanced)や5Gネットワークなどの大規模な動的ネットワークは、さまざまなメーカーが製造し、さまざまなネットワーク事業者が管理する数十億の異種デバイスを接続する。その結果として、デバイスが信頼できるかどうかを判断することなどを目的にデバイスを識別することは複雑な作業となる。第1に、ほとんどのデバイスには認証手段がない。第2に、デバイスのソフトウェアまたはハードウェア構成が異なり、複数の関係者によって処理されている可能性がある。これらにより、デバイスが信頼できる状態にあるかどうかを確認するためのタスクは妨げられている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
実行可能なオプションの一つとしては、デバイスのライフサイクルに関する情報を収集する、ということがある。しかしながら、ネットワークデバイスのライフサイクル情報は、利用可能であったとしても、現在、メーカー、サプライチェーン関係者、ネットワーク会社、クラウドサービスプロバイダー、およびエンドユーザーのデータベースの間で断片化されている。また、ほとんどの場合において、上記のようなデータベースはプライベートなものとなる。加えて、公開されている場合であっても、得られる情報が悪意を持って操作されていないことを確認する手段はない。したがって、デバイスに関する情報を収集し、それが信頼できるかどうかを判断することは難しい。
【0004】
したがって、本発明の目的は、デバイスが信頼できるかどうかの決定を容易にする方法であって、ネットワークのデバイスを識別および監視するための方法およびシステムを改善し、さらに開発することである。
【課題を解決するための手段】
【0005】
本発明によれば、上述した目的は、複数の参加エンティティによって提供および/または操作されるネットワークのデバイスを識別および監視するための方法によって達成される。
その方法は、
参加エンティティのそれぞれが1つ以上のノードを維持している分散型台帳ネットワークを設定し、
ネットワークに展開される前に、各デバイスに固有の認証済み公開鍵を割り当てる公開鍵インフラストラクチャを設定し、
実行に対して提供することによって、分散型台帳ネットワークの台帳に、デバイスの更新されたステータスを保存し、
参加エンティティによって、デバイスのステータスの変更を識別し、デバイスの公開鍵が記録された、デバイスのステータスの変更に関連するトランザクションを台帳に発行する、
ように構成されている。
【0006】
さらに、上述した目的は、ネットワークのデバイスを識別および監視するためのシステムによって達成される。
そのシステムは、
ネットワークのデバイスを提供および/または操作する複数の参加エンティティと、
ネットワークに展開される前に、各デバイスに固有の認証済み公開鍵を割り当てる公開鍵インフラストラクチャと、
参加エンティティのそれぞれが1つ以上のノードを維持している分散型台帳ネットワークと、
を備え、
参加エンティティは、デバイスのステータスの変化を識別し、デバイスの公開鍵が記録されたデバイスのステータスの変更に関連するトランザクションを台帳に発行することによって、分散型台帳ネットワークの台帳にデバイスの更新されたステータスを保存するよう構成されている。
【0007】
本発明の方法およびシステムは、大規模動的ネットワークのデバイスを識別および監視するための分散型アプローチを提供する。このような環境では、さまざまなオペレーターがさまざまなメーカーの異種デバイスを展開している。そのため、特定のデバイス上の情報は管理ドメイン間で断片化されており、一般的に、真正なデバイスと偽造されたデバイスを区別することは困難である。
【0008】
この問題に対処し、グローバル動的ネットワークで簡略化されたデバイス識別を可能にするために、本発明の実施形態における方法およびシステムは、公開鍵インフラストラクチャ(PKI)および許可型分散型台帳技術(DLT)、およびいくつかの実施形態では、trusted execution environments(TEE)を組み合わせる。公開鍵インフラストラクチャは、a)各デバイスに識別情報を提供し、b)デバイスの識別情報を証明するための手段を提供する。このような状況では、TEEは、デバイスの秘密鍵が漏洩しないことを保証でき、デバイスのハードウェアおよびソフトウェア構成を(例えば、リモート認証を介して)検証することが可能となる。
【0009】
分散型台帳は、参加しているノード間で分散型ストレージを提供する。具体的は、台帳は、デバイス識別情報管理、デバイス履歴管理、ソフトウェア更新管理を統合するために使用される。各利害関係者、すなわち参加している各エンティティは、分散型台帳ネットワーク内に少なくとも1つのノードを保持する。利害関係者は、分散型台帳ネットワーク内のノードを使用して、分散型台帳ネットワークの台帳との間でレコードを発行したり読み出すことができる。
【0010】
実施形態では、台帳は、許可されたピアのみが台帳にアクセス/更新できるように許可を与えている。いずれの場合も、台帳のデータの分散コピーにより、障害又は攻撃が一か所で生じても許容されるため、台帳は堅牢なシステムを提供する。一方、台帳の合意プロトコルは、情報ブロードキャスト、トランザクション検証、およびブロックマイニングによって、参加しているすべてのノード間でデータの一貫性を保証する。従って、本発明は、デバイスが信頼できるかどうかを決定するためにデバイスの履歴およびステータスを照会することができる分散型データベースを提供する。現在の状況では、このような情報は、スケーラビリティと整合性の観点から問題に直面している複数のデータベースにわたって断片化されている。
【0011】
実施形態では、デバイス製造業者またはハードウェアベンダーは、PKI認証局として機能し、製造時に各デバイスに固有の認証された公開鍵を事前にロードすることができる。PKI情報は、既存のネットワークデバイスとその公開鍵の改ざん防止ログを取得するために、分散型台帳に提供またはキャストされる場合がある。さらに、ネットワークデバイスがある利害関係者から別の利害関係者に移動するとき(たとえば、製造業者からサプライチェーンメンバー(例えば、運送会社)に荷下ろしされるとき、または運送会社から受取人(たとえば、ネットワークオペレーター)に配達されるとき)はいつでも、レコードが分散型台帳に追加される。製造元は、デバイスのファームウェア/ソフトウェアの更新を配布し、分散型台帳で更新が可能であることを通知することもできる。
【0012】
実施形態では、デバイス所有者、例えばネットワークオペレーターは、例えば定期的またはイベントベースで、自身のデバイスのステータスを認証するように構成された証明サービスを実行することができる。認証のタイプは、認証されるデバイスによって異なる場合がある。デバイスにTEEがある場合、認証では、デバイスで実行されているソフトウェアを検証し、デバイスの公開鍵が承認されていることを検証する。デバイスにTEEがないが公開鍵を提示している場合、認証では、デバイスが対応する秘密鍵を保持していること、およびデバイス製造業者が公開鍵を承認していることを検証する。デバイスにTEEも公開鍵もない場合、認証サービスは、デバイスの識別/指紋認証を試みる場合がある。実際に適用される認証メカニズムとは関係なく、デバイスが認証されるたびに、ネットワークオペレーターが認証の結果とともにレコードを分散型台帳に追加する、ことが提供される。
【0013】
従って、分散型台帳は、許可された関係者により、特定のデバイスについて、公開鍵と、a)製造から展開までの出荷、b)ファームウェア/ソフトウェアの更新、およびc)認証、に関する履歴と、を取得するために問い合わせられる。取得された情報は、分散型台帳から取得されたデバイス情報に基づいて、予め定義された又は設定されたリスク評価ルールを適用することにより、デバイスが信頼できるかどうかを決定するよう構成されたリスク評価サービスに提供される。リスク評価に合格した場合、デバイスは信頼できるまたは本物であると認定され、ネットワークオペレーターはデバイスを稼働させ、ネットワークへのデバイス接続を提供することができる。さもなければ、ネットワークオペレーターは、デバイスが危険にさらされている、または偽造されていると見なし、デバイスを拒否する可能性がある。
【0014】
本発明における教示内容を設計し、さらに発展させる好適な方法はいくつかある。このため、一方では、従属請求項を参照し、他方では、図面によって示されるような例示の方法による本発明の実施形態の説明を参照する必要がある。図面を用いた本発明の好ましい実施形態の説明に関連して、一般的に好ましい実施形態と教示内容のさらなる改良が説明されうる。
【図面の簡単な説明】
【0015】
【
図1】本発明の実施形態における分散型台帳およびネットワークインフラストラクチャーの構造を示すシステムの概略図である。
【
図2】本発明の実施形態における、デバイス展開前のネットワークオペレーターによるデバイス検証プロセスを示す概略図である。
【
図3】本発明の実施形態における委任されたデバイス認証サービスを示す概略図である。
【
図4】本発明の実施形態におけるデバイスのTEEによる遠隔デバイス認証を示す概略図である。
【
図5】疑似ランダムメモリトラバーサルに基づくソフトウェア認証の実行を示す概略図である。
【発明を実施するための形態】
【0016】
本発明は、ネットワーク、特に4G/5G通信ネットワークなどの大規模動的ネットワーク内のデバイスを識別および監視するための方法およびシステムに関するものである。デバイスは、複数の参加エンティティによって提供され、操作され、および/または制御されるものである。以下に詳細に説明する実施形態では、ハードウェアベンダー、サプライチェーンメンバー、およびネットワークオペレーターが、ネットワークの参加エンティティを構成することとする。しかしながら、当業者によって理解されるように、本発明では、これら特定の参加エンティティに限定されない。すなわち、異なる機能、義務、活動領域および/または責任を有するさらなるエンティティが、ネットワーク内でデバイスを提供し、操作し、および/または制御することによって、ネットワークに参加してもよい。
【0017】
図1は、本発明の一実施形態を示し、上記の利害関係者(ハードウェアベンダー2、サプライチェーンメンバー(
図1には明示的に示されていない)およびネットワークオペレーター3)が、参加エンティティとして関与するモバイル通信ネットワーク1を示している。一般的に、ハードウェアベンダー2は、ネットワークルーター、スイッチ、サーバー、スマートフォンなどを含むネットワークデバイス4を製造および商品化するエンティティである。サプライチェーンメンバーは、デバイス4の出荷と配送に使用される流通ネットワークに属するエンティティである。ネットワークオペレーター3(クラウドネットワークサービスプロバイダー3aを含む)は、ハードウェアベンダー2からデバイス4を取得するエンティティであり、取得したデバイス4を展開して維持する責任を有する。ネットワークオペレーター3はまた、他のネットワークオペレーター3からデバイス4を取得することができる。
【0018】
実施形態では、分散型台帳ネットワーク5は、上記のエンティティのそれぞれが分散型台帳ネットワーク5のメンバーである場合に確立される。分散型台帳ネットワーク5のメンバーであるということは、各参加エンティティが分散型台帳ネットワーク5内に1つまたは複数のノード6を維持することを意味する。すなわち、それらのノード6を介して、参加エンティティは、分散型台帳ネットワーク5の台帳またはブロックチェーンにレコードを発行し、台帳またはブロックチェーンからレコードを取得できる。さらに、上記のエンティティのいずれかが「マイナー」としても機能し、それによって分散型台帳の合意アルゴリズムに参加する場合がある。以下、分散型台帳とブロックチェーンという用語は同義語として使用される。
【0019】
実施形態では、許可型分散型台帳として実装されうる分散型台帳は、識別サービスを特徴とする。識別サービスは、モバイル通信ネットワーク1の参加エンティティのそれぞれに承認された公開鍵を提供するために使用されうる。そのため、任意の2つの参加エンティティ間の通信が認証され、また、分散型台帳に発行されたレコードが認証される。
【0020】
実施形態では、分散型台帳は、複数の異なる管理ドメイン7内で、モバイル通信ネットワーク1に関与するすべてのネットワークデバイス4のライフサイクル情報を保持する。例えば、これにより、ネットワークオペレーター3は、以下でより詳細に説明されるように、出荷中および動作中の両方において、任意のデバイス4のステータスをチェックすることができる。
【0021】
図1は、分散型台帳ネットワーク5の構造を、通信ネットワークインフラと関連するエンティティとともに示している。実施形態では、参加エンティティまたは利害関係者として、ハードウェアベンダーA、ネットワークオペレーターB、クラウドプロバイダーC、およびネットワークオペレーターDが含まれる。点線で示されているように、すべての利害関係者は、分散型台帳ネットワーク5内に1つまたは複数のノード6を維持している。
【0022】
ハードウェアベンダー2は、ネットワークデバイス4の公開鍵インフラストラクチャー(PKI)を維持する。一方、ネットワークデバイス4の秘密鍵は、それぞれのデバイス4がTEEを備えている場合にはトラステッドコンピューティングベース(TCB)で保護され、それぞれのデバイス4がTEEを備えていない場合には読み取り専用メモリ(ROM)で保護されうる。デバイス4の公開鍵は、参加エンティティが分散型台帳ネットワーク5の台帳に発行するトランザクションに記録される。デバイス4のステータスが更新されるか変更されるときはいつでも、更新または変更されたデバイスステータスを示すそれぞれのトランザクションが分散型台帳ネットワーク5に発行され、その結果、台帳は常に最新のデバイス情報を格納する。このデバイス情報には、デバイスの所有者、維持者、ステータス(出荷/受け取り/展開/無効)、認証結果、ファームウェアバージョンなどの情報が含まれる場合がある。本発明の実施形態では、ネットワークオペレーター3は、ネットワークオペレーター3のネットワーク/管理ドメイン7に接続するためにデバイス4にアクセスを許可する前に、デバイス4のステータスを常にチェックするように構成される。他方、設定データベース18に示されるようなルーティングポリシーなどの各ネットワーク内のデバイス4の設定は、デバイス4のライフサイクル情報に関係するので、各ネットワークオペレーター3によって独立して維持されうる。
【0023】
実施形態では、分散型台帳は、すべてのデバイス4の識別管理に使用可能である。特に、サプライチェーン内および稼働中のデバイスステータスは、台帳で更新される可能性があり、そのため、すべての利害関係者が利用できる。さらに、分散型台帳は、例えば、すべてのデバイス4上で実行されているソフトウェアの管理ばかりでなく、すべてのデバイス4の所有権/リース/レンタルの履歴の管理のためにも使用されうる。当業者によって理解されるように、さらなる使用例が想定されてもよい。
【0024】
実施形態では、各ハードウェアベンダー2は、デバイスが工場を出荷される前に、デバイス4それぞれに承認された公開鍵を埋め込む独自のPKI(公開鍵インフラストラクチャー)を設定することが提供されうる。公開鍵はデバイス4の識別情報として使用される。デバイス4がTEE(Trusted Execution Environment)を有している場合、デバイス4の秘密鍵は、デバイスのTEEのTCBのセキュアストレージに保存される。あるいは、秘密鍵は、デバイス4のファームウェア/OS(オペレーティングシステム)に、特にROMなどの変更が難しいメモリ領域に、ハードコードされてもよい。秘密鍵はデバイス4内に安全に隠されているが、デバイス4の公開鍵は、外部から認識できるようにすることができる。一例として、実施形態では、公開鍵は、例えばデバイス4のパッケージに印刷することによって(QRコードの形式など)、可視化されうる。デバイス4の公開鍵をパッケージに表示することにより、デバイスの認証をデバイスの出荷履歴に関連付けることができる。
【0025】
実施形態では、ハードウェアベンダー2は、デバイス4の公開鍵の失効も処理する。失効の決定では、分散型台帳で入手可能なアカウント情報、または他のソースから取得した情報を考慮に入れる場合がある。
【0026】
最後に、ハードウェアベンダー2は、新しいファームウェアを公開することでファームウェアの更新に対応する。デバイス4上のファームウェアの更新は、無線でハードウェアベンダー2によって実行されてもよく、あるいは、デバイス所有者(例えば、ネットワークオペレーター3またはクラウドプロバイダー3a)の手動介入を必要とされてもよい。後者の場合、ハードウェアベンダー2は、単に更新されたファームウェアを配布または公開すればよい。
【0027】
図1に示すように、ハードウェアベンダー2は、次のいずれかのイベントが発生したときに、分散型台帳にレコードを発行できる。
【0028】
1)新しいデバイス4が製造された:この場合、トランザクションレコードが、デバイスの公開鍵を含む新しいデバイス4に関する情報(例えば、モデル、ハードウェア特性、シリアル番号)を保持するよう実行される。
2)デバイス4が所定のサプライチェーンメンバーを介して出荷された:この場合、トランザクションレコードが、デバイス4の公開鍵およびサプライチェーンメンバーの識別情報を保持するよう実行される。
3)既存のデバイスを廃止する必要がある:この場合、レコードが、廃止されるデバイスの公開鍵と、廃止理由などの追加情報を保持するよう実行される。
4)新しいファームウェアが特定のデバイスモデルで利用可能となる:この場合、レコードが、デバイスモデル、ファームウェアの署名付きダイジェスト、およびファームウェアを取得するURLを含むよう実行される。
5)デバイスXのファームウェアがバージョンYに更新された:この場合、レコードにはデバイスの公開鍵とファームウェアのダイジェストが含まれる。
【0029】
上記リストはすべてではなく、ハードウェアベンダー2が台帳にレコードを発行するきっかけとなるさまざまなイベントが想定される場合がある。
【0030】
より具体的には、デバイス4が製造されると、ハードウェアベンダー2は、以下の数1のように構成されうるそれぞれのトランザクションメッセージを生成する。
【数1】
【0031】
トランザクションメッセージは分散型台帳に公開される。トランザクションメッセージには、上記の例では「produced」と設定された「現在のステータス」パラメータが含まれていることに注意が必要である。デバイス4の「id」は固有である必要がある。例えば、簡単に検索できるように、「id」はデバイス4の公開鍵「public_key」の暗号化されたハッシュ値にすることができる。「firmware_version」には、バージョン番号、ダイジェスト、ファームウェアをダウンロードするためのURLなどの情報が含まれている。
【0032】
トランザクションメッセージ「Tx_create」を作成して分散型台帳に公開すると、トランザクションメッセージの内容が台帳に保存される。このコンテキストでは、特定のユースケースで別のことが明記されていないことを除いて、「id、model_name、manufacturer、serial_number、public_key」の情報は、台帳では不変であるべきことに注意することが重要である。その他の情報は、後続のトランザクションメッセージを介して更新できる。
【0033】
例えば、デバイスのファームウェアが更新されると、それぞれのハードウェアベンダー2は、ファームウェア情報を更新するために、以下の数2のような新しいトランザクションメッセージを、分散型台帳に送信することができる。
【数2】
【0034】
さらに、デバイス4の公開鍵が無効とされると、それぞれのハードウェアベンダー2は、ステータスを「revoked」として更新するために、以下の数3のような新しいトランザクションメッセージを分散型台帳に送信することができる。
【数3】
【0035】
実施形態では、上記のトランザクションメッセージはまた、それぞれのハードウェアベンダー2の認証情報を運ぶ。この認証情報は、「Tx_create、Tx_upgrade、Tx_revoke」メッセージを受け入れるために、分散型台帳ネットワーク7のすべてのノード6によって検証できる。このコンテキストでは、それぞれのトランザクションメッセージが検証されるときに、アクセス制御アプローチが、トランザクションメッセージの送信者が認証され承認されることにより実行されうる。さらに、すべてのトランザクションメッセージを受け入れると、分散型台帳によってタイムスタンプが付与される場合がある。
【0036】
図1に示す実施形態では、明示的に示されていないサプライチェーンメンバーは、ハードウェアベンダー2とネットワークオペレーター3との間におけるデバイス4の輸送を行う。そのため、ハードウェアベンダー2とネットワークオペレーター3は、それぞれサプライチェーンの最初と最後のノードである。サプライチェーンのメンバーは、分散型台帳を介して、集荷して配送したデバイス4を通知することができる。
【0037】
一般的に、サプライチェーンメンバーが分散型台帳に発行するレコードは、デバイス4の出荷履歴を反映している。実施形態では、サプライチェーンメンバーは、以下のイベントの際に分散型台帳にレコードを発行する。
【0038】
1)デバイス4がハードウェアベンダー2またはネットワークオペレーター3から配送された場合:この場合、レコード(
図1の下部に「tx
1」および「tx
3」として示されている)には、デバイス4の公開鍵と、ハードウェアベンダー2またはネットワークオペレーター3の識別情報が含まれる。
2)デバイスがネットワークオペレーター3によって受け取られた:この場合、レコード(
図1では「tx
2」および「tx
4」として示されている)には、デバイス4の公開鍵と、受け取ったネットワークオペレーター3の識別情報が含まれる。
【0039】
上述したイベントとは異なるが、ハードウェアベンダー2の場合と同様に、サプライチェーンメンバーが台帳にレコードを発行するきっかけとなる他のイベントが想定される。
【0040】
より具体的には、デバイス4がサプライチェーンメンバーを介して出荷されると、以下の数4のようなトランザクションを介して、デバイス4のステータスは、受信者情報(すなわち、ネットワークオペレーター3)と共に「sipped」に更新される。
【数4】
【0041】
ネットワークオペレーター3は、新しいデバイス4を受け取ると、最初に、デバイス4の公開鍵(またはID)を取得するためのアクションを実行することができる。例えば、具体的な実装に応じて、ネットワークオペレーター3は、スキャンを実行してもよい。(例えばデバイス4のパッケージ上など、公開鍵が目に見えるように表示または示されている場合)。別の実施形態では、ネットワークオペレーター3は、分散型台帳からデバイス情報を照会してもよい。台帳からのデバイス情報が受け取ったパッケージの記載と一致している場合には、ネットワークオペレーター3は、トランザクションを台帳に送信して、デバイスのステータスを「received」に更新する。このトランザクションの形式は、数5に示すとおりである。
【数5】
【0042】
図1に示されるように、ネットワークオペレーター3は、ネットワークオペレーターBおよびネットワークオペレーターDについて、それら自身のネットワークドメイン7内でデバイス4を管理する責任がある。デバイス4をそれらのネットワークドメイン7に展開する前に、ネットワークオペレーター3は、それぞれのデバイス4(例えば、デバイスのOS、ファームウェア、TEE)に埋め込まれている秘密鍵が、例えばデバイス4の外面やデバイスのパッケージに視覚的に表示されるなど公然とアクセスできるデバイス4の公開鍵と一致することを検証する。実施形態では、この検証が失敗した場合、ネットワークオペレーター3は、デバイス4がネットワーク1,7に参加することを許可しない。他方、検証が成功した場合、ネットワークオペレーター3は、デバイス4がネットワーク1,7に参加することを許可することができる。
【0043】
より具体的には、
図2に示すように、デバイス4を展開する前におけるネットワークオペレーター3によるデバイス4の検証は、以下のステップを含む。最初に、ネットワークオペレーター3は、デバイス4の公開鍵「PK」を取得し、ステップ201に示すように、デバイス4にチャレンジとしてランダムノンスを送信する。応答として、デバイス4は、ステップ202に示すように、チャレンジに対して署名「sig」、つまり、デバイス4の秘密鍵/セキュア鍵「SK」とノンスを返す。次に、ステップ203に示すように、デバイス4の公開鍵「PK」を使用して、ネットワークオペレーター3によって署名が検証される。
【0044】
どのような場合においても、すなわち検証が失敗したか成功したかに関係なく、ネットワークオペレーター3は、検証に関する情報を提供する新しいレコードを分散型台帳に発行する。このトランザクションレコードは、以下の数6のように実装されうる。
【数6】
【0045】
ネットワークオペレーター3がデバイス4を展開すると、ブロックチェーンが検証結果が肯定であることを確認した場合にのみ、ステータスを「deployed」に更新できる。
【数7】
【0046】
ネットワークオペレーター3は、ハードウェアベンダー2が無線で実行できないファームウェア更新を管理する場合もある。本発明の実施形態では、ネットワークオペレーター3は、それぞれのデバイス4がデバイス製造業者例えばそれぞれのハードウェアベンダー2によって分散型台帳に投稿された場合にのみ、ドメイン7内の特定のデバイス4を特定のファームウェアバージョンで更新する。ファームウェア更新処理の結果は、分散型台帳にレコードを発行することによって再度通知される場合がある。これにより、分散型台帳ネットワーク5のメンバーは、所定のデバイス4上で実行されているソフトウェア/ファームウェアのバージョンを認識することができる。デバイスファームウェア更新の結果を通知するトランザクションレコードは、以下の数8のように実装されうる。
【数8】
【0047】
図3に示すように、本発明の実施形態では、ネットワークオペレーター3は、デバイス4のファームウェアおよびソフトウェアの完全性を検証するために、そのドメイン7に属するデバイス4を認証するための認証サービス8を実行することができる。認証サービス8は、所定のまたは設定された間隔あるいはイベントベースのいずれかで、デバイス認証を実行するように構成される。
【0048】
図3に示すように、ネットワークオペレーター3は、認証タスクを認証サービス8に委託することができる(符号301に示すように)。委託時に、認証サービス8は、分散型台帳に連絡することによって、認証される各デバイス4の必要な情報、特にデバイス4のハードウェア性能に関する情報を取得することができる(符号302に示すように)。認証サービス8は、取得したデバイス情報に基づいて、それぞれのデバイス4を定期的に認証または指紋認証する(符号303に示すように)。認証サービス8は、異なるタイプのTEEまたはスマートカードに対応するように構成される。各認証の結果は、分散型台帳にレコードを発行することによって通知される。
【0049】
一般的に、認証サービス8は、デバイス4のハードウェアセキュリティ性能と共にデバイスタイプを確認し、基礎となるハードウェアの性能に応じて、認証サービス8は以下の処理を実行する。
- デバイス4のハードウェアが、Intel SGX(Software Guard Extensions)をサポートしている場合は、SGX認証を開始する。
- デバイス4のハードウェアが、Trustzoneをサポートしている場合は、Trustzone認証を開始する。
- デバイス4のハードウェアがRISC-Vの場合(参考に、https://riscv.org/faqを参照)、特定のハードウェア認証を開始する。
- デバイス4のハードウェアがTPM(Trusted Platform Module)チップを有する場合、TPM認証を開始する。
- スマートカードまたはSIMカードがある場合、スマートカードベースの認証を開始する(例えば、US2016/0132681A1に記載されている認証手順に従って行われ、この公報の全ての開示事項は参照により本明細書に組み込まれるものとする)。
- デバイス4が安全なハードウェアサポートを有していない場合、疑似ランダムメモリトラバーサルに基づいてソフトウェア認証を実行する。
- デバイス4のハードウェアに読み取り専用メモリ(ROM)がある場合、デバイス4のファームウェアの更新は、SUANTセキュアコードアップデートを介して実行できる(参考:US10,346,619B2、及び、「G. Karame and W. Li, "Secure erasure and code update in legacy sensors", Trust and Trustworthy Computing - 8th International Conference, TRUST 2015, Proceedings, Springer Verlag, vol9229, p283-299」、両方の文献の全ての開示事項は参照により本明細書に組み込まれるものとする)。
【0050】
上記のオプションのいずれも利用できない場合、認証サービス8は、ソフトウェアベースの認証を開始することができる。このオプションが実行可能でない場合、認証サービス8は、デバイスの無線指紋認証を実行する可能性がある(例えば、「K. B. Rasmussen及びS.Capkun, "Implications of radio fingerprinting on the security of sensor networks", 2007 Third International Conference on Security and Privacy in Communications Networks and the Workshops - SecureComm 2007」に記載のように実行する。この文献の全ての開示事項は参照により本明細書に組み込まれるものとする)。
【0051】
図4は、TEE9を有するデバイス4のコンテキストにおける認証プロトコルの実施形態を示している。デバイス4が起動すると、コンポーネントは、それぞれの下位レベルがロード前にそれぞれの上位レベルの完全性を測定するような順序でロードされる。具体的には、
図4に示すように、起動プロセス中に、ブートローダー10は、カーネル11の完全性を測定し、カーネル11はOS12の完全性を測定し、OS12はそれぞれのアプリケーション13の完全性を測定する。
【0052】
測定結果は、デバイスのTEE9のTCB14(Trusted Computing Base)のセキュアストレージに保存される。
図4に示されるように、ストレージは、以下の数9のように、TEEアプリケーション15を介して拡張方式で実行される。
【数9】
ここで、Hは暗号化ハッシュ関数、h
iはコンポーネントiの測定値、M
iはコンポーネントiを使用した拡張測定値である。
【0053】
次に、認証プロセス中に、ネットワークオペレーター3は、まず、TEEアプリケーション15を用いてセキュアチャネル16を確立する。これに関連して、TEEアプリケーション15は、ネットワークオペレーター3の公開鍵のリスト17をハードコーディングしているため、TEEアプリケーション15は、ネットワークオペレーター3を認証でき、例えば、Diffie-Hellman鍵共有で共有鍵Ksharedを取得することができることに留意されたい。認証プロセスでは、完全性のみを保証する必要があり、必ずしも機密性を保証する必要はない。
【0054】
セキュアチャネル16が確立された後、ネットワークオペレーター3は、TEE9にノンスをチャレンジし、応答としてのQuoteを待つ。Quoteには、起動シーケンス中に記録されたロードされたコンポーネントの測定結果、ノンス、これらの情報に対する署名、が含まれる。Quoteは、TCB14内のデバイスごとの認証鍵SKattestで署名されている。この認証鍵は、TEEアプリケーション15による認証Quoteに署名するためにのみ使用される。この状況では、認証鍵SKattestは、デバイス認証またはその他のアプリケーション目的で使用されるアプリケーションごとの秘密鍵SKとは異なることに注意が必要である。
【0055】
次に、返されたQuoteは、
図4に示すように、ネットワークオペレーター3自体によって、あるいは、信頼できる第三者によってリモートで、ホストされる認証サービス8により転送および検証される。次に、ネットワークオペレーター3は、認証結果をチェックし、本発明の実施形態におけるブロックチェーンに以下の数10のようなメッセージを発行することによって、それを分散型台帳に公開する。
【数10】
TEE情報には、TEE9のタイプとTEE9のバージョンが含まれる。
【0056】
デバイス4がTEE9を備えていない場合、ネットワークオペレーター3は、
図5に示すように、疑似ランダムメモリトラバーサルに基づいてソフトウェア認証を実行することができる。実施形態では、ネットワークオペレーター3(またはオペレータの認証サービス8)は、チャレンジとしてノンスをデバイス4に送信する。デバイス4は、ノンスに基づいて記憶場所を繰り返し導出し、チェックサムを更新するために使用されるメモリ内容を読み取る。繰り返しの最後に、チェックサムは検証のためにネットワークオペレーター3に送り返される。次に、ネットワークオペレーター3は、受信したチェックサムをデバイス4の推定メモリ内容で検証する。記憶場所を導出する関数も、推定擬似ランダム関数F
RNG:数11であることに注意が必要である。ここで、m
iは記憶場所であり、m
0=nonceである。
【数11】
【0057】
実施形態では、ネットワークオペレーター3はまた、デバイス4からの応答時間(チャレンジ開始時間t
sと応答終了時間t
e)をチェックする。応答時間が長すぎる場合、つまり数12が事前定義された閾値を超える場合には、ネットワークオペレーター3は、デバイス4の完全性を疑うように構成されている。
【数12】
【0058】
いずれの場合も、認証結果は以下の数13のようにブロックチェーンに更新されうる。
【数13】
【0059】
上記のアプローチのいずれも適用できない場合、ネットワークオペレーター3は、デバイス無線指紋認証を実行して、デバイス4のモデルが所定のデバイスモデルから発せられた信号のプロファイルと一致するかどうかを検証することができる。指紋認証の結果は、以下の数14のようなトランザクションを介して更新されうる。
【数14】
【0060】
特定の認証手順が実際に実装されているかに関係なく、認証結果はブロックチェーンに保存される場合がある。ソフトウェア認証の場合、ソフトウェアの現在の状態を、ブロックチェーンまたはクラウドバックエンドストレージのいずれかに保存されているソフトウェアのホワイトリストと比較できる。
【0061】
本発明の実施形態によれば、ネットワークオペレーター3は、分散型台帳で利用可能なそれぞれのデバイス4に関する情報に応じて、デバイス4への接続を提供するかどうかを決定することができる。これには、デバイスの信用性を判断するために、分散型台帳を介して複数の利害関係者によって維持されているデバイス情報を取得するリスク評価サービスの設定が含まれる場合がある。実施形態では、ネットワークオペレーター3は、デバイス公開鍵、出荷履歴、認証結果、ファームウェアバージョンなどを含む関連するデバイス情報を分散型台帳から読み出し、設定されたリスク評価ルールに従って読み出した情報を分析するように構成されたリスク評価モジュールを備えることができる。デバイス4がリスク評価に合格した場合、ネットワークオペレーター3はデバイス4への接続を申し出て、そうでない場合は、ネットワークオペレーター3は、例えば、デバイス4から受信したそれぞれの要求を拒否することにより、接続を申し出ない。
【0062】
本発明の多くの変形例および実施形態は、上述した説明および関連する図面に記載された教示により、本発明が関係する当業者には思い浮かぶであろう。したがって、本発明は、開示された特定の実施形態に限定されるものではなく、変形例および実施形態は添付の特許請求の範囲内に含まれることが意図されていることを理解されたい。本明細書では特定の用語が使用されているが、それらは一般的かつ説明的な意味でのみ使用されており、限定の目的では使用されていない。
【符号の説明】
【0063】
1 モバイル通信ネットワーク
2 ハードウェアベンダー
3 ネットワークオペレーター
3a クラウドネットワークサービスプロバイダー
4 ネットワークデバイス
5 分散型台帳ネットワーク
6 分散型台帳ネットワーク内のノード
7 管理ドメイン
8 認証サービス
9 Trusted Execution Environment(TEE)
10 ブートローダー
11 カーネル
12 オペレーティングシステム(OS)
13 アプリケーション
14 Trusted Computing Base (TCB)
15 TEEアプリケーション
16 セキュアチャネル
17 ネットワークオペレーターの公開鍵のリスト
18 設定データベース