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