JP2007304822A - コンテンツ管理方法及び装置 - Google Patents

コンテンツ管理方法及び装置 Download PDF

Info

Publication number
JP2007304822A
JP2007304822A JP2006132025A JP2006132025A JP2007304822A JP 2007304822 A JP2007304822 A JP 2007304822A JP 2006132025 A JP2006132025 A JP 2006132025A JP 2006132025 A JP2006132025 A JP 2006132025A JP 2007304822 A JP2007304822 A JP 2007304822A
Authority
JP
Japan
Prior art keywords
content
key
data
unit
content key
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
Application number
JP2006132025A
Other languages
English (en)
Inventor
Yoshihiro Hori
吉宏 堀
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2006132025A priority Critical patent/JP2007304822A/ja
Priority to US12/300,238 priority patent/US20090210724A1/en
Priority to PCT/JP2007/000297 priority patent/WO2007129434A1/ja
Publication of JP2007304822A publication Critical patent/JP2007304822A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • 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
    • 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
    • H04L2209/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Technology Law (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】コンテンツの著作権を保護しつつ、ユーザの利便性を向上させる技術を提供する。
【解決手段】ユーザが操作部401を介してストレージデバイス200に格納された地図データの利用開始又は複製を要求すると、制御部402は、まず、暗号エンジン103により、ストレージデバイス200からコンテンツ鍵を読み出させる。つづいて、ライセンス生成部407により、読み出されたコンテンツ鍵を、機器ID保持部404に保持されている機器IDで暗号化させる。生成されたコンテンツ鍵を含むライセンスデータは、暗号エンジン103を介してストレージデバイス200に転送され、ストレージデバイス200に記録されていたライセンスデータに上書きされて置き換えられる。
【選択図】図15

Description

本発明は、コンテンツデータの管理技術に関し、とくに、暗号化されたコンテンツデータを復号するためのコンテンツ鍵の複製を管理するコンテンツ管理装置及び方法に関する。
コンテンツデータを保護する著作権保護方式として、コンテンツデータを暗号化し、その復号鍵(以下、「コンテンツ鍵」と称す)を含むコンテンツ利用情報(以下、「ライセンスデータ」と称す)の秘匿性を高めて管理する方式がよく知られている(例えば、特許文献1参照)。特許文献1に開示されたデータ配信システムでは、ライセンスデータを扱う装置として、配信サーバ、ストレージデバイスとしてのメモリカード、利用装置としての携帯電話機のコンテンツ再生デバイスの3つの装置が挙げられている。そして、配信サーバとストレージデバイス、および、ストレージデバイスと利用装置の間で暗号化通信路を構築し、その暗号化通信路を介してライセンスデータの送受信を行う。配信サーバ、ストレージデバイス、利用装置には、暗号化されたライセンスデータを扱うためのTRM(Tamper Resistant Module)が備えられている。
暗号化通信路の構築では、まず、ライセンスデータを提供する装置(以下、「ライセンス提供装置」と称す)が、ライセンスデータを享受する装置(以下、「ライセンス享受装置」と称す)に、公開鍵を含んだ証明書を送信する。そして、ライセンス提供装置が、この証明書を検証し、検証の結果、ライセンス享受装置から送信された証明書が正規の証明書であり、かつ、証明書破棄リストによって無効とされていない場合に、この証明書に含まれる公開鍵を利用して、装置間で鍵交換を行う。そして、ライセンス提供装置からライセンス享受装置に送られた鍵で暗号化されたライセンスデータが、ライセンス提供装置からライセンス享受装置に送信される。TRMは、物理的に秘匿性が保護された回路モジュールであって、暗号化通信路を介してのみ、ライセンスデータをやり取りすることができるよう構成されている。
以上のように、この著作権保護方式においては、コンテンツデータの暗号化と、ライセンスデータの秘匿によって、コンテンツに係る著作権保護の徹底が図られている。さらに、再生回数制御やコピー回数制御などの利用制限の導入と移動制御によって、様々な配信サービスへの展開や、デジタル放送の録画を可能としている。
特開2002−366442号公報
近年、自動車等に搭載されて地図を表示したり目的地への経路を案内したりするカーナビゲーション装置が広く普及している。カーナビゲーション装置が普及し始めた当初は、地図データを格納する記憶媒体としてCD−ROMが利用されていたが、より詳細な地図を表示するために、より容量の大きいハードディスク装置に地図データを格納したカーナビゲーション装置が普及し始めている。このような状況下、本発明者は、上述した著作権保護方式により著作権の保護を徹底しつつ、ユーザによるバックアップのための複製を可能とし、ユーザの便宜を図る技術を想到するに至った。
本発明は、こうした状況に鑑みてなされたものであり、その目的は、コンテンツの著作権を保護しつつ、ユーザの利便性を向上させることができる技術を提供することにある。
本発明のある態様は、コンテンツ管理方法に関する。このコンテンツ管理方法は、コンテンツ鍵により暗号化されたコンテンツデータと、前記コンテンツ鍵とを格納した可搬型の記憶装置から、前記暗号化されたコンテンツデータを利用するために、又は、前記コンテンツ鍵を複製するために前記コンテンツ鍵を読み出すときに、前記コンテンツデータの利用又は前記コンテンツ鍵の複製の要求を受け付けるステップと、前記記憶装置から前記コンテンツ鍵を読み出すステップと、読み出した前記コンテンツ鍵が、前記コンテンツ鍵を用いて前記暗号化されたコンテンツデータを復号可能な利用装置に固有で、かつ、外部に漏洩しないように秘匿された情報を用いて暗号化されているか否かを判定するステップと、前記コンテンツ鍵が暗号化されていない場合、前記利用装置に固有で、かつ、外部に漏洩しないように秘匿された情報を用いて、前記コンテンツ鍵を暗号化するステップと、暗号化された前記コンテンツ鍵を前記記憶装置に送り、前記コンテンツ鍵に換えて記録するステップと、を含むことを特徴とする。
コンテンツデータの利用開始時、又は、コンテンツ鍵の複製時に、コンテンツ鍵を装置に固有で秘匿された情報により暗号化することで、コンテンツ鍵がその装置に紐付けられ、以降、その装置以外の装置ではコンテンツデータを復号することができなくなる。これにより、その装置でのみ利用可能な形態でバックアップのための複製を許容してユーザの便宜を図りつつ、他の装置での利用を禁止し、コンテンツの著作権を適切に保護することができる。
コンテンツ管理方法は、前記コンテンツ鍵の複製の要求を受け付けたとき、前記暗号化された前記コンテンツ鍵を、複製先の記憶装置に記録するステップを更に含んでもよい。
コンテンツ管理方法は、外部に漏洩しないように秘匿されたメモリに、読み出した前記コンテンツ鍵を保持するステップを更に含んでもよい。メモリに保持されたコンテンツ鍵は、コンテンツ鍵の複製が終了した後に消去されてもよいし、それ以降も継続的に保持されて、コンテンツデータの復号のために利用されてもよい。
前記装置は、同種の装置群を識別するために付与されたモデルIDを保持してもよく、前記コンテンツ鍵は、前記モデルIDにより暗号化されてもよく、コンテンツ管理方法は、前記コンテンツ鍵を暗号化するステップの前に、前記モデルIDを用いて暗号化されたコンテンツ鍵を復号するステップを更に含んでもよい。これにより、予めモデルIDが付与された特定の装置群でしかコンテンツ鍵を復号することができないので、さらにコンテンツ鍵のセキュリティ性を向上させ、コンテンツデータを適切に保護することができる。
前記装置に固有で、かつ、外部に漏洩しないように秘匿された情報は、前記装置のIDであってもよい。前記コンテンツ鍵は、前記記憶装置と前記装置との間で、暗号化されて入出力されてもよい。
コンテンツ管理方法は、前記コンテンツデータの利用の要求を受け付けたときに、前記記憶装置から前記コンテンツ鍵を読み出すステップと、読み出したコンテンツ鍵が、前記利用装置に固有で、かつ、外部に漏洩しないように秘匿された情報で暗号化されているか否かを判定するステップと、前記コンテンツ鍵が暗号化されていた場合、自装置に固有で、かつ、外部に漏洩しないように秘匿された情報を用いて、前記コンテンツ鍵を復号するステップと、前記記憶装置から前記暗号化されたコンテンツデータを読み出すステップと、復号した前記コンテンツ鍵を用いて、読み出した前記暗号化されたコンテンツデータを復号するステップと、を更に含んでもよい。
前記コンテンツデータは、地図データであってもよく、前記装置は、カーナビゲーション装置であってもよい。
本発明の別の態様は、コンテンツ管理装置に関する。このコンテンツ管理装置は、暗号化されたコンテンツデータを復号するためのコンテンツ鍵を、可搬型の記憶装置との間で入出力する入出力部と、自装置に固有の情報を外部に漏洩しないように保持する固有情報保持部と、前記コンテンツ鍵を、前記固有の情報で暗号化する生成部と、前記コンテンツ鍵を用いた前記コンテンツデータの利用、又は、前記コンテンツ鍵の複製の要求を受け付ける操作部と、前記コンテンツデータの利用又は前記コンテンツ鍵の複製の要求を受け付けたときに、前記記憶装置に格納された前記コンテンツ鍵を前記入出力部により取得し、取得したコンテンツ鍵を前記生成部により前記自装置に固有の情報で暗号化し、暗号化された前記コンテンツ鍵を前記入出力部により前記記憶装置に送り、元のコンテンツ鍵に換えて記録させる制御部と、を備えることを特徴とする。
前記制御部は、前記コンテンツデータの複製の要求を受け付けたときに、前記暗号化されたコンテンツ鍵を前記入出力部により複製先の記憶装置に送り、記録させてもよい。
コンテンツ管理装置は、前記コンテンツ鍵を格納するための、外部に漏洩しないように秘匿されたライセンスメモリを更に備えてもよく、前記制御部は、前記コンテンツデータの利用又は前記コンテンツ鍵の複製の要求を受け付けたときに、前記記憶装置に格納された前記コンテンツ鍵を前記ライセンスメモリにムーブし、前記ライセンスメモリに格納された前記コンテンツ鍵を前記生成部により前記固有の情報で暗号化し、暗号化された前記コンテンツ鍵を前記入出力部により前記記憶装置に送って前記記憶装置に複製してもよい。
コンテンツ管理装置は、同種の装置群を識別するために付与されたモデルIDを保持するモデルID保持部と、前記記憶媒体から取得した前記コンテンツ鍵が前記モデルIDで暗号化されていたときに、前記モデルID保持部に保持された前記モデルIDで復号して前記コンテンツ鍵を取得するライセンス判読部と、を更に備えてもよい。
前記固有の情報は、当該コンテンツ管理装置の機器IDであってもよい。前記入出力部は、前記記憶装置との間で前記コンテンツ鍵を入出力する際に、前記コンテンツ鍵を暗号化して入出力してもよい。
コンテンツ管理装置は、当該コンテンツ管理装置に固有の情報で暗号化されたコンテンツ鍵を復号するライセンス判読部と、前記暗号化されたコンテンツデータを前記コンテンツ鍵で復号するコンテンツ復号部と、を更に備えてもよく、前記制御部は、前記コンテンツデータの復号の要求を受け付けたときに、前記記憶装置に格納された前記コンテンツ鍵を前記入出力部により取得し、取得したコンテンツ鍵が暗号化されていた場合、前記ライセンス判読部により前記コンテンツ鍵を復号して前記コンテンツ復号部に供給し、前記記憶装置から取得した暗号化されたコンテンツデータを前記コンテンツ復号部により復号してもよい。
前記コンテンツデータは地図データであり、当該コンテンツ管理装置はカーナビゲーション装置であってもよい。
本発明によれば、コンテンツの著作権を保護しつつ、ユーザの利便性を向上させることができる。
本発明の実施の形態について、図を参照しながら以下に説明する。まず、前提技術として、コンテンツを暗号化するコンテンツ鍵を、再生装置の機器IDなどにより暗号化又はスクランブルし、正当な再生装置でないとコンテンツを復号して再生することができないようにすることで、コンテンツを保護する技術について説明する。つづいて、本発明の実施の形態として、バックアップを目的としてコンテンツデータを複製する際に、正当な装置でないとコンテンツを復号することができないようにする技術について説明する。
前提技術では、音楽などのコンテンツデータを複製する際に、ユーザが所有する他の再生装置でも再生可能とするために、コンテンツ鍵を再生装置の機器ID等に紐付けするが、実施の形態では、ストレージデバイスの故障などによりコンテンツデータを利用できなくなったときのために、バックアップとして複製することを目的としているので、基本的には1つの装置のみでコンテンツを利用可能とし、他の装置では利用できないようにすることを想定している。
(前提技術)
図1は、前提技術に係るデータ管理システム10の全体構成を示す。データ管理システム10は、CDやDVDなどの記憶媒体20に格納された音楽や映像などのコンテンツデータをストレージデバイス200に記録し、ストレージデバイス200に記録されたコンテンツデータを再生する記録再生装置100と、ストレージデバイス200に記録されたコンテンツデータを他の装置、例えば、カーオーディオ300a、再生専用装置300b、記録再生装置300cなどで再生することを可能とするために、コンテンツデータの複製を格納する脱着型のストレージデバイス250を含む。
記録再生装置100は、記憶媒体20に格納されたコンテンツデータを取り出して、ストレージデバイス200に格納するときに、コンテンツデータを暗号化するためのコンテンツ鍵を、記録再生装置100に紐付けした形式で生成し、コンテンツデータをコンテンツ鍵で暗号化して記録する。このとき、コンテンツデータの著作権を保護するために、コンテンツデータに付加されている利用情報、例えば複製の可否や回数などの制限、再生の回数などの制限などを示す情報を取得する。そして、取得した利用情報の形式を変換する。この利用情報と、先に生成したコンテンツ鍵とをパッケージ化したデータ(以下、「一次利用ライセンスデータ」と呼ぶ)を暗号化してストレージデバイス200に記録する。記録再生装置100に紐付けするとは、記録再生装置100の機器ID、記録再生装置100を構成する半導体部品などに埋め込まれているデバイスID、記録再生装置100にインストールされているOSなどのソフトウェアのプログラムID、暗号処理にて使用する埋め込み型の秘密鍵などの、記録再生装置100や記録再生装置100の機能単位を特定できる識別データを用いないと、一次利用ライセンスデータからコンテンツ鍵を取り出すことができず、暗号化コンテンツデータを復号できないということを意味する。なお、ここではコンテンツ鍵を記録再生装置100に紐付けしたものとして説明をするが、記憶媒体20の購入者など正当な権限を有するユーザに対して紐付けしてもよい。本前提技術では、コンテンツ鍵を機器IDに紐付けする場合を例に取って説明する。
記録再生装置100は、ストレージデバイス200に記録されたコンテンツデータを再生するときには、ストレージデバイス200から暗号化された一次利用ライセンスデータを読み出して、一次利用ライセンスデータから、機器IDを用いてコンテンツ鍵を取得する。そして、取得したコンテンツ鍵で暗号化コンテンツデータを復号して再生する。これにより、コンテンツデータの不正な複製を抑止することができ、コンテンツデータの著作権を適切に保護することができる。
近年、携帯用の再生装置が広く普及しており、例えば、音楽CDに記録されたコンテンツデータをパーソナルコンピュータなどの記録再生装置100に蓄積し、所望の曲を携帯用再生装置に複製して持ち歩くという利用形態が普及している。本前提技術では、このような利用形態を実現するために、記録再生装置100は、ストレージデバイス200に格納されている暗号化コンテンツデータをストレージデバイス250へ複製する。このとき、記録再生装置100は、ストレージデバイス200に格納されている一次利用ライセンスデータから、再生専用の二次利用ライセンスデータを生成し、ストレージデバイス250に記録する。この二次利用ライセンスデータは、記録再生装置100に紐付されない形式のコンテンツ鍵と、再生以外の使用を禁止した利許諾用情報を含み、二次利用ライセンスデータの複製も禁止される。これにより、コンテンツデータの著作権を適切に保護しつつ、携帯用再生装置などによるコンテンツデータの私的利用を可能とし、ユーザの利便性を向上させることができる。
本前提技術のストレージデバイス250は、データを保持する記憶媒体だけでなく、記録再生装置100などのホスト装置と記憶媒体との間でのデータの入出力を制御するコントローラなどの構成を備えるドライブ一体型の可搬型ストレージデバイスである。本前提技術では、ストレージデバイス250として、可搬型ハードディスクドライブを例にとって説明する。なお、ストレージデバイス200は、特に形態は問わないが、説明を簡単にするためストレージデバイス250と同じ機能をもつドライブ一体型の可搬型ストレージデバイスとして説明する。しかしながら、記録再生装置100に内蔵されたハードディスクなどにより実現されてもよい。また、ストレージデバイス250の記録媒体は、半導体メモリ、CD−ROM、DVDなどにより実現されてもよい。
従来のハードディスクドライブは、一つのホスト装置に固定的に接続されて使用されるのが一般的であったが、本前提技術のストレージデバイス200及び250は、記録再生装置100などのホスト装置に対して、着脱が自在になされるよう構成されている。すなわち、本前提技術のストレージデバイス200及び250は、CDやDVDなどと同様にホスト装置から取り外して持ち運ぶことができ、記録再生装置100のほか、カーオーディオ300a、再生専用装置300b、記録再生装置300c、又はこれらの装置と通信ケーブルや通信網を介して接続された端末装置などの複数のホスト装置間で共用することが可能な記憶装置である。
このように、本前提技術のストレージデバイス200及び250は、複数のホスト装置に接続されることを前提にしており、たとえば、所有者以外の第三者のホスト装置に接続され、記録されたデータが読み出される可能性もある。このストレージデバイス200及び250に、音楽や映像などの著作権により保護されるべきコンテンツ、企業や個人の機密情報などの秘匿すべきデータを記録することを想定したとき、それらの秘匿データが外部に漏洩することを防ぐためには、ストレージデバイス200及び250自身にデータを適切に保護するための構成を設け、十分な耐タンパ機能を持たせることが好ましい。
このような観点から、本前提技術のストレージデバイス200及び250は、ホスト装置との間で秘匿データを入出力するときに、その秘匿データを暗号化してやり取りするための構成を備える。また、秘匿データを格納するために、通常の記憶領域とは異なる機密データ記憶領域を設け、その機密データ記憶領域はストレージデバイス200及び250内に設けられた暗号エンジンを介さないとアクセスできないように構成する。この暗号エンジンは、正当な権限を有すると検証されたホスト装置のみと秘匿データの入出力を行う。以下、このようなデータ保護機能を「セキュア機能」ともいう。上記の構成および機能により、ストレージデバイス200及び250に記録された秘匿データを適切に保護することができる。
ストレージデバイス200及び250のリムーバブルメディアとしての特徴を最大限に生かすため、通常のデータについては、セキュア機能に非対応のホスト装置でも入出力可能とするのが好ましい。そのため、本前提技術のストレージデバイス200及び250は、従来のハードディスクとの互換性を保つべく、ANSI(American National Standards Institute)の標準規格であるATA(AT Attachment)に対応しており、上述のセキュア機能は、ATAの拡張命令として実現される。
記憶媒体20に記録されたコンテンツデータをストレージデバイス200又は250に記録する際に、コンテンツデータ自身を秘匿データとして扱ってもよいが、本前提技術では、コンテンツデータを暗号化し、暗号化されたコンテンツデータ自身は、ストレージデバイス200又は250に通常のデータとして記録する。そして、暗号化されたコンテンツを復号するためのコンテンツ鍵と、コンテンツの再生制御や、ライセンスの利用、移動、複製に関する制御に関する情報(以下、「利用情報」と称す)を含むデータ(以下、「ライセンスデータ」と称す)を、秘匿データとして上述のセキュア機能を用いて入出力を行う。これにより、十分な耐タンパ性を維持しつつ、データの入出力を簡略化し、処理の高速化および消費電力の低減を図ることができる。
ここで、ライセンスデータは、コンテンツ鍵や利用情報の他に、ライセンスデータを特定するための識別情報LIDを含むものとする。また、利用情報として、ライセンスデータの複製回数の上限を示す制御情報CCを含むものとする。ここでは、制御情報CCは、1バイトの符号なし整数であり、その値がライセンスデータの複製回数の上限値を示すものとし、ライセンスデータを複製する毎に1減算されるものとする。また、CC=255は、例外として、複製回数の上限設定がないことを示し、ライセンスデータの複製によって、値を変化させないものとする。なお、ここで示した制御情報CCの設定方法および運用方法は、本前提技術における一例であって、特に限定するものではない。
なお、以下においては、記録再生装置100などのホスト装置がストレージデバイス200又は250に対して発行する命令のうち、セキュア機能のための拡張命令を「セキュアコマンド」とも呼び、その他の命令を「通常コマンド」とも呼ぶ。
図2は、前提技術に係る記録再生装置100の内部構成を示す。この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIなどで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
記録再生装置100は、主に、コントローラ101、ストレージインタフェース102a及び102b、暗号エンジン103、コンテンツ暗号部104、コンテンツ復号部111、それらを電気的に接続するデータバス110、利用情報検出部106、一次利用ライセンス生成部107、ライセンス判読部108、二次利用ライセンス生成部109、利用情報付加部112、及び再生部113を備える。ストレージデバイス200は、記録再生装置100に内蔵されていてもよいし、上述したように、記録再生装置100に着脱可能に設けられてもよい。
利用情報検出部106は、記憶媒体20に格納されているデータの中から利用情報を検出する。利用情報は、記憶媒体20の所定領域に格納されていてもよいし、コンテンツデータの所定領域に格納されていてもよいし、コンテンツデータにウォーターマークなどの技術を用いて埋め込まれていてもよい。検出された利用情報は、一次利用ライセンス生成部107へ伝達される。
一次利用ライセンス生成部107は、コンテンツデータを暗号化するためのコンテンツ鍵を生成する。また、利用情報検出部106が検出した利用情報を継承した利用情報を生成する。一次利用ライセンス生成部107は、生成したコンテンツ鍵と利用情報から、記録再生装置100において利用可能な一次利用ライセンスデータを生成する。生成されたコンテンツ鍵はコンテンツ暗号部104へ伝達される。また、生成された一次利用ライセンスデータは暗号エンジン103へ伝達され、暗号エンジン103を介してストレージデバイス200に記録される。
コンテンツ暗号部104は、一次利用ライセンス生成部107から伝達されたコンテンツ鍵を用いて、記憶媒体20から読み出されたコンテンツデータを暗号化する。暗号化されたコンテンツデータは、データバス110及びストレージインタフェース102aを介して、通常コマンドによりストレージデバイス200に記録される。
暗号エンジン103は、一次利用ライセンスデータをストレージデバイス200との間で入出力するために、ストレージデバイス200との間で暗号通信の制御を行う。また、暗号エンジン103は、二次利用ライセンスデータをストレージデバイス250に記録するために、ストレージデバイス250との間で暗号通信の制御を行う。暗号エンジン103の構成及び動作の詳細については後述する。ストレージインタフェース102a、102bは、それぞれ、ストレージデバイス200、250とのデータの入出力を制御する。コントローラ101は、記録再生装置100の構成要素を統括的に制御する。
ライセンス判読部108は、ストレージデバイス200に記録された一次利用ライセンスデータを取得して判読し、コンテンツ鍵と利用情報を取得する。記録再生装置100においてコンテンツを再生するときには、ライセンス判読部108は、利用情報を解析して再生の可否を判定し、再生が許可される場合は、コンテンツ鍵をコンテンツ復号部111に伝達し、利用情報を利用情報付加部112に伝達する。ライセンスデータをストレージデバイス250に複製するときには、ライセンス判読部108は、利用情報を解析して複製の可否を判定し、複製が許可される場合は、コンテンツ鍵及び利用情報を二次利用ライセンス生成部109へ伝達する。
コンテンツ復号部111は、ストレージデバイス200から取得した暗号化コンテンツデータを、ライセンス判読部108から取得したコンテンツ鍵で復号する。利用情報付加部112は、コンテンツ復号部111により復号されたコンテンツデータに、ライセンス判読部108から伝達された利用情報を付加する。利用情報付加部112は、コンテンツデータの所定位置に利用情報を付加してもよいし、コンテンツデータにウォーターマークなどの技術を用いて利用情報を埋め込んでもよく、要は、記憶媒体20に格納されているコンテンツデータと同じ状態になるようにコンテンツデータを整形する。再生部113は、利用情報付加部112により整形されたコンテンツデータを再生する。再生部113が利用情報を必要としない場合は、コンテンツ復号部111により復号されたコンテンツデータを直接再生部113へ出力してもよい。この場合、利用情報付加部112は設けなくてもよい。
二次利用ライセンス生成部109は、ライセンス判読部108から伝達されたコンテンツ鍵と利用情報を用いて、二次利用ライセンスデータを生成する。生成された二次利用ライセンスデータは暗号エンジン103へ伝達され、暗号エンジン103を介してストレージデバイス250に記録される。ストレージデバイス250に記録された二次利用ライセンスデータは、再生専用装置300bなどにおいてコンテンツデータを再生するためにのみ利用可能であり、複製は禁止される。
図3は、一次利用ライセンス生成部107及びコンテンツ暗号部104の内部構成を示す。一次利用ライセンス生成部107は、利用情報変換部160、乱数生成部161、ID整形部162、コンテンツ鍵暗号部163、及びライセンスデータフォーマッタ164を含む。コンテンツ暗号部104は、データ挿入部150及び暗号器151を含む。
利用情報変換部160は、利用情報検出部106から利用情報を取得し、データ形式やデータの内容を変換する。暗号化コンテンツデータに利用情報を挿入する必要がある場合は、利用情報変換部160は、挿入すべき情報を抽出してデータ挿入部150へ伝達する。また、利用情報変換部160は、ライセンスデータのフォーマットに合わせて利用情報を変換する。ライセンスデータのフォーマットは図5を参照して説明する。
乱数生成部161は、コンテンツ鍵Kcとして用いられる乱数を発生し、コンテンツ鍵暗号部163及び暗号器151へ伝達する。ID整形部162は、記録再生装置100の機器IDを取得し、コンテンツ鍵暗号部163においてコンテンツ鍵を暗号化するための暗号鍵として利用可能な形式に整形する。機器IDは、記録再生装置100のBIOS領域に固定的に記録されていてもよい。また、機器IDに代えて、記録再生装置100のユーザのID、記録再生装置100において動作するOSやリッピングアプリケーションなどのプログラムのID、ストレージデバイス200の機器IDなどを用いてもよい。要は、コンテンツデータを利用する権利を有するユーザ又は装置のみが知りうる情報であればよい。ID整形部162は、コンテンツ鍵暗号部163が採用する暗号方式における暗号鍵のビット長に合わせて、取得した機器IDを整形する。例えば、機器IDのビット数が暗号鍵のビット長よりも少ない場合は、0などでパディングしてもよい。逆に、機器IDのビット数が暗号鍵のビット長よりも多い場合は、先頭から順に必要なビット長を取り出してもよいし、末尾から順に必要なビット長を取り出してもよい。
コンテンツ鍵暗号部163は、乱数生成部161から伝達されたコンテンツ鍵Kcを、ID整形部162から伝達された暗号鍵で暗号化する。コンテンツ鍵暗号部163における暗号方式は任意でよく、例えばAES(Advanced Encryption Standard)方式などであってもよい。AESの鍵長は、128、192、256ビットのいずれかであってもよく、ID整形部162は、コンテンツ鍵暗号部163が必要とする鍵長に機器IDを整形する。コンテンツ鍵暗号部163は、コンテンツ鍵Kcと機器IDの排他的論理和などを演算することにより、暗号化コンテンツ鍵を生成してもよい。暗号化されたコンテンツ鍵は、ライセンスデータフォーマッタ164へ伝達される。
AESは共通鍵暗号方式であるから、暗号化コンテンツ鍵を復号するためには、機器IDを取得してID整形部162と同様に整形し、同一の共通鍵を得ればよい。したがって、記録再生装置100は、自身の機器IDを用いて暗号化コンテンツ鍵を復号することができ、復号したコンテンツ鍵により暗号化コンテンツデータを復号して再生することができる。しかし、他の装置は、記録再生装置100の機器IDを取得することができないので、たとえ暗号化コンテンツ鍵を複製したとしても、それを復号することはできない。このように、機器IDを利用してコンテンツ鍵を暗号化することにより、コンテンツ鍵はその装置に束縛され、その装置でしか利用することができないようになる。
なお、上記の例では、乱数生成部161が生成した乱数をコンテンツ鍵Kcとしたが、別の例では、乱数生成部161が生成した乱数に対して、ID整形部162が整形した機器IDを用いてコンテンツ鍵暗号部163により暗号演算を行ったものをコンテンツ鍵Kcとしてもよい。この場合は、乱数生成部161が生成した乱数をライセンスデータに記録しておき、再生時には、ライセンスデータに格納された乱数と機器IDから同様の演算によりコンテンツ鍵Kcを得る。この場合も、コンテンツ鍵Kcを得るには機器IDが必要となる。
ライセンスデータフォーマッタ164は、利用情報変換部160から伝達された利用情報と、コンテンツ鍵暗号部163から伝達された暗号化コンテンツ鍵とを、所定のフォーマットに整形して、一次利用ライセンスデータを生成する。
図4は、ライセンスデータのデータ構造を示す。ライセンスデータは、ライセンスデータのIDを格納する「LID」欄、コンテンツ鍵が機器IDなどに紐付けられているか否かを示す「Binding Flag」欄、コンテンツ鍵を格納する「Kc」欄、ブロック暗号の初期ベクトルを格納する「Initial Vector」欄、ライセンスデータの利用制御情報を格納する「Access Condition」欄を含む。
「Binding Flag」欄には、一次利用ライセンスデータでは、装置に束縛されている、すなわち機器IDにより暗号化されていることを示す「1(bind)」が格納され、二次利用ライセンスデータでは、装置に束縛されていないことを示す「0(not bind)」が格納される。二次利用ライセンスデータは、再生のためだけに使用され、他の装置に複製及び移動することができないので、コンテンツ鍵は機器IDに紐付けられていない。
「Kc」欄には、一次利用ライセンスデータでは、機器IDに紐付けされたコンテンツ鍵(binded Kc)が格納され、二次利用ライセンスデータでは、コンテンツ鍵Kcが格納される。上述したように、二次利用ライセンスデータは、他の装置に複製及び移動することができないので、コンテンツ鍵Kcが暗号化されずにそのまま格納される。一次利用ライセンスデータであっても、複製に関する制限がない場合には、コンテンツ鍵を機器IDに紐付けせずにそのまま格納してもよい。また、逆に、二次利用ライセンスデータの生成が禁止されている場合にも、二次利用ライセンスデータと同様に、コンテンツ鍵Kcをそのまま格納してもよい。
本前提技術においては、「binded Kc」として、機器IDを用いて暗号化されたコンテンツ鍵を採用しているが、コンテンツ鍵と機器IDとのビット単位の排他的論理和などの簡易的な方法により生成されたデータなどであってもよい。つまり、「binded Kc」と機器IDとにより、コンテンツ鍵Kcが一意に決まりさえすればよい。
「Initial Vector」欄には、一次利用ライセンスデータでは、初期ベクトル「IV」又は機器IDに紐付けられた初期ベクトル「binded IV」が格納され、二次利用ライセンスデータでは、初期ベクトル「IV」が格納される。
「Access Condition」欄には、一次利用ライセンスデータでは、複製の上限を示す「Copy Count」値として「2」が格納され、二次利用ライセンスデータでは、複製禁止を示す「0(Never copy)」が格納される。本前提技術においては、「Access Condition」欄に、複製に関する利用情報を記載する例を示したが、これに加えて二次利用ライセンスデータの生成可否、または、許可数を指定できるようにしてもよい。許可数を指定する場合、二次利用ライセンスデータを出力する都度この値を減算していく必要がある。
図5は、ライセンス判読部108の内部構成を示す。ライセンス判読部108は、形式解析部171、ID整形部172、コンテンツ鍵復号部173、スイッチ174及び175を含む。
形式解析部171は、暗号エンジン103を介してストレージデバイスから読み出されたライセンスデータを取得し、その形式を解析する。形式解析部171は、図4に示したライセンスデータの各フィールドの値を解析し、利用情報やコンテンツ鍵を抽出して出力するとともに、各フィールドの値に応じてスイッチ174及び175を制御する。形式解析部171により抽出された利用情報は、コンテンツの再生時には利用情報付加部112へ、コンテンツの複製時にはスイッチ174を介して二次利用ライセンス生成部109へ出力される。形式解析部171により抽出されたコンテンツ鍵は、暗号化されていればコンテンツ鍵復号部173へ、暗号化されていなければスイッチ175を介してコンテンツ復号部111へ出力される。
ID整形部172は、ID整形部162が生成した暗号鍵により暗号化されたコンテンツ鍵を復号するための復号鍵を生成する。前述したように、ID整形部162が記録再生装置100の機器IDを整形して共通鍵方式の暗号鍵を生成した場合には、ID整形部172は、記録再生装置100の機器IDを取得し、ID整形部162と同様の方法で整形して、同一の共通鍵を生成する。コンテンツ鍵復号部173は、形式解析部171から伝達された暗号化されたコンテンツ鍵を、ID整形部172から伝達された復号鍵で復号する。
コンテンツの再生時、スイッチ175の上側の端子には、形式解析部171から暗号化されていないコンテンツ鍵Kcが出力され、スイッチ175の下側の端子には、コンテンツ鍵復号部173から復号されたコンテンツ鍵Kcが出力される。形式解析部171は、ライセンスデータの「Binding Flag」欄を参照して、コンテンツ鍵が暗号化されているか否かを判定し、暗号化されていればスイッチ175を上側の端子に、暗号化されていなければ下側の端子につなぐ。これにより、スイッチ175を介して、コンテンツ鍵Kcがコンテンツ復号部111に出力される。
コンテンツの複製時、スイッチ174の左側の端子には、形式解析部171から利用情報が出力され、スイッチ174の右側の端子には、コンテンツ鍵復号部173から復号されたコンテンツ鍵Kcが出力される。形式解析部171は、ライセンスデータの「Access Condition」欄を参照して、コンテンツ鍵の複製が許可されるか否かを判定し、許可される場合はスイッチ174をオンにして利用情報及びコンテンツ鍵を二次利用ライセンス生成部109に出力し、禁止される場合はスイッチ174をオフにして利用情報及びコンテンツ鍵の出力を禁止する。
二次利用ライセンス生成部109は、取得した利用情報とコンテンツ鍵を用いて、図4に示したデータ構造の二次利用ライセンスデータを生成する。生成された二次利用ライセンスデータは、暗号エンジン103を介してストレージデバイス250に記録される。
図3及び図5に示した例では、一次利用ライセンスデータの生成時に、機器IDをもとに生成された共通鍵によりコンテンツ鍵Kcを暗号化して「binded Kc」を生成し、一次利用ライセンスデータの利用時には、機器IDをもとに生成された共通鍵により「binded Kc」を復号してコンテンツ鍵Kcを得た。別の例として、一次利用ライセンス生成部107のコンテンツ鍵暗号部163は、コンテンツ鍵Kcに機器IDなどを用いて所定の演算を施して、コンテンツ鍵Kcを変換したデータを「binded Kc」としてもよい。演算は、例えば、ビット単位で排他的論理和、論理和、論理積、否定論理和、否定論理積をとる演算などであってもよい。この場合、ライセンス判読部108のコンテンツ鍵復号部173は、一次利用ライセンスデータから得られる「binded Kc」に、機器IDを用いて、コンテンツ鍵暗号部163において施された演算の逆演算を施すことによりコンテンツ鍵Kcを得ることができる。
コンテンツ鍵に機器IDを紐付ける方式の更に別の例を説明する。図6は、一次利用ライセンス生成部107の別の構成例を示す。本図に示した一次利用ライセンス生成部107は、図3に示した一次利用ライセンス生成部107の構成に比べて、コンテンツ鍵暗号部163に代えて演算部166を含む。その他の構成は、図6に示した一次利用ライセンス生成部107と同様である。
本図の例では、乱数生成部161が生成した乱数がライセンスデータフォーマッタ164に伝達され、一次利用ライセンスデータに格納される。すなわち、この乱数が「binded Kc」として扱われる。乱数は、演算部166にも伝達され、演算部166は、伝達された乱数に、ID整形部162により整形された機器IDを用いた所定の演算を施すことにより、コンテンツ鍵Kcを生成する。すなわち、コンテンツ鍵Kcは、機器IDを知らなければ得ることができない。
図7は、ライセンス判読部108の別の構成例を示す。このライセンス判読部108は、図6に示した一次利用ライセンス生成部107と対になっており、一次利用ライセンス生成部107として図6の構成を採用する場合は、ライセンス判読部108として図7の構成が採用される。本図に示したライセンス判読部108は、図5に示したライセンス判読部108の構成に比べて、コンテンツ鍵復号部173に代えて演算部176を含む。その他の構成は、図5に示したライセンス判読部108と同様である。
本図の例では、形式解析部171から演算部176に伝達される「binded Kc」は、一次利用ライセンス生成部107の乱数生成部161により発生された乱数である。演算部176は、形式解析部171から伝達された乱数に、ID整形部172により整形された機器IDを用いて、一次利用ライセンス生成部107の演算部166と同じ演算を施すことにより、コンテンツ鍵Kcを得る。演算部166及び176において施される演算は任意でよく、例えば、排他的論理和、論理和、論理積、否定論理和、否定論理積などの演算であってもよい。また、演算部166及び176は、AESなどの暗号方式の暗号器又は復号器であってもよく、機器IDを暗号鍵又は復号鍵とみなして、乱数を暗号化又は復号する演算を施してもよい。
図8は、ストレージデバイス200及び250の内部構成を示す。ストレージデバイス200及び250は、主に、コントローラ201、ストレージインタフェース202、暗号エンジン203、耐タンパ記憶部204、通常データ記憶部205、及びそれらを電気的に接続するデータバス210を備える。
ストレージインタフェース202は、記録再生装置100とのデータの入出力を制御する。暗号エンジン203は、コンテンツ鍵を含むライセンスデータなどの秘匿データを記録再生装置100との間で入出力するための暗号通信の制御を行う。通常データ記憶部205は、暗号化されたコンテンツや通常のデータなどを記録する通常記憶領域である。耐タンパ記憶部204は、コンテンツ鍵を含むライセンスデータなどの秘匿データを記録する機密データ記憶領域である。通常データ記憶部205は、外部からの直接アクセスによりデータの入出力が行われるが、耐タンパ記憶部204は、暗号エンジン203を介さないとデータの入出力ができないように構成される。コントローラ201は、ストレージデバイス200の構成要素を統括的に制御する。
つづいて、ライセンスデータをストレージデバイス200又は250に記録するときの暗号通信について詳述する。以下に詳述するように、ライセンスデータを記録するたびに、記録先のストレージデバイスを認証し、正当なストレージデバイスのみにライセンスデータを記録するので、記録先がリムーバブルなストレージデバイスであっても、不正な複製を抑止することができる。以下、ストレージデバイス200にライセンスデータを記録する場合について説明するが、ストレージデバイス250に記録する場合も同様である。
ここで、本前提技術で用いる鍵について説明する。本前提技術では、鍵はすべて大文字の「K」から始まる文字列として表記する。また、第2文字が小文字の「c」、「s」、「b」のいずれかである場合は、対称鍵(共通鍵)を示す。詳しくは、「c」はチャレンジ鍵であり、ライセンスデータの送信元で生成されるテンポラルな対称鍵を示す。「s」はセッション鍵であり、ライセンスデータの送信先で生成されるテンポラルな対称鍵を示す。「b」はバス鍵であり、ライセンスデータの送信先で生成されるテンポラルな対称鍵を示す。また、第2文字が大文字の「P」である場合は、公開鍵暗号方式の公開鍵を示す。この鍵には、対応する秘密鍵が必ず存在し、この秘密鍵は公開鍵の表記から第2文字の大文字の「P」を除く表記となる。
鍵を示す文字列が小文字の「d」を含む場合は、装置のグループ毎に与えられた鍵であることを表す。また鍵を示す文字列が小文字の「p」を含む場合は、装置毎に与えられた鍵であることを表す。それぞれ、公開鍵と秘密鍵の対として与えられ、グループ毎に与えられた公開鍵KPdxは、電子署名付きの公開鍵証明書C[KPdx]として与えられている。
また、鍵を示す文字列の最後に記載される文字、たとえば、公開鍵KPd2の「2」は、その鍵が与えられる暗号エンジンを識別するための記号である。本前提技術では、提供先が明確な場合には、数字「1」、「2」、「3」と表記し、当該暗号エンジン以外から提供される鍵であって提供先が不明な場合あるいは特定しない場合には、「x」、「y」などの英文字によって表記する。本前提技術では、ライセンスデータを書き込む時の記録再生装置100の暗号エンジン103に対しては識別記号として「1」、ストレージデバイス200の暗号エンジン203については識別記号として「2」、ライセンスデータを読み出す時の記録再生装置100の暗号エンジン103に対しては識別記号として「3」を、それぞれ使用する。
図9は、図2に示した記録再生装置100の暗号エンジン103の内部構成を示す。図9には、ライセンスデータをストレージデバイス200へ送信するときに使用される構成のみを示している。ライセンスデータをストレージデバイス200から受信するときに使用される構成は図10に示す。暗号エンジン103は、証明書検証部120、乱数発生部121、第1暗号部122、第1復号部123、第2復号部124、第2暗号部125、第3復号部126、第3暗号部127、第4暗号部128、証明書出力部129、制御部130、ログ記憶部131、およびこれらの構成要素の少なくとも一部を電気的に接続するローカルバス133を備える。
証明書検証部120は、ストレージデバイス200から取得した証明書C[KPd2]を検証する。証明書C[KPd2]は、公開鍵KPd2を含む平文の情報(以下、「証明書本体」と称す)と、証明書本体に対して付される電子署名からなる。この電子署名は、証明書本体に対してハッシュ関数による演算(以下、この演算処理を「ハッシュ演算」と称す)を施した結果を、第三者機関である認証局(図示せず)のルート鍵Kaによって暗号化したデータである。ルート鍵Kaは、認証局によって厳重に管理されている非公開な鍵であり、認証局の秘密鍵となる。証明書検証部120は、このルート鍵Kaと対をなす検証鍵KPaを保持している。この検証鍵KPaは証明書の正当性を検証する公開鍵である。証明書の検証は、証明書の正当性と証明書の有効性によって判断する。
証明書の正当性の確認は、検証すべき証明書の証明書本体に対するハッシュ関数の演算結果と、検証鍵KPaで電子署名を復号した結果を比較する処理であり、両者が一致したとき、正当であると判断する。証明書検証部120は、無効となった証明書のリストである証明書破棄リスト(Certificate Revocation List:CRLと呼ぶ)を保持し、このCRLに検証すべき証明書が記載されていない場合に有効であると判断する。このように、証明書の正当性と有効性を判断し、正当な証明書を承認する処理を検証と称す。
証明書検証部120は、検証に成功すると、ストレージデバイス200の公開鍵KPd2を取り出して第1暗号部122に伝達し、検証結果を通知する。検証に失敗した場合には、検証エラー通知を出力する。
証明書出力部129は、記録再生装置100の証明書C[KPd1]を出力する。この証明書は、記録再生装置100の公開鍵KPd1を含む証明書本体と、証明書本体に対して付される電子署名からなる。電子署名は、ストレージデバイス200の証明書と同様に、認証局のルート鍵Kaにより暗号化される。
乱数発生部121は、ストレージデバイス200との間で暗号通信を行うために一時的に使用されるチャレンジ鍵Kc1、バス鍵Kb1を生成する。暗号通信を行う度に、乱数によりチャレンジ鍵Kc1を生成することで、チャレンジ鍵Kc1を見破られる可能性を最小限に抑えることができる。生成されたチャレンジ鍵Kc1は、第1暗号部122と第1復号部123に伝達され、バス鍵Kb1は、第2暗号部125及び第3復号部126に伝達される。
第1暗号部122は、ストレージデバイス200にチャレンジ鍵Kc1を通知するために、証明書検証部120により取り出されたストレージデバイス200の公開鍵KPd2でチャレンジ鍵Kc1を暗号化して、暗号化チャレンジ鍵E(KPd2,Kc1)を生成する。そして、暗号化チャレンジ鍵E(KPd2,Kc1)は、証明書出力部129から出力された証明書C[KPd1]と結合され、第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]とされる。
ここで、記号「||」は、データの連結を示し、E(KPd2,Kc1)||C[KPd1]は、暗号化チャレンジ鍵E(KPd2,Kc1)と証明書C[KPd1]を並べて結合したデータ列を示す。また、Eは暗号化関数を示し、E(KPd2,Kc1)は、公開鍵KPd2でチャレンジ鍵Kc1を暗号化したものであることを示す。
第1復号部123は、チャレンジ鍵Kc1で暗号化されたデータを復号する。ストレージデバイス200が内部に個別かつ秘密裏に保持する秘密鍵Kp2と対をなす公開鍵KPp2と、ストレージデバイス200を一意に識別できるユニークな識別情報DIDを暗号化した第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))がストレージデバイス200から供給されるため、第1復号部123は、乱数発生部121が生成したチャレンジ鍵Kc1を用いて第2チャレンジ情報を復号して、暗号データE(KPd1,KPp2||DID)を取り出す。
第2復号部124は、自身の公開鍵KPd1で暗号化されたデータを、内部の秘密裏に保持する秘密鍵Kd1で復号する。第2復号部124は、第1復号部123から伝達された暗号データE(KPd1,KPp2||DID)を復号し、ストレージデバイス200の公開鍵KPp2と識別情報DIDを取り出す。
第2暗号部125は、ストレージデバイス200にバス鍵Kb1を通知するために、ストレージデバイス200の公開鍵KPp2で暗号化して、暗号化バス鍵E(KPp2,Kb1)を生成する。暗号化バス鍵は、コネクション情報E(KPp2,Kb1)として、ストレージデバイス200に提供される。
第3復号部126は、バス鍵Kb1で暗号化されたデータを復号する。ストレージデバイス200で発行されたセッション鍵Ks2は、セッション情報E(Kb1,Ks2)としてストレージデバイス200から供給されるため、第3復号部126は、乱数発生部121が生成したバス鍵Kb1を用いてセッション情報を復号し、セッション鍵Ks2を取り出す。取り出されたセッション鍵Ks2は、第4暗号部128へ伝達される。
第3暗号部127は、一次利用ライセンス生成部107又は二次利用ライセンス生成部109が生成したライセンスデータLICを取得し、そのライセンスデータLICをストレージデバイス200の公開鍵KPp2で暗号化し、E(KPp2,LIC)を生成する。そして、生成されたE(KPp2,LIC)は、第4暗号部128に伝達される。
第4暗号部128は、第3暗号部127から伝達されたE(KPp2,LIC)を、さらに、ストレージデバイス200で発行されたセッション鍵Ks2により暗号化し、暗号化ライセンスデータE(Ks2,E(KPp2,LIC))を生成する。
ログ記憶部131は、第2復号部124から伝達されたストレージデバイス200の識別情報DIDと、ストレージデバイス200に対して出力するライセンスデータLICと、これを記録予定のストレージデバイス200のアドレスデータADRとを、関係付けて静的に記憶する。なお、ログ記憶部131に記憶されているライセンスデータLICは、所定の手続きを経たアクセスに対して、暗号化された状態でのみ出力される。
制御部130は、記録再生装置100のコントローラ101の指示に従って暗号エンジン103内部の構成要素の制御および外部の構成との間でデータの入出力を仲介する。なお、図9では、制御部130による内部の各構成要素への制御を示す結線は省略されている。
図9の如く、本前提技術では、制御部130を介さないと、暗号エンジン103は外部とデータの交換ができない構成となっている。各構成要素を接続する形態については、種々考えられるが、本前提技術では、乱数発生部121が生成するチャレンジ鍵Kc1、ストレージデバイス200から受け取ったセッション鍵Ks2、自身の秘密鍵Kd1などの暗号エンジン103内で使用される各鍵が、暗号エンジン103の外部に直接流出しないように構成している。これにより、暗号エンジン103内で使用される各鍵が、記録再生装置100の他の構成要素などを介して外部に漏洩することを防ぎ、セキュリティ性を向上させている。
図10は、図2に示した記録再生装置100の暗号エンジン103の内部構成を示す。図10には、ライセンスデータをストレージデバイス200から受信するときに使用される構成のみを示している。暗号エンジン103は、証明書出力部320、乱数発生部321、証明書検証部322、第1復号部323、第1暗号部324、第2暗号部325、第2復号部326、第3暗号部327、第3復号部328、第4復号部329、制御部330、ログ記憶部333、及びこれらの構成要素の少なくとも一部を電気的に接続するローカルバス334を備える。
証明書出力部320は、記録再生装置100の証明書C[KPd3]を出力する。証明書は、証明書出力部320が保持してもよいし、図示しない証明書保持部に保持しておき、それを読み出してもよい。証明書は、記録再生装置100の公開鍵KPd3を含む証明書本体と、証明書本体に対して付される電子署名からなる。電子署名は、ストレージデバイス200の証明書と同様に、認証局のルート鍵Kaにより暗号化される。なお、証明書C[KPd3]は、証明書C[KPd1]と同一であってもよい。
乱数発生部321は、ストレージデバイス200との間で暗号通信を行うために一時的に使用されるセッション鍵Ks3を生成する。生成されたセッション鍵Ks3は、第3暗号部327、第3復号部328に伝達される。
証明書検証部322は、ストレージデバイス200の証明書C[KPd2]の検証を行う。検証の詳細は、上述したとおりである。
第1復号部323は、公開鍵KPd3によって暗号化されたデータを秘密鍵Kd3で復号する。再生時には、ストレージデバイス200で発行されたチャレンジ鍵Kc2は、記録再生装置100の公開鍵KPd3により暗号化されてストレージデバイス200から供給されるため、第1復号部323は、自身の秘密鍵Kd3によりこれを復号し、チャレンジ鍵Kc2を取り出す。取り出されたチャレンジ鍵Kc2は、第2暗号部325に伝達される。
第1暗号部324は、ストレージデバイス200の証明書C[KPd2]から取り出された公開鍵KPd2でデータの暗号化を行う。内部に秘密裏に保持する記録再生装置100に固有の秘密鍵Kp3と対をなす公開鍵KPp3をストレージデバイス200に通知するために、暗号化固有公開鍵E(KPd2,KPp3)を生成する。生成した暗号化固有公開鍵E(KPd2,KPp3)は、第2暗号部325に伝達される。
第2暗号部325は、第1復号部323により取り出されたチャレンジ鍵Kc2で、データの暗号化を行う。第1暗号部324から伝達された暗号化固有公開鍵E(KPd2,KPp3)を暗号化して第2チャレンジ情報E(Kc2,E(KPd2,KPp3))を生成する。
第2復号部326は、公開鍵KPp3で暗号化されたデータを復号する。ストレージデバイス200から提供されたコネクション情報E(KPp3,Kb2||DID)を、公開鍵KPp3と対をなす秘密鍵Kp3で復号し、ストレージデバイス200で発行されたバス鍵Kb2と、ストレージデバイスを一意に特定できる識別情報DIDを取り出す。
第3暗号部327は、乱数発生部321で生成したセッション鍵Ks3をストレージデバイス200に提供するために、第2復号部326で取り出したストレージデバイス200が発行したバス鍵Kb2で暗号化して、セッション情報E(Kb2,Ks3)を生成する。
第3復号部328は、セッション鍵Ks3で暗号化されたデータを復号する。ライセンスデータLICは、公開鍵KPp3およびセッション鍵Ks3により2重に暗号化された暗号化ライセンスデータE(Ks3,E(KPp3,LIC))としてストレージデバイス200から供給されるため、第3復号部328は、乱数発生部321が生成するセッション鍵Ks3により復号を行い、その結果である暗号化ライセンスデータE(KPp3,LIC)を第4復号部329に伝達する。
第4復号部329は、公開鍵KPp3で暗号化されたデータの復号を行う。公開鍵KPp3と対をなす秘密鍵Kp3で、第3復号部328の復号結果である暗号化ライセンスデータE(KPp3,LIC)を復号し、ライセンスデータLICを取り出す。
ログ記憶部333は、第2復号部326から伝達されたストレージデバイス200の識別情報DID、およびストレージデバイス200から受け取る予定のライセンスデータLICの識別情報LIDと当該ライセンスデータが格納されているストレージデバイス200のアドレスデータADRを、関係付けて静的に記憶する。ライセンスデータLICが利用されると、当該ライセンスデータのLIDおよびADRは削除される。
制御部330は、記録再生装置100のコントローラ101の指示に従って暗号エンジン103の内部の構成要素の制御および外部の構成との間でデータの入出力を仲介する。尚、図10では、制御部330による内部の各構成要素への制御を示す結線は省略されている。
図10に示す暗号エンジン103においても、各構成要素を接続する形態については、種々考えられるが、本前提技術では、制御部330を介さないと、暗号エンジン103は外部とデータの交換ができない構成となっている。これにより、乱数発生部321が生成したセッション鍵Ks3、公開鍵と対をなしている秘密鍵Kd3およびKp3、ストレージデバイス200から受け取ったバス鍵Kb2、チャレンジ鍵Kc2などの暗号エンジン103内で使用される鍵が外部に漏洩されることを防ぐ。
図11は、図8に示したストレージデバイス200の暗号エンジン203の内部構成を示す。暗号エンジン203は、制御部220、乱数発生部221、証明書出力部222、証明書検証部223、第1復号部224、第1暗号部225、第2暗号部226、第2復号部227、第3暗号部228、第3復号部229、第4復号部230、第4暗号部231、第5復号部232、第6復号部233、第5暗号部234、第7復号部235、第6暗号部236、第7暗号部237、及びこれらの構成要素の少なくとも一部を電気的に接続するローカルバス240を備える。
制御部220は、ストレージデバイス200のコントローラ201の指示に従って暗号エンジン203の内部の構成の制御および外部の構成との間でデータの入出力を仲介する。
乱数発生部221は、記録再生装置100との間の暗号通信に一時的に使用されるセッション鍵Ks2、チャレンジ鍵Kc2、バス鍵Kb2を、乱数演算によって生成する。各鍵の用途については、追って説明する。
証明書出力部222は、ストレージデバイス200の証明書C[KPd2]を出力する。証明書は、証明書出力部222が保持してもよいし、ストレージデバイス200の所定の記憶領域、たとえば耐タンパ記憶部204に保持しておき、それを読み出してもよい。証明書は、ストレージデバイス200の公開鍵KPd2を含む証明書本体と、証明書本体に付された電子署名とを含む。電子署名は、認証局のルート鍵Kaにより暗号化される。
証明書検証部223は、外部から提供された証明書の検証を行う。具体的には、記録再生装置100から取得した証明書C[KPd1]およびC[KPd3]を検証鍵KPaにより検証する。検証の詳細は、上記のとおりである。
第1復号部224は、自身の公開鍵KPd2で暗号化されたデータを復号する。具体的には、記録時には、記録再生装置100で発行されたチャレンジ鍵Kc1が、ストレージデバイス200の公開鍵KPd2で暗号化されて記録再生装置100から供給されるため、これを自身の秘密鍵Kd2で復号し、チャレンジ鍵Kc1を取り出す。取り出されたチャレンジ鍵Kc1は、第2暗号部226に伝達される。
第1暗号部225は、記録再生装置100の公開鍵KPd1でデータを暗号化する。具体的には、ストレージデバイス200が個別に保持する公開鍵KPp2とストレージデバイスを識別するための識別情報DIDとを結合した個別情報を暗号化した暗号化個別情報E(KPd1,KPp2||DID)を生成する。ここで用いる記録再生装置100の公開鍵KPd1は、制御部220によってストレージデバイス200の証明書C[KPd1]内から取り出され、ローカルバス240を介して伝達される。
第2暗号部226は、記録再生装置100が発行したチャレンジ鍵Kc1でデータを暗号化する。具体的には、第1暗号部225から受け取った暗号化個別情報E(KPd1,KPp2||DID)をチャレンジ鍵Kc1で暗号化し、第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))を生成する。
第2復号部227は、自身の公開鍵KPp2で暗号化されたデータを復号する。第2復号部227は、記録再生装置100から提供されるコネクション情報E(KPp2,Kb1)を、公開鍵KPp2と対をなす秘密鍵Kp2で復号し、取り出したバス鍵Kb1を第3暗号部228に伝達する。
第3暗号部228は、バス鍵Kb1でデータを暗号化する。具体的には、乱数発生部221が生成したセッション鍵Ks2をバス鍵Kb1で暗号化し、セッション情報E(Kb1,Ks2)を生成する。
第3復号部229は、乱数発生部221が生成したセッション鍵Ks2で暗号化されたデータを復号する。具体的には、記録再生装置100から、ライセンスデータLICを、公開鍵KPp2およびセッション鍵Ks2により2重に暗号化されたE(Ks2,E(KPp2,LIC))として受け取り、これをセッション鍵Ks2により復号し、結果を第4復号部230に伝達する。
第4復号部230は、自身の公開鍵KPp2で暗号化されたデータを復号する。第3復号部229から伝達されるライセンスデータE(KPp2,LIC)を、公開鍵KPp2と対をなす自身の秘密鍵Kp2で復号し、ライセンスデータLICを取り出す。
取り出されたライセンスデータLICは、ローカルバス240、制御部220を介して、データバス210に供給され、コントローラ201の指示に従って、耐タンパ記憶部204に記憶される。
第4暗号部231は、ライセンス利用装置300の公開鍵KPd3でデータを暗号化する。具体的には、ライセンス利用装置300に対してライセンスデータLICを提供する場合、記録再生装置100から受け取った証明書C[KPd3]から取り出された公開鍵KPd3で、乱数発生部221が発行するチャレンジ鍵Kc2を暗号化し、暗号化チャレンジ鍵E(KPd3,Kc2)を生成する。生成された暗号化チャレンジ鍵E(KPd3,Kc2)は、ローカルバス240を介して制御部220へ伝達される。制御部220では、これと証明書出力部222から出力される自身の証明書C[KPd2]とを結合して、第1チャレンジ情報E(KPd3,Kc2)||C[KPd2]を生成し、記録再生装置100に出力する。
第5復号部232は、乱数発生部221が発行したチャレンジ鍵Kc2で暗号化されたデータを復号する。記録再生装置100から受け取った第2チャレンジ情報E(Kc2,E(KPd2,KPp3))を、乱数発生部221が生成したチャレンジ鍵Kc2で復号し、取り出された暗号化個別公開鍵E(KPd2,KPp3)は第6復号部233に伝達される。
第6復号部233は、自身の公開鍵KPd2で暗号化されたデータを復号する。具体的には、第5復号部232から伝達された暗号化個別公開鍵E(KPd2,KPp3)を、自身の秘密鍵Kd2で復号し、記録再生装置100の公開鍵KPp3を取り出す。取り出された公開鍵KPp3は、第5暗号部234と第6暗号部236に伝達される。
第5暗号部234は、記録再生装置100の公開鍵KPp3でデータを暗号化する。乱数発生部221が生成したバス鍵Kb2と自身の識別情報DIDを結合し、このデータを暗号化して、コネクション情報E(KPp3,Kb2||DID)を生成する。
第7復号部235は、バス鍵Kb2で暗号化されたデータを復号する。記録再生装置100から提供されたセッション情報E(Kb2,Ks3)を復号して、記録再生装置100が発行したセッション鍵Ks3を取り出し、取り出されたセッション鍵Ks3は、第7暗号部237に伝達される。
第6暗号部236は、記録再生装置100の公開鍵KPp3でデータを暗号化する。記録再生装置100に対してライセンスデータを提供する場合、記録再生装置100から受け取った公開鍵KPp3で、ライセンスデータLICを暗号化する。このライセンスデータLICは、コントローラ201の指示に従って、耐タンパ記憶部204から読み出され、データバス210、制御部220およびローカルバス240を介して第6暗号部236に伝達される。ここで、暗号化されたライセンスデータE(KPp3,LIC)は、第7暗号部237に伝達される。
第7暗号部237は、記録再生装置100が発行したセッション鍵Ks3でデータを暗号化する。具体的には、セッション鍵Ks3で、第6暗号部236において暗号化されたライセンスデータE(KPp3,LIC)を、さらに暗号化し、暗号化ライセンスデータE(Ks3,E(KPp3,LIC))を生成する。
図12及び図13は、記録再生装置100がストレージデバイス200にライセンスデータLICを記録するまでの手順を示す。この記録処理では、記録再生装置100の暗号エンジン103とストレージデバイス200の暗号エンジン203との間で暗号通信路が構築され、その暗号通信路によってライセンスデータLICが記録再生装置100からストレージデバイス200に送信される。図は、記録再生装置100の暗号エンジン103、記録再生装置100のコントローラ101、ストレージデバイス200の暗号エンジン203の処理を示している。
まず、記録再生装置100のコントローラ101は、ストレージデバイス200に対して証明書出力命令を発行する(S102)。コントローラ201は、証明書出力命令を正常に受理する(S104)と、暗号エンジン203に証明書の出力を命じ、暗号エンジン203から証明書C[KPd2]を読み出してコントローラ101へ出力する(S106)。コントローラ101は、ストレージデバイス200から証明書C[KPd2]を取得すると、それを暗号エンジン103へ送信する(S108)。
暗号エンジン103の制御部130は、ストレージデバイス200から発行された証明書C[KPd2]を受信すると(S110)、それを暗号エンジン103に伝達し、証明書検証部120は、認証鍵KPaで証明書を検証する(S112)。
証明書が承認されなかった場合(S112のN)、証明書検証部120はエラーを制御部130に伝達する。エラーを伝達された制御部130は、検証エラー通知をコントローラ101に送信する(S190)。コントローラ101は、エラー通知を受信すると(S192)、処理を異常終了する。
証明書が承認された場合(S112のY)、制御部130は、乱数発生部121にてチャレンジ鍵Kc1を生成する。そして、生成したチャレンジ鍵Kc1を第1暗号部122および第1復号部123に伝達する。第1復号部123では、このチャレンジ鍵Kc1を内部に保持する(S114)。また、第1暗号部122では、このチャレンジ鍵Kc1を、証明書C[KPd2]から取り出したストレージデバイス200の公開鍵KPd2で暗号化し、暗号化チャレンジ鍵E(KPd2,Kc1)を生成する。そして、生成した暗号化チャレンジ鍵E(KPd2,Kc1)と証明書出力部129から出力される自身の証明書C[KPd1]とを結合し、第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]を生成し、これをコントローラ101へ送信する(S116)。
コントローラ101は、暗号エンジン103から第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]を受信すると(S118)、ストレージデバイス200に対して第1チャレンジ情報検証命令を発行する(S120)。ストレージデバイス200では、コントローラ201が第1チャレンジ情報検証命令を受理すると、第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]の入力をコントローラ101に要求する(S122)。コントローラ101は、この要求に応じて第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]をストレージデバイス200へ出力する(S124)。
ストレージデバイス200は、第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]を受理すると(S126)、暗号エンジン203では、制御部220が、第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]から証明書C[KPd1]を取り出し、これを証明書検証部223に伝達する。証明書検証部223は、伝達された証明書C[KPd1]を検証鍵KPaで検証し、検証結果を制御部220に伝達する(S128)。
証明書が承認されなかった場合(S128のN)、証明書検証部223は検証エラー通知を制御部220へ通知し、検証エラー通知を受けた制御部220はこれをコントローラ201へ通知する。そしてコントローラ201は、受信した検証エラー通知を、ストレージインタフェース202を介してコントローラ101に送信する(S194)。コントローラ101は、検証エラー通知を受信すると(S192)、本処理を異常終了する。
証明書が承認された場合(S128のY)、制御部220は、第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]から、公開鍵KPd1と暗号化チャレンジ鍵E(KPd2,Kc1)を取り出し、それぞれ第1暗号部225、第1復号部224に伝達する。第1暗号部225は、伝達された公開鍵KPd1を保持する。第1復号部224は、伝達された暗号化チャレンジ鍵E(KPd2,Kc1)を自身の秘密鍵Kd2で復号し、チャレンジ鍵Kc1を取り出す(S130)。取り出されたチャレンジ鍵Kc1は、第2暗号部226に伝達される。
一方、コントローラ101は、ストレージデバイス200において第1チャレンジ情報検証命令の処理が終了すると、ストレージデバイス200に対して、第2チャレンジ情報生成命令を発行する(S132)。ストレージデバイス200では、コントローラ201が第2チャレンジ情報生成命令を受理する(S134)と、暗号エンジン203では制御部220の指示に従って、第1暗号部225が、自身が秘密裏に保持する秘密鍵Kp2と対をなす公開鍵KPp2と、自身の識別情報DIDを連結したデータを、公開鍵KPd1で暗号化して暗号化個別情報E(KPd1,KPp2||DID)を生成し、これを第2暗号部226に伝達する。第2暗号部226は、暗号化個別情報E(KPd1,KPp2||DID)を、S130で保持したチャレンジ鍵Kc1で暗号化して第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))を生成する(S136)。
コントローラ101では、ストレージデバイス200において第2チャレンジ情報生成命令の処理が終了すると、第2チャレンジ情報出力命令を発行する(S138)。ストレージデバイス200では、第2チャレンジ情報出力命令を受理する(S140)と、コントローラ201が、暗号エンジン203から第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))を読み出し、コントローラ101へ出力する(S142)。コントローラ101は、ストレージデバイス200から第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))を受信すると、これを暗号エンジン103に送信する(S144)。
暗号エンジン103の制御部130は、第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))を受信すると、第1復号部123に伝達する。第1復号部123は、内部に保持したチャレンジ鍵Kc1で、伝達された第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))を復号し、暗号化個別情報E(KPd1,KPp2||DID)を取り出し、第2復号部124に伝達する。第2復号部124は、これを自身の秘密鍵Kd1で復号してストレージデバイスの公開鍵KPp2と識別情報DIDを取り出し、公開鍵KPp2を第2暗号部125と第3暗号部127に、識別情報DIDを制御部130へ伝達する(S146)。
制御部130は、識別情報DIDを受け取ると、ログ記憶部131に記録されている識別情報DIDと比較する(S150)。このときログ記憶部131には、直前に接続していたストレージデバイスの識別情報DIDが記録されている。一致した場合(S150のY)、前回と同じストレージデバイスであると判断し、ログ記憶部131の記録を残したままS154へ進む。一致しない場合(S150のN)、ストレージデバイスが交換されていると判断する。このとき、ログ記憶部131に記録されている内容は意味をなさなくなる。そこで、ログ記憶部131に記録されている内容を削除し、新たにS146で取得した識別情報DIDを記録する(S152)。このようにして、ストレージデバイス200に対するライセンスデータLICの転送におけるリカバリーに必要な情報をログ記憶部131に保持する準備が整ったことになる。そして、S154に進む。
制御部130は、乱数発生部121にてバス鍵Kb1を生成させ、保持する(S154)。そして、保持したバス鍵Kb1を第2暗号部125及び第3復号部126に伝達する。第2暗号部125では、このバス鍵Kb1を、S146で取得したストレージデバイスの公開鍵KPp2で暗号化し、コネクション情報E(KPp2,Kb1)を生成する。そして、生成したコネクション情報E(KPp2,Kb1)をコントローラ101へ送信する(S156)。
コントローラ101は、暗号エンジン103からコネクション情報E(KPp2,Kb1)を受信すると(S158)、ストレージデバイス200に対してコネクション情報入力命令を発行する(S160)。ストレージデバイス200では、コントローラ201がコネクション情報入力命令を受理すると、コネクション情報E(KPp2,Kb1)の入力をコントローラ101に要求する(S162)。コントローラ101は、この要求に応じてコネクション情報E(KPp2,Kb1)をストレージデバイス200へ出力する(S164)。
ストレージデバイス200は、コネクション情報E(KPp2,Kb1)を受理すると、暗号エンジン203では、第2復号部227が、コネクション情報E(KPp2,Kb1)を、内部に保持する自身の秘密鍵Kp2で復号して、バス鍵Kb1を取り出し(S166)、これを内部に保持する(S168)。保持されたバス鍵Kb1は、第3暗号部228に伝達される。ここまでの手順において、暗号エンジン103と暗号エンジン203の間で、バス鍵Kb1が共有された。
一方、コントローラ101は、ストレージデバイス200においてコネクション情報入力命令の処理が終了すると、通常のライセンスデータの書込転送処理(LICライト転送処理)を行うためS180に進む。そして、ライセンスデータLICの書込を行う(S180)。ライセンスデータの書込転送処理(LICライト転送処理)については、後に詳細に説明する。
コントローラ101は、S180が終了すると、新たなライセンスデータLICを書き込むか否か判断する(S182)。新たなライセンスデータLICをストレージデバイス200に書き込む場合(S182のY)、再びS180に戻ってライセンスデータの書込を行う。新たなライセンスデータLICの書込を行わない場合(S182のN)、処理を終了する。
図14は、図13におけるライセンスデータの書込転送処理(LICライト転送処理)のフローチャートである。本フローチャートに示す処理の前に、暗号エンジン103とストレージデバイス200(暗号エンジン203)はバス鍵Kb1を共有し、暗号エンジン103はストレージデバイス200の公開鍵KPp2を保持し、かつ、暗号エンジン103のログ記憶部131にはストレージデバイス200の識別情報DIDが記録されている。
コントローラ101は、ストレージデバイス200に対して、セッション情報生成命令を発行する(S200)。ストレージデバイス200では、コントローラ201がセッション情報生成命令を受理する(S202)と、暗号エンジン203では制御部220の指示に従って、乱数発生部221がセッション鍵Ks2を生成し、生成したセッション鍵Ks2を、第3暗号部228、第3復号部229に伝達する(S204)。続いて、第3暗号部228は、バス鍵Kb1で、伝達されたセッション鍵Ks2を暗号化してセッション情報E(Kb1,Ks2)を生成する(S206)。コントローラ101では、ストレージデバイス200においてセッション情報生成命令の処理が終了すると、セッション情報出力命令を発行する(S208)。ストレージデバイス200では、セッション情報出力命令を受理する(S210)と、コントローラ201が、暗号エンジン203からセッション情報E(Kb1,Ks2)を読み出し、コントローラ101へ出力する(S212)。
コントローラ101は、ストレージデバイス200からセッション情報E(Kb1,Ks2)を受信すると(S214)、これとストレージデバイス200のアドレスデータADRを連結して暗号エンジン103に送信する(S216)。アドレスデータADRは、後でライセンスデータLICを記録する際に指定するアドレスである。
暗号エンジン103の制御部130は、アドレスデータが連結されたセッション情報E(Kb1,Ks2)||ADRを受信すると、セッション情報E(Kb1,Ks2)とアドレスデータADRに分割し、セッション情報E(Kb1,Ks2)を第3復号部126に伝達する。第3復号部126は、乱数発生部121から伝達されたバス鍵Kb1で、このセッション情報E(Kb1,Ks2)を復号し、Ks2を取り出す(S218)。
制御部130は、ライセンスデータ書込処理の失敗に備えて、ライセンスデータLICと、分離したアドレスデータADRを、ライセンス転送先であるストレージデバイス200を特定する情報(識別情報DID)に関係付けてログ記憶部131に追記する(S220)。ログ記憶部131への記録は、電源断などの不慮の事故によってライセンスデータ書込処理が中断した様な場合も対象とした、ライセンスデータ再書込処理に利用することを目的としているため、静的に記録される。
続いて、暗号エンジン103の第3暗号部127は、ライセンスデータLICをストレージデバイス200の公開鍵KPp2で暗号化してE(KPp2,LIC)を生成し、これを第4暗号部128に伝達する。第4暗号部128は、伝達されたE(KPp2,LIC)を、さらにストレージデバイス200が発行したセッション鍵Ks2で暗号化して暗号化ライセンスデータE(Ks2,E(KPp2,LIC))を生成し、これをコントローラ101に伝達する(S222)。
コントローラ101は、暗号エンジン103から送信された暗号化ライセンスデータE(Ks2,E(KPp2,LIC))を受信する(S224)と、ストレージデバイス200に対してライセンスデータ書込命令を発行する(S226)。このライセンス書込命令は、耐タンパ記憶部204上の記録位置を指定するアドレスデータADRを伴っている。このアドレスデータADRは、S216で暗号エンジン103に送信したものと同じ値である。ここでアドレスとは、論理アドレスを示し、耐タンパ記憶部204における記録位置を直接指定するものではないが、アドレスを指定して記録したデータは、同じアドレスを指定することで読み出せるように、コントローラ201によって管理されている。しかしながら、耐タンパ記憶部204における位置を示す物理アドレスであってもよい。
ストレージデバイス200では、コントローラ101が発行したライセンス書込命令を受理すると、暗号化ライセンスデータをコントローラ101に要求し(S228)、コントローラ101は、この要求に応じて、暗号化ライセンスデータE(Ks2,E(KPp2,LIC))をストレージデバイス200へ出力する(S230)。
ストレージデバイス200は、暗号化ライセンスデータE(Ks2,E(KPp2,LIC))を受理すると、これを暗号エンジン203内の第3復号部229に伝達する。第3復号部229は、内部に保持しているセッション鍵Ks2で暗号化ライセンスデータE(Ks2,E(KPp2,LIC))を復号し、自身の公開鍵KPp2で暗号化されたライセンスデータE(KPp2,LIC)を取り出す。そして、取り出された暗号化ライセンスデータE(KPp2,LIC)は第4復号部230に伝達される。
第4復号部230は、伝達された暗号化ライセンスデータE(KPp2,LIC)を、公開鍵KPp2と対の秘密鍵Kp2で復号してライセンスデータLICを取り出し(S244)、これをローカルバス240を介して制御部220に伝達する。
制御部220は、ライセンスデータLICから識別情報LIDを取り出して、ログ記憶部131に伝達する。また、ライセンスデータLICをデータバス210へ出力する。コントローラ201は、データバス210に出力されたライセンスデータLICを耐タンパ記憶部204の指定されたアドレスADRに記憶する(S246)。続いて、完了通知をコントローラ101に出力する(S248)。
コントローラ101は、ストレージデバイス200から出力された完了通知を受信すると、これを暗号エンジン103に出力する(S250)。暗号エンジン103では、完了通知を受信すると(S252)、LIDを確認し、該当するADR||LIDをログ記憶部131から削除し(S254)、本処理を終了する。
以上の手順により、暗号化されたコンテンツを復号し再生するために必要なライセンスデータLICがストレージデバイス200に記録される。暗号化コンテンツは、通常データであり、ストレージデバイス200の通常コマンドによって記録されるため、ここでは説明を省略する。
なお、ライセンスデータLICと暗号化コンテンツデータの記録順序は、いずれが先であってもかまわない。さらには、暗号化コンテンツデータの記録における空き時間に、セキュアコマンドを分割して発行することで、ライセンスデータLICを記録するようにしてもよい。
ストレージデバイス200から記録再生装置100へライセンスデータを送信する場合にも、上記と同様の手順により、両者の暗号エンジンによる暗号通信が行われる。一次利用ライセンスデータを記録再生装置100からストレージデバイス200へ記録するとき、ストレージデバイス200に記録された一次利用ライセンスデータを記録再生装置100が読み出すとき、及び、二次利用ライセンスデータを記録再生装置100からストレージデバイス250へ記録するときに、上述したような暗号通信路を用いてライセンスデータを送受信することにより、ライセンスデータの漏洩を防止し、コンテンツデータを保護することができる。
(実施の形態)
つづいて、前提技術を利用して、私的なバックアップのためにコンテンツデータを複製する技術について説明する。
図15は、実施の形態に係るコンテンツ管理装置の一例であるカーナビゲーション装置の構成を示す。カーナビゲーション装置400は、操作部401、制御部402、地図データ処理部403、機器ID保持部404、ビデオメモリ405、表示部406、ストレージインタフェース102、暗号エンジン103、ライセンス判読部108、コンテンツ復号部111を備える。カーナビゲーション装置400において表示される地図のデータは、着脱自在なハードディスク装置であるストレージデバイス200に格納されている。前提技術で説明した図2の記録再生装置100と同様の構成には同じ符号を付している。
操作部401は、ユーザから操作指示を受け付ける。制御部402は、操作部401を介してユーザから受け付けた操作指示に応じて他の構成を制御し、現在地や目的地などの周辺の地図を表示させたり、目的地を設定したり、目的地への経路を探索して表示したりといったカーナビゲーションシステムの機能を実現させる。地図データ処理部403は、制御部402からの指示に応じて、コンテンツ復号部111により復号された地図データを処理してビデオメモリ405へ転送し、表示部406に表示させる。
地図データは、ストレージデバイス200に格納されてユーザに提供される。ストレージデバイス200において、地図データはコンテンツ鍵Kcにより暗号化されて通常データ記憶部205に格納されており、コンテンツ鍵Kcは、ライセンスデータの一部として耐タンパ記憶部204に格納されている。
本実施の形態では、ストレージデバイス200の地図データを不正に複製して、他の装置で利用することは禁止しつつ、ストレージデバイス200の故障などに備えて、バックアップを目的としてストレージデバイス250に複製することを許可することにより、ユーザの利便性を向上させる技術を提案する。
本実施の形態では、前提技術で説明した「binded Kc」を用いて、バックアップ用にデータを複製したストレージデバイス250は、ユーザの所有するカーナビゲーション装置400のみで利用可能とし、他の装置では地図データを利用できないようにする。すなわち、ストレージデバイス250に複製した暗号化地図データの復号鍵であるコンテンツ鍵Kcを、カーナビゲーション装置400に固有で、かつ、外部に漏洩しないように秘匿されている情報、例えば機器IDを用いて暗号化又はスクランブルして、「binded Kc」として記録しておく。これにより、不正な複製により複数の機器で地図データが利用されることを防止することができる。
従来のように、ユーザの所有するカーナビゲーション装置400のみで地図データを利用可能とし、他の装置では利用できないようにするために、カーナビゲーション装置400に固有な情報、例えば機器IDに紐付けした地図データを格納したストレージデバイス200を出荷することも可能であるが、出荷時に機器ごとに異なるデータをストレージデバイス200に格納する必要があるので、製造・出荷コストの観点で好ましくない。
ユーザが購入したストレージデバイス200に格納されたオリジナルのコンテンツ鍵Kcは、機器IDに紐付けせず、他の装置でも利用可能とする。このストレージデバイス200に格納された暗号化地図データとライセンスデータを元にして、複数のストレージデバイスに複製を生成することを許可すると、他装置で利用することが可能な地図データを格納したストレージデバイスが複数生成できることになってしまう。したがって、本実施の形態では、オリジナルのコンテンツ鍵Kcを含むライセンスデータは、そのままの状態では複製禁止とする。ストレージデバイス250にバックアップ用のライセンスデータを格納する前に、ストレージデバイス200に記録されたオリジナルのライセンスデータ内のコンテンツ鍵Kcも機器に紐付けし、他の装置では使用できないようにする。そして、この紐付けされたライセンスデータを複製することで、ストレージデバイス250にバックアップ用のライセンスデータを複製する。これにより、不正な複製による地図データの利用を防止することができる。ストレージデバイス200に記録されているオリジナルのコンテンツ鍵Kcの紐付けは、地図データの利用を開始するときに行われても、最初にバックアップのためにライセンスデータを他のストレージデバイスに複製するときに行われてもよく、最初に複製を作成するときまでのいずれのタイミングで行われてもよい。
このように、本実施の形態では、出荷時にはストレージデバイス200に同じデータを格納しておき、ユーザが使用を開始するときに、又は、ユーザがバックアップ用に最初に複製するときに機器IDに紐付けし、紐付けられたカーナビゲーション装置400でしか利用できないようにする。これにより、ストレージデバイス200の製造コストを低減させることができる。
図16(a)(b)は、ストレージデバイスの内部データを模式的に示す。ここで、「Data」は地図データである。また、利用制御情報としてCCI(Copy Control Information)を採用する。CCIは、「Never Copy」、「Copy One Generation」、「No More Copy」、「Not Asserted」の4状態をとり、それぞれ、「複製の禁止」、「第1世代のみ複製許可」、「複製であり以降の複製禁止」、「複製について制限無し」を示している。図16(a)は、オリジナルのストレージデバイス200の内部データを示す。工場出荷時のストレージデバイス200は、通常データ記憶部205に、コンテンツ鍵Kcで暗号化された地図データE(Kc,Data)が格納されており、耐タンパ記憶部204に、コンテンツ鍵Kcと、複製できないことを示すCCI(Never Copy)を含むライセンスデータが格納されている。図16(b)は、複製後のストレージデバイス200と、複製先のストレージデバイス250の内部データを示す。複製後のストレージデバイス200のライセンスデータは、「binded Kc」と、「binded Kc」が紐付けられた機器を類推するための情報である「biding info」と、第1世代の複製であることを示すCCI(Copy One Generation)を含むライセンスデータに置き換えられている。これにより、バックアップのためにライセンスデータを複製することが可能となる。通常データ記憶部205に格納されている暗号化地図データE(Kc,Data)はそのままであり、再暗号は行われない。複製先のストレージデバイス250は、通常データ記憶部205に、暗号化地図データE(Kc,Data)が複製されており、耐タンパ記憶部204に、「binded Kc」と、「binding info」と、コピーできないことを示すCCI(No More Copy)を含むライセンスデータが格納されている。なお、「No More Copy」の代わりに「Never Copy」としてもよい。
つづいて、各構成の動作について説明する。まず、オリジナルのライセンスデータを機器に紐付けするときの動作について説明する。ユーザが操作部401を介してストレージデバイス200に格納された地図データの利用又はライセンスデータの複製を要求すると、制御部402は、まずストレージインタフェース102と暗号エンジン103を制御して、ストレージデバイス200からコンテンツ鍵Kcを含むライセンスデータを読み出させる。読み出されたライセンスデータはライセンス判読部108に送られ、コンテンツ鍵Kcが機器IDに紐付けられているか否かを判定される。紐付けられていなければ、ライセンス判読部108は、読み出されたライセンスデータが複製ではないオリジナルのライセンスデータであると判定する。オリジナルのライセンスデータである場合は、制御部402は、ライセンス生成部407を制御して、読み出されたライセンスデータ内のコンテンツ鍵Kcを、機器ID保持部404に保持されている機器IDで暗号化し、「binded Kc」を生成し、ライセンスデータ内のコンテンツ鍵Kcを「binded Kc」に変更する。ライセンス生成部407は、さらに、ライセンスデータのCCI(Copy Control Information)を「Copy One Generation」に変更するとともに、カーナビゲーション装置400の機器IDを類推するための情報(機器IDとは異なる情報)、例えば、カーナビゲーション装置400の製造番号などをライセンスデータに追加する。こうして生成されたライセンスデータは、暗号エンジン103、ストレージインタフェース102を介してストレージデバイス200に転送され、ストレージデバイス200の耐タンパ記憶部204に記録されていたライセンスデータに上書きされて置き換えられる。これにより、ストレージデバイス200に記録されたライセンスデータを用いた地図データの利用は、このカーナビゲーション装置400以外の機器ではできなくなる。
ストレージデバイス250にライセンスデータを複製するときは、ライセンス生成部407は、複製先のストレージデバイス250に記録するライセンスデータとして、「binded Kc」と、カーナビゲーション装置400の機器IDを類推するための情報(binding info)と、CCIとして「No More Copy」又は「Never Copy」がセットされたライセンスデータを生成する。生成されたライセンスデータは、暗号エンジン103を介してストレージデバイス250に転送され、ストレージデバイス250の耐タンパ記憶部に記録される。暗号化地図データについては、通常のデータと同様に扱ってよいので、カーナビゲーション装置400により複製されてもよいし、パーソナルコンピュータなどの別の装置を用いて複製されてもよい。
さらに別のストレージデバイスにバックアップをとる場合、暗号エンジン103を有し、ライセンスデータの入出力が可能な別の装置を用いて、複製元のストレージデバイス200から別のストレージデバイスに複製されてもよい。この場合も、コンテンツ鍵Kcは、最初に複製を生成したカーナビゲーション装置400の機器IDに紐付けされているので、そのカーナビゲーション装置400でないと利用できない。
つづいて、ストレージデバイス200の地図データを読み出すときの動作について説明する。ストレージデバイス200に格納されたコンテンツ鍵が、機器IDに紐付けられていない間は、暗号エンジン103を介してライセンスデータを読み出すことにより、コンテンツ鍵Kcが得られるので、コンテンツ復号部111は、ストレージデバイス200に格納された地図データを復号することができる。ストレージデバイス200のデータをストレージデバイス250に複製して、コンテンツ鍵が機器IDに紐付けられている場合は、ライセンス判読部108は、暗号エンジン103を介して読み出されたライセンスデータを解析してコンテンツ鍵Kcを得る。ライセンス判読部108は、まず、ライセンスデータに含まれる、「binding info」を参照して、このライセンスデータが、自装置に紐付けられたものであるか否かを判定する。ライセンスデータが、自装置に紐付けられていると判定されると、ライセンス判読部108は、機器ID保持部404から機器IDを読み出し、読み出した機器IDを用いて「binded Kc」からコンテンツ鍵Kcを得る。得られたコンテンツ鍵Kcはコンテンツ復号部111へ通知される。これにより、コンテンツ復号部111は、暗号化された地図データを復号することができる。複製されたストレージデバイス250の地図データも同様にして復号することができる。
ライセンスデータが紐付けられた装置以外の装置は、紐付けられた機器IDを知ることができないので、コンテンツ鍵Kcを得ることができない。したがって、暗号化された地図データやライセンスデータを不正に複製したとしても、地図データを復号することはできない。これにより、不正な利用を防ぎ、著作権を適切に保護することができる。
図17は、カーナビゲーション装置の別の構成例を示す。図17に示したカーナビゲーション装置400は、図15に示したカーナビゲーション装置400の構成に加えて、モデルID保持部408を更に備える。モデルIDは、同種の装置群を識別するために付与されたものであり、カーナビゲーション装置400の工場出荷時にモデルID保持部408に格納される。
図18(a)(b)は、図17に示した例におけるストレージデバイスの内部データを模式的に示す。図18(a)に示した例では、ストレージデバイス200に格納されたライセンスデータは、工場出荷時に、コンテンツ鍵が、同種の装置群を識別するための付与されたモデルIDに紐付けられている。したがって、カーナビゲーション装置400がストレージデバイス200に格納された地図データを復号したり、ライセンスデータを複製したりするとき、ライセンス判読部108は、暗号エンジン103を介して取得したライセンスデータに含まれる、モデルIDに紐付けられたコンテンツ鍵Kcから、モデルID保持部408より読み出したモデルIDを用いて、コンテンツ鍵Kcを得る。なお、読み出したライセンスデータ内のコンテンツ鍵Kcが、モデルIDに紐付けされているか、カーナビゲーション装置400に紐付けされているかは、「binding info」によって判断される。カーナビゲーション装置400が利用可能なライセンスデータは、コンテンツ鍵Kcがカーナビゲーション装置400自身の機器ID又はカーナビゲーション装置400が属する装置群のモデルIDに紐付けされているものである。また、カーナビゲーション装置400が属する装置群のモデルIDに紐付けされたコンテンツ鍵Kcを含むライセンスデータは、オリジナルのライセンスデータである。図18(b)は、複製後のストレージデバイス200と、複製先のストレージデバイス250の内部データを示す。複製後のストレージデバイス200及びストレージデバイス250の内部データは、図16(b)に示した例と同様である。
図19は、カーナビゲーション装置の更に別の構成例を示す。図19に示したカーナビゲーション装置400は、図17に示したカーナビゲーション装置400の構成に加えて、ライセンスメモリ409を更に備える。ライセンスメモリ409は、外部に漏洩しないように秘匿されたメモリであり、ライセンス判読部108においてモデルID又は機器IDで復号された紐付けされていないコンテンツ鍵Kcを含むライセンスデータを一時的に又は継続的に保持する。
図20(a)(b)は、図19に示した例におけるストレージデバイスの内部データを模式的に示す。図20(a)に示した例は、図18(a)に示したストレージデバイス200の内部データと同様である。このストレージデバイス200の利用を開始するとき、又は、複製を作成するときに、ライセンス判読部108は、暗号エンジン103を介して取得したライセンスデータに含まれる、モデルIDに紐付けられたコンテンツ鍵Kcから、モデルID保持部408より読み出したモデルIDを用いて、コンテンツ鍵Kcを得る。制御部402は、得られたコンテンツ鍵Kcをライセンスメモリ409に格納する。ライセンスメモリ409に格納されたコンテンツ鍵Kcは、バックアップのための複製が終了すると消去されてもよいし、ライセンスメモリ409にコンテンツ鍵Kcを継続的に保持して、以降、コンテンツ復号部111は、ライセンスメモリ409に格納されたコンテンツ鍵Kcを用いて暗号化地図データを復号してもよい。図20(b)は、複製後のストレージデバイス200と、複製先のストレージデバイス250の内部データを示す。ライセンスメモリ409に格納されたコンテンツ鍵Kcを複製元として、ストレージデバイス200及びストレージデバイス250に「binded Kc」が複製される。オリジナルのストレージデバイス200のコンテンツ鍵をいったんライセンスメモリ409へムーブし(ストレージデバイス200から削除する)、ライセンスメモリ409から元のストレージデバイス200と複製先のストレージデバイス250へ、カーナビゲーション装置400に紐付けされた「binded Kc」をコピーしたことと同じである。
以上、本発明に係る実施の形態について説明したが、この実施の形態は例示であり、本発明はこの実施の形態に限定されるものではなく、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
たとえば、上記の実施の形態では、暗号エンジン内において暗号化を行う機能ブロックと復号を行う機能ブロックとを別個に設けたが、これらの構成要素において回路を共有してもよい。これにより、回路規模を抑え、小型化、低消費電力化に寄与することができる。
実施の形態では、紐付け、地図データの利用、ライセンスデータの複製における、ストレージデバイス200からライセンスデータを読み出す処理を別々に説明したが、地図データの利用の要求に対して紐付けが行われる場合、2つの処理におけるライセンスデータの読み出しを共通化することができる。同様に、ライセンスデータの複製の要求に対して紐付けが行われる場合、2つの処理におけるライセンスデータの読み出しを共通化することができる。
ストレージデバイス間のライセンスデータの複製又は移動が許可されている場合は、前提技術と同様の方法によりライセンスデータを他のストレージデバイスへ複製又は移動してもよい。ライセンスデータを移動する場合には、ライセンスデータの複製が完了した後に、元のライセンスデータを格納していたストレージデバイスからライセンスデータを削除する。
実施の形態では、ストレージデバイス200を、ストレージデバイス250と同じ機能を持つものとして説明したが、必ずしも暗号エンジンを備える必要はない。記録再生装置100のみが復号可能な暗号化を一次利用ライセンス全体に施して記録していればよい。この場合、一次利用ライセンスデータ全体が、記録再生装置100に対して紐付きで記録されていることになるため、本実施の形態において説明したようにコンテンツ鍵を紐付きにする必要はない。
実施の形態では、暗号化地図データとオリジナルライセンスデータを格納したストレージデバイス200を出荷する例を示しているが、暗号化地図データとオリジナルライセンスデータはインターネットなどのネットワークを介してサーバ装置などから配信されてもよい。この場合であっても、サーバ装置は同じデータを配信すればよく、管理コストも削減される。ユーザも機器の関する情報を配信サーバに送信する必要が無く、ユーザの利便性も良くなる。
実施の形態では、地図データとカーナビゲーション装置を例にとって説明したが、地図データ及びカーナビゲーション装置に限定されるものではない。例えば、ビデオデータ、オーディオデータ、プロクラムなど、コンテンツデータ全般を対象とすることが可能であり、このコンテンツデータを管理するコンテンツ管理装置に適応可能である。
前提技術に係るデータ管理システムの全体構成を示す図である。 前提技術に係る記録再生装置の内部構成を示す図である。 一次利用ライセンス生成部及びコンテンツ暗号部の内部構成を示す図である。 ライセンスデータのデータ構造を示す図である。 ライセンス判読部の内部構成を示す図である。 一次利用ライセンス生成部及びコンテンツ暗号部の内部構成の別の例を示す図である。 ライセンス判読部の内部構成の別の例を示す図である。 ストレージデバイス及びの内部構成を示す図である。 図2に示した記録再生装置の暗号エンジンの内部構成を示す図である。 図2に示した記録再生装置の暗号エンジンの内部構成を示す図である。 図8に示したストレージデバイスの暗号エンジンの内部構成を示す図である。 記録再生装置がストレージデバイスにライセンスデータを記録するまでの手順を示す図である。 記録再生装置がストレージデバイスにライセンスデータを記録するまでの手順を示す図である。 図13におけるライセンスデータの書込転送処理のフローチャートである。 実施の形態に係るカーナビゲーション装置の構成を示す図である。 図16(a)(b)は、ストレージデバイスの内部データを模式的に示す図である。 カーナビゲーション装置の別の構成例を示す図である。 図18(a)(b)は、図17に示した例におけるストレージデバイスの内部データを模式的に示す図である。 カーナビゲーション装置の更に別の構成例を示す図である。 図20(a)(b)は、図19に示した例におけるストレージデバイスの内部データを模式的に示す図である。
符号の説明
1 データ管理システム、20 記憶媒体、100 記録再生装置、101 コントローラ、103 暗号エンジン、104 コンテンツ暗号部、107 一次利用ライセンス生成部、108 ライセンス判読部、109 二次利用ライセンス生成部、111 コンテンツ復号部、162 ID整形部、163 コンテンツ鍵暗号部、164 ライセンスデータフォーマッタ、166 演算部、171 形式解析部、172 ID整形部、173 コンテンツ鍵復号部、176 演算部、200 ストレージデバイス、201 コントローラ、202 ストレージインタフェース、203 暗号エンジン、204 耐タンパ記憶部、205 通常データ記憶部、300 ライセンス利用装置、400 カーナビゲーション装置、401 操作部、402 制御部、403 地図データ処理部、404 機器ID保持部、405 ビデオメモリ、406 表示部、407 ライセンス生成部、408 モデルID保持部、409 ライセンスメモリ。

Claims (16)

  1. コンテンツ鍵により暗号化されたコンテンツデータと、前記コンテンツ鍵とを格納した可搬型の記憶装置から、前記暗号化されたコンテンツデータを利用するために、又は、前記コンテンツ鍵を複製するために前記コンテンツ鍵を読み出すときに、
    前記コンテンツデータの利用又は前記コンテンツ鍵の複製の要求を受け付けるステップと、
    前記記憶装置から前記コンテンツ鍵を読み出すステップと、
    読み出した前記コンテンツ鍵が、前記コンテンツ鍵を用いて前記暗号化されたコンテンツデータを復号可能な利用装置に固有で、かつ、外部に漏洩しないように秘匿された情報を用いて暗号化されているか否かを判定するステップと、
    前記コンテンツ鍵が暗号化されていない場合、前記利用装置に固有で、かつ、外部に漏洩しないように秘匿された情報を用いて、前記コンテンツ鍵を暗号化するステップと、
    暗号化された前記コンテンツ鍵を前記記憶装置に送り、前記コンテンツ鍵に換えて記録するステップと、
    を含むことを特徴とするコンテンツ管理方法。
  2. 前記コンテンツ鍵の複製の要求を受け付けたとき、前記暗号化されたコンテンツ鍵を、複製先の記憶装置に記録するステップを更に含むことを特徴とする請求項1に記載のコンテンツ管理方法。
  3. 外部に漏洩しないように秘匿されたメモリに、読み出した前記コンテンツ鍵を保持するステップを更に含むことを特徴とする請求項1又は2に記載のコンテンツ管理方法。
  4. 前記装置は、同種の装置群を識別するために付与されたモデルIDを保持しており、
    前記コンテンツ鍵は、前記モデルIDにより暗号化されており、
    前記コンテンツ鍵を暗号化するステップの前に、前記モデルIDを用いて暗号化されたコンテンツ鍵を復号するステップを更に含むことを特徴とする請求項1から3のいずれかに記載のコンテンツ管理方法。
  5. 前記装置に固有で、かつ、外部に漏洩しないように秘匿された情報は、前記装置のIDであることを特徴とする請求項1から4のいずれかに記載のコンテンツ管理方法。
  6. 前記コンテンツ鍵は、前記記憶装置と前記装置との間で、暗号化されて入出力されることを特徴とする請求項1から5のいずれかに記載のコンテンツ管理方法。
  7. 前記コンテンツデータの利用の要求を受け付けたときに、
    前記記憶装置から前記コンテンツ鍵を読み出すステップと、
    読み出したコンテンツ鍵が、前記利用装置に固有で、かつ、外部に漏洩しないように秘匿された情報で暗号化されているか否かを判定するステップと、
    前記コンテンツ鍵が暗号化されていた場合、自装置に固有で、かつ、外部に漏洩しないように秘匿された情報を用いて、前記コンテンツ鍵を復号するステップと、
    前記記憶装置から前記暗号化されたコンテンツデータを読み出すステップと、
    復号した前記コンテンツ鍵を用いて、読み出した前記暗号化されたコンテンツデータを復号するステップと、
    を更に含むことを特徴とする請求項1から6のいずれかに記載のコンテンツ管理方法。
  8. 前記コンテンツデータは、地図データであり、前記装置は、カーナビゲーション装置であることを特徴とする請求項1から7のいずれかに記載のコンテンツ管理方法。
  9. 暗号化されたコンテンツデータを復号するためのコンテンツ鍵を、可搬型の記憶装置との間で入出力する入出力部と、
    自装置に固有の情報を外部に漏洩しないように保持する固有情報保持部と、
    前記コンテンツ鍵を、前記固有の情報で暗号化する生成部と、
    前記コンテンツ鍵を用いた前記コンテンツデータの利用、又は、前記コンテンツ鍵の複製の要求を受け付ける操作部と、
    前記コンテンツデータの利用又は前記コンテンツ鍵の複製の要求を受け付けたときに、前記記憶装置に格納された前記コンテンツ鍵を前記入出力部により取得し、取得したコンテンツ鍵を前記生成部により前記自装置に固有の情報で暗号化し、暗号化された前記コンテンツ鍵を前記入出力部により前記記憶装置に送り、元のコンテンツ鍵に換えて記録させる制御部と、
    を備えることを特徴とするコンテンツ管理装置。
  10. 前記制御部は、前記コンテンツデータの複製の要求を受け付けたときに、前記暗号化されたコンテンツ鍵を前記入出力部により複製先の記憶装置に送り、記録させることを特徴とする請求項9に記載のコンテンツ管理装置。
  11. 前記コンテンツ鍵を格納するための、外部に漏洩しないように秘匿されたライセンスメモリを更に備え、
    前記制御部は、前記コンテンツデータの利用又は前記コンテンツ鍵の複製の要求を受け付けたときに、前記記憶装置に格納された前記コンテンツ鍵を前記ライセンスメモリにムーブし、前記ライセンスメモリに格納された前記コンテンツ鍵を前記生成部により前記固有の情報で暗号化し、暗号化された前記コンテンツ鍵を前記入出力部により前記記憶装置に送って前記記憶装置に複製することを特徴とする請求項9又は10に記載のコンテンツ管理装置。
  12. 同種の装置群を識別するために付与されたモデルIDを保持するモデルID保持部と、
    前記記憶装置から取得した前記コンテンツ鍵が前記モデルIDで暗号化されていたときに、前記モデルID保持部に保持された前記モデルIDで復号して前記コンテンツ鍵を取得するライセンス判読部と、
    を更に備えることを特徴とする請求項9から11のいずれかに記載のコンテンツ管理装置。
  13. 前記固有の情報は、当該コンテンツ管理装置の機器IDであることを特徴とする請求項9から12のいずれかに記載のコンテンツ管理装置。
  14. 前記入出力部は、前記記憶装置との間で前記コンテンツ鍵を入出力する際に、前記コンテンツ鍵を暗号化して入出力することを特徴とする請求項9から13のいずれかに記載のコンテンツ管理装置。
  15. 当該コンテンツ管理装置に固有の情報で暗号化されたコンテンツ鍵を復号するライセンス判読部と、
    前記暗号化されたコンテンツデータを前記コンテンツ鍵で復号するコンテンツ復号部と、を更に備え、
    前記制御部は、前記コンテンツデータの復号の要求を受け付けたときに、前記記憶装置に格納された前記コンテンツ鍵を前記入出力部により取得し、取得したコンテンツ鍵が暗号化されていた場合、前記ライセンス判読部により前記コンテンツ鍵を復号して前記コンテンツ復号部に供給し、前記記憶装置から取得した暗号化されたコンテンツデータを前記コンテンツ復号部により復号することを特徴とする請求項9から14のいずれかに記載のコンテンツ管理装置。
  16. 前記コンテンツデータは地図データであり、当該コンテンツ管理装置はカーナビゲーション装置であることを特徴とする請求項9から15のいずれかに記載のコンテンツ管理装置。
JP2006132025A 2006-05-10 2006-05-10 コンテンツ管理方法及び装置 Pending JP2007304822A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006132025A JP2007304822A (ja) 2006-05-10 2006-05-10 コンテンツ管理方法及び装置
US12/300,238 US20090210724A1 (en) 2006-05-10 2007-03-26 Content management method and content management apparatus
PCT/JP2007/000297 WO2007129434A1 (ja) 2006-05-10 2007-03-26 コンテンツ管理方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006132025A JP2007304822A (ja) 2006-05-10 2006-05-10 コンテンツ管理方法及び装置

Publications (1)

Publication Number Publication Date
JP2007304822A true JP2007304822A (ja) 2007-11-22

Family

ID=38667547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006132025A Pending JP2007304822A (ja) 2006-05-10 2006-05-10 コンテンツ管理方法及び装置

Country Status (3)

Country Link
US (1) US20090210724A1 (ja)
JP (1) JP2007304822A (ja)
WO (1) WO2007129434A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012014333A (ja) * 2010-06-30 2012-01-19 Konami Digital Entertainment Co Ltd ゲームシステム、サーバ装置、ゲーム制御方法、サービス方法、ゲームシステム用プログラム、ならびに、サーバ用プログラム
JP2012151805A (ja) * 2011-01-21 2012-08-09 Sharp Corp データ暗号化装置、及び、メモリカード
JP2012209932A (ja) * 2011-03-28 2012-10-25 Via Technologies Inc データの暗号化方法及びシステム並びにデータの復号方法
JP2014523031A (ja) * 2011-06-30 2014-09-08 サムスン エレクトロニクス カンパニー リミテッド コンテンツを保護するための格納装置及びホスト装置とその方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8738537B2 (en) * 2003-11-21 2014-05-27 Intel Corporation System and method for relicensing content
US20070067309A1 (en) 2005-08-05 2007-03-22 Realnetworks, Inc. System and method for updating profiles
US20090307503A1 (en) * 2008-06-10 2009-12-10 Condel International Technologies Inc. Digital content management systems and methods
JP2010010824A (ja) * 2008-06-24 2010-01-14 Toshiba Corp 電子装置、および著作権保護チップ
EP2192514A1 (en) * 2008-11-26 2010-06-02 Thomson Licensing Method and system for processing digital content according to a workflow
US9237310B2 (en) 2008-11-26 2016-01-12 Thomson Licensing Method and system digital for processing digital content according to a workflow
US20100250502A1 (en) * 2009-03-27 2010-09-30 Kiyokazu Saigo Method and apparatus for contents de-duplication
JP5296195B2 (ja) * 2009-04-16 2013-09-25 株式会社東芝 コンテンツデータ再生システム、及び記録装置
US9276935B2 (en) * 2009-05-27 2016-03-01 Microsoft Technology Licensing, Llc Domain manager for extending digital-media longevity
EP2348452B1 (en) 2009-12-18 2014-07-02 CompuGroup Medical AG A computer implemented method for sending a message to a recipient user, receiving a message by a recipient user, a computer readable storage medium and a computer system
TW201122898A (en) * 2009-12-18 2011-07-01 Hannstar Display Corp Digital data management system and method.
EP2348450B1 (en) * 2009-12-18 2013-11-06 CompuGroup Medical AG Database system, computer system, and computer-readable storage medium for decrypting a data record
EP2348447B1 (en) 2009-12-18 2014-07-16 CompuGroup Medical AG A computer implemented method for generating a set of identifiers from a private key, computer implemented method and computing device
EP2365456B1 (en) 2010-03-11 2016-07-20 CompuGroup Medical SE Data structure, method and system for predicting medical conditions
US20110289054A1 (en) * 2010-05-19 2011-11-24 Southern Company Services Content Management Migration Manager System and Method
US8675864B2 (en) 2010-09-14 2014-03-18 CompuGroup Medical AG Apparatus for encrypting data
US9295082B2 (en) * 2011-04-27 2016-03-22 At&T Mobility Ii Llc Distributed machine-to-machine connectivity
US9184917B2 (en) * 2011-05-27 2015-11-10 Google Technology Holdings LLC Method and system for registering a DRM client
US9197407B2 (en) * 2011-07-19 2015-11-24 Cyberlink Corp. Method and system for providing secret-less application framework
DE102016118724A1 (de) 2016-10-04 2018-04-05 Prostep Ag Verfahren zur elektronischen Dokumentation von Lizenzinformationen
US10438006B2 (en) 2017-07-27 2019-10-08 Citrix Systems, Inc. Secure information storage

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4176945B2 (ja) * 2000-07-10 2008-11-05 富士通株式会社 データ入出力装置
JP4269501B2 (ja) * 2000-09-07 2009-05-27 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
JP4422372B2 (ja) * 2001-10-23 2010-02-24 トヨタ自動車株式会社 地図データ処理装置
US7305484B2 (en) * 2001-12-07 2007-12-04 Matsushita Electric Industrial Co., Ltd. Media contents distribution system and method
US7631184B2 (en) * 2002-05-14 2009-12-08 Nicholas Ryan System and method for imposing security on copies of secured items
JP2005115777A (ja) * 2003-10-09 2005-04-28 Mitsubishi Electric Corp 情報提供装置
JP4716674B2 (ja) * 2004-05-24 2011-07-06 シャープ株式会社 画像処理装置
JP4686138B2 (ja) * 2004-05-26 2011-05-18 株式会社東芝 記憶媒体変換方法、プログラム及び機器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012014333A (ja) * 2010-06-30 2012-01-19 Konami Digital Entertainment Co Ltd ゲームシステム、サーバ装置、ゲーム制御方法、サービス方法、ゲームシステム用プログラム、ならびに、サーバ用プログラム
JP2012151805A (ja) * 2011-01-21 2012-08-09 Sharp Corp データ暗号化装置、及び、メモリカード
JP2012209932A (ja) * 2011-03-28 2012-10-25 Via Technologies Inc データの暗号化方法及びシステム並びにデータの復号方法
JP2014523031A (ja) * 2011-06-30 2014-09-08 サムスン エレクトロニクス カンパニー リミテッド コンテンツを保護するための格納装置及びホスト装置とその方法

Also Published As

Publication number Publication date
US20090210724A1 (en) 2009-08-20
WO2007129434A1 (ja) 2007-11-15

Similar Documents

Publication Publication Date Title
JP2007304822A (ja) コンテンツ管理方法及び装置
US6789177B2 (en) Protection of data during transfer
JP4891521B2 (ja) データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置
JP4884535B2 (ja) 装置間でのデータオブジェクトの転送
JP4624235B2 (ja) コンテンツ利用情報提供装置およびコンテンツ利用情報送信方法
JP5895230B2 (ja) 記録媒体装置に組み込まれるコントローラ、記録媒体装置、記録媒体装置の製造システム、および記録媒体装置の製造方法
US20050021948A1 (en) Secure single drive copy method and apparatus
WO2006003778A1 (ja) コンテンツ管理方法及びコンテンツ管理用プログラム、並びに電子機器
JP2007164334A (ja) 複製制御装置、情報処理端末とそのプログラム、コンテンツ受信装置、および複製制御方法
KR20040085024A (ko) 은닉해야 할 데이터를 암호화하여 입출력하는 방법 및 장치
CN100364002C (zh) 读或写用户数据的设备和方法
JP3556891B2 (ja) デジタルデータ不正使用防止システム及び再生装置
JPH09326166A (ja) 著作権保護方法及び著作権保護システム
JP4663436B2 (ja) コンテンツ利用情報送信方法およびその方法を利用可能なコンテンツ利用情報提供装置およびコンテンツ利用情報享受装置
JP5296195B2 (ja) コンテンツデータ再生システム、及び記録装置
KR20050064624A (ko) 저장 매체의 데이터 기록 및/또는 재생 장치 및 그 방법
JP2007158559A (ja) 記録装置及び記録方法
JP4671657B2 (ja) コンテンツ利用情報記憶装置およびコンテンツ利用装置
JP2007323367A (ja) データ管理装置及びデータ管理方法
JP3967491B2 (ja) 記録装置
JP2006033764A (ja) コンテンツ利用情報提供装置およびコンテンツ利用情報享受装置
JP4615055B2 (ja) コンテンツ利用装置
JP2006033765A (ja) コンテンツ利用情報提供装置およびコンテンツ利用情報享受装置
JP2011120292A (ja) 情報処理装置およびプログラム