(57)【要約】【課題】  グループ鍵を暗号化したパラメータが確実にグループ内の全てのユーザに配布されたかどうかを、第三者が、通信路上で流れている情報を元に、グループ鍵の秘密情報又はグループメンバの秘密鍵を一切用いることなく検知できるグループ鍵共有方法及び装置の提供。【解決手段】  鍵生成者が受信者に暗号通信用のグループ鍵を共有させる鍵共有方式において、通信路上で流れている情報を元に、グループ鍵の秘密情報又はグループメンバの秘密鍵を一切用いることなく、第三者が、グループ鍵配布が正常に実行されたか否かを検証できるようにしたことを特徴とする暗号鍵共有方法。【選択図】        図１
2006109244.tif 000002
【特許請求の範囲】
【請求項１】
鍵生成者が、あるグループ内のユーザ全員にパラメータを配布し、同一のグループ鍵を共有させる鍵配布方式において、通信路上で流れている情報を元に、グループ鍵の秘密情報又はグループメンバの秘密鍵を一切用いることなく、第三者が上記パラメータはグループ鍵に変換できるパラメータであるか否かを検証できることを特徴とする暗号鍵共有方法。
【請求項２】
楕円曲線上のペアリングの特性を利用することを特徴とする請求項１記載の暗号鍵配共有法。
【請求項３】
Ｐを楕円曲線上の点、Ｐを生成元とする部分群の位数をｑとし、あるグループ内のユーザＡｉ（ｉは１〜ｎの自然数）が、それぞれ公開鍵Ｖｉ＝ＳｉＰと秘密鍵Ｓｉを持つ場合において、乱数ｒを生成する手段と、鍵生成者が各ユーザＡｉにｒＶｉを送る手段と、各ユーザＡｉが各々の秘密鍵Ｓｉを用いてｒＰ又はｅ（ｐ，ｐ）＾ｒを計算し、それらのパラメータをグループ鍵として使うことにより、配られたパラメータがグループ鍵に変換できることをｅ（ｒＳｉＰ，ＳｎＰ）＝ｅ（ＳｎＰ，ＳｉＰ）を計算することにより検証することができる手段を具備することを特徴とする請求項２記載の暗号鍵共有方法。
【請求項４】
少なくとも鍵生成手段、鍵取得手段、鍵検証手段を備えた請求項１〜３の何れかに記載の暗号鍵共有方法を実施することが可能な装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第三者により検出可能なグループ鍵の共有方法及び装置に関する。
【背景技術】
【０００２】
通信者双方が秘密の鍵を共有する共通鍵暗号方式は、歴史も長く一般にも広く使われているが、その共通の鍵を初めに通信者同士が交換しなければならない。そこで共通鍵の交換に使われるのが、ＲＳＡ暗号に代表される公開鍵暗号系である。ＲＳＡ暗号は素因数分解の計算量的観点からの困難性を根拠にしているが、同じように計算量的困難性を根拠にしている暗号に、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ問題（以下、ＤＨ問題という）を利用した公開鍵暗号がある。
ＤＨ問題には、ＤＨ判定問題、ＤＨ計算問題、ＤＨギャップ問題、バイリニアＤＨ問題などの種類がある。
楕円曲線のペアリングという特徴を満たすように構成すると、ＤＨ計算問題及びバイリニアＤＨ問題は困難であるが、ＤＨ判定問題は容易に解けるという性質が存在し、その困難性のギャップを使った問題をＤＨギャップ問題と呼ぶ。
【０００３】
ＤＨ計算問題及びＤＨ判定問題は、具体的には、次の（ａ）〜（ｅ）のように表せる。
（ａ）Ｐを、Ｙ＾２＝Ｘ＾３＋αＸ＋β（ｍｏｄＴ）で表される楕円曲線Ｅ上の点とする
（ここでＴは素数）。
（ｂ）Ｐをジェネレーターとして生成される部分群の要素数をｑとする。
（ｃ）ａ，ｂ共にＺｑの要素とする。
（ｄ）上記（a）〜(c)の仮定の元で、Ｐ，ａＰ，ｂＰ，Ｔ，α，βが与えられたとき、ａｂＰという楕円曲線Ｅ上の要素を見つけることがＤＨ計算問題となる。
（ｅ）上記(a)〜(c)の仮定の元で、Ｘ，ａＰ，ｂＰ，Ｔ，α，βが与えられた時、Ｘ＝ａｂＰが成立するかどうかを判断することがＤＨ判定問題である。
なお、ＤＨ問題については
【非特許文献１】に詳しい記述がある。   また、上記（ａ）〜(ｃ)の仮定の元で、Ｐにより生成される上記部分群をＧ１とし、同じ位数ｑを持つ循環群をＧ２とすると、Ｇ１×Ｇ１→Ｇ２の楕円曲線のバイリニアペアリングｅ（，）は、下式（ｉ）の性質を満たす。          ｅ（ａＰ，ｂＰ）＝ｅ（Ｐ，ａｂＰ）＝ｅ（Ｐ，Ｐ）＾ａｂ  ………（ｉ）なお、楕円曲線及びその特性については
【非特許文献２】に詳しい記述がある。  また、従来技術によりグループ鍵の共有を行う場合は、鍵生成者が、ＲＳＡ暗号などに代表される公開鍵暗号系を用いて暗号鍵を作成し、それぞれのユーザに暗号化されたグループ鍵を配布する形式となる。従来手法でも公開鍵暗号系やハッシュ関数を使うことにより、全員に正当なパラメータが配布されたことを、鍵生成者又はユーザが検知することは可能である。しかしながら、第三者が秘密情報を用いずに検知することは不可能である。
【０００４】
【非特許文献１】Alfred. Menezes,Paul C. van Oorschout, Scott A.Vanstone’Handbook of Applied Cryptography’, １９９７CRC Press,Inc., pp１１３-１１４,pp５１５-５２４, ISBN:０-８４９３-８５２３-７
【非特許文献２】Lawrence C.washington,’ELLIPTIC CURVES’, ２００３, CHAPMAN&HALL/CRC, ISBN:１-５８４８８-３６５-０
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特定のグループ内で外部の人間に通信内容を知られないように通信をする場合、グループメンバ全員が共有するグループ鍵と呼べるものが必要となる。例えば、後述する図１の場合、各々のユーザ（３０〜３２）が同一の鍵を保持しなくてはならない。
このグループ鍵の共有について、今まではグループ鍵が共有されているかどうかを外部から確認する手段はなかった。何故ならばグループ鍵が全員に確実に届いていることを外部から確認するには、グループ鍵又はユーザの秘密鍵を知る必要があり、外部の人間に知られたグループ鍵は適切なグループ鍵とはなり得ないし、また秘密鍵を公開することは、全ての秘密情報を公開することにつながるためである。従って、従来は信頼できる第三者機関又はグループ内の１ユーザが作成したグループ鍵を使っていたが、その第三者機関もグループ鍵を知らない方が望ましい。また、後述するようにグループ内の１ユーザが鍵を生成した場合、鍵生成者が、故意に特定のユーザに鍵を送らないでおくという不正をしても検知できない。
【０００６】
特定のグループ内で仮にグループ鍵の共有が行われたにもかかわらず、何らかの損害が発生した場合に、鍵生成者が故意に正しいパラメータを特定のユーザに送らなかったのか、通信路上で情報伝達に問題があったために届かなかったのか、鍵受信者が届かなかったと偽っているのかなどを判断できない。そのため、その損害が誰の責任なのかを判断できなかった。従って、グループ鍵使用において何らかの問題が発生した場合に、外部の人間がその問題の責任の所在を判断できないという問題があった。公開鍵暗号系を使うことにより特定の人間に責任がないことを証明することは可能であるが、誰に責任があるかは判断できない。鍵生成者が信頼できる第三者機関であっても、この問題は解決しない。現状では、このような問題が発生した場合には、調停者を立てるしかなかった。
本発明では上記の問題を解決し、グループ鍵に変換できるパラメータが、確実にグループ内の全てのユーザに配布されたかどうかを、第三者が、通信路上で流れている情報を元に、グループ鍵の秘密情報又はグループメンバの秘密鍵を一切用いることなく検知できるグループ鍵配布方法及び装置の提供を目的とする。
【課題を解決するための手段】
【０００７】
上記課題は、次の１）〜４）の発明によって解決される。
１）  鍵生成者が、あるグループ内のユーザ全員にパラメータを配布し、同一のグループ鍵を共有させる鍵配布方式において、通信路上で流れている情報を元に、グループ鍵の秘密情報又はグループメンバの秘密鍵を一切用いることなく、第三者が上記パラメータはグループ鍵に変換できる値か否かを検証できることを特徴とする鍵共有方法。
２）  楕円曲線上のペアリングの特性を利用することを特徴とする１）記載の暗号鍵共有方法。
３）  Ｐを楕円曲線上の点、Ｐを生成元とする部分群の位数をｑとし、あるグループ内のユーザＡｉ（ｉは１〜ｎの自然数）が、それぞれ公開鍵Ｖｉ＝ＳｉＰと秘密鍵Ｓｉを持つ場合において、乱数ｒを生成する手段と、鍵生成者が各ユーザＡｉにｒＶｉを送る手段と、各ユーザＡｉが各々の秘密鍵Ｓｉを用いてｒＰ又はｅ（ｐ，ｐ）＾ｒを計算し、それらのパラメータをグループ鍵として使うことにより、配られたパラメータが正当なものであることをｅ（ｒＳｉＰ，ＳｎＰ）＝ｅ（ＳｎＰ，ＳｉＰ）を計算することにより検証することができる手段を具備することを特徴とする２）記載の暗号鍵共有方法。
４）  少なくとも鍵生成手段、鍵取得手段、鍵検証手段を備えた１）〜３）の何れかに記載の暗号鍵配布方法を実施することが可能な装置。
【０００８】
以下、上記本発明について詳しく説明する。
本発明を実現するための手段は種々考えられるが、楕円曲線上のペアリングとＤＨギャップ問題を用いる手段が好ましい。
図１は、本発明の鍵共有方法を実施する際の構成要素を概略的に示した全体構成図である。この図において、ｎ人のメンバからなるグループ内の各ユーザＡ１〜Ａｎはそれぞれ鍵取得装置を持ち、鍵生成者は鍵生成装置を持ち、鍵検証者は鍵検証装置を持つ。またグループ内のユーザが鍵生成を行っても構わない。
鍵生成者は各ユーザにパラメータを送ることにより、特定のグループ鍵を各ユーザに共有させ、鍵検証者はそのパラメータが確かに共有されたかどうかを検証する。
【０００９】
また、図１では、グループ内のメンバＡｉ（ｉは１〜ｎの自然数）は、それぞれ秘密鍵Ｓｉと公開鍵Ｖｉ＝ＳｉＰを持つが、それらの鍵は、次の（ａ）〜（ｃ）のような特徴を有する。
（ａ）Ｐを、Ｙ＾２＝Ｘ＾３＋αＸ＋β（ｍｏｄＴ）で表される楕円曲線Ｅ上の点とする
（ここでＴは素数）。
（ｂ）Ｐをジェネレーターとして生成される部分群の要素数をｑとする。
（ｃ）ＳｉはＺｑの要素とする。
ペアリング演算ｅ（，）については、背景技術の項で述べた定義と同じものを用いる。
【００１０】
以下の（１）〜（１２）は具体的な鍵共有の手順である。
鍵生成、取得、検証装置のブロック図がそれぞれ図２、図３、図４であり、それらの装置に対応するフローチャートが、それぞれ図５、図６、図７である。
それぞれの手順（１）〜（１２）では、装置のブロック図内での位置付けを文中で示すとともに、フローチャートでの位置付けを括弧内で示している
（１） 図２で鍵生成装置１１０は、入力装置１１１からグループのメンバ情報を受け取る。
（２）図２で鍵生成装置１１０が、乱数生成装置１１３でグループ鍵の元となる乱数ｒを作成する。（図５では、Ｓ１２１に相当する）
（３）図２で鍵生成装置１１０は、鍵生成装置１１４及びパラメータ生成装置１１５で、Ａ１〜Ａｎのユーザに対し、それぞれの公開鍵を用いた配布パラメータを計算し、図２の出力装置１１６から送信する。（図５では、Ｓ１２３，Ｓ１２４に相当する）
配布パラメータは具体的には、ｒＶｉの数値を用いる。
（４）図３で各々のユーザの鍵取得装置２１０が、入力装置２１１から配布パラメータを受け取る。（図６では、Ｓ２２１に相当する）
（５）図３で各々のユーザの鍵取得装置２１０は、演算装置２１２において配布パラメータからグループ鍵ｋを計算する。計算方法は選んだ方式により異なるが、何れの場合も自分の秘密鍵Ｓｉを用いて行う。具体的には以下のようにしてｋを求める。（図６では、Ｓ２２３に相当する）
（イ）ｋ＝ｒＶｉ×Ｓｉ＾−１＝ｒＳｉＰ×Ｓｉ＾−１＝ｒＰ
（ロ）ｋ＝ｅ（ｒＶｉ，Ｐ）＾（１／Ｓｉ）＝ｅ（ｒＰ，Ｐ）＾（Ｓｉ×１／Ｓｉ）
＝ｅ（ｒＰ，Ｐ）
（イ）の数値の取りうる領域はG１で（ロ）の数値の取りうる領域はG２だがどちらを使用しても良い。
【００１１】
（６）各々のユーザは、先のステップで取得したｋをグループ鍵候補として保持し、検証
結果を待つ。
（７） 図４で検証装置３１０は、予め入力装置３１１からグループのメンバ情報を受け取る。
（８）図４で検証装置３１０は、通信路上で流れた各々のユーザに送られた配布パラメータを、パラメータ取得装置３１２で観測する。（図７では、Ｓ３２１に相当する）
（９）図４の検証装置３１０は、演算装置３１３において、全てのユーザの配布パラメータが正しく配布されたかどうかを、各々のユーザの配布パラメータと公開鍵を用いて、次のようにして検証する。（図７では、Ｓ３２２，Ｓ３２３に相当する）
即ち、２人のユーザに配布されたグループ鍵が同一であるか否かを確かめるため
に、１人のユーザの配布パラメータと、もう１人の通信者の公開鍵に対してペアリング計算を行い、次の等式（ii）が成り立つかどうかを検証する。
ｅ（ｒＳｉＰ，ＳｎＰ）＝ｅ（ＳｎＰ，ＳｉＰ）  ………（ii）
（１０）図４で検証装置３１０は、検証の結果、鍵生成が正しければ、出力装置３１４から正しかったことをユーザＡｉ〜Ａｎ及び鍵生成者に通知する。（図７では、Ｓ３２４，Ｓ３２６に相当する）
（１１）図４で検証装置３１０は、検証の結果、鍵共有に問題がある場合には、出力装置３１４から、ユーザＡｉ及び鍵生成者に、問題があるパラメータを受信したユーザを通知する。（図７では、Ｓ３２５，Ｓ３２６に相当する）
（１２）図３で各々のユーザの鍵取得装置２１０は、入力装置２１１から検証結果を受け取り、検証が正しければ、出力装置２１３から共有されたグループ鍵ｋを出力する。正しくなければ、出力装置２１３からの問題の原因を出力する。
【００１２】
以上の手段により、グループ鍵の共有に関して、当事者の過失による損害をパラメータの配布ミスだと主張したり、特定の相手にグループ鍵を送らないで損害を与えようとするなどの不正や、通信路上での情報伝達に問題がある場合の検知などが可能となる。また、信用のある第三者機関でなくても、グループ内でグループ鍵を生成可能であり、その鍵を検証する第三者にグループ鍵に関する秘密情報が漏れることもない。
このような効果が得られる理由を説明すると、鍵検証者が持つパラメータは、グループ内のユーザの公開鍵Ｖ１〜Ｖｎ及び配布パラメータｒＶ１〜ｒＶｎであるが、その値からはｒ又はＳ１〜Ｓｎを求めることはできない。何故ならば、それらの値を求めることは、ＤＨ計算問題及びバイリニアＤＨ問題となり、効率的な計算方法が存在しないためである。しかし、上記（９）の等式、ｅ（ｒＳｉＰ，ＳｎＰ）＝ｅ（ＳｎＰ，ＳｉＰ）が成立するか否かを確認することはＤＨ判定問題となり、楕円曲線のペアリング計算を使用することにより計算は容易となる。よって、鍵検証者は、グループメンバの秘密鍵Ｓ１〜Ｓｎ及びグループ鍵ｒの秘密情報を知らなくても、鍵配布の検証ができる。従って、鍵生成者は、仮に特定の相手に誤ったパラメータを送っても、そのことを検証されてしまうため、正しいパラメータを配布することになる。また、各ユーザは、鍵検証者によって正しく配布されていると検証された以上、配布ミスであると主張することはできない。
【発明の効果】
【００１３】
本発明によれば、グループ鍵に変換できるパラメータがグループ内の全てのユーザに配布されたかどうかを、第三者が、通信路上で流れている情報を元に、グループ鍵の秘密情報又はグループメンバの秘密鍵を一切用いることなく検知できるグループ鍵配布方法及び装置を提供できる。
また、グループ鍵を検証する第三者にグループ鍵に関する秘密情報が漏れることがないので、権利問題や責任問題が発生する場面でもグループ鍵を使った通信が可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の鍵配共有法を実施する際の構成要素を概略的に示した全体構成図。
【図２】本発明の鍵生成装置の一例を示すブロック構成図。
【図３】本発明の鍵取得装置の一例を示すブロック構成図。
【図４】本発明の鍵検証装置の一例を示すブロック構成図。
【図５】本発明の鍵生成装置の一例の手順を示すフローチャート。
【図６】本発明の鍵取得装置の一例の手順を示すフローチャート。
【図７】本発明の鍵検証装置の一例の手順を示すフローチャート。
【符号の説明】
【００１５】
１１０  鍵生成装置
１１１  入力装置
１１２  演算装置
１１３  乱数生成装置
１１４  鍵生成装置
１１５  パラメータ生成装置
１１６  出力装置
２１０  鍵取得装置
２１１  入力装置
２１２  演算装置
２１３  出力装置
３１０  鍵検証装置
３１１  入力装置
３１２  パラメータ取得装置
３１３  演算装置
３１４  出力装置
Ｓ１２３  パラメータ送信、（S２２１,S３２１と対応関係）
Ｓ２２１  パラメータ受信、（S１２３,S３２１と対応関係）              
Ｓ３２１  パラメータ受信、（S１２３,S２２１と対応関係）
Ｓ３２６  検証結果送信、（S２２３と対応関係）
Ｓ２２３  検証結果受信、（S３２６と対応関係）
【図１】
2006109244.tif 000003
【図２】
2006109244.tif 000004
【図３】
2006109244.tif 000005
【図４】
2006109244.tif 000006
【図５】
2006109244.tif 000007
【図６】
2006109244.tif 000008
【図７】
2006109244.tif 000009