(57)【要約】  ＮＣと、複数の関連づけられたネットワークノードとを有する通信ネットワークにおけるノード承認のためのシステムおよび方法。開示された方法および装置の様々な実施形態によれば、通信ネットワークにおける鍵決定は、ＮＮがＮＣにＳＡＬＴのための要求を送信し、ＮＮがＳＡＬＴをＮＣから受信してＳＡＬＴをそのネットワークパスワードと結合して静的鍵を算出し、承認要求をネットワークコーディネーターに発信して動的鍵を要求することを含む。ＳＡＬＴは、ＮＣによって生成された乱数であってよく、承認要求は、ＮＮによって、静的鍵を使って暗号化することができる。【選択図】  図４
2013539248.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークコーディネーター（ＮＣ）と複数の関連づけられたネットワークノードを有する通信ネットワークにおける鍵決定のための方法であり、前記方法は、
ａ）  新しいノード（ＮＮ）が、前記ＮＣにＳＡＬＴのための要求を送信すること
ｂ）  前記ＮＮが、前記ＳＡＬＴを前記ＮＣから受信すること
ｃ）  前記ＮＮが、前記ネットワークへのアクセスを取得するための静的鍵を算出するために前記ＳＡＬＴをそのネットワークパスワードと結合すること
を備える、方法。
【請求項２】
前記ＮＮが、少なくとも１つの動的鍵のための鍵要求を発信することをさらに含み、前記要求が、前記ＮＮによって、少なくとも１つの静的鍵を使って暗号化される、請求項１に記載の方法。
【請求項３】
前記ＳＡＬＴのための要求が、ディスカバリー要求の形式である、請求項１に記載の方法。
【請求項４】
前記ＮＮが、少なくとも１つの動的鍵を含む鍵応答を受信することをさらに備え、前記鍵応答が、前記静的鍵を使って暗号化される、請求項１に記載の方法。
【請求項５】
前記ＮＮが、前記動的鍵を受信後、前記動的鍵を使って暗号化されたメッセージを他のネットワークノードに送信することをさらに備える、請求項１に記載の方法。
【請求項６】
前記ＳＡＬＴが、前記ネットワークに承認を要求している複数のノードに対し同じであり、前記複数のノードが同じパスワードを有し、前記静的鍵が前記複数のノードの承認のために不変を維持する、請求項１に記載の方法。
【請求項７】
前記静的鍵が、初期プライバシー管理鍵（ｉｎｉｔｉａｌ  ｐｒｉｖａｃｙ  ｍａｎａｇｅｍｅｎｔ  ｋｅｙ）を備える、請求項１に記載の方法。
【請求項８】
前記ＮＮが、第２の静的鍵を算出することをさらに備え、前記第２の静的鍵が、ＭＡＣ管理鍵（ＭＡＣ  ｍａｎａｇｅｍｅｎｔ  ｋｅｙ）である、請求項７に記載の方法。
【請求項９】
前記動的鍵が動的プライバシー管理鍵（ｄｙｎａｍｉｃ  ｐｒｉｖａｃｙ  ｍａｎａｇｅｍｅｎｔ  ｋｅｙ）であり、前記方法は、前記ＮＮが、前記ネットワークに承認された後、更新された動的鍵をＮＣから受信することをさらに備え、前記更新された鍵が、その時点の動的プライバシー管理鍵（ｄｙｎａｍｉｃ  ｐｒｉｖａｃｙ  ｍａｎａｇｅｍｅｎｔ  ｋｅｙ）を使って暗号化される、請求項１に記載の方法。
【請求項１０】
前記ＮＮが静的鍵を算出するために前記ＳＡＬＴをそのネットワークパスワードと結合することは、前記ネットワークパスワードと、前記ＳＡＬＴと、符号化された文字列とから前記静的鍵を算出するためにＲＦＣ２８９８／ＰＫＣＳ＃５を適用することを備える、請求項１に記載の方法。
【請求項１１】
前記符号化された文字列が、ＡＳＣＩＩ符号化された文字列ＭＡＣＭａｎａｇｅｍｅｎｔＫｅｙを備える、請求項１０に記載の方法。
【請求項１２】
前記符号化された文字列が、ＡＳＣＩＩ符号化された文字列ＰｒｉｖａｃｙＭａｎａｇｅｍｅｎｔＫｅｙを備える、請求項１０に記載の方法。
【請求項１３】
動作ｃ）における前記結合が、前記ＳＡＬＴを、前記ネットワークパスワードと、前記静的鍵を算出するために符号化された文字列とでハッシュすることを備える、請求項１に記載の方法。
【請求項１４】
前記算出された静的鍵が、１２８ビットの強度を有する、請求項１に記載の方法。
【請求項１５】
前記ＮＣが、前記ＮＣによって、前記ＮＮとの通信のために使われる静的鍵を算出するために、前記ＳＡＬＴを前記ネットワークパスワードと結合することをさらに備える、請求項１に記載の方法。
【請求項１６】
ネットワークノードであり、
ａ）  プロセッサと、
ｂ）  プロセッサで実施されるコンピュータ実行可能プログラムコードを有するコンピュータ読取り可能メディアとを備え、前記実行可能プログラムコードが、前記ネットワークノードに、
ｉ）  ネットワークコーディネーター（ＮＣ）にＳＡＬＴのための要求を送信する
ｉｉ）  前記ＮＣによって生成された乱数である前記ＳＡＬＴを前記ＮＣから受信する
ｉｉｉ）  静的鍵を算出するために前記ＳＡＬＴをそのネットワークパスワードと結合する
ｉｖ）  前記ＮＮによって前記静的鍵を使って暗号化された鍵要求を、動的鍵を要求する前記ネットワークコーディネーターに発信する
動作を実行させるよう構成された、ネットワークノード。
【請求項１７】
前記ＳＡＬＴのための要求が、ディスカバリー要求の形式である、請求項１６に記載のネットワークノード。
【請求項１８】
ネットワークノードであり、
ａ）  プロセッサと、
ｂ）  コンピュータ読取り可能メディアで実施されるコンピュータ実行可能プログラムコードとを備え、前記コンピュータ実行可能プログラムコードは、前記ネットワークノードに、
ｉ）  ＮＣにＳＡＬＴのための要求を送信する
ｉｉ）  前記ＳＡＬＴを前記ＮＣから受信する
ｉｉｉ）  静的鍵を算出するために、前記ＳＡＬＴをネットワークパスワードと結合する
ｉｖ）  前記静的鍵を使って暗号化された承認要求を、前記ＮＣに発信する
ｖ）  動的鍵を要求する、ここで、前記動的鍵のための前記要求が、前記静的鍵を使って暗号化される
動作を実行させるよう構成された、ネットワークノード。
【請求項１９】
前記ＳＡＬＴのための要求が、ディスカバリー要求の形式である、請求項１８に記載のネットワークノード。
【請求項２０】
前記ＳＡＬＴが、前記ＮＣよって生成された乱数である、請求項１８に記載のネットワークノード。
【請求項２１】
前記実行可能プログラムコードが、前記ネットワークノードに、前記要求された動的鍵を受信させるようさらに構成され、前記受信した動的鍵が、前記静的鍵を使って暗号化される、請求項１８に記載のネットワークノード。
【請求項２２】
前記実行可能プログラムコードが、前記ネットワークノードに、前記動的鍵の受信後、前記動的鍵を使って暗号化されたメッセージを他のネットワークノードに送信させるようさらに構成された、請求項１８に記載のネットワークノード。
【請求項２３】
前記ＳＡＬＴが、前記ネットワークへの承認を要求している複数のノードに対し同じであり、前記複数のノードが、同じパスワードを有し、前記静的鍵が、前記複数のノードの承認のために不変を維持する、請求項１８に記載のネットワークノード。
【請求項２４】
前記実行可能プログラムコードが、前記ネットワークノードに、第２の静的鍵を算出させるようさらに構成され、前記静的鍵が、初期プライバシー管理鍵（ｉｎｉｔｉａｌ  ｐｒｉｖａｃｙ  ｍａｎａｇｅｍｅｎｔ  ｋｅｙ）およびＭＡＣ管理鍵（ＭＡＣ  ｍａｎａｇｅｍｅｎｔ  ｋｅｙ）を備える、請求項１８に記載のネットワークノード。
【請求項２５】
前記静的鍵が、初期プライバシー管理鍵（ｉｎｉｔｉａｌ  ｐｒｉｖａｃｙ  ｍａｎａｇｅｍｅｎｔ  ｋｅｙ）を備える、請求項１８に記載のネットワークノード。
【請求項２６】
前記動的鍵が、動的プライバシー管理鍵（ｄｙｎａｍｉｃ  ｐｒｉｖａｃｙ  ｍａｎａｇｅｍｅｎｔ  ｋｅｙ）を備え、前記実行可能プログラムコードが、前記ネットワークノードに、前記ネットワークへの承認後、更新された動的鍵をＮＣから受信させるようさらに構成され、前記更新された鍵が、その時点のプライバシー管理鍵（ｐｒｉｖａｃｙ  ｍａｎａｇｅｍｅｎｔ  ｋｅｙ）を使って暗号化される、請求項１８に記載のネットワークノード。
【請求項２７】
前記ネットワークノードが、静的鍵を算出するために、前記ＳＡＬＴをそのネットワークパスワードと結合する前記動作が、前記ネットワークパスワードと、前記ＳＡＬＴと、符号化された文字列とから前記静的鍵を導出するためにＲＦＣ２８９８／ＰＫＣＳ＃５を適用することを備える、請求項１８に記載のネットワークノード。
【請求項２８】
前記算出された静的鍵が、１２８ビットの強度を有する、請求項１８に記載のネットワークノード。
【請求項２９】
前記符号化された文字列が、ＡＳＣＩＩ符号化された文字列「ＭＡＣＭａｎａｇｅｍｅｎｔＫｅｙ」を備える、請求項１８に記載のネットワークノード。
【請求項３０】
第２の静的鍵が生成された、請求項１８に記載のネットワークノード。
【請求項３１】
前記第２の静的鍵が、ＡＳＣＩＩ符号化された文字列「ＰｒｉｖａｃｙＭａｎａｇｅｍｅｎｔＫｅｙ」である、請求項３０に記載のネットワークノード。
【請求項３２】
動作ｃ）における前記結合が、前記ＳＡＬＴを、前記ネットワークパスワードと、前記静的鍵を算出するために符号化された文字列とでハッシュすることを備える、請求項１８に記載の方法。
【請求項３３】
前記実行可能プログラムコードが、前記ＮＣに、前記ＮＣによって前記ネットワークノードとの通信のために使われる静的鍵を算出するために、前記ＳＡＬＴを前記ネットワークパスワードと結合させるよう構成された、請求項１８に記載のネットワークノード。
【請求項３４】
ネットワークのためのセキュリティ鍵を生成するための方法は、
ａ）  ネットワークコーディネーターの機能を、ＳＡＬＴの生成を可能にするノードに手渡しし
ｂ）  前記ＳＡＬＴを、セキュリティ鍵を生成するためにＳＡＬＴを使うことが可能な前記ネットワーク内のノードに配信する
ことを備える、方法。
【発明の詳細な説明】
【関連出願への相互参照】
【０００１】
本出願は、２０１０年６月２２日に出願された米国特許第１２／８２０，３８２号の利益を主張し、その全体が参照により本明細書に組み込まれる。
【技術分野】
【０００２】
開示された方法および装置は、一般に、通信ネットワークに関し、より詳しくは、いくつかの実施形態は、通信ネットワークへのノードの安全承認のための鍵を生成する方法および装置に関する。
【背景技術】
【０００３】
ホームネットワークは、加入者サービスを家中に届けるために構成された、多くの種類の加入者デバイスを含むことができる。これら加入者サービスは、ストリーミングオーディオおよびビデオなどのマルチメディアコンテンツを、ホームネットワークを通じて加入者設備に届けることを含む。そのようなホームネットワークの一例を、図１を参照して記載する。この例では、有線通信メディア１００を示す。用途によっては、有線通信メディアは、同軸ケーブルシステム、電力線システム、光ファイバーケーブルシステム、イーサネットケーブルシステム、または他の同様の通信メディアであってもよい。１つのそのような実施形態において、通信メディア１００は、住宅１０１内に配置された、あらかじめ敷設された同軸ケーブルである。あるいは、通信メディアは、無線通信システムであってもよい。
【０００４】
ネットワークは、通信プロトコルにより通信する、複数のネットワークノード１０２、１０３、１０４、１０５、１０６を備える。この例の目的のため、ネットワークノードは、ネットワークを介して他のデバイスへの通信を可能にする任意のデバイスである。ネットワーク上の通信は、ネットワーク規格、例えば、Ｍｕｌｔｉｍｅｄｉａ  ｏｖｅｒ  Ｃｏａｘ  Ａｌｌｉａｎｃｅ（ＭｏＣＡ）規格により編成されてもよい。一実施形態において、ネットワーク規格によって定義された通信プロトコルは、パケットベースの通信システムを指定する。この実施形態において、物理層（ＰＨＹ）パケットは、プリアンブルとペイロードとを備える。
【０００５】
いくつかの実施形態において、ネットワークの動作は、ネットワークコーディネーター（ＮＣ）ノードによって制御される。１つのそのような実施形態において、ノードの１つが選択され、通信プロトコルによって定義された過程に基づいてＮＣの機能を実行する。ＮＣを使用するネットワークにおいて、ＮＣは、ＭＡＰを用いるネットワークノード間のネットワーク通信をスケジュールする。ＮＣは、ネットワークの一部ではないノードが、ネットワーク信号を識別し、ネットワークに同期することを可能にするビーコンも送信する。ＭＡＰはパケットとして送信される。そのようなＭＡＰパケットは、定期的に送信される。ビーコンは、ＮＣによって規則的に送信されるパケットでもある。ＮＣは、新しいノード（ＮＮ）がネットワークに承認を要求すると、承認プロシージャも実行する。この開示の目的のために、ＮＮの定義は、ネットワークに承認を要求するノードとする。
【０００６】
そのようなネットワークにおけるノードは、様々なデバイスと関連づけることができる。例えば、住宅１０１内に配置されたシステムにおいて、ノードは、コンピュータ１０９、１１０と関連づけられたネットワーク通信モジュールであってもよい。そのようなノードは、コンピュータ１０９、１１０が、通信メディア１００を介して通信することを可能にする。あるいは、ノードは、テレビ１１１と関連づけられたモジュールであってもよく、１つまたは複数の他のネットワークノードから配信されたメディアをテレビが受信し表示することを可能にする。他のノードは、スピーカー、または他のメディア再生デバイス１０３と関連づけてもよい。ノードは、例えば、インターネットアクセス、デジタルビデオ記録機能、メディアストリーミング機能、またはネットワーク管理サービスを住宅１０１に提供するインターネットまたはケーブルサービスプロバイダ１１２とインタフェース接続して動作するよう構成されたモジュールと関連づけてもよい。
【０００７】
図１に関して上記の例で記載したネットワークのようなネットワークを用いると、マルチメディアコンテンツを様々なネットワークデバイス間に届け、共有することができ、そこではコンテンツがユーザに提供され、または、後のアクセスのために格納される。利用可能な加入者サービスの数が増え、それらの評判が増すにつれ、各ホームネットワーク内で接続されるデバイスの数も増加してきた。ネットワーク上のデバイスの数と種類が増加すると、ネットワークセキュリティへの懸念がより広がってきた。例えば、ネットワークは、隣接ネットワーク１１８のノード等の外部ノードによる攻撃を受けやすいであろう。それに応じて、暗号化技術は、ネットワークプライバシーのますます重要な態様になってきている。プライバシーを可能にするネットワークにおいて、鍵導出および鍵管理機構が、暗号化通信を容易にするために使われる。ＭｏＣＡ２．０ネットワークにおいて、例えば、周知の高度暗号化標準（ＡＥＳ）暗号が、暗号化鍵を用いてメッセージを暗号化するために使われる。ＡＥＳは、ＭｏＣＡ２．０におけるリンクプライバシーのための基盤である。
【０００８】
さらに、プライバシーを可能にするネットワークにおいて、ノード承認は、一般に、プライバシーの確保に役立つよう制御される。ＭｏＣＡ等の多くの安全なネットワークにおいて、例えば、ノード承認は、「承認過程」を通じてＮＣによって制御される。ＭｏＣＡ２．０により、ＭｏＣＡ２．０ＮＣは、新しいＭｏＣＡ２．０ノード（すなわち、ＮＮ）を承認するために使われる。ＭｏＣＡ２．０ネットワークにおける承認メーセージは、２つの静的鍵の１つによって暗号化される。ネットワークに対して一度決定された定数を鍵の値が維持するため、静的鍵と呼ばれる。第１のこれら静的鍵は、「ＡＥＳ  ＭＡＣ管理鍵（ＡＥＳ  ＭＡＣ  Ｍａｎａｇｅｍｅｎｔ  Ｋｅｙ）」（ＡＭＭＫ）として知られる。ＡＭＭＫは、最初の承認メッセージおよびＭＡＣ制御メッセージを暗号化するために使われるが、これはリンクプライバシーメッセージを除く。「リンクプライバシー」メッセージは、１組の動的鍵と、動的鍵を要求ノードに送信するために使われる応答メッセージとを要求するために使われるメッセージを含む。動的鍵は、以下で説明する。第２の静的鍵は、「ＡＥＳ初期プライバシー管理鍵（ＡＥＳ  Ｉｎｉｔｉａｌ  Ｐｒｉｖａｃｙ  Ｍａｎａｇｅｍｅｎｔ  Ｋｅｙ）」（ＡＰＭＫＩｎｉｔｉａｌ）として知られる。承認過程の間および後に通信されるリンクプライバシーメッセージは、ＡＰＭＫＩｎｉｔｉａｌによって暗号化される。
【０００９】
図２は、ノードをＭｏＣＡ２．０ネットワークに承認するための承認過程の１つの実施形態を示す流れ図である。図は、図の上から下へ時間が流れることを示す。図２を参照すると、ユーザがＮＮ１２２をネットワークに加えたい場合、ユーザは、まず、ユーザがＮＮ１２２を加えたいネットワークのパスワードを決定する。次いで、そのパスワードは、ＮＮ１２２に直接入力される。ＭｏＣＡ２．０ネットワーク内のすべてのノードは、同じネットワークパスワードを共有する。ネットワークパスワードは、以下に記載するであろうノード承認およびリンクプライバシーに対する鍵を導出するために使われる。
【００１０】
次いで、ＮＮ１２２はネットワークによって使われるメディアに接続される。ＮＮ１２２は、ネットワークＮＣ１２４によって送信されるビーコンメッセージ１２８を聞く。ビーコンメッセージ１２８は、その間にＮＮ１２２等のＮＮが「ディスカバリー要求」１３０を生成することができる時間スロットを指示する。ディスカバリー要求１３０は、ネットワークに関する情報のためにＮＮ１２２によって生成された要求である。その情報は、ネットワークに現在承7認された種類のデバイス、およびネットワークを識別するために使われる識別フレーズ（ネットワークネーム等）を含むことができる。ビーコンメッセージ１２８をひとたび受信すると、ＮＮ１２２は、ビーコンメッセージ１２８で指定された時間に、ディスカバリー要求１２８を送信する。応答において、ＮＣ１２４は、ＮＣ１２４が次のビーコンメッセージ１３１で指定する時間に「ディスカバリー応答」１３２を送信する。ＮＮ１２２がディスカバリー応答１３２内の情報をひとたび受信すると、ＮＮ１２２は、他のディスカバリー要求における承認スロットに対する要求の送信を決定することができる。次のビーコンメッセージ１３３は、承認スロットに対する要求１３４を送信するべき時間を指示する。あるいは、ＮＮ１２２は、第１のディスカバリー要求内の承認スロットに対する要求を送信することができる。
【００１１】
承認スロット１３４に対する要求をＮＣ１２４がひとたび受信すると、ＮＣ１２４は、ＮＮ１２２が承認要求を送信する時間をスケジュールするであろう。ＮＮ１２２によって送信された承認要求は、ネットワークパスワードから生成されたＡＭＭＫ静的鍵を用いて暗号化される。応答において、ＮＣ１２４は、承認応答を提供するであろう。さらに、ＮＮ１２２とＮＣ１２４は、追加メッセージを交換し、ここで、追加メッセージは、ＮＮ１２２とＮＣ１２４が、ＮＮ１２２とＮＣ１２４間のチャネルの性質、ならびにＮＮ１２２とネットワークの他のノード間のチャネルの性質の確立を助けるプローブおよび他のメッセージを含む。メッセージの交換により、ネットワークにＮＮ１２２の承認をもたらすであろう。
【００１２】
ひとたびネットワークに承認されると、プライバシーが可能なら、ＮＮ１２２は動的鍵の組を要求しなければならない。すなわち、２つの静的鍵に加え、ＭｏＣＡ２．０プロトコルは２つの動的鍵を使用する。これらの鍵は、ネットワークのセキュリティを向上するために周期的に変化するので、「動的」と呼ばれる。動的鍵は、ネットワークの承認されたノード間での通信を暗号化するために使われる。さらに、２つの動的鍵への更新を容易にするために、２つの動的鍵のそれぞれが、偶数鍵と奇数鍵から成る組として生成される。偶数鍵と奇数鍵を考慮すると、住宅内には一度に全部で４つの動的鍵があり、その内２つだけがメッセージの暗号化と復号化のためにアクティブに使われ、一方、他の２つの動的鍵は、更新され、アクティブになる準備をする。
【００１３】
ＭｏＣＡ２．０において、ユーザが入力したネットワークパスワードは、１０進約１０から１７桁の長さであると仮定され、ＭｏＣＡ１．０で定義された共通フォーマットにより１７桁の先頭を０でパディングする。パディングしたパスワードを用いると、有効なパスワードの長さ（または強度）は、４０から５６ビットの間である。したがって、ユーザがパスワード導出した静的鍵（すなわちＡＭＭＫおよびＡＰＭＫＩｎｉｔｉａｌ）の強度は、静的鍵を生成するために使われるＡＥＳ暗号化スキームによって使用される１２８ビット未満である。これは、可能な承認ＡＥＳ鍵の事前計算等の、多くの共通の脆弱性の影響を受ける、より弱い鍵強度をもたらす結果となる。これは、鍵空間全体が総当たり攻撃で攻撃される可能性があり、または、鍵が辞書攻撃と呼ばれる攻撃を受ける可能性がある。
【００１４】
静的鍵の強度を向上するためのアプローチの１つは、ユーザパスワードの長さを増やすことである。しかしながら、これは最も望ましい手段ではなく、というのも、パスワードが長くなると、ユーザがネットワークパスワードを覚えて入力することがより困難になる傾向があるためである。さらに、ネットワークによっては、パスワードフォーマットの下位互換性を維持することが望ましい。それに応じて、ＭｏＣＡネットワークや、パスワードの長さを増やさないとこの弱点に狙い撃ちされる他のそのようなネットワークで使われる鍵の強度を上げることが望ましいであろう。
【発明の概要】
【００１５】
開示された方法および装置の様々な実施形態によれば、ネットワーク上のノード（ネットワークデバイスとも呼ばれる）は、ネットワークのための「ＳＡＬＴ」を取得して、ＳＡＬＴとパスワード（場合によっては、他のデータや情報）を組み合わせて、ネットワークのための１つまたは複数の静的鍵を作り出すようプログラムされる。開示された方法および装置の一実施形態において、ＳＡＬＴは、ＮＣによって生成された乱数である。次いで、静的鍵は、動的鍵を取得するために使われる。動的鍵は、承認後のネットワーク通信のために使われる。
【００１６】
いくつかの実施形態によれば、ネットワークコーディネーター（ＮＣ）ノードおよび複数の関連づけられたネットワークノードを有する通信ネットワークへの承認をＮＮが得ることを可能にするための方法において、以下の機能が実行される。この開示の目的のため、ＮＮは、ネットワークに承認を要求するノードである。機能は以下を含む。
（１）ＮＮがＮＣにＳＡＬＴのための要求を送信する（ＭｏＣＡネットワークによっては、ＳＡＬＴはＮＮがディスカバリー要求を送信することに応答して送信されることは、当事者によって理解されるであろう）
（２）ＮＮがＳＡＬＴをＮＣから受信する、ここで、いくつかの実施形態において、ＳＡＬＴはＮＣによって生成された乱数である
（３）ＮＮがＳＡＬＴをそのネットワークパスワードと結合し、少なくとも１つの静的鍵を算出する
（４）ＮＮが静的鍵を使って、ネットワークへの承認プロシージャを実行する
（５）ＮＮが動的鍵を要求する、ここで、要求は、ＮＮによって、少なくとも１つの静的鍵を使って、暗号化される
（６）ＮＮが、要求した動的鍵を受信する、ここで、受信した動的鍵は、少なくとも１つの静的鍵を使って暗号化される
（７）ＮＮは、動的鍵の受信後、動的鍵を使って暗号化したメッセージを他のネットワークノードに送信する
【００１７】
一実施形態において、ＳＡＬＴはネットワークに承認を求めるすべてのノードで同じである。さらに、１人のネットワークユーザが決めたパスワードが、ネットワーク全体で使用される。それに応じて、同じ静的鍵が、ネットワークに承認を承諾されたすべてのノードによって使用される承認過程のために使われる。静的鍵が、（ＲＳＡ研究所によって定義されるように）「ＲＦＣ２８９８／ＰＫＣＳ＃５」として知られる過程を適用することによって算出される。ＳＡＬＴの値、ネットワークパスワード、および符号化された文字列は、ＲＦＣ２８９８／ＰＫＣＳ＃５過程によって使用され、算出を行う。１つの例において、符号化された文字列は、フレーズ「ＭＡＣＭａｎａｇｅｍｅｎｔＫｅｙ」に対するＡＳＣＩＩ値であり、または、ＡＳＣＩＩ符号化したフレーズ「ＰｒｉｖａｃｙＭａｎａｇｅｍｅｎｔＫｅｙ」である。これは、文字列が、文字「Ｍ」、「Ａ」、「Ｃ」等のそれぞれのリテラル（literal）ＳＡＣＩＩ値である、という意味である。
【００１８】
あるいは、静的鍵は、ＳＡＬＴを、様々な数値関数の任意の組合せを使用してネットワークパスワードと組み合わせることによって生成することができ、これは、ＳＡＬＴをネットワークパスワードおよび／または符号化した文字列でハッシュして、静的鍵を算出することを含む。
【００１９】
ＮＮが静的鍵を算出することに加えて、ＮＣは、ＳＡＬＴをネットワークパスワードと組み合せ、承認の間および承認後のＮＮとの通信のためにＮＣによって使用される静的鍵も算出する。
【００２０】
上記から明らかになるように、上記の動作を実行するシステムの１つの実施形態は、ＮＣを含む。好ましくは、ＮＣはプロセッサを有する。さらに、ＮＣは、コンピュータ読取り可能メディアで実施されるコンピュータ実行可能プログラムコードを有する。実行可能プログラムコードは、ＮＣによって実行されるような上記の動作をＮＣに実行させるよう構成される。
【００２１】
さらに、システムはＮＮを含む。ＮＮはプロセッサを備える。さらに、ＮＮは、コンピュータ読取り可能メディアで実施されるコンピュータ実行可能プログラムコードを有する。実行可能プログラムコードは、ＮＮによって実行されるような上記の動作をＮＮに実行させるよう構成される。
【００２２】
開示された方法および装置の他の特徴および態様は、例を挙げて、開示された方法および装置の実施形態による特徴を示す添付図面とともに、以下の詳細な記述から明らかになるであろう。概要は、特許請求された発明の範囲を限定することを意図しておらず、本明細書に添付の特許請求の範囲によってのみ定義される。
【００２３】
開示された方法および装置の１つまたは複数の実施形態が、以下の図を参照して詳細に記載される。図面は例示の目的のみのために提供され、典型的な実施形態または開示された方法および装置の特定の実施形態の例を単に示す。これらの図面は開示された方法および装置に対する読者の理解を容易にするために提供され、特許請求された発明の幅、範囲、または適用範囲を限定するものと考えるべきではない。図を明瞭および簡単にするため、これらの図面は必ずしも一定の縮尺で作られていないことに留意されたい。
【図面の簡単な説明】
【００２４】
【図１】開示された方法および装置のいくつかの実施形態を実現することができる１つの環境の例である。
【図２】暗号化を用いるノード承認のための従来の過程を示す流れ図である。
【図３】本明細書に記載されたシステムおよび方法の１つの実施形態によるノード承認のための過程の例を示す流れ図である。
【図４】本明細書に記載されたシステムおよび方法の１つの実施形態による、静的鍵を取得するためのメッセージの流れの例を示す流れ図である。
【図５】本明細書に記載されたシステムおよび方法の１つの実施形態による、動的鍵を取得するための過程を示すフローチャートである。
【図６】ＡＥＳプライバシー管理鍵（ＡＥＳ  Ｐｒｉｖａｃｙ  Ｍａｎａｇｅｍｅｎｔ  Ｋｅｙ）（ＡＰＭＫ）およびＡＥＳトラフィック暗号化鍵（ＡＥＳ  Ｔｒａｆｆｉｃ  Ｅｎｃｒｙｐｔｉｏｎ  Ｋｅｙ）（ＡＴＥＫ）のための鍵変更過程の例を示す。
【図７】本明細書に記載されたシステムおよび方法の１つの実施形態による、ＮＣによって開始されるウェーブ機構を示す流れ図である。
【図８】開示された方法および装置の実施形態の様々な特徴を実現する際に使用することができる演算モジュールの例を示す。
【発明を実施するための形態】
【００２５】
開示された方法および装置の一実施形態において、ＭｏＣＡ１．ｘおよびＭｏＣＡ２．０により動作するネットワークと同様に、４つの暗号化鍵のすべてが承認を得るために使われ、ノード（ネットワークデバイスとも呼ばれる）がひとたび承認されると、通信するために使われる。これら４つの鍵を表１に示す。２つの静的鍵と、２つの動的鍵がある。
【００２６】
【表１】
2013539248.tif 000003
【００２７】
一実施形態において、２つの静的鍵は承認鍵として使われる。それらは、ネットワークパスワードと恒久的ＳＡＬＴに基づき、パスワードかＳＡＬＴを変更しないと変わらないため、「静的」鍵と呼ばれる。第１の静的鍵はＡＥＳ  ＭＡＣ管理鍵（ＡＥＳ  ＭＡＣ  Ｍａｎａｇｅｍｅｎｔ  Ｋｅｙ）（ＡＭＭＫ）であり、第２の静的鍵は初期ＡＥＳプライバシー管理鍵（Ｉｎｉｔｉａｌ  ＡＥＳ  Ｐｒｉｖａｃｙ  Ｍａｎａｇｅｍｅｎｔ  Ｋｅｙ）（ＡＰＭＫＩｎｉｔｉａｌ）である。
【００２８】
１つのそのような実施形態において、２つの「動的」鍵は、ネットワークのセキュリティ向上のため、周期的に変わる。第１の動的鍵はＡＥＳプライバシー管理鍵）ＡＥＳ  Ｐｒｉｖａｃｙ  Ｍａｎａｇｅｍｅｎｔ  Ｋｅｙ（ＡＰＭＫ）と呼ばれる。第２の動的鍵はＡＥＳトラフィック暗号化鍵（ＡＥＳ  Ｔｒａｆｆｉｃ  Ｅｎｃｒｙｐｔｉｏｎ  Ｋｅｙ）（ＡＴＥＫ）と呼ばれる。
【００２９】
ＡＭＭＫは、あらゆるリンクプライバシーメッセージ以外を有するＭＡＣ制御メッセージの暗号化のために使われる。承認過程の間、リンクプライバシーメッセージは、ＡＰＭＫＩｎｉｔｉａｌを使って暗号化される。リンクプライバシーメッセージは、承認の間、動的鍵をＮＮに転送するために使われるメッセージを含む。この開示の目的のため、ＮＮの定義はネットワークに承認を要求しているノードである。
【００３０】
承認過程は、初期化（例えば、最初の電源供給、リセット、または、電源が再投入された後）の際、または、ネットワーク内のノードがＮＣとの同期を失う場合に実行することができる。一実施形態によれば、どんな理由に対しても、ＮＣによって維持される動的鍵との同期にノードが合わない場合、ＮＣはネットワークからノードを外す。その場合、ノードは、静的鍵を使ってネットワークに再承認される必要がある。
【００３１】
承認後、および通常のネットワーク動作の間、ＡＴＥＫはデータメッセージを暗号化するために使われる。さらに、通常のネットワーク動作中、ＡＰＭＫは、ノードが承認された後、リンクプライバシーメッセージを暗号化するために使われる。
【００３２】
開示された方法および装置の様々な実施形態によれば、ネットワークに承認を要求しているノードは、ＳＡＬＴのための要求を送信することによって、承認過程を開始する。１つのそのような実施形態によれば、ＳＡＬＴのための要求は、ディスカバリー要求を送信することによって生成される。すなわち、ＳＡＬＴはＮＮによるディスカバリー要求の送信に応答して、ＮＮに送信される。一実施形態において、ＳＡＬＴは、ＮＣによって生成された長さ９６ビットの乱数値であるが、他のビット長を選択することができる。この乱数文字列は、すべてのネットワーク承認に対してＳＡＬＴとして使われる。乱数文字列は、１つまたは複数の、一般的に既知の機構によって生成することができる。例えば、疑似乱数生成器モジュールは、少数の初期値によって決められる一続きの数を生成するために使うことができる。
【００３３】
好ましくは、ＳＡＬＴは、例えば、ネットワークのすべてのノードが同時に停電する場合等の、ネットワークが再形成される場合以外は変わらない。ネットワークが再形成されると、新しい恒久的ＳＡＬＴが生成され得る。恒久的ＳＡＬＴ手段を使えば、ノードがアクセスを要求する毎にＮＣが静的鍵を再算出する必要はない。一実施形態において、ＳＡＬＴは、ネットワークが形成される前に生成される。あるいは、ＮＣは、ネットワークが最初に形成されたときに一度ＳＡＬＴを生成することができ、次いで、後で追加ノードがネットワークに承認を要求する場合に、さらに使用するためにメモリ内にＳＡＬＴ値を維持することができる。場合によっては、ネットワークは、第２のノードが通信メディアに挿入された（例えば、通信メディアとして使われる同軸ケーブルに接続された）場合に最初に形成されたと考えられる。それに応じて、ネットワークに加わる第２のノード（ＮＣが確立した後、承認を要求する第１のノード）からの要求は、ネットワークのためのＳＡＬＴを取得するための過程を開始する。
【００３４】
一実施形態において、ＳＡＬＴのための要求は、ＮＮから送信される「ディスカバリー要求」の形式で生成することができる。１つのそのような実施形態において、要求は、ネットワークコーディネーターノード（ＮＣ）に送信される。ＮＣはＳＡＬＴを、ＮＣによって要求ノードに送信されるディスカバリー応答メッセージ内の要求ノードに提供する。あるいは、ＮＣは、以下により詳しく記載するように、混合モード演算の間、ＳＡＬＴを配信することができる。あるいは、ＳＡＬＴは、ノードとＮＣの間で利用可能な任意のメッセージ通信によってネットワークのノードに配信することができる。
【００３５】
ひとたび取得されると、ＳＡＬＴは要求ノードのパスワードと組み合わされ、静的鍵を生成する。一実施形態において、ＡＳＣＩＩ文字列は、静的鍵の生成にも使われる。静的鍵の生成に関する詳細は、さらに以下に提供される。ひとたび生成されると、静的鍵は、承認過程の間、ＮＮとＮＣの間で通信されるメッセージを暗号化するために使われる。さらに、ＡＭＭＫは、承認過程が完了した後、ＭＡＣ制御メッセージ（プライバシーメッセージを除く）を暗号化するために使われる。承認過程は、安全な通信の継続のために必要な動的鍵の取得をもたらす。他の過程および機能は、静的鍵を生成するための開示された方法および装置に関連しない承認過程の間に行うことができることが理解されるであろう。ひとたび動的鍵が取得されると、すべてのネットワーク通信は、動的鍵またはＡＭＭＫによって暗号化される。
【００３６】
上記のように、できる限り安全なネットワークを提供することが重要である。静的鍵が堅牢であることを確実にすることが、ネットワークを安全に維持することを確実にする手助けとなる。それに応じて、一実施形態において、パスワードの長さを増すことなく鍵の強度を増す解決策が提供される。一実施形態において、パスワードの長さは１０進１０から１７桁であり、４０から５６ビットに等しい。上記のように、一実施形態において、ＳＡＬＴは９６乱数ビットであるが、他のビット長を選ぶことができる。したがって、パスワードとＳＡＬＴの両方から生じた静的鍵に対する鍵空間は、ほんのわずかの少なくとも１３６（４０＋９６）ビットの呼び長さを有する。これは、ＡＥＳ鍵長の１２８ビットよりも長い。次いで、静的鍵のために算出された初期値が１２８ビットＡＥＳ鍵空間内に合うように端を切り捨てられる。パスワードの長さは、システムのセキュリティ目標に応じて、鍵の強度をさらに向上するためによく増やされ得ることは理解されるであろう。
【００３７】
図３は、現在、ネットワークのメンバではないＮＮ３０３によって実現される過程（図４に示す）の一例を示す流れ図である。図４は、本明細書に記載されたシステムおよび方法の一実施形態による、静的鍵を取得するためのメッセージの流れの例を示す流れ図である。ＮＮ３０３がネットワークへの承認を取得するために、ＮＮ３０３は、ネットワークパスワードを獲得する必要がある（ステップ１６０）。一実施形態において、ユーザは、ネットワークのパスワードを入力する必要がある。あるいは、いくつかの実施形態において、ネットワークパスワードは、ＮＮ３０３がネットワークメディアにひとたび接続されると、ユーザがＮＮ３０３と他のノード（ＮＣ等）の両方のボタンを押すことができる自動設定過程によって獲得することができる。さらに他の代替の実施形態において、ユーザがパスワードをＮＮ３０３に入力する必要なく、ＮＮ３０３がパスワードを獲得することを可能にするために、近距離無線通信トークンが使われる。さらに他の実施形態において、ネットワークパスワードは、製造時に、ＮＮ３０３にコード化される。
【００３８】
図３に示した実施形態において、ＮＮ３０３はネットワークメディアに接続される（ステップ１６２）。開示された方法および装置によれば、ＮＮ３０３は、ネットワークへの接続前または後にネットワークパスワードを獲得することができる。ネットワークメディアにひとたび接続されると、ＮＮ３０３は、メディア上で現在形成された、ネットワークのＮＣ３０５からのビーコンメッセージ３１０を聞く（ステップ１６４）。ひとたび受信されると、ビーコンメッセージ３１０は、ＮＮ３０３がディスカバリー要求３１１をいつ送信するかを指示する（ステップ１６６）。ＮＮ３０３は、ディスカバリー要求３１１内の承認スロットに対する要求を含む（ステップ１６８）か、ディスカバリー応答３１４においてＮＣ３０５によって取得された情報の検査後まで、承認スロットの要求を延期することができる。どちらの場合においても、ＮＣ３０５は、ＮＣ３０５がディスカバリー応答３１４を送信する場合に、時間スロットをスケジュールする。ディスカバリー応答３１４のためのスケジュールは、ビーコン３１２においてＮＣ３０５によって提供される。承認スロットのための要求は、ＮＣ３０５に、ＮＮ３０３が承認要求３１８を送信することができる時間もスケジュールさせる。
【００３９】
ＮＣ３０５は、ビーコンメッセージ３１２で指示された時間に、ディスカバリー応答３１４を送信する。ディスカバリー応答３１４は、ＳＡＬＴを含む。さらに、ＮＮ３０３がネットワークについての情報を要求した場合、その情報は、ディスカバリー応答３１４にも含まれるであろう。開示された方法および装置の一実施形態において、ＳＡＬＴは、ＮＮ３０３が承認スロットを要求しようがしなかろうが、ＮＮ３０３に送信されることに留意されたい。
【００４０】
ＮＮ３０３は、ビーコンメッセージ３１２で指示された時間に、ディスカバリー要求３１４を受信し、ネットワークＳＡＬＴの値をディスカバリー応答３１４から獲得する（ステップ１７０）。ＮＮ３０３がディスカバリー要求３１１において承認スロットのための要求を含む場合、続くビーコンメッセージ３１７は、ＮＣ３０５が承認要求３１８を送信するためにＮＮ３０３をいつスケジュールしたかを指示するであろう。
【００４１】
ディスカバリー要求３１１内の承認スロットを要求することに対する主な理由は、ＮＮ３０３が承認要求３１８を送信することができる時間を、ＮＣ３０５にスケジュールさせることである。ＮＮ３０３は、少なくともネットワークパスワードとステップ１７０で受信したＳＡＬＴの組合せを使って、１つまたは複数の静的鍵を生成する。一実施形態において、ＮＮ３０３は、ＳＡＬＴとパスワードに加えてＡＳＣＩＩ文字列を使って、静的鍵を生成する（ステップ１７２）。
【００４２】
図５は、動的鍵を要求するための開示された方法および装置の一実施形態によって使用される過程を示す。図５に示すように、承認要求３１８は、静的鍵を使って暗号化される（ステップ２４０）。一実施形態において、ＡＭＭＫが使われる。次いで、ＮＮ３０３は、承認要求３１８をいつ送信すべきかのスケジュールを有するビーコンメッセージを受信する（ステップ２４２）。次いで、承認要求３１８は、ビーコンメッセージ３１７で指示された承認スロットの間に送信される（ステップ２４４）。承認要求３１８の受信後、ＮＣ３０５は、承認過程の状態に関する情報を含むＭＡＰ３２０を送信する（ステップ２４６）。ＭＡＰ３２０は、他のノード３０７のすべてに送信される。しかしながら、ＮＮ３０３は、フォーマット（すなわち、使用される特定のビットローディング）がまだＮＮに知られていないであろうために、ＭＡＰ３２０を受信することができないであろう。それにもかかわらず、ネットワーク内の他のノード３０７のそれぞれは、そのフォーマットを有し、ＭＡＰ３２０を受信することができる。
【００４３】
ＮＮ３０３が、ディスカバリー要求３１１における承認スロットのための要求を含まない場合、ＮＣ３０５は、ＮＮ３０３が承認要求３１８を送信する時間をスケジュールする前に、そのような要求を受信するまで待機するであろう。
【００４４】
承認要求３１８を受信すると、ＮＣ３０５は、承認応答３２４がＮＣ３０５によって送信されるであろうスロットをスケジュールする。次いで、ＮＣ３０５は、次のビーコンメッセージ３２２においてスケジュールを送信する。ＮＮ３０３は、承認応答３２４を受信する準備をするようＮＮ３０３を警告する承認応答３２４を送信するためのスケジュールを有するビーコンメッセージを受信する（ステップ３２８）。次に、ＮＣ３０５は、ビーコンメッセージ３２２によって指示された時間に、承認応答３２４を送信する。ＮＮ３０３は、ＡＭＭＫ（すなわち、２つの静的鍵の１つ）によって暗号化された承認応答３２４を受信する（ステップ２５０）。
【００４５】
次いで、ＮＮ３０３は、ＮＮ３０３が承認応答を良好に受信したという確認応答３２８をＮＮ３０３がいつ送るべきかを指示する次のビーコンメッセージ３２６を受信する（ステップ２５２）。ＮＮ３０３は、ＮＮ３０３が承認応答を受信したことを指示するＡＭＭＫによって暗号化された確認応答３２８をＮＣ３０５に送信する（ステップ２５４）。開示された方法および装置の一実施形態において、承認応答３２４は、ＮＣ３０５とＮＮ３０３の間に送信されるいくつかの承認過程メッセージの第１である。この承認過程の間に交換されるメッセージはそれぞれ、ＡＭＭＫ鍵を用いて暗号化される。これらの動作が完了すると、ＮＮ３０３はネットワークに承認される。その時点で、ＮＮ３０３は、動的鍵のための要求をＮＣ３０５に送信することができる。一実施形態において、動的鍵の要求は、ＡＰＭＫＩｎｉｔｉａｌ鍵によって暗号化される。ＮＣ３５０は、動的鍵を送信することによって、ＮＮ３０３に応答するであろう。応答も、ＡＰＭＫＩｎｉｔｉａｌ鍵によって暗号化される（ステップ２５６）。上記のように、動的鍵は、２組の動的鍵を含む。第１の組は、奇数および偶数ＡＰＭＫを含む。第２の組は、奇数および偶数ＡＴＥＫを含む。
【００４６】
それに応じて、ＮＮ３０３への、およびＮＮ３０３からのすべてのさらなるメッセージは、動的鍵またはＡＭＭＫを使って暗号化されるであろう（ステップ２５８）。時には、ＮＣ３０５は、ＡＰＭＫを使って更新された鍵をネットワークノード３０３、３０７に送信する。このような方法で、鍵は、セキュリティの特別な措置をネットワークに提供するために更新される。
【００４７】
上記の例は、２つの静的鍵、ＡＭＭＫとＡＰＭＫＩｎｉｔｉａｌの生成について記述する。ＡＥＳ鍵生成機能は、２つの静的鍵を生成するために、一実施形態において使われる。本機能は、３つの引数を受け取り、１２８ビットの静的鍵を返す。鍵生成機能は、ＲＳＡ研究所によって定義されたＲＦＣ２８９８／ＰＫＣＳ＃５として知られる過程を適用する。本過程は、ＡＳＣＩＩ符号化パスワードＰ、ＳＡＬＴ値Ｓ、およびＡＳＣＩＩ符号化文字列Ｎから静的鍵を導出する。
【００４８】
一実施形態において、静的鍵は、次の通りに算出される。
【００４９】
１．  Ｔｌ＝ＨＭＡＣ−ＳＨＡ−２５６（Ｐ，Ｓ｜｜Ｎ｜｜ＩＮＴ（１））
２．  Ｔ２＝ＨＭＡＣ−ＳＨＡ−２５６（Ｐ，Ｔｌ）
ｎ．  Ｔｎ＝ＨＭＡＣ−ＳＨＡ−２５６（Ｐ，Ｔｎ−１）
ｎ＋１．  静的鍵＝（Ｔｌ  ＸＯＲ  Ｔ２  ＸＯＲ  ．．．ＸＯＲ  Ｔｎ）＜０：１２７＞
【００５０】
ここで、
ＩＮＴ（１）は、最も重要な最初のバイトが整数１で符号化された、長さ４バイトの値（すなわち、００００  ００００  ００００  ０００１）であり、
ｎは、関数ＨＭＡＣ−ＳＨＡ−２５６の反復回数であり、ＰＫＣＳ＃５によって示唆される値１０００を有し、
＜０：１２７＞は、１２８ビットの前の値を切り捨てることを示し（すなわち、ＡＥＳ鍵は、ステップｎ＋１における文字列Ｔｌ  ＸＯＲ  Ｔ２  ＸＯＲ．．．ＸＯＲ  Ｔｎの最初の１２８ビットである）
Ｓ｜｜Ｎ｜｜ＩＮＴ（１）は、Ｓ、ＮおよびＩＮＴ（１）の値が繋げられて、単一の引数を形成することを示し、
ＨＭＡＣ−ＳＨＡ−２５６（Ｐ，Ｘ）＝ＳＨＡ−２５６（Ｐ  ＸＯＲ  ｏｐａｄ｜｜ＳＨＡ−２５６（Ｐ  ＸＯＲ  ｉｐａｄ｜｜Ｘ））であり、
ＳＨＡ−２５６は、ＦＩＰＳ１８０−２で定義されるように、「ＳＨＡ−２」ハッシング関数であり、
ｉｐａｄは、６４回繰り返された２進数値３６（１６進）（すなわち、００１１  ０１１０  ００１１  ０１１０  ００１１  ０１１０  ００１１  ０１１０  ００１１  ０１１０  ００１１  ０１１０）であり、
ｏｐａｄは、６４回繰り返された２進数値５Ｃ（１６進）である。
【００５１】
上記の応用から分かるように、ＲＦＣ２１０４およびＦＩＰＳ１８０−２において定義されるようなＨＭＡＣ−ＳＨＡ−２５６（Ｐ，Ｘ）は、以下のステップによって計算される。
（１）６４バイト文字列を生成するために、Ｐの端にゼロを加える
（２）ステップ（１）で計算した６４バイト文字列をｉｐａｄでＸＯＲ（ビット単位排他的論理和）する
（３）データストリームＸを、ステップ（２）から得られた６４バイト文字列に加える
（４）ＳＨＡ−２５６をステップ（３）で生成したストリームに適用する
（５）ステップ（１）で計算した６４バイト文字列をｏｐａｄでＸＯＲ（ビット単位排他的論理和）する
（６）ステップ（４）から得られたＳＨＡ−２５６をステップ（５）から得られた６４バイト文字列に加える
（７）ＳＨＡ−２５６をステップ（６）で生成したストリームに適用し、その結果を出力する
【００５２】
静的鍵を生成する場合、反復回数「ｎ」が増えると、パスワードから鍵を生成するコストが増すが、攻撃の難易度が増すという利点もある。ｎを１０００に向けて設定するにつれ、例えば、個々の鍵を導出するコストに顕著な影響はないが、パスワードの包括的な検索（総当たり攻撃）のコストが大幅に増加する。一実施形態において、各ネットワークノードは、少なくとも１ｍｓのハードウェア鍵ロックアウト時間を実現し、連続的な鍵の更新を防ぐ。あるいは、ロックアウト時間が存在しない。４０ビットの最小のパスワード空間が与えられると、総当たり攻撃でパスワード空間全体を検索し尽くすためには、１ｍｓの少なくとも２の４０乗倍の時間がかかる。それは≒３５．２年に等しい。
【００５３】
動的鍵を生成する方法は実施態様に委ねられており、開示された方法および装置にとって重要ではない。しかしながら、ＳＡＬＴは、動的鍵の生成でも使うことができることに留意されたい。
【００５４】
本明細書に記載されたシステムおよび方法は、混合モードＭｏＣＡネットワークでも使うことができる。混合モードＭｏＣＡネットワークは、ＭｏＣＡ１．ｘ（すなわち、ＭｏＣＡ１．０およびＭｏＣＡ１．１）およびＭｏＣＡ２．０ノードを含むＭｏＣＡネットワークである。ＭｏＣＡ１．ｘはＡＥＳ鍵を使わず、ＳＡＬＴ値を使わないので、ＭｏＣＡ２．０に準拠するために、できる限りネットワーク動作を更新する方が有益である。したがって、混合モードＭｏＣＡネットワークにおいて、ＮＣ手渡しが起こり、ＭｏＣＡ２．０ノードがＭｏＣＡ１．ｘノードからＮＣの役割を受け取ると、ＭｏＣＡ２．０ＮＣは、その恒久的ＳＡＬＴを他の既存のＭｏＣＡ２．０ノードに配信し、ノードが承認プロシージャを通る必要なく、それらがＳＡＬＴとパスワードを使って静的鍵を導出することを可能にする必要がある。すでに確立した混合モードネットワークにおいて、ＭｏＣＡ２．０ＮＣは、新しいＭｏＣＡ２．０ノードによって開始された承認過程の後、動的鍵（例えば、ＡＴＥＫおよびＡＰＭＫ）を配信する。しかしながら、新しいＭｏＣＡ２．０ノードがそのような混合ネットワークに承認される前に、ＮＣは恒久的ＳＡＬＴを、ネットワークディスカバリーメッセージ交換におけるノードに配信する必要がある。
【００５５】
図７は、本明細書に記載されたシステムおよび方法の一実施形態による、ＮＣによって開始された過程の例を示す流れ図である。この例で示すように、ＮＣ３６５は、恒久的ＳＡＬＴと共に要求３４２を、ネットワーク内の選択されたＭｏＣＡ２．０ノード３６３に配信する。一実施形態において、要求３４２は、Ｌ２ＭＥ要求である。ＭｏＣＡ２．０ノード３６３は、ＳＡＬＴと、ネットワークパスワードと、ＡＳＣＩＩ文字列とを使って静的鍵（ＡＭＭＫおよびＡＰＭＫＩｎｉｔｉａｌ）を算出する。あるいは、ＳＡＬＴとパスワードだけが使われる。ノード３６３は、ＡＭＭＫによって暗号化された応答３４４を発信する。ノード３６３とＮＣ３６５は、３４６によって示すように動的鍵を交換する。次いで、ＭＡＰ内のＡＥＳ暗号化フラグが３４８で有効になる。今後の通信は、３５０によって示すように、配信されたＡＥＳ動的鍵を使用して、ＭｏＣＡ２．０ノード間で暗号化される。混合モードネットワークにおいて、ＭｏＣＡ２．０ＮＣ３６５は、現在のＭｏＣＡ１．ｘ動的鍵（すなわち、ＭｏＣＡ２．０ノードのために使われるＡＥＳ技術とは対照的に、ＤＥＳ暗号化技術を使って生成された鍵）を使って、恒久的ＳＡＬＴを、ＭｏＣＡ１．ｘＮＣによって承認された既存のＭｏＣＡ２．０ノードの組に配信する。
【００５６】
「Ｗａｖｅ０」において、ＮＣ３６５は、どのＭｏＣＡ２．０ノードが加入を要求したかを特定する。ＭｏＣＡ２．０ノードは、「ＷＡＶＥ０＿ＮＯＤＥＭＡＳＫ」を使って指示する。一実施形態において、ＷＡＶＥ０＿ＮＯＤＥＭＡＳＫの各ビットは、ＭｏＣＡ２．０ノードの１つを表す。要求されたノードのそれぞれは、応答フレーム３４４を送信する。以下の制約条件が、要求フレーム３４４の様々な領域で見られる。
ＶＥＮＤＯＲ＿ＩＤ＝０ｘ０（ＭｏＣＡ）
ＴＲＡＮＳ＿ＴＹＰＥ＝０ｘ２（ＡＥＳ鍵配布）
ＴＲＡＮＳ＿ＳＵＢＴＹＰＥ＝０ｘ０（恒久的ＳＡＬＴの配布のため）
ＷＡＶＥ０＿ＮＯＤＥＭＡＳＫ＝ＭｏＣＡネットワークにおける選択されたＭｏＣＡ２．０ノードを示すために設定される
ＭＳＧ＿ＰＲＩＯＲＩＴＹ＝０ｘＦ０
ＴＸＮ＿ＬＡＳＴ＿ＷＡＶＥ＿ＮＵＭ＝２
Ｌ２ＭＥ＿ＰＡＹＬＯＡＤ＝表２に示す
【００５７】
【表２】
2013539248.tif 000004
【００５８】
各ノードは、以下の制約条件を有する応答フレームを用いてＮＣに応答する。
ＲＥＳＰ＿ＳＴＡＴＵＳ＝ビット０を「１」にセット
Ｌ２ＭＥ＿ＰＡＹＬＯＡＤ＝表３で定義する
【００５９】
【表３】
2013539248.tif 000005
【００６０】
動的鍵を成功裏に配信後、次いで、ＮＣは、以降のＭＡＰにおけるＡＥＳ暗号化フラグを起動する。
【００６１】
図８を参照すると、演算モジュール４００は、例えば、デスクトップ、ラップトップ、およびノートブックコンピュータ、ハンドヘルド演算デバイス（ＰＤＡ、スマートフォン、携帯電話、パームトップ等）、メインフレーム、スーパーコンピュータ、ワークステーション、もしくはサーバ、または、所与のアプリケーションもしくは環境にとって望ましいか適切であると考えられる任意の他の種類の特殊用途向けか汎用の演算デバイスで見られる演算または処理機能を表すことができる。演算モジュール４００は、所与のデバイス内に埋め込まれた演算機能、そうでなければ、所与のデバイスで利用可能な演算機能であってもよい。例えば、演算モジュール４００は、例えば、デジタルカメラ、ナビゲーションシステム、携帯電話、携帯演算デバイス、モデム、ルータ、無線アクセスポイント（ＷＡＰ）、何らかの形態の処理機能を含む可能性がある端末および他の電子機器等の電子機器で見ることができるであろう。
【００６２】
演算モジュール４００は、例えば、１つまたは複数のプロセッサ、制御器、制御モジュール、または、プロセッサ４０４等の他の処理デバイスを含んでもよい。プロセッサ４０４は、例えば、マイクロプロセッサ、制御器、または他の制御論理等の、汎用または特殊用途向け処理エンジンを使って実現してもよい。例図において、プロセッサ４０４はバス４０２に接続されるが、あらゆる通信メディアを演算モジュール４００の他の構成要素との連携を容易にするため、または外部と通信するために使うことができる。
【００６３】
演算モジュール４００は、本明細書において単に主メモリ４０８とした、１つまたは複数のメモリモジュールも含むことができる。例えば、好ましくは、ランダムアクセスメモリ（ＲＡＭ）または他の動的メモリは、情報と、プロセッサ４０４によって実行される命令とを格納するために使われるであろう。主メモリ４０８は、プロセッサ４０４によって実行される命令の実行の間、一時変数または他の中間情報を格納するためにも使われるであろう。演算モジュール４００は、同じように、読出し専用メモリ（ＲＯＭ）、または、プロセッサ４０４のための静的な情報および命令を格納するため、バス４０２に結合された他の静的ストレージデバイスを含んでもよい。
【００６４】
演算モジュール４００は、１つまたは複数の、様々な形態の情報ストレージ機構４１０を含んでもよく、そのような情報ストレージ機構４１０は、例えば、メディアドライブ４１２およびストレージユニットインターフェース４２０を含んでもよい。メディアドライブ４１２は、固定式または取り外し式ストレージメディア４１４をサポートするための、ドライブまたは他の機構を含んでもよい。例えば、ハードディスクドライブ、フロッピーディスクドライブ、磁気テープドライブ、光学ディスクドライブ、ＣＤまたはＤＶＤドライブ（ＲまたはＲＷ）、または他の取り外し式もしくは固定式メディアドライブが提供されてもよい。それに応じて、ストレージメディア４１４は、例えば、ハードディスク、フロッピーディスク、磁気テープ、カートリッジ、光学ディスク、ＣＤもしくはＤＶＤ、または、メディアドライブ４１２によって読み取られるか、書き込まれるか、アクセスされる他の固定式もしくは取り外し式メディアを含んでもよい。これらの例で示すように、ストレージメディア４１４は、その中にコンピュータソフトウェアまたはデータが格納されたコンピュータ利用可能ストレージメディアを含むことができる。
【００６５】
代替実施形態において、情報ストレージ機構４１０は、コンピュータプログラムまたは他の命令もしくはデータを演算モジュール４００にロードすることを可能にするための他の手段を含んでもよい。そのような手段は、例えば、固定式または取り外し式ストレージユニット４２２およびインターフェース４２０を含んでもよい。そのようなストレージユニット４２２およびインターフェース４２０の例には、プログラムカートリッジとカートリッジインターフェース、取り外し式メモリ（例えば、フラッシュメモリや他の取り外し式メモリモジュール）、ならびにメモリスロット、ＰＣＭＣＩＡスロットならびにカード、および、ソフトウェアとデータをストレージユニット４２２から演算モジュール４００に転送することが可能な他の固定式または取り外し式ストレージユニット４２２ならびにインターフェース４２０を含むことができる。
【００６６】
演算モジュール４００は、通信インターフェース４２４も含んでもよい。通信インターフェース４２４は、ソフトウェアおよびデータを演算モジュール４００と外部デバイス間で転送することを可能にするために使用してもよい。通信インターフェース４２４の例には、モデムもしくはソフトモデム、ネットワークインターフェース（イーサネット、ネットワークインターフェースカード、ＷｉＭｅｄｉａ、ＩＥＥＥ８０２．ＸＸ、または他のインターフェース等）、通信ポート（例えば、ＵＳＢポート、ＩＲポート、ＲＳ２３２ポートＢｌｕｅｔｏｏｔｈ（登録商標）インターフェース、または他のポート等）、または、他の通信インターフェースを含んでもよい。通信インターフェース４２４を介して転送されるソフトウェアおよびデータは、通常は、信号で転送され得、そのような信号は、電子的、電磁気的（光学を含む）、または、所与の通信インターフェース４２４によって交換することができる他の信号である。これらの信号は、通信インターフェース４２４に、チャネル４２８を介して提供され得るであろう。このチャネル４２８は、信号を搬送することができ、および有線または無線通信メディアを使って実現されるであろう。チャネルのいくつかの例として、同軸ケーブル上のＭｏＣＡチャネル、電話線、セルラーリンク、ＲＦリンク、光学リンク、ネットワークインターフェース、ローカルまたはワイドエリアネットワーク、および他の有線または無線通信チャネルを含んでもよい。
【００６７】
本明細書において、用語「コンピュータプログラムメディア」および「コンピュータ利用可能メディア」は、一般に、例えば、メモリ４０８、ストレージユニット４２０、およびメディア４１４等の物理的ストレージメディアについて言及するために使われる。これらおよび他の様々な形態のコンピュータプログラムストレージメディアまたはコンピュータ利用可能ストレージメディアは、１つまたは複数の命令の１つまたは複数のシーケンスを、処理デバイスに、実行するために格納および提供することに関係することができる。メディアで実行されるそのような命令は、一般に、「コンピュータプログラムコード」または「コンピュータプログラム製品」（コンピュータプログラムや他のグループの形態でグループ化することができる）と呼ばれる。実行されると、そのような命令は、演算モジュール４００が、本明細書で説明されたような開示された方法および装置の特徴や機能を実行することを可能にするであろう。
【００６８】
開示された方法および装置の様々な実施形態が上記され、様々な図に示されたが、それらは例のためのみに提示され、限定するためではないことを理解すべきである。個々の実施形態の１つまたは複数において記載された様々な特徴、態様、および機能は、それらが記載された特定の実施形態にそれらの適用範囲を限定しないが、代わりに、単独または様々な組合せで、そのような実施形態が記載されようがされまいが、および、記載された実施形態の一部としてそのような特徴が提示されようがされまいが、開示された方法および装置の他の実施形態の１つまたは複数に適用することができる。さらに、本明細書に示してある以外の多数の様々な構成要素モジュール名を、様々な区画に適用することができる。さらに、流れ図、動作記述および方法クレームに関して、本明細書で提示されるブロックの順序は、文脈からそうでないと分かる限り、同じ順序で記載した機能が行われるよう、様々な実施形態を実現すべきであると規定するべきではない。したがって、請求される発明の幅および範囲は、単に例示のためのみの例として提示された、あらゆる上記の実施形態によっても限定されるべきではない。
【００６９】
本明細書で使用される用語ならびにフレーズ、およびそれらの変化形は、特に指示がなければ、限定ではなくオープンエンドとして解釈されるべきである。上記の例として、用語「含む」は、「含むが、これらに限定されるものではない」等という意味として読まれるべきであり、用語「例」は、説明する項目の多くの例の一部を提供するために使われ、それらの包括的または限定的なリストではなく、および、用語「ａ」または「ａｎ」は、「少なくとも１つの」「１つまたは複数の」等の意味として読まれるべきである。同じように、本明細書が当業者にとって明らかまたは既知であろう技術に関する場合、そのような技術は、現在の、または将来における任意の時間における当業者にとって明らかまたは既知である技術を網羅する。
【００７０】
本明細書で使用される場合、用語モジュールは、開示された方法および装置の１つまたは複数の実施形態により実行することができる所与のユニットの機能について記述するであろう。本明細書で使用される場合、モジュールは、ハードウェア、ソフトウェア、またはそれらの組合せのあらゆる形態を使って実現されるであろう。例えば、１つまたは複数のプロセッサ、制御器、ＡＳＩＣ、ＰＬＡ、ＰＡＬ、ＣＰＬＤ、ＦＰＧＡ、論理的構成要素、ソフトウェアルーチン、または、他の機構を、モジュールを構成するために実装してもよい。実装において、本明細書に記載された様々なモジュールは、離散モジュールとして実現され得、または、記載された機能および特徴は、１つまたは複数のモジュール間で、部分的に、または全体で共有することができる。すなわち、この記述を読んだ後に当業者に明らかになるであろうように、本明細書に記載された様々な特徴および機能は、あらゆる所与の用途において実現することができ、別々の、または様々な組合せおよび順序で共有された１つまたは複数のモジュールにおいて実現することができる。
【００７１】
開示された方法および装置の構成要素またはモジュールは、ソフトウェアを使って全体で、または部分的に実現される場合、一実施形態において、これらソフトウェア要素は、それらに関して記載された機能を実行することができる演算または過程モジュールと共に動作するよう実現することができる。演算モジュールの１つのそのような例が、図８に示される。様々な実施形態が、この例示的な演算モジュール４００によって記載される。この記述を読んだ後、当業者には、他の演算モジュールまたはアーキテクチャーを使って、開示された方法および装置を実現する方法が明らかになるであろう。
【図３】
2013539248.tif 000006
【図４】
2013539248.tif 000007
【図５】
2013539248.tif 000008
【図６】
2013539248.tif 000009
【図７】
2013539248.tif 000010
【図８】
2013539248.tif 000011
【図１】
2013539248.tif 000012
【図２】
2013539248.tif 000013
【国際調査報告】
2013539248.tif 000014