(57)【特許請求の範囲】
【請求項１】
サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに備えられ、前記署名鍵を更新するための鍵情報を前記署名方式により生成する鍵管理装置において、
前記サービス提供者ごとに前記署名鍵に対応して付される有効識別子であって、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、前記鍵情報を生成する更新鍵情報生成手段と、
前記サービス提供者ごとの更新後の有効識別子とともに、前記鍵情報を前記アプリケーションサーバに送信する更新鍵情報送信手段と、
前記更新前の有効識別子と、前記更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段と、
前記失効リストを前記受信端末に送信する失効リスト送信手段と、
を備えることを特徴とする鍵管理装置。
【請求項２】
サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに備えられ、前記署名鍵を更新するための鍵情報を前記署名方式により生成する鍵管理装置を制御するコンピュータを、
前記サービス提供者ごとに前記署名鍵に対応して付される有効識別子であって、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、前記鍵情報を生成する更新鍵情報生成手段、
前記サービス提供者ごとの更新後の有効識別子とともに、前記鍵情報を前記アプリケーションサーバに送信する更新鍵情報送信手段、
前記更新前の有効識別子と、前記更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段、
前記失効リストを前記受信端末に送信する失効リスト送信手段、
として機能させることを特徴とする鍵管理プログラム。
【請求項３】
サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって、鍵管理装置によって生成された鍵情報によって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに用いられる前記受信端末であって、
前記検証鍵を予め記憶する検証鍵記憶手段と、
前記鍵管理装置から、前記サービス提供者ごとに付される有効識別子であって、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信する失効リスト受信手段と、
この失効リスト受信手段で受信した失効リストを記憶する失効リスト記憶手段と、
前記アプリケーションサーバから、前記署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信するアプリケーション受信手段と、
前記失効リスト記憶手段に記憶されている失効リストに基づいて、前記アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する失効リスト検証手段と、
前記検証鍵記憶手段に記憶されている検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段と、
前記失効リスト検証手段および前記署名検証手段において、前記有効識別子が有効で、かつ、前記署名が正当である場合に、前記アプリケーションの起動または蓄積を行うアプリケーション管理手段と、
を備えていることを特徴とする受信端末。
【請求項４】
サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって、鍵管理装置によって生成された鍵情報によって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに用いられる前記受信端末を制御するコンピュータを、
前記鍵管理装置から、前記サービス提供者ごとに付される有効識別子であって、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信し失効リスト記憶手段に記憶する失効リスト受信手段、
前記アプリケーションサーバから、前記署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信するアプリケーション受信手段、
前記失効リスト記憶手段に記憶されている失効リストに基づいて、前記アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する失効リスト検証手段、
予め検証鍵記憶手段に記憶されている検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段、
前記失効リスト検証手段および前記署名検証手段において、前記有効識別子が有効で、かつ、前記署名が正当である場合に、前記アプリケーションの起動または蓄積を行うアプリケーション管理手段、
として機能させることを特徴とするアプリケーション認証プログラム。
【請求項５】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第１マスタ鍵と前記署名鍵を生成するための第２マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第１マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵更新用部分鍵生成装置であって、
前記サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、前記検証鍵および前記第１マスタ鍵から、前記サービス提供者ごとの有効識別子に対応した前記部分鍵を生成する部分鍵生成手段と、
この部分鍵生成手段で生成された部分鍵を前記有効識別子に対応付けて記憶する部分鍵記憶手段と、
前記有効識別子を付加して、前記部分鍵を前記署名鍵発行装置に送信する部分鍵送信手段と、
前記部分鍵生成手段で生成された部分鍵と、前記部分鍵記憶手段に記憶されている更新前の部分鍵との差分により差分部分鍵を生成する更新鍵情報生成手段と、
前記サービス提供者識別子ごとの更新後の有効識別子とともに、前記差分部分鍵を前記アプリケーションサーバに送信する更新鍵情報送信手段と、
前記更新前の有効識別子と、前記更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段と、
前記失効リストを前記受信端末に送信する失効リスト送信手段と、
を備えることを特徴とする署名鍵更新用部分鍵生成装置。
【請求項６】
前記部分鍵生成手段は、前記署名鍵の更新回数を示す更新識別子に前記サービス提供者の予め定めた総数の上限値を乗算し、前記サービス提供者識別子に加算することで、前記サービス提供者ごとに固有の前記有効識別子を演算し、前記部分鍵を生成することを特徴とする請求項５に記載の署名鍵更新用部分鍵生成装置。
【請求項７】
前記失効リスト生成手段は、更新前の更新識別子に前記サービス提供者の予め定めた総数の上限値を乗算し、前記サービス提供者識別子の最大値に加算した値を、前記境界を区分する値とすることを特徴とする請求項６に記載の署名鍵更新用部分鍵生成装置。
【請求項８】
前記失効リスト生成手段は、更新後の更新識別子に前記サービス提供者の予め定めた総数の上限値を乗算した値を、前記境界を区分する値とすることを特徴とする請求項６に記載の署名鍵更新用部分鍵生成装置。
【請求項９】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第１マスタ鍵と前記署名鍵を生成するための第２マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第１マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵更新用部分鍵生成装置を制御するコンピュータを、
前記サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、前記検証鍵および前記第１マスタ鍵から、前記サービス提供者ごとの有効識別子に対応した前記部分鍵を生成して部分鍵記憶手段に記憶する部分鍵生成手段、
前記有効識別子を付加して、前記部分鍵を前記署名鍵発行装置に送信する部分鍵送信手段、
前記部分鍵生成手段で生成された部分鍵と、前記部分鍵記憶手段に記憶されている更新前の部分鍵との差分により差分部分鍵を生成する更新鍵情報生成手段、
前記サービス提供者識別子ごとの更新後の有効識別子とともに、前記差分部分鍵を前記アプリケーションサーバに送信する更新鍵情報送信手段、
前記更新前の有効識別子と、前記更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段、
前記失効リストを前記受信端末に送信する失効リスト送信手段、
として機能させることを特徴とする署名鍵更新用部分鍵生成プログラム。
【請求項１０】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第１マスタ鍵と前記署名鍵を生成するための第２マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第１マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵発行装置であって、
前記鍵生成装置から、前記サービス提供者固有の前記第２マスタ鍵を受信する第２マスタ鍵受信手段と、
前記第２マスタ鍵を記憶する第２マスタ鍵記憶手段と、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、前記部分鍵とを受信する部分鍵受信手段と、
前記第２マスタ鍵記憶手段に記憶されている前記第２マスタ鍵と、前記部分鍵受信手段で受信した前記部分鍵とを用いて、前記有効識別子に対応する署名鍵を生成する署名鍵生成手段と、
を備えることを特徴とする署名鍵発行装置。
【請求項１１】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第１マスタ鍵と前記署名鍵を生成するための第２マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第１マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵発行装置を制御するコンピュータを、
前記鍵生成装置から、前記サービス提供者固有の前記第２マスタ鍵を受信して第２マスタ鍵記憶手段に記憶する第２マスタ鍵受信手段、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、前記部分鍵とを受信する部分鍵受信手段、
前記第２マスタ鍵記憶手段に記憶されている前記第２マスタ鍵と、前記部分鍵受信手段で受信した前記部分鍵とを用いて、前記有効識別子に対応する署名鍵を生成する署名鍵生成手段、
として機能させることを特徴とする署名鍵発行プログラム。
【請求項１２】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第１マスタ鍵と前記署名鍵を生成するための第２マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第１マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記アプリケーションサーバであって、
前記署名鍵発行装置で生成された署名鍵を記憶する署名鍵記憶手段と、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、前記差分部分鍵とを受信する更新鍵情報受信手段と、
この更新鍵情報受信手段で受信した差分部分鍵を用いて、前記署名鍵記憶手段に記憶されている署名鍵を前記有効識別子と対応付けて更新する署名鍵更新手段と、
前記署名鍵記憶手段に記憶されている署名鍵を用いて、前記有効識別子に対応する署名を生成し、前記アプリケーションに付加する署名付加手段と、
この署名付加手段で前記署名が付加されたアプリケーションを前記受信端末に送信するアプリケーション送信手段と、
を備えることを特徴とするアプリケーションサーバ。
【請求項１３】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第１マスタ鍵と前記署名鍵を生成するための第２マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第１マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記アプリケーションサーバを制御するコンピュータを、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、前記差分部分鍵とを受信する更新鍵情報受信手段、
この更新鍵情報受信手段で受信した差分部分鍵を用いて、署名鍵記憶手段に記憶されている前記署名鍵発行装置で生成された署名鍵を前記有効識別子と対応付けて更新する署名鍵更新手段、
前記署名鍵記憶手段に記憶されている署名鍵を用いて、前記有効識別子に対応する署名を生成し、前記アプリケーションに付加する署名付加手段、
この署名付加手段で前記署名が付加されたアプリケーションを前記受信端末に送信するアプリケーション送信手段、
として機能させることを特徴とするアプリケーション署名付加プログラム。
【請求項１４】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第１マスタ鍵と前記署名鍵を生成するための第２マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第１マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記受信端末であって、
前記鍵生成装置で生成された検証鍵を記憶する検証鍵記憶手段と、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信する失効リスト受信手段と、
この失効リスト受信手段で受信した失効リストを記憶する失効リスト記憶手段と、
前記アプリケーションサーバから、前記署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信するアプリケーション受信手段と、
前記失効リスト記憶手段に記憶されている失効リストに基づいて、前記アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する失効リスト検証手段と、
前記検証鍵記憶手段に記憶されている検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段と、
前記失効リスト検証手段および前記署名検証手段において、前記有効識別子が有効で、かつ、前記署名が正当である場合に、前記アプリケーションの起動または蓄積を行うアプリケーション管理手段と、
を備えていることを特徴とする受信端末。
【請求項１５】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第１マスタ鍵と前記署名鍵を生成するための第２マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第１マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記受信端末を制御するコンピュータを、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信し失効リスト記憶手段に記憶する失効リスト受信手段、
前記アプリケーションサーバから、前記署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信するアプリケーション受信手段、
前記失効リスト記憶手段に記憶されている失効リストに基づいて、前記アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する失効リスト検証手段、
予め検証鍵記憶手段に記憶されている前記鍵生成装置で生成された検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段、
前記失効リスト検証手段および前記署名検証手段において、前記有効識別子が有効で、かつ、前記署名が正当である場合に、前記アプリケーションの起動または蓄積を行うアプリケーション管理手段、
として機能させることを特徴とするアプリケーション認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、放送波、インターネット、専用ＩＰ（Internet Protocol）回線等のネットワークを利用した放送・通信連携サービスにおいてアプリケーションを認証する技術に関する。
【背景技術】
【０００２】
近年、放送のデジタル化や通信の高速・広帯域化に伴い、放送と通信を連携した様々なサービス（以降、このようなサービスを「放送・通信連携サービス」と呼ぶ）が検討されている。この放送・通信連携サービスでは、放送番組に関連する多様な情報を通信ネットワーク経由で取得し放送と組み合わせて提示することが想定されている。また、受信端末では、このようなサービスを享受するため、サービスに適応したアプリケーションを用いる。ここで、「アプリケーション」とは、通信ネットワーク経由で取得した番組関連情報を放送と組み合わせて提示する等の機能を有する、受信端末上で動作するソフトウェアのことを指す。
【０００３】
なお、視聴者にとって、より魅力的なサービスを実現するためには、放送局が制作したアプリケーションだけでなく、様々な事業者が制作したアプリケーションを視聴者に提供できる環境が必要となる。一方、視聴者が提供されたアプリケーションを安心して利用できるようにするためには、アプリケーションを制作するサービス提供者（サービス提供事業者）を確認するとともに、アプリケーションの改ざんを防止する「アプリケーション認証」も必要である。
【０００４】
一般に、アプリケーション認証は以下のように行われる。
サービス提供者は、視聴者からのリクエストに応じて、通信ネットワークを経由してアプリケーションを視聴者の受信端末に送信する。このとき、サービス提供者が保持する署名鍵を用いて、アプリケーションにデジタル署名を付加して送信する。視聴者の受信端末は、検証鍵を用いて受信したアプリケーションに付加されている署名を検証する。
【０００５】
なお、この手順はサービス提供者が直接視聴者の受信端末にアプリケーションを送信する場合であるが、サービス提供者以外の第三者が運営するアプリケーションサーバにサービス提供者が制作したアプリケーションを登録し、視聴者からのリクエストに応じてアプリケーションサーバから受信端末に送信するモデルも考えられる。すなわち、第三者が運営するアプリケーションサーバを用いる場合、サービス提供者は、アプリケーションを登録する際に、署名鍵を用いてアプリケーションにデジタル署名を付加してアプリケーションサーバに送信する。一方、アプリケーションサーバは、検証鍵を用いて受信したアプリケーションに付加されている署名を検証する。
このようなデジタル署名を用いた認証には一般にＰＫＩ（Public Key Infrastructure）が用いられる（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】情報セキュリティ技術ラボラトリー、“ＰＫＩ関連技術解説”、[online]、２００７年７月３日、独立行政法人情報処理推進機構、[平成２３年１月１１日検索]、インターネット<ＵＲＬ：http://www.ipa.go.jp/security/pki/>
【発明の概要】
【発明が解決しようとする課題】
【０００７】
放送・通信連携サービスにおいて、不正な動作を行うアプリケーションを制作するサービス提供者が存在した場合、当該サービス提供者が付加した署名、あるいは当該サービス提供者が保持する署名鍵を放送局が効率よく失効する手段が必要である。
しかし、前記したＰＫＩは、サービス提供者が鍵生成を行い、第三者機関である認証局が鍵管理を行うモデルであり、証明書失効リスト（ＣＲＬ：Certificate Revocation List）も認証局から発行される。そのため、放送局が不正なアプリケーションを制作するサービス提供者の署名鍵を失効させたい場合であっても、対応する公開鍵証明書を放送局の一存で失効させることは困難であり、早急に署名鍵を失効させることができないという問題があった。
【０００８】
また、署名鍵はサービス提供者によって安全に管理する必要があるが、サーバアタックなどの理由により、署名鍵が第三者に漏洩する可能性もある。そのため、鍵漏洩対策として署名鍵を容易に更新する手段が必要である。しかし、ＰＫＩにおいてサービス提供者の署名鍵を更新する場合、認証局に対し公開鍵証明書の再発行を要求する必要がある等、煩雑な処理が必要となり、早急に署名鍵を更新することができないという問題があった。
【０００９】
本発明は、以上のような問題点に鑑みてなされたものであり、放送・通信連携サービスにおいて、放送局が鍵生成および鍵管理を行うとともに、サービス提供者の数によらず１つの固定の検証鍵を用いて署名の検証を行うことを可能とし、さらに、署名鍵の容易な失効や署名鍵の容易な更新を可能とするアプリケーション認証システムに用いられる鍵管理装置、署名鍵更新用部分鍵生成装置、署名鍵発行装置、アプリケーションサーバおよび受信端末、ならびに、それらの制御プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１０】
本発明は、前記課題を解決するために創案されたものであり、まず、請求項１に記載の鍵管理装置は、サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに備えられ、前記署名鍵を更新するための鍵情報を前記署名方式により生成する鍵管理装置において、更新鍵情報生成手段と、更新鍵情報送信手段と、失効リスト生成手段と、失効リスト送信手段と、を備える構成とした。
【００１１】
かかる構成において、鍵管理装置は、更新鍵情報生成手段によって、サービス提供者ごとに署名鍵に対応して付される有効識別子であって、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、鍵情報を生成する。この鍵情報は、ＩＤベース署名方式やＫｅｙ−Ｉｎｓｕｌａｔｅｄ署名方式により生成する。そして、鍵管理装置は、更新鍵情報送信手段によって、サービス提供者ごとの更新後の有効識別子とともに、鍵情報をアプリケーションサーバに送信する。これによって、鍵情報を取得したアプリケーションサーバは、有効識別子に対応して署名鍵を更新することができる。
【００１２】
そして、鍵管理装置は、失効リスト生成手段によって、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素として失効リストを生成する。これは、有効識別子が、署名鍵の更新前後で、その値の大きさが異なるため、その境界となる値を失効リストとして通知すれば、受信端末において署名鍵の有効無効の判定を行うことが可能となるためである。そして、鍵管理装置は、失効リスト送信手段によって、失効リストを受信端末に送信する。これによって、受信端末は、境界を区分する値の大小判断によって、有効識別子が、失効していないか否かを判定することができる。
【００１３】
さらに、コンピュータを、更新鍵情報生成手段、更新鍵情報送信手段、失効リスト生成手段、失効リスト送信手段、として機能させる鍵管理プログラムで、鍵管理装置を制御する構成としてもよい（請求項２）。
【００１４】
また、請求項３に記載の受信端末は、サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって、鍵管理装置によって生成された鍵情報によって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに用いられる前記受信端末であって、検証鍵記憶手段と、失効リスト受信手段と、失効リスト記憶手段と、アプリケーション受信手段と、失効リスト検証手段と、署名検証手段と、アプリケーション管理手段と、を備える構成とした。
【００１５】
かかる構成において、受信端末は、検証鍵記憶手段に検証鍵を予め記憶しておく。そして、受信端末は、失効リスト受信手段によって、鍵管理装置から、サービス提供者ごとに付される有効識別子であって、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信し、失効リスト記憶手段に記憶する。
【００１６】
また、受信端末は、アプリケーション受信手段によって、アプリケーションサーバから、署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信する。そして、受信端末は、失効リスト検証手段によって、失効リスト記憶手段に記憶されている失効リストに基づいて、アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する。さらに、受信端末は、署名検証手段によって、検証鍵記憶手段に記憶されている検証鍵により、アプリケーションに付加されている署名を検証する。
そして、受信端末は、アプリケーション管理手段によって、失効リスト検証手段および署名検証手段において、有効識別子が有効で、かつ、署名が正当である場合に、アプリケーションの起動または蓄積を行う。
【００１７】
さらに、コンピュータを、失効リスト受信手段、アプリケーション受信手段、失効リスト検証手段、署名検証手段、アプリケーション管理手段、として機能させるアプリケーション署名認証プログラムで、受信端末を制御する構成としてもよい（請求項４）。
【００１８】
また、請求項５に記載の署名鍵更新用部分鍵生成装置は、アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第１マスタ鍵と前記署名鍵を生成するための第２マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第１マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵更新用部分鍵生成装置であって、部分鍵生成手段と、部分鍵記憶手段と、部分鍵送信手段と、更新鍵情報生成手段と、更新鍵情報送信手段と、失効リスト生成手段と、失効リスト送信手段と、を備える構成とした。
【００１９】
かかる構成において、署名鍵更新用部分鍵生成装置は、部分鍵生成手段によって、サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、検証鍵および第１マスタ鍵から、サービス提供者ごとの有効識別子に対応した部分鍵を生成する。この部分鍵は、例えば、Ｋｅｙ−Ｉｎｓｕｌａｔｅｄ署名方式により生成することができる。
【００２０】
そして、署名鍵更新用部分鍵生成装置は、生成した部分鍵を、有効識別子に対応付けて部分鍵記憶手段に記憶しておく。そして、署名鍵更新用部分鍵生成装置は、部分鍵送信手段によって、有効識別子を付加して、部分鍵を署名鍵発行装置に送信する。
【００２１】
また、署名鍵更新用部分鍵生成装置は、更新鍵情報生成手段によって、部分鍵生成手段で生成された部分鍵と、部分鍵記憶手段に記憶されている更新前の部分鍵との差分により差分部分鍵を生成する。そして、署名鍵更新用部分鍵生成装置は、更新鍵情報送信手段によって、サービス提供者識別子ごとの更新後の有効識別子とともに、差分部分鍵をアプリケーションサーバに送信する。これによって、差分部分鍵を取得したアプリケーションサーバは、有効識別子に対応して署名鍵を更新することができる。
【００２２】
また、署名鍵更新用部分鍵生成装置は、失効リスト生成手段によって、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素として失効リストを生成する。これは、有効識別子が、署名鍵の更新前後で、その値の大きさが異なるため、その境界となる値を失効リストとして通知すれば、受信端末において署名鍵の有効無効の判定を行うことが可能となるためである。そして、署名鍵更新用部分鍵生成装置は、失効リスト送信手段によって、失効リストを受信端末に送信する。これによって、受信端末は、境界を区分する値の大小判断によって、有効識別子が、失効していないか否かを判定することができる。
【００２３】
また、請求項６に記載の署名鍵更新用部分鍵生成装置は、請求項５に記載の署名鍵更新用部分鍵生成装置において、前記部分鍵生成手段が、前記署名鍵の更新回数を示す更新識別子に前記サービス提供者の予め定めた総数の上限値を乗算し、前記サービス提供者識別子に加算することで、前記サービス提供者ごとに固有の前記有効識別子を演算し、前記部分鍵を生成する構成とした。
【００２４】
かかる構成において、署名鍵更新用部分鍵生成装置は、署名鍵を更新するごとに、有効識別子が、サービス提供者数の予め定めた総数の上限値ごとに増加していく。
【００２５】
このとき、失効リスト生成手段は、更新前の更新識別子にサービス提供者の予め定めた総数の上限値を乗算し、サービス提供者識別子の最大値に加算した値を、境界を区分する値とすることとしてもよい（請求項７）。
【００２６】
また、失効リスト生成手段は、更新後の更新識別子にサービス提供者の予め定めた総数の上限値を乗算した値を、境界を区分する値とすることとしてもよい（請求項８）。
これによって、有効識別子が失効しているか否かをある基準（境界）で定めることができる。
【００２７】
さらに、コンピュータを、部分鍵生成手段、部分鍵送信手段、更新鍵情報生成手段、更新鍵情報送信手段、失効リスト生成手段、失効リスト送信手段、として機能させる署名鍵更新用部分鍵生成プログラムで、署名鍵更新用部分鍵生成装置を制御する構成としてもよい（請求項９）。
【００２８】
また、請求項１０に記載の署名鍵発行装置は、アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第１マスタ鍵と前記署名鍵を生成するための第２マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第１マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵発行装置であって、第２マスタ鍵受信手段と、第２マスタ鍵記憶手段と、部分鍵受信手段と、署名鍵生成手段と、を備える構成とした。
【００２９】
かかる構成において、署名鍵発行装置は、第２マスタ鍵受信手段によって、鍵生成装置から、サービス提供者固有の第２マスタ鍵を受信して、第２マスタ鍵記憶手段に記憶する。
また、署名鍵発行装置は、部分鍵受信手段によって、署名鍵更新用部分鍵生成装置から、サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、部分鍵とを受信する。
【００３０】
そして、署名鍵発行装置は、署名鍵生成手段によって、第２マスタ鍵記憶手段に記憶されている第２マスタ鍵と、部分鍵受信手段で受信した部分鍵とを用いて署名鍵を生成する。これによって、署名鍵発行装置は、鍵生成装置から取得した有効識別子に対応した署名鍵を生成することがでる。また、この署名鍵が、サービス提供者に配布され、アプリケーションサーバにおいて、アプリケーションに署名が付加されることで、その署名もまた有効識別子に対応したものとなる。
【００３１】
さらに、コンピュータを、第２マスタ鍵受信手段、部分鍵受信手段、署名鍵生成手段、として機能させる署名鍵発行プログラムで、署名鍵発行装置を制御する構成としてもよい（請求項１１）。
【００３２】
また、請求項１２に記載のアプリケーションサーバは、アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第１マスタ鍵と前記署名鍵を生成するための第２マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第１マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記アプリケーションサーバであって、署名鍵記憶手段と、更新鍵情報受信手段と、署名鍵更新手段と、署名付加手段と、アプリケーション送信手段と、を備える構成とした。
【００３３】
かかる構成において、アプリケーションサーバは、署名鍵記憶手段に署名鍵発行装置で生成された署名鍵を記憶しておく。そして、アプリケーションサーバは、更新鍵情報受信手段によって、署名鍵更新用部分鍵生成装置から、サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、差分部分鍵とを受信する。そして、アプリケーションサーバは、署名鍵更新手段によって、更新鍵情報受信手段で受信した差分部分鍵を用いて、署名鍵記憶手段に記憶されている署名鍵を有効識別子と対応付けて更新する。
【００３４】
また、アプリケーションサーバは、署名付加手段によって、署名鍵記憶手段に記憶されている署名鍵を用いて、有効識別子に対応する署名を生成し、アプリケーションに付加する。そして、アプリケーションサーバは、アプリケーション送信手段によって、署名が付加されたアプリケーションを受信端末に送信する。
【００３５】
さらに、コンピュータを、更新鍵情報受信手段、署名鍵更新手段、署名付加手段、アプリケーション送信手段、として機能させるアプリケーション署名付加プログラムで、アプリケーションサーバを制御する構成としてもよい（請求項１３）。
【００３６】
また、請求項１４に記載の受信端末は、アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第１マスタ鍵と前記署名鍵を生成するための第２マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第１マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記受信端末であって、検証鍵記憶手段と、失効リスト受信手段と、失効リスト記憶手段と、アプリケーション受信手段と、失効リスト検証手段と、署名検証手段と、アプリケーション管理手段と、を備える構成とした。
【００３７】
かかる構成において、受信端末は、検証鍵記憶手段に鍵生成装置で生成された検証鍵を記憶しておく。そして、受信端末は、失効リスト受信手段によって、署名鍵更新用部分鍵生成装置から、サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信し、失効リスト記憶手段に記憶する。
【００３８】
また、受信端末は、アプリケーション受信手段によって、アプリケーションサーバから、署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信する。そして、受信端末は、失効リスト検証手段によって、失効リスト記憶手段に記憶されている失効リストに基づいて、アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する。さらに、受信端末は、署名検証手段によって、検証鍵記憶手段に記憶されている検証鍵により、アプリケーションに付加されている署名を検証する。
そして、受信端末は、アプリケーション管理手段によって、失効リスト検証手段および署名検証手段において、有効識別子が有効で、かつ、署名が正当である場合に、アプリケーションの起動または蓄積を行う。
【００３９】
さらに、コンピュータを、失効リスト受信手段、アプリケーション受信手段、失効リスト検証手段、署名検証手段、アプリケーション管理手段、として機能させるアプリケーション署名認証プログラムで、受信端末を制御する構成としてもよい（請求項１５）。
【発明の効果】
【００４０】
本発明は、以下に示す優れた効果を奏するものである。
請求項１，２，５〜９に記載の発明によれば、アプリケーション認証システムにおいて、放送局が鍵生成および鍵管理を行うことができ、鍵漏洩が発生した場合であっても、第三者機関によらずに、署名鍵を更新するための情報をアプリケーションサーバに送信するだけで、署名鍵をすばやく更新することができる。
また、請求項１，２，５〜９に記載の発明によれば、署名鍵を更新するための情報が有効識別子に対応して生成され、また、その値は更新前後で大きさが異なるため、有効識別子が失効していないか否かを、更新前後の識別子の境界を示す値のみで判定することができる。そのため、失効リストの記述を簡潔にすることができるとともに、署名鍵の検証を容易に行うことができる。
【００４１】
請求項１０〜１３に記載の発明によれば、有効識別子に対応して署名鍵が生成、更新されることになる。また、その有効識別子は、署名鍵の更新によって、更新前後でその値の大きさが異なるため、有効識別子が失効していないか否かを、容易に判定することができる。
請求項３，４，１４，１５に記載の発明によれば、失効リストで通知される更新前後の有効識別子の境界を区分する値の大小を判定するだけで、署名鍵の有効性を一括して判定できるため、判定の負荷を軽減させることができる。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施形態に係るアプリケーション認証システムの構成を示すシステム構成図である。
【図２】本発明の実施形態に係る鍵管理サーバ（鍵生成装置、署名鍵更新用部分鍵生成装置）の構成を示す機能ブロック図である。
【図３】本発明の実施形態に係る署名鍵発行サーバ（署名鍵発行装置）の構成を示す機能ブロック図である。
【図４】本発明の実施形態に係るアプリケーションサーバ（署名鍵更新装置、署名生成装置）の構成を示す機能ブロック図である。
【図５】本発明の実施形態に係る受信端末の構成を示す機能ブロック図である。
【図６】アプリケーション認証システムにおける鍵生成および署名鍵発行の動作を示すフローチャートである。
【図７】図６の鍵生成の詳細動作（マスタ鍵・検証鍵生成動作）を示すフローチャートである。
【図８】図６の署名鍵発行の詳細動作（部分鍵生成動作、署名鍵生成動作）を示すフローチャートである。
【図９】アプリケーション認証システムにおける署名鍵更新の動作を示すフローチャートである。
【図１０】図９の署名鍵更新の詳細動作（差部分部分鍵生成動作、署名鍵更新動作）を示すフローチャートである。
【図１１】アプリケーション認証システムにおけるアプリケーションの認証動作を示すフローチャートである。
【図１２】図１１の認証の詳細動作（署名生成動作、署名検証動作）を示すフローチャートである。
【図１３】署名鍵の通常更新と署名鍵の失効リストの内容を説明するための説明図である。
【図１４】サービス提供者を追加する場合の署名鍵の更新と署名鍵の失効リストの内容を説明するための説明図である。
【図１５】特定のサービス提供者の署名鍵を失効させる場合の署名鍵の更新と署名鍵の失効リストの内容を説明するための説明図である。
【図１６】署名鍵が漏洩した場合の署名鍵の更新と署名鍵の失効リストの内容を説明するための説明図である。
【図１７】署名鍵と失効リストとの関係について説明するための説明図である。
【図１８】本発明の他の実施形態に係るアプリケーション認証システムの構成を示すシステム構成図である。
【図１９】本発明の他の実施形態に係る鍵管理サーバ（鍵生成装置、署名鍵生成装置）の構成を示す機能ブロック図である。
【図２０】本発明の他の実施形態に係るアプリケーションサーバ（署名鍵更新装置、署名生成装置）の構成を示す機能ブロック図である。
【発明を実施するための形態】
【００４３】
以下、本発明の実施形態について図面を参照して説明する。
［アプリケーション認証システムの構成］
最初に、図１を参照して、アプリケーション認証システムの構成について説明を行う。
アプリケーション認証システムＳは、放送・通信連携サービスにおいて、サービス提供者がユーザ（視聴者）に提供するアプリケーションを認証するシステムである。ここでは、アプリケーション認証システムＳは、ストロング・キー・インシュレイテッド（Strong Key-Insulated）署名（G. Ohtake，G. Hanaoka and K. Ogawa：“Efficient Provider Authentication for Bidirectional Broadcasting Service”，IEICE Trans. Fundamentals，Vol. E93-A，No. 6，pp. 1039-1051，2010.）を用いて、システムを構成することとする。
【００４４】
このアプリケーション認証システムＳは、放送局内に備えた鍵管理サーバ（鍵管理装置）１および署名鍵発行サーバ（署名鍵発行装置）３と、サービス提供者（サービス提供事業者）内に備えたアプリケーションサーバ５と、ユーザ宅内に備えた（あるいは、ユーザが携帯する）受信端末７とで構成される。なお、鍵管理サーバ１と、アプリケーションサーバ５と、受信端末７とは、インターネット（または専用ＩＰ回線）等のネットワーク（外部ネットワーク）Ｎ１に相互に接続されている。また、鍵管理サーバ１と署名鍵発行サーバ３とは、放送局の内部ネットワーク（専用通信線）Ｎ２に接続されている。
なお、ここでは、説明を簡略化するため、アプリケーションサーバ５や受信端末７を１台ずつ図示しているが、これらは、ネットワークＮ１に複数接続されていることはいうまでもない。
【００４５】
鍵管理サーバ（鍵管理装置）１は、アプリケーションを認証する際に使用する鍵を生成および管理（記憶）するものである。ここでは、鍵管理サーバ１は、検証鍵およびマスタ鍵を生成および管理する鍵生成装置１０と、署名鍵の生成や更新に使用する鍵、および、失効した署名鍵のリストを示す失効リストを生成する部分鍵生成装置（署名鍵更新用部分鍵生成装置）２０とを備えている。なお、鍵管理サーバ１が生成する検証鍵は、例えば、ＩＣカード等に書き込まれて、オフラインで受信端末７に配布されるものとする。
【００４６】
署名鍵発行サーバ３は、アプリケーションに署名を付加する際に使用する署名鍵を生成するものである。なお、署名鍵発行サーバ３が生成する署名鍵も、漏洩等を考慮してオフラインでサービス提供者（アプリケーションサーバ５）に配布されるものとする。
【００４７】
アプリケーションサーバ５は、署名鍵を管理（記憶）および更新するとともに、署名鍵を用いてアプリケーションに署名を付加して受信端末７に送信するものである。ここでは、アプリケーションサーバ５は、署名鍵を管理（記憶）および更新する署名鍵更新装置５０と、アプリケーションに署名を付加して送信する署名生成装置６０とを備えている。
【００４８】
受信端末７は、アプリケーションサーバ５からアプリケーションを受信し、アプリケーションに付加された署名を検証鍵で検証（認証）するものである。この受信端末７は、放送・通信連携サービスを享受することが可能な、例えば、テレビ受像機、パーソナルコンピュータ等である。
【００４９】
これら鍵管理サーバ１（鍵生成装置１０、部分鍵生成装置２０）と、署名鍵発行サーバ３と、アプリケーションサーバ５と、受信端末７とは、それぞれ、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）、通信インタフェース等（図示を省略）を備え、ＣＰＵがＨＤＤ等に格納されたプログラムをＲＡＭに展開することにより後記する各種機能を実現する。
【００５０】
〔鍵管理サーバの構成〕
次に、図２を参照（適宜図１参照）して、鍵管理サーバの構成について説明を行う。ここでは、鍵管理サーバ（鍵管理装置）１は、鍵生成装置１０と、部分鍵生成装置（署名鍵更新用部分鍵生成装置）２０とを備えている。なお、鍵生成装置１０と部分鍵生成装置２０とは、図示を省略した通信インタフェースによって通信可能に接続されているものとする。
【００５１】
（鍵生成装置の構成）
鍵生成装置１０は、署名鍵を生成する際に用いる鍵（部分鍵、差分部分鍵）を生成するためのマスタ鍵と、署名鍵を検証するための検証鍵とを生成し、管理（記憶）するものである。ここでは、鍵生成装置１０は、鍵生成手段１１と、検証鍵管理手段１２と、第１マスタ鍵管理手段１３と、第２マスタ鍵送信手段１４とを備えている。
【００５２】
鍵生成手段１１は、マスタ鍵（第１マスタ鍵、第２マスタ鍵）と検証鍵とを生成するものである。すなわち、鍵生成手段１１は、素数位数ｑの巡回群の生成元ｇと、素数ｑを法とする剰余類Ｚｑとに基づいて、マスタ鍵（第１マスタ鍵、第２マスタ鍵）と検証鍵とを生成する。
具体的には、鍵生成手段１１は、ｑが（ｐ−１）の約数となる素数ｐ，ｑを生成し、乗法群Ｚｐ＊の元ｇによって生成される部分群の位数がｑとなるような生成元ｇを生成する。そして、鍵生成手段１１は、素数ｑを法とする剰余類Ｚｑ（０，１，…，ｑ−１；以下単にＺｑで示す）からランダムにｘ，ｘ′を選択し、以下の式（１）により、第１マスタ鍵ｘ０を生成する。また、鍵生成手段１１は、ｘ′を第２マスタ鍵とする。
【００５３】
【数１】
0005576809.tif 000002
【００５４】
このように生成された第１マスタ鍵ｘ０は、第１マスタ鍵管理手段１３に出力され、第２マスタ鍵ｘ′は、第２マスタ鍵送信手段１４に出力される。
また、鍵生成手段１１は、以下の式（２）に示すように、素数ｐ，ｑ、元ｇ、要素ｙ０，ｙ′、および、ハッシュ関数Ｈ（・）からなる検証鍵ＶＫを生成する。
【００５５】
【数２】
0005576809.tif 000003
【００５６】
なお、検証鍵ＶＫの要素ｙ０，ｙ′は、以下の式（３）により求められる値である。
【００５７】
【数３】
0005576809.tif 000004
【００５８】
また、ハッシュ関数Ｈ（・）は、Ｈ：｛０，１｝＊→Ｚｑ、すなわち、任意の長さのビット列（｛０，１｝＊）をＺｑの固定長の値に変換する関数である。このハッシュ関数には、例えば、ＳＨＡ−１等のアルゴリズムを用いることができる。
この鍵生成手段１１で生成された検証鍵ＶＫは、検証鍵管理手段１２に出力される。
【００５９】
検証鍵管理手段（検証鍵記憶手段）１２は、鍵生成手段１１で生成された検証鍵を記憶し、管理するものである。具体的には、検証鍵管理手段１２は、鍵生成手段１１で生成された検証鍵を、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。
ここでは、検証鍵管理手段１２は、検証鍵を受信端末７に配布する際に、操作者の指示により記憶媒体から検証鍵を読み出す。このように読み出された検証鍵は、例えば、図示を省略したＩＣカード発行装置に出力されＩＣカードに書き込まれた後、受信端末７に配布される。なお、検証鍵管理手段１２は、セキュアな通信路（例えば、放送波）を介して検証鍵を配信することとしてもよい。
【００６０】
また、検証鍵管理手段１２は、後記する部分鍵生成装置２０において部分鍵を生成する際に、記憶媒体から検証鍵を読み出す。この場合、検証鍵管理手段１２は、部分鍵生成装置２０、あるいは、操作者からの指示により記憶媒体から検証鍵を読み出し、部分鍵生成装置２０に出力する。
【００６１】
なお、検証鍵管理手段１２は、記憶している検証鍵を公開情報として公開するものとし、署名鍵発行サーバ３やアプリケーションサーバ５から、ネットワークＮ１や内部ネットワークＮ２を介して取得あるいは参照可能であるものとする。
【００６２】
第１マスタ鍵管理手段（第１マスタ鍵記憶手段）１３は、鍵生成手段１１で生成された第１マスタ鍵を記憶し、管理するものである。具体的には、第１マスタ鍵管理手段１３は、鍵生成手段１１で生成された第１マスタ鍵を、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。
【００６３】
ここでは、第１マスタ鍵管理手段１３は、部分鍵生成装置２０において部分鍵を生成する際に、記憶媒体から第１マスタ鍵を読み出す。この場合、第１マスタ鍵管理手段１３は、部分鍵生成装置２０からの要求、あるいは、操作者からの指示により記憶媒体から第１マスタ鍵を読み出し、部分鍵生成装置２０に出力する。
【００６４】
第２マスタ鍵送信手段１４は、内部ネットワークＮ２を介して、鍵生成手段１１で生成された第２マスタ鍵を署名鍵発行サーバ３に送信するものである。
【００６５】
（部分鍵生成装置〔署名鍵更新用部分鍵生成装置〕の構成）
部分鍵生成装置（署名鍵更新用部分鍵生成装置）２０は、署名鍵の生成や更新に使用する鍵（部分鍵、差分部分鍵）を生成するとともに、失効した署名鍵のリストを示す失効リストを生成するものである。ここでは、部分鍵生成装置２０は、パラメータ入力手段２１と、部分鍵生成手段２２と、部分鍵管理手段２３と、部分鍵送信手段２４と、更新鍵情報生成手段２５と、更新鍵情報送信手段２６と、失効リスト生成手段２７と、失効リスト送信手段２８とを備えている。
【００６６】
パラメータ入力手段２１は、部分鍵、差分部分鍵および失効リストを生成するための種々のパラメータを入力するものである。ここでは、パラメータ入力手段２１には、図示を省略した入力手段から更新種別、更新識別子およびサービス提供者識別子が入力され、鍵生成装置１０から第１マスタ鍵および検証鍵が入力される。
【００６７】
更新種別は、署名鍵の発行、更新、失効の処理内容の指示を示す種別情報である。例えば、以下の表のように、更新種別の値に対して、処理内容として、署名鍵の発行、更新、失効を割り当てる。
【００６８】
【表１】
0005576809.tif 000005
【００６９】
更新識別子は、署名鍵の更新回数を示す識別子である。この更新識別子は、予め定めた数（例えば、“０”）からの連続番号であって、署名鍵を更新する場合、現在の更新識別子に“１”を加算した値とする。
【００７０】
サービス提供者識別子は、サービス提供者を一意に特定するために予め定めた識別子である。このサービス提供者識別子は、予め定めた数（例えば、“１”）からの連続番号であって、新たなサービス提供者を登録する場合、現在のサービス提供者識別子の最大値に“１”を加算した値とする。
このパラメータ入力手段２１は、入力された更新種別、更新識別子、サービス提供者識別子、第１マスタ鍵および検証鍵を、部分鍵生成手段２２に出力する。
【００７１】
部分鍵生成手段２２は、パラメータ入力手段２１において入力された更新種別、更新識別子、サービス提供者識別子、第１マスタ鍵および検証鍵に基づいて、部分鍵を生成するものである。すなわち、部分鍵生成手段２２は、サービス提供者ごとに付されたサービス提供者識別子から、更新識別子を用いて署名鍵の発行時または更新時に有効な識別子（有効識別子）を生成し、当該有効識別子に固有の部分鍵を生成する。
具体的には、部分鍵生成手段２２は、Ｚｑから乱数ｒをランダムに生成し、その乱数ｒと、検証鍵の一部（ｐ，ｇ）とに基づいて、受信端末７において部分鍵の正当性を示す情報の一部となる部分鍵検証情報ｖを、以下の式（４）により生成する。
【００７２】
【数４】
0005576809.tif 000006
【００７３】
また、部分鍵生成手段２２は、以下の式（５）に示すように、検証鍵の一部であるハッシュ関数Ｈ（・）により、署名鍵に対応する部分鍵検証情報ｖのハッシュ値ｃを生成する。ただし、「‖」は連結を示す。
【００７４】
【数５】
0005576809.tif 000007
【００７５】
この式（５）で、ｉはサービス提供者識別子、ｊは更新識別子、ｎはサービス提供者の総数の予め定めた上限値である。この式（５）の（ｉ＋ｊｎ）、すなわち、（サービス提供者識別子＋更新識別子×ｎ）は、サービス提供者識別子に対応するサービス提供者において、発行後あるいは更新後の署名鍵を識別する識別子（有効識別子）である。なお、有効識別子として、その内容を示すため“ｉ＋ｊｎ”等の符号を付す場合があるが、この有効識別子は、“ｉ＋ｊｎ”等の演算を行った後の数値である。
そして、部分鍵生成手段２２は、第１マスタ鍵ｘ０と、検証鍵の一部（ｑ）と、ハッシュ値ｃと、乱数ｒとに基づいて、以下の式（６）により、部分鍵ｘを生成する。
【００７６】
【数６】
0005576809.tif 000008
【００７７】
このように、部分鍵生成手段２２は、署名鍵の識別子（有効識別子）に対応した部分鍵を生成する。
この部分鍵生成手段２２は、更新種別が“１〔署名鍵発行〕”の場合、生成した部分鍵を部分鍵管理手段２３に出力する。
【００７８】
また、部分鍵生成手段２２は、更新種別が“２〔署名鍵更新〕”の場合、更新種別とともに、生成した部分鍵、部分鍵検証情報、検証鍵および有効識別子（ｉ＋ｊｎ）を、更新鍵情報生成手段２５に出力する。
【００７９】
なお、部分鍵生成手段２２は、更新種別が“３〔署名鍵更新（サービス提供者の追加がある場合）〕”の場合、更新種別が“１〔署名鍵発行〕”の場合と同様に部分鍵を生成し、部分鍵管理手段２３に出力した後、さらに、“２〔署名鍵更新〕”の場合と同様に、署名鍵を更新させるための部分鍵を生成し、部分鍵、部分鍵検証情報、検証鍵および有効識別子（ｉ＋ｊｎ）を、更新鍵情報生成手段２５に出力する。
また、部分鍵生成手段２２は、署名鍵の更新を行う場合（署名種別“２”，“３”の場合）、更新種別を失効リスト生成手段２７に出力する。
【００８０】
また、部分鍵生成手段２２は、更新種別が“４（署名鍵失効）”の場合、部分鍵を生成せずに、入力されたサービス提供者識別子（失効させたいサービス提供者識別子）を失効リスト生成手段２７に出力する。
【００８１】
部分鍵管理手段（部分鍵記憶手段）２３は、部分鍵生成手段２２で生成された部分鍵を記憶し、管理するものである。具体的には、部分鍵管理手段２３は、部分鍵生成手段２２で生成された部分鍵ｘ、部分鍵検証情報ｖおよび有効識別子（ｉ＋ｊｎ）を部分鍵情報として部分鍵送信手段２４に出力するとともに、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。ここでは、部分鍵管理手段２３は、署名鍵を更新する際に、更新鍵情報生成手段２５からの要求により、管理（記憶）している部分鍵ｘを更新鍵情報生成手段２５に出力する。
【００８２】
部分鍵送信手段２４は、部分鍵管理手段２３の指示に基づいて、内部ネットワークＮ２を介して、部分鍵を署名鍵発行サーバ３に送信するものである。ここでは、部分鍵送信手段２４は、部分鍵ｘとともに、部分鍵検証情報ｖ（前記式（４）参照）と、部分鍵ｘを生成した際の有効識別子（ｉ＋ｊｎ）とを併せて、部分鍵情報（ｘ，ｖ，ｉ＋ｊｎ）として送信する。
【００８３】
なお、部分鍵送信手段２４が、署名鍵発行サーバ３に送信するのは、署名鍵を発行する段階であるため、更新識別子ｊは初期値（“０”）である。よって、ここでは、部分鍵送信手段２４は、部分鍵情報（ｘ，ｖ，サービス提供者識別子ｉ）が署名鍵発行サーバ３に送信されることになる。
【００８４】
更新鍵情報生成手段２５は、サービス提供者識別子ごとに署名鍵の更新のために新たに部分鍵生成手段２２で生成された部分鍵と、部分鍵管理手段２３で管理（記憶）されている更新前の部分鍵との差分をとることで、差分部分鍵を生成するものである。
具体的には、更新鍵情報生成手段２５は、部分鍵管理手段２３で管理（記憶）されている部分鍵ｘをｘ１、部分鍵生成手段２２で生成された部分鍵ｘをｘ２としたとき、検証鍵の一部（ｑ）に基づいて、差分部分鍵Δｘを、以下の式（７）により生成する。
【００８５】
【数７】
0005576809.tif 000009
【００８６】
このように生成された差分部分鍵Δｘは、部分鍵検証情報ｖと有効識別子（ｉ＋ｊｎ）とともに、更新鍵情報送信手段２６に出力される。
なお、更新鍵情報生成手段２５は、後記する失効リスト生成手段２７から、個別に署名鍵の更新（差分部分鍵の送信）を停止させたいサービス提供者識別子（有効識別子）を通知された場合、当該識別子を、図示を省略した記憶媒体に記憶しておき、該当するサービス提供者識別子（有効識別子）に対応する差分部分鍵の生成を行わないこととする。
【００８７】
更新鍵情報送信手段２６は、更新鍵情報生成手段２５で生成された差分部分鍵Δｘを、ネットワークＮ１を介して、アプリケーションサーバ５に送信するものである。なお、更新鍵情報送信手段２６は、差分部分鍵Δｘとともに、部分鍵検証情報ｖと、差分部分鍵Δｘを生成した際の有効識別子（ｉ＋ｊｎ）とを併せて、差分部分鍵情報（Δｘ，ｖ，ｉ＋ｊｎ）としてアプリケーションサーバ５に送信する。
【００８８】
失効リスト生成手段２７は、失効させたい署名鍵を特定するリスト（失効リスト；以下ＣＲＬという）を生成するものである。ここでは、失効リスト生成手段２７は、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を第１要素としてＣＲＬを生成する。
具体的には、失効リスト生成手段２７は、更新種別が“２，３（署名鍵更新）”の場合、サービス提供者識別子の最大値と更新前の更新識別子で特定される最大の有効識別子（すなわち、サービス提供者識別子の最大値＋更新前の更新識別子×サービス提供者数の上限値）を、最大失効識別子として、ＣＲＬの第１要素に記述する。
【００８９】
また、失効リスト生成手段２７は、更新種別が“４（署名鍵失効）”の場合、個別に失効させたいサービス提供者識別子に対応する有効識別子（すなわち、サービス提供者識別子＋更新識別子×サービス提供者数の上限値）を、個別失効識別子として、ＣＲＬの第２要素以降に記述する。なお、ＣＲＬにおいて第１要素（最大失効識別子）、および、第２要素以降の各要素（個別失効識別子）を記述するフォーマットは、予め受信端末７において既知であるものとする。
【００９０】
これによって、ＣＲＬの第１要素として記述された最大失効識別子以下の識別子に対応する署名鍵を一度に失効させることができるとともに、第２要素以降に記述された個別失効識別子に対応する署名鍵を個別に失効させることができる。
なお、最大失効識別子は、新たに生成する識別子よりも小さな値であればよいため、更新後の更新識別子×サービス提供者数の上限値としてもよい。
このように生成されたＣＲＬは、失効リスト送信手段２８に出力される。
【００９１】
また、更新種別が“４（署名鍵失効）”の場合、差分部分鍵の送信を停止させるため、失効リスト生成手段２７は、更新鍵情報生成手段２５に失効させたいサービス提供者識別子（有効識別子）を通知することとする。
【００９２】
失効リスト送信手段２８は、失効リスト生成手段２７で生成された失効リスト（ＣＲＬ）を、ネットワークＮ１を介して、受信端末７に送信するものである。これによって、受信端末７において、アプリケーションが正規のサービス提供者から送信されたものであるか否かを認証することが可能になる。
【００９３】
ここで、図１７を参照して、更新識別子と署名鍵とＣＲＬの最大失効識別子との関係について説明する。
図１７（ａ）に示すように、更新識別子“０”のときに生成されたサービス提供者識別子１，２，…，ｍ（有効識別子１，２，…，ｍ）に対応する署名鍵がＳＫ１，ＳＫ２，…，ＳＫｍの場合、ＣＲＬの第１要素である最大失効識別子は、サービス提供者識別子を示さない値、例えば“０”とする。
【００９４】
そして、署名鍵の更新により、更新識別子“１”でサービス提供者識別子１，２，…，ｍ（有効識別子１＋ｎ，２＋ｎ，…，ｍ＋ｎ）に対応する署名鍵がＳＫ１＋ｎ，ＳＫ２＋ｎ，…，ＳＫｍ＋ｎが生成される。このときの最大失効識別子は、更新識別子“０”の最大有効識別子（ｍ）を含むように、｛ｍ｝またはサービス提供者数の上限値｛ｎ｝とする。
同様に、更新識別子“２”で署名鍵を更新する場合、最大失効識別子は、更新識別子“１”の最大有効識別子（ｍ＋ｎ）を含むように、｛ｍ＋ｎ｝またはサービス提供者数の上限値を更新識別子の値“２”で乗算した｛２ｎ｝とする。
【００９５】
なお、図１７（ａ）では、（ｍ＋１），…，ｎや、（ｍ＋ｎ＋１），…，２ｎ等、未使用の有効識別子が存在する。
そこで、これらの未使用の有効識別子をなくすため、図１７（ｂ）に示すように、署名鍵を生成する際に、更新前の署名鍵に対応する有効識別子、例えば、更新識別子“０”における最大有効識別子“ｍ１”に“１”を加算した（ｍ１＋１）から署名鍵を生成し、そのときの最大失効識別子を｛ｍ１｝としてもよい。
【００９６】
〔署名鍵発行サーバの構成〕
次に、図３を参照（適宜図１参照）して、署名鍵発行サーバの構成について説明を行う。ここでは、署名鍵発行サーバ（署名鍵発行装置）３は、第２マスタ鍵受信手段３１と、第２マスタ鍵管理手段３２と、部分鍵受信手段３３と、署名鍵生成手段３４と、署名鍵出力手段３５とを備えている。
【００９７】
第２マスタ鍵受信手段３１は、鍵管理サーバ１で生成された第２マスタ鍵を、内部ネットワークＮ２を介して受信するものである。この受信した第２マスタ鍵は、第２マスタ鍵管理手段３２に出力される。
【００９８】
第２マスタ鍵管理手段（第２マスタ鍵記憶手段）３２は、第２マスタ鍵受信手段３１で受信した第２マスタ鍵を記憶し、管理するものである。具体的には、第２マスタ鍵管理手段３２は、第２マスタ鍵受信手段３１で受信した第２マスタ鍵を、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。ここでは、第２マスタ鍵管理手段３２は、署名鍵生成手段３４からの要求により、管理（記憶）している第２マスタ鍵を署名鍵生成手段３４に出力する。
【００９９】
部分鍵受信手段３３は、鍵管理サーバ１で生成された部分鍵（部分鍵情報）を、内部ネットワークＮ２を介して受信するものである。この受信した部分鍵（部分鍵情報）は、署名鍵生成手段３４に出力される。
【０１００】
署名鍵生成手段３４は、第２マスタ鍵管理手段３２で管理（記憶）されている第２マスタ鍵と、サービス提供者識別子ごとに部分鍵受信手段３３で受信した部分鍵（部分鍵情報）とから、署名鍵を生成するものである。すなわち、署名鍵生成手段３４は、部分鍵に第２マスタ鍵を加算することで、署名鍵を生成する。
具体的には、署名鍵生成手段３４は、第２マスタ鍵管理手段３２で管理（記憶）されている第２マスタ鍵ｘ′と、部分鍵受信手段３３で受信した部分鍵情報（部分鍵，部分鍵検証情報，サービス提供者識別子）に含まれている部分鍵ｘと、鍵管理サーバ１で公開情報として公開されている検証鍵の一部である素数ｑとに基づいて、以下の式（８）により、サービス提供者識別子ｉに対応する署名鍵ＳＫｉを生成する。
【０１０１】
【数８】
0005576809.tif 000010
【０１０２】
このように生成された署名鍵ＳＫｉは、部分鍵検証情報ｖとサービス提供者識別子ｉとともに、署名鍵情報（ＳＫｉ，ｖ，ｉ）として署名鍵出力手段３５に出力される。
【０１０３】
署名鍵出力手段３５は、署名鍵生成手段３４で生成された署名鍵（署名鍵情報）を、外部に出力するものである。この署名鍵出力手段３５は、例えば、ＣＤ−Ｒ等の記憶媒体の書き込み装置（図示せず）に署名鍵（署名鍵情報）を出力し、ＣＤ−Ｒ等に書き込みを行う。このように署名鍵（署名鍵情報）が書き込まれた記憶媒体は、オフラインでアプリケーションサーバ５に配布される。
【０１０４】
〔アプリケーションサーバの構成〕
次に、図４を参照（適宜図１参照）して、アプリケーションサーバの構成について説明を行う。ここでは、アプリケーションサーバ５は、署名鍵更新装置５０と、署名生成装置６０とを備えている。なお、署名鍵更新装置５０と署名生成装置６０とは、図示を省略した通信インタフェースによって通信可能に接続されているものとする。
【０１０５】
（署名鍵更新装置の構成）
署名鍵更新装置５０は、サービス提供者に配布された署名鍵を、鍵管理サーバ１から送信される差分部分鍵（差分部分鍵情報）に基づいて更新するものである。ここでは、署名鍵更新装置５０は、署名鍵入力手段５１と、署名鍵管理手段５２と、更新鍵情報受信手段５３と、署名鍵更新手段５４とを備えている。
【０１０６】
署名鍵入力手段５１は、署名鍵発行サーバ３で生成された署名鍵（署名鍵情報）を入力するものである。この署名鍵入力手段５１は、例えば、署名鍵（署名鍵情報）が書き込まれたＣＤ−Ｒ等の記憶媒体から署名鍵（署名鍵情報）を読み出す読み出し装置（図示せず）を介して、署名鍵（署名鍵情報）を入力する。
ここで、署名鍵情報は、署名鍵と、部分鍵検証情報と、サービス提供者識別子とを含んでいる。この入力された署名鍵情報は、署名鍵管理手段５２に出力される。
【０１０７】
署名鍵管理手段（署名鍵記憶手段）５２は、署名鍵入力手段５１で入力された署名鍵（署名鍵情報）を記憶し、管理するものである。具体的には、署名鍵管理手段５２は、署名鍵入力手段５１で入力された署名鍵（署名鍵情報）を、図示を省略した記憶媒体に書き込み、要求に応じて署名鍵（署名鍵情報）の読み出しや更新を行う。
ここでは、署名鍵管理手段５２は、署名鍵更新手段５４において署名鍵を更新する際に、署名鍵更新手段５４からの要求により、署名鍵（署名鍵情報）を記憶媒体から読み出し、署名鍵更新手段５４に出力する。また、署名鍵管理手段５２は、更新された署名鍵を署名鍵更新手段５４から取得し、記憶媒体において上書き保存する。
【０１０８】
また、署名鍵管理手段５２は、署名生成装置６０でアプリケーションに署名を付加する際に、署名生成装置６０からの要求により、記憶媒体に記憶している署名鍵（署名鍵情報）を読み出し、署名生成装置６０に出力する。
【０１０９】
更新鍵情報受信手段５３は、鍵管理サーバ１で生成された差分部分鍵（差分部分鍵情報）を、ネットワークＮ１を介して受信するものである。この受信した差分部分鍵（差分部分鍵情報）は、署名鍵更新手段５４に出力される。この差分部分鍵情報は、差分部分鍵と、部分鍵検証情報と、有効識別子とを含んでいる。
【０１１０】
署名鍵更新手段５４は、更新鍵情報受信手段５３で受信した差分部分鍵（差分部分鍵情報）に基づいて、署名鍵を更新するものである。すなわち、署名鍵更新手段５４は、更新前の署名鍵に、差分部分鍵を加算することで、署名鍵を更新する。
具体的には、署名鍵更新手段５４は、署名鍵管理手段５２で管理（記憶）されている更新前の署名鍵をＳＫｉ＋（ｊ−１）ｎと、更新鍵情報受信手段５３で受信した差分部分鍵情報に含まれている差分部分鍵Δｘと、鍵管理サーバ１で公開情報として公開されている検証鍵の一部である素数ｑとに基づいて、以下の式（９）により、差分部分鍵情報に含まれている有効識別子（ｉ＋ｊｎ）に対応付けた新たな署名鍵ＳＫｉ＋ｊｎを生成する。
【０１１１】
【数９】
0005576809.tif 000011
【０１１２】
例えば、更新識別子ｊが“０”から“１”になった場合、有効識別子（ｉ）に対応した署名鍵ＳＫｉから、有効識別子（ｉ＋ｎ）に対応した署名鍵ＳＫｉ＋ｎが生成されることになる。このように、更新識別子が順次増加するごとに、有効識別子は、ｉ，ｉ＋ｎ，ｉ＋２ｎ，…，ｉ＋ｍｎと増加し、それぞれの有効識別子に対応する署名鍵ＳＫｉ，ＳＫｉ＋ｎ，ＳＫｉ＋２ｎ，…，ＳＫｉ＋ｍｎが順次生成されることになる。
このように生成された署名鍵ＳＫｉ＋ｊｎは、差分部分鍵情報に含まれている部分鍵検証情報ｖとともに、有効識別子（ｉ＋ｊｎ）と対応付けて、署名鍵管理手段５２に記憶される。
【０１１３】
（署名生成装置の構成）
署名生成装置６０は、署名鍵更新装置５０で管理されている署名鍵を用いて、アプリケーションに署名を付加するものである。ここでは、署名生成装置６０は、アプリケーション入力手段６１と、署名付加手段６２と、アプリケーション送信手段６３とを備えている。
【０１１４】
アプリケーション入力手段６１は、外部からアプリケーションを入力するものである。このアプリケーション入力手段６１は、例えば、サービス提供者内部のネットワークを介してアプリケーションを受信するものであってもよいし、記憶媒体に書き込まれたアプリケーションを読み出すものであってもよい。このアプリケーション入力手段６１は、入力したアプリケーションを署名付加手段６２に出力する。
【０１１５】
署名付加手段６２は、アプリケーション入力手段６１で入力したアプリケーションに、署名鍵を用いて、デジタル署名を付加するものである。すなわち、署名付加手段６２は、サービス提供者ごとに固有の有効識別子を含んだハッシュ値を演算し、有効識別子固有の署名を生成して、アプリケーションに付加する。
具体的には、署名付加手段６２は、公開情報として公開されている検証鍵の一部（ｐ，ｇ）に基づいて、Ｚｑから乱数ｒｓをランダムに生成し、以下の式（１０）により、署名の正当性を検証するための情報の一部となる署名検証情報ｖｓを生成する。
【０１１６】
【数１０】
0005576809.tif 000012
【０１１７】
また、署名付加手段６２は、以下の式（１１）に示すように、署名鍵管理手段５２に記憶されている部分鍵検証情報ｖおよび有効識別子（ｉ＋ｊｎ）と、アプリケーション（ソフトウェア）Ｍと、式（１０）で生成された署名検証情報ｖｓとを連結し、公開されている検証鍵の一部であるハッシュ関数Ｈ（・）により、ハッシュ値ｃｓを生成する。
【０１１８】
【数１１】
0005576809.tif 000013
【０１１９】
そして、署名付加手段６２は、ハッシュ値ｃｓと、乱数ｒｓと、署名鍵管理手段５２に記憶されている署名鍵ＳＫｉ＋ｊｎと、公開されている検証鍵の一部（ｑ）とに基づいて、以下の式（１２）により、署名σｓを生成する。
【０１２０】
【数１２】
0005576809.tif 000014
【０１２１】
そして、署名付加手段６２は、アプリケーションＭに、署名σｓと、ハッシュ値ｃｓと、部分鍵検証情報ｖとからなる署名情報（σｓ，ｃｓ，ｖ）と、署名鍵管理手段５２に記憶されている有効識別子（ｉ＋ｊｎ）とを付加して、アプリケーション送信手段６３に出力する。
【０１２２】
アプリケーション送信手段６３は、署名付加手段６２で署名（署名情報）および有効識別子が付加されたアプリケーション（署名付きアプリケーション）を、ネットワークＮ１を介して受信端末７に送信するものである。
【０１２３】
〔受信端末の構成〕
次に、図５を参照（適宜図１参照）して、受信端末の構成について説明を行う。ここでは、受信端末７は、失効リスト受信手段７１と、失効リスト管理手段７２と、検証鍵管理手段７３と、アプリケーション受信手段７４と、失効リスト検証手段７５と、署名検証手段７６と、アプリケーション管理手段７７とを備えている。
【０１２４】
失効リスト受信手段７１は、鍵管理サーバ１で生成された失効リスト（ＣＲＬ）を、ネットワークＮ１を介して受信するものである。この受信したＣＲＬは、失効リスト管理手段７２に出力される。
【０１２５】
失効リスト管理手段（失効リスト記憶手段）７２は、失効リスト受信手段７１で受信したＣＲＬを記憶し、管理するものである。具体的には、失効リスト管理手段７２は、失効リスト受信手段７１で受信したＣＲＬを、図示を省略した記憶媒体に書き込み、要求に応じてＣＲＬの読み出しや更新を行う。
ここでは、失効リスト管理手段７２は、失効リスト検証手段７５においてサービス提供者識別子（有効識別子）を検証する際に、失効リスト検証手段７５からの要求により、ＣＲＬを記憶媒体から読み出し、失効リスト検証手段７５に出力する。
また、失効リスト管理手段７２は、新たに失効リスト受信手段７１でＣＲＬを受信した場合、記憶媒体に記憶されているＣＲＬを更新する。
【０１２６】
検証鍵管理手段（検証鍵記憶手段）７３は、鍵管理サーバ１で生成された検証鍵を記憶し、管理するものである。具体的には、検証鍵管理手段７３は、例えば、ＩＣカード等であって、予め検証鍵が書き込まれた記憶媒体である。この検証鍵管理手段７３は、署名検証手段７６からの要求によって検証鍵の読み出しを行う。
【０１２７】
アプリケーション受信手段７４は、アプリケーションサーバ５から送信されるアプリケーション（署名付きアプリケーション）を、ネットワークＮ１を介して受信するものである。このアプリケーション受信手段７４は、受信した署名付きアプリケーションを失効リスト検証手段７５に出力する。
【０１２８】
失効リスト検証手段７５は、失効リスト管理手段７２で記憶されているＣＲＬを参照して、署名付きアプリケーションに付加されているサービス提供者識別子（有効識別子）が有効であるか否かを検証するものである。
すなわち、失効リスト検証手段７５は、署名付きアプリケーションに付加されている有効識別子（ｉ＋ｊｎ）が、ＣＲＬの第１要素に記述されている最大失効識別子以下である場合、署名付きアプリケーションに付加されている有効識別子（ｉ＋ｊｎ）に対応する署名鍵はすでに失効していると判定する。
【０１２９】
また、失効リスト検証手段７５は、署名付きアプリケーションに付加されている有効識別子（ｉ＋ｊｎ）が、ＣＲＬの第２要素以降に記述されている個別失効識別子の１つと一致する場合、署名付きアプリケーションに付加されている有効識別子（ｉ＋ｊｎ）に対応する署名鍵はすでに失効していると判定する。
このように、失効リスト検証手段７５は、署名付きアプリケーションに付加されている有効識別子（ｉ＋ｊｎ）に対応する署名鍵を失効していると判定した場合、図示を省略した表示装置に対してエラーメッセージを表示する。
【０１３０】
また、失効リスト検証手段７５は、署名付きアプリケーションに付加されている有効識別子（ｉ＋ｊｎ）を有効と判定した場合、署名付きアプリケーションを署名検証手段７６に出力する。
【０１３１】
署名検証手段７６は、検証鍵管理手段７３に記憶されている検証鍵を用いて、署名付きアプリケーションに付加されている署名を検証するものである。すなわち、署名検証手段７６は、検証鍵を用いて予め定めた条件式で得られたハッシュ値が、署名に付加されているハッシュ値と一致するか否かにより署名の検証を行う。
具体的には、署名検証手段７６は、以下の式（１３）に示すように、アプリケーションに付加されている部分鍵検証情報ｖと有効識別子（ｉ＋ｊｎ）とを連結し、検証鍵管理手段７３に記録されている検証鍵に含まれるハッシュ関数Ｈ（・）により、ハッシュ値ｃ１を生成する。
【０１３２】
【数１３】
0005576809.tif 000015
【０１３３】
そして、署名検証手段７６は、ハッシュ値ｃ１と、検証鍵の一部（ｐ，ｇ，ｙ０，ｙ′）と、署名情報（σｓ，ｃｓ，ｖ）とに基づいて、以下の式（１４）の条件式が成り立つか否かにより、署名検証を行う。
【０１３４】
【数１４】
0005576809.tif 000016
【０１３５】
そして、署名検証手段７６は、この式（１４）が成り立つ場合のみ、付加された署名を正当な署名であると判定し、アプリケーション管理手段７７に対して、署名付きアプリケーションを出力する。また、署名検証手段７６は、署名が正当でないと判定した場合、図示を省略した表示装置に対してエラーメッセージを表示する。
【０１３６】
アプリケーション管理手段７７は、署名検証手段７６で署名が正当であると判定された署名付きアプリケーションを起動（復号、再生）あるいは蓄積するものである。
なお、アプリケーション管理手段７７は、符号化されたアプリケーション（符号化データ）を復号、再生したり、一旦、ハードディスク等の記憶媒体にアプリケーションを蓄積した後に、再生したりする一般的な蓄積・再生手段であるため、ここでは、詳細な説明は省略する。
【０１３７】
［アプリケーション認証システムの動作］
次に、アプリケーション認証システムの動作について説明を行う。
〔鍵生成・署名鍵発行〕
最初に、図６を参照（適宜図２，図３参照）して、アプリケーション認証システムＳにおける初期動作である鍵生成および署名鍵発行の動作について説明する。
まず、鍵管理サーバ１は、鍵生成装置１０において、鍵生成手段１１によって、署名鍵を生成するために必要となる２つのマスタ鍵（第１マスタ鍵、第２マスタ鍵）と、公開情報となる検証鍵とを生成する（ステップＳ１：マスタ鍵・検証鍵生成）。なお、このステップＳ１における鍵（マスタ鍵および検証鍵）の生成動作については、後で図７を参照して説明する。
【０１３８】
そして、鍵管理サーバ１は、検証鍵管理手段１２によって、ステップＳ１で生成された検証鍵を記憶するとともに、検証鍵を公開する（ステップＳ２）。このステップＳ１で生成された検証鍵は、オフラインで、または、セキュアな通信路（例えば、放送波）を介して受信端末７に配布（配信）される（ステップとして図示せず）。
また、鍵管理サーバ１は、第１マスタ鍵管理手段１３によって、ステップＳ１で生成された第１マスタ鍵を記憶する（ステップＳ３）。また、鍵管理サーバ１は、第２マスタ鍵送信手段１４によって、ステップＳ１で生成された第２マスタ鍵を、署名鍵発行サーバ３に送信する（ステップＳ４）。
【０１３９】
一方、署名鍵発行サーバ３は、第２マスタ鍵受信手段３１によって、第２マスタ鍵を受信する（ステップＳ５）。そして、第２マスタ鍵管理手段３２によって、第２マスタ鍵を記憶する（ステップＳ６）。
以上の動作によって、署名鍵を生成するために必要となるマスタ鍵（第１マスタ鍵、第２マスタ鍵）と、署名鍵を検証するための検証鍵が生成される。
【０１４０】
その後、アプリケーション認証システムＳは、サービス提供者に署名鍵を発行するために、以下の動作を行う。
すなわち、鍵管理サーバ１は、部分鍵生成装置２０において、パラメータ入力手段２１によって、外部からサービス提供者識別子を入力するとともに、ステップＳ２，Ｓ３で記憶されている検証鍵および第１マスタ鍵を取得し、部分鍵生成手段２２によって、署名鍵を生成するための部分鍵を含む部分鍵情報を生成する（ステップＳ７：部分鍵生成）。なお、このステップＳ７における部分鍵生成動作については、後で図８を参照して説明する。
【０１４１】
そして、鍵管理サーバ１は、部分鍵管理手段２３によって、ステップＳ７で生成された部分鍵（部分鍵情報）を記憶する（ステップＳ８）。
さらに、鍵管理サーバ１は、部分鍵送信手段２４によって、ステップＳ７で生成された部分鍵（部分鍵情報）を、署名鍵発行サーバ３に送信する（ステップＳ９）。
【０１４２】
一方、署名鍵発行サーバ３は、部分鍵受信手段３３によって、部分鍵（部分鍵情報）を受信する（ステップＳ１０）。
そして、署名鍵発行サーバ３は、署名鍵生成手段３４によって、ステップＳ１０で受信した部分鍵（部分鍵情報）と、ステップＳ６で記憶した第２マスタ鍵とから、署名鍵を生成する（ステップＳ１１：署名鍵生成）。なお、このステップＳ１１における署名鍵生成動作については、後で図８を参照して説明する。このステップＳ１１で生成された署名鍵は、オフラインでサービス提供者（アプリケーションサーバ５）に配布される（ステップとして図示せず）。
【０１４３】
以上の動作によって、署名鍵が生成され秘密情報としてサービス提供者で管理されることになる。
なお、サービス提供者（アプリケーションサーバ５）が複数存在する場合、署名鍵はそれに対応して複数生成されることになるが、その場合、ステップＳ７以降の動作がサービス提供者の数に応じて繰り返される。
【０１４４】
（鍵〔マスタ鍵・検証鍵〕生成）
次に、図７を参照（適宜図２参照）して、マスタ鍵（第１マスタ鍵、第２マスタ鍵）および検証鍵の生成動作について説明する。なお、ここで説明する動作は、図６で説明したステップＳ１の動作に相当し、鍵生成装置１０の鍵生成手段１１において動作する。
【０１４５】
まず、鍵生成手段１１は、ｑが（ｐ−１）の約数となる素数ｐ，ｑを生成し（ステップＳ２１）、その素数ｐ，ｑに基づいて、乗法群Ｚｐ＊の元ｇによって生成される部分群の位数がｑとなるような生成元ｇを生成する（ステップＳ２２）。そして、鍵生成手段１１は、Ｚｑからランダムにｘ，ｘ′を選択する（ステップＳ２３）。
そして、鍵生成手段１１は、前記式（１）の演算を行うことで得たｘ０を第１マスタ鍵と設定する（ステップＳ２４）。
また、鍵生成手段１１は、ステップＳ２３で選択されたｘ′を第２マスタ鍵として設定する（ステップＳ２５）。
【０１４６】
その後、鍵生成手段１１は、前記式（３）の演算により検証鍵の要素の一部（ｙ０，ｙ′）を算出し、ｐ、ｑ、ｇ、ｙ０，ｙ′およびハッシュ関数Ｈ（・）からなる前記式（２）に示す検証鍵ＶＫを生成する（ステップＳ２６）。
以上の動作によって、鍵生成手段１１は、署名鍵を生成するための２つのマスタ鍵である第１マスタ鍵ｘ０および第２マスタ鍵ｘ′と、公開情報となる検証鍵ＶＫとを生成する。
【０１４７】
（署名鍵発行）
次に、図８を参照（適宜図２，図３参照）して、署名鍵を発行する際の主な動作について説明する。なお、図８（ａ）で説明する動作は、図６で説明したステップＳ７の部分鍵生成動作に相当し、鍵管理サーバ１の鍵生成装置１０の部分鍵生成手段２２において動作する。また、図８（ｂ）で説明する動作は、図６で説明したステップＳ１１の署名鍵生成動作に相当し、署名鍵発行サーバ３の署名鍵生成手段３４において動作する。
【０１４８】
まず、図８（ａ）に示すように、部分鍵生成手段２２は、Ｚｑから乱数ｒ１（ｒ）をランダムに生成する（ステップＳ３１）。そして、部分鍵生成手段２２は、乱数ｒ１（ｒ）と、検証鍵の一部（ｐ，ｇ）とに基づいて、前記式（４）の演算により部分鍵検証情報ｖ１（ｖ）を生成する（ステップＳ３２）。
さらに、部分鍵生成手段２２は、部分鍵検証情報ｖ１（ｖ）と、有効識別子（ここでは、署名鍵の発行段階であるため、サービス提供者識別子ｉ）とを連結し、前記式（５）により、ハッシュ値ｃ１（ｃ）を生成する（ステップＳ３３）。
【０１４９】
その後、部分鍵生成手段２２は、第１マスタ鍵ｘ０と、検証鍵の一部（ｑ）と、ハッシュ値ｃ１（ｃ）と、乱数ｒ１（ｒ）とに基づいて、前記式（６）により、部分鍵ｘ１（ｘ）を生成する（ステップＳ３４）。
このように生成された部分鍵ｘ１（ｘ）は、部分鍵検証情報ｖ１（ｖ）と、サービス提供者識別子ｉとともに、部分鍵情報として署名鍵発行サーバ３に送信される。
【０１５０】
一方、図８（ｂ）に示すように、署名鍵生成手段３４は、事前に取得している第２マスタ鍵ｘ′と、ステップＳ３４で生成され送信された部分鍵情報に含まれている部分鍵ｘ１（ｘ）と、公開されている検証鍵の一部（ｑ）とに基づいて、前記式（８）により、サービス提供者識別子ｉに対応する署名鍵ＳＫｉを生成する（ステップＳ４１）。
このように生成された署名鍵ＳＫｉは、サービス提供者識別子ｉで特定されるサービス提供者にオフラインで配布される。
【０１５１】
〔署名鍵更新〕
次に、図９を参照（適宜図２，図４，図５参照）して、アプリケーション認証システムＳにおける署名鍵の更新動作について説明する。
まず、鍵管理サーバ１は、部分鍵生成装置２０において、パラメータ入力手段２１によって、外部から更新種別、更新識別子およびサービス提供者識別子を入力するとともに、図６のステップＳ２，Ｓ３で記憶されている検証鍵および第１マスタ鍵を取得し、部分鍵生成手段２２および更新鍵情報生成手段２５によって、署名鍵を更新するための差分部分鍵を含む差分部分鍵情報を生成する（ステップＳ５１：差分部分鍵生成）。なお、このステップＳ５１における差分部分鍵生成動作については、後で図１０を参照して説明する。
そして、鍵管理サーバ１は、更新鍵情報送信手段２６によって、ステップＳ５１で生成された差分部分鍵（差分部分鍵情報）を、アプリケーションサーバ５に送信する（ステップＳ５２）。
【０１５２】
さらに、鍵管理サーバ１は、失効リスト生成手段２７によって、更新前の有効識別子の最大値（最大失効識別子）を、第１要素に記述した失効リスト（ＣＲＬ）を生成する（ステップＳ５３）。なお、失効リスト生成手段２７は、個別に失効させたいサービス提供者識別子が入力された場合、第２要素以降にそれらの識別子（個別失効識別子）を記述する。そして、鍵管理サーバ１は、失効リスト送信手段２８によって、ステップＳ５３で生成されたＣＲＬを、受信端末７に送信する（ステップＳ５４）。
【０１５３】
一方、アプリケーションサーバ５は、署名鍵更新装置５０において、更新鍵情報受信手段５３によって、差分部分鍵（差分部分鍵情報）を受信する（ステップＳ５５）。
そして、アプリケーションサーバ５は、署名鍵更新手段５４によって、署名鍵管理手段５２で管理（記憶）されている更新前の署名鍵を、ステップＳ５５で受信した差分部分鍵（差分部分鍵情報）に基づいて更新する（ステップＳ５６：署名鍵更新）。このステップＳ５６における署名鍵更新動作については、後で図１０を参照して説明する。
【０１５４】
また、一方、受信端末７は、失効リスト受信手段７１によって、失効リスト（ＣＲＬ）を受信する（ステップＳ５８）。そして、受信端末７は、失効リスト管理手段７２によって、ステップＳ５８で受信したＣＲＬを記憶する（ステップＳ５９）。
以上の動作によって、アプリケーションサーバ５内で署名鍵が更新され、更新前の署名鍵については失効した旨が、ＣＲＬによって、受信端末７に通知される。
【０１５５】
（差分部分鍵生成・署名鍵更新）
次に、図１０を参照（適宜図２，図４参照）して、署名鍵を更新する際の主な動作について説明する。なお、図１０（ａ）で説明する動作は、図９で説明したステップＳ５１の差分部分鍵生成動作に相当し、鍵管理サーバ１の鍵生成装置１０の部分鍵生成手段２２および更新鍵情報生成手段２５において動作する。また、図１０（ｂ）で説明する動作は、図９で説明したステップＳ５６の署名鍵更新動作に相当し、アプリケーションサーバ５の署名鍵更新装置５０の署名鍵更新手段５４において動作する。
【０１５６】
まず、図１０（ａ）に示すように、部分鍵生成手段２２は、Ｚｑから乱数ｒ２（ｒ）をランダムに生成する（ステップＳ６１）。そして、部分鍵生成手段２２は、乱数ｒ２（ｒ）と、検証鍵の一部（ｐ，ｇ）とに基づいて、前記式（４）の演算により部分鍵検証情報ｖ２（ｖ）を生成する（ステップＳ６２）。
さらに、部分鍵生成手段２２は、部分鍵検証情報ｖ２（ｖ）と、有効識別子（ｉ＋ｊｎ）とを連結し、前記式（５）により、ハッシュ値ｃ２（ｃ）を生成する（ステップＳ６３）。
【０１５７】
そして、部分鍵生成手段２２は、第１マスタ鍵ｘ０と、検証鍵の一部（ｑ）と、ハッシュ値ｃ２（ｃ）と、乱数ｒ２（ｒ）とに基づいて、前記式（６）により、部分鍵ｘ２（ｘ）を生成する（ステップＳ６４）。
【０１５８】
その後、更新鍵情報生成手段２５は、部分鍵管理手段２３で管理（記憶）されている以前の部分鍵ｘ１と、ステップＳ６４で生成された部分鍵ｘ２と、検証鍵の一部（ｑ）とに基づいて、前記式（７）により、差分部分鍵Δｘを生成する（ステップＳ６５）。
このように生成された差分部分鍵Δｘは、部分鍵検証情報ｖ２（ｖ）と、有効識別子（ｉ＋ｊｎ）とともに、差分部分鍵情報としてアプリケーションサーバ５に送信される。
【０１５９】
一方、図１０（ｂ）に示すように、署名鍵更新手段５４は、署名鍵管理手段５２で管理（記憶）されている更新前の署名鍵をＳＫｉ＋（ｊ−１）ｎと、ステップＳ６５で生成され送信された差分部分鍵情報に含まれている差分部分鍵Δｘと、鍵管理サーバ１で公開情報として公開されている検証鍵の一部（ｑ）とに基づいて、前記式（９）により、新たな署名鍵ＳＫｉ＋ｊｎを生成する（ステップＳ７１）。
【０１６０】
このように生成された署名鍵ＳＫｉ＋ｊｎは、差分部分鍵情報に含まれている部分鍵検証情報ｖとともに、有効識別子（ｉ＋ｊｎ）と対応付けて、署名鍵管理手段５２に記憶される。これによって、アプリケーションサーバ５が保持する署名鍵（署名鍵情報）が更新されることになる。
【０１６１】
〔アプリケーション認証〕
次に、図１１を参照（適宜図４，図５参照）して、アプリケーション認証システムＳにおける署名を生成してアプリケーションに付加し、アプリケーションの受信側で署名を検証するアプリケーション認証動作について説明する。
【０１６２】
まず、アプリケーションサーバ５は、アプリケーション入力手段６１によって、外部からアプリケーションを入力する（ステップＳ８１）。
そして、アプリケーションサーバ５は、署名付加手段６２によって、署名鍵管理手段５２に記憶されている署名鍵情報に基づいて署名を生成する（ステップＳ８２：署名生成）。なお、このステップＳ８２における署名生成動作については、後で図１２を参照して説明する。
【０１６３】
そして、アプリケーションサーバ５は、署名付加手段６２によって、ステップＳ８１で入力したアプリケーションに、ステップＳ８２で生成した署名を付加する（ステップＳ８３）。そして、アプリケーションサーバ５は、アプリケーション送信手段６３によって、ステップＳ８３で署名が付加された署名付きアプリケーションを受信端末７に送信する（ステップＳ８４）。
【０１６４】
一方、受信端末７は、アプリケーション受信手段７４によって、署名付きアプリケーションを受信する（ステップＳ８５）。そして、受信端末７は、失効リスト検証手段７５および署名検証手段７６によって、署名付きアプリケーションに署名が正当なものであるか否かを検証する（ステップＳ８６：署名検証）。なお、このステップＳ８６における署名生成動作については、後で図１２を参照して説明する。
【０１６５】
そして、受信端末７は、ステップＳ８７において、検証結果として署名が正当であると判定された場合（ステップＳ８７でＹｅｓ）にのみ、アプリケーション管理手段７７によって、アプリケーションの起動（復号、再生）あるいは蓄積を行う（ステップＳ８８）。
一方、検証結果として署名が不正であると判定された場合（ステップＳ８７でＮｏ）、受信端末７は、アプリケーションの起動等を行わず、エラーメッセージを表示して処理を終了する。
以上の動作によって、正規のサービス提供者によって正当な署名が付加されたアプリケーションのみが受信端末７において、起動・蓄積されることになる。
【０１６６】
（署名生成・署名検証）
次に、図１２を参照（適宜図４，図５参照）して、アプリケーション認証の主な動作について説明する。なお、図１２（ａ）で説明する動作は、図１１で説明したステップＳ８２の署名生成動作に相当し、アプリケーションサーバ５の署名生成装置６０の署名付加手段６２において動作する。また、図１２（ｂ）で説明する動作は、図１１で説明したステップＳ８６の署名検証動作に相当し、受信端末７の失効リスト検証手段７５および署名検証手段７６において動作する。
【０１６７】
まず、図１２（ａ）に示すように、署名付加手段６２は、Ｚｑから乱数ｒｓをランダムに生成する（ステップＳ９１）。そして、署名付加手段６２は、乱数ｒｓと、検証鍵の一部（ｐ，ｇ）とに基づいて、前記式（１０）の演算により署名検証情報ｖｓを生成する（ステップＳ９２）。
【０１６８】
さらに、署名付加手段６２は、署名鍵管理手段５２に記憶されている部分鍵検証情報ｖと、署名検証情報ｖｓと、有効識別子（ｉ＋ｊｎ）と、アプリケーションＭとを連結し、前記式（１１）により、ハッシュ値ｃｓを生成する（ステップＳ９３）。
【０１６９】
その後、署名付加手段６２は、ハッシュ値ｃｓと、乱数ｒｓと、署名鍵管理手段５２に記憶されている有効識別子（ｉ＋ｊｎ）に対応する署名鍵ＳＫｉ＋ｊｎと、検証鍵の一部（ｑ）とに基づいて、前記式（１２）により、署名σｓを生成する（ステップＳ９４）。
このように生成された署名σｓは、ハッシュ値ｃｓと、部分鍵検証情報ｖと、有効識別子（ｉ＋ｊｎ）とともに、アプリケーションＭに付加されて署名付きアプリケーションが生成される。
【０１７０】
一方、図１２（ｂ）に示すように、失効リスト検証手段７５は、署名付きアプリケーションに付加されている有効識別子（ｉ＋ｊｎ）が、ＣＲＬに含まれているか否かを判定する（ステップＳ１０１）。
ここで、有効識別子（ｉ＋ｊｎ）が、ＣＲＬに含まれている場合、すなわち、有効識別子（ｉ＋ｊｎ）がＣＲＬの第１要素に記述されている最大失効識別子以下である場合、または、有効識別子（ｉ＋ｊｎ）が、ＣＲＬの第２要素以降に記述されている個別失効識別子の１つと一致する場合（ステップＳ１０１でＹｅｓ）、不正な署名鍵に対応する署名が付加されているため、失効リスト検証手段７５は、検証結果に署名が不正である旨を設定し（ステップＳ１０２）、署名検証動作を終了する。
【０１７１】
一方、有効識別子（ｉ＋ｊｎ）が、ＣＲＬに含まれていない場合（ステップＳ１０１でＮｏ）、署名検証手段７６が以下の動作を行う。
すなわち、署名検証手段７６は、検証鍵管理手段７３に記録されている検証鍵に含まれるハッシュ関数Ｈ（・）を用いて、前記式（１３）によりハッシュ値ｃ１を生成する（ステップＳ１０３）。
そして、署名検証手段７６は、ハッシュ値ｃ１と、検証鍵の一部（ｐ，ｇ，ｙ０，ｙ′）と、署名情報（σｓ，ｃｓ，ｖ）とに基づいて、前記式（１４）の条件式が成り立つか否かにより、署名σｓの検証を行う（ステップＳ１０４）。
【０１７２】
ここで、前記式（１４）の条件式が成り立つ場合（ステップＳ１０４でＹｅｓ）、署名検証手段７６は、検証結果に署名が正当である旨を設定する（ステップＳ１０５）。一方、前記式（１４）の条件式が成り立たない場合（ステップＳ１０４でＮｏ）、署名検証手段７６は、検証結果に署名が正当でない旨を設定する（ステップＳ１０２）。
以上の手順によって、受信端末７は、アプリケーションに付加された署名を検証することができる。
【０１７３】
［署名鍵の更新と失効の例］
次に、図１３〜図１６を参照（適宜図１〜図５参照）して、アプリケーション認証システムにおける署名鍵の更新と失効の処理について具体的に説明する。
【０１７４】
（通常更新）
まず、図１３を参照して、署名鍵を定期的に更新する処理について説明する。
図１３に示すように、サービス提供者の数がｍの場合、それぞれのサービス提供者には、１，２，…，ｍのサービス提供者識別子が付与される。そして、図６の署名鍵発行動作で説明したように、鍵管理サーバ１の部分鍵生成手段２２が更新識別子“０”で生成した部分鍵を署名鍵発行サーバ３に送信し、署名鍵発行サーバ３の署名鍵生成手段３４が、サービス提供者識別子１，２，…，ｍに対応する署名鍵ＳＫ１，ＳＫ２，…，ＳＫｍを生成する。
【０１７５】
このとき、失効すべき署名鍵は存在しないため、鍵管理サーバ１の失効リスト生成手段２７は、ＣＲＬに、有効なサービス提供者識別子より小さい値（ここでは、“０”）を設定する。これによって、ＣＲＬを取得した受信端末７は、サービス提供者識別子１，２，…，ｍに対応する署名鍵ＳＫ１，ＳＫ２，…，ＳＫｍがすべて有効であると判定することができる。
【０１７６】
その後、署名鍵を更新する場合、更新識別子が１増加され、部分鍵生成手段２２が、新たな更新識別子“１”で部分鍵を生成し、更新鍵情報生成手段２５が、以前に生成した部分鍵との差分をとることで差分部分鍵を生成する。そして、アプリケーションサーバ５の署名鍵更新手段５４が、差分部分鍵により署名鍵を更新する。このとき、鍵管理サーバ１は、アプリケーションサーバ５に対し、差分部分鍵と同時に有効識別子（サービス提供者識別子＋更新識別子×サービス提供者数上限値）が通知されるため、それぞれのアプリケーションサーバ５の署名鍵更新手段５４では、その有効識別子に対応して署名鍵を生成する。これによって、更新識別子が“０”から“１”になった場合、サービス提供者ごとのアプリケーションサーバ５に保持されている署名鍵ＳＫ１，ＳＫ２，…，ＳＫｍが、有効識別子１＋ｎ，２＋ｎ，…，ｍ＋ｎに対応する署名鍵ＳＫ１＋ｎ，ＳＫ２＋ｎ，…，ＳＫｍ＋ｎに更新される。
【０１７７】
このとき、失効すべき署名鍵は署名鍵ＳＫ１，ＳＫ２，…，ＳＫｍであるため、最大失効識別子として、ｍを第１要素に記述してＣＲＬ＝｛ｍ｝を生成する。あるいは、（更新識別子“１”×サービス提供者数の上限値ｎ）であるｎを第１要素に記述してＣＲＬ＝｛ｎ｝を生成する。これによって、ＣＲＬを取得した受信端末７は、ＣＲＬ｛ｍ｝または｛ｎ｝によって、サービス提供者識別子１，２，…，ｍに対応する署名鍵ＳＫ１，ＳＫ２，…，ＳＫｍがすべて無効であると判定することができる。
このように、更新識別子を“０”，“１”，…と増加させて署名鍵を更新するとともに、ＣＲＬに更新後の有効識別子よりも小さい値を設定することで、更新前の署名鍵を一度に失効させることができる。
【０１７８】
（サービス提供者を追加する場合）
次に、図１４を参照して、サービス提供者を追加する処理について説明する。ここでは、更新識別子“２”の署名鍵が配布されている状態で、ｍ＜ｔ≦ｎとなるサービス提供者識別子ｔが割り当てられたサービス提供者を追加するものとする。
この場合、まず、図６の署名鍵発行動作で説明したように、鍵管理サーバ１の部分鍵生成手段２２が更新識別子“０”で生成した部分鍵を署名鍵発行サーバ３に送信し、署名鍵発行サーバ３の署名鍵生成手段３４が、サービス提供者識別子ｔに対応する署名鍵ＳＫｔを生成する。
【０１７９】
その後、更新識別子“３”の更新時に、サービス提供者識別子ｔの署名鍵ＳＫｔは、有効識別子（サービス提供者識別子ｔ＋更新識別子“３”×サービス提供者数上限値ｎ）に対応する署名鍵ＳＫｔ＋３ｎに更新される。
このとき、鍵管理サーバ１の失効リスト生成手段２７は、最大失効識別子として、更新前の有効識別子の最大値ｔと、更新前の更新識別子“２”と、サービス提供者数の上限値ｎで特定される有効識別子を第１要素に記述して、ＣＲＬ＝｛ｔ＋２ｎ｝を生成する。あるいは、（更新後の更新識別子“３”×サービス提供者数の上限値ｎ）を第１要素に記述してＣＲＬ＝｛３ｎ｝を生成する。
【０１８０】
なお、ここでは、新たに追加するサービス提供者の署名鍵として、更新識別子“０”に相当する署名鍵を生成することとしたが、現在有効な更新識別子に相当する署名鍵を生成することとしてもよい。例えば、図１４において、更新識別子“２”のときに、サービス提供者識別子ｔの署名鍵を生成する場合、ＳＫｔの代わりにＳＫｔ＋２ｎを生成することとしてもよい。
【０１８１】
（サービス提供者を失効させる場合）
次に、図１５を参照して、特定のサービス提供者の署名鍵を失効させる処理について説明する。ここでは、更新識別子“１”の署名鍵を配信後に、あるサービス提供者識別子ｋとして定められたサービス提供者の署名鍵を失効させるものとする。
【０１８２】
この場合、鍵管理サーバ１の失効リスト生成手段２７は、最大失効識別子として、更新前の有効識別子の最大値ｍを第１要素に記述し、個別失効識別子として、失効させたいサービス提供者識別子ｋの更新識別子“１”における有効識別子を第２要素に記述して、ＣＲＬ＝｛ｍ，ｋ＋ｎ｝を生成する。あるいは、第１要素には、（現在の更新識別子“１”×サービス提供者数の上限値ｎ）を第１要素に記述し、ＣＲＬ＝｛ｎ，ｋ＋ｎ｝を生成する。
なお、更新識別子“２”以降の署名鍵の更新は、鍵管理サーバ１の更新鍵情報生成手段２５において、サービス提供者識別子ｋに対応する差分部分鍵が生成されないため、ＣＲＬには個別失効識別子を記述する必要はなく、図１４で説明した動作と同じである。
【０１８３】
（署名鍵の漏洩が発覚した場合）
次に、図１６を参照して、特定のサービス提供者の署名鍵が漏洩した場合の署名鍵の更新と失効の処理について説明する。ここでは、更新識別子“１”においてサービス提供者識別子ｈの署名鍵が漏洩したものとする。
【０１８４】
この場合、図１５で説明した処理と同様に、最大失効識別子として、更新前の有効識別子の最大値ｍを第１要素に記述し、個別失効識別子として、失効させたいサービス提供者識別子ｈの更新識別子“１”における有効識別子を第２要素に記述して、ＣＲＬ＝｛ｍ，ｈ＋ｎ｝を生成する。あるいは、第１要素には、（現在の更新識別子“１”×サービス提供者数の上限値ｎ）を第１要素に記述し、ＣＲＬ＝｛ｎ，ｈ＋ｎ｝を生成する。
また、サービス提供者識別子ｈが割り当てられているサービス提供者には、新たにサービス提供者識別子ｈ′を割り当てる。
以降の処理については、図１４で新たにサービス提供者を追加する場合の処理と同様であるため説明を書略する。
【０１８５】
なお、図１３〜図１６では、図１７（ａ）で説明した手法によって、署名鍵の更新、および、ＣＲＬの生成を行った例を説明したが、図１７（ｂ）で説明したように、有効識別子が連続するようにして、署名鍵の更新、および、ＣＲＬの生成を行ってもよいことはいうまでもない。
【０１８６】
以上説明したアプリケーション認証システムＳによれば、放送局が鍵生成および鍵管理を行うとともに、サービス提供者の数によらず固定長の検証鍵を用いて署名の検証を行うことができる。また、最大失効識別子を用いることで、一度に複数の署名鍵を容易に失効させることができるとともに、署名鍵を容易に更新することができる。
【０１８７】
また、アプリケーション認証システムＳは、マスタ鍵を分離して管理するため、一方のマスタ鍵が漏洩した場合であっても、もう一方のマスタ鍵がなければ署名鍵を更新することができないため、より安全にサービス提供者の認証を行うことができる。
【０１８８】
以上、本発明の実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、鍵管理サーバ１は、一般的なコンピュータを、前記した各手段として機能させるプログラム（鍵管理プログラム〔鍵生成プログラム、署名鍵更新用部分鍵生成プログラム〕）により動作させることで実現することができる。同様に、署名鍵発行サーバ３は、一般的なコンピュータを、前記した各手段として機能させるプログラム（署名鍵発行プログラム）により動作させることで実現することができる。
【０１８９】
また、アプリケーションサーバ５の署名鍵更新装置５０は、一般的なコンピュータを、前記した各手段として機能させるプログラム（署名鍵更新プログラム）により動作させることで実現することができ、署名生成装置６０は、一般的なコンピュータを、前記した各手段として機能させるプログラム（アプリケーション署名付加プログラム）により動作させることで実現することができる。さらに、受信端末７は、一般的なコンピュータを、前記した各手段として機能させるプログラム（アプリケーション認証プログラム）により動作させることで実現することができる。
【０１９０】
なお、ここでは、Strong Key-Insulated署名を用いてシステムを構成したが、ＩＤベース署名（A. Shamir：“Identity-Based Cryptosystems and Signature Schemes”，Proc. of CRYPTO’84，LNCS 196，pp. 47-53，Springer-Verlag，1984.）や、Key-Insulated署名（Y.Dodis，J.Katz，S.Xu and M.Yung：“Strong Key-Insulated Signature Schemes”，Proc. of PKC’03，pp.130-144，2003.）を用いて、本発明の署名鍵の更新や失効を行うシステムを実現することも可能である。
【０１９１】
［アプリケーション認証システムの他の構成（ＩＤベース署名）］
以下、ＩＤベース署名を用いた本発明の他の実施形態について説明する。
図１８に示すように、ＩＤベース署名を用いて本発明を実施した場合、アプリケーション認証システムＳＢは、放送局内に備えた鍵管理サーバ（鍵管理装置）１Ｂと、サービス提供者（サービス提供事業者）内に備えたアプリケーションサーバ５Ｂと、ユーザ宅内に備えた（あるいは、ユーザが携帯する）受信端末７とで構成される。
【０１９２】
ＩＤベース署名は、部分鍵という概念は存在せず、１つのマスタ鍵とＩＤ（サービス提供者識別子〔有効識別子〕）から署名鍵が生成される。そこで、アプリケーション認証システムＳＢは、図１で説明したアプリケーション認証システムＳから署名鍵発行サーバ３を省き、鍵管理サーバ１の鍵生成装置１０および部分鍵生成装置２０を、鍵生成装置１０Ｂおよび署名鍵生成装置２０Ｂとして鍵管理サーバ１Ｂを構成するとともに、アプリケーションサーバ５の署名鍵更新装置５０を新たな署名鍵更新装置５０Ｂとしてアプリケーションサーバ５Ｂを構成している。なお、受信端末７は、図１と同一のものである。
【０１９３】
〔鍵管理サーバの構成〕
まず、図１９を参照（適宜図１８参照）して、鍵管理サーバの構成について説明を行う。ここでは、鍵管理サーバ（鍵管理装置）１Ｂは、鍵生成装置１０Ｂと、署名鍵生成装置２０Ｂとを備えている。なお、鍵生成装置１０Ｂと署名鍵生成装置２０Ｂとは、図示を省略した通信インタフェースによって通信可能に接続されているものとする。
【０１９４】
（鍵生成装置の構成）
鍵生成装置１０Ｂは、署名鍵を生成するためのマスタ鍵と、署名鍵を検証するための検証鍵とを生成し、管理（記憶）するものである。ここでは、鍵生成装置１０Ｂは、鍵生成手段１１Ｂと、検証鍵管理手段１２と、マスタ鍵管理手段１３Ｂとを備えている。なお、検証鍵管理手段１２は、図２で説明したものと同一であるため、説明を省略する。
【０１９５】
鍵生成手段１１Ｂは、マスタ鍵と検証鍵とを生成するものである。ここでは、鍵生成手段１１Ｂは、ＩＤベース署名方式によりマスタ鍵と検証鍵とを生成する。この鍵生成手段１１Ｂは、生成した検証鍵を検証鍵管理手段１２に出力し、生成したマスタ鍵をマスタ鍵管理手段１３Ｂに出力する。
【０１９６】
マスタ鍵管理手段１３Ｂは、鍵生成手段１１Ｂで生成されたマスタ鍵を記憶し、管理するものである。このマスタ鍵管理手段１３Ｂは、図２で説明した第１マスタ鍵管理手段１３が管理する第１マスタ鍵と同様に、マスタ鍵を管理する。
【０１９７】
（署名鍵生成装置の構成）
署名鍵生成装置２０Ｂは、署名鍵の生成、ならびに、署名鍵を更新する際に使用する鍵情報を生成するとともに、失効した署名鍵のリストを示す失効リストを生成するものである。ここでは、署名鍵生成装置２０Ｂは、パラメータ入力手段２１と、署名鍵生成手段２２Ｂと、署名鍵管理手段２３Ｂと、署名鍵送信手段２４Ｂと、更新鍵情報生成手段２５Ｂと、更新鍵情報送信手段２６Ｂと、失効リスト生成手段２７と、失効リスト送信手段２８とを備えている。
【０１９８】
パラメータ入力手段２１、失効リスト生成手段２７および失効リスト送信手段２８は、図２で説明した部分鍵生成装置２０と同一の構成であるため説明を省略する。
前記したように、ＩＤベース署名は、部分鍵という概念は存在せず、１つのマスタ鍵とＩＤ（サービス提供者識別子〔有効識別子〕）から署名鍵が生成されるため、ここでは、図２に示した部分鍵生成手段２２、部分鍵管理手段２３および部分鍵送信手段２４を、それぞれ、署名鍵生成手段２２Ｂ、署名鍵管理手段２３Ｂおよび署名鍵送信手段２４Ｂとして構成している。
すなわち、署名鍵生成装置２０Ｂは、署名鍵生成手段２２Ｂによって、ＩＤベース署名方式によって署名鍵を生成し、署名鍵管理手段２３Ｂで署名鍵を管理（記憶）するとともに、署名鍵送信手段２４Ｂによって、アプリケーションサーバ５Ｂに署名鍵を送信する。
【０１９９】
また、ここでは、図２に示した更新鍵情報生成手段２５および更新鍵情報送信手段２６を、それぞれ、更新鍵情報生成手段２５Ｂおよび更新鍵情報送信手段２６Ｂして構成している。
この更新鍵情報生成手段２５Ｂおよび更新鍵情報送信手段２６Ｂにおいても、図２に示した更新鍵情報生成手段２５および更新鍵情報送信手段２６が、部分鍵の差分を求めてアプリケーションサーバ５に送信しているのに対し、署名鍵の差分を求めてアプリケーションサーバ５Ｂに送信している点のみが異なっている。
【０２００】
〔アプリケーションサーバの構成〕
次に、図２０を参照（適宜図１８参照）して、アプリケーションサーバの構成について説明を行う。ここでは、アプリケーションサーバ５Ｂは、署名鍵更新装置５０Ｂと、署名生成装置６０とを備えている。署名生成装置６０は、図４で説明したものと同一のものであるため、説明を省略する。
【０２０１】
署名鍵更新装置５０Ｂは、サービス提供者に配布された署名鍵を、鍵管理サーバ１Ｂから送信される差分署名鍵（差分署名鍵情報）に基づいて更新するものである。ここでは、署名鍵更新装置５０Ｂは、署名鍵入力手段５１と、署名鍵管理手段５２と、更新鍵情報受信手段５３Ｂと、署名鍵更新手段５４Ｂとを備えている。なお、署名鍵入力手段５１および署名鍵管理手段５２は、図４で説明したものと同一のものである。
【０２０２】
また、更新鍵情報受信手段５３Ｂおよび署名鍵更新手段５４Ｂは、図４で説明した更新鍵情報受信手段５３および署名鍵更新手段５４が差分部分鍵を受信して署名鍵を更新したのに対し、差分署名鍵を受信して署名鍵を更新する点のみが異なっている。なお、署名鍵更新手段５４Ｂは、一般的なＩＤベース署名方式により、差分署名鍵を用いて署名鍵を更新する。
このように、本発明は、サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報であるサービス提供者固有の鍵であって順次更新される署名鍵とを用いた署名方式において、一度に複数の署名鍵を容易に失効させることができるとともに、署名鍵を容易に更新することができる。
【符号の説明】
【０２０３】
Ｓ      アプリケーション認証システム
１      鍵管理サーバ（鍵管理装置）
１０    鍵生成装置
１１    鍵生成手段
１２    検証鍵管理手段（検証鍵記憶手段）
１３    第１マスタ鍵管理手段（第１マスタ鍵記憶手段）
１４    第２マスタ鍵送信手段
２０    部分鍵生成装置（署名鍵更新用部分鍵生成装置）
２１    パラメータ入力手段
２２    部分鍵生成手段
２３    部分鍵管理手段（部分鍵記憶手段）
２４    部分鍵送信手段
２５    更新鍵情報生成手段
２６    更新鍵情報送信手段
２７    失効リスト生成手段
２８    失効リスト送信手段
３      署名鍵発行サーバ（署名鍵発行装置）
３１    第２マスタ鍵受信手段
３２    第２マスタ鍵管理手段（第２マスタ鍵記憶手段）
３３    部分鍵受信手段
３４    署名鍵生成手段
３５    署名鍵出力手段
５      アプリケーションサーバ
５０    署名鍵更新装置
５１    署名鍵入力手段
５２    署名鍵管理手段（署名鍵記憶手段）
５３    更新鍵情報受信手段
５４    署名鍵更新手段
６０    署名生成装置
６１    アプリケーション入力手段
６２    署名付加手段
６３    アプリケーション送信手段
７      受信端末
７１    失効リスト受信手段
７２    失効リスト管理手段（失効リスト記憶手段）
７３    検証鍵管理手段（検証鍵記憶手段）
７４    アプリケーション受信手段
７５    失効リスト検証手段
７６    署名検証手段
７７    アプリケーション管理手段
【図１】
0005576809.tif 000017
【図２】
0005576809.tif 000018
【図３】
0005576809.tif 000019
【図４】
0005576809.tif 000020
【図５】
0005576809.tif 000021
【図６】
0005576809.tif 000022
【図７】
0005576809.tif 000023
【図８】
0005576809.tif 000024
【図９】
0005576809.tif 000025
【図１０】
0005576809.tif 000026
【図１１】
0005576809.tif 000027
【図１２】
0005576809.tif 000028
【図１３】
0005576809.tif 000029
【図１４】
0005576809.tif 000030
【図１５】
0005576809.tif 000031
【図１６】
0005576809.tif 000032
【図１７】
0005576809.tif 000033
【図１８】
0005576809.tif 000034
【図１９】
0005576809.tif 000035
【図２０】
0005576809.tif 000036