JPWO2003088055A1 - コンテンツデータのデータ処理方法、記録装置及び再生装置 - Google Patents
コンテンツデータのデータ処理方法、記録装置及び再生装置 Download PDFInfo
- Publication number
- JPWO2003088055A1 JPWO2003088055A1 JP2003584928A JP2003584928A JPWO2003088055A1 JP WO2003088055 A1 JPWO2003088055 A1 JP WO2003088055A1 JP 2003584928 A JP2003584928 A JP 2003584928A JP 2003584928 A JP2003584928 A JP 2003584928A JP WO2003088055 A1 JPWO2003088055 A1 JP WO2003088055A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- reference information
- key data
- content
- supplied
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00166—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
- G11B20/00173—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software wherein the origin of the content is checked, e.g. determining whether the content has originally been retrieved from a legal disc copy or another trusted source
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
- G11B20/00217—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
- G11B20/00224—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a remote server
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
- G11B20/00217—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
- G11B20/00246—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a local device, e.g. device key initially stored by the player or by the recorder
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
- G11B20/00485—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
- G11B20/00492—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
- G11B20/00514—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted wherein the entire content is encrypted with the same key, e.g. disc key or master key
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00855—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Abstract
本発明は、コンテンツ鍵データを用いてコンテンツデータの暗号化又は復号処理を行うデータ処理方法であり、供給される複数の機器に各々固有のデバイス鍵データを複数用いてコンテンツ鍵データを暗号化したデータを含む参照情報を生成するときに、複数の機器のうち記録又は再生を許可されている機器に対応するデバイス鍵データを用いてコンテンツ鍵データを暗号化して参照情報を生成し、生成された参照情報をデバイス鍵データとともに複数の機器に供給し、複数の機器は複数の機器に各々固有のデバイス鍵データを用いて供給された参照情報からコンテンツ鍵データを復号し、復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化又は復号処理を行う。
Description
技術分野
本発明は、コンテンツデータ鍵データを用いてコンテンツデータの暗号化又は復号処理を行うデータ処理方法、更に、暗号化処理されたコンテンツデータを記録する記録装置及び暗号化されたコンテンツデータを再生する再生装置に関する。
本出願は、日本国において2002年4月2日に出願された日本特許出願番号2002−099471を基礎として優先権を主張するものであり、この出願は参照することにより、本出願に援用される。
背景技術
従来、半導体メモリを記憶媒体として用いるICレコーダ、MP3(MPEG1 Audio Layer3)レコーダ、パーソナルコンピュータで使われる光磁気ディスクを記録媒体に用いるMOドライブ、記録型の光ディスクを記録媒体に用いるCD−ドライブなどのデータ記録再生装置が用いられている。これら記録再生装置に用いられる記録媒体として、装置に対し着脱自在とされたものが用いられている。記録再生装置に対し着脱可能とされた記録媒体は、少なくとも同種の記録再生装置の間で自在に着脱して用いることが可能である。このように、記録再生装置に着脱自在とされた記録媒体には、音楽や映画などの種々のコンテンツデータが記録される。種々のコンテンツデータが記録された記録媒体は、記録媒体単独で商取引の対象とされ市場に流通されている。
コンテンツデータが記録された記録媒体の流通の拡大に伴い、コンテンツデータの不正使用や盗用なども増加傾向にある。
このような状況の中で、コンテンツデータの不正使用や盗用などを確実に防止するため、コンテンツデータが記録された記録媒体と同種の記録媒体を用いることを可能とした記録再生装置であっても、許可された特定の記録再生装置のみでしかコンテンツデータの記録再生やデータ伝送が行えないようにすることが必要となる。すなわち、コンテンツデータを記録した記録媒体に、特定に記録再生装置にのみが記録媒体に記録されたコンテンツデータを記録再生若しくはデータ伝送を許可するための認証機能を付与することが必要となってくる。
この種の認証機能が付与された記録媒体及びこの種の記録媒体を用いる記録再生装置を備えた相互認証システムとして、特開平11−265318号公報に記載されたものがある。この公報に記載された相互認証システムは、記録再生装置と記録媒体に対し、互いのパスワードを交換し相互認証することにより、記録媒体へのアクセスの可否を調べる方法を採用している。この方法では、複数の記録媒体を記録再生できるのは1つの記録再生装置のみであり、複数の記録媒体を、許可された複数のデータ記録再生装置で記録再生することができない。そこで、この課題を解決するための従来の認証機能は、複数の記録再生装置による記録媒体へのアクセスの可否を調べるために、記録媒体へのデータ記録時に参照情報もあわせて格納し、この参照情報により記録媒体へのアクセスの可否を調べる方法を採用している。この参照情報は、例えば記録再生装置の製造会社により、記録再生装置に予め設定された情報である。この参照情報には、例えば複数の記録再生装置に対応した認証情報が含まれている。
この参照情報は、改竄されることも考えられる。そこで、従来の認証システムにおいては、例えば、参照情報の作成者は、記録媒体内に格納されている参照情報に対し、参照情報の作成者の秘密鍵(Private key)による署名を行う。一方、参照情報を利用する側は、その署名を公開鍵(Public key)で検証(Verify)することにより参照情報の有効性(正当性)を確認するという方法がとられている。
公開鍵による署名の確認では、一般的に、第三者機関である認証局により証明された公開鍵が利用される。参照情報を利用する記録再生装置等の機器には、署名の正当性を確認するための機能が実装されていなければならない。このため、従来の方法では、公開鍵による署名の検証はコストがかかるという問題がある。
発明の開示
本発明の目的は、上述したような従来の認証システムが有する問題点を解消することができる新規なコンテンツデータの暗号化又は復号処理を行うデータ処理方法、更に、暗号化処理されたコンテンツデータを記録する記録装置及び暗号化されたコンテンツデータを再生する再生装置を提供することにある。
本発明の他の目的は、コンテンツデータの不正使用や盗用などを確実に防止することを可能とするコンテンツデータの暗号化又は復号処理を行うデータ処理方法、更に、暗号化処理されたコンテンツデータを記録する記録装置及び暗号化されたコンテンツデータを再生する再生装置を提供することにある。
本発明の更に他の目的は、記録媒体に記録されたコンテンツデータの記録再生若しくはデータ伝送が許可された記録再生装置の認証を確実にしかも容易に行うことができるコンテンツデータの暗号化又は復号処理を行うデータ処理方法、更に、暗号化処理されたコンテンツデータを記録する記録装置及び暗号化されたコンテンツデータを再生する再生装置を提供することにある。
本発明の更に他の目的は、記録媒体に記録されたコンテンツデータの記録再生若しくはデータ伝送が許可された複数の記録再生装置を確実にしかも容易に認証可能とするコンテンツデータの暗号化又は復号処理を行うデータ処理方法、更に、暗号化処理されたコンテンツデータを記録する記録装置及び暗号化されたコンテンツデータを再生する再生装置を提供することにある。
上述のような目的を達成するために提案される本発明は、コンテンツデータを暗号化又は復号化処理を行うデータ処理方法であり、供給される複数の機器に各々固有のデバイス鍵データを複数用いてコンテンツ鍵データを暗号化したデータを含む参照情報を生成するときに、複数の機器のうち記録又は再生を許可されている機器に対応するデバイス鍵データを用いてコンテンツ鍵データを暗号化して参照情報を生成し、生成された参照情報をデバイス鍵データとともに複数の機器に供給し、複数の機器は、複数の機器に各々固有のデバイス鍵データを用いて供給された参照情報からコンテンツ鍵データを復号し、復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化又は復号処理を行う。
ここで、機器は、ICレコーダやディスク記録再生装置等の各種記録媒体が用いられる記録再生装置を含むものである。
本発明に係るデータ処理方法は、更に、復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化処理を行い、暗号化されたデータと参照情報を記録媒体に記録する。
本発明に係るデータ処理方法に用いられる複数の機器には、供給された参照情報が有効なものであるか否かを判別するためのデータが予め記憶されており、記録媒体から読み出された参照情報を判別するためのデータに基づいて各機器の有効性を判別する。
本発明に係るデータ処理方法は、更に、供給された参照情報が有効であると判別されたときには、デバイス鍵データを用いて参照情報からコンテンツ鍵データを復号する。
本発明に係るデータ伝送は、供給された参照情報が有効でないと判別されたときには、その後の処理動作を中止する。
本発明に係るデータ伝送において、判別するためのデータは、上記参照情報を暗号化するときに用いられた鍵データである。
本発明に係るデータ伝送において、供給されたデバイス鍵データと参照情報は複数の機器のメモリに記憶されている。複数の機器には、供給された参照情報が有効なものであるか否かを判別するためのデータが予め記憶されており、供給されてきた参照情報を判別するためのデータに基づいて有効性を判別する。
本発明に係るデータ伝送は、供給された参照情報が有効であると判別されたときには、供給された参照情報のバージョンとメモリに記憶されている参照情報のバージョンとを比較し、供給された参照情報のバージョンがメモリに記憶されている参照情報のバージョンよりも新しいときにはメモリの参照情報を供給された参照情報に更新する。
本発明に係るデータ伝送は、供給された参照情報が有効でないと判別されたときには、供給された参照情報を破棄する。
供給された参照情報が有効なものであるか否かを判別するためのデータは、参照情報を暗号化するときに用いられた鍵データが用いられる。
本発明に係るデータ伝送は、更に、復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化処理を行うとともに参照情報に基づいてダイジェストデータを作成し、生成されたダイジェストデータと暗号化されたデータと参照情報を記憶媒体に記録する。
本発明に係るデータ伝送は、更に、記録媒体から読み出された参照情報からダイジェストデータを生成し、生成されたダイジェストデータと記憶媒体から読み出されたダイジェストデータとを比較し、生成されたダイジェストデータと記憶媒体から読み出されたダイジェストデータとが一致しているときにはデバイス鍵データを用いてコンテンツ鍵データを復号する。生成されたダイジェストデータと記憶媒体から読み出されたダイジェストデータが一致しなかったときには、以後の処理を中止する。
本発明に係る他のデータ伝送は、供給される複数の機器に各々固有のデバイス鍵データを複数用いてコンテンツ鍵データを暗号化したデータを含む参照情報を生成するときに、上記複数の機器のうち記録又は再生を許可しない機器に対応する上記デバイス鍵データを用いて上記コンテンツ鍵データを暗号化したデータが位置される部分に無効なデータを挿入して参照情報を生成し、生成された参照情報をデバイス鍵データとともに複数の機器に供給する。複数の機器は、複数の機器に各々固有のデバイス鍵データを用いて供給された参照情報からコンテンツ鍵データを復号し、復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化又は復号処理を行う。
本発明に係る記録装置は、コンテンツ鍵データの記録が許可されている装置に固有のデバイス鍵データで暗号化されたデータを含む参照情報と上記デバイス鍵データとが記憶されたメモリと、参照情報をデバイス鍵データを用いて復号し、コンテンツデータを出力する復号処理部と、復号処理部から供給されるコンテンツ鍵データを用いて入力されたコンテンツデータの暗号化処理を行う暗号化処理部と、記暗号化処理部からの出力データを参照情報とともに記録媒体に記録する記録部とを備えている。
この記録装置を構成するメモリには、更に参照情報が有効なものであるか否かを判別するためのデータが予め記憶されており、復号処理部は、記録装置に新たに供給された参照情報を判別するためのデータに基づいて有効性を判別する。
復号処理部は、新たに供給された参照情報が有効であると判別されたときには、新たに供給された参照情報のバージョンとメモリに記憶されている参照情報のバージョンとを比較し、新たに供給された参照情報のバージョンがメモリに記憶されている参照情報のバージョンよりも新しいときにはメモリの参照情報を新たに供給された参照情報に更新する。
本発明に係る記録装置は、更に参照情報に基づいてダイジェストデータを生成する生成部を備え、記録部は、生成されたダイジェストデータと暗号化されたデータと参照情報を記録媒体に記録する。
本発明に係る再生装置は、デバイス鍵データとコンテンツ鍵データが記録が許可されている装置に固有のデバイス鍵データで暗号化されたデータを含む参照情報が有効なものであるか否かを判別するためのデータが記憶されたメモリと、判別するためのデータを用いて、暗号化されたコンテンツデータと参照情報が記録された記録媒体から読み出された上記参照情報が有効であるか否かを判別する判別部と、判別部によって参照情報が有効であると判別されたときには、記録媒体から読み出された参照情報をデバイス鍵データを用いて復号し、コンテンツ鍵データを出力する第1の復号処理部と、第1の復号処理部から供給されるコンテンツ鍵データを用いて記録媒体から読み出された暗号化されたコンテンツデータの復号を行う第2の復号処理部を備えている。
本発明に係る再生装置を構成する第1の復号処理部は、再生装置に新たに供給された参照情報を上記判別するためのデータに基づいて有効性を判別する。第1の復号処理部は、新たに供給された参照情報が有効であると判別されたときには、新たに供給された参照情報のバージョンとメモリに記憶されている参照情報のバージョンとを比較し、新たに供給された参照情報のバージョンがメモリに記憶されている参照情報のバージョンよりも新しいときにはメモリの参照情報を新たに供給された参照情報に更新する。
本発明に係る他の再生装置は、デバイス鍵データが記憶されたメモリと、コンテンツ鍵データの記録が許可されている装置に固有のデバイス鍵データで暗号化されたデータを含む参照情報と上記参照情報に基づいて生成されたダイジェストデータと暗号化されたコンテンツデータが記録された記録媒体から読み出された参照情報からダイジェストデータを生成する生成部と、生成部によって生成されたダイジェストデータと記録媒体から読み出されたダイジェストデータとを比較する比較部と、比較部によって生成されたダイジェストデータと記憶媒体から読み出されたダイジェストデータとが一致していると検出されたときには記録媒体から読み出された参照情報をデバイス鍵データを用いて復号し、コンテンツ鍵データを出力する第1の復号処理部と、第1の復号処理部から供給されるコンテンツ鍵データを用いて記録媒体から読み出された暗号化されたコンテンツデータの復号を行う第2の復号処理部とを備えている。
本発明の更に他の目的、本発明によって得られる具体的な利点は、以下において図面を参照して説明される実施の形態の説明から一層明らかにされるであろう。
発明を実施するための最良の形態
まず、記録媒体やインターネット等の通信ネットワークを用いて音楽や映画等のコンテンツデータを配布するシステムを説明する。この種のコンテンツデータの配信システムでは、二つの機器、例えば通信機能を備えたパーソナルコンピュータ(Personal Computer)間でのコンテンツデータの転送や、記録媒体を介在させて一の記録再生装置から他の記録再生装置にコンテンツデータを転送するに当たって、コンテンツデータが転送される側のパーソナルコンピュータや記録再生装置等の他の機器の有効性を確認できる情報を使ってその機器の有効性を確認し、その後転送することが行われている。ここで、機器の有効性を確認できる情報とは、システム全体を管理する立場から見て不都合な機器が存在することを何らかの手段で知り、予めシステムに組み込んである有効性を否認できる機能を実現するために配布される情報を指す。この情報にはバージョン情報が含まれており、常に最新の配布された情報を識別できるようにして、その最新の情報に基づきコンテンツデータが転送される機器の有効性の確認ができるように構成されている。
本実施例において、記録媒体から機器へのコンテンツデータの転送に当たっての機器の有効性確認の一例は、以下に述べる実施の形態に特有の情報を用いて行われる。なお、前述した機器の有効性を確認できる情報とは、この特有の情報の有効性(正当性)を制御することによって、記録媒体から機器へのコンテンツデータの転送を不可能にする情報である。
本実施例では、秘密鍵を用いた機器の有効性の確認の方法において、機器の有効性の確認のための情報とは別に、その情報のメッセージダイジェストを記録媒体の固有の領域に入れることにより情報自体の有効性(正当性)の確認がなされる。ここで以下の説明では、まず、本実施例に係る原理的な構成と各機能について説明する。次に、秘密鍵を用いた機器の有効性を確認する方法、別の言い方をすれば特定(複数可)の機器を無効化し、その結果として記録媒体から機器へのコンテンツデータの転送を不可能にする方法の一つの例を、第1の実施例として説明する。その後、参照情報自体の有効性(正当性)の検査(確認)のためのメッセージダイジェストを使用した例を、第2の実施例として説明する。
以下、本発明の実施例を図面を参照して説明する。
なお、本実施例の説明において、例えばCKeynやDKeynなどの鍵識別文字の末尾の“n”には、CKey鍵やDKey鍵の識別を表す数字が設定されるものとする。また、本実施の形態の説明において、参照情報R10の正当性を証明するための署名は、参照情報R10の作成時に生成されるものであり、参照情報R10と署名とを含めて参照情報R10として表現する。更に、署名は、参照情報R10の作成者にて、自らの秘密鍵により暗号化されたものであり、作成者の公開鍵PK10によってのみ正当性が証明(確認)されるものである。
まず、本発明に係るデータ転送システムの基本的な構成を図1を参照して説明する。
本発明に係るデータ転送システム1は、図1に示すように、参照情報R10を解読する鍵データを配布する鍵配布センタ10と、参照情報R10を解読しデータを記録する記録装置であるレコーダ20と、参照情報R10を解読しデータを再生する再生装置であるプレーヤ30とから構成される。
鍵配布センタ10は、特定の機器を無効化するための参照情報R10と、参照情報R10自体の署名を認証(以下、正当性の確認と称する)するための公開鍵PK10と、参照情報R10を解読する機器固有のデバイス鍵データDK20とを、レコーダ20の製造時にそのレコーダ20に配布(格納)する。鍵配布センタ10は、公開鍵データPK10と、参照情報R10を解読する機器固有のデバイス鍵データDK30とを、プレーヤ30の製造時にプレーヤ30に配布(格納)する。
ここで、それぞれの情報や鍵データの役割を列記すると、参照情報R10は、レコーダ20の製造時に鍵配布センタ10から提供される特定の機器を無効化するための情報である。無効化する機器が増加した場合には、この参照情報R10は鍵配布センタ10から再発行される。なお、この参照情報R10は、レコーダに対して記録媒体としてのディスクを使って提供されるが、インターネット等の通信網や他の手段で供給することもできる。デバイス鍵(Dkey1:Device Key)データDK20は、参照情報R10を解読し共通鍵データ(以下、コンテンツ鍵データと称する)を生成するため、機器固有の鍵データとして、レコーダ20の製造時に鍵配布センタ10から配布(格納)される鍵データである。なお、コンテンツ鍵データは、データ(以下、コンテンツデータと称する)D20を暗号化/復号するための共通の鍵データである。コンテンツデータD20とは、意味のある情報であり、例えば音楽情報などである。公開鍵データPK10は、鍵配布センタ10の秘密鍵データによる参照情報R10自体の署名の正当性を確認するため、レコーダ20あるいはプレーヤ30の製造時に鍵配布センタ10から配布(格納)される鍵データである。デバイス鍵(Dkey2)データDK30は、参照情報R10を解読しコンテンツ鍵データを生成するため、機器固有の鍵データとして、プレーヤ30の製造時に鍵配布センタ10から配布(格納)される鍵データである。
レコーダ20は、予め格納された参照情報R10をデバイス鍵データDK20により解読して暗号化に使用するコンテンツ鍵(Ckeyn)データを生成し、投入されたコンテンツデータD20をコンテンツ鍵(Ckeyn)データにより暗号化して暗号化コンテンツデータC20を生成する。格納された参照情報R10と暗号化コンテンツデータC20とを、書き込み可能なICメモリやディスク状記録媒体、例えばディスクR20に記録する。
なお、ここでディスクR20とは、データが記録される記録媒体であり、例えば、光ディスク、光磁気ディスク等のディスク状記録媒体を含むものである。
レコーダ20は、プレーヤ30が公開鍵データPK10による署名の確認ができない安価なプレーヤである場合に対応するため、参照情報R10からメッセージダイジェストデータMD20を生成し、これを参照情報R10と暗号化コンテンツデータC20とともにディスクR20に記録する。なお、レコーダ20の機能の詳細については、図2を用いて後述する。
プレーヤ30は、ディスクR20に記録された参照情報R10の署名を公開鍵データPK10により確認し、ディスクR20に記録された参照情報R10を解読して有効性(正当性)を確認する。更に、プレーヤ30は、暗号化に使用されたものと同一のコンテンツ鍵(Ckeyn)データを生成する。そして、プレーヤ30は、このコンテンツ鍵(Ckeyn)データによりディスクR20に記録された暗号化コンテンツデータC20を複号して再生する。ここで、プレーヤ30とは、例えば音楽ディスクなどを再生するためのプレーヤである。なお、プレーヤ30が公開鍵データPK10による署名の確認ができない安価なプレーヤである場合は、参照情報R10から別のメッセージダイジェストデータを生成し、2つのメッセージダイジェストデータの一致により参照情報R10の有効性を確認する。プレーヤ30の機能の詳細については、図3を用いて後述する。
以上説明したように、まず、鍵配布センタ10によって、特定の機器を無効化するための参照情報R10(前述したように、参照情報の正当性を証明するための署名を含む)と、参照情報R10の署名の正当性を確認するための公開鍵データPK10と、参照情報R10を解読するためのデバイス鍵データDK20とが、コンテンツデータD20をディスクR20に記録するレコーダ20に対して、このレコーダ20の製造時に配布される。公開鍵データPK10と、参照情報R10を解読するためのデバイス鍵データDK30とが、コンテンツデータD20を再生するプレーヤ30に対して、プレーヤ30の製造時に配布される。
次に、レコーダ20によって、この装置には鍵配布センタ10から配布された参照情報R10(署名含む)と公開鍵データPK10とデバイス鍵データDK20とが、予め内部のメモリに格納されている。ここで、ディスクR20に記録するためのコンテンツデータD20が供給されると、参照情報R10がデバイス鍵データDK20を使って解読されコンテンツ鍵(Ckeyn)データが生成され、コンテンツデータD20に対してコンテンツ鍵(Ckeyn)データを使って暗号化して暗号化コンテンツデータC20が生成される。参照情報R10をもとに、メッセージダイジェストデータMD20が生成され、暗号化コンテンツデータC20と参照情報R10(署名含む)とメッセージダイジェストデータMD20とがディスクR20に記録される。
プレーヤ30には鍵配布センタ10により配布された公開鍵データPK10とデバイス鍵データDK30とが、予めプレーヤ30の内部のメモリに格納されている。プレーヤ30で、ディスクR20に格納されている参照情報R10(署名含む)とメッセージダイジェストデータMD20と暗号化コンテンツデータC20とが読み込まれ、参照情報R10の署名に対して公開鍵データPK10により正当性が確認される。あるいは、公開鍵データPK10による署名の確認は行わずに、参照情報R10から別のメッセージダイジェストデータが生成され、この別のメッセージダイジェストデータとメッセージダイジェストデータMD20とが比較され、これらのメッセージダイジェストデータの一致あるいは不一致の確認が行われる。参照情報R10の正当性が有る又はメッセージダイジェストデータが一致していた場合には、参照情報R10がデバイス鍵データDK30を使って解読され暗号化コンテンツデータC20を復号するためのコンテンツ鍵(Ckeyn)データが生成される。生成されたコンテンツ鍵(Ckeyn)データにより、暗号化コンテンツC20が復号されてコンテンツデータD20が再生される。
これにより、データの転送時における機器の有効性確認を、複数の機器に対して効率的に行うことが可能となる。
次に、本実施例に係るデータ転送システムを構成するレコーダ20とプレーヤ30の各機能について、図を参照して説明する。
図2は、本発明におけるレコーダ20の機能構成を示すブロック図である。
レコーダ20は、参照情報R10やコンテンツデータD20が入力されるデータ入力インタフェース21、参照情報R10の署名の正当性を確認する参照情報確認部22、参照情報R10を更新する参照情報更新部23、参照情報R10からコンテンツ鍵データCK24を生成する参照情報解読部24、コンテンツデータD20を暗号化するデータ暗号化部25、メッセージダイジェストデータMD20を生成するメッセージダイジェスト生成部26、参照情報R10とコンテンツデータD20とメッセージダイジェストデータMD20とをディスクR20に記録するデータ記録部27、及び各データを格納しておくメモリ28から構成されている。
データ入力インタフェース21は、参照情報確認部22とデータ暗号化部25とに接続されており、参照情報R10やコンテンツデータD20などの外部データを入力する。なお、このデータ入力インタフェース21は、所定の通信方式によりデータが入力されるインタフェースであり、例えばSCSI(Small Computer System Interface)などである。これにより、データ入力インタフェース21に、記録媒体から読み出されたデータを外部データとして入力してもよいし、通信手段を利用して入力してもよい。この通信手段とは、例えばインターネットなどの通信網である。なお、データ入力インタフェース21には、他の装置を介さずに直接データを入力することも可能とする。ここで、データ入力インタフェース21には、鍵配布センタ10から配布された参照情報R10が入力され、入力された参照情報を参照情報確認部22に出力する。あるいは、データ入力インタフェース21には、レコーダ20に装着されたディスクR20に記録するためのコンテンツデータD20が入力され、入力されたコンテンツデータD20をデータ暗号化部25に出力する。なお、配布される参照情報R10は、レコーダ20が出荷された後には、鍵配布センタ10から更新された新しい参照情報R10として配布される。
参照情報確認部22は、データ入力インタフェース21と参照情報更新部23とメモリ28とに接続されている。ここで、参照情報確認部22は、データ入力インタフェース21から供給された、新しい参照情報R10の署名に対して、メモリ28に格納されている公開鍵データPK10を用いて参照情報の正当性の確認を行う。署名が正しければ(正当性が有れば)新しい参照情報R10を参照情報更新部23へ出力し、署名が不正ならば(正当性が無ければ)何もせず処理動作を終了する。あるいは新しい参照情報R10を破棄してもよい。
参照情報更新部23は、参照情報確認部22とメモリ28とに接続されており、メモリ28に格納されている古い参照情報R10を、参照情報確認部22から供給された新しい参照情報R10に更新する。ここで、参照情報更新部23は、参照情報確認部22から正当性が有ると確認され、新しい参照情報R10が供給されると、メモリ28に格納されている参照情報R10と新しい参照情報R10のバージョン番号を比較する。新しい参照情報R10のバージョン番号の方がメモリ28に格納されている参照情報よりも新しい場合には、参照情報更新部23は新しい参照情報R10をメモリ28に格納されている参照情報R10と置き換える。新しい参照情報R10のバージョン番号の方がメモリ28に格納されている参照情報よりも古い場合には、参照情報更新部23は何もせず処理動作を終了する。あるいは新しい参照情報R10を破棄してもよい。
参照情報解読部24は、データ暗号化部25とメモリ28とに接続されており、メモリ28内に格納されているデバイス鍵データDK20を使用して、メモリ28内に格納されている参照情報R10の解読を行う。ここで、コンテンツデータD20がデータ入力インタフェース21に入力されると、参照情報解読部24は、参照情報R10に対してデバイス鍵データDK20により解読を行い、コンテンツ鍵データCK24を生成する。生成したコンテンツ鍵データCK24をデータ暗号化部25に供給する。なお、この参照情報解読部24による参照情報R10の解読の詳細については、図4を用いて後述する。
データ暗号化部25は、参照情報解読部24とデータ入力インタフェース21とデータ記録部27とに接続されており、コンテンツデータD20を暗号化する。ここで、データ暗号化部25は、データ入力インタフェース21から渡されたコンテンツデータD20に対して、参照情報解読部24から供給されたコンテンツ鍵データCK24を使って暗号化処理を行い、暗号化コンテンツデータC20を生成する。なお、この暗号化処理は、共通の鍵により暗号化/復号を行う秘密鍵暗号方式(慣用暗号方式:conventional encryption system)に従う。データ暗号化部25は、生成した暗号化コンテンツデータC20をデータ記録部27に出力する。
メッセージダイジェスト生成部26は、データ記録部27とメモリ28とに接続され、メッセージダイジェストデータMD20を生成する。ここで、コンテンツデータD20がデータ入力インタフェース21に入力されると、メッセージダイジェスト生成部26は、メモリ28に格納されている参照情報R10をもとに、メッセージダイジェストデータMD20を生成する。生成したメッセージダイジェストデータMD20をデータ記録部27へ出力する。なお、このメッセージダイジェストデータMD20は、予め作成しておきメモリ28に格納しておくこともできる。
データ記録部27は、データ暗号化部25とメッセージダイジェスト生成部26とメモリ28とに接続され、参照情報R10、メッセージダイジェストデータMD20、及び暗号化コンテンツデータC20をディスクR20に記録する。ここで、データ記録部27は、データ暗号化部25により暗号化コンテンツデータC20が供給されると、暗号化コンテンツデータC20をメモリ28に格納されている参照情報R10と一緒にディスクR20へ記録する。なお、参照情報R10の記録の際には、メッセージダイジェスト生成部26から供給されたメッセージダイジェストデータMD20、あるいはメモリ28に予め格納されているメッセージダイジェストデータMD20も、これらのデータもと一緒にディスクR20に記録される。
メモリ28は、参照情報確認部22、参照情報更新部23、参照情報解読部24、メッセージダイジェスト生成部26、及びデータ記録部27に接続され、参照情報R10、公開鍵データPK10、及びデバイス鍵データDK20を格納するメモリ28はメッセージダイジェストデータMD20も格納することができる。なお、メモリ28としては、書き換えが公開鍵データPK10やデバイス鍵データDK20の格納を行うだけで、データの書き換えを行わないのであれは、読み込み専用の記憶媒体として、例えばROM(Read Only Memory)などを用いてもよい。メモリ28には参照情報R10を格納するなど書き換えの必要があれば、読み書き可能な記憶媒体として、例えばフラッシュメモリ(Flash memory)などを用いてもよい。もちろん、メモリ28は、ROMとフラッシュメモリの両方を使用することも可能である。ここで、参照情報R10は、参照情報更新部23により格納され、参照情報解読部24とメッセージダイジェスト生成部26とデータ記録部27とに供給される。公開鍵データPK10は、参照情報確認部22により読み込まれる。デバイス鍵データDK20は、参照情報解読部24により読み込まれる。なお、参照情報R10、公開鍵データPK10、及びデバイス鍵データDK20は、レコーダ20の製造時に鍵配布センタ10により配布(格納)される。また、参照情報R10は、鍵配布センタ10により更新配布された場合に、参照情報更新部23に格納される。
以上のように構成されたレコーダ20は、参照情報解読部24にて、格納された参照情報R10をデバイス鍵データDK20を用いて解読し、暗号化に使用するコンテンツ鍵データCK24(Ckeyn)を生成する。レコーダ20は、データ暗号化部25にて、入力されたコンテンツデータD20に対してコンテンツ鍵データCK24(Ckeyn)を使用して暗号化し、暗号化コンテンツデータC20を生成する。レコーダ20は、メッセージダイジェスト生成部26にて、格納された参照情報R10からメッセージダイジェストデータMD20を生成する。レコーダ20は、データ記録部27にて、格納された参照情報R10と生成されたメッセージダイジェストデータMD20と暗号化コンテンツデータC20とをディスク20に記録する。ここで、レコーダ20は、更新された参照情報R10が新しく配布された場合に、参照情報確認部22と参照情報更新部23にて、更新された新しい参照情報R10の署名を公開鍵データPK10により確認し、古い参照情報R10と置き換え、保持(格納)する。
これにより、機器の有効性確認するための情報を、他の機器にて読み込める記録媒体に記録することができ、機器の有効性確認を複数の機器に対して効率的に行うことが可能となる。
図3は、本発明に係るプレーヤ30の機能構成を示すブロック図である。
プレーヤ30は、ディスクR20から参照情報R10とメッセージダイジェストデータMD20と暗号化コンテンツデータC20の読み込みを行うデータ読み込み部31、参照情報R10の署名の正当性を確認する参照情報確認部32、参照情報R10からコンテンツ鍵データCK33を生成する参照情報解読部33、暗号化コンテンツデータC20を復号しコンテンツデータD20を生成するデータ復号部34、復号されたコンテンツデータD20を再生するデータ再生部35、及び各データを格納しておくメモリ36から構成されている。
データ読み込み部31は、参照情報確認部32とデータ復号部34とに接続されており、ディスクR20に記録されている参照情報R10、メッセージダイジェストデータMD20、及び暗号化コンテンツデータC20などの外部データを読み込む。ここで、データ読み込み部31は、ディスクR20に記録されている、鍵配布センタ10から配布された参照情報R10、及び参照情報R10から生成されたメッセージダイジェストデータMD20を読み込み、参照情報確認部32へ出力する。暗号化された暗号化コンテンツデータC20をディスクR20から読み出し、データ復号部34へ出力する。
参照情報確認部32は、データ読み込み部31と参照情報解読部33とメモリ36とに接続されている。ここで、参照情報確認部32は、データ読み込み部31から渡された参照情報R10の署名に対して、メモリ36に格納されている公開鍵データPK10により正当性の確認を行う。署名が正しければ(正当性が有れば)参照情報R10を参照情報解読部33へ渡し、署名が不正ならば(正当性が無ければ)何もせず処理動作を終了する。あるいは参照情報R10を破棄してもよい。一方、プレーヤ30を安価なプレーヤとして機能させる場合には、参照情報確認部32は、上述した公開鍵データPK10による署名の確認は行わずに、データ読み込み部31から供給された参照情報R10から別のメッセージダイジェストデータを生成する。更に、参照情報確認部32は、この生成された別のメッセージダイジェストデータと、データ読み込み部31から供給されたメッセージダイジェストデータMD20とを比較し確認を行う。参照情報確認部32は、これら2つのメッセージダイジェストデータが、一致していれば参照情報R10を参照情報解読部33へ出力し、不一致ならば何もせず処理動作を終了する。又は参照情報R10を破棄してもよい。
参照情報解読部33は、参照情報確認部32とデータ復号部34とメモリ36とに接続されており、メモリ36内に格納されているデバイス鍵データDK30を使用して、メモリ36内に格納されている参照情報R10の解読を行う。ここで、参照情報解読部33は、参照情報確認部32から供給された参照情報R10に対して、デバイス鍵データDK30により解読処理を行い、暗号化に使用されたものと同一のコンテンツ鍵データCK33を生成する。生成したコンテンツ鍵データCK33をデータ復号部34に出力する。なお、この参照情報解読部33による参照情報R10の解読の詳細については、図4を用いて後述する。
データ復号部34は、参照情報解読部33とデータ読み込み部31とデータ再生部35とに接続されており、暗号化コンテンツデータC20を復号する。ここで、データ復号部34は、データ読み込み部31から供給された暗号化コンテンツデータC20に対して、参照情報解読部33から供給されたコンテンツ鍵データCK33を使って復号処理を行い、コンデンツデータD20を生成する。なお、この復号処理は、共通の鍵データにより暗号化/復号を行う秘密鍵暗号方式に従う。そして、データ復号部34は、生成したコンテンツデータD20をデータ再生部35に出力する。
データ再生部35は、データ復号部34に接続され、コンテンツD20を再生する。ここで、データ再生部35は、データ復号部34によりコンテンツデータD20が供給されると、データを意味のある情報として再生する。なお、ここでいう再生とは、例えば、この情報が音楽情報であれば、D/A変換器によってアナログオーディオ信号に変換し、変換されたアナログオーディオ信号を、アンプを介して、スピーカ等の電気音響変換装置に供給し、可聴音として出力する動作を指す。例えば、この情報が画像や文字などファイル形式の情報であれば、ファイルシステムに転送する。
メモリ36は、参照情報確認部32と参照情報解読部33とに接続され、公開鍵データPK10やデバイス鍵データDK30を格納する。なお、メモリ36として、公開鍵データPK10やデバイス鍵データDK30の格納を行うだけでデータの書き換えを行わないのであれば、読み込み専用の記憶媒体として、例えばROM(Read Only Memory)などを用いることができる。ここで、公開鍵データPK10は、参照情報確認部32により読み込まれる。デバイス鍵データDK30は、参照情報解読部33により読み込まれる。なお、公開鍵データPK10とデバイス鍵データDK30は、プレーヤ30の製造時に鍵配布センタ10により予め配布されメモリに格納される。
このような構成されたプレーヤ30は、ディスクR20に記録された参照情報R10の署名に対して、公開鍵データPK10を用いて正当性を確認する。参照情報R10の署名の正当性が有ると確認された場合には、プレーヤ30は、ディスクR20に記録された参照情報R10を解読して有効性(正当性)を確認し、暗号化に使用されたものと同一のコンテンツ鍵データCK33(Ckeyn)を生成する。プレーヤ30は、ディスクR20に記録された暗号化コンテンツデータC20に対して、生成したコンテンツ鍵データCK33(Ckeyn)を使用して復号処理を行い、コンテンツデータD20を生成する。ここで、もしプレーヤ30に公開鍵データPK10による参照情報R10の署名の正当性を確認する機能がない場合には、ディスクR20に記録されているメッセージダイジェストデータMD20と、プレーヤ30にて生成した別のメッセージダイジェストデータとを比較し、これら2つのメッセージダイジェストデータが一致している場合に参照情報R10の有効性(正当性)が有ると判断される。
これにより、参照情報の署名に対し公開鍵データを使用した正当性確認ができない安価なデータ再生装置でも、参照情報の有効性(正当性)の確認を行うことができ、機器の有効性確認を複数の機器に対して低コストかつ効率的に行うことが可能となる。
次に、機器を無効化するための参照情報R10の一例として、図4及び図5を用いて説明する。なお、図5では、参照情報R10だけでなく、解読方法にも触れることとする。
図4は、本発明のデータ転送システムにおける参照情報の暗号化/復号過程を示す図である。なお、図4の説明において、コンテンツ鍵データCK10とコンテンツ鍵データCK100〜CK107とは、同じ鍵データであり識別文字はCkeynである。コンテンツ鍵データCK10とコンテンツ鍵データCK100〜CK107は、前述したコンテンツ鍵データCK24,CK33とも同一であり、この図4の説明では、便宜上、全てのコンテンツ鍵データを、コンテンツ鍵データCK10(参照情報作成者側)とコンテンツ鍵データCK100〜CK107(参照情報解読者側)の2種類で表現する。
図4によると、コンテンツ鍵データCK10(Ckeyn)は、前述したディスクR20に記録された暗号化されたコンテンツデータを、暗号化するために使われた鍵データである。コンテンツデータの暗号化はこの鍵データだけでもよいが、一般にはこの鍵データと組み合わせて他の鍵データも用いられ、全ての鍵データが揃わないとコンテンツデータの暗号は復号できない。暗号化過程P1は、コンテンツ鍵データCK10(Ckeyn)をそれぞれDkey0からDkey7までのデバイス鍵データで暗号化する過程である。この暗号化は、一般に鍵配布センタ10で行われ、参照情報R10が作り出される。参照情報R10において、E(Dkeyn,Ckeyn)はコンテンツ鍵データCK10(Ckeyn)をデバイス鍵データDkeynで暗号化(encryption)したものを示す。復号過程P2は、受け取った参照情報R10からそれぞれの機器が自分の持っているデバイス鍵データ(Dkeyn)を使って、コンテンツデータを暗号化するために使われたコンテンツ鍵データCK100〜CK107(Ckeyn)を取り出すための復号過程である。
なお、復号処理の際には、それぞれの機器は自分用のデバイス鍵データ(Dkeyn)を一つしか持っていないので、参照情報R10のそれぞれに対応した部分を取り出して自分のデバイス鍵データ(Dkeyn)で復号する。
ここで、自分に対応した部分は事前の約束により、例えば暗号化された情報を順に並べておけば直ちにわかる。もちろん、参照情報R10の有効性(正当性)を確認するために、図示していない参照情報R10に付属した、鍵配布センタ10の秘密鍵データで付けられた署名に対して、鍵配布センタ10の公開鍵データPK10で正当性を確認する。この点については図1を用いて前述したとおりである。
こうして得られた、コンテンツデータを暗号化するために使われたコンテンツ鍵データCK100〜CK107(Ckeyn)を用いて、ディスクR20から読み出された暗号化されたコンテンツデータを復号する。この際、コンテンツデータの暗号化が他の鍵データとの組み合わせでなされた場合には、同じように組み合わせてコンテンツデータを復号する。この図4において、暗号化と復号に用いられているデバイス鍵データ(Dkeyn)は、機器の数を8個とし、それぞれの機器に一つずつ割り当てられ、機器の製作時に鍵配布センタ10から提供される。配布については図1に示したとおりなので、図1を用いた説明を参照されたい。上述したようにそのデバイス鍵データ(Dkeyn)を用いて、それぞれの機器は参照情報R10の特定の部分を読み復号することによって、コンテンツ鍵データCK10(Ckeyn)と同一のコンテンツ鍵データCK100〜CK107(Ckeyn)を入手することができる。
ここで、機器を無効化する手順について、図5を参照して説明する。
図5は、図4における機器を無効化する手順を示す図である。なお、図5の説明において、コンテンツ鍵データCK10とコンテンツ鍵データCK100,CK101,CK103〜CK107とは、同じ鍵であり識別文字はCkey30としている。
ここである機器、例えばデバイス鍵データDkey2を持った例えばプレーヤ30の有効性を否定しようとすると、暗号化過程P1にて、参照情報R10aを作成するときにデバイス鍵データDkey2による暗号化を止める。具体的には、図6Aに示すように、参照情報R10aに含まれるE(Dkey2,Ckeyn)が入る予定の場所に、図5に示すように何もデータを入れないか、あるいは図6Bに示すように無意味な情報(ダミーデータ)D0を入れておく。こうして作られた参照情報R10aに、最新のバージョン番号を与えてそれに署名をし、例えばレコーダ20にインターネット等の通信網を経由して送るか、ディスクR20に参照情報R10aとして記録しレコーダ20に供給する。このレコーダ20は、Dkey2以外のデバイス鍵データ、例えばDkey1を持っているとする。レコーダ20は自分が既に持っている参照情報R10aのバージョン番号と、新しく受け取った参照情報R10aのバージョン番号とを比較し、新しく受け取った参照情報R10aに置き換える。復号過程P2にて、この参照情報R10aを用いてDkey1によりコンテンツ鍵データ(Ckeyn)を得ることができるので、コンテンツ鍵データ(Ckeyn)を用いてコンテンツデータを暗号化し、暗号化されたコンテンツデータをディスクR20に記録すると同時に参照情報R10a自身をディスクR20に記録する。このディスクR20を、デバイス鍵データDkey2を持ったプレーヤ30で再生しようとすると、そのプレーヤ30は正しいコンテンツ鍵データであるCkeynをデバイス鍵データDkey2によって得ることができないので、その結果として、暗号化されたコンテンツデータを復号することができない。これがここで説明したい機器の有効性の否定である。つまり、参照情報R10aによって有効性を否定された機器は、もはやディスクR20から読み出された暗号化されたコンテンツデータを復号してコンテンツの内容を確認又はコンテンツデータを再生することができない。
有効性を否定された機器がレコーダである場合は、当該機器、例えばデバイス鍵データDkey2をレコーダ20が持っているとすると、暗号化過程P1で参照情報R10を作成するときに同じようにデバイス鍵データDkey2による暗号化を止める。図6Aに示すように、参照情報R10aに含まれるE(Dkey2,Ckeyn)が入る予定の場所に、何もデータを入れないか、図6Bに示すように無意味な情報を入れておく。こうして作られた参照情報R10aに最新のバージョン番号を与えてそれに署名をし、例えばレコーダ20にインターネット等の通信網を介して送るか、ディスクR20に参照情報R10aとして記録紙レコーダ20に送る。レコーダ20は自分が既に持っている参照情報R10aのバージョン番号と、新しく受け取った参照情報R10aのバージョン番号とを比較し、新しく受け取った参照情報R10aに置き換える。復号過程P2にて、この参照情報R10aを用いてディスク鍵データDkey2によりコンテンツ鍵データ(Ckeyn)を得ようとするが、何らかの無意味な鍵データしか入手はできない。ここでいう無意味とは、他の機器と共通のコンテンツ鍵データ(Ckeyn)を得ることができないという意味である。したがってこの鍵データを用いてコンテンツデータを暗号化し、暗号化されたコンテンツデータをディスクR20に記録すると同時に参照情報R10a自身をディスクR20に記録し、このディスクR20を、例えばディスク鍵データDkey3を持ったプレーヤ30で再生すると、そのプレーヤ30はレコーダ20でコンテンツデータを暗号化する際に用いた鍵をDkey3を用いてによって得ることができない。その結果として、プレーヤ30は暗号化されたコンテンツデータを復号できないことになる。これがレコーダ20の場合の機器の有効性の否定である。つまり、参照情報R10aによって有効性を否定された機器は、もはやディスクR20を用いて他の機器と暗号化されたコンテンツデータのやり取りができなくなる。
[本発明の具体的な利用方法1]
次に、本発明に係るデータ転送システムの利用方法1について、具体的に説明する。まず、本発明のデータ転送システムの第1の基本動作について、フローチャートを参照して説明する。
図7は、本発明のデータ転送システムの第1の基本動作を示す図である。なお、本フローチャートの説明は、図1〜図3の各機器や各機能の名称を参照して行う。
[ステップS10]:鍵配布センタ10にて、公開鍵データPK10、デバイス鍵データDK20、及び参照情報R10がレコーダ20に対して、レコーダ20の製造時に配布され、メモリ28に格納される。鍵配布センタ10にて、公開鍵データPK10、デバイス鍵データDK30がプレーヤ30に対して、プレーヤ30の製造時に予め配布され、メモリ36に格納される。
[ステップS20]:まず、レコーダ20には、データ入力インタフェース21を介してコンテンツデータD20が入力されると、参照情報解読部24は、メモリ28内に格納されているデバイス鍵データDK20を使用して、メモリ28内に格納されている参照情報R10の解読を行う。ここで、参照情報解読部24は、ステップS10にて配布、格納されている参照情報R10に、デバイス鍵データDK20を用いて解読を行い、コンテンツ鍵データCK24を生成する。生成したコンテンツ鍵データCK24をデータ暗号化部25に出力。なお、参照情報解読部24の起動トリガーは、レコーダ20が起動した場合でもよい。その際には、生成されたコンテンツ鍵データCK24を保持しておき、コンテンツデータD20が投入されたときに利用することもできる。
すなわち、レコーダ20は、データ入力インタフェース21を介して入力された参照情報R10からレコーダ20自身が有するデバイス鍵データDK20を用いてコンテンツデータを暗号化するために使用したコンテンツ鍵データCK24を生成する。
なお、参照情報R10の有効性の確認は、参照情報R10に付属した鍵配布センタ10の秘密鍵データで付された署名に対して、鍵配布センタ10の公開鍵データPK10により行われる。
[ステップS30]:レコーダ20において、データ暗号化部25は、コンテンツデータD20を暗号化する。ここで、データ暗号化部25は、データ入力インタフェース21から供給されたコンテンツデータD20に対して、ステップS20にて参照情報解読部24から供給されたコンテンツ鍵データCK24を使って暗号化処理を行い、暗号化コンテンツデータC20を生成する。データ暗号化部25は、生成された暗号化コンテンツデータC20をデータ記録部27に渡す。
[ステップS40]:レコーダ20において、データ記録部27は、参照情報R10やコンテンツデータD20をディスクR20に記録する。ここで、データ記録部27は、ステップS30にてデータ暗号化部25により生成された暗号化コンテンツデータC20が供給されると、供給された暗号化コンテンツデータC20をメモリ28に格納されている参照情報R10と一緒にディスクR20へ記録する。
[ステップS50]:プレーヤ30において、データ読み込み部31は、ステップS40にてディスクR20に記録された参照情報R10や暗号化コンテンツデータC20などの外部データを読み込む。ここで、データ読み込み部31は、ディスクR20がプレーヤ30に挿入されると、ディスクR20に記録されている鍵配布センタ10から配布された参照情報R10を読み込み、参照情報確認部32へ出力する。ディスクR20に記録されている暗号化コンテンツデータC20を読み込み、データ復号部34へ出力する。
[ステップS60]:プレーヤ30において、参照情報確認部32は、ステップS50にてデータ読み込み部31から供給された参照情報R10の署名に対して、メモリ36に格納されている公開鍵データPK10により参照情報R10の署名の正当性の確認を行う。参照情報R10の署名が正しければ(正当性が有れば)参照情報R10を参照情報解読部33へ供給し、参照情報R10の署名が不正ならば(正当性が無ければ)何もせず処理動作を停止する、あるいは参照情報R10を破棄してもよい。
[ステップS70]:プレーヤ30において、参照情報解読部33は、ステップS10でメモリ36内に格納されたデバイス鍵データDK30を使用して、ステップS60で参照情報確認部32から供給された参照情報R10の解読処理を実行する。ここで、参照情報解読部33は、参照情報確認部32から供給された参照情報R10に対してデバイス鍵データDK30により解読処理を行い、コンテンツデータD20の暗号化に使用されたものと同一のコンテンツ鍵データCK33を生成する。参照情報解読部33は、生成されたコンテンツ鍵データCK33をデータ復号部34に出力する。なお、この参照情報解読部33による参照情報R10の解読処理の詳細については、図4を用いて説明したとおりである。すなわち、参照情報解読部33による参照情報R10の解読処理は、参照情報R10に付属した鍵配布センタ10の秘密鍵データで付された署名に対して、鍵配布センタ10の公開鍵データPK10により行われる。
[ステップS80]:プレーヤ30において、データ復号部34は暗号化コンテンツデータC20の復号処理を実行する。ここで、データ復号部34は、ステップS50にてデータ読み込み部31から渡された暗号化コンテンツCデータ20に対して、ステップS70で参照情報解読部33から供給されたコンテンツ鍵データCK33を使って復号処理を実行し、コンテンツデータD20を復号生成する。データ復号部34は、生成したコンテンツD20をデータ再生部35に出力する。
[ステップS90]:プレーヤ30において、データ再生部35はコンテンツデータD20を再生する。ここで、データ再生部35には、ステップS80でデータ復号部34によりコンテンツデータD20が供給されると、データを意味のある情報として再生する。例えば、この情報が音楽情報であれば、D/A変換器によりアナログオーディオ信号に変換し、変換されたアナログオーディオ信号をアンプを介してスピーカに供給しスピーカから可聴音として出力する。例えば、この情報が画像や文字などのファイル形式の情報であれば、ファイルシステムに転送する。
図8は、本発明に係るデータ転送システムにおいて、更新された参照情報R10がレコーダ20に配布された場合の動作を示すフローチャートである。なお、本フローチャートの説明は、図1〜図3に示す各機器及び各機器の機能を参照して行う。
[ステップS200]:鍵配布センタ10にて、更新された新しい参照情報R10がレコーダ20に配布される。この新しい参照情報R10の配布は、再生専用ディスクの製造過程を通じて再生専用ディスクにより、又は記録可能ディスクに記録された形で若しくはインターネット等の通信網を経由してなど、種々の手段を用いて行うことができる。
[ステップS210]:レコーダ20において、データ入力インタフェース21には、ステップS200で配布された参照情報R10が入力される。ここで、データ入力インタフェース21は、鍵配布センタ10から配布された参照情報R10が入力され、参照情報確認部22へ出力する。
[ステップS220]:レコーダ20において、参照情報確認部22は、ステップS210でデータ入力インタフェース21から供給された、新しい参照情報R10の署名に対して、メモリ28に格納されている鍵配布センタ10より配布された公開鍵データPK10により正当性の確認(Verify)を行う。
[ステップS230]:参照情報確認部22は、ステップS220で新しい参照情報R10の署名の確認が正しければ(正当性が有れば)新しい参照情報R10を参照情報更新部23へ供給し、署名の確認が不正ならば(正当性が無ければ)何もせず処理動作を停止する。あるいは新しい参照情報R10を破棄してもよい。すなわち、供給された新しい参照情報R10の確認に失敗すれば参照情報R10の受け取りはなかったものとされ、参照情報の変更はなされず次のプロセスへ進む。ここで、確認した新しい参照情報R10の署名が正しければ、ステップS240へ進み、署名が不正ならば、ステップS260へ進む。
[ステップS240]:レコーダ20において、参照情報更新部23は、ステップS230にて参照情報確認部22から新しい参照情報R10が供給されると、メモリ28に格納されている古い参照情報R10と新しい参照情報R10のバージョン番号を比較する。ここで、新しい参照情報R10のバージョン番号が新しい場合には、ステップS250へ進み、供給された新しい参照情報R10のバージョン番号が古い場合には、ステップS260へ進む。
[ステップS250]:ステップS240にて供給された新しい参照情報R10のバージョン番号の方がメモリ28に記憶されている参照情報R10のバージョン番号よりも新しいと判断されたので、参照情報更新部23は、レコーダ20内部のメモリ28に格納(保存)されている古い参照情報R10を、ステップS230にて参照情報確認部22から供給された新しい参照情報R10に更新(置き換え)する。
[ステップS260]:ステップS240にて新しい参照情報R10のバージョン番号の方がメモリ28の記憶されている参照情報R10のバージョン番号よりも古いと判断されたので、参照情報更新部23により参照情報の更新処理は行われない。あるいは新しい参照情報R10を破棄してもよい。次のプロセスを実行する。すなわち、再びレコーダ20内部に保存された参照情報R10を使った、例えば参照情報解読処理やデータ記録処理が行われる。
ここではコンテンツ鍵データ(Ckeyn)によってコンテンツデータを暗号化する、若しくは他の鍵データと組み合わせてコンテンツデータを暗号化すると説明したが、幾つかのコンテンツデータを暗号化した鍵をそれぞれコンテンツデータと対応をとった形でテーブルとして持ち、そのテーブルをこのコンテンツ鍵データ(Ckeyn)によって暗号化する。あるいは、他の鍵データと組み合わせてテーブルを暗号化することも可能であり、上述した実施例と同様にしてある機器の有効性を否定することができる。この場合にはテーブルを復号できないためにコンテンツデータを暗号化した鍵データを得ることができないので、結局、暗号化されたコンテンツデータを復号できないので有効性を否定することができる。この方法は、特に同じディスクの上に新しいコンテンツデータを追記するときに参照情報を新しくする場合、以前のコンテンツデータを暗号化した鍵データを変更することなくそのまま使えるので有効な方法である。なお、後述する[実施例の具体的な利用方法2]の説明では、この幾つかのコンテンツデータを暗号化した幾つかの鍵データを、それぞれコンテンツデータと対応をとった形でテーブルとして持ち、そのテーブルをこのコンテンツ鍵データ(Ckeyn)によって暗号化する形で説明する。
上述した説明では、コンテンツ鍵データ(共通鍵データ)によりコンテンツデータD20を暗号化するように説明したが、乱数発生器により鍵データを発生させ、発生された鍵データによりコンテンツデータD20を暗号化することもできる。ここで、この乱数発生器で発生される乱数は、乱数であればどのようなものでもよいが、特に入力パラメータ等の情報が同じであれば、同様の乱数が生成される擬似乱数が適している。
以上のようにして、それぞれの機器が持っているデバイス鍵データにより、それぞれの機器が参照情報から共通の鍵データを入手し、それを用いて暗号化されたコンテンツデータを復号、若しくは復号するための鍵データを入手する機構(機器の有効性を否定するための仕組み)と参照情報とを、機器の有効性を否定する機構と参照情報として用いることができる。
上述した図1に示した鍵配布センタ10からレコーダ20に配布される参照情報R10には、上述したようにバージョン番号が含まれており、鍵配布センタ10の秘密鍵データによる署名がなされている。レコーダ20ではまず、署名の確認(Verify)により参照情報R10の有効性(正当性)を確認する。その後、正当と判断された参照情報R10の署名によって確認された参照情報R10に含まれているバージョン番号を、レコーダ20内に保存されている参照情報R10のバージョン番号と比較し、もし新しい参照情報R10レコーダ20に保存されている参照情報よりもが新しければ、新しい参照情報R10に置き換える。こうして、常に機器の有効性を判断する参照情報R10を最新のものに保つようにする。
ここでは機器の有効性を否定するための機構(機器の有効性を否定するための仕組み)と参照情報R10の一例を説明したが、この機構と参照情報R10に関しては、ここで説明したものに限らない。要は参照情報R10があればよい。
[本発明の具体的な利用方法2]
上述した参照情報R10の有効性(正当性)の確認であるが、署名の確認(Verify)による方法は、比較的コストがかかる。図7及び図8の説明中では、参照情報R10の有効性(正当性)の確認は全て鍵配布センタ10の秘密鍵データによる署名の確認(Verify)によった。署名の確認は、信頼性は高いがコストも高い。このため、安価なプレーヤ30を実現するために、参照情報R10の有効性(正当性)の確認にメッセージダイジェストデータを使う。
そこで、次に、本発明の具体的な利用方法2として、メッセージダイジェストを参照情報R10の有効性(正当性)の確認に使う場合について、具体的に説明する。
まず、メッセージダイジェストデータについて、図を参照して具体的に説明する。
図8は、本発明のメッセージダイジェストデータの基本的な生成構造を示した図であり、図9は、図8における基本的な生成構造を持つメッセージダイジェストデータの生成を、時系列的に示した図である。なお、図8は、ブロック暗号化関数がCBC(Cipher Block Chaining)モードを用いて作られたハッシュ関数の例で、例えばこれはメッセージダイジェストデータを生成する関数として用いることができる。
図8及び図9によると、E41は、ブロック暗号化関数であり、例えばDES(Data Encryption Standard)やAES(Advanced Encryption Standard)が知られている。k42は、ブロック暗号化関数で用いられる鍵データであり、この場合秘密に保たれる。なお、ブロック暗号化関数は、一般にある長さ(ビット長)の入力と出力を持ち、ここではそれをt(ビット)とする。鍵データの長さについては、tと同じ場合もあれば、tより短いものや(DES)より長いものが使える場合もある(AES)。図9によると、Xi43は、tビットの長さの入力を示し、Hi−144は一回前のE41の出力である。Hi−144は図10でも示すように、iが‘1’の場合、すなわち初期値は固定されていて、ハッシュ関数の場合特に問題なく‘0’とすることができる。ここで‘0’はtビットの長さの“0”の連続である。XOR45は、Xi43とHi−144のビット単位の排他的論理和(Exclusive OR)をとることを意味する。それがE41の入力となり、鍵k42を用いてブロック暗号化関数E41により暗号化されたものが、出力Hi46である。この出力は再びDL47で遅延させられた後、次回の演算に用いられる。
これを図示したのが図10で、X1と‘0’の排他的論理和が暗号化されてH1となり、X2とH1の排他的論理和が暗号化されてH2となり、と連続していく。ここでX1、X2、…はtビットの入力で、
X=(X1,X2,・・・,Xn−1,Xn) ・・・(1)
に示すように全体で(txn)ビットであるビット列を、tビットずつに分割した各要素である。ここでは、メッセージダイジェストを作るメッセージはビット列と考えているが、一般的にディジタルデータを操作する場合に問題のない仮定であり、もしその長さがtの整数倍でない場合は適当に追加のビットを付け加えてtの整数倍とする。そうして作られたXは数式(1)のように要素としてXiを持つ。これを図9の基本的な構造を用いて、図10のように処理するとその出力Hn48はXの全ての要素Xiの影響を受けた形で作られる。こうして作られたHn48はXを代表するメッセージダイジェストデータと考えられる。
このHn48の用途は、メッセージXとともにHnを相手に送り、Xが変更された場合には、再びHn´を計算しなおしてXが変更されたことを検出することにある。したがって、メッセージXを変更してもHn´を元のHnにできれば変更は検出されないことになる。しかしながら、そのようなことは簡単ではない。k42を秘密にした場合、HnからXnとHn−1の排他的論理和を逆に求めることは容易ではない。これはE41がブロック暗号化関数であり、k42を秘密にすれば暗号を解くことが難しいことに由来する。
こうして出来上がったメッセージダイジェストデータであるHn48はメッセージの有効性(正当性)を確かめるための手段になり得るが、次にこのHnを容易に変更されないように必要な場所に転送することが、必要となる。ここではメッセージ(参照情報)のメッセージダイジェストデータの一例を説明し、それがメッセージの有効性(正当性)を確認するための手段になり得ることを例示して説明したが、メッセージダイジェストデータを作るためのハッシュ関数は色々なものが提案されており、ブロック暗号化関数を用いたものはその一例に過ぎない。必要なことは、メッセージ(参照情報)の改竄を検出し、その有効性(正当性)を確認できるメッセージダイジェストデータを元のメッセージよりも少ない情報量で作ることができればよい。
メッセージダイジェストデータであるHn48(以下ダイジェストデータと言う)の記録媒体による転送は、幾つかの方法が考えられる。まず、記録媒体を制御しているファイルシステムの観点から見て、そのファイルシステムの内部にファイルとしておく方法がある。この方法は、ダイジェストデータに対する読み書きが簡単であるが、容易に変更もされやすいという面を持つ。この場合、何らかの暗号化が必要であり、暗号化されたファイル内でのメッセージ(ダイジェストデータを含む)の有効性(正当性)の確認をできるようにする必要がある。したがって、このダイジェストデータは、更に暗号化して相手に送る(ディスクに書き込み渡す、あるいは通信により送信する)ことができる構造とする。この暗号化は、システム全体にわたる共通の鍵データを用いた暗号であってもよいし、個々の記録媒体に固有の鍵データを用いた暗号化であってもよい。
次に、ファイルシステムで制御される記録媒体領域以外の領域に置く方法がある。この特徴は、記録媒体を読み書きする機器(以下ドライブと言う)には比較的簡単にダイジェストデータの読み書きができるが、ファイルシステムを経由してはできないという点にある。したがって、ファイルシステムで制御される領域遺体の領域に書き込めば外部からのダイジェストデータの変更は比較的難しい。ドライブによってダイジェストデータのに読み書きさせるので、ダイジェストデータの読み書きに色々な制約をかけることができる。ここで、ファイルシステムで制御される領域以外の領域にダイジェストデータを置く、すなわち記録する方法について、図を参照して説明する。
ディスクのファイルシステムで制御される領域以外の領域には、幾つかの種類がある。以下、ディスク50の場合について説明する。ディスク50は、図11に示すように、記録単位の先頭を示すデータ等が記録されるリードインエリア51、ユーザデータが記録されるデータエリア(以下、プログラムエリアと称する)52、プログラムエリア52の外周側に設けられるリードアウトエリア53から構成されている。
リードインエリア51は、記録単位の先頭の位置を示すデータ等が記録される領域を示し、例えばCD−R上ディスクの各セッションの先頭にある領域で、セッションのTOC(Table Of Contents)データ、例えばトラック情報と開始位置などを示すデータが記録される領域である。このセッションとは、リードインエリア、プログラムエリア、及びリードアウトエリアを1つにした記録単位である。
プログラムエリア52は、リードインエリア51の外周側に設けられユーザデータが記録される領域であり、ファイルシステムでデータの記録又は再生が制御される領域である。
リードアウトエリア53は、セッションの最後にある領域であり、プログラムエリア52の外周側に設けられている。
このようなディスクの場合、リードインエリア51、リードアウトエリア53等のプログラムエリア52以外の領域と、プログラムエリア52内でもファイルシステムでは制御されない領域を予め約束して作ることもできる。例えばファイルシステムで制御されるエリアの最外周とリードアウトエリア53の間に、つまりリードアウトエリア53の直前にファイルシステムでは制御されない領域を用意することができる。これら以外にも、例えばリードインエリア51よりも更にディスクの内周側やリードアウトエリア53よりも更に外周側にファイルシステムでは制御できない領域を予め約束して作ることができる。
記録媒体として半導体メモリを用いる場合でも、同じようにファイルシステムでは制御できない領域を予め約束して作ることができる。例えば、データの書き込み可能は領域の最後のアドレス以後や最初のアドレス以前の領域等のファイルシステムでは制御できない領域を確保できる。
このように設けられたファイルシステムでは制御できない領域は、比較的困難ながらも外部からデータの読み書きができないわけではないので、暗号化して記録することとその領域内のメッセージ単位でやはり有効性(正当性)の確認を行うことによって一層の信頼性が増す。暗号化処理を行う場合の鍵データに関してもシステム共通の暗号でもよいし、記録媒体に固有の鍵データを用いてもよい。
上述した説明では、ファイルシステムによって制御される領域と、ファイルシステムによって制御される領域以外の領域とに分けて説明したが、もちろん両方の領域にメッセージダイジェストデータを記録してもよい。
なお、参照鍵データと記録媒体に固有の鍵データから関数(例えば排他的論理和(Exclusive OR))を用いてある鍵データを作り出して、コンテンツデータを暗号化した鍵データのリストを暗号化することができる。こうすると、参照鍵データが入手できないと、コンテンツを暗号化した鍵データを入手することができず、コンテンツデータを手に入れることができない。
次に、図1で説明したデータ転送システムにおいて、全体の流れの中でのメッセージダイジェストデータの使い方について、図12を参照して説明する。
図12は、本発明のデータ転送システムにおける利用方法2の構成を示す原理図である。なお、図12において、各部の機能は図1と同様であるので詳細な説明は省略する。また、図12と図1の相違点は、説明の便宜上、プレーヤ30に代えて、安価な機器として安価なプレーヤ300を図示しているのみである。
今、図12でレコーダ20によってディスクR20にデータが記録される。レコーダ20は、コンテンツデータD20を暗号化した暗号化コンテンツデータC20をディスクR20に書き込む。ここで、参照情報R10とデバイス鍵データDK20とディスク固有の鍵データ(前述した記録媒体に固有の鍵データ)とから鍵データを作り出して、コンテンツデータD20を暗号化し、若しくは鍵データのリストを暗号化しディスクR20に書き込む。参照情報R10もその署名とともにディスク20書き込まれ、参照情報R10のメッセージダイジェストデータMD20も書き込まれる。このようにしてデータが記録されたディスクR20は、参照情報R10の署名の正当性を確認できない安価なプレーヤ300でも使うことができる。ディスクR20は、必ずしも参照情報R10の署名の確認ができない安価なプレーヤだけに供給されるわけではないので、参照情報に署名を付けることには意味がある。
次に、ディスクR20が安価なプレーヤ300に挿入されると、参照情報R10が読み込まれ、その有効性(正当性)がメッセージダイジェストデータMD20により確認される。参照情報R10からデバイス鍵データDK30を用いてコンテンツ鍵データが引き出され、参照情報R10、デバイス鍵データDK20と更にディスク固有の鍵データと組み合わせてコンテンツデータD20を暗号化した鍵データが復号され、引き出された鍵データを用いて暗号化コンテンツデータC20の暗号が解かれ、その結果コンテンツD20を入手することができる。
ここで、メッセージダイジェストデータがコンテンツデータを暗号化した鍵データのリストと同じ暗号化される要素になっている場合は、参照情報からまず鍵データが引き出され、それによってコンテンツデータを暗号化した鍵データのリストとメッセージダイジェストデータが取り出される。改めて参照情報の有効性(正当性)が確認される。このプロセスの意味は、参照情報の改竄はまず参照情報から引き出される鍵データが変更されるものにはならないことによっている。なぜなら、参照情報は鍵データを引き出すためにあり、機器の有効性の否定はその鍵データが引き出せないようにして実現される。この参照情報の改竄の目的は、鍵データが引き出せないようになった機器でも鍵データが引き出せるように変更がなされることである。鍵データが引き出されないような改竄は意味がない。得られた鍵データでメッセージダイジェストデータを引き出し参照情報の有効性(正当性)を確認し、もし参照情報が有効でない場合はコンテンツデータのディスクR20からの読み出しをその段階で止めてしまう。
次に、本発明に係るデータ転送システムの利用方法2の動作について、フローチャートを参照して具体的に説明する。
図13は、本発明に係るデータ転送システムの第2の基本動作を示すフローチャートである。なお、本フローチャートの説明は、図2、図3、図13に示す各機器や各機能に基づいて行う。安価なプレーヤ300の参照情報確認機能は、図3を用いて説明した参照情報確認部32において、公開鍵データPK10による参照情報の署名の確認を行わない機能であり、プレーヤ30のそれ以外の全ての機能部はプレーヤ30と同一である。更に、図12の説明では、図12にて説明した「参照情報R10とデバイス鍵データDK20とディスク固有の鍵データ(前述した記録媒体に固有の鍵データ)とから鍵を作り出して、コンテンツD20を暗号化し、若しくは鍵のリスト(前述)を暗号化しディスクR20に書き込む。」についての説明は行わずに、単にメッセージダイジェストデータを使用した基本動作を示す。
[ステップS100]:鍵配布センタ10にて、公開鍵データPK10、デバイス鍵データDK20、及び参照情報R10がレコーダ20に対して、レコーダ20の製造時に配布され、メモリ38に格納される。また、鍵配布センタ10にて、公開鍵データPK10、デバイス鍵データDK30が安価なプレーヤ300に対して、安価なプレーヤ300の製造時に予め配布され、メモリ36に格納される。
[ステップS110]:まず、レコーダ20において、データ入力インタフェース21を介してコンテンツデータD20が入力されると、参照情報解読部24は、メモリ28に格納されているデバイス鍵データDK20を使用して、メモリ28に格納されている参照情報R10の解読を行う。ここで、参照情報解読部24は、ステップS100にて配布(格納)された参照情報R10を、デバイス鍵データDK20を用いて解読を行い、コンテンツ鍵データCK24を生成する。生成されたコンテンツ鍵データCK24をデータ暗号化部25に出力する。なお、参照情報解読部24の起動トリガーは、レコーダ20が起動した場合でもよい。この場合には、コンテンツデータD20が入力されるまで、生成されたコンテンツデータ鍵CK24を保持しておき、コンテンツデータD20が入力されたときに利用。この参照情報解読部24による参照情報R10の解読の詳細については、図4を用いて説明したとおりである。
[ステップS120]:レコーダ20において、データ暗号化部25は、コンテンツデータD20を暗号化する。ここで、データ暗号化部25は、データ入力インタフェース21から供給されたコンテンツデータD20に、ステップS110で参照情報解読部24から供給されたコンテンツ鍵データCK24を使って暗号化処理を施し、暗号化コンテンツデータC20を生成する。データ暗号化部25は、生成された暗号化コンテンツデータC20をデータ記録部27に供給する。
[ステップS130]:レコーダ20において、メッセージダイジェスト生成部26は、メッセージダイジェストデータMD20を生成する。ここで、データ入力インタフェース21を介してコンテンツデータD20が入力されると、メッセージダイジェスト生成部26は、メモリ28に記憶されている参照情報R10をもとにメッセージダイジェストデータMD20を生成する。生成されたメッセージダイジェストデータMD20をデータ記録部27へ出力する。なお、このメッセージダイジェストデータMD20は、予め生成しておきメモリ28に格納しておくこともできる。
[ステップS140]:レコーダ20において、データ記録部27は、参照情報R10やコンデンツデータD20をディスクR20に記録する。ここで、データ記録部27は、ステップS120でデータ暗号化部25により暗号化コンテンツデータC20が供給されると、暗号化コンテンツデータC20をメモリ28に格納されている参照情報R10と一緒にディスクR20へ記録する。なお、参照情報R10の記録の際には、ステップS130にて、メッセージダイジェスト生成部26から供給されたメッセージダイジェストデータMD20、あるいはメモリ28から読み出されたメッセージダイジェストデータMD20も、それらの情報と一緒にディスクR20に記録する。
[ステップS150]:安価なプレーヤ300において、データ読み込み部31は、ステップS140にてディスクR20に記録された参照情報R10、メッセージダイジェストデータMD20、及び暗号化コンテンツデータC20などの外部データをディスクR20から読み出しデータとして読み込む。ここで、データ読み込み部31は、ディスクR20が安価なプレーヤ300に挿入されると、ディスクR20に記録されている鍵配布センタ10から配布された参照情報R10とメッセージダイジェストデータMD20とを読み出し、参照情報確認部32へ出力する。また、ディスクR20内の暗号化された暗号化コンテンツデータC20を読み込み、データ復号部34へ出力する。
[ステップS160]:安価なプレーヤ300において、参照情報確認部32は、ステップS150にてデータ読み込み部31から供給された参照情報R10から、メッセージダイジェストデータを生成する。更に、参照情報確認部32は、このメッセージダイジェストデータと、ステップS150にてデータ読み込み部31から供給されたメッセージダイジェストデータMD20とを比較し確認を行う。参照情報確認部32は、2つのメッセージダイジェストデータが、一致していれば参照情報R10を参照情報解読部33へ出力し、2つのメッセージダイジエストデータが不一致ならば何もせず処理動作を停止する。なお、参照情報R10を破棄してもよい。
[ステップS170]:安価なプレーヤ300において、参照情報解読部33は、ステップS100にてメモリ36に格納されたデバイス鍵データDK30を使用して、ステップS160で供給された参照情報R10の解読を行う。ここで、参照情報解読部33は、参照情報確認部32から供給された参照情報R10に対してデバイス鍵データDK30により解読を行い、暗号化に使用されたものと同一のコンテンツ鍵データCK33を生成する。参照情報解読部33は、生成されたコンテンツ鍵データCK33をデータ復号部34に出力する。なお、この参照情報解読部33による参照情報R10の解読の詳細については、図4を用いて説明したとおりである。
[ステップS180]:安価なプレーヤ300において、データ復号部34は暗号化コンテンツデータC20を復号する。ここで、データ復号部34は、ステップS150にてデータ読み込み部31から供給された暗号化コンテンツデータC20に対して、ステップS170で参照情報解読部33から供給されたコンテンツ鍵データCK33を使って復号を行い、コンテンツデータD20を生成する。データ復号部34は、復号されたコンテンツデータD20をデータ再生部35に出力する。
[ステップS190]:安価なプレーヤ300において、データ再生部35はコンテンツデータD20を再生する。ここで、データ再生部35は、ステップS180にてデータ復号部34によりコンテンツデータD20が供給されると、データを意味のある情報として再生する。例えば、この情報が音楽情報であれば、D/A変換器によりアナログオーディオ信号に変換し、変換されたアナログオーディオ信号をアンプを介して、スピーカに供給しスピーカから可聴音として出力する。例えば、この情報が画像や文字などのファイル形式の情報であれば、ファイルシステムに転送する。
なお、上述した説明では、レコーダ20で書き込める記録可能なディスクR20の説明をしたが、参照情報R10のメッセージダイジェストデータMD20の計算を省略するためにも鍵配布センタ10から署名済みの参照情報R10をメッセージダイジェストデータとともにディスク製作者に渡し、再生専用のディスクに記録することによって書き換えることのできない情報として署名及びメッセージダイジェストデータ付きの参照情報として配布することもできる。この場合、プレーヤとしては、参照情報は再生専用のディスクに記録しているので参照情報の改竄は考えられないので、参照情報はそのまま使ってもよい。記録可能なディスクと書き込めないディスクの区別がつかない場合には、署名かメッセージダイジェストデータで参照情報の有効性(正当性)を確認する必要が生じるので、署名あるいはメッセージダイジェストデータは、参照情報の有効性の確認のために使われる。
上述した説明では、主として光ディスクを例に挙げて説明したが、記録媒体は半導体メモリであってもよい。
更に、上述した説明では、読み書き可能な記録媒体として、光ディスクや半導体メモリを例に説明したが、特殊な装置により記録された再生専用の記録媒体でもよく、例えばCD−ROMディスクなどにも適用できる。
以上のようにして、メッセージダイジェストデータを用いて、機器の有効性を判断するための参照情報の有効性(正当性)を確認することが安価なプレーヤでも可能となる。
以上説明した処理は、論理回路などの電子部品を使ってハードウエア構成とすることができる。ハードウエアの代わりにマイクロプログラムに記述し、マイクロコンピュータで実行することにより、本発明の機能をソフトウエアで実現することもできる。ここで、マイクロコンピュータで実行する際には、マイクロコンピュータに接続あるいは内蔵されたROM等にプログラムを予め格納しておき、メインメモリにロードして実行する。なお、マイクロプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録媒体、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記録媒体には、ハードディスク、フレキシブルディスク(FD)、ZIP(Zip:磁気ディスクの一種)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(DVD Random Access Memory)ディスク、CD−ROM(Compact Disc Read Only Memory)ディスク、CD−R(CD Recordable)ディスク、CD−RW(CD Rewritable)ディスクなどがある。光磁気記録媒体には、MO(Magneto Optical)ディスクなどがある。半導体メモリには、フラッシュ・メモリ(Flash Memory)などがある。
マイクロプログラムを流通させる場合には、例えばマイクロプログラムが記録されたDVD、CD−ROMディスクなどの可搬型記録媒体が販売される。マイクロプログラムをサーバの記憶装置に格納しておき、ネットワークを介して、サーバからクライアントへマイクロプログラムを転送することもできる。
なお、本発明は、図面を参照して説明した上述の実施例に限定されるものではなく、添付の請求の範囲及びその主旨を逸脱することなく、様々な変更、置換又はその同等のものを行うことができることは当業者にとって明らかである。
産業上の利用可能性
上述したように、本発明は、機器の有効性の確認のための参照情報とは別に、その参照情報のメッセージダイジェストを記録媒体の固有の領域に入れたことにより、データ再生時に参照情報自体の有効性(正当性)の確認をそのメッセージダイジェストを用いて行うことができる。これにより、データの転送時における機器の有効性確認を、複数の機器に対して低コストかつより効率的に行うことが可能となる。
【図面の簡単な説明】
図1は、本発明にデータ転送システムの基本構成を示すブロック図である。
図2は、本発明に用いられるレコーダの機能構成を示すブロック図である。
図3は、本発明に用いられるプレーヤの機能構成を示すブロック図である。
図4は、本発明に係るデータ転送システムにおける参照情報の暗号化/復号過程を示す図である。
図5は、本発明に係るデータ伝送システムにおいて、このシステムを構成する機器を無効化する手順を示す図である。
図6Aは各機器がそれぞれ有する参照情報R10を示す図であり、図6Bは参照情報R10aに含まれるE(Dkey2,Ckeyn)が入る予定の場所にダミーデータD0を入れた例を示す図である。
図7は、本発明に係るデータ転送システムの第1の基本動作を示すフローチャートである。
図8は、本発明に係るデータ転送システムにおいて、更新された参照情報がレコーダに配布された場合の動作を示すフローチャートである。
図9は、本発明に係るメッセージダイジェストの基本的な生成構造を示した図である。
図10は、図9における基本的な生成構造を持つメッセージダイジェストの生成を時系列的に示した図である。
図11は、ディスク内部に記録されるデータの一般的なフォーマットを示す図である。
図12は、本発明に係るデータ転送システムにおける利用方法2の構成を示す原理図である。
図13は、本発明に係るデータ転送システムの第2の基本動作を示すフローチャートである。
本発明は、コンテンツデータ鍵データを用いてコンテンツデータの暗号化又は復号処理を行うデータ処理方法、更に、暗号化処理されたコンテンツデータを記録する記録装置及び暗号化されたコンテンツデータを再生する再生装置に関する。
本出願は、日本国において2002年4月2日に出願された日本特許出願番号2002−099471を基礎として優先権を主張するものであり、この出願は参照することにより、本出願に援用される。
背景技術
従来、半導体メモリを記憶媒体として用いるICレコーダ、MP3(MPEG1 Audio Layer3)レコーダ、パーソナルコンピュータで使われる光磁気ディスクを記録媒体に用いるMOドライブ、記録型の光ディスクを記録媒体に用いるCD−ドライブなどのデータ記録再生装置が用いられている。これら記録再生装置に用いられる記録媒体として、装置に対し着脱自在とされたものが用いられている。記録再生装置に対し着脱可能とされた記録媒体は、少なくとも同種の記録再生装置の間で自在に着脱して用いることが可能である。このように、記録再生装置に着脱自在とされた記録媒体には、音楽や映画などの種々のコンテンツデータが記録される。種々のコンテンツデータが記録された記録媒体は、記録媒体単独で商取引の対象とされ市場に流通されている。
コンテンツデータが記録された記録媒体の流通の拡大に伴い、コンテンツデータの不正使用や盗用なども増加傾向にある。
このような状況の中で、コンテンツデータの不正使用や盗用などを確実に防止するため、コンテンツデータが記録された記録媒体と同種の記録媒体を用いることを可能とした記録再生装置であっても、許可された特定の記録再生装置のみでしかコンテンツデータの記録再生やデータ伝送が行えないようにすることが必要となる。すなわち、コンテンツデータを記録した記録媒体に、特定に記録再生装置にのみが記録媒体に記録されたコンテンツデータを記録再生若しくはデータ伝送を許可するための認証機能を付与することが必要となってくる。
この種の認証機能が付与された記録媒体及びこの種の記録媒体を用いる記録再生装置を備えた相互認証システムとして、特開平11−265318号公報に記載されたものがある。この公報に記載された相互認証システムは、記録再生装置と記録媒体に対し、互いのパスワードを交換し相互認証することにより、記録媒体へのアクセスの可否を調べる方法を採用している。この方法では、複数の記録媒体を記録再生できるのは1つの記録再生装置のみであり、複数の記録媒体を、許可された複数のデータ記録再生装置で記録再生することができない。そこで、この課題を解決するための従来の認証機能は、複数の記録再生装置による記録媒体へのアクセスの可否を調べるために、記録媒体へのデータ記録時に参照情報もあわせて格納し、この参照情報により記録媒体へのアクセスの可否を調べる方法を採用している。この参照情報は、例えば記録再生装置の製造会社により、記録再生装置に予め設定された情報である。この参照情報には、例えば複数の記録再生装置に対応した認証情報が含まれている。
この参照情報は、改竄されることも考えられる。そこで、従来の認証システムにおいては、例えば、参照情報の作成者は、記録媒体内に格納されている参照情報に対し、参照情報の作成者の秘密鍵(Private key)による署名を行う。一方、参照情報を利用する側は、その署名を公開鍵(Public key)で検証(Verify)することにより参照情報の有効性(正当性)を確認するという方法がとられている。
公開鍵による署名の確認では、一般的に、第三者機関である認証局により証明された公開鍵が利用される。参照情報を利用する記録再生装置等の機器には、署名の正当性を確認するための機能が実装されていなければならない。このため、従来の方法では、公開鍵による署名の検証はコストがかかるという問題がある。
発明の開示
本発明の目的は、上述したような従来の認証システムが有する問題点を解消することができる新規なコンテンツデータの暗号化又は復号処理を行うデータ処理方法、更に、暗号化処理されたコンテンツデータを記録する記録装置及び暗号化されたコンテンツデータを再生する再生装置を提供することにある。
本発明の他の目的は、コンテンツデータの不正使用や盗用などを確実に防止することを可能とするコンテンツデータの暗号化又は復号処理を行うデータ処理方法、更に、暗号化処理されたコンテンツデータを記録する記録装置及び暗号化されたコンテンツデータを再生する再生装置を提供することにある。
本発明の更に他の目的は、記録媒体に記録されたコンテンツデータの記録再生若しくはデータ伝送が許可された記録再生装置の認証を確実にしかも容易に行うことができるコンテンツデータの暗号化又は復号処理を行うデータ処理方法、更に、暗号化処理されたコンテンツデータを記録する記録装置及び暗号化されたコンテンツデータを再生する再生装置を提供することにある。
本発明の更に他の目的は、記録媒体に記録されたコンテンツデータの記録再生若しくはデータ伝送が許可された複数の記録再生装置を確実にしかも容易に認証可能とするコンテンツデータの暗号化又は復号処理を行うデータ処理方法、更に、暗号化処理されたコンテンツデータを記録する記録装置及び暗号化されたコンテンツデータを再生する再生装置を提供することにある。
上述のような目的を達成するために提案される本発明は、コンテンツデータを暗号化又は復号化処理を行うデータ処理方法であり、供給される複数の機器に各々固有のデバイス鍵データを複数用いてコンテンツ鍵データを暗号化したデータを含む参照情報を生成するときに、複数の機器のうち記録又は再生を許可されている機器に対応するデバイス鍵データを用いてコンテンツ鍵データを暗号化して参照情報を生成し、生成された参照情報をデバイス鍵データとともに複数の機器に供給し、複数の機器は、複数の機器に各々固有のデバイス鍵データを用いて供給された参照情報からコンテンツ鍵データを復号し、復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化又は復号処理を行う。
ここで、機器は、ICレコーダやディスク記録再生装置等の各種記録媒体が用いられる記録再生装置を含むものである。
本発明に係るデータ処理方法は、更に、復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化処理を行い、暗号化されたデータと参照情報を記録媒体に記録する。
本発明に係るデータ処理方法に用いられる複数の機器には、供給された参照情報が有効なものであるか否かを判別するためのデータが予め記憶されており、記録媒体から読み出された参照情報を判別するためのデータに基づいて各機器の有効性を判別する。
本発明に係るデータ処理方法は、更に、供給された参照情報が有効であると判別されたときには、デバイス鍵データを用いて参照情報からコンテンツ鍵データを復号する。
本発明に係るデータ伝送は、供給された参照情報が有効でないと判別されたときには、その後の処理動作を中止する。
本発明に係るデータ伝送において、判別するためのデータは、上記参照情報を暗号化するときに用いられた鍵データである。
本発明に係るデータ伝送において、供給されたデバイス鍵データと参照情報は複数の機器のメモリに記憶されている。複数の機器には、供給された参照情報が有効なものであるか否かを判別するためのデータが予め記憶されており、供給されてきた参照情報を判別するためのデータに基づいて有効性を判別する。
本発明に係るデータ伝送は、供給された参照情報が有効であると判別されたときには、供給された参照情報のバージョンとメモリに記憶されている参照情報のバージョンとを比較し、供給された参照情報のバージョンがメモリに記憶されている参照情報のバージョンよりも新しいときにはメモリの参照情報を供給された参照情報に更新する。
本発明に係るデータ伝送は、供給された参照情報が有効でないと判別されたときには、供給された参照情報を破棄する。
供給された参照情報が有効なものであるか否かを判別するためのデータは、参照情報を暗号化するときに用いられた鍵データが用いられる。
本発明に係るデータ伝送は、更に、復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化処理を行うとともに参照情報に基づいてダイジェストデータを作成し、生成されたダイジェストデータと暗号化されたデータと参照情報を記憶媒体に記録する。
本発明に係るデータ伝送は、更に、記録媒体から読み出された参照情報からダイジェストデータを生成し、生成されたダイジェストデータと記憶媒体から読み出されたダイジェストデータとを比較し、生成されたダイジェストデータと記憶媒体から読み出されたダイジェストデータとが一致しているときにはデバイス鍵データを用いてコンテンツ鍵データを復号する。生成されたダイジェストデータと記憶媒体から読み出されたダイジェストデータが一致しなかったときには、以後の処理を中止する。
本発明に係る他のデータ伝送は、供給される複数の機器に各々固有のデバイス鍵データを複数用いてコンテンツ鍵データを暗号化したデータを含む参照情報を生成するときに、上記複数の機器のうち記録又は再生を許可しない機器に対応する上記デバイス鍵データを用いて上記コンテンツ鍵データを暗号化したデータが位置される部分に無効なデータを挿入して参照情報を生成し、生成された参照情報をデバイス鍵データとともに複数の機器に供給する。複数の機器は、複数の機器に各々固有のデバイス鍵データを用いて供給された参照情報からコンテンツ鍵データを復号し、復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化又は復号処理を行う。
本発明に係る記録装置は、コンテンツ鍵データの記録が許可されている装置に固有のデバイス鍵データで暗号化されたデータを含む参照情報と上記デバイス鍵データとが記憶されたメモリと、参照情報をデバイス鍵データを用いて復号し、コンテンツデータを出力する復号処理部と、復号処理部から供給されるコンテンツ鍵データを用いて入力されたコンテンツデータの暗号化処理を行う暗号化処理部と、記暗号化処理部からの出力データを参照情報とともに記録媒体に記録する記録部とを備えている。
この記録装置を構成するメモリには、更に参照情報が有効なものであるか否かを判別するためのデータが予め記憶されており、復号処理部は、記録装置に新たに供給された参照情報を判別するためのデータに基づいて有効性を判別する。
復号処理部は、新たに供給された参照情報が有効であると判別されたときには、新たに供給された参照情報のバージョンとメモリに記憶されている参照情報のバージョンとを比較し、新たに供給された参照情報のバージョンがメモリに記憶されている参照情報のバージョンよりも新しいときにはメモリの参照情報を新たに供給された参照情報に更新する。
本発明に係る記録装置は、更に参照情報に基づいてダイジェストデータを生成する生成部を備え、記録部は、生成されたダイジェストデータと暗号化されたデータと参照情報を記録媒体に記録する。
本発明に係る再生装置は、デバイス鍵データとコンテンツ鍵データが記録が許可されている装置に固有のデバイス鍵データで暗号化されたデータを含む参照情報が有効なものであるか否かを判別するためのデータが記憶されたメモリと、判別するためのデータを用いて、暗号化されたコンテンツデータと参照情報が記録された記録媒体から読み出された上記参照情報が有効であるか否かを判別する判別部と、判別部によって参照情報が有効であると判別されたときには、記録媒体から読み出された参照情報をデバイス鍵データを用いて復号し、コンテンツ鍵データを出力する第1の復号処理部と、第1の復号処理部から供給されるコンテンツ鍵データを用いて記録媒体から読み出された暗号化されたコンテンツデータの復号を行う第2の復号処理部を備えている。
本発明に係る再生装置を構成する第1の復号処理部は、再生装置に新たに供給された参照情報を上記判別するためのデータに基づいて有効性を判別する。第1の復号処理部は、新たに供給された参照情報が有効であると判別されたときには、新たに供給された参照情報のバージョンとメモリに記憶されている参照情報のバージョンとを比較し、新たに供給された参照情報のバージョンがメモリに記憶されている参照情報のバージョンよりも新しいときにはメモリの参照情報を新たに供給された参照情報に更新する。
本発明に係る他の再生装置は、デバイス鍵データが記憶されたメモリと、コンテンツ鍵データの記録が許可されている装置に固有のデバイス鍵データで暗号化されたデータを含む参照情報と上記参照情報に基づいて生成されたダイジェストデータと暗号化されたコンテンツデータが記録された記録媒体から読み出された参照情報からダイジェストデータを生成する生成部と、生成部によって生成されたダイジェストデータと記録媒体から読み出されたダイジェストデータとを比較する比較部と、比較部によって生成されたダイジェストデータと記憶媒体から読み出されたダイジェストデータとが一致していると検出されたときには記録媒体から読み出された参照情報をデバイス鍵データを用いて復号し、コンテンツ鍵データを出力する第1の復号処理部と、第1の復号処理部から供給されるコンテンツ鍵データを用いて記録媒体から読み出された暗号化されたコンテンツデータの復号を行う第2の復号処理部とを備えている。
本発明の更に他の目的、本発明によって得られる具体的な利点は、以下において図面を参照して説明される実施の形態の説明から一層明らかにされるであろう。
発明を実施するための最良の形態
まず、記録媒体やインターネット等の通信ネットワークを用いて音楽や映画等のコンテンツデータを配布するシステムを説明する。この種のコンテンツデータの配信システムでは、二つの機器、例えば通信機能を備えたパーソナルコンピュータ(Personal Computer)間でのコンテンツデータの転送や、記録媒体を介在させて一の記録再生装置から他の記録再生装置にコンテンツデータを転送するに当たって、コンテンツデータが転送される側のパーソナルコンピュータや記録再生装置等の他の機器の有効性を確認できる情報を使ってその機器の有効性を確認し、その後転送することが行われている。ここで、機器の有効性を確認できる情報とは、システム全体を管理する立場から見て不都合な機器が存在することを何らかの手段で知り、予めシステムに組み込んである有効性を否認できる機能を実現するために配布される情報を指す。この情報にはバージョン情報が含まれており、常に最新の配布された情報を識別できるようにして、その最新の情報に基づきコンテンツデータが転送される機器の有効性の確認ができるように構成されている。
本実施例において、記録媒体から機器へのコンテンツデータの転送に当たっての機器の有効性確認の一例は、以下に述べる実施の形態に特有の情報を用いて行われる。なお、前述した機器の有効性を確認できる情報とは、この特有の情報の有効性(正当性)を制御することによって、記録媒体から機器へのコンテンツデータの転送を不可能にする情報である。
本実施例では、秘密鍵を用いた機器の有効性の確認の方法において、機器の有効性の確認のための情報とは別に、その情報のメッセージダイジェストを記録媒体の固有の領域に入れることにより情報自体の有効性(正当性)の確認がなされる。ここで以下の説明では、まず、本実施例に係る原理的な構成と各機能について説明する。次に、秘密鍵を用いた機器の有効性を確認する方法、別の言い方をすれば特定(複数可)の機器を無効化し、その結果として記録媒体から機器へのコンテンツデータの転送を不可能にする方法の一つの例を、第1の実施例として説明する。その後、参照情報自体の有効性(正当性)の検査(確認)のためのメッセージダイジェストを使用した例を、第2の実施例として説明する。
以下、本発明の実施例を図面を参照して説明する。
なお、本実施例の説明において、例えばCKeynやDKeynなどの鍵識別文字の末尾の“n”には、CKey鍵やDKey鍵の識別を表す数字が設定されるものとする。また、本実施の形態の説明において、参照情報R10の正当性を証明するための署名は、参照情報R10の作成時に生成されるものであり、参照情報R10と署名とを含めて参照情報R10として表現する。更に、署名は、参照情報R10の作成者にて、自らの秘密鍵により暗号化されたものであり、作成者の公開鍵PK10によってのみ正当性が証明(確認)されるものである。
まず、本発明に係るデータ転送システムの基本的な構成を図1を参照して説明する。
本発明に係るデータ転送システム1は、図1に示すように、参照情報R10を解読する鍵データを配布する鍵配布センタ10と、参照情報R10を解読しデータを記録する記録装置であるレコーダ20と、参照情報R10を解読しデータを再生する再生装置であるプレーヤ30とから構成される。
鍵配布センタ10は、特定の機器を無効化するための参照情報R10と、参照情報R10自体の署名を認証(以下、正当性の確認と称する)するための公開鍵PK10と、参照情報R10を解読する機器固有のデバイス鍵データDK20とを、レコーダ20の製造時にそのレコーダ20に配布(格納)する。鍵配布センタ10は、公開鍵データPK10と、参照情報R10を解読する機器固有のデバイス鍵データDK30とを、プレーヤ30の製造時にプレーヤ30に配布(格納)する。
ここで、それぞれの情報や鍵データの役割を列記すると、参照情報R10は、レコーダ20の製造時に鍵配布センタ10から提供される特定の機器を無効化するための情報である。無効化する機器が増加した場合には、この参照情報R10は鍵配布センタ10から再発行される。なお、この参照情報R10は、レコーダに対して記録媒体としてのディスクを使って提供されるが、インターネット等の通信網や他の手段で供給することもできる。デバイス鍵(Dkey1:Device Key)データDK20は、参照情報R10を解読し共通鍵データ(以下、コンテンツ鍵データと称する)を生成するため、機器固有の鍵データとして、レコーダ20の製造時に鍵配布センタ10から配布(格納)される鍵データである。なお、コンテンツ鍵データは、データ(以下、コンテンツデータと称する)D20を暗号化/復号するための共通の鍵データである。コンテンツデータD20とは、意味のある情報であり、例えば音楽情報などである。公開鍵データPK10は、鍵配布センタ10の秘密鍵データによる参照情報R10自体の署名の正当性を確認するため、レコーダ20あるいはプレーヤ30の製造時に鍵配布センタ10から配布(格納)される鍵データである。デバイス鍵(Dkey2)データDK30は、参照情報R10を解読しコンテンツ鍵データを生成するため、機器固有の鍵データとして、プレーヤ30の製造時に鍵配布センタ10から配布(格納)される鍵データである。
レコーダ20は、予め格納された参照情報R10をデバイス鍵データDK20により解読して暗号化に使用するコンテンツ鍵(Ckeyn)データを生成し、投入されたコンテンツデータD20をコンテンツ鍵(Ckeyn)データにより暗号化して暗号化コンテンツデータC20を生成する。格納された参照情報R10と暗号化コンテンツデータC20とを、書き込み可能なICメモリやディスク状記録媒体、例えばディスクR20に記録する。
なお、ここでディスクR20とは、データが記録される記録媒体であり、例えば、光ディスク、光磁気ディスク等のディスク状記録媒体を含むものである。
レコーダ20は、プレーヤ30が公開鍵データPK10による署名の確認ができない安価なプレーヤである場合に対応するため、参照情報R10からメッセージダイジェストデータMD20を生成し、これを参照情報R10と暗号化コンテンツデータC20とともにディスクR20に記録する。なお、レコーダ20の機能の詳細については、図2を用いて後述する。
プレーヤ30は、ディスクR20に記録された参照情報R10の署名を公開鍵データPK10により確認し、ディスクR20に記録された参照情報R10を解読して有効性(正当性)を確認する。更に、プレーヤ30は、暗号化に使用されたものと同一のコンテンツ鍵(Ckeyn)データを生成する。そして、プレーヤ30は、このコンテンツ鍵(Ckeyn)データによりディスクR20に記録された暗号化コンテンツデータC20を複号して再生する。ここで、プレーヤ30とは、例えば音楽ディスクなどを再生するためのプレーヤである。なお、プレーヤ30が公開鍵データPK10による署名の確認ができない安価なプレーヤである場合は、参照情報R10から別のメッセージダイジェストデータを生成し、2つのメッセージダイジェストデータの一致により参照情報R10の有効性を確認する。プレーヤ30の機能の詳細については、図3を用いて後述する。
以上説明したように、まず、鍵配布センタ10によって、特定の機器を無効化するための参照情報R10(前述したように、参照情報の正当性を証明するための署名を含む)と、参照情報R10の署名の正当性を確認するための公開鍵データPK10と、参照情報R10を解読するためのデバイス鍵データDK20とが、コンテンツデータD20をディスクR20に記録するレコーダ20に対して、このレコーダ20の製造時に配布される。公開鍵データPK10と、参照情報R10を解読するためのデバイス鍵データDK30とが、コンテンツデータD20を再生するプレーヤ30に対して、プレーヤ30の製造時に配布される。
次に、レコーダ20によって、この装置には鍵配布センタ10から配布された参照情報R10(署名含む)と公開鍵データPK10とデバイス鍵データDK20とが、予め内部のメモリに格納されている。ここで、ディスクR20に記録するためのコンテンツデータD20が供給されると、参照情報R10がデバイス鍵データDK20を使って解読されコンテンツ鍵(Ckeyn)データが生成され、コンテンツデータD20に対してコンテンツ鍵(Ckeyn)データを使って暗号化して暗号化コンテンツデータC20が生成される。参照情報R10をもとに、メッセージダイジェストデータMD20が生成され、暗号化コンテンツデータC20と参照情報R10(署名含む)とメッセージダイジェストデータMD20とがディスクR20に記録される。
プレーヤ30には鍵配布センタ10により配布された公開鍵データPK10とデバイス鍵データDK30とが、予めプレーヤ30の内部のメモリに格納されている。プレーヤ30で、ディスクR20に格納されている参照情報R10(署名含む)とメッセージダイジェストデータMD20と暗号化コンテンツデータC20とが読み込まれ、参照情報R10の署名に対して公開鍵データPK10により正当性が確認される。あるいは、公開鍵データPK10による署名の確認は行わずに、参照情報R10から別のメッセージダイジェストデータが生成され、この別のメッセージダイジェストデータとメッセージダイジェストデータMD20とが比較され、これらのメッセージダイジェストデータの一致あるいは不一致の確認が行われる。参照情報R10の正当性が有る又はメッセージダイジェストデータが一致していた場合には、参照情報R10がデバイス鍵データDK30を使って解読され暗号化コンテンツデータC20を復号するためのコンテンツ鍵(Ckeyn)データが生成される。生成されたコンテンツ鍵(Ckeyn)データにより、暗号化コンテンツC20が復号されてコンテンツデータD20が再生される。
これにより、データの転送時における機器の有効性確認を、複数の機器に対して効率的に行うことが可能となる。
次に、本実施例に係るデータ転送システムを構成するレコーダ20とプレーヤ30の各機能について、図を参照して説明する。
図2は、本発明におけるレコーダ20の機能構成を示すブロック図である。
レコーダ20は、参照情報R10やコンテンツデータD20が入力されるデータ入力インタフェース21、参照情報R10の署名の正当性を確認する参照情報確認部22、参照情報R10を更新する参照情報更新部23、参照情報R10からコンテンツ鍵データCK24を生成する参照情報解読部24、コンテンツデータD20を暗号化するデータ暗号化部25、メッセージダイジェストデータMD20を生成するメッセージダイジェスト生成部26、参照情報R10とコンテンツデータD20とメッセージダイジェストデータMD20とをディスクR20に記録するデータ記録部27、及び各データを格納しておくメモリ28から構成されている。
データ入力インタフェース21は、参照情報確認部22とデータ暗号化部25とに接続されており、参照情報R10やコンテンツデータD20などの外部データを入力する。なお、このデータ入力インタフェース21は、所定の通信方式によりデータが入力されるインタフェースであり、例えばSCSI(Small Computer System Interface)などである。これにより、データ入力インタフェース21に、記録媒体から読み出されたデータを外部データとして入力してもよいし、通信手段を利用して入力してもよい。この通信手段とは、例えばインターネットなどの通信網である。なお、データ入力インタフェース21には、他の装置を介さずに直接データを入力することも可能とする。ここで、データ入力インタフェース21には、鍵配布センタ10から配布された参照情報R10が入力され、入力された参照情報を参照情報確認部22に出力する。あるいは、データ入力インタフェース21には、レコーダ20に装着されたディスクR20に記録するためのコンテンツデータD20が入力され、入力されたコンテンツデータD20をデータ暗号化部25に出力する。なお、配布される参照情報R10は、レコーダ20が出荷された後には、鍵配布センタ10から更新された新しい参照情報R10として配布される。
参照情報確認部22は、データ入力インタフェース21と参照情報更新部23とメモリ28とに接続されている。ここで、参照情報確認部22は、データ入力インタフェース21から供給された、新しい参照情報R10の署名に対して、メモリ28に格納されている公開鍵データPK10を用いて参照情報の正当性の確認を行う。署名が正しければ(正当性が有れば)新しい参照情報R10を参照情報更新部23へ出力し、署名が不正ならば(正当性が無ければ)何もせず処理動作を終了する。あるいは新しい参照情報R10を破棄してもよい。
参照情報更新部23は、参照情報確認部22とメモリ28とに接続されており、メモリ28に格納されている古い参照情報R10を、参照情報確認部22から供給された新しい参照情報R10に更新する。ここで、参照情報更新部23は、参照情報確認部22から正当性が有ると確認され、新しい参照情報R10が供給されると、メモリ28に格納されている参照情報R10と新しい参照情報R10のバージョン番号を比較する。新しい参照情報R10のバージョン番号の方がメモリ28に格納されている参照情報よりも新しい場合には、参照情報更新部23は新しい参照情報R10をメモリ28に格納されている参照情報R10と置き換える。新しい参照情報R10のバージョン番号の方がメモリ28に格納されている参照情報よりも古い場合には、参照情報更新部23は何もせず処理動作を終了する。あるいは新しい参照情報R10を破棄してもよい。
参照情報解読部24は、データ暗号化部25とメモリ28とに接続されており、メモリ28内に格納されているデバイス鍵データDK20を使用して、メモリ28内に格納されている参照情報R10の解読を行う。ここで、コンテンツデータD20がデータ入力インタフェース21に入力されると、参照情報解読部24は、参照情報R10に対してデバイス鍵データDK20により解読を行い、コンテンツ鍵データCK24を生成する。生成したコンテンツ鍵データCK24をデータ暗号化部25に供給する。なお、この参照情報解読部24による参照情報R10の解読の詳細については、図4を用いて後述する。
データ暗号化部25は、参照情報解読部24とデータ入力インタフェース21とデータ記録部27とに接続されており、コンテンツデータD20を暗号化する。ここで、データ暗号化部25は、データ入力インタフェース21から渡されたコンテンツデータD20に対して、参照情報解読部24から供給されたコンテンツ鍵データCK24を使って暗号化処理を行い、暗号化コンテンツデータC20を生成する。なお、この暗号化処理は、共通の鍵により暗号化/復号を行う秘密鍵暗号方式(慣用暗号方式:conventional encryption system)に従う。データ暗号化部25は、生成した暗号化コンテンツデータC20をデータ記録部27に出力する。
メッセージダイジェスト生成部26は、データ記録部27とメモリ28とに接続され、メッセージダイジェストデータMD20を生成する。ここで、コンテンツデータD20がデータ入力インタフェース21に入力されると、メッセージダイジェスト生成部26は、メモリ28に格納されている参照情報R10をもとに、メッセージダイジェストデータMD20を生成する。生成したメッセージダイジェストデータMD20をデータ記録部27へ出力する。なお、このメッセージダイジェストデータMD20は、予め作成しておきメモリ28に格納しておくこともできる。
データ記録部27は、データ暗号化部25とメッセージダイジェスト生成部26とメモリ28とに接続され、参照情報R10、メッセージダイジェストデータMD20、及び暗号化コンテンツデータC20をディスクR20に記録する。ここで、データ記録部27は、データ暗号化部25により暗号化コンテンツデータC20が供給されると、暗号化コンテンツデータC20をメモリ28に格納されている参照情報R10と一緒にディスクR20へ記録する。なお、参照情報R10の記録の際には、メッセージダイジェスト生成部26から供給されたメッセージダイジェストデータMD20、あるいはメモリ28に予め格納されているメッセージダイジェストデータMD20も、これらのデータもと一緒にディスクR20に記録される。
メモリ28は、参照情報確認部22、参照情報更新部23、参照情報解読部24、メッセージダイジェスト生成部26、及びデータ記録部27に接続され、参照情報R10、公開鍵データPK10、及びデバイス鍵データDK20を格納するメモリ28はメッセージダイジェストデータMD20も格納することができる。なお、メモリ28としては、書き換えが公開鍵データPK10やデバイス鍵データDK20の格納を行うだけで、データの書き換えを行わないのであれは、読み込み専用の記憶媒体として、例えばROM(Read Only Memory)などを用いてもよい。メモリ28には参照情報R10を格納するなど書き換えの必要があれば、読み書き可能な記憶媒体として、例えばフラッシュメモリ(Flash memory)などを用いてもよい。もちろん、メモリ28は、ROMとフラッシュメモリの両方を使用することも可能である。ここで、参照情報R10は、参照情報更新部23により格納され、参照情報解読部24とメッセージダイジェスト生成部26とデータ記録部27とに供給される。公開鍵データPK10は、参照情報確認部22により読み込まれる。デバイス鍵データDK20は、参照情報解読部24により読み込まれる。なお、参照情報R10、公開鍵データPK10、及びデバイス鍵データDK20は、レコーダ20の製造時に鍵配布センタ10により配布(格納)される。また、参照情報R10は、鍵配布センタ10により更新配布された場合に、参照情報更新部23に格納される。
以上のように構成されたレコーダ20は、参照情報解読部24にて、格納された参照情報R10をデバイス鍵データDK20を用いて解読し、暗号化に使用するコンテンツ鍵データCK24(Ckeyn)を生成する。レコーダ20は、データ暗号化部25にて、入力されたコンテンツデータD20に対してコンテンツ鍵データCK24(Ckeyn)を使用して暗号化し、暗号化コンテンツデータC20を生成する。レコーダ20は、メッセージダイジェスト生成部26にて、格納された参照情報R10からメッセージダイジェストデータMD20を生成する。レコーダ20は、データ記録部27にて、格納された参照情報R10と生成されたメッセージダイジェストデータMD20と暗号化コンテンツデータC20とをディスク20に記録する。ここで、レコーダ20は、更新された参照情報R10が新しく配布された場合に、参照情報確認部22と参照情報更新部23にて、更新された新しい参照情報R10の署名を公開鍵データPK10により確認し、古い参照情報R10と置き換え、保持(格納)する。
これにより、機器の有効性確認するための情報を、他の機器にて読み込める記録媒体に記録することができ、機器の有効性確認を複数の機器に対して効率的に行うことが可能となる。
図3は、本発明に係るプレーヤ30の機能構成を示すブロック図である。
プレーヤ30は、ディスクR20から参照情報R10とメッセージダイジェストデータMD20と暗号化コンテンツデータC20の読み込みを行うデータ読み込み部31、参照情報R10の署名の正当性を確認する参照情報確認部32、参照情報R10からコンテンツ鍵データCK33を生成する参照情報解読部33、暗号化コンテンツデータC20を復号しコンテンツデータD20を生成するデータ復号部34、復号されたコンテンツデータD20を再生するデータ再生部35、及び各データを格納しておくメモリ36から構成されている。
データ読み込み部31は、参照情報確認部32とデータ復号部34とに接続されており、ディスクR20に記録されている参照情報R10、メッセージダイジェストデータMD20、及び暗号化コンテンツデータC20などの外部データを読み込む。ここで、データ読み込み部31は、ディスクR20に記録されている、鍵配布センタ10から配布された参照情報R10、及び参照情報R10から生成されたメッセージダイジェストデータMD20を読み込み、参照情報確認部32へ出力する。暗号化された暗号化コンテンツデータC20をディスクR20から読み出し、データ復号部34へ出力する。
参照情報確認部32は、データ読み込み部31と参照情報解読部33とメモリ36とに接続されている。ここで、参照情報確認部32は、データ読み込み部31から渡された参照情報R10の署名に対して、メモリ36に格納されている公開鍵データPK10により正当性の確認を行う。署名が正しければ(正当性が有れば)参照情報R10を参照情報解読部33へ渡し、署名が不正ならば(正当性が無ければ)何もせず処理動作を終了する。あるいは参照情報R10を破棄してもよい。一方、プレーヤ30を安価なプレーヤとして機能させる場合には、参照情報確認部32は、上述した公開鍵データPK10による署名の確認は行わずに、データ読み込み部31から供給された参照情報R10から別のメッセージダイジェストデータを生成する。更に、参照情報確認部32は、この生成された別のメッセージダイジェストデータと、データ読み込み部31から供給されたメッセージダイジェストデータMD20とを比較し確認を行う。参照情報確認部32は、これら2つのメッセージダイジェストデータが、一致していれば参照情報R10を参照情報解読部33へ出力し、不一致ならば何もせず処理動作を終了する。又は参照情報R10を破棄してもよい。
参照情報解読部33は、参照情報確認部32とデータ復号部34とメモリ36とに接続されており、メモリ36内に格納されているデバイス鍵データDK30を使用して、メモリ36内に格納されている参照情報R10の解読を行う。ここで、参照情報解読部33は、参照情報確認部32から供給された参照情報R10に対して、デバイス鍵データDK30により解読処理を行い、暗号化に使用されたものと同一のコンテンツ鍵データCK33を生成する。生成したコンテンツ鍵データCK33をデータ復号部34に出力する。なお、この参照情報解読部33による参照情報R10の解読の詳細については、図4を用いて後述する。
データ復号部34は、参照情報解読部33とデータ読み込み部31とデータ再生部35とに接続されており、暗号化コンテンツデータC20を復号する。ここで、データ復号部34は、データ読み込み部31から供給された暗号化コンテンツデータC20に対して、参照情報解読部33から供給されたコンテンツ鍵データCK33を使って復号処理を行い、コンデンツデータD20を生成する。なお、この復号処理は、共通の鍵データにより暗号化/復号を行う秘密鍵暗号方式に従う。そして、データ復号部34は、生成したコンテンツデータD20をデータ再生部35に出力する。
データ再生部35は、データ復号部34に接続され、コンテンツD20を再生する。ここで、データ再生部35は、データ復号部34によりコンテンツデータD20が供給されると、データを意味のある情報として再生する。なお、ここでいう再生とは、例えば、この情報が音楽情報であれば、D/A変換器によってアナログオーディオ信号に変換し、変換されたアナログオーディオ信号を、アンプを介して、スピーカ等の電気音響変換装置に供給し、可聴音として出力する動作を指す。例えば、この情報が画像や文字などファイル形式の情報であれば、ファイルシステムに転送する。
メモリ36は、参照情報確認部32と参照情報解読部33とに接続され、公開鍵データPK10やデバイス鍵データDK30を格納する。なお、メモリ36として、公開鍵データPK10やデバイス鍵データDK30の格納を行うだけでデータの書き換えを行わないのであれば、読み込み専用の記憶媒体として、例えばROM(Read Only Memory)などを用いることができる。ここで、公開鍵データPK10は、参照情報確認部32により読み込まれる。デバイス鍵データDK30は、参照情報解読部33により読み込まれる。なお、公開鍵データPK10とデバイス鍵データDK30は、プレーヤ30の製造時に鍵配布センタ10により予め配布されメモリに格納される。
このような構成されたプレーヤ30は、ディスクR20に記録された参照情報R10の署名に対して、公開鍵データPK10を用いて正当性を確認する。参照情報R10の署名の正当性が有ると確認された場合には、プレーヤ30は、ディスクR20に記録された参照情報R10を解読して有効性(正当性)を確認し、暗号化に使用されたものと同一のコンテンツ鍵データCK33(Ckeyn)を生成する。プレーヤ30は、ディスクR20に記録された暗号化コンテンツデータC20に対して、生成したコンテンツ鍵データCK33(Ckeyn)を使用して復号処理を行い、コンテンツデータD20を生成する。ここで、もしプレーヤ30に公開鍵データPK10による参照情報R10の署名の正当性を確認する機能がない場合には、ディスクR20に記録されているメッセージダイジェストデータMD20と、プレーヤ30にて生成した別のメッセージダイジェストデータとを比較し、これら2つのメッセージダイジェストデータが一致している場合に参照情報R10の有効性(正当性)が有ると判断される。
これにより、参照情報の署名に対し公開鍵データを使用した正当性確認ができない安価なデータ再生装置でも、参照情報の有効性(正当性)の確認を行うことができ、機器の有効性確認を複数の機器に対して低コストかつ効率的に行うことが可能となる。
次に、機器を無効化するための参照情報R10の一例として、図4及び図5を用いて説明する。なお、図5では、参照情報R10だけでなく、解読方法にも触れることとする。
図4は、本発明のデータ転送システムにおける参照情報の暗号化/復号過程を示す図である。なお、図4の説明において、コンテンツ鍵データCK10とコンテンツ鍵データCK100〜CK107とは、同じ鍵データであり識別文字はCkeynである。コンテンツ鍵データCK10とコンテンツ鍵データCK100〜CK107は、前述したコンテンツ鍵データCK24,CK33とも同一であり、この図4の説明では、便宜上、全てのコンテンツ鍵データを、コンテンツ鍵データCK10(参照情報作成者側)とコンテンツ鍵データCK100〜CK107(参照情報解読者側)の2種類で表現する。
図4によると、コンテンツ鍵データCK10(Ckeyn)は、前述したディスクR20に記録された暗号化されたコンテンツデータを、暗号化するために使われた鍵データである。コンテンツデータの暗号化はこの鍵データだけでもよいが、一般にはこの鍵データと組み合わせて他の鍵データも用いられ、全ての鍵データが揃わないとコンテンツデータの暗号は復号できない。暗号化過程P1は、コンテンツ鍵データCK10(Ckeyn)をそれぞれDkey0からDkey7までのデバイス鍵データで暗号化する過程である。この暗号化は、一般に鍵配布センタ10で行われ、参照情報R10が作り出される。参照情報R10において、E(Dkeyn,Ckeyn)はコンテンツ鍵データCK10(Ckeyn)をデバイス鍵データDkeynで暗号化(encryption)したものを示す。復号過程P2は、受け取った参照情報R10からそれぞれの機器が自分の持っているデバイス鍵データ(Dkeyn)を使って、コンテンツデータを暗号化するために使われたコンテンツ鍵データCK100〜CK107(Ckeyn)を取り出すための復号過程である。
なお、復号処理の際には、それぞれの機器は自分用のデバイス鍵データ(Dkeyn)を一つしか持っていないので、参照情報R10のそれぞれに対応した部分を取り出して自分のデバイス鍵データ(Dkeyn)で復号する。
ここで、自分に対応した部分は事前の約束により、例えば暗号化された情報を順に並べておけば直ちにわかる。もちろん、参照情報R10の有効性(正当性)を確認するために、図示していない参照情報R10に付属した、鍵配布センタ10の秘密鍵データで付けられた署名に対して、鍵配布センタ10の公開鍵データPK10で正当性を確認する。この点については図1を用いて前述したとおりである。
こうして得られた、コンテンツデータを暗号化するために使われたコンテンツ鍵データCK100〜CK107(Ckeyn)を用いて、ディスクR20から読み出された暗号化されたコンテンツデータを復号する。この際、コンテンツデータの暗号化が他の鍵データとの組み合わせでなされた場合には、同じように組み合わせてコンテンツデータを復号する。この図4において、暗号化と復号に用いられているデバイス鍵データ(Dkeyn)は、機器の数を8個とし、それぞれの機器に一つずつ割り当てられ、機器の製作時に鍵配布センタ10から提供される。配布については図1に示したとおりなので、図1を用いた説明を参照されたい。上述したようにそのデバイス鍵データ(Dkeyn)を用いて、それぞれの機器は参照情報R10の特定の部分を読み復号することによって、コンテンツ鍵データCK10(Ckeyn)と同一のコンテンツ鍵データCK100〜CK107(Ckeyn)を入手することができる。
ここで、機器を無効化する手順について、図5を参照して説明する。
図5は、図4における機器を無効化する手順を示す図である。なお、図5の説明において、コンテンツ鍵データCK10とコンテンツ鍵データCK100,CK101,CK103〜CK107とは、同じ鍵であり識別文字はCkey30としている。
ここである機器、例えばデバイス鍵データDkey2を持った例えばプレーヤ30の有効性を否定しようとすると、暗号化過程P1にて、参照情報R10aを作成するときにデバイス鍵データDkey2による暗号化を止める。具体的には、図6Aに示すように、参照情報R10aに含まれるE(Dkey2,Ckeyn)が入る予定の場所に、図5に示すように何もデータを入れないか、あるいは図6Bに示すように無意味な情報(ダミーデータ)D0を入れておく。こうして作られた参照情報R10aに、最新のバージョン番号を与えてそれに署名をし、例えばレコーダ20にインターネット等の通信網を経由して送るか、ディスクR20に参照情報R10aとして記録しレコーダ20に供給する。このレコーダ20は、Dkey2以外のデバイス鍵データ、例えばDkey1を持っているとする。レコーダ20は自分が既に持っている参照情報R10aのバージョン番号と、新しく受け取った参照情報R10aのバージョン番号とを比較し、新しく受け取った参照情報R10aに置き換える。復号過程P2にて、この参照情報R10aを用いてDkey1によりコンテンツ鍵データ(Ckeyn)を得ることができるので、コンテンツ鍵データ(Ckeyn)を用いてコンテンツデータを暗号化し、暗号化されたコンテンツデータをディスクR20に記録すると同時に参照情報R10a自身をディスクR20に記録する。このディスクR20を、デバイス鍵データDkey2を持ったプレーヤ30で再生しようとすると、そのプレーヤ30は正しいコンテンツ鍵データであるCkeynをデバイス鍵データDkey2によって得ることができないので、その結果として、暗号化されたコンテンツデータを復号することができない。これがここで説明したい機器の有効性の否定である。つまり、参照情報R10aによって有効性を否定された機器は、もはやディスクR20から読み出された暗号化されたコンテンツデータを復号してコンテンツの内容を確認又はコンテンツデータを再生することができない。
有効性を否定された機器がレコーダである場合は、当該機器、例えばデバイス鍵データDkey2をレコーダ20が持っているとすると、暗号化過程P1で参照情報R10を作成するときに同じようにデバイス鍵データDkey2による暗号化を止める。図6Aに示すように、参照情報R10aに含まれるE(Dkey2,Ckeyn)が入る予定の場所に、何もデータを入れないか、図6Bに示すように無意味な情報を入れておく。こうして作られた参照情報R10aに最新のバージョン番号を与えてそれに署名をし、例えばレコーダ20にインターネット等の通信網を介して送るか、ディスクR20に参照情報R10aとして記録紙レコーダ20に送る。レコーダ20は自分が既に持っている参照情報R10aのバージョン番号と、新しく受け取った参照情報R10aのバージョン番号とを比較し、新しく受け取った参照情報R10aに置き換える。復号過程P2にて、この参照情報R10aを用いてディスク鍵データDkey2によりコンテンツ鍵データ(Ckeyn)を得ようとするが、何らかの無意味な鍵データしか入手はできない。ここでいう無意味とは、他の機器と共通のコンテンツ鍵データ(Ckeyn)を得ることができないという意味である。したがってこの鍵データを用いてコンテンツデータを暗号化し、暗号化されたコンテンツデータをディスクR20に記録すると同時に参照情報R10a自身をディスクR20に記録し、このディスクR20を、例えばディスク鍵データDkey3を持ったプレーヤ30で再生すると、そのプレーヤ30はレコーダ20でコンテンツデータを暗号化する際に用いた鍵をDkey3を用いてによって得ることができない。その結果として、プレーヤ30は暗号化されたコンテンツデータを復号できないことになる。これがレコーダ20の場合の機器の有効性の否定である。つまり、参照情報R10aによって有効性を否定された機器は、もはやディスクR20を用いて他の機器と暗号化されたコンテンツデータのやり取りができなくなる。
[本発明の具体的な利用方法1]
次に、本発明に係るデータ転送システムの利用方法1について、具体的に説明する。まず、本発明のデータ転送システムの第1の基本動作について、フローチャートを参照して説明する。
図7は、本発明のデータ転送システムの第1の基本動作を示す図である。なお、本フローチャートの説明は、図1〜図3の各機器や各機能の名称を参照して行う。
[ステップS10]:鍵配布センタ10にて、公開鍵データPK10、デバイス鍵データDK20、及び参照情報R10がレコーダ20に対して、レコーダ20の製造時に配布され、メモリ28に格納される。鍵配布センタ10にて、公開鍵データPK10、デバイス鍵データDK30がプレーヤ30に対して、プレーヤ30の製造時に予め配布され、メモリ36に格納される。
[ステップS20]:まず、レコーダ20には、データ入力インタフェース21を介してコンテンツデータD20が入力されると、参照情報解読部24は、メモリ28内に格納されているデバイス鍵データDK20を使用して、メモリ28内に格納されている参照情報R10の解読を行う。ここで、参照情報解読部24は、ステップS10にて配布、格納されている参照情報R10に、デバイス鍵データDK20を用いて解読を行い、コンテンツ鍵データCK24を生成する。生成したコンテンツ鍵データCK24をデータ暗号化部25に出力。なお、参照情報解読部24の起動トリガーは、レコーダ20が起動した場合でもよい。その際には、生成されたコンテンツ鍵データCK24を保持しておき、コンテンツデータD20が投入されたときに利用することもできる。
すなわち、レコーダ20は、データ入力インタフェース21を介して入力された参照情報R10からレコーダ20自身が有するデバイス鍵データDK20を用いてコンテンツデータを暗号化するために使用したコンテンツ鍵データCK24を生成する。
なお、参照情報R10の有効性の確認は、参照情報R10に付属した鍵配布センタ10の秘密鍵データで付された署名に対して、鍵配布センタ10の公開鍵データPK10により行われる。
[ステップS30]:レコーダ20において、データ暗号化部25は、コンテンツデータD20を暗号化する。ここで、データ暗号化部25は、データ入力インタフェース21から供給されたコンテンツデータD20に対して、ステップS20にて参照情報解読部24から供給されたコンテンツ鍵データCK24を使って暗号化処理を行い、暗号化コンテンツデータC20を生成する。データ暗号化部25は、生成された暗号化コンテンツデータC20をデータ記録部27に渡す。
[ステップS40]:レコーダ20において、データ記録部27は、参照情報R10やコンテンツデータD20をディスクR20に記録する。ここで、データ記録部27は、ステップS30にてデータ暗号化部25により生成された暗号化コンテンツデータC20が供給されると、供給された暗号化コンテンツデータC20をメモリ28に格納されている参照情報R10と一緒にディスクR20へ記録する。
[ステップS50]:プレーヤ30において、データ読み込み部31は、ステップS40にてディスクR20に記録された参照情報R10や暗号化コンテンツデータC20などの外部データを読み込む。ここで、データ読み込み部31は、ディスクR20がプレーヤ30に挿入されると、ディスクR20に記録されている鍵配布センタ10から配布された参照情報R10を読み込み、参照情報確認部32へ出力する。ディスクR20に記録されている暗号化コンテンツデータC20を読み込み、データ復号部34へ出力する。
[ステップS60]:プレーヤ30において、参照情報確認部32は、ステップS50にてデータ読み込み部31から供給された参照情報R10の署名に対して、メモリ36に格納されている公開鍵データPK10により参照情報R10の署名の正当性の確認を行う。参照情報R10の署名が正しければ(正当性が有れば)参照情報R10を参照情報解読部33へ供給し、参照情報R10の署名が不正ならば(正当性が無ければ)何もせず処理動作を停止する、あるいは参照情報R10を破棄してもよい。
[ステップS70]:プレーヤ30において、参照情報解読部33は、ステップS10でメモリ36内に格納されたデバイス鍵データDK30を使用して、ステップS60で参照情報確認部32から供給された参照情報R10の解読処理を実行する。ここで、参照情報解読部33は、参照情報確認部32から供給された参照情報R10に対してデバイス鍵データDK30により解読処理を行い、コンテンツデータD20の暗号化に使用されたものと同一のコンテンツ鍵データCK33を生成する。参照情報解読部33は、生成されたコンテンツ鍵データCK33をデータ復号部34に出力する。なお、この参照情報解読部33による参照情報R10の解読処理の詳細については、図4を用いて説明したとおりである。すなわち、参照情報解読部33による参照情報R10の解読処理は、参照情報R10に付属した鍵配布センタ10の秘密鍵データで付された署名に対して、鍵配布センタ10の公開鍵データPK10により行われる。
[ステップS80]:プレーヤ30において、データ復号部34は暗号化コンテンツデータC20の復号処理を実行する。ここで、データ復号部34は、ステップS50にてデータ読み込み部31から渡された暗号化コンテンツCデータ20に対して、ステップS70で参照情報解読部33から供給されたコンテンツ鍵データCK33を使って復号処理を実行し、コンテンツデータD20を復号生成する。データ復号部34は、生成したコンテンツD20をデータ再生部35に出力する。
[ステップS90]:プレーヤ30において、データ再生部35はコンテンツデータD20を再生する。ここで、データ再生部35には、ステップS80でデータ復号部34によりコンテンツデータD20が供給されると、データを意味のある情報として再生する。例えば、この情報が音楽情報であれば、D/A変換器によりアナログオーディオ信号に変換し、変換されたアナログオーディオ信号をアンプを介してスピーカに供給しスピーカから可聴音として出力する。例えば、この情報が画像や文字などのファイル形式の情報であれば、ファイルシステムに転送する。
図8は、本発明に係るデータ転送システムにおいて、更新された参照情報R10がレコーダ20に配布された場合の動作を示すフローチャートである。なお、本フローチャートの説明は、図1〜図3に示す各機器及び各機器の機能を参照して行う。
[ステップS200]:鍵配布センタ10にて、更新された新しい参照情報R10がレコーダ20に配布される。この新しい参照情報R10の配布は、再生専用ディスクの製造過程を通じて再生専用ディスクにより、又は記録可能ディスクに記録された形で若しくはインターネット等の通信網を経由してなど、種々の手段を用いて行うことができる。
[ステップS210]:レコーダ20において、データ入力インタフェース21には、ステップS200で配布された参照情報R10が入力される。ここで、データ入力インタフェース21は、鍵配布センタ10から配布された参照情報R10が入力され、参照情報確認部22へ出力する。
[ステップS220]:レコーダ20において、参照情報確認部22は、ステップS210でデータ入力インタフェース21から供給された、新しい参照情報R10の署名に対して、メモリ28に格納されている鍵配布センタ10より配布された公開鍵データPK10により正当性の確認(Verify)を行う。
[ステップS230]:参照情報確認部22は、ステップS220で新しい参照情報R10の署名の確認が正しければ(正当性が有れば)新しい参照情報R10を参照情報更新部23へ供給し、署名の確認が不正ならば(正当性が無ければ)何もせず処理動作を停止する。あるいは新しい参照情報R10を破棄してもよい。すなわち、供給された新しい参照情報R10の確認に失敗すれば参照情報R10の受け取りはなかったものとされ、参照情報の変更はなされず次のプロセスへ進む。ここで、確認した新しい参照情報R10の署名が正しければ、ステップS240へ進み、署名が不正ならば、ステップS260へ進む。
[ステップS240]:レコーダ20において、参照情報更新部23は、ステップS230にて参照情報確認部22から新しい参照情報R10が供給されると、メモリ28に格納されている古い参照情報R10と新しい参照情報R10のバージョン番号を比較する。ここで、新しい参照情報R10のバージョン番号が新しい場合には、ステップS250へ進み、供給された新しい参照情報R10のバージョン番号が古い場合には、ステップS260へ進む。
[ステップS250]:ステップS240にて供給された新しい参照情報R10のバージョン番号の方がメモリ28に記憶されている参照情報R10のバージョン番号よりも新しいと判断されたので、参照情報更新部23は、レコーダ20内部のメモリ28に格納(保存)されている古い参照情報R10を、ステップS230にて参照情報確認部22から供給された新しい参照情報R10に更新(置き換え)する。
[ステップS260]:ステップS240にて新しい参照情報R10のバージョン番号の方がメモリ28の記憶されている参照情報R10のバージョン番号よりも古いと判断されたので、参照情報更新部23により参照情報の更新処理は行われない。あるいは新しい参照情報R10を破棄してもよい。次のプロセスを実行する。すなわち、再びレコーダ20内部に保存された参照情報R10を使った、例えば参照情報解読処理やデータ記録処理が行われる。
ここではコンテンツ鍵データ(Ckeyn)によってコンテンツデータを暗号化する、若しくは他の鍵データと組み合わせてコンテンツデータを暗号化すると説明したが、幾つかのコンテンツデータを暗号化した鍵をそれぞれコンテンツデータと対応をとった形でテーブルとして持ち、そのテーブルをこのコンテンツ鍵データ(Ckeyn)によって暗号化する。あるいは、他の鍵データと組み合わせてテーブルを暗号化することも可能であり、上述した実施例と同様にしてある機器の有効性を否定することができる。この場合にはテーブルを復号できないためにコンテンツデータを暗号化した鍵データを得ることができないので、結局、暗号化されたコンテンツデータを復号できないので有効性を否定することができる。この方法は、特に同じディスクの上に新しいコンテンツデータを追記するときに参照情報を新しくする場合、以前のコンテンツデータを暗号化した鍵データを変更することなくそのまま使えるので有効な方法である。なお、後述する[実施例の具体的な利用方法2]の説明では、この幾つかのコンテンツデータを暗号化した幾つかの鍵データを、それぞれコンテンツデータと対応をとった形でテーブルとして持ち、そのテーブルをこのコンテンツ鍵データ(Ckeyn)によって暗号化する形で説明する。
上述した説明では、コンテンツ鍵データ(共通鍵データ)によりコンテンツデータD20を暗号化するように説明したが、乱数発生器により鍵データを発生させ、発生された鍵データによりコンテンツデータD20を暗号化することもできる。ここで、この乱数発生器で発生される乱数は、乱数であればどのようなものでもよいが、特に入力パラメータ等の情報が同じであれば、同様の乱数が生成される擬似乱数が適している。
以上のようにして、それぞれの機器が持っているデバイス鍵データにより、それぞれの機器が参照情報から共通の鍵データを入手し、それを用いて暗号化されたコンテンツデータを復号、若しくは復号するための鍵データを入手する機構(機器の有効性を否定するための仕組み)と参照情報とを、機器の有効性を否定する機構と参照情報として用いることができる。
上述した図1に示した鍵配布センタ10からレコーダ20に配布される参照情報R10には、上述したようにバージョン番号が含まれており、鍵配布センタ10の秘密鍵データによる署名がなされている。レコーダ20ではまず、署名の確認(Verify)により参照情報R10の有効性(正当性)を確認する。その後、正当と判断された参照情報R10の署名によって確認された参照情報R10に含まれているバージョン番号を、レコーダ20内に保存されている参照情報R10のバージョン番号と比較し、もし新しい参照情報R10レコーダ20に保存されている参照情報よりもが新しければ、新しい参照情報R10に置き換える。こうして、常に機器の有効性を判断する参照情報R10を最新のものに保つようにする。
ここでは機器の有効性を否定するための機構(機器の有効性を否定するための仕組み)と参照情報R10の一例を説明したが、この機構と参照情報R10に関しては、ここで説明したものに限らない。要は参照情報R10があればよい。
[本発明の具体的な利用方法2]
上述した参照情報R10の有効性(正当性)の確認であるが、署名の確認(Verify)による方法は、比較的コストがかかる。図7及び図8の説明中では、参照情報R10の有効性(正当性)の確認は全て鍵配布センタ10の秘密鍵データによる署名の確認(Verify)によった。署名の確認は、信頼性は高いがコストも高い。このため、安価なプレーヤ30を実現するために、参照情報R10の有効性(正当性)の確認にメッセージダイジェストデータを使う。
そこで、次に、本発明の具体的な利用方法2として、メッセージダイジェストを参照情報R10の有効性(正当性)の確認に使う場合について、具体的に説明する。
まず、メッセージダイジェストデータについて、図を参照して具体的に説明する。
図8は、本発明のメッセージダイジェストデータの基本的な生成構造を示した図であり、図9は、図8における基本的な生成構造を持つメッセージダイジェストデータの生成を、時系列的に示した図である。なお、図8は、ブロック暗号化関数がCBC(Cipher Block Chaining)モードを用いて作られたハッシュ関数の例で、例えばこれはメッセージダイジェストデータを生成する関数として用いることができる。
図8及び図9によると、E41は、ブロック暗号化関数であり、例えばDES(Data Encryption Standard)やAES(Advanced Encryption Standard)が知られている。k42は、ブロック暗号化関数で用いられる鍵データであり、この場合秘密に保たれる。なお、ブロック暗号化関数は、一般にある長さ(ビット長)の入力と出力を持ち、ここではそれをt(ビット)とする。鍵データの長さについては、tと同じ場合もあれば、tより短いものや(DES)より長いものが使える場合もある(AES)。図9によると、Xi43は、tビットの長さの入力を示し、Hi−144は一回前のE41の出力である。Hi−144は図10でも示すように、iが‘1’の場合、すなわち初期値は固定されていて、ハッシュ関数の場合特に問題なく‘0’とすることができる。ここで‘0’はtビットの長さの“0”の連続である。XOR45は、Xi43とHi−144のビット単位の排他的論理和(Exclusive OR)をとることを意味する。それがE41の入力となり、鍵k42を用いてブロック暗号化関数E41により暗号化されたものが、出力Hi46である。この出力は再びDL47で遅延させられた後、次回の演算に用いられる。
これを図示したのが図10で、X1と‘0’の排他的論理和が暗号化されてH1となり、X2とH1の排他的論理和が暗号化されてH2となり、と連続していく。ここでX1、X2、…はtビットの入力で、
X=(X1,X2,・・・,Xn−1,Xn) ・・・(1)
に示すように全体で(txn)ビットであるビット列を、tビットずつに分割した各要素である。ここでは、メッセージダイジェストを作るメッセージはビット列と考えているが、一般的にディジタルデータを操作する場合に問題のない仮定であり、もしその長さがtの整数倍でない場合は適当に追加のビットを付け加えてtの整数倍とする。そうして作られたXは数式(1)のように要素としてXiを持つ。これを図9の基本的な構造を用いて、図10のように処理するとその出力Hn48はXの全ての要素Xiの影響を受けた形で作られる。こうして作られたHn48はXを代表するメッセージダイジェストデータと考えられる。
このHn48の用途は、メッセージXとともにHnを相手に送り、Xが変更された場合には、再びHn´を計算しなおしてXが変更されたことを検出することにある。したがって、メッセージXを変更してもHn´を元のHnにできれば変更は検出されないことになる。しかしながら、そのようなことは簡単ではない。k42を秘密にした場合、HnからXnとHn−1の排他的論理和を逆に求めることは容易ではない。これはE41がブロック暗号化関数であり、k42を秘密にすれば暗号を解くことが難しいことに由来する。
こうして出来上がったメッセージダイジェストデータであるHn48はメッセージの有効性(正当性)を確かめるための手段になり得るが、次にこのHnを容易に変更されないように必要な場所に転送することが、必要となる。ここではメッセージ(参照情報)のメッセージダイジェストデータの一例を説明し、それがメッセージの有効性(正当性)を確認するための手段になり得ることを例示して説明したが、メッセージダイジェストデータを作るためのハッシュ関数は色々なものが提案されており、ブロック暗号化関数を用いたものはその一例に過ぎない。必要なことは、メッセージ(参照情報)の改竄を検出し、その有効性(正当性)を確認できるメッセージダイジェストデータを元のメッセージよりも少ない情報量で作ることができればよい。
メッセージダイジェストデータであるHn48(以下ダイジェストデータと言う)の記録媒体による転送は、幾つかの方法が考えられる。まず、記録媒体を制御しているファイルシステムの観点から見て、そのファイルシステムの内部にファイルとしておく方法がある。この方法は、ダイジェストデータに対する読み書きが簡単であるが、容易に変更もされやすいという面を持つ。この場合、何らかの暗号化が必要であり、暗号化されたファイル内でのメッセージ(ダイジェストデータを含む)の有効性(正当性)の確認をできるようにする必要がある。したがって、このダイジェストデータは、更に暗号化して相手に送る(ディスクに書き込み渡す、あるいは通信により送信する)ことができる構造とする。この暗号化は、システム全体にわたる共通の鍵データを用いた暗号であってもよいし、個々の記録媒体に固有の鍵データを用いた暗号化であってもよい。
次に、ファイルシステムで制御される記録媒体領域以外の領域に置く方法がある。この特徴は、記録媒体を読み書きする機器(以下ドライブと言う)には比較的簡単にダイジェストデータの読み書きができるが、ファイルシステムを経由してはできないという点にある。したがって、ファイルシステムで制御される領域遺体の領域に書き込めば外部からのダイジェストデータの変更は比較的難しい。ドライブによってダイジェストデータのに読み書きさせるので、ダイジェストデータの読み書きに色々な制約をかけることができる。ここで、ファイルシステムで制御される領域以外の領域にダイジェストデータを置く、すなわち記録する方法について、図を参照して説明する。
ディスクのファイルシステムで制御される領域以外の領域には、幾つかの種類がある。以下、ディスク50の場合について説明する。ディスク50は、図11に示すように、記録単位の先頭を示すデータ等が記録されるリードインエリア51、ユーザデータが記録されるデータエリア(以下、プログラムエリアと称する)52、プログラムエリア52の外周側に設けられるリードアウトエリア53から構成されている。
リードインエリア51は、記録単位の先頭の位置を示すデータ等が記録される領域を示し、例えばCD−R上ディスクの各セッションの先頭にある領域で、セッションのTOC(Table Of Contents)データ、例えばトラック情報と開始位置などを示すデータが記録される領域である。このセッションとは、リードインエリア、プログラムエリア、及びリードアウトエリアを1つにした記録単位である。
プログラムエリア52は、リードインエリア51の外周側に設けられユーザデータが記録される領域であり、ファイルシステムでデータの記録又は再生が制御される領域である。
リードアウトエリア53は、セッションの最後にある領域であり、プログラムエリア52の外周側に設けられている。
このようなディスクの場合、リードインエリア51、リードアウトエリア53等のプログラムエリア52以外の領域と、プログラムエリア52内でもファイルシステムでは制御されない領域を予め約束して作ることもできる。例えばファイルシステムで制御されるエリアの最外周とリードアウトエリア53の間に、つまりリードアウトエリア53の直前にファイルシステムでは制御されない領域を用意することができる。これら以外にも、例えばリードインエリア51よりも更にディスクの内周側やリードアウトエリア53よりも更に外周側にファイルシステムでは制御できない領域を予め約束して作ることができる。
記録媒体として半導体メモリを用いる場合でも、同じようにファイルシステムでは制御できない領域を予め約束して作ることができる。例えば、データの書き込み可能は領域の最後のアドレス以後や最初のアドレス以前の領域等のファイルシステムでは制御できない領域を確保できる。
このように設けられたファイルシステムでは制御できない領域は、比較的困難ながらも外部からデータの読み書きができないわけではないので、暗号化して記録することとその領域内のメッセージ単位でやはり有効性(正当性)の確認を行うことによって一層の信頼性が増す。暗号化処理を行う場合の鍵データに関してもシステム共通の暗号でもよいし、記録媒体に固有の鍵データを用いてもよい。
上述した説明では、ファイルシステムによって制御される領域と、ファイルシステムによって制御される領域以外の領域とに分けて説明したが、もちろん両方の領域にメッセージダイジェストデータを記録してもよい。
なお、参照鍵データと記録媒体に固有の鍵データから関数(例えば排他的論理和(Exclusive OR))を用いてある鍵データを作り出して、コンテンツデータを暗号化した鍵データのリストを暗号化することができる。こうすると、参照鍵データが入手できないと、コンテンツを暗号化した鍵データを入手することができず、コンテンツデータを手に入れることができない。
次に、図1で説明したデータ転送システムにおいて、全体の流れの中でのメッセージダイジェストデータの使い方について、図12を参照して説明する。
図12は、本発明のデータ転送システムにおける利用方法2の構成を示す原理図である。なお、図12において、各部の機能は図1と同様であるので詳細な説明は省略する。また、図12と図1の相違点は、説明の便宜上、プレーヤ30に代えて、安価な機器として安価なプレーヤ300を図示しているのみである。
今、図12でレコーダ20によってディスクR20にデータが記録される。レコーダ20は、コンテンツデータD20を暗号化した暗号化コンテンツデータC20をディスクR20に書き込む。ここで、参照情報R10とデバイス鍵データDK20とディスク固有の鍵データ(前述した記録媒体に固有の鍵データ)とから鍵データを作り出して、コンテンツデータD20を暗号化し、若しくは鍵データのリストを暗号化しディスクR20に書き込む。参照情報R10もその署名とともにディスク20書き込まれ、参照情報R10のメッセージダイジェストデータMD20も書き込まれる。このようにしてデータが記録されたディスクR20は、参照情報R10の署名の正当性を確認できない安価なプレーヤ300でも使うことができる。ディスクR20は、必ずしも参照情報R10の署名の確認ができない安価なプレーヤだけに供給されるわけではないので、参照情報に署名を付けることには意味がある。
次に、ディスクR20が安価なプレーヤ300に挿入されると、参照情報R10が読み込まれ、その有効性(正当性)がメッセージダイジェストデータMD20により確認される。参照情報R10からデバイス鍵データDK30を用いてコンテンツ鍵データが引き出され、参照情報R10、デバイス鍵データDK20と更にディスク固有の鍵データと組み合わせてコンテンツデータD20を暗号化した鍵データが復号され、引き出された鍵データを用いて暗号化コンテンツデータC20の暗号が解かれ、その結果コンテンツD20を入手することができる。
ここで、メッセージダイジェストデータがコンテンツデータを暗号化した鍵データのリストと同じ暗号化される要素になっている場合は、参照情報からまず鍵データが引き出され、それによってコンテンツデータを暗号化した鍵データのリストとメッセージダイジェストデータが取り出される。改めて参照情報の有効性(正当性)が確認される。このプロセスの意味は、参照情報の改竄はまず参照情報から引き出される鍵データが変更されるものにはならないことによっている。なぜなら、参照情報は鍵データを引き出すためにあり、機器の有効性の否定はその鍵データが引き出せないようにして実現される。この参照情報の改竄の目的は、鍵データが引き出せないようになった機器でも鍵データが引き出せるように変更がなされることである。鍵データが引き出されないような改竄は意味がない。得られた鍵データでメッセージダイジェストデータを引き出し参照情報の有効性(正当性)を確認し、もし参照情報が有効でない場合はコンテンツデータのディスクR20からの読み出しをその段階で止めてしまう。
次に、本発明に係るデータ転送システムの利用方法2の動作について、フローチャートを参照して具体的に説明する。
図13は、本発明に係るデータ転送システムの第2の基本動作を示すフローチャートである。なお、本フローチャートの説明は、図2、図3、図13に示す各機器や各機能に基づいて行う。安価なプレーヤ300の参照情報確認機能は、図3を用いて説明した参照情報確認部32において、公開鍵データPK10による参照情報の署名の確認を行わない機能であり、プレーヤ30のそれ以外の全ての機能部はプレーヤ30と同一である。更に、図12の説明では、図12にて説明した「参照情報R10とデバイス鍵データDK20とディスク固有の鍵データ(前述した記録媒体に固有の鍵データ)とから鍵を作り出して、コンテンツD20を暗号化し、若しくは鍵のリスト(前述)を暗号化しディスクR20に書き込む。」についての説明は行わずに、単にメッセージダイジェストデータを使用した基本動作を示す。
[ステップS100]:鍵配布センタ10にて、公開鍵データPK10、デバイス鍵データDK20、及び参照情報R10がレコーダ20に対して、レコーダ20の製造時に配布され、メモリ38に格納される。また、鍵配布センタ10にて、公開鍵データPK10、デバイス鍵データDK30が安価なプレーヤ300に対して、安価なプレーヤ300の製造時に予め配布され、メモリ36に格納される。
[ステップS110]:まず、レコーダ20において、データ入力インタフェース21を介してコンテンツデータD20が入力されると、参照情報解読部24は、メモリ28に格納されているデバイス鍵データDK20を使用して、メモリ28に格納されている参照情報R10の解読を行う。ここで、参照情報解読部24は、ステップS100にて配布(格納)された参照情報R10を、デバイス鍵データDK20を用いて解読を行い、コンテンツ鍵データCK24を生成する。生成されたコンテンツ鍵データCK24をデータ暗号化部25に出力する。なお、参照情報解読部24の起動トリガーは、レコーダ20が起動した場合でもよい。この場合には、コンテンツデータD20が入力されるまで、生成されたコンテンツデータ鍵CK24を保持しておき、コンテンツデータD20が入力されたときに利用。この参照情報解読部24による参照情報R10の解読の詳細については、図4を用いて説明したとおりである。
[ステップS120]:レコーダ20において、データ暗号化部25は、コンテンツデータD20を暗号化する。ここで、データ暗号化部25は、データ入力インタフェース21から供給されたコンテンツデータD20に、ステップS110で参照情報解読部24から供給されたコンテンツ鍵データCK24を使って暗号化処理を施し、暗号化コンテンツデータC20を生成する。データ暗号化部25は、生成された暗号化コンテンツデータC20をデータ記録部27に供給する。
[ステップS130]:レコーダ20において、メッセージダイジェスト生成部26は、メッセージダイジェストデータMD20を生成する。ここで、データ入力インタフェース21を介してコンテンツデータD20が入力されると、メッセージダイジェスト生成部26は、メモリ28に記憶されている参照情報R10をもとにメッセージダイジェストデータMD20を生成する。生成されたメッセージダイジェストデータMD20をデータ記録部27へ出力する。なお、このメッセージダイジェストデータMD20は、予め生成しておきメモリ28に格納しておくこともできる。
[ステップS140]:レコーダ20において、データ記録部27は、参照情報R10やコンデンツデータD20をディスクR20に記録する。ここで、データ記録部27は、ステップS120でデータ暗号化部25により暗号化コンテンツデータC20が供給されると、暗号化コンテンツデータC20をメモリ28に格納されている参照情報R10と一緒にディスクR20へ記録する。なお、参照情報R10の記録の際には、ステップS130にて、メッセージダイジェスト生成部26から供給されたメッセージダイジェストデータMD20、あるいはメモリ28から読み出されたメッセージダイジェストデータMD20も、それらの情報と一緒にディスクR20に記録する。
[ステップS150]:安価なプレーヤ300において、データ読み込み部31は、ステップS140にてディスクR20に記録された参照情報R10、メッセージダイジェストデータMD20、及び暗号化コンテンツデータC20などの外部データをディスクR20から読み出しデータとして読み込む。ここで、データ読み込み部31は、ディスクR20が安価なプレーヤ300に挿入されると、ディスクR20に記録されている鍵配布センタ10から配布された参照情報R10とメッセージダイジェストデータMD20とを読み出し、参照情報確認部32へ出力する。また、ディスクR20内の暗号化された暗号化コンテンツデータC20を読み込み、データ復号部34へ出力する。
[ステップS160]:安価なプレーヤ300において、参照情報確認部32は、ステップS150にてデータ読み込み部31から供給された参照情報R10から、メッセージダイジェストデータを生成する。更に、参照情報確認部32は、このメッセージダイジェストデータと、ステップS150にてデータ読み込み部31から供給されたメッセージダイジェストデータMD20とを比較し確認を行う。参照情報確認部32は、2つのメッセージダイジェストデータが、一致していれば参照情報R10を参照情報解読部33へ出力し、2つのメッセージダイジエストデータが不一致ならば何もせず処理動作を停止する。なお、参照情報R10を破棄してもよい。
[ステップS170]:安価なプレーヤ300において、参照情報解読部33は、ステップS100にてメモリ36に格納されたデバイス鍵データDK30を使用して、ステップS160で供給された参照情報R10の解読を行う。ここで、参照情報解読部33は、参照情報確認部32から供給された参照情報R10に対してデバイス鍵データDK30により解読を行い、暗号化に使用されたものと同一のコンテンツ鍵データCK33を生成する。参照情報解読部33は、生成されたコンテンツ鍵データCK33をデータ復号部34に出力する。なお、この参照情報解読部33による参照情報R10の解読の詳細については、図4を用いて説明したとおりである。
[ステップS180]:安価なプレーヤ300において、データ復号部34は暗号化コンテンツデータC20を復号する。ここで、データ復号部34は、ステップS150にてデータ読み込み部31から供給された暗号化コンテンツデータC20に対して、ステップS170で参照情報解読部33から供給されたコンテンツ鍵データCK33を使って復号を行い、コンテンツデータD20を生成する。データ復号部34は、復号されたコンテンツデータD20をデータ再生部35に出力する。
[ステップS190]:安価なプレーヤ300において、データ再生部35はコンテンツデータD20を再生する。ここで、データ再生部35は、ステップS180にてデータ復号部34によりコンテンツデータD20が供給されると、データを意味のある情報として再生する。例えば、この情報が音楽情報であれば、D/A変換器によりアナログオーディオ信号に変換し、変換されたアナログオーディオ信号をアンプを介して、スピーカに供給しスピーカから可聴音として出力する。例えば、この情報が画像や文字などのファイル形式の情報であれば、ファイルシステムに転送する。
なお、上述した説明では、レコーダ20で書き込める記録可能なディスクR20の説明をしたが、参照情報R10のメッセージダイジェストデータMD20の計算を省略するためにも鍵配布センタ10から署名済みの参照情報R10をメッセージダイジェストデータとともにディスク製作者に渡し、再生専用のディスクに記録することによって書き換えることのできない情報として署名及びメッセージダイジェストデータ付きの参照情報として配布することもできる。この場合、プレーヤとしては、参照情報は再生専用のディスクに記録しているので参照情報の改竄は考えられないので、参照情報はそのまま使ってもよい。記録可能なディスクと書き込めないディスクの区別がつかない場合には、署名かメッセージダイジェストデータで参照情報の有効性(正当性)を確認する必要が生じるので、署名あるいはメッセージダイジェストデータは、参照情報の有効性の確認のために使われる。
上述した説明では、主として光ディスクを例に挙げて説明したが、記録媒体は半導体メモリであってもよい。
更に、上述した説明では、読み書き可能な記録媒体として、光ディスクや半導体メモリを例に説明したが、特殊な装置により記録された再生専用の記録媒体でもよく、例えばCD−ROMディスクなどにも適用できる。
以上のようにして、メッセージダイジェストデータを用いて、機器の有効性を判断するための参照情報の有効性(正当性)を確認することが安価なプレーヤでも可能となる。
以上説明した処理は、論理回路などの電子部品を使ってハードウエア構成とすることができる。ハードウエアの代わりにマイクロプログラムに記述し、マイクロコンピュータで実行することにより、本発明の機能をソフトウエアで実現することもできる。ここで、マイクロコンピュータで実行する際には、マイクロコンピュータに接続あるいは内蔵されたROM等にプログラムを予め格納しておき、メインメモリにロードして実行する。なお、マイクロプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録媒体、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記録媒体には、ハードディスク、フレキシブルディスク(FD)、ZIP(Zip:磁気ディスクの一種)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(DVD Random Access Memory)ディスク、CD−ROM(Compact Disc Read Only Memory)ディスク、CD−R(CD Recordable)ディスク、CD−RW(CD Rewritable)ディスクなどがある。光磁気記録媒体には、MO(Magneto Optical)ディスクなどがある。半導体メモリには、フラッシュ・メモリ(Flash Memory)などがある。
マイクロプログラムを流通させる場合には、例えばマイクロプログラムが記録されたDVD、CD−ROMディスクなどの可搬型記録媒体が販売される。マイクロプログラムをサーバの記憶装置に格納しておき、ネットワークを介して、サーバからクライアントへマイクロプログラムを転送することもできる。
なお、本発明は、図面を参照して説明した上述の実施例に限定されるものではなく、添付の請求の範囲及びその主旨を逸脱することなく、様々な変更、置換又はその同等のものを行うことができることは当業者にとって明らかである。
産業上の利用可能性
上述したように、本発明は、機器の有効性の確認のための参照情報とは別に、その参照情報のメッセージダイジェストを記録媒体の固有の領域に入れたことにより、データ再生時に参照情報自体の有効性(正当性)の確認をそのメッセージダイジェストを用いて行うことができる。これにより、データの転送時における機器の有効性確認を、複数の機器に対して低コストかつより効率的に行うことが可能となる。
【図面の簡単な説明】
図1は、本発明にデータ転送システムの基本構成を示すブロック図である。
図2は、本発明に用いられるレコーダの機能構成を示すブロック図である。
図3は、本発明に用いられるプレーヤの機能構成を示すブロック図である。
図4は、本発明に係るデータ転送システムにおける参照情報の暗号化/復号過程を示す図である。
図5は、本発明に係るデータ伝送システムにおいて、このシステムを構成する機器を無効化する手順を示す図である。
図6Aは各機器がそれぞれ有する参照情報R10を示す図であり、図6Bは参照情報R10aに含まれるE(Dkey2,Ckeyn)が入る予定の場所にダミーデータD0を入れた例を示す図である。
図7は、本発明に係るデータ転送システムの第1の基本動作を示すフローチャートである。
図8は、本発明に係るデータ転送システムにおいて、更新された参照情報がレコーダに配布された場合の動作を示すフローチャートである。
図9は、本発明に係るメッセージダイジェストの基本的な生成構造を示した図である。
図10は、図9における基本的な生成構造を持つメッセージダイジェストの生成を時系列的に示した図である。
図11は、ディスク内部に記録されるデータの一般的なフォーマットを示す図である。
図12は、本発明に係るデータ転送システムにおける利用方法2の構成を示す原理図である。
図13は、本発明に係るデータ転送システムの第2の基本動作を示すフローチャートである。
Claims (40)
- 供給される複数の機器に各々固有のデバイス鍵データを複数用いてコンテンツ鍵データを暗号化したデータを含む参照情報を生成するときに、上記複数の機器のうち記録又は再生を許可されている機器に対応する上記デバイス鍵データを用いて上記コンテンツ鍵データを暗号化して上記参照情報を生成し、
上記生成された参照情報を上記デバイス鍵データとともに上記複数の機器に供給し、
上記複数の機器は、上記複数の機器に各々固有のデバイス鍵データを用いて上記供給された参照情報から上記コンテンツ鍵データを復号し、
上記復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化又は復号処理を行うデータ処理方法。 - 上記方法は、上記復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化処理を行い、上記暗号化されたデータと上記参照情報を記録媒体に記録する請求の範囲第1項記載のデータ処理方法。
- 上記複数の機器には、上記供給された参照情報が有効なものであるか否かを判別するためのデータが予め記憶されており、上記方法は、上記記録媒体から読み出された参照情報を上記判別するためのデータに基づいて有効性を判別する請求の範囲第2項記載のデータ処理方法。
- 上記方法は、上記供給された参照情報が有効であると判別されたときには、上記デバイス鍵データを用いて上記参照情報から上記コンテンツ鍵データを復号する請求の範囲第3項記載のデータ処理方法。
- 上記方法は、上記供給された参照情報が有効でないと判別されたときには、その後の処理動作を中止する請求の範囲第3項記載のデータ処理方法。
- 上記判別するためのデータは、上記参照情報を暗号化するときに用いられた鍵データである請求の範囲第3項記載のデータ処理方法。
- 上記方法は、上記供給されたデバイス鍵データと参照情報は上記複数の機器のメモリに記憶されている請求の範囲第1項記載のデータ処理方法。
- 上記複数の機器には、上記供給された参照情報が有効なものであるか否かを判別するためのデータが予め記憶されており、上記方法は、上記供給されてきた参照情報を上記判別するためのデータに基づいて有効性を判別する請求の範囲第7項記載のデータ処理方法。
- 上記方法は、上記供給された参照情報が有効であると判別されたときには、上記供給された参照情報のバージョンと上記メモリに記憶されている参照情報のバージョンとを比較し、上記供給された参照情報のバージョンが上記メモリに記憶されている参照情報のバージョンよりも新しいときには上記メモリの参照情報を上記供給された参照情報に更新する請求の範囲第8項記載のデータ処理方法。
- 上記方法は、上記供給された参照情報が有効でないと判別されたときには、上記供給された参照情報を破棄する請求の範囲第8項記載のデータ処理方法。
- 上記判別するためのデータは、上記参照情報を暗号化するときに用いられた鍵データである請求の範囲第8項記載のデータ処理方法。
- 上記方法は、上記復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化処理を行うとともに上記参照情報に基づいてダイジェストデータを作成し、上記生成されたダイジェストデータと上記暗号化されたデータと上記参照情報を記憶媒体に記録する請求の範囲第1項記載のデータ処理方法。
- 上記方法は、上記記録媒体から読み出された参照情報からダイジェストデータを生成し、上記生成されたダイジェストデータと上記記憶媒体から読み出されたダイジェストデータとを比較し、上記生成されたダイジェストデータと上記記憶媒体から読み出されたダイジェストデータとが一致しているときには上記デバイス鍵データを用いて上記コンテンツ鍵データを復号する請求の範囲第12項記載のデータ処理方法。
- 上記方法は、上記生成されたダイジェストデータと上記記憶媒体から読み出されたダイジェストデータが一致しなかったときには、以後の処理を中止する請求の範囲第12項記載のデータ処理方法。
- 供給される複数の機器に各々固有のデバイス鍵データを複数用いてコンテンツ鍵データを暗号化したデータを含む参照情報を生成するときに、上記複数の機器のうち記録又は再生を許可しない機器に対応する上記デバイス鍵データを用いて上記コンテンツ鍵データを暗号化したデータが位置される部分に無効なデータを挿入して上記参照情報を生成し、
上記生成された参照情報を上記デバイス鍵データとともに上記複数の機器に供給し、
上記複数の機器は、上記複数の機器に各々固有のデバイス鍵データを用いて上記供給された参照情報から上記コンテンツ鍵データを復号し、
上記復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化又は復号処理を行うデータ処理方法。 - 上記方法は、上記復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化処理を行い、上記暗号化されたデータと上記参照情報を記録媒体に記録する請求の範囲第15項記載のデータ処理方法。
- 上記複数の機器には、上記供給された参照情報が有効なものであるか否かを判別するためのデータが予め記憶されており、上記方法は、上記記録媒体から読み出された参照情報を上記判別するためのデータに基づいて有効性を判別する請求の範囲第16項記載のデータ処理方法。
- 上記方法は、上記供給された参照情報が有効であると判別されたときには、上記デバイス鍵データを用いて上記参照情報から上記コンテンツデータを復号する請求の範囲第17項記載のデータ処理方法。
- 上記方法は、上記供給された参照情報が有効でないと判別されたときには、その後の処理動作を中止する請求の範囲第17項記載のデータ処理方法。
- 上記判別するためのデータは、上記参照情報を暗号化するときに用いられた鍵データである請求の範囲第17項記載のデータ処理方法。
- 上記方法は、上記供給されたデバイス鍵データと参照情報は上記複数の機器のメモリに記憶されている請求の範囲第15項記載のデータ処理方法。
- 上記複数の機器には、上記供給された参照情報が有効なものであるか否かを判別するためのデータが予め記憶されており、上記方法は、上記供給されてきた参照情報を上記判別するためのデータに基づいて有効性を判別する請求の範囲第21項記載のデータ処理方法。
- 上記方法は、上記供給された参照情報が有効であると判別されたときには、上記供給された参照情報のバージョンと上記メモリに記憶されている参照情報のバージョンとを比較し、上記供給された参照情報のバージョンが上記メモリに記憶されている参照情報のバージョンよりも新しいときには上記メモリの参照情報を上記供給された参照情報に更新する請求の範囲第22項記載のデータ処理方法。
- 上記方法は、上記供給された参照情報が有効でないと判別されたときには、上記供給された参照情報を破棄する請求の範囲第22項記載のデータ処理方法。
- 上位判別するためのデータは、上記参照情報を暗号化するときに用いられた鍵データである請求の範囲第22項記載のデータ処理方法。
- 上記方法は、上記復号されたコンテンツ鍵データを用いてコンテンツデータの暗号化処理を行うとともに上記参照情報に基づいてダイジェストデータを生成し、上記生成されたダイジェストデータと上記暗号化されたデータと上記参照情報を記録媒体記録する請求の範囲第15項記載のデータ処理方法。
- 上記方法は、上記記録媒体から読み出された参照情報からダイジェストデータを生成し、上記生成されたダイジェストデータと上記記憶媒体から読み出されたダイジェストデータとを比較し、上記生成されたダイジェストデータと上記記憶媒体から読み出されたダイジェストデータとが一致しているときには上記デバイス鍵データを用いて上記コンテンツ鍵データを復号する請求の範囲第26項記載のデータ処理方法。
- 上記方法は、上記生成されたダイジェストデータと上記記憶媒体から読み出されたダイジェストデータとが一致しなかったときには、以後の処理を中止する請求の範囲第26項記載のデータ処理方法。
- コンテンツ鍵データの記録が許可されている装置に固有のデバイス鍵データで暗号化されたデータを含む参照情報と上記デバイス鍵データとが記憶されたメモリと、
上記参照情報を上記デバイス鍵データを用いて復号し、上記コンテンツデータを出力する復号処理部と、
上記復号処理部から供給されるコンテンツ鍵データを用いて入力されたコンテンツデータの暗号化処理を行う暗号化処理部と、
上記暗号化処理部からの出力データを上記参照情報とともに記録媒体に記録する記録部とを備えている記録装置。 - 上記メモリには、更に上記参照情報が有効なものであるか否かを判別するためのデータが予め記憶されており、上記復号処理部は、上記装置に新たに供給された参照情報を上記判別するためのデータに基づいて有効性を判別する請求の範囲第29項記載の記録装置。
- 上記復号処理部は、上記新たに供給された参照情報が有効であると判別されたときには、上記新たに供給された参照情報のバージョンと上記メモリに記憶されている参照情報のバージョンとを比較し、上記新たに供給された参照情報のバージョンが上記メモリに記憶されている参照情報のバージョンよりも新しいときには上記メモリの参照情報を上記新たに供給された参照情報に更新する請求の範囲第30項記載の記録装置。
- 上記復号処理部は、上記新たに供給された参照情報が有効でないと判別されたときには、上記新たに供給された参照情報を破棄する請求の範囲第30項記載の記録装置。
- 上記装置は、更に上記参照情報に基づいてダイジェストデータを生成する生成部を備え、上記記録部は、上記生成されたダイジェストデータと上記暗号化されたデータと上記参照情報を記録媒体に記録する請求の範囲第29項記載の記録装置。
- デバイス鍵データとコンテンツ鍵データが記録が許可されている装置に固有のデバイス鍵データで暗号化されたデータを含む参照情報が有効なものであるか否かを判別するためのデータが記憶されたメモリと、
上記判別するためのデータを用いて、暗号化されたコンテンツデータと上記参照情報が記録された記録媒体から読み出された上記参照情報が有効であるか否かを判別する判別部と、
上記判別部によって上記参照情報が有効であると判別されたときには、上記記録媒体から読み出された参照情報を上記デバイス鍵データを用いて復号し、上記コンテンツ鍵データを出力する第1の復号処理部と、
上記第1の復号処理部から供給されるコンテンツ鍵データを用いて上記記録媒体から読み出された暗号化されたコンテンツデータの復号を行う第2の復号処理部を備えている再生装置。 - 上記判別するためのデータは、上記参照情報を暗号化するときに用いられた鍵データである請求の範囲第34項記載の再生装置。
- 上記第1の復号処理部は、上記装置に新たに供給された参照情報を上記判別するためのデータに基づいて有効性を判別する請求の範囲第34項記載の再生装置。
- 上記第1の復号処理部は、上記新たに供給された参照情報が有効であると判別されたときには、上記新たに供給された参照情報のバージョンと上記メモリに記憶されている参照情報のバージョンとを比較し、上記新たに供給された参照情報のバージョンが上記メモリに記憶されている参照情報のバージョンよりも新しいときには上記メモリの参照情報を上記新たに供給された参照情報に更新する請求の範囲第36項記載の再生装置。
- 上記第1の復号処理部は、上記新たに供給された参照情報が有効でないと判別されたときには、上記新たに供給された参照情報を破棄する請求の範囲第36項記載の再生装置。
- デバイス鍵データが記憶されたメモリと、
コンテンツ鍵データの記録が許可されている装置に固有のデバイス鍵データで暗号化されたデータを含む参照情報と上記参照情報に基づいて生成されたダイジェストデータと暗号化されたコンテンツデータが記録された記録媒体から読み出された参照情報からダイジェストデータを生成する生成部と、
上記生成部によって生成されたダイジェストデータと上記記録媒体から読み出されたダイジェストデータとを比較する比較部と、
上記比較部によって上記生成されたダイジェストデータと上記記憶媒体から読み出されたダイジェストデータとが一致していると検出されたときには上記記録媒体から読み出された参照情報を上記デバイス鍵データを用いて復号し、上記コンテンツ鍵データを出力する第1の復号処理部と、
上記第1の復号処理部から供給されるコンテンツ鍵データを用いて上記記録媒体から読み出された暗号化されたコンテンツデータの復号を行う第2の復号処理部とを備えている再生装置。 - 上記装置は、上記生成されたダイジェストデータと上記記憶媒体から読み出されたダイジェストデータとが一致しなかったときには、以後の処理を中止する請求の範囲第39項記載の再生装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002099471 | 2002-04-02 | ||
JP2002099471 | 2002-04-02 | ||
PCT/JP2003/004237 WO2003088055A1 (fr) | 2002-04-02 | 2003-04-02 | Procede de traitement de donnees de contenu, dispositif d'enregistrement et dispositif de reproduction |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2003088055A1 true JPWO2003088055A1 (ja) | 2005-08-25 |
Family
ID=29240899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003584928A Pending JPWO2003088055A1 (ja) | 2002-04-02 | 2003-04-02 | コンテンツデータのデータ処理方法、記録装置及び再生装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7620820B2 (ja) |
JP (1) | JPWO2003088055A1 (ja) |
WO (1) | WO2003088055A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101037838B1 (ko) | 2003-04-25 | 2011-05-31 | 애플 인크. | 보안 네트워크를 통한 콘텐츠의 분배 방법 및 그 시스템 |
GB2404538A (en) * | 2003-07-31 | 2005-02-02 | Sony Uk Ltd | Access control for digital content |
US7644446B2 (en) * | 2003-10-23 | 2010-01-05 | Microsoft Corporation | Encryption and data-protection for content on portable medium |
JP4213628B2 (ja) * | 2004-05-28 | 2009-01-21 | 株式会社東芝 | 情報端末装置 |
JP2006011682A (ja) | 2004-06-24 | 2006-01-12 | Sony Corp | 情報記録媒体検証装置、および情報記録媒体検証方法、並びにコンピュータ・プログラム |
KR20060107282A (ko) * | 2005-04-07 | 2006-10-13 | 엘지전자 주식회사 | 데이터 재생방법, 데이터 기록재생 플레이어 및 데이터전송방법 |
WO2008096543A1 (ja) * | 2007-02-07 | 2008-08-14 | Panasonic Corporation | 記録装置、サーバ装置、記録方法、コンピュータプログラムを記録した記録媒体、及び集積回路 |
US20090180617A1 (en) * | 2008-01-10 | 2009-07-16 | General Instrument Corporation | Method and Apparatus for Digital Rights Management for Removable Media |
EP2180419A1 (en) * | 2008-10-23 | 2010-04-28 | ST Wireless SA | Method of storing data in a memory device and a processing device for processing such data |
EP2924953B1 (en) * | 2014-03-25 | 2017-03-22 | Thorsten Sprenger | Method and system for encrypted data synchronization for secure data management |
US11146394B2 (en) * | 2019-02-08 | 2021-10-12 | My Job Matcher, Inc. | Systems and methods for biometric key generation in data access control, data verification, and path selection in block chain-linked workforce data management |
CN111580522A (zh) * | 2020-05-15 | 2020-08-25 | 东风柳州汽车有限公司 | 无人驾驶汽车的控制方法、汽车和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5142578A (en) * | 1991-08-22 | 1992-08-25 | International Business Machines Corporation | Hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors |
JPH09134311A (ja) * | 1995-11-07 | 1997-05-20 | Fujitsu Ltd | 機密保護システム |
JP2000293439A (ja) * | 1999-04-06 | 2000-10-20 | Fujitsu Ltd | コンテンツ利用制御システム、コンテンツ利用装置およびその利用方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2000357127A (ja) * | 1999-06-16 | 2000-12-26 | Toshiba Corp | 記憶媒体及び同媒体を使用したコンテンツ管理方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5812664A (en) * | 1996-09-06 | 1998-09-22 | Pitney Bowes Inc. | Key distribution system |
JPH1153310A (ja) | 1997-07-31 | 1999-02-26 | Taisei Corp | データ送信装置及びデータ送信方法 |
JP3445490B2 (ja) * | 1998-03-25 | 2003-09-08 | 株式会社日立製作所 | 移動体通信方法および移動体通信システム |
JP2001305954A (ja) | 2000-04-19 | 2001-11-02 | Hitachi Ltd | おとり暗号方法 |
JP2001357373A (ja) | 2000-06-15 | 2001-12-26 | Sony Corp | データ記憶装置およびデータ記憶方法、情報処理装置および情報処理方法、並びに記録媒体 |
JP2002015254A (ja) | 2000-06-28 | 2002-01-18 | Sony Corp | 電子マネー・システム及び電子マネー管理方法、並びに、記憶媒体 |
-
2003
- 2003-04-02 US US10/479,168 patent/US7620820B2/en not_active Expired - Fee Related
- 2003-04-02 WO PCT/JP2003/004237 patent/WO2003088055A1/ja active Application Filing
- 2003-04-02 JP JP2003584928A patent/JPWO2003088055A1/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5142578A (en) * | 1991-08-22 | 1992-08-25 | International Business Machines Corporation | Hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors |
JPH09134311A (ja) * | 1995-11-07 | 1997-05-20 | Fujitsu Ltd | 機密保護システム |
JP2000293439A (ja) * | 1999-04-06 | 2000-10-20 | Fujitsu Ltd | コンテンツ利用制御システム、コンテンツ利用装置およびその利用方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2000357127A (ja) * | 1999-06-16 | 2000-12-26 | Toshiba Corp | 記憶媒体及び同媒体を使用したコンテンツ管理方法 |
Also Published As
Publication number | Publication date |
---|---|
US7620820B2 (en) | 2009-11-17 |
US20040151324A1 (en) | 2004-08-05 |
WO2003088055A1 (fr) | 2003-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7401231B2 (en) | Information recording/playback device and method | |
TW514845B (en) | Data storage regenerator and data storage processing method and program providing media | |
JP4622087B2 (ja) | 情報処理装置、および情報処理方法、並びにプログラム記憶媒体 | |
US8375206B2 (en) | Authentication and encryption utilizing command identifiers | |
US7644446B2 (en) | Encryption and data-protection for content on portable medium | |
JP4078802B2 (ja) | 情報処理システム、情報処理方法、情報処理装置、および情報記録媒体、並びにプログラム記録媒体 | |
US20020184259A1 (en) | Data reproducing/recording apparatus/ method and list updating method | |
TW514844B (en) | Data processing system, storage device, data processing method and program providing media | |
TWI244584B (en) | Data processing system, data processing method, and program providing medium | |
US7831831B2 (en) | Authentication communication system, authentication communication apparatus, and authentication communication method | |
EA004199B1 (ru) | Носитель данных с возможностью записи информации, имеющий участок защищенных данных | |
JP2011198462A (ja) | ユーザキーを利用した記録媒体のディスク使用制限方法及び装置 | |
JP2012008756A (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
KR101067552B1 (ko) | 정보 처리 장치, 정보 기록 매체, 정보 처리 방법, 및 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체 | |
JP5598115B2 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
JP2005512258A (ja) | システムデータの完全性の検証方法及び装置 | |
JPWO2003088055A1 (ja) | コンテンツデータのデータ処理方法、記録装置及び再生装置 | |
JP4524829B2 (ja) | データ処理システム、記録デバイス、およびデータ処理方法、並びにプログラム提供媒体 | |
JP2009272002A (ja) | 情報処理装置、ディスク、および情報処理方法、並びにプログラム | |
JP5552917B2 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
JP2003099332A (ja) | データ処理システム、データ記録再生器、記録デバイス、および方法、並びにプログラム提供媒体 | |
JP2007505347A (ja) | コンテンツプロテクト方法及びシステム | |
JP3837368B2 (ja) | 著作権保護システム、記録機器及び復号機器 | |
JP2005532644A (ja) | 復号情報を分散させた記録担体 | |
JP4686805B2 (ja) | データ記憶素子製造方法およびデータ記憶素子、並びにデータ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090901 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091026 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100330 |