(57)【要約】  トラフィックを安全に通信することに関する技術が開示される。いくつかの実施形態において、装置は、ネットワーク上のデバイス間でデータ通信を暗号化するために使用可能な鍵を格納するセキュア回路を含む。セキュア回路は、鍵の使用基準のセットを定義する情報を格納するように構成されている。使用基準のセットは、第１の鍵は、第１のデバイスから第２のデバイスに通信されているデータを暗号化する専用であることを指定する。セキュア回路は、メッセージが第１のデバイスから第２のデバイスに送信されていることを示し、そのメッセージの一部を第１の鍵で暗号化する要求を受信し、使用基準のセットにより、第１のデバイスから第２のデバイスに送信されているメッセージに対する第１の鍵での暗号化が許可されるとの判定に応じて、そのメッセージの一部を第１の鍵で暗号化するように構成されている。【選択図】図３
2019531646.tif 000002
【特許請求の範囲】
【請求項１】
セキュア回路であって、
ネットワーク上の複数のデバイス間のデータ通信を暗号化するために使用可能な複数の鍵を格納し、
前記複数の鍵の使用基準のセットを定義する情報を格納し、前記使用基準のセットは、前記複数の鍵のうちの第１の鍵が、前記複数のデバイスのうちの第１のデバイスから前記複数のデバイスのうちの第２のデバイスに通信されるデータを暗号化するための専用であることを特定し、
メッセージの一部を前記第１の鍵で暗号化する要求を受信し、前記要求は、前記メッセージが前記第１のデバイスから前記第２のデバイスに送信されていることを示し
前記使用基準のセットにより、前記第１のデバイスから前記第２のデバイスに送信されているメッセージに対する前記第１の鍵での暗号化が許可されるとの判定に応じて、前記第１の鍵で前記メッセージの前記一部を暗号化するように構成されている、セキュア回路を備える、装置。
【請求項２】
前記セキュア回路が前記第１のデバイスに結合された前記複数のデバイスを更に備え、
前記暗号化された部分は、前記メッセージが前記第１のデバイスによって送信されるということを確立するために使用可能であるように、前記セキュア回路が前記メッセージの前記一部を暗号化するように構成されている、請求項１に記載の装置。
【請求項３】
前記セキュア回路が、
前記複数のデバイスのうちの第３のデバイスから送信された別のメッセージの一部を受信し、前記別のメッセージの前記一部は前記第３のデバイスに結合された別のセキュア回路によって暗号化され、
前記使用基準のセットに基づいて、前記第３のデバイスから前記第１のデバイスに送信されているデータ通信を復号するための専用の第２の鍵を選択し、
前記他のメッセージの前記一部を前記第２の鍵で復号するように構成されている、請求項１に記載の装置。
【請求項４】
前記格納された情報が、前記複数の鍵のそれぞれにタプルを指定し、各タプルが、１）その鍵が暗号化又は復号化専用であるかどうかの指示を含み、２）その鍵に関連付けられた前記複数のデバイスのうちの１つ以上のデバイスを識別する、請求項１に記載の装置。
【請求項５】
前記使用基準のセットは、前記第１の鍵が、前記第１のデバイスと前記第２のデバイスとの間で一方向のデータ通信の暗号化専用であり、他方向には行わないことを示す、請求項１に記載の装置。
【請求項６】
ゲートウェイであって、
広域ネットワーク上の通信を容易にし、
前記広域ネットワーク上のエンティティから置換鍵のセットを受信し、
前記置換鍵のいくつかを前記複数のデバイスに分配するように構成されている、ゲートウェイを更に備える、請求項１に記載のデバイス。
【請求項７】
前記ゲートウェイは、
前記複数のデバイスのうちの１つが新しいデバイスに交換されたことの指示に応じて、前記置換鍵のセットを求める要求を発行するように構成されている、請求項６に記載の装置。
【請求項８】
前記複数のデバイスを更に備え、複数のデバイスは乗物の動作を制御するように構成された電子制御ユニット（ＥＣＵ）を含み、
前記セキュア回路は、前記第１のデバイスによって制御された動作に関連付けられたメッセージの一部を暗号化するように構成されている、請求項１に記載の装置。
【請求項９】
第１の電子制御ユニット（ＥＣＵ）であって、前記第１のＥＣＵから第２のＥＣＵに送信されるデータフレーム用のメッセージ認証コード（ＭＡＣ）を生成するように構成されている、第１の電子制御ユニット（ＥＣＵ）と、
前記第１のＥＣＵに結合され、前記ＭＡＣを第１の暗号鍵で暗号化するように構成されている第１のセキュア回路と、を備え、
前記第１のＥＣＵは、前記データフレームに含まれる前記暗号化されたＭＡＣで前記データフレームを送信するように構成されている、装置。
【請求項１０】
前記第２のＥＣＵに結合され、前記データフレームに含まれる前記暗号化されたＭＡＣを復号するように構成されている、第２のセキュア回路と、
前記データフレームの完全性を前記暗号化されたＭＡＣ使用して確認するように構成されている前記第２のＥＣＵと、を更に備える、請求項９に記載の装置。
【請求項１１】
前記第１のＥＣＵが、前記第１のセキュア回路に、前記第２のＥＣＵが前記データフレームの宛先であることを示すように構成され、
前記第１のセキュア回路が、前記データフレームの前記指定された宛先に基づいて、前記第１の暗号鍵を使用して前記ＭＡＣの暗号化を可能とするかどうかを判定するように構成されている、請求項９に記載の装置。
【請求項１２】
前記第１のセキュア回路は、
前記第１の暗号鍵を含む複数の暗号鍵を格納し、
前記複数の暗号鍵のうちのそれぞれについて、それぞれの用途及び関連ＥＣＵのそれぞれのセットを指定するポリシーを格納し、前記ポリシーは、前記第１の暗号鍵が暗号化に使用され、前記第２のＥＣＵを含むＥＣＵのセットに関連付けられることを指定し、
前記格納されたポリシーに基づいて、前記第１の暗号鍵で前記ＭＡＣに署名するかどうかを判定するように構成されている、請求項１１に記載の装置。
【請求項１３】
前記第１の暗号鍵を含む鍵のセットを、無線ネットワークインタフェースを介してそこから鍵のセットを受信し、
前記鍵のセットを前記第１のセキュア回路を含む複数のセキュア回路に分配するように構成されているネットワークゲートウェイを更に備える、請求項９に記載の装置。
【請求項１４】
前記第１のセキュア回路は、
前記ネットワークゲートウェイから前記第１の暗号鍵を受信した後に、前記第１の暗号鍵が前記ネットワークゲートウェイに対して未知となるように前記第１の暗号鍵を変更するように構成されている、請求項１３に記載の装置。
【請求項１５】
前記第１のセキュア回路は第１の相互接続を介して前記第１のＥＣＵに結合され、前記第１のＥＣＵは、前記第１の相互接続とは異なる第２の相互接続を介して、前記データフレームを前記第２のＥＣＵに送信するように構成されている、請求項９に記載の装置。
【請求項１６】
ネットワーク上のメッセージを第２のネットワークノードに通信するように構成されている第１のネットワークノードと、
前記第１のネットワークノードに結合されたセキュア回路と、を備え、前記セキュア回路は、
暗号鍵、及び前記暗号鍵のための１つ以上の使用基準を定義するポリシーを格納し、
前記第１のネットワークノードから、前記メッセージの一部を暗号化するための要求を受信し、
前記ポリシーにより前記暗号鍵での前記一部の暗号化が許可されたことの判定に応じて、前記暗号鍵で前記一部を暗号化する、装置。
【請求項１７】
前記要求は、前記第２のネットワークノードが前記メッセージの宛先であることを示し、
前記第２のネットワークノードが前記メッセージの前記宛先であると示されたとき、前記セキュア回路は、前記ポリシーにより前記暗号鍵での暗号化が許可されるかどうかを判定するように構成されている、請求項１６に記載の装置。
【請求項１８】
前記要求は、第３のネットワークノードが前記メッセージの別の宛先であることを更に示し、
前記第２のネットワークノード及び前記第３のネットワークノードが前記メッセージの宛先として示されたとき、前記セキュア回路は、前記ポリシーにより前記暗号鍵での暗号化が許可されるかどうかを判定するように構成されている、請求項１７に記載の装置。
【請求項１９】
前記ポリシーは、前記第２のネットワークノードを、前記第２のネットワークノードのメディアアクセス制御（ＭＡＣ）アドレスを参照することにより、許可される宛先であることを識別する、請求項１７に記載のデバイス。
【請求項２０】
前記ポリシーは、前記暗号鍵を使用した暗号化は許可されるが、前記暗号鍵を使用した復号化は許可されないことを示す、請求項１６に記載の装置。
【請求項２１】
乗物の動作を制御するように構成された複数の電子制御ユニット（ＥＣＵ）であって、前記動作を制御することは、鍵のセットを使用して暗号化された、ＥＣＵ間のデータを通信することを含む、電子制御ユニット（ＥＣＵ）と、
コンピューティングデバイスであって、
前記複数のＥＣＵのうちの１つが交換されたという指示を受信し、
前記指示に応じて、鍵のセットを交換する要求を広域ネットワーク（ＷＡＮ）上のエンティティに発行し、
置換鍵のセットを前記ＷＡＮ上の前記エンティティから受信し、
前記置換鍵のセットを前記複数のＥＣＵに分配するように構成されたコンピューティングデバイスと、を備える、装置。
【請求項２２】
前記複数のＥＣＵのうちの第１のＥＣＵに結合され、
前記第１のＥＣＵに分配された置換鍵を受信し、
前記第１のＥＣＵからの前記置換鍵でデータを暗号化する要求にサービスを提供するように構成された、第１のセキュア回路を更に備える、請求項２１に記載の装置。
【請求項２３】
前記第１のセキュア回路は、
前記第１のＥＣＵからの要求にサービスを提供するのに先立ち、前記置換鍵が前記エンティティに未知となるような方法で前記置換鍵を変更するように構成されている、請求項２２に記載の装置。
【請求項２４】
前記コンピューティングデバイスは、
前記セット中の置換鍵の使用を定義し、前記セット中の第１の鍵に対して、１）前記複数のＥＣＵのうちの１つを、前記第１の鍵で暗号化されたデータを送信することを許可されていると識別し、２）前記複数のＥＣＵのうちの１つ以上を、前記第１の鍵で暗号化されたデータを受信することを許可されていると識別する、ポリシー情報を受信し、
前記置換鍵のセットを有する前記受信されたポリシー情報を分配するように構成されている、請求項２１に記載の装置。
【請求項２５】
前記コンピューティングデバイスは、
前記置換鍵のうちの１つ以上が無効化されたという指示を受信し、
前記複数のＥＣＵに前記１つ以上の置換鍵の使用を中止することを通知するように構成されている、請求項２１に記載の装置。
【請求項２６】
コンピュータシステムが、ネットワークに結合された複数のノードを検出することと、
前記コンピュータシステムが、前記複数のノードのうちの１つ以上に、前記ノードの正当性を証明する証明書を提供することを求める要求を発行することと、
前記コンピュータシステムが、前記要求に応じて証明書を提供できなかった１つ以上のノードを識別することと、を含む、方法。
【請求項２７】
前記コンピュータシステムが、前記ノードに結合されたセキュア回路から前記複数のノードのうちの１つに関連付けられた証明書を受信することであって、前記セキュア回路は認証局（ＣＡ）から前記証明書を受信し、前記ノード用の前記証明書を格納するように構成されていることを更に含む、請求項２６に記載の方法。
【請求項２８】
前記識別することは、前記１つ以上のノードがネットワークと共に使用することを許可されていないことを示すことを含む、請求項２６に記載の方法。
【請求項２９】
前記複数のノードが、乗物の動作を制御するように構成された電子制御ユニット（ＥＣＵ）を含む、請求項２６に記載の方法。
【請求項３０】
コンピュータシステムが、第１のネットワークに結合された複数のノードから証明書を受信することと、
前記コンピュータシステムが、前記証明書が前記第１のネットワークに関連付けられているかどうかを判定するために前記証明書を分析することと、
前記分析に基づいて、前記コンピュータシステムが、前記複数のノードのうちの１つを第２のネットワークに関連付けられていると識別することと、を含む、方法。
【請求項３１】
前記コンピュータシステムが、前記複数のノードのうちの第１のノードに証明書を発行する要求を受信することであって、前記要求は前記第１のノードが前記第１のネットワークに関連付けられていると識別する、ことと、
前記コンピュータシステムが、前記第１のノードに前記証明書を発行することと、
前記コンピュータシステムが、前記第１のネットワークに関連付けられた証明書のリスト内の前記証明書の指示を格納することであって、前記分析が前記リストの分析を含む、ことと、を更に含む、請求項３０に記載の方法。
【請求項３２】
前記コンピュータシステムが、前記複数のノードのうちの第１のノードに証明書を発行する要求を受信することであって、前記要求は前記第１のノードが前記第１のネットワークに関連付けられていると識別する、ことと、
前記コンピュータシステムが、前記第１のノードに前記証明書を発行することであって、前記証明書は、前記第１のノードが前記第１のネットワークに関連付けられていることを指定する指示を含み、前記分析は、前記証明書に含まれる前記指示を分析することを含む、ことと、を更に含む、請求項３０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、コンピュータネットワークに関し、より詳細には、ネットワーク上でトラフィックを安全に通信することに関する。
【背景技術】
【０００２】
セキュリティ問題は、コンピュータネットワークを設計する際の共通の考慮事項である。ローカルエリアネットワーク（local area network、ＬＡＮ）の場合、ネットワーク設計は、内部ＬＡＮをインターネットなどの外部ネットワークに結合するゲートウェイデバイスを含むことができる。ＬＡＮを遮断するために、ゲートウェイデバイスは、着信トラフィック及び／又は送信トラフィックの流れを制限するファイアウォール機器を実装することができる。例えば、この機器は、トラフィックがファイアウォールを通過するのを許可する前に、ソース及び宛先ポートだけでなく着信トラフィックのソースアドレスも分析することができる。例えば、悪意のあるエンティティが、未知のタイプのトラフィックに関連付けられたネットワークポートにアクセスしようとした場合には、ゲートウェイは、トラフィックがネットワークに入るのをブロックすることができる。
【発明の概要】
【０００３】
本開示は、ネットワーク内のデバイス間でトラフィックを安全に通信する実施形態を記載する。様々な実施形態において、セキュア回路は、ネットワーク上のデバイス間のデータ通信を暗号化するために使用可能な鍵を格納する。セキュア回路は、鍵の使用基準のセットを定義する情報を格納するように構成される。この使用基準のセットは、第１の鍵が、第１のデバイスから第２のデバイスに伝達されるデータを暗号化するのに専ら使用されることを指定している。セキュア回路は、メッセージの一部を第１の鍵を使用して暗号化する要求を受信するように構成されている。こうした実施形態において、この要求は、メッセージが第１のデバイスから第２のデバイスに送信されていることを示す。使用基準のセットにより、第１のデバイスから第２のデバイスに送信されているメッセージに対する第１の鍵での暗号化が許可されるとの判定に応じて、セキュア回路は、メッセージの一部を第１の鍵で暗号化するように構成されている。いくつかの実施形態において、暗号化された部分は、メッセージが第１のデバイスによって送信されるということを確立するために使用可能なように、セキュア回路が第１のデバイスに結合され、メッセージの一部を暗号化するように構成されている。
【図面の簡単な説明】
【０００４】
【図１】セキュアネットワークの一例を示すブロック図である。
【０００５】
【図２】セキュアネットワークにおけるハードウェアセキュリティモジュールの一例を示すブロック図である。
【０００６】
【図３】セキュアネットワークにおいて２つのノード間のセキュア通信の一例を示す通信線図である。
【０００７】
【図４】２つのノード間の複数のブロックのセキュア通信の一例を示す通信線図である。
【０００８】
【図５】セキュアネットワークにおけるノード間の通信を実施するためのポリシー使用の一例を示すブロック図である。
【０００９】
【図６Ａ】セキュアなネットワーク通信のための方法の例を示す流れ図である。
【図６Ｂ】セキュアなネットワーク通信のための方法の例を示す流れ図である。
【００１０】
【図７】ネットワークプロビジョニングの一例を示すブロック図である。
【００１１】
【図８Ａ】ネットワークプロビジョニングに関連付けられた例示的な通信を示す通信線図である。
【図８Ｂ】ネットワークプロビジョニングに関連付けられた例示的な通信を示す通信線図である。
【００１２】
【図９】セキュアネットワークに関連付けられた診断モードのための例示的な方法の流れ図である。
【００１３】
【図１０Ａ】ネットワークプロビジョニングに関連付けられた例示的な方法の流れ図である。
【図１０Ｂ】ネットワークプロビジョニングに関連付けられた例示的な方法の流れ図である。
【図１０Ｃ】ネットワークプロビジョニングに関連付けられた例示的な方法の流れ図である。
【００１４】
【図１１】セキュアネットワークの１つ以上の構成要素を実装できる、例示的なコンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【００１５】
本開示は、「ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ（一実施形態）」又は「ａｎ  ｅｍｂｏｄｉｍｅｎｔ（ある実施形態）」に対する参照を含む。「ｉｎ  ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ（一実施形態において）」又は「ｉｎ  ａｎ  ｅｍｂｏｄｉｍｅｎｔ（ある実施形態において）」という語句表現は、必ずしも同一の実施形態を指すわけではない。特定の機能、構造、又は特性は、本開示と一貫したいずれかの適切な方式で組み合わされてもよい。
【００１６】
本開示内で、（「ユニット」、「回路」、他の構成要素などと様々に呼ばれることがある）様々なエンティティは、１つ以上のタスク又は動作を実施するように「構成されている（configured）」ものとして記述又は主張されることがある。［１つ以上のタスクを実施する］ように構成されている［エンティティ］というこの明確な語句は、本明細書では構造（すなわち、電子回路など、物理的なもの）を指すために使用される。より具体的には、この明確な語句は、この構造が動作中に１つ以上のタスクを実施するように配置されたことを示すために使用される。構造は、その構造が現在動作していない場合でも、何らかのタスクを実施する「ように構成されている」と述べられることがある。ある「広域ネットワーク上で通信を容易にするように構成されているネットワークインタフェース」は、例えば、当該のコンピュータシステムが現在使用されていない（例えば、そのコンピュータシステムに電源が接続されていない）場合でも、動作中にこの機能を実施する回路を網羅することを意図している。このように、何らかのタスクを実施する「ように構成されている」ものとして記述又は説明されるエンティティは、デバイス、回路、そのタスクを実現するように実行可能なプログラム命令を記憶したメモリなど、物理的なものを指す。この語句は、本明細書では無形のものを指すためには使用されない。したがって、「〜のように構成されている」との言い方は、本明細書では、アプリケーションプログラミングインタフェース（application programming interface、ＡＰＩ）などのソフトウェアエンティティを指すためには使用されない。
【００１７】
「〜ように構成されている」という用語は、「〜ように構成可能な」を意味することを意図していない。例えば、プログラムされていないＦＰＧＡは、何らかの特定の機能を実行する「ように構成可能」であり得るが、その機能を実施する「ように構成されている」とは見なされず、プログラミング後にその機能を実施する「ように構成されている」と言えよう。
【００１８】
添付の請求項において、ある構造が１つ以上のタスクを実行する「ように構成されている」と説明することは、その請求項要素について米国特許法第１１２条（ｆ）を援用しないことを明示的に意図している。したがって、出願された本出願中の請求項のいずれも、ミーンズプラスファンクション要素を有するものとして解釈されることを意図していない。出願人が審査過程中に１１２条（ｆ）を援用することを望む場合、それは、［機能を実行する］「ための手段」という構成体を使用して請求項要素を説明することになる。
【００１９】
本明細書で使用される用語「第１の」、「第２の」等は、名詞の前に付くラベルとして使用され、特に言及しない限りいかなるタイプの順序（例えば、空間的、時間的、論理的、等）も意味しない。例えば、ネットワークノードが、第１のフレーム及び第２のフレームを搬送する場合、用語「第１の」及び「第２の」は、第１のフレームが送信されてから第２のフレームが送信されることを意味しない。すなわち「第１の」フレーム及び「第２の」フレームは、任意の適切な順序で、又は並行してさえ送信されてもよい。
【００２０】
本明細書で使用する「〜に基づいて」という用語は、判定に影響を及ぼす１つ以上の要因を記述するために使用される。この用語は、追加の要因が判定に影響を及ぼすことがある可能性を除外しない。すなわち、判定は、特定の要因のみに基づくか、又は、特定の要因並びに他の不特定な要因に基づき得る。「Ｂに基づいてＡを判定する」という語句を検討する。この語句により、Ｂは、Ａを判定するために使用されるか、又はＡの判定に影響を及ぼす要因であることが特定される。この語句は、Ａの判定が、Ｃなど、何らかの他の要因にも基づき得ることを除外しない。この語句は、ＡがＢのみに基づいて判定される実施形態をも網羅することを意図している。本明細書で使用する「〜に基づいて」という語句はしたがって、「〜に少なくとも部分的に基づいて」という語句と同義である。
【００２１】
ネットワークを設計する際に、外部脅威を考慮することが重要であるが、内部のネットワークノードが危険にさらされるようになるといった、内部脅威を考慮することも有益である。例えばオフィス環境において、従業員は、悪意のある添付ファイルを有する電子メールを受信して、その従業員のコンピュータを危うくする添付ファイルの実行を開始する可能性がある。このセキュリティの侵害により、悪意のある行為者は、そのコンピュータのみならず、オフィスＬＡＮを介して結合された他のコンピュータへのアクセスを得ることができる。別の例として、ふらちな行為者が、コンテンツを受信するためにインターネットにセルラー接続するナビゲーションユニットを侵害することにより、乗物の機能性に対する制御を得ることが可能であることが最近指摘された。このユニットを危険にさらした後に、行為者は次に、内部ネットワークの制約が何ら課されないので、乗物の他の制御ユニットへの命令を発行することができた。
【００２２】
本開示は、ＬＡＮなどのネットワークを安全にするための様々な技術を記載する。以下に説明するように、様々な実施形態において、ネットワーク内の複数のノードは、ネットワーク上で通信されているトラフィックの一部を暗号化及び復号化するように構成されている、それぞれのハードウェアセキュリティモジュール（hardware security modules、ＨＳＭ）に結合されている。いくつかの実施形態において、ＨＳＭはまた、トラフィックのソース及び宛先に基づいて、暗号鍵の使用を制限するポリシー情報を格納するように構成されている。あるノードが、許可されない宛先へのネットワークトラフィックの通信を試みる場合、そのＨＳＭは、そのポリシー情報に基づいてトラフィックの一部を暗号化することを拒否することができる。宛先のＨＳＭも、そのポリシー情報に基づいて、ソースノードからの任意のトラフィックを復号することを拒否することができる。トラフィックの暗号化又は復号化を拒否することにより、ＨＳＭは、どのような通信がネットワーク上で発生しても制限することができる。いくつかの例では、この方法で通信を制限することにより、ノードが危険にさらされるようになる場合に、ネットワークの潜在的な曝露が低減することになる。いくつかの例では、ノードが危険にさらされた場合に識別し、及び／又は、ネットワークに許可されていないノードが挿入された場合に判定することも可能になる。
【００２３】
本開示は、図１及び図２に関連して、セキュアネットワーク内の構成要素の記述から始まる。ノード間のネットワーク通信は、図３〜図６に関して記述される。ネットワーク構成要素のプロビジョニングは、図７〜図１０Ｃに関して記述される。最後に、１つ以上のネットワーク構成要素を実施するために使用することができる例示的なコンピュータシステムは、図１１に関して議論される。
【００２４】
次に図１を参照すると、セキュアネットワーク１００のブロック図が示されている。図解した実施形態において、ネットワーク１００は、リンク１１２を介して複数のノード１２０Ａ〜Ｄに結合されたスイッチ１１０を含む。更に、ノード１２０Ａ〜Ｄは、リンク１２２を介して、それぞれのハードウェアセキュリティモジュール（ＨＳＭ）１３０Ａ〜Ｄに結合される。スイッチ１１０も、リンク１１２を介してゲートウェイ１４０に結合される。様々な実施形態において、ネットワーク１００は、図に示すものとは異なるように実装することができる。したがって、いくつかの実施形態において、例えば、スイッチ１１０及びノード１２０がより多く（又はより少なく）存在してもよく、ノード１２０間の冗長リンク１１２も存在してもよい。
【００２５】
いくつかの実施形態において、セキュアネットワーク１００は、ノード１２０間でネットワークトラフィックを通信するように構成されたローカルエリアネットワーク（ＬＡＮ）である。様々な実施形態において、ネットワークトラフィックは、スイッチ１１０によってノード１２０間でルーティングされる。したがって、スイッチ１１０は、ノード１２０から受信されたデータフレームを待ち行列に入れるように構成することができ、それらの指定された宛先にフレームを適切に送信するために、フレームによって指定されたソースアドレス及び宛先アドレスを分析することができる。いくつかの実施形態において、スイッチ１１０は、ＩＥＥＥ８０２．３（すなわち、イーサネットフレーム）に準拠してフレームをルーティングするように構成される。しかし、他の実施形態において、他のネットワーキングプロトコルをサポートすることができる。図解した実施形態において、ネットワーク１００は、ゲートウェイデバイス１４０を介して外部ネットワーク（例えば、インターネット）に結合される。いくつかの実施形態において、ゲートウェイ１４０は、ファイアウォールを実装し、ネットワーク１００のためにネットワークアドレス変換（network address translation、ＮＡＴ）を行うように構成される。
【００２６】
ノード１２０は、ネットワーク上で通信するように構成された任意の適切なデバイスに対応することができる。いくつかの実施形態において、ノード１２０は、デスクトップ及びラップトップコンピュータ、モバイルデバイス、スマートテレビ、スマートアプライアンス等のホーム又はオフィスネットワーク内のデバイスであってもよい。いくつかの実施形態において、ノード１２０は、様々な動作を行うように構成された製造工場内のマシンである。いくつかの実施形態において、ノード１２０は、航空機、ボート、自動車、レクリエーショナルビークル等の乗物における電子制御ユニット（electronic control units、ＥＣＵ）である。本明細書で使用される「電子制御ユニット（ＥＣＵ）」という用語は、当技術分野で理解されている意味に従って解釈されるべきであり、乗物の１つ以上の動作を制御する組み込みシステム（例えばマイクロコントローラ）を含む。こうした実施形態において、ノード１２０は、例えば、モータの動作を制御するためにトルク制御メッセージ及び車輪速度メッセージを通信するモータＥＣＵと、ブレーキをかけるためにブレーキ制御メッセージを通信するブレーキシステムＥＣＵと、映像を通信するバックアップカメラＥＣＵと、回転を制御するために操舵ハンドル角メッセージを通信する操舵ＥＣＵ等とを含むことができる。
【００２７】
様々な実施形態において、ネットワーク１００上で通信されるトラフィックは、いくつかの予測可能な特性を有することができる。例えば、所与のノード１２０は、設計通りに（例えば、ノード１２０Ａは、ノード１２０Ｂ及び１２０Ｃと通信できるが、ノード１２０Ｄとは通信できない）正しく動作するとき、他のノードのサブセットのみとトラフィックを通信することができる。別の例として、所与のノード１２０は、設計どおりに動作するとき、一方向にのみトラフィックを通信することができる。例えば、ノード１２０Ｂは、ノード１２０Ｃ及び１２０Ｄへトラフィックをマルチキャストすることができるが、ノード１２０Ｃ及び１２０Ｄは、ノード１２０Ｂに対していかなるトラフィックも通信を返すことはできない。以下に説明するように、これらの予測可能な特性により、設計通りにトラフィックを通信することを保証するために、所与のノード１２０に対してポリシー１３４を定義することが可能になる。ノード１２０がこのポリシーから逸脱しようとする場合（例えば、危険にさらされたために）、セキュアネットワーク１００は、ＨＳＭ１３０を介してポリシーから逸脱するためにその能力を制限するように構成されてもよい。
【００２８】
一実施形態において、ハードウェアセキュリティモジュール（ＨＳＭ）１３０は、１つ以上の内部に格納された鍵１３２を使用することにより、ノード１２０間で通信されるトラフィックを暗号化及び復号化するように構成されたセキュア回路である。本明細書で使用される「セキュア回路」という用語は、隔離された内部リソース（例えば、鍵１３２）が、外部エンティティ（例えば、ノード１２０）によって直接アクセスされることを防ぐ回路を指す。いくつかの実施形態において、所与のＨＳＭ１３０は、所与のノード１２０に対して行われるすべての暗号化を担当することがきる。例えば、データフレームのセットを送信する際に、ノード１２０Ａは、ＨＳＭ１３０Ａが各フレームのペイロードを暗号化することを要求することができる。しかし他の実施形態においては、所与のＨＳＭ１３０は、所与のノード１２０によって送信された暗号化データの一部だけを担当してもよく、所与のノード１２０が残りの暗号化を扱うことができる。いくつかの実施形態において、これは、ノード１２０とＨＳＭ１３０との間の低速接続リンク１２２に起因し得る。その結果、所与のノード１２０は、所与のフレーム（例えば、ペイロード）内の暗号化の大部分を実施し、ＨＳＭ１３０が残りのわずかな部分を暗号化してもよい。様々な実施形態において、ＨＳＭ１３０は、少なくとも一部分の暗号化及び復号化に関与している。その理由は、ＨＳＭ１３０は、所与のノード１２０よりも潜在的により安全であり、したがって、危険にさらされる可能性が少ないからである。いくつかの実施形態において、この付加されたセキュリティは、以下で図２に関して説明するように、ＨＳＭ１３０が、限られた攻撃面を提示し、内部構成要素を隔離することに起因する。
【００２９】
様々な実施形態において、ＨＳＭ１３０は、フレームの完全性を確認し、及び／又は、フレームのソースノード１２０を認証するのに使用可能なフレームの一部を暗号化及び復号化するように構成される。いくつかの実施形態において、この部分は、ノード１２０によって通信されるフレーム中に含まれるメッセージ認証コード（message authentication code、ＭＡＣ）である。（本明細書で使用される「メッセージ認証コード」という用語は、当技術分野で理解されている意味に従って解釈されるべきであり、メッセージを認証するために使用可能であり、鍵入力された機能を介して計算されるデータを含む。）例えば、いくつかの実施形態において、ノード１２０は、ＩＥＥＥ８０２．１ＡＥ（メディアアクセス制御セキュリティ（Media Access Control Security、ＭＡＣＳｅｃ）とも呼ばれる）に準拠してフレームを通信するように構成される。フレームを生成する際に、ノード１２０は、ガロア／カウンタモードで先進暗号化規格（Advanced Encryption Standard in Galois/Counter Mode、ＡＥＳ−ＧＣＭ）を使用してフレームペイロードを暗号化してもよい。このアルゴリズムを適用する一部として、ノード１２０は、フレームの完全性をチェックするために使用可能な値（すなわち、完全性チェック値（integrity check value、ＩＣＶ））を生成し、ガロアメッセージ認証コード（Galois message authentication code、ＧＭＡＣ）と呼ばれる。このような実施形態において、所与のノード１２０がフレームのソースであれば、そのそれぞれのＨＳＭ１３０は、フレーム内のＧＭＡＣを暗号鍵１３２で暗号化するように構成される。次いで、フレームが受信者ノード１２０に通信されると、そのノード１２０のＨＳＭ１３０がＧＭＡＣを復号し、それにより受信者ノード１２０は、復号されたＧＭＡＣを使用して、そのフレームは改竄されておらず、正しいソースからのものであることを保証するために、受信フレームの完全性を確認することができる。他の実施形態において、ＨＳＭ１３０は、フレームの他の部分を暗号化及び復号化するように構成してもよい。ノード１２０は、ＭＡＣｓｅｃ以外のプロトコルを使用して通信することもできる。例えば、別の実施形態において、ＨＳＭ１３０は、イーサネットフレーム内のフレームチェックシーケンス（frame check sequence、ＦＣＳ）を暗号化するように構成される。更に別の実施形態において、ＨＳＭ１３０は、インターネットプロトコル（Internet Protocol、ＩＰ）パケット内のヘッダチェックサムを暗号化するように構成してもよい。したがって、様々な実施形態が、以下にＭＡＣの文脈内で提示されているが、これらの記述は、ＭＡＣが使用されていない他の実施形態に適用することができる。
【００３０】
いくつかの実施形態において、ＨＳＭ１３０は、以下に図３に関して説明するトラフィックのストリーム中の他のフレームとは別のフレームの一部（例えば、各ＭＡＣ）を暗号化するように構成されている。例えば、一実施形態において、ＨＳＭ１３０は、電子コードブック（Electronic Codebook、ＥＣＢ）モードのＡＥＳを各部分に適用するように構成されている。他の実施形態において、フレームのセットに対して、ＨＳＭ１３０は、複数のフレームからの複数の部分を暗号化するためブロック連鎖を使用するように構成されてもよい。これにより、以下に図４に関して説明するように、後で暗号化された部分は先に暗号化された部分に依存することになる。例えば、一実施形態において、ＨＳＭは、暗号ブロック連鎖（Cipher Block Chaining、ＣＢＣ）モードのＡＥＳを適用して複数部分を共に連鎖する。いくつかの例では、ブロック連鎖を使用することにより、ノード１２０とＨＳＭ１３０の間のリンク１２２上で通信されるトラフィックの量を低減することができる。
【００３１】
様々な実施形態において、ＨＳＭ１３０は、ノード１２０によって通信されるトラフィックに基づいて異なる鍵１３２を使用するように構成される。すなわち、いくつかの実施形態において、各鍵１３２は、それぞれのノード１２０又はノードのセット１２０に関連付けられている。例えば、ノード１２０Ａが、ノード１２０Ｂ及び１２０Ｃと異なるトラフィックを通信する場合、ＨＳＭ１３０Ａは、ノード１２０Ｂとの通信に対応するトラフィックを暗号化するために第１の鍵１３２Ａを使用し、ノード１２０Ｃとの通信に対応するトラフィックを暗号化するために第２の鍵１３２Ａを使用することができる。しかし、ノード１２０Ａが、ノード１２０Ｂ及び１２０Ｃに同一のストリームをマルチキャストしている場合には、同じ鍵１３２Ａを使用してもよい。いくつかの実施形態において、各鍵１３２は、トラフィックの一方向にのみに適用できる。したがって、ＨＳＭ１３０Ａは、ノード１２０Ａによりノード１２０Ｂに送信されているトラフィックのための第１の鍵、及び、ノード１２０Ａによりノード１２０Ｂから受信されているトラフィックのための第２の鍵を使用することができる。所与のあるノード１２０が他の諸ノード１２０と通信する機能を制限するために、様々な実施形態において、そのＨＳＭ１３０は、その意図した通信に適切な鍵１３２のみをプロビジョニングされる。したがって、ノード１２０Ａが、ノード１２０Ｃと通信を行うが１２０Ｄとは通信を行わないと意図している場合、ＨＳＭ１３０Ａは、ノード１２０Ｃ用の鍵１３２Ａは付与されるが、１２０Ｄ用の鍵は付与されない。更に、ノード１２０Ａが、トラフィックをノード１２０Ｃに送信するが、ノード１２０Ｃからトラフィックを受信する意図がない場合、ＨＳＭ１３０Ａは、トラフィックを送信するための鍵１３２Ａを付与されるが、トラフィックを受信するための鍵１３２Ａは付与されない。この方法でＨＳＭ１３０をプロビジョニングすることにより、対応するノード１２０が許可されない方法で通信することを防止することができる。すなわち、上記の例では、ＨＳＭ１３０Ａは、ノード１２０Ｄと通信するための鍵１３２Ａを備えていないため、たとえノード１２０Ａが危険にさらされることになっても、ノード１２０Ａはノード１２０Ｄと通信することはできない。
【００３２】
図解した実施形態において、ＨＳＭ１３０はまた、その鍵１３２の使用を更に制限するポリシー１３４を含む。様々な実施形態において、ＨＳＭ１３０のポリシー１３４は、ＨＳＭ１３０に含まれる鍵１３２のそれぞれの使用基準のセットを定義する。これらの基準は、例えば、特定の鍵１３２Ａがノード１２０Ｂのみとの通信に使用されるように、所与の鍵１３２に対応するノード１２０を指定することができる。いくつかの実施形態において、ノード１２０は、そのネットワークアドレスに基づいて使用基準において識別することができる。様々な実施形態において、これらの基準はまた、所与の鍵１３２に対する許容される暗号機能（すなわち、暗号化又は復号化）を指定し、したがって、トラフィックの方向を限定する。例えば、ポリシー１３４Ａは、鍵１３２Ａ中の特定の鍵がノード１２０Ｂに対応し、暗号化のためのみに使用可能であることを指定することができる。同様に、ポリシー１３４Ｂは、鍵１３２Ｂ中の特定の鍵がノード１２０Ａに対応し、復号化のためのみに使用可能であることを指定することができる。このように、鍵は、暗号化されたトラフィックをノード１２０Ａからノード１２０Ｂに送信するために使用することができるが、ノード１２０Ｂから１２０Ａに送信することはできない。いくつかの実施形態において、所与の鍵に対する特定の基準は、１）その鍵が暗号化に使用されるのか、それとも復号化に使用されるのかの指示、及び、２）１つ以上のノード１２０を識別する指示を含む、タプルとして表現することができる。様々な実施形態において、所与のＨＳＭ１３０は、要求された動作を行う前に、ノード１２０によって要求された暗号動作がそのポリシー１３４に従っていることを確認することができる。ポリシー１３４の使用を図示した例を、図５に関して以下に提示する。
【００３３】
いくつかの実施形態において、ＨＳＭ１３０のプロビジョニングは、ゲートウェイ１４０によって処理される。図７〜図９に関して以下でより詳細に記載するように、ゲートウェイ１４０は、ネットワーク１００内の構成要素の登録、並びにネットワーク１００の外部のエンティティからの鍵１３２及びポリシー１３４の受信を容易にするように構成することができる。いくつかの実施形態において、ゲートウェイ１４０は、このエンティティとのセキュア接続の確立、並びに、鍵１３２及びポリシー１３４の適切なノード１２０への分配を容易にすることができる。様々な実施形態において、プロビジョニングは、以下で詳細に説明するように、ネットワーク１００の最初の組立て中、及びネットワーク１００における構成要素の交換後に実施することができる。
【００３４】
次に図２を参照すると、ＨＳＭ１３０のブロック図が示されている。図解した実施形態において、ＨＳＭ１３０は、ネットワークインタフェース２１０、１つ以上のプロセッサ２２０、読み出し専用メモリ（read only memory、ＲＯＭ）２３０、不揮発性メモリ（non-volatile memory、ＮＶＭ）２４０、暗号加速器２５０、及び相互接続２７０を介して共に結合された鍵ストレージ２６０を備える。ＲＯＭ２３０は、ファームウェア２３２を含む。ＮＶＭ２４０は、ポリシー１３４、公開鍵証明書２４２、及び能力情報２４４を含む。鍵ストレージ２６０は、鍵１３２、プロビジョニング秘密鍵２６２、及び識別鍵２６４を含む。いくつかの実施形態において、ＨＳＭ１３０は、図示したよりも多くの（又は少ない）構成要素を含んでもよい。
【００３５】
一実施形態において、ネットワークインタフェース２１０は、ノード１２０との通信を容易にするように構成されている。これにより、インタフェース２１０は、いくつかの実施形態においてはシリアル周辺インタフェース（serial peripheral interface、ＳＰＩ）バスであるリンク１２２を介して、データの暗号化及び復号化を行う。様々な実施形態において、インタフェース２１０はまた、着信読み取り及び書き込み動作をフィルタリングすることにより、内部構成要素２２０〜２６０を、ノード１２０などの外部エンティティから隔離するように構成されている。いくつかの実施形態において、ＨＳＭ１３０は、わずかな数のコマンドのみをサポートすることにより、限られた攻撃面を提示する。例えば、一実施形態において、ＨＳＭ１３０は、特定の鍵の使用を要求するための第１のコマンド、その鍵１３２での暗号化を要求するための第２のコマンド、その鍵での復号化を要求するための第３のコマンド、及び鍵１３２を更新するための第４のコマンドをサポートする。インタフェース２１０が、ノード１２０から、サポートされたコマンドのうちの１つではないデータを受信すると、インタフェース２１０は、そのデータがＨＳＭ１３０に入ることを防止することができる。
【００３６】
一実施形態において、プロセッサ２２０は、ＨＳＭ１３０に関して本明細書に記載の様々な動作を実施するために、プログラム命令を実行するように構成される。いくつかの実施形態において、プロセッサ２２０は、ＲＯＭ２３０からファームウェア２３２をブートするために、ブート時に特定のアドレス範囲からフェッチするようにハードウェアに組み込まれている。特に、メモリ２３０はＲＯＭ（容易に書き込み可能な他のいくつかのタイプのメモリとは異なる）であるので、ファームウェア２３２は変更が難しく、したがって、改竄されにくい。その結果、ＨＳＭ１３０は、プロセッサ２２０を再起動させるだけで、デフォルトの信頼できる状態に復元することができ、図解した実施形態において、リセット信号２０２をアサートすることによって起動することができる。これにより、プロセッサ２２０は更に、ＨＳＭ１３０の構成要素を隔離する働きをする。
【００３７】
一実施形態において、暗号加速器２５０は、ＨＳＭ１３０用に暗号動作を行うように構成された回路である。暗号加速器２５０は、データ暗号化規格（Data Encryption Standard、ＤＥＳ）、先進暗号化規格（Advanced Encryption Standard、ＡＥＳ）、（Rivest Shamir Adleman、ＲＳＡ）等の任意の適切な暗号化アルゴリズムを実装することができる。いくつかの実施形態において、加速器２５０は更に、楕円曲線暗号（elliptic curve cryptography、ＥＣＣ）を実装することができる。図解した実施形態において、加速器２５０は、鍵ストレージ２６０に格納された鍵を使用するように構成されるが、加速器２５０は、鍵がＨＳＭ１３０の他の構成要素によってアクセスされるのを隔離することができる。すなわち、いくつかの実施形態において、加速器２５０により、鍵１３２がプロセッサ２２０によって更新されることは可能であるが、鍵１３２はプロセッサ２２０によってストレージ２６０から読み取られる可能性はない。更に、鍵１３２のうちの１つを使用する要求を受信したとき、加速器２５０は、要求された動作がポリシー１３４によって許可されていることを確認することができる。様々な実施形態において、加速器２５０は、ＨＳＭ１３０のプロビジョニングにも関与する。これは、プロビジョニング公開鍵２６２を使用して、プロビジョニングサーバから受信した受信鍵１３２を復号化すること、並びに、図７に関して下記で説明するように、サーバ及びゲートウェイ１４０に知られないように鍵１３２を変更することを含むことができる。
【００３８】
いくつかの実施形態において、秘密鍵２６２及びその対応する公開鍵証明書２４２をプロビジョニングすることは、プロビジョニングサーバとのセキュア接続を確立するために使用される。すなわち、ＨＳＭ１３０は、秘密鍵２６２に対応する公開鍵を含む公開鍵証明書２４２を、プロビジョニングサーバに提供することができる。次いで、プロビジョニングサーバは、鍵１３２及びポリシー１３４を、公開鍵を使用して暗号化することができ、次に、加速器２５０は、秘密鍵２６２で暗号化された鍵１３２を復号することができる。他の実施形態において、証明書は、楕円曲線Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ（Elliptic Curve Diffie-Hellman、ＥＣＤＨ）を介して、一時的な鍵を導出するために使用することができる。いくつかの実施形態において、加速器２５０は、ＨＳＭ１３０の初期プロビジョニング中に秘密鍵２６２を含む公開鍵ペアを生成し、図８Ａに関して以下で説明するように、証明書２４２を受信するために、プロビジョニングペアに鍵ペアを登録することができる。いくつかの実施形態において、証明書２４２は、Ｘ．５０９証明書である。いくつかの実施形態において、加速器２５０は、証明書署名要求をプロビジョニングサーバに提出するとき、識別鍵２６４で公開鍵に署名する。様々な実施形態において、識別鍵２６４は、ＨＳＭ１３０には一意であり、プロビジョニングサーバには既知である暗号鍵である。いくつかの実施形態において、識別鍵２６４は、ＨＳＭ１３０の製作中に、ＨＳＭ１３０に格納される。
【００３９】
いくつかの実施形態において、ＨＳＭ１３０はまた、新たな鍵１３２及びポリシー１３４がプロビジョニングされる場合、能力情報２４４を送信する。図８Ｂに関して説明するように、様々な実施形態において、情報２４４は、ＨＳＭ１３０が結合されるノード１２０の１つ以上の能力を特定する。例えば、ノード１２０が、ブレーキモジュールＥＣＵである実施形態において、情報２４４は、ノード１２０をそれ自体として識別することができる。同様に、プロビジョニングサーバは、この情報を使用して、どの鍵１３２及びポリシー１３４をそのＨＳＭ１３０に提供すべきかを判定することができる。いくつかの実施形態において、情報２４４は、プロビジョニングサーバによって署名されてもよい（及び、証明書２４２に含まれるいくつかの実施形態において）。
【００４０】
次に図３を参照すると、セキュア通信３００の通信線図が示されている。セキュア通信３００は、ネットワーク１００を介して通信する２つのノード１２０間のセキュア通信の一例である。ステップ３０２〜３１８は、いくつかの実施形態に示す以外に、並列又は異なる順序で実施できることに留意されたい。
【００４１】
図示のように、通信３００は、ノード１２０Ａが、メッセージＭを暗号化して暗号化されたメッセージＭ'、及び、メッセージＭの完全性を確認し、Ｍがノード１２０Ａからのものであることを認証するのに使用可能な対応するＭＡＣを生成した状態で、３０２から開始することができる。３０４において、ノード１２０Ａは、ＭＡＣを暗号化することを求める要求をＨＳＭ１３０Ａに発行する。様々な実施形態において、ノード１２０Ａはまた、ノード１２０ＢにＭＡＣを送信する意図を示す。３０６において、ＨＳＭ１３０Ａは、要求された動作がそのポリシー１３４によって許可されていることを確認する。動作が許可されている場合、ＨＳＭ１３０は、ポリシー１３４で識別された適切な鍵１３２を選択し、（上記の加速器２５０を介して）ＭＡＣを暗号化して暗号化されたＭＡＣ'を生成し、３０８でノード１２０Ａに返送する。要求された動作が、ＨＳＭ１３０Ａのポリシー１３４によって許可されていない場合、ＨＳＭ１３０Ａは、要求が拒否されたという指示でのみ応じることができる。３１０において、ノード１２０Ａは、Ｍ'及びＭＡＣ'を処理するためノード１２０Ｂに送信する。
【００４２】
３１２において、ノード１２０Ｂは、ＭＡＣ'を復号するためにＨＳＭ１３０Ｂに転送する。様々な実施形態において、ノード１２０Ｂはまた、ノード１２０ＡをＭＡＣ'のソースであると示す。３１４において、ノード１２０Ｂは、Ｍ'の復号を開始してＭを再生する。一方、３１６において、ＨＳＭ１３０Ｂは、要求された復号がそのポリシー１３４によって許可されているか否かを確認する。動作が許可された場合には、ＨＳＭ１３０Ｂは、適切な鍵１３２を選択し、ＭＡＣ'を復号してＭＡＣを再生する。このＭＡＣは、３１８においてノード１２０Ｂに提供される。動作が、ＨＳＭ１３０Ｂのポリシー１３４によって許可されない場合、ＨＳＭ１３０Ｂは、要求は拒否されたと示して応じることができる。３２０において、ノード１２０Ｂは、ＭＡＣに対してＭを確認する。確認に失敗した場合、この失敗は、Ｍが改竄されたこと、及び／又は、Ｍがノード１２０Ａからきたものではないことを意味するとすることができる。
【００４３】
次に図４を参照すると、別のセキュア通信４００の通信線図が示されている。いくつかの実施形態において、上記のように、ノード１２０とそのＨＳＭ１３０間のリンク１２２は、低伝送速度を有してもよい。セキュア通信４００は、複数フレームの送信中に作成される複数のＭＡＣの暗号化を共にチェイニングすることにより、リンク１２２上で通信されるトラフィック量を低減しようと試みる。
【００４４】
図示のように、通信４００は、ノード１２０Ａが、第１のメッセージＭ１を暗号化して、暗号化されたメッセージＭ１'、及び、第１のメッセージ認証コードＭＡＣ１を生成した状態で、４０２から開始する。４０４において、ノード１２０Ａは、ＭＡＣ１がメッセージのストリームの一部としてノード１２０Ｂに送信されていることを示す暗号化要求を発行する。４０６において、ＨＳＭ１３０Ａは、要求された動作がそのポリシー１３４によって許可されているかどうかを確認し、許可されていれば、適切な鍵１３２でＭＡＣ１の暗号化を進め、ＭＡＣ１'を生成する。特に、ＨＳＭ１３０Ａは、ＭＡＣ１'をノード１２０Ａに提供しない。むしろ、ＨＳＭ１３０Ａは、後に４１６で使用するためにＭＡＣ１'を格納するだけである。４０８において、ノード１２０Ａは、Ｍ１'及び暗号化されていないＭＡＣ１をノード１２０Ｂに送信し、ノード１２０Ｂは、ＭＡＣ１を格納するためにＨＳＭ１３０Ｂに転送する。４１０において、ノード１２０ＢはＭ１'を復号し、ＭＡＣ１に対してそれを確認する。４１２において、ＨＳＭ１３０Ｂはまた、連鎖したＭＡＣＮの最後の復号が許可されていることを確認し、そうであれば、ＭＡＣ１を暗号化する。このＭＡＣ１は、以下に説明する４２６においてＭＡＣＮを復号するために使用される。
【００４５】
４１４において、ノード１２０Ａは、第２のメッセージＭ２を暗号化し、Ｍ２'及びＭＡＣ２を生成する。このＭＡＣ２は、４１６において暗号化するためにＨＳＭ１３０Ａに提供される。４１８において、ＨＳＭ１３０Ａは、暗号化が許可されていることを確認し、許可されている場合には、暗号ブロック連鎖を用いて、暗号化されたＭＡＣ１'を暗号化機能への入力として使用してＭＡＣ２を暗号化する。これにより、暗号化されたＭＡＣ２'はいまや、ＭＡＣ２の内容だけでなくＭＡＣ１の内容にも依存する。更に、ＭＡＣ２'は、ノード１２０Ａに通信せず、むしろ、メッセージストリームに関連付けられた後続のＭＡＣの暗号化動作に使用するために格納される。暗号化されたＭＡＣをノード１２０Ａに通信し返さないことにより、ＨＳＭ１３０Ａは、リンク１２２上で通信されるトラフィック量を減らすことができる。４２０において、ノード１２０Ａは、Ｍ２'及び暗号化されていないＭＡＣ２をノード１２０Ｂに通信し、ノード１２０Ｂは、ＭＡＣ２を格納するためにＨＳＭ１３０Ｂに転送する。
【００４６】
ノード１２０Ａは、暗号化されたメッセージ及びＭＡＣを、メッセージストリームの最後のメッセージＭＮに達するまで送信し続けることができる。４２２において、ノード１２０Ａは、暗号化されたＭＮ'を通信するが、ＭＡＣＮは送信しない。代わりに、４２４において、ＨＳＭ１３０Ａは、ＭＡＣＮだけでなく先行するすべてのＭＡＣに依存する連鎖ＭＡＣＮ'を送信する。すなわち、ＭＡＣＮ'は、暗号化されたＭＡＣＮ−１'を入力として使用して暗号化され、ＭＡＣＮ−１'はＭＡＣＮ−２'を使用して暗号化されてきた、等々である。４２６において、ＨＳＭ１３０Ｂは、ＭＡＣＮ'を復号化することはそのポリシー１３４に従っていることを確認し、従っていれば、ＭＡＣＮ'を以前に格納したＭＡＣ（すなわち、ＭＡＣ１−ＭＡＣＮ−１）を使用して復号化を試みる。ノード１２０Ａが、ＨＳＭ１３０Ａに提供されたことがないＭＡＣを挿入（又は、ＨＳＭ１３０Ａに提供されたものの１つを変更）しようとした場合、ＨＳＭ１３０Ｂは、ＭＡＣＮ'を正しく復号化することができず、４３０において確認は失敗することになる。復号が成功した場合、復号された連鎖ＭＡＣは、４３０において復号されたＭＮに対して確認するために、４２８においてノード１２０Ｂに提供される。
【００４７】
他の実施形態において、セキュア通信４００は、図４に示すように、４３０においてノード１２０Ａから受信された復号されたＭＡＣＮに対してＭＮを確認するノード１２０Ｂを含んでいなくてもよいことに留意されたい。むしろ、４２２において、ＭＡＣＮは、ノード１２０Ａによってノード１２０Ｂに送信されてもよい。４２６において、ＨＳＭ１３０Ｂは、暗号化されたＭＡＣＮ'を以前に受信されたＭＡＣから再計算し、この暗号化されたＭＡＣＮ'をＨＳＭ１３０Ａから受信されたＭＡＣＮ'と比較しようとするだけでもよい。この２つの暗号化されたＭＡＣが一致しない場合、ＨＳＭ１３０Ｂは、ノード１２０Ｂにエラーを知らせ、４３０において確認を失敗させることができる。
【００４８】
次に図５を参照すると、ポリシー使用５００の一例が示されている。この例では、ＨＳＭ１３０Ａ、１３０Ｂ、及び１３０Ｃは、トラフィック５０２Ａ及び５０２Ｂの２つのストリームを可能にするために、それぞれのポリシー１３４Ａ、１３４Ｂ、及び１３４Ｃをプロビジョニングされている。
【００４９】
図示のように、トラフィック５０２Ａは、ノード１２０Ａからノード１２０Ｂ及び１２０Ｃにマルチキャストされており、Ｋ１として示される鍵１３２で暗号化されたＭＡＣを含む。これにより、ノード１２０Ａはトラフィック５０２Ａのソースであるので、そのＨＳＭ１３０Ａは、ノード１２０Ｂ及び１２０Ｃがそのトラフィックの宛先のとき、暗号化がＫ１により許可されていることを示すＫ１及びポリシー１３４Ａをプロビジョニングされる。いくつかの実施形態において、説明のため「Ｋ１：１２０Ｂ＆Ｃに対する暗号化ＭＡＣ」として表現されているが、ポリシー１３４Ａは、この基準をタプル（暗号化、「ノード１２０Ｂのネットワークアドレス、ノード１２０Ｃのネットワークアドレス」）として表現してもよい。ノード１２０Ｂ及び１２０Ｃは、トラフィック５０２Ａの宛先であるので、ＨＳＭ１３０Ｂ及び１３０Ｃは、ノード１２０Ａがソースのとき、復号化がＫ１によって許可されることを示すＫ１並びにポリシー１３４Ｂ及び１３４Ｃをプロビジョニングされる。特に、ノード１２０Ｂ及び１２０Ｃは、この例では、Ｋ１を使用してトラフィックをノード１２０Ａ又は別のトラフィックへ送信することは、それらのそれぞれのポリシー１３４によって恐らく許可されないので許されないであろう。したがって、ノード１２０Ｃが危険にさらされるようになり、またそうしようとするとき、ノード１２０Ｃは、ＨＳＭ１３０Ａ及び１３０Ｂ並びにそれらのポリシー１３４によって、そうすることを制限されるであろう。
【００５０】
図５の例を続けると、トラフィック５０２Ｂは、ノード１２０Ｂからノード１２０Ｃへ通信され、別の鍵１３２Ｋ２で暗号化されたＭＡＣを含む。図示のように、ポリシー１３４Ｂは、宛先がノード１２０Ｃの場合、ＨＳＭ１３０Ｂは、Ｋ２での暗号化を行うことを許可されていることを示す。ポリシー１３４Ｃはまた、ソースがノード１２０Ｂの場合、ＨＳＭ１３０Ｃは、Ｋ２で復号化を行うことを許可されていることを示す。特に、この例では、ＨＳＭ１３０Ａは、ノード１２０Ａがトラフィック５０２Ｂを通信することを意図していないので、Ｋ２をプロビジョニングされない（及び、そのポリシー１３４Ａは、Ｋ２に関するいかなる許可された使用を指定しない）。
【００５１】
次に図６Ａを参照すると、ネットワーク上でトラフィックを通信する方法６００の流れ図が示されている。方法６００は、ＨＳＭ１３０などのセキュア回路によって行うことができる方法の一実施形態である。いくつかの例では、方法６００を実施することにより、よりセキュアなネットワーク通信を可能にすることができる。いくつかの実施形態において、ステップ６１０〜６４０は、並列又は図示とは異なる順序で行ってもよい。
【００５２】
ステップ６１０において、セキュア回路は、ネットワーク（例えば、セキュアネットワーク１００）上で複数のデバイス（例えば、ノード１２０）間のデータ通信を暗号化するために使用可能な複数の暗号鍵（例えば、鍵１３２）を格納する。いくつかの実施形態において、セキュア回路は、複数のデバイスのうちの第１のデバイス（例えば、ノード１２０Ａに結合されたＨＳＭ１３０Ａ）に結合される。いくつかの実施形態において、暗号鍵は、広域ネットワーク上の通信を容易にし、広域ネットワーク上のエンティティから置換鍵のセットを受信し、その置換鍵のいくつかを複数のデバイスに分配するように構成されたゲートウェイ（例えば、ゲートウェイ１４０）から受信される。
【００５３】
ステップ６２０において、セキュア回路は、複数の暗号化された鍵についての使用基準（例えば、ポリシー１３４）のセットを定義する情報を格納する。使用基準のセットは、複数の鍵のうちの第１の鍵（例えば、図４に示す鍵Ｋ２を参照するポリシー１３４Ｂ）は、複数のデバイスのうちの第１のデバイス（例えば、ノード１２０Ｂ）から複数のデバイスのうちの第２のデバイス（例えば、ノード１２０Ｃ）に通信されているデータを専ら暗号化することを指定する。いくつかの実施形態において、格納された情報は、各タプルが、１）鍵が暗号化又は復号化専用であるかどうかの指示を含み、２）その鍵と関連付けられた複数のデバイスのうちの１つ以上のデバイスを識別するように、複数の鍵のそれぞれにタプルを特定する。いくつかの実施形態において、使用基準のセットは、第１の鍵が、第１のデバイスと第２のデバイスとの間で、一方向のデータ通信の暗号化専用であり、他方向には行わないことを示す。
【００５４】
ステップ６３０において、セキュア回路は、メッセージ（例えば、ＭＡＣ）の一部を第１の鍵で暗号化する要求を受信する。いくつかの実施形態において、その要求は、メッセージが第１のデバイスから第２のデバイスへ送信されていることを示す。
【００５５】
ステップ６４０において、セキュア回路は、使用基準のセットにより、第１のデバイスから第２のデバイスに送信されているメッセージに対する第１の鍵での暗号化が許可されるとの判定に応じて、メッセージの一部を第１の鍵で暗号化する。いくつかの実施形態において、暗号化された部分が、メッセージが第１のデバイスによって送信されるということを確立するために使用可能であるように、セキュア回路は、メッセージの一部を暗号化するように構成されている。
【００５６】
次に図６Ｂを参照すると、ネットワーク上のトラフィックを通信するための別の方法６５０の流れ図が示されている。方法６５０は、１つ以上のＥＣＵ（いくつかの実施形態において、ノード１２０など）、及び１つ以上のセキュア回路（ＨＳＭ１３０など）を含む装置によって実行可能な方法の一実施形態である。いくつかの例では、方法６５０を実施することにより、よりセキュアなネットワーク通信が可能になる。
【００５７】
ステップ６６０において、第１の電子制御ユニット（ＥＣＵ）は、第１のＥＣＵから第２のＥＣＵに送信されるデータフレーム用のメッセージ認証コード（ＭＡＣ）を生成する。
【００５８】
ステップ６７０において、第１のＥＣＵに結合された第１のセキュア回路は、第１の暗号鍵（例えば鍵１３２）でＭＡＣを暗号化する。いくつかの実施形態において、第１のＥＣＵは第１のセキュア回路に、第２のＥＣＵがデータフレームの宛先であることを示し、ステップ６７０は、データフレームの識別された宛先に基づいて、第１の暗号鍵でＭＡＣの暗号化が可能かどうかを判定する第１のセキュア回路を含む。いくつかの実施形態において、第１のセキュア回路は、第１の暗号鍵を含む複数の暗号鍵を格納し、複数の暗号鍵のそれぞれの鍵に対して、それぞれの用途及び関連ＥＣＵのそれぞれのセットを指定するポリシー（例えば、ポリシー１３４）を格納する。このような実施形態において、ポリシーは、第１の暗号鍵が、暗号化に使用され、第２のＥＣＵを含むＥＣＵのセットに関連付けられることを指定する。こうした実施形態において、第１のセキュア回路は、格納されたポリシーに基づいて、ＭＡＣに第１の暗号鍵で署名するかどうかを判定する。いくつかの実施形態において、第１のセキュア回路は、無線ネットワークインタフェースを介してそこから鍵のセットを受信し、その鍵のセットをセキュア回路に分配するように構成されたネットワークゲートウェイから第１の暗号鍵を受信する。
【００５９】
ステップ６８０において、第１のＥＣＵは、データフレームに含まれる暗号化されたＭＡＣでデータフレームを送信する。様々な実施形態において、第２のＥＣＵに結合された第２のセキュア回路は、データフレームに含まれる暗号化されたＭＡＣを復号し、第２のＥＣＵは、復号されたＭＡＣを使用してデータフレームの完全性を確認する。いくつかの実施形態において、第１のセキュア回路は、第１の相互接続（例えば、リンク１２２）を介して第１のＥＣＵに結合され、第１のＥＣＵは、第１の相互接続とは異なる第２の相互接続（例えば、リンク１１２）を介してデータフレームを第２のＥＣＵに送信する。
【００６０】
次に図７を参照すると、プロビジョニングシステム７００のブロック図が示されている。様々な実施形態において、プロビジョニングシステム７００は、ＨＳＭ１３０に鍵１３２及びポリシー１３４をプロビジョニングすることを含む、ネットワーク１００のネットワーク構成要素をプロビジョニングするために使用可能である。図解した実施形態において、システム７００は、ファクトリプロビジョニングサーバ７１０Ａ、インフィールドプロビジョニングサーバ７１０Ｂ、及びゲートウェイ１４０を備える。いくつかの実施形態において、システム７００は、図示したものとは異なって実装されてもよい。例えば、単一のプロビジョニングサーバ７１０を使用してもよい。サーバ７１０に関して以下に説明する機能は、鍵ブロブ７２０のプロビジョニングを扱うサーバ以外のサーバによって実施されてもよい。
【００６１】
図解した実施形態において、ファクトリプロビジョニングサーバ７１０Ａは、ネットワーク１００が組み立てられているときに、最初にネットワーク１００をプロビジョニングするように構成されたサーバである。様々な実施形態において、サーバ７１０Ａは、以下で図８Ａに関して説明するように秘密鍵２６２の登録、図８Ｂに関して説明するようにＨＳＭ１３０への役割の割り当て、ノード１２０へのファームウェア更新の提供、鍵１３２及びポリシー１３４の提供、並びに、ＨＳＭ１３０へのいずれかの鍵の無効の通知を行う。いくつかの実施形態において、サーバ７１０Ａは、組立て中にネットワーク１００と並べて配置することが可能なので、有線接続７１２Ａを介してネットワーク１００に結合される。例えば、ネットワーク１００及びサーバ７１０Ａは、同じ工場内に配置することができる。したがって、ファクトリプロビジョニングサーバ７１０Ａによって実施される１つ以上の動作は、セキュリティ上の配慮から、インフィールドプロビジョニングサーバ７１０Ｂによって繰り返されてもよい。すなわち、サーバ７１０Ａ及びネットワーク１００が並べて配置されるため、双方にアクセス権を有する悪意のある者は、鍵１３２へのアクセス権を得る上で有利である。その結果、サーバ７１０Ａにより発行される鍵１３２及びポリシー１３４は、短い期間、例えば２４時間だけ有効となる。
【００６２】
図解した実施形態において、インフィールドプロビジョニングサーバ７１０Ｂは、任意の以降のネットワーク１００のプロビジョニングを実施するように構成されている。いくつかの実施形態において、サーバ７１０Ｂは、上記のサーバ７１０Ａによって実施される同じ動作のうちの１つ以上を実施する。しかし、様々な実施形態において、サーバ７１０Ｂは、ネットワーク１００とは並べて配置されてはおらず、インターネットなどの広域ネットワーク（wide area network、ＷＡＮ）に関連付けられた無線接続７１２Ｂを介してネットワーク１００に結合することができる。したがって、サーバ７１０Ｂによって行われるプロビジョニングは、サーバ７１０Ａによって行われるプロビジョニングよりも安全である。これにより、サーバ７１０Ｂが発行する鍵１３２及びポリシー１３４は、サーバ７１０Ａが発行するものよりも長い期間有効となる。
【００６３】
様々な実施形態において、ゲートウェイ１４０は、サーバ７１０とセキュア通信を確立することにより、ネットワーク１００のプロビジョニングを容易にするように構成されている。いくつかの実施形態において、ゲートウェイ１４０は、ＨＳＭ１３０への鍵１３２及びポリシー１３４の分配も実施する。図解した実施形態において、鍵１３２及びポリシー１３４は、鍵ブロブ７２０内に実装され、これは複数の部分７２２に分割され、それぞれが図示のようにＨＳＭ１３０のそれぞれのものと関連付けられている。例えば、部分７２２Ａは、ＨＳＭ１３０Ａの鍵１３２Ａ及びポリシー１３４Ａを含む。部分７２２Ｂは、鍵１３２Ｂ及びポリシー１３４Ｂを含む。このような実施形態において、ゲートウェイ１４０は、サーバ７１０から受信したブロブ７２０の暗号化バージョンを復号し、各ＨＳＭ１３０に対する各部分７２２の対応付けを判定し、そのそれぞれのＨＳＭ１３０に対して各部分７２２を適切にルーティングすることができる。いくつかの実施形態において、ネットワーク１００が最初に組み立てられるとき、新しいノード１２０がネットワーク１００に追加されたとき、ノード１２０のファームウェア更新が行われたときに、鍵ブロブ７２０を受信することができる。
【００６４】
危険にさらされたゲートウェイ１４０が、鍵１３２及びポリシー１３４へのアクセス権を入手するのを防止するために、いくつかの実施形態において、複数の技術を使用することができる。まず、鍵ブロブを暗号化することはできるが、各ＨＳＭ１３０が保持している鍵については、各部分７２２を更に暗号化してもよい。いくつかの実施形態において、各部分７２２（例えば、部分７２２Ａ）は、証明書２４２で指定された公開鍵を使用して暗号化され、秘密鍵２６２（例えば、秘密鍵２６２Ａ）で復号可能である。他の実施形態において、各部分７２２は、サーバ７１０の証明書及び秘密鍵、並びに、ＨＳＭ１３０の証明書２４２及び楕円曲線Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ（ＥＣＤＨ）を介した秘密鍵２６２から導出された一時的な鍵を用いて、暗号化及び復号化される。次に、いくつかの実施形態において、各ＨＳＭ１３０は、鍵を新しい値に適合させるために、変更機能を鍵１３２に適用する。これにより、ゲートウェイ１４０がたとえ鍵１３２を見ることができたとしても、この鍵１３２は、この鍵を保持するＨＳＭ１３０によって後で変更される。特に、変更された鍵１３２は、最初に鍵を提供したサーバ７１０に対しても未知である。これにより、ある悪意ある者が、サーバ７１０において鍵１３２へのアクセス権を入手したとしても、この鍵１３２は、その後変更され、その悪意ある者には知られないのである。
【００６５】
次に図８Ａを参照すると鍵登録８００の通信線図が示されている。鍵登録８００は、ＨＳＭ１３０とプロビジョニングサーバ７１０（又は、鍵登録を扱う他のサーバ）との間で暗号化データの通信に使用可能な公開鍵ペアを登録する通信の一実施形態である。様々な実施形態において、鍵登録８００は、ノード１２０が製造されるとき、ネットワーク１００が組み立てられるとき、又は新しいノード１２０がネットワーク１００に追加されるときに実施される。
【００６６】
図示のように、鍵登録８００は、ＨＳＭ１３０が、プロビジョニング秘密鍵２６２を含む公開鍵ペアを生成した状態で、８０２において開始する。８０４において、ＨＳＭ１３０は、公開鍵証明書２４２に対する証明書署名要求（certificate signing request、ＣＳＲ）を送信する。図解した実施形態において、要求は、ペアの公開鍵、及び、識別鍵２６４が関数の鍵として使用される公開鍵にキー入力された機能を適用して計算されるメッセージ認証コードを含む。いくつかの実施形態において、要求は、能力情報２４４などのより多くの（又は、より少ない）コンテンツを含むことができる。いくつかの実施形態において、要求は、公開鍵暗号規格（public-key cryptographic standards、ＰＫＣＳ）１０などの規格に準拠している。８０６において、プロビジョニングサーバ７１０は、ＭＡＣを確認することを含む要求は識別鍵２６４によって計算されることを確認する。確認が成功した場合に、サーバ７１０は、公開鍵を含む証明書２４２に署名し、公開鍵の有効性を証明する。（したがって、様々な実施形態において、サーバ７１０は、認証局（certificate authority、ＣＡ）を実装するように構成されている。）８０８において、サーバ７１０は、署名済み証明書２４２をＨＳＭ１３０に送信し、ＨＳＭ１３０は後に、サーバ７１０から暗号化データを受信するために、証明書２４２をサーバ７１０に提示することができる。
【００６７】
次に図８Ｂを参照すると、役割割当８５０の通信線図が示されている。役割割当８５０は、どちらの鍵１３２及びポリシー１３４をＨＳＭ１３０に提供すべきかを、次に判定することができないＨＳＭ１３０に役割を割り当てる通信の一実施形態である。いくつかの実施形態において、役割割当８５０は、新しいノード１２０が製造時に作成されるとき、ネットワーク１００の組立て中、又は組立て後に実施されてもよい。
【００６８】
図示のように、役割割当８５０は、ＨＳＭ１３０及びプロビジョニングサーバ７１０（又は役割割当に係るいくつかの他のサーバ）が、セキュア接続を確立した状態で、８５２で開始する。いくつかの実施形態において、この接続は、ＥＤＣＨを介して識別鍵２４６を使用して確立されてもよい。８５４において、ＨＳＭ１３０は、プロビジョニングサーバ７１０に能力情報２４４を送信する。上記のように、能力情報２４４は、ＨＳＭ１３０に結合されたノード１２０の様々な機能を識別することができる。いくつかの実施形態において、この情報２４４は、ノード１２０の製造者によって提供されてもよい。８５６において、プロビジョニングサーバ７１０は、能力情報２４４を検討して、ノード１２０に役割を割り当てる。例えば、ノード１２０がヘッドライト又はテールライトで動作可能であれば、サーバ７１０は、ノード１２０にヘッドライトの役割を割り当てることができる。図示のように、サーバ７１０は、割り当てられた役割を指定するデータからデジタル署名を生成することができる。８５８において、サーバ７１０は、署名された能力情報２４４をＨＳＭ１３０に返信する。ＨＳＭ１３０は後に、適切な鍵１３２及びポリシー１３４を受信するために署名された情報を提供する。いくつかの実施形態において、サーバ７１０はまた、能力情報２４４のコピーを格納することができる。
【００６９】
特に、能力情報２４４に署名する際に、サーバ７１０は、悪意のあるエンティティが、ノード１２０に割り当てられた役割を変更することを防止する。サーバ７１０はまた、偽のデバイスが使用されることを防止する。すなわち、いくつかの実施形態において、ＨＳＭ１３０が署名された能力情報２４４を欠いている場合、鍵１３２及びポリシー１３４をプロビジョニングされることができず、したがって、他のノード１２０と通信することができない。更に、偽のデバイスは、いくつかの実施形態において、プロビジョニングサーバ７１０とのセキュア接続を確立するための前提条件である識別鍵２４６を欠く場合もある。
【００７０】
次に図９を参照すると、診断モード９００の流れ図が示されている。いくつかの実施形態において、ゲートウェイ１４０は、ゲートウェイ１４０が、ネットワーク１００についての様々な情報を提供し、ユーザが、実行可能なネットワーク１００のプロビジョニングを含む様々な動作を選択できるようにする診断モード９００を支持するように構成される。したがって、いくつかの実施形態において、診断モード９００は、ネットワークの組立て、ノード１２０及び／又はＨＳＭ１３０内のファームウェアの更新、並びにネットワーク１００内のノード１２０の交換時に呼び出すことができる。図９は、診断モード９００を入力するように命令されたときに、ゲートウェイ１４０及び／又はプロビジョニングサーバ７１０によって実行することができるステップの順序を示す。
【００７１】
図示のように、ネットワーク１００に挿入された任意のノード１２０が検出されたことで、ステップ９１０で診断モード９００のステップが開始される。ノード１２０の検出に応じて、ゲートウェイ１４０は、ステップ９２０において、そのＨＳＭ１３０から公開鍵証明書２４２を収集する。いくつかの例では、ゲートウェイ１４０は、ＨＳＭ１３０が、証明書２４２を有していない、又は無効な証明書を有していることを判定できる。そのような場合、ゲートウェイ１４０は、上で図８Ａに関して説明したように鍵登録を行うようにＨＳＭ１３０に命令することができる。いくつかの実施形態において、ゲートウェイ１４０が、ノード１２０又はＨＳＭ１３０と通信することが困難な場合、ゲートウェイ１４０は、通信エラーを識別することができる。ステップ９３０において、ゲートウェイ１４０は、収集された証明書２４２をプロビジョニングサーバ７１０に送信する。
【００７２】
ステップ９４０において、プロビジョニングサーバ７１０は、ネットワーク１００に接続されたノード１２０との間で、何らかの問題が存在するかどうかを判定するために不正チェックを行う。（他の実施形態において、ステップ９４０の一部又は全部が、ゲートウェイ１４０によって実行されてもよい。）図示のように、このチェックは、いくつかの実施形態において、図９に示すよりも多い（又は少ない）ステップを含むことができるステップ９４２〜９４６の実行を含むことができる。ステップ９４２において、送られてきた証明書２４２が完全なシステムであるかどうかを判定する。例えば、ノード１２０がＥＣＵであるいくつかの実施形態において、ステップ９４２は、証明書２４２に基づいて、乗物用の完全なＥＣＵのセットが存在するかどうかを判定することを含むことができる。いくつかの実施形態において、ステップ９４２は、上記のように証明書２４２に含まれる検査能力情報２４４を含むことができる。証明書２４２が見つからない場合、ネットワーク１００に存在しない１つ以上のノード１２０、又はネットワーク１００に挿入された偽のノード１２０に起因している可能性がある。ステップ９４４において、送信された証明書２４２が同一システムに属するかどうか判定がなされる。２つの異なるシステムのための証明書２４２が受信された場合、誰かが１つのシステムからノード１２０を取り出して、潜在的なセキュリティ問題を示す別のノード１２０と組み合わせようとしている場合がある。ステップ９４６において、任意の証明書が盗難システムに関連付けられているかどうか別の判定がなされる。いくつかの実施形態において、システムが盗難されたとして報告された場合、プロビジョニングサーバ７１０Ｂは、その証明書２４２をブラックリストに追加し、ブラックリスト上の証明書を有するＨＳＭ１３０を含むいかなるネットワーク１００のプロビジョニングを拒否することができる。プロビジョニングサーバ７１０はまた、ＨＳＭ１３０に命令して、ブラックリストに載せられた証明書２４２を有するＨＳＭ１３０との通信に使用されるいかなる鍵１３２も無効化させることができる。そうすることにより、サーバ７１０は、ネットワーク１００上の通信を防止することができ、ネットワーク１００を含むシステムを有効に煉瓦で囲うことができる。
【００７３】
不正チェックが失敗した場合、ゲートウェイ１４０は、プロビジョニングサーバ７１０からなぜチェックが失敗したかを明らかにする情報を受信し、診断モード９００を開始したユーザにその情報を提供する。しかし、不正チェックが首尾よく完了した場合、ゲートウェイ１４０は、上で図７に関して説明したように、ステップ９５０において鍵ブロブ７２０を受信し、分配することができる。
【００７４】
次に図１０Ａを参照すると、ネットワークの１つ以上のノードをプロビジョニングするための方法１０００の流れ図が示されている。方法１０００は、ゲートウェイ１４０などのコンピューティングデバイスによって実行することができる方法の一実施形態である。いくつかの例では、方法１０００を実行することにより、よりセキュアなネットワーク通信を可能にすることができる。
【００７５】
ステップ１０１０において、コンピューティングデバイスは、複数のＥＣＵのうちの１つが交換されたという指示を受信する。様々な実施形態において、複数の電子制御ユニット（ＥＣＵ）は、乗物の動作を制御し、この動作制御は、鍵のセット（例えば、鍵１３２）を使用して暗号化された、ＥＣＵ間の通信データ（例えば、ＭＡＣ）を含む。
【００７６】
ステップ１０１５において、コンピューティングデバイスは、指示に応じて、鍵のセットを交換するために、広域ネットワーク（ＷＡＮ）上のエンティティ（例えば、プロビジョニングサーバ７１０）に要求を発行する。
【００７７】
ステップ１０２０において、コンピューティングデバイスは、ＷＡＮ上のエンティティから置換鍵のセット（例えば、鍵ブロブ７２０）を受信する。いくつかの実施形態において、ステップ１０２０はまた、セット内の置換鍵に対する使用を定義するポリシー情報（例えば、ポリシー１３４）を受信することを含む。こうした実施形態において、ポリシー情報は、セット内の第１の鍵に対して、１）第１の鍵で暗号化されたデータを送信することを許可されている複数のＥＣＵのうちの１つ、２）第１の鍵で暗号化されたデータを受信することを許可されている複数のＥＣＵのうちの１つ以上を識別する。いくつかの実施形態において、ステップ１０２０はまた、置換鍵のうちの１つ以上が無効化されたという指示を受信することを含む。
【００７８】
ステップ１０２５において、コンピュータデバイスは、複数のＥＣＵに置換鍵のセットを分配する。いくつかの実施形態において、複数のＥＣＵのうちの第１のＥＣＵ（例えば、ノード１２０Ａに結合されたＨＳＭ１３０Ａ）に結合された第１のセキュア回路は、第１のＥＣＵに分配された置換鍵を受信し、第１のＥＣＵからの置換鍵でデータを暗号化する要求にサービスを提供する。いくつかの実施形態において、第１のＥＣＵからの要求にサービスを提供する前に、セキュア回路は、置換鍵をゲートウェイに知られないようにさせる方法で置換鍵を変更する。いくつかの実施形態において、ステップ１０２５はまた、ステップ１０２０において、置換鍵のセットによって受信されたポリシー情報を分配することを含む。いくつかの実施形態において、ステップ１０２５はまた、ステップ１０２０において、無効にされていると示された１つ以上の置換鍵の使用を中止するように複数のＥＣＵに通知することを含む。
【００７９】
次に図１０Ｂを参照すると、許可されていないノードを検出するための第１の方法１０３０の流れ図が示されている。いくつかの実施形態において、方法１０３０は、ネットワーク１００に挿入された潜在的に偽のノード１２０を識別するために、診断モード中にゲートウェイ１４０又は暫定サーバ７１０によって実行することができる。
【００８０】
方法１０３０は、ステップ１０４０において、ネットワーク（例えば、ネットワーク１００）に結合された複数のノード（例えば、ノード１２０）を検出するコンピュータシステムを開始する。いくつかの実施形態において、複数のノードは、乗物の動作を制御するように構成された電子制御ユニット（ＥＣＵ）を含む。ステップ１０４５において、コンピュータシステムは、複数のノードのうちの１つがノードの正当性を証明する証明書（例えば証明書２４２）を提供するよう求める要求を発行する。いくつかの実施形態において、方法１０３０は、認証局（ＣＡ）（例えば、鍵登録８００を介して）からの証明書を受信し、ノード用の証明書を格納するように構成されたセキュア回路（例えば、ＨＳＭ１３０）から、複数のノードのうちの１つに関連付けられた証明書を受信するコンピュータシステムを含む。ステップ１０５０において、コンピュータシステムは、要求に応答して証明書を提供するのに失敗したノードのうちの１つ以上を識別する。いくつかの実施形態において、この識別は、１つ以上のノードは、ネットワークと共に使用することを許可されていないことを示すことを含む。
【００８１】
次に図１０Ｃを参照すると、許可されていないノードを検出するための第２の方法１０６０の流れ図が示されている。いくつかの実施形態において、方法１０６０は、１つのネットワーク１００から除去され、別のネットワーク１００に挿入されたノード１２０（例えば、潜在的に盗難された乗物から除去され、別の乗物に挿入されたＥＣＵ）を識別するために、診断モード中に暫定サーバ７１０又はゲートウェイ１４０によって実行することができる。
【００８２】
方法１０６０は、コンピュータシステムが、第１のネットワーク（例えば、ネットワーク１００）に結合された複数のノード（例えば、ノード１２０）から証明書（例えば、証明書２４２）を受信した状態で、ステップ１０７０で開始する。ステップ１０７５において、コンピュータシステムは、証明書が第１のネットワークに関連付けられているかどうかを判定するために、その証明書を分析する。いくつかの実施形態において、方法１０６０は、複数のノードのうちの第１のノードに証明書を発行する要求を受信するコンピュータシステムを含み、その要求は、第１のノードを第１のネットワークに関連付けられているものとして識別する。コンピュータシステムは、証明書を第１のノードに発行し、第１のネットワークに関連付けられた証明書のリスト中のその証明書の指示を格納する。このような実施形態において、ステップ１０７５は、リストの分析を更に含む。いくつかの実施形態において、方法１０６０は、複数のノードのうちの第１のノードに証明書を発行する要求を受信するコンピュータシステムを含み、その要求は、第１のノードを第１のネットワークに関連付けられているものとして識別する。コンピュータシステムは、第１のノードが第１のネットワークに関連付けられていることを指定する指示を証明書が含むように、証明書を第１のノードに発行する。このような実施形態において、ステップ１０７５は、証明書に含まれる指示を分析することを含む。ステップ１０８０において、コンピュータシステムは、分析に基づいて、複数のノードのうちの１つを第２のネットワークに関連付けられているものとして識別する。
例示的なコンピュータシステム
【００８３】
次に図１１を参照すると、例示的なコンピュータシステム１１００のブロック図が示されている。コンピュータシステム１１００は、１つ以上のノード１２０、ゲートウェイ１４０、サーバ７１０等を実装するために使用可能なコンピュータシステムの一実施形態である。図解した実施形態において、コンピュータシステム１１００は、相互接続１１８０（例えば、システムバス）を介してシステムメモリ１１４０及びＩ／Ｏインタフェース１１６０に結合されるプロセッササブシステム１１２０を備える。Ｉ／Ｏインタフェース１１６０は、１つ以上のＩ／Ｏデバイス１１７０に結合される。コンピュータシステム１１００は、これだけには限らないが、サーバシステム、パーソナルコンピュータシステム、ネットワークコンピュータ、組み込みシステム等を含む、様々な任意のタイプのデバイスであってもよい。便宜上、単一のコンピュータシステム１１００が図１１に示されているが、システム１１００は、共に動作する２つ以上のコンピュータシステムとして実装されてもよい。
【００８４】
プロセッササブシステム１１２０は、１つ以上のプロセッサ又は処理ユニットを含んでもよい。コンピュータシステム１１００の様々な実施形態において、プロセッササブシステム１１２０の複数のインスタンスは相互接続１１８０に結合されてもよい。様々な実施形態において、プロセッササブシステム１１２０（又は１１２０内の各プロセッサユニット）は、キャッシュ又は他の形態のオンボードメモリを含むことができる。
【００８５】
システムメモリ１１４０は、システム１１００に本明細書で記述された様々な動作を実行させるために、プロセッササブシステム１１２０によって実行可能なプログラム命令を格納することができる。システムメモリ１１４０は、ハードディスク記憶デバイス、フロッピーディスク記憶デバイス、リムーバブルディスク記憶デバイス、フラッシュメモリ、ランダムアクセスメモリ（ＲＡＭ−ＳＲＡＭ、ＥＤＯ  ＲＡＭ、ＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ、ＲＡＭＢＵＳ  ＲＡＭなど）、読み出し専用メモリ（ＰＲＯＭ、ＥＥＰＲＯＭなど）等といった、様々な物理的な、非一時的記憶媒体を使用して実装することができる。コンピュータシステム１１００のメモリは、メモリ１１４０などの一次記憶デバイスに限定されない。むしろ、コンピュータシステム１１００はまた、プロセッササブシステム１１２０内のキャッシュメモリ、及びＩ／Ｏデバイス１１７０（例えば、ハードドライブ、ストレージアレイなど）上の二次記憶デバイスといった他の形態の記憶デバイスを含むことができる。いくつかの実施形態において、これらの他の形態の記憶デバイスもまた、プロセッササブシステム１１２０によって実行可能なプログラム命令を格納し、本明細書に記載された動作を実行する。
【００８６】
Ｉ／Ｏインタフェース１１６０は、様々な実施形態に従って、他のデバイスに結合、及び通信するように構成された、様々な任意のタイプのインタフェースであってよい。一実施形態において、Ｉ／Ｏインタフェース１１６０は、前面側から１つ以上の背面側バスへのブリッジチップ（例えば、サウスブリッジ）である。Ｉ／Ｏインタフェース１１６０は、１つ以上の対応するバス又は他のインタフェースを介して、１つ以上のＩ／Ｏデバイス１１７０に結合することができる。Ｉ／Ｏデバイス１１７０の例としては、記憶デバイス（ハードドライブ、光学ドライブ、リムーバブルフラッシュドライブ、記憶アレイ、ＳＡＮ、又はそれらの関連コントローラ）、ネットワークインタフェースデバイス（例えば、ローカル又は広域ネットワーク）、又は他のデバイス（例えば、グラフィックス、ユーザインタフェースデバイス、など）が挙げられる。一実施形態において、コンピュータシステム１１００は、ネットワークインタフェースデバイス１１７０（例えば、ＷｉＦｉ（商標登録）、Ｂｌｕｅｔｏｏｔｈ（商標登録）、イーサネット等を介して通信するように構成される）を介してネットワークに結合される。
＊＊＊
【００８７】
特定の実施形態が上に記載されているか、これらの実施形態は本開示の範囲を限定する意図はなく、特定の機能に対して単一の実施形態のみが記載されている場合でも同様である。本開示で提供されている機能の実施例は、別途記載がない限り、例示的な性質のものであって、限定的な目的を意図していない。上記の記載は、本開示の利点を有する当業者に明らかであるように、このような代替物、改変例、及び均等物を包含することが意図されている。
【００８８】
本開示の範囲は、本願で取り組まれている問題の一部又はすべてを軽減するかどうかに関係なく、本願で（明示的又は暗黙的に）開示されているすべての機能若しくはそれら機能の組み合わせ、又はそれらの一般化を含む。したがって、新しい特許請求は、本願のこのような機能の組み合わせに対する本願（又は、本願に対する優先権を主張する出願）の手続き中に策定し得る。特に、特許請求の範囲に関しては、従属クレームの機能は独立クレームの機能と組み合わされる場合があり、それぞれの独立クレームの機能は、任意の適切な方法で、かつ、単に添付の特許請求の範囲で列挙されている特定の組み合わせではない形で組み合わされる場合がある。
【図１】
2019531646.tif 000003
【図２】
2019531646.tif 000004
【図３】
2019531646.tif 000005
【図４】
2019531646.tif 000006
【図５】
2019531646.tif 000007
【図６Ａ】
2019531646.tif 000008
【図６Ｂ】
2019531646.tif 000009
【図７】
2019531646.tif 000010
【図８Ａ】
2019531646.tif 000011
【図８Ｂ】
2019531646.tif 000012
【図９】
2019531646.tif 000013
【図１０Ａ】
2019531646.tif 000014
【図１０Ｂ】
2019531646.tif 000015
【図１０Ｃ】
2019531646.tif 000016
【図１１】
2019531646.tif 000017
【手続補正書】
【提出日】平成31年2月28日(2019.2.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
セキュア回路であって、
ネットワーク上の複数のデバイス間のデータ通信を暗号化するために使用可能な複数の鍵を格納し、
前記複数の鍵の使用基準のセットを定義する情報を格納し、前記使用基準のセットは、前記複数の鍵のうちの第１の鍵が、前記複数のデバイスのうちの第１のデバイスから前記複数のデバイスのうちの第２のデバイスに通信されるデータを暗号化するための専用であることを特定し、
メッセージの一部を前記第１の鍵で暗号化する要求を受信し、前記要求は、前記メッセージが前記第１のデバイスから前記第２のデバイスに送信されていることを示し
前記使用基準のセットにより、前記第１のデバイスから前記第２のデバイスに送信されているメッセージに対する前記第１の鍵での暗号化が許可されるとの判定に応じて、前記第１の鍵で前記メッセージの前記一部を暗号化するように構成されている、セキュア回路を備える、装置。
【請求項２】
前記セキュア回路が前記第１のデバイスに結合された前記複数のデバイスを更に備え、
前記暗号化された部分は、前記メッセージが前記第１のデバイスによって送信されるということを確立するために使用可能であるように、前記セキュア回路が前記メッセージの前記一部を暗号化するように構成されている、請求項１に記載の装置。
【請求項３】
前記セキュア回路が、
前記複数のデバイスのうちの第３のデバイスから送信された別のメッセージの一部を受信し、前記別のメッセージの前記一部は前記第３のデバイスに結合された別のセキュア回路によって暗号化され、
前記使用基準のセットに基づいて、前記第３のデバイスから前記第１のデバイスに送信されているデータ通信を復号するための専用の第２の鍵を選択し、
前記他のメッセージの前記一部を前記第２の鍵で復号するように構成されている、請求項１に記載の装置。
【請求項４】
前記格納された情報が、前記複数の鍵のそれぞれにタプルを指定し、各タプルが、１）その鍵が暗号化又は復号化専用であるかどうかの指示を含み、２）その鍵に関連付けられた前記複数のデバイスのうちの１つ以上のデバイスを識別する、請求項１に記載の装置。
【請求項５】
前記使用基準のセットは、前記第１の鍵が、前記第１のデバイスと前記第２のデバイスとの間で一方向のデータ通信の暗号化専用であり、他方向には行わないことを示す、請求項１に記載の装置。
【請求項６】
ゲートウェイであって、
広域ネットワーク上の通信を容易にし、
前記広域ネットワーク上のエンティティから置換鍵のセットを受信し、
前記置換鍵のいくつかを前記複数のデバイスに分配するように構成されている、ゲートウェイを更に備える、請求項１に記載の装置。
【請求項７】
前記ゲートウェイは、
前記複数のデバイスのうちの１つが新しいデバイスに交換されたことの指示に応じて、前記置換鍵のセットを求める要求を発行するように構成されている、請求項６に記載の装置。
【請求項８】
前記複数のデバイスを更に備え、複数のデバイスは乗物の動作を制御するように構成された電子制御ユニット（ＥＣＵ）を含み、
前記セキュア回路は、前記第１のデバイスによって制御された動作に関連付けられたメッセージの一部を暗号化するように構成されている、請求項１に記載の装置。
【請求項９】
第１の電子制御ユニット（ＥＣＵ）であって、前記第１のＥＣＵから第２のＥＣＵに送信されるデータフレーム用のメッセージ認証コード（ＭＡＣ）を生成するように構成されている、第１の電子制御ユニット（ＥＣＵ）と、
前記第１のＥＣＵに結合され、前記ＭＡＣを第１の暗号鍵で暗号化するように構成されている第１のセキュア回路と、を備え、
前記第１のＥＣＵは、前記データフレームに含まれる前記暗号化されたＭＡＣで前記データフレームを送信するように構成されている、装置。
【請求項１０】
前記第２のＥＣＵに結合され、前記データフレームに含まれる前記暗号化されたＭＡＣを復号するように構成されている、第２のセキュア回路と、
前記データフレームの完全性を前記暗号化されたＭＡＣ使用して確認するように構成されている前記第２のＥＣＵと、を更に備える、請求項９に記載の装置。
【請求項１１】
前記第１のＥＣＵが、前記第１のセキュア回路に、前記第２のＥＣＵが前記データフレームの宛先であることを示すように構成され、
前記第１のセキュア回路が、前記データフレームの前記指定された宛先に基づいて、前記第１の暗号鍵を使用して前記ＭＡＣの暗号化を可能とするかどうかを判定するように構成されている、請求項９に記載の装置。
【請求項１２】
前記第１のセキュア回路は、
前記第１の暗号鍵を含む複数の暗号鍵を格納し、
前記複数の暗号鍵のうちのそれぞれについて、それぞれの用途及び関連ＥＣＵのそれぞれのセットを指定するポリシーを格納し、前記ポリシーは、前記第１の暗号鍵が暗号化に使用され、前記第２のＥＣＵを含むＥＣＵのセットに関連付けられることを指定し、
前記格納されたポリシーに基づいて、前記第１の暗号鍵で前記ＭＡＣに署名するかどうかを判定するように構成されている、請求項１１に記載の装置。
【請求項１３】
前記第１の暗号鍵を含む鍵のセットを、無線ネットワークインタフェースを介してそこから鍵のセットを受信し、
前記鍵のセットを前記第１のセキュア回路を含む複数のセキュア回路に分配するように構成されているネットワークゲートウェイを更に備える、請求項９に記載の装置。
【請求項１４】
前記第１のセキュア回路は、
前記ネットワークゲートウェイから前記第１の暗号鍵を受信した後に、前記第１の暗号鍵が前記ネットワークゲートウェイに対して未知となるように前記第１の暗号鍵を変更するように構成されている、請求項１３に記載の装置。
【請求項１５】
前記第１のセキュア回路は第１の相互接続を介して前記第１のＥＣＵに結合され、前記第１のＥＣＵは、前記第１の相互接続とは異なる第２の相互接続を介して、前記データフレームを前記第２のＥＣＵに送信するように構成されている、請求項９に記載の装置。
【請求項１６】
ネットワーク上のメッセージを第２のネットワークノードに通信するように構成されている第１のネットワークノードと、
前記第１のネットワークノードに結合されたセキュア回路と、を備え、前記セキュア回路は、
暗号鍵、及び前記暗号鍵のための１つ以上の使用基準を定義するポリシーを格納し、
前記第１のネットワークノードから、前記メッセージの一部を暗号化するための要求を受信し、
前記ポリシーにより前記暗号鍵での前記一部の暗号化が許可されたことの判定に応じて、前記暗号鍵で前記一部を暗号化する、装置。
【請求項１７】
前記要求は、前記第２のネットワークノードが前記メッセージの宛先であることを示し、
前記第２のネットワークノードが前記メッセージの前記宛先であると示されたとき、前記セキュア回路は、前記ポリシーにより前記暗号鍵での暗号化が許可されるかどうかを判定するように構成されている、請求項１６に記載の装置。
【請求項１８】
前記要求は、第３のネットワークノードが前記メッセージの別の宛先であることを更に示し、
前記第２のネットワークノード及び前記第３のネットワークノードが前記メッセージの宛先として示されたとき、前記セキュア回路は、前記ポリシーにより前記暗号鍵での暗号化が許可されるかどうかを判定するように構成されている、請求項１７に記載の装置。
【請求項１９】
前記ポリシーは、前記第２のネットワークノードを、前記第２のネットワークノードのメディアアクセス制御（ＭＡＣ）アドレスを参照することにより、許可される宛先であることを識別する、請求項１７に記載の装置。
【請求項２０】
前記ポリシーは、前記暗号鍵を使用した暗号化は許可されるが、前記暗号鍵を使用した復号化は許可されないことを示す、請求項１６に記載の装置。
【手続補正書】
【提出日】令和1年5月8日(2019.5.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
ステップ６７０において、第１のＥＣＵに結合された第１のセキュア回路は、第１の暗号鍵（例えば鍵１３２）でＭＡＣを暗号化する。いくつかの実施形態において、第１のＥＣＵは第１のセキュア回路に、第２のＥＣＵがデータフレームの宛先であることを示し、ステップ６７０は、データフレームの識別された宛先に基づいて、第１の暗号鍵でＭＡＣの暗号化が可能かどうかを判定する第１のセキュア回路を含む。いくつかの実施形態において、第１のセキュア回路は、第１の暗号鍵を含む複数の暗号鍵を格納し、複数の暗号鍵のそれぞれの鍵に対して、それぞれの用途及び関連ＥＣＵのそれぞれのセットを指定するポリシー（例えば、ポリシー１３４）を格納する。このような実施形態において、ポリシーは、第１の暗号鍵が、暗号化に使用され、第２のＥＣＵを含むＥＣＵのセットに関連付けられることを指定する。こうした実施形態において、第１のセキュア回路は、格納されたポリシーに基づいて、ＭＡＣに第１の暗号鍵で署名するかどうかを判定する。いくつかの実施形態において、第１のセキュア回路は、無線ネットワークインタフェースを介して鍵のセットを受信し、その鍵のセットをセキュア回路に分配するように構成されたネットワークゲートウェイから第１の暗号鍵を受信する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項８
【補正方法】変更
【補正の内容】
【請求項８】
前記複数のデバイスを更に備え、前記複数のデバイスは乗物の動作を制御するように構成された電子制御ユニット（ＥＣＵ）を含み、
前記セキュア回路は、前記第１のデバイスによって制御された動作に関連付けられたメッセージの一部を暗号化するように構成されている、請求項１に記載の装置。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１３
【補正方法】変更
【補正の内容】
【請求項１３】
前記第１の暗号鍵を含む鍵のセットを、無線ネットワークインタフェースを介して受信し、
前記鍵のセットを前記第１のセキュア回路を含む複数のセキュア回路に分配するように構成されているネットワークゲートウェイを更に備える、請求項９に記載の装置。
【国際調査報告】
2019531646.tif 000018
2019531646.tif 000019
2019531646.tif 000020
2019531646.tif 000021
2019531646.tif 000022