(57)【特許請求の範囲】
【請求項１】
秘密鍵情報を記憶する第１の記憶手段と、
第１の公開鍵情報を記憶する第２の記憶手段と、
第２から第Ｎ＋１までのＮ個の公開鍵情報を記憶する第３の記憶手段と、
上記第１の記憶手段の上記秘密鍵情報をＮ個の部分秘密鍵情報に分割する整数分割手段と、
巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、当該巡回群において定義される演算子で結合するものであって、上記第１の記憶手段の上記秘密鍵情報と、上記第３の記憶手段のＮ個の公開鍵情報から１個ずつ読み出した各公開鍵情報とに基づいて演算処理を行う第１の演算手段と、
上記第１の演算手段の演算結果を、第１から第ＮまでのＮ個の共通鍵情報に変換する鍵変換手段と、
巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、当該巡回群において定義される演算子で結合するものであって、上記Ｎ個の部分秘密鍵情報と、上記第２の記憶手段の上記第１の公開鍵情報とに基づいて、第１から第ＮまでのＮ個の部分共有鍵計算パラメータを求める第２の演算手段と、
上記Ｎ個の共通鍵情報のうちの第ｊ番目の共通鍵情報を鍵情報とし、対応する第ｊ番目の上記部分共有鍵計算パラメータのビット列表現を暗号化対象のビット列として暗号化して第ｊ番目の委託パラメータ情報を生成し、第１から第Ｎ番目までの委託パラメータ情報を生成する暗号化手段と
を備えることを特徴とする委託パラメータ情報生成装置。
【請求項２】
秘密鍵情報を記憶する第１の記憶手段と、
第１の公開鍵情報を記憶する第２の記憶手段と、
第２から第Ｎ＋１までのＮ個の公開鍵情報を記憶する第３の記憶手段と、
上記第１の記憶手段の上記秘密鍵情報をＮ個の部分秘密鍵情報に分割する整数分割手段と、
巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、当該巡回群において定義される演算子で結合するものであって、上記第１の記憶手段の上記秘密鍵情報と、上記第３の記憶手段のＮ個の公開鍵情報から１個ずつ読み出した各公開鍵情報とに基づいて演算処理を行う第１の演算手段と、
上記第１の演算手段の演算結果を、第１から第ＮまでのＮ個の共通鍵情報に変換する鍵変換手段と、
上記Ｎ個の共通鍵情報のうちの第ｊ番目の共通鍵情報を鍵情報とし、対応する第ｊ番目の上記部分秘密鍵情報のビット列表現を暗号化対象のビット列として暗号化して第ｊ番目の委託パラメータ情報を生成し、第１から第Ｎ番目までの委託パラメータ情報を生成する暗号化手段と
を備えることを特徴とする委託パラメータ情報生成装置。
【請求項３】
送受信手段と、
請求項１又は２に記載の委託パラメータ情報生成装置に相当する委託パラメータ情報生成手段と
を備えることを特徴とする通信装置。
【請求項４】
予め設けられた事前共有鍵情報を記憶する共有鍵情報記憶手段と、
上記事前共有鍵情報で暗号化されたＮ個の整数を入力し、入力されたＮ個の整数を上記事前共有鍵情報で復号し、Ｎ個の部分情報を求める復号手段と、
上記復号手段により復号されたＮ個の部分情報を所定の演算で結合して所定の秘密情報を求める合成手段と
を備えることを特徴とする共有鍵合成装置。
【請求項５】
上記各整数が部分共有鍵情報であり、上記所定の秘密情報が共有鍵情報であることを特徴とする請求項４に記載の共有鍵合成装置。
【請求項６】
上記各整数が部分プレマスターシークレット情報であり、上記所定の秘密情報がプレマスターシークレット情報であることを特徴とする請求項４に記載の共有鍵合成装置。
【請求項７】
上記合成手段が、Ｎ個の部分共有鍵情報を入力する代わりに、Ｎ個の部分第１暗号文パラメータ情報と、第２暗号文パラメータ情報が入力され、上記合成手段は、上記Ｎ個の部分第１暗号文パラメータ情報を巡回群に定義される演算で結合して第１暗号文パラメータ情報を計算し、当該第１暗号文パラメータ情報の逆元を計算すると共に、当該逆元と、当該第２暗号文パラメータ情報と、を巡回群に定義される演算で結合することにより共有鍵情報を求めるものであることを特徴とする請求項５に記載の共有鍵合成装置。
【請求項８】
予め設定された事前共有鍵情報と秘密鍵情報とを記憶する記憶手段と、
上記事前共有鍵情報で暗号化された情報を復号する復号手段と、
Ｎ個の部分ディジタル署名パラメータ情報を所定の巡回群の位数ｎに対して、集合（０、１、…、ｎ−１）でなる有限体の中で総和をとり、その総和の当該有限体の乗法群における逆元を求め、任意のハッシュ値を有限体の元に置き換えた積に上記秘密鍵情報とディジタル署名第１パラメータ情報との積を加えた値と、当該逆元と、を乗算することにより得られる、ディジタル署名第２パラメータ情報を求める演算手段と
を備え、
上記復号手段が、暗号化されたＮ個の部分ディジタル署名パラメータ情報を受け取り、上記事前共有鍵情報で復号するものであり、
上記演算手段が、上記復号手段により復号された上記Ｎ個の部分ディジタル署名パラメータ情報を受け取ると共に、所定のインターフェースからディジタル署名第１パラメータ情報を受け取り、上記Ｎ個の部分ディジタル署名パラメータ情報を所定の演算で結合してディジタル署名パラメータ情報を計算し、当該ディジタル署名パラメータ情報と、上記ディジタル署名第１パラメータ情報と、所定のハッシュ値と、上記秘密鍵情報とに基づいて、ディジタル署名第２パラメータ情報を求めるものである
ことを特徴とする署名情報合成装置。
【請求項９】
上記演算手段が、Ｎ個の部分ディジタル署名第１パラメータ情報を所定のインターフェースから受け取り、上記Ｎ個の部分ディジタル署名第１パラメータ情報を、当該巡回群に定義される演算で結合して、ディジタル署名第１パラメータ情報を求めるものであることを特徴とする請求項８に記載の署名情報合成装置。
【請求項１０】
予め設定された事前共有鍵情報を記憶する記憶手段と、
上記事前共有鍵情報で暗号化された情報を復号する復号手段と、
Ｎ個の部分ディジタル署名情報を所定の巡回群に定義される演算で結合してディジタル署名情報を計算する演算手段と
備え、
上記復号手段が、上記事前共有鍵情報で暗号化されたＮ個の部分ディジタル署名情報を、上記記憶手段に記憶されている上記事前共有鍵情報を用いて復号するものであり、
上記演算手段が、上記Ｎ個の部分ディジタル署名情報を結合してディジタル署名情報を求めるものである
ことを特徴とする署名情報合成装置。
【請求項１１】
送受信手段と、
請求項４〜７のいずれかに記載の共有鍵合成装置に相当する共有鍵合成手段と、
請求項８〜１０のいずれかに記載の署名情報合成装置に相当するディジタル署名合成手段と
を備え、
上記送受信手段は、
暗号化されたＮ個の部分共有鍵情報か、暗号化されたＮ個の部分第１暗号文パラメータ情報か、又は、暗号化されたＮ個の部分プレマスターシークレット情報のいずれかを受信し、上記共有鍵合成手段の復号手段に与えると共に、第２暗号文パラメータ情報を受信した場合は、上記共有鍵合成手段の合成手段に与え、上記共有鍵合成手段に、共有鍵情報か、又は、プレマスターシークレット情報を求めさせ、
暗号化されたＮ個の部分ディジタル署名パラメータ情報か、又は、暗号化されたＮ個の部分ディジタル署名情報を受信して、上記ディジタル署名合成手段の復号手段に与えると共に、ディジタル署名第１パラメータ情報か、Ｎ個の部分ディジタル署名第１パラメータ情報か、ハッシュ値を受信した場合は、上記ディジタル署名合成手段の演算手段に与え、上記ディジタル署名合成手段にディジタル署名情報を求めさせ、ディジタル署名情報を所定の送信先に送信する
ことを特徴とする通信装置。
【請求項１２】
請求項１又は請求項２に記載の委託パラメータ情報生成装置に相当する委託パラメータ情報生成手段を備え、
上記送受信手段は、少なくとも上記委託パラメータ情報生成手段により生成されたＮ個の委託パラメータ情報を、所定の送信先に送信するものであることを特徴とする請求項１１に記載の通信装置。
【請求項１３】
秘密鍵情報を記憶する第１の記憶手段と、
第１の公開鍵情報を記憶する第２の記憶手段と、
委託パラメータ情報を記憶する第３の記憶手段と、
巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、該巡回群において定義される演算子で結合した結果を求めるものであり、上記第１の記憶手段の上記秘密鍵情報と、上記第２の記憶手段の第１の公開鍵情報とに基づいて当該所定の巡回群の元として所定の演算処理を行う第１の演算手段と、
上記第１の演算手段の演算結果を共通鍵情報に変換する鍵変換手段と、
任意のビット列情報を暗号文とみなして所定の鍵情報ビット列で復号するものであって、上記共通鍵情報を鍵情報ビット列とし、上記第３の記憶手段に記憶される上記委託パラメータ情報をビット列情報として復号処理を行う復号手段と、
所定のインターフェースから乱数情報を入力する情報入力手段と、
巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、該巡回群において定義される演算子で結合した結果を求めるものであり、上記情報入力手段から入力された整数を所定の整数とし、上記第１の演算手段から入力された情報を所定の巡回群の元として所定の演算で結合する第２の演算手段と、
任意のビット列情報を所定の鍵情報ビット列で暗号化するものであって、上記鍵変換手段の上記共通鍵情報を鍵情報ビット列とし、上記第２の演算手段からの情報をビット列情報として暗号化処理を行う暗号化手段と
を備えることを特徴とする鍵共有被計算委託装置。
【請求項１４】
上記復号手段による復号結果を第１のパラメータ情報とし、
上記情報入力手段に入力された情報を第２のパラメータ情報とし、
上記第２の演算手段が、上記第１のパラメータ情報と、上記第２のパラメータ情報とに基づいて所定の演算を施すものである
ことを特徴とする請求項１３に記載の鍵共有被計算委託装置。
【請求項１５】
上記第１のパラメータ情報は整数であり、
上記第２のパラメータ情報が暗号文パラメータ情報であり、
上記第２の演算手段は、上記第１のパラメータを所定の整数として入力し、上記第２のパラメータ情報である暗号文パラメータ情報を、所定の巡回群の元として所定の演算で結合した演算結果を上記暗号化手段に与えるものである
ことを特徴とする請求項１４に記載の鍵共有被計算委託装置。
【請求項１６】
上記第１のパラメータ情報が所定の整数であり、
上記第２のパラメータ情報が、第２の公開鍵情報と乱数情報であり、
上記第２の演算手段は、上記第１のパラメータ情報である所定の整数と、上記乱数情報との積を所定の整数として入力し、上記第２の公開鍵情報を、所定の巡回群の元として所定の演算で結合した演算結果を上記暗号化手段に与えるものである
ことを特徴とする請求項１４に記載の鍵共有被計算委託装置。
【請求項１７】
上記第１のパラメータ情報が巡回群の元であり、
上記第２のパラメータ情報が乱数情報であり、
上記第２の演算手段は、上記第１のパラメータ情報を所定の巡回群の元とし、上記第２のパラメータ情報である乱数情報を、所定の整数として所定の演算で結合した演算結果を上記暗号化手段に与えるものである
ことを特徴とする請求項１４に記載の鍵共有被計算委託装置。
【請求項１８】
秘密鍵情報を記憶する第１の記憶手段と、
第１の公開鍵情報を記憶する第２の記憶手段と、
委託パラメータ情報を記憶する第３の記憶手段と、
巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、該巡回群において定義される演算子で結合した結果を求めるものであって、上記第１の記憶手段の上記秘密鍵情報を所定の整数とし、上記第２の記憶手段から第１の公開鍵情報を読み出して所定の巡回群の元として所定の演算を施す第１の演算手段と、
上記第１の演算手段が出力した情報を共通鍵情報に変換する鍵変換手段と、
任意のビット列情報を暗号文とみなして所定の鍵情報ビット列で復号するものであって、上記共通鍵情報を受け取り、上記共通鍵情報を鍵情報ビット列とし、上記第３の記憶手段に記憶される上記委託パラメータ情報をビット列情報として復号処理を行う復号手段と、
所定のインターフェースから暗号文情報を入力する情報入力手段と、
第１の整数を、第２の整数で与えられる数だけ、べき乗計算した結果を出力するものであって、上記情報入力手段から入力された整数を上記第１の整数とし、上記復号手段から入力された情報を上記第２の整数としてべき乗算を施す第２の演算手段と、
任意のビット列情報を所定の鍵情報ビット列で暗号化するものであって、上記第２の演算手段から入力された情報を、上記鍵変換手段から入力された共通鍵情報で暗号化する暗号化手段と
を備えることを特徴とする鍵共有被計算委託装置。
【請求項１９】
秘密鍵情報を記憶する第１の記憶手段と、
第１の公開鍵情報を記憶する第２の記憶手段と、
巡回群の単位元に、巡回群の所定の元を、所定の整数で与えられる数だけ、当該巡回群において定義される演算子で結合するものであって、上記第１の記憶手段の上記秘密鍵情報を所定の整数とし、上記第２の記憶手段の上記第１の公開鍵情報を所定の巡回群の元として所定の演算を施す第１の演算手段と、
上記第１の演算手段の演算結果を共通鍵情報に変換する鍵変換手段と、
乱数情報を生成する乱数情報生成手段と、
巡回群の単位元に、巡回群の所定の生成元を、所定の整数で与えられる数だけ、当該巡回群において定義される演算子で結合するものであって、上記乱数情報生成手段からの上記乱数情報を所定の整数として所定の演算を施す第２の演算手段と、
任意のビット列情報を所定の鍵情報ビット列で暗号化するものであって、上記乱数情報生成手段からの情報を、上記鍵変換手段から入力された共通鍵情報で暗号化する暗号化手段と
を備えることを特徴とする署名情報生成被計算委託装置。
【請求項２０】
上記第２の演算手段が、さらに、２個以上の上記第１の演算手段が出力した情報を、所定の巡回群に定義された演算で結合するものであることを特徴とする請求項１９に記載の署名情報生成被計算委託装置。
【請求項２１】
秘密鍵情報を記憶する第１の記憶手段と、
第１の公開鍵情報を記憶する第２の記憶手段と、
委託パラメータ情報を記憶する第３の記憶手段と、
巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、該群において定義される演算子で結合するものであって、上記第１の記憶手段の上記秘密鍵情報を所定の整数とし、上記第２の記憶手段の上記第１の公開鍵情報を所定の巡回群の元として所定の演算を施す第１の演算手段と、
上記第１の演算手段の演算結果を共通鍵情報に変換する鍵変換手段と、
任意のビット列情報を暗号文とみなして所定の鍵情報ビット列で復号するものであって、上記共通鍵情報を鍵情報ビット列とし、上記第３の記憶手段の上記委託パラメータ情報をビット列情報として復号する復号手段と、
所定のインターフェースから署名対象情報を入力する情報入力手段と、
第１の整数を、第２の整数で与えられる数だけ、べき乗計算した結果を求めるものであって、上記復号手段からの情報を上記第２の整数とし、上記情報入力手段からの情報を上記第１の整数として、べき乗計算した結果を求める第２の演算手段と、
任意のビット列情報を所定の鍵情報ビット列で暗号化するものであって、上記第２の演算手段からの情報を、上記鍵変換手段の共通鍵情報で暗号化する暗号化手段と
を備えることを特徴とする署名情報生成被計算委託装置。
【請求項２２】
送受信手段と、
請求項１３〜１８のいずれかに記載の鍵共有被計算委託装置に相当する鍵共有被計算委託手段と、
請求項１９〜２１のいずれかに記載の署名情報生成被計算委託装置に相当する署名情報生成被計算委託手段と
を備え、
上記送受信手段は、
乱数情報か、暗号文パラメータ情報か、又は、暗号文情報を受信して、それぞれ上記鍵共有被計算委託手段に与え、
上記鍵共有被計算委託手段の暗号化手段と、上記署名情報生成被計算委託手段の暗号化手段との出力情報を、
又は、上記鍵共有被計算委託手段の暗号化手段と、上記署名情報生成被計算委託手段の暗号化手段及び上記署名情報生成被計算委託手段の第２の演算手段との出力情報を、
所定の通信装置に送信するものである
ことを特徴とする被計算委託装置。
【請求項２３】
乱数情報を配送する乱数情報配送管理手段と、
暗号文情報か、若しくは、第１暗号文パラメータ情報及び第２暗号文パラメータ情報を受信して、上記暗号文情報か、若しくは、上記第１暗号文パラメータ情報を他の代行装置に配送すると共に上記第２暗号文パラメータ情報を代行される通信装置に配送する暗号文情報配送管理手段と、
所定のメッセージからメッセージダイジェストを生成するメッセージダイジェスト情報生成手段と、
上記メッセージダイジェスト情報生成手段が生成した情報を他の代行装置若しくは代行される通信装置に送信するメッセージダイジェスト情報配送管理手段と
を備えることを特徴とする被計算委託装置。
【請求項２４】
第１の通信装置と第２の通信装置との間のセキュリティ処理の一部を、第１の通信装置に代わって代行装置が行う鍵共有システムにおいて、
上記第１の通信装置は、
請求項１又は２に記載の委託パラメータ情報生成装置に相当する委託パラメータ情報生成手段と、
請求項４〜７のいずれかに記載の共有鍵合成装置に相当する共有鍵合成手段と
を備え、
上記代行装置は、
請求項２３に記載の被計算委託装置に相当する第１の被計算委託手段と、
請求項２２に記載の被計算委託装置に相当するＮ−１個の第２の被計算委託手段と
を備え、
上記第１の被計算委託手段と上記各第２の被計算委託手段とは、上記委託パラメータ情報生成手段により生成された上記委託パラメータ情報を取得し、
上記第１の被計算委託手段は、乱数情報を生成して上記各第２の被計算委託手段と上記第２の通信装置に送信すると共に、第１の部分共有鍵情報を生成して、上記共有鍵合成手段に送信し、
上記Ｎ−１個の第２の被計算委託手段は、上記第１の被計算委託手段からの乱数情報に基づいて、第２から第Ｎまでの部分共有鍵情報を生成して、上記共有鍵合成手段に送信し、
上記共有鍵合成手段は、上記第１から第Ｎまでの上記部分共有鍵情報を受信して、共有鍵情報を計算し、
上記第２の通信装置は、上記第１の被計算委託手段から乱数情報を受信して共有鍵情報を計算すること
を特徴とする鍵共有システム。
【請求項２５】
第１の通信装置と第２の通信装置との間のセキュリティ処理の一部を、第１の通信装置に代わって代行装置が行う鍵共有システムにおいて、
上記第１の通信装置は、
請求項１又は２に記載の委託パラメータ情報生成装置に相当する委託パラメータ情報生成手段と、
請求項４〜７のいずれかに記載の共有鍵合成装置に相当する共有鍵合成手段と
を備え、
上記代行装置は、
請求項２３に記載の被計算委託装置に相当する第１の被計算委託手段と、
請求項２２に記載の被計算委託装置に相当するＮ−１個の第２の被計算委託手段と
を備え、
上記第１の被計算委託手段と上記各第２の被計算委託手段とは、上記委託パラメータ情報生成手段により生成された上記委託パラメータ情報を取得し、
上記第２の通信装置は、プレマスターシークレット情報と、上記プレマスターシークレット情報を暗号化して、第１暗号文パラメータ情報と第２暗号文パラメータ情報からなる暗号文を生成して上記第１の被計算委託手段に送信し、
上記第１の被計算委託手段は、上記第１暗号文パラメータ情報をＮ−１個の第２の被計算委託手段に転送すると共に、上記第１暗号文パラメータ情報から第１の部分第１暗号文パラメータ情報を生成して、第１の部分第１暗号文パラメータ情報と、第２暗号文パラメータ情報とを上記共有鍵合成手段に送信し、
上記Ｎ−１個の第２の被計算委託手段は、それぞれ上記第１暗号文パラメータ情報を受信して、上記第１暗号文パラメータ情報から第２〜第Ｎの部分第１暗号文パラメータ情報を生成して上記共有鍵合成手段に送信し、
上記共有鍵合成手段は、上記第１から第Ｎの部分第１暗号文パラメータ情報と、第２暗号文パラメータ情報を受信して、プレマスターシークレット情報を計算する
ことを特徴とする鍵共有システム。
【請求項２６】
第１の通信装置と第２の通信装置との間のセキュリティ処理の一部を、第１の通信装置に代わって代行装置が行う鍵共有システムにおいて、
上記第１の通信装置は、
請求項１又は２に記載の委託パラメータ情報生成装置に相当する委託パラメータ情報生成手段と、
請求項４〜７のいずれかに記載の共有鍵合成装置に相当する共有鍵合成手段と
を備え、
上記代行装置は、
請求項２３に記載の被計算委託装置に相当する第１の被計算委託手段と、
請求項２２に記載の被計算委託装置に相当するＮ−１個の第２の被計算委託手段と
を備え、
上記第１の被計算委託手段と上記各第２の被計算委託手段とは、上記委託パラメータ情報生成手段により生成された上記委託パラメータ情報を取得し、
上記第２の通信装置は、プレマスターシークレット情報と、該プレマスターシークレット情報を暗号化して、暗号文情報を生成して上記第１の被計算委託手段に送信し、
上記第１の被計算委託手段は、上記暗号文情報を上記Ｎ−１個の上記第２の被計算委託手段に転送すると共に、上記暗号文情報から第１の部分暗号文情報を生成して上記共有鍵合成手段に送信し、
上記Ｎ−１個の第２の被計算委託手段は、それぞれ上記暗号文情報を受信して、上記暗号文情報から第２〜第Ｎの部分暗号文情報を生成して上記共有鍵合成手段に送信し、
上記共有鍵合成手段は、上記第１から第Ｎの部分暗号文情報を受信して、プレマスターシークレット情報を計算する
ことを特徴とする鍵共有システム。
【請求項２７】
第１の通信装置と第２の通信装置との間のセキュリティ処理の一部を、第１の通信装置に代わって代行装置が行う署名情報検証システムにおいて、
上記第１の通信装置は、
請求項１又は２に記載の委託パラメータ情報生成装置に相当する委託パラメータ情報生成手段と、
請求項８〜１０のいずれかに記載の署名情報合成装置に相当する署名情報合成手段と  を備え、
上記代行装置は、
請求項２３に記載の被計算委託装置に相当する第１の被計算委託手段と、
請求項２２に記載の被計算委託装置に相当するＮ−１個の第２の被計算委託手段と
を備え、
上記第１の被計算委託手段と上記各第２の被計算委託手段とは、上記委託パラメータ情報生成手段により生成された上記委託パラメータ情報を取得し、
上記第１の被計算委託手段は、第１の部分ディジタル署名パラメータ情報と、第１の部分ディジタル署名第１パラメータ情報を生成して、第１の部分ディジタル署名パラメータ情報については暗号化して、上記署名情報合成手段に送信し、
上記Ｎ−１個の第２の被計算委託手段は、それぞれ第２から第Ｎの部分ディジタル署名パラメータ情報と、第２から第Ｎの部分ディジタル署名第１パラメータ情報を生成して、部分ディジタル署名パラメータ情報については暗号化して、上記署名情報合成手段に送信し、
上記署名情報合成手段は、暗号化された第１から第Ｎの部分ディジタル署名パラメータ情報と、該第１から第Ｎの部分ディジタル署名第１パラメータ情報とを受信して、ディジタル署名第１パラメータ情報と、ディジタル署名第２パラメータ情報を計算して上記第２の通信装置に送信し、
上記第２の通信装置は、上記署名情報合成手段から上記ディジタル署名第１パラメータ情報と、上記ディジタル署名第２パラメータ情報とを受信して、検証する、
ことを特徴とする署名情報検証システム。
【請求項２８】
第１の通信装置と第２の通信装置との間のセキュリティ処理の一部を、第１の通信装置に代わって代行装置が行う署名情報検証システムにおいて、
上記第１の通信装置は、
請求項１又は２に記載の委託パラメータ情報生成装置に相当する委託パラメータ情報生成手段と、
請求項８〜１０のいずれかに記載の署名情報合成装置に相当する署名情報合成手段と
を備え、
上記代行装置は、
請求項２３に記載の被計算委託装置に相当する第１の被計算委託手段と、
請求項２２に記載の被計算委託装置に相当するＮ−１個の第２の被計算委託手段と
を備え、
上記第１の被計算委託手段と上記各第２の被計算委託手段とは、上記委託パラメータ情報生成手段により生成された上記委託パラメータ情報を取得し、
上記Ｎ−１個の第２の被計算委託手段は、それぞれ第２から第Ｎの部分ディジタル署名パラメータ情報と、第２から第Ｎの部分ディジタル署名第１パラメータ情報を生成して、部分ディジタル署名パラメータ情報については暗号化して、上記第１の被計算委託手段に送信し、
上記第１の被計算委託手段は、第１の部分ディジタル署名パラメータ情報と、第１の部分ディジタル署名第１パラメータ情報を生成して、該第１の部分ディジタル署名パラメータ情報については暗号化すると共に、該第２から第Ｎの部分ディジタル署名第１パラメータ情報と、暗号化された該第２から第Ｎまでの部分ディジタル署名パラメータ情報とを受信して、該第２から第Ｎまでの部分ディジタル署名第１パラメータ情報を所定の演算で結合してディジタル署名第１パラメータ情報を生成して、暗号化された第１から第Ｎまでの部分ディジタル署名パラメータ情報と、該ディジタル署名第１パラメータ情報を、上記署名情報合成手段に送信し、
上記署名情報合成手段は、暗号化された該第１から第Ｎの部分ディジタル署名パラメータ情報と、上記ディジタル署名第１パラメータ情報とを受信して、ディジタル署名第２パラメータ情報を計算して、上記ディジタル署名第２パラメータ情報を、上記ディジタル署名第１パラメータ情報と共に、上記第２の通信装置に送信し、
上記第２の通信装置は、上記署名情報合成手段から上記ディジタル署名第１パラメータ情報と、上記ディジタル署名第２パラメータ情報とを受信して、検証する、
ことを特徴とする署名情報検証システム。
【請求項２９】
第１の通信装置と第２の通信装置との間のセキュリティ処理の一部を、第１の通信装置に代わって代行装置が行う署名情報検証システムにおいて、
上記第１の通信装置は、
請求項８〜１０のいずれかに記載の署名情報合成装置に相当する署名情報合成手段と
を備え、
上記代行装置は、
請求項２３に記載の被計算委託装置に相当する第１の被計算委託手段と、
請求項２２に記載の被計算委託装置に相当するＮ−１個の第２の被計算委託手段と
を備え、
第１の被計算委託手段は、第１の部分ディジタル署名情報を生成して、上記署名情報合成手段に送信し、
上記Ｎ−１個の第２の被計算委託手段は、それぞれ第２から第Ｎの部分ディジタル署名情報を生成して、上記署名情報合成手段に送信し、
上記署名情報合成手段は、該第１から第Ｎの部分ディジタル署名情報を受信して、ディジタル署名情報を計算して上記第２の通信装置に送信し、
上記第２の通信装置は、上記第１の通信装置から該ディジタル署名情報を受信して、検証する
ことを特徴とする署名情報検証システム。
【請求項３０】
請求項２３〜請求項２６のいずれかに記載の鍵共有システムと、請求項２７〜請求項２９のいずれかに記載の署名情報検証システムとを備えることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、委託パラメータ情報生成装置、共有鍵合成装置、署名情報合成装置、通信装置、鍵共有被計算委託装置、署名情報生成被計算委託装置、被計算委託装置、鍵共有システム、署名情報検証システム及び通信システムに関し、例えば、鍵交換処理、認証処理の一部計算を、被計算委託装置が通信装置に代わって安全に処理する場合に適用し得るものである。
【背景技術】
【０００２】
例えば、防災監視、交通制御、金融といった高い信頼性や品質が必要とされる社会インフラ分野で、センサ等を利用するためには、サービス提供サーバ等の通信装置とセンサ等の通信装置との間の通信の安全性を維持する必要がある。
【０００３】
センサ等の通信装置が、サービス提供サーバ等の通信装置とエンド・エンドの安全な通信路を確保するためには、サービス提供サーバ及びセンサ等が備える２つの通信装置間で、認証、鍵交換といったエンド・エンドの情報交換が必要になる。
【０００４】
ここで、センサ等の通信装置が省電力マルチホップネットワークを形成している場合を考える。省電力マルチホップネットワークとは、センサ等の各通信装置がバケツリレー方式でデータを配送し、自身がデータ配送に関与しないときは、スリープすることにより電力消費を抑えるネットワークである。
【０００５】
例えば、広範囲に膨大な数のセンサ等の通信装置が展開され、それぞれの通信装置とインターネット上のサーバ等の通信装置との間で、エンド・エンドの安全な通信路を確保したい場合、上述のエンド・エンドの情報交換が、省電力マルチホップネットワークの輻輳や、消費電力の増加や、処理時間の増加等の問題を引き起こす可能性がある。
【０００６】
上述の問題に対応できる従来技術として、特許文献１には、ＩＰｓｅｃ（Security  Architecture  for  Internet  Protocol）で必要になるエンド・エンドの鍵交換処理を、小型軽量化が要求される携帯電話機やＰＤＡ上へ導入するのは難点があるとして、上位ネットワーク側の装置に鍵交換処理を代行させて、端末の負荷を軽減する方法が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１２８７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した特許文献１の記載技術は、上位ネットワーク側の装置に鍵交換処理を代行してもらうために、自身の認証鍵等の秘密情報を代行装置に預ける必要がある。また、上述した特許文献１の記載技術は、共有鍵を代行装置側で計算してもらう必要がある。
【０００９】
例えば、クラウド環境を利用したネットワーク上の代行装置を想定する場合や、複数の代行装置を利用する場合には、代行装置への機密情報保守の信頼性の観点から、代行装置において代行装置自身以外の通信装置に係わる機密情報を扱うことはあまり好ましくない。
【００１０】
そのため、代行装置への機密情報保守の信頼性の観点から、通信装置間の通信に係る鍵交換処理・認証処理を、通信装置に代わって行うことができる委託パラメータ情報生成装置、共有鍵合成装置、署名情報合成装置、通信装置、鍵共有被計算委託装置、署名情報生成被計算委託装置、被計算委託装置、鍵共有システム、署名情報検証システム及び通信システムが求められている。
【課題を解決するための手段】
【００１１】
かかる課題を解決するために、第１の本発明の委託パラメータ情報生成装置は、秘密鍵情報を記憶する第１の記憶手段と、第１の公開鍵情報を記憶する第２の記憶手段と、第２から第Ｎ＋１までのＮ個の公開鍵情報を記憶する第３の記憶手段と、第１の記憶手段の秘密鍵情報をＮ個の部分秘密鍵情報に分割する整数分割手段と、巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、当該巡回群において定義される演算子で結合するものであって、第１の記憶手段の秘密鍵情報と、第３の記憶手段のＮ個の公開鍵情報から１個ずつ読み出した各公開鍵情報とに基づいて演算処理を行う第１の演算手段と、第１の演算手段の演算結果を、第１から第ＮまでのＮ個の共通鍵情報に変換する鍵変換手段と、巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、当該巡回群において定義される演算子で結合するものであって、Ｎ個の部分秘密鍵情報と、第２の記憶手段の上記第１の公開鍵情報とに基づいて、第１から第ＮまでのＮ個の部分共有鍵計算パラメータを求める第２の演算手段と、Ｎ個の共通鍵情報のうちの第ｊ番目の共通鍵情報を鍵情報とし、対応する第ｊ番目の部分共有鍵計算パラメータのビット列表現を暗号化対象のビット列として暗号化して第ｊ番目の委託パラメータ情報を生成し、第１から第Ｎ番目までの委託パラメータ情報を生成する暗号化手段とを備えることを特徴とする
第２の本発明の委託パラメータ情報生成装置は、秘密鍵情報を記憶する第１の記憶手段と、第１の公開鍵情報を記憶する第２の記憶手段と、第２から第Ｎ＋１までのＮ個の公開鍵情報を記憶する第３の記憶手段と、第１の記憶手段の秘密鍵情報をＮ個の部分秘密鍵情報に分割する整数分割手段と、巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、当該巡回群において定義される演算子で結合するものであって、第１の記憶手段の秘密鍵情報と、第３の記憶手段のＮ個の公開鍵情報から１個ずつ読み出した各公開鍵情報とに基づいて演算処理を行う第１の演算手段と、第１の演算手段の演算結果を、第１から第ＮまでのＮ個の共通鍵情報に変換する鍵変換手段と、Ｎ個の共通鍵情報のうちの第ｊ番目の共通鍵情報を鍵情報とし、対応する第ｊ番目の部分秘密鍵情報のビット列表現を暗号化対象のビット列として暗号化して第ｊ番目の委託パラメータ情報を生成し、第１から第Ｎ番目までの委託パラメータ情報を生成する暗号化手段とを備えることを特徴とする。
【００１２】
第３の本発明の通信装置は、送受信手段と、第１の本発明の委託パラメータ情報生成装置に相当する委託パラメータ情報生成手段とを備えることを特徴とする。
【００１３】
第４の本発明の共有鍵合成装置は、予め設けられた事前共有鍵情報を記憶する共有鍵情報記憶手段と、事前共有鍵情報で暗号化されたＮ個の整数を入力し、入力されたＮ個の整数を事前共有鍵情報で復号し、Ｎ個の部分情報を求める復号手段と、復号手段により復号されたＮ個の部分情報を所定の演算で結合して所定の秘密情報を求める合成手段とを備えることを特徴とする。
【００１４】
第５の本発明の署名情報合成装置は、予め設定された事前共有鍵情報と秘密鍵情報とを記憶する記憶手段と、事前共有鍵情報で暗号化された情報を復号する復号手段と、Ｎ個の部分ディジタル署名パラメータ情報を所定の巡回群の位数ｎに対して、集合（０、１、…、ｎ−１）でなる有限体の中で総和をとり、その総和の当該有限体の乗法群における逆元を求め、任意のハッシュ値を有限体の元に置き換えた積に秘密鍵情報とディジタル署名第１パラメータ情報との積を加えた値と、当該逆元と、を乗算することにより得られる、ディジタル署名第２パラメータ情報を求める演算手段とを備え、復号手段が、暗号化されたＮ個の部分ディジタル署名パラメータ情報を受け取り、事前共有鍵情報で復号するものであり、演算手段が、復号手段により復号されたＮ個の部分ディジタル署名パラメータ情報を受け取ると共に、所定のインターフェースからディジタル署名第１パラメータ情報を受け取り、Ｎ個の部分ディジタル署名パラメータ情報を所定の演算で結合してディジタル署名パラメータ情報を計算し、当該ディジタル署名パラメータ情報と、ディジタル署名第１パラメータ情報と、所定のハッシュ値と、秘密鍵情報とに基づいて、ディジタル署名第２パラメータ情報を求めるものであることを特徴とする。
【００１５】
第６の本発明の署名情報合成装置は、予め設定された事前共有鍵情報を記憶する記憶手段と、事前共有鍵情報で暗号化された情報を復号する復号手段と、Ｎ個の部分ディジタル署名情報を所定の群に定義される演算で結合してディジタル署名情報を計算する演算手段と備え、復号手段が、事前共有鍵情報で暗号化されたＮ個の部分共有鍵情報を、記憶手段に記憶されている事前共有鍵情報を用いて復号するものであり、演算手段が、Ｎ個の部分ディジタル署名情報を結合してディジタル署名情報を求めるものであることを特徴とする。
【００１６】
第７の本発明の通信装置は、送受信手段と、第４の本発明の共有鍵合成装置に相当する共有鍵合成手段と、第５又は第６の本発明の署名情報合成装置に相当するディジタル署名合成手段とを備え、送受信手段は、暗号化されたＮ個の部分共有鍵情報か、暗号化されたＮ個の部分第１暗号文パラメータ情報か、又は、暗号化されたＮ個の部分プレマスターシークレット情報のいずれかを受信し、共有鍵合成手段の復号手段に与えると共に、第２暗号文パラメータ情報を受信した場合は、共有鍵合成手段の合成手段に与え、共有鍵合成手段に、共有鍵情報か、又は、プレマスターシークレット情報を求めさせ、暗号化されたＮ個の部分ディジタル署名パラメータ情報か、又は、暗号化されたＮ個の部分ディジタル署名情報を受信して、ディジタル署名合成手段の復号手段に与えると共に、ディジタル署名第１パラメータ情報か、Ｎ個の部分ディジタル署名第１パラメータ情報か、ハッシュ値を受信した場合は、ディジタル署名合成手段の演算手段に与え、ディジタル署名合成手段にディジタル署名情報を求めさせ、ディジタル署名情報を所定の送信先に送信することを特徴とする。
【００１７】
第８の本発明の鍵共有被計算委託装置は、秘密鍵情報を記憶する第１の記憶手段と、第１の公開鍵情報を記憶する第２の記憶手段と、委託パラメータ情報を記憶する第３の記憶手段と、巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、該巡回群において定義される演算子で結合した結果を求めるものであり、第１の記憶手段の秘密鍵情報と、第２の記憶手段の第１の公開鍵情報とに基づいて当該所定の巡回群の元として所定の演算処理を行う第１の演算手段と、第１の演算手段の演算結果を共通鍵情報に変換する鍵変換手段と、任意のビット列情報を暗号文とみなして所定の鍵情報ビット列で復号するものであって、共通鍵情報を鍵情報ビット列とし、第３の記憶手段に記憶される委託パラメータ情報をビット列情報として復号処理を行う復号手段と、所定のインターフェースから乱数情報を入力する情報入力手段と、巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、該巡回群において定義される演算子で結合した結果を求めるものであり、情報入力手段から入力された整数を所定の整数とし、第１の演算手段から入力された情報を所定の巡回群の元として所定の演算で結合する第２の演算手段と、任意のビット列情報を所定の鍵情報ビット列で暗号化するものであって、鍵変換手段の上記共通鍵情報を鍵情報ビット列とし、第２の演算手段からの情報をビット列情報として暗号化処理を行う暗号化手段とを備えることを特徴とする。
【００１８】
第９の本発明の鍵共有被計算委託装置は、秘密鍵情報を記憶する第１の記憶手段と、第１の公開鍵情報を記憶する第２の記憶手段と、委託パラメータ情報を記憶する第３の記憶手段と、巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、巡回群において定義される演算子で結合した結果を求めるものであって、第１の記憶手段の秘密鍵情報を所定の整数とし、第２の記憶手段から第１の公開鍵情報を読み出して所定の巡回群の元として所定の演算を施す第１の演算手段と、第１の演算手段が出力した情報を共通鍵情報に変換する鍵変換手段と、任意のビット列情報を暗号文とみなして所定の鍵情報ビット列で復号するものであって、共通鍵情報を受け取り、共通鍵情報を鍵情報ビット列とし、第３の記憶手段に記憶される委託パラメータ情報をビット列情報として復号処理を行う復号手段と、所定のインターフェースから暗号文情報を入力する情報入力手段と、第１の整数を、第２の整数で与えられる数だけ、べき乗計算した結果を出力するものであって、情報入力手段から入力された整数を第１の整数とし、復号手段から入力された情報を第２の整数としてべき乗算を施す第２の演算手段と、任意のビット列情報を所定の鍵情報ビット列で暗号化するものであって、第２の演算手段から入力された情報を、鍵変換手段から入力された共通鍵情報で暗号化する暗号化手段とを備えることを特徴とする。
【００１９】
第１０の本発明の署名情報生成被計算委託装置は、秘密鍵情報を記憶する第１の記憶手段と、第１の公開鍵情報を記憶する第２の記憶手段と、巡回群の単位元に、巡回群の所定の元を、所定の整数で与えられる数だけ、当該巡回群において定義される演算子で結合するものであって、第１の記憶手段の秘密鍵情報を所定の整数とし、第２の記憶手段の第１の公開鍵情報を所定の巡回群の元として所定の演算を施す第１の演算手段と、第１の演算手段の演算結果を共通鍵情報に変換する鍵変換手段と、乱数情報を生成する乱数情報生成手段と、巡回群の単位元に、巡回群の所定の生成元を、所定の整数で与えられる数だけ、当該巡回群において定義される演算子で結合するものであって、乱数情報生成手段からの乱数情報を所定の整数として所定の演算を施す第２の演算手段と、任意のビット列情報を所定の鍵情報ビット列で暗号化するものであって、乱数情報生成手段からの情報を、鍵変換手段から入力された共通鍵情報で暗号化する暗号化手段とを備えることを特徴とする。
【００２０】
第１１の本発明の署名情報生成被計算委託装置は、秘密鍵情報を記憶する第１の記憶手段と、第１の公開鍵情報を記憶する第２の記憶手段と、委託パラメータ情報を記憶する第３の記憶手段と、巡回群の単位元に、所定の巡回群の元を、所定の整数で与えられる数だけ、群において定義される演算子で結合するものであって、第１の記憶手段の秘密鍵情報を所定の整数とし、第２の記憶手段の第１の公開鍵情報を所定の巡回群の元として所定の演算を施す第１の演算手段と、第１の演算手段の演算結果を共通鍵情報に変換する鍵変換手段と、任意のビット列情報を暗号文とみなして所定の鍵情報ビット列で復号するものであって、共通鍵情報を鍵情報ビット列とし、第３の記憶手段の委託パラメータ情報をビット列情報として復号する復号手段と、所定のインターフェースから署名対象情報を入力する情報入力手段と、第１の整数を、第２の整数で与えられる数だけ、べき乗計算した結果を求めるものであって、復号手段からの情報を第２の整数とし、情報入力手段からの情報を第１の整数として、べき乗計算した結果を求める第２の演算手段と、任意のビット列情報を所定の鍵情報ビット列で暗号化するものであって、第２の演算手段からの情報を、鍵変換手段の共通鍵情報で暗号化する暗号化手段とを備えることを特徴とする。
【００２１】
第１２の本発明の被計算委託装置は、送受信手段と、第８〜第９の本発明の鍵共有被計算委託装置に相当する鍵共有被計算委託手段と、第１０〜第１１の本発明の署名情報生成被計算委託装置に相当する署名情報生成被計算委託手段とを備え、送受信手段は、乱数情報か、暗号文パラメータ情報か、又は、暗号文情報を受信して、それぞれ上記鍵共有被計算委託手段に与え、鍵共有被計算委託手段の暗号化手段と、署名情報生成被計算委託手段の暗号化手段との出力情報を、又は、鍵共有被計算委託手段の暗号化手段と、署名情報生成被計算委託手段の暗号化手段及び署名情報生成被計算委託手段の第２の演算手段との出力情報を、所定の通信装置に送信するものであることを特徴とする。
【００２２】
第１３の本発明の被計算委託装置は、乱数情報を配送する乱数情報配送管理手段と、暗号文情報か、若しくは、第１暗号文パラメータ情報及び第２暗号文パラメータ情報を受信して、上記暗号文情報か、若しくは、上記第１暗号文パラメータ情報を他の代行装置に配送すると共に上記第２暗号文パラメータ情報を代行される通信装置に配送する暗号文情報配送管理手段と、所定のメッセージからメッセージダイジェストを生成するメッセージダイジェスト情報生成手段と、メッセージダイジェスト情報生成手段が生成した情報を他の代行装置若しくは代行される通信装置に送信するメッセージダイジェスト情報配送管理手段とを備えることを特徴とする。
【００２３】
第１４の本発明の鍵共有システムは、第１の通信装置と第２の通信装置との間のセキュリティ処理を、第１の通信装置に代わって代行装置が行う鍵共有システムにおいて、第１の通信装置は、委託パラメータ情報生成手段と、共有鍵合成手段とを備え、代行装置は、第１３の本発明の被計算委託装置に相当する第１の被計算委託手段と、第１２の本発明の被計算委託装置に相当するＮ−１個の第２の被計算委託手段とを備え、第１の被計算委託手段と各第２の被計算委託手段とは、委託パラメータ情報生成手段により生成された委託パラメータ情報を取得し、第１の被計算委託手段は、乱数情報を生成して各第２の被計算委託手段と第２の通信装置に送信すると共に、第１の部分共有鍵情報を生成して、共有鍵合成手段に送信し、Ｎ−１個の第２の被計算委託手段は、第１の被計算委託手段からの乱数情報に基づいて、第２から第Ｎまでの部分共有鍵情報を生成して、共有鍵合成手段に送信し、共有鍵合成手段は、第１から第Ｎまでの上記部分共有鍵情報を受信して、共有鍵情報を計算し、第２の通信装置は、第１の被計算委託手段から乱数情報を受信して共有鍵情報を計算することを特徴とする。
【００２４】
第１５の本発明の鍵共有システムは、第１の通信装置と第２の通信装置との間のセキュリティ処理を、第１の通信装置に代わって代行装置が行う鍵共有システムにおいて、第１の通信装置は、委託パラメータ情報生成手段と、共有鍵合成手段とを備え、代行装置は、第１３の本発明の被計算委託装置に相当する第１の被計算委託手段と、第１２の本発明の被計算委託装置に相当するＮ−１個の第２の被計算委託手段とを備え、第１の被計算委託手段と各第２の被計算委託手段とは、委託パラメータ情報生成手段により生成された委託パラメータ情報を取得し、第２の通信装置は、プレマスターシークレット情報と、プレマスターシークレット情報を暗号化して、第１暗号文パラメータ情報と第２暗号文パラメータ情報からなる暗号文を生成して第１の被計算委託手段に送信し、第１の被計算委託手段は、第１暗号文パラメータ情報をＮ−１個の第２の被計算委託手段に転送すると共に、第１暗号文パラメータ情報から第１の部分第１暗号文パラメータ情報を生成して、第１の部分第１暗号文パラメータ情報と、第２暗号文パラメータ情報とを共有鍵合成手段に送信し、Ｎ−１個の第２の被計算委託手段は、それぞれ第１暗号文パラメータ情報を受信して、第１暗号文パラメータ情報から第２〜第Ｎの部分第１暗号文パラメータ情報を生成して共有鍵合成手段に送信し、共有鍵合成手段は、第１から第Ｎの部分第１暗号文パラメータ情報と、第２暗号文パラメータ情報を受信して、プレマスターシークレット情報を計算することを特徴とする。
【００２５】
第１６の本発明の鍵共有システムは、第１の通信装置と第２の通信装置との間のセキュリティ処理を、第１の通信装置に代わって代行装置が行う鍵共有システムにおいて、第１の通信装置は、委託パラメータ情報生成手段と、共有鍵合成手段とを備え、代行装置は、第１３の本発明の被計算委託装置に相当する第１の被計算委託手段と、第１２の本発明の被計算委託装置に相当するＮ−１個の第２の被計算委託手段とを備え、第１の被計算委託手段と各第２の被計算委託手段とは、委託パラメータ情報生成手段により生成された委託パラメータ情報を取得し、第２の通信装置は、プレマスターシークレット情報と、該プレマスターシークレット情報を暗号化して、暗号文情報を生成して第１の被計算委託手段に送信し、第１の被計算委託手段は、暗号文情報を上記Ｎ−１個の第２の被計算委託手段に転送すると共に、暗号文情報から第１の部分暗号文情報を生成して共有鍵合成手段に送信し、Ｎ−１個の第２の被計算委託手段は、それぞれ暗号文情報を受信して、暗号文情報から第２〜第Ｎの部分暗号文情報を生成して共有鍵合成手段に送信し、共有鍵合成手段は、第１から第Ｎの部分暗号文情報を受信して、プレマスターシークレット情報を計算することを特徴とする。
【００２６】
第１７の本発明の署名情報検証システムは、第１の通信装置と第２の通信装置との間のセキュリティ処理を、第１の通信装置に代わって代行装置が行う署名情報検証システムにおいて、第１の通信装置は、委託パラメータ情報生成手段と、署名情報合成手段とを備え、代行装置は、第１３の本発明の被計算委託装置に相当する第１の被計算委託手段と、第１２の本発明の被計算委託装置に相当するＮ−１個の第２の被計算委託手段とを備え、第１の被計算委託手段と各第２の被計算委託手段とは、委託パラメータ情報生成手段により生成された委託パラメータ情報を取得し、第１の被計算委託手段は、第１の部分ディジタル署名パラメータ情報と、第１の部分ディジタル署名第１パラメータ情報を生成して、第１の部分ディジタル署名パラメータ情報については暗号化して、署名情報合成手段に送信し、Ｎ−１個の第２の被計算委託手段は、それぞれ第２から第Ｎの部分ディジタル署名パラメータ情報と、第２から第Ｎの部分ディジタル署名第１パラメータ情報を生成して、部分ディジタル署名パラメータ情報については暗号化して、署名情報合成手段に送信し、署名情報合成手段は、暗号化された第１から第Ｎの部分ディジタル署名パラメータ情報と、該第１から第Ｎの部分ディジタル署名第１パラメータ情報とを受信して、ディジタル署名第１パラメータ情報と、ディジタル署名第２パラメータ情報を計算して第２の通信装置に送信し、第２の通信装置は、署名情報合成手段からディジタル署名第１パラメータ情報と、ディジタル署名第２パラメータ情報とを受信して、検証することを特徴とする。
【００２７】
第１８の本発明の署名情報検証システムは、第１の通信装置と第２の通信装置との間のセキュリティ処理を、第１の通信装置に代わって代行装置が行う署名情報検証システムにおいて、第１の通信装置は、委託パラメータ情報生成手段と、署名情報合成手段とを備え、代行装置は、第１３の本発明の被計算委託装置に相当する第１の被計算委託手段と、第１２の本発明の被計算委託装置に相当するＮ−１個の第２の被計算委託手段とを備え、第１の被計算委託手段と各第２の被計算委託手段とは、委託パラメータ情報生成手段により生成された上記委託パラメータ情報を取得し、Ｎ−１個の第２の被計算委託手段は、それぞれ第２から第Ｎの部分ディジタル署名パラメータ情報と、第２から第Ｎの部分ディジタル署名第１パラメータ情報を生成して、第１の部分ディジタル署名パラメータ情報については暗号化して、第１の被計算委託手段に送信し、第１の被計算委託手段は、第１の部分ディジタル署名パラメータ情報と、第１の部分ディジタル署名第１パラメータ情報を生成して第１の部分ディジタル署名パラメータ情報については暗号化すると共に、第２から第Ｎの部分ディジタル署名第１パラメータ情報と、暗号化された第２から第Ｎまでの部分ディジタル署名パラメータ情報とを受信して、第２から第Ｎまでの部分ディジタル署名第１パラメータ情報を所定の演算で結合してディジタル署名第１パラメータ情報を生成して、暗号化された第１から第Ｎまでの部分ディジタル署名パラメータ情報と、ディジタル署名第１パラメータ情報を、署名情報合成手段に送信し、署名情報合成手段は、暗号化された該第１から第Ｎの部分ディジタル署名パラメータ情報と、ディジタル署名第１パラメータ情報とを受信して、ディジタル署名第２パラメータ情報を計算して、ディジタル署名第２パラメータ情報を、ディジタル署名第１パラメータ情報と共に、第２の通信装置に送信し、第２の通信装置は、署名情報合成手段からディジタル署名第１パラメータ情報と、ディジタル署名第２パラメータ情報とを受信して、検証する
ことを特徴とする。
【００２８】
第１９の本発明の署名情報検証システムは第１の通信装置と第２の通信装置との間のセキュリティ処理を、第１の通信装置に代わって代行装置が行う署名情報検証システムにおいて、第１の通信装置は、署名情報合成手段を備え、代行装置は、第１３の本発明の被計算委託装置に相当する第１の被計算委託手段と、第１２の本発明の被計算委託装置に相当するＮ−１個の第２の被計算委託手段とを備え、第１の被計算委託手段は、第１の部分ディジタル署名情報を生成して、署名情報合成手段に送信し、Ｎ−１個の第２の被計算委託手段は、それぞれ第２から第Ｎの部分ディジタル署名情報を生成して、署名情報合成手段に送信し、署名情報合成手段は第１から第Ｎの部分ディジタル署名情報を受信して、ディジタル署名情報を計算して第２の通信装置に送信し、第２の通信装置は、第１の通信装置から該ディジタル署名情報を受信して、検証することを特徴とする。
【００２９】
第２０の本発明の通信システムは、第１４〜第１６のいずれかの本発明の鍵共有システムと、第１７〜第１９のいずれかの本発明の署名情報検証システムとを備えることを特徴とする。
【発明の効果】
【００３０】
本発明によれば、代行装置への機密情報保守の信頼性を維持しながら、通信装置間の通信に係る鍵交換処理・認証処理を、通信装置に代わって行わせることができる。
【図面の簡単な説明】
【００３１】
【図１】第１の実施形態のシステムの全体構成を示す構成図である。
【図２】第１の実施形態の第１の通信装置の内部構成を示す内部構成図である。
【図３】第１の実施形態のプライマリ被計算委託装置の内部構成を示す内部構成図である。
【図４】第１の実施形態のセカンダリ被計算委託装置の内部構成を示す内部構成図である。
【図５】第１の実施形態の第２の通信装置の内部構成を示す内部構成図である。
【図６】第１の実施形態の鍵共有、認証処理の動作を示すシーケンス図である。
【図７】第２の実施形態の第１の通信装置の内部構成を示す内部構成図である。
【図８】第２の実施形態のプライマリ被計算委託装置の内部構成を示す内部構成図である。
【図９】第２の実施形態のセカンダリ被計算委託装置の内部構成を示す内部構成図である。
【図１０】第２の実施形態の第２の通信装置の内部構成を示す内部構成図である。
【図１１】第２の実施形態の鍵共有、認証処理の動作を示すシーケンス図である。
【発明を実施するための形態】
【００３２】
（Ａ）本発明の基本的概念
本発明は、複数の通信装置間の通信において、被計算委託装置が、通信装置間のセキュリティ処理に係る計算の一部を代行する。
【００３３】
被計算委託装置は、以下の５つの条件を満たす鍵共有計算、ＰＫＩ復号計算、及び、ディジタル署名計算の一部を実行するものである。
【００３４】
なお、鍵共有の計算方法は、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ（楕円曲線Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）鍵共有計算方法を例示する。
【００３５】
[５つの条件］
（１）被計算委託装置は、ＰＫＩ（Public  Key  Infrastructure）に登録した自らの公開鍵に対応する秘密鍵情報以外一切の秘密を扱うことなく委託された計算を実行できること。
【００３６】
（２）被計算委託装置は共有鍵を知ることができないこと。
【００３７】
（３）鍵共有プロトコルは、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ（楕円曲線Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）鍵共有プロトコル、若しくは、プレマスターシークレット配送鍵共有プロトコルに対応し、認証プロトコルとしてディジタル署名の検証による認証に対応すること。
【００３８】
（４）認証・鍵共有処理計算において、計算を委託する通信装置側の計算量は、有限体上のべき乗計算、若しくは、楕円曲線上の有理点のスカラー倍算に相当する計算量を必要としないこと。
【００３９】
（５）当該通信装置を含む通信ネットワークヘの負荷は、通信装置と被計算委託装置との間のトラフィックが、１回の認証・鍵共有あたり１往復以内であること。
【００４０】
（Ｂ）第１の実施形態
以下では、本発明の委託パラメータ情報生成装置、共有鍵合成装置、署名情報合成装置、通信装置、鍵共有被計算委託装置、署名情報生成被計算委託装置、被計算委託装置、鍵共有システム、署名情報検証システム及び通信システムの第１の実施形態について、図面を参照しながら詳細に説明する。
【００４１】
第１の実施形態では、第１の通信装置と第２の通信装置との間の鍵共有プロトコルにＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵共有プロトコルを採用し、認証方式にディジタル署名の検証を採用する場合の実施形態を説明する。
【００４２】
（Ｂ−１）第１の実施形態の構成
（Ｂ−１−１）システムの全体構成
図１は、第１の実施形態のシステムの全体構成を示す構成図である。図１において、第１の実施形態のシステム１は、第１の通信装置１００、第２の通信装置４００、プライマリ被計算委託装置２００、セカンダリ被計算委託装置３００を少なくとも有して構成される。
【００４３】
なお、本発明の被計算委託装置は、プライマリ被計算委託装置２００及びセカンダリ被計算委託装置３００を有するものである。
【００４４】
第１の通信装置１００は、例えばセンサやスマート端末等の端末に搭載される通信装置であり、ネットワーク帯域や消費電力等が限られた通信装置である。
【００４５】
第１の通信装置１００は、マルチホップ通信によりデータ通信を行なうものである。図１では、第１の通信装置１００が第２の通信装置４００に向けてデータ通信する場合、第１の通信装置１００は、マルチホップ通信によりネットワーク２に接続する終端装置（第１の通信装置１００と同等装置）を介して行うものとする。また、第１の通信装置１００と第２の通信装置４００との間のセキュリティ処理を行う場合も、第１の通信装置１００は、上記終端装置を介して、プライマリ被計算委託装置２００及びセカンダリ被計算委託装置３００と通信を行なう。
【００４６】
第２の通信装置４００は、ネットワーク上に存在するサービス提供サーバ等に搭載される通信装置である。
【００４７】
プライマリ被計算委託装置２００及びセカンダリ被計算委託装置３００は、本発明の被計算委託装置を構成するものであり、認証鍵共有プロトコルにおいて第１の通信装置１００が実行すべき計算の一部を代行するものである。
【００４８】
図１では、プライマリ被計算委託装置２００とセカンダリ被計算委託装置３００とが、物理的に異なる装置であるように示すが、後述するプライマリ被計算委託装置２００及びセカンダリ被計算委託装置３００の各種機能を実行することができれば、プライマリ被計算委託装置２００及びセカンダリ被計算委託装置３００が同一の装置に備わるものであってもよい。
【００４９】
なお、第１の実施形態の説明において、ｇは、巡回群＜Ｇ，・＞の生成元であり、システム共通のパラメータである。また、ｎは巡回群Ｇの位数である。
【００５０】
整数ｘは、第１の通信装置１００の秘密鍵であり、Ｐ＿Ｘ＝ｇ＾ｘは、第１の通信装置１００の公開鍵である。
【００５１】
整数ｖは、第２の通信装置４００の秘密鍵であり、Ｐ＿Ｖ＝ｇ＾ｖは、第２の通信装置４００の公開鍵である。
【００５２】
整数ｄ＿１は、プライマリ被計算委託装置２００の秘密鍵であり、Ｐ＿Ｄ１＝ｇ＾ｄ＿１は、プライマリ被計算委託装置２００の公開鍵である。
【００５３】
整数ｄ＿２は、セカンダリ被計算委託装置３００の秘密鍵であり、Ｐ＿Ｄ１＝ｇ＾ｄ＿２は、セカンダリ被計算委託装置３００の公開鍵である。
【００５４】
巡回群Ｇにおけるα・β∈Ｇは、αとβとを被演算子として巡回群Ｇで定義されている演算を行うことを意味する。また、α＾β∈Ｇは、αを被演算子として巡回群Ｇで定義されている演算をβ回行うことを意味する。また、α／β∈Ｇは、αと巡回群で定義されたβの逆元とを被演算子とし、巡回群Ｇで定義されている演算を行うことを意味する。
【００５５】
例えば、巡回群Ｇが楕円曲線Ｅ上の有理点のなす群であった場合、α・β∈Ｇは楕円曲線Ｅ上でのαとβとの楕円加算を意味し、α＾β∈Ｇはαの楕円スカラーβ倍算を意味し、α／β∈Ｇはαからβの楕円減算を意味する。
【００５６】
また例えば、巡回群Ｇが有限体の乗法群であった場合、α・β∈Ｇはαとβとの乗算を意味し、α＾β∈Ｇはαのβ乗を意味し、α／β∈Ｇはαのβによる除算を意味する。またＸ＿ＹはＸに対してＹを下付き文字表記する場合と同じである。
【００５７】
なお、第１の通信装置１００とプライマリ被計算委託装置２００との間で、予め共有鍵暗号アルゴリズムの共有鍵Ｋ＿ＸＤ１を共有し、第１の通信装置１００とセカンダリ被計算委託装置３００との間で予め共有鍵Ｋ＿ＸＤ２を共有しているものとする。
【００５８】
（Ｂ−１−２）第１の通信装置１００の内部構成
図２は、第１の通信装置１００の内部構成を示す内部構成図である。図２において、第１の通信装置１００は、送受信部１０１、秘密鍵情報記憶部１０２、公開鍵証明書取得部１０３、秘密鍵情報分割部１０４、委託パラメータ生成部１０５、部分共有鍵復号部１０６、共有鍵合成部１０７、部分署名パラメータ復号部１０８、署名パラメータ合成部１０９、署名生成部１１０を有する。
【００５９】
図２において、少なくとも、秘密鍵情報記憶部１０２、公開鍵証明書取得部１０３、秘密鍵情報分割部１０４、委託パラメータ生成部１０５を含むものを委託パラメータ情報生成装置１１ともいう。
【００６０】
また図２において、少なくとも、秘密鍵情報記憶部１０２、部分共有鍵復号部１０６、共有鍵合成部１０７を含むものを共有鍵合成装置１２ともいう。
【００６１】
さらに図２において、少なくとも、秘密鍵情報記憶部１０２、部分署名パラメータ復号部１０８、署名パラメータ合成部１０９、署名生成部１１０を含むものをディジタル署名合成装置１３ともいう。
【００６２】
送受信部１０１は、少なくとも、プライマリ被計算委託装置２００とセカンダリ被計算委託装置３００とに対して、所定の通信プロトコルを用いて通信するものである。
【００６３】
秘密鍵情報記憶部１０２は、公開鍵ペア（秘密鍵ｘ，公開鍵Ｐ＿Ｘ＝ｇ＾Ｘ）のうちの、少なくとも秘密鍵ｘを安全に記憶するものである。また、秘密鍵情報記憶部１０２は、プライマリ被計算委託装置２００の間で共有する暗号鍵情報Ｋ＿ＸＤ１と、セカンダリ被計算委託装置３００の間で共有する暗号鍵情報Ｋ＿ＸＤ２とも記憶している。なお、秘密鍵情報記憶部１０２は、共有鍵合成部１０７の計算結果、すなわち共有鍵情報Ｋを記憶しても良い。
【００６４】
公開鍵証明書取得部１０３は、任意の公開鍵証明書を取得することができ、取得した公開鍵証明書の署名を検証するものである。
【００６５】
ここで、公開鍵証明書は、公開鍵と、その所有者の同定情報（その他に有効期間、発行者、署名アルゴリズムなどの情報も含む）と、それらの情報に対する公開鍵基盤の認証局の秘密鍵でサインしたディジタル署名とで構成されるものである。公開鍵証明書は、一般的に利用される標準規格として、ＩＴＵ−Ｔ（International  Telecommunication  Union  Telecommunication  Standardization  Sector）のＸ．５０９規格があり、これを適用することができる。
【００６６】
公開鍵証明書取得部１０３は、公開鍵基盤の認証局の公開鍵を予め記憶しており、当該ディジタル署名情報を、記憶している公開鍵基盤の認証局（図示しない）の公開鍵を用いて所定の検証アルゴリズムを用いることにより検証することができる。
【００６７】
また、公開鍵証明書の取得方法は、特に限定されるものではなく、例えば送受信部１０１が公開鍵基盤の認証局から受信して取得してもよいし、また例えば、別の入力インターフェース（例えばＵＳＢメモリデバイス、保守用機器など）を経由して取得しても良い。なお、この実施形態では、公開鍵証明書取得部１０３が、送受信部１０１により受信された公開鍵証明書を取得するものとする。
【００６８】
秘密鍵情報分割部１０４は、秘密鍵情報記憶部１０２に記憶される秘密鍵ｘを、式（１−１）に示すようにＮ個に分割するものであり、分割した秘密情報を委託パラメータ生成部１０５に与えるものである。この実施形態では、Ｎ＝２の場合を例示して説明する。つまり、秘密鍵情報分割部１０４は、秘密鍵ｘを２個に分割して、秘密鍵情報ｘ＿１及びｘ＿２を生成するものとする。
【数１】
0005447544.tif 000002
【００６９】
委託パラメータ生成部１０５は、秘密鍵情報記憶部１０２から秘密鍵ｘと、秘密鍵情報分割部１０４から分割した秘密鍵情報ｘ＿１及びｘ＿２と、公開鍵証明書取得部１０３から第２の通信装置４００の公開鍵情報Ｐ＿Ｖと、プライマリ被計算委託装置２００の公開鍵情報Ｐ＿Ｄ１と、セカンダリ被計算委託装置３００の公開鍵情報Ｐ＿Ｄ２とを受け取り、プライマリ被計算委託装置２００向けの委託パラメータ情報Ｔ＿１を式（１−２）に従って生成するものである。また、委託パラメータ生成部１０５は、計算した委託パラメータ情報Ｔ＿１をプライマリ被計算委託装置２００に送信する。
【数２】
0005447544.tif 000003
【００７０】
ただし、ｅｎｃ（Ｋ，Ｍ）は、ビット列Ｍをビット列Ｋの鍵情報として暗号化する関数である。Ｆ（Ｘ）は、Ｇの元Ｘを鍵情報ビット列に変換する関数である。具体的にはＸのビット列表現を、ＳＨＡ−２５６（Secure  Hash  Algorithm：Federal  Information  Processing  Standards  Publication  １８０−２）ハッシュ関数に入力して、所定の鍵長のビット列を得る方法などが考えられる。また鍵ビット列情報Ｋ＿ＸＤ１は、予め秘密鍵情報記憶部１０２に記憶されていてもよい。
【００７１】
また、委託パラメータ生成部１０５は、セカンダリ被計算委託装置３００向けの委託パラメータ情報Ｔ＿２を次式（１−３）に従って生成するものである。また、委託パラメータ生成部１０５は、生成したセカンダリ被計算委託装置３００向けの委託パラメータ情報Ｔ＿２を、セカンダリ被計算委託装置３００に送信する。
【数３】
0005447544.tif 000004
【００７２】
なお、鍵ビット列情報Ｋ＿ＸＤ２は、予め秘密鍵情報記憶部１０２に記憶されていてもよい。
【００７３】
部分共有鍵復号部１０６は、プライマリ被計算委託装置２００が第１の通信装置１００との間で予め共有している共有鍵Ｋ＿ＸＤ１で暗号化して送信した部分共有鍵情報ｅｎｃ（Ｋ＿ＸＤ１，Ｋ＿１）と、セカンダリ被計算委託装置３００が第１の通信装置１００との間で事前に共有している共有鍵Ｋ＿ＸＤ２で暗号化して送信した部分共有鍵情報ｅｎｃ（Ｋ＿ＸＤ２，Ｋ＿２）とを受け取り、部分共有鍵情報ｅｎｃ（Ｋ＿ＸＤ１，Ｋ＿１）を部分共有鍵情報Ｋ＿１に復号し、また部分共有鍵情報ｅｎｃ（Ｋ＿ＸＤ２，Ｋ＿２）を部分共有鍵情報Ｋ＿２に復号するものである。また、部分共有鍵復号部１０６は、復号したＫ＿１及びＫ＿２を共有鍵合成部１０７に与える。
【００７４】
ただし、ｅｎｃ（Ｋ，Ｍ）は、ビット列Ｍを共有鍵ビット列Ｋで所定の共有鍵暗号アルゴリズムを計算することを意味する。ここで、ｅｎｃ（Ｋ＿ＸＤ２，Ｋ＿２）は、セカンダリ被計算委託装置３００からプライマリ被計算委託装置２００に送り、プライマリ被計算委託装置２００から第１の通信装置に送っても良い。
【００７５】
共有鍵合成部１０７は、部分共有鍵復号部１０６から部分共有鍵情報Ｋ＿１及びＫ＿２を受け取り、部分共有鍵情報Ｋ＿１及びＫ＿２を用いて、式（１−４）に従って第２の通信装置４００との間の共有鍵情報Ｋを求めるものである。
【数４】
0005447544.tif 000005
【００７６】
部分署名パラメータ復号部１０８は、プライマリ被計算委託装置２００が、第１の通信装置１００との間で予め共有している共有鍵Ｋ＿ＸＤ１で暗号化して送信してきた第１の部分ディジタル署名計算パラメータ情報ｅｎｃ（Ｋ＿ＸＤ１，κ＿１）と、第１の部分ディジタル署名第１パラメータ情報ρ＿１とメッセージダイジェスト情報ｈとを受け取り、又セカンダリ被計算委託装置３００が、第１の通信装置１００との間で予め共有している共有鍵Ｋ＿ＸＤ２で暗号化して送信してきた第２の部分ディジタル署名計算パラメータ情報ｅｎｃ（Ｋ＿ＸＤ２，κ＿２）及び第２の部分ディジタル署名第１パラメータ情報ρ＿２を受け取り、それぞれκ＿１とκ＿２については復号するものである。また、部分署名パラメータ復号部１０８は、復号した部分ディジタル署名計算パラメータ情報κ＿１及びκ＿２と、受信した部分ディジタル署名第１パラメータ情報ρ＿１及びρ＿２と、メッセージダイジェストｈとを署名パラメータ合成部１０９に与えるものである。ここで、ｅｎｃ（Ｋ＿ＸＤ２，κ＿２）は、セカンダリ被計算委託装置３００からプライマリ被計算委託装置２００に送り、プライマリ被計算委託装置２００から第１の通信装置１００に送っても良い。
【００７７】
署名パラメータ合成部１０９は、部分ディジタル署名計算パラメータκ＿１及びκ＿２、部分ディジタル署名第１パラメータρ＿１及びρ＿２と、メッセージダイジェストｈとを部分署名パラメータ復号部１０８から受け取り、次式（１−５）に従ってディジタル署名計算パラメータ情報κ及びディジタル署名第１パラメータ情報ρを求めるものである。また、署名パラメータ合成部１０９は、ディジタル署名計算パラメータ情報κ及びディジタル署名第１パラメータ情報ρを署名生成部１１０に与える。
【数５】
0005447544.tif 000006
【００７８】
ただし、κとｎとが互いに素でない場合は、プライマリ被計算委託装置２００及びセカンダリ被計算委託装置３００にパラメータを再生成してもらう。
【００７９】
また、特に署名アルゴリズムがＥＣＤＳＡ（Elliptic  Curve  Digital  Signature  Algorithm）の場合には、上記ρは有理点ベクトルであり、その第１成分を符号無し整数のビット列とみなして、これをｎで割った余りを改めてρとする。
【００８０】
ただし、ρが０または１であった場合には２≦ρ≦ｎ−１となるまでプライマリ被計算委託装置２００又はセカンダリ被計算委託装置３００に、それぞれκ＿１またはκ＿２を生成しなおしてもらい、再度ρを計算する。
【００８１】
署名生成部１１０は、署名パラメータ合成部１０９から入力された上記κ及びρを用いてディジタル署名情報ρ及びσのうち、第２のディジタル署名パラメータ情報σを次式（１−６）で生成するものである。
【数６】
0005447544.tif 000007
【００８２】
（Ｂ−１−３）プライマリ被計算委託装置２００の内部構成
図３は、第１の実施形態のプライマリ被計算委託装置２００の内部構成を示す内部構成図である。
【００８３】
図３において、プライマリ被計算委託装置２００は、送受信部２０１、秘密鍵情報記憶部２０２、委託パラメータ記憶部２０３、鍵共有パラメータ生成部２０４、部分共有鍵計算部２０５、鍵共有パラメータ配送管理部２０６、メッセージダイジェスト情報生成部２０７、部分署名パラメータ生成部２０８、公開鍵証明書取得部２０９を有する。
【００８４】
送受信部２０１は、第１の通信装置１００、第２の通信装置４００又はセカンダリ被計算委託装置３００との間で、所定の通信プロトコルを用いて通信を行うものである。
【００８５】
秘密鍵情報記憶部２０２は、公開鍵ペア（秘密鍵ｄ＿１，公開鍵Ｐ＿Ｄ１＝ｇ＾ｄ＿１）のうち、少なくとも秘密鍵ｄ＿１を安全に記憶するものである。また秘密鍵情報記憶部２０２は第１の通信装置１００との間で共有する事前共有鍵情報Ｋ＿ＸＤ１も記憶するようにしてもよい。
【００８６】
ここで、事前共有鍵情報Ｋ＿ＸＤ１は、秘密鍵情報記憶部２０２に記憶しなくても、例えば式（１−７）に従って導出されるようにしてもよい。
【数７】
0005447544.tif 000008
【００８７】
委託パラメータ記憶部２０３は、第１の通信装置１００が計算した委託パラメータ情報Ｔ＿１を記憶するものである。なお、第１の実施形態では、第１の通信装置１００との間の通信路を経由して、送受信部２０１が第１の通信装置１００から委託パラメータ情報Ｔ＿１を受信するが、この委託パラメータ情報Ｔ＿１を、別の入力インターフェース（例えばＵＳＢメモリや保守用機器など）を経由して設定してもかまわない。また、委託パラメータ記憶部２０３は、委託パラメータ情報Ｔ＿１を漏洩しないよう安全に管理する必要はない。
【００８８】
鍵共有パラメータ生成部２０４は、鍵共有パラメータｒを生成し、生成した鍵共有パラメータｒを、部分共有鍵計算部２０５及び鍵共有パラメータ配送管理部２０６に与えるものである。例えば、鍵共有パラメータ生成部２０４は、（擬似）乱数生成機能を有し、生成した乱数情報をｒとする。
【００８９】
なお、鍵共有パラメータｒは、当該プライマリ被計算委託装置２００が生成して、後述すように第２の通信装置４００に通知されるものであるが、第２の通信装置４００が鍵共有パラメータｒを生成し、プライマリ被計算委託装置２００に鍵共有パラメータｒを通知するようにしてもよい。また、プライマリ被計算委託装置２００及び第２の通信装置４００の両装置が乱数を生成して交換し、例えばハッシュ関数に両乱数を入力して計算することによって共有パラメータｒを生成しても良い。
【００９０】
部分共有鍵計算部２０５は、委託パラメータ記憶部２０３から委託パラメータ情報Ｔ＿１と、秘密鍵情報記憶部２０２から秘密鍵情報ｄ＿１及びＫ＿ＸＤ１と、鍵共有パラメータ生成部２０４から鍵共有パラメータｒと、公開鍵証明書取得部２０９から第１の通信装置１００の公開鍵情報Ｐ＿Ｘとを読み取って、部分共有鍵情報Ｋ＿１を次式（１−８）で計算するものである。また、部分共有鍵計算部２０５は、第１の通信装置１００との間の事前共有鍵Ｋ＿ＸＤ１で暗号化して、暗号化された部分共有鍵情報を第１の通信装置１００に送信する。
【数８】
0005447544.tif 000009
【００９１】
メッセージダイジェスト情報生成部２０７は、所定のメッセージのハッシュ値（メッセージダイジェスト情報）ｈをハッシュ関数によって生成するものである。また、メッセージダイジェスト情報制しえ部２０７は、生成したメッセージダイジェスト情報ｈを、第１の通信装置１００に送信する。
【００９２】
メッセージは、例えばＴＬＳ１．２（Transport  Layer  Security１．２）のCertificate  Verifyメッセージの生成において入力として利用される情報等を適用することができるが、これに限定されるものではない。
【００９３】
部分署名パラメータ生成部２０８は、第１の部分ディジタル署名計算パラメータ情報としてκ＿１をランダムに生成するものである。また、部分署名パラメータ生成部２０８は、第１の部分ディジタル署名第１パラメータ情報を次式（１−９）に従って生成するものである。さらに、部分署名パラメータ生成部２０８は、第１の部分ディジタル署名計算パラメータ情報κ＿１を第１の通信装置１００との間の事前共有鍵Ｋ＿ＸＤ１で暗号化して、第１の部分ディジタル署名計算パラメータ情報ρ＿１と共に、第１の通信装置１００に送信する。または、当該情報をプライマリ被計算委託装置２００に送り、プライマリ被計算委託装置２００から第１の通信装置１００に送ってもらってもよい。
【数９】
0005447544.tif 000010
【００９４】
公開鍵証明書取得部２０９は、第１の通信装置１００の公開鍵証明書を取得することができ、取得した公開鍵証明書の署名を検証するものである。
【００９５】
（Ｂ−１−４）セカンダリ被計算委託装置３００の内部構成
図４は、第１の実施形態のセカンダリ被計算委託装置３００の内部構成を示す内部構成図である。図４において、セカンダリ被計算委託装置３００は、送受信部３０１、秘密鍵情報記憶部３０２、委託パラメータ記憶部３０３、部分共有鍵計算部３０４、部分署名パラメータ生成部３０５、公開鍵証明書取得部３０６を有する。
【００９６】
図４において、少なくとも、秘密鍵情報記憶部３０２、委託パラメータ記憶部３０３、部分共有鍵計算部３０４、公開鍵証明書取得部３０６を含むものを、鍵共有被計算委託装置３１ともいう。
【００９７】
また、図４において、少なくとも、秘密鍵情報記憶部３０２、部分署名パラメータ生成部３０５を含むものをディジタル署名生成被計算委託装置３２ともいう。
【００９８】
送受信部３０１は、所定の通信プロトコルを用いて、第１の通信装置１００、プライマリ被計算委託装置３００の間で通信するものである。
【００９９】
秘密鍵情報記憶部３０２は、公開鍵ペア（秘密鍵ｄ＿２，公開鍵Ｐ＿Ｄ＝ｇ＾ｄ＿２）のうち、少なくとも秘密鍵ｄ＿２を安全に記憶するものである。また、秘密鍵情報記憶郡２０２は、第１の通信装置１００との間で共有する事前共有鍵情報Ｋ＿ＸＤ２も記憶するようにしてもよい。なお、事前共有鍵情報Ｋ＿ＸＤ２は、秘密鍵情報記憶部２０２に記憶せずに、次式（１−１０）に従って導出されるようにしても良い。
【数１０】
0005447544.tif 000011
【０１００】
委託パラメータ記憶部３０３は、第１の通信装置１００が計算した委託パラメータ情報Ｔ＿２を記憶するものである。なお、第１の実施形態では、第１の通信装置１００との間の通信路を経由して、送受信部３０１が第１の通信装置１００から委託パラメータ情報Ｔ＿２を受信することとするが、この委託パラメータ情報Ｔ＿２を、別の入力インターフェース（例えばＵＳＢメモリや保守用機器など）を経由して設定してもかまわない。委託パラメータ記憶部３０３は、委託パラメータ情報Ｔ＿２を漏洩しないよう安全に管理する必要はない。
【０１０１】
部分共有鍵計算部３０４は、委託パラメータ情報記憶部３０３から委託パラメータ情報Ｔ＿２と、秘密鍵情報記憶部３０２から秘密鍵情報ｄ＿２及びＫ＿ＸＤ２と、プライマリ被計算委託装置２００から受信した鍵共有パラメータｒと、公開鍵証明書取得部３０６から第１の通信装置１００の公開鍵情報Ｐ＿Ｘとを受け取り、部分共有鍵情報Ｋ＿２を次式（１−１１）に従って求めるものである。また、部分共有鍵計算部３０４は、第１の通信装置１００との間の事前共有鍵Ｋ＿ＸＤ２で暗号化して、第１の通信装置１００に送信する。または、当該情報をプライマリ被計算委託装置２００に送り、プライマリ被計算委託装置２００から第１の通信装置１００に送ってもらってもよい。
【数１１】
0005447544.tif 000012
【０１０２】
部分署名パラメータ生成部３０５は、第２の部分ディジタル署名計算パラメータ情報としてκ＿２をランダムに生成するものである。また、部分署名パラメータ生成部３０５は、第２の部分ディジタル署名第１パラメータ情報ρ＿２を次式（１−１２）に従って生成するものである。さらに、部分署名パラメータ生成部３０５は、第２の部分ディジタル署名計算パラメータ情報κ＿２を第１の通信装置１００との間の事前共有鍵Ｋ＿ＸＤ２で暗号化して、第２の部分ディジタル署名第１パラメータ情報ρ＿２と共に、第１の通信装置１００に送信する。または、当該情報をプライマリ被計算委託装置２００に送り、プライマリ被計算委託装置２００から第１の通信装置１００に送ってもらってもよい。
【数１２】
0005447544.tif 000013
【０１０３】
公開鍵証明書取得部３０６は、第１の通信装置１００の公開鍵証明書を取得することができ、取得した公開鍵証明書の署名を検証するものである。
【０１０４】
（Ｂ−１−５）第２の通信装置４００の内部構成
図５は、第１の実施形態の第２の通信装置４００の内部構成を示す内部構成図である。図５において、第２の通信装置４００は、送受信部４０１、秘密鍵情報記憶部４０２、共有鍵計算部４０３、メッセージダイジェスト情報生成部４０４、署名検証部４０５、公開鍵証明書取得部４０６を有する。
【０１０５】
送受信部４０１は、所定の通信プロトコルを用いて、少なくともプライマリ被計算委託装置２００と通信するものである。
【０１０６】
秘密鍵情報記憶部４０２は、公開鍵基盤（ＰＫＩ）の認証局から発行された公開鍵ペアのうち、少なくとも秘密鍵情報を安全に記憶するものである。
【０１０７】
共有鍵計算部４０３は、公開鍵証明書取得部４０６から読み取った第１の通信装置１００の公開鍵情報Ｐ＿Ｘ、秘密鍵情報記憶部４０２から読み取った秘密鍵情報ｖ、送受信部４０１から受信した鍵共有パラメータｒを受け取り、式（１−１３）に従って共有鍵Ｋを求めるものである。
【数１３】
0005447544.tif 000014
【０１０８】
メッセージダイジェスト情報生成部４０４は、所定のメッセージのハッシュ値ｈをハッシュ関数によって生成し、メッセージダイジェスト情報ｈ０を署名検証部４０５に与えるものである。
【０１０９】
署名検証部４０５は、第１の通信装置１００からの署名情報として、ディジタル署名第１パラメータ情報ρとディジタル署名第２パラメータ情報σを受け取り、メッセージダイジェスト情報生成部４０４からのメッセージダイジェスト値ｈ０を受け取り、以下の等式（１−１４）が成立するかどうかを判定するものである。
【数１４】
0005447544.tif 000015
【０１１０】
ただし、署名アルゴリズムがＥＣＤＳＡの場合には、式（１−１４）の等式の変わりに、署名検証部４０５は、次式（１−１５）で示す計算で得られる有理点ベクトルＶの第１成分とρとが等しいかどうかを判定する。
【数１５】
0005447544.tif 000016
【０１１１】
公開鍵証明書取得部４０６は、任意の公開鍵証明書を取得することができ、取得した公開鍵証明書の署名を検証するものである。
【０１１２】
（Ｂ−２）第１の実施形態の動作
図６は、第１の実施形態の鍵共有・認証処理の動作を示すシーケンス図である。
【０１１３】
（Ｂ−２−１）準備ステップ
（Ｓ１００）第１の通信装置１００は、プライマリ被計算委託装置２００に与える委託パラメータ情報Ｔ＿１と、セカンダリ被計算委託装置３００に与える委託パラメータ情報Ｔ＿２とを生成する。
【０１１４】
そして、第１の通信装置１００は、委託パラメータ情報Ｔ＿１をプライマリ被計算委託装置２００に送信し、委託パラメータ情報Ｔ＿２をセカンダリ被計算委託装置３００に送信する。
【０１１５】
ここで、委託パラメータ情報Ｔ＿１及びＴ＿２の生成方法の一例を説明する。
【０１１６】
まず、第１の通信装置１００において、公開鍵情報取得部１０３は、送受信部１０１を介して、プライマリ被計算委託装置２００の公開鍵証明書ＣＥＲＴ＿Ｄ１、セカンダリ被計算委託装置３００の公開鍵証明書ＣＥＲＴ＿Ｄ２、及び、第２の通信装置４００の公開鍵証明書ＣＥＲＴ＿Ｖを受信して、公開鍵情報取得部１０３を取得する。
【０１１７】
次に、公開鍵情報取得部１０３は、取得した公開鍵証明書ＣＥＲＴ＿Ｄ１、ＣＥＲＴ＿Ｄ２及びＣＥＲＴ＿Ｖを検証して、プライマリ被計算委託装置２００の公開鍵情報Ｐ＿Ｄ１、セカンダリ被計算委託装置３００の公開鍵情報Ｐ＿Ｄ２及び第２の通信装置４００の公開鍵情報Ｐ＿Ｖを、委託パラメータ生成部１０５に与える。
【０１１８】
委託パラメータ生成部１０５は、公開鍵情報取得部１０３からの公開鍵Ｐ＿Ｄ１、Ｐ＿Ｄ２及びＰ＿Ｖと、秘密鍵情報記憶部１０２から読み出した秘密鍵情報Ｘとを用いて、式（１−１）及び（１−２）に従って、委託パラメータ情報Ｔ＿１及びＴ＿２を生成する。
【０１１９】
そして、委託パラメータ生成部１０５は、委託パラメータ情報Ｔ＿１をプライマリ被計算委託装置２００に送信し、委託パラメータ情報Ｔ＿２をセカンダリ被計算委託装置３００に送信する。
【０１２０】
このとき、プライマリ被計算委託装置２００は、受信した委託パラメータ情報Ｔ＿１を委託パラメータ情報記憶部２０３に記憶する。また、セカンダリ被計算委託装置３００は、受信した委託パラメータ情報Ｔ＿２を委託パラメータ情報記憶部３０３に記憶する。
【０１２１】
以上が準備ステップの手順である。
【０１２２】
なお、準備ステップは必ずしも第１の通信装置１００において実施される必要はない。第１の通信装置１００の秘密鍵情報と、秘密情報分割部１０４と、委託パラメータ生成部１０５との機能を持つ別の装置がこの準備ステップを実施しても良い。第１の実施形態では、第１の通信装置１００がこの準備ステップを実施するものとする。
【０１２３】
（Ｂ−２−２）鍵共有・認証ステップ
（Ｓ１０１）プライマリ被計算委託装置２００において、鍵共有パラメータ生成部２０４が、第２の通信装置４００との鍵共有に必要な整数ｒ（２≦ｒ≦ｎ−１）をランダムに生成し、生成した整数ｒを共有鍵パラメータとして、第２の通信装置４００及びセカンダリ被計算委託装置３００に送信する。
【０１２４】
第２の通信装置４００では、公開鍵証明書取得部４０６が、送受信部４０１により受信された第１の通信装置１００の公開鍵証明書ＣＥＲＴ＿Ｘを取得し、第１の通信装置１００の公開鍵Ｐ＿Ｘを共有鍵計算部４０３に与えている。
【０１２５】
（Ｓ１０２）第２の通信装置４００において、共有鍵計算部４０３は、送受信部４０１を介してプライマリ被計算委託装置２００からの共有鍵パラメータｒと、公開鍵情報証明書取得部４０６からの第１の通信装置１００の公開鍵情報Ｐ＿Ｘと、秘密鍵情報記憶部４０２から読み出した秘密鍵情報Ｖとを用いて式（１−１３）に従って共有鍵情報Ｋを求める。
【０１２６】
（Ｓ１０３）一方、プライマリ被計算委託装置２００では、部分共有鍵計算部２０５が、委託パラメータ情報記憶部２０３から読み出した委託パラメータ情報Ｔ＿１と、秘密鍵情報記憶部２０２から読み出した秘密鍵情報ｄ＿１と、ステップＳ１０１で生成した鍵共有パラメータｒと、公開鍵証明書取得部２０９で取得した第１の通信装置１００の公開鍵情報Ｐ＿Ｘとを用いて、式（１−８）に従って部分共有鍵Ｋ＿１を求める。そして、部分共有鍵計算部２０５は、計算結果を、第１の通信装置１００と予め共有してある共有鍵Ｋ＿ＸＤ１で暗号化したｅｎｃ（Ｋ＿ＸＤ１，Ｋ＿１）を第１の通信装置１００に送信する。
【０１２７】
（Ｓ１０４）また、セカンダリ被計算委託装置３００において、部分共有鍵計算部３０４は、委託パラメータ情報記憶部３０３から読み出した委託パラメータ情報Ｔ＿２と、秘密鍵情報記憶部３０２から読み出した秘密鍵情報ｄ＿２と、受信した鍵共有パラメータと、公開鍵証明書取得部３０６で取得した第１の通信装置１００の公開鍵情報Ｐ＿Ｘとを用いて、式（１−１１）に従って部分共有鍵Ｋ＿２を求める。そして、部分共有鍵計算部３０４は、計算結果を、第１の通信装置１００と予め共有してある共有鍵Ｋ＿ＸＤ２で暗号化したｅｎｃ（Ｋ＿ＸＤ２，Ｋ＿２）を第１の通信装置１００に送信する。
【０１２８】
（Ｓ１０５）第１の通信装置１００において、部分共有鍵復号部１０６が、それぞれ事前共有鍵Ｋ＿ＸＤ１及びＫ＿ＸＤ２で暗号化された２つの部分共有鍵情報、それぞれｅｎｃ（Ｋ＿ＸＤ１，Ｋ＿１）及びｅｎｃ（Ｋ＿ＸＤ２，Ｋ＿２）を復号し、復号結果Ｋ＿１及びＫ＿２を共有鍵合成部１０７に与える。そして、共有鍵合成部１０７が、部分共有鍵情報Ｋ＿１とＫ＿２とを用いて、式（１−４）に従って共有鍵情報Ｋを求め、求めた共有鍵情報Ｋを秘密鍵情報記憶部１０２に記憶させる。
【０１２９】
（Ｓ１０６）次に、プライマリ被計算委託装置２００において、部分署名パラメータ生成部２０８が、プライマリ被計算委託装置２００の第１の部分署名パラメータとして整数κ＿１を、定義域２≦κ＿１≦ｎ−１でランダムに生成する。そして、部分署名パラメータ生成部２０８は、κ＿１を、秘密鍵情報記憶部２０２に記憶される第１の通信装置１００との間の事前共有鍵Ｋ＿ＸＤ１で暗号化したｅｎｃ（Ｋ＿ＸＤ１，κ＿１）を第１の通信装置１００に送信する。また、部分署名パラメータ生成部２０８は、第１の部分署名パラメータκ＿１を用いて、式（１−９）に従って、第２の部分署名パラメータρ＿１を求めて、第１の通信装置１００に送信する。さらに、メッセージダイジェスト情報生成部２０７で所定のメッセージ情報のハッシュ値ｈを計算し、このハッシュ値ｈをメッセージダイジェスト情報として第１の通信装置１００に送信する。
【０１３０】
（Ｓ１０７）一方、セカンダリ被計算委託装置３００において、部分署名パラメータ生成部３０５は、プライマリ被計算委託装置２００と同様に、セカンダリ被計算委託装置３００の第３の部分署名パラメータとして整数κ＿２を、定義域２≦κ＿２≦ｎ−１でランダムに生成する。そして、部分署名パラメータ生成部３０５は、κ＿２を、秘密鍵情報記憶部３０２に記憶される第１の通信装置１００との間の事前共有鍵Ｋ＿ＸＤ２で暗号化したｅｎｃ（Ｋ＿ＸＤ２，κ＿２）を第１の通信装置１００に送信する。さらに、部分署名パラメータ生成部３０５は、第３の部分署名パラメータκ＿２を用いて、式（１−１２）に従って、第４の部分署名パラメータρ＿２を求めて、第１の通信装置１００に送信する。
【０１３１】
（Ｓ１０８）第１の通信装置１００では、部分署名パラメータ復号部１０６が、秘密鍵情報記憶部１０２の秘密鍵情報Ｋ＿ＸＤ１を用いて、プライマリ被計算委託装置２００からのｅｎｃ（Ｋ＿ＸＤ１，κ＿１）、ρ＿１、ｈを復号する。また、部分署名パラメータ復号部１０６は、秘密鍵情報記憶部１０２の秘密鍵情報Ｋ＿ＸＤ２を用いて、プライマリ被計算委託装置２００からのｅｎｃ（Ｋ＿ＸＤ２，κ＿２）、ρ＿２を復号する。そして、署名パラメータ合成部１０９が、復号された部分署名パラメータκ＿１、κ＿２、ρ＿１、ρ＿２を用いて式（１−５）に従ってρ及びκを求める。さらに、署名生成部１１０が、メッセージダイジェスト情報ｈ、ρ及びκを用いて式（１−６）に従ってσを求め、ディジタル署名情報（ρ，σ）を第２の通信装置４００に送信する。
【０１３２】
（Ｓ１０９）第２の通信装置４００において、第１の通信装置１００から受信したρ及びσと、公開鍵証明書取得部４０６が取得した第１の通信装置１００の公開鍵証明書から読み出した公開鍵情報Ｐ＿Ｖと、生成元ｇと、メッセージダイジェスト情報生成部４０４で計算したメッセージダイジェスト値ｈ０とが署名検証部４０５に与えられ、署名検証部４０５は、式（１−１４）で示す等式が成立するかどうかを吟味し、成立すれば認証成功とし、そうでなければ認証失敗とする。
【０１３３】
（Ｂ−３）第１の実施形態の効果
以上のことから、第１の実施形態は、以下の効果を奏する。
【０１３４】
共有鍵Ｋ＿１又はＫ＿２の計算に用いられる秘密鍵情報は、それぞれ秘密鍵ｄ＿１及びｄ＿２のみである。
【０１３５】
共有鍵Ｋは、プライマリ被計算委託装置２００と、セカンダリ被計算委託装置３００がそれぞれ計算した結果を第１の通信装置１００が受信して合成することで、どの被計算委託装置も共有鍵Ｋを知ることはない。このため、どちらか一方の被計算委託装置が乗っ取られたりしたとしても、もう一方の被計算委託装層が無事であれば、攻撃者が共有鍵Ｋを合成することはできない。
【０１３６】
第１の実施形態によれば、第１の通信装置１００と第２の通信装置４００との間で、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ（若しくは楕円曲線Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）鍵共有プロトコルと、ディジタル署名による認証を用いた認証鍵共有プロトコルとを、第１の通信装置１００がプライマリ被計算委託装置２００及びセカンダリ被計算委託装置３００に一部計算を委託しつつ実行することができる。
【０１３７】
第１の通信装置１００側に必要となる計算量は、共有鍵計算の復号と、有限体上の乗算が高々２回か、楕円曲線上の有理点の加算計算が計２回となる。
【０１３８】
以上により、本発明の基本的概念で述べた５つの条件のうち（１）〜（４）を満足する。
【０１３９】
さらに、セカンダリ被計算委託装置３００から第１の通信装置１００に送信する情報を、一旦プライマリ被計算委託装置２００を経由するようにすることにより、プライマリ被計算委託装置２００が、暗号化された部分共有鍵情報ｅｎｃ（Ｋ＿ＸＤ１，Ｋ＿１）、ｅｎｃ（Ｋ＿ＸＤ２，Ｋ＿２）、及び、部分署名パラメータ情報ｅｎｃ（Ｋ＿ＸＤ１，κ＿１）、ｅｎｃ（Ｋ＿ＸＤ２，κ＿２）、ρ＿１、ρ＿２、及びメッセージダイジェスト情報ｈを、一括して第１の通信装置１００に送信し、第１の通信装置１００は署名パラメータ情報ρ、σをプライマリ被計算委託装置２００に送信し、プライマリ被計算委託装置２００が第２の通信装置４００に中継することにより、第１の通信装置１００と被計算委託装置の間の通信回数を往復１回とすることができる。
【０１４０】
以上によって、（Ａ）本発明の基本的概念で述べた５つの条件を満たすシステムを実現することができる。
【０１４１】
（Ｃ）第２の実施形態
次に、本発明の委託パラメータ情報生成装置、共有鍵合成装置、署名情報合成装置、通信装置、鍵共有被計算委託装置、署名情報生成被計算委託装置、被計算委託装置、鍵共有システム、署名情報検証システム及び通信システムの第２の実施形態について、図面を参照しながら詳細に説明する。
【０１４２】
（Ｃ−１）第２の実施形態の構成
第２の実施形態は、鍵共有プロトコルとして第１の通信装置の公開鍵でプレマスターシークレットを暗号化して鍵配送することにより実施し、認証方式は第１の実施形態と同じディジタル署名の検証を採用する場合の実施形態を例示する。
【０１４３】
第２の実施形態は、システムの全体構成は第１の実施形態と同様であるので、第２の実施形態でも図１を用いて説明する。
【０１４４】
また、第２の実施形態では、第１の通信装置１００に代えて第１の通信装置５００と表記し、第２の通信装置４００に代えて第２の通信装置８００と表記し、プライマリ被計算委託装置２００に代えてプライマリ被計算委託装置６００と表記し、セカンダリ被計算委託装置３００に代えてセカンダリ被計算委託装置７００と表記する。
【０１４５】
（Ｃ−１−１）第１の通信装置５００の内部構成
図７は、第２の実施形態の第１の通信装置５００の内部構成を示す内部構成図である。図７において、第１の通信装置５００は、送受信部５０１、秘密鍵情報記憶部５０２、公開鍵証明書取得部５０３、秘密鍵情報分割部５０４、委託パラメータ生成部５０５、部分第１暗号文パラメータ情報復号部５０６、プレマスターシークレット情報合成部５０７、部分署名パラメータ復号部５０８、署名パラメータ合成部５０９、署名生成部５１０を有する。
【０１４６】
送受信部５０１、秘密鍵情報記憶部５０２、公開鍵証明書取得部５０３、秘密鍵情報分割部５０４は、それぞれ第１の実施形態の送受信部１０１、秘密鍵情報記憶部１０２、公開鍵証明書取得部１０３、秘密鍵情報分割部１０４と同じ機能を有するので、第２の実施形態での詳細な説明は省略する。
【０１４７】
また、部分署名パラメータ復号部５０８、署名パラメータ合成部５０９、署名生成部５１０は、それぞれ第１の実施形態の部分署名パラメータ復号部１０８、署名パラメータ合成部１０９、署名生成部５１０と同じ機能を有するものであるので、第２の実施形態での詳細な説明は省略する。
【０１４８】
図７において、少なくとも、秘密鍵情報記憶部５０２、公開鍵証明書取得部５０３、秘密鍵情報分割部５０４、委託パラメータ生成部５０５を含むものを委託パラメータ情報生成装置２１ともいう。
【０１４９】
また図７において、少なくとも、秘密鍵情報記憶部５０２、部分第１暗号文パラメータ情報復号部５０６、プレマスターシークレット情報合成部５０７を含むものを共有鍵合成装置２２ともいう。
【０１５０】
さらに図７において、少なくとも、秘密鍵情報記憶部２０２、部分署名パラメータ復号部５０８、署名パラメータ合成部５０９、署名生成部５１０を含むものをディジタル署名合成装置２３ともいう。
【０１５１】
委託パラメータ生成部５０５は、秘密鍵情報記憶部５０２から秘密鍵情報ｘと、秘密鍵情報分割部５０４から分割した秘密鍵情報ｘ＿１及びｘ＿２と、プライマリ被計算委託装置６００の公開鍵情報Ｐ＿Ｄ１と、セカンダリ被計算委託装置７００の公開鍵情報Ｐ＿Ｄ２とを受け取り、委託パラメータ情報Ｔ＿１及び委託パラメータ情報Ｔ＿２を生成するものである。
【０１５２】
委託パラメータ生成部５０５は、秘密鍵情報記憶部５０２から秘密鍵情報ｘと、秘密鍵情報分割部５０４から分割した秘密鍵情報ｘ＿１と、プライマリ被計算委託装置６００の公開鍵情報Ｐ＿Ｄ１とを用いて、式（２−１）に従って、委託パラメータ情報Ｔ＿１を生成し、生成した委託パラメータ情報Ｔ＿１をプライマリ被計算委託装置６００に送信するものである。
【数１６】
0005447544.tif 000017
【０１５３】
また、委託パラメータ生成部５０５は、秘密鍵情報記憶部５０２から秘密鍵情報ｘと、秘密鍵情報分割部５０４から分割した秘密鍵情報ｘ＿２と、セカンダリ被計算委託装置７００の公開鍵情報Ｐ＿Ｄ２とを用いて、式（２−２）に従って委託パラメータ情報Ｔ＿２を生成し、生成した委託パラメータ情報Ｔ＿２をセカンダリ被計算委託装置７００に送信するものである。
【数１７】
0005447544.tif 000018
【０１５４】
ただし、Ｆ（Ｘ）は、第１の実施形態で述べた変換関数である。なお、第１の実施形態と同様、鍵情報Ｋ＿ＸＤ１とＫ＿ＸＤ２は、予め秘密鍵情報記憶部５０２に記憶されていてもよい。
【０１５５】
部分第１暗号文パラメータ情報復号部５０６は、送受信部５０１を介して、プライマリ被計算委託装置６００から受信した第１の部分第１暗号文パラメータ情報暗号化結果ｅｎｃ（Ｋ＿ＸＤ１，Ｃ＿１１）を、第１の部分第１暗号文パラメータ情報Ｃ＿１１に復号するものである。
【０１５６】
ここで、第１の部分第１暗号文パラメータ情報暗号化結果ｅｎｃ（Ｋ＿ＸＤ１，Ｃ＿１１）は、プライマリ被計算委託装置６００が、第１の通信装置５００との間で予め共有している共有鍵Ｋ＿ＸＤ１で暗号化されたものであり、部分第１暗号文パラメータ情報復号部５０６は、秘密鍵情報記憶部５０２に記憶されている秘密鍵Ｋ＿ＸＤ１を用いて復号を行うものである。
【０１５７】
また、部分第１暗号文パラメータ情報復号部５０６は、送受信部５０１を介して、セカンダリ被計算委託装置７００から受信した第２の部分第１暗号文パラメータ情報暗号化結果ｅｎｃ（Ｋ＿ＸＤ２，Ｃ＿１２）を、秘密鍵Ｋ＿ＸＤ２を用いて、第２の部分第１暗号文パラメータ情報Ｃ＿１２に復号するものである。
【０１５８】
部分第１暗号文パラメータ情報復号部５０６は、復号した部分第１暗号文パラメータ情報Ｃ＿１１及びＣ＿１２を、プレマスターシークレット情報合成部５０７に与える。
【０１５９】
プレマスターシークレット情報合成部５０７は、部分第１暗号文パラメータ情報復号部５０６からの部分第１暗号文パラメータ情報Ｃ＿１１及びＣ＿１２と、プライマリ被計算委託装置６００から受信した第２暗号文パラメータ情報Ｃ＿２とを受け取り、次式（２−３）に示す計算によって、第２の通信装置８００とのプレマスターシークレット情報Ｋ＿ＰＭを求めるものである。
【数１８】
0005447544.tif 000019
【０１６０】
ただし、ｅは、群Ｇにおける単位元である。また暗号アルゴリズムが楕円ＥｌＧａｍａｌ暗号の場合には、上記計算式で計算したＫ＿ＰＭは、楕円曲線上の有理点であり、これを本来のビット列情報としてのプレマスターシークレット情報に変換する必要がある。例えば、Ｍｅｎｅｚｅｓ−Ｖａｎｓｔｏｎｅの楕円曲線暗号方式を用いている場合、後述する暗号文パラメータ情報Ｃ＿２１とＣ＿２２と素数ｐとを受信して、次式（２−４）により分割されたプレマスターシークレット情報Ｋ＿ＰＭ１とＫ＿ＰＭ２を復号し、ビット列結合することにより、Ｋ＿ＰＭを復号する。
【数１９】
0005447544.tif 000020
【０１６１】
ただし、γ＿１、γ＿２は、それぞれＣ＿１１・Ｃ＿１２で計算される有理点ベクトルの第１成分と第２成分である。また、演算子｜｜はビット列の結合を意味する。
【０１６２】
（Ｃ−１−２）プライマリ被計算委託装置６００の内部構成
図８は、第２の実施形態におけるプライマリ被計算委託装置６００の内部構成を示す内部構成図である。図８において、被計算委託装置６００は、送受信部６０１、秘密鍵情報記憶部６０２、委託パラメータ記憶部６０３、一時記憶部６０４、部分復号計算部６０５、メッセージダイジェスト情報生成部６０６、部分署名パラメータ生成部６０７、公開鍵証明書取得部６０８を有する。
【０１６３】
送受信部６０１、秘密鍵情報記憶部６０２、委託パラメータ記憶部６０３、は、それぞれ第１の実施形態における送受信部２０１、秘密鍵情報記憶部２０２、委託パラメータ記憶部２０３と同じ機能を有するものであるため、第２の実施形態での詳細な説明は省略する。
【０１６４】
また、メッセージダイジェスト情報生成部６０６、部分署名パラメータ生成部６０７、公開鍵証明書取得部６０８は、それぞれ第１の実施形態におけるメッセージダイジェスト情報生成部２０７、部分署名パラメータ生成部２０８、公開鍵証明書取得部２０９と同じ機能を有するものであるため、第２の実施形態での詳細な説明は省略する。
【０１６５】
一時記憶部６０４は、送受信部６０１を介して第２の通信装置８００から受信された、第２暗号文パラメータ情報Ｃ＿２を一時的に記憶するものである。第１の通信装置５００に第２暗号文パラメータ情報Ｃ＿２を送信する際に、第２暗号文パラメータ情報Ｃ＿２は一時記憶部６０４から読み出される。
【０１６６】
部分復号計算部６０５は、委託パラメータ記憶部６０３から読み取った委託パラメータ情報Ｔ＿１と、秘密鍵情報記憶部６０２から読み取った秘密鍵情報ｄ＿１と、公開鍵証明書取得部６０８から読み取った第１の通信装置５００の公開鍵情報Ｐ＿Ｘと、送受信部６０１により受信された第１暗号文パラメータ情報Ｃ＿１とに基づいて、式（２−４）により、第１の部分第１暗号文パラメータ情報Ｃ＿１１を求めるものである。また、部分復号計算部６０５は、求めた第１の部分第１暗号文パラメータ情報Ｃ＿１１を、第１の通信装置５００との事前共有鍵Ｋ＿ＸＤ１で暗号化して第１の通信装置５００に送信する。
【数２０】
0005447544.tif 000021
【０１６７】
（Ｃ−１−３）セカンダリ被計算委託装置７００の内部構成
図９は、第２の実施形態のセカンダリ被計算委託装置７００の内部構成を示す内部構成図である。図９において、セカンダリ被計算委託装置７００は、送受信部７０１、秘密鍵情報記憶部７０２、委託パラメータ記憶部７０３、部分復号計算部７０４、部分署名パラメータ生成部７０５、公開鍵証明書取得部７０６を有する。
【０１６８】
図９において、少なくとも、秘密鍵情報記憶部７０２、委託パラメータ記憶部７０３、部分復号計算部７０４、公開鍵証明書取得部７０６を含むものを、鍵共有被計算委託装置４１ともいう。
【０１６９】
また、図９において、少なくとも、秘密鍵情報記憶部７０２、部分署名パラメータ生成部７０５を含むものをディジタル署名生成被計算委託装置４２ともいう。
【０１７０】
送受信部７０１、秘密鍵情報記憶部７０２、委託パラメータ記憶部７０３は、それぞれ第１の実施形態における送受信部３０１、秘密鍵情報記憶部３０２、委託パラメータ記憶部３０３と同じ機能を有するものであるため、第２の実施形態での詳細な説明は省略する。
【０１７１】
また、部分署名パラメータ生成部７０５と、公開鍵証明書取得部７０６は、それぞれ第１の実施形態における部分署名パラメータ生成部３０５と、公開鍵証明書取得部３０６と同じであるため、第２の実施形態での詳細な説明は省略する。
【０１７２】
部分復号計算部７０４は、プライマリ被計算委託装置６００から受信した暗号文パラメータ情報Ｃ＿１と、委託パラメータ情報記憶部７０３から委託パラメータ情報Ｔ＿２と、秘密鍵情報記憶部７０２から秘密鍵情報ｄ＿２と、公開鍵証明書取得部７０６から第１の通信装置の公開鍵情報Ｐ＿Ｘとを読み取って、第２の部分第１暗号文パラメータ情報Ｃ＿１２を、次式（２−６）で求めるものである。まあ、部分復号計算部７０４は、第２の部分暗号分第１パラメータ情報Ｃ＿１２を、第１の通信装置５００との事前共有鍵Ｋ＿ＸＤ２で暗号化して第１の通信装置５００に送信する。
【数２１】
0005447544.tif 000022
【０１７３】
（Ｃ−１−４）第２の通信装置４００の内部構成
図１０は、第２の実施形態の第２の通信装置８００の内部構成を示す内部構成図である。図１０において、第２の通信装置８００は、送受信部８０１、プレマスターシークレット決定部８０２、プレマスターシークレット配送部８０３、メッセージダイジェスト情報生成部８０４、署名検証部８０５、公開鍵証明書取得部８０６を有する。
【０１７４】
送受信部８０１は、第１の実施形態における第２の通信装置４００の送受信部４０１と同じであるため、第２の実施形態での詳細な説明は省略する。
【０１７５】
また、メッセージダイジェスト情報生成部８０４、署名検証部８０５、公開鍵証明書取得部８０６は、それぞれ第１の実施形態におけるメッセージダイジェスト情報生成部４０４、署名検証部４０５、公開鍵証明書取得部４０６と同じであるため、第２の実施形態での詳細な説明は省略する。
【０１７６】
プレマスターシークレット決定部８０２は、プレマスターシークレット情報として所定のビット長のビット列を生成してプレマスターシークレット配送部８０３に与えるものである。
【０１７７】
プレマスターシークレット配送部８０３は、プレマスターシークレット決定部８０２からプレマスターシークレット情報ビット列Ｋ＿ＰＭを整数に変換し（ただし、０＜Ｋ＿ＰＭ≦ｎ−１となるようにする）、公開鍵証明書取得部８０６から第１の通信装置５００の公開鍵情報Ｐ＿Ｘを読み出した上で、乱数θを定義域２≦θ≦ｎ−１でランダムに決定し、次式（２−７）で示す暗号文Ｃ＿１及びＣ＿２を作成してプライマリ被計算委託装置６００に送信する。
【数２２】
0005447544.tif 000023
【０１７８】
ただし、暗号アルゴリズムが楕円ＥｌＧａｍａｌ暗号の場合は、そのままでは適用できないので、Ｋ＿ＰＭを楕円曲線上の有理点に変換するか、又は別の計算を行う必要がある。例えば、後者のやり方の例として、Ｍｅｎｅｚｅｓ−Ｖａｎｓｔｏｎｅの楕円曲線暗号がある。これは、ビット列Ｋ＿ＰＭをそれぞれＫ＿ＰＭ１とＫ＿ＰＭ２にビット列分割し、Ｐ＿Ｘ＾θで計算されるベクトルの第１成分をｑ＿１、第２成分をｑ＿２としたとき、適当な３以上の素数ｐに対して、次式（２−８）で示すＣ＿２１及びＣ＿２２を計算して、Ｃ＿１と素数ｐと共にプライマリ被計算委託装置６００に送信する方法を適用できる。
【数２３】
0005447544.tif 000024
【０１７９】
ただし、γ＿１，γ＿２は、それぞれＰ＿Ｘ＾θで計算される有理点ベクトルの第１成分と第２成分である。また、Ｋ＿ＰＭ１及びＫ＿ＰＭ２は、それぞれプレマスターシークレット情報ビット列Ｋ＿ＰＭを任意の方法で２つに分割したビット列である。
【０１８０】
（Ｃ−２）第２の実施形態の動作
図１１は、第２の実施形態の鍵共有・認証処理の動作を示すシーケンス図である。
【０１８１】
（Ｃ−２−１）準備ステップ
（Ｓ２００）第１の通信装置５００は、プライマリ被計算委託装置６００に与える委託パラメータ情報Ｔ＿１と、セカンダリ被計算委託装置７００に与える委託パラメータ情報Ｔ＿２とを生成する。
【０１８２】
そして、第１の通信装置５００は、委託パラメータ情報Ｔ＿１をプライマリ被計算委託装置６００に送信し、委託パラメータ情報Ｔ＿２をセカンダリ被計算委託装置７００に送信する。
【０１８３】
ここで、委託パラメータ情報Ｔ＿１及びＴ＿２の生成方法は、第１の実施形態と異なるので、以下では、第２の実施形態の委託パラメータ情報の生成方法の一例を説明する。
【０１８４】
まず、第１の通信装置５００において、公開鍵証明書取得部５０３は、送受信部５０１を介して、プライマリ被計算委託装置６００の公開鍵証明書ＣＥＲＴ＿Ｄ１と、セカンダリ被計算委託装置７００の公開鍵証明書ＣＥＲＴＤ２とを取得し、プライマリ被計算委託装置６００の公開鍵情報Ｐ＿Ｄ１と、セカンダリ被計算委託装置７００の公開鍵情報Ｐ＿Ｄ２と取得する。
【０１８５】
次に、委託パラメータ生成部５０５は、公開鍵情報取得部５０３からプライマリ被計算委託装置の公開鍵情報Ｐ＿Ｄ１と、セカンダリ被計算委託装置の公開鍵情報Ｐ＿Ｄ２とを受け取る。
【０１８６】
そして、委託パラメータ生成部５０５は、公開鍵情報Ｐ＿Ｄ１及びＰ＿Ｄ２と、秘密鍵情報記憶部１０２から読み出した秘密鍵情報Ｘとを用いて、それぞれ式（２−１）及び式（２−２）で、委託パラメータ情報Ｔ＿１、Ｔ＿２を求める。
【０１８７】
プライマリ被計算委託装置７００は、第１の通信装置５００から受信した委託パラメータ情報Ｔ＿１を、委託パラメータ情報記憶部７０３に記憶する。同様に、セカンダリ被計算委託装置８００も、第１の通信装置５００から受信した委託パラメータ情報Ｔ＿２を、委託パラメータ情報記憶部８０３に記憶する。
【０１８８】
（Ｃ−２−２）鍵共有・認証ステップ
（Ｓ２０１）第２の通信装置８００において、プレマスターシークレット決定部８０１は、プレマスターシークレット情報Ｋ＿ＰＭを決定して、プレマスターシークレット情報Ｋ＿ＰＭをプレマスターシークレット配送部８０３に与える。プレマスターシークレット配送部８０３は、整数θをランダムに決定する。また、プレマスターシークレット配送部８０３は、プレマスターシークレット情報Ｋ＿ＰＭを、式（２−６）で暗号化する。そして、プレマスターシークレット配送部８０３は、暗号文（Ｃ＿１、Ｃ＿２）をプライマリ被計算委託装置６００に送信する。すなわち、第１暗号文パラメータ情報Ｃ＿１と第２暗号文パラメータ情報Ｃ＿２とを含むものが、プライマリ被計算委託装置６００に送信される。
【０１８９】
プライマリ被計算委託装置６００は、第２の通信装置８００から暗号文（Ｃ＿１、Ｃ＿２）を受信すると、第１暗号文パラメータ情報Ｃ＿１をセカンダリ被計算委託装置７００に転送する。このとき、プライマリ被計算委託装置６００では、第１暗号文パラメータ情報Ｃ＿１は部分復号計算部６０５に与えられ、第２暗号文パラメータ情報Ｃ＿２は一時記憶部６０４に与えられて記憶される。
【０１９０】
一方、セカンダリ被計算委託装置７００では、プライマリ被計算委託装置６００を介して、第２の通信装置８００により生成された第１の暗号文パラメータ情報Ｃ＿１を受信する。
【０１９１】
（Ｓ２０２）プライマリ被計算委託装置６００において、部分復号計算部６０５は、第２の通信装置８００から受信した第１暗号文パラメータ情報Ｃ＿１と、公開鍵証明書取得部６０８から読み出した第１の通信装置５００の公開鍵Ｐ＿Ｘと、委託パラメータ情報記憶部６０３から読み出した委託パラメータ情報Ｔ＿１と、秘密鍵情報記憶部６０２から読み出した秘密鍵情報ｄ＿１とに基づいて、式（２−４）によって第１の部分第１暗号文パラメータ情報Ｃ＿１１を求める。部分復号計算部６０５は、第１の部分第１暗号文パラメータ情報Ｃ＿１１を、秘密鍵情報記憶部６０２から読み出した第１の通信装置との事前共有鍵情報Ｋ＿ＸＤ１で暗号化する。そして、送受信部６０１が、暗号化されたｅｎｃ（Ｋ＿ＸＤ１，Ｃ＿１１）と、一時記憶部６０４に一時的に記憶された第２暗号文パラメータ情報Ｃ＿２とを、第１の通信装置５００に送信する。
【０１９２】
（Ｓ２０３）セカンダリ被計算委託装置７００において、部分復号計算部７０４は、受信した第１暗号文パラメータ情報Ｃ＿１と、公開鍵証明書取得部７０６から読み出した第１の通信装置５００の公開鍵Ｐ＿Ｘと、委託パラメータ情報記憶部７０３から読み出した委託パラメータ情報Ｔ＿２と、秘密鍵情報記憶部７０２から読み出した秘密鍵情報ｄ＿２と、式（２−５）によって第２の部分第１暗号文パラメータ情報Ｃ＿１２を求める。部分復号計算部７０４は、第２の部分第１暗号文パラメータ情報Ｃ＿１２を、秘密鍵情報記憶部７０２から読み出した第１の通信装置との事前共有鍵情報Ｋ＿ＸＤ２で暗号化する。そして、送受信部７０１は、暗号化されたｅｎｃ（Ｋ＿ＸＤ２，Ｃ＿１２）を、第１の通信装置５００に送信する。
【０１９３】
（Ｓ２０４）第１の通信装置５００において、部分第１暗号文パラメータ情報復号部５０６は、部分暗号部第１パラメータ情報暗号化結果ｅｎｃ（Ｋ＿ＸＤ１，Ｃ＿１１）及びｅｎｃ（Ｋ＿ＸＤ２，Ｃ＿１２）を、秘密鍵情報記憶部５０２に記憶される秘密鍵情報Ｋ＿ＸＤ１及びＫ＿ＸＤ２を用いて、第１の部分第１暗号文パラメータ情報Ｃ＿１１及び第２の部分第１暗号文パラメータ情報Ｃ＿１２を復号して、第１の部分第１暗号文パラメータ情報Ｃ＿１１及び第１の部分第２暗号文パラメータ情報Ｃ＿１２を得る。部分第１暗号文パラメータ情報復号部５０６は、部分第１暗号文パラメータ情報Ｃ＿１１及びＣ＿１２を、プレマスターシークレット情報合成部５０７に与える。プレマスターシークレット情報合成部５０７は、部分第１暗号文パラメータ情報Ｃ１１及びＣ＿１２と、プライマリ被計算委託装置６００から受信した第２暗号文パラメータ情報Ｃ＿２とに基づいて、式（２−３）によりプレマスターシークレット情報Ｋ＿ＰＭを求め、プレマスターシークレット情報Ｋ＿ＰＭを秘密鍵情報記憶部５０２に記憶する。
【０１９４】
（Ｓ２０５）、（Ｓ２０６）、（Ｓ２０７）、（Ｓ２０８）は、それぞれ実施例１の動作携帯の説明における（Ｓ１０６）、（Ｓ１０７）、（Ｓ１０８）、（Ｓ１０９）の各ステップと同じであるので省略する。
【０１９５】
（Ｃ−３）第２の実施形態の効果
以上のように、第２の実施形態によれば、以下の効果を奏する。
【０１９６】
プライマリ被計算委託装置６００、及びセカンダリ被計算委託装置７００において部分暗号文パラメータ情報Ｃ＿１１及びＣ＿１２の計算に用いられる秘密鍵情報は、それぞれ秘密鍵ｄ＿１及びｄ＿２のみである。
【０１９７】
共有鍵Ｋは、プライマリ被計算委託装置６００と、セカンダリ被計算委託装置７００がそれぞれ計算した結果を第１の通信装置５００が受信して合成することで、どの被計算委託装置も共有鍵Ｋを知ることはない。このためどちらか一方の被計算委託装置が乗っ取られたりしたとしても、もう一方の被計算委託装置が無事であれば、攻撃者が共有鍵Ｋを合成することはできない。
【０１９８】
第１の通信装置５００と第２の通信装置８００との間で、プレマスターシークレットの配送による鍵共有と、ディジタル署名による認証を用いた認証鍵共有プロトコルを、第１の通信装置５００が被計算委託装置６００、７００に一部計算を委託しつつ実行することができる。
【０１９９】
第１の通信装置５００の側に必要となる計算量は、共有鍵計算の復号と、有限体上の乗算が計２回か、楕円曲線上の有理点の加算計算が計２回となる。
【０２００】
またセカンダリ被計算委託装置７００から第１の通信装置５００に送信する情報を、一旦プライマリ被計算委託装置６００を経由するようにすることにより、プライマリ被計算委託装置６００が、暗号化された部分第１暗号文パラメータ情報ｅｎｃ（Ｋ＿ＸＤ１，Ｃ＿１１）、ｅｎｃ（Ｋ＿ＸＤ２，Ｃ＿１２）及び第２暗号文パラメータ情報Ｃ＿２部分署名パラメータ情報ｅｎｃ（Ｋ＿ＸＤ１，κ＿１）、ｅｎｃ（Ｋ＿ＸＤ２，κ＿２）、ρ＿１、ρ＿２、及びメッセージダイジェストｈを一括して第１の通信装置１００に送信し、第１の通信装置１００は署名パラメータ情報ｐ、αをプライマリ被計算委託装置６００に送信し、プライマリ被計算委託装置６００が第２の通信装置８００に中継することにより、第１の通信装置５００とプライマリ被計算委託装置６００の間の通信回数を往復１回とすることができる。
【０２０１】
以上によって、（Ａ）本発明の基本的概念で述べた５つの条件を満たすシステムを実現することができる。
【０２０２】
（Ｄ）他の実施形態
（Ｄ−１）上述した第１及び第２の実施形態では、セカンダリ被計算委託装置が１台の場合を例示したが、セカンダリ被計算委託装置は複数台あってよい。
【０２０３】
（Ｄ−２）上述した第１及び第２の実施形態では、第２の通信装置が、プレマスターシークレット情報を生成して送る場合を例示したが、プレマスターシークレット情報を第１の通信装置が送信するようにしても良い。
【０２０４】
この場合、第１の通信装置が、プレマスターシークレット情報を作成し、プレマスターシークレット情報を事前共有健Ｋ＿ＸＤ１で暗号化してプライマリ被計算委託装置に送信し、更にプライマリ被計算委託装置が、プレマスターシークレット情報を、第２の通信装置の公開鍵で暗号化して第２の通信装置に送ることで実現できる。また別の方法として、プライマリ被計算委託装置がプレマスターシークレットを作成し、作成したプレマスターシークレットを、第２の通信装置の公開鍵で暗号化して第２の通信装置に送信する方法等を適用できる。
【０２０５】
（Ｄ−３）上述した第１及び第２の実施形態では、第２の通信装置が第１の通信装置のディジタル署名を認証する場合を例示したが、第１の通信装置及び第２の通信装置が相互認証を行うようにしてもよい。
【０２０６】
認証を相互認証とする場合、第２の通信装置のディジタル署名の検証については、プライマリ被計算委託装置が第１の通信装置に代わって行ってもよい。
【０２０７】
（Ｄ−４）上述した第２の実施形態では、暗号アルゴリズムとしてＥｌＧａｍａｌ暗号と、楕円曲線ＥｌＧａｍａｌ暗号を想定したが、暗号アルゴリズムがＲＳＡ暗号アルゴリズムの場合にも第２の実施例で定義したシステムを応用することができる。
【０２０８】
具体的には、ＲＳＡ暗号の場合、合成数Ｌ、ｎ＝φ（Ｌ）、ただしφ（・）はオイラー関数であるとしたとき、第１の通信装置の秘密鍵ｘに対して第１の通信装置の公開鍵をｙとおくと、ｘｙ≡１（ｍｏｄ  ｎ）となる整数である。そこで、第２の通信装置におけるプレマスターシークレット配送部８０３は、暗号文ＣとしてＣ＝Ｋ＿ＰＭ＾χで計算する。
【０２０９】
プライマリ被計算委託装置６００は、前記暗号文Ｃを受信して部分復号計算部６０５に送るとともに、暗号文Ｃをセカンダリ被計算委託装置７００にも転送する。この場合、プライマリ被計算委託装置６００の一時記憶部は不要である。プライマリ被計算委託装置６００の部分復号計算部６０５と、セカンダリ被計算委託装置７００の部分復号計算部７０４とは、第２の実施形態と同じ計算処理が施され、それぞれの出力Ｃ＿１’、Ｃ＿２’が第１の通信装置に、それぞれの事前共有鍵で暗号化されて送信される。
【０２１０】
第１の通信装置では部分プレマスターシークレット復号部５０８においてＣ＿１’とＣ＿２’を復号して、プレマスターシークレット情報合成部５０７に出力し、プレマスターシークレット情報合成部５０７においてＫ＿ＰＭ＝Ｃ＿１’・Ｃ＿２’（ｍｏｄ  ｎ）としてプレマスターシークレット情報Ｋ＿ＰＭを得ることでＲＳＡ暗号アルゴリズムにも対応できる。
【０２１１】
（Ｄ−５）第１の実施形態における委託パラメータ情報（Ｔ＿１及びＴ＿２）は、第２の実施形態で説明した方法で生成するようにしてもよい。
【０２１２】
この場合、第１の通信装置と被計算委託装置との間の共有鍵で復号化した委託パラメータ情報はＸ＿ｊであり、これを第２の通信装置の公開鍵情報Ｐ＿Ｖに対してＰ＿Ｖ＾ｒｘ＿ｊとし、これを第１の通信装置に送って、第１の通信装置でΠＰ＿Ｖ＾ｘ＿ｊ＝Ｐ＿Ｖ＾ｒｘを合成してもよい。
【０２１３】
（Ｄ−６）署名生成プロセスについて、上述した第１及び第２の実施形態では、プライマリ被計算委託装置がκ＿１、ρ＿１を作成して第１の通信装置に送信し、セカンダリ被計算委託装置がκ＿２、ρ＿２を作成して第１の通信装置に送信する場合を例示した。
【０２１４】
しかし、ρ＿２は暗号化されずに第１の通信装置に送信される。そこで、セカンダリ被計算委託装置がｅｎｃ（Ｋ＿ＸＤ２，κ＿２）とρ＿２をプライマリ被計算委託装置に送信し、プライマリ被計算委託装置が、ρ＝ρ＿１・ρ＿２と合成して、合成したρを第１の通信装置に送信するようにしても良い。
【符号の説明】
【０２１５】
１…システム、
１００及び５００…第１の通信装置、
１０１及び５０１…送受信部、１０２及び５０２…秘密鍵情報記憶部、
１０３及び５０３…公開鍵証明書取得部、
１０４及び５０４…秘密鍵情報分割部、
１０５及び５０５…委託パラメータ生成部、１０６…部分共有鍵復号部、
１０７…共有鍵合成部、１０８及び５０８…部分署名パラメータ復号部、
１０９及び５０９…署名パラメータ合成部、
１１０及び５１０…署名生成部、
５０６…部分第１暗号文パラメータ情報復号部、
５０７…プレマスターシークレット情報合成部、
２００及び６００…プライマリ被計算委託装置、
２０１及び６０１…送受信部、２０２及び６０２…秘密鍵情報記憶部、
２０３及び６０３…委託パラメータ記憶部、
２０４…鍵共有パラメータ生成部、２０５…部分共有鍵計算部、
２０６…鍵共有パラメータ配送管理部、
２０７及び６０６…メッセージダイジェスト情報生成部、
２０８及び６０７…部分署名パラメータ生成部、
２０９…公開鍵証明書取得部、６０４…一時記憶部、
６０５…部分復号計算部、
３００及び７００…セカンダリ被計算委託装置、
３０１及び７０１…送受信部、３０２及び７０２…秘密鍵情報記憶部、
３０３及び７０３…委託パラメータ記憶部、３０４…部分共有鍵計算部、
３０５及び７０５…部分署名パラメータ生成部、
３０６及び７０６…公開鍵証明書取得部、７０４…部分復号計算部、
４００及び８００…第２の通信装置、
４０１及び８０１…送受信部、４０２及び８０２…秘密鍵情報記憶部、
４０３…共有鍵計算部、
４０４及び８０４…メッセージダイジェスト情報生成部、
４０５及び８０５…署名検証部、
４０６及び８０６…公開鍵証明書取得部、
８０３…プレマスターシークレット配送部。
【図１】
0005447544.tif 000025
【図２】
0005447544.tif 000026
【図３】
0005447544.tif 000027
【図４】
0005447544.tif 000028
【図５】
0005447544.tif 000029
【図６】
0005447544.tif 000030
【図７】
0005447544.tif 000031
【図８】
0005447544.tif 000032
【図９】
0005447544.tif 000033
【図１０】
0005447544.tif 000034
【図１１】
0005447544.tif 000035