JP2014216707A - 情報通信装置、コンテンツ鍵確認方法、及びコンテンツ鍵確認プログラム - Google Patents
情報通信装置、コンテンツ鍵確認方法、及びコンテンツ鍵確認プログラム Download PDFInfo
- Publication number
- JP2014216707A JP2014216707A JP2013090407A JP2013090407A JP2014216707A JP 2014216707 A JP2014216707 A JP 2014216707A JP 2013090407 A JP2013090407 A JP 2013090407A JP 2013090407 A JP2013090407 A JP 2013090407A JP 2014216707 A JP2014216707 A JP 2014216707A
- Authority
- JP
- Japan
- Prior art keywords
- nonce
- information
- content
- content key
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
Abstract
【課題】コンテンツサーバと端末装置間のスループットを向上させる通信装置、通信ネットワークシステム、及びコンテンツサーバ選択方法を提供する。
【解決手段】暗号化したコンテンツを他の情報通信装置へ送信し、暗号化されたコンテンツを復号する際に用いるコンテンツ鍵に関する確認要求を受信した時、前記確認要求に含まれる第1のノンス情報、ノンス管理データに記憶した第2のノンス情報とに含まれる、第1のリンク情報、第2のノンス情報を読み出し、対応する第3のノンス情報を読み出し、前記第1のノンス情報と前記第3のノンス情報とに基づいてコンテンツ鍵の確認を行うコンテンツ鍵確認部とを備える。
【選択図】図7
【解決手段】暗号化したコンテンツを他の情報通信装置へ送信し、暗号化されたコンテンツを復号する際に用いるコンテンツ鍵に関する確認要求を受信した時、前記確認要求に含まれる第1のノンス情報、ノンス管理データに記憶した第2のノンス情報とに含まれる、第1のリンク情報、第2のノンス情報を読み出し、対応する第3のノンス情報を読み出し、前記第1のノンス情報と前記第3のノンス情報とに基づいてコンテンツ鍵の確認を行うコンテンツ鍵確認部とを備える。
【選択図】図7
Description
本発明は、情報通信装置、コンテンツ鍵確認方法、及びコンテンツ鍵確認プログラムに関する。
現在、ネットワークを経由して映像や音楽などのコンテンツを配信するコンテンツ配信サービスが広く利用されている。このようなコンテンツはデジタルデータであることからコピーや改竄などの不正な操作が行われる場合もある。デジタルコンテンツなどに対しては、著作権保護を目的として多くの技術が議論されている。このような技術として、例えば、DTCP(Digital Transmission Content Protection)がある。
DTCPでは、例えば、著作権が保護された形でコンテンツが伝送される仕組みについて規定されている。例えば、DTCPでは、DTCP準拠の機器はMPEG(Moving Picture Experts Group)などの圧縮コンテンツを非暗号の状態で機器外に送出しないこと、暗号化コンテンツを復号するときに利用される鍵交換を所定の相互認証及び鍵交換(Authentication and Key Exchange :AKE)アルゴリズムに従って行うことなどが規定される。さらに、DTCPでは、例えば、AKEコマンドによる鍵交換を行う機器の範囲を制限することも規定される。
DTCPにおいては、例えば、コンテンツの提供元であるサーバ(DTCP_Source)とコンテンツの提供先であるクライアント(DTCP_Sink)は、AKEコマンドの送受信により認証手続きを行い、鍵を共有化する。そして、サーバはその鍵を利用して伝送路を暗号化しコンテンツを送信する。
従って、DTCPにおいては、例えば、不正なクライアントはサーバとの認証に成功しないと鍵を取得できず、コンテンツの配信を受けることができない。また、DTCPにおいては、例えば、AKEコマンドを送受信する機器の台数や範囲が制限されることで、コンテンツが使用される範囲を著作権で言うところの個人又は家庭の範囲に抑えることができる。
最近では、DTCPをIPネットワークへ移植した技術についても議論されている。このような技術として、例えば、DTCP−IPがある。IPネットワーク上にはパーソナルコンピュータなど様々な機器が接続され、このような機器によりデータの改竄などが簡単に行われる場合がある。そのため、DTCP−IPでは、コンテンツを保護しながらコンテンツをネットワークへ伝送するための方法などを規定する。
DTCP−IPにおいては、DTCP_Source機器(又はサーバ)とDTCP_Sink機器(又はクライアント)との間でTCP/IPコネクションが確立され、機器同士の認証が行われた後、暗号コンテンツが送受信される。例えば、以下のような処理が行われる。
すなわち、DTCP_Source機器は、乱数を用いてノンスNCを生成し、ノンスNcに基づいてコンテンツ鍵KCを生成する。そして、DTCP_Source機器はコンテンツ鍵KCを利用してコンテンツを暗号化し、暗号化コンテンツとノンスNCをPCP(Protected Control Packet)に乗せて、DTCP_Sink機器へ送信する。
DTCP_Sink機器は、PCPからノンスNCを取り出し、ノンスNCに基づいてDTCP_Source機器と同様にコンテンツ鍵KCを算出し、暗号化コンテンツを復号する。
DTCP−IPにおいては、例えば、128MBのコンテンツ毎にノンスNC、すなわちコンテンツ鍵KCを更新することが規定される。例えば、長大なTCPストリーム全体に渡り同一のコンテンツ鍵KCが使用されるとコンテンツ鍵KCが解読される可能性があるからである。
また、DTCP−IPでは、DTCP_Sink機器はコンテンツストリーム毎に最も新しく受信したPCPのノンスNCの値を確認し、さらに動的に更新される後続のノンスNCについても2分間隔で確認することも規定される。
この確認については、例えば、以下のような処理が行われる。すなわち、DTCP_Sink機器は未確認のノンスNC(又は検査用ノンスNC)を、CONT_KEY_CONFコマンドを利用してDTCP_Source機器へ送信する。DTCP_Source機器は現在のノンスNCと検査用ノンスNCとを比較して検査用ノンスNCの有効性を確認する。DTCP_Sink機器は、DTCP_Source機器から送信された確認結果を受信し、正しいことを確認できたときは受信コンテンツの復号を継続する。一方、DTCP_Sink機器は、正しいことを確認できなかったときは、受信コンテンツの復号を継続できず停止する。
他方、DTCPに関連した技術として例えば以下のような技術がある。すなわち、Source機器はコンテンツ伝送用のTCPコネクションが終了した後もノンスNCを即座に削除せず、一定期間ノンスNCを保持するようにした技術がある。この技術によれば、例えば、Source機器はSink機器側からコンテンツ鍵の確認要求を受けてもコンテンツ鍵の判定を適正に行うことができる。
Digital Transmission Content Protection Specification Volume 1 (Information Version), Revision 1.51, October 1, 2007
DTCP Volume 1 Supplement E Mapping DTCP to IP (Informational Version), Revision 1.4, December 12, 2011
上述したSource機器がNCを即座に削除せず一定期間保持するようにした技術は、例えば、一定期間経過後ノンスNCは削除される。とくに、DTCP−IPの規格においてはノンスNCの終点については記述がなく、DTCP_Source機器がノンスNCを削除しても規格上、問題はない。ノンスNCが削除されることで、例えば、暗号コンテンツの改竄などの不正行為を防止できる。
しかし、DTCP−IPでは、上記したように、DTCP_Sink機器が2分間隔でノンスNCの確認を行うことが規定される。DTCP_Source機器において生成されたノンスNCがDTCP_Source機器において削除されている場合、DTCP_Sink機器から送信される2分後の検査用ノンスNCと同一のノンスNCがDTCP_Source機器においては削除されている場合がある。
従って、上述したSource機器がNCを即座に削除せず一定期間保持するようにした技術では、検査用ノンスNCと現在のノンスNCとが一致せず、そのため、DTCP_Sink機器では受信コンテンツを継続して復号することができなくなる場合がある。
他方、上述したSource機器がノンスNCを即座に削除しないようにした技術では、一定期間ノンスNCが保持され、また、保持されるノンスNCがどのように保持されるかについての言及はない。そのため、ノンスNCが保持される一定期間の間に、ノンスNCが改竄される場合がある。
従って、上述したSource機器がノンスNCを即座に削除しないようにした技術では、例えば、セキュリティが確保されない場合がある。
また、DTCP−IPでは、全てのコマンドの送受信間隔が制限時間内(1秒未満)で終わらせるという規定がある。例えば、DTCP_Source機器は、制限時間内において検査用ノンスNCを比較して確認結果を応答する。DTCP_Source機器が制限時間内に応答しない場合、エラー扱いとなり、DTCP_Sink機器は受信コンテンツを復号できなくなる。
そこで、本発明の一目的は、セキュリティを確保するようにした情報通信装置、コンテンツ鍵確認方法、及びコンテンツ鍵確認プログラムを提供することにある。
また、本発明の一目的は、制限時間内にコンテンツ鍵の確認を行うことができるようにした情報通信装置、コンテンツ鍵確認方法、及びコンテンツ鍵確認プログラムを提供することにある。
暗号化したコンテンツを他の情報通信装置へ送信し、前記他の情報通信装置において暗号化されたコンテンツを復号する際に用いるコンテンツ鍵に関する確認要求を前記他の情報通信装置から受信し、前記確認要求に含まれる第1のノンス情報に基づいてコンテンツ鍵の確認を行う情報通信装置において、第2のノンス情報を記憶するノンス管理データ記憶部と、前記第1のノンス情報に含まれる第1のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報が前記情報通信装置において生成される前に生成された前記第2のノンス情報を読み出し、前記第2のノンス情報に含まれる第2のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報に対応する第3のノンス情報を読み出し、前記第1のノンス情報と前記第3のノンス情報とに基づいてコンテンツ鍵の確認を行うコンテンツ鍵確認部とを備える。
セキュリティを確保するようにした情報通信装置、コンテンツ鍵確認方法、及びコンテンツ鍵確認プログラムを提供することができる。また、制限時間内にコンテンツ鍵の確認を行うことができるようにした情報通信装置、コンテンツ鍵確認方法、及びコンテンツ鍵確認プログラムを提供することができる。
以下、本発明を実施するための形態について説明する。
[第1の実施の形態]
最初に第1の実施の形態について説明する。図1は第1の実施の形態における情報通信システム10の構成例を表わす図である。情報通信システム10は、情報通信装置100と他の情報通信装置200を備える。
最初に第1の実施の形態について説明する。図1は第1の実施の形態における情報通信システム10の構成例を表わす図である。情報通信システム10は、情報通信装置100と他の情報通信装置200を備える。
情報通信装置100は、暗号化したコンテンツを他の情報通信装置200へ送信する。また、情報通信装置100は、他の情報通信装置200において暗号化されたコンテンツを復号する際に用いるコンテンツ鍵に関する確認要求を他の情報通信装置200から受信する。情報通信装置100は、確認要求に含まれる第1のノンス情報に基づいてコンテンツ鍵の確認を行う。
例えば、情報通信装置100はサーバ装置であり、他の情報通信装置200はクライアント装置でもある。また、例えば、情報通信装置100はDTCPによるSource機器であり、他の情報通信装置200はDTCPによるSink機器である。
情報通信装置100は、ノンス管理データ記憶部161とコンテンツ鍵確認部162を備える。
ノンス管理データ記憶部161は、第2のノンス情報を記憶する。
コンテンツ鍵確認部162は、第1のノンス情報に含まれる第1のリンク情報に基づいて、ノンス管理データ記憶部161から、第1のノンス情報が情報通信装置100において生成される前に生成された第2のノンス情報を読み出し、第2のノンス情報に含まれる第2のリンク情報に基づいて、ノンス管理データ記憶部161から、第1のノンス情報に対応する第3のノンス情報を読み出し、第1のノンス情報と前記第3のノンス情報とに基づいてコンテンツ鍵の確認を行う。
このように、コンテンツ鍵確認部162は、確認要求に含まれる第1のノンス情報であって、第1のノンス情報に含まれる第1のリンク情報に基づいて、ノンス管理データ記憶部161から、第1のノンス情報に対応する第3のノンス情報を読み出すことができない。
例えば、第1のリンク情報から直接第3のノンス情報を読み出すことができないようになっており、従って、ノンス情報を改竄することもできず、ノンス情報に基づいてコンテンツに暗号化を施す場合に、コンテンツ自体のセキュリティを確保することが可能となる。
また、コンテンツ鍵確認部162は、第1のリンク情報に基づいて、ノンス管理データ記憶部161から、第1のノンス情報より前に生成された第2のノンス情報を読み出して、第2のノンス情報に含まれるリンク情報に基づいて、第3の情報を読み出している。
従って、コンテンツ鍵確認部162は、最も古いノンス情報から順番にノンス情報を読み出して、最後に第3のノンス情報を読み出すようなことを行わないため、かかる場合と比較して、第3のノンス情報を読み出すまでに時間をかけないようにすることができる。
よって、本情報通信装置100は、このように最初から順番に読み出す場合と比較して、制限時間内で処理を行うことができる。
[第2の実施の形態]
次に第2の実施の形態について説明する。最初に本第2の実施の形態における情報通信システムの構成例について説明する。
次に第2の実施の形態について説明する。最初に本第2の実施の形態における情報通信システムの構成例について説明する。
<情報通信システムの構成例>
図2は情報通信システム10の構成例を表わす図である。情報通信システム10は、サーバ装置100とクライアント装置200とを備える。
図2は情報通信システム10の構成例を表わす図である。情報通信システム10は、サーバ装置100とクライアント装置200とを備える。
サーバ装置100は、例えば、映像や音楽などのコンテンツを提供する提供元の情報通信装置である。サーバ装置100は、例えば、このようなコンテンツをハードディスクなど記憶媒体に記憶し、クライアント装置200からの要求によりコンテンツを適宜読み出して送信する。サーバ装置100は、例えば、DTCP−IPの規格に準拠した装置であり、DTCP_Source機器に対応する。サーバ装置100は、以下においては、サーバ100と称する場合がある。
クライアント装置200は、例えば、コンテンツの提供を受ける提供先の情報通信装置である。クライアント装置200は、例えば、サーバ100に対してコンテンツを要求し、サーバ100から要求したコンテンツを受信する。クライアント装置200は、コンテンツを受信すると、例えば、モニタなどにコンテンツに関する映像を表示させたり、スピーカからコンテンツに関する音声を出力することができる。クライアント装置200は、例えば、DTCP−IPの規格に準拠した装置であり、DTCP_Sink機器に対応する。クライアント装置200は、以下においては、クライアント200と称する場合がある。
情報通信システム10においては、例えば、DTCP−IPによる相互認証及び鍵交換(AKE)、コンテンツ伝送、及びコンテンツ鍵確認の各手続きが行われる。情報通信システム10においては、例えば、このような手続き毎にTCPコネクションを確立し、各手続きに応じたデータなどを含むTCPパケットを送受信する。
なお、情報通信システム10においては、サーバ100とクライアント200によりコンテンツなどの送受信が行われることから、情報通信システム10はサーバクライアントシステム10と称される場合もある。
<サーバ100とクライアント200の各構成例>
次にサーバ100とクライアント200の各構成例について説明する。図3はサーバ100の構成例を含む情報通信システム10の例、図4はクライアント200の構成例を含む情報通信システム10の例をそれぞれ表わす。
次にサーバ100とクライアント200の各構成例について説明する。図3はサーバ100の構成例を含む情報通信システム10の例、図4はクライアント200の構成例を含む情報通信システム10の例をそれぞれ表わす。
サーバ100は、アプリケーション部110、コンテンツ記憶部120、AKE認証部130、コンテンツ管理部140、TCP制御部150を備える。また、コンテンツ管理部140は、ノンスNC生成部141、ノンスNC保存部142、ノンスNC管理データ記憶部143、コンテンツ暗号部144、コンテンツ送信部145、コンテンツ鍵確認部146を備える。さらに、TCP制御部150には第1のインタフェース151、第2のインタフェース152、第3のインタフェース153を備える。
なお、第1の実施の形態におけるノンス管理データ記憶部161は、例えば、ノンスNC管理データ記憶部143に対応する。また、第1の実施の形態におけるコンテンツ鍵確認部162は、例えば、コンテンツ鍵確認部146に対応する。
アプリケーション部110は、例えば、サーバ100において各種アプリケーションを実行する。なお、アプリケーション部110が起動することで、例えば、AKE認証部130とコンテンツ管理部140とがファームウェアとして起動されてもよい。
コンテンツ記憶部120は、例えば、メモリなどであって、コンテンツに関する映画や音楽などのデータ(映像データや音声データなど)を記憶する。コンテンツ記憶部120に記憶されたコンテンツはコンテンツ管理部140により適宜読み出される。
AKE認証部130は、例えば、クライアント200との間でAKEに基づく鍵交換手続きを行い、クライアント200との間で交換鍵KXを共有する。鍵交換手続きにおいては、例えば、以下の処理が行われる。
すなわち、AKE認証部130は、サーバ100に埋め込まれた機器IDや認証鍵KAUTHを用い、TCP制御部150などを介してクライアント200との間で互いにDTCP準拠の機器であることを確認する。そして、AKE認証部130は互いにDTCP機器であることを確認することで、クライアント200との間で認証鍵KAUTHを共有でき、認証鍵KAUTHを用いて交換鍵(又は種鍵)KXを生成する。この交換鍵KXは、コンテンツ鍵KCを生成するための種となる鍵である。なお、クライアント200においても、同様に、共有した認証鍵KAUTHを用いて交換鍵KXを生成するため、サーバ100と同一のコンテンツ鍵KCを生成できる。AKE認証部130は、生成した交換鍵KXをコンテンツ暗号部144へ出力する。
なお、例えば、AKE認証部130が起動することでコンテンツ管理部140が起動する。
ノンスNC生成部141は、例えば、乱数生成部を備え、生成した乱数などを用いてノンスNCを生成する。ノンスNCには、例えば、不規則値とノンス値とが含まれる。ノンスNC生成部141は、例えば、乱数とコンテンツ配信時間を組み合わせた数値として不規則値を生成する。不規則値の詳細は後述する。ノンス値は、例えば、コンテンツ鍵KCを生成するために用いられるものである。以下においては、「ノンスNC」は、例えば、不規則値とノンス値を含み、「ノンス値」そのものについてはノンス値Aやノンス値Bなどと称する場合がある。
なお、ノンスNC生成部141の起動によって、例えば、ノンスNC保存部142が起動する。
ノンスNC保存部142は、例えば、ノンスNC生成部141から受け取ったノンスNCをノンスNC管理データ記憶部143へ保存(又は記憶)する。この場合、ノンスNC保存部142は、ノンスNCをノンスNC管理データとしてノンスNC管理データ記憶部143記憶する。ノンスNC管理データの詳細については、後段の<ノンスNC管理データ生成処理>において説明する。
なお、ノンスNC保存部142の起動によって、例えば、コンテンツ暗号部144が起動する。
ノンスNC管理データ記憶部143は、例えば、メモリなどであって、ノンスNC管理データを記憶する。ノンスNC管理データは、コンテンツ暗号化部144やコンテンツ鍵確認部146から適宜読み出されることが可能である。
コンテンツ暗号部144は、AKE認証部130から受け取った交換鍵KXと、ノンスNC管理データ記憶部143から読み出したノンス値に基づいて、コンテンツ鍵KCを生成する。そして、コンテンツ暗号部144は、生成したコンテンツ鍵KCを用いて、コンテンツ記憶部120から読み出したコンテンツに対して暗号化を施し、暗号化コンテンツをコンテンツ送信部145へ出力する。コンテンツ暗号部144は、コンテンツ鍵KCの生成に利用したノンスNCをノンスNC管理データ記憶部143から読み出して、コンテンツ送信部145へ出力する。
なお、コンテンツ暗号部144の起動によって、例えば、コンテンツ送信部145が起動する。
コンテンツ送信部145は、コンテンツ暗号部144から暗号化コンテンツと、コンテンツ鍵KCとを受け取ると、これらをクライアント200へ送信するようTCP制御部150へ依頼し、さらに、暗号化コンテンツとコンテンツ鍵KCをTCP制御部150へ出力する。
コンテンツ鍵確認部146は、例えば、クライアント200からコンテンツ鍵の確認要求を受け取ると、ノンスNC管理データ記憶部143に記憶されたノンスNC管理データを用いてコンテンツ鍵の確認処理を行う。コンテンツ鍵確認部146は、確認結果を、TCP制御部150を介してクライアント200へ送信する。なお、コンテンツ鍵の確認処理の詳細は、後段の<コンテンツ鍵の確認処理>において説明する。
TCP制御部150は、例えば、クライアント200との間でAKE認証や、コンテンツの伝送、及びコンテンツ確認の各手続きなどにおいてTCPコネクションを設定し、各手続きにおいて送受信されるTCPパケットの生成や終端などを行う。例えば、TCP制御部150は、コンテンツ送信部145から暗号化コンテンツとノンスNCを受け取り、PCPを含むTCPパケットを生成してクライアント200へ送信する。また、TCP制御部150は、例えば、CONT_KEY_CONFコマンドを含むTCPパケットによりコンテンツ鍵の確認要求を受信し、当該TCPパケットから検査用ノンスNCなどを抽出し、コンテンツ鍵確認部146へ出力する。さらに、TCP制御部150は、例えば、コンテンツ鍵確認部146からコンテンツ鍵の確認結果を受け取り、確認結果を含むCONT_KEY_CONFコマンドを生成し、当該コマンドを含むTCPパケットを生成してクライアント200へ送信する。
図3の例では、TCP制御部150には第1〜第3のインタフェース151〜153が備える。第1のインタフェース151はAKE認証用のTCPパケットを送受信し、第2のインタフェース152はコンテンツ伝送用のPCPを送受信し、第3のインタフェース153はコンテンツ鍵確認用のTCPパケットを送受信する。第1〜第3のインタフェース151〜153により、例えば、各々TCPコネクションが確立される。
なお、図3の例では3つのインタフェース151〜153が備えられているが、例えば、インタフェースは1つでもよい。この場合、例えば、時分割で各手続きによるTCPコネクションが設定されて、各手続きによるTCPパケット又はPCPの送受信が行われる。
クライアント200は、図4に示すように、アプリケーション部210、コンテンツ記憶部220、AKE認証部230、コンテンツ受信部240、受信バッファ241、PCPヘッダ解析部242、コンテンツ復号部243、コンテンツ鍵確認部244、及びTCP制御部250を備える。TCP制御部250は、第4〜第6のインタフェース251〜253を備える。
アプリケーション部210は、例えば、クライアント200において各種アプリケーションを実行する。例えば、アプリケーション部210の起動により、AKE認証部230、コンテンツ受信部240、PCPヘッダ解析部242、コンテンツ復号部243、及びコンテンツ鍵確認部244が起動する。
コンテンツ記憶部220は、例えば、メモリであって、暗号化コンテンツが復号された後の受信コンテンツを記憶する。
AKE認証部230は、例えば、サーバ100との間でAKEに基づく鍵交換手続きを行い、サーバ100との間で交換鍵KXを共有する。この交換鍵KXもクライアント200においてコンテンツ鍵KCを生成するための種となる鍵となる。
コンテンツ受信部240は、例えば、TCP制御部250を介してサーバ100から送信されたPCPを受信する。例えば、受信パケットはPCP形式となっており、コンテンツ受信部240は、PCPペイロードに含まれる暗号化コンテンツとPCPヘッダに含まれる各データを受信バッファ241に記憶する。
受信バッファ241は、例えば、サーバ100から送信された暗号化コンテンツとPCPヘッダに挿入された各データを記憶する。
PCPヘッダ解析部242は、例えば、受信バッファ241に記憶されたPCPヘッダを解析し、PCPヘッダの所定領域に挿入されたノンスNCを読み出す。PCPヘッダ解析部242は、読み出したノンスNCをコンテンツ復号部243へ出力する。
コンテンツ復号部243は、AKE認証部230から受け取った交換鍵KXと、PCPヘッダ解析部242から受け取ったノンスNCとを用いて、コンテンツ鍵KCを生成する。そして、コンテンツ復号部243は、受信バッファ241に格納された暗号コンテンツを読み出し、生成したコンテンツ鍵KCを用いて暗号コンテンツを復号する。コンテンツ復号部243は、復号したコンテンツをコンテンツ記憶部220へ記憶する。また、コンテンツ復号部243は、2分毎に、コンテンツ鍵KCの生成に用いたノンスNCをコンテンツ鍵確認部244へ出力する。
コンテンツ鍵確認部244は、サーバ100との間でコンテンツ鍵の確認処理を行う。コンテンツ鍵の確認処理では、例えば、以下の処理が行われる。
すなわち、コンテンツ鍵確認部244は、コンテンツ復号部243から受け取ったノンス(又は検査用ノンス)NCを、TCP制御部250を介してサーバ100へ2分間隔で送信する。その後、コンテンツ鍵確認部244は、TCP制御部250を介してサーバ100からコンテンツ鍵の確認結果を受け取る。
確認結果が否定結果(例えばREJECTED)のとき、コンテンツ鍵確認部244はコンテンツ鍵確認が失敗したとして、クライアント200をnon−confirmation状態にさせ、その旨をコンテンツ復号部243へ通知する。コンテンツ復号部243は、この通知を受けて、受信コンテンツの復号を停止する。
一方、確認結果が肯定結果(例えばACCEPTED)のとき、コンテンツ鍵確認部244はコンテンツ鍵の確認を行い、コンテンツ鍵が正しいことを確認すると、クライアント200をconfirmed状態にさせ、その旨をコンテンツ復号部243へ通知する。コンテンツ復号部243は、この通知を受けて、受信コンテンツの復号を継続する。
また、コンテンツ鍵確認部244は、確認結果が肯定応答のときであっても、コンテンツ鍵の確認に失敗したときも、クライアント200をnon−confirmation状態にさせ、その旨をコンテンツ復号部243へ通知する。コンテンツ復号部243は、この通知を受けて、受信コンテンツの復号を停止する。
TCP制御部250は、例えば、サーバ100との間で行われるAKE認証、コンテンツの伝送、及びコンテンツ鍵の確認などの各手続きにおいてTCPコネクションを確立し、TCPパケットを生成し、終端する。
TCP制御部250は第4〜第6のインタフェース251〜253を備えており、順番に、AKE認証用、コンテンツ伝送用、コンテンツ鍵確認用の各TCPパケットを送受信する。第4〜第6のインタフェース251〜253は、例えば、1つのインタフェースであってもよい。
<動作例>
次に動作例について説明する。サーバ100ではノンスNC管理データ生成処理を行い、その後、ノンスNC管理データを用いてコンテンツ鍵の確認処理を行う。そこで、本動作例ではノンスNC管理データ生成処理について説明し、次にコンテンツ鍵の確認処理について説明する。
次に動作例について説明する。サーバ100ではノンスNC管理データ生成処理を行い、その後、ノンスNC管理データを用いてコンテンツ鍵の確認処理を行う。そこで、本動作例ではノンスNC管理データ生成処理について説明し、次にコンテンツ鍵の確認処理について説明する。
<ノンスNC管理データ生成処理>
図5はノンスNC管理データ生成処理の例を表わすフローチャート、図6はノンスNC管理データの例をそれぞれ表わしている。
図5はノンスNC管理データ生成処理の例を表わすフローチャート、図6はノンスNC管理データの例をそれぞれ表わしている。
サーバ100はノンスNC管理データ生成処理を開始すると(S10)、乱数を用いてノンス値を生成する(S11)。例えば、ノンスNC生成部141がノンス値を生成する。
次に、サーバ100は不規則値を生成する(S12)。不規則値とは、例えば、ノンスNCが生成される毎にノンスNC管理データのサイズ範囲内で不規則に変化し、且つこれまで生成された不規則値とは重複しない値である。不規則値は、例えば、乱数の一部とコンテンツ配信時間とが結合されたものである。不規則値は、ノンスNC管理データにおいてインデックス値(又はポインタ値)として利用される。不規則値がどのようにインデックス値として利用されるかは後述する。例えば、ノンスNC生成部141が乱数とコンテンツ配信時間とに基づいて不規則値を生成する。
次に、サーバ100は、ノンス値と不規則値とに基づいてノンスNCを生成する(S13)。例えば、ノンスNC生成部141はノンス値と不規則値とを組み合わせることでノンスNCを生成する。
次に、サーバ100は、ノンスNC管理データ記憶部143においてノンスNC管理データとして保存済ノンスNCが有るか否かを判別する(S14)。例えば、ノンスNC保存部142がノンスNC管理データ記憶部143にアクセスして、ノンスNC管理データとしてノンスNCが記憶されているか否かにより判別する。
図7はノンスNC管理データ記憶部143に記憶されるノンスNC管理データの例を表わす図である。ノンスNC管理データは、例えば、ノンスNCが一定の規則に従ってノンスNC管理データ記憶部143に記憶されたものである。図7の例では、ノンスNC=A,B,C,D,Eの順で記憶されている。
例えば、ノンスNC=Aが生成されたときには、ノンスNC管理データ記憶部143には保存済みノンスNCが記憶されていない。ノンスNC管理データ記憶部143にノンスNCが何も記憶されていないときは、ノンスNC保存部142は保存済ノンスNCが無いと判別する。
図6に戻り、サーバ100は、保存済ノンスNCが無いと判別したとき(S14でNo)、ノンスNC管理データについて不規則値によりインデックスした「Prev NC」に「0」を設定する(S15)。
図7の例では、ノンスNC保存部142は、ノンスNC管理データ記憶部143におけるアドレス値「0」を基準にして、ノンスNC=Aが生成される際の不規則値によってインデックスした先にあるアドレス領域(X1領域)に「Prev NC」を設定する。そして、ノンスNC保存部142は、X1領域の「Prev NC」に「0」を書き込む。「0」は、例えば、前段へのリンクが無いことを示している。
図6に戻り、次に、サーバ100はノンスNCとノンスNCをビット反転させた値とを結合し、交換鍵KXにて署名データを作成する(S16)。
例えば、ノンスNC保存部142が、ノンスNC=Aと、ノンスNCをビット反転させた値〜Aとを結合し、交換鍵KXにて署名データ(KX[〜A||A])を作成する。これは、例えば、サーバ100が検査用ノンスとしてノンスNC=Aを受信したとき、ノンスNC=Aより一世代前のノンスNCがないことに基づいている。この場合、サーバ100はノンスNC=Aを読み出せずに署名データを作成することができないため、この署名データ(KX[〜A||A])を用いて、コンテンツ鍵の確認を行うようにしている。なお、署名データを、例えば、起点データと称する場合がある。
次に、サーバ100は、不規則値によりインデックスした「署名データ」に、S16で作成した署名データを設定する(S20)。
図7の例では、ノンスNC保存部142は、S15の処理でインデックスしたX1領域において、「Prev NC」から所定先の領域「起点データ(署名)」に、署名データ(KX[〜A||A])を記憶する。
図6に戻り、以降はS21からS25の処理を行うが、これらの処理については後述する。以下において、ノンスNC=B,Cが生成されたときどのようにノンスNCがノンスNC管理データとして記憶されるかについて説明する(S17〜S19)。
サーバ100は、S11からS13の処理により、例えばノンスNC=Bを生成する。次に、サーバ100は、ノンスNC管理データとして保存済ノンスNCがあるか否かを判別するが(S14)、例えば、「Prev NC」に「0」が設定されているため(S15)、ここでは保存済ノンスNCがあると判別する(S14でYes)。
この場合、サーバ100は、ノンスNC管理データについて不規則値によりインデックスした「Prev NC」に保存済みノンスNCを設定する(S17)。
図7の例では、ノンスNC保存部142は、ノンスNC=Bが生成される際の不規則値を利用して、当該不規則値によりインデックスした先にあるX2領域において所定長の「Prev NC」を設定し、当該「Prev NC」に保存済みノンスNC=Aを記憶する。
図6に戻り、次に、サーバ100はノンスNC管理データについて、「Prev NC」に保存した不規則値によりインデックスした「Next NC」にノンスNCを設定する(S18)。
図7の例では、ノンスNC保存部142は、一世代前のノンスNC=Aで利用した不規則値によりインデックスしたX1領域における「Prev NC」(「0」が設定)の次の所定長領域「Next NC」に、ノンスNC=B(ノンスNC=B生成時の不規則値とノンスBの値)を記憶する。
図6に戻り、次に、サーバ100は、ノンスNCと「Prev NC」を示すノンスNCとを結合し、交換鍵KXにて署名データを作成する(S19)。
図7の例では、ノンスNC保存部142は、ノンスNC=Bと、X2領域の「Prev NC」に設定されたノンスNC=Aとを結合し、交換鍵KXにて署名データ(KX[B||A])を生成する。
図6に戻り、次に、サーバ100はノンスNC管理データについて、不規則値によってインデックスした領域「起点データ(署名)」に、S19で生成した署名データを設定する(S20)。
図7の例では、ノンスNC保存部142は、S17の処理でインデックスしたX2領域における「起点データ(署名)」に署名データ(KX[B||A])を記憶する。
ノンスNCの保存関連処理(S14〜S20)について、図7の例で処理を続けると、ノンスNC生成部141はノンスNC=Cを生成する(S11〜S13)。そして、ノンスNC保存部142は、ノンスNC=C生成時に利用した不規則値によりインデックスしたX3領域の「Prev NC」に、保存済みノンスNC=Bを記憶する(S17)。また、ノンスNC保存部142は、一世代前のノンスNC=Bで利用した不規則値によりインデックスしたX2領域における「Next NC」にノンスNC=C(NC=C生成時の不規則値とノンスCの値)を記憶する。
X1領域に着目すると、X1領域はノンスNC=Aに含まれる不規則値によりインデックスされた領域である。X1領域には、前段にリンク無しを示す値と、ノンスNC=Aに対して次の世代のノンスNC=B、及びノンスNC=Aに基づく署名データ(KX[〜A||A])が記憶される。
また、X2領域に着目すると、X2領域はノンスNC=Bに含まれる不規則値によりインデックスされた領域である。X2領域には、ノンスNC=Bに対して一つ前の世代のノンスNC=Aと、一つ後の世代のNC=Cと、自ノンスNC=Bと一つ前の世代のノンスNC=Aとに基づく署名データ(KX[B||A])とが記憶される。
なお、X1領域やX2領域などの各領域に設定又は記憶されるこれらの情報を、例えば、ノンス情報と称する場合がある。ただし、各領域に記憶される各情報をノンス情報と称したり、各領域において記憶される情報全体をノンス情報と称する場合もある。
このように、ノンスNC管理データについて、例えば、自ノンスNCに含まれる不規則値によりインデックスされた領域には自ノンスNCは記憶されておらず、前後の世代のノンスNCと、自ノンスNCと一つ前の世代のノンスNCとに基づく署名データが記憶される。自ノンスNCに含まれる不規則値によりインデックスされた領域には自ノンスNCが記憶されないことで、例えば、ノンスNCが特定されることもなく、当該ノンスNCに対して改竄が行われることがないため、コンテンツに対するセキュリティを確保することができる。
図7に示すように、ノンスNC管理データはインデックス値によるインデックス形式としている。そして、そのインデックス値には不規則値が用いられる。
例えば、インデックス値がカウンタなどの規則的な数値により構成されて、ノンス情報が規則的な数値によりノンスNC管理データに配置される場合、ノンス情報がメモリ上に規則的に配置される。このような規則にノンス情報が配置されると、ノンス情報が特定されやすくなる。
これに対して、本第2の実施の形態においては、インデックス値として不規則値が用いられる。これにより、例えば、ノンス情報が不規則に配置させることができる。図7の例では、アドレスの若い順にノンスNC=D,B,C,A,Eが配置される。不規則値がインデックス値に用いられることで、例えば、ノンス情報が特定されにくくなり、従って、改竄などが行われにくく、セキュリティを確保することができる。
また、ノンスNC管理データにおいては、例えば、過去のノンスと自ノンスとの間で、リンクが形成されている。
例えば、図7のX3領域に着目すると、「Prev NC」には一世代前(又は過去)のノンスNC=Bが含まれる。そして、一世代前のノンスNC=Bに含まれる不規則値によって、自ノンスNCであるノンスNC=C(X2領域の「Next NC」)へのリンクが形成されている。すなわち、過去のノンスNC=Bと自ノンスNC=Cとは、不規則値によってリンクされている。そして、「Prev NC」に記憶される不規則値+乱数が、リンク先情報として用いられている。
例えば、リンク先情報がデータアドレス値など、リンク先の領域を直接示す値の場合、データアドレス値によってリンク先が辿られる可能性がある。そのため、リンク先情報が削除される場合もある。しかし、リンク先情報が削除されると、例えば、メモリには”FFFF”や”0000”などといった一定の規則による値が記憶され、改竄などを行う不正者に対しては削除されたことが把握される可能性がある。
本実施の形態のように、リンク先情報として不規則値+乱数が用いられることで、ノンスNC管理データ記憶部143における当該領域には数字の羅列が記憶され、例えば、不正者はリンク先情報であることを把握されるにくくなる。また、このようなリンク先情報は、例えばコンテンツ鍵確認部146によって、ノンスNC管理データ記憶部143から削除しないで保持させておくこともできる。
従って、サーバ100は、削除する処理もなくなり、不正者に何らかの情報が削除されたことを把握させないようにすることもできる。従って、サーバ100において保持したノンスNC管理データは、改竄などが行われにくく、セキュリティを確保することができる。
そして、このようにノンスNCはノンスNC管理データとして保持しておき削除されないようにしているため、例えば、ノンスNCが削除されることによって検査用ノンスNCとが不一致になることもない。従って、本実施の形態におけるノンスNC管理データは、クライアント200では受信コンテンツの復号停止を防止できる。
図6に戻り、S21からS25までの処理の詳細について説明する。サーバ100は、S21の処理の移行すると、交換鍵KXとノンスNCによりコンテンツ鍵KCを生成する。
例えば、コンテンツ暗号部144がノンスNC管理データ記憶部143から読み出したノンスNCと、AKE認証部130から受け取った交換鍵KXとに基づいてコンテンツ鍵KCを生成する。
次に、サーバ100は、コンテンツ鍵KCにてコンテンツを暗号化する(S22)。例えば、コンテンツ暗号部144は生成したコンテンツ鍵KCを用いて、コンテンツ記憶部120から読み出したコンテンツを暗号化し、暗号コンテンツと暗号に用いたノンスNCとをコンテンツ送信部145へ出力する。
次に、サーバ100は、PCPヘッダにノンスNCを設定する(S23)。例えば、コンテンツ送信部145は、コンテンツ暗号部144から暗号化コンテンツを受け取ると、暗号化コンテンツを送信するようTCP制御部150へ依頼し、さらに、当該暗号コンテンツとノンスNCとをTCP制御部150へ出力する。TCP制御部150は、PCPヘッダの所定領域にノンスNCを挿入する。
次に、サーバ100は、暗号コンテンツとPCPヘッダを結合し、クライアント(Sink機器)200へ送信する(S24)。例えば、TCP制御部150は、PCPのペイロードに暗号コンテンツを挿入し、PCPペイロードとPCPヘッダとを結合してPCPを生成し、生成したPCPをクライアント200へ送信する。
そして、サーバ100はノンスNC管理データ生成処理を終了させる(S25)。
<コンテンツ鍵の確認処理>
次にコンテンツ鍵の確認処理について、図7及び図8を用いて説明する。図8はコンテンツ鍵の確認処理の例を表わすフローチャートである。
次にコンテンツ鍵の確認処理について、図7及び図8を用いて説明する。図8はコンテンツ鍵の確認処理の例を表わすフローチャートである。
上述したように、クライアント200はサーバ100に対して2分間隔でノンスNCを送信する。サーバ100は、例えば、クライアント200からノンスNCを受信したときにコンテンツ鍵の確認処理を開始する。
サーバ100はコンテンツ鍵の確認処理を開始すると(S50)、クライアント200から受信したノンスNCから不規則値を抽出し、ノンスNC管理データに対して不規則値でインデックスした「Prev NC」にアクセスする(S51)。
図7の例では、コンテンツ鍵確認部146がノンスNC=Cを受信したときは、ノンスNC=Cについてのノンス情報が記憶されたX3領域の「Prev NC」にアクセスする。
図8に戻り、次に、サーバ100はインデックスした領域「Prev NC」にノンスNCが格納されている否かを確認する(S52)。例えば、コンテンツ鍵確認部146は、X3領域の「Prev NC」に値が格納されているか否かにより確認する。
インデックスした領域「Prev NC」にノンスNCが格納されているとき(S52でYes)、サーバ100はインデックスした領域「Prev NC」からノンスNCを読み出し、当該ノンスNCに含まれる不規則値でノンスNC管理データの領域「Prev NC」にアクセスする(S53)。
図7の例で説明すると、例えば、以下の処理を行う。すなわち、S52の処理でインデックスしたX3領域の「Prev NC」には、ノンスNC=Cに対して一つ前の世代のノンスNC=Bが含まれる。コンテンツ鍵確認部146はノンスNC=Bに含まれる不規則値を抽出し、この不規則値によりインデックスしたX2領域の「Next NC」にアクセスする。当該「Next NC」にはクライアント200から受信したノンスNC=Cが記憶されている。
図8に戻り、次に、サーバ100は「Next NC」からノンス値を抽出する(S54)。図7の例では、コンテンツ鍵確認部146は、X2領域の「Next NC」からノンスNC=Cのノンス値Cを読み出す。
図8に戻り、次に、サーバ100は、S51の処理でインデックスした「Prev NC」からノンスNCのノンス値を読み出す(S55)。図7の例では、コンテンツ鍵確認部146は、X3領域の「Prev NC」からノンスNC=Bのノンス値Bを読み出す。
図8に戻り、次に、サーバ100は、S54とS55で読み出したノンス値を結合し、交換鍵KXで署名データを生成する(S56)。図7の例では、コンテンツ鍵確認部146は、S54の処理で読み出したノンス値Cと、S55の処理で読み出したノンス値Bとを結合して、AKE認証部130から受け取った交換鍵KXで署名データ(KX[C||B])を生成する。
図8に戻り、次に、サーバ100は、クライアント200から受信したノンスNCに含まれる不規則値によりアクセスした領域に含まれる保存済み署名データと、S55の処理で生成した署名データとを比較し(S57)、一致しているか否かを判別する(S58)。
図7の例では、コンテンツ鍵確認部146は、S56の処理で生成した署名データ(KX[C||B])と、X3領域の保存済み署名データ(KX[C||B])とを比較することで検証し、一致しているか否かを判別する。
図7の例において、X3領域の「Prev NC」に記憶されたノンスNC=Bについて、例えば、改竄などが施されたとき、ノンスNC=Cとに基づいて生成した署名データと、X3領域の「起点データ(署名)」に記憶された保存済み署名データとは一致しない。
起点データ(又は署名データ)は、例えば、DTCP−IPの認証手続きにより得た共通鍵KXと、一世代前のノンスNCのノンス値とを用いて、
起点データ=交換鍵(KX)[自ノンスNCのノンス値||一世代前のノンスNCのノンス値] ・・・(1)
によって生成される。一世代前のノンスNCについて改竄などの操作が行われると、式(1)により生成された起点データは本来の起点データ(例えば保存済み署名データ)とは一致しないものとなる。
起点データ=交換鍵(KX)[自ノンスNCのノンス値||一世代前のノンスNCのノンス値] ・・・(1)
によって生成される。一世代前のノンスNCについて改竄などの操作が行われると、式(1)により生成された起点データは本来の起点データ(例えば保存済み署名データ)とは一致しないものとなる。
このことは、例えば、X2領域の「Next NC」に記憶されたノンスNC=Cについても改竄などが施されたとき、式(1)の[自ノンスNCのノンス値]が本来の値とは異なるものとなるため、2つの署名データは一致しない。
さらに、X3領域の「起点データ(署名)」に記憶された保存済み署名データも改竄が施されると、式(1)の左式は本来のものと異なる値となり、2つの署名データは一致しない。また、式(1)に示すように起点データは、一世代前のノンスNCのノンス値を用いているため、一世代前でノンスNCの改竄されていなければ、起点データは改竄されていないことが保証されたものとなる。
このようなこから、署名データは、例えば、ノンスNCに対する正常性の判断の起点となる起点データであるということができる。
図8に戻り、サーバ100は2つの署名データが一致しないと(S58でNo)、クライアント200から受信した確認用(又は検査用)のノンスNCについては改竄ありと判定し、コンテンツ鍵確認については否定結果を生成する(S59)。
例えば、コンテンツ鍵確認部146は、X3領域から読み出した保存済み署名データと生成した署名データとが一致していないとき、改竄ありと判定し、コンテンツ鍵確認について否定結果(REJECTED)を示す確認結果を生成する。コンテンツ鍵確認部146は、当該確認結果をクライアント200へ送信する。
一方、サーバ100は、2つの署名データが一致するとき(S58でYes)、クライアントから受信した確認用のノンスNCについては改竄がなく正常であると判定し、コンテンツ鍵確認について肯定結果を示す確認結果を生成する(S60)。例えば、コンテンツ鍵確認部146は、2つの署名データが一致しているとき、肯定結果(ACCEPTED)を生成し、クライアント200へ送信する。
S59及びS60の処理が終了すると、サーバ100は再びS50へ移行し(S61)、上述した処理を繰り返す。
一方、サーバ100は、インデックスした領域「Prev NC」にノンスNCが格納されていないとき(S52でNo)、一連の処理を行うことなくS61へ移行する。
なお、コンテンツ鍵確認の処理は、例えば、サーバ100の電源がオフになったときや、処理終了に関する割込み処理などが行われたときに終了する。
図9はサーバ(Source機器)100とクライアント(Sink機器)200との間で、DTCP−IPによる相互認証及び鍵交換が完了した後において、コンテンツ鍵確認の処理が行われる場合のシーケンス例を表わす図である。
クライアント200は、ノンスNCに含まれるノンス値(=A)を抽出してコンテンツ鍵KCを生成し、コンテンツ鍵KCを用いて受信コンテンツを復号する(S70)。
次に、クライアント200は、当該受信コンテンツを復号後、2分経過すると、コンテンツ鍵確認の処理を行うため、2分経過時において使用されているノンスNC(=不規則値+ノンス値C)をサーバ100へ送信する(S72)。例えば、クライアント200のコンテンツ鍵確認部244は、PCPヘッダ解析部242から2分経過時において(又は現在)使用されるノンスNCを受け取り、ノンスNCを検査用(又は未確認)のノンスNCとしてサーバ100へ送信する。
サーバ100は、クライアント200からノンスNCを受信すると、例えば図8に示すコンテンツ鍵確認の処理を行い、受信したノンスNCに含まれる不規則値により、サーバ100側で保持されたノンス値Cを抽出する(S73)。例えば、コンテンツ鍵確認部146はノンスNC管理データ記憶部143に記憶されたノンスNC管理データに含まれるノンス値Cを抽出する。
この場合、最も古く生成されたノンス値Aから辿ってノンス値を取得する場合と比較すると、本実施の形態では、例えば、一世代前のノンス情報からノンス値を取得しており、そのため、ノンス値Cを取得するまでに時間がかからない。従って、本実施の形態におけるノンスNC管理データがノンスNC管理データ記憶部143に記憶されることで、例えば、制限時間内(例えば1秒など)に処理を行うことができる。
次に、サーバ100は、式(1)で生成した署名データと、ノンスNC管理データとして保持した署名データとが一致しているか否かを確認し(S74)、その結果をサーバ100へ送信する(S75)。なお、図9の例では、サーバ100はCONT_KEY_CONFコマンドを利用して肯定結果を示すACCEPTEDを送信している。
クライアント200は、肯定結果(例えばACCEPTED)を受信すると、ノンスNC(=不規則値+ノンス値C)以降の復号を継続し、受信コンテンツに関する映像や音声などの再生を継続する(S76)。
ただし、クライアント200は、否定結果(例えばREJECTED)を受信すると、ノンスNC(=不規則値+ノンス値C)以降の復号を停止することになる。
<サーバ100とクライアント200のその他の構成例>
次に、サーバ100とクライアント200のその他の構成例について説明する。図10はサーバ100の構成例を表わす図である。図10に示す例においては、クライアント200は、サーバ100と同一構成となっている。図10に示す構成例は、例えば、サーバ100やクライアント200のハードウェアの構成例を表わす図である。
次に、サーバ100とクライアント200のその他の構成例について説明する。図10はサーバ100の構成例を表わす図である。図10に示す例においては、クライアント200は、サーバ100と同一構成となっている。図10に示す構成例は、例えば、サーバ100やクライアント200のハードウェアの構成例を表わす図である。
サーバ100は、CPU(Central Processing Unit)170、ROM(Read Only Memory)171、RAM(Random Access Memory)172、暗号制御部173、乱数生成部174、Hash生成部175、タイマー制御部176、EEPROM(Electrically Erasable Programmable Read-Only Memory)177とを備え、内部バス178により互いに接続される。
CPU170は、ROM171に格納されたプログラムを読み出して、RAM172にロードし、ロードしたプログラムを実行する。CPU170はプログラムを実行することで、例えば、アプリケーション部110、ノンスNC保存部142、コンテンツ送信部145、コンテンツ鍵確認部146、及びTCP制御部150の各機能を実現する。従って、CPU170は、例えば、アプリケーション部110、ノンスNC保存部142、コンテンツ送信部145、コンテンツ鍵確認部146、及びTCP制御部150に対応する。
RAM172はコンテンツを蓄積することもでき、例えば、RAM172に代えてハードディスクドライブなどにすることでコンテンツを蓄積することもできる。RAM172は、例えば、コンテンツ記憶部120に対応する。
暗号制御部173は、暗号処理を制御するブロックであり、例えば、AKE認証部141、コンテンツ暗号部144に対応する。
乱数生成部174は、乱数を生成するブロックであり、生成した乱数をCPU170やRAM172などに出力する。乱数生成部174は、例えば、ノンスNC生成部141に対応する。
Hash生成部175は、例えば、Hash値を生成してCPU170に出力する。Hash値は、例えば、通信経路を流れる送信データに対して、改竄などが行われたかを確認するために用いられる。
タイマー制御部176は、例えば、内部にタイマーなどを備え、タイマーによってカウントしたカウント値をCPU170へ出力する。例えば、タイマー制御部176は、コンテンツの配信時間をカウントする。また、タイマー制御部176は、CPU170からの指示に基づいてタイマー値をカウントし、CPU170によって指示された時間が経過するとその旨をCPU170へ出力する。
EEPROM177は、例えば、サーバ100の電源がオフとなっても記憶されたデータを保存することができ、ノンスNC管理データを記憶する。EEPROM177は、ノンスNC管理データ記憶部143に対応する。
クライアント200との対応関係では、CPU170が例えばアプリケーション部210、コンテンツ受信部240、PCPヘッダ解析部242、コンテンツ鍵確認部244、TCP制御部250に対応する。また、RAM172は、例えば、コンテンツ記憶部220と受信バッファ241に対応する。さらに、暗号制御部173は、例えば、コンテンツ復号部243に対応する。さらに、タイマー制御部176は、例えば、コンテンツ鍵確認部244にも対応する。
以上まとめると付記のようになる。
(付記1)
暗号化したコンテンツを他の情報通信装置へ送信し、前記他の情報通信装置において暗号化されたコンテンツを復号する際に用いるコンテンツ鍵に関する確認要求を前記他の情報通信装置から受信し、前記確認要求に含まれる第1のノンス情報に基づいてコンテンツ鍵の確認を行う情報通信装置において、
第2のノンス情報を記憶するノンス管理データ記憶部と、
前記第1のノンス情報に含まれる第1のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報が前記情報通信装置において生成される前に生成された前記第2のノンス情報を読み出し、前記第2のノンス情報に含まれる第2のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報に対応する第3のノンス情報を読み出し、前記第1のノンス情報と前記第3のノンス情報とに基づいてコンテンツ鍵の確認を行うコンテンツ鍵確認部と
を備えることを特徴とする情報通信装置。
暗号化したコンテンツを他の情報通信装置へ送信し、前記他の情報通信装置において暗号化されたコンテンツを復号する際に用いるコンテンツ鍵に関する確認要求を前記他の情報通信装置から受信し、前記確認要求に含まれる第1のノンス情報に基づいてコンテンツ鍵の確認を行う情報通信装置において、
第2のノンス情報を記憶するノンス管理データ記憶部と、
前記第1のノンス情報に含まれる第1のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報が前記情報通信装置において生成される前に生成された前記第2のノンス情報を読み出し、前記第2のノンス情報に含まれる第2のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報に対応する第3のノンス情報を読み出し、前記第1のノンス情報と前記第3のノンス情報とに基づいてコンテンツ鍵の確認を行うコンテンツ鍵確認部と
を備えることを特徴とする情報通信装置。
(付記2)
前記第1及び第2のリンク情報は、第1のデータ範囲内で変化する値であって、前記第1のリンク情報と前記第2のリンク情報は異なる値を有することを特徴とする付記1記載の情報通信装置。
前記第1及び第2のリンク情報は、第1のデータ範囲内で変化する値であって、前記第1のリンク情報と前記第2のリンク情報は異なる値を有することを特徴とする付記1記載の情報通信装置。
(付記3)
前記コンテンツ鍵確認部は、前記第1のリンク情報に基づいて前記ノンス管理データ記憶部の領域から読み出した第1の署名データと、前記第2のノンス情報に含まれるノンス値と前記第3のノンス情報に含まれるノンス値とに基づいて生成した第2の署名データとを比較してコンテンツ鍵の確認を行うことを特徴とする付記1記載の情報通信装置。
前記コンテンツ鍵確認部は、前記第1のリンク情報に基づいて前記ノンス管理データ記憶部の領域から読み出した第1の署名データと、前記第2のノンス情報に含まれるノンス値と前記第3のノンス情報に含まれるノンス値とに基づいて生成した第2の署名データとを比較してコンテンツ鍵の確認を行うことを特徴とする付記1記載の情報通信装置。
(付記4)
前記コンテンツ鍵確認部は、コンテンツ鍵の確認を行った後、前記ノンス管理データ記憶部に記憶された前記第2のノンス情報を削除することなく保持することを特徴とする付記1記載の情報通信装置。
前記コンテンツ鍵確認部は、コンテンツ鍵の確認を行った後、前記ノンス管理データ記憶部に記憶された前記第2のノンス情報を削除することなく保持することを特徴とする付記1記載の情報通信装置。
(付記5)
前記第1及び第2のリンク情報は、乱数とコンテンツ配信時間とを組み合わせた値であることを特徴とする付記2記載の情報通信装置。
前記第1及び第2のリンク情報は、乱数とコンテンツ配信時間とを組み合わせた値であることを特徴とする付記2記載の情報通信装置。
(付記6)
前記第1、第2、及び第3のノンス情報は乱数により生成された数値であることを特徴とする付記1記載の情報通信装置。
前記第1、第2、及び第3のノンス情報は乱数により生成された数値であることを特徴とする付記1記載の情報通信装置。
(付記7)
コンテンツ鍵確認部は、前記他の情報通信装置と共有した交換鍵に基づいて前記第2の署名データを生成し、
前記ノンス管理データ記憶部に記憶された前記第1の署名データは前記交換鍵に基づいて生成されることを特徴とする付記3記載の情報通信装置。
コンテンツ鍵確認部は、前記他の情報通信装置と共有した交換鍵に基づいて前記第2の署名データを生成し、
前記ノンス管理データ記憶部に記憶された前記第1の署名データは前記交換鍵に基づいて生成されることを特徴とする付記3記載の情報通信装置。
(付記8)
前記情報通信装置は、前記確認要求を2分毎に受信することを特徴とする付記1記載の情報通信装置。
前記情報通信装置は、前記確認要求を2分毎に受信することを特徴とする付記1記載の情報通信装置。
(付記9)
前記情報通信装置は、前記第1のノンス情報と前記暗号化したコンテンツを前記他の情報通信装置へ送信することを特徴とする付記1記載の情報通信装置。
前記情報通信装置は、前記第1のノンス情報と前記暗号化したコンテンツを前記他の情報通信装置へ送信することを特徴とする付記1記載の情報通信装置。
(付記10)
暗号化したコンテンツを他の情報通信装置へ送信し、前記他の情報通信装置において暗号化されたコンテンツを復号する際に用いるコンテンツ鍵に関する確認要求を前記他の情報通信装置から受信し、前記確認要求に含まれる第1のノンス情報に基づいてコンテンツ鍵の確認を行う情報通信装置におけるコンテンツ鍵確認方法であって、
前記第1のノンス情報に含まれる第1のリンク情報に基づいて、ノンス管理データ記憶部から、前記第1のノンス情報が前記情報通信装置において生成される前に生成された前記第2のノンス情報を読み出し、前記第2のノンス情報に含まれる第2のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報に対応する第3のノンス情報を読み出し、前記第1のノンス情報と前記第3のノンス情報とに基づいてコンテンツ鍵の確認を行う
ことを特徴とする情報通信装置。
暗号化したコンテンツを他の情報通信装置へ送信し、前記他の情報通信装置において暗号化されたコンテンツを復号する際に用いるコンテンツ鍵に関する確認要求を前記他の情報通信装置から受信し、前記確認要求に含まれる第1のノンス情報に基づいてコンテンツ鍵の確認を行う情報通信装置におけるコンテンツ鍵確認方法であって、
前記第1のノンス情報に含まれる第1のリンク情報に基づいて、ノンス管理データ記憶部から、前記第1のノンス情報が前記情報通信装置において生成される前に生成された前記第2のノンス情報を読み出し、前記第2のノンス情報に含まれる第2のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報に対応する第3のノンス情報を読み出し、前記第1のノンス情報と前記第3のノンス情報とに基づいてコンテンツ鍵の確認を行う
ことを特徴とする情報通信装置。
(付記11)
暗号化したコンテンツを他の情報通信装置へ送信し、前記他の情報通信装置において暗号化されたコンテンツを復号する際に用いるコンテンツ鍵に関する確認要求を前記他の情報通信装置から受信し、前記確認要求に含まれる第1のノンス情報に基づいてコンテンツ鍵の確認を行うコンピュータに対するコンテンツ鍵確認プログラムであって、
前記第1のノンス情報に含まれる第1のリンク情報に基づいて、ノンス管理データ記憶部から、前記第1のノンス情報が前記情報通信装置において生成される前に生成された前記第2のノンス情報を読み出し、前記第2のノンス情報に含まれる第2のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報に対応する第3のノンス情報を読み出し、前記第1のノンス情報と前記第3のノンス情報とに基づいてコンテンツ鍵の確認を行う
ことをコンピュータに実行させるコンテンツ鍵確認プログラム。
暗号化したコンテンツを他の情報通信装置へ送信し、前記他の情報通信装置において暗号化されたコンテンツを復号する際に用いるコンテンツ鍵に関する確認要求を前記他の情報通信装置から受信し、前記確認要求に含まれる第1のノンス情報に基づいてコンテンツ鍵の確認を行うコンピュータに対するコンテンツ鍵確認プログラムであって、
前記第1のノンス情報に含まれる第1のリンク情報に基づいて、ノンス管理データ記憶部から、前記第1のノンス情報が前記情報通信装置において生成される前に生成された前記第2のノンス情報を読み出し、前記第2のノンス情報に含まれる第2のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報に対応する第3のノンス情報を読み出し、前記第1のノンス情報と前記第3のノンス情報とに基づいてコンテンツ鍵の確認を行う
ことをコンピュータに実行させるコンテンツ鍵確認プログラム。
10:情報通信システム(サーバクライアントシステム)
100:サーバ装置(Source機器)
110:アプリケーション部 120:コンテンツ記憶部
130:AKE認証部 140:コンテンツ管理部
141:ノンスNC生成部 142:ノンスNC保存部
143:ノンスNC管理データ記憶部 144:コンテンツ暗号部
145:コンテンツ送信部 146:コンテンツ鍵確認部
150:TCP制御部 151〜153:第1〜第3のインタフェース
170:CPU
200:クライアント装置(Sink機器)
210:アプリケーション部 220:コンテンツ記憶部
230:AKE認証部 240:コンテンツ受信部
241:受信バッファ 242:PCPヘッダ解析部
243:コンテンツ復号部 244:コンテンツ鍵確認部
250:TCP制御部 251〜253:第4〜第6のインタフェース
100:サーバ装置(Source機器)
110:アプリケーション部 120:コンテンツ記憶部
130:AKE認証部 140:コンテンツ管理部
141:ノンスNC生成部 142:ノンスNC保存部
143:ノンスNC管理データ記憶部 144:コンテンツ暗号部
145:コンテンツ送信部 146:コンテンツ鍵確認部
150:TCP制御部 151〜153:第1〜第3のインタフェース
170:CPU
200:クライアント装置(Sink機器)
210:アプリケーション部 220:コンテンツ記憶部
230:AKE認証部 240:コンテンツ受信部
241:受信バッファ 242:PCPヘッダ解析部
243:コンテンツ復号部 244:コンテンツ鍵確認部
250:TCP制御部 251〜253:第4〜第6のインタフェース
Claims (5)
- 暗号化したコンテンツを他の情報通信装置へ送信し、前記他の情報通信装置において暗号化されたコンテンツを復号する際に用いるコンテンツ鍵に関する確認要求を前記他の情報通信装置から受信し、前記確認要求に含まれる第1のノンス情報に基づいてコンテンツ鍵の確認を行う情報通信装置において、
第2のノンス情報を記憶するノンス管理データ記憶部と、
前記第1のノンス情報に含まれる第1のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報が前記情報通信装置において生成される前に生成された前記第2のノンス情報を読み出し、前記第2のノンス情報に含まれる第2のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報に対応する第3のノンス情報を読み出し、前記第1のノンス情報と前記第3のノンス情報とに基づいてコンテンツ鍵の確認を行うコンテンツ鍵確認部と
を備えることを特徴とする情報通信装置。 - 前記第1及び第2のリンク情報は、第1のデータ範囲内で変化する値であって、前記第1のリンク情報と前記第2のリンク情報は異なる値を有することを特徴とする請求項1記載の情報通信装置。
- 前記コンテンツ鍵確認部は、前記第1のリンク情報に基づいて前記ノンス管理データ記憶部の領域から読み出した第1の署名データと、前記第2のノンス情報に含まれるノンス値と前記第3のノンス情報に含まれるノンス値とに基づいて生成した第2の署名データとを比較してコンテンツ鍵の確認を行うことを特徴とする請求項1記載の情報通信装置。
- 暗号化したコンテンツを他の情報通信装置へ送信し、前記他の情報通信装置において暗号化されたコンテンツを復号する際に用いるコンテンツ鍵に関する確認要求を前記他の情報通信装置から受信し、前記確認要求に含まれる第1のノンス情報に基づいてコンテンツ鍵の確認を行う情報通信装置におけるコンテンツ鍵確認方法であって、
前記第1のノンス情報に含まれる第1のリンク情報に基づいて、ノンス管理データ記憶部から、前記第1のノンス情報が前記情報通信装置において生成される前に生成された前記第2のノンス情報を読み出し、前記第2のノンス情報に含まれる第2のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報に対応する第3のノンス情報を読み出し、前記第1のノンス情報と前記第3のノンス情報とに基づいてコンテンツ鍵の確認を行う
ことを特徴とする情報通信装置。 - 暗号化したコンテンツを他の情報通信装置へ送信し、前記他の情報通信装置において暗号化されたコンテンツを復号する際に用いるコンテンツ鍵に関する確認要求を前記他の情報通信装置から受信し、前記確認要求に含まれる第1のノンス情報に基づいてコンテンツ鍵の確認を行うコンピュータに対するコンテンツ鍵確認プログラムであって、
前記第1のノンス情報に含まれる第1のリンク情報に基づいて、ノンス管理データ記憶部から、前記第1のノンス情報が前記情報通信装置において生成される前に生成された前記第2のノンス情報を読み出し、前記第2のノンス情報に含まれる第2のリンク情報に基づいて、前記ノンス管理データ記憶部から、前記第1のノンス情報に対応する第3のノンス情報を読み出し、前記第1のノンス情報と前記第3のノンス情報とに基づいてコンテンツ鍵の確認を行う
ことをコンピュータに実行させるコンテンツ鍵確認プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013090407A JP2014216707A (ja) | 2013-04-23 | 2013-04-23 | 情報通信装置、コンテンツ鍵確認方法、及びコンテンツ鍵確認プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013090407A JP2014216707A (ja) | 2013-04-23 | 2013-04-23 | 情報通信装置、コンテンツ鍵確認方法、及びコンテンツ鍵確認プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014216707A true JP2014216707A (ja) | 2014-11-17 |
Family
ID=51942109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013090407A Pending JP2014216707A (ja) | 2013-04-23 | 2013-04-23 | 情報通信装置、コンテンツ鍵確認方法、及びコンテンツ鍵確認プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014216707A (ja) |
-
2013
- 2013-04-23 JP JP2013090407A patent/JP2014216707A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11533297B2 (en) | Secure communication channel with token renewal mechanism | |
US8705348B2 (en) | Use of metadata for time based anti-replay | |
US9852300B2 (en) | Secure audit logging | |
US8510844B2 (en) | Authorized content verification method, content transmission/reception system, transmitter, and receiver | |
CN109067814B (zh) | 媒体数据加密方法、系统、设备及存储介质 | |
CN110460439A (zh) | 信息传输方法、装置、客户端、服务端及存储介质 | |
CN111131278B (zh) | 数据处理方法及装置、计算机存储介质、电子设备 | |
CN110401677B (zh) | 数字版权密钥的获取方法、装置、存储介质及电子设备 | |
CN106330856A (zh) | 听力设备和听力设备通信的方法 | |
CN106487749A (zh) | 密钥生成方法及装置 | |
US20070033399A1 (en) | Transmitting/receiving system and method, transmitting apparatus and method, receiving apparatus and method, and program used therewith | |
US11212671B2 (en) | Method and system for securing communication links using enhanced authentication | |
CN110677234B (zh) | 一种基于同态加密区块链的隐私保护方法与系统 | |
US20190268145A1 (en) | Systems and Methods for Authenticating Communications Using a Single Message Exchange and Symmetric Key | |
WO2020155622A1 (zh) | 提高影像数据传输安全的方法、装置、系统及存储介质 | |
US20060069650A1 (en) | Device and method for reproducing encrypted contents | |
KR20150135032A (ko) | Puf를 이용한 비밀키 업데이트 시스템 및 방법 | |
US7886160B2 (en) | Information processing apparatus and method, and computer program | |
CN102594564A (zh) | 交通诱导信息安全管理设备 | |
CN110139163A (zh) | 一种获取弹幕的方法和相关装置 | |
US8374338B2 (en) | Transport packet decryption testing in a client device | |
CN114500064A (zh) | 一种通信安全验证方法、装置、存储介质及电子设备 | |
JP2014216707A (ja) | 情報通信装置、コンテンツ鍵確認方法、及びコンテンツ鍵確認プログラム | |
JP2008004065A (ja) | 半導体装置、電子機器及び機器認証プログラム | |
CN112787990A (zh) | 一种电力终端可信接入认证方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20150610 |