JP4957148B2 - 鍵管理機能を持つセキュア素子および情報処理装置 - Google Patents

鍵管理機能を持つセキュア素子および情報処理装置 Download PDF

Info

Publication number
JP4957148B2
JP4957148B2 JP2006260797A JP2006260797A JP4957148B2 JP 4957148 B2 JP4957148 B2 JP 4957148B2 JP 2006260797 A JP2006260797 A JP 2006260797A JP 2006260797 A JP2006260797 A JP 2006260797A JP 4957148 B2 JP4957148 B2 JP 4957148B2
Authority
JP
Japan
Prior art keywords
key
content
unit
information
restoration
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.)
Expired - Fee Related
Application number
JP2006260797A
Other languages
English (en)
Other versions
JP2008085468A (ja
Inventor
直樹 西口
英司 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006260797A priority Critical patent/JP4957148B2/ja
Priority to EP07113835A priority patent/EP1906332A3/en
Priority to US11/893,168 priority patent/US7978857B2/en
Publication of JP2008085468A publication Critical patent/JP2008085468A/ja
Application granted granted Critical
Publication of JP4957148B2 publication Critical patent/JP4957148B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/108Transfer of content, software, digital rights or licenses
    • G06F21/1083Partial license transfers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Description

この発明は、コンテンツ保護に利用する鍵の管理機能を持つセキュア素子および情報処理装置に関し、特に、デジタル放送などにより取得したデジタルコンテンツを録画または再生するために用いる鍵管理機能を持つセキュア素子と、このセキュア素子を組み込んだ情報処理装置に関する。
今日、デジタル放送により送られてくるデジタルコンテンツは大容量データであるため、デジタルコンテンツを記録する記録装置としては、ハードディスク(HDDと呼ぶ)等が用いられている。しかし、デジタルコンテンツを単純にそのままHDDに保存するだけでは、自由にデジタルコンテンツを複製し不正利用することも可能となる。
そこで、DVDレコーダなどのデジタルコンテンツの記録再生装置では、専用のハードウェア(LSI)を取りはずしできないように搭載し、ハードウェアに記録された固有の鍵を用いて、取得したデジタルコンテンツを暗号化した後、そのコンテンツをHDDに保存するようにしている。
また、HDDに保存されたデジタルコンテンツは、ハードウェアによって復号された後、再生される。
これによれば、コンテンツが保存されているHDDが盗まれたとしても、暗号化に使用したハードウェアがない場合には、そのコンテンツを再生することはできない。
PCのようなオープンなプラットフォーム上でデジタルコンテンツを記録再生する場合、コンテンツを録画または再生するためのアプリケーションソフトウェアは、LSIによって常に監視され、不正なアプリケーションプログラムが存在しても、不正なアプリケーションによる録画・再生処理ができないような保護機構が設けられている。
また、コンテンツを保存するHDDのリストアやリカバリによる不正利用を防止するために、コンテンツリストやHDDの利用状況などを含む管理情報(コンテンツ情報)は、取りはずしのできないLSIの中に記録される。
この他にも、著作権保護等の観点から、デジタルコンテンツの不正利用や不正流出を防止するために、種々のセキュリティ対策が提案されている。
特開2003−198527号公報 特開2004−129227号公報 特開2004−342046号公報 特開2005−85188号公報
しかし、従来技術では、搭載された1つのLSIによって、デジタルコンテンツの暗号化と復号が行われる。
すなわち、LSIで暗号化されたデジタルコンテンツは、そのLSIと1対1に関係付けられているので、デジタルコンテンツの再生処理やDVD媒体等への移動処理(ムーブ)、DTCP−IPによる他の情報処理装置への配信処理等をする場合、同じLSIを用いて復号をする必要がある。
LSIは、一般に、コンテンツの暗号化や復号等をする場合、1つのコンテンツについてのみ処理が可能であるので、自装置内でのコンテンツAの再生処理と、他のコンテンツBの他機器への配信処理を同時に行えない。
デジタルコンテンツは一般に大容量であるため、その配信処理に長時間かかることがあるが、配信処理中に、自装置でコンテンツの再生処理ができないのは、ユーザにとって不便である。すなわち、複数のコンテンツを同時に再生や配信したいという要求を満たす装置が望まれる。
一方、同時に処理できるコンテンツの数がLSIの数と一致するとすれば、LSIを複数個搭載すれば、複数のコンテンツを同時に取り扱えるようになるとも考えられる。たとえば、10個のLSIを搭載すれば、10個の異なる再生処理,録画処理および配信処理を、同時に処理できるようになる。
しかし、現在どのコンテンツがどのLSIで使用されているか、再生中であるか、配信中であるかなどを管理する必要があり、各LSIにそれぞれ記録されているコンテンツ情報を、LSI間で互いに同期させることも必要となり、その情報管理や制御が非常に複雑化し、装置そのもののコストアップにもなる。
以上のように、従来と同様にデジタルコンテンツの不正利用防止などのセキュリティを確保した上で、複数のコンテンツの同時利用と、コストアップの防止および開発工程の複雑化の防止という要求を満たすことが望まれる。
そこで、本願発明は、以上のような事情を考慮してなされたものであり、コンテンツのセキュリティを十分に確保した上で、暗号化および復号に利用する鍵の管理を工夫することにより、コストアップの防止,ソフトウェア資産の有効活用および複数のコンテンツの同時利用を実現することのできる鍵管理機能を持つセキュア素子や情報処理装置を提供することを課題とする。
この発明は、コンテンツを複数のブロックに分割して入力する入力部と、1つのブロックまたは複数のブロックを暗号化するための鍵を順次生成する鍵生成部と、前記生成鍵を用いて前記1つのブロックまたは複数のブロックを暗号化するコンテンツ暗号部と、前記暗号化に用いた生成鍵を復元するための鍵情報をその生成鍵から生成する鍵情報生成部と、前記コンテンツ暗号部によって暗号化された各ブロックのコンテンツと、前記鍵情報生成部で生成された鍵情報とを外部記憶装置へ出力する記憶制御部とを備え、前記鍵生成部が順次生成する鍵は、所定の条件を満たしたときに新たに生成され、1つのブロックまたは複数のブロックごとに異なることを特徴とする鍵管理機能を持つセキュア素子を提供するものである。
これによれば、生成鍵を異ならせてコンテンツのブロックを暗号化しているので、生成鍵の漏洩によるコンテンツの不正利用の軽減を図ることができる。
この発明は、前記外部記憶装置に記憶されていた鍵情報を受信する復元制御部と、受信した鍵情報から前記暗号化に用いた生成鍵を復元する鍵情報復元部と、前記外部記憶装置に記憶された各ブロックのコンテンツを復号する情報処理機構に、前記復元された生成鍵を出力する出力部とをさらに備えたことを特徴とする。
これによれば、セキュア素子では、生成鍵の復元処理を行うが、コンテンツそのものの復号処理は行わないので、セキュア素子の処理負担を軽減でき、1つのセキュア素子を利用する場合でも、複数のコンテンツの同時利用が実質的に可能になる。
また、1つのセキュア素子を利用して複数のコンテンツの同時利用を実現できるので、複数のセキュア素子を用いて複数のコンテンツの同時利用をする場合に比べて、製造および開発のコストの低減と、ハードウェア及びソフトウェアの開発工数の軽減を図ることができる。
さらに、前記鍵情報復元部によって復元された生成鍵の復元状況を管理し、すでに復元された生成鍵の復元状況に基づいて、すでに復元された生成鍵の更新の可否および新たに復元すべき生成鍵の復元の可否を判断する鍵情報復元管理部をさらに備え、復元を許可しないと判断した場合には、前記鍵情報復元部はその許可されなかった生成鍵を復元しないことを特徴とする。
これによれば、生成鍵の復元状況を管理することで生成鍵の復元の可否を判断しているので、生成鍵の漏洩の危険性をより軽減でき、コンテンツの不正流出を防止することができる。
また、この発明は、コンテンツを暗号化するための生成鍵の生成および復元と、コンテンツを前記生成鍵を用いて暗号化する機能を有するセキュア制御部と、前記暗号化されたコンテンツと、前記コンテンツの暗号化に用いた生成鍵を復元することが可能なデータからなる鍵情報とを記憶したコンテンツ記憶部と、コンテンツ記憶部に記憶されたコンテンツを再生する情報処理部とを備えた鍵管理機能を持つ情報処理装置であって、前記セキュア制御部が、コンテンツを複数のブロックに分割して入力する入力部と、所定の条件を満たしたときに、1つのブロックまたは複数のブロックを暗号化するための生成鍵を順次生成する鍵生成部と、前記生成鍵を用いて前記1つのブロックまたは複数のブロックを暗号化するコンテンツ暗号部と、前記暗号化に用いた生成鍵を復元するための鍵情報を、その生成鍵から生成する鍵情報生成部と、前記コンテンツ暗号部によって暗号化された各ブロックのコンテンツと、前記鍵情報生成部で生成された鍵情報とを、前記コンテンツ記憶部へ出力する記憶制御部と、前記情報処理部から、前記暗号化に用いた生成鍵を復元するための鍵情報を受信する復元制御部と、受信した鍵情報から前記暗号化に用いた生成鍵を復元する鍵情報復元部と、前記復元した生成鍵を前記情報処理部へ出力する出力部とを備え、前記情報処理部が、前記コンテンツ記憶部から、再生すべきブロックのコンテンツおよび鍵情報を取得する情報取得部と、取得された鍵情報を前記セキュア制御部に与えることにより、その鍵情報に対応する生成鍵をセキュア制御部から取得する鍵取得部と、前記セキュア制御部から取得した生成鍵を用いて、前記コンテンツ記憶部から取得したブロックのコンテンツを順次復元してコンテンツを再生するコンテンツ復元部とを備えたことを特徴とする鍵管理機能を持つ情報処理装置を提供するものである。
これによれば、生成鍵を異ならせることにより生成鍵の漏洩の危険性の軽減とコンテンツの不正利用の軽減を図り、また、コンテンツ自体の復号は情報処理部で行い、セキュア制御部では比較的短時間で実施可能な鍵の復元処理を行うので、コンテンツの再生時におけるセキュア制御部の処理負担の軽減を図ることができ、1つのセキュア制御部を備えるだけで、複数のコンテンツの同時利用が実質的に可能となり、複数のコンテンツの同時利用を実現する場合のコストの低減と開発工数の軽減を図ることができる。
また、この発明は、コンピュータに、情報処理装置の鍵管理機能を実現させるためのプログラムを提供するものである。
この発明において、コンテンツとは、動画,静止画,音声などのマルチメディア情報やこれらのストリーミングデータを意味する。
コンテンツの暗号化は、受信と並行して行われ、所定の容量サイズのコンテンツごとに暗号化される。暗号化されるコンテンツの一単位をブロックと呼ぶ。
外部記憶装置とは、後述するようなコンテンツ記憶装置、具体的にはハードディスク(HDD)のような不揮発性の書き換え可能な媒体である。
この発明のセキュア素子とは、後述するセキュア制御部(LSI)に相当し、一般には、ICチップのような半導体集積回路素子として提供されるものである。
情報処理部とは、コンテンツの再生や配信を担当する機能ブロックであり、後述するアプリケーションプログラムに相当する。
また、この発明において、前記鍵情報には、セキュア素子固有のマスタ鍵によって暗号化された生成鍵を含むことを特徴とする。
また、前記鍵情報には、前記生成鍵と、暗号化のためにその生成鍵を適用したコンテンツのブロックを特定する範囲情報とが含まれることを特徴とする。
さらに、前記鍵生成部が生成した生成鍵を記憶する鍵情報記憶部をさらに備え、前記鍵情報には、鍵情報記憶部に記憶された生成鍵を特定する鍵インデックスを含むことを特徴とする。
また、前記鍵情報に、前記鍵インデックスによって特定される生成鍵を適用したコンテンツのブロックを特定する範囲情報をさらに含むことを特徴とする。
また、前記鍵生成部は、鍵初期値を生成しその鍵初期値から所定の規則に基づいてその後の鍵を生成し、前記鍵情報には、鍵初期値を含むことを特徴とする。
生成鍵を生成するための所定の条件とは、生成鍵を生成するタイミングを決めるための条件を意味し、後述するような種々のタイミングが考えられる。たとえば、暗号化処理の一単位である一ブロック分のコンテンツを受信するごとに、新たな鍵を生成してもよい。あるいは、所定の容量サイズに相当する複数のブロックを受信するごとに新たな鍵を生成してもよい。この生成タイミングについての詳細は後述する。
この発明によれば、コンテンツを暗号化するための生成鍵を異ならせてコンテンツのブロックを暗号化しているので、生成鍵の漏洩の危険性を軽減でき、たとえ生成鍵の1つが不正に流出したとしてもコンテンツ全体を不正利用することは困難であり、コンテンツ保護に必要かつ十分なセキュリティを確保することができる。
また、この発明のセキュア素子は、生成鍵の復元処理を担当し、コンテンツそのものの復元処理は行わないので、セキュア素子の処理負担を軽減できる。したがって、1つのセキュア素子を用いて複数のコンテンツの同時利用が実質的に可能となる。
さらに、1つのセキュア素子を用いて複数のコンテンツの同時利用を実現できるので、複数のセキュア素子を用いる場合に比べて、製造および開発のコストの低減と、ハードウェアおよびソフトウェアの開発工数の軽減を図ることができる。
また、コンテンツの再生をする場合、その再生に必要な生成鍵の復元状況を管理しながら生成鍵の復元の可否を判断しているので、不正な手段による生成鍵の漏洩の危険性を軽減でき、コンテンツの不正流出を防止できる。
以下、図面を使用して本発明の実施の形態を説明する。なお、以下の実施例の記載によって、この発明が限定されるものではない。
<この発明の情報処理装置の構成>
図1に、この発明の情報処理装置の一実施例の構成ブロック図を示す。
この発明の情報処理装置は、主として、コンテンツ受信部1,セキュア制御部2,コンテンツ記憶装置3,および情報処理部4とから構成される。
コンテンツ受信部1は、画像,音声,文書などの種々の情報を受信する部分であり、たとえばデジタル放送によって送られてくる画像情報を受信するチューナに相当する。
セキュア制御部2は、取りはずしできないように基板等に固着されたLSIチップであり、この中に、CPU,ROM,RAM,I/Oコントローラ,タイマー等を含むマイクロコンピュータが搭載されている。
セキュア制御部2は、機能的に分類すると、主として鍵管理部とコンテンツ暗号部とを有する。
コンテンツ暗号部は、受信したコンテンツを、このセキュア制御部2で生成される鍵(K2)を用いて、暗号化する部分である。暗号化されたコンテンツは、コンテンツ記憶装置3に、後述するような鍵情報とともに格納される。
鍵管理部は、コンテンツを暗号化および復号するための鍵(K2)を生成し、記憶すると共に、情報処理部からの要求に基づいてその鍵(K2)を情報処理部4に与える処理をする部分である。その際、鍵(K2)は暗号化されて情報処理部4に与えられる。
コンテンツ記憶装置3は、コンテンツ,鍵情報およびコンテンツリストを記憶したメモリであり、主としてハードディスク(HDD)などの大容量記憶装置が用いられる。ただし、不揮発性の書き換え可能な記録媒体を用いてもよい。たとえば、フラッシュメモリ,USBメモリ,CD−RW,DVD−RW,DVD−RAMなどを用いてもよい。
ここで、コンテンツリストとは、HDD3に記憶されるコンテンツと鍵情報とを関係付けた情報であり、このリストを見れば、コンテンツがどのような暗号化形式で、HDD内のどこに保存されているかがわかる。
鍵情報とは、鍵管理部で生成された鍵(K2)の他に、その鍵を特定することのできるインデックス情報や、その鍵を適用するコンテンツを特定する範囲情報などを含む。鍵情報の具体例については、図7に示す。
情報処理部4とは、受信したコンテンツに対して特定の処理を実行する部分であり、アプリケーションプログラムに相当する。
たとえば、受信したコンテンツをHDD3に録画するための録画プログラム,HDD3に保存されたコンテンツを再生するための再生プログラム,HDD3に保存されたコンテンツを他の記録媒体(DVD−Rなど)やネットワークを介して接続された他の情報機器に転送するための配信プログラムなどが、情報処理部4に相当する。
これらのアプリケーションプログラムは、前記したような情報取得部,鍵取得部およびコンテンツ復元部に相当する機能モジュールを含む。
この発明の情報処理装置は、たとえば、パソコンやワークステーションのような情報機器であり、この発明の主要な機能は、パソコン等に搭載されたマイクロコンピュータとセキュア制御部と、HDDなどに格納された制御プログラムおよびアプリケーションプログラムにより実現される。
この発明の情報処理装置の主要な機能には、コンテンツの録画機能と、コンテンツの再生(復元)機能とがある。以下、この発明の録画機能と再生機能の概略について説明する。
コンテンツの録画は、たとえば、アプリケーションプログラム4から録画要求がセキュア制御部2に与えられることにより開始する。この後セキュア制御部2では、鍵管理部が暗号化用の鍵(K2)を生成し、鍵(K2)をセキュア制御部2特有の鍵(Km)で暗号化し、コンテンツ暗号部が、受信されたコンテンツを鍵(K2)を用いて暗号化し、HDD3へ格納する。HDD3に格納されたコンテンツは鍵(K2)で暗号化されており、鍵(K2)はセキュア制御部2特有の鍵(Km)で暗号化されている。
したがって、HDD3が盗難され、HDD3の中のコンテンツが読み出されたとしても、セキュア制御部特有の鍵(Km)がわからなければ、コンテンツを復元することはできない。
コンテンツの受信は、チューナ1で連続的に受信されるが、受信されたコンテンツは所定容量ごとあるいは所定時間ごとに区切られ、区切られたブロックごとに、順次暗号化され、HDDへ格納される。
この発明では、暗号化のために用いる鍵(K2)を、1ブロックごと、あるいは数ブロックごとに生成する。たとえば、1つのブロックごとに暗号化の鍵(K2)を異ならせ、ブロックごとに異なる鍵(K2)で暗号化する。そして、暗号化されたブロックのコンテンツと、そのブロックを暗号化した鍵(K2)を特定する鍵情報とを対応づけて、HDDに格納する。
あるいは、たとえば10秒間に受信される複数のブロックコンテンツは、同じ暗号化鍵K2−1で暗号化するが、次の10秒間に受信されるブロックコンテンツについては新たに鍵K2−2を生成し、この新しく生成した鍵K2−2で暗号化する。
コンテンツの再生(復元)は、たとえば、アプリケーションプログラム4から再生(復号)要求がセキュア制御部2に与えられることにより開始する。再生要求には、HDD3から読み出したコンテンツ情報(コンテンツIDなど)が含まれる。
セキュア制御部2では、再生要求に含まれるコンテンツ情報などから、どのコンテンツを再生するかを解釈し、再生すべきコンテンツに対応づけられた鍵情報を、HDD3から読み出す。読み出した鍵情報やあるいはセキュア制御部2に記憶されている情報から、再生するコンテンツに対応づけられた鍵(K2)を復元し、アプリケーションプログラム4に与える。
また、再生要求されたコンテンツそのものは、セキュア制御部を介さずに、HDD3から直接アプリケーションプログラム4に与えられる。
アプリケーションプログラム4では、HDD3から読み出したコンテンツを、セキュア制御部2から与えられた鍵(K2)を用いて復元する。復元されたコンテンツは、CRTやLCDなどの表示装置で再生されたり、他の記録媒体へ移動されたり、ネットワークを介して他の情報機器へ配信される。
以上のように、この発明では、コンテンツの録画時において、セキュア制御部にて複数の鍵(K2)を順次生成し、異なる鍵(K2)を用いてコンテンツを暗号化することを特徴とする。
また、コンテンツ再生時において、コンテンツそのものについては、HDDに保存された状態の暗号化されたコンテンツを、HDD3からアプリケーションプログラム4へ直接出力し、一方、暗号化されたコンテンツを復元するための鍵(K2)は、セキュア制御部2により復元し、セキュア制御部2からアプリケーションプログラム4へ出力する。
このようにセキュア制御部で鍵(K2)の生成,復元,出力を管理することにより、コンテンツ保護,不正利用の防止というセキュリティを十分に確保し、セキュア制御部は、比較的短時間で処理可能な鍵の生成と復元のみを行うので、1つのセキュア制御部のみを用いても複数のコンテンツをほぼ同時に処理することができる。
<セキュア制御部の構成ブロックの説明>
図2に、この発明で用いるセキュア制御部の構成ブロック図を示す。
セキュア制御部2は、上記したように鍵管理部とコンテンツ暗号部23とを備え、さらに、チューナ1とのインタフェースとなる入力部21,アプリケーションプログラム4とのインタフェースとなる出力部28,HDD3とのインタフェースとなる記憶制御部29および復元制御部30とを備える。
ここで、鍵管理部は、鍵生成部22,鍵情報生成部24,鍵情報復元部26,鍵情報復元管理部27,鍵情報記憶部25とから構成される。
この発明では、複数のLSIを備えて複数のコンテンツに対して同時に再生や配信を行うのではなく、1つのLSIのみを備え、複数のコンテンツの再生や配信処理をほぼ同時に行うようにすることを特徴とする。
したがって、1つのLSIのみを用いるので、複数のLSIを用いた場合よりも、部品コストや製造コストを抑制することができ、複数のLSIの同期をとって相互に動作させるためのハードウェアやソフトウェアも必要がなく、開発コストも低減することができる。
入力部21はチューナ1から与えられるコンテンツを、コンテンツ暗号部23へ与える部分である。デジタル放送などの動画コンテンツは、連続して送られてくるので、たとえば所定のデータ量(1Mバイトなど)ごとにブロック化して、コンテンツ暗号部23へ与えられる。1つのブロックが、暗号化処理の一単位となる。ブロック化は、一定時間ごと(たとえば、10秒)に行ってもよい。
また、1つのブロックあるいは所定数のブロックに相当するコンテンツが受信されるごとに、鍵生成部22に対して鍵(K2)の生成が要求される。鍵生成部22は、1つのブロックを暗号化するための鍵(K2)を生成する部分である。鍵(K2)を生成するタイミングは種々のものが考えられるが、後述する。
セキュア制御部2の鍵情報記憶部25に、マスタ鍵Kmを、書き換えできないように予め格納しておく。鍵生成部22で生成された鍵K2は、このマスタ鍵Kmを用いて暗号化され、HDD3に格納される。ただし、鍵K2をセキュア制御部の内部に記憶する場合は、鍵情報に鍵K2そのものは保存されないため、鍵K2を示す情報は暗号化せずにそのままHDD3に格納してもよい。
コンテンツ暗号部23は、鍵生成部22によって生成された鍵K2を用いて、1ブロック分のコンテンツを暗号化する部分である。
ただし、一般的には、チューナ1から与えられるコンテンツ自体もすでに暗号化されている場合がある。この場合は、入力部21で暗号化されたコンテンツを一旦取得した後、その暗号化に用いられている鍵(K1)を用いて暗号化されたコンテンツを復号した後、コンテンツ暗号部23へ与える。この鍵K1は、チューナ1から与えられるか、または予めセキュア制御部に格納しておく。
すなわち、鍵K1で暗号化されていた受信コンテンツを、鍵K1で復号したものが、コンテンツ暗号部23で、鍵K2を用いて暗号化される。鍵K2で暗号化されたコンテンツを、以下、K2(コンテンツ)と表記する。K2(コンテンツ)は、記憶制御部29に与えられ、HDD3へ格納される。
鍵情報生成部24は、生成された鍵K2を用いて鍵情報KJを生成する部分である。
鍵情報KJとは、生成された鍵K2を特定するための情報であり、後述するように種々の形態が考えられる。たとえば、生成された鍵K2をマスタ鍵Kmで暗号化したものの場合、鍵情報記憶部の鍵K2を示すインデックスとその鍵K2を適用するコンテンツの範囲を示す情報からなる場合などがある。
生成された鍵情報KJは、記憶制御部29に与えられ、HDD3へ格納される。
記憶制御部29は、暗号化されたコンテンツブロックと鍵情報KJを、HDD3へ記憶させる部分である。また、コンテンツブロックと鍵情報KJを記憶する際には、両者を関係づける情報が、コンテンツリスト35に記憶される。
コンテンツ記憶装置HDD3は、主として、コンテンツリスト35,鍵情報KJ36,コンテンツ37を記憶するメモリである。ここで、コンテンツ37は、生成された鍵K2で暗号化されたブロックのコンテンツである。
また、HDD3に格納される鍵情報KJ36に鍵K2が含まれる場合は、鍵K2そのものではなく、マスタ鍵Kmもしくはマスタ鍵以外にセキュア制御部に保持している固有の鍵(マスタ鍵から生成することも可能)で暗号化された鍵K2を記憶する。ここで、マスタ鍵Kmで暗号化された鍵K2を、Km(K2)と表記する。
図5に、コンテンツ記憶装置HDD3に記憶される情報の一実施例の説明図を示す。
コンテンツ37は、コンテンツごとに、1つのコンテンツファイル(CF01,CF02……)として記憶される。鍵情報KJ36は、コンテンツファイルにそれぞれ対応するファイル(KJ01,KJ02……)として記憶される。
コンテンツリスト35は、コンテンツ名(ct−A,ct−B……)と、コンテンツファイルの名称および格納場所と、鍵情報ファイルの名称および格納場所とを対応づけた状態で記憶したリストである。
コンテンツを鍵情報に対応付けて、複数のファイルで表現することも可能である。
鍵情報記憶部25は、セキュア制御部2で利用する種々の情報を格納したものであり、固定記憶されたマスタ鍵Kmの他に、生成された鍵K2,出力部28から出力された鍵,鍵生成のための初期値、鍵生成の計算方法などを記憶する部分である。
復元制御部30は、鍵情報復元部26からの要求により、鍵情報KJをHDD3から読み出す部分である。読み出した鍵情報KJは、鍵情報復元部26に与えられる。
鍵情報復元部26は、鍵(K2)を復元する部分である。ここでは、復元制御部30によって読み出された鍵情報KJをもとに鍵(K2)を復元する。鍵情報KJに応じて鍵情報記憶部から情報を取得する。復元された鍵(K2)は、出力部28が、再生要求や配信要求をしたアプリケーションプログラム4に対して、出力する。
鍵情報復元管理部27は、復元された鍵の取得と更新の時刻や、復元の可否の判定フラグなどの情報を管理する部分である。
たとえば、アプリケーションに対して同時に出力できる鍵を一つとすると、ある鍵KEYをアプリケーションプログラムAに出力した場合、その出力した時刻を記憶し、その出力した状態でアプリケーションプログラムAから異なる鍵KEYの出力(復元)要求があった場合、その鍵KEYの出力(復元)は認めないようにし、復元不可であることを、アプリケーションプログラムAに返信する。この場合は、鍵KEYの使用を止めることを通知した後、他の鍵を要求することで鍵の出力(復元)が可能になる。
以上がセキュア制御部2の主要構成モジュールであるが、各モジュールの機能は、LSIに内蔵されたマイクロコンピュータと、LSI内部のROM等やフラッシュメモリ等に格納された制御プログラムにより実現される。LSI内部の鍵情報記憶部25は、不揮発性の書き換え可能なメモリを用いることが好ましい。
このように、セキュア制御部2では主としてコンテンツの暗号化と鍵の生成および復元を行うが、暗号化されていたコンテンツの復号(復元)は、セキュア制御部の内部では行わない。コンテンツの復号をするために、コンテンツ自体をHDD3から読出す処理は、セキュア制御部を介さずに、図示しない別のロジックによって行われ、読み出されたコンテンツは、アプリケーションプログラムに直接与えられる。そして、アプリケーションプログラムが、読み出されたコンテンツの復号を行う。
<この発明のコンテンツの暗号化と鍵管理の説明>
図3に、この発明のコンテンツと鍵の暗号化処理などの概略説明図を示す。
また、図4に、従来から行われているコンテンツと鍵の暗号化処理などの概略説明図を示す。
まず、図4における従来の暗号化処理などについて、説明する。
ここで、「Kn」は鍵nを示し、「Km」は、セキュア制御部特有のマスタ鍵を示す。また、「Kn(D)」は、鍵nによって暗号化されたDを示す。ここでDとは、暗号化する対象を意味し、たとえば、コンテンツや鍵が該当する。
図4の111において、チューナ1で受信されたコンテンツを入力する。ここで、入力されるコンテンツは、鍵K1で暗号化されたコンテンツ(K1(コンテンツ))とする。鍵K1は、予めセキュア制御部2に格納されるか、またはコンテンツと同様に暗号化された形式で入力される。入力されたコンテンツ(K1(コンテンツ))は、鍵K1で復号される(112)。
また、入力されたコンテンツに対して、1つの鍵K20が生成される。その後、鍵K1で復号されたコンテンツは、生成鍵K20を用いて暗号化される(113)。鍵K20で暗号化されたコンテンツ(K20(コンテンツ))は、HDD3に記憶される(115)。
一方、生成鍵K20は、マスタ鍵Kmを用いて暗号化される(114)。暗号化された鍵(Km(K20))は、コンテンツと対応づけられて、HDD3に記憶される(116)。
以上が、コンテンツの録画処理に相当する。
コンテンツの再生処理の場合は、HDD3から、再生すべきコンテンツ(K20(コンテンツ))と鍵(Km(K20))とが読み出される。すなわち、コンテンツと鍵が、どちらもセキュア制御部2に与えられる。
読み出された鍵は、マスタ鍵Kmを用いて、セキュア制御部で復号される。その後、読み出されたコンテンツが、復号された鍵K20を用いて、セキュア制御部で復号される(117)。
次に、セキュア制御部内部で、鍵K3が生成され、この鍵K3を用いて、復号されたコンテンツを暗号化する(118)。この暗号化は、コンテンツをアプリケーションプログラムに与えるときに流出し不正利用されるのを防止するためである。
暗号化されたコンテンツ(K3(コンテンツ))と鍵K3とは、セキュア制御部から、再生要求をしたアプリケーションプログラム4に出力される。アプリケーションプログラム4では、鍵K3を用いて、暗号化されたコンテンツ(K3(コンテンツ))を復号する(119)。これにより、再生可能なコンテンツが生成され、その後表示装置などに表示される。
このように、従来のものでは、再生処理時において、鍵およびコンテンツの両方が、セキュア制御部2を介して、復元されかつアプリケーションプログラム4に与えられる。
一方、図3のこの発明の処理では、セキュア制御部2では、再生処理時には、鍵の復元とアプリケーションプログラム4への引き渡しが行われるが、コンテンツの復元は行われない。
図3において、コンテンツの受信処理については、従来と同様に、暗号化されたコンテンツ(K1(コンテンツ))の入力(101)が行われ、鍵K1を用いてそのコンテンツが復号される(102)。
次に、1つのブロックに相当するコンテンツが入力された場合、鍵K2が生成され、この鍵K2を用いて、復号されたコンテンツが暗号化される(103)。
暗号化されたコンテンツ(K2(コンテンツ))は、HDD3に記憶される(105)。
また、生成された鍵K2は、マスタ鍵Kmで暗号化される(104)。暗号化された鍵(Km(K2))は、鍵情報としてHDD3に記憶される(106)。
また、鍵K2は、その後入力されるコンテンツの所定数のブロックごと、あるいは、所定時間内のブロックごとに新たに生成され、その入力されたブロックごとに新たに生成された鍵K2を用いて暗号化される。
さらに、HDD3には、入力されたブロック数に相当する数の、コンテンツと、そのブロックを暗号化した鍵K2から生成した鍵情報KJとが、対応づけて記憶される。このとき、コンテンツリストも作成される。
コンテンツの再生時においては、HDD3から、再生すべきコンテンツ(K2(コンテンツ))と、これに対応する鍵情報KJとが、直接アプリケーションプログラム4によって読み出される。
また、コンテンツに対応する鍵情報KJをセキュア制御部に渡す。これにより、再生すべきコンテンツと対応づけられて記憶されていた鍵(Km(K2))が、セキュア制御部2に読み出される。読み出された鍵(Km(K2))は、マスタ鍵Kmを用いて復号される(107)。復号された鍵K2は、再生要求をしたアプリケーションプログラム4に与えられる。
再生要求をしたアプリケーションプログラム4は、直接与えられたコンテンツ(K2(コンテンツ))を、セキュア制御部2から与えられた鍵K2を用いて復号する(108)。復号されたコンテンツは、再生可能なコンテンツであり、表示装置などで再生される。
したがって、コンテンツそのものの復号処理は、アプリケーションプログラムで行われ、セキュア制御部2では行われない。再生時において、セキュア制御部2では、比較的短時間で処理できる鍵の復号処理のみが行われるので、セキュア制御部2が1つの再生処理に長時間拘束されてしまうことがない。よって、2つのアプリケーションプログラム4による再生要求処理と配信要求処理が同時間帯にあったとしても、セキュア制御部2では、再生と配信のためのそれぞれの鍵の復元処理が短時間の間に行われるだけであり、1つの処理に長時間専有されることはないので、セキュア制御部が1つでも、その後の再生と配信処理をほぼリアルタイムで並行して行うことができる。
<鍵の生成タイミングと、鍵情報および暗号化コンテンツの説明>
ここでは、ブロックの暗号化に用いる生成鍵を生成するタイミングと、鍵情報生成部24で生成される鍵情報KJと、コンテンツ暗号部23で暗号化されるコンテンツについて説明する。
入力されたコンテンツは、上記したように、ブロックに分けられ、そのブロックごとに鍵K2を用いて暗号化される。このとき、鍵K2は、1つのブロックごとあるいは数ブロックごとに異なるものが生成されるが、生成されるタイミングとしては、次のようなタイミングが考えられる。
(a)予め固定的に定められた暗号化処理の容量サイズに相当する数のブロックが入力されたとき。
この暗号化処理の容量サイズは、セキュア制御部に予め記憶される。
たとえば、予め定められた容量サイズが1メガバイトで、暗号化する1つのブロックのサイズが1メガバイトであれば、その1つのブロックごとに、異なる鍵K2が新たに生成される。
あるいは、予め定められた容量サイズが1メガバイトで、1つのブロックのサイズが200キロバイトであれば、5つのブロックは同じ鍵K2−1で暗号化されるが、次の5つのブロックは、新たに生成された鍵K2−2で暗号化される。
(b)暗号化処理の容量サイズを複数種類用意し、この中のいずれかの容量サイズに相当する複数のブロックが入力されたとき。
すなわち、暗号化処理の容量サイズが1つではなく可変的にいくつか設定される場合に相当する。コンテンツの種類、たとえば動画と静止画などの区別、圧縮率の高低の区別によって、暗号化処理する単位容量が異なる場合には、暗号化処理する容量サイズによって、鍵を生成するタイミングも異ならせる。この場合、暗号化処理の容量サイズは、セキュア制御部に、予め複数個記憶しておいてもよく、また、コンテンツの入力のときに、その都度、外部装置から指示入力してもよい。
たとえば、指示入力された容量サイズに相当する数のブロックが入力されるごとに、新たに鍵K2が生成される。
(c)予め定められたコンテンツの暗号化処理時間
たとえば、固定的に予め定められた時間を10秒とすると、この10秒間に入力されたブロックに対しては同じ鍵K2を用いて暗号化するが、次の10秒間は新たな鍵で暗号化する。すなわち、10秒ごとに、異なる鍵K2を生成するようにする。この処理時間の値は、セキュア制御部に予め固定的に記憶しておくか、あるいは外部から設定入力してもよい。
(d)可変的な複数個の暗号化処理時間
たとえば、コンテンツの種類などに対応させて、予め複数個の暗号化処理時間を記憶しておく。入力されたコンテンツの種類に対応して、どの暗号化処理時間を採用するかを決定し、その決定された処理時間ごとに、鍵K2を生成するようにする。あるいは、コンテンツを入力するときに、暗号化処理時間も入力し、入力された暗号化処理時間ごとに、新たに鍵K2を生成するようにしてもよい。
(e)乱数により可変的に鍵生成のタイミングを決定する。たとえば、コンテンツの入力前に、乱数により、暗号化処理の容量サイズをランダムに決定する。決定された容量サイズに相当する数のブロックが入力されるごとに、新たに鍵K2を生成し、その生成鍵K2によってその容量サイズに達するまでの複数ブロックを暗号化してもよい。すなわち、鍵K2の生成タイミングを不定期としてもよい。
図6に、この発明で用いられるコンテンツと鍵と鍵情報の関係の説明図を示す。
上記したように、入力されたコンテンツは、所定サイズのブロックに分割されて暗号化される。この暗号化される単位である1つのブロックのコンテンツを、BCn(n=1,2,……Z)とする。
図6(a)は、1つのブロックを暗号化するごとに、新たな鍵K2を生成する場合を示している。すなわち、1つのブロックコンテンツBCに対応した鍵K2が生成され、その鍵K2を、K2−1,K2−2,……K2−Zとする。
さらに、生成された鍵K2に対応して、鍵情報生成部24が鍵情報KJを生成する。この鍵情報をKJn(n=1,2,……Z)とする。
図6(a)に示すように、1つのコンテンツCTが、Z個のブロック(BC1,BC2,……BCz)に分割されて暗号化されるとすると、それぞれのブロックに対応した鍵K2と鍵情報KJとが生成される。たとえば、ブロックコンテンツBCiに対して、鍵K2−i,鍵情報KJiが対応する。
一方、図6(b)は、複数個のブロックごとに、新たな鍵K2を生成する場合を示している。
ここで、まず、2つのブロック(BC1,BC2)に対しては、同じ鍵K2−1を用いて暗号化することを示している。次の3つのブロック(BC3,BC4,BC5)に対しては、異なる鍵K2−2が新たに生成され、この鍵K2−2を用いて暗号化することを示している。
したがって、生成された鍵の数(r)は、ブロック数(z)よりも少ない。ただし、鍵情報KJは、鍵Knごとに生成されるので、鍵の数(r)と同じである。
ブロック化されたコンテンツBCおよび鍵情報KJは、HDD3へ与えられる。一実施例として、ブロックコンテンツBCと鍵情報KJとを別々にHDD3へ与える形式の場合は、鍵情報KJの中に、対応するコンテンツブロックを特定する情報(範囲情報)を含む。
たとえば、図6(a)の場合は、鍵情報KJ1の中に、この鍵情報を適用するブロックはBC1である旨の情報が含まれる。また、図6(b)の場合は、鍵情報KJ2の中に、この鍵情報を適用するブロックは、BC3,BC4,BC5である旨の情報が含まれる。
また、図6(c)に示すような形式で、HDD3へ与えてもよい。図6(c)の形式1の場合は、記憶制御部29が、ブロックコンテンツBCと、これに対応する鍵情報KJとを対応づける処理をした後、両者を1つの対情報とした形式で、HDD3へ与えることを示している。
図6(c)の形式2の場合は、ブロックコンテンツBCと、鍵情報KJと、両者の対応関係を示す範囲情報とを別々に分けて、HDD3へ与えることを示している。
鍵情報KJに範囲情報を含める場合は、セキュリティ確保のため、その範囲情報を、マスタ鍵Kmで暗号化した後に含めてもよい。また、図6(c)の形式2の場合も、セキュリティ確保のため、範囲情報の部分を、マスタ鍵Kmで暗号化したものを、HDD3へ与えてもよい。
次に、図7に、この発明の鍵情報の一実施例の説明図を示す。
図7において、鍵情報生成部24によって生成される鍵情報KJの内容の具体例を、いくつか示している。鍵情報KJとしては、この中のいずれかを採用することができる。ただし、この具体例に限られるものではない。
鍵情報KJとして、1つのコンテンツに対して図7のいずれか一つのみを採用してもよいが、複数個の形態で記憶してもよい。複数個の形態で記憶しておけば、いずれかの鍵情報からもとの鍵K2を復元できる。
また、図7には、10種類の鍵情報KJと対応して、セキュア制御部2の中の鍵情報記憶部25に格納される情報を示している。
まず、1番目は、マスタ鍵で暗号化された鍵(Km(K2))を、鍵情報としてHDD3に記憶することを示している。この場合、HDD3が盗まれ、鍵(Km(K2))が読み出されたとしても、マスタ鍵Kmを知らなければ、生成鍵K2そのものを復元することは困難である。
また、鍵K2を復元する場合には、HDD3からこの暗号化された鍵(Km(K2))を読み出して、セキュア制御部に与える。鍵(Km(K2))が与えられたセキュア制御部は、この鍵(Km(K2))に、マスタ鍵Kmを適用して生成鍵K2を復元することができる。
2番目は、マスタ鍵で暗号化された生成鍵(Km(K2))と、そのコンテンツの適用範囲情報とを、鍵情報KJとしてHDD3に記憶する場合を示している。この場合も、セキュア制御部内部に、鍵K2を保存しなくてもよい。
3番目は、n個の生成鍵K2−nそのものは、セキュア制御部の鍵情報記憶部25に記憶しておき、その鍵K2−nを特定するインデックス番号からなる鍵インデックスnを、HDD3に記憶する場合を示している。
たとえば、3番目のブロックBC3に対して鍵K2−3が生成された場合、鍵情報生成部24において、その鍵K2−3を特定するインデックス番号(たとえば、3)を生成し、これを鍵インデックスnとする。そして、生成鍵K2−3そのものは、セキュア制御部の鍵情報記憶部25に記憶し、鍵インデックスn(=3)を、HDD3に記憶する。
これによれば、HDD3の鍵インデックスnが不正に読み出されたとしても、その鍵インデックスからセキュア制御部内部に記憶されている生成鍵K2を特定することはできない。
また、生成鍵K2を復元する場合、鍵インデックスnをHDDから読み出し、セキュア制御部に与える。鍵インデックスnが与えられたセキュア制御部は、この鍵インデックスnから対応する生成鍵K2−nを、鍵情報記憶部25から読み出す。
4番目は、鍵インデックスnに加えて、生成鍵の適用コンテンツを示す情報(コンテンツ範囲情報)を、HDD3に記憶する場合を示している。この場合も、生成鍵K2そのものは、セキュア制御部に記憶される。
5番目は、1つのコンテンツを特定するID(コンテンツID)と、鍵インデックスnとを、HDD3に記憶する場合を示している。1つのコンテンツが、たとえば、n個のブロックに分割されて暗号化された場合、鍵インデックスnにより、何番目のブロックかを示すことができる。そのブロックを暗号化するのに利用した生成鍵K2そのものは、セキュア制御部に記憶される。
6番目は、5番目の鍵情報に対して、コンテンツ範囲情報を加えたものである。
7番目は、鍵初期値を、HDD3に記憶することを示している。ここで、鍵初期値とは、ある規則に従って、鍵を生成するためのベースとなる値のことである。この場合、その後、順に生成される生成鍵K2は、ある規則に従って生成されるものとする。
たとえば、3番目に生成される生成鍵K2−3は、2番目の生成鍵K2−2に予め決められた特定値を加算したものとしてもよい。あるいは、それ以前に生成された生成鍵(K2−1,K2−2)をすべて加算したものとしてもよい。その他に、所定の鍵計算式を予め決めておき、その鍵計算式を用いて生成鍵を順次生成してもよい。
このような規則を予め決めておけば、鍵初期値を記憶しておくだけで、その後に生成された鍵K2をすべて記憶する必要はない。言いかえれば、鍵初期値のみを記憶しておくだけで、その後に生成された鍵K2をすべて再生させることができる。この場合も、生成鍵K2は、セキュア制御部に記憶してもしなくてもどちらでもよい。
8番目は、鍵初期値と、上記したような鍵計算式を含めて、HDD3に記憶する場合を示している。この場合は、鍵計算式を1つに固定するのではなく、複数個の鍵計算式を用いることができる。すなわち、1つの鍵初期値に対して、異なる関係を持つ複数種類の鍵を生成することができる。
9番目は、鍵初期値と鍵計算式を対にした組の番号であるインデックスを、HDD3に記憶する場合を示している。この場合、鍵初期値と鍵計算式とは、セキュア制御部の中に記憶される。
鍵K2を復元する場合は、このインデックスをHDD3から読み出してセキュア制御部に与えればよい。インデックスが与えられたセキュア制御部は、このインデックスから、鍵初期値と鍵計算式を特定し、さらにこれらから、各生成鍵K2を順に生成できる。
10番目は、9番目の情報を組みかえたものであり、HDD3に、鍵初期値とインデックスを記憶し、鍵計算式をセキュア制御部に記憶した場合を示している。この場合は、セキュア制御部に、HDD3から読み出した鍵初期値とインデックスとを与えてやることにより、まず鍵情報記憶部25から鍵計算式を読み出し、鍵初期値と鍵計算式とから生成鍵K2を復元することができる。
以上のように、HDD3に記憶される鍵情報KJは、種々の形態が考えられる。どの形態を採用するかは、予め固定的に決めてもよいが、セキュリティレベルの高低などの基準によって定めてもよい。
たとえば、10段階のセキュリティレベルが設定可能な場合、レベル3のセキュリティレベルが設定された場合は、図7の3番目を採用することにしてもよい。
<コンテンツの暗号化処理の具体例>
図8に、コンテンツの録画時における暗号化処理の一実施例のフローチャートを示す。
ここでは、録画用のアプリケーションプログラムが、セキュア制御部に対して、コンテンツの暗号化を要求し、セキュア制御部が生成した鍵情報KJと暗号化コンテンツとをHDD3に記憶する処理について説明する。
ユーザからの録画指示入力があると録画用アプリケーションが起動される。
録画用アプリケーションプログラムは、まず、ステップS11において、セキュア制御部等のハードウェアを録画可能な状態に設定する。
次に、ステップS12において、録画指示によって特定されるコンテンツの管理情報(コンテンツ名など)を、HDD3のコンテンツリストに追加する。
ステップS13において、セキュア制御部2に対して、録画要求のあったコンテンツの暗号化要求を送る。セキュア制御部2に与えられるこの暗号化要求には、たとえば、鍵の生成方法を含めてもよい。
暗号化要求を受けたセキュア制御部2は、図2に示す各機能ブロックによって、録画要求されたコンテンツの入力と暗号化処理を行い、暗号化に用いる鍵K2の生成と、鍵情報KJの生成を行う。
ステップS14において、セキュア制御部で暗号化されたコンテンツブロックと、生成された鍵情報KJとを、セキュア制御部から取得する。ただし、鍵K2が新たに生成されず同じ鍵を継続して使用する場合は、暗号化されたコンテンツのみを取得し、鍵情報KJは取得されない。言いかえれば、新たな鍵K2が生成された場合にのみ鍵情報KJが取得される。
ステップS15において、取得されたコンテンツブロックと鍵情報KJとを、HDD3へ格納する。
ステップS16において、要求されたコンテンツ全体の録画が終了したか否か、チェックする。まだ終了していない場合は、ステップS14へ戻り、再度コンテンツの暗号化とHDDへの格納処理を繰り返す。
録画をすべて終了した場合は、処理を終了する。なお、鍵情報KJの取得と格納は、図6に示したような形式のいずれかで行われ、図7に示したような情報からなる鍵情報KJがセキュア制御部で生成されて、HDD3に格納される。
図9に、録画時におけるセキュア制御部の暗号化処理のフローチャートを示す。
ステップS21において、コンテンツの暗号化要求を、録画用アプリケーションプログラムから受信したか否かチェックし、受信した場合、その内容を解釈して、ステップS22へ進む。
ステップS22において、鍵K2を新たに生成するタイミングか否かチェックする。たとえば、前記したような5つのタイミングのいずれかに相当するタイミングか否か、チェックする。
新たに鍵K2を生成するタイミングにない場合は、ステップS25へ進む。所定量のサイズに相当するブロックが入力された場合など、新たに鍵K2を生成するタイミングであると判断された場合、ステップS23へ進む。
ステップS23において、鍵生成部S23が、暗号化のための鍵K2を新たに生成する。鍵K2の生成は、暗号アルゴリズムにより異なる可能性があるが、従来と同様に、乱数から生成する手法などを用いればよい。また、鍵初期値や鍵計算式が決められている場合、その値や式を基にして、鍵K2が生成される。
ステップS24において、鍵情報生成部24が、生成鍵K2を用いて、図7に示したような形態の鍵情報KJを生成する。
ステップS25において、コンテンツ暗号部23が、生成鍵K2を用いて、ブロックごとにコンテンツを暗号化する。
ステップS26において、記憶制御部29が、暗号化されたブロックコンテンツBCと、鍵情報KJとを、HDD3へ格納する。
ただし、これらの情報(BC,KJ)は、セキュア制御部が直接HDDに格納するのではなく、前記した図8のフローのように、一旦、これらの情報を録画用アプリケーションプログラムに与え、このアプリケーションプログラムが、HDD3へ書き込むようにしてもよい。
ステップS27において、暗号化要求されたコンテンツをすべて処理したか否かチェックする。暗号化処理が終了していない場合は、ステップS22へ戻り、再度次のブロックコンテンツに対して、ステップS22からS26までの暗号化処理を繰り返す。
以上のように、所定のタイミングでブロックコンテンツを暗号化するための鍵K2を新たに生成しているので、複数の鍵K2のうち1つが漏洩したとしても、その鍵K2で暗号化した部分ブロックのみが復元されるだけであり、コンテンツ全体を復元(再生)することはできない。
すなわち、暗号化に使用する鍵K2を複数個生成することにより、十分なセキュリティを確保することができる。
<コンテンツの復号処理の具体例>
図10に、コンテンツの再生(配信)時における復号処理の一実施例のフローチャートを示す。
ここでは、再生用あるいは配信用のアプリケーションプログラムが、セキュア制御部に対して、コンテンツの復号要求を与え、セキュア制御部から復号のための鍵K2を取得し、要求されたコンテンツのブロックをHDDから直接取得して、コンテンツを再生する処理について説明する。
まず、ステップS31において、セキュア制御部などを、再生可能な状態に設定する。
ステップS32において、再生するコンテンツのファイル名などの情報を、HDDのコンテンツリストから取得する。
ステップS33において、コンテンツのファイル名に対応づけられてHDDに記憶されていたコンテンツBCと、鍵情報KJとを、HDDから直接読み出す。このとき、セキュア制御部は介在しない。
ステップS34において、読み出した鍵情報KJを、セキュア制御部に与える。すなわち、セキュア制御部に対して、鍵情報KJに対応する鍵K2の復元要求をする。鍵情報KJが与えられたセキュア制御部は、鍵情報KJによって特定される鍵K2が復元可能か否かを判断し、可能であれば鍵K2を復元し、アプリケーションプログラムにその鍵K2を出力する。
ステップS35において、セキュア制御部から、復元された鍵K2を取得する。
ステップS36において、取得した鍵K2を用いて、HDDから読み出したコンテンツBCを復号し、再生する。
ステップS37において、コンテンツの復号を終了した後、その鍵K2の使用が終了したことを、セキュア制御部に伝える。鍵の同時使用数により鍵復元の判断を行う場合には、使用終了により、同時使用数を減らす必要がある。これを行わないと同時使用数の限度に達し復元を許可されず、セキュア制御部は鍵K2を出力しない。
ステップS38において、再生すべきコンテンツの再生がすべて終了したか否か、チェックする。再生を終了していない場合は、ステップS33へ戻り、再度残りのコンテンツの復号処理を実行する。要求されたコンテンツの再生をすべて終了した場合は、処理を終了する。
図11に、再生時におけるセキュア制御部の鍵の復元処理の一実施例のフローチャートを示す。
セキュア制御部は、アプリケーションプログラムからの復元要求あるいは更新依頼を受信して、鍵K2の復元の可否を判定した後、可能な場合に鍵K2を復元し、アプリケーションプログラムへ出力する。
ここで、更新依頼とは、アプリケーションプログラムが現在鍵K2を使用中の場合に、再度その鍵K2の継続使用を要求することや、現在使用中であることを定期的にセキュア制御部に対して通知することなどを意味する。たとえば、セキュア制御部は、鍵の使用を許可した後、一定時間(たとえば10秒)以内に、使用を許可したアプリケーションプログラムから更新依頼を受理しなかった場合は、その後の鍵K2の復元をしないようにする。
また、鍵の復元が可能か否かは、鍵情報復元管理部27が行う。
たとえば、セキュア制御部に復元要求があったとき、鍵情報復元部26が、鍵情報復元管理部27に復元可否の問合せを行い、鍵情報復元管理部27が管理している復元状況情報をチェックすることにより復元可否を判断する。
図12に、鍵情報復元管理部が管理保持する復元状況情報の一実施例の説明図を示す。
図12には、2つのコンテンツの復元状況情報を示している。
コンテンツID=25のコンテンツに対しては、2つの鍵(1,3)が現在使用中であり、復元して2つの鍵をアプリケーションプログラムに出力したことを示している。
ここで、取得時間は、その鍵の復元要求を最初に受けた時間を示し、更新時間は、その後、アプリケーションプログラムから更新依頼を受けた時間を示す。
たとえば、鍵1については、12時34分20秒に最初の復元依頼を受理した後、その3秒後に、復元された鍵1を現在使用中であることを示す更新依頼を受理したことを示す。鍵3についても同様である。
この2つの鍵については、どちらもアプリケーションプログラムからの更新依頼を受理しているので、その鍵(1,3)は、まだ使用可能(復元可能)である。
一方、コンテンツID=5432のコンテンツに対しては、00時00分00秒に最初の復元要求を受理し、鍵5がアプリケーションプログラムに出力されたが、その後、そのアプリケーションプログラムから、更新依頼を受理していない状態であることを示している。この場合、一定時間経過しても、更新依頼を受理しない場合には、その後の使用(復元)は不可と判断する。
また、最初の復元要求後の経過時間によっては、更新依頼を受理しても復元を不可とすることも可能である。
このように、鍵情報復元管理部27は、図12に示すような鍵の復元状況情報を作成,確認,更新しながら、鍵の復元可否を判断する。
図11のステップS51において、鍵情報復元部26が、アプリケーションプログラムから復元状況の更新依頼があるか否か、チェックする。
更新依頼がなければ、ステップS52へ進み、鍵の復元可否を、鍵情報復元管理部27へ問合わせる。更新依頼があれば、ステップS56へ進み、その更新依頼を、鍵情報復元管理部27へ通知する。
ステップS52で、問合せを受けた鍵情報復元管理部27は、ステップS53において、復元状況情報を参照して復元の可否を判断する。
ただし、最初の鍵の復元依頼を受けた場合は、ステップS53では、復元の可否は判断されず、ステップS54でも復元可と判断される。
ステップS53で復元可と判断された場合は、ステップS55へ進む。
一方、復元不可と判断された場合は(ステップS54)、その鍵の復元を行わずに処理を終了する。
ステップS55において、復元が許可されたので、鍵情報復元部26は、アプリケーションプログラムから与えられた鍵情報KJを用いて、対応する鍵K2を復元し、さらに鍵K2を復元したことを鍵情報復元管理部27へ通知する。
ステップS57において、鍵情報復元管理部27が、図12の復元状況情報を更新または作成する。たとえば、最初の復元要求の場合は、その鍵についての復元状況情報を作成し、取得時間を記憶する。
ステップS56で更新依頼の通知を受けた場合は、すでに作成されている鍵の復元状況情報の中の更新時間を変更する。
以上のように、復元要求を受けた鍵K2すべてについて無条件にアプリケーションプログラムに出力するのではなく、現在の復元状況をチェックし、復元可否を判断した後に、出力するようにする。これによれば、不正な鍵の復元要求があった場合に、不必要以上に鍵を出力することを防止することができ、コンテンツの不正な復元を防止できる。
図12では、更新依頼を受理する時間間隔の経過で復元の可否を判断する例を示したが、これに限るものではない。
たとえば、1つのコンテンツにおいて、その再生要求があったときに同時に復元要求を受理する鍵K2の上限数を所定数(n)に制限するようにしてもよい。
たとえば、1つのコンテンツが100個のブロックコンテンツからなり、その鍵情報が10個存在する場合、アプリケーションプログラムから同時に受理できる鍵の復元要求は、5つまでとする。
すなわち、5つの鍵K2−1〜K2−5は、同時にアプリケーションプログラムに出力されるが、この5つの鍵K2が出力(使用)されている状態では、6番目の鍵K2−6の復元要求は受理せず、6番目の鍵K2−6は復元しないようにする。
また、1つの鍵の復元要求を受理する時間間隔Tを決定し、その時間間隔T内に複数の鍵の復元要求を受理しても、1つの要求だけは受理するが、残りの要求は受理しないようにしてもよい。
この他にも、復元可否の判断には種々の方法が考えられるが、その判断方法を変更又は追加できるようにし、どの判断方法を使用するかの設定を、アプリケーションプログラムからできるようにしてもよい。
あるいは、コンテンツの種類や暗号化方式などのコンテンツの属性に対応して、どの復元可否の判断方法を使用するかを自動的に設定するようにしてもよい。
図13に、鍵情報復元管理部の一実施例のフローチャートを示す。
ステップS71において、復元状況情報の中の更新時間をチェックし、前回の更新から所定の時間が経過している場合は、その鍵の復元可否を不可に変更する。
ステップS72において、鍵情報復元部26から、何らかのアクセスがあるか否か、チェックする。ここで、アクセスとは、復元可否の問合せ,更新依頼などである。アクセスがなければ、ステップS71へ戻り、復元状況情報のチェックを続ける。
ステップS73において、アクセスが復元可否の問合せの場合、ステップS74へ進む。ステップS75においてアクセスが更新依頼の場合、ステップS76へ進む。その他のアクセスの場合はステップS71へ戻る。
ステップS74において、復元状況情報を参照し、問合せに対する返答を、鍵情報復元部26へ送る。すなわち問合せのあった鍵K2についての復元可否の判断結果を、鍵情報復元部26へ返す。
ただし、1回目の鍵復元要求の際に行われる問合せに対しては、復元状況情報はまだ作成されていないので、復元可という返答を返す。
この後、ステップS71へ戻る。
ステップS76において、更新依頼のあった鍵に対する更新時間を現在の時刻に変更する。あるいは、最初の更新要求の場合は、新たに更新時間を追加する。
また、更新依頼に、鍵の使用終了という意味の情報が含まれている場合は、その鍵の使用を開放するために、その鍵に対する復元状況情報を削除する。これにより、アプリケーションプログラムによるその鍵の使用が終了したことになるので、この後、他のアプリケーションプログラムによって、同じ鍵の復元要求は受理できるようになる。
ステップS77において、復元可否の判断基準として鍵の使用個数の上限が設定されている場合、現在の使用個数をチェックし、この設定値を越える数の鍵が使用されることになっている場合は、その鍵の使用(復元可否)を不可に設定する。
逆に使用個数のチェックの結果、上限値を下回る数の鍵しか使用されていない状況になっている場合は、不可とされていた鍵の使用(復元可否)を、可に設定変更する。
なお、1つのコンテンツについて、以前いくつかの鍵が使用中であったが、現在使用されている鍵が1つもなくなった場合には、そのコンテンツの再生が終了したと考えて、そのコンテンツの復元状況情報をすべて削除してもよい。
また、図12のような復元状況情報の作成は、復元要求や更新依頼のあるごとに行ってもよいが、最初の復元要求があったときに、そのコンテンツに対するすべての鍵に対する情報を先に作成しておいてもよい。
図14に、鍵情報復元時におけるタイムチャートの一実施例を示す。
ここでは、鍵情報の復元要求や更新依頼がアプリケーションから連続的に出され、鍵の復元が許可される場合と、そうでない場合の一つの実施例を示している。
まず、S101において、アプリケーションプログラムから、セキュア制御部に対して、あるコンテンツについての鍵情報および鍵の復元要求があったとする。
S201において、セキュア制御部は、受理した鍵情報から、対応する鍵を復元してよいか判断し、鍵情報復元管理部27で管理している復元状況情報を作成する。ここで、最初の復元要求であったとすると、復元要求されたコンテンツと鍵についての復元状況情報(図12のC1〜C5)が作成される。
そして、最初の復元要求の場合は、受信した鍵情報KJをもとに、鍵K2−1を復元し、鍵K2−1をアプリケーションプログラムへ出力する。鍵K2−1を受理したアプリケーションプログラムは、その鍵K2−1を用いて、対応するブロックコンテンツを復号する。
次に、S102において、次のブロックコンテンツを異なる鍵で復号するために、鍵情報をセキュア制御部へ与える。
S202において、セキュア制御部は、この鍵情報に対応する鍵K2−2の復元が可能か否かチェックし、復元状況情報に復元しようとする鍵K2−2の情報がなければ追加作成する。このとき、復元可否は可とする。
そして、復元可であるとすると、鍵K2−2を復元し、アプリケーションプログラムに出力する。ここで、1つのコンテンツに対して使用中の鍵は2つとなる。
この新たな鍵K2−2を受理したアプリケーションは、対応するブロックコンテンツを復元する。
次に、S103において、この鍵K2−1を継続して使用するために、鍵K2−1の更新依頼を、セキュア制御部へ送る。この更新要求を受理したセキュア制御部は、更新依頼が正当な時間内に受理したものと判断すれば、その鍵K2−1についての更新時間を更新する(S203)。
次に、S104において、アプリケーションプログラムから、新たな鍵K2−3を取得するため、次の鍵情報をセキュア制御部へ送信したとする。セキュア制御部では、この鍵情報に対する鍵K2−3の復元を許可してもよいか判断し、してよい場合は、復元状況情報に、鍵K2−3の情報を新たに追加作成し、復元した鍵K2−3を、アプリケーションプログラムへ送る(S204)。
また、このコンテンツについての同時使用を許可する鍵の数の上限が3であったとすると、復元状況情報の中の「復元可否」を「不可」に設定変更する。
次に、S105において、アプリケーションプログラムから、次の鍵K2−4を取得するために、鍵情報をセキュア制御部へ送ったとする。このとき、S205において、セキュア制御部が復元可否のチェックをすると、復元管理情報の「復元可否」が「不可」となっているので、鍵K2−4の復元は許可されない。このとき、鍵K2−4の復元が不可である旨を、アプリケーションプログラムに返信してもよい。
鍵K2−4の取得に失敗したことを通知されたアプリケーションプログラムは、新たな鍵K2−4を取得できるようにするために、鍵K2−1の使用を終了する旨の更新依頼をセキュア制御部へ送ったとする(S106)。
この鍵K2−1の使用終了を受理したセキュア制御部は、鍵K2−1に対応した復元状況情報の部分を削除し、現在使用中の鍵の数が3から2になったことから、「復元可否」を可に設定変更する(S206)。
この直後に、次の鍵K2−4の取得のための更新要求があれば、鍵K2−4を復元して、アプリケーションプログラムへ出力する。
しかし、図14に示すようにS206の後、所定の設定時間が経過しても、アプリケーションプログラムから更新依頼がなかったとすると、セキュア制御部の鍵情報復元管理部27は、「復元可否」を不可に設定変更する。
次に、この設定時間経過後に、アプリケーションプログラムから次の鍵K2−4の取得要求のための鍵情報を、送ったとする(S107)。このとき、「復元可否」は、不可となっているので、鍵K2−4は復元されず、失敗となる(S207)。
以上が連続した鍵K2の復元要求があった場合のタイムチャートの実施例であるが、このように、鍵の復元の可否を判断しつつ鍵の復元を行うので、再生時におけるコンテンツの不正利用を、より効果的に防止することができ、安全なセキュリティ状態を維持したまま複数のコンテンツの同時使用も可能となる。
また、鍵の使用状況を管理して鍵の復元の可否を判断するので、不正な鍵の取得を防止することができる。
なお、図11および図13に、鍵の復元可否の判断の一実施例を示したが、これに限るものではない。
たとえば、セキュア制御部と、アプリケーションプログラムとの間でのみ利用する共有メモリを設け、この共有メモリに対して互いに特定のデータの書込みと読出しを、定期的に行うことにより、鍵の更新チェックと復元の可否の判断を行ってもよい。
たとえば、セキュア制御部が、共有メモリに更新依頼を意味する特定のデータAを書込んだ後、一定時間内に、アプリケーションプログラムが特定のデータAを確認して共有メモリに特定のデータBを書き込むか否かをチェックする。セキュア制御部が特定のデータBが書込まれたことを確認したことをもって正当なアプリケーションプログラムが鍵の更新を要求したと判断する。
共有メモリに書込まれる特定のデータ(A,B)を、正当なアプリケーションプログラムの設計時に予め決めておくことにより、不正なアプリケーションの介在による鍵K2の不正流出を防止することができる。
次に、前記各実施形態に関し、次の付記を示す。
(付記1)
コンテンツを複数のブロックに分割して入力する入力部と、
1つのブロックまたは複数のブロックを暗号化するための鍵を順次生成する鍵生成部と、
前記生成鍵を用いて前記1つのブロックまたは複数のブロックを暗号化するコンテンツ暗号部と、
前記暗号化に用いた生成鍵を復元するための鍵情報をその生成鍵から生成する鍵情報生成部と、
前記コンテンツ暗号部によって暗号化された各ブロックのコンテンツと、前記鍵情報生成部で生成された鍵情報とを外部記憶装置へ出力する記憶制御部とを備え、
前記鍵生成部が順次生成する鍵は、所定の条件を満たしたときに新たに生成され、1つのブロックまたは複数のブロックごとに異なることを特徴とする鍵管理機能を持つセキュア素子。
(付記2)
前記外部記憶装置に記憶されていた鍵情報を受信する復元制御部と、
受信した鍵情報から前記暗号化に用いた生成鍵を復元する鍵情報復元部と、
前記外部記憶装置に記憶された各ブロックのコンテンツを復号する情報処理機構に、前記復元された生成鍵を出力する出力部とをさらに備えたことを特徴とする付記1のセキュア素子。
(付記3)
前記鍵情報復元部によって復元された生成鍵の復元状況を管理し、すでに復元された生成鍵の復元状況に基づいて、すでに復元された生成鍵の更新の可否および新たに復元すべき生成鍵の復元の可否を判断する鍵情報復元管理部をさらに備え、
復元を許可しないと判断した場合には、前記鍵情報復元部はその許可されなかった生成鍵を復元しないことを特徴とする付記2のセキュア素子。
(付記4)
前記鍵情報には、セキュア素子固有のマスタ鍵によって暗号化された生成鍵を含むことを特徴とする付記1のセキュア素子。
(付記5)
前記鍵情報には、前記生成鍵と、暗号化のためにその生成鍵を適用したコンテンツのブロックを特定する範囲情報とが含まれることを特徴とする付記1のセキュア素子。
(付記6)
前記鍵生成部が生成した生成鍵を記憶する鍵情報記憶部をさらに備え、前記鍵情報には、鍵情報記憶部に記憶された生成鍵を特定する鍵インデックスを含むことを特徴とする付記1のセキュア素子。
(付記7)
前記鍵情報に、前記鍵インデックスによって特定される生成鍵を適用したコンテンツのブロックを特定する範囲情報をさらに含むことを特徴とする付記6のセキュア素子。
(付記8)
前記鍵生成部は、鍵初期値を生成しその鍵初期値から所定の規則に基づいてその後の鍵を生成し、前記鍵情報には、鍵初期値を含むことを特徴とする付記1のセキュア素子。
(付記9)
コンテンツを暗号化するための生成鍵の生成および復元と、コンテンツを前記生成鍵を用いて暗号化する機能を有するセキュア制御部と、
前記暗号化されたコンテンツと、前記コンテンツの暗号化に用いた生成鍵を復元することが可能なデータからなる鍵情報とを記憶したコンテンツ記憶部と、
コンテンツ記憶部に記憶されたコンテンツを再生する情報処理部とを備えた鍵管理機能を持つ情報処理装置であって、
前記セキュア制御部が、コンテンツを複数のブロックに分割して入力する入力部と、
所定の条件を満たしたときに、1つのブロックまたは複数のブロックを暗号化するための生成鍵を順次生成する鍵生成部と、前記生成鍵を用いて前記1つのブロックまたは複数のブロックを暗号化するコンテンツ暗号部と、前記暗号化に用いた生成鍵を復元するための鍵情報を、その生成鍵から生成する鍵情報生成部と、前記コンテンツ暗号部によって暗号化された各ブロックのコンテンツと、前記鍵情報生成部で生成された鍵情報とを、前記コンテンツ記憶部へ出力する記憶制御部と、前記情報処理部から、前記暗号化に用いた生成鍵を復元するための鍵情報を受信する復元制御部と、受信した鍵情報から前記暗号化に用いた生成鍵を復元する鍵情報復元部と、前記復元した生成鍵を前記情報処理部へ出力する出力部とを備え、
前記情報処理部が、前記コンテンツ記憶部から、再生すべきブロックのコンテンツおよび鍵情報を取得する情報取得部と、取得された鍵情報を前記セキュア制御部に与えることにより、その鍵情報に対応する生成鍵をセキュア制御部から取得する鍵取得部と、前記セキュア制御部から取得した生成鍵を用いて、前記コンテンツ記憶部から取得したブロックのコンテンツを順次復元してコンテンツを再生するコンテンツ復元部とを備えたことを特徴とする鍵管理機能を持つ情報処理装置。
(付記10)
付記9に記載の情報処理装置の鍵管理機能を、コンピュータに実現させるためのプログラム。
この発明の情報処理装置の一実施例の構成ブロック図である。 この発明のセキュア制御部(LSI)の一実施例の構成ブロック図である。 この発明のコンテンツと鍵の暗号化等の一実施例の説明図である。 従来のコンテンツと鍵の暗号化等の一実施例の説明図である。 この発明のコンテンツ記憶装置の一実施例の説明図である。 この発明のコンテンツ及び鍵情報の関係の一実施例の説明図である。 この発明の鍵情報の一実施例の説明図である。 この発明のアプリケーションプログラムの暗号化処理のフローチャートである。 この発明のセキュア制御部の暗号化処理のフローチャートである。 この発明のアプリケーションプログラムの復号処理のフローチャートである。 この発明のセキュア制御部の復号処理のフローチャートである。 この発明の鍵情報復元管理部が管理する復元状況情報の一実施例の説明図である。 この発明の鍵情報復元管理部の復元可否の判断処理のフローチャートである。 この発明の鍵情報復元処理のタイムチャートの一実施例である。
符号の説明
1 コンテンツ受信部(チューナ)
2 セキュア制御部(LSI)
3 コンテンツ記憶装置(HDD)
4 情報処理部(アプリケーションプログラム)
21 入力部
22 鍵生成部
23 コンテンツ暗号部
24 鍵情報生成部
25 鍵情報記憶部
26 鍵情報復元部
27 鍵情報復元管理部
28 出力部
29 記憶制御部
30 復元制御部
35 コンテンツリスト
36 鍵情報KJ
37 コンテンツ

Claims (4)

  1. コンテンツを複数のブロックに分割して入力する入力部と、
    1つのブロックまたは複数のブロックを暗号化するための鍵を順次生成する鍵生成部と、
    前記生成鍵を用いて前記1つのブロックまたは複数のブロックを暗号化するコンテンツ暗号部と、
    前記暗号化に用いた生成鍵を復元するための鍵情報をその生成鍵から生成する鍵情報生成部と、
    前記コンテンツ暗号部によって暗号化された各ブロックのコンテンツと、前記鍵情報生成部で生成された鍵情報とを外部記憶装置へ出力する記憶制御部と、
    前記外部記憶装置に記憶されていた鍵情報を受信する復元制御部と、
    前記生成鍵の復元状況を管理し、すでに復元された生成鍵の復元状況に基づいて、すでに復元された生成鍵の更新の可否および新たに復元すべき生成鍵の復元の可否を判断する鍵情報復元管理部と、
    前記鍵情報復元管理部が前記生成鍵の復元を許可すると判断した場合には、前記復元制御部が受信した鍵情報から前記暗号化に用いた生成鍵を復元し、前記鍵情報復元管理部が前記生成鍵の復元を許可しないと判断した場合には、前記復元制御部が受信した鍵情報から前記暗号化に用いた生成鍵の復元を行わない鍵情報復元部と、
    前記外部記憶装置に記憶された各ブロックのコンテンツを復号する情報処理機構に、前記復元された生成鍵を出力する出力部とを備え、
    前記鍵生成部が順次生成する鍵は、所定の条件を満たしたときに新たに生成され、1つのブロックまたは複数のブロックごとに異なることを特徴とする鍵管理機能を持つセキュア素子。
  2. 前記鍵生成部が生成した生成鍵を記憶する鍵情報記憶部をさらに備え、前記鍵情報には、鍵情報記憶部に記憶された生成鍵を特定する鍵インデックスを含むことを特徴とする請求項1セキュア素子。
  3. コンテンツを暗号化するための生成鍵の生成および復元と、コンテンツを前記生成鍵を用いて暗号化する機能を有するセキュア制御部と、
    前記暗号化されたコンテンツと、前記コンテンツの暗号化に用いた生成鍵を復元することが可能なデータからなる鍵情報とを記憶したコンテンツ記憶部と、
    コンテンツ記憶部に記憶されたコンテンツを再生する情報処理部とを備えた鍵管理機能を持つ情報処理装置であって、
    前記セキュア制御部が、コンテンツを複数のブロックに分割して入力する入力部と、
    所定の条件を満たしたときに、1つのブロックまたは複数のブロックを暗号化するための生成鍵を順次生成する鍵生成部と、前記生成鍵を用いて前記1つのブロックまたは複数のブロックを暗号化するコンテンツ暗号部と、前記暗号化に用いた生成鍵を復元するための鍵情報を、その生成鍵から生成する鍵情報生成部と、前記コンテンツ暗号部によって暗号化された各ブロックのコンテンツと、前記鍵情報生成部で生成された鍵情報とを、前記コンテンツ記憶部へ出力する記憶制御部と、前記情報処理部から、前記暗号化に用いた生成鍵を復元するための鍵情報を受信する復元制御部と、前記生成鍵の復元状況を管理し、すでに復元された生成鍵の復元状況に基づいて、すでに復元された生成鍵の更新の可否および新たに復元すべき生成鍵の復元の可否を判断する鍵情報復元管理部と、前記鍵情報復元管理部が前記生成鍵の復元を許可すると判断した場合には、前記復元制御部が受信した鍵情報から前記暗号化に用いた生成鍵を復元し、前記鍵情報復元管理部が前記生成鍵の復元を許可しないと判断した場合には、前記復元制御部が受信した鍵情報から前記暗号化に用いた生成鍵の復元を行わない鍵情報復元部と、前記復元した生成鍵を前記情報処理部へ出力する出力部とを備え、
    前記情報処理部が、前記コンテンツ記憶部から、再生すべきブロックのコンテンツおよび鍵情報を取得する情報取得部と、取得された鍵情報を前記セキュア制御部に与えることにより、その鍵情報に対応する生成鍵をセキュア制御部から取得する鍵取得部と、前記セキュア制御部から取得した生成鍵を用いて、前記コンテンツ記憶部から取得したブロックのコンテンツを順次復元してコンテンツを再生するコンテンツ復元部とを備えたことを特
    徴とする鍵管理機能を持つ情報処理装置。
  4. 前記請求項に記載の情報処理装置の鍵管理機能を、コンピュータに実現させるためのプログラム。
JP2006260797A 2006-09-26 2006-09-26 鍵管理機能を持つセキュア素子および情報処理装置 Expired - Fee Related JP4957148B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006260797A JP4957148B2 (ja) 2006-09-26 2006-09-26 鍵管理機能を持つセキュア素子および情報処理装置
EP07113835A EP1906332A3 (en) 2006-09-26 2007-08-06 Secure device having key management function and information processing apparatus
US11/893,168 US7978857B2 (en) 2006-09-26 2007-08-15 Secure device having key management function and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006260797A JP4957148B2 (ja) 2006-09-26 2006-09-26 鍵管理機能を持つセキュア素子および情報処理装置

Publications (2)

Publication Number Publication Date
JP2008085468A JP2008085468A (ja) 2008-04-10
JP4957148B2 true JP4957148B2 (ja) 2012-06-20

Family

ID=38910903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006260797A Expired - Fee Related JP4957148B2 (ja) 2006-09-26 2006-09-26 鍵管理機能を持つセキュア素子および情報処理装置

Country Status (3)

Country Link
US (1) US7978857B2 (ja)
EP (1) EP1906332A3 (ja)
JP (1) JP4957148B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101397480B1 (ko) * 2007-10-10 2014-05-21 삼성전자주식회사 전자장치 및 그의 암호화방법
US20100229069A1 (en) * 2008-07-01 2010-09-09 Takahiro Yamaguchi Drive device, content reproduction device, recording device, data readout method, program, recording medium, and integrated circuit
US9237310B2 (en) 2008-11-26 2016-01-12 Thomson Licensing Method and system digital for processing digital content according to a workflow
EP2192514A1 (en) * 2008-11-26 2010-06-02 Thomson Licensing Method and system for processing digital content according to a workflow
WO2011148542A1 (ja) * 2010-05-28 2011-12-01 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理システム
KR101236991B1 (ko) * 2011-10-24 2013-02-25 한국전자통신연구원 하드디스크 암호화를 위한 장치 및 방법
US9276745B2 (en) 2011-12-15 2016-03-01 Intel Corporation Preserving image privacy when manipulated by cloud services
EP2953290A1 (en) * 2014-06-06 2015-12-09 Gemalto SA Management of high number of unique keys by a secure element
CN106919856B (zh) * 2015-12-25 2020-01-07 展讯通信(上海)有限公司 安全移动终端
US10169563B2 (en) * 2017-01-27 2019-01-01 International Business Machines Corporation Encryption authorization dongle having volatile memory
JP6731887B2 (ja) * 2017-06-27 2020-07-29 Kddi株式会社 保守システム及び保守方法
JP6696942B2 (ja) * 2017-08-14 2020-05-20 Kddi株式会社 車両保安システム及び車両保安方法
CN117459233A (zh) * 2023-12-21 2024-01-26 法琛堂(昆明)医疗科技有限公司 医疗信息多层加密方法、装置、电子设备及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0768774A3 (en) * 1995-10-16 1999-08-04 Sony Corporation Method and apparatus for data encryption using a key generation hierarchy
US5974144A (en) * 1998-02-25 1999-10-26 Cipheractive Ltd. System for encryption of partitioned data blocks utilizing public key methods and random numbers
WO2001030019A1 (fr) * 1999-10-18 2001-04-26 Sony Corporation Processeur d'information et procede de traitement d'information, support enregistre
DE60132962T2 (de) * 2000-01-21 2009-02-26 Sony Corp. Datenverarbeitungsvorrichtung und datenverarbeitungsverfahren
JP2001358707A (ja) * 2000-06-15 2001-12-26 Sony Corp 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
CN100401667C (zh) * 2000-06-21 2008-07-09 索尼公司 信息记录/再生装置及方法
US6787611B2 (en) * 2000-06-27 2004-09-07 Chemfirst Electronic Materials L.P. Purification means
US20020123968A1 (en) * 2000-06-29 2002-09-05 Mutsuyuki Okayama Copyright protective device and method
JP2002204228A (ja) * 2000-12-28 2002-07-19 Toshinori Hayashi コンテンツ配信装置、コンテンツ配信方法、コンテンツダウンロードプログラム、コンテンツダウンロード装置
JP3893256B2 (ja) * 2001-05-30 2007-03-14 日本電信電話株式会社 ネットワーク動画像配信方法とそのシステム、及びネットワーク動画像配信プログラムとこのプログラムを記録した記録媒体。
JP4408601B2 (ja) * 2001-12-27 2010-02-03 富士通株式会社 情報再生装置およびセキュアモジュール
GB2386210A (en) 2002-03-07 2003-09-10 Hewlett Packard Co Method of controlling content consumption
JP4576100B2 (ja) 2002-07-30 2010-11-04 富士通株式会社 情報再生装置、セキュアモジュールおよび情報再生方法
JP3881942B2 (ja) * 2002-09-04 2007-02-14 松下電器産業株式会社 暗号化部を有する半導体装置
JP2004342246A (ja) * 2003-05-16 2004-12-02 Sony Corp 情報処理装置、情報記録媒体、コンテンツ管理システム、および方法、並びにコンピュータ・プログラム
JP4898082B2 (ja) 2003-05-19 2012-03-14 富士通株式会社 ソフトウエア認証方法、ソフトウエア認証プログラム
JP4568489B2 (ja) 2003-09-11 2010-10-27 富士通株式会社 プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置
JP4114605B2 (ja) 2003-12-24 2008-07-09 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP4936652B2 (ja) * 2004-08-26 2012-05-23 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US7991155B2 (en) * 2005-01-31 2011-08-02 Panasonic Corporation Backup management device, backup management method, computer program, recording medium, integrated circuit, and backup system
JP4715233B2 (ja) * 2005-02-25 2011-07-06 ソニー株式会社 情報処理装置、および情報記録媒体製造方法、並びにコンピュータ・プログラム
US7650312B2 (en) * 2005-06-06 2010-01-19 Yume Networks, Inc. Method and system to enable continuous monitoring of integrity and validity of a digital content
JP4613739B2 (ja) * 2005-08-01 2011-01-19 ソニー株式会社 情報処理装置、情報処理方法、および情報記録媒体、並びにコンピュータ・プログラム
US8046837B2 (en) * 2005-08-26 2011-10-25 Sony Corporation Information processing device, information recording medium, information processing method, and computer program

Also Published As

Publication number Publication date
EP1906332A2 (en) 2008-04-02
US20080075290A1 (en) 2008-03-27
US7978857B2 (en) 2011-07-12
JP2008085468A (ja) 2008-04-10
EP1906332A3 (en) 2009-07-08

Similar Documents

Publication Publication Date Title
JP4957148B2 (ja) 鍵管理機能を持つセキュア素子および情報処理装置
US8700917B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, and information recording medium
KR100667767B1 (ko) 홈 네트워크 환경에서 방송 컨텐츠의 백업 기능을 갖춘멀티미디어 장치 및 그 백업 방법
MXPA02001167A (es) Medios de grabacion de almacenaje con un area de datos protegida.
JP4888057B2 (ja) 情報処理装置
US20060136342A1 (en) Content protection method, and information recording and reproduction apparatus using same
EP1643502A2 (en) Content management method and recording medium
CN1581010A (zh) 对数字内容的访问控制
JP4585460B2 (ja) 同一コンテンツから派生した形式の異なるコンテンツを複数個所で同時に利用することを防ぐ記憶装置、システム及び方法
JP2012008756A (ja) 情報処理装置、および情報処理方法、並びにプログラム
US7874004B2 (en) Method of copying and reproducing data from storage medium
JP2008065945A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP5598115B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP2010044839A (ja) 情報処理装置、およびデータ処理方法、並びにプログラム
US7823212B2 (en) Securely aggregating content on a storage device
JP5552917B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP2006185016A (ja) コンテンツ移動制御装置及び方法
JP4749466B2 (ja) 情報配信装置、情報記録媒体、および情報再生装置
JP5221915B2 (ja) コンテンツ管理方法、そのプログラム、および記録媒体
US20120002817A1 (en) Key management method and key management device
JP2003242043A (ja) 再生装置およびデータ管理システムにおけるコンテンツ管理方法
JP2010220019A5 (ja)
JP5032568B2 (ja) 記録装置、記録方法、集積回路、及び記録プログラム
JP5643616B2 (ja) コンテンツ記憶装置およびプログラム
JP4712369B2 (ja) コンテンツ配信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090609

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111107

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120305

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees