JP4359182B2 - 計算機処理装置およびインタフェース機構 - Google Patents

計算機処理装置およびインタフェース機構 Download PDF

Info

Publication number
JP4359182B2
JP4359182B2 JP2004129491A JP2004129491A JP4359182B2 JP 4359182 B2 JP4359182 B2 JP 4359182B2 JP 2004129491 A JP2004129491 A JP 2004129491A JP 2004129491 A JP2004129491 A JP 2004129491A JP 4359182 B2 JP4359182 B2 JP 4359182B2
Authority
JP
Japan
Prior art keywords
program
content
key
reproduction
unit
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.)
Expired - Fee Related
Application number
JP2004129491A
Other languages
English (en)
Other versions
JP2005310035A (ja
Inventor
雅也 梅村
潤 北原
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004129491A priority Critical patent/JP4359182B2/ja
Publication of JP2005310035A publication Critical patent/JP2005310035A/ja
Application granted granted Critical
Publication of JP4359182B2 publication Critical patent/JP4359182B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、暗号化されたコンテンツを再生する計算機処理装置、および外部から受信する暗号化されたプログラムやコンテンツを復号するインタフェース機構に関する。
情報処理装置において著作権保護されたコンテンツ、例えばスクランブルのかかったコンテンツを再生する場合、あらかじめスクランブル解除のアルゴリズムをプログラミングした再生プログラムと、再生プログラムに内包した解除のための鍵、もしくはコンテンツを格納した記録メディアの書き換え不能な領域に書き込まれた解除のための鍵を用いてコンテンツのスクランブルを解除してからコンテンツを再生する。
しかし再生プログラムをトレースすることによってスクランブル解除のアルゴリズムを解析可能であり、スクランブル方式が特定され、また解除のための鍵が露見する可能性があった。
そのため特許文献1の図7に示されるレコーダ(101)では、メモリカード40から読み出された暗号化されたコンテンツがCPU(102)を経由してセキュリティブロック103に送られて平文化され、エンコーダ/デコーダ107によって伸張される。CPU(102)は通信路として扱われ、全てをCPU(102)に対して外付けハードウェアで処理することによって、暗号鍵等著作権を保護するための情報が露見するのを防いでいる。
特開2001−5943号公報
上記従来技術によれば、従来の情報処理装置では、再生プログラムがその実行中にトレースされることによって、著作権保護されたコンテンツにかかったスクランブル方式ないしスクランブル解除のアルゴリズムと、スクランブル解除のための鍵が露見する可能性があるという問題がある。
本発明の計算機処理装置は、従来再生プログラムが行っていたコンテンツのスクランブル解除の処理とスクランブル解除のための鍵を再生プログラムから分離し、また再生プログラムを実行する演算処理装置から切り離し、外部から暗号化された再生プログラムとコンテンツとを受信して各々復号し、平文化された再生プログラムおよびコンテンツを演算処理装置にロードする手段を備えることによって実現される。
本発明によれば、再生プログラムがスクランブル解除のためのアルゴリズムと鍵を扱うことがないので、実行中の再生プログラムからスクランブルを解除するための鍵が露呈することはないし、スクランブルされたコンテンツとスクランブル解除後のコンテンツを比較することもできない。
図1は、実施例の情報処理システムの構成図である。システムは、情報処理装置に含まれるCPU7、ストレージ/サーバ8、バス11、ソフトウェアバス12およびネットワーク13から構成される。ストレージ/サーバ8は、スクランブルのかかったコンテンツとその暗号化された再生プログラムなどを保持する装置である。ストレージ/サーバ8がストレージの場合には、コンパクトフラッシュ(登録商標)メモリやMMC/SD(super density)カードを含む。ストレージ/サーバ8がサーバの場合には、記憶装置を備えるサーバ計算機を有する。CPU7は、命令実行制御機構、レジスタ、演算器、キャッシュメモリなどを備える計算機の処理装置であり、ストレージ/サーバ8から受信した再生プログラムを復号して実行し、コンテンツのスクランブルを解除してコンテンツを再生する。
バス11は、ストレージ/サーバ8とCPU7とを接続し、両者間に転送される情報の伝送路となる機構であり、例えばPCI(peripheral component interconnect)バスやPCMCIA(personal computer memory card international association)規格の伝送路などである。ソフトウェアバス12は、ストレージ/サーバ8とCPU7間に転送される通信データを一時的に蓄えるバッファを有する機構であり、例えばPCIバスのバスブリッジやPCMCIAのコンパニオンチップなどを介して接続されるメモリ上の記憶領域である。ストレージ/サーバ8がストレージの場合には、ストレージ/サーバ8は直接バス11に接続される。ストレージ/サーバ8がサーバの場合には、ネットワーク13と図示しないネットワークアダプタカードを介してバス11に接続される。
CPU7、バス11およびソフトウェアバス12は、コンテンツ再生装置の一部を構成していてもよい。あるいはコンテンツ再生装置に付属する装置であってもよい。
CPU7は、バスインタフェース1と保護領域6を備える。保護領域6は、動作モードの切替によってCPU7に内蔵される命令実行制御機構、演算器、レジスタ、キャッシュメモリなどの機構を本発明のコンテンツ再生のためにのみ使用されるように専用化された領域として設定されたものである。保護領域6は、そのメモリに復号された再生プログラムおよびスクランブルが解除されたコンテンツを格納し、再生プログラムを実行することによってコンテンツを再生する。通常の情報処理装置は、CPU7の外部に主メモリを備えるが、この主メモリに格納される他のプログラムから保護領域6内の情報にアクセスすることはできない。
バスインタフェース1は、ソフトウェアバス12と保護領域6の間に介在し、ストレージ/サーバ8から転送された再生プログラムを復号して保護領域のメモリにロードし、ストレージ/サーバ8から転送されたコンテンツのスクランブルを解除して保護領域6のメモリに転送する。なおCPU7の全体がコンテンツ再生専用に利用されるのであれば、CPU7全体が保護領域なので、CPU7は特に保護領域6を設定する必要がない。バスインタフェース1と保護領域6は、1つのCPUチップ上に構成されるのが望ましい。
なお図示していないが、バス11又は別のネットワークを介してモニタディスプレイやスピーカが接続される。
バスインタフェース1は、ソフトウェアバス12あるいはバス11とのインタフェースとなって情報を送受信する機構のほかに、認証部9、鍵保持部3、再生鍵保持部4、復号器2および転送制御部5の各ユニットを備える。認証部9は、ストレージ/サーバ8とCPU7との間の相互認証の手続きを実行する機構である。鍵保持部3は、再生プログラムを復号するための復号鍵や再生鍵を除くその他関連する鍵を保持する機構である。再生鍵保持部4は、コンテンツを平文化するための再生鍵を保持する機構である。復号器2は、ストレージ/サーバ8から受信した再生プログラムおよびコンテンツを復号して保護領域6のメモリにロードする機構である。転送制御部5は、保護領域6内のプログラムあるいは命令実行制御機構が発行する再生プログラムやコンテンツの転送を要求するための指令を受けて、バスインタフェース1内の他の機構の動作を制御するとともに、要求をストレージ/サーバ8へ転送する機構である。なおバスインタフェース1の呼び名は便宜的なものであり、認証部9、鍵保持部3、再生鍵保持部4および復号器2がソフトウェアバス12あるいはバス11とのインタフェース部から分離していてもよい。
CPU7は、保護領域6を設定する必要がある装置では、その起動時もしくは必要に応じて保護領域6を設定し、その各機構を初期化する。引き続きCPU7は、保護領域6のメモリに格納され実行されるプログラムをロードするための指令をバスインタフェース1の転送制御部5へ送信する。転送制御部5は、この要求をストレージ/サーバ8へ送信する。
ストレージ/サーバ8がネットワーク13を介してCPU7に接続されているサーバである場合、CPU7上の通信プロトコルスタックは、ソフトウェアバス12のバッファを管理する。バスインタフェース1は、ストレージ/サーバ8へ送信するデータを暗号化し、ソフトウェアバス12のバッファに蓄える。次にCPU7で動作する通信プロトコルスタックがその処理を引継ぎ、通信パケットのパケットヘッダを作成し、引き渡されたデータをこの通信パケットのペイロードに組み込んでパケットを完成する。次にCPU7は、完成したパケットをバス11およびネットワークアダプタカードを介してネットワーク13に送出し、ストレージ/サーバ8へ送信する。
CPU7がストレージ/サーバ8から受信するパケットは、ソフトウェアバス12のバッファに格納される。CPU7の通信プロトコルスタックは、そのパケットにエラーがないことを確認した後、ペイロードからデータを取り出し、ソフトウェアバス12のバッファ領域に一時的に蓄える。バスインタフェース1は、このデータを復号して保護領域6のメモリに書き込み、受信動作が完了する。
図2は、認証手続きからコンテンツの転送までCPU7とストレージ/サーバ8との間の通信手順を示す図である。以下、図2を参照しながらこの通信手順について順を追って説明する。
(1)ストレージ/サーバ8からCPU7へ送られソフトウェアバス12のバッファに格納される最初のプログラムには証明書が添付され、証明書もしくは証明書と初期プログラムは暗号化されている。バスインタフェース1の復号器2は、暗号化された証明書もしくは証明書と初期プログラムを復号する。認証部9は、復号化された証明書の記載を認証する。このプログラムが正当なものと判定されると、バスインタフェース1は、この初期プログラムを保護領域6のメモリにロードし、このプログラムが実行される。バスインタフェース1は、ストレージ/サーバ8を認証するのではなく、プログラムになされた署名と添付された証明書に基づいて初期プログラムが信用できるものか否かを判定する。初期プログラムに復号鍵が付加されている場合、バスインタフェース1は、この鍵を鍵保持部3に格納する。初期プログラムは、命令実行制御機構を介して転送制御部5に再生プログラムのロード指令を送る。
(2)認証部9は、ストレージ/サーバ8との間で転送鍵を取り決める。転送鍵としてストレージ/サーバ8で生成された乱数が利用される。この転送鍵はCPU7とストレージ/サーバ8の間で共有される。
(3)CPU7は、この転送鍵を用いてCPU7とストレージ/サーバ8との間でVPN(virtual private network)を確立する。ここでCPU7とストレージ/サーバ8との間にはセキュアな論理チャネルが確立される。バスインタフェース1は、転送鍵を鍵保持部3に格納する。
(4)転送制御部5は、ストレージ/サーバ8へ指令を送り、バスインタフェース1は、暗号化された再生プログラムを受信する。復号器2は、鍵保持部3に格納された復号鍵を用いて再生プログラムを平文化し、保護領域6のメモリにロードする。
(5)CPU7は、保護領域6に含まれる命令実行制御機構、演算器およびレジスタを駆動してそのメモリに格納される再生プログラムの命令を実行する。再生プログラムは、転送制御部5を介してストレージ/サーバ8へコンテンツを指定するコンテンツのロード指令を送り、そのコンテンツに付加されている再生鍵を受信する。復号器2は、受信した再生鍵を転送鍵で復号して再生鍵保持部4に格納する。
(6)バスインタフェース1は、暗号化されたコンテンツを受信する。コンテンツには証明書が付加されており、復号器2はこの証明書を転送鍵で復号する。認証部9は、復号された証明書の記載を認証する。このコンテンツが正当なものと判定されると、復号器2は、再生鍵保持部4に格納された再生鍵を用いてコンテンツの復号を行い、平文化されたコンテンツを保護領域6のメモリにロードする。保護領域6の再生プログラムは、受け取ったコンテンツをデコードした後に順次再生する。再生プログラムは、バス11又は図示しないネットワークを介して接続されるモニタディスプレィやスピーカに対してデータ出力のためのシステムコールあるいは出力命令を発行する。システムコールは、再生プログラム内のサブプログラム、保護領域6のファームウェアなどによって実行される。
コンテンツの再生が終了すると、再生プログラムは、CPU7に対して終了命令を発行し、保護領域6の命令実行制御機構は転送制御部5へ終了信号を送る。転送制御部5は、この終了信号を受け取り、再生鍵保持部4の鍵消去手段が保持していた再生鍵を消去する。また再生プログラムの実行が終了すると、バスインタフェース1は、保護領域6中の再生プログラムを消去する。バスインタフェース1の鍵保持部3は、保持していたは転送鍵や復号鍵を消去する。CPU7は、再生プログラムの消去に続いて、保護領域6を解除する。これによってバスインタフェース1は、復号器2を用いるようなプログラムやコンテンツのロード要求を不受理とするモードに移行し、鍵保持部3および再生鍵保持部4を初期化する。
上記のように保護領域6には平文化された初期プログラム、再生プログラムおよびコンテンツがロードされる。再生プログラムは、コンテンツを再生処理、例えば動画像のデコード処理と表示を行うことができる。再生処理実行中はもちろん、実行の前後で証明書や復号鍵、転送鍵、再生鍵が保護領域6に出現することはなく、再生プログラムがこれらの鍵や証明書を扱うことはない。
また保護領域6のメモリに格納され実行されるプログラムは、転送制御部5に指示することによって、次に実行する他のプログラムやコンテンツをロードする。プログラムが直接外部にコマンドや保護領域6内のデータを出力しない構成となっているので、バグや誤動作によって保護領域6内からデータが漏洩することはない。
上記のようにバスインタフェース1が鍵の管理および暗号文の復号を行うので、コンテンツを再生する再生プログラムは、相互認証や鍵交換、鍵管理、平文化といった処理を行う必要がなくなり、コンテンツ再生に特化できプログラムを簡単化できる。
CPUは、認証処理や鍵交換、鍵管理、平文化といった処理を実行することがないので、CPUの処理量を削減でき、性能改善が期待できる。
バスインタフェース1に保持される鍵もしくは鍵交換で取得した鍵は、CPU7のいずれのリソースからも読み出しできないので、鍵が漏洩することはない。
保護領域6内に格納されるプログラムは、暗号文を知ることができないので、暗号文とその平文を比較することができない。従って両者の比較によって復号鍵や再生鍵を算出することはできない。
同様に平文化したプログラムやデータを保護領域6からその外部に出力できないので、保護領域外のプログラムが暗号文と平文を比較することはできず、鍵を算出することはできない。
特に保護領域にロードするプログラムの認証により、保護領域外へ平文化されたデータを故意に出力したり、オール1のデータを暗号化し、その結果の平文を出力する暗号鍵のクラッキング目的のプログラムを排除することができる。
またCPU7とストレージ/サーバ8は、クライアントサーバモデルに相当し、CPU7は、ストレージ/サーバ8の依頼によって一連のプログラムのロードと実行、コンテンツのリードを行っている図式となる。本発明は、この図式においてCPU7にとって未知の得体の知れないプログラムやコンテンツについてバスインタフェース1が認証を行い、正当なものと認証してから保護領域6にロードするので、個々のプログラムの安全性を確認することができる。
図3及び図4を用いてバスインタフェース1と保護領域6の状態について逐次説明する。バスインタフェース1と保護領域6は、再生プログラムのロードからアンロードまでの間に図3及び図4に示す8つの状態を経由する。
図3の状態201において、CPU7はリセット直後であり、バスインタフェース1はリセットされ、保護領域6は未設定状態であり実在しない。
状態202でCPU7が必要に応じて動作モードの切替により保護領域を設定すると、保護領域6は空の状態、例えばゼロフィルされた状態になり、同時に鍵保持部3に認証局の公開鍵KpCAがロードされる。次の状態203で図2の(1)の段階を迎える。
状態203でCPU7が転送制御部5に初期プログラムであるセレクタアプリケーションのロードを指示するとセレクタアプリケーションが保護領域6にロードされる。ロードの際、セレクタアプリケーションは、証明書とセレクタアプリケーションの秘密鍵KsAPが付加され、KsCAによって暗号化されている。バスインタフェース1の復号器2は、鍵保持部3にセットされるKpCAで平文化し、証明書の記載と比較し正当なプログラムと判定すると保護領域6にロードし、実行に移る。同時にバスインタフェース1は、セレクタアプリケーションの秘密鍵KsAPを鍵保持部3に追加する。
引き続きセレクタアプリケーションは、ストレージ/サーバ8に格納しているコンテンツの再生プログラムであるソフトプレーヤアプリケーションのロードを転送制御部5に指示する。
指示を受けた転送制御部5は、保護領域6のリセットをバスインタフェース1に要求し、バスインタフェース1の図示しないメモリ消去部は、保護領域6のセレクタアプリケーションを消去する。以上の処理を終えると次の状態204で図2の(2)の段階を迎える。
状態204で認証部9は、転送制御部5を介してストレージ/サーバ8との間で乱数の交換を経て転送鍵KTransを取り決め、転送制御部5はソフトプレーヤアプリケーションの転送を始める。この時点で図2の(2)と(3)の段階を迎える。
状態205で保護領域6にロードされたソフトプレーヤアプリケーションが実行される。ソフトプレーヤアプリケーションは、転送制御部5にコンテンツのロードを指示し、図2の(5)の段階を迎える。
本実施例ではロードされるコンテンツに対応したコンテンツの再生鍵がまずロードされる。コンテンツの再生鍵KsCNTにはコンテンツ鍵の証明書が付加されており、バスインタフェース1は、認証部9によりロード時に証明書の記載と比較し正当な再生鍵と判定すると、再生鍵を再生鍵保持部4に格納する。同時に再生鍵保持部4から復号器2に再生鍵KsCNTをセットしコンテンツの到着を待つ。この状態でCPU7は図2の(6)の段階に移行する。復号器2は、到着したコンテンツをKsCNTで復号を行い、保護領域6にロードする。コンテンツのロードが始まるとソフトプレーヤアプリケーションが実行されコンテンツをデコードし再生する。
再生が終了すると図2の(6)の段階を終え、後処理に移る。状態205の状態を保つことも可能であるが、本実施例のソフトプレーヤアプリケーションはコンテンツをアンロードする。バスインタフェース1は、鍵保持部3の転送鍵KTrans、再生鍵保持部4の再生鍵KsCNTを消去し状態206となる。
ソフトプレーヤアプリケーションの実行が終了すると、バスインタフェース1のメモリ消去部は、保護領域6からソフトプレーヤアプリケーションを消去し状態207となる。
CPU7は、その動作モードを切り替え、保護領域6を未設定状態にする。これによってバスインタフェース1は、終了信号を受けて鍵保持部3および再生鍵保持部4の内容を消去し、状態208になる。
この後、CPU7が再度保護領域を設定すると状態202に移行し、状態203,204,205を経ることで再度コンテンツの再生が可能である。
以上の説明のとおり、本実施例では保護領域6にただちにソフトプレーヤアプリケーションをロードせず、セレクタアプリケーション、ソフトプレーヤアプリケーションの順でプログラムのロードを行っている。この個別のロード手順により、セレクタアプリケーションの認証とソフトプレーヤアプリケーションの認証に使う鍵をKpCA,KsAPと使い分けることができる。これによってそれぞれのプログラムを出荷する事業者が個別にプログラムの認証を受けることができる。例えば汎用的なセレクタアプリケーションはOSベンダが配信し、ソフトプレーヤアプリケーションはコンテンツを配信するサービスプロバイダが提供するという図式が成り立つのである。
特に各々のプログラムをロードする際、ロードを指示したプログラムが保護領域6から消去されるため、次にロードされるプログラムは、消去されたプログラムの内容や消去されたプログラムがどのリソースを扱ったか等の情報を参照できない。これによって保護領域6内でプログラム間のクラッキングを防ぐことができる。
またKpCA,KsAPについても、プログラムについて任意に変更が可能であるためコンテンツごとにKsAPを変更可能であり、例えばKsAPがクラッキングされ、KsAPが露呈した場合の被害範囲も限定できる。
図5および図6を用いて、状態203,204,205の移行過程について説明する。
状態401でCPU7は、セレクタアプリケーション中のLoadApliコマンドを実行する。実行の結果、転送制御部5にソフトプレーヤアプリケーションのロードが指示される。指示を受けた転送制御部5は、保護領域6のリセットをバスインタフェース1に要求する。バスインタフェース1のメモリ消去部は、保護領域6のセレクタアプリケーションを消去し状態402になる。
バスインタフェース1は、認証部9によりストレージ/サーバ8と認証を行い、乱数の交換を経て転送鍵KTransを取り決め、状態403になる。
引き続き、バスインタフェース1は、ソフトプレーヤアプリケーションの転送を始める。ソフトプレーヤアプリケーションは、証明書が付加され、秘密鍵KsAPで暗号化されている。バスインタフェース1の復号器2は、鍵保持部3にセットされるKsAPでソフトプレーヤアプリケーションを平文化し、認証部9が証明書の記載と比較し正当なプログラムと判定すると保護領域6にロードし、状態404になる。
ソフトプレーヤアプリケーションが実行に移ると、CPU7は、ソフトプレーヤアプリケーション中のReadDataコマンドを実行する。その結果、転送制御部5にコンテンツのロードが指示され状態405になる。
指示を受けた転送制御部5は、コンテンツのロードを開始するが、コンテンツに対応したコンテンツの再生鍵がまずロードされる。コンテンツの再生鍵KsCNTにはコンテンツ鍵の証明書が付加されており、バスインタフェース1の転送制御部5は、認証部9によりロード時の証明書の記載と比較し正当な再生鍵と判定されると、再生鍵保持部4に格納する。同時に再生鍵保持部4から復号器2に再生鍵KsCNTをセットしコンテンツの到着を待つ。復号器2は、到着したコンテンツをKsCNTで復号し、保護領域6にロードする。ロードが始まるとソフトプレーヤアプリケーションが実行されコンテンツをデコードして再生し状態406になる。
バスインタフェース1は、LoadApliコマンドとReadDataコマンドを判別することによって、保護領域6内のプログラムを消去するか消去しないか判定できる。またバスインタフェース1は、具備する鍵保持部3と再生鍵保持部4を使い分けている。
以上示したLoadApliとReadDataは、CPU7の命令セットで実装されるのが望ましいが、OSのサービスルーチンとして実装し、保護領域6で実行するプログラムがそのサービスルーチンをコールし実行しても構わない。この場合のOSとは、システムコールを解釈してバスインタフェース1にI/O命令あるいは指令を発行するだけの処理機能をもてばよいので、アプリケーションプログラム中に内蔵することも可能である。あるいは保護領域6のファームウェアによってOSを実現してもよい。
LoadApliやReadDataのような複合命令もしくはコマンドを実装し、これら複合命令もしくはコマンドがバスインタフェース1より外側のストレージ/サーバ8に認証手順と暗黙の暗号鍵の保持と利用、平文化したプログラムないしデータの保護領域6への書き込みを行うことによって、セレクタアプリケーションやソフトプレーヤアプリケーションは認証や暗号処理から開放され、コンテンツ再生に特化でき、プログラムを簡単化できる。
また複合命令もしくはコマンドの操作対象や利用するリソースを限定できるため、万一悪意をもったプログラムが保護領域6で実行されても、保護領域外へ平文化されたデータを出力したり、オール1のデータを暗号化してその結果の平文化を出力する等の暗号鍵のクラッキングを排除することができる。
各々のプログラムをロードする際、ロードを指示したプログラムが保護領域6から消去されるため、次にロードされるプログラムは消去されたプログラムや消去されたプログラムがどのリソースを扱ったか等の情報を参照できないので、保護領域6内でプログラム間のクラッキングを防ぐことができる。
プログラムロード中に保護領域6は空であるが、バスインタフェース1が複合命令ないしコマンドLoadApliの実行を続けることによって、CPU7がハングアップしたり異常終了することを防ぐことができる。
図7及び図8を用いて保護領域6を設定した時点で鍵保持部3にセットされる認証局の鍵KpCAを変更する手順について説明する。
図7の状態601でCPU7は、セレクタアプリケーション中のLoadApliコマンドを実行する。実行の結果、転送制御部5に鍵変更アプリケーションのロードが指示される。指示を受けた転送制御部5は、保護領域6のリセットをバスインタフェース1に要求する。バスインタフェース1のメモリ消去部は、保護領域6のセレクタアプリケーションを消去し、同時に鍵保持部3にCPU7の秘密鍵KsHidが追加され、状態602になる。
転送制御部5は、認証部9によりストレージ/サーバ8との間の認証を行った後、乱数の交換を経て転送鍵KTransを取り決め、状態603になる。
引き続き、転送制御部5は、鍵変更アプリケーションの転送を始める。鍵変更アプリケーションは、証明書と新しい認証局の公開鍵KpCA’が付加され、秘密鍵KsHidで暗号化されている。バスインタフェース1の復号器2は、鍵保持部3がセットしたKsHidで鍵変更アプリケーションを平文化し、認証部9により証明書の記載と比較し正当なプログラムと判定されると保護領域6にロードし、同時に新しい公開鍵KpCA’を鍵保持部3に追加し、状態604になる。
認証局の公開鍵KpCA’が追加された後、CPU7は、鍵変更アプリケーションのLoadApliコマンドを実行する。その結果、転送制御部5に鍵テストアプリケーションのロードが指示される。指示を受けた転送制御部5は、保護領域6のリセットをバスインタフェース1に要求する。バスインタフェース1のメモリ消去部は、保護領域6の鍵変更アプリケーションを消去する。
転送制御部5は、ストレージ/サーバ8と認証を行う手順によって、認証部9により認証局もしくそれに準じるサーバと認証を行い、乱数の交換を経て転送鍵KTrans’を取り決め、状態605になる。
この後、CPU7は、鍵テストアプリケーションのロードを開始する。鍵テストアプリケーションは、証明書が付加され、KsCA’で暗号化されている。バスインタフェース1の復号器2は、鍵保持部3にセットされるKpCA’で平文化し、認証部9が証明書の記載と比較し正当なプログラムと判定すると保護領域6にロードし、状態606となる。
鍵テストアプリケーションのロードに成功すると、CPU7は、鍵テストアプリケーションを実行する。鍵テストアプリケーションは、FixKeyコマンドを実行する。その結果、バスインタフェース1は、鍵テストアプリケーションを消去し、同時に鍵保持部3はKsHid同様内々に保持している認証局の公開鍵KpCAをKpCA’に置き換え、状態608になる。
以上の説明の通り、本実施例では汎用的なセレクタアプリケーション、鍵変更アプリケーション、鍵テストアプリケーションの順でプログラムのロードを行うことによって、順を追って認証、新しい鍵の取得、新しい鍵のテストと交換を分担している。この分担において、各々のプログラムをロードする際、ロードを指示したプログラムが保護領域6から消去されるため、次にロードされるプログラムは、消去されたプログラムの内容や消去されたプログラムがどのリソースを扱ったか等の情報を参照できない。これによって保護領域6内でプログラム間のクラッキングを防ぐことができる。
プログラムロード中に保護領域6は空であるが、バスインタフェース1が複合命令ないしコマンドのLoadApliの実行を続けることによってCPU7がハングアップしたり異常終了することを防ぐことができる。
またKpCAの更新のときCPU7固有のKsHidを利用するが、KsHidの存在はCPU7の製造者と認証局のみの秘匿情報であり、利用手順も非公開である。本実施例は、認証時にKsHidを用いているが、認証局はCPU7の製造者に問い合わせて入手するためKsHidの利用者を限定できる。またCPU7は、認証に用いる以外KsHidを利用できないので、保護領域6内のプログラムがオール1のデータをKsHidで暗号化してその結果の平文を保護領域外に出力する等の暗号鍵のクラッキングを排除することができる。
このKsHidを用いることによって、安全にKpCAの更新を行うことができる。例えば利用者やコンテンツの配信者の都合でサービスにかかわる認証局が異なる場合でも、バスインタフェース1に保持する認証局のKpCAの更新により利用する認証局を切り替えることができる。
認証局は秘密鍵KsHidを利用しているが、公開鍵暗号で対になる公開鍵KpHidを利用してもKpCAの更新ができる。
図9にバスインタフェース1に到着する時点において、ストレージ/サーバ8が格納しているプログラムやコンテンツのパッケージ構成を示す。
パッケージ801は、セレクタアプリケーションであり、セレクタアプリケーションとその証明書、セレクタアプリケーションの秘密鍵KsAPと証明書が認証局の公開鍵KpCAで署名されている。
パッケージ802は、認証の際に交換される乱数であり、KsAPで暗号化されている。
パッケージ803は、KsAPで暗号化されたソフトプレーヤアプリケーションと、認証局のKpCAで署名されたソフトプレーヤアプリケーションの証明書であり、転送鍵KTransで暗号化されている。
パッケージ804は、認証局の公開鍵KpCAで署名されたコンテンツの再生鍵KsCNTと証明書であり、転送鍵KTransで暗号化されている。
パッケージ805は、コンテンツの再生鍵KsCNTで暗号化されたコンテンツであり、転送鍵KTransで暗号化されている。
パッケージ806は、鍵変更アプリケーションであり、鍵変更アプリケーションと証明書、認証局の公開鍵KpCA’と証明書がKsHidで署名され、転送鍵KTransで暗号化されている。
パッケージ807は、鍵テストアプリケーションであり、鍵テストアプリケーションと証明書が認証局のKpCA’で署名され、KsHidで暗号化され、転送鍵KTransで暗号化されている。
以上図9に示したとおり、バスインタフェース1の鍵保持部3および再生鍵保持部4を駆使することにより、セレクタアプリケーション、ソフトプレーヤアプリケーションおよびコンテンツを別々の鍵で保護でき、またこの保護により、どれか一つの鍵が露呈してもその被害範囲を限定することができる。
ストレージ/サーバ8が特にストレージであってMMC/SDカードのようなリムーバブルな記録媒体であると、本発明によりソフトプレーヤアプリケーションとコンテンツ鍵とコンテンツを一つの記録媒体に格納し配布することが可能となる。
実施例の情報処理システムの構成図である。 認証手続きからコンテンツの再生までの実施例の通信手順を示す図である。 実施例の動作の概要を示す図である。 実施例の動作の概要を示す図(続き)である。 実施例のソフトプレイヤアプリケーション実行手順の詳細を示す図である。 実施例のソフトプレイヤアプリケーション実行手順の詳細を示す図(続き)である。 実施例の鍵変更アプリケーションの実行手順の詳細を示す図である。 実施例の鍵変更アプリケーションの実行手順の詳細を示す図(続き)である。 実施例のプログラムやコンテンツのパッケージ構成を示す図である。
符号の説明
1:バスインタフェース、2:復号器、3:鍵保持部、4:再生鍵保持部、5:転送制御部、6:保護領域、8:ストレージ/サーバ、9:認証部、11:バス

Claims (19)

  1. 計算機処理装置に内蔵される命令実行制御機構、演算器、レジスタおよびメモリについて、前記計算機処理装置に保持する設定情報の動的な設定変更に従い前記命令実行制御機構、前記演算器、前記レジスタおよび前記メモリの一部を特定の処理が専用的に使用するように設定された保護領域であり、
    前記特定の処理は前記保護領域の前記メモリに再生プログラムおよびコンテンツをロードして前記再生プログラムを実行することにより前記コンテンツを再生する処理であるところの前記保護領域と、
    外部から暗号化された前記再生プログラムと前記コンテンツとを受信して各々復号し、前記保護領域の前記メモリにロードする手段を備えるインタフェース機構とを有することを特徴とする計算機処理装置。
  2. 前記インタフェース機構は、さらに証明書が添付された前記再生プログラムを受信し、前記再生プログラムを前記保護領域にロードする前に前記証明書の記載を認証することによって前記再生プログラムが正当なプログラムであるか否か判定する認証手段を有することを特徴とする請求項1記載の計算機処理装置。
  3. 前記インタフェース機構は、さらに転送鍵によって暗号化された前記再生プログラムと前記コンテンツとを受信し、前記転送鍵によって前記再生プログラムと前記コンテンツとを復号する手段を有することを特徴とする請求項1記載の計算機処理装置。
  4. 前記保護領域は、前記再生プログラムをロードして実行する前にセレクタアプリケーションをロードして実行し、前記セレクタアプリケーションが前記インタフェース機構に前記再生プログラムのロード指令を発行し、前記インタフェース機構は、外部から暗号化された前記セレクタアプリケーションを受信して復号し、前記保護領域にロードし、前記ロード指令を受けて外部に前記再生プログラムを要求することを特徴とする請求項1記載の計算機処理装置。
  5. 前記インタフェース機構は、前記ロード指令を受けたとき、前記メモリ中の前記セレクタアプリケーションを消去することを特徴とする請求項4記載の計算機処理装置。
  6. 前記計算機処理装置は、動作モードの切替によって前記保護領域を設定するか設定解除するよう制御することを特徴とする請求項1記載の計算機処理装置。
  7. 前記インタフェース機構は、前記保護領域から前記コンテンツの再生終了を示す信号を受けて前記メモリ中の内容を消去し、前記インタフェース機構内に保持されていた鍵情報を消去することを特徴とする請求項1記載の計算機処理装置。
  8. 請求項1に記載の計算機処理装置を含むコンテンツ再生装置。
  9. 計算機のバス伝送路と、演算処理装置との間に介在するインタフェース機構であって、
    前記インタフェース機構は、前記バス伝送路を介して外部から暗号化された再生プログラムおよびコンテンツを受信する受信部と、前記再生プログラムおよび前記コンテンツを復号するための鍵を保持する手段と、前記鍵を用いて前記再生プログラムおよび前記コンテンツを復号して前記演算処理装置にロードする復号器と、前記演算処理装置から指令を受けて前記インタフェース機構の動作を制御する転送制御部とを有し、
    前記演算処理装置は、内蔵される命令実行制御機構、演算器、レジスタおよびメモリについて、前記演算処理装置に保持する設定情報の動的な設定変更に従い前記命令実行制御機構、前記演算器、前記レジスタおよび前記メモリの一部を特定の処理が専用的に使用するように設定された装置であり、前記特定の処理は前記メモリの一部に前記再生プログラムおよび前記コンテンツをロードして前記再生プログラムを実行することにより前記コンテンツを再生する処理であることを特徴とするインタフェース機構。
  10. 前記インタフェース機構は、さらに証明書が添付された前記再生プログラムを受信し、前記再生プログラムを前記演算処理装置にロードする前に前記証明書の記載を認証することによって前記再生プログラムが正当なプログラムであるか否か判定する認証手段を有することを特徴とする請求項9記載のインタフェース機構。
  11. 前記復号器は、さらに転送鍵によって暗号化された前記再生プログラムと前記コンテンツとを受信し、前記転送鍵によって前記再生プログラムと前記コンテンツとを復号する手段を有することを特徴とする請求項9記載のインタフェース機構。
  12. 前記インタフェース機構は、前記演算処理装置から前記コンテンツの再生終了を示す信号を受けて前記演算処理装置にロードされた前記再生プログラムおよび前記コンテンツを消去する手段を有することを特徴とする請求項9記載のインタフェース機構。
  13. 計算機のバス伝送路と、演算処理装置との間に介在するバスインタフェースであって、前記バス伝送路を介して外部から暗号化された再生プログラムおよびコンテンツを受信する受信部と、前記再生プログラムおよび前記コンテンツを復号するための鍵を保持する手段と、前記鍵を用いて前記再生プログラムおよび前記コンテンツを復号して前記演算処理装置に送信する復号器と、前記演算処理装置から指令を受けて前記復号器の動作を制御する転送制御部とを有するバスインタフェースと、
    命令実行制御機構、演算器、レジスタおよびキャッシュメモリを内蔵し、動作モードの切替によって前記命令実行制御機構、前記演算器、前記レジスタおよび前記キャッシュメモリを特定の処理が専用的に使用するように設定され、前記特定の処理は前記バスインタフェースから受信した前記再生プログラムと前記コンテンツを前記キャッシュメモリにロードして前記コンテンツを再生するために前記再生プログラムを実行する処理であるところの演算処理装置とを具備することを特徴とする計算機処理装置。
  14. 前記計算機処理装置は、さらに証明書が添付された前記再生プログラムを受信し、前記再生プログラムを前記キャッシュメモリにロードする前に前記証明書の記載を認証することによって前記再生プログラムが正当なプログラムであるか否か判定する認証手段を有することを特徴とする請求項13記載の計算機処理装置。
  15. 前記復号器は、さらに転送鍵によって暗号化された前記再生プログラムと前記コンテンツとを受信し、前記転送鍵によって前記再生プログラムと前記コンテンツとを復号する手段を有することを特徴とする請求項13記載の計算機処理装置。
  16. 前記演算処理装置は、前記再生プログラムをロードして実行する前にセレクタアプリケーションを前記キャッシュメモリにロードして実行し、前記セレクタアプリケーションが前記転送制御部に前記再生プログラムのロード指令を発行し、前記復号器は、外部から暗号化された前記セレクタアプリケーションを受信して復号し、前記キャッシュメモリにロードし、前記転送制御部は、前記ロード指令を受けて外部に前記再生プログラムを要求することを特徴とする請求項13記載の計算機処理装置。
  17. 前記転送制御部は、前記ロード指令を受けたとき、前記キャッシュメモリ中の前記セレクタアプリケーションを消去する手段を駆動することを特徴とする請求項16記載の計算機処理装置。
  18. 前記転送制御部は、前記演算処理装置から前記コンテンツの再生終了を示す信号を受けて前記メモリ中の内容を消去する手段を駆動し、前記鍵を消去する手段を駆動することを特徴とする請求項13記載の計算機処理装置。
  19. 請求項13に記載の計算機処理装置を含むコンテンツ再生装置。
JP2004129491A 2004-04-26 2004-04-26 計算機処理装置およびインタフェース機構 Expired - Fee Related JP4359182B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004129491A JP4359182B2 (ja) 2004-04-26 2004-04-26 計算機処理装置およびインタフェース機構

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004129491A JP4359182B2 (ja) 2004-04-26 2004-04-26 計算機処理装置およびインタフェース機構

Publications (2)

Publication Number Publication Date
JP2005310035A JP2005310035A (ja) 2005-11-04
JP4359182B2 true JP4359182B2 (ja) 2009-11-04

Family

ID=35438702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004129491A Expired - Fee Related JP4359182B2 (ja) 2004-04-26 2004-04-26 計算機処理装置およびインタフェース機構

Country Status (1)

Country Link
JP (1) JP4359182B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5034227B2 (ja) 2005-11-29 2012-09-26 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
EP3267649B1 (en) 2016-07-08 2019-02-13 Omron Corporation Method and industrial computing apparatus for performing a secure communication

Also Published As

Publication number Publication date
JP2005310035A (ja) 2005-11-04

Similar Documents

Publication Publication Date Title
US11651113B2 (en) Program execution device
KR100503588B1 (ko) 불휘발성 메모리를 갖는 기록 장치
JP4856400B2 (ja) 記憶装置及び情報処理端末
US7953098B2 (en) Method for limiting utilizing terminal of contents, and storage device and system for method
US8452988B2 (en) Secure data storage for protecting digital content
KR100827882B1 (ko) 인증통신용 반도체 장치
US20050268174A1 (en) Semiconductor device, electronic apparatus, and access control method of the semiconductor device
US20070113079A1 (en) Data processing apparatus
US20090089593A1 (en) Recording system, information processing apparatus, storage apparatus, recording method, and program
US20130159707A1 (en) Host Device and Method for Super-Distribution of Content Protected with a Localized Content Encryption Key
KR20040015798A (ko) 콘텐츠 판독장치
US20100293392A1 (en) Semiconductor device having secure memory controller
US7275161B2 (en) Method, system, device and computer program for mutual authentication and content protection
JP2007501481A (ja) 暗号化指示情報を有する記録媒体
JP2007310601A (ja) マイクロコンピュータおよびそのソフトウェア保護方法
JP2002244989A (ja) デバイスドライバ作動方法
JP4359182B2 (ja) 計算機処理装置およびインタフェース機構
JP2005285287A (ja) 記録再生装置及び方法
KR20060108627A (ko) 라이센스 정보 관리 장치 및 라이센스 정보 관리 방법
JP4564572B1 (ja) 送信装置、受信装置及びコンテンツ送受信方法
US20130103953A1 (en) Apparatus and method for encrypting hard disk

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060731

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090306

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: 20090721

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: 20090807

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130814

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees