(57)【特許請求の範囲】
【請求項１】
高精度時間プロトコル（ＰＴＰ）フレームの識別子を生成して、前記ＰＴＰフレームを暗号化することにより、暗号化されたＰＴＰフレームを生成して、前記ＰＴＰフレームとともに前記識別子を出力する媒体アクセス制御（ＭＡＣ）モジュールと、
前記識別子を受信して、前記暗号化されたＰＴＰフレームが前記ＭＡＣモジュールから出力されると、前記識別子に基づいて前記暗号化されたＰＴＰフレームを識別して、前記識別子を用いて識別され前記暗号化されたＰＴＰフレームの送信前に前記識別子を用いて識別され前記暗号化されたＰＴＰフレームにタイムスタンプを施すＰＴＰモジュールと
を備えるシステム。
【請求項２】
前記ＭＡＣモジュールは、
フレームを暗号化する前に、当該フレームが前記ＰＴＰフレームであるかを当該フレームのヘッダに基づいて判断するパーズモジュールを有する請求項１に記載のシステム。
【請求項３】
前記ＭＡＣモジュールは、前記暗号化されたＰＴＰフレームの送信前に、前記暗号化されたＰＴＰフレームを前記識別子とともに格納する請求項１または２に記載のシステム。
【請求項４】
前記ＰＴＰモジュールは、
前記ＭＡＣモジュールが前記暗号化されたＰＴＰフレームを出力する前に、前記ＭＡＣモジュールから前記識別子を受信して、前記ＭＡＣモジュールから出力されるフレームを監視して、前記暗号化されたＰＴＰフレームおよび前記識別子が前記ＭＡＣモジュールからともに出力されるとき、前記識別子に基づいて、監視した前記フレームから前記暗号化されたＰＴＰフレームを検知するフレーム検知モジュールを有する請求項１から３の何れか１項に記載のシステム。
【請求項５】
前記ＰＴＰモジュールは、
前記フレーム検知モジュールが検知した前記暗号化されたＰＴＰフレームにタイムスタンプを施すタイムスタンプモジュールを更に有する請求項４に記載のシステム。
【請求項６】
前記暗号化されたＰＴＰフレームにタイムスタンプを施した後に、通信媒体を介してネットワーク経由で前記暗号化されたＰＴＰフレームを送信するＰＨＹモジュールを更に備える請求項１から５の何れか１項に記載のシステム。
【請求項７】
暗号化されているフレームが通信媒体を介して受信されることに応じて受信タイムスタンプを生成し、かつ前記通信媒体を介して受信された前記暗号化されているフレームを識別する為に用いられる識別子を生成し、前記受信タイムスタンプおよび前記暗号化されているフレームに関連する前記識別子を格納し、前記暗号化されているフレームおよび前記暗号化されているフレームに関連する前記識別子を出力する高精度時間プロトコル（ＰＴＰ）モジュールと、
前記識別子を用いて識別される前記暗号化されているフレームを復号化することにより復号化されたフレームを生成して、前記復号化されたフレームおよび前記復号化されたフレームを識別するために用いられた前記識別子を出力する媒体アクセス制御（ＭＡＣ）モジュールと
を備え、
前記ＰＴＰモジュールは、前記復号化されたフレームがＰＴＰフレームである場合に、前記識別子を用いて識別された前記暗号化されたフレームに関連する前記受信タイムスタンプを取得して、前記識別子を用いて識別された前記暗号化されているフレームと関連する前記受信タイムスタンプを、前記識別子を用いて識別された前記暗号化されているフレームを復号することによって生成された前記復号化されたフレーム、に付加するシステム。
【請求項８】
前記ＭＡＣモジュールは、
フレームを暗号化する前に、当該フレームが前記ＰＴＰフレームであるかを当該フレームのヘッダに基づいて判断するパーズモジュールを有する請求項７に記載のシステム。
【請求項９】
前記暗号化されているフレームは、前記暗号化されているフレームが前記システムから遠隔位置にあるデバイスにより前記通信媒体を介して送信されたときを示す送信タイムスタンプを含む請求項７または８に記載のシステム。
【請求項１０】
前記復号化されたフレームを処理して、前記受信タイムスタンプおよび前記送信タイムスタンプに基づいて、時刻データを生成する処理モジュールを更に備える請求項９に記載のシステム。
【請求項１１】
前記復号化されたフレームを処理して、前記受信タイムスタンプと、前記復号化されたフレームに含まれる送信タイムスタンプとに基づいて、ネットワークデバイスの時刻データを生成する処理モジュールを更に備え、
前記送信タイムスタンプは、前記暗号化されているフレームが前記ネットワークデバイスから遠隔位置にあるデバイスにより前記通信媒体を介して送信されたときを示す、請求項７から１０のいずれか１項に記載のシステム。
【発明の詳細な説明】
【関連出願】
【０００１】
本願は、米国特許仮出願第６１／０９１，２１４号、出願日：２００８年８月２２日」）に基づく優先権を主張する。この開示内容を全て、参照により本願に組み込む。
【技術分野】
【０００２】
本開示はネットワークデバイスに係り、より詳しくは、高精度時間プロトコル（ＰＴＰ）および媒体アクセス制御（ＭＡＣ）セキュリティ機能（ＭＡＣｓｅｃ）のネットワークデバイスへの統合に係る。
【背景技術】
【０００３】
この背景技術の記載は、開示のコンテクストを概略する意図を有する。本願の現在の発明者の、本背景技術セクションに記載される業績、さらに、記載されていなければ出願時の先行技術として捉えられないであろう記載の側面は、本開示について自認した先行技術を示すものでも、暗示するものでもない。
【０００４】
図１のネットワークデバイス１００は、物理層（ＰＨＹ）モジュール１０２、媒体アクセス制御（ＭＡＣ）モジュール１０４、およびプロセッサ１０６を含む。ネットワークデバイス１００は、通信媒体１０８を介してネットワーク（不図示）内の他のネットワークデバイスと通信することができる。ネットワークはイーサネット（登録商標）ネットワークを含んでよい。通信媒体は、有線または無線の媒体を含んでよい。
【０００５】
ＰＨＹモジュール１０２は、ネットワークデバイス１００を通信媒体１０８へインタフェースする。ＰＨＹモジュール１０２は、通信媒体１０８を介してデータを送受信する。ＭＡＣモジュール１０４は、通信媒体１０８へのアクセスを制御する。ＭＡＣモジュール１０４は様々な機能を行う。機能には、ネットワークデバイス１００が送信するデータの暗号化、および、ネットワークデバイス１００が受信するデータの復号化が含まれる。
【０００６】
プロセッサ１０６は、送信するデータおよび受信するデータを処理する。プロセッサ１０６は、マルチメディアアプリケーションを含むアプリケーションを実行することができる。アプリケーションの種類は、ネットワークデバイス１００の機能、および、ネットワークデバイス１００が行う処理に従って定まってよい。
【発明の概要】
【課題を解決するための手段】
【０００７】
システムは、媒体アクセス制御（ＭＡＣ）モジュールと高精度時間プロトコル（ＰＴＰ）モジュールとを含む。ＭＡＣモジュールは、ＰＴＰフレームの識別子を生成して、ＰＴＰフレームを暗号化することにより、暗号化されたＰＴＰフレームを生成して、識別子を出力する。ＰＴＰモジュールは、識別子を受信して、暗号化されたＰＴＰフレームがＭＡＣモジュールから出力されると、識別子に基づいて、暗号化されたＰＴＰフレームを識別して、暗号化されたＰＴＰフレームの送信前に、暗号化されたＰＴＰフレームにタイムスタンプを施す。
【０００８】
他の特徴として、システムは高精度時間プロトコル（ＰＴＰ）モジュールと媒体アクセス制御（ＭＡＣ）モジュールとを含む。  ＰＴＰモジュールは、暗号化されているフレームが通信媒体を介して受信されると、受信タイムスタンプと識別子とを生成する。ＰＴＰモジュールはさらに、受信タイムスタンプおよび識別子を格納して、暗号化されているフレームおよび識別子を出力する。ＭＡＣモジュールは、暗号化されているフレームを復号化することにより復号化されたフレームを生成して、復号化されたフレームがＰＴＰフレームである場合に識別子を出力する。ＰＴＰモジュールは、ＭＡＣモジュールから受信した識別子に対応する受信タイムスタンプを取得して、受信タイムスタンプを復号化されたフレームに付加する。
【０００９】
また他の特徴として、物理層デバイス（ＰＨＹ）は、パーズモジュールとタイムスタンプモジュールとを備える。パーズモジュールは、通信媒体を介して受信した、暗号化されていないフレームのヘッダをパーズして、フレームが高精度時間プロトコル（ＰＴＰ）フレームであるかを判断する。タイムスタンプモジュールは、フレームがＰＴＰフレームであると判断されると、フレームに受信タイムスタンプを施す。
【００１０】
本開示の更なる利用分野については、以下の詳細な記載、請求項、および図面を読むことで明らかになる。詳細な記載および具体例は、例示目的のみを意図しており、本開示の範囲を限定する意図はない。
【００１１】
本開示は、詳細な記載を添付図面とともに読むことでよりよく理解される。
【図面の簡単な説明】
【００１２】
【図１】ネットワークデバイスの機能ブロック図である。
【００１３】
【図２Ａ】暗号化されていないデータフレームを示す。
【００１４】
【図２Ｂ】暗号化されているデータフレームを示す。
【００１５】
【図３】高精度時間プロトコル（ＰＴＰ）および媒体アクセス制御（ＭＡＣ）セキュリティ（ＭＡＣｓｅｃ）プロトコルを実装するネットワークデバイスの機能ブロック図である。
【００１６】
【図４】ＰＴＰおよびＭＡＣｓｅｃプロトコルを実装するネットワークデバイスの送信部分の機能ブロック図である。
【００１７】
【図５】ＰＴＰおよびＭＡＣｓｅｃプロトコルを実装するネットワークデバイスの受信部分の機能ブロック図である。
【００１８】
【図６】ＰＴＰを実装し、且つ、ＭＡＣｓｅｃプロトコルを選択的に実装するネットワークデバイスの機能ブロック図である。
【００１９】
【図７】暗号化されているＰＴＰフレームの送信方法を示すフローチャートである。
【００２０】
【図８】暗号化されているＰＴＰフレームを受信して、時刻データを生成する方法を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下の記載は、性質的に単に例示であって、本開示、その用途または利用法を限定する意図は一切もたない。明瞭化目的から、異なる図面間であっても、類似した部材には同じ参照番号を付している。ここで利用される、Ａ、Ｂ、およびＣの少なくとも１つ、といった言い回しは、非排他的論理和を用いた、論理（ＡｏｒＢｏｒＣ）の意味で捉えていただきたい。方法内の各段階（ステップ）は、本開示の原理が変更されなければ異なる順番で実行することができることを理解されたい。
【００２２】
ここで利用する「モジュール」という用語は、１以上のソフトウェアまたはファームウェアプログラムを実行するＡＳＩＣ（特定用途向けＩＣ）、電子回路、プロセッサ（共有、専用、またはグループいずれでもよい）および／またはメモリ（共有、専用、またはグループいずれでもよい）、論路回路の組み合わせ、および／または、記載される機能を提供する用途に適切なコンポーネントを含む概念である。
【００２３】
ネットワークデバイスは、ネットワークデバイス上で時刻情報を同期させるのに利用される時刻データを含むタイミング情報を交換してよい。加えて、ネットワークデバイスは、タイミング情報を利用して、データ処理に利用される内部クロック信号を同期してよい。
【００２４】
ネットワークデバイスは、高精度時間プロトコル（ＰＴＰ）を用いてタイミング情報を交換することができる。ほんの一例ではあるが、ネットワークデバイスはＩＥＥＥ１５８８規格で開示されているＰＴＰを利用してよく、ここにその全体を参照として組み込む。特に、ネットワークデバイスは、ＰＴＰフレームとして指定されるデータのフレームを介してタイミング情報を交換することができる。
【００２５】
加えて、ネットワークデバイスは、媒体アクセス制御（ＭＡＣ）セキュリティ（ＭＡＣｓｅｃ）プロトコルを利用してデータをセキュアに交換することができる。ほんの一例ではあるが、ネットワークデバイスは、ＩＥＥＥ８０２．１ＡＥ規格に開示されているＭＡＣｓｅｃプロトコルを利用してよく、ここにその全体を参照として組み込む。
【００２６】
ＭＡＣｓｅｃプロトコルを利用する場合は通常、送信側のネットワークデバイスが送信前にフレームを暗号化し、受信側のネットワークデバイスは、受信したフレームを復号化する。送信側のネットワークデバイスと受信側のネットワークデバイスとの間では、フレームの暗号化・復号化に利用されるセキュリティ鍵、認証情報等が交換されてよい。
【００２７】
図２Ａおよび２Ｂは、平文（暗号化されていない）フレーム１５０および暗号されているフレーム１６０を示す。暗号化されているフレーム１６０は、暗号化されていないフレーム１５０を暗号化したバージョンに相当するものであってよい。図２Ａでは、ほんの一例ではあるが、暗号化されていないフレーム１５０が、送信先アドレス、送信元アドレス、イーサタイプフィールド、ペイロード、および巡回冗長検査（ＣＲＣ）フィールドといったフィールドを含む。イーサタイプフィールドとは、フレームの種類のことである。例えばイーサタイプフィールドは、暗号化されていないフレーム１５０がＰＴＰフレームであると示すことができる。ＰＴＰフレームのペイロードは、ＰＴＰデータ（例えばタイミング情報）を含む。
【００２８】
図２Ｂでは、暗号化されているフレーム１６０が、送信先アドレス、送信元アドレス、ＭＡＣｓｅｃヘッダ、イーサタイプフィールド、ペイロード、整合性チェック値（ＩＣＶ）フィールド、およびＣＲＣフィールドといったフィールドを含む。ＭＡＣｓｅｃプロトコルは、ＭＡＣｓｅｃヘッダを追加する。ＭＡＣｓｅｃヘッダは暗号化されていない。イーサタイプフィールドおよびペイロードは、送信前に暗号化される。
【００２９】
図３では、ネットワークデバイス２００が物理層（ＰＨＹ）コア２０２、ＭＡＣｓｅｃコア２０４、およびＰＴＰコア２０６を含む。ＰＨＹコア２０２およびＭＡＣｓｅｃコア２０４は、ＰＨＹモジュールおよびＭＡＣモジュールによりそれぞれ実装することができる。ＰＴＰコア２０６は、ＰＴＰモジュールによる実装が可能である。あるいは、ＰＴＰコア２０６またはその部分が、ＰＨＹモジュールおよび／またはＭＡＣモジュールにより実装されてもよい。
【００３０】
ＰＨＹコア２０２は、ネットワークデバイス２００を通信媒体１０８にインタフェースする。ＰＨＹコア２０２は、通信媒体１０８を介して、データのフレームを送受信する。ＭＡＣｓｅｃコア２０４はＭＡＣｓｅｃプロトコルを実装することができる。ＭＡＣｓｅｃコア２０４は、送信するフレームを暗号化して、受信したフレームを復号化する。ＰＴＰコア２０６はＰＴＰプロトコルを実装することができる。ＰＴＰコア２０６は、フレームを送受信したときを示すタイムスタンプをフレームに施す。
【００３１】
ＭＡＣｓｅｃコア２０４およびＰＴＰコア２０６は、媒体依存インタフェース（ＭＩＩ）バス２０８を介して、ＰＨＹコア２０２とインタフェースすることができる。ほんの一例であるが、ＭＩＩバス２０８はギガビットＭＩＩ（ＧＭＩＩ）バスまたは１０ＧＢ  ＸＧＭＩＩバスを含むことができる。送信中に、ＰＴＰコア２０６は、ＰＨＹコア２０２がＭＩＩバス２０８を介してＭＡＣｓｅｃコア２０４からフレームを受信したときを検知する。受信中に、ＰＴＰコア２０６は、ＰＨＹコア２０２が通信媒体１０８からフレームを受信して、ＭＡＣｓｅｃコア２０４宛てのフレームを、ＭＩＩバス２０８を介して出力したときを検知する。従って、ＰＴＰコア２０６は、送信するフレームおよび受信したフレームにタイムスタプを施すことができる。
【００３２】
ネットワークデバイス２００のプロセッサ（不図示）が実行するプログラムは、受信したＰＴＰフレームが含むタイムスタンプに基づいて時刻データを生成することができる。例えば、送信側のデバイスがＰＴＰフレームを送信する場合、送信側のデバイスのＰＴＰコアが、ＰＴＰフレームに送信時刻でタイムスタンプを施す。送信時刻は、ＰＴＰフレームが送信された正確な時刻を示すことができる。受信側のデバイスがこのＰＴＰフレームを受信すると、受信側のデバイスのＰＴＰコアが、このＰＴＰフレームに受信時刻でタイムスタンプを施す。受信時刻は、ＰＴＰフレームが受信された正確な時刻を示すことができる。受信側のデバイスが実行するプログラムは、ＰＴＰフレームに含まれる送信時刻および受信時刻に基づいて、受信側のデバイスの時刻データを生成することができる。
【００３３】
時刻データを正確に生成するためには、ＰＴＰコア２０６は、ＰＴＰフレームの送信直前、および、受信直後に、ＰＴＰフレームにタイムスタンプを施す必要がある。つまり、ＰＴＰコア２０６は、なるべく通信媒体１０８に近くなるようにＰＴＰフレームに対してタイムスタンプを施す必要がある。しかしながら暗号化が行われる場合には、ＰＴＰコア２０６は、暗号化されているフレームの送信直前、および、受信直後に、どのフレームがＰＴＰフレームであるかを知ることができない。ＰＴＰコア２０6がこれらのＰＴＰフレームを識別できない理由は、フレームがＰＴＰフレームであるか否かを示すイーサタイプフィールドが暗号化されているからである。従ってＰＴＰコア２０６は、暗号化されているフレームの送信直前、および、受信直後には、これらのＰＴＰフレームにはタイムスタンプを施すことができない。
【００３４】
より具体的には、受信中に、暗号化されているフレームが受信されると、ＭＡＣｓｅｃコア２０４は、先ずは、暗号化されているフレームを復号化する。その後、ＭＡＣｓｅｃコア２０４は、復号化されているフレームのイーサタイプヘッダをパーズ（デコード）して、受信したフレームがＰＴＰフレームであるかを判断する。こうして初めて、ＰＴＰコア２０６は受信したフレームにタイムスタンプを施すことができるようになる。しかし復号化およびパーズ処理によりタイムスタンプを施す処理が遅延される。タイムスタンプ処理の遅延により、時刻データは不正確なものとなりうる。
【００３５】
逆に、送信中には、ＰＴＰコア２０６は、先ずＰＴＰフレームに対してタイムスタンプを施す。その後、ＭＡＣｓｅｃコア２０４は、ＰＴＰフレームを暗号化する。加えて、ＭＡＣｓｅｃコア２０４は、暗号化されたフレームを送信用バッファに格納してもよい。暗号化されたフレームは、送信用バッファのサイズによっては、送信前に長期間、送信用バッファに格納しておかれることもある。そうなると、フレームの受信時に作成される時刻データは、送信用バッファにフレームが長期間格納しておかれたことによる遅延によって、不正確なものとなりうる。
【００３６】
この問題を解決する一方法として、ＰＴＰ情報を暗号化せずに送信して、残りの情報を暗号化して送信する、というものがある。しかしこの場合には、ＰＴＰ情報が暗号化されないのでセキュリティ面が犠牲となってしまうことが考えられる。従ってこの解決方法は望ましくない。
【００３７】
本開示は、ネットワークデバイスのＭＡＣｓｅｃおよびＰＴＰコアが、フレームの送受信中に情報を交換することができるようなシステムおよび方法に係る。このような情報交換を可能とすることにより、暗号化されているフレームに送受信中にタイムスタンプを施すことができるようになるので、タイムスタンプが、フレームの実際の送受信時刻とよく合致するようになる。従って、タイムスタンプに基づいて時刻データを正確に生成することができるようになる。
【００３８】
図４は、本開示におけるネットワークデバイス３００の送信部分を示す。ネットワークデバイス３００は、ＭＡＣモジュール３０２およびＰＨＹモジュール３０４を含む。ＭＡＣモジュール３０２およびＰＨＹモジュール３０４は、ＭＩＩバス２０８を介して通信し、それぞれＭＡＣｓｅｃプロトコルおよびＰＴＰプロトコルを実装する。
【００３９】
ＭＡＣモジュール３０２は、パーズモジュール３０６、識別モジュール３０８、暗号化モジュール３１０、送信用バッファ３１２、およびメッセージモジュール３１４を含む。ＰＨＹモジュール３０４は、タイムスタンプモジュール３１６、フレーム検知モジュール３１８、および送信モジュール３２０を含む。
【００４０】
パーズモジュール３０６は、送信するフレームを受信する。パーズモジュール３０６は、フレームのイーサタイプヘッダをパーズ（デコード）して、このフレームがＰＴＰフレームであるかを判断する。
【００４１】
フレームがＰＴＰフレームではない場合、パーズモジュール３０６は、該フレームを暗号化モジュール３１０に出力する。暗号化モジュール３１０は、フレームを暗号化して、暗号化されたフレームを送信用バッファ３１２に格納する。送信用バッファ３１２は、暗号化されたフレームを送信モジュール３２０に出力する。送信モジュール３２０は暗号化されたフレームを送信する。
【００４２】
フレームがＰＴＰフレームである場合には、パーズモジュール３０６は、送信するフレームがＰＴＰフレームである旨を示す制御信号を生成する。パーズモジュール３０６は、このフレーム（つまりＰＴＰフレーム）を、暗号化モジュール３１０に出力する。識別モジュール３０８は、制御信号を受信すると、ＰＴＰフレームの識別子を生成する。識別モジュール３０８は、この識別子を暗号化モジュール３１０とメッセージモジュール３１４とに出力する。
【００４３】
暗号化モジュール３１０はフレームを暗号化して、暗号化されているフレームを識別子とともに送信用バッファ３１２に格納する。メッセージモジュール３１４は、識別モジュール３０８から識別子を受信して、識別子を含むメッセージを生成する。フレーム検知モジュール３１８はこのメッセージを受信する。
【００４４】
送信用バッファ３１２は、暗号化されているフレームを、ＭＩＩバス２０８を介して送信モジュール３２０に出力する。フレーム検知モジュール３１８は、メッセージモジュール３１４から受信したメッセージに含まれる識別子を利用する。この識別子を利用して、フレーム検知モジュール３１８は、送信用バッファ３１２が出力した暗号化されているフレームのうちいずれがＰＴＰフレームであるかを検知する。フレーム検知モジュール３１８は、送信用バッファが出力した暗号化されているフレームがＰＴＰフレームである場合に、制御信号をタイムスタンプモジュール３１６に出力する。
【００４５】
タイムスタンプモジュール３１６は、ＰＴＰフレームとして識別された暗号化されているフレームにタイムスタンプを施す。タイムスタンプモジュール３１６は、送信用モジュール３２０が暗号化されているフレームを送信するときにＰＴＰフレームにタイムスタンプを施すことができる。送信モジュール３２０は、タイムスタンプを施されたＰＴＰフレームを送信する。このように、ＰＴＰフレームは、暗号化して送信することができ、且つ、送信直前に（つまり、送信するすぐ前に）タイムスタンプを施すことができる。
【００４６】
図５は、本開示におけるネットワークデバイス４００の受信部分を示す。ネットワークデバイス４００は、ＰＨＹモジュール４０２、ＭＡＣモジュール４０４、おより処理モジュール４０６を含む。ＰＨＹモジュール４０２およびＭＡＣモジュール４０４は、ＭＩＩバス２０８を介して通信し、それぞれＰＴＰプロトコルおよびＭＡＣｓｅｃプロトコルを実装する。
【００４７】
ＰＨＹモジュール４０２は、受信モジュール４０８、タイムスタンプモジュール４１０、タイムスタンプＦＩＦＯ４１２、および識別モジュール４１４を含む。ＭＡＣモジュール４０４は、復号化モジュール４１６、パーズモジュール４１８、受信用バッファ４２０、およびメッセージモジュール４２２を含む。
【００４８】
受信モジュール４０８は、暗号化されているフレームを受信して、暗号化されているフレームが受信されるたびに整合信号を生成する。タイムスタンプモジュール４１０は、暗号化されているフレームが受信されるたびにタイムスタンプを生成して、タイムスタンプをタイムスタンプＦＩＦＯ４１２に格納する。タイムスタンプモジュール４１０は、受信モジュール４０８から受信した制御信号に基づいてタイムスタンプを生成することができる。
【００４９】
識別モジュール４１４は、受信した各暗号化されているフレームに識別子を生成して、この識別子を受信モジュール４０８に出力する。識別モジュール４１４は、受信モジュール４０８から受信した制御信号に基づいて識別子を生成する。タイムスタンプモジュール４１０は、受信した各暗号化されているフレームについて識別子とタイムスタンプとをタイムスタンプＦＩＦＯ４１２に格納する。
【００５０】
受信モジュール４０８は、識別子と、受信した暗号化されているフレームとを関連付ける。受信モジュール４０８は、暗号化されているフレームと識別子とを、復号化モジュール４１６に出力する。復号化モジュール４１６は、受信した暗号化されているフレームを復号化して、復号化したフレームを識別子とともにパーズモジュール４１８に出力する。パーズモジュール４１８は、復号化されているフレームのイーサタイプヘッダをパーズ（デコード）して、この復号化されているフレームがＰＴＰフレームであるかを判断する。
【００５１】
復号化されているフレームがＰＴＰフレームではない場合、パーズモジュール４１８は、復号化されているフレームを受信用バッファ４２０に出力する。受信用バッファ４２０は、復号化されているフレームを格納して、復号化されているフレームを処理モジュール４０６へ、処理を施すべく出力する。
【００５２】
復号化されているフレームがＰＴＰフレームである場合には、パーズモジュール４１８は、受信した暗号化されているフレームがＰＴＰフレームである旨を示す制御信号を生成する。制御信号は、ＰＴＰフレームの識別子を含む。メッセージモジュール４２２は、制御信号により、ＰＴＰフレームの識別子を受信する。メッセージモジュール４２２は、この識別子を含むメッセージを生成する。タイムスタンプモジュール４１０がこのメッセージを受信する。
【００５３】
タイムスタンプモジュール４１０は、メッセージに含まれている識別子を利用して、タイムスタンプＦＩＦＯ４１２からタイムスタンプを発見する。タイムスタンプモジュール４１０は、ＰＴＰフレームに相当する暗号化されているフレームが受信されたときに生成されたタイムスタンプを発見する。タイムスタンプモジュール４１０は、このタイムスタンプをパーズモジュール４１８に出力する。パーズモジュール４１８は、このタイムスタンプをＰＴＰフレームに付加して、タイムスタンプを施されたＰＴＰフレームを受信用バッファ４２０に出力する。
【００５４】
このようにして、ＰＴＰフレームは、暗号化された状態で受信することができ、且つ、ＰＴＰフレームが受信モジュール４０８に受信された実際の時刻を反映するタイムスタンプを押されることになる。受信用バッファ４２０は、タイムスタンプを施されたＰＴＰフレームを処理モジュール４０６に出力する。処理モジュール４０６は、タイムスタンプを施されたＰＴＰフレームを処理するプログラムを実行する。処理モジュール４０６は、ＰＴＰフレームに含まれる送受信タイムスタンプに基づいてネットワークデバイス４００の正確な時刻データを生成する。
【００５５】
一部の実装例においては、暗号化機能（ＭＡＣｓｅｃプロトコル）を選択的に停止させることができる。こうすることで、ＭＡＣモジュール３０２、４０４およびＰＨＹモジュール３０４、４０２の部分を、暗号化機能が再度起動されるまで、選択的に電力停止することができるようになる。例えば、暗号化モジュール３１０および復号化モジュール４１６を停止させることができる。更に、ＰＨＹモジュール３０４、４０２を動的に再構成（dynamically reconfigure）することができる。
【００５６】
例えば、ＰＨＹモジュール３０４は、送信される暗号化されていないフレームをパーズして暗号化されていないフレームがＰＴＰフレームであるか判断するパーズモジュールを含むことができる。暗号化されていないフレームがＰＴＰフレームである場合には、タイムスタンプモジュール３１６は、送信直前に、この暗号化されていないフレームにタイムスタンプを施す。フレーム検知モジュール３１８が不要となる場合は、暗号化機能が起動されるまで電力停止させておくことができる。
【００５７】
加えて、ＰＨＹモジュール４０２は、受信された暗号化されていないフレームをパーズして、受信された暗号化されていないフレームがＰＴＰフレームであるかを判断するパーズモジュールを含むことができる。受信された暗号化されていないフレームがＰＴＰフレームである場合には、タイムスタンプモジュール４１０は、受信直後に、この暗号化されていないフレームにタイムスタンプを施す。暗号化機能が起動されるまで、受信する各フレームについてタイムスタンプを格納する必要がなくなるので、タイムスタンプＦＩＦＯ４１２のサイズを低減させることができる。更に、識別モジュール４１４も不要となるので、暗号化機能が起動されるまで停止させておくことができる。
【００５８】
従って暗号化の起動・停止を動的に行うために、パーズモジュールをＰＨＹモジュール３０４、４０２内に構成してもよい。ＭＡＣモジュール３０２、４０４（今後ＭＡＣモジュールと称する）は、動的に暗号化機能を起動・停止させることができる。ＭＡＣモジュールは、ネットワークデバイス３００、４００のＰＨＹおよびＭＡＣモジュール内の、暗号化機能が停止されている間利用されないモジュールを選択的に停止させることができる。ＭＡＣモジュールは、暗号化機能が再度起動されたときには、これらの選択されたモジュールを再度起動させることができる。
【００５９】
ＭＡＣモジュールは、ＰＨＹモジュール３０４、４０２内に含まれているパーズモジュールを電力停止することができ、暗号化機能が起動しているときに、暗号化されていないフレームをパーズすることができる。ＭＡＣモジュールは、暗号化機能が停止されているときはタイムスタンプＦＩＦＯ４１２のサイズを低減させることができ、暗号化機能が起動されると、元のサイズに復帰させることができる。一部の実装例では、ネットワークデバイス３００、４００の電力管理モジュール（不図示）が、動作に関する電力供給・停止を実行することができる。
【００６０】
図６では、ネットワークデバイス５００が、ＰＨＹモジュール５０２、ＭＡＣモジュール５０４、および処理モジュール４０６を含む。ＰＨＹモジュール５０２およびＭＡＣモジュール５０４は、ＭＩＩバス２０８を介して通信する。ＰＨＹモジュール５０２はＰＴＰプロトコルを実装して、送受信モジュール５０６、パーズモジュール５０８、およびタイムスタンプモジュール５１０を含む。送受信モジュール５０６はトランシーバモジュールを含むことができる。ＭＡＣモジュール５０４はＭＡＣｓｅｃプロトコルを実装することができ、ＭＡＣｓｅｃプロトコルを選択的に起動・停止することができる。ＭＡＣモジュール５０４は、暗号化機能を起動・停止することができ、上述した電力供給・停止を行うことができる。
【００６１】
暗号化機能が停止されているとき、送信中に、ＭＡＣモジュール５０４は、暗号化されていないフレームを、ＭＩＩバス２０８を介してＰＨＹモジュール５０２に出力する。パーズモジュール５０８は、受信した各暗号化されていないフレームのイーサタイプヘッダをパーズして、暗号化されていないフレームがＰＴＰフレームであるかを判断する。この暗号化されていないフレームがＰＴＰフレームである場合には、タイムスタンプモジュール５１０は、送信直前に、この暗号化されていないフレームにタイムスタンプを施す。送受信モジュール５０６は、このタイムスタンプを施されたＰＴＰフレームを送信する。
【００６２】
加えて、送受信モジュール５０６が、暗号化されていないフレームを受信した場合には、パーズモジュール５０８は、各暗号化されていないフレームのイーサタイプヘッダをパーズする。パーズモジュール５０８は、受信した暗号化されていないフレームがＰＴＰフレームであるかを判断する。受信した暗号化されていないフレームがＰＴＰフレームである場合には、タイムスタンプモジュール５１０は、受信直後に、この暗号化されていないフレームにタイムスタンプを施す。そしてタイムスタンプを施されたＰＴＰフレームは、ＭＡＣモジュール５０４に転送される、および／または、処理モジュール４０６に、処理を受けるために転送される。処理モジュール４０６は、ＰＴＰフレームに含まれる送受信タイムスタンプに基づいてネットワークデバイス５００の時刻データを生成する。
【００６３】
本開示で記載したシステムは、システムオンチップに統合することができる。加えて、ＰＨＹモジュールのうちの幾らかのモジュールを、ＭＡＣモジュールに含めてもよいし、この逆も同様である。更に、ＰＨＹモジュールおよび／またはＭＡＣモジュールのうちの複数のモジュールを、単一のモジュールに組み合わせることもできる。
【００６４】
図７は、本開示における、暗号化されているＰＴＰフレームの送信方法６００を示す。制御はステップ６０２から始まる。ステップ６０４で、制御は、送信するフレームをパーズする。制御は、ステップ６０６で、このフレームがＰＴＰフレームであるか判断する。
【００６５】
ステップ６０６での判断結果が肯定的である場合には、制御は、ステップ６０８でこのＰＴＰフレームの識別子を生成する。制御は、ステップ６１０で、この識別子を含むメッセージを生成する。ステップ６１２で、制御はＰＴＰフレームを暗号化して、暗号化されたＰＴＰフレームを識別子とともに送信用バッファに格納する。制御は、ステップ６１４で、暗号化されているフレームを送信用バッファから出力する。
【００６６】
ステップ６１６で、制御はメッセージから得た識別子を利用して、暗号化されているＰＴＰフレームを、送信用バッファからの出力のなかから検知する。ステップ６１８で、制御は、送信直前に、暗号化されたＰＴＰフレームにタイムスタンプを施す。ステップ６２０で、制御は、暗号化され、且つ、タイムスタンプを施されたＰＴＰフレームを送信する。ステップ６０６での判断結果が否定的である場合には、制御は、ステップ６２２で、フレームを暗号化し、格納し、送信する。制御は、ステップ６２０または６２２を終えてから、ステップ６２４で終了する。
【００６７】
図８は、本開示における、暗号化されているＰＴＰフレームの受信方法７００を示す。制御はステップ７０２から始まる。ステップ７０４で、制御は、暗号化されているフレームを受信する。ステップ７０６で、制御は、受信した各暗号化されているフレームについてタイムスタンプを生成して格納する。ステップ７０８で、制御は、受信した各暗号化されているフレームについて識別子を生成し、この識別子を、該暗号化されているフレームの対応するタイムスタンプとともに格納する。
【００６８】
ステップ７１０で、制御は、複数の識別子を、それぞれ対応する、受信した暗号化されているフレームと関連付ける。ステップ７１２で、制御は、受信した暗号化されているフレームを復号化する。ステップ７１４で制御は、復号化されたフレームをパーズする。制御は、ステップ７１６で、この復号化されたフレームがＰＴＰフレームであるかを判断する。
【００６９】
ステップ７１６での判断結果が肯定的である場合には、制御は、ステップ７１８で、復号化されたフレーム（つまりＰＴＰフレーム）の識別子を含むメッセージを生成する。ステップ７２０で、制御は、この識別子を利用して、このＰＴＰフレームに対応する暗号化されているフレームが受信されたときに格納されたタイムスタンプを発見して、ＰＴＰフレームにこのタイムスタンプを追加する。
【００７０】
ステップ７２２で、制御は、ＰＴＰフレームが送受信されたときにＰＴＰフレームに含められるタイムスタンプを処理して、時刻データを生成する。ステップ７１６での判断結果が否定的である場合には、制御は、ステップ７２４で、復号化されたフレームを通常処理する。ステップ７２２または７２４の終わりに、ステップ７２６で制御が終了する。
【００７１】
本開示における暗号化されているフレームは、ほんの一例として利用されている。しかしながら、本開示の教示は、暗号化されていないフレームについても適用することができる。
【００７２】
本開示の広義の教示が様々な形態で実装可能である。従って、本開示が具体例を含もうとも、本開示の真の範囲はそれに限定はされず、他の変形例が、図面、明細書、および以下の請求項を読むことにより明らかになる。
【図１】
0005129887.tif 000002
【図２Ａ】
0005129887.tif 000003
【図２Ｂ】
0005129887.tif 000004
【図３】
0005129887.tif 000005
【図４】
0005129887.tif 000006
【図５】
0005129887.tif 000007
【図６】
0005129887.tif 000008
【図７】
0005129887.tif 000009
【図８】
0005129887.tif 000010