JP2019530308A - ネットワークタイミング同期 - Google Patents

ネットワークタイミング同期 Download PDF

Info

Publication number
JP2019530308A
JP2019530308A JP2019511779A JP2019511779A JP2019530308A JP 2019530308 A JP2019530308 A JP 2019530308A JP 2019511779 A JP2019511779 A JP 2019511779A JP 2019511779 A JP2019511779 A JP 2019511779A JP 2019530308 A JP2019530308 A JP 2019530308A
Authority
JP
Japan
Prior art keywords
message
circuit
nonce
clock
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019511779A
Other languages
English (en)
Other versions
JP6870072B2 (ja
Inventor
ビリュー エヌ. シャー,
ビリュー エヌ. シャー,
トリスタン エフ. シャープ,
トリスタン エフ. シャープ,
ジェイムズ イー. ズムダ,
ジェイムズ イー. ズムダ,
ウィリッチ, マンフレッド フォン
ウィリッチ, マンフレッド フォン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2019530308A publication Critical patent/JP2019530308A/ja
Application granted granted Critical
Publication of JP6870072B2 publication Critical patent/JP6870072B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • H04L7/0012Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

ネットワーク内の時間同期に関連する技術が開示される。一部の実施形態では、装置は、ネットワークに結合されたノードに対してローカル時間値を維持するように構成された第1のクロックを有する第1の回路を含む。第1の回路は、第2の回路に第1のメッセージを送信するように構成されている。第1のメッセージは、第1のノンスを含む。第2の回路は、ネットワークに対して基準時間値を維持する第2のクロックを有する。第1の回路は、第2の回路から第2のメッセージを受信し、第2のメッセージは、第2のノンスを含み、基準時間値を識別するタイムスタンプと関連付けられている。第1の回路は、第1のノンスを第2のノンスと比較して、タイムスタンプが有効であるかどうかを判定し、タイムスタンプが有効であると判定したことに応じて、タイムスタンプを使用して、第1のクロックを第2のクロックと同期する。【選択図】図1

Description

本開示は概して、コンピューティングデバイスに関し、更に詳細には、ネットワークを通じて通信する複数のデバイスの間で時間を同期することに関する。
コンピュータネットワークを通じてコンピュータクロックを同期するための様々なプロトコルが開発されてきた。多くの例では、プロトコルは、U.S.Naval Observatoryにおける原子クロックなどのマスタクロックを維持する、ソースから提供されたタイミング情報を分散することを促進することができる。例えば、最も有名なプロトコルのうちの1つは、インターネットに接続されたコンピュータの間で時間を同期するために使用されるネットワークタイムプロトコル(NTP)である。このプロトコルを介して受信されたタイミング情報は、ユーザのコンピュータ上で時間を表示するだけでなく、コンピュータにソフトウェアアップデートを分散すること、通知を表示すること、バックアップユーティリティ、時間スタンプ電子メールなどを呼び出すことなど、様々な動作の実行を調整するためにも使用されることがある。タイミング要求が変化するにつれて、更に正確な時間同期を可能にするための他のネットワークプロトコルが開発されてきた。例えば、IEEE802.1ASは、音声及びビデオコンテンツを消費又は生成しているデバイスの間で時間を同期するために、様々な音声及びビデオアプリケーションにおいて使用されることがある。
本開示は、ネットワーク内のノードの間で時間が同期される実施形態を説明する。様々な実施形態では、装置は、ネットワークに結合されたノードに対してローカル時間値を維持するように構成された第1のクロックを有する第1の回路を含む。第1の回路は、ネットワークに対して基準時間値を維持する第2の回路に、第1のノンスを含む第1のメッセージを送信するように構成されている。第1の回路は、第2の回路から、第2のノンスを含み、基準時間値を識別するタイムスタンプと関連付けられた第2のメッセージを受信する。第1の回路は、第1のノンスを第2のノンスと比較して、タイムスタンプが有効であるかどうかを判定し、タイムスタンプが有効であると判定したことに応答して、タイムスタンプを使用して、第1のクロックを第2のクロックと同期する。一部の実施形態では、第1の回路は、第2の回路との交換の間に第1のメッセージを送信して、第1の回路と第2の回路との間の伝搬遅延を判定し、タイムスタンプを使用して、伝搬遅延及びタイムスタンプに基づいて、第1のクロックと第2のクロックとの間のオフセットを判定することによって第1のクロックを第2のクロックと同期する。
時間同期を実施するネットワークの実施例を例示するブロック図である。
時間同期を促進するように構成されたハードウェアセキュリティモジュールの実施例を例示するブロック図である。
同期通信におけるメッセージの実施例を例示する図である。 同期通信におけるメッセージの実施例を例示する図である。
伝搬遅延交換におけるメッセージの実施例を例示する図である。 伝搬遅延交換におけるメッセージの実施例を例示する図である。 伝搬遅延交換におけるメッセージの実施例を例示する図である。
メッセージのうちの1つ以上に含まれる整合性検査値フィールドの実施例を例示する図である。
メッセージのうちの1つ以上に含まれるノンスフィールドの実施例を例示する図である。
伝搬遅延交換及び同期通信を含む時間同期の実施例を例示する通信図である。 伝搬遅延交換及び同期通信を含む時間同期の実施例を例示する通信図である。
同期通信のための境界検査の実施例を例示するフローチャートである。
ネットワーク構成要素によって実行され得る他の方法の実施例を例示するフローチャートである。 ネットワーク構成要素によって実行され得る他の方法の実施例を例示するフローチャートである。
例示的なコンピュータシステムを例示するブロック図である。
本開示は、「1つの実施形態(one embodiment)」又は「実施形態(an embodiment)」への言及を含む。フレーズ「1つの実施形態では(in one embodiment)」又は「実施形態では(in an embodiment)」の出現は、必ずしも同一の実施形態を指さない。特定の特徴、構造、又は特性は、本開示と一致したいずれかの適切な方式で組み合わされてもよい。
本開示内で、異なるエンティティ(様々に、「ユニット」、「回路」、他の構成要素などと称されてもよい)は、1以上のタスク又は動作を実行するように「構成されている(configured)」ものとして説明又は特許請求されてもよい。この明確な語句−[1以上のタスクを実行]するように構成された[エンティティ]−は、構造(すなわち、電子回路などの物理的な何か)を指すために本明細書で使用される。更に詳細には、この明確な語句は、この構造が動作中に1以上のタスクを実行するように配置されることを示すために使用される。構造が現在動作していない場合でさえ、構造は、何らかのタスクを実行「するように構成されている」と言われてもよい。「ネットワークを通じてトラフィックを通信するように構成されたノード」は、例えば、対象のデバイスが現在使用されていない(例えば、電力供給装置がそれに接続されていない)場合でさえ、動作中にこの機能を実行する回路を有するデバイスをカバーすることが意図される。よって、何らかのタスクを実行「するように構成されている」として説明又は記載されるエンティティは、デバイス、回路、タスクを実施するように実行可能なプログラム命令を記憶したメモリなど、物理的な何かを指す。このフレーズは、無形な何かを指すとしては本明細書で使用されない。よって、構造「するように構成された」は、アプリケーションプログラミングインタフェース(API)などのソフトウェアエンティティを指すようには本明細書で使用されない。
用語「するように構成されている」は、「するように構成可能である(configurable to)」を意味することが意図されない。プログラムされていないFPGAは、例えば、何らかの特定の機能を実行「するように構成されている」とはみなされないが、それは、その機能を実行「するように構成可能」であってもよく、プログラムした後に、機能を実行「するように構成」されてもよい。
添付の特許請求の範囲において、構造が1以上のタスクを実行「するように構成されている」と記載することは明確に、その特許請求する要素に対して米国特許法112条(f)を適用することを意図していない。したがって、出願時に本出願において特許請求されるいずれもが、ミーンズプラスファンクション要素を有するとして解釈されることを意図していない。仮に、出願人が手続中に112条(f)を適用することを望む場合、[機能を実行する]「ための手段(means for)」の構造を使用して、特許請求する要素を記載することになる。
本明細書で使用されるように、用語「第1の(first)」、「第2の(second)」などは、それらが先行する名詞に対するラベルとして使用され、特に述べられない限り、いずれのタイプの順序付け(例えば、空間的、時間的、論理的など)を暗に意味しない。例えば、第1の回路と第2の回路との間の交換は、複数のメッセージの通信を含んでもよい。用語「第1の」及び「第2の」は、交換におけるメッセージのうちのいずれかの2つを指すために使用されてもよい。言い換えると、「第1の」及び「第2の」メッセージは、例えば、交換における初期の2つのメッセージに限定されない。
本明細書で使用されるように、用語「に基づいて(based on)」は、判定に影響を与える1以上の因子を説明するために使用される。この用語は、追加の因子が判定に影響を与えることがある可能性を除外しない。すなわち、判定は、指定された因子にのみ基づいて、又は指定された因子と共に他の指定されない因子に基づいてもよい。フレーズ「Bに基づいてAを判定する(determine A based on B)」を考える。このフレーズは、BがAを判定するために使用され、又はAの判定に影響を与える因子であることを指定する。このフレーズは、Aの判定が、Cなどの何らかの他の因子にも基づいてもよいことを排除しない。このフレーズは、AがBにのみ基づいて判定される実施形態をカバーすることも意図される。よって、本明細書で使用されるように、フレーズ「に基づいて」は、フレーズ「に少なくとも部分的に基づいて(based at least in part on)」と同義である。
本明細書で使用されるように、用語「同期する(synchronize)」は、第1のクロックに対し、第1のクロックに対して行われることになる調節を計算して、第2のクロックの値を判定することを指す。この用語は、第2のクロックと同一の時間を有するように第1のクロックにおける値を調節することを包含するが、この用語は、本開示の目的で、第1のクロックにおける値を調節しないことをも包含する。例えば、第1のクロックを第2のクロックと「同期すること」は、第2のクロックの時間値を判定するために、第1のクロックに対する調節を計算すること、及び第1のクロックによって出力された時間値に調節を適用することを含んでもよい。
[詳細な説明]
従来の時間同期スキームに伴う問題は、それらが典型的には、セキュリティの考慮事項を考慮しないことである。この設計不足は、悪意のある人間が現在時間のコンピューティングデバイスの認知を潜在的に妨害することを可能にすることがある。例えば、当該人間は、不正確な時間を告知するメッセージを提供することによって、信頼された時間ソースを偽装することを試みることがある。当該人間はまた、遅延の後にメッセージを再生し、再生されたメッセージが新しいものであるとして受信者に考えさせる(例えば、受信機のオフセットクロックに対応する遅延と共にメッセージを再生する)ことを試みることがある。そのようにする際に、当該人間は、デバイスによって実行されるスケジュールされた動作を妨害し、潜在的に他の問題を生じさせることが可能であることがある。
本開示は、時間同期システムのセキュリティを改善する様々な技術を説明する。以下で説明される様々な実施形態では、コンピュータネットワークは、それぞれのローカルクロックを有するネットワークノードの間でクロック同期を管理するプロトコルを実施する。このプロトコルは、マスタクロックからスレーブクロックに1以上のメッセージの第1のセットを通信することを介して、ネットワーククロックの現在時間を定期的に告知すると共に、告知される現在時間を分散する際に、ネットワークによって生じる伝搬遅延の理由を説明するために、メッセージの第2のセットを通信することを介して、クロックの間のオフセットを判定するために使用されてもよい。それらのメッセージのセキュリティを改善するために、一部の実施形態では、各々のメッセージに整合性検査値(ICV)が追加される。本明細書で使用されるように、用語「整合性検査値」は、当技術分野におけるその理解の意味に従って解釈されることになり、データの整合性を検証するために使用可能であり、データに鍵付き機能(すなわち、暗号鍵を使用する機能)を適用することによって計算される値を含む。この値を含めることは、メッセージが認証され、悪意のあるエンティティによる改ざんに対する抵抗性を有することを可能にすることができる。一部の実施形態では、1以上のノンスは、伝搬遅延を判定するために使用され、次いで、現在時間の後続の告知において繰り返される交換に含まれる。本明細書で使用されるように、用語「ノンス」は、当技術分野におけるその理解の意味に従って解釈されることになり、動作又は動作のセットにおいて1回のみ使用される、任意かつ予測不可能な数を含む。例えば、ノンスは、乱数又は疑似乱数生成器アルゴリズムを使用して判定されてもよい。この方式においてノンスを含めることは、より古い告知がノードのローカル時間を妨害することを試みている悪意のあるエンティティによって再生されることを防止することができる。一部の実施形態では、ネットワークノードは、ローカルクロックとネットワーククロックとの間の予測されるオフセットを判定するためにも使用可能な伝搬遅延を判定するための情報を収集してもよい。ノードは次いで、この予測されるオフセットを、後続の告知において現在時間を識別するタイムスタンプから計算されたオフセットと比較してもよい。予測されるオフセットが計算されたオフセットと著しく異なる場合、ノードは、告知が不当であることがあるので、それを破棄してもよい。
一部の実施形態では、時間同期と関連付けられたメッセージは、タイミング情報を使用して、ネットワークノードに結合されたセキュア回路によっても処理されてもよい(ノード自身が処理を取り扱うのとは反対に)。本明細書で使用されるように、用語「セキュア回路」は、分離された、内部リソースが外部エンティティによって直接アクセスされることから保護する回路を指す。以下で説明されるように、様々な実施形態では、セキュア回路は、ネットワークノードについてのローカルクロック、及びメッセージに含まれるICVを生成又は検証するために使用される鍵を維持してもよい。いくつかの例では、セキュア回路を使用してメッセージを処理することは(ノードとは反対に)、ネットワークに追加のセキュリティを提供することができる。
本開示は、図1及び図2と併せて、時間同期を実施するセキュアネットワーク内の構成要素の説明から始まる。ノードの間のネットワーク通信は、図3A〜図7Bに関して説明される。ネットワーク構成要素によって実行される方法は、図8〜図9Bに関して説明される。最後に、1以上のネットワーク構成要素を実施するために使用することができる例示的なコンピュータシステムは、図10と共に議論される。
ここで図1に目を向けると、時間同期を実施するように構成されたネットワーク100のブロック図が表される。例示される実施形態では、ネットワーク100は、リンク112を介して複数のノード120A〜Cに結合されたスイッチ110を含む。ノード120A〜Bは次いで、リンク122を介して、ローカルクロック132A〜Bを含む、それぞれのハードウェアセキュリティモジュール(HSM)130A〜Bに結合される。示されるように、ノード120Cは、ネットワーククロック142を含む、グランドマスタ(GM)140に結合される。スイッチ110は、ローカルクロック132Dを含む、HSM130Dにも結合される。様々な実施形態では、ネットワーク100は、示されるのとは異なって実施されてもよい。したがって、一部の実施形態では、より多くの(又は、より少ない)スイッチ110及び/又はノード120が存在してもよい。一部の実施形態では、GM140は、スイッチ110に結合されてもよい(ノード120とは反対に)。一部の実施形態では、HSM130に関して本明細書で説明される機能性は、ノード120内の回路によって実施されてもよい。
ネットワーク100は、一部の実施形態では、ノード120の間でネットワークトラフィックを通信するように構成されたローカルエリアネットワーク(LAN)である。様々な実施形態では、ネットワークトラフィックは、スイッチ110によって、ノード120の間で経路指定される。したがって、スイッチ110は、ノード120からの受信されたメッセージ(すなわち、データフレーム)を待ち行列に入れ、指定された宛先にメッセージを適切に送信するために、フレームによって指定された送信元及び宛先アドレスを分析するように構成されてもよい。一部の実施形態では、スイッチ110は、IEEE802.3に従ってデータフレーム(すなわち、イーサネットフレーム)を経路指定するように構成されているが、他の実施形態では、他のネットワーキングプロトコルがサポートされてもよい。
ノード120は、ネットワークを通じて通信するように構成されたいずれかの適切なデバイスに対応してもよい。一部の実施形態では、ノード120は、デスクトップ及びラップトップコンピュータ、モバイルデバイス、スマートテレビ、スマート電化製品など、家庭又はオフィスネットワーク内のデバイスであってもよい。一部の実施形態では、ノード120は、様々な動作を実行するように構成された製造工場内の機械である。一部の実施形態では、ノード120は、航空機、ボート、自動車、レクリエーショナルビークルなどの車両内の電子制御ユニット(ECU)である。本明細書で使用されるように、用語「電子制御ユニット(ECU)」は、当技術分野におけるその理解の意味に従って解釈されることになり、車両の1以上の動作を制御する組み込みシステム(例えば、マイクロコントローラ)を含む。一部の実施形態では、ノード120は、例えば、モータの動作を制御するためにトルク制御メッセージ及びホイール速度メッセージを通信するモータECU、ブレーキを適用するためにブレーキ制御メッセージを通信するブレーキシステムECU、1以上のLIDARセンサから受信されたデータを処理するLIDAR ECU、ヨーク制御の角度を通信するフライトヨークECUなどを含んでもよい。
様々な実施形態では、ノード120(及び、スイッチ110)は、ネットワーク100を通じてトラフィックの通信を調整することを含む、様々な目的のために同期された時間を使用するように構成されている。例えば、複数のLIDARセンサからストリームを受信するECUは、ECU及びストリームを配信するそのセンサの間で同期された時間に依存する車両の周囲の全体視野を生成してもよい。すなわち、第1及び第2のLIDARセンサは、それぞれのストリームにタイムスタンプを記録してもよく、その結果、ECUは、あらゆるセンサが所与の時間に何を見ているかを判定することができる。それらのタイムスタンプが同期されないクロックによって生成される場合、ECUは、1つのLIDARセンサが物体の存在を示しており、別のセンサが、それが誤ったタイムスタンプを含んでいたことを理由に、車両の前に何も存在しないことの状況を与えるとき、物体が車両の前に存在するかどうかを判定する問題を有することがある。別の実施例として、一部の実施形態では、ネットワーク100を通じて通信されるトラフィックは、特定のノード120が特定のトラフィックを通信することになるときを示すスケジュールに従って調整される。時間がノード120にわたって同期されない場合、ノード120Aは、例えば、ノード120Bに割り当てられた時間スロットの間にネットワークトラフィックを通信することを始めてもよい。この衝突は、ノードが誤った情報又は著しく遅延した情報を取得することをもたらし、それは、最優先で実行されるタスクと関連付けられていることがある。
ハードウェアセキュリティモジュール(HSM)130、1つの実施形態では、様々な目的のために、ノード120に時間情報134を提供するように構成されたセキュア回路である。一部の実施形態では、各々のHSM130は、そのノード120において、HSM130によってネットワーククロック142と同期されたローカル時間の値を維持するように構成されたローカルクロック132を含む。以下で更に詳細に説明されるように、様々な実施形態では、ネットワーク100に対する時間同期は、所与のHSM130がそのローカルクロック132を、隣接ノード120のHSM130又はスイッチ110のHSM130と同期し、隣接ノード120のHSM130又はスイッチ110のHSM130は、所与のHSM130とグランドマスタ140との間の経路上に存在し、グランドマスタ140により近いホップであるように実行されてもよい。したがって、HSM130A及びHSM130Bは、それらのローカルクロック132A及び132Bを、ノード120C及びグランドマスタ140に1ホップ近いノード120に結合されている、HSM130D内のローカルクロック132Dと同期してもよい。HSM130Dは次いで、図1における他のより近いノード120が存在しないので、グランドマスタ140内のネットワーククロック142と同期してもよい。異なって述べるように、ネットワーク100の時間同期は、所与の子ノードがその親ノードと同期し、グランドマスタ140がツリー構造内のルートノードとして機能するツリー構造として見なされてもよい。
2つのHSM130のクロックの間で同期が実行されるとき、タイミング情報を提供するHSM130(例えば、HSM130D)は、マスタと称されてもよく、タイミング情報を受信するHSM130(例えば、HSM130A及び130B)は、スレーブと称されてもよい。同期を実行することの一部として、様々な実施形態では、スレーブは、それとそのマスタとの間の伝搬遅延(例えば、HSM130AとHSM130Dとの間の遅延)を判定してもよい。スレーブは、そのローカルクロック132とマスタのクロックとの間のオフセット(例えば、クロック132Aと132Dとの間のオフセット)をも判定してもよい。それらの値が判定されると、HSM130は次いで、そのノード120に情報134を提供してもよく、タイミング情報は、ネットワーククロック142の現在値と関連付けられた時間値を含み、ローカルクロック132の値、伝搬遅延、及び判定されたオフセットに基づいて計算される。様々な実施形態では、HSM130は、HSM130が図2に関して以下で説明されるように、ノード120よりも更にそれらをセキュアにする様々なセキュリティ技術を採用することができるので、ローカル時間を維持し、時間を同期するために信頼される(ノード120とは反対に)。
グランドマスタ(GM)140は、1つの実施形態では、ネットワーク100についてのネットワーク時間、すなわち、それにローカルクロック132が同期される基準時間を維持するように構成された回路である。すなわち、HSM130DがHSM130A及びHSM130Bへのマスタとして機能することができると共に、GM140は、例示される実施形態における最高権威(すなわち、「グランドマスタ」)である。上記述べられたように、例示される実施形態では、GM140は、ネットワーク時間の現在値を追跡するように構成されたネットワーククロック142を含む。一部の実施形態では、GM140は、いくつかのマスタクロックのうちの1つであってもよく、選出処理を通じてグランドマスタとして選択される。上記述べられたように、一部の実施形態では、GM140は、スイッチ110に結合されてもよく(図1に示されたノード120Eとは反対に)、及び/又は以下で議論されるHSM130の機能性を実施してもよい。様々な実施形態では、GM140は、同期(sync)通信152及び伝搬遅延(Pdelay)交換154を介して、HSM130Dとの時間同期を促進するようにも構成されてもよい。(通信152及び交換154が、図を簡易化するために図1においてGM140とHSM130Dとの間のみで示されるが、通信152及び交換154は、HSM130DからHSM130A及び130Bへも設けられる。)
sync通信152は、例示される実施形態では、マスタ(例えば、GM140又はHSM130D)によって通信されて、その同期されたクロック132又はネットワーククロック142によって識別されるようにネットワーク時間の現在値を告知するメッセージである。様々な実施形態では、所与のsync通信152は、sync通信152がマスタから送信され、スレーブのローカルクロック132とマスタのクロック132又はクロック142との間のオフセット(すなわち、差)を判定するために所与のスレーブによって使用可能なときの、ネットワーク時間の現在値を識別するタイムスタンプを含む。様々な実施形態では、判定されたオフセットは、1)マスタのクロックとスレーブのクロックとの間の時間差、及び2)それらがいくつかの例では、僅かに異なる周波数を有することがあるので、マスタのクロックとスレーブのクロックとの間の周波数、の両方である。sync通信152は、クロック132及び142の個々の周波数が気温の変化と共に変動することがあるので、定期的に送信されてもよい(例えば、1秒間に8回)。一部の実施形態では、所与のsync通信152は、特定の時間に送信されるsyncメッセージ(図3Aと共に以下で議論される)及び特定の時間、すなわち、syncメッセージが送信された時間にネットワーク時間の値を指定するタイムスタンプを含むfollow upメッセージ(図3Bと共に以下で議論される)、の2つのメッセージを含む。一部の実施形態では、それらのメッセージは、IEEE802.1ASフレームの内容を含む。
Pdelay交換154は、例示される実施形態では、マスタとスレーブとの間の伝搬遅延を判定するために、マスタとスレーブとの間の交換である。すなわち、メッセージがネットワーク100をトラバースするのに時間を要することを理由に、sync通信152において指定されたタイムスタンプは、それがHSM130に到達する時間だけ遅延する。これを説明するために、HSM130は、伝搬遅延及び滞留時間を判定して、sync通信152におけるタイムスタンプを適切に調節し、その結果、それは、現在のネットワーク時間を正確に反映する。一部の実施形態では、交換154は、スレーブがマスタにメッセージを送信すること(以下で及び図4Aでは、Pdelay要求と称される)、並びにマスタから対応する応答を受信すること(以下で及び図4Bでは、Pdelay応答と称される)を含む。伝搬遅延は次いで、1)第1のメッセージの到着時間とその出発時間との間の差を計算し、2)第2のメッセージの到着時間とその出発時間との間の差を計算し、3)差の平均を判定する、ことによって判定されてもよい。特に、両方のメッセージの到着及び出発時間は、到着及び出発タイムスタンプが、上記述べられたように同期されないことがあるマスタのクロック及びスレーブのクロックによって供給されるという事実を説明するために使用される。例えば、HSM130Dは、ローカルクロック132Dに基づいて、第1のメッセージの出発時間及び第2のメッセージの到着時間を記録してもよいが、ネットワーククロック142に基づいている、第1のメッセージの到着時間及び第2のメッセージの出発時間についてのタイムスタンプを提供するためにGM140を信頼する。一部の実施形態では、第2のメッセージは、それらのタイムスタンプのうちの両方を含んでもよい。他の実施形態では、第2のメッセージは、第1のメッセージの到着時間についてのタイムスタンプを含み、第2のメッセージの出発時間についてのタイムスタンプを指定する第3のメッセージ(以下で及び図4Cでは、Pdelay follow−upと称される)が送信される。一部の実施形態では、Pdelay交換154は、リンク112及び122の温度が変化するにつれて伝搬遅延が変化することがあるので、定期的に実行される(例えば、1秒毎に1回)。一部の実施形態では、交換154において通信されるメッセージは、IEEE802.1ASフレームの内容を含む。
sync通信152及びPdelay交換154のセキュリティを改善するために、様々な実施形態では、HSM130及びGM140は、それらを悪意のあるエンティティによる改ざんに対する更なる抵抗性を有するようにさせるための様々な技術を実行するように構成されている。いくつかの例では、それらの技術は、ノード120に障害が発生し、それ自身のsync通信152をブロードキャストすることによって、そのHSM130のマスタ又はGM140を偽装することを始める場合に、そのHSM130を保護することができる。それらの技術は、スイッチ110に障害が発生し、古いsync通信152又はPdelay交換154からメッセージを中継することを試みるなど、中間者攻撃に対しても保護することができる。
最初に、一部の実施形態では、整合性検査値(ICV)は、sync通信152及びPdelay交換154の間に、GM140とHSM130との間で送信される1以上のメッセージに追加される。このICVは、様々なアルゴリズムのうちのいずれかを使用して計算されてもよい。例えば、1つの実施形態では、GM140及びHSM130は、Hashベースメッセージ認証コード(HMAC)アルゴリズムなどのメッセージ認証コード(MAC)アルゴリズムを使用してICVを計算するように構成されている。別の実施形態では、ICVは、デジタル署名アルゴリズム(DSA)を使用して計算されたデジタル署名である。更なる別の実施形態では、ICVは、暗号ブロック連鎖(CBC)モードにおけるアドバンスト暗号化標準(AES)を使用して暗号化されたMACを含む。一部の実施形態では、ICVを判定するために使用される鍵は、通信に参加する所与のHSM130に対して一意であり、そのHSM130及びマスタに既知である。例えば、HSM130DがHSM130Aに第1のメッセージを送信しており、HSM130Bに第2のメッセージを送信している場合、第1のメッセージ内のICVは、第1の鍵を使用して計算され、第2のメッセージ内のICVは、第1の鍵とは異なる第2の鍵を使用して計算される。結果として、HSM130A及び130Bは、HSM130DがそのHSM130に対して一意な鍵を有する唯一の他のエンティティであることを理由に、受信されたメッセージの整合性を検証するだけでなく、メッセージを認証することも可能であることができる。したがって、HSM130がICVを含むメッセージを受信し、ICVが有効であると判定することが可能でない場合、メッセージは疑わしく、HSM130によって無視されてもよい。それを行う際、HSM130及びGM140は、GM140又は特定のHSM130からのメッセージを偽装することを試みるエンティティに対して保護することができる。ICVを含むメッセージの例は、図3A〜図5に関して以下で議論される。
2つ目に、一部の実施形態では、HSM130は、Pdelay交換154の間、1以上の後続のsync通信152の間にそのマスタによって繰り返されるノンスを提供するように構成されている。(一部の実施形態では、マスタは、図7Bと共に議論されるように、追加のノンスを交換にも含めてもよい。)それを行う際、HSM130及びGM140は、悪意のあるエンティティが、それらがノンスを欠いているので、ノンスを提供する前に送信されたsync通信152を再生することを防止することができる。したがって、HSM130が前に提供された1つとは異なるノンスを含むsync通信152を受信する場合、HSM130は、通信152を疑わしいとして無視してもよい。ノンスを含むメッセージの例は、図3A、図3B、図4A、及び図6に関して以下で議論される。
3つ目に、一部の実施形態では、HSM130は、sync通信152が有効であるかどうかを判定するために、Pdelay交換154の間に予測されるオフセットを判定し、予測されるオフセットを使用して、所与のsync通信152から計算されたオフセットに対する境界検査を実行するように構成されている。Pdelay交換154が上記述べられたように、伝搬遅延を判定するために主に実行されるが、遅延を判定する際に取得された情報から、マスタのクロックとスレーブのクロックとの間のオフセットを判定することが可能である。特に、このオフセットは、1)第1のメッセージの出発時間及び第2のメッセージの到着時間の平均を計算し、2)第1のメッセージの到着時間及び第2のメッセージの出発時間の平均を計算し、3)差がオフセットであるように2つの平均の間の差を判定する、ことによって判定されてもよい。そのような実施形態では、HSM130は、このオフセットを判定し、それを後続のsync通信152に含まれるタイムスタンプに基づいて計算されたオフセットと比較するように構成されている。計算されたオフセットが特定の閾値よりも大きく予測されたものと異なる場合、sync通信152に含まれるタイムスタンプは疑わしい。結果として、HSM130は、sync通信152を無視してもよく、疑わしいタイムスタンプに基づいて、時間情報134を提供することを試みなくてもよい。それを行う際、HSM130は、偽装及び/又は中間者攻撃に対して保護することができる。境界検査を実行する方法の例は、図8に関して更に詳細に説明される。
ここで図2に目を向けると、HSM130のブロック図が表される。上記述べられたように、一部の実施形態では、HSM130は、HSM130が以下で議論される理由により更にセキュアであることができることを理由に、ノード120の代わりにタイミング保持及び同期のために使用される。また述べられるように、一部の実施形態では、GM140は、GM140のセキュリティを改善するために、HSM130に関して説明される機能性を実施してもよい。例示される実施形態では、HSM130は、相互接続260を介して共に結合された、ネットワークインタフェース210、1以上のプロセッサ220、リードオンリメモリ(ROM)230、ローカルクロック132、暗号アクセラレータ240、及び鍵記憶装置250を含む。ROM230は、ファームウェア232をも含む。鍵記憶装置250は、1以上のICV鍵252をも含む。一部の実施形態では、HSM130は、示されるよりも多くの(又は、少ない)構成要素を含んでもよい。
ネットワークインタフェース210は、1つの実施形態では、ノード120との通信を促進するように構成されている。したがって、インタフェース210は、一部の実施形態では、シリアル周辺機器インタフェース(SPI)バスである、リンク122にわたってデータを符号化及び復号することを実行してもよい。様々な実施形態では、インタフェース210は、到来する読み込み及び書き込み動作をフィルタリングすることによって、ノード120などの外部エンティティから内部構成要素220〜250を分離するようにも構成されている。一部の実施形態では、HSM130は、少数のコマンドのみをサポートすることによって、制限された攻撃可能面を提示する。例えば、1つの実施形態では、HSM130は、ノード120が現在時間を要求することを可能にするコマンド及びsync通信152又はPdelay交換154についてのデータを提供するためのコマンドをサポートする。インタフェース210がノード120から、サポートされたコマンドでないデータを受信する場合、インタフェース210は、データがHSM130に入ることを防止することができる。それを行う際、HSM130は、例えば、ノード120がローカルクロック132に直接アクセスすることが可能であることを防止する。
プロセッサ220は、1つの実施形態では、プログラム命令を実行して、HSM130に関して本明細書で説明される様々な動作を実施するように構成されている。一部の実施形態では、プロセッサ220は、ROM230からファームウェア232をブートするために、ブートにおける特定のアドレス範囲からフェッチするようにハードウェアに組み込まれる。特に、メモリ230がROMであることを理由に(容易に書き込むことができるいくつかの他のタイプのメモリとは反対に)、ファームウェア232は、修正に対して抵抗性を有し、よって、改ざんされることに対して抵抗性を有する。結果として、HSM130は、単にプロセッサ220にリブートさせることによって、デフォルトの、信頼された状態に回復されてもよく、それは、例示される実施形態では、リセット信号202をアサートすることによって開始されてもよい。よって、プロセッサ220は更に、HSM130内の構成要素を分離する役割を果たしてもよい。
暗号アクセラレータ240は、1つの実施形態では、HSM130に対して暗号動作を実行するように構成された回路である。暗号アクセラレータ240は、データ暗号化標準(DES)、アドバンスト暗号化標準(AES)、Rivest Shamir Adleman(RSA)、HMACなど、いずれかの適切な暗号化アルゴリズムを実施してもよい。例示される実施形態では、アクセラレータ240は、アクセラレータ240がHSM130の他の構成要素によってアクセスされることから分離することができる、鍵記憶装置250に記憶された鍵を使用するように構成されている。すなわち、一部の実施形態では、アクセラレータ240は、ICV鍵252がプロセッサ220によって更新されることを可能にすることができるが、鍵252がプロセッサ220によって記憶装置250から読み込まれることを可能にすることができない。
様々な実施形態では、暗号アクセラレータ240は、ICV鍵252を使用して、sync通信152及びPdelay交換154に含まれるICVを検証するように構成されている。したがって、アクセラレータ240は、メッセージを受信し、ICV鍵252を使用してICVを計算し、計算されたICVを、受信されたメッセージに含まれるICVと比較するように構成されてもよい。2つのICVが一致しない場合、HSM130は、時間情報134を計算するためにメッセージを使用するのではなく、それを破棄してもよい。ICV鍵252は、上記述べられたアルゴリズムなどのいずれかの適切なアルゴリズムに対応してもよい。上記述べられたように、一部の実施形態では、ICV鍵252は、そのHSM130に対して一意であり、すなわち、その鍵252を含む他のHSM130はない。
ここで図3Aに目を向けると、syncメッセージ300の図が表される。上記述べられたように、syncメッセージ300は、sync通信152に含まれてもよいメッセージの実施例である。例示される実施形態では、メッセージ300は、ヘッダ、予約部(「Reserved」として示される)、ノンスフィールド(「slaveNonce Type−Length−Value(TLV)」として示される)、及びICVフィールド(「ICV TLV」として示される)を含む。それらのフィールドは、いずれかの適切なサイズであってもよいが、この実施例では、ヘッダ、予約部、ノンスフィールド、及びICVフィールドは、それぞれ34、10、約10、及び約30オクテットのサイズを有する。特に、例示される実施形態では、ICVフィールドは、図5に関して議論されるように、メッセージ300についてのICVを含み、ノンスフィールドは、図6に関して議論されるように、マスタ(例えば、図1におけるGM140又はHSM130D)によって再度繰り返されるノンスを含む。一部の実施形態では、syncメッセージ300は、示されるよりも多い(又は、少ない)要素を含んでもよい。一部の実施形態では、syncメッセージ300は、フレームの終わりに付加されたノンスフィールド及びICVフィールドを有するIEEE802.1AS syncフレームである。
ここで図3Bに目を向けると、sync follow−up350の図が表される。上記述べられたように、sync follow−up350は、sync通信152に含まれてもよい別のメッセージの実施例である。例示される実施形態では、メッセージ350は、ヘッダ、タイムスタンプ(「preciseOriginTimestamp」として示される)、通信152に関する追加のメタデータ(「Follow_UP Information TLV」として示される)、ノンスフィールド(「slaveNonce Type−Length−Value(TLV)」として示される)、及びICVフィールド(再度「ICV TLV」として示される)を含む。それらのフィールドは、いずれかの適切なサイズであってもよいが、この実施例では、それらのフィールドは、それぞれ34、10、34、約10、及び約30オクテットのサイズを有する。特に、例示される実施形態では、タイムスタンプは、前のsyncメッセージ300の出発時間、すなわち、メッセージ300がマスタを出るときのネットワーク時間の値(例えば、識別されたネットワーククロック142として、又はローカルクロック132D及びHSM130Dの判定されたオフセットに基づいて判定されるように)を示す。一部の実施形態では、メッセージ350は、示されるよりも多い(又は、少ない)要素を含んでもよい。一部の実施形態では、メッセージ350は、フレームの終わりに付加されたICVフィールドを有するIEEE802.1AS sync follow−upフレームである。
ここで図4Aに目を向けると、Pdelay要求400A及びPdelay要求400Bの図が表される。上記述べられたように、Pdelay要求400は、Pdelay交換154に含まれてもよく、マスタから対応する応答を要求する初期メッセージの実施例である。示されるように、メッセージ400Aは、ヘッダ、2つの予約部(再度「Reserved」として示される)、ノンスフィールド(再度「slaveNonce TLV」として示される)、及びICVフィールドを含む。それらのフィールドは、いずれかの適切なサイズであってもよいが、この実施例では、それらのフィールドは、それぞれ34、10、10、約10、及び約30オクテットのサイズを有する。特に、例示される実施形態では、ノンスフィールドは、後にsyncメッセージ300及び/又はsync follow−upメッセージ350に含めるための、HSM130によって送信されたノンスを含む。一部の実施形態では、メッセージ400Aは、示されるよりも多い(又は、少ない)要素を含んでもよい。したがって、要求400Bに示されるように、ICVフィールドは省略されてもよい。一部の実施形態では、メッセージ400は、フレームの終わりに付加されたノンスフィールド及び/又はICVフィールドを有するIEEE802.1AS Pdelay要求フレームである。
ここで図4Bに目を向けると、Pdelay応答430A及びPdelay応答430Bの図が表される。上記述べられたように、Pdelay応答430は、Pdelay交換154に含まれてもよく、Pdelay要求400への応答である別のメッセージの実施例である。示されるように、メッセージ430Aは、ヘッダ、タイムスタンプ(「requestReceiptTimestamp」として示される)、要求するHSM130のポートを識別するポート番号フィールド(「requestingPortIdentity」として示される)、及びICVフィールド(再度「ICV TLV」として示される)を含む。それらのフィールドは、いずれかの適切なサイズであってもよいが、この実施例では、それらのフィールドは、それぞれ34、10、10、及び約30オクテットのサイズを有する。特に、例示される実施形態では、タイムスタンプは、前のPdelay要求400の到着時間、すなわち、メッセージ400がGM140において受信されるときのネットワーク時間の値を示す。一部の実施形態では、メッセージ430Aは、示されるよりも多い(又は、少ない)要素を含んでもよい。したがって、応答430Bに示されるように、別のノンス(「masterNonce TLV」として示される)は、マスタが応答430Bを送信することによって含まれてもよい。図4C及び図7Bに関して以下で説明されるように、この追加のノンスは、要求400においてスレーブによって供給される元のノンスと共にfollow−upメッセージに後に含まれるとき、応答430が正当であると確認するために使用されてもよい。一部の実施形態では、メッセージ430は、フレームの終わりに付加されたICVフィールド及び/又はマスタ供給ノンスを有するIEEE802.1AS Pdelay応答フレームである。
ここで図4Cに目を向けると、Pdelay follow−up460A及びPdelay follow−up460Bの図が表される。上記述べられたように、Pdelay follow−up460は、Pdelay交換154に含まれてもよく、前のPdelay応答430に関する追加の情報を含む別のメッセージの実施例である。示されるように、メッセージ460Aは、ヘッダ、タイムスタンプ(「responseOriginTimestamp」として示される)、要求するHSM130のポートを識別するポート番号フィールド(「requestingPortIdentity」として示される)、及びICVフィールド(再度「ICV TLV」として示される)を含む。それらのフィールドは、いずれかの適切なサイズであってもよいが、この実施例では、それらのフィールドは、それぞれ34、10、10、及び約30オクテットのサイズを有する。特に、例示される実施形態では、タイムスタンプは、Pdelay応答430の出発時間、すなわち、メッセージ430がマスタを出るときのネットワーク時間の値を示す。一部の実施形態では、メッセージ460は、示されるよりも多い(又は、少ない)要素を含んでもよい。したがって、follow−up460Bに示されるように、第1のノンス(「slaveNonce TLV」として示される)及び第2のノンス(「masterNonce TLV」として示される)が含まれてもよい。そのような実施形態では、第1のノンスは、スレーブによって要求400に含まれるノンスに対応し、第2のノンスは、マスタによって応答430Bに含まれるノンスに対応する。図7Bと共に説明されるように、第2の、マスタ供給ノンスは、第1の、スレーブ供給ノンスとの関連付けを確立するために含まれてもよい。この関連付けを確認すると、スレーブHSM130は、メッセージ430B内のマスタ供給ノンスがfollow−up460B内の第2のノンスと一致すると確認することによって、前の受信された応答430Bを判定してもよい。一部の実施形態では、メッセージ460は、フレームの終わりに付加されたICVフィールド、スレーブ供給ノンス、及び/又はマスタ供給ノンスを有するIEEE802.1AS Pdelay follow−upフレームである。
ここで図5に目を向けると、ICVフィールド500の図が表される。上記述べられたように、ICVフィールド500は、メッセージ300〜460についてのICVを含む。例示される実施形態では、フィールド500は加えて、フィールド500のタイプの識別子(「tlvType」として示される)、フィールド500の長さ(「lengthField」として示される)、どの程度フィールド500が有効であるかを示す存続期間フィールド(「lifetimeId」として示される)、トラバースすることができるリンク112の数を示す再生カウンタ(「replayCounter」として示される)、ICV鍵252の識別子(「keyId」として示される)、ICVを生成するために使用されるアルゴリズムの識別子(「algorithmId」として示される)、予約済みフィールド、パディングフィールド、及びICVを含む。一部の実施形態では、ICVフィールド500は、示されるよりも多い(又は、少ない)要素を含んでもよい。
ここで図6に目を向けると、ノンスフィールド600の図が表される。上記述べられたように、ノンスフィールド600は、メッセージ300及び400内のノンスを含む。例示される実施形態では、フィールド600は加えて、フィールド600のタイプの識別子(「tlvType」として示される)、フィールド600の長さ(「lengthField」として示される)、何らかの初期状態から使用されるノンスの数を示す数(「nonceCount」として示される)、及びノンス(「slaveNonce」として示される)を含む。一部の実施形態では、ICVフィールド600は、示されるよりも多い(又は、少ない)要素を含んでもよい。
ここで図7Aに目を向けると、マスタ(例えば、図1におけるGM140又はHSM130D)とスレーブ(例えば、図1におけるHSM130A、B、又はD)との間の時間同期700Aの通信図が表される。例示される実施形態では、同期700Aは、それにsync通信152が続く伝搬遅延を判定して、ネットワーク時間に調節されたマスタのクロックとスレーブのクロックとの間のオフセットを判定するためのPdelay交換154を含む。一部の実施形態では、同期700Aは、同期700Aが繰り返される前の通信152の追加の実施を含んでもよい。
示されるように、Pdelay交換154は、スレーブからマスタへの、ノンス及びICVを含むPdelay要求400Aの出発である時間T1に始まってもよい。スレーブは、T1についてのタイムスタンプ(クロック132によって示される)をも記憶してもよい。時間T2に、要求400Aは、要求400AについてのICVが正当であると確認し、sync通信152にその後含めるためのノンスを記憶する、マスタに到達する。時間T3に、マスタは、スレーブに、T2についてのタイムスタンプ(クロック142によって示される)及びICVを含むPdelay応答430Aを送信する。時間T4に、応答430Aは、ICVを確認し、T4についてのタイムスタンプを記憶する、スレーブに到達する。その後、T3についてのタイムスタンプを含むPdelay follow−up460Aは、ICVが正当であると確認する、スレーブに到達する。スレーブは次いで、T4とT3との間の差及びT2とT1との間の差の平均を計算することによって、伝搬遅延を判定してもよい。
示されるように、sync通信152は、マスタが、スレーブに、ノンス及びICVを含むsyncメッセージ300を送信することにより、時間T5に始まってもよい。時間T6に、syncメッセージ300は、ICVを検証し、メッセージ300に含まれるノンスがPdelay要求400Aに含まれる前のノンスに一致することを確認することによって、メッセージ300が有効であるかどうかを判定する、スレーブに到達する。一部の実施形態では、スレーブは、ノンスを比較することによって、一致が存在するかどうかを判定する。別の実施形態では、スレーブは、ノンスに基づいて生成されたチェックサムを比較することによって、一致が存在するかどうかを判定し、一部の実施形態では、それらのチェックサムは、ノンスを含む代わりに(又は、それに加えて)1以上のメッセージ400A、300、及び350に含まれてもよい。その後、マスタは、ノンス及びICVが正当であることを確認するスレーブに、T5についてのタイムスタンプ及び前のノンスの複製を含むsync follow−up350を送信する。syncメッセージ300及びfollow−up350の両方が有効である場合、スレーブは、前の判定された伝搬遅延に基づいて、T5についてのタイムスタンプを調節し、T6についてのタイムスタンプとT5についての調節されたタイムスタンプとの間の差を判定することによって、ネットワーク時間に調節されたマスタのクロックとそのクロックとの間のオフセットを計算する。
判定されたオフセットを使用して、ローカルクロック132からネットワーク時間を計算する前に、様々な実施形態では、スレーブは更に、計算されたオフセットを、T1〜T4を識別するタイムスタンプから計算された別のオフセット(例えば、「予測される」オフセット)と比較することによって、境界検査を実行する。様々な実施形態では、スレーブは、1)中間点702A(T1及びT4の平均)及び中間点702B(T2及びT3の平均)を判定し、2)中間点702A及び702Bの間の差を判定して、予測されるオフセットを生成することによって、この予測されるオフセットを計算する。予測されるオフセットが閾値よりも大きく(一部の実施形態では、T1と中間点702Aとの間の距離)sync通信152から計算されたオフセットと異なる場合、sync通信152から計算されたオフセットは疑わしく、破棄されてもよい。しかしながら、オフセットの間の差が閾値未満である(又は、閾値に等しい)場合、スレーブは、ローカルクロック132の値及びsync通信152から計算されたオフセットに基づいて、ネットワーク時間を判定することを続行してもよく、ノード120に、この判定されたネットワーク時間を時間情報134として提供してもよい。
ここで図7Bに目を向けると、マスタ(例えば、GM140又はHSM130D)とスレーブ(例えば、HSM130A、B、又はD)との間の時間同期700Bの別の実施例の通信図が表される。例示される実施形態では、同期700Bは、sync通信152がそれに続くPdelay交換154を含む。特に、同期700Bは、同期700Aと同様であるが、ノンスのその使用において異なる。
示されるように、同期は、スレーブが、T2にマスタに到達する第1のノンス(ノンスAとして示される)を含むPdelay要求400Bを送信することにより、時間T1に始まってもよい。T3に、マスタは、T2についてのタイムスタンプ、及びT4に受信される第2のノンス(ノンスBとして示される)を含む応答430Bを送信する。マスタは次いで、応答430Bへのfollow−up460Bを送信し、follow−up460Bは、第1のノンス及び第2のノンスの両方と共に、T3についてのタイムスタンプを含む。第1のノンス及び第2のノンスをfollow−up460Bに含めることによって、マスタは、第1のノンスとの第2のノンスの関連付けを確立する。この関連付けに基づいて、スレーブは次いで、応答430B内の第2のノンスをfollow−up460内の第2のノンスと比較することによって(上記議論されたように、ノンス又はノンスに基づいて生成されたチェックサムを比較することを含んでもよい)、前の受信された応答430Bが有効であるかどうかを判定することができる。言い換えると、この方式で第1のノンス及び第2のノンスを関連付けることは、タイミングの制約に起因して、マスタが第1のノンスを含むことが可能でない場合でさえ、前のメッセージが後に正当であると確認されることを可能にする。この前のメッセージが正当であると確認することが可能であることは次いで、悪意のあるエンティティが何らかの他のノンスにより古い応答430Bを再生することを防止する。
示されるように、同期700Bは、メッセージ300及び350が正当であると確認するための第1のノンスを両方が含む、syncメッセージ300及びfollow−upメッセージ350の送信と共に、同期700Aにおいて議論されたように、メッセージ430B及び460Bが正当であると確認することの正当性確認の後に続行してもよい。
ここで図8に目を向けると、境界検査800のフローチャートが表される。境界検査800は、上記議論されたsync follow−up350などの同期メッセージ内のタイムスタンプから判定されたオフセットの境界を検査する方法の1つの実施例である。様々な実施形態では、境界検査800は、ネットワーク上のトラフィックを調整するための第1の時間値を維持するように構成された第1のクロック回路(例えば、ローカルクロック132)、及びHSM130などの同期回路を有する装置によって実行される。そのような実施形態では、検査800を実行する装置は、対応するマスタと同期することを試みるスレーブとしての機能を果たしていてもよい。
ステップ810では、同期回路は、第2の時間値を維持する第2のクロック回路(例えば、ネットワーククロック142)と関連付けられた同期情報を受信するためのネットワークを通じて、伝搬遅延を判定する。そのような実施形態では、ステップ810は、同期回路が、ネットワークを通じて第1のメッセージ(例えば、Pdelay要求400)を送信すること、及びネットワークを通じて第2のメッセージ(例えば、Pdelay応答430)を受信することを含む。
ステップ820では、同期回路は、第1のメッセージの出発及び到着時間(例えば、時間T1及びT2)並びに第2のメッセージの出発及び到着時間(例えば、時間T3及びT4)に基づいて、第1の時間値と第2の時間値との間の予測されるオフセットを判定する。一部の実施形態では、ステップ820は、第1のメッセージの到着時間と第2のメッセージの出発時間との間の第1の平均(例えば、中間点702B)を計算すること、第1のメッセージの出発時間と第2のメッセージの到着時間との間の第2の平均(例えば、中間点702A)を計算すること、並びに第1の平均と第2の平均との間の差を判定することを含み、予測されるオフセットは、差である。一部の実施形態では、同期回路は、第1のメッセージの出発時間及び第2のメッセージの到着時間を記憶し、第2のメッセージ内の第1のメッセージ(例えば、Pdelay応答430)の到着時間を受信し、第2のメッセージの出発時間を含む第3のメッセージ(例えば、Pdelay follow−up460)を受信する。
ステップ830では、同期回路は、第2の時間値のタイムスタンプを指定する同期情報(例えば、sync通信152)を受信する。一部の実施形態では、受信された同期情報は、タイムスタンプを指定する第3のメッセージ(例えば、sync follow−up350)及び第3のメッセージの整合性検査値を含む。そのような実施形態では、ステップ830は、整合性検査値を使用して、第3のメッセージが正当であることを確認することを含む。一部の実施形態では、受信された同期情報は、ノンスを含む第4のメッセージ(例えば、syncメッセージ300)を含み、ステップ830は、同期回路が、ノンスを第1のメッセージにおいて送信されたノンスと比較することによって、受信された同期情報が正当であることを確認することを含む。一部の実施形態では、第2のフレーム内のノンスは、整合性検査値フィールド(例えば、ICVフィールド500)と共に第2のフレームの終わりに付加されたフィールド(例えば、ノンスフィールド600)に含まれる。
ステップ840では、同期回路は、予測されるオフセットを、タイムスタンプに基づいて計算されたオフセットと比較することによって、タイムスタンプが有効であるかどうかを判定する。一部の実施形態では、電子制御ユニット(ECU)は、第1の時間値及び計算されたオフセットに基づいて、ネットワーク上でネットワークトラフィックを通信する。
ここで図9Aに目を向けると、ICV検査900のフローチャートが表される。ICV検査900は、上記議論されたsync follow−up350など、同期メッセージにおいて発見されるICVを検査する方法の1つの実施例である。同期メッセージに関して以下で説明されるが、ICVを含む他のメッセージに関してICV検査900の他の実施形態が実行されてもよい。様々な実施形態では、ICV検査900は、HSM130などのICVを含むメッセージの受信側によって実行されるが、ICVを含むフレームを生成する送信側に対する対応する方法も企図される。
検査900は、セキュア回路が、マスタクロック(例えば、ネットワーククロック142)と関連付けられた時間値を指定する同期メッセージ(例えば、sync follow−up350)及びメッセージについての整合性検査値を受信することにより、ステップ910において始まる。一部の実施形態では、ECUは、ネットワークについてのマスタクロックに従って、ネットワークを通じてトラフィックを通信するように構成されている。様々な実施形態では、ネットワークノードは、マスタクロックを含み、セキュア回路に対して一意な鍵を使用して整合性検査値を計算するように構成されている。ステップ920では、セキュア回路は、整合性検査値に基づいて、同期メッセージが有効であるかどうかを判定する。ステップ930では、セキュア回路は、同期メッセージが有効であると判定したことに応じて、ECUに、時間値と関連付けられた時間情報(例えば、時間情報134)を提供する。
一部の実施形態では、検査900は、応答について問い合わせる第1のメッセージ(例えば、Pdelay要求400)を送信し、応答を含む第2のメッセージ(例えば、Pdelay応答430)を受信することによって、セキュア回路と同期メッセージの送信側との間の伝搬遅延を判定することも含む。そのような実施形態では、第1のメッセージ及び第2のメッセージは、整合性検査値を含む。様々な実施形態では、時間情報は、ステップ930では、伝搬遅延及びマスタクロックの時間値に基づいて判定される。一部の実施形態では、整合性検査値は、第1及び第2のメッセージの終わりに(例えば、図4A及び図4Bに示されるようなICV TLVに)付加される。一部の実施形態では、セキュア回路は、第1のメッセージの出発時間及び第2のメッセージの到着時間に基づいてオフセットを計算し、オフセットと時間値に基づいて計算されたオフセットとの間の比較に基づいて、同期メッセージが有効であるかどうかを判定する。
ここで図9Bに目を向けると、ノンス検査950のフローチャートが表される。ノンス検査950は、上記議論されたPdelay要求400及びsync follow−up350など、複数のフレームにおいて発見されるノンスを検査する方法の1つの実施例である。様々な実施形態では、ノンス検査950は、スレーブが、そのクロックをマスタのクロックと同期することを試みることによって実行されるが、ノンスを受信し、それを別のフレームに挿入するマスタに対する対応する方法も企図される。
ステップ960では、第1の回路は、第2の回路に、第1のノンスを含む第1のメッセージ(例えば、Pdelay要求400)を送信する。そのような実施形態では、第1の回路は、ネットワークに結合された通信ノードについてのローカル時間値を維持するように構成された第1のクロック(例えば、ローカルクロック132)を有し、第2の回路は、ネットワークについてのネットワーク時間値を維持する第2のクロック(例えば、ネットワーククロック142)を有する。一部の実施形態では、第1のメッセージは、第1の回路と第2の回路との間の伝搬遅延を判定するために、第2の回路との交換の間に送信される。
ステップ970では、第1の回路は、第2の回路から、第2のノンス(例えば、syncメッセージ300内のslaveNonce TLV)を含み、ネットワーク時間値を識別するタイムスタンプ(例えば、図3BにおけるpreciseOriginTimestamp)と関連付けられている第2のメッセージ(例えば、syncメッセージ300)を受信する。一部の実施形態では、ステップ970は、タイムスタンプがfollow−upメッセージに含まれ、第2のメッセージが第2の回路から送信されるときのネットワーク時間値を示すように、第2の回路から、第2のメッセージへのfollow−upメッセージを受信することを含む。
ステップ980では、第1の回路は、第1のノンスを第2のノンスと比較して、タイムスタンプが有効であるかどうかを判定する。一部の実施形態では、第2のメッセージは、第2のメッセージについての暗号チェックサムを含み、ステップ980は、第1の回路の暗号回路(例えば、暗号アクセラレータ240)が、暗号回路に記憶された鍵を使用して暗号チェックサムを検証して、タイムスタンプが有効であるかどうかを判定することを含む。
ステップ990では、第1の回路は、タイムスタンプが有効であると判定したことに応じて、タイムスタンプを使用して、第1のクロックを第2のクロックと同期する。一部の実施形態では、第1の回路は、タイムスタンプを使用して、伝搬遅延及びタイムスタンプに基づいて、第1のクロックと第2のクロックとの間のオフセットを判定することによって、第1のクロックを第2のクロックと同期する。一部の実施形態では、ステップ980は、1)予測されるオフセットが、ステップ960と共に議論された交換から判定されたタイミング情報に基づいて計算されるように、第1のクロックと第2のクロックとの間の予測されるオフセットを計算すること、及び2)判定されたオフセットを予測されるオフセットと比較することによって、判定されたオフセットが正当であると確認することを含む。
例示的なコンピュータシステム
ここで図10に目を向けると、例示的なコンピュータシステム1000のブロック図が表される。コンピュータシステム1000は、ノード120又はグランドマスタ140などのセキュアネットワーク100の1以上の構成要素を実施するために使用することができるコンピュータシステムの1つの実施形態である。例示される実施形態では、コンピュータシステム1000は、相互接続1080(例えば、システムバス)を介してシステムメモリ1040及びI/Oインタフェース1060に結合されたプロセッササブシステム1020を含む。I/Oインタフェース1060は、1以上のI/Oデバイス1070に結合される。コンピュータシステム1000は、サーバシステム、パーソナルコンピュータシステム、ネットワークコンピュータ、組み込みシステムなどを含むが、それらに限定されない様々なタイプのデバイスのいずれかであってもよい。単一のコンピュータシステム1000が簡易化のために図10において示されるが、システム1000は、共に動作する2つ以上のコンピュータシステムとしても実施されてもよい。
プロセッササブシステム1020は、1以上のプロセッサ又は処理ユニットを含んでもよい。コンピュータシステム1000の様々な実施形態では、プロセッササブシステム1020の複数のインスタンスは、相互接続1080に結合されてもよい。様々な実施形態では、プロセッササブシステム1020(又は、1020内の各々のプロセッサユニット)は、キャッシュ又は他の形式の搭載メモリを含んでもよい。
システムメモリ1040は、システム1000に、本明細書で説明される様々な動作を実行させるようにプロセッササブシステム1020によって実行可能なプログラム命令を記憶するように使用可能である。システムメモリ1040は、ハードディスク記憶装置、フロッピーディスク記憶装置、着脱可能ディスク記憶装置、フラッシュメモリ、ランダムアクセスメモリ(RAM−SRAM、EDO RAM、SDRAM、DDR SDRAM、RAMBUS RAMなど)、及びリードオンリメモリ(PROM、EEPROMなど)など、異なる物理、非一時的メモリ媒体を使用して実施されてもよい。コンピュータシステム1000内のメモリは、メモリ1040などの主記憶装置に限定されない。むしろ、コンピュータシステム1000は、プロセッササブシステム1020内のキャッシュメモリ及びI/Oデバイス1070上の二次的記憶装置(例えば、ハードドライブ、記憶装置アレイなど)などの他の形式の記憶装置をも含んでもよい。一部の実施形態では、それらの他の形式の記憶装置は、本明細書で説明される動作を実行するためにプロセッササブシステム1020によって実行可能なプログラム命令をも記憶してもよい。
I/Oインタフェース1060は、様々な実施形態に従って、他のデバイスに結合され、他のデバイスと通信するように構成された様々なタイプのインタフェースのいずれかであってもよい。1つの実施形態では、I/Oインタフェース1060は、正面から1以上の背面バスへのブリッジチップ(例えば、サウスブリッジ)である。I/Oインタフェース1060は、1以上の対応するバス又は他のインタフェースを介して1以上のI/Oデバイス1070に結合されてもよい。I/Oデバイス1070の例としては、記憶装置(ハードドライブ、光学ドライブ、着脱可能フラッシュドライブ、記憶装置アレイ、SAN、又はそれらの関連するコントローラ)、ネットワークインタフェースデバイス(例えば、ローカル若しくはワイドエリアネットワークへの)、又は他のデバイス(例えば、グラフィック、ユーザインタフェースデバイスなど)が挙げられる。1つの実施形態では、コンピュータシステム1000は、ネットワークインタフェースデバイス1070(例えば、WiFi(登録商標)、Bluetooth(登録商標)、イーサネットなどを通じて通信するように構成された)を介してネットワークに結合される。
特定の実施形態が上記説明されてきたが、それらの実施形態は本開示の範囲を限定する意図はなく、特定の特徴に対して単一の実施形態のみが記載されている場合でも同様である。本開示で提供されている機能の実施例は、別途記載がない限り、例示的な性質のものであって、限定的な目的を意図していない。上の記載は、本開示の利点を有する当業者に明らかであるように、このような代替物、改変例、及び均等物を包含することが意図されている。
本開示の範囲は、本願で取り組まれている問題の一部又は全てを軽減するかどうかに関係なく、本願で(明示的又は暗黙的に)開示されている全ての機能若しくはそれら機能の組み合わせ、又はそれらの一般化を含む。したがって、新しい特許請求は、本願のこのような機能の組み合わせに対する本願(又は、本願に対する優先権を主張する出願)の手続き中に策定し得る。特に、添付の特許請求の範囲に関しては、従属クレームの機能は独立クレームの機能と組み合わされる場合があり、それぞれの独立クレームの機能は、任意の適切な方法で、かつ、単に添付の特許請求の範囲で列挙されている特定の組み合わせではない形で組み合わされる場合がある。
2つのHSM130のクロックの間で同期が実行されるとき、タイミング情報を提供するHSM130(例えば、HSM130D)は、マスタと称されてもよく、タイミング情報を受信するHSM130(例えば、HSM130A及び130B)は、スレーブと称されてもよい。同期を実行することの一部として、様々な実施形態では、スレーブは、それとそのマスタとの間の伝搬遅延(例えば、HSM130AとHSM130Dとの間の遅延)を判定してもよい。スレーブは、そのローカルクロック132とマスタのクロックとの間のオフセット(例えば、クロック132Aと132Dとの間のオフセット)をも判定してもよい。それらの値が判定されると、HSM130は次いで、そのノード120に時間情報134を提供してもよく、タイミング情報は、ネットワーククロック142の現在値と関連付けられた時間値を含み、ローカルクロック132の値、伝搬遅延、及び判定されたオフセットに基づいて計算される。様々な実施形態では、HSM130は、HSM130が図2に関して以下で説明されるように、ノード120よりも更にそれらをセキュアにする様々なセキュリティ技術を採用することができるので、ローカル時間を維持し、時間を同期するために信頼される(ノード120とは反対に)。

Claims (25)

  1. ネットワークに結合されたノードに対してローカル時間値を維持するように構成された第1のクロックを有する第1の回路を備え、前記第1の回路は、
    第2の回路に第1のメッセージであって、前記第1のメッセージは、第1のノンスを含み、前記第2の回路は、前記ネットワークに対して基準時間値を維持する第2のクロックを有する、第1のメッセージを送信し、
    前記第2の回路から第2のメッセージであって、前記第2のメッセージは、第2のノンスを含み、前記基準時間値を識別するタイムスタンプと関連付けられている、第2のメッセージを受信し、
    前記第1のノンスを前記第2のノンスと比較して、前記タイムスタンプが有効であるかどうかを判定し、
    前記タイムスタンプが有効であると判定したことに応じて、前記タイムスタンプを使用して、前記第1のクロックを前記第2のクロックと同期する、
    ように構成されている、装置。
  2. 前記第1の回路は、前記第2の回路との交換の間に前記第1のメッセージを送信して、前記第1の回路と前記第2の回路との間の伝搬遅延を判定するように構成されている、請求項1に記載の装置。
  3. 前記第1の回路は、
    前記タイムスタンプを使用して、前記伝搬遅延及び前記タイムスタンプに基づいて、前記第1のクロックと前記第2のクロックとの間のオフセットを判定することによって、前記第1のクロックを前記第2のクロックと同期するように構成されている、請求項2に記載の装置。
  4. 前記第1の回路は、
    前記第1のクロックと第2のクロックとの間の予測されるオフセットが前記交換から判定されたタイミング情報に基づいて計算されるように、前記予測されるオフセットを計算し、
    前記判定されたオフセットを前記予測されるオフセットと比較することによって、前記判定されたオフセットが正当であると確認する、
    ように構成されている、請求項3に記載の装置。
  5. 前記第1の回路は、前記第2の回路から、前記第2のメッセージへのfollow−upメッセージを受信するように構成されており、前記タイムスタンプは、前記follow−upメッセージに含まれ、前記第2のメッセージが前記第2の回路から送信されるときの前記基準時間値を示す、請求項1に記載の装置。
  6. 前記第2のメッセージは、前記第2のメッセージについての暗号チェックサムを含み、
    前記第1の回路は、暗号回路に記憶された鍵を使用して前記暗号チェックサムを検証して、前記タイムスタンプが有効であるかどうかを判定するように構成された前記暗号回路を含む、
    請求項1に記載の装置。
  7. 前記ノードを更に備え、前記第1の回路は、前記ノードに結合され、前記ノードに、前記第2のクロックとの前記第1のクロックの同期に基づいて、タイミング情報を提供するように構成されている、請求項1に記載の装置。
  8. ネットワークと関連付けられた第1の時間値を維持するように構成された第1のクロック回路と、
    同期回路であって、前記同期回路は、
    第2の時間値を維持する第2のクロック回路と関連付けられた同期情報を受信するための前記ネットワークを通じて、前記同期回路が前記ネットワークを通じて第1のメッセージを送信すること、及び前記ネットワークを通じて第2のメッセージを受信することを含む、伝搬遅延を判定し、
    前記第1のメッセージの出発及び到着時間並びに前記第2のメッセージの出発及び到着時間に基づいて、前記第1の時間値と前記第2の時間値との間の予測されるオフセットを判定し、
    前記第2の時間値のタイムスタンプを指定する同期情報を受信し、
    前記予測されるオフセットを、前記タイムスタンプに基づいて計算されたオフセットと比較することによって、前記タイムスタンプが有効であるかどうかを判定する、
    ように構成された、同期回路と、
    を備える、装置。
  9. 前記予測されるオフセットを判定することは、
    前記第1のメッセージの前記到着時間と前記第2のメッセージの前記出発時間との間の第1の平均を計算することと、
    前記第1のメッセージの前記出発時間と前記第2のメッセージの前記到着時間との間の第2の平均を計算することと、
    前記第1の平均と前記第2の平均との間の差を判定することと、を含み、前記予測されるオフセットは、前記差である、
    請求項8に記載の装置。
  10. 前記同期回路は、
    前記第1のメッセージの前記出発時間及び前記第2のメッセージの前記到着時間を記憶し、
    前記第2のメッセージ内の前記第1のメッセージの前記到着時間を受信し、
    前記第2のメッセージの前記出発時間を含む第3のメッセージを受信する、
    ように構成されている、請求項9に記載の装置。
  11. 前記受信された同期情報は、前記タイムスタンプを指定する第3のメッセージ、及び前記第3のメッセージの整合性検査値を含み、
    前記同期回路は、前記整合性検査値を使用して、前記第3のメッセージが正当であると確認するように構成されている、
    請求項8に記載の装置。
  12. 前記受信された同期情報は、ノンスを含む第4のメッセージを含み、
    前記同期回路は、前記ノンスを前記第1のメッセージにおいて送信されたノンスと比較することによって、前記受信された同期情報が正当であると確認するように構成されている、
    請求項11に記載の装置。
  13. 前記第2のメッセージ内の前記ノンスは、整合性検査値フィールドと共に前記第2のメッセージの終わりに付加されたフィールドに含まれる、請求項12に記載の装置。
  14. 前記第1の時間値及び前記計算されたオフセットに基づいて、前記ネットワーク上でネットワークトラフィックを通信するように構成された電子制御ユニット(ECU)を更に備える、請求項8に記載の装置。
  15. 車両の動作を制御するように構成された電子制御ユニット(ECU)であって、前記ECUは、ネットワークについてのマスタクロックに従って、前記ネットワークを通じてトラフィックを通信するように構成されている、ECUと、
    前記マスタクロックと関連付けられた時間値及び前記同期メッセージについての整合性検査値を指定する同期メッセージを受信し、
    前記整合性検査値に基づいて、前記同期メッセージが有効であるかどうかを判定し、
    前記同期メッセージが有効であると判定したことに応じて、前記ECUに前記時間値と関連付けられた時間情報を提供する、
    ように構成されたセキュア回路と、
    を備える、装置。
  16. 前記セキュア回路は、
    応答について問い合わせる第1のメッセージを送信し、前記応答を含む第2のメッセージを受信することによって、前記セキュア回路と前記同期メッセージの送信側との間の伝搬遅延を判定するように構成されており、前記第1のメッセージ及び前記第2のメッセージは、整合性検査値を含み、
    前記時間情報は、前記伝搬遅延及び前記マスタクロックの前記時間値に基づいて判定される、
    請求項15に記載の装置。
  17. 前記整合性検査値は、前記第1のメッセージ及び前記第2のメッセージの終わりに付加される、請求項16に記載の装置。
  18. 前記第1のメッセージは、第1のノンスを含み、
    前記セキュア回路は、
    前記時間値と関連付けられたメッセージにおいて受信された第2のノンスとの前記第1のノンスの比較を実行し、
    前記比較に基づいて、前記同期メッセージが有効であるかどうかを判定する、
    ように構成されている、請求項16に記載の装置。
  19. 前記セキュア回路は、
    前記第1のメッセージの出発時間及び前記第2のメッセージの到着時間に基づいてオフセットを計算し、
    前記オフセットと前記時間値に基づいて計算されたオフセットとの間の比較に基づいて、前記同期メッセージが有効であるかどうかを判定する、
    ように構成されている、請求項16に記載の装置。
  20. 前記マスタクロックを含むネットワークノードを更に備え、前記ネットワークノードは、前記セキュア回路に対して一意な鍵を使用して、前記整合性検査値を計算するように構成されている、請求項15に記載の装置。
  21. 第1のクロックを有する第1の回路を備え、前記第1の回路は、
    第2のクロックを有する第2の回路に第1のメッセージであって、前記第1のメッセージは、第1のノンスを含む、第1のメッセージを送信することと、
    前記第2の回路から第2のメッセージであって、前記第2のメッセージは、第2のノンスを含み、前記タイムスタンプと関連付けられている、第2のメッセージを受信することと、
    前記第2の回路から第3のメッセージであって、前記第3のメッセージは、前記第1のノンス及び前記第2のノンスを示す情報を含む、第3のメッセージを受信することと、
    前記第1のノンス、前記第2のノンス、及び前記情報に基づいて、前記タイムスタンプが有効であるかどうかを判定することと、
    によって、前記第1のクロックを前記第2のクロックと同期するために使用される前記第2のクロックの前記タイムスタンプの有効性を判定するように構成されている、装置。
  22. 前記第2のメッセージは、前記タイムスタンプを含む、請求項21に記載の装置。
  23. 前記第3のメッセージは、前記タイムスタンプを含み、前記タイムスタンプは、前記第2のメッセージが前記第2の回路によって送信されるときの前記第2のクロックの値である、請求項21に記載の装置。
  24. 前記第3のメッセージに含まれる前記情報は、前記第1のノンス及び前記第2のノンスを含み、
    前記判定することは、1)前記第1のメッセージ内の前記第1のノンスを前記情報内の前記第1のノンスと、及び2)前記第2のメッセージ内の前記第2のノンスを前記情報内の前記第2のノンスと比較することを含む、
    請求項21に記載の装置。
  25. 前記第3のメッセージに含まれる前記情報は、前記第1のノンスに基づいて生成されたチェックサム及び前記第2のノンスに基づいて生成されたチェックサムを含み、
    前記判定することは、
    前記第1のノンスに基づいて生成された前記チェックサムを、前記第1のメッセージ内の前記第1のノンスに基づいて生成されたチェックサムと比較することと、
    前記第2のノンスに基づいて生成された前記チェックサムを、前記第2のメッセージ内の前記第2のノンスに基づいて生成されたチェックサムと比較することと、
    を含む、請求項21に記載の装置。
JP2019511779A 2016-09-23 2017-09-08 ネットワークタイミング同期 Active JP6870072B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662399313P 2016-09-23 2016-09-23
US62/399,313 2016-09-23
PCT/US2017/050817 WO2018057322A1 (en) 2016-09-23 2017-09-08 Network timing synchronization

Publications (2)

Publication Number Publication Date
JP2019530308A true JP2019530308A (ja) 2019-10-17
JP6870072B2 JP6870072B2 (ja) 2021-05-12

Family

ID=59955654

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019511779A Active JP6870072B2 (ja) 2016-09-23 2017-09-08 ネットワークタイミング同期

Country Status (9)

Country Link
US (2) US11463253B2 (ja)
EP (1) EP3491752A1 (ja)
JP (1) JP6870072B2 (ja)
KR (1) KR102223563B1 (ja)
CN (2) CN113556199A (ja)
AU (1) AU2017332620B2 (ja)
BR (1) BR112019003967A2 (ja)
MX (1) MX2019002441A (ja)
WO (1) WO2018057322A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023507143A (ja) * 2019-12-20 2023-02-21 コンチネンタル オートモーティヴ ゲゼルシャフト ミット ベシュレンクテル ハフツング サーバecuにおいて時刻同期を確保するための方法
JP7352622B2 (ja) 2018-10-08 2023-09-28 グリーン・マーケット・スクエア・リミテッド ブロックチェーン・タイムスタンプ協定
US11924360B2 (en) 2018-10-08 2024-03-05 Green Market Square Limited Blockchain timestamp agreement

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11271838B2 (en) * 2017-01-13 2022-03-08 International Business Machines Corporation Timing synchronization
KR102431490B1 (ko) * 2018-06-26 2022-08-10 현대자동차주식회사 차량 네트워크에서 다중 도메인을 활용한 통신 노드의 동기화 방법 및 장치
JP7143697B2 (ja) * 2018-09-14 2022-09-29 オムロン株式会社 制御システムおよび制御装置
FR3086830B1 (fr) * 2018-09-27 2023-01-06 Gorgy Timing Synchronisation temporelle securisee
EP3716570B1 (en) * 2019-03-29 2022-07-27 Mitsubishi Electric R&D Centre Europe B.V. Computational puzzles against dos attacks
GB201911378D0 (en) * 2019-08-08 2019-09-25 Hoptroff Richard George System for timestamping events on edge devices
DE102019217035B4 (de) 2019-11-05 2021-11-25 Continental Automotive Gmbh Verfahren zur Sicherung der Zeitsynchronisation in einem Netzwerk gegen unautorisierte Änderungen
EP3820105B1 (de) * 2019-11-11 2023-03-15 Siemens Aktiengesellschaft Verfahren und system zur sicheren zeitsynchronisation
US11558839B2 (en) * 2019-11-19 2023-01-17 GM Global Technology Operations LLC Determination of local time at vehicle ignition
US11303455B2 (en) * 2020-02-18 2022-04-12 Bae Systems Controls Inc. Authenticating devices over a public communication network
US11191053B1 (en) * 2020-08-06 2021-11-30 Facebook, Inc. Network-based clock for time distribution across a wireless network
EP3975455A1 (en) * 2020-09-23 2022-03-30 Bayerische Motoren Werke Aktiengesellschaft Determining correctness of actually received timestamp
FR3114712A1 (fr) * 2020-09-29 2022-04-01 Orange Procédé de synchronisation d’une pluralité de serveurs de communications, dispositifs et programmes d’ordinateurs correspondants
DE102020215441A1 (de) * 2020-12-07 2022-06-09 Volkswagen Aktiengesellschaft Verfahren zur Synchronisation von Uhren von mindestens zwei Geräten
US11496233B2 (en) 2020-12-23 2022-11-08 BlackBear (Taiwan) Industrial Networking Security Ltd. Communication system and communication method for one-way transmission
JP2024515268A (ja) * 2021-04-16 2024-04-08 バイエリシエ・モトーレンウエルケ・アクチエンゲゼルシヤフト 時刻同期の検証
CN113260040B (zh) * 2021-05-31 2021-10-22 深圳市爱图仕影像器材有限公司 时间码同步方法及网络系统
US20230032067A1 (en) * 2021-07-27 2023-02-02 Qualcomm Incorporated Method and apparatus for acquisition of reliable time in a wireless network
US20220014529A1 (en) * 2021-09-24 2022-01-13 Intel Corporation Detecting clock synchronization attacks with pseudo-randomization of frames in the protected window
CN114615736B (zh) * 2022-04-18 2024-03-29 武汉华中天纬测控有限公司 一种时间同步网络装置及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0946325A (ja) * 1995-07-26 1997-02-14 Nec Telecom Syst Ltd 時刻同期方式
JP2003519417A (ja) * 1999-06-23 2003-06-17 データム・インコーポレイテツド 信頼されるサードパーティクロックおよび信頼されるローカルクロックを提供するためのシステムおよび方法
JP2008244609A (ja) * 2007-03-26 2008-10-09 Yokogawa Electric Corp 時刻同期方法及びこれを用いた無線ネットワークシステム
US20130208735A1 (en) * 2012-02-09 2013-08-15 Marvell Israel (M.I.S.L) Ltd. Clock synchronization using multiple network paths
DE102014214823A1 (de) * 2014-07-29 2016-02-04 Bayerische Motoren Werke Aktiengesellschaft Bestimmung einer Verzögerung

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7856660B2 (en) 2001-08-21 2010-12-21 Telecommunication Systems, Inc. System for efficiently handling cryptographic messages containing nonce values
US7394830B2 (en) 2003-09-11 2008-07-01 Cisco Technology, Inc. System for synchronizing circuitry in an access network
US7778173B2 (en) * 2005-01-04 2010-08-17 Cisco Technology, Inc. Clock recovery algorithm for remultiplexing MPEG-2 SPTSs and/or MPTSs in the presence of network jitter
CN100495964C (zh) * 2007-12-03 2009-06-03 西安西电捷通无线网络通信有限公司 一种轻型接入认证方法
CN102066952A (zh) * 2008-06-13 2011-05-18 西门子公司 对电流馈入量的防操控检测
US8081635B2 (en) * 2008-10-08 2011-12-20 Motorola Solutions, Inc. Reconstruction of errored media streams in a communication system
KR101133256B1 (ko) * 2009-02-27 2012-04-09 한국과학기술원 시그니처 정보를 이용한 물리계층에서의 타임스탬프 처리장치 및 그 방법
US8392709B1 (en) 2009-04-28 2013-03-05 Adobe Systems Incorporated System and method for a single request—single response protocol with mutual replay attack protection
EP2589171B1 (en) * 2010-07-02 2016-04-27 Huawei Technologies Co., Ltd. Method for accurate distribution of time to a receiver node in an access network
CN102347831B (zh) 2010-07-26 2014-12-03 华为技术有限公司 时间消息处理方法、装置及系统
US8675689B2 (en) 2011-02-15 2014-03-18 General Electric Company Method of time synchronization of free running nodes in an avionics network
CN102739626A (zh) * 2011-04-12 2012-10-17 索尼公司 时间同步方法和装置、时间戳设备以及可信时间服务器
US8549586B2 (en) 2011-12-06 2013-10-01 Broadcom Corporation System utilizing a secure element
US9208339B1 (en) * 2013-08-12 2015-12-08 Sprint Communications Company L.P. Verifying Applications in Virtual Environments Using a Trusted Security Zone
US9667370B2 (en) * 2013-09-05 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Communication device with peer-to-peer assist to provide synchronization
US9549319B1 (en) * 2014-06-09 2017-01-17 Amazon Technologies, Inc. Presence verification within a wireless environment
EP2990979B1 (en) * 2014-08-28 2019-06-12 Vodafone GmbH Replay attack prevention for content streaming system
DE102014217993A1 (de) 2014-09-09 2016-03-10 Siemens Aktiengesellschaft Sender, Empfänger, Zwischenknoten und Verfahren zum Synchronisieren von mindestens einer Uhr mindestens eines Empfängers mit einer Uhr eines Senders
US9410712B2 (en) * 2014-10-08 2016-08-09 Google Inc. Data management profile for a fabric network
RO131471A2 (ro) * 2015-04-21 2016-10-28 Ixia, A California Corporation Metode, sisteme şi suport citibil pe calculator pentru testarea calităţii tactului recuperat

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0946325A (ja) * 1995-07-26 1997-02-14 Nec Telecom Syst Ltd 時刻同期方式
JP2003519417A (ja) * 1999-06-23 2003-06-17 データム・インコーポレイテツド 信頼されるサードパーティクロックおよび信頼されるローカルクロックを提供するためのシステムおよび方法
JP2008244609A (ja) * 2007-03-26 2008-10-09 Yokogawa Electric Corp 時刻同期方法及びこれを用いた無線ネットワークシステム
US20130208735A1 (en) * 2012-02-09 2013-08-15 Marvell Israel (M.I.S.L) Ltd. Clock synchronization using multiple network paths
DE102014214823A1 (de) * 2014-07-29 2016-02-04 Bayerische Motoren Werke Aktiengesellschaft Bestimmung einer Verzögerung

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
D.SIBOLD ET AL.: "Network Time Security", DRAFT-IETF-NTP-NETWORK-TIME-SECURITY-14, JPN6020009444, March 2016 (2016-03-01), ISSN: 0004399527 *
ELENA LISOVA,ET AL.: "Protecting Clock Synchronization:Adversary Detection through Network Monitoring", JOURNAL OF ELECTRICAL AND COMPUTER ENGINEERING, JPN6020009446, April 2016 (2016-04-01), ISSN: 0004399529 *
MARKUS ULLMANN; ET AL: "DELAY ATTACKS - IMPLICATION ON NTP AND PTP TIME SYNCHRONIZATION -", PRECISION CLOCK SYNCHRONIZATION FOR MEASUREMENT, CONTROL AND COMMUNICATION, 2009. 以下備考, JPN5019008116, 12 October 2009 (2009-10-12), US, pages 1 - 6, XP031570888, ISSN: 0004399528 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7352622B2 (ja) 2018-10-08 2023-09-28 グリーン・マーケット・スクエア・リミテッド ブロックチェーン・タイムスタンプ協定
US11924360B2 (en) 2018-10-08 2024-03-05 Green Market Square Limited Blockchain timestamp agreement
JP2023507143A (ja) * 2019-12-20 2023-02-21 コンチネンタル オートモーティヴ ゲゼルシャフト ミット ベシュレンクテル ハフツング サーバecuにおいて時刻同期を確保するための方法

Also Published As

Publication number Publication date
JP6870072B2 (ja) 2021-05-12
KR102223563B1 (ko) 2021-03-04
CN109644061B (zh) 2021-08-03
EP3491752A1 (en) 2019-06-05
KR20190035849A (ko) 2019-04-03
US20230028255A1 (en) 2023-01-26
MX2019002441A (es) 2019-06-12
US11463253B2 (en) 2022-10-04
US20190245690A1 (en) 2019-08-08
BR112019003967A2 (pt) 2019-05-21
CN109644061A (zh) 2019-04-16
AU2017332620B2 (en) 2020-09-10
WO2018057322A1 (en) 2018-03-29
AU2017332620A1 (en) 2019-03-21
CN113556199A (zh) 2021-10-26

Similar Documents

Publication Publication Date Title
JP6870072B2 (ja) ネットワークタイミング同期
US20230125937A1 (en) Time-based encryption key derivation
JP6899378B2 (ja) ネットワークノード
US8155157B2 (en) Method and apparatus for synchronizing applications of terminals in communication network
US11251891B2 (en) Method for identifying an incorrect time stamp of an ethernet message and control unit for a motor vehicle
JP6617173B2 (ja) 複数のマネージャまたはアクセスポイントを有する無線ネットワークにおける独立したセキュリティ
JP2020526051A (ja) 車両ネットワーク内のマスター及びクライアントの時刻関数を検証するための方法、コンピューター読取可能な媒体、システム、及び、このシステムを有する車両
JP6814549B2 (ja) 演算装置、認証システム、認証方法
US11522778B2 (en) Method for determining a synchronization accuracy, computer program, communication unit and motor vehicle
EP3721598A1 (en) Security for group communication
KR20210131437A (ko) 자율 주행 차량 무리 관리를 위한 암호화 기반 군집 주행 메커니즘
US20230006751A1 (en) Method for securing the time synchronization of an ethernet on-board network
WO2017221970A1 (ja) ログ情報作成装置、ログ情報作成方法、ログ情報作成プログラムが記録された記録媒体、及び、情報処理システム
JP2023506907A (ja) イーサネットオンボードネットワークのセンサデータの有効性を検証するための方法
US11870777B2 (en) Relay device and communication system
US11740652B2 (en) Method for synchronizing clocks of at least two devices
US10554633B2 (en) Enhanced packet formating for security inter-computing system communication
CN115086955A (zh) 面向工控系统的无线半双工通信的时间同步系统及方法
US20040003291A1 (en) Distribution system, distribution apparatus, and reception apparatus for distributing contents having usage expiry
JP2023507143A (ja) サーバecuにおいて時刻同期を確保するための方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190228

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190508

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201204

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210303

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210414

R150 Certificate of patent or registration of utility model

Ref document number: 6870072

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150