(57)【要約】 【課題】本発明は、認証者を含む公開鍵に基づく暗号化システムにおいて、送信者から受信者に対してデジタルメッセージを送信する方法を提供する。【解決手段】認証者は、１つのエンティティであっても良く、あるいは、階層型あるいは分散型のエンティティを構成しても良い。本発明は、受信者が認証者から最新の権限を有している場合にのみメッセージ受信者がメッセージ送信者からのメッセージを復号することができる、鍵状態の問い合わせ又はキーエスクローを伴わない、効率的なプロトコルによるメッセージの通信を可能にする。本発明は、多数（例えば数百万）のユーザを含むシステムでそのような通信を可能にする。【選択図】図１
2010161826.tif 000002
【特許請求の範囲】
【請求項１】
複数の認証装置を含む暗号化システム中でエンティティのための復号鍵を生成する方法で、複数の認証装置の中には、少なくとも１つのルート認証装置と、当該ルート認証装置とエンティティとの間の階層中にあるｎ個の下位レベル認証装置と、が含まれる方法であって、ｎ≧１であり、
ルート認証装置に知られるルート鍵生成シークレットを生成するステップと、
ルート鍵生成シークレットに基づいてルート鍵生成パラメータを生成するステップと、
ｎ個の下位レベル認証装置の各々に下位レベル鍵生成シークレットを生成するステップであって、各下位レベル鍵生成シークレットはその対応する下位レベル認証装置に知られている、というステップと、
ｎ個の下位レベル認証装置の各々に下位レベル鍵生成パラメータを生成するステップであって、各下位レベル鍵生成パラメータは少なくともその対応する下位レベル認証装置における前記下位レベル鍵生成シークレットを使用して生成される、というステップと、
エンティティのための復号鍵における有効期間を規定する復号鍵生成スケジュールを定めるステップと、
少なくともルート鍵生成シークレットと１または複数の下位レベル鍵生成シークレットとに関連付けられるようにエンティティのための復号鍵を生成するステップと、
前記復号鍵をエンティティに与えるステップと、
を備えたことを特徴とする方法。
【請求項２】
エンティティのための前記復号鍵は、有効期間を定めるパラメータに関連付けられていることを特徴とする請求項１に記載の方法。
【請求項３】
暗号化システム中の受信装置ｚのための復号鍵を生成する方法で、階層中において受信装置ｚはルート認証装置よりも（ｎ＋１）レベル下にあり、受信装置は、受信装置に関連付けられた同一性情報ＩＤｚ（ｎ＋１）と、ルート認証装置と受信装置との間の階層中にあるｎ個の下位レベル認証装置の各々に関連付けられた同一性情報ＩＤｚｉと、を含む受信装置ＩＤ−タプル（ＩＤｚ１，．．．，ＩＤｚ（ｎ＋１））に関連付けられている、という方法であって、
複数の要素から成る第１の循環群Γ１と、複数の要素から成る第２の循環群Γ２と、を生成するステップと、
第１の循環群Γ１の２つの要素から第２の循環群Γ２の１つの要素を生成することができるファンクション
【数１】
2010161826.tif 000102
を選択するステップと、
第１の循環群Γ１のルートジェネレータＰ０を選択するステップと、
ルート認証装置に関連付けられ且つルート認証装置に知られたランダムルート鍵生成シークレットｓ０を選択するステップと、
ルート鍵生成パラメータＱ０＝ｓ０Ｐ０を生成するステップと、
第１の二進数字列から第１の循環群Γ１の１つの要素を生成することができる第１のファンクションＨ１を選択するステップと、
第２の循環群Γ２の１つの要素から第２の二進数字列を生成することができる第２のファンクションＨ２を選択するステップと、
ｎ個の下位レベル認証装置の各々に、要素Ｐｚｉ＝Ｈ１（ＩＤ１，．．．，ＩＤｚｉ）（１≦ｉ≦ｎ）を生成するステップと、
ｎ個の下位レベル認証装置の各々に下位レベル鍵生成シークレットｓｚｉを選択するステップであって、各下位レベル鍵生成シークレットｓｚｉは、その対応する下位レベル認証装置に知られている、というステップと、
ｎ個の下位レベル認証装置の各々に下位レベルシークレット要素Ｓｚｉを生成するステップであって、Ｓｚｉ＝Ｓｚ（ｉ−１）＋ｓｚ（ｉ−１）Ｐｚｉ（１≦ｉ≦ｎ）であり、Ｓ０＝Ｑ０である、というステップと、
ｎ個の下位レベル認証装置の各々に下位レベル鍵生成パラメータＱｚｉ＝ｓｚｉＰ０（１≦ｉ≦ｎ）を生成するステップと、
受信装置に関連付けられた受信装置要素Ｐｚ（ｎ＋１）＝Ｈ１（ＩＤｚ１，．．．，ＩＤｚ（ｎ），Ｉｎｆ（ｎ＋１））を生成するステップであって、Ｐｚ（ｎ＋１）は第１の循環群Γ１の１つの要素であり、Ｉｎｆ（ｎ＋１）は二進数字列である、というステップと、
受信装置に関連付けられた受信装置復号鍵
【数２】
2010161826.tif 000103
を生成するステップと、
を備えたことを特徴とする方法。
【請求項４】
受信装置要素は、Ｐｚ（ｎ＋１）＝Ｈ１（ＩＤｚ１，．．．，ＩＤｚ（ｎ＋１），Ｉｎｆ（ｎ＋１））であり、
Ｉｎｆ（ｎ＋１）は、受信装置の同一性と、同一性に基づく復号鍵における有効期間と、を含んでいることを特徴とする請求項３に記載の方法。
【請求項５】
Ｉｎｆ（ｎ＋１）は、受信装置によって生成された受信装置公開鍵を更に含んでいることを特徴とする請求項３に記載の方法。
【請求項６】
第１の循環群Γ１および第２の循環群Γ２の両者は、同じプライムオーダーｑから成ることを特徴とする請求項３に記載の方法。
【請求項７】
第１の循環群Γ１は、超特異な楕円曲線上またはアーベル多様体上の複数の点から成る付加的な群であり、
第２の循環群Γ２は、有限領域の乗法群である
ことを特徴とする請求項３に記載の方法。
【請求項８】
前記ファンクション
【数３】
2010161826.tif 000104
は、バイリニアで、非縮退的で、効率的に演算できるペアリングであることを特徴とする請求項３に記載の方法。
【請求項９】
ｓ０は、循環群Ｚ／ｑＺの要素であり、
Ｑ０は、第１の循環群Γ１の要素であり、
各要素Ｐｚｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成シークレットｓｚｉは、循環群Ｚ／ｑＺの要素であり  各シークレット要素Ｓｚｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成パラメータＱｚｉは、第１の循環群Γ１の要素であり、
受信装置要素Ｐｚ（ｎ＋１）は、第１の循環群Γ１の要素であり、
受信装置復号鍵Ｓｚ（ｎ＋１）は、第１の循環群Γ１の要素である、
ことを特徴とする請求項３に記載の方法。
【請求項１０】
階層型の証明書に基づく暗号化システムにおいて、送信装置ｙと受信装置ｚとの間で通信されるデジタルメッセージＭを暗号化および復号する方法で、階層中において受信装置ｚはルート認証装置よりも（ｎ＋１）レベル下にあり、受信装置は、受信装置に関連付けられた同一性情報ＩＤｚ（ｎ＋１）と、ルート認証装置と受信装置との間の階層中にあるｎ個の下位レベル認証装置の各々に関連付けられた同一性情報ＩＤｚｉと、を含む受信装置ＩＤ−タプル（ＩＤｚ１，．．．，ＩＤｚ（ｎ＋１））に関連付けられている方法であって、
受信装置のための受信装置公開鍵／秘密鍵対を生成するステップであって、前記受信装置秘密鍵は受信装置に知られている、というステップと、
複数の要素から成る第１の循環群Γ１と、複数の要素から成る第２の循環群Γ２と、を生成するステップと、
第１の循環群Γ１の２つの要素から第２の循環群Γ２の１つの要素を形成することができるファンクション
【数４】
2010161826.tif 000105
を選択するステップと、
第１の循環群Γ１のルートジェネレータＰ０を選択するステップと、
ルート認証装置に関連付けられ且つルート認証装置に知られたランダムルート鍵生成シークレットｓ０を選択するステップと、
ルート鍵生成パラメータＱ０＝ｓ０Ｐ０を生成するステップと、
第１の二進数字列から第１の循環群Γ１の１つの要素を生成することができる第１のファンクションＨ１を選択するステップと、
第２の循環群Γ２の１つの要素から第２の二進数字列を生成することができる第２のファンクションＨ２を選択するステップと、
ｎ個の下位レベルＣＡの各々に、要素Ｐｚｉ＝Ｈ１（ＩＤ１，．．．，ＩＤｚｉ）（１≦ｉ≦ｎ）を生成するステップと、
ｎ個の下位レベル認証装置の各々に下位レベル鍵生成シークレットｓｚｉを選択するステップであって、各下位レベル鍵生成シークレットｓｚｉは、その対応する下位レベル認証装置に知られている、というステップと、
ｎ個の下位レベル認証装置の各々に下位レベルシークレット要素Ｓｚｉを生成するステップであって、Ｓｚｉ＝Ｓｚ（ｉ−１）＋ｓｚ（ｉ−１）Ｐｚｉ（１≦ｉ≦ｎ）であり、ＳＺ０＝Ｑ０である、というステップと、
ｎ個の下位レベル認証装置の各々に下位レベル鍵生成パラメータＱｚｉ＝ｓｚｉＰ０（１≦ｉ≦ｎ）を生成するステップと、
受信装置に関連付けられた受信装置要素Ｐｚ（ｎ＋１）＝Ｈ１（ＩＤｚ１，．．．，ＩＤｚ（ｎ），Ｉｎｆ（ｎ＋１））を生成するステップであって、Ｐｚ（ｎ＋１）は第１の循環群Γ１の１つの要素であり、Ｉｎｆ（ｎ＋１）は二進数字列である、というステップと、
受信装置に関連付けられた受信装置シークレット要素
【数５】
2010161826.tif 000106
を生成するステップであって、Ｉｎｆ（ｎ＋１）は受信装置シークレット要素における有効期間を含んでいる、というステップと、
少なくとも受信装置公開鍵とルート暗号化パラメータＱ０とＩｎｆ（ｎ＋１）とを使用して、デジタルメッセージをエンコードして暗号文を生成するステップと、
少なくとも受信装置秘密鍵と下位レベル鍵生成パラメータＱｚｉと受信装置シークレット要素Ｓｚ（ｎ＋１）とを使用することにより、前記暗号文ＣをデコードしデジタルメッセージＭを復元するステップと、
を備えたことを特徴とする方法。
【請求項１１】
第１の循環群Γ１および第２の循環群Γ２の両者は、同じプライムオーダーｑから成る、請求項１０に記載の方法。
【請求項１２】
第１の循環群Γ１は、超特異な楕円曲線上またはアーベル多様体上の複数の点から成る付加的な群であり、
第２の循環群Γ２は、有限領域の乗法群である
ことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記ファンクション
【数６】
2010161826.tif 000107
は、バイリニアで、非縮退的で、効率的に演算できるペアリングであることを特徴とする請求項１０に記載の方法。
【請求項１４】
ｓ０は、循環群Ｚ／ｑＺの要素であり、
Ｑ０は、第１の循環群Γ１の要素であり、
各要素Ｐｚｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成シークレットｓｚｉは、循環群Ｚ／ｑＺの要素であり  各シークレット要素Ｓｚｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成パラメータＱｚｉは、第１の循環群Γ１の要素であり、
受信装置要素Ｐｚ（ｎ＋１）は、第１の循環群Γ１の要素であり、
受信装置シークレット要素Ｓｚ（ｎ＋１）は、第１の循環群Γ１の要素である、
ことを特徴とする請求項１０に記載の方法。
【請求項１５】
メッセージＭをエンコードする前記ステップは、
ランダムパラメータｒを選択するステップと、
暗号文Ｃ＝［ｒＰ，Ｖ］を生成するステップであって、
【数７】
2010161826.tif 000108
であり、
【数８】
2010161826.tif 000109
であり、ｓＢＰが受信装置公開鍵であり、Ｐ’ＢがＨ１（Ｉｎｆ（ｎ＋１））であり、Ｐｊ＝Ｈ１（ｓｚ（ｊ−１）Ｐ，Ｉｎｆ（ｎ＋１））である、というステップと、
を更に含み、
暗号文Ｃをデコードする前記ステップは、
【数９】
2010161826.tif 000110
からデジタルメッセージＭを復元するステップを更に含む、
ことを特徴とする請求項１０に記載の方法。
【請求項１６】
第１の循環群Γ１および第２の循環群Γ２の両者は、同じプライムオーダーｑから成ることを特徴とする請求項１０に記載の方法。
【請求項１７】
第１の循環群Γ１は、超特異な楕円曲線上またはアーベル多様体上の複数の点から成る付加的な群であり、
第２の循環群Γ２は、有限領域の乗法群である
ことを特徴とする請求項１０に記載の方法。
【請求項１８】
前記ファンクション
【数１０】
2010161826.tif 000111
は、バイリニアで、非縮退的で、効率的に演算できるペアリングであることを特徴とする請求項１０に記載の方法。
【請求項１９】
ｓ０は、循環群Ｚ／ｑＺの要素であり、
Ｑ０は、第１の循環群Γ１の要素であり、
各要素Ｐｚｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成シークレットｓｚｉは、循環群Ｚ／ｑＺの要素であり  各シークレット要素Ｓｚｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成パラメータＱｚｉは、第１の循環群Γ１の要素であり、
受信装置要素Ｐｚ（ｎ＋１）は、第１の循環群Γ１の要素であり、
受信装置シークレット要素Ｓｚ（ｎ＋１）は、第１の循環群Γ１の要素であり、
ｒは、循環群Ｚ／ｑＺの要素であり、
ｇは、第２の循環群Γ２の要素である、
ことを特徴とする請求項１０に記載の方法。
【請求項２０】
２つの二進数字列から循環群Ｚ／ｑＺの整数を生成することができる第３のファンクションＨ３を選択するステップと、
他の二進数列から１つの二進数列を生成することができる第４のファンクションＨ４を選択するステップと、
を更に備え、
メッセージＭをエンコードする前記ステップは、
ランダムパラメータσ∈｛０，１｝ｎを選択するステップと、
ランダム鍵生成シークレットｒ＝Ｈ３（σ，Ｍ）を設定するステップと、
暗号文Ｃ＝［Ｕ０，Ｕ２，．．．．，Ｕｉ，Ｖ，Ｗ］を生成するステップであって、Ｕ０＝ｒｓＢＰであり、Ｕｉ＝ｒＰｚｉ（２≦ｉ≦ｎ＋１）であり、
【数１１】
2010161826.tif 000112
であり、
【数１２】
2010161826.tif 000113
であり、ｓＢＰが受信装置公開鍵であり、
【数１３】
2010161826.tif 000114
であり、Ｗ＝ＥＨ４（σ）（Ｍ）であり、Ｅが安全対称暗号化スキームであり、Ｈ４（σ）がＥと共に使用される鍵である、というステップと、
を更に含み、
暗号文Ｃをデコードする前記ステップは、
【数１４】
2010161826.tif 000115
を使用してランダム二進数列σを復元するステップと、
【数１５】
2010161826.tif 000116
を使用してメッセージＭを復元するステップと、
を更に含む、
ことを特徴とする請求項１０に記載の方法。
【請求項２１】
第１の循環群Γ１および第２の循環群Γ２の両者は、同じプライムオーダーｑから成ることを特徴とする請求項２０に記載の方法。
【請求項２２】
第１の循環群Γ１は、超特異な楕円曲線上またはアーベル多様体上の複数の点から成る付加的な群であり、
第２の循環群Γ２は、有限領域の乗法群である
ことを特徴とする請求項２０に記載の方法。
【請求項２３】
前記ファンクション
【数１６】
2010161826.tif 000117
は、バイリニアで、非縮退的で、効率的に演算できるペアリングであることを特徴とする請求項２０に記載の方法。
【請求項２４】
試験的なランダム整数ｒ’＝Ｈ３（σ，Ｍ）を演算し、
Ｕ０＝ｒ’Ｐ０およびＵｉ＝ｒ’Ｐｚｉ（２≦ｉ≦ｎ＋１）であることを確認する、
ことによって、暗号文Ｃが本物であることを確認するステップ
を更に含んでいる
ことを特徴とする請求項２０に記載の方法。
【請求項２５】
ｓ０は、循環群Ｚ／ｑＺの要素であり、
Ｑ０は、第２の循環群Γ２の要素であり、
各要素Ｐｚｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成シークレットｓｚｉは、循環群Ｚ／ｑＺの要素であり  各シークレット要素Ｓｚｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成パラメータＱｚｉは、第１の循環群Γ１の要素であり、
受信装置要素Ｐｚ（ｎ＋１）は、第１の循環群Γ１の要素であり、
受信装置シークレット要素Ｓｚ（ｎ＋１）は、第１の循環群Γ１の要素であり、
ｒは、循環群Ｚ／ｑＺの要素であり、
ｇは、第２の循環群Γ２の要素である、
ことを特徴とする請求項２０に記載の方法。
【請求項２６】
送信装置と、受信装置と、複数のｎ個の認証装置と、を含む公開鍵暗号化スキームで、送信装置と受信装置との間でデジタルメッセージを送信する方法で、ｎ≧１であり、受信装置は、認証装置からの承認を有している場合にだけ、デジタルメセージをデコードすることができる、という方法であって、
受信装置のための受信装置公開鍵／秘密鍵対を生成するステップであって、前記受信装置秘密鍵は受信装置の秘密である、というステップと、
認証装置の各々にシークレット鍵ｓｉ（１≦ｉ≦ｎ）を生成するステップであって、各シークレット鍵はその対応する認証装置に知られている、というステップと、
認証装置の各々に公開鍵を生成するステップであって、各公開鍵は少なくともその対応する認証装置におけるシークレット鍵を使用して生成される、というステップと、
当該認証装置のシークレット鍵を用いて二進数字列Ｍｉに署名することにより、認証装置の各々に署名を生成するステップと、
受信装置の公開鍵と、認証装置によって署名された二進数字列Ｍｉと、認証装置の公開鍵と、を少なくとも使用して、デジタルメッセージを暗号化して暗号文を形成するステップと、
受信装置の秘密鍵と、認証装置によって生成された署名と、を少なくとも使用して、暗号文を復号するステップと、
を備えたことを特徴とする方法。
【請求項２７】
少なくとも１つの二進数字列は、認証装置によって生成される署名の有効期間を決定するパラメータに関連付けられていることを特徴とする請求項２６に記載の方法。
【請求項２８】
少なくとも１つの二進数字列は、受信装置の同一性を含む情報から生成される
ことを特徴とする請求項２７に記載の方法。
【請求項２９】
少なくとも１つの二進数字列は、受信装置公開鍵を含む情報から生成される
ことを特徴とする請求項２７に記載の方法。
【請求項３０】
送信装置と、受信装置と、複数の認証装置と、を含む公開鍵暗号化スキームで、送信装置と受信装置との間でデジタルメッセージを送信する方法で、複数の認証装置は、少なくとも１つのルート認証装置と、当該ルート認証装置と受信装置との間の階層中にあるｎ個の下位レベル認証装置と、を含み、ｎ≧１であり、受信装置は、認証装置からの承認を有している場合にだけ、デジタルメッセージを復号することができるという方法であって、
受信装置のための受信装置公開鍵／秘密鍵対を生成するステップであって、前記受信装置秘密鍵は受信装置の秘密である、というステップと、
ルート認証装置および各下位レベル認証装置のためのシークレット鍵ｓｉを生成するステップであって、各シークレット鍵はその対応する認証装置に知られている、というステップと、
ルート認証装置および各下位レベル認証装置のための公開鍵を生成するステップであって、各公開鍵は少なくともその対応する認証装置におけるシークレット鍵を使用して生成される、というステップと、
それぞれが各下位レベル認証装置の公開鍵を含んでいる複数の文書を認証して署名を生成するステップであって、各下位レベル認証装置の公開鍵を含む前記文書は、階層中でその下位レベル認証装置よりも上位にいる認証装置によって認証される、というステップと、
受信装置公開鍵を含む文書を認証するステップであって、前記文書は、階層中で受信装置の直ぐ上位にいる認証装置によって認証される、というステップと、
受信装置の公開鍵と、認証装置の公開鍵と、文書と、を少なくとも使用して、デジタルメッセージを暗号化して暗号文を形成するステップと、
受信装置の秘密鍵と、認証装置によって生成された署名と、を少なくとも使用して、暗号文を復号するステップと、
を備えたことを特徴とする方法。
【請求項３１】
少なくとも１つの認証装置の公開鍵は、認証装置によって生成される署名の有効期間を決定するパラメータに関連付けられていることを特徴とする請求項３０に記載の方法。
【請求項３２】
少なくとも１つの二進数字列は、受信装置の同一性を含む情報から生成される
ことを特徴とする請求項３０に記載の方法。
【請求項３３】
少なくとも１つの二進数字列は、受信装置公開鍵を含む情報から生成される
ことを特徴とする請求項３０に記載の方法。
【請求項３４】
複数の要素から成る第１の循環群Γ１と、複数の要素から成る第２の循環群Γ２と、を生成するステップと、
第１の循環群Γ１の２つの要素から第２の循環群Γ２の１つの要素を生成することができるファンクション
【数１７】
2010161826.tif 000118
を選択するステップと、
第１の循環群Γ１のジェネレータＰを選択するステップと、
認証装置のシークレット鍵をｓｉとして割り当てるステップと、
認証装置の公開鍵をｓｉＰとして割り当てるステップと、
二進数字列から第１の循環群Γ１の１つの要素を生成することができる第１のファンクションＨ１を選択するステップと、
下位レベル認証装置の各々に要素ＰＭｉを生成するステップであって、１≦ｉ≦ｎ−１においてＰＭｉ＝Ｈ１（ｓｉＰ，Ｍｉ＋１）であり、Ｍｉ＋１は、階層中で当該認証装置の直ぐ下位にいる認証装置の公開鍵および同一性に関連付けられている、というステップと、
要素ＰＭｉに署名して、署名Ｓｉ＝ｓｉＰＭｉを生成するステップと、
を更に備えたことを特徴とする請求項３０に記載の方法。
【請求項３５】
第１の循環群Γ１および第２の循環群Γ２の両者は、同じプライムオーダーｑから成ることを特徴とする請求項３４に記載の方法。
【請求項３６】
第１の循環群Γ１は、超特異な楕円曲線上またはアーベル多様体上の複数の点から成る付加的な群であり、
第２の循環群Γ２は、有限領域の乗法群である
ことを特徴とする請求項３４に記載の方法。
【請求項３７】
前記ファンクション
【数１８】
2010161826.tif 000119
は、バイリニアで、非縮退的で、効率的に演算できるペアリングであることを特徴とする請求項３４に記載の方法。
【請求項３８】
各鍵生成シークレットｓｉは、循環群Ｚ／ｑＺの１つの要素であり、
各公開鍵Ｓｉは、第１の循環群Γ１の１つの要素であり、
各要素ＰＭｉは、第１の循環群Γ１の１つの要素であり、
受信装置秘密鍵ｓは、循環群Ｚ／ｑＺの１つの要素である、
ことを特徴とする請求項３４に記載の方法。
【請求項３９】
送信装置と、受信装置と、認証装置と、を含む公開鍵暗号化スキームで、送信装置と受信装置との間でデジタルメッセージを暗号化して復号する方法で、デジタルメッセージは送信装置によって暗号化されて受信装置により復号される方法であって、
（ａ）受信装置公開鍵／受信装置秘密鍵対を生成するステップであって、前記受信装置秘密鍵は受信装置の秘密である、というステップと、
（ｂ）認証装置に知られた鍵生成シークレットを選択するステップと、
（ｃ）時間ｉに対応付けられた受信装置復号鍵を生成するステップであって、時間ｉに対応付けられた前記受信装置復号鍵は、鍵生成シークレットに関連付けられ、ｉよりも遅い時間に対応付けられた受信装置復号鍵ではなくｉよりも早い時間に対応付けられた受信装置復号鍵は、時間ｉに対応付けられた前記受信装置復号鍵から生成することができる、というステップと、
（ｄ）前記受信装置公開鍵と、時間ｉに対応付けられた時間パラメータまたはそれよりも早い時間に対応付けられた時間パラメータと、受信装置暗号鍵と、を少なくとも使用して、デジタルメッセージを暗号化して暗号文を形成し、これにより、暗号化されたデジタルメッセージを形成する、というステップと、
（ｅ）前記受信装置秘密鍵と、時間ｉに対応付けられた前記受信装置復号鍵と、を少なくとも使用して、前記暗号文を復号するステップと、
を備えたことを特徴とする方法。
【請求項４０】
時間ｉに対応付けられた前記受信装置復号鍵は、受信装置を識別する情報に関連付けられていることを特徴とする請求項３９に記載の方法。
【請求項４１】
送信装置と、受信装置を含む複数のクライアントと、認証装置と、を含む公開鍵暗号化スキームで、送信装置と受信装置との間でデジタルメッセージを送信する方法であって、デジタルメッセージは送信装置によって暗号化されて受信装置により復号される方法であって、
（ａ）受信装置のための受信装置公開鍵／受信装置秘密鍵対を生成するステップであって、前記受信装置秘密鍵は受信装置の秘密である、というステップと、
（ｂ）受信装置をＢ−ツリーのリーフノードに関連付ける固有の二進数列を生成するステップと、
（ｃ）受信装置リーフノードの各先祖ノードに関連付けられた固有の二進数列を生成するステップと、
（ｄ）受信装置リーフノードおよび受信装置リーフノードにおける先祖ノードの各々のための暗号鍵を生成するステップであって、各ノードのための暗号鍵は、少なくともそのノードに関連付けられた二進数列に関連付けられている、というステップと、
（ｅ）認証装置に対して知られたマスターシークレットを生成するステップと、
（ｆ）受信装置リーフノードの１つの先祖ノードに関連付けられた受信装置復号鍵を生成するステップであって、前記先祖ノードは、認証装置によって認証されないクライアントに関連付けられたリーフノードの先祖ではなく、前記受信装置復号鍵は、少なくともそのノードに関連付けられた二進数列と前記マスターシークレットとに関連付けられ、受信装置リーフノードの先祖ノードに関連付けられた前記受信装置復号鍵は、受信装置リーフノードの先祖ノードに関連付けられた暗号鍵を用いて、秘密鍵／公開鍵対を形成する、というステップと、
（ｇ）前記受信装置公開鍵と、受信装置リーフノードおよび受信装置リーフノードの先祖ノードに関連付けられた暗号鍵と、を少なくとも使用して、デジタルメッセージを暗号化することにより、暗号化されたデジタルメッセージを生成するステップと、
（ｈ）前記受信装置秘密鍵と、受信装置リーフノードの先祖ノードに関連付けられた受信装置復号鍵と、を少なくとも使用して、暗号化されたデジタルメッセージを復号するステップと、
を備えたことを特徴とする方法。
【請求項４２】
受信装置リーフノードおよび当該受信装置リーフノードにおける先祖ノードの各々のための前記暗号鍵は、そのノードに関連付けられた復号鍵における有効期間を規定する有効期間パラメータに関連付けられていることを特徴とする請求項４１に記載の方法。
【請求項４３】
受信装置のための長寿命な証明書を生成するステップを更に備え、
前記証明書は、受信装置公開鍵と、受信装置をＢ−ツリーのリーフノードに対応付ける二進数列に関連付けられた受信装置連続番号と、有効期間パラメータと、を含んでいることを特徴とする請求項４２に記載の方法。
【請求項４４】
Ｂ−ツリーのノードは、楕円曲線上またはアーベル多様体上の複数の点に関連付けられていることを特徴とする請求項４１に記載の方法。
【請求項４５】
受信装置をＢ−ツリーのリーフノードに対応付ける前記二進数列は、
Ｂ−ツリーのルートノードに関連付けられた二進数列を選択するステップと、
ルートノードを除く受信装置リーフノードの各先祖ノードに関連付けられた二進数列を生成するステップであって、ルートノードを除く受信装置リーフノードの各先祖ノードに関連付けられた前記二進数列は、少なくともそのノードの親に関連付けられた二進数列を使用して生成される、というステップと、
受信装置リーフノードに関連付けられた二進数列を生成するステップであって、受信装置リーフノードに関連付けられた前記二進数列は、少なくともそのノードの親の二進数列を使用して生成される、というステップと、
を備えた方法によって生成される
ことを特徴とする請求項４１に記載の方法。
【請求項４６】
受信装置をＢ−ツリーのリーフノードに対応付ける前記二進数列は、
各受信装置リーフノードに関連付けられた二進数列を選択するステップと、
受信装置リーフノードの先祖ノードのための二進数列を生成するステップであって、受信装置リーフノードの各先祖ノードのための前記二進数列は、少なくともそのノードの子ノードに関連付けられた二進数列を使用して生成される、というステップと、
を備えた方法によって生成される
ことを特徴とする請求項４１に記載の方法。
【請求項４７】
前記Ｂ−ツリーは、マークルツリーである
ことを特徴とする請求項４６に記載の方法。
【請求項４８】
受信装置リーフノードにカバーを与えるノードのための復号鍵は、
（ａ）複数の要素から成る第１の循環群Γ１と、複数の要素から成る第２の循環群Γ２と、を生成するステップと、
（ｂ）第１の二進数字列から第１の循環群Γ１の１つの要素を生成することができる第１のファンクションＨ１を選択するステップと、
（ｃ）受信装置リーフノードにカバーを与えるノードのための識別文字列Ｐｎｏｄｅ＝Ｈ１（ＩｎｆＢ）を生成するステップであって、ＩｎｆＢはそのノードに対応付けられた二進数列に関連付けられている、というステップと、
（ｄ）各ノード毎にシークレット要素Ｓ＝ｓＣＰｎｏｄｅを生成するステップであって、シークレット要素Ｓは、受信装置リーフノードにカバーを与えるノードのための復号鍵である、というステップと、
を備えた方法によって生成される
ことを特徴とする請求項４１に記載の方法。
【請求項４９】
受信装置リーフノードにカバーを与えるノードのための復号鍵における識別文字列は、有効期間パラメータにも関連付けられていることを特徴とする請求項４８に記載の方法。
【請求項５０】
デジタルメッセージは、
（ａ）複数の要素から成る第１の循環群Γ１と、複数の要素から成る第２の循環群Γ２と、を生成するステップと、
（ｂ）第１の循環群Γ１の２つの要素から第２の循環群Γ２の１つの要素を生成することができるファンクション
【数１９】
2010161826.tif 000120
を選択するステップと、
（ｃ）第１の循環群Γ１のジェネレータＰを選択するステップと、
（ｄ）鍵生成パラメータＱ＝ｓＣＰを生成するステップと、
（ｅ）第１の二進数字列から第１の循環群Γ１の１つの要素を生成することができる第１のファンクションＨ１を選択するステップと、
（ｆ）第２の循環群Γ２の１つの要素から第２の二進数字列を生成することができる第２のファンクションＨ２を選択するステップと、
（ｈ）Ｂ−ツリーの受信装置リーフノードからルートノードへの経路を規定するｍ個のノードの各々のための識別文字列Ｐｎｏｄｅ＝Ｈ１（ＩｎｆＢ）を生成するステップであって、ＩｎｆＢはそのノードに対応付けられた二進数列に関連付けられている、というステップと、
ランダム鍵生成シークレットｒを選択するステップと、
デジタルメッセージを暗号化して、Ｃ＝［ｒＰ，Ｖ１，．．．，Ｖｍ］となるように設定される暗号文Ｃを形成するステップであって、
【数２０】
2010161826.tif 000121
、
【数２１】
2010161826.tif 000122
であり、Ｐｎｏｄｅｉはノードｉ（ｉ＝１，．．．．，ｍ）に関連付けられた識別文字列である、というステップと、
受信装置公開鍵ＰＫＢを用いて暗号文の一部を暗号化するステップと、
を備えた方法によって暗号化される
ことを特徴とする請求項４１に記載の方法。
【請求項５１】
ＩｎｆＢは、有効期間パラメータにも関連付けられている
ことを特徴とする請求項５０に記載の方法。
【請求項５２】
第１の循環群Γ１および第２の循環群Γ２の両者は、同じプライムオーダーｑから成ることを特徴とする請求項５０に記載の方法。
【請求項５３】
第１の循環群Γ１は、超特異な楕円曲線上またはアーベル多様体上の複数の点から成る付加的な群であり、
第２の循環群Γ２は、有限領域の乗法群であることを特徴とする請求項５０に記載の方法。
【請求項５４】
前記ファンクション
【数２２】
2010161826.tif 000123
は、バイリニアで、非縮退的で、効率的に演算できるペアリングであることを特徴とする請求項５０に記載の方法。
【請求項５５】
ｓＣは、循環群Ｚ／ｑＺの１つの要素であり、
Ｑは、第１の循環群Γ１の１つの要素であり、
識別文字列Ｐｎｏｄｅは、第１の循環群Γ１の１つの要素であり、
シークレット要素Ｓは、第１の循環群Γ１の１つの要素である、
ことを特徴とする請求項５１に記載の方法。
【請求項５６】
送信装置と、受信装置を含む複数のクライアントと、認証装置と、を含む公開鍵暗号化スキームで、送信装置と受信装置との間でデジタルメッセージを送信する方法で、デジタルメッセージが送信装置によって暗号化されて受信装置により復号される方法であって、
（ａ）受信装置のための受信装置公開鍵／受信装置秘密鍵対を生成するステップであって、前記受信装置秘密鍵は受信装置の秘密である、というステップと、
（ｂ）Ｂ−ツリーのルートノードに関連付けられた二進数列を生成するステップであって、この二進数列は、受信装置リーフノードにカバーを与えるノードのための復号鍵における有効期間を規定する有効期間パラメータに関連付けられている、というステップと、
（ｃ）受信装置をＢ−ツリーのリーフノードに関連付ける固有の二進数列を生成するステップと、
（ｃ）ルートノードを除く受信装置リーフノードの各先祖ノードに関連付けられた固有の二進数列を生成するステップであって、この二進数列は、Ｂ−ツリーにおけるその対応するノードの位置に関連付けられる、というステップと、
（ｄ）受信装置リーフノードおよび受信装置リーフノードにおける先祖ノードの各々のための暗号鍵を生成するステップであって、各ノードのための暗号鍵は、少なくともそのノードに関連付けられた二進数列に関連付けられている、というステップと、
（ｅ）認証装置に対して知られた第１のマスターシークレットおよび第２のマスターシークレットを生成するステップと、
（ｆ）受信装置リーフノードにカバーを与えるノードのための復号鍵を生成するステップであって、受信装置リーフノードにカバーを与える前記ノードは、メッセージを復号することを認証されない受信装置のリーフノードの先祖ノードではなく、この復号鍵は、第１のマスターシークレットと、第２のマスターシークレットｘと、受信装置リーフノードにカバーを与えるノードおよび受信装置リーフノードにカバーを与えるノードの先祖ノードに関連付けられた二進数列と、に関連付けられており、復号鍵は、受信装置リーフノードにカバーを与えるノードに関連付けられた暗号鍵を用いて、秘密鍵／公開鍵対を形成する、というステップと、
（ｇ）前記受信装置公開鍵と、受信装置リーフノードおよび受信装置リーフノードの先祖ノードに関連付けられた暗号鍵と、を少なくとも使用して、デジタルメッセージを暗号化することにより、暗号化されたデジタルメッセージを生成するステップと、
（ｈ）前記受信装置秘密鍵と、受信装置リーフノードにカバーを与えるノードに関連付けられた復号鍵と、を少なくとも使用して、暗号化されたデジタルメッセージを復号するステップと、
を備えたことを特徴とする方法。
【請求項５７】
受信装置のための長寿命な証明書を生成するステップを更に備え、
前記証明書は、受信装置公開鍵と、受信装置をＢ−ツリーのリーフノードに対応付ける二進数列に関連付けられた受信装置連続番号と、有効期間パラメータと、を含んでいることを特徴とする請求項５６に記載の方法。
【請求項５８】
前記Ｂ−ツリーは、マークルツリーである
ことを特徴とする請求項５６に記載の方法。
【請求項５９】
受信装置をＢ−ツリーのリーフノードに対応付ける前記二進数列は、
Ｂ−ツリーのルートノードの子に関連付けられた二進数列を選択するステップと、
ルートノードの子およびルートノードを除く受信装置リーフノードの各先祖ノードに関連付けられた二進数列を生成するステップであって、ルートノードの子およびルートノードを除く受信装置リーフノードの各先祖ノードに関連付けられた前記二進数列は、少なくともそのノードの親に関連付けられた二進数列を使用して生成される、というステップと、
受信装置リーフノードに関連付けられた二進数列を生成するステップであって、受信装置リーフノードに関連付けられた前記二進数列は、少なくともそのノードの親の二進数列を使用して生成される、というステップと、
を備えた方法によって生成される
ことを特徴とする請求項５６に記載の方法。
【請求項６０】
受信装置をＢ−ツリーのリーフノードに対応付ける前記二進数列は、
各受信装置リーフノードに関連付けられた二進数列を選択するステップと、
ルートノードを除き、受信装置リーフノードの先祖ノードのための二進数列を生成するステップであって、受信装置リーフノードの各先祖ノードのための前記二進数列は、ルートノードを除き、少なくともそのノードの子ノードに関連付けられた二進数列を使用して生成される、というステップと、
を備えた方法によって生成される
ことを特徴とする請求項５６に記載の方法。
【請求項６１】
Ｂ−ツリーのノードは、楕円曲線上またはアーベル多様体上の複数の点に関連付けられていることを特徴とする請求項５６に記載の方法。
【請求項６２】
受信装置リーフノードにカバーを与えるノードのための復号鍵は、
（ａ）複数の要素から成る第１の循環群Γ１と、複数の要素から成る第２の循環群Γ２と、を生成するステップと、
（ｂ）第１の二進数字列から第１の循環群Γ１の１つの要素を生成することができる第１のファンクションＨ１を選択するステップと、
（ｃ）Ｂ−ツリーのルートノードのための識別文字列Ｐｍｏｄｅ＝Ｈ１（ＩｎｆＲ）を生成するステップであって、ＩｎｆＲは有効期間パラメータに関連付けられている、というステップと、
（ｄ）ルートノードのためのシークレット要素ＳＲ＝ｓＣＰｍｏｄｅを生成するステップであって、シークレット要素Ｓは、ルートノードにおける同一性に基づくシークレット鍵である、というステップと、
（ｅ）ルートノードを除く、受信装置リーフノードにカバーを与えるノードおよび受信装置リーフノードにカバーを与えるノードの各先祖ノードに関連付けられた二進数列Ｐｂ１．．．Ｐｂ１…ｂｉを生成するステップであって、受信装置リーフノードにカバーを与えるノードおよび受信装置リーフノードにカバーを与えるノードの各先祖ノードに関連付けられた前記二進数列は、形式Ｐｎｏｄｅ＝Ｈ１（ＩｎｆＢ）から成り、ＩｎｆＢはＢ−ツリーにおけるそのノードの位置に関連付けられている、というステップと、
（ｆ）受信装置リーフにカバーを与えるノードのためのシークレット要素Ｓ＝ＳＲ＋ｘ（Ｐｂ１＋．．．＋Ｐｂ１…ｂｉ），ｘＰを生成するステップであって、シークレット要素Ｓは、受信装置リーフノードにカバーを与えるノードのための復号鍵である、というステップと、
を備えた方法によって生成される
ことを特徴とする請求項６１に記載の方法。
【請求項６３】
デジタルメッセージは、
（ａ）複数の要素から成る第１の循環群Γ１と、複数の要素から成る第２の循環群Γ２と、を生成するステップと、
（ｂ）第１の循環群Γ１の２つの要素から第２の循環群Γ２の１つの要素を生成することができるファンクション
【数２３】
2010161826.tif 000124
を選択するステップと、
（ｃ）第１の循環群Γ１のジェネレータＰを選択するステップと、
（ｄ）鍵生成パラメータＱ＝ｓＣＰを生成するステップと、
（ｅ）第１の二進数字列から第１の循環群Γ１の１つの要素を生成することができる第１のファンクションＨ１を選択するステップと、
（ｆ）第２の循環群Γ２の１つの要素から第２の二進数字列を生成することができる第２のファンクションＨ２を選択するステップと、
（ｇ）Ｂ−ツリーのルートノードのための識別文字列Ｐｍｏｄｅ＝Ｈ１（ＩｎｆＲ）を生成するステップであって、ＩｎｆＲは有効期間パラメータに関連付けられている、というステップと、
（ｈ）ルートノードを除く、受信装置リーフノードおよび受信装置リーフノードの各先祖ノードに関連付けられた二進数列Ｐｂ１．．．Ｐｂ１…ｂｉを生成するステップであって、受信装置リーフノードおよび受信装置リーフノードの各先祖ノードに関連付けられた前記二進数列は形式Ｐｎｏｄｅ＝Ｈ１（ＩｎｆＢ）から成り、ＩｎｆＢはＢ−ツリーにおけるそのノードの位置に関連付けられている、というステップと、
（ｉ）ランダム鍵生成シークレットｒを選択するステップと、
（ｊ）デジタルメッセージを暗号化して、Ｃ＝［ｒＰ，ｒＰｂ１，．．．，ｒ（Ｐｂ１＋．．．＋Ｐｂ１…ｂｍ），Ｖ］となるように設定される暗号文Ｃを形成するステップであって、
【数２４】
2010161826.tif 000125
、
【数２５】
2010161826.tif 000126
であるステップと、
（ｋ）受信装置公開鍵ＰＫＢを用いて暗号文の一部を暗号化するステップと、
を備えた方法によって暗号化され、これにより、暗号化されたデジタルメッセージが形成されることを特徴とする請求項５６に記載の方法。
【請求項６４】
第１の循環群Γ１および第２の循環群Γ２の両者は、同じプライムオーダーｑから成ることを特徴とする請求項６３に記載の方法。
【請求項６５】
第１の循環群Γ１は、超特異な楕円曲線上またはアーベル多様体上の複数の点から成る付加的な群であり、
第２の循環群Γ２は、有限領域の乗法群である
ことを特徴とする請求項６３に記載の方法。
【請求項６６】
前記ファンクション
【数２６】
2010161826.tif 000127
は、バイリニアで、非縮退的で、効率的に演算できるペアリングであることを特徴とする請求項６３に記載の方法。
【請求項６７】
ｓＣおよびｘは、循環群Ｚ／ｑＺの要素であり、
Ｑは、第１の循環群Γ１の１つの要素であり、
識別文字列ＰｎｏｄｅおよびＰｍｏｄｅは、第１の循環群Γ１の要素であり、
シークレット要素Ｓは、第１の循環群Γ１の１つの要素である、
ことを特徴とする請求項６３に記載の方法。
【請求項６８】
受信装置リーフノードにカバーを与えるノードのための復号鍵が更新されることにより、更新された復号鍵が生成され、
（ａ）更新された復号鍵における有効期間を選択するステップと、
（ｂ）第２のマスターシークレットｘにおける新たな値を選択するステップと、
（ｃ）更新された復号鍵を生成するステップであって、更新された復号鍵は、受信装置リーフノードの先祖ノードに関連付けられ、この先祖ノードは、更新された復号鍵における有効期間中に認証装置によって認証されないクライアントに関連付けられたリーフノードの先祖ではない、というステップと、
を備え、
更新された復号鍵は、第１のマスターシークレットｓＣと、第２のマスターシークレットｘと、第２のマスターシークレットｘにおける新たな値と、受信装置リーフノードの先祖ノードおよび受信装置リーフノードの先祖ノードの先祖ノードに対応付けられた二進数列と、に関連付けられ、復号鍵は、受信装置リーフノードの先祖ノードに関連付けられた暗号鍵と共に、秘密鍵／公開鍵対を形成することを特徴とする請求項６２に記載の方法。
【請求項６９】
更新された復号鍵は、
ｓＣ（ＰＴ１＋ＰＴ２）＋ｘ１Ｐｂ１＋．．．＋ｘｍＰ（ｂ１…ｂｍ）の形式から成り、
ｓＣは、第１のマスターシークレットであり、
ＰＴ１は、復号鍵の有効期間中にルートノードに関連付けられる二進数列であり、
ＰＴ２は、更新された復号鍵の有効期間中にルートノードに関連付けられる二進数列であり、
ｘ１．．．ｘｍは、第２のマスターシークレットおよび第２のマスターシークレットにおける新たな値に関連付けられ、
Ｐｂ１．．．Ｐ（ｂ１…ｂｍ）は、更新された復号鍵における有効期間中に受信装置リーフノードにカバーを与えるノードおよびルートノードを除く当該ノードの先祖ノードに関連付けられる二進数列であることを特徴とする請求項６８に記載の方法。
【請求項７０】
送信装置と、受信装置と、複数の認証装置と、を含む公開鍵暗号化スキームで、送信装置と受信装置との間でデジタルメッセージを送信する方法で、複数の認証装置は、少なくとも１つのルート認証装置と、当該ルート認証装置と受信装置との間の階層中にあるｎ個の下位レベル認証装置と、を含んでいる方法であって、ｎ≧１であり、
（ａ）受信装置のために受信装置公開鍵／秘密鍵対を生成するステップであって、前記受信装置秘密鍵は受信装置の秘密である、というステップと、
（ｂ）受信装置の先祖の少なくとも１つの同一性情報を使用して、受信装置暗号鍵を生成するステップと、
（ｃ）ルート認証装置の秘密であるルート鍵生成シークレットを選択するステップと、
（ｄ）ルート鍵生成シークレットに基づいてルート鍵生成パラメータを生成するステップと、
（ｅ）受信装置暗号鍵と、ルート鍵生成シークレットと、対応するルート鍵生成パラメータと、に関連付けられるように受信装置復号鍵を生成するステップと、
（ｆ）受信装置公開鍵と受信装置暗号鍵とを使用してデジタルメッセージを暗号化して、暗号化されたデジタルメッセージを形成するステップであって、受信装置復号鍵から形成される鍵および受信装置暗号鍵から形成される鍵が公開鍵／秘密鍵対である、というステップと  （ｈ）少なくとも受信装置秘密鍵と受信装置復号鍵とを使用することにより、暗号化されたデジタルメッセージを復号して、デジタルメッセージを復元するステップと、
を備え、
複数の認証装置の中には、ルート認証装置と送信装置との間の階層中にある少なくともｍ個の下位レベル認証装置が含まれ、ｍ≧１であり、階層中のｍ個の認証装置のうちのｌ個は、送信装置および受信装置の両方に共通の先祖であり、認証装置は、送信装置と受信装置との間にある最下位の共通の先祖認証装置であり、ｌ≧１であり、
ルート認証装置と送信装置との間の階層中にあるｍ個の下位レベル認証装置の各々に下位レベル鍵生成シークレットを選択するステップと、
少なくともルート鍵生成シークレットと、ルート認証装置と送信装置との間の階層中にあるｍ個の下位レベル認証装置に対応付けられたｍ個の下位レベル鍵生成シークレットのうちの１または複数と、に関連付けられるように、送信装置復号鍵を生成するステップと、
を備え、
メッセージは、少なくとも、前記送信装置復号鍵と、ルート認証装置と送信装置との間にあり且つ最下位の共通の先祖認証装置のレベルまたはそれよりも下のレベルにある（ｍ−ｌ＋１）個の認証装置に関連付けられる１または複数の下位レベル鍵生成パラメータと、を使用するが、最下位の共通の先祖認証装置よりも上の（ｌ−１）個の認証装置に関連付けられる下位レベル鍵生成パラメータを全く使用しないで、暗号化され、
暗号文は、少なくとも、前記受信装置復号鍵と、ルート認証装置と送信装置との間にあり且つ最下位の共通の先祖認証装置のレベルまたはそれよりも下のレベルにある（ｎ−ｌ＋１）個の認証装置に関連付けられる１または複数の下位レベル鍵生成パラメータと、を使用するが、最下位の共通の先祖認証装置よりも上の（ｌ−１）個の認証装置に関連付けられる下位レベル鍵生成パラメータを全く使用しないで、復号され、
複数の認証装置の中には、ルート認証装置と送信装置ｙとの間の階層中にある少なくともｍ個の下位レベル認証装置が更に含まれ、ｍ≧１であり、階層中の複数の認証装置のうちのｌ個は、送信装置ｙおよび受信装置ｚの両方に共通の階層的先祖であり、ｌ≧１であり、受信装置ｙは、送信装置ｙに関連付けられた同一性情報ＩＤｙ（ｍ＋１）と、ルート認証装置と送信装置ｙとの間の階層中にあるＫ個の下位レベル認証装置の各々に関連付けられた同一性情報ＩＤｙｉと、を含む受信装置ＩＤ−タプル（ＩＤｙ１，．．．，ＩＤｙ（ｍ＋１））に関連付けられ、
ｍ個の各下位レベル認証装置の各々に要素Ｐｙｉを生成するステップであって、Ｐｙｉ＝Ｈ１（ＩＤｙ１，．．．，ＩＤｙｉ）（１≦ｉ≦ｍ）であり、全てのｉ≦ｌにおいてＰｙｉ＝Ｐｚｉである、というステップと、
ｍ個の下位レベル認証装置の各々に下位レベル鍵生成シークレットｓｙｉを選択するステップであって、全てのｉ≦ｌにおいてｓｙｉ＝ｓｚｉである、というステップと、
ｍ個の下位レベル認証装置の各々に下位レベルシークレット要素Ｓｙｉを生成するステップであって、Ｓｙｉ＝Ｓｙ（ｉ−１）＋ｓｙ（ｉ−１）Ｐｙｉ（１≦ｉ≦ｍ）であり、全てのｉ≦ｌにおいてＳｙｉ＝Ｓｚｉである、というステップと、
ｍ個の下位レベルＣＡの各々に下位レベル鍵生成パラメータＱｙｉを生成するステップであって、Ｑｙｉ＝ｓｙｉＰ０（１≦ｉ≦ｍ）であり、全てのｉ≦ｌにおいてＱｙｉ＝Ｑｚｉである、というステップと、
送信装置ｙに関連付けられた送信装置要素Ｐｙ（ｍ＋１）＝Ｈ１（ＩＤｙ１，．．．，ＩＤｙ（ｍ＋１），Ｉｎｆｓ（ｍ＋１））を生成するステップと、
送信装置に関連付けられた送信装置シークレット要素
【数２７】
2010161826.tif 000128
を生成するステップであって、Ｉｎｆｓ（ｍ＋１）は受信装置シークレット要素における有効期間を含んでいる、というステップと、
ｉ＜ｌの下位レベル鍵生成パラメータＱｙｉを使用することなく、Ｉｎｆ（ｎ＋１）を含む情報とｉ≧ｌの下位レベル鍵生成パラメータＱｙｉと送信装置シークレット要素Ｓｙ（ｍ＋１）とを少なくとも使用することにより、メッセージＭをエンコードして暗号文Ｃを生成するステップと、
ｉ＜ｌの下位レベル鍵生成パラメータＱｚｉを使用することなく、受信装置秘密鍵とｉ≧ｌの下位レベル鍵生成パラメータＱｚｉと受信装置シークレット要素Ｓｚ（ｎ＋１）とを少なくとも使用することにより、前記暗号文ＣをデコードしてメッセージＭを復元するステップと、
を更に含んでいることを特徴とする方法。
【請求項７１】
第１の循環群Γ１および第２の循環群Γ２の両者は、同じプライムオーダーｑから成ることを特徴とする請求項７０に記載の方法。
【請求項７２】
第１の循環群Γ１は、超特異な楕円曲線上またはアーベル多様体上の複数の点から成る付加的な群であり、
第２の循環群Γ２は、有限領域の乗法群である
ことを特徴とする請求項７０に記載の方法。
【請求項７３】
前記ファンクション
【数２８】
2010161826.tif 000129
は、バイリニアで、非縮退的で、効率的に演算できるペアリングであることを特徴とする請求項７０に記載の方法。
【請求項７４】
ｓ０は、循環群Ｚ／ｑＺの要素であり、
Ｑ０は、第１の循環群Γ１の要素であり、
各要素Ｐｚｉは、第１の循環群Γ１の要素であり、
各要素Ｐｙｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成シークレットｓｚｉは、循環群Ｚ／ｑＺの要素であり、
各下位レベル鍵生成シークレットｓｙｉは、循環群Ｚ／ｑＺの要素であり、
各シークレット要素Ｓｚｉは、第１の循環群Γ１の要素であり、
各シークレット要素Ｓｙｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成パラメータＱｚｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成パラメータＱｙｉは、第１の循環群Γ１の要素であり、
受信装置要素Ｐｚ（ｎ＋１）は、第１の循環群Γ１の要素であり、
送信装置要素Ｐｙ（ｍ＋１）は、第１の循環群Γ１の要素であり、
受信装置シークレット要素Ｓｚ（ｎ＋１）は、第１の循環群Γ１の要素であり、
送信装置シークレット要素Ｓｙ（ｍ＋１）は、第１の循環群Γ１の要素であり、
ｒは、循環群Ｚ／ｑＺの要素であり、
ｇは、第２の循環群Γ２の要素である、
ことを特徴とする請求項７０に記載の方法。
【請求項７５】
メッセージＭをエンコードする前記ステップは、
ランダムパラメータｒを選択するステップと、
メッセージＭをエンコードして暗号文Ｃ＝［Ｕ０，Ｕｌ＋１，．．．．，Ｕｎ＋１，Ｖ］を生成するステップであって、Ｕ０＝ｒｓＢＰ０であり、Ｕｉ＝ｒＰｚｉ（２≦ｉ≦ｎ＋１）であり、
【数２９】
2010161826.tif 000130
であり、
【数３０】
2010161826.tif 000131
であり、ｓＢＰが受信装置公開鍵であり、
【数３１】
2010161826.tif 000132
である、というステップと、
を更に含み、
暗号文Ｃをデコードする前記ステップは、
【数３２】
2010161826.tif 000133
を使用してメッセージＭを復元するステップを更に含む、
ことを特徴とする請求項７０に記載の方法。
【請求項７６】
第１の循環群Γ１および第２の循環群Γ２の両者が同じプライムオーダーｑから成ることを特徴とする請求項７５に記載の方法。
【請求項７７】
第１の循環群Γ１は、超特異な楕円曲線上またはアーベル多様体上の複数の点から成る付加的な群であり、
第２の循環群Γ２は、有限領域の乗法群であることを特徴とする請求項７５に記載の方法。
【請求項７８】
前記ファンクション
【数３３】
2010161826.tif 000134
は、バイリニアで、非縮退的で、効率的に演算できるペアリングであることを特徴とする請求項７５に記載の方法。
【請求項７９】
ｓ０は、循環群Ｚ／ｑＺの要素であり、
Ｑ０は、第１の循環群Γ１の要素であり、
各要素Ｐｚｉは、第１の循環群Γ１の要素であり、
各要素Ｐｙｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成シークレットｓｚｉは、循環群Ｚ／ｑＺの要素であり  各下位レベル鍵生成シークレットｓｙｉは、循環群Ｚ／ｑＺの要素であり  各シークレット要素Ｓｚｉは、第１の循環群Γ１の要素であり、
各シークレット要素Ｓｙｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成パラメータＱｚｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成パラメータＱｙｉは、第１の循環群Γ１の要素であり、
受信装置要素Ｐｚ（ｎ＋１）は、第１の循環群Γ１の要素であり、
送信装置要素Ｐｙ（ｍ＋１）は、第１の循環群Γ１の要素であり、
受信装置シークレット要素Ｓｚ（ｎ＋１）は、第１の循環群Γ１の要素であり、
送信装置シークレット要素Ｓｙ（ｍ＋１）は、第１の循環群Γ１の要素であり、
ｒは、循環群Ｚ／ｑＺの要素であり、
ｇｙｌは、第２の循環群Γ２の要素である、
ことを特徴とする請求項７５に記載の方法。
【請求項８０】
２つの二進数字列から循環群Ｚ／ｑＺの整数を生成することができる第３のファンクションＨ３を選択するステップと、
他の二進数列から１つの二進数列を生成することができる第４のファンクションＨ４を選択するステップと、
を更に備え、
メッセージＭをエンコードする前記ステップは、
ランダム二進数列σ∈｛０，１｝ｎを選択するステップと、
ランダム整数ｒ＝Ｈ３（σ，Ｍ）を計算するステップと、
暗号文Ｃ＝［Ｕ０，Ｕｌ＋１，．．．．，Ｕｎ＋１，Ｖ，Ｗ］を生成するステップであって、Ｕ０＝ｒｓＢＰであり、Ｕｉ＝ｒＰｚｉ（２≦ｉ≦ｎ＋１）であり、
【数３４】
2010161826.tif 000135
であり、
【数３５】
2010161826.tif 000136
であり、ｓＢＰが受信装置公開鍵であり、Ｗ＝ＥＨ４（σ）（Ｍ）であり、Ｅが安全対称暗号化スキームであり、Ｈ４（σ）がＥと共に使用される鍵であり、
【数３６】
2010161826.tif 000137
である、というステップと、
を更に含み、
暗号文Ｃをデコードする前記ステップは、
【数３７】
2010161826.tif 000138
を使用してランダム二進数列σを復元するステップと、
【数３８】
2010161826.tif 000139
を使用してメッセージＭを復元するステップと、
を更に含む、
ことを特徴とする請求項７０に記載の方法。
【請求項８１】
第１の循環群Γ１および第２の循環群Γ２の両者は、同じプライムオーダーｑから成ることを特徴とする請求項８０に記載の方法。
【請求項８２】
第１の循環群Γ１は、超特異な楕円曲線上またはアーベル多様体上の複数の点から成る付加的な群であり、
第２の循環群Γ２は、有限領域の乗法群である
ことを特徴とする請求項８０に記載の方法。
【請求項８３】
前記ファンクション
【数３９】
2010161826.tif 000140
は、バイリニアで、非縮退的で、効率的に演算できるペアリングであることを特徴とする請求項８０に記載の方法。
【請求項８４】
ｓ０は、循環群Ｚ／ｑＺの要素であり、
Ｑ０は、第１の循環群Γ１の要素であり、
各要素Ｐｚｉは、第１の循環群Γ１の要素であり、
各要素Ｐｙｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成シークレットｓｚｉは、循環群Ｚ／ｑＺの要素であり  各下位レベル鍵生成シークレットｓｙｉは、循環群Ｚ／ｑＺの要素であり  各シークレット要素Ｓｚｉは、第１の循環群Γ１の要素であり、
各シークレット要素Ｓｙｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成パラメータＱｚｉは、第１の循環群Γ１の要素であり、
各下位レベル鍵生成パラメータＱｙｉは、第１の循環群Γ１の要素であり、
受信装置要素Ｐｚ（ｎ＋１）は、第１の循環群Γ１の要素であり、
送信装置要素Ｐｙ（ｍ＋１）は、第１の循環群Γ１の要素であり、
受信装置シークレット要素Ｓｚ（ｎ＋１）は、第１の循環群Γ１の要素であり、
送信装置シークレット要素Ｓｙ（ｍ＋１）は、第１の循環群Γ１の要素であり、
ｒは、循環群Ｚ／ｑＺの要素であり、
ｇｙｌは、第２の循環群Γ２の要素である、
ことを特徴とする請求項８０に記載の方法。
【請求項８５】
試験的なランダム整数ｒ’＝Ｈ３（σ，Ｍ）を演算し、
Ｕ０＝ｒ’Ｐ０およびＵｉ＝ｒ’Ｐｚｉ（ｌ＋１≦ｉ≦ｎ＋１）であることを確認する、
ことによって、暗号文Ｃが本物であることを確認するステップ
を更に含んでいる
ことを特徴とする請求項８０に記載の方法。
【請求項８６】
複数の要素から成る第１の循環群Γ１と、複数の要素から成る第２の循環群Γ２と、を生成するステップと、
第１の循環群Γ１の２つの要素から第２の循環群Γ２の１つの要素を生成することができるファンクション
【数４０】
2010161826.tif 000141
を選択するステップと、
第１の循環群Γ１のジェネレータＰを選択するステップと、
認証装置の鍵生成シークレットをｓｉとして選択するステップと、
認証装置の公開鍵をｓｉＰとして割り当てるステップと、
二進数字列Ｍｉから第１の循環群Γ１の１つの要素を生成することができる第１のファンクションＨ１を選択するステップと、
認証装置の各々に要素ＰＭｉを生成するステップであって、１≦ｉ≦ｎにおいてＰＭｉ＝Ｈ１（ＳｉＰ，Ｍｉ）である、というステップと、
要素ＰＭｉに署名して、認証装置の各々に署名Ｓｉ＝ｓｉＰＭｉを生成するステップと、
を更に備えたことを特徴とする請求項８５に記載の方法。
【請求項８７】
第１の循環群Γ１および第２の循環群Γ２の両者は、同じプライムオーダーｑから成ることを特徴とする請求項８６に記載の方法。
【請求項８８】
第１の循環群Γ１は、超特異な楕円曲線上またはアーベル多様体上の複数の点から成る付加的な群であり、
第２の循環群Γ２は、有限領域の乗法群である
ことを特徴とする請求項８６に記載の方法。
【請求項８９】
前記ファンクション
【数４１】
2010161826.tif 000142
は、バイリニアで、非縮退的で、効率的に演算できるペアリングであることを特徴とする請求項８６に記載の方法。
【請求項９０】
各鍵生成シークレットｓｉは、循環群Ｚ／ｑＺの１つの要素であり、
各公開鍵Ｓｉは、第１の循環群Γ１の１つの要素であり、
各要素ＰＭｉは、第１の循環群Γ１の１つの要素であり、
受信装置秘密鍵ｓは、Ｚ／ｑＺの１つの要素である、
ことを特徴とする請求項８６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本出願は、２００２年８月２８日に提出された米国仮特許出願６０／４０６，７２１および２００２年９月２０日に提出された米国仮特許出願６０／４１２，２２１の利益を主張する。なお、これらの仮特許出願の全内容は、これらを参照することにより、本願に組み込まれる。
【背景技術】
【０００２】
本発明は、一般に、コンピュータネットワークまたは他のタイプのシステムおよび装置を介した通信の暗号化および保護に関し、特に、公開鍵暗号化を実行する改良された方法に関する。
【０００３】
公開鍵暗号化に基づく通信システムのユーザは、２つの異なる鍵すなわち公開鍵と秘密鍵とによって、他のユーザと通信を行なう。ユーザの公開鍵および秘密鍵は、公開鍵／秘密鍵対を形成する。メッセージ送信者は、受信者の公開鍵を使用してメッセージを暗号化することにより、メッセージ受信者と安全に通信する。その後、送信者は、受信者自身の秘密鍵を使用してメッセージを復号する受信者に対して、メッセージを送信する。
【０００４】
公開鍵に基づく暗号システムのユーザに送られるメッセージの安全性は、ユーザの公開鍵の安全性に依存している。ユーザの公開鍵は、他のユーザにとって自由に利用できるものであるが、ユーザは、その秘密鍵を秘密状態に維持するとともに、ユーザに送られるメッセージを受信する権利が与えられた者だけにその秘密鍵を知られる状態にする。
【０００５】
公開鍵暗号化を行なうには、鍵分配等の要件を管理し且つ鍵の有効性を認証するための「構造基盤（インフラ）が必要である。メッセージ送信者は、受信者へのメッセージを暗号化する前に、受信者の公開鍵にアクセスしなければならない。また、送信者は、この鍵が有効であり且つ危うくされていないことを確認しなければならない。
【０００６】
公開鍵暗号システムにおいては、信頼されている第三者−「認証局」（ＣＡ）が鍵分配および認証等の機能を果たしても良い。一般に、ＣＡは、そのクライアントユーザの各々のための「証明書」を、当該署名書の有効性を確認するためのＣＡの電子署名と共に発行する。証明書は、幾つかの数量を一括して安全にバインドする。通常、証明書は、クライアントの名前やクライアントの公開鍵等のパラメータを含んでいる。また、証明書の発行日および有効期限日等のパラメータが含まれていても良い。クライアントの証明書を発行することにより、ＣＡは、関連付けられている公開鍵が本物であり且つ当該証明書の有効期間において特定のユーザに対応していることを証明する。
【０００７】
その意図された有効期限日前に、クライアントの証明書の取消が必要となることもあり得る。例えば、他の当事者がそのクライアントの秘密鍵を危うくする場合には、取消が必要となることがある。あるいは、クライアントが、公開鍵を使用する権利をもはや与えられないという場合もある。証明書が取消可能である場合、他のユーザは、証明書が現在有効であることを示す認証状態情報をＣＡが分配しない限り、その証明書に頼ることができない。そのような情報は、最新のものでなければならず、頼っている全ての当事者に対して分配されなければならない。そのような多量の情報を分配するには、ＣＡの一部に十分なリソースが必要であり、また、そのような分配は、広範囲にわたる公開鍵暗号化の実施にとって障害となる。
【０００８】
鍵取消問題を扱う最も良く知られた−しかし非効率的な−公開鍵構造基盤（ＰＫＩ）の案は、認証取消リスト（ＣＲＬ）である。ＣＲＬは、意図された有効期限日前に取り消された証明書のリストである。ＣＡは、このリストをその署名とともに定期的に発行して、ＣＲＬの有効性を認める。ＣＡは多くの証明書をその意図された有効期限日前に取り消す場合があるため、特にＣＡが多くのクライアントを有している場合には、ＣＲＬは非常に長くなる場合がある。証明書状態のチェックを必要とする各当事者は、このリストを受信する。この手法に対する改良は、ＣＡの前回の更新後に取り消された証明書だけの送信を必要とする。しかしながら、送信および構造基盤のコストは依然として高い。
【０００９】
代替の提案は、オンライン証明書状態プロトコル（ＯＣＳＰ）である。このプロトコルにおいて、任意のユーザは、クライアントの公開鍵の有効性を含むＣＡの任意のクライアントの状態に関して、ＣＡに問い合わせることができる。ＣＡは、証明書の現在の状態に関して新たな署名を生成することにより、各問合せに対して応答する。この案によれば、問い合せ毎の１つの署名の送信コストが低減する。しかしながら、全ての問合せに対する応答で新たな署名が必要となるため、計算コストが高くなる。また、ＣＡが中央集中化されている場合には、ＣＡがサービス拒絶（ＤｏＳ）攻撃を受け易くなるため、安全性も減少する。
【００１０】
更に有望なプロトコルは、Ｍｉｃａｌｉ「Ｎｏｖｏｍｏｄｏ」システムである（Ｓ．  Ｍｉｃａｌｉ、効率的な証明書取消、ＲＳＡデータセキュリティ会議の議事録１９９７；  Ｓ．  Ｍｉｃａｌｉ，  Ｎｏｖｏｍｏｄｏ：拡張可能な証明書検証および簡易化されるＰＫＩ管理、ＰＫＩリサーチワークショップ、２００２）。Ｎｏｖｏｍｏｄｏシステムは、ＣＡと、証明書情報を分配するための１または複数のディレクトリと、複数のユーザと、を含んでいる。しかしながら、Ｎｏｖｏｍｏｄｏシステムは、安全性を犠牲にすることなく、ＣＲＬおよびＯＣＳＰよりも良好な効率を得ることができる。ＣＲＬに基づくシステムよりも優れたＮｏｖｏｍｏｄｏの利点は、ＣＲＬの長さは取り消された証明書の数とともに長くなるのに、証明書状態の問合せに対するディレクトリの応答がＣＲＬプロトコルに比べて簡潔である、という点である。Ｎｏｖｏｍｏｄｏは、ＯＣＳＰよりも優れた幾つかの利点を有している。まず第１に、ＣＡの計算的な負担が大幅に軽くなる。第２に、ＯＣＳＰの分散された構成要素とは異なり、Ｎｏｖｏｍｏｄｏのディレクトリは、信頼されている必要がない。第３に、Ｎｏｖｏｍｏｄｏは、Ｄｏｓ攻撃に対してあまり影響を受けない。最後に、ＯＣＳＰのディレクトリ−ユーザ間通信コストは低いが、Ｎｏｖｏｍｏｄｏのそれは典型的にはもっと低い。しかしながら、Ｎｏｖｏｍｏｄｏは、依然として、証明書状態問い合わせを必要とする。
【００１１】
証明書状態問合せを含むプロトコルに対する多くの改良は、ＰＫＩ計算および送信要件を減らし且つ様々なトレードオフを提供しようとしている。一方、証明書状態問合せを除去する或いは少なくとも減らすのには、幾つかの理由がある。第１に、そのような問合せは、任意のユーザによってなされ、また、任意のクライアントに関係し得る。したがって、システム内の全てのＣＡサーバは、ＣＡの全てのクライアントのために証明書状態を決定することができなければならない。第２に、クライアントからの証明書状態問合せは、ＣＡの問合せ処理コストを増大させる。Ｎ人のクライアントの各々が１０人の他のクライアントの状態を毎日問い合わせる場合、ＣＡは１０Ｎ個の問合せを処理しなければならない。第３に、非クライアントの問い合わせは、ビジネスモデルの観点から望ましくない。ＣＡが非クライアントからの問合せをどのように扱うべきかは、経済的に不明瞭である。最後に、前述したように、ＣＡが非クライアントからの問合せに応答しなければならない場合、ＣＡはＤｏｓ攻撃に対して影響を受け易くなる。
【００１２】
同一性（識別情報）に基づく暗号システムは、第三者の問い合わせを除去する。同一性に基づく暗号化システムは、ユーザの公開鍵がユーザの同一性（名前、住所、電子メールアドレス、ＩＰアドレス等）から得られる公開鍵暗号化システムである。信頼されている第三者は、ユーザの同一性情報と信頼されている第三者によって保持されたマスターシークレットとを使用して、ユーザの秘密鍵を生成する。そのようなシステムにおいて、第１のユーザは、第２のユーザの識別情報および第２のユーザのＣＡのパラメータ以外の明示的な情報を得ることなく、第２のユーザへのメッセージを暗号化することができる。第２のユーザは、更新された秘密鍵をそのＣＡから当該ユーザが受けた時にだけ、そのメッセージを復号することができる。
【００１３】
同一性に基づく暗号システムの概念は、スプリンガー出版から出版の、Ａ．Ｓｈａｍｉｒによる「同一性に基づく暗号システムおよび署名スキーム」、暗号システムの進歩−Ｃｒｙｐｔｏ'  １９８４年、コンピュータサイエンス１９６（１９８４）の講義ノート、Ｐ４７−５３で提案された。しかしながら、実用的な同一性に基づく暗号化スキームは、最近まで見当たらなかった。例えば、同一性に基づくスキームは、ｈｔｔｐ：／／ｗｗｗ．ｃｅｓｇ．ｇｏｖ．ｕｋ／ｔｅｃｈｎｏｌｏｇｙ／ｉｄ−ｐｋｃ／ｍｅｄｉａ／ｃｉｒｅｎ．ｐｄｆで利用可能なＣ．Ｃｏｃｋｓの「平方剰余に基づいた同一性に基づく暗号化スキーム」；スプリンガー出版から出版の、Ｄ．Ｂｏｎｅｈ，  Ｍ．Ｆｒａｎｋｌｉｎによる「ウェイルペアリングによる同一性に基づく暗号化」、暗号システムの進歩−Ｃｒｙｐｔｏ  ２００１、コンピュータサイエンス２１３９（２００１）の講義ノート、Ｐ２１３−２２９；ｈｔｔｐ：／／ｗｗｗ．ｃｓ．ｓｔａｎｆｏｒｄ．ｅｄｕ／〜ｄａｂｏ／ｐａｐｅｒｓ／ｉｂｅ．ｐｄｆで利用可能なＤ．Ｂｏｎｅｈ，  Ｍ．Ｆｒａｎｋｌｉｎによる「ウェイルペアリングによる同一性に基づく暗号化（拡張版）」、において提案された。Ｃｏｃｋｓのスキームは「平方剰余問題」に基づいており、暗号化および復号がかなり速い（ほぼＲＳＡの速度）が、著しいメッセージ拡張がある（すなわち、暗号文のビット長が何度もプレーンテキストのビット長となる）。Ｂｏｎｅｈ−Ｆｒａｎｋｌｉｎのスキームは、秘匿性を「バイリニアなディフィー・ヘルマン問題」に基づいており、超特異な楕円曲線またはアーベル多様体においてウェイルペアリングまたはテートペアリングを使用する際にかなり速く効率が良い。
【００１４】
しかしながら、既存の同一性に基づく暗号システムは、受け入れが限られていた。この理由の主要な１つは、これらのシステムがキー・エスクローを含んでいるということである。ＣＡは、全てのユーザの秘密鍵を生成するため、暗号システムにおける全ての秘密を知っている。その結果、既存の同一性に基づく暗号システムは、ＣＡまたはマスターシークレットを発見する任意の他の当事者が２人のユーザの共有の秘密を決定することができるという受動的な攻撃を受け易い。
【００１５】
信頼されている第三者が受信者が有効な秘密鍵を保持していることを認証した時にだけ暗号システムの受信者ユーザがメッセージ送信者からのシークレットメッセージを復号することができる、という効率的なスキームが必要である。理想的には、そのようなスキームは、受信者の秘密鍵の状態に関して、メッセージ送信者が第三者を含む他の当事者に問合せすることを要求してはならない。また、そのようなスキームは、第三者キー・エスクローという欠点を有していてはならない。
【発明の概要】
【発明が解決しようとする課題】
【００１６】
したがって、本発明の目的は、鍵状態問合せ又はキー・エスクローを含まず、当該受信者が承認（例えば最新の証明書）を第三者から得た場合にだけメッセージ受信者がメッセージ送信者からのメッセージを復号することができる、効率的なプロトコルを提供することである。また、本発明の更なる目的は、幾つかの当事者による承認を条件に受信者の復号が可能になる、そのようなプロトコルを提供することである。本発明の他の目的は、第三者が暗号システム内に階層的な承認エンティティを含んでいる、そのようなプロトコルを提供することである。本発明の更に他の目的は、短い有効期間を有する秘密鍵をユーザに与える効率的な方法を提供することである。本発明の更なる目的は、多数（例えば数百万）のユーザを含むシステム内でそのような通信を行なうことができる、そのようなプロトコルを提供することである。
【課題を解決するための手段】
【００１７】
本発明は、安全で且つ実用的な証明書に基づく暗号化スキームを実行するための方法を提供する。
【００１８】
本発明の一態様においては、送信者と、受信者と、認証者とを含む公開鍵暗号化スキームで、送信者と受信者との間でデジタルメッセージを暗号化して復号する方法が提供される。本方法は、受信者公開鍵／受信者秘密鍵対を生成するステップと、受信者暗号鍵を生成するステップと、を含んでいる。認証者の秘密である鍵生成シークレットが選択される。少なくとも前記鍵生成シークレットと前記受信者暗号鍵とを使用して、受信者復号鍵が生成される。この場合、前記受信者復号鍵から形成される鍵および前記受信者暗号鍵から形成される鍵が、公開鍵／秘密鍵対である。
【００１９】
少なくとも前記受信者公開鍵と前記受信者暗号鍵とを使用して、デジタルメッセージが暗号化され、これにより、暗号化されたデジタルメッセージが形成される。少なくとも受信者秘密鍵と受信者復号鍵とを使用して、暗号化されたデジタルメッセージが復号される。
【００２０】
本発明の他の態様においては、複数の認証者を含む公開鍵暗号化システムで、送信者と受信者との間でデジタルメッセージを送信する方法であって、複数の認証者は、少なくとも１つのルート認証者と、当該ルート認証者と受信者との間の階層中にある下位レベル認証者と、を含んでいるという方法が提供される。本方法は、受信者公開鍵／秘密鍵対を生成するステップと、受信者暗号鍵を生成するステップと、を含んでいる。この場合、受信者暗号鍵は、受信者の先祖の少なくとも１つの同一性情報を使用して生成される。
【００２１】
ルート鍵生成シークレットが選択されるとともに、当該ルート鍵生成シークレットに基づいてルート鍵生成パラメータが生成される。その後、前記受信者暗号鍵と、前記ルート鍵生成シークレットと、対応するルート鍵生成パラメータと、に関連付けられるように、受信者復号鍵が生成される。
【００２２】
前記受信者公開鍵と受信者暗号鍵とを使用して、デジタルメッセージが暗号化され、これにより、暗号化されたデジタルメッセージが形成される。この場合、前記受信者復号鍵から形成される鍵および前記受信者暗号鍵から形成される鍵が、公開鍵／秘密鍵対である。暗号化されたデジタルメッセージは、少なくとも前記受信者秘密鍵と前記受信者復号鍵とを使用することにより復号される。
【００２３】
本発明の他の態様においては、複数の認証者を含む暗号化システム中でエンティティのための復号鍵を生成する方法であって、複数の認証者は、少なくとも１つのルート認証者と、当該ルート認証者とエンティティとの間の階層中にある下位レベル認証者と、を含んでいるという方法が提供される。
【００２４】
本方法は、ルート鍵生成シークレットを生成するステップと、当該ルート鍵生成シークレットに基づいてルート鍵生成パラメータを生成するステップとを含んでいる。下位レベル認証者のための下位レベル鍵生成シークレットが生成される。その後、少なくともその対応する下位レベル認証者における下位レベル鍵生成シークレットを使用して、下位レベル認証者のための下位レベル鍵生成パラメータが生成される。
【００２５】
エンティティのための復号鍵における有効期間を規定する復号鍵生成スケジュールが定められる。少なくともルート鍵生成シークレットと１または複数の下位レベル鍵生成シークレットとに関連付けられるように、エンティティのための復号鍵が生成される。
【００２６】
本発明の他の態様においては、送信者と、受信者と、複数の認証者とを含む公開鍵暗号化スキームで、送信者と受信者との間でデジタルメッセージを送信する方法であって、受信者は、認証者からの承認を有している場合にだけ、デジタルメセージを復号することができるという方法が提供される。本方法は、受信者のための受信者公開鍵／秘密鍵対を生成するステップと、認証者の各々のためのシークレット鍵を生成するステップと、を含んでいる。公開鍵は、各認証者毎に、少なくともその対応する認証者におけるシークレット鍵を使用して生成される。シークレット鍵を用いて二進数字列が署名されることにより、各認証者毎に署名が生成される。
【００２７】
少なくとも、受信者の公開鍵と、認証者の公開鍵と、認証者によって署名された二進数字列と、を使用して、デジタルメッセージが暗号化されて、暗号文が形成される。少なくとも受信者の秘密鍵と認証者によって生成された署名とを使用して、暗号化されたデジタルメッセージが復号される。
【００２８】
本発明の他の態様においては、送信者と、受信者と、複数の認証者とを含む公開鍵暗号化スキームで、送信者と受信者との間でデジタルメッセージを送信する方法であって、複数の認証者は、少なくとも１つのルート認証者と、当該ルート認証者と受信者との間の階層中にある下位レベル認証者とを含み、受信者は、認証者からの承認を有している場合にだけ、デジタルメセージを復号することができるという方法が提供される。本方法は、受信者のための受信者公開鍵／秘密鍵対を生成するステップと、ルート認証者および下位レベル認証者の各々のためのシークレット鍵を生成するステップと、を含んでいる。公開鍵は、ルート認証者および下位レベル認証者の各々のため、少なくともその対応する認証者におけるシークレット鍵を使用して生成される。
【００２９】
署名を生成するために、それぞれが下位レベル認証者の各々の公開鍵を含んでいる複数の文書が認証される。この場合、各下位レベル認証者の公開鍵を含む前記文書は、階層中でこの下位レベル認証者よりも上位にいる認証者によって認証される。受信者公開鍵と受信者公開鍵の有効性を規定するパラメータとを含む文書は、階層中で受信者の直ぐ上位にいる認証者によって認証される。
【００３０】
少なくとも、受信者の公開鍵と、認証者の公開鍵と、前記文書とを使用して、デジタルメッセージが暗号化されて、暗号文が形成される。少なくとも受信者の秘密鍵と認証者によって生成された署名とを使用して、暗号化されたデジタルメッセージが復号される。
【００３１】
本発明の他の態様においては、送信者と、受信者と、認証者とを含む公開鍵暗号化スキームで、送信者と受信者との間でデジタルメッセージを暗号化して復号する方法が提供される。本方法は、受信者公開鍵／受信者秘密鍵対を生成するステップと、認証者に知られた鍵生成シークレットを選択するステップと、を含んでいる。時間ｉに対応付けられた受信者復号鍵が生成される。この場合、この鍵は鍵生成シークレットに関連付けられ、また、ｉよりも遅い時間に対応付けられた受信者復号鍵ではなく、ｉよりも早い時間に対応付けられた受信者復号鍵は、時間ｉに対応付けられた受信者復号鍵から生成され得る。
【００３２】
前記受信者公開鍵と、時間ｉに対応付けられた時間パラメータまたはそれよりも早い時間に対応付けられた時間パラメータと、受信者暗号鍵と、を使用して、デジタルメッセージが暗号化されて、暗号文が形成される。これにより、暗号化されたデジタルメッセージが形成される。少なくとも前記受信者秘密鍵と時間ｉに対応付けられた受信者復号鍵とを使用して、前記暗号化されたデジタルメッセージが復号される。
【００３３】
本発明の他の態様においては、送信者と、受信者を含む複数のクライアントと、認証者とを含む公開鍵暗号化スキームで、送信者と受信者との間でデジタルメッセージを送信する方法であって、デジタルメッセージは、送信者によって暗号化されるとともに、認証者により許可された時に受信者によって復号されるという方法が提供される。本方法は、受信者公開鍵／受信者秘密鍵対を生成するステップと、受信者をＢ−ツリーのリーフノードに関連付ける固有の二進数列を生成するステップと、を含んでいる。受信者リーフノードの各先祖ノードに関連付けられる固有の二進数列と、受信者リーフノードおよび受信者リーフノードの先祖ノードの各々のための暗号鍵と、が生成される。
【００３４】
また、認証者に対して知られたマスターシークレットも生成される。各ノードのための暗号鍵は、少なくともそのノードに関連付けられた二進数列に関連付けられる。
【００３５】
受信者リーフノードの先祖ノードの１つに関連付けられる受信者復号鍵が生成される。この場合、当該先祖ノードは、認証者によって認証されないクライアントに関連付けられたリーフノードの先祖ではない。前記受信者復号鍵は、少なくともそのノードに関連付けられた二進数列と前記マスターシークレットとに関連付けられる。受信者リーフノードの先祖ノードに関連付けられた前記受信者復号鍵は、受信者リーフノードの先祖ノードに関連付けられた暗号鍵と共に、秘密鍵／公開鍵対を形成する。
【００３６】
少なくとも、受信者公開鍵と、受信者リーフノードおよび受信者リーフノードの先祖ノードに関連付けられた暗号鍵と、を使用して、送信者はデジタルメッセージを暗号化し、これにより、暗号化されたデジタルメッセージが形成される。受信者は、少なくとも、受信者秘密鍵と、受信者リーフノードの先祖ノードに関連付けられた受信者復号鍵と、を使用して、暗号化されたデジタルメッセージを復号する。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施の形態に係るメッセージ受信者によって行なわれるステップを表わすフローチャートを示している。
【図２】本発明の一実施の形態に係る認証者によって行なわれるステップを表わすフローチャートを示している。
【図３】本発明の一実施の形態に係るメッセージ送信者によって行なわれるステップを表わすフローチャートを示している。
【図４】本発明の他の実施の形態に係る階層型の証明書に基づく暗号化スキームを表わすフローチャートを示している。
【図５】本発明の一実施の形態に係る他の階層型の証明書に基づく暗号化スキームを表わすフローチャートを示している。
【図６】図５の方法を行なうことができる典型的な階層構造を表わすブロック図を示している。
【図７】本発明の他の実施形態に係る、送信者ｙと受信者ｚとの間で通信されるデジタルメッセージ
【数１】
2010161826.tif 000003
【００３８】
をエンコードしてデコードする方法を表わすフローチャートを示している。
【図８】デジタルメッセージ
【数２】
2010161826.tif 000004
【００３９】
をエンコードしてデコードする方法を表わすフローチャートを示している。
【図９】本発明の他の実施形態に係る、送信者ｙと受信者ｚとの間で通信されるデジタルメッセージ
【数３】
2010161826.tif 000005
【００４０】
をエンコードしてデコードする方法を表わすフローチャートを示している。
【図１０】高粒度暗号化スキームを表わす図を示している。
【図１１】２進木を使用する放送暗号化スキームを表わすフローチャートを示している。
【図１２】カバーコンセプトを使用する放送暗号化スキームを表わすブロック図を示している。
【発明を実施するための形態】
【００４１】
本発明の好ましい実施形態の以下の説明では、添付図面を参照する。
【００４２】
本発明の方法は、受信者がメッセージを受信することを信頼された第三者（「認証者（ａｕｔｈｏｒｉｚｅｒ）」）が認証する時にだけ、暗号システムの送信者がシークレットメッセージを受信者に対して通信することを許容する効率的なプロトコルを提供する。
【００４３】
後述するプロトコルにおいて、名称「送信者」および「受信者」は、暗号システムの２人のユーザを表わしている。そのような暗号システムは、送信者および受信者以外の多くのユーザを含んでいても良い。具体的には、送信者は、受信者によって代表される第２のユーザに対してシークレットメッセージを通信することを望んでいる第１のユーザを表わしている。メッセージは、メッセージトラフィックを確保するために対称暗号化アルゴリズムと共に使用されるセッション鍵を含む任意のタイプのデジタル情報を含んでいても良い。
【００４４】
用語「認証局（Ｃｅｒｔｉｆｉｃａｔｉｏｎ  Ａｕｔｈｏｒｉｔｙ（ＣＡ））」は、暗号システムの公開鍵の構造基盤を管理する責任を負うエンティティを示している。ＣＡの主な機能には、デジタル認証および公開鍵の生成及び分配が含まれ得る。ＣＡは、単一のエンティティであっても良く、あるいは、エンティティの分散型構造または階層型構造から成っていても良い。
【００４５】
用語「認証者（ａｕｔｈｏｒｉｚｅｒ）」は、メッサージ送信者によって信頼されている第三者であって、暗号システムを使用してメッセージ受信者がメッセージ受信者に対して暗号化されたメッセージを受信する権限を有していることを認証する第三者を示している。認証者は、単一のエンティティであっても良く、あるいは、エンティティの分散型構造または階層型構造から成っていても良い。多くのシステムにおいて、認証者およびＣＡは同じエンティティである。しかしながら、これは常にそうであるとは限らない。メッセージ受信者がメッセージを復号できるのは、任意の特定の１または複数のエンティティからの承認を条件としても良い。
【００４６】
用語「認証」は、他のユーザに対して自分を特定して証明するために暗号システムの個々のユーザによって使用される識別子を示している。
【００４７】
認証は、当該認証に含まれている情報をユーザが信用することを可能とする特定の属性を有している。典型的には、認証は、認証所有者の同一性情報、認証所有者の公開鍵、ＣＡの同一性情報、発行日、有効期限日、シリアル番号、認証が本物で且つ有効であることをユーザに検証させることができるパラメータ、等の情報を含む文書上のデジタル署名から成る。認証を検証するため、検証者は、署名された文書を知っていなければならない。この情報は、多くの場合、認証と共に送られる。
【００４８】
用語「公開鍵暗号システム」は、暗号化されたメッセージを送信者が受信者に対して送信する暗号システムを示している。送信者は、受信者の公開鍵を使用して、メッセージを暗号化する。受信者は、受信者の秘密鍵を使用して、暗号化されたメッセージを復号する。そのような公開鍵および秘密鍵は、「公開鍵／秘密鍵対」を形成する。受信者の公開鍵の知識から受信者の秘密鍵をコンピュータで（計算で）割り出すことはできない。公開鍵暗号システムの例は、秘密鍵の安全性が大きい整数を因数に分解する難易度に関連しているＲＳＡ暗号システム、および、秘密鍵の安全性が離散対数問題に関連しているエルガマル（ＥｌＧａｍａｌ）暗号システムである。用語「公開鍵／秘密鍵対を形成する」とは、当業者であれば分かるように、公開鍵および秘密鍵の定義は再定義されるがメッセージを暗号化および復号する鍵の全体の能力は維持される、というような状況を含んでいる。
【００４９】
用語「ツリー」および「Ｂ−ツリー」は、順序付けられたデータのセットを維持するデータ構造を示している。Ｂ−ツリーは、「ノード（節）」と、「リーフ（葉）」と、ノードとリーフとを互いに接続するポインタと、から成る。「ルートノード」は、Ｂ−ツリーのベースすなわち第１レベルを規定している。ポインタは、第２レベルの各ノードに対してルートノードを接続する。
【００５０】
第２レベルノードは、ルートノードの子ノードである。ルートノードは、第２レベルノードの親ノードである。更に、ポインタは、各第２レベルノードをそれ自身の子ノード等に対して接続しても良い。「リーフ」ノードは、Ｂ−ツリーの最高レベルのノードである。リーフノードは、２番目の最高レベルのノードの子ノードであり、それ自身の子を有していない。ある１つのノードをルートノードに接続する、ルートノード自身を含むこれらのノードは、前記１つのノードの先祖ノードと称する。
【００５１】
用語「２進木（バイナリーツリー）」は、リーフノードを除く全てのノードが多くても２つの子しか有しないＢ−ツリーを示している。
【００５２】
用語「２−３ツリー」は、全ての内部ノードが２つ又は３つの子を有しているＢ−ツリーを示している。
【００５３】
用語「マークル（Ｍｅｒｋｌｅ）ツリー」は、そのうちの幾つかが例えば一方向性ハッシュ関数等の一方向性関数Ｈにより特定の方法で計算される値、を記憶するノードを有しているＢ−ツリーを示している。リーフノードは任意の値を記憶することができるが、各内部ノードは、その複数の子における値の連結からなる一方向性関数である１つの値を記憶するべきである。例えば、ある内部ノードが２つの子を有するとともに、そのうちの一方の子が値Ｕを記憶し他方の子が値Ｖを記憶する場合には、この内部ノードは、値Ｈ（ＵＶ）を記憶する。
【００５４】
（認証に基づく暗号化）
本発明は、１または複数の信頼されている認証者の承認を条件として暗号システムのメッセージ受信者ユーザがメッセージ送信者からのシークレットメッセージを復号できる、「認証に基づく暗号化（ＣＢＥ）」スキームについて説明する。メッセージ受信者は、メッセージを復号するために、少なくとも２つの鍵を必要とする。これらの鍵のうちの１つは、１または複数の文書上における１または複数の認証者による署名である。本発明のＣＢＥプロトコルは、公開鍵暗号化スキームと、適合された同一性情報に基づく暗号化（ＩＢＥ）スキームとを含んでいる。そのようなプロトコルにより、ＣＢＥに必要な代数構造を破壊することなく、多数のユーザ（例えば数百万のユーザ）を含むＣＢＥスキームが可能になる。後述するプロトコルにおいて、送信者は、暗号化されたメッセージを受信者に対して通信する。
【００５５】
公開鍵暗号化スキームにおいて、エンティティ、例えば受信者は、自分のための公開鍵／秘密鍵対（ＰＫＢ、ＳＫＢ）を生成する。受信者の公開鍵は、送信者を含む暗号システムの他のユーザにとって利用可能である。
【００５６】
他のユーザは、この鍵を使用して、受信者に対して送られるメッセージを暗号化することができる。受信者は、自分の秘密鍵を秘密状態に維持するとともに、この秘密鍵を使用することにより、受信者の公開鍵を用いて暗号化されたメッセージを復号する。
【００５７】
ＣＢＥプロトコルは、任意のＩＢＥスキームを組み入れることができる。ＩＢＥスキームは、秘密鍵ジェネレータ（ＰＫＧ）と呼ばれる信頼されている第三者を使用する。セットアップのため、ＰＫＧは、マスターシークレットｓを生成するとともに、ｓにマスクをかける公開鍵を含む特定のシステムパラメータｐａｒａｍｓを発行する。ＰＫＧは、多くのクライアントを有していても良い。各クライアントは、それを識別する単なる文字列、例えばクライアントの電子メールアドレス、である特定のＩＤを有している。ＩＢＥスキームにおける主なアルゴリズムは、秘密鍵生成、暗号化、及び、復号である。
【００５８】
秘密鍵生成アルゴリズムにおいて、ＰＫＧは、ｓ、ｐａｒａｍｓ及びＩＤを使用して、所定のＩＤ文字列に対応する秘密鍵ｄＩＤを計算する。その後、メッセージ送信者は、暗号化アルゴリズムを使用して、ｐａｒａｍｓ、ＩＤ及び
【数４】
2010161826.tif 000006
【００５９】
を使用してメッセージＭのための暗号文Ｃを計算する。メッセージ受信者は、ｐａｒａｍｓ、ｄＩＤ及びＣを使用して、
【数５】
2010161826.tif 000007
【００６０】
を復元する。
【００６１】
ＣＢＥスキームを実行するようになっているＩＢＥスキームにおいて、認証者は、認証者の秘密である鍵生成シークレットを使用して、受信者「復号鍵」を生成する。この復号鍵は、受信者「暗号」鍵と共に、公開鍵／秘密鍵対を形成する。一実施の形態において、受信者復号鍵は、鍵生成シークレットを使用して生成される受信者暗号鍵上の署名である。メッセージ送信者は、受信者公開鍵および受信者暗号鍵を使用してデジタルメッセージを暗号化して、暗号化されたデジタルメッセージを作成する。受信者は、受信者秘密鍵および受信者復号鍵を使用して、暗号化されたデジタルメッセージを復号する。送信者は、受信者公開鍵および受信者暗号鍵の両方を使用してメッセージを暗号化するため、受信者は、暗号化されたメッセージを復号するために、受信者秘密鍵および受信者復号鍵の両方を必要とする。両方の鍵が必要であるため、受信者復号鍵を秘密状態にしておく必要はない。例えば、受信者復号鍵は、実際には、１または複数の認証者による署名であり、復号を署名として扱うことができるため、受信者が適切な承認を受けたことの検証可能な証として復号鍵を使用することができる。
【００６２】
一般に、暗号鍵が文書Ｄに対応し、復号鍵は、署名ｓＤ、すなわち、認証者の鍵生成シークレットｓを使用した文書Ｄ上の認証者の署名、に対応することができる。復号鍵、したがって暗号鍵が、メッセージ送信者に知られているスケジュールを使用して更新される場合には、送信者は、メッセージを暗号化するために使用される暗号鍵に対応する復号鍵を受信者が受信する時にのみ受信者が復号することができるメッセージを暗号化することができる。
【００６３】
前述したスキームは、受信者の秘密鍵が侵害されて（危うくされて）いないことを確かめるために送信者が問い合わせをする必要性を回避することにより、暗号システムの構造基盤のオーバーヘッドを低減する。送信者は、認証者が新たな復号鍵を受信者に対して発行するスケジュールおよび暗号鍵を知っているだけで済む。受信者の秘密鍵を知っている攻撃者は、最新の復号鍵が無ければ、受信者を対象とするメッセージを復号することができない。従って、ＣＢＥスキームによれば、メッセージを復号するための受信者の承認が、例えば受信者の秘密鍵が侵害されている場合に、無効にされることを許容する。そのような状況において、認証者は、受信者に対して復号鍵を発行することを止める。
【００６４】
前記スキームは、安全なチャンネルをわたって受信者に対し復号鍵を送信する必要がない、という更なる利点を与える。受信者の秘密鍵および復号鍵が無ければ復号が不可能であるため、受信者は、復号鍵を秘密状態に維持しないで済む。
【００６５】
認証者は、復号鍵を知っているため、暗号鍵によって暗号化されたメッセージを復号することができる。しかしながら、送信者は、受信者の公開鍵および暗号鍵の両方を使用して受信者に対するメッセージを二重に暗号化することにより、キー・エスクローを回避する。認証者は、受信者の秘密鍵を知らないため、そのメッセージを復号することができない。
【００６６】
暗号鍵は任意の文書Ｄに対応し得るが、多くの場合、この文書は、受信者の公開鍵（ＰＫＢ）を含む受信者の識別情報（ＰＫＩＤＢ）等のパラメータと、認証者が新たな復号鍵を発行するスケジュールに応じたパラメータと、を含んでいる。
【００６７】
ＣＢＥスキームにおいて、受信者の暗号鍵、受信者の公開鍵、及び、認証者が新たな復号鍵を発行するスケジュールを表わすパラメータは、送信者を含む暗号システムのユーザに対して分配される。受信者は、この機能を実行することができる。あるいは、信頼されている第三者、例えばＣＡまたは認証者、が分配を行なっても良い。
【００６８】
（有効期間および取消）
現在年において有効な暗号鍵を使用して送信者が受信者へのメッセージを暗号化する場合には、受信者は、当該年中に復号するための対応する復号鍵を使用し得る。この期間の後には、受信者は、新たな鍵を認証者から取得しなければならない。更に、現在日において有効な暗号鍵を使用して送信者がメッセージを暗号化する場合には、受信者は、新たな復号鍵を毎日取得しなければならない。この手法により、任意の特定の所望期間後に鍵が自動的に取り消されるシステムを形成することができる。同様に、暗号化の構造は、予め定められた未来の時間においてのみ、送信者からのメッセージを受信者が復号できるようになっていても良い。
【００６９】
暗号鍵には、受信者のセキュリティレベル等の他のパラメータが含まれていても良い。時間パラメータおよびセキュリティレベルパラメータの両方を使用して送信者がメッセージを暗号化する場合には、受信者は、要求されるセキュリティレベルパラメータを特定する最新の復号鍵を自分が有している場合にのみ、メッセージを復号することができる。受信者のセキュリティレベルが変わる場合、受信者は、送信者のメッセージを復号することができない。
【００７０】
（ペアリングに基づくＣＢＥスキーム）
ＣＢＥスキームは、任意のＩＢＥスキームを組み入れていても良い。そのようなスキームの例は、楕円曲線またはアーベル多様体に関連付けられるウェイルペアリング（Ｗｅｉｌ  ｐａｉｒｉｎｇ）またはテートペアリング（Ｔａｔｅ  ｐａｉｒｉｎｇ）に基づくスキームである。本発明のＣＢＥスキームの一実施の形態について以下に説明する。この実施形態は、Ｂｏｎｅｈ−Ｆｒａｎｋｌｉｎ  ＩＢＥスキームを使用するとともに、受信者の公開鍵（ＰＫＢ）を含む受信者の識別情報（ＰＫＩＤＢ）等のパラメータと、認証者が新たな復号鍵を発行するスケジュールに応じたパラメータと、を含む同一性情報に基づく暗号鍵を使用する。この実施の形態は効率的であり、適応性の選ばれた暗号文攻撃に対して証明的に安全である（ランダムオラクルモデルにおいて）。
【００７１】
添付図面を参照すると、図１は、セットアップ段階中にメッセージ受信者によってとられるステップを示すフローチャートを示している。このセットアップ段階は、暗号化されたメッセージを受信者が復号する前に生じる。ブロック１０１において、受信者は、公開鍵暗号化プロトコルを使用して、公開鍵／秘密鍵対を生成する。ブロック１０２において、受信者は識別情報を生成する。ブロック１０３において、受信者は、受信者の公開鍵を含む識別情報を、メッセージ送信者および認証者を含む他のユーザに対して通信する。
【００７２】
図２は、パラメータセットアップおよび受信者認証中に認証者によってとられるステップを示すフローチャートを示している。ＣＢＥスキームで使用されたのと同様に、Ｂｏｎｅｈ−Ｆｒａｎｋｌｉｎ  ＩＢＥスキームは、一般に、４つの無作為に選ばれたアルゴリズム、すなわち、セットアップアルゴリズムと、認証アルゴリズムと、暗号化アルゴリズムと、復号アルゴリズムとを含んでいる。ここで、認証者は、従来のＩＢＥスキームにおける秘密鍵ジェネレータ（ＰＫＧ）に相当する。
【００７３】
セットアップ中、認証者は、ＢＤＨパラメータジェネレータおよびセキュリティパラメータｋを使用して、あるプライムオーダーｑの群Γ１及びΓ２と、許容できるペアリング
【数６】
2010161826.tif 000008
【００７４】
と、を生成する。ペアリングは、それがバイリニアである場合、すなわち、全てのＱ，Ｒ∈Γ１および全てのａ，ｂ∈Ｚにおいて
【数７】
2010161826.tif 000009
【００７５】
となる場合であって、非縮退的（ｎｏｎ−ｄｅｇｅｎｅｒａｔｅ）である場合、すなわち、マッピングがΓ１×Γ１における全てのペア（対）をΓ２における同一性に対して送信しない場合であって、かつ、計算可能な場合、すなわち、任意のＱ，Ｒ∈Γ１において
【数８】
2010161826.tif 000010
【００７６】
を計算するための効率的なアルゴリズムが存在する場合、に許容できるものとして規定される。
【００７７】
Ｂｏｎｅｈ−Ｆｒａｎｋｌｉｎ  ＩＢＥスキームは、例えば楕円曲線またはアーベル多様体に関連付けられるウェイルペアリングまたはテートペアリング等のペアリングに基づいている。この方法は、秘匿性をバイリニアなディフィー・ヘルマン（Ｂｉｌｉｎｅａｒ  Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）問題に基づいている。ここで、第１の群Γ１は、楕円曲線上またはアーベル多様体上の点から成る群であることが好ましく、Γ１に関する群法則が付加的に書き込まれても良い。第２群Γ２は、有限領域の乗法群であることが好ましく、Γ２に関する群法則が乗法的に書き込まれても良い。しかしながら、本発明と整合性が取れる他のタイプの群をΓ１，Γ２として使用しても良い。
【００７８】
バイリニアなディフィー・ヘルマン問題は、Ｐ，ａＰ，ｂＰ及びｃＰが知られているが、ａ，ｂ，ｃが知られていない場合に
【数９】
2010161826.tif 000011
【００７９】
を見つける問題である。
【数１０】
2010161826.tif 000012
【００８０】
であるため、Γ１においてディフィー・ヘルマン問題を解くことは、バイリニアなディフィー・ヘルマン問題を解くことである。同様に、
【数１１】
2010161826.tif 000013
【００８１】
である場合にｇａｂｃ＝（ｇａｂ）ｃであるため、Γ２においてディフィー・ヘルマン問題を解くことは、バイリニアなディフィー・ヘルマン問題を解くことである。ここで、
【数１２】
2010161826.tif 000014
【００８２】
であり、また、
【数１３】
2010161826.tif 000015
【００８３】
である。例えば、有限領域ＦにわたってＥが超特異な楕円曲線またはアーベル多様体であり、Ｐ∈Ｅ（Ｆ）がオーダー（次数）
【数１４】
2010161826.tif 000016
【００８４】
の点（Ｆの指数に対して互いに素）であり、
【数１５】
2010161826.tif 000017
【００８５】
がＥ上の
【数１６】
2010161826.tif 000018
【００８６】
−ねじれにおけるウェイルペアリングであると仮定する。Γ１がＰによって生成される群であり、Γ２がＦの代数的閉包の単位の
【数１７】
2010161826.tif 000019
【００８７】
乗根（
【数１８】
2010161826.tif 000020
【００８８】
−ｔｈ  ｒｏｏｔｓ  ｏｆ  ｕｎｉｔｙ  ｉｎ  ｔｈｅ  ａｌｇｅｂｒａｉｃ  ｃｌｏｓｕｒｅ  ｏｆ  Ｆ）の群であるとする。
【数１９】
2010161826.tif 000021
【００８９】
となるようなｆがＥの自己同形（ａｕｔｏｍｏｒｐｈｉｓｍ）である場合、
【数２０】
2010161826.tif 000022
【００９０】
によって
【数２１】
2010161826.tif 000023
【００９１】
を定義することにより、前述した２つの条件を満たすファンクション（関数）
【数２２】
2010161826.tif 000024
【００９２】
が与えられる。更に、この
【数２３】
2010161826.tif 000025
【００９３】
は非縮退的である。例えば、
【数２４】
2010161826.tif 000026
【００９４】
である場合、ａｂＰ＝ｃＰである。
【００９５】
図２のブロック２０１およびブロック２０２において、認証者は、鍵生成シークレットを選択するとともに、任意のジェネレータＰ∈Γ１を選択し、ランダムｓｃ∈Ｚ／ｑＺを選定し、Ｑ＝ｓｃＰを設定し、複数の暗号化関数
【数２５】
2010161826.tif 000027
【００９６】
を選択することによりシステムパラメータを定める。ここで、メッセージスペースが
【数２６】
2010161826.tif 000028
【００９７】
＝｛０．１｝ｎであり、システムパラメータがｐａｒａｍｓ＝（Γ１，Γ２，
【数２７】
2010161826.tif 000029
【００９８】
，Ｐ，Ｑ，Ｈ１，Ｈ１’，Ｈ２）であり、認証者のマスター鍵生成シークレットがｓｃ∈Ｚ／ｑＺである。
【００９９】
ブロック２０３において、認証者は、受信者の公開鍵ｓＢＰを含む受信者によって送られた識別情報を認証する。ブロック２０４において、認証者は、受信者の同一性に基づく復号鍵を更新するスケジュールを定める。検証が十分である場合には、認証者は、同一性に基づく復号鍵を生成する。認証者は、ＰＢ＝Ｈ１（ＩｎｆＢ）∈Γ１を計算する。この場合、ＩｎｆＢは、受信者の識別情報（公開鍵を含む）と、有効期間等の付随的な情報と、を含んでおり、Ｐ’Ｂ＝Ｈ１’（ＩＤｒｅｃ）であり、ここで、ＩＤｒｅｃは、受信者の公開鍵を含んでいる。その後、ブロック２０５において、認証者は、受信者の同一性に基づく復号鍵ｓｃＰＢを計算するとともに、この情報を受信者に対して送信する。また、ブロック２０６の場合のように、認証者は、受信者の識別情報を他のユーザに対して分配しても良い。あるいは、他のエンティティがこの機能を実行しても良い。
【０１００】
図３は、メッセージの暗号化中に送信者によってとられるステップを示すフローチャートを示している。ブロック３０１及び３０２において、メッセージ送信者は、受信者の公開鍵およびシステムパラメータを得る。ブロック３０３において、送信者は、受信者の識別情報を含んでいる受信者の同一性に基づく暗号鍵と、認証者の同一性に基づく復号鍵生成スケジュールを含む付随的な情報と、を得る。
【０１０１】
ブロック３０４において、送信者は、以下のように、ｓＢＰおよびＩｎｆＢの両方を用いてメッセージＭ∈
【数２８】
2010161826.tif 000030
【０１０２】
を二重に暗号化する。まず最初に、送信者は、ＰＢ＝Ｈ１（ＩｎｆＢ）∈Γ１，Ｐ’Ｂ＝Ｈ１’（ＩＤｒｅｃ）を計算する。ここで、ＩＤｒｅｃは、受信者の公開鍵を含んでいる。その後、送信者は、ランダムｒ∈Ｚ／ｑＺを選択する。その後、送信者は、
【数２９】
2010161826.tif 000031
【数３０】
2010161826.tif 000032
【０１０３】
となるように、暗号文を設定する。ブロック３０５において、送信者は、メッセージを受信者に対して送信する。
【０１０４】
受信者によって受信された暗号文がＣ＝［Ｕ，Ｖ］であるとする。復号中、受信者は、ＳＫＢおよびｓＣＰＢを使用して、Ｍを復元する。具体的には、受信者は、最初にＳＢ＝ｓＣＰＢ＋ｓＢＰ’Ｂを計算した後、
【数３１】
2010161826.tif 000033
【０１０５】
を計算する。
【０１０６】
ＣＢＥは、例えば、Ｄ．ＢｏｎｅｈとＭ．ＦｒａｎｋｌｉｎとによりＩＢＥ（２００１）に関して記載された方法と同様の方法でＦｕｊｉｓａｋｉ−Ｏｋａｍｏｔｏ変換を使用することにより、適応性の選ばれた暗号文攻撃に対しランダムオラクルモデルにおいて安全な状態とされ得る。変換されたスキームは、２つの追加の暗号化ファンクションＨ３，Ｈ４と、意味的に対称な暗号化スキームＥＨ４（σ）と、を使用する。Ｈ３は、２つの二進数字列から循環群Ｚ／ｑＺの整数を生成できるファンクションであり、Ｈ４は、他の二進数字列から１つの二進数字列を生成できるファンクションである。Ｈ４（σ）は、Ｅと共に使用される鍵である。
【０１０７】
変換されたスキームにおいて、メッセージ送信者は、ランダムσ∈｛０，１｝ｎを選択するとともに、ｒ＝Ｈ３（σ，Ｍ）を設定する。その後、送信者は、
【数３２】
2010161826.tif 000034
【０１０８】
となるように暗号文を設定する。ここで、
【数３３】
2010161826.tif 000035
【０１０９】
である。
【０１１０】
メッセージ受信者は、
【数３４】
2010161826.tif 000036
【０１１１】
および
【数３５】
2010161826.tif 000037
【０１１２】
を計算することにより、［Ｕ，Ｖ，Ｗ］を復号する。また、受信者は、ｒ＝Ｈ３（σ，Ｍ）を設定するとともに、Ｕ≠ｒＰの場合に暗号文を拒絶する。
【０１１３】
（階層型ＣＢＥ）
本発明の更に他の実施の形態において、ＣＢＥスキームは、階層的な同一性情報に基づく暗号化（ＨＩＤＥ）スキームと公開鍵暗号化スキームとを組み合わせる。前述した非階層的なスキームの場合と同様に、暗号鍵は、任意の文書Ｄに対応し得る。以下の説明において、鍵は、受信者の公開鍵（ＰＫＢ）を含む受信者の識別情報（ＰＫＩＤＢ）等のパラメータと、認証者が新たな復号鍵を発行するスケジュールを表わすパラメータと、で構成される。
【０１１４】
部分共謀抵抗（ｐａｒｔｉａｌ  ｃｏｌｌｕｓｉｏｎ−ｒｅｓｉｓｔａｎｃｅ）を用いた階層型の同一性に基づく鍵共有化スキームは、スプリンガー出版から出版のＧ．Ｈａｎａｏｋａ，  Ｔ．Ｎｉｓｈｉｏｋａ，  Ｙ．Ｚｈｅｎｇ，  Ｈ．Ｉｍａｉによる「共謀攻撃に抗する効率的な階層型の同一性に基づく鍵共有化方法」、暗号システムの進歩−ＡＳＩＡＣＲＹＰＴ  １９９９、コンピュータサイエンス１７１６（１９９９）の講義ノート、Ｐ３４８−３６２、および、コンピュータジャーナルで出版されているＧ．Ｈａｎａｏｋａ，  Ｔ．Ｎｉｓｈｉｏｋａ，  Ｙ．Ｚｈｅｎｇ，  Ｈ．Ｉｍａｉによる、「メモリサイズが小さく且つ共謀攻撃に対する抵抗が高い階層型の非インタラクティブな鍵共有化スキーム」、において与えられている。また、階層型の同一性に基づく暗号化の入門は、暗号化の進歩−ＥＵＲＯＣＲＹＰＴ  ２００２、コンピュータサイエンスの講義ノート、スプリンガー出版で出ている、Ｊ．Ｈｏｒｗｉｔｚ，  Ｂ．Ｌｙｎｎによる「階層型の同一性に基づく暗号化に関して」において提供された。ＨｏｒｗｉｔｚおよびＬｙｎｎは、第１のレベルで全共謀抵抗（ｔｏｔａｌ  ｃｏｌｌｕｓｉｏｎ−ｒｅｓｉｓｔａｎｃｅ）を用い且つ第２のレベルで部分共謀抵抗（ｐａｒｔｉａｌ  ｃｏｌｌｕｓｉｏｎ−ｒｅｓｉｓｔａｎｃｅ）を用いた２レベルの階層的スキームを提案した（すなわち、ユーザは、自分のドメインＰＫＧのシークレットを取得するために共謀してその後にドメインＰＫＧを装うことができる）。しかしながら、Ｈｏｒｗｉｔｚ−Ｌｙｎｎシステムは、第２のレベルで共謀抵抗を用いるために複雑化し、したがって、スキームは、実用的でもなく、また、安全ともなり得ない。
【０１１５】
安全で且つ実用的なＨＩＤＥスキームは、同時係属の特許出願（代理人整理番号１０７４５／１０７）に記載されており、その内容は、ここでの参照により本願に組み込まれる。
【０１１６】
この階層型ＣＢＥ（ＨＣＢＥ）スキームは、ＨＩＤＥスキームをＣＢＥに適合させるとともに、６つのランダム化アルゴリズム、すなわち、ルートセットアップアルゴリズムと、下位レベルセットアップアルゴリズムと、認証アルゴリズムと、抽出アルゴリズムと、暗号化アルゴリズムと、復号アルゴリズムと、を有している。これらのアルゴリズムのうちの４つは、階層中の関連するエンティティの同一性に依存している。各ユーザは、そのＩＤのタプル（ＩＤ１，．．．．ＩＤｉ）によって規定され得る位置を階層中に有していることが好ましい。階層中におけるユーザの先祖は、ルート認証者およびそのＩＤタプルが｛（ＩＤ１，．．．．ＩＤｉ）：１≦ｉ≦（ｔ−１）｝である下位レベル認証者である。演算のために、二進数字列がＩＤタプルを表していることが好ましい。
【０１１７】
ルートセットアップアルゴリズムは、前述した非階層的なスキームにおけるそれと同様である。ルート認証者は、セキュリティパラメータｋを使用することにより、非階層的なスキームにおける認証者と同じ方法で、パブリックシステムパラメータｐａｒａｍｓおよびルート鍵生成シークレットを生成する。この場合も同様に、システムパラメータは公然と利用可能であるが、ルート認証者だけがルート鍵生成シークレットを知っている。
【０１１８】
下位レベルセットアップアルゴリズムにおいて、下位レベル認証者は、ルート認証者からシステムパラメータを検索しても良い。ルート認証者とは異なり、下位レベル認証者は、暗号化アルゴリズムで使用される「下位レベル」パラメータを有していない。しかしながら、この制約は、同一性に基づく復号鍵を生成してそのユーザに対して発行するために使用できるそれ自身の下位レベルシークレットを下位レベル認証者が生成することを必ずしも不可能にはしない。下位レベル認証者は、抽出のために、それ自身の下位レベル鍵生成シークレットを生成し得る。また、下位レベル認証者は、各抽出毎に、ランダム一時シークレットを生成し得る。
【０１１９】
抽出アルゴリズムにおいて、親認証者（ルート認証者であろうとも、あるいは、下位レベル認証者であろうとも）は、階層中で自分の直ぐ下位にある子認証者によって送られる識別情報を検証する。また、親認証者は、子認証者の受信者の同一性に基づく復号鍵を更新するためのスケジュールを定めても良い。検証が十分である場合には、親認証者は、子認証者のために、同一性に基づく復号鍵を生成する。非階層的なスキームの場合と同様に、この同一性に基づく復号鍵は、システムパラメータと、子認証者の識別情報と、有効期間等の付随的な情報と、を使用して生成される。また、子認証者の同一性に基づく復号鍵は、少なくとも一つの先祖認証者の鍵生成シークレットに関連付けられる。その後、親認証者は、この復号鍵を子認証者に対して送る。子認証者の識別情報は、他のユーザにとって利用可能である。
【０１２０】
認証アルゴリズムにおいて、少なくとも１つの先祖を階層中に有する署名認証者は、受信者の公開鍵ＰＫＢを含む受信者によって送られた識別情報を認証する。また、認証者は、受信者の同一性に基づく復号鍵を更新するためのスケジュールを定める。検証が十分である場合、認証者は、受信者のために、同一性に基づく復号鍵ＳＫＨＩＤＢを生成する。非階層的なスキームの場合と同様に、鍵ＳＫＨＩＤＢは、システムパラメータと、受信者の識別情報（公開鍵を含む）と、有効期間等の付随的な情報と、を使用して生成される。また、ＳＫＨＩＤＢは、少なくとも一つの先祖認証者の鍵生成シークレットに関連付けられる。その後、認証者は、ＳＫＨＩＤＢを受信者に対して送る。受信者の識別情報ＩｎｆＢは、他のユーザにとって利用可能である。
【０１２１】
暗号化アルゴリズムにおいて、送信者は、対象とする受信者の公開鍵ＰＫＢ及びｐａｒａｍｓと、対象とする受信者のＩＤ−タプルおよびＩｎｆＢに含められる情報を含んでいる受信者の同一性に基づく暗号鍵と、を使用して、対象とする受信者に対してメッセージ
【数３６】
2010161826.tif 000038
【０１２２】
を二重に暗号化する。
【０１２３】
逆に、復号アルゴリズムにおいて、受信者は、受信者の秘密鍵ＳＫＢおよび同一性に基づく復号鍵（ＳＫＨＩＤＢ）を使用して暗号文Ｃを復号して、メッセージ
【数３７】
2010161826.tif 000039
【０１２４】
を復元する。
【０１２５】
（ペアリングに基づく階層型ＣＢＥ）
本発明のＨＣＢＥスキームの一実施の形態は、楕円曲線またはアーベル多様体に関連付けられるウェイルペアリングまたはテートペアリング等のペアリングに基づいているとともに、前述したバイリニア・ディフィー・ヘルマン問題に基づいている。
【０１２６】
図４は、本発明の一実施の形態に係る、複数の認証者を含むＨＩＤＥシステムでデジタルメッセージを暗号化および復号する方法を表わすフローチャートを示している。認証者は、少なくとも１つのルート認証者と、当該ルート認証者と受信者との間の階層中にあるｎ個の下位レベル認証者と、を含んでいる。ここで、ｎ≧１である。ブロック４０２において、ルート認証者は、ルート認証者だけに知られたルート鍵生成シークレットを選択する。その後、ブロック４０４において、ルート認証者は、ルート鍵生成シークレットに基づいて、ルート鍵生成パラメータを生成する。ブロック４０６において、下位レベル認証者は、下位レベル鍵生成シークレットを選択する。ルート鍵生成シークレットと同様に、下位レベル鍵生成シークレットの各々は、その対応する下位レベル認証者に対してのみ知られている。ブロック４０８においては、ｎ個の下位レベル認証者の各々毎に、下位レベル鍵生成パラメータが生成される。下位レベル鍵生成パラメータの各々は、その対応する下位レベル認証者における下位レベル鍵生成シークレットを少なくとも使用して、生成される。ルート鍵生成パラメータと同様に、下位レベル鍵生成パラメータの各々は、その対応する下位レベル鍵生成シークレットをマスクする。
【０１２７】
ブロック４１０において、送信者は、鍵生成パラメータおよび受信者の同一性に基づく暗号鍵のうちの少なくとも一方を使用して、メッセージをエンコードし、暗号文を形成する。例えば、送信者は、ルート鍵生成パラメータおよび受信者の公開鍵だけを使用してメッセージをエンコードしても良い。また、送信者は、デュアルＨＣＢＥスキームに関して後述するように、下位レベル鍵生成パラメータのうちの１つを使用しても良い。ブロック４１２において、下位レベル認証者は、受信者のために、同一性に基づく復号鍵を生成する。この場合、同一性に基づく復号鍵は、ｎ個の下位レベル鍵生成シークレットのうちの少なくとも１つに関連付けられる。例えば、受信者の同一性に基づく復号鍵は、少なくとも、同一性に基づく復号鍵を受信者に対して発行した認証者の下位レベル鍵生成シークレットに関連付けられることが好ましい。あるいは、受信者の同一性に基づく復号鍵は、そのｎ個の全ての先祖認証者の下位レベル鍵生成シークレットおよびルート鍵生成シークレットに関連付けられても良い。ブロック４１４において、受信者は、少なくともその同一性に基づく復号鍵およびその秘密鍵を使用して、暗号文をデコードするとともに、メッセージを復元する。
【０１２８】
各下位レベル認証者は、ルート認証者と同様に、鍵生成シークレットを有している。前述したように、下位レベル認証者は、このシークレットを使用して、ルート認証者が行なうのと同様、下位レベル認証者の子の各々毎に秘密鍵を生成することが好ましい。しかしながら、下位レベル認証者は、同一性に基づく復号鍵の抽出毎に同じシークレットを常に使用する必要はない。むしろ、認証者のクライアントの各々毎に、新たな鍵生成シークレットが無作為に生成されても良い。
【０１２９】
下位レベル認証者は受信者のために同一性に基づく復号鍵を生成することができる（ブロック４１２）ため、ルート認証者は、それ自身、同一性に基づく復号鍵の全てを生成する必要がない。また、下位レベル認証者は、それ自身の鍵生成シークレットを使用して、そのクライアントのために同一性に基づく復号鍵を生成するため、下位レベル鍵生成シークレットを危うくしても、階層に対する安全性が損なわれるのは、限られた部分だけとなる。下位レベル認証者の破損部分は、階層中の全ての同一性に基づく復号鍵を危うくするのではなく、当該認証者の鍵生成シークレットを使用して生成された同一性に基づく復号鍵だけ（すなわち、危うくされた認証者の直接の階層的子孫であるユーザの同一性に基づく復号鍵だけ）を危うくする。
【０１３０】
この実施形態の他の利点は、エンコードされたメッセージを受信者に送るために送信者が階層中にいる必要がないという点である。
【０１３１】
送信者は、受信者の同一性情報と、受信者の公開鍵と、ルート認証者によって生成されたシステムパラメータと、を単に知っているだけで良い。しかしながら、本発明のＨＩＤＥスキームには、送信者が階層中にいる時に利用できるようになる特定の更なる利点がある。例えば、送信者および受信者の両方が階層中にいる場合、これらの両方の当事者の同一性を使用することにより、メッセージ暗号化の効率が高まる。この種のＨＣＢＥスキームは、送信者および受信者の両方の同一性情報が暗号化アルゴリズムおよび復号アルゴリズムのための入力として使用されるため、デュアルＨＣＢＥと称される。以下、図５および図６を参照して、デュアルＨＣＢＥスキームを使用してメッセージをエンコードおよびデコードする方法について説明する。
【０１３２】
図５は、本発明の他の実施の形態に係る、送信者ｙと受信者ｚとの間でメッセージをエンコードおよびデコードする方法を表わすフローチャートを示している。図６は、典型的な階層構造を表すブロック図を示している。
【０１３３】
先の実施形態と同様に、この方法は、ルート認証者６０２と、階層中においてルート認証者６０２と受信者ｚ６０８との間にあるｎ個の下位レベル認証者６０４ａ，ｂ，ｄと、を少なくとも有するＨＣＢＥシステム内で行なわれる。ここで、ｎ≧１である。また、この実施形態における送信者ｙ６０６は、階層中にいなければならず、また、階層は、ルート認証者６０２と送信者ｙ６０６との間に、ｍ個の下位レベル認証者６０４ａ，ｂ，ｃも有している。ここで、ｍ≧１である。ルート認証者６０２と送信者ｙ６０６との間にあるｍ個の下位レベル認証者６０４ａ，ｂ，ｃ、および、ルート認証者６０２と受信者ｚ６０８との間にあるｎ個の下位レベル認証者６０４ａ，ｂ，ｄの中には、送信者ｙ６０６および受信者ｚ６０８の両方に共通する先祖であるｌ個の認証者６０４ａ，ｂがある。ここで、１≦ｌ＜ｍ，ｎである。例えば、図６は、これらｌ個の共通の先祖認証者（ＣＡｙ１／ＣＡｚ１６０４ａおよびＣＡｙｌ／ＣＡｚｌ６０４ｂ）のうちの２つを示している。
【０１３４】
この実施形態の方法は、ルート認証者だけに知られたルート鍵生成シークレットをルート認証者６０２が選択すると、ブロック５０２から開始される。その後、ブロック５０４において、ルート認証者６０２は、ルート鍵生成シークレットに基づいて、ルート鍵生成パラメータを生成する。ブロック５０６において、下位レベル認証者６０４ａ−ｄは、下位レベル鍵生成シークレットを選択する。ルート鍵生成シークレットと同様に、下位レベル鍵生成シークレットの各々は、その対応する下位レベル認証者６０４ａ−ｄのみに知られている。ブロック５０８において、下位レベル鍵生成パラメータは、ｎ個の下位レベル認証者６０４ａ−ｄの各々に形成される。各下位レベル鍵生成パラメータは、その対応する下位レベル認証者６０４ａ−ｄにおける下位レベル鍵生成シークレットを少なくとも使用して生成される。
【０１３５】
ブロック５１０において、送信者の親ＣＡｙｍ６０４ｃは、送信者ｙ６０６のための同一性に基づく復号鍵を生成する。この場合、同一性に基づく復号鍵は、ルート認証者６０２と送信者ｙ６０６との間にあるｍ個の下位レベル認証者６０４ａ，ｂ，ｃに対応するｍ個の下位レベル鍵生成シークレットのうちの少なくとも１つに関連付けられるように生成される。例えば、送信者の同一性に基づく復号鍵は、少なくとも、送信者の親ＣＡｙｍ６０４ｃの下位レベル鍵生成シークレットに関連付けられることが好ましい。あるいは、送信者の同一性に基づく復号鍵は、その直接の先祖認証者の下位レベル鍵生成シークレットのｍ個の全ておよびルート鍵生成シークレットに関連付けられても良い。
【０１３６】
送信者の同一性に基づく暗号鍵は、任意の文書Ｄに対応し得るが、以下の説明では、鍵は、送信者の公開鍵（ＰＫＡ）を含む送信者の識別情報（ＰＫＩＤＡ）等のパラメータと、認証者が新たな復号鍵を発行するスケジュールを表わすパラメータと、を含んでいる。ブロック５１２において、受信者の親ＣＡｚｎ６０４ｄは、送信者の親ＣＡｙｍ６０４ｃが送信者の同一性に基づく復号鍵を生成するために使用した方法と同様の方法で、受信者ｚのための同一性に基づく復号鍵を生成する。ＨＣＢＥの場合と同様に、受信者の同一性に基づく暗号鍵は、任意の文書Ｄに対応し得るが、以下の説明では、鍵は、受信者の公開鍵（ＰＫＢ）を含む受信者の識別情報（ＰＫＩＤＢ）等のパラメータと、認証者が新たな復号鍵を発行するスケジュールを表わすパラメータと、を含んでいる。
【０１３７】
ブロック５１４において、送信者ｙは、メッセージをエンコードして暗号文を形成する。送信者は、少なくとも、受信者の公開鍵と、送信者の同一性に基づく復号鍵と、ルート認証者６０２と送信者ｙ６０６との間にあり且つ送信者ｙ６０６および受信者ｚ６０８の両方に共通する最下位の先祖認証者（ＣＡｙｌ／ＣＡｚｌ６０４ｂ）のレベルまたはそれよりも下のレベルにある（ｍ−ｌ＋１）個の認証者（すなわち、ＣＡｙｌ６０４ｂおよびＣＡｙｍ６０４ｃ）に関連付けられた１または複数の下位レベル鍵生成パラメータと、を使用する。送信者ｙ６０６は、メッセージをエンコードする際、最下位の共通する先祖認証者（ＣＡｙｌ／ＣＡｚｌ６０４ｂ）よりも上にある（ｌ−１）個の認証者（すなわち、ＣＡｙ１６０４ａ）に関連付けられた下位レベル鍵生成パラメータのいずれも使用しない。この場合も同様に、下位レベル鍵生成パラメータは、受信者の識別情報と、認証者の同一性に基づく復号鍵生成スケジュールを含む付随的な情報と、に関連付けられる。
【０１３８】
その後、ブロック５１６において、受信者ｚ６０８は、暗号文をデコードすることにより、メッセージを復元する。受信者は、少なくとも、受信者の秘密鍵と、受信者の同一性に基づく復号鍵と、ルート認証者６０２と受信者ｚ６０８との間にあり且つ送信者ｙ６０６および受信者ｚ６０８の両方に共通する最下位の先祖認証者（ＣＡｙｌ／ＣＡｚｌ６０４ｂ）のレベルまたはそれよりも下のレベルにある（ｎ−ｌ＋１）個の認証者（すなわち、ＣＡｚｌ６０４ｂおよびＣＡｚｎ６０４ｃ）に関連付けられた１または複数の下位レベル鍵生成パラメータと、を使用する。受信者ｙ６０６は、メッセージをデコードする際、最下位の共通する先祖認証者（ＣＡｙｌ／ＣＡｚｌ６０４ｂ）よりも上にある（ｌ−１）個の認証者（すなわち、ＣＡｚ１６０４ａ）に関連付けられた下位レベル鍵生成パラメータのいずれも使用しない。
【０１３９】
本発明のこのようなデュアルＨＣＢＥの実施形態は、より少ない鍵生成パラメータを使用するだけで済むため、メッセージをより効率的にエンコードおよびデコードするスキームを提供する。例えば、通常のＨＣＢＥスキームにおける復号は、ｎ個の鍵生成パラメータの全てを好ましくは必要とするが、デュアルＨＣＢＥスキームにおける復号は、（ｎ−ｌ）個の鍵生成パラメータだけを好ましくは必要とする。デュアルＨＣＢＥスキームでは、ルート認証者のパブリックシステムパラメータを単に得るのではなく、送信者ｙ６０６に、エンコードされたメッセージを受信者ｚ６０８に送る前に、その同一性に基づく復号鍵を得ることを要求する。
【０１４０】
また、デュアルＨＣＢＥスキームによれば、送信者ｙ６０６および受信者ｚ６０８は、後で詳しく述べるように、限られた形式のキーエスクローを使用することができる。この共有のシークレットは、その最下位の共通する先祖ＣＡｙｌ／ＣＡｚｌ６０４ｂ以外の第三者には知られない。しかしながら、本発明のＣＢＥスキームは、キーエスクローを完全に避ける。それにもかかわらず、デュアルＨＣＢＥは、暗号文の長さ及び復号時間が短いという利点を提供し続ける。
【０１４１】
図７は、本発明の他の実施形態に係る、送信者ｙと受信者ｚとの間で通信されるデジタルメッセージ
【数３８】
2010161826.tif 000040
【０１４２】
をエンコードおよびデコードする方法を表わすフローチャートを示している。
【０１４３】
図６に示されるように、受信者ｚ６０８は、階層中においてルート認証者よりも（ｎ＋１）レベル下にあり、ＩＤ−タプル（ＩＤｚ１，．．．，ＩＤｚ（ｎ＋１））に関連付けられている。受信者のＩＤ−タプルは、受信者に関連付けられた同一性情報ＩＤｚｉと、階層中におけるそのｎ個の先祖下位レベル認証者の各々に関連付けられた同一性情報ＩＤｚｉと、を含んでいる。
【０１４４】
この方法は、複数の要素から成る第１および第２の循環群Γ１，Γ２を生成することにより、ブロック７０２から開始される。ブロック７０４においては、ファンクション
【数３９】
2010161826.tif 000041
【０１４５】
が選択される。この場合、ファンクション
【数４０】
2010161826.tif 000042
【０１４６】
は、許容できるペアリング
【数４１】
2010161826.tif 000043
【０１４７】
が第１の循環群Γ１の２つの要素から第２の循環群Γ２の１つの要素を生成できるように選択される。ブロック７０６においては、第１の循環群Γ１のルートジェネレータＰ０が選択される。ブロック７０８においては、ルート認証者６０２に関連付けられ且つルート認証者６０２だけに知られたランダムルート鍵生成シークレットｓ０が選択される。ｓ０は、循環群Ｚ／ｑＺの１つの要素であることが好ましい。ブロック７１０においては、ルート鍵生成パラメータＱ０＝ｓ０Ｐ０が生成される。Ｑ０は、第１の循環群Γ１の１つの要素であることが好ましい。ブロック７１２においては、第１のファンクションＨ１が選択される。この場合、ファンクションＨ１は、第１の二進数字列から第１の循環群Γ１の要素を生成できるように選択される。簡単のためには、第１の二進数字列から第１の循環群Γ１の要素を生成できる１つのファンクションだけが使用される必要があるが、この種の幾つかの異なるファンクションがアルゴリズムの異なる点で使用されても良い。ブロック７１４においては、第２のファンクションＨ２が選択される。この場合、ファンクションＨ２は、第２の循環群Γ２の要素から第２の二進数字列を生成できるように選択される。ブロック７０２からブロック７１４のファンクションは、前述した非階層型のＨＣＢＥルートセットアップアルゴリズムの一部であり、ほぼ同時に実行することができる。
【０１４８】
次の一連のブロック（ブロック７１６から７２４）は、下位レベルセットアップアルゴリズムの一部として実行されるファンクションを示している。ブロック７１６においては、受信者のｎ個の先祖下位レベル認証者の各々に、要素ＰＺｉが生成される。１≦ｉ≦ｎにおいて各要素ＰＺｉ＝Ｈ１（ＩＤ１，．．．．，ＩＤＺｉ）は、第１の循環群Γ１の１つの要素であることが好ましい。全てのパブリック要素ＰＺｉの生成が１つのブロックで表わされているが、これらのパブリック要素ＰＺｉの生成は、同時に行なわれることなく経時的に行なわれても良い。
【０１４９】
受信者のｎ個の先祖下位レベル認証者６０４ａ，ｂ，ｄの各々に、下位レベルシークレットｓＺｉが選択される（ブロック７２０）。下位レベルシークレットｓＺｉは、１≦ｉ≦ｎにおいて循環群Ｚ／ｑＺの要素であることが好ましく、また、各下位レベル鍵生成シークレットｓＺｉは、その対応する下位レベル認証者だけに知られていることが好ましい。この場合も同様に、全ての下位レベルシークレットｓＺｉの選択が１つのブロックで表わされているが、これらの下位レベルシークレットｓＺｉの選択は、同時に行なわれることなく経時的に行なわれても良い。
【０１５０】
送信者のｎ個の先祖下位認証者の各々に、下位レベルシークレット要素ＳＺｉが生成される（ブロック７２２）。１≦ｉ≦ｎにおいて各下位レベルシークレット要素ＳＺｉ＝ＳＺ（ｉ−１）＋ｓｚ（ｉ−１）ＰＺｉは、第１の循環群Γ１の要素であることが好ましい。パブリック要素ＰＺｉおよびシークレットｓＺｉと同様に、全てのシークレット要素ＳＺｉの生成が１つのブロックで表わされているが、これらのシークレット要素ＳＺｉの生成は、同時に行なわれることなく経時的に行なわれても良い。
【０１５１】
また、受信者のｎ個の先祖下位レベル認証者の各々に、下位レベル鍵生成パラメータＱＺｉも生成される（ブロック７２４）。１≦ｉ≦ｎにおいて各鍵生成パラメータＱＺｉ＝ｓＺｉＰ０は、第２の循環群Γ２の要素であることが好ましい。この場合も同様に、全ての鍵生成パラメータＱＺｉの生成が１つのブロックで表わされているが、これらの鍵生成パラメータＱＺｉの形成は、同時に行なわれることなく経時的に行なわれても良い。
【０１５２】
次の２つのブロック（ブロック７２６，７２８）のファンクションは、前述した認証アルゴリズムの一部として実行される。ブロック７２６においては、受信者ｚに関連付けられた受信者要素ＰＺ（ｎ＋１）が生成される。受信者要素ＰＺ（ｎ＋１）＝Ｈ１（Ｉｎｆｚ（ｎ＋１），ＩＤＺ１，．．．．，ＩＤＺ（ｎ））は、第１の循環群Γ１の要素であることが好ましい。ここで、Ｉｎｆｚ（ｎ＋１）は、受信者の公開鍵と受信者の同一性に基づく復号鍵の有効期間等の付随的な情報とを含んでいても良い二進数字列である。その後、ブロック７２８において、受信者ｚに関連付けられた受信者シークレット要素ＳＺ（ｎ＋１）が生成される。また、受信者復号鍵
【数４２】
2010161826.tif 000044
【０１５３】
も、第１の循環群Γ１の要素であることが好ましい。受信者は、受信者復号鍵およびＳＫＢを使用して、ＳＢ＝Ｓｚ（ｎ−１）＋ｓＢＰ’Ｂを計算する。
【０１５４】
便宜上、第１のファンクションＨ１は、随意的に、反復関数となるように選択されても良い。この場合、例えば、Ｈ１（ＩＤ１，．．．，ＩＤｚｉ）としてではなく、Ｈ１（Ｐｚ（ｉ−１），ＩＤｚｉ）として、パブリックポイントＰｉが演算されても良い。
【０１５５】
図７に示される最後の２つのブロック（ブロック７３０，７３２）は、前述した暗号化アルゴリズムおよび復号アルゴリズムを表わしている。ブロック７３０において、送信者は、暗号文Ｃを生成するためにメッセージ
【数４３】
2010161826.tif 000045
【０１５６】
をエンコードする。このエンコードは、少なくとも受信者の公開鍵およびルート鍵生成パラメータＱ０を使用することが好ましい。ブロック７３２において、受信者は、暗号文Ｃを復号して、メッセージ
【数４４】
2010161826.tif 000046
【０１５７】
を復元する。復号は、下位レベル鍵生成パラメータＱｚｉと受信者の復号鍵Ｓｚ（ｎ＋１）と受信者の秘密鍵とを少なくとも使用することが好ましい。ここで、図８および図９を参照しながら、メッセージ
【数４５】
2010161826.tif 000047
【０１５８】
および暗号文Ｃのエンコードおよびデコードにおけるパラメータおよび要素の特定の用法について説明する。
【０１５９】
図８は、本発明の他の実施形態に係る、送信者ｙと受信者ｚとの間で通信されるデジタルメッセージ
【数４６】
2010161826.tif 000048
【０１６０】
をエンコードおよびデコードする方法を表わすフローチャートを示している。ベーシックＨＣＢＥと呼ばれるこのスキームにおいて、ルートセットアップアルゴリズム、下位レベルセットアップアルゴリズム、抽出アルゴリズム、及び、認証アルゴリズムは、図７のブロック７０２から７２８で示した実施形態における場合と同じである。したがって、図８のフローチャートは、ブロック８３０ａにおいてランダム暗号化パラメータｒを選択することによって開始される。ｒは、循環群Ｚ／ｑＺの整数であることが好ましい。その後、ブロック８３０ｂにおいて、式
【数４７】
2010161826.tif 000049
【０１６１】
を使用して、暗号文Ｃが生成される。この場合、
【数４８】
2010161826.tif 000050
【０１６２】
であり、
【数４９】
2010161826.tif 000051
【０１６３】
である。ここで、ｓＢＰは受信者の公開鍵であり、Ｐ’ＢはＨ１（Ｉｎｆｒｅｃ）である。この場合、Ｉｎｆｒｅｃは、受信者の公開鍵を含んでいる。
【０１６４】
メッセージは、エンコードされた後、ベーシックＨＣＢＥ復号アルゴリズムにしたがってデコードされ得る。この復号アルゴリズムにおいて、メッセージ
【数５０】
2010161826.tif 000052
【０１６５】
は、式
【数５１】
2010161826.tif 000053
【０１６６】
を使用して暗号文Ｃから復元される（ブロック８３２）。
【０１６７】
選択された暗号文の攻撃に対して安全な一方向暗号化スキームを作成する周知の方法は、ベーシックＨＣＢＥスキームを、選択された暗号文がランダムオラクルモデルで安全な完全ＨＣＢＥスキームに変換することができる。図９は、選択された暗号文を安全な状態にする完全ＨＩＤＥに基づくスキームを示している。
【０１６８】
図９は、現在において好ましい本発明の他の実施形態に係る、送信者ｙと受信者ｚとの間で通信されるデジタルメッセージ
【数５２】
2010161826.tif 000054
【０１６９】
をエンコードおよびデコードする方法を表わすフローチャートを示している。本発明のこの実施形態におけるルートセットアップアルゴリズム、下位レベルセットアップアルゴリズム、抽出アルゴリズム及び認証アルゴリズムは、この実施形態のルートセットアップアルゴリズムが２つの付加的なファンクションを必要とする点を除き、図７を参照して説明された実施形態の場合と同じである。したがって、図９のフローチャートは、付加的ファンクション（ブロック９１５ａ，９１５ｂ）を選択することにより開始され、暗号化アルゴリズムおよび復号アルゴリズム（ブロック９３０ａから９３２ｄ）に続く。
【０１７０】
ルートセットアップアルゴリズムは、第３のファンクションＨ３（ブロック９１５ａ）および第４のファンクションＨ４（ブロック９１５ｂ）を選択することによって終了する。第３のファンクションＨ３は、２つの二進数字列から循環群Ｚ／ｑＺの整数を生成できることが好ましい。第４のファンクションＨ４は、他の二進数字列から１つの二進数字列を生成できることが好ましい。
【０１７１】
暗号化アルゴリズムは、ランダム二進数字列σの選択を表わすブロック９３０ａから開始される。その後、ブロック９３０ｂに示されるように、ランダム二進数字列σは、ランダム整数ｒ＝Ｈ３（σ，Ｍ）を生成するために使用される。Ｗは、好ましくは対称暗号化アルゴリズムＥと暗号鍵としてのＨ４（σ）とを使用して生成される実際のメッセージＭの対称暗号である。
【０１７２】
したがって、
【数５３】
2010161826.tif 000055
【０１７３】
となる。ブロック９３０ｃにおいては、暗号文Ｃ＝［Ｕ０，Ｕ２，．．．．，Ｕｎ＋１，Ｖ，Ｗ］が生成される。暗号文Ｃは、階層中における受信者の位置および受信者の公開鍵に関連する要素Ｕ０＝ｒＰ０およびＵｉ＝ｒＰｚｉ（２≦ｉ≦ｎ＋１）を含んでいる。暗号文Ｃの第２の部分は、暗号化された形式
【数５４】
2010161826.tif 000056
【０１７４】
のランダム二進数字列σである。ここで、
【数５５】
2010161826.tif 000057
【０１７５】
である。要素ｇは、第２の循環群Γ２の構成要素であることが好ましい。暗号文Ｃの第３の部分は、前述した暗号化された形式の実際のメッセージである。
【０１７６】
復号アルゴリズムは、ランダム二進数字列σの復元を示すブロック９３２ａから開始される。ランダム二進数字列σは、式
【数５６】
2010161826.tif 000058
【０１７７】
を使用して復元される。その後、式
【数５７】
2010161826.tif 000059
【０１７８】
を使用して、暗号文Ｃからメッセージ
【数５８】
2010161826.tif 000060
【０１７９】
が復元される（ブロック９３２ｂ）。暗号文は、随意的に、内部整合性がチェックされても良い。例えば、ブロック９３２ｃに示されるように、試験的なランダム整数ｒ’＝Ｈ３（σ，Ｍ）が生成されても良い。その後、試験的なランダム整数ｒ’は、ブロック９３２ｄにおいて、Ｕ０＝ｒ’Ｐ０およびＵｉ＝ｒ’Ｐｚｉ（２≦ｉ≦ｎ＋１）であることを確認するために使用され得る。Ｕ０＝ｒ’Ｐ０およびＵｉ＝ｒ’Ｐｚｉ（２≦ｉ≦ｎ＋１）である場合、暗号文Ｃは真正であると見なされる。
【０１８０】
図５および図６を参照して説明したデュアルＨＣＢＥの概念は、ベーシックＨＣＢＥスキームおよび完全ＨＣＢＥスキームに適用され得る。図６に示されるように、送信者および受信者の両者が階層構造内にある場合、デュアルＨＣＢＥによって、これらの両者は、自分達の暗号化された通信の効率および安全性を向上させることができる。デュアルＨＣＢＥをベーシックＨＣＢＥスキームおよび完全ＨＣＢＥスキームに適用するには、付加的な情報を決定する必要がある。これらの情報の殆どは、前述した下位レベルセットアップアルゴリズムによって決定される。例えば、要素Ｐｙｉ、下位レベル鍵生成シークレットｓｙｉ、下位レベルシークレット要素Ｓｙｉ、下位レベル鍵生成パラメータＱｙｉは、送信者のｍ個の先祖下位レベル認証者のために決定されなければならない。しかしながら、送信者ｙおよび受信者ｚの両者に共通の先祖である下位レベル認証者においては、送信者ｙおよび受信者ｚの両方を解析する目的のため、これらのパラメータが同じであることが好ましい（すなわち、全てのｉ≦ｌにおいて、Ｐｙｉ＝Ｐｚｉ，ｓｙｉ＝ｓｚｉ，Ｓｙｉ＝Ｓｚｉ，Ｑｙｉ＝Ｑｚｉ）また、デュアルＨＣＢＥでは、受信者に関してこれらのパラメータを決定する前述した方法と同じ方法を使用して、送信者のための送信者パブリック要素Ｐｙ（ｍ＋１）および送信者シークレット要素Ｓｙ（ｍ＋１）を決定する必要もある。
【０１８１】
これらの付加的なパラメータが与えられると、ｉ＜ｌの下位レベル鍵生成パラメータＱｙｉを使用するのではなく、送信者シークレット要素Ｓｙ（ｍ＋１）およびｉ≧ｌの下位レベル鍵生成パラメータＱｙｉを使用することにより、デュアルＨＣＢＥの原理にしたがって、メッセージＭがエンコードされ暗号文Ｃが形成され得る。同様に、ｉ＜ｌの下位レベル鍵生成パラメータＱｚｉを使用するのではなく、受信者シークレット要素Ｓｚ（ｍ＋１）およびｉ≧ｌの下位レベル鍵生成パラメータＱｚｉを使用することにより、暗号文ＣがデコードされメッセージＭが復元され得る。
【０１８２】
例えば、ベーシックＨＣＢＥスキーム（図７および図８）において、デュアルＨＣＢＥを適用すると、暗号文Ｃ＝［Ｕ０，Ｕｌ＋１，．．．．，Ｕｎ＋１，Ｖ］を生成するためのメッセージ
【数５９】
2010161826.tif 000061
【０１８３】
のエンコードが変わる。ここで、Ｕ０＝ｒＰ及びＵｉ＝ｒＰｚｉ（２≦ｉ≦ｎ＋１）であり、
【数６０】
2010161826.tif 000062
【０１８４】
であり、また、
【数６１】
2010161826.tif 000063
【０１８５】
である。要素Ｕｉは、前述した方法と同じ方法で計算されるが、それらのうち必要なのは僅かである。しかしながら、デュアルベーシックＨＣＢＥにおいて、送信者ｙは、前述したようにｇを生成するために必要な数よりも多い数の鍵生成パラメータＱｙｉを使用してｇｙｌを形成する必要がある。これは、暗号化アルゴリズムが送信者の同一性を組み込んでいるためである。
【０１８６】
復号アルゴリズムの効率の向上は更に劇的である。
【０１８７】
メッセージ
【数６２】
2010161826.tif 000064
【０１８８】
は、
【数６３】
2010161826.tif 000065
【０１８９】
を使用して復元される。この場合も同様に、必要なＵｉパラメータは僅かである。同様に、受信者は、デュアルＨＣＢＥの場合、他の方法において必要であろうよりも少ない鍵生成パラメータＱｚｉを必要とする。
【０１９０】
デュアル完全ＨＣＢＥスキームを形成するために、完全ＨＣＢＥもまた変更され得る。暗号化アルゴリズムにおける暗号文Ｃの生成は、Ｃ＝［Ｕ０，Ｕｌ＋１，．．．．，Ｕｎ＋１，Ｖ，Ｗ］となるように変更される。ここで、Ｕ０＝ｒＰ，Ｕｉ＝ｒＰｚｉ（ｌ＋１≦ｉ≦ｎ＋１）である。Ｗおよびｒのパラメータは、依然として同じ方法
【数６４】
2010161826.tif 000066
【０１９１】
で生成されるが、
【数６５】
2010161826.tif 000067
【０１９２】
におけるｇｙｌパラメータは、
【数６６】
2010161826.tif 000068
【０１９３】
を使用して生成される。
【０１９４】
また、復号アルゴリズムも、デュアル完全ＨＣＢＥスキームにおいて変更される。ランダム二進数字列σは、
【数６７】
2010161826.tif 000069
【０１９５】
を使用して復元される。そうでなければ、メッセージ
【数６８】
2010161826.tif 000070
【０１９６】
の復元は変わらない。
【０１９７】
（集約署名ＣＢＥ）
本発明の他の実施形態においては、承認チェーン（ａｕｔｈｏｒｉｚａｔｉｏｎ  ｃｈａｉｎ）における任意のタイプの情報に関する署名を１つの点に圧縮するために、１つのスキームが使用され得る。すなわち、ｎ人の異なるユーザからｎ個の別個のメッセージに関してｎ個の署名が与えられると、これらの全ての署名を１つの短い署名に集約することができる。ｈｔｔｐ：／／ｅｐｒｉｎｔ．ｉａｃｒ．ｏｒｑ／２００２／１７５／で利用できるＤ．Ｂｏｎｅｈ，  Ｃ．Ｇｅｎｔｒｙ，  Ｂ．Ｌｙｎｎ，  Ｈ．Ｓｈａｃｈａｍによる「バイリニアマップからの検証可能な集約暗号化署名（ｅｐｒｉｎｔ  ａｒｃｈｉｖｅ，２００２）」は、複数の文書に関する複数の署名者による複数の署名が楕円曲線上の単一の点として簡潔に表わされ得る帯域効率が良い集約署名スキームについて記載している。
【０１９８】
そのような集約署名に基づくＣＢＥプロトコルにおいて、受信者は、受信者の秘密鍵ＳＫＢの他に認証者によって生成された署名を有している場合にだけ、暗号化されたメッセージを復号することができる。ここで、必要とされる各署名者の公開鍵（Γ１の１つの要素）は、楕円曲線上の１つの点Ｐのように、また、複数のメッセージを楕円曲線上の複数の点にマッピングする１つのファンクションＨのように、暗号化システムのユーザにとって容易に利用できる。
【０１９９】
集約署名ＣＢＥの一実施形態において、ｉ番目の署名者は、その秘密鍵としてｓｉを選択するとともに、その公開鍵としてｓｉＰを計算する。その後、ｉ番目の署名者は、ＰＭｉ＝Ｈ（Ｍｉ）を計算することにより文書Ｍｉに署名するとともに、その署名Ｓｉ＝ｓｉＰＭｉを受信者に対して送信する。
【０２００】
検証者を含む任意のエンティティは、
【数６９】
2010161826.tif 000071
【０２０１】
であることをチェックすることにより、Ｓｉがｉ番目の署名者による本物の署名であることを検証することができる。また、任意のエンティティは、署名を総計することによって署名を集約することもできる。集約署名Ｓ、署名者の公開鍵、及び、署名されるそれぞれの文書を知っている任意のエンティティは、
【数７０】
2010161826.tif 000072
【０２０２】
であることをチェックすることにより、集約署名が本物であることを検証することができる。
【０２０３】
メッセージ送信者は、メッセージ受信者が復号のために受信者秘密鍵と特定の集約署名とを必要とするように、そのメッセージを暗号化する。メッセージ送信者は、メッセージ受信者の公開鍵と、特定の署名者の公開鍵と、署名される特定の文書とを使用して、
【数７１】
2010161826.tif 000073
【０２０４】
となるように暗号文を設定することにより、メッセージＭを暗号化する。ここで、
【数７２】
2010161826.tif 000074
【０２０５】
及び
【数７３】
2010161826.tif 000075
【０２０６】
である。
【０２０７】
メッセージ受信者は、メッセージＭの復元を可能にするべく、
【数７４】
2010161826.tif 000076
【０２０８】
を計算する。
【０２０９】
文書Ｍｉは、任意のタイプのデジタル情報を含み得るし、１または複数の認証者は、様々な文書に署名し得る。本発明の一実施形態において、１つの文書Ｍｉは、受信者の公開鍵における有効期間を含んでおり、また、受信者の公開鍵を含む他の識別情報を含んでいても良い。この実施形態において、受信者は、受信者の公開鍵が期間ｉにおいて有効であることを証明するＭｉに関するｉ番目の署名者の署名を集約署名が含んでいる場合にだけ、復号することができる。
【０２１０】
本発明の他の実施形態において、認証者は、少なくとも１つのルート認証者と、当該ルート認証者とエンティティとの間の階層中にあるｎ個の下位レベル認証者と、を含む集約署名階層を形成する。ここで、ｎ≧１である。例えば、受信者は、それよりも上位に公開鍵ｓｋＰ（０≦ｋ≦ｔ−１）を有する認証者を持つ階層中のレベルｔにいても良い。各認証者は、それよりも下位にあるｓｋＰｋ＋１（０≦ｋ≦ｔ−２）を形成する認証者の公開鍵を認証する。この場合、Ｐｋ＋１＝Ｈ１（ＣＡｋ＋１ｎａｍｅ，ｓｋ＋１Ｐ）である。ここで、ＣＡｋ＋１ｎａｍｅは、レベル（ｋ＋１）の認証者における識別情報である。レベル（ｔ−１）の認証者は、ｓｔ−１ＰＢを生成する受信者を認証する。この場合、ＰＢ＝Ｈ１（Ｒｅｃｉｐｉｅｎｔｎａｍｅ，ｓＢＰ，ｉ）である。ここで、Ｒｅｃｉｐｉｅｎｔｎａｍｅは受信者の識別情報であり、ｓＢＰは受信者の公開鍵であり、ｉは受信者の公開鍵の有効期間を決定するパラメータである。
【０２１１】
Ｍを暗号化するため、送信者は、ランダムｒ∈Ｚ／ｑＺを選択するとともに、暗号文
【数７５】
2010161826.tif 000077
【０２１２】
を形成する。ここで、
【数７６】
2010161826.tif 000078
【０２１３】
である。復号するため、受信者は、ｔ個の証明書の集合体
【数７７】
2010161826.tif 000079
【０２１４】
を所有しているものとする。受信者は、
【数７８】
2010161826.tif 000080
【０２１５】
を計算した後に、
【数７９】
2010161826.tif 000081
【０２１６】
を復号する。
【０２１７】
ここで、暗号化は、ｔ個のペアリング計算を含んでいる。しかしながら、復号時間および暗号文の長さは、Ｂｏｎｅｈ−Ｆｒａｎｋｌｉｎと同じである。この方法は、暗号文の長さが基本的にｔに比例する前述した階層型スキームを超える利点を与える。
【０２１８】
前述したスキームの場合と同様に、集約署名ＣＢＥは、Ｆｕｊｉｓａｋｉ−Ｏｋａｍｏｔｏ変換を使用することにより、選択された暗号文をランダムオラクルモデルで安全な状態にすることができる。
【０２１９】
（汎用ペアリングに基づく署名を使用するＣＢＥ）
以上の説明は、受信者の復号鍵がペアリングに基づく署名であるという、異なるペアリングに基づくＣＢＥの実施形態について論じている。例えば、ペアリングに基づくＣＢＥの最も簡単な形態において、受信者の復号鍵は、１つの文書に関する一人の認証者の署名であるΓ１の１つの要素である。ＨＣＢＥおよびデュアルＨＣＢＥのペアリングに基づく実施形態において、受信者の復号鍵は、Γ１の複数の要素から成る１つの文書に関する階層的な同一性に基づく署名である。集約署名ＣＢＥのペアリングに基づく実施形態において、受信者の複合鍵は、Γ１の１つの要素に集約され得る複数の文書に関する複数の署名者による複数の署名を表している。一般に、これらの署名スキームにおける検証アルゴリズムは、公開鍵点とメッセージ点−例えば集約署名におけるｓｉＰおよびＰＭｉ−とのペアリングの積が、署名点とダミー点−例えば集約署名におけるｓｉＰＭｉおよびＰ−とのペアリングの積に等しい、ことを確認することによって機能する。本発明の他の実施形態においては、ペアリングに基づくＣＢＥスキームを構成するために、任意のペアリングに基づく署名スキームが使用され得る。この場合、ここでは、ペアリングに基づく署名スキームが、公開鍵点とメッセージ点とのペアリングの積が署名点とダミー点とのペアリングの積に等しいことを確認することによって検証アルゴリズムが機能するスキームとなるように規定される。
【０２２０】
例えば、検証アルゴリズムが
【数８０】
2010161826.tif 000082
【０２２１】
であることを確認すると仮定する。ここで、Ｑは公開鍵点であり、Ｐはメッセージ点であり、Ｓは署名点であり、Ｄは復号点であり、必ずしも異なってはいない。署名スキームが安全である場合、安全なペアリングに基づくＣＢＥスキームが構成され得る。送信者は、ランダムｒ∈Ｚ／ｑＺを選択するとともに、暗号文
【数８１】
2010161826.tif 000083
【０２２２】
を生成する。ここで、
【数８２】
2010161826.tif 000084
【０２２３】
である。メッセージ受信者が全ての署名点すなわち全ての必要な承認を有している場合、メッセージ受信者は、
【数８３】
2010161826.tif 000085
【０２２４】
、したがってＭを計算し得る。前述したように、このスキームは、Ｆｕｊｉｓａｋｉ−Ｏｋａｍｏｔｏ変換を使用することにより、選択された暗号文をランダムオラクルモデルで安全な状態にすることができる。
【０２２５】
（高粒度ＣＢＥ）
本発明の他の実施形態は、高粒度ＣＢＥスキームを形成するために逆に機能する前方安全（ｆｏｒｗａｒｄ−ｓｅｃｕｒｅ）暗号化スキームを有するＣＢＥスキームを含んでいる。
【０２２６】
従来の前方安全暗号化スキームにおいて、システムの寿命は、それぞれが鍵有効期間を規定する多くの時間帯に分割される。この期間は、ＣＢＥシステムにおける同一性に基づく復号鍵の有効期間に相当する。この前方安全システムにおいては、連続する時間帯中に秘密鍵が変更され、これにより、鍵が危うくされる場合でも、前の時間帯で受信者に対して送信されたメッセージを攻撃者が復号できないようにする。しかしながら、危うくされた後に送信者がその鍵を使用し続ける場合、攻撃者は、その後の時間帯で送信されたメッセージを復号することができる。ｈｔｔｐ：／／ｅｐｒｉｎｔ．ｉａｃｒ．ｏｒｑ／２００２／０６０／で利用できるＪ．Ｋａｔｚによる「前方安全公開鍵暗号化スキーム（ｅｐｒｉｎｔ  ａｒｃｈｉｖｅ，２００２）」は、そのような前方安全スキームについて記載している。なお、この内容は、これを参照することにより本願に組み込まれる。Ｋａｔｚスキームの安全性は、ランダムオラクルモデルにおけるバイリニア・ディフィー・ヘルマン仮定に基づいており、選択された暗号文の安全性を得るために拡張され得る。
【０２２７】
本発明の高粒度ＣＢＥスキームにおいて、認証者は、特定の時間或いはその前の時間における時間パラメータセットを使用して暗号化されたメッセージであるがその後の時間における時間パラメータセットを用いて暗号化されたメッセージではないメッセージを復号するために使用できる、受信者の同一性に基づく復号鍵を発行するために逆に機能する前方安全スキームを使用する。
【０２２８】
従来のＣＢＥスキームにおいて、認証者は、暗号化中に使用される全ての時間にわたって、同一性に基づく復号鍵を、潜在的な各メッセージ受信者に対して発行しなければならない。鍵が危うくされる状況に対して認証者が迅速に応答できる場合には、短い時間の間だけ鍵が有効でなければならない。例えば、認証者は、１分の有効期間を有する鍵を発行することが要求され得て、これにより、１分毎に各ユーザに対して新たな鍵を発行することが要求され得る。そのような多数の鍵を全てのユーザのために送信するには、かなりのリソースが必要である。
【０２２９】
高粒度認証復号スキームにおいて、受信者は、前方安全スキームにより、暗号化されたメッセージを読むというセッションを受信者が開始したい場合にのみ、鍵の更新を要求することができる。メッセージを読むというセッションを受信者が１日当たり４つだけ有している場合、例えば、受信者が数時間毎に１回だけその電子メールアカウントにログインする場合には、メッセージ受信者が復号する実際のメッセージの数とは無関係に、４つの鍵だけが必要とされる。各鍵により、受信者は、鍵を必要とする時よりも早い時間パラメータセットあるいは鍵を必要とする時の時間パラメータセットを使用して暗号化されたメッセージであるがその後の時間を示すパラメータを用いて暗号化されたメッセージではないメッセージの全てを復号することができる。高粒度ＣＢＥは、認証者によって送信される同一性に基づく復号鍵の数を減らすことにより、送信コストを低減する。このスキームは、オンラインスキームまたは従来の高粒度スキームと比べて様々なトレードオフを与える。
【０２３０】
オンラインスキームにおいて、認証者は、各メッセージの復号において、受信者と協力する。したがって、オンライン手法を高粒度ＣＢＥスキームと比較すると、最も重要なメトリック（尺度）は、セッション毎に受信者が幾つのメッセージを復号したいと考えるかである。少なくとも認証者への負担を最小限に抑えるという点からは、セッション当たりのメッセージの数が多い場合には、高粒度ＣＢＥプロトコルが好ましい。
【０２３１】
高時間粒度を組み入れる従来の手法は、メッセージ送信者がメッセージを送信する前に受信者の鍵の状態をオンラインチェックすることを必要とする。この場合も同様に、セッション当たりに多数のメッセージがある場合には、従来の手法にわたって高粒度ＣＢＥプロトコルを行なうことが好ましい。なぜなら、この場合、送信者は、各メッセージ毎に演算を行なわなければならないからである。
【０２３２】
高い頻度で鍵の更新が成される場合、高粒度ＣＢＥスキームにより、受信者は、受信者がメッセージを読むというセッションを開始したい時にだけ、同一性に基づく復号鍵の情報をダウンロードすることができる。ダウンロードされた情報は、現在の時間に至るまでの時間パラメータを使用して暗号化されたメッセージであるがその後の時間における時間パラメータを使用して暗号化されたメッセージではないメッセージの復号を可能にする。認証者は、発生した各時間毎に別個の同一性に基づく復号鍵を計算して送信する必要がないため、従来のＣＢＥスキームよりも認証者の負担が軽減する。前回のダウンロード後の時間において鍵を計算するために必要な情報だけをダウンロードすることにより、ダウンロードのサイズを更に小さくすることができる（しかしながら、従来のＣＢＥスキームにおいては、受信者が認証者からの証明書を「プル」し、一方、認証者が受信者に対して証明書を「プッシュ」しても良いという事実により、幾つかの付加的な負担が認証者にのしかかる）。
【０２３３】
必要に応じて、高粒度ＣＢＥプロトコルと階層型認証スキームとを組み合わせて、ネットワーク全体のための鍵発行義務を持つ一人の認証者に負担をかけることを避けることができる。
【０２３４】
図１０は、高粒度ＣＢＥスキームの一実施形態を表わす図を示している。ここで、スキームの寿命は、多数の時間ｔに分割される。例えば、１日に約２１１分あるため、各分に対して１１ビットの二進数列ｂ１，．．．，ｂ１１が割り当てられ得る。各二進数列は、特定の時間分の「同一性」を表わす時間識別パラメータを規定する。システム寿命が１日よりも長い場合、それぞれの日がシステム寿命の一部を形成する。日を特定する時間部分識別パラメータ（日の「同一性」）は、個別に特定され得る。あるいは、受信者の同一性が日を特定しても良い。
【０２３５】
図１０は、高粒度ＣＢＥプロトコルの一実施形態を示している。
【０２３６】
図１０においては、高さがｔの２分木（２進木）の葉によって、一連の時間９０１が表わされている。ここで、一連の時間は、長さがｔの文字列＜ｉ＞でラベル付けされた２分木の葉に関連付けられている。すなわち、時間ｉは、＜ｉ＞でラベル付けされた葉に関連付けられている。
【０２３７】
リーフノードを含む２分木の各ノードｗ９０２には、認証者によりシークレット鍵ｓｋｗが割り当てられる。時間ｉ中にＰＫを使用して暗号化されたメッセージを復号するために、鍵ｓｋｉ＜ｉ＞だけが必要とされる。また、鍵ｓｋｅｗ９０３が与えられると、子孫鍵ｓｃｗｏ９０４，ｓｋｗ１９０５と、これらの鍵から得られる子孫と、を効率的に得ることができる。しかしながら、ＰＫおよびｉが与えられても、＜ｉ＞の全てのプレフィックスｗにおけるｓｋｅｗが無ければ、ｓｋｉ＜ｉ＞を得ることができず、あるいは、ｉを含むまでの時間中に暗号化されたメッセージを復号することができない。
【０２３８】
例えば、認証者は、時間１−３中のメッセージであってその後の時間中に送られたメッセージではないメッセージを受信者が復号できるようにしたい場合には、ノードに関連付けられた鍵ｗ０  ９０４，ｗ１０  ９０８を受信者に与える。受信者は、鍵ｗ０  ９０４から、時間１−２に関連付けられた鍵すなわちｗ００  ９０６，ｗ０１  ９０７を生成することができるとともに、時間３における鍵すなわちｗ１０  ９０８を有している。しかしながら、受信者は、時間４  ９０９中に、あるいは、その後の時間中に、メッセージを復号することができない。
【０２３９】
本発明の一実施形態において、ペアリングに基づく高粒度ＣＢＥスキームは、４つのランダム化アルゴリズム、すなわち、セットアップアルゴリズムと、鍵生成・認証アルゴリズムと、暗号化アルゴリズムと、復号アルゴリズムとを有している。
【０２４０】
セットアップ中、認証者は、前述したＣＢＥスキームと同様に、ＩＧ，ＢＤＨパラメータジェネレータおよびセキュリティパラメータｋを使用して、あるプライムオーダーｑの群Γ１，Γ２と、許容できるペアリング
【数８４】
2010161826.tif 000086
【０２４１】
と、を生成する。この場合も同様に、ペアリングは、それがバイリニアで、非縮退的で、計算できる場合に、許容できる。
【０２４２】
認証者は、鍵生成シークレットを選択するとともに、任意のジェネレータＰ∈Γ１を選択し、ランダムｓｃ∈Ｚ／ｑＺを選定し、Ｑ＝ｓｃＰを設定し、複数の暗号化関数
【数８５】
2010161826.tif 000087
【０２４３】
を選択することによりシステムパラメータを定める。ここで、メッセージスペースが
【数８６】
2010161826.tif 000088
【０２４４】
＝｛０．１｝ｎであり、システムパラメータがｐａｒａｍｓ＝（Γ１，Γ２，
【数８７】
2010161826.tif 000089
【０２４５】
，Ｐ，Ｑ，Ｈ１，Ｈ１’，Ｈ２）であり、認証者のマスター鍵生成シークレットがｓｃ∈Ｚ／ｑＺである。
【０２４６】
その後、鍵生成・認証アルゴリズムにおいて、認証者は、受信者の同一性に基づく復号鍵を生成する。時間ｉにおける鍵ＳＫｉは、全ての１≦ｋ≦ｔにおいて、ｉｋ＝１となるように、すなわち、時間ｉにまで至り且つ時間ｉを含む全ての時間におけるシークレット鍵となるように、ｓｋ＜ｉ＞と
【数８８】
2010161826.tif 000090
【０２４７】
とから成る。ここで、ＳＫｊは、ｊ≦ｉの場合、ＳＫｉから計算できる。
【０２４８】
ユーザが認証者からＳＫｉを要求すると、認証者は、ランダムｘ∈Ｚ／ｑＺを選択する。ｗ＝＜ｉ＞で且つ全てのｗ＝ｉ０．．．．ｉｋ−１０（１≦ｋ≦ｔ）においてｉｋ＝１となるように、認証者は、ＳＷ＝ｓＣＨ１（ｉ０，ＩｎｆＺ）＋ｘＨ１（ｗ）を計算するとともに、ｓｋＷ＝｛ｘＰ，Ｓｗ｝を設定する。認証者は、これらのｓｋＷを受信者に対して送信する。
【０２４９】
暗号化アルゴリズムにおいて、送信者は、ランダムｒを選択するとともに、メッセージを暗号化して、暗号文を以下のごとく設定することにより、暗号文Ｃを形成する。
【数８９】
2010161826.tif 000091
【０２５０】
ここで、ｓＢＰは受信者の公開鍵であり、ｊは送信者によって選択された時間であり、
【数９０】
2010161826.tif 000092
【０２５１】
である。
【０２５２】
復号アルゴリズムにおいて、ＳＫｊ（ｊ≦ｉ）を有する受信者は、ｊのプレフィックスである所定のｗ（すなわち、所定のｗは、あるｋ≦ｔにおいて、ｗ＝ｊ０．．．ｊｋである）におけるｓｋＷを知っている。このｓｋＷを使用して、受信者は、
【数９１】
2010161826.tif 000093
【０２５３】
を計算し、その後、
【数９２】
2010161826.tif 000094
【０２５４】
を計算することにより、Ｃ＝［Ｕ０，Ｕ１，．．．．Ｕｔ，Ｖ］を復号する。
【０２５５】
（認証再確認とＣＢＥとの組み合わせ）
前述したＣＢＥスキームは、認証者が各受信者の復号鍵に個別に署名することを必要とする。例えば、システムが２億５千万人のユーザを有するとともに時間粒度が１日で且つ各ユーザが各時間単位毎に復号鍵を受ける場合、認証者は、１日当たり、２億５千万の同一性に基づく署名を生成して送信しなければならない。
【０２５６】
良好なＰＫＩ提案は、暗号的且つアルゴリズム的な検討材料と現実世界の技術的限界とを釣り合わせなければならない。効率の点から見ると、２つの重要な要素は、各タイプのエンティティ（例えば認証者）によって行なわれる計算量、および、エンティティ間の通信コストである。本発明の他の実施形態は、認証者が新たな復号鍵をシステムのユーザに対して発行する計算効率が良い技術を提供する。
【０２５７】
複数のユーザにわたって公開鍵演算を償却するＣＢＥスキームは、効率に関して利点を与える。また、ＣＢＥスキームにおいて、認証者によって発行される証明書は、公開鍵暗号化スキームにおいて復号鍵としての機能も果たさなければならない。これらの復号鍵は、公開鍵演算を使用して計算されなければならない。しかしながら、Ｂ−ツリーのような効率的なデータ構造を使用することにより、認証者は、Ｎ個のクライアントを有しているにもかかわらず、１日につき、必ずしもＯ（Ｎ）個の公開鍵演算を行なう必要がない。
【０２５８】
本発明の一実施形態において、認証者の各クライアントは、認証者が定期的（例えば毎日）に「再確認する」長寿命な（例えば１年）証明書を割り当てられる。長寿命な証明書は、多くの方法で生成され得る。例えば、証明書は、前述したスキームと同様のスキームを使用して生成することができる。いずれにせよ、メッセージ送信者がメッセージ受信者の長寿命な証明書を有している場合には、送信者は、ＣＢＥを使用することにより、受信者の公開鍵がその意図する満了日前に取り消される可能性を避けることができる。
【０２５９】
暗号化においては、システム内のｎ人のユーザを表わす２分木の葉（リーフ）を使用する放送暗号化技術がある。ここで、ユーザのｍ＝ｌｏｇＮ個のシークレット鍵は、葉（リーフ）の先祖（葉それ自体を含む）であるｍ個のノードのシークレット鍵である。図１１は、そのようなシステムを示している。ここで、ユーザ４が放送に対して認証されている場合、認証者は、そのｍ個の先祖１１０１，１１０２，１１０３．．．１１０４のうちの１つのシークレット鍵を用いてセッション放送鍵を暗号化する。ユーザ４が放送に対して権利を与えられていない場合、ルートから当該葉（リーフ）への経路から「外れたところにいる（ｈａｎｇ  ｏｆｆ）」ノードに対応するｍ個のシークレット鍵が代わりに使用される。
【０２６０】
Ｒ人のユーザが放送に対して権利を与えられていないと、Ｒｌｏｇ（Ｎ／Ｒ）個のノード鍵を使用してセッション放送鍵が暗号化される。ここで、これらのノードは、（Ｎ−Ｒ）人の権利を与えられたユーザの「カバー」を形成する。図１２は、「カバー」の概念を示している。ここで、ノード１２０１に関連付けられた鍵は、ユーザ１，３，４，５，６，７，８，ｉ，ｉ＋１にカバーを与えるが、他のユーザにカバーを与えない。
【０２６１】
ＣＢＥスキームの一実施形態は、この技術を適用する。受信者をＢ−ツリーのリーフノードに関連付けるため、固有の二進数列が生成される。また、受信者リーフノードの各先祖ノードに関連付けられた固有の二進数列も生成される。本発明のペアリングに基づく実施形態において、認証者は、二進数列を関連する楕円曲線（またはアーベル多様体）上の複数の点Ｐｎｏｄｅに関連付ける、ある公的な方法を定める。
【０２６２】
これらの二進数列は、多くの方法で生成され得る。例えば、認証者は、ノードがその親の左の子か右の子かどうかに応じて、ファンクション（ｓｔｒｉｎｇｐａｒｅｎｔ，Ｏ）またはファンクション（ｓｔｒｉｎｇｐａｒｅｎｔ，１）として、ノードの二進数列を計算しても良い。あるいは、二進数列は、各受信者リーフノードと、当該ノードの子ノードに関連付けられた二進数列を少なくとも使用して生成された先祖に関連付けられた二進数列と、に対して割り当てられ得る。その後、１つのファンクションを使用して、各二進数列が楕円曲線上またはアーベル多様体上の１つの点にマッピングされ得る。一実施形態において、当該ファンクションはハッシュ関数であり得る。
【０２６３】
ノードの点Ｐｎｏｄｅに対応する復号鍵は、ｓＣＰｎｏｄｅである。ここで、ｓＣは、認証者によって維持されるマスターシークレットである。認証者は、再確認されるユーザのカバーを見つけ、その後、定期的に、そのカバーのノードに対応する復号鍵を発行する。再確認された全てのユーザは、ノードがそのリーフの先祖となるように、ある復号鍵ｓＣＰｎｏｄｅを見つけることができる。また、この復号鍵は、復号鍵の有効期間を定めるパラメータに関連付けられても良い。例えば、Ｐｎｏｄｅは、このパラメータによって決まっても良い。
【０２６４】
復号鍵ｓＣＰｎｏｄｅに関連付けられた点Ｐｎｏｄｅが送信者に知られている場合、送信者は、受信者の公開鍵ＰＫＢと、復号鍵と共に公開鍵／秘密鍵対を形成する暗号鍵と、を使用して、受信者に対するメッセージを暗号化することができる。
【０２６５】
しかしながら、送信者は、認証者によって使用されるカバーを知らなくても良いため、この復号鍵が受信者の先祖ノードのうちのいずれに対応しているかを知らなくても良い。したがって、送信者は、ｍ個の別個のメッセージ暗号化を引き起こす。
【０２６６】
送信者は、ランダムｒを選択するとともに、ｒＰを計算する。次に、送信者は、暗号文Ｃ＝［ｒＰ，Ｖ１，．．．，Ｖｍ］を暗号化する。
【０２６７】
ここで、
【数９３】
2010161826.tif 000095
【０２６８】
である。Ｐｉは、連続番号ｂ１．．．．ｂｉに対応する識別文字列である。また、暗号文のある部分、例えばＭは、受信者の公開鍵ＰＫＢを用いて暗号化される。これは、復号する必要があるｓＢＰ’Ｂを受信者がｓＢの知識を使用して計算する前述したスキームと同様の方法で行なうことができる。
【０２６９】
取り消されていない受信者は、認証者からある復号鍵ｓＣＰｉを受けてしまっている。受信者は、この鍵および受信者の秘密鍵ＳＫＢを使用して、Ｖｉのうちの１つを復号する。
【０２７０】
復号鍵が有効期間パラメータに関連付けられている場合、認証者が受信者の復号鍵を発行するスケジュールを知っているメッセージ送信者は、受信者の公開鍵ＰＫＢと、所定の有効期間を有する復号鍵と共に公開鍵／秘密鍵対を形成する暗号鍵と、を使用して、メッセージを暗号化することができる。その後、受信者は、この期間中にメッセージを復号するだけで良い。
【０２７１】
本発明の他の実施形態においては、有効期間パラメータの関数として、ルートノード点Ｐｔｉｍｅだけが計算される。下位レベルノード、すなわち、受信者を表わすリーフとルートノードとの間にあるそれらのノードは、ツリーにおけるそれらの位置の関数として、例えばＰｂ１．．．ｂｉ＝Ｈ（ｂ１．．．ｂｉ）として、計算され、時間と共に変化しない。認証者は、前述した技術を使用して、取り消されていない受信者に関連付けられた各リーフの所定の認証者のための復号鍵を生成する。ｂ１．．．ｂｉにおける復号鍵は、あるランダムｘ∈Ｚ／ｑＺにおいて、形式ｓＣＰｔｉｍｅ＋ｘ（Ｐｂ１．．．ｂｉ）、ｘＰから成る。ここで、ｓＣおよびｘの両方が認証者の秘密である。
【０２７２】
先の実施形態と比べると、これらの鍵を計算する際の認証者の計算的負担は増大されない。しかしながら、送信者の暗号化時間が減少される。暗号化するために、送信者は、ランダムｒを選択してｒＰを計算する。その後、送信者は、以下の暗号文Ｃを暗号化する。
【０２７３】
Ｃ＝［ｒＰ，ｒＰｂ１，．．．．，ｒ（Ｐｂ１＋．．．＋Ｐｂ１…ｂｍ），Ｖ］  ここで、
【数９４】
2010161826.tif 000096
【０２７４】
、
【数９５】
2010161826.tif 000097
【０２７５】
である。この場合も同様に、暗号文のある部分、例えばＭは、受信者の公開鍵ＰＫＢを用いて暗号化される。
【０２７６】
取り消されていない受信者は、
【数９６】
2010161826.tif 000098
【０２７７】
を
【数９７】
2010161826.tif 000099
【０２７８】
で割ることにより復号する。また、受信者は、受信者の秘密鍵ＳＫＢを使用してメッセージを復号する。ここで、受信者は、先の実施形態よりも１回多くペアリングを行なわなければならない。しかしながら、送信者は、ゆっくりとしたペアリング計算よりも速い点乗算を行なう。
【０２７９】
本発明の更に他の実施形態においては、前述したように、ある特定の時間の関数として、ルートノード点Ｐｔｉｍｅだけが計算される。しかしながら、この実施形態において、認証者によって所定時間に行なわれる作業量は、取り消された受信者の総数ではなく、先の時間中に生じた取り消し数のみに依存する。
【０２８０】
再び、下位レベルノードは、ツリーにおけるその位置の関数として、例えばＰｂ１．．．ｂｉ＝Ｈ（ｂ１．．．ｂｉ）として、計算され、時間にしたがって変化しない。認証者は、取り消されていない各受信者の所定の先祖のための復号鍵を生成する。
【０２８１】
認証者が、所定の時間間隔で、例えば毎時間、復号鍵の更新を行なう場合、各時間は、それに関連付けられた点Ｐｈｏｕｒを有している。認証者は、放送暗号化技術を使用して、過去の時間において取り消されなかった受信者のカバーを見つける。このカバーは、Ｏ（Ｒｌｏｇ（Ｎ／Ｒ））個の点から成る。ここで、Ｒは、過去の時間（全ての時間ではない）に取り消された受信者の数である。カバーの各ノードＰｉ毎に、認証者は、点ｘＰと共に、形式ｓＰｈｏｕｒ＋ｘＰｉから成る１つの点を発行する。認証者は、各時間毎に、ｘの新たな値を選択する。その時間において所定の受信者が取り消されなかった場合、受信者は、認証者が１つの点を発行したある先祖Ｐｉを有している。この点は、その時間における受信者の再確認証明書である。
【０２８２】
その時間毎の再確認証明書を一緒に加えることにより、受信者は、点｛ｘｉ，Ｐ｝と共に、形式ｓ（Ｐｈｏｕｒ１＋．．．．．＋Ｐｈｏｕｒｋ）＋ｘ１Ｐ１＋ｘ２Ｐ２＋．．．．ｘｍＰｍから成る集合証明書を得る。これは、受信者の更新された復号鍵である。選択された時間間隔の最後に、例えば一日の最後に、認証者は、ｓ（Ｐｄａｙ−Ｐ２４−．．．．−Ｐ１）を発行する。これにより、一日にわたって認証された全ての受信者は、そのプライベート点の時間成分の表示（式）を圧縮することができる。日ｖの時間ｙから日ｗの時間ｚまでの受信者の完全なプライベート点は、以下のようになる。
【０２８３】
Ｓｒｅｃｉｐｉｅｎｔ＝ｓ（Ｐｖ，ｙ＋．．．＋Ｐｖ，２４＋ＰＶ＋１，１＋．．．．＋ＰＷ，Ｚ）＋ｘ１Ｐ１＋ｘ２Ｐ２＋．．．＋ｘｍＰｍ
メッセージ送信者は、ＰＢｐｅｒ＝Ｐｖ，ｙ＋．．．＋Ｐｗ，ｚ、すなわち、受信者が連続的に再確認されなければならなかった期間に対応する点、を簡単に計算することができる。送信者は、ランダムｒを最初に選択した後にｒＰを計算することにより、受信者に対するメッセージを暗号化する。その後、送信者は、暗号文Ｃを以下のように設定する。
【０２８４】
Ｃ＝［ｒＰ，ｒＰ１，．．．，ｒＰｍ，Ｖ］
ここで、
【数９８】
2010161826.tif 000100
【０２８５】
である。この場合も同様に、暗号文のある部分、例えばＭは、受信者の公開鍵ＰＫＢを用いて暗号化される。
【０２８６】
受信者は、取り消されていない場合、以下の式により復号してＭを復元する。
【数９９】
2010161826.tif 000101
【０２８７】
また、受信者は、受信者秘密鍵ＳＫＢを使用して、復号のある部分を行なう。
【０２８８】
後者の実施形態の利点は、認証者がＮ＝２５０，０００，０００人のクライアントを有するとともに毎時間更新を行ない且つＲ個のユーザを毎時間取り消すという以下の例によって、明らかにすることができる。２５０，０００，０００人のユーザから成るシステムにおいては、そのうちの１０％が毎年取り消され、約２８５０人のユーザが毎時間取り消される。Ｒｌｏｇ（Ｎ／Ｒ）≒４６０００であるため、認証者は、毎秒約１３個の再確認証明書を生成しなければならない。これは、１つのコンピュータ上では非常に妥当である。しかしながら、ＣＡは、計算を分配できるように幾つかのコンピュータを有していても良い。署名生成は、高速ＥＣＣ型演算である楕円曲線上での点乗算だけを含んでいる。
【０２８９】
これらの証明書の分配は、多くの様々な方法で扱うことができる。１つの選択肢は、証明書が認証する受信者に対して証明書を「プッシュ」することである。潜在的には、マルチキャストがこれを非常に効率的にして、認証者の帯域の必要性を（４６０００ｃｅｒｔｓ）×（３２０ｂｉｔ／証明書）／時間≒４ｋｂｉｔ／秒まで減らすことができるかもしれない。マルチキャストが使用されない場合、２５０，０００，０００人のユーザの全てに対して直接に証明書をプッシュするには、ＣＡは、少なくとも２２ｔｏｂｉｔ／秒の接続を有していなければならない。これは、それが低い範囲であるため、実行不可能である。クライアントがその証明書を１日当たり２４回未満でＣＡから「プル」する場合には、この数字を減らすことができる。しかし、要求される帯域はかなりの量である。複数の（信頼されていない）サーバが使用される場合には、（集合的な）２２ｍｂｉｔ／秒の接続により、サーバは証明書をクライアントに対して「プッシュ」することができる。
【０２９０】
別の手段として、クライアントは、その証明書をサーバからプルすることができる。全てのサーバが再確認証明書の全てを記憶する必要はない。むしろ、受信者は、自分が常にその証明書を検索する特定のサーバを有していても良い。この場合、認証者ディレクトリ通信は、（４ｋｂｉｔｓ／秒）×（サーバの数）ではなく、むしろ、４ｋｂｉｔｓ／秒のままである。
【０２９１】
受信者の最初の認証から現在まで通ってきた時間の数とは無関係に、受信者の認証のプルーフは、コンパクトなままである、すなわち、そのプライベート点ＳｒｅｃｉｐｉｅｎｔおよびｌｏｇＮ個の点｛ｘｉＰ｝のままである。送信者に対して更に課される支出が僅かで、受信者は、約１６０ビット（３２０ビットの代わりに）を使用して各点を表わすことができる。したがって、Ｎが２５０，０００，０００である場合、その集合再確認証明書は約４．５ｋｂｉｔである。
【０２９２】
本発明の方法は全て、好ましくは、受信者（あるいは、受信者秘密鍵が同一性に基づく場合には、秘密鍵ジェネレータ）だけが復号できるように、受信者がそれ自身の公開鍵／秘密鍵対を有している必要があるが、当業者であれば分かるように、この方法は、そのような要件を作らないことにより、すなわち、受信者秘密鍵が無くても必要な認証者からの必要な署名を有する任意のエンティティが送信者のメッセージを復号できるようにすることにより、弱められ得る。
【０２９３】
（証明書に基づく暗号化スキームと共に使用できるシステム）
公開鍵暗号化スキームにおいて送信者と受信者との間でデジタルメッセージを送信する様々な方法について説明してきた。ここで、本発明の他の実施形態にしたがってこれらの方法を実行するシステムについて説明する。
【０２９４】
システムは多数の端末を有しており、各端末は、前述した方法にしたがってメッセージを送信または受信するエンティティに関連付けられ得る。また、システムは、メッセージ受信者がメッセージを受ける権限を有することを認証する１または複数の認証者を有していても良い。
【０２９５】
各端末は、メモリを有する双方向通信のプロセッサを有している。プロセッサは、前述した手続きを行なうのに適したプログラムコードを実行する。また、プロセッサは、他の端末に送信される情報を生成するのに適したプログラムコードを実行する。適したプログラムコードは、当該技術分野で知られた方法にしたがって形成され得る。メモリは、前述した方法の実行中に使用されるプログラムコード、中間結果、他の情報を記憶する。
【０２９６】
エンティティおよび１以上の認証者が通信できる通信ネットワークが設けられる。通信ネットワークは、例えば、適した通信ネットワークを提供する、ＬＡＮコンピュータネットワーク、ＷＡＮコンピュータネットワーク、及び／又は、携帯電話ネットワークを含む様々な共通の形式から成っていても良い。
【０２９７】
本発明は、特に好ましい実施形態および例示的な実施例に関して詳細に説明されてきたが、本発明の思想および範囲内で変形や修正が行われ得ることが理解される。
【図１】
2010161826.tif 000143
【図２】
2010161826.tif 000144
【図３】
2010161826.tif 000145
【図４】
2010161826.tif 000146
【図５】
2010161826.tif 000147
【図６】
2010161826.tif 000148
【図７】
2010161826.tif 000149
【図８】
2010161826.tif 000150
【図９】
2010161826.tif 000151
【図１０】
2010161826.tif 000152
【図１１】
2010161826.tif 000153
【図１２】
2010161826.tif 000154