(57)【要約】【課題】  パーソナル・コンピュータからポータブル電子機器にコンテンツを転送する際、他のコンピュータでは再生できないようにスクランブル処理する。【解決手段】  データとスクランブル値とのＸＯＲをとることにより、データをスクランブルする。スクランブル値の初期値としてのスクランブル鍵でスクランブル処理を開始し、以降はデータ毎にスクランブル値に一定の値ｖａｌを加算していくことで、スクランブル方法の推定を困難にする。ｖａｌは、３２ビット長の符号なし整数で、２32＝４２９４６７２９６の約数でなく、公約数も持たない比較的大きな値（例えば素数２５４７２０７４７）とする。【選択図】  図３
2005354236.tif 000002
【特許請求の範囲】
【請求項１】
データ・コンテンツをスクランブル処理するスクランブル装置であって、
所定ビット長のスクランブル値の初期値としてのスクランブル鍵を生成するスクランブル鍵生成手段と、
スクランブル鍵を基に、スクランブルするデータ毎にスクランブル値を変更するスクランブル値変更手段と、
スクランブル値を用いてデータをスクランブルするスクランブル手段と、
を具備することを特徴とするスクランブル装置。
【請求項２】
スクランブル鍵をデータ転送先に安全に保管するスクランブル鍵保管手段をさらに備える、
ことを特徴とする請求項１に記載のスクランブル装置。
【請求項３】
前記スクランブル鍵生成手段は、スクランブルするデータの保管場所若しくは転送先となる機器に固有の値を基に生成される乱数からスクランブル鍵を生成する、
ことを特徴とする請求項１に記載のスクランブル装置。
【請求項４】
前記スクランブル鍵生成手段は、スクランブルするデータの保管場所若しくは転送先となる機器に固有の値を基に生成されるデバイス鍵とスクランブル対象となるコンテンツに固有の識別情報との組合せに基づいてスクランブル鍵を生成する、
ことを特徴とする請求項１に記載のスクランブル装置。
【請求項５】
前記スクランブル値変更手段は、スクランブルするデータ毎に、スクランブル値に一定の値を繰り返し加算してスクランブル値を変えていく、
ことを特徴とする請求項１に記載のスクランブル装置。
【請求項６】
前記スクランブル値変更手段は、スクランブル値を符号なしｎビット整数として、スクランブルするデータ毎のスクランブル値の計算を行なう、
ことを特徴とする請求項５に記載のスクランブル装置。
【請求項７】
前記スクランブル値変更手段は、スクランブルするデータ毎のスクランブル値の計算において、ｎビット整数の上限を超えたビットを無視する、
ことを特徴とする請求項６に記載のスクランブル装置。
【請求項８】
前記スクランブル値変更手段は、スクランブルするデータ毎に、２nの約数でなく、公約数も持たない比較的大きな一定の値をスクランブル値に繰り返し加算してスクランブル値を変えていく、
ことを特徴とする請求項６に記載のスクランブル装置。
【請求項９】
前記スクランブル手段は、データ・コンテンツのうち少なくとも一部のデータはスクランブル値の一部のビットのみを用いてスクランブル処理する、
ことを特徴とする請求項１に記載のスクランブル装置。
【請求項１０】
データ・コンテンツをスクランブル処理するスクランブル方法であって、
所定ビット長のスクランブル値の初期値としてのスクランブル鍵を生成するスクランブル鍵生成ステップと、
スクランブル鍵を基に、スクランブルするデータ毎のスクランブル値を変更するスクランブル値変更ステップと、
スクランブル値を用いてデータをスクランブルするスクランブル・ステップと、
を具備することを特徴とするスクランブル方法。
【請求項１１】
スクランブル鍵をデータ転送先に安全に保管するスクランブル鍵保管ステップをさらに備える、
ことを特徴とする請求項１０に記載のスクランブル方法。
【請求項１２】
前記スクランブル鍵生成ステップでは、スクランブルするデータの保管場所若しくは転送先となる機器に固有の値を基に生成される乱数からスクランブル鍵を生成する、
ことを特徴とする請求項１０に記載のスクランブル方法。
【請求項１３】
前記スクランブル鍵生成ステップでは、スクランブルするデータの保管場所若しくは転送先となる機器に固有の値を基に生成されるデバイス鍵とスクランブル対象となるコンテンツに固有の識別情報との組合せに基づいてスクランブル鍵を生成する、
ことを特徴とする請求項１０に記載のスクランブル方法。
【請求項１４】
前記スクランブル値変更手段は、スクランブルするデータ毎に、スクランブル値に一定の値を繰り返し加算してスクランブル値を変えていく、
ことを特徴とする請求項１０に記載のスクランブル方法。
【請求項１５】
前記スクランブル値変更ステップでは、スクランブル値を符号なしｎビット整数として、データ毎のスクランブル値の計算を行なう、
ことを特徴とする請求項１４に記載のスクランブル方法。
【請求項１６】
前記スクランブル値変更ステップでは、スクランブルするデータ毎のスクランブル値の計算において、ｎビット整数の上限を超えたビットを無視する、
ことを特徴とする請求項１５に記載のスクランブル方法。
【請求項１７】
前記スクランブル値変更ステップでは、スクランブルするデータ毎に、２nの約数でなく、公約数も持たない比較的大きな一定の値をスクランブル値に繰り返し加算してスクランブル値を変えていく、
ことを特徴とする請求項１５に記載のスクランブル方法。
【請求項１８】
前記スクランブル・ステップでは、データ・コンテンツのうち少なくとも一部のデータはスクランブル値の一部のビットのみを用いてスクランブル処理する、
ことを特徴とする請求項１０に記載のスクランブル方法。
【請求項１９】
データ・コンテンツをスクランブルするための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
所定ビット長のスクランブル値の初期値としてのスクランブル鍵を生成するスクランブル鍵生成ステップと、
スクランブル鍵を基に、スクランブルするデータ毎のスクランブル値を変更するスクランブル値変更ステップと、
スクランブル値を用いてデータをスクランブルするスクランブル・ステップと、
を具備することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像や音楽などのデータ・コンテンツを不正利用できないようにスクランブル処理するスクランブル装置及びスクランブル方法、並びにコンピュータ・プログラムに係り、特に、データ・コンテンツを転送する際に転送先を介して不正利用できないようにコンテンツをスクランブル処理するスクランブル装置及びスクランブル方法、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、データ・コンテンツをパーソナル・コンピュータからポータブル電子機器に転送する際に、ポータブル電子機器を他のコンピュータに接続して通常通りには再生できないようにスクランブル処理するスクランブル装置及びスクランブル方法、並びにコンピュータ・プログラムに係り、特に、ポータブル機器に過大な演算負荷を与えることなくリアルタイムでコンテンツ再生を行なうことができるように、且つ容易にスクランブル方法が推定されないようにデータ・コンテンツをスクランブル処理するスクランブル装置及びスクランブル方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００３】
昨今の技術革新に伴い、デスクトップ型やノートブック型など各種パーソナル・コンピュータ（ＰＣ）が開発され市販されている。この種の装置は、通常、周辺機器接続用のインターフェースを備え、キーボードやマウス、プリンタ、モデムなどのさまざまな周辺機器を装備し、操作環境を整え、ハードウェア資源を確保することができる。
【０００４】
パーソナル・コンピュータ用のインターフェースとしては、古くはシリアル・ポートやパラレル・ポートが知られているが、最近では、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）が急速に普及してきている。また、キーボードやマウス、プリンタ、スキャナ、モデム、ハード・ディスク・ドライブ、ＣＤ−ＲＷドライブ、ＤＶＤドライブなど、ＵＳＢデバイスの種類も豊富である。ＵＳＢは、シリアル・バスなのでケーブルが比較的細いこと、ハブを用いて周辺機器をツリー接続が可能なこと、さまざまな転送モードをサポートすることなどに特徴があり、汎用のインターフェースとして広く認識されている。
【０００５】
また、周辺機器の中には、パーソナル・コンピュータに接続され周辺機器として動作する以外に、自走機能を持つものがある。その一例として、ハード・ディスクを内蔵したバッテリ駆動のポータブル・メディア・プレーヤなどを挙げることができる。
【０００６】
この種の電子機器は、ＵＳＢケーブルなどのインターフェースを介してパーソナル・コンピュータに接続されている間は、外付けハード・ディスク装置として動作し、通常のコンピュータ・ファイルを格納したり、映像や音響などのコンテンツをダウンロードしたりすることができる。一方、パーソナル・コンピュータとの接続から解放されたとき（勿論、ＵＳＢケーブルに接続されたままでも可）に、スタンドアロン状態でメディア・プレーヤとして動作し、ハード・ディスク内にダウンロードされた映像や音楽などのコンテンツの再生を当該機器内で行なうことができる。
【０００７】
例えば、携帯電話機やパソコンなどの他装置と接続連携して相互連携動作が可能となるポータブル電子装置について提案がなされている（例えば、特許文献１を参照のこと）。この種のポータブル電子装置によれば、独立動作のみならず携帯電話機やパソコンなどの他装置と接続連携させての協働連携動作が可能である。したがって、他装置と相互に音楽データの授受をして音声音響を出力する機能や、他装置としての携帯電話機を介して通話する機能や、他装置をリモート制御する機能など、他装置と接続連携によるユーザ・インターフェースを拡大進展させるシステム的な動作が可能である。
【０００８】
ここで、パーソナル・コンピュータやポータブル電子機器で取り扱われるコンテンツはデジタル・データであり、コピーや改竄などの不正な操作が比較的容易に行なわれてしまう、という問題がある。現在、コンテンツのコピーや改竄などの不正行為は頻繁に行なわれており、これがデジタル・コンテンツ・ベンダの利益を阻害する主要な要因となっている。この結果、コンテンツの値段も高くしなければならなくなり、普及の障壁となるという悪循環が起こっている。
【０００９】
著作権法の下では、デジタル・コンテンツは著作物の１つとして、無断の複製や改竄などの不正使用から保護を受ける。著作権法第３０条では、著作物の種類や複製の態様を限定することなく、個人的に又は家庭内などで使用する目的であれば、使用する者本人が複製することができることとされている。また、同法第４９条第１項においては、私的使用のために作成した複製物をその目的以外のために使用した場合には著作権者の複製権が動く旨を規定し、いわゆる目的外使用を禁止している。
【００１０】
例えば、ユーザが正当に取得した映像や音響などのコンテンツをパーソナル・コンピュータ上で再生して視聴する、あるいはモバイル環境下で視聴するために、パーソナル・コンピュータからポータブル電子機器へコンテンツをダウンロードする行為は、私的使用の範囲にあると考えられる。ところが、ダウンロード先であるポータブル電子機器上のコンテンツをさらに他のパーソナル・コンピュータに接続して再生する、あるいは他のパーソナル・コンピュータへさらにコンテンツを移動させるといった行為は、私的使用の範囲を逸脱するので、このような操作に対し技術的に制限を課すことが望ましいと思料される。
【００１１】
例えば、デジタル伝送コンテンツの保護を規定する業界標準であるＤＴＣＰ（Ｄｉｇｉｔａｌ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｅｎｔ  Ｐｒｏｔｅｃｔｉｏｎ）では、コンテンツを伝送する通信範囲とコンテンツを受信する機器の台数に制限を課している（例えば、非特許文献１を参照のこと）。このＤＴＣＰの仕組みを適用することにより、パーソナル・コンピュータやポータブル電子機器上のコンテンツを好適に保護することができる。しかしながら、小型で軽量、低コストを特徴とするポータブル電子機器においては、新しい仕組みを導入するとコスト増大を招来するため、現実的ではない。
【００１２】
また、パーソナル・コンピュータからポータブル電子機器にコンテンツをダウンロードした際に、不可視属性のフォルダに隠し、ファイル名をユニークＩＤにするなどして、ユーザが目的の音楽ファイルを検索しづらくするという方法も考えられる。この場合、コンテンツがダウンロードされたポータブル電子機器を他のコンピュータに接続したときには、そのエクスプローラ画面から不可視化若しくは抽象化されているので、ユーザは所望のコンテンツを特定できなくなる。
【００１３】
しかしながら、オペレーティング・システム標準のファイル操作を用いれば、隠しフォルダから所望のコンテンツ・ファイルを取り出すことはさほど困難ではない。また、コンテンツ自体には何ら操作が加えられていないことから、ポータブル電子機器内のコンテンツを他の記憶装置にコピーしたときには通常通り再生できてしまう。
【００１４】
ここで、ポータブル電子機器上にコンテンツを格納する際、強固な暗号方式を用いて暗号化を施し、他の記憶装置にコピーしても再生できないようにするという方法も考えられる。ところが、そもそもコンテンツ自体がＷＡＶやＭＰ３などの形式で符号化処理が施されているので、さらに暗号化を行なうと、再生時には本来の復号処理に加え暗号の復号処理まで行なわなければならなくなり、ポータブル電子機器の演算能力に対し過大な負荷を強いることになり、コスト増大を招来する。
【００１５】
【特許文献１】特開２００２−３００２３８号公報
【非特許文献１】ｈｔｔｐ：／／ｗｗｗ．ｄｔｃｐ．ｃｏｍ／ｄａｔａ／ｉｎｆｏ＿２００３１１２４＿ｄｔｃｐ＿Ｖｏｌ１＿１ｐ３．ｐｄｆ
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明の目的は、データ・コンテンツを転送する際に転送先を介して不正利用できないように好適にスクランブル処理することができる、優れたスクランブル装置及びスクランブル方法、並びにコンピュータ・プログラムを提供することにある。
【００１７】
本発明のさらなる目的は、データ・コンテンツをパーソナル・コンピュータからポータブル電子機器に転送する際に、ポータブル電子機器を他のコンピュータに接続して通常通りには再生できないように好適にスクランブル処理することができる、優れたスクランブル装置及びスクランブル方法、並びにコンピュータ・プログラムを提供することにある。
【００１８】
本発明のさらなる目的は、ポータブル電子機器に過大な演算負荷を与えることなくリアルタイムでコンテンツ再生を行なうことができるように、且つ容易にスクランブル方法が推定されないようにデータ・コンテンツをスクランブル処理することができる、優れたスクランブル装置及びスクランブル方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００１９】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、データ・コンテンツをスクランブル処理するスクランブル装置であって、
所定ビット長のスクランブル値の初期値としてのスクランブル鍵を生成するスクランブル鍵生成手段と、
スクランブル鍵を基に、スクランブルするデータ毎にスクランブル値を変更するスクランブル値変更手段と、
スクランブル値を用いてデータをスクランブルするスクランブル手段と、
を具備することを特徴とするスクランブル装置である。
【００２０】
スクランブル手段は、例えばデータとスクランブル値とのＸＯＲをとることによりスクランブルをかける。勿論、ＸＯＲ以外の演算を施してデータをスクランブルしてもよいが、ＸＯＲを用いれば同じ手順でデスクランブルすることができるので処理が簡素化される。
【００２１】
ここで、同じスクランブル値ですべてのデータのＸＯＲをとると、元データにおいて００ｈが続く部分にスクランブル値そのものが繰り返し現れてしまう、元データにおいて同じデータが続くと同じバターンの繰り返しになる、といった問題がある。
【００２２】
そこで、本発明では、スクランブル値変更手段が、スクランブル値の初期値としてのスクランブル鍵を基に、スクランブルするデータ毎のスクランブル値を変えていくことにより、スクランブル値が見破られにくくしている。
【００２３】
具体的には、スクランブル値変更手段は、スクランブルするデータ毎に、スクランブル値に一定の値を繰り返し加算してスクランブル値を変えていく。すなわち、１つ前のスクランブル値に一定の値ｖａｌを加えて、次のスクランブル値とするという処理を繰り返し行なう。
【００２４】
例えば、スクランブル値変更手段は、スクランブル値を符号なしｎビット整数として、スクランブルするデータ毎のスクランブル値の計算を行なう。そして、スクランブルするデータ毎のスクランブル値の計算において、ｎビット整数の上限を超えたビットを無視する。この結果、桁溢れの繰り返しでＮ＝２n回でスクランブル値は初期値であるスクランブル鍵に戻ることになる。
【００２５】
例えばｎ＝４の場合は、０〜１５までの整数を表すことができる。初期値が０の場合に、例えば７を加算していくと、次のようなデータ列を得ることができる。
【００２６】
０、７、１４、５、１２、３、１０、１、８、１５、６、１３、４、
１１、２、９、０、．．．
【００２７】
このように２４＝１６回で４ビットで表すことのできる全ての値が一度ずつ現われ、周期が１６のデータ列が得られる。
【００２８】
一方、加算する値が２nの約数であったり、公約数を持つ値であった場合には、Ｎ＝２n回より短い周期でスクランブル値が初期値であるスクランブル鍵に戻ってしまう。一例として、上記の場合に４を加算した場合について考える。この場合、次のようなデータ列となる。
【００２９】
０、４、８、１２、０、．．．
【００３０】
このように、周期が４のデータ列となってしまう。これは、４が２4の約数であるために起こる。スクランブルするデータ列の周期が短いとスクランブル・パターンを見破られやすいため、２nで表すことのできる最大周期とすることが望まれる。このためには、加算する値には２nの約数でも公約数でも無い値を使う必要がある。
【００３１】
また、１つ前のスクランブル値に加える一定の値ｖａｌとして、２nの約数でなく、公約数も持たない比較的大きな一定の値を用いることで、スクランブル方法の推定をより困難にすることができる。
【００３２】
例えば先に示したｎ＝４の場合の例において、初期値が０の場合に１を加算したとすると０、１、．．．、１５というように、整然と並んだデータ列になってしまい、パターンを簡単に見破られてしまう。適当な周期で桁溢れを起こすような比較的大きな値を加算したほうが効果的である。
【００３３】
上述したようにデータ毎にスクランブル値に一定の値ｖａｌを単純に加算していくというスクランブル処理する方法は、簡易であり、ＷＡＶやＭＰ３など通常のデータ復号処理に過大な負荷を与えることなくリアルタイムで実現することができる。ところが、スクランブル・パターンが単調であり、先頭から同じバイト数ずつ順次区切って差をとると常に同じ値であることから、攻撃者に発見されてしまう危険がある。
【００３４】
そこで、スクランブル手段は、データ・コンテンツのうち少なくとも一部のデータはスクランブル値の一部のビットのみを用いてスクランブル処理するようにしてもよい。例えば、４バイト毎にデータのスクランブルを行なう系においては、先頭のデータのみ２バイトでＸＯＲをとり、以降４バイト単位のＸＯＲにし、スクランブル・パターンの変化が単調でないように見せることができる。
【００３５】
なお、前記スクランブル鍵生成手段は、スクランブルするデータの保管場所若しくは転送先となる機器に固有の値を基に生成される乱数からスクランブル鍵を生成することで、コンテンツのダウンロード先となる機器毎に異なるスクランブル鍵を得ることができる。
【００３６】
また、前記スクランブル鍵生成手段は、スクランブルするデータの保管場所若しくは転送先となる機器に固有の値を基に生成されるデバイス鍵とスクランブル対象となるコンテンツに固有の識別情報とのＸＯＲとってスクランブル鍵を生成することで、コンテンツ毎に異なるスクランブル鍵を得ることができる。但し、コンテンツの識別情報はコンテンツの総数程度のビット長しか使用されない場合には、上位ビットがすべて００ｈとなりＸＯＲをとるとデバイス鍵そのものが見えてしまう可能性がある。そこで、コンテンツの識別情報の上位ビットに００ｈが現れないようなビット値の操作を加えることがより好ましい。
【００３７】
また、本発明の第２の側面は、データ・コンテンツをスクランブルするための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
所定ビット長のスクランブル値の初期値としてのスクランブル鍵を生成するスクランブル鍵生成ステップと、
スクランブル鍵を基に、スクランブルするデータ毎のスクランブル値を生成するスクランブル値変更ステップと、
スクランブル値を用いてデータをスクランブルするスクランブル・ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
【００３８】
本発明の第２の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第２の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１の側面に係るスクランブル装置と同様の作用効果を得ることができる。
【発明の効果】
【００３９】
本発明によれば、データ・コンテンツを転送する際に転送先を介して不正利用できないように好適にスクランブル処理することができる、優れたスクランブル装置及びスクランブル方法、並びにコンピュータ・プログラムを提供することができる。
【００４０】
また、本発明によれば、データ・コンテンツをパーソナル・コンピュータからポータブル電子機器に転送する際に、ポータブル電子機器を他のコンピュータに接続して通常通りには再生できないように好適にスクランブル処理することができる、優れたスクランブル装置及びスクランブル方法、並びにコンピュータ・プログラムを提供することができる。
【００４１】
また、本発明によれば、ポータブル機器に過大な演算負荷を与えることなくリアルタイムでコンテンツ再生を行なうことができるように、且つ容易にスクランブル方法が推定されないようにデータ・コンテンツをスクランブル処理することができる、優れたスクランブル装置及びスクランブル方法、並びにコンピュータ・プログラムを提供することができる。
【００４２】
本発明によれば、パーソナル・コンピュータからデータ・コンテンツをダウンロードしたポータブル電子機器を別のコンピュータに接続した場合、特別なソフトウェア・ツールを用いずにオペレーティング・システム標準のファイル操作によってポータブル電子機器からコンテンツを取り出しても、汎用アプリケーションなどで再生可能な形式のファイルを作成することはできない。
【００４３】
本発明に係るスクランブル装置は、データ・コンテンツをダウンロードするポータブル電子機器毎に、あるいはダウンロードするデータ・コンテンツ毎にスクランブル値の初期値としてのスクランブル鍵を切り替えていく。そして、スクランブル前のファイルとスクランブル後のファイルを比較しても、容易にスクランブル方法を推定することができない。また、バイナリ・エディタなどでスクランブル・データを調べたときに、スクランブル前の状態で００Ｈなどの同じデータが連続する部分からも、全体のスクランブル・パターンを推定することは容易でない。
【００４４】
本発明に係るスクランブル方法は比較的簡易な仕組みであることから、ポータブル電子機器内の演算能力があまり高くない処理プロセッサで処理する場合であっても、コンテンツ再生時において、コンテンツの復号処理に影響を与えることなく、リアルタイムでデスクランブル処理を行なうことができる。
【００４５】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００４６】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００４７】
Ａ．装置構成
図１には、パーソナル・コンピュータのハードウェア構成を模式的に示している。このシステムは、プロセッサ１１を中心に構成されている。プロセッサ１１は、オペレーティング・システム（ＯＳ）が提供するプログラム実行環境下で、メモリ１２に記憶されたプログラムに基づいて各種の処理を実行する。また、プロセッサ１１は、バス１３を介して接続されている各種の周辺機器を制御している。バス１３に接続された周辺機器は次のようなものである。
【００４８】
メモリ１２は、例えばＤＲＡＭ（Ｄｙｎａｍｉｃ ＲＡＭ）などの半導体メモリで構成され、プロセッサ１１において実行されるプログラム・コードをロードしたり、実行プログラムの作業データを一時格納したりするために使用される。メモリ１２は、プロセッサ１１のメモリ空間を構成する。
【００４９】
ディスプレイ・コントローラ１４は、プロセッサ１１から送られてくる描画命令に従って表示画像を生成し、表示装置１５に送る。ディスプレイ・コントローラ１４に接続された表示装置１５は、ディスプレイ・コントローラ１４から送られた表示画像情報に従い、その画像を画面に表示出力する。
【００５０】
本実施形態では、ディスプレイ・コントローラ１４はビットマップ表示形式をサポートし、オペレーティング・システムは表示装置１４のスクリーン上でＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）操作環境を提供している。したがって、デスクトップ上では、アプリケーションやその他のプログラム、プリンタなどのハードウェア資源を象徴する複数のアイコンが表示されており、ユーザは、アイコンに直接的な操作を印加することで所望の処理が起動する。また、機器の動作状態をインジケートする状態アイコンもデスクトップ上に配設されており、ユーザはシステムの状態を視覚的にモニタすることができる。
【００５１】
入出力インターフェース１６は、キーボード１７やマウス１８が接続されており、キーボード１７やマウス１８からの入力信号をプロセッサ１１へ転送する。
【００５２】
ネットワーク・インターフェース２２は、ＬＡＮやインターネットなどの外部ネットワークに接続されており、インターネットを介したデータ通信を制御する。すなわち、プロセッサ１１から送られたデータをインターネット上の他の装置へ転送するとともに、インターネットを介して送られてきたデータを受け取りプロセッサ１１に渡す。例えば、プログラムやデータなどをネットワーク経由で外部から受信することができる。
【００５３】
ハード・ディスク装置（ＨＤＤ：Ｈａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ）コントローラ１９には、ＨＤＤなどの大容量外部記憶装置２０が接続されており、ＨＤＤコントローラ１９が接続されたＨＤＤ２０へのデータの入出力を制御する。ＨＤＤ２０には、プロセッサが実行すべきオペレーティング・システム（ＯＳ）のプログラム、アプリケーション・プログラム、ドライバ・プログラム、さらにはプログラムによって参照又は再生処理が行なわれるデータやコンテンツなどが格納されている。
【００５４】
ＵＳＢコントローラ２１は、１基以上のＵＳＢポートを備え、ＵＳＢケーブルを介して接続されるＵＳＢデバイスとの間でインターフェース・プロトコルを実現する。ＵＳＢは、シリアル・バスなのでケーブルが比較的細いこと、ハブを用いて周辺機器をツリー接続が可能なこと、さまざまな転送モードをサポートすることなどに特徴があり、汎用のインターフェースとして広く認識されている。
【００５５】
ＵＳＢデバイスとしては、キーボードやマウス、プリンタ、スキャナ、モデム、ハード・ディスク・ドライブ、ＣＤ−ＲＷドライブ、ＤＶＤドライブなどが挙げられる。また、ＵＳＢデバイスの中には、ＵＳＢケーブルで接続された周辺機器として動作する以外に自走機能を持つものもある。例えば、ポータブル・メディア・プレーヤとしても動作するＵＳＢハード・ディスクである。自走機能兼用のＵＳＢデバイスの多くは、バッテリ駆動である。
【００５６】
正規のＵＳＢデバイスは、ＵＳＢケーブル経由でＵＳＢホストとしてのパーソナル・コンピュータに接続した直後は、ＶＢＵＳから使用する電流は必ず１００ｍＡ以下でなければならいという規格上の制限がある。ＶＢＵＳの電流を１００ｍＡより多く消費するハイパワーデバイスの場合は、接続直後は１００ｍＡ以下で動作し、“Ｃｏｎｆｉｇｕｒａｔｉｏｎ”と呼ばれる初期処理が終了し、接続されたポートがハイパワーポートであることが確認されて初めて５００ｍＡを超える電流を消費できるようになる。Ｃｏｎｆｉｇｕｒａｔｉｏｎ手続きを経たＵＳＢデバイスは、ＵＳＢホストとしてのパーソナル・コンピュータによって認識されている。例えば、ＵＳＢハード・ディスクは、Ｃｏｎｆｉｇｕｒａｔｉｏｎ手続きにより認識された後、ファイル・システムの管理下に置かれ、通常のファイル・アクセスが可能となる。
【００５７】
本実施形態では、パーソナル・コンピュータからＵＳＢ接続されているＵＳＢハード・ディスクに映像や音楽などのデータ・コンテンツを転送する際には、スクランブル処理を施すようになっている。スクランブル処理は、例えばプロセッサ１１が所定のデータ転送アプリケーション（若しくはスクランブル処理アプリケーション）を実行するという形態で実現する。勿論、スクランブル処理用の専用のコントローラ・チップ（図示しない）を搭載してもよい。
【００５８】
このようにコンテンツのスクランブル処理を行なうことにより、ＵＳＢハード・ディスクを別のコンピュータに接続した場合に、特別なソフトウェア・ツールを用いずにオペレーティング・システム標準のファイル操作によってポータブル電子機器からコンテンツを取り出しても、汎用アプリケーションなどで再生可能な形式のファイルを作成することはできなくなるので、コンテンツを不正利用から保護することができる。
【００５９】
データ・コンテンツをダウンロードするポータブル電子機器毎に、あるいはダウンロードするデータ・コンテンツ毎にスクランブル値の初期値であるスクランブル鍵を切り替えていく。そして、スクランブルするデータ毎にスクランブル値を変化させていくので、スクランブル前のファイルとスクランブル後のファイルを比較しても、容易にスクランブル方法を推定することができない。また、バイナリ・エディタなどでスクランブル・データを調べたときに、スクランブル前の状態で００Ｈなどの同じデータが連続する部分からも、全体のスクランブル・パターンを推定することは容易でない。スクランブル処理の詳細については後述に譲る。
【００６０】
なお、パーソナル・コンピュータなどの情報処理装置を構成するためには、図１に示した以外にも多くの電気回路などが必要である。但し、これらは当業者には周知であり、また、本発明の要旨を構成するものではないので、本明細書中では省略している。また、図面の錯綜を回避するため、図中の各ハードウェア・ブロック間の接続も一部しか図示していない点を了承されたい。
【００６１】
図２には、本発明の一実施形態に係るＵＳＢデバイスのハードウェア構成を模式的に示している。
【００６２】
本実施形態に係るＵＳＢハード・ディスクは、ハード・ディスクを備えたＵＳＢハード・ディスクであり、ＵＳＢケーブルに接続されたときには、正規のＵＳＢデバイスとしてＣｏｎｆｉｇｕｒａｔｉｏｎ手続を行ない、パーソナル・コンピュータから認識され、大容量記憶装置として動作することができる。
【００６３】
また、このＵＳＢハード・ディスクは、自走機能を備え、ハード・ディスクを内蔵したバッテリ（図示しない）駆動のポータブル・メディア・プレーヤとして動作し、ハード・ディスク内の映像や音楽などのコンテンツの再生を当該機器内で行なうこともできる。
【００６４】
図２に示すＵＳＢハード・ディスクは、ＵＳＢ／ＡＴＡブリッジ３１と、ＭＰＵ３２と、ハード・ディスク・ドライブ（ＨＤＤ）３３と、再生コンテンツ出力部３４と、ユーザ入力部３５とを備えている。
【００６５】
ＵＳＢ／ＡＴＡブリッジ３１は、ＡＴＡインターフェースのＨＤＤ３３をＵＳＢインターフェースに接続して使用するためのプロトコル変換ＩＣである。ＵＳＢ／ＡＴＡブリッジ３１は、例えばＵＳＢコントローラＩＣと汎用ワンチップ・マイクロコンピュータを用いて実装され、内蔵ＲＯＭ若しくは外付けＲＯＭに格納されているファームウェアを内蔵ＲＡＭに展開して所定の処理を実行することができる。例えば、ＨＤＤなどの記憶装置をＵＳＢ Ｍａｓｓ Ｓｔｏｒａｇｅ Ｃｌａｓｓ規格のデバイスとして動作させるのに必要な機能を内蔵ＲＯＭに格納されたファームウェアとしてあらかじめ有している。また、書き換え可能な外付けＲＯＭによって、ＵＳＢデバイス用プログラムを比較的容易且つ安価に変更することができる。
【００６６】
ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３２は、本装置全体の動作を統括的に制御するメイン・コントローラであり、主に電源投入時における初期化及び自己診断処理、ＵＳＢ／ＡＴＡブリッジ３１へのＵＳＢケーブル（ＵＳＢホスト）の接続又は非接続に応じた動作モードの管理、ＨＤＤ３３に格納されている映像や音楽コンテンツの再生などの自走時の動作制御などを行なう。
【００６７】
ＵＳＢハード・ディスクは、ＵＳＢケーブルを介してパーソナル・コンピュータに接続されているときには、パーソナル・コンピュータの外部記憶装置として動作し、通常のコンピュータ・ファイルを格納したり、映像や音響などのコンテンツをダウンロードしたりすることができる。また、ＵＳＢケーブルを取り外したときには、自走機能によりポータブル・メディア・プレーヤとして動作することができ、ＨＤＤ３３に格納されているコンテンツを再生出力することができる。なお、ＵＳＢハード・ディスクとしての動作モードはこのような定義に限定されるものではなく、例えばＵＳＢ接続されたままの状態であっても、自走動作するようにしてもよい。
【００６８】
本実施形態では、パーソナル・コンピュータからＨＤＤ３３にコンテンツをダウンロードする際には、コンテンツ保護の目的でスクランブル処理が施されている。ＭＰＵ３２は、コンテンツ再生時には、ＨＤＤ３３から取り出されたコンテンツをデスクランブルし、さらにＷＡＶやＭＰ３などの形式で符号化されているコンテンツの復号化処理をリアルタイムで行なう。スクランブル処理の詳細については後述に譲る。
【００６９】
ＨＤＤ３３は、ＵＳＢ接続されたパーソナル・コンピュータにとっての外部記憶装置として機能するとともに、当該ＵＳＢハード・ディスクが自走機能によりポータブル・メディア・プレーヤとして動作するときには、メディア記録装置として機能する。
【００７０】
本実施形態に係るＨＤＤ３３は、ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）仕様に準拠したＨＤＤであり、ＨＤＤに故障が発生し、保存された貴重なデータが失われるのを防ぐために、ＳＭＡＲＴ（Ｓｅｌｆ−Ｍｏｎｏｔｏｒｉｎｇ，Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｐｏｒｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ）という自己監視、障害予測機能が備えられている。そして、ＳＭＡＲＴ機能により属性値のログ・データを記録するＳＭＡＲＴ  ｌｏｇ領域がハード・ディスク上の所定領域に設けられている。ＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのコマンドでは（すなわち、通常のコンピュータからＵＳＢインターフェース経由では）、このＳＭＡＲＴ  ｌｏｇ領域にアクセスすることはできない。本実施形態では、このＳＭＡＲＴ  ｌｏｇ領域をスクランブル鍵の保管場所に利用する。
【００７１】
なお、ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）は、パーソナル・コンピュータ内のバスにハード・ディスクを接続する実質標準であるＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｅｖｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）を標準化した規格である。
【００７２】
再生コンテンツ出力部３４は、自走機能によりコンテンツ再生したときの映像及び音響出力用のディスプレイやスピーカなどで構成される。また、ユーザ入力部３５は、再生時の再生、停止、早送り、巻き戻しなどのキー操作を行なうためにユーザ・インターフェースである。
【００７３】
Ｂ．スクランブル処理
続いて、パーソナル・コンピュータからＵＳＢハード・ディスクへコンテンツをダウンロードする際に行なわれるスクランブル処理動作について説明する。まず、本実施形態に係るスクランブル処理の手順を以下に概略的に示す。
【００７４】
（１）パーソナル・コンピュータ側で３２ビット長のデバイス鍵を生成し、ＵＳＢ接続されているＵＳＢハード・ディスクの内蔵ＨＤＤ３３のＳＭＡＲＴ  ｌｏｇ領域に保管する。通常のＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのコマンドでは、ＳＭＡＲＴ  ｌｏｇ領域へはアクセスすることはできない。ここでは、ＵＳＢインターフェース経由でＳＭＡＲＴ  ｌｏｇ領域へアクセスするための非公開のコマンド・インターフェースをＵＳＢ／ＡＴＡブリッジ３１内に実装し、デバイス鍵の保管を可能にしている。
【００７５】
（２）パーソナル・コンピュータからＵＳＢハード・ディスクへコンテンツを転送するときに付けられるユニークＩＤとデバイス鍵の演算により、コンテンツ固有の３２ビット長のスクランブル鍵を作成する。
【００７６】
（３）データとスクランブル値との排他的論理和（ＸＯＲ）をとることにより、でーたを順次スクランブルしていく。スクランブル方法は必ずしもＸＯＲに限定されないが、同じ演算でスクランブルとデスクランブルを行なうことができるという点で便利である。データとＸＯＲをとるスクランブル値は、初期値をスクランブル鍵とし、その後は以下に示すように一定の値ｖａｌを繰り返し加算することで、データ毎にスクランブル値を変えていき、スクランブル方法の推定を困難にする。
【００７７】
Ｎ＝０  初期のスクランブル鍵
Ｎ＝１  初期のスクランブル鍵＋ｖａｌ
Ｎ＝２  初期のスクランブル鍵＋ｖａｌ×２
…        …        …
Ｎ＝ｉ  初期のスクランブル鍵＋ｖａｌ×ｉ
【００７８】
ここで、初回のデータのみ、ＸＯＲサイズを変える手法を適用することにより、スクランブル方法の推定をより困難にすることができる。
【００７９】
個々のスクランブル値を計算する際は、符号なし３２ビット整数として行なう。値が符号なし３２ビット整数の上限を超えた場合には、範囲を超えたビットは無視する。この結果、桁溢れの繰り返しでＮ＝２32でスクランブル値は初期値であるスクランブル鍵に戻ることになる。
【００８０】
スクランブル値に繰り返し加算する一定の値ｖａｌは、３２ビット長の符号なし整数である。ｖａｌは、より好ましくは、２32＝４２９４６７２９６の約数でなく、公約数も持たない比較的大きな値（例えば素数２５４７２０７４７）とすることで、スクランブル方法の推定をより困難にすることができる。実際の処理では、１つ前のスクランブル値にｖａｌを加え、次のスクランブル値とする処理を繰り返し行なう。
【００８１】
Ｂ−１．デバイス鍵
ＵＳＢ又はＨＤＤのシリアル番号など、機器固有の値を基に乱数を生成し、デバイス鍵を生成する。本実施形態では、鍵の長さは３２ビット長とする。保管場所は、ＵＳＢハード・ディスクに内蔵されるＨＤＤ３３のＳＭＡＲＴ  ｌｏｇ領域など、ＵＳＢ接続される通常のホストからはアクセスできない領域とする。
【００８２】
Ｂ−２．スクランブル鍵
スクランブル鍵は、デバイス鍵と各コンテンツ固有のユニークＩＤから計算する。ユニークＩＤは３２ビット長だが、高々コンテンツの総数程度しか使われないため上位ビットはすべて００ｈとなる可能性が高い（コンテンツが音楽データである場合、楽曲毎にユニークＩＤを割り振っても、せいぜい１６ビット長で十分である）。このため、単純にデバイス鍵とユニークＩＤの加算やＸＯＲを計算したとすると、生成したスクランブル鍵の上位ビットはデバイス鍵そのものの値が残ることになり、デバイス鍵を推定され易くなる。
【００８３】
例えば、デバイス鍵を８９ＡＢＣＤＥＦｈとし、楽曲毎のユニークＩＤを００００１３８８ｈ（＝５０００）とすれば、デバイス鍵とユニークＩＤの和は８９ＡＢＥ１７７となり、また、デバイス鍵とユニークＩＤのＸＯＲは８９ＡＢＣＥ６７となり、いずれの場合も上位１６ビットはデバイス鍵の値そのものとなってしまう。
【００８４】
そこで、例えば以下の式のように計算すれば、デバイス鍵が判りにくくなる。
【００８５】
Ａ＝ユニークＩＤの下位１６ビット
Ｂ＝（ユニークＩＤの上位１６ビットの反転）ＸＯＲ  Ａ
スクランブル鍵＝（Ｂ＜＜１６）ＸＯＲ  Ａ  ＸＯＲ  デバイス鍵
【００８６】
上記の計算式によれば、デバイス鍵が８９ＡＢＣＤＥＦｈ、ユニークＩＤが００００１３８８ｈ（＝５０００）であるとすると、Ａ＝１３８８ｈで、Ｂ＝ＦＦＦＦｈ  ＸＯＲ  １３８８ｈ＝ＥＣ７７で、スクランブル鍵はＥＤ７７００００ｈ  ＸＯＲ  １３８８ｈ  ＸＯＲ  ８９ＡＢＣＤＥＦｈ＝６５ＤＣＤＥ６７ｈとなり、上記の例よりもデバイス鍵の推定がより困難になっていることが判る。
【００８７】
また、デバイス鍵が８９ＡＢＣＤＥＦｈ、ユニークＩＤが０００１２３４５ｈ（＝７４５６５）であるとすると、Ａ＝２３４５ｈで、Ｂ＝ＦＦＦＥｈ  ＸＯＲ  ２３４５ｈ＝ＤＣＢＢｈで、スクランブル鍵はＤＣＢＢ００００ｈ  ＸＯＲ  ２３４５ｈ  ＸＯＲ  ８９ＡＢＣＤＥＦｈ＝５５１０ＥＥＡＡｈとなり、同様にデバイス鍵の推定がより困難になっていることが判る。
【００８８】
Ｂ−３．スクランブル処理
本実施形態では、元データとデータ毎に更新されるスクランブル値とのＸＯＲをとることによりデータのスクランブルを行なっているが（スクランブル鍵をスクランブル値の初期値とし、データ毎にスクランブル値に一定の値ｖａｌを順次加算する）、ここで、スクランブル値をそのまますべてのデータとＸＯＲをとると、以下の問題が生じる。
【００８９】
第一に、元データにおいて００ｈが続く部分にスクランブル値そのものが繰り返し現れてしまう。また、元データにおいて同じデータが続くと、同じバターンの繰り返しになる。このため、バイナリ・エディタなどでスクランブルしたデータを閲覧したとき、スクランブル鍵を容易に推定される恐れがある。
【００９０】
これを防ぐために、スクランブルするデータ毎にスクランブル値に一定の値ｖａｌを次々と加えてスクランブル値を変えていく。一定の値ｖａｌは、２32＝４２９４６７２９６の約数でなく、公約数も持たない比較的大きな値を用いる。
【００９１】
例えば、スクランブル値に加算する一定の値ｖａｌに、素数２５４７２０７４７（０Ｆ２ＥＢＡＥＢｈ）を用いた場合、スクランブル値に加算する値は以下の通りとなる。
【００９２】
初期の加算値          ００００００００ｈ
２番目の加算値        ０Ｆ２ＥＢＡＥＢｈ（２５４７２０７４７）
３番目の加算値        １Ｅ５Ｄ７５Ｄ６ｈ（５０９４４１４９４）
…                      …                    …
【００９３】
個々のスクランブル値を計算する際は符号なし３２ビット長の整数として行なう。値が符号なし３２ビット長の整数の上限を超えた場合、範囲を超えたビットは無視し、下位３２ビットだけを利用する。
【００９４】
例えば、スクランブル鍵をＦＥＤＣＢＡ９８ｈとおいたとき、スクランブルするデータ毎のスクランブルに用いるスクランブル鍵は以下の通りとなる。
【００９５】
初回のデータのスクランブル値          ＦＥＤＣＢＡ９８ｈ
２番目のデータのスクランブル値        ０Ｅ０Ｂ７５８３ｈ（１０Ｅ０Ｂ７５８３ｈの下位３２ビット）
３番目のデータのスクランブル値        １Ｄ３Ａ３０６Ｅｈ（１１Ｄ３Ａ３０６Ｅｈの下位３２ビット）
…                      …                    …
【００９６】
この処理により、００００００００ｈ〜ＦＦＦＦＦＦＦＦｈのすべてのパターンが一度ずつ現われるスクランブル系列ができ、一見擬似ランダム系列のように見える（実際は違う）ので、加算しない場合に比べると鍵を推定されにくくなる。
【００９７】
Ｂ−４．スクランブル処理の改良
上述したようにスクランブルするデータ毎にスクランブル値に一定の値ｖａｌを単純に加算していくというスクランブル処理する方法は、簡易であり、ＷＡＶやＭＰ３など通常のデータ復号処理に過大な負荷を与えることなくリアルタイムで実現することができる。
【００９８】
ところが、スクランブル・パターンが単調であり、先頭から４バイトずつ順次区切って差をとると常に同じ値であることから、攻撃者に発見されてしまう危険がある。
【００９９】
そこで、初回のデータのみ、ＸＯＲサイズを変える手法を適用することにより、スクランブル方法の推定をより困難にするようにしてもよい。
【０１００】
例えば、先頭のデータのみ２バイトでＸＯＲをとり、以降４バイト単位のＸＯＲにし、スクランブル・パターンの変化が単調でないように見せる。例えば、スクランブル値をＦＥＤＣＢＡ９８ｈとしたとき、初回のスクランブル値はスクランブル値の下位２バイト（ＢＡ９８ｈ）としてデータとＸＯＲをとる。以降は、４バイト単位でデータを区切り、上述と同様の手順で生成された２番目以降のスクランブル値を用いてデータとのＸＯＲをとる。この場合のスクランブル鍵の変化を以下に示しておく。
【０１０１】
【表１】
2005354236.tif 000003
【０１０２】
この場合、先頭から４バイトずつ区切った計算では差分が同じにならないので、安全性が向上する。
【０１０３】
なお、スクランブル鍵を初期値としてＭ系列を発生するとより安全性を高めることができるが、処理速度の点で上記の方法に比べ不利となる。
【０１０４】
また、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などのブロック暗号を使って、擬似ランダム系列を生成したり、直接個々のデータを暗号化したりすることもできるが、処理はＭ系列よりもさらに複雑で処理速度はＭ系列よりもさらに不利となる。言い換えれば、コンピュータほどの演算能力を持たないポータブル電子機器上で、ＷＡＶやＭＰ３などの通常のデータ復号処理をリアルタイムで行なうという制約条件でデスクランブル処理することは難しい。
【０１０５】
また、スクランブル処理の他の改良方法として、スクランブル・パターンが一巡（Ｎ＝２n）したら、加算値（素数など）を変更するようにしてもよい。勿論、一巡する前に変更しても構わない。例えば、ｎ＝４の場合の例では、次のようなデータ列を得る。
【０１０６】
１巡目：加算値＝７
０，７，１４，５，１２，３，１０，１，８，１５，６，１３，４，１１，２，９
２巡目：加算値＝３
０，３，６，９，１２，１５，２，５，８，１１，１４，１，４，７，１０，１３
【０１０７】
Ｃ．運用形態
最後に、本実施形態に係るスクランブル処理を適用して、データ・コンテンツをパーソナル・コンピュータからポータブル電子機器に転送する運用手順について説明する。
【０１０８】
パーソナル・コンピュータ内のＨＤＤ２０には、映像や音楽などのデータ・コンテンツが格納されている。パーソナル・コンピュータには、所定のＣｏｎｆｉｇｕｒａｔｉｏｎ手続を経て、ＵＳＢハード・ディスクを正規のＵＳＢデバイスとして認識しているものとする。
【０１０９】
パーソナル・コンピュータ側では、ＵＳＢハード・ディスク又はその内蔵ＨＤＤのシリアル番号などの機器固有の値を基に乱数を生成して、ダウンロード先となる機器毎に異なるデバイス鍵を生成する。そして、さらにダウンロードを行なおうとするコンテンツ固有のユニークＩＤとデバイス鍵に所定の演算処理を施し（Ｂ−２項を参照のこと）、コンテンツ毎に異なるスクランブル鍵を生成する。ここで生成されたスクランブル鍵はスクランブル値の初期値として使用される。
【０１１０】
そして、パーソナル・コンピュータは、このスクランブル鍵をＵＳＢハード・ディスクのＳＭＡＲＴ  ｌｏｇ領域に書き込む（図３を参照のこと）。ＳＭＡＲＴ  ｌｏｇ領域は、ＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのコマンドでは（すなわち、通常のコンピュータからＵＳＢインターフェース経由では）、このＳＭＡＲＴ  ｌｏｇ領域にアクセスすることはできない。本実施形態では、ＵＳＢインターフェース経由でＳＭＡＲＴ  ｌｏｇ領域へアクセスするための非公開のコマンド・インターフェースをＵＳＢ／ＡＴＡブリッジ３１内に実装しており、パーソナル・コンピュータは、特殊コマンドを用いてスクランブル鍵をＳＭＡＲＴ  ｌｏｇ領域に書き込む。
【０１１１】
続いて、パーソナル・コンピュータ側では、スクランブル鍵をスクランブル値の初期値とし、データ毎にスクランブル値に一定の値ｖａｌを順次加算していくことでスクランブル値を得て、データとスクランブル値とのＸＯＲをとることによりデータを順次スクランブルすることができる。そして、スクランブルされたコンテンツを、通常のＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのコマンドを使用して、ＵＳＢハード・ディスクの内蔵ＨＤＤ３３に転送する（図４を参照のこと）。
【０１１２】
ＵＳＢハード・ディスクは、例えばＵＳＢケーブルを取り外して、自走機能によりポータブル電子機器として動作することができる。ＵＳＢハード・ディスク側では、ＡＴＡコマンドを用いて自由にアクセス可能なＳＭＡＲＴ  ｌｏｇ領域にスクランブル鍵が格納されている。コンテンツを再生するときには、ＭＰＵ３２は、デスクランブルするデータ毎にスクランブル値に一定の値ｖａｌを順次加算していき、スクランブルされたデータとスクランブル値とのＸＯＲをとることにより、データをデスクランブルする。そして、デスクランブルされたデータを復号処理して、再生コンテンツ出力部３４から映像又は音響出力する（図５を参照のこと）。スクランブル方法が簡易であることから、ＭＰＵ３２は、ＷＡＶやＭＰ３など通常のデータ復号処理に過大な負荷を与えることなくリアルタイムで実現することができる。
【０１１３】
その後、ＵＳＢハード・ディスクは、ＵＳＢケーブルを介して他のコンピュータに接続すると、所定のＣｏｎｆｉｇｕｒａｔｉｏｎ手続を経て、このコンピュータからも正規のＵＳＢデバイスとして認識される。コンピュータ側からは、ＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのコマンドを用いて、ＵＳＢハード・ディスクの内蔵ＨＤＤ３３にアクセスすることができるので、ＨＤＤ３３に格納されているコンテンツを内部にコピーすることができる。ところが、コンテンツはスクランブル処理されており、スクランブル鍵がＳＭＡＲＴ  ｌｏｇ領域に格納されていることを知らない、あるいはＳＭＡＲＴ  ｌｏｇ領域へのアクセス方法を知らないので（ＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのコマンドではアクセスできない）、スクランブル鍵を得ることができない。この結果、元のコンピュータ以外では、スクランブルされたコンテンツを取得することはできても、これをデスクランブルして再生することはできない。
【産業上の利用可能性】
【０１１４】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１１５】
本明細書では、データ・コンテンツをパーソナル・コンピュータからポータブル電子機器に転送する際に、ポータブル電子機器を他のコンピュータに接続して通常通りには再生できないようにスクランブル処理する場合を例にとって本発明の実施形態について説明してきたが、本発明の要旨はこれに限定されるものではない。これら以外の用途であっても、容易にスクランブル方法を推定することができないようにスクランブル処理し、且つコンテンツの復号処理に影響を与えることなくリアルタイムでデスクランブル処理を行ないたい局面において、同様に本発明を適用することができる。
【０１１６】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【図面の簡単な説明】
【０１１７】
【図１】図１は、パーソナル・コンピュータのハードウェア構成を模式的に示した図である。
【図２】図２は、本発明の一実施形態に係るＵＳＢデバイスのハードウェア構成を模式的に示した図である。
【図３】図３は、データ・コンテンツをパーソナル・コンピュータからポータブル電子機器に転送する運用手順を説明するための図である。
【図４】図４は、データ・コンテンツをパーソナル・コンピュータからポータブル電子機器に転送する運用手順を説明するための図である。
【図５】図５は、データ・コンテンツをパーソナル・コンピュータからポータブル電子機器に転送する運用手順を説明するための図である。
【図６】図６は、データ・コンテンツをパーソナル・コンピュータからポータブル電子機器に転送する運用手順を説明するための図である。
【符号の説明】
【０１１８】
１１…プロセッサ
１２…メモリ
１３…バス
１４…ディスプレイ・コントローラ
１５…表示装置
１６…入出力インターフェース
１７…キーボード
１８…マウス
１９…ハード・ディスク・コントローラ
２０…ハード・ディスク・ドライブ
２１…ＵＳＢコントローラ
２２…ネットワーク・インターフェース
３１…ＵＳＢ／ＡＴＡブリッジ
３２…ＭＰＵ
３３…ＨＤＤ
３４…再生コンテンツ出力部
３５…ユーザ入力部
【図１】
2005354236.tif 000004
【図２】
2005354236.tif 000005
【図３】
2005354236.tif 000006
【図４】
2005354236.tif 000007
【図５】
2005354236.tif 000008
【図６】
2005354236.tif 000009