(57)【要約】【課題】共通の仲介者がいるが、仲介者がいない席で実際に会う相手同士は全くの初対面というような場合、インターネット等の公衆ネットワークの利用環境が無い状況でも、個人情報を一切開示することなく双方（各自）で仲介者か指名した正しい相手であることを確認することを可能にする。【解決手段】仲介者から、同一のグループにしたい各メンバーに対してそれぞれ異なる鍵を配布し、各メンバーはその鍵を携帯電話等の機器に格納する。各メンバーは、相手が会うべき相手であることを確認する際、任意のメンバーが相手（全員）から鍵をもらい、自身の機器において簡単な演算を行う。その演算の結果で相手が、仲介者が指名した会うべき相手か否かを判断することができる。相手が全くの初対面であっても、個人情報は一切開示する必要はなく、提示するのは鍵のみである。確認の際、１人でも異なるグループの鍵が入っている場合は、演算結果は不適となる。【選択図】図１
2008118325.tif 000002
【特許請求の範囲】
【請求項１】
同一グループのメンバーに対して夫々異なる鍵情報を生成し、且つ、メンバー数と同数の夫々異なる素数を選択し、生成された鍵情報と、選択された全ての素数の積とを配布するセンター端末と、
前記センター端末及び他のメンバーの携帯端末から取得した鍵情報の積と、前記センター端末から取得した素数の積とを用いて、同一グループのメンバーか否かの検証を行う携帯端末と
を有する
グループメンバー確認システム。
【請求項２】
請求項１に記載のグループメンバー確認システムにおいて、
前記センター端末は、前記携帯端末に対してメンバー数を通知する
グループメンバー確認システム。
【請求項３】
請求項１又は２に記載のグループメンバー確認システムにおいて、
前記センター端末は、
同一グループのメンバーに対して夫々異なる鍵情報を生成する鍵生成部と、
生成された鍵情報の配布を制御する入出力制御部と、
生成された鍵情報を記憶する記憶部と、
鍵情報の生成や検証に使用する素数を生成する素数生成部と
を具備する
グループメンバー確認システム。
【請求項４】
請求項１乃至３のいずれか一項に記載のグループメンバー確認システムにおいて、
前記携帯端末は、
前記センター端末及び他のメンバーの携帯端末から取得した鍵情報を記憶する記憶部と、
検証に使用する乱数を生成する乱数生成部と、
鍵情報、素数の積、及び乱数に基づいて、同一グループのメンバーであることを検証するための演算を行う演算部と
を具備する
グループメンバー確認システム。
【請求項５】
請求項３に記載のグループメンバー確認システムにおいて、
前記センター端末は、
暗号化したい平文を余分に生成された鍵情報で暗号化した暗号文を生成する暗号文生成部
を更に具備し、
前記携帯端末は、
前記センター端末及び他の携帯端末から取得した鍵情報及び暗号文を記憶する記憶部と、
鍵情報、素数の積、及び暗号文に基づいて、同一グループのメンバーであることを検証するための演算を行う演算部と
を具備する
グループメンバー確認システム。
【請求項６】
（ａ１）センター端末が、グループのメンバー数ｎを決定し、ｎ個の異なる素数Ｐｎを選択するステップと、
（ａ２）選択されたｎ個の異なる素数の各々から１を引いた値の積Ｌ＝（Ｐ１−１）×（Ｐ２−１）×…×（Ｐｎ−１）を計算するステップと、
（ａ３）計算されたＬと互いに素で、且つ、Ｋ１×Ｋ２×…×Ｋｎ≡１ｍｏｄＬを満たし、且つ、Ｋ１，Ｋ２，…，Ｋｎは全て異なり、且つ、Ｋｉ≠１（ｉ＝１〜ｎ）となるようなｎ個の鍵情報Ｋ１，Ｋ２，…，Ｋｎを選択するステップと、
（ａ４）選択されたｎ個の素数の積Ｑ＝Ｐ１×Ｐ２×…×Ｐｎを計算するステップと、
（ａ５）グループの各メンバーＧｉの携帯端末に対して、（Ｋｉ，Ｑ）を配布するステップと
を具備する
グループメンバー確認方法。
【請求項７】
請求項６に記載のグループメンバー確認方法において、
前記（ａ３）ステップは、
（ａ３１）ｎが３以上の場合は、Ｋ１〜Ｋｎ−１までは、Ｌと互いに素かつＫｉ≠１でＫｉが全て異なるように選択し、最後のＫｎは法Ｌの下でＫ１×Ｋ２×…×Ｋｎ−１の逆元となるように選択するステップ
を具備する
グループメンバー確認方法。
【請求項８】
請求項６又は７に記載のグループメンバー確認方法において、
前記（ａ５）ステップは、
（ａ５１）前記Ｇｉの携帯端末に対して、メンバー数ｎを通知するステップ
を具備する
グループメンバー確認方法。
【請求項９】
請求項６乃至８のいずれか一項に記載のグループメンバー確認方法において、
（ｂ１）前記Ｇｉの携帯端末に、メンバー全員分の鍵情報Ｋ１，Ｋ２，…，Ｋｎを集めるステップと、
（ｂ２）前記Ｇｉの携帯端末で、乱数Ｒを生成するステップと、
（ｂ３）前記Ｇｉの携帯端末上で、Ｒ’≡Ｒ（Ｋ１×Ｋ２×…×Ｋｎ）ｍｏｄＱを計算するステップと、
（ｂ４）Ｒと計算したＲ’とを比較し、Ｒ＝Ｒ’ならば、集まったメンバーＧｉは全員前記センター端末から鍵情報を取得した正当なメンバーであり、Ｒ≠Ｒ’ならば、少なくとも集まったメンバーＧｉのうち少なくとも１人は前記センター端末から正当な鍵情報を取得していない不正な相手がいる、もしくはまだ全員が揃っていないと判定するステップと
を更に具備する
グループメンバー確認方法。
【請求項１０】
（ｃ１）センター端末が、グループのメンバー数ｎを決定し、ｎ＋１個の異なる素数Ｐｎ＋１を選択するステップと、
（ｃ２）選択されたｎ＋１個の異なる素数の各々から１を引いた値の積Ｌ＝（Ｐ１−１）×（Ｐ２−１）×…×（Ｐｎ＋１−１）を計算するステップと、
（ｃ３）計算されたＬと互いに素となり、且つ、Ｋ１×Ｋ２×…×Ｋｎ＋１≡１ｍｏｄＬとなるようなｎ＋１個の鍵情報Ｋ１，Ｋ２，…，Ｋｎ＋１を選択するステップと、
（ｃ４）選択されたｎ＋１個の素数の積Ｑ≡Ｐ１×Ｐ２×…×Ｐｎ＋１ｍｏｄＱを計算するステップと、
（ｃ５）暗号化する平文Ｍを決定するステップと、
（ｃ６）生成された鍵情報のうちの１つＫｎ＋１で、Ｃ＝Ｍ（Ｋｎ＋１）ｍｏｄＱを計算するステップと、
（ｃ７）グループの各メンバーＧｉ（ｉ＝１〜ｎ）の携帯端末に対して、ＫｉとＱ、Ｃを配布するステップと
を具備する
グループメンバー確認方法。
【請求項１１】
請求項１０に記載のグループメンバー確認方法において、
（ｄ１）前記Ｇｉの携帯端末に、メンバー全員分の鍵情報Ｋ１，Ｋ２，…，Ｋｎを集めるステップと、
（ｄ２）前記Ｇｉの携帯端末上で、Ｍ’＝Ｃ（Ｋ１×…×Ｋｎ）ｍｏｄＱを計算するステップと
を更に具備する
グループメンバー確認方法。
【請求項１２】
請求項６乃至１１のいずれか一項に記載のグループメンバー確認方法を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グループメンバー確認システム及びグループメンバー確認方法に関に関し、特に携帯端末を用いたグループメンバー確認システム及びグループメンバー確認方法に関する。
【背景技術】
【０００２】
これまで相手が正当な相手かどうかの確認は、氏名を口頭で明かしたり、身分証明書等を提示して氏名を開示したりしていた。電子的に確認する場合は、ネットワークを介してセンター、システム等に確認を依頼するなどといった形式を取っていた。しかし、従来の方法には、次のような問題点があった。
【０００３】
第１の問題点は、正当な人物であるかどうかの確認のため、氏名などの個人情報を聞かれ、開示したくない場合でも開示しなければならないケースがあるということである。その理由は、いわゆる氏名がその個人が正当な相手であるかどうかの鍵になっているからである。これは、例えば宅配、引越し業者など、一度しか対面することがないような相手に対しても、聞かれた場合は氏名等の個人情報を開示し、相手に信用してもらう状況にある。
【０００４】
第２の問題点は、正当な相手になりすまされる恐れがあることである。その理由は、口頭で伝えられた内容や紙のチラシなどの身分表記に嘘があったとしても、その場で確認する術がないためである。なりすましの例としては、宅配便の配送を装って玄関のドアを開けさせ、何かの勧誘や商品の販売などを行うケースなどがある。
【０００５】
第３の問題点は、個人情報等身分を証明するセンター、サーバ等が別な場所に存在する場合、電子的に相手が正当な相手であるか否かの確認を行う場合は、ネットワークを使用できる環境が必要であることである。現在知られている手法は、相手の確認の際、ネットワークを介して別途システムに情報を送信し、確認を依頼する必要がある。
【０００６】
第４の問題点は、公開鍵方式のような場合、確認したい相手全員分の公開鍵を事前に入手しておく必要があり、更に、各自がそれぞれ全員分の確認をしたい場合は、それぞれが全員分の公開鍵を入手しておく必要がある。その理由は、公開鍵方式の場合、自分が正当であることを証明するために、自身の秘密鍵で署名をし、その署名を自身の公開鍵で検証してもらう方式だからである。
【０００７】
すなわち、これまでの相手方の認証の方式は、例えば公開鍵方式を用いて、自身の持つ秘密鍵で署名をし、相手方には公開鍵で復号してもらうことで、自身が正当な人物であることを証明していた。
【０００８】
また、配送サービスのような場合、電子的に受け取りを確認するシステムとして、公開鍵方式における秘密鍵を受取人が、その秘密鍵に対応する公開鍵を業者システムが保持しておき、配送伝票に付けられた伝票情報を受取人が自分の秘密鍵で暗号化して業者システムに送信し、業者システムが受取人の公開鍵を用いて受信した暗号データを復号して受け取り証明を行うようにしたものが提案されている（特開２００３−１２８２５４号公報）。
【０００９】
しかし、これらの手法では、基本的に自分自身が正当であるということしか証明できないため、双方が正当でることを証明するには双方で相手の公開鍵をなんらかの方法で事前に入手、或いは送付しておく必要があり、複数人の正当性を確認する場合は、それぞれに公開鍵を取得する必要があった。更に、第三者機関のようなセンターに正当性の確認を依頼する場合は、インターネット等のネットワーク環境が必須であるといった問題があった。
【００１０】
なお、特開２００４−１５９２９８号公報（特許文献１）に端末装置、通信方法及び通信システムが開示されている。
この従来技術では、端末Ｙから任意の文字列を端末Ｘに送信し、端末Ｘはこれを自分の秘密鍵で暗号化した文字列とグループ参加証を端末Ｙに送信する。端末Ｙは該参加証をグループ公開鍵で復号化し成功したか確認して端末Ｘを認証する。
【００１１】
また、特開２００５−２３６８５０号公報（特許文献２）にデータ通信装置及び方法、並びにプログラムが開示されている。
この従来技術では、時刻／電子署名等より構成される正当性検証データと公開鍵証明書をユーザ端末からグループ管理装置へ送信し、該管理装置がユーザ端末の正当性を判定する。
【００１２】
また、特開２００６−１３５６１８号公報（特許文献３）に鍵管理方法、鍵生成方法、暗号処理方法、復号処理方法、電子署名方法、アクセス管理方法、通信ネットワークシステムが開示されている。
この従来技術では、情報を共有する複数の利用者（グループ員）に対してＮＷ（ネットワーク）管理サーバが復号化の秘密鍵をそれぞれの利用者に配布する。
【００１３】
また、特開２００６−１７１８２９号公報（特許文献４）に電子ショッピングシステム及び方法が開示されている。
この従来技術では、認証サーバから正常に認識されたことを証明する認証チケットを各端末が取得し、グルーピングサーバはグループを構成する各端末から該認証チケットを取得することでメンバーが正当であることを認定する。
【００１４】
更に、関連する技術として、特開２００２−３４２７３７号公報（特許文献５）、特開２００３−１２８２５４号公報（特許文献６）、特許第３７７５８６４号公報（特許文献７）が知られている。
【００１５】
【特許文献１】特開２００４−１５９２９８号公報
【特許文献２】特開２００５−２３６８５０号公報
【特許文献３】特開２００６−１３５６１８号公報
【特許文献４】特開２００６−１７１８２９号公報
【特許文献５】特開２００２−３４２７３７号公報
【特許文献６】特開２００３−１２８２５４号公報
【特許文献７】特許第３７７５８６４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明の目的は、従来の問題点を解決するグループメンバー確認方法、及びグループメンバー確認システムを提供することである。
【課題を解決するための手段】
【００１７】
以下に、［発明を実施するための最良の形態］で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。但し、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１８】
本発明のグループメンバー確認システムは、同一グループのメンバーに対して夫々異なる鍵情報を生成し、且つ、メンバー数と同数の夫々異なる素数を選択し、生成された鍵情報と、選択された全ての素数の積とを配布するセンター端末（１０）と、前記センター端末（１０）及び他のメンバーの携帯端末（２０）から取得した鍵情報の積と、前記センター端末（１０）から取得した素数の積とを用いて、同一グループのメンバーか否かの検証を行う携帯端末（２０）とを有する。
【００１９】
前記センター端末（１０）は、前記携帯端末（２０）に対してメンバー数を通知する。
【００２０】
前記センター端末（１０）は、同一グループのメンバーに対して夫々異なる鍵情報を生成する鍵生成部（１４）と、生成された鍵情報の配布を制御する入出力制御部（１２）と、生成された鍵情報を記憶する記憶部（１３）と、鍵情報の生成や検証に使用する素数を生成する素数生成部（１５）とを具備する。
【００２１】
ここで、前記携帯端末（２０）は、前記センター端末（１０）及び他のメンバーの携帯端末（２０）から取得した鍵情報を記憶する記憶部（２３）と、検証に使用する乱数を生成する乱数生成部（２５）と、鍵情報、素数の積、及び乱数に基づいて、同一グループのメンバーであることを検証するための演算を行う演算部（２４）とを具備する。
【００２２】
或いは、前記センター端末（１０）は、暗号化したい平文を余分に生成された鍵情報で暗号化した暗号文を生成する暗号文生成部（１６）を更に具備する。前記携帯端末（２０）は、前記センター端末（１０）及び他の携帯端末（２０）から取得した鍵情報及び暗号文を記憶する記憶部（２３）と、鍵情報、素数の積、及び暗号文に基づいて、同一グループのメンバーであることを検証するための演算を行う演算部（２４）とを具備する。
【００２３】
本発明のグループメンバー確認方法は、（ａ１）センター端末（１０）が、グループのメンバー数ｎを決定し、ｎ個の異なる素数Ｐｎを選択するステップと、（ａ２）選択されたｎ個の異なる素数の各々から１を引いた値の積Ｌ＝（Ｐ１−１）×（Ｐ２−１）×…×（Ｐｎ−１）を計算するステップと、（ａ３）計算されたＬと互いに素で、且つ、Ｋ１×Ｋ２×…×Ｋｎ≡１ｍｏｄＬを満たし、且つ、Ｋ１，Ｋ２，…，Ｋｎは全て異なり、且つ、Ｋｉ≠１（ｉ＝１〜ｎ）となるようなｎ個の鍵情報Ｋ１，Ｋ２，…，Ｋｎを選択するステップと、（ａ４）選択されたｎ個の素数の積Ｑ＝Ｐ１×Ｐ２×…×Ｐｎを計算するステップと、（ａ５）グループの各メンバーＧｉの携帯端末（２０）に対して、（Ｋｉ，Ｑ）を配布するステップとを具備する。
【００２４】
前記（ａ３）ステップは、（ａ３１）ｎが３以上の場合は、Ｋ１〜Ｋｎ−１までは、Ｌと互いに素かつＫｉ≠１でＫｉが全て異なるように選択し、最後のＫｎは法Ｌの下でＫ１×Ｋ２×…×Ｋｎ−１の逆元となるように選択するステップを具備する。
【００２５】
前記（ａ５）ステップは、（ａ５１）前記Ｇｉの携帯端末（２０）に対して、メンバー数ｎを通知するステップを具備する。
【００２６】
本発明のグループメンバー確認方法は、（ｂ１）前記Ｇｉの携帯端末（２０）に、メンバー全員分の鍵情報Ｋ１，Ｋ２，…，Ｋｎを集めるステップと、（ｂ２）前記Ｇｉの携帯端末（２０）で、乱数Ｒを生成するステップと、（ｂ３）前記Ｇｉの携帯端末（２０）上で、Ｒ’≡Ｒ（Ｋ１×Ｋ２×…×Ｋｎ）ｍｏｄＱを計算するステップと、（ｂ４）Ｒと計算したＲ’とを比較し、Ｒ＝Ｒ’ならば、集まったメンバーＧｉは全員前記センター端末（１０）から鍵情報を取得した正当なメンバーであり、Ｒ≠Ｒ’ならば、少なくとも集まったメンバーＧｉのうち少なくとも１人は前記センター端末（１０）から正当な鍵情報を取得していない不正な相手がいる、もしくはまだ全員が揃っていないと判定するステップとを更に具備する。
【００２７】
また、本発明の他のグループメンバー確認方法は、（ｃ１）センター端末（１０）が、グループのメンバー数ｎを決定し、ｎ＋１個の異なる素数Ｐｎ＋１を選択するステップと、（ｃ２）選択されたｎ＋１個の異なる素数の各々から１を引いた値の積Ｌ＝（Ｐ１−１）×（Ｐ２−１）×…×（Ｐｎ＋１−１）を計算するステップと、（ｃ３）計算されたＬと互いに素となり、且つ、Ｋ１×Ｋ２×…×Ｋｎ＋１≡１ｍｏｄＬとなるようなｎ＋１個の鍵情報Ｋ１，Ｋ２，…，Ｋｎ＋１を選択するステップと、（ｃ４）選択されたｎ＋１個の素数の積Ｑ≡Ｐ１×Ｐ２×…×Ｐｎ＋１ｍｏｄＱを計算するステップと、（ｃ５）暗号化する平文Ｍを決定するステップと、（ｃ６）生成された鍵情報のうちの１つＫｎ＋１で、Ｃ＝Ｍ（Ｋｎ＋１）ｍｏｄＱを計算するステップと、（ｃ７）グループの各メンバーＧｉ（ｉ＝１〜ｎ）の携帯端末（２０）に対して、ＫｉとＱ、Ｃを配布するステップとを具備する。
【００２８】
本発明の他のグループメンバー確認方法は、（ｄ１）前記Ｇｉの携帯端末（２０）に、メンバー全員分の鍵情報Ｋ１，Ｋ２，…，Ｋｎを集めるステップと、（ｄ２）前記Ｇｉの携帯端末（２０）上で、Ｍ’＝Ｃ（Ｋ１×…×Ｋｎ）ｍｏｄＱを計算するステップとを更に具備する。
【００２９】
本発明のプログラムは、上記のグループメンバー確認方法をコンピュータに実行させる。
【００３０】
このように、本発明では、Ｐｉ（ｉ＝１〜ｎ、ｎ：２以上の自然数）を３以上のそれぞれ異なる素数とする。センター（仲介者）が指名したｎ人のメンバーＧ１，Ｇ２，…，Ｇｎに対し、センター（仲介者）は、それぞれＫ１×Ｋ２×…×Ｋｎ≡１ｍｏｄ（（Ｐ１−１）×（Ｐ２−１）×…×（Ｐｎ−１））を満たすそれぞれ異なる鍵（鍵情報）Ｋ１，Ｋ２，…，Ｋｎを作成し、ＫｉとＱ（＝Ｐ１×Ｐ２×…×Ｐｎ）のペアを配信する。但し、Ｋ１，Ｋ２，…，Ｋｎはそれぞれ1以外かつＬ（＝（Ｐ１−１）×（Ｐ２−１）×…×（Ｐｎ−１））と互いに素かつ全て異なる値とする。ｎ人が同じグループ（センター（仲介者）が指名したメンバーの集合）に属するかどうかの確認手順は、以下の通りである。
まず、ｎ人のメンバーのうち、任意のメンバーＧｉ（ｉは１≦ｉ≦ｎを満たす任意）の端末に、各端末の鍵Ｋ１，Ｋ２，…，Ｋｎを集める。
次に、Ｇｉの端末で、１≦Ｒ≦Ｑ−１を満たす任意の値Ｒを生成する。
次に、Ｇｉの端末で、Ｒ’≡Ｒ（Ｋ１×Ｋ２×…×Ｋｎ）ｍｏｄＱを演算する。
最後に、Ｒ＝Ｒ’となればｎ人はセンターが指名した同一グループのメンバーであり、Ｒ≠Ｒ’なら、少なくとも1人は他グループの鍵を使用しているか、もしくは鍵の数がｎ以外であると判断する。
【発明の効果】
【００３１】
第１の効果は、初対面の相手でも、個人情報一切出さずにセンター（仲介者）が指定した相手であることを確認できることである。その理由は、センターが個別に払い出した鍵（鍵情報）を基に、演算で相手の正当性を確認することができるからである。
第２の効果は、メンバーが正当な相手かどうかを確認する際、鍵を払い出したセンターに問い合わせる必要がないことである。その理由は、相手の携帯端末から赤外線通信や外部記憶装置を介して直接鍵データをもらえば、その場で演算して相手が正当かどうかを検証できるからである。
第３の効果は、相手が正当かどうかを確認する際、インターネットのような通信環境が必要ないことにある。その理由は、第２の効果の理由と同じである。
第４の効果は、メンバーが３人以上の場合でも、個別の確認でなく、一度の検証処理でそれぞれが正しい相手であるということが判断できることにある。その理由は、演算の性質により鍵情報の積を使用して確認するからである。
第５の効果は、センターが配布する鍵が全て異なり、且つ、任意の値で適当に偽造することが困難であることにある。その理由は、鍵生成の際大きな素数を基にしているが、グループのメンバーに配布されるのは使用した全ての素数の積Ｑである。鍵を割り出すためには、Ｑを素因数分解する必要があるが、各素数が大きくなればなるほどこの素因数分解は困難なものになる。また、適当な値を鍵として使用しても、センターが作成した鍵と一致する確率は、最初に選択した各素数が大きくなればなるほど小さくなるからである。
第６の効果は、メンバーの検証の際、各携帯端末で認証側、被認証側という概念がなく、同じ機能構成を実装していれば、誰でも確認可能であることにある。その理由は、演算の性質により、同じ検証アルゴリズムを使用していれば必ず検証結果は同じになるからである。
第７の効果は、例えば証明書といった特別なものが不要であり、特殊な設備やツールなどがなくても、その都度使い捨ての鍵を生成して使用することができることにある。その理由は、使用する値が自然数のみであり、特殊なフォーマット等が必要なく自由に扱えるからである。
【発明を実施するための最良の形態】
【００３２】
本発明では、共通の仲介者がいるが、仲介者がいない席で実際に会う相手同士は全くの初対面というような場合、インターネット等の公衆ネットワークの利用環境が無い状況でも、個人情報を一切開示することなく双方で（３人以上のグループの場合は各自で）仲介者か指名した正しい相手であることを確認することができるグループメンバー確認方法、及びグループメンバー確認システムを示す。センターに相当する機関（仲介者）から、同一のグループにしたい（例えば引き合わせたい）各メンバーに対してそれぞれ異なる鍵（鍵情報）を配布し、各メンバーはその鍵を携帯電話等の機器に格納する。各メンバーは、相手が会うべき相手であることを確認する際、任意のメンバーが相手（３人以上のグループの場合は全員）から鍵をもらい、自身の機器において簡単な演算を行う。その演算の結果で相手が、仲介者が指名した会うべき相手（同じグループのメンバ）か否かを判断することができる。相手が全くの初対面であっても、個人情報は一切開示する必要はなく、提示するのは鍵のみである。確認の際、１人でも異なるグループの鍵が入っている場合は、演算結果は不適となる。また、各自が保有する鍵は全て異なるので、一見しただけでは相手が正当か否かを判別することはできない。また、鍵の偽造は非常に困難であり、且つ、自身の鍵も含め複数の鍵を集めた結果をもとに演算を行って相手を判別するため、鍵を偽造し成りすました不正者が紛れ込んでいた場合も、不正な鍵が含まれていることを判別することができる。
【００３３】
以下に本発明の第１実施形態について添付図面を参照して説明する。
図１を参照すると、本実施形態は、センター（仲介者）端末１０と、携帯端末２０（Ｇｉ、ｉ＝１〜ｎ）とを備えている。これらのセンター端末１０、携帯端末２０はプログラム制御により動作し、インターネット等のネットワーク１００を介して相互に接続されている。センター端末１０は、パーソナルコンピュータ、携帯電話、携帯端末情報処理機能を有する装置であり、同一のグループのメンバーに対してそれぞれ異なる鍵を生成し、各メンバーにネットワーク経由してその鍵を送信、もしくはＵＳＢメモリ等の外部記憶装置を介して鍵を配布する機能を備えている。携帯端末２０（Ｇｉ）は、携帯電話、携帯端末、パーソナルコンピュータ等の情報処理機能を有する装置であり、センターや他のメンバーから鍵を受け取り、それらの鍵を基にグループ員か否かの検証を行う機能を備える。また、携帯端末２０は、例えば玄関先にあるインターフォンのようなものに、上記機能を備えたものでもよい。
【００３４】
図２を参照すると、センター端末１０は、入出力装置１１と、入出力制御部１２と、記憶部１３と、鍵生成部１４と、素数生成部１５とを備えている。入出力装置１１の例として、ネットワークのインタフェースやキーボード、ボタン、ＳＤカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）が挙げられる。入出力制御部１２は、入出力装置１１を経由して入力される情報や、センター内で作成した鍵その他の情報の出力を制御する。記憶部１３は、作成した鍵を記憶する。鍵生成部１４は、同一グループのメンバーであることを証明する鍵の生成やその他演算を行う。素数生成部１５は、鍵生成や検証に使用する素数を生成する。
【００３５】
図３を参照すると、携帯端末２０（Ｇｉ）は、入出力装置２１と、入出力制御部２２と、記憶部２３と、演算部２４と、乱数生成部２５とを備えている。入出力装置２１は、ネットワークのインタフェースやキーボード、ボタン、ＳＤカード、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ、赤外線通信等の通信機能や外部との入出力機能を有する。入出力制御部２２は、入出力装置２１を経由して入力される情報や、携帯端末２０（Ｇｉ）内で検証した検証結果その他の情報の表示等出力を制御する。記憶部２３は、センター１０から送信された鍵や、検証する他の携帯端末から受け取った鍵を記憶する。演算部２４は、同一グループのメンバーであることを検証するための演算を行う。乱数生成部２５は、検証に使用する乱数を生成する。
【００３６】
次に、図１、図２、図３、図４、図５を参照して、本実施形態の動作について詳細に説明する。
ここでは、説明を分かりやすくするために、図１におけるセンター端末１０に相当する仲介者が、Ｇ１とＧ２を引き合わせるケースを想定する。仲介者はＧ１とＧ２双方を知っており、Ｇ１とＧ２も仲介者を知っている。Ｇ１とＧ２はお互いに面識がなくてもよい。メンバーＧ１とＧ２が同一のグループに属することになる。
【００３７】
はじめに、図４を参照して、仲介者（センター端末１０）が各メンバーに配布する鍵を生成し、配布する処理について説明する。
（１）ステップＳ１０１
仲介者は、グループのメンバー数ｎを決定する。ここではＧ１とＧ２なのでｎ＝２とする。
（２）ステップＳ１０２
次に、ｎ個の異なる素数を選択する（それぞれ、Ｐ１とＰ２する）。ここで選択する素数は、大きいほうが望ましい。その理由は、本方式の鍵の偽造防止の困難性は素因数分解の困難さに依っており、その場合、素因数に該当するＰが大きいほうがより素因数分解が困難になるからである。
（３）ステップＳ１０３
次に、選択した各素数から、１を引いた値の積Ｌ＝（Ｐ１−１）×（Ｐ２−１）×…×（Ｐｎ−１）を計算する。
（４）ステップＳ１０４
次に、計算したＬと互いに素で、且つ、Ｋ１×Ｋ２×…×Ｋｎ≡１ｍｏｄＬを満たし、且つ、Ｋ１，Ｋ２，…，Ｋｎは全て異なり、且つ、Ｋｉ≠１となるようなｎ個の鍵Ｋ１，Ｋ２，…，Ｋｎを選択する。ここでは（Ｋ１，Ｋ２）を選択する。ｎが３以上の場合は、例えばＫ１〜Ｋｎ−１までは、Ｌと互いに素かつＫｉ≠１でＫｉが全て異なるように選択し、最後のＫｎは法Ｌの下でＫ１×Ｋ２×…×Ｋｎ−１の逆元となるように選択する。なお、１ｍｏｄＬは、１をＬで割った余り（剰余）を意味する。
（５）ステップＳ１０５
次に、選択したｎ個の素数の積Ｑ＝Ｐ１×Ｐ２×…×Ｐｎを計算する。
（６）ステップＳ１０６
最後に、各メンバーＧｉに対して、（Ｋｉ，Ｑ）のペアを、ネットワークもしくは外部記憶装置等を介して配布する。ここでは、Ｇ１には（Ｋ１，Ｑ）、Ｇ２には（Ｋ２，Ｑ）を配布する。
【００３８】
次に、図５を参照して、各メンバーが実際に会った場面で、それぞれが本当に仲介者が指名した同一グループのメンバーかどうかを検証する方法について説明する。
（１）ステップＳ２０１
メンバーが揃ったら、任意のメンバーＧｉの携帯端末２０に、全員分の鍵Ｋ１，Ｋ２，…，Ｋｎを、赤外線通信や外部記憶装置等を介して集める。
（２）ステップＳ２０２
次に、Ｇｉの携帯端末２０で、乱数Ｒを生成する。
（３）ステップＳ２０３
次に、Ｇｉの携帯端末２０上で、Ｒ’≡Ｒ（Ｋ１×Ｋ２×…×Ｋｎ）ｍｏｄＱを計算する。
（４）ステップＳ２０４
Ｒと計算したＲ’とを比較し、Ｒ＝Ｒ’なら、集まったメンバーＧｉは全員仲介者から鍵を受け取った正当なメンバーＧｉであり、Ｒ≠Ｒ’なら、少なくとも集まったメンバーＧｉのうち少なくとも１人は仲介者から正当な鍵を受け取っていない不正な相手がいる、もしくはまだ全員が揃っていないと判定する。相手が一人の場合は、相手が不正な相手であると判定できる。
（５）ステップＳ２０５
最後に判定した結果を表示する。
【００３９】
例えば、上記のＧ１が携帯端末ではなく、家庭やマンション等にあるインターフォンであり、Ｇ２が宅配便の配達人とする。あらかじめ、宅配センターから、Ｇ１のインターフォン或いは、Ｇ１のインターフォンを保有する家庭に鍵Ｋ１とＱを通知してＧ１に記憶させておき、配達人は自身の携帯端末Ｇ２に鍵Ｋ２を記憶させておく。配達人が荷物を配達に来た際、玄関のドアを開ける前にインターフォンＧ１にＧ２から鍵Ｋ２を移してもらい、Ｇ１上で相手を検証することで、配達人が正当な相手であるかどうかを確認することができる。相手を確認した後にドアを開けることで、成りすまし等の犯罪から身を守ることができる。また、複数の会社の代表が会議を行うような場合、敵対企業が身分をなりすまして入り込んでも、会議開催前に部外者がいることを検出することができる。
【００４０】
次に、本発明の第２実施形態について、図面を参照して詳細に説明する。
図６を参照すると、本実施形態は、各メンバーに配布する情報にグループのメンバー数ｎが追加されている点で第１実施形態と異なる。こうすることで、検証処理の際グループのメンバー（鍵）が全員揃っているかどうかを確認することができ、全員揃った状態で検証結果が異なった場合、その場のメンバーのうちの誰かが不正な鍵を提出したことが分かる。
【００４１】
図６を参照して、本実施形態において、仲介者（センター端末１０）が各メンバーに配布する鍵を生成し、配布する処理について説明する。ここでは、第１実施形態と同じく、仲介者が、Ｇ１とＧ２を引き合わせるケースを想定する。なお、ステップＳ３０１…ステップＳ３０５は、ステップＳ１０１…ステップＳ１０５と同様である。
（１）ステップＳ３０１
仲介者は、グループのメンバー数ｎを決定する。ここではＧ１とＧ２なのでｎ＝２とする。
（２）ステップＳ３０２
次に、ｎ個の異なる素数を選択する（それぞれ、Ｐ１とＰ２する）。ここで選択する素数は、大きいほうが望ましい。その理由は、本方式の鍵の偽造防止の困難性は素因数分解の困難さに依っており、その場合、素因数に該当するＰが大きいほうがより素因数分解が困難になるからである。
（３）ステップＳ３０３
次に、選択した各素数から、１を引いた値の積Ｌ＝（Ｐ１−１）×（Ｐ２−１）×…×（Ｐｎ−１）を計算する。
（４）ステップＳ３０４
次に、計算したＬと互いに素で、且つ、Ｋ１×Ｋ２×…×Ｋｎ≡１ｍｏｄＬを満たし、且つ、Ｋ１，Ｋ２，…，Ｋｎは全て異なり、且つ、Ｋｉ≠１となるようなｎ個の鍵Ｋ１，Ｋ２，…，Ｋｎを選択する。ここでは（Ｋ１，Ｋ２）を選択する。ｎが３以上の場合は、例えばＫ１〜Ｋｎ−１までは、Ｌと互いに素かつＫｉ≠１でＫｉが全て異なるように選択し、最後のＫｎは法Ｌの下でＫ１×Ｋ２×…×Ｋｎ−１の逆元となるように選択する。
（５）ステップＳ３０５
次に、選択したｎ個の素数の積Ｑ＝Ｐ１×Ｐ２×…×Ｐｎを計算する。
（６）ステップＳ３０６
最後に、各メンバーＧｉに対して、（Ｋｉ，Ｑ，ｎ）の組み合わせを、ネットワークもしくは外部記憶装置等を介して配布する。ここでは、Ｇ１には（Ｋ１，Ｑ，２）、Ｇ２には（Ｋ２，Ｑ，２）を配布する。
【００４２】
次に、本発明の第３実施形態を説明する。
図７、図８、図９、図１０を参照すると、本実施形態は、鍵生成処理で鍵をメンバー数よりも多く作成し、更に、暗号化したい平文Ｍを余分に作成した鍵で暗号化した暗号文Ｃを配布する点、検証処理でセンターから配布された暗号文Ｃに対して演算を行って復号する点で、第１実施形態と異なる。
【００４３】
図７を参照すると、本実施形態におけるセンター端末１０は、入出力装置１１と、入出力制御部１２と、記憶部１３と、鍵生成部１４と、素数生成部１５とを備え、更に、暗号文生成部１６を備えている。入出力装置１１、入出力制御部１２、記憶部１３、鍵生成部１４、及び素数生成部１５は、第１実施形態と同様である。暗号文生成部１６は、暗号化したい平文Ｍを余分に作成した鍵で暗号化した暗号文Ｃを生成する。暗号文Ｃは、入出力制御部１２により入出力装置１１を介して携帯端末２０（Ｇｉ）に配布される。
【００４４】
図８を参照すると、本実施形態における携帯端末２０（Ｇｉ）は、入出力装置２１と、入出力制御部２２と、記憶部２３と、演算部２４とを備えている。乱数生成部２５を備えていない点で、第１実施形態と異なる。
【００４５】
図９を参照して、センター（センター端末１０）が各メンバーに配布する鍵を生成し、配布する処理について説明する。
（１）ステップＳ４０１
センター（センター端末１０）での鍵生成処理では、グループのメンバー数ｎを決定する。
（２）ステップＳ４０２
メンバー数ｎを決定した後、ｎ＋１個の異なる素数を選択する。
（３）ステップＳ４０３
次に、選択した各素数から、１を引いた値の積Ｌ＝（Ｐ１−１）×（Ｐ２−１）×…×（Ｐｎ＋１−１）を計算する。
（４）ステップＳ４０４
次に、計算したＬと互いに素となり、且つ、Ｋ１×Ｋ２×…×Ｋｎ＋１≡１ｍｏｄＬとなるようなｎ＋１個の鍵Ｋ１，Ｋ２，…，Ｋｎ＋１を選択する。
（５）ステップＳ４０５
次に、選択したｎ＋１個の素数の積Ｑ≡Ｐ１×Ｐ２×…×Ｐｎ＋１ｍｏｄＱを計算する。
（６）ステップＳ４０６
次に、暗号化する平文Ｍを決定する。
（７）ステップＳ４０７
次に、生成した鍵のうちの１つＫｎ＋１で、Ｃ＝Ｍ（Ｋｎ＋１）ｍｏｄＱを計算する。
（８）ステップＳ４０８
最後に、各メンバーＧｉの携帯端末２０に対して、ＫｉとＱ、Ｃを、ネットワークもしくは外部記憶装置等を介して配布する。
【００４６】
次に、図１０を参照して、本実施形態において、各メンバーが実際に会った場面で、それぞれが本当に仲介者が指名した同一グループのメンバーかどうかを検証する方法について説明する。
（１）ステップＳ５０１
メンバーが揃ったら、任意のメンバーＧｉの携帯端末２０に、全員分の鍵Ｋ１，Ｋ２，…，Ｋｎを、赤外線通信や外部記憶装置等を介して集める。
（２）ステップＳ５０２
次に、Ｇｉの携帯端末２０上で、Ｍ’＝Ｃ（Ｋ１×…×Ｋｎ）ｍｏｄＱを計算する。
（３）ステップＳ５０３
最後に、計算した結果を表示する。
【００４７】
メンバーの全員が正しい鍵を提出していれば、意味のある情報を取得することができ、且つ、メンバーはそれぞれ正当な相手であることになる。ひとりでも不正な鍵を提出した場合は、Ｃは正しく復号されない。なお、本実施形態では、第２実施形態のように、センター（センター端末１０）がメンバー数ｎを各メンバーに配布してもよい。
【００４８】
本発明の特徴は、以下に示す通りである。
（１）相手が、仲介者が指名した正当な人であることを、個人情報を明かさずに確認できる。
（２）相手が、仲介者が指名した正当な相手であることを、自分を含め誰でも検証できる。
（３）相手が複数人の場合も、一度の検証処理で確認できる。
（４）鍵の偽造が困難であり、成りすましを防げる。
（５）インターネット等の公衆ネットワークが不要である。
（６）仲介者が指名した正当な人が保有する鍵が全部揃わないと復号できないように暗号化が可能である。
（７）Ｐｉ（ｉ＝１〜ｎ）を３以上のそれぞれ異なる素数とするとき、Ｋ１×Ｋ２×…×Ｋｎ＝１ｍｏｄＬ、Ｋｉ≠１、Ｋｉ≠Ｋｊ（１≦ｊ≦ｎ、ｉ≠ｊ）を満たす鍵Ｋｉを求める際、Ｋ１〜Ｋｎ−１までは、Ｌと互いに素かつＫｉ≠１で各Ｋｉが全て異なるように選択し、最後のＫｎは法Ｌの下で積Ｋ１×Ｋ２×…×Ｋｎ−１の逆元となるように選択する。但し、Ｌ＝（Ｐ１−１）×（Ｐ２−１）×…×（Ｐｎ−１）とする。
【図面の簡単な説明】
【００４９】
【図１】図１は、グループメンバー確認システムの概要図である。
【図２】図２は、センター（仲介者）端末の構成を示すブロック図である。
【図３】図３は、メンバーの携帯端末の構成を示すブロック図である。
【図４】図４は、鍵生成処理を示すフローチャートである。
【図５】図５は、検証処理を示すフローチャートである。
【図６】図６は、メンバー数を通知する場合の鍵生成処理を示すフローチャートである。
【図７】図７は、センター（仲介者）端末の他の構成を示すブロック図である。
【図８】図８は、メンバーの携帯端末の他の構成を示すブロック図である。
【図９】図９は、他の鍵生成処理を示すフローチャートである。
【図１０】図１０は、他の検証処理を示すフローチャートである。
【符号の説明】
【００５０】
１０…  センター（仲介者）端末
１１…  入出力装置
１２…  入出力制御部
１３…  記憶部
１４…  鍵生成部
１５…  素数生成部
１６…  暗号文生成部
２０…  携帯端末（メンバーＧｉが所有）
２１…  入出力装置
２２…  入出力制御部
２３…  記憶部
２４…  演算部
２５…  乱数生成部
１００…  ネットワーク
【図１】
2008118325.tif 000003
【図２】
2008118325.tif 000004
【図３】
2008118325.tif 000005
【図４】
2008118325.tif 000006
【図５】
2008118325.tif 000007
【図６】
2008118325.tif 000008
【図７】
2008118325.tif 000009
【図８】
2008118325.tif 000010
【図９】
2008118325.tif 000011
【図１０】
2008118325.tif 000012