(57)【特許請求の範囲】
【請求項１】
予め素数ｑ、素数ｑを位数とする巡回群Ｇ及びGT、巡回群Ｇの生成元ｇ、G×G→GTをペアリングとする双線形関数e(g, g)、任意のビット長の情報{0, 1}*をｋビット長の情報{0, 1}kに変換する第１ハッシュ関数Ｈと、任意のビット長の情報{0, 1}*をＧの元に変換する第２ハッシュ関数H1と、鍵発行装置がｑによる剰余群Zqからランダムに選択したマスタ秘密鍵ｓによりｇをべき乗して生成したマスタ公開鍵Ｚと、が公開されており、ネットワークを介して他の認証鍵交換装置と認証鍵交換を行う認証鍵交換装置であり、
上記認証鍵交換装置は、上記鍵発行装置が上記認証鍵交換装置の識別子IDAを上記第２
ハッシュ関数H1によりハッシュ処理して生成したユーザ情報QA=H1(IDA)を上記マスタ秘密鍵ｓでべき乗して生成したユーザ秘密鍵DA=QAsが与えられており、
上記認証鍵交換装置は、
素数ｑによる剰余群Zqからランダムに短期秘密鍵yAを選択する短期秘密鍵選択部と、
上記生成元ｇを短期秘密鍵yAでべき乗して短期公開鍵XAを生成する短期公開鍵生成部と、
上記マスタ公開鍵Ｚを上記短期秘密鍵yAでべき乗して秘密鍵情報ZyAを生成するべき乗
部と、
上記短期公開鍵XAを含む情報を上記他の認証鍵交換装置に送信する送信部と、
上記他の認証鍵交換装置からその短期公開鍵XBを含む情報を受信する受信部と、
上記他の認証鍵交換装置の識別子IDBを上記第２ハッシュ関数H1によりハッシュ処理し
てユーザ情報QB=H1(IDB)を生成するユーザ情報生成部と、
上記ZyA, XA, XB, DA, QBを使って認証鍵生成パラメータ
【数２８】
0005457848.tif 000029
0005457848.tif 000030
0005457848.tif 000031
を生成するペアリング演算部と、
上記認証鍵生成パラメータσ1, σ2, σ3と、上記他の認証鍵交換装置と共有する共有
情報Cmとを上記第１ハッシュ関数Ｈによりハッシュ処理して共有鍵K=H(σ1, σ2, σ3, Cm)を生成し、出力する共有鍵計算部、
とを含むことを特徴とする認証鍵交換装置。
【請求項２】
予め素数ｑ、素数ｑを位数とする巡回群Ｇ及びGT、巡回群Ｇの生成元ｇ、G×G→GTをペアリングとする双線形関数e(g, g)、任意のビット長の情報{0, 1}*をｋビット長の情報{0, 1}kに変換する第１ハッシュ関数Ｈと、任意のビット長の情報{0, 1}*をＧの元に変換する第２ハッシュ関数H1と、鍵発行装置がｑによる剰余群Zqからランダムに選択したマスタ秘密鍵ｓによりｇをべき乗して生成したマスタ公開鍵Ｚと、が公開されており、ネットワークを介して他の認証鍵交換装置と認証鍵交換を行う認証鍵交換装置であり、
上記認証鍵交換装置は、上記鍵発行装置が上記認証鍵交換装置の識別子IDBを上記第２
ハッシュ関数H1によりハッシュ処理して生成したユーザ情報QB=H1(IDB)を上記マスタ秘密鍵ｓでべき乗して生成したユーザ秘密鍵DB=QBsが与えられており、
上記認証鍵交換装置は、
素数ｑによる剰余群Zqからランダムに短期秘密鍵yBを選択する短期秘密鍵選択部と、
上記生成元ｇを短期秘密鍵yBでべき乗して短期公開鍵XBを生成する短期公開鍵生成部と、
上記マスタ公開鍵Ｚを上記短期秘密鍵yBでべき乗して秘密鍵情報ZyBを生成するべき乗
部と、
上記短期公開鍵XBを含む情報を上記他の認証鍵交換装置に送信する送信部と、
上記他の認証鍵交換装置からその短期公開鍵XAを含む情報を受信する受信部と、
上記他の認証鍵交換装置の識別子IDAを上記第２ハッシュ関数H1によりハッシュ処理し
てユーザ情報QA=H1(IDA)を生成するユーザ情報生成部と、
上記ZyB, XA, XB, DB, QAを使って認証鍵生成パラメータ
【数２９】
0005457848.tif 000032
0005457848.tif 000033
0005457848.tif 000034
を生成するペアリング演算部と、
上記認証鍵生成パラメータσ1, σ2, σ3と、上記他の認証鍵交換装置と共有する共有
情報Cmとを上記第１ハッシュ関数Ｈによりハッシュ処理して共有鍵K=H(σ1, σ2, σ3, Cm)を生成し、出力する共有鍵計算部、
とを含むことを特徴とする認証鍵交換装置。
【請求項３】
予め素数ｑ、素数ｑを位数とする巡回群Ｇ及びGT、巡回群Ｇの生成元ｇ、G×G→GTをペアリングとする双線形関数e(g, g)、任意のビット長の情報{0, 1}*をｋビット長の情報{0, 1}kに変換する第１ハッシュ関数Ｈと、任意のビット長の情報{0, 1}*をＧの元に変換する第２ハッシュ関数H1と、鍵発行装置がｑによる剰余群Zqからランダムに選択したマスタ秘密鍵ｓによりｇをべき乗して生成したマスタ公開鍵Ｚと、が公開されており、ネットワークを介して第１認証鍵交換装置と第２認証鍵交換装置が認証鍵交換を行うＩＤベース認証鍵交換システムであり、
上記第１認証鍵交換装置は、上記鍵発行装置が上記第１認証鍵交換装置の第１識別子IDAを上記第２ハッシュ関数H1によりハッシュ処理して生成した第１ユーザ情報QA=H1(IDA)
を上記マスタ秘密鍵ｓでべき乗して生成した第１ユーザ秘密鍵DA=QAsが与えられており、上記第２認証鍵交換装置は、上記鍵発行装置が上記第２認証鍵交換装置の第２識別子IDB
を上記第２ハッシュ関数H1によりハッシュ処理して生成した第２ユーザ情報QB=H1(IDB)を上記マスタ秘密鍵ｓでべき乗して生成した第２ユーザ秘密鍵DB=QBsが与えられており、
上記第１認証鍵交換装置は、
素数ｑによる剰余群Zqからランダムに第１短期秘密鍵yAを選択する第１短期秘密鍵選択部と、
上記生成元ｇを上記第１短期秘密鍵yAでべき乗して第１短期公開鍵XAを生成する短期公開鍵生成部と、
上記マスタ公開鍵Ｚを上記第１短期秘密鍵yAでべき乗して第１秘密鍵情報ZyAを生成す
る第１べき乗部と、
上記第１短期公開鍵XAを含む情報を上記第２認証鍵交換装置に送信する第１送信部と、
上記第２認証鍵交換装置からその第２短期公開鍵XBを含む情報を受信する第１受信部と、
上記第２認証鍵交換装置の第２識別子IDBを上記第２ハッシュ関数H1によりハッシュ処
理して第２ユーザ情報QB=H1(IDB)を生成する第１ユーザ情報生成部と、
上記ZyA, XA, XB, DA, QBを使って認証鍵生成パラメータ
【数３０】
0005457848.tif 000035
0005457848.tif 000036
0005457848.tif 000037
を生成する第１ペアリング演算部と、
上記認証鍵生成パラメータσ1, σ2, σ3と、上記第２認証鍵交換装置と共有する共有
情報Cmとを上記第１ハッシュ関数Ｈによりハッシュ処理して共有鍵K=H(σ1, σ2, σ3, Cm)を生成し、出力する第１共有鍵計算部、
とを含んでおり、
上記第２認証鍵交換装置は、
素数ｑによる剰余群Zqからランダムに第２短期秘密鍵yBを選択する第２短期秘密鍵選択部と、
上記生成元ｇを上記第２短期秘密鍵yBでべき乗して第２短期公開鍵XBを生成する第２短期公開鍵生成部と、
上記マスタ公開鍵Ｚを上記第２短期秘密鍵yBでべき乗して第２秘密鍵情報ZyBを生成す
る第２べき乗部と、
上記第２短期公開鍵XBを含む情報を上記第１認証鍵交換装置に送信する第２送信部と、
上記第１認証鍵交換装置からその第１短期公開鍵XAを含む情報を受信する第２受信部と、
上記第１認証鍵交換装置の第１識別子IDAを上記第２ハッシュ関数H1によりハッシュ処
理して第１ユーザ情報QA=H1(IDA)を生成する第２ユーザ情報生成部と、
上記ZyB, XA, XB, DB, QAを使って認証鍵生成パラメータ
【数３１】
0005457848.tif 000038
0005457848.tif 000039
0005457848.tif 000040
を生成する第２ペアリング演算部と、
上記認証鍵生成パラメータσ1, σ2, σ3と、上記第１認証鍵交換装置と共有する上記
共有情報Cmとを上記第１ハッシュ関数Ｈによりハッシュ処理して共有鍵K=H(σ1, σ2, σ3, Cm)を生成し、出力する第２共有鍵計算部、
とを含むことを特徴とするＩＤベース認証鍵交換システム。
【請求項４】
予め素数ｑ、素数ｑを位数とする巡回群Ｇ及びGT、巡回群Ｇの生成元ｇ、G×G→GTをペアリングとする双線形関数e(g, g)、任意のビット長の情報{0, 1}*をｋビット長の情報{0, 1}kに変換する第１ハッシュ関数Ｈと、任意のビット長の情報{0, 1}*をＧの元に変換する第２ハッシュ関数H1と、鍵発行装置がｑによる剰余群Zqからランダムに選択したマスタ秘密鍵ｓによりｇをべき乗して生成したマスタ公開鍵Ｚと、が公開されており、ネットワークを介して第１認証鍵交換装置と第２認証鍵交換装置が認証鍵交換を行うＩＤベース認証鍵交換方法であり、
上記第１認証鍵交換装置は、上記鍵発行装置が上記第１認証鍵交換装置の第１識別子IDAを上記第２ハッシュ関数H1によりハッシュ処理して生成した第１ユーザ情報QA=H1(IDA)を上記マスタ秘密鍵ｓでべき乗して生成した第１ユーザ秘密鍵DA=QAsが与えられており、上記第２認証鍵交換装置は、上記鍵発行装置が上記第２認証鍵交換装置の第２識別子IDBを上記第２ハッシュ関数H1によりハッシュ処理して生成した第２ユーザ情報QB=H1(IDB)を上記マスタ秘密鍵ｓでべき乗して生成した第２ユーザ秘密鍵DB=QBsが与えられており、
上記第１認証鍵交換装置が素数ｑによる剰余群Zqからランダムに第１短期秘密鍵yAを選択し、第１短期公開鍵XA=gyAを計算する第１短期公開鍵生成ステップと、上記第１短期公開鍵XAを含む情報を上記第２認証鍵交換装置に送信する第１送信ステップと、
上記第２認証鍵交換装置が素数ｑによる剰余群Zqからランダムに第２短期秘密鍵yBを選択し、第２短期公開鍵XB=gyBを計算する第２短期公開鍵生成ステップと、上記第２短期公開鍵XBを含む情報を上記第１認証鍵交換装置に送信する第２送信ステップと、
上記第１認証鍵交換装置が上記第２認証鍵交換装置からその第２短期公開鍵XBを含む情報を受信する第１受信ステップと、上記マスタ公開鍵Ｚを上記第１短期秘密鍵yAでべき乗して第１秘密鍵情報ZyAを生成する第１秘密鍵情報生成ステップと、上記第２識別子IDBを上記第２ハッシュ関数H1によりハッシュ処理して第２ユーザ情報QB=H1(IDB)を生成する第１ユーザ情報生成ステップと、上記ZyA, XA, XB, DA, QBを使って共有鍵生成パラメータσ1, σ2, σ3を次式
【数３２】
0005457848.tif 000041
0005457848.tif 000042
0005457848.tif 000043
により計算する第１ペアリング演算ステップと、上記共有鍵生成パラメータを含む情報を上記第１ハッシュ関数Ｈによりハッシュ処理して共有鍵Ｋを計算し、出力する第１共有鍵計算ステップと、
上記第２認証鍵交換装置が上記第１認証鍵交換装置からその第１短期公開鍵XAを含む情報を受信する第２受信ステップと、上記マスタ公開鍵Ｚを上記第２短期秘密鍵yBでべき乗して第２秘密鍵情報ZyBを生成する第２秘密鍵情報生成ステップと、上記第１識別子IDAを上記第２ハッシュ関数H1によりハッシュ処理して第１ユーザ情報QA=H1(IDA)を生成する第２ユーザ情報生成ステップと、上記ZyB,, XA, XB, DB, QAを使って共有鍵生成パラメータσ1, σ2, σ3を次式
【数３３】
0005457848.tif 000044
0005457848.tif 000045
0005457848.tif 000046
により計算する第２ペアリング演算ステップと、上記共有鍵生成パラメータを含む情報を上記第１ハッシュ関数Ｈによりハッシュ処理して共有鍵Ｋを生成し、出力する第２共有鍵計算ステップ、
とを含むことを特徴とするＩＤベース認証鍵交換方法。
【請求項５】
予め素数ｑ、素数ｑを位数とする巡回群Ｇ及びGT、巡回群Ｇの生成元ｇ、G×G→GTをペアリングとする双線形関数e(g, g)、任意のビット長の情報{0, 1}*をｋビット長の情報{0, 1}kに変換する第１ハッシュ関数Ｈと、任意のビット長の情報{0, 1}*をＧの元に変換する第２ハッシュ関数H1と、任意のビット長の情報{0, 1}*をｑによる剰余群Zqの元に変換
する第３ハッシュ関数H2と、鍵発行装置がｑによる剰余群Zqからランダムに選択したマスタ秘密鍵ｓによりｇをべき乗して生成したマスタ公開鍵Ｚと、が公開されており、ネットワークを介して他の認証鍵交換装置と認証鍵交換を行う認証鍵交換装置であり、
上記認証鍵交換装置は、上記鍵発行装置が上記認証鍵交換装置の識別子IDAを上記第２
ハッシュ関数H1によりハッシュ処理して生成したユーザ情報QA=H1(IDA)を上記マスタ秘密鍵ｓでべき乗して生成したユーザ秘密鍵DA=QAsが与えられており、
上記認証鍵交換装置は、
素数ｑによる剰余群Zqからランダムに短期秘密鍵yAを選択する短期秘密鍵選択部と、
上記生成元ｇを短期秘密鍵yAでべき乗して短期公開鍵XAを生成する短期公開鍵生成部と、
上記マスタ公開鍵Ｚを上記短期秘密鍵yAでべき乗して秘密鍵情報ZyAを生成するべき乗
部と、
上記短期公開鍵XAを含む情報を上記他の認証鍵交換装置に送信する送信部と、
上記他の認証鍵交換装置からその短期公開鍵XBを含む情報を受信する受信部と、
生成した上記短期公開鍵XAと受信した上記短期公開鍵XBをそれぞれ第３ハッシュ関数H2によりハッシュ処理して第１公開鍵情報eA=H2(XA)及び第２公開鍵情報 eB=H2(XB)を生成
するハッシュ部と、
上記他の認証鍵交換装置の識別子IDBを上記第２ハッシュ関数H1によりハッシュ処理し
てユーザ情報QB=H1(IDB)を生成するユーザ情報生成部と、
上記ZyA, XA, XB, DA, QB, eA, eBを使って認証鍵生成パラメータ
【数３４】
0005457848.tif 000047
0005457848.tif 000048
0005457848.tif 000049
を生成するペアリング演算部と、
上記認証鍵生成パラメータσ1, σ2, σ3と、上記他の認証鍵交換装置と共有する共有
情報Cmとを上記第１ハッシュ関数Ｈによりハッシュ処理して共有鍵K=H(σ1, σ2, σ3, Cm)を生成し、出力する共有鍵計算部、
とを含むことを特徴とする認証鍵交換装置。
【請求項６】
請求項５に記載の認証鍵交換装置において、上記ペアリング演算部は、上記認証鍵生成パラメータの代わりに、
【数３５】
0005457848.tif 000050
0005457848.tif 000051
0005457848.tif 000052
を計算することを特徴とする認証鍵交換装置。
【請求項７】
予め素数ｑ、素数ｑを位数とする巡回群Ｇ及びGT、巡回群Ｇの生成元ｇ、G×G→GTをペアリングとする双線形関数e(g, g)、任意のビット長の情報{0, 1}*をｋビット長の情報{0, 1}kに変換する第１ハッシュ関数Ｈと、任意のビット長の情報{0, 1}*をＧの元に変換する第２ハッシュ関数H1と、任意のビット長の情報{0, 1}*をｑによる剰余群Zqの元に変換
する第３ハッシュ関数H2と、鍵発行装置がｑによる剰余群Zqからランダムに選択したマスタ秘密鍵ｓによりｇをべき乗して生成したマスタ公開鍵Ｚと、が公開されており、ネットワークを介して他の認証鍵交換装置と認証鍵交換を行う認証鍵交換装置であり、
上記認証鍵交換装置は、上記鍵発行装置が上記認証鍵交換装置の識別子IDBを上記第２
ハッシュ関数H1によりハッシュ処理して生成したユーザ情報QB=H1(IDB)を上記マスタ秘密鍵ｓでべき乗して生成したユーザ秘密鍵DB=QBsが与えられており、
上記認証鍵交換装置は、
素数ｑによる剰余群Zqからランダムに短期秘密鍵yBを選択する短期秘密鍵選択部と、
上記生成元ｇを短期秘密鍵yBでべき乗して短期公開鍵XBを生成する短期公開鍵生成部と、
上記マスタ公開鍵Ｚを上記短期秘密鍵yBでべき乗して秘密鍵情報ZyBを生成するべき乗
部と、
上記短期公開鍵XBを含む情報を上記他の認証鍵交換装置に送信する送信部と、
上記他の認証鍵交換装置からその短期公開鍵XAを含む情報を受信する受信部と、
受信した上記短期公開鍵XAと生成した上記短期公開鍵XBをそれぞれ第３ハッシュ関数H2でハッシュ処理して第１公開鍵情報eA=H2(XA)と第２公開鍵情報eB=H2(XB)を生成するハッシュ部と、
上記他の認証鍵交換装置の識別子IDAを上記第２ハッシュ関数H1によりハッシュ処理し
てユーザ情報QA=H1(IDA)を生成するユーザ情報生成部と、
上記ZyB, XA, XB, DB, QA, eA, eBを使って認証鍵生成パラメータ
【数３６】
0005457848.tif 000053
0005457848.tif 000054
0005457848.tif 000055
を生成するペアリング演算部と、
上記認証鍵生成パラメータσ1, σ2, σ3と、上記他の認証鍵交換装置と共有する共有
情報Cmとを上記第１ハッシュ関数Ｈによりハッシュ処理して共有鍵K=H(σ1, σ2, σ3, Cm)を生成し、出力する共有鍵計算部、
とを含むことを特徴とする認証鍵交換装置。
【請求項８】
請求項７記載の認証鍵交換装置において、上記ペアリング演算部は上記共有鍵生成パラメータの代わりに、
【数３７】
0005457848.tif 000056
0005457848.tif 000057
0005457848.tif 000058
を計算することを特徴とする認証鍵交換装置。
【請求項９】
予め素数ｑ、素数ｑを位数とする巡回群Ｇ及びGT、巡回群Ｇの生成元ｇ、G×G→GTをペアリングとする双線形関数e(g, g)、任意のビット長の情報{0, 1}*をｋビット長の情報{0, 1}kに変換する第１ハッシュ関数Ｈと、任意のビット長の情報{0, 1}*をＧの元に変換する第２ハッシュ関数H1と、任意のビット長の情報{0, 1}*をｑによる剰余群Zqの元に変換
する第３ハッシュ関数H2と、鍵発行装置がｑによる剰余群Zqからランダムに選択したマスタ秘密鍵ｓによりｇをべき乗して生成したマスタ公開鍵Ｚと、が公開されており、ネットワークを介して第１認証鍵交換装置と第２認証鍵交換装置が認証鍵交換を行うＩＤベース認証鍵交換システムであり、
上記第１認証鍵交換装置は、上記鍵発行装置が上記第１認証鍵交換装置の第１識別子IDAを上記第２ハッシュ関数H1によりハッシュ処理して生成した第１ユーザ情報QA=H1(IDA)
を上記マスタ秘密鍵ｓでべき乗して生成した第１ユーザ秘密鍵DA=QAsが与えられており、上記第２認証鍵交換装置は、上記鍵発行装置が上記第２認証鍵交換装置の第２識別子IDB
を上記第２ハッシュ関数H1によりハッシュ処理して生成した第２ユーザ情報QB=H1(IDB)を上記マスタ秘密鍵ｓでべき乗して生成した第２ユーザ秘密鍵DB=QBsが与えられており、
上記第１認証鍵交換装置は、
素数ｑによる剰余群Zqからランダムに第１短期秘密鍵yAを選択する第１短期秘密鍵選択部と、
上記生成元ｇを上記第１短期秘密鍵yAでべき乗して第１短期公開鍵XAを生成する短期公開鍵生成部と、
上記マスタ公開鍵Ｚを上記第１短期秘密鍵yAでべき乗して第１秘密鍵情報ZyAを生成す
る第１べき乗部と、
上記第１短期公開鍵XAを含む情報を上記第２認証鍵交換装置に送信する第１送信部と、
上記第２認証鍵交換装置からその第２短期公開鍵XBを含む情報を受信する第１受信部と、
生成した上記第１短期公開鍵XAと受信した上記第２短期公開鍵XBをそれぞれ第３ハッシュ関数H2によりハッシュ処理して第１公開鍵情報eA=H2(XA)及び第２公開鍵情報 eB=H2(XB)を生成する第１ハッシュ部と、
上記第２認証鍵交換装置の第２識別子IDBを上記第２ハッシュ関数H1によりハッシュ処
理して第２ユーザ情報QB=H1(IDB)を生成する第１ユーザ情報生成部と、
上記ZyA, XA, XB, DA, QB, eA, eBを使って第１認証鍵生成パラメータ
【数３８】
0005457848.tif 000059
0005457848.tif 000060
0005457848.tif 000061
を生成する第１ペアリング演算部と、
上記第１認証鍵生成パラメータσ1, σ2, σ3と、上記第２認証鍵交換装置と共有する
共有情報Cmとを上記第１ハッシュ関数Ｈによりハッシュ処理して共有鍵K=H(σ1, σ2, σ3, Cm)を生成し、出力する第１共有鍵計算部、
とを含んでおり、
上記第２認証鍵交換装置は、
素数ｑによる剰余群Zqからランダムに第２短期秘密鍵yBを選択する第２短期秘密鍵選択部と、
上記生成元ｇを上記第２短期秘密鍵yBでべき乗して第２短期公開鍵XBを生成する第２短期公開鍵生成部と、
上記マスタ公開鍵Ｚを上記第２短期秘密鍵yBでべき乗して第２秘密鍵情報ZyBを生成す
る第２べき乗部と、
上記第２短期公開鍵XBを含む情報を上記第１認証鍵交換装置に送信する第２送信部と、
上記第１認証鍵交換装置からその第１短期公開鍵XAを含む情報を受信する第２受信部と、
受信した上記第１短期公開鍵XAと生成した上記第２短期公開鍵XBをそれぞれ第３ハッシュ関数でハッシュ処理して第１公開鍵情報eA=H2(XA)と第２公開鍵情報eB=H2(XB)を生成する第２ハッシュ部と、
上記第１認証鍵交換装置の第１識別子IDAを上記第２ハッシュ関数H1によりハッシュ処
理して第１ユーザ情報QA=H1(IDA)を生成する第２ユーザ情報生成部と、
上記ZyB, XA, XB, DB, QA, eA, eBを使って第２認証鍵生成パラメータ
【数３９】
0005457848.tif 000062
0005457848.tif 000063
0005457848.tif 000064
を生成する第２ペアリング演算部と、
上記第２認証鍵生成パラメータσ1, σ2, σ3と、上記第１認証鍵交換装置と共有する
上記共有情報Cmとを上記第１ハッシュ関数Ｈによりハッシュ処理して共有鍵K=H(σ1, σ2, σ3, Cm)を生成し、出力する第２共有鍵計算部、
とを含むことを特徴とするＩＤベース認証鍵交換システム。
【請求項１０】
請求項９記載のＩＤベース認証鍵交換システムにおいて、上記第１ペアリング演算部は上記共有鍵生成パラメータの代わりに、
【数４０】
0005457848.tif 000065
0005457848.tif 000066
0005457848.tif 000067
を計算し、上記第２ペアリング演算部は上記共有鍵生成パラメータの代わりに、
【数４１】
0005457848.tif 000068
0005457848.tif 000069
0005457848.tif 000070
を計算することを特徴とするＩＤベース認証鍵交換システム。
【請求項１１】
予め素数ｑ、素数ｑを位数とする巡回群Ｇ及びGT、巡回群Ｇの生成元ｇ、G×G→GTをペアリングとする双線形関数e(g, g)、任意のビット長の情報{0, 1}*をｋビット長の情報{0, 1}kに変換する第１ハッシュ関数Ｈと、任意のビット長の情報{0, 1}*をＧの元に変換する第２ハッシュ関数H1と、任意のビット長の情報{0, 1}*をｑによる剰余群Zqの元に変換する第３ハッシュ関数H2と、鍵発行装置がｑによる剰余群Zqからランダムに選択したマスタ秘密鍵ｓによりｇをべき乗して生成したマスタ公開鍵Ｚと、が公開されており、ネットワークを介して第１認証鍵交換装置と第２認証鍵交換装置が認証鍵交換を行うＩＤベース認証鍵交換方法であり、
上記第１認証鍵交換装置は、上記鍵発行装置が上記第１認証鍵交換装置の第１識別子IDAを上記第２ハッシュ関数H1によりハッシュ処理して生成した第１ユーザ情報QA=H1(IDA)を上記マスタ秘密鍵ｓでべき乗して生成した第１ユーザ秘密鍵DA=QAsが与えられており、上記第２認証鍵交換装置は、上記鍵発行装置が上記第２認証鍵交換装置の第２識別子IDBを上記第２ハッシュ関数H1によりハッシュ処理して生成した第２ユーザ情報QB=H1(IDB)を上記マスタ秘密鍵ｓでべき乗して生成した第２ユーザ秘密鍵DB=QBsが与えられており、
上記第１認証鍵交換装置が素数ｑによる剰余群Zqからランダムに第１短期秘密鍵yAを選択し、第１短期公開鍵XA=gyAを計算する第１短期公開鍵生成ステップと、上記第１短期公開鍵XAを含む情報を上記第２認証鍵交換装置に送信する第１送信ステップと、
上記第２認証鍵交換装置が素数ｑによる剰余群Zqからランダムに第２短期秘密鍵yBを選択し、第２短期公開鍵XB=gyBを計算する第２短期公開鍵生成ステップと、上記第２短期公開鍵XBを含む情報を上記第１認証鍵交換装置に送信する第２送信ステップと、
上記第１認証鍵交換装置が上記第２認証鍵交換装置からその第２短期公開鍵XBを含む情報を受信する第１受信ステップと、生成した上記短期公開鍵XAと受信した上記短期公開鍵XBをそれぞれ第３ハッシュ関数H2によりハッシュ処理して第１公開鍵情報eA=H2(XA)及び第２公開鍵情報 eB=H2(XB)を生成する第１ハッシュステップと、上記マスタ公開鍵Ｚを上記第１短期秘密鍵yAでべき乗して第１秘密鍵情報ZyAを生成する第１秘密鍵情報生成ステップと、上記第２識別子IDBを上記第２ハッシュ関数H1によりハッシュ処理して第２ユーザ情報QB=H1(IDB)を生成する第１ユーザ情報生成ステップと、上記ZyA, XA, XB, DA, QB, eA, eBを使って第１共有鍵生成パラメータσ1, σ2, σ3を次式
【数４２】
0005457848.tif 000071
0005457848.tif 000072
0005457848.tif 000073
により計算する第１ペアリング演算ステップと、上記第１共有鍵生成パラメータを含む情報を上記第１ハッシュ関数Ｈによりハッシュ処理して共有鍵Ｋを計算し、出力する第１共有鍵計算ステップと、
上記第２認証鍵交換装置が上記第１認証鍵交換装置からその第１短期公開鍵XAを含む情報を受信する第２受信ステップと、受信した上記第１短期公開鍵XAと生成した上記第２短期公開鍵XBをそれぞれ第３ハッシュ関数でハッシュ処理して第１公開鍵情報eA=H2(XA)と第２公開鍵情報eB=H2(XB)を生成する第２ハッシュステップと、上記マスタ公開鍵Ｚを上記第２短期秘密鍵yBでべき乗して第２秘密鍵情報ZyBを生成する第２秘密鍵情報生成ステップと、上記第１識別子IDAを上記第２ハッシュ関数H1によりハッシュ処理して第１ユーザ情報QA=H1(IDA)を生成する第２ユーザ情報生成ステップと、上記ZyB, XA, XB, DB, QA,eA, eBを使って第２共有鍵生成パラメータσ1, σ2, σ3を次式
【数４３】
0005457848.tif 000074
0005457848.tif 000075
0005457848.tif 000076
により計算する第２ペアリング演算ステップと、上記第２共有鍵生成パラメータを含む情報を上記第１ハッシュ関数Ｈによりハッシュ処理して共有鍵Ｋを生成し、出力する第２共有鍵計算ステップ、
とを含むことを特徴とする認証鍵交換方法。
【請求項１２】
請求項１１に記載の認証鍵交換方法において、上記第１ペアリング演算ステップは、上記第１共有鍵生成パラメータの代わりに、
【数４４】
0005457848.tif 000077
0005457848.tif 000078
0005457848.tif 000079
を計算し、上記第２ペアリング演算ステップは上記第２共有鍵生成パラメータの代わりに、
【数４５】
0005457848.tif 000080
0005457848.tif 000081
0005457848.tif 000082
を計算することを特徴とするＩＤベース認証鍵交換方法。
【請求項１３】
請求項１，２，５，６，７，８のいずれか記載の認証鍵交換装置としてコンピュータを
機能させるプログラム。
【請求項１４】
請求項１３記載のプログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項１５】
予め素数ｑ、素数ｑを位数とする巡回群Ｇ及びGT、巡回群Ｇの生成元ｇ、G×G→GTをペアリングとする双線形関数e(g, g)、任意のビット長の情報{0, 1}*をＧの元に変換するハッシュ関数H1と、鍵発行装置がｑによる剰余群Zqからランダムに選択したマスタ秘密鍵ｓによりｇをべき乗して生成したマスタ公開鍵Ｚと、が公開されており、ネットワークを介して第１認証鍵交換装置と第２認証鍵交換装置が認証鍵交換を行うＩＤベース認証鍵交換方法であり、
上記第１認証鍵交換装置は、上記鍵発行装置が上記第１認証鍵交換装置の第１識別子IDAを上記ハッシュ関数H1によりハッシュ処理して生成した第１ユーザ情報QA=H1(IDA)を上記マスタ秘密鍵ｓでべき乗して生成した第１ユーザ秘密鍵DA=QAsが与えられており、上記第２認証鍵交換装置は、上記鍵発行装置が上記第２認証鍵交換装置の第２識別子IDBを上記ハッシュ関数H1によりハッシュ処理して生成した第２ユーザ情報QB=H1(IDB)を上記マスタ秘密鍵ｓでべき乗して生成した第２ユーザ秘密鍵DB=QBsが与えられており、
上記第１認証鍵交換装置が素数ｑによる剰余群Zqからランダムに第１短期秘密鍵yAを選択し、第１短期公開鍵XA=gyAを計算する第１短期公開鍵生成ステップと、上記第１短期公開鍵XAを含む情報を上記第２認証鍵交換装置に送信する第１送信ステップと、
上記第２認証鍵交換装置が素数ｑによる剰余群Zqからランダムに第２短期秘密鍵yBを選択し、第２短期公開鍵XB=gyBを計算する第２短期公開鍵生成ステップと、上記第２短期公開鍵XBを含む情報を上記第１認証鍵交換装置に送信する第２送信ステップと、
上記第１認証鍵交換装置が上記第２認証鍵交換装置からその第２短期公開鍵XBを含む情報を受信する第１受信ステップと、上記マスタ公開鍵Ｚを上記第１短期秘密鍵yAでべき乗して第１秘密鍵情報ZyAを生成する第１秘密鍵情報生成ステップと、上記第２識別子IDBを上記ハッシュ関数H1によりハッシュ処理して第２ユーザ情報QB=H1(IDB)を生成する第１ユーザ情報生成ステップと、上記ZyA, XA, XB, DA, QBを使って共有鍵生成パラメータσ1, σ2, σ3を次式
【数４６】
0005457848.tif 000083
0005457848.tif 000084
0005457848.tif 000085
により計算する第１ペアリング演算ステップと、上記共有鍵生成パラメータを使って共有鍵Ｋを構成し、出力する第１共有鍵計算ステップと、
上記第２認証鍵交換装置が上記第１認証鍵交換装置からその第１短期公開鍵XAを含む情報を受信する第２受信ステップと、上記マスタ公開鍵Ｚを上記第２短期秘密鍵yBでべき乗して第２秘密鍵情報ZyBを生成する第２秘密鍵情報生成ステップと、上記第１識別子IDAを上記ハッシュ関数H1によりハッシュ処理して第１ユーザ情報QA=H1(IDA)を生成する第２ユーザ情報生成ステップと、上記ZyB,, XA, XB, DB, QAを使って共有鍵生成パラメータσ1, σ2, σ3を次式
【数４７】
0005457848.tif 000086
0005457848.tif 000087
0005457848.tif 000088
により計算する第２ペアリング演算ステップと、上記共有鍵生成パラメータを使って共有鍵Ｋを構成し、出力する第２共有鍵計算ステップ、
とを含むことを特徴とするＩＤベース認証鍵交換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報セキュリティ技術の分野における認証鍵交換、特に、ＩＤベース認証鍵交換システム、それに使用される認証交換方法、認証鍵交換装置、及びそのプログラムと記録媒体に関する。
【背景技術】
【０００２】
安全性が保障されていないネットワークを介して２者間で情報の交換を安全に行う技術の１つとして２者が共通の秘密鍵（以下、共通鍵と呼ぶ）を共有し、互いに情報を共通鍵により暗号化して送信し、受信した暗号化情報を共通鍵により復号化する技術がある。このような共有鍵暗号化方式においては、２者間で予め共有鍵を安全に共有する（鍵交換する）必要がある。その技術の１つとしてペアリング技術を用いたＩＤベース認証鍵交換方式が提案されている（非特許文献１）。
【０００３】
このＩＤベース認証鍵交換方式について以下に説明する。ユーザUA，UBの端末装置及び鍵発行装置がネットワークを介して接続されており、ユーザUA，UB間で鍵交換を行うものとする。鍵発行装置は公開パラメータとして、
Ｇ，GT：ｋビットの素数ｑを位数とする巡回群、
ｇ：Ｇの生成元、
gT＝e(g, g)：GTの生成元、
e(g, g)：G×G→GTをペアリングとする双線形関数、
Ｈ：任意のビット長の情報{0, 1}*をｋビット長の情報{0, 1}kに変換するハッシュ関数、
H1：任意のビット長の情報{0, 1}*をＧの元に変換するハッシュ関数、
IDprot：鍵交換方式の名称、
を公開しているものとする。
【０００４】
鍵発行装置は、マスタ鍵ｓ∈Zqをランダムに選び、マスタ公開鍵Ｚ＝gs∈Ｇを公開する。また、ユーザUiから与えられた識別子IDi∈{0, 1}*に対し、ユーザ情報
Qi＝H1(IDi) ∈Ｇ
を計算し、マスタ秘密鍵ｓを用いてユーザ秘密鍵
Di＝Qis∈Ｇ
を生成し、ユーザUiに与える。ここで、ｉはユーザを区別するインデックスであり、ここではユーザUA，UBに対しそれぞれi=A，i=Bである。
【０００５】
識別子IDAとユーザ秘密鍵DA＝QAs∈Ｇを有するユーザUAと、識別子IDBとユーザ秘密鍵DB＝QBs∈Ｇを有するユーザUBは、以下のようにして認証鍵交換を行なう。
ステップＳ１：ユーザUAは、短期秘密鍵yA∈Zqをランダムに選択し、短期公開鍵
【０００６】
【数１】
0005457848.tif 000002
を計算し、(IDprot, IDA, IDB, XA)をユーザUBに送る。
ステップＳ２：ユーザUBは(IDprot, IDA, IDB, XA)を受信し、短期秘密鍵yB∈Zqをランダムに選択し、短期公開鍵
【０００７】
【数２】
0005457848.tif 000003
を計算し、(IDprot, IDA, IDB, XA, XB)をユーザUAに送る。
ステップＳ３：ユーザUBは共有鍵生成パラメータ
【０００８】
【数３】
0005457848.tif 000004
を計算し、共有鍵
【０００９】
【数４】
0005457848.tif 000005
を計算する。
ステップＳ４：ユーザUAは(IDprot, IDA, IDB, XA, XB)を受信し、共有鍵生成パラメータ
【００１０】
【数５】
0005457848.tif 000006
を計算し、共有鍵
【００１１】
【数６】
0005457848.tif 000007
を計算する。ここで、ユーザUAが式(6) により計算した共有鍵Ｋと、ユーザUBが式(3) により計算した共有鍵Ｋが互いに同じものとなることが次のように証明される。
【００１２】
まず、Ｇ上の任意の点V，Wに対してG×G→GTで定義されるペアリング関数e(V, W)は次の性質を持つことが知られている。
【００１３】
e(aV, bW)=e(V, W)ab=e(bV, aW)                      (7)
そこで、ユーザ情報を
【００１４】
【数７】
0005457848.tif 000008
とおき、
【００１５】
【数８】
0005457848.tif 000009
を使えば、ユーザUBの共有鍵生成パラメータσ1及びσ3は、
【００１６】
【数９】
0005457848.tif 000010
となる。一方、ユーザUAの共有鍵生成パラメータσ1及びσ2は、
【００１７】
【数１０】
0005457848.tif 000011
となり、これらはユーザUBの式(8), (9)により計算した共有鍵生成パラメータと一致する。従って、ユーザUA側とユーザUB側の式(3) 及び(6) による共有鍵Ｋの計算結果も一致する。これにより共有鍵Ｋが両者UA，UB間で共有されることが証明された。
【先行技術文献】
【非特許文献】
【００１８】
【非特許文献１】L. Chen, Z. Cheng, N.P. Smart, "Identity-based key agreement protocols from parings", Int. J. Inf. Sec. 6(4): 213-241 (2007)
【発明の概要】
【発明が解決しようとする課題】
【００１９】
ところが、上述の従来技術においては、短期秘密鍵xA, xBの漏洩を考慮したeCK(extended Canetti-Krawzcyk)モデル（参考文献：B. LaMacchia, K. Lauter and A. Mityagin, "Stronger security of authenticated key exchange" in W. Susilo, J.K. Liu and Y. Mu, editors, Provable Security: First International Conference, ProvSec 2007, Vol. 4784 of LNCS, pages 1-16, Springer Verlag, 2007）では安全性の証明ができないという問題があった。この発明の目的は、短期秘密鍵が漏洩しても安全性が保てるeCKモデルでの安全性の証明が可能なＩＤベース認証鍵交換システム、認証鍵交換方法、認証鍵交換装置及びそのプログラムと記録媒体を提供することである。
【課題を解決するための手段】
【００２０】
この発明の第１の観点によれば、GとGTを素数ｑを位数とする巡回群、ｇをＧの生成元とすると、識別子IDAとIDBをそれぞれ有する互いに認証鍵交換を行う認証鍵交換装置ＡとＢは、予め鍵発行装置からそれぞれQA=H1(IDA)とQB=H1(IDB)からマスタ秘密鍵ｓを使って計算したユーザ秘密鍵DA=QAsとDB=QBsが与えられており、認証鍵交換装置Ａは短期秘密鍵yAを使って秘密鍵情報ZyA, 短期公開鍵XA=gyAを生成し、認証鍵交換装置ＢからXBを受信し、ZyA, XA, XB, DA及びQB=H1(IDB)から、G×G→GTをペアリングとする双線形関数e(g, g)を使って認証鍵生成パラメータσ1=e(DAZyA, QBXB), σ2=e(DA, QB), σ3=XByAを生成し、共有鍵K=H(σ1,σ2,σ3,Cm)を計算する。認証鍵交換装置Ｂは短期秘密鍵yBを使って秘密鍵情報ZyB, 短期公開鍵XB=gyBを生成し、認証鍵交換装置ＡからXAを受信し、ZyB, XA, XB, DB及びQA=H1(IDA)から認証生成パラメータσ1=e(QAXA, DBZyB), σ2=e(QA, DB), σ3=XAyBを生成し、共有鍵K=H(σ1,σ2,σ3,Cm)を計算する。
【００２１】
この発明の第２の観点によれば、GとGTを素数ｑを位数とする巡回群、ｇをＧの生成元とすると、識別子IDAとIDBをそれぞれ有する互いに認証鍵交換を行う認証鍵交換装置ＡとＢは、予め鍵発行装置からそれぞれQA=H1(IDA)とQB=H1(IDB)からマスタ秘密鍵ｓを使って計算したユーザ秘密鍵DA=QAsとDB=QBsが与えられており、認証鍵交換装置Ａは短期秘密鍵yAを使って秘密鍵情報ZyA, 短期公開鍵XA=gyAを生成し、XAと認証鍵交換装置Ｂから受信したXBから公開鍵情報eA=H2(XA), eB=H2(XB)を生成し、ZyA, XA, XB, DA, eA, eB及びQB=H1(IDB)から、G×G→GTをペアリングとする双線形関数e(g, g)を使って認証鍵生成パラメータσ1=e(DAeAZyA, QBXB), σ2=e(DAZyA, QBeBXB), σ3=XByAを生成し、共有鍵K=H(σ1,σ2,σ3,Cm)を計算する。認証鍵交換装置Ｂは短期秘密鍵yBを使って秘密鍵情報ZyB, 短期公開鍵XB=gyBを生成し、XBと認証鍵交換装置Ａから受信したXAから公開鍵情報eA=H2(XA), eB=H2(XB)を生成し、ZyB, XA, XB, DB, eA, eB及びQA=H1(IDA)から認証生成パラメータσ1=e(QAeAXA, DBZyB), σ2=e(QAXA, DBeBZyB), σ3=XAyBを生成し、共有鍵K=H(σ1,σ2,σ3,Cm)を計算する。
【発明の効果】
【００２２】
従来技術では共有鍵生成パラメータσ1=e(g, g)s(qA+yA)(qB+yB), σ3=gyAyBとyAとからe(g, g)sqAqBを計算できないため、eCKモデルでの安全性の証明ができなかったが、この発明によればe(g, g)sqAqBを計算できるよう３つの共有鍵生成パラメータσ1, σ2, σ3を使用するため、安全性の証明が可能となる。
【図面の簡単な説明】
【００２３】
【図１】この発明による認証鍵交換システムの構成を示すブロック図。
【図２】この発明における鍵発行装置の機能構成を示すブロック図。
【図３】第１実施例における鍵交換を行う一方の認証鍵交換装置の機能構成を示すブロック図。
【図４】第１実施例における鍵交換を行う他方の認証鍵交換装置の機能構成を示すブロック図。
【図５】第１実施例における認証鍵交換の手順を示すフロー図。
【図６】第２実施例における鍵交換を行う一方の認証鍵交換装置の機能構成を示すブロック図。
【図７】第２実施例における鍵交換を行う他方の認証鍵交換装置の機能構成を示すブロック図。
【図８】第２実施例における認証鍵交換の手順を示すフロー図。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態について図を参照して詳細に説明する。
［第１実施例］
図１はこの発明が実施されるＩＤベース認証鍵交換システム（以下、認証鍵交換システムと呼ぶ）の概略を示すブロック図である。認証鍵交換システムは鍵発行装置100と、複数の端末装置200A, 200Bがネットワークを介して互いに接続されて構成されている。各端末装置200A, 200Bはそれぞれこの発明による認証鍵交換装置20A, 20Bを有している。認証鍵交換は任意の２つの端末装置間で行われる。図では２つの端末装置のみ示している。端末装置200A, 200BはそれぞれユーザUA, UBにより使用されているものとする。この発明では認証鍵交換にのみ係わるので、以下では認証鍵交換装置20A, 20Bがネットワークに接続されているものとして説明する。また、ユーザUA, UBが所有している識別子IDA, IDBは便宜的に認証鍵交換装置20A, 20Bの識別子でもあることとする。
【００２５】
鍵発行装置100は認証鍵交換装置20AからユーザUAの識別子IDAを受けてユーザ秘密鍵DAを生成し、認証鍵交換装置20Aに与える。同様に、認証鍵交換装置20BからユーザUBの識別子IDBを受けてユーザ秘密鍵DBを生成し、認証鍵交換装置20Ｂに与える。認証鍵交換装置20Aと20Bはそれぞれ与えられたユーザ秘密鍵DA, DBを使って、この発明の認証鍵交換方法に従って認証鍵交換を実施する。
【００２６】
図２は鍵発行装置100の機能構成を示すブロック図であり、マスタ秘密鍵選択部110と、マスタ公開鍵生成部120と、受信部130と、ハッシュ部140と、ユーザ秘密鍵生成部150と、送信部160と、制御部１０と、公開パラメータ記憶部１１とから構成されている。公開パラメータ記憶部１１には、前述の従来技術と同様の、
Ｇ，GT：ｋビットの素数ｑを位数とする巡回群、
ｇ：Ｇの生成元、
gT＝e(g, g)：GTの生成元、
e(g, g)：G×G→GTをペアリングとする双線形関数、
Ｈ：任意のビット長の情報{0, 1}*をｋビット長の情報{0, 1}kに変換するハッシュ関数、
H1：任意のビット長の情報{0, 1}*をＧの元に変換するハッシュ関数、
IDprot：鍵交換方式の名称、
が格納されており、これら公開パラメータは公開されている。ペアリング関数として使用可能な双線形関数の例としては楕円曲線が知られている（参考文献１："IEEE P1636.3TM /D1 Draft Standard for Identity-based Public-key Cryptography Using Parings", [URL: http://grouper.ieee.org/groups/1363/IBC/material/P1363.3-D1-200805.pdg]）。制御部１０はユーザ秘密鍵発行手順のプログラムに従って各部110〜160の動作を制御する
鍵発行装置100において、マスタ秘密鍵選択部110は、素数ｑによる剰余群Zqからランダムにマスタ秘密鍵ｓを選択する。マスタ公開鍵生成部120はマスタ秘密鍵ｓにより素数ｑをべき乗することによりマスタ公開鍵Z=qs∈Gを生成し、公開する。Z∈GはＺが群Ｇの元であることを意味している。受信部130によりユーザUiから識別子IDiが密鍵発行要求として受信されると、ハッシュ部140は識別子Uiにハッシュ演算処理を行い、ユーザ情報Qi=H1(IDi)を得る。ユーザ秘密鍵生成部150はユーザ情報Qiをマスタ秘密鍵ｓでべき乗することによりユーザ秘密鍵Di=Qis∈Gを生成し、送信部160からユーザUiに送信する。なお、ｉは複数のユーザを区別するインデックスであり、例えばユーザUA及びUBに対し、それぞれi=A及びi=Bである。
【００２７】
図２の例で鍵発行装置100が生成したユーザ秘密鍵DiをユーザUiに送る場合、安全性を確保するため、例えばSSL(Secure Socket Layer)による暗号化を行って送信してもよいし、あるいは鍵発行装置100と専用回線により直接接続された端末でユーザUiが受けてもよいし、あるいは鍵発行装置100がユーザ秘密鍵Diを記録した記録媒体をユーザUiに搬送してもよいし、あるいはユーザUiがその記録媒体を鍵発行装置100から直接受け取ってもよい。
【００２８】
図３はユーザUAの端末装置200A内の認証鍵交換装置２０Ａの機能構成ブロック図を示す。この第１実施例における認証鍵交換装置２０Ａは、記憶部２１Ａと、短期秘密鍵選択部２２Ａと、短期公開鍵生成部２３Ａと、送信部２４Ａと、べき乗部２５Ａと、受信部２６Ａと、ユーザ情報生成部２７Ａと、ペアリング演算部２８Ａと、共有鍵計算部２９Ａと、これら各部の動作を制御する制御部201Aとから構成されている。記憶部２１Ａには前述の公開パラメータ(G, GT, g, gT, e, H, H1, IDprot)、マスタ公開鍵Ｚ，ユーザUAの識別子IDA等が予め格納されており、各部の演算処理において必要な情報が読み出され、使用される。
【００２９】
認証鍵交換装置２０Ａは送信部２４ＡからユーザUAの識別子IDAを秘密鍵発行要求として鍵発行装置100に送信し、鍵発行装置100から発行されたユーザ秘密鍵DAは受信部２６Ａで受信される。短期秘密鍵選択部２２Ａは素数ｑについての剰余群Zqの中からランダムに短期秘密鍵yAを選択する。短期公開鍵生成部２３Ａはｇを短期秘密鍵yAでべき乗して短期公開鍵XA=gyAを生成する。短期公開鍵XAは識別子UAと共に送信部２４ＡからユーザUBの認証鍵交換装置２０Ｂに送信される。べき乗部２５Ａはマスタ公開鍵Ｚを短期秘密鍵yAでべき乗し、ZyAを生成する。
【００３０】
一方、認証鍵交換装置２０ＢからユーザUBの短期公開鍵XBと識別子IDBが受信部２６Ａで受信され、ユーザ情報生成部２７Ａは識別子IDBをハッシュしてユーザ情報QB=H1(IDB)を生成する。ペアリング演算部２８ＡはこれらyA, ZyA, DA, XB, QBを使って共有鍵生成パラメータσ1、σ2、σ3を以下のように計算する。
【００３１】
【数１１】
0005457848.tif 000012
共有鍵計算部２９Ａはこれら共有鍵生成パラメータσ1、σ2、σ3と共有情報Cmを使ってハッシュ演算により共有鍵
K=H(σ1, σ2, σ3, Cm)                            (15)
を計算し、出力する。共有情報として例えばCm=(IDprot, IDA, IDB, XA, XB)を使う場合は、IDprotは使用している鍵交換方式を特定し、IDA, IDBは鍵交換を行う２者を特定し、XA, XBはセッションを特定する。これらの予め決めた任意の組み合わせを共有情報として使用してもよいし、更に他の情報を加えてもよい。このような共有情報を埋め込むことにより、ユーザUAとUB以外のユーザ間で偶然に同じ共有鍵Ｋが生成されてしまうことを防ぐことができる。ハッシュの対象である情報σ1, σ2, σ3, Cmの入力順序は、両認証鍵交換装置２０Ａ，２０Ｂで同じ順序をとる限り、どのような順序でもかまわない。なお、この第１実施例の共有鍵生成パラメータσ1とσ3は、従来技術における共有鍵パラメータσ1とσ3とそれぞれ同じであるが、この発明の特徴は共有鍵パラメータσ2が更に設けられていることである。
【００３２】
図４はユーザUAと認証鍵交換を行うユーザUBの端末装置200B内の認証鍵交換装置２０Ｂの機能構成ブロック図を示す。基本的な構成は図３の構成と同じであり、記憶部２１Ｂと、短期秘密鍵選択部２２Ｂと、短期公開鍵生成部２３Ｂと、送信部２４Ｂと、べき乗部２５Ｂと、受信部２６Ｂと、ユーザ情報生成部２７Ｂと、ペアリング演算部２８Ｂと、共有鍵計算部２９Ｂと、これら各部の動作を制御する制御部201Bとから構成されている。記憶部２１Ｂには前述の公開パラメータ(G, GT, g, gT, e, H, H1, IDprot)、マスタ公開鍵Ｚ，ユーザUBの識別子IDB等が予め格納されており、各部の演算処理において必要な情報が読み出され、使用される。
【００３３】
認証鍵交換装置２０Ｂは送信部２４ＢからユーザUBの識別子IDBを秘密鍵発行要求として鍵発行装置100に送信し、鍵発行装置100から発行されたユーザ秘密鍵DBは受信部２６Ｂで受信される。短期秘密鍵選択部２２Ｂは素数ｑについての剰余群Zqの中からランダムに短期秘密鍵yBを選択する。短期公開鍵生成部２３Ｂはｇを短期秘密鍵yBでべき乗して短期公開鍵XB=gyBを生成する。短期公開鍵XBは識別子UBと共に送信部２４ＡからユーザUAの認証鍵交換装置２０Ａに送信される。べき乗部２５Ｂはマスタ公開鍵Ｚを短期秘密鍵yBでべき乗し、秘密鍵情報ZyBを生成する。
【００３４】
一方、認証鍵交換装置２０ＡからユーザUAの短期公開鍵XAと識別子IDAが受信部２６Ｂで受信され、ユーザ情報生成部２７Ｂは識別子IDAをハッシュしてユーザ情報QA=H1(IDA)を生成する。ペアリング演算部２８ＢはこれらyB, ZyB, DB, XA, QAを使って共有鍵生成パラメータσ1、σ2、σ3を以下のように計算する。
【００３５】
【数１２】
0005457848.tif 000013
共有鍵計算部２９Ｂはこれら共有鍵生成パラメータσ1、σ2、σ3と共有情報Cmを使ってハッシュ演算により共有鍵
K=H(σ1, σ2, σ3, Cm)                            (19)
を計算し、出力する。共有情報Cmとしては、ユーザUAの使用した共有情報Cmと同じもの、例えばCm=(IDprot, IDA, IDB, XA, XB)を使用する。
【００３６】
ここで、ユーザUAが式(12), (13), (14)を使って式(15)により計算した共有鍵Ｋと、ユーザUBが式(16), (17), (18)を使って式(19)により計算した共有鍵Ｋが互いに同じものとなることが次のように証明される。
【００３７】
【数１３】
0005457848.tif 000014
とおき、
【００３８】
【数１４】
0005457848.tif 000015
を使えば、ユーザUBの共有鍵生成パラメータσ1, σ2, σ3は、
【００３９】
【数１５】
0005457848.tif 000016
となる。一方、ユーザUAの共有鍵生成パラメータσ1, σ2, σ3は
【００４０】
【数１６】
0005457848.tif 000017
となり、これらはユーザUBの式(20), (21), (22)により計算した共有鍵生成パラメータと一致する。従って、ユーザUA側とユーザUB側の共有鍵Ｋの計算結果も一致する。これにより共有鍵Ｋが両者UA，UB間で共有されることが証明された。
【００４１】
ところで、前述の従来技術においては共有鍵生成パラメータσ1, σ3の２つを使用しており、この場合、短期秘密鍵yA, yBが漏洩した場合の安全性についての証明が不可能であった。この発明においては新たに共有鍵生成パラメータσ2を追加している。簡単に述べれば、このパラメータσ2には短期秘密鍵yA, yBが含まれていないので、短期秘密鍵yA, yBを知ったとしてもパラメータσ2を計算することは不可能であり、従って共有鍵Ｋを計算することができず、安全性が高い。
【００４２】
認証鍵交換の安全性はgapBDH(Bilinear Diffie-Hellman)仮定に基づいている。gapBDH仮定とは、U, V, W∈Ｇから、DBDHオラクルにアクセスしながらBDH(U, V, W)を計算することが計算量的に難しいという仮定である。ここで、BDH(U, V, W)=e(g, g)logUlogVlogWであり、DBDHオラクルは、入力(gu, gv, gw, e(g, g)x)に対してuvw=xのときb=1を返し、そうでない場合はb=0を返すオラクルである。例えば、マスタ公開鍵ＺをＵとし、qA=log(QA)をランダムに選び、ユーザ秘密鍵DAをZqAとする。ユーザUAの短期公開鍵XAをＶとし、ユーザUBの情報QBをＷとする。
【００４３】
もし、攻撃者がDBDH(Z, QAXA, QBXB,σ1)=1, DBDH(Z, QA, QB,σ2)=1, e(XA, XB)=σ3であり、かつXA=V, QB=Wであるσ1, σ2, σ3を計算できたとすると、gapBDH問題の答えを以下のように計算できる。
【００４４】
【数１７】
0005457848.tif 000018
ここで
【００４５】
【数１８】
0005457848.tif 000019
であり、log(QA)は計算できるので、gapBDH問題の答えを計算することができる。よって、攻撃者がσ1, σ2, σ3を計算することができると、計算困難であるはずのgapBDH問題の答えを計算できてしまうことになり、仮定に矛盾する。つまり、攻撃者がσ1, σ2, σ3を計算することはできないことが示され、eCKモデルでの安全性の証明ができる。
【００４６】
図５は、第１実施例によるユーザUAの認証鍵交換装置２０ＡとユーザUBの認証鍵交換装置２０Ｂとの間の認証鍵交換手順を示す。認証鍵交換装置２０Ａ，２０Ｂはそれぞれ鍵発行装置100から前述のようにして生成されたユーザ秘密鍵DA, DBが与えられているものとする。
【００４７】
認証鍵交換装置２０ＡはステップS11Aで、素数ｑによる剰余群Zqからランダムに短期秘密鍵yAを選択し、ステップS12Aで短期公開鍵XA=gyAを計算し、ステップS13Aで情報(IDprot, IDA, IDB, XA)を認証鍵交換装置２０Ｂに送信する。
【００４８】
認証鍵交換装置２０ＢはステップS11Bで、素数ｑによる剰余群Zqからランダムに短期秘密鍵yBを選択し、ステップS12Bで短期公開鍵XB=gyBを計算し、ステップS13Bで受信情報にXBを含めて情報(IDprot, IDA, IDB, XA, XB)として認証鍵交換装置２０Ａに送信する。
【００４９】
認証鍵交換装置２０ＡはステップS14Aでマスタ公開鍵Ｚを短期秘密鍵yAでべき乗して秘密鍵情報ZyAを生成し、更に識別子IDBをハッシュ処理してユーザ情報QB=H1(IDB)を生成する。次に、ステップS15Aで公開パラメータ及び受信した情報を使って共有鍵生成パラメータσ1, σ2, σ3を式(12), (13), (14)により計算し、ステップS16Aで式(15)により共有鍵Ｋを計算し、出力する。
【００５０】
認証交換装置２０ＢはステップS14Bでマスタ公開鍵Ｚを短期秘密鍵yBでべき乗して秘密鍵情報ZyBを生成し、更に識別子IDAをハッシュ処理してユーザ情報QA=H1(IDA)を生成する。次に、ステップS15Bで公開パラメータ及び受信した情報を使って共有鍵生成パラメータσ1, σ2, σ3を式(16), (17), (18)により計算し、ステップS16Bで共有鍵Ｋを式(19)により計算し、出力する。
【００５１】
図５に示す認証鍵交換は、セッション毎に行われ、従って、セッション毎に短期秘密鍵yA, yB、短期公開鍵XA, XB及び共有鍵Ｋが新しく生成され、セッションが終了すればそれらは廃棄される。従って、ステップS16A, S16Bの共有鍵計算においてハッシュの対象として共有鍵生成パラメータσ1, σ2, σ3と共に含まれる共有情報Cm=(IDprot, IDA, IDB, XA, XB)中の短期公開鍵XA, XBは、現セッションを特定する情報でもある。
［第２実施例］
この発明の第２実施例における認証鍵交換システムの全体の構成は図１と同じであり、鍵発行装置の構成と処理機能は図２と同じであるので説明を省略する。ただし、公開パラメータ記憶部１１には先に示した公開パラメータに更に任意のビット長の情報をｑによる剰余群の元に変換するハッシュ関数H2:{0, 1}* →Zqが追加されている。
【００５２】
図６は第２実施例におけるユーザUAの認証鍵交換装置２０Ａの機能構成ブロック図を示す。この第２実施例における認証鍵交換装置２０Ａは、記憶部２１Ａと、短期秘密鍵選択部２２Ａと、短期公開鍵生成部２３Ａと、送信部２４Ａと、べき乗部２５Ａと、受信部２６Ａと、ユーザ情報生成部２７Ａと、ハッシュ部281Aと、ペアリング演算部282Aと、共有鍵計算部２９Ａと、これら各部の動作を制御する制御部201Aとから構成されている。
【００５３】
記憶部２１Ａには前述のハッシュ関数H2を含む公開パラメータ(G, GT, g, gT, e, H, H1, H2, IDprot)、マスタ公開鍵Ｚ，ユーザUAの識別子IDA等が予め格納されており、各部の演算処理において必要な情報が読み出され、使用される。この構成は図３の構成に対し、更にハッシュ部281Aが追加され、ペアリング演算部２８Ａの代わりにペアリング演算部282Aが設けられている点が図３の構成と異なり、その他の構成は同じである。
【００５４】
認証鍵交換装置２０Ａは送信部２４ＡからユーザUAの識別子IDAを秘密鍵発行要求として鍵発行装置100に送信し、鍵発行装置100から発行されたユーザ秘密鍵DAは受信部２６Ａで受信される。短期秘密鍵選択部２２Ａは素数ｑについての剰余群Zqの中からランダムに短期秘密鍵yAを選択する。短期公開鍵生成部２３Ａはｇを短期秘密鍵yAでべき乗して短期公開鍵XA=gyAを生成する。短期公開鍵XAは識別子UAと共に送信部２４ＡからユーザUBの認証鍵交換装置２０Ｂに送信される。べき乗部２５Ａはマスタ公開鍵Ｚを短期秘密鍵yAでべき乗し、秘密鍵情報ZyAを生成する。
【００５５】
一方、認証鍵交換装置２０ＢからユーザUBの短期公開鍵XBと識別子IDBが受信部２６Ａで受信され、ユーザ情報生成部２７Ａは識別子IDBをハッシュしてユーザ情報QB=H1(IDB)を生成する。第２実施例で追加されたハッシュ部281Aは、生成した短期公開鍵XAと受信した短期公開鍵XBをそれぞれハッシュ関数H2で処理して公開鍵情報eA=H2(XA), eB=H2(XB)を生成し、ペアリング演算部282Aに与える。ペアリング演算部282AはこれらyA, ZyA, DA, XB, QB, eA, eBを使って共有鍵生成パラメータσ1、σ2、σ3を以下のように計算する。
【００５６】
【数１９】
0005457848.tif 000020
これら共有鍵生成パラメータσ1, σ2は第１実施例におけるσ1, σ2と異なるが、共有鍵生成パラメータσ3は同じである。共有鍵計算部２９Ａはこれら共有鍵生成パラメータσ1、σ2、σ3と共有情報Cmを使ってハッシュ演算により共有鍵
K=H(σ1, σ2, σ3, Cm)                            (33)
を計算し、出力する。共有情報CmとしてはIDprot, IDA, IDB, XA, XB)の任意の組み合わせを使用してもよいし、更に他の情報を加えてもよい。
【００５７】
図７はユーザUAと認証鍵交換を行うユーザUBの端末装置200B内の認証鍵交換装置２０Ｂの機能構成ブロック図を示す。基本的な構成は図６の構成と同じであり、記憶部２１Ｂと、短期秘密鍵選択部２２Ｂと、短期公開鍵生成部２３Ｂと、送信部２４Ｂと、べき乗部２５Ｂと、受信部２６Ｂと、ユーザ情報生成部２７Ｂと、ハッシュ部281Bと、ペアリング演算部282Bと、共有鍵計算部２９Ｂと、これら各部の動作を制御する制御部201Bとから構成されている。記憶部２１Ｂには前述の公開パラメータ(G, GT, g, gT, e, H, H1, IDprot)、マスタ公開鍵Ｚ，ユーザUBの識別子IDB等が予め格納されており、各部の演算処理において必要な情報が読み出され、使用される。
【００５８】
認証鍵交換装置２０Ｂは送信部２４ＢからユーザUBの識別子IDBを秘密鍵発行要求として鍵発行装置100に送信し、鍵発行装置100から発行されたユーザ秘密鍵DBは受信部２６Ｂで受信される。短期秘密鍵選択部２２Ｂは素数ｑについての剰余群Zqの中からランダムに短期秘密鍵yBを選択する。短期公開鍵生成部２３Ｂはｇを短期秘密鍵yBでべき乗して短期公開鍵XB=gyBを生成する。短期公開鍵XBは識別子UBと共に送信部２４ＡからユーザUAの認証鍵交換装置２０Ａに送信される。べき乗部２５Ｂはマスタ公開鍵Ｚを短期秘密鍵yBでべき乗し、秘密鍵情報ZyBを生成する。
【００５９】
一方、認証鍵交換装置２０ＡからユーザUAの短期公開鍵XAと識別子IDAが受信部２６Ｂで受信され、ユーザ情報生成部２７Ｂは識別子IDAをハッシュしてユーザ情報QA=H1(IDA)を生成する。ハッシュ部281Bは、受信した短期公開鍵XAと生成した短期公開鍵XBとをそれぞれハッシュ関数H2で処理して公開鍵情報eA=H2(XA), eB=H2(XB)を生成し、ペアリング演算部282Bに与える。ペアリング演算部282BはこれらyB, ZyB, DB, XA, QA, eA, eBを使って共有鍵生成パラメータσ1、σ2、σ3を以下のように計算する。
【００６０】
【数２０】
0005457848.tif 000021
共有鍵計算部２９Ｂはこれら共有鍵生成パラメータσ1、σ2、σ3と共有情報Cmを使ってハッシュ演算により共有鍵
K=H(σ1, σ2, σ3, Cm)                            (37)
を計算し、出力する。共有情報Cmとしては、ユーザUAの使用した共有情報Cmと同じもの、例えばCm=(IDprot, IDA, IDB, XA, XB)を使用する。
【００６１】
ここで、ユーザUAが式(30), (31), (32)を使って式(33)により計算した共有鍵Ｋと、ユーザUBが式(34), (35), (36)を使って式(37)により計算した共有鍵Ｋが互いに同じものとなることが次のように証明される。
【００６２】
【数２１】
0005457848.tif 000022
とおき、
【００６３】
【数２２】
0005457848.tif 000023
を使えば、ユーザUBの共有鍵生成パラメータσ1, σ2, σ3は、
【００６４】
【数２３】
0005457848.tif 000024
【００６５】
となる。一方、ユーザUAの共有鍵生成パラメータσ1, σ2, σ3は
【００６６】
【数２４】
0005457848.tif 000025
【００６７】
となり、これらはユーザUBの式(38), (39), (40)により計算した共有鍵生成パラメータと一致する。従って、ユーザUA側とユーザUB側の共有鍵Ｋの計算結果も一致する。これにより共有鍵Ｋが両者UA，UB間で共有されることが証明された。
【００６８】
図８は、第２実施例によるユーザUAの認証鍵交換装置２０ＡとユーザUBの認証鍵交換装置２０Ｂとの間の認証鍵交換手順を示す。認証鍵交換装置２０Ａ，２０Ｂはそれぞれ鍵発行装置100から前述のようにして生成されたユーザ秘密鍵DA, DBが与えられているものとする。
【００６９】
認証鍵交換装置２０ＡはステップS11Aで、素数ｑによる剰余群Zqからランダムに短期秘密鍵yAを選択し、ステップS12Aで短期公開鍵XA=gyAを計算し、ステップS13Aで情報(IDprot, IDA, IDB, XA)を認証鍵交換装置２０Ｂに送信する。
【００７０】
認証鍵交換装置２０ＢはステップS11Bで、素数ｑによる剰余群Zqからランダムに短期秘密鍵yBを選択し、ステップS12Bで短期公開鍵XA=gyBを計算し、ステップS13Bで受信情報にXBを含めて情報(IDprot, IDA, IDB, XA, XB)として認証鍵交換装置２０Ａに送信する。
【００７１】
認証鍵交換装置２０ＡはステップS14Aでマスタ公開鍵Ｚを短期秘密鍵yAでべき乗して秘密鍵情報ZyAを生成し、更に識別子IDBをハッシュ処理してユーザ情報QB=H1(IDB)を生成する。次に、ステップS15'Aで短期公開鍵XA, XBをそれぞれハッシュ処理して公開鍵情報eA=H2(XA), eB=H2(XB)を生成し、更に公開パラメータ及び受信した情報を使って共有鍵生成パラメータσ1, σ2, σ3を式(30), (31), (32)により計算し、ステップS16Aで共有鍵Ｋをハッシュ処理K=H(σ1, σ2, σ3, IDprot, IDA, IDB, XA, XB)により計算し、出力する。
【００７２】
認証交換装置２０ＢはステップS14Bでマスタ公開鍵Ｚを短期秘密鍵yBでべき乗して秘密鍵情報ZyBを生成し、更に識別子IDAをハッシュ処理してユーザ情報QA=H1(IDA)を生成する。次に、ステップS15'Bで短期公開鍵XA, XBをそれぞれハッシュ処理して公開鍵情報eA=H2(XA), eB=H2(XB)を生成し、更に公開パラメータ及び受信した情報を使って共有鍵生成パラメータσ1, σ2, σ3を式(39) (40), (41)により計算し、ステップS16Bで共有鍵Ｋをハッシュ処理K=H(σ1, σ2, σ3, IDprot, IDA, IDB, XA, XB)により計算し、出力する。
［変形実施例］
第２実施例である図６の認証鍵交換装置２０Ａにおけるペアリング演算部282Aによる共有鍵生成パラメータσ1, σ2, σ3を前式(30), (31), (32)の代わりに次式
【００７３】
【数２５】
0005457848.tif 000026
のように規定し、図７の認証鍵交換装置２０Ｂにおけるペアリング演算部282Bによる共有鍵生成パラメータσ1, σ2, σ3を前式(34), (35), (36)の代わりに次式
【００７４】
【数２６】
0005457848.tif 000027
のように規定してもよい。ペアリング演算部282Aの共有鍵生成パラメータσ1, σ2の式(44), (45)は、第２実施例のペアリング演算部２８Ａの共有鍵生成パラメータσ1, σ2の式(30), (31)と比べ、QBとQBeBとが入れ替わっているだけである。同様に、ペアリング演算部282Bの共有鍵生成パラメータσ1, σ2の式(47), (48)は、第２実施例のペアリング演算部２８Ｂの共有鍵生成パラメータσ1, σ2の式(34), (35)と比べ、DBとDBeBが入れ替わっているだけである。この変形実施例の場合も第２実施例と同様に、ペアリング演算部282Aにおける共有鍵生成パラメータσ1, σ2, σ3とペアリング演算部282Bにおける共有鍵生成パラメータσ1, σ2, σ3は共にそれぞれ、
【００７５】
【数２７】
0005457848.tif 000028
となることが容易に証明できる。
【００７６】
以上説明したこの発明によるＩＤベース認証鍵交換システムの実施例において、各認証鍵交換装置は、その機能を記録媒体に記録したプログラムに従ってコンピュータにより実行させるように構成してもよい。
【産業上の利用可能性】
【００７７】
本発明はネットワークを介した通信のセキュリティに利用することができる。
【図１】
0005457848.tif 000089
【図２】
0005457848.tif 000090
【図３】
0005457848.tif 000091
【図４】
0005457848.tif 000092
【図５】
0005457848.tif 000093
【図６】
0005457848.tif 000094
【図７】
0005457848.tif 000095
【図８】
0005457848.tif 000096