(57)【要約】【課題】  サーバと通信することなく、複数の利用者の計算機間で、グループ暗号通信を行えるようにする。【解決手段】  計算機1-A,1-Bがグループ暗号通信を行っている時、計算機1-Cがグループ加入要求を計算機1-Aに発信すると(S202-3)、計算機1-A〜1-C間で交換鍵が交換される(S210-1,S210-3)。各計算機1-A,1-B,1-Cは、受信した交換鍵に基づいてグループ秘密鍵を生成する(S211-1〜S211-3)。以後、このグループ秘密鍵を使用してグループ暗号通信が行われる。Diffie-Hellman型鍵交換方式に従った場合、計算機1-A,1-Cの交換鍵α,Ｚは、ｇａmod ｐ，ｇｚmod ｐとなり、計算機1-A,1-Cが計算するグループ秘密鍵は、Zａmod ｐ、αzmod ｐとなり、同一値ｇａｚmod ｐとなる。即ち、サーバを使用せずに、グループ秘密鍵を用いたグループ暗号通信を行うことが可能になる。【選択図】  図３
2007129764.tif 000002
【特許請求の範囲】
【請求項１】
グループ暗号通信を行うグループ内の代表計算機と前記グループへの加入を要求する加入要求計算機とが、新たな共通暗号鍵を、自計算機において生成した交換鍵を交換し合うことにより共通暗号鍵を共有する暗号鍵共有方式により生成するステップと、
前記グループ内の前記代表計算機以外の計算機が、前記加入要求計算機から送られてきた交換鍵と現時点における共通暗号鍵とに基づいて前記新たな共通暗号鍵と同一の共通暗号鍵を生成するステップとを含むことを特徴とするグループ暗号通信方法。
【請求項２】
請求項１または２に記載のグループ暗号通信方法を実施する
第１のグループの代表計算機と、請求項１乃至５記載の何れか１つのグループ暗号通信方法を実施する第２のグループの代表計算機とが、新たな共通暗号鍵を、自計算機において生成した交換鍵を交換し合うことにより共通暗号鍵を共有する暗号鍵共有方式により生成するステップと、
前記第１のグループ内の前記代表計算機以外の計算機が、前記第２のグループの代表計算機が生成した交換鍵と現時点における前記第１のグループの共通暗号鍵とに基づいて前記新たな共通暗号鍵と同一の共通暗号鍵を生成するステップと、
前記第２のグループ内の前記代表計算機以外の計算機が、前記第１のグループの代表計算機が生成した交換鍵と現時点における前記第２のグループの共通暗号鍵とに基づいて前記新たな共通暗号鍵と同一の共通暗号鍵を生成するステップとを含むことを特徴とするグループ暗号通信方法。
【請求項３】
請求項１または２に記載のグループ暗号通信方法において、
前記加入要求計算機が、加入要求情報をブロードキャストするステップと、
前記グループに属する計算機の内、前記加入要求計算機に対して通信時に経由するルータあるいはハブの数が最も少ない計算機の一つを代表計算機とするステップとを含むことを特徴とするグループ暗号通信方法。
【請求項４】
請求項１または２に記載のグループ暗号通信方法において、
前記加入要求計算機が、加入要求情報をブロードキャストするステップと、
前記グループ内の計算機が前記加入要求情報に対する応答を前記加入要求計算機に送信するステップと、
前記加入要求計算機が、最も早く応答を返してきた計算機を前記グループにおける代表計算機と認識するステップとを含むことを特徴とするグループ暗号通信方法。
【請求項５】
請求項１または２に記載のグループ暗号通信方法において、
前記代表計算機と前記加入要求計算機との間において、認証データを相互に通信するステップと、
前記代表計算機と前記加入要求計算機とが、受信した認証データに基づいて認証を行うステップとを含むことを特徴とするグループ暗号通信方法。
【請求項６】
請求項１または２に記載のグループ暗号通信方法において、
前記代表計算機が前記加入要求計算機に対して、前記新たな共通暗号鍵によって暗号化した識別情報を送信するステップと、
前記加入要求計算機が、受信した暗号化されている識別情報を前記新たな共通暗号鍵によって復号し、復号結果と自身で管理する識別情報とが等しいか否かを評価することにより認証を行うステップとを含むこと
を特徴とするグループ暗号通信方法。
【請求項７】
請求項６記載のグループ暗号通信方法において、
前記加入要求計算機が代表計算機に対して、自計算機で復号した識別情報によって暗号化した前記共通暗号鍵を送信するステップと、
前記代表計算機が、受信した暗号化されている前記共通暗号鍵を識別情報によって復号し、復号結果と自身で管理する前記共通暗号鍵とが等しいか否かを評価することにより認証を行うステップとを含むことを特徴とするグループ暗号通信方法。
【請求項８】
請求項２記載のグループ暗号通信方法において、
前記第１のグループの代表計算機が前記第２のグループの代表計算機に対して、前記新たな共通暗号鍵によって暗号化した識別情報を送信するステップと、
前記第２のグループの代表計算機が、受信した暗号化されている識別情報を前記新たな共通暗号鍵によって復号し、復号結果と自身で管理する識別情報とが等しいか否かを評価することにより認証を行うステップ
とを含むことを特徴とするグループ暗号通信方法。
【請求項９】
請求項８記載のグループ暗号通信方法において、
前記第２のグループの代表計算機と前記第１のグループの代表計算機に対して、自計算機で復号した識別情報によって暗号化した前記共通暗号鍵を送信するステップと、
前記第１のグループの代表計算機が、受信した暗号化されている共通暗号鍵を識別情報によって復号し、復号結果と自身で管理する前記共通鍵とが等しいか否かを評価することにより認証を行うステップとを含むことを特徴とするグループ暗号通信方法。
【請求項１０】
請求項１または２に記載のグループ暗号通信方法において、
前記代表計算機と前記加入要求計算機との間において、認証データを相互に通信するステップと、
前記代表計算機が、前記加入要求計算機から送られてきた認証データに基づいた認証処理を行うために必要になる認証必要情報を自計算機内に保存している場合は、該保存している認証必要情報を利用して認証処理を行い、自計算機では保存していないが、グループ内の他の計算機が保存している場合は、前記他の計算機が保存している認証必要情報を利用して認証処理を行い、自計算機もグループ内の他の計算機も保存していない場合は、サーバから認証必要情報を取得して認証処理を行うステップと、
前記加入要求計算機が、前記代表計算機から送られてきた認証データに基づいた認証処理を行うステップとを含むことを特徴とするグループ暗号通信方法。
【請求項１１】
請求項１または２に記載のグループ暗号通信方法において、
前記代表計算機と前記加入要求計算機との間において、自計算機の秘密鍵を用いて暗号化した認証データを相互に通信するステップと、
前記代表計算機が、前記加入要求計算機から送られてきた暗号化されている認証データを前記加入要求計算機の公開鍵で復号し、復号結果に基づいて認証処理を行うステップと、
前記加入要求計算機が、前記代表計算機から送られてきた暗号化されている認証データを前記代表計算機の公開鍵で復号し、復号結果に基づいて認証処理を行うステップとを含むことを特徴とするグループ暗号通信方法。
【請求項１２】
請求項１１記載のグループ暗号通信方法において、
前記代表計算機は、前記加入要求計算機の公開鍵を自計算機内に保持している場合は、該公開鍵を使用して認証データを復号し、自計算機では保存していないが、グループ内の他の計算機が保存している場合は、前記他の計算機が保存している公開鍵を使用して認証データを復号し、自計算機もグループ内の他の計算機も保存していない場合は、サーバから取得した前記加入要求計算機の公開鍵を使用して認証データを復号することを特徴とするグループ暗号通信方法。
【請求項１３】
請求項１２記載のグループ暗号通信方法において、
前記代表計算機および前記加入要求計算機が使用する公開鍵および暗号鍵は、前記代表計算機と前記加入要求計算機との間で定めたローカルな公開鍵および暗号鍵であることを特徴とするグループ暗号通信方法。
【請求項１４】
請求項１１、１２、または１３記載のグループ暗号通信方法において、
前記代表計算機が、前記加入要求計算機の公開鍵を前記グループ内の他の計算機に配信するステップと、
前記他の計算機が、前記代表計算機から送られてきた前記加入要求計算機の公開鍵を保存するステップとを含むことを特徴とするグループ暗号通信方法。
【請求項１５】
請求項１乃至１４記載の何れか１つのグループ暗号通信方法におい
て、
前記代表計算機が、前記グループ内の他の計算機に対して、前記加入要求計算機の公開鍵を保持しているか否かを問い合わせるステップと、
前記他の計算機が、前記代表計算機からの問い合わせに対して、前記加入要求計算機の公開鍵を保持しているか否かを応答するステップと、
前記代表計算機が、前記他の計算機からの応答に基づいて、前記加入要求計算機の公開鍵を前記他の計算機が保持していると判断した場合は、前記加入要求計算機の前記グループへの加入を許可するステップとを含むことを特徴とするグループ暗号通信方法。
【請求項１６】
請求項１乃至１５記載の何れか１つのグループ暗号通信方法において、
複数の加入要求計算機が、同一のグループ暗号通信への加入を希望している場合において、前記グループ暗号通信の代表計算機が、加入を希望している前記複数の加入要求計算機を２台ずつの加入要求計算機のペアに分割し、各ペアにおいてグループ暗号通信のグループを確立し、さらに各ペアのいずれか一方の計算機を代表とし、その代表のペアを構成し、各ペアにおいてグループ暗号通信のグループを確立する、という処理を最後の２利用者になるまで繰り返し、その後、最後の２利用者間で共有された共通暗号鍵を代表元になった相手に、そのペアにおいて共有された共有暗号鍵で暗号処理して通信することを繰り返し、グループ暗号通信を希望する全加入要求計算機において１つの共通暗号鍵を共有することを特徴とするグループ暗号通信方法。
【請求項１７】
請求項１または２記載のグループ暗号通信方法において、
前記加入要求計算機が、加入要求をブロードキャストあるいはマルチキャストするステップと、
前記グループ内の計算機が、前記加入要求に対する応答を送信するステップと、
前記加入要求計算機が、前記加入要求をブロードキャストあるいはマルチキャストしてから一定時間内に受け付けた応答の応答元の計算機の中からグループ暗号通信の相手を選択するステップとを含むことを特徴とするグループ暗号通信方法。
【請求項１８】
グループ暗号通信を行うグループ内の計算機であって、
前記グループへの加入を要求する加入要求計算機との間で、互いの交換鍵を交換し合うことにより共通暗号鍵を共有する暗号鍵共有方式を使用して新たな共通暗号鍵を生成する手段と、
前記グループ内の他の計算機に対して、前記加入要求計算機の交換鍵を送信することにより、前記他の計算機に前記加入要求計算機の交換鍵と現時点における共通暗号鍵とに基づいた前記新たな共通暗号鍵と同一の共通暗号鍵の生成処理を行わせる手段とを備えたことを特徴とする計算機。
【請求項１９】
グループ暗号通信を行うグループ内の計算機を、
前記グループへの加入を要求する加入要求計算機との間で、互いの交換鍵を交換し合うことにより共通暗号鍵を共有する暗号鍵共有方式を使用して新たな共通暗号鍵を生成する手段、
前記グループ内の他の計算機に対して、前記加入要求計算機の交換鍵を送信することにより、前記他の計算機に前記加入要求計算機の交換鍵と現時点における共通暗号鍵とに基づいた前記新たな共通暗号鍵と同一の共通暗号鍵の生成処理を行わせる手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グループ暗号通信技術に関し、さらに詳しくは複数の利用者からなるグループを構成し、当該グループ内においては通信情報をグループ固有の暗号鍵で暗号処理することで、当該グループに参加していない利用者は通信内容の復号を不可とするグループ暗号通信技術に関する。
【背景技術】
【０００２】
従来のグループ暗号通信システムの一例が、特開平7-66803号公報などに記載されている。この従来システムでは、複数の利用者がグループを形成し、グループで暗号鍵を共有して、グループに所属するメンバーだけが復号可能な形で、暗号化された情報を交換することを可能としている。
【０００３】
図９は、特開平7-66803号公報に記載されているグループ暗号通信システムの構成を示すブロック図である。情報交換を行う計算機１０２−１のプロセスＡ１０６−１は、まず認証サーバ１０３と通信し、認証サーバ１０３と当該計算機１０２−１との間で共有済みの秘密鍵Ａで暗号化された会話鍵ａと、認証サーバ１０３とグループ管理サーバ１０５との間で共有済みの秘密鍵αで暗号化された認証情報を得る。この認証情報には会話鍵ａが含まれる。次に、プロセスＡ１０６−１は、上記認証情報を付加してグループ管理サーバ１０５に対してグループへの加入を申請する。グループ管理サーバ１０５は、認証情報を前記秘密鍵αで復号し、認証を検証し、会話鍵ａを得る。そして、会話鍵ａで共有暗号鍵ｇ１を暗号化して、プロセスＡ１０６−１に配布する。プロセスＡ１０６−１は、グループ管理サーバ１０５からの応答情報を会話鍵ａで復号し、共有暗号鍵ｇ１を得る。グループに参加する他の計算機１０２−２〜１０２−４のプロセス１０６−２〜１０６−４も同様にして、共有暗号鍵ｇ１を得る。各プロセス１０６−１〜１０６−４は、当該共有暗号鍵ｇ１を用いて、送受信するデータを共通鍵暗号方式で暗号処理することで、グループ暗号通信を実現できる。上記のシステム例では、あらかじめ秘密鍵が共有済みであることを前提としているが、秘密鍵を２当事者間で安全に交換する方式としては、Diffie-Hellman型鍵交換方式がよく知られている。Diffie-Hellman型鍵交換方式では、特定のいわゆる群に対する群生成元ｇと、当事者Ａにのみ既知の指数ｘと、他方当事者Ｂのみに既知の指数ｙとを使用する。群生成元ｇは当事者間で既知する。当事者Ａが交換鍵Ｘ=ｇｘを生成し、当事者Ｂが交換鍵Ｙ=ｇｙを計算し、互いに交換鍵Ｘ,Ｙを交換する。当事者Ａは、受け取った交換鍵Ｙを使って、Ｙｘを計算する。当事者Ｂは、受け取った交換鍵Ｘを使って、Ｘｙを計算する。ここで、Ｙｘと、Ｘｙは、いずれもｇｘｙとなり、結果的に当事者Ａ，Ｂ間で、ｇｘｙを他者に知られることなく共有し、秘密鍵として利用可能となる。Diffie-Hellman型鍵交換方式は、数学的に十分安全であることは、特開2001-313634などで言及されているように広く知られているので、その詳細な安全性証明については省略する。
【０００４】
また、グループに属する利用者間で機密性を保持しながら、情報の暗号化・復号処理、グループ構成メンバーの変更を可能とする方式の一例が、特開平11-15373に記載されている。この従来のシステムでは、公開鍵暗号方式を用い、メンバー固有の公開鍵で、グループの秘密鍵をそれぞれ暗号化することで、グループの暗号鍵を管理している。この方式においても、グループの暗号鍵は、集中管理されており、サーバを必要としている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術は、サーバクライアント型システムであるため、運用にコストがかかるという問題がある。つまり、暗号鍵の更新やグループ参加者の出入りなどのセキュリティを監視し、秘密鍵を配信するサーバや、利用者の相互認証を行うための第三者機関によるサーバを設置したり、サーバが停止しないように、バックアップシステムなどを用意する必要があるため、運用にコストがかかる。更に、上述した従来の技術は、利用者が、予め指定されたサーバとの間で通信を行うための通信設定作業を行わなければならないという問題もある。
【０００６】
［発明の目的］
そこで、本発明の目的は、サーバを不要とし、簡単、低コスト、かつサービス停止のないグループ暗号通信技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のグループ暗号通信方法は、上記目的を達成するため、グループ暗号通信を行うグループ内の代表計算機と前記グループへの加入を要求する加入要求計算機とが、自計算機において生成した交換鍵を交換し合うことにより共通暗号鍵を共有する、暗号鍵共有方式を使用して新たな共通暗号鍵を生成するステップと、前記グループ内の前記代表計算機以外の計算機が、前記加入要求計算機が生成した交換鍵と現時点における共通暗号鍵とに基づいて前記新たな共通暗号鍵と同一の共通暗号鍵を生成するステップとを含む。
【０００８】
暗号鍵共有方式としては、Diffie-Hellman型鍵交換方式を採用することができる。
【０００９】
より具体的には、前記暗号鍵共有方式を使用して新たな共通暗号鍵を生成するステップは、前記加入要求計算機が、自計算機固有の秘密鍵を用いて生成した交換鍵を前記代表計算機に送信するステップと、前記代表計算機が、グループ内の計算機で共有している共通暗号鍵を用いて生成した交換鍵を前記加入要求計算機に送信するステップと、前記代表計算機が前記加入要求計算機から送られてきた交換鍵と前記共通暗号鍵とを用いて新たな共通暗号鍵を生成するステップと、前記加入要求計算機が前記代表計算機から送られてきた交換鍵と前記自計算機固有の秘密鍵とを用いて、前記代表計算機が生成する新たな共通暗号鍵と同一の共通暗号鍵を生成するステップとを含む。
【００１０】
また、本発明のグループ暗号通信方法は、高いセキュリティを確保できるようにするため、前記代表計算機が、ランダムな値を抽出し、該抽出したランダムな値を用いて生成した交換鍵を前記グループ内の残りの計算機に送信するステップと、前記残りの計算機が、前記代表計算機から送られてきた交換鍵と、現時点における共通暗号鍵とに基づいて新たな共通暗号鍵を生成するステップとを含む。
【００１１】
また、本発明のグループ暗号通信方法は、グループ暗号通信を行っている第１、第２のグループを合併できるようにするため、第１のグループの代表計算機と、第２のグループの代表計算機とが、自計算機において生成した交換鍵を交換し合うことにより共通暗号鍵を共有する、Diffie-Hellman型鍵交換方式を使用して新たな共通暗号鍵を生成するステップと、前記第１のグループ内の前記代表計算機以外の計算機が、前記第２のグループの代表計算機が生成した交換鍵と現時点における前記第１のグループの共通暗号鍵とに基づいて前記新たな共通暗号鍵と同一の共通暗号鍵を生成するステップと、前記第２のグループ内の前記代表計算機以外の計算機が、前記第１のグループの代表計算機が生成した交換鍵と現時点における前記第２のグループの共通暗号鍵とに基づいて前記新たな共通暗号鍵と同一の共通暗号鍵を生成するステップとを含む。
【００１２】
また、本発明のグループ暗号通信方法は、認証を確実に行えるようにするため、前記代表計算機が前記加入要求計算機に対して、前記新たな共通暗号鍵によって暗号化した識別情報を送信するステップと、前記加入要求計算機が、受信した暗号化されている識別情報を前記新たな共通暗号鍵によって復号し、復号結果の正当性を評価することにより認証を行うステップとを含む。
【００１３】
また、本発明のグループ暗号通信方法は、認証をより確実に行えるようにするため、前記加入要求計算機が代表計算機に対して、自計算機で復号した識別情報によって暗号化した前記共通暗号鍵を送信するステップと、前記代表計算機が、受信した暗号化されている共通暗号鍵を識別情報によって復号し、復号結果の正当性を評価することにより認証を行うステップとを含む。
【００１４】
また、本発明のグループ暗号通信方法は、加入要求計算機が加入要求の通信先を特定せずとも、グループ暗号通信に参加できるようにするため、前記加入要求計算機が、加入要求をブロードキャストあるいはマルチキャストするステップと、前記グループ内の計算機が、前記加入要求に対する応答を送信するステップと、前記加入要求計算機が、前記加入要求をブロードキャストあるいはマルチキャストしてから一定時間内に受け付けた応答の応答元の計算機の中からグループ暗号通信の相手を選択するステップとを含む。
【００１５】
［作用］
２利用者Ａ，Ｂ間で、利用者Ａを代表者としてグループ暗号通信を行っているとする。２利用者間の暗号通信については、Diffie-Hellman型鍵交換方式のような暗号鍵共有方式が当該事業者によく知られている。その後、利用者Ｃがグループ暗号通信への加入を要求したとする。
【００１６】
利用者Ａの計算機（代表計算機）ＫＡと、利用者Ｃの計算機（加入要求計算機）ＫＣとで鍵共有を行う。つまり、利用者Ａ、Ｂから構成されるグループへの加入を要求する利用者Ｃの加入要求計算機ＫＣと、代表計算機ＫＡとが、それぞれDiffie-Hellman型鍵方式等で交換鍵を計算し、交換鍵を互いに送受信する。利用者Ｂの計算機ＫＢも利用者Ｃの交換鍵を取得し、各計算機ＫＡ、ＫＢ、ＫＣにおいて、Diffie-Hellman型鍵方式で新たな共通暗号鍵を計算する。グループを構成する全計算機ＫＡ、ＫＢ、ＫＣは、新たに計算された共通暗号鍵を用いてグループ暗号通信を開始する。利用者の加入の都度、上記の処理を繰り返して、暗号通信のための共通暗号鍵を更新しながら、グループ暗号通信を行う。
【００１７】
従って、サーバと通信することなく複数の利用者の計算機間の通信のみで共通暗号鍵を共有し、その共通暗号鍵を用いて、グループ暗号通信を行うことができる。そのため、サーバを運用する必要がないので、簡単、低コスト、かつサービス停止のないグループ暗号通信を実現するという効果が得られる。
【００１８】
また、上記においては、通信先を特定することなく、つまりブロードキャスト通信のみで暗号通信することが可能であり、利用者の通信のあて先を設定する手間を省くという効果が得られる。ブロードキャスト通信を用いることは、盗聴の危険性がある。これは、グループ通信の秘密情報の漏洩が大きな原因となっているが、秘密鍵の更新をグループメンバーのみへのユニキャスト通信を併用することで対処可能である。
【００１９】
また、秘密鍵をサーバから取得するのではなく、各計算機において計算する。そのため、通信開始時にサーバと通信する必要がなく、当事者間の通信さえ可能であれば、いつでもグループ暗号通信は可能となるという効果が得られる。
【発明の効果】
【００２０】
第1の効果は、サーバを用いずに、複数の利用者間で安全にグループ暗号通信を行うことが可能になるという点である。
【００２１】
その理由は、２利用者間では数学的に安全性が証明された鍵交換方式を用い、順次利用者もしくは利用グループを追加することで、２人以上の利用者間でのグループ秘密鍵の共有を実現しているためである。
【００２２】
第２の効果は、サーバを用いずに、グループに参加する利用者の認証が可能になるという点である。
【００２３】
その理由は、グループに参加しようとする利用者の認証データに対する公開鍵情報を、あらかじめグループ内に保持しておき、グループに参加しようとする利用者の認証時に利用可能であれば利用するためである。もし公開鍵情報が利用できない場合でも、対話的にグループ内で参加の可否を判断する手段を提供することで、グループに参加する利用者の認証を行うためである。
【００２４】
当然のことながら、サーバを用いないということは、サービス停止がないことになる。グループに参加しようとする当事者間だけでグループ暗号通信サービスが成り立つからである。
【発明を実施するための最良の形態】
【００２５】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００２６】
図１に、本発明の第１の実施の形態にかかるグループ暗号通信システムの全体構成を示す。図１を参照すると、本実施の形態にかかるグループ暗号通信システムは、インターネット、ＬＡＮ、無線通信網などのネットワーク７と、このネットワーク７に接続する複数の計算機１−１〜１−ｎから構成される。図１では、本発明で言及する各計算機内の構成部分は、各計算機において共通しているので、１つの計算機１−１の構成のみを表記している。
【００２７】
アプリケーションプロセス２は、グループウェアやコミュニケーションなどのユーザプログラムである。通信部３は、アプリケーションプロセス２からネットワーク７上へ、もしくは指定の他計算機へデータ送信を行い、また当該アプリケーションプロセス２に対してネットワーク７上から、もしくは指定の計算機からデータ受信を行う。加入確認部４は、他の利用者からのグループ加入要求に対する可否を指定したり、また１つ以上のグループ加入勧誘に対する可否を指定する。秘密鍵管理部５は、グループ暗号通信の際に送受信するデータの暗号処理をする秘密鍵を保持・管理する。必要であれば、各利用者や計算機を認証するための認証データも保持・管理する。グループ秘密鍵計算部６は、グループ暗号通信を行おうとする利用者の計算機間で、秘密鍵を計算するために送受信する交換鍵を計算することと、この交換鍵を使ってグループ暗号通信のための秘密鍵を計算することを行う。
【００２８】
次に図１のグループ暗号通信システムの動作を図２および図３のシーケンスチャートを使用して説明する。
【００２９】
まず、２利用者間でグループ暗号通信を確立する場合の動作について図２を参照しながら説明する。ある利用者Ａ、Ｂは、自身の計算機１−Ａ、１−Ｂ上のアプリケーションプロセス２を起動した後、電子メール等によってグループ加入要求が送られてくるのを待つ(S101-1,S101-2)。利用者Ｂの計算機１−Ｂが、グループ暗号通信を開始するためにグループ加入要求（例えば、要求者名やグループ名やメールアドレスを含む）を発信すると(S102)、利用者Ａの計算機１−Ａがグループ加入要求を受信する(S103)。ここで、利用者Ｂのグループ加入要求の発信は、ブロードキャストメッセージ通信、マルチキャストメッセージ通信でもよい。ブロードキャストメッセージ通信やマルチキャストメッセージ通信は、あらかじめグループを形成する相手が不確定の場合に利用される。
【００３０】
利用者Ａは、利用者Ｂから送られてきたグループ加入要求に基づいて、利用者Ｂとのグループ形成の可否を判断し(S104)、もし形成しないのであれば、再びグループ加入要求待ちとなる(S101-1)。利用者Ｂ側で応答受信ができなければ、グループ形成相手がいないものとして、別のグループ加入要求を行うか、他の利用者からのグループ加入要求待ちとなる。ここで、利用者Ａ側からグループ形成を拒否するメッセージを利用者Ｂ側に送信してもよい。この場合、即座に利用者Ｂ側は次の処理に進むことが可能となる。
【００３１】
もし、利用者Ａ側でグループの形成を承諾するのであれば、計算機１−Ａからグループ形成の承諾を意味する交換鍵要求（例えば、要求者名やグループ名やメールアドレスを含む）を送信する(S105)。 利用者Ｂの計算機１−Ｂは交換鍵要求を受信し(S106)、利用者Ｂは受信した鍵交換要求に基づいてグループ形成するかの可否を判断する。もし、ブロードキャスト通信やマルチキャスト通信により、グループ加入要求を行っていれば、複数の応答がある可能性がある。利用者Ｂはその場合、グループ加入要求を送信後、一定時間以内に送られてきた複数の応答から、グループを形成する相手を選択する。もし、いずれの応答に対してもグループを形成するつもりがなければ、ここでキャンセルし、グループ加入要求待ちに戻る(S101-2)。利用者Ｂ側からグループ形成を拒否するメッセージを利用者Ａ側に送信してもよい。この場合、即座に利用者Ａ側は次の処理に進むことが可能となる。
【００３２】
次に、両計算機1−Ａ、1−Ｂにおいて交換鍵の計算が行われる。ここではDiffie-Hellman型鍵交換方式を用いる。特定のいわゆる群に対する群生成元ｇと、ある素数ｐがあり、グループに加入する利用者には既知であることとする。各利用者Ａ、Ｂの計算機1−Ａ、1−Ｂにおいては、それぞれ1<ｘ<ｐである秘密鍵ｘ、1<ｙ<ｐである秘密鍵ｙをランダムに抽出する(S107-1,S107-2)。そして、交換鍵Ｘ、ＹをＸ=ｇ ｘmod ｐ、Ｙ=ｇ ymod ｐから求める(S108-1,S108-2)。
【００３３】
次に、利用者Ａ、Ｂ間で交換鍵を送受信する(S109,S110,S111,S112)。そして、グループ暗号通信の際に、通信データを暗合処理するためのグループ秘密鍵（共通暗号鍵）を計算する(S113-1,S113-2)。Diffie-Hellman型鍵交換方式であれば、計算機１−Ａ、１−Ｂは、それぞれ受け取った交換鍵Ｙ，Ｘに基づき、Ｙｘmod ｐ，Ｘ ymod ｐを計算する。ここで得られる値は、両計算機１−Ａ、１−Ｂとも同じ値となり、この値をDESなどの共通暗号鍵とすることでグループ暗号が可能となる。このグループ秘密鍵を用いて、送受信するデータを暗号処理し、２者間でのグループ暗号通信を行う(S114-1,S114-2)。
【００３４】
S107-1,S107-2乃至S113-1,S113-2の処理は、以下のように、RSA鍵暗号方式を利用しても行うことが可能である。利用者Ａの公開鍵ｐは既知であることとする。利用者Ｂの計算機１−Ｂにおいては、秘密鍵ｘをランダムに抽出する(S107-1)。そして、暗号鍵ｘを公開鍵ｐを用いて暗号化して、交換鍵Ｘを得る(S108-2)。そして、交換鍵Ｘを利用者Ａ側に送信する(S109,S110)。利用者Ａ側の計算機１−Ａにおいては、受け取った交換鍵Ｘを公開鍵ｐに対応する秘密鍵qを使って復号し(S113-1)、暗号鍵ｘを得る。秘密鍵ｑを知り得るのは利用者Ａのみなので、利用者Ａ以外は暗号鍵ｘを復号することができない。従って、、安全に暗号鍵ｘが配信される。ここで暗号鍵ｘが共有されたグループ秘密鍵であり、このグループ秘密鍵を用いて、送受信するデータを暗号処理し、２者間でのグループ暗号通信を行う(S114-1,S114-2)。
【００３５】
以上、２者間のグループ暗号通信について説明したが、さらに別の利用者Ｃが、グループに新たに加入する場合について図３を参照しながら説明する。
【００３６】
あるグループ暗号通信が確立しているものとする(S201-1,201-2)。このグループ構成メンバーのうち、ある利用者Ａをグループ代表利用者とする。グループ代表利用者とは、新規加入者との間で交渉の通信するグループ構成メンバーであり、グループ暗号通信のための共通暗号鍵をグループ秘密鍵ａとする。
【００３７】
新たに加入しようとする利用者Ｃの計算機１−Ｃにおいては、最初アプリケーションプロセス２を開始し、グループ加入要求待ちとなる(S201-3)。２利用者間でグループ暗号通信を確立するのと同様に、利用者Ｃがグループ加入要求を発信すると(S202-3)、利用者Ａの計算機１−Ａがグループ加入要求を受信する(S202-1)。もし、ブロードキャストメッセージ通信、マルチキャストメッセージ通信を用いる場合、グループ全員が加入要求を受信するが、グループ代表利用者以外の利用者（ここでは便宜的に利用者Ｂとする）においては、グループ加入要求は無視する（S202-2,S203-2）。
【００３８】
グループリーダの利用者Ａが、利用者Ｃのグループ加入の可否を判断し(S203-1,S204)、もし不可であれば、何も応答せずに利用者Ｂとのグループ暗号通信を継続する。利用者Ｃ側で応答受信ができなければ、グループ加入が許可されないものとして、別のグループ加入要求を行うか、他の利用者からのグループ加入要求待ちとなる。ここで、利用者Ａ側からグループ加入を拒否するメッセージを利用者Ｃ側に送信してもよい。この場合、即座に利用者Ｃ側は次の処理に進むことが可能となる。
【００３９】
もし、利用者Ａ側でグループを加入を許可するのであれば、グループ加入の許可を意味する交換鍵要求を送信する(S205)。利用者Ｃでは交換鍵要求を受信し、利用者Ｃ側でグループ加入の可否を判断する(S206-3)。もし、ブロードキャスト通信やマルチキャスト通信により、グループ加入要求を行っていれば、複数の応答がある可能性がある。利用者Ｃはその場合、複数の応答から、加入するグループを選択する。もし、いずれの応答に対しても加入するつもりがなければ、ここでキャンセルし、グループ加入要求待ち(S201)に戻る。利用者Ｃ側からグループ加入を拒否するメッセージを利用者Ａ側に送信してもよい。この場合、即座に利用者Ａ側は次の処理に進むことが可能となる。
【００４０】
次に、両者において交換鍵の計算が行われる。ここでDiffie-Hellman型鍵交換方式を用いる。特定のいわゆる群に対する群生成元ｇと、ある素数ｐがあり、グループに加入する利用者には既知であることは、２者間でのグループ暗号通信の確立の時と同じである。利用者Ｃの計算機１−Ｃにおいては、1<ｚ<ｐである秘密鍵ｚをランダムに抽出する(S207)。そして、交換鍵Ｚをｇｚmod ｐから求める(S208-3)。利用者Ａの計算機1−Ａにおいては、すでに確立しているグループ暗号通信のグループ構成メンバーと共有済みのグループ秘密鍵ａを用いて、交換鍵αをｇａmod ｐから求める(S208-1)。
【００４１】
交換鍵要求は、利用者Ｂに対しても送信する(S205)。利用者Ｂの計算機１−Ｂが交換鍵要求を受信すると、これから受信すべき交換鍵を受信できるようにグループ秘密鍵更新準備を行う(S206-2,S209)。そして、利用者Ａは利用者Ｃに対して、利用者Ｃは利用者Ａに対して、交換鍵を送信する。また、利用者Ａは、利用者Ｃから送られてきた交換鍵を利用者Ｂに送信する(S210-1,S210-2,S210-3)。そして、受信した交換鍵を使って、新たなグループ秘密鍵を計算する(S211-1,S211-2,S211-3)。利用者Ａ、Ｂの計算機1−Ａ、１−Ｂにおいては、交換鍵Ｚを受信し、Zａmod ｐを計算する。利用者Ｃの計算機１−Ｃにおいてはαzmod ｐを計算する。Zａmod ｐとαzmod ｐは同じ値となり、利用者Ａ、Ｂ、Ｃで共有する新たなグループ秘密鍵となる。このグループ秘密鍵を用いて、送受信するデータを暗号処理し、三者間でのグループ暗号通信を行う(S212-1,S212-2,S212-3)。
【００４２】
なお、上述した説明では、計算機1−Ａが計算機1−Ｃから送られてきた交換鍵を計算機1−Ｂに送信するようにしたが、計算機1−Ｃが計算機1−Ｂに直接交換鍵を送信するようにしても良い。また、上述した説明では、利用者Ａの計算機１−Ａから利用者Ｂの計算機１−Ｂに交換鍵を送信し、利用者Ｂの計算機１−Ｂにおいて交換鍵と現在のグループ秘密鍵とに基づいて、新たなグループ秘密鍵を計算するようにしたが、利用者Ａの計算機１−Ａが、交換鍵とグループ秘密鍵とに基づいて計算した新たなグループ秘密鍵を暗号化して利用者Ｂの計算機に送信するようにしても良い。この暗号化には、例えば、現時点で利用者Ｂが認識しているグループ秘密鍵を使用することができる。
【００４３】
また、上述した説明では、新たな加入者が加わる際に、新たな交換鍵を生成して、グループ秘密鍵を更新する場合しか説明していないが、グループ秘密鍵の更新は、特に新たな加入者が加わる時に限定されるものではない。任意のタイミングで頻繁に、新たな交換鍵を配布し、グループ秘密鍵を更新することにより、セキュリティを更に高いものにすることができる。具体的には、計算機１−Ａがランダムな値ｒを選択し、Ｒ=ｇrmod ｐを計算する。そして、このＲを計算機１−Ｂ、１−Ｃに配信する。計算機１−Ａ、１−Ｂ、１−Ｃでは、新たなグループ秘密鍵ｙをｙ=Ｒｘmod ｐにより計算する。ここで、Ｒが盗聴されたとしても、Diffie-Hellman型鍵交換方式と同様に、新たなグループ暗号鍵ｙを計算することは困難であり、安全にグループ暗号鍵を更新することができる。
【００４４】
また、S206-2,S206-3乃至S211-1,S211-2,S211-3の処理は、以下のように、Diffie-Hellman型鍵交換方式を用いた鍵交換を利用することも可能である。利用者Ｃの公開鍵ｐは既知であることとする。利用者Ａの計算機１−Ａにおいては、グループ秘密鍵ａを公開鍵ｐを用いて暗号化して、交換鍵αを得る(S208-1)。そして、交換鍵αを利用者Ｃ側に送信する(S210-1,S210-3)。利用者Ｃの計算機1−Ｃにおいては、受け取った交換鍵αを公開鍵ｐに対応する秘密鍵qを使って復号し(S211-3)、秘密鍵ａを得る。秘密鍵ａが共有されたグループ秘密鍵であり、このグループ秘密鍵を用いて、送受信するデータを暗号処理し、三者間でのグループ暗号通信を行う(S212-1,S212-2,S212-3)。但し、この場合グループ秘密鍵は更新されない。
【００４５】
以上、利用者が２人から３人になる場合について説明したが、さらに利用者が加入する場合についても同様の手法が適用可能である。また、利用者がグループから脱退する場合、利用者の登録や管理などを行っていないので、何も手続きをする必要はない。但し、再加入の場合は、新たに加入する手続きが必要である。
【００４６】
また、上述した説明では、グループ内の代表計算機をある特定の計算機として説明したが、例えば、次のように決定しても良い。
【００４７】
例えば、無線アクセスによりグループ暗号通信を行っている場合には、グループに参加しようとする加入要求計算機に受信電波レベルをチェックする機能を付加し、受信レベルが最も高いグループ内の計算機を最もネットワーク的に近接している計算機と認識し、この計算機をグループの代表計算機とする。
【００４８】
もしくは、加入要求計算機が、pingメッセージを発行し、これを受信したグループ内の各計算機が、それぞれpingメッセージのネットワーク経路をチェックし、経由するルータ数、ハブ数を求める。その後、グループ内の各計算機が、自計算機で求めたルータ数、ハブ数を互いにやり取りする等して、加入要求計算機との間のルータ数、ハブ数が最も少ない計算機（加入要求計算機とネットワーク的に最も近接している計算機）を特定する。そして、このようにして特定した計算機を代表計算機とし、代表計算機から加入要求計算機にその旨の通知を行う。
【００４９】
もしくは、加入要求計算機がpingメッセージを発行し、グループ内の各計算機が時刻付きで加入要求計算機に応答を返し、加入要求計算機が最も応答時刻の早い計算機を代表計算機と認識する。
【００５０】
次に、本発明の第２の実施の形態を説明する。本実施の形態の基本的構成は第1の実施の形態通りであるが、グループ暗号通信を行っている２つのグループが相互に認証し、１つのグループ暗号通信を行うグループを形成できるようにさらに工夫している。そのグループ暗号通信システムの動作を図４のシーケンスチャートを使用して説明する。
【００５１】
あるグループＡの利用者Ａ１，Ａ２が、自身の計算機１−Ａ１，１−Ａ２を使用してグループ秘密鍵Ａでグループ暗号通信を行っており(S201-1,S201-2)、一方のグループＢの利用者Ｂ１，Ｂ２が、自身の計算機１−Ｂ１，１−Ｂ２を使用してグループ秘密鍵Ｂでグループ暗号通信を行っているものとする(S201-3,S201-4)。この２つのグループＡ，Ｂが合併して１つのグループを形成しようとする場合、各グループＡ，Ｂの代表利用者Ａ１，Ｂ１が交渉を行う。まず、グループＢの代表利用者Ｂ１が、計算機１−Ｂ１を使用してグループＡの代表利用者Ａ１の計算機１−Ａ１に対して、グループ合併要求を発信する(S302)。Ａグループ代表利用者Ａ１は、グループ合併要求を受信し(S303)、その要求の可否を判断する(S304)。もし、要求を拒否するのであれば、その要求を無視して、グループＡのグループ暗号通信を継続する。このとき、要求の拒否の旨をグループＢの代表利用者Ｂ１の計算機１−Ｂ１に通知してもよい。この場合、グループＢの代表利用者Ｂ１は、拒否を受信しだい、次の処理に進む。
【００５２】
グループＡの代表利用者Ａ１は、グループ合併要求を許可するのであれば、交換鍵の要求を発信する(S305)。グループＢの計算機１−Ｂ１は、交換鍵要求を受信し、グループＢ側でのグループ合併の可否を判断する(S306)。もし合併を許諾するのであれば、グループ秘密鍵Ｂを使って、交換鍵を計算する(S307)。交換鍵βは、β＝ｇＢmod ｐで計算する。一方、グループＡの計算機１−Ａ１は、グループ秘密鍵Ａを使って、交換鍵を計算する(S308)。交換鍵αは、α＝ｇＡmod ｐで計算する。
【００５３】
次に、グループＡ，Ｂの計算機１−Ａ１，１−Ｂ１とで、交換鍵α、βを互いに送受信する(S309-1,S309-3)。計算機１−Ａ１は、受信した交換鍵βをグループＡのメンバーの計算機１−Ａ２に送信し(S310-1)、計算機１−Ｂ１は、受信した交換鍵αをグループＢのメンバーの計算機１−Ｂ２に送信する(S310-3)。グループメンバーの計算機１−Ａ２，１−Ｂ２は、それぞれ交換鍵β，αを受信する(S311,S312)。そして、全ての計算機１−Ａ１，１−Ａ２，１−Ｂ１，１−Ｂ２は、グループ秘密鍵計算を行う(S313-1〜S313-4)。グループＡの計算機１−Ａ１，１−Ａ２は、βＡmod ｐを計算し、グループＢの計算機１−Ｂ１，１−Ｂ２は、αＢmod ｐを計算する。βＡmod ｐとαＢmod ｐは、いずれもｇＡＢmod ｐとなり、両方のグループメンバーの計算機１−Ａ１，１−Ａ２，１−Ｂ１，１−Ｂ２でグループ秘密鍵を共有できる。その後、各計算機１−Ａ１，１−Ａ２，１−Ｂ１，１−Ｂ２は、上記グループ秘密鍵を使用してグループ暗号通信を行う(S201-1〜S201-4)。合併後の代表計算機は、例えば、グループ合併要求を発行した計算機、あるいはグループ合併要求を受信した計算機とすることができる。
【００５４】
なお、以上の説明では、グループ代表者の計算機１−Ａ１，１−Ｂ１からグループメンバーの計算機１−Ａ２，１−Ｂ２に交換鍵を送信し、グループメンバーの計算機１−Ａ２，１−Ｂ２において、送られてきた交換鍵と現在の自グループのグループ秘密鍵とに基づいて新たなグループ秘密鍵を計算するようにしたが、グループ代表者の計算機１−Ａ１，１−Ｂ１で計算した新たなグループ秘密鍵を、グループメンバーの計算機１−Ａ２，１−Ｂ２が現在使用している自グループのグループ秘密鍵で暗号化し、グループメンバーの計算機１−Ａ２，１−Ｂ２に送信するようにしても良い。この場合、グループメンバーの計算機１−Ａ２，１−Ｂ２は、現時点で使用している自グループのグループ秘密鍵を用いて新たなグループ秘密鍵を復号し、以後、新たなグループ秘密鍵を使用してグループ暗号通信を行う。
【００５５】
このような第２の実施の形態において、説明した手法をさらに工夫することで、複数の利用者がほぼ同時にあるグループ加入を要求しようとする場合でも、より効率的に処理できる。
【００５６】
グループの代表計算機は、最初のグループ加入要求を受信してから所定時間が経過するまでの間に送られてきたグループ加入要求をプールしておく。今、例えば、上記所定時間の間に図５に示すように、複数の利用者１〜ｎから送られてきたｎ個のグループ加入要求をプールしたとすると、代表計算機は、まず２利用者ずつのペアを生成して、まずその２利用者間で認証、秘密鍵の共有を行う。さらにペアのいずれかを代表者とし、同じ処理を繰り返す。つまり、代表者の集合の中から、さらに２利用者づつのペアを生成して、その２利用者間で認証、秘密鍵の共有を行う。もし、利用者の数が偶数でなければ、余った利用者は、次の組み分けにそのまま進む。この処理を繰り返すことで、最後の２利用者間で秘密鍵の共有が成立する。これをグループ秘密鍵とする。
【００５７】
次に、グループ秘密鍵を暗号化して、代表元のペアの相手に暗号化して配信することで、グループ秘密鍵を共有する。このときの暗号化は、ペアの相手との間で共有した秘密鍵を用いることで安全に配信できる。この処理を繰り返すことで、グループに加入しようとする全員にグループ秘密鍵を配信することが可能となる。
【００５８】
本発明の第３の実施の形態を説明する。本実施の形態の基本的構成は第1の実施の形態通りであるが、グループメンバーの加入の可否を判断する処理について、さらに工夫している。具体的には、図６に示すように、各計算機１−１〜１−ｎにおいて認証データ処理部８を付け加えた構成となる。
【００５９】
認証データ処理部８においては、加入しようとする相手の認証データについて検証を行う。認証データは、上述の第１および第２の実施の形態のS102,S202-3,S302において送信されるグループ加入要求，グループ併合要求に付加されて送信される。また、S105,S205,S305において送信される交換鍵要求にも付加されて送信される。つまり、認証処理は、２利用者間のグループ暗号通信を確立する場合、グループ暗号通信に新たな加入者が加入する場合、および２つのグループが合併する場合に行われる。認証データには、例えば、グループ加入要求、グループ併合要求、交換鍵要求を行う要求者の要求者名（メールアドレス）、公開鍵の置き場所（サーバ名，URL）および加入要求者の秘密鍵で暗号化された加入要求グループ名が含まれる。
【００６０】
検証は通常次のように行われる。認証データは、送信者のRSA暗号の秘密鍵で暗号化されている。受信側は、信頼できる第3機関から送信者の公開鍵を取得し、その公開鍵を使って、暗号化された認証データを復号することで、その認証データの送信元の認証が可能となる。なお、認証処理の詳細については、、当業者にとって良く知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。
【００６１】
本発明においては、受信した認証データは認証データ処理部８において検証されるが、次のように処理される。
【００６２】
まず、以前に認証データの検証を行ったときに登録した要求者名と公開鍵情報のペア中に、認証データの送信者の公開鍵情報が含まれているかどうかをチェックする。このチェックは、例えば、認証データに含まれている要求者名をキーにして、上記登録した情報を検索することにより行う。含まれている場合は、公開鍵情報の有効性のチェックを行う。有効性とは、例えば有効期限のチェックなどである。そして、保存している公開鍵情報を用いて、加入要求グループ名を復号し、認証処理を行い、その結果を基に、グループ加入の可否を判断することになる。
【００６３】
もし、送信者の認証データに対する公開鍵情報が、保存してある公開鍵情報に含まれていなければ、他のグループメンバーに対して問い合わせを行う。もし、グループメンバーの誰かが、送信者の認証データに対する公開鍵情報を保存してあるのであれば、その情報を使って、認証データの処理を実行する。
【００６４】
もし、送信者の認証データに対する公開鍵情報が、グループメンバーの誰も保存していなければ、認証データに含まれている公開鍵の置き場所に従って、該当するサーバに問い合わせを行う。もし認証サーバへの問い合わせを行わないのであれば、不完全な認証データであることを了解して、グループ加入の可否を判断することになる。認証サーバへの問い合わせを行い、公開鍵情報を取得できたのであれば、その公開鍵情報は、次回の検証において用いるために、認証データ中の要求者名と対応付けて保存する。
【００６５】
また、送信者から送られてきた認証データに公開鍵情報が含まれていないが、送信者の本人確認ができる場合には、ローカルなRSA暗号鍵のペアを作成して、一方を秘密鍵情報として送信者が保持し、もう一方を公開鍵情報として受信者が保持するようにしてもよい。公開鍵のペアの生成は、送信者側でも、グループ側のいずれで行ってもよい。そして、その公開鍵情報は、次回の検証において用いるために、認証データ中の要求者名と対応付けて保存する。
【００６６】
また、他のグループメンバーに対して、認証を行った公開鍵情報を配信しておくことで、その時点で認証を行ったグループメンバーが不在の場合でも、次回の検証において、グループメンバーのいずれかが公開鍵情報を保持しているので、検証処理を円滑に行うことが可能となる。
【００６７】
このように、第３の実施の形態においては、送信者の認証を行うことを可能とする。認証を行うことで、送信者が本人であることを確認するだけでなく、次のような効果も期待できる。
【００６８】
第１に、無線通信を利用している場合に、通信している途中で突然回線の接続が切れる可能性があるが、もし接続が切れても、再接続する際に、送信者の確認を行うこととで、通信の継続を安全にかつ効率的に行うことが可能であうる。
【００６９】
第２に、成りすましをして、グループ暗号通信に参加している利用者の発見を容易にする。なぜならば、正規の利用者と成りすましの利用者の同時のグループ通信参加を不可能とすることができるからである。
【００７０】
次に本発明の第４の実施の形態について説明する。本実施の形態の基本的構成は第３の実施の形態通りであるが、認証の処理について、さらに工夫している。具体的には、図７のシーケンスチャートに示す、S701-1〜S704-2の処理を行う。
【００７１】
図７のS701-1、S701-2の処理は、図２のS109〜S112の処理、図３のS210-1,S210-3の処理、図４のS309-1,S309-3の処理に対応する処理である。また、図７のS702-1、S702-2の処理は、図２のS113-1,S113-2の処理、図３のS211-1,S211-3の処理、図４のS313-1,S313-3の処理に対応する処理である。図７のS703-1、S703-2,S704-1,S704-2の処理は、図２のS113-1,S113-2の次に行われる処理、図３のS211-1,S211-3の次に行われる処理、図４のS313-1,S313-3の次に行われる処理である。
【００７２】
図７のS701-1,S701-2,S702-1,S702-2では、前述したDiffie-Hellman型鍵交換方式を用いて、交換鍵を計算し、互いに通信し、暗号鍵を共有する。ただし、交換鍵ＸをＸ=ｇ ｘmod ｐから求めるが、ｇおよびｐはグループメンバーのみが知りうる値とする。求めたグループ暗号鍵Ｘｙmod ｐをkeyとする。また、グループメンバーは、グループ固有の秘密の識別情報id1を保持するものとする。つまり、グループメンバーは、ｇ、ｐ、id1の３つのグループ固有の秘密の値を保持する。
【００７３】
次に、一方の利用者が、グループ固有の識別情報id1をグループ暗号鍵keyで暗号化し、相方に送信する(S703-1)。もし、相方が同じグループメンバーであれば、同じグループ暗号鍵keyを共有しており、グループ固有の識別情報id1を復号可能である。復号した識別情報id1が、自分が保持する識別情報と同一であれば、送信側の利用者をグループメンバーであると認める(S703-2)。もし、互いに同じグループメンバーでなければ、グループ固有の識別情報id1を復号できず、送信側の利用者をグループメンバーでないと否認できる。
【００７４】
さらに、上記グループ暗号鍵keyをグループ固有の識別情報id1で暗号化し、返信する(S704-2)。受信した利用者は、識別情報で復号して、暗号鍵keyを得ることで、返信側の利用者をグループメンバーであると認める(S704-1)。もし、返信側がグループメンバーでなければ、グループ暗号鍵keyを正しく復号できないので、返信側の利用者をグループメンバーでないと否認できる。
【００７５】
上記の例では、ｇ、ｐ、id1の３つのグループ固有の秘密の値を用いたが、返信時にもう１つのグループ固有の秘密の識別情報id2を用いて、グループ固有の識別情報id2を前記暗号鍵keyで暗号化し、返信してもよい。
【００７６】
このように第４の実施の形態においては、送受信者の認証を安全に簡単に行うことを可能とする。いずれかが成りすましをして、認証のための情報を交換しても、グループ固有の秘密の情報を得ることはできず、また盗聴しても、グループ固有の秘密の情報を得ることはできないので、安全に認証処理を行うことができる。また、前述したたDiffie-Hellman型鍵交換方式からわずかな変更だけであるので、簡単に認証処理を行うことができる。
【００７７】
次に本発明の第５の実施の形態を説明する。本実施の形態の基本的構成は第1の実施の形態通りであるが、グループメンバーの加入の可否の判断などのグループの意思決定を支援するための機能を工夫している。具体的には、図８に示すように、各計算機１−１〜１−ｎに、投票データ処理部９を設けている。なお、投票処理の詳細については、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。
【００７８】
本発明においては、グループメンバーの加入の可否の判断を例にしたグループの意思決定について説明する。グループ代表利用者は、グループメンバーに対して、新規メンバーの加入の可否の問い合わせを行う。問い合わせには、新規メンバーのプロファイル情報が含まれる。
【００７９】
投票を集計処理し、その結果に対して、あらかじめ決めていたグループポリシーと比較して、新規メンバーの加入の可否を判断する。ここでのグループポリシーとは、グループメンバー全員のOKの応答があること、応答の半数がOKであること、NGの応答がないこと、などがある。
【００８０】
本発明においては、交換鍵の計算として、主にDiffie-Hellman型鍵交換方式を適用した構成について説明を行ったが、当然ながら、RSA暗号方式、楕円曲線型暗号方式などの非対称型の暗号方式を交換鍵の計算方式として適用することが可能である。
【００８１】
以上詳細に本発明の実施の形態の構成を述べたが、上記の通信処理、および暗号処理は、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。
【図面の簡単な説明】
【００８２】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】２利用者間でグループ暗号通信を確立する際の処理例を示すシーケンスチャートである。
【図３】グループ暗号通信に新たな利用者が加入する際の処理例を示すシーケンスチャートである。
【図４】本発明の第２の実施の形態の処理の流れを説明するシーケンスチャートである。
【図５】本発明の第２の実施の処理の概要を示す図である。
【図６】本発明の第３の実施の形態の構成を示すブロック図である。
【図７】本発明の第４の実施の形態の処理の流れを説明するシーケンスチャートである。
【図８】本発明の第５の実施の形態の構成を示すブロック図である。
【図９】従来の技術を説明するためのブロック図である。
【符号の説明】
【００８３】
１−１〜１−ｎ、102-1〜102-4…計算機
２…アプリケーションプロセス
３…通信部
４…加入確認部
５…秘密鍵管理部
６…グループ秘密鍵計算部
７、51…ネットワーク
８…認証データ処理部
９…投票データ処理部
103…認証サーバ
105…グループ管理サーバ
106-1〜106-4…プロセス
【図１】
2007129764.tif 000003
【図２】
2007129764.tif 000004
【図３】
2007129764.tif 000005
【図４】
2007129764.tif 000006
【図５】
2007129764.tif 000007
【図６】
2007129764.tif 000008
【図７】
2007129764.tif 000009
【図８】
2007129764.tif 000010
【図９】
2007129764.tif 000011