(57)【特許請求の範囲】
【請求項１】
汎用端末と高信頼端末と鍵生成装置とを備え、前記汎用端末が記録する暗号文Ｃを復号する復号システムであって、
ｑは素数、ｅは楕円曲線上のペアリングとし、
前記鍵生成装置は、
１以上ｑ−１以下の整数であるマスター秘密鍵ｓを選択する秘密鍵生成部と、
１以上ｑ−１以下の乱数ｘを生成する乱数生成部と、
前記高信頼端末を特定するデータＤと前記マスター秘密鍵ｓを用いて生成される暗号鍵ｐを前記乱数ｘで楕円スカラー倍した値であるマスク鍵ｐ’を求め、前記マスク鍵ｐ’と前記乱数ｘの逆元を求めるための情報を前記高信頼端末に送信する楕円スカラー倍部と
を備え、
前記高信頼端末は、
前記高信頼端末を特定するデータＤを前記鍵生成装置に送信する特定データ送信部と、
前記マスク鍵ｐ’を前記汎用端末に送信するマスク鍵送信部と、
前記汎用端末から受け取ったマスクセッション鍵ｋ’から、前記乱数ｘの逆元を用いてセッション鍵ｋを求めるセッション鍵算出部と、
前記汎用端末から受け取った前記暗号文Ｃを、前記セッション鍵ｋを用いて復号して平文Ｍを求める復号部と
を備え、
前記汎用端末は、
前記マスク鍵ｐ’と前記暗号文Ｃに対する暗号化セッション鍵Ｒから、前記マスクセッション鍵ｋ’を、
ｋ’＝ｅ（ｐ’，Ｒ）
のように求めるペアリング部と、
前記マスクセッション鍵ｋ’と前記暗号文Ｃとを前記高信頼端末に送信する送信部と
を備える
復号システム。
【請求項２】
請求項１記載の復号システムを構成する汎用端末。
【請求項３】
請求項１記載の復号システムを構成する高信頼端末。
【請求項４】
請求項１記載の復号システムを構成する鍵生成装置。
【請求項５】
汎用端末と高信頼端末と鍵生成装置とを用いて、前記汎用端末が記録する暗号文Ｃを復号する復号方法であって、
ｑは素数、ｅは楕円曲線上のペアリングとし、
前記高信頼端末が、
前記高信頼端末を特定するデータＤを前記鍵生成装置に送信する特定データ送信ステップと、
前記鍵生成装置が、
１以上ｑ−１以下の整数であるマスター秘密鍵ｓを選択する秘密鍵生成ステップと、
１以上ｑ−１以下の乱数ｘを生成する乱数生成ステップと、
前記高信頼端末を特定するデータＤと前記マスター秘密鍵ｓを用いて生成される暗号鍵ｐを前記乱数ｘで楕円スカラー倍した値であるマスク鍵ｐ’を求め、前記マスク鍵ｐ’と前記乱数ｘの逆元を求めるための情報を前記高信頼端末に送信する楕円スカラー倍ステップと、
前記高信頼端末が、
前記マスク鍵ｐ’を前記汎用端末に送信するマスク鍵送信ステップと、
前記汎用端末が、
前記マスク鍵ｐ’と前記暗号文Ｃに対する暗号化セッション鍵Ｒから、前記マスクセッション鍵ｋ’を、
ｋ’＝ｅ（ｐ’，Ｒ）
のように求めるペアリングステップと、
前記マスクセッション鍵ｋ’と前記暗号文Ｃとを前記高信頼端末に送信する送信ステップと、
前記高信頼端末が、
前記汎用端末から受け取ったマスクセッション鍵ｋ’から、前記乱数ｘの逆元を用いてセッション鍵ｋを求めるセッション鍵算出ステップと、
前記汎用端末から受け取った前記暗号文Ｃを、前記セッション鍵ｋを用いて復号して平文Ｍを求める復号ステップと、
を有する復号方法。
【請求項６】
請求項２記載の汎用端末としてコンピュータを機能させるプログラム。
【請求項７】
請求項３記載の高信頼端末としてコンピュータを機能させるプログラム。
【請求項８】
請求項４記載の鍵生成装置としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報漏えいのリスクを低くする復号システム、汎用端末、高信頼端末、鍵生成装置、復号方法、プログラムに関する。
【背景技術】
【０００２】
秘匿情報をメールなどで送信する場合に、ＩＤベース暗号（非特許文献１）を用いる技術がある。このような技術では、パソコン（汎用端末）で受信した暗号化されたメールは、通常、そのパソコン上で復号される。しかし、パソコンは汎用的に使用しているため、パソコンに不正なプログラムがインストールされていた場合や、ウィルスに感染した場合に復号された情報が漏洩するリスクがある。そこで、平文やＩＤベース暗号の秘密鍵の漏えいリスクを下げるために、パソコンのような汎用的な端末で受信した暗号文を携帯電話に送信し、携帯電話上で復号する技術がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Dan Boneh, Matthew Franklin, “Identity-Based Encryption from the Weil Pairing”, Appears in SIAM J. of Computing, Vol.32, No.3, pp.586-615, 2003.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
携帯電話は、パソコンに比べて不正なプログラムをインストールしにくいため、パソコン上で復号する方法よりも安全である。しかし、携帯電話は計算資源が乏しいため、ペアリングのような膨大な計算量を必要とする演算を行うと、応答性が低下する課題がある。
【０００５】
本発明は、パソコンのような計算資源は十分ある汎用的な端末（以下、「汎用端末」という）が記録するＩＤベース暗号を用いた暗号文を、携帯電話のような信頼性は高いが計算資源が乏しい端末（以下、「高信頼端末」という）で、効率よく復号することを目的とする。
【課題を解決するための手段】
【０００６】
ｑは素数、ｅは楕円曲線上のペアリング、Ｈは任意長のデータを楕円曲線上の点に変換するハッシュ関数とする。本発明の第１の復号システムは、汎用端末と高信頼端末と鍵生成装置とを備え、汎用端末が記録する暗号文Ｃを高信頼端末上で復号する。鍵生成装置は、秘密鍵生成部、暗号鍵生成部を備える。高信頼端末は、特定データ送信部、乱数生成部、楕円スカラー倍部、セッション鍵算出部、復号部を備える。汎用端末は、ペアリング部、送信部を備える。高信頼端末の特定データ送信部は、高信頼端末を特定するデータＤを鍵生成装置に送信する。鍵生成装置の秘密鍵生成部は、１以上ｑ−１以下の整数であるマスター秘密鍵ｓを選択する。暗号鍵生成部は、高信頼端末を特定するデータＤとマスター秘密鍵ｓを用いて、暗号鍵ｐを生成し、高信頼端末に送信する。具体的には、
ｐ＝ｓ・Ｈ（Ｄ）
のように求めればよい。高信頼端末の乱数生成部は、１以上ｑ−１以下の乱数ｘを生成する。楕円スカラー倍部は、暗号鍵ｐを、乱数ｘを用いて楕円スカラー倍した値をマスク鍵ｐ’とし、汎用端末に送信する。汎用端末のペアリング部は、マスク鍵ｐ’と暗号文Ｃに対する暗号化セッション鍵Ｒから、マスクセッション鍵ｋ’を、
ｋ’＝ｅ（ｐ’，Ｒ）
のように求める。送信部は、マスクセッション鍵ｋ’と暗号文Ｃとを高信頼端末に送信する。高信頼端末のセッション鍵算出部は、マスクセッション鍵ｋ’から、乱数ｘの逆元を用いてセッション鍵ｋを求める。復号部は、暗号文Ｃを、セッション鍵ｋを用いて復号して平文Ｍを求め、高信頼端末上に表示する。
【０００７】
本発明の第２の復号システムも、汎用端末と高信頼端末と鍵生成装置とを備え、汎用端末が記録する暗号文Ｃを高信頼端末上で復号する。鍵生成装置は、秘密鍵生成部、乱数生成部、楕円スカラー倍部を備える。高信頼端末は、特定データ送信部、マスク鍵送信部、セッション鍵算出部、復号部を備える。汎用端末は、ペアリング部、送信部を備える。高信頼端末の特定データ送信部は、高信頼端末を特定するデータＤを鍵生成装置に送信する。鍵生成装置の秘密鍵生成部は、１以上ｑ−１以下の整数であるマスター秘密鍵ｓを選択する。乱数生成部は、１以上ｑ−１以下の乱数ｘを生成する。楕円スカラー倍部は、高信頼端末を特定するデータＤとマスター秘密鍵ｓを用いて生成される暗号鍵ｐを、乱数ｘで楕円スカラー倍した値であるマスク鍵ｐ’を求める。具体的には、
ｐ＝ｓ・Ｈ（Ｄ）
のようにｐを求め、乱数ｘを用いて楕円スカラー倍した値をマスク鍵ｐ’とすればよい。そして、マスク鍵ｐ’と乱数ｘの逆元を求めるための情報を高信頼端末に送信する。高信頼端末のマスク鍵送信部は、マスク鍵ｐ’を汎用端末に送信する。汎用端末のペアリング部は、マスク鍵ｐ’と暗号文Ｃに対する暗号化セッション鍵Ｒから、マスクセッション鍵ｋ’を、
ｋ’＝ｅ（ｐ’，Ｒ）
のように求める。送信部は、マスクセッション鍵ｋ’と暗号文Ｃとを高信頼端末に送信する。高信頼端末のセッション鍵算出部は、マスクセッション鍵ｋ’から、乱数ｘの逆元を用いてセッション鍵ｋを求める。復号部は、暗号文Ｃを、セッション鍵ｋを用いて復号して平文Ｍを求め、高信頼端末上に表示する。
【発明の効果】
【０００８】
本発明の復号システムによれば、平文を秘匿した状態で、演算量の多いペアリングを汎用端末上で行い、高信頼端末上ではペアリング演算を行わない。したがって、信頼性は高いが計算資源が乏しい高信頼端末を用いる場合でも、効率よく復号できる。また、本発明の第２の復号システムによれば、乱数ｘの生成も高信頼端末で行わない。したがって、暗号学的に安全な乱数を生成できない高信頼端末であっても、安全性を確保しながら復号できる。
【図面の簡単な説明】
【０００９】
【図１】実施例１の復号システムの機能構成例を示す図。
【図２】実施例１の復号システムの処理フロー例を示す図。
【図３】実施例２の復号システムの機能構成例を示す図。
【図４】実施例２の復号システムの処理フロー例を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。本明細書中では、ｑは素数、ｅは楕円曲線上のペアリング、Ｈは任意長のデータを楕円曲線上の点に変換するハッシュ関数とする。
【実施例１】
【００１１】
図１に実施例１の復号システムの機能構成例を、図２に実施例１の復号システムの処理フロー例を示す。実施例１の復号システムは、ネットワーク１０００でつながった汎用端末１００と高信頼端末２００と鍵生成装置３００とを備え、汎用端末１００が記録する暗号文Ｃ、または送信元装置９００から受信した暗号文Ｃを高信頼端末２００上で復号し、表示する。なお、「汎用端末」とは、パソコンのような計算資源は十分ある汎用的な端末である。「高信頼端末」とは、携帯電話のような信頼性は高いが計算資源が乏しい端末である。送信元装置９００と汎用端末１００をつなぐネットワーク、汎用端末１００と高信頼端末２００をつなぐネットワーク、高信頼端末２００と鍵生成装置３００とをつなぐネットワークは別々でもかまわない。例えば、すべてのネットワークをインターネットとしても良い。また、送信元装置９００と汎用端末１００をつなぐネットワークはインターネット、汎用端末１００と高信頼端末２００をつなぐネットワークはBluetoothのような近距離通信手段、高信頼端末２００と鍵生成装置３００とをつなぐネットワークは回線接続や記録媒体での情報の授受としてもよい。
【００１２】
鍵生成装置３００は、秘密鍵生成部３１０、暗号鍵生成部３２０、記録部３９０を備える。高信頼端末２００は、特定データ送信部２１０、乱数生成部２２０、楕円スカラー倍部２３０、セッション鍵算出部２４０、復号部２５０、記録部２９０を備える。汎用端末１００は、ペアリング部１１０、送信部１２０、記録部１９０を備える。高信頼端末２００の特定データ送信部２１０は、高信頼端末２００を特定するデータＤを鍵生成装置３００に送信する（Ｓ２１０）。高信頼端末２００を特定するデータＤとは、例えば、携帯電話のＩＤなどであり、成りすましされない情報であることが望ましい。
【００１３】
鍵生成装置３００の秘密鍵生成部３１０は、１以上ｑ−１以下の整数であるマスター秘密鍵ｓを選択し、記録部３９０に記録する（Ｓ３１０）。暗号鍵生成部３２０は、高信頼端末２００を特定するデータＤとマスター秘密鍵ｓを用いて、暗号鍵ｐを生成し、高信頼端末２００に送信し、記録部３９０に記録する（Ｓ３２０）。具体的には、
ｐ＝ｓ・Ｈ（Ｄ）
のように求めればよい。なお、ステップＳ２１０とステップＳ３２０のデータの授受は、１回のネットワークを介した接続で行ってもよいし、一度切断した上で鍵生成装置３００から高信頼端末２００に接続してもよい。接続しなおす場合であれば、鍵生成装置３００の記録部３９０は、高信頼端末２００を特定する情報と高信頼端末のアドレスや電話番号とを対応つけて記録しておく。そして、高信頼端末２００を特定する情報に対応したアドレスまたは電話番号を用いて暗号鍵ｐを送信すれば成りすましを防止できる。
【００１４】
高信頼端末２００の乱数生成部２２０は、１以上ｑ−１以下の乱数ｘを生成し、記録部２９０に記録する（Ｓ２２０）。楕円スカラー倍部２３０は、暗号鍵ｐを、乱数ｘを用いて楕円スカラー倍した値をマスク鍵ｐ’とし、汎用端末１００に送信する（Ｓ２３０）。
【００１５】
汎用端末１００は、あらかじめ記録部１９０に、暗号文Ｃと暗号文Ｃに対する暗号化セッション鍵Ｒを記録しておいてもよいし、暗号文Ｃを送信元装置９００から取得してもよい（Ｓ９００）。汎用端末１００のペアリング部１１０は、マスク鍵ｐ’と暗号文Ｃに対する暗号化セッション鍵Ｒ（一般的には、Ｒ＝ｒＰ、ただし、Ｐは楕円曲線上の点を示すパラメータ、ｒは０以上ｑ−１以下の整数から選ばれた値）から、マスクセッション鍵ｋ’を、
ｋ’＝ｅ（ｐ’，Ｒ）
のように求める（Ｓ１１０）。送信部１２０は、マスクセッション鍵ｋ’と暗号文Ｃとを高信頼端末２００に送信する（Ｓ１２０）。
【００１６】
高信頼端末２００のセッション鍵算出部２４０は、マスクセッション鍵ｋ’から、乱数ｘの逆元を用いてセッション鍵ｋを求める（Ｓ２４０）。例えば、
ｋ＝ｋ’−ｘ
のようにセッション鍵ｋを求めればよい。復号部２５０は、暗号文Ｃを、セッション鍵ｋを用いて
Ｍ＝Ｄｅｃ（ｋ，Ｃ）
のように復号して平文Ｍを求め、高信頼端末２００上に表示する（Ｓ２５０）。
【００１７】
このように実施例１の復号システムによれば、平文を秘匿した状態で、演算量の多いペアリングを汎用端末１００上で行い、高信頼端末２００上ではペアリング演算を行わない。したがって、信頼性は高いが計算資源が乏しい高信頼端末を用いる場合でも、効率よく復号できる。
【実施例２】
【００１８】
実施例１では、高信頼端末が乱数ｘを生成した。しかし、多くの既存の携帯電話は、暗号学的に安全な乱数を生成できない。そこで、実施例２では、高信頼端末で乱数ｘを生成しない例を示す。
【００１９】
図３に実施例２の復号システムの機能構成例を、図４に実施例２の復号システムの処理フロー例を示す。実施例２の復号システムは、ネットワーク１０００でつながった汎用端末１００と高信頼端末４００と鍵生成装置５００とを備え、汎用端末１００が記録する暗号文Ｃ、または送信元装置９００から受信した暗号文Ｃを高信頼端末４００上で復号し、表示する。ネットワーク１０００は１つのネットワークでもよいし、別々のネットワークでもよい。
【００２０】
鍵生成装置５００は、秘密鍵生成部３１０、乱数生成部５３０、楕円スカラー倍部５４０、記録部５９０を備える。高信頼端末４００は、特定データ送信部２１０、マスク鍵送信部４３０、セッション鍵算出部２４０、復号部２５０、記録部４９０を備える。汎用端末１００は、実施例１と同じである。高信頼端末４００の特定データ送信部２１０は、高信頼端末を特定するデータＤを鍵生成装置に送信する（Ｓ２１０）。
【００２１】
鍵生成装置５００の秘密鍵生成部３１０は、１以上ｑ−１以下の整数であるマスター秘密鍵ｓを選択し、記録部５９０に記録する（Ｓ３１０）。乱数生成部５３０は、１以上ｑ−１以下の乱数ｘを生成し、記録部５９０に記録する（Ｓ５３０）。楕円スカラー倍部５４０は、高信頼端末４００を特定するデータＤとマスター秘密鍵ｓを用いて生成される暗号鍵ｐを、乱数ｘで楕円スカラー倍した値であるマスク鍵ｐ’を求める。具体的には、
ｐ＝ｓ・Ｈ（Ｄ）
のようにｐを求め、乱数ｘを用いて楕円スカラー倍した値をマスク鍵ｐ’とすればよい。そして、マスク鍵ｐ’と乱数ｘの逆元を求めるための情報を高信頼端末４００に送信する（Ｓ５４０）。高信頼端末４００のマスク鍵送信部４３０は、マスク鍵ｐ’を汎用端末１００に送信する（Ｓ４３０）。
【００２２】
汎用端末１００は、あらかじめ記録部１９０に、暗号文Ｃと暗号文Ｃに対する暗号化セッション鍵Ｒを記録しておいてもよいし、暗号文Ｃを送信元装置９００から取得してもよい（Ｓ９００）。汎用端末１００のペアリング部１１０は、マスク鍵ｐ’と暗号文Ｃに対する暗号化セッション鍵Ｒから、マスクセッション鍵ｋ’を、
ｋ’＝ｅ（ｐ’，Ｒ）
のように求める（Ｓ１１０）。送信部１２０は、マスクセッション鍵ｋ’と暗号文Ｃとを高信頼端末４００に送信する（Ｓ１２０）。高信頼端末４００のセッション鍵算出部２４０は、マスクセッション鍵ｋ’から、乱数ｘの逆元を用いてセッション鍵ｋを求める（Ｓ２４０）。復号部２５０は、暗号文Ｃを、セッション鍵ｋを用いて復号して平文Ｍを求め、高信頼端末４００上に表示する（Ｓ２５０）。
【００２３】
このように実施例２の復号システムによれば、実施例１と同じ効果が得られる。さらに、乱数ｘの生成も高信頼端末で行わない。したがって、暗号学的に安全な乱数を生成できない高信頼端末であっても、安全性を確保しながら復号できる。つまり、既存の多くの携帯電話を高信頼端末として利用できる。
【００２４】
［効果の評価］
次に、本発明で高信頼端末の計算量がどの程度軽減できるかを評価してみる。従来のペアリングを高信頼端末で行う場合、高信頼端末では１回のペアリング演算がある。実施例１の高信頼端末では１回の楕円スカラー倍演算（Ｓ２３０）、１回の拡大体べき乗（Ｓ２４０）がある。実施例２の高信頼端末では、１回の拡大体べき乗（Ｓ２４０）がある。計算量の比は、
ペアリング：楕円スカラー倍演算：拡大体べき乗≒１０：５：１
である。したがって、高信頼端末の演算量の比は、
従来：実施例１：実施例２≒１０：６：１
となる。このように従来の方法に比べ計算資源が乏しい高信頼端末の計算量が減るので、応答性の向上が図れる。
【００２５】
［プログラム、記録媒体］
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００２６】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【００２７】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００２８】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００２９】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００３０】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００３１】
本発明は、秘密情報の漏えいを防ぎながら通信する暗号通信などに利用することができる。
【符号の説明】
【００３２】
１００  汎用端末                          １１０  ペアリング部
１２０  送信部
１９０、２９０、３９０、４９０、５９０  記録部
２００、４００  高信頼端末                ２１０  特定データ送信部
２２０、５３０  乱数生成部                ２３０、５４０  楕円スカラー倍部
２４０  セッション鍵算出部                ２５０  復号部
３００、５００  鍵生成装置                ３１０  秘密鍵生成部
３２０  暗号鍵生成部                      ４３０  マスク鍵送信部
９００  送信元装置                        １０００  ネットワーク
【図１】
0005480763.tif 000002
【図２】
0005480763.tif 000003
【図３】
0005480763.tif 000004
【図４】
0005480763.tif 000005