説明

端末装置

【課題】通信切断対策用の通信管理情報を記録する頻度を少なくする。
【解決手段】ライセンスを発行するライセンスサーバ101と、発行されたライセンスに基づいてコンテンツの利用を制御するユーザ端末103を含むデジタルコンテンツ配信システムであって、ライセンスサーバ101は、発行するライセンスの内容に応じて、通信切断対策用の通信管理情報の記録要否を判定し、それをユーザ端末に通知する。これにより、ユーザ端末103において通信管理情報を記録する頻度を少なくすることが可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを用いて、サーバ装置から映像、音楽などのデジタルコンテンツと、デジタルコンテンツの利用を許諾するライセンスを配信し、ユーザが端末装置でデジタルコンテンツを利用するシステムに関し、特に、前記サーバ装置と前記端末装置間の通信において、不正にライセンスの複製や改ざんが行われることを防ぎつつ、通信切断発生時においてもライセンスの消失や二重配信を防ぐシステムおよび装置に関する。
【背景技術】
【0002】
近年、音楽、映像、ゲーム等のデジタルコンテンツ(以下、コンテンツと記述)を、インターネット等の通信やデジタル放送等を通じて、サーバ装置から端末装置に配信し、端末装置においてコンテンツを利用することが可能な、コンテンツ配信システムと呼ばれるシステムが実用化段階に入っている。一般的なコンテンツ配信システムでは、コンテンツの著作権を保護し、悪意あるユーザ等によるコンテンツの不正利用を防止するため、著作権保護技術が用いられる。著作権保護技術とは、具体的には、暗号技術等を用いてコンテンツの利用をセキュアに制御する技術である。
【0003】
例えば、特許文献1には、コンテンツ配信システムの一例として、暗号化されたコンテンツ、利用条件、および、コンテンツ復号鍵を、端末装置が、サーバ装置より受信し、改ざん有無の確認を行った後、利用条件の適合検証を行い、全ての検証を満足したときのみコンテンツの復号を行うシステムが記載されている。
【0004】
このように、従来のコンテンツ配信システムでは、サーバ装置からライセンス(利用条件とコンテンツ復号鍵を含むデータの総称。利用権利とも呼ぶ)を端末装置に配信するが、その配信経路は一般的にインターネットなどの公衆回線を用いるため、ライセンスの盗聴および改ざんを防ぐ必要がある。つまり、利用条件の不正改ざんやコンテンツ鍵の流出を防止しなければならない。さらに、サーバ装置はライセンス配信先の認証も行う必要がある。つまり、サーバ装置が意図しない端末装置にライセンスを配信することも防止する必要がある。盗聴・改ざん防止と通信相手の認証を行うプロトコルはSAC(Secure Authenticated Channel)プロトコルと呼ばれ、例えば、SSL(Secure Socket Layer)がよく知られている(例えば、非特許文献1参照)。
【0005】
また、通信装置・通信回線の故障や電源断などによる通信切断がライセンス配信中に発生した場合、そのライセンスが消失してしまう可能性がある。このような場合、購入したコンテンツを再生することができないといった不利益がユーザに発生する。例えば、特許文献2および特許文献3には、通信切断による通信データの消失を、データ再送によって回避するプロトコルが記載されている。
【特許文献1】特許第3276021号公報
【特許文献2】特開2002−251524号公報
【特許文献3】特開2003−16041号公報
【非特許文献1】A.Frier, P.Karlton, and P.Kocher, “The SSL 3.0 Protocol”, [online], NetScape Communications Corp., Nov. 18, 1996, [平成18年1月23日検索], インターネット<URL: http://wp.netscape.com/eng/ssl3/draft302.txt>
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、SACプロトコルや通信切断対策プロトコルは、その適用範囲を広げるために汎用性を重視し、それぞれ独立に提案されている。これにより、双方のプロトコルを利用することで、ライセンスの盗聴・改ざんの防止、通信相手の認証、通信切断対策の全ての機能を実現するためには、双方のプロトコルで必要な通信往復回数が必要となる。
【0007】
また、ライセンス取得やライセンス返却などのトランザクションを連続して行う場合、トランザクション毎にSACプロトコルと通信切断対策プロトコルを単純に繰り返すことにすれば、1回のトランザクション処理にかかる通信往復回数の倍数だけ通信往復回数が増えていくこととなる。例えば、1回のトランザクション処理にかかる通信往復回数を4回とする場合、n個のトランザクションを処理する際には4n回の通信往復回数が必要となる。
【0008】
それゆえ、端末装置がトランザクション処理を完了するまでに通信遅延が発生し、ユーザが要求を出してから、応答を得るまでに待ち時間が発生するという課題がある。
【0009】
また、図26に示すように、ライセンスサーバ101ではユーザ端末103からのライセンス取得要求メッセージに対して、応答メッセージを送信してからコミットメッセージを受信するまでライセンス発行を管理するためにログ記録2601及びログ消去2603を行い、ユーザ端末103では応答メッセージを受信してからACKメッセージを受信するまでの期間においてライセンス管理のためにログ記録2602及びログ消去2604をする必要がある。従って、ライセンスサーバ101及びユーザ端末103ではログ記録の度にデータを蓄積する必要があり、ログ記録が電源切断等に対処するため不揮発性メモリであるフラッシュメモリ等への書き込みで行われている場合には、書き込み回数に制限があるメモリの寿命に影響するという問題がある。
【0010】
本発明は、こうした従来の問題点を解決するものであり、サーバ装置と端末装置間のライセンスの管理をログ記録を用いて行う場合においても、サーバ装置と端末装置で記録する情報の大きさが小さく、且つ、ログを記録する頻度が少ないプロトコルを実現するシステムおよび装置を提供することを目的としている。
【0011】
また、ライセンスの盗聴・改ざんの防止、通信相手の認証、通信切断対策の全ての機能を実現すると共に、複数トランザクション処理を行う場合において、サーバ装置・端末装置間の通信往復回数を減少させるプロトコルを実現するシステムおよび装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記従来の課題を解決するために、本発明の請求項1記載の端末装置は、コンテンツ鍵要求メッセージをサーバ装置へ送信し、前記サーバ装置からの前記コンテンツ鍵要求メッセージに対する応答メッセージを受信し、コンテンツを利用する端末装置であって、前記コンテンツ鍵要求メッセージは、現在実行中のコンテンツ鍵要求処理に関連づけられており0または1の値を取るトランザクションフラグを含み、前記応答メッセージは、コンテンツ鍵と、前記トランザクションフラグの記憶の要否を示すトランザクションフラグ記憶要否フラグを含み、前記サーバ装置とメッセージの送受信を行うメッセージ送受信手段と、前記トランザクションフラグを記憶するトランザクションフラグ記憶手段と、前記トランザクションフラグを前記トランザクションフラグ記憶手段に書き込むトランザクションフラグ書き込み手段とを備え、前記トランザクションフラグ書き込み手段は、(1)前記メッセージ送受信手段が、前記応答メッセージを受信し、且つ、(2)前記応答メッセージに含まれる前記トランザクションフラグ記憶要否フラグが記憶不要と設定されており、且つ、(3)前記トランザクションフラグ記憶手段に前記トランザクションフラグが記憶されている場合、前記トランザクションフラグ記憶手段から前記トランザクションフラグを削除することを特徴とする。
【0013】
尚、前記目的を達成するために、本発明は、前記端末装置及び前記サーバ装置からなるデジタルコンテンツ配信システム、前記端末装置及び前記サーバ装置の特徴的な構成手段をステップとするトランザクション処理方法としたり、それらのステップを全て含むプログラムとして実現することもできる。そして、そのプログラムは、ROM等に格納しておくだけでなく、CD−ROM等の記録媒体や通信ネットワークを介して流通させることもできる。
【発明の効果】
【0014】
本発明によれば、ライセンス配信処理においてログ記録の要否をサーバ装置側から端末装置側に通知し、ログ記録が不要の場合にはログ記録を行わないようにできるために、メモリの書き込み頻度を削減できる。
【0015】
また、ライセンスに含まれる利用条件の種別に応じて、ライセンス蓄積時や転送時等の処理を切り替える為、許可された範囲を超えてのコンテンツ利用を防止し、且つ、不必要なSAC確立等の処理を行わないライセンス管理を実現することが可能となるという効果がある。
【0016】
ライセンスの盗聴・改ざんの防止、通信相手の認証、通信切断対策の全ての機能を実現すると共に、複数トランザクション処理を行う場合においても、サーバ装置・端末装置間の通信往復回数を減少させ、更に、上記機能を実現するためにサーバ装置と端末装置で管理・保持する情報の大きさが小さく、且つ、記録する頻度が少ないプロトコルを実現するシステムおよび装置を提供することが可能となる。
【発明を実施するための最良の形態】
【0017】
(実施の形態1)
本発明の実施の形態におけるデジタルコンテンツ配信システムについて説明を行う。
【0018】
図1は、本実施の形態におけるデジタルコンテンツ配信システムの全体構成を示す図である。なお、本発明にかかるデジタルコンテンツ配信システムにおいては、図27に示すようにユーザ端末103からライセンスサーバ101にライセンスの要求メッセージ(2701)が送信された場合には、ライセンスサーバ101側でライセンス管理のためのトランザクション識別フラグのログ記録又はログ記録不要を判断して、ログ記録の要否を含めた応答メッセージ(2702)をユーザ端末103に送信する。そして、ユーザ端末103はログ記録が必要な場合にはログ記録を行って、ログ記録が不要な場合にはログ記録を行わないことを特徴とするものである。
【0019】
図1において、デジタルコンテンツ配信システムは、ライセンスサーバ101と、コンテンツサーバ102と、複数のユーザ端末103と、伝送媒体104とを備えている。以下、デジタルコンテンツ配信システムの各構成要素について説明を行う。
【0020】
ライセンスサーバ101は、事業者α側に設置され、ユーザβのコンテンツに対する利用権利を管理し、ユーザ端末103に対し、図2を用いて後述するライセンス200を配信するサーバである。
【0021】
コンテンツサーバ102は、事業者α側に設置され、ユーザ端末103に対し、コンテンツを配信するサーバである。なお、コンテンツはライセンス200を用いて復号可能な状態に暗号化された上で配信されるものとする。
【0022】
ユーザ端末103は、ユーザβ側に設置され、ライセンスサーバ101から配信されたライセンス200を管理し、ライセンス200を用いて、コンテンツサーバ102から配信されたコンテンツの再生を行う。
【0023】
伝送媒体104は、インターネットや、CATV(Cable Television)、放送波等の有線伝送媒体、または、無線伝送媒体、及び、可搬型記録媒体であり、ライセンスサーバ101、コンテンツサーバ102とユーザ端末103、ユーザ端末103と他のユーザ端末103との間をデータ交換可能に接続するものである。
【0024】
以上で、本実施の形態におけるデジタルコンテンツ配信システムの全体構成に関する説明を終了する。
【0025】
図2は、ライセンス200の一例を示す図である。図2において、ライセンス200は、ライセンスID201と、コンテンツID202と、利用条件種別203と、利用条件204と、コンテンツ鍵205とを含む。
【0026】
ライセンスID201には、ライセンス200を一意に特定するIDが記述される。コンテンツID202には、ライセンス200を使用して利用するコンテンツのIDが記述される。利用条件種別203には、利用条件204の種別を示す情報が記述される。本実施の形態においては、利用条件204が、更新する必要のある利用条件(例えば、「1回再生可」等)であるか、更新する必要のない利用条件(例えば、「2007年3月迄再生可」等)であるかを示す情報が記述されるものとする。利用条件204には、コンテンツの利用を許可する条件が記述される。コンテンツ鍵205には、コンテンツを復号する復号鍵が記述される。
【0027】
図3は、本実施の形態におけるライセンスサーバ101の全体構成を示す図である。図3においてライセンスサーバ101は、ライセンスデータベース301と、セキュア通信部302と、ライセンス発行部303とから構成される。以下、各構成要素について説明を行う。
【0028】
ライセンスデータベース301は、図4にその一例を図示する通り、各ユーザ端末103に発行可能なライセンス200を管理するデータベースである。図4において、ライセンスデータベース301は、端末ID401と、端末ID401で特定されるユーザ端末103に発行可能なライセンス200と、発行可能回数402と、コミット待ちフラグ403とから構成される。端末ID401は、デジタルコンテンツ配信システムにおいて、ユーザ端末103を一意に特定するIDである。発行可能回数402は、ユーザ端末103に対してライセンス200を発行可能な回数である。発行可能回数402は、ユーザ端末103に対してライセンス200を送信し、その返信としてライセンス受信完了通知(以降、コミットメッセージと呼ぶ)を受信する毎に1減算されるものとし、発行可能回数402が0となった時点でライセンス200は発行不可となる。本実施の形態においては、発行可能回数402が0となった場合、そのライセンス200は、ライセンスデータベース301から削除されるものとする。コミット待ちフラグ403は、ユーザ端末103からのコミットメッセージを待っている状態であるかどうかを示す情報である。本実施の形態においては、コミット待ちフラグ403は、「0」、または、「1」のいずれかの値をとり、「1」である場合、コミットメッセージを待っている状態であり、「0」の場合、コミットメッセージを待っている状態ではないことを示している。本実施の形態においては、発行可能回数402が有限であるライセンス200をユーザ端末103に対して送信する場合に、コミット待ちフラグ403を「1」に設定した上で送信するものとする。なお、コミット待ちフラグ403が「1」の状態で、コミットメッセージを受信した場合には、コミット処理として、発行可能回数402を「1」減じ、コミット待ちフラグ403を「0」に変更する処理を行うものとする。
【0029】
図4では、端末ID401が「0001」であるユーザ端末103には、ライセンスID201が「0011」もしくは「0012」である2つのライセンス200が発行可能であり、端末ID401が「0002」であるユーザ端末103には、ライセンスID201が「0021」であるライセンス200が発行可能であることを示している。また、例えば、端末ID401が「0001」であるユーザ端末103に対して発行可能な、ライセンスID201が「0011」であるライセンス200は、1回のみ発行可能であり、現在コミット待ちであることを示している。
【0030】
図3に戻り、セキュア通信部302は、ユーザ端末103の認証、ライセンスサーバ101とユーザ端末103との間の秘匿通信(盗聴・改ざんの防止と通信相手の認証を行う通信)、およびトランザクション中断対策を行う。セキュア通信部302の構成については図5を用いて後述する。
【0031】
ライセンス発行部303は、ユーザ端末103からの要求に応じてライセンス200の発行処理を行う処理部である。
【0032】
以上で、ライセンスサーバ101の全体構成に関する説明を終了する。
次に、図5を用いてライセンスサーバ101におけるセキュア通信部302の構成について説明を行う。図5において、セキュア通信部302は、セキュア通信制御部501と、トランザクションログデータベース502と、固有情報記憶部503と、乱数発生部504と、暗号処理部505と、通信部506とから構成される。以下、セキュア通信部302の各構成要素について説明を行う。
【0033】
セキュア通信制御部501は、セキュア通信部302全体の制御を行う手段であり、セキュア通信制御部501は、ユーザ端末103の認証処理や、ユーザ端末103と送受信するデータの暗号/復号処理、改ざんチェック処理等の制御を行う。更に、セキュア通信制御部501は、図6にその一例を図示するトランザクションログ600を揮発性メモリ上に管理し、また、必要に応じてそれを、トランザクションログデータベース502に記録する処理を行う。通信切断等によって実行中のトランザクションが中断した場合には、このトランザクションログデータベース502に記録した情報に基づいて所定の処理を行い、中断したトランザクションを完了させる、もしくは、中断したトランザクションの実行前の状態に戻すことが可能となる。
【0034】
図6において、トランザクションログ600は、端末ID401と、処理中トランザクション有無601と、処理中トランザクション識別フラグ602と、ロールバック要否603とから構成される。端末ID401には、ライセンスサーバ101が通信中であるユーザ端末103のIDが記述される。処理中トランザクション有無601には、現在処理中のトランザクションが有るか否かが記述される。処理中トランザクション識別フラグ602には、現在処理中のトランザクションに割り当てられた「0」もしくは「1」の値が記述される。本実施の形態においては、各トランザクションには「0」、または、「1」が交互に付与されるものとする。ロールバック要否603には、処理中のトランザクションが未完了で終了した場合に、ライセンスデータベース301をロールバックする必要があるか否かを示す情報が記述される。ここで、ロールバック(Roll Back)とは、データベースに障害が発生したときに、記録してあるチェックポイントにまでデータを巻き戻して、改めて処理を開始することをいう。図6では、ライセンスサーバ101は、端末ID401が「0001」であるユーザ端末103と通信中であることを示し、また、現在処理中のトランザクションが有って、そのトランザクションに割り当てられた処理中トランザクション識別フラグ602の値は「0」で、そのトランザクションが未完了で終了した場合でも、ライセンスデータベース301のロールバックは不要であることを示している。
【0035】
トランザクションログデータベース502は、不揮発性記録媒体によって実現され、図7にその一例を図示する通り、端末ID401と処理中トランザクション識別フラグ602との組を記録したデータベースである。
【0036】
固有情報記憶部503は、公開鍵暗号方式におけるライセンスサーバ101固有の公開鍵KDsが含まれるサーバ公開鍵証明書と、ライセンスサーバ101固有の秘密鍵KEsと、認証局公開鍵証明書とを記憶する。サーバ公開鍵証明書はライセンスサーバ101の公開鍵KDsに認証局の署名が施されたものである。本実施の形態においては、公開鍵証明書のフォーマットには、一般的なX.509証明書フォーマットを用いるものとする。なお、公開鍵暗号方式およびX.509証明書フォーマットについては、ITU−T文書X.509“The Direcrory:Public−key and attri
bute certificate frameworks”が詳しい。
【0037】
乱数発生部504は、乱数の生成を行う。
暗号処理部505は、データの暗号化、復号、署名生成、署名検証、セッション鍵生成用パラメータの生成、セッション鍵の生成を行う。データの暗号化および復号アルゴリズムにはAES(Advanced Encryption Standard)を、署名生成および署名検証アルゴリズムにはEC−DSA(Elliptic Curve Digital Signature Algorithm)を用いる。AESについてはNational Institute Standard and Technology(NIST)、FIPS Publication 197、EC−DSAについてはIEEE 1363Standardが詳しい。
【0038】
暗号処理部505は、データの暗号化/復号を行う場合には、AES鍵と平文/暗号化データをそれぞれ入力とし、入力されたAES鍵で暗号化/復号したデータをそれぞれ出力する。また、署名生成/検証を行う場合には、署名対象データ/署名検証データと秘密鍵/公開鍵をそれぞれ入力とし、署名データ/検証結果をそれぞれ出力する。さらに、セッション鍵生成用パラメータの生成を行う場合には、乱数を入力とし、Diffie−Hellmanパラメータを出力する。また、セッション鍵の生成を行う場合、乱数とDiffie−Hellmanパラメータを入力とし、セッション鍵を出力する。ここで、セッション鍵の生成にはEC−DH(Elliptic Curve Diffie−Hellman)を用いる。EC−DHのアルゴリズムは、上記のIEEE 1363 Standardが詳しい。
【0039】
通信部506は、ユーザ端末103と通信を行う手段である。
以上で、ライセンスサーバ101におけるセキュア通信部302の構成についての説明を終了する。
【0040】
次に、図8を用いて本実施の形態におけるユーザ端末103の構成について説明を行う。図8においてユーザ端末103は、ライセンス蓄積部801と、コンテンツ蓄積部802と、セキュア通信部803と、ライセンス取得部804と、コンテンツ取得部805と、コンテンツ出力制御部806と、コンテンツ出力部807とから構成される。以下、各構成要素について説明を行う。
【0041】
ライセンス蓄積部801は、ライセンスサーバ101から取得したライセンス200を蓄積する手段である。ライセンス蓄積部801は、ライセンス200を耐タンパ化されたメモリ内などにセキュアに蓄積するものとする。
【0042】
コンテンツ蓄積部802は、コンテンツサーバ102から取得した暗号化コンテンツを蓄積する手段である。
【0043】
セキュア通信部803は、ライセンスサーバ101の認証、ライセンスサーバ101とユーザ端末103との間の秘匿通信(盗聴・改ざんの防止と通信相手の認証を行う通信)、およびトランザクション中断対策を行う。セキュア通信部803の構成については図9を用いて後述する。
【0044】
ライセンス取得部804は、ライセンスサーバ101に対し、ライセンス200の発行要求処理を行う手段である。
【0045】
コンテンツ取得部805は、コンテンツサーバ102から、コンテンツを取得する手段である。
【0046】
コンテンツ出力制御部806は、ライセンス200に基づいて、コンテンツの出力を制御する手段である。
【0047】
コンテンツ出力部807は、コンテンツ出力制御部806の指示に従って、コンテンツ鍵205を用いてコンテンツを復号し、出力する手段である。
【0048】
以上で、ユーザ端末103の全体構成に関する説明を終了する。
次に、図9を用いてユーザ端末103におけるセキュア通信部803の構成について説明を行う。図9において、セキュア通信部803は、セキュア通信制御部901と、トランザクションログデータベース902と、固有情報記憶部903と、乱数発生部904と、暗号処理部905と、通信部906とから構成される。以下、セキュア通信部803の各構成要素について説明を行う。
【0049】
セキュア通信制御部901は、セキュア通信部803全体の制御を行う手段であり、セキュア通信制御部901は、ライセンスサーバ101の認証処理や、ライセンスサーバ101と送受信するデータの暗号/復号処理、改ざんチェック処理等の制御を行う。更に、セキュア通信制御部901は、図10にその一例を図示するトランザクションログ1000を揮発性メモリ上に管理し、また、必要に応じてトランザクションログ1000を、トランザクションログデータベース902に記録する処理を行う。通信切断等によって実行中のトランザクションが中断した場合には、このトランザクションログデータベース902に記録した情報に基づいて所定の処理を行い、中断したトランザクションを完了させる、もしくは、中断したトランザクションの実行前の状態に戻すことが可能となる。
【0050】
図10において、トランザクションログ1000は、サーバID1001と、処理中トランザクション識別フラグ602とから構成される。サーバID1001には、ユーザ端末103が通信中であるライセンスサーバ101のIDが記述される。処理中トランザクション識別フラグ602には、トランザクションログ600同様、現在処理中のトランザクションに割り当てられた「0」もしくは「1」の値が記述される。図10では、ユーザ端末103は、サーバID1001が「0001」であるライセンスサーバ101と通信中であることを示し、また、現在処理中のトランザクションに割り当てられた処理中トランザクション識別フラグ602の値は「0」であることを示している。
【0051】
トランザクションログデータベース902は、不揮発性記録媒体によって実現され、図11にその一例を図示する通り、サーバID1001と処理中トランザクション識別フラグ602との組を記録したデータベースである。
【0052】
固有情報記憶部903は、公開鍵暗号方式におけるユーザ端末103固有の公開鍵KDcが含まれる端末公開鍵証明書と、ユーザ端末103固有の秘密鍵KEcと、認証局公開鍵証明書とを記憶する。端末公開鍵証明書はユーザ端末103の公開鍵KDcに認証局の署名が施されたものである。公開鍵証明書のフォーマットには、ライセンスサーバ101と同様にX.509証明書フォーマットを用いる。
【0053】
乱数発生部904は、乱数の生成を行う。
暗号処理部905は、データの暗号化、復号、署名生成、署名検証、セッション鍵生成用パラメータの生成、セッション鍵の生成を行う。暗号処理部905の入出力は、ライセンスサーバ101の暗号処理部505と同じである。
【0054】
通信部906は、ライセンスサーバ101と通信を行う手段である。
以上で、ユーザ端末103におけるセキュア通信部803の構成についての説明を終了する。
【0055】
以上で、本実施の形態におけるデジタルコンテンツ配信システムの構成についての説明を終わる。
【0056】
次にフローチャートを参照して、本実施の形態におけるデジタルコンテンツ配信システムの処理について説明を行う。
【0057】
まず、図12、及び、図13を参照して、本実施の形態におけるユーザ端末103が、ライセンスサーバ101からライセンス200を取得する処理の概略を説明する。
【0058】
図12は、ユーザ端末103とライセンスサーバ101との通信開始時に、トランザクションログデータベース902にログが記録されていない場合の、ライセンス取得処理の概略を説明する図である。
【0059】
図13は、ユーザ端末103とライセンスサーバ101との通信開始時に、トランザクションログデータベース902にログが記録されている場合の、ライセンス取得処理の概略を説明する図である。
【0060】
ユーザ端末103とライセンスサーバ101との通信は、全てユーザ端末103から開始される要求メッセージと、要求メッセージに呼応してライセンスサーバ101から返信される応答メッセージからなる。要求と応答との対をフェーズと呼び、図12、図13に示す通り5種類のフェーズからなる。以下、各フェーズの概略を説明する。
【0061】
まず、認証フェーズP1について説明を行う。認証フェーズP1は、ユーザ端末103とライセンスサーバ101との間でセッションが確立された後、最初に1度だけ行われる相互認証用のフェーズである。認証フェーズP1においてユーザ端末103は、ライセンスサーバ101がユーザ端末103を認証するために必要となる情報である認証情報Aを初回の要求メッセージとしてライセンスサーバ101に送信する。ライセンスサーバ101は、認証情報Aを検証した後、ユーザ端末103がライセンスサーバ101を認証するために必要となる情報である認証情報Bを送信する。ユーザ端末103は認証情報Bを検証する。以上で、認証フェーズP1の説明を終わる。
【0062】
次に認証・要求フェーズP2の説明を行う。認証・要求フェーズP2は、認証フェーズP1開始時にトランザクションログデータベース902にログが記録されていない場合に、認証フェーズP1に続いて、1度だけ行われるフェーズである。認証・要求フェーズP2において、ユーザ端末103は、ライセンス要求メッセージと共に、相互認証を確定させるために必要となる情報である認証情報C、及び、トランザクション識別フラグTをライセンスサーバ101に対し送信する。ここで送信されるトランザクション識別フラグTには初期値(本実施の形態においては、「0」)が設定される。ライセンスサーバ101は、新たなトランザクションの開始と判断し、前回中断しているトランザクションがある場合には、ライセンスデータベース301やトランザクションログデータベース502の状態を、そのトランザクション開始前の状態に戻す処理(以降、キャンセル処理と呼ぶ)を行い、その後、要求メッセージに対する応答として、ライセンス200を含む応答メッセージをユーザ端末103に送信する。応答メッセージを受信したユーザ端末103は、連続してトランザクション処理を行わない場合には、コミットメッセージを送信することによりコミットフェーズP4に移行する。また、連続してトランザクション処理を行う場合には、コミットメッセージを送信しないで、要求フェーズP3に移行する。
【0063】
要求フェーズP3は、同一セッション内で2つ以上のトランザクションを処理する場合に発生するフェーズである。つまり、ライセンス要求が複数回行われる場合に、要求フェーズP3が用いられる。要求フェーズP3は、必要なトランザクション数だけ繰り返される。この要求フェーズP3では、コミットメッセージは送信されず、コミットメッセージの代わりに、値が反転したトランザクション識別フラグTが、次の要求フェーズP3におけるライセンス要求メッセージと共に送信される。ライセンスサーバ101は、要求フェーズP3において、前回の要求フェーズP3で受信したトランザクション識別フラグTに対して、値が反転したトランザクション識別フラグTを受信した場合には、前回のトランザクションに対してコミット処理を行うものとする。最後の要求フェーズP3が完了した後は、コミットフェーズP4に移行する。
【0064】
コミットフェーズP4は、全てのトランザクション処理が終了した後にライセンスサーバ101においてトランザクション処理の完了を確定させるためのフェーズである。コミットフェーズP4において、ユーザ端末103はコミットメッセージをライセンスサーバ101に送信する。コミットメッセージを受信したライセンスサーバ101はコミット処理を行う。
【0065】
次に、認証・コミットフェーズP5について説明を行う。認証・コミットフェーズP5は、認証フェーズP1開始時にトランザクションログデータベース902にログが記録されている場合に、認証フェーズP1に続いて、1度だけ行われるフェーズである。認証・コミットフェーズP5において、ユーザ端末103は、コミットメッセージと共に、相互認証を確定させるために必要となる情報である認証情報C、及び、トランザクション識別フラグTをライセンスサーバ101に対し送信する。ライセンスサーバ101は、トランザクション識別フラグTの値に応じて、コミット処理、もしくは、キャンセル処理を行う。
【0066】
以上で、本実施の形態におけるユーザ端末103が、ライセンスサーバ101からライセンス200を取得する際の5つのフェーズにおける処理の概略説明を終了する。
【0067】
以下、P1〜P5の各通信フェーズにおいて行われる処理について詳細な説明を行う。
まず、図14に示すフローチャートを参照して、認証フェーズP1において行われる処理について説明する。
【0068】
S1401:ユーザβによって、ライセンスサーバ101からライセンス200を取得するよう指示されると、セキュア通信部803に含まれるセキュア通信制御部901は、トランザクションログデータベース902を参照し、指定されたライセンスサーバ101に対応するログがあるかどうかを確認する。対応するログがある場合には、トランザクションログ1000として、自らが管理する揮発性メモリ上に、それを読み出す。
【0069】
S1402:セキュア通信制御部901は、乱数発生部904で生成した乱数Rcと、固有情報記憶部903に記憶している端末公開鍵証明書とを含むチャレンジメッセージを生成し、それを、通信部906を介して、ライセンスサーバ101へ送信する。
【0070】
S1403:ライセンスサーバ101のセキュア通信部302に含まれるセキュア通信制御部501は、通信部506を介してユーザ端末103から、乱数Rc、端末公開鍵証明書を含むチャレンジメッセージを受信すると、まず、固有情報記憶部503に記憶している認証局公開鍵証明書と、前記端末公開鍵証明書とを、暗号処理部505に与えることにより、前記端末公開鍵証明書の署名検証を行う。
【0071】
S1404:S1403における署名検証の結果、検証失敗となった場合には、S1409の処理に進む。S1403における署名検証の結果、検証成功となった場合には、S1405の処理に進む。
【0072】
S1405:セキュア通信制御部501は、乱数発生部504で乱数Rs、Rs2を生成し、暗号処理部505で、乱数Rs2を入力としてDiffie−HellmanパラメータDHsの生成を行う。
【0073】
S1406:セキュア通信制御部501は、ユーザ端末103から受信した乱数Rc、ステップS1405で生成したDHsを連結したデータ(式1)のライセンスサーバ101固有の秘密鍵KEsによる署名(式2)を暗号処理部505で生成する。
【0074】
Rc||DHs (式1)
S(KEs,Rc||DHs) (式2)
【0075】
ここで、記号「||」はデータの連結を表す。また、S(A,B)は、署名を生成するアルゴリズムSを用いて、秘密鍵Aにより、データBに対する署名を生成することを示す。
【0076】
S1407:セキュア通信制御部501は、トランザクションログデータベース502を参照し、通信中のユーザ端末103に対応したログがあるかどうかを確認する。対応するログがある場合には、トランザクションログ600として、自らが管理する揮発性メモリ上に、それを読み出し、トランザクションログデータベース502から読み出したログを削除する。なお、この際、処理中トランザクション有無601には「有り」を、ロールバック要否603には「要」を設定するものとする。一方、トランザクションログデータベース502に対応するログが無い場合には、トランザクションログ600を自らが管理する揮発性メモリ上に生成する。この場合、端末ID401には通信中のユーザ端末103のIDを、処理中トランザクション有無601には「無し」を、処理中トランザクション識別フラグ602には「0」を、ロールバック要否603には「不要」を設定するものとする。
【0077】
S1408:セキュア通信制御部501は、S1405で生成した乱数Rs、及び、Diffie−HellmanパラメータDHsと、固有情報記憶部503に記憶しているサーバ公開鍵証明書と、ステップS1406で生成した署名(式2)を含むレスポンス&チャレンジメッセージを生成し、それを、ユーザ端末103に通信部506を介して送信する。
【0078】
S1409:セキュア通信制御部501は、エラーメッセージを生成し、それを、ユーザ端末103に通信部506を介して送信する。
【0079】
S1410:セキュア通信制御部901は、ライセンスサーバ101から受信したメッセージがレスポンス&チャレンジメッセージであるかどうかを確認する。ライセンスサーバ101から受信したメッセージがレスポンス&チャレンジメッセージである場合、S1411の処理に進む。ライセンスサーバ101から受信したメッセージがレスポンス&チャレンジメッセージでない場合、そのまま処理を終了する。
【0080】
S1411:セキュア通信制御部901は、固有情報記憶部903に記憶している認証局公開鍵証明書と、レスポンス&チャレンジメッセージに含まれるサーバ公開鍵証明書とを、暗号処理部905に与えることにより、前記サーバ公開鍵証明書の署名検証を行う。
【0081】
S1412:S1411における署名検証の結果、検証失敗となった場合には、そのまま処理を終了する。S1411における署名検証の結果、検証成功となった場合には、S1413の処理に進む。
【0082】
S1413:セキュア通信制御部901は、S1402で作成した乱数Rcとレスポンス&チャレンジメッセージに含まれるDHsを結合したデータ(式3)を生成し、そのデータ(式3)と、レスポンス&チャレンジメッセージに含まれる署名データ(式2)、およびサーバ公開鍵証明書を暗号処理部905に入力し、署名データ(式2)の検証を行う。
【0083】
Rc||DHs (式3)
【0084】
S1414:S1413における署名検証の結果、検証失敗となった場合には、そのまま処理を終了する。S1413における署名検証の結果、検証成功となった場合には、ユーザ端末103は通信相手が確かにライセンスサーバ101であることがわかる(通信相手の認証)。この場合、S1415の処理に進む。
【0085】
S1415:セキュア通信制御部901は、乱数発生部904で乱数Rc2を生成し、生成した乱数Rc2を暗号処理部905の入力としてDiffie−HellmanパラメータDHcを生成する。
【0086】
S1416:セキュア通信制御部901は、レスポンス&チャレンジメッセージに含まれるDHsと、S1415で生成したRc2とから、暗号処理部905でセッション鍵KSを生成する。
【0087】
S1417:セキュア通信制御部901は、レスポンス&チャレンジメッセージに含まれる乱数RsとS1415で生成したDHcを連結したデータ(式4)のユーザ端末103固有の秘密鍵KEcによる署名(式5)を暗号処理部905で生成する。
【0088】
Rs||DHc (式4)
S(KEc,Rs||DHc) (式5)
【0089】
S1418:セキュア通信制御部901は、トランザクションログデータベース902を参照し、通信中のライセンスサーバ101に対応するログが有るかどうかを確認する。通信中のライセンスサーバ101に対応するログが有る場合、認証・コミットフェーズP5の処理へ進む。通信中のライセンスサーバ101に対応するログが無い場合、認証・要求フェーズP2の処理へ進む。
【0090】
以上で、認証フェーズP1において行われる処理についての説明を終わる。
次に、図15に示すフローチャートを参照して、認証・要求フェーズP2において行われる処理について説明する。
【0091】
S1501:セキュア通信制御部901は、トランザクションログ1000を自らが管理する揮発性メモリ上に生成する。この場合、サーバID1001には通信中のライセンスサーバ101のIDを、処理中トランザクション識別フラグ602には初期値(本実施の形態においては「0」)を設定するものとする。
【0092】
S1502:ライセンス取得部804は、ライセンス取得要求メッセージMreqを生成する。ライセンス取得要求メッセージMreqには、取得を希望するライセンス200のライセンスID201が含まれているものとする。
【0093】
S1503:セキュア通信制御部901は、シーケンス番号Seqとトランザクション識別フラグTとS1502で生成したライセンス取得要求メッセージMreqとそれらに対するハッシュ値hとを連結し、それを、セッション鍵KSを用いて暗号化した暗号化データ(式6)を生成する。
【0094】
E(KS,Seq||T||Mreq||h)(式6)
【0095】
なお、E(X,Y)は、暗号アルゴリズムEを用いて、暗号鍵Xにより、データYを暗号化することを表す。
【0096】
ここで、シーケンス番号Seqには「0」を設定するものとする。シーケンス番号Seqは、以降、同一セッション中のメッセージの送信および受信の度に1ずつ加算されるものとする。また、トランザクション識別フラグTには、トランザクションログ1000の処理中トランザクション識別フラグ602の値を設定するものとする。
【0097】
S1504:セキュア通信制御部901は、S1415で生成したDHcと、S1417で生成した署名(式5)と、S1503で生成した暗号化データ(式6)とを含む要求&レスポンスメッセージを生成し、それを、ライセンスサーバ101に通信部906を介して送信する。
【0098】
S1505:ライセンスサーバ101のセキュア通信部302に含まれるセキュア通信制御部501は、通信部506を介してユーザ端末103から、Diffie−HellmanパラメータDHc、署名データ、および暗号化データを含む要求&レスポンスメッセージを受信すると、S1405で作成した乱数Rsと上記DHcを結合したデータ(式7)を生成し、その生成データ(式7)、上記署名データ、及び、端末公開鍵証明書を暗号処理部505に入力し、署名データの検証を行う。
【0099】
Rs||DHc (式7)
【0100】
S1506:S1505における署名検証の結果、検証失敗となった場合には、S1513の処理に進む。S1505における署名検証の結果、検証成功となった場合には、S1507の処理に進む。
【0101】
S1507:セキュア通信制御部501は、要求&レスポンスメッセージに含まれるDHcと、S1405で生成したRs2とから、暗号処理部505でセッション鍵KSを生成する。その後、要求&レスポンスメッセージに含まれる暗号化データと生成したセッション鍵KSを暗号処理部505に入力し暗号化データの復号を行う。
【0102】
S1508:セキュア通信制御部501は、シーケンス番号Seqとハッシュ値hの検証を行う。
【0103】
S1509:S1508における検証の結果、検証失敗となった場合には、S1513の処理に進む。S1508における検証の結果、検証成功となった場合には、S1510の処理に進む。
【0104】
S1510:セキュア通信制御部501は、トランザクションログ600の処理中トランザクション有無601の値を確認する。確認の結果、処理中トランザクション有無601の値が「有り」の場合、S1511の処理に進む。処理中トランザクション有無601の値が「無し」の場合、S1512の処理に進む。
【0105】
S1511:セキュア通信制御部501は、後述するキャンセル処理を実行する。
S1512:セキュア通信制御部501は、後述する応答メッセージ生成・送信処理を実行する。
【0106】
S1513:セキュア通信制御部501は、エラーメッセージを生成し、それを、ユーザ端末103に通信部506を介して送信する。
【0107】
S1514:セキュア通信制御部901は、ライセンスサーバ101から受信したメッセージが応答メッセージであるかどうかを確認する。ライセンスサーバ101から受信したメッセージが応答メッセージである場合、S1515の処理に進む。ライセンスサーバ101から受信したメッセージが応答メッセージでない場合、そのまま処理を終了する。
【0108】
S1515:セキュア通信制御部901は、後述する応答メッセージ受信時処理を実行する。
【0109】
S1516:S1515の応答メッセージ受信時処理において、シーケンス番号Seq、ハッシュ値hの検証に成功した場合には、S1517の処理に進む。一方、シーケンス番号Seq、ハッシュ値hの検証に失敗した場合には、そのまま処理を終了する。
【0110】
S1517:セキュア通信制御部901は、続けてライセンス要求を行う場合には、要求フェーズP3の処理へ進む。一方、続けてライセンス要求を行わない場合には、コミットフェーズP4の処理へ進む。
【0111】
以上で、認証・要求フェーズP2において行われる処理についての説明を終わる。
次に、図16に示すフローチャートを参照して、図15におけるS1511のキャンセル処理の詳細について説明を行う。
【0112】
S1601:セキュア通信制御部501は、ライセンス発行部303に対し、ライセンスデータベース301のロールバック処理を行うよう指示する。このロールバック指示には、現在通信中のユーザ端末103の端末ID401が含まれているものとする。指示を受けたライセンス発行部303は、ライセンスデータベース301を参照し、ロールバック指示に含まれる端末ID401と関連づけられている情報の中から、コミット待ちフラグ403の値が「1」となっているものを検索し、その値を「0」に変更する。
【0113】
S1602:セキュア通信制御部501は、トランザクションログ600の処理中トランザクション有無601の値を「無し」に設定する。
【0114】
なお、キャンセル処理においては、ライセンスデータベース301のロールバック処理を行うこととして説明を行ったが、それに限るわけではなく、他にロールバックが必要な情報を管理・更新している場合には、その情報をロールバックしても良い。
【0115】
以上で、キャンセル処理についての説明を終わる。
次に、図17に示すフローチャートを参照して、図15におけるS1512の応答メッセージ生成・送信処理の詳細について説明を行う。
【0116】
S1701:セキュア通信制御部501は、ライセンス発行部303に対し、復号したライセンス取得要求メッセージMreqを送信し、新規ライセンス取得要求を受信したことを通知する。通知を受けたライセンス発行部303は、ライセンスデータベース301を参照し、ライセンス200の発行可否を判定する。ライセンス発行部303は、ライセンス取得要求メッセージMreqで発行を要求されているライセンス200の発行可能回数402が1以上で、且つ、コミット待ちフラグ403が「0」である場合に、ライセンス200発行可と判定するものとする。判定の結果、ライセンス発行可の場合には、S1702の処理に進む。一方、ライセンス発行不可の場合には、S1705の処理に進む。
【0117】
S1702:ライセンス発行部303は、発行可能回数402が有限かどうかを確認する。確認の結果、発行可能回数402が有限の場合、S1703の処理に進む。発行可能回数402が無限の場合、S1705の処理に進む。
【0118】
S1703:ライセンス発行部303は、発行しようとしているライセンス200をユーザ端末103が受信できなかった場合には、ライセンスデータベース301のロールバック処理が必要であると判定する。
【0119】
S1704:ライセンス発行部303は、発行しようとしているライセンス200のコミット待ちフラグ403の値を「1」に変更する。
【0120】
S1705:ライセンス発行部303は、発行しようとしているライセンス200をユーザ端末103が受信できなかった場合でも、ライセンスデータベース301のロールバック処理が不要であると判定する。
【0121】
S1706:ライセンス発行部303は、ライセンス要求レスポンスMresを生成する。なお、ライセンス発行部303は、S1701でライセンス発行可と判定した場合には、ライセンス200を含むライセンス要求レスポンスメッセージMresを、S1701でライセンス発行不可と判定した場合には、ライセンス200の発行が不可であることを通知するライセンス要求レスポンスMresを生成するものとする。ライセンス発行部303は、生成したライセンス要求レスポンスMresと、S1703、及び、S1705で判定したロールバック要否とを、セキュア通信制御部501に対し送信する。
【0122】
S1707:セキュア通信制御部501は、トランザクションログ600の処理中トランザクション有無601の値を「有り」に、処理中トランザクション識別フラグ602の値をユーザ端末103から送信されてきたトランザクション識別フラグTの値に、ロールバック要否603をS1706で通知された値に設定する。
【0123】
S1708:セキュア通信制御部501は、シーケンス番号Seqとトランザクション識別フラグ記憶指示TRとS1706で生成したライセンス取得要求レスポンスメッセージMreqとそれらに対するハッシュ値hとを連結し、それを、セッション鍵KSを用いて暗号化した暗号化データ(式8)を生成する。トランザクション識別フラグ記憶指示TRとは、ユーザ端末103において、トランザクションログ1000を、トランザクションログデータベース902に記録する必要があるか否かを示す情報である。セキュア通信制御部501は、トランザクションログ600のロールバック要否603が「要」の場合には、トランザクション識別フラグ記憶指示TRに「記録要」と設定し、ロールバック要否603が「不要」の場合には、トランザクション識別フラグ記憶指示TRに「記録不要」と設定するものとする。トランザクション識別フラグ記憶指示TRで、トランザクションログデータベース902への記録要否を通知することにより、トランザクションログデータベース902への不要な記録を抑えることが可能となる。
【0124】
E(KS,Seq||TR||Mres||h)(式8)
【0125】
その後、セキュア通信制御部501は、生成した暗号化データ(式8)を含む応答メッセージを生成し、それをユーザ端末103に通信部506を介して送信する。
【0126】
なお、ライセンスサーバ101から送信される応答メッセージにトランザクション識別フラグの保持期限を含むようにしても構わない。
【0127】
図28及び29に、トランザクションログ600に、さらに保持期限を付与した場合の参考図を示す。
【0128】
ライセンスサーバが管理するトランザクションログ600には保持期限2801、トランザクションログデータベース502には保持期限2802が付加され、ユーザ端末が管理するトランザクションログ1000には保持期限2901、トランザクションログデータベース902には保持期限2902が付加されている。この保持期限の設定の例としては、システムで固有の長さ(ログを記録してから1ヶ月等)、利用条件に応じて付与(ライセンスを3月迄発行可の場合、3月末と設定)等が考えられる。従って、従来は、ライセンスサーバ101またはユーザ端末103が、中断している処理があるにも関らず運用を停止した場合等には、トランザクションログを消去できない等の問題があったが、保持期限を付与することにより、ライセンスサーバ101及びユーザ端末103は、保持期限を過ぎた場合にはトランザクションログを削除できるため、トランザクションログがライセンスサーバ101及びユーザ端末103にいつまでも残ることを適切に防止できる。
【0129】
また、ライセンスサーバ101は、ユーザ端末103においてトランザクションログ1000を、トランザクションログデータベース902に記録する必要があるか否かを判定し、その判定結果を、応答メッセージ中のトランザクション識別フラグ記憶指示TRによって、ユーザ端末103に対し通知するが、この記録要否判定は、送信するライセンス200に含まれる利用条件204の内容や、ライセンスサーバ101で管理する情報の更新の有無等に応じて行われてもよい。例えば、送信するライセンス200の利用条件204がステートフルの場合には「記録要」と判定し、利用条件がステートレスの場合には「不要」と判定することが考えられる。また、ライセンスサーバ101で、ライセンス200の発行に伴い、管理している情報を更新する場合には「記録要」とし、更新しない場合には「不要」とすることが考えられる。ライセンスサーバ101で管理し、ライセンス200の発行に伴い更新される情報としては、ライセンス200の発行数や、ライセンス200の発行履歴等が考えられる。
【0130】
また、ライセンスサーバ101が、ユーザ端末103においてトランザクションログ1000を、トランザクションログデータベース902に記録する必要があるか否かを判定するとしたが、ライセンスサーバ101では記録要否の判定を行わずに、例えば、ライセンス200の利用条件204の内容等により、ユーザ端末103側で判定を行うこととしても良い。
【0131】
以上で、応答メッセージ生成・送信処理についての説明を終わる。
次に、図18に示すフローチャートを参照して、図5におけるS1515の応答メッセージ受信時処理の詳細について説明を行う。
【0132】
S1801:セキュア通信制御部901は、応答メッセージに含まれる暗号化データとセッション鍵KSを暗号処理部905に入力し暗号化データの復号を行う。
【0133】
S1802:セキュア通信制御部901は、シーケンス番号Seqとハッシュ値hの検証を行う。
【0134】
S1803:S1802における検証の結果、検証失敗となった場合には、そのまま処理を終了する。S1802における検証の結果、検証成功となった場合には、S1804の処理に進む。
【0135】
S1804:セキュア通信制御部901は、トランザクションログデータベース902に、通信中のライセンスサーバ101に対応するログがある場合、それを削除する。
【0136】
S1805:セキュア通信制御部901は、S1801で復号したデータに含まれるトランザクション識別フラグ記憶指示TRを参照し、トランザクションログ1000をトランザクションログデータベース902に記録する必要があるかどうかを確認する。確認の結果、記録が必要な場合には、S1806の処理に進む。記録が不必要な場合には、S1807の処理に進む。
【0137】
S1806:セキュア通信制御部901は、トランザクションログ1000をトランザクションログデータベース902に記録する。
【0138】
S1807:セキュア通信制御部901は、S1801で復号した暗号化データに含まれるライセンス取得要求レスポンスメッセージMreqを、ライセンス取得部804に送信する。ライセンス取得部804は、ライセンス取得要求レスポンスメッセージMreqを参照し、ライセンス200を取得できたか否かを確認する。確認の結果ライセンス200を取得できた場合には、S1808の処理に進む。以降、取得したライセンス200はユーザ端末103において使用可能である。一方、ライセンス200を取得できなかった場合には、そのまま処理を終了する。
【0139】
S1808:ライセンス取得部804は、ライセンス200をライセンス蓄積部801に蓄積する。
【0140】
以上で、応答メッセージ受信時処理についての説明を終わる。
次に、図19に示すフローチャートを参照して、要求フェーズP3において行われる処理について説明する。
【0141】
S1901:セキュア通信制御部901は、揮発性メモリ上で管理するトランザクションログ1000の処理中トランザクション識別フラグ602の値を反転する。
【0142】
S1902:ライセンス取得部804は、ライセンス取得要求メッセージMreqを生成する。ライセンス取得要求メッセージMreqには、取得を希望するライセンス200のライセンスID201が含まれているものとする。
【0143】
S1903:セキュア通信制御部901は、シーケンス番号Seqとトランザクション識別フラグTとS1902で生成したライセンス取得要求メッセージMreqとそれらに対するハッシュ値hとを連結し、それを、セッション鍵KSを用いて暗号化した暗号化データ(式6)を生成する。トランザクション識別フラグTには、トランザクションログ1000の処理中トランザクション識別フラグ602の値を設定するものとする。
【0144】
S1904:セキュア通信制御部901は、S1903で生成した暗号化データ(式6)を含む要求メッセージを生成し、それを、ライセンスサーバ101に通信部906を介して送信する。
【0145】
S1905:セキュア通信制御部501は、要求メッセージを受信すると、要求メッセージに含まれる暗号化データとセッション鍵KSを暗号処理部505に入力し暗号化データの復号を行う。
【0146】
S1906:セキュア通信制御部501は、シーケンス番号Seqとハッシュ値hの検証を行う。
【0147】
S1907:S1906における検証の結果、検証失敗となった場合には、S1912の処理に進む。S1906における検証の結果、検証成功となった場合には、S1908の処理に進む。
【0148】
S1908:セキュア通信制御部501は、トランザクションログ600の処理中トランザクション識別フラグ602の値と、S1905で復号した暗号化データに含まれるトランザクション識別フラグTの値を確認する。確認の結果、トランザクション識別フラグTの値と処理中トランザクション識別フラグ602の値が一致する場合、S1911の処理に進む。トランザクション識別フラグTの値と処理中トランザクション識別フラグ602の値が一致しない場合、S1909の処理に進む。
【0149】
S1909:セキュア通信制御部501は、後述するコミット処理を実行する。
S1910:セキュア通信制御部501は、前述した応答メッセージ生成・送信処理を実行する。
【0150】
S1911:セキュア通信制御部501は、後述する応答メッセージ生成・送信処理(再送)を実行する。
【0151】
S1912:セキュア通信制御部501は、エラーメッセージを生成し、それを、ユーザ端末103に通信部506を介して送信する。
【0152】
S1913:セキュア通信制御部901は、ライセンスサーバ101から受信したメッセージが応答メッセージであるかどうかを確認する。ライセンスサーバ101から受信したメッセージが応答メッセージである場合、S1914の処理に進む。ライセンスサーバ101から受信したメッセージが応答メッセージでない場合、そのまま処理を終了する。
【0153】
S1914:セキュア通信制御部901は、前述した応答メッセージ受信時処理を実行する。
【0154】
S1915:S1914の応答メッセージ受信時処理において、シーケンス番号Seq、ハッシュ値hの検証に成功した場合には、S1916の処理に進む。一方、シーケンス番号Seq、ハッシュ値hの検証に失敗した場合には、そのまま処理を終了する。
【0155】
S1916:セキュア通信制御部901は、続けてライセンス要求を行う場合には、再度要求フェーズP3の処理を実行する。一方、続けてライセンス要求を行わない場合には、コミットフェーズP4の処理へ進む。
【0156】
以上で、要求フェーズP3において行われる処理についての説明を終わる。
次に、図20に示すフローチャートを参照して、図19におけるS1910のコミット処理の詳細について説明する。
【0157】
S2001:セキュア通信制御部501は、ライセンス発行部303に対し、コミット処理を行うよう指示する。このコミット指示には、現在通信中のユーザ端末103の端末ID401が含まれているものとする。指示を受けたライセンス発行部303は、ライセンスデータベース301を参照し、コミット指示に含まれる端末ID401と関連づけられている情報の中に、コミット待ちフラグ403の値が「1」であるライセンス200が有るかどうかを検索する。検索の結果、コミット待ちフラグ403の値が「1」のライセンス200が検出された場合、S2002の処理に進む。コミット待ちフラグ403の値が「1」のライセンス200が検出されない場合、S2003の処理に進む。
【0158】
S2002:ライセンス発行部303は、S2001で検出したライセンス200のコミット待ちフラグ403の値を「0」に変更し、発行可能回数402を1減算する。
【0159】
S2003:セキュア通信制御部501は、トランザクションログ600の処理中トランザクション有無601の値を「無し」に設定する。
【0160】
なお、S2002において、ライセンスデータベース301に含まれる情報を更新するとして説明を行ったが、これに限るわけではなく、他にライセンス200の発行に伴い更新が必要な情報を管理している場合には、その情報を更新しても良い。
【0161】
以上で、コミット処理についての説明を終わる。
次に、図21に示すフローチャートを参照して、図19におけるS1911の応答メッセージ生成・送信処理(再送)の詳細について説明する。
【0162】
S2101:セキュア通信制御部501は、ライセンス発行部303に対し、復号したライセンス取得要求メッセージMreqを送信し、再送されたライセンス取得要求を受信したことを通知する。通知を受けたライセンス発行部303は、ライセンスデータベース301を参照し、ライセンス200の発行可否を判定する。ライセンス発行部303は、ライセンス取得要求メッセージMreqで発行を要求されているライセンス200の発行可能回数402が1以上である場合に、ライセンス200発行可と判定するものとする。
【0163】
S2102:ライセンス発行部303は、ライセンス要求レスポンスMresを生成する。なお、ライセンス発行部303は、S2101でライセンス発行可と判定した場合には、ライセンス200を含むライセンス要求レスポンスメッセージMresを、S2101でライセンス発行不可と判定した場合には、ライセンス200の発行が不可であることを通知するライセンス要求レスポンスMresを生成するものとする。ライセンス発行部303は、生成したライセンス要求レスポンスMresを、セキュア通信制御部501に対し送信する。
【0164】
S2103:セキュア通信制御部501は、シーケンス番号Seqとトランザクション識別フラグ記憶指示TRとS2102で生成したライセンス取得要求レスポンスメッセージMreqとそれらに対するハッシュ値hとを連結し、それを、セッション鍵KSを用いて暗号化した暗号化データ(式8)を生成する。セキュア通信制御部501は、トランザクションログ600のロールバック要否603が「要」の場合には、トランザクション識別フラグ記憶指示TRに「記録要」と設定し、ロールバック要否603が「不要」の場合には、トランザクション識別フラグ記憶指示TRに「記録不要」と設定するものとする。その後、セキュア通信制御部501は、生成した暗号化データ(式8)を含む応答メッセージを生成し、それをユーザ端末103に通信部506を介して送信する。
【0165】
以上で、応答メッセージ生成・送信処理(再送)についての説明を終わる。
次に、図22に示すフローチャートを参照して、コミットフェーズP4において行われる処理について説明する。
【0166】
S2201:セキュア通信制御部901は、シーケンス番号Seqとトランザクション識別フラグTとコミットコマンドCとそれらに対するハッシュ値hとを連結し、それを、セッション鍵KSを用いて暗号化した暗号化データ(式9)を生成する。トランザクション識別フラグTには、トランザクションログ1000の処理中トランザクション識別フラグ602の値を設定するものとする。
【0167】
E(KS,Seq||T||C||h) (式9)
【0168】
S2202:セキュア通信制御部901は、S2201で生成した暗号化データ(式9)を含むコミットメッセージを生成し、それを、ライセンスサーバ101に通信部906を介して送信する。
【0169】
S2203:セキュア通信制御部501は、コミットメッセージを受信すると、コミットメッセージに含まれる暗号化データとセッション鍵KSを暗号処理部505に入力し暗号化データの復号を行う。
【0170】
S2204:セキュア通信制御部501は、シーケンス番号Seqとハッシュ値hの検証を行う。
【0171】
S2205:S2204における検証の結果、検証失敗となった場合には、S2208の処理に進む。S2204における検証の結果、検証成功となった場合には、S2206の処理に進む。
【0172】
S2206:セキュア通信制御部501は、前述したコミット処理を実行する。
S2207:セキュア通信制御部501は、シーケンス番号Seqとトランザクション識別フラグTとACKコマンドAとそれらに対するハッシュ値hとを連結し、それを、セッション鍵KSを用いて暗号化した暗号化データ(式10)を生成し、生成したデータ(式10)を含むACKメッセージを生成し、それを、ユーザ端末103に通信部506を介して送信する。トランザクション識別フラグTには、トランザクションログ600の処理中トランザクション識別フラグ602の値を設定するものとする。
【0173】
E(KS,Seq||T||A||h) (式10)
【0174】
S2208:セキュア通信制御部501は、エラーメッセージを生成し、それを、ユーザ端末103に通信部506を介して送信する。
【0175】
S2209:セキュア通信制御部901は、ライセンスサーバ101から受信したメッセージがACKメッセージであるかどうかを確認する。ライセンスサーバ101から受信したメッセージがACKメッセージである場合、S2210の処理に進む。ライセンスサーバ101から受信したメッセージがACKメッセージでない場合、そのまま処理を終了する。
【0176】
S2210:セキュア通信制御部901は、後述するACKメッセージ受信時処理を実行する。
【0177】
以上で、コミットフェーズP4において行われる処理についての説明を終わる。
次に、図23に示すフローチャートを参照して、図22におけるS2210のACKメッセージ受信時処理の詳細について説明する。
【0178】
S2301:セキュア通信制御部901は、ACKメッセージに含まれる暗号化データとセッション鍵KSを暗号処理部905に入力し暗号化データの復号を行う。
【0179】
S2302:セキュア通信制御部901は、シーケンス番号Seqとハッシュ値hの検証を行う。
【0180】
S2303:S2302における検証の結果、検証失敗となった場合には、そのまま処理を終了する。S2302における検証の結果、検証成功となった場合には、S2304の処理に進む。
【0181】
S2304:セキュア通信制御部901は、トランザクションログデータベース902から、処理中のトランザクションに関する情報を削除する。
【0182】
以上で、ACKメッセージ受信時処理についての説明を終わる。
次に、図24に示すフローチャートを参照して、認証・コミットフェーズP5において行われる処理について説明する。
【0183】
S2401:セキュア通信制御部901は、通信中のライセンスサーバ101から受信したサーバ公開鍵証明書に含まれるサーバID1001と、トランザクションログ1000のサーバID1001とを比較し、通信中のライセンスサーバ101がコミット&レスポンスメッセージを送信すべきライセンスサーバ101であるかどうかを確認する。確認の結果、通信中のライセンスサーバ101から受信したサーバ公開鍵証明書に含まれるサーバID1001と、トランザクションログ1000のサーバID1001とが一致する場合には、S2402の処理に進む。一方、通信中のライセンスサーバ101から受信したサーバ公開鍵証明書に含まれるサーバID1001と、トランザクションログ1000のサーバID1001とが一致しない場合には、そのまま処理を終了する。
【0184】
S2402:セキュア通信制御部901は、シーケンス番号Seqとトランザクション識別フラグTとそれらに対するハッシュ値hとを連結し、それを、セッション鍵KSを用いて暗号化した暗号化データ(式11)を生成する。
【0185】
E(KS,Seq||T||h) (式11)
【0186】
ここで、シーケンス番号Seqには「0」を設定するものとする。シーケンス番号Seqは、以降、同一セッション中のメッセージの送信および受信の度に1ずつ加算されるものとする。また、トランザクション識別フラグTには、トランザクションログ1000の処理中トランザクション識別フラグ602の値を設定するものとする。
【0187】
S2403:セキュア通信制御部901は、S1415で生成したDHcと、S1417で生成した署名(式5)と、S2402で生成した暗号化データ(式11)とを含むコミット&レスポンスメッセージを生成し、それを、ライセンスサーバ101に通信部906を介して送信する。
【0188】
S2404:ライセンスサーバ101のセキュア通信部302に含まれるセキュア通信制御部501は、通信部506を介してユーザ端末103から、Diffie−HellmanパラメータDHc、署名データ、および暗号化データを含むコミット&レスポンスメッセージを受信すると、S1405で作成した乱数Rsと上記DHcを結合したデータ(式7)を生成し、その生成データ(式7)、上記署名データ、及び、端末公開鍵証明書を暗号処理部505に入力し、署名データの検証を行う。
【0189】
S2405:S2404における署名検証の結果、検証失敗となった場合には、S2414の処理に進む。S2404における署名検証の結果、検証成功となった場合には、S2406の処理に進む。
【0190】
S2406:セキュア通信制御部501は、コミット&レスポンスメッセージに含まれるDHcと、S1405で生成したRs2とから、暗号処理部505でセッション鍵KSを生成する。その後、コミット&レスポンスメッセージに含まれる暗号化データと生成したセッション鍵KSを暗号処理部505に入力し暗号化データの復号を行う。
【0191】
S2407:セキュア通信制御部501は、シーケンス番号Seqとハッシュ値hの検証を行う。
【0192】
S2408:S2407における検証の結果、検証失敗となった場合には、S2414の処理に進む。S2407における検証の結果、検証成功となった場合には、S2409の処理に進む。
【0193】
S2409:セキュア通信制御部501は、トランザクションログ600の処理中トランザクション有無601の値を確認する。確認の結果、処理中トランザクション有無601の値が「有り」の場合、S2410の処理に進む。処理中トランザクション有無601の値が「無し」の場合、S2413の処理に進む。
【0194】
S2410:セキュア通信制御部501は、トランザクションログ600の処理中トランザクション識別フラグ602の値と、S2404で復号した暗号化データに含まれるトランザクション識別フラグTの値を確認する。確認の結果、トランザクション識別フラグTの値と処理中トランザクション識別フラグ602の値が一致する場合、S2412の処理に進む。トランザクション識別フラグTの値と処理中トランザクション識別フラグ602の値が一致しない場合、S2411の処理に進む。
【0195】
S2411:セキュア通信制御部501は、前述したキャンセル処理を実行する。
S2412:セキュア通信制御部501は、前述したコミット処理を実行する。
【0196】
S2413:セキュア通信制御部501は、シーケンス番号Seqとトランザクション識別フラグTとACKコマンドAとそれらに対するハッシュ値hを連結し、それを、セッション鍵KSを用いて暗号化した暗号化データ(式10)を生成し、生成したデータ(式10)を含むACKメッセージを生成し、それを、ユーザ端末103に通信部506を介して送信する。トランザクション識別フラグTには、トランザクションログ600の処理中トランザクション識別フラグ602の値を設定するものとする。
【0197】
S2414:セキュア通信制御部501は、エラーメッセージを生成し、それを、ユーザ端末103に通信部506を介して送信する。
【0198】
S2415:セキュア通信制御部901は、ライセンスサーバ101から受信したメッセージがACKメッセージであるかどうかを確認する。ライセンスサーバ101から受信したメッセージがACKメッセージである場合、S2416の処理に進む。ライセンスサーバ101から受信したメッセージがACKメッセージでない場合、そのまま処理を終了する。
【0199】
S2416:セキュア通信制御部901は、前述したACKメッセージ受信時処理を実行する。
【0200】
以上で、認証・コミットフェーズP5において行われる処理についての説明を終わる。
次に、図25に示すフローチャートを参照して、ライセンスサーバ101が、通信切断を検知した際の処理について説明する。
【0201】
S2501:セキュア通信制御部501は、トランザクションログ600の処理中トランザクション有無601の値を確認し、通信が切断したユーザ端末103との間で処理中のトランザクションが有るかどうかを確認する。確認の結果、処理中のトランザクションが有る場合、S2502の処理に進む。一方、処理中のトランザクションが無い場合、そのまま処理を終了する。
【0202】
S2502:セキュア通信制御部501は、トランザクションログ600のロールバック要否603の値を確認し、通信が切断したユーザ端末103との間で処理中であったトランザクションが、ロールバックが必要なトランザクションかどうかを確認する。確認の結果、ロールバックが必要なトランザクションである場合、S2503の処理に進む。ロールバックが不要なトランザクションである場合、そのまま処理を終了する。
【0203】
S2503:セキュア通信制御部501は、通信が切断したユーザ端末103の端末ID401と、その処理中トランザクション識別フラグ602との組を、トランザクションログデータベース502に記録する。
【0204】
以上で、ライセンスサーバ101が、通信切断を検知した再の処理についての説明を終わる。
【0205】
なお、本実施の形態においては、発行可能回数402が無期限である場合に、ロールバック不要であり、また、トランザクション識別フラグ記憶指示TRに「記録不要」と設定するとして説明を行ったが、それに限るわけではなく、他の所定のルールに従って設定しても良いものとする。例えば、発行するライセンス200の利用条件種別203が「ステートレス」の場合に、ロールバック不要であり、また、トランザクション識別フラグ記憶指示TRに「記録不要」と設定することなどが考えられる。
【0206】
なお、セキュア通信制御部501は、ユーザ端末103からのメッセージに応えてメッセージを送信した場合、そのメッセージを記憶しておき、次に受信したメッセージが先程のメッセージの再送であると判定した場合には、記憶しておいたメッセージを再送するようにしても良い。
【0207】
なお、ライセンスデータベース301で、ライセンス200は、端末ID401と関連づけられて管理されるとして説明を行ったが、それに限るわけではなく、ユーザβやユーザ端末103をグループ化したドメインに対して関連付けられるものであってもよい。
【0208】
また、ユーザ端末103からライセンスサーバ101に送信されるライセンス取得要求メッセージMreqは、所定動作(例えば再生要求やエクスポート要求)への許可要求であっても良い。具体的には、ライセンスサーバ101はライセンス取得要求メッセージMreqへのレスポンスとして、ユーザ端末にコンテンツ鍵、コンテンツ鍵を保持してもよい期限、制御情報等を送信することが考えられる。この制御情報としては、ユーザ端末103からの許可要求が再生要求の場合には各端子への出力を制御する情報(CCI(Copy Control Information)やマクロビジョン信号のON/OFFの制御等)、ユーザ端末103からの許可要求がライセンスやコンテンツの記録媒体等へのエクスポート要求の場合にはエクスポート先の利用条件(DVDに書く場合、DVD上のCCIに設定する値等)が考えられる。
【0209】
また、ライセンスサーバ101は、ユーザ端末103から許可を求められた動作内容に応じて、トランザクションログの記録要否判定を行ってもよい。たとえば、再生要求の場合にはトランザクションログの記録を「不要」とし、エクスポート要求の場合にはトランザクションログの記録を「要」とすることが考えられる。
【0210】
また、図30に示す通り、ユーザ端末103は、ライセンスサーバ101からトランザクションログの記録が不要と通知された場合には、コミットメッセージの送信を省略するとしても良い。この場合、ライセンスサーバ101及びユーザ端末103でトランザクションログを記録をする必要がないライセンス200を配信する場合には、トランザクションログの書き換え回数だけでなく、コミットメッセージ以下の通信処理を省略して通信回数を削減することが可能となる。
【0211】
また、ユーザ端末103において、ライセンスサーバ101から取得したライセンス200を使用可能とするタイミングは、ライセンス200受信時点であるとして説明を行ったが、これに限るわけではなく、ACKメッセージ受信時点で使用可能とするとしても良い。また、トランザクション識別フラグ記憶指示TRの値に応じて使用可能とするタイミングを変更するようにしても良いものとする。例えば、トランザクション識別フラグ記憶指示TRの値が「記録不要」の場合には、ライセンス200を受信した時点で使用できる状態とするが、トランザクション識別フラグ記憶指示TRの値が「記録要」の場合には、図31に示す通り、ライセンス200(3102)受信時にはライセンス200をトランザクションログに関連づけてロック状態(使用できない状態)にしておき、コミットメッセージ(3103)に対するACKメッセージ(3104)を受信してからライセンス200をロック解除状態(使用できる状態)とすることが考えられる。この場合、ユーザ端末103側はACKメッセージを受信するまでライセンス200が使用できない状態である為、トランザクションログデータベース902からトランザクションログを消去しても、ライセンス200が重複取得されてしまうことはない。この為、セキュアコマンドによるトランザクションログ消去指示が無くても、ノンセキュアな情報に基づいて、ユーザβの意思で、トランザクションログデータベース902からトランザクションログを消去することが可能となる。
【0212】
また、さらに、ユーザ端末103においてトランザクションログデータベース902からトランザクションログを削除する他の方法例としては、(1)所定サーバからSAC上のコマンドで指示され削除、(2)SAC以外の通信(たとえばHTTP等)で、削除コマンドに対し所定の事業者が著名したデータを入手し削除等が考えられる。この場合、トランザクションログの削除に併せて、関連づけられてロックされているライセンス200も削除することが考えられる。
【0213】
また、各メッセージに含まれるハッシュ値hは、メッセージの一部分のみを計算対象とするとして説明を行ったが、それに限るわけではなく、メッセージ全体を計算対象としてもよいものとする。また、この場合、ユーザ端末103及びライセンスサーバ101において、受信したメッセージが何であるかを確認する際には、それに先立ってハッシュ値hの検証が行われるようにしても良い。
【0214】
(その他変形例)
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【0215】
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0216】
(2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0217】
(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0218】
(4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0219】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0220】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0221】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0222】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0223】
(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【0224】
本発明にかかるライセンス管理装置及び方法は、デジタル放送、CATV、インターネット等によるコンテンツ配信サービス受信端末や、DVD等のパッケージメディアによるコンテンツ配信サービス受信端末等において有用である。
【図面の簡単な説明】
【0225】
【図1】本発明の実施の形態におけるデジタルコンテンツ配信システムの構成を示すブロック図である。
【図2】本発明の実施の形態におけるライセンス200の一例を示す図である。
【図3】本発明の実施の形態におけるライセンスサーバ101の構成を示すブロック図である。
【図4】本発明の実施の形態におけるライセンスデータベース301の一例を示す図である。
【図5】本発明の実施の形態におけるセキュア通信部302の構成を示すブロック図である。
【図6】本発明の実施の形態におけるトランザクションログ600の一例を示す図である。
【図7】本発明の実施の形態におけるトランザクションログデータベース502の一例を示す図である。
【図8】本発明の実施の形態におけるユーザ端末103の構成を示すブロック図である。
【図9】本発明の実施の形態におけるセキュア通信部803の構成を示すブロック図である。
【図10】本発明の実施の形態におけるトランザクションログ1000の一例を示す図である。
【図11】本発明の実施の形態におけるトランザクションログデータベース902の一例を示す図である。
【図12】本発明の実施の形態におけるライセンス取得処理(ユーザ端末103とライセンスサーバ101との通信開始時に、トランザクションログデータベース902にトランザクションログが記録されていない場合)の概略を説明する図である。
【図13】本発明の実施の形態におけるライセンス取得処理(ユーザ端末103とライセンスサーバ101との通信開始時に、トランザクションログデータベース902にトランザクションログが記録されている場合)の概略を説明する図である。
【図14】本発明の実施の形態における認証フェーズP1において行われる処理を説明するフローチャートである。
【図15】本発明の実施の形態における認証・要求フェーズP2において行われる処理を説明するフローチャートである。
【図16】本発明の実施の形態におけるキャンセル処理を説明するフローチャートである。
【図17】本発明の実施の形態における応答メッセージ生成・送信処理を説明するフローチャートである。
【図18】本発明の実施の形態における応答メッセージ受信時処理を説明するフローチャートである。
【図19】本発明の実施の形態における要求フェーズP3において行われる処理を説明するフローチャートである。
【図20】本発明の実施の形態におけるコミット処理を説明するフローチャートである。
【図21】本発明の実施の形態における応答メッセージ生成・送信処理(再送)を説明するフローチャートである。
【図22】本発明の実施の形態におけるコミットフェーズP4において行われる処理を説明するフローチャートである。
【図23】本発明の実施の形態におけるACKメッセージ受信時処理を説明するフローチャートである。
【図24】本発明の実施の形態における認証・コミットフェーズP5において行われる処理を説明するフローチャートである。
【図25】本発明の実施の形態におけるライセンスサーバ101が、通信切断を検知した際の処理を説明するフローチャートである。
【図26】従来のデジタルコンテンツ配信システムの通信シーケンス図である。
【図27】本発明に係るライセンスサーバ及びユーザ端末からなるデジタルコンテンツ配信システムの通信シーケンス図である。
【図28】ライセンスサーバのトランザクションログ及びトランザクションログデータベースに、さらに保持期限を付与した場合のデータ構成の一例を示す図である。
【図29】ユーザ端末のトランザクションログ及びトランザクションログデータベースに、さらに保持期限を付与した場合のデータ構成の一例を示す図である。
【図30】本発明に係るデジタルコンテンツ配信システムの他のセッションのシーケンス図である。
【図31】本発明に係るデジタルコンテンツ配信システムにおける他のセッションのシーケンス図である。
【符号の説明】
【0226】
101 ライセンスサーバ
102 コンテンツサーバ
103 ユーザ端末
104 伝送媒体
200 ライセンス
201 ライセンスID
202 コンテンツID
203 利用条件種別
204 利用条件
205 コンテンツ鍵
301 ライセンスデータベース
302 セキュア通信部
303 ライセンス発行部
401 端末ID
402 発行可能回数
403 コミット待ちフラグ
501 セキュア通信制御部
502 トランザクションログデータベース
503 固有情報記憶部
504 乱数発生部
505 暗号処理部
506 通信部
600 トランザクションログ
601 処理中トランザクション有無
602 処理中トランザクション識別フラグ
603 ロールバック要否
801 ライセンス蓄積部
802 コンテンツ蓄積部
803 セキュア通信部
804 ライセンス取得部
805 コンテンツ取得部
806 コンテンツ出力制御部
807 コンテンツ出力部
901 セキュア通信制御部
902 トランザクションログデータベース
903 固有情報記憶部
904 乱数発生部
905 暗号処理部
906 通信部
1000 トランザクションログ
1001 サーバID

【特許請求の範囲】
【請求項1】
コンテンツ鍵要求メッセージをサーバ装置へ送信し、前記サーバ装置からの前記コンテンツ鍵要求メッセージに対する応答メッセージを受信し、コンテンツを利用する端末装置であって、
前記コンテンツ鍵要求メッセージは、現在実行中のコンテンツ鍵要求処理に関連づけられており0または1の値を取るトランザクションフラグを含み、
前記応答メッセージは、コンテンツ鍵と、前記トランザクションフラグの記憶の要否を示すトランザクションフラグ記憶要否フラグを含み、
前記サーバ装置とメッセージの送受信を行うメッセージ送受信手段と、
前記トランザクションフラグを記憶するトランザクションフラグ記憶手段と、
前記トランザクションフラグを前記トランザクションフラグ記憶手段に書き込むトランザクションフラグ書き込み手段とを備え、
前記トランザクションフラグ書き込み手段は、
(1)前記メッセージ送受信手段が、前記応答メッセージを受信し、且つ、
(2)前記応答メッセージに含まれる前記トランザクションフラグ記憶要否フラグが記憶不要と設定されており、且つ、
(3)前記トランザクションフラグ記憶手段に前記トランザクションフラグが記憶されている場合、前記トランザクションフラグ記憶手段から前記トランザクションフラグを削除する
ことを特徴とする端末装置。
【請求項2】
コンテンツ鍵要求メッセージをサーバ装置へ送信し、前記サーバ装置からの前記コンテンツ鍵要求メッセージに対する応答メッセージを受信し、コンテンツを利用する端末装置に用いるプログラムであって、
前記コンテンツ鍵要求メッセージは、現在実行中のコンテンツ鍵要求処理に関連づけられており0または1の値を取るトランザクションフラグを含み、
前記応答メッセージは、コンテンツ鍵と、前記トランザクションフラグの記憶の要否を示すトランザクションフラグ記憶要否フラグを含み、
前記サーバ装置とメッセージの送受信を行うメッセージ送受信ステップと、
前記トランザクションフラグを前記端末装置内のトランザクションフラグ記憶手段に書き込むトランザクションフラグ書き込みステップとを含み、
前記トランザクションフラグ書き込みステップは、
(1)前記メッセージ送受信ステップが、前記応答メッセージを受信し、且つ、
(2)前記応答メッセージに含まれる前記トランザクションフラグ記憶要否フラグが記憶不要と設定されており、且つ、
(3)前記トランザクションフラグ記憶手段に前記トランザクションフラグが記憶されている場合、前記トランザクションフラグ記憶手段から前記トランザクションフラグを削除する
ことを特徴とするプログラム。
【請求項3】
コンテンツ鍵要求メッセージをサーバ装置へ送信し、前記サーバ装置からの前記コンテンツ鍵要求メッセージに対する応答メッセージを受信し、コンテンツを利用する端末装置におけるトランザクション処理方法であって、
前記コンテンツ鍵要求メッセージは、現在実行中のコンテンツ鍵要求処理に関連づけられており0または1の値を取るトランザクションフラグを含み、
前記応答メッセージは、コンテンツ鍵と、前記トランザクションフラグの記憶の要否を示すトランザクションフラグ記憶要否フラグを含み、
前記サーバ装置とメッセージの送受信を行うメッセージ送受信ステップと、
前記トランザクションフラグを前記端末装置内のトランザクションフラグ記憶手段に書き込むトランザクションフラグ書き込みステップとを含み、
前記トランザクションフラグ書き込みステップは、
(1)前記メッセージ送受信ステップが、前記応答メッセージを受信し、且つ、
(2)前記応答メッセージに含まれる前記トランザクションフラグ記憶要否フラグが記憶不要と設定されており、且つ、
(3)前記トランザクションフラグ記憶手段に前記トランザクションフラグが記憶されている場合、前記トランザクションフラグ記憶手段から前記トランザクションフラグを削除する
ことを特徴とするトランザクション処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate


【公開番号】特開2008−27452(P2008−27452A)
【公開日】平成20年2月7日(2008.2.7)
【国際特許分類】
【出願番号】特願2007−193866(P2007−193866)
【出願日】平成19年7月25日(2007.7.25)
【分割の表示】特願2007−13289(P2007−13289)の分割
【原出願日】平成19年1月24日(2007.1.24)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】