(57)【要約】【課題】データを送信先の機器に転送する際に、送信先の機器の認証を取る。【解決手段】鍵配布センタ２が再生プログラム２０に対して公開鍵ＰＫＡｐｐやバージョン番号６ｄ，８ｂ等を含む参照情報６や証明書リスト８を配布し、ディスクドライブ１６に対して参照情報７とバージョン情報９とを配布するようにし、これらの情報を再生プログラム２０とディスクドライブ１６とで別々に配布するようにし、ディスクドライブ１６が、再生プログラム２０の有効性を判断するために必要な参照情報７とバージョン情報９とを有するようにし、バージョンが同じ若しくは新しいときに限って光ディスク４に記録されたコンテンツデータ２４の再生プログラム２０への転送を許可する。【選択図】　図１
2004007328.tif 000002
【特許請求の範囲】
【請求項１】
送信先機器の有効性を判断し、この送信先機器の認証を取ることができたとき、データを上記送信先機器に転送するデータ転送装置において、
鍵配布センタが発行する少なくとも上記送信先機器の公開鍵のバージョン情報を保持し、
上記送信先機器の有効性を判断するとき、この送信先機器より該送信先機器が保有する公開鍵とこの公開鍵のバーション情報とを含む参照情報が入力されるデータ転送装置。
【請求項２】
更に、上記保有している公開鍵のバージョン情報と上記送信先機器から入力される参照情報のバージョン情報とを比較し、より新しいバージョン情報を最新バージョン情報として保持する請求項１記載のデータ転送装置。
【請求項３】
更に、上記保有している公開鍵のバージョン情報と上記送信先機器から入力される参照情報のバージョン情報とを比較し、上記送信先機器から入力される参照情報のバージョン情報が上記保有している公開鍵のバージョン情報より古いとき、データ転送を禁止する請求項２記載のデータ転送装置。
【請求項４】
上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報は、配布される記録媒体を介して入力される請求項１記載のデータ転送装置。
【請求項５】
上記記録媒体には、上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報がファイルシステムの領域を除く領域に記録されている請求項４記載のデータ転送装置。
【請求項６】
上記記録媒体は、光ディスク、光磁気ディスク、ハードディスクの何れかである請求項４記載のデータ転送装置。
【請求項７】
上記記録媒体は、半導体メモリを用いるＩＣカードである請求項４記載のデータ転送装置。
【請求項８】
上記記録媒体は、再生専用の記録媒体である請求項４記載のデータ転送装置。
【請求項９】
上記記録媒体は、少なくとも一部が記録可能な領域であり、この領域に上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報が記録されている請求項４記載のデータ転送装置。
【請求項１０】
上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報は、ネットワークを介して入力される請求項１記載のデータ転送装置。
【請求項１１】
上記鍵配布センタが発行する少なくとも上記送信先機器の公開鍵のバージョン情報は、上記鍵配布センタの電子署名がなされている請求項１記載のデータ転送装置。
【請求項１２】
上記送信先機器に配布される参照情報は、上記鍵配布センタの電子署名がなされている請求項１記載のデータ転送装置。
【請求項１３】
上記データを送信先機器に転送するとき、上記送信先機器の公開鍵により共有された秘密鍵によって上記データが暗号化される請求項１記載のデータ転送装置。
【請求項１４】
上記送信先機器は、アプリケーションプログラムが実装された機器であり、最新の参照情報のリストが上記アプリケーションプログラムが実装された領域以外の記録領域に記録されている請求項３記載のデータ転送装置。
【請求項１５】
上記アプリケーションプログラムが実装された領域以外の記録領域は、デバイスドライバが記録された領域である請求項１４記載のデータ転送装置。
【請求項１６】
上記アプリケーションプログラムが実装された領域以外の記録領域は、オペレーティングシステムのファイル領域である請求項１４記載のデータ転送装置。
【請求項１７】
上記最新の参照情報のリストのファイル名とこのファイルが格納されるディレクトリ名とそのパス名は、直接又は間接的に上記アプリケーションプログラムにより管理されている請求項１６記載のデータ転送装置。
【請求項１８】
送信先機器の有効性を判断し、この送信先機器の認証を取ることができたとき、データを上記送信先機器に転送するデータ転送方法において、
鍵配布センタが発行する少なくとも上記送信先機器の公開鍵のバージョン情報を保持し、
上記送信先機器の有効性を判断するとき、この送信先機器より該送信先機器が保有する公開鍵とこの公開鍵のバーション情報とを含む参照情報が入力されるデータ転送方法。
【請求項１９】
更に、上記保有している公開鍵のバージョン情報と上記送信先機器から入力される参照情報のバージョン情報とを比較し、より新しいバージョン情報を最新バージョン情報として保持する請求項１８記載のデータ転送方法。
【請求項２０】
更に、上記保有している公開鍵のバージョン情報と上記送信先機器から入力される参照情報のバージョン情報とを比較し、上記送信先機器から入力される参照情報のバージョン情報が上記保有している公開鍵のバージョン情報より古いとき、データ転送を禁止する請求項１９記載のデータ転送方法。
【請求項２１】
上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報は、配布される記録媒体を介して入力される請求項１８記載のデータ転送方法。
【請求項２２】
上記記録媒体には、上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報がファイルシステムの領域を除く領域に記録されている請求項２１記載のデータ転送方法。
【請求項２３】
上記記録媒体は、光ディスク、光磁気ディスク、ハードディスクの何れかである請求項２１記載のデータ転送方法。
【請求項２４】
上記記録媒体は、半導体メモリを用いるＩＣカードである請求項２１記載のデータ転送方法。
【請求項２５】
上記記録媒体は、再生専用の記録媒体である請求項２１記載のデータ転送方法。
【請求項２６】
上記記録媒体は、少なくとも一部が記録可能な領域であり、この領域に上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報が記録されている請求項２１記載のデータ転送方法。
【請求項２７】
上記鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報は、ネットワークを介して入力される請求項１８記載のデータ転送方法。
【請求項２８】
上記鍵配布センタが発行する少なくとも上記送信先機器の公開鍵のバージョン情報は、上記鍵配布センタの電子署名がなされている請求項１８記載のデータ転送方法。
【請求項２９】
上記送信先機器に配布される参照情報は、上記鍵配布センタの電子署名がなされている請求項１８記載のデータ転送方法。
【請求項３０】
上記データを送信先機器に転送するとき、上記送信先機器の公開鍵により共有された秘密鍵によって上記データが暗号化される請求項１８記載のデータ転送方法。
【請求項３１】
上記送信先機器は、アプリケーションプログラムが実装された機器であり、最新の参照情報のリストが上記アプリケーションプログラムが実装された領域以外の記録領域に記録されている請求項２０記載のデータ転送方法。
【請求項３２】
上記アプリケーションプログラムが実装された領域以外の記録領域は、デバイスドライバが記録された領域である請求項３１記載のデータ転送方法。
【請求項３３】
上記アプリケーションプログラムが実装された領域以外の記録領域は、オペレーティングシステムのファイル領域である請求項３１記載のデータ転送方法。
【請求項３４】
上記最新の参照情報のリストのファイル名とこのファイルが格納されるディレクトリ名とそのパス名は、直接又は間接的に上記アプリケーションプログラムにより管理されている請求項３３記載のデータ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データの送信先の機器の有効性を判断するデータ転送装置及びデータ転送方法に関する。
【０００２】
【従来の技術】
パーソナルコンピュータ（以下、単にＰＣという。）は、ハードディスクドライブ（以下、単にＨＤＤという。）を有すると共に、光ディスク等外部記録媒体に記録されたデータを読み出すための外部記録媒体用ドライブが備えられている。ＰＣは、光ディスクに記録されたオーディオデータ等のコンテンツデータを外部記録装置用ドライブで読み出しＨＤＤに複写することができる。ＨＤＤに記録されているコンテンツデータは、例えばＨＤＤにインストールされたコンテンツデータの再生用のアプリケーションプログラムによって再生される。
【０００３】
ところで、アプリケーションプログラム等のコンピュータプログラムは、不具合を解消するためや新たな機能を追加するために更新されるものである。例えば、この更新によって、コンテンツデータの著作権管理等の機能が追加されたり、既に備えられている著作権管理機能に対して新たな著作権保護機能の追加が行われる。アプリケーションプログラム等のコンピュータプログラムには、現在の状態を特定するために識別情報としてバージョン情報が格納されている。
【０００４】
【発明が解決しようとする課題】
ところで、現在のところ、以上のような機能の更新は、コンピュータプログラム側で行われることが多く、コンピュータプログラムと外部記録媒体用ドライブとを用いて行うことは無かった。したがって、例えば外部記録媒体用ドライブで読み出されたコンテンツデータが不正にインストールされているコンピュータプログラムによって再生されることもあり、著作権者の利益が必ずしも確実に保護されているといえない。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的は、アプリケーションプログラム等のデータの転送先の機器とデータの転送元の機器を用いて、データを送信先の機器に転送する際に、送信先の機器の認証を取るデータ転送装置及びデータ転送方法を提供することにある。
【０００６】
【課題を解決するための手段】
本発明に係るデータ転送装置は、上述した課題を解決すべく、送信先機器の有効性を判断し、この送信先機器の認証を取ることができたとき、データを送信先機器に転送するデータ転送装置において、鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報を保持し、送信先機器の有効性を判断するとき、この送信先機器より該送信先機器が保有する公開鍵とこの公開鍵のバーション情報とを含む参照情報が入力される。このデータ転送装置は、保有している公開鍵のバージョン情報と送信先機器から入力される参照情報のバージョン情報とを比較し、より新しいバージョン情報を最新バージョン情報として保持する。そして、データ転送装置は、保有している公開鍵のバージョン情報と送信先機器から入力される参照情報のバージョン情報とを比較し、送信先機器から入力される参照情報のバージョン情報が保有している公開鍵のバージョン情報より古いとき、データ転送を禁止する。
【０００７】
また、本発明に係るデータ転送方法は、上述した課題を解決すべく、送信先機器の有効性を判断し、この送信先機器の認証を取ることができたとき、データを送信先機器に転送するデータ転送方法において、鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報を保持し、送信先機器の有効性を判断するとき、この送信先機器より該送信先機器が保有する公開鍵とこの公開鍵のバーション情報とを含む参照情報が入力される。このデータ転送方法は、保有している公開鍵のバージョン情報と送信先機器から入力される参照情報のバージョン情報とを比較し、より新しいバージョン情報を最新バージョン情報として保持する。そして、データ転送方法は、保有している公開鍵のバージョン情報と送信先機器から入力される参照情報のバージョン情報とを比較し、送信先機器から入力される参照情報のバージョン情報が保有している公開鍵のバージョン情報より古いとき、データ転送を禁止する。
【０００８】
【発明の実施の形態】
以下、本発明を適用したデータ転送システムを図面を参照して説明する。本発明を適用したデータ転送システム１は、通常のパーソナルコンピュータ（ＰＣ）等の情報処理装置に適用されるものであって、光ディスクのデータ記録再生装置を構成する光ディスクドライブと光ディスクに記録されているデータの再生処理等を行うアプリケーションプログラム（以下、再生プログラムという。）との間でデータ転送を行う際に、光ディスクドライブが公開鍵を用いて再生プログラムの有効性の確認を行う、すなわち認証を行うものである。このシステム１で用いる認証方法には、例えばＩＳＯ／ＩＥＣ９７９８（Ｉｎｆｏｒｍａｔｉｏｎ　ｔｅｃｈｎｏｌｏｇｙ−Ｓｅｃｕｒｉｔｙ　ｔｅｃｈｎｉｑｕｅｓ−Ｅｎｔｉｔｙａｕｔｈｅｎｔｉｃａｔｉｏｎ−Ｐａｒｔ３：Ｍｅｃｈａｎｉｓｍｓ　ｕｓｉｎｇ　ｄｉｇｉｔａｌ　ｓｉｇｎａｔｕｒｅ　ｔｅｃｈｎｉｑｕｅｓ）が用いられ、また、署名方法には、例えばＩＳＯ／ＩＥＣ９７９６（Ｉｎｆｏｒｍａｔｉｏｎ　ｔｅｃｈｎｏｌｏｇｙ−Ｓｅｃｕｒｉｔｙ　ｔｅｃｈｎｉｑｕｅｓ−ｄｉｇｉｔａｌ　ｓｉｇｎａｔｕｒｅ　ｓｃｈｅｍｅｓ　ｇｉｖｉｎｇ　ｍｅｓｓａｇｅ　ｒｅｃｏｖｅｒｙ−ｐａｒｔ２：Ｍｅｃｈａｎｉｓｍｓ　ｕｓｉｎｇ　ａ　ｈａｓｈ−ｆｕｎｃｔｉｏｎ）が用いられる。
【０００９】
このような方法を用いる認証は、主要部分は認証相手の署名済みのデータの認証相手の公開鍵の確認（ｖｅｒｉｆｉｃａｔｉｏｎ）による。この確認のためには、認証相手の公開鍵を入手する必要があり、公開鍵の正当性を確認するために、光ディスクドライブは、公開鍵の発行者である鍵配布センタＫＤＣの署名が施された公開鍵を取得する。
【００１０】
図１に示すように、本システム１では、公開鍵の発行者である鍵配布センタＫＤＣが発行した公開鍵等がＰＣ等の情報処理装置１０のアプリケーションプログラムと光ディスクドライブに格納される。具体的に、この情報処理装置１０は、全体の動作を制御するための制御プログラム等が記憶されたリード・オンリ・メモリ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ：以下、単にＲＯＭという。）１１と、各種コンピュータプログラムが保存されるハードディスクドライブ（Ｈａｒｄ　Ｄｉｓｋ　Ｄｒｉｖｅ：以下、単にＨＤＤという。）１２と、ＲＯＭ１１やＨＤＤ１２からコンピュータプログラムが一旦読み込まれるランダム・アクセス・メモリ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ：以下、単にＲＡＭという。）１３と、操作信号を入力するための入力部１４と、実行するコンピュータプログラムに応じた画像を表示する表示部１５と、外部記憶装置である光ディスクが装着されるディスクドライブ１６と、他の装置とデータ通信を行うための通信部１７と、全体の動作を制御する中央演算処理装置（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ：以下、ＣＰＵという。）１８とを備え、これらがバス１９を介して接続されている。
【００１１】
ＨＤＤ１２は、装置本体に内蔵された大容量ハードディスクを有し、ここには、オペレーティングシステム（以下、単にＯＳという。）、ハードディスク、光ディスクドライブ等ハードウェアを接続するときにＯＳ等との間を取りもつソフトウェア（以下、デバイスドライバという。）、アプリケーションプログラムである再生プログラム２０等が格納されている。また、ＨＤＤ１２では、データが格納されたファイルが階層構造でアプリケーションプログラムやＯＳによって管理されている。また、入力部１４は、キーボード、マウス、テンキー、トラックボール、ジョイスティック等からなり、上述したデバイスドライバによって駆動され、操作信号等の入力データを入力することができるようになっている。表示部１５は、ＣＲＴ（Ｃａｔｈｏｄｅ　Ｒａｙ　Ｔｕｂｅ）、ＬＣＤ（Ｌｉｑｕｉｄ　Ｃｒｙｓｔａｌ　Ｄｉｓｐｌａｙ）等からなる。
【００１２】
ディスクドライブ１６は、具体的にコンパクトディスク（Ｃｏｍｐａｃｔ　Ｄｉｓｃ：以下、単にＣＤという。）、ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｋ：以下、単にＤＶＤという。）等の光ディスク４が装着され、このような光ディスクを回転し、信号記録面に光ビームを照射し反射した光ビームを検出することによって、光ディスクに記録されているデータを読み出す。また、ディスクドライブ１６は、記録可能な追記型若しくは書換型の光ディスクが装着されているとき、この光ディスクの信号記録面に光ビームを照射することによって、例えばＨＤＤ１２に格納されているデータを記録することができる。
【００１３】
このディスクドライブ１６は、自分のバージョン等を格納しておくためのメモリ１６ａと、メモリ１６ａの書込／読出制御やディスクドライブ１６全体の動作を制御する制御部１６ｂとを有している。ディスクドライブ１６は、バス１９に、ＳＣＩＩ（Ｓｍａｌｌ　Ｃｏｍｐｕｔｅｒ　Ｓｙｓｔｅｍ　Ｉｎｔｅｒｆａｃｅ）バス等によって接続されている。なお、外部記録媒体としては、その他に光磁気ディスク、ハードディスク、ＩＣカード等のリムーバル記録媒体を用いることができる。通信部１７は、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）、ＦＴＰ（Ｆｉｌｅ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）等の伝送プロトコルに従って、ＬＡＮ（ＬｏｃａｌＡｒｅａ　Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ　Ａｒｅａ　Ｎｅｔｗｒｏｋ）等のネットワーク３を介して例えば鍵配布センタ２のサーバ装置と通信を行う。ＣＰＵ１８は、例えば入力部１４から入力された操作信号に応じて、例えばＨＤＤ１２に格納されている再生プログラム２０をＲＡＭ１３にロードし起動する。
【００１４】
ところで、鍵配布センタ２は、本システム１を管理する機関であり、公開鍵の発行者となる。鍵配布センタ２は、自分自身の公開鍵ＰＫＫＤＣと私有鍵ＳＫＫＤＣのセットを生成すると共に、管理する機器、すなわちディスクドライブ１６や再生プログラム２０の公開鍵ＰＫＸＸＸと私有鍵ＳＫＸＸＸを生成する。
【００１５】
鍵配布センタ２は、再生プログラム２０の製造時に該再生プログラム２０の参照情報６を生成し各再生プログラム２０に発行する。再生プログラム２０の参照情報６は、鍵配布センタ２の公開鍵ＰＫＫＤＣと、再生プログラム２０の公開鍵ＰＫＡｐｐと、該再生プログラム２０の私有鍵ＳＫＡｐｐと、公開鍵ＰＫＡｐｐの証明書とを含んでいる。この参照情報６は、再生プログラム２０と共に例えばＨＤＤ１２に格納される。
【００１６】
鍵配布センタ２は、各再生プログラム２０に対して、再生プログラム２０の公開鍵の証明書リスト（ＣＡＬ：Ｃｅｒｔｉｆｉｅｄ　Ａｐｐｌｉｃａｔｉｏｎ　Ｌｉｓｔ）８を配布する。例えば、鍵配布センタ２は、再生専用型光ディスク、追記型光ディスク、書換型光ディスク等の光ディスク４に再生プログラム２０の公開鍵の証明書リスト８を記録して配布する。ここで、再生プログラム２０の公開鍵の証明書リスト８を記録する記録媒体としては、この他に、光磁気ディスク、磁気ディスク、これらディスクを記録媒体に用いるディスクカートリッジ、半導体メモリを記録媒体に用いるＩＣカード等のリムーバル記録媒体を用いることができる。再生プログラム２０の公開鍵の証明書リスト８の配布の方法としては、リムーバル記録媒体を用いる他に、ネットワーク３を介して配布することもできる。
【００１７】
鍵配布センタ２は、ディスクドライブ１６の製造時に、ディスクドライブ１６の参照情報７を生成し各ディスクドライブ１６に対して発行する。ディスクドライブ１６の公開鍵データ７は、鍵配布センタ２の公開鍵ＰＫＫＤＣと、該ディスクドライブ１６の公開鍵ＰＫＤｒｖと、該ディスクドライブ１６の私有鍵ＳＫＤｒｖと、証明書のバージョンの初期値ＣＡＬｖｅｒ＿ｉｎｉｔとを含んでいる。参照情報７は、ディスクドライブ１６が有するメモリ１６ａに保存される。
【００１８】
鍵配布センタ２は、各ディスクドライブ１６に対して、再生プログラム２０の公開鍵のバージョン番号情報９を配布する。この公開鍵のバージョン番号情報９についても、鍵配布センタ２は、証明書リスト８と同様に、リムーバル記録媒体又はネットワーク３を介して配布する。このバージョン番号情報９もディスクドライブ１６が有するメモリ１６ａに保存される。
【００１９】
ここで、再生プログラム２０の参照情報６に含まれる公開鍵ＰＫＡｐｐの証明書６ａについて図２を用いて説明する。この鍵配布センタ２が発行する証明書６ａは、証明書識別子６ｂと証明書番号６ｃとバージョン番号６ｄと公開鍵６ｅとを含んでいる。
【００２０】
証明書識別子６ｂは、鍵配布センタ２の私有鍵ＳＫＫＤＣで署名されているバージョン番号情報９を識別するためのものであり、例えば「１」が入力されている。すなわち、詳細は後述する再生プログラム２０の公開鍵のバージョン番号情報９の全体が私有鍵ＳＫＫＤＣで署名されており、この証明書識別子６ｂは、バージョン番号情報９を区別するために用いられる。証明書識別子６ｂはフィールドサイズが２バイトとされている。
【００２１】
証明書番号６ｃは、公開鍵ＰＫＡｐｐの証明書６ａを一義的に特定するための番号であり、例えば「１」から順に付与されている。証明書番号６ｃのフィールドサイズは、例えば２バイトとされている。
【００２２】
バージョン番号６ｄは、証明書６ａが新たに発行される度に付与されるものであり、発行される度に１ずつ増加する。このバージョン番号６ｄのフィールドサイズは、例えば２バイトとされている。
【００２３】
公開鍵６ｅは、鍵配布センタ２の公開鍵ＰＫＡｐｐであり、例えば１２８バイトの公開鍵のモジュロのみが必要で、公開鍵が決まっている（例えば３）とき、フィールドサイズは、１２８バイトとされる。
【００２４】
以上のような証明書６ａは、全体が１３４バイトで構成されており、全体が鍵配布センタ２の私有鍵ＳＫＫＤＣで署名されている。したがって、署名後の証明書６ａのフィールドサイズは、署名方法によって異なる。
【００２５】
次に、上述した再生プログラム２０の公開鍵ＰＫＡｐｐの証明書リスト８について、図３を用いて説明する。この証明書リスト８は、証明書個数８ａとバージョン番号８ｂと図２に示した証明書（１）〜（３）６ａとを含んでいる。
【００２６】
証明書個数８ａは、このリスト８が上記図２に示す証明書６ａを幾つ含んでいるかを示すものであり、図３に示す例では「３」となっている。この証明書個数８ａのフィールドサイズは、例えば２バイトである。
【００２７】
バージョン番号８ｂは、この証明書リスト８のバーション番号であって、この証明書リスト８が新たに発行される度に１ずつ増加する。このバージョン番号８ｂのフィールドサイズは、例えば２バイトとされている。
【００２８】
証明書（１）〜（３）は、図２に示す証明書６ａであり、鍵配布センタ２の私有鍵ＳＫＫＤＣで署名したものである。このリスト８に収納される証明書６ａの数は図３に示すように限定されるものではない。リスト８に収納される証明書６ａのバージョン番号６ｄは、証明書リスト８のバージョン番号８ｂと同じ値となっている。すなわち、証明書リスト８は、同じバージョンの証明書６ａを一又は複数収容することができるようになっている。
【００２９】
以上のような証明書リスト８は、全体が鍵配布センタ２の私有鍵ＳＫＫＤＣで署名されている。ここでの署名には、少なくとも証明書リスト８が改竄されていないことを証明できる（Ｉｎｔｅｇｒｉｔｙ　Ｃｈｅｃｋ）方式のものが用いられる。
【００３０】
次に、再生プログラム２０の公開鍵のバージョン番号情報９について、図４を用いて説明する。このバージョン番号情報９は、証明書識別子９ａとバージョン番号９ｂとを含んでいる。
【００３１】
証明書識別子９ａは、バージョン番号情報を図２に示す証明書６ａと区別するために用いられる。証明書識別子９ａは、バージョンを入れるフィールドサイズが２バイトとされ、例えば「２」が入力される。
【００３２】
バージョン番号９ｂは、証明書６ａのバージョン番号６ｄを抜き出したものであり、したがって、フィールドサイズは、バージョン番号６ｄと同じサイズであり、２バイトである。
【００３３】
以上のようなバージョン番号情報９は、全体が４バイトで構成されている。このバージョン番号情報９は、全体が鍵配布センタ２の私有鍵ＳＫＫＤＣで署名されていることから、署名後の全体のフィールドサイズは、署名の方法によって異なる。
【００３４】
なお、図２に示す証明書６ａ、図３に示す証明書リスト８及び図４に示すバージョン番号情報９のうち、２バイトで構成される各項目は、以上の例に限定されるものではない。例えば、証明書リスト８の証明書個数８ａは、２バイトであるから６５，５３５個までしか証明書６ａを収容することができないが、これを超えて証明書６ａを収容する必要があるときには、証明書個数８ａのフィールドサイズを拡張してもよい。図２乃至図４で示すバージョン番号６ｄ，８ｂ，９ｂは、新たに発行される度に１ずつ加算する他に、１ずつ減算するようにしてもよく、更に他の方法であってもよい。
【００３５】
以上のように、図３に示す再生プログラム２０の公開鍵の証明書リスト８は、全体が鍵配布センタ２の私有鍵ＳＫＫＤＣで署名され、図４に示す再生プログラム２０の公開鍵のバージョン番号情報９は、全体が鍵配布センタ２の私有鍵ＳＫＫＤＣで署名されるものであり、図２に示す再生プログラム２０の参照情報６に含まれる公開鍵の証明書６ａは、全体が鍵配布センタ２の私有鍵ＳＫＫＤＣで署名されているものであるから、これらは、鍵配布センタ２のみが発行することが可能なものとされている。
【００３６】
鍵配布センタ２は、特定のバージョンの再生プログラム２０を除外したいとき、図３に示す証明書リスト８に含まれる１又は複数の証明書６ａの中から除外する再生プログラム２０の証明書６ａを削除する。このとき、証明書リスト８に含まれる他の証明書のバージョン番号及び証明書リスト８のバージョン番号８ｂは、新しいバージョン番号６ｄになるように更新する。鍵配布センタ２は、更新された証明書リスト８の全体を私有鍵ＳＫＫＤＣで署名した証明書リスト８を発行し、ユーザに対して配布する。
【００３７】
このように更新された新しい証明書リスト８は、ネットワーク３を介して通信部１７より情報処理装置１０に入力され、また、光ディスク４を介してディスクドライブ１６より情報処理装置１０に入力される。情報処理装置１０にインストールされている再生プログラム２０は、新しい証明書リスト８が入力されると、参照情報６に含まれている鍵配布センタ２の公開鍵ＰＫＫＤＣを用いて、証明書リスト８の署名を確認する。すなわち、再生プログラム２０は、新しい証明書リスト８が改竄されているかどうかを調べ、この証明書リスト８の有効性を確認する。
【００３８】
次に、ディスクドライブ１６に装着された光ディスク４に記録されているコンテンツデータを再生プログラム２０を用いて読み出すときの動作を図５及び図６を参照して説明する。
【００３９】
先ず、再生プログラム２０は、図５に示すように、ディスクドライブ１６に対して、再生プログラム２０の公開鍵ＰＫＡｐｐとそのバージョン番号６ｄに鍵配布センタ２の私有鍵ＳＫＫＤＣで署名した証明書（Ｓｉｇ（ＳＫＫＤＣ，（ＰＫＡｐｐ，ＣＡＬｖｅｒ）））２１をＨＤＤ１２より読み出し、ディスクドライブ１６に提示する。
【００４０】
図６に示すフローチャートのステップＳ１において、ディスクドライブ１６の制御部１６ｂは、再生プログラム２０から提示された証明書２１を受け取ると、ステップＳ２に進み、ステップＳ２において、メモリ１６ａに保存している参照情報７に含まれる公開鍵ＰＫＫＤＣで署名を確認（ｖｅｒｉｆｙ）する。ステップＳ２において、署名の確認が得られたときにはステップＳ３に進み、確認が得られないときにはステップＳ７に進む。
【００４１】
ステップＳ３において、ディスクドライブ１６の制御部１６ｂは、ディスクドライブ１６の現在のバージョンとなるバージョン番号情報（ＶｅｒＮＯ）９をメモリ１６ａより読み出し、再生プログラム２０より提示された証明書２１に含まれるバージョン番号（ＣＡＬＶｅｒ）６ｄと比較し、ディスクドライブ１６のバージョンが再生プログラム２０の証明書６ａのバージョンと同じか若しくは古いかを判断する。具体的に、バージョン情報の数が大きいほど新しいバージョンを示すとき、制御部１６ｂは、メモリ１６ａより読み出したバージョン番号情報９のバージョン番号９ｂが再生プログラム２０より提示されたバージョン番号６ｄ以下であるかを判断する。制御部１６ｂは、メモリ１６ａより読み出したバージョン番号情報９のバージョン番号９ｂが再生プログラム２０より提示されたバージョン番号６ｄ以下であるとき、ステップＳ４に進み、メモリ１６ａより読み出したバージョン番号情報９のバージョン番号９ｂが再生プログラム２０より提示されたバージョン番号６ｄ以下でないとき、ステップＳ７に進む。
【００４２】
ステップＳ４において、制御部１６ｂは、メモリ１６ａより読み出したバージョン番号情報９に含まれるバージョン番号９ｂと再生プログラム２０より提示された証明書６ａのバージョン番号６ｄとが同じであるか否かを判断し、同じであるときにはステップＳ５に進み、異なるときにはステップＳ６に進む。
【００４３】
ステップＳ５において、制御部１６ｂは、証明書２１に含まれる再生プログラム２０の公開鍵ＰＫＡｐｐを用いてデータを読み出すための次の処理を行う。
【００４４】
メモリ１６ａより読み出したバージョン番号情報９に含まれるバージョン番号９ｂが再生プログラム２０より提示されたバージョン番号６ｄより小さい、すなわち再生プログラム２０のバージョンがディスクドライブ１６のバージョンより新しかったとき、制御部１６ｂは、ステップＳ６において、メモリ１６ａに格納されているバージョン番号情報９に含まれるバージョン番号９ｂを再生プログラム２０のバージョン番号６ｄに置き換える。
【００４５】
ステップＳ７において、制御部１６ｂは、処理を停止する。すなわち、制御部１６ｂは、ステップＳ２で再生プログラム２０から提示された証明書２１の署名を確認することができなかったときやステップＳ４で再生プログラム２０のバージョンが自分のバージョンより古かったとき、光ディスク２のデータの読み出しを行わないようにする。
【００４６】
以上のように、ディスクドライブ１６は、光ディスク４の再生時に再生プログラム２０のバージョンの方が新しかったとき、再生プログラム２０のバージョンに置き換えるようにすることで、常に最新のバージョン番号を取得でき、逆に、再生プログラム２０のバージョンが自分のバージョンより古いとき、再生を禁止するようにしている。
【００４７】
次に、図６に示すフローチャートにおけるステップＳ５でディスクドライブ１６の制御部１６ｂが行う証明書２１に含まれる再生プログラム２０の公開鍵ＰＫＡｐｐを用いたデータの読み出し処理について図５を参照して説明する。
【００４８】
先ず、ディスクドライブ１６の制御部１６ｂは、独立した乱数発生器で発生した乱数を用いてセッションキー（Ｓｅｓｓｉｏｎ＿ｋｅｙ）２２を生成する。制御部１６ｂは、光ディスク２より読み出したコンテンツデータ（Ｄａｔａ）２４をセッションキー２２を用いて暗号化する。
【００４９】
制御部１６ｂは、コンテンツデータ２４の暗号化に用いたセッションキー（Ｓｅｓｓｉｏｎ＿ｋｅｙ）２２を、再生プログラム２０より取得した公開鍵ＰＫＡｐｐを用いて暗号化し、暗号化セッションキー（Ｅ（ＰＫＡｐｐ，Ｓｅｓｓｉｏｎ＿ｋｅｙ））２３をバス１９を介して再生プログラム２０に出力し、次いで、セッションキー２２で暗号化された暗号化コンテンツデータ（Ｅ（Ｓｅｓｓｉｏｎ＿ｋｅｙ，Ｄａｔａ））２５を再生プログラム２０にバス１９を介して出力する。公開鍵ＰＫＡｐｐでセッションキー２２を暗号化した暗号化セッションキー２３は、再生プログラム２０が所有する参照情報６に含まれる私有鍵ＳＫＡｐｐでのみ復号可能であり、したがって、制御部１６ｂは、暗号化セッションキー２３及び暗号化コンテンツデータ２５を安全にバス１９を介して再生プログラム２０に出力することができる。
【００５０】
再生プログラム２０は、ディスクドライブ１６より暗号化セッションキー２３及び暗号化コンテンツデータ２５が入力されると、参照情報６に含まれる私有鍵ＳＫＡｐｐを用いて暗号化セッションキー２３の暗号を復号し、復号したセッションキー２２を用いて暗号化コンテンツデータ２５の暗号を復号する。再生プログラム２０は、平文化されたコンテンツデータ２４をスピーカ、イヤホン、ヘッドフォン等より再生音響として出力する。これと共に、再生プログラム２０は、表示部１５に再生するコンテンツデータに対応した情報、アーティスト名、アルバム名、曲名等を表示する。
【００５１】
ところで、図６に示す例において、ディスクドライブ１６は、メモリ１６ａに格納しているバージョン番号情報９が最新のものでないと、古いバージョンの再生プログラム２０でも自分のバージョンより新しいものと判断してしまう、すなわち図６のステップ３で（ＹＥＳ）と判断してしまい、コンテンツデータを再生してしまう。換言すると、ディスクドライブ１６のバージョンより大きいバージョンの再生プログラム２０であれば、たとえ古いバージョンの再生プログラム２０であってもコンテンツデータを再生することができてしまう。そこで、ディスクドライブ１６のバージョン番号情報９は、常に新しいものとし、古いバージョンの再生プログラム２０を用いてのコンテンツデータを再生できないようにする必要がある。
【００５２】
このデータ伝送システム１では、鍵配布センタ２が再生プログラム２０の公開鍵のバージョン番号情報９を配布し、ディスクドライブ１６のバージョンを常に最新に保つようにしている。バージョン番号情報９の配布は、ＷＡＮ、ＬＡＮ等のネットワーク３を介して又は外部記憶媒体である光ディスク４を用いて行われる。
【００５３】
ネットワーク３を介してバージョン番号情報９が配布されるとき、鍵配布センタ２は、自分が管理するサーバ装置より例えば登録ユーザが所有する情報処理装置１０のアドレスに対してバージョン番号情報９を送信する。受信側の情報処理装置１０は、通信部１７で鍵配布センタ２のサーバ装置より送信されたバージョン番号情報９を受信し、ディスクドライブ１６に保存する。
【００５４】
光ディスク４を用いてバージョン番号情報９が配布されるとき、鍵配布センタ２は、光ディスク４を収納ケースに収納したパッケージメディアとして配布する。この光ディスク４に記録されるバージョン番号情報９は、専らディスクドライブ１６用として用いられるものであり、ＯＳのファイルシステムや再生プログラム２０によってコントロールできない領域に記録されていてもよい。そこで、例えば、このバージョン番号情報９は、光ディスク４の非信号記録領域であるリードイン領域、リードアウト領域、その他の領域に記録するようにしてもよい。これとは逆に、バージョン番号情報９は、光ディスク４のＯＳのファイルシステムによってコントロール可能なリードイン領域とリードアウト領域の間の所定領域に記録するようにしてもよい。
【００５５】
以上、ディスクドライブ１６に用いるバージョン番号情報９を光ディスク４で配布する例を説明したが、本例では、光ディスク４にバージョン番号情報９の他に、再生プログラム２０に用いる証明書リスト８を記録して、これらの情報が記録された光ディスク４を配布するようにしてもよい。
【００５６】
すなわち、図７に示すように、鍵配布センタ２は、光ディスク４にバージョン番号情報９と証明書リスト８を記録し、これらの情報が記録された光ディスク４を配布する。このとき、鍵配布センタ２は、配布する光ディスク４に対して、バージョン番号情報９に対して私有鍵ＳＫＫＤＣで署名でしたものを記録すると共に、全体が私有鍵ＳＫＫＤＣで署名された証明書リスト８を記録する。
【００５７】
例えば、バージョン番号情報９は、専らディスクドライブ１６用として用いられるものであるから、再生プログラム２０、ＯＳにコントロールされないリードイン領域、リードアウト領域等の非信号記録領域に記録され、証明書リスト８は、再生プログラム２０に管理されるものであるから、再生プログラム２０によって管理可能なリードイン領域とリードアウト領域の間の信号記録領域に記録される。
【００５８】
このように証明書リスト８とバージョン番号情報９とが記録された光ディスク４は、上述したように収納ケースに収納されパッケージメディアとして配布される。この光ディスク４を取得したユーザは、この光ディスク４をディスクドライブ１６を備え、再生プログラム２０がインストールされた情報処理装置１０のディスクドライブ１６に装着する。光ディスク４は、ディスクドライブ１６のディスク回転駆動機構を構成するディスクテーブルに装着されると、スピンドルモータによって例えば線速度が一定となるように回転されると共に、光源から光ビームを出射する光ピックアップ装置によって信号記録領域が走査される。ディスクドライブ１６は、光ピックアップ装置から出射され光ディスク４に照射され、この光ディスクから反射される光ビームの戻り光を検出することによって、光ディスク４に記録されているバージョン番号情報９や証明書リスト８の読み出しを行う。
【００５９】
ここで、ディスクドライブ１６の制御部１６ｂは、光ディスク４よりバージョン番号情報９に含まれるバージョン番号９ｂを読み出すと、メモリ１６ａに保持しているバージョン番号情報９のバージョン番号９ｂとを比較し、何れのバージョン番号９ｂが新しいものかを判断する。制御部１６ｂは、ディスクドライブ１６が光ディスク４より読み出したバージョン番号情報９のバージョン番号９ｂがメモリ１６ａに保持しているバージョン番号情報９のバージョン番号９ｂより新しいとき、メモリ１６ａに保持されているバージョン番号情報９をこの光ディスク４より読み出した新しいバージョン番号９ｂを有するバージョン番号情報９に置き換える。制御部１６ｂは、メモリ１６ａが保持しているバージョン番号情報９のバージョン番号９ｂが光ディスク４に記録されたバージョン番号情報９のバージョン番号９ｂより新しいとき、光ディスク４より読み出したバージョン番号情報９を採用することなく、そのままメモリ１６ａが保持しているバージョン番号情報９を保持し続ける。これによって、ディスクドライブ１６は、光ディスク４より最新のバージョン番号９ｂを有するバージョン番号情報９を取得することができる。
【００６０】
ディスクドライブ１６が光ディスク４より証明書リスト８を読み出すと、制御部１６ｂは、この証明書リスト８を再生プログラム２０に出力する。ここで、再生プログラム２０は、証明書リスト８がディスクドライブ１６より入力されると、この証明書リスト８をＨＤＤ１２に格納する。すなわち、再生プログラム２０は、参照情報６に含まれている鍵配布センタ２の公開鍵ＰＫＫＤＣを用いて、証明書リスト８の署名を確認し、新しい証明書リスト８が改竄されているかどうかを調べ、この証明書リスト８の有効性を確認する。
【００６１】
証明書リスト８の有効性が確認されると、証明書リスト８の中から再生プログラム２０に対応する証明書６ａを取り出す。
【００６２】
例えば光ディスク４に記録されているコンテンツデータを再生するときには、この後、上述した図５に示す処理が行われることになる。以上のように、データサイズの比較的大きい証明書リスト８は、データサイズの大きいＨＤＤ１２に格納するようにし、データサイズの小さいバージョン番号情報９は、メモリ１６ａに保存するようにしている。すなわち、ディスクドライブ１６は、参照情報７の他に、データサイズの小さいバージョン番号情報９のみを格納しておくだけでよく、メモリ１６ａには、記憶容量の小さい小型で安価なメモリ素子を使用することができる。
【００６３】
ところで、以上のように光ディスク４より証明書リスト８とバージョン番号情報９を取得するとき、再生プログラム２０は、光ディスク４には同じバージョンの証明書リスト８とバージョン番号情報９が記録されていることから、ディスクドライブ１６が保持しているバージョン番号９ｂより古いバージョン番号９ｂの光ディスク４から、この古いバージョン番号９ｂより新しい証明書リスト８等を取得することはできない。
【００６４】
これを図８（Ａ）及び図８（Ｂ）を参照して説明する。図８（Ａ）は、光ディスク４に記録されている証明書リスト８のバージョン番号８ｂ及びバージョン番号情報９のバージョン番号９ｂが「３」で、ディスクドライブ１６のメモリ１６ａに保持されているバージョン番号情報９のバージョン番号９ｂ及び再生プログラム２０の証明書リスト８のバージョン番号８ｂが「２」のときを示している。
【００６５】
光ディスク４がディスクドライブ１６に装着され、光ディスク４に記録された証明書リスト８及びバージョン番号情報９が読み出されると、ディスクドライブ１６の制御部１６ｂは、メモリ１６ａに保持しているバージョン番号９ｂと光ディスク４より読み出したバージョン番号情報９のバージョン番号９ｂとを比較する。この場合、制御部１６ｂは、光ディスク４より読み出したバージョン番号情報９のバージョン番号９ｂが「３」であり、メモリ１６ａに保持されているバージョン番号情報９のバージョン番号９ｂが「２」であるから、光ディスク４のバージョンの方が新しいと判断する。したがって、制御部１６ｂは、メモリ１６ａに保持されているバージョン番号情報９を、「２」から「３」に置き換え、これをメモリ１６ｂに格納する。
【００６６】
また、再生プログラム２０は、既にＨＤＤ１２に格納されている証明書リスト８のバージョン番号８ｂと光ディスク４より読み出したバージョン番号８ｂとを比較し、何れのバージョン番号が新しいかを判断する。この場合、再生プログラム２０は、既にＨＤＤ１２に格納されている証明書リスト８のバージョン番号８ｂが「２」であり、光ディスク４より読み出したバージョン番号８ｂが「３」であるから、光ディスク４のバージョンの方が新しいと判断する。したがって、再生プログラム２０は、バージョン番号８ｂを「２」から「３」に置き換えるため、証明書リスト８の全体を置き換える。この後、セッションキー等の授受を行い、ディスクドライブ１６は、読み出したコンテンツデータ等を再生プログラム２０に転送し、例えばコンテンツデータの再生をする。
【００６７】
図８（Ａ）の状態の後、再生プログラム２０の再インストール等を行うと、図（Ｂ）のような状態が発生してしまう。図８（Ｂ）は、光ディスク４に記録されている証明書リスト８のバージョン番号８ｂ及びバージョン番号情報９のバージョン番号９ｂが「２」で、ディスクドライブ１６のメモリ１６ａに保持されているバージョン番号情報９のバージョン番号９ｂが「３」で、再生プログラム２０の証明書リスト８のバージョン番号８ｂが「２」のときを示している。
【００６８】
このとき、ディスクドライブ１６の制御部１６ｂは、光ディスク４より読み出したバージョン番号情報９のバージョン番号９ｂが「２」であり、メモリ１６ａに保持されているバージョン番号情報９のバージョン番号９ｂが「３」であるから、メモリ１６ａのバージョンの方が新しいと判断する。したがって、制御部１６ｂは、メモリ１６ａに保持されているバージョン番号情報９をそのまま保持する。
【００６９】
再生プログラム２０は、既にＨＤＤ１２に格納されている証明書リスト８のバージョン番号８ｂが「２」であり、光ディスク４より読み出したバージョン番号８ｂが「２」であり、互いのバージョンが同じであるから、ＨＤＤ１２に格納されている証明書リスト８をそのまま維持する。
【００７０】
この場合、上述した図６に示した処理を開始しようとすると、ディスクドライブ１６の制御部１６ｂは、自分のバージョンが「３」であり、再生プログラム２０のバージョンが「２」であるから、上記ステップＳ３で（ＮＯ）と判断してしまい、ステップＳ７において、処理を停止する、すなわち、光ディスク２のデータの読み出しを行わないようにしてしまう。したがって、ディスクドライブ１６と再生プログラム２０との間では、セッションキー等の授受が行われなくなってしまう。
【００７１】
そこで、図９（Ａ）及び図９（Ｂ）に示すように、光ディスク４から読み出した証明書リスト８は、再生プログラム２０によってコントロール可能なＨＤＤ１２の領域に格納するようにしてもよい。具体的に、証明書リスト８は、ＨＤＤ１２のディスクドライブ１６等のデバイスドライバ内やＯＳのファイルシステム内に格納される。ファイルシステムを用いるときには、例えば階層化ディレクトリ構造におけるドライブの最上位のディレクトリとなるルートディレクトリ内に設けられたサブディレクトリに証明書リスト８をファイルとして格納することができる。
【００７２】
この場合、再生プログラム２０は、予め指定されている証明書リスト８のファイルの格納先であるパス名を直接又は間接的に管理しており、再インストールされたときにも、証明書リスト８のファイルにアクセスすことができるようになっている。勿論、証明書リスト８のファイルの保存先を示すパス名は、ユーザが指定できるようになっていてもよい。また、この証明書リスト８のファイルは、ディスクドライブ１６のメモリ１６ａに保存するようにしてもよい。
【００７３】
これを、図９（Ａ）及び図９（Ｂ）を用いて説明する。図９（Ａ）は、上記図８（Ａ）に対応するものであり、光ディスク４に記録されている証明書リスト８のバージョン番号８ｂ及びバージョン番号情報９のバージョン番号９ｂが「３」で、ディスクドライブ１６のメモリ１６ａに保持されているバージョン番号情報９のバージョン番号９ｂ及び再生プログラム２０の証明書リスト８のバージョン番号８ｂが「２」のときを示している。そして、再生プログラム２０は、ＨＤＤ１２のルートディレクトリに証明書リスト８を格納している。
【００７４】
この場合、ディスクドライブ１６の制御部１６ｂは、光ディスク４より読み出したバージョン番号情報９のバージョン番号９ｂが「３」であり、メモリ１６ａに保持されているバージョン番号情報９のバージョン番号９ｂが「２」であるから、光ディスク４のバージョンの方が新しいと判断する。したがって、制御部１６ｂは、メモリ１６ａに保持されているバージョン番号情報９を、「２」から「３」に置き換え、これをメモリ１６ｂに格納する。
【００７５】
再生プログラム２０は、自らが所有するバス名を参照して証明書リスト８にアクセスし、既にＨＤＤ１２に格納されている証明書リスト８のバージョン番号８ｂを取得する。そして、再生プログラム２０は、既にＨＤＤ１２に格納されている証明書リスト８のバージョン番号８ｂが「２」であり、光ディスク４より読み出したバージョン番号８ｂが「３」であるから、光ディスク４の証明書リスト８のバージョンの方が新しいと判断する。再生プログラム２０は、所定のルートディレクトリのサブディレクトリに格納されている証明書リスト８に置き換える。この後、セッションキー等のやり取りを行って、ディスクドライブ１６は、読み出したコンテンツデータ等を再生プログラム２０に転送し、例えばコンテンツデータの再生をする。
【００７６】
図９（Ａ）の状態の後、ＨＤＤ１２に格納されている再生プログラム２０が削除され再インストール等が行われたとする。再生プログラム２０が削除、再インストールされたときにも、証明書リスト８を格納するルートディレクトリは削除されない。したがって、再生プログラム２０は、再インストールの前より再インストール後の方が証明書リスト８のバージョンが下がることが無くなる。これを、図９（Ｂ）を参照して説明すると、この図９（Ｂ）は、上記図８（Ｂ）に対応するものであり、光ディスク４に記録されている証明書リスト８のバージョン番号８ｂ及びバージョン番号情報９のバージョン番号９ｂが「２」で、ディスクドライブ１６のメモリ１６ａに保持されているバージョン番号情報９のバージョン番号９ｂが「３」で、再生プログラム２０の証明書リスト８のバージョン番号８ｂが「３」のときを示している。すなわち、再生プログラム２０の証明書リスト８のバージョン番号８ｂは、上記図９（Ａ）の動作で、「２」から「３」になっている。
【００７７】
この場合、ディスクドライブ１６の制御部１６ｂは、光ディスク４より読み出したバージョン番号情報９のバージョン番号９ｂが「２」であり、メモリ１６ａに保持されているバージョン番号情報９のバージョン番号９ｂが「３」であるから、メモリ１６ａのバージョンの方が新しいと判断する。したがって、制御部１６ｂは、メモリ１６ａに保持されているバージョン番号情報９をそのまま保持する。
【００７８】
再生プログラム２０は、自らが所有するバス名を参照して証明書リスト８にアクセスし、既にＨＤＤ１２に格納されている証明書リスト８のバージョン番号８ｂを取得する。再生プログラム２０は、既にＨＤＤ１２に格納されている証明書リスト８のバージョン番号８ｂが「３」であり、光ディスク４より読み出した証明書リスト８のバージョン番号８ｂが「２」であり、バージョンが古いから、ＨＤＤ１２に格納されている証明書リスト８をそのまま、すなわち「３」のまま維持する。
【００７９】
したがって、ディスクドライブ１６は、図６に示す処理を行うとき、ステップＳ３及びステップＳ４において、メモリ１６ａに格納しているバージョン番号情報９と再生プログラム２０のバージョンとが同じであると判断し、セッションキーのやり取りやコンテンツデータの再生を許可する。すなわち、ディスクドライブ１６は、図５に示すように、セッションキー２３生成し、この生成したセッションキー２３を公開鍵ＰＫＡｐｐで暗号化する。ディスクドライブ１６は、暗号化セッションキー２３とこのセッションキーにより暗号化されたコンテンツデータ２５を再生プログラム２０に出力する。
【００８０】
再生プログラム２０は、参照情報６に含まれる私有鍵ＳＫＡｐｐを用いて暗号化セッションキー２３の暗号を復号し、復号したセッションキー２２を用いて暗号化コンテンツデータ２５の暗号を復号する。そして、再生プログラム２０は、平文化されたコンテンツデータ２４をスピーカ、イヤホン、ヘッドフォン等より再生音響として出力する。これと共に、再生プログラム２０は、表示部１５に再生するコンテンツデータに対応した情報、アーティスト名、アルバム名、曲名等を表示する。
【００８１】
以上のようなデータ転送システム１では、鍵配布センタ２が再生プログラム２０に対して公開鍵ＰＫＡｐｐやバージョン番号６ｄ，８ｂ等を含む参照情報６や証明書リスト８を配布し、ディスクドライブ１６に対して参照情報７とバージョン番号情報９とを配布するようにし、これらの情報を再生プログラム２０とディスクドライブ１６とで別々に配布するようにしている。すなわち、ディスクドライブ１６は、再生プログラム２０の有効性を判断するために必要な参照情報７とバージョン番号情報９とを有するようにしている。そして、ディスクドライブ１６は、自らが有するバージョンと再生プログラム２０のバージョンとを比較し、バージョンが同じ若しくは再生プログラム２０のバージョンが新しいときに限って光ディスク４に記録されたコンテンツデータ２４の再生プログラム２０への転送を許可するようにしている。このように、データ転送システム１では、ディスクドライブ１６にバージョン番号情報９を保持するためのメモリを設けるだけで、ほとんどの構成をソフトウェアで実現することができる。
【００８２】
また、このデータ転送システム１では、ディスクドライブ１６が再生プログラム２０の有効性を確認できたときに限って、再生プログラム２０へのコンテンツデータ等の転送を許可するようにしていることから、不正な再生プログラム２０へコンテンツデータ等が転送されることを防止することができる。
【００８３】
更に、データ転送システム１では、再生プログラム２０が管理する証明書リスト８がＨＤＤ１２の再生プログラム２０によってコントロール可能な領域であるルートディレクトリに格納されることで、例えば再生プログラム２０の再インストール等がなされたときであっても、バージョンが再インストール前より古くなってしまう等の不都合が発生することを防止することができる。
【００８４】
以上、本発明が適用されたデータ転送システム１は、データ転送をディスクドライブ１６と再生プログラム２０との間で行う例を説明したが、本発明はこれに限定されるものではない。例えば、本発明は、１つの装置内、すなわち情報処理装置１内で行うデータ転送の他に、２つの独立した装置間で行うデータ転送、すなわちファームウェアで再生プログラム２０の機能を実現した若しくはハードウェアで再生プログラム２０の機能を実現した独立の再生装置と光ディスク４に記録されたデータの読み出しを行う独立の再生装置との間で行う場合にも適用することもできる。また、本発明は、送信先の機器として、再生プログラム２０に代わってＨＤＤ１２に記録する機能を追加した記録再生プログラムであってもよく、以上説明した認証をＨＤＤ１２に記録する際に行うようにしてもよい。
【００８５】
また、ディスクドライブ１６に装着される証明書リスト８、バージョン番号情報９、コンテンツデータ等が記録される光ディスク４は、ピットパターンによってデータが記録された再生専用の光ディスク、記録層に色素材料を用いる追記型の光ディスク、記録層に相変化材料を用いる書換型の光ディスクの何れを用いるようにしてもよい。また、この光ディスク４は、少なくとも一部を記録可能な領域とし、この領域に証明書リスト８、バージョン番号情報９等を記録するようにしてもよい。更に、ディスクドライブ１６は、ハードディスクや光磁気ディスクが装着可能なものであってもよい。更に、この記録媒体は、半導体メモリを記憶素子に用いるＩＣカードであってもよく、情報処理装置１には、ディスクドライブ１６に代わって若しくは追加してＩＣカードのドライブを設けるようにしてもよい。更に、証明書リスト８、バージョン番号情報９等は、ネットワーク３を介して配布するようにしてもよい。
【００８６】
【発明の効果】
本発明によれば、鍵配布センタが発行する少なくとも送信先機器の公開鍵のバージョン情報を保持し、送信先機器の有効性を判断するとき、この送信先機器より該送信先機器が保有する公開鍵とこの公開鍵のバーション情報とを含む参照情報が入力され、バージョン情報を比較することで送信先の機器の有効性を確認することができ、この有効性が確認できた後に、コンテンツデータ等の実データを送信先機器に転送することができる。
【図面の簡単な説明】
【図１】本発明を適用したデータ伝送システムの構成を説明するブロック図である。
【図２】再生プログラムの参照情報に含まれる公開鍵の証明書を説明する図である。
【図３】再生プログラムの公開鍵の証明書リストを説明する図である。
【図４】再生プログラムの公開鍵のバージョン情報を説明する図である。
【図５】ディスクドライブと再生プログラムとの関係を説明する図である。
【図６】ディスクドライブの動作を説明するフローチャートである。
【図７】光ディスクにバージョン情報の他に、再生プログラムに用いる証明書リストを記録して配布する例を説明する図である。
【図８】光ディスクよりバージョン情報及び証明書リストの読み出し動作を説明する図である。
【図９】光ディスクよりバージョン情報及び証明書リストの読み出し動作の改良例を説明する図である。
【符号の説明】
１　データ転送システム、２　鍵配布センタ、３　ネットワーク、４　光ディスク、６　再生プログラムの参照情報、７　ディスクドライブの参照情報、８　証明書リスト、９　再生プログラムの公開鍵のバージョン情報
【図１】
2004007328.tif 000003
【図２】
2004007328.tif 000004
【図３】
2004007328.tif 000005
【図４】
2004007328.tif 000006
【図５】
2004007328.tif 000007
【図６】
2004007328.tif 000008
【図７】
2004007328.tif 000009
【図８】
2004007328.tif 000010
【図９】
2004007328.tif 000011