【文献】
大竹 剛,小川 一人,放送・通信連携サービスのためのアプリケーション認証方式,2011年 暗号と情報セキュリティシンポジウム概要集,日本,2011年 1月25日,pp.1−8
【文献】
武智 秀,馬場 秋継,大亦 寿之,Hybridcast(R)を支える技術,NHK技研R&D,日本,日本放送協会,2012年 5月15日,NO.133,pp.20−27
【文献】
矢作 喜之助,ICカードアプリケーション識別子(AID)付番登録制度発足,CardWave,日本,株式会社シーメディア,1999年 6月10日,第12巻,第7号,pp.34−35
【文献】
Jian Weng, et al.,Identity-Based Key-Insulated Signature with Secure Key-Updates,Lecture Notes in Computer Science,2006年12月,Vol.4318,p.13-26
(58)【調査した分野】(Int.Cl.,DB名)
署名を検証する検証鍵とID情報に基づいて更新される署名鍵とを用いた署名方式により、アプリケーションの認証を行うための鍵を生成する鍵管理装置と、前記アプリケーションに前記ID情報と前記署名とを付加するアプリケーション署名付加装置と、前記ID情報と前記署名とが付加されたアプリケーションを蓄積し配信するアプリケーション配信装置と、前記アプリケーションを利用する受信端末とを備え、前記署名方式により前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記鍵管理装置において、
前記ID情報と当該ID情報を構成する予め定めた複数の区分のうちのいずれかの区分の更新を示す更新指示情報とを含んだ署名鍵更新要求を前記アプリケーション署名付加装置から受信する更新要求受信手段と、
この更新要求受信手段で受信した署名鍵更新要求に含まれる更新指示情報に基づいて、要求されたID情報を区分単位で更新し、前記署名方式により前記署名鍵を更新するための差分情報を生成し、更新後のID情報と、前記差分情報とを含んだ署名鍵更新情報を生成する署名鍵更新情報生成手段と、
この署名鍵更新情報生成手段で生成された署名鍵更新情報を、前記アプリケーション署名付加装置に送信する署名鍵更新情報送信手段と、
前記ID情報において、外部から入力された失効させたいアプリケーションを特定する区分の値をその区分に設定するとともに、他の区分に任意の値であることを示す情報を設定した1以上のID情報を失効リストとして生成する失効リスト生成手段と、
この失効リスト生成手段で生成された失効リストを前記受信端末に送信する失効リスト送信手段と、を備え、
前記ID情報は、前記区分として、アプリケーション全体に共通の番号であるセキュリティ更新番号、アプリケーション制作者の番号、アプリケーションの個別の番号およびアプリケーションのバージョンを記載する領域を有することを特徴とする鍵管理装置。
署名を検証する検証鍵とID情報に基づいて更新される署名鍵とを用いた署名方式により、アプリケーションの認証を行うための鍵を生成する鍵管理装置と、前記アプリケーションに前記ID情報と前記署名とを付加するアプリケーション署名付加装置と、前記ID情報と前記署名とが付加されたアプリケーションを蓄積し配信するアプリケーション配信装置と、前記アプリケーションを利用する受信端末とを備え、前記署名方式により前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記鍵管理装置のコンピュータを、
前記ID情報と当該ID情報を構成する予め定めた複数の区分のうちのいずれかの区分の更新を示す更新指示情報とを含んだ署名鍵更新要求を前記アプリケーション署名付加装置から受信する更新要求受信手段、
この更新要求受信手段で受信した署名鍵更新要求に含まれる更新指示情報に基づいて、要求されたID情報を区分単位で更新し、前記署名方式により前記署名鍵を更新するための差分情報を生成し、更新後のID情報と、前記差分情報とを含んだ署名鍵更新情報を生成する署名鍵更新情報生成手段、
この署名鍵更新情報生成手段で生成された署名鍵更新情報を、前記アプリケーション署名付加装置に送信する署名鍵更新情報送信手段、
前記ID情報において、外部から入力された失効させたいアプリケーションを特定する区分の値をその区分に設定するとともに、他の区分に任意の値であることを示す情報を設定した1以上のID情報を失効リストとして生成する失効リスト生成手段、
この失効リスト生成手段で生成された失効リストを前記受信端末に送信する失効リスト送信手段、として機能させるための鍵管理プログラムであって、
前記ID情報は、前記区分として、アプリケーション全体に共通の番号であるセキュリティ更新番号、アプリケーション制作者の番号、アプリケーションの個別の番号およびアプリケーションのバージョンを記載する領域を有することを特徴とする鍵管理プログラム。
署名を検証する検証鍵とID情報に基づいて更新される署名鍵とを用いた署名方式により、アプリケーションの認証を行うための鍵を生成する鍵管理装置と、前記アプリケーションに前記ID情報と前記署名とを付加するアプリケーション署名付加装置と、前記ID情報と前記署名とが付加されたアプリケーションを蓄積し配信するアプリケーション配信装置と、前記アプリケーションを利用する受信端末とを備え、前記署名方式により前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記アプリケーション署名付加装置において、
前記ID情報に対応付けて前記署名鍵を予め記憶する署名鍵記憶手段と、
前記ID情報を構成する予め定めた複数の区分のうちのいずれかの区分の更新を外部から指示されることで、前記ID情報と当該ID情報の更新する区分を示す更新指示情報とを含んだ署名鍵更新要求を前記鍵管理装置に送信する署名鍵更新要求手段と、
前記鍵管理装置において、要求されたID情報を区分単位で更新し、前記署名鍵を更新するための差分情報を生成した後、更新後のID情報と、前記差分情報とを含んだ署名鍵更新情報を、前記鍵管理装置から受信する署名鍵更新情報受信手段と、
この署名鍵更新情報受信手段で受信した署名鍵更新情報を用いて、前記署名鍵記憶手段に記憶されている署名鍵を前記署名方式により更新し、更新後のID情報に対応付けて前記署名鍵記憶手段に記憶する署名鍵更新手段と、
前記署名鍵記憶手段に記憶されている署名鍵を用いて署名を生成し、対応するID情報とともに前記アプリケーションに付加するID・署名付加手段と、を備え、
前記ID情報は、前記区分として、アプリケーション全体に共通の番号であるセキュリティ更新番号、アプリケーション制作者の番号、アプリケーションの個別の番号およびアプリケーションのバージョンを記載する領域を有することを特徴とするアプリケーション署名付加装置。
署名を検証する検証鍵とID情報に基づいて更新される署名鍵とを用いた署名方式により、アプリケーションの認証を行うための鍵を生成する鍵管理装置と、前記アプリケーションに前記ID情報と前記署名とを付加するアプリケーション署名付加装置と、前記ID情報と前記署名とが付加されたアプリケーションを蓄積し配信するアプリケーション配信装置と、前記アプリケーションを利用する受信端末とを備え、前記署名方式により前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記アプリケーション署名付加装置のコンピュータを、
前記ID情報を構成する予め定めた複数の区分のうちのいずれかの区分の更新を外部から指示されることで、前記ID情報と当該ID情報の更新する区分を示す更新指示情報とを含んだ署名鍵更新要求を前記鍵管理装置に送信する署名鍵更新要求手段、
前記鍵管理装置において、要求されたID情報を区分単位で更新し、前記署名鍵を更新するための差分情報を生成した後、更新後のID情報と、前記差分情報とを含んだ署名鍵更新情報を、前記鍵管理装置から受信する署名鍵更新情報受信手段、
この署名鍵更新情報受信手段で受信した署名鍵更新情報を用いて、署名鍵記憶手段に記憶されている署名鍵を前記署名方式により更新し、更新後のID情報に対応付けて前記署名鍵記憶手段に記憶する署名鍵更新手段、
前記署名鍵記憶手段に記憶されている署名鍵を用いて署名を生成し、対応するID情報とともに前記アプリケーションに付加するID・署名付加手段、として機能させるためのアプリケーション署名付加プログラムであって、
前記ID情報は、前記区分として、アプリケーション全体に共通の番号であるセキュリティ更新番号、アプリケーション制作者の番号、アプリケーションの個別の番号およびアプリケーションのバージョンを記載する領域を有することを特徴とするアプリケーション署名付加プログラム。
署名を検証する検証鍵とID情報に基づいて更新される署名鍵とを用いた署名方式により、アプリケーションの認証を行うための鍵を生成する鍵管理装置と、前記アプリケーションに前記ID情報と前記署名とを付加するアプリケーション署名付加装置と、前記ID情報と前記署名とが付加されたアプリケーションを蓄積し配信するアプリケーション配信装置と、前記アプリケーションを利用する受信端末とを備え、前記署名方式により前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記受信端末において、
前記鍵生成装置で生成された検証鍵を記憶する検証鍵記憶手段と、
前記ID情報を予め定めた複数の領域で区分し、当該区分のうちで失効させたいアプリケーションを特定する区分の値が設定されるとともに、他の区分に任意の値であることを示す情報を設定した1以上のID情報を失効リストとして受信する失効リスト受信手段と、
この失効リスト受信手段で受信した失効リストを記憶する失効リスト記憶手段と、
前記アプリケーション配信装置から、ID情報と署名とが付加されたアプリケーションを取得するアプリケーション取得手段と、
このアプリケーション取得手段で取得したアプリケーションに付加されているID情報において、前記失効リスト記憶手段に記憶されている失効リストの中で、失効させたいアプリケーションを特定する区分の値が一致する場合に、当該ID情報を無効と判定する失効リスト検証手段と、
前記検証鍵記憶手段に記憶されている検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段と、を備え、
前記ID情報は、前記区分として、アプリケーション全体に共通の番号であるセキュリティ更新番号、アプリケーション制作者の番号、アプリケーションの個別の番号およびアプリケーションのバージョンを記載する領域を有することを特徴とする受信端末。
署名を検証する検証鍵とID情報に基づいて更新される署名鍵とを用いた署名方式により、アプリケーションの認証を行うための鍵を生成する鍵管理装置と、前記アプリケーションに前記ID情報と前記署名とを付加するアプリケーション署名付加装置と、前記ID情報と前記署名とが付加されたアプリケーションを蓄積し配信するアプリケーション配信装置と、前記アプリケーションを利用する受信端末とを備え、前記署名方式により前記アプリケーションの認証を行うアプリケーション認証システムに用いられる前記受信端末のコンピュータを、
前記ID情報を予め定めた複数の領域で区分し、当該区分のうちで失効させたいアプリケーションを特定する区分の値が設定されるとともに、他の区分に任意の値であることを示す情報を設定した1以上のID情報を失効リストとして受信し失効リスト記憶手段に記憶する失効リスト受信手段、
前記アプリケーション配信装置から、ID情報と署名とが付加されたアプリケーションを取得するアプリケーション取得手段、
このアプリケーション取得手段で取得したアプリケーションに付加されているID情報において、前記失効リスト記憶手段に記憶されている失効リストの中で、失効させたいアプリケーションを特定する区分の値が一致する場合に、当該ID情報を無効と判定する失効リスト検証手段、
予め検証鍵記憶手段に記憶されている検証鍵により、前記アプリケーションに付加されている署名を検証する署名検証手段、として機能させるためのアプリケーション認証プログラムであって、
前記ID情報は、前記区分として、アプリケーション全体に共通の番号であるセキュリティ更新番号、アプリケーション制作者の番号、アプリケーションの個別の番号およびアプリケーションのバージョンを記載する領域を有することを特徴とするアプリケーション認証プログラム。
【発明を実施するための形態】
【0032】
以下、本発明の実施形態について図面を参照して説明する。
[アプリケーション認証システムの構成]
最初に、
図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.)を用いて、システムを構成することとする。
【0033】
このアプリケーション認証システムSは、放送局内に備えた鍵管理サーバ(鍵管理装置)1および署名鍵発行サーバ(署名鍵発行装置)3と、アプリケーション制作者が保持するアプリケーション署名付加サーバ5と、アプリケーション配信者が保持するアプリケーション配信サーバ7と、ユーザ宅内に備えた(あるいは、ユーザが携帯する)受信端末9とで構成される。また、鍵管理サーバ1と、アプリケーション署名付加サーバ5と、アプリケーション配信サーバ7と、受信端末9とは、インターネット(または専用IP回線)等のネットワーク(外部ネットワーク)N
1に相互に接続されている。また、鍵管理サーバ1と署名鍵発行サーバ3とは、放送局の内部ネットワーク(専用通信線)N
2に接続されている。
なお、ここでは、説明を簡略化するため、アプリケーション署名付加サーバ5、アプリケーション配信サーバ7および受信端末9を1台ずつ図示しているが、これらは、ネットワークN
1に複数接続可能なことはいうまでもない。
【0034】
鍵管理サーバ(鍵管理装置)1は、署名を検証する検証鍵と、ID情報に基づいて更新される署名鍵とを用いた署名方式(ここでは、Strong Key-Insulated署名)により、アプリケーションを認証する際に使用する鍵を生成および管理(記憶)するものである。ここでは、鍵管理サーバ1は、検証鍵およびマスタ鍵を生成および管理する鍵生成装置10と、署名鍵の生成や更新に使用する鍵、および、失効した署名鍵のリストを示す失効リストを生成する部分鍵生成装置(署名鍵更新用部分鍵生成装置)20とを備えている。なお、鍵管理サーバ1が生成する検証鍵は、例えば、ICカード等に書き込まれて、オフラインで受信端末9に配布されるものとする。
【0035】
署名鍵発行サーバ(署名鍵発行装置)3は、アプリケーションに署名を付加する際に使用する署名鍵を生成するものである。なお、署名鍵発行サーバ3が生成する署名鍵も、漏洩等を考慮してオフラインでアプリケーション制作者(アプリケーション署名付加サーバ5)に配布されるものとする。
【0036】
アプリケーション署名付加サーバ(アプリケーション署名付加装置)5は、署名鍵を管理(記憶)および更新するとともに、署名鍵を用いてアプリケーションに署名を付加してアプリケーション配信サーバ7に登録するものである。ここでは、アプリケーション署名付加サーバ5は、署名鍵を管理(記憶)および更新する署名鍵更新装置50と、アプリケーションに署名を付加して送信する署名生成装置60とを備えている。
【0037】
アプリケーション配信サーバ(アプリケーション配信装置)7は、アプリケーション制作者が制作したアプリケーションを、アプリケーション署名付加サーバ5を介して取得、登録し、アプリケーションを要求した受信端末9に送信するものである。
【0038】
受信端末9は、アプリケーション配信サーバ7からアプリケーションを受信し、アプリケーションに付加された署名を検証鍵で検証(認証)するものである。この受信端末9は、放送・通信連携サービスを享受することが可能な装置、例えば、テレビ受像機、パーソナルコンピュータ等である。
【0039】
これら鍵管理サーバ1(鍵生成装置10、部分鍵生成装置20)と、署名鍵発行サーバ3と、アプリケーション署名付加サーバ5(署名鍵更新装置50、署名生成装置60)と、アプリケーション配信サーバ7と、受信端末9とは、それぞれ、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、通信インタフェース等(図示を省略)を備え、CPUがHDD等に格納されたプログラムをRAMに展開することにより後記する各種機能を実現する。
【0040】
〔鍵管理サーバの構成〕
次に、
図2を参照(適宜
図1参照)して、鍵管理サーバの構成について説明を行う。ここでは、鍵管理サーバ(鍵管理装置)1は、鍵生成装置10と、部分鍵生成装置(署名鍵更新用部分鍵生成装置)20とを備えている。なお、鍵生成装置10と部分鍵生成装置20とは、図示を省略した通信インタフェースによって通信可能に接続されているものとする。
【0041】
(鍵生成装置の構成)
鍵生成装置10は、署名鍵を生成する際に用いる鍵(部分鍵、差分部分鍵)を生成するためのマスタ鍵と、署名鍵を検証するための検証鍵とを生成し、管理(記憶)するものである。ここでは、鍵生成装置10は、鍵生成手段11と、検証鍵管理手段12と、第1マスタ鍵管理手段13と、第2マスタ鍵送信手段14とを備えている。
【0042】
鍵生成手段11は、マスタ鍵(第1マスタ鍵、第2マスタ鍵)と検証鍵とを生成するものである。すなわち、鍵生成手段11は、素数位数qの巡回群の生成元gと、素数qを法とする剰余類Z
qとに基づいて、マスタ鍵(第1マスタ鍵、第2マスタ鍵)と検証鍵とを生成する。
【0043】
具体的には、鍵生成手段11は、qが(p−1)の約数となる素数p,qを生成し、乗法群Z
p*({1,…,p−1}のうちで、pとの最大公約数が1(pと互いに素)である整数の集合)の元gによって生成される部分群の位数がqとなるような生成元gを生成する。そして、鍵生成手段11は、素数qを法とする剰余類Z
q(0,1,…,q−1;以下単にZ
qで示す)からランダムにx,x′を選択し、以下の式(1)により、第1マスタ鍵x
0を生成する。また、鍵生成手段11は、x′を第2マスタ鍵とする。
【0045】
このように生成された第1マスタ鍵x
0は、第1マスタ鍵管理手段13に出力され、第2マスタ鍵x′は、第2マスタ鍵送信手段14に出力される。
また、鍵生成手段11は、以下の式(2)に示すように、素数p,q、元g、要素y
0,y′、および、ハッシュ関数H(・)からなる検証鍵VKを生成する。
【0047】
なお、検証鍵VKの要素y
0,y′は、以下の式(3)により求められる値である。
【0049】
また、ハッシュ関数H(・)は、H:{0,1}
*→Z
q、すなわち、任意の長さのビット列({0,1}
*)をZ
qの固定長の値に変換する関数である。このハッシュ関数には、例えば、SHA−1等のアルゴリズムを用いることができる。
この鍵生成手段11で生成された検証鍵VKは、検証鍵管理手段12に出力される。
【0050】
検証鍵管理手段(検証鍵記憶手段)12は、鍵生成手段11で生成された検証鍵を管理するものである。ここで、検証鍵管理手段12が行う管理は、具体的には、鍵生成手段11で生成された検証鍵を、図示を省略した記憶媒体に書き込み(記憶し)、要求に応じて読み出す処理をいう。
ここでは、検証鍵管理手段12は、検証鍵を受信端末9に配布する際に、操作者の指示により記憶媒体から検証鍵を読み出す。このように読み出された検証鍵は、例えば、図示を省略したICカード発行装置に出力されICカードに書き込まれた後、受信端末9に配布される。なお、検証鍵管理手段12は、セキュアな伝送路(例えば、放送波)を介して検証鍵を配信することとしてもよい。
【0051】
また、検証鍵管理手段12は、後記する部分鍵生成装置20において部分鍵を生成する際に、記憶媒体から検証鍵を読み出す。この場合、検証鍵管理手段12は、部分鍵生成装置20、あるいは、操作者からの指示により記憶媒体から検証鍵を読み出し、部分鍵生成装置20に出力する。
【0052】
なお、検証鍵管理手段12は、記憶している検証鍵を公開情報として公開するものとし、署名鍵発行サーバ3やアプリケーション署名付加サーバ5から、ネットワークN
1や内部ネットワークN
2を介して取得あるいは参照可能であるものとする。
【0053】
第1マスタ鍵管理手段(第1マスタ鍵記憶手段)13は、鍵生成手段11で生成された第1マスタ鍵を管理するものである。ここで、第1マスタ鍵管理手段13が行う管理は、具体的には、鍵生成手段11で生成された第1マスタ鍵を、図示を省略した記憶媒体に書き込み(記憶し)、要求に応じて読み出す処理をいう。
【0054】
ここでは、第1マスタ鍵管理手段13は、部分鍵生成装置20において部分鍵を生成する際に、記憶媒体から第1マスタ鍵を読み出す。この場合、第1マスタ鍵管理手段13は、部分鍵生成装置20からの要求、あるいは、操作者からの指示により記憶媒体から第1マスタ鍵を読み出し、部分鍵生成装置20に出力する。
【0055】
第2マスタ鍵送信手段14は、内部ネットワークN
2を介して、鍵生成手段11で生成された第2マスタ鍵を署名鍵発行サーバ3に送信するものである。
【0056】
(部分鍵生成装置〔署名鍵更新用部分鍵生成装置〕の構成)
部分鍵生成装置(署名鍵更新用部分鍵生成装置)20は、署名鍵の生成や更新に使用する鍵(部分鍵、差分部分鍵)を生成するとともに、失効した署名鍵のリストを示す失効リストを生成するものである。ここでは、部分鍵生成装置20は、部分鍵生成手段21と、部分鍵管理手段22と、部分鍵送信手段23と、更新要求受信手段24と、署名鍵更新情報生成手段25と、署名鍵更新情報送信手段26と、登録完了受信手段27と、失効リスト通知手段28とを備えている。
【0057】
部分鍵生成手段21は、鍵生成装置10で生成された検証鍵および第1マスタ鍵に基づいて、アプリケーション制作者ごとに固有の部分鍵を生成するものである。なお、部分鍵生成手段21は、図示を省略した入力手段から、アプリケーションを個別に識別するための識別情報(ID情報;以下、アプリIDという)のうちで、アプリケーション制作者を識別する情報(初期アプリID)を入力されることで、新規に部分鍵を生成する。
ここで、アプリIDは、例えば、
図17に示すように、セキュリティ更新番号S
N、放送局番号B
N、制作者番号C
N、アプリ番号A
N、アプリバージョンA
V、アプリ属性A
Tの各区分の情報で構成される。
【0058】
このアプリIDのうちで、セキュリティ更新番号(セキュリティ更新No.)は、システム全体で署名鍵を管理する番号である。このセキュリティ更新番号は、予め定めた数(例えば、“1”)からの連続番号であって、署名鍵を一斉更新する場合に更新される。
また、放送局番号(放送局No.)は、署名鍵を発行する放送局を識別するための番号、制作者番号(制作者No.)は、アプリケーション制作者を識別するための番号である。
【0059】
また、アプリ番号(アプリNo.)は、アプリケーション制作者がアプリケーションを個別に識別するための番号、アプリバージョン(アプリVer.)は、同一アプリケーションのバージョンを示す番号である。また、アプリ属性(アプリAtt.)は、放送・通信連携サービスを実現するアプリケーション認証システムSにおいて、所定の管理者が、予めアプリケーションを検証し、承認を与えたことを示すオーソライズド(Authorized)アプリケーション(Aアプリケーション)の種別を示す番号である。
ここでは、部分鍵生成手段21に入力される初期アプリIDには、アプリケーション制作者を特定する情報として、セキュリティ更新番号、放送局番号および制作者番号が設定され、アプリ番号、アプリバージョンおよびアプリ属性は、予め定めた初期値(例えば“0”)が設定されているものとする。
【0060】
この部分鍵生成手段21は、具体的には、Z
qから乱数r
1をランダムに生成し、その乱数r
1と、検証鍵の一部(p,g)とに基づいて、受信端末9において部分鍵の正当性を示す情報の一部となる部分鍵検証情報v
1を、以下の式(4)により生成する。
【0062】
また、部分鍵生成手段21は、以下の式(5)に示すように、部分鍵検証情報v
1に、初期アプリIDの値Tを連結(ビット連結)し、その連結値から、検証鍵の一部であるハッシュ関数H(・)により、ハッシュ値c
1を生成する。ここで、「‖」は2つの数値を連結する連結記号である。
【0064】
そして、部分鍵生成手段21は、第1マスタ鍵x
0と、検証鍵の一部(q)と、ハッシュ値c
1と、乱数r
1とに基づいて、以下の式(6)により、初期アプリIDに対応した部分鍵x
1を生成する。
【0066】
この部分鍵生成手段21は、生成した部分鍵x
1および部分鍵検証情報v
1を(初期)アプリIDとともに、部分鍵管理手段22に出力する。
【0067】
部分鍵管理手段(部分鍵記憶手段)22は、部分鍵生成手段21で生成された部分鍵をアプリIDと対応付けて管理するものである。ここで、部分鍵管理手段22が行う管理は、具体的には、部分鍵生成手段21で生成された部分鍵x
1、部分鍵検証情報v
1およびアプリIDの値Tを部分鍵情報として部分鍵送信手段23に出力するとともに、図示を省略した記憶媒体に書き込み(記憶し)、要求に応じて読み出す処理をいう。ここでは、部分鍵管理手段22は、署名鍵を更新する際に、署名鍵更新情報生成手段25からの要求により、アプリIDに対応付けて管理(記憶)している部分鍵x
1を署名鍵更新情報生成手段25に出力する。
【0068】
また、部分鍵管理手段22は、署名鍵更新情報生成手段25によって、アプリIDの更新に伴い部分鍵が更新された場合、その更新されたアプリIDとともに更新された部分鍵を記憶する。
また、部分鍵管理手段22は、登録完了受信手段27を介して、アプリケーション配信サーバ7から、アプリIDを含んだ登録完了通知を通知されることで、当該アプリIDに対応するアプリケーションが、アプリケーション配信サーバ7に登録された旨を設定する。これによって、例えば、まだ、アプリケーション配信サーバ7に登録されていないアプリケーションに対して、署名鍵更新要求があった場合、その更新を受け付けない等のアプリケーション管理を鍵管理サーバ1で行うことができる。
【0069】
部分鍵送信手段23は、部分鍵管理手段22の指示に基づいて、内部ネットワークN
2を介して、部分鍵を署名鍵発行サーバ3に送信するものである。ここでは、部分鍵送信手段23は、部分鍵x
1とともに、部分鍵検証情報v
1(前記式(4)参照)と、部分鍵x
1を生成した際のアプリIDの値Tとを併せて、部分鍵情報(x
1,v
1,T)として送信する。
【0070】
更新要求受信手段24は、アプリケーション署名付加サーバ5から、ネットワークN
1を介して、あるアプリケーションに対応する署名鍵を更新(新規に登録する場合を含む)する旨の要求(署名鍵更新要求)を受信するものである。なお、この署名鍵更新要求には、現在のアプリケーションを特定するID情報であるアプリID(初期アプリIDを含む)とともに、当該アプリIDのうちで、アプリケーション制作者が更新を指示する区分を示す情報(更新指示情報info)が含まれる。
【0071】
なお、更新指示情報(info)は、例えば、
図18に示すように、アプリケーションを新規に登録する際(
図18(a))には、アプリ番号A
Nを更新するための指示として、info=1が設定され、アプリケーションをバージョンアップさせる際(
図18(b))には、アプリバージョンA
Vを更新するための指示として、info=2が設定される。また、ここでは、図示を省略しているが、アプリ属性A
Tを更新する場合も同様に予め定めた更新指示情報の値、例えば、info=3が設定される。
この更新要求受信手段24は、署名鍵を更新する指示(更新指示)として、受信したアプリIDおよび更新指示情報を署名鍵更新情報生成手段25に出力する。
【0072】
署名鍵更新情報生成手段25は、更新要求受信手段24から入力される更新指示(更新指示情報)、または、外部から入力される更新指示(更新指示情報)に基づいて、アプリIDに対応する新たな部分鍵を生成し、部分鍵管理手段22で管理(記憶)されている更新前の部分鍵との差分をとることで、差分部分鍵(差分情報)を生成するものである。
【0073】
なお、外部から更新指示が入力された場合、
図18(c)に示すように、署名鍵を一斉更新するため、署名鍵更新情報生成手段25は、部分鍵管理手段22で管理(記憶)されているすべての部分鍵について、セキュリティ更新番号を更新したアプリIDに対応した新たな部分鍵および差分部分鍵を生成する。
【0074】
また、署名鍵更新情報生成手段25は、部分鍵生成手段21と同様の手法で部分鍵を生成する。すなわち、署名鍵更新情報生成手段25は、Z
qから乱数r
2をランダムに生成し、その乱数r
2と、検証鍵の一部(p,g)とに基づいて、受信端末9において部分鍵の正当性を示す情報の一部となる部分鍵検証情報v
2を、以下の式(7)により生成する。
【0076】
また、署名鍵更新情報生成手段25は、以下の式(8)に示すように、部分鍵検証情報v
2に、更新後のアプリIDの値(T+n)を連結(ビット連結)し、その連結値から、検証鍵の一部であるハッシュ関数H(・)により、ハッシュ値c
2を生成する。ここで、「‖」は2つの数値を連結する連結記号である。
【0078】
なお、ここで(T+n)は、更新後のアプリIDを示す。例えば、更新指示情報によって、アプリバージョンが更新される旨が指示された場合、署名鍵更新情報生成手段25は、アプリIDのうちでアプリバージョンの区分に相当するビット値を“1”増加させる値をnとして、更新後のアプリIDの値(T+n)を生成する。
そして、署名鍵更新情報生成手段25は、第1マスタ鍵x
0と、検証鍵の一部(q)と、ハッシュ値c
2と、乱数r
2とに基づいて、以下の式(9)により、更新後のアプリIDに対応した部分鍵x
2を生成する。
【0080】
そして、署名鍵更新情報生成手段25は、部分鍵管理手段22で管理(記憶)されている更新前のアプリIDに対応する部分鍵x
1、更新後のアプリIDに対応する部分鍵x
2とから、検証鍵の一部(q)に基づいて、差分部分鍵Δxを、以下の式(10)により生成する。
【0082】
そして、署名鍵更新情報生成手段25は、更新後のアプリIDの値(T+n)と、部分鍵x
2とを、部分鍵管理手段22に出力する。これによって、部分鍵管理手段22により、更新後のアプリIDと部分鍵とが対応付けられて管理(記憶)されることになる。
また、署名鍵更新情報生成手段25は、生成した差分部分鍵Δxを、部分鍵検証情報v
2と、更新後のアプリIDの値(T+n)とともに、署名鍵更新情報送信手段26に出力する。
【0083】
署名鍵更新情報送信手段26は、署名鍵更新情報生成手段25で生成された差分部分鍵Δxを、ネットワークN
1を介して、アプリケーション署名付加サーバ5に送信するものである。なお、署名鍵更新情報送信手段26は、差分部分鍵Δxとともに、部分鍵検証情報v
2と、更新後のアプリIDの値(T+n)とを併せて、署名鍵更新情報(Δx,v
2,T+n)としてアプリケーション署名付加サーバ5に送信する。
なお、署名鍵更新情報送信手段26は、アプリIDのうちの制作者番号を参照し、制作者番号に予め対応付けられているアプリケーション署名付加サーバ5に署名鍵更新情報(Δx,v
2,T+n)を送信する。
【0084】
登録完了受信手段27は、アプリケーション配信サーバ7から、ネットワークN
1を介して、アプリケーションがアプリケーション配信サーバ7に登録されたことを示す登録完了通知を受信するものである。なお、この登録完了通知には、登録されたアプリケーションを特定するアプリIDが付加されている。
この登録完了受信手段27は、受信した登録完了通知を部分鍵管理手段22に出力する。
【0085】
失効リスト通知手段28は、失効させたい署名鍵を特定するアプリIDのリスト(失効リスト(Revocation List);以下RLという)を受信端末9に通知するものである。ここでは、失効リスト通知手段28は、失効リスト生成手段281と、失効リスト送信手段282とを備えている。
【0086】
失効リスト生成手段281は、外部から入力される失効情報に基づいて、RLを生成するものである。この失効リスト生成手段281は、アプリIDにおいて、失効させたいアプリケーションを特定する区分の値をその区分に設定するとともに、他の区分に任意の値であることを示す情報を設定した1以上のアプリIDを失効リストとして生成する。
なお、失効情報は、失効させたいアプリケーションを特定する情報であって、例えば、アプリIDを
図17に示すようなデータ構造としたときの各区分の値である。
【0087】
ここで、
図19を参照(適宜
図2参照)して、アプリケーションを失効させるRLの例について説明する。なお、アプリIDは、
図17で示したデータ構造とする。
図19(a)は、特定のアプリケーションを失効させるRLの例を示している。
例えば、セキュリティ更新番号S
N(=0x1)、放送局番号B
N(=0x5)、制作者番号C
N(=0xb)およびアプリ番号A
N(=0x3)を失効情報として設定された場合、失効リスト生成手段281は、アプリバージョンA
Vおよびアプリ属性A
Tの区分の領域をワイルドカード(ここでは、値“0”とする)として、RL={0x15b300}を生成する。
【0088】
図19(b)は、特定のアプリケーションのうちで特定のバージョンを失効させるRLの例を示している。
例えば、セキュリティ更新番号S
N(=0x1)、放送局番号B
N(=0x5)、制作者番号C
N(=0xb)、アプリ番号A
N(=0x3)およびアプリバージョンA
V(=0x1)を失効情報として設定された場合、失効リスト生成手段281は、アプリ属性A
Tの区分の領域をワイルドカード(ここでは、値“0”とする)として、RL={0x15b310}を生成する。
【0089】
図19(c)は、特定のアプリケーション制作者のアプリケーションをまとめて失効させるRLの例を示している。
例えば、セキュリティ更新番号S
N(=0x1)、放送局番号B
N(=0x5)および制作者番号C
N(=0xb)を失効情報として設定された場合、失効リスト生成手段281は、アプリ番号A
N、アプリバージョンA
Vおよびアプリ属性A
Tの区分の領域をワイルドカード(ここでは、値“0”とする)として、RL={0x15b000}を生成する。
【0090】
図19(d)は、署名鍵を一斉に更新した際に、古いアプリケーションをまとめて失効させるRLの例を示している。
例えば、セキュリティ更新番号S
N(=0x1)を失効情報として設定された場合、失効リスト生成手段281は、放送局番号B
N、アプリ番号A
N、アプリバージョンA
Vおよびアプリ属性A
Tの区分の領域をワイルドカード(ここでは、値“0”とする)として、RL={0x100000}を生成する。
このように生成されたRLは、失効リスト送信手段282に出力される。
図2に戻って、鍵管理サーバ1の構成について説明を続ける。
【0091】
失効リスト送信手段282は、失効リスト生成手段281で生成された失効リスト(RL)を、ネットワークN
1を介して、受信端末9に送信するものである。これによって、受信端末9において、アプリケーションに付加されているアプリIDが有効なものであるか否かを検証することが可能になる。
【0092】
〔署名鍵発行サーバの構成〕
次に、
図3を参照(適宜
図1参照)して、署名鍵発行サーバの構成について説明を行う。ここでは、署名鍵発行サーバ(署名鍵発行装置)3は、第2マスタ鍵受信手段31と、第2マスタ鍵管理手段32と、部分鍵受信手段33と、署名鍵生成手段34と、署名鍵出力手段35とを備えている。
【0093】
第2マスタ鍵受信手段31は、鍵管理サーバ1で生成された第2マスタ鍵を、内部ネットワークN
2を介して受信するものである。この受信した第2マスタ鍵は、第2マスタ鍵管理手段32に出力される。
【0094】
第2マスタ鍵管理手段(第2マスタ鍵記憶手段)32は、第2マスタ鍵受信手段31で受信した第2マスタ鍵を管理するものである。ここで、第2マスタ鍵管理手段32が行う管理は、具体的には、第2マスタ鍵受信手段31で受信した第2マスタ鍵を、図示を省略した記憶媒体に書き込み(記憶し)、要求に応じて読み出す処理をいう。ここでは、第2マスタ鍵管理手段32は、署名鍵生成手段34からの要求により、管理(記憶)している第2マスタ鍵を署名鍵生成手段34に出力する。
【0095】
部分鍵受信手段33は、鍵管理サーバ1で生成された部分鍵(部分鍵情報)を、内部ネットワークN
2を介して受信するものである。この受信した部分鍵(部分鍵情報)は、署名鍵生成手段34に出力される。
【0096】
署名鍵生成手段34は、第2マスタ鍵管理手段32で管理(記憶)されている第2マスタ鍵と、部分鍵受信手段33で受信した部分鍵(部分鍵情報)とから、署名鍵を生成するものである。すなわち、署名鍵生成手段34は、部分鍵に第2マスタ鍵を加算することで、署名鍵を生成する。
【0097】
具体的には、署名鍵生成手段34は、第2マスタ鍵管理手段32で管理(記憶)されている第2マスタ鍵x′と、部分鍵受信手段33で受信した部分鍵情報(部分鍵x
1,部分鍵検証情報v
1,アプリIDの値T)に含まれている部分鍵x
1と、鍵管理サーバ1で公開情報として公開されている検証鍵の一部である素数qとに基づいて、以下の式(11)により、アプリIDに対応する署名鍵SK
Tを生成する。
【0099】
このように生成された署名鍵SK
Tは、部分鍵検証情報v
1とアプリIDの値Tとともに、署名鍵情報(SK
T,v
1,T)として署名鍵出力手段35に出力される。
【0100】
署名鍵出力手段35は、署名鍵生成手段34で生成された署名鍵(署名鍵情報)を、外部に出力するものである。この署名鍵出力手段35は、例えば、CD−R等の記憶媒体の書き込み装置(図示せず)に署名鍵(署名鍵情報)を出力し、CD−R等に書き込みを行う。このように署名鍵(署名鍵情報)が書き込まれた記憶媒体は、オフラインでアプリケーション署名付加サーバ5に配布される。
【0101】
〔アプリケーション署名付加サーバの構成〕
次に、
図4を参照(適宜
図1参照)して、アプリケーション署名付加サーバの構成について説明を行う。ここでは、アプリケーション署名付加サーバ5は、署名鍵更新装置50と、署名生成装置60とを備えている。なお、署名鍵更新装置50と署名生成装置60とは、図示を省略した通信インタフェースによって通信可能に接続されているものとする。
【0102】
(署名鍵更新装置の構成)
署名鍵更新装置50は、署名鍵発行サーバ3から配布された署名鍵を、鍵管理サーバ1から送信される差分部分鍵(署名鍵更新情報)に基づいて更新するものである。ここでは、署名鍵更新装置50は、署名鍵入力手段51と、署名鍵管理手段52と、署名鍵更新要求手段53と、署名鍵更新情報受信手段54と、署名鍵更新手段55とを備えている。
【0103】
署名鍵入力手段51は、署名鍵発行サーバ3で生成された署名鍵(署名鍵情報)を入力するものである。この署名鍵入力手段51は、例えば、署名鍵(署名鍵情報)が書き込まれたCD−R等の記憶媒体から署名鍵(署名鍵情報)を読み出す読み出し装置(図示せず)を介して、署名鍵(署名鍵情報)を入力する。
ここで、署名鍵情報は、署名鍵と、部分鍵検証情報と、アプリID(初期アプリID)とを含んでいる。この入力された署名鍵情報は、署名鍵管理手段52に出力される。
【0104】
署名鍵管理手段(署名鍵記憶手段)52は、署名鍵入力手段51で入力された署名鍵(署名鍵情報)を管理するものである。ここで、署名鍵管理手段52が行う管理は、具体的には、署名鍵入力手段51で入力された署名鍵(署名鍵情報)を、図示を省略した記憶媒体に書き込み(記憶し)、要求に応じて署名鍵(署名鍵情報)の読み出しや更新を行う処理をいう。
ここでは、署名鍵管理手段52は、署名鍵更新手段55において署名鍵を更新する際に、署名鍵更新手段55からの要求により、署名鍵(署名鍵情報)を記憶媒体から読み出し、署名鍵更新手段55に出力する。また、署名鍵管理手段52は、更新された署名鍵(署名鍵情報)を署名鍵更新手段55から取得し、記憶媒体に書き込む。
【0105】
また、署名鍵管理手段52は、署名生成装置60でアプリケーションに署名を付加する際に、署名生成装置60からの要求により、記憶媒体に記憶している署名鍵(署名鍵情報)を読み出し、署名生成装置60に出力する。
【0106】
署名鍵更新要求手段53は、ネットワークN
1を介して、鍵管理サーバ1に、署名鍵を更新する旨の要求(署名鍵更新要求)を送信するものである。
ここでは、署名鍵更新要求手段53は、図示を省略した入力手段を介して、署名鍵管理手段52で管理(記憶)されているアプリIDと、当該アプリIDで更新する区分とを指示されることで、そのアプリIDと、更新する区分を示す更新指示情報とを、署名鍵更新要求として鍵管理サーバ1に送信する。
この更新指示情報は、
図18で説明したように、例えば、アプリIDのうちでアプリ番号を更新する際(
図18(a))には、info=1が設定され、アプリバージョンを更新する際(
図18(b))には、info=2が設定される。
【0107】
署名鍵更新情報受信手段54は、鍵管理サーバ1で生成された差分部分鍵(署名鍵更新情報)を、ネットワークN
1を介して受信するものである。この受信した差分部分鍵(署名鍵更新情報)は、署名鍵更新手段55に出力される。この署名鍵更新情報は、差分部分鍵Δxと、部分鍵検証情報v
2と、更新後のアプリIDの値(T+n)とを含んでいる。
【0108】
署名鍵更新手段55は、署名鍵更新情報受信手段54で受信した差分部分鍵(署名鍵更新情報)に基づいて、署名鍵を更新するものである。すなわち、署名鍵更新手段55は、更新前の署名鍵に、差分部分鍵を加算することで、署名鍵を更新する。
具体的には、署名鍵更新手段55は、署名鍵管理手段52で管理(記憶)されている更新前のアプリIDの値Tに対応する署名鍵SK
Tと、署名鍵更新情報受信手段54で受信した署名鍵更新情報に含まれている差分部分鍵Δxと、鍵管理サーバ1で公開情報として公開されている検証鍵の一部である素数qとに基づいて、以下の式(12)により、新たなアプリIDの値(T+n)に対応した署名鍵SK
T+nを生成する。
【0110】
このように生成された署名鍵SK
T+nは、署名鍵更新情報に含まれている部分鍵検証情報v
2とともに、アプリIDの値(T+n)と対応付けて、署名鍵管理手段52に記憶される。
【0111】
(署名生成装置の構成)
署名生成装置60は、署名鍵更新装置50で管理されている署名鍵を用いて、アプリケーションに署名を付加するものである。ここでは、署名生成装置60は、アプリケーション入力手段61と、ID・署名付加手段62と、アプリケーション登録要求手段63とを備えている。
【0112】
アプリケーション入力手段61は、外部からアプリケーションを入力するものである。このアプリケーション入力手段61は、例えば、アプリケーション制作者内部のネットワークを介してアプリケーションを受信するものであってもよいし、記憶媒体に書き込まれたアプリケーションを読み出すものであってもよい。このアプリケーション入力手段61は、入力したアプリケーションをID・署名付加手段62に出力する。
なお、アプリケーション入力手段61は、アプリケーションの実体とともに、当該アプリケーションを識別するアプリ番号やアプリバージョンといった、アプリIDを特定する情報も入力されるものとする。
【0113】
ID・署名付加手段62は、アプリケーション入力手段61で入力したアプリケーションに、署名鍵を用いて、デジタル署名を付加するものである。すなわち、ID・署名付加手段62は、アプリケーションごとに固有のアプリIDを含めてハッシュ値を演算し、アプリID固有の署名を生成して、アプリケーションに付加する。
具体的には、ID・署名付加手段62は、公開情報として公開されている検証鍵の一部(p,g)に基づいて、Z
qから乱数r
sをランダムに生成し、以下の式(13)により、署名の正当性を検証するための情報の一部となる署名検証情報v
sを生成する。
【0115】
また、ID・署名付加手段62は、以下の式(14)に示すように、署名鍵管理手段52に記憶されている部分鍵検証情報v
2およびアプリIDの値(T+n)と、アプリケーション(ソフトウェア)Mと、式(13)で生成された署名検証情報v
sとを連結し、公開されている検証鍵の一部であるハッシュ関数H(・)により、ハッシュ値c
sを生成する。
【0117】
そして、ID・署名付加手段62は、ハッシュ値c
sと、乱数r
sと、署名鍵管理手段52に記憶されている署名鍵SK
T+nと、公開されている検証鍵の一部(q)とに基づいて、以下の式(15)により、署名σ
sを生成する。
【0119】
そして、ID・署名付加手段62は、アプリケーションMに、署名σ
sと、ハッシュ値c
sと、部分鍵検証情報v
2とからなる署名情報(σ
s,c
s,v
2)と、署名鍵管理手段52に記憶されているアプリIDの値(T+n)とを付加して、アプリケーション登録要求手段63に出力する。
【0120】
アプリケーション登録要求手段63は、ID・署名付加手段62でアプリIDおよび署名(署名情報)が付加されたアプリケーション(ID・署名付きアプリケーション)を、アプリケーションを登録する旨の要求とともに、ネットワークN
1を介してアプリケーション配信サーバ7に送信するものである。
【0121】
〔アプリケーション配信サーバの構成〕
次に、
図5を参照(適宜
図1参照)して、アプリケーション配信サーバの構成について説明を行う。ここでは、アプリケーション配信サーバ7は、アプリケーション登録手段71と、アプリケーション記憶手段72と、登録完了送信手段73と、アプリケーション要求受信手段74と、アプリケーション送信手段75とを備えている。
【0122】
アプリケーション登録手段71は、ネットワークN
1を介して、アプリケーション署名付加サーバ5から、アプリケーションを受信し、アプリケーション記憶手段72に登録(記憶)するものである。
このアプリケーション登録手段71は、アプリケーション署名付加サーバ5から、アプリケーションを登録する旨の要求とともに送信されてくるアプリID、署名が付加されたアプリケーション(ID・署名付きアプリケーション)を受信し、アプリIDに対応付けて、アプリケーションおよび署名をアプリケーション記憶手段72に書き込む。
また、アプリケーション登録手段71は、ID・署名付きアプリケーションのアプリケーション記憶手段72への書き込みが終了した後、書き込みが終了した旨を、アプリIDとともに登録完了送信手段73に通知する。
【0123】
アプリケーション記憶手段72は、アプリケーション署名付加サーバ5において、アプリIDと署名が付加されたアプリケーションを記憶するものである。このアプリケーション記憶手段72は、ハードディスク等の一般的な記録媒体で構成することができる。
【0124】
登録完了送信手段73は、アプリケーション登録手段71から、アプリケーション(ID・署名付きアプリケーション)のアプリケーション記憶手段72への書き込みが完了した旨の通知を受信した際に、アプリケーションの登録が完了した旨を示す登録完了通知を、鍵管理サーバ1に通知するものである。なお、登録完了送信手段73は、登録完了通知に、登録が完了したアプリケーションのアプリIDを付加することとする。
【0125】
アプリケーション要求受信手段74は、ネットワークN
1を介して、受信端末9から、アプリケーションの要求であるアプリケーション要求を受け付けるものである。このアプリケーション要求受信手段74は、アプリケーション送信手段75にアプリケーション要求を出力する。
【0126】
アプリケーション送信手段75は、アプリケーション要求受信手段74で受信したアプリケーション要求で要求されたアプリケーションを、アプリケーション記憶手段72から読み出し、当該アプリケーションに付加されているアプリIDおよび署名とともに、要求のあった受信端末9に送信するものである。
【0127】
〔受信端末の構成〕
次に、
図6を参照(適宜
図1参照)して、受信端末の構成について説明を行う。ここでは、受信端末9は、検証鍵管理手段91と、失効リスト受信手段92と、失効リスト管理手段93と、アプリケーション取得手段94と、署名検証手段95と、失効リスト検証手段96と、アプリケーション管理手段97とを備えている。
【0128】
検証鍵管理手段(検証鍵記憶手段)91は、鍵管理サーバ1で生成された検証鍵を記憶し、管理するものである。具体的には、検証鍵管理手段91は、例えば、ICカード等であって、予め検証鍵が書き込まれた記憶媒体である。この検証鍵管理手段91は、署名検証手段95からの要求によって検証鍵の読み出しを行う。
【0129】
失効リスト受信手段92は、鍵管理サーバ1で生成された失効リスト(RL)を、ネットワークN
1を介して受信するものである。この受信したRLは、失効リスト管理手段93に出力される。
【0130】
失効リスト管理手段(失効リスト記憶手段)93は、失効リスト受信手段92で受信したRLを記憶し、管理するものである。具体的には、失効リスト管理手段93は、失効リスト受信手段92で受信したRLを、図示を省略した記憶媒体に書き込み、要求に応じてRLの読み出しや更新を行う。
ここでは、失効リスト管理手段93は、失効リスト検証手段96においてアプリIDを検証する際に、失効リスト検証手段96からの要求により、RLを記憶媒体から読み出し、失効リスト検証手段96に出力する。
また、失効リスト管理手段93は、新たに失効リスト受信手段92でRLを受信した場合、記憶媒体に記憶されているRLを更新する。
【0131】
アプリケーション取得手段94は、図示を省略した入力手段を介して入力されたユーザが指定したアプリケーションの要求(アプリケーション要求)を、ネットワークN
1を介して、アプリケーション配信サーバ7に送信し、アプリケーション配信サーバ7からそのアプリケーションを取得するものである。
【0132】
なお、アプリケーション取得手段94は、アプリケーション要求に、アプリケーションを特定する情報、例えば、
図17で説明したアプリIDのうちで、制作者番号C
N、アプリ番号A
N等や、当該要求を送信する受信端末9を特定する情報、例えば、IPアドレス等を記載しておく。
【0133】
このアプリケーション取得手段94で取得するアプリケーションには、アプリIDと署名情報(署名σ
s、ハッシュ値c
s、部分鍵検証情報v
2)が付加されており、アプリケーション取得手段94は、取得したID・署名付きアプリケーションを署名検証手段95に出力する。
【0134】
署名検証手段95は、検証鍵管理手段91に記憶されている検証鍵を用いて、アプリケーションに付加されている署名を検証するものである。すなわち、署名検証手段95は、検証鍵を用いて予め定めた条件式で得られたハッシュ値が、署名に付加されているハッシュ値と一致するか否かにより署名の検証を行う。
具体的には、署名検証手段95は、以下の式(16)に示すように、アプリケーションに付加されている部分鍵検証情報v
2とアプリIDの値(T+n)とを連結し、検証鍵管理手段91に記録されている検証鍵に含まれるハッシュ関数H(・)により、ハッシュ値c
2を生成する。
【0136】
そして、署名検証手段95は、ハッシュ値c
2と、検証鍵の一部(p,g,y
0,y′)と、署名情報(σ
s,c
s,v
2)とに基づいて、以下の式(17)の条件式が成り立つか否かにより、署名検証を行う。
【0138】
そして、署名検証手段95は、この式(17)が成り立つ場合のみ、付加された署名を正当な署名であると判定し、アプリケーションおよびそれに付加されたアプリIDを失効リスト検証手段96に出力する。また、署名検証手段95は、署名が正当でないと判定した場合、図示を省略した表示装置に対してエラーメッセージを表示する。
【0139】
失効リスト検証手段96は、失効リスト管理手段93で記憶されているRLを参照して、アプリケーションに付加されているアプリIDが有効であるか否かを検証するものである。すなわち、失効リスト検証手段96は、アプリケーションに付加されているアプリIDが、RLに記述されているアプリIDに対応する場合、当該アプリケーションおよびアプリケーションに付加されているアプリIDに対応する署名鍵はすでに失効していると判定する。
【0140】
例えば、
図19(a)に示すように、失効リストがRL={0x15b300}であったとする。また、このとき、アプリケーションに、アプリIDとして0x15b311が付加されていたとする。
この場合、RLでは、アプリバージョンA
Vおよびアプリ属性A
Tの区分はワイルドカード(“0”)であるため、失効リスト検証手段96は、ワイルドカード以外の区分、すなわち、セキュリティ更新番号S
N(=0x1)、放送局番号B
N(=0x5)、制作者番号C
N(=0xb)およびアプリ番号A
N(=0x3)が、アプリIDとRLとで一致するか否かを判定する。ここでは、それぞれが一致するため、失効リスト検証手段96は、当該アプリケーションおよび当該アプリIDに対応する署名鍵はすでに失効していると判定する。
このように、失効リスト検証手段96は、アプリケーションやアプリケーションに付加されているアプリIDに対応する署名鍵を失効していると判定した場合、図示を省略した表示装置に対してエラーメッセージを表示する。
【0141】
また、失効リスト検証手段96は、アプリケーションに付加されているアプリIDを有効と判定した場合、アプリケーションをアプリケーション管理手段97に出力する。
【0142】
アプリケーション管理手段97は、署名検証手段95で署名が正当であると判定され、かつ、失効リスト検証手段96でアプリIDが有効であると判定されたアプリケーションを起動(復号、再生)あるいは蓄積するものである。
なお、アプリケーション管理手段97は、符号化されたアプリケーション(符号化データ)を復号、再生したり、一旦、ハードディスク等の記憶媒体にアプリケーションを蓄積した後に、再生したりする一般的な蓄積・再生手段であるため、ここでは、詳細な説明は省略する。
【0143】
[アプリケーション認証システムの動作]
次に、アプリケーション認証システムの動作について説明を行う。
〔鍵生成・署名鍵発行〕
最初に、
図7を参照(適宜
図2〜
図4参照)して、アプリケーション認証システムSにおける初期動作である鍵生成および署名鍵発行の動作について説明する。
まず、鍵管理サーバ1は、鍵生成装置10において、鍵生成手段11によって、署名鍵を生成するために必要となる2つのマスタ鍵(第1マスタ鍵、第2マスタ鍵)と、公開情報となる検証鍵とを生成する(ステップS1:マスタ鍵・検証鍵生成)。なお、このステップS1における鍵(マスタ鍵および検証鍵)の生成動作については、後で
図8を参照して説明する。
【0144】
そして、鍵管理サーバ1は、検証鍵管理手段12によって、ステップS1で生成された検証鍵を記憶するとともに、検証鍵を公開する(ステップS2)。このステップS1で生成された検証鍵は、オフラインで、または、セキュアな伝送路(例えば、放送波)を介して受信端末9に配布(配信)される(ステップとして図示せず)。
また、鍵管理サーバ1は、第1マスタ鍵管理手段13によって、ステップS1で生成された第1マスタ鍵を記憶する(ステップS3)。また、鍵管理サーバ1は、第2マスタ鍵送信手段14によって、ステップS1で生成された第2マスタ鍵を、署名鍵発行サーバ3に送信する(ステップS4)。
【0145】
一方、署名鍵発行サーバ3は、第2マスタ鍵受信手段31によって、第2マスタ鍵を受信する(ステップS5)。そして、第2マスタ鍵管理手段32によって、第2マスタ鍵を記憶する(ステップS6)。
以上の動作によって、署名鍵を生成するために必要となるマスタ鍵(第1マスタ鍵、第2マスタ鍵)と、署名鍵を検証するための検証鍵が生成される。
【0146】
その後、アプリケーション認証システムSは、アプリケーション制作者に署名鍵を発行するために、以下の動作を行う。
すなわち、鍵管理サーバ1は、部分鍵生成装置20において、部分鍵生成手段21によって、外部から初期アプリIDを入力するとともに、ステップS2,S3で記憶されている検証鍵および第1マスタ鍵を取得し、署名鍵を生成するための部分鍵を含む部分鍵情報を生成する(ステップS7:部分鍵生成)。なお、このステップS7における部分鍵生成動作については、後で
図9を参照して説明する。
【0147】
そして、鍵管理サーバ1は、部分鍵管理手段22によって、ステップS7で生成された部分鍵(部分鍵情報)を記憶する(ステップS8)。
さらに、鍵管理サーバ1は、部分鍵送信手段23によって、ステップS7で生成された部分鍵(部分鍵情報)を、署名鍵発行サーバ3に送信する(ステップS9)。
【0148】
一方、署名鍵発行サーバ3は、部分鍵受信手段33によって、部分鍵(部分鍵情報)を受信する(ステップS10)。
そして、署名鍵発行サーバ3は、署名鍵生成手段34によって、ステップS10で受信した部分鍵(部分鍵情報)と、ステップS6で記憶した第2マスタ鍵とから、署名鍵を生成する(ステップS11:署名鍵生成)。なお、このステップS11における署名鍵生成動作については、後で
図9を参照して説明する。このステップS11で生成された署名鍵は、オフラインでアプリケーション制作者(アプリケーション署名付加サーバ5)に配布される。
そして、アプリケーション署名付加サーバ5は、署名鍵入力手段51によって、オフラインで配布された署名鍵を入力し、署名鍵管理手段52によって、その署名鍵を記憶する(ステップS12)。
【0149】
以上の動作によって、署名鍵が生成され秘密情報としてアプリケーション制作者で管理されることになる。
なお、アプリケーション制作者(アプリケーション署名付加サーバ5)が複数存在する場合、署名鍵はそれに対応して複数生成されることになるが、その場合、ステップS7以降の動作がアプリケーション制作者の数に応じて繰り返される。
【0150】
(鍵〔マスタ鍵・検証鍵〕生成)
次に、
図8を参照(適宜
図2参照)して、マスタ鍵(第1マスタ鍵、第2マスタ鍵)および検証鍵の生成動作について説明する。なお、ここで説明する動作は、
図7で説明したステップS1の動作に相当し、鍵生成装置10の鍵生成手段11において動作する。
【0151】
まず、鍵生成手段11は、qが(p−1)の約数となる素数p,qを生成し(ステップS21)、その素数p,qに基づいて、乗法群Z
p*の元gによって生成される部分群の位数がqとなるような生成元gを生成する(ステップS22)。そして、鍵生成手段11は、Z
qからランダムにx,x′を選択する(ステップS23)。
そして、鍵生成手段11は、前記式(1)の演算を行うことで得たx
0を第1マスタ鍵と設定する(ステップS24)。
また、鍵生成手段11は、ステップS23で選択されたx′を第2マスタ鍵として設定する(ステップS25)。
【0152】
その後、鍵生成手段11は、前記式(3)の演算により検証鍵の要素の一部(y
0,y′)を算出し、p、q、g、y
0,y′およびハッシュ関数H(・)からなる前記式(2)に示す検証鍵VKを生成する(ステップS26)。
以上の動作によって、鍵生成手段11は、署名鍵を生成するための2つのマスタ鍵である第1マスタ鍵x
0および第2マスタ鍵x′と、公開情報となる検証鍵VKとを生成する。
【0153】
(署名鍵発行)
次に、
図9を参照(適宜
図2,
図3参照)して、署名鍵を発行する際の主な動作について説明する。なお、
図9(a)で説明する動作は、
図7で説明したステップS7の部分鍵生成動作に相当し、鍵管理サーバ1の鍵生成装置10の部分鍵生成手段21において動作する。また、
図9(b)で説明する動作は、
図7で説明したステップS11の署名鍵生成動作に相当し、署名鍵発行サーバ3の署名鍵生成手段34において動作する。
【0154】
まず、
図9(a)に示すように、部分鍵生成手段21は、Z
qから乱数r
1をランダムに生成する(ステップS31)。そして、部分鍵生成手段21は、乱数r
1と、検証鍵の一部(p,g)とに基づいて、前記式(4)の演算により部分鍵検証情報v
1を生成する(ステップS32)。
さらに、部分鍵生成手段21は、部分鍵検証情報v
1と、初期アプリID(値T)とを連結し、前記式(5)により、ハッシュ値c
1を生成する(ステップS33)。
【0155】
その後、部分鍵生成手段21は、第1マスタ鍵x
0と、検証鍵の一部(q)と、ハッシュ値c
1と、乱数r
1とに基づいて、前記式(6)により、部分鍵x
1を生成する(ステップS34)。
このように生成された部分鍵x
1は、部分鍵検証情報v
1と、初期アプリID(値T)とともに、部分鍵情報として署名鍵発行サーバ3に送信される。
【0156】
一方、
図9(b)に示すように、署名鍵生成手段34は、事前に取得している第2マスタ鍵x′と、ステップS34で生成され送信された部分鍵情報に含まれている部分鍵x
1と、公開されている検証鍵の一部(q)とに基づいて、前記式(11)により、初期アプリID(値T)に対応する署名鍵SK
Tを生成する(ステップS41)。
このように生成された署名鍵SK
Tは、アプリケーション制作者にオフラインで配布される。
【0157】
〔署名鍵更新〕
次に、
図10を参照(適宜
図2,
図4参照)して、アプリケーション認証システムSにおける署名鍵の更新動作について説明する。
ここでは、アプリケーション制作者がアプリケーションを作成または更新して、アプリケーション配信サーバ7に登録する際に必要となる署名鍵を更新する動作について説明する。
【0158】
まず、アプリケーション署名付加サーバ5は、署名鍵更新要求手段53によって、署名鍵管理手段52で管理(記憶)されている更新前のアプリIDと、当該アプリIDの中で更新する区分を示す更新指示情報(info)とを、署名鍵更新要求として、鍵管理サーバ1に送信する(ステップS51)。
そして、鍵管理サーバ1は、部分鍵生成装置20において、更新要求受信手段24によって、署名鍵更新要求を受信する(ステップS52)。
【0159】
そして、鍵管理サーバ1は、署名鍵更新情報生成手段25によって、署名鍵を更新するための差分部分鍵を含む署名鍵更新情報を生成する(ステップS53:差分部分鍵生成)。なお、このステップS53における差分部分鍵生成動作については、後で
図11を参照して説明する。
その後、鍵管理サーバ1は、署名鍵更新情報送信手段26によって、ステップS53で生成された差分部分鍵(署名鍵更新情報)を、アプリケーション署名付加サーバ5に送信する(ステップS54)。
【0160】
そして、アプリケーション署名付加サーバ5は、署名鍵更新装置50において、署名鍵更新情報受信手段54によって、差分部分鍵(署名鍵更新情報)を受信する(ステップS55)。
そして、アプリケーション署名付加サーバ5は、署名鍵更新手段55によって、署名鍵管理手段52で管理(記憶)されている更新前の署名鍵を、ステップS55で受信した差分部分鍵(署名鍵更新情報)に基づいて更新する(ステップS56:署名鍵更新)。このステップS56における署名鍵更新動作については、後で
図11を参照して説明する。
そして、アプリケーション署名付加サーバ5は、署名鍵管理手段52によって、更新した署名鍵を記憶する(ステップS57)。
以上の動作によって、アプリケーション署名付加サーバ5内で、アプリケーションに署名を付加する際に用いる署名鍵が更新される。
【0161】
なお、本動作は、アプリケーション制作者がアプリケーションを作成または更新したタイミングで、鍵管理サーバ1に署名鍵の更新を依頼するものであるが、鍵管理サーバ1から、一斉にアプリIDを更新することも可能である。
この場合、
図10のステップS51およびステップS52の手順が省略され、鍵管理サーバ1が、外部から更新指示が入力された段階で、署名鍵更新情報生成手段25によって、署名鍵を更新するための差分部分鍵を含む署名鍵更新情報を生成する(ステップS53:差分部分鍵生成)。このとき、署名鍵更新情報生成手段25は、部分鍵管理手段22で管理(記憶)されているすべての部分鍵について、セキュリティ更新番号を更新したアプリIDに対応した新たな差分部分鍵を生成する。
ステップS54以降の動作については、
図10で説明した動作と同様である。
【0162】
(差分部分鍵生成・署名鍵更新)
次に、
図11を参照(適宜
図2,
図4参照)して、署名鍵を更新する際の主な動作について説明する。なお、
図11(a)で説明する動作は、
図10で説明したステップS53の差分部分鍵生成動作に相当し、鍵管理サーバ1の部分鍵生成装置20の署名鍵更新情報生成手段25において動作する。また、
図11(b)で説明する動作は、
図10で説明したステップS56の署名鍵更新動作に相当し、アプリケーション署名付加サーバ5の署名鍵更新装置50の署名鍵更新手段55において動作する。
【0163】
まず、
図11(a)に示すように、署名鍵更新情報生成手段25は、Z
qから乱数r
2をランダムに生成する(ステップS61)。そして、署名鍵更新情報生成手段25は、乱数r
2と、検証鍵の一部(p,g)とに基づいて、前記式(7)の演算により部分鍵検証情報v
2を生成する(ステップS62)。
さらに、署名鍵更新情報生成手段25は、部分鍵検証情報v
2と、更新後のアプリIDの値(T+n)とを連結し、前記式(8)により、ハッシュ値c
2を生成する(ステップS63)。
【0164】
そして、署名鍵更新情報生成手段25は、第1マスタ鍵x
0と、検証鍵の一部(q)と、ハッシュ値c
2と、乱数r
2とに基づいて、前記式(9)により、部分鍵x
2を生成する(ステップS64)。
【0165】
その後、署名鍵更新情報生成手段25は、部分鍵管理手段22で管理(記憶)されている更新前のアプリIDに対応する部分鍵x
1と、ステップS64で生成された部分鍵x
2と、検証鍵の一部(q)とに基づいて、前記式(10)により、差分部分鍵Δxを生成する(ステップS65)。
このように生成された差分部分鍵Δxは、部分鍵検証情報v
2と、更新後のアプリIDの値(T+n)とともに、署名鍵更新情報としてアプリケーション署名付加サーバ5に送信される。
【0166】
一方、
図11(b)に示すように、署名鍵更新手段55は、署名鍵管理手段52で管理(記憶)されている更新前のアプリIDの値Tに対応する署名鍵SK
Tと、ステップS65で生成され送信された署名鍵更新情報に含まれている差分部分鍵Δxと、鍵管理サーバ1で公開情報として公開されている検証鍵の一部(q)とに基づいて、前記式(12)により、新たなアプリIDの値(T+n)に対応した署名鍵SK
T+nを生成する(ステップS71)。
【0167】
このように生成された署名鍵SK
T+nは、署名鍵更新情報に含まれている部分鍵検証情報v
2とともに、アプリIDの値(T+n)と対応付けて、署名鍵管理手段52に記憶される。これによって、アプリケーション署名付加サーバ5が保持する署名鍵(署名鍵情報)が更新されることになる。
【0168】
〔アプリケーション登録・更新〕
次に、
図12を参照(適宜
図2,
図4,
図5参照)して、アプリケーション認証システムSにおける署名を生成してアプリケーションに付加し、アプリケーションをアプリケーション配信サーバ7に登録(更新を含む)するアプリケーション登録・更新動作について説明する。
【0169】
まず、アプリケーション署名付加サーバ5は、アプリケーション入力手段61によって、外部からアプリケーション(アプリ番号、アプリバージョンを含む)を入力する(ステップS81)。
そして、アプリケーション署名付加サーバ5は、ID・署名付加手段62によって、署名鍵管理手段52に記憶されている署名鍵情報に基づいて署名(署名情報)を生成する(ステップS82:署名生成)。なお、このステップS82における署名生成動作については、後で
図13を参照して説明する。
【0170】
そして、アプリケーション署名付加サーバ5は、ID・署名付加手段62によって、ステップS81で入力したアプリケーションに、当該アプリケーションのアプリ番号およびアプリバージョンが対応するアプリIDと、ステップS82で生成した署名(署名情報)とを付加する(ステップS83)。そして、アプリケーション署名付加サーバ5は、アプリケーション登録要求手段63によって、ステップS83でアプリIDおよび署名が付加されたID・署名付きアプリケーションをアプリケーション配信サーバ7に送信する(ステップS84)。
【0171】
一方、アプリケーション配信サーバ7は、アプリケーション登録手段71によって、ID・署名付きアプリケーションを受信する(ステップS85)。そして、アプリケーション配信サーバ7は、アプリケーション登録手段71によって、アプリIDに対応付けて、アプリケーションおよび署名をアプリケーション記憶手段72に書き込み記憶する(ステップS86)。
その後、アプリケーション配信サーバ7は、登録完了送信手段73によって、ID・署名付きアプリケーションの登録が完了した旨(アプリID付きの登録完了通知)を、鍵管理サーバ1に送信する(ステップS87)。
【0172】
そして、鍵管理サーバ1は、部分鍵生成装置20の登録完了受信手段27によって、登録完了通知を受信し(ステップS88)、部分鍵管理手段22によって、アプリIDに対応するアプリケーションに対して、アプリケーション配信サーバ7に登録された旨を設定する(ステップS89)。
以上の動作によって、正規のアプリケーション制作者によって正当な署名が付加されたアプリケーションのみがアプリケーション配信サーバ7に蓄積されることになる。
【0173】
(署名生成)
次に、
図13を参照(適宜
図4参照)して、署名(署名情報)を生成する動作について説明する。なお、ここで説明する動作は、
図12で説明したステップS82の署名生成動作に相当し、アプリケーション署名付加サーバ5の署名生成装置60のID・署名付加手段62において動作する。
【0174】
まず、ID・署名付加手段62は、Z
qから乱数r
sをランダムに生成する(ステップS91)。そして、ID・署名付加手段62は、乱数r
sと、検証鍵の一部(p,g)とに基づいて、前記式(13)の演算により署名検証情報v
sを生成する(ステップS92)。
【0175】
さらに、ID・署名付加手段62は、署名鍵管理手段52に記憶されている部分鍵検証情報v
2と、署名検証情報v
sと、アプリIDの値(T+n)と、アプリケーションMとを連結し、前記式(14)により、ハッシュ値c
sを生成する(ステップS93)。
【0176】
その後、ID・署名付加手段62は、ハッシュ値c
sと、乱数r
sと、署名鍵管理手段52に記憶されているアプリIDの値(T+n)に対応する署名鍵SK
T+nと、検証鍵の一部(q)とに基づいて、前記式(15)により、署名σ
sを生成する(ステップS94)。
このように生成された署名σ
sを、ハッシュ値c
sと、部分鍵検証情報vと、アプリIDの値(T+n)とともに、アプリケーションMに付加することで、ID・署名付きアプリケーションが生成されることになる。
【0177】
〔アプリケーション認証〕
次に、
図14を参照(適宜
図5,
図6参照)して、アプリケーション認証システムSにおいて、受信端末9がアプリケーションを取得し、署名およびアプリIDを検証するアプリケーション認証動作について説明する。
【0178】
まず、受信端末9は、アプリケーション取得手段94によって、ユーザが指定したアプリケーションの要求(アプリケーション要求)を、ネットワークN
1を介して、アプリケーション配信サーバ7に送信する(ステップS101)。
【0179】
一方、アプリケーション配信サーバ7は、アプリケーション要求受信手段74によって、アプリケーション要求を受信する(ステップS102)。そして、アプリケーション配信サーバ7は、アプリケーション送信手段75によって、アプリケーション要求で要求されたアプリケーションをアプリケーション記憶手段72から読み出し、当該アプリケーションに付加されているアプリIDおよび署名とともに、ID・署名付きアプリケーションとして要求のあった受信端末9に送信する(ステップS103)。
【0180】
そして、受信端末9は、アプリケーション取得手段94によって、ネットワークN
1を介して、ID・署名付きアプリケーションを受信する(ステップS104)。
ここで、受信端末9は、署名検証手段95によって、アプリケーションに付加されている署名が正当なものであるか否かを検証する(ステップS105:署名検証)。なお、このステップS105における署名検証動作については、後で
図15を参照して説明する。
【0181】
そして、受信端末9は、検証結果として署名が不正であると判定した場合(ステップS106でNo)、アプリケーションの起動等を行わず、エラーメッセージを表示して処理を終了する。
一方、検証結果として署名が正当であると判定した場合(ステップS106でYes)、受信端末9は、失効リスト検証手段96によって、アプリケーションに付加されているアプリIDが、失効リスト管理手段93で管理(記憶)されている失効リストに含まれている否かにより、アプリケーションの有効性を検証する(ステップS107)。
【0182】
そして、受信端末9は、失効リストによる検証の結果、アプリIDが失効していると判定した場合(ステップS108でYes)、アプリケーション認証動作を終了する。
一方、アプリIDが有効であると判定した場合(ステップS108でNo)、受信端末9は、アプリケーション管理手段97によって、アプリケーションの起動(復号、再生)あるいは蓄積を行う(ステップS109)。
以上の動作によって、正規のアプリケーション制作者によって正当な署名が付加されたアプリケーションのみが受信端末9において、起動・蓄積されることになる。
【0183】
(署名検証)
次に、
図15を参照(適宜
図6参照)して、署名を検証する動作について説明する。なお、ここで説明する動作は、
図14で説明したステップS105の署名検証動作に相当し、受信端末9の署名検証手段95において動作する。
【0184】
まず、署名検証手段95は、検証鍵管理手段91に記録されている検証鍵に含まれるハッシュ関数H(・)を用いて、アプリケーションに付加されている部分鍵検証情報v
2とアプリIDの値(T+n)とに基づいて、前記式(16)によりハッシュ値c
2を生成する(ステップS111)。
そして、署名検証手段95は、ハッシュ値c
2と、検証鍵の一部(p,g,y
0,y′)と、署名情報(σ
s,c
s,v
2)とに基づいて、前記式(17)の条件式が成り立つか否かにより、署名σ
sの検証を行う(ステップS112)。
【0185】
ここで、前記式(17)の条件式が成り立つ場合(ステップS112でYes)、署名検証手段95は、検証結果に署名が正当である旨を設定する(ステップS113)。一方、前記式(17)の条件式が成り立たない場合(ステップS112でNo)、署名検証手段95は、検証結果に署名が正当でない旨を設定する(ステップS114)。
以上の動作によって、受信端末9は、アプリケーションに付加された署名を検証することができる。
【0186】
〔アプリケーション失効〕
次に、
図16を参照(適宜
図2,
図6参照)して、アプリケーションを失効させる動作について説明する。
【0187】
まず、鍵管理サーバ1は、失効リスト通知手段28の失効リスト生成手段281によって、外部から入力される失効情報に基づいて、失効リスト(RL)を生成する(ステップS121)。このとき、失効リスト生成手段281には、失効させたいアプリケーションを特定する失効情報として、例えば、
図19(a)に示すように、特定のアプリケーションを失効させる場合、セキュリティ更新番号S
N、放送局番号B
N、制作者番号C
Nおよびアプリ番号A
Nが入力される。そして、失効リスト生成手段281は、失効情報で特定されるアプリIDの区分以外の区分の領域をワイルドカードとして、RLを生成する。
そして、鍵管理サーバ1は、失効リスト送信手段282によって、ステップS121で生成した失効リストを、受信端末9に送信する(ステップS122)。
【0188】
一方、受信端末9は、失効リスト受信手段92によって、失効リストを受信する(ステップS123)。
そして、受信端末9は、失効リスト管理手段93によって、失効リストを、図示を省略した記憶手段に書き込み記憶する(ステップS124)。
以上の動作によって、受信端末9には、失効させたいアプリIDが記憶され、
図14で説明したステップS107において、失効リストの検証が可能になる。
【0189】
以上説明したアプリケーション認証システムSによれば、放送局が、鍵生成および鍵管理を行うとともに、受信端末9が、アプリケーション制作者の数によらず固定長の検証鍵を用いて署名の検証を行うことができる。
【0190】
また、アプリケーション認証システムSは、マスタ鍵を分離して管理するため、一方のマスタ鍵が漏洩した場合であっても、もう一方のマスタ鍵がなければ署名鍵を更新することができないため、より安全にアプリケーション制作者の認証を行うことができる。
【0191】
以上、本発明の実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、鍵管理サーバ1は、一般的なコンピュータを、前記した各手段として機能させるプログラム(鍵管理プログラム〔鍵生成プログラム、署名鍵更新用部分鍵生成プログラム〕)により動作させることで実現することができる。同様に、署名鍵発行サーバ3は、一般的なコンピュータを、前記した各手段として機能させるプログラム(署名鍵発行プログラム)により動作させることで実現することができる。
【0192】
また、アプリケーション署名付加サーバ5の署名鍵更新装置50は、一般的なコンピュータを、前記した各手段として機能させるプログラム(署名鍵更新プログラム)により動作させることで実現することができ、署名生成装置60は、一般的なコンピュータを、前記した各手段として機能させるプログラム(アプリケーション署名付加プログラム)により動作させることで実現することができる。さらに、受信端末9は、一般的なコンピュータを、前記した各手段として機能させるプログラム(アプリケーション認証プログラム)により動作させることで実現することができる。
【0193】
なお、ここでは、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.)を用いて、本発明の署名鍵およびアプリIDの更新および失効を行うシステムを実現することも可能である。
【0194】
[アプリケーション認証システムの他の構成(IDベース署名)]
以下、IDベース署名を用いた本発明の他の実施形態について説明する。
図20に示すように、IDベース署名を用いて本発明を実施した場合、アプリケーション認証システムS
Bは、放送局内に備えた鍵管理サーバ(鍵管理装置)1Bと、アプリケーション制作者が保持するアプリケーション署名付加サーバ5Bと、アプリケーション配信者が保持するアプリケーション配信サーバ7と、ユーザ宅内に備えた(あるいは、ユーザが携帯する)受信端末9とで構成される。
【0195】
IDベース署名は、部分鍵という概念は存在せず、1つのマスタ鍵とID情報から署名鍵が生成される。そこで、アプリケーション認証システムS
Bは、
図1で説明したアプリケーション認証システムSから署名鍵発行サーバ3を省き、鍵管理サーバ1の鍵生成装置10および部分鍵生成装置20を、鍵生成装置10Bおよび署名鍵生成装置20Bとして鍵管理サーバ1Bを構成するとともに、アプリケーション署名付加サーバ5の署名鍵更新装置50を新たな署名鍵更新装置50Bとしてアプリケーション署名付加サーバ5Bを構成している。なお、アプリケーション配信サーバ7および受信端末9は、
図1と同一のものである。
【0196】
〔鍵管理サーバの構成〕
まず、
図21を参照(適宜
図20参照)して、鍵管理サーバの構成について説明を行う。ここでは、鍵管理サーバ(鍵管理装置)1Bは、鍵生成装置10Bと、署名鍵生成装置20Bとを備えている。なお、鍵生成装置10Bと署名鍵生成装置20Bとは、図示を省略した通信インタフェースによって通信可能に接続されているものとする。
【0197】
(鍵生成装置の構成)
鍵生成装置10Bは、署名鍵を生成するためのマスタ鍵と、署名鍵を検証するための検証鍵とを生成し、管理(記憶)するものである。ここでは、鍵生成装置10Bは、鍵生成手段11Bと、検証鍵管理手段12と、マスタ鍵管理手段13Bとを備えている。なお、検証鍵管理手段12は、
図2で説明したものと同一であるため、説明を省略する。
【0198】
鍵生成手段11Bは、マスタ鍵と検証鍵とを生成するものである。ここでは、鍵生成手段11Bは、IDベース署名方式によりマスタ鍵と検証鍵とを生成する。この鍵生成手段11Bは、生成した検証鍵を検証鍵管理手段12に出力し、生成したマスタ鍵をマスタ鍵管理手段13Bに出力する。
【0199】
マスタ鍵管理手段13Bは、鍵生成手段11Bで生成されたマスタ鍵を記憶し、管理するものである。このマスタ鍵管理手段13Bは、
図2で説明した第1マスタ鍵管理手段13が管理する第1マスタ鍵と同様に、マスタ鍵を管理する。
【0200】
(署名鍵生成装置の構成)
署名鍵生成装置20Bは、署名鍵の生成、ならびに、署名鍵を更新する際に使用する鍵情報を生成するとともに、失効した署名鍵のリストを示す失効リストを生成するものである。ここでは、署名鍵生成装置20Bは、署名鍵生成手段21Bと、署名鍵管理手段22Bと、署名鍵出力手段23Bと、更新要求受信手段24と、署名鍵更新情報生成手段25Bと、署名鍵更新情報送信手段26Bと、登録完了受信手段27と、失効リスト通知手段28とを備えている。
【0201】
更新要求受信手段24、登録完了受信手段27および失効リスト通知手段28は、
図2で説明した部分鍵生成装置20と同一の構成であるため説明を省略する。
前記したように、IDベース署名は、部分鍵という概念は存在せず、1つのマスタ鍵とID情報から署名鍵が生成されるため、ここでは、
図2に示した部分鍵生成手段21、部分鍵管理手段22および部分鍵送信手段23を、それぞれ、署名鍵生成手段21B、署名鍵管理手段22Bおよび署名鍵出力手段23Bとして構成している。
すなわち、署名鍵生成装置20Bは、署名鍵生成手段21Bによって、IDベース署名方式による署名鍵(署名鍵情報)を生成し、署名鍵管理手段22Bで署名鍵を管理(記憶)するとともに、署名鍵出力手段23Bによって、外部に出力する。なお、署名鍵出力手段23Bは、例えば、CD−R等の記憶媒体の書き込み装置(図示せず)に署名鍵(署名鍵情報)を出力し、CD−R等に書き込みを行う。このように署名鍵(署名鍵情報)が書き込まれた記憶媒体は、オフラインでアプリケーション署名付加サーバ5Bに配布される。
【0202】
また、ここでは、
図2に示した署名鍵更新情報生成手段25および署名鍵更新情報送信手段26を、それぞれ、署名鍵更新情報生成手段25Bおよび署名鍵更新情報送信手段26Bして構成している。
この署名鍵更新情報生成手段25Bおよび署名鍵更新情報送信手段26Bにおいても、
図2に示した署名鍵更新情報生成手段25および署名鍵更新情報送信手段26が、部分鍵の差分を求めてアプリケーション署名付加サーバ5に送信しているのに対し、署名鍵の差分を求めてアプリケーション署名付加サーバ5Bに送信している点のみが異なっている。
【0203】
〔アプリケーション署名付加サーバの構成〕
次に、
図22を参照(適宜
図20参照)して、アプリケーション署名付加サーバの構成について説明を行う。ここでは、アプリケーション署名付加サーバ5Bは、署名鍵更新装置50Bと、署名生成装置60とを備えている。署名生成装置60は、
図4で説明したものと同一のものであるため、説明を省略する。
【0204】
署名鍵更新装置50Bは、アプリケーション制作者に配布された署名鍵を、鍵管理サーバ1Bから送信される差分署名鍵(差分署名鍵情報)に基づいて更新するものである。ここでは、署名鍵更新装置50Bは、署名鍵入力手段51と、署名鍵管理手段52と、署名鍵更新要求手段53と、署名鍵更新情報受信手段54Bと、署名鍵更新手段55Bとを備えている。なお、署名鍵入力手段51、署名鍵管理手段52および署名鍵更新要求手段53は、
図4で説明したものと同一のものである。
【0205】
また、署名鍵更新情報受信手段54Bおよび署名鍵更新手段55Bは、
図4で説明した署名鍵更新情報受信手段54および署名鍵更新手段55が差分部分鍵を受信して署名鍵を更新したのに対し、差分署名鍵を受信して署名鍵を更新する点のみが異なっている。なお、署名鍵更新手段55Bは、一般的なIDベース署名方式により、差分署名鍵を用いて署名鍵を更新する。
このように、本発明は、アプリケーション制作者が制作するアプリケーションに付加する署名を検証する公開情報である検証鍵と、当該検証鍵に対応した秘密情報であるアプリケーション固有の鍵であって順次更新される署名鍵とを用いた署名方式において、アプリケーションの番号、バージョン等のアプリIDを区分した領域に対応付けて、署名鍵を容易に失効させることができるとともに、署名鍵を容易に更新することができる。
【0206】
[アプリケーション認証システムの変形例]
また、ここでは、アプリケーション認証システムS,S
B(
図1,
図20参照)において、アプリケーション署名付加サーバ5,5Bを、アプリケーション制作者側に配置し、アプリケーション制作者に署名鍵を配布することとしたが、アプリケーション署名付加サーバ5,5Bを、アプリケーション配信者側に配置し、アプリケーション配信者に署名鍵を配布することとしてもよい。すなわち、
図23、
図24に示すように、アプリケーション認証システムS
C,S
Dを構成してもよい。
【0207】
この場合、アプリケーション制作者が制作したアプリケーションは、アプリケーション配信者側に設置されたアプリケーション署名付加サーバ5,5Bの署名生成装置60のアプリケーション入力手段61(
図4参照)に入力され、ID・署名付きアプリケーションがアプリケーション配信サーバ7に登録されることになる。
あるいは、アプリケーション制作者が、アプリケーション配信サーバ7のアプリケーション記憶手段72(
図5参照)にアプリケーションを登録した後、アプリケーション署名付加サーバ5の署名生成装置60が、アプリケーション入力手段61(
図4参照)によって、そのアプリケーションを読み出し、ID・署名付きアプリケーションとして登録し直すこととしてもよい。
これによって、署名鍵を、アプリケーション配信者が一括して管理することができる。