JP2004007328A - Data transfer device and data transfer method - Google Patents

Data transfer device and data transfer method Download PDF

Info

Publication number
JP2004007328A
JP2004007328A JP2002190902A JP2002190902A JP2004007328A JP 2004007328 A JP2004007328 A JP 2004007328A JP 2002190902 A JP2002190902 A JP 2002190902A JP 2002190902 A JP2002190902 A JP 2002190902A JP 2004007328 A JP2004007328 A JP 2004007328A
Authority
JP
Japan
Prior art keywords
data transfer
destination device
public key
version information
version
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.)
Granted
Application number
JP2002190902A
Other languages
Japanese (ja)
Other versions
JP4126972B2 (en
Inventor
Shunsuke Furukawa
古川 俊介
Yoichiro Sako
佐古 曜一郎
Tatsuya Inoguchi
猪口 達也
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002190902A priority Critical patent/JP4126972B2/en
Publication of JP2004007328A publication Critical patent/JP2004007328A/en
Application granted granted Critical
Publication of JP4126972B2 publication Critical patent/JP4126972B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To obtain the authentication of a device to which data is sent when the data is transmitted to the device. <P>SOLUTION: A key distribution center 2 distributes a public key PK<SB>App</SB>or reference information 6 including version numbers 6d, 8b, etc. or a certificate list 8 to a regeneration program 20, and distributes reference information 7 and version information 9 to a disk drive 16. That is, the center distributes these information separately to the program 20 and the disk drive 16. The disk drive 16, which has the reference information 7 and the version information 9 necessary for determining the validity of the program 20, permits contents data 24 recorded in an optical disk 4 transmitted to the program 20 when the version is identical or newer. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、データの送信先の機器の有効性を判断するデータ転送装置及びデータ転送方法に関する。
【0002】
【従来の技術】
パーソナルコンピュータ(以下、単にPCという。)は、ハードディスクドライブ(以下、単にHDDという。)を有すると共に、光ディスク等外部記録媒体に記録されたデータを読み出すための外部記録媒体用ドライブが備えられている。PCは、光ディスクに記録されたオーディオデータ等のコンテンツデータを外部記録装置用ドライブで読み出しHDDに複写することができる。HDDに記録されているコンテンツデータは、例えばHDDにインストールされたコンテンツデータの再生用のアプリケーションプログラムによって再生される。
【0003】
ところで、アプリケーションプログラム等のコンピュータプログラムは、不具合を解消するためや新たな機能を追加するために更新されるものである。例えば、この更新によって、コンテンツデータの著作権管理等の機能が追加されたり、既に備えられている著作権管理機能に対して新たな著作権保護機能の追加が行われる。アプリケーションプログラム等のコンピュータプログラムには、現在の状態を特定するために識別情報としてバージョン情報が格納されている。
【0004】
【発明が解決しようとする課題】
ところで、現在のところ、以上のような機能の更新は、コンピュータプログラム側で行われることが多く、コンピュータプログラムと外部記録媒体用ドライブとを用いて行うことは無かった。したがって、例えば外部記録媒体用ドライブで読み出されたコンテンツデータが不正にインストールされているコンピュータプログラムによって再生されることもあり、著作権者の利益が必ずしも確実に保護されているといえない。
【0005】
本発明は、以上のような課題に鑑みてなされたものであり、その目的は、アプリケーションプログラム等のデータの転送先の機器とデータの転送元の機器を用いて、データを送信先の機器に転送する際に、送信先の機器の認証を取るデータ転送装置及びデータ転送方法を提供することにある。
【0006】
【課題を解決するための手段】
本発明に係るデータ転送装置は、上述した課題を解決すべく、送信先機器の有効性を判断し、この送信先機器の認証を取ることができたとき、データを送信先機器に転送するデータ転送装置において、鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報を保持し、送信先機器の有効性を判断するとき、この送信先機器より該送信先機器が保有する公開鍵とこの公開鍵のバーション情報とを含む参照情報が入力される。このデータ転送装置は、保有している公開鍵のバージョン情報と送信先機器から入力される参照情報のバージョン情報とを比較し、より新しいバージョン情報を最新バージョン情報として保持する。そして、データ転送装置は、保有している公開鍵のバージョン情報と送信先機器から入力される参照情報のバージョン情報とを比較し、送信先機器から入力される参照情報のバージョン情報が保有している公開鍵のバージョン情報より古いとき、データ転送を禁止する。
【0007】
また、本発明に係るデータ転送方法は、上述した課題を解決すべく、送信先機器の有効性を判断し、この送信先機器の認証を取ることができたとき、データを送信先機器に転送するデータ転送方法において、鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報を保持し、送信先機器の有効性を判断するとき、この送信先機器より該送信先機器が保有する公開鍵とこの公開鍵のバーション情報とを含む参照情報が入力される。このデータ転送方法は、保有している公開鍵のバージョン情報と送信先機器から入力される参照情報のバージョン情報とを比較し、より新しいバージョン情報を最新バージョン情報として保持する。そして、データ転送方法は、保有している公開鍵のバージョン情報と送信先機器から入力される参照情報のバージョン情報とを比較し、送信先機器から入力される参照情報のバージョン情報が保有している公開鍵のバージョン情報より古いとき、データ転送を禁止する。
【0008】
【発明の実施の形態】
以下、本発明を適用したデータ転送システムを図面を参照して説明する。本発明を適用したデータ転送システム1は、通常のパーソナルコンピュータ(PC)等の情報処理装置に適用されるものであって、光ディスクのデータ記録再生装置を構成する光ディスクドライブと光ディスクに記録されているデータの再生処理等を行うアプリケーションプログラム(以下、再生プログラムという。)との間でデータ転送を行う際に、光ディスクドライブが公開鍵を用いて再生プログラムの有効性の確認を行う、すなわち認証を行うものである。このシステム1で用いる認証方法には、例えばISO/IEC9798(Information technology−Security techniques−Entityauthentication−Part3:Mechanisms using digital signature techniques)が用いられ、また、署名方法には、例えばISO/IEC9796(Information technology−Security techniques−digital signature schemes giving message recovery−part2:Mechanisms using a hash−function)が用いられる。
【0009】
このような方法を用いる認証は、主要部分は認証相手の署名済みのデータの認証相手の公開鍵の確認(verification)による。この確認のためには、認証相手の公開鍵を入手する必要があり、公開鍵の正当性を確認するために、光ディスクドライブは、公開鍵の発行者である鍵配布センタKDCの署名が施された公開鍵を取得する。
【0010】
図1に示すように、本システム1では、公開鍵の発行者である鍵配布センタKDCが発行した公開鍵等がPC等の情報処理装置10のアプリケーションプログラムと光ディスクドライブに格納される。具体的に、この情報処理装置10は、全体の動作を制御するための制御プログラム等が記憶されたリード・オンリ・メモリ(Read Only Memory:以下、単にROMという。)11と、各種コンピュータプログラムが保存されるハードディスクドライブ(Hard Disk Drive:以下、単にHDDという。)12と、ROM11やHDD12からコンピュータプログラムが一旦読み込まれるランダム・アクセス・メモリ(Random Access Memory:以下、単にRAMという。)13と、操作信号を入力するための入力部14と、実行するコンピュータプログラムに応じた画像を表示する表示部15と、外部記憶装置である光ディスクが装着されるディスクドライブ16と、他の装置とデータ通信を行うための通信部17と、全体の動作を制御する中央演算処理装置(Central Processing Unit:以下、CPUという。)18とを備え、これらがバス19を介して接続されている。
【0011】
HDD12は、装置本体に内蔵された大容量ハードディスクを有し、ここには、オペレーティングシステム(以下、単にOSという。)、ハードディスク、光ディスクドライブ等ハードウェアを接続するときにOS等との間を取りもつソフトウェア(以下、デバイスドライバという。)、アプリケーションプログラムである再生プログラム20等が格納されている。また、HDD12では、データが格納されたファイルが階層構造でアプリケーションプログラムやOSによって管理されている。また、入力部14は、キーボード、マウス、テンキー、トラックボール、ジョイスティック等からなり、上述したデバイスドライバによって駆動され、操作信号等の入力データを入力することができるようになっている。表示部15は、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)等からなる。
【0012】
ディスクドライブ16は、具体的にコンパクトディスク(Compact Disc:以下、単にCDという。)、DVD(Digital Versatile Disk:以下、単にDVDという。)等の光ディスク4が装着され、このような光ディスクを回転し、信号記録面に光ビームを照射し反射した光ビームを検出することによって、光ディスクに記録されているデータを読み出す。また、ディスクドライブ16は、記録可能な追記型若しくは書換型の光ディスクが装着されているとき、この光ディスクの信号記録面に光ビームを照射することによって、例えばHDD12に格納されているデータを記録することができる。
【0013】
このディスクドライブ16は、自分のバージョン等を格納しておくためのメモリ16aと、メモリ16aの書込/読出制御やディスクドライブ16全体の動作を制御する制御部16bとを有している。ディスクドライブ16は、バス19に、SCII(Small Computer System Interface)バス等によって接続されている。なお、外部記録媒体としては、その他に光磁気ディスク、ハードディスク、ICカード等のリムーバル記録媒体を用いることができる。通信部17は、TCP/IP(Transmission Control Protocol/Internet Protocol)、FTP(File Transfer Protocol)等の伝送プロトコルに従って、LAN(LocalArea Network)、WAN(Wide Area Netwrok)等のネットワーク3を介して例えば鍵配布センタ2のサーバ装置と通信を行う。CPU18は、例えば入力部14から入力された操作信号に応じて、例えばHDD12に格納されている再生プログラム20をRAM13にロードし起動する。
【0014】
ところで、鍵配布センタ2は、本システム1を管理する機関であり、公開鍵の発行者となる。鍵配布センタ2は、自分自身の公開鍵PKKDCと私有鍵SKKDCのセットを生成すると共に、管理する機器、すなわちディスクドライブ16や再生プログラム20の公開鍵PKXXXと私有鍵SKXXXを生成する。
【0015】
鍵配布センタ2は、再生プログラム20の製造時に該再生プログラム20の参照情報6を生成し各再生プログラム20に発行する。再生プログラム20の参照情報6は、鍵配布センタ2の公開鍵PKKDCと、再生プログラム20の公開鍵PKAppと、該再生プログラム20の私有鍵SKAppと、公開鍵PKAppの証明書とを含んでいる。この参照情報6は、再生プログラム20と共に例えばHDD12に格納される。
【0016】
鍵配布センタ2は、各再生プログラム20に対して、再生プログラム20の公開鍵の証明書リスト(CAL:Certified Application List)8を配布する。例えば、鍵配布センタ2は、再生専用型光ディスク、追記型光ディスク、書換型光ディスク等の光ディスク4に再生プログラム20の公開鍵の証明書リスト8を記録して配布する。ここで、再生プログラム20の公開鍵の証明書リスト8を記録する記録媒体としては、この他に、光磁気ディスク、磁気ディスク、これらディスクを記録媒体に用いるディスクカートリッジ、半導体メモリを記録媒体に用いるICカード等のリムーバル記録媒体を用いることができる。再生プログラム20の公開鍵の証明書リスト8の配布の方法としては、リムーバル記録媒体を用いる他に、ネットワーク3を介して配布することもできる。
【0017】
鍵配布センタ2は、ディスクドライブ16の製造時に、ディスクドライブ16の参照情報7を生成し各ディスクドライブ16に対して発行する。ディスクドライブ16の公開鍵データ7は、鍵配布センタ2の公開鍵PKKDCと、該ディスクドライブ16の公開鍵PKDrvと、該ディスクドライブ16の私有鍵SKDrvと、証明書のバージョンの初期値CALver_initとを含んでいる。参照情報7は、ディスクドライブ16が有するメモリ16aに保存される。
【0018】
鍵配布センタ2は、各ディスクドライブ16に対して、再生プログラム20の公開鍵のバージョン番号情報9を配布する。この公開鍵のバージョン番号情報9についても、鍵配布センタ2は、証明書リスト8と同様に、リムーバル記録媒体又はネットワーク3を介して配布する。このバージョン番号情報9もディスクドライブ16が有するメモリ16aに保存される。
【0019】
ここで、再生プログラム20の参照情報6に含まれる公開鍵PKAppの証明書6aについて図2を用いて説明する。この鍵配布センタ2が発行する証明書6aは、証明書識別子6bと証明書番号6cとバージョン番号6dと公開鍵6eとを含んでいる。
【0020】
証明書識別子6bは、鍵配布センタ2の私有鍵SKKDCで署名されているバージョン番号情報9を識別するためのものであり、例えば「1」が入力されている。すなわち、詳細は後述する再生プログラム20の公開鍵のバージョン番号情報9の全体が私有鍵SKKDCで署名されており、この証明書識別子6bは、バージョン番号情報9を区別するために用いられる。証明書識別子6bはフィールドサイズが2バイトとされている。
【0021】
証明書番号6cは、公開鍵PKAppの証明書6aを一義的に特定するための番号であり、例えば「1」から順に付与されている。証明書番号6cのフィールドサイズは、例えば2バイトとされている。
【0022】
バージョン番号6dは、証明書6aが新たに発行される度に付与されるものであり、発行される度に1ずつ増加する。このバージョン番号6dのフィールドサイズは、例えば2バイトとされている。
【0023】
公開鍵6eは、鍵配布センタ2の公開鍵PKAppであり、例えば128バイトの公開鍵のモジュロのみが必要で、公開鍵が決まっている(例えば3)とき、フィールドサイズは、128バイトとされる。
【0024】
以上のような証明書6aは、全体が134バイトで構成されており、全体が鍵配布センタ2の私有鍵SKKDCで署名されている。したがって、署名後の証明書6aのフィールドサイズは、署名方法によって異なる。
【0025】
次に、上述した再生プログラム20の公開鍵PKAppの証明書リスト8について、図3を用いて説明する。この証明書リスト8は、証明書個数8aとバージョン番号8bと図2に示した証明書(1)〜(3)6aとを含んでいる。
【0026】
証明書個数8aは、このリスト8が上記図2に示す証明書6aを幾つ含んでいるかを示すものであり、図3に示す例では「3」となっている。この証明書個数8aのフィールドサイズは、例えば2バイトである。
【0027】
バージョン番号8bは、この証明書リスト8のバーション番号であって、この証明書リスト8が新たに発行される度に1ずつ増加する。このバージョン番号8bのフィールドサイズは、例えば2バイトとされている。
【0028】
証明書(1)〜(3)は、図2に示す証明書6aであり、鍵配布センタ2の私有鍵SKKDCで署名したものである。このリスト8に収納される証明書6aの数は図3に示すように限定されるものではない。リスト8に収納される証明書6aのバージョン番号6dは、証明書リスト8のバージョン番号8bと同じ値となっている。すなわち、証明書リスト8は、同じバージョンの証明書6aを一又は複数収容することができるようになっている。
【0029】
以上のような証明書リスト8は、全体が鍵配布センタ2の私有鍵SKKDCで署名されている。ここでの署名には、少なくとも証明書リスト8が改竄されていないことを証明できる(Integrity Check)方式のものが用いられる。
【0030】
次に、再生プログラム20の公開鍵のバージョン番号情報9について、図4を用いて説明する。このバージョン番号情報9は、証明書識別子9aとバージョン番号9bとを含んでいる。
【0031】
証明書識別子9aは、バージョン番号情報を図2に示す証明書6aと区別するために用いられる。証明書識別子9aは、バージョンを入れるフィールドサイズが2バイトとされ、例えば「2」が入力される。
【0032】
バージョン番号9bは、証明書6aのバージョン番号6dを抜き出したものであり、したがって、フィールドサイズは、バージョン番号6dと同じサイズであり、2バイトである。
【0033】
以上のようなバージョン番号情報9は、全体が4バイトで構成されている。このバージョン番号情報9は、全体が鍵配布センタ2の私有鍵SKKDCで署名されていることから、署名後の全体のフィールドサイズは、署名の方法によって異なる。
【0034】
なお、図2に示す証明書6a、図3に示す証明書リスト8及び図4に示すバージョン番号情報9のうち、2バイトで構成される各項目は、以上の例に限定されるものではない。例えば、証明書リスト8の証明書個数8aは、2バイトであるから65,535個までしか証明書6aを収容することができないが、これを超えて証明書6aを収容する必要があるときには、証明書個数8aのフィールドサイズを拡張してもよい。図2乃至図4で示すバージョン番号6d,8b,9bは、新たに発行される度に1ずつ加算する他に、1ずつ減算するようにしてもよく、更に他の方法であってもよい。
【0035】
以上のように、図3に示す再生プログラム20の公開鍵の証明書リスト8は、全体が鍵配布センタ2の私有鍵SKKDCで署名され、図4に示す再生プログラム20の公開鍵のバージョン番号情報9は、全体が鍵配布センタ2の私有鍵SKKDCで署名されるものであり、図2に示す再生プログラム20の参照情報6に含まれる公開鍵の証明書6aは、全体が鍵配布センタ2の私有鍵SKKDCで署名されているものであるから、これらは、鍵配布センタ2のみが発行することが可能なものとされている。
【0036】
鍵配布センタ2は、特定のバージョンの再生プログラム20を除外したいとき、図3に示す証明書リスト8に含まれる1又は複数の証明書6aの中から除外する再生プログラム20の証明書6aを削除する。このとき、証明書リスト8に含まれる他の証明書のバージョン番号及び証明書リスト8のバージョン番号8bは、新しいバージョン番号6dになるように更新する。鍵配布センタ2は、更新された証明書リスト8の全体を私有鍵SKKDCで署名した証明書リスト8を発行し、ユーザに対して配布する。
【0037】
このように更新された新しい証明書リスト8は、ネットワーク3を介して通信部17より情報処理装置10に入力され、また、光ディスク4を介してディスクドライブ16より情報処理装置10に入力される。情報処理装置10にインストールされている再生プログラム20は、新しい証明書リスト8が入力されると、参照情報6に含まれている鍵配布センタ2の公開鍵PKKDCを用いて、証明書リスト8の署名を確認する。すなわち、再生プログラム20は、新しい証明書リスト8が改竄されているかどうかを調べ、この証明書リスト8の有効性を確認する。
【0038】
次に、ディスクドライブ16に装着された光ディスク4に記録されているコンテンツデータを再生プログラム20を用いて読み出すときの動作を図5及び図6を参照して説明する。
【0039】
先ず、再生プログラム20は、図5に示すように、ディスクドライブ16に対して、再生プログラム20の公開鍵PKAppとそのバージョン番号6dに鍵配布センタ2の私有鍵SKKDCで署名した証明書(Sig(SKKDC,(PKApp,CALver)))21をHDD12より読み出し、ディスクドライブ16に提示する。
【0040】
図6に示すフローチャートのステップS1において、ディスクドライブ16の制御部16bは、再生プログラム20から提示された証明書21を受け取ると、ステップS2に進み、ステップS2において、メモリ16aに保存している参照情報7に含まれる公開鍵PKKDCで署名を確認(verify)する。ステップS2において、署名の確認が得られたときにはステップS3に進み、確認が得られないときにはステップS7に進む。
【0041】
ステップS3において、ディスクドライブ16の制御部16bは、ディスクドライブ16の現在のバージョンとなるバージョン番号情報(VerNO)9をメモリ16aより読み出し、再生プログラム20より提示された証明書21に含まれるバージョン番号(CALVer)6dと比較し、ディスクドライブ16のバージョンが再生プログラム20の証明書6aのバージョンと同じか若しくは古いかを判断する。具体的に、バージョン情報の数が大きいほど新しいバージョンを示すとき、制御部16bは、メモリ16aより読み出したバージョン番号情報9のバージョン番号9bが再生プログラム20より提示されたバージョン番号6d以下であるかを判断する。制御部16bは、メモリ16aより読み出したバージョン番号情報9のバージョン番号9bが再生プログラム20より提示されたバージョン番号6d以下であるとき、ステップS4に進み、メモリ16aより読み出したバージョン番号情報9のバージョン番号9bが再生プログラム20より提示されたバージョン番号6d以下でないとき、ステップS7に進む。
【0042】
ステップS4において、制御部16bは、メモリ16aより読み出したバージョン番号情報9に含まれるバージョン番号9bと再生プログラム20より提示された証明書6aのバージョン番号6dとが同じであるか否かを判断し、同じであるときにはステップS5に進み、異なるときにはステップS6に進む。
【0043】
ステップS5において、制御部16bは、証明書21に含まれる再生プログラム20の公開鍵PKAppを用いてデータを読み出すための次の処理を行う。
【0044】
メモリ16aより読み出したバージョン番号情報9に含まれるバージョン番号9bが再生プログラム20より提示されたバージョン番号6dより小さい、すなわち再生プログラム20のバージョンがディスクドライブ16のバージョンより新しかったとき、制御部16bは、ステップS6において、メモリ16aに格納されているバージョン番号情報9に含まれるバージョン番号9bを再生プログラム20のバージョン番号6dに置き換える。
【0045】
ステップS7において、制御部16bは、処理を停止する。すなわち、制御部16bは、ステップS2で再生プログラム20から提示された証明書21の署名を確認することができなかったときやステップS4で再生プログラム20のバージョンが自分のバージョンより古かったとき、光ディスク2のデータの読み出しを行わないようにする。
【0046】
以上のように、ディスクドライブ16は、光ディスク4の再生時に再生プログラム20のバージョンの方が新しかったとき、再生プログラム20のバージョンに置き換えるようにすることで、常に最新のバージョン番号を取得でき、逆に、再生プログラム20のバージョンが自分のバージョンより古いとき、再生を禁止するようにしている。
【0047】
次に、図6に示すフローチャートにおけるステップS5でディスクドライブ16の制御部16bが行う証明書21に含まれる再生プログラム20の公開鍵PKAppを用いたデータの読み出し処理について図5を参照して説明する。
【0048】
先ず、ディスクドライブ16の制御部16bは、独立した乱数発生器で発生した乱数を用いてセッションキー(Session_key)22を生成する。制御部16bは、光ディスク2より読み出したコンテンツデータ(Data)24をセッションキー22を用いて暗号化する。
【0049】
制御部16bは、コンテンツデータ24の暗号化に用いたセッションキー(Session_key)22を、再生プログラム20より取得した公開鍵PKAppを用いて暗号化し、暗号化セッションキー(E(PKApp,Session_key))23をバス19を介して再生プログラム20に出力し、次いで、セッションキー22で暗号化された暗号化コンテンツデータ(E(Session_key,Data))25を再生プログラム20にバス19を介して出力する。公開鍵PKAppでセッションキー22を暗号化した暗号化セッションキー23は、再生プログラム20が所有する参照情報6に含まれる私有鍵SKAppでのみ復号可能であり、したがって、制御部16bは、暗号化セッションキー23及び暗号化コンテンツデータ25を安全にバス19を介して再生プログラム20に出力することができる。
【0050】
再生プログラム20は、ディスクドライブ16より暗号化セッションキー23及び暗号化コンテンツデータ25が入力されると、参照情報6に含まれる私有鍵SKAppを用いて暗号化セッションキー23の暗号を復号し、復号したセッションキー22を用いて暗号化コンテンツデータ25の暗号を復号する。再生プログラム20は、平文化されたコンテンツデータ24をスピーカ、イヤホン、ヘッドフォン等より再生音響として出力する。これと共に、再生プログラム20は、表示部15に再生するコンテンツデータに対応した情報、アーティスト名、アルバム名、曲名等を表示する。
【0051】
ところで、図6に示す例において、ディスクドライブ16は、メモリ16aに格納しているバージョン番号情報9が最新のものでないと、古いバージョンの再生プログラム20でも自分のバージョンより新しいものと判断してしまう、すなわち図6のステップ3で(YES)と判断してしまい、コンテンツデータを再生してしまう。換言すると、ディスクドライブ16のバージョンより大きいバージョンの再生プログラム20であれば、たとえ古いバージョンの再生プログラム20であってもコンテンツデータを再生することができてしまう。そこで、ディスクドライブ16のバージョン番号情報9は、常に新しいものとし、古いバージョンの再生プログラム20を用いてのコンテンツデータを再生できないようにする必要がある。
【0052】
このデータ伝送システム1では、鍵配布センタ2が再生プログラム20の公開鍵のバージョン番号情報9を配布し、ディスクドライブ16のバージョンを常に最新に保つようにしている。バージョン番号情報9の配布は、WAN、LAN等のネットワーク3を介して又は外部記憶媒体である光ディスク4を用いて行われる。
【0053】
ネットワーク3を介してバージョン番号情報9が配布されるとき、鍵配布センタ2は、自分が管理するサーバ装置より例えば登録ユーザが所有する情報処理装置10のアドレスに対してバージョン番号情報9を送信する。受信側の情報処理装置10は、通信部17で鍵配布センタ2のサーバ装置より送信されたバージョン番号情報9を受信し、ディスクドライブ16に保存する。
【0054】
光ディスク4を用いてバージョン番号情報9が配布されるとき、鍵配布センタ2は、光ディスク4を収納ケースに収納したパッケージメディアとして配布する。この光ディスク4に記録されるバージョン番号情報9は、専らディスクドライブ16用として用いられるものであり、OSのファイルシステムや再生プログラム20によってコントロールできない領域に記録されていてもよい。そこで、例えば、このバージョン番号情報9は、光ディスク4の非信号記録領域であるリードイン領域、リードアウト領域、その他の領域に記録するようにしてもよい。これとは逆に、バージョン番号情報9は、光ディスク4のOSのファイルシステムによってコントロール可能なリードイン領域とリードアウト領域の間の所定領域に記録するようにしてもよい。
【0055】
以上、ディスクドライブ16に用いるバージョン番号情報9を光ディスク4で配布する例を説明したが、本例では、光ディスク4にバージョン番号情報9の他に、再生プログラム20に用いる証明書リスト8を記録して、これらの情報が記録された光ディスク4を配布するようにしてもよい。
【0056】
すなわち、図7に示すように、鍵配布センタ2は、光ディスク4にバージョン番号情報9と証明書リスト8を記録し、これらの情報が記録された光ディスク4を配布する。このとき、鍵配布センタ2は、配布する光ディスク4に対して、バージョン番号情報9に対して私有鍵SKKDCで署名でしたものを記録すると共に、全体が私有鍵SKKDCで署名された証明書リスト8を記録する。
【0057】
例えば、バージョン番号情報9は、専らディスクドライブ16用として用いられるものであるから、再生プログラム20、OSにコントロールされないリードイン領域、リードアウト領域等の非信号記録領域に記録され、証明書リスト8は、再生プログラム20に管理されるものであるから、再生プログラム20によって管理可能なリードイン領域とリードアウト領域の間の信号記録領域に記録される。
【0058】
このように証明書リスト8とバージョン番号情報9とが記録された光ディスク4は、上述したように収納ケースに収納されパッケージメディアとして配布される。この光ディスク4を取得したユーザは、この光ディスク4をディスクドライブ16を備え、再生プログラム20がインストールされた情報処理装置10のディスクドライブ16に装着する。光ディスク4は、ディスクドライブ16のディスク回転駆動機構を構成するディスクテーブルに装着されると、スピンドルモータによって例えば線速度が一定となるように回転されると共に、光源から光ビームを出射する光ピックアップ装置によって信号記録領域が走査される。ディスクドライブ16は、光ピックアップ装置から出射され光ディスク4に照射され、この光ディスクから反射される光ビームの戻り光を検出することによって、光ディスク4に記録されているバージョン番号情報9や証明書リスト8の読み出しを行う。
【0059】
ここで、ディスクドライブ16の制御部16bは、光ディスク4よりバージョン番号情報9に含まれるバージョン番号9bを読み出すと、メモリ16aに保持しているバージョン番号情報9のバージョン番号9bとを比較し、何れのバージョン番号9bが新しいものかを判断する。制御部16bは、ディスクドライブ16が光ディスク4より読み出したバージョン番号情報9のバージョン番号9bがメモリ16aに保持しているバージョン番号情報9のバージョン番号9bより新しいとき、メモリ16aに保持されているバージョン番号情報9をこの光ディスク4より読み出した新しいバージョン番号9bを有するバージョン番号情報9に置き換える。制御部16bは、メモリ16aが保持しているバージョン番号情報9のバージョン番号9bが光ディスク4に記録されたバージョン番号情報9のバージョン番号9bより新しいとき、光ディスク4より読み出したバージョン番号情報9を採用することなく、そのままメモリ16aが保持しているバージョン番号情報9を保持し続ける。これによって、ディスクドライブ16は、光ディスク4より最新のバージョン番号9bを有するバージョン番号情報9を取得することができる。
【0060】
ディスクドライブ16が光ディスク4より証明書リスト8を読み出すと、制御部16bは、この証明書リスト8を再生プログラム20に出力する。ここで、再生プログラム20は、証明書リスト8がディスクドライブ16より入力されると、この証明書リスト8をHDD12に格納する。すなわち、再生プログラム20は、参照情報6に含まれている鍵配布センタ2の公開鍵PKKDCを用いて、証明書リスト8の署名を確認し、新しい証明書リスト8が改竄されているかどうかを調べ、この証明書リスト8の有効性を確認する。
【0061】
証明書リスト8の有効性が確認されると、証明書リスト8の中から再生プログラム20に対応する証明書6aを取り出す。
【0062】
例えば光ディスク4に記録されているコンテンツデータを再生するときには、この後、上述した図5に示す処理が行われることになる。以上のように、データサイズの比較的大きい証明書リスト8は、データサイズの大きいHDD12に格納するようにし、データサイズの小さいバージョン番号情報9は、メモリ16aに保存するようにしている。すなわち、ディスクドライブ16は、参照情報7の他に、データサイズの小さいバージョン番号情報9のみを格納しておくだけでよく、メモリ16aには、記憶容量の小さい小型で安価なメモリ素子を使用することができる。
【0063】
ところで、以上のように光ディスク4より証明書リスト8とバージョン番号情報9を取得するとき、再生プログラム20は、光ディスク4には同じバージョンの証明書リスト8とバージョン番号情報9が記録されていることから、ディスクドライブ16が保持しているバージョン番号9bより古いバージョン番号9bの光ディスク4から、この古いバージョン番号9bより新しい証明書リスト8等を取得することはできない。
【0064】
これを図8(A)及び図8(B)を参照して説明する。図8(A)は、光ディスク4に記録されている証明書リスト8のバージョン番号8b及びバージョン番号情報9のバージョン番号9bが「3」で、ディスクドライブ16のメモリ16aに保持されているバージョン番号情報9のバージョン番号9b及び再生プログラム20の証明書リスト8のバージョン番号8bが「2」のときを示している。
【0065】
光ディスク4がディスクドライブ16に装着され、光ディスク4に記録された証明書リスト8及びバージョン番号情報9が読み出されると、ディスクドライブ16の制御部16bは、メモリ16aに保持しているバージョン番号9bと光ディスク4より読み出したバージョン番号情報9のバージョン番号9bとを比較する。この場合、制御部16bは、光ディスク4より読み出したバージョン番号情報9のバージョン番号9bが「3」であり、メモリ16aに保持されているバージョン番号情報9のバージョン番号9bが「2」であるから、光ディスク4のバージョンの方が新しいと判断する。したがって、制御部16bは、メモリ16aに保持されているバージョン番号情報9を、「2」から「3」に置き換え、これをメモリ16bに格納する。
【0066】
また、再生プログラム20は、既にHDD12に格納されている証明書リスト8のバージョン番号8bと光ディスク4より読み出したバージョン番号8bとを比較し、何れのバージョン番号が新しいかを判断する。この場合、再生プログラム20は、既にHDD12に格納されている証明書リスト8のバージョン番号8bが「2」であり、光ディスク4より読み出したバージョン番号8bが「3」であるから、光ディスク4のバージョンの方が新しいと判断する。したがって、再生プログラム20は、バージョン番号8bを「2」から「3」に置き換えるため、証明書リスト8の全体を置き換える。この後、セッションキー等の授受を行い、ディスクドライブ16は、読み出したコンテンツデータ等を再生プログラム20に転送し、例えばコンテンツデータの再生をする。
【0067】
図8(A)の状態の後、再生プログラム20の再インストール等を行うと、図(B)のような状態が発生してしまう。図8(B)は、光ディスク4に記録されている証明書リスト8のバージョン番号8b及びバージョン番号情報9のバージョン番号9bが「2」で、ディスクドライブ16のメモリ16aに保持されているバージョン番号情報9のバージョン番号9bが「3」で、再生プログラム20の証明書リスト8のバージョン番号8bが「2」のときを示している。
【0068】
このとき、ディスクドライブ16の制御部16bは、光ディスク4より読み出したバージョン番号情報9のバージョン番号9bが「2」であり、メモリ16aに保持されているバージョン番号情報9のバージョン番号9bが「3」であるから、メモリ16aのバージョンの方が新しいと判断する。したがって、制御部16bは、メモリ16aに保持されているバージョン番号情報9をそのまま保持する。
【0069】
再生プログラム20は、既にHDD12に格納されている証明書リスト8のバージョン番号8bが「2」であり、光ディスク4より読み出したバージョン番号8bが「2」であり、互いのバージョンが同じであるから、HDD12に格納されている証明書リスト8をそのまま維持する。
【0070】
この場合、上述した図6に示した処理を開始しようとすると、ディスクドライブ16の制御部16bは、自分のバージョンが「3」であり、再生プログラム20のバージョンが「2」であるから、上記ステップS3で(NO)と判断してしまい、ステップS7において、処理を停止する、すなわち、光ディスク2のデータの読み出しを行わないようにしてしまう。したがって、ディスクドライブ16と再生プログラム20との間では、セッションキー等の授受が行われなくなってしまう。
【0071】
そこで、図9(A)及び図9(B)に示すように、光ディスク4から読み出した証明書リスト8は、再生プログラム20によってコントロール可能なHDD12の領域に格納するようにしてもよい。具体的に、証明書リスト8は、HDD12のディスクドライブ16等のデバイスドライバ内やOSのファイルシステム内に格納される。ファイルシステムを用いるときには、例えば階層化ディレクトリ構造におけるドライブの最上位のディレクトリとなるルートディレクトリ内に設けられたサブディレクトリに証明書リスト8をファイルとして格納することができる。
【0072】
この場合、再生プログラム20は、予め指定されている証明書リスト8のファイルの格納先であるパス名を直接又は間接的に管理しており、再インストールされたときにも、証明書リスト8のファイルにアクセスすことができるようになっている。勿論、証明書リスト8のファイルの保存先を示すパス名は、ユーザが指定できるようになっていてもよい。また、この証明書リスト8のファイルは、ディスクドライブ16のメモリ16aに保存するようにしてもよい。
【0073】
これを、図9(A)及び図9(B)を用いて説明する。図9(A)は、上記図8(A)に対応するものであり、光ディスク4に記録されている証明書リスト8のバージョン番号8b及びバージョン番号情報9のバージョン番号9bが「3」で、ディスクドライブ16のメモリ16aに保持されているバージョン番号情報9のバージョン番号9b及び再生プログラム20の証明書リスト8のバージョン番号8bが「2」のときを示している。そして、再生プログラム20は、HDD12のルートディレクトリに証明書リスト8を格納している。
【0074】
この場合、ディスクドライブ16の制御部16bは、光ディスク4より読み出したバージョン番号情報9のバージョン番号9bが「3」であり、メモリ16aに保持されているバージョン番号情報9のバージョン番号9bが「2」であるから、光ディスク4のバージョンの方が新しいと判断する。したがって、制御部16bは、メモリ16aに保持されているバージョン番号情報9を、「2」から「3」に置き換え、これをメモリ16bに格納する。
【0075】
再生プログラム20は、自らが所有するバス名を参照して証明書リスト8にアクセスし、既にHDD12に格納されている証明書リスト8のバージョン番号8bを取得する。そして、再生プログラム20は、既にHDD12に格納されている証明書リスト8のバージョン番号8bが「2」であり、光ディスク4より読み出したバージョン番号8bが「3」であるから、光ディスク4の証明書リスト8のバージョンの方が新しいと判断する。再生プログラム20は、所定のルートディレクトリのサブディレクトリに格納されている証明書リスト8に置き換える。この後、セッションキー等のやり取りを行って、ディスクドライブ16は、読み出したコンテンツデータ等を再生プログラム20に転送し、例えばコンテンツデータの再生をする。
【0076】
図9(A)の状態の後、HDD12に格納されている再生プログラム20が削除され再インストール等が行われたとする。再生プログラム20が削除、再インストールされたときにも、証明書リスト8を格納するルートディレクトリは削除されない。したがって、再生プログラム20は、再インストールの前より再インストール後の方が証明書リスト8のバージョンが下がることが無くなる。これを、図9(B)を参照して説明すると、この図9(B)は、上記図8(B)に対応するものであり、光ディスク4に記録されている証明書リスト8のバージョン番号8b及びバージョン番号情報9のバージョン番号9bが「2」で、ディスクドライブ16のメモリ16aに保持されているバージョン番号情報9のバージョン番号9bが「3」で、再生プログラム20の証明書リスト8のバージョン番号8bが「3」のときを示している。すなわち、再生プログラム20の証明書リスト8のバージョン番号8bは、上記図9(A)の動作で、「2」から「3」になっている。
【0077】
この場合、ディスクドライブ16の制御部16bは、光ディスク4より読み出したバージョン番号情報9のバージョン番号9bが「2」であり、メモリ16aに保持されているバージョン番号情報9のバージョン番号9bが「3」であるから、メモリ16aのバージョンの方が新しいと判断する。したがって、制御部16bは、メモリ16aに保持されているバージョン番号情報9をそのまま保持する。
【0078】
再生プログラム20は、自らが所有するバス名を参照して証明書リスト8にアクセスし、既にHDD12に格納されている証明書リスト8のバージョン番号8bを取得する。再生プログラム20は、既にHDD12に格納されている証明書リスト8のバージョン番号8bが「3」であり、光ディスク4より読み出した証明書リスト8のバージョン番号8bが「2」であり、バージョンが古いから、HDD12に格納されている証明書リスト8をそのまま、すなわち「3」のまま維持する。
【0079】
したがって、ディスクドライブ16は、図6に示す処理を行うとき、ステップS3及びステップS4において、メモリ16aに格納しているバージョン番号情報9と再生プログラム20のバージョンとが同じであると判断し、セッションキーのやり取りやコンテンツデータの再生を許可する。すなわち、ディスクドライブ16は、図5に示すように、セッションキー23生成し、この生成したセッションキー23を公開鍵PKAppで暗号化する。ディスクドライブ16は、暗号化セッションキー23とこのセッションキーにより暗号化されたコンテンツデータ25を再生プログラム20に出力する。
【0080】
再生プログラム20は、参照情報6に含まれる私有鍵SKAppを用いて暗号化セッションキー23の暗号を復号し、復号したセッションキー22を用いて暗号化コンテンツデータ25の暗号を復号する。そして、再生プログラム20は、平文化されたコンテンツデータ24をスピーカ、イヤホン、ヘッドフォン等より再生音響として出力する。これと共に、再生プログラム20は、表示部15に再生するコンテンツデータに対応した情報、アーティスト名、アルバム名、曲名等を表示する。
【0081】
以上のようなデータ転送システム1では、鍵配布センタ2が再生プログラム20に対して公開鍵PKAppやバージョン番号6d,8b等を含む参照情報6や証明書リスト8を配布し、ディスクドライブ16に対して参照情報7とバージョン番号情報9とを配布するようにし、これらの情報を再生プログラム20とディスクドライブ16とで別々に配布するようにしている。すなわち、ディスクドライブ16は、再生プログラム20の有効性を判断するために必要な参照情報7とバージョン番号情報9とを有するようにしている。そして、ディスクドライブ16は、自らが有するバージョンと再生プログラム20のバージョンとを比較し、バージョンが同じ若しくは再生プログラム20のバージョンが新しいときに限って光ディスク4に記録されたコンテンツデータ24の再生プログラム20への転送を許可するようにしている。このように、データ転送システム1では、ディスクドライブ16にバージョン番号情報9を保持するためのメモリを設けるだけで、ほとんどの構成をソフトウェアで実現することができる。
【0082】
また、このデータ転送システム1では、ディスクドライブ16が再生プログラム20の有効性を確認できたときに限って、再生プログラム20へのコンテンツデータ等の転送を許可するようにしていることから、不正な再生プログラム20へコンテンツデータ等が転送されることを防止することができる。
【0083】
更に、データ転送システム1では、再生プログラム20が管理する証明書リスト8がHDD12の再生プログラム20によってコントロール可能な領域であるルートディレクトリに格納されることで、例えば再生プログラム20の再インストール等がなされたときであっても、バージョンが再インストール前より古くなってしまう等の不都合が発生することを防止することができる。
【0084】
以上、本発明が適用されたデータ転送システム1は、データ転送をディスクドライブ16と再生プログラム20との間で行う例を説明したが、本発明はこれに限定されるものではない。例えば、本発明は、1つの装置内、すなわち情報処理装置1内で行うデータ転送の他に、2つの独立した装置間で行うデータ転送、すなわちファームウェアで再生プログラム20の機能を実現した若しくはハードウェアで再生プログラム20の機能を実現した独立の再生装置と光ディスク4に記録されたデータの読み出しを行う独立の再生装置との間で行う場合にも適用することもできる。また、本発明は、送信先の機器として、再生プログラム20に代わってHDD12に記録する機能を追加した記録再生プログラムであってもよく、以上説明した認証をHDD12に記録する際に行うようにしてもよい。
【0085】
また、ディスクドライブ16に装着される証明書リスト8、バージョン番号情報9、コンテンツデータ等が記録される光ディスク4は、ピットパターンによってデータが記録された再生専用の光ディスク、記録層に色素材料を用いる追記型の光ディスク、記録層に相変化材料を用いる書換型の光ディスクの何れを用いるようにしてもよい。また、この光ディスク4は、少なくとも一部を記録可能な領域とし、この領域に証明書リスト8、バージョン番号情報9等を記録するようにしてもよい。更に、ディスクドライブ16は、ハードディスクや光磁気ディスクが装着可能なものであってもよい。更に、この記録媒体は、半導体メモリを記憶素子に用いるICカードであってもよく、情報処理装置1には、ディスクドライブ16に代わって若しくは追加してICカードのドライブを設けるようにしてもよい。更に、証明書リスト8、バージョン番号情報9等は、ネットワーク3を介して配布するようにしてもよい。
【0086】
【発明の効果】
本発明によれば、鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報を保持し、送信先機器の有効性を判断するとき、この送信先機器より該送信先機器が保有する公開鍵とこの公開鍵のバーション情報とを含む参照情報が入力され、バージョン情報を比較することで送信先の機器の有効性を確認することができ、この有効性が確認できた後に、コンテンツデータ等の実データを送信先機器に転送することができる。
【図面の簡単な説明】
【図1】本発明を適用したデータ伝送システムの構成を説明するブロック図である。
【図2】再生プログラムの参照情報に含まれる公開鍵の証明書を説明する図である。
【図3】再生プログラムの公開鍵の証明書リストを説明する図である。
【図4】再生プログラムの公開鍵のバージョン情報を説明する図である。
【図5】ディスクドライブと再生プログラムとの関係を説明する図である。
【図6】ディスクドライブの動作を説明するフローチャートである。
【図7】光ディスクにバージョン情報の他に、再生プログラムに用いる証明書リストを記録して配布する例を説明する図である。
【図8】光ディスクよりバージョン情報及び証明書リストの読み出し動作を説明する図である。
【図9】光ディスクよりバージョン情報及び証明書リストの読み出し動作の改良例を説明する図である。
【符号の説明】
1 データ転送システム、2 鍵配布センタ、3 ネットワーク、4 光ディスク、6 再生プログラムの参照情報、7 ディスクドライブの参照情報、8 証明書リスト、9 再生プログラムの公開鍵のバージョン情報
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data transfer device and a data transfer method for determining the validity of a device to which data is transmitted.
[0002]
[Prior art]
A personal computer (hereinafter, simply referred to as a PC) has a hard disk drive (hereinafter, simply referred to as an HDD) and an external recording medium drive for reading data recorded on an external recording medium such as an optical disk. . The PC can read out content data such as audio data recorded on an optical disk by a drive for an external recording device and copy the data to an HDD. The content data recorded on the HDD is reproduced by, for example, an application program for reproducing the content data installed on the HDD.
[0003]
By the way, a computer program such as an application program is updated in order to solve a problem or to add a new function. For example, by this update, a function such as copyright management of content data is added, or a new copyright protection function is added to the already provided copyright management function. A computer program such as an application program stores version information as identification information for identifying a current state.
[0004]
[Problems to be solved by the invention]
By the way, at present, the updating of the functions as described above is often performed on the computer program side, and has not been performed using the computer program and the external recording medium drive. Therefore, for example, the content data read by the external recording medium drive may be reproduced by a computer program that has been illegally installed, and the profits of the copyright holders cannot always be surely protected.
[0005]
The present invention has been made in view of the above-described problems, and an object of the present invention is to use a data transfer destination device such as an application program and a data transfer source device to transmit data to a transmission destination device. An object of the present invention is to provide a data transfer device and a data transfer method for authenticating a transmission destination device at the time of transfer.
[0006]
[Means for Solving the Problems]
In order to solve the above-described problems, a data transfer device according to the present invention determines the validity of a destination device and, when the destination device can be authenticated, transfers data to the destination device. In the transfer device, at least the version information of the public key of the destination device issued by the key distribution center is held, and when determining the validity of the destination device, when the validity of the destination device is determined, the public key held by the destination device is Reference information including the public key version information is input. This data transfer device compares the version information of the held public key with the version information of the reference information input from the transmission destination device, and holds newer version information as the latest version information. The data transfer device compares the version information of the held public key with the version information of the reference information input from the destination device, and holds the version information of the reference information input from the destination device. Data transfer is prohibited when the version is older than the version information of the public key.
[0007]
Further, in order to solve the above-described problems, the data transfer method according to the present invention determines the validity of a destination device, and transfers the data to the destination device when the destination device can be authenticated. In the data transfer method, when at least the version information of the public key of the destination device issued by the key distribution center is held and the validity of the destination device is determined, the public information held by the destination device is determined by the destination device. Reference information including a key and version information of the public key is input. In this data transfer method, the version information of the held public key is compared with the version information of the reference information input from the transmission destination device, and newer version information is held as the latest version information. Then, the data transfer method compares the version information of the held public key with the version information of the reference information input from the destination device, and holds the version information of the reference information input from the destination device. Data transfer is prohibited when the version is older than the version information of the public key.
[0008]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a data transfer system to which the present invention is applied will be described with reference to the drawings. A data transfer system 1 to which the present invention is applied is applied to an information processing device such as a normal personal computer (PC), and is recorded on an optical disk drive and an optical disk which constitute a data recording / reproducing device for an optical disk. When performing data transfer with an application program (hereinafter, referred to as a reproduction program) for performing data reproduction processing, the optical disk drive checks the validity of the reproduction program using a public key, that is, performs authentication. Things. The authentication method used in the system 1 is, for example, ISO / IEC9798 (Information technology-Security technologies-Entity authentication-Part3: Mechanisms using digital signature, e.g., signature technology, etc., etc.) Security technology-digital signature schemes giving message recovery-part2: Mechanisms using a hash-function.
[0009]
Authentication using such a method is mainly based on verification of the public key of the authenticated party of the signed data of the authenticated party. For this confirmation, it is necessary to obtain the public key of the authentication partner, and in order to confirm the validity of the public key, the optical disk drive is signed by the key distribution center KDC which is the issuer of the public key. Obtain the public key.
[0010]
As shown in FIG. 1, in the present system 1, a public key or the like issued by a key distribution center KDC, which is a public key issuer, is stored in an application program of an information processing apparatus 10 such as a PC and an optical disk drive. More specifically, the information processing apparatus 10 includes a read only memory (hereinafter, simply referred to as a ROM) 11 in which a control program for controlling the entire operation is stored, and various computer programs. A hard disk drive (Hard Disk Drive: hereinafter simply referred to as HDD) 12 to be stored, a random access memory (Random Access Memory: hereinafter simply referred to as RAM) 13 from which a computer program is temporarily read from the ROM 11 or HDD 12, and 13. An input unit 14 for inputting an operation signal, a display unit 15 for displaying an image corresponding to a computer program to be executed, a disk drive 16 on which an optical disk as an external storage device is mounted, and data communication with other devices. Done A communication unit 17, a central processing unit for controlling the entire operation (Central Processing Unit:. Hereinafter referred to CPU) 18 and comprises a, which are connected via a bus 19.
[0011]
The HDD 12 has a large-capacity hard disk built in the main body of the apparatus. The HDD 12 is connected to an operating system (hereinafter, simply referred to as an OS), a hard disk, an optical disk drive, or other hardware when connecting the hardware. Software (hereinafter referred to as a device driver), a reproduction program 20 as an application program, and the like. In the HDD 12, files storing data are managed in a hierarchical structure by application programs and the OS. The input unit 14 includes a keyboard, a mouse, a numeric keypad, a trackball, a joystick, and the like, is driven by the above-described device driver, and can input input data such as operation signals. The display unit 15 includes a cathode ray tube (CRT), a liquid crystal display (LCD), and the like.
[0012]
The disc drive 16 is loaded with an optical disc 4 such as a compact disc (Compact Disc: hereinafter simply referred to as CD) or a DVD (Digital Versatile Disk: hereinafter simply referred to as DVD), and rotates such an optical disc. The data recorded on the optical disk is read by irradiating the signal recording surface with a light beam and detecting the reflected light beam. When a recordable write-once or rewritable optical disk is mounted, the disk drive 16 irradiates a signal recording surface of the optical disk with a light beam to record data stored in the HDD 12, for example. be able to.
[0013]
The disk drive 16 has a memory 16a for storing its own version and the like, and a control unit 16b for controlling writing / reading of the memory 16a and controlling the operation of the entire disk drive 16. The disk drive 16 is connected to a bus 19 by an SCII (Small Computer System Interface) bus or the like. In addition, as the external recording medium, a removable recording medium such as a magneto-optical disk, a hard disk, and an IC card can be used. The communication unit 17 follows a transmission protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol), FTP (File Transfer Protocol), or the like, and uses a LAN (Local Area Network) or a WAN (Wide Area Network, for example, via a key network such as a WAN). The communication with the server device of the distribution center 2 is performed. The CPU 18 loads, for example, a reproduction program 20 stored in the HDD 12 into the RAM 13 and activates the RAM 13 in response to an operation signal input from the input unit 14, for example.
[0014]
By the way, the key distribution center 2 is an organization that manages the present system 1 and is a public key issuer. The key distribution center 2 uses its own public key PK KDC And private key SK KDC Is generated and managed, ie, the public key PK of the disk drive 16 and the reproduction program 20. XXX And private key SK XXX Generate
[0015]
The key distribution center 2 generates the reference information 6 of the reproduction program 20 at the time of manufacturing the reproduction program 20 and issues it to each reproduction program 20. The reference information 6 of the reproduction program 20 contains the public key PK of the key distribution center 2. KDC And the public key PK of the reproduction program 20 App And the private key SK of the reproduction program 20 App And the public key PK App And certificates. The reference information 6 is stored, for example, in the HDD 12 together with the reproduction program 20.
[0016]
The key distribution center 2 distributes a certificate list (CAL: Certified Application List) 8 of the public key of the reproduction program 20 to each reproduction program 20. For example, the key distribution center 2 records and distributes the certificate list 8 of the public key of the reproduction program 20 to the optical disk 4 such as a read-only optical disk, a write-once optical disk, and a rewritable optical disk. Here, as a recording medium for recording the public key certificate list 8 of the reproduction program 20, a magneto-optical disk, a magnetic disk, a disk cartridge using these disks as a recording medium, and a semiconductor memory as a recording medium are used. A removable recording medium such as an IC card can be used. As a method of distributing the certificate list 8 of the public key of the reproduction program 20, besides using the removable recording medium, it can also be distributed via the network 3.
[0017]
The key distribution center 2 generates the reference information 7 of the disk drive 16 at the time of manufacturing the disk drive 16 and issues it to each disk drive 16. The public key data 7 of the disk drive 16 is the public key PK of the key distribution center 2. KDC And the public key PK of the disk drive 16 Drv And the private key SK of the disk drive 16 Drv And the initial value CAL of the certificate version ver_init And The reference information 7 is stored in the memory 16a of the disk drive 16.
[0018]
The key distribution center 2 distributes the version number information 9 of the public key of the reproduction program 20 to each disk drive 16. The key distribution center 2 distributes the version number information 9 of the public key via a removable recording medium or the network 3, similarly to the certificate list 8. This version number information 9 is also stored in the memory 16a of the disk drive 16.
[0019]
Here, the public key PK included in the reference information 6 of the reproduction program 20 App The certificate 6a will be described with reference to FIG. The certificate 6a issued by the key distribution center 2 includes a certificate identifier 6b, a certificate number 6c, a version number 6d, and a public key 6e.
[0020]
The certificate identifier 6b is the private key SK of the key distribution center 2. KDC Is used to identify the version number information 9 that is signed with, for example, “1” is input. That is, the entirety of the version number information 9 of the public key of the reproduction program 20, which will be described in detail later, is the private key SK. KDC The certificate identifier 6b is used to distinguish the version number information 9. The certificate identifier 6b has a field size of 2 bytes.
[0021]
The certificate number 6c is the public key PK App Is a number for uniquely identifying the certificate 6a of, for example, is sequentially assigned from "1". The field size of the certificate number 6c is, for example, 2 bytes.
[0022]
The version number 6d is given each time the certificate 6a is newly issued, and increases by one each time the certificate 6a is issued. The field size of the version number 6d is, for example, 2 bytes.
[0023]
The public key 6e is the public key PK of the key distribution center 2. App For example, when only the modulo of the public key of 128 bytes is required and the public key is determined (for example, 3), the field size is set to 128 bytes.
[0024]
The certificate 6a as described above is entirely composed of 134 bytes, and is entirely composed of the private key SK of the key distribution center 2. KDC Signed with. Therefore, the field size of the signed certificate 6a differs depending on the signature method.
[0025]
Next, the public key PK of the reproduction program 20 described above is used. App The certificate list 8 will be described with reference to FIG. The certificate list 8 includes the number of certificates 8a, the version number 8b, and the certificates (1) to (3) 6a shown in FIG.
[0026]
The number of certificates 8a indicates how many certificates 6a shown in FIG. 2 are included in the list 8, and is "3" in the example shown in FIG. The field size of the number of certificates 8a is, for example, 2 bytes.
[0027]
The version number 8b is a version number of the certificate list 8, and increases by one each time the certificate list 8 is newly issued. The field size of the version number 8b is, for example, 2 bytes.
[0028]
The certificates (1) to (3) are the certificates 6a shown in FIG. KDC It was signed with. The number of certificates 6a stored in the list 8 is not limited as shown in FIG. The version number 6d of the certificate 6a stored in the list 8 has the same value as the version number 8b of the certificate list 8. That is, the certificate list 8 can accommodate one or more certificates 6a of the same version.
[0029]
The above certificate list 8 is entirely composed of the private key SK of the key distribution center 2. KDC Signed with. The signature used here is that of a system that can at least prove that the certificate list 8 has not been tampered with (Integrity Check).
[0030]
Next, the version number information 9 of the public key of the reproduction program 20 will be described with reference to FIG. The version number information 9 includes a certificate identifier 9a and a version number 9b.
[0031]
The certificate identifier 9a is used to distinguish version number information from the certificate 6a shown in FIG. The certificate identifier 9a has a field size for inserting a version of 2 bytes, and for example, "2" is input.
[0032]
The version number 9b is obtained by extracting the version number 6d of the certificate 6a. Therefore, the field size is the same as the version number 6d, and is 2 bytes.
[0033]
The above-described version number information 9 is entirely composed of 4 bytes. The version number information 9 is entirely the private key SK of the key distribution center 2. KDC Therefore, the total field size after the signature differs depending on the signature method.
[0034]
In the certificate 6a shown in FIG. 2, the certificate list 8 shown in FIG. 3, and the version number information 9 shown in FIG. 4, each item composed of 2 bytes is not limited to the above example. . For example, since the number of certificates 8a in the certificate list 8 is 2 bytes, only up to 65,535 certificates can be accommodated, but when it is necessary to accommodate the certificate 6a beyond this, The field size of the certificate number 8a may be extended. The version numbers 6d, 8b, 9b shown in FIGS. 2 to 4 may be added one by one every time a new issue is made, or may be subtracted one by one, or may be another method.
[0035]
As described above, the certificate list 8 of the public key of the reproduction program 20 shown in FIG. KDC The version number information 9 of the public key of the reproduction program 20 shown in FIG. KDC The public key certificate 6a included in the reference information 6 of the reproduction program 20 shown in FIG. KDC , And can be issued only by the key distribution center 2.
[0036]
When the key distribution center 2 wants to exclude a specific version of the reproduction program 20, the key distribution center 2 deletes the certificate 6a of the reproduction program 20 to be excluded from one or a plurality of certificates 6a included in the certificate list 8 shown in FIG. Do. At this time, the version numbers of the other certificates included in the certificate list 8 and the version number 8b of the certificate list 8 are updated to have the new version number 6d. The key distribution center 2 transfers the entire updated certificate list 8 to a private key SK. KDC The certificate list 8 signed by the above is issued and distributed to the user.
[0037]
The updated new certificate list 8 is input to the information processing device 10 from the communication unit 17 via the network 3 and is input to the information processing device 10 from the disk drive 16 via the optical disk 4. When the new certificate list 8 is input, the reproduction program 20 installed in the information processing apparatus 10 receives the public key PK of the key distribution center 2 included in the reference information 6. KDC Is used to confirm the signature of the certificate list 8. That is, the reproduction program 20 checks whether the new certificate list 8 has been tampered with, and checks the validity of the certificate list 8.
[0038]
Next, an operation of reading content data recorded on the optical disk 4 mounted on the disk drive 16 using the reproduction program 20 will be described with reference to FIGS.
[0039]
First, as shown in FIG. 5, the reproduction program 20 sends the public key PK of the reproduction program 20 to the disk drive 16. App And its version number 6d with the private key SK of the key distribution center 2. KDC (Sig (SK KDC , (PK App , CAL ver ))) 21 is read from the HDD 12 and presented to the disk drive 16.
[0040]
In step S1 of the flowchart shown in FIG. 6, when the control unit 16b of the disk drive 16 receives the certificate 21 presented from the reproduction program 20, the control unit 16b proceeds to step S2. In step S2, the reference stored in the memory 16a. Public key PK included in information 7 KDC To verify the signature. In step S2, when the signature is confirmed, the process proceeds to step S3. When the signature is not confirmed, the process proceeds to step S7.
[0041]
In step S3, the control unit 16b of the disk drive 16 reads out the version number information (VerNO) 9 that is the current version of the disk drive 16 from the memory 16a, and reads the version number included in the certificate 21 presented by the reproduction program 20. (CAL Ver 6) Compare with 6d to determine whether the version of the disk drive 16 is the same as or older than the version of the certificate 6a of the reproduction program 20. Specifically, when the larger the number of version information is, the newer the version is, the control unit 16b determines whether the version number 9b of the version number information 9 read from the memory 16a is equal to or less than the version number 6d presented by the reproduction program 20. Judge. When the version number 9b of the version number information 9 read from the memory 16a is equal to or less than the version number 6d presented by the reproduction program 20, the control unit 16b proceeds to step S4, and proceeds to step S4. If the number 9b is not equal to or less than the version number 6d presented by the reproduction program 20, the process proceeds to step S7.
[0042]
In step S4, the control unit 16b determines whether or not the version number 9b included in the version number information 9 read from the memory 16a is the same as the version number 6d of the certificate 6a presented by the playback program 20. If they are the same, the process proceeds to step S5, and if they are different, the process proceeds to step S6.
[0043]
In step S5, the control unit 16b determines the public key PK of the reproduction program 20 included in the certificate 21. App Next, the following process for reading data is performed.
[0044]
When the version number 9b included in the version number information 9 read from the memory 16a is smaller than the version number 6d presented by the reproduction program 20, that is, when the version of the reproduction program 20 is newer than the version of the disk drive 16, the control unit 16b In step S6, the version number 9b included in the version number information 9 stored in the memory 16a is replaced with the version number 6d of the reproduction program 20.
[0045]
In step S7, the control unit 16b stops the processing. That is, when the control unit 16b cannot confirm the signature of the certificate 21 presented from the reproduction program 20 in step S2 or when the version of the reproduction program 20 is older than its own version in step S4, The second data is not read.
[0046]
As described above, the disc drive 16 can always obtain the latest version number by replacing the version of the playback program 20 with the version of the playback program 20 when the version of the playback program 20 is newer during playback of the optical disc 4. Then, when the version of the reproduction program 20 is older than its own version, the reproduction is prohibited.
[0047]
Next, at step S5 in the flowchart shown in FIG. 6, the public key PK of the reproduction program 20 included in the certificate 21 performed by the control unit 16b of the disk drive 16 App The data reading process using the data will be described with reference to FIG.
[0048]
First, the control unit 16b of the disk drive 16 generates a session key (Session_key) 22 using a random number generated by an independent random number generator. The control unit 16b encrypts the content data (Data) 24 read from the optical disc 2 using the session key 22.
[0049]
The control unit 16b stores the session key (Session_key) 22 used for encrypting the content data 24 in the public key PK obtained from the reproduction program 20. App And encrypt the encrypted session key (E (PK App , Session_key)) 23 to the playback program 20 via the bus 19, and then encrypts the content data (E (Session_key, Data)) 25 encrypted with the session key 22 to the playback program 20 via the bus 19. Output. Public key PK App The encrypted session key 23 obtained by encrypting the session key 22 with the private key SK included in the reference information 6 owned by the playback program 20 App Therefore, the control unit 16b can safely output the encrypted session key 23 and the encrypted content data 25 to the reproduction program 20 via the bus 19.
[0050]
When the encrypted session key 23 and the encrypted content data 25 are input from the disk drive 16, the playback program 20 outputs the private key SK included in the reference information 6. App To decrypt the encrypted session key 23, and decrypt the encrypted content data 25 using the decrypted session key 22. The reproduction program 20 outputs the plain-texted content data 24 as reproduced sound from speakers, earphones, headphones, or the like. At the same time, the reproduction program 20 displays information corresponding to the content data to be reproduced, an artist name, an album name, a song name, and the like on the display unit 15.
[0051]
By the way, in the example shown in FIG. 6, if the version number information 9 stored in the memory 16a is not the latest one, the disk drive 16 determines that even the old version of the reproduction program 20 is newer than its own version. That is, it is determined (YES) in step 3 of FIG. 6, and the content data is reproduced. In other words, if the reproduction program 20 has a version larger than the version of the disk drive 16, even if the reproduction program 20 has an older version, the content data can be reproduced. Therefore, it is necessary to keep the version number information 9 of the disk drive 16 new at all times so that the content data cannot be reproduced by using the reproduction program 20 of the old version.
[0052]
In this data transmission system 1, the key distribution center 2 distributes the version number information 9 of the public key of the reproduction program 20, so that the version of the disk drive 16 is always kept up to date. The distribution of the version number information 9 is performed via a network 3 such as a WAN or a LAN or by using an optical disk 4 which is an external storage medium.
[0053]
When the version number information 9 is distributed via the network 3, the key distribution center 2 transmits the version number information 9 from the server device managed by itself to, for example, the address of the information processing device 10 owned by the registered user. . The information processing device 10 on the receiving side receives the version number information 9 transmitted from the server device of the key distribution center 2 by the communication unit 17 and stores it in the disk drive 16.
[0054]
When the version number information 9 is distributed using the optical disk 4, the key distribution center 2 distributes the optical disk 4 as a package medium stored in a storage case. The version number information 9 recorded on the optical disc 4 is exclusively used for the disc drive 16 and may be recorded in an area that cannot be controlled by the OS file system or the reproduction program 20. Thus, for example, the version number information 9 may be recorded in a lead-in area, a lead-out area, or other areas that are non-signal recording areas of the optical disc 4. Conversely, the version number information 9 may be recorded in a predetermined area between the lead-in area and the lead-out area which can be controlled by the file system of the OS of the optical disc 4.
[0055]
In the above, the example in which the version number information 9 used for the disk drive 16 is distributed on the optical disk 4 has been described. In this example, the certificate list 8 used for the reproduction program 20 is recorded on the optical disk 4 in addition to the version number information 9. Then, the optical disc 4 on which such information is recorded may be distributed.
[0056]
That is, as shown in FIG. 7, the key distribution center 2 records the version number information 9 and the certificate list 8 on the optical disc 4, and distributes the optical disc 4 on which the information is recorded. At this time, the key distribution center 2 sends the private key SK to the version number information 9 for the optical disc 4 to be distributed. KDC Record what was signed in and the entire private key SK KDC Record the certificate list 8 signed with.
[0057]
For example, since the version number information 9 is used exclusively for the disk drive 16, the version number information 9 is recorded in a non-signal recording area such as a read-in area and a lead-out area which are not controlled by the OS, and the certificate list 8. Are managed by the reproduction program 20, and are recorded in a signal recording area between the lead-in area and the lead-out area which can be managed by the reproduction program 20.
[0058]
The optical disk 4 on which the certificate list 8 and the version number information 9 are recorded as described above is stored in the storage case and distributed as a package medium as described above. The user who has obtained the optical disk 4 mounts the optical disk 4 on the disk drive 16 of the information processing apparatus 10 having the disk drive 16 and the reproduction program 20 installed. When the optical disk 4 is mounted on a disk table constituting a disk rotation drive mechanism of the disk drive 16, the optical pickup device is rotated by a spindle motor so that, for example, the linear velocity becomes constant and emits a light beam from a light source. Scans the signal recording area. The disk drive 16 emits light from the optical pickup device to the optical disk 4 and detects the return light of the light beam reflected from the optical disk, thereby detecting the version number information 9 and the certificate list 8 recorded on the optical disk 4. Is read.
[0059]
Here, upon reading the version number 9b included in the version number information 9 from the optical disk 4, the control unit 16b of the disk drive 16 compares the version number 9b of the version number information 9 held in the memory 16a, and It is determined whether the version number 9b is newer. When the version number 9b of the version number information 9 read from the optical disk 4 by the disk drive 16 is newer than the version number 9b of the version number information 9 stored in the memory 16a, the control unit 16b controls the version stored in the memory 16a. The number information 9 is replaced with version number information 9 having a new version number 9b read from the optical disc 4. When the version number 9b of the version number information 9 stored in the memory 16a is newer than the version number 9b of the version number information 9 recorded on the optical disc 4, the control unit 16b adopts the version number information 9 read from the optical disc 4. Instead, the version number information 9 stored in the memory 16a is maintained as it is. Thereby, the disk drive 16 can acquire the version number information 9 having the latest version number 9b from the optical disk 4.
[0060]
When the disk drive 16 reads the certificate list 8 from the optical disk 4, the control unit 16b outputs the certificate list 8 to the playback program 20. Here, when the certificate list 8 is input from the disk drive 16, the reproduction program 20 stores the certificate list 8 in the HDD 12. That is, the reproduction program 20 uses the public key PK of the key distribution center 2 included in the reference information 6. KDC Is used, the signature of the certificate list 8 is checked, whether the new certificate list 8 has been tampered with, and the validity of the certificate list 8 is checked.
[0061]
When the validity of the certificate list 8 is confirmed, the certificate 6a corresponding to the reproduction program 20 is extracted from the certificate list 8.
[0062]
For example, when the content data recorded on the optical disc 4 is reproduced, the processing shown in FIG. 5 is performed thereafter. As described above, the certificate list 8 having a relatively large data size is stored in the HDD 12 having a large data size, and the version number information 9 having a small data size is stored in the memory 16a. That is, the disk drive 16 only needs to store only the version number information 9 having a small data size in addition to the reference information 7, and a small and inexpensive memory element having a small storage capacity is used for the memory 16a. be able to.
[0063]
By the way, when the certificate list 8 and the version number information 9 are obtained from the optical disc 4 as described above, the reproducing program 20 requires that the certificate list 8 and the version number information 9 of the same version be recorded on the optical disc 4. Therefore, the certificate list 8 or the like newer than the old version number 9b cannot be obtained from the optical disk 4 having the version number 9b older than the version number 9b held by the disk drive 16.
[0064]
This will be described with reference to FIGS. 8A and 8B. FIG. 8A shows that the version number 8 b of the certificate list 8 recorded on the optical disc 4 and the version number 9 b of the version number information 9 are “3”, and the version number stored in the memory 16 a of the disc drive 16. The case where the version number 9b of the information 9 and the version number 8b of the certificate list 8 of the reproduction program 20 are "2" is shown.
[0065]
When the optical disc 4 is mounted on the disc drive 16 and the certificate list 8 and the version number information 9 recorded on the optical disc 4 are read out, the control unit 16b of the disc drive 16 updates the version number 9b stored in the memory 16a with the version number 9b. The version number 9b of the version number information 9 read from the optical disc 4 is compared. In this case, the control unit 16b determines that the version number 9b of the version number information 9 read from the optical disc 4 is "3" and the version number 9b of the version number information 9 held in the memory 16a is "2". , It is determined that the version of the optical disk 4 is newer. Therefore, the control unit 16b replaces the version number information 9 stored in the memory 16a with “3” from “2” and stores this in the memory 16b.
[0066]
Further, the reproduction program 20 compares the version number 8b of the certificate list 8 already stored in the HDD 12 with the version number 8b read from the optical disc 4, and determines which version number is newer. In this case, since the version number 8b of the certificate list 8 already stored in the HDD 12 is “2” and the version number 8b read from the optical disc 4 is “3”, the reproduction program 20 Judge that is newer. Therefore, the reproducing program 20 replaces the entire certificate list 8 in order to replace the version number 8b from “2” to “3”. Thereafter, a session key and the like are exchanged, and the disk drive 16 transfers the read content data and the like to the reproduction program 20 and reproduces the content data, for example.
[0067]
If the reproduction program 20 is reinstalled after the state shown in FIG. 8A, the state shown in FIG. 8B occurs. FIG. 8B shows that the version number 8 b of the certificate list 8 recorded on the optical disc 4 and the version number 9 b of the version number information 9 are “2”, and the version number stored in the memory 16 a of the disc drive 16. The case where the version number 9b of the information 9 is “3” and the version number 8b of the certificate list 8 of the reproduction program 20 is “2” is shown.
[0068]
At this time, the control unit 16b of the disk drive 16 determines that the version number 9b of the version number information 9 read from the optical disk 4 is “2” and the version number 9b of the version number information 9 held in the memory 16a is “3”. , It is determined that the version of the memory 16a is newer. Therefore, the control unit 16b holds the version number information 9 held in the memory 16a as it is.
[0069]
In the reproduction program 20, the version number 8b of the certificate list 8 already stored in the HDD 12 is "2", the version number 8b read from the optical disk 4 is "2", and the versions are the same. , The certificate list 8 stored in the HDD 12 is maintained as it is.
[0070]
In this case, when trying to start the processing shown in FIG. 6 described above, the control unit 16b of the disk drive 16 has the version “3” and the version of the reproduction program 20 “2”. In step S3, the determination is (NO), and in step S7, the process is stopped, that is, the data on the optical disk 2 is not read. Therefore, the exchange of the session key and the like between the disk drive 16 and the reproduction program 20 is not performed.
[0071]
Therefore, as shown in FIGS. 9A and 9B, the certificate list 8 read from the optical disk 4 may be stored in an area of the HDD 12 that can be controlled by the reproduction program 20. Specifically, the certificate list 8 is stored in a device driver such as the disk drive 16 of the HDD 12 or in a file system of the OS. When a file system is used, for example, the certificate list 8 can be stored as a file in a subdirectory provided in a root directory that is the highest directory of the drive in the hierarchical directory structure.
[0072]
In this case, the playback program 20 directly or indirectly manages the path name, which is the storage destination of the file of the certificate list 8 specified in advance. You can now access the file. Of course, the path name indicating the storage location of the file of the certificate list 8 may be specified by the user. Further, the file of the certificate list 8 may be stored in the memory 16a of the disk drive 16.
[0073]
This will be described with reference to FIGS. 9A and 9B. FIG. 9A corresponds to FIG. 8A, and the version number 8b of the certificate list 8 and the version number 9b of the version number information 9 recorded on the optical disc 4 are “3”. This shows a case where the version number 9b of the version number information 9 stored in the memory 16a of the disk drive 16 and the version number 8b of the certificate list 8 of the reproduction program 20 are "2". The reproduction program 20 stores the certificate list 8 in the root directory of the HDD 12.
[0074]
In this case, the control unit 16b of the disk drive 16 determines that the version number 9b of the version number information 9 read from the optical disk 4 is “3” and the version number 9b of the version number information 9 held in the memory 16a is “2”. , It is determined that the version of the optical disc 4 is newer. Therefore, the control unit 16b replaces the version number information 9 stored in the memory 16a with “3” from “2” and stores this in the memory 16b.
[0075]
The reproduction program 20 accesses the certificate list 8 with reference to the bus name owned by the reproduction program 20, and acquires the version number 8b of the certificate list 8 already stored in the HDD 12. Then, since the version number 8b of the certificate list 8 already stored in the HDD 12 is “2” and the version number 8b read from the optical disk 4 is “3”, the reproduction program 20 It is determined that the version in Listing 8 is newer. The reproduction program 20 replaces the certificate list 8 stored in a subdirectory of a predetermined root directory. Thereafter, by exchanging a session key and the like, the disk drive 16 transfers the read content data and the like to the playback program 20 and plays back the content data, for example.
[0076]
It is assumed that after the state of FIG. 9A, the reproduction program 20 stored in the HDD 12 is deleted and reinstalled. When the reproduction program 20 is deleted and reinstalled, the root directory storing the certificate list 8 is not deleted. Therefore, in the reproduction program 20, the version of the certificate list 8 does not decrease after the reinstallation than before the reinstallation. This will be described with reference to FIG. 9B. FIG. 9B corresponds to FIG. 8B, and shows the version number of the certificate list 8 recorded on the optical disk 4. 8b, the version number 9b of the version number information 9 is “2”, the version number 9b of the version number information 9 held in the memory 16a of the disk drive 16 is “3”, and the certificate list 8 of the reproduction program 20 The case where the version number 8b is “3” is shown. That is, the version number 8b of the certificate list 8 of the reproduction program 20 is changed from “2” to “3” in the operation of FIG. 9A.
[0077]
In this case, the control unit 16b of the disk drive 16 determines that the version number 9b of the version number information 9 read from the optical disk 4 is “2” and the version number 9b of the version number information 9 held in the memory 16a is “3”. , It is determined that the version of the memory 16a is newer. Therefore, the control unit 16b holds the version number information 9 held in the memory 16a as it is.
[0078]
The reproduction program 20 accesses the certificate list 8 with reference to the bus name owned by the reproduction program 20, and acquires the version number 8b of the certificate list 8 already stored in the HDD 12. In the reproduction program 20, the version number 8b of the certificate list 8 already stored in the HDD 12 is "3", the version number 8b of the certificate list 8 read from the optical disk 4 is "2", and the version is old. Therefore, the certificate list 8 stored in the HDD 12 is maintained as it is, that is, “3”.
[0079]
Therefore, when performing the processing shown in FIG. 6, the disk drive 16 determines in step S3 and step S4 that the version number information 9 stored in the memory 16a and the version of the reproduction program 20 are the same, Allows exchange of keys and playback of content data. That is, as shown in FIG. 5, the disk drive 16 generates the session key 23, and transfers the generated session key 23 to the public key PK. App To encrypt. The disk drive 16 outputs the encrypted session key 23 and the content data 25 encrypted with the session key to the playback program 20.
[0080]
The reproduction program 20 uses the private key SK included in the reference information 6. App To decrypt the encrypted session key 23, and decrypt the encrypted content data 25 using the decrypted session key 22. Then, the reproduction program 20 outputs the plain-texted content data 24 as reproduced sound from speakers, earphones, headphones, or the like. At the same time, the reproduction program 20 displays information corresponding to the content data to be reproduced, an artist name, an album name, a song name, and the like on the display unit 15.
[0081]
In the data transfer system 1 as described above, the key distribution center 2 sends the public key PK to the reproduction program 20. App Information 6 and the certificate list 8 including the information and the version numbers 6d, 8b, etc., and the reference information 7 and the version number information 9 are distributed to the disk drive 16; It is distributed separately with the disk drive 16. That is, the disk drive 16 has the reference information 7 and the version number information 9 necessary for judging the validity of the reproduction program 20. Then, the disc drive 16 compares the version of the disc drive 16 with the version of the playback program 20, and only when the version is the same or the version of the playback program 20 is newer, the playback program 20 of the content data 24 recorded on the optical disc 4. Allows transfer to As described above, in the data transfer system 1, most of the configuration can be realized by software only by providing a memory for holding the version number information 9 in the disk drive 16.
[0082]
Further, in the data transfer system 1, since the transfer of the content data or the like to the reproduction program 20 is permitted only when the disk drive 16 can confirm the validity of the reproduction program 20, an unauthorized operation is performed. Transfer of content data and the like to the reproduction program 20 can be prevented.
[0083]
Further, in the data transfer system 1, the certificate list 8 managed by the reproduction program 20 is stored in the root directory of the HDD 12 which is an area that can be controlled by the reproduction program 20, so that the reproduction program 20 is reinstalled, for example. Even when this occurs, it is possible to prevent inconveniences such as the version becoming older than before the reinstallation.
[0084]
As described above, the data transfer system 1 to which the present invention is applied has been described as an example in which data transfer is performed between the disk drive 16 and the reproduction program 20, but the present invention is not limited to this. For example, according to the present invention, in addition to the data transfer performed in one device, that is, the information processing device 1, the data transfer performed between two independent devices, that is, the function of the reproduction program 20 realized by firmware or hardware The present invention can also be applied to a case in which the reproduction program 20 is implemented between an independent reproduction device that realizes the function of the reproduction program 20 and an independent reproduction device that reads data recorded on the optical disk 4. Further, the present invention may be a recording / reproducing program in which a function of recording on the HDD 12 is added instead of the reproducing program 20 as a transmission destination device, and the above-described authentication is performed when recording on the HDD 12. Is also good.
[0085]
The optical disc 4 in which a certificate list 8, version number information 9, content data and the like are recorded mounted on the disc drive 16 is a read-only optical disc in which data is recorded by a pit pattern, and a dye material is used for a recording layer. Either a write-once optical disk or a rewritable optical disk using a phase-change material for the recording layer may be used. Further, the optical disc 4 may be configured such that at least a part thereof is a recordable area, and the certificate list 8, the version number information 9, and the like are recorded in this area. Further, the disk drive 16 may be capable of mounting a hard disk or a magneto-optical disk. Further, this recording medium may be an IC card using a semiconductor memory as a storage element, and the information processing apparatus 1 may be provided with a drive for an IC card instead of or in addition to the disk drive 16. . Further, the certificate list 8, the version number information 9, and the like may be distributed via the network 3.
[0086]
【The invention's effect】
According to the present invention, at least the version information of the public key of the destination device issued by the key distribution center is retained, and when the validity of the destination device is determined, the public information held by the destination device is determined by the destination device. Reference information including the key and the version information of this public key is input. By comparing the version information, the validity of the transmission destination device can be confirmed. After the validity is confirmed, the content data is Etc. can be transferred to the destination device.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a data transmission system to which the present invention has been applied.
FIG. 2 is a diagram illustrating a certificate of a public key included in reference information of a reproduction program.
FIG. 3 is a diagram illustrating a certificate list of a public key of a reproduction program.
FIG. 4 is a diagram illustrating version information of a public key of a reproduction program.
FIG. 5 is a diagram illustrating the relationship between a disk drive and a playback program.
FIG. 6 is a flowchart illustrating the operation of the disk drive.
FIG. 7 is a diagram illustrating an example of recording and distributing a certificate list used for a reproduction program in addition to version information on an optical disc.
FIG. 8 is a diagram illustrating an operation of reading version information and a certificate list from an optical disc.
FIG. 9 is a diagram for explaining an improved example of an operation of reading version information and a certificate list from an optical disc.
[Explanation of symbols]
1 data transfer system, 2 key distribution center, 3 networks, 4 optical disks, 6 playback program reference information, 7 disk drive reference information, 8 certificate list, 9 playback program public key version information

Claims (34)

送信先機器の有効性を判断し、この送信先機器の認証を取ることができたとき、データを上記送信先機器に転送するデータ転送装置において、
鍵配布センタが発行する少なくとも上記送信先機器の公開鍵のバージョン情報を保持し、
上記送信先機器の有効性を判断するとき、この送信先機器より該送信先機器が保有する公開鍵とこの公開鍵のバーション情報とを含む参照情報が入力されるデータ転送装置。
In the data transfer device that determines the validity of the destination device and, when the destination device can be authenticated, transfers data to the destination device,
Holding at least the version information of the public key of the destination device issued by the key distribution center,
A data transfer device to which reference information including a public key held by the destination device and version information of the public key is input from the destination device when determining the validity of the destination device.
更に、上記保有している公開鍵のバージョン情報と上記送信先機器から入力される参照情報のバージョン情報とを比較し、より新しいバージョン情報を最新バージョン情報として保持する請求項1記載のデータ転送装置。2. The data transfer apparatus according to claim 1, further comprising comparing version information of the held public key with version information of reference information input from the destination device, and holding newer version information as latest version information. . 更に、上記保有している公開鍵のバージョン情報と上記送信先機器から入力される参照情報のバージョン情報とを比較し、上記送信先機器から入力される参照情報のバージョン情報が上記保有している公開鍵のバージョン情報より古いとき、データ転送を禁止する請求項2記載のデータ転送装置。Further, the version information of the held public key is compared with the version information of the reference information input from the destination device, and the version information of the reference information input from the destination device is held. 3. The data transfer apparatus according to claim 2, wherein data transfer is prohibited when the version is older than the version information of the public key. 上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報は、配布される記録媒体を介して入力される請求項1記載のデータ転送装置。2. The data transfer device according to claim 1, wherein at least the version information of the public key of the destination device issued by the key distribution center is input via a distributed recording medium. 上記記録媒体には、上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報がファイルシステムの領域を除く領域に記録されている請求項4記載のデータ転送装置。5. The data transfer apparatus according to claim 4, wherein at least the version information of the public key of the destination device issued by the key distribution center is recorded in an area excluding a file system area on the recording medium. 上記記録媒体は、光ディスク、光磁気ディスク、ハードディスクの何れかである請求項4記載のデータ転送装置。The data transfer device according to claim 4, wherein the recording medium is one of an optical disk, a magneto-optical disk, and a hard disk. 上記記録媒体は、半導体メモリを用いるICカードである請求項4記載のデータ転送装置。The data transfer device according to claim 4, wherein the recording medium is an IC card using a semiconductor memory. 上記記録媒体は、再生専用の記録媒体である請求項4記載のデータ転送装置。The data transfer device according to claim 4, wherein the recording medium is a reproduction-only recording medium. 上記記録媒体は、少なくとも一部が記録可能な領域であり、この領域に上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報が記録されている請求項4記載のデータ転送装置。5. The data transfer device according to claim 4, wherein the recording medium is at least partially recordable, and in this region, at least version information of a public key of a destination device issued by the key distribution center is recorded. 上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報は、ネットワークを介して入力される請求項1記載のデータ転送装置。2. The data transfer device according to claim 1, wherein at least the version information of the public key of the destination device issued by the key distribution center is input via a network. 上記鍵配布センタが発行する少なくとも上記送信先機器の公開鍵のバージョン情報は、上記鍵配布センタの電子署名がなされている請求項1記載のデータ転送装置。2. The data transfer apparatus according to claim 1, wherein at least the version information of the public key of the transmission destination device issued by the key distribution center is digitally signed by the key distribution center. 上記送信先機器に配布される参照情報は、上記鍵配布センタの電子署名がなされている請求項1記載のデータ転送装置。2. The data transfer device according to claim 1, wherein the reference information distributed to the transmission destination device has an electronic signature of the key distribution center. 上記データを送信先機器に転送するとき、上記送信先機器の公開鍵により共有された秘密鍵によって上記データが暗号化される請求項1記載のデータ転送装置。2. The data transfer device according to claim 1, wherein when transferring the data to a destination device, the data is encrypted with a secret key shared by a public key of the destination device. 上記送信先機器は、アプリケーションプログラムが実装された機器であり、最新の参照情報のリストが上記アプリケーションプログラムが実装された領域以外の記録領域に記録されている請求項3記載のデータ転送装置。4. The data transfer device according to claim 3, wherein the destination device is a device on which an application program is installed, and a list of latest reference information is recorded in a recording area other than an area on which the application program is installed. 上記アプリケーションプログラムが実装された領域以外の記録領域は、デバイスドライバが記録された領域である請求項14記載のデータ転送装置。15. The data transfer device according to claim 14, wherein the recording area other than the area where the application program is mounted is an area where a device driver is recorded. 上記アプリケーションプログラムが実装された領域以外の記録領域は、オペレーティングシステムのファイル領域である請求項14記載のデータ転送装置。The data transfer device according to claim 14, wherein the recording area other than the area in which the application program is mounted is a file area of an operating system. 上記最新の参照情報のリストのファイル名とこのファイルが格納されるディレクトリ名とそのパス名は、直接又は間接的に上記アプリケーションプログラムにより管理されている請求項16記載のデータ転送装置。17. The data transfer device according to claim 16, wherein a file name of the latest reference information list, a directory name in which the file is stored, and a path name thereof are directly or indirectly managed by the application program. 送信先機器の有効性を判断し、この送信先機器の認証を取ることができたとき、データを上記送信先機器に転送するデータ転送方法において、
鍵配布センタが発行する少なくとも上記送信先機器の公開鍵のバージョン情報を保持し、
上記送信先機器の有効性を判断するとき、この送信先機器より該送信先機器が保有する公開鍵とこの公開鍵のバーション情報とを含む参照情報が入力されるデータ転送方法。
In the data transfer method of determining the validity of the destination device and transferring the data to the destination device when the destination device can be authenticated,
Holding at least the version information of the public key of the destination device issued by the key distribution center,
A data transfer method, wherein when determining the validity of the destination device, reference information including a public key held by the destination device and version information of the public key is input from the destination device.
更に、上記保有している公開鍵のバージョン情報と上記送信先機器から入力される参照情報のバージョン情報とを比較し、より新しいバージョン情報を最新バージョン情報として保持する請求項18記載のデータ転送方法。19. The data transfer method according to claim 18, further comprising comparing the version information of the held public key with version information of reference information input from the destination device, and holding newer version information as latest version information. . 更に、上記保有している公開鍵のバージョン情報と上記送信先機器から入力される参照情報のバージョン情報とを比較し、上記送信先機器から入力される参照情報のバージョン情報が上記保有している公開鍵のバージョン情報より古いとき、データ転送を禁止する請求項19記載のデータ転送方法。Further, the version information of the held public key is compared with the version information of the reference information input from the destination device, and the version information of the reference information input from the destination device is held. 20. The data transfer method according to claim 19, wherein the data transfer is prohibited when the version is older than the version information of the public key. 上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報は、配布される記録媒体を介して入力される請求項18記載のデータ転送方法。19. The data transfer method according to claim 18, wherein at least the version information of the public key of the destination device issued by the key distribution center is input via a distributed recording medium. 上記記録媒体には、上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報がファイルシステムの領域を除く領域に記録されている請求項21記載のデータ転送方法。22. The data transfer method according to claim 21, wherein at least the version information of the public key of the destination device issued by the key distribution center is recorded in an area excluding a file system area on the recording medium. 上記記録媒体は、光ディスク、光磁気ディスク、ハードディスクの何れかである請求項21記載のデータ転送方法。22. The data transfer method according to claim 21, wherein the recording medium is one of an optical disk, a magneto-optical disk, and a hard disk. 上記記録媒体は、半導体メモリを用いるICカードである請求項21記載のデータ転送方法。22. The data transfer method according to claim 21, wherein the recording medium is an IC card using a semiconductor memory. 上記記録媒体は、再生専用の記録媒体である請求項21記載のデータ転送方法。22. The data transfer method according to claim 21, wherein the recording medium is a read-only recording medium. 上記記録媒体は、少なくとも一部が記録可能な領域であり、この領域に上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報が記録されている請求項21記載のデータ転送方法。22. The data transfer method according to claim 21, wherein at least a part of the recording medium is a recordable area, and in this area, at least version information of a public key of a destination device issued by the key distribution center is recorded. 上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報は、ネットワークを介して入力される請求項18記載のデータ転送方法。19. The data transfer method according to claim 18, wherein at least the version information of the public key of the destination device issued by the key distribution center is input via a network. 上記鍵配布センタが発行する少なくとも上記送信先機器の公開鍵のバージョン情報は、上記鍵配布センタの電子署名がなされている請求項18記載のデータ転送方法。19. The data transfer method according to claim 18, wherein at least the version information of the public key of the transmission destination device issued by the key distribution center is digitally signed by the key distribution center. 上記送信先機器に配布される参照情報は、上記鍵配布センタの電子署名がなされている請求項18記載のデータ転送方法。19. The data transfer method according to claim 18, wherein the reference information distributed to the transmission destination device has an electronic signature of the key distribution center. 上記データを送信先機器に転送するとき、上記送信先機器の公開鍵により共有された秘密鍵によって上記データが暗号化される請求項18記載のデータ転送方法。19. The data transfer method according to claim 18, wherein, when transferring the data to a destination device, the data is encrypted with a secret key shared by a public key of the destination device. 上記送信先機器は、アプリケーションプログラムが実装された機器であり、最新の参照情報のリストが上記アプリケーションプログラムが実装された領域以外の記録領域に記録されている請求項20記載のデータ転送方法。21. The data transfer method according to claim 20, wherein the destination device is a device on which an application program is mounted, and a list of the latest reference information is recorded in a recording area other than the area on which the application program is mounted. 上記アプリケーションプログラムが実装された領域以外の記録領域は、デバイスドライバが記録された領域である請求項31記載のデータ転送方法。32. The data transfer method according to claim 31, wherein the recording area other than the area where the application program is mounted is an area where a device driver is recorded. 上記アプリケーションプログラムが実装された領域以外の記録領域は、オペレーティングシステムのファイル領域である請求項31記載のデータ転送方法。32. The data transfer method according to claim 31, wherein the recording area other than the area in which the application program is mounted is a file area of an operating system. 上記最新の参照情報のリストのファイル名とこのファイルが格納されるディレクトリ名とそのパス名は、直接又は間接的に上記アプリケーションプログラムにより管理されている請求項33記載のデータ転送方法。34. The data transfer method according to claim 33, wherein a file name of the latest reference information list, a directory name in which the file is stored, and a path name thereof are directly or indirectly managed by the application program.
JP2002190902A 2002-04-09 2002-06-28 Data transfer apparatus and data transfer method Expired - Fee Related JP4126972B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002190902A JP4126972B2 (en) 2002-04-09 2002-06-28 Data transfer apparatus and data transfer method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002107080 2002-04-09
JP2002190902A JP4126972B2 (en) 2002-04-09 2002-06-28 Data transfer apparatus and data transfer method

Publications (2)

Publication Number Publication Date
JP2004007328A true JP2004007328A (en) 2004-01-08
JP4126972B2 JP4126972B2 (en) 2008-07-30

Family

ID=30446810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002190902A Expired - Fee Related JP4126972B2 (en) 2002-04-09 2002-06-28 Data transfer apparatus and data transfer method

Country Status (1)

Country Link
JP (1) JP4126972B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005124148A (en) * 2003-07-31 2005-05-12 Sony United Kingdom Ltd Access control for digital content
JP2005318572A (en) * 2004-03-31 2005-11-10 Ricoh Co Ltd Communications device, digital certificate transfer device, authentication data transfer device, digital certificate setting system, authentication data setting system, control method for the communications device, digital certificate setting method, authentication data setting method, program, and recording medium
WO2005109747A1 (en) * 2004-05-10 2005-11-17 Sony Corporation Information processing device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005124148A (en) * 2003-07-31 2005-05-12 Sony United Kingdom Ltd Access control for digital content
JP4679851B2 (en) * 2003-07-31 2011-05-11 ソニー ヨーロッパ リミテッド Access control for digital content
JP2005318572A (en) * 2004-03-31 2005-11-10 Ricoh Co Ltd Communications device, digital certificate transfer device, authentication data transfer device, digital certificate setting system, authentication data setting system, control method for the communications device, digital certificate setting method, authentication data setting method, program, and recording medium
WO2005109747A1 (en) * 2004-05-10 2005-11-17 Sony Corporation Information processing device
US7984499B2 (en) 2004-05-10 2011-07-19 Sony Corporation Processing device and associated methodology for authorized device certificate updating

Also Published As

Publication number Publication date
JP4126972B2 (en) 2008-07-30

Similar Documents

Publication Publication Date Title
US7644446B2 (en) Encryption and data-protection for content on portable medium
US6738904B2 (en) Recordable storage medium with protected data area
JP4884535B2 (en) Transfer data objects between devices
JP4144573B2 (en) Information processing apparatus, information processing method, and computer program
US20060136342A1 (en) Content protection method, and information recording and reproduction apparatus using same
JP4752884B2 (en) Information processing apparatus, data processing method, and program
US20100325423A1 (en) System and Method for Securing an Electronic Communication
EP1702328A1 (en) Method of copying and reproducing data from storage medium
JP2004120736A (en) Group formation managing system, group managing device, and member device
TW200304067A (en) Method and apparatus for verifying the integrity of system data
TWI407308B (en) Information processing device, data processing method, and program
JP2004295300A (en) Content reproduction time limit management system, content reproduction time limit management method, terminal device, server device, program, and recording medium
US7620820B2 (en) Content data processing method, recording device, and reproduction device
US7823212B2 (en) Securely aggregating content on a storage device
KR20010069723A (en) Digital recording medium with encrypted digital contents, method of distributing thereof and system for manufacturing therefor
JP2009522678A (en) Method for providing, distributing and recording digital data and related distribution server
JP4126972B2 (en) Data transfer apparatus and data transfer method
JP2007286664A (en) Upload/download system, information processor, program and storage medium
US20070118765A1 (en) Method and system of decrypting disc
JP2004110588A (en) Storage media access system
JP2009093767A (en) Information processing device, disk, information processing method, and computer program
JP2003098963A (en) Recording device and storage medium unit
KR20070030786A (en) Information processing device, information processing method, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080331

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080422

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080505

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees