(57)【要約】  ネットワーク内の時間同期に関連する技術が開示される。一部の実施形態では、装置は、ネットワークに結合されたノードに対してローカル時間値を維持するように構成された第１のクロックを有する第１の回路を含む。第１の回路は、第２の回路に第１のメッセージを送信するように構成されている。第１のメッセージは、第１のノンスを含む。第２の回路は、ネットワークに対して基準時間値を維持する第２のクロックを有する。第１の回路は、第２の回路から第２のメッセージを受信し、第２のメッセージは、第２のノンスを含み、基準時間値を識別するタイムスタンプと関連付けられている。第１の回路は、第１のノンスを第２のノンスと比較して、タイムスタンプが有効であるかどうかを判定し、タイムスタンプが有効であると判定したことに応じて、タイムスタンプを使用して、第１のクロックを第２のクロックと同期する。【選択図】図１
2019530308.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに結合されたノードに対してローカル時間値を維持するように構成された第１のクロックを有する第１の回路を備え、前記第１の回路は、
第２の回路に第１のメッセージであって、前記第１のメッセージは、第１のノンスを含み、前記第２の回路は、前記ネットワークに対して基準時間値を維持する第２のクロックを有する、第１のメッセージを送信し、
前記第２の回路から第２のメッセージであって、前記第２のメッセージは、第２のノンスを含み、前記基準時間値を識別するタイムスタンプと関連付けられている、第２のメッセージを受信し、
前記第１のノンスを前記第２のノンスと比較して、前記タイムスタンプが有効であるかどうかを判定し、
前記タイムスタンプが有効であると判定したことに応じて、前記タイムスタンプを使用して、前記第１のクロックを前記第２のクロックと同期する、
ように構成されている、装置。
【請求項２】
前記第１の回路は、前記第２の回路との交換の間に前記第１のメッセージを送信して、前記第１の回路と前記第２の回路との間の伝搬遅延を判定するように構成されている、請求項１に記載の装置。
【請求項３】
前記第１の回路は、
前記タイムスタンプを使用して、前記伝搬遅延及び前記タイムスタンプに基づいて、前記第１のクロックと前記第２のクロックとの間のオフセットを判定することによって、前記第１のクロックを前記第２のクロックと同期するように構成されている、請求項２に記載の装置。
【請求項４】
前記第１の回路は、
前記第１のクロックと第２のクロックとの間の予測されるオフセットが前記交換から判定されたタイミング情報に基づいて計算されるように、前記予測されるオフセットを計算し、
前記判定されたオフセットを前記予測されるオフセットと比較することによって、前記判定されたオフセットが正当であると確認する、
ように構成されている、請求項３に記載の装置。
【請求項５】
前記第１の回路は、前記第２の回路から、前記第２のメッセージへのｆｏｌｌｏｗ−ｕｐメッセージを受信するように構成されており、前記タイムスタンプは、前記ｆｏｌｌｏｗ−ｕｐメッセージに含まれ、前記第２のメッセージが前記第２の回路から送信されるときの前記基準時間値を示す、請求項１に記載の装置。
【請求項６】
前記第２のメッセージは、前記第２のメッセージについての暗号チェックサムを含み、
前記第１の回路は、暗号回路に記憶された鍵を使用して前記暗号チェックサムを検証して、前記タイムスタンプが有効であるかどうかを判定するように構成された前記暗号回路を含む、
請求項１に記載の装置。
【請求項７】
前記ノードを更に備え、前記第１の回路は、前記ノードに結合され、前記ノードに、前記第２のクロックとの前記第１のクロックの同期に基づいて、タイミング情報を提供するように構成されている、請求項１に記載の装置。
【請求項８】
ネットワークと関連付けられた第１の時間値を維持するように構成された第１のクロック回路と、
同期回路であって、前記同期回路は、
第２の時間値を維持する第２のクロック回路と関連付けられた同期情報を受信するための前記ネットワークを通じて、前記同期回路が前記ネットワークを通じて第１のメッセージを送信すること、及び前記ネットワークを通じて第２のメッセージを受信することを含む、伝搬遅延を判定し、
前記第１のメッセージの出発及び到着時間並びに前記第２のメッセージの出発及び到着時間に基づいて、前記第１の時間値と前記第２の時間値との間の予測されるオフセットを判定し、
前記第２の時間値のタイムスタンプを指定する同期情報を受信し、
前記予測されるオフセットを、前記タイムスタンプに基づいて計算されたオフセットと比較することによって、前記タイムスタンプが有効であるかどうかを判定する、
ように構成された、同期回路と、
を備える、装置。
【請求項９】
前記予測されるオフセットを判定することは、
前記第１のメッセージの前記到着時間と前記第２のメッセージの前記出発時間との間の第１の平均を計算することと、
前記第１のメッセージの前記出発時間と前記第２のメッセージの前記到着時間との間の第２の平均を計算することと、
前記第１の平均と前記第２の平均との間の差を判定することと、を含み、前記予測されるオフセットは、前記差である、
請求項８に記載の装置。
【請求項１０】
前記同期回路は、
前記第１のメッセージの前記出発時間及び前記第２のメッセージの前記到着時間を記憶し、
前記第２のメッセージ内の前記第１のメッセージの前記到着時間を受信し、
前記第２のメッセージの前記出発時間を含む第３のメッセージを受信する、
ように構成されている、請求項９に記載の装置。
【請求項１１】
前記受信された同期情報は、前記タイムスタンプを指定する第３のメッセージ、及び前記第３のメッセージの整合性検査値を含み、
前記同期回路は、前記整合性検査値を使用して、前記第３のメッセージが正当であると確認するように構成されている、
請求項８に記載の装置。
【請求項１２】
前記受信された同期情報は、ノンスを含む第４のメッセージを含み、
前記同期回路は、前記ノンスを前記第１のメッセージにおいて送信されたノンスと比較することによって、前記受信された同期情報が正当であると確認するように構成されている、
請求項１１に記載の装置。
【請求項１３】
前記第２のメッセージ内の前記ノンスは、整合性検査値フィールドと共に前記第２のメッセージの終わりに付加されたフィールドに含まれる、請求項１２に記載の装置。
【請求項１４】
前記第１の時間値及び前記計算されたオフセットに基づいて、前記ネットワーク上でネットワークトラフィックを通信するように構成された電子制御ユニット（ＥＣＵ）を更に備える、請求項８に記載の装置。
【請求項１５】
車両の動作を制御するように構成された電子制御ユニット（ＥＣＵ）であって、前記ＥＣＵは、ネットワークについてのマスタクロックに従って、前記ネットワークを通じてトラフィックを通信するように構成されている、ＥＣＵと、
前記マスタクロックと関連付けられた時間値及び前記同期メッセージについての整合性検査値を指定する同期メッセージを受信し、
前記整合性検査値に基づいて、前記同期メッセージが有効であるかどうかを判定し、
前記同期メッセージが有効であると判定したことに応じて、前記ＥＣＵに前記時間値と関連付けられた時間情報を提供する、
ように構成されたセキュア回路と、
を備える、装置。
【請求項１６】
前記セキュア回路は、
応答について問い合わせる第１のメッセージを送信し、前記応答を含む第２のメッセージを受信することによって、前記セキュア回路と前記同期メッセージの送信側との間の伝搬遅延を判定するように構成されており、前記第１のメッセージ及び前記第２のメッセージは、整合性検査値を含み、
前記時間情報は、前記伝搬遅延及び前記マスタクロックの前記時間値に基づいて判定される、
請求項１５に記載の装置。
【請求項１７】
前記整合性検査値は、前記第１のメッセージ及び前記第２のメッセージの終わりに付加される、請求項１６に記載の装置。
【請求項１８】
前記第１のメッセージは、第１のノンスを含み、
前記セキュア回路は、
前記時間値と関連付けられたメッセージにおいて受信された第２のノンスとの前記第１のノンスの比較を実行し、
前記比較に基づいて、前記同期メッセージが有効であるかどうかを判定する、
ように構成されている、請求項１６に記載の装置。
【請求項１９】
前記セキュア回路は、
前記第１のメッセージの出発時間及び前記第２のメッセージの到着時間に基づいてオフセットを計算し、
前記オフセットと前記時間値に基づいて計算されたオフセットとの間の比較に基づいて、前記同期メッセージが有効であるかどうかを判定する、
ように構成されている、請求項１６に記載の装置。
【請求項２０】
前記マスタクロックを含むネットワークノードを更に備え、前記ネットワークノードは、前記セキュア回路に対して一意な鍵を使用して、前記整合性検査値を計算するように構成されている、請求項１５に記載の装置。
【請求項２１】
第１のクロックを有する第１の回路を備え、前記第１の回路は、
第２のクロックを有する第２の回路に第１のメッセージであって、前記第１のメッセージは、第１のノンスを含む、第１のメッセージを送信することと、
前記第２の回路から第２のメッセージであって、前記第２のメッセージは、第２のノンスを含み、前記タイムスタンプと関連付けられている、第２のメッセージを受信することと、
前記第２の回路から第３のメッセージであって、前記第３のメッセージは、前記第１のノンス及び前記第２のノンスを示す情報を含む、第３のメッセージを受信することと、
前記第１のノンス、前記第２のノンス、及び前記情報に基づいて、前記タイムスタンプが有効であるかどうかを判定することと、
によって、前記第１のクロックを前記第２のクロックと同期するために使用される前記第２のクロックの前記タイムスタンプの有効性を判定するように構成されている、装置。
【請求項２２】
前記第２のメッセージは、前記タイムスタンプを含む、請求項２１に記載の装置。
【請求項２３】
前記第３のメッセージは、前記タイムスタンプを含み、前記タイムスタンプは、前記第２のメッセージが前記第２の回路によって送信されるときの前記第２のクロックの値である、請求項２１に記載の装置。
【請求項２４】
前記第３のメッセージに含まれる前記情報は、前記第１のノンス及び前記第２のノンスを含み、
前記判定することは、１）前記第１のメッセージ内の前記第１のノンスを前記情報内の前記第１のノンスと、及び２）前記第２のメッセージ内の前記第２のノンスを前記情報内の前記第２のノンスと比較することを含む、
請求項２１に記載の装置。
【請求項２５】
前記第３のメッセージに含まれる前記情報は、前記第１のノンスに基づいて生成されたチェックサム及び前記第２のノンスに基づいて生成されたチェックサムを含み、
前記判定することは、
前記第１のノンスに基づいて生成された前記チェックサムを、前記第１のメッセージ内の前記第１のノンスに基づいて生成されたチェックサムと比較することと、
前記第２のノンスに基づいて生成された前記チェックサムを、前記第２のメッセージ内の前記第２のノンスに基づいて生成されたチェックサムと比較することと、
を含む、請求項２１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概して、コンピューティングデバイスに関し、更に詳細には、ネットワークを通じて通信する複数のデバイスの間で時間を同期することに関する。
【背景技術】
【０００２】
コンピュータネットワークを通じてコンピュータクロックを同期するための様々なプロトコルが開発されてきた。多くの例では、プロトコルは、Ｕ．Ｓ．Ｎａｖａｌ  Ｏｂｓｅｒｖａｔｏｒｙにおける原子クロックなどのマスタクロックを維持する、ソースから提供されたタイミング情報を分散することを促進することができる。例えば、最も有名なプロトコルのうちの１つは、インターネットに接続されたコンピュータの間で時間を同期するために使用されるネットワークタイムプロトコル（ＮＴＰ）である。このプロトコルを介して受信されたタイミング情報は、ユーザのコンピュータ上で時間を表示するだけでなく、コンピュータにソフトウェアアップデートを分散すること、通知を表示すること、バックアップユーティリティ、時間スタンプ電子メールなどを呼び出すことなど、様々な動作の実行を調整するためにも使用されることがある。タイミング要求が変化するにつれて、更に正確な時間同期を可能にするための他のネットワークプロトコルが開発されてきた。例えば、ＩＥＥＥ８０２．１ＡＳは、音声及びビデオコンテンツを消費又は生成しているデバイスの間で時間を同期するために、様々な音声及びビデオアプリケーションにおいて使用されることがある。
【発明の概要】
【０００３】
本開示は、ネットワーク内のノードの間で時間が同期される実施形態を説明する。様々な実施形態では、装置は、ネットワークに結合されたノードに対してローカル時間値を維持するように構成された第１のクロックを有する第１の回路を含む。第１の回路は、ネットワークに対して基準時間値を維持する第２の回路に、第１のノンスを含む第１のメッセージを送信するように構成されている。第１の回路は、第２の回路から、第２のノンスを含み、基準時間値を識別するタイムスタンプと関連付けられた第２のメッセージを受信する。第１の回路は、第１のノンスを第２のノンスと比較して、タイムスタンプが有効であるかどうかを判定し、タイムスタンプが有効であると判定したことに応答して、タイムスタンプを使用して、第１のクロックを第２のクロックと同期する。一部の実施形態では、第１の回路は、第２の回路との交換の間に第１のメッセージを送信して、第１の回路と第２の回路との間の伝搬遅延を判定し、タイムスタンプを使用して、伝搬遅延及びタイムスタンプに基づいて、第１のクロックと第２のクロックとの間のオフセットを判定することによって第１のクロックを第２のクロックと同期する。
【図面の簡単な説明】
【０００４】
【図１】時間同期を実施するネットワークの実施例を例示するブロック図である。
【０００５】
【図２】時間同期を促進するように構成されたハードウェアセキュリティモジュールの実施例を例示するブロック図である。
【０００６】
【図３Ａ】同期通信におけるメッセージの実施例を例示する図である。
【図３Ｂ】同期通信におけるメッセージの実施例を例示する図である。
【０００７】
【図４Ａ】伝搬遅延交換におけるメッセージの実施例を例示する図である。
【図４Ｂ】伝搬遅延交換におけるメッセージの実施例を例示する図である。
【図４Ｃ】伝搬遅延交換におけるメッセージの実施例を例示する図である。
【０００８】
【図５】メッセージのうちの１つ以上に含まれる整合性検査値フィールドの実施例を例示する図である。
【０００９】
【図６】メッセージのうちの１つ以上に含まれるノンスフィールドの実施例を例示する図である。
【００１０】
【図７Ａ】伝搬遅延交換及び同期通信を含む時間同期の実施例を例示する通信図である。
【図７Ｂ】伝搬遅延交換及び同期通信を含む時間同期の実施例を例示する通信図である。
【００１１】
【図８】同期通信のための境界検査の実施例を例示するフローチャートである。
【００１２】
【図９Ａ】ネットワーク構成要素によって実行され得る他の方法の実施例を例示するフローチャートである。
【図９Ｂ】ネットワーク構成要素によって実行され得る他の方法の実施例を例示するフローチャートである。
【００１３】
【図１０】例示的なコンピュータシステムを例示するブロック図である。
【発明を実施するための形態】
【００１４】
本開示は、「１つの実施形態（one embodiment）」又は「実施形態（an embodiment）」への言及を含む。フレーズ「１つの実施形態では（in one embodiment）」又は「実施形態では（in an embodiment）」の出現は、必ずしも同一の実施形態を指さない。特定の特徴、構造、又は特性は、本開示と一致したいずれかの適切な方式で組み合わされてもよい。
【００１５】
本開示内で、異なるエンティティ（様々に、「ユニット」、「回路」、他の構成要素などと称されてもよい）は、１以上のタスク又は動作を実行するように「構成されている（configured）」ものとして説明又は特許請求されてもよい。この明確な語句−［１以上のタスクを実行］するように構成された［エンティティ］−は、構造（すなわち、電子回路などの物理的な何か）を指すために本明細書で使用される。更に詳細には、この明確な語句は、この構造が動作中に１以上のタスクを実行するように配置されることを示すために使用される。構造が現在動作していない場合でさえ、構造は、何らかのタスクを実行「するように構成されている」と言われてもよい。「ネットワークを通じてトラフィックを通信するように構成されたノード」は、例えば、対象のデバイスが現在使用されていない（例えば、電力供給装置がそれに接続されていない）場合でさえ、動作中にこの機能を実行する回路を有するデバイスをカバーすることが意図される。よって、何らかのタスクを実行「するように構成されている」として説明又は記載されるエンティティは、デバイス、回路、タスクを実施するように実行可能なプログラム命令を記憶したメモリなど、物理的な何かを指す。このフレーズは、無形な何かを指すとしては本明細書で使用されない。よって、構造「するように構成された」は、アプリケーションプログラミングインタフェース（ＡＰＩ）などのソフトウェアエンティティを指すようには本明細書で使用されない。
【００１６】
用語「するように構成されている」は、「するように構成可能である（configurable to）」を意味することが意図されない。プログラムされていないＦＰＧＡは、例えば、何らかの特定の機能を実行「するように構成されている」とはみなされないが、それは、その機能を実行「するように構成可能」であってもよく、プログラムした後に、機能を実行「するように構成」されてもよい。
【００１７】
添付の特許請求の範囲において、構造が１以上のタスクを実行「するように構成されている」と記載することは明確に、その特許請求する要素に対して米国特許法１１２条（ｆ）を適用することを意図していない。したがって、出願時に本出願において特許請求されるいずれもが、ミーンズプラスファンクション要素を有するとして解釈されることを意図していない。仮に、出願人が手続中に１１２条（ｆ）を適用することを望む場合、［機能を実行する］「ための手段（means for）」の構造を使用して、特許請求する要素を記載することになる。
【００１８】
本明細書で使用されるように、用語「第１の（first）」、「第２の（second）」などは、それらが先行する名詞に対するラベルとして使用され、特に述べられない限り、いずれのタイプの順序付け（例えば、空間的、時間的、論理的など）を暗に意味しない。例えば、第１の回路と第２の回路との間の交換は、複数のメッセージの通信を含んでもよい。用語「第１の」及び「第２の」は、交換におけるメッセージのうちのいずれかの２つを指すために使用されてもよい。言い換えると、「第１の」及び「第２の」メッセージは、例えば、交換における初期の２つのメッセージに限定されない。
【００１９】
本明細書で使用されるように、用語「に基づいて（based on）」は、判定に影響を与える１以上の因子を説明するために使用される。この用語は、追加の因子が判定に影響を与えることがある可能性を除外しない。すなわち、判定は、指定された因子にのみ基づいて、又は指定された因子と共に他の指定されない因子に基づいてもよい。フレーズ「Ｂに基づいてＡを判定する（determine A based on B）」を考える。このフレーズは、ＢがＡを判定するために使用され、又はＡの判定に影響を与える因子であることを指定する。このフレーズは、Ａの判定が、Ｃなどの何らかの他の因子にも基づいてもよいことを排除しない。このフレーズは、ＡがＢにのみ基づいて判定される実施形態をカバーすることも意図される。よって、本明細書で使用されるように、フレーズ「に基づいて」は、フレーズ「に少なくとも部分的に基づいて（based at least in part on）」と同義である。
【００２０】
本明細書で使用されるように、用語「同期する（synchronize）」は、第１のクロックに対し、第１のクロックに対して行われることになる調節を計算して、第２のクロックの値を判定することを指す。この用語は、第２のクロックと同一の時間を有するように第１のクロックにおける値を調節することを包含するが、この用語は、本開示の目的で、第１のクロックにおける値を調節しないことをも包含する。例えば、第１のクロックを第２のクロックと「同期すること」は、第２のクロックの時間値を判定するために、第１のクロックに対する調節を計算すること、及び第１のクロックによって出力された時間値に調節を適用することを含んでもよい。
［詳細な説明］
【００２１】
従来の時間同期スキームに伴う問題は、それらが典型的には、セキュリティの考慮事項を考慮しないことである。この設計不足は、悪意のある人間が現在時間のコンピューティングデバイスの認知を潜在的に妨害することを可能にすることがある。例えば、当該人間は、不正確な時間を告知するメッセージを提供することによって、信頼された時間ソースを偽装することを試みることがある。当該人間はまた、遅延の後にメッセージを再生し、再生されたメッセージが新しいものであるとして受信者に考えさせる（例えば、受信機のオフセットクロックに対応する遅延と共にメッセージを再生する）ことを試みることがある。そのようにする際に、当該人間は、デバイスによって実行されるスケジュールされた動作を妨害し、潜在的に他の問題を生じさせることが可能であることがある。
【００２２】
本開示は、時間同期システムのセキュリティを改善する様々な技術を説明する。以下で説明される様々な実施形態では、コンピュータネットワークは、それぞれのローカルクロックを有するネットワークノードの間でクロック同期を管理するプロトコルを実施する。このプロトコルは、マスタクロックからスレーブクロックに１以上のメッセージの第１のセットを通信することを介して、ネットワーククロックの現在時間を定期的に告知すると共に、告知される現在時間を分散する際に、ネットワークによって生じる伝搬遅延の理由を説明するために、メッセージの第２のセットを通信することを介して、クロックの間のオフセットを判定するために使用されてもよい。それらのメッセージのセキュリティを改善するために、一部の実施形態では、各々のメッセージに整合性検査値（ＩＣＶ）が追加される。本明細書で使用されるように、用語「整合性検査値」は、当技術分野におけるその理解の意味に従って解釈されることになり、データの整合性を検証するために使用可能であり、データに鍵付き機能（すなわち、暗号鍵を使用する機能）を適用することによって計算される値を含む。この値を含めることは、メッセージが認証され、悪意のあるエンティティによる改ざんに対する抵抗性を有することを可能にすることができる。一部の実施形態では、１以上のノンスは、伝搬遅延を判定するために使用され、次いで、現在時間の後続の告知において繰り返される交換に含まれる。本明細書で使用されるように、用語「ノンス」は、当技術分野におけるその理解の意味に従って解釈されることになり、動作又は動作のセットにおいて１回のみ使用される、任意かつ予測不可能な数を含む。例えば、ノンスは、乱数又は疑似乱数生成器アルゴリズムを使用して判定されてもよい。この方式においてノンスを含めることは、より古い告知がノードのローカル時間を妨害することを試みている悪意のあるエンティティによって再生されることを防止することができる。一部の実施形態では、ネットワークノードは、ローカルクロックとネットワーククロックとの間の予測されるオフセットを判定するためにも使用可能な伝搬遅延を判定するための情報を収集してもよい。ノードは次いで、この予測されるオフセットを、後続の告知において現在時間を識別するタイムスタンプから計算されたオフセットと比較してもよい。予測されるオフセットが計算されたオフセットと著しく異なる場合、ノードは、告知が不当であることがあるので、それを破棄してもよい。
【００２３】
一部の実施形態では、時間同期と関連付けられたメッセージは、タイミング情報を使用して、ネットワークノードに結合されたセキュア回路によっても処理されてもよい（ノード自身が処理を取り扱うのとは反対に）。本明細書で使用されるように、用語「セキュア回路」は、分離された、内部リソースが外部エンティティによって直接アクセスされることから保護する回路を指す。以下で説明されるように、様々な実施形態では、セキュア回路は、ネットワークノードについてのローカルクロック、及びメッセージに含まれるＩＣＶを生成又は検証するために使用される鍵を維持してもよい。いくつかの例では、セキュア回路を使用してメッセージを処理することは（ノードとは反対に）、ネットワークに追加のセキュリティを提供することができる。
【００２４】
本開示は、図１及び図２と併せて、時間同期を実施するセキュアネットワーク内の構成要素の説明から始まる。ノードの間のネットワーク通信は、図３Ａ〜図７Ｂに関して説明される。ネットワーク構成要素によって実行される方法は、図８〜図９Ｂに関して説明される。最後に、１以上のネットワーク構成要素を実施するために使用することができる例示的なコンピュータシステムは、図１０と共に議論される。
【００２５】
ここで図１に目を向けると、時間同期を実施するように構成されたネットワーク１００のブロック図が表される。例示される実施形態では、ネットワーク１００は、リンク１１２を介して複数のノード１２０Ａ〜Ｃに結合されたスイッチ１１０を含む。ノード１２０Ａ〜Ｂは次いで、リンク１２２を介して、ローカルクロック１３２Ａ〜Ｂを含む、それぞれのハードウェアセキュリティモジュール（ＨＳＭ）１３０Ａ〜Ｂに結合される。示されるように、ノード１２０Ｃは、ネットワーククロック１４２を含む、グランドマスタ（ＧＭ）１４０に結合される。スイッチ１１０は、ローカルクロック１３２Ｄを含む、ＨＳＭ１３０Ｄにも結合される。様々な実施形態では、ネットワーク１００は、示されるのとは異なって実施されてもよい。したがって、一部の実施形態では、より多くの（又は、より少ない）スイッチ１１０及び／又はノード１２０が存在してもよい。一部の実施形態では、ＧＭ１４０は、スイッチ１１０に結合されてもよい（ノード１２０とは反対に）。一部の実施形態では、ＨＳＭ１３０に関して本明細書で説明される機能性は、ノード１２０内の回路によって実施されてもよい。
【００２６】
ネットワーク１００は、一部の実施形態では、ノード１２０の間でネットワークトラフィックを通信するように構成されたローカルエリアネットワーク（ＬＡＮ）である。様々な実施形態では、ネットワークトラフィックは、スイッチ１１０によって、ノード１２０の間で経路指定される。したがって、スイッチ１１０は、ノード１２０からの受信されたメッセージ（すなわち、データフレーム）を待ち行列に入れ、指定された宛先にメッセージを適切に送信するために、フレームによって指定された送信元及び宛先アドレスを分析するように構成されてもよい。一部の実施形態では、スイッチ１１０は、ＩＥＥＥ８０２．３に従ってデータフレーム（すなわち、イーサネットフレーム）を経路指定するように構成されているが、他の実施形態では、他のネットワーキングプロトコルがサポートされてもよい。
【００２７】
ノード１２０は、ネットワークを通じて通信するように構成されたいずれかの適切なデバイスに対応してもよい。一部の実施形態では、ノード１２０は、デスクトップ及びラップトップコンピュータ、モバイルデバイス、スマートテレビ、スマート電化製品など、家庭又はオフィスネットワーク内のデバイスであってもよい。一部の実施形態では、ノード１２０は、様々な動作を実行するように構成された製造工場内の機械である。一部の実施形態では、ノード１２０は、航空機、ボート、自動車、レクリエーショナルビークルなどの車両内の電子制御ユニット（ＥＣＵ）である。本明細書で使用されるように、用語「電子制御ユニット（ＥＣＵ）」は、当技術分野におけるその理解の意味に従って解釈されることになり、車両の１以上の動作を制御する組み込みシステム（例えば、マイクロコントローラ）を含む。一部の実施形態では、ノード１２０は、例えば、モータの動作を制御するためにトルク制御メッセージ及びホイール速度メッセージを通信するモータＥＣＵ、ブレーキを適用するためにブレーキ制御メッセージを通信するブレーキシステムＥＣＵ、１以上のＬＩＤＡＲセンサから受信されたデータを処理するＬＩＤＡＲ  ＥＣＵ、ヨーク制御の角度を通信するフライトヨークＥＣＵなどを含んでもよい。
【００２８】
様々な実施形態では、ノード１２０（及び、スイッチ１１０）は、ネットワーク１００を通じてトラフィックの通信を調整することを含む、様々な目的のために同期された時間を使用するように構成されている。例えば、複数のＬＩＤＡＲセンサからストリームを受信するＥＣＵは、ＥＣＵ及びストリームを配信するそのセンサの間で同期された時間に依存する車両の周囲の全体視野を生成してもよい。すなわち、第１及び第２のＬＩＤＡＲセンサは、それぞれのストリームにタイムスタンプを記録してもよく、その結果、ＥＣＵは、あらゆるセンサが所与の時間に何を見ているかを判定することができる。それらのタイムスタンプが同期されないクロックによって生成される場合、ＥＣＵは、１つのＬＩＤＡＲセンサが物体の存在を示しており、別のセンサが、それが誤ったタイムスタンプを含んでいたことを理由に、車両の前に何も存在しないことの状況を与えるとき、物体が車両の前に存在するかどうかを判定する問題を有することがある。別の実施例として、一部の実施形態では、ネットワーク１００を通じて通信されるトラフィックは、特定のノード１２０が特定のトラフィックを通信することになるときを示すスケジュールに従って調整される。時間がノード１２０にわたって同期されない場合、ノード１２０Ａは、例えば、ノード１２０Ｂに割り当てられた時間スロットの間にネットワークトラフィックを通信することを始めてもよい。この衝突は、ノードが誤った情報又は著しく遅延した情報を取得することをもたらし、それは、最優先で実行されるタスクと関連付けられていることがある。
【００２９】
ハードウェアセキュリティモジュール（ＨＳＭ）１３０、１つの実施形態では、様々な目的のために、ノード１２０に時間情報１３４を提供するように構成されたセキュア回路である。一部の実施形態では、各々のＨＳＭ１３０は、そのノード１２０において、ＨＳＭ１３０によってネットワーククロック１４２と同期されたローカル時間の値を維持するように構成されたローカルクロック１３２を含む。以下で更に詳細に説明されるように、様々な実施形態では、ネットワーク１００に対する時間同期は、所与のＨＳＭ１３０がそのローカルクロック１３２を、隣接ノード１２０のＨＳＭ１３０又はスイッチ１１０のＨＳＭ１３０と同期し、隣接ノード１２０のＨＳＭ１３０又はスイッチ１１０のＨＳＭ１３０は、所与のＨＳＭ１３０とグランドマスタ１４０との間の経路上に存在し、グランドマスタ１４０により近いホップであるように実行されてもよい。したがって、ＨＳＭ１３０Ａ及びＨＳＭ１３０Ｂは、それらのローカルクロック１３２Ａ及び１３２Ｂを、ノード１２０Ｃ及びグランドマスタ１４０に１ホップ近いノード１２０に結合されている、ＨＳＭ１３０Ｄ内のローカルクロック１３２Ｄと同期してもよい。ＨＳＭ１３０Ｄは次いで、図１における他のより近いノード１２０が存在しないので、グランドマスタ１４０内のネットワーククロック１４２と同期してもよい。異なって述べるように、ネットワーク１００の時間同期は、所与の子ノードがその親ノードと同期し、グランドマスタ１４０がツリー構造内のルートノードとして機能するツリー構造として見なされてもよい。
【００３０】
２つのＨＳＭ１３０のクロックの間で同期が実行されるとき、タイミング情報を提供するＨＳＭ１３０（例えば、ＨＳＭ１３０Ｄ）は、マスタと称されてもよく、タイミング情報を受信するＨＳＭ１３０（例えば、ＨＳＭ１３０Ａ及び１３０Ｂ）は、スレーブと称されてもよい。同期を実行することの一部として、様々な実施形態では、スレーブは、それとそのマスタとの間の伝搬遅延（例えば、ＨＳＭ１３０ＡとＨＳＭ１３０Ｄとの間の遅延）を判定してもよい。スレーブは、そのローカルクロック１３２とマスタのクロックとの間のオフセット（例えば、クロック１３２Ａと１３２Ｄとの間のオフセット）をも判定してもよい。それらの値が判定されると、ＨＳＭ１３０は次いで、そのノード１２０に情報１３４を提供してもよく、タイミング情報は、ネットワーククロック１４２の現在値と関連付けられた時間値を含み、ローカルクロック１３２の値、伝搬遅延、及び判定されたオフセットに基づいて計算される。様々な実施形態では、ＨＳＭ１３０は、ＨＳＭ１３０が図２に関して以下で説明されるように、ノード１２０よりも更にそれらをセキュアにする様々なセキュリティ技術を採用することができるので、ローカル時間を維持し、時間を同期するために信頼される（ノード１２０とは反対に）。
【００３１】
グランドマスタ（ＧＭ）１４０は、１つの実施形態では、ネットワーク１００についてのネットワーク時間、すなわち、それにローカルクロック１３２が同期される基準時間を維持するように構成された回路である。すなわち、ＨＳＭ１３０ＤがＨＳＭ１３０Ａ及びＨＳＭ１３０Ｂへのマスタとして機能することができると共に、ＧＭ１４０は、例示される実施形態における最高権威（すなわち、「グランドマスタ」）である。上記述べられたように、例示される実施形態では、ＧＭ１４０は、ネットワーク時間の現在値を追跡するように構成されたネットワーククロック１４２を含む。一部の実施形態では、ＧＭ１４０は、いくつかのマスタクロックのうちの１つであってもよく、選出処理を通じてグランドマスタとして選択される。上記述べられたように、一部の実施形態では、ＧＭ１４０は、スイッチ１１０に結合されてもよく（図１に示されたノード１２０Ｅとは反対に）、及び／又は以下で議論されるＨＳＭ１３０の機能性を実施してもよい。様々な実施形態では、ＧＭ１４０は、同期（ｓｙｎｃ）通信１５２及び伝搬遅延（Ｐｄｅｌａｙ）交換１５４を介して、ＨＳＭ１３０Ｄとの時間同期を促進するようにも構成されてもよい。（通信１５２及び交換１５４が、図を簡易化するために図１においてＧＭ１４０とＨＳＭ１３０Ｄとの間のみで示されるが、通信１５２及び交換１５４は、ＨＳＭ１３０ＤからＨＳＭ１３０Ａ及び１３０Ｂへも設けられる。）
【００３２】
ｓｙｎｃ通信１５２は、例示される実施形態では、マスタ（例えば、ＧＭ１４０又はＨＳＭ１３０Ｄ）によって通信されて、その同期されたクロック１３２又はネットワーククロック１４２によって識別されるようにネットワーク時間の現在値を告知するメッセージである。様々な実施形態では、所与のｓｙｎｃ通信１５２は、ｓｙｎｃ通信１５２がマスタから送信され、スレーブのローカルクロック１３２とマスタのクロック１３２又はクロック１４２との間のオフセット（すなわち、差）を判定するために所与のスレーブによって使用可能なときの、ネットワーク時間の現在値を識別するタイムスタンプを含む。様々な実施形態では、判定されたオフセットは、１）マスタのクロックとスレーブのクロックとの間の時間差、及び２）それらがいくつかの例では、僅かに異なる周波数を有することがあるので、マスタのクロックとスレーブのクロックとの間の周波数、の両方である。ｓｙｎｃ通信１５２は、クロック１３２及び１４２の個々の周波数が気温の変化と共に変動することがあるので、定期的に送信されてもよい（例えば、１秒間に８回）。一部の実施形態では、所与のｓｙｎｃ通信１５２は、特定の時間に送信されるｓｙｎｃメッセージ（図３Ａと共に以下で議論される）及び特定の時間、すなわち、ｓｙｎｃメッセージが送信された時間にネットワーク時間の値を指定するタイムスタンプを含むｆｏｌｌｏｗ  ｕｐメッセージ（図３Ｂと共に以下で議論される）、の２つのメッセージを含む。一部の実施形態では、それらのメッセージは、ＩＥＥＥ８０２．１ＡＳフレームの内容を含む。
【００３３】
Ｐｄｅｌａｙ交換１５４は、例示される実施形態では、マスタとスレーブとの間の伝搬遅延を判定するために、マスタとスレーブとの間の交換である。すなわち、メッセージがネットワーク１００をトラバースするのに時間を要することを理由に、ｓｙｎｃ通信１５２において指定されたタイムスタンプは、それがＨＳＭ１３０に到達する時間だけ遅延する。これを説明するために、ＨＳＭ１３０は、伝搬遅延及び滞留時間を判定して、ｓｙｎｃ通信１５２におけるタイムスタンプを適切に調節し、その結果、それは、現在のネットワーク時間を正確に反映する。一部の実施形態では、交換１５４は、スレーブがマスタにメッセージを送信すること（以下で及び図４Ａでは、Ｐｄｅｌａｙ要求と称される）、並びにマスタから対応する応答を受信すること（以下で及び図４Ｂでは、Ｐｄｅｌａｙ応答と称される）を含む。伝搬遅延は次いで、１）第１のメッセージの到着時間とその出発時間との間の差を計算し、２）第２のメッセージの到着時間とその出発時間との間の差を計算し、３）差の平均を判定する、ことによって判定されてもよい。特に、両方のメッセージの到着及び出発時間は、到着及び出発タイムスタンプが、上記述べられたように同期されないことがあるマスタのクロック及びスレーブのクロックによって供給されるという事実を説明するために使用される。例えば、ＨＳＭ１３０Ｄは、ローカルクロック１３２Ｄに基づいて、第１のメッセージの出発時間及び第２のメッセージの到着時間を記録してもよいが、ネットワーククロック１４２に基づいている、第１のメッセージの到着時間及び第２のメッセージの出発時間についてのタイムスタンプを提供するためにＧＭ１４０を信頼する。一部の実施形態では、第２のメッセージは、それらのタイムスタンプのうちの両方を含んでもよい。他の実施形態では、第２のメッセージは、第１のメッセージの到着時間についてのタイムスタンプを含み、第２のメッセージの出発時間についてのタイムスタンプを指定する第３のメッセージ（以下で及び図４Ｃでは、Ｐｄｅｌａｙ  ｆｏｌｌｏｗ−ｕｐと称される）が送信される。一部の実施形態では、Ｐｄｅｌａｙ交換１５４は、リンク１１２及び１２２の温度が変化するにつれて伝搬遅延が変化することがあるので、定期的に実行される（例えば、１秒毎に１回）。一部の実施形態では、交換１５４において通信されるメッセージは、ＩＥＥＥ８０２．１ＡＳフレームの内容を含む。
【００３４】
ｓｙｎｃ通信１５２及びＰｄｅｌａｙ交換１５４のセキュリティを改善するために、様々な実施形態では、ＨＳＭ１３０及びＧＭ１４０は、それらを悪意のあるエンティティによる改ざんに対する更なる抵抗性を有するようにさせるための様々な技術を実行するように構成されている。いくつかの例では、それらの技術は、ノード１２０に障害が発生し、それ自身のｓｙｎｃ通信１５２をブロードキャストすることによって、そのＨＳＭ１３０のマスタ又はＧＭ１４０を偽装することを始める場合に、そのＨＳＭ１３０を保護することができる。それらの技術は、スイッチ１１０に障害が発生し、古いｓｙｎｃ通信１５２又はＰｄｅｌａｙ交換１５４からメッセージを中継することを試みるなど、中間者攻撃に対しても保護することができる。
【００３５】
最初に、一部の実施形態では、整合性検査値（ＩＣＶ）は、ｓｙｎｃ通信１５２及びＰｄｅｌａｙ交換１５４の間に、ＧＭ１４０とＨＳＭ１３０との間で送信される１以上のメッセージに追加される。このＩＣＶは、様々なアルゴリズムのうちのいずれかを使用して計算されてもよい。例えば、１つの実施形態では、ＧＭ１４０及びＨＳＭ１３０は、Ｈａｓｈベースメッセージ認証コード（ＨＭＡＣ）アルゴリズムなどのメッセージ認証コード（ＭＡＣ）アルゴリズムを使用してＩＣＶを計算するように構成されている。別の実施形態では、ＩＣＶは、デジタル署名アルゴリズム（ＤＳＡ）を使用して計算されたデジタル署名である。更なる別の実施形態では、ＩＣＶは、暗号ブロック連鎖（ＣＢＣ）モードにおけるアドバンスト暗号化標準（ＡＥＳ）を使用して暗号化されたＭＡＣを含む。一部の実施形態では、ＩＣＶを判定するために使用される鍵は、通信に参加する所与のＨＳＭ１３０に対して一意であり、そのＨＳＭ１３０及びマスタに既知である。例えば、ＨＳＭ１３０ＤがＨＳＭ１３０Ａに第１のメッセージを送信しており、ＨＳＭ１３０Ｂに第２のメッセージを送信している場合、第１のメッセージ内のＩＣＶは、第１の鍵を使用して計算され、第２のメッセージ内のＩＣＶは、第１の鍵とは異なる第２の鍵を使用して計算される。結果として、ＨＳＭ１３０Ａ及び１３０Ｂは、ＨＳＭ１３０ＤがそのＨＳＭ１３０に対して一意な鍵を有する唯一の他のエンティティであることを理由に、受信されたメッセージの整合性を検証するだけでなく、メッセージを認証することも可能であることができる。したがって、ＨＳＭ１３０がＩＣＶを含むメッセージを受信し、ＩＣＶが有効であると判定することが可能でない場合、メッセージは疑わしく、ＨＳＭ１３０によって無視されてもよい。それを行う際、ＨＳＭ１３０及びＧＭ１４０は、ＧＭ１４０又は特定のＨＳＭ１３０からのメッセージを偽装することを試みるエンティティに対して保護することができる。ＩＣＶを含むメッセージの例は、図３Ａ〜図５に関して以下で議論される。
【００３６】
２つ目に、一部の実施形態では、ＨＳＭ１３０は、Ｐｄｅｌａｙ交換１５４の間、１以上の後続のｓｙｎｃ通信１５２の間にそのマスタによって繰り返されるノンスを提供するように構成されている。（一部の実施形態では、マスタは、図７Ｂと共に議論されるように、追加のノンスを交換にも含めてもよい。）それを行う際、ＨＳＭ１３０及びＧＭ１４０は、悪意のあるエンティティが、それらがノンスを欠いているので、ノンスを提供する前に送信されたｓｙｎｃ通信１５２を再生することを防止することができる。したがって、ＨＳＭ１３０が前に提供された１つとは異なるノンスを含むｓｙｎｃ通信１５２を受信する場合、ＨＳＭ１３０は、通信１５２を疑わしいとして無視してもよい。ノンスを含むメッセージの例は、図３Ａ、図３Ｂ、図４Ａ、及び図６に関して以下で議論される。
【００３７】
３つ目に、一部の実施形態では、ＨＳＭ１３０は、ｓｙｎｃ通信１５２が有効であるかどうかを判定するために、Ｐｄｅｌａｙ交換１５４の間に予測されるオフセットを判定し、予測されるオフセットを使用して、所与のｓｙｎｃ通信１５２から計算されたオフセットに対する境界検査を実行するように構成されている。Ｐｄｅｌａｙ交換１５４が上記述べられたように、伝搬遅延を判定するために主に実行されるが、遅延を判定する際に取得された情報から、マスタのクロックとスレーブのクロックとの間のオフセットを判定することが可能である。特に、このオフセットは、１）第１のメッセージの出発時間及び第２のメッセージの到着時間の平均を計算し、２）第１のメッセージの到着時間及び第２のメッセージの出発時間の平均を計算し、３）差がオフセットであるように２つの平均の間の差を判定する、ことによって判定されてもよい。そのような実施形態では、ＨＳＭ１３０は、このオフセットを判定し、それを後続のｓｙｎｃ通信１５２に含まれるタイムスタンプに基づいて計算されたオフセットと比較するように構成されている。計算されたオフセットが特定の閾値よりも大きく予測されたものと異なる場合、ｓｙｎｃ通信１５２に含まれるタイムスタンプは疑わしい。結果として、ＨＳＭ１３０は、ｓｙｎｃ通信１５２を無視してもよく、疑わしいタイムスタンプに基づいて、時間情報１３４を提供することを試みなくてもよい。それを行う際、ＨＳＭ１３０は、偽装及び／又は中間者攻撃に対して保護することができる。境界検査を実行する方法の例は、図８に関して更に詳細に説明される。
【００３８】
ここで図２に目を向けると、ＨＳＭ１３０のブロック図が表される。上記述べられたように、一部の実施形態では、ＨＳＭ１３０は、ＨＳＭ１３０が以下で議論される理由により更にセキュアであることができることを理由に、ノード１２０の代わりにタイミング保持及び同期のために使用される。また述べられるように、一部の実施形態では、ＧＭ１４０は、ＧＭ１４０のセキュリティを改善するために、ＨＳＭ１３０に関して説明される機能性を実施してもよい。例示される実施形態では、ＨＳＭ１３０は、相互接続２６０を介して共に結合された、ネットワークインタフェース２１０、１以上のプロセッサ２２０、リードオンリメモリ（ＲＯＭ）２３０、ローカルクロック１３２、暗号アクセラレータ２４０、及び鍵記憶装置２５０を含む。ＲＯＭ２３０は、ファームウェア２３２をも含む。鍵記憶装置２５０は、１以上のＩＣＶ鍵２５２をも含む。一部の実施形態では、ＨＳＭ１３０は、示されるよりも多くの（又は、少ない）構成要素を含んでもよい。
【００３９】
ネットワークインタフェース２１０は、１つの実施形態では、ノード１２０との通信を促進するように構成されている。したがって、インタフェース２１０は、一部の実施形態では、シリアル周辺機器インタフェース（ＳＰＩ）バスである、リンク１２２にわたってデータを符号化及び復号することを実行してもよい。様々な実施形態では、インタフェース２１０は、到来する読み込み及び書き込み動作をフィルタリングすることによって、ノード１２０などの外部エンティティから内部構成要素２２０〜２５０を分離するようにも構成されている。一部の実施形態では、ＨＳＭ１３０は、少数のコマンドのみをサポートすることによって、制限された攻撃可能面を提示する。例えば、１つの実施形態では、ＨＳＭ１３０は、ノード１２０が現在時間を要求することを可能にするコマンド及びｓｙｎｃ通信１５２又はＰｄｅｌａｙ交換１５４についてのデータを提供するためのコマンドをサポートする。インタフェース２１０がノード１２０から、サポートされたコマンドでないデータを受信する場合、インタフェース２１０は、データがＨＳＭ１３０に入ることを防止することができる。それを行う際、ＨＳＭ１３０は、例えば、ノード１２０がローカルクロック１３２に直接アクセスすることが可能であることを防止する。
【００４０】
プロセッサ２２０は、１つの実施形態では、プログラム命令を実行して、ＨＳＭ１３０に関して本明細書で説明される様々な動作を実施するように構成されている。一部の実施形態では、プロセッサ２２０は、ＲＯＭ２３０からファームウェア２３２をブートするために、ブートにおける特定のアドレス範囲からフェッチするようにハードウェアに組み込まれる。特に、メモリ２３０がＲＯＭであることを理由に（容易に書き込むことができるいくつかの他のタイプのメモリとは反対に）、ファームウェア２３２は、修正に対して抵抗性を有し、よって、改ざんされることに対して抵抗性を有する。結果として、ＨＳＭ１３０は、単にプロセッサ２２０にリブートさせることによって、デフォルトの、信頼された状態に回復されてもよく、それは、例示される実施形態では、リセット信号２０２をアサートすることによって開始されてもよい。よって、プロセッサ２２０は更に、ＨＳＭ１３０内の構成要素を分離する役割を果たしてもよい。
【００４１】
暗号アクセラレータ２４０は、１つの実施形態では、ＨＳＭ１３０に対して暗号動作を実行するように構成された回路である。暗号アクセラレータ２４０は、データ暗号化標準（ＤＥＳ）、アドバンスト暗号化標準（ＡＥＳ）、Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｌｅｍａｎ（ＲＳＡ）、ＨＭＡＣなど、いずれかの適切な暗号化アルゴリズムを実施してもよい。例示される実施形態では、アクセラレータ２４０は、アクセラレータ２４０がＨＳＭ１３０の他の構成要素によってアクセスされることから分離することができる、鍵記憶装置２５０に記憶された鍵を使用するように構成されている。すなわち、一部の実施形態では、アクセラレータ２４０は、ＩＣＶ鍵２５２がプロセッサ２２０によって更新されることを可能にすることができるが、鍵２５２がプロセッサ２２０によって記憶装置２５０から読み込まれることを可能にすることができない。
【００４２】
様々な実施形態では、暗号アクセラレータ２４０は、ＩＣＶ鍵２５２を使用して、ｓｙｎｃ通信１５２及びＰｄｅｌａｙ交換１５４に含まれるＩＣＶを検証するように構成されている。したがって、アクセラレータ２４０は、メッセージを受信し、ＩＣＶ鍵２５２を使用してＩＣＶを計算し、計算されたＩＣＶを、受信されたメッセージに含まれるＩＣＶと比較するように構成されてもよい。２つのＩＣＶが一致しない場合、ＨＳＭ１３０は、時間情報１３４を計算するためにメッセージを使用するのではなく、それを破棄してもよい。ＩＣＶ鍵２５２は、上記述べられたアルゴリズムなどのいずれかの適切なアルゴリズムに対応してもよい。上記述べられたように、一部の実施形態では、ＩＣＶ鍵２５２は、そのＨＳＭ１３０に対して一意であり、すなわち、その鍵２５２を含む他のＨＳＭ１３０はない。
【００４３】
ここで図３Ａに目を向けると、ｓｙｎｃメッセージ３００の図が表される。上記述べられたように、ｓｙｎｃメッセージ３００は、ｓｙｎｃ通信１５２に含まれてもよいメッセージの実施例である。例示される実施形態では、メッセージ３００は、ヘッダ、予約部（「Ｒｅｓｅｒｖｅｄ」として示される）、ノンスフィールド（「ｓｌａｖｅＮｏｎｃｅ  Ｔｙｐｅ−Ｌｅｎｇｔｈ−Ｖａｌｕｅ（ＴＬＶ）」として示される）、及びＩＣＶフィールド（「ＩＣＶ  ＴＬＶ」として示される）を含む。それらのフィールドは、いずれかの適切なサイズであってもよいが、この実施例では、ヘッダ、予約部、ノンスフィールド、及びＩＣＶフィールドは、それぞれ３４、１０、約１０、及び約３０オクテットのサイズを有する。特に、例示される実施形態では、ＩＣＶフィールドは、図５に関して議論されるように、メッセージ３００についてのＩＣＶを含み、ノンスフィールドは、図６に関して議論されるように、マスタ（例えば、図１におけるＧＭ１４０又はＨＳＭ１３０Ｄ）によって再度繰り返されるノンスを含む。一部の実施形態では、ｓｙｎｃメッセージ３００は、示されるよりも多い（又は、少ない）要素を含んでもよい。一部の実施形態では、ｓｙｎｃメッセージ３００は、フレームの終わりに付加されたノンスフィールド及びＩＣＶフィールドを有するＩＥＥＥ８０２．１ＡＳ  ｓｙｎｃフレームである。
【００４４】
ここで図３Ｂに目を向けると、ｓｙｎｃ  ｆｏｌｌｏｗ−ｕｐ３５０の図が表される。上記述べられたように、ｓｙｎｃ  ｆｏｌｌｏｗ−ｕｐ３５０は、ｓｙｎｃ通信１５２に含まれてもよい別のメッセージの実施例である。例示される実施形態では、メッセージ３５０は、ヘッダ、タイムスタンプ（「ｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐ」として示される）、通信１５２に関する追加のメタデータ（「Ｆｏｌｌｏｗ＿ＵＰ  Ｉｎｆｏｒｍａｔｉｏｎ  ＴＬＶ」として示される）、ノンスフィールド（「ｓｌａｖｅＮｏｎｃｅ  Ｔｙｐｅ−Ｌｅｎｇｔｈ−Ｖａｌｕｅ（ＴＬＶ）」として示される）、及びＩＣＶフィールド（再度「ＩＣＶ  ＴＬＶ」として示される）を含む。それらのフィールドは、いずれかの適切なサイズであってもよいが、この実施例では、それらのフィールドは、それぞれ３４、１０、３４、約１０、及び約３０オクテットのサイズを有する。特に、例示される実施形態では、タイムスタンプは、前のｓｙｎｃメッセージ３００の出発時間、すなわち、メッセージ３００がマスタを出るときのネットワーク時間の値（例えば、識別されたネットワーククロック１４２として、又はローカルクロック１３２Ｄ及びＨＳＭ１３０Ｄの判定されたオフセットに基づいて判定されるように）を示す。一部の実施形態では、メッセージ３５０は、示されるよりも多い（又は、少ない）要素を含んでもよい。一部の実施形態では、メッセージ３５０は、フレームの終わりに付加されたＩＣＶフィールドを有するＩＥＥＥ８０２．１ＡＳ  ｓｙｎｃ  ｆｏｌｌｏｗ−ｕｐフレームである。
【００４５】
ここで図４Ａに目を向けると、Ｐｄｅｌａｙ要求４００Ａ及びＰｄｅｌａｙ要求４００Ｂの図が表される。上記述べられたように、Ｐｄｅｌａｙ要求４００は、Ｐｄｅｌａｙ交換１５４に含まれてもよく、マスタから対応する応答を要求する初期メッセージの実施例である。示されるように、メッセージ４００Ａは、ヘッダ、２つの予約部（再度「Ｒｅｓｅｒｖｅｄ」として示される）、ノンスフィールド（再度「ｓｌａｖｅＮｏｎｃｅ  ＴＬＶ」として示される）、及びＩＣＶフィールドを含む。それらのフィールドは、いずれかの適切なサイズであってもよいが、この実施例では、それらのフィールドは、それぞれ３４、１０、１０、約１０、及び約３０オクテットのサイズを有する。特に、例示される実施形態では、ノンスフィールドは、後にｓｙｎｃメッセージ３００及び／又はｓｙｎｃ  ｆｏｌｌｏｗ−ｕｐメッセージ３５０に含めるための、ＨＳＭ１３０によって送信されたノンスを含む。一部の実施形態では、メッセージ４００Ａは、示されるよりも多い（又は、少ない）要素を含んでもよい。したがって、要求４００Ｂに示されるように、ＩＣＶフィールドは省略されてもよい。一部の実施形態では、メッセージ４００は、フレームの終わりに付加されたノンスフィールド及び／又はＩＣＶフィールドを有するＩＥＥＥ８０２．１ＡＳ  Ｐｄｅｌａｙ要求フレームである。
【００４６】
ここで図４Ｂに目を向けると、Ｐｄｅｌａｙ応答４３０Ａ及びＰｄｅｌａｙ応答４３０Ｂの図が表される。上記述べられたように、Ｐｄｅｌａｙ応答４３０は、Ｐｄｅｌａｙ交換１５４に含まれてもよく、Ｐｄｅｌａｙ要求４００への応答である別のメッセージの実施例である。示されるように、メッセージ４３０Ａは、ヘッダ、タイムスタンプ（「ｒｅｑｕｅｓｔＲｅｃｅｉｐｔＴｉｍｅｓｔａｍｐ」として示される）、要求するＨＳＭ１３０のポートを識別するポート番号フィールド（「ｒｅｑｕｅｓｔｉｎｇＰｏｒｔＩｄｅｎｔｉｔｙ」として示される）、及びＩＣＶフィールド（再度「ＩＣＶ  ＴＬＶ」として示される）を含む。それらのフィールドは、いずれかの適切なサイズであってもよいが、この実施例では、それらのフィールドは、それぞれ３４、１０、１０、及び約３０オクテットのサイズを有する。特に、例示される実施形態では、タイムスタンプは、前のＰｄｅｌａｙ要求４００の到着時間、すなわち、メッセージ４００がＧＭ１４０において受信されるときのネットワーク時間の値を示す。一部の実施形態では、メッセージ４３０Ａは、示されるよりも多い（又は、少ない）要素を含んでもよい。したがって、応答４３０Ｂに示されるように、別のノンス（「ｍａｓｔｅｒＮｏｎｃｅ  ＴＬＶ」として示される）は、マスタが応答４３０Ｂを送信することによって含まれてもよい。図４Ｃ及び図７Ｂに関して以下で説明されるように、この追加のノンスは、要求４００においてスレーブによって供給される元のノンスと共にｆｏｌｌｏｗ−ｕｐメッセージに後に含まれるとき、応答４３０が正当であると確認するために使用されてもよい。一部の実施形態では、メッセージ４３０は、フレームの終わりに付加されたＩＣＶフィールド及び／又はマスタ供給ノンスを有するＩＥＥＥ８０２．１ＡＳ  Ｐｄｅｌａｙ応答フレームである。
【００４７】
ここで図４Ｃに目を向けると、Ｐｄｅｌａｙ  ｆｏｌｌｏｗ−ｕｐ４６０Ａ及びＰｄｅｌａｙ  ｆｏｌｌｏｗ−ｕｐ４６０Ｂの図が表される。上記述べられたように、Ｐｄｅｌａｙ  ｆｏｌｌｏｗ−ｕｐ４６０は、Ｐｄｅｌａｙ交換１５４に含まれてもよく、前のＰｄｅｌａｙ応答４３０に関する追加の情報を含む別のメッセージの実施例である。示されるように、メッセージ４６０Ａは、ヘッダ、タイムスタンプ（「ｒｅｓｐｏｎｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐ」として示される）、要求するＨＳＭ１３０のポートを識別するポート番号フィールド（「ｒｅｑｕｅｓｔｉｎｇＰｏｒｔＩｄｅｎｔｉｔｙ」として示される）、及びＩＣＶフィールド（再度「ＩＣＶ  ＴＬＶ」として示される）を含む。それらのフィールドは、いずれかの適切なサイズであってもよいが、この実施例では、それらのフィールドは、それぞれ３４、１０、１０、及び約３０オクテットのサイズを有する。特に、例示される実施形態では、タイムスタンプは、Ｐｄｅｌａｙ応答４３０の出発時間、すなわち、メッセージ４３０がマスタを出るときのネットワーク時間の値を示す。一部の実施形態では、メッセージ４６０は、示されるよりも多い（又は、少ない）要素を含んでもよい。したがって、ｆｏｌｌｏｗ−ｕｐ４６０Ｂに示されるように、第１のノンス（「ｓｌａｖｅＮｏｎｃｅ  ＴＬＶ」として示される）及び第２のノンス（「ｍａｓｔｅｒＮｏｎｃｅ  ＴＬＶ」として示される）が含まれてもよい。そのような実施形態では、第１のノンスは、スレーブによって要求４００に含まれるノンスに対応し、第２のノンスは、マスタによって応答４３０Ｂに含まれるノンスに対応する。図７Ｂと共に説明されるように、第２の、マスタ供給ノンスは、第１の、スレーブ供給ノンスとの関連付けを確立するために含まれてもよい。この関連付けを確認すると、スレーブＨＳＭ１３０は、メッセージ４３０Ｂ内のマスタ供給ノンスがｆｏｌｌｏｗ−ｕｐ４６０Ｂ内の第２のノンスと一致すると確認することによって、前の受信された応答４３０Ｂを判定してもよい。一部の実施形態では、メッセージ４６０は、フレームの終わりに付加されたＩＣＶフィールド、スレーブ供給ノンス、及び／又はマスタ供給ノンスを有するＩＥＥＥ８０２．１ＡＳ  Ｐｄｅｌａｙ  ｆｏｌｌｏｗ−ｕｐフレームである。
【００４８】
ここで図５に目を向けると、ＩＣＶフィールド５００の図が表される。上記述べられたように、ＩＣＶフィールド５００は、メッセージ３００〜４６０についてのＩＣＶを含む。例示される実施形態では、フィールド５００は加えて、フィールド５００のタイプの識別子（「ｔｌｖＴｙｐｅ」として示される）、フィールド５００の長さ（「ｌｅｎｇｔｈＦｉｅｌｄ」として示される）、どの程度フィールド５００が有効であるかを示す存続期間フィールド（「ｌｉｆｅｔｉｍｅＩｄ」として示される）、トラバースすることができるリンク１１２の数を示す再生カウンタ（「ｒｅｐｌａｙＣｏｕｎｔｅｒ」として示される）、ＩＣＶ鍵２５２の識別子（「ｋｅｙＩｄ」として示される）、ＩＣＶを生成するために使用されるアルゴリズムの識別子（「ａｌｇｏｒｉｔｈｍＩｄ」として示される）、予約済みフィールド、パディングフィールド、及びＩＣＶを含む。一部の実施形態では、ＩＣＶフィールド５００は、示されるよりも多い（又は、少ない）要素を含んでもよい。
【００４９】
ここで図６に目を向けると、ノンスフィールド６００の図が表される。上記述べられたように、ノンスフィールド６００は、メッセージ３００及び４００内のノンスを含む。例示される実施形態では、フィールド６００は加えて、フィールド６００のタイプの識別子（「ｔｌｖＴｙｐｅ」として示される）、フィールド６００の長さ（「ｌｅｎｇｔｈＦｉｅｌｄ」として示される）、何らかの初期状態から使用されるノンスの数を示す数（「ｎｏｎｃｅＣｏｕｎｔ」として示される）、及びノンス（「ｓｌａｖｅＮｏｎｃｅ」として示される）を含む。一部の実施形態では、ＩＣＶフィールド６００は、示されるよりも多い（又は、少ない）要素を含んでもよい。
【００５０】
ここで図７Ａに目を向けると、マスタ（例えば、図１におけるＧＭ１４０又はＨＳＭ１３０Ｄ）とスレーブ（例えば、図１におけるＨＳＭ１３０Ａ、Ｂ、又はＤ）との間の時間同期７００Ａの通信図が表される。例示される実施形態では、同期７００Ａは、それにｓｙｎｃ通信１５２が続く伝搬遅延を判定して、ネットワーク時間に調節されたマスタのクロックとスレーブのクロックとの間のオフセットを判定するためのＰｄｅｌａｙ交換１５４を含む。一部の実施形態では、同期７００Ａは、同期７００Ａが繰り返される前の通信１５２の追加の実施を含んでもよい。
【００５１】
示されるように、Ｐｄｅｌａｙ交換１５４は、スレーブからマスタへの、ノンス及びＩＣＶを含むＰｄｅｌａｙ要求４００Ａの出発である時間Ｔ１に始まってもよい。スレーブは、Ｔ１についてのタイムスタンプ（クロック１３２によって示される）をも記憶してもよい。時間Ｔ２に、要求４００Ａは、要求４００ＡについてのＩＣＶが正当であると確認し、ｓｙｎｃ通信１５２にその後含めるためのノンスを記憶する、マスタに到達する。時間Ｔ３に、マスタは、スレーブに、Ｔ２についてのタイムスタンプ（クロック１４２によって示される）及びＩＣＶを含むＰｄｅｌａｙ応答４３０Ａを送信する。時間Ｔ４に、応答４３０Ａは、ＩＣＶを確認し、Ｔ４についてのタイムスタンプを記憶する、スレーブに到達する。その後、Ｔ３についてのタイムスタンプを含むＰｄｅｌａｙ  ｆｏｌｌｏｗ−ｕｐ４６０Ａは、ＩＣＶが正当であると確認する、スレーブに到達する。スレーブは次いで、Ｔ４とＴ３との間の差及びＴ２とＴ１との間の差の平均を計算することによって、伝搬遅延を判定してもよい。
【００５２】
示されるように、ｓｙｎｃ通信１５２は、マスタが、スレーブに、ノンス及びＩＣＶを含むｓｙｎｃメッセージ３００を送信することにより、時間Ｔ５に始まってもよい。時間Ｔ６に、ｓｙｎｃメッセージ３００は、ＩＣＶを検証し、メッセージ３００に含まれるノンスがＰｄｅｌａｙ要求４００Ａに含まれる前のノンスに一致することを確認することによって、メッセージ３００が有効であるかどうかを判定する、スレーブに到達する。一部の実施形態では、スレーブは、ノンスを比較することによって、一致が存在するかどうかを判定する。別の実施形態では、スレーブは、ノンスに基づいて生成されたチェックサムを比較することによって、一致が存在するかどうかを判定し、一部の実施形態では、それらのチェックサムは、ノンスを含む代わりに（又は、それに加えて）１以上のメッセージ４００Ａ、３００、及び３５０に含まれてもよい。その後、マスタは、ノンス及びＩＣＶが正当であることを確認するスレーブに、Ｔ５についてのタイムスタンプ及び前のノンスの複製を含むｓｙｎｃ  ｆｏｌｌｏｗ−ｕｐ３５０を送信する。ｓｙｎｃメッセージ３００及びｆｏｌｌｏｗ−ｕｐ３５０の両方が有効である場合、スレーブは、前の判定された伝搬遅延に基づいて、Ｔ５についてのタイムスタンプを調節し、Ｔ６についてのタイムスタンプとＴ５についての調節されたタイムスタンプとの間の差を判定することによって、ネットワーク時間に調節されたマスタのクロックとそのクロックとの間のオフセットを計算する。
【００５３】
判定されたオフセットを使用して、ローカルクロック１３２からネットワーク時間を計算する前に、様々な実施形態では、スレーブは更に、計算されたオフセットを、Ｔ１〜Ｔ４を識別するタイムスタンプから計算された別のオフセット（例えば、「予測される」オフセット）と比較することによって、境界検査を実行する。様々な実施形態では、スレーブは、１）中間点７０２Ａ（Ｔ１及びＴ４の平均）及び中間点７０２Ｂ（Ｔ２及びＴ３の平均）を判定し、２）中間点７０２Ａ及び７０２Ｂの間の差を判定して、予測されるオフセットを生成することによって、この予測されるオフセットを計算する。予測されるオフセットが閾値よりも大きく（一部の実施形態では、Ｔ１と中間点７０２Ａとの間の距離）ｓｙｎｃ通信１５２から計算されたオフセットと異なる場合、ｓｙｎｃ通信１５２から計算されたオフセットは疑わしく、破棄されてもよい。しかしながら、オフセットの間の差が閾値未満である（又は、閾値に等しい）場合、スレーブは、ローカルクロック１３２の値及びｓｙｎｃ通信１５２から計算されたオフセットに基づいて、ネットワーク時間を判定することを続行してもよく、ノード１２０に、この判定されたネットワーク時間を時間情報１３４として提供してもよい。
【００５４】
ここで図７Ｂに目を向けると、マスタ（例えば、ＧＭ１４０又はＨＳＭ１３０Ｄ）とスレーブ（例えば、ＨＳＭ１３０Ａ、Ｂ、又はＤ）との間の時間同期７００Ｂの別の実施例の通信図が表される。例示される実施形態では、同期７００Ｂは、ｓｙｎｃ通信１５２がそれに続くＰｄｅｌａｙ交換１５４を含む。特に、同期７００Ｂは、同期７００Ａと同様であるが、ノンスのその使用において異なる。
【００５５】
示されるように、同期は、スレーブが、Ｔ２にマスタに到達する第１のノンス（ノンスＡとして示される）を含むＰｄｅｌａｙ要求４００Ｂを送信することにより、時間Ｔ１に始まってもよい。Ｔ３に、マスタは、Ｔ２についてのタイムスタンプ、及びＴ４に受信される第２のノンス（ノンスＢとして示される）を含む応答４３０Ｂを送信する。マスタは次いで、応答４３０Ｂへのｆｏｌｌｏｗ−ｕｐ４６０Ｂを送信し、ｆｏｌｌｏｗ−ｕｐ４６０Ｂは、第１のノンス及び第２のノンスの両方と共に、Ｔ３についてのタイムスタンプを含む。第１のノンス及び第２のノンスをｆｏｌｌｏｗ−ｕｐ４６０Ｂに含めることによって、マスタは、第１のノンスとの第２のノンスの関連付けを確立する。この関連付けに基づいて、スレーブは次いで、応答４３０Ｂ内の第２のノンスをｆｏｌｌｏｗ−ｕｐ４６０内の第２のノンスと比較することによって（上記議論されたように、ノンス又はノンスに基づいて生成されたチェックサムを比較することを含んでもよい）、前の受信された応答４３０Ｂが有効であるかどうかを判定することができる。言い換えると、この方式で第１のノンス及び第２のノンスを関連付けることは、タイミングの制約に起因して、マスタが第１のノンスを含むことが可能でない場合でさえ、前のメッセージが後に正当であると確認されることを可能にする。この前のメッセージが正当であると確認することが可能であることは次いで、悪意のあるエンティティが何らかの他のノンスにより古い応答４３０Ｂを再生することを防止する。
【００５６】
示されるように、同期７００Ｂは、メッセージ３００及び３５０が正当であると確認するための第１のノンスを両方が含む、ｓｙｎｃメッセージ３００及びｆｏｌｌｏｗ−ｕｐメッセージ３５０の送信と共に、同期７００Ａにおいて議論されたように、メッセージ４３０Ｂ及び４６０Ｂが正当であると確認することの正当性確認の後に続行してもよい。
【００５７】
ここで図８に目を向けると、境界検査８００のフローチャートが表される。境界検査８００は、上記議論されたｓｙｎｃ  ｆｏｌｌｏｗ−ｕｐ３５０などの同期メッセージ内のタイムスタンプから判定されたオフセットの境界を検査する方法の１つの実施例である。様々な実施形態では、境界検査８００は、ネットワーク上のトラフィックを調整するための第１の時間値を維持するように構成された第１のクロック回路（例えば、ローカルクロック１３２）、及びＨＳＭ１３０などの同期回路を有する装置によって実行される。そのような実施形態では、検査８００を実行する装置は、対応するマスタと同期することを試みるスレーブとしての機能を果たしていてもよい。
【００５８】
ステップ８１０では、同期回路は、第２の時間値を維持する第２のクロック回路（例えば、ネットワーククロック１４２）と関連付けられた同期情報を受信するためのネットワークを通じて、伝搬遅延を判定する。そのような実施形態では、ステップ８１０は、同期回路が、ネットワークを通じて第１のメッセージ（例えば、Ｐｄｅｌａｙ要求４００）を送信すること、及びネットワークを通じて第２のメッセージ（例えば、Ｐｄｅｌａｙ応答４３０）を受信することを含む。
【００５９】
ステップ８２０では、同期回路は、第１のメッセージの出発及び到着時間（例えば、時間Ｔ１及びＴ２）並びに第２のメッセージの出発及び到着時間（例えば、時間Ｔ３及びＴ４）に基づいて、第１の時間値と第２の時間値との間の予測されるオフセットを判定する。一部の実施形態では、ステップ８２０は、第１のメッセージの到着時間と第２のメッセージの出発時間との間の第１の平均（例えば、中間点７０２Ｂ）を計算すること、第１のメッセージの出発時間と第２のメッセージの到着時間との間の第２の平均（例えば、中間点７０２Ａ）を計算すること、並びに第１の平均と第２の平均との間の差を判定することを含み、予測されるオフセットは、差である。一部の実施形態では、同期回路は、第１のメッセージの出発時間及び第２のメッセージの到着時間を記憶し、第２のメッセージ内の第１のメッセージ（例えば、Ｐｄｅｌａｙ応答４３０）の到着時間を受信し、第２のメッセージの出発時間を含む第３のメッセージ（例えば、Ｐｄｅｌａｙ  ｆｏｌｌｏｗ−ｕｐ４６０）を受信する。
【００６０】
ステップ８３０では、同期回路は、第２の時間値のタイムスタンプを指定する同期情報（例えば、ｓｙｎｃ通信１５２）を受信する。一部の実施形態では、受信された同期情報は、タイムスタンプを指定する第３のメッセージ（例えば、ｓｙｎｃ  ｆｏｌｌｏｗ−ｕｐ３５０）及び第３のメッセージの整合性検査値を含む。そのような実施形態では、ステップ８３０は、整合性検査値を使用して、第３のメッセージが正当であることを確認することを含む。一部の実施形態では、受信された同期情報は、ノンスを含む第４のメッセージ（例えば、ｓｙｎｃメッセージ３００）を含み、ステップ８３０は、同期回路が、ノンスを第１のメッセージにおいて送信されたノンスと比較することによって、受信された同期情報が正当であることを確認することを含む。一部の実施形態では、第２のフレーム内のノンスは、整合性検査値フィールド（例えば、ＩＣＶフィールド５００）と共に第２のフレームの終わりに付加されたフィールド（例えば、ノンスフィールド６００）に含まれる。
【００６１】
ステップ８４０では、同期回路は、予測されるオフセットを、タイムスタンプに基づいて計算されたオフセットと比較することによって、タイムスタンプが有効であるかどうかを判定する。一部の実施形態では、電子制御ユニット（ＥＣＵ）は、第１の時間値及び計算されたオフセットに基づいて、ネットワーク上でネットワークトラフィックを通信する。
【００６２】
ここで図９Ａに目を向けると、ＩＣＶ検査９００のフローチャートが表される。ＩＣＶ検査９００は、上記議論されたｓｙｎｃ  ｆｏｌｌｏｗ−ｕｐ３５０など、同期メッセージにおいて発見されるＩＣＶを検査する方法の１つの実施例である。同期メッセージに関して以下で説明されるが、ＩＣＶを含む他のメッセージに関してＩＣＶ検査９００の他の実施形態が実行されてもよい。様々な実施形態では、ＩＣＶ検査９００は、ＨＳＭ１３０などのＩＣＶを含むメッセージの受信側によって実行されるが、ＩＣＶを含むフレームを生成する送信側に対する対応する方法も企図される。
【００６３】
検査９００は、セキュア回路が、マスタクロック（例えば、ネットワーククロック１４２）と関連付けられた時間値を指定する同期メッセージ（例えば、ｓｙｎｃ  ｆｏｌｌｏｗ−ｕｐ３５０）及びメッセージについての整合性検査値を受信することにより、ステップ９１０において始まる。一部の実施形態では、ＥＣＵは、ネットワークについてのマスタクロックに従って、ネットワークを通じてトラフィックを通信するように構成されている。様々な実施形態では、ネットワークノードは、マスタクロックを含み、セキュア回路に対して一意な鍵を使用して整合性検査値を計算するように構成されている。ステップ９２０では、セキュア回路は、整合性検査値に基づいて、同期メッセージが有効であるかどうかを判定する。ステップ９３０では、セキュア回路は、同期メッセージが有効であると判定したことに応じて、ＥＣＵに、時間値と関連付けられた時間情報（例えば、時間情報１３４）を提供する。
【００６４】
一部の実施形態では、検査９００は、応答について問い合わせる第１のメッセージ（例えば、Ｐｄｅｌａｙ要求４００）を送信し、応答を含む第２のメッセージ（例えば、Ｐｄｅｌａｙ応答４３０）を受信することによって、セキュア回路と同期メッセージの送信側との間の伝搬遅延を判定することも含む。そのような実施形態では、第１のメッセージ及び第２のメッセージは、整合性検査値を含む。様々な実施形態では、時間情報は、ステップ９３０では、伝搬遅延及びマスタクロックの時間値に基づいて判定される。一部の実施形態では、整合性検査値は、第１及び第２のメッセージの終わりに（例えば、図４Ａ及び図４Ｂに示されるようなＩＣＶ  ＴＬＶに）付加される。一部の実施形態では、セキュア回路は、第１のメッセージの出発時間及び第２のメッセージの到着時間に基づいてオフセットを計算し、オフセットと時間値に基づいて計算されたオフセットとの間の比較に基づいて、同期メッセージが有効であるかどうかを判定する。
【００６５】
ここで図９Ｂに目を向けると、ノンス検査９５０のフローチャートが表される。ノンス検査９５０は、上記議論されたＰｄｅｌａｙ要求４００及びｓｙｎｃ  ｆｏｌｌｏｗ−ｕｐ３５０など、複数のフレームにおいて発見されるノンスを検査する方法の１つの実施例である。様々な実施形態では、ノンス検査９５０は、スレーブが、そのクロックをマスタのクロックと同期することを試みることによって実行されるが、ノンスを受信し、それを別のフレームに挿入するマスタに対する対応する方法も企図される。
【００６６】
ステップ９６０では、第１の回路は、第２の回路に、第１のノンスを含む第１のメッセージ（例えば、Ｐｄｅｌａｙ要求４００）を送信する。そのような実施形態では、第１の回路は、ネットワークに結合された通信ノードについてのローカル時間値を維持するように構成された第１のクロック（例えば、ローカルクロック１３２）を有し、第２の回路は、ネットワークについてのネットワーク時間値を維持する第２のクロック（例えば、ネットワーククロック１４２）を有する。一部の実施形態では、第１のメッセージは、第１の回路と第２の回路との間の伝搬遅延を判定するために、第２の回路との交換の間に送信される。
【００６７】
ステップ９７０では、第１の回路は、第２の回路から、第２のノンス（例えば、ｓｙｎｃメッセージ３００内のｓｌａｖｅＮｏｎｃｅ  ＴＬＶ）を含み、ネットワーク時間値を識別するタイムスタンプ（例えば、図３ＢにおけるｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐ）と関連付けられている第２のメッセージ（例えば、ｓｙｎｃメッセージ３００）を受信する。一部の実施形態では、ステップ９７０は、タイムスタンプがｆｏｌｌｏｗ−ｕｐメッセージに含まれ、第２のメッセージが第２の回路から送信されるときのネットワーク時間値を示すように、第２の回路から、第２のメッセージへのｆｏｌｌｏｗ−ｕｐメッセージを受信することを含む。
【００６８】
ステップ９８０では、第１の回路は、第１のノンスを第２のノンスと比較して、タイムスタンプが有効であるかどうかを判定する。一部の実施形態では、第２のメッセージは、第２のメッセージについての暗号チェックサムを含み、ステップ９８０は、第１の回路の暗号回路（例えば、暗号アクセラレータ２４０）が、暗号回路に記憶された鍵を使用して暗号チェックサムを検証して、タイムスタンプが有効であるかどうかを判定することを含む。
【００６９】
ステップ９９０では、第１の回路は、タイムスタンプが有効であると判定したことに応じて、タイムスタンプを使用して、第１のクロックを第２のクロックと同期する。一部の実施形態では、第１の回路は、タイムスタンプを使用して、伝搬遅延及びタイムスタンプに基づいて、第１のクロックと第２のクロックとの間のオフセットを判定することによって、第１のクロックを第２のクロックと同期する。一部の実施形態では、ステップ９８０は、１）予測されるオフセットが、ステップ９６０と共に議論された交換から判定されたタイミング情報に基づいて計算されるように、第１のクロックと第２のクロックとの間の予測されるオフセットを計算すること、及び２）判定されたオフセットを予測されるオフセットと比較することによって、判定されたオフセットが正当であると確認することを含む。
例示的なコンピュータシステム
【００７０】
ここで図１０に目を向けると、例示的なコンピュータシステム１０００のブロック図が表される。コンピュータシステム１０００は、ノード１２０又はグランドマスタ１４０などのセキュアネットワーク１００の１以上の構成要素を実施するために使用することができるコンピュータシステムの１つの実施形態である。例示される実施形態では、コンピュータシステム１０００は、相互接続１０８０（例えば、システムバス）を介してシステムメモリ１０４０及びＩ／Ｏインタフェース１０６０に結合されたプロセッササブシステム１０２０を含む。Ｉ／Ｏインタフェース１０６０は、１以上のＩ／Ｏデバイス１０７０に結合される。コンピュータシステム１０００は、サーバシステム、パーソナルコンピュータシステム、ネットワークコンピュータ、組み込みシステムなどを含むが、それらに限定されない様々なタイプのデバイスのいずれかであってもよい。単一のコンピュータシステム１０００が簡易化のために図１０において示されるが、システム１０００は、共に動作する２つ以上のコンピュータシステムとしても実施されてもよい。
【００７１】
プロセッササブシステム１０２０は、１以上のプロセッサ又は処理ユニットを含んでもよい。コンピュータシステム１０００の様々な実施形態では、プロセッササブシステム１０２０の複数のインスタンスは、相互接続１０８０に結合されてもよい。様々な実施形態では、プロセッササブシステム１０２０（又は、１０２０内の各々のプロセッサユニット）は、キャッシュ又は他の形式の搭載メモリを含んでもよい。
【００７２】
システムメモリ１０４０は、システム１０００に、本明細書で説明される様々な動作を実行させるようにプロセッササブシステム１０２０によって実行可能なプログラム命令を記憶するように使用可能である。システムメモリ１０４０は、ハードディスク記憶装置、フロッピーディスク記憶装置、着脱可能ディスク記憶装置、フラッシュメモリ、ランダムアクセスメモリ（ＲＡＭ−ＳＲＡＭ、ＥＤＯ  ＲＡＭ、ＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ、ＲＡＭＢＵＳ  ＲＡＭなど）、及びリードオンリメモリ（ＰＲＯＭ、ＥＥＰＲＯＭなど）など、異なる物理、非一時的メモリ媒体を使用して実施されてもよい。コンピュータシステム１０００内のメモリは、メモリ１０４０などの主記憶装置に限定されない。むしろ、コンピュータシステム１０００は、プロセッササブシステム１０２０内のキャッシュメモリ及びＩ／Ｏデバイス１０７０上の二次的記憶装置（例えば、ハードドライブ、記憶装置アレイなど）などの他の形式の記憶装置をも含んでもよい。一部の実施形態では、それらの他の形式の記憶装置は、本明細書で説明される動作を実行するためにプロセッササブシステム１０２０によって実行可能なプログラム命令をも記憶してもよい。
【００７３】
Ｉ／Ｏインタフェース１０６０は、様々な実施形態に従って、他のデバイスに結合され、他のデバイスと通信するように構成された様々なタイプのインタフェースのいずれかであってもよい。１つの実施形態では、Ｉ／Ｏインタフェース１０６０は、正面から１以上の背面バスへのブリッジチップ（例えば、サウスブリッジ）である。Ｉ／Ｏインタフェース１０６０は、１以上の対応するバス又は他のインタフェースを介して１以上のＩ／Ｏデバイス１０７０に結合されてもよい。Ｉ／Ｏデバイス１０７０の例としては、記憶装置（ハードドライブ、光学ドライブ、着脱可能フラッシュドライブ、記憶装置アレイ、ＳＡＮ、又はそれらの関連するコントローラ）、ネットワークインタフェースデバイス（例えば、ローカル若しくはワイドエリアネットワークへの）、又は他のデバイス（例えば、グラフィック、ユーザインタフェースデバイスなど）が挙げられる。１つの実施形態では、コンピュータシステム１０００は、ネットワークインタフェースデバイス１０７０（例えば、ＷｉＦｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、イーサネットなどを通じて通信するように構成された）を介してネットワークに結合される。
【００７４】
特定の実施形態が上記説明されてきたが、それらの実施形態は本開示の範囲を限定する意図はなく、特定の特徴に対して単一の実施形態のみが記載されている場合でも同様である。本開示で提供されている機能の実施例は、別途記載がない限り、例示的な性質のものであって、限定的な目的を意図していない。上の記載は、本開示の利点を有する当業者に明らかであるように、このような代替物、改変例、及び均等物を包含することが意図されている。
【００７５】
本開示の範囲は、本願で取り組まれている問題の一部又は全てを軽減するかどうかに関係なく、本願で（明示的又は暗黙的に）開示されている全ての機能若しくはそれら機能の組み合わせ、又はそれらの一般化を含む。したがって、新しい特許請求は、本願のこのような機能の組み合わせに対する本願（又は、本願に対する優先権を主張する出願）の手続き中に策定し得る。特に、添付の特許請求の範囲に関しては、従属クレームの機能は独立クレームの機能と組み合わされる場合があり、それぞれの独立クレームの機能は、任意の適切な方法で、かつ、単に添付の特許請求の範囲で列挙されている特定の組み合わせではない形で組み合わされる場合がある。
【図１】
2019530308.tif 000003
【図２】
2019530308.tif 000004
【図３Ａ】
2019530308.tif 000005
【図３Ｂ】
2019530308.tif 000006
【図４Ａ】
2019530308.tif 000007
【図４Ｂ】
2019530308.tif 000008
【図４Ｃ】
2019530308.tif 000009
【図５】
2019530308.tif 000010
【図６】
2019530308.tif 000011
【図７Ａ】
2019530308.tif 000012
【図７Ｂ】
2019530308.tif 000013
【図８】
2019530308.tif 000014
【図９Ａ】
2019530308.tif 000015
【図９Ｂ】
2019530308.tif 000016
【図１０】
2019530308.tif 000017
【手続補正書】
【提出日】平成31年2月28日(2019.2.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークに結合されたノードに対してローカル時間値を維持するように構成された第１のクロックを有する第１の回路を備え、前記第１の回路は、
第２の回路に第１のメッセージであって、前記第１のメッセージは、第１のノンスを含み、前記第２の回路は、前記ネットワークに対して基準時間値を維持する第２のクロックを有する、第１のメッセージを送信し、
前記第２の回路から第２のメッセージであって、前記第２のメッセージは、第２のノンスを含み、前記基準時間値を識別するタイムスタンプと関連付けられている、第２のメッセージを受信し、
前記第１のノンスを前記第２のノンスと比較して、前記タイムスタンプが有効であるかどうかを判定し、
前記タイムスタンプが有効であると判定したことに応じて、前記タイムスタンプを使用して、前記第１のクロックを前記第２のクロックと同期する、
ように構成されている、装置。
【請求項２】
前記第１の回路は、前記第２の回路との交換の間に前記第１のメッセージを送信して、前記第１の回路と前記第２の回路との間の伝搬遅延を判定するように構成されている、請求項１に記載の装置。
【請求項３】
前記第１の回路は、
前記タイムスタンプを使用して、前記伝搬遅延及び前記タイムスタンプに基づいて、前記第１のクロックと前記第２のクロックとの間のオフセットを判定することによって、前記第１のクロックを前記第２のクロックと同期するように構成されている、請求項２に記載の装置。
【請求項４】
前記第１の回路は、
前記第１のクロックと第２のクロックとの間の予測されるオフセットが前記交換から判定されたタイミング情報に基づいて計算されるように、前記予測されるオフセットを計算し、
前記判定されたオフセットを前記予測されるオフセットと比較することによって、前記判定されたオフセットが正当であると確認する、
ように構成されている、請求項３に記載の装置。
【請求項５】
前記第１の回路は、前記第２の回路から、前記第２のメッセージへのｆｏｌｌｏｗ−ｕｐメッセージを受信するように構成されており、前記タイムスタンプは、前記ｆｏｌｌｏｗ−ｕｐメッセージに含まれ、前記第２のメッセージが前記第２の回路から送信されるときの前記基準時間値を示す、請求項１に記載の装置。
【請求項６】
前記第２のメッセージは、前記第２のメッセージについての暗号チェックサムを含み、
前記第１の回路は、暗号回路に記憶された鍵を使用して前記暗号チェックサムを検証して、前記タイムスタンプが有効であるかどうかを判定するように構成された前記暗号回路を含む、
請求項１に記載の装置。
【請求項７】
前記ノードを更に備え、前記第１の回路は、前記ノードに結合され、前記ノードに、前記第２のクロックとの前記第１のクロックの同期に基づいて、タイミング情報を提供するように構成されている、請求項１に記載の装置。
【請求項８】
ネットワークと関連付けられた第１の時間値を維持するように構成された第１のクロック回路と、
同期回路であって、前記同期回路は、
第２の時間値を維持する第２のクロック回路と関連付けられた同期情報を受信するための前記ネットワークを通じて、前記同期回路が前記ネットワークを通じて第１のメッセージを送信すること、及び前記ネットワークを通じて第２のメッセージを受信することを含む、伝搬遅延を判定し、
前記第１のメッセージの出発及び到着時間並びに前記第２のメッセージの出発及び到着時間に基づいて、前記第１の時間値と前記第２の時間値との間の予測されるオフセットを判定し、
前記第２の時間値のタイムスタンプを指定する同期情報を受信し、
前記予測されるオフセットを、前記タイムスタンプに基づいて計算されたオフセットと比較することによって、前記タイムスタンプが有効であるかどうかを判定する、
ように構成された、同期回路と、
を備える、装置。
【請求項９】
前記予測されるオフセットを判定することは、
前記第１のメッセージの前記到着時間と前記第２のメッセージの前記出発時間との間の第１の平均を計算することと、
前記第１のメッセージの前記出発時間と前記第２のメッセージの前記到着時間との間の第２の平均を計算することと、
前記第１の平均と前記第２の平均との間の差を判定することと、を含み、前記予測されるオフセットは、前記差である、
請求項８に記載の装置。
【請求項１０】
前記同期回路は、
前記第１のメッセージの前記出発時間及び前記第２のメッセージの前記到着時間を記憶し、
前記第２のメッセージ内の前記第１のメッセージの前記到着時間を受信し、
前記第２のメッセージの前記出発時間を含む第３のメッセージを受信する、
ように構成されている、請求項９に記載の装置。
【請求項１１】
前記受信された同期情報は、前記タイムスタンプを指定する第３のメッセージ、及び前記第３のメッセージの整合性検査値を含み、
前記同期回路は、前記整合性検査値を使用して、前記第３のメッセージが正当であると確認するように構成されている、
請求項８に記載の装置。
【請求項１２】
前記受信された同期情報は、ノンスを含む第４のメッセージを含み、
前記同期回路は、前記ノンスを前記第１のメッセージにおいて送信されたノンスと比較することによって、前記受信された同期情報が正当であると確認するように構成されている、
請求項１１に記載の装置。
【請求項１３】
前記第２のメッセージ内の前記ノンスは、整合性検査値フィールドと共に前記第２のメッセージの終わりに付加されたフィールドに含まれる、請求項１２に記載の装置。
【請求項１４】
前記第１の時間値及び前記計算されたオフセットに基づいて、前記ネットワーク上でネットワークトラフィックを通信するように構成された電子制御ユニット（ＥＣＵ）を更に備える、請求項８に記載の装置。
【請求項１５】
第１のクロックを有する第１の回路を備え、前記第１の回路は、
第２のクロックを有する第２の回路に第１のメッセージであって、前記第１のメッセージは、第１のノンスを含む、第１のメッセージを送信することと、
前記第２の回路から第２のメッセージであって、前記第２のメッセージは、第２のノンスを含み、前記タイムスタンプと関連付けられている、第２のメッセージを受信することと、
前記第２の回路から第３のメッセージであって、前記第３のメッセージは、前記第１のノンス及び前記第２のノンスを示す情報を含む、第３のメッセージを受信することと、
前記第１のノンス、前記第２のノンス、及び前記情報に基づいて、前記タイムスタンプが有効であるかどうかを判定することと、
によって、前記第１のクロックを前記第２のクロックと同期するために使用される前記第２のクロックの前記タイムスタンプの有効性を判定するように構成されている、装置。
【請求項１６】
前記第２のメッセージは、前記タイムスタンプを含む、請求項１５に記載の装置。
【請求項１７】
前記第３のメッセージは、前記タイムスタンプを含み、前記タイムスタンプは、前記第２のメッセージが前記第２の回路によって送信されるときの前記第２のクロックの値である、請求項１５に記載の装置。
【請求項１８】
前記第３のメッセージに含まれる前記情報は、前記第１のノンス及び前記第２のノンスを含み、
前記判定することは、１）前記第１のメッセージ内の前記第１のノンスを前記情報内の前記第１のノンスと、及び２）前記第２のメッセージ内の前記第２のノンスを前記情報内の前記第２のノンスと比較することを含む、
請求項１５に記載の装置。
【請求項１９】
前記第３のメッセージに含まれる前記情報は、前記第１のノンスに基づいて生成されたチェックサム及び前記第２のノンスに基づいて生成されたチェックサムを含み、
前記判定することは、
前記第１のノンスに基づいて生成された前記チェックサムを、前記第１のメッセージ内の前記第１のノンスに基づいて生成されたチェックサムと比較することと、
前記第２のノンスに基づいて生成された前記チェックサムを、前記第２のメッセージ内の前記第２のノンスに基づいて生成されたチェックサムと比較することと、
を含む、請求項１５に記載の装置。
【手続補正書】
【提出日】令和1年5月8日(2019.5.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
２つのＨＳＭ１３０のクロックの間で同期が実行されるとき、タイミング情報を提供するＨＳＭ１３０（例えば、ＨＳＭ１３０Ｄ）は、マスタと称されてもよく、タイミング情報を受信するＨＳＭ１３０（例えば、ＨＳＭ１３０Ａ及び１３０Ｂ）は、スレーブと称されてもよい。同期を実行することの一部として、様々な実施形態では、スレーブは、それとそのマスタとの間の伝搬遅延（例えば、ＨＳＭ１３０ＡとＨＳＭ１３０Ｄとの間の遅延）を判定してもよい。スレーブは、そのローカルクロック１３２とマスタのクロックとの間のオフセット（例えば、クロック１３２Ａと１３２Ｄとの間のオフセット）をも判定してもよい。それらの値が判定されると、ＨＳＭ１３０は次いで、そのノード１２０に時間情報１３４を提供してもよく、タイミング情報は、ネットワーククロック１４２の現在値と関連付けられた時間値を含み、ローカルクロック１３２の値、伝搬遅延、及び判定されたオフセットに基づいて計算される。様々な実施形態では、ＨＳＭ１３０は、ＨＳＭ１３０が図２に関して以下で説明されるように、ノード１２０よりも更にそれらをセキュアにする様々なセキュリティ技術を採用することができるので、ローカル時間を維持し、時間を同期するために信頼される（ノード１２０とは反対に）。
【国際調査報告】
2019530308.tif 000018
2019530308.tif 000019
2019530308.tif 000020
2019530308.tif 000021
2019530308.tif 000022