(57)【要約】【課題】ＩＤ情報に基づく情報（鍵）共有方法におけるキーエスクロー性の問題を解決する。【解決手段】群Ｇ１と群Ｇ２とは一方向同型写像ψ：Ｇ１→Ｇ２により結ばれている。ｓはＴＡ装置のマスター秘密鍵、元ｇ１∈Ｇ１、元ｇ２∈Ｇ２、ｒＡは通信装置Ａが生成した乱数、ｒＢは通信装置Ｂが生成した乱数とする。（１）ＴＡ装置が、Ｐ＝［ｓ］ｇ１∈Ｇ１，ＳＡ＝［ｓ］ＩＤＡ∈Ｇ２，ＳＢ＝［ｓ］ＩＤＢ∈Ｇ２を計算する。Ｐは公開され、ＳＡは通信装置Ａに送られ、ＳＢは通信装置Ｂに送られる。（２）通信装置ＡがＷＡ＝ＳＡ＋［ｒＡ］ｇ２∈Ｇ２を計算して、通信装置Ｂに送る。また、通信装置ＢがＷＢ＝ＳＢ＋［ｒＢ］ｇ２∈Ｇ２を計算して、通信装置Ａに送る。（３）通信装置ＡはＫＡ＝（ｅ（ＷＢ，ｇ１）／ｅ（ＩＤＢ，Ｐ））ｒＡを計算し、通信装置ＢはＫＢ＝（ｅ（ＷＡ，ｇ１）／ｅ（ＩＤＡ，Ｐ））ｒＢを計算する。【選択図】図５
2009171525.tif 000002
【特許請求の範囲】
【請求項１】
ＴＡ装置が生成した公開鍵Ｐと秘密情報ＳＡ，ＳＢとを用いて、通信装置Ａと通信装置Ｂとの間で情報を共有するＩＤ情報に基づく情報共有システムにおいて、
群Ｇ１，Ｇ２，Ｇ３は、位数が同じである巡回群であり、群Ｇ１と群Ｇ２とは一方向同型写像ψ：Ｇ１→Ｇ２により結ばれており、ペアリング関数ｅをｅ：Ｇ１×Ｇ２→Ｇ３、群Ｇ１の元をｇ１、群Ｇ２の元をｇ２として、
上記ＴＡ装置は、
０以上であり群Ｇ１の位数よりも小さい整数であるマスター秘密鍵ｓと、上記群Ｇ１の元ｇ１とから、Ｐ＝［ｓ］ｇ１により定義される公開鍵Ｐ∈Ｇ１を計算する公開鍵生成手段と、
上記マスター秘密鍵ｓと、上記通信装置ＡのＩＤ情報ＩＤＡ∈Ｇ２と、上記通信装置ＢのＩＤ情報ＩＤＢ∈Ｇ２とから、ＳＡ＝［ｓ］ＩＤＡにより定義される秘密情報ＳＡ∈Ｇ２と、ＳＢ＝［ｓ］ＩＤＢにより定義される秘密情報ＳＢ∈Ｇ２とを計算する秘密情報生成手段と、
を備え、
上記通信装置Ａは、
上記秘密情報ＳＡと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＡと、上記Ｇ２の元ｇ２とから、ＷＡ＝ＳＡ＋［ｒＡ］ｇ２により定義される通信情報ＷＡ∈Ｇ２を計算する通信情報生成手段と、
通信装置Ｂが生成する通信情報ＷＢと、上記Ｇ１の元ｇ１と、上記ＩＤ情報ＩＤＢと、上記公開鍵Ｐと、上記乱数ｒＡとから、ＫＡ＝（ｅ（ＷＢ，ｇ１）／ｅ（ＩＤＢ，Ｐ））ｒＡにより定義される共有情報ＫＡ∈Ｇ３を計算する共有情報生成手段と、
を備え、
上記通信装置Ｂは、
上記秘密情報ＳＢと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＢと、上記群Ｇ２の元ｇ２とから、ＷＢ＝ＳＢ＋［ｒＢ］ｇ２により定義される通信情報ＷＢ∈Ｇ２を計算する通信情報生成手段と、
通信装置Ａが生成する通信情報ＷＡと、上記群Ｇ１の元ｇ１と、上記ＩＤ情報ＩＤＡと、上記公開鍵Ｐと、上記乱数ｒＢとから、ＫＢ＝（ｅ（ＷＡ，ｇ１）／ｅ（ＩＤＡ，Ｐ））ｒＢにより定義される共有情報ＫＢ∈Ｇ３を計算する共有情報生成手段と、
を備え、
上記共有情報ＫＡと上記共有情報ＫＢとが等しい、
ことを特徴とするＩＤ情報に基づく情報共有システム。
【請求項２】
ＴＡ装置が生成した公開鍵Ｐと秘密情報ＳＡ，ＳＢとを用いて、通信装置Ａと通信装置Ｂとの間で情報を共有するＩＤ情報に基づく情報共有システムにおいて、
群Ｇ１，Ｇ２，Ｇ３は、位数が同じである巡回群であり、群Ｇ１と群Ｇ２とは一方向同型写像ψ：Ｇ１→Ｇ２により結ばれており、ペアリング関数ｅをｅ：Ｇ１×Ｇ２→Ｇ３、群Ｇ１の元をｇ１、群Ｇ２の元をｇ２、群Ｇ２の元を出力するハッシュ関数をＨとして、
上記ＴＡ装置は、
０以上であり群Ｇ１の位数よりも小さい整数であるマスター秘密鍵ｓと、上記群Ｇ１の元ｇ１とから、Ｐ＝［ｓ］ｇ１により定義される公開鍵Ｐ∈Ｇ１を計算する公開鍵生成手段と、
上記マスター秘密鍵ｓと、上記通信装置ＡのＩＤ情報ＩＤＡのハッシュ値Ｈ（ＩＤＡ）∈Ｇ２と、上記通信装置ＢのＩＤ情報ＩＤＢのハッシュ値Ｈ（ＩＤＢ）∈Ｇ２とから、ＳＡ＝［ｓ］Ｈ（ＩＤＡ）により定義される秘密情報ＳＡ∈Ｇ２と、ＳＢ＝［ｓ］Ｈ（ＩＤＢ）により定義される秘密情報ＳＢ∈Ｇ２とを計算する秘密情報生成手段と、
を備え、
上記通信装置Ａは、
上記秘密情報ＳＡと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＡと、上記Ｇ２の元ｇ２とから、ＷＡ＝ＳＡ＋［ｒＡ］ｇ２により定義される通信情報ＷＡ∈Ｇ２を計算する通信情報生成手段と、
通信装置Ｂが生成する通信情報ＷＢと、上記Ｇ１の元ｇ１と、上記ＩＤ情報ＩＤＢのハッシュ値Ｈ（ＩＤＢ）と、上記公開鍵Ｐと、上記乱数ｒＡとから、ＫＡ＝（ｅ（ＷＢ，ｇ１）／ｅ（Ｈ（ＩＤＢ），Ｐ））ｒＡにより定義される共有情報ＫＡ∈Ｇ３を計算する共有情報生成手段と、
を備え、
上記通信装置Ｂは、
上記秘密情報ＳＢと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＢと、上記群Ｇ２の元ｇ２とから、ＷＢ＝ＳＢ＋［ｒＢ］ｇ２により定義される通信情報ＷＢ∈Ｇ２を計算する通信情報生成手段と、
通信装置Ａが生成する通信情報ＷＡと、上記群Ｇ１の元ｇ１と、上記ＩＤ情報ＩＤＡのハッシュ値Ｈ（ＩＤＡ）と、上記公開鍵Ｐと、上記乱数ｒＢとから、ＫＢ＝（ｅ（ＷＡ，ｇ１）／ｅ（Ｈ（ＩＤＡ），Ｐ））ｒＢにより定義される共有情報ＫＢ∈Ｇ３を計算する共有情報生成手段と、
を備え、
上記共有情報ＫＡと上記共有情報ＫＢとが等しい、
ことを特徴とするＩＤ情報に基づく情報共有システム。
【請求項３】
請求項１又は２に記載のＩＤ情報に基づく情報共有システムにおいて、
上記通信装置Ａは、さらに、予め定められた関数Ｆにより、上記共有情報ＫＡを変換した値Ｆ（ＫＡ）を計算する変換手段を備え、
上記通信装置Ｂは、さらに、上記予め定められた関数Ｆにより、上記共有情報ＫＢを変換した値Ｆ（ＫＢ）を計算する変換手段を備え、
上記変換された値Ｆ（ＫＡ）と上記変換された値Ｆ（ＫＢ）とが等しい、
ことを特徴とするＩＤ情報に基づく情報共有システム。
【請求項４】
請求項３に記載のＩＤ情報に基づく情報共有システムにおいて、
上記関数Ｆは、上記ＩＤ情報ＩＤＡ，ＩＤＢ，上記通信情報ＷＡ，ＷＢ，上記共有情報ＫＡ，ＫＢの関数Ｆ（ＩＤＡ，ＩＤＢ，ＷＡ，ＷＢ，ＫＡ）又はＦ（ＩＤＡ，ＩＤＢ，ＷＡ，ＷＢ，ＫＢ）であり、
上記通信装置Ａの変換手段は、Ｆ（ＩＤＡ，ＩＤＢ，ＷＡ，ＷＢ，ＫＡ）の値を計算する手段であり、
上記通信装置Ｂの変換手段は、Ｆ（ＩＤＡ，ＩＤＢ，ＷＡ，ＷＢ，ＫＢ）の値を計算する手段である、
ことを特徴とするＩＤ情報に基づく情報共有システム。
【請求項５】
請求項１から４の何れかに記載のＩＤ情報に基づく情報共有システムにおいて、
上記共有情報ＫＡ及び上記共有情報ＫＢ、上記Ｆ（ＫＡ）の値及び上記Ｆ（ＫＢ）の値、又は、上記変換された値Ｆ（ＩＤＡ，ＩＤＢ，ＷＡ，ＷＢ，ＫＡ）の値及び上記Ｆ（ＩＤＡ，ＩＤＢ，ＷＡ，ＷＢ，ＫＢ）の値は、共通鍵として用いられる、
ことを特徴とするＩＤ情報に基づく情報共有システム。
【請求項６】
ＴＡ装置が生成した公開鍵Ｐと秘密情報とを用いて、他の通信装置との間で情報を共有するＩＤ情報に基づく情報共有通信装置において、
群Ｇ１，Ｇ２，Ｇ３は、位数が同じである巡回群であり、群Ｇ１と群Ｇ２とは一方向同型写像ψ：Ｇ１→Ｇ２により結ばれており、ペアリング関数ｅをｅ：Ｇ１×Ｇ２→Ｇ３、群Ｇ１の元をｇ１、群Ｇ２の元をｇ２として、
上記公開鍵Ｐは、０以上であり群Ｇ１の位数よりも小さい整数であるマスター秘密鍵ｓと、上記群Ｇ１の元ｇ１とから計算され、Ｐ＝［ｓ］ｇ１により定義される公開鍵Ｐ∈Ｇ１であり、
上記秘密情報は、上記マスター秘密鍵ｓと、上記情報共有通信装置のＩＤ情報ＩＤＡ∈Ｇ２と、上記他の通信装置のＩＤ情報ＩＤＢ∈Ｇ２とから計算され、ＳＡ＝［ｓ］ＩＤＡにより定義される秘密情報ＳＡ∈Ｇ２と、ＳＢ＝［ｓ］ＩＤＢにより定義される秘密情報ＳＢ∈Ｇ２とであり、
上記情報共有通信装置は、
上記秘密情報ＳＡと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＡと、上記Ｇ２の元ｇ２とから、ＷＡ＝ＳＡ＋［ｒＡ］ｇ２により定義される通信情報ＷＡ∈Ｇ２を計算する通信情報生成手段と、
上記他の通信装置が生成するＷＢ＝ＳＢ＋［ｒＢ］ｇ２により定義される通信情報ＷＢ∈Ｇ２と、上記Ｇ１の元ｇ１と、上記ＩＤ情報ＩＤＢと、上記公開鍵Ｐと、上記乱数ｒＡとから、ＫＡ＝（ｅ（ＷＢ，ｇ１）／ｅ（ＩＤＢ，Ｐ））ｒＡにより定義される共有情報ＫＡ∈Ｇ３を計算する共有情報生成手段と、
を備える、
ことを特徴とするＩＤ情報に基づく情報共有通信装置。
【請求項７】
ＴＡ装置が生成した公開鍵Ｐと秘密情報ＳＡ，ＳＢとを用いて、他の通信装置との間で情報を共有するＩＤ情報に基づく情報共有通信装置において、
群Ｇ１，Ｇ２，Ｇ３は、位数が同じである巡回群であり、群Ｇ１と群Ｇ２とは一方向同型写像ψ：Ｇ１→Ｇ２により結ばれており、ペアリング関数ｅをｅ：Ｇ１×Ｇ２→Ｇ３、群Ｇ１の元をｇ１、群Ｇ２の元をｇ２、群Ｇ２の元を出力するハッシュ関数をＨとして、
上記公開鍵Ｐは、０以上であり群Ｇ１の位数よりも小さい整数であるマスター秘密鍵ｓと、上記群Ｇ１の元ｇ１とから計算され、Ｐ＝［ｓ］ｇ１により定義される公開鍵Ｐ∈Ｇ１であり、
上記秘密情報は、上記マスター秘密鍵ｓと、上記情報共有通信装置のＩＤ情報ＩＤＡのハッシュ値Ｈ（ＩＤＡ）∈Ｇ２と、上記他の通信装置のＩＤ情報ＩＤＢのハッシュ値Ｈ（ＩＤＢ）∈Ｇ２とから計算され、ＳＡ＝［ｓ］Ｈ（ＩＤＡ）により定義される秘密情報ＳＡ∈Ｇ２と、ＳＢ＝［ｓ］Ｈ（ＩＤＢ）により定義される秘密情報ＳＢ∈Ｇ２とであり、
上記情報共有通信装置は、
上記秘密情報ＳＡと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＡと、上記Ｇ２の元ｇ２とから、ＷＡ＝ＳＡ＋［ｒＡ］ｇ２により定義される通信情報ＷＡ∈Ｇ２を計算する通信情報生成手段と、
上記他の通信装置が生成するＷＢ＝ＳＢ＋［ｒＢ］ｇ２により定義される通信情報ＷＢ∈Ｇ２と、上記Ｇ１の元ｇ１と、上記ＩＤ情報ＩＤＢのハッシュ値Ｈ（ＩＤＢ）と、上記公開鍵Ｐと、上記乱数ｒＡとから、ＫＡ＝（ｅ（ＷＢ，ｇ１）／ｅ（Ｈ（ＩＤＢ），Ｐ））ｒＡにより定義される共有情報ＫＡ∈Ｇ３を計算する共有情報生成手段と、
を備える、
ことを特徴とするＩＤ情報に基づく情報共有通信装置。
【請求項８】
請求項６又は７に記載のＩＤ情報に基づく情報共有通信装置において、
上記情報共有通信装置は、さらに、予め定められた関数Ｆにより、上記共有情報ＫＡが変換された値Ｆ（ＫＡ）を計算する変換手段を備える、
ことを特徴とするＩＤ情報に基づく情報共有通信装置。
【請求項９】
請求項８に記載のＩＤ情報に基づく情報共有通信装置において、
上記変換手段は、上記ＩＤ情報ＩＤＡ，ＩＤＢ，上記通信情報ＷＡ，ＷＢ，上記共有情報ＫＡの予め定められた関数であるＦ（ＩＤＡ，ＩＤＢ，ＷＡ，ＷＢ，ＫＡ）の値を計算する手段である、
ことを特徴とするＩＤ情報に基づく情報共有通信装置。
【請求項１０】
ＴＡ装置が生成した公開鍵Ｐと秘密情報ＳＡ，ＳＢとを用いて、通信装置Ａと通信装置Ｂとの間で情報を共有するＩＤ情報に基づく情報共有方法において、
群Ｇ１，Ｇ２，Ｇ３は、位数が同じである巡回群であり、群Ｇ１と群Ｇ２とは一方向同型写像ψ：Ｇ１→Ｇ２により結ばれており、ペアリング関数ｅをｅ：Ｇ１×Ｇ２→Ｇ３、群Ｇ１の元をｇ１、群Ｇ２の元をｇ２として、
上記ＴＡ装置が、０以上であり群Ｇ１の位数よりも小さい整数であるマスター秘密鍵ｓと、上記群Ｇ１の元ｇ１とから、Ｐ＝［ｓ］ｇ１により定義される公開鍵Ｐ∈Ｇ１を計算する公開鍵生成ステップと、
上記ＴＡ装置が、上記マスター秘密鍵ｓと、上記通信装置ＡのＩＤ情報ＩＤＡ∈Ｇ２と、上記通信装置ＢのＩＤ情報ＩＤＢ∈Ｇ２とから、ＳＡ＝［ｓ］ＩＤＡにより定義される秘密情報ＳＡ∈Ｇ２と、ＳＢ＝［ｓ］ＩＤＢにより定義される秘密情報ＳＢ∈Ｇ２とを計算する秘密情報生成ステップと、
上記通信装置Ａが、上記秘密情報ＳＡと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＡと、上記Ｇ２の元ｇ２とから、ＷＡ＝ＳＡ＋［ｒＡ］ｇ２により定義される通信情報ＷＡ∈Ｇ２を計算する通信情報生成ステップと、
上記通信装置Ａが、通信装置Ｂが生成する通信情報ＷＢと、上記Ｇ１の元ｇ１と、上記ＩＤ情報ＩＤＢと、上記公開鍵Ｐと、上記乱数ｒＡとから、ＫＡ＝（ｅ（ＷＢ，ｇ１）／ｅ（ＩＤＢ，Ｐ））ｒＡにより定義される共有情報ＫＡ∈Ｇ３を計算する共有情報生成ステップと、
上記通信装置Ｂが、上記秘密情報ＳＢと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＢと、上記群Ｇ２の元ｇ２とから、ＷＢ＝ＳＢ＋［ｒＢ］ｇ２により定義される通信情報ＷＢ∈Ｇ２を計算する通信情報生成ステップと、
上記通信装置Ｂが、通信装置Ａが生成する通信情報ＷＡと、上記群Ｇ１の元ｇ１と、上記ＩＤ情報ＩＤＡと、上記公開鍵Ｐと、上記乱数ｒＢとから、共有情報ＫＢ＝（ｅ（ＷＡ，ｇ１）／ｅ（ＩＤＡ，Ｐ））ｒＢにより定義される共有情報ＫＢ∈Ｇ３を計算する共有情報生成ステップと、
を有し、
上記共有情報ＫＡと上記共有情報ＫＢとが等しい、
ことを特徴とするＩＤ情報に基づく情報共有方法。
【請求項１１】
ＴＡ装置が生成した公開鍵Ｐと秘密情報ＳＡ，ＳＢとを用いて、通信装置Ａと通信装置Ｂとの間で情報を共有するＩＤ情報に基づく情報共有方法において、
群Ｇ１，Ｇ２，Ｇ３は、位数が同じである巡回群であり、群Ｇ１と群Ｇ２とは一方向同型写像ψ：Ｇ１→Ｇ２により結ばれており、ペアリング関数ｅをｅ：Ｇ１×Ｇ２→Ｇ３、群Ｇ１の元をｇ１、群Ｇ２の元をｇ２、群Ｇ２の元を出力するハッシュ関数をＨとして、
上記ＴＡ装置が、０以上であり群Ｇ１の位数よりも小さい整数であるマスター秘密鍵ｓと、上記群Ｇ１の元ｇ１とから、Ｐ＝［ｓ］ｇ１により定義される公開鍵Ｐ∈Ｇ１を計算する公開鍵生成ステップと、
上記ＴＡ装置が、上記マスター秘密鍵ｓと、上記通信装置ＡのＩＤ情報ＩＤＡのハッシュ値Ｈ（ＩＤＡ）∈Ｇ２と、上記通信装置ＢのＩＤ情報ＩＤＢのハッシュ値Ｈ（ＩＤＢ）∈Ｇ２とから、ＳＡ＝［ｓ］Ｈ（ＩＤＡ）により定義される秘密情報ＳＡ∈Ｇ２と、ＳＢ＝［ｓ］Ｈ（ＩＤＢ）により定義される秘密情報ＳＢ∈Ｇ２とを計算する秘密情報生成ステップと、
上記通信装置Ａが、上記秘密情報ＳＡと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＡと、上記Ｇ２の元ｇ２とから、ＷＡ＝ＳＡ＋［ｒＡ］ｇ２により定義される通信情報ＷＡ∈Ｇ２を計算する通信情報生成ステップと、
上記通信装置Ａが、通信装置Ｂが生成する通信情報ＷＢと、上記Ｇ１の元ｇ１と、上記ＩＤ情報ＩＤＢのハッシュ値Ｈ（ＩＤＢ）と、上記公開鍵Ｐと、上記乱数ｒＡとから、ＫＡ＝（ｅ（ＷＢ，ｇ１）／ｅ（Ｈ（ＩＤＢ），Ｐ））ｒＡにより定義される共有情報ＫＡ∈Ｇ３を計算する共有情報生成ステップと、
上記通信装置Ｂが、上記秘密情報ＳＢと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＢと、上記群Ｇ２の元ｇ２とから、ＷＢ＝ＳＢ＋［ｒＢ］ｇ２により定義される通信情報ＷＢ∈Ｇ２を計算する通信情報生成ステップと、
上記通信装置Ｂが、通信装置Ａが生成する通信情報ＷＡと、上記群Ｇ１の元ｇ１と、上記ＩＤ情報ＩＤＡのハッシュ値Ｈ（ＩＤＡ）と、上記公開鍵Ｐと、上記乱数ｒＢとから、ＫＢ＝（ｅ（ＷＡ，ｇ１）／ｅ（Ｈ（ＩＤＡ），Ｐ））ｒＢにより定義される共有情報ＫＢ∈Ｇ３を計算する共有情報生成ステップと、
を有し、
上記共有情報ＫＡと上記共有情報ＫＢとが等しい、
ことを特徴とするＩＤ情報に基づく情報共有方法。
【請求項１２】
請求項６から９の何れかに記載のＩＤ情報に基づく情報共有通信装置の各手段としてコンピュータを機能させるためのＩＤ情報に基づく情報共有プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報セキュリティ技術に関するものである。特に、通信装置間で、それらのＩＤ情報を用いて情報を共有するＩＤ情報に基づく情報共有システム、その方法、ＩＤ情報に基づく情報共有通信装置及びそのプログラムに関する。
【背景技術】
【０００２】
非特許文献１に記載されたＩＤ情報に基づく情報共有方法について説明する。
マスター秘密鍵ｓを１からＬ−１以下の整数、群Ｇから選択された任意の元をＰ∈Ｇとして、公開鍵ＰＫＧＳ＝［ｓ］Ｐとする。ＰとＰＫＧＳは、ＴＡ装置により生成され、公開される。
互いに情報を共有しようとする通信装置Ａと通信装置Ｂとは、それぞれ、自己のＩＤを群Ｇの元を出力するハッシュ関数Ｈに入力した場合の出力値ＱＡ＝Ｈ（ＩＤＡ）∈Ｇ，ＱＢ＝Ｈ（ＩＤＢ）∈Ｇを計算して、ＴＡ装置に送る。
【０００３】
ＴＡ装置は、秘密情報ＳＡ＝［ｓ］ＱＡ∈Ｇ，秘密情報ＳＢ＝［ｓ］ＱＢ∈Ｇを生成して、秘密情報ＳＡを通信装置Ａに、秘密情報ＳＢを通信装置Ｂに送る。
通信装置Ａは、乱数ａを生成して、通信情報ＴＡ＝［ａ］Ｐ∈Ｇを計算する。そして、通信情報ＴＡを通信装置Ｂに送る。同様に、通信装置Ｂは、乱数ｂを生成して、通信情報ＴＢ＝［ｂ］Ｐ∈Ｇを計算する。そして、通信情報ＴＢを通信装置Ａに送る。
通信装置Ａは、ｋＡ＝ｅ（［ａ］ＱＢ，ＰＫＧＳ）・ｅ（ＳＡ，ＴＢ）を計算することにより、共有情報ｋＡを計算する。ｅは、ペアリング関数である。同様に、通信装置Ｂは、ｋＢ＝ｅ（［ｂ］ＱＡ，ＰＫＧＳ）・ｅ（ＳＢ，ＴＡ）を計算することにより、共有情報ｋＢを計算する。下記のペアリングｅの双線形性を利用した式変形より、通信装置Ａが生成した共有情報ｋＡと、通信装置Ｂが生成した共有情報ｋＢとが等しくなることがわかる。このようにして、通信装置Ａと通信装置Ｂとは情報を共有していた（例えば、非特許文献１参照。）。
【０００４】
ｋＡ＝ｅ（［ａ］ＱＢ，ＰＫＧＳ）・ｅ（ＳＡ，ＴＢ）
＝ｅ（ＱＢ，ＰＫＧＳ）ａ・ｅ（ＳＡ，ＴＢ）
＝ｅ（ＱＢ，Ｐ）ａｓ・ｅ（ＱＡ，Ｐ）ｂｓ
＝ｅ（ＳＢ，ＴＡ）・ｅ（ＱＡ，ＰＫＧＳ）ｂ
＝ｅ（ＳＢ，ＴＡ）・ｅ（［ｂ］ＱＡ，ＰＫＧＳ）
＝ｅ（ＳＢ，ＴＡ）・ｅ（［ｂ］ＱＡ，ＰＫＧＳ）
＝ｅ（［ｂ］ＱＡ，ＰＫＧＳ）・ｅ（ＳＢ，ＴＡ）
＝ｋＢ
ここで、上記式展開から、ｅ（［ａ］ＱＢ，ＰＫＧＳ）＝ｅ（ＳＢ，ＴＡ）、及び、ｅ（［ｂ］ＱＡ，ＰＫＧＳ）＝ｅ（ＳＡ，ＴＢ）であることがわかる。これにより、ｋＡ＝ｋＢ＝ｅ（ＳＢ，ＴＡ）・ｅ（ＳＡ，ＴＢ）である。
【０００５】
したがって、ＴＡ装置が、通信装置Ａと通信装置Ｂとの間でやり取りされる情報ＴＡ，ＴＢを知り得た場合には、秘密情報ＳＡ，ＳＢを生成したＴＡ装置は当然に、秘密情報ＳＡ，ＳＢを知っているため、ｅ（ＳＢ，ＴＡ）・ｅ（ＳＡ，ＴＢ）を計算することにより共有情報を生成することができる。この問題は、キーエスクロー性の問題として知られている（例えば、非特許文献２参照。）。
【非特許文献１】N.P.SMART，「An identity based authenticated key agreement protocol based on the Weil pairing」，Electoronics Letters，38:630-632，2002
【非特許文献２】L.Chen，C.kudla，「Identity Based Authenticated Key Agreement Protocols from Parings」，16th IEEE Computer Security Foundations Workshop，pp.219-233，2003
【発明の開示】
【発明が解決しようとする課題】
【０００６】
背景技術に記載された方法においては、ＴＡ装置が通信装置Ａと通信装置Ｂとの間でやり取りされる情報ＴＡ，ＴＢを知り得た場合、通信装置Ａと通信装置Ｂとの間で共有される情報を知ることができるという、いわゆるキーエスクロー性の問題がある。
この発明は、ＴＡ装置が、通信装置Ａと通信装置Ｂとの間でやり取りされる情報を知り得た場合においても、通信装置Ａと通信装置Ｂとの間で共有される情報を知ることができないＩＤ情報に基づく情報共有システム、その方法、ＩＤ情報に基づく情報共有通信装置及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載された発明においては、ＴＡ装置が生成した公開鍵Ｐと秘密情報ＳＡ，ＳＢとを用いて、通信装置Ａと通信装置Ｂとの間で情報を共有するために、群Ｇ１，Ｇ２，Ｇ３は、位数が同じである巡回群であり、群Ｇ１と群Ｇ２とは一方向同型写像ψ：Ｇ１→Ｇ２により結ばれており、ペアリング関数ｅをｅ：Ｇ１×Ｇ２→Ｇ３、群Ｇ１の元をｇ１、群Ｇ２の元をｇ２とする。
ＴＡ装置は、０以上であり群Ｇ１の位数よりも小さい整数であるマスター秘密鍵ｓと、群Ｇ１の元ｇ１とから、Ｐ＝［ｓ］ｇ１により定義される公開鍵Ｐ∈Ｇ１を計算する公開鍵生成手段と、マスター秘密鍵ｓと、通信装置ＡのＩＤ情報ＩＤＡ∈Ｇ２と、通信装置ＢのＩＤ情報ＩＤＢ∈Ｇ２とから、ＳＡ＝［ｓ］ＩＤＡにより定義される秘密情報ＳＡ∈Ｇ２と、ＳＢ＝［ｓ］ＩＤＢにより定義される秘密情報ＳＢ∈Ｇ２とを計算する秘密情報生成手段と、を備える。
【０００８】
通信装置Ａは、秘密情報ＳＡと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＡと、Ｇ２の元ｇ２とから、ＷＡ＝ＳＡ＋［ｒＡ］ｇ２により定義される通信情報ＷＡ∈Ｇ２を計算する通信情報生成手段と、通信装置Ｂが生成する通信情報ＷＢと、Ｇ１の元ｇ１と、ＩＤ情報ＩＤＢと、公開鍵Ｐと、乱数ｒＡとから、ＫＡ＝（ｅ（ＷＢ，ｇ１）／ｅ（ＩＤＢ，Ｐ））ｒＡにより定義される共有情報ＫＡ∈Ｇ３を計算する共有情報生成手段と、を備える。
通信装置Ｂは、秘密情報ＳＢと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＢと、群Ｇ２の元ｇ２とから、ＷＢ＝ＳＢ＋［ｒＢ］ｇ２により定義される通信情報ＷＢ∈Ｇ２を計算する通信情報生成手段と、通信装置Ａが生成する通信情報ＷＡと、群Ｇ１の元ｇ１と、ＩＤ情報ＩＤＡと、公開鍵Ｐと、乱数ｒＢとから、ＫＢ＝（ｅ（ＷＡ，ｇ１）／ｅ（ＩＤＡ，Ｐ））ｒＢにより定義される共有情報ＫＢ∈Ｇ３を計算する共有情報生成手段と、を備える。
【０００９】
請求項２に記載された発明においては、ＴＡ装置が生成した公開鍵Ｐと秘密情報ＳＡ，ＳＢとを用いて、通信装置Ａと通信装置Ｂとの間で情報を共有するために、群Ｇ１，Ｇ２，Ｇ３は、位数が同じである巡回群であり、群Ｇ１と群Ｇ２とは一方向同型写像ψ：Ｇ１→Ｇ２により結ばれており、ペアリング関数ｅをｅ：Ｇ１×Ｇ２→Ｇ３、群Ｇ１の元をｇ１、群Ｇ２の元をｇ２、群Ｇ２の元を出力するハッシュ関数をＨとする。
ＴＡ装置は、０以上であり群Ｇ１の位数よりも小さい整数であるマスター秘密鍵ｓと、群Ｇ１の元ｇ１とから、Ｐ＝［ｓ］ｇ１により定義される公開鍵Ｐ∈Ｇ１を計算する公開鍵生成手段と、マスター秘密鍵ｓと、通信装置ＡのＩＤ情報ＩＤＡのハッシュ値Ｈ（ＩＤＡ）∈Ｇ２と、通信装置ＢのＩＤ情報ＩＤＢのハッシュ値Ｈ（ＩＤＢ）∈Ｇ２とから、ＳＡ＝［ｓ］Ｈ（ＩＤＡ）により定義される秘密情報ＳＡ∈Ｇ２と、ＳＢ＝［ｓ］Ｈ（ＩＤＢ）により定義される秘密情報ＳＢ∈Ｇ２とを計算する秘密情報生成手段と、を備える。
【００１０】
通信装置Ａは、秘密情報ＳＡと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＡと、Ｇ２の元ｇ２とから、ＷＡ＝ＳＡ＋［ｒＡ］ｇ２により定義される通信情報ＷＡ∈Ｇ２を計算する通信情報生成手段と、通信装置Ｂが生成する通信情報ＷＢと、Ｇ１の元ｇ１と、ＩＤ情報ＩＤＢのハッシュ値Ｈ（ＩＤＢ）と、公開鍵Ｐと、乱数ｒＡとから、ＫＡ＝（ｅ（ＷＢ，ｇ１）／ｅ（Ｈ（ＩＤＢ），Ｐ））ｒＡにより定義される共有情報ＫＡ∈Ｇ３を計算する共有情報生成手段と、を備える。
通信装置Ｂは、秘密情報ＳＢと、０以上であり群Ｇ２の位数よりも小さい整数である乱数ｒＢと、群Ｇ２の元ｇ２とから、ＷＢ＝ＳＢ＋［ｒＢ］ｇ２により定義される通信情報ＷＢ∈Ｇ２を計算する通信情報生成手段と、通信装置Ａが生成する通信情報ＷＡと、群Ｇ１の元ｇ１と、ＩＤ情報ＩＤＡのハッシュ値Ｈ（ＩＤＡ）と、公開鍵Ｐと、乱数ｒＢとから、ＫＢ＝（ｅ（ＷＡ，ｇ１）／ｅ（Ｈ（ＩＤＡ），Ｐ））ｒＢにより定義される共有情報ＫＢ∈Ｇ３を計算する共有情報生成手段と、を備える。
【発明の効果】
【００１１】
群Ｇ１と群Ｇ２とは一方向同型写像ψ：Ｇ１→Ｇ２により結ばれているため、ＴＡ装置は、通信装置Ａと通信装置Ｂとの間で共有される情報を知ることができない
【発明を実施するための最良の形態】
【００１２】
［第一実施例］
図１から５を参照して、本発明によるＩＤ情報に基づく情報共有システムの第一の例について説明する。図１は、ＩＤ情報に基づく情報共有システム１の機能構成を例示する図である。図２は、ＴＡ装置１０の機能構成を例示する図である。図３は、通信装置Ａの機能構成を例示する図である。図４は、通信装置Ｂの機能構成を例示する図である。図５は、ＩＤ情報に基づく情報共有方法の流れを例示するフローチャートである。
群Ｇ１，Ｇ２及びＧ３は位数（十分大きな素数であることが望ましい。）が同じである巡回群であり、群Ｇ１と群Ｇ２とは一方向同型写像ψ：Ｇ１→Ｇ２により結ばれているとする。すなわち、群Ｇ１から群Ｇ２への準同型写像は容易に計算可能であるが、群Ｇ２から群Ｇ１への準同型写像は計算量的に難しいとする。このような一方向同型写像ψは、群Ｇ１が非ｔｒａｃｅ−２の非超特異楕円曲線におけるフロベニウス写像の非固有空間、群Ｇ２が同楕円曲線におけるフロベニウス写像の固有空間である場合に、提案されている（例えば、〔参考文献１〕〔参考文献２〕参照。）。
【００１３】
〔参考文献１〕星野文学，外２名，「Pairingを用いたRevocable DDHとその応用 Revocable DDH by using Pairing and It’s Application」，SCIS 2005
〔参考文献２〕T.sato，F.Hoshino，S.Uchiyama，T.Kobayashi，「Canidate One-Way Functions on NonSupersingular Elliptic Curves」，Technical Report of IEICE.ISEC 2003-65(2003-09)
また、群Ｇ１，Ｇ２及びＧ３には、ペアリング関数ｅ：Ｇ１×Ｇ２→Ｇ３が定義されている。ペアリング関数ｅは、下記の（１）、（２）の性質を満たす。
【００１４】
（１）任意Ｐ∈Ｇ１，Ｑ∈Ｇ２，ａ，ｂ∈Ｚに対して、ｅ（ａＰ，ｂＱ）＝ｅ（ｂＰ，ａＱ）＝ｅ（Ｐ，Ｑ）ａｂ（双線形性）
（２）任意のＱ∈Ｇ２に対して、ｅ（Ｐ，Ｑ）＝１ならば、Ｐ＝１Ｇ１。逆に、任意のＰ∈Ｇ１に対して、ｅ（Ｐ，Ｑ）＝１ならば、Ｑ＝１Ｇ２。ただし、１Ｇ１，１Ｇ２はそれぞれ、群Ｇ１，Ｇ２の単位元（非退化）
群Ｇ１，Ｇ２及びＧ３、群Ｇ１の元ｇ１（例えば、群Ｇ１の生成元）、群Ｇ２の元ｇ２（例えば、群Ｇ２の生成元）、ペアリング関数ｅは、予め定められて公開されている。すなわち、ＴＡ装置１０、通信装置Ａ及び通信装置Ｂは、これらについての情報を取得しており、必要に応じて適宜これらの情報を用いて演算することができるとする。
【００１５】
＜ステップＳ１＞
信頼できる第三者機関装置であるＴＡ装置１０の公開鍵生成部１０１（図２）は、記憶部１０３から読み出した予め定められたマスター秘密鍵ｓと、予め定められた群Ｇ１の予め定められた元ｇ１とを用いて、Ｐ＝［ｓ］ｇ１により定義される公開鍵Ｐ∈Ｇ１を計算する（ステップＳ１）。マスター秘密鍵ｓは、０以上であり、群Ｇ１，Ｇ２，Ｇ３の位数よりも小さい整数である。
ここで、本発明において、［ｘ］ｙは、ｙが属する群において定義された演算をｘ回ｙについて行うことを意味する。また、ｚ＝ｆ（・）により定義されるｚを計算するとは、その定義式ｆ（・）により定義されるｚの値を求める際の計算方法は問わないことを意味する。すなわち、その計算方法は、定義式ｆ（・）で定義された演算方法に限定されず、例えば、定義式ｆ（・）で定義された演算方法よりも効率のよい演算方法がある場合には、その効率のよい演算方法を行ってもよい。
求まった公開鍵Ｐは、公開情報の一部として公開される。例えば、公開鍵Ｐは、送信部１０２に送られ、送信部１０２は公開鍵Ｐを、通信装置Ａと通信装置Ｂとに送る（ステップＳ１１）。公開鍵Ｐは、通信装置Ａの記憶部Ａ１、通信装置Ｂの記憶部Ｂ１にそれぞれ格納される。
【００１６】
＜ステップＳ２＞
通信装置Ａの送信部Ａ２（図３）は、自己のＩＤ情報ＩＤＡ∈Ｇ２を記憶部Ａ１から読み出して、ＴＡ装置１０に送る（ステップＳ２）。この例では、ＩＤ情報ＩＤＡは、群Ｇ２の元であるとする。ＩＤ情報ＩＤＡ∈群Ｇ２でない場合は、後述する第二実施例の処理を行えばよい。
ＴＡ装置１０の受信部１０５は、通信装置ＡのＩＤ情報ＩＤＡを受け取り、秘密情報生成部１０４に送る。
通信装置のＩＤ情報とは、その通信装置に固有な情報である。例えば、その通信装置を所有するユーザのメールアドレス等がこれに相当する。
【００１７】
＜ステップＳ３＞
ＴＡ装置の秘密情報生成部１０４（図２）は、マスター秘密鍵ｓと、通信装置ＡのＩＤ情報ＩＤＡ∈Ｇ２とを用いて、ＳＡ＝［ｓ］ＩＤＡにより定義される秘密情報ＳＡ∈Ｇ２を計算する（ステップＳ３）。計算された秘密情報ＳＡは、送信部１０２により、通信装置Ａに送られる（ステップＳ３１）。通信装置Ａの受信部Ａ３は、秘密情報ＳＡを受け取り、通信情報生成部Ａ５に送る。
【００１８】
＜ステップＳ４＞
通信装置Ａの通信情報生成部Ａ５（図３）は、秘密情報ＳＡと、乱数ｒＡと、予め定められた群Ｇ２の予め定められた元ｇ２とを用いて、ＷＡ＝ＳＡ＋［ｒＡ］ｇ２により定義される通信情報ＷＡ∈Ｇ２を計算する（ステップＳ４）。
乱数ｒＡは、０以上であり群Ｇ２の位数よりも小さい整数であり、乱数生成部Ａ４により生成され、通信情報生成部Ａ５に送られるものである。
計算された通信情報ＷＡ、及び、ＩＤ情報ＩＤＡは、送信部Ａ２により、通信装置Ｂに送られる（ステップＳ４１）。通信装置Ｂの受信部Ｂ３は、通信情報ＷＢ及びＩＤ情報ＩＤＡを受け取り、共有情報生成部Ｂ６に送る。
【００１９】
＜ステップＳ５＞
通信装置Ｂの送信部Ｂ２（図４）は、自己のＩＤ情報ＩＤＢ∈Ｇ２を記憶部Ｂ１から読み出して、ＴＡ装置１０に送る（ステップＳ５）。この例では、ＩＤ情報ＩＤＢは、群Ｇ２の元であるとする。ＩＤ情報ＩＤＢ∈群Ｇ２でない場合は、後述する第二実施例の処理を行えばよい。
ＴＡ装置１０の受信部１０５は、通信装置ＢのＩＤ情報ＩＤＢを受け取り、秘密情報生成部１０４に送る。
【００２０】
＜ステップＳ６＞
ＴＡ装置１０の秘密情報生成部１０４（図２）は、マスター秘密鍵ｓと、通信装置ＢのＩＤ情報ＩＤＢ∈Ｇ２とを用いて、ＳＢ＝［ｓ］ＩＤＢにより定義される秘密情報ＳＢ∈Ｇ２を計算する（ステップＳ６）。計算された秘密情報ＳＢは、送信部１０２により、通信装置Ｂに送られる（ステップＳ６１）。通信装置Ｂの受信部Ｂ３は、秘密情報ＳＢを受け取り、通信情報生成部Ｂ５に送る。
【００２１】
＜ステップＳ７＞
通信装置Ｂの通信情報生成部Ｂ５（図４）は、秘密情報ＳＢと、乱数ｒＢと、予め定められた群Ｇ２の予め定められた元ｇ２とを用いて、ＷＢ＝ＳＢ＋［ｒＢ］ｇ２により定義される通信情報ＷＢ∈Ｇ２を計算する（ステップＳ７）。
乱数ｒＢは、０以上であり群Ｇ２の位数よりも小さい整数であり、乱数生成部Ｂ４により生成され、通信情報生成部Ｂ５に送られるものである。
計算された通信情報ＷＢ、及び、ＩＤ情報ＩＤＢは、送信部Ｂ２により、通信装置Ｂに送られる（ステップＳ７１）。通信装置Ｂの受信部Ｂ３は、通信情報ＷＢ及びＩＤ情報ＩＤＢを受け取り、共有情報生成部Ｂ６に送る。
【００２２】
＜ステップＳ８＞
通信装置Ａの共有情報生成部Ａ６（図３）は、受信部Ａ３から受け取った通信情報ＷＢ及びＩＤ情報ＩＤＢと、群Ｇ１の元ｇ１と、記憶部Ａ１から読み出した公開鍵Ｐと、乱数生成部Ａ４が生成した乱数ｒＡとを用いて、ＫＡ＝（ｅ（ＷＢ，ｇ１）／ｅ（ＩＤＢ，Ｐ））ｒＡにより定義される共有情報ＫＡ∈Ｇ３を計算する（ステップＳ８）。
【００２３】
＜ステップＳ９＞
通信装置Ｂの共有情報生成部Ｂ６（図４）は、受信部Ｂ３から受け取った通信情報ＷＡ及びＩＤ情報ＩＤＡと、群Ｇ１の元ｇ１と、記憶部Ｂ１から読み出した公開鍵Ｐと、乱数生成部Ｂ４が生成した乱数ｒＢとを用いて、ＫＢ＝（ｅ（ＷＡ，ｇ１）／ｅ（ＩＤＡ，Ｐ））ｒＢにより定義される共有情報ＫＢ∈Ｇ３を計算する（ステップＳ９）。
ここで、ペアリング関数の双線形性により、
【数１】
2009171525.tif 000003
【００２４】
であるため、通信装置Ａが生成した共有情報ＫＡと、通信装置Ｂが生成した共有情報ＫＢとは一致する。
また、下記の理由から、ＴＡ装置１０が通信情報ＷＡとＷＢと知り得たとしても、ＴＡ装置１０は、共有情報ＫＡ，ＫＢを生成することはできない。
通信情報ＷＡはＷＡ＝ＳＡ＋［ｒＡ］ｇ２であるため、ＴＡ装置１０は通信情報ＷＡを取得することにより、ＷＡ−ＳＡを計算して、［ｒＡ］ｇ２を得ることができる。同様に、通信情報ＷＢはＷＢ＝ＳＢ＋［ｒＢ］ｇ２であるため、ＴＡ装置１０は通信情報ＷＢを取得することにより、ＷＢ−ＳＢを計算して、［ｒＢ］ｇ２を得ることができる。
【００２５】
ここで、群Ｇ１と群Ｇ２とを結ぶ写像ψ：Ｇ１→Ｇ２が、両方向に演算可能であり、群Ｇ１の任意の元に対応する群Ｇ２の元を演算することのみならず、群Ｇ２の任意の元に対応する群Ｇ１の元を演算することが可能であるとする。以下、写像ψの逆写像をψ−１：Ｇ２→Ｇ１とする。この場合、ＴＡ装置１０は、［ｒＡ］ｇ２∈Ｇ２に対応する群Ｇ１の元［ｒＡ］ｇ１（＝ψ−１（［ｒＡ］ｇ２））を計算することができるため、下記のペアリングの演算をすることにより、共有情報を得ることができる。
ｅ（［ｒＢ］ｇ２，ψ−１（［ｒＡ］ｇ２））
＝ｅ（［ｒＢ］ｇ２，［ｒＡ］ｇ１）
＝ｅ（ｇ２，ｇ１）ｒＡｒＢ
＝ＫＡ＝ＫＢ
しかし、本発明においては、群Ｇ１と群Ｇ２とを結ぶ写像ψ：Ｇ１→Ｇ２は、一方向同型写像であり、Ｇ１の任意の元に対応するＧ２の元を演算することはできるが、Ｇ２の任意の元に対応するＧ１の元を演算することはできない。このため、本発明においては、ＴＡ装置１０は、［ｒＡ］ｇ２∈Ｇ２に対応する群Ｇ１の元［ｒＡ］ｇ１（＝ψ−１（［ｒＡ］ｇ２））を計算することができないため、上記のペアリングの演算をすることにより、共有情報を得ることができないのである。
【００２６】
本発明において、通信情報ＷＡ，ＷＢを知ったＴＡ装置１０が、共有情報を得るためには、下記に述べるＲｅｖｏｃａｂｌｅ  ＤＤＨ  Ｇｒｏｕｐ上のＤＤＨ問題を解く必要がある。
Ｒｅｖｏｃａｂｌｅ  ＤＤＨ  Ｇｒｏｕｐ上のＤＤＨ問題（以下、ＤＤＨ問題と略する。）とは、１／２の確率でａｂ＝ｃ、１／２の確率でａｂ≠ｃであるランダムなｃを選択して、（ｇ２，［ａ］ｇ２，［ｂ］ｇ２，［ｃ］ｇ３）∈Ｇ２４を与えられたときに、ａｂ＝ｃが成立しているかどうかを１／２＋ε（εは０より大１／２以下の数）以上の確率で判定することである。ＤＤＨ問題を解くとは、ａｂ＝ｃが成立しているかどうかを１／２＋ε（εは０より大１／２以下の数）以上の確率で判定することである。ａが本発明のｒＡに、ｂが本発明のｒＢ、ｃが本発明のｒＡｒＢに対応している。
【００２７】
しかし、群Ｇ１と群Ｇ２とは一方向同型写像ψ：Ｇ１→Ｇ２により結ばれているという条件の下においては、上記のＤＤＨ問題を解くのが難しいことが知られている（〔参考文献１〕〔参考文献２〕参照。）。
以上のことより、本発明においては、ＴＡ装置１０は、通信情報ＷＡ，ＷＢを取得しても、共有情報を得ることができないのである。
このようにして、通信装置Ａと通信装置Ｂとは、ＴＡ装置１０に知られないようにして、共有情報Ｋ（＝ＫＡ＝ＫＢ）を共有することができる。例えば、通信装置Ａと通信装置Ｂは、共有情報Ｋ∈Ｇ３を共有鍵暗号方式における共有鍵として用いて、暗号通信を行う。
【００２８】
［第二実施例］
第二実施例においては、ＩＤ情報ＩＤＡとＩＤ情報ＩＤＢとが群Ｇ２の元ではない。ＩＤ情報ＩＤＡとＩＤ情報ＩＤＢは、任意のビット列である。このため、任意のビット列を入力とし群Ｇ２の元を出力するハッシュ関数をＨとして、ＩＤ情報ＩＤＡとＩＤ情報ＩＤＢの代わりに、Ｈ（ＩＤＡ）∈Ｇ２とＨ（ＩＤＢ）∈Ｇ２を用いる。この点で、第一実施例と異なる。他の点については、第一実施例と同様であるため、重複説明を省略する。以下では、第一実施例と異なる部分についてのみ説明する。
【００２９】
ＴＡ装置１０の秘密情報生成部１０４（図２）は、マスター秘密鍵ｓと、上記通信装置ＡのＩＤ情報ＩＤＡのハッシュ値Ｈ（ＩＤＡ）∈Ｇ２とを用いて、ＳＡ＝［ｓ］Ｈ（ＩＤＡ）により定義される秘密情報ＳＡ∈Ｇ２を計算する（ステップＳ３（図５））。
同様に、ＴＡ装置１０の秘密情報生成部１０４は、マスター秘密鍵ｓと、上記通信装置ＢのＩＤ情報ＩＤＢのハッシュ値Ｈ（ＩＤＢ）∈Ｇ２とから、ＳＢ＝［ｓ］Ｈ（ＩＤＢ）により定義される秘密情報ＳＢ∈Ｇ２とを計算する（ステップＳ６（図５））。
Ｈ（ＩＤＡ）の計算は、例えば、図２において波線で示すハッシュ値計算部１０６が行う。または、図３，４に示すように通信装置Ａ，Ｂに設けられたハッシュ値計算部Ａ９，Ｂ９が、Ｈ（ＩＤＡ），Ｈ（ＩＤＡ）の計算を行い、ＩＤＡ，ＩＤＢの代わりに、Ｈ（ＩＤＡ），Ｈ（ＩＤＡ）が通信装置Ａ，ＢからＴＡ装置１０に送られてもよい。
【００３０】
また、通信装置Ａの共有情報生成部Ａ６（図３）が、通信情報ＷＢと、群Ｇ１の元ｇ１と、ＩＤ情報ＩＤＢのハッシュ値Ｈ（ＩＤＢ）と、公開鍵Ｐと、乱数ｒＡとから、ＫＡ＝（ｅ（ＷＢ，ｇ１）／ｅ（Ｈ（ＩＤＢ），Ｐ））ｒＡにより定義される共有情報ＫＡ∈Ｇ３を計算する（ステップＳ８（図５））。
同様に、通信装置Ｂの共有情報生成部Ｂ６（図４）が、通信情報ＷＡと、群Ｇ１の元ｇ１と、ＩＤ情報ＩＤＡのハッシュ値Ｈ（ＩＤＡ）と、公開鍵Ｐと、乱数ｒＢとから、ＫＢ＝（ｅ（ＷＡ，ｇ１）／ｅ（Ｈ（ＩＤＡ），Ｐ））ｒＢにより定義される共有情報ＫＢ∈Ｇ３を計算する（ステップＳ９（図５））。
【００３１】
Ｈ（ＩＤＡ），Ｈ（ＩＤＢ）の計算は、例えば、図３，４に示すように通信装置Ａ，Ｂに設けられたハッシュ値計算部Ａ８，Ｂ８が行う。または、通信装置Ａ，Ｂに設けられたハッシュ値計算部Ａ９，Ｂ９が、Ｈ（ＩＤＡ），Ｈ（ＩＤＡ）の計算を行い、ＩＤＡ，ＩＤＢの代わりに、Ｈ（ＩＤＡ），Ｈ（ＩＤＡ）が通信装置Ａ，Ｂから通信装置Ｂ，Ａに送られてもよい。
この例においても、第一実施例と同様に、ＫＡ＝ＫＢとなり、ＴＡ装置１０が通信情報ＷＡとＷＢと知り得たとしても、ＴＡ装置１０は、共有情報ＫＡ，ＫＢを生成することはできない。
【００３２】
［変形例］
通信装置Ａに図３に一点鎖線で示すように変換部Ａ７を設けてもよい。変換部Ａ７は、共有情報生成部Ａ６が生成した共有情報ＫＡを、関数Ｆ（ＫＡ）に入力して、ビット列｛０，１｝＊を生成する。Ｆ（Ｋ）は、任意のビット列｛０，１｝＊を出力する共有情報Ｋ（＝ＫＡ＝ＫＢ）の関数とする。例えばＦ（Ｋ）は、１２８ビットのビット列を出力する関数である。Ｆ（Ｋ）を、ＩＤ情報ＩＤＡ，ＩＤＢ，通信情報ＷＡ，ＷＢ，及び，共有情報Ｋ（＝ＫＡ＝ＫＢ）の関数Ｆ（ＩＤＡ，ＩＤＢ，ＷＡ，ＷＢ，Ｋ）としてもよい。
【００３３】
同様に、通信装置Ｂにも、変換部Ｂ７を設けてもよい。変換部Ｂ７は変換部Ａ７と同様のものである。
このように、変換部Ａ７，Ｂ７を設けて、共有情報生成部Ａ６，Ｂ６が生成した共有情報を任意のビット列に変換してもよい。これにより、群Ｇ２の元以外の任意の情報を共有することができる。生成されたビット列は、例えば、共有鍵暗号方式における共有鍵として用いることができる。
ＴＡ装置１０、通信装置Ａ及び通信装置Ｂにおいては、各部間でデータが直接送られているが、図示していない記憶部を介して、間接的にデータが送られてもよい。
【００３４】
上述の構成をコンピュータによって実現する場合、ＴＡ装置１０、通信装置Ａ及び通信装置Ｂの各部はそれぞれプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各部の機能がコンピュータ上で実現される。
すなわち、ＣＰＵが各プログラムを逐次読み込んで実行することにより、ＴＡ装置１０の公開鍵生成部１０１、送信部１０２、秘密情報生成部１０４、受信部１０５及びハッシュ値計算部１０６、通信装置Ａの送信部Ａ２、受信部Ａ３、乱数生成部Ａ４、通信情報生成部Ａ５、共有情報生成部Ａ６、変換部Ａ７及びハッシュ値計算部Ａ８，Ａ９、並びに、通信装置Ｂの送信部Ｂ２、受信部Ｂ３、乱数生成部Ｂ４、通信情報生成部Ｂ５、共有情報生成部Ｂ６、変換部Ｂ７及びハッシュ値計算部Ｂ８，Ｂ９の機能がそれぞれ実現される。また、記憶部１０３、記憶部Ａ１、記憶部Ｂ１及び上記した図示していない記憶部等の記憶部は、メモリ、ハードディスク等記憶手段により実現される。
【００３５】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００３６】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
また、上述した実施形態とは別の実行形態として、コンピュータが可搬型記録媒体から直接このプログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を基底する性質を有するデータ等）を含むものとする。
【００３７】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。例えば、ステップＳ２からステップＳ４１までの処理と、ステップＳ５からステップＳ７１までの処理とを、並列に行うことが可能である。また、ステップＳ８とステップＳ９の処理を並列に行うことも可能である。
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【図面の簡単な説明】
【００３８】
【図１】ＩＤ情報に基づく情報共有システムの機能構成を例示する図。
【図２】ＴＡ装置の機能構成を例示する図。
【図３】通信装置Ａ（ＩＤ情報に基づく情報共有通信装置）の機能構成を例示する図。
【図４】通信装置Ｂの機能構成を例示する図。
【図５】ＩＤ情報に基づく情報共有方法の流れを例示するフローチャート。
【符号の説明】
【００３９】
１：ＩＤ情報に基づく情報共有システム
１０：ＴＡ装置、１０１：公開鍵生成部、１０２：送信部、１０３：記憶部、１０４：秘密情報生成部、１０５：受信部、１０６：ハッシュ値計算部
Ａ：通信装置（ＩＤ情報に基づく情報共有通信装置）、Ａ１：記憶部、Ａ２：送信部、Ａ３：受信部、Ａ４：乱数生成部、Ａ５：通信情報生成部、Ａ６：共有情報生成部、Ａ７：変換部、Ａ８：ハッシュ値計算部、Ａ９：ハッシュ値計算部
Ｂ：通信装置、Ｂ１：記憶部、Ｂ２：送信部、Ｂ３：受信部、Ｂ４：乱数生成部、Ｂ５：通信情報生成部、Ｂ６：共有情報生成部、Ｂ７：変換部、Ｂ８：ハッシュ値計算部、Ｂ９：ハッシュ値計算部
【図１】
2009171525.tif 000004
【図２】
2009171525.tif 000005
【図３】
2009171525.tif 000006
【図４】
2009171525.tif 000007
【図５】
2009171525.tif 000008