JP4702596B2 - Decoding circuit, decoding device, decoding method, and decoding program - Google Patents
Decoding circuit, decoding device, decoding method, and decoding program Download PDFInfo
- Publication number
- JP4702596B2 JP4702596B2 JP2005055163A JP2005055163A JP4702596B2 JP 4702596 B2 JP4702596 B2 JP 4702596B2 JP 2005055163 A JP2005055163 A JP 2005055163A JP 2005055163 A JP2005055163 A JP 2005055163A JP 4702596 B2 JP4702596 B2 JP 4702596B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- version
- valid
- input
- decryption
- 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
Links
Images
Description
本発明は復号回路、復号装置、復号方法及び復号プログラムに関し、例えば暗号化データを復号するモジュールに適用して好適なものである。 The present invention relates to a decryption circuit , a decryption apparatus, a decryption method, and a decryption program , and is suitable for application to a module for decrypting encrypted data, for example.
近年、インターネット等のネットワークを介した種々のコンテンツ配信サービスが広く普及している。このようなコンテンツ配信サービスでは、CDやDVDといった媒体を介してではなく、コンテンツのデータ(以下、これをコンテンツデータとも呼ぶ)そのものを所定のサーバからネットワークを介してユーザの端末に提供するようになされているため、コンテンツの不正利用を防止することがいっそう強く求められており、このため様々なセキュリティ対策が講じられている。 In recent years, various content distribution services via networks such as the Internet have become widespread. In such a content distribution service, content data (hereinafter also referred to as content data) itself is provided from a predetermined server to a user terminal via a network, not via a medium such as a CD or a DVD. Therefore, there is a strong demand for preventing unauthorized use of content, and various security measures have been taken.
このようなセキュリティ対策のひとつとして、外部からの不正な解析や改竄を困難にした特殊なモジュール(いわゆるタンパレジスタントモジュール)を実装した端末が広く利用されている(例えば特許文献1参照)。 As one of such security measures, a terminal equipped with a special module (so-called tamper resistant module) that makes unauthorized analysis or tampering from outside difficult is widely used (see, for example, Patent Document 1).
実際上、このようなモジュールを実装した端末では、例えば、コンテンツの利用に係わる暗号化データの復号を、このモジュール内で実行することにより、この復号の処理をブラックボックス化して、コンテンツの不正利用を防止するようになされている。
ところで、上述のようなモジュールが、ある程度限定された目的に使用するデータの暗号化を行う場合、予めモジュール内に、暗号化データの復号に使用する鍵を書き込んでおくことが多い。このようにすれば、モジュールに対して、所望の暗号化データを入力するだけで、モジュールの出力から、暗号化データを復号したデータを得ることができるので、モジュールに対する煩雑な操作を行うことなく、モジュールを利用することができる。このように、モジュールの利用を簡易化することは、例えば、端末の製造業者(すなわちモジュールの利用者)に対して、モジュールを単体で配布するような場合、大きな利点となる。 By the way, when the above-described module encrypts data used for a purpose limited to some extent, a key used for decrypting encrypted data is often written in the module in advance. In this way, it is possible to obtain data obtained by decrypting the encrypted data from the output of the module simply by inputting the desired encrypted data to the module, so that no complicated operation is performed on the module. Modules can be used. Thus, simplifying the use of a module is a great advantage when, for example, a module is distributed alone to a terminal manufacturer (that is, a module user).
一方で、このように鍵をモジュール内に書き込んでおく場合、この鍵が破られたときの対策を講じておく必要がある。そこで従来、モジュール内に複数の鍵を書き込んでおき、ある鍵が破られた場合、破られていない別の鍵を使用するようにして、破られた鍵を使用できなくするといった対策を講じていた。ここで、破られた鍵に代えて別の鍵を使用するようにすることを「鍵をリニューアルする」と言い、このような処理を「リニューアル処理」と呼ぶ。また破られた鍵の使用を禁止することを「鍵をリボークする」と言い、このような処理を「リボーク処理」と呼ぶ。 On the other hand, when the key is written in the module in this way, it is necessary to take measures when the key is broken. Therefore, conventionally, multiple keys are written in the module, and if a key is broken, another measure that has not been broken is used so that the broken key cannot be used. It was. Here, using another key instead of the broken key is called “key renewal”, and such processing is called “renewal processing”. Prohibiting the use of a broken key is called “revoking a key”, and such processing is called “revocation processing”.
ところが、このようにリニューアル/リボーク処理を行う場合、例えば、どの鍵をどの鍵にリニューアルするのか、あるいはどの鍵をリボークするのかといったリニューアル/リボーク処理のための特別な命令をモジュールに与える必要があるなど、モジュールに対する煩雑な操作を行わなければならなかった。 However, when performing the renewal / revoke process in this way, it is necessary to give a special instruction for the renewal / revoke process to the module, for example, which key is renewed to which key or which key is revoked. It was necessary to perform complicated operations on the module.
このように、従来の復号用モジュールでは、鍵のリニューアル及び鍵のリボークを容易に行い得るとは言い難いという問題があった。 As described above, the conventional decryption module has a problem in that it is difficult to easily renew the key and revoke the key.
本発明は以上の点を考慮してなされたもので、鍵のリニューアル及び鍵のリボークを一段と容易に行い得る復号回路、復号装置、復号方法及び復号プログラムを提案しようとするものである。 The present invention has been made in consideration of the above points, and an object of the present invention is to propose a decryption circuit , a decryption device, a decryption method, and a decryption program that can perform key renewal and key revocation more easily.
かかる課題を解決するため本発明の復号回路においては、有効な鍵のバージョンを記憶する有効鍵バージョン記憶部と、複数のバージョンの鍵を記憶する鍵記憶部と、暗号化データと共に入力される鍵のバージョンと有効鍵バージョン記憶部に記憶される有効な鍵のバージョンとを比較することにより、入力される鍵のバージョンが有効であるか否かを検証する検証部と、検証部による検証結果に応じて、鍵記憶部に記憶される入力される鍵のバージョンに対応する鍵を用いて、入力される暗号化データを復号する復号部と、復号部による復号が成功し、かつ入力される鍵のバージョンと有効鍵バージョン記憶部に記憶される有効な鍵のバージョンとが異なるとき、当該有効バージョン記憶部に記憶される当該有効な鍵のバージョンを当該入力される鍵のバージョンに更新した後に、復号部で復号された平文データを出力する更新部とを設け、検証部が、入力される鍵のバージョンが鍵記憶部に記憶される鍵の複数のバージョンの範囲内であり、かつ有効鍵バージョン記憶部に記憶される有効な鍵のバージョンに対応するとき、当該入力される鍵のバージョンが有効であると判定するようにした。 In order to solve such a problem, in the decryption circuit of the present invention, an effective key version storage unit that stores a version of a valid key, a key storage unit that stores a plurality of versions of a key, and a key input together with encrypted data The verification unit verifies whether the version of the input key is valid by comparing the version of the key and the version of the valid key stored in the valid key version storage unit, and the verification result by the verification unit Accordingly, using the key corresponding to the version of the input key stored in the key storage unit, the decryption unit that decrypts the input encrypted data, and the key that is successfully decrypted by the decryption unit and that is input When the version of the valid key stored in the valid key version storage unit is different from the version of the valid key stored in the valid version storage unit, After updating the version of the key to be provided with an update unit for outputting plaintext data decoded by the decoding unit, the verification unit, multiple versions of the key version of the key to be input is stored in the key storage unit in the range of, and when the corresponding enable key version version valid key stored in the storage unit, version of the key to be the input to so that you determined to be valid.
このように、暗号化データを復号する際に、当該暗号化データと共に入力される鍵のバージョンと有効鍵バージョン記憶部に記憶される有効な鍵のバージョンとを比較し、この比較結果に応じて、有効鍵バージョン記憶部に記憶される有効な鍵のバージョンを、入力される鍵のバージョンに更新して鍵をリニューアルするようにしたことにより、例えば、どの鍵をどの鍵にリニューアルするのかといった、鍵をリニューアルするための特別な命令が入力されなくとも、暗号化データの復号時に、自動的に鍵のリニューアルを行うことができる。 As described above, when decrypting the encrypted data, the version of the key input together with the encrypted data is compared with the version of the valid key stored in the valid key version storage unit. By updating the version of the valid key stored in the valid key version storage unit to the version of the input key and renewing the key, for example, which key is renewed to which key, Even if a special command for renewing the key is not input, the key can be renewed automatically when the encrypted data is decrypted.
また、このように有効鍵バージョン記憶部に記憶される有効な鍵のバージョンを、入力される鍵のバージョンに更新するようにしたことにより、このとき同時に、更新前まで有効であったバージョンの鍵が無効になるため自動的に鍵をリボークすることができる。 In addition, by updating the valid key version stored in the valid key version storage unit to the version of the input key in this way, at the same time, the version key that was valid until before the update is simultaneously obtained. Since it becomes invalid, the key can be revoked automatically.
本発明によれば、暗号化データを復号する際に、当該暗号化データと共に入力される鍵のバージョンと有効鍵バージョン記憶部に記憶される有効な鍵のバージョンとを比較し、この比較結果に応じて、有効鍵バージョン記憶部に記憶される有効な鍵のバージョンを、入力される鍵のバージョンに更新して鍵をリニューアルするようにしたことにより、例えば、どの鍵をどの鍵にリニューアルするのかといった、鍵をリニューアルするための特別な命令が入力されなくとも、暗号化データの復号時に、自動的に鍵のリニューアルを行うことができ、またこのように有効鍵バージョン記憶部に記憶される有効な鍵のバージョンを、入力される鍵のバージョンに更新することにより、このとき同時に、更新前まで有効であったバージョンの鍵が無効になるため自動的に鍵をリボークすることができるので、煩雑な操作を行うことなく、暗号化データの復号時に、必要に応じて自動的に鍵のリニューアル及び鍵のリボークを行うことができ、かくして、鍵のリニューアル及び鍵のリボークを一段と容易に行い得る復号回路、復号装置、復号方法及び復号プログラムを実現することができる。 According to the present invention, when decrypting the encrypted data, the version of the key input together with the encrypted data is compared with the version of the valid key stored in the valid key version storage unit. In response, the version of the valid key stored in the valid key version storage unit is updated to the input key version and the key is renewed, for example, which key is renewed to which key. Even if a special command for renewing the key is not input, the key can be automatically renewed when the encrypted data is decrypted, and the valid key stored in the valid key version storage unit as described above. By updating the version of the correct key to the version of the key entered, the version of the key that was valid before the update is invalidated As a result, the key can be automatically revoked, so that the renewal of the key and the revoking of the key can be automatically performed as necessary when decrypting the encrypted data without performing a complicated operation. Thus, it is possible to realize a decryption circuit , a decryption device, a decryption method, and a decryption program that can perform key renewal and key revocation more easily.
以下図面について、本発明の一実施の形態を詳述する。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
(1)コンテンツ再生装置の構成
図1において、1は全体としてネットワークNTを介して配信される楽曲コンテンツを再生可能なコンテンツ再生装置を示し、当該コンテンツ再生装置1の筐体表面やリモートコントローラ(図示せず)に設けられた各種操作ボタンでなる操作入力部2がユーザによって操作されると、当該操作入力部2でこれを認識し、この操作に応じた操作入力信号を入力処理部3に送出する。入力処理部3は、供給される操作入力信号に対して所定の処理を施すことによりこの操作入力信号を操作コマンドに変換し、これをバス4を介してホストCPU(Central Processing Unit)5に送出する。
(1) Configuration of Content Playback Device In FIG. 1,
ホストCPU5は、ROM(Read Only Memory)6又はハードディスクドライブ7に予め記憶されている基本プログラムやアプリケーションプログラム等の各種プログラムをバス4を介してRAM(Random Access Memory)8に読み出す。そしてこのホストCPU5は、これら各種プログラムをRAM8上に展開し、展開した各種プログラムに従って全体を制御すると共に、所定の演算処理や、入力処理部3から与えられる操作コマンドに応じた処理(例えばコンテンツ取得処理やコンテンツ再生処理等)を実行する。
The
実際上、ホストCPU5は、例えば、ユーザにより操作入力部2を介して楽曲コンテンツの取得操作が行われると、これに応じて、通信処理部9及びネットワークインタフェース10を順次介して、ネットワークNT上のコンテンツ配信サーバ(図示せず)にアクセスし、このコンテンツ配信サーバに対して楽曲コンテンツの配信を要求する要求信号を送信する。
In practice, for example, when the user performs an operation for acquiring music content via the
コンテンツ配信サーバは、所定の暗号化を施したコンテンツデータ(以下、これを暗号化コンテンツデータとも呼ぶ)を蓄積しており、コンテンツ再生装置1からアクセスされると、このコンテンツ再生装置1との間で所定のユーザ認証処理を行い、コンテンツ再生装置1が正規ユーザであると確認できた場合にのみ、コンテンツ再生装置1から送られてくる要求信号に応じて、要求された楽曲コンテンツに対応する暗号化コンテンツデータを、ネットワークNTを介してコンテンツ再生装置1に送信する。またこのときコンテンツ配信サーバは、例えば要求された楽曲コンテンツが有料であれば、この楽曲コンテンツの配信にともなう対価をコンテンツ再生装置1のユーザに対して課金するための課金処理を実行する。
The content distribution server stores content data subjected to predetermined encryption (hereinafter also referred to as encrypted content data), and when accessed from the
コンテンツ再生装置1のホストCPU5は、コンテンツ配信サーバから配信される暗号化コンテンツデータをネットワークインタフェース10及び通信処理部9を順次介して取り込み、これをハードディスクドライブ7に記録する。
The
そしてホストCPU5は、ユーザにより操作入力部2を介してハードディスクドライブ7内の暗号化コンテンツデータに対する再生操作が行われると、これに応じて、指定された暗号化コンテンツデータをハードディスクドライブ7から読み出し、この暗号化コンテンツデータをデータ復号モジュール11に送出する。
When the user performs a reproduction operation on the encrypted content data in the
データ復号モジュール11は、暗号化データの復号を行うモジュールであり、例えば、ハードディスクドライブ7から読み出された暗号化コンテンツデータを復号することにより暗号化を解いたコンテンツデータを得、このコンテンツデータを音声処理部12に送出する。
The
音声処理部12は、データ復号モジュール11から供給されるコンテンツデータに対してデジタルアナログ変換処理やイコライジング処理等の音声処理を施し、この結果得られる音声信号をスピーカSPに送出して、スピーカSPからこの音声信号に基づく音声を出力する。
The
さらに、このコンテンツ再生装置1は、データ復号モジュール11に加えて、暗号化モジュール13、MAC(Message Authentication Code)モジュール14、及びファームウェア復号モジュール15を有している。
In addition to the
暗号化モジュール13は、各種データの暗号化を行うモジュールであり、例えば、コンテンツ配信サーバに送信する送信データを暗号化する。こうすることでコンテンツ再生装置1では、送信データが送信経路で傍受されるのを防止する。またMACモジュール14は、各種データのMAC値を算出するモジュールであり、例えば、復号したコンテンツデータのMAC値を算出する。そしてコンテンツ再生装置1では、コンテンツデータに付随するMAC値と、このMACモジュール14で算出したMAC値とを比較することで、コンテンツデータの正当性を検証する。
The
ファームウェア復号モジュール15は、暗号化ファームウェアの復号を行うモジュールであり、ハードディスクドライブ7から読み出された暗号化ファームウェアを復号することにより、暗号化を解いたファームウェアを得、これを出力する。このファームウェアは、例えば、他のモジュール(データ復号モジュール11、暗号化モジュール14、及びMACモジュール15)の機能に対応するファームウェアであり、このファームウェアが、ファームウェア復号モジュール15から他のモジュールに供給されることで、他のモジュールでファームウェアに応じた機能を実現するようになされている。
The
実際上、ファームウェア復号モジュール15は、内部に書き込まれているファームウェア復号用の鍵と、ファームウェア復号用のプログラムとを用いて、供給される暗号化ファームウェアを復号し、この結果得られるファームウェアを、対応するモジュールに出力する。ちなみに、ここでは、ファームウェアを暗号化した鍵を用いて、暗号化したファームウェアを復号することができるものとする。
In practice, the
さらに、このファームウェア復号モジュール15は、内部にファームウェアの復号に用いる鍵が書き込まれているため、この鍵が破られた場合の対策として、リニューアル/リボーク処理を実行し得るようにもなされている。
Further, since the
ここで実際上、このファームウェア復号モジュール15で、どのようにリニューアル/リボーク処理を実行するのかを、ファームウェア復号モジュール15の内部構成と合わせて説明する。
Here, how the
(2)ファームウェア復号モジュールの内部構成及びリニューアル/リボーク処理手順
まず、ファームウェア復号モジュール15の内部構成について、図2を用いて説明する。図2に示すように、ファームウェア復号モジュール15は、複数バージョンの鍵を記憶する鍵記憶部20を有しており、この鍵記憶部20に書き込まれた複数バージョンの鍵を利用して、リニューアル/リボーク処理を実行するようになされている。この鍵記憶部20は、外部からのアクセスが禁止された例えばROMであり、ここでは説明の便宜上、バージョン「1」〜バージョン「10」までの10個の鍵が書き込まれているものとする。
(2) Internal Configuration of Firmware Decoding Module and Renewal / Revocation Processing Procedure First, the internal configuration of the
また、このファームウェア復号モジュール15は、現在どのバージョンの鍵が有効であるのか(すなわち現在どのバージョンの鍵を使用すべきであるのか)を示す有効鍵バージョン情報を記憶する有効鍵バージョン記憶部21を有している。この有効鍵バージョン記憶部21は、外部からのアクセスが禁止された例えば不揮発性メモリである。ちなみに、ここでは、番号の小さいバージョンの鍵から使用するようになされている。すなわち、例えば有効鍵バージョン情報が示すバージョンが「3」であれば、バージョン「1」とバージョン「2」の鍵は既にリボークされ、バージョン「3」の鍵が現在使用すべき鍵であり、バージョン「4」、「5」、「6」、「7」、「8」、「9」、「10」の鍵が未使用であることを表す。
Further, the
実際上、このようなファームウェア復号モジュール15に対して、外部から暗号化ファームウェアと共に、この暗号化ファームウェアを暗号化している鍵のバージョンが示されたファームウェア鍵バージョン情報とが供給される。ちなみに、このファームウェア鍵バージョン情報は、対応する暗号化ファームウェアに紐付けられた状態で、この暗号化ファームウェアと共にハードディスクドライブ7に記録されており、ここでは説明の便宜上、ファームウェア鍵バージョン情報が示すバージョンを「n」、有効鍵バージョン情報が示すバージョンを「N」とする。
In practice, the
これら暗号化ファームウェア及びファームウェア鍵バージョン情報は、まずファームウェア復号モジュール15のバージョン検証部22に入力される。バージョン検証部22は、有効鍵バージョン記憶部21に記憶している有効鍵バージョン情報が示すバージョン「N」と、入力されたファームウェア鍵バージョン情報が示すバージョン「n」とを比較する。そしてこの比較の結果、入力されたファームウェア鍵バージョン情報が示すバージョン「n」の鍵が有効である(実際には、入力されたファームウェア鍵バージョン情報が示すバージョン「n」が、バージョン「1」〜「10」の間で、かつ有効鍵バージョン情報が示すバージョン「N」以上である)と確認できた場合、バージョン検証部22は、暗号化ファームウェア及び鍵バージョン情報を復号部23に供給する。
The encrypted firmware and firmware key version information are first input to the
復号部23は、供給されるファームウェア鍵バージョン情報が示すバージョン「n」の鍵を鍵記憶部20から読み出し、この鍵を使用して暗号化ファームウェアを復号することにより、暗号化を解いたファームウェアを得る。ここで、この復号部23は、得られたファームウェアのMAC値を算出し、この算出したMAC値と、復号したファームウェアに付随しているMAC値とを比較することにより、復号したファームウェアの正当性を検証するようにもなされている。そして、この検証の結果、復号したファームウェアの正当性が確認できた場合、復号部23は、このファームウェア及びファームウェア鍵バージョン情報をリニューアル処理部24に供給する。
The
ここでリニューアル処理部24は、リニューアル処理を行う必要があるか否かを判断する。つまりリニューアル処理部24は、供給されるファームウェア鍵バージョン情報が示すバージョン「n」が、有効鍵バージョン記憶部21に記憶されている有効鍵バージョン情報が示すバージョン「N」よりも大きい場合、このとき有効鍵バージョン情報が示すバージョン「N」の鍵が破られており、リニューアル処理を実行する必要があると判断して、有効鍵バージョン記憶部21に記憶している有効鍵バージョン情報のバージョン「N」を、供給されたファームウェア鍵バージョン情報のバージョン「n」に更新してリニューアル処理を行う。
Here, the
このようなリニューアル処理を行うことにより、ファームウェア復号モジュール15の復号部23では、次回以降、バージョン「n」以上の鍵でなければ暗号化ファームウェアを復号できなくなる。つまり、このリニューアル処理により、リニューアル処理部24は、有効鍵バージョン情報のバージョン「N」をバージョン「n」に更新する(リニューアルする)と共に、バージョン「N」の鍵の使用を禁止する(リボークした)ことになる。
By performing such a renewal process, the
このようにしてリニューアル/リボーク処理を行った後、リニューアル処理部24は、ファームウェアを出力する。ただし、リニューアル処理を行う必要がないと判断した場合には、リニューアル処理を行わずにファームウェアを出力する。
After performing the renewal / revoke process in this way, the
このように、ファームウェア復号モジュール15では、暗号化ファームウェアと共に外部から供給されるファームウェア鍵バージョン情報と、有効鍵バージョン記憶部21に記憶している有効鍵バージョン情報とを比較し、この比較結果に応じて、リニューアル/リボーク処理を実行する。
In this way, the
かくして、ホストCPU5側(すなわちファームウェア復号モジュール15の利用者側)から見れば、例えばバージョン「1」の鍵が破られた場合、このときハードディスクドライブ7に記録している、バージョン「1」の鍵で暗号化された暗号化ファームウェアと、バージョン「1」を示すファームウェア鍵バージョン情報とを、バージョン「2」の鍵で暗号化された暗号化ファームウェアと、バージョン「2」を示すファームウェア鍵バージョン情報とに更新し、ファームウェア復号モジュール15による復号時に、バージョン「2」の鍵で暗号化された暗号化ファームウェアと、バージョン「2」を示すファームウェア鍵バージョン情報とを、ファームウェア復号モジュール15に入力するだけで、自動的にバージョン「1」の鍵をバージョン「2」の鍵にリニューアルすると共に、バージョン「1」の鍵をリボークすることができる。
Thus, when viewed from the
すなわち、ファームウェア復号モジュール15は、暗号化ファームウェアと共に入力されるファームウェア鍵バージョン情報をもとに、自動的にリニューアル/リボーク処理を行うことができる。
That is, the
ここで、ファームウェア復号モジュール15によるリニューアル/リボーク処理手順について、図3のフローチャートを用いて、より詳しく説明する。
Here, the renewal / revocation processing procedure by the
ファームウェア復号モジュール15は、外部から暗号化ファームウェア及びファームウェア鍵バージョン情報が供給されると、リニューアル/リボーク処理手順RT1を開始して、ステップSP1に移る。
When the encrypted firmware and the firmware key version information are supplied from the outside, the
ステップSP1において、ファームウェア復号モジュール15は、供給された暗号化ファームウェア及びファームウェア鍵バージョン情報をバージョン検証部22に入力して、次のステップSP2に移る。
In step SP1, the
ステップSP2において、ファームウェア復号モジュール15は、バージョン検証部22により、ファームウェア鍵バージョン情報が示すバージョン「n」が、鍵記憶部20に書き込まれている鍵のバージョンの範囲内であるか否かを判定する。つまり、このステップSP2では、ファームウェア鍵バージョン情報が示すバージョン「n」が、鍵記憶部20に書き込まれている鍵のバージョンの最小値であるバージョン「Nmin」(すなわちバージョン「1」)以上で、かつ最大値であるバージョン「Nmax」(すなわちバージョン「10」)以下であるか否かを判定する。
In step SP <b> 2, the
ここで否定結果を得ると、このことは、例えば、鍵記憶部20に記憶されている鍵のバージョンがバージョン「1」〜「10」であるにも係わらず、バージョン「1」〜「10」の範囲外のバージョン「0」を示すファームウェア鍵バージョン情報が入力されたことを表し、このときファームウェア復号モジュール15は、このファームウェア鍵バージョン情報が不正なものであると認識して、以降の処理を中止して終了ステップSP9に移り、このリニューアル/リボーク処理手順RT1を終了する。
If a negative result is obtained here, this means that, for example, although the key versions stored in the
これに対してこのステップSP2で肯定結果を得ると、ファームウェア復号モジュール15は、ファームウェア鍵バージョン情報が示すバージョン「n」が、鍵記憶部20に記憶されている鍵のバージョンの範囲内であると認識して、次のステップSP3に移る。
On the other hand, if a positive result is obtained in step SP2, the
ステップSP3において、ファームウェア復号モジュール15は、ファームウェア鍵バージョン情報が示すバージョン「n」の鍵が、リボークされていない鍵であるか否かを判定する。つまり、このステップSP3では、ファームウェア鍵バージョン情報が示すバージョン「n」が、有効鍵バージョン記憶部21に記憶されている有効鍵バージョン情報が示すバージョン「N」以上であるか否かを判定する。
In step SP3, the
ここで否定結果を得ると、このことは、ファームウェア鍵バージョン情報が示すバージョン「n」の鍵が、すでにリボークされていることを表し、このときファームウェア復号モジュール15は、以降の処理を中止して終了ステップSP9に移り、このリニューアル/リボーク処理手順RT1を終了する。
If a negative result is obtained here, this means that the key of the version “n” indicated by the firmware key version information has already been revoked. At this time, the
これに対して、このステップSP3で肯定結果を得ると、ファームウェア復号モジュール15は、ファームウェア鍵バージョン情報が示すバージョン「n」の鍵が、リボークされておらず、使用可能な鍵であると認識して、次のステップSP4に移る。
On the other hand, if a positive result is obtained in step SP3, the
ステップSP4において、ファームウェア復号モジュール15は、復号部23により、ファームウェア鍵バージョン情報が示すバージョン「n」の鍵を鍵記憶部20から読み出して、この読み出したバージョン「n」の鍵を用いて暗号化ファームウェアを復号し、さらに復号したファームウェアに対して、上述したようなMAC値を利用した検証を行い、次のステップSP5に移る。
In step SP4, the
ステップSP5において、ファームウェア復号モジュール15は、復号部23による、暗号化ファームウェアの復号処理が正常に終了したか否かを判定する。ここで否定結果を得ると、このことは、例えば、暗号化ファームウェアを暗号化している鍵と、ファームウェア鍵バージョン情報が示すバージョン「n」の鍵とが異なっていることにより、正常に復号できなかったこと、あるいは復号できたものの、検証の結果、復号したファームウェアが不正に改竄されたものであることを表し、このときファームウェア復号モジュール15は、以降の処理を中止して終了ステップSP9に移り、このリニューアル/リボーク処理手順RT1を終了する。
In step SP5, the
このように、暗号化ファームウェアの復号処理が正常に終了しなかった場合には、以降の処理を中止することで、例えば、暗号化ファームウェアを暗号化している鍵と関係なく、ファームウェア鍵バージョン情報が示すバージョンを大きくして、自由にリニューアル処理を実行するような不正な動作を防止することができる。 As described above, when the decryption process of the encrypted firmware does not end normally, the subsequent process is stopped, so that, for example, the firmware key version information can be obtained regardless of the key encrypting the encrypted firmware. By increasing the version shown, it is possible to prevent illegal operations such as executing renewal processing freely.
これに対して、このステップSP5で肯定結果を得ると、ファームウェア復号モジュール15は、ステップSP6に移り、このステップSP6において、リニューアル処理部24によりリニューアル処理を行う必要があるか否かを判定する。つまり、このステップSP6では、ファームウェア鍵バージョン情報が示すバージョン「n」が、有効鍵バージョン記憶部21に記憶されている有効鍵バージョン情報が示すバージョン「N」と等しいか否かを判定する。
On the other hand, if a positive result is obtained in step SP5, the
ここで否定結果を得ると、このことは、ファームウェア鍵バージョン情報が示すバージョン「n」が、有効鍵バージョン記憶部21に記憶されている有効鍵バージョン情報が示すバージョン「N」よりも大きく、この結果、バージョン「N」の鍵が破られていて、リニューアル処理を行う必要があることを表し、このときファームウェア復号モジュール15は、ステップSP7に移る。
If a negative result is obtained here, this means that the version “n” indicated by the firmware key version information is greater than the version “N” indicated by the valid key version information stored in the valid key
ステップSP7において、ファームウェア復号モジュール15は、有効鍵バージョン記憶部21に記憶している有効鍵バージョン情報が示すバージョン「N」を、供給されたファームウェア鍵バージョン情報が示すバージョン「n」に更新するリニューアル処理を行う。このとき、バージョン「N」の鍵は、バージョン「n」の鍵よりもバージョンが小さいので自動的にリボークされることになる。このようにして鍵のリニューアル及び鍵のリボークを行った後、ファームウェア復号モジュール15は、次のステップSP8に移る。
In step SP7, the
これに対して、上述のステップSP6で肯定結果を得ると、このことはファームウェア鍵バージョン情報が示すバージョン「n」と、有効鍵バージョン記憶部21に記憶されている有効鍵バージョン情報が示すバージョン「N」とが等しく、リニューアル処理を行う必要がないことを表し、このときファームウェア復号モジュール15は、ステップSP8に移る。
On the other hand, when a positive result is obtained in step SP6 described above, this indicates that the version “n” indicated by the firmware key version information and the version “0” indicated by the valid key version information stored in the valid key
ステップSP8においてファームウェア復号モジュール15は、復号部23によって不復号したファームウェアを外部に出力して、終了ステップSP9に移り、このリニューアル/リボーク処理手順RT1を終了する。
In step SP8, the
このような手順で、ファームウェア復号モジュール15は、暗号化ファームウェアを復号する際、必要に応じてリニューアル/リボーク処理を実行するようになされている。
With such a procedure, the
また、コンテンツ再生装置1では、図4に示すように、ファームウェア復号モジュール15で暗号化ファームウェアの復号に使用する鍵を、他のモジュール(データ復号モジュール11、暗号化モジュール14、及びMACモジュール15)に受け渡すことで、この鍵を各モジュールで共用するようにもなされている。
Further, in the
ここで、実際上ファームウェア復号モジュール15は、鍵を暗号化してから、バス4を介して他のモジュールに受け渡すようになされており、これによりこの鍵が、他のモジュールへ受け渡される際に外部(例えばホストCPU5)から傍受されるのを防止することができる。
Here, in practice, the
したがって、データ復号モジュール11では、ファームウェア復号モジュール15から受け渡される鍵を復号し、この復号した鍵を使用して、入力される暗号化データ(例えば暗号化コンテンツデータ)を復号することにより、平文データ(例えばコンテンツデータ)を得、これを出力する。暗号化モジュール13は、ファームウェア復号モジュール15から受け渡される鍵を復号し、この復号した鍵を使用して、入力される各種データを暗号化することにより、暗号化データを得、これを出力する。MACモジュール14は、ファームウェア復号モジュール15から受け渡される鍵を復号し、この復号した鍵を使用して、入力される各種データのMAC値を算出することにより、MAC値を得、これを出力する。
Therefore, the
またこのとき、各モジュールでは、同じバージョンの鍵を使用することになる。つまり、ファームウェア復号モジュール15でのリニューアル/リボーク処理により、ファームウェア復号モジュール15で使用する鍵が更新されると、これに応じてこのファームウェア復号モジュール15から他のモジュールに受け渡される鍵も更新される。
At this time, the same version key is used in each module. That is, when the key used in the
この場合、ファームウェア復号モジュール15でのリニューアル/リボーク処理は、各モジュールに対応するファームウェアを復号するときのみ、すなわち各モジュールを利用するときの初回のみ実行すればよい。こうすることで、各モジュールで鍵を利用する度に毎回リニューアル/リボーク処理を実行することを回避して、ファームウェア復号モジュール15での処理負荷を低減させることができる。このことは、多くのモジュールで、同一の鍵を使用する場合、特に重要となる。
In this case, the renewal / revoke process in the
(3)動作及び効果
以上の構成においてファームウェア復号モジュール15では、外部から暗号化ファームウェアとファームウェア鍵バージョン情報とが入力されると、まず、このファームウェア鍵バージョン情報が示すバージョン「n」と、有効鍵バージョン記憶部21に記憶している有効鍵バージョン情報が示すバージョン「N」とを比較する。
(3) Operation and Effect In the above configuration, in the
そしてこの比較の結果、ファームウェア復号モジュール15は、ファームウェア鍵バージョン情報が示すバージョン「n」が、鍵記憶部20に書き込まれている鍵のバージョンの範囲内で、かつ有効鍵バージョン記憶部21に記憶している有効鍵バージョン情報が示すバージョン「N」以上である場合、このファームウェア鍵バージョン情報が示すバージョン「n」が有効であると判断して、バージョン「n」の鍵を、鍵記憶部20から読み出し、このバージョン「n」の鍵を使用して、入力された暗号化ファームウェアを復号する。
As a result of this comparison, the
つづいてファームウェア復号モジュール15は、有効鍵バージョン情報が示すバージョン「N」の鍵をリニューアルする必要があるか否かを判定する。ここでファームウェア復号モジュール15は、ファームウェア鍵バージョン情報が示すバージョン「n」が、有効鍵バージョン情報が示すバージョン「N」よりも大きい場合、有効鍵バージョン情報が示すバージョン「N」の鍵が破られており、このバージョン「N」の鍵をリニューアルする必要があると判定して、有効鍵バージョン記憶部21に記憶している有効鍵バージョン情報のバージョン「N」をファームウェア鍵バージョン情報が示すバージョン「n」に更新してリニューアルする。
Subsequently, the
このとき、ファームウェア復号モジュール15では、鍵記憶部20に書き込まれている複数の鍵を、バージョンの小さい順に使用するように設定されているため、バージョン「n」の鍵よりもバージョンが小さいバージョン「N」の鍵は自動的にリボークされる。
At this time, since the
このようにして、必要に応じてリニューアル/リボーク処理を行った後、ファームウェア復号モジュール15は、復号したファームウェアを出力する。
In this way, after performing renewal / revocation processing as necessary, the
かくして、ファームウェア復号モジュール15では、どの鍵をどの鍵にリニューアルするのか、あるいはどの鍵をリボークするのかといったリニューアル/リボーク処理のための特別な命令が外部から入力されなくとも、暗号化ファームウェアの復号時に、暗号化ファームウェアと共に外部から入力されるファームウェア鍵バージョン情報と、有効鍵バージョン記憶部21に記憶している有効鍵バージョン情報とを比較し、この比較結果に応じて自動的にリニューアル/リボーク処理を行うことができる。
Thus, the
つまり、このファームウェア復号モジュール15では、モジュールの利用者(端末のユーザも含む)に対して、リニューアル/リボーク処理を意識させることなく、ファームウェア復号モジュール15のもともとの機能である暗号化ファームウェアの復号時に、必要に応じて自動的にリニューアル/リボーク処理を行うことができる。
That is, in the
また、このようにファームウェア復号モジュール15が、必要に応じて自動的にリニューアル/リボーク処理を行うことができるので、モジュールの利用者に対して、リニューアル/リボーク処理を行うための命令を公開せずに、リニューアル/リボーク処理を行うことができる。
In addition, since the
この結果、例えばリニューアル/リボーク処理を行うための命令をモジュールの利用者が不正に使用してリニューアル処理を複数回実行させることにより鍵記憶部20に書き込まれている鍵の数が特定されてしまうといったセキュリティホールを未然に防ぐこともできる。
As a result, for example, the number of keys written in the
以上の構成によれば、暗号化ファームウェアを復号する際に、当該暗号化ファームウェアと共に入力されるファームウェア鍵バージョン情報が示すバージョン「n」と、有効鍵バージョン記憶部21に記憶している有効鍵バージョン情報が示すバージョン「N」とを比較し、この比較結果に応じて、有効鍵バージョン記憶部21に記憶している有効鍵バージョン情報が示すバージョン「N」を、ファームウェア鍵バージョン情報が示すバージョン「n」に更新して鍵をリニューアルするようにしたことにより、例えば、どの鍵をどの鍵にリニューアルするのかといった、鍵をリニューアルするための特別な命令が入力されなくとも、暗号化ファームウェアの復号時に、自動的に鍵のリニューアルを行うことができ、またこのようにして有効鍵バージョン記憶部21に記憶している有効鍵バージョン情報が示すバージョン「N」を、ファームウェア鍵バージョン情報が示すバージョン「n」に更新することにより、このとき同時に、更新前まで有効であったバージョンの鍵が無効になるため自動的に鍵をリボークすることができるので、煩雑な操作を行うことなく、暗号化ファームウェアの復号時に、必要に応じて自動的に鍵のリニューアル及び鍵のリボークを行うことができ、かくして、鍵のリニューアル及び鍵のリボークを一段と容易に行うことができる。
According to the above configuration, when decrypting the encrypted firmware, the version “n” indicated by the firmware key version information input together with the encrypted firmware and the valid key version stored in the valid key
(4)他の実施の形態
なお上述の実施の形態においては、ファームウェア復号モジュール15に加えて、データ復号モジュール11、暗号化モジュール13、及びMACモジュール14をコンテンツ再生装置1に実装した場合について述べたが、本発明はこれに限らず、コンテンツ再生装置1の機能に合わせて、この他種々のモジュールを実装するようにしてもよい。この場合も、上述の実施の形態と同様に、ファームウェア復号モジュール15で使用される鍵を、他のモジュールに受け渡して、他のモジュールで行う処理にこの鍵を使用することができる。
(4) Other Embodiments In the above-described embodiment, a case where the
また上述の実施の形態においては、ファームウェア復号モジュール15が、内部に書き込まれたファームウェア復号用のプログラムを実行することで、暗号化データとしての暗号化ファームウェアの復号、及びリニューアル/リボーク処理を行う、いわゆるソフトウェアモジュールである場合について述べたが、本発明はこれに限らず、例えば、ファームウェア復号モジュール15が、暗号化ファームウェアの復号、及びリニューアル/リボーク処理を行う専用のデバイスを有するハードウェアモジュールであってもよい。
In the above-described embodiment, the
さらに上述の実施の形態においては、ファームウェア実行手段としての、ファームウェア復号モジュール15、データ復号モジュール11、暗号化モジュール13、及びMACモジュール14をそれぞれ別々のモジュールとして、コンテンツ再生装置1に実装した場合について述べたが、本発明はこれに限らず、これらファームウェア復号モジュール15、データ復号モジュール11、暗号化モジュール13、及びMACモジュール14の機能を有する1個のモジュールを実装するようにしてもよい。この場合、これらの機能をファームウェアでソフトウェア的に実現してもよいし、これらの機能を専用デバイスでハードウェア的に実現してもよい。
Furthermore, in the above-described embodiment, a case where the
さらに上述の実施の形態においては、ファームウェア鍵バージョン情報と、暗号化ファームウェアとを互いに紐付けた状態で、ハードディスクドライブ7に記録しておき、必要に応じてこれらをファームウェア復号モジュール15に入力するようにした場合について述べたが、本発明はこれに限らず、例えば、暗号化ファームウェアにファームウェア鍵バージョン情報を埋め込んだ状態で、ハードディスクドライブ7に記録しておき、必要に応じてこのファームウェア鍵バージョン情報が埋め込まれた暗号化ファームウェアをファームウェア復号モジュール15に入力するようにしてもよい。このようにファームウェア鍵バージョン情報を暗号化ファームウェアに埋め込んでおけば、ファームウェア鍵バージョン情報が解析・改竄される危険性を低減させることもできる。
Furthermore, in the above-described embodiment, the firmware key version information and the encrypted firmware are recorded in the
さらに上述の実施の形態においては、鍵記憶部20及び有効鍵バージョン記憶部21を別々のメモリ(ROM及び不揮発性メモリ)にした場合について述べたが、本発明はこれに限らず、鍵記憶部20及び有効鍵バージョン記憶部21を一つのメモリにしてもよい。この場合、有効鍵バージョン記憶部21が書換可能である必要があるので、利用するメモリとしては、書換可能な不揮発性メモリ等が望ましい。
Furthermore, in the above-described embodiment, the case where the
さらに上述の実施の形態においては、ファームウェア復号モジュール15を、コンテンツ再生装置1に実装した場合について述べたが、本発明はこれに限らず、データを復号する必要のある復号装置であれば、この他種々の復号装置に実装してもよい。
Furthermore, in the above-described embodiment, the case where the
さらに上述の実施の形態においては、復号部23により復号したファームウェアの正当性を検証するために、MAC値を利用した検証方法を用いた場合について述べたが、本発明はこれに限らず、例えば、MAC値の代わりに、ハッシュ値を用いる等、正当性を検証し得る方法であれば、この他種々の方法を用いてもよい。
Furthermore, in the above-described embodiment, the case where the verification method using the MAC value is used to verify the correctness of the firmware decoded by the
さらに上述の実施の形態においては、ファームウェア復号モジュール15が、鍵を暗号化してから、バス4を介して他のモジュールに受け渡すようにした場合について述べたが、本発明はこれに限らず、例えば、ファームウェア復号モジュール15と他のモジュールとを外部から隠蔽した専用バスで繋ぎ、この専用バスを介して鍵を受け渡すようにしてもよいし、上述のように、ファームウェア復号モジュール15と他のモジュールとを1つのモジュールとし、このモジュール内で鍵を受け渡すようにしてもよい。このようにしても上述の実施の形態と同様、鍵が他のモジュールに受け渡される際に外部から傍受されるのを防止することができる。
Furthermore, in the above-described embodiment, the case where the
さらに上述の実施の形態においては、有効鍵バージョン記憶部21と、鍵記憶部20と、検証部としてのバージョン検証部22と、復号部23と、更新部としてのリニューアル処理部24とによって、復号回路、信号処理手段及び信号処理装置としてのファームウェア復号モジュール15を構成するようにした場合について述べたが、本発明はこれに限らず、これらと同機能を有するものであれば、この他種々の構成を用いるようにしてもよい。
Furthermore, in the above-described embodiment, decryption is performed by the valid key
さらに上述の実施の形態においては、暗号化データ記憶手段としてのハードディスクドライブ7と、信号処理手段としてのファームウェア復号モジュール15とによって、復号装置及び信号処理装置としてのコンテンツ再生装置1を構成するようにした場合について述べたが、本発明はこれに限らず、これらと同機能を有するものであれば、この他種々の構成を用いるようにしてもよい。
Further, in the above-described embodiment, the
本発明は、内部に書き込まれた鍵を使用して復号を行う回路及び装置で広く利用できる。 The present invention can be widely used in circuits and apparatuses that perform decryption using a key written therein.
1……コンテンツ再生装置、2……操作入力部、3……入力処理部、4……バス、5……ホストCPU、6……ROM、7……ハードディスクドライブ、8……RAM、9……通信処理部、10……ネットワークインタフェース、11……データ復号モジュール、12……音声処理部、13……暗号化モジュール、14……MACモジュール、15……ファームウェア復号モジュール、20……鍵記憶部、21……有効鍵バージョン記憶部、22……バージョン検証部、23……復号部、24……リニューアル処理部、NT……ネットワーク、SP……スピーカ。
DESCRIPTION OF
Claims (9)
複数のバージョンの鍵を記憶する鍵記憶部と、
暗号化データと共に入力される鍵のバージョンと上記有効鍵バージョン記憶部に記憶される有効な鍵のバージョンとを比較することにより、上記入力される鍵のバージョンが有効であるか否かを検証する検証部と、
上記検証部による検証結果に応じて、上記鍵記憶部に記憶される上記入力される鍵のバージョンに対応する鍵を用いて、入力される上記暗号化データを復号する復号部と、
上記復号部による復号が成功し、かつ上記入力される鍵のバージョンと上記有効鍵バージョン記憶部に記憶される上記有効な鍵のバージョンとが異なるとき、当該有効バージョン記憶部に記憶される当該有効な鍵のバージョンを当該入力される鍵のバージョンに更新した後に、上記復号部で復号された平文データを出力する更新部と
を具え、
上記検証部は、
上記入力される鍵のバージョンが上記鍵記憶部に記憶される鍵の複数のバージョンの範囲内であり、かつ上記有効鍵バージョン記憶部に記憶される上記有効な鍵のバージョンに対応するとき、当該入力される鍵のバージョンが有効であると判定する
復号回路。 A valid key version storage unit for storing a valid key version;
A key storage unit for storing a plurality of versions of keys;
By comparing the version of the key input together with the encrypted data with the version of the valid key stored in the valid key version storage unit, it is verified whether or not the version of the input key is valid. A verification unit;
A decryption unit that decrypts the input encrypted data using a key corresponding to the version of the input key stored in the key storage unit according to a verification result by the verification unit;
When the decryption by the decryption unit is successful and the input key version is different from the valid key version stored in the valid key version storage unit, the valid version stored in the valid version storage unit An update unit that outputs the plaintext data decrypted by the decryption unit after the key version is updated to the input key version .
The verification part
When the version of the input key is within a range of a plurality of versions of the key stored in the key storage unit and corresponds to the version of the valid key stored in the effective key version storage unit, A decryption circuit that determines that the version of the input key is valid .
請求項1に記載の復号回路。 The input encrypted data is encrypted firmware
Decoding circuit according to 請 Motomeko 1.
請求項1に記載の復号回路。 The valid key version storage unit and the key storage unit are the same memory.
Decoding circuit according to 請 Motomeko 1.
有効な鍵のバージョンを記憶する有効鍵バージョン記憶手段と、複数のバージョンの鍵を記憶する鍵記憶手段と、暗号化データと共に入力される鍵のバージョンと上記有効鍵バージョン記憶手段に記憶される有効な鍵のバージョンとを比較することにより、上記入力される鍵のバージョンが有効であるか否かを検証する検証手段と、当該検証手段による検証結果に応じて、上記鍵記憶手段に記憶される上記入力される鍵のバージョンに対応する鍵を用いて、入力される上記暗号化データを復号する復号手段と、当該復号手段による復号が成功し、かつ上記入力される鍵のバージョンと上記有効鍵バージョン記憶手段に記憶される上記有効な鍵のバージョンとが異なるとき、当該有効バージョン記憶手段に記憶される当該有効な鍵のバージョンを当該入力される鍵のバージョンに更新した後に、上記復号手段で復号された平文データを出力する更新手段とを有する信号処理手段と
を具え、
上記信号処理手段の上記検証手段は、
上記入力される鍵のバージョンが上記鍵記憶手段に記憶される鍵の複数のバージョンの範囲内であり、かつ上記有効鍵バージョン記憶手段に記憶される上記有効な鍵のバージョンに対応するとき、当該入力される鍵のバージョンが有効であると判定する
復号装置。 Encrypted data storage means for storing encrypted data encrypted with a specific key and a version of the specific key;
Valid key version storage means for storing a valid key version, key storage means for storing a plurality of version keys, a key version input together with encrypted data, and a valid key stored in the valid key version storage means A verifier that verifies whether the input key version is valid by comparing the key version with a valid key, and stores the key in the key storage unit according to the verification result of the verifier Decryption means for decrypting the input encrypted data using a key corresponding to the version of the input key; successful decryption by the decryption means; and the input key version and the valid key The version of the valid key stored in the valid version storage means when the version of the valid key stored in the version storage means is different After updating the version of the key being the input, comprising a signal processing means having an updating means for outputting the plaintext data decrypted by the decoding means,
The verification means of the signal processing means is:
When the version of the input key is within a range of a plurality of versions of the key stored in the key storage means and corresponds to the version of the valid key stored in the valid key version storage means, A decryption device that determines that a version of an input key is valid .
請求項4に記載の復号装置。 The input encrypted data is encrypted firmware, and includes firmware execution means for executing firmware as the plaintext data output from the signal processing means.
Decoding apparatus according to 請 Motomeko 4.
請求項4に記載の復号装置。 A further decryption means for decrypting the input encrypted data using the key used by the decryption means;
Decoding apparatus according to 請 Motomeko 4.
上記復号手段が用いた上記鍵を用いて、入力されるデータを暗号化する暗号化手段と、
上記復号手段が用いた上記鍵を用いて、入力されるデータのMAC値を算出するMAC手段と
を具える
請求項4に記載の復号装置。 Furthermore,
An encryption means for encrypting input data using the key used by the decryption means;
MAC means for calculating the MAC value of the input data using the key used by the decryption means.
Decoding apparatus according to 請 Motomeko 4.
上記信号処理装置の復号部が、上記検証ステップでの検証結果に応じて、上記信号処理装置の鍵記憶部に記憶される複数のバージョンの鍵のうち上記入力される鍵のバージョンに対応する鍵を用いて、入力される上記暗号化データを復号する復号ステップと、
上記信号処理装置の更新部が、上記復号ステップでの復号が成功し、かつ上記入力される鍵のバージョンと上記有効な鍵のバージョンとが異なるとき、上記有効鍵バージョン記憶部に記憶される当該有効な鍵のバージョンを当該入力される鍵のバージョンに更新した後に、上記復号ステップで復号された平文データを出力する更新ステップと
を具え、
上記検証ステップでは、
上記検証部が、上記入力される鍵のバージョンが上記鍵記憶部に記憶される鍵の複数のバージョンの範囲内であり、かつ上記有効鍵バージョン記憶部に記憶される上記有効な鍵のバージョンに対応するとき、当該入力される鍵のバージョンが有効であると判定する
復号方法。 The verification unit of the signal processing device compares the version of the key input to the signal processing device together with the encrypted data with the version of the valid key stored in the valid key version storage unit of the signal processing device. A verification step for verifying whether the input key version is valid;
The decryption unit of the signal processing device has a key corresponding to the input key version among a plurality of version keys stored in the key storage unit of the signal processing device according to the verification result in the verification step. A decryption step of decrypting the input encrypted data using
The update unit of the signal processing device stores the effective key version storage unit when the decryption at the decryption step is successful and the version of the input key is different from the version of the valid key. An update step of outputting the plaintext data decrypted in the decryption step after the valid key version is updated to the input key version ;
In the above verification step,
The verification unit determines that the version of the input key is within a range of a plurality of versions of the key stored in the key storage unit and the effective key version stored in the valid key version storage unit A decryption method that, when corresponding, determines that the version of the input key is valid .
上記信号処理装置の検証部が、上記信号処理装置に暗号化データと共に入力される鍵のバージョンと、上記信号処理装置の有効鍵バージョン記憶部に記憶される有効な鍵のバージョンとを比較することにより、上記入力される鍵のバージョンが有効であるか否かを検証する検証ステップと、
上記信号処理装置の復号部が、上記検証ステップでの検証結果に応じて、上記信号処理装置の鍵記憶部に記憶される複数のバージョンの鍵のうち上記入力される鍵のバージョンに対応する鍵を用いて、入力される上記暗号化データを復号する復号ステップと、
上記信号処理装置の更新部が、上記復号ステップでの復号が成功し、かつ上記入力される鍵のバージョンと上記有効な鍵のバージョンとが異なるとき、上記有効鍵バージョン記憶部に記憶される当該有効な鍵のバージョンを当該入力される鍵のバージョンに更新した後に、上記復号ステップで復号された平文データを出力する更新ステップと
を実行させ、
さらに上記検証ステップで、
上記検証部が、上記入力される鍵のバージョンが上記鍵記憶部に記憶される鍵の複数のバージョンの範囲内であり、かつ上記有効鍵バージョン記憶部に記憶される上記有効な鍵のバージョンに対応するとき、当該入力される鍵のバージョンが有効であると判定するようにさせるための
復号プログラム。 To the signal processor,
The verification unit of the signal processing device compares the version of the key input to the signal processing device together with the encrypted data with the version of the valid key stored in the valid key version storage unit of the signal processing device. A verification step for verifying whether the version of the input key is valid;
The decryption unit of the signal processing device has a key corresponding to the input key version among a plurality of version keys stored in the key storage unit of the signal processing device according to the verification result in the verification step. A decryption step of decrypting the input encrypted data using
The update unit of the signal processing device stores the effective key version storage unit when the decryption at the decryption step is successful and the version of the input key is different from the version of the valid key. After updating the valid key version to the input key version, the update step for outputting the plaintext data decrypted in the decryption step is executed , and
Furthermore, in the above verification step,
The verification unit determines that the version of the input key is within a range of a plurality of versions of the key stored in the key storage unit and the effective key version stored in the valid key version storage unit A decryption program for determining that the input key version is valid when it corresponds .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005055163A JP4702596B2 (en) | 2005-02-28 | 2005-02-28 | Decoding circuit, decoding device, decoding method, and decoding program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005055163A JP4702596B2 (en) | 2005-02-28 | 2005-02-28 | Decoding circuit, decoding device, decoding method, and decoding program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006245704A JP2006245704A (en) | 2006-09-14 |
JP4702596B2 true JP4702596B2 (en) | 2011-06-15 |
Family
ID=37051679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005055163A Expired - Fee Related JP4702596B2 (en) | 2005-02-28 | 2005-02-28 | Decoding circuit, decoding device, decoding method, and decoding program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4702596B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4702861B2 (en) * | 2009-09-30 | 2011-06-15 | 株式会社ソニー・コンピュータエンタテインメント | Content activation method and content reproduction apparatus |
JP6972721B2 (en) * | 2017-07-18 | 2021-11-24 | 富士フイルムビジネスイノベーション株式会社 | Information processing equipment and information processing programs |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07253753A (en) * | 1994-03-15 | 1995-10-03 | Fujitsu Ltd | Ciphering circuit |
WO1999038078A1 (en) * | 1998-01-21 | 1999-07-29 | Tokyo Electron Limited | Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory |
JPH11274999A (en) * | 1998-03-25 | 1999-10-08 | Hitachi Ltd | Mobile communication method and mobile communication system |
JPH11308564A (en) * | 1998-04-20 | 1999-11-05 | Olympus Optical Co Ltd | Digital evidence camera system, decoding key acquisition registration system and digital image edit system |
JP2002135243A (en) * | 2000-10-20 | 2002-05-10 | Sony Corp | Data reproducing apparatus, data recording apparatus, data reproducing method, data recording method, list updating method and program providing medium |
JP2002247542A (en) * | 2001-02-14 | 2002-08-30 | Matsushita Electric Ind Co Ltd | Video secrecy device |
JP2002358209A (en) * | 2001-06-01 | 2002-12-13 | Canon Inc | Information processing method and device thereof |
JP2003198532A (en) * | 2001-12-27 | 2003-07-11 | Mitsubishi Electric Corp | Master station, slave station, enciphering system, enciphering method, enciphering program, deciphering method and deciphering program |
JP2004280287A (en) * | 2003-03-13 | 2004-10-07 | Matsushita Electric Ind Co Ltd | Memory card |
WO2004105308A1 (en) * | 2003-05-22 | 2004-12-02 | Fujitsu Limited | Encrypted data reception device and decryption key updating method |
-
2005
- 2005-02-28 JP JP2005055163A patent/JP4702596B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07253753A (en) * | 1994-03-15 | 1995-10-03 | Fujitsu Ltd | Ciphering circuit |
WO1999038078A1 (en) * | 1998-01-21 | 1999-07-29 | Tokyo Electron Limited | Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory |
JPH11274999A (en) * | 1998-03-25 | 1999-10-08 | Hitachi Ltd | Mobile communication method and mobile communication system |
JPH11308564A (en) * | 1998-04-20 | 1999-11-05 | Olympus Optical Co Ltd | Digital evidence camera system, decoding key acquisition registration system and digital image edit system |
JP2002135243A (en) * | 2000-10-20 | 2002-05-10 | Sony Corp | Data reproducing apparatus, data recording apparatus, data reproducing method, data recording method, list updating method and program providing medium |
JP2002247542A (en) * | 2001-02-14 | 2002-08-30 | Matsushita Electric Ind Co Ltd | Video secrecy device |
JP2002358209A (en) * | 2001-06-01 | 2002-12-13 | Canon Inc | Information processing method and device thereof |
JP2003198532A (en) * | 2001-12-27 | 2003-07-11 | Mitsubishi Electric Corp | Master station, slave station, enciphering system, enciphering method, enciphering program, deciphering method and deciphering program |
JP2004280287A (en) * | 2003-03-13 | 2004-10-07 | Matsushita Electric Ind Co Ltd | Memory card |
WO2004105308A1 (en) * | 2003-05-22 | 2004-12-02 | Fujitsu Limited | Encrypted data reception device and decryption key updating method |
Also Published As
Publication number | Publication date |
---|---|
JP2006245704A (en) | 2006-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4906854B2 (en) | Information processing apparatus, information recording apparatus, information processing system, program update method, program, and integrated circuit | |
KR101122923B1 (en) | Encryption and data-protection for content on portable medium | |
JP4555046B2 (en) | Data transfer system and data transfer method | |
US7971261B2 (en) | Domain management for digital media | |
JP5025009B2 (en) | Authentication method, host computer and recording medium | |
JP4622087B2 (en) | Information processing apparatus, information processing method, and program storage medium | |
US7484090B2 (en) | Encryption apparatus, decryption apparatus, secret key generation apparatus, and copyright protection system | |
US8370647B2 (en) | Information processing apparatus, information processing method, and program | |
US20020184259A1 (en) | Data reproducing/recording apparatus/ method and list updating method | |
JP5097130B2 (en) | Information terminal, security device, data protection method, and data protection program | |
US7831831B2 (en) | Authentication communication system, authentication communication apparatus, and authentication communication method | |
CN100524283C (en) | Method and device for consuming rights objects having inheritance structure | |
US20080219451A1 (en) | Method and system for mutual authentication between mobile and host devices | |
US20080256527A1 (en) | Method of generating firmware update file, method and apparatus for updating firmware by using the firmware update file | |
WO2011152065A1 (en) | Controller, control method, computer program, program recording medium, recording apparatus, and method of manufacturing recording apparatus | |
US20100023760A1 (en) | Method, system, and data server for checking revocation of content device and transmitting data | |
KR20080101999A (en) | Method for installing software for using contents and apparatus thereof | |
JP2006524860A (en) | How to store revocation lists | |
JP2004519882A (en) | Authentication method and data transmission system | |
JP2005512170A (en) | Information protection method and apparatus against unauthorized use | |
JP4702596B2 (en) | Decoding circuit, decoding device, decoding method, and decoding program | |
JPWO2009044508A1 (en) | Copyright protection system, playback device, and playback method | |
US20120110639A1 (en) | Storage device, and authentication method and authentication device of storage device | |
JP2010097502A (en) | Encryption-decryption system, encryption device, decryption device and encryption-decryption method | |
KR100964386B1 (en) | Digital cinema management apparatus and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070910 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110117 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110223 |
|
LAPS | Cancellation because of no payment of annual fees |