鍵管理装置、署名鍵更新用部分鍵生成装置、署名鍵発行装置、アプリケーションサーバおよび受信端末、ならびに、それらの制御プログラム
【課題】署名鍵の容易な失効や署名鍵の容易な更新を可能とするアプリケーション認証システムを提供する。
【解決手段】アプリケーション認証システムSは、放送局に鍵管理サーバ1と署名鍵発行サーバ3とを有し、鍵管理サーバ1は、サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応した部分鍵を生成する部分鍵生成手段と、更新後の部分鍵と更新前の部分鍵との差分により差分部分鍵を生成する更新鍵情報生成手段と、有効識別子とともに差分部分鍵をアプリケーションサーバ5に送信する更新鍵情報送信手段と、更新前の有効識別子と更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段とを備えることを特徴とする。
【解決手段】アプリケーション認証システムSは、放送局に鍵管理サーバ1と署名鍵発行サーバ3とを有し、鍵管理サーバ1は、サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応した部分鍵を生成する部分鍵生成手段と、更新後の部分鍵と更新前の部分鍵との差分により差分部分鍵を生成する更新鍵情報生成手段と、有効識別子とともに差分部分鍵をアプリケーションサーバ5に送信する更新鍵情報送信手段と、更新前の有効識別子と更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段とを備えることを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、放送波、インターネット、専用IP(Internet Protocol)回線等のネットワークを利用した放送・通信連携サービスにおいてアプリケーションを認証する技術に関する。
【背景技術】
【0002】
近年、放送のデジタル化や通信の高速・広帯域化に伴い、放送と通信を連携した様々なサービス(以降、このようなサービスを「放送・通信連携サービス」と呼ぶ)が検討されている。この放送・通信連携サービスでは、放送番組に関連する多様な情報を通信ネットワーク経由で取得し放送と組み合わせて提示することが想定されている。また、受信端末では、このようなサービスを享受するため、サービスに適応したアプリケーションを用いる。ここで、「アプリケーション」とは、通信ネットワーク経由で取得した番組関連情報を放送と組み合わせて提示する等の機能を有する、受信端末上で動作するソフトウェアのことを指す。
【0003】
なお、視聴者にとって、より魅力的なサービスを実現するためには、放送局が制作したアプリケーションだけでなく、様々な事業者が制作したアプリケーションを視聴者に提供できる環境が必要となる。一方、視聴者が提供されたアプリケーションを安心して利用できるようにするためには、アプリケーションを制作するサービス提供者(サービス提供事業者)を確認するとともに、アプリケーションの改ざんを防止する「アプリケーション認証」も必要である。
【0004】
一般に、アプリケーション認証は以下のように行われる。
サービス提供者は、視聴者からのリクエストに応じて、通信ネットワークを経由してアプリケーションを視聴者の受信端末に送信する。このとき、サービス提供者が保持する署名鍵を用いて、アプリケーションにデジタル署名を付加して送信する。視聴者の受信端末は、検証鍵を用いて受信したアプリケーションに付加されている署名を検証する。
【0005】
なお、この手順はサービス提供者が直接視聴者の受信端末にアプリケーションを送信する場合であるが、サービス提供者以外の第三者が運営するアプリケーションサーバにサービス提供者が制作したアプリケーションを登録し、視聴者からのリクエストに応じてアプリケーションサーバから受信端末に送信するモデルも考えられる。すなわち、第三者が運営するアプリケーションサーバを用いる場合、サービス提供者は、アプリケーションを登録する際に、署名鍵を用いてアプリケーションにデジタル署名を付加してアプリケーションサーバに送信する。一方、アプリケーションサーバは、検証鍵を用いて受信したアプリケーションに付加されている署名を検証する。
このようなデジタル署名を用いた認証には一般にPKI(Public Key Infrastructure)が用いられる(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】情報セキュリティ技術ラボラトリー、“PKI関連技術解説”、[online]、2007年7月3日、独立行政法人情報処理推進機構、[平成23年1月11日検索]、インターネット<URL:http://www.ipa.go.jp/security/pki/>
【発明の概要】
【発明が解決しようとする課題】
【0007】
放送・通信連携サービスにおいて、不正な動作を行うアプリケーションを制作するサービス提供者が存在した場合、当該サービス提供者が付加した署名、あるいは当該サービス提供者が保持する署名鍵を放送局が効率よく失効する手段が必要である。
しかし、前記したPKIは、サービス提供者が鍵生成を行い、第三者機関である認証局が鍵管理を行うモデルであり、証明書失効リスト(CRL:Certificate Revocation List)も認証局から発行される。そのため、放送局が不正なアプリケーションを制作するサービス提供者の署名鍵を失効させたい場合であっても、対応する公開鍵証明書を放送局の一存で失効させることは困難であり、早急に署名鍵を失効させることができないという問題があった。
【0008】
また、署名鍵はサービス提供者によって安全に管理する必要があるが、サーバアタックなどの理由により、署名鍵が第三者に漏洩する可能性もある。そのため、鍵漏洩対策として署名鍵を容易に更新する手段が必要である。しかし、PKIにおいてサービス提供者の署名鍵を更新する場合、認証局に対し公開鍵証明書の再発行を要求する必要がある等、煩雑な処理が必要となり、早急に署名鍵を更新することができないという問題があった。
【0009】
本発明は、以上のような問題点に鑑みてなされたものであり、放送・通信連携サービスにおいて、放送局が鍵生成および鍵管理を行うとともに、サービス提供者の数によらず1つの固定の検証鍵を用いて署名の検証を行うことを可能とし、さらに、署名鍵の容易な失効や署名鍵の容易な更新を可能とするアプリケーション認証システムに用いられる鍵管理装置、署名鍵更新用部分鍵生成装置、署名鍵発行装置、アプリケーションサーバおよび受信端末、ならびに、それらの制御プログラムを提供することを課題とする。
【課題を解決するための手段】
【0010】
本発明は、前記課題を解決するために創案されたものであり、まず、請求項1に記載の鍵管理装置は、サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに備えられ、前記署名鍵を更新するための鍵情報を前記署名方式により生成する鍵管理装置において、更新鍵情報生成手段と、更新鍵情報送信手段と、失効リスト生成手段と、失効リスト送信手段と、を備える構成とした。
【0011】
かかる構成において、鍵管理装置は、更新鍵情報生成手段によって、サービス提供者ごとに署名鍵に対応して付される有効識別子であって、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、鍵情報を生成する。この鍵情報は、IDベース署名方式やKey−Insulated署名方式により生成する。そして、鍵管理装置は、更新鍵情報送信手段によって、サービス提供者ごとの更新後の有効識別子とともに、鍵情報をアプリケーションサーバに送信する。これによって、鍵情報を取得したアプリケーションサーバは、有効識別子に対応して署名鍵を更新することができる。
【0012】
そして、鍵管理装置は、失効リスト生成手段によって、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素として失効リストを生成する。これは、有効識別子が、署名鍵の更新前後で、その値の大きさが異なるため、その境界となる値を失効リストとして通知すれば、受信端末において署名鍵の有効無効の判定を行うことが可能となるためである。そして、鍵管理装置は、失効リスト送信手段によって、失効リストを受信端末に送信する。これによって、受信端末は、境界を区分する値の大小判断によって、有効識別子が、失効していないか否かを判定することができる。
【0013】
さらに、コンピュータを、更新鍵情報生成手段、更新鍵情報送信手段、失効リスト生成手段、失効リスト送信手段、として機能させる鍵管理プログラムで、鍵管理装置を制御する構成としてもよい(請求項2)。
【0014】
また、請求項3に記載の受信端末は、サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって、鍵管理装置によって生成された鍵情報によって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに用いられる前記受信端末であって、検証鍵記憶手段と、失効リスト受信手段と、失効リスト記憶手段と、アプリケーション受信手段と、失効リスト検証手段と、署名検証手段と、アプリケーション管理手段と、を備える構成とした。
【0015】
かかる構成において、受信端末は、検証鍵記憶手段に検証鍵を予め記憶しておく。そして、受信端末は、失効リスト受信手段によって、鍵管理装置から、サービス提供者ごとに付される有効識別子であって、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信し、失効リスト記憶手段に記憶する。
【0016】
また、受信端末は、アプリケーション受信手段によって、アプリケーションサーバから、署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信する。そして、受信端末は、失効リスト検証手段によって、失効リスト記憶手段に記憶されている失効リストに基づいて、アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する。さらに、受信端末は、署名検証手段によって、検証鍵記憶手段に記憶されている検証鍵により、アプリケーションに付加されている署名を検証する。
そして、受信端末は、アプリケーション管理手段によって、失効リスト検証手段および署名検証手段において、有効識別子が有効で、かつ、署名が正当である場合に、アプリケーションの起動または蓄積を行う。
【0017】
さらに、コンピュータを、失効リスト受信手段、アプリケーション受信手段、失効リスト検証手段、署名検証手段、アプリケーション管理手段、として機能させるアプリケーション署名認証プログラムで、受信端末を制御する構成としてもよい(請求項4)。
【0018】
また、請求項5に記載の署名鍵更新用部分鍵生成装置は、アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵更新用部分鍵生成装置であって、部分鍵生成手段と、部分鍵記憶手段と、部分鍵送信手段と、更新鍵情報生成手段と、更新鍵情報送信手段と、失効リスト生成手段と、失効リスト送信手段と、を備える構成とした。
【0019】
かかる構成において、署名鍵更新用部分鍵生成装置は、部分鍵生成手段によって、サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、検証鍵および第1マスタ鍵から、サービス提供者ごとの有効識別子に対応した部分鍵を生成する。この部分鍵は、例えば、Key−Insulated署名方式により生成することができる。
【0020】
そして、署名鍵更新用部分鍵生成装置は、生成した部分鍵を、有効識別子に対応付けて部分鍵記憶手段に記憶しておく。そして、署名鍵更新用部分鍵生成装置は、部分鍵送信手段によって、有効識別子を付加して、部分鍵を署名鍵発行装置に送信する。
【0021】
また、署名鍵更新用部分鍵生成装置は、更新鍵情報生成手段によって、部分鍵生成手段で生成された部分鍵と、部分鍵記憶手段に記憶されている更新前の部分鍵との差分により差分部分鍵を生成する。そして、署名鍵更新用部分鍵生成装置は、更新鍵情報送信手段によって、サービス提供者識別子ごとの更新後の有効識別子とともに、差分部分鍵をアプリケーションサーバに送信する。これによって、差分部分鍵を取得したアプリケーションサーバは、有効識別子に対応して署名鍵を更新することができる。
【0022】
また、署名鍵更新用部分鍵生成装置は、失効リスト生成手段によって、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素として失効リストを生成する。これは、有効識別子が、署名鍵の更新前後で、その値の大きさが異なるため、その境界となる値を失効リストとして通知すれば、受信端末において署名鍵の有効無効の判定を行うことが可能となるためである。そして、署名鍵更新用部分鍵生成装置は、失効リスト送信手段によって、失効リストを受信端末に送信する。これによって、受信端末は、境界を区分する値の大小判断によって、有効識別子が、失効していないか否かを判定することができる。
【0023】
また、請求項6に記載の署名鍵更新用部分鍵生成装置は、請求項5に記載の署名鍵更新用部分鍵生成装置において、前記部分鍵生成手段が、前記署名鍵の更新回数を示す更新識別子に前記サービス提供者の予め定めた総数の上限値を乗算し、前記サービス提供者識別子に加算することで、前記サービス提供者ごとに固有の前記有効識別子を演算し、前記部分鍵を生成する構成とした。
【0024】
かかる構成において、署名鍵更新用部分鍵生成装置は、署名鍵を更新するごとに、有効識別子が、サービス提供者数の予め定めた総数の上限値ごとに増加していく。
【0025】
このとき、失効リスト生成手段は、更新前の更新識別子にサービス提供者の予め定めた総数の上限値を乗算し、サービス提供者識別子の最大値に加算した値を、境界を区分する値とすることとしてもよい(請求項7)。
【0026】
また、失効リスト生成手段は、更新後の更新識別子にサービス提供者の予め定めた総数の上限値を乗算した値を、境界を区分する値とすることとしてもよい(請求項8)。
これによって、有効識別子が失効しているか否かをある基準(境界)で定めることができる。
【0027】
さらに、コンピュータを、部分鍵生成手段、部分鍵送信手段、更新鍵情報生成手段、更新鍵情報送信手段、失効リスト生成手段、失効リスト送信手段、として機能させる署名鍵更新用部分鍵生成プログラムで、署名鍵更新用部分鍵生成装置を制御する構成としてもよい(請求項9)。
【0028】
また、請求項10に記載の署名鍵発行装置は、アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵発行装置であって、第2マスタ鍵受信手段と、第2マスタ鍵記憶手段と、部分鍵受信手段と、署名鍵生成手段と、を備える構成とした。
【0029】
かかる構成において、署名鍵発行装置は、第2マスタ鍵受信手段によって、鍵生成装置から、サービス提供者固有の第2マスタ鍵を受信して、第2マスタ鍵記憶手段に記憶する。
また、署名鍵発行装置は、部分鍵受信手段によって、署名鍵更新用部分鍵生成装置から、サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、部分鍵とを受信する。
【0030】
そして、署名鍵発行装置は、署名鍵生成手段によって、第2マスタ鍵記憶手段に記憶されている第2マスタ鍵と、部分鍵受信手段で受信した部分鍵とを用いて署名鍵を生成する。これによって、署名鍵発行装置は、鍵生成装置から取得した有効識別子に対応した署名鍵を生成することがでる。また、この署名鍵が、サービス提供者に配布され、アプリケーションサーバにおいて、アプリケーションに署名が付加されることで、その署名もまた有効識別子に対応したものとなる。
【0031】
さらに、コンピュータを、第2マスタ鍵受信手段、部分鍵受信手段、署名鍵生成手段、として機能させる署名鍵発行プログラムで、署名鍵発行装置を制御する構成としてもよい(請求項11)。
【0032】
また、請求項12に記載のアプリケーションサーバは、アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記アプリケーションサーバであって、署名鍵記憶手段と、更新鍵情報受信手段と、署名鍵更新手段と、署名付加手段と、アプリケーション送信手段と、を備える構成とした。
【0033】
かかる構成において、アプリケーションサーバは、署名鍵記憶手段に署名鍵発行装置で生成された署名鍵を記憶しておく。そして、アプリケーションサーバは、更新鍵情報受信手段によって、署名鍵更新用部分鍵生成装置から、サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、差分部分鍵とを受信する。そして、アプリケーションサーバは、署名鍵更新手段によって、更新鍵情報受信手段で受信した差分部分鍵を用いて、署名鍵記憶手段に記憶されている署名鍵を有効識別子と対応付けて更新する。
【0034】
また、アプリケーションサーバは、署名付加手段によって、署名鍵記憶手段に記憶されている署名鍵を用いて、有効識別子に対応する署名を生成し、アプリケーションに付加する。そして、アプリケーションサーバは、アプリケーション送信手段によって、署名が付加されたアプリケーションを受信端末に送信する。
【0035】
さらに、コンピュータを、更新鍵情報受信手段、署名鍵更新手段、署名付加手段、アプリケーション送信手段、として機能させるアプリケーション署名付加プログラムで、アプリケーションサーバを制御する構成としてもよい(請求項13)。
【0036】
また、請求項14に記載の受信端末は、アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記受信端末であって、検証鍵記憶手段と、失効リスト受信手段と、失効リスト記憶手段と、アプリケーション受信手段と、失効リスト検証手段と、署名検証手段と、アプリケーション管理手段と、を備える構成とした。
【0037】
かかる構成において、受信端末は、検証鍵記憶手段に鍵生成装置で生成された検証鍵を記憶しておく。そして、受信端末は、失効リスト受信手段によって、署名鍵更新用部分鍵生成装置から、サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信し、失効リスト記憶手段に記憶する。
【0038】
また、受信端末は、アプリケーション受信手段によって、アプリケーションサーバから、署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信する。そして、受信端末は、失効リスト検証手段によって、失効リスト記憶手段に記憶されている失効リストに基づいて、アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する。さらに、受信端末は、署名検証手段によって、検証鍵記憶手段に記憶されている検証鍵により、アプリケーションに付加されている署名を検証する。
そして、受信端末は、アプリケーション管理手段によって、失効リスト検証手段および署名検証手段において、有効識別子が有効で、かつ、署名が正当である場合に、アプリケーションの起動または蓄積を行う。
【0039】
さらに、コンピュータを、失効リスト受信手段、アプリケーション受信手段、失効リスト検証手段、署名検証手段、アプリケーション管理手段、として機能させるアプリケーション署名認証プログラムで、受信端末を制御する構成としてもよい(請求項15)。
【発明の効果】
【0040】
本発明は、以下に示す優れた効果を奏するものである。
請求項1,2,5〜9に記載の発明によれば、アプリケーション認証システムにおいて、放送局が鍵生成および鍵管理を行うことができ、鍵漏洩が発生した場合であっても、第三者機関によらずに、署名鍵を更新するための情報をアプリケーションサーバに送信するだけで、署名鍵をすばやく更新することができる。
また、請求項1,2,5〜9に記載の発明によれば、署名鍵を更新するための情報が有効識別子に対応して生成され、また、その値は更新前後で大きさが異なるため、有効識別子が失効していないか否かを、更新前後の識別子の境界を示す値のみで判定することができる。そのため、失効リストの記述を簡潔にすることができるとともに、署名鍵の検証を容易に行うことができる。
【0041】
請求項10〜13に記載の発明によれば、有効識別子に対応して署名鍵が生成、更新されることになる。また、その有効識別子は、署名鍵の更新によって、更新前後でその値の大きさが異なるため、有効識別子が失効していないか否かを、容易に判定することができる。
請求項3,4,14,15に記載の発明によれば、失効リストで通知される更新前後の有効識別子の境界を区分する値の大小を判定するだけで、署名鍵の有効性を一括して判定できるため、判定の負荷を軽減させることができる。
【図面の簡単な説明】
【0042】
【図1】本発明の実施形態に係るアプリケーション認証システムの構成を示すシステム構成図である。
【図2】本発明の実施形態に係る鍵管理サーバ(鍵生成装置、署名鍵更新用部分鍵生成装置)の構成を示す機能ブロック図である。
【図3】本発明の実施形態に係る署名鍵発行サーバ(署名鍵発行装置)の構成を示す機能ブロック図である。
【図4】本発明の実施形態に係るアプリケーションサーバ(署名鍵更新装置、署名生成装置)の構成を示す機能ブロック図である。
【図5】本発明の実施形態に係る受信端末の構成を示す機能ブロック図である。
【図6】アプリケーション認証システムにおける鍵生成および署名鍵発行の動作を示すフローチャートである。
【図7】図6の鍵生成の詳細動作(マスタ鍵・検証鍵生成動作)を示すフローチャートである。
【図8】図6の署名鍵発行の詳細動作(部分鍵生成動作、署名鍵生成動作)を示すフローチャートである。
【図9】アプリケーション認証システムにおける署名鍵更新の動作を示すフローチャートである。
【図10】図9の署名鍵更新の詳細動作(差部分部分鍵生成動作、署名鍵更新動作)を示すフローチャートである。
【図11】アプリケーション認証システムにおけるアプリケーションの認証動作を示すフローチャートである。
【図12】図11の認証の詳細動作(署名生成動作、署名検証動作)を示すフローチャートである。
【図13】署名鍵の通常更新と署名鍵の失効リストの内容を説明するための説明図である。
【図14】サービス提供者を追加する場合の署名鍵の更新と署名鍵の失効リストの内容を説明するための説明図である。
【図15】特定のサービス提供者の署名鍵を失効させる場合の署名鍵の更新と署名鍵の失効リストの内容を説明するための説明図である。
【図16】署名鍵が漏洩した場合の署名鍵の更新と署名鍵の失効リストの内容を説明するための説明図である。
【図17】署名鍵と失効リストとの関係について説明するための説明図である。
【図18】本発明の他の実施形態に係るアプリケーション認証システムの構成を示すシステム構成図である。
【図19】本発明の他の実施形態に係る鍵管理サーバ(鍵生成装置、署名鍵生成装置)の構成を示す機能ブロック図である。
【図20】本発明の他の実施形態に係るアプリケーションサーバ(署名鍵更新装置、署名生成装置)の構成を示す機能ブロック図である。
【発明を実施するための形態】
【0043】
以下、本発明の実施形態について図面を参照して説明する。
[アプリケーション認証システムの構成]
最初に、図1を参照して、アプリケーション認証システムの構成について説明を行う。
アプリケーション認証システムSは、放送・通信連携サービスにおいて、サービス提供者がユーザ(視聴者)に提供するアプリケーションを認証するシステムである。ここでは、アプリケーション認証システムSは、ストロング・キー・インシュレイテッド(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.)を用いて、システムを構成することとする。
【0044】
このアプリケーション認証システムSは、放送局内に備えた鍵管理サーバ(鍵管理装置)1および署名鍵発行サーバ(署名鍵発行装置)3と、サービス提供者(サービス提供事業者)内に備えたアプリケーションサーバ5と、ユーザ宅内に備えた(あるいは、ユーザが携帯する)受信端末7とで構成される。なお、鍵管理サーバ1と、アプリケーションサーバ5と、受信端末7とは、インターネット(または専用IP回線)等のネットワーク(外部ネットワーク)N1に相互に接続されている。また、鍵管理サーバ1と署名鍵発行サーバ3とは、放送局の内部ネットワーク(専用通信線)N2に接続されている。
なお、ここでは、説明を簡略化するため、アプリケーションサーバ5や受信端末7を1台ずつ図示しているが、これらは、ネットワークN1に複数接続されていることはいうまでもない。
【0045】
鍵管理サーバ(鍵管理装置)1は、アプリケーションを認証する際に使用する鍵を生成および管理(記憶)するものである。ここでは、鍵管理サーバ1は、検証鍵およびマスタ鍵を生成および管理する鍵生成装置10と、署名鍵の生成や更新に使用する鍵、および、失効した署名鍵のリストを示す失効リストを生成する部分鍵生成装置(署名鍵更新用部分鍵生成装置)20とを備えている。なお、鍵管理サーバ1が生成する検証鍵は、例えば、ICカード等に書き込まれて、オフラインで受信端末7に配布されるものとする。
【0046】
署名鍵発行サーバ3は、アプリケーションに署名を付加する際に使用する署名鍵を生成するものである。なお、署名鍵発行サーバ3が生成する署名鍵も、漏洩等を考慮してオフラインでサービス提供者(アプリケーションサーバ5)に配布されるものとする。
【0047】
アプリケーションサーバ5は、署名鍵を管理(記憶)および更新するとともに、署名鍵を用いてアプリケーションに署名を付加して受信端末7に送信するものである。ここでは、アプリケーションサーバ5は、署名鍵を管理(記憶)および更新する署名鍵更新装置50と、アプリケーションに署名を付加して送信する署名生成装置60とを備えている。
【0048】
受信端末7は、アプリケーションサーバ5からアプリケーションを受信し、アプリケーションに付加された署名を検証鍵で検証(認証)するものである。この受信端末7は、放送・通信連携サービスを享受することが可能な、例えば、テレビ受像機、パーソナルコンピュータ等である。
【0049】
これら鍵管理サーバ1(鍵生成装置10、部分鍵生成装置20)と、署名鍵発行サーバ3と、アプリケーションサーバ5と、受信端末7とは、それぞれ、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、通信インタフェース等(図示を省略)を備え、CPUがHDD等に格納されたプログラムをRAMに展開することにより後記する各種機能を実現する。
【0050】
〔鍵管理サーバの構成〕
次に、図2を参照(適宜図1参照)して、鍵管理サーバの構成について説明を行う。ここでは、鍵管理サーバ(鍵管理装置)1は、鍵生成装置10と、部分鍵生成装置(署名鍵更新用部分鍵生成装置)20とを備えている。なお、鍵生成装置10と部分鍵生成装置20とは、図示を省略した通信インタフェースによって通信可能に接続されているものとする。
【0051】
(鍵生成装置の構成)
鍵生成装置10は、署名鍵を生成する際に用いる鍵(部分鍵、差分部分鍵)を生成するためのマスタ鍵と、署名鍵を検証するための検証鍵とを生成し、管理(記憶)するものである。ここでは、鍵生成装置10は、鍵生成手段11と、検証鍵管理手段12と、第1マスタ鍵管理手段13と、第2マスタ鍵送信手段14とを備えている。
【0052】
鍵生成手段11は、マスタ鍵(第1マスタ鍵、第2マスタ鍵)と検証鍵とを生成するものである。すなわち、鍵生成手段11は、素数位数qの巡回群の生成元gと、素数qを法とする剰余類Zqとに基づいて、マスタ鍵(第1マスタ鍵、第2マスタ鍵)と検証鍵とを生成する。
具体的には、鍵生成手段11は、qが(p−1)の約数となる素数p,qを生成し、乗法群Zp*の元gによって生成される部分群の位数がqとなるような生成元gを生成する。そして、鍵生成手段11は、素数qを法とする剰余類Zq(0,1,…,q−1;以下単にZqで示す)からランダムにx,x′を選択し、以下の式(1)により、第1マスタ鍵x0を生成する。また、鍵生成手段11は、x′を第2マスタ鍵とする。
【0053】
【数1】
【0054】
このように生成された第1マスタ鍵x0は、第1マスタ鍵管理手段13に出力され、第2マスタ鍵x′は、第2マスタ鍵送信手段14に出力される。
また、鍵生成手段11は、以下の式(2)に示すように、素数p,q、元g、要素y0,y′、および、ハッシュ関数H(・)からなる検証鍵VKを生成する。
【0055】
【数2】
【0056】
なお、検証鍵VKの要素y0,y′は、以下の式(3)により求められる値である。
【0057】
【数3】
【0058】
また、ハッシュ関数H(・)は、H:{0,1}*→Zq、すなわち、任意の長さのビット列({0,1}*)をZqの固定長の値に変換する関数である。このハッシュ関数には、例えば、SHA−1等のアルゴリズムを用いることができる。
この鍵生成手段11で生成された検証鍵VKは、検証鍵管理手段12に出力される。
【0059】
検証鍵管理手段(検証鍵記憶手段)12は、鍵生成手段11で生成された検証鍵を記憶し、管理するものである。具体的には、検証鍵管理手段12は、鍵生成手段11で生成された検証鍵を、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。
ここでは、検証鍵管理手段12は、検証鍵を受信端末7に配布する際に、操作者の指示により記憶媒体から検証鍵を読み出す。このように読み出された検証鍵は、例えば、図示を省略したICカード発行装置に出力されICカードに書き込まれた後、受信端末7に配布される。なお、検証鍵管理手段12は、セキュアな通信路(例えば、放送波)を介して検証鍵を配信することとしてもよい。
【0060】
また、検証鍵管理手段12は、後記する部分鍵生成装置20において部分鍵を生成する際に、記憶媒体から検証鍵を読み出す。この場合、検証鍵管理手段12は、部分鍵生成装置20、あるいは、操作者からの指示により記憶媒体から検証鍵を読み出し、部分鍵生成装置20に出力する。
【0061】
なお、検証鍵管理手段12は、記憶している検証鍵を公開情報として公開するものとし、署名鍵発行サーバ3やアプリケーションサーバ5から、ネットワークN1や内部ネットワークN2を介して取得あるいは参照可能であるものとする。
【0062】
第1マスタ鍵管理手段(第1マスタ鍵記憶手段)13は、鍵生成手段11で生成された第1マスタ鍵を記憶し、管理するものである。具体的には、第1マスタ鍵管理手段13は、鍵生成手段11で生成された第1マスタ鍵を、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。
【0063】
ここでは、第1マスタ鍵管理手段13は、部分鍵生成装置20において部分鍵を生成する際に、記憶媒体から第1マスタ鍵を読み出す。この場合、第1マスタ鍵管理手段13は、部分鍵生成装置20からの要求、あるいは、操作者からの指示により記憶媒体から第1マスタ鍵を読み出し、部分鍵生成装置20に出力する。
【0064】
第2マスタ鍵送信手段14は、内部ネットワークN2を介して、鍵生成手段11で生成された第2マスタ鍵を署名鍵発行サーバ3に送信するものである。
【0065】
(部分鍵生成装置〔署名鍵更新用部分鍵生成装置〕の構成)
部分鍵生成装置(署名鍵更新用部分鍵生成装置)20は、署名鍵の生成や更新に使用する鍵(部分鍵、差分部分鍵)を生成するとともに、失効した署名鍵のリストを示す失効リストを生成するものである。ここでは、部分鍵生成装置20は、パラメータ入力手段21と、部分鍵生成手段22と、部分鍵管理手段23と、部分鍵送信手段24と、更新鍵情報生成手段25と、更新鍵情報送信手段26と、失効リスト生成手段27と、失効リスト送信手段28とを備えている。
【0066】
パラメータ入力手段21は、部分鍵、差分部分鍵および失効リストを生成するための種々のパラメータを入力するものである。ここでは、パラメータ入力手段21には、図示を省略した入力手段から更新種別、更新識別子およびサービス提供者識別子が入力され、鍵生成装置10から第1マスタ鍵および検証鍵が入力される。
【0067】
更新種別は、署名鍵の発行、更新、失効の処理内容の指示を示す種別情報である。例えば、以下の表のように、更新種別の値に対して、処理内容として、署名鍵の発行、更新、失効を割り当てる。
【0068】
【表1】
【0069】
更新識別子は、署名鍵の更新回数を示す識別子である。この更新識別子は、予め定めた数(例えば、“0”)からの連続番号であって、署名鍵を更新する場合、現在の更新識別子に“1”を加算した値とする。
【0070】
サービス提供者識別子は、サービス提供者を一意に特定するために予め定めた識別子である。このサービス提供者識別子は、予め定めた数(例えば、“1”)からの連続番号であって、新たなサービス提供者を登録する場合、現在のサービス提供者識別子の最大値に“1”を加算した値とする。
このパラメータ入力手段21は、入力された更新種別、更新識別子、サービス提供者識別子、第1マスタ鍵および検証鍵を、部分鍵生成手段22に出力する。
【0071】
部分鍵生成手段22は、パラメータ入力手段21において入力された更新種別、更新識別子、サービス提供者識別子、第1マスタ鍵および検証鍵に基づいて、部分鍵を生成するものである。すなわち、部分鍵生成手段22は、サービス提供者ごとに付されたサービス提供者識別子から、更新識別子を用いて署名鍵の発行時または更新時に有効な識別子(有効識別子)を生成し、当該有効識別子に固有の部分鍵を生成する。
具体的には、部分鍵生成手段22は、Zqから乱数rをランダムに生成し、その乱数rと、検証鍵の一部(p,g)とに基づいて、受信端末7において部分鍵の正当性を示す情報の一部となる部分鍵検証情報vを、以下の式(4)により生成する。
【0072】
【数4】
【0073】
また、部分鍵生成手段22は、以下の式(5)に示すように、検証鍵の一部であるハッシュ関数H(・)により、署名鍵に対応する部分鍵検証情報vのハッシュ値cを生成する。ただし、「‖」は連結を示す。
【0074】
【数5】
【0075】
この式(5)で、iはサービス提供者識別子、jは更新識別子、nはサービス提供者の総数の予め定めた上限値である。この式(5)の(i+jn)、すなわち、(サービス提供者識別子+更新識別子×n)は、サービス提供者識別子に対応するサービス提供者において、発行後あるいは更新後の署名鍵を識別する識別子(有効識別子)である。なお、有効識別子として、その内容を示すため“i+jn”等の符号を付す場合があるが、この有効識別子は、“i+jn”等の演算を行った後の数値である。
そして、部分鍵生成手段22は、第1マスタ鍵x0と、検証鍵の一部(q)と、ハッシュ値cと、乱数rとに基づいて、以下の式(6)により、部分鍵xを生成する。
【0076】
【数6】
【0077】
このように、部分鍵生成手段22は、署名鍵の識別子(有効識別子)に対応した部分鍵を生成する。
この部分鍵生成手段22は、更新種別が“1〔署名鍵発行〕”の場合、生成した部分鍵を部分鍵管理手段23に出力する。
【0078】
また、部分鍵生成手段22は、更新種別が“2〔署名鍵更新〕”の場合、更新種別とともに、生成した部分鍵、部分鍵検証情報、検証鍵および有効識別子(i+jn)を、更新鍵情報生成手段25に出力する。
【0079】
なお、部分鍵生成手段22は、更新種別が“3〔署名鍵更新(サービス提供者の追加がある場合)〕”の場合、更新種別が“1〔署名鍵発行〕”の場合と同様に部分鍵を生成し、部分鍵管理手段23に出力した後、さらに、“2〔署名鍵更新〕”の場合と同様に、署名鍵を更新させるための部分鍵を生成し、部分鍵、部分鍵検証情報、検証鍵および有効識別子(i+jn)を、更新鍵情報生成手段25に出力する。
また、部分鍵生成手段22は、署名鍵の更新を行う場合(署名種別“2”,“3”の場合)、更新種別を失効リスト生成手段27に出力する。
【0080】
また、部分鍵生成手段22は、更新種別が“4(署名鍵失効)”の場合、部分鍵を生成せずに、入力されたサービス提供者識別子(失効させたいサービス提供者識別子)を失効リスト生成手段27に出力する。
【0081】
部分鍵管理手段(部分鍵記憶手段)23は、部分鍵生成手段22で生成された部分鍵を記憶し、管理するものである。具体的には、部分鍵管理手段23は、部分鍵生成手段22で生成された部分鍵x、部分鍵検証情報vおよび有効識別子(i+jn)を部分鍵情報として部分鍵送信手段24に出力するとともに、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。ここでは、部分鍵管理手段23は、署名鍵を更新する際に、更新鍵情報生成手段25からの要求により、管理(記憶)している部分鍵xを更新鍵情報生成手段25に出力する。
【0082】
部分鍵送信手段24は、部分鍵管理手段23の指示に基づいて、内部ネットワークN2を介して、部分鍵を署名鍵発行サーバ3に送信するものである。ここでは、部分鍵送信手段24は、部分鍵xとともに、部分鍵検証情報v(前記式(4)参照)と、部分鍵xを生成した際の有効識別子(i+jn)とを併せて、部分鍵情報(x,v,i+jn)として送信する。
【0083】
なお、部分鍵送信手段24が、署名鍵発行サーバ3に送信するのは、署名鍵を発行する段階であるため、更新識別子jは初期値(“0”)である。よって、ここでは、部分鍵送信手段24は、部分鍵情報(x,v,サービス提供者識別子i)が署名鍵発行サーバ3に送信されることになる。
【0084】
更新鍵情報生成手段25は、サービス提供者識別子ごとに署名鍵の更新のために新たに部分鍵生成手段22で生成された部分鍵と、部分鍵管理手段23で管理(記憶)されている更新前の部分鍵との差分をとることで、差分部分鍵を生成するものである。
具体的には、更新鍵情報生成手段25は、部分鍵管理手段23で管理(記憶)されている部分鍵xをx1、部分鍵生成手段22で生成された部分鍵xをx2としたとき、検証鍵の一部(q)に基づいて、差分部分鍵Δxを、以下の式(7)により生成する。
【0085】
【数7】
【0086】
このように生成された差分部分鍵Δxは、部分鍵検証情報vと有効識別子(i+jn)とともに、更新鍵情報送信手段26に出力される。
なお、更新鍵情報生成手段25は、後記する失効リスト生成手段27から、個別に署名鍵の更新(差分部分鍵の送信)を停止させたいサービス提供者識別子(有効識別子)を通知された場合、当該識別子を、図示を省略した記憶媒体に記憶しておき、該当するサービス提供者識別子(有効識別子)に対応する差分部分鍵の生成を行わないこととする。
【0087】
更新鍵情報送信手段26は、更新鍵情報生成手段25で生成された差分部分鍵Δxを、ネットワークN1を介して、アプリケーションサーバ5に送信するものである。なお、更新鍵情報送信手段26は、差分部分鍵Δxとともに、部分鍵検証情報vと、差分部分鍵Δxを生成した際の有効識別子(i+jn)とを併せて、差分部分鍵情報(Δx,v,i+jn)としてアプリケーションサーバ5に送信する。
【0088】
失効リスト生成手段27は、失効させたい署名鍵を特定するリスト(失効リスト;以下CRLという)を生成するものである。ここでは、失効リスト生成手段27は、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を第1要素としてCRLを生成する。
具体的には、失効リスト生成手段27は、更新種別が“2,3(署名鍵更新)”の場合、サービス提供者識別子の最大値と更新前の更新識別子で特定される最大の有効識別子(すなわち、サービス提供者識別子の最大値+更新前の更新識別子×サービス提供者数の上限値)を、最大失効識別子として、CRLの第1要素に記述する。
【0089】
また、失効リスト生成手段27は、更新種別が“4(署名鍵失効)”の場合、個別に失効させたいサービス提供者識別子に対応する有効識別子(すなわち、サービス提供者識別子+更新識別子×サービス提供者数の上限値)を、個別失効識別子として、CRLの第2要素以降に記述する。なお、CRLにおいて第1要素(最大失効識別子)、および、第2要素以降の各要素(個別失効識別子)を記述するフォーマットは、予め受信端末7において既知であるものとする。
【0090】
これによって、CRLの第1要素として記述された最大失効識別子以下の識別子に対応する署名鍵を一度に失効させることができるとともに、第2要素以降に記述された個別失効識別子に対応する署名鍵を個別に失効させることができる。
なお、最大失効識別子は、新たに生成する識別子よりも小さな値であればよいため、更新後の更新識別子×サービス提供者数の上限値としてもよい。
このように生成されたCRLは、失効リスト送信手段28に出力される。
【0091】
また、更新種別が“4(署名鍵失効)”の場合、差分部分鍵の送信を停止させるため、失効リスト生成手段27は、更新鍵情報生成手段25に失効させたいサービス提供者識別子(有効識別子)を通知することとする。
【0092】
失効リスト送信手段28は、失効リスト生成手段27で生成された失効リスト(CRL)を、ネットワークN1を介して、受信端末7に送信するものである。これによって、受信端末7において、アプリケーションが正規のサービス提供者から送信されたものであるか否かを認証することが可能になる。
【0093】
ここで、図17を参照して、更新識別子と署名鍵とCRLの最大失効識別子との関係について説明する。
図17(a)に示すように、更新識別子“0”のときに生成されたサービス提供者識別子1,2,…,m(有効識別子1,2,…,m)に対応する署名鍵がSK1,SK2,…,SKmの場合、CRLの第1要素である最大失効識別子は、サービス提供者識別子を示さない値、例えば“0”とする。
【0094】
そして、署名鍵の更新により、更新識別子“1”でサービス提供者識別子1,2,…,m(有効識別子1+n,2+n,…,m+n)に対応する署名鍵がSK1+n,SK2+n,…,SKm+nが生成される。このときの最大失効識別子は、更新識別子“0”の最大有効識別子(m)を含むように、{m}またはサービス提供者数の上限値{n}とする。
同様に、更新識別子“2”で署名鍵を更新する場合、最大失効識別子は、更新識別子“1”の最大有効識別子(m+n)を含むように、{m+n}またはサービス提供者数の上限値を更新識別子の値“2”で乗算した{2n}とする。
【0095】
なお、図17(a)では、(m+1),…,nや、(m+n+1),…,2n等、未使用の有効識別子が存在する。
そこで、これらの未使用の有効識別子をなくすため、図17(b)に示すように、署名鍵を生成する際に、更新前の署名鍵に対応する有効識別子、例えば、更新識別子“0”における最大有効識別子“m1”に“1”を加算した(m1+1)から署名鍵を生成し、そのときの最大失効識別子を{m1}としてもよい。
【0096】
〔署名鍵発行サーバの構成〕
次に、図3を参照(適宜図1参照)して、署名鍵発行サーバの構成について説明を行う。ここでは、署名鍵発行サーバ(署名鍵発行装置)3は、第2マスタ鍵受信手段31と、第2マスタ鍵管理手段32と、部分鍵受信手段33と、署名鍵生成手段34と、署名鍵出力手段35とを備えている。
【0097】
第2マスタ鍵受信手段31は、鍵管理サーバ1で生成された第2マスタ鍵を、内部ネットワークN2を介して受信するものである。この受信した第2マスタ鍵は、第2マスタ鍵管理手段32に出力される。
【0098】
第2マスタ鍵管理手段(第2マスタ鍵記憶手段)32は、第2マスタ鍵受信手段31で受信した第2マスタ鍵を記憶し、管理するものである。具体的には、第2マスタ鍵管理手段32は、第2マスタ鍵受信手段31で受信した第2マスタ鍵を、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。ここでは、第2マスタ鍵管理手段32は、署名鍵生成手段34からの要求により、管理(記憶)している第2マスタ鍵を署名鍵生成手段34に出力する。
【0099】
部分鍵受信手段33は、鍵管理サーバ1で生成された部分鍵(部分鍵情報)を、内部ネットワークN2を介して受信するものである。この受信した部分鍵(部分鍵情報)は、署名鍵生成手段34に出力される。
【0100】
署名鍵生成手段34は、第2マスタ鍵管理手段32で管理(記憶)されている第2マスタ鍵と、サービス提供者識別子ごとに部分鍵受信手段33で受信した部分鍵(部分鍵情報)とから、署名鍵を生成するものである。すなわち、署名鍵生成手段34は、部分鍵に第2マスタ鍵を加算することで、署名鍵を生成する。
具体的には、署名鍵生成手段34は、第2マスタ鍵管理手段32で管理(記憶)されている第2マスタ鍵x′と、部分鍵受信手段33で受信した部分鍵情報(部分鍵,部分鍵検証情報,サービス提供者識別子)に含まれている部分鍵xと、鍵管理サーバ1で公開情報として公開されている検証鍵の一部である素数qとに基づいて、以下の式(8)により、サービス提供者識別子iに対応する署名鍵SKiを生成する。
【0101】
【数8】
【0102】
このように生成された署名鍵SKiは、部分鍵検証情報vとサービス提供者識別子iとともに、署名鍵情報(SKi,v,i)として署名鍵出力手段35に出力される。
【0103】
署名鍵出力手段35は、署名鍵生成手段34で生成された署名鍵(署名鍵情報)を、外部に出力するものである。この署名鍵出力手段35は、例えば、CD−R等の記憶媒体の書き込み装置(図示せず)に署名鍵(署名鍵情報)を出力し、CD−R等に書き込みを行う。このように署名鍵(署名鍵情報)が書き込まれた記憶媒体は、オフラインでアプリケーションサーバ5に配布される。
【0104】
〔アプリケーションサーバの構成〕
次に、図4を参照(適宜図1参照)して、アプリケーションサーバの構成について説明を行う。ここでは、アプリケーションサーバ5は、署名鍵更新装置50と、署名生成装置60とを備えている。なお、署名鍵更新装置50と署名生成装置60とは、図示を省略した通信インタフェースによって通信可能に接続されているものとする。
【0105】
(署名鍵更新装置の構成)
署名鍵更新装置50は、サービス提供者に配布された署名鍵を、鍵管理サーバ1から送信される差分部分鍵(差分部分鍵情報)に基づいて更新するものである。ここでは、署名鍵更新装置50は、署名鍵入力手段51と、署名鍵管理手段52と、更新鍵情報受信手段53と、署名鍵更新手段54とを備えている。
【0106】
署名鍵入力手段51は、署名鍵発行サーバ3で生成された署名鍵(署名鍵情報)を入力するものである。この署名鍵入力手段51は、例えば、署名鍵(署名鍵情報)が書き込まれたCD−R等の記憶媒体から署名鍵(署名鍵情報)を読み出す読み出し装置(図示せず)を介して、署名鍵(署名鍵情報)を入力する。
ここで、署名鍵情報は、署名鍵と、部分鍵検証情報と、サービス提供者識別子とを含んでいる。この入力された署名鍵情報は、署名鍵管理手段52に出力される。
【0107】
署名鍵管理手段(署名鍵記憶手段)52は、署名鍵入力手段51で入力された署名鍵(署名鍵情報)を記憶し、管理するものである。具体的には、署名鍵管理手段52は、署名鍵入力手段51で入力された署名鍵(署名鍵情報)を、図示を省略した記憶媒体に書き込み、要求に応じて署名鍵(署名鍵情報)の読み出しや更新を行う。
ここでは、署名鍵管理手段52は、署名鍵更新手段54において署名鍵を更新する際に、署名鍵更新手段54からの要求により、署名鍵(署名鍵情報)を記憶媒体から読み出し、署名鍵更新手段54に出力する。また、署名鍵管理手段52は、更新された署名鍵を署名鍵更新手段54から取得し、記憶媒体において上書き保存する。
【0108】
また、署名鍵管理手段52は、署名生成装置60でアプリケーションに署名を付加する際に、署名生成装置60からの要求により、記憶媒体に記憶している署名鍵(署名鍵情報)を読み出し、署名生成装置60に出力する。
【0109】
更新鍵情報受信手段53は、鍵管理サーバ1で生成された差分部分鍵(差分部分鍵情報)を、ネットワークN1を介して受信するものである。この受信した差分部分鍵(差分部分鍵情報)は、署名鍵更新手段54に出力される。この差分部分鍵情報は、差分部分鍵と、部分鍵検証情報と、有効識別子とを含んでいる。
【0110】
署名鍵更新手段54は、更新鍵情報受信手段53で受信した差分部分鍵(差分部分鍵情報)に基づいて、署名鍵を更新するものである。すなわち、署名鍵更新手段54は、更新前の署名鍵に、差分部分鍵を加算することで、署名鍵を更新する。
具体的には、署名鍵更新手段54は、署名鍵管理手段52で管理(記憶)されている更新前の署名鍵をSKi+(j−1)nと、更新鍵情報受信手段53で受信した差分部分鍵情報に含まれている差分部分鍵Δxと、鍵管理サーバ1で公開情報として公開されている検証鍵の一部である素数qとに基づいて、以下の式(9)により、差分部分鍵情報に含まれている有効識別子(i+jn)に対応付けた新たな署名鍵SKi+jnを生成する。
【0111】
【数9】
【0112】
例えば、更新識別子jが“0”から“1”になった場合、有効識別子(i)に対応した署名鍵SKiから、有効識別子(i+n)に対応した署名鍵SKi+nが生成されることになる。このように、更新識別子が順次増加するごとに、有効識別子は、i,i+n,i+2n,…,i+mnと増加し、それぞれの有効識別子に対応する署名鍵SKi,SKi+n,SKi+2n,…,SKi+mnが順次生成されることになる。
このように生成された署名鍵SKi+jnは、差分部分鍵情報に含まれている部分鍵検証情報vとともに、有効識別子(i+jn)と対応付けて、署名鍵管理手段52に記憶される。
【0113】
(署名生成装置の構成)
署名生成装置60は、署名鍵更新装置50で管理されている署名鍵を用いて、アプリケーションに署名を付加するものである。ここでは、署名生成装置60は、アプリケーション入力手段61と、署名付加手段62と、アプリケーション送信手段63とを備えている。
【0114】
アプリケーション入力手段61は、外部からアプリケーションを入力するものである。このアプリケーション入力手段61は、例えば、サービス提供者内部のネットワークを介してアプリケーションを受信するものであってもよいし、記憶媒体に書き込まれたアプリケーションを読み出すものであってもよい。このアプリケーション入力手段61は、入力したアプリケーションを署名付加手段62に出力する。
【0115】
署名付加手段62は、アプリケーション入力手段61で入力したアプリケーションに、署名鍵を用いて、デジタル署名を付加するものである。すなわち、署名付加手段62は、サービス提供者ごとに固有の有効識別子を含んだハッシュ値を演算し、有効識別子固有の署名を生成して、アプリケーションに付加する。
具体的には、署名付加手段62は、公開情報として公開されている検証鍵の一部(p,g)に基づいて、Zqから乱数rsをランダムに生成し、以下の式(10)により、署名の正当性を検証するための情報の一部となる署名検証情報vsを生成する。
【0116】
【数10】
【0117】
また、署名付加手段62は、以下の式(11)に示すように、署名鍵管理手段52に記憶されている部分鍵検証情報vおよび有効識別子(i+jn)と、アプリケーション(ソフトウェア)Mと、式(10)で生成された署名検証情報vsとを連結し、公開されている検証鍵の一部であるハッシュ関数H(・)により、ハッシュ値csを生成する。
【0118】
【数11】
【0119】
そして、署名付加手段62は、ハッシュ値csと、乱数rsと、署名鍵管理手段52に記憶されている署名鍵SKi+jnと、公開されている検証鍵の一部(q)とに基づいて、以下の式(12)により、署名σsを生成する。
【0120】
【数12】
【0121】
そして、署名付加手段62は、アプリケーションMに、署名σsと、ハッシュ値csと、部分鍵検証情報vとからなる署名情報(σs,cs,v)と、署名鍵管理手段52に記憶されている有効識別子(i+jn)とを付加して、アプリケーション送信手段63に出力する。
【0122】
アプリケーション送信手段63は、署名付加手段62で署名(署名情報)および有効識別子が付加されたアプリケーション(署名付きアプリケーション)を、ネットワークN1を介して受信端末7に送信するものである。
【0123】
〔受信端末の構成〕
次に、図5を参照(適宜図1参照)して、受信端末の構成について説明を行う。ここでは、受信端末7は、失効リスト受信手段71と、失効リスト管理手段72と、検証鍵管理手段73と、アプリケーション受信手段74と、失効リスト検証手段75と、署名検証手段76と、アプリケーション管理手段77とを備えている。
【0124】
失効リスト受信手段71は、鍵管理サーバ1で生成された失効リスト(CRL)を、ネットワークN1を介して受信するものである。この受信したCRLは、失効リスト管理手段72に出力される。
【0125】
失効リスト管理手段(失効リスト記憶手段)72は、失効リスト受信手段71で受信したCRLを記憶し、管理するものである。具体的には、失効リスト管理手段72は、失効リスト受信手段71で受信したCRLを、図示を省略した記憶媒体に書き込み、要求に応じてCRLの読み出しや更新を行う。
ここでは、失効リスト管理手段72は、失効リスト検証手段75においてサービス提供者識別子(有効識別子)を検証する際に、失効リスト検証手段75からの要求により、CRLを記憶媒体から読み出し、失効リスト検証手段75に出力する。
また、失効リスト管理手段72は、新たに失効リスト受信手段71でCRLを受信した場合、記憶媒体に記憶されているCRLを更新する。
【0126】
検証鍵管理手段(検証鍵記憶手段)73は、鍵管理サーバ1で生成された検証鍵を記憶し、管理するものである。具体的には、検証鍵管理手段73は、例えば、ICカード等であって、予め検証鍵が書き込まれた記憶媒体である。この検証鍵管理手段73は、署名検証手段76からの要求によって検証鍵の読み出しを行う。
【0127】
アプリケーション受信手段74は、アプリケーションサーバ5から送信されるアプリケーション(署名付きアプリケーション)を、ネットワークN1を介して受信するものである。このアプリケーション受信手段74は、受信した署名付きアプリケーションを失効リスト検証手段75に出力する。
【0128】
失効リスト検証手段75は、失効リスト管理手段72で記憶されているCRLを参照して、署名付きアプリケーションに付加されているサービス提供者識別子(有効識別子)が有効であるか否かを検証するものである。
すなわち、失効リスト検証手段75は、署名付きアプリケーションに付加されている有効識別子(i+jn)が、CRLの第1要素に記述されている最大失効識別子以下である場合、署名付きアプリケーションに付加されている有効識別子(i+jn)に対応する署名鍵はすでに失効していると判定する。
【0129】
また、失効リスト検証手段75は、署名付きアプリケーションに付加されている有効識別子(i+jn)が、CRLの第2要素以降に記述されている個別失効識別子の1つと一致する場合、署名付きアプリケーションに付加されている有効識別子(i+jn)に対応する署名鍵はすでに失効していると判定する。
このように、失効リスト検証手段75は、署名付きアプリケーションに付加されている有効識別子(i+jn)に対応する署名鍵を失効していると判定した場合、図示を省略した表示装置に対してエラーメッセージを表示する。
【0130】
また、失効リスト検証手段75は、署名付きアプリケーションに付加されている有効識別子(i+jn)を有効と判定した場合、署名付きアプリケーションを署名検証手段76に出力する。
【0131】
署名検証手段76は、検証鍵管理手段73に記憶されている検証鍵を用いて、署名付きアプリケーションに付加されている署名を検証するものである。すなわち、署名検証手段76は、検証鍵を用いて予め定めた条件式で得られたハッシュ値が、署名に付加されているハッシュ値と一致するか否かにより署名の検証を行う。
具体的には、署名検証手段76は、以下の式(13)に示すように、アプリケーションに付加されている部分鍵検証情報vと有効識別子(i+jn)とを連結し、検証鍵管理手段73に記録されている検証鍵に含まれるハッシュ関数H(・)により、ハッシュ値c1を生成する。
【0132】
【数13】
【0133】
そして、署名検証手段76は、ハッシュ値c1と、検証鍵の一部(p,g,y0,y′)と、署名情報(σs,cs,v)とに基づいて、以下の式(14)の条件式が成り立つか否かにより、署名検証を行う。
【0134】
【数14】
【0135】
そして、署名検証手段76は、この式(14)が成り立つ場合のみ、付加された署名を正当な署名であると判定し、アプリケーション管理手段77に対して、署名付きアプリケーションを出力する。また、署名検証手段76は、署名が正当でないと判定した場合、図示を省略した表示装置に対してエラーメッセージを表示する。
【0136】
アプリケーション管理手段77は、署名検証手段76で署名が正当であると判定された署名付きアプリケーションを起動(復号、再生)あるいは蓄積するものである。
なお、アプリケーション管理手段77は、符号化されたアプリケーション(符号化データ)を復号、再生したり、一旦、ハードディスク等の記憶媒体にアプリケーションを蓄積した後に、再生したりする一般的な蓄積・再生手段であるため、ここでは、詳細な説明は省略する。
【0137】
[アプリケーション認証システムの動作]
次に、アプリケーション認証システムの動作について説明を行う。
〔鍵生成・署名鍵発行〕
最初に、図6を参照(適宜図2,図3参照)して、アプリケーション認証システムSにおける初期動作である鍵生成および署名鍵発行の動作について説明する。
まず、鍵管理サーバ1は、鍵生成装置10において、鍵生成手段11によって、署名鍵を生成するために必要となる2つのマスタ鍵(第1マスタ鍵、第2マスタ鍵)と、公開情報となる検証鍵とを生成する(ステップS1:マスタ鍵・検証鍵生成)。なお、このステップS1における鍵(マスタ鍵および検証鍵)の生成動作については、後で図7を参照して説明する。
【0138】
そして、鍵管理サーバ1は、検証鍵管理手段12によって、ステップS1で生成された検証鍵を記憶するとともに、検証鍵を公開する(ステップS2)。このステップS1で生成された検証鍵は、オフラインで、または、セキュアな通信路(例えば、放送波)を介して受信端末7に配布(配信)される(ステップとして図示せず)。
また、鍵管理サーバ1は、第1マスタ鍵管理手段13によって、ステップS1で生成された第1マスタ鍵を記憶する(ステップS3)。また、鍵管理サーバ1は、第2マスタ鍵送信手段14によって、ステップS1で生成された第2マスタ鍵を、署名鍵発行サーバ3に送信する(ステップS4)。
【0139】
一方、署名鍵発行サーバ3は、第2マスタ鍵受信手段31によって、第2マスタ鍵を受信する(ステップS5)。そして、第2マスタ鍵管理手段32によって、第2マスタ鍵を記憶する(ステップS6)。
以上の動作によって、署名鍵を生成するために必要となるマスタ鍵(第1マスタ鍵、第2マスタ鍵)と、署名鍵を検証するための検証鍵が生成される。
【0140】
その後、アプリケーション認証システムSは、サービス提供者に署名鍵を発行するために、以下の動作を行う。
すなわち、鍵管理サーバ1は、部分鍵生成装置20において、パラメータ入力手段21によって、外部からサービス提供者識別子を入力するとともに、ステップS2,S3で記憶されている検証鍵および第1マスタ鍵を取得し、部分鍵生成手段22によって、署名鍵を生成するための部分鍵を含む部分鍵情報を生成する(ステップS7:部分鍵生成)。なお、このステップS7における部分鍵生成動作については、後で図8を参照して説明する。
【0141】
そして、鍵管理サーバ1は、部分鍵管理手段23によって、ステップS7で生成された部分鍵(部分鍵情報)を記憶する(ステップS8)。
さらに、鍵管理サーバ1は、部分鍵送信手段24によって、ステップS7で生成された部分鍵(部分鍵情報)を、署名鍵発行サーバ3に送信する(ステップS9)。
【0142】
一方、署名鍵発行サーバ3は、部分鍵受信手段33によって、部分鍵(部分鍵情報)を受信する(ステップS10)。
そして、署名鍵発行サーバ3は、署名鍵生成手段34によって、ステップS10で受信した部分鍵(部分鍵情報)と、ステップS6で記憶した第2マスタ鍵とから、署名鍵を生成する(ステップS11:署名鍵生成)。なお、このステップS11における署名鍵生成動作については、後で図8を参照して説明する。このステップS11で生成された署名鍵は、オフラインでサービス提供者(アプリケーションサーバ5)に配布される(ステップとして図示せず)。
【0143】
以上の動作によって、署名鍵が生成され秘密情報としてサービス提供者で管理されることになる。
なお、サービス提供者(アプリケーションサーバ5)が複数存在する場合、署名鍵はそれに対応して複数生成されることになるが、その場合、ステップS7以降の動作がサービス提供者の数に応じて繰り返される。
【0144】
(鍵〔マスタ鍵・検証鍵〕生成)
次に、図7を参照(適宜図2参照)して、マスタ鍵(第1マスタ鍵、第2マスタ鍵)および検証鍵の生成動作について説明する。なお、ここで説明する動作は、図6で説明したステップS1の動作に相当し、鍵生成装置10の鍵生成手段11において動作する。
【0145】
まず、鍵生成手段11は、qが(p−1)の約数となる素数p,qを生成し(ステップS21)、その素数p,qに基づいて、乗法群Zp*の元gによって生成される部分群の位数がqとなるような生成元gを生成する(ステップS22)。そして、鍵生成手段11は、Zqからランダムにx,x′を選択する(ステップS23)。
そして、鍵生成手段11は、前記式(1)の演算を行うことで得たx0を第1マスタ鍵と設定する(ステップS24)。
また、鍵生成手段11は、ステップS23で選択されたx′を第2マスタ鍵として設定する(ステップS25)。
【0146】
その後、鍵生成手段11は、前記式(3)の演算により検証鍵の要素の一部(y0,y′)を算出し、p、q、g、y0,y′およびハッシュ関数H(・)からなる前記式(2)に示す検証鍵VKを生成する(ステップS26)。
以上の動作によって、鍵生成手段11は、署名鍵を生成するための2つのマスタ鍵である第1マスタ鍵x0および第2マスタ鍵x′と、公開情報となる検証鍵VKとを生成する。
【0147】
(署名鍵発行)
次に、図8を参照(適宜図2,図3参照)して、署名鍵を発行する際の主な動作について説明する。なお、図8(a)で説明する動作は、図6で説明したステップS7の部分鍵生成動作に相当し、鍵管理サーバ1の鍵生成装置10の部分鍵生成手段22において動作する。また、図8(b)で説明する動作は、図6で説明したステップS11の署名鍵生成動作に相当し、署名鍵発行サーバ3の署名鍵生成手段34において動作する。
【0148】
まず、図8(a)に示すように、部分鍵生成手段22は、Zqから乱数r1(r)をランダムに生成する(ステップS31)。そして、部分鍵生成手段22は、乱数r1(r)と、検証鍵の一部(p,g)とに基づいて、前記式(4)の演算により部分鍵検証情報v1(v)を生成する(ステップS32)。
さらに、部分鍵生成手段22は、部分鍵検証情報v1(v)と、有効識別子(ここでは、署名鍵の発行段階であるため、サービス提供者識別子i)とを連結し、前記式(5)により、ハッシュ値c1(c)を生成する(ステップS33)。
【0149】
その後、部分鍵生成手段22は、第1マスタ鍵x0と、検証鍵の一部(q)と、ハッシュ値c1(c)と、乱数r1(r)とに基づいて、前記式(6)により、部分鍵x1(x)を生成する(ステップS34)。
このように生成された部分鍵x1(x)は、部分鍵検証情報v1(v)と、サービス提供者識別子iとともに、部分鍵情報として署名鍵発行サーバ3に送信される。
【0150】
一方、図8(b)に示すように、署名鍵生成手段34は、事前に取得している第2マスタ鍵x′と、ステップS34で生成され送信された部分鍵情報に含まれている部分鍵x1(x)と、公開されている検証鍵の一部(q)とに基づいて、前記式(8)により、サービス提供者識別子iに対応する署名鍵SKiを生成する(ステップS41)。
このように生成された署名鍵SKiは、サービス提供者識別子iで特定されるサービス提供者にオフラインで配布される。
【0151】
〔署名鍵更新〕
次に、図9を参照(適宜図2,図4,図5参照)して、アプリケーション認証システムSにおける署名鍵の更新動作について説明する。
まず、鍵管理サーバ1は、部分鍵生成装置20において、パラメータ入力手段21によって、外部から更新種別、更新識別子およびサービス提供者識別子を入力するとともに、図6のステップS2,S3で記憶されている検証鍵および第1マスタ鍵を取得し、部分鍵生成手段22および更新鍵情報生成手段25によって、署名鍵を更新するための差分部分鍵を含む差分部分鍵情報を生成する(ステップS51:差分部分鍵生成)。なお、このステップS51における差分部分鍵生成動作については、後で図10を参照して説明する。
そして、鍵管理サーバ1は、更新鍵情報送信手段26によって、ステップS51で生成された差分部分鍵(差分部分鍵情報)を、アプリケーションサーバ5に送信する(ステップS52)。
【0152】
さらに、鍵管理サーバ1は、失効リスト生成手段27によって、更新前の有効識別子の最大値(最大失効識別子)を、第1要素に記述した失効リスト(CRL)を生成する(ステップS53)。なお、失効リスト生成手段27は、個別に失効させたいサービス提供者識別子が入力された場合、第2要素以降にそれらの識別子(個別失効識別子)を記述する。そして、鍵管理サーバ1は、失効リスト送信手段28によって、ステップS53で生成されたCRLを、受信端末7に送信する(ステップS54)。
【0153】
一方、アプリケーションサーバ5は、署名鍵更新装置50において、更新鍵情報受信手段53によって、差分部分鍵(差分部分鍵情報)を受信する(ステップS55)。
そして、アプリケーションサーバ5は、署名鍵更新手段54によって、署名鍵管理手段52で管理(記憶)されている更新前の署名鍵を、ステップS55で受信した差分部分鍵(差分部分鍵情報)に基づいて更新する(ステップS56:署名鍵更新)。このステップS56における署名鍵更新動作については、後で図10を参照して説明する。
【0154】
また、一方、受信端末7は、失効リスト受信手段71によって、失効リスト(CRL)を受信する(ステップS58)。そして、受信端末7は、失効リスト管理手段72によって、ステップS58で受信したCRLを記憶する(ステップS59)。
以上の動作によって、アプリケーションサーバ5内で署名鍵が更新され、更新前の署名鍵については失効した旨が、CRLによって、受信端末7に通知される。
【0155】
(差分部分鍵生成・署名鍵更新)
次に、図10を参照(適宜図2,図4参照)して、署名鍵を更新する際の主な動作について説明する。なお、図10(a)で説明する動作は、図9で説明したステップS51の差分部分鍵生成動作に相当し、鍵管理サーバ1の鍵生成装置10の部分鍵生成手段22および更新鍵情報生成手段25において動作する。また、図10(b)で説明する動作は、図9で説明したステップS56の署名鍵更新動作に相当し、アプリケーションサーバ5の署名鍵更新装置50の署名鍵更新手段54において動作する。
【0156】
まず、図10(a)に示すように、部分鍵生成手段22は、Zqから乱数r2(r)をランダムに生成する(ステップS61)。そして、部分鍵生成手段22は、乱数r2(r)と、検証鍵の一部(p,g)とに基づいて、前記式(4)の演算により部分鍵検証情報v2(v)を生成する(ステップS62)。
さらに、部分鍵生成手段22は、部分鍵検証情報v2(v)と、有効識別子(i+jn)とを連結し、前記式(5)により、ハッシュ値c2(c)を生成する(ステップS63)。
【0157】
そして、部分鍵生成手段22は、第1マスタ鍵x0と、検証鍵の一部(q)と、ハッシュ値c2(c)と、乱数r2(r)とに基づいて、前記式(6)により、部分鍵x2(x)を生成する(ステップS64)。
【0158】
その後、更新鍵情報生成手段25は、部分鍵管理手段23で管理(記憶)されている以前の部分鍵x1と、ステップS64で生成された部分鍵x2と、検証鍵の一部(q)とに基づいて、前記式(7)により、差分部分鍵Δxを生成する(ステップS65)。
このように生成された差分部分鍵Δxは、部分鍵検証情報v2(v)と、有効識別子(i+jn)とともに、差分部分鍵情報としてアプリケーションサーバ5に送信される。
【0159】
一方、図10(b)に示すように、署名鍵更新手段54は、署名鍵管理手段52で管理(記憶)されている更新前の署名鍵をSKi+(j−1)nと、ステップS65で生成され送信された差分部分鍵情報に含まれている差分部分鍵Δxと、鍵管理サーバ1で公開情報として公開されている検証鍵の一部(q)とに基づいて、前記式(9)により、新たな署名鍵SKi+jnを生成する(ステップS71)。
【0160】
このように生成された署名鍵SKi+jnは、差分部分鍵情報に含まれている部分鍵検証情報vとともに、有効識別子(i+jn)と対応付けて、署名鍵管理手段52に記憶される。これによって、アプリケーションサーバ5が保持する署名鍵(署名鍵情報)が更新されることになる。
【0161】
〔アプリケーション認証〕
次に、図11を参照(適宜図4,図5参照)して、アプリケーション認証システムSにおける署名を生成してアプリケーションに付加し、アプリケーションの受信側で署名を検証するアプリケーション認証動作について説明する。
【0162】
まず、アプリケーションサーバ5は、アプリケーション入力手段61によって、外部からアプリケーションを入力する(ステップS81)。
そして、アプリケーションサーバ5は、署名付加手段62によって、署名鍵管理手段52に記憶されている署名鍵情報に基づいて署名を生成する(ステップS82:署名生成)。なお、このステップS82における署名生成動作については、後で図12を参照して説明する。
【0163】
そして、アプリケーションサーバ5は、署名付加手段62によって、ステップS81で入力したアプリケーションに、ステップS82で生成した署名を付加する(ステップS83)。そして、アプリケーションサーバ5は、アプリケーション送信手段63によって、ステップS83で署名が付加された署名付きアプリケーションを受信端末7に送信する(ステップS84)。
【0164】
一方、受信端末7は、アプリケーション受信手段74によって、署名付きアプリケーションを受信する(ステップS85)。そして、受信端末7は、失効リスト検証手段75および署名検証手段76によって、署名付きアプリケーションに署名が正当なものであるか否かを検証する(ステップS86:署名検証)。なお、このステップS86における署名生成動作については、後で図12を参照して説明する。
【0165】
そして、受信端末7は、ステップS87において、検証結果として署名が正当であると判定された場合(ステップS87でYes)にのみ、アプリケーション管理手段77によって、アプリケーションの起動(復号、再生)あるいは蓄積を行う(ステップS88)。
一方、検証結果として署名が不正であると判定された場合(ステップS87でNo)、受信端末7は、アプリケーションの起動等を行わず、エラーメッセージを表示して処理を終了する。
以上の動作によって、正規のサービス提供者によって正当な署名が付加されたアプリケーションのみが受信端末7において、起動・蓄積されることになる。
【0166】
(署名生成・署名検証)
次に、図12を参照(適宜図4,図5参照)して、アプリケーション認証の主な動作について説明する。なお、図12(a)で説明する動作は、図11で説明したステップS82の署名生成動作に相当し、アプリケーションサーバ5の署名生成装置60の署名付加手段62において動作する。また、図12(b)で説明する動作は、図11で説明したステップS86の署名検証動作に相当し、受信端末7の失効リスト検証手段75および署名検証手段76において動作する。
【0167】
まず、図12(a)に示すように、署名付加手段62は、Zqから乱数rsをランダムに生成する(ステップS91)。そして、署名付加手段62は、乱数rsと、検証鍵の一部(p,g)とに基づいて、前記式(10)の演算により署名検証情報vsを生成する(ステップS92)。
【0168】
さらに、署名付加手段62は、署名鍵管理手段52に記憶されている部分鍵検証情報vと、署名検証情報vsと、有効識別子(i+jn)と、アプリケーションMとを連結し、前記式(11)により、ハッシュ値csを生成する(ステップS93)。
【0169】
その後、署名付加手段62は、ハッシュ値csと、乱数rsと、署名鍵管理手段52に記憶されている有効識別子(i+jn)に対応する署名鍵SKi+jnと、検証鍵の一部(q)とに基づいて、前記式(12)により、署名σsを生成する(ステップS94)。
このように生成された署名σsは、ハッシュ値csと、部分鍵検証情報vと、有効識別子(i+jn)とともに、アプリケーションMに付加されて署名付きアプリケーションが生成される。
【0170】
一方、図12(b)に示すように、失効リスト検証手段75は、署名付きアプリケーションに付加されている有効識別子(i+jn)が、CRLに含まれているか否かを判定する(ステップS101)。
ここで、有効識別子(i+jn)が、CRLに含まれている場合、すなわち、有効識別子(i+jn)がCRLの第1要素に記述されている最大失効識別子以下である場合、または、有効識別子(i+jn)が、CRLの第2要素以降に記述されている個別失効識別子の1つと一致する場合(ステップS101でYes)、不正な署名鍵に対応する署名が付加されているため、失効リスト検証手段75は、検証結果に署名が不正である旨を設定し(ステップS102)、署名検証動作を終了する。
【0171】
一方、有効識別子(i+jn)が、CRLに含まれていない場合(ステップS101でNo)、署名検証手段76が以下の動作を行う。
すなわち、署名検証手段76は、検証鍵管理手段73に記録されている検証鍵に含まれるハッシュ関数H(・)を用いて、前記式(13)によりハッシュ値c1を生成する(ステップS103)。
そして、署名検証手段76は、ハッシュ値c1と、検証鍵の一部(p,g,y0,y′)と、署名情報(σs,cs,v)とに基づいて、前記式(14)の条件式が成り立つか否かにより、署名σsの検証を行う(ステップS104)。
【0172】
ここで、前記式(14)の条件式が成り立つ場合(ステップS104でYes)、署名検証手段76は、検証結果に署名が正当である旨を設定する(ステップS105)。一方、前記式(14)の条件式が成り立たない場合(ステップS104でNo)、署名検証手段76は、検証結果に署名が正当でない旨を設定する(ステップS102)。
以上の手順によって、受信端末7は、アプリケーションに付加された署名を検証することができる。
【0173】
[署名鍵の更新と失効の例]
次に、図13〜図16を参照(適宜図1〜図5参照)して、アプリケーション認証システムにおける署名鍵の更新と失効の処理について具体的に説明する。
【0174】
(通常更新)
まず、図13を参照して、署名鍵を定期的に更新する処理について説明する。
図13に示すように、サービス提供者の数がmの場合、それぞれのサービス提供者には、1,2,…,mのサービス提供者識別子が付与される。そして、図6の署名鍵発行動作で説明したように、鍵管理サーバ1の部分鍵生成手段22が更新識別子“0”で生成した部分鍵を署名鍵発行サーバ3に送信し、署名鍵発行サーバ3の署名鍵生成手段34が、サービス提供者識別子1,2,…,mに対応する署名鍵SK1,SK2,…,SKmを生成する。
【0175】
このとき、失効すべき署名鍵は存在しないため、鍵管理サーバ1の失効リスト生成手段27は、CRLに、有効なサービス提供者識別子より小さい値(ここでは、“0”)を設定する。これによって、CRLを取得した受信端末7は、サービス提供者識別子1,2,…,mに対応する署名鍵SK1,SK2,…,SKmがすべて有効であると判定することができる。
【0176】
その後、署名鍵を更新する場合、更新識別子が1増加され、部分鍵生成手段22が、新たな更新識別子“1”で部分鍵を生成し、更新鍵情報生成手段25が、以前に生成した部分鍵との差分をとることで差分部分鍵を生成する。そして、アプリケーションサーバ5の署名鍵更新手段54が、差分部分鍵により署名鍵を更新する。このとき、鍵管理サーバ1は、アプリケーションサーバ5に対し、差分部分鍵と同時に有効識別子(サービス提供者識別子+更新識別子×サービス提供者数上限値)が通知されるため、それぞれのアプリケーションサーバ5の署名鍵更新手段54では、その有効識別子に対応して署名鍵を生成する。これによって、更新識別子が“0”から“1”になった場合、サービス提供者ごとのアプリケーションサーバ5に保持されている署名鍵SK1,SK2,…,SKmが、有効識別子1+n,2+n,…,m+nに対応する署名鍵SK1+n,SK2+n,…,SKm+nに更新される。
【0177】
このとき、失効すべき署名鍵は署名鍵SK1,SK2,…,SKmであるため、最大失効識別子として、mを第1要素に記述してCRL={m}を生成する。あるいは、(更新識別子“1”×サービス提供者数の上限値n)であるnを第1要素に記述してCRL={n}を生成する。これによって、CRLを取得した受信端末7は、CRL{m}または{n}によって、サービス提供者識別子1,2,…,mに対応する署名鍵SK1,SK2,…,SKmがすべて無効であると判定することができる。
このように、更新識別子を“0”,“1”,…と増加させて署名鍵を更新するとともに、CRLに更新後の有効識別子よりも小さい値を設定することで、更新前の署名鍵を一度に失効させることができる。
【0178】
(サービス提供者を追加する場合)
次に、図14を参照して、サービス提供者を追加する処理について説明する。ここでは、更新識別子“2”の署名鍵が配布されている状態で、m<t≦nとなるサービス提供者識別子tが割り当てられたサービス提供者を追加するものとする。
この場合、まず、図6の署名鍵発行動作で説明したように、鍵管理サーバ1の部分鍵生成手段22が更新識別子“0”で生成した部分鍵を署名鍵発行サーバ3に送信し、署名鍵発行サーバ3の署名鍵生成手段34が、サービス提供者識別子tに対応する署名鍵SKtを生成する。
【0179】
その後、更新識別子“3”の更新時に、サービス提供者識別子tの署名鍵SKtは、有効識別子(サービス提供者識別子t+更新識別子“3”×サービス提供者数上限値n)に対応する署名鍵SKt+3nに更新される。
このとき、鍵管理サーバ1の失効リスト生成手段27は、最大失効識別子として、更新前の有効識別子の最大値tと、更新前の更新識別子“2”と、サービス提供者数の上限値nで特定される有効識別子を第1要素に記述して、CRL={t+2n}を生成する。あるいは、(更新後の更新識別子“3”×サービス提供者数の上限値n)を第1要素に記述してCRL={3n}を生成する。
【0180】
なお、ここでは、新たに追加するサービス提供者の署名鍵として、更新識別子“0”に相当する署名鍵を生成することとしたが、現在有効な更新識別子に相当する署名鍵を生成することとしてもよい。例えば、図14において、更新識別子“2”のときに、サービス提供者識別子tの署名鍵を生成する場合、SKtの代わりにSKt+2nを生成することとしてもよい。
【0181】
(サービス提供者を失効させる場合)
次に、図15を参照して、特定のサービス提供者の署名鍵を失効させる処理について説明する。ここでは、更新識別子“1”の署名鍵を配信後に、あるサービス提供者識別子kとして定められたサービス提供者の署名鍵を失効させるものとする。
【0182】
この場合、鍵管理サーバ1の失効リスト生成手段27は、最大失効識別子として、更新前の有効識別子の最大値mを第1要素に記述し、個別失効識別子として、失効させたいサービス提供者識別子kの更新識別子“1”における有効識別子を第2要素に記述して、CRL={m,k+n}を生成する。あるいは、第1要素には、(現在の更新識別子“1”×サービス提供者数の上限値n)を第1要素に記述し、CRL={n,k+n}を生成する。
なお、更新識別子“2”以降の署名鍵の更新は、鍵管理サーバ1の更新鍵情報生成手段25において、サービス提供者識別子kに対応する差分部分鍵が生成されないため、CRLには個別失効識別子を記述する必要はなく、図14で説明した動作と同じである。
【0183】
(署名鍵の漏洩が発覚した場合)
次に、図16を参照して、特定のサービス提供者の署名鍵が漏洩した場合の署名鍵の更新と失効の処理について説明する。ここでは、更新識別子“1”においてサービス提供者識別子hの署名鍵が漏洩したものとする。
【0184】
この場合、図15で説明した処理と同様に、最大失効識別子として、更新前の有効識別子の最大値mを第1要素に記述し、個別失効識別子として、失効させたいサービス提供者識別子hの更新識別子“1”における有効識別子を第2要素に記述して、CRL={m,h+n}を生成する。あるいは、第1要素には、(現在の更新識別子“1”×サービス提供者数の上限値n)を第1要素に記述し、CRL={n,h+n}を生成する。
また、サービス提供者識別子hが割り当てられているサービス提供者には、新たにサービス提供者識別子h′を割り当てる。
以降の処理については、図14で新たにサービス提供者を追加する場合の処理と同様であるため説明を書略する。
【0185】
なお、図13〜図16では、図17(a)で説明した手法によって、署名鍵の更新、および、CRLの生成を行った例を説明したが、図17(b)で説明したように、有効識別子が連続するようにして、署名鍵の更新、および、CRLの生成を行ってもよいことはいうまでもない。
【0186】
以上説明したアプリケーション認証システムSによれば、放送局が鍵生成および鍵管理を行うとともに、サービス提供者の数によらず固定長の検証鍵を用いて署名の検証を行うことができる。また、最大失効識別子を用いることで、一度に複数の署名鍵を容易に失効させることができるとともに、署名鍵を容易に更新することができる。
【0187】
また、アプリケーション認証システムSは、マスタ鍵を分離して管理するため、一方のマスタ鍵が漏洩した場合であっても、もう一方のマスタ鍵がなければ署名鍵を更新することができないため、より安全にサービス提供者の認証を行うことができる。
【0188】
以上、本発明の実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、鍵管理サーバ1は、一般的なコンピュータを、前記した各手段として機能させるプログラム(鍵管理プログラム〔鍵生成プログラム、署名鍵更新用部分鍵生成プログラム〕)により動作させることで実現することができる。同様に、署名鍵発行サーバ3は、一般的なコンピュータを、前記した各手段として機能させるプログラム(署名鍵発行プログラム)により動作させることで実現することができる。
【0189】
また、アプリケーションサーバ5の署名鍵更新装置50は、一般的なコンピュータを、前記した各手段として機能させるプログラム(署名鍵更新プログラム)により動作させることで実現することができ、署名生成装置60は、一般的なコンピュータを、前記した各手段として機能させるプログラム(アプリケーション署名付加プログラム)により動作させることで実現することができる。さらに、受信端末7は、一般的なコンピュータを、前記した各手段として機能させるプログラム(アプリケーション認証プログラム)により動作させることで実現することができる。
【0190】
なお、ここでは、Strong Key-Insulated署名を用いてシステムを構成したが、IDベース署名(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.)を用いて、本発明の署名鍵の更新や失効を行うシステムを実現することも可能である。
【0191】
[アプリケーション認証システムの他の構成(IDベース署名)]
以下、IDベース署名を用いた本発明の他の実施形態について説明する。
図18に示すように、IDベース署名を用いて本発明を実施した場合、アプリケーション認証システムSBは、放送局内に備えた鍵管理サーバ(鍵管理装置)1Bと、サービス提供者(サービス提供事業者)内に備えたアプリケーションサーバ5Bと、ユーザ宅内に備えた(あるいは、ユーザが携帯する)受信端末7とで構成される。
【0192】
IDベース署名は、部分鍵という概念は存在せず、1つのマスタ鍵とID(サービス提供者識別子〔有効識別子〕)から署名鍵が生成される。そこで、アプリケーション認証システムSBは、図1で説明したアプリケーション認証システムSから署名鍵発行サーバ3を省き、鍵管理サーバ1の鍵生成装置10および部分鍵生成装置20を、鍵生成装置10Bおよび署名鍵生成装置20Bとして鍵管理サーバ1Bを構成するとともに、アプリケーションサーバ5の署名鍵更新装置50を新たな署名鍵更新装置50Bとしてアプリケーションサーバ5Bを構成している。なお、受信端末7は、図1と同一のものである。
【0193】
〔鍵管理サーバの構成〕
まず、図19を参照(適宜図18参照)して、鍵管理サーバの構成について説明を行う。ここでは、鍵管理サーバ(鍵管理装置)1Bは、鍵生成装置10Bと、署名鍵生成装置20Bとを備えている。なお、鍵生成装置10Bと署名鍵生成装置20Bとは、図示を省略した通信インタフェースによって通信可能に接続されているものとする。
【0194】
(鍵生成装置の構成)
鍵生成装置10Bは、署名鍵を生成するためのマスタ鍵と、署名鍵を検証するための検証鍵とを生成し、管理(記憶)するものである。ここでは、鍵生成装置10Bは、鍵生成手段11Bと、検証鍵管理手段12と、マスタ鍵管理手段13Bとを備えている。なお、検証鍵管理手段12は、図2で説明したものと同一であるため、説明を省略する。
【0195】
鍵生成手段11Bは、マスタ鍵と検証鍵とを生成するものである。ここでは、鍵生成手段11Bは、IDベース署名方式によりマスタ鍵と検証鍵とを生成する。この鍵生成手段11Bは、生成した検証鍵を検証鍵管理手段12に出力し、生成したマスタ鍵をマスタ鍵管理手段13Bに出力する。
【0196】
マスタ鍵管理手段13Bは、鍵生成手段11Bで生成されたマスタ鍵を記憶し、管理するものである。このマスタ鍵管理手段13Bは、図2で説明した第1マスタ鍵管理手段13が管理する第1マスタ鍵と同様に、マスタ鍵を管理する。
【0197】
(署名鍵生成装置の構成)
署名鍵生成装置20Bは、署名鍵の生成、ならびに、署名鍵を更新する際に使用する鍵情報を生成するとともに、失効した署名鍵のリストを示す失効リストを生成するものである。ここでは、署名鍵生成装置20Bは、パラメータ入力手段21と、署名鍵生成手段22Bと、署名鍵管理手段23Bと、署名鍵送信手段24Bと、更新鍵情報生成手段25Bと、更新鍵情報送信手段26Bと、失効リスト生成手段27と、失効リスト送信手段28とを備えている。
【0198】
パラメータ入力手段21、失効リスト生成手段27および失効リスト送信手段28は、図2で説明した部分鍵生成装置20と同一の構成であるため説明を省略する。
前記したように、IDベース署名は、部分鍵という概念は存在せず、1つのマスタ鍵とID(サービス提供者識別子〔有効識別子〕)から署名鍵が生成されるため、ここでは、図2に示した部分鍵生成手段22、部分鍵管理手段23および部分鍵送信手段24を、それぞれ、署名鍵生成手段22B、署名鍵管理手段23Bおよび署名鍵送信手段24Bとして構成している。
すなわち、署名鍵生成装置20Bは、署名鍵生成手段22Bによって、IDベース署名方式によって署名鍵を生成し、署名鍵管理手段23Bで署名鍵を管理(記憶)するとともに、署名鍵送信手段24Bによって、アプリケーションサーバ5Bに署名鍵を送信する。
【0199】
また、ここでは、図2に示した更新鍵情報生成手段25および更新鍵情報送信手段26を、それぞれ、更新鍵情報生成手段25Bおよび更新鍵情報送信手段26Bして構成している。
この更新鍵情報生成手段25Bおよび更新鍵情報送信手段26Bにおいても、図2に示した更新鍵情報生成手段25および更新鍵情報送信手段26が、部分鍵の差分を求めてアプリケーションサーバ5に送信しているのに対し、署名鍵の差分を求めてアプリケーションサーバ5Bに送信している点のみが異なっている。
【0200】
〔アプリケーションサーバの構成〕
次に、図20を参照(適宜図18参照)して、アプリケーションサーバの構成について説明を行う。ここでは、アプリケーションサーバ5Bは、署名鍵更新装置50Bと、署名生成装置60とを備えている。署名生成装置60は、図4で説明したものと同一のものであるため、説明を省略する。
【0201】
署名鍵更新装置50Bは、サービス提供者に配布された署名鍵を、鍵管理サーバ1Bから送信される差分署名鍵(差分署名鍵情報)に基づいて更新するものである。ここでは、署名鍵更新装置50Bは、署名鍵入力手段51と、署名鍵管理手段52と、更新鍵情報受信手段53Bと、署名鍵更新手段54Bとを備えている。なお、署名鍵入力手段51および署名鍵管理手段52は、図4で説明したものと同一のものである。
【0202】
また、更新鍵情報受信手段53Bおよび署名鍵更新手段54Bは、図4で説明した更新鍵情報受信手段53および署名鍵更新手段54が差分部分鍵を受信して署名鍵を更新したのに対し、差分署名鍵を受信して署名鍵を更新する点のみが異なっている。なお、署名鍵更新手段54Bは、一般的なIDベース署名方式により、差分署名鍵を用いて署名鍵を更新する。
このように、本発明は、サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報であるサービス提供者固有の鍵であって順次更新される署名鍵とを用いた署名方式において、一度に複数の署名鍵を容易に失効させることができるとともに、署名鍵を容易に更新することができる。
【符号の説明】
【0203】
S アプリケーション認証システム
1 鍵管理サーバ(鍵管理装置)
10 鍵生成装置
11 鍵生成手段
12 検証鍵管理手段(検証鍵記憶手段)
13 第1マスタ鍵管理手段(第1マスタ鍵記憶手段)
14 第2マスタ鍵送信手段
20 部分鍵生成装置(署名鍵更新用部分鍵生成装置)
21 パラメータ入力手段
22 部分鍵生成手段
23 部分鍵管理手段(部分鍵記憶手段)
24 部分鍵送信手段
25 更新鍵情報生成手段
26 更新鍵情報送信手段
27 失効リスト生成手段
28 失効リスト送信手段
3 署名鍵発行サーバ(署名鍵発行装置)
31 第2マスタ鍵受信手段
32 第2マスタ鍵管理手段(第2マスタ鍵記憶手段)
33 部分鍵受信手段
34 署名鍵生成手段
35 署名鍵出力手段
5 アプリケーションサーバ
50 署名鍵更新装置
51 署名鍵入力手段
52 署名鍵管理手段(署名鍵記憶手段)
53 更新鍵情報受信手段
54 署名鍵更新手段
60 署名生成装置
61 アプリケーション入力手段
62 署名付加手段
63 アプリケーション送信手段
7 受信端末
71 失効リスト受信手段
72 失効リスト管理手段(失効リスト記憶手段)
73 検証鍵管理手段(検証鍵記憶手段)
74 アプリケーション受信手段
75 失効リスト検証手段
76 署名検証手段
77 アプリケーション管理手段
【技術分野】
【0001】
本発明は、放送波、インターネット、専用IP(Internet Protocol)回線等のネットワークを利用した放送・通信連携サービスにおいてアプリケーションを認証する技術に関する。
【背景技術】
【0002】
近年、放送のデジタル化や通信の高速・広帯域化に伴い、放送と通信を連携した様々なサービス(以降、このようなサービスを「放送・通信連携サービス」と呼ぶ)が検討されている。この放送・通信連携サービスでは、放送番組に関連する多様な情報を通信ネットワーク経由で取得し放送と組み合わせて提示することが想定されている。また、受信端末では、このようなサービスを享受するため、サービスに適応したアプリケーションを用いる。ここで、「アプリケーション」とは、通信ネットワーク経由で取得した番組関連情報を放送と組み合わせて提示する等の機能を有する、受信端末上で動作するソフトウェアのことを指す。
【0003】
なお、視聴者にとって、より魅力的なサービスを実現するためには、放送局が制作したアプリケーションだけでなく、様々な事業者が制作したアプリケーションを視聴者に提供できる環境が必要となる。一方、視聴者が提供されたアプリケーションを安心して利用できるようにするためには、アプリケーションを制作するサービス提供者(サービス提供事業者)を確認するとともに、アプリケーションの改ざんを防止する「アプリケーション認証」も必要である。
【0004】
一般に、アプリケーション認証は以下のように行われる。
サービス提供者は、視聴者からのリクエストに応じて、通信ネットワークを経由してアプリケーションを視聴者の受信端末に送信する。このとき、サービス提供者が保持する署名鍵を用いて、アプリケーションにデジタル署名を付加して送信する。視聴者の受信端末は、検証鍵を用いて受信したアプリケーションに付加されている署名を検証する。
【0005】
なお、この手順はサービス提供者が直接視聴者の受信端末にアプリケーションを送信する場合であるが、サービス提供者以外の第三者が運営するアプリケーションサーバにサービス提供者が制作したアプリケーションを登録し、視聴者からのリクエストに応じてアプリケーションサーバから受信端末に送信するモデルも考えられる。すなわち、第三者が運営するアプリケーションサーバを用いる場合、サービス提供者は、アプリケーションを登録する際に、署名鍵を用いてアプリケーションにデジタル署名を付加してアプリケーションサーバに送信する。一方、アプリケーションサーバは、検証鍵を用いて受信したアプリケーションに付加されている署名を検証する。
このようなデジタル署名を用いた認証には一般にPKI(Public Key Infrastructure)が用いられる(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】情報セキュリティ技術ラボラトリー、“PKI関連技術解説”、[online]、2007年7月3日、独立行政法人情報処理推進機構、[平成23年1月11日検索]、インターネット<URL:http://www.ipa.go.jp/security/pki/>
【発明の概要】
【発明が解決しようとする課題】
【0007】
放送・通信連携サービスにおいて、不正な動作を行うアプリケーションを制作するサービス提供者が存在した場合、当該サービス提供者が付加した署名、あるいは当該サービス提供者が保持する署名鍵を放送局が効率よく失効する手段が必要である。
しかし、前記したPKIは、サービス提供者が鍵生成を行い、第三者機関である認証局が鍵管理を行うモデルであり、証明書失効リスト(CRL:Certificate Revocation List)も認証局から発行される。そのため、放送局が不正なアプリケーションを制作するサービス提供者の署名鍵を失効させたい場合であっても、対応する公開鍵証明書を放送局の一存で失効させることは困難であり、早急に署名鍵を失効させることができないという問題があった。
【0008】
また、署名鍵はサービス提供者によって安全に管理する必要があるが、サーバアタックなどの理由により、署名鍵が第三者に漏洩する可能性もある。そのため、鍵漏洩対策として署名鍵を容易に更新する手段が必要である。しかし、PKIにおいてサービス提供者の署名鍵を更新する場合、認証局に対し公開鍵証明書の再発行を要求する必要がある等、煩雑な処理が必要となり、早急に署名鍵を更新することができないという問題があった。
【0009】
本発明は、以上のような問題点に鑑みてなされたものであり、放送・通信連携サービスにおいて、放送局が鍵生成および鍵管理を行うとともに、サービス提供者の数によらず1つの固定の検証鍵を用いて署名の検証を行うことを可能とし、さらに、署名鍵の容易な失効や署名鍵の容易な更新を可能とするアプリケーション認証システムに用いられる鍵管理装置、署名鍵更新用部分鍵生成装置、署名鍵発行装置、アプリケーションサーバおよび受信端末、ならびに、それらの制御プログラムを提供することを課題とする。
【課題を解決するための手段】
【0010】
本発明は、前記課題を解決するために創案されたものであり、まず、請求項1に記載の鍵管理装置は、サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに備えられ、前記署名鍵を更新するための鍵情報を前記署名方式により生成する鍵管理装置において、更新鍵情報生成手段と、更新鍵情報送信手段と、失効リスト生成手段と、失効リスト送信手段と、を備える構成とした。
【0011】
かかる構成において、鍵管理装置は、更新鍵情報生成手段によって、サービス提供者ごとに署名鍵に対応して付される有効識別子であって、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、鍵情報を生成する。この鍵情報は、IDベース署名方式やKey−Insulated署名方式により生成する。そして、鍵管理装置は、更新鍵情報送信手段によって、サービス提供者ごとの更新後の有効識別子とともに、鍵情報をアプリケーションサーバに送信する。これによって、鍵情報を取得したアプリケーションサーバは、有効識別子に対応して署名鍵を更新することができる。
【0012】
そして、鍵管理装置は、失効リスト生成手段によって、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素として失効リストを生成する。これは、有効識別子が、署名鍵の更新前後で、その値の大きさが異なるため、その境界となる値を失効リストとして通知すれば、受信端末において署名鍵の有効無効の判定を行うことが可能となるためである。そして、鍵管理装置は、失効リスト送信手段によって、失効リストを受信端末に送信する。これによって、受信端末は、境界を区分する値の大小判断によって、有効識別子が、失効していないか否かを判定することができる。
【0013】
さらに、コンピュータを、更新鍵情報生成手段、更新鍵情報送信手段、失効リスト生成手段、失効リスト送信手段、として機能させる鍵管理プログラムで、鍵管理装置を制御する構成としてもよい(請求項2)。
【0014】
また、請求項3に記載の受信端末は、サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって、鍵管理装置によって生成された鍵情報によって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに用いられる前記受信端末であって、検証鍵記憶手段と、失効リスト受信手段と、失効リスト記憶手段と、アプリケーション受信手段と、失効リスト検証手段と、署名検証手段と、アプリケーション管理手段と、を備える構成とした。
【0015】
かかる構成において、受信端末は、検証鍵記憶手段に検証鍵を予め記憶しておく。そして、受信端末は、失効リスト受信手段によって、鍵管理装置から、サービス提供者ごとに付される有効識別子であって、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信し、失効リスト記憶手段に記憶する。
【0016】
また、受信端末は、アプリケーション受信手段によって、アプリケーションサーバから、署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信する。そして、受信端末は、失効リスト検証手段によって、失効リスト記憶手段に記憶されている失効リストに基づいて、アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する。さらに、受信端末は、署名検証手段によって、検証鍵記憶手段に記憶されている検証鍵により、アプリケーションに付加されている署名を検証する。
そして、受信端末は、アプリケーション管理手段によって、失効リスト検証手段および署名検証手段において、有効識別子が有効で、かつ、署名が正当である場合に、アプリケーションの起動または蓄積を行う。
【0017】
さらに、コンピュータを、失効リスト受信手段、アプリケーション受信手段、失効リスト検証手段、署名検証手段、アプリケーション管理手段、として機能させるアプリケーション署名認証プログラムで、受信端末を制御する構成としてもよい(請求項4)。
【0018】
また、請求項5に記載の署名鍵更新用部分鍵生成装置は、アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵更新用部分鍵生成装置であって、部分鍵生成手段と、部分鍵記憶手段と、部分鍵送信手段と、更新鍵情報生成手段と、更新鍵情報送信手段と、失効リスト生成手段と、失効リスト送信手段と、を備える構成とした。
【0019】
かかる構成において、署名鍵更新用部分鍵生成装置は、部分鍵生成手段によって、サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、検証鍵および第1マスタ鍵から、サービス提供者ごとの有効識別子に対応した部分鍵を生成する。この部分鍵は、例えば、Key−Insulated署名方式により生成することができる。
【0020】
そして、署名鍵更新用部分鍵生成装置は、生成した部分鍵を、有効識別子に対応付けて部分鍵記憶手段に記憶しておく。そして、署名鍵更新用部分鍵生成装置は、部分鍵送信手段によって、有効識別子を付加して、部分鍵を署名鍵発行装置に送信する。
【0021】
また、署名鍵更新用部分鍵生成装置は、更新鍵情報生成手段によって、部分鍵生成手段で生成された部分鍵と、部分鍵記憶手段に記憶されている更新前の部分鍵との差分により差分部分鍵を生成する。そして、署名鍵更新用部分鍵生成装置は、更新鍵情報送信手段によって、サービス提供者識別子ごとの更新後の有効識別子とともに、差分部分鍵をアプリケーションサーバに送信する。これによって、差分部分鍵を取得したアプリケーションサーバは、有効識別子に対応して署名鍵を更新することができる。
【0022】
また、署名鍵更新用部分鍵生成装置は、失効リスト生成手段によって、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素として失効リストを生成する。これは、有効識別子が、署名鍵の更新前後で、その値の大きさが異なるため、その境界となる値を失効リストとして通知すれば、受信端末において署名鍵の有効無効の判定を行うことが可能となるためである。そして、署名鍵更新用部分鍵生成装置は、失効リスト送信手段によって、失効リストを受信端末に送信する。これによって、受信端末は、境界を区分する値の大小判断によって、有効識別子が、失効していないか否かを判定することができる。
【0023】
また、請求項6に記載の署名鍵更新用部分鍵生成装置は、請求項5に記載の署名鍵更新用部分鍵生成装置において、前記部分鍵生成手段が、前記署名鍵の更新回数を示す更新識別子に前記サービス提供者の予め定めた総数の上限値を乗算し、前記サービス提供者識別子に加算することで、前記サービス提供者ごとに固有の前記有効識別子を演算し、前記部分鍵を生成する構成とした。
【0024】
かかる構成において、署名鍵更新用部分鍵生成装置は、署名鍵を更新するごとに、有効識別子が、サービス提供者数の予め定めた総数の上限値ごとに増加していく。
【0025】
このとき、失効リスト生成手段は、更新前の更新識別子にサービス提供者の予め定めた総数の上限値を乗算し、サービス提供者識別子の最大値に加算した値を、境界を区分する値とすることとしてもよい(請求項7)。
【0026】
また、失効リスト生成手段は、更新後の更新識別子にサービス提供者の予め定めた総数の上限値を乗算した値を、境界を区分する値とすることとしてもよい(請求項8)。
これによって、有効識別子が失効しているか否かをある基準(境界)で定めることができる。
【0027】
さらに、コンピュータを、部分鍵生成手段、部分鍵送信手段、更新鍵情報生成手段、更新鍵情報送信手段、失効リスト生成手段、失効リスト送信手段、として機能させる署名鍵更新用部分鍵生成プログラムで、署名鍵更新用部分鍵生成装置を制御する構成としてもよい(請求項9)。
【0028】
また、請求項10に記載の署名鍵発行装置は、アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵発行装置であって、第2マスタ鍵受信手段と、第2マスタ鍵記憶手段と、部分鍵受信手段と、署名鍵生成手段と、を備える構成とした。
【0029】
かかる構成において、署名鍵発行装置は、第2マスタ鍵受信手段によって、鍵生成装置から、サービス提供者固有の第2マスタ鍵を受信して、第2マスタ鍵記憶手段に記憶する。
また、署名鍵発行装置は、部分鍵受信手段によって、署名鍵更新用部分鍵生成装置から、サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、部分鍵とを受信する。
【0030】
そして、署名鍵発行装置は、署名鍵生成手段によって、第2マスタ鍵記憶手段に記憶されている第2マスタ鍵と、部分鍵受信手段で受信した部分鍵とを用いて署名鍵を生成する。これによって、署名鍵発行装置は、鍵生成装置から取得した有効識別子に対応した署名鍵を生成することがでる。また、この署名鍵が、サービス提供者に配布され、アプリケーションサーバにおいて、アプリケーションに署名が付加されることで、その署名もまた有効識別子に対応したものとなる。
【0031】
さらに、コンピュータを、第2マスタ鍵受信手段、部分鍵受信手段、署名鍵生成手段、として機能させる署名鍵発行プログラムで、署名鍵発行装置を制御する構成としてもよい(請求項11)。
【0032】
また、請求項12に記載のアプリケーションサーバは、アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記アプリケーションサーバであって、署名鍵記憶手段と、更新鍵情報受信手段と、署名鍵更新手段と、署名付加手段と、アプリケーション送信手段と、を備える構成とした。
【0033】
かかる構成において、アプリケーションサーバは、署名鍵記憶手段に署名鍵発行装置で生成された署名鍵を記憶しておく。そして、アプリケーションサーバは、更新鍵情報受信手段によって、署名鍵更新用部分鍵生成装置から、サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、差分部分鍵とを受信する。そして、アプリケーションサーバは、署名鍵更新手段によって、更新鍵情報受信手段で受信した差分部分鍵を用いて、署名鍵記憶手段に記憶されている署名鍵を有効識別子と対応付けて更新する。
【0034】
また、アプリケーションサーバは、署名付加手段によって、署名鍵記憶手段に記憶されている署名鍵を用いて、有効識別子に対応する署名を生成し、アプリケーションに付加する。そして、アプリケーションサーバは、アプリケーション送信手段によって、署名が付加されたアプリケーションを受信端末に送信する。
【0035】
さらに、コンピュータを、更新鍵情報受信手段、署名鍵更新手段、署名付加手段、アプリケーション送信手段、として機能させるアプリケーション署名付加プログラムで、アプリケーションサーバを制御する構成としてもよい(請求項13)。
【0036】
また、請求項14に記載の受信端末は、アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記受信端末であって、検証鍵記憶手段と、失効リスト受信手段と、失効リスト記憶手段と、アプリケーション受信手段と、失効リスト検証手段と、署名検証手段と、アプリケーション管理手段と、を備える構成とした。
【0037】
かかる構成において、受信端末は、検証鍵記憶手段に鍵生成装置で生成された検証鍵を記憶しておく。そして、受信端末は、失効リスト受信手段によって、署名鍵更新用部分鍵生成装置から、サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信し、失効リスト記憶手段に記憶する。
【0038】
また、受信端末は、アプリケーション受信手段によって、アプリケーションサーバから、署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信する。そして、受信端末は、失効リスト検証手段によって、失効リスト記憶手段に記憶されている失効リストに基づいて、アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する。さらに、受信端末は、署名検証手段によって、検証鍵記憶手段に記憶されている検証鍵により、アプリケーションに付加されている署名を検証する。
そして、受信端末は、アプリケーション管理手段によって、失効リスト検証手段および署名検証手段において、有効識別子が有効で、かつ、署名が正当である場合に、アプリケーションの起動または蓄積を行う。
【0039】
さらに、コンピュータを、失効リスト受信手段、アプリケーション受信手段、失効リスト検証手段、署名検証手段、アプリケーション管理手段、として機能させるアプリケーション署名認証プログラムで、受信端末を制御する構成としてもよい(請求項15)。
【発明の効果】
【0040】
本発明は、以下に示す優れた効果を奏するものである。
請求項1,2,5〜9に記載の発明によれば、アプリケーション認証システムにおいて、放送局が鍵生成および鍵管理を行うことができ、鍵漏洩が発生した場合であっても、第三者機関によらずに、署名鍵を更新するための情報をアプリケーションサーバに送信するだけで、署名鍵をすばやく更新することができる。
また、請求項1,2,5〜9に記載の発明によれば、署名鍵を更新するための情報が有効識別子に対応して生成され、また、その値は更新前後で大きさが異なるため、有効識別子が失効していないか否かを、更新前後の識別子の境界を示す値のみで判定することができる。そのため、失効リストの記述を簡潔にすることができるとともに、署名鍵の検証を容易に行うことができる。
【0041】
請求項10〜13に記載の発明によれば、有効識別子に対応して署名鍵が生成、更新されることになる。また、その有効識別子は、署名鍵の更新によって、更新前後でその値の大きさが異なるため、有効識別子が失効していないか否かを、容易に判定することができる。
請求項3,4,14,15に記載の発明によれば、失効リストで通知される更新前後の有効識別子の境界を区分する値の大小を判定するだけで、署名鍵の有効性を一括して判定できるため、判定の負荷を軽減させることができる。
【図面の簡単な説明】
【0042】
【図1】本発明の実施形態に係るアプリケーション認証システムの構成を示すシステム構成図である。
【図2】本発明の実施形態に係る鍵管理サーバ(鍵生成装置、署名鍵更新用部分鍵生成装置)の構成を示す機能ブロック図である。
【図3】本発明の実施形態に係る署名鍵発行サーバ(署名鍵発行装置)の構成を示す機能ブロック図である。
【図4】本発明の実施形態に係るアプリケーションサーバ(署名鍵更新装置、署名生成装置)の構成を示す機能ブロック図である。
【図5】本発明の実施形態に係る受信端末の構成を示す機能ブロック図である。
【図6】アプリケーション認証システムにおける鍵生成および署名鍵発行の動作を示すフローチャートである。
【図7】図6の鍵生成の詳細動作(マスタ鍵・検証鍵生成動作)を示すフローチャートである。
【図8】図6の署名鍵発行の詳細動作(部分鍵生成動作、署名鍵生成動作)を示すフローチャートである。
【図9】アプリケーション認証システムにおける署名鍵更新の動作を示すフローチャートである。
【図10】図9の署名鍵更新の詳細動作(差部分部分鍵生成動作、署名鍵更新動作)を示すフローチャートである。
【図11】アプリケーション認証システムにおけるアプリケーションの認証動作を示すフローチャートである。
【図12】図11の認証の詳細動作(署名生成動作、署名検証動作)を示すフローチャートである。
【図13】署名鍵の通常更新と署名鍵の失効リストの内容を説明するための説明図である。
【図14】サービス提供者を追加する場合の署名鍵の更新と署名鍵の失効リストの内容を説明するための説明図である。
【図15】特定のサービス提供者の署名鍵を失効させる場合の署名鍵の更新と署名鍵の失効リストの内容を説明するための説明図である。
【図16】署名鍵が漏洩した場合の署名鍵の更新と署名鍵の失効リストの内容を説明するための説明図である。
【図17】署名鍵と失効リストとの関係について説明するための説明図である。
【図18】本発明の他の実施形態に係るアプリケーション認証システムの構成を示すシステム構成図である。
【図19】本発明の他の実施形態に係る鍵管理サーバ(鍵生成装置、署名鍵生成装置)の構成を示す機能ブロック図である。
【図20】本発明の他の実施形態に係るアプリケーションサーバ(署名鍵更新装置、署名生成装置)の構成を示す機能ブロック図である。
【発明を実施するための形態】
【0043】
以下、本発明の実施形態について図面を参照して説明する。
[アプリケーション認証システムの構成]
最初に、図1を参照して、アプリケーション認証システムの構成について説明を行う。
アプリケーション認証システムSは、放送・通信連携サービスにおいて、サービス提供者がユーザ(視聴者)に提供するアプリケーションを認証するシステムである。ここでは、アプリケーション認証システムSは、ストロング・キー・インシュレイテッド(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.)を用いて、システムを構成することとする。
【0044】
このアプリケーション認証システムSは、放送局内に備えた鍵管理サーバ(鍵管理装置)1および署名鍵発行サーバ(署名鍵発行装置)3と、サービス提供者(サービス提供事業者)内に備えたアプリケーションサーバ5と、ユーザ宅内に備えた(あるいは、ユーザが携帯する)受信端末7とで構成される。なお、鍵管理サーバ1と、アプリケーションサーバ5と、受信端末7とは、インターネット(または専用IP回線)等のネットワーク(外部ネットワーク)N1に相互に接続されている。また、鍵管理サーバ1と署名鍵発行サーバ3とは、放送局の内部ネットワーク(専用通信線)N2に接続されている。
なお、ここでは、説明を簡略化するため、アプリケーションサーバ5や受信端末7を1台ずつ図示しているが、これらは、ネットワークN1に複数接続されていることはいうまでもない。
【0045】
鍵管理サーバ(鍵管理装置)1は、アプリケーションを認証する際に使用する鍵を生成および管理(記憶)するものである。ここでは、鍵管理サーバ1は、検証鍵およびマスタ鍵を生成および管理する鍵生成装置10と、署名鍵の生成や更新に使用する鍵、および、失効した署名鍵のリストを示す失効リストを生成する部分鍵生成装置(署名鍵更新用部分鍵生成装置)20とを備えている。なお、鍵管理サーバ1が生成する検証鍵は、例えば、ICカード等に書き込まれて、オフラインで受信端末7に配布されるものとする。
【0046】
署名鍵発行サーバ3は、アプリケーションに署名を付加する際に使用する署名鍵を生成するものである。なお、署名鍵発行サーバ3が生成する署名鍵も、漏洩等を考慮してオフラインでサービス提供者(アプリケーションサーバ5)に配布されるものとする。
【0047】
アプリケーションサーバ5は、署名鍵を管理(記憶)および更新するとともに、署名鍵を用いてアプリケーションに署名を付加して受信端末7に送信するものである。ここでは、アプリケーションサーバ5は、署名鍵を管理(記憶)および更新する署名鍵更新装置50と、アプリケーションに署名を付加して送信する署名生成装置60とを備えている。
【0048】
受信端末7は、アプリケーションサーバ5からアプリケーションを受信し、アプリケーションに付加された署名を検証鍵で検証(認証)するものである。この受信端末7は、放送・通信連携サービスを享受することが可能な、例えば、テレビ受像機、パーソナルコンピュータ等である。
【0049】
これら鍵管理サーバ1(鍵生成装置10、部分鍵生成装置20)と、署名鍵発行サーバ3と、アプリケーションサーバ5と、受信端末7とは、それぞれ、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、通信インタフェース等(図示を省略)を備え、CPUがHDD等に格納されたプログラムをRAMに展開することにより後記する各種機能を実現する。
【0050】
〔鍵管理サーバの構成〕
次に、図2を参照(適宜図1参照)して、鍵管理サーバの構成について説明を行う。ここでは、鍵管理サーバ(鍵管理装置)1は、鍵生成装置10と、部分鍵生成装置(署名鍵更新用部分鍵生成装置)20とを備えている。なお、鍵生成装置10と部分鍵生成装置20とは、図示を省略した通信インタフェースによって通信可能に接続されているものとする。
【0051】
(鍵生成装置の構成)
鍵生成装置10は、署名鍵を生成する際に用いる鍵(部分鍵、差分部分鍵)を生成するためのマスタ鍵と、署名鍵を検証するための検証鍵とを生成し、管理(記憶)するものである。ここでは、鍵生成装置10は、鍵生成手段11と、検証鍵管理手段12と、第1マスタ鍵管理手段13と、第2マスタ鍵送信手段14とを備えている。
【0052】
鍵生成手段11は、マスタ鍵(第1マスタ鍵、第2マスタ鍵)と検証鍵とを生成するものである。すなわち、鍵生成手段11は、素数位数qの巡回群の生成元gと、素数qを法とする剰余類Zqとに基づいて、マスタ鍵(第1マスタ鍵、第2マスタ鍵)と検証鍵とを生成する。
具体的には、鍵生成手段11は、qが(p−1)の約数となる素数p,qを生成し、乗法群Zp*の元gによって生成される部分群の位数がqとなるような生成元gを生成する。そして、鍵生成手段11は、素数qを法とする剰余類Zq(0,1,…,q−1;以下単にZqで示す)からランダムにx,x′を選択し、以下の式(1)により、第1マスタ鍵x0を生成する。また、鍵生成手段11は、x′を第2マスタ鍵とする。
【0053】
【数1】
【0054】
このように生成された第1マスタ鍵x0は、第1マスタ鍵管理手段13に出力され、第2マスタ鍵x′は、第2マスタ鍵送信手段14に出力される。
また、鍵生成手段11は、以下の式(2)に示すように、素数p,q、元g、要素y0,y′、および、ハッシュ関数H(・)からなる検証鍵VKを生成する。
【0055】
【数2】
【0056】
なお、検証鍵VKの要素y0,y′は、以下の式(3)により求められる値である。
【0057】
【数3】
【0058】
また、ハッシュ関数H(・)は、H:{0,1}*→Zq、すなわち、任意の長さのビット列({0,1}*)をZqの固定長の値に変換する関数である。このハッシュ関数には、例えば、SHA−1等のアルゴリズムを用いることができる。
この鍵生成手段11で生成された検証鍵VKは、検証鍵管理手段12に出力される。
【0059】
検証鍵管理手段(検証鍵記憶手段)12は、鍵生成手段11で生成された検証鍵を記憶し、管理するものである。具体的には、検証鍵管理手段12は、鍵生成手段11で生成された検証鍵を、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。
ここでは、検証鍵管理手段12は、検証鍵を受信端末7に配布する際に、操作者の指示により記憶媒体から検証鍵を読み出す。このように読み出された検証鍵は、例えば、図示を省略したICカード発行装置に出力されICカードに書き込まれた後、受信端末7に配布される。なお、検証鍵管理手段12は、セキュアな通信路(例えば、放送波)を介して検証鍵を配信することとしてもよい。
【0060】
また、検証鍵管理手段12は、後記する部分鍵生成装置20において部分鍵を生成する際に、記憶媒体から検証鍵を読み出す。この場合、検証鍵管理手段12は、部分鍵生成装置20、あるいは、操作者からの指示により記憶媒体から検証鍵を読み出し、部分鍵生成装置20に出力する。
【0061】
なお、検証鍵管理手段12は、記憶している検証鍵を公開情報として公開するものとし、署名鍵発行サーバ3やアプリケーションサーバ5から、ネットワークN1や内部ネットワークN2を介して取得あるいは参照可能であるものとする。
【0062】
第1マスタ鍵管理手段(第1マスタ鍵記憶手段)13は、鍵生成手段11で生成された第1マスタ鍵を記憶し、管理するものである。具体的には、第1マスタ鍵管理手段13は、鍵生成手段11で生成された第1マスタ鍵を、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。
【0063】
ここでは、第1マスタ鍵管理手段13は、部分鍵生成装置20において部分鍵を生成する際に、記憶媒体から第1マスタ鍵を読み出す。この場合、第1マスタ鍵管理手段13は、部分鍵生成装置20からの要求、あるいは、操作者からの指示により記憶媒体から第1マスタ鍵を読み出し、部分鍵生成装置20に出力する。
【0064】
第2マスタ鍵送信手段14は、内部ネットワークN2を介して、鍵生成手段11で生成された第2マスタ鍵を署名鍵発行サーバ3に送信するものである。
【0065】
(部分鍵生成装置〔署名鍵更新用部分鍵生成装置〕の構成)
部分鍵生成装置(署名鍵更新用部分鍵生成装置)20は、署名鍵の生成や更新に使用する鍵(部分鍵、差分部分鍵)を生成するとともに、失効した署名鍵のリストを示す失効リストを生成するものである。ここでは、部分鍵生成装置20は、パラメータ入力手段21と、部分鍵生成手段22と、部分鍵管理手段23と、部分鍵送信手段24と、更新鍵情報生成手段25と、更新鍵情報送信手段26と、失効リスト生成手段27と、失効リスト送信手段28とを備えている。
【0066】
パラメータ入力手段21は、部分鍵、差分部分鍵および失効リストを生成するための種々のパラメータを入力するものである。ここでは、パラメータ入力手段21には、図示を省略した入力手段から更新種別、更新識別子およびサービス提供者識別子が入力され、鍵生成装置10から第1マスタ鍵および検証鍵が入力される。
【0067】
更新種別は、署名鍵の発行、更新、失効の処理内容の指示を示す種別情報である。例えば、以下の表のように、更新種別の値に対して、処理内容として、署名鍵の発行、更新、失効を割り当てる。
【0068】
【表1】
【0069】
更新識別子は、署名鍵の更新回数を示す識別子である。この更新識別子は、予め定めた数(例えば、“0”)からの連続番号であって、署名鍵を更新する場合、現在の更新識別子に“1”を加算した値とする。
【0070】
サービス提供者識別子は、サービス提供者を一意に特定するために予め定めた識別子である。このサービス提供者識別子は、予め定めた数(例えば、“1”)からの連続番号であって、新たなサービス提供者を登録する場合、現在のサービス提供者識別子の最大値に“1”を加算した値とする。
このパラメータ入力手段21は、入力された更新種別、更新識別子、サービス提供者識別子、第1マスタ鍵および検証鍵を、部分鍵生成手段22に出力する。
【0071】
部分鍵生成手段22は、パラメータ入力手段21において入力された更新種別、更新識別子、サービス提供者識別子、第1マスタ鍵および検証鍵に基づいて、部分鍵を生成するものである。すなわち、部分鍵生成手段22は、サービス提供者ごとに付されたサービス提供者識別子から、更新識別子を用いて署名鍵の発行時または更新時に有効な識別子(有効識別子)を生成し、当該有効識別子に固有の部分鍵を生成する。
具体的には、部分鍵生成手段22は、Zqから乱数rをランダムに生成し、その乱数rと、検証鍵の一部(p,g)とに基づいて、受信端末7において部分鍵の正当性を示す情報の一部となる部分鍵検証情報vを、以下の式(4)により生成する。
【0072】
【数4】
【0073】
また、部分鍵生成手段22は、以下の式(5)に示すように、検証鍵の一部であるハッシュ関数H(・)により、署名鍵に対応する部分鍵検証情報vのハッシュ値cを生成する。ただし、「‖」は連結を示す。
【0074】
【数5】
【0075】
この式(5)で、iはサービス提供者識別子、jは更新識別子、nはサービス提供者の総数の予め定めた上限値である。この式(5)の(i+jn)、すなわち、(サービス提供者識別子+更新識別子×n)は、サービス提供者識別子に対応するサービス提供者において、発行後あるいは更新後の署名鍵を識別する識別子(有効識別子)である。なお、有効識別子として、その内容を示すため“i+jn”等の符号を付す場合があるが、この有効識別子は、“i+jn”等の演算を行った後の数値である。
そして、部分鍵生成手段22は、第1マスタ鍵x0と、検証鍵の一部(q)と、ハッシュ値cと、乱数rとに基づいて、以下の式(6)により、部分鍵xを生成する。
【0076】
【数6】
【0077】
このように、部分鍵生成手段22は、署名鍵の識別子(有効識別子)に対応した部分鍵を生成する。
この部分鍵生成手段22は、更新種別が“1〔署名鍵発行〕”の場合、生成した部分鍵を部分鍵管理手段23に出力する。
【0078】
また、部分鍵生成手段22は、更新種別が“2〔署名鍵更新〕”の場合、更新種別とともに、生成した部分鍵、部分鍵検証情報、検証鍵および有効識別子(i+jn)を、更新鍵情報生成手段25に出力する。
【0079】
なお、部分鍵生成手段22は、更新種別が“3〔署名鍵更新(サービス提供者の追加がある場合)〕”の場合、更新種別が“1〔署名鍵発行〕”の場合と同様に部分鍵を生成し、部分鍵管理手段23に出力した後、さらに、“2〔署名鍵更新〕”の場合と同様に、署名鍵を更新させるための部分鍵を生成し、部分鍵、部分鍵検証情報、検証鍵および有効識別子(i+jn)を、更新鍵情報生成手段25に出力する。
また、部分鍵生成手段22は、署名鍵の更新を行う場合(署名種別“2”,“3”の場合)、更新種別を失効リスト生成手段27に出力する。
【0080】
また、部分鍵生成手段22は、更新種別が“4(署名鍵失効)”の場合、部分鍵を生成せずに、入力されたサービス提供者識別子(失効させたいサービス提供者識別子)を失効リスト生成手段27に出力する。
【0081】
部分鍵管理手段(部分鍵記憶手段)23は、部分鍵生成手段22で生成された部分鍵を記憶し、管理するものである。具体的には、部分鍵管理手段23は、部分鍵生成手段22で生成された部分鍵x、部分鍵検証情報vおよび有効識別子(i+jn)を部分鍵情報として部分鍵送信手段24に出力するとともに、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。ここでは、部分鍵管理手段23は、署名鍵を更新する際に、更新鍵情報生成手段25からの要求により、管理(記憶)している部分鍵xを更新鍵情報生成手段25に出力する。
【0082】
部分鍵送信手段24は、部分鍵管理手段23の指示に基づいて、内部ネットワークN2を介して、部分鍵を署名鍵発行サーバ3に送信するものである。ここでは、部分鍵送信手段24は、部分鍵xとともに、部分鍵検証情報v(前記式(4)参照)と、部分鍵xを生成した際の有効識別子(i+jn)とを併せて、部分鍵情報(x,v,i+jn)として送信する。
【0083】
なお、部分鍵送信手段24が、署名鍵発行サーバ3に送信するのは、署名鍵を発行する段階であるため、更新識別子jは初期値(“0”)である。よって、ここでは、部分鍵送信手段24は、部分鍵情報(x,v,サービス提供者識別子i)が署名鍵発行サーバ3に送信されることになる。
【0084】
更新鍵情報生成手段25は、サービス提供者識別子ごとに署名鍵の更新のために新たに部分鍵生成手段22で生成された部分鍵と、部分鍵管理手段23で管理(記憶)されている更新前の部分鍵との差分をとることで、差分部分鍵を生成するものである。
具体的には、更新鍵情報生成手段25は、部分鍵管理手段23で管理(記憶)されている部分鍵xをx1、部分鍵生成手段22で生成された部分鍵xをx2としたとき、検証鍵の一部(q)に基づいて、差分部分鍵Δxを、以下の式(7)により生成する。
【0085】
【数7】
【0086】
このように生成された差分部分鍵Δxは、部分鍵検証情報vと有効識別子(i+jn)とともに、更新鍵情報送信手段26に出力される。
なお、更新鍵情報生成手段25は、後記する失効リスト生成手段27から、個別に署名鍵の更新(差分部分鍵の送信)を停止させたいサービス提供者識別子(有効識別子)を通知された場合、当該識別子を、図示を省略した記憶媒体に記憶しておき、該当するサービス提供者識別子(有効識別子)に対応する差分部分鍵の生成を行わないこととする。
【0087】
更新鍵情報送信手段26は、更新鍵情報生成手段25で生成された差分部分鍵Δxを、ネットワークN1を介して、アプリケーションサーバ5に送信するものである。なお、更新鍵情報送信手段26は、差分部分鍵Δxとともに、部分鍵検証情報vと、差分部分鍵Δxを生成した際の有効識別子(i+jn)とを併せて、差分部分鍵情報(Δx,v,i+jn)としてアプリケーションサーバ5に送信する。
【0088】
失効リスト生成手段27は、失効させたい署名鍵を特定するリスト(失効リスト;以下CRLという)を生成するものである。ここでは、失効リスト生成手段27は、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を第1要素としてCRLを生成する。
具体的には、失効リスト生成手段27は、更新種別が“2,3(署名鍵更新)”の場合、サービス提供者識別子の最大値と更新前の更新識別子で特定される最大の有効識別子(すなわち、サービス提供者識別子の最大値+更新前の更新識別子×サービス提供者数の上限値)を、最大失効識別子として、CRLの第1要素に記述する。
【0089】
また、失効リスト生成手段27は、更新種別が“4(署名鍵失効)”の場合、個別に失効させたいサービス提供者識別子に対応する有効識別子(すなわち、サービス提供者識別子+更新識別子×サービス提供者数の上限値)を、個別失効識別子として、CRLの第2要素以降に記述する。なお、CRLにおいて第1要素(最大失効識別子)、および、第2要素以降の各要素(個別失効識別子)を記述するフォーマットは、予め受信端末7において既知であるものとする。
【0090】
これによって、CRLの第1要素として記述された最大失効識別子以下の識別子に対応する署名鍵を一度に失効させることができるとともに、第2要素以降に記述された個別失効識別子に対応する署名鍵を個別に失効させることができる。
なお、最大失効識別子は、新たに生成する識別子よりも小さな値であればよいため、更新後の更新識別子×サービス提供者数の上限値としてもよい。
このように生成されたCRLは、失効リスト送信手段28に出力される。
【0091】
また、更新種別が“4(署名鍵失効)”の場合、差分部分鍵の送信を停止させるため、失効リスト生成手段27は、更新鍵情報生成手段25に失効させたいサービス提供者識別子(有効識別子)を通知することとする。
【0092】
失効リスト送信手段28は、失効リスト生成手段27で生成された失効リスト(CRL)を、ネットワークN1を介して、受信端末7に送信するものである。これによって、受信端末7において、アプリケーションが正規のサービス提供者から送信されたものであるか否かを認証することが可能になる。
【0093】
ここで、図17を参照して、更新識別子と署名鍵とCRLの最大失効識別子との関係について説明する。
図17(a)に示すように、更新識別子“0”のときに生成されたサービス提供者識別子1,2,…,m(有効識別子1,2,…,m)に対応する署名鍵がSK1,SK2,…,SKmの場合、CRLの第1要素である最大失効識別子は、サービス提供者識別子を示さない値、例えば“0”とする。
【0094】
そして、署名鍵の更新により、更新識別子“1”でサービス提供者識別子1,2,…,m(有効識別子1+n,2+n,…,m+n)に対応する署名鍵がSK1+n,SK2+n,…,SKm+nが生成される。このときの最大失効識別子は、更新識別子“0”の最大有効識別子(m)を含むように、{m}またはサービス提供者数の上限値{n}とする。
同様に、更新識別子“2”で署名鍵を更新する場合、最大失効識別子は、更新識別子“1”の最大有効識別子(m+n)を含むように、{m+n}またはサービス提供者数の上限値を更新識別子の値“2”で乗算した{2n}とする。
【0095】
なお、図17(a)では、(m+1),…,nや、(m+n+1),…,2n等、未使用の有効識別子が存在する。
そこで、これらの未使用の有効識別子をなくすため、図17(b)に示すように、署名鍵を生成する際に、更新前の署名鍵に対応する有効識別子、例えば、更新識別子“0”における最大有効識別子“m1”に“1”を加算した(m1+1)から署名鍵を生成し、そのときの最大失効識別子を{m1}としてもよい。
【0096】
〔署名鍵発行サーバの構成〕
次に、図3を参照(適宜図1参照)して、署名鍵発行サーバの構成について説明を行う。ここでは、署名鍵発行サーバ(署名鍵発行装置)3は、第2マスタ鍵受信手段31と、第2マスタ鍵管理手段32と、部分鍵受信手段33と、署名鍵生成手段34と、署名鍵出力手段35とを備えている。
【0097】
第2マスタ鍵受信手段31は、鍵管理サーバ1で生成された第2マスタ鍵を、内部ネットワークN2を介して受信するものである。この受信した第2マスタ鍵は、第2マスタ鍵管理手段32に出力される。
【0098】
第2マスタ鍵管理手段(第2マスタ鍵記憶手段)32は、第2マスタ鍵受信手段31で受信した第2マスタ鍵を記憶し、管理するものである。具体的には、第2マスタ鍵管理手段32は、第2マスタ鍵受信手段31で受信した第2マスタ鍵を、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。ここでは、第2マスタ鍵管理手段32は、署名鍵生成手段34からの要求により、管理(記憶)している第2マスタ鍵を署名鍵生成手段34に出力する。
【0099】
部分鍵受信手段33は、鍵管理サーバ1で生成された部分鍵(部分鍵情報)を、内部ネットワークN2を介して受信するものである。この受信した部分鍵(部分鍵情報)は、署名鍵生成手段34に出力される。
【0100】
署名鍵生成手段34は、第2マスタ鍵管理手段32で管理(記憶)されている第2マスタ鍵と、サービス提供者識別子ごとに部分鍵受信手段33で受信した部分鍵(部分鍵情報)とから、署名鍵を生成するものである。すなわち、署名鍵生成手段34は、部分鍵に第2マスタ鍵を加算することで、署名鍵を生成する。
具体的には、署名鍵生成手段34は、第2マスタ鍵管理手段32で管理(記憶)されている第2マスタ鍵x′と、部分鍵受信手段33で受信した部分鍵情報(部分鍵,部分鍵検証情報,サービス提供者識別子)に含まれている部分鍵xと、鍵管理サーバ1で公開情報として公開されている検証鍵の一部である素数qとに基づいて、以下の式(8)により、サービス提供者識別子iに対応する署名鍵SKiを生成する。
【0101】
【数8】
【0102】
このように生成された署名鍵SKiは、部分鍵検証情報vとサービス提供者識別子iとともに、署名鍵情報(SKi,v,i)として署名鍵出力手段35に出力される。
【0103】
署名鍵出力手段35は、署名鍵生成手段34で生成された署名鍵(署名鍵情報)を、外部に出力するものである。この署名鍵出力手段35は、例えば、CD−R等の記憶媒体の書き込み装置(図示せず)に署名鍵(署名鍵情報)を出力し、CD−R等に書き込みを行う。このように署名鍵(署名鍵情報)が書き込まれた記憶媒体は、オフラインでアプリケーションサーバ5に配布される。
【0104】
〔アプリケーションサーバの構成〕
次に、図4を参照(適宜図1参照)して、アプリケーションサーバの構成について説明を行う。ここでは、アプリケーションサーバ5は、署名鍵更新装置50と、署名生成装置60とを備えている。なお、署名鍵更新装置50と署名生成装置60とは、図示を省略した通信インタフェースによって通信可能に接続されているものとする。
【0105】
(署名鍵更新装置の構成)
署名鍵更新装置50は、サービス提供者に配布された署名鍵を、鍵管理サーバ1から送信される差分部分鍵(差分部分鍵情報)に基づいて更新するものである。ここでは、署名鍵更新装置50は、署名鍵入力手段51と、署名鍵管理手段52と、更新鍵情報受信手段53と、署名鍵更新手段54とを備えている。
【0106】
署名鍵入力手段51は、署名鍵発行サーバ3で生成された署名鍵(署名鍵情報)を入力するものである。この署名鍵入力手段51は、例えば、署名鍵(署名鍵情報)が書き込まれたCD−R等の記憶媒体から署名鍵(署名鍵情報)を読み出す読み出し装置(図示せず)を介して、署名鍵(署名鍵情報)を入力する。
ここで、署名鍵情報は、署名鍵と、部分鍵検証情報と、サービス提供者識別子とを含んでいる。この入力された署名鍵情報は、署名鍵管理手段52に出力される。
【0107】
署名鍵管理手段(署名鍵記憶手段)52は、署名鍵入力手段51で入力された署名鍵(署名鍵情報)を記憶し、管理するものである。具体的には、署名鍵管理手段52は、署名鍵入力手段51で入力された署名鍵(署名鍵情報)を、図示を省略した記憶媒体に書き込み、要求に応じて署名鍵(署名鍵情報)の読み出しや更新を行う。
ここでは、署名鍵管理手段52は、署名鍵更新手段54において署名鍵を更新する際に、署名鍵更新手段54からの要求により、署名鍵(署名鍵情報)を記憶媒体から読み出し、署名鍵更新手段54に出力する。また、署名鍵管理手段52は、更新された署名鍵を署名鍵更新手段54から取得し、記憶媒体において上書き保存する。
【0108】
また、署名鍵管理手段52は、署名生成装置60でアプリケーションに署名を付加する際に、署名生成装置60からの要求により、記憶媒体に記憶している署名鍵(署名鍵情報)を読み出し、署名生成装置60に出力する。
【0109】
更新鍵情報受信手段53は、鍵管理サーバ1で生成された差分部分鍵(差分部分鍵情報)を、ネットワークN1を介して受信するものである。この受信した差分部分鍵(差分部分鍵情報)は、署名鍵更新手段54に出力される。この差分部分鍵情報は、差分部分鍵と、部分鍵検証情報と、有効識別子とを含んでいる。
【0110】
署名鍵更新手段54は、更新鍵情報受信手段53で受信した差分部分鍵(差分部分鍵情報)に基づいて、署名鍵を更新するものである。すなわち、署名鍵更新手段54は、更新前の署名鍵に、差分部分鍵を加算することで、署名鍵を更新する。
具体的には、署名鍵更新手段54は、署名鍵管理手段52で管理(記憶)されている更新前の署名鍵をSKi+(j−1)nと、更新鍵情報受信手段53で受信した差分部分鍵情報に含まれている差分部分鍵Δxと、鍵管理サーバ1で公開情報として公開されている検証鍵の一部である素数qとに基づいて、以下の式(9)により、差分部分鍵情報に含まれている有効識別子(i+jn)に対応付けた新たな署名鍵SKi+jnを生成する。
【0111】
【数9】
【0112】
例えば、更新識別子jが“0”から“1”になった場合、有効識別子(i)に対応した署名鍵SKiから、有効識別子(i+n)に対応した署名鍵SKi+nが生成されることになる。このように、更新識別子が順次増加するごとに、有効識別子は、i,i+n,i+2n,…,i+mnと増加し、それぞれの有効識別子に対応する署名鍵SKi,SKi+n,SKi+2n,…,SKi+mnが順次生成されることになる。
このように生成された署名鍵SKi+jnは、差分部分鍵情報に含まれている部分鍵検証情報vとともに、有効識別子(i+jn)と対応付けて、署名鍵管理手段52に記憶される。
【0113】
(署名生成装置の構成)
署名生成装置60は、署名鍵更新装置50で管理されている署名鍵を用いて、アプリケーションに署名を付加するものである。ここでは、署名生成装置60は、アプリケーション入力手段61と、署名付加手段62と、アプリケーション送信手段63とを備えている。
【0114】
アプリケーション入力手段61は、外部からアプリケーションを入力するものである。このアプリケーション入力手段61は、例えば、サービス提供者内部のネットワークを介してアプリケーションを受信するものであってもよいし、記憶媒体に書き込まれたアプリケーションを読み出すものであってもよい。このアプリケーション入力手段61は、入力したアプリケーションを署名付加手段62に出力する。
【0115】
署名付加手段62は、アプリケーション入力手段61で入力したアプリケーションに、署名鍵を用いて、デジタル署名を付加するものである。すなわち、署名付加手段62は、サービス提供者ごとに固有の有効識別子を含んだハッシュ値を演算し、有効識別子固有の署名を生成して、アプリケーションに付加する。
具体的には、署名付加手段62は、公開情報として公開されている検証鍵の一部(p,g)に基づいて、Zqから乱数rsをランダムに生成し、以下の式(10)により、署名の正当性を検証するための情報の一部となる署名検証情報vsを生成する。
【0116】
【数10】
【0117】
また、署名付加手段62は、以下の式(11)に示すように、署名鍵管理手段52に記憶されている部分鍵検証情報vおよび有効識別子(i+jn)と、アプリケーション(ソフトウェア)Mと、式(10)で生成された署名検証情報vsとを連結し、公開されている検証鍵の一部であるハッシュ関数H(・)により、ハッシュ値csを生成する。
【0118】
【数11】
【0119】
そして、署名付加手段62は、ハッシュ値csと、乱数rsと、署名鍵管理手段52に記憶されている署名鍵SKi+jnと、公開されている検証鍵の一部(q)とに基づいて、以下の式(12)により、署名σsを生成する。
【0120】
【数12】
【0121】
そして、署名付加手段62は、アプリケーションMに、署名σsと、ハッシュ値csと、部分鍵検証情報vとからなる署名情報(σs,cs,v)と、署名鍵管理手段52に記憶されている有効識別子(i+jn)とを付加して、アプリケーション送信手段63に出力する。
【0122】
アプリケーション送信手段63は、署名付加手段62で署名(署名情報)および有効識別子が付加されたアプリケーション(署名付きアプリケーション)を、ネットワークN1を介して受信端末7に送信するものである。
【0123】
〔受信端末の構成〕
次に、図5を参照(適宜図1参照)して、受信端末の構成について説明を行う。ここでは、受信端末7は、失効リスト受信手段71と、失効リスト管理手段72と、検証鍵管理手段73と、アプリケーション受信手段74と、失効リスト検証手段75と、署名検証手段76と、アプリケーション管理手段77とを備えている。
【0124】
失効リスト受信手段71は、鍵管理サーバ1で生成された失効リスト(CRL)を、ネットワークN1を介して受信するものである。この受信したCRLは、失効リスト管理手段72に出力される。
【0125】
失効リスト管理手段(失効リスト記憶手段)72は、失効リスト受信手段71で受信したCRLを記憶し、管理するものである。具体的には、失効リスト管理手段72は、失効リスト受信手段71で受信したCRLを、図示を省略した記憶媒体に書き込み、要求に応じてCRLの読み出しや更新を行う。
ここでは、失効リスト管理手段72は、失効リスト検証手段75においてサービス提供者識別子(有効識別子)を検証する際に、失効リスト検証手段75からの要求により、CRLを記憶媒体から読み出し、失効リスト検証手段75に出力する。
また、失効リスト管理手段72は、新たに失効リスト受信手段71でCRLを受信した場合、記憶媒体に記憶されているCRLを更新する。
【0126】
検証鍵管理手段(検証鍵記憶手段)73は、鍵管理サーバ1で生成された検証鍵を記憶し、管理するものである。具体的には、検証鍵管理手段73は、例えば、ICカード等であって、予め検証鍵が書き込まれた記憶媒体である。この検証鍵管理手段73は、署名検証手段76からの要求によって検証鍵の読み出しを行う。
【0127】
アプリケーション受信手段74は、アプリケーションサーバ5から送信されるアプリケーション(署名付きアプリケーション)を、ネットワークN1を介して受信するものである。このアプリケーション受信手段74は、受信した署名付きアプリケーションを失効リスト検証手段75に出力する。
【0128】
失効リスト検証手段75は、失効リスト管理手段72で記憶されているCRLを参照して、署名付きアプリケーションに付加されているサービス提供者識別子(有効識別子)が有効であるか否かを検証するものである。
すなわち、失効リスト検証手段75は、署名付きアプリケーションに付加されている有効識別子(i+jn)が、CRLの第1要素に記述されている最大失効識別子以下である場合、署名付きアプリケーションに付加されている有効識別子(i+jn)に対応する署名鍵はすでに失効していると判定する。
【0129】
また、失効リスト検証手段75は、署名付きアプリケーションに付加されている有効識別子(i+jn)が、CRLの第2要素以降に記述されている個別失効識別子の1つと一致する場合、署名付きアプリケーションに付加されている有効識別子(i+jn)に対応する署名鍵はすでに失効していると判定する。
このように、失効リスト検証手段75は、署名付きアプリケーションに付加されている有効識別子(i+jn)に対応する署名鍵を失効していると判定した場合、図示を省略した表示装置に対してエラーメッセージを表示する。
【0130】
また、失効リスト検証手段75は、署名付きアプリケーションに付加されている有効識別子(i+jn)を有効と判定した場合、署名付きアプリケーションを署名検証手段76に出力する。
【0131】
署名検証手段76は、検証鍵管理手段73に記憶されている検証鍵を用いて、署名付きアプリケーションに付加されている署名を検証するものである。すなわち、署名検証手段76は、検証鍵を用いて予め定めた条件式で得られたハッシュ値が、署名に付加されているハッシュ値と一致するか否かにより署名の検証を行う。
具体的には、署名検証手段76は、以下の式(13)に示すように、アプリケーションに付加されている部分鍵検証情報vと有効識別子(i+jn)とを連結し、検証鍵管理手段73に記録されている検証鍵に含まれるハッシュ関数H(・)により、ハッシュ値c1を生成する。
【0132】
【数13】
【0133】
そして、署名検証手段76は、ハッシュ値c1と、検証鍵の一部(p,g,y0,y′)と、署名情報(σs,cs,v)とに基づいて、以下の式(14)の条件式が成り立つか否かにより、署名検証を行う。
【0134】
【数14】
【0135】
そして、署名検証手段76は、この式(14)が成り立つ場合のみ、付加された署名を正当な署名であると判定し、アプリケーション管理手段77に対して、署名付きアプリケーションを出力する。また、署名検証手段76は、署名が正当でないと判定した場合、図示を省略した表示装置に対してエラーメッセージを表示する。
【0136】
アプリケーション管理手段77は、署名検証手段76で署名が正当であると判定された署名付きアプリケーションを起動(復号、再生)あるいは蓄積するものである。
なお、アプリケーション管理手段77は、符号化されたアプリケーション(符号化データ)を復号、再生したり、一旦、ハードディスク等の記憶媒体にアプリケーションを蓄積した後に、再生したりする一般的な蓄積・再生手段であるため、ここでは、詳細な説明は省略する。
【0137】
[アプリケーション認証システムの動作]
次に、アプリケーション認証システムの動作について説明を行う。
〔鍵生成・署名鍵発行〕
最初に、図6を参照(適宜図2,図3参照)して、アプリケーション認証システムSにおける初期動作である鍵生成および署名鍵発行の動作について説明する。
まず、鍵管理サーバ1は、鍵生成装置10において、鍵生成手段11によって、署名鍵を生成するために必要となる2つのマスタ鍵(第1マスタ鍵、第2マスタ鍵)と、公開情報となる検証鍵とを生成する(ステップS1:マスタ鍵・検証鍵生成)。なお、このステップS1における鍵(マスタ鍵および検証鍵)の生成動作については、後で図7を参照して説明する。
【0138】
そして、鍵管理サーバ1は、検証鍵管理手段12によって、ステップS1で生成された検証鍵を記憶するとともに、検証鍵を公開する(ステップS2)。このステップS1で生成された検証鍵は、オフラインで、または、セキュアな通信路(例えば、放送波)を介して受信端末7に配布(配信)される(ステップとして図示せず)。
また、鍵管理サーバ1は、第1マスタ鍵管理手段13によって、ステップS1で生成された第1マスタ鍵を記憶する(ステップS3)。また、鍵管理サーバ1は、第2マスタ鍵送信手段14によって、ステップS1で生成された第2マスタ鍵を、署名鍵発行サーバ3に送信する(ステップS4)。
【0139】
一方、署名鍵発行サーバ3は、第2マスタ鍵受信手段31によって、第2マスタ鍵を受信する(ステップS5)。そして、第2マスタ鍵管理手段32によって、第2マスタ鍵を記憶する(ステップS6)。
以上の動作によって、署名鍵を生成するために必要となるマスタ鍵(第1マスタ鍵、第2マスタ鍵)と、署名鍵を検証するための検証鍵が生成される。
【0140】
その後、アプリケーション認証システムSは、サービス提供者に署名鍵を発行するために、以下の動作を行う。
すなわち、鍵管理サーバ1は、部分鍵生成装置20において、パラメータ入力手段21によって、外部からサービス提供者識別子を入力するとともに、ステップS2,S3で記憶されている検証鍵および第1マスタ鍵を取得し、部分鍵生成手段22によって、署名鍵を生成するための部分鍵を含む部分鍵情報を生成する(ステップS7:部分鍵生成)。なお、このステップS7における部分鍵生成動作については、後で図8を参照して説明する。
【0141】
そして、鍵管理サーバ1は、部分鍵管理手段23によって、ステップS7で生成された部分鍵(部分鍵情報)を記憶する(ステップS8)。
さらに、鍵管理サーバ1は、部分鍵送信手段24によって、ステップS7で生成された部分鍵(部分鍵情報)を、署名鍵発行サーバ3に送信する(ステップS9)。
【0142】
一方、署名鍵発行サーバ3は、部分鍵受信手段33によって、部分鍵(部分鍵情報)を受信する(ステップS10)。
そして、署名鍵発行サーバ3は、署名鍵生成手段34によって、ステップS10で受信した部分鍵(部分鍵情報)と、ステップS6で記憶した第2マスタ鍵とから、署名鍵を生成する(ステップS11:署名鍵生成)。なお、このステップS11における署名鍵生成動作については、後で図8を参照して説明する。このステップS11で生成された署名鍵は、オフラインでサービス提供者(アプリケーションサーバ5)に配布される(ステップとして図示せず)。
【0143】
以上の動作によって、署名鍵が生成され秘密情報としてサービス提供者で管理されることになる。
なお、サービス提供者(アプリケーションサーバ5)が複数存在する場合、署名鍵はそれに対応して複数生成されることになるが、その場合、ステップS7以降の動作がサービス提供者の数に応じて繰り返される。
【0144】
(鍵〔マスタ鍵・検証鍵〕生成)
次に、図7を参照(適宜図2参照)して、マスタ鍵(第1マスタ鍵、第2マスタ鍵)および検証鍵の生成動作について説明する。なお、ここで説明する動作は、図6で説明したステップS1の動作に相当し、鍵生成装置10の鍵生成手段11において動作する。
【0145】
まず、鍵生成手段11は、qが(p−1)の約数となる素数p,qを生成し(ステップS21)、その素数p,qに基づいて、乗法群Zp*の元gによって生成される部分群の位数がqとなるような生成元gを生成する(ステップS22)。そして、鍵生成手段11は、Zqからランダムにx,x′を選択する(ステップS23)。
そして、鍵生成手段11は、前記式(1)の演算を行うことで得たx0を第1マスタ鍵と設定する(ステップS24)。
また、鍵生成手段11は、ステップS23で選択されたx′を第2マスタ鍵として設定する(ステップS25)。
【0146】
その後、鍵生成手段11は、前記式(3)の演算により検証鍵の要素の一部(y0,y′)を算出し、p、q、g、y0,y′およびハッシュ関数H(・)からなる前記式(2)に示す検証鍵VKを生成する(ステップS26)。
以上の動作によって、鍵生成手段11は、署名鍵を生成するための2つのマスタ鍵である第1マスタ鍵x0および第2マスタ鍵x′と、公開情報となる検証鍵VKとを生成する。
【0147】
(署名鍵発行)
次に、図8を参照(適宜図2,図3参照)して、署名鍵を発行する際の主な動作について説明する。なお、図8(a)で説明する動作は、図6で説明したステップS7の部分鍵生成動作に相当し、鍵管理サーバ1の鍵生成装置10の部分鍵生成手段22において動作する。また、図8(b)で説明する動作は、図6で説明したステップS11の署名鍵生成動作に相当し、署名鍵発行サーバ3の署名鍵生成手段34において動作する。
【0148】
まず、図8(a)に示すように、部分鍵生成手段22は、Zqから乱数r1(r)をランダムに生成する(ステップS31)。そして、部分鍵生成手段22は、乱数r1(r)と、検証鍵の一部(p,g)とに基づいて、前記式(4)の演算により部分鍵検証情報v1(v)を生成する(ステップS32)。
さらに、部分鍵生成手段22は、部分鍵検証情報v1(v)と、有効識別子(ここでは、署名鍵の発行段階であるため、サービス提供者識別子i)とを連結し、前記式(5)により、ハッシュ値c1(c)を生成する(ステップS33)。
【0149】
その後、部分鍵生成手段22は、第1マスタ鍵x0と、検証鍵の一部(q)と、ハッシュ値c1(c)と、乱数r1(r)とに基づいて、前記式(6)により、部分鍵x1(x)を生成する(ステップS34)。
このように生成された部分鍵x1(x)は、部分鍵検証情報v1(v)と、サービス提供者識別子iとともに、部分鍵情報として署名鍵発行サーバ3に送信される。
【0150】
一方、図8(b)に示すように、署名鍵生成手段34は、事前に取得している第2マスタ鍵x′と、ステップS34で生成され送信された部分鍵情報に含まれている部分鍵x1(x)と、公開されている検証鍵の一部(q)とに基づいて、前記式(8)により、サービス提供者識別子iに対応する署名鍵SKiを生成する(ステップS41)。
このように生成された署名鍵SKiは、サービス提供者識別子iで特定されるサービス提供者にオフラインで配布される。
【0151】
〔署名鍵更新〕
次に、図9を参照(適宜図2,図4,図5参照)して、アプリケーション認証システムSにおける署名鍵の更新動作について説明する。
まず、鍵管理サーバ1は、部分鍵生成装置20において、パラメータ入力手段21によって、外部から更新種別、更新識別子およびサービス提供者識別子を入力するとともに、図6のステップS2,S3で記憶されている検証鍵および第1マスタ鍵を取得し、部分鍵生成手段22および更新鍵情報生成手段25によって、署名鍵を更新するための差分部分鍵を含む差分部分鍵情報を生成する(ステップS51:差分部分鍵生成)。なお、このステップS51における差分部分鍵生成動作については、後で図10を参照して説明する。
そして、鍵管理サーバ1は、更新鍵情報送信手段26によって、ステップS51で生成された差分部分鍵(差分部分鍵情報)を、アプリケーションサーバ5に送信する(ステップS52)。
【0152】
さらに、鍵管理サーバ1は、失効リスト生成手段27によって、更新前の有効識別子の最大値(最大失効識別子)を、第1要素に記述した失効リスト(CRL)を生成する(ステップS53)。なお、失効リスト生成手段27は、個別に失効させたいサービス提供者識別子が入力された場合、第2要素以降にそれらの識別子(個別失効識別子)を記述する。そして、鍵管理サーバ1は、失効リスト送信手段28によって、ステップS53で生成されたCRLを、受信端末7に送信する(ステップS54)。
【0153】
一方、アプリケーションサーバ5は、署名鍵更新装置50において、更新鍵情報受信手段53によって、差分部分鍵(差分部分鍵情報)を受信する(ステップS55)。
そして、アプリケーションサーバ5は、署名鍵更新手段54によって、署名鍵管理手段52で管理(記憶)されている更新前の署名鍵を、ステップS55で受信した差分部分鍵(差分部分鍵情報)に基づいて更新する(ステップS56:署名鍵更新)。このステップS56における署名鍵更新動作については、後で図10を参照して説明する。
【0154】
また、一方、受信端末7は、失効リスト受信手段71によって、失効リスト(CRL)を受信する(ステップS58)。そして、受信端末7は、失効リスト管理手段72によって、ステップS58で受信したCRLを記憶する(ステップS59)。
以上の動作によって、アプリケーションサーバ5内で署名鍵が更新され、更新前の署名鍵については失効した旨が、CRLによって、受信端末7に通知される。
【0155】
(差分部分鍵生成・署名鍵更新)
次に、図10を参照(適宜図2,図4参照)して、署名鍵を更新する際の主な動作について説明する。なお、図10(a)で説明する動作は、図9で説明したステップS51の差分部分鍵生成動作に相当し、鍵管理サーバ1の鍵生成装置10の部分鍵生成手段22および更新鍵情報生成手段25において動作する。また、図10(b)で説明する動作は、図9で説明したステップS56の署名鍵更新動作に相当し、アプリケーションサーバ5の署名鍵更新装置50の署名鍵更新手段54において動作する。
【0156】
まず、図10(a)に示すように、部分鍵生成手段22は、Zqから乱数r2(r)をランダムに生成する(ステップS61)。そして、部分鍵生成手段22は、乱数r2(r)と、検証鍵の一部(p,g)とに基づいて、前記式(4)の演算により部分鍵検証情報v2(v)を生成する(ステップS62)。
さらに、部分鍵生成手段22は、部分鍵検証情報v2(v)と、有効識別子(i+jn)とを連結し、前記式(5)により、ハッシュ値c2(c)を生成する(ステップS63)。
【0157】
そして、部分鍵生成手段22は、第1マスタ鍵x0と、検証鍵の一部(q)と、ハッシュ値c2(c)と、乱数r2(r)とに基づいて、前記式(6)により、部分鍵x2(x)を生成する(ステップS64)。
【0158】
その後、更新鍵情報生成手段25は、部分鍵管理手段23で管理(記憶)されている以前の部分鍵x1と、ステップS64で生成された部分鍵x2と、検証鍵の一部(q)とに基づいて、前記式(7)により、差分部分鍵Δxを生成する(ステップS65)。
このように生成された差分部分鍵Δxは、部分鍵検証情報v2(v)と、有効識別子(i+jn)とともに、差分部分鍵情報としてアプリケーションサーバ5に送信される。
【0159】
一方、図10(b)に示すように、署名鍵更新手段54は、署名鍵管理手段52で管理(記憶)されている更新前の署名鍵をSKi+(j−1)nと、ステップS65で生成され送信された差分部分鍵情報に含まれている差分部分鍵Δxと、鍵管理サーバ1で公開情報として公開されている検証鍵の一部(q)とに基づいて、前記式(9)により、新たな署名鍵SKi+jnを生成する(ステップS71)。
【0160】
このように生成された署名鍵SKi+jnは、差分部分鍵情報に含まれている部分鍵検証情報vとともに、有効識別子(i+jn)と対応付けて、署名鍵管理手段52に記憶される。これによって、アプリケーションサーバ5が保持する署名鍵(署名鍵情報)が更新されることになる。
【0161】
〔アプリケーション認証〕
次に、図11を参照(適宜図4,図5参照)して、アプリケーション認証システムSにおける署名を生成してアプリケーションに付加し、アプリケーションの受信側で署名を検証するアプリケーション認証動作について説明する。
【0162】
まず、アプリケーションサーバ5は、アプリケーション入力手段61によって、外部からアプリケーションを入力する(ステップS81)。
そして、アプリケーションサーバ5は、署名付加手段62によって、署名鍵管理手段52に記憶されている署名鍵情報に基づいて署名を生成する(ステップS82:署名生成)。なお、このステップS82における署名生成動作については、後で図12を参照して説明する。
【0163】
そして、アプリケーションサーバ5は、署名付加手段62によって、ステップS81で入力したアプリケーションに、ステップS82で生成した署名を付加する(ステップS83)。そして、アプリケーションサーバ5は、アプリケーション送信手段63によって、ステップS83で署名が付加された署名付きアプリケーションを受信端末7に送信する(ステップS84)。
【0164】
一方、受信端末7は、アプリケーション受信手段74によって、署名付きアプリケーションを受信する(ステップS85)。そして、受信端末7は、失効リスト検証手段75および署名検証手段76によって、署名付きアプリケーションに署名が正当なものであるか否かを検証する(ステップS86:署名検証)。なお、このステップS86における署名生成動作については、後で図12を参照して説明する。
【0165】
そして、受信端末7は、ステップS87において、検証結果として署名が正当であると判定された場合(ステップS87でYes)にのみ、アプリケーション管理手段77によって、アプリケーションの起動(復号、再生)あるいは蓄積を行う(ステップS88)。
一方、検証結果として署名が不正であると判定された場合(ステップS87でNo)、受信端末7は、アプリケーションの起動等を行わず、エラーメッセージを表示して処理を終了する。
以上の動作によって、正規のサービス提供者によって正当な署名が付加されたアプリケーションのみが受信端末7において、起動・蓄積されることになる。
【0166】
(署名生成・署名検証)
次に、図12を参照(適宜図4,図5参照)して、アプリケーション認証の主な動作について説明する。なお、図12(a)で説明する動作は、図11で説明したステップS82の署名生成動作に相当し、アプリケーションサーバ5の署名生成装置60の署名付加手段62において動作する。また、図12(b)で説明する動作は、図11で説明したステップS86の署名検証動作に相当し、受信端末7の失効リスト検証手段75および署名検証手段76において動作する。
【0167】
まず、図12(a)に示すように、署名付加手段62は、Zqから乱数rsをランダムに生成する(ステップS91)。そして、署名付加手段62は、乱数rsと、検証鍵の一部(p,g)とに基づいて、前記式(10)の演算により署名検証情報vsを生成する(ステップS92)。
【0168】
さらに、署名付加手段62は、署名鍵管理手段52に記憶されている部分鍵検証情報vと、署名検証情報vsと、有効識別子(i+jn)と、アプリケーションMとを連結し、前記式(11)により、ハッシュ値csを生成する(ステップS93)。
【0169】
その後、署名付加手段62は、ハッシュ値csと、乱数rsと、署名鍵管理手段52に記憶されている有効識別子(i+jn)に対応する署名鍵SKi+jnと、検証鍵の一部(q)とに基づいて、前記式(12)により、署名σsを生成する(ステップS94)。
このように生成された署名σsは、ハッシュ値csと、部分鍵検証情報vと、有効識別子(i+jn)とともに、アプリケーションMに付加されて署名付きアプリケーションが生成される。
【0170】
一方、図12(b)に示すように、失効リスト検証手段75は、署名付きアプリケーションに付加されている有効識別子(i+jn)が、CRLに含まれているか否かを判定する(ステップS101)。
ここで、有効識別子(i+jn)が、CRLに含まれている場合、すなわち、有効識別子(i+jn)がCRLの第1要素に記述されている最大失効識別子以下である場合、または、有効識別子(i+jn)が、CRLの第2要素以降に記述されている個別失効識別子の1つと一致する場合(ステップS101でYes)、不正な署名鍵に対応する署名が付加されているため、失効リスト検証手段75は、検証結果に署名が不正である旨を設定し(ステップS102)、署名検証動作を終了する。
【0171】
一方、有効識別子(i+jn)が、CRLに含まれていない場合(ステップS101でNo)、署名検証手段76が以下の動作を行う。
すなわち、署名検証手段76は、検証鍵管理手段73に記録されている検証鍵に含まれるハッシュ関数H(・)を用いて、前記式(13)によりハッシュ値c1を生成する(ステップS103)。
そして、署名検証手段76は、ハッシュ値c1と、検証鍵の一部(p,g,y0,y′)と、署名情報(σs,cs,v)とに基づいて、前記式(14)の条件式が成り立つか否かにより、署名σsの検証を行う(ステップS104)。
【0172】
ここで、前記式(14)の条件式が成り立つ場合(ステップS104でYes)、署名検証手段76は、検証結果に署名が正当である旨を設定する(ステップS105)。一方、前記式(14)の条件式が成り立たない場合(ステップS104でNo)、署名検証手段76は、検証結果に署名が正当でない旨を設定する(ステップS102)。
以上の手順によって、受信端末7は、アプリケーションに付加された署名を検証することができる。
【0173】
[署名鍵の更新と失効の例]
次に、図13〜図16を参照(適宜図1〜図5参照)して、アプリケーション認証システムにおける署名鍵の更新と失効の処理について具体的に説明する。
【0174】
(通常更新)
まず、図13を参照して、署名鍵を定期的に更新する処理について説明する。
図13に示すように、サービス提供者の数がmの場合、それぞれのサービス提供者には、1,2,…,mのサービス提供者識別子が付与される。そして、図6の署名鍵発行動作で説明したように、鍵管理サーバ1の部分鍵生成手段22が更新識別子“0”で生成した部分鍵を署名鍵発行サーバ3に送信し、署名鍵発行サーバ3の署名鍵生成手段34が、サービス提供者識別子1,2,…,mに対応する署名鍵SK1,SK2,…,SKmを生成する。
【0175】
このとき、失効すべき署名鍵は存在しないため、鍵管理サーバ1の失効リスト生成手段27は、CRLに、有効なサービス提供者識別子より小さい値(ここでは、“0”)を設定する。これによって、CRLを取得した受信端末7は、サービス提供者識別子1,2,…,mに対応する署名鍵SK1,SK2,…,SKmがすべて有効であると判定することができる。
【0176】
その後、署名鍵を更新する場合、更新識別子が1増加され、部分鍵生成手段22が、新たな更新識別子“1”で部分鍵を生成し、更新鍵情報生成手段25が、以前に生成した部分鍵との差分をとることで差分部分鍵を生成する。そして、アプリケーションサーバ5の署名鍵更新手段54が、差分部分鍵により署名鍵を更新する。このとき、鍵管理サーバ1は、アプリケーションサーバ5に対し、差分部分鍵と同時に有効識別子(サービス提供者識別子+更新識別子×サービス提供者数上限値)が通知されるため、それぞれのアプリケーションサーバ5の署名鍵更新手段54では、その有効識別子に対応して署名鍵を生成する。これによって、更新識別子が“0”から“1”になった場合、サービス提供者ごとのアプリケーションサーバ5に保持されている署名鍵SK1,SK2,…,SKmが、有効識別子1+n,2+n,…,m+nに対応する署名鍵SK1+n,SK2+n,…,SKm+nに更新される。
【0177】
このとき、失効すべき署名鍵は署名鍵SK1,SK2,…,SKmであるため、最大失効識別子として、mを第1要素に記述してCRL={m}を生成する。あるいは、(更新識別子“1”×サービス提供者数の上限値n)であるnを第1要素に記述してCRL={n}を生成する。これによって、CRLを取得した受信端末7は、CRL{m}または{n}によって、サービス提供者識別子1,2,…,mに対応する署名鍵SK1,SK2,…,SKmがすべて無効であると判定することができる。
このように、更新識別子を“0”,“1”,…と増加させて署名鍵を更新するとともに、CRLに更新後の有効識別子よりも小さい値を設定することで、更新前の署名鍵を一度に失効させることができる。
【0178】
(サービス提供者を追加する場合)
次に、図14を参照して、サービス提供者を追加する処理について説明する。ここでは、更新識別子“2”の署名鍵が配布されている状態で、m<t≦nとなるサービス提供者識別子tが割り当てられたサービス提供者を追加するものとする。
この場合、まず、図6の署名鍵発行動作で説明したように、鍵管理サーバ1の部分鍵生成手段22が更新識別子“0”で生成した部分鍵を署名鍵発行サーバ3に送信し、署名鍵発行サーバ3の署名鍵生成手段34が、サービス提供者識別子tに対応する署名鍵SKtを生成する。
【0179】
その後、更新識別子“3”の更新時に、サービス提供者識別子tの署名鍵SKtは、有効識別子(サービス提供者識別子t+更新識別子“3”×サービス提供者数上限値n)に対応する署名鍵SKt+3nに更新される。
このとき、鍵管理サーバ1の失効リスト生成手段27は、最大失効識別子として、更新前の有効識別子の最大値tと、更新前の更新識別子“2”と、サービス提供者数の上限値nで特定される有効識別子を第1要素に記述して、CRL={t+2n}を生成する。あるいは、(更新後の更新識別子“3”×サービス提供者数の上限値n)を第1要素に記述してCRL={3n}を生成する。
【0180】
なお、ここでは、新たに追加するサービス提供者の署名鍵として、更新識別子“0”に相当する署名鍵を生成することとしたが、現在有効な更新識別子に相当する署名鍵を生成することとしてもよい。例えば、図14において、更新識別子“2”のときに、サービス提供者識別子tの署名鍵を生成する場合、SKtの代わりにSKt+2nを生成することとしてもよい。
【0181】
(サービス提供者を失効させる場合)
次に、図15を参照して、特定のサービス提供者の署名鍵を失効させる処理について説明する。ここでは、更新識別子“1”の署名鍵を配信後に、あるサービス提供者識別子kとして定められたサービス提供者の署名鍵を失効させるものとする。
【0182】
この場合、鍵管理サーバ1の失効リスト生成手段27は、最大失効識別子として、更新前の有効識別子の最大値mを第1要素に記述し、個別失効識別子として、失効させたいサービス提供者識別子kの更新識別子“1”における有効識別子を第2要素に記述して、CRL={m,k+n}を生成する。あるいは、第1要素には、(現在の更新識別子“1”×サービス提供者数の上限値n)を第1要素に記述し、CRL={n,k+n}を生成する。
なお、更新識別子“2”以降の署名鍵の更新は、鍵管理サーバ1の更新鍵情報生成手段25において、サービス提供者識別子kに対応する差分部分鍵が生成されないため、CRLには個別失効識別子を記述する必要はなく、図14で説明した動作と同じである。
【0183】
(署名鍵の漏洩が発覚した場合)
次に、図16を参照して、特定のサービス提供者の署名鍵が漏洩した場合の署名鍵の更新と失効の処理について説明する。ここでは、更新識別子“1”においてサービス提供者識別子hの署名鍵が漏洩したものとする。
【0184】
この場合、図15で説明した処理と同様に、最大失効識別子として、更新前の有効識別子の最大値mを第1要素に記述し、個別失効識別子として、失効させたいサービス提供者識別子hの更新識別子“1”における有効識別子を第2要素に記述して、CRL={m,h+n}を生成する。あるいは、第1要素には、(現在の更新識別子“1”×サービス提供者数の上限値n)を第1要素に記述し、CRL={n,h+n}を生成する。
また、サービス提供者識別子hが割り当てられているサービス提供者には、新たにサービス提供者識別子h′を割り当てる。
以降の処理については、図14で新たにサービス提供者を追加する場合の処理と同様であるため説明を書略する。
【0185】
なお、図13〜図16では、図17(a)で説明した手法によって、署名鍵の更新、および、CRLの生成を行った例を説明したが、図17(b)で説明したように、有効識別子が連続するようにして、署名鍵の更新、および、CRLの生成を行ってもよいことはいうまでもない。
【0186】
以上説明したアプリケーション認証システムSによれば、放送局が鍵生成および鍵管理を行うとともに、サービス提供者の数によらず固定長の検証鍵を用いて署名の検証を行うことができる。また、最大失効識別子を用いることで、一度に複数の署名鍵を容易に失効させることができるとともに、署名鍵を容易に更新することができる。
【0187】
また、アプリケーション認証システムSは、マスタ鍵を分離して管理するため、一方のマスタ鍵が漏洩した場合であっても、もう一方のマスタ鍵がなければ署名鍵を更新することができないため、より安全にサービス提供者の認証を行うことができる。
【0188】
以上、本発明の実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、鍵管理サーバ1は、一般的なコンピュータを、前記した各手段として機能させるプログラム(鍵管理プログラム〔鍵生成プログラム、署名鍵更新用部分鍵生成プログラム〕)により動作させることで実現することができる。同様に、署名鍵発行サーバ3は、一般的なコンピュータを、前記した各手段として機能させるプログラム(署名鍵発行プログラム)により動作させることで実現することができる。
【0189】
また、アプリケーションサーバ5の署名鍵更新装置50は、一般的なコンピュータを、前記した各手段として機能させるプログラム(署名鍵更新プログラム)により動作させることで実現することができ、署名生成装置60は、一般的なコンピュータを、前記した各手段として機能させるプログラム(アプリケーション署名付加プログラム)により動作させることで実現することができる。さらに、受信端末7は、一般的なコンピュータを、前記した各手段として機能させるプログラム(アプリケーション認証プログラム)により動作させることで実現することができる。
【0190】
なお、ここでは、Strong Key-Insulated署名を用いてシステムを構成したが、IDベース署名(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.)を用いて、本発明の署名鍵の更新や失効を行うシステムを実現することも可能である。
【0191】
[アプリケーション認証システムの他の構成(IDベース署名)]
以下、IDベース署名を用いた本発明の他の実施形態について説明する。
図18に示すように、IDベース署名を用いて本発明を実施した場合、アプリケーション認証システムSBは、放送局内に備えた鍵管理サーバ(鍵管理装置)1Bと、サービス提供者(サービス提供事業者)内に備えたアプリケーションサーバ5Bと、ユーザ宅内に備えた(あるいは、ユーザが携帯する)受信端末7とで構成される。
【0192】
IDベース署名は、部分鍵という概念は存在せず、1つのマスタ鍵とID(サービス提供者識別子〔有効識別子〕)から署名鍵が生成される。そこで、アプリケーション認証システムSBは、図1で説明したアプリケーション認証システムSから署名鍵発行サーバ3を省き、鍵管理サーバ1の鍵生成装置10および部分鍵生成装置20を、鍵生成装置10Bおよび署名鍵生成装置20Bとして鍵管理サーバ1Bを構成するとともに、アプリケーションサーバ5の署名鍵更新装置50を新たな署名鍵更新装置50Bとしてアプリケーションサーバ5Bを構成している。なお、受信端末7は、図1と同一のものである。
【0193】
〔鍵管理サーバの構成〕
まず、図19を参照(適宜図18参照)して、鍵管理サーバの構成について説明を行う。ここでは、鍵管理サーバ(鍵管理装置)1Bは、鍵生成装置10Bと、署名鍵生成装置20Bとを備えている。なお、鍵生成装置10Bと署名鍵生成装置20Bとは、図示を省略した通信インタフェースによって通信可能に接続されているものとする。
【0194】
(鍵生成装置の構成)
鍵生成装置10Bは、署名鍵を生成するためのマスタ鍵と、署名鍵を検証するための検証鍵とを生成し、管理(記憶)するものである。ここでは、鍵生成装置10Bは、鍵生成手段11Bと、検証鍵管理手段12と、マスタ鍵管理手段13Bとを備えている。なお、検証鍵管理手段12は、図2で説明したものと同一であるため、説明を省略する。
【0195】
鍵生成手段11Bは、マスタ鍵と検証鍵とを生成するものである。ここでは、鍵生成手段11Bは、IDベース署名方式によりマスタ鍵と検証鍵とを生成する。この鍵生成手段11Bは、生成した検証鍵を検証鍵管理手段12に出力し、生成したマスタ鍵をマスタ鍵管理手段13Bに出力する。
【0196】
マスタ鍵管理手段13Bは、鍵生成手段11Bで生成されたマスタ鍵を記憶し、管理するものである。このマスタ鍵管理手段13Bは、図2で説明した第1マスタ鍵管理手段13が管理する第1マスタ鍵と同様に、マスタ鍵を管理する。
【0197】
(署名鍵生成装置の構成)
署名鍵生成装置20Bは、署名鍵の生成、ならびに、署名鍵を更新する際に使用する鍵情報を生成するとともに、失効した署名鍵のリストを示す失効リストを生成するものである。ここでは、署名鍵生成装置20Bは、パラメータ入力手段21と、署名鍵生成手段22Bと、署名鍵管理手段23Bと、署名鍵送信手段24Bと、更新鍵情報生成手段25Bと、更新鍵情報送信手段26Bと、失効リスト生成手段27と、失効リスト送信手段28とを備えている。
【0198】
パラメータ入力手段21、失効リスト生成手段27および失効リスト送信手段28は、図2で説明した部分鍵生成装置20と同一の構成であるため説明を省略する。
前記したように、IDベース署名は、部分鍵という概念は存在せず、1つのマスタ鍵とID(サービス提供者識別子〔有効識別子〕)から署名鍵が生成されるため、ここでは、図2に示した部分鍵生成手段22、部分鍵管理手段23および部分鍵送信手段24を、それぞれ、署名鍵生成手段22B、署名鍵管理手段23Bおよび署名鍵送信手段24Bとして構成している。
すなわち、署名鍵生成装置20Bは、署名鍵生成手段22Bによって、IDベース署名方式によって署名鍵を生成し、署名鍵管理手段23Bで署名鍵を管理(記憶)するとともに、署名鍵送信手段24Bによって、アプリケーションサーバ5Bに署名鍵を送信する。
【0199】
また、ここでは、図2に示した更新鍵情報生成手段25および更新鍵情報送信手段26を、それぞれ、更新鍵情報生成手段25Bおよび更新鍵情報送信手段26Bして構成している。
この更新鍵情報生成手段25Bおよび更新鍵情報送信手段26Bにおいても、図2に示した更新鍵情報生成手段25および更新鍵情報送信手段26が、部分鍵の差分を求めてアプリケーションサーバ5に送信しているのに対し、署名鍵の差分を求めてアプリケーションサーバ5Bに送信している点のみが異なっている。
【0200】
〔アプリケーションサーバの構成〕
次に、図20を参照(適宜図18参照)して、アプリケーションサーバの構成について説明を行う。ここでは、アプリケーションサーバ5Bは、署名鍵更新装置50Bと、署名生成装置60とを備えている。署名生成装置60は、図4で説明したものと同一のものであるため、説明を省略する。
【0201】
署名鍵更新装置50Bは、サービス提供者に配布された署名鍵を、鍵管理サーバ1Bから送信される差分署名鍵(差分署名鍵情報)に基づいて更新するものである。ここでは、署名鍵更新装置50Bは、署名鍵入力手段51と、署名鍵管理手段52と、更新鍵情報受信手段53Bと、署名鍵更新手段54Bとを備えている。なお、署名鍵入力手段51および署名鍵管理手段52は、図4で説明したものと同一のものである。
【0202】
また、更新鍵情報受信手段53Bおよび署名鍵更新手段54Bは、図4で説明した更新鍵情報受信手段53および署名鍵更新手段54が差分部分鍵を受信して署名鍵を更新したのに対し、差分署名鍵を受信して署名鍵を更新する点のみが異なっている。なお、署名鍵更新手段54Bは、一般的なIDベース署名方式により、差分署名鍵を用いて署名鍵を更新する。
このように、本発明は、サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報であるサービス提供者固有の鍵であって順次更新される署名鍵とを用いた署名方式において、一度に複数の署名鍵を容易に失効させることができるとともに、署名鍵を容易に更新することができる。
【符号の説明】
【0203】
S アプリケーション認証システム
1 鍵管理サーバ(鍵管理装置)
10 鍵生成装置
11 鍵生成手段
12 検証鍵管理手段(検証鍵記憶手段)
13 第1マスタ鍵管理手段(第1マスタ鍵記憶手段)
14 第2マスタ鍵送信手段
20 部分鍵生成装置(署名鍵更新用部分鍵生成装置)
21 パラメータ入力手段
22 部分鍵生成手段
23 部分鍵管理手段(部分鍵記憶手段)
24 部分鍵送信手段
25 更新鍵情報生成手段
26 更新鍵情報送信手段
27 失効リスト生成手段
28 失効リスト送信手段
3 署名鍵発行サーバ(署名鍵発行装置)
31 第2マスタ鍵受信手段
32 第2マスタ鍵管理手段(第2マスタ鍵記憶手段)
33 部分鍵受信手段
34 署名鍵生成手段
35 署名鍵出力手段
5 アプリケーションサーバ
50 署名鍵更新装置
51 署名鍵入力手段
52 署名鍵管理手段(署名鍵記憶手段)
53 更新鍵情報受信手段
54 署名鍵更新手段
60 署名生成装置
61 アプリケーション入力手段
62 署名付加手段
63 アプリケーション送信手段
7 受信端末
71 失効リスト受信手段
72 失効リスト管理手段(失効リスト記憶手段)
73 検証鍵管理手段(検証鍵記憶手段)
74 アプリケーション受信手段
75 失効リスト検証手段
76 署名検証手段
77 アプリケーション管理手段
【特許請求の範囲】
【請求項1】
サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに備えられ、前記署名鍵を更新するための鍵情報を前記署名方式により生成する鍵管理装置において、
前記サービス提供者ごとに前記署名鍵に対応して付される有効識別子であって、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、前記鍵情報を生成する更新鍵情報生成手段と、
前記サービス提供者ごとの更新後の有効識別子とともに、前記鍵情報を前記アプリケーションサーバに送信する更新鍵情報送信手段と、
前記更新前の有効識別子と、前記更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段と、
前記失効リストを前記受信端末に送信する失効リスト送信手段と、
を備えることを特徴とする鍵管理装置。
【請求項2】
サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに備えられ、前記署名鍵を更新するための鍵情報を前記署名方式により生成する鍵管理装置を制御するコンピュータを、
前記サービス提供者ごとに前記署名鍵に対応して付される有効識別子であって、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、前記鍵情報を生成する更新鍵情報生成手段、
前記サービス提供者ごとの更新後の有効識別子とともに、前記鍵情報を前記アプリケーションサーバに送信する更新鍵情報送信手段、
前記更新前の有効識別子と、前記更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段、
前記失効リストを前記受信端末に送信する失効リスト送信手段、
として機能させることを特徴とする鍵管理プログラム。
【請求項3】
サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって、鍵管理装置によって生成された鍵情報によって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに用いられる前記受信端末であって、
前記検証鍵を予め記憶する検証鍵記憶手段と、
前記鍵管理装置から、前記サービス提供者ごとに付される有効識別子であって、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信する失効リスト受信手段と、
この失効リスト受信手段で受信した失効リストを記憶する失効リスト記憶手段と、
前記アプリケーションサーバから、前記署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信するアプリケーション受信手段と、
前記失効リスト記憶手段に記憶されている失効リストに基づいて、前記アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する失効リスト検証手段と、
前記検証鍵記憶手段に記憶されている検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段と、
前記失効リスト検証手段および前記署名検証手段において、前記有効識別子が有効で、かつ、前記署名が正当である場合に、前記アプリケーションの起動または蓄積を行うアプリケーション管理手段と、
を備えていることを特徴とする受信端末。
【請求項4】
サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって、鍵管理装置によって生成された鍵情報によって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに用いられる前記受信端末を制御するコンピュータを、
前記鍵管理装置から、前記サービス提供者ごとに付される有効識別子であって、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信し失効リスト記憶手段に記憶する失効リスト受信手段、
前記アプリケーションサーバから、前記署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信するアプリケーション受信手段、
前記失効リスト記憶手段に記憶されている失効リストに基づいて、前記アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する失効リスト検証手段、
予め検証鍵記憶手段に記憶されている検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段、
前記失効リスト検証手段および前記署名検証手段において、前記有効識別子が有効で、かつ、前記署名が正当である場合に、前記アプリケーションの起動または蓄積を行うアプリケーション管理手段、
として機能させることを特徴とするアプリケーション認証プログラム。
【請求項5】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵更新用部分鍵生成装置であって、
前記サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、前記検証鍵および前記第1マスタ鍵から、前記サービス提供者ごとの有効識別子に対応した前記部分鍵を生成する部分鍵生成手段と、
この部分鍵生成手段で生成された部分鍵を前記有効識別子に対応付けて記憶する部分鍵記憶手段と、
前記有効識別子を付加して、前記部分鍵を前記署名鍵発行装置に送信する部分鍵送信手段と、
前記部分鍵生成手段で生成された部分鍵と、前記部分鍵記憶手段に記憶されている更新前の部分鍵との差分により差分部分鍵を生成する更新鍵情報生成手段と、
前記サービス提供者識別子ごとの更新後の有効識別子とともに、前記差分部分鍵を前記アプリケーションサーバに送信する更新鍵情報送信手段と、
前記更新前の有効識別子と、前記更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段と、
前記失効リストを前記受信端末に送信する失効リスト送信手段と、
を備えることを特徴とする署名鍵更新用部分鍵生成装置。
【請求項6】
前記部分鍵生成手段は、前記署名鍵の更新回数を示す更新識別子に前記サービス提供者の予め定めた総数の上限値を乗算し、前記サービス提供者識別子に加算することで、前記サービス提供者ごとに固有の前記有効識別子を演算し、前記部分鍵を生成することを特徴とする請求項5に記載の署名鍵更新用部分鍵生成装置。
【請求項7】
前記失効リスト生成手段は、更新前の更新識別子に前記サービス提供者の予め定めた総数の上限値を乗算し、前記サービス提供者識別子の最大値に加算した値を、前記境界を区分する値とすることを特徴とする請求項6に記載の署名鍵更新用部分鍵生成装置。
【請求項8】
前記失効リスト生成手段は、更新後の更新識別子に前記サービス提供者の予め定めた総数の上限値を乗算した値を、前記境界を区分する値とすることを特徴とする請求項6に記載の署名鍵更新用部分鍵生成装置。
【請求項9】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵更新用部分鍵生成装置を制御するコンピュータを、
前記サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、前記検証鍵および前記第1マスタ鍵から、前記サービス提供者ごとの有効識別子に対応した前記部分鍵を生成して部分鍵記憶手段に記憶する部分鍵生成手段、
前記有効識別子を付加して、前記部分鍵を前記署名鍵発行装置に送信する部分鍵送信手段、
前記部分鍵生成手段で生成された部分鍵と、前記部分鍵記憶手段に記憶されている更新前の部分鍵との差分により差分部分鍵を生成する更新鍵情報生成手段、
前記サービス提供者識別子ごとの更新後の有効識別子とともに、前記差分部分鍵を前記アプリケーションサーバに送信する更新鍵情報送信手段、
前記更新前の有効識別子と、前記更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段、
前記失効リストを前記受信端末に送信する失効リスト送信手段、
として機能させることを特徴とする署名鍵更新用部分鍵生成プログラム。
【請求項10】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵発行装置であって、
前記鍵生成装置から、前記サービス提供者固有の前記第2マスタ鍵を受信する第2マスタ鍵受信手段と、
前記第2マスタ鍵を記憶する第2マスタ鍵記憶手段と、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、前記部分鍵とを受信する部分鍵受信手段と、
前記第2マスタ鍵記憶手段に記憶されている前記第2マスタ鍵と、前記部分鍵受信手段で受信した前記部分鍵とを用いて、前記有効識別子に対応する署名鍵を生成する署名鍵生成手段と、
を備えることを特徴とする署名鍵発行装置。
【請求項11】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵発行装置を制御するコンピュータを、
前記鍵生成装置から、前記サービス提供者固有の前記第2マスタ鍵を受信して第2マスタ鍵記憶手段に記憶する第2マスタ鍵受信手段、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、前記部分鍵とを受信する部分鍵受信手段、
前記第2マスタ鍵記憶手段に記憶されている前記第2マスタ鍵と、前記部分鍵受信手段で受信した前記部分鍵とを用いて、前記有効識別子に対応する署名鍵を生成する署名鍵生成手段、
として機能させることを特徴とする署名鍵発行プログラム。
【請求項12】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記アプリケーションサーバであって、
前記署名鍵発行装置で生成された署名鍵を記憶する署名鍵記憶手段と、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、前記差分部分鍵とを受信する更新鍵情報受信手段と、
この更新鍵情報受信手段で受信した差分部分鍵を用いて、前記署名鍵記憶手段に記憶されている署名鍵を前記有効識別子と対応付けて更新する署名鍵更新手段と、
前記署名鍵記憶手段に記憶されている署名鍵を用いて、前記有効識別子に対応する署名を生成し、前記アプリケーションに付加する署名付加手段と、
この署名付加手段で前記署名が付加されたアプリケーションを前記受信端末に送信するアプリケーション送信手段と、
を備えることを特徴とするアプリケーションサーバ。
【請求項13】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記アプリケーションサーバを制御するコンピュータを、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、前記差分部分鍵とを受信する更新鍵情報受信手段、
この更新鍵情報受信手段で受信した差分部分鍵を用いて、署名鍵記憶手段に記憶されている前記署名鍵発行装置で生成された署名鍵を前記有効識別子と対応付けて更新する署名鍵更新手段、
前記署名鍵記憶手段に記憶されている署名鍵を用いて、前記有効識別子に対応する署名を生成し、前記アプリケーションに付加する署名付加手段、
この署名付加手段で前記署名が付加されたアプリケーションを前記受信端末に送信するアプリケーション送信手段、
として機能させることを特徴とするアプリケーション署名付加プログラム。
【請求項14】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記受信端末であって、
前記鍵生成装置で生成された検証鍵を記憶する検証鍵記憶手段と、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信する失効リスト受信手段と、
この失効リスト受信手段で受信した失効リストを記憶する失効リスト記憶手段と、
前記アプリケーションサーバから、前記署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信するアプリケーション受信手段と、
前記失効リスト記憶手段に記憶されている失効リストに基づいて、前記アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する失効リスト検証手段と、
前記検証鍵記憶手段に記憶されている検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段と、
前記失効リスト検証手段および前記署名検証手段において、前記有効識別子が有効で、かつ、前記署名が正当である場合に、前記アプリケーションの起動または蓄積を行うアプリケーション管理手段と、
を備えていることを特徴とする受信端末。
【請求項15】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記受信端末を制御するコンピュータを、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信し失効リスト記憶手段に記憶する失効リスト受信手段、
前記アプリケーションサーバから、前記署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信するアプリケーション受信手段、
前記失効リスト記憶手段に記憶されている失効リストに基づいて、前記アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する失効リスト検証手段、
予め検証鍵記憶手段に記憶されている前記鍵生成装置で生成された検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段、
前記失効リスト検証手段および前記署名検証手段において、前記有効識別子が有効で、かつ、前記署名が正当である場合に、前記アプリケーションの起動または蓄積を行うアプリケーション管理手段、
として機能させることを特徴とするアプリケーション認証プログラム。
【請求項1】
サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに備えられ、前記署名鍵を更新するための鍵情報を前記署名方式により生成する鍵管理装置において、
前記サービス提供者ごとに前記署名鍵に対応して付される有効識別子であって、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、前記鍵情報を生成する更新鍵情報生成手段と、
前記サービス提供者ごとの更新後の有効識別子とともに、前記鍵情報を前記アプリケーションサーバに送信する更新鍵情報送信手段と、
前記更新前の有効識別子と、前記更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段と、
前記失効リストを前記受信端末に送信する失効リスト送信手段と、
を備えることを特徴とする鍵管理装置。
【請求項2】
サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに備えられ、前記署名鍵を更新するための鍵情報を前記署名方式により生成する鍵管理装置を制御するコンピュータを、
前記サービス提供者ごとに前記署名鍵に対応して付される有効識別子であって、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、前記鍵情報を生成する更新鍵情報生成手段、
前記サービス提供者ごとの更新後の有効識別子とともに、前記鍵情報を前記アプリケーションサーバに送信する更新鍵情報送信手段、
前記更新前の有効識別子と、前記更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段、
前記失効リストを前記受信端末に送信する失効リスト送信手段、
として機能させることを特徴とする鍵管理プログラム。
【請求項3】
サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって、鍵管理装置によって生成された鍵情報によって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに用いられる前記受信端末であって、
前記検証鍵を予め記憶する検証鍵記憶手段と、
前記鍵管理装置から、前記サービス提供者ごとに付される有効識別子であって、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信する失効リスト受信手段と、
この失効リスト受信手段で受信した失効リストを記憶する失効リスト記憶手段と、
前記アプリケーションサーバから、前記署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信するアプリケーション受信手段と、
前記失効リスト記憶手段に記憶されている失効リストに基づいて、前記アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する失効リスト検証手段と、
前記検証鍵記憶手段に記憶されている検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段と、
前記失効リスト検証手段および前記署名検証手段において、前記有効識別子が有効で、かつ、前記署名が正当である場合に、前記アプリケーションの起動または蓄積を行うアプリケーション管理手段と、
を備えていることを特徴とする受信端末。
【請求項4】
サービス提供者ごとのアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報である前記サービス提供者固有の鍵であって、鍵管理装置によって生成された鍵情報によって順次更新される署名鍵とを用いた署名方式によって、アプリケーションサーバが前記アプリケーションに署名を付加して受信端末に配信するアプリケーション認証システムに用いられる前記受信端末を制御するコンピュータを、
前記鍵管理装置から、前記サービス提供者ごとに付される有効識別子であって、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信し失効リスト記憶手段に記憶する失効リスト受信手段、
前記アプリケーションサーバから、前記署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信するアプリケーション受信手段、
前記失効リスト記憶手段に記憶されている失効リストに基づいて、前記アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する失効リスト検証手段、
予め検証鍵記憶手段に記憶されている検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段、
前記失効リスト検証手段および前記署名検証手段において、前記有効識別子が有効で、かつ、前記署名が正当である場合に、前記アプリケーションの起動または蓄積を行うアプリケーション管理手段、
として機能させることを特徴とするアプリケーション認証プログラム。
【請求項5】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵更新用部分鍵生成装置であって、
前記サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、前記検証鍵および前記第1マスタ鍵から、前記サービス提供者ごとの有効識別子に対応した前記部分鍵を生成する部分鍵生成手段と、
この部分鍵生成手段で生成された部分鍵を前記有効識別子に対応付けて記憶する部分鍵記憶手段と、
前記有効識別子を付加して、前記部分鍵を前記署名鍵発行装置に送信する部分鍵送信手段と、
前記部分鍵生成手段で生成された部分鍵と、前記部分鍵記憶手段に記憶されている更新前の部分鍵との差分により差分部分鍵を生成する更新鍵情報生成手段と、
前記サービス提供者識別子ごとの更新後の有効識別子とともに、前記差分部分鍵を前記アプリケーションサーバに送信する更新鍵情報送信手段と、
前記更新前の有効識別子と、前記更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段と、
前記失効リストを前記受信端末に送信する失効リスト送信手段と、
を備えることを特徴とする署名鍵更新用部分鍵生成装置。
【請求項6】
前記部分鍵生成手段は、前記署名鍵の更新回数を示す更新識別子に前記サービス提供者の予め定めた総数の上限値を乗算し、前記サービス提供者識別子に加算することで、前記サービス提供者ごとに固有の前記有効識別子を演算し、前記部分鍵を生成することを特徴とする請求項5に記載の署名鍵更新用部分鍵生成装置。
【請求項7】
前記失効リスト生成手段は、更新前の更新識別子に前記サービス提供者の予め定めた総数の上限値を乗算し、前記サービス提供者識別子の最大値に加算した値を、前記境界を区分する値とすることを特徴とする請求項6に記載の署名鍵更新用部分鍵生成装置。
【請求項8】
前記失効リスト生成手段は、更新後の更新識別子に前記サービス提供者の予め定めた総数の上限値を乗算した値を、前記境界を区分する値とすることを特徴とする請求項6に記載の署名鍵更新用部分鍵生成装置。
【請求項9】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵更新用部分鍵生成装置を制御するコンピュータを、
前記サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子に対応付けて、前記検証鍵および前記第1マスタ鍵から、前記サービス提供者ごとの有効識別子に対応した前記部分鍵を生成して部分鍵記憶手段に記憶する部分鍵生成手段、
前記有効識別子を付加して、前記部分鍵を前記署名鍵発行装置に送信する部分鍵送信手段、
前記部分鍵生成手段で生成された部分鍵と、前記部分鍵記憶手段に記憶されている更新前の部分鍵との差分により差分部分鍵を生成する更新鍵情報生成手段、
前記サービス提供者識別子ごとの更新後の有効識別子とともに、前記差分部分鍵を前記アプリケーションサーバに送信する更新鍵情報送信手段、
前記更新前の有効識別子と、前記更新後の有効識別子との境界を区分する値を要素として失効リストを生成する失効リスト生成手段、
前記失効リストを前記受信端末に送信する失効リスト送信手段、
として機能させることを特徴とする署名鍵更新用部分鍵生成プログラム。
【請求項10】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵発行装置であって、
前記鍵生成装置から、前記サービス提供者固有の前記第2マスタ鍵を受信する第2マスタ鍵受信手段と、
前記第2マスタ鍵を記憶する第2マスタ鍵記憶手段と、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、前記部分鍵とを受信する部分鍵受信手段と、
前記第2マスタ鍵記憶手段に記憶されている前記第2マスタ鍵と、前記部分鍵受信手段で受信した前記部分鍵とを用いて、前記有効識別子に対応する署名鍵を生成する署名鍵生成手段と、
を備えることを特徴とする署名鍵発行装置。
【請求項11】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記署名鍵発行装置を制御するコンピュータを、
前記鍵生成装置から、前記サービス提供者固有の前記第2マスタ鍵を受信して第2マスタ鍵記憶手段に記憶する第2マスタ鍵受信手段、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付された初期のサービス提供者識別子である有効識別子、または、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、前記部分鍵とを受信する部分鍵受信手段、
前記第2マスタ鍵記憶手段に記憶されている前記第2マスタ鍵と、前記部分鍵受信手段で受信した前記部分鍵とを用いて、前記有効識別子に対応する署名鍵を生成する署名鍵生成手段、
として機能させることを特徴とする署名鍵発行プログラム。
【請求項12】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記アプリケーションサーバであって、
前記署名鍵発行装置で生成された署名鍵を記憶する署名鍵記憶手段と、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、前記差分部分鍵とを受信する更新鍵情報受信手段と、
この更新鍵情報受信手段で受信した差分部分鍵を用いて、前記署名鍵記憶手段に記憶されている署名鍵を前記有効識別子と対応付けて更新する署名鍵更新手段と、
前記署名鍵記憶手段に記憶されている署名鍵を用いて、前記有効識別子に対応する署名を生成し、前記アプリケーションに付加する署名付加手段と、
この署名付加手段で前記署名が付加されたアプリケーションを前記受信端末に送信するアプリケーション送信手段と、
を備えることを特徴とするアプリケーションサーバ。
【請求項13】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記アプリケーションサーバを制御するコンピュータを、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子と、前記差分部分鍵とを受信する更新鍵情報受信手段、
この更新鍵情報受信手段で受信した差分部分鍵を用いて、署名鍵記憶手段に記憶されている前記署名鍵発行装置で生成された署名鍵を前記有効識別子と対応付けて更新する署名鍵更新手段、
前記署名鍵記憶手段に記憶されている署名鍵を用いて、前記有効識別子に対応する署名を生成し、前記アプリケーションに付加する署名付加手段、
この署名付加手段で前記署名が付加されたアプリケーションを前記受信端末に送信するアプリケーション送信手段、
として機能させることを特徴とするアプリケーション署名付加プログラム。
【請求項14】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記受信端末であって、
前記鍵生成装置で生成された検証鍵を記憶する検証鍵記憶手段と、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信する失効リスト受信手段と、
この失効リスト受信手段で受信した失効リストを記憶する失効リスト記憶手段と、
前記アプリケーションサーバから、前記署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信するアプリケーション受信手段と、
前記失効リスト記憶手段に記憶されている失効リストに基づいて、前記アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する失効リスト検証手段と、
前記検証鍵記憶手段に記憶されている検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段と、
前記失効リスト検証手段および前記署名検証手段において、前記有効識別子が有効で、かつ、前記署名が正当である場合に、前記アプリケーションの起動または蓄積を行うアプリケーション管理手段と、
を備えていることを特徴とする受信端末。
【請求項15】
アプリケーションサーバがアプリケーションに署名を付加する際に用いるサービス提供者固有の署名鍵を発行する署名鍵発行装置と、前記署名を検証する検証鍵と前記サービス提供者固有の前記署名鍵の一部となる部分鍵を生成するための第1マスタ鍵と前記署名鍵を生成するための第2マスタ鍵とを生成する鍵生成装置と、前記検証鍵と前記第1マスタ鍵とを用いて、前記部分鍵と前記アプリケーションサーバが前記署名鍵を更新する際に用いる差分部分鍵を生成する署名鍵更新用部分鍵生成装置とを備え、前記アプリケーションサーバが前記アプリケーションに前記署名を付加して受信端末に配信し、前記受信端末において前記検証鍵で前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記受信端末を制御するコンピュータを、
前記署名鍵更新用部分鍵生成装置から、前記サービス提供者ごとに付されたサービス提供者識別子を初期の有効識別子とし、前記署名鍵の更新時に更新前の有効識別子の最大値よりも大きい値を設定した有効識別子のうちで、更新前の有効識別子と、更新後の有効識別子との境界を区分する値を要素とした失効リストを受信し失効リスト記憶手段に記憶する失効リスト受信手段、
前記アプリケーションサーバから、前記署名が付加されたアプリケーションとともに、当該署名を付加した際の署名鍵の有効識別子を受信するアプリケーション受信手段、
前記失効リスト記憶手段に記憶されている失効リストに基づいて、前記アプリケーション受信手段で受信したアプリケーションに付加されている有効識別子が、有効か否かを検証する失効リスト検証手段、
予め検証鍵記憶手段に記憶されている前記鍵生成装置で生成された検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段、
前記失効リスト検証手段および前記署名検証手段において、前記有効識別子が有効で、かつ、前記署名が正当である場合に、前記アプリケーションの起動または蓄積を行うアプリケーション管理手段、
として機能させることを特徴とするアプリケーション認証プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2012−151632(P2012−151632A)
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願番号】特願2011−8513(P2011−8513)
【出願日】平成23年1月19日(2011.1.19)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願日】平成23年1月19日(2011.1.19)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】
[ Back to top ]