(57)【要約】      （修正有）【課題】ネットワークアクセス認証時に、ノード間で動的に鍵共有を行える通信装置、通信方法、システム及びプログラムを提供する。【解決手段】取得部、生成部、通信部を具備する通信装置が提供される。取得部は、第１の通信装置からマスター鍵を取得する。生成部は、前記マスター鍵を用いて個別鍵を生成する。通信部は、前記個別鍵を用いて第２の通信装置と通信を行う。【選択図】図１
2014103590.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信装置からマスター鍵を取得する取得部と、
前記マスター鍵を用いて個別鍵を生成する生成部と、
前記個別鍵を用いて第２の通信装置と通信を行う通信部と、
を具備する通信装置。
【請求項２】
前記生成部は、前記マスター鍵と、前記第２の通信装置との間の相互認証の過程で当該第２の通信装置との間で交換した情報とを用いて前記個別鍵を生成する請求項１記載の通信装置。
【請求項３】
前記第１の通信装置との間で第１の認証処理を行うことにより前記マスター鍵を取得する第１認証処理部と、
前記マスター鍵を用いて前記第２の通信装置と相互認証を行い、前記第２の通信装置との間で乱数を交換する第２認証処理部と、
をさらに具備し、
前記生成部は、前記マスター鍵と前記乱数とを用いて前記個別鍵を生成する請求項２記載の装置。
【請求項４】
第１の通信装置から取得部がマスター鍵を取得するステップと、
生成部が前記マスター鍵を用いて個別鍵を生成するステップと、
通信部が前記個別鍵を用いて第２の通信装置と通信を行うステップと、
を含む通信方法。
【請求項５】
マスター鍵を提供するサーバと、前記サーバとの間で認証処理を行う第１および第２のクライアントとを具備するシステムであって、
前記第１のクライアントは、
前記サーバから前記マスター鍵を取得する第１取得部と、
前記マスター鍵を用いて個別鍵を生成する第１生成部と、
前記個別鍵を用いて前記第２のクライアントと通信を行う第１通信部と、
を具備し、
前記第２のクライアントは、
前記サーバから前記マスター鍵を取得する第２取得部と、
前記マスター鍵を用いて前記個別鍵を生成する第２生成部と、
前記個別鍵を用いて前記第１のクライアントと通信を行う第２通信部と、
を具備する、システム。
【請求項６】
コンピュータを、
第１の通信装置からマスター鍵を取得する取得部、
前記マスター鍵を用いて個別鍵を生成する生成部、
前記個別鍵を用いて第２の通信装置と通信を行う通信部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置、方法、システム及びプログラムに関する。
【背景技術】
【０００２】
ネットワークアクセス認証時に、サーバからクライアントに鍵を通知することはできる。しかしながら、実際の運用において、通信を行うノード間で使用される暗号化鍵をサーバから通知するのは困難である。これは、無線メッシュネットワーク内で通信を行うノードの組み合わせは、ネットワークアクセス認証時には不明であることに起因している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３９１４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ノード間で動的に鍵共有を行えるようにする。
【課題を解決するための手段】
【０００５】
実施形態によれば、取得部、生成部、通信部を具備する通信装置が提供される。取得部は、第１の通信装置からマスター鍵を取得する。生成部は、前記マスター鍵を用いて個別鍵を生成する。通信部は、前記個別鍵を用いて第２の通信装置と通信を行う。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態のネットワーク構成を示す図
【図２】認証処理のシーケンスを示す図
【図３】認証処理完了直後に鍵通知を行う場合のシーケンスを示す図
【図４】クライアント間の鍵共有処理のシーケンスを示す図
【図５】クライアントの起動時の処理を示すフローチャート
【図６】クライアントの定期処理を示すフローチャート
【図７】クライアントの構成を示す図
【図８】マスター鍵更新による個別鍵更新の処理を示すフローチャート
【発明を実施するための形態】
【０００７】
以下、実施の形態について、図面を参照して説明する。
【０００８】
［第１実施形態］  
図１は、第１実施形態に係るネットワーク構成を示す図である。ネットワーク１０４には、サーバ１０１とクライアント１０２、クライアント１０３が接続している。各クライアントは、ネットワーク１０４を介してサーバ１０１と通信可能である。また、クライアント１０２とクライアント１０３との間も通信可能である。本実施形態に直接関係が無い通信ノードは図中で省略する。また、本実施形態では認証処理などの通信プロトコルとしてＰｒｏｔｏｃｏｌ  ｆｏｒ  Ｃａｒｒｙｉｎｇ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｆｏｒ  Ｎｅｔｗｏｒｋ  Ａｃｃｅｓｓ  （ＰＡＮＡ）の使用を想定しているが、通信プロトコルはこれに限らない。
【０００９】
クライアント１０２はネットワーク１０４に接続すると、サーバ１０１との間で認証処理を行い、サーバ１０１からマスター鍵またはグループマスター鍵を得る。
【００１０】
図２に、サーバ１０１とクライアント１０２との間で行う認証処理のメッセージシーケンスを示す。はじめに、クライアント１０２は認証開始メッセージ２０１をサーバ１０１に送信する。認証開始メッセージ２０１を受信したサーバ１０１は、認証処理メッセージ２０２をクライアント１０２に送信する。その後、所定の認証方式に従って認証を行い、最後にサーバ１０１からクライアント１０２に対し認証完了メッセージ２０３をクライアント１０２へ送信する。クライアント１０２はその応答として認証完了メッセージ２０４をサーバ１０１へ送信する。
【００１１】
本実施形態ではクライアント１０２による認証開始メッセージ２０１によって認証処理が開始する例を示したが、認証開始メッセージ２０１無しに、サーバ１０１から認証処理メッセージ２０２をクライアント１０２へ送信することで認証処理を開始してもよい。また、サーバ１０１とクライアント１０２間の認証処理が代理サーバまたはリレーノードによって仲介されてもよい。
【００１２】
サーバ１０１とクライアント１０２との間で所定の方法での認証が成功すると、認証完了メッセージ２０３により、サーバ１０１からクライアント１０２へマスター鍵３０１が通知される。さらに、マスター鍵３０１の関連情報として、マスター鍵３０１の鍵識別子や有効期限なども通知されてもよい。マスター鍵３０１はサーバ１０１とクライアント１０２の認証結果を用いて暗号化される。
【００１３】
マスター鍵３０１は必ずしも認証完了メッセージ２０３としてサーバ１０１からクライアント１０２に通知されなくてもよい。具体的には、図３に示す鍵通知メッセージ４０１にマスター鍵３０１を含めることで、サーバ１０１がクライアント１０２にマスター鍵３０１を通知してもよい。
【００１４】
クライアント１０３についても、クライアント１０２と同様にマスター鍵３０１をサーバから取得する。
【００１５】
なお、説明の便宜上、図１にはサーバ１０１に対して２台のクライアント１０２、１０３が接続する例を示したが、一般には多数のクライアントが接続される。
【００１６】
次に、クライアント１０２とクライアント１０３はマスター鍵３０１を用いて相互認証を行い、クライアント１０２とクライアント１０３との間で共有する個別鍵を生成する。
【００１７】
図４に、クライアント間の鍵共有処理のメッセージシーケンスを示す。はじめに、クライアント１０２がクライアント１０３に認証開始メッセージ５０１を送信する。クライアント１０３は認証開始メッセージ５０１への応答として、認証開始メッセージ５０２を送信する。認証開始メッセージやこれらのメッセージに続く認証処理メッセージにより、クライアント１０２とクライアント１０３との間でマスター鍵３０１を使った相互認証を行う。そして、認証結果などを認証完了メッセージ５０３および認証完了メッセージ５０４によって通知しあう。
【００１８】
認証が成功した場合、クライアント１０２とクライアント１０３はマスター鍵３０１から個別鍵６０３を生成する。例えば、認証処理中に、クライアント１０２からクライアント１０３へ乱数６０１を通知し、クライアント１０３からクライアント１０２に乱数６０２を通知した場合、マスター鍵３０１、乱数６０１、および乱数６０２を入力として所定のハッシュ関数から得られるハッシュ値を個別鍵６０３とする。この生成された個別鍵６０３は、クライアント１０２とクライアント１０３との間で同一である。
【００１９】
個別鍵６０３の鍵識別子や有効期限などの情報はクライアント１０２とクライアント１０３間の認証処理中にネゴシエーションしてもよいし、クライアント１０２が決定した鍵識別子や有効期限の情報を認証完了メッセージ５０３などでクライアント１０３に通知してもよい。
【００２０】
図５に、クライアント１０２の起動時の処理フローを示す。クライアント１０２が起動すると、まずネットワークに接続しているサーバやリレーを探索する（ステップＳ１）。リレーはクライアントとサーバが直接通信できない際に使用されるもので、リレーがクライアント１０２とサーバとの間の認証処理のメッセージを転送する。なお、静的に設定されたサーバやリレーに対して認証を行う場合、サーバやリレーの探索は不要である。
【００２１】
サーバやリレーが見つかった場合（ステップＳ２＝ｙｅｓ）、クライアント１０２はサーバ（例えばサーバ１０１）との間の認証処理を実行し（ステップＳ３）、認証が成功したら（ステップＳ４＝ｙｅｓ）、上記の個別鍵を共有すべき他のクライアントを探索する（ステップＳ５）。そして、クライアントが見つかったならば（ステップＳ６＝ｙｅｓ）、当該見つかったクライアント（例えばクライアント１０３）との間で認証処理を行う（ステップＳ７）。この認証が成功した場合、図３に示したシーケンスによって個別鍵（上記の個別鍵６０３）が生成される。他にクライアントが発見されなくなるまで、または、所定のクライアント数に達するまでステップＳ５〜Ｓ８の処理を繰り返す。
【００２２】
なお、他のクライアントの探索やその後の認証処理（ステップＳ５〜Ｓ８の処理）のタイミングは、必ずしもサーバとの認証処理の直後ではない。例えば、図６に示すステップＳ５〜Ｓ８の処理を、クライアント１０２が定期的に行ってもよい。
【００２３】
図７は、クライアント１０２の構成を示す図である。クライアント１０２は、メッセージ処理部７０１、サーバ間認証処理部７０２、クライアント間認証処理部７０３、個別鍵テーブル７０４から構成される。メッセージ処理部７０１は、サーバ１０１やクライアント１０３から送信されたメッセージの受信、サーバ１０１やクライアント１０３に対するメッセージの送信を行う。サーバ間認証処理部７０２（第１認証処理部、取得部）は、所定の認証方式によりサーバ１０１との間で認証処理を行う。この処理の結果、サーバ１０１からマスター鍵３０１を得る。
【００２４】
クライアント間認証処理部７０３（第２認証処理部）は、サーバ間認証処理部７０２からマスター鍵３０１を取得し、クライアント１０３との間の認証処理を行う。クライアント間認証処理部７０３はクライアント探索部８０１、認証部８０２、個別鍵生成部８０３から構成される。クライアント探索部８０１が他のクライアントを探索し、クライアント間認証処理部７０３内の認証部８０２が、探索の結果見つかったクライアント１０３との認証処理を行う。クライアント１０３との認証が成功した場合、個別鍵生成部８０３（生成部）が個別鍵６０３を生成する。生成された個別鍵６０３は個別鍵テーブル７０４に保存される。
【００２５】
クライアント１０２は、個別鍵６０３を用いてクライアント１０３と暗号通信を行う（通信部）。
【００２６】
表１に個別鍵テーブル７０４の例を示す。この例では、個別鍵テーブル６０４は鍵を識別するための鍵識別子と、鍵の値である鍵値、鍵の有効期限、鍵を共有している相手の情報を持つ。
【表１】
2014103590.tif 000003
【００２７】
例えば、「１００１」で識別される個別鍵は「１２０ａｊＢＡｊ４３ａｎｂ」という鍵値を持ち、その有効期限は「２０１２年７月１０日１２：１５」である。この「１００１」で識別される個別鍵１００１は、クライアント１０３との間で共有される。
【００２８】
［第２実施形態］  
第２実施形態は、個別鍵の更新に関する。第２の実施形態に係るクライアント１０２は、すでに共有している個別鍵の有効期限が切れる前に、個別鍵を共有しているクライアント１０３との間で認証処理を行って個別鍵を更新する。
【００２９】
例えば、個別鍵の生成の際に設定される有効期限を、マスター鍵の有効期限と同じかそれよりも短い有効期限に設定する。これにより、マスター鍵の更新にあわせて個別鍵は更新されることになる。ここで、マスター鍵は有効期限切れになる前に更新される場合を仮定している。
【００３０】
図８は、マスター鍵更新による個別鍵更新の処理のフローを示している。マスター鍵更新のために、クライアント１０２とサーバ１０１との間で認証処理を行う（ステップＳ１０）。この認証に成功すると（ステップＳ１１＝ｙｅｓ）、新しいマスター鍵が生成され、クライアント１０２に通知される（マスター鍵更新）。その後、個別鍵を共有しているクライアント（例えばクライアント１０３）との間で認証処理を実施し、ステップＳ１０で更新されたマスター鍵を使った個別鍵の交換を行う（ステップＳ１２）。次に、他のクライアントを検索し、同様に個別鍵の更新を行う（ステップＳ１３＝ｙｅｓ）。
【００３１】
なお、ステップＳ１０におけるサーバとの間の認証処理に成功しなかった場合（ステップＳ１１＝ｎｏ）、図５に示した起動処理を行う（ステップＳ１４）。
【００３２】
第２実施形態によれば、クライアントから自発的にマスター鍵を更新することにより、個別鍵を任意の適切なタイミングで更新することができる。
【００３３】
［第３実施形態］  
上述した実施形態は、サーバから通知されたマスター鍵を用いて、認証を行う少なくとも２つのクライアントのそれぞれが同一の個別鍵を生成するものであった。これに対し、第３実施形態は、認証を行う少なくとも２つのクライアントの一方のみが個別鍵を生成し、これを他方のクライアントに通知する構成としたものである。
【００３４】
例えば、認証を行う少なくとも２つのクライアント１０２、１０３のうち、クライアント１０２のみが個別鍵を生成する。クライアント１０２は、この生成した個別鍵を、マスター鍵を用いて暗号化する。この暗号化された個別鍵を、クライアント間の認証処理においてクライアント１０２からクライアント１０３に通知する。なお、クライアント１０２および１０３は、それぞれがサーバ１０１との間の認証処理を経ている必要があることは言うまでもない。
【００３５】
第３実施形態においても、第１実施形態と同様、クライアント間で個別鍵を共有することができる。
【００３６】
以上説明した実施形態によれば、ノード間で動的に個別鍵の共有を行えるようになる。なお、上述した実施形態の中で示した処理手順は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の手書き文書処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。  
また、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
【００３７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００３８】
１０１…サーバ
１０２、１０３…クライアント
１０４…ネットワーク
２０１…認証開始メッセージ
２０２…認証処理メッセージ
２０３、２０４…認証完了メッセージ
３０１…マスター鍵
４０１…鍵通知メッセージ
４０２…鍵応答メッセージ
５０１、５０２…認証開始メッセージ
５０３、５０４…認証完了メッセージ
７０１…メッセージ処理部
７０２…サーバ間認証処理部
７０３…クライアント間認証処理部
７０４…個別鍵テーブル
８０１…クライアント探索部
８０２…認証部
８０３…個別鍵生成部
【図１】
2014103590.tif 000004
【図２】
2014103590.tif 000005
【図３】
2014103590.tif 000006
【図４】
2014103590.tif 000007
【図５】
2014103590.tif 000008
【図６】
2014103590.tif 000009
【図７】
2014103590.tif 000010
【図８】
2014103590.tif 000011