(57)【特許請求の範囲】
【請求項１】
複数のセンサーのうち１のセンサーが、通信可能な他のセンサーとの間で鍵共有を依頼し、
該依頼を受けた他のセンサーが、
初期鍵を用いて鍵共有プロトコルを実行することにより、共有する新たな鍵Ｋ１を作成する初期処理手段と、
前記作成した共有する新たな鍵Ｋ１を前記１のセンサーに送信する共有鍵送信手段と、
前記鍵Ｋ１を用いて、メッセージの暗号化を行う暗号化手段と、
前記暗号化されたメッセージを送信する送信手段と、
を備え、
前記１のセンサーが、
受信した前記鍵Ｋ１を用いて、メッセージの認証を行うメッセージ認証手段と、
受信した前記鍵Ｋ１を用いて、認証したメッセージを復号する復号化手段と、
を備え、
前記１あるいは他のセンサーが、
前記鍵を共有するセンサーが危殆化、あるいは消滅、通信不能状態であることを検出する検出手段と、
該鍵を共有するセンサーが危殆化、あるいは消滅、通信不能状態であると前記検出手段が検出したときに、前記共有している鍵を削除する共有鍵削除手段と、
を備え、
前記共有している鍵を削除した前記１あるいは他のセンサーが、
前記鍵を共有している他のｎ−１（ｎ≧２）個のセンサーの中から１つのセンサーを選択する選択手段と、
前記鍵を削除した１あるいは他のセンサーが所有しているｎ−１（ｎ≧２）個の鍵のダイジェスト値を前記選択した前記センサーに送信するダイジェスト値送信手段と、
を備え、
該ダイジェスト値を受信した前記選択されたセンサーが、
自身が管理する鍵のダイジェスト値を計算する計算手段と、
前記受信した前記ダイジェスト値と異なるダイジェスト値を持つ鍵を抽出する鍵抽出手段と、
該抽出した鍵を前記鍵を削除した１あるいは他のセンサーに送信する鍵送信手段と、
を備えたことを特徴とするセンサーネットワークシステム。
【請求項２】
通信可能な１のセンサーと他のセンサーとを含む複数のセンサーからなり、鍵共有を行うセンサーネットワークシステムにおける鍵管理方法であって、
前記１あるいは他のセンサーの検出手段が、鍵を共有するセンサーが危殆化、あるいは消滅、通信不能状態であることを検出する第１のステップと、
前記第１のステップにおいて、該鍵を共有するセンサーが危殆化、あるいは消滅、通信不能状態であることと検出したときに、前記鍵を共有するセンサーとペアとなるセンサーの共有鍵削除手段が共有している鍵を削除する第２のステップと、
前記鍵を削除した前記鍵を共有するセンサーとペアとなるセンサーの選択手段が、前記鍵を共有しているｎ−１（ｎ≧２）個のセンサーの中から１つのセンサーを選択する第３のステップと、
前記鍵を削除した前記鍵を共有するセンサーとペアとなるセンサーのダイジェスト値送信手段が、所有しているｎ−１（ｎ≧２）個の鍵のダイジェスト値を選択した前記センサーに送信する第４のステップと、
前記鍵を削除した前記鍵を共有するセンサーとペアとなるセンサーのダイジェスト値送信手段から前記ダイジェスト値を受信した前記選択された前記センサーのダイジェスト値計算手段が、自身が管理する鍵のダイジェスト値を計算する第５のステップと、
前記鍵を削除した前記鍵を共有するセンサーとペアとなるセンサーのダイジェスト値送信手段から前記ダイジェスト値を受信した前記選択された前記センサーの鍵抽出手段が、前記受信した前記ダイジェスト値と異なるダイジェスト値を持つ鍵を抽出する第６のステップと、
前記鍵を削除した前記鍵を共有するセンサーとペアとなるセンサーのダイジェスト値送信手段から前記ダイジェスト値を受信した前記選択された前記センサーの鍵送信手段が、該抽出した鍵を前記鍵を削除した１あるいは他のセンサーに送信する第７のステップと、
を備えたことを特徴とする鍵管理方法。
【請求項３】
通信可能な１のセンサーと他のセンサーとを含む複数のセンサーからなり、鍵共有を行うセンサーネットワークシステムにおける鍵管理方法をコンピュータに実行させるためのプログラムであって、
前記１あるいは他のセンサーの検出手段が、鍵を共有するセンサーが危殆化、あるいは消滅、通信不能状態であることを検出する第１のステップと、
前記第１のステップにおいて、該鍵を共有するセンサーが危殆化、あるいは消滅、通信不能状態であることと検出したときに、前記鍵を共有するセンサーとペアとなるセンサーの共有鍵削除手段が共有している鍵を削除する第２のステップと、
前記鍵を削除した前記鍵を共有するセンサーとペアとなるセンサーの選択手段が、前記鍵を共有しているｎ−１（ｎ≧２）個のセンサーの中から１つのセンサーを選択する第３のステップと、
前記鍵を削除した前記鍵を共有するセンサーとペアとなるセンサーのダイジェスト値送信手段が、所有しているｎ−１（ｎ≧２）個の鍵のダイジェスト値を選択した前記センサーに送信する第４のステップと、
前記鍵を削除した前記鍵を共有するセンサーとペアとなるセンサーのダイジェスト値送信手段から前記ダイジェスト値を受信した前記選択された前記センサーのダイジェスト値計算手段が、自身が管理する鍵のダイジェスト値を計算する第５のステップと、
前記鍵を削除した前記鍵を共有するセンサーとペアとなるセンサーのダイジェスト値送信手段から前記ダイジェスト値を受信した前記選択された前記センサーの鍵抽出手段が、前記受信した前記ダイジェスト値と異なるダイジェスト値を持つ鍵を抽出する第６のステップと、
前記鍵を削除した前記鍵を共有するセンサーとペアとなるセンサーのダイジェスト値送信手段から前記ダイジェスト値を受信した前記選択された前記センサーの鍵送信手段が、該抽出した鍵を前記鍵を削除した１あるいは他のセンサーに送信する第７のステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサーを広範囲に配置し、センサー同士が通信を行うセンサーネットワークシステム、鍵管理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、ＲＦＩＤ等のセンサーを広範囲に配置し、センサー同士が通信を行うことにより、データや情報のやりとりを行うセンサーネットワークシステムが知られている（例えば、非特許文献１参照。）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｃｈｅｎｇ−Ｋａｎｇ  Ｃｈｕ  ｅｔ  ａｌ．Ｐｒａｃｔｉｃａｌ  ＩＤ−ｂａｓｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  ｆｏｒ  Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋ  Ｃｒｙｐｔｏｌｏｇｙ  ｅＰｒｉｎｔ  Ａｒｃｈｉｖｅ：  Ｒｅｐｏｒｔ  ２０１０／００２，２０１０．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、センサーネットワークにおいては、どのように安全な通信を実現するかが大きな課題である。特に、センサーは、演算能力が非力であるため、なるべく少ない計算量で実現する必要がある。また、センサーの内、１つが解析されて鍵が漏洩する危険性も考慮しなければならない。
【０００５】
そこで、本発明は、上述の課題に鑑みてなされたものであり、低コストで、安全性の高いセンサーネットワークシステム、鍵管理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
【０００７】
（１）本発明は、１のセンサー（例えば、図１のセンサーＡに相当）が、通信可能な他のセンサー（例えば、図１のセンサーＢに相当）に対して鍵共有を依頼し、該依頼を受けた他のセンサーが、初期鍵を用いて鍵共有プロトコルを実行し、共有する新たな鍵Ｋ１を作成する初期処理手段（例えば、図２の初期処理部１２０に相当）と、前記作成した共有鍵Ｋ１を前記１のセンサーに送信する共有鍵送信手段（例えば、図２の通信部１４０に相当）と、前記鍵Ｋ１を用いて、メッセージの暗号化を行う暗号化手段（例えば、図２の暗号化部１３０に相当）と、前記暗号化されたメッセージを送信する送信手段（例えば、図２の通信部１４０に相当）と、を備え、前記１のセンサーが、受信した前記鍵Ｋ１を用いて、メッセージの認証を行うメッセージ認証手段（例えば、図３のメッセージ認証部２２０に相当）と、受信した前記鍵Ｋ１を用いて、認証したメッセージを復号する復号化手段（例えば、図３の復号化部２４０に相当）と、を備えたことを特徴とするセンサーネットワークシステムを提案している。
【０００８】
この発明によれば、初期処理手段は、１のセンサーが、通信可能な他のセンサーに対して鍵共有を依頼し、その依頼を受けた他のセンサーが、初期鍵を用いて鍵共有プロトコルを実行し、共有する新たな鍵Ｋ１を作成する。他のセンサーの共有鍵送信手段は、作成した共有鍵Ｋ１を１のセンサーに送信する。他のセンサーの暗号化手段は、鍵Ｋ１を用いて、メッセージの暗号化を行う。他のセンサーの送信手段は、暗号化されたメッセージを送信する。１のセンサーのメッセージ認証手段は、受信した鍵Ｋ１を用いて、メッセージの認証を行う。１のセンサーの復号化手段は、鍵Ｋ１を用いて、認証したメッセージを復号する。したがって、確率的に鍵を共有できる方式とし、方式を単純化したことから、例えば、ＲＦＩＤのような演算能力が脆弱なセンサーを用いた低コストのセンサーネットワークシステムを構築することができる。また、通信可能なセンサーがｎ個あったとすると、それぞれのセンサーは、異なるｎ個の鍵を保有し、ｎ個のセンサーのうちどれかと共有鍵を用いた通信が可能な状態になっているため、たとえ、１つのセンサーが解析されてもすべての鍵が漏洩することはない。
【０００９】
（２）本発明は、（１）のセンサーネットワークシステムについて、前記初期処理手段が、共有する鍵の数が一定数以上になったときに、初期鍵を削除し、前記共有する鍵の数を前記一定数に保持する鍵数制御手段（例えば、図２の鍵数制御部１５０に相当）を備えたことを特徴とするセンサーネットワークシステムを提案している。
【００１０】
この発明によれば、鍵数制御手段は、共有する鍵の数が一定数以上になったときに、初期鍵を削除し、前記共有する鍵の数を前記一定数に保持する。これにより、例えば、ＲＦＩＤのようなセンサーを用いた場合であっても、保持する鍵の数を最低限とすることによりリソースを確保することができる。
【００１１】
（３）本発明は、（１）または（２）のセンサーネットワークシステムについて、前記１あるいは他のセンサーが、一定期間、前記共有する鍵Ｋ１を使用した場合には、同じ鍵Ｋ１が安全に共有されていると確認できているセンサー間において、現在共有している鍵Ｋ１により、鍵共有プロトコルを実行し、新たな鍵Ｋ２を生成し、鍵Ｋ１を鍵Ｋ２に更新する更新手段（例えば、図２の鍵更新部１７０に相当）を備えたことを特徴とするセンサーネットワークシステムを提案している。
【００１２】
この発明によれば、更新手段は、１あるいは他のセンサーが、一定期間、共有する鍵Ｋ１を使用した場合には、同じ鍵Ｋ１が安全に共有されていると確認できているセンサー間において、現在共有している鍵Ｋ１により、鍵共有プロトコルを実行し、新たな鍵Ｋ２を生成し、鍵Ｋ１を鍵Ｋ２に更新する。したがって、一定期間経過後に鍵の更新が行われるため、安全性を確保できる。また、現在共有している鍵Ｋ１により、鍵共有プロトコルを実行し、新たな鍵Ｋ２を生成し、鍵Ｋ１を鍵Ｋ２に更新するため、例えば、ＲＦＩＤのようなセンサーであっても、大きな計算負荷をかけることなく、鍵を更新することができる。
【００１３】
（４）本発明は、（１）から（３）のセンサーネットワークシステムについて、前記１あるいは他のセンサーが、鍵を共有するセンサーが危殆化、あるいは消滅、通信不能状態であることを検出する検出手段（例えば、図６の検出部３１０に相当）と、該鍵を共有する１あるいは他のセンサーが危殆化、あるいは消滅、通信不能状態であると検出したときに、共有している鍵を削除する共有鍵削除手段（例えば、図６の鍵削除部３２０に相当）と、を備えたことを特徴とするセンサーネットワークシステムを提案している。
【００１４】
この発明によれば、検出手段は、１あるいは他のセンサーが、鍵を共有するセンサーが危殆化、あるいは消滅、通信不能状態であることを検出する。共有鍵削除手段は、鍵を共有する１あるいは他のセンサーが危殆化、あるいは消滅、通信不能状態であると検出したときに、共有している鍵を削除する。すなわち、通信に使用できない不要な鍵を削除することにより、例えば、ＲＦＩＤのようなセンサーを用いた場合であっても、リソースを確保することができる。
【００１５】
（５）本発明は、（４）のセンサーネットワークシステムについて、鍵を削除した前記１あるいは他のセンサーが、鍵を共有している他のｎ−１個のセンサーの中から１つのセンサーを選択する選択手段（例えば、図６の選択部３３０に相当）と、該鍵を削除した１あるいは他のセンサーが所有しているｎ−１個の鍵のダイジェスト値を選択した前記センサーに送信するダイジェスト値送信手段（例えば、図６の通信部３４０に相当）と、を備え、該ダイジェスト値を受信した前記選択されたセンサーが、自身が管理する鍵のダイジェスト値を計算する計算手段（例えば、図７の演算部４２０に相当）と、前記受信した前記ダイジェスト値と異なるダイジェスト値を持つ鍵を抽出する鍵抽出手段（例えば、図７の鍵抽出部４３０に相当）と、該抽出した鍵を前記鍵を削除した１あるいは他のセンサーに送信する鍵送信手段（例えば、図７の送信部４５０に相当）と、を備えたことを特徴とするセンサーネットワークシステムを提案している。
【００１６】
この発明によれば、選択手段は、鍵を削除した１あるいは他のセンサーが、鍵を共有している他のｎ−１個のセンサーの中から１つのセンサーを選択する。ダイジェスト値送信手段は、鍵を削除した１あるいは他のセンサーが所有しているｎ−１個の鍵のダイジェスト値を選択したセンサーに送信する。計算手段は、ダイジェスト値を受信したセンサーが、自身が管理する鍵のダイジェスト値を計算する。鍵抽出手段は、受信したダイジェスト値と異なるダイジェスト値を持つ鍵を抽出する。鍵送信手段は、抽出した鍵を鍵の削除をした１あるいは他のセンサーに送信する。つまり、鍵を削除したセンサーを「Ａ」、ダイジェスト値を受信したセンサーを「Ｂ」、送られてきた鍵と異なるダイジェスト地を有する鍵をもつセンサーを「Ｃ」としたときに、上記の処理により、センサーＡがセンサーＢを介してセンサーＣと鍵を共有することになる。したがって、あるセンサーが危殆化、あるいは消滅、通信不能状態になっても、上記の処理を行うことにより、すべてのセンサーが一定数の鍵を保有することになる。
【００１７】
（６）本発明は、通信可能な１のセンサーと他のセンサーとを含む複数のセンサーからなるセンサーネットワークシステムにおける鍵管理方法であって、１のセンサーが、通信可能な他のセンサーに対して鍵共有を依頼し、該依頼を受けた他のセンサーの初期処理手段が、初期鍵を用いて鍵共有プロトコルを実行し、共有する新たな鍵Ｋ１を作成する第１のステップ（例えば、図４のステップＳ１０１に相当）と、前記他のセンサーの共有鍵送信手段が、作成された共有鍵を前記１のセンサーに送信する第２のステップ（例えば、図４のステップＳ１０２に相当）と、前記他のセンサーの暗号化手段が、前記鍵Ｋ１を用いて、メッセージの暗号化を行う第３のステップ（例えば、図４のステップＳ１０３に相当）と、前記他のセンサーの（例えば、図４のステップＳ１０４に相当）送信手段が、前記暗号化されたメッセージを前記１のセンサーに送信する第４のステップと、前記１のセンサーのメッセージ認証手段が、受信した前記鍵Ｋ１を用いて、メッセージの認証を行う第５のステップ（例えば、図４のステップＳ１０５に相当）と、前記１のセンサーの復号化手段が、前記鍵Ｋ１を用いて、認証したメッセージを復号する第６のステップ（例えば、図４のステップＳ１０６に相当）と、を備えたことを特徴とする鍵管理方法を提案している。
【００１８】
この発明によれば、１のセンサーが、通信可能な他のセンサーに対して鍵共有を依頼し、その依頼を受けた他のセンサーの初期処理手段が、初期鍵を用いて鍵共有プロトコルを実行し、共有する新たな鍵Ｋ１を作成する。他のセンサーの共有鍵送信手段が、作成された共有鍵を１のセンサーに送信する。他のセンサーの暗号化手段は、鍵Ｋ１を用いて、メッセージの暗号化を行う。他のセンサーの送信手段は、暗号化されたメッセージを１のセンサーに送信する。１のセンサーのメッセージ認証手段は、受信した鍵Ｋ１を用いて、メッセージの認証を行う。１のセンサーの復号化手段は、認証したメッセージ鍵Ｋ１を用いて、認証したメッセージを復号する。したがって、確率的に鍵を共有できる方式とし、方式を単純化したことから、例えば、ＲＦＩＤのような演算能力が脆弱なセンサーを用いた低コストのセンサーネットワークシステムを構築することができる。また、通信可能なセンサーがｎ個あったとすると、それぞれのセンサーは、異なるｎ個の鍵を保有し、ｎ個のセンサーのうちどれかと共有鍵を用いた通信が可能な状態になっているため、たとえ、１つのセンサーが解析されてもすべての鍵が漏洩することはない。
【００１９】
（７）本発明は、通信可能な１のセンサーと他のセンサーとを含む複数のセンサーからなるセンサーネットワークシステムにおける鍵管理方法であって、前記１あるいは他のセンサーの検出手段が、鍵を共有するセンサーが危殆化、あるいは消滅、通信不能状態であることを検出する第１のステップ（例えば、図８のステップＳ２０１に相当）と、該鍵を共有する１あるいは他のセンサーの共有鍵削除手段が危殆化、あるいは消滅、通信不能状態であると検出したときに、共有している鍵を削除する第２のステップ（例えば、図８のステップＳ２０２に相当）と、鍵を削除した前記１あるいは他のセンサーの選択手段が、鍵を共有している他のｎ−１個のセンサーの中から１つのセンサーを選択する第３のステップ（例えば、図８のステップＳ２０３に相当）と、鍵を削除した前記１あるいは他のセンサーのダイジェスト値送信手段が、所有しているｎ−１個の鍵のダイジェスト値を選択した前記センサーに送信する第４のステップ（例えば、図８のステップＳ２０４に相当）と、該ダイジェスト値を受信した前記センサーのダイジェスト値計算手段が、自身が管理する鍵のダイジェスト値を計算する第５のステップ（例えば、図８のステップＳ２０５に相当）と、該ダイジェスト値を受信した前記センサーの鍵抽出手段が、前記受信した前記ダイジェスト値と異なるダイジェスト値を持つ鍵を抽出する第６のステップ（例えば、図８のステップＳ２０６に相当）と、前記ダイジェスト値を受信した前記センサーの鍵送信手段が、該抽出した鍵を前記鍵を削除した１あるいは他のセンサーに送信する第７のステップ（例えば、図８のステップＳ２０７に相当）と、を備えたことを特徴とする鍵管理方法を提案している。
【００２０】
この発明によれば、１あるいは他のセンサーの検出手段は、鍵を共有するセンサーが危殆化、あるいは消滅、通信不能状態であることを検出する。鍵を共有する１あるいは他のセンサーの共有鍵削除手段は、危殆化、あるいは消滅、通信不能状態であると検出したときに、共有している鍵を削除する。鍵を削除した１あるいは他のセンサーの選択手段は、鍵を共有している他のｎ−１個のセンサーの中から１つのセンサーを選択する。鍵を削除した１あるいは他のセンサーのダイジェスト値送信手段は、所有しているｎ−１個の鍵のダイジェスト値を選択したセンサーに送信する。ダイジェスト値を受信したセンサーのダイジェスト値計算手段は、自身が管理する鍵のダイジェスト値を計算する。ダイジェスト値を受信したセンサーの鍵抽出手段が、受信したダイジェスト値と異なるダイジェスト値を持つ鍵を抽出する。ダイジェスト値を受信したセンサーの鍵送信手段は、抽出した鍵をこれを削除した１あるいは他のセンサーに送信する。したがって、確率的に鍵を共有できる方式とし、方式を単純化したことから、例えば、ＲＦＩＤのような演算能力が脆弱なセンサーを用いた低コストのセンサーネットワークシステムを構築することができる。また、通信可能なセンサーがｎ個あったとすると、それぞれのセンサーは、異なるｎ個の鍵を保有し、ｎ個のセンサーのうちどれかと共有鍵を用いた通信が可能な状態になっているため、たとえ、１つのセンサーが解析されてもすべての鍵が漏洩することはない。さらに、通信に使用できない不要な鍵を削除することにより、例えば、ＲＦＩＤのようなセンサーを用いた場合であっても、リソースを確保することができる。また、あるセンサーが危殆化、あるいは消滅、通信不能状態になっても、上記の処理を行うことにより、すべてのセンサーが一定数の鍵を保有することになる。
【００２１】
（８）本発明は、通信可能な１のセンサーと他のセンサーとを含む複数のセンサーからなるセンサーネットワークシステムにおける鍵管理方法をコンピュータに実行させるためのプログラムであって、１のセンサーが、通信可能な他のセンサーに対して鍵共有を依頼し、該依頼を受けた他のセンサーの初期処理手段が、初期鍵を用いて鍵共有プロトコルを実行し、共有する新たな鍵Ｋ１を作成する第１のステップ（例えば、図４のステップＳ１０１に相当）と、前記他のセンサーの共有鍵送信手段が、作成された共有鍵を前記１のセンサーに送信する第２のステップ（例えば、図４のステップＳ１０２に相当）と、前記他のセンサーの暗号化手段が、前記鍵Ｋ１を用いて、メッセージの暗号化を行う第３のステップ（例えば、図４のステップＳ１０３に相当）と、前記他のセンサーの（例えば、図４のステップＳ１０４に相当）送信手段が、前記暗号化されたメッセージを前記１のセンサーに送信する第４のステップと、前記１のセンサーのメッセージ認証手段が、受信した前記鍵Ｋ１を用いて、メッセージの認証を行う第５のステップ（例えば、図４のステップＳ１０５に相当）と、前記１のセンサーの復号化手段が、前記鍵Ｋ１を用いて、認証したメッセージを復号する第６のステップ（例えば、図４のステップＳ１０６に相当）と、をコンピュータに実行させるためのプログラムを提案している。
【００２２】
この発明によれば、１のセンサーが、通信可能な他のセンサーに対して鍵共有を依頼し、その依頼を受けた他のセンサーの初期処理手段が、初期鍵を用いて鍵共有プロトコルを実行し、共有する新たな鍵Ｋ１を作成する。他のセンサーの共有鍵送信手段が、作成された共有鍵を１のセンサーに送信する。他のセンサーの暗号化手段は、鍵Ｋ１を用いて、メッセージの暗号化を行う。他のセンサーの送信手段は、暗号化されたメッセージを１のセンサーに送信する。１のセンサーのメッセージ認証手段は、受信した鍵Ｋ１を用いて、メッセージの認証を行う。１のセンサーの復号化手段は、認証したメッセージ鍵Ｋ１を用いて、認証したメッセージを復号する。したがって、確率的に鍵を共有できる方式とし、方式を単純化したことから、例えば、ＲＦＩＤのような演算能力が脆弱なセンサーを用いた低コストのセンサーネットワークシステムを構築することができる。また、通信可能なセンサーがｎ個あったとすると、それぞれのセンサーは、異なるｎ個の鍵を保有し、ｎ個のセンサーのうちどれかと共有鍵を用いた通信が可能な状態になっているため、たとえ、１つのセンサーが解析されてもすべての鍵が漏洩することはない。
【００２３】
（９）本発明は、通信可能な１のセンサーと他のセンサーとを含む複数のセンサーからなるセンサーネットワークシステムにおける鍵管理方法をコンピュータに実行させるためのプログラムであって、前記１あるいは他のセンサーの検出手段が、鍵を共有するセンサーが危殆化、あるいは消滅、通信不能状態であることを検出する第１のステップ（例えば、図８のステップＳ２０１に相当）と、該鍵を共有する１あるいは他のセンサーの共有鍵削除手段が危殆化、あるいは消滅、通信不能状態であると検出したときに、共有している鍵を削除する第２のステップ（例えば、図８のステップＳ２０２に相当）と、鍵を削除した前記１あるいは他のセンサーの選択手段が、鍵を共有している他のｎ−１個のセンサーの中から１つのセンサーを選択する第３のステップ（例えば、図８のステップＳ２０３に相当）と、鍵を削除した前記１あるいは他のセンサーのダイジェスト値送信手段が、所有しているｎ−１個の鍵のダイジェスト値を選択した前記センサーに送信する第４のステップ（例えば、図８のステップＳ２０４に相当）と、該ダイジェスト値を受信した前記センサーのダイジェスト値計算手段が、自身が管理する鍵のダイジェスト値を計算する第５のステップ（例えば、図８のステップＳ２０５に相当）と、該ダイジェスト値を受信した前記センサーの鍵抽出手段が、前記受信した前記ダイジェスト値と異なるダイジェスト値を持つ鍵を抽出する第６のステップ（例えば、図８のステップＳ２０６に相当）と、前記ダイジェスト値を受信した前記センサーの鍵送信手段が、該抽出した鍵を前記鍵を削除した１あるいは他のセンサーに送信する第７のステップ（例えば、図８のステップＳ２０７に相当）と、をコンピュータに実行させるためのプログラムを提案している。
【００２４】
この発明によれば、１あるいは他のセンサーの検出手段は、鍵を共有するセンサーが危殆化、あるいは消滅、通信不能状態であることを検出する。鍵を共有する１あるいは他のセンサーの共有鍵削除手段は、危殆化、あるいは消滅、通信不能状態であると検出したときに、共有している鍵を削除する。鍵を削除した１あるいは他のセンサーの選択手段は、鍵を共有している他のｎ−１個のセンサーの中から１つのセンサーを選択する。鍵を削除した１あるいは他のセンサーのダイジェスト値送信手段は、所有しているｎ−１個の鍵のダイジェスト値を選択したセンサーに送信する。ダイジェスト値を受信したセンサーのダイジェスト値計算手段は、自身が管理する鍵のダイジェスト値を計算する。ダイジェスト値を受信したセンサーの鍵抽出手段が、受信したダイジェスト値と異なるダイジェスト値を持つ鍵を抽出する。ダイジェスト値を受信したセンサーの鍵送信手段は、抽出した鍵をこれを削除した１あるいは他のセンサーに送信する。したがって、確率的に鍵を共有できる方式とし、方式を単純化したことから、例えば、ＲＦＩＤのような演算能力が脆弱なセンサーを用いた低コストのセンサーネットワークシステムを構築することができる。また、通信可能なセンサーがｎ個あったとすると、それぞれのセンサーは、異なるｎ個の鍵を保有し、ｎ個のセンサーのうちどれかと共有鍵を用いた通信が可能な状態になっているため、たとえ、１つのセンサーが解析されてもすべての鍵が漏洩することはない。さらに、通信に使用できない不要な鍵を削除することにより、例えば、ＲＦＩＤのようなセンサーを用いた場合であっても、リソースを確保することができる。また、あるセンサーが危殆化、あるいは消滅、通信不能状態になっても、上記の処理を行うことにより、すべてのセンサーが一定数の鍵を保有することになる。
【発明の効果】
【００２５】
本発明によれば、例えば、ＲＦＩＤのような演算能力や記憶容量が脆弱なセンサーからなるセンサーネットワークにおいても、低コストかつ安全なセンサーネットワークが構築できるという効果がある。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態に係るセンサーネットワークシステムの概要を示す図である。
【図２】本発明の第１の実施形態に係る、例えば図１のセンサーＢの構成を示す図である。
【図３】本発明の第１の実施形態に係る、例えば図１のセンサーＡの構成を示す図である。
【図４】本発明の第１の実施形態に係るセンサーネットワークシステムの処理を示す図である。
【図５】本発明の第２の実施形態に係るセンサーネットワークシステムの概要を示す図である。
【図６】本発明の第２の実施形態に係る、例えば図５のセンサーＢの構成を示す図である。
【図７】本発明の第２の実施形態に係る、例えば図５のセンサーＣの構成を示す図である。
【図８】本発明の第２の実施形態に係るセンサーネットワークシステムの処理を示す図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００２８】
＜第１の実施形態＞
図１から図４を用いて、本実施形態に係るセンサーネットワークシステムについて説明する。
【００２９】
＜センサーネットワークシステムの構成＞
図１は、センサーＡを中心とした本実施形態に係るセンサーネットワークシステムの概略図である。図１において、点線部は、センサーＡの通信可能エリアを示している。本実施形態では、センサーＡを基準に説明する。センサーＡと通信可能な位置にあるセンサー（図１では、センサーＢ、センサーＣ、センサーＤ、センサーＥ）と互いに鍵を共有している。一方で、通信可能エリア外に位置するセンサー（図１のセンサーＦ、センサーＧ）とは、鍵の共有はしていないが、例えば、センサーＧがセンサーＥの通信可能エリアに位置すれば、センサーＧとセンサーＥとは互いに鍵を共有することなり、センサーＡとセンサーＧとは、センサーＥを介してネットワークを形成していることになる。以下、理解を容易にするために、センサーＡとセンサーＢとの関係に着目して、説明を行う。
【００３０】
＜センサーＢの構成＞
図２を用いて、本実施形態に係るセンサーＢについて説明する。
本実施形態に係るセンサーＢは、図２に示すように、鍵共有依頼受信部１１０と、初期処理部１２０と、暗号化部１３０と、通信部１４０と、鍵数制御部１５０と、鍵データベース１６０と、鍵更新部１７０とから構成されている。
【００３１】
鍵共有依頼受信部１１０は、センサーＡからの鍵共有の依頼を受信する。初期処理部１２０は、鍵共有依頼受信部１１０がセンサーＡからの鍵共有の依頼を受信すると、初期鍵を用いて鍵共有プロトコルを実行し、共有する新たな鍵Ｋ１を作成する。そして、作成した共有鍵Ｋ１をセンサーＡに送信することにより、センサーＡとセンサーＢ間において鍵の共有を行う。なお、共有している鍵が一定数に達すると、鍵共有処理を終了し、初期鍵を削除する。また、通信を行なう際には、鍵のダイジェスト値（ハッシュ値）を送付して、使用する鍵を明示的に通知しても良い。さらに、初期鍵は、例えば、部分的に共有するなどすれば、系全体で１つでなくても良い。
【００３２】
暗号化部１３０は、初期処理部１２０において生成された共有鍵Ｋ１を用いてメッセージを暗号化する。通信部１４０は、初期処理部１２０において生成された共有鍵Ｋ１や暗号化部１３０において暗号化されたメッセージをセンサーＡに送信する。また、鍵共有を行う他のセンサーとの共有鍵や暗号化されたメッセージを受信する。なお、受信した暗号化されたメッセージは、図示しないメッセージ認証手段において、認証を行ったのち、復号化手段により復号化される。
【００３３】
鍵数制御部１５０は、鍵データベースを監視し、共有する鍵の数が所定数になるように管理する。鍵データベース１６０は、センサー情報、共有する鍵等の情報を関連付けて格納する。鍵更新部１７０は、一定期間、共有する鍵を使用した場合には、同じ鍵が安全に共有されていると確認できているセンサー間において、現在共有している鍵Ｋ１により、鍵共有プロトコルを実行し、新たな鍵Ｋ２を生成し、鍵Ｋ１を鍵Ｋ２に更新する。なお、本発明においては、発明の理解を容易にするために、センサーＡとセンサーＢとの機能を分けて説明したが、本来のセンサーは、すべて同じ構成からなるものである。
【００３４】
＜センサーＡの構成＞
図３を用いて、本実施形態に係るセンサーＡについて説明する。
本実施形態に係るセンサーＡは、図３に示すように、受信部２１０と、メッセージ認証部２２０と、鍵データベース２３０と、復号化部２４０とから構成されている。
【００３５】
受信部２１０は、センサーＢから共有鍵Ｋ１や暗号化されたメッセージを受信する。メッセージ認証部２２０は、受信したメッセージの認証を行う。鍵データベース２３０は、受信先のセンサー情報、共有する鍵等の情報を関連付けて格納する。復号化部２４０は、鍵データベース２３０に格納されている鍵を用いて、暗号化されたメッセージを復号化する。なお、上記と同様に、本発明においては、発明の理解を容易にするために、センサーＡとセンサーＢとの機能を分けて説明したが、本来のセンサーは、すべて同じ構成からなるものである。
【００３６】
＜センサーネットワークシステムの処理＞
図４を用いて、本実施形態に係るセンサーネットワークシステムの処理について説明する。
まず、センサーＡが、通信可能なセンサーＢに対して鍵共有を依頼し、その依頼を受けたセンサーＢの初期処理部１２０が、初期鍵を用いて鍵共有プロトコルを実行し、共有する新たな鍵Ｋ１を作成する（ステップＳ１０１）。そして、センサーＢの通信部１４０が、作成された共有鍵をセンサーＡに送信する（ステップＳ１０２）。
【００３７】
センサーＢの暗号化手段は、鍵Ｋ１を用いて、メッセージの暗号化し（ステップＳ１０３）、送信手段は、暗号化されたメッセージをセンサーＡに送信する（ステップＳ１０４）。センサーＡのメッセージ認証手段は、受信した鍵Ｋ１を用いて、メッセージの認証を行い（ステップＳ１０５）、復号化手段は、鍵Ｋ１を用いて、認証したメッセージを復号する（ステップＳ１０６）。
【００３８】
以上、説明したように、本実施形態によれば、確率的に鍵を共有できる方式とし、方式を単純化したことから、例えば、ＲＦＩＤのような演算能力が脆弱なセンサーを用いた低コストのセンサーネットワークシステムを構築することができる。また、通信可能なセンサーがｎ個あったとすると、それぞれのセンサーは、異なるｎ個の鍵を保有し、ｎ個のセンサーのうちどれかと共有鍵を用いた通信が可能な状態になっているため、たとえ、１つのセンサーが解析されてもすべての鍵が漏洩することはない。
【００３９】
＜第２の実施形態＞
図５から図９を用いて、本実施形態に係るセンサーネットワークシステムについて説明する。
【００４０】
＜センサーネットワークシステムの構成＞
図５は、センサーＡを中心とした本実施形態に係るセンサーネットワークシステムの概略図である。図５において、点線部は、センサーＡの通信可能エリアを示している。本実施形態では、センサーＡを基準に説明する。センサーＡと通信可能な位置にあるセンサー（図１では、センサーＢ、センサーＣ、センサーＤ、センサーＥ）と互いに鍵を共有している。一方で、通信可能エリア外に位置するセンサー（図１のセンサーＦ、センサーＧ）とは、鍵の共有はしていないが、例えば、センサーＧがセンサーＥの通信可能エリアに位置すれば、センサーＧとセンサーＥとは互いに鍵を共有することなり、センサーＡとセンサーＧとは、センサーＥを介してネットワークを形成していることになる。以下、理解を容易にするために、センサーＡとセンサーＢ、センサーＣおよびセンサーＤとの関係に着目して、説明を行う。なお、第１の実施形態においては、通常状態でのセンサーネットワークシステムの動作について、説明したが、本実施形態においては、鍵を共有しているセンサー（例えば、図５のセンサーＤ）が危殆化、あるいは消滅、通信不能状態である場合の動作について説明する。
【００４１】
＜センサーＡの構成＞
図６を用いて、本実施形態に係るセンサーＡについて説明する。
本実施形態に係るセンサーＡは、図６に示すように、鍵共有依頼受信部１１０と、初期処理部１２０と、暗号化部１３０と、通信部３４０と、鍵数制御部１５０と、鍵データベース１６０と、鍵更新部１７０と、検出部３１０と、鍵削除部３２０と、選択部３３０とから構成されている。なお、第１の実施形態と同一の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は省略する。
【００４２】
検出部３１０は、例えば、図５のセンサーＡが、鍵を共有する、例えば、センサーＤの危殆化、あるいは消滅、通信不能状態であることを検出する。なお、検出の方法としては、ネットワーク全体を管理するサーバ等を用いることも考えられるが、本実施形態では、厳密にセンサーの状態を峻別できなくても、一定時間、通信ができない場合には、危殆化、あるいは消滅、通信不能状態等であると判断し、処理を行うようにしてもよい。鍵削除部３２０は、例えば、図５のセンサーＤが、危殆化、あるいは消滅、通信不能状態であると検出したときに、共有している鍵を削除する。
【００４３】
選択部３３０は、鍵を共有している他のｎ−１個のセンサーの中から１つのセンサーを選択する。選択の方法は、無作為な抽出でもよいし、予めルールを決めて実行してもよい。通信部３４０は、第１の実施形態において、説明した機能とは別に、鍵を削除した、例えば、図５のセンサーＡが所有しているｎ−１個の鍵のダイジェスト値を選択した、例えば、センサーＢに送信する。
【００４４】
＜センサーＢの構成＞
図７を用いて、本実施形態に係るセンサーＢについて説明する。
本実施形態に係るセンサーＢは、図７に示すように、受信部４１０と、演算部４２０と、鍵抽出部４３０と、鍵データベース４４０と、送信部４５０とから構成されている。
【００４５】
受信部４１０は、例えば、図５のセンサーＡの通信部３４０から、センサーＡが所有しているｎ−１個の鍵のダイジェスト値を受信する。演算部４２０は、センサーＢ自身が管理する鍵のダイジェスト値を計算する。なお、鍵は、後述する鍵データベース４４０に格納されている。
【００４６】
鍵抽出部４３０は、受信したダイジェスト値と異なるダイジェスト値を持つ鍵を抽出する。鍵データベース４４０には、センサーの属性情報や鍵の情報が関連付けられて格納されており、鍵抽出部４３０は、鍵データベース４４０を検索して、受信したダイジェスト値と異なるダイジェスト値を持つ鍵を抽出することにより、センサー（例えば、図５のセンサーＣ）を特定する。送信部４５０は、抽出した鍵を例えば、図５のセンサーＡに送信する。これにより、センサーＡは、削除した鍵を補充できるとともに、センサーＢを仲介してセンサーＣと鍵の共有を行うことができる。
【００４７】
＜センサーネットワークシステムの処理＞
図８を用いて、本実施形態に係るセンサーネットワークシステムの処理について説明する。なお、以下では、例えば、図５のセンサーＤが危殆化、あるいは消滅、通信不能状態等である場合に、鍵の共有をしているセンサーＡにおける鍵の管理方法に特化して説明するが、これは、第１の実施形態に示した機能を有することが前提であることはいうまでもない。
【００４８】
まず、センサーＡの検出部３１０、鍵を共有するセンサーＤが危殆化、あるいは消滅、通信不能状態であることを検出する（ステップＳ２０１）。センサーＡの鍵削除部３２０は、センサーＤが危殆化、あるいは消滅、通信不能状態であると検出したときに、共有している鍵を削除する（ステップＳ２０２）。
【００４９】
センサーＡの選択部３３０は、鍵を共有している他のｎ−１個のセンサーの中から１つのセンサーＢを選択する（ステップＳ２０３）。また、センサーＡの通信部３４０は、所有しているｎ−１個の鍵のダイジェスト値を選択したセンサーＢに送信する（ステップＳ２０４）。
【００５０】
ダイジェスト値を受信したセンサーＢの演算部４２０は、自身が管理する鍵のダイジェスト値を計算する（ステップＳ２０５）。センサーＢの鍵抽出部４３０は、受信したダイジェスト値と異なるダイジェスト値を持つ鍵を鍵データベース４４０から抽出する（ステップＳ２０６）。そして、センサーＢの送信部４５０は、抽出した鍵をセンサーＡに送信する（ステップＳ２０７）。
【００５１】
以上、説明したように、本実施形態によれば、確率的に鍵を共有できる方式とし、方式を単純化したことから、例えば、ＲＦＩＤのような演算能力が脆弱なセンサーを用いた低コストのセンサーネットワークシステムを構築することができる。また、通信可能なセンサーがｎ個あったとすると、それぞれのセンサーは、異なるｎ個の鍵を保有し、ｎ個のセンサーのうちどれかと共有鍵を用いた通信が可能な状態になっているため、たとえ、１つのセンサーが解析されてもすべての鍵が漏洩することはない。さらに、通信に使用できない不要な鍵を削除することにより、例えば、ＲＦＩＤのようなセンサーを用いた場合であっても、リソースを確保することができる。また、あるセンサーが危殆化、あるいは消滅、通信不能状態になっても、上記の処理を行うことにより、すべてのセンサーが一定数の鍵を保有することになる。
【００５２】
なお、センサーネットワークシステムの処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを各センサーに読み込ませ、実行することによって本発明のセンサーネットワークシステムを実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺装置等のハードウェアを含む。
【００５３】
また、「コンピュータシステム」は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００５４】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５５】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００５６】
１１０；鍵共有依頼受信部
１２０；初期処理部
１３０；暗号化部
１４０；通信部
１５０；鍵数制御部
１６０；鍵データベース
１７０；鍵更新部
２１０；受信部
２２０；メッセージ認証部
２３０；鍵データベース
２４０；復号化部
３１０；検出部
３２０；鍵削除部
３３０；選択部
３４０；通信部
４１０；受信部
４２０；演算部
４３０；鍵抽出部
４４０；鍵データベース
４５０；送信部
【図１】
0005770616.tif 000002
【図２】
0005770616.tif 000003
【図３】
0005770616.tif 000004
【図４】
0005770616.tif 000005
【図５】
0005770616.tif 000006
【図６】
0005770616.tif 000007
【図７】
0005770616.tif 000008
【図８】
0005770616.tif 000009