(57)【要約】  【課題】  二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態に、若しくは三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態に、簡易に移行可能な鍵共有方式を提供すること。  【解決手段】  三つのデバイスＡ、Ｂ、Ｃ間で鍵共有を行うことができる公開鍵暗号方式において、二つのデバイスとダミーデバイスとからなる三つのデバイス間での鍵共有が可能な条件下で、二つのデバイス間での鍵共有状態を形成しておき、ダミーデバイスを第三のデバイスに置き換えることによって、二つのデバイス間から三つのデバイス間へ鍵共有状態を移行する方法、及び、前記デバイスのうちの一つをダミーデバイスに置き換えることにより、三つのデバイス間から二つのデバイス間へ鍵共有状態を移行する方法を提供する。なお、図３中、ＫＡＢＣ、ＫＡＢはデバイス間の共通鍵、ｒＡＰ、ｒＢＰ、ｒＣＰは各デバイスの公開鍵である。  【選択図】  図３
2006135840.tif 000002
【特許請求の範囲】
【請求項１】
三つのデバイス間で鍵共有を行うことができる公開鍵暗号方式において、
二つのデバイスとダミーデバイスとからなる三つのデバイス間での鍵共有が可能な条件下で、二つのデバイス間での鍵共有状態を形成しておき、
前記ダミーデバイスを新たに加わる第三のデバイスに置き換えることによって、二つのデバイス間から三つのデバイス間へ鍵共有状態を移行する方法。
【請求項２】
三つのデバイス間で鍵共有を行うことができる公開鍵暗号方式において、
三つのデバイス間での鍵共有状態を予め形成した後、
前記デバイスのうちの一つをダミーデバイスに置き換えることにより、三つのデバイス間から二つのデバイス間へ鍵共有状態を移行する方法。
【請求項３】
前記ダミーデバイスの模擬公開鍵を、秘密鍵の代わりとなるランダム値と、秘密鍵から公開鍵を生成する際に用いられるパラメータと、から計算することにより得ることを特徴とする請求項１記載の方法。
【請求項４】
前記ダミーデバイスの模擬公開鍵を、秘密鍵の代わりとなるランダム値と、秘密鍵から公開鍵を生成する際に用いられるパラメータと、から計算することにより得ることを特徴とする請求項２記載の方法。
【請求項５】
前記鍵共有方式は、ｂｉｌｉｎｅａｒ  ｍａｐを用いたものであることを特徴とする請求項１記載の方法。
【請求項６】
前記鍵共有方式は、ｂｉｌｉｎｅａｒ  ｍａｐを用いたものであることを特徴とする請求項２記載の方法。
【請求項７】
三つのデバイス間で鍵共有を行うことができる公開鍵暗号方式を適用できるシステムであって、
（１）いずれか一つのデバイスの秘密鍵と他の二つのデバイスの公開鍵、
（２）一のデバイスの秘密鍵と他のデバイスの公開鍵とダミーデバイスの模擬公開鍵、
以上（１）、（２）のいずれかから、デバイス間の共通鍵を求めるプログラムが格納されたメイン記憶部と、
前記プログラムを解釈するコントローラと、
前記プログラムを実行する演算ユニットと、
他のデバイスと通信を行う通信インターフェースと、
前記共通鍵を格納するセキュア記憶部と、
を少なくとも備えており、二つのデバイス間から三つのデバイス間へ、若しくは三つのデバイス間から二つのデバイス間へ鍵共有状態を移行できるシステム。
【請求項８】
二つのデバイスＡ、Ｂ間から三つのデバイスＡ、Ｂ、Ｃ間へ鍵共有状態を移行する手順に係わる以下のステップであって、
二つのデバイスＡ、Ｂ間で鍵共有を行う際に、デバイスＡの公開鍵をデバイスＢへ送信するステップと、
デバイスＢから公開鍵を受信するステップと、
デバイスＡの秘密鍵と、デバイスＢの公開鍵と、ダミーデバイスＣ’の模擬公開鍵と、から共通鍵を生成するステップと、
新たに加わる第三のデバイスＣから公開鍵を受信するステップと、
新たに加わる第三のデバイスＣにデバイスＡの公開鍵を送信するステップと、
デバイスＡの秘密鍵とデバイスＢ、Ｃの公開鍵から、三つのデバイスＡ、Ｂ、Ｃ間の共通鍵を生成するステップと、
に係わるプログラムが格納された情報記憶媒体。
【請求項９】
三つのデバイスＡ、Ｂ、Ｃ間から二つのデバイスＡ、Ｂ間へ鍵共有状態を移行する手順に係わる以下のステップであって、
二つのデバイスＢ、ＣにデバイスＡの公開鍵を送信するステップと、
デバイスＢ、Ｃから公開鍵を受信するステップと、
デバイスＡの秘密鍵とデバイスＢ、Ｃの公開鍵から、三つのデバイスＡ、Ｂ、Ｃ間の共通鍵を生成するステップと、
デバイスＢの公開鍵とデバイスＡの秘密鍵に基づいて、二つのデバイスＡ、Ｂ間の共通鍵を新たに生成するステップと、
に係わるプログラムが格納された情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークにおける鍵共有技術に関する。より詳細には、二つのデバイス間から三つのデバイス間へ、若しくは三つのデバイス間から二つのデバイス間へ鍵共有状態を移行する方法及びシステム、並びに、二つのデバイス間から三つのデバイス間へ、若しくは三つのデバイス間から二つのデバイス間へ鍵共有状態を移行するプログラムを実行可能な情報記憶媒体に関する。
【背景技術】
【０００２】
現在、ユーザー間の通信ネットワークにおけるセキュリティー手段として、通信の暗号化が広く用いられている。通信の暗号化方式として広く採用されているのは、共通鍵暗号方式と公開鍵暗号方式である。
【０００３】
「共通鍵暗号方式」は、暗号化と復号化に同じ鍵を用いる暗号方式であり、暗号文の送信者と受信者で同じ鍵を共有する。この方式は、暗号化／復号化の速度が速いため通信負荷が軽いという利点がある一方、共通の鍵を共有するために、予め安全な経路を使って相手方に共通鍵を送信する必要があるという欠点がある。また、共通鍵が盗用されると、暗号情報が自由に復号化されてしまうなどの問題がある。
【０００４】
一方、「公開鍵暗号方式」は、送信者が、受信者側の「公開鍵」を用いて送信情報を暗号化し、受信者は、自らの「秘密鍵」を用いて受信した暗号情報を復号化する方式である。この方式は、暗号鍵と復号鍵が異なるため、暗号化／復号化の速度が遅いという欠点や、公開鍵を用いると誰でも暗号化できるため、第三者が送信者になりすますことが可能などの欠点がある。一方、この方式は、暗号化に用いる鍵を公開するため（公開鍵）、鍵を秘密送信しなくても暗号鍵を共有できる（あらかじめ安全な経路を使って鍵を渡しておく必要がない）という利点がある。そのため、鍵の管理が容易であり、また、対多数者の通信に向いている。
【０００５】
また、公開鍵暗号技術を用いた鍵共有方式として、「ＤＨ方式（Diffie-Hellman方式）」と「ＪＯＵＸ方式」が提案されている。ＤＨ方式は、二つのデバイス間の鍵共有方式であり（非特許文献１参照）、ＪＯＵＸ方式は、三つのデバイス間の鍵共有方式である（非特許文献２参照）。
【０００６】
前記の通り、共通鍵暗号方式の場合、送信者側と受信者側で共通の鍵を共有できるが、共通の鍵を共有するために、予め安全な経路を使って相手方に共通鍵を送信する必要があるという欠点がある。それに対し、公開鍵暗号技術を用いた鍵共有方式の場合、予め相手方に鍵を送信しなくても、公開鍵と秘密鍵を用いて、復号化に用いる鍵を共有できるという利点がある。
【０００７】
特許文献１から特許文献４は、通信の暗号化技術に関する先行文献である。非特許文献１にはＤＨ方式について、非特許文献２にはＪＯＵＸ方式について、それぞれ記載されている。非特許文献３には、本発明と関連のある事項である「Ｂｉｌｉｎｅａｒ  ｍａｐ」について、記載されている。
【特許文献１】特開平４−３４７９４９号公報
【特許文献２】特開２００２−１６４８７７号公報
【特許文献３】特開平１１−１６３８５０号公報
【特許文献４】特開平５−１２２２１５号公報
【非特許文献１】「現代暗号」、産業図書、岡本龍明、山本博資著、１９９７
【非特許文献２】“A One Round Protocol for Tripartite Diffie-Hellman”（この文献は、Springer社から刊行されている「Lecture Note in Computer Science」シリーズ１８３８巻、“Proceedings of The 4thAlgorithmic Number Theory Symposium(ANTS4)”に掲載されている。）
【非特許文献３】D.Boneh, M. Franklin, “Identity-Based Encryption from the Weil Pairing”（この文献は、Springer-Verlag社から出版されている “Proceedings of Crypto ‘2001, Lecture Notes in Computer Science,Vol.2139,pp.213-229,2001”に掲載されている。）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ＤＨ方式は、公開鍵暗号技術を用いた鍵共有方式として、二つのデバイス間の鍵共有を行うことができるが、三つのデバイス間の鍵共有には、そのままでは用いることができないという問題があった。一方、ＪＯＵＸ方式は、公開鍵暗号技術を応用した鍵共有方式として、三つのデバイス間の鍵共有を行うことができるが、二つのデバイス間の鍵共有には、そのままでは用いることができないという問題があった。
【０００９】
従って、二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態に移行したい場合（第三のユーザーとも鍵共有を行う必要が生じた場合）や、三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態に移行したい場合（三つのデバイスの中の一つとの鍵共有状態を解除したい場合）には、採用していた鍵共有方式自体を変更し、鍵共有システムを構築しなおす必要があった。
【００１０】
そこで、本発明は、二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態に、若しくは三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態に、簡易に移行可能な鍵共有方式を提供することを主な目的とする。
【課題を解決するための手段】
【００１１】
まず、三つのデバイス間で鍵共有を行うことができる公開鍵暗号方式において、二つのデバイスとダミーデバイスとからなる三つのデバイス間での鍵共有が可能な条件下で、二つのデバイス間での鍵共有状態を形成しておき、ダミーデバイスを新たに加わる第三のデバイスに置き換えることによって、二つのデバイス間から三つのデバイス間へ鍵共有状態を移行する方法を提供する。
【００１２】
また、三つのデバイス間で鍵共有を行うことができる公開鍵暗号方式において、三つのデバイス間での鍵共有状態を予め形成した後、前記デバイスのうちの一つをダミーデバイスに置き換えることにより、三つのデバイス間から二つのデバイス間へ鍵共有状態を移行する方法を提供する。
【００１３】
ここで、ダミーデバイスとは、三つのデバイス間で鍵共有を行うことができる公開鍵暗号方式に基づいた鍵共有方式において、二つのデバイスが実在する場合に、第三のデバイスの代わりに存在させる架空のデバイスをいう。第三のデバイスが実在しなくても、第三のデバイスの公開鍵の代わりにダミーデバイスの公開鍵（模擬公開鍵）を用いることにより、二つのデバイス間での鍵共有状態を形成することができる。
【００１４】
なお、ダミーデバイスの模擬公開鍵は、秘密鍵の代わりとなるランダム値と、秘密鍵から公開鍵を生成する際に用いられるパラメータと、から計算することにより得ることができる。
【００１５】
本発明は、三つのデバイス間で行うことができる公開鍵暗号方式であれば適用可能である。例えば、ｂｉｌｉｎｅａｒ  ｍａｐを用いた鍵共有方式を用いることができる。
【００１６】
本発明に係る方法を用いることにより、システム変更や設定変更を行わずに、二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態に、若しくは三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態に、簡易に移行させることができる。
【００１７】
次に、本発明では、三つのデバイス間で鍵共有を行うことができる公開鍵暗号方式を適用できるシステムであって、
（１）いずれか一つのデバイスの秘密鍵と他の二つのデバイスの公開鍵、
（２）一のデバイスの秘密鍵と他のデバイスの公開鍵とダミーデバイスの模擬公開鍵、
以上（１）、（２）のいずれかから、デバイス間の共通鍵を求めるプログラムが格納されたメイン記憶部と、
前記プログラムを解釈するコントローラと、
前記プログラムを実行する演算ユニットと、
他のデバイスと通信を行う通信インターフェースと、
前記共通鍵を格納するセキュア記憶部と、
を少なくとも備えており、二つのデバイス間から三つのデバイス間へ、若しくは三つのデバイス間から二つのデバイス間へ鍵共有状態を自在に移行できるシステムを提供する。
【００１８】
本発明に係るシステムは、第三のデバイスの公開鍵、若しくはダミーデバイスの模擬公開鍵から、デバイス間の共通鍵を求めるプログラムが格納されているため、システム変更や設定変更を行わずに、二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態に、若しくは三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態に、簡易に移行させることができる。
【００１９】
次に、本発明では、二つのデバイスＡ、Ｂ間から三つのデバイスＡ、Ｂ、Ｃ間へ鍵共有状態を移行する手順に係わる以下のステップであって、
二つのデバイスＡ、Ｂ間で鍵共有を行う際に、デバイスＡの公開鍵を他方のデバイスＢへ送信するステップと、
他方のデバイスＢから公開鍵を受信するステップと、
デバイスＡの秘密鍵と、他方のデバイスＢの公開鍵と、ダミーデバイスＣ’の模擬公開鍵と、から共通鍵を生成するステップと、
新たに加わる第三のデバイスＣから公開鍵を受信するステップと、
新たに加わる第三のデバイスＣにデバイスＡの公開鍵を送信するステップと、
デバイスＡの秘密鍵と他の二つのデバイスＡ、Ｂの公開鍵から、三つのデバイスＡ、Ｂ、Ｃ間の共通鍵を生成するステップと、
に係わるプログラムが格納された情報記憶媒体を提供する。
【００２０】
また、三つのデバイスＡ、Ｂ、Ｃ間から二つのデバイスＡ、Ｂ間へ鍵共有状態を移行する手順に係わる以下のステップであって、
二つのデバイスＢ、ＣにデバイスＡの公開鍵を送信するステップと、
デバイスＢ、Ｃから公開鍵を受信するステップと、
デバイスＡの秘密鍵とデバイスＢ、Ｃの公開鍵から、三つのデバイスＡ、Ｂ、Ｃ間の共通鍵を生成するステップと、
デバイスＢの公開鍵とデバイスＡの秘密鍵に基づいて、二つのデバイスＡ、Ｂ間の共通鍵を新たに生成するステップと、
に係わるプログラムが格納された情報記憶媒体を提供する。
【００２１】
即ち、二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態への移行、及び、三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態への移行は、コンピュータにより自動演算化することができる。なお、本発明において、どのデバイスをそれぞれＡ、Ｂ、Ｃに設定するかは、任意である。
【発明の効果】
【００２２】
本発明に係る鍵共有方式を採用することにより、二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態に、若しくは三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態に、簡易に移行させることができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明を実施するための好適な形態について、添付図面を参照にしながら説明する。
【００２４】
図１は、本発明を適用可能な鍵共有ネットワークの構成の一例を示す図である。図１における鍵共有ネットワークは、鍵を共有するデバイスＡ、Ｂ、Ｃと、前記各デバイスＡ〜Ｃと接続するセンターとから構成されている。
【００２５】
二つのデバイス間で鍵共有を行う場合は、例えば、デバイスＡとＢで鍵の共有を行う（符号１１）。三つのデバイス間で鍵共有を行う場合は、例えば、デバイスＡ、Ｂ、Ｃの三者間で鍵の共有を行う（符号１１、１２、１３）。なお、二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態に移行させる方法、及び、三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態に移行させる方法については、後述する。
【００２６】
センターは、複数のデバイス（例えば、デバイスＡ、Ｂ、Ｃ）と通信インターフェース（符号１４、１５、１６）を介して接続し、後述するセットアップ処理の際に、公開鍵暗号技術を用いた鍵共有方式に関する公開情報を公開する機能を受け持つ。従って、セキュリティーの観点から、センターは、信頼性が担保されているものであることが好ましい。
【００２７】
なお、センターは、セットアップ処理の際にのみ必要であり、セットアップ処理終了後は特に必要としない。また、センターは、いずれかのデバイスが兼ねることも可能である。その他、図１では、センターと各デバイス間を通信インターフェースで接続しているが、必ずしも通信インターフェースで接続する必要はなく、例えば、センターが発信した情報を、各デバイスが、記憶媒体を介して受信するような形態でもよい。
【００２８】
本発明に係る鍵共有ネットワークを立ち上げる際には、センターにおいて、一度、セットアップ処理を行う必要がある。セットアップ処理の一例として、鍵暗号方式に「bilinear map」を適用する場合のセットアップ処理について、以下詳述する。なお、本発明に係る鍵共有システムは、公開鍵暗号技術を用いた三つのデバイス間で行うことができる鍵共有方式であれば適用可能であり、「bilinear map」を適用する場合に限定されない（以下同じ）。
【００２９】
まず、それぞれ位数が素数ｑである加法群Ｇ１及び乗法群Ｇ２を定める。ここで、加法群Ｇ１は有限体上の楕円曲線上の点により作られる群の部分群であるものが一般に用いられる。
【００３０】
次に、bilinear map（双線形マップ）ｅを定める（数１）。
【数１】
2006135840.tif 000003
【００３１】
ここで、bilinear map  ｅは、次の三つの条件を満たすものである（詳細は非特許文献３参照）。
（１）Bilinear（双線形性）：任意のＰ，Ｑ∈Ｇ１及び任意のａ，ｂ∈Ｚに対して、数２に示す式が成り立つ。
（２）Non-Degenerate（非縮退性）：もし、ＰがＧ１の生成元であるならば、ｅ（Ｐ，Ｐ）はＧ２の生成元となる。
（３）Computable（計算可能性）：任意のＰ，Ｑ∈Ｇ１に対して、ｅ（Ｐ，Ｑ）を計算する効率的なアルゴリズムが存在する。
【数２】
2006135840.tif 000004
【００３２】
次に、Ｇ１の任意のパラメータ（生成元）Ｐとランダムな値ｓ∈Ｚｑ＊を選択し、ＰＰｕｂ＝ｓＰを定める。
【００３３】
パラメータＰは、秘密鍵から公開鍵を計算する際のパラメータとなる。ＰＰｕｂは、前記の通り、ランダム値ｓとパラメータＰから計算され、公開鍵に類似する。本発明では、ダミーデバイスの模擬公開鍵として活用する。ｑ、Ｇ１、Ｇ２、ｅ、Ｐ、ＰＰｕｂは、センターにおいてシステムの公開情報として公開される。ここで、公開するとは、前記公開情報を、本発明に係る鍵共有システムを構成する機器（図１の場合、デバイスＡ、Ｂ、Ｃ）に与えることを意味する。
【００３４】
図２は、本発明に係るシステム（例えば、図１中のデバイスＡ、Ｂ、Ｃ）の構成の一例を示している。
【００３５】
本発明に係るシステムは、例えば、コントローラ２１、演算ユニット２２、通信インターフェース２３、暗号鍵を記憶するセキュア記憶部２４、プログラムコードを格納できるメイン記憶部２５、ユーザーインターフェースとなるディスプレイ装置２６及び入力装置２７、により構成することができる。なお、ディスプレイ装置２６及び入力装置２７は、システム構成上必須ではない。
【００３６】
システム内では、例えば、次のような処理が行われる。本発明に係る動作を記述したプログラムは、メイン記憶部２５に格納されている。前記プログラムは、
（１）いずれか一つのデバイス（例えばデバイスＡ）の秘密鍵と他の二つのデバイス（例えばデバイスＢ、Ｃ）の公開鍵、
（２）一のデバイス（例えばデバイスＡ）の秘密鍵と他のデバイス（例えばデバイスＢ）の公開鍵とダミーデバイスＣ’の模擬公開鍵、
以上（１）、（２）のいずれかから、デバイスＡ、Ｂ、Ｃ間、若しくはデバイスＡ、Ｂ間の共通鍵を計算するプログラムである。
【００３７】
コントローラ２１はプログラムコードを解釈し、演算処理ユニット２２などを用いてプログラムコードを実行する。センター又は他のデバイスとの通信は、通信インターフェース２３を介して行われる（符号２８）。他のデバイスと共有した暗号鍵は、セキュア記憶部２４に記憶され、その後の通信の暗号化／復号化に用いられる。
【００３８】
続いて、図３から図８を用いて、二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態への移行方法、及び、三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態への移行方法について、以下説明する。
【００３９】
図３は、二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態への移行方法の一例を示すフロー模式図である。図３中、ステップ３１からステップ３３は、デバイスＡとデバイスＢの二者間における鍵共有手順を示している。一方、ステップ３４からステップ３７は、デバイスＡとデバイスＢの二者間の鍵共有状態から、デバイスＣを加えた三者間の鍵共有状態へ移行する手順を示している。
【００４０】
ステップ３１は、デバイスＡの公開鍵ｒＡＰをデバイスＢに送るステップである。デバイスＡでは、まず、乱数ｒＡ∈Ｚｑ＊をランダムに選び、秘密鍵ｒＡを設定する。次に、ｒＡＰを計算し（Ｐはセンターで公開されたパラメータ）、公開鍵ｒＡＰをデバイスＢに送る。
【００４１】
同様に、デバイスＢでは、まず、乱数ｒＢ∈Ｚｑ＊をランダムに選び、秘密鍵ｒＢを設定する。次に、ｒＢＰを計算し（Ｐはセンターで公開されたパラメータ）、公開鍵ｒＢＰをデバイスＡに送る（ステップ３２）。
【００４２】
ステップ３３は、デバイスＡとデバイスＢの間で、共通鍵ＫＡＢが生成され、両者が鍵を共有するステップである。デバイスＡは、デバイスＢから送られた公開鍵ｒＢＰ、センターが公開している模擬公開鍵ＰＰＵＢ、自身の秘密鍵ｒＡから、「数３」に示すデバイスＡ、Ｂ間の共通鍵ＫＡＢを計算する。同様に、デバイスＢは、デバイスＡから送られた公開鍵ｒＡＰ、センターが公開している模擬公開鍵ＰＰＵＢ、自身の秘密鍵ｒＢから、「数４」に示すデバイスＡ、Ｂ間の共通鍵ＫＡＢを計算する。
【数３】
2006135840.tif 000005
【数４】
2006135840.tif 000006
【００４３】
数３に示した式と数４に示した式とは、bilinear mapの性質より、一致するため、デバイスＡとデバイスＢの間の共通鍵ＫＡＢを生成することができる。即ち、デバイスＡとデバイスＢの間で鍵ＫＡＢを共有できる。
【００４４】
続いて、デバイスＡとデバイスＢの二者間の鍵共有状態から、デバイスＣを加えた三者間の鍵共有状態へ移行する手順（ステップ３４からステップ３７）について、説明する。
【００４５】
ステップ３４は、新たに加わったデバイスＣの公開鍵ｒＣＰをデバイスＡ及びデバイスＢに送るステップである。デバイスＣでは、まず、乱数ｒＣ∈Ｚｑ＊をランダムに選び、秘密鍵ｒＣを設定する。次に、ｒＣＰを計算し（Ｐはセンターで公開されたパラメータ）、公開鍵ｒＣＰをデバイスＡ及びデバイスＢに送る。
【００４６】
ステップ３５は、デバイスＡからデバイスＣに、公開鍵ｒＡＰを送るステップ、ステップ３６は、デバイスＢからデバイスＣに、公開鍵ｒＢＰを送るステップである。即ち、ステップ３１及びステップ３２で公開されたデバイスＡ及びデバイスＢの公開鍵ｒＡＰ、ｒＢＰを、新たに加わったデバイスＣに送るステップである。
【００４７】
ステップ３７は、デバイスＡ、Ｂ、Ｃの三者間で、共通鍵ＫＡＢＣが生成され、三つのデバイスが鍵を共有するステップである。デバイスＡは、デバイスＢから送られた公開鍵ｒＢＰ、デバイスＣから送られた公開鍵ｒＣＰ、自身の秘密鍵ｒＡから、「数５」に示すデバイスＡ、Ｂ、Ｃ三者間の共通鍵ＫＡＢＣを計算する。デバイスＢは、デバイスＡから送られた公開鍵ｒＡＰ、デバイスＣから送られた公開鍵ｒＣＰ、自身の秘密鍵ｒＢから、「数６」に示すデバイスＡ、Ｂ、Ｃ三者間の共通鍵ＫＡＢＣを計算する。デバイスＣは、デバイスＡから送られた公開鍵ｒＡＰ、デバイスＢから送られた公開鍵ｒＢＰ、自身の秘密鍵ｒＣから、「数７」に示すデバイスＡ、Ｂ、Ｃ三者間の共通鍵ＫＡＢＣを計算する。
【数５】
2006135840.tif 000007
【数６】
2006135840.tif 000008
【数７】
2006135840.tif 000009
【００４８】
数５から数７に示した式は、bilinear mapの性質より、それぞれ一致するため、デバイスＡ、Ｂ、Ｃの三者間の共通鍵ＫＡＢＣを生成することができる。即ち、デバイスＡ、Ｂ、Ｃの三者間で鍵ＫＡＢＣを共有できる。
【００４９】
以上のように、本発明に係る鍵共有方式を採用することにより、デバイスＡとデバイスＢの二者間で鍵共有を行う際に作成した秘密鍵ｒＡ、ｒＢ及び公開鍵ｒＡＰ、ｒＢＰを、三者間の鍵共有に移行した際にも引き続き用いることができるため、デバイスＡ、デバイスＢの秘密鍵と公開鍵をもう一度作り直す負荷を軽減できる。
【００５０】
なお、上記各ステップ（符号３１〜符号３７）の順序は入れ替え可能であり、本発明は、図３に示す順序で行われた場合のみに狭く限定されない。即ち、例えば、二者間の共通鍵生成（ステップ３３）は、公開鍵を交換する手順（ステップ３１、３２）がどの段階でどちらが先に行われた場合であっても、公開鍵が両方とも交換された後であればいつでも行うことができ、それ以上の制限を受けない。同様に、例えば、三者間の共通鍵生成（ステップ３７）も、公開鍵を交換する手順（ステップ３１、３２、３４、３５、３６）がどの段階でどの順序で行われた場合であっても、公開鍵がすべて交換された後であればいつでも行うことができ、それ以上の制限を受けない。このことは、後述する図４から図８における各フロー及び各ステップにおいても同様である。
【００５１】
図４は、図３に示した実施形態における、デバイスＡとデバイスＣのフロー図である。デバイスＢについては、デバイスＡと同様であるため、省略した。なお、図４のフロー図に示した各ステップは、それぞれプログラム化して情報記憶媒体に格納することにより、自動化することができる。
【００５２】
まず、デバイスＡについて説明する。デバイスＡは、デバイスＢに公開鍵ｒＡＰを送信する（符号４１）とともに、デバイスＢから公開鍵ｒＢＰを受信し（符号４２）、デバイスＡとデバイスＢの間の共通鍵ＫＡＢを生成する（符号４３）。共通鍵ＫＡＢの生成方法は、前記の通り、一方のデバイスの秘密鍵（例えば、ｒＡ）と他方のデバイスの公開鍵（ｒＢＰ）と模擬公開鍵（ＰＰＵＢ）とから計算する。
【００５３】
次に、デバイスＡとデバイスＢの二者間の鍵共有状態から、デバイスＣを加えた三者間の鍵共有状態に移行する。デバイスＡは、デバイスＣから公開鍵ｒＣＰを受信する（符号４４）とともに、デバイスＣにデバイスＡの公開鍵ｒＡＰを送信する（符号４５）。そして、デバイスＡの秘密鍵ｒＡとデバイスＢの公開鍵ｒＢＰとデバイスＣの公開鍵ｒＣＰより、デバイスＣを加えた三者間の共通鍵ＫＡＢＣを生成する（符号４７）。以上の手順により、デバイスＡとデバイスＢの二者間の鍵共有状態から、デバイスＣを加えた三者間の鍵共有状態への移行が完了する。
【００５４】
次に、デバイスＣについて説明する。デバイスＣは、デバイスＡにデバイスＣの公開鍵ｒＣＰを送信する（符号４４’）とともに、デバイスＡから公開鍵ｒＡＰを受信する（符号４５’）。また、デバイスＣは、デバイスＢから公開鍵ｒＢＰを受信する（符号４６’）を受信する。そして、デバイスＡの公開鍵ｒＡＰとデバイスＢの公開鍵ｒＢＰとデバイスＣの秘密鍵ｒＣより、三者間の共通鍵ＫＡＢＣを生成する（符号４７’）。以上の手順により、デバイスＡとデバイスＢの二者間の鍵共有状態から、デバイスＣを加えた三者間の鍵共有状態への移行が完了する。
【００５５】
図５は、二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態への移行方法の別の一例を示す模式図である。図３で示した実施形態と異なる点は、各デバイスが通信チャネルとして同報通信路を前提としている点である。即ち、図５は、例えば、デバイスＡの送信したデータが、他のデバイス（デバイスＢ、Ｃ、Ｄ）に同報通信される場合である。
【００５６】
ステップ５１は、デバイスＡ及びデバイスＢがそれぞれ公開鍵ｒＡＰ、ｒＢＰを公開するステップである。デバイスＡでは、乱数ｒＡ∈Ｚｑ＊をランダムに選び、秘密鍵ｒＡを設定した後、ｒＡＰを計算し（Ｐはセンターで公開されたパラメータ）、公開鍵ｒＡＰを公開する。同様に、デバイスＢでは、乱数ｒＢ∈Ｚｑ＊をランダムに選び、秘密鍵ｒＢを設定した後、ｒＢＰを計算し（Ｐはセンターで公開されたパラメータ）、公開鍵ｒＢＰを公開する。公開鍵ｒＡＰ、ｒＢＰは同報通信されるため、例えば、図５の場合、デバイスＡから送信された公開鍵ｒＡＰは、他の全てのデバイス（デバイスＢ〜デバイスＤ）で受信できる。
【００５７】
ステップ５２は、デバイスＡとデバイスＢの二者間で共通鍵ＫＡＢが生成されるステップである。デバイスＡは、同報通信された公開鍵ｒＢＰ、センターが公開しているＰＰＵＢ、自身の秘密鍵ｒＡから、前述の「数３」に示すデバイスＡ、Ｂ間の共通鍵ＫＡＢを計算する。同様に、デバイスＢは、デバイスＡから送られた公開鍵ｒＡＰ、センターが公開しているＰＰＵＢ、自身の秘密鍵ｒＢから、前述の「数４」に示すデバイスＡ、Ｂ間の共通鍵ＫＡＢを計算する。
【００５８】
前記の通り、数３に示した式と数４に示した式とは、bilinear mapの性質より、一致するため、デバイスＡとデバイスＢの間の共通鍵ＫＡＢを生成することができる。即ち、デバイスＡとデバイスＢの間で鍵ＫＡＢを共有できる。
【００５９】
なお、デバイスＣ及びデバイスＤは、公開鍵ｒＡＰ、ｒＢＰを受信できるため、デバイスＡ又はデバイスＢに暗号化したデータを送信することはできるが、秘密鍵の設定及び秘密鍵に基づく公開鍵の生成を行っていないため、復号化することができない。従って、ステップ５２の段階では、デバイスＡとデバイスＢの二者間のみで鍵を共有している。
【００６０】
続いて、デバイスＡとデバイスＢの二者間の鍵共有状態から、デバイスＣを加えた三者間の鍵共有状態へ、移行する段階について説明する。
【００６１】
ステップ５３は、デバイスＣが公開鍵ｒＣＰを公開するステップである。デバイスＣでは、乱数ｒＣ∈Ｚｑ＊をランダムに選び、秘密鍵ｒＣを設定した後、ｒＣＰを計算し（Ｐはセンターで公開されたパラメータ）、公開鍵ｒＣＰを公開する。公開鍵ｒＣＰは、同報通信されるため、他の全てのデバイス（図５では、デバイスＡ、デバイスＢ、デバイスＤ）で受信できる。
【００６２】
ステップ５４は、デバイスＡ、Ｂ、Ｃの三者間で共通鍵ＫＡＢＣが生成されるステップである。デバイスＡは、同報通信された公開鍵ｒＢＰ及び公開鍵ｒＣＰ、自身の秘密鍵ｒＡから、前述の「数５」に示すデバイスＡ、Ｂ、Ｃ三者間の共通鍵ＫＡＢＣを計算する。デバイスＢは、同報通信された公開鍵ｒＡＰ及び公開鍵ｒＣＰ、自身の秘密鍵ｒＢから、前述の「数６」に示すデバイスＡ、Ｂ、Ｃ三者間の共通鍵ＫＡＢＣを計算する。デバイスＣは、同報通信された公開鍵ｒＡＰ及び公開鍵ｒＢＰ、自身の秘密鍵ｒＣから、前述の「数７」に示すデバイスＡ、Ｂ、Ｃ三者間の共通鍵ＫＡＢＣを計算する。
【００６３】
前記の通り、数５から数７に示した式は、bilinear mapの性質より、それぞれ一致するため、デバイスＡ、Ｂ、Ｃの三者間の共通鍵ＫＡＢＣを生成することができる。即ち、デバイスＡ、Ｂ、Ｃの三者間で鍵ＫＡＢＣを共有できる。
【００６４】
以上のように、本発明に係る鍵共有方式は、同報通信路を前提とした通信ネットワークにおいても、適用できる。
【００６５】
図６は、図５に示した実施形態における、デバイスＡとデバイスＣのフロー図である。デバイスＢについては、デバイスＡと同様であるため、省略した。なお、図６のフロー図に示した各ステップは、それぞれプログラム化して情報記憶媒体に格納することにより、自動化することができる。
【００６６】
まず、デバイスＡについて説明する。デバイスＡは、公開鍵ｒＡＰを同報通信する（符号６１）とともに、デバイスＢから同報通信された公開鍵ｒＢＰを受信し（符号６２）、デバイスＡとデバイスＢの間の共通鍵ＫＡＢを生成する（符号６３）。共通鍵ＫＡＢの生成方法は、前記の通り、一方のデバイスの秘密鍵（例えば、ｒＡ）と他方のデバイスの公開鍵（ｒＢＰ）と模擬公開鍵（ＰＰＵＢ）とから計算する。
【００６７】
次に、デバイスＡとデバイスＢの二者間の鍵共有状態から、デバイスＣを加えた三者間の鍵共有状態に移行する。デバイスＡは、デバイスＣから公開鍵ｒＣＰを受信し（符号６４）、デバイスＢの公開鍵ｒＢＰとデバイスＣの公開鍵ｒＣＰより、デバイスＣを加えた三者間の共通鍵ＫＡＢＣを生成する（符号４７）。以上の手順により、デバイスＡとデバイスＢの二者間の鍵共有状態から、デバイスＣを加えた三者間の鍵共有状態への移行が完了する。
【００６８】
続いて、デバイスＣについて説明する。図４に示したデバイスＣのフローと異なる点は、予め、デバイスＡの公開鍵ｒＡＰとデバイスＢの公開鍵ｒＢＰを受信している点である（符号６１’、６２’）。即ち、図６では、デバイスＡの公開鍵ｒＡＰとデバイスＢの公開鍵ｒＢＰは同報通信されているため、デバイスＣも予め受信することができる。
【００６９】
デバイスＣは、秘密鍵ｒＣを設定し、公開鍵ｒＣＰを生成し、公開鍵ｒＣＰを同報通信した後（符号６４’）、デバイスＡの公開鍵ｒＡＰとデバイスＢの公開鍵ｒＢＰより、三つのデバイス間の共通鍵ＫＡＢＣを生成する（符号６５’）。以上の手順により、デバイスＡとデバイスＢの二者間の鍵共有状態から、デバイスＣを加えた三者間の鍵共有状態への移行が完了する。
【００７０】
以上のように、同報通信路を前提とした通信ネットワークの場合、二つのデバイス間の鍵共有状態から、三つのデバイス間の鍵共有状態への移行する際に、新たに加わるデバイス（図６ではデバイスＣ）が公開鍵ｒＣＰを同報通信するだけで、三つのデバイス間の鍵共有状態を構築することができる。従って、本発明において、同報通信路を前提とした通信ネットワークに適用することは、通信負荷を軽減できるという利点がある。
【００７１】
図７は、三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態への移行方法の一例を示す模式図である。なお、図７では、図５と同様に、各デバイスが通信チャネルとして同報通信路を前提とした模式図であるが、本発明に係る三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態への移行方法は、同報通信路の場合に限定されず、図３で示した実施形態のように、目的のデバイス間でのみ通信が行われることを前提とした場合も包含する。
【００７２】
ステップ７１は、デバイスＡ、Ｂ、Ｃの三者がそれぞれ公開鍵ｒＡＰ、ｒＢＰ、ｒＣＰを公開するステップである。デバイスＡでは、乱数ｒＡ∈Ｚｑ＊をランダムに選び、秘密鍵ｒＡを設定した後、ｒＡＰを計算し（Ｐはセンターで公開されたパラメータ）、公開鍵ｒＡＰを公開する。デバイスＢでは、乱数ｒＢ∈Ｚｑ＊をランダムに選び、秘密鍵ｒＢを設定した後、ｒＢＰを計算し（Ｐはセンターで公開されたパラメータ）、公開鍵ｒＢＰを公開する。デバイスＣでは、乱数ｒＣ∈Ｚｑ＊をランダムに選び、秘密鍵ｒＣを設定した後、ｒＣＰを計算し（Ｐはセンターで公開されたパラメータ）、公開鍵ｒＣＰを公開する。公開鍵ｒＡＰ、ｒＢＰ、ｒＣＰは同報通信されるため、各公開鍵ｒＡＰ、ｒＢＰ、ｒＣＰは、送信者以外の全てのデバイスで受信できる。
【００７３】
ステップ７２は、デバイスＡ、Ｂ、Ｃの三者間で共通鍵ＫＡＢＣが生成されるステップである。デバイスＡは、同報通信された公開鍵ｒＢＰ、公開鍵ｒＣＰ、自身の秘密鍵ｒＡから、前述の「数５」に示すデバイスＡ、Ｂ、Ｃ三者間の共通鍵ＫＡＢＣを計算する。デバイスＢは、同報通信された公開鍵ｒＡＰ、公開鍵ｒＣＰ、自身の秘密鍵ｒＢから、前述の「数６」に示すデバイスＡ、Ｂ、Ｃ三者間の共通鍵ＫＡＢＣを計算する。デバイスＣは、同報通信された公開鍵ｒＡＰ及び公開鍵ｒＢＰ、自身の秘密鍵ｒＣから、前述の「数７」に示すデバイスＡ、Ｂ、Ｃ三者間の共通鍵ＫＡＢＣを計算する。
【００７４】
前記の通り、数５から数７に示した式は、bilinear mapの性質より、それぞれ一致するため、デバイスＡ、Ｂ、Ｃの三者間の共通鍵ＫＡＢＣを生成することができる。即ち、デバイスＡ、Ｂ、Ｃの三者間で鍵ＫＡＢＣを共有している。
【００７５】
続いて、デバイスＡ、Ｂ、Ｃの三者間の鍵共有状態から、デバイスＡ、Ｂの二者間の鍵共有状態へ、移行する段階について説明する。
【００７６】
ステップ７３は、デバイスＡとデバイスＢの二者間で共通鍵ＫＡＢが生成されるステップである。デバイスＡは、同報通信された公開鍵ｒＢＰ、センターが公開している模擬公開鍵ＰＰＵＢ、自身の秘密鍵ｒＡから、前述の「数３」に示すデバイスＡ、Ｂ間の共通鍵ＫＡＢＣを計算する。同様に、デバイスＢは、デバイスＡから送られた公開鍵ｒＡＰ、センターが公開している模擬公開鍵ＰＰＵＢ、自身の秘密鍵ｒＢから、前述の「数４」に示すデバイスＡ、Ｂ間の共通鍵ＫＡＢを計算する。
【００７７】
前記の通り、数３に示した式と数４に示した式とは、bilinear mapの性質より、一致するため、デバイスＡとデバイスＢの二者間の共通鍵ＫＡＢを生成することができる。即ち、デバイスＡとデバイスＢの間で鍵ＫＡＢを共有できる。
【００７８】
なお、上記の説明は、デバイスＡ、Ｂ、Ｃの三者間の鍵共有状態から、デバイスＡとデバイスＢの二者間の鍵共有状態へ移行する場合についてであるが、本発明は、二つのデバイス間の鍵共有状態が、デバイスＡとデバイスＢの間だけでなく、デバイスＡとデバイスＣの間及びデバイスＢとデバイスＣの間でも適用できる。
【００７９】
また、三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態へ移行した場合とは、共通鍵ＫＡＢと共通鍵ＫＡＢＣの両方が存在することを意味する。従って、三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態へ移行した後も、共通鍵ＫＡＢＣを用いた三つのデバイス間のデータ送信は有効である。
【００８０】
その他、三つのデバイスが共通鍵ＫＡＢＣを共有した状態で、デバイスＡとデバイスＢの間の鍵共有（共通鍵ＫＡＢ）、デバイスＡとデバイスＣとの間の鍵共通（共通鍵ＫＡＣ）、デバイスＢとデバイスＣとの間の鍵共有（共通鍵ＫＢＣ）、を行う場合にも、上記方法を適用できる。
【００８１】
図８は、図７に示した実施形態における、デバイスＡとデバイスＣのフロー図である。デバイスＢについては、デバイスＡと同様であるため、省略した。なお、図８のフロー図に示した各ステップは、それぞれプログラム化して情報記憶媒体に格納することにより、自動化することができる。
【００８２】
まず、デバイスＡについて説明する。デバイスＡは、公開鍵ｒＡＰを同報通信する（符号８１）とともに、デバイスＢ及びデバイスＣから同報通信された公開鍵ｒＢＰ、ｒＣＰを受信し（符号８２、符号８３）、デバイスＡ、デバイスＢ、デバイスＣの三者間の共通鍵ＫＡＢＣを生成する（符号８４）。共通鍵ＫＡＢＣの生成方法は、前記の通り、ある一つのデバイスの秘密鍵（例えば、ｒＡ）と他の二つのデバイスの公開鍵（ｒＢＰ、ｒＣＰ）とから計算する。
【００８３】
デバイスＡ、Ｂ、Ｃの三者間の鍵共有状態から、デバイスＡとデバイスＢの二者間の鍵共有状態に移行する。デバイスＡは、デバイスＡの秘密鍵ｒＡとデバイスＢの公開鍵ｒＢＰとから、デバイスＡとデバイスＢの間の共通鍵ＫＡＢを生成する。以上の手順により、デバイスＡ、Ｂ、Ｃの三者間の鍵共有状態から、デバイスＡとデバイスＢの二者間の鍵共有状態への移行が完了する。
【００８４】
続いて、デバイスＣについて説明する。デバイスＣは、デバイスＡ及びデバイスＢから同報通信された公開鍵ｒＡＰ、ｒＢＰを受信するとともに（符号８１’、符号８２’）、公開鍵ｒＣＰを同報通信する（符号８３’）。そして、デバイスＡ、Ｂ、Ｃの三者間の共通鍵ＫＡＢＣを生成する（符号８４’）。
【００８５】
デバイスＡ、Ｂ、Ｃの三者間の鍵共有状態から、デバイスＡとデバイスＢの二者間の鍵共有状態への移行は、デバイスＡとデバイスＢの二者間で完了する。なお、デバイスＡとデバイスＢの間で共通鍵ＫＡＢを生成された後も（符号８５）、デバイスＡ、デバイスＢ、デバイスＣの三者間の共通鍵ＫＡＢＣは、有効である。
【産業上の利用可能性】
【００８６】
本発明により、二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態に、若しくは三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態に、簡易に移行させることができる。従って、本発明に係る技術は、鍵暗号技術を用いた通信ネットワーク分野などにおいて、特に有用である。
【図面の簡単な説明】
【００８７】
【図１】本発明に係る鍵共有ネットワークの構成の一例を示す図。
【図２】本発明に係るシステムの構成の一例を示す図。
【図３】二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態への移行方法の一例を示すフロー模式図。
【図４】図３に示した実施形態における、デバイスＡとデバイスＣのフロー図。
【図５】二つのデバイス間の鍵共有状態から三つのデバイス間の鍵共有状態への移行方法の別の一例を示す模式図。
【図６】図５に示した実施形態における、デバイスＡとデバイスＣのフロー図。
【図７】三つのデバイス間の鍵共有状態から二つのデバイス間の鍵共有状態への移行方法の一例を示す模式図。
【図８】図７に示した実施形態における、デバイスＡとデバイスＣのフロー図。
【符号の説明】
【００８８】
ＫＡＢ  デバイスＡ、Ｂ間の共通鍵
ＫＡＢＣ  デバイスＡ、Ｂ、Ｃ間の共通鍵
ｒＡＰ  デバイスＡの公開鍵
ｒＢＰ  デバイスＢの公開鍵
ｒＣＰ  デバイスＣの公開鍵
【図１】
2006135840.tif 000010
【図２】
2006135840.tif 000011
【図３】
2006135840.tif 000012
【図４】
2006135840.tif 000013
【図５】
2006135840.tif 000014
【図６】
2006135840.tif 000015
【図７】
2006135840.tif 000016
【図８】
2006135840.tif 000017