【文献】
Hybridcastのためのアプリケーション認証技術,NHK技研R&D,日本放送協会,2013年 3月15日,No. 138,p. 62
(58)【調査した分野】(Int.Cl.,DB名)
放送波を受信すると共に通信回線を介して情報を送受信することのできる受信機からのアプリケーションの配信要求に対して、当該アプリケーション及び当該受信機の登録情報に応じて前記アプリケーションを配信するアプリケーション配信管理システムであって、
前記アプリケーションに署名を付加し、前記アプリケーションを登録する際に、少なくとも前記アプリケーションの識別情報であるIDと、前記受信機が前記署名を検証することで前記アプリケーションを認証する認証処理において前記受信機の機器自体の情報も利用する機器認証が必要か否かの情報と、を対応付けて登録するアプリケーション登録サーバと、
前記受信機から受信する配信要求に応じて前記登録済みのアプリケーションを配信するアプリケーション配信サーバと、
特定の時点において失効させるべき前記登録済みのアプリケーションのIDと、前記受信機の機器自体の情報と、を記載したID失効リストを生成して当該ID失効リストの版数を示すバージョン情報を含めて前記受信機に対して配信するID失効リスト生成配信装置と、
前記受信機が保持する前記ID失効リストのバージョン情報と当該受信機の機器自体の情報とを含む受信機情報を前記受信機ごとに登録して保持する受信機管理サーバと、
を備え、
前記アプリケーション登録サーバは、前記登録済みのアプリケーションと、そのIDと、当該アプリケーションに付加した署名と、当該アプリケーションを認証する認証処理に前記機器認証が必要か否かの情報とをパッケージ化し、配信用のアプリケーションとして前記アプリケーション配信サーバへ送信し、
前記アプリケーション配信サーバは、前記アプリケーション登録サーバから前記配信用のアプリケーションを受信し、パッケージ化されていた前記機器認証が必要か否かの情報に基づいて、前記受信機から、前記機器認証が必要なアプリケーションの配信要求を受け付けたと判定した場合、当該受信機が前記受信機管理サーバに機器認証されているか否かを示す機器認証情報を前記受信機管理サーバから取得し、取得した前記機器認証情報が前記機器認証を満たすものか否かを判別し、満たすと判定できた場合、当該アプリケーションを配信し、
前記受信機は、配信されたアプリケーションに付加されている署名が正当なものである場合、前記ID失効リスト生成配信装置から取得したID失効リストにおいて、当該アプリケーションに対応するIDと対応付けられて記載された受信機情報として、当該受信機の機器自体の情報と一致するものが含まれていない場合、当該アプリケーションを起動可能と判定し、一致するものが含まれていた場合、当該アプリケーションを起動不可と判定することを特徴とするアプリケーション配信管理システム。
前記ID失効リスト生成配信装置は、前記放送送信手段によって、前記受信機に対して既に配信した前記ID失効リストを、放送波または通信回線を介して所定のタイミングで更新するためのスケジュール情報を含む更新トリガーを配信することを特徴とする請求項3に記載のアプリケーション配信管理システム。
請求項1から請求項6のいずれか一項に記載のアプリケーション配信管理システムの受信機が備えるコンピュータをアプリケーション認証手段として機能させるためのアプリケーション認証プログラムであって、
前記受信機は、
前記アプリケーション配信サーバから配信された前記アプリケーションに付加された署名の正当性の判定に用いる公開鍵を記憶する公開鍵管理手段と、
前記ID失効リスト生成配信装置から放送波または通信回線を介して前記ID失効リストを取得するID失効リスト取得手段と、
当該受信機の機器自体の情報を格納した受信機情報管理データベースと、
前記アプリケーション認証手段と、を備え、
前記アプリケーション認証手段は、
配信された前記アプリケーションに付加されている署名が正当なものであるか否かを前記公開鍵によって検証する署名検証ステップと、
前記署名が正当なものである場合、前記取得したID失効リストにおいて、当該アプリケーションに対応するIDと対応付けられて記載された受信機情報として、当該受信機の機器自体の情報と一致するものが含まれているか否かを判別する機器情報検証ステップと、
前記ID失効リストに記載された受信機情報に、当該受信機の機器自体の情報と一致するものが含まれていない場合、当該アプリケーションを起動可能と判定する認証判定ステップと、
前記ID失効リストに記載された受信機情報に、当該受信機の機器自体の情報と一致するものが含まれていた場合、当該アプリケーションを起動不可と判定する失効判定ステップと、を含んで実行することを特徴とするアプリケーション認証プログラム。
【発明を実施するための形態】
【0034】
以下、本発明を実施するための形態について、図面を参照し詳細に説明する。
(1.アプリケーション配信管理システムの概要)
アプリケーション配信管理システム1は、
図1に示すように、受信機10からのアプリケーションの配信要求に対して、当該アプリケーション及び当該受信機10の登録情報に応じてアプリケーションを配信するものである。なお、
図1では1つの受信機10を示したが、実際には複数の受信機10が存在する。
【0035】
受信機10は、例えば地上デジタル放送等の放送波を受信すると共に、インターネット等の通信ネットワーク(通信回線)Nを介して情報を送受信することができる。受信機10は、放送通信連携サービスにて使用される従来公知の放送通信連携装置が基本動作を行うための各種機能を備えている。なお、放送通信連携サービスや、受信機10の前記基本動作等については例えば特許文献2等に記載されているので本明細書ではその詳細を割愛する。なお、受信機10の構成例については後記する。
【0036】
アプリケーション配信管理システム1は、アプリケーションの配信管理を実現するセキュリティ管理サーバとして、
図1に示すように、例えばアプリケーション登録サーバ2と、アプリケーション配信サーバ6と、受信機管理サーバ7と、ID失効リスト生成配信装置8と、を備えている。なお、各サーバ等の台数は、複数であってもよい。
【0037】
アプリケーション配信管理システム1では、従来公知のアプリケーション署名に基づくアプリケーション配信モデル(アプリケーション登録サーバ2及びアプリケーション配信サーバ6)に、受信機管理サーバ7と、ID失効リスト生成配信装置8とを組み合わせることで、効率的なアプリケーションの配信管理と失効を可能とする。
アプリケーション登録サーバ2は、配信するアプリケーションに対してIDと署名とを付加するものである。
【0038】
アプリケーション配信サーバ6は、IDと署名とが付加されたアプリケーションを取得して記憶手段に格納し、登録して管理するものである。
アプリケーション配信サーバ6は、受信機10から、アプリケーションの配信要求(11a)を受信すると、それに応じて登録済みのアプリケーションを配信する(11b)と共に当該受信機10に対する登録済みのアプリケーションの配信履歴を蓄積保持するものである。このとき、アプリケーション配信サーバ6は、受信機管理サーバ7に情報を要求することで(12a)、当該受信機10の機器認証情報を取得し(12b)、当該受信機10がアプリケーション配信の資格を満たせば、通信ネットワークNを介して、当該受信機10にアプリケーションを配信する。なお、本実施形態に係るアプリケーション配信管理システム1では、配信されるアプリケーションには、受信機10への配信の資格として、受信機10自体の機器認証が必要な場合と、必要ではない場合の2パターンを想定している。ここで、機器認証とは、受信機10が署名を検証することでアプリケーションを認証する認証処理において、受信機の機器自体の情報も利用する認証処理のことを指す。
このために、アプリケーション登録サーバ2は、アプリケーションを登録する際に、アプリケーションに対して、少なくともアプリケーションの識別情報であるIDと、機器認証が必要か否かの情報と、を対応付けて登録する。
【0039】
アプリケーション配信サーバ6は、アプリケーションの配信履歴を管理し、ID失効リスト生成配信装置8から、アプリケーションの配信履歴の要求(14a)を受信すると、それに応じて管理している配信履歴を返信(14b)することで、ID失効リスト生成配信装置8と情報を共有する。
【0040】
受信機管理サーバ7は、受信機10が保持するID失効リストのバージョン情報と当該受信機10の機器自体の情報を含む受信機情報を受信機10ごとに登録して保持するものである。
受信機管理サーバ7は、受信機10から、当該受信機10の機器認証要求(13a)を受信すると、それに応じて機器認証結果を返信(13b)する。
受信機管理サーバ7は、当該受信機10に対するこの機器認証結果を受信機情報として管理し、ID失効リスト生成配信装置8から要求(15a)を受信すると、それに応じて受信機情報を返信(15b)する。なお、同様に、アプリケーション配信サーバ6との間でも情報を共有する。
【0041】
ID失効リスト生成配信装置8は、受信機10をリボークするのに必要なID失効リストを生成して配信するものである。ID失効リストには、特定の時点において失効させるべき登録済みのアプリケーションのIDと、受信機10の機器自体の情報とが記載されている。また、ID失効リストには、当該ID失効リストの版数を示すバージョン情報を含まれている。
ID失効リスト生成配信装置8は、アプリケーション配信サーバ6から取得した配信履歴と、受信機管理サーバ7から取得した受信機情報とを用いて、ID失効リストを生成する。このID失効リスト生成配信装置8は、アプリケーションのIDを含むID失効リスト生成要求が入力されたときに、アプリケーション配信サーバ6で保持する当該アプリケーションの配信履歴で特定される配信先の受信機の識別情報により、受信機管理サーバ7で保持する当該受信機における受信機情報を記載することで、ID失効リストを生成する。生成したID失効リストは、受信機10をリボークするために、放送(16)または通信(17)により、受信機10に配信される。
受信機10は、通信によりID失効リスト生成配信装置8に対して、所定のタイミングで、自身が保持しているID失効リストのバージョンの情報(18)を通知する。
【0042】
アプリケーション配信サーバ6は、受信機10から、機器認証が必要なアプリケーションの配信要求を受け付けた場合、当該受信機10が受信機管理サーバ7に機器認証されているか否かを示す機器認証情報を受信機管理サーバ7から取得し、取得した機器認証情報が機器認証を満たすものか否かを判別し、満たすと判定できた場合、当該アプリケーションを配信する。
【0043】
アプリケーション配信管理システム1を構成する各装置は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備えた一般的なコンピュータやサーバ、及び、HDD(Hard Disk Drive)に記憶されRAMに展開されるプログラムを備えている。そして、各装置は、前記したハードウェア資源とソフトウェアとが協働することにより後記する各機能が実現されるものである。また、このプログラムは、通信回線を介して提供することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。以下、各装置の構成の詳細について説明する。
【0044】
(2.アプリケーション配信管理システムを構成する各装置の構成の詳細)
[アプリケーション登録サーバ2]
アプリケーション登録サーバ2は、
図2に示すように、例えば、アプリケーション管理サーバ3と、部分鍵管理サーバ4と、秘密鍵発行サーバ5と、を備えている。
【0045】
アプリケーション管理サーバ3は、アプリケーションを登録(格納)し、アプリケーションに対してIDを発行し、秘密鍵を用いて署名を生成し、アプリケーションとIDと署名とをパッケージ化するものである。アプリケーション管理サーバ3は、署名付きアプリケーション(パッケージ)をアプリケーション配信サーバ6へ送信する。アプリケーション管理サーバ3は、アプリケーションに対して発行したIDを部分鍵管理サーバ4へ送信する(21a)。
【0046】
部分鍵管理サーバ4は、アプリケーション管理サーバ3から受信するIDに対応した部分鍵を生成し、生成した部分鍵を保持して更新する制御を行う。部分鍵管理サーバ4は、生成した部分鍵を秘密鍵発行サーバ5へ送信する(22)。
秘密鍵発行サーバ5は、部分鍵管理サーバ4から受信した部分鍵を用いて、秘密鍵を生成し、生成した秘密鍵をアプリケーション管理サーバ3へ送信する(23)。
【0047】
アプリケーションに付加する署名の更新時には、アプリケーション管理サーバ3は、新たなIDを発行して部分鍵管理サーバ4へ送信する(21a)。そして、部分鍵管理サーバ4は、受信した新たなIDに対応した部分鍵を生成し、旧IDの部分鍵との差分である差分部分鍵をアプリケーション管理サーバ3へ返送する(21b)。そして、アプリケーション管理サーバ3は、受信する差分部分鍵を用いて秘密鍵を更新し、更新された秘密鍵を用いて署名を更新する。なお、仮想線(24)については本実施形態の変形例2にて説明する。
【0048】
[アプリケーション管理サーバ3]
本実施形態では、アプリケーション管理サーバ3は、
図3に示すように、アプリケーション受信部31と、アプリケーション登録データベース32と、ID発行更新装置33と、公開鍵管理部34と、署名生成部35と、パッケージ化手段36と、秘密鍵更新部37と、を備えている。
【0049】
アプリケーション受信部31は、外部からアプリケーションを受信し、アプリケーション登録データベース32のアプリケーションデータベース32aに格納する。
アプリケーション登録データベース32は、例えば、アプリケーションデータベース32aと、IDデータベース32bと、秘密鍵データベース32cと、署名データベース32dと、を備えている。
【0050】
アプリケーションデータベース32aは、アプリケーション受信部31で受信したアプリケーションデータを格納する。
IDデータベース32bは、ID発行更新装置33内のID発行部33aにより発行された、アプリケーションに対応するIDを格納する。
【0051】
秘密鍵データベース32cは、前記IDが部分鍵管理サーバ4へ出力された後、秘密鍵発行サーバ5から取得する、前記IDに対応する秘密鍵を格納する。
署名データベース32dは、署名生成部35にて生成された署名を格納する。
アプリケーション登録データベース32は、アプリケーション管理サーバ3の管理者等が、必要に応じて、データベースの確認と属性変更を行うことができるように構成されている。ここでいう属性とは、アプリケーションの名前や説明などのメタデータや、配信に機器認証が必要
か否か等の属性のことである。
【0052】
ID発行更新装置33は、ID発行部33aと、ID更新部33bと、を備えている。
ID発行部33aは、アプリケーションの登録時に、アプリケーション受信部31でアプリケーションが受信されると、当該アプリケーションに対応するIDを発行し、IDデータベース32bに登録すると共に部分鍵管理サーバ4へ送信する。
ID更新部33bは、アプリケーション管理サーバ3の管理者等が行うID更新要求時に、当該アプリケーションに対応するIDを再発行(更新)し、IDデータベース32bに登録すると共に、更新前のIDと更新後のIDとを部分鍵管理サーバ4へ送信する。
【0053】
公開鍵管理部34は、公開鍵を管理する記憶手段である。この公開鍵は、秘密鍵(署名鍵)と共に署名を生成するために用いられる。また、公開鍵は、受信機10において署名を検証する検証鍵として用いられる。具体的には、公開鍵管理部41は、公開鍵を、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。ここでは、公開鍵管理部41は、公開鍵を受信機10に配布する際に、操作者の指示により記憶媒体から公開鍵を読み出す。このように読み出された公開鍵は、例えば、図示を省略したICカード発行装置に出力されICカードに書き込まれた後、受信機10に配布される。なお、公開鍵管理部41は、セキュアな通信路(例えば、放送波)を介して公開鍵を配信することとしてもよい。
【0054】
なお、公開鍵管理部34は、記憶している公開鍵を公開情報として公開するものとし、部分鍵管理サーバ4や秘密鍵発行サーバ5から、通信ネットワークNや内部ネットワークを介して取得あるいは参照可能であるものとする。
【0055】
署名生成部35は、秘密鍵データベース32cに格納されている秘密鍵と、公開鍵管理部34で管理されている公開鍵とを用いて、アプリケーションの正当性を表すために付加する署名を生成し、署名データベース32dに格納するものである。
アプリケーションに付加する署名の更新時には、秘密鍵(署名鍵)も更新されるので、署名生成部35は、更新された秘密鍵と公開鍵とを用いて、新しい署名を生成し、署名データベース32dへ再格納する。
【0056】
なお、署名は、例えばハッシュ値と、乱数と、秘密鍵データベース32cに記憶されている秘密鍵と、公開鍵の一部とに基づいて、生成することができる。この署名生成方法としては、例えば特許文献1等に記載された従来公知の方法を用いることができる。
【0057】
パッケージ化手段36は、ID、アプリケーション及び署名をパッケージ化し、署名付きアプリケーション(配信アプリケーション)としてアプリケーション配信サーバ6へ出力するものである。パッケージ化手段36は、新署名が格納されると、ID、アプリケーション及び署名を再度パッケージ化し、アプリケーション配信サーバ6へ再度送信する。
【0058】
このように署名が更新されたアプリケーションは、アプリケーション配信サーバ6で新IDにより管理されることになる。なお、アプリケーション配信サーバ6では、旧IDにより依然管理されている署名更新前のアプリケーションについては、非公開の扱いにして管理しておくことで公開禁止とする。
【0059】
秘密鍵更新部37は、部分鍵管理サーバ4から差分部分鍵が入力されると、秘密鍵データベース32cで管理(記憶)されている秘密鍵を、入力された差分部分鍵を用いて更新し、更新した秘密鍵を秘密鍵データベース32cへ再格納するものである。
【0060】
なお、新たな秘密鍵は、例えば更新前の秘密鍵に、差分部分鍵を加算することで、秘密鍵を更新する。その際に、秘密鍵更新部37は、秘密鍵データベース32cで管理(記憶)されている更新前の秘密鍵と、部分鍵管理サーバ4から受信した差分部分鍵と、公開鍵の一部である素数とに基づいて、新たな秘密鍵を生成することができる。この新たな秘密鍵の生成方法としては、例えば特許文献1等に記載された従来公知の方法を用いることができる。
【0061】
[部分鍵管理サーバ4]
部分鍵管理サーバ4は、
図4に示すように、鍵管理部40(公開鍵管理部41及びマスター鍵1管理部42)と、ID受信部43と、部分鍵生成部44と、部分鍵管理データベース45(IDデータベース46、部分鍵データベース47)と、差分部分鍵生成部48と、を備えている。なお、
図4では実際は1つのアプリケーション管理サーバ3を説明のために左右に振り分けて2つ記載した。
【0062】
公開鍵管理部41は、検証鍵としての公開鍵を記憶し、管理する記憶手段であって、アプリケーション管理サーバ3の公開鍵管理部34と同様である。
【0063】
本実施形態では、予め生成された2つのマスター鍵(第1マスター鍵、第2マスター鍵)を、アプリケーション登録サーバ2内のそれぞれ別のサーバ4,5で管理している。
部分鍵管理サーバ4のマスター鍵1管理部42は、第1マスター鍵記憶手段であり、予め生成された第1マスター鍵を記憶し、管理する。具体的には、マスター鍵1管理部42は、第1マスター鍵を、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。
【0064】
ここでは、マスター鍵1管理部42は、部分鍵生成部44において部分鍵を生成する際に、記憶媒体から第1マスター鍵を読み出す。この場合、マスター鍵1管理部42は、部分鍵生成部44からの要求、あるいは、操作者からの指示により記憶媒体から第1マスター鍵を読み出し、部分鍵生成部44に出力する。
【0065】
ID受信部43は、アプリケーション管理サーバ3から、アプリケーションに対して発行されたIDを入力され、部分鍵生成部44に出力する。受信したIDは、部分鍵管理データベース45内のIDデータベース46にて管理される。
ID更新要求時(
図3参照)、ID受信部43は、アプリケーション管理サーバ3から、更新前のIDと更新後のIDとを受信し、更新後のIDを更新前のIDと紐づけてIDデータベース46に格納する。
【0066】
部分鍵生成部44は、ID受信部43において入力されたIDに基づいて、部分鍵を生成するものである。部分鍵生成部44は、生成した部分鍵を部分鍵管理データベース45に出力する。アプリケーションの登録時(ID発行時)、生成された部分鍵は、秘密鍵発行サーバ5へ出力される。
ID更新要求時(
図3参照)、部分鍵生成部44は、更新後のIDに対応する部分鍵を新たに生成し、更新された部分鍵を部分鍵データベース47に格納する。
【0067】
部分鍵生成部44は、部分鍵を生成するために、例えばZ
qから乱数をランダムに生成し、その乱数と、公開鍵管理部41から読み出した公開鍵(検証鍵)の一部とに基づいて、部分鍵検証情報を生成する。また、部分鍵生成部44は、部分鍵を生成するために、公開鍵(検証鍵)の一部であるハッシュ関数により、秘密鍵(署名鍵)に対応する部分鍵検証情報のハッシュ値を生成する。そして、部分鍵生成部44は、マスター鍵1管理部42から読み出した第1マスター鍵と、公開鍵管理部41から読み出した公開鍵(検証鍵)の一部と、部分鍵検証情報のハッシュ値と、Z
qからランダムに生成した乱数とに基づいて、部分鍵を生成する。この部分鍵生成のための一連の流れは、例えば特許文献1等に記載された従来公知の方法を用いることができる。
【0068】
部分鍵管理データベース45は、部分鍵生成部44で生成された部分鍵を記憶し、管理するものである。部分鍵管理データベース45は、例えばIDデータベース46と、部分鍵データベース47とを備えている。
IDデータベース46は、ID受信部43で受信したIDを格納する。
部分鍵データベース47は、部分鍵生成部44で生成された部分鍵を格納する。
部分鍵管理データベース45は、部分鍵管理サーバ4の管理者等が、必要に応じて、データベースの確認を行うことができるように構成されている。
【0069】
差分部分鍵生成部48は、ID更新要求時(
図3参照)、更新されたIDに対応して部分鍵生成部44で新たに生成された部分鍵と、部分鍵データベース47で管理(記憶)されている更新前のIDに対応する更新前の部分鍵との差分をとることで、差分部分鍵を生成するものである。生成された差分部分鍵は通信ネットワークNを介してアプリケーション管理サーバ3に送信される。なお、差分部分鍵は、例えば特許文献1等に記載された従来公知の方法で生成することができる。
【0070】
[秘密鍵発行サーバ5]
秘密鍵発行サーバ5は、
図5に示すように、鍵管理部50(公開鍵管理部51及びマスター鍵2管理部52)と、部分鍵受信部53と、秘密鍵生成部54と、を備えている。なお、
図5では実際は1つのアプリケーション管理サーバ3を説明のために左右に振り分けて2つ記載した。
【0071】
公開鍵管理部51は、検証鍵としての公開鍵を記憶し、管理する記憶手段であって、アプリケーション管理サーバ3の公開鍵管理部34と同様である。ここでは、公開鍵管理部51は、秘密鍵生成部54からの要求により、管理(記憶)している公開鍵を秘密鍵生成部54に出力する。
【0072】
本実施形態では、予め生成された2つのマスター鍵(第1マスター鍵、第2マスター鍵)を、アプリケーション登録サーバ2内のそれぞれ別のサーバ4,5で管理している。
秘密鍵発行サーバ5のマスター鍵2管理部52は、第2マスター鍵記憶手段であり、予め生成された第2マスター鍵を記憶し、管理する。具体的には、マスター鍵2管理部52は、第2マスター鍵を、図示を省略した記憶媒体に書き込み、要求に応じて読み出す。ここでは、マスター鍵2管理部52は、秘密鍵生成部54からの要求により、管理(記憶)している第2マスター鍵を秘密鍵生成部54に出力する。
【0073】
部分鍵受信部53は、アプリケーションの登録時に、部分鍵管理サーバ4から、部分鍵管理サーバ4で生成された部分鍵(部分鍵情報)を、内部ネットワークを介して受信するものである。この受信した部分鍵は、秘密鍵生成部54に出力される。
【0074】
秘密鍵生成部54は、マスター鍵2管理部52で管理(記憶)されている第2マスター鍵と、部分鍵受信部53で受信した部分鍵とから、署名鍵として秘密鍵を生成するものである。秘密鍵生成部54が秘密鍵を生成するのは、アプリケーションの初回登録時のみである。なお、アプリケーション署名の更新時やID再発行時には、アプリケーション管理サーバ3の秘密鍵更新部37が、秘密鍵の生成(更新)を行う。
【0075】
この秘密鍵生成部54は、部分鍵に第2マスター鍵を加算することで、秘密鍵を生成する。具体的には、秘密鍵生成部54は、マスター鍵2管理部52で管理(記憶)されている第2マスター鍵と、部分鍵受信部53で受信した部分鍵と、公開鍵管理部51から読み出した公開鍵(検証鍵)の一部である素数とに基づいて、秘密鍵を生成する。この秘密鍵生成方法としては、例えば特許文献1等に記載された従来公知の方法を用いることができる。
【0076】
生成された秘密鍵は、アプリケーション管理サーバ3に出力される。アプリケーション管理サーバ3への秘密鍵の送信は、鍵の管理セキュリティ上、安全性が担保された経路で行われる必要がある。例えば、CD−R等の記憶媒体の書き込み装置(図示せず)に秘密鍵(秘密鍵情報)を出力し、CD−R等に書き込みを行う。このように秘密鍵が書き込まれた記憶媒体は、オフラインでアプリケーション管理サーバ3に配布される。
【0077】
[アプリケーション配信サーバ6]
アプリケーション配信サーバ6は、
図6に示すように、パッケージ管理データベース61と、パッケージ管理部62と、配信制御部63と、配信履歴管理データベース64と、を備えている。
【0078】
パッケージ管理データベース61は、アプリケーション管理サーバ3にてIDと署名が付加されたアプリケーション(パッケージ)を記憶するものである。パッケージ管理データベース61は、ハードディスク等の一般的な記録媒体に格納されている。パッケージ管理データベース61は、アプリケーション配信サーバ6の管理者等が、必要に応じて、データベースの確認や属性の変更(公開の可否など)を行うことができるように構成されている。
【0079】
パッケージ管理部62は、アプリケーション管理サーバ3より出力されたパッケージを受信すると、パッケージ管理データベース61へ格納する。
パッケージ管理部62は、配信制御部63が配信する配信アプリケーションを管理する。
【0080】
配信制御部63は、通信ネットワークNを介して、受信機10から、アプリケーションの配信要求を受け付け、要求されたアプリケーションを、パッケージ管理部62を介してパッケージ管理データベース61から読み出し、要求のあった受信機10に送信する。
【0081】
配信制御部63は、受信機10から配信要求されたアプリケーションが、ダウンロードする際に機器認証が必要なアプリケーションである場合、受信機管理サーバ7へ機器認証情報を要求する。配信制御部63は、受信機管理サーバ7から、機器認証情報を受信すると、アプリケーション配信要求を行った受信機10が機器認証を満たすものか否かを判別し、満たすと判定できた場合、アプリケーション配信を行う。ここで、機器認証情報は、受信機10が機器認証されているかどうかを示す情報である。したがって、アプリケーション配信要求を行った受信機10が受信機管理サーバ7に機器認証されていれば、配信制御部63は、当該受信機10が機器認証を満たすものと判定する。
【0082】
配信制御部63は、配信を行った履歴を配信履歴管理データベース64に記録する。配信制御部63は、ID失効リスト生成配信装置8からの要求に応じて、アプリケーションの配信履歴を提供する。
配信履歴管理データベース64は、配信制御部63が配信を行った履歴を格納する。
【0083】
[受信機管理サーバ7]
受信機管理サーバ7は、
図7に示すように、機器認証手段71と、受信機管理データベース72と、受信機管理手段73と、を備えている。
機器認証手段71は、受信機10からの機器認証要求に対して、受信機管理データベース72を参照して機器認証結果を送り返すと共に、機器認証結果を受信機管理データベース72に格納する。
【0084】
受信機管理データベース72は、受信機10の機器認証結果を格納している。受信機管理データベース72は、受信機10の受信機情報を受信機10ごとに格納している。受信機情報とは、受信機10の機器自体の情報721とID失効リストバージョン722とを含んでいる(
図14(a)参照)。
【0085】
受信機管理手段73は、受信機管理データベース72に格納されている機器認証結果や受信機情報を管理する。受信機管理手段73は、アプリケーション配信サーバ6からの要求に応じて、受信機管理データベース72に格納されている機器認証結果を参照し、受信機10が機器認証されているかどうかを示す機器認証情報を送り返す。受信機管理手段73は、ID失効リスト生成配信装置8からの要求に応じて、受信機管理データベース72に格納されている受信機情報を送り返す。
【0086】
[ID失効リスト生成配信装置8]
ID失効リスト生成配信装置8は、
図8示すように、ID失効リスト生成手段81と、ID失効リストデータベース82と、配信制御手段83と、放送送信手段84と、通信送信手段85と、失効リスト配信履歴データベース86と、通信受信手段87と、を備えている。
【0087】
ID失効リスト生成手段81は、受信機管理サーバ7から受信した受信機情報と、アプリケーション配信サーバ6から受信した登録済みのアプリケーションの配信履歴とを用いて、外部から入力されるID失効リスト生成要求を元にID失効リストを生成するものである。ID失効リスト要求には、アプリケーションID等が入力される。
【0088】
生成されたID失効リストには、バージョン(版数)を示す情報が付加される。このバージョン情報は、例えば、数値形式又はタイムスタンプ形式で表すことができる。生成されたID失効リストは、ID失効リストデータベース82内の通信配信用データベース88や放送配信用データベース89に格納される。どのデータベースに格納されるかについては、例えば配信制御手段83により決定される。勿論、これ以外の適切なアルゴリズムにより格納場所が決定されてもよい。
【0089】
ID失効リストデータベース82は、通信配信用データベース88と、放送配信用データベース89と、を備えている。ID失効リストデータベース82は、メモリ、ハードディスク等の記憶装置に記憶される。本実施形態では、全てのバージョンのID失効リストを記憶することとする。なお、ID失効リストは、ID失効リストデータベース82の中で、そのバージョン情報と共に、ID失効リスト自体の正当性を担保するハッシュや署名のデータ(以下、検証用情報という)と共に格納され管理されるものとする。
【0090】
配信制御手段83は、ID失効リストデータベース82に格納されたID失効リストを、放送送信手段84および通信送信手段85のうちのいずれかにより受信機10に配信する制御を行う。配信制御手段83は、通信送信手段85を用いてID失効リストを配信すると視聴者のアクセスが集中しサーバの許容量を超えると判定した場合は、ID失効リストを放送配信用データベース89に格納し、そうでない場合は、ID失効リストを通信配信用データベース88に格納する。
本実施形態では、配信制御手段83には、受信機からのアクセス数の許容限度を示す閾値が予め設定されており、配信制御手段83は、受信機によるアクセス数を監視する。また、配信制御手段83は、ID失効リストの配信に伴って受信機10によるアクセス数が前記閾値を超えるか否かを判別することで、サーバの許容量を超えるか否かを判別することとした。すなわち、受信機10によるアクセス数が前記閾値を超える場合、配信制御手段83は、放送送信手段84を用いてID失効リストを配信する制御を行う。一方、受信機10によるアクセス数が前記閾値を超えない場合、配信制御手段83は、通信送信手段85を用いてID失効リストを配信する制御を行う。
【0091】
配信制御手段83は、受信機10に配信したID失効リストの配信履歴を失効リスト配信履歴データベース86に記録して管理する。
失効リスト配信履歴データベース86は、配信制御手段83が受信機10に配信したID失効リストの配信履歴を格納する。
【0092】
放送送信手段84は、ID失効リスト生成配信装置8の最新ID失効リストを受信機10に一斉送信する。
通信送信手段85は、ネットワーク(通信回線)Nを介して受信機10に情報を送信するものである。
通信送信手段85は、通信受信手段87から入力されたID失効リスト要求に応じて、ID失効リスト生成配信装置8の最新ID失効リストと、受信機10の記憶済みID失効リストとの差分情報を、この受信機10に送信するものである。なお、記憶済みID失効リストとは、受信機10のID失効リスト記憶手段115(
図9参照)に記憶されたID失効リストのことである。
また、通信送信手段85は、ID失効リスト要求のバージョン情報に対応するID失効リスト(つまり、記憶済みID失効リストと同一のID失効リスト)を読み出す。そして、通信送信手段85は、前記した最新ID失効リストと、読み出したID失効リストとのアプリケーションIDを比較して、ID失効リストの差分情報を生成する。
【0093】
ここで、記憶済みID失効リストに含まれていないアプリケーションIDが、最新ID失効リストに含まれている場合を考える。この場合、通信送信手段85は、このアプリケーションIDを差分情報に追加する。
また、記憶済みID失効リストに含まれているアプリケーションIDが、最新ID失効リストに含まれていない場合を考える。この場合、通信送信手段85は、このアプリケーションIDの削除を示すID削除情報を差分情報に追加する。
その後、通信送信手段85は、生成したID失効リストの差分情報を、受信機10に送信する。これにより、受信機10は、自身で保有するID失効リストの更新が必要な場合、差分のID失効リストを受け取ることができる。
【0094】
通信受信手段87は、ネットワーク(通信回線)Nを介して受信機10から情報を受信するものである。通信受信手段87は、受信機10からID失効リスト要求を受信する。このID失効リスト要求は、ID失効リスト生成配信装置8に記憶された最新ID失効リストの要求を示すものである。例えば、このID失効リスト要求には、受信機10の所在情報(例えば、IPアドレス)と、受信機10自身が保有するID失効リストのバージョンの情報が含まれている。そして、通信受信手段87は、受信したID失効リスト要求を配信制御手段83に出力する。なお、最新ID失効リストとは、ID失効リストデータベース82に記憶された全ID失効リストのうち、最新バージョンのID失効リストのことである。
【0095】
本実施形態では、放送送信手段84は、受信機10に対して更新トリガーを配信することした。この更新トリガーは、受信機10に対して既に配信したID失効リストを、放送波または通信回線を介して所定のタイミングで更新するためのスケジュール情報を含んでいる。更新トリガーの配信は、既存のSDTT(Software Download Trigger Table)などを用いてもよい。
【0096】
この更新トリガーを受信機10が受信すると、受信した更新トリガーに含まれていたスケジュールにしたがって所定のタイミングでスタンバイ状態となる。このとき、更新トリガーの指示が放送波で取得する指示であったならば放送で受信し、一方、更新トリガーの指示が通信で取得する指示であったならば、受信機10がID失効リスト生成配信装置8にアクセスすることでID失効リストを受信する。
【0097】
後者のように受信機10が通信でID失効リストを取得するためにID失効リスト生成配信装置8にアクセスするスケジュールは、例えばサーバの輻輳を考慮して、受信機のアクセスが分散するように決定し、更新トリガーで指示することができる。その分散方法は、例えば、受信機をグループ化してグループ別のアクセススケジュールを通知しておけばよい。その際には、受信機10が受信機情報管理データベース121(
図9参照)に保有する機器IDなどの属性によって予め受信機をグループ化しておくことができる。この場合、アクセス分散に利用する受信機情報は、受信機管理サーバ7からID失効リスト生成手段81が受信すればよい。
【0098】
(3.アプリケーション受信側の装置の構成の詳細)
[受信機10]
受信機10は、
図9に示すように、受信放送デコード表示手段100と、公開鍵管理手段101と、アプリケーション取得手段102と、アプリケーション記憶手段103と、アプリケーション認証手段104と、アプリケーション実行手段105と、電源検知手段111と、ID失効リスト取得手段112と、放送受信手段113と、通信受信手段114と、ID失効リスト記憶手段115と、受信機情報管理データベース121と、通信送信手段122と、機器認証手段123と、を備えている。なお、
図9では1つの受信機管理サーバ7を説明のために2つ記載し、1つのID失効リスト生成配信装置8を説明のために2つ記載した。
【0099】
受信機10は、例えば地上デジタル放送を受信する受信装置が基本動作を行うために標準的に備えている複数の手段を同様に備えている。
受信放送デコード表示手段100は、その名称で端的に表すように各種機能を一括した手段であり、上記基本動作を行う複数の手段を表すものである。
この受信放送デコード表示手段100は、例えば下記(STD1)操作制御機能、(STD2)放送受信機能、(STD3)放送信号解析機能、(STD4)映像・音声復号機能、(STD5)データ放送復号機能、(STD6)合成表示機能、等を含んでいる。
なお、受信機10において、受信放送デコード表示手段100以外の別の機能や、受信放送デコード表示手段100の一部を利用する機能には、符号を付して順次説明する。
【0100】
(STD1)操作制御機能は、ユーザーがリモコンを介して、例えば電源のオン/オフや、チャンネルの変更等を指示した場合、該当する制御を行う機能である。
(STD2)放送受信機能は、アンテナ(不図示)、通信ネットワークN又はケーブル(不図示)を介して、放送番組(放送信号)を受信し、復調し、誤り訂正や復号を行い、MPEG2のトランスポートストリーム(TS)とする機能である。
(STD3)放送信号解析機能は、放送受信機能で復調されたストリームデータ(TS)において、PSI/SI(Program Specific Information〔番組特定情報〕/Service Information〔番組配列情報〕)を解析し、現在選局されている編成チャンネルに対応する映像、音声、データ放送等のデータを抽出する機能である。
【0101】
(STD4)映像・音声復号機能は、放送信号解析機能で抽出された映像・音声(MPEG2の映像ストリーム及び音声ストリーム)を復号し、復号した映像・音声データを合成表示機能に出力する機能である。
(STD5)データ放送復号機能は、放送信号解析機能で抽出されたデータ放送のデータを復号し、BMLを解析し、当該BMLを表示データに変換し、合成表示機能に出力する機能である。
(STD6)合成表示機能は、映像データ・音声データと、データ放送の表示データとを合成し、スピーカやディスプレイに出力する機能である。
【0102】
公開鍵管理手段101は、公開鍵を記憶し、管理する記憶手段である。
公開鍵管理手段101は、アプリケーション配信サーバ6から配信された公開鍵を記憶する。公開鍵は、アプリケーション配信サーバ6から配信されたアプリケーションに付加された署名の正当性の判定に用いられる。
【0103】
アプリケーション取得手段102は、通信送受信手段(通信送信手段122、通信受信手段114)および通信ネットワークNを介して、アプリケーションを起動するためのアプリケーション起動情報に記載された所在アドレス(URL)から当該アプリケーションを取得するものである。
本実施形態では、アプリケーション取得手段102は、アプリケーションを要求するためのリクエストを配置場所のアプリケーション配信サーバ6に対して送信すると共に、リクエストの応答として署名付きアプリケーションを受信する。
【0104】
以下、アプリケーション取得手段102で取得した署名付きアプリケーションのことを単にアプリケーションと呼ぶ場合もある。
アプリケーション登録サーバ2で登録されたアプリケーションには、機器認証が必要なアプリケーションと、機器認証が必要ではないアプリケーションとが存在する。
なお、アプリケーション登録サーバ2で登録されたアプリケーション以外のアプリケーションのことを一般アプリケーションと呼ぶ。一般アプリケーションは、例えば受信機10のディスプレイに表示される時計等のアプリケーションであって、当然に機器認証が必要ではないアプリケーションである。
【0105】
アプリケーション記憶手段103は、アプリケーションを記憶する記憶手段である。
アプリケーション記憶手段103は、アプリケーション取得手段102によって、アプリケーション配信サーバ6から取得したアプリケーションのほか、一般アプリケーションも記憶する。
【0106】
アプリケーション認証手段104は、入力された認証指示に応じて、アプリケーション認証処理を行う。アプリケーション認証手段104は、アプリケーション記憶手段103内のアプリケーションと、ID失効リスト記憶手段115内のID失効リストと、受信機情報管理データベース121内の受信機情報と、公開鍵管理手段101内の公開鍵とを用いて、アプリケーションの認証処理を行う。このアプリケーション認証の結果は、アプリケーション実行手段105に引き渡される。
【0107】
アプリケーション認証手段104は、機器認証が必要なアプリケーションの認証処理において、当該アプリケーションに付加された署名が正当なものである場合、取得したID失効リストにおいて、当該アプリケーションに対応するIDと対応付けられて記載された受信機情報として、当該受信機10の機器自体の情報と一致するものが含まれているか否かを判別する。一致するものが含まれていない場合、当該アプリケーションを起動可能と判定する。一致するものが含まれていた場合、当該アプリケーションを起動不可と判定する。アプリケーション認証手段104は、プログラム(アプリケーション認証プログラム)により実現できる。
【0108】
アプリケーション実行手段105は、アプリケーション認証手段104の認証処理の結果に応じて、アプリケーションを起動または失効する。
【0109】
電源検知手段111は、リモコンにより電源を切る操作をした状態(待機電源が投入されている状態)か、リモコンにより電源を入れる操作をした状態かを検知するものである。
ここでは、受信機10の電源プラグがコンセントから抜けていたり主電源がOFFしていたりした場合、受信機10の電源プラグをコンセントに繋げて主電源をON操作することを前提としている。また、その上で、リモコンにより電源を切る操作をした状態(待機電源が投入されている状態)のことをOFF状態といい、主電源をON操作した直後の状態やリモコンにより電源を入れる操作をした状態のことをON状態という。電源検知手段111は、電源がON状態かOFF状態かを示す情報をID失効リスト取得手段112に出力する。
【0110】
ID失効リスト取得手段112は、ID失効リスト生成配信装置8から放送波または通信回線を介してID失効リストを取得する。
ID失効リスト取得手段112は、通信送信手段122を介して、ID失効リスト要求をID失効リスト生成配信装置8に送信する。例えば、ID失効リスト取得手段112は、ID失効リスト記憶手段115から、記憶済みID失効リストのバージョン情報を読み出す。そして、ID失効リスト取得手段112は、受信機10の所在情報と、読み出したバージョン情報とが含まれるID失効リスト要求を生成し、ID失効リスト生成配信装置8に送信する。なお、ID失効リスト生成配信装置8の所在情報(例えば、URL)は、受信機10に予め設定しておく。
【0111】
ID失効リスト取得手段112は、放送受信手段113を介して、カルーセルで送信されたID失効リストを取得し、取得したID失効リストをID失効リスト記憶手段115に書き込む。
ID失効リスト取得手段112は、通信受信手段114を介して、ID失効リスト要求に応じて、ID失効リスト生成配信装置8から、ID失効リストを受信する。
なお、ID失効リストを取得する取得方法及びそのタイミングと、電源検知手段111から取得する情報とを用いた制御については、受信機の動作(
図17)の説明に含めて後記する。
【0112】
放送受信手段113は、受信放送デコード表示手段100の(STD2)放送受信機能、(STD3)放送信号解析機能及び(STD5)データ放送復号機能を代表した手段である。このうち、最終段のデータ放送復号機能がBMLを解析することで、カルーセルで送信されたID失効リストが、ID失効リスト取得手段112に出力される。
【0113】
通信受信手段114は、ネットワーク(通信回線)Nを介して各種情報を受信するものである。通信受信手段114は、アプリケーション配信サーバ6からアプリケーションを受信したり、ID失効リスト生成配信装置8から、ID失効リストを受信したりする。
【0114】
ID失効リスト記憶手段115は、ID失効リスト取得手段112により放送または通信で取得したID失効リストを記憶する記憶手段である。
ID失効リスト記憶手段115は、ID失効リスト取得手段112によって差分情報が反映されたID失効リストを1種類だけ記憶する。例えば、ID失効リスト記憶手段115は、ローカル暗号で暗号化されたID失効リストを記憶する。また、ID失効リスト記憶手段115は、ICカード等の耐タンパーデバイスとしてもよい。
【0115】
受信機情報管理データベース121は、当該受信機10の機器自体の情報を格納している。受信機情報管理データベース121は、耐タンパー性を有する。
【0116】
通信送信手段122は、ネットワーク(通信回線)Nを介して各種情報を送信するものである。通信送信手段122は、受信機情報管理データベース121に保持する受信機情報(機器自体の情報)を、ネットワーク(通信回線)Nを介して受信機管理サーバ7に通知する。
通信送信手段122は、ID失効リスト記憶手段115に保持するID失効リストのバージョンの情報を、ネットワーク(通信回線)Nを介してID失効リスト生成配信装置8に通知する。
【0117】
機器認証手段123は、受信機管理サーバ7に対して機器認証を要求し、その結果を受信するものである。機器認証要求には、当該受信機10の受信機情報として、当該受信機10の機器自体の情報を含み、機器認証結果は、例えば当該受信機10の機器自体の情報が登録された旨を示す情報を含む。機器認証要求は、アプリケーションの配信要求を実行する際や、アプリケーションの配信要求を実行する前の所定のタイミングで行うことができる。
【0118】
(4.アプリケーションの配信側及び受信側にて管理されるデータベースの具体例)
<アプリケーション登録データベース32>
図10は、
図3に示したアプリケーション管理サーバにおけるアプリケーション登録データベースの記憶構造の一例を示す図である。
アプリケーション登録データベース32は、アプリケーション毎の項目として、アプリケーションID321、アプリケーション名322、アプリケーションデータ323、秘密鍵324、署名325、機器認証326を有し、各項目に対応した情報やデータを格納している。
【0119】
アプリケーションID321は、アプリケーション登録サーバ2において、アプリケーション管理サーバ3のID発行更新装置33で発行されたIDの情報を示すものである。
アプリケーションID321の列データは、例えばIDデータベース32bに格納するデータに対応している。
【0120】
アプリケーション名322は、アプリケーションの名前である。アプリケーション名322の列データは、例えばアプリケーションデータベース32aやIDデータベース32bに格納するデータに対応している。
アプリケーションデータ323は、アプリケーションの具体的なデータである。アプリケーションデータ323の列データは、例えばアプリケーションデータベース32aに格納するデータに対応している。
【0121】
秘密鍵324は、アプリケーションに付加する署名を生成するために用いた現時点の秘密鍵の情報を示すものである。秘密鍵324の列データは、例えば秘密鍵データベース32cに格納するデータに対応している。
署名325は、アプリケーションに付加する現時点の署名の情報を示すものである。署名325の列データは、例えば署名データベース32dに格納するデータに対応している。
【0122】
機器認証326は、アプリケーション認証に機器認証が必要か否の情報を示すものである。機器認証326の列データは、例えばアプリケーションデータベース32aやIDデータベース32bに格納するデータに対応している。なお、
図10では、機器認証が必要な場合を「要」、必要ではない場合を「不要」で表したが、機器認証が必要な場合を例えば「1」、必要ではない場合を「0」のように表してもよい。アプリケーション管理サーバ3の管理者は、必要に応じて、機器認証の要/否を変更するなどデータベースの内容を変更することができる。
【0123】
<部分鍵管理データベース45>
図11は、
図4に示した部分鍵管理サーバにおける部分鍵管理データベースの記憶構造の一例を示す図である。
部分鍵管理データベース45は、アプリケーション毎の項目として、アプリケーションID321および部分鍵451を有し、各項目に対応した情報やデータを格納している。
【0124】
アプリケーションID321は、
図10に示すアプリケーション登録データベース32の項目と同様なので、同じ符号を付して説明を省略する。なお、データベースの記憶構造の具体例のテーブルを表す他の図面において同じ項目には同じ符号を付して説明を適宜省略する。
部分鍵451は、アプリケーションに付加する署名を生成するために用いた秘密鍵を生成するために用いた現時点の部分鍵の情報を示すものである。
【0125】
<パッケージ管理データベース61>
図12は、
図6に示したアプリケーション配信サーバにおけるパッケージ管理データベースの記憶構造の一例を示す図である。
パッケージ管理データベース61は、アプリケーション毎の項目として、アプリケーションID321、アプリケーション名322、パッケージデータ323p、公開属性611、機器認証326を有し、各項目に対応した情報やデータを格納している。
【0126】
アプリケーションID321、アプリケーション名322、機器認証326の項目は前記した通りである。
パッケージデータ323pは、ID及び署名と共にパッケージ化されたアプリケーションデータである。つまり、
図10のアプリケーションデータ323の項目のデータを主として、アプリケーションID321および署名325の項目のデータを付加したデータを表す。
【0127】
公開属性611は、アプリケーションが配信されているか否の情報を示すものである。アプリケーション配信サーバ6の管理者は、必要に応じて公開属性611の項目を、公開から、非公開に変更し、配信を禁止するなどデータベースの内容を変更することができる。なお、
図12では、アプリケーションが配信されている場合を「公開」、アプリケーションが配信されていない場合を「非公開」で表したが、それぞれを例えば「1」、「0」のように表してもよい。アプリケーション配信サーバ6の管理者は、必要に応じて、公開属性を公開から非公開に変更し、配信を禁止するなどデータベースの内容を変更することができる。
【0128】
<ID失効リストL>
図13は、
図8に示したID失効リスト生成配信装置で生成するID失効リストの一例を示す図である。
図13に示すID失効リストLは、アプリケーション毎の項目として、アプリケーションID321と受信機情報721を有しており、このうち受信機情報721の項目は、細分化されて、例えば、受信機ID721a、ユーザーID721b、メーカーID721c、OSバージョン721d、ファームバージョン721eを有し、各項目に対応した情報やデータを格納している。
【0129】
ここで、受信機情報721は、アプリケーションが配信される受信機10の機器自体の情報である。
受信機ID721aは、受信機の機器自体を特定する情報である。
ユーザーID721bは、受信機のユーザー(視聴者)を特定する情報である。
メーカーID721cは、受信機を製造したメーカーを特定する情報である。
OSバージョン721dは、受信機に内蔵されたコンピュータのOS(operating system)、つまり基本ソフトウェアのバージョンを特定する情報である。
ファームバージョン721eは、受信機に内蔵されたコンピュータのハードウェアの基本的な制御を行うために受信機に組み込まれたソフトウェア、つまりファームウェア(firmware)のバージョンを特定する情報である。
【0130】
図13に示すID失効リストLおいて、「−」は、その項目においてどんな値も該当しない、すなわちnull値を示す。これは、
図13に示すID失効リストLにおいて、例えば機器認証が不要なアプリケーションを、受信機情報(受信機固有の情報)に関わらず失効させるときに用いられている。
図13に示すID失効リストLにおいて、「***」は、その項目においてどんな値でも該当することを示す。これは、
図13に示すID失効リストLにおいて、例えば機器認証が必要なアプリケーションを、失効させるときに用いられている。なお、「・・・」は、このテーブルの5行目以降になんらかのデータがあることを示唆するものである。
サービス事業者は、アプリケーションID321および受信機情報721に応じて、特定の受信機10を対象として、アプリケーションを起動する資格を失効させることができる。
【0131】
図13に示すID失効リストLにおいて例えば1行目に記載されたアプリケーションを取得した受信機10は、どの受信機であっても、そのアプリケーションを失効させる必要がある。
2行目に記載されたアプリケーションを取得した受信機10は、「Y社」が製造した受信機ならば、そのアプリケーションを失効させる必要がある。
3行目に記載されたアプリケーションを取得した受信機10は、製造メーカーに関わらずOSバージョンが「5.3.7」の受信機ならば、そのアプリケーションを失効させる必要がある。
4行目は、ユーザーIDが「BBB」の視聴者がユーザー登録している「0123」の受信機が、もしも「X社製」であるならば、OSバージョンやファームバージョンに関わらず、その受信機で取得したアプリケーションは種類によらずに失効させる必要があることを表す。
【0132】
ID失効リストには、
図13に示した項目以外に、ID失効リスト自体の正当性を証明するためのハッシュや署名(検証用情報)、ID失効リスト自体のバージョン情報、タイムスタンプ等の管理情報が付加される。これら管理情報は、ID失効リスト生成配信装置8にて管理される。
【0133】
<受信機情報>
図14(a)に示す受信機管理データベース72は、受信機毎の項目として、受信機情報721と、ID失効リストバージョン722とを有しており、このうち受信機情報721の項目は、
図13に示すID失効リストLの項目と同じなので説明を省略する。
【0134】
ID失効リストバージョン722は、
図13に示すID失効リストLの項目から省略したが、ID失効リスト自体のバージョンを示す情報である。ID失効リストは、失効させるべきアプリケーションが追加された場合や、既に記載されたアプリケーションにおいて、新たな受信機情報が追加されたり新たなバグが発見されたりした場合等に更新される。
【0135】
受信機管理サーバ7においては、複数の受信機10を管理しているため、それら全体の中の個別の受信機10を特定する情報という意味で、
図14(a)に示すテーブルの1行のデータを、単に受信機情報と呼ぶ場合がある。つまり、受信機管理サーバ7に関する記述では、機器自体の情報である受信機情報721と、ID失効リストバージョン722とを合わせて、単に受信機情報と呼ぶ場合がある。
【0136】
図14(b)に示す受信機情報管理データベース121Aは、項目として、受信機情報721と、ID失効リストバージョン722とを有している。この例では、受信機情報管理データベース121Aは、
図14(a)に示す受信機管理データベース72の1行目のデータに対応している。つまり、受信機IDが「0123」である受信機10に格納されている情報を表している。
【0137】
同様に、
図14(c)に示す受信機情報管理データベース121Bは、この例では、
図14(a)に示す受信機管理データベース72の2行目のデータに対応している。つまり、受信機IDが「0234」である受信機10に格納されている情報を表している。
【0138】
(5.アプリケーションの配信側及び受信側の装置の動作)
[受信機の動作]
<アプリケーションの起動手順>
図15は、
図9に示した受信機におけるアプリケーションの起動手順を示すフローチャートである。まず、受信機10の電源をONにする(ステップS1)と、受信機10は、アプリケーションを起動する前に、通信により、その時点で最新のID失効リストを取得する(ステップS2)。その後、起動アプリケーションを選択する(ステップS3)と、アプリケーション認証手段104により、認証処理を行う(ステップS4)。認証処理の結果、認証OKと判定されれば、アプリケーションを起動する(ステップS5)。
【0139】
前記ステップS4の認証処理の結果、認証NGと判定されれば、アプリケーションを起動しない(ステップS8)。認証NGと判定される場合には、後記するように署名が正当ではない場合、つまり不正アプリケーションであると判定される場合(ステップS6:Yes)も含まれる。この場合は、前記ステップS3で選択されたアプリケーションが不正なものであったことをディスプレイ表示するなどして視聴者に報知し(ステップS7)、その上でアプリケーションを起動しない(ステップS8)。また、認証NGと判定される場合であって、後記するように署名が正当あると判定される場合(ステップS6:No)には、前記ステップS7をスキップする。
【0140】
前記ステップS4の認証処理の結果、後記するように一般アプリケーションであると判定された場合、機器認証が不要であると判定し(ステップS9)、その上で、アプリケーションを起動する(ステップS5)。
【0141】
<アプリケーション認証処理>
アプリケーション認証処理(
図15のステップS4)について
図16を参照して説明する(適宜
図9参照)。受信機10のアプリケーション認証手段104は、アプリケーション認証の指示を受け付ける(ステップS11)。
【0142】
アプリケーション認証手段104は、アプリケーション記憶手段103から、該当のアプリケーションを読み出す。また、アプリケーション認証手段104は、ID失効リスト記憶手段115から、ID失効リストを読み出す。また、アプリケーション認証手段104は、受信機情報管理データベース121から、受信機情報を読み出す。(ステップS12)。
【0143】
アプリケーション認証手段104は、読み出したアプリケーションに署名が付加されているか否かを公開鍵によって検証する(ステップS13:署名検証ステップ)。署名が付加されている場合(ステップS13:Yes)、アプリケーション認証手段104は、公開鍵管理手段101から読み出した公開鍵を用いて、署名が正当であるか否かを判定する(ステップS14)。署名が正当な場合(ステップS14でYes)、アプリケーション認証手段104は、読み出したID失効リストに付加されたハッシュや署名等の検証用情報を用いて、このID失効リストが正当であるか否かを判定する(ステップS15)。
【0144】
ID失効リストが正当な場合(ステップS15でYes)、アプリケーション認証手段104は、読み出したID失効リストにおいて、当該アプリケーションに対応するアプリケーションID、受信機情報の項目が1つも含まれていないかどうかを判定する(ステップS16:機器情報検証ステップ)。つまり、アプリケーション認証手段104は、まず、ID失効リストに当該アプリケーションに対応するIDが含まれているか否かを判別する。そして、当該IDが含まれている場合、さらに当該IDと対応付けられて記載された受信機情報として、当該受信機10の機器自体の情報と一致するものが含まれているか否かを判別する。例えば、ID失効リストに当該アプリケーションに対応するIDが含まれており、且つ、この認証処理をしている受信機10の受信機情報がID失効リストに記載された受信機情報に一致しない場合(ステップS16:Yes)、アプリケーション認証手段104は、当該アプリケーションを起動可能(認証OK)と判定し(ステップS17:認証判定ステップ)、認証処理を終了する。なお、そもそもID失効リストに当該アプリケーションに対応するIDが含まれていなければ、当然ながら当該アプリケーションを起動可能(認証OK)と判定する。
【0145】
前記ステップS13において、アプリケーションに署名が付加されていない場合(ステップS13:No)、アプリケーション認証手段104は、読み出したアプリケーションを一般アプリケーションと判定し(ステップS18)、認証処理を終了する。
【0146】
前記ステップS14において、署名が正当でないと判定された場合(ステップS14でNo)、アプリケーション認証手段104は、読み出したアプリケーションを不正なアプリケーションと判定し(ステップS19)、当該アプリケーションを起動不可(認証NG)と判定し(ステップS20:失効判定ステップ)、認証処理を終了する。
【0147】
前記ステップS15において、ID失効リストが正当でないと判定された場合(ステップS15でNo)、アプリケーション認証手段104は、当該アプリケーションを起動不可(認証NG)と判定し(ステップS20:失効判定ステップ)、認証処理を終了する。
【0148】
前記ステップS16において、ID失効リストに当該アプリケーションに対応するIDが含まれており、且つ、この認証処理をしている受信機10の受信機情報がID失効リストに記載された受信機情報に一致する場合(ステップS16:No)、アプリケーション認証手段104は、当該アプリケーションを起動不可(認証NG)と判定し(ステップS20:失効判定ステップ)、認証処理を終了する。なお、
図13に示すID失効リストLにおいて例えば1行目に記載されたアプリケーションについて認証処理をしている受信機10は、当該アプリケーションを起動不可(認証NG)と判定する。
【0149】
<ID失効リストの取得方法>
図17は、
図9に示した受信機においてID失効リストを取得する方法及びタイミングの一例を示すフローチャートである。
【0150】
受信機10の電源がOFF状態である場合(ステップS31:No)、受信機10は、予め放送を受信することで取得した更新トリガーが指定するスケジュールに合わせてスタンバイ状態となり、放送波または通信回線を介してID失効リストを取得する(ステップS32)。
【0151】
受信機10の電源がON状態である場合(ステップS31:Yes)、受信機10は、アプリケーションが起動していない場合(ステップS33:No)、アプリケーションを起動する前に、一度、自身が所有するID失効リストがその時点で最新のものであるかどうかID失効リスト生成配信装置8に問い合わせ、通信回線を介して最新のものを取得する(ステップS34)。そして、受信機10は、取得した最新のID失効リストをID失効リスト記憶手段115に格納する(ステップS35)。
【0152】
一方、受信機10は、アプリケーションが起動している場合(ステップS33:Yes)、放送波によるカルーセル伝送で新たなID失効リストが配信されてこないか常に監視し(ステップS37:No)、配信された場合これを取得する(ステップS36)。
このアプリケーション起動中にカルーセル伝送により取得したID失効リストにおいて、その時点で起動中のアプリケーションが失効している場合、受信機10の内部処理により起動を停止する。または、ユーザー(視聴者)が起動中のアプリケーションを終了させるリモコン操作をした場合、起動を停止する(ステップS37:Yes)。
【0153】
[ID失効リスト生成配信装置の動作]
図18は、
図8に示したID失効リスト生成配信装置におけるID失効リストの生成及び配信の流れを示すフローチャートである。サービス提供者が、リボーク対象のアプリケーションIDや受信機情報等を、ID失効リストの生成要求として入力すると、このID失効リストの生成要求を、ID失効リスト生成配信装置8のID失効リスト生成手段81が受け付ける(ステップS41)。
【0154】
ID失効リスト生成手段81は、アプリケーション配信サーバ6から、アプリケーションの配信履歴を取得する(ステップS42)。ID失効リスト生成手段81は、受信機管理サーバ7から、受信機情報を取得する(ステップS43)。ID失効リスト生成手段81は、これら取得情報を用いてID失効リストを生成する(ステップS44)。なお、配信履歴(ステップS42)と受信機情報(ステップS43)との取得処理の順序は入れ替えてよいし、並列に処理してもよい。
【0155】
配信制御手段83は、ID失効リストの配信に伴って受信機10によるアクセス数が予め定められた許容値を超えるか否かを判別し、許容値を超える場合、放送送信手段84を用いてID失効リストを配信する制御を行い、許容値を超えない場合、通信送信手段85を用いてID失効リストを配信する制御を行う。すなわち、配信制御手段83は、ID失効リストを通信回線から配信可能か否かを判別する(ステップS45)。通信回線から配信可能な場合(ステップS45:Yes)、ID失効リスト生成手段81は、通信配信用データベース88にID失効リストを格納する(ステップS46)。配信制御手段83は、通信配信用データベース88から読み出したID失効リストを通信回線から配信する(ステップS47)。
配信制御手段83は、失効リスト配信履歴データベース86に格納されているID失効リストの配信履歴を更新し(ステップS48)、処理を終了する。
【0156】
前記ステップS45において、通信回線から配信できない場合(ステップS45:No)、ID失効リスト生成手段81は、放送配信用データベース89にID失効リストを格納する(ステップS49)。配信制御手段83は、放送配信用データベース89から読み出したID失効リストを放送波で配信し(ステップS50)、処理を終了する。
【0157】
なお、ID失効リスト生成配信装置8は、サービス提供者が、特別に緊急用のID失効リストの生成要求を入力した場合については、その緊急用のID失効リストは、通信配信用データベース88および放送配信用データベース89の両方に格納された上、放送送信手段84によって直ちに配信されるように構成されている。
【0158】
以上説明したように、本実施形態に係るアプリケーション配信管理システム1では、IDを用いたアプリケーション認証システム(アプリケーション登録サーバ2、ID失効リスト生成配信装置8)に、アプリケーション配信システム(アプリケーション配信サーバ6)と、受信機管理サーバ7とを組み合わせたシステムとすることで、ID及び受信機情報によるアプリケーションの配信履歴把握、受信機情報管理を行うことができる。アプリケーション配信管理システム1は、IDによるアプリケーション失効以外に、受信機情報によるアプリケーション失効を可能とし、またID失効リスト生成配信を効率的に行うことができる効果を有する。つまり、アプリケーション配信管理システム1は、受信機単位でのリボークやユーザー単位でのリボークをすることができる。また、ID失効リストの配信事業者が受信機情報を把握した上で、放送波に更新トリガーを多重し、受信機10に更新命令を指令することで、放送・通信の両方を用いて、受信機10が保有するID失効リストを最新に保つことができる効果を有する。
【0159】
[変形例1:受信機]
図9に示した受信機10は、ID失効リスト記憶手段115を備え、受信機10内でID失効リストを保持して管理するものとしたが、受信機の構成はこれに限定されるものではない。
図19に示す受信機10Bは、ID失効リスト記憶手段115を有していない点が
図9に示した受信機10と相違している。つまり、受信機10Bは、ID失効リストを受信機内に保持するものではない。よって、受信機10Bは、ID失効リストのバージョンを通知する必要はない。受信機10Bは、アプリケーション起動前に一回、あるいは、随時、ID失効リスト生成配信装置8にアクセスしてID失効リストを取得する。
【0160】
受信機10BにおいてID失効リストを取得する方法及びタイミングの一例について
図20を参照(適宜
図17参照)して説明する。なお、
図17に示す処理と同じ処理には同じ符号を付して説明を省略する。
受信機10Bの電源がOFF状態である場合(ステップS31:No)、電源検知を繰り返す。一方、受信機10Bの電源がON状態である場合(ステップS31:Yes)、受信機10Bは、前記ステップS32をスキップし、前記アプリケーションが起動していない場合(ステップS33:No)、前記ステップS34に進む。この場合、その後の前記ステップS35をスキップする。
そして、前記アプリケーションが起動している場合(ステップS33:Yes)、受信機10Bは、前記ステップS36に進む。ただし、ステップS36では、受信機10Bは、放送波によるカルーセル伝送で新たなID失効リストが配信されてこないか常に監視し(ステップS37:No)、配信された場合これを取得する(ステップS36a)処理に加えて、通信回線を介して、ID失効リストを随時取得する(ステップS36b)処理も並列に行う。
【0161】
[変形例2:アプリケーション登録サーバ]
図2に示したアプリケーション登録サーバ2は、キー・インシュレイテッド署名を用いたアプリケーション認証を元に構成しているが、IDとアプリケーションが紐付く署名方式であれば、この限りではない。
また、アプリケーション登録サーバ2は、部分鍵管理サーバ4を備えることとしたが、部分鍵管理サーバ4は必須の構成ではない。アプリケーション登録サーバ2を、例えば、アプリケーション管理サーバ3と秘密鍵発行サーバ5で構成する変形例の場合、予め生成された1つのマスター鍵を秘密鍵発行サーバ5で管理し、このマスター鍵で秘密鍵(署名鍵)を生成する。そして、この場合、
図2に示したID送信(21a)及び差分部分鍵の返送(21b)は不要である代わりに、アプリケーション管理サーバ3は、IDを秘密鍵発行サーバ5へ送信する(24)。また、この場合、
図11に示した部分鍵管理データベース45に代わるものとして、秘密鍵管理データベースを秘密鍵発行サーバ5が記憶し、管理する。この秘密鍵管理データベースは、アプリケーションIDと秘密鍵とを紐づけて格納する。
【0162】
[その他の変形例]
図1に示す各サーバは、データ生成機能と配信機能、データベース管理機能がそれぞれ別個のものとして組み合わせられ、
図1とは異なるシステム構成となっていても問題ない。
また、ID失効リスト生成配信装置8は、ID失効リストを自動生成することとしたが、これに限らず、ID失効リスト生成配信装置8の管理者等が受信機情報及び配信履歴を用いてID失効リストを手動で生成するようにしてもよい。
また、
図15では、前記ステップS7の処理において、前記ステップS3で選択されたアプリケーションが不正なものであったことをディスプレイ表示するなどして視聴者に報知することとしたが、認証処理の結果が認証NGである場合に、その旨を表示するようにしてもよい。このようにすることで、視聴者が、選択したアプリケーションが起動しなかったのは受信機が故障しているからだ、と誤認することを防止できる。