図1は、本発明の一実施形態である情報端末装置10の構成を示すブロック図である。本発明に係る情報端末制御方法は、情報端末装置10によって実行される。情報端末装置(以下「端末」という)10は、情報端末システム1に含まれる。情報端末システム1は、複数のコンテンツサーバ3、1つのアプリケーションサーバ4、1つのサービス鍵配信サーバ5、および少なくとも1つの端末10を含んで構成される。
端末10は、インターネットやローカルエリアネットワークなどの組み合わせから成る情報通信ネットワークによって、コンテンツサーバ3、アプリケーションサーバ4およびサービス鍵配信サーバ5に接続されている。端末10は、情報通信ネットワークを介してこれらのサーバと情報を送受信する。
サービス事業者2は、たとえばサーバ装置やその使用者によって構成される。ここで述べるサービスとは、一定の対価を支払った利用者に対して、ネットワーク経由で映像や音楽などのコンテンツのデータを配信する仕組みであり、一般的には、複数のコンテンツを複数の端末へ配信可能な状態でコンテンツサーバに保存し、サービスへのユーザ登録を行った利用者がコンテンツを選択するためのポータルサイトを用意し、利用者がポータルサイトで選択したコンテンツを端末にて視聴することができるようなものである。利用者は、コンテンツを視聴するための専用のアプリケーションを端末で実行させて、コンテンツを視聴する。
あるサービスを享受することができるとは、そのサービスにおいて提供されている複数のコンテンツを視聴することができるということを意味し、一般的に端末側では1つのアプリケーションによって、そのサービスで提供されているすべてのコンテンツを視聴可能となるようにシステムが構成される。1つの事業者が複数のサービスを提供することも考えられるが、その場合についても、ここでは異なるサービス事業者として扱う。
サービス事業者2は、コンテンツおよび該コンテンツを再生するアプリケーションプログラム(以下、単に「アプリケーション」ともいう)を作成する。コンテンツは、動画のコンテンツおよび音声のコンテンツを含む。図1には、サービス事業者2aおよびサービス事業者2bを示している。以下、個々のサービス事業者2a,2bを区別する必要のないときは、総称して、サービス事業者2という。また、コンテンツサーバ3などについても、個々を区別する必要のないときは、英字の添え字を省略して総称する。
各コンテンツには、各コンテンツを一意に識別するためのコンテンツ識別情報が付与されている。また、各アプリケーションには、各アプリケーションを一意に識別するためのアプリケーション識別情報が付与されている。
サービス事業者2は、情報通信ネットワークによって、コンテンツサーバ3、アプリケーションサーバ4およびサービス鍵配信サーバ5に接続される。サービス事業者2は、情報通信ネットワークを介してこれらのサーバと情報を送受信する。また、コンテンツサーバ3、アプリケーションサーバ4およびサービス鍵配信サーバ5は、情報通信ネットワークを介して、それぞれ相互に情報の送受信を行うことができる。
サービス事業者2は、コンテンツを暗号化するための、サービス暗号化鍵と、サービス暗号化鍵によって暗号化されたコンテンツを復号するためのサービス鍵とについて、複数の組を生成する。サービス鍵には、対応するサービス暗号化鍵を識別するためのサービス暗号化鍵識別情報が含まれている。生成したサービス鍵を、アプリケーションごとに一意に生成したアプリケーション鍵で暗号化する。そして、サービス事業者2は、生成したアプリケーションに、該アプリケーションに対して一意に生成したアプリケーション鍵を含める。
サービス事業者2は、生成したコンテンツと、該コンテンツを暗号化するためのサービス暗号化鍵とを関連付けて、サービス事業者2ごとに設けられるコンテンツサーバ3に送信し、それぞれのコンテンツサーバ3に記憶させる。コンテンツサーバ3は、コンテンツを一意に識別することができるコンテンツ識別情報によって、コンテンツを識別することができる。
また、サービス事業者2は、アプリケーションを作成して、アプリケーションサーバ4に送信し、アプリケーションサーバ4に記憶させる。アプリケーションには、後で述べるような難読化方法によって、アプリケーション鍵を埋め込む。すなわち、アプリケーションを解析してアプリケーション鍵を取り出せないようにする。さらに、サービス事業者2は、アプリケーション鍵で復号することができるように暗号化したサービス鍵(複数)を、サービス鍵識別情報と関連付けて、サービス鍵配信サーバ5に送信し、サービス鍵配信サーバ5に記憶させる。
コンテンツ配信サーバ装置であるコンテンツサーバ3は、コンテンツを端末10に配信するサーバ装置である。コンテンツサーバ3は、サービス事業者2ごとに設けられる。すなわち、個々のコンテンツサーバ3は、個々のサービス事業者2にそれぞれ1対1に対応付けられている。図1には、サービス事業者2aに対応するコンテンツサーバ3aと、サービス事業者2bに対応するコンテンツサーバ3bとを示している。
コンテンツサーバ3は、端末10からコンテンツの送信要求があった際に、コンテンツの送信要求に含まれるコンテンツ識別情報に対応するコンテンツを、コンテンツの送信要求があった端末10に送信する。なお、コンテンツの送信要求時に、サービス鍵に含まれているサービス鍵識別情報もコンテンツサーバ3に送信され、上記コンテンツをサービス鍵識別情報に対応するサービス暗号化鍵によって、暗号化した上で端末10に送信する。
アプリケーション配信サーバ装置であるアプリケーションサーバ4は、アプリケーションおよびサービス鍵管理アプリケーションを端末10に配信するサーバ装置である。アプリケーションサーバ4が配信するアプリケーションは、各サービス事業者2から提供されるサービスを享受するためのアプリケーションである。アプリケーションサーバ4は、端末10から配信要求のあったアプリケーションを、配信要求を送信した端末10に配信する。端末10に配信されたアプリケーションは、配信された端末10で起動されて実行される。
アプリケーションサーバ4が配信するサービス鍵管理アプリケーションは、全端末10で共通に実行可能であるが、サービス事業者2が生成したクライアント認証鍵を含む。クライアント認証鍵は、後で述べるような難読化方式を使ってサービス鍵管理アプリケーションに埋め込まれる。すなわち、端末10に配信されたサービス鍵管理アプリケーションを解析してもクライアント認証鍵を取り出せないようにする。
サービス事業者2は、サービス鍵管理アプリケーションを作成する際に埋め込んだクライアント認証鍵を、サービス鍵配信サーバ5にも予め登録しておく。端末10に配信されたサービス鍵管理アプリケーションは、配信された端末10で起動されて実行される。
コンテンツを、サービス暗号化鍵を用いて暗号化する暗号方式、およびサービス鍵を、アプリケーション鍵で復号することができるように暗号化する暗号化方式は、共通鍵暗号化方式(秘密鍵暗号化方式とも呼ばれる)を用いる。具体的には、たとえばDES(Data Encryption Standard)方式あるいはAES(Advanced Encryption Standard)方式などの方式を用いる。DES方式あるいはAES方式以外の暗号化方式としては、トリプルDES、SNOW2.0、RC4(Rivest Cipher 4)、Serpent、あるいはBlowfishなどの方式を用いてもよい。
アプリケーション鍵をアプリケーションに含めるときや、クライアント認証鍵をサービス鍵管理アプリケーションに含めるときには、難読化して埋め込む。難読化とは、たとえば、アプリケーション鍵を構成する文字列を分解して、分解した文字列を表すコードを、プログラムコードの中に分離して配置するなどして、アプリケーションのバイナリコードを解析してもアプリケーション鍵を抜き出すのが困難となるようにすることである。
サービス鍵配信サーバ装置であるサービス鍵配信サーバ5は、サービス鍵を端末10に配信するサーバ装置である。サービス鍵配信サーバ5が配信するサービス鍵は、各サービス事業者2から提供されたサービス鍵であり、アプリケーション鍵で暗号化されている。1つのサービスについて、複数のサービス鍵がサービス事業者2から提供され、サービス鍵自体と、そのサービス鍵が使用されるサービスを識別するためのサービス識別子とが対応付けられてサービス鍵配信サーバ5にて保存される。
サービス鍵配信サーバ5は、端末10からサービス鍵の発行要求があると、発行要求があるたびに異なる値のサービス鍵を生成し、その発行要求とともに送信されてくるクライアント認証鍵によって、端末10を認証する。すなわち、受信したクライアント認証鍵が、サービス事業者2がサービス鍵管理アプリケーションを作成する際に埋め込んだクライアント認証鍵と合致する場合に、正当なサービス鍵管理アプリケーションであると認証する。
さらに、サービス鍵配信サーバ5は、端末10の認証が正常になされると、発行要求とともに送信されてくるサービス識別情報に関連付けられたサービス鍵のうちの1つを、発行要求を送信した端末10に配信する。サービス鍵配信サーバ5は、一度発行したサービス鍵を破棄し、次の発行要求には別の値のサービス鍵を発行する。これにより、すべての端末10は常に時系列で異なるサービス鍵を持つことになる。
端末10は、アプリケーション管理部20、セキュア記憶部50および通常記憶部60を含んで構成される。端末10のハードウエア構成は、従来技術によるパーソナルコンピュータや、携帯情報端末(たとえばスマートフォンやタブレット端末)などの情報処理装置と同様に、たとえば中央処理装置(Central Processing Unit:以下「CPU」という)、半導体メモリによって構成される記憶装置、液晶ディスプレイなどの表示装置、スピーカなどの音声出力装置、およびタッチパネルや操作ボタンなどの入力装置を含んで構成される。CPUは、記憶装置に記憶されるプログラムを実行することによって、表示装置および入力装置を制御する。CPU、記憶装置、表示装置、音声出力装置および入力装置は、従来技術によるものであり、図1には図示していない。
アプリケーション管理部20は、CPUが記憶装置に記憶されるプログラムを実行することによって実現される機能である。アプリケーション管理部20は、たとえばオペレーティングシステムとして機能し、アプリケーションの実行を制御する。アプリケーション管理部20は、アプリケーション受信部でもある。
具体的には、アプリケーション管理部20は、アプリケーションサーバ4から配信されるアプリケーションおよびサービス鍵管理アプリケーションを受信し、受信したアプリケーションおよびサービス鍵管理アプリケーションをアプリケーションプログラム保存部61に記憶する。
また、アプリケーション管理部20は、ユーザが入力装置によってアプリケーションの起動要求を行うと、起動要求のあったアプリケーションをアプリケーションプログラム保存部61から読み出して記憶装置に記憶し、記憶装置に記憶したアプリケーションを起動して実行させる。
アプリケーション管理部20は、アプリケーションを起動して実行させたとき、そのアプリケーションの動作のためにサービス鍵管理アプリケーションの起動が必要な場合で、サービス鍵管理アプリケーションが起動されていない場合は、サービス鍵管理アプリケーションをアプリケーションプログラム保存部61から読み出して記憶装置に記憶し、記憶装置に記憶したサービス鍵管理アプリケーションを起動して実行させる。アプリケーションの動作のためにサービス鍵管理アプリケーションの起動が必要であるか否かは、アプリケーション内部の処理として記述されている。
セキュア記憶部50および通常記憶部60は、端末10の記憶装置に含まれる。端末個体情報記憶部であるセキュア記憶部50は、セキュアな記憶領域、すなわち、一般のユーザが書き換えることができない記憶領域である。セキュア記憶部50は、端末10の販売元が出荷時などに特殊な方法によって値を書き込む領域であり、一般のユーザは、セキュア記憶部50に記憶される情報を書き換えることはできない。通常記憶部60は、一般のユーザが書き換えることができる記憶領域であり、一般のユーザは、通常記憶部60に記憶される情報を書き換えることができる。
セキュア記憶部50は、端末個体情報保存部51を含んで構成される。端末個体情報保存部51は、自端末10を一意に識別可能な端末個体情報を記憶する。端末個体情報は、たとえばメディアアクセスコントロール(Media Access Control:以下「MAC」という)アドレスや、国際移動体装置識別番号(International Mobile Equipment Identifier:以下「IMEI」という)のいずれか、あるいはそれらの組み合わせによって構成されるが、これらに限定されるものではなく、端末10に一意に割り当てられる識別情報であれば他の情報でもよい。
通常記憶部60は、アプリケーションプログラム保存部61、アプリケーションデータ保存部63およびサービス鍵保存部65を含んで構成される。アプリケーションプログラム保存部61は、アプリケーション管理部20がアプリケーションサーバ4から配信されるアプリケーションを受信し、受信したアプリケーションを記憶する。図1に示したアプリケーションプログラム保存部61は、アプリケーション62a,62bおよびサービス鍵管理アプリケーション67を記憶している。
アプリケーション62aは、サービス事業者2aによって生成されたアプリケーションであり、アプリケーション62bは、サービス事業者2bによって生成されたアプリケーションである。各アプリケーション62には、上述したアプリケーション識別情報が付与されて、アプリケーションプログラム保存部61に記憶されており、該アプリケーション識別情報によって各アプリケーション62を識別可能である。
アプリケーションプログラム保存部61に記憶されるアプリケーション62a,62bおよびサービス鍵管理アプリケーション67は、記憶装置に記憶され、アプリケーション管理部20によって起動され、CPUによって実行される。
図1には、CPUによって実行されているアプリケーション30a,30bおよびサービス鍵管理アプリケーション40を示している。アプリケーション30aは、アプリケーションプログラム保存部61に記憶されるアプリケーション62aが読出され、記憶装置に記憶されて実行されているものであり、アプリケーション30bは、アプリケーションプログラム保存部61に記憶されるアプリケーション62bが読出され、記憶装置に記憶されて実行されているものであり、サービス鍵管理アプリケーション40は、アプリケーションプログラム保存部61に記憶されるサービス鍵管理アプリケーション62cが読出され、記憶装置に記憶されて実行されているものである。CPUは、実行されているアプリケーションを、上述したアプリケーション識別情報によって、識別可能である。
アプリケーション記憶部であるアプリケーションデータ保存部63は、実行中のアプリケーションによってコンテンツサーバ3から受信されたコンテンツデータ64を記憶する。コンテンツデータ64は、コンテンツを表すデータである。アプリケーションデータ保存部63は、インストール済みのアプリケーションごとに設けられる。暗号化されているコンテンツ、コンテンツサーバ3から送信されるコンテンツ、およびアプリケーションデータ保存部63に記憶されるコンテンツは、実際には、コンテンツデータであるが、以下、単にコンテンツともいう。
図1には、アプリケーション30aのために設けられたアプリケーションデータ保存部63aと、アプリケーション30bのために設けられたアプリケーションデータ保存部63bとが示されている。アプリケーションデータ保存部63aは、アプリケーション30aがコンテンツサーバ3aから受信したコンテンツデータ64aを記憶する。アプリケーションデータ保存部63bは、アプリケーション30bがコンテンツサーバ3bから受信したコンテンツデータ64bを記憶する。
サービス鍵記憶部であるサービス鍵保存部65は、サービス鍵管理アプリケーション40に含まれる後述するサービス鍵受信部43が、サービス鍵配信サーバ5から受信したサービス鍵を記憶する。図1に示したサービス鍵保存部65は、サービス鍵66a,66bを記憶している。サービス鍵66aは、コンテンツの再生要求を受けたアプリケーション30aからの要求によって、サービス鍵受信部43がサービス鍵配信サーバ5から受信したサービス鍵である。サービス鍵66bは、コンテンツの再生要求を受けたアプリケーション30bからの要求によって、サービス鍵受信部43がサービス鍵配信サーバ5から受信したサービス鍵である。サービス鍵66は、そのサービス鍵が使用されるサービスを一意に識別するためのサービス識別情報と関連付けられてサービス鍵保存部65に記憶されている。
アプリケーション30は、ユーザインタフェース部(以下「UI部」という)31およびライセンス評価部32を含んで構成される。復号部であるライセンス評価部32は、アプリケーション鍵33を含む。アプリケーション鍵33は、アプリケーション管理部20が、アプリケーションサーバ4から受信したアプリケーション62に含まれているアプリケーション鍵である。ライセンス評価部32は、該ライセンス評価部32に含まれるアプリケーション鍵33によって、サービス鍵読出し部41から受取ったサービス鍵を復号し、復号したサービス鍵によって、アプリケーションデータ保存部63から読み出したコンテンツデータ64を復号する。
コンテンツ再生部であるUI部31は、コンテンツを再生する。具体的には、UI部31は、ライセンス評価部32によって復号されたコンテンツデータ64のコンテンツを再生して、画像がある場合は、再生した画像を表示装置に表示し、音声がある場合は、再生した音を音出力装置に出力する。
サービス鍵管理アプリケーション40は、サービス鍵読出し部41およびサービス鍵受信部43を含んで構成される。サービス鍵受渡部であるサービス鍵読出し部41は、端末個体復号部42を含んで構成される。サービス鍵読出し部41は、ライセンス評価部32からサービス鍵を要求されたとき、すでに、サービス鍵がサービス鍵保存部65に記憶されていれば、サービス鍵の読出しを端末個体復号部42に要求する。サービス鍵読出し部41は、ライセンス評価部32からサービス鍵を要求されたとき、まだ、サービス鍵がサービス鍵保存部65に記憶されていなければ、サービス鍵の取得をサービス鍵受信部43に要求する。
端末個体復号部42は、サービス鍵読出し部41からサービス鍵の読出しを要求されると、サービス鍵の読出しの要求とともに受取るサービス識別情報に関連付けられたサービス鍵66をサービス鍵保存部65から読出し、読出したサービス鍵66を、端末個体情報保存部51に記憶される端末個体情報によって復号し、復号したサービス鍵をライセンス評価部32に送る。
サービス鍵受信部43は、クライアント認証鍵44および端末個体暗号化部45を含んで構成される。クライアント認証鍵44は、サービス鍵管理アプリケーションの作成時にサービス事業者2によって埋め込まれて配信されたクライアント認証鍵である。
サービス鍵受信部43は、サービス鍵読出し部41からサービス鍵の取得要求があると、サービス鍵の取得要求とともに受取るサービス識別情報をサービス鍵配信サーバ5に送信し、サービス鍵の発行を要求する。サービス鍵受信部43が、サービス鍵配信サーバ5から、送信したサービス識別情報に関連付けられたサービス鍵を受信すると、端末個体暗号化部45は、サービス鍵配信サーバ5から受け取ったサービス鍵を端末個体情報保存部51に記憶される端末個体情報によって暗号化する。そして、端末個体暗号化部45は、端末個体情報によって暗号化されたサービス鍵をサービス鍵保存部65に記憶し、サービス鍵の取得完了をサービス鍵読出し部41に知らせる。サービス鍵読出し部41は、サービス鍵受信部43からサービス鍵の取得完了を知らされると、サービス鍵の読出しを端末個体復号部42に要求する。
図2は、サービス事業者2によるコンテンツなどの登録手順を示すシーケンス図である。シーケンスS1では、サービス事業者2aは、サービス事業者2aが作成したコンテンツを暗号化するときに用いるサービス暗号化鍵に対応するサービス鍵(複数)を、該コンテンツが配信されるサービスのサービス識別情報と関連付けてサービス鍵配信サーバ5に送信して登録する。サービス鍵は、サービス事業者2aが作成したコンテンツを再生するために、サービス事業者2aによって作成されたアプリケーション62aのアプリケーション鍵33aによって暗号化されている。
シーケンスS2では、サービス事業者2aは、サービス事業者2aが作成したアプリケーション62aをアプリケーションサーバ4に送信して登録する。アプリケーション62aは、アプリケーション鍵33aを内包している。内包しているとは、たとえば先の述べた難読化方法によってアプリケーション鍵33aが、アプリケーション62aのプログラムコードに埋め込まれていることである。また、アプリケーション62aは、該アプリケーションが対応しているサービスのサービス識別子を含んでいる。シーケンスS3では、サービス事業者2aは、生成したコンテンツを表すコンテンツデータ64aを、コンテンツ識別情報に関連付けてコンテンツサーバ3aに送信して登録しておく。コンテンツ識別情報は、コンテンツサーバ3aにおいて、コンテンツを一意に識別可能な値であり、サービス事業者2aがコンテンツごとに決定する。コンテンツの登録は、サービスで提供するすべてのコンテンツについて行う。
シーケンスS4では、サービス事業者2aは、サービス鍵管理アプリケーションをアプリケーションサーバ4に送信して登録する。図2では、サービス事業者2aが他のサービス事業者を代表するサービス事業者である場合を示している。サービス鍵管理アプリケーションは、複数のサービス事業者で共用が可能であり、代表するサービス事業者が作成して登録する。他のサービス事業者は、サービス鍵管理アプリケーションは作成せず、アプリケーションのみを作成して登録する。代表するサービス事業者は、サービス事業者2aに限定されるものではなく、他のサービス事業者、たとえばサービス事業者2bであってもよい。
シーケンスS5では、サービス事業者2aは、サービス鍵管理アプリケーションに含めたクライアント認証鍵をサービス鍵配信サーバ5に送信して登録する。
シーケンスS6では、サービス事業者2bは、サービス事業者2bが作成したコンテンツを暗号化するときに用いるサービス暗号化鍵に対応するサービス鍵(複数)を、該コンテンツが配信されるサービスのサービス識別情報と関連付けてサービス鍵配信サーバ5に送信して登録する。サービス鍵は、サービス事業者2bが作成したコンテンツを再生するために、サービス事業者2bによって作成されたアプリケーション62bのアプリケーション鍵33bによって暗号化されている。
シーケンスS7では、サービス事業者2bは、サービス事業者2bが作成したアプリケーション62bをアプリケーションサーバ4に送信して登録する。アプリケーション62bは、アプリケーション鍵33bを内包している。また、アプリケーション62bは、該アプリケーションが対応しているサービスのサービス識別情報を含んでいる。シーケンスS8では、サービス事業者2bは、生成したコンテンツを表すコンテンツデータ64bを、コンテンツ識別情報に関連付けてコンテンツサーバ3bに送信して登録して、登録手順を終了する。
図3は、端末10におけるアプリケーション62などのインストール手順を示すシーケンス図である。端末10は、ユーザが入力装置を操作して、アプリケーション62a,62bのインストールを指示すると、シーケンスS10に移る。また、端末10は、いずれかのアプリケーションをインストールしたとき、まだ、サービス鍵管理アプリケーションがインストールされていない場合、シーケンスS13に移る。また、端末10は、ユーザが入力装置を操作して、アプリケーション62bのインストールを指示すると、シーケンスS16に移る。
インストールの指示は、端末10にプリインストールされている、アプリケーション管理用のアプリケーションを使って行う。アプリケーションサーバに接続して、インストール可能なアプリケーションの一覧を端末10で表示し、その中からユーザによって選択されたアプリケーションについてインストール指示を出す。これは従来技術であるので、詳細は省略し、図示もしていない。
ここでは、ユーザが、アプリケーション62aおよびアプリケーション62bのインストールを指示したものとする。
シーケンスS10では、端末10のアプリケーション管理部20は、アプリケーションサーバ4にアプリケーション62aを要求する。シーケンスS11では、アプリケーション管理部20は、アプリケーションサーバ4からアプリケーション62aを受信する。シーケンスS12では、アプリケーション管理部20は、受信したアプリケーション62aをアプリケーションプログラム保存部61に保存するインストール処理を行う。
アプリケーション62aのインストール処理の後、まだ、サービス鍵管理アプリケーションがインストールされていない場合、アプリケーション管理部20は、シーケンスS13に移り、すでに、サービス鍵管理アプリケーションがインストールされている場合、シーケンスS16に進む。
シーケンスS13では、アプリケーション管理部20は、アプリケーションサーバ4にサービス鍵管理アプリケーションを要求する。シーケンスS14では、アプリケーション管理部20は、アプリケーションサーバ4からサービス鍵管理アプリケーションを受信する。シーケンスS15では、アプリケーション管理部20は、受信したサービス鍵管理アプリケーションをアプリケーションプログラム保存部61に保存するインストール処理を行う。
シーケンスS16では、アプリケーション管理部20は、アプリケーションサーバ4にアプリケーション62bを要求する。シーケンスS17では、アプリケーション管理部20は、アプリケーションサーバ4からアプリケーション62bを受信する。シーケンスS18では、アプリケーション管理部20は、受信したアプリケーション62bをアプリケーションプログラム保存部61に保存するインストール処理を行って、インストール手順を終了する。
図4は、端末10におけるアプリケーションの起動手順を示すシーケンス図である。シーケンスS30では、ユーザが端末10の入力装置によってアプリケーション62aの起動を要求する操作を行う。具体的には、ユーザが、アプリケーションの一覧が表示されている画面で、起動したいアプリケーションを選択する操作によってアプリケーションが起動されることが想定される。これは従来技術であるので詳細は省略し、図示もしていない。
シーケンスS31では、アプリケーション管理部20は、アプリケーションプログラム保存部61からアプリケーション62aを読出して、記憶装置に記憶する。シーケンスS32では、アプリケーション管理部20は、記憶装置に記憶したアプリケーション62aの起動処理を行う。起動されたアプリケーション62aは、アプリケーション30aとして機能する。アプリケーション62aには、起動処理として、サービス鍵管理アプリケーションの起動が必要であることが記載されており、シーケンスS33に進む。
シーケンスS33では、アプリケーション管理部20は、アプリケーションプログラム保存部61からサービス鍵管理アプリケーションを読出して、記憶装置に記憶する。シーケンスS34では、アプリケーション管理部20は、記憶装置に記憶したサービス鍵管理アプリケーションのサービス鍵受信部43の起動処理を行う。シーケンスS35では、アプリケーション管理部20は、サービス鍵管理アプリケーションのサービス鍵読出し部41の起動処理を行う。
シーケンスS36では、ユーザが端末10の入力装置によってアプリケーション62bの起動を要求する操作を行う。シーケンスS37では、アプリケーション管理部20は、アプリケーションプログラム保存部61からアプリケーション62bを読出して、記憶装置に記憶する。シーケンスS38では、アプリケーション管理部20は、記憶装置に記憶したアプリケーション62bの起動処理を行う。起動されたアプリケーション62bは、アプリケーション30bとして機能する。アプリケーション62bには、起動処理として、サービス鍵管理アプリケーションの起動が必要であることが記載されているが、すでに起動しているので、何もせずにアプリケーション起動処理を終了する。
図5は、初回再生処理の処理手順を示すシーケンス図である。初回再生処理は、コンテンツを初めて再生するときの処理である。すなわち、初回再生処理は、サービス鍵をまだ取得していない状態で、暗号化されているコンテンツの再生要求を指示されたときに実行されるコンテンツの再生処理である。
シーケンスS40では、ユーザが入力装置を操作して、サービスへの接続を要求する。具体的には、たとえば、ユーザが入力装置を操作して、すでに起動されているアプリケーション30aのUI部31aに対して、サービスのポータルサイトへの接続を要求する。ポータルサイトは、サービスの玄関口となるようなサイトであり、図示していないポータルサイトサーバに接続するなどして、サービス利用時の案内やコンテンツのリストを表示するサイトである。
シーケンスS41では、UI部31aは、ライセンス評価部32aにテストコンテンツの受信要求を送る。テストコンテンツとは、アプリケーション30aによって受けられるサービスのロゴなどが自動的に再生されるコンテンツであり、サービスの利用を開始する際に自動的に再生されるコンテンツである。ここでは「ようこそ動画」と呼ぶ。
シーケンスS42では、ライセンス評価部32aは、サービス鍵読出し部41に、アプリケーション62aに含まれているサービス識別情報を送り、サービス鍵を要求する。シーケンスS43では、サービス鍵読出し部41は、要求されたサービス識別子に関連付けられたサービス鍵がサービス鍵保存部65に記憶されていないので、サービス鍵受信部43に、再生要求のあったサービス識別情報を送り、サービス鍵の受信を要求し、待ち状態となる。
シーケンスS44では、サービス鍵受信部43は、端末個体情報保存部51から端末個体情報を取得する。シーケンスS45では、サービス鍵受信部43は、サービス鍵配信サーバ5にクライアント認証を要求する。具体的には、サービス鍵受信部43は、該サービス鍵受信部43に含まれるクライアント認証鍵44を、再生要求のあったアプリケーションから渡されたサービス識別情報とともに、サービス鍵配信サーバ5に送信して、クライアント認証およびサービス鍵の発行を要求する。また、サービス鍵配信サーバ5において、サービス鍵の発行要求を行った端末10を識別するために、端末個体情報を送信する。
シーケンスS46では、サービス鍵配信サーバ5は、クライアント認証処理を行う。具体的には、サービス鍵配信サーバ5は、サービス鍵受信部43から受信したクライアント認証鍵44が、アプリケーション62aに内包されて配信されたクライアント認証鍵と一致するか否かを判定する。クライアント認証鍵は、予めサービス事業者2が、サービス識別子と共にサービス鍵配信サーバ5に登録しておく。そして、サービス鍵配信サーバ5は、サービス鍵受信部43から受信したクライアント認証鍵44が、アプリケーション62aに内包されているクライアント認証鍵に一致した場合に、当該端末10が正当なクライアントであると認証する。
シーケンスS47では、サービス鍵配信サーバ5は、サービス鍵受信部43から受信したクライアント認証鍵44を送信した端末10が正当なクライアントであると認証したとき、クライアント認証鍵44とともに受信したサービス識別情報に関連付けられたサービス鍵を、サービス鍵受信部43に送信する。
なお、ここで送信するサービス鍵は、予めサービス事業者2から登録された複数のサービス鍵の中の1つを送信し、1度送信したサービス鍵は破棄して、送信しないようにする。これにより、すべての端末10に対して発行要求があるたびに異なる値のサービス鍵が送信されることになる。また、このとき、サービス鍵配信サーバ5は、サービス鍵の発行要求に含まれる端末個体情報を、サービス鍵を発行した回数とともに保存する。これは、サービス鍵の発行要求を高頻度で行う不正な端末10を識別するためのものである。サービス鍵配信サーバ5に保存されるサービス鍵の個数は有限であるので、悪意あるユーザなどによってサービス鍵の発行要求が高頻度で行われると、サービス鍵が枯渇してしまう。このような場合に、対象の端末10を特定して、サービス鍵の発行を停止するなどの対策を行うためである。
シーケンスS48では、サービス鍵受信部43は、端末個体情報保存部51から端末個体情報を読出して取得する。シーケンスS49では、サービス鍵受信部43は、サービス鍵配信サーバ5から受信したサービス鍵を、端末個体情報保存部51から読出した端末個体情報で暗号化する。シーケンスS50では、サービス鍵受信部43は、暗号化したサービス鍵をサービス鍵保存部65に保存する。シーケンスS51では、サービス鍵受信部43がサービス鍵の保存が完了したことをサービス鍵読出し部41に通知し、サービス鍵読出し部41の待ち状態が解除される。
シーケンスS52では、サービス鍵読出し部41は、サービス鍵保存部65から暗号化されているサービス鍵66を読出す。シーケンスS53では、サービス鍵読出し部41は、端末個体情報保存部51から端末個体情報を読出して取得する。シーケンスS54では、サービス鍵読出し部41は、第1サービス鍵復号処理を行う。具体的には、サービス鍵読出し部41は、端末個体復号部42によって、暗号化されているサービス鍵66を端末個体情報で復号する。シーケンスS55では、サービス鍵読出し部41は、復号したサービス鍵をライセンス評価部32aに送る。
シーケンスS56では、ライセンス評価部32aは、第2サービス鍵復号処理を行う。具体的には、ライセンス評価部32aは、端末個体情報で復号されたサービス鍵を、該ライセンス評価部32aに含まれるアプリケーション鍵でさらに復号する。シーケンスS57では、ライセンス評価部32aは、テストコンテンツのコンテンツ識別情報と、サービス鍵に含まれているサービス鍵識別情報をコンテンツサーバ3aに送信して、テストコンテンツの送信を要求する。テストコンテンツのコンテンツ識別情報は、アプリケーション62に埋め込まれており、コンテンツサーバ3aに、そのコンテンツ識別情報とともに予め保存されているものとする。
シーケンスS58では、コンテンツサーバ3aは、受信したコンテンツ識別情報に対応するテストコンテンツについて、受信したサービス鍵識別情報に対応するサービス暗号化鍵を使って暗号化した上で、ライセンス評価部32aに送信し、ライセンス評価部32aは、コンテンツサーバ3aから送信されるテストコンテンツを受信する。
シーケンスS59では、ライセンス評価部32aは、受信したテストコンテンツをサービス鍵で復号するコンテンツ復号処理を行う。なお、本発明の本質は、コンテンツの復号処理に使用するためのサービス鍵を端末10のアプリケーションに安全に配信することであるので、コンテンツの暗号化および復号の具体的な方法は任意でよい。本実施形態では、従来技術であるMarlin IPTV−ES方式を用いることを想定している。Marlin IPTV−ES方式では、コンテンツサーバ3におけるコンテンツの暗号化処理の負荷を低減するために、コンテンツデータをライセンス鍵によって予め暗号化しておき、ライセンス鍵だけをサービス暗号化鍵で暗号化して端末10に送信する。コンテンツデータに比べてライセンス鍵は、データ長が短いので、端末10からコンテンツ要求が行われる都度、暗号化処理を行ったとしても、処理負荷が少なくて済む。図5では、これらの処理は省略している。
シーケンスS60では、ライセンス評価部32aは、復号したテストコンテンツをUI部31aに送る。シーケンスS61では、UI部31aは、サービス鍵で復号されたテストコンテンツの再生処理を行う。これによってユーザに向けて「ようこそ動画」が提示されることになり、ユーザはサービスを受けられるようになったことがわかる。シーケンスS62では、UI部31aは、ポータルサイト接続処理を行い、初回再生手順を終了する。具体的には、図示していないポータルサイトサーバに接続するなどして、サービス利用時の案内やコンテンツのリストを取得し、端末10にて表示する。ユーザは、その後ポータルサイトでコンテンツを選択して視聴することが可能となる。
図6は、継続再生処理の処理手順を示すシーケンス図である。継続再生処理は、コンテンツを2回目以降に再生するときの処理である。すなわち、継続再生処理は、サービス鍵をすでに取得している状態で、暗号化されているコンテンツの再生要求を指示されたときに実行されるコンテンツの再生処理である。図6に示した継続再生処理は、ポータルサイト接続処理である。
シーケンスS70では、ユーザが入力装置を操作して、UI部31aにコンテンツの再生を要求する。具体的には、端末10が、図示していないポータルサイトサーバに接続するなどして、コンテンツリストを取得して表示し、ユーザが、UI部31を操作してその中の1つのコンテンツを選択する。コンテンツリストには、コンテンツのタイトルやサムネイルなどの情報とともに、コンテンツサーバ3aでコンテンツを識別するためのコンテンツ識別情報も含まれている。シーケンスS71では、UI部31aは、ライセンス評価部32aに、ユーザから再生要求のあったコンテンツのコンテンツ識別情報を送り、再生要求のあったコンテンツの受信要求を送る。シーケンスS72では、ライセンス評価部32aは、サービス鍵読出し部41に、アプリケーション62aに含まれているサービス識別情報を送り、再生要求のあったコンテンツを復号するためのサービス鍵を発行要求する。
シーケンスS73では、サービス鍵読出し部41は、要求されたサービス識別情報に対応するサービス鍵がすでに取得されているので、サービス鍵保存部65から、再生要求のあったサービス識別情報に関連付けられている暗号化されたサービス鍵66を読み出す。シーケンスS74では、サービス鍵読出し部41は、端末個体情報保存部51から端末個体情報を読出して取得する。シーケンスS75では、サービス鍵読出し部41は、第1サービス鍵復号処理を行う。具体的には、サービス鍵読出し部41は、端末個体復号部42によって、暗号化されているサービス鍵66を端末個体情報で復号する。シーケンスS76では、サービス鍵読出し部41は、復号したサービス鍵をライセンス評価部32aに送る。
シーケンスS77では、ライセンス評価部32aは、第2サービス鍵復号処理を行う。具体的には、ライセンス評価部32aは、サービス鍵読出し部41から受け取ったサービス鍵を、該ライセンス評価部32aに含まれるアプリケーション鍵でさらに復号する。シーケンスS78では、ライセンス評価部32aは、再生要求のあったコンテンツのコンテンツ識別情報と、サービス鍵に含まれているサービス鍵識別情報とをコンテンツサーバ3aに送信してコンテンツデータを要求する。
シーケンスS79では、コンテンツサーバ3aは、前記受信したコンテンツ識別情報に対応するコンテンツを表すコンテンツデータについて、受信したサービス鍵識別情報に対応するサービス暗号化鍵を使って暗号化した上で、ライセンス評価部32aに送信し、ライセンス評価部32aは、コンテンツサーバ3aから送信されるコンテンツデータを受信する。シーケンスS80では、ライセンス評価部32aは、受信したコンテンツデータをアプリケーションデータ保存部63aに記憶して保存する。シーケンスS81では、ライセンス評価部32aは、アプリケーションデータ保存部63aからコンテンツデータを読出す。
シーケンスS82では、ライセンス評価部32aは、読出されたコンテンツデータをサービス鍵で復号するコンテンツ復号処理を行う。先に述べたようにコンテンツの暗号化および復号は、Marlin IPTV−ES方式を用いることを想定している。
シーケンスS83では、ライセンス評価部32aは、復号したコンテンツデータをUI部31aに送る。シーケンスS84では、UI部31aは、ライセンス評価部32aから受け取るコンテンツデータによって表されるコンテンツの再生処理を行い、継続再生手順を終了する。
なお、シーケンスS80からS84は、同時に実行されてもよい。すなわち、コンテンツデータを受信しつつ再生するストリーミング再生を行ってもよい。また、コンテンツデータは、シーケンスS80にてアプリケーションデータ保存部63aに保存されているので、一度再生要求が行われて、すべてのコンテンツデータの保存が完了していれば、シーケンスS71にてコンテンツ受信要求があった後、すぐにシーケンスS81に進み、コンテンツの再生をすることも可能である。この場合、端末10は、ネットワークで各種サーバに接続されている必要はない。
なお、図2〜図5のシーケンスにおいて、端末10や各種サーバの間の通信は、送信者および受信者以外が盗聴できないように暗号化して行う。暗号化通信は、たとえばHTTPS(Hypertext Transfer Protocol Security)などの既存技術を使って行うので詳細は省略する。
図7は、アプリケーション起動処理の処理手順を示すフローチャートである。ユーザが端末10の入力装置によってアプリケーションの起動を要求する操作を行うと、端末10は、ステップA1に移る。
起動ステップであるステップA1では、アプリケーション管理部20は、入力装置によって起動が要求されたアプリケーションを起動させる。ステップA2では、起動したアプリケーションがサービス鍵管理アプリケーションを必要とする場合、アプリケーションは、アプリケーション管理部20に対して、サービス鍵管理アプリケーションの起動を要求する。アプリケーション管理部20は、起動したアプリケーションからサービス鍵管理アプリケーションの起動を要求された場合、ステップA3に進み、起動したアプリケーションからサービス鍵管理アプリケーションの起動を要求されなかった場合、アプリケーション起動処理を終了する。
ステップA3では、アプリケーション管理部20は、サービス鍵管理アプリケーションが未起動であるか否かを判定する。アプリケーション管理部20は、サービス鍵管理アプリケーションが未起動であるとき、ステップA4に進み、サービス鍵管理アプリケーションがすでに起動されているとき、アプリケーション起動処理を終了する。
ステップA4では、アプリケーション管理部20は、サービス鍵受信部43の起動処理を行う。ステップA5では、アプリケーション管理部20は、サービス鍵読出し部41の起動処理を行い、アプリケーション起動処理を終了する。
図8は、初回再生処理の処理手順を示すフローチャートである。サービス鍵が取得されていない状態で、ユーザが端末10の入力装置によってコンテンツの再生を要求する操作を行うと、端末10は、ステップB1に移る。
ステップB1では、サービス鍵読出し部41は、サービス鍵保存部65に、再生要求のあったアプリケーションの持つサービス識別情報に関連付けられたサービス鍵が記憶されているか否かを判定する。サービス鍵読出し部41は、サービス鍵保存部65に、再生要求のあったサービス識別情報に関連付けられたサービス鍵が記憶されているとき、ステップB12に進み、サービス鍵保存部65に、再生要求のあったサービス識別情報に関連付けられたサービス鍵がサービス鍵保存部65に記憶されていないとき、ステップB2に進む。
ステップB2では、サービス鍵受信部43は、サービス鍵配信サーバ5へクライアント認証を要求する。サービス鍵受信ステップであるステップB3では、サービス鍵受信部43は、クライアント認証に成功し、サービス鍵を受信できたか否かを判定する。サービス鍵受信部43は、クライアント認証に成功し、サービス鍵を受信できたとき、ステップB4に進み、クライアント認証に成功しなかったか、またはサービス鍵を受信できなかったとき、ステップB13に進む。
サービス鍵記憶ステップであるステップB4では、サービス鍵受信部43は、サービス鍵配信サーバ5から受信したサービス鍵について、サービス鍵暗号化処理を実施した上で、サービス鍵保存部65に記憶して保存する。サービス鍵暗号化処理は、サービス鍵配信サーバ5から受信したサービス鍵を、端末個体情報保存部51に記憶される端末個体情報で暗号化する処理である。
読出しステップおよびサービス鍵受渡ステップであるステップB5では、サービス鍵読出し部41は、サービス鍵保存部65から暗号化されているサービス鍵66を読出し、第1サービス鍵復号処理を実施した上で、ライセンス評価部32に渡す。第1サービス鍵復号処理は、サービス鍵保存部65から読出された暗号化されているサービス鍵66を、端末個体情報保存部51に記憶される端末個体情報で復号する処理である。
ステップB6では、ライセンス評価部32は、第2サービス鍵復号処理を実施する。第2サービス鍵復号処理は、端末個体情報で復号されたサービス鍵を、該ライセンス評価部32に含まれるアプリケーション鍵で復号する処理である。ステップB7では、ライセンス評価部32は、コンテンツサーバ3に対して、テストコンテンツの送信を要求する。
ステップB8では、ライセンス評価部32は、テストコンテンツを受信できたか否かを判定する。ライセンス評価部32は、テストコンテンツを受信できたとき、ステップB9に進み、テストコンテンツを受信できなかったとき、ステップB13に進む。
ステップB9では、ライセンス評価部32は、受信したテストコンテンツについて、復号処理を実施した上で、UI部31に渡す。復号処理は、受信したテストコンテンツをステップB6でアプリケーション鍵によって復号されたサービス鍵によって復号する処理である。ステップB10では、UI部31は、ステップB9で復号されたコンテンツの再生処理を行う。
ステップB11では、UI部31は、テストコンテンツの再生に成功したか否かを判定する。UI部31は、テストコンテンツの再生に成功したとき、ステップB12に進み、テストコンテンツの再生に成功しなかったとき、ステップB13に進む。ステップB12では、UI部31は、ポータルサイト接続処理を行い、初回再生処理を終了する。ステップB13では、UI部31は、ユーザに対して、エラー情報を提示して、初回再生処理を終了する。
図9は、継続再生処理の処理手順を示すフローチャートである。ユーザが端末10の入力装置によってコンテンツの再生を要求する操作を行うと、端末10は、ステップC1に移る。
ステップC1では、サービス鍵読出し部41は、サービス鍵保存部65に再生要求のあったアプリケーションの持つサービス識別情報に関連付けられたサービス鍵が、サービス鍵保存部65に記憶されているか否かを判定する。サービス鍵読出し部41は、再生要求のあったアプリケーションの持つサービス識別情報に関連付けられたサービス鍵が記憶されているとき、ステップC2に進み、サービス鍵保存部65に再生要求のあったアプリケーションの持つサービス識別情報に関連付けられたサービス鍵が記憶されていないとき、ステップC11に進む。
ステップC2では、ライセンス評価部32は、アプリケーションデータ保存部63に、再生要求のあったコンテンツを表すコンテンツデータが保存されているか否かを判定する。ライセンス評価部32は、アプリケーションデータ保存部63に、再生要求のあったコンテンツを表すコンテンツデータが保存されているとき、ステップC8に進み、再生要求のあったコンテンツを表すコンテンツデータが保存されていないとき、ステップC3に進む。ステップC3では、ライセンス評価部32は、サービス鍵読出し部41に対して、サービス鍵要求を行う。
読出しステップおよびサービス鍵受渡ステップであるステップC4では、サービス鍵読出し部41は、サービス鍵保存部65からサービス鍵を読出し、第1サービス鍵復号処理を実施した上で、ライセンス評価部32に渡す。すなわち、サービス鍵読出し部41は、サービス鍵保存部65から読出された暗号化されているサービス鍵66を、端末個体情報保存部51に記憶される端末個体情報で復号して、ライセンス評価部32に渡す。ステップC5では、ライセンス評価部32は、第2サービス鍵復号処理を実施する。すなわち、ライセンス評価部32は、端末個体情報で復号されたサービス鍵を、該ライセンス評価部32に含まれるアプリケーション鍵で復号する。
ステップC6では、ライセンス評価部32は、コンテンツデータを受信できたか否かを判定する。ライセンス評価部32は、コンテンツデータを受信できたとき、ステップC7に進み、コンテンツデータを受信できなかったとき、ステップC12に進む。ステップC7では、ライセンス評価部32は、受信したコンテンツデータをアプリケーションデータ保存部63に保存する。
ステップC8では、ライセンス評価部32は、コンテンツデータをアプリケーションデータ保存部63から読出して、コンテンツ復号処理を実施した上で、UI部31に渡す。コンテンツ復号処理は、暗号化されているコンテンツデータをサービス鍵で復号する処理である。ステップC9では、UI部31は、ステップC8で復号されたコンテンツデータによって表されるコンテンツの再生処理を行う。ステップC10では、UI部31は、コンテンツの再生に成功したか否かを判定する。UI部31は、コンテンツの再生に成功したとき、継続再生処理を終了し、コンテンツの再生に成功しなかったとき、ステップC12に進む。
ステップC11では、端末10は、コンテンツの初回再生処理を実施して、ステップC2に進む。コンテンツの初回再生処理は、図8に示した処理である。ステップC12では、UI部31は、ユーザに対して、エラー情報を提示して、継続再生処理を終了する。
従来技術によるスマートフォンなどの情報端末装置は、動画配信サービスのクライアントとなるアプリケーションをインターネット上の配信サーバ(ストア)からダウンロードしてインストールすることができる。
本発明に係る端末10は、アプリケーションが実行されると、セキュアな既存技術の通信方法を使ってインターネットを介して、サービス鍵配信サーバ5からサービス鍵、つまり暗号化されているコンテンツを復号するための解読鍵をダウンロードし、ダウンロードした解読鍵を、アプリケーションが共通で使用できる記憶領域に記憶する。ただし、ダウンロードした解読鍵は、アプリケーション鍵で暗号化した状態でサービス鍵配信サーバ5から配信され、そのアプリケーション鍵は公開せずに、ダウンロードされるアプリケーションのみに実装される。
したがって、端末10は、悪意あるアプリケーションによってサービス鍵が取得されたとしても、悪意あるアプリケーションは、暗号化されているサービス鍵を復号することができないので、サービス鍵、つまり解読鍵を不正利用することができない。このように、端末10は、安全に解読鍵を受信して記憶することできるので、動画配信サービスのクライアントとなるアプリケーションを実装することができる。
このように、アプリケーション管理部20は、暗号化されているコンテンツを、該暗号化されているコンテンツを復号するためのサービス鍵によって復号して再生する複数のアプリケーションプログラムの実行を制御する。サービス鍵受信部43は、サービス鍵を発行して配信するサービス鍵配信サーバ5からサービス鍵を受信する。サービス鍵保存部65は、サービス鍵受信部43によって受信されたサービス鍵を記憶する。そして、サービス鍵読出し部41は、アプリケーション管理部20によって起動されたアプリケーションプログラムが前記暗号化されているコンテンツを復号するために必要なサービス鍵を、サービス鍵保存部65から読出し、読出したサービス鍵を前記起動されたアプリケーションプログラムに受け渡す。
したがって、端末10は、暗号化されて配信される動画などのコンテンツをアプリケーションプログラムごとに解読鍵、たとえば前述の発行要求ごとに異なる値のサービス鍵を用いて保護することができる。また、従来技術では、サービス鍵を予め端末10に書き込んでおく必要があるが、端末10では、サービス鍵をサービス鍵配信サーバからダウンロードして記憶しておくので、予めサービス鍵を書き込んでいない端末10であっても、アプリケーションプログラムによってコンテンツを再生することができる。
さらに、サービス鍵配信サーバ5が発行するサービス鍵は、暗号化されている。前記各アプリケーションプログラムは、ライセンス評価部32とUI部31とを含む。ライセンス評価部32は、暗号化されているサービス鍵を復号するためにアプリケーションプログラムごとに一意に生成されたアプリケーション鍵を含む。UI部31は、コンテンツを再生する。ライセンス評価部32は、サービス鍵読出し部41から受け渡されたサービス鍵を、ライセンス評価部32に含まれるアプリケーション鍵によって復号し、さらに、暗号化されているコンテンツを前記復号したサービス鍵によって復号する。そして、UI部31は、ライセンス評価部32によって復号されたコンテンツを再生する。
したがって、サービス鍵配信サーバ5は、サービス鍵をアプリケーションごとに異なるアプリケーション鍵で暗号化して送信することができるので、意図していないアプリケーションでサービス鍵が復号されることがなく、端末10では、1つのサービス鍵受信部43で複数のアプリケーションのサービス鍵を受信することができる。
さらに、サービス鍵受信部43は、自端末10を識別するためのクライアント認証鍵を含み、サービス鍵の発行をサービス鍵配信サーバ5に要求するとき、サービス鍵受信部43に含まれるクライアント認証鍵をサービス鍵配信サーバ5に送信する。そして、サービス鍵配信サーバ5は、サービス鍵受信部43から受信したクライアント認証鍵によって、該クライアント認証鍵を送信したサービス鍵受信部43を含む端末10の認証を行う。したがって、サービス鍵配信サーバ5は、クライアント認証鍵によって端末10を識別することができるので、端末10の機種に応じたサービスを提供することができる。
さらに、アプリケーション管理部20は、前記アプリケーションプログラムを配信するアプリケーションサーバ4からアプリケーションプログラムを受信する。アプリケーションデータ保存部63は、アプリケーション管理部20によって受信されたアプリケーションプログラムを記憶する。そして、アプリケーション管理部20が実行を制御するアプリケーションプログラムは、アプリケーションデータ保存部63に記憶されるアプリケーションプログラムである。
したがって、端末10は、アプリケーションプログラムとサービス鍵とを異なるサーバ装置から受信することができる。AndroidやiOS等では、アプリケーションプログラムを配信する共通のサーバがプラットフォームとして用意されている。コンテンツ配信サービスを行おうとする事業者が、これらのアプリケーションサーバを運営する事業者と異なる場合、アプリケーションサーバにサービス鍵を置くことはセキュリティの面で望ましくない。しかし本発明によれば、アプリケーションの配信には、プラットフォームとして用意されている標準的な仕組みを利用し、サービス鍵の配信だけを別のサーバで行うことが可能となり、アプリケーションサーバを運営する必要がなくなる。
また、1つのサービス鍵サーバによって、複数のサービスに対応することができるので、いずれかのサービス事業者がサービス鍵配信サーバを運営すれば、他のサービス事業者はアプリケーションプログラムとサービス鍵とを準備するだけで、コンテンツ配信サービスを実施することができる。
さらに、前記アプリケーションプログラムが再生する暗号化されているコンテンツは、暗号化されているコンテンツを配信するコンテンツサーバ3から配信されたコンテンツである。そして、サービス鍵配信サーバ5が発行するサービス鍵は、端末10からサービス鍵配信サーバ5にサービス鍵の発行要求があるたびに異なる値が発行されている。したがって、端末10から発行要求があるたびに異なる値のサービス鍵となり、端末10に保存されたコンテンツが他の端末10に不正にコピーされても、コンテンツを復号するためのサービス鍵が異なるので、他の端末10では、コンテンツを復号することができず、端末10は、不正にコンテンツが利用されることを防止することができる。
さらに、セキュア記憶部50は、自端末10を一意に識別可能な端末個体情報を記憶する。端末個体暗号化部45は、サービス鍵受信部43によって受信されるサービス鍵をセキュア記憶部50に記憶される端末個体情報によって暗号化する。端末個体復号部42は、端末個体情報によって暗号化されているサービス鍵をセキュア記憶部50に記憶される端末個体情報によって復号する。サービス鍵保存部65に記憶されるサービス鍵は、端末個体暗号化部45によって暗号化されたサービス鍵である。そして、サービス鍵読出し部41が前記起動されたアプリケーションプログラムに受け渡すサービス鍵は、端末個体復号部42がサービス鍵保存部65から読出されたサービス鍵をセキュア記憶部50に記憶される端末個体情報によって復号したサービス鍵である。
したがって、端末10に記憶されるコンテンツとサービス鍵とが他の端末10に不正にコピーされても、サービス鍵を復号するための端末個体情報が異なるので、他の端末10では、コンテンツを復号することができず、端末10は、不正にコンテンツが利用されることを防止することができる。
さらに、暗号化されているコンテンツを、該暗号化されているコンテンツを復号するためのサービス鍵によって復号して再生する複数のアプリケーションプログラムを配信するアプリケーションサーバ4と、サービス鍵を配信するサービス鍵配信サーバ5と、アプリケーションサーバ4から配信されるアプリケーションプログラムを実行可能な端末10とを含む情報端末システム1でコンテンツを再生するにあたって、端末10は、アプリケーション管理部20と、サービス鍵受信部43と、サービス鍵保存部65と、サービス鍵読出し部41とを含む。アプリケーション管理部20は、アプリケーションサーバ4から配信されるアプリケーションプログラムの実行を制御する。サービス鍵受信部43は、サービス鍵配信サーバ5からサービス鍵を受信する。サービス鍵保存部65は、サービス鍵受信部43によって受信されたサービス鍵を記憶する。そして、サービス鍵読出し部41は、アプリケーション管理部20によって起動されたアプリケーションプログラムが前記暗号化されているコンテンツを復号するために必要なサービス鍵を、サービス鍵保存部65から読出し、読出したサービス鍵を前記起動されたアプリケーションプログラムに受け渡す。
したがって、情報端末システム1は、暗号化されて配信される動画などのコンテンツをアプリケーションプログラムごとに解読鍵、たとえばサービス鍵を用いて保護することができる。また、従来技術では、サービス鍵を予め端末10に書き込んでおく必要があるが、情報端末システム1では、サービス鍵をサービス鍵配信サーバからダウンロードして端末10に記憶しておくので、予めサービス鍵を書き込んでいない端末10でも、アプリケーションプログラムによってコンテンツを再生することができる。
さらに、暗号化されているコンテンツを、該暗号化されているコンテンツを復号するためのサービス鍵によって復号して再生する複数のアプリケーションプログラムを実行可能な端末10が情報端末制御方法を実行するにあたって、ステップB3では、サービス鍵を配信するサービス鍵配信サーバ5からサービス鍵を受信する。ステップB4では、ステップB3で受信されたサービス鍵をサービス鍵保存部65に記憶する。ステップA1では、アプリケーションプログラムを起動させる。ステップB5およびステップC4では、ステップA1で起動されたアプリケーションプログラムが前記暗号化されているコンテンツを復号するために必要なサービス鍵を、サービス鍵保存部65から読出す。そして、ステップB5およびステップC4では、読出されたサービス鍵を前記起動されたアプリケーションプログラムに受け渡す。
したがって、情報端末制御方法は、暗号化されて配信される動画などのコンテンツをアプリケーションプログラムごとに解読鍵、たとえばサービス鍵を用いて保護することができる。また、従来技術では、サービス鍵を予め端末10に書き込んでおく必要があるが、本情報端末制御方法では、サービス鍵をサービス鍵配信サーバからダウンロードして端末10に記憶しておくので、予めサービス鍵を書き込んでいない端末10でも、アプリケーションプログラムによってコンテンツを再生することができる。
さらに、暗号化されているコンテンツを、該暗号化されているコンテンツを復号するためのサービス鍵によって復号して再生する複数のアプリケーションプログラムを実行可能なコンピュータを含む端末10のコンピュータに、サービス鍵を配信するサービス鍵配信サーバ5からサービス鍵を受信するステップB3と、ステップB3で受信されたサービス鍵をサービス鍵保存部65に記憶するステップB4と、アプリケーションプログラムを起動させるステップA1と、ステップA1で起動されたアプリケーションプログラムが前記暗号化されているコンテンツを復号するために必要なサービス鍵を、サービス鍵保存部65から読出すステップB5およびステップC4と、読出されたサービス鍵を前記起動されたアプリケーションプログラムに受け渡すステップB5およびステップC4とを実行させるためのプログラムとして提供することができる。