JPWO2006115252A1 - 情報セキュリティ装置 - Google Patents

情報セキュリティ装置 Download PDF

Info

Publication number
JPWO2006115252A1
JPWO2006115252A1 JP2007514724A JP2007514724A JPWO2006115252A1 JP WO2006115252 A1 JPWO2006115252 A1 JP WO2006115252A1 JP 2007514724 A JP2007514724 A JP 2007514724A JP 2007514724 A JP2007514724 A JP 2007514724A JP WO2006115252 A1 JPWO2006115252 A1 JP WO2006115252A1
Authority
JP
Japan
Prior art keywords
key
information
circuit
encryption
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007514724A
Other languages
English (en)
Other versions
JP4801055B2 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007514724A priority Critical patent/JP4801055B2/ja
Publication of JPWO2006115252A1 publication Critical patent/JPWO2006115252A1/ja
Application granted granted Critical
Publication of JP4801055B2 publication Critical patent/JP4801055B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

新たな暗号方式の導入に伴って、新たな暗号方式に対応するデバイス鍵を、各機器に安全かつ簡易に配布する技術に対する要望がある。 この要望に対応するコンテンツ再生装置100は、書き換え可能なFPGA122を備えており、コンテンツ再生装置100は、新たな暗号方式に適したデバイス鍵を生成する鍵生成回路の構成を示す鍵生成回路プログラムを取得する。取得した鍵生成回路プログラムに従って、FPGA122を書き換えて鍵生成回路を構築し、構築した鍵生成回路により、新たな暗号方式に適したデバイス鍵を生成する。

Description

本発明は、新たな機器固有の鍵情報を安全かつ簡易に取得する技術に関する。
映像及び音声からなるデジタルコンテンツを記録媒体に記録して販売したり、ネットワークを介して配信する際に、改竄や盗聴といった不正なコンテンツの利用を防止するために、暗号化技術が用いられることが一般的になっている。
例えば、CPPM(Content Protection for Prerecorded Media)規格によると、コンテンツの提供側は、コンテンツを暗号化して暗号化コンテンツを生成し、暗号化コンテンツを記録媒体に記録して配布し、再生機器側では、各再生機器の保持するデバイス鍵を用いて暗号化コンテンツを復号して再生する。デバイス鍵は、各再生機器に固有の鍵である。
一方で、暗号化に用いられる暗号方式が解読された場合や、新たな暗号方式が開発された場合に、暗号方式を変更したいという要望がある。暗号方式を変更する技術としては、特許文献1に、アプリケーション及びデータの種類に応じて暗号方式を変更する技術が開示されている。
暗号方式の変更に当たって、暗号処理に用いる鍵も変更する必要がある。鍵の変更に関する従来技術としては、特許文献3に、各端末機器が、予め複数の鍵を記憶しておき、全ての機器が、同一のルールに従って、使用する鍵を変更するシステムが開示されている。
特開平10−320191号公報 特開2002−50956号公報 特開2002−290396号公報
しかしながら、暗号方式の解読など、後発的理由により暗号方式を変更する場合には、予め、新たな暗号方式に適した鍵を用意しておくことができない場合もあり、暗号方式の変更にあたり、各再生機器に、新たな暗号方式に適した鍵を配布する必要がある。
特に、上述したように、各再生機器が個別のデバイス鍵を用いる場合、各再生機器に、個別のデバイス鍵を、安全かつ簡易に配布することができる技術が要望されている。
この要望を満たすべく、本発明は、各機器固有のデバイス鍵を、安全かつ簡易に配布することができる情報セキュリティシステム、情報セキュリティ装置、鍵取得方法、鍵取得プログラム及び集積回路を提供することを目的とする。
上記の課題を解決するために、本発明は、デバイス鍵を用いて、安全又は確実に情報を取り扱う情報セキュリティ装置であって、書き換え可能な論理回路と、所定の処理を実行する実行回路を定める回路形成情報を取得し、取得した回路形成情報に従って、前記論理回路を書き換えて、前記実行回路を構築する構築手段と、自装置に固有の固有秘密鍵を記憶している鍵記憶手段と、自装置に固有の前記デバイス鍵を、前記固有秘密鍵を用いて生成する鍵生成回路を定める鍵回路形成情報を取得する取得手段と、有効に取得された前記鍵回路形成情報を、前記回路形成情報として、前記構築手段に出力する出力手段と、前記デバイス鍵を生成するように、構築された前記鍵生成回路を制御する制御手段とを備えることを特徴とする。
また、本発明は、デバイス鍵を用いて、安全又は確実に情報を取り扱う情報セキュリティ装置とサーバ装置から構成される鍵配布システムであって、前記情報セキュリティ装置は、書き換え可能な論理回路と、所定の処理を実行する実行回路を定める回路形成情報を取得し、取得した回路形成情報に従って、前記論理回路を書き換えて、前記実行回路を構築する構築手段と、自装置に固有の固有秘密鍵を記憶している鍵記憶手段と、自装置に固有の前記デバイス鍵を、前記固有秘密鍵を用いて生成する鍵生成回路を定める鍵回路形成情報を取得する取得手段と、有効に取得された前記鍵回路形成情報を、前記回路形成情報として、前記構築手段に出力する出力手段と、前記デバイス鍵を生成するように、構築された前記鍵生成回路を制御する制御手段とを備え、前記サーバ装置は、前記鍵回路形成情報を記憶している記憶手段と、前記鍵回路形成情報を、出力する出力手段とを備えることを特徴とする。
なお、上記の「論理回路」には、後述する実施の形態1のFPGA122が対応する。「構築手段」には、構築機構123が対応する。「鍵記憶手段」には、マスタ個別鍵格納部102が対応する。「取得手段」には、プログラム取得部106、FPGA122、主記憶部107、正当性チェック部112及び鍵回路記憶部119が対応する。「出力手段」には、選択部114が対応する。「制御手段」には、制御部116が対応する。「固有秘密鍵」には、「マスタ個別鍵」が対応する。
この構成によると、前記構築手段により、構築された鍵生成回路は、前記固有秘密鍵を用いて、自装置に固有の前記デバイス鍵を生成する。デバイス鍵自体を授受することがないので、本発明の情報セキュリティ装置は、前記デバイス鍵を安全に取得することができるという優れた効果を奏する。
また、前記情報セキュリティ装置内に構築された前記鍵生成回路が、自機に固有のデバイス鍵を生成するので、前記サーバ装置は、前記情報セキュリティ装置及び同等の機器に、同一の鍵回路形成情報を配布するだけで、各機器に、容易に、機器固有のデバイス鍵を取得せしめることができる。
また、上記の情報セキュリティ装置において、前記取得手段は、自装置が前記情報を取り扱う現情報処理方法と対応する前記鍵回路形成情報を取得し、前記鍵回路形成情報に従って構築される鍵生成回路は、前記現情報処理方法の性質に適した前記デバイス鍵を生成することを特徴とする。
この構成によると、前記鍵生成回路の生成する前記デバイス鍵は、前記現情報処理方法の性質に適しているため、当該情報セキュリティ装置は、前記デバイス鍵を用いて、前記情報を適切に取り扱うことができる。
ここで、前記取得手段は、ネットワークを介して接続される外部機器から、前記鍵回路形成情報を取得することを特徴とする情報セキュリティ装置でもよい。
上記の外部機器とは、各種の情報処理方式の安全性に関する情報管理する機関の有するサーバ機器であると考えられ、実施の形態1の暗号方式管理サーバが対応する。
このような機関は、各種の情報処理方式の安全性に関する最新の情報を保持しているので、この機関の有するサーバ機器は、現時点で最も適切な前記鍵回路形成情報を保持している。従って、上記の構成によると、前記取得手段は、取得の時点において、最も適切な鍵回路形成情報を取得することができる。
また、前記取得手段は、前記外部機器へ、自装置が前記情報を取り扱う現情報処理方法を通知する通知部と、前記外部機器から、通知した現情報処理方法と対応する前記鍵回路形成情報を受信する受信部とを含むことを特徴とする。
この構成によると、前記通知部は、当該情報セキュリティ装置が前記情報を取り扱う前記現情報処理方法を前記外部機器に通知するため、確実に、前記現情報処理方法に対応する前記鍵回路形成情報を取得することができる。
前記外部機器は、前記鍵回路形成情報を暗号化して、暗号化鍵回路形成情報を生成し、生成した暗号化鍵回路形成情報を送信し、前記情報セキュリティ装置において、前記取得手段は、前記暗号化鍵回路形成情報を、前記外部機器から受信する受信部と、受信した前記暗号化鍵回路形成情報を復号して前記鍵回路形成情報を生成する生成部とを含むことを特徴とする。
前記鍵回路形成情報には、前記デバイス鍵の推測容易にするパラメータ、製作者のノウハウなど、秘密にすべき情報を含んでいる場合がある。この構成によると、前記受信部は、前記外部機器から、暗号化鍵回路形成情報を受信するので、前記外部機器との間の通信において、前記鍵回路形成情報を盗聴されないという優れた効果を有する。
また、前記鍵記憶手段は、耐タンパー性を有し、前記固有秘密鍵を安全に記憶している構成であっても良い。
この構成によると、外部の機器により、前記固有秘密鍵を読み取られる危険性がないので、前記デバイス鍵を第三者に知られる危険性を抑制することができる。
また、本発明の前記情報セキュリティ装置において、前記取得手段は、さらに、前記鍵回路形成情報にデジタル署名を施して生成された署名情報を取得し、前記情報セキュリティ装置は、さらに、前記署名情報と、取得された前記鍵回路形成情報とを用いて、前記鍵回路形成情報の正当性を検証する検証手段を備え、前記出力手段は、前記検証が成功した場合に、前記鍵回路形成情報が有効に取得されたと決定し、前記鍵回路形成情報を出力する構成であっても良い。
上記の「検証手段」には、後述の実施の形態1の正当性チェック部112、主記憶部107、FPGA112が対応する。
この構成によると、本発明の情報セキュリティ装置は、前記取得手段の取得した前記鍵回路形成情報が正当である場合にのみ前記デバイス鍵を生成することができる。このようにすることで、悪意の第三者により配布された不当な鍵回路形成情報を排除することができる。
また、前記情報セキュリティ装置は、さらに、前記検証手段の構成を示す検証回路形成情報を記憶している検証情報記憶手段を備え、前記出力手段は、さらに、前記検証情報記憶手段から、前記検証回路形成情報を読み出し、読み出した検証回路形成情報を前記回路形成情報として、前記構築手段へ出力することを特徴とする。
上記の構成によると、前記構築手段は、前記検証回路形成情報に従って、前記論理回路を書き換えて、前記検証手段を構築する。従って、当該情報セキュリティ装置は、前記論理回路を有効活用することで、前記検証手段の機能を有する回路を備える必要がなく、回路規模を小さくすることができる。
また、ここで、前記現情報処理方法とは、前記情報を暗号化又は復号化する暗号方式である構成であっても良い。
この構成によると、本発明の情報セキュリティ装置は、前記情報に暗号処理を施すことにより、第三者への情報の漏洩を防ぎ、前記情報を安全に取り扱うことができる。
また、ここで、前記現情報処理方法とは、前記情報の正当性を示す署名の生成又は検証手順を含む署名方式であるとしてもよい。
この構成によると、本発明の情報セキュリティ装置は、前記情報に署名を施し、又は、前記情報に施された署名を検証することにより、確実に前記情報の授受を行うことができる。
また、ここで、前記現情報処理方法とは、前記情報の授受を行う外部機器の正当性を認証する機器認証方式であるとしてもよい。
この構成によると、本発明の情報セキュリティ装置は、前記機器認証方式に従って、正当な機器であることが認証された機器との間においてのみ、前記情報の授受を行うので、前記情報を安全に取り扱うことができる。
また、ここで、前記現情報処理方法とは、前記情報の改竄の有無を検証するために一方向関数を用いて生成されるメッセージ認証コードの、生成又は検証手順を含むメッセージコード認証方式であるとしてもよい。
前記情報セキュリティ装置は、メッセージ認証コード認証方式に従って、前記情報に付されたメッセージ認証コードを検証することで、改竄の有無を検証し、前記情報を確実に取得することができる。また、前記情報を出力する再に、前記情報から生成したメッセージ認証コードを付すことで、前記情報を取得する機器は、伝送途中における前記情報の改竄を検出することができる。
前記現情報処理方法とは、前記情報の授受を行う機器との間で同一の鍵を共有する鍵共有方法であるとしてもよい。
この構成によると、前記情報セキュリティ装置は、鍵共有方式に従って、前記機器との間で同一の鍵を共有し、共有した鍵を用いて、前記情報の授受を安全に行うことができる。
前記鍵回路形成情報は、所定の情報処理方法と対応しており、前記鍵回路形成情報に従って構築される鍵生成回路は、前記所定の情報処理方法の性質に適した前記デバイス鍵を生成し、前記情報セキュリティ装置は、さらに、自装置が前記情報を取り扱う現情報処理方法と、前記所定の情報処理方法とが一致するか否かを判断する組合せ確認手段を備え、前記出力手段は、前記組合せ確認手段により、両者が一致すると判断される場合に、前記鍵回路形成情報が有効に取得されたと決定し、前記鍵回路形成情報を出力することを特徴とする構成であっても良い。
上記の「組合せ確認手段」は、実施の形態1の組合せチェック部118が対応する。
この構成によると、前記取得手段が前記現情報処理方法に対応した前記鍵回路形成情報を取得した場合に、前記デバイス鍵が生成される。従って、本発明の情報セキュリティ装置は、確実に、前記現情報処理方法の性質に適したデバイス鍵を取得することができる。
実施の形態1の情報セキュリティシステムの構成を示す構成図である。 DVD400a及び400bに記録されている情報を示す。 暗号方式管理サーバ600の機能的構成を示すブロック図である。 情報記憶部610に記憶されている無効暗号方式一覧621及び送信用鍵テーブル626の詳細を示す。 情報記憶部610に記憶されている暗号回路ファイル631、鍵回路ファイル651及び検証鍵ファイル671の構成を示す。 署名生成部603の保持する署名鍵テーブル691の詳細を示す。 新たな暗号方式の導入において、暗号方式管理サーバ600が、コンテンツ再生装置100に送信する情報群の一例を示す。 コンテンツ再生装置100の構成を示すブロック図である。 マスタ個別鍵格納部102及びデバイス鍵格納部103に記憶されている情報を示す。 主記憶部107に記憶されている情報の一例を示す。 利用可能方式表166の構成及び新たな暗号方式導入後の利用可能方式表166bを示す。 新たな暗号方式の導入の前後における、暗号回路記憶部117の記憶している情報の具体例を示す。 新たな暗号方式の導入の前後における、鍵回路記憶部119の記憶している情報の具体例を示す。 鍵回路形成プログラムに従って、可変回路108内に構築された鍵生成回路を機能的に示したブロック図である。 鍵生成プログラム「KgenA」に従って構築された鍵生成回路の動作の一例を示すフローチャートである。 暗号化プログラムに従って、可変回路108内に構築された暗号処理回路を機能的に示したブロック図である。 復号プログラムに従って、可変回路108内に構築された復号処理回路を機能的に示したブロック図である。 正当性チェック部112の保持するチェック情報表201の詳細を示す。 メモリカード500の機能的構成を示すブロック図である。 コンテンツ再生装置の動作を示すフローチャートである。 DES暗号方式の解読に伴うAES暗号方式の導入にかかるコンテンツ再生装置100及び暗号方式管理サーバ600の動作を示すフローチャートである。 DES暗号方式の解読に伴うAES暗号方式の導入にかかるコンテンツ再生装置100及び暗号方式管理サーバ600の動作を示すフローチャートである。図21から続く。 DES暗号方式の解読に伴うAES暗号方式の導入にかかるコンテンツ再生装置100及び暗号方式管理サーバ600の動作を示すフローチャートである。図21から続く。 DES暗号方式の解読に伴うAES暗号方式の導入にかかるコンテンツ再生装置100及び暗号方式管理サーバ600の動作を示すフローチャートである。図21から続く。 コンテンツ再生装置100による、取得したコンテンツが再生可能であるか否かの検証動作を示すフローチャートである。 署名データの検証に係る動作を示すフローチャートである。 コンテンツの再生動作を示すフローチャートである。 メモリカードへのコンテンツの出力動作を示すフローチャートである。 メモリカードへのコンテンツの出力動作を示すフローチャートである。図28から続く。 メモリカードへのコンテンツの出力動作を示すフローチャートである。図28から続く。 署名記憶部220の記憶している情報の一例を示す。
符号の説明
1 情報セキュリティシステム
100 コンテンツ再生装置
400a DVD
400b DVD
500 メモリカード
600 暗号方式管理サーバ
700 コンテンツサーバ
800 ポータブルプレーヤー
1.実施の形態1
以下に、本発明の実施の形態1に係る情報セキュリティシステム1について、図面を用いて説明する。
1.1 情報セキュリティシステム1の概要
情報セキュリティシステム1は、図1に示すように、コンテンツ再生装置100、暗号方式管理サーバ600、コンテンツサーバ700及びポータブルプレーヤー800から構成される。
コンテンツサーバ700、暗号方式管理サーバ600及びコンテンツ再生装置100は、インターネット20に接続されている。
コンテンツサーバ700は、映画を初めとしたコンテンツを提供する装置であって、コンテンツを暗号化して生成した暗号化コンテンツと、前記暗号化コンテンツが、正当な配布元により生成されたことを示す署名とを、インターネット20又はDVDなどの記録メディアを介して、コンテンツ再生装置100に提供する。
コンテンツ再生装置100は、インターネット20又はDVDを介して、コンテンツサーバ700から、暗号化コンテンツと署名とを取得し、取得した署名を検証し、正当な配布者により配布されたコンテンツであることを認証し、暗号化コンテンツを復号、再生する。また、コンテンツ再生装置100は、メモリカードを装着可能であって、利用者の操作に従って、暗号化コンテンツの生成に用いられたコンテンツ鍵を暗号化して生成した暗号化コンテンツ鍵と暗号化コンテンツとをメモリカードに書き込む。
ここで、前記コンテンツ再生装置100が、製造された時点で、コンテンツの暗号化に用いられている暗号方式を示す方式識別子を、方式識別子「IDA」、署名検証に利用される暗号方式を示す方式識別子を、方式識別子「IDB」とする。一例として、本明細書では、方式識別子「IDA」の示す暗号方式は、DES(Data Encryption Standard)暗号方式あり、方式識別子「IDB」の示す暗号方式は、RSA(Rivest Shamir Adleman)暗号方式であるとする。
コンテンツ再生装置100は、書き換え可能な回路を備えており、署名検証の際には、RSA暗号方式に従った復号処理を行う復号処理回路を、前記回路上に構築し、コンテンツの復号の際には、DES暗号方式従う復号を行う復号処理回路を構築し、暗号化コンテンツ鍵の生成の際には、DES暗号方式による暗号化処理を行う暗号処理回路を構築する。
暗号方式管理サーバ600は、コンテンツ再生装置100が、上記の署名検証、コンテンツの復号などに用いる暗号方式の安全性を管理する。暗号方式管理サーバ600は、DES暗号方式、又は、RSA暗号方式が解読された場合に、解読された暗号方式に代えて、コンテンツ再生装置100が使用する暗号方式に関する情報を記憶している。何れか一方の暗号方式が解読されると、解読された暗号方式に代替する新たな暗号方式に係る情報を、解読されていない他方の暗号方式に従って暗号化して、コンテンツ再生装置100へ送信する。
コンテンツサーバ700と、暗号方式管理サーバ600は、同一又は関連のある機関によって管理されており、暗号方式の変更に係る情報及び新たな暗号方式の鍵に関する情報を共有している。何れかの暗号方式が解読されると、コンテンツサーバ700は、解読された暗号方式に代わって、上記の新たな暗号方式を用いて、コンテンツの暗号化又は署名生成を行う。
コンテンツ再生装置100は、解読されていない他方の暗号方式により、上記の新たな暗号方式に係る情報を安全に取得し、新たな暗号方式を導入する。
1.2 DVD400a及び400b
DVD400a及び400bは、可搬型の光ディスク媒体である。
DVD400a及び400bは、同一のコンテンツ「ConA」を配布するために製造されたものであるが、DVD400aは、コンテンツ再生装置100の製造時に発売されていたものであり、DES暗号方式により暗号化されたコンテンツを記憶している。DVD400bは、その後、DES暗号方式が解読された後に、発売されたものであり、DES暗号方式に代替する暗号方式により暗号化されたコンテンツを記憶している。DES暗号方式に代替する暗号方式としては、一例としてAES(Advanced Encryption Standard)暗号方式を用いる。
図2は、DVD400aおよび400bに記録されている情報を示している。図2に示すように、DVD400aには、コンテンツファイル401とコンテンツ鍵情報404と署名ファイル411とが記録されている。
コンテンツファイル401は、方式識別子402「IDA」と暗号化コンテンツ403「EncA(ConA,KconA)」とを含む。以下、本明細書において、方式識別子「IDα」の示す暗号方式により(α=A,B,C・・・)、暗号鍵「β」を用いて、平文「γ」を暗号化して生成された暗号文を、Encα(γ,β)と記載する。
方式識別子402は、暗号化コンテンツ403の生成に用いられた暗号方式を示している。ここでは、DES暗号方式を示している。
暗号化コンテンツ403は、コンテンツ鍵「KconA」を用いて、コンテンツ「ConA」に、方式識別子「IDA」の示すDES暗号方式に従う暗号化アルゴリズムを施して生成された暗号文である。コンテンツ鍵「KconA」は、56ビット長の暗号鍵である。
コンテンツ鍵情報404「CKinfA」は、メディアキーブロック、メディアIDを含んでいる。メディアキーブロックは、DVD400aにアクセスすることができる正当な再生機器のみに、暗号化コンテンツを復号するコンテンツ復号鍵を付与するための情報である。DES暗号方式を初めとする共通鍵暗号方式の場合、コンテンツ復号鍵は、コンテンツ鍵と同一であるが、RSA暗号などの公開鍵暗号をコンテンツの暗号化に用いる場合は、コンテンツ復号鍵とコンテンツ鍵とは異なる。
メディアIDは、DVD400aに固有の識別子である。正当な再生機器は、その再生機器に固有のデバイス鍵とメディアIDを用いて、メディアキーブロックから、コンテンツ鍵「KconA」を生成することができる。
異なるデバイス鍵のいずれを用いても、メディアキーブロックから、同一の鍵を生成可能にする技術については、公知であるのでここでは説明を省略する。
署名ファイル411は、サーバID412「001A」、方式識別子413「IDB」及び署名データ414を含む。サーバID412は、署名データ414「SignA」を作成した機器を識別する識別子である。具体的に、「001A」は、コンテンツ「ConA」の配布元であるコンテンツサーバ700を示す。方式識別子413は、署名データ414の生成に用いられた暗号方式を示しており、ここでは、RSA暗号方式を示している。署名データ414は、コンテンツファイル401及びコンテンツ鍵情報404を結合した結合物をハッシュ関数に代入して160ビット長のダイジェストデータを生成し、署名鍵「Ksig_Ba」を用いて、方式識別子413の示すRSA暗号方式による暗号化アルゴリズムを前記ダイジェストデータに施して生成されたものである。署名鍵「Ksig_Ba」は、方式識別子413の示すRSA暗号方式に対応する128ビット長の鍵であって、サーバID412と対応するコンテンツサーバ700に固有の鍵である。
ハッシュ関数には、一例として、SHA−1を用いる。この署名生成方法は、一例であって、他の方法を用いても良い。
図2(b)に示すように、DVD400bは、コンテンツファイル421、コンテンツ鍵情報424及び署名ファイル431を記憶している。
コンテンツファイル421は、方式識別子422「IDC」、暗号化コンテンツ423「EncC(ConA,KconC)」を含んでいる。方式識別子422は、暗号化コンテンツ423の生成に用いられたAES暗号方式を示す。暗号化コンテンツ423は、コンテンツ鍵「KconC」を用いて、AES暗号方式に従う暗号化アルゴリズムを、コンテンツ「ConA」に施して生成されたものである。コンテンツ鍵「KconC」は、128ビット長の暗号鍵である。
コンテンツ鍵情報424は、メディアキーブロックと、メディアIDとを含んでおり、正当な再生機器に、コンテンツ鍵「KconC」を付与するデータである。
署名ファイル431は、サーバID432と方式識別子433と署名データ434とを含んでいる。サーバID432は、コンテンツ「ConA」の配布元であるコンテンツサーバ700を示す識別子である。方式識別子433は、署名データ434の生成に用いられたRSA暗号方式を示す。署名データ434「SignA’」は、コンテンツファイル421とコンテンツ鍵情報424を結合した結合物をハッシュ関数に代入してダイジェストデータを生成し、サーバID432の示すコンテンツサーバ700の署名鍵「Ksig_Ba」を用いて、RSA暗号方式に従う暗号化アルゴリズムを、生成したダイジェストデータに施して生成されたものである。
1.3 暗号方式管理サーバ600
暗号方式管理サーバ600は、DES暗号方式が解読された場合には、DES暗号方式に代わるAES暗号方式の導入を、コンテンツ再生装置100に指示し、解読されていないRSA暗号方式により、導入に係る情報を暗号化して送信する。また、同時に、送信した情報が、正当な暗号方式管理サーバ600により送信されたことを示す署名データを、RSA暗号方式を用いて生成し、送信する。
また、逆に、RSA暗号方式が解読された場合には、暗号方式管理サーバ600は、RSA暗号方式に代わる楕円曲線暗号方式の導入を、コンテンツ再生装置100に指示し、解読されていないDES暗号方式により、導入に係る情報を暗号化して送信する。また、同時に、送信した情報が、正当な暗号方式管理サーバ600により送信されたことを示す署名データを、DES暗号方式を用いて生成し、送信する。
暗号方式管理サーバ600は、図3に示すように、送受信部601、署名生成部603、制御部607、情報記憶部610、入力部613及び表示部612から構成される。
暗号方式管理サーバ600は、具体的には、マイクロプロセッサ、RAM、ROMを含んで構成されるコンピュータシステムであって、前記RAM、ROMにはコンピュータプログラムが記憶されている。マイクロプロセッサが前記コンピュータプログラムに従って動作することによって、暗号方式管理サーバ600は、その機能の一部を達成する。
以下に、暗号方式管理サーバ600の各構成要素について説明する。
(1)情報記憶部610
情報記憶部610は、ハードディスクを含んで構成され、一例として、図3に示すように、無効暗号方式一覧621、送信用鍵テーブル626、暗号回路ファイル631、641・・・、鍵回路ファイル651、661・・・及び検証鍵ファイル671・・・を記憶している。
(1−a)無効暗号方式一覧621
無効暗号方式一覧621は、図4(a)に示すように、複数の暗号方式情報622、623・・・から構成される。各暗号方式情報は、解読されている暗号方式と対応しており、方式識別子と暗号回路ファイル名と鍵回路ファイル名と検証鍵ファイル名とを含んでいる。
方式識別子は、解読された暗号方式を示す識別子である。暗号回路ファイル名は、解読された暗号方式に代わる新たな暗号方式を導入するためのプログラムを含むファイルの名称である。鍵回路ファイル名は、解読された暗号回路に代わる新たな暗号方式に適したデバイス鍵を生成するためのプログラムを含むファイルの名称である。検証鍵ファイル名は、前記新たな暗号方式を用いて生成される署名データを検証するための検証鍵を含むファイルの名称である。暗号回路ファイル、鍵回路ファイル及び検証鍵ファイルについては、後述する。
例えば、暗号方式情報622は、方式識別子「IDA」、暗号回路ファイル名「C」、鍵回路ファイル名「KC」及び検証鍵ファイル名「VeriC」を含んでいる。方式識別子「IDA」は、DES暗号方式を示している。暗号回路ファイル名「C」は、暗号回路ファイル631の名称であり、鍵回路ファイル名「KC」は、鍵回路ファイル651の名称であり、検証鍵ファイル名「VeriC」は、検証鍵ファイル671の名称である。
(1−b)送信用鍵テーブル626
送信用鍵テーブル626は、図4(b)に示すように、複数の送信用鍵情報627、628、629から構成され、各送信用鍵情報は、方式識別子、暗号鍵、復号鍵、復号鍵情報を含む。各送信用鍵情報は、何れかの暗号方式と対応している。
方式識別子は、対応する暗号方式を示しており、暗号鍵は、方式識別子の示す暗号方式に従う暗号化演算に適したビット長の鍵である。復号鍵は、方式識別子の示す暗号方式に従って、暗号鍵を用いて、生成された暗号文を復号するための鍵である。なお、方式識別子の示す暗号方式が、共通鍵暗号方式に属する場合、暗号鍵と復号鍵とは同一である。復号鍵情報は、メディアキーブロックを含んで構成され、正当なコンテンツ再生装置のみに、復号鍵を付与するための情報である。
(1−c)暗号回路ファイル631
暗号回路ファイル631、641・・・は、鍵回路ファイル651、661・・・とそれぞれ対応している。また、検証鍵ファイル671・・・と、それぞれ対応している。
図5(a)は、暗号回路ファイル631の詳細を示す。他の暗号回路ファイルの構成も同様であるので、説明を省略する。
暗号回路ファイル631「C」は、方式識別子632「IDC」、暗号回路プログラム633「EncC」及び復号回路プログラム634を含み、鍵回路ファイル651及び検証鍵ファイル671と対応する。
方式識別子632「IDC」は、DES暗号方式及びRSA暗号方式とは異なる他の暗号方式を示す識別子であって、ここでは、AES暗号方式を示す。暗号回路プログラム633及び復号回路プログラム634は、ハードウェア記述言語をコンパイルして生成された複数の機械語形式の命令から構成される。これらの機械語形式は、コンテンツ再生装置100を構成する可変回路108内の構築機構123(後述する)により、実行される形式である。ここで、ハードウェア記述言語には、一例としてVHDL(VHSIC Hardware Description Language)を用いる。
暗号回路プログラム633「EncC」は、コンテンツ再生装置100の備える可変回路108内に、方式識別子632の示すAES暗号方式に従う暗号化処理を行う暗号処理回路の構成を含んでいる。
復号回路プログラム634は、コンテンツ再生装置100の備える可変回路108内に、方式識別子632の示すAES暗号方式に従う復号処理を行う復号処理回路の構成を含む。
(1−d)鍵回路ファイル651
鍵回路ファイル651「KC」は、図5(b)に示すように、方式識別子652「IDC」及び鍵生成回路プログラム653「KgenC」を含んでいる。
方式識別子652は、鍵回路ファイル651と対応する暗号回路ファイル631に含まれる方式識別子632と同一である。
鍵生成回路プログラム635は、ハードウェア記述言語をコンパイルして生成された複数の機械語形式の命令から構成される。これらの機械語形式は、コンテンツ再生装置の可変回路108内の構築機構123(後述する)により、実行される形式である。
鍵生成回路プログラム635「KgenC」は、コンテンツ再生装置100の備える可変回路108内に、方式識別子632の示す暗号方式に適した鍵長のデバイス鍵を生成する鍵生成回路の構成を含んでいる。
(1−e)検証鍵ファイル671
検証鍵ファイル671「VeriC」は、図5(c)に示すように、方式識別子672「IDC」、検証鍵情報673及び674を含む。
方式識別子672「IDC」は、暗号回路ファイル631及び鍵回路ファイル651に含まれる方式識別子と同様にAES暗号方式を示す。
検証鍵情報673は、サーバID「001A」と検証鍵「Kve_Ca」とを含む。サーバID「001A」は、コンテンツサーバ700を示す識別情報である。検証鍵「Kve_Ca」は、AES暗号方式に適した128ビット長の鍵であって、コンテンツサーバ700に固有の署名鍵「Ksig_Ca」と対応する。なお、AES暗号方式は、共通鍵暗号方式であるので、署名鍵「Ksig_Ca」と検証鍵「Kve_Ca」は同一である。
検証鍵情報674は、サーバID「001B」と検証鍵「Kve_Cb」とを含む。サーバID「001B」は、暗号方式管理サーバ600を示す識別情報である。検証鍵「Kve_Cb」は、AES暗号方式に適した128ビット長の鍵であって、コンテンツサーバ700に固有の署名鍵「Ksig_Cb」と対応する。
(2)送受信部601
送受信部601は、インターネット20を介して接続された外部の機器と、制御部607との間で、各種の情報の送受信を行う。
(3)署名生成部603
署名生成部603は、図6に示す署名鍵テーブル691を記憶している。署名鍵テーブル691は、複数の署名鍵情報692、693、694・・・から構成される。
各署名鍵情報は、何れかの暗号方式と対応しており、方式識別子と署名鍵と検証鍵とを含む。方式識別子は、対応する暗号方式を示す。署名鍵は、方式識別子の示す暗号方式に適した鍵長の鍵である。検証鍵は、方式識別子の示す暗号方式に適した鍵長の鍵であって、署名鍵と対応する。署名鍵と検証鍵は、いずれも、暗号方式管理サーバ600に固有の鍵データである。なお、方式識別子の示す暗号方式が、共通鍵暗号方式である場合、署名鍵と検証鍵とは同一である。
一例として、署名鍵情報693は、方式識別子「IDB」と署名鍵「Ksig_Bb」と検証鍵「Kve_Bb」とを含む。方式識別子「IDB」は、RSA暗号方式を示しており、署名鍵「Ksig_Bb」は、128ビット長の鍵である。検証鍵「Kve_Bb」は、128ビット長の鍵であって、署名鍵を用いて生成された暗号文を復号する鍵である。
署名生成部603は、制御部607から、暗号回路ファイルと鍵回路ファイルと検証鍵ファイルと復号鍵情報と方式識別子とを受け取り、署名生成を指示される。
署名生成を指示されると、署名生成部603は、受け取った暗号回路ファイルと鍵回路ファイルと検証鍵ファイルと復号鍵情報とを結合した結合物をハッシュ関数に代入してダイジェストデータを生成する。
次に、署名生成部603は、記憶している署名鍵テーブル691内で、受け取った方式識別子を含む署名鍵情報を選択し、選択した署名鍵情報に含まれる署名鍵を読み出す。読み出した署名鍵を用いて、生成したダイジェストデータに、受け取った方式識別子の示す暗号方式による暗号化アルゴリズムを施して暗号化ダイジェストデータを生成する。生成した暗号化ダイジェストデータを署名データとして制御部607へ出力する。
(4)制御部607
コンテンツ再生装置100の備える暗号方式が解読された場合、制御部607は、入力部613を介して、解読された暗号方式を示す方式識別子と、解読された暗号方式に代わる新たな暗号方式に関する情報の配布指示の入力を受け取る。解読された暗号方式を示す方式識別子と、新たな暗号方式に係る情報の配布指示を受けると、受け取った方式識別子を、一時的に記憶する。次に、受け取った方式識別子の示す暗号方式が解読されたこと警告する警告通知を、送受信部601を介して、コンテンツ再生装置100に送信する。
次に、制御部607は、コンテンツ再生装置100から、暗号方式の導入の要求を示す導入要求を受信する。また、操作者による、暗号回路ファイルなどの暗号化に用いる暗号方式を示す方式識別子、署名生成に用いる暗号方式を示す方式識別子の入力を受け付ける。
暗号化用の方式識別子及び署名生成用の方式識別子の入力を受け付けると、制御部607は、一時的に記憶した方式識別子を含む暗号方式情報を、無効暗号方式一覧621から読み出し、読み出した暗号方式情報に含まれるファイル名と対応する、暗号回路ファイルと鍵回路ファイルと検証鍵ファイルとを読み出す。
読み出した暗号回路ファイルと鍵回路ファイルと検証鍵ファイルと復号鍵情報と、制御部607は、入力された署名生成用の方式識別子を署名生成部603に出力し、署名生成を指示する。署名生成部603から、署名データを受け取ると、受け取った署名データ、暗号方式管理サーバ600自身を示すサーバ識別子「0001B」、入力された署名生成用の方式識別子を含む署名ファイルを生成する。
次に、制御部607は、入力された暗号化用の方式識別子と対応する暗号鍵と復号鍵情報とを、送信用鍵テーブル626から読み出す。読み出した暗号鍵を用いて、入力された暗号化用の方式識別子の示す暗号方式による暗号化アルゴリズムを、読み出した暗号回路ファイルと鍵回路ファイルと検証鍵ファイルとに施して、暗号化暗号回路ファイルと暗号化鍵回路ファイルと暗号化検証鍵ファイルとを生成する。
次に、制御部607は、送受信部601を介して、コンテンツ再生装置100へ、暗号化暗号回路ファイル、暗号化鍵回路ファイル、暗号化検証鍵ファイル、復号鍵情報と署名ファイル、暗号化暗号回路ファイルなどの生成に用いた暗号方式を示す方式識別子を送信する。
図7は、ここで制御部607が、送信する情報群の一例を示している。これは、DES暗号方式が解読された場合に、送信する情報群である。暗号方式管理サーバ600の操作者は、この場合、まず、方式識別子「IDA」と暗号方式導入の指示を入力し、続いて、暗号化用の暗号方式を示す方式識別子「IDB」、署名生成用の暗号方式を示す方式識別子「IDB」を入力する。
図7に示すように、この場合、制御部607は、暗号化暗号回路ファイル681「EncB(C,KencB)」、暗号化鍵回路ファイル682「EncB(KC,KencB)」、暗号化検証鍵ファイル683「EncB(VeriC,KencB)」、方式識別子684「IDB」、復号鍵情報685「KinfB」及び署名ファイル686を送信する。
暗号化暗号回路ファイル681「EncB(C,KencB)」、暗号化鍵回路ファイル682「EncB(KC,KencB)」、暗号化検証鍵ファイル683「EncB(VeriC,KencB)」は、それぞれ、暗号回路ファイル631「C」、鍵回路ファイル651「KC」、検証鍵ファイル671「VeriC」に、暗号鍵「KencB」を用いて、RSA暗号方式に従う暗号化アルゴリズムを施して生成されたものである。
方式識別子684は、操作者によって入力された暗号化用の方式識別子「IDB」であって、暗号化暗号回路ファイル681等の生成に用いられたRSA暗号方式を示す。復号鍵情報685「KinfB」は、暗号化暗号回路ファイル681などに用いられたRSA暗号方式と対応する送信用鍵情報626から読み出されたものである。
署名ファイル686は、方式識別子687「IDB」、サーバID688「001B」及び署名データ689を含んでいる。方式識別子687「IDB」は、操作者によって入力された方式識別子「IDB」であって、署名データ689の生成に用いられたRSA暗号方式を示す。
署名データ689は、暗号回路ファイル631「C」、鍵回路ファイル651「KC」、検証鍵ファイル671「VeriC」及び復号鍵情報「KinfB」を結合した結合物をハッシュ関数に代入して生成されたダイジェストデータに、暗号方式管理サーバ600に固有の署名鍵「Ksig_Bb」を用いて、RSA暗号方式に従う暗号アルゴリズムを施して生成されたものである。
なお、ここでは、コンテンツ再生装置100が2つの暗号方式を備えており、その一方が解読された場合を前提としているので、各ファイルの暗号化にも署名生成にも同一の暗号方式を用いているが、コンテンツ再生装置100が、多数の暗号方式を備えている場合は、暗号化と署名生成に、異なる暗号方式を用いてもよい。
(5)入力部613及び表示部612
入力部613は、各種のキーを備え、操作者による各種の指示及び情報の入力を受け付け、受け付けた情報及び指示を制御部607へ出力する。
表示部612は、インジケータランプ、ディスプレイを備え、制御部607の制御に従って、各種の画面の表示、ランプの点灯などを行う。
1.4 コンテンツ再生装置100
コンテンツ再生装置100は、製造時において、DES暗号方式とRSA暗号方式とを備えており、DES暗号方式により暗号化されたコンテンツ及びRSA暗号方式を用いて生成された署名データを取得し、取得した署名データを検証する。検証が成功すれば、取得した暗号化コンテンツを復号して再生する。また、DES暗号方式によって暗号化されたコンテンツを、メモリカード500に書き込む。
DES暗号方式が解読されると、コンテンツ再生装置100は、DES暗号方式に代わるAES暗号方式を導入する。AES暗号方式導入後に、DES暗号方式によって暗号化されたコンテンツを取得した場合、暗号化コンテンツを復号して再生することはできるが、メモリカード500に出力することはできない。
逆に、RSA暗号方式が解読されると、コンテンツ再生装置100は、RSA暗号方式に代わる楕円曲線暗号方式を導入する。楕円曲線暗号方式を導入した後に、RSA暗号方式を用いて生成された署名データと共に暗号化コンテンツを取得した場合、この暗号化コンテンツの再生をすることはできるが、メモリカード500に出力することはできない。
図8は、コンテンツ再生装置100の機能的構成を示すブロック図である。図8に示すように、コンテンツ再生装置100は、コンテンツ取得部101、マスタ個別鍵格納部102、デバイス鍵格納部103、入出力部104、プログラム取得部106、主記憶部107、可変回路108、再生処理部109、正当性チェック部112、選択部113、選択部114、制御部116、暗号回路記憶部117、組合せチェック部118、鍵回路記憶部119及び入力部121から構成される。
コンテンツ再生装置100は、具体的には、マイクロプロセッサ、RAM、ROMを含んで構成されるコンピュータシステムであって、前記RAM、ROMにはコンピュータプログラムが記憶されている。マイクロプロセッサが前記コンピュータプログラムに従って動作することによって、コンテンツ再生装置100は、その機能の一部を達成する。
以下に、各構成要素について説明する。
(1)マスタ個別鍵格納部102
マスタ個別鍵格納部102は、ROMから構成される。マスタ個別鍵格納部102は、耐タンパー性を有し、外部機器によるアクセスを受け付けない。
マスタ個別鍵格納部102は、図9(a)に示すように、マスタ個別鍵126及び共通秘密鍵127を記憶している。マスタ個別鍵126及び共通秘密鍵127は、当該コンテンツ再生装置100の製造時に記録されたものである。
マスタ個別鍵126は、1024ビット長のデータであって、コンテンツ再生装置100に固有である。共通秘密鍵127は、1024ビット長のデータであって、コンテンツサーバ700により配布されるコンテンツを再生することができる正当な再生機器に共通のデータである。
(2)デバイス鍵格納部103
デバイス鍵格納部103は、フラッシュメモリなどの書込及び消去可能な記録素子から構成され、一例として、図9(b)に示すようにデバイス鍵128「DevA」を記憶している。
デバイス鍵128「DevA」は、コンテンツ再生装置100に固有の鍵データである。デバイス鍵128「DevA」は、DES暗号方式と対応する56ビット長の鍵データであって、鍵生成回路プログラム143に従って、可変回路108内に構築された鍵生成回路によって生成されたものである。
(3)主記憶部107
主記憶部107は、制御部116、正当性チェック部112及び可変回路108により、アクセスされる。
図10は、主記憶部107の記憶している情報の一例を示している。図10に示すように、主記憶部107は、可変回路情報161及び利用可能暗号方式表166を記憶している。
可変回路情報161は、可変回路108の現在の状態を示す情報であって、動作可能方式識別子162と動作フラグ163と鍵識別子164とを含んでいる。
動作可能方式識別子162は、現在、可変回路108内に構築されている回路と対応する暗号方式を示す方式識別子である。動作フラグ163は、可変回路108内に構築されている回路が、暗号処理回路、復号処理回路及び鍵生成回路の何れであるかを示すフラグであって、「0」は、暗号処理回路、「1」は、復号処理回路、「2」は、鍵生成回路を示す。鍵識別子164は、デバイス鍵格納部103が現在記憶しているデバイス鍵と対応する暗号方式を示す。
一例として、図10では、可変回路情報161は、動作可能方式識別子162「IDA」、動作フラグ163「1」及び鍵識別子164「IDA」を含んでいる。これは、可変回路108上に、方式識別子「IDA」の示すDES暗号方式による暗号化処理を行う暗号処理回路が構築されていることを示しており、デバイス鍵格納部103は、DES暗号方式に適した56ビット長のデバイス鍵「DevA」を格納していることを示す。以下、具体的な説明は省略するが、制御部116及び正当性チェック部112は、選択部113及び114に対して、可変回路108にプログラムの出力を指示するたびに、動作可能方式識別子162及び動作フラグ163が、現在の可変回路108の状態を示すように、動作可能方式識別子162及び動作フラグ163を書き換える。また、制御部116は、可変回路108内に構築された鍵生成回路に、デバイス鍵の生成を指示するたびに、鍵識別子164が鍵生成回路によって生成されるデバイス鍵と対応するように、鍵識別子164を書き換える。
利用可能暗号方式表166は、コンテンツ再生装置100の備える暗号方式を示す表であって、図11(a)にその詳細を示す。図11(a)に示すように、利用可能暗号方式表166は、複数の利用可能情報171、172から構成される。各利用可能情報は、方式識別子と利用フラグとを含む。
方式識別子は、コンテンツ再生装置100が備える暗号方式を示す。利用フラグは、方式識別子の示す暗号方式に従う暗号化及び復号の処理が可能か否かを示している。利用フラグ「1」は、暗号化及び復号化の処理を行うことができることを示している。利用フラグ「0」は、復号の処理を行うことはできるが暗号化の処理を行うことはできないことを示す。
図11(a)は、コンテンツ再生装置100の製造時における、利用可能暗号方式表166である。
利用可能情報171は、方式識別子「IDA」及び利用フラグ「1」を含んでおり、これは、コンテンツ再生装置100が、方式識別子「IDA」の示すDES暗号方式による暗号化処理及び復号処理を行うことができることを示している。
利用可能情報172は、方式識別子「IDB」、利用フラグ「1」を含んでおり、これは、コンテンツ再生装置100が、方式識別子「IDB」の示すRSA暗号方式による暗号化処理及び復号処理を行うことができることを示している。
図11(b)は、DES暗号方式が解読され、DES暗号方式に代わるAES暗号方式が導入された後の利用可能暗号方式表166bを示す。利用可能暗号方式表166bは、利用可能暗号方式表166の利用可能情報171に代えて利用可能情報171bを含み、さらに、新たに導入されたAES暗号方式と対応する利用可能情報173を含んでいる。
利用可能情報171bは、方式識別子「IDA」及び利用フラグ「0」を含んでおり、これは、コンテンツ再生装置100が、方式識別子「IDA」の示すDES暗号方式による復号処理を行うことができるが、暗号化処理はできないことを示している。
利用可能情報173は、方式識別子「IDC」及び利用フラグ「1」を含んでおり、これは、コンテンツ再生装置100が、方式識別子「IDC」の示すAES暗号方式による暗号化処理及び復号処理を行うことができることを示している。
また、主記憶部107は、制御部116、正当性チェック部112及び可変回路108による各種の処理中に、各種の情報を一時的に記憶する。
(4)暗号回路記憶部117
暗号回路記憶部117は、フラッシュメモリなど、書き込み及び消去可能な不揮発性メモリから構成される。図12は、暗号回路記憶部117の記憶している情報の一例を示している。図12(a)は、コンテンツ再生装置100の製造当初の暗号回路記憶部117を示しており、図12(b)は、DES暗号方式が解読され、DES暗号方式に代わるAES暗号方式を導入した後の暗号回路記憶部117を示している。図12(a)と(b)とで、同一の情報には同一の参照符号を付している。
図12(a)に示すように、暗号回路記憶部117は、暗号回路ファイル131「A」及び暗号回路ファイル136「B」を記憶している。各暗号ファイルは、それぞれ、DES暗号方式及びRSA暗号方式と対応している。また、各暗号回路ファイルは、鍵回路記憶部119に記憶されている鍵回路ファイルと対応する。
各暗号回路ファイルは、図5を用いて説明した暗号回路ファイル631「C」と同様に、対応する暗号方式を示す方式識別子、対応する暗号方式による暗号化の処理を行う暗号処理回路構成を示す暗号回路プログラム、及び、対応する暗号方式による復号処理を行う復号処理回路の構成を示す復号回路プログラムを含んでいる。
具体的には、暗号回路ファイル131「A」は、DES暗号方式を示す方式識別子132「IDA」、DES暗号方式に従う暗号処理回路の構成を示す暗号回路プログラム133「EncA」、DES暗号方式に従う復号処理回路の構成を示す復号回路プログラム134「DecA」を含む。
暗号回路ファイル136「B」は、RSA暗号方式を示す方式識別子137「IDB」とRSA暗号方式に従う暗号処理回路の構成を示す暗号回路プログラム138「EncB」、RSA暗号方式に従う復号処理回路の構成を示す復号回路プログラム139「DecB」を含む。
図12(b)に示すように、AES暗号方式を導入した後の暗号回路記憶部117は、暗号回路ファイル131b、136、181を記憶している。
暗号回路ファイル131b「A」は、暗号回路ファイル131「A」から、暗号回路プログラム133「EncA」を削除したものである。
暗号回路ファイル181「C」は、AES暗号方式と対応しており、暗号方式管理サーバ600の記憶している暗号回路ファイル631「C」と同一である。
(5)鍵回路記憶部119
鍵回路記憶部119は、フラッシュメモリなど、書き込み及び消去可能な不揮発性メモリから構成される。図13は、鍵回路記憶部119の記憶している情報の一例を示している。図13(a)は、コンテンツ再生装置100の製造当初の鍵回路記憶部119を示しており、図13(b)は、DES暗号方式が解読され、DES暗号方式に代わるAES暗号方式を導入した後の鍵回路記憶部119を示している。図13(a)と(b)とで、同一の情報には同一の参照符号を付している。
図13(a)に示すように、鍵回路記憶部119は、鍵回路ファイル141「KA」及び鍵回路ファイル146「KB」を記憶している。各鍵回路ファイルは、それぞれ、DES暗号方式及びRSA暗号方式と対応している。各鍵回路ファイルは、対応する暗号方式を示す方式識別子と、対応する暗号方式に適したデバイス鍵を生成する鍵生成回路の構成を示す鍵生成回路プログラムを含む。
具体的には、鍵回路ファイル141「KA」は、DES暗号方式を示す方式識別子142「IDA」と、DES暗号方式に適する56ビット長のデバイス鍵を生成する鍵生成回路の構成を示す鍵生成回路プログラム143「KgenA」とを含む。
鍵回路ファイル146「KB」は、RSA暗号方式を示す方式識別子147「IDB」と、RSA暗号方式に適する128ビット長のデバイス鍵を生成する鍵生成回路の構成を示す鍵生成回路プログラム148「KgenB」とを含む。
図13(b)に示すように、AES暗号方式を導入した後、鍵回路記憶部119は、鍵回路ファイル141、146及び186を記憶している。鍵回路ファイル186「KC」は、AES暗号方式と対応しており、暗号方式管理サーバ600の記憶している鍵回路ファイル651と同一である。
(6)選択部113及び114
選択部113は、制御部116又は正当性チェック部112の指示に従って、暗号回路記憶部117に記憶されている暗号回路ファイルから、方式識別子と暗号回路プログラム又は方式識別子と復号回路プログラムとを読み出し一時的に記憶する。
次に、制御部116又は正当性チェック部112から、読み出したプログラムの出力を指示される。指示を受けると、読み出した暗号回路プログラム又は復号回路プログラムを可変回路108内の構築機構123及びコンフィグROM124(詳細後述)に出力する。
選択部114は、制御部116の指示に従って、鍵回路記憶部119に記憶されている暗号回路ファイルから、方式識別子と鍵生成回路プログラムとを読み出し、一時的に記憶する。
次に、選択部114は、制御部116から、読み出したプログラムの出力を指示される。出力を指示されると、読み出した鍵生成回路プログラムを、可変回路108内の構築機構123及びコンフィグROM124を出力する。
(7)組合せチェック部118
組合せチェック部118は、制御部116から、選択部113の読み出した暗号回路プログラム又は復号回路プログラムと、選択部114の読み出した鍵生成回路プログラムとが対応していることの確認を指示する対応確認指示を受ける。対応確認指示を受けると、組合せチェック部118は、選択部113の保持している方式識別子と、選択部114の保持している方式識別子とを比較する。両者が一致する場合は、選択部113の読み出したプログラムと選択部114の読み出したプログラムとが対応していることを示すOK信号を、制御部116へ出力する。
両者が一致しない場合、選択部113の読み出したプログラムと選択部114の読み出したプログラムとが対応していないことを示すNG信号を制御部116へ出力する。
(8)可変回路108
可変回路108は、耐タンパー性を有するハードウェアであって、外部から可変回路内108内のデータ等を読み取ろうとすると、前記データが消失する。なお、耐タンパー性を実現する方法は任意であって、この方法に限定されるものではない。
可変回路108は、FPGA122とコンフィグROM124と構築機構123とから構成される。コンフィグROM124は、EEPROMから構成されており、暗号回路記憶部117及び鍵回路記憶部119に記憶されているプログラムのうちの何れかひとつを記憶している。
FPGA122は、複数のCLB(Configuration Logic Block)とこれらの間を結線する結線リソースから構成される。
構築機構123は、コンテンツ再生装置100に電源がONになると、コンフィグROM124に記憶されているプログラムに従って、FPGA122をコンフィギュレーションする。また、選択部113及び114から出力される鍵回路生成プログラム、暗号回路プログラム及び復号回路プログラムに従って、FPGA122上に、鍵生成回路、暗号処理回路及び復号処理回路を構築する。具体的には、FPGA122を構成する複数のCLB(Configuration Logic Block)上に任意の論理関数回路を生成し、各CLB間に存在する結線リソースによって、論理回路間を結線することにより、上述した鍵生成回路、暗号処理回路又は復号処理回路を構築する。
構築された鍵生成回路、暗号処理回路又は復号処理回路は、制御部116及び正当性チェック部112の指示に従って、暗号化、復号、鍵生成を行う。以下に、可変回路による暗号化、復号、鍵生成について説明する。
(8−a)鍵生成
図14は、可変回路108内に構築された鍵生成回路151を機能的に示している。鍵生成回路151は、制御部116からデバイス鍵の生成を指示される。デバイス鍵の生成を指示されると、マスタ個別鍵格納部102からマスタ個別鍵126と共通秘密鍵127とを読み出し、読み出したマスタ個別鍵126と共通秘密鍵127とを基にデバイス鍵128を生成する。
鍵生成回路151が、鍵生成回路プログラム「KgenA」に従って構築された場合、鍵生成回路151は、DES暗号方式に適した56ビット長のデバイス鍵「DevA」を生成する。
また、鍵生成回路151が、鍵生成回路プログラム「KgenB」に従って構築された場合、鍵生成回路151は、RSA暗号方式に適した128ビット長のデバイス鍵「DevB」を生成する。
また、鍵生成回路151が、鍵生成回路プログラム「KgenC」に従って構築された場合、鍵生成回路151は、AES暗号方式に適した128ビット長のデバイス鍵「DevC」を生成する。
図15は、鍵生成回路プログラム「KgenA」に従って構築された鍵生成回路151によるデバイス鍵の生成処理の一例を示すフローチャートである。以下に、鍵生成回路151による鍵生成処理について、図15を用いて説明する。
制御部116から、デバイス鍵の生成を指示されると、鍵生成回路151は、マスタ個別鍵格納部102から、マスタ個別鍵126を読み出す(ステップS101)。読み出したマスタ個別鍵の先頭から151ビット目〜156ビット目までを抽出する(ステップS102)。抽出したビット列を第1抽出部分と呼ぶ。
次に、鍵生成回路151は、マスタ個別鍵格納部102から、共通秘密鍵127を読み出す(ステップS103)。共通秘密鍵127の末尾の56ビット(以下第2抽出部分と呼ぶ)を抽出し(ステップS106)、第2抽出部分を暗号鍵として、第1抽出部分にDES暗号方式による暗号化アルゴリズムを施して暗号文を生成する(ステップS107)。生成した暗号文をデバイス鍵「DevA」として、デバイス鍵格納部103に書き込む(ステップS108)。
以上、説明した鍵生成方法は、一例であって、DES暗号方式に適した56ビット長のデバイス鍵が生成できる方法であればよい。
また、他の鍵生成回路プログラムによって構築された鍵生成回路が、デバイス鍵を生成する方法も任意であって、対応する暗号方式に適した鍵長のデバイス鍵が生成できる方法であればよい。ただし、第三者に鍵生成により、鍵生成の手順を推測されにくい方法の方が望ましい。
(8−b)暗号化
図16は、可変回路108上に構築される暗号処理回路152の機能的構成を示している。暗号処理回路152は、鍵処理部153と暗号化部154とを含む。
鍵処理部153は、制御部116からカード鍵情報を受け取る。カード鍵情報は、当該コンテンツ再生装置100に装着されているメモリカード(後述する)の保持しているものであって、メディアキーブロック、カードIDを含む。
鍵処理部153は、カード鍵情報を受け取ると、デバイス鍵格納部103から、デバイス鍵128を読み出し、読み出したデバイス鍵128を基に、カード情報に含まれるメディアキーブロックからメモリカードに固有のカード固有鍵を生成する。生成したカード固有鍵を、暗号化部154へ出力する。メモリカードが備えている暗号方式が、DES暗号方式などの共通鍵暗号方式であれば、ここで生成されるカード固有鍵は、メモリカード自身の記憶しているカード固有鍵と同一であるし、公開鍵暗号方式の場合は、メモリカード自身の記憶しているカード固有鍵と対応する鍵である。
暗号化部154は、鍵処理部153からカード暗号鍵を受け取る。また、制御部116からコンテンツ鍵を受け取り、暗号化を指示される。
コンテンツ鍵の暗号化を指示されると、暗号化部154は、受け取ったカード固有鍵を用いて、コンテンツ鍵を暗号化して暗号化コンテンツを生成し、生成した暗号化コンテンツ鍵を入出力部104へ出力する。
暗号化回路152が、暗号回路プログラム「EncA」に従って構築された場合、鍵処理部153は、56ビット長のカード固有鍵を生成し、暗号化部154は、DES暗号方式に従う暗号化アルゴリズムを施して暗号化コンテンツ鍵を生成する。
暗号処理回路152が、暗号回路プログラム「EncB」に従って構築された場合、鍵処理部153は、128ビット長のカード固有鍵を生成し、暗号化部154は、RSA暗号方式に従う暗号化アルゴリズムを施して暗号化コンテンツ鍵を生成する。
暗号処理回路152が、暗号回路プログラム「EncC」に従って構築された場合、鍵処理部153は、128ビット長のカード固有鍵を生成し、暗号化部154は、AES暗号方式による暗号化アルゴリズムを施して、暗号化コンテンツ鍵を生成する。
(8−c)復号
図17は、可変回路108内に構築された復号処理回路156を機能的に示している。復号処理回路156は、鍵処理部157と復号部158とを含む。
鍵処理部157は、制御部116からコンテンツ鍵情報とコンテンツ鍵の抽出の指示を受け取る。また、復号鍵情報と復号鍵の抽出の指示とを受け取る。
コンテンツ鍵若しくは復号鍵の抽出の指示を受けると、鍵処理部157は、デバイス鍵格納部103からデバイス鍵を読み出し、読み出したデバイス鍵を基に、コンテンツ鍵情報又は復号鍵情報から、コンテンツ鍵又は復号鍵を抽出する。抽出したコンテンツ鍵又は復号鍵を復号部158及び主記憶部107へ出力する。
復号部158は、制御部116又は正当性チェック部から暗号文と暗号文の復号指示とを受け取り、受け取った暗号文に復号アルゴリズムを施して復号文を生成し、生成した復号文を出力する。
具体的に復号部158が制御部116から受け取る暗号文は、暗号化コンテンツ、暗号化暗号回路ファイル、暗号化鍵回路ファイル及び暗号化検証鍵ファイルである。
暗号化コンテンツを受け取った場合、復号部158は、鍵処理部157からコンテンツ鍵を取得し、取得したコンテンツ鍵を用いて、暗号化コンテンツを復号し、コンテンツを生成する。制御部116の指示により、生成したコンテンツを再生処理部109へ出力する。
暗号化暗号回路ファイル、暗号化鍵回路ファイル及び暗号化検証鍵ファイルを受け取った場合(図17中では、これら3つのファイルを総称して暗号化ファイルと記載している)、復号部158は、鍵処理部157から復号鍵を取得し、取得した復号鍵を用いて、暗号化暗号回路ファイル、暗号化鍵回路ファイル及び暗号化検証鍵ファイルを復号して暗号回路ファイル、鍵回路ファイル及び検証鍵ファイルを生成し、生成した暗号回路ファイル、鍵回路ファイル及び検証鍵ファイル(図17中では、これら3つを総称してファイルと記載している)を主記憶部107に書き込む。
また、具体的に、復号部158が正当性チェック部112から受け取る暗号文は、DVD400a又は400bから読み出された署名データ、若しくは、暗号化プログラムと共に暗号方式管理サーバ600から受信した署名データである。この場合、復号部158は、正当性チェック部112から、署名データと共に検証鍵を取得する。署名データと検証鍵とを受け取ると、取得した検証鍵を用いて、署名データに復号アルゴリズムを施して、復号ダイジェストデータを生成する。生成した復号ダイジェストデータを主記憶部107へ出力する。
復号部158が復号回路プログラム「DecA」に従って構築された場合、復号部158は、署名データに、DES暗号方式による復号アルゴリズムを施して復号ダイジェストデータを生成する。
また、復号部158が復号回路プログラム「DecB」に従って構築された場合、復号部158は、署名データに、RSA暗号方式による復号アルゴリズムを施して復号ダイジェストデータを生成する。
また、復号部158が復号回路プログラム「DecC」に従って構築された場合、復号部158は、署名データに、AES暗号方式による復号アルゴリズムを施して復号ダイジェストデータを生成する。
(8)コンテンツ取得部101
コンテンツ取得部101は、DVDを装着可能であって、制御部116の制御に従って、DVDに記憶されている情報を読み出し、読み出した情報を可変回路108又は主記憶部107に出力する。
また、コンテンツ取得部101は、DVDに記録されている情報と同様の情報を、インターネット20に接続されたコンテンツサーバ700から、受信することもできる。
(9)プログラム取得部106
プログラム取得部106は、制御部116の制御に従って、インターネット20を介して接続された暗号方式管理サーバ600との間で、情報及び指示の送受信を行う。
(10)正当性チェック部112
正当性チェック部112は、図18に示すチェック情報表201を保持している。チェック情報表201は、複数のチェック情報から構成され、各チェック情報は、コンテンツ再生装置100の備える暗号方式と対応しており、方式識別子、サーバID、検証鍵を含む。
検証鍵は、方式識別子の示す暗号方式に適したビット長の鍵であって、サーバIDの示す機器に固有の署名鍵と対応している。例えば、チェック情報203は、方式識別子「IDB」、サーバID「001B」及び検証鍵「Kve_Bb」を含んでいる。検証鍵「Kve_Bb」は、方式識別子「IDB」の示すRSA暗号方式に対応する128ビット長の鍵であって、サーバID「001B」の示す暗号方式管理サーバ600に固有の署名鍵「Ksig_Bb」と対応している。
正当性チェック部112は、制御部116から、DVD400a又は400bから読み出されたコンテンツファイルとコンテンツ鍵情報と署名ファイルとを受け取り署名検証を指示される。
また、正当性チェック部112は、暗号方式の導入(詳細は後述する)の途中において、制御部116から暗号回路ファイル「C」、鍵回路ファイル「KC」、検証鍵ファイル「VeriC」、復号鍵情報「KinfB」及び一例として図7に示す構成の署名ファイルを受け取り、署名検証を指示される。
(10−a)コンテンツファイルの正当性チェック
コンテンツファイルとコンテンツ鍵情報と署名ファイルとを受け取り署名検証を指示されると、正当性チェック部112は、受け取った署名ファイルに含まれる方式識別子を抽出する。
次に、正当性チェック部112は、チェック情報表201において、抽出した方式識別子と同一の方式識別子を含むチェック情報を検索する。該当するチェック情報が検出できなかった場合、署名検証失敗を示す検証失敗通知を制御部116へ出力する。
該当するチェック情報を検出すると、正当性チェック部112は、次に、選択部113に抽出した方式識別子を出力して復号回路プログラムの読み出し及び出力を指示する。
復号処理回路156が構築されると、正当性チェック部112は、検出したチェック情報に含まれる検証鍵を読み出し、署名ファイルに含まれる署名データと読み出した検証鍵を可変回路108に構築された復号処理回路156内の復号部158へ出力し、復号を指示する。
続いて、復号部158により復号ダイジェストデータが生成されると、正当性チェック部112は、制御部116から受け取ったコンテンツファイルとコンテンツ鍵情報を結合した結合物を、ハッシュ関数に代入してダイジェストデータを生成する。生成したダイジェストデータと、復号ダイジェストデータとを比較し、両者が一致すれば、署名検証が成功であることを示す検証成功通知を制御部116へ出力する。
両者が一致しない場合、正当性チェック部112は、署名検証が失敗であることを示す検証失敗通知を、制御部116へ出力する。
(10−b)暗号方式導入用のファイルの正当性チェック
暗号回路ファイル、鍵回路ファイル、検証鍵ファイル、復号鍵情報及び署名ファイルを受け取った場合も、正当性チェック部112は、(10−a)の場合と同様の手順で、受け取った書名ファイルに含まれる署名データの検証を行う。この場合は、暗号回路ファイル、鍵回路ファイル、検証鍵ファイル、復号鍵情報を結合した結合物をハッシュ関数に代入して、ダイジェストデータを生成する。
署名検証が成功であった場合、正当性チェック部112は、さらに、制御部116から暗号回路ファイル、鍵回路ファイルの書き込みを指示される。書き込みの指示を受けると、正当性チェック部112は、暗号回路ファイル、鍵回路ファイルをそれぞれ、暗号回路記憶部117及び鍵回路記憶部119へ書き込む。
続いて、正当性チェック部112は、制御部116からチェック情報表201の更新を指示される。チェック情報表201の更新を指示されると、正当性チェック部112は、検証鍵ファイルを基に、新たなチェック情報を生成し、生成したチェック情報を、チェック情報表201に追加する。
(11)制御部116
図8において、具体的な配線は、省略しているが、制御部116は、コンテンツ再生装置100を構成する各構成要素と接続されており、それぞれの動作を制御する。
制御部116は、プログラム取得部106を介して、暗号方式管理サーバ600から、暗号方式が解読されたことを通知する警告通知を受信すると、解読された暗号方式に代わる新たな暗号方式の導入を行う。
また、制御部116は、コンテンツ取得部101を介して、DVD400a又は400bの装着を検出する。DVD400a又は400bの装着を検出すると、装着されたDVDに記録されている暗号化コンテンツを再生可能か否かの検証を行う。
また、制御部116は、入力部121から、利用者による各種の操作を示す操作指示情報を受け取り、受け取った操作指示情報に応じて、コンテンツの再生、コンテンツのメモリカードへのコピーを行う。
以下に、上記の暗号方式の導入、再生可能か否かの検証、コンテンツの再生及びコンテンツのメモリカードへのコピーについて説明する。
以下の説明では、DVD400aが装着された場合について記載するが、DVD400bが装着された場合も同様の処理を行う。
(暗号方式の導入)
暗号方式管理サーバ600から受信する警告通知には、解読された暗号方式を示す方式識別子が含まれている。ここで、DES暗号方式を示す方式識別子「IDA」が含まれている場合を例に説明するが、他の方式識別子が含まれている場合も、同様の処理を行う。
制御部116は、利用可能暗号方式表166において、方式識別子「IDA」を含む利用可能情報171を検出する。利用可能情報に含まれる利用フラグを読み出し、読み出した利用フラグが「0」であれば、既に、DES暗号方式に代替する暗号方式の導入が終了しているので、以降の処理を中止する。
読み出した利用フラグが「1」の場合、制御部116は、プログラム取得部106を介して、暗号方式の導入を要求する導入要求を、暗号方式管理サーバ600へ送信する。
次に、制御部116は、プログラム取得部106を介して、図7に示す暗号化暗号回路ファイル681、暗号化鍵回路ファイル682暗号化検証鍵ファイル683、方式識別子684、復号鍵情報685及び署名ファイル686を受信する。これらを受信すると、選択部113に方式識別子684の示すRSA暗号方式に対応する復号回路プログラムの読み出しを指示し、方式識別子684の示すRSA暗号方式に対応する鍵生成回路プログラムの読み出しを指示し、組合せチェック部118に双方の読み出したプログラムの対応確認指示を出力する。
組合せチェック部118からOK信号を受け取ると、制御部116は、選択部114に読み出した鍵生成回路プログラムの出力を指示する。次に、可変回路108内に構築された鍵生成回路151にデバイス鍵の生成を指示する。
鍵生成回路151によりデバイス鍵「DevB」が生成されると、制御部116は、次に、選択部113に読み出した復号回路プログラムの出力を指示する。
なお、主記憶部107に記憶されている可変回路情報161が、現在、デバイス鍵格納部103に記憶されているデバイス鍵がRSA暗号方式と対応しており、現在、可変回路108内に、RSA暗号方式に従う復号処理回路が構築されていることを示していれば、上記のプログラムの読み出しの指示、デバイス鍵の生成及び、復号処理回路の構築は省略する。
次に、制御部116は、復号処理回路156内の鍵処理部157へ、復号鍵情報685を出力する。また、復号部158へ暗号化暗号回路ファイル681「EncB(C,KencB)」、暗号化鍵回路ファイル682「EncB(KC,KencB)」、暗号化検証鍵ファイル683「EncB(VeriC,KencB)」を出力し復号を指示する。
復号が終了し、主記憶部107へ、暗号回路ファイル「C」、鍵回路ファイル「KC」、検証鍵ファイル「VeriC」が書き込まれると、制御部116は、暗号回路ファイル「C」、鍵回路ファイル「KC」、検証鍵ファイル「VeriC」受信した復号鍵情報685及び署名ファイルを正当性チェック部112へ出力し署名検証を指示する。
署名検証が成功であれば、制御部116は、正当性チェック部112へ、暗号回路ファイル「C」、鍵回路ファイル「KC」の書き込みを指示する。署名検証が失敗であれば、プログラム取得部106を介して、再度、導入要求を暗号方式管理サーバ600へ送信する。
次に、制御部116は、正当性チェック部112へ、チェック情報表の201の更新を指示する。次に、暗号回路ファイル「C」に含まれる方式識別子「IDC」と利用フラグ「1」とを含む利用可能情報を生成し、生成した利用可能情報を利用可能暗号方式表166に追加する。
次に、制御部116は、暗号回路記憶部117において、方式識別子「IDA」を含む暗号回路ファイル131を検出し、検出した暗号回路ファイル131から暗号回路プログラム133を削除する。続いて、制御部116は、主記憶部107の記憶している利用可能暗号方式表166において、方式識別子「IDA」を含む利用可能情報171を選択し、選択した利用可能情報171に含まれる利用フラグを「0」に書き換える。
(再生可能か否かの検証)
コンテンツ取得部101を介して、DVD400aの装着を検出すると、制御部116は、コンテンツ取得部101を介して、装着されているDVD400aから、コンテンツファイル401、コンテンツ鍵情報404、署名ファイル411とを読み出す。次に、コンテンツファイル401に含まれる方式識別子402「IDA」を抽出し、主記憶部107の記憶している利用可能暗号方式表166内で、抽出した方式識別子と一致する方式識別子を含む利用可能情報検索する。このとき、該当する利用可能情報が検出できなければ、再生できないと判断する。
該当する利用可能情報171を検出すると、制御部116は、次に、正当性チェック部112に、読み出したコンテンツファイル401、コンテンツ鍵情報404及び署名ファイル411を出力し、署名ファイル411に含まれる署名データ414の検証を指示する。
正当性チェック部112による署名データ414の検証が成功であれば、制御部116は、コンテンツを再生可能であると判断する。署名データの検証が失敗であれば、制御部116は、コンテンツの再生ができないと判断する。
ここでは、DVD400aが装着された場合について、説明したが、DVD400bが装着された場合も同様の手順で検証を行う。従って、解読されたDES暗号方式に代わるAES暗号方式を導入するまでは、当該コンテンツ再生装置100は、DVD400bに記録されているコンテンツを再生できない。また、AES暗号方式を導入した後でも、DVD400aのコンテンツを再生することができる。
(コンテンツの再生)
上記の検証により、再生可能であると判断した後、再生を示す操作指示情報を入力部121から受け取ると、制御部116は、コンテンツファイル401に含まれる方式識別子402「IDA」を抽出する。次に、制御部116は、選択部113及び114、組合せチェック部118及び可変回路108を制御して、方式識別子402「IDA」と対応するデバイス鍵「DevA」を生成させ、復号処理回路156を構築させる。デバイス鍵の生成、及び、復号処理回路156の構築の制御については、上記の(暗号方式の導入)において、説明した手順と同一であるので、ここでは、説明を省略する。
次に、制御部116は、構築された復号処理回路156内の鍵処理部157に、読み出したコンテンツ鍵情報404を出力し、復号部158に暗号化コンテンツ403を出力して、暗号化コンテンツ403の復号を指示する。
復号部158により、コンテンツが生成されると、制御部116は、再生処理部109へコンテンツの再生を指示する。
(メモリカードへのコンテンツの出力)
上記の検証により、再生可能であると判断した後、コンテンツのコピーを示す操作指示情報を入力部121から受け取ると、制御部116は、コンテンツファイル401に含まれる方式識別子402「IDA」及び署名ファイル411に含まれる方式識別子413「IDB」を抽出する。次に、主記憶部107から利用可能暗号方式表166を読み出し、読み出した利用可能暗号方式表166内で、方式識別子「IDA」、方式識別子「IDB」を含む利用可能情報を、それぞれ検索する。
何れか一方でも検出できなければ、制御部116は、コピーできない旨を示すエラー画面を生成し、再生処理部109を介して、モニタ15にエラー画面を表示する。
該当する利用可能情報171、172が検出された場合、制御部116は、検出した利用可能情報171及び172それぞれに含まれる利用フラグを読み出す。読み出した利用フラグのうち、何れか一方でも「0」であれば、装着されているDVDに記録されているコンテンツをコピーすることができない旨を通知するエラー画面を生成して、モニタ15に表示する。
読み出した利用フラグのうち、両方ともが「1」であれば、制御部116は、コンテンツファイル401から方式識別子402「IDA」を抽出し、抽出した方式識別子「IDA」を、入出力部104を介して、メモリカード500へ出力し、出力した方式識別子「IDA」の示す暗号方式を備えているか否かを問い合わせる。
次に、制御部116は、入出力部104を介してメモリカード500から、応答信号を受け取る。受け取った応答信号が方式識別子「IDA」の示す暗号方式を備えていないことを示す「0」であれば、要求されたコピーはできない旨を通知するエラー画面を生成して、モニタ15に表示する。
受け取った応答信号が、方式識別子「IDA」の示す暗号方式を備えていることを示す「1」であれば、次に、制御部116は、選択部113及び114、組合せチェック部118、可変回路108を制御して、コンテンツファイル401から読み出した方式識別子「IDA」と対応するデバイス鍵「DevA」を生成させ、可変回路108上に、方式識別子「IDA」に従った復号処理を行う復号処理回路を構築させる。デバイス鍵の生成、及び、復号処理回路156の構築の制御については、上記の(暗号方式の導入)において、説明した手順と同一であるので、ここでは、説明を省略する。
次に、制御部116は、構築された復号処理回路156内の鍵処理部157に、読み出したコンテンツ鍵情報404を出力し、コンテンツ鍵の生成を指示する。
鍵処理部157によりコンテンツ鍵「KconA」が生成されると、次に、制御部116は、選択部113に、方式識別子402「IDA」と対応する暗号回路プログラムの読み出しと出力を指示する。
可変回路108内に暗号処理回路152が構築されると、制御部116は、入出力部104を介して、メモリカード500にカード鍵情報の出力を指示し、メモリカード500からカード鍵情報を取得する。
次に、制御部116は、取得したカード鍵情報を、暗号処理回路152内の鍵処理部153へ出力し、コンテンツ鍵「KconA」を暗号化部154へ出力してコンテンツ鍵「KconA」の暗号化を指示する。
暗号化部154により暗号化コンテンツ鍵「EncA(KconA,MkeyA)」が生成されると、制御部116は、コンテンツファイル401から暗号化コンテンツ403「EncA(ConA,KconA)」を抽出し、抽出した暗号化コンテンツ403「EncA(ConA,KconA)」と暗号化コンテンツ鍵「EncA(KconA,MkeyA)」とを、入出力部104を介して、メモリカード500に出力する。
(12)入出力部104
入出力部104は、メモリカード500を装着可能であって、制御部116の制御の下で、各種の情報の入出力を行う。
(13)入力部121及び再生処理部109
入力部121は、再生ボタン、選択ボタン、決定ボタンなど各種のボタンを備え、利用者による上記ボタンの操作を受け付け、受け付けた操作を示す操作指示情報を、制御部116へ出力する。
再生処理部109は、モニタ15と接続されており、制御部116の指示に従って、可変回路109から受け取ったコンテンツから、画面及び音声を生成して、モニタ15に出力する。
また、制御部116の指示により、エラー画面を初めとして各種の画面をモニタ15に表示させる。
1.5 メモリカード500
メモリカード500は、図19に示すように、入出力部502、制御部507、暗号部508、復号部509及び情報記憶部510から構成される。
以下に、各構成要素について説明する
(1)情報記憶部510
情報記憶部510は、フラッシュメモリを含んで構成され、その内部は、セキュア領域520と一般領域512とに分かれている。
セキュア領域520は、正当な機器以外の機器がアクセスすることができない領域であって、一例として、方式識別子521「IDA」、カード鍵情報522及びカード固有鍵523「MkeyA」を記憶している。
方式識別子521「IDA」は、当該メモリカード500の備える暗号方式を示しており、ここでは、DES暗号方式を示す。
カード鍵情報522は、既に述べたとおり、メディアキーブロック、メディアIDを含む。メディアIDは、メモリカード500に固有の識別子である。メディアキーブロックは、メモリカード500にアクセスを許可される正当な機器にのみ、カード固有鍵「MkeyA」を付与するデータである。なお、メモリカードが公開鍵暗号方式に対応している場合、正当な機器がカード鍵情報から生成するカード固有鍵と、メモリカード自身が記憶しているカード固有鍵とは同一ではない。
カード固有鍵523「MkeyA」は、メモリカード500に固有の鍵であって、ここでは、方式識別子521の示す暗号方式と対応する56ビット長の鍵である。
一般領域512は、外部機器が自由にアクセスできる領域であって、一例として、コンテンツファイル513を記憶している。コンテンツファイル513は、暗号化コンテンツ514「EncA(ConA,KconA)」と、暗号化コンテンツ鍵515「EncA(KconA,MkeyA)」とを含む。
暗号化コンテンツ514は、DVD400aに記録されている暗号化コンテンツ403と同一である。暗号化コンテンツ鍵515は、カード固有鍵「MkeyA」を用いて、コンテンツ鍵「KconA」に、DES暗号方式に従う暗号化アルゴリズムを施して、生成されたものである。
(2)入出力部502
入出力部502は、外部機器と接続可能なインタフェースを備え、外部機器と制御部507との間で各種の情報の授受を行う。
外部機器とは、コンテンツ再生装置100及びポータブルプレーヤー800である。
(3)暗号部508及び復号部509
暗号部508は、制御部507から暗号鍵と平文とを受け取り暗号化を指示される。暗号化を指示されると、暗号鍵を用いて、平文にDES暗号方式に基づく暗号化アルゴリズムを施して、暗号文を生成し、生成した暗号文を制御部507へ出力する。
復号部509は、制御部507から復号鍵と暗号文とを受け取り復号を指示される。復号を指示されると、復号鍵を用いて、暗号文にDES暗号方式に基づく復号アルゴリズムを施して、復号文を生成し、生成した復号文を制御部507へ出力する。
(4)制御部507
制御部507は、メモリカード500を構成する各構成要素を制御する。
(コンテンツファイルの書き込み)
メモリカード500がコンテンツ再生装置100に装着されている状態で、制御部507は、入出力部502を介して、コンテンツ再生装置100から、方式識別子を受け取り、受け取った方式識別子の示す暗号方式を備えているか否かの問い合わせを受ける。問合せを受けると、受信した方式識別子と、セキュア領域520に記憶されている方式識別子521とを比較し、一致すれば、受け取った方式識別子の示す暗号方式により暗号化された暗号文を復号可能であることを示す応答信号「1」を生成する。
両者が一致しなければ、制御部507は、受け取った方式識別子の示す暗号方式により暗号化された暗号文を復号できないこと示す応答信号「0」を生成する。
次に、制御部507は、生成した応答信号を、入出力部502を介して、コンテンツ再生装置100へ出力する。
次に、制御部507は、コンテンツ再生装置100からの要求に従って、カード鍵情報522を、コンテンツ再生装置100へ出力する。続いて、コンテンツ再生装置100から、暗号化コンテンツと暗号化コンテンツ鍵とを受け取り、受け取った暗号化コンテンツと暗号化コンテンツ鍵とを含むコンテンツファイルを生成し、生成したコンテンツファイルを一般領域に書き込む。
(コンテンツの再生)
メモリカード500が、ポータブルプレーヤー800に装着されている状態で、ポータブルプレーヤー800から、コンテンツの再生を要求されると、制御部507は、カード固有鍵523と暗号化コンテンツ鍵515を復号部509へ出力し、暗号化コンテンツ鍵515の復号を指示する。
復号部509からコンテンツ鍵を受け取ると、制御部507は、受け取ったコンテンツ鍵と暗号化コンテンツ514とを復号部509に出力し、復号を指示する。続いて、復号部509により生成されたコンテンツをポータブルプレーヤーに出力する。
1.6 ポータブルプレーヤー
ポータブルプレーヤーは、映像および音声からなるコンテンツの再生専用機器であって、メモリカード500に記録されているコンテンツを読み出し、再生する機器である。
1.7 情報セキュリティシステム1の動作
以下に、情報セキュリティシステム1を構成する各機器の動作について説明する。
(1)コンテンツ再生装置100の動作
図20は、コンテンツ再生装置100の電源投入後の動作の一部を示すフローチャートである。以下に、図20を用いて、コンテンツ再生装置100の動作について説明する。
電源がONになった後、プログラム取得部106を介して、暗号方式管理サーバ600から、コンテンツ再生装置100の備える暗号方式のうちのいずれかの暗号方式が解読されたことを示す警告通知を受信すると(ステップS121のYES)、コンテンツ再生装置100は、解読された暗号方式に代替する暗号方式の導入を行う(ステップS122)。
また、コンテンツ取得部101を介して、新たにDVDが装着されたことを検出すると(ステップS123のYES)、コンテンツ再生装置100は、装着されたDVDに記録されているコンテンツを、当該コンテンツ再生装置100が再生可能であるか否かを検証する(ステップS124)。
警告通知の受信も、DVDの装着も検出されない場合(ステップS121のNO、ステップS123のNO)、そのまま待機する。
ステップS124における検証の結果、再生可能であると判断された場合(ステップS126のYES)、利用者の操作に従って(ステップS128)、コンテンツの再生(ステップS131)、メモリカード500へのコンテンツの出力を行う(ステップS132)。
検証の結果、再生可能でないと判断される場合(ステップS126のNO)、モニタ15に、装着されているDVDに記録されているコンテンツの再生ができないことを通知するエラー画面を表示する(ステップS127)。
ステップS122、127、131及び132の処理が終了すると、ステップS121へ戻る。
(2)暗号方式の導入
以下に、図21〜図24は、解読された暗号方式に代替する暗号方式の導入に関する、コンテンツ再生装置100及び暗号方式管理サーバ600の動作を示すフローチャートである。これは、図20ステップS122の詳細である。
ここでは、一例として、コンテンツ再生装置100の備える暗号方式のうち、DES暗号方式が解読され、AES暗号方式を導入する場合について説明する。
暗号方式管理サーバ600の制御部607は、入力部613を介して、操作者による方式識別子「IDA」及び新たな暗号方式の配布指示の入力を受け付ける(ステップS141)。配布指示の入力を受け付けると、制御部607は、入力された方式識別子「IDA」を含む警告通知を生成し、送受信部601を介して、生成した警告通知を、コンテンツ再生装置100へ送信する(ステップS142)。また、入力部613を介して、暗号方式の導入に関する各種のファイルの暗号化用の暗号方式を示す方式識別子「IDB」と、署名データの生成用の暗号方式を示す方式識別子「IDB」の入力を受け付ける(ステップS143)。
コンテンツ再生装置100の制御部116は、プログラム取得部106を介して、暗号方式管理サーバ600から、警告通知を受信する。警告通知を受信すると、受信した警告通知に含まれる方式識別子「IDA」を基に、主記憶部107に記憶されている利用可能暗号方式表166から利用可能情報171を検出し、検出した利用可能情報171に含まれる利用フラグを読み出す(ステップS146)。読み出した利用フラグが「0」であれば(ステップS147のNO)、DES暗号方式に代替する暗号方式の導入は、既に終了しているので、暗号方式の導入処理を終了し、図20に戻る。
読み出した利用フラグが「1」であれば(ステップS147のYES)、制御部116は、DES暗号方式に代わる暗号方式の導入を要求する導入要求を、プログラム取得部106を介して、暗号方式管理サーバ600に送信する(ステップS148)。
暗号方式管理サーバ600の制御部607は、送受信部601を介して、コンテンツ再生装置100から、導入要求を受信する。導入要求を受信すると、無効暗号方式一覧621から、方式識別子「IDA」を含む暗号方式情報622を読み出す(ステップS151)。読み出した暗号方式情報622に含まれる暗号回路ファイル名「C」と鍵回路ファイル名「KC」と検証鍵ファイル名「VeriC」とを基に、情報記憶部610から、暗号回路ファイル631「C」と鍵回路ファイル651「KC」と検証鍵ファイル671「VeriC」とを読み出す(ステップS152)。
続いて、制御部607は、暗号化用の暗号方式を示す方式識別子「IDB」を基に、送信用鍵テーブル626から、方式識別子「IDB」を含む送信用鍵情報628を選択し、選択した送信用鍵情報628に含まれる暗号鍵「KencB」及び復号鍵情報「KinfB」を読み出す(ステップS153)。
制御部607は、署名生成用の暗号方式を示す方式識別子「IDB」と、読み出した暗号回路ファイル631「C」と鍵回路ファイル651「KC」と検証鍵ファイル671「VeriC」と復号鍵情報「KinfB」とを署名生成部603へ出力し、署名データの生成を指示する。
署名生成部603は、受け取った暗号回路ファイル631「C」と鍵回路ファイル651「KC」と検証鍵ファイル671「VeriC」と復号鍵情報「KinfB」とを結合してハッシュ関数に代入し、ダイジェストデータを生成する(ステップS156)。
署名鍵テーブル691から、受け取った方式識別子「IDB」を含む署名鍵情報693を選択し、選択した署名鍵情報693に含まれる署名鍵「Ksig_Bb」を読み出す(ステップS157)。読み出した署名鍵「Ksig_Bb」を用いて、生成したダイジェストデータに方式識別「IDB」の示すRSA暗号方式による暗号化アルゴリズムを施して、署名データを生成する(ステップS158)。生成した署名データを制御部607へ出力する。
制御部607は、当該暗号方式管理サーバ600を示すサーバID「001B」と署名生成用の暗号方式を示す方式識別子「IDB」と署名データとを含む署名ファイルを生成する(ステップS161)。
次に、制御部607は、読み出した暗号鍵「KencB」を用いて、読み出した暗号回路ファイル631「C」と鍵回路ファイル651「KC」と検証鍵ファイル671「VeriC」とに、暗号化方式識別子「IDB」の示すRSA暗号方式に従う暗号化アルゴリズムを施して暗号化し、暗号化暗号回路ファイル「EncB(C,KencB)」、暗号化鍵回路ファイル「EncB(KC,KencB)」及び暗号化検証鍵ファイル「EncB(VeriC,KencB)」を生成する(ステップS162)。
次に、生成した暗号化暗号回路ファイル「EncB(C,KencB)」、暗号化鍵回路ファイル「EncB(KC,KencB)」及び暗号化検証鍵ファイル「EncB(VeriC,KencB)」、これらのファイルの暗号化に用いた暗号方式を示す方式識別子「IDB」、復号鍵情報「KinfB」及び署名ファイルを、送受信部601を介して、コンテンツ再生装置100へ送信する(ステップS163)。
コンテンツ再生装置100の制御部116は、プログラム取得部106を介して、暗号化暗号回路ファイル681「EncB(C,KencB)」、暗号化鍵回路ファイル682「EncB(KC,KencB)」及び暗号化検証鍵ファイル683「EncB(VeriC,KencB)」、方式識別子684「IDB」、復号鍵情報685「KinfB」及び署名ファイル686を受信する(ステップS163)。
これらを受信すると、制御部116は、選択部114に、受信した方式識別子684「IDB」を出力し、鍵生成回路プログラムの読み出しを指示する。選択部114は、受け取った方式識別子「IDB」を含む鍵回路ファイル146「KB」を選択し、選択した鍵回路ファイル146「KB」から方式識別子147「IDB」と鍵生成回路プログラム148「KgenB」を読み出す(ステップS166)。
また、制御部116は、受信した方式識別子684「IDB」を、選択部113に出力し、復号回路プログラムの読み出しを指示する。選択部113は、受け取った方式識別子「IDB」を含む暗号回路ファイル136「B」を選択し、選択した暗号回路ファイル136「B」から、方式識別子137「IDB」及び復号回路ファイル139「DecB」を読み出す(ステップS167)。
組合せチェック部118は、選択部113及び114の読み出した方式識別子を比較し、両者が一致しない場合(ステップS169のNO)、制御部116へNG信号を制御部116へ出力し、ステップS166に戻る。両者が一致する場合(ステップS169のYES)、制御部116へOK信号を出力する。
OK信号を受け取ると制御部116は、選択部114へ、読み出したプログラムの出力を指示する。出力の指示を受けると、選択部114は、読み出した鍵生成回路プログラム148「KgenB」を、可変回路108に出力し、可変回路108内の構築機構123は、鍵生成回路プログラム148「KgenB」に従って、FPGA122上に、鍵生成回路151を構築する(ステップS171)。
鍵生成回路151が構築されると、制御部116は、鍵生成回路151へ、デバイス鍵の生成を指示する。
鍵生成回路151は、制御部116の指示により、RSA暗号方式に対応する128ビット長のデバイス鍵「DevB」を生成し、生成したデバイス鍵「DevB」をデバイス鍵格納部103に書き込む(ステップS172)。
デバイス鍵「DevB」の生成が終了すると、制御部116は、選択部113に、読み出したプログラムの出力を指示する。
出力の指示を受けると、選択部113は、読み出した復号回路プログラム139「DecB」を可変回路108へ出力する。可変回路108内の構築機構123は、選択部113から出力された復号回路プログラム139「DecB」に従って、FPGA122上に、復号処理回路156を構築する(ステップS173)。なお、既に、デバイス「DevB」がデバイス鍵格納部103に記憶されている場合は、ステップS166、169〜172の処理を省略する。さらに、可変回路108内に、既に方式識別子「IDB」の示す暗号方式に対応する復号処理回路が構築されている場合は、ステップS166〜ステップS173を省略する。
次に、制御部116は、復号処理回路156内の鍵処理部157へ、受信した鍵情報685「KinfB」を出力し、復号部158へ、受信した暗号化暗号回路ファイル681「EncB(C,KencB)」、暗号化鍵回路ファイル682「EncB(KC,KencB)」及び暗号化検証鍵ファイル683「EncB(VeriC,KencB)」を出力し、これらの復号を指示する。
鍵処理部157は、デバイス鍵格納部103からデバイス鍵「DevB」を読み出し、デバイス鍵「DevB」及び鍵情報「KinfB」を基に、復号鍵「KdecB」を生成して、復号部158へ出力する(ステップS174)。
復号部158は、鍵処理部157から復号鍵「KdecB」を取得し、取得した復号鍵「KdecB」を用いて、制御部116から受け取った暗号化暗号回路ファイル「EncB(C,KencB)」、暗号化鍵回路ファイル「EncB(KC,KencB)」及び暗号化検証鍵ファイル「EncB(VeriC,KencB)」に、RSA暗号方式に従う復号アルゴリズムを施して、暗号回路ファイル「C」、鍵回路ファイル「KC」、検証鍵ファイル「VeriC」を生成する(ステップS176)。生成したこれらのファイルを主記憶部107へ書き込む(ステップS177)。
暗号回路ファイル「C」、鍵回路ファイル「KC」、検証鍵ファイル「VeriC」が主記憶部107に書き込まれると、制御部116は、正当性チェック部112に、受信した署名ファイルに含まれる署名データの検証を指示する。
正当性チェック部112は、制御部116の指示に従って署名データの検証を行う(ステップS178)。
正当性チェック部112による署名検証が失敗であれば(ステップS181のNO)、制御部116は、ステップS148に戻り、プログラム取得部106を介して、再度、導入要求を暗号方式管理サーバ600へ送信する。
署名検証が成功であれば(ステップS181のYES)、制御部116は、正当性チェック部112へ、暗号回路ファイル「C」、鍵回路ファイル「KC」の書き込みを指示する。
正当性チェック部112は、暗号回路ファイル「C」を暗号回路記憶部117に書き込み、鍵回路ファイル「KC」を鍵回路記憶部119に書き込む(ステップS182)。
次に、制御部116は、正当性チェック部112へ、チェック情報表201の更新を指示する。
チェック情報表201の更新を指示されると、正当性チェック部112は、検証鍵ファイル「VeriC」を基に、方式識別子「IDC」、サーバID「001A」及び検証鍵「Kve_Ca」を含むチェック情報と、方式識別子「IDC」、サーバID「001B」及び検証鍵「Kve_Cb」を含むチェック情報とを新たに生成し(ステップS183)、生成した2つのチェック情報を、チェック情報表201に追加する(ステップS184)。
次に、制御部116は、暗号回路ファイル「C」に含まれる方式識別子「IDC」と利用フラグ「1」とを含む利用可能情報を生成し、生成した利用可能情報を利用可能暗号方式表166に追加する(ステップS186)。
次に、暗号回路記憶部117において、方式識別子「IDA」を含む暗号回路ファイル131「A」を検出し、検出した暗号回路ファイル131「A」から暗号回路プログラム133「EncA」を削除する(ステップS188)。
次に、制御部116は、主記憶部107の記憶している利用可能暗号方式表166において、方式識別子「IDA」を含む利用可能情報171を選択し、選択した利用可能情報171に含まれる利用フラグを「0」に書き換える(ステップS189)。
(3)再生可能か否かの検証
コンテンツ取得部101を介して、DVD400a又は400bの装着を検出すると、制御部116は、装着されたDVDに記録されているコンテンツを当該コンテンツ再生装置100が、再生できるか否かを検証する。
図25は、コンテンツ再生装置100による、この検証の動作を示すフローチャートである。図25では、より一般化して、装着されているDVDがDVD400a又は400bの何れであるかは区別せずに記載している。
以下に図25を用いて、装着されたDVDに記録されているコンテンツを再生可能か否かの検証について説明する。なお、これは、図20ステップS124の詳細である。
制御部116は、コンテンツ取得部101を介して、装着されているDVDから、コンテンツファイル、コンテンツ鍵情報及び署名ファイルを読み出す(ステップS201)。次に、コンテンツファイルに含まれる方式識別子を抽出し(ステップS202)、主記憶部107の記憶している利用可能暗号方式表166内で、抽出した方式識別子と一致する方式識別子を含む利用可能情報を検索する(ステップS204)。このとき、該当する利用可能情報が検出できなければ(ステップS206のNO)、再生不可能であると判断する(ステップS211)。
該当する利用可能情報171を検出すると(ステップS206のYES)、制御部116は、次に、正当性チェック部112に、読み出したコンテンツファイル、コンテンツ鍵情報及び署名ファイルを出力し、署名ファイルに含まれる署名データの検証を指示する。
正当性チェック部112は、署名ファイルに含まれる方式識別子の示す暗号方式を用いて署名データの検証を行う(ステップS207)。署名データの検証動作については、後述する。
署名データの検証が成功であれば(ステップS208)、制御部116は、コンテンツを再生可能であると判断する(ステップS209)。署名データの検証が失敗であれば、制御部116は、コンテンツの再生ができないと判断する(ステップS211)。
(4)署名データの検証
正当性チェック部112は、制御部116から、各種の情報と、その情報を基に生成された署名データを含む署名ファイルとを受け取り、署名データの検証を指示される。正当性チェック部112は、制御部116からの指示を受けると、選択部113及び可変回路108を制御して、署名データの検証を行う。
図26は、署名データの検証動作を示すフローチャートである。以下に、図26を用いて、署名データの検証動作について説明する。これは、図23ステップS178及び図25のステップS207の詳細である。
なお、ここでは、より一般化して、署名ファイルと共に受け取る各種の情報をチェック対象データと記載しているが、正当性チェック部112が、制御部116から受け取る各種の情報と、署名ファイルの組合せとしては、具体的には、DVDから読み出された、コンテンツファイル及びコンテンツ鍵情報と署名ファイルとの組合せ、新たに導入する暗号方式に関する暗号回路ファイル、鍵回路ファイル、検証鍵ファイル及び復号鍵情報と鍵ファイルとの組み合わせがある。
正当性チェック部112は、署名ファイルに含まれるサーバIDと方式識別子とを読み出す(ステップS221)。次に、自身の記憶しているチェック情報表201の中で、読み出した方式識別子とサーバIDとを含むチェック情報を検索する(ステップS222)。該当するチェック情報が検出されなければ(ステップS224のNO)、署名データの検証が失敗であることを示す検証失敗通知を制御部116へ出力する(ステップS236)。
該当するチェック情報を検出すると(ステップS224のYES)、正当性チェック部112は、読み出した方式識別子を選択部113へ出力し、復号回路プログラムの読み出し及び出力を指示する。
選択部113は、正当性チェック部112の指示に従って、受け取った方式識別子と対応する復号回路プログラムを読み出し(ステップS226)、読み出した復号回路プログラムを可変回路108へ出力する。
可変回路108の構築機構123は、受け取った復号回路プログラムに従って、FPGA122を書き換えて復号処理回路156を構築する(ステップS227)。
復号処理回路156が構築されると、正当性チェック部112は、検出したチェック情報に含まれる検証鍵を読み出し(ステップS228)、署名ファイルに含まれる署名データと読み出した検証鍵とを、構築された復号処理回路156内の復号部158へ出力し、復号を指示する。
復号部158は、正当性チェック部112からの指示に従って、検証鍵を用いて、署名データを復号して復号ダイジェストデータを生成する(ステップS229)。復号部158は、生成した復号ダイジェストデータを、正当性チェック部112へ出力する。
正当性チェック部112は、チェック対象データを結合した結合物を、ハッシュ関数に代入してダイジェストデータを生成する(ステップS231)。生成したダイジェストデータと、復号部158から出力された復号ダイジェストデータとを比較し(ステップS232)、両者が一致すれば(ステップS234のYES)、署名検証が成功であることを示す検証成功通知を制御部116へ出力する(ステップS237)。
両者が一致しない場合(ステップS234のNO)、署名検証が失敗であることを示す検証失敗通知を、制御部116へ出力する(ステップS236)。
(5)コンテンツの再生
図27は、コンテンツ生成装置によるコンテンツの再生動作を示すフローチャートである。ここでは、コンテンツ再生装置100にDVD400aが装着されている場合を示すが、DVD400bの場合も同様の動作を行う。
以下に、コンテンツの再生動作について、図27を用いて説明する。なお、これは、図20のステップS131の詳細である。
入力部121から、コンテンツの再生を示す操作指示情報を受け取ると、制御部116は、読み出したコンテンツファイル401に含まれる方式識別子402「IDA」を抽出する(ステップS241)。次に、制御部116は、選択部113及び114、組合せチェック部118及び可変回路108を制御して、方式識別子「IDA」と対応するデバイス鍵「DevA」を生成させ、復号処理回路156を構築させる(ステップS242)。デバイス鍵の生成及び復号処理回路の構築の手順は、図22のステップS166〜ステップS173と同様であるので、ここでは、詳細な説明は省略する。
次に、構築された復号処理回路156内の鍵処理部157に、読み出したコンテンツ鍵情報404を出力し、復号部158に暗号化コンテンツ403を出力して、暗号化コンテンツ403の復号を指示する。
鍵処理部157は、コンテンツ鍵情報404を受け取ると、デバイス鍵格納部103から、デバイス鍵128「DevA」を読み出し、読み出したデバイス鍵128「DevA」とコンテンツ鍵情報404とを基に、コンテンツ鍵「KconA」を生成する(ステップS243)。
復号部158は、鍵処理部157からコンテンツ鍵「KconA」を取得し、取得したコンテンツ鍵「KconA」を用いて、暗号化コンテンツ403を復号し、コンテンツ「ConA」を生成する(ステップS244)。復号部158は、制御部116の指示により、生成したコンテンツを再生処理部109へ出力する。
再生処理部109は、コンテンツ「ConA」を受け取ると、受け取ったコンテンツを、モニタ15に再生する(ステップS246)。
(6)メモリカードへのコンテンツの出力
図28〜図30は、コンテンツ再生装置100による、メモリカード500へのコンテンツの出力の動作を示すフローチャートである。以下に、図28〜30を用いて、コンテンツ出力の動作について説明する。これは、図20のステップS132の詳細である。ここでは、コンテンツ再生装置100にDVD400aと、方式識別子「IDA」を保持するメモリカード500とが装着されている場合を例に説明するが、DVD400bが装着されている場合、他の方式識別子を保持しているメモリカードが装着される場合も同様の動作を行う。
利用者により、コンテンツのコピーを指示されると、制御部116は、コンテンツファイル401に含まれる方式識別子402「IDA」及び署名ファイル411に含まれる方式識別子413「IDB」を抽出する(ステップS261)。次に、主記憶部107から利用可能暗号方式表166を読み出し(ステップS262)、読み出した暗号方式表166内で、方式識別子「IDA」、方式識別子「IDB」を含む利用可能情報を、それぞれ検索する(ステップS263)。
何れか一方でも検出できなければ(ステップS264のNO)、コピーできない旨を示すエラー画面を生成し、再生処理部109を介して、モニタ15にエラー画面を表示する(ステップS265)。
該当する利用可能情報171、172が検出された場合(ステップS264のYES)、検出した利用可能情報171及び172をそれぞれに含まれる利用フラグを読み出す(ステップS266)。読み出した利用フラグのうち、何れか一方でも「0」であれば(ステップS268のNO)、装着されているDVDに記録されているコンテンツをコピーすることができない旨を通知するエラー画面を表示する(ステップS265)。
読み出した利用フラグのうち、両方ともが「1」であれば(ステップS268のYES)、コンテンツファイル401から方式識別子402「IDA」を抽出し(ステップS269)、抽出した方式識別子402「IDA」を、入出力部104を介して、メモリカード500へ出力し、出力した方式識別子「IDA」の示す暗号方式を備えているか否かを問い合わせる(ステップS271)。
メモリカード500の制御部507は、入出力部502を介してコンテンツ再生装置100から、方式識別子「IDA」を受け取り、受け取った方式識別子「IDA」の示す暗号方式を備えているか否かの問い合わせを受ける。
問合せを受けると、制御部507は、セキュア領域520に記憶されている方式識別子521を読み出す(ステップS272)。読み出した方式識別子521と受信した方式識別子「IDA」とを比較し(ステップS273)、両者が一致すれば(ステップS274のYES)、受け取った方式識別子の示す暗号方式により暗号化された暗号文を復号可能であることを示す応答信号「1」を生成する(ステップS276)。
両者が一致しない場合(ステップS274のNO)、受け取った方式識別子の示す暗号方式により暗号化された暗号文を復号できない示す応答信号「0」を生成する(ステップS277)。続いて、制御部507は、生成した応答信号を、入出力部502を介して、コンテンツ再生装置100へ出力する(ステップS279)。
コンテンツ再生装置100の制御部116は、入出力部104を介してメモリカード500から、応答信号を受け取る。受け取った応答信号が「0」であれば(ステップS281の「0」)、要求されたコピーはできない旨を通知するエラー画面を生成して、モニタ15に表示する(ステップS282)。
受け取った応答信号が「1」であれば(ステップS281の「1」)、次に、制御部116は、選択部113及び114、組合せチェック部118、可変回路108を制御して、コンテンツファイル401から読み出した方式識別子402「IDA」と対応するデバイス鍵「DevA」を生成させ、可変回路108上に、方式識別子「IDA」に従った復号処理を行う復号処理回路を構築させる(ステップS286)。ステップS287の詳細は、図22のステップS166〜ステップS173と同様であって、図22中の、方式識別子「IDB」を「IDA」と読み替え、鍵回路ファイル「KB」を「KA」と読み替え、鍵生成回路プログラムを「KgenB」を「KgenA」と読み替え、復号回路プログラム「DecB」を「DecA」と読み替えればよい。
次に、制御部116は、構築された復号処理回路156内の鍵処理部157に、読み出したコンテンツ鍵情報404を出力し、コンテンツ鍵の生成を指示する。
鍵処理部157は、コンテンツ鍵情報404とデバイス鍵「DevA」とを基に、コンテンツ鍵「KconA」を生成する(ステップS287)。
次に、制御部116は、選択部113に、方式識別子402「IDA」と対応する暗号回路プログラムの読み出しと出力とを指示する。
選択部113は、制御部116からの指示により、方式識別子「IDA」と対応する暗号回路プログラム133「EncA」を、暗号回路記憶部117から読み出し(ステップS289)、読み出した暗号回路プログラム133「EncA」を可変回路108に出力する。
可変回路108内の構築機構123は、暗号回路プログラム133「EncA」に従って、暗号処理回路152を構築する(ステップS291)。
暗号処理回路152が構築されると、制御部116は、入出力部104を介して、メモリカード500にカード鍵情報の出力を指示する(ステップS293)。
メモリカード500の制御部507は、入出力部502を介して、コンテンツ再生装置100から、カード鍵情報の出力を指示されると、セキュア領域520から、カード鍵情報522を読み出す(ステップS294)。読み出したカード鍵情報522を、入出力部502を介して、コンテンツ再生装置100へ出力する(ステップS296)。
コンテンツ再生装置100の制御部116は、入出力部104を介してメモリカード500から、カード鍵情報を取得し、取得したカード鍵情報を、暗号処理回路152内の鍵処理部153へ出力し、コンテンツ鍵「KconA」を暗号化部154へ出力して暗号化を指示する。
鍵処理部153は、デバイス鍵格納部103からデバイス鍵「DevA」を読み出し、読み出したデバイス鍵「DevA」とカード鍵情報とを基に、カード固有鍵「MkeyA」を生成する(ステップS297)。暗号化部154は、鍵処理部153から、カード固有鍵「MkeyA」を取得し、取得したカード固有鍵「MkeyA」を用いて、コンテンツ鍵「KconA」を暗号化し、暗号化コンテンツ鍵「EncA(KconA,MkeyA)」を生成する(ステップS298)。
暗号化部154により暗号化コンテンツ鍵「EncA(KconA,MkeyA)」が生成されると、制御部116は、コンテンツファイル401から暗号化コンテンツ403「EncA(ConA,KconA)」を抽出し(ステップS301)、抽出した暗号化コンテンツ403「EncA(ConA,KconA)」と暗号化コンテンツ鍵「EncA(KconA,MkeyA)」とを、入出力部104を介して、メモリカード500に出力する(ステップS302)。
メモリカード500の制御部507は、コンテンツ再生装置100から、暗号化コンテンツ「EncA(ConA,KconA)」と暗号化コンテンツ鍵「EncA(KconA,MkeyA)」とを受け取り、受け取った暗号化コンテンツ「EncA(ConA,KconA)」と暗号化コンテンツ鍵「EncA(KconA,MkeyA)」とを含むコンテンツファイルを生成し、生成したコンテンツファイルを一般領域512に書き込む(ステップS303)。
2.その他の変形例
以上、本発明について、上記の実施の形態1に基づいて説明してきたが、これに限定されるものではなく、以下のような場合も本発明に含まれる。
(1)実施の形態1では、説明を容易にするために、コンテンツ再生装置100は、製造当初、DES暗号方式と、RSA暗号方式とを備えるとして説明してきたが、3以上の多数の暗号方式を備えているとしても良い。
この場合、暗号方式管理サーバ600は、何れかの暗号方式が解読されると、解読されてない暗号方式の中の何れかを選択し、選択した暗号方式により、解読された暗号方式に代替する暗号方式に対応する暗号回路ファイル、鍵回路ファイル、検証鍵ファイルを暗号化して、コンテンツ再生装置100へ送信する。
また、暗号化に用いる暗号方式とは異なる暗号方式を用いて署名データを生成しても良い。
さらに、実施の形態1では、コンテンツ再生装置100の備える暗号方式の用途は、コンテンツなどの暗号化・復号と、署名データの検証であるとして説明してきたが、これに限定されるものではなく、鍵共有、機器認証など、様々な用途に用いても良い。
(2)変形例(1)の場合、暗号方式管理サーバ600が、暗号化及び署名データの生成に用いる暗号方式を選択する方法としては、一例として、各暗号方式の暗号強度を記憶しており、解読されていない暗号方式の中で、暗号強度の最も強いものを選択する方法が考えられる。また、より新しい暗号方式を選択しても良い。
また、コンテンツ再生装置100が、暗号化及び署名データの生成に用いる暗号方式を選択し、選択した暗号方式を示す方式識別子を、暗号方式管理サーバ600に通知しても良い。
この場合、コンテンツ再生装置100が、暗号方式を選択する方法は、一例として、暗号方式を導入した日時を記憶しており、導入日が新しい暗号方式を選択する方法が考えられる。また、コンテンツ再生装置100の利用者による暗号方式の選択を受け付けるとしても良い。
(3)実施の形態1では、暗号方式管理サーバ600から暗号化鍵回路ファイルなどを送信する際に、解読されていない暗号方式を用いて署名データを含む署名ファイルを生成しているが、この署名生成の方法は一例であって、これに限定されるものではない。
また、実施の形態1では、新たな暗号方式の導入に当たって、この新たな暗号方式が署名検証に用いられる可能性を考慮し、暗号方式管理サーバ600は、新たな暗号方式に対応する検証鍵を含む検証鍵ファイルを送信しているが、検証鍵ファイルの送信は必須ではなく、新たな暗号方式を署名検証に利用しない場合は、検証鍵ファイルの送信は不要である。
また、新たに導入する暗号方式が公開鍵暗号方式である場合、検証鍵は、各サーバの公開鍵であるので、暗号化せずに、送信しても良い。
(4)実施の形態1では、署名データの検証において、可変回路108内に復号処理回路を構築して、署名データの検証処理の一部分を、復号処理回路が担う構成になっていたが、署名検証の一連の処理を行う検証回路を可変回路108内に構築し、署名データの検証を実行する構成であっても良い。この場合、暗号方式の導入の処理において、検証鍵ファイルの授受を行う必要はない。
(5)実施の形態1は、暗号化及び復号を行う暗号方式に着目した例であって、署名生成及び検証に利用されている暗号方式が解読された場合にも、新たな暗号方式を導入する。その際には、新たな暗号方式が署名生成及び検証に用いられることを考慮して、検証鍵ファイルを暗号方式管理サーバ600から取得する。
しかし、上記の変形例(4)の場合、暗号化及び復号に用いられる暗号方式の変更とは別に、署名方式の変更を行ってもよい。以下、署名方法とは、署名データを生成する一連の手順及び署名データを検証する一連の手順を指す。
具体的には、この場合、コンテンツ再生装置100は、正当性チェック部112に変わって、署名記憶部220を備えており、署名記憶部220は、図31に示すように、チェック情報表221と複数の署名方式ファイル223、224・・・を記憶している。チェック情報表221は、実施の形態1において説明したチェック情報表201と同様の構成であるが、各チェック情報は、何れかの署名方式と対応しており、方式識別子に代わって、対応する署名方式を示す署名方式識別子を含んでいる。
各署名ファイルは、何れかの署名方式と対応しており、対応する署名方式を示す署名方式識別子と、検証回路プログラムとを含む。検証回路プログラムは、署名方式識別子の示す署名方式により生成された署名データを検証する機能を有する検証回路の構成を示している。
暗号方式管理サーバ600は、署名方式に係る安全性についても管理しており、何れかの署名方法が解読され、容易に署名の改ざんが可能な状態になった場合、その署名方式に代わる新たな署名方式に係る署名ファイル「SiC」、検証鍵ファイルを保持している。署名ファイル「SiC」は、署名方式識別子「SIDC」と検証回路プログラム「SveC」とを含み、検証鍵ファイルは、図5(c)に示す検証鍵ファイル671と同様であるが方式識別子672に代えて、署名方式識別子「SIDC」を含む。ここでは、署名方式識別子「SIDA」の示す署名方式が解読されたとする。
新たな署名方式を導入する際には、コンテンツ再生装置100は、新たな署名方式と対応する署名方式ファイル「SiC」と、検証鍵ファイルと、署名方式識別子「SIDB」と対応する署名方式により、検証鍵ファイル及び署名ファイル「SiC」に署名を施して生成された署名データと、署名データの生成に用いた署名方法を示す署名方式識別子「SIDB」とを受信する。
制御部116は、受信した署名方式識別子「SIDB」と同一の署名方式識別子と対応する検証回路プログラム237を読み出し、可変回路108に出力する。
可変回路108内に、署名方式「SIDB」と対応する検証回路が構築されると、受信した署名方式ファイル「SiC」と、検証鍵ファイルと、署名データとを検証回路に出力して署名検証を指示する。
検証が成功であれば、受信した署名ファイルを署名記憶部220に書き込み、受信した検証鍵ファイルから新たなチェック情報を生成し、生成したチェック情報を、チェック情報表221に追加する。
なお、送受信する情報に秘匿すべき情報が含まれている場合、これらの情報を暗号化して送受信してもよい。
(6)また、署名方式に代わってMAC(Message Authentication Code)生成・検証方式を導入する構成であっても良い。この場合も、変形例(5)の場合と同様に、MAC検証を行う回路の構成を示すMAC検証回路プログラムを複数記憶しており、各MAC検証プログラムは、それぞれ異なるMAC生成・検証方式と対応している。
MAC生成に用いられる一方向関数が、解析されて逆演算の方法が発見されるなどの理由により、何れかのMAC生成・検証方式が、利用できなくなると、新たなMAC生成・検証方式と対応するMAC検証プログラムを取得する。取得の際には、新たなMAC検証プログラムと共に、有効なMAC・生成検証方式によって生成されたMAC情報を受信し、受信したMAC情報により、受信した新たなMAC検証プログラムに改ざんがないことを確認する。
(7)署名方式、MAC生成・検証方式のみならず、鍵共有の方式、機器認証の方式についても同様に、新たな鍵共有方式と対応する共有鍵生成回路の構成を定める鍵共有プログラム、新たな機器認証方式と対応する認証回路プログラムを取得しても良い。
鍵共有方式の場合、コンテンツ再生装置100は、それぞれ異なる鍵共有方式と対応する鍵共有回路プログラムを記憶している。各鍵共有回路プログラムは、可変回路108内の構築機構によって、解読される形式のプログラムであり、対応する鍵共有方式に従う手順で、外部機器との間で鍵共有を実行する鍵共有回路の構成を示す。
暗号方式管理サーバ600と同様に、鍵共有方式を管理するサーバ機器は、新たな鍵共有方式と対応する鍵共有回路プログラムを保持している。
新たな鍵共有方式と対応する鍵共有回路プログラムを取得する際には、まず、予め記憶している鍵共有回路プログラムの何れかに従って、鍵共有回路を構築し、構築した鍵共有回路により、サーバ機器との間で共有鍵を生成する。
サーバ機器は、前記新たな鍵共有方式と対応する鍵共有回路プログラムを、生成した共有鍵を用いて暗号化して暗号化鍵共有回路プログラムを生成して、コンテンツ再生装置100に送信する。
コンテンツ再生装置100は、暗号化鍵共有プログラムを受信し、これを生成した共有鍵を用いて復号し、新たな鍵共有方式と対応する鍵共有回路プログラムを取得する。
機器認証方式についても、同様に、予め、それぞれ異なる機器認証方式と対応する複数の機器認証回路プログラムを保持しており、そのうちの何れかに従って、機器認証回路を構築する。構築した機器認証回路により、外部のサーバ機器と機器認証を行い、認証が成功すると、サーバ機器から、新たな機器認証方式と対応する機器認証回路プログラムを受信する。
(8)実施の形態1の可変回路108は、一例として書換え可能なFPGA122と構築機構123とコンフィグROM124から構成され、選択部113及び114は、読み出した暗号回路プログラムなど構築機構123に及びコンフィグROM124に出力するとしてきたが、この構成に限るものではない。
可変回路108は、FPGAと構築機構のみから構成され、FPGAに付属するコンフィグROMが、暗号回路記憶部117及び鍵回路記憶部119を構成しても良い。
この構成の場合、コンテンツ再生装置100の電源がOFFになると、可変回路上に構築された回路は消失する。次に電源の供給が開始されると、先ず、制御部116は、主記憶部107の記憶している可変回路情報161を読み出し、読み出した可変回路情報161を基に、選択部113、114及び構築機構123に、電源がOFFになる直前に、可変回路108内に構築されていた回路を再構築させる。
(9)実施の形態1では、コンテンツ再生装置100及び暗号方式管理サーバ600は、インターネット20に接続されており、インターネット20を介して、暗号化暗号回路ファイルなどの授受を行っているが、この方法に限定するものではない。
暗号方式管理サーバ600は、正当なコンテンツ再生機器全てに同一の暗号回路ファイル、鍵回路ファイル及び署名回路ファイルを送付するので、放送波のような、一方向通信によって、これらのファイルを送付しても良い。
(10)実施の形態1では、暗号方式管理サーバ600の操作者による指示をトリガとして、コンテンツ導入の一連の動作を開始しているが、これに限定されるものではない。
例えば、コンテンツ再生装置100が、定期的に、自身の備える暗号方式を示す方式識別子を送信し、暗号方式管理サーバ600に、自身の備える暗号方式が解読されているか否かを問い合わせるとしてもよい。問合せを受けた暗号方式管理サーバ600は、受信した方式識別子と一致する方式識別子を含む、暗号方式情報が無効暗号方式一覧621内に存在すると、その暗号方式を含む警告通知をコンテンツ再生装置100に送信する。
また、実施の形態1では、装着されたDVDのコンテンツファイルに含まれる方式識別子と対応する暗号方式を備えていなければ、コンテンツ再生装置100は、単に、再生を行わないとしているが、このときに、暗号方式管理サーバ600に上記の問合せを行っても良い。
また、実施の形態1及び上記の各変形例では、コンテンツ再生装置100の備える何れかの暗号方式が解読された場合に、新たな暗号方式を導入しているが、暗号方式が解読されていない場合であっても、例えば、新たに優れた暗号方式が開発された場合などにその新たな暗号方式を導入しても良い。
(11)上記の実施の形態1では、解読された暗号方式と対応する暗号回路プログラムのみ削除し、復号回路プログラム及び鍵回路ファイルを残している。このようにすることで、過去に配布されたコンテンツの再生を可能にし、コンテンツを購入した利用者の不利益とならないようにしている。
しかし、解読された暗号方式と対応する暗号回路ファイル及び鍵回路ファイルを全て削除し、解読された暗号方式によって暗号化されたコンテンツ及び解読された暗号方式によって生成された署名データの付されたコンテンツの再生を一切認めない構成であっても良い。この場合、チェック情報表201において、解読された暗号方式と対応するチェック情報も削除する。
(12)実施の形態1及び上記の変形例では、可変回路108は、FPGAにより構成されるとして説明してきたが、これに限定されるものではなく、その他の、書換え可能な回路であっても良い。これらの書換え可能な回路は、回路規模、内部の論理回路の構造などによって、PLD(Programmable Logic Device)、PLA(Programmable Array Logic)、CPLD(Complex Programmable Logic Device)、リコンフィギュアラブルLSI、ダイナミック・リコンフィギュアラブルLSIなどと呼ばれる。
(13)実施の形態1では、それぞれ異なるデバイス鍵を有する正当な再生機器全てが正常にコンテンツを取得させ、不正な機器にはコンテンツを取得させない方法として、メディアキーブロックを用いる例を採用したが、この方法に限るものではない。
一例として、ツリー構造を利用して各機器に複数の鍵データを含むデバイス鍵を割り当て、正当な機器は、デバイス鍵に含まれる何れかの鍵によりコンテンツを取得することができる技術が考えられる。
(14)上記の実施の形態で、コンテンツ再生装置100は、予め各暗号方式と対応する暗号回路ファイルと鍵回路ファイルを記憶しているが、コンテンツの復号などの暗号処理を行う際に、必要な鍵回路ファイルを受信する構成であっても良い。
例えば、DVD400aに記憶されている暗号化コンテンツ403を復号する場合、制御部116は、コンテンツファイル401から方式識別子402を読み出し、読み出した方式識別子402を、プログラム取得部106を介して、暗号方式管理サーバ600へ送信し、鍵回路ファイルの送信を要求する。
暗号方式管理サーバ600は、各暗号方式と対応する鍵回路ファイルを記憶している。制御部607は、コンテンツ再生装置100から方式識別子を受信し、鍵回路ファイルの送信を要求されると、受信した方式識別子の示す暗号方式と対応する鍵回路ファイルを読み出し、読み出した鍵回路ファイルを送信する。
コンテンツ再生装置100の制御部116は、暗号方式管理サーバ600から鍵回路ファイルを受信し、受信した鍵回路ファイルに含まれる鍵回路生成プログラムを可変回路108へ出力する。
以後、実施の形態1の場合と同様にしてデバイス鍵の生成、復号処理回路の構築及び暗号化コンテンツ403の復号を行う。
(15)実施の形態1で、コンテンツ再生装置100は、秘密通信によりコンテンツを安全に取得し、再生する機器であって、秘密通信に用いる新たな暗号方式の導入に伴って新たなデバイス鍵を取得する。
しかし、本発明は、この例に限定されるものでなく、コンテンツ再生装置100は、自装置に固有の鍵を用いて、情報を安全又は確実に取り扱う情報セキュリティ装置であって、安全又は確実に情報を取り扱う情報処理方法を新たに導入する際に、新たな情報処理方法に対応する鍵を取得する。ここで、前述の秘匿すべき鍵を用いる情報処理方法とは、秘密通信に使われる暗号方式の他に、署名方式、機器認証方式、鍵共有方式、MAC生成・検証方式などが考えられる。
(15−1)以下、コンテンツ再生装置100が、所定の署名方式に従って署名データの生成及び検証を行う機器である場合について説明する。
コンテンツ再生装置100は、暗号回路記憶部117に代えて(若しくは暗号回路記憶部117に加えて)、署名回路記憶部を備え、署名回路記憶部は、署名回路ファイルを記憶している。
署名回路ファイルは、何れかの署名方式と対応しており、対応する署名方式を示す署名方式識別子と、構築機構123により解読・実行可能な形式の署名生成回路プログラムと署名検証回路プログラムとを含む。署名生成回路プログラムは、対応する署名方式に従って、署名データを生成する署名生成回路の構成を示す。署名検証回路プログラムは、対応する署名方式に従って、署名データの検証を行う署名検証回路の構成を示す。
鍵回路記憶部119は、前記署名回路記憶部に記憶されている署名回路ファイルと対応する署名鍵回路ファイルを記憶している。署名鍵回路ファイルは、対応する署名方式を示す署名方式識別子と、署名データの生成及び検証に用いる署名鍵及び検証鍵を生成する署名鍵生成回路の構成を示す署名鍵回路プログラムとを含む。
署名データの生成又は検証にあたり、制御部116は、選択部113、114、組合せチェック部118可変回路108を制御して、所望の署名方式に対応した署名鍵及び検証鍵を生成させ、署名生成回路又は署名検証回路を構築させる。鍵の生成及び回路の構築の手順は、実施の形態1におけるデバイス鍵の生成及び復号処理回路の構築の手順(例えば、図22のステップS166〜173に示される)と同様である。
新たな署名方式を導入する際に、制御部116は、プログラム取得部106を介して、新たな署名方式と対応する署名ファイルを取得し、これと合わせて、新たな署名方式に適した署名鍵及び検証鍵を生成する署名鍵生成回路の構成を示す署名鍵回路プログラムを含む署名鍵ファイルを取得する。
制御部116は、取得した署名回路ファイルを署名回路記憶部に書き込み、取得した署名鍵ファイルを鍵回路記憶部119に書き込む。
以後、新たな署名検証方式により署名データの生成又は検証を行う場合、制御部116の制御の下、選択部114は、取得された署名鍵ファイルに含まれる署名鍵回路プログラムを読み出して、可変回路108へ出力し、可変回路108の構築機構123は、選択部114から出力された署名鍵回路プログラムに従って署名鍵生成回路を構築し、構築された署名鍵生成回路は、新たな署名方式の性質に適した署名鍵及び検証鍵を生成する。
(15−2)コンテンツ再生装置100が、所定の機器認証方式、鍵共有方式、MAC生成・検証方式に従って、機器認証、鍵共有、MAC生成・検証を行う機器である場合についても同様であって、コンテンツ再生装置100は、それぞれの情報処理方法に従う処理を実行する実行回路の構成を示す実行回路プログラムを含むファイルと、各実行回路プログラムと対応する鍵回路生成プログラムを含む鍵回路ファイルを記憶している。
新たな情報処理方式を導入する際には、制御部116は、プログラム取得部106を介して、新たな情報処理方式と対応する実行回路プログラムを含むファイルと共に、新たな情報処理方式に適した鍵を生成する鍵生成回路の構成を示す鍵生成回路プログラムを含んだ鍵回路ファイルを取得する。取得した鍵回路ファイルを鍵回路記憶部119に書き込む。
以後、新たな情報処理方法による処理を行う場合、制御部116の制御の下、選択部114は、取得された鍵回路ファイルに含まれる鍵生成回路プログラムを可変回路108に出力し、構築機構123は、出力された鍵生成回路プログラムに従って鍵生成回路を構築し、構築された鍵生成回路は、新たな情報処理方法に適した鍵を生成する。
(16)上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGAやLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応などが可能性として有り得る。
(17)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパー性を有するとしてもよい。
(18)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(19)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明は、秘密通信、署名、機器認証を初めとする暗号技術を利用した各種の処理を、各機器に固有の鍵を用いて行う電気機器を製造、販売する産業、これらの電気機器により取り扱われる情報を生産、販売する産業、また、これらの機器の取り扱う情報を使用して、各種のサービスを提供する産業において、経営的、反復・継続的に利用することができる。
本発明は、新たな機器固有の鍵情報を安全かつ簡易に取得する技術に関する。
映像及び音声からなるデジタルコンテンツを記録媒体に記録して販売したり、ネットワークを介して配信する際に、改竄や盗聴といった不正なコンテンツの利用を防止するために、暗号化技術が用いられることが一般的になっている。
例えば、CPPM(Content Protection for Prerecorded Media)規格によると、コンテンツの提供側は、コンテンツを暗号化して暗号化コンテンツを生成し、暗号化コンテンツを記録媒体に記録して配布し、再生機器側では、各再生機器の保持するデバイス鍵を用いて暗号化コンテンツを復号して再生する。デバイス鍵は、各再生機器に固有の鍵である。
一方で、暗号化に用いられる暗号方式が解読された場合や、新たな暗号方式が開発された場合に、暗号方式を変更したいという要望がある。暗号方式を変更する技術としては、特許文献1に、アプリケーション及びデータの種類に応じて暗号方式を変更する技術が開示されている。
暗号方式の変更に当たって、暗号処理に用いる鍵も変更する必要がある。鍵の変更に関する従来技術としては、特許文献3に、各端末機器が、予め複数の鍵を記憶しておき、全ての機器が、同一のルールに従って、使用する鍵を変更するシステムが開示されている。
特開平10−320191号公報 特開2002−50956号公報 特開2002−290396号公報
しかしながら、暗号方式の解読など、後発的理由により暗号方式を変更する場合には、予め、新たな暗号方式に適した鍵を用意しておくことができない場合もあり、暗号方式の変更にあたり、各再生機器に、新たな暗号方式に適した鍵を配布する必要がある。
特に、上述したように、各再生機器が個別のデバイス鍵を用いる場合、各再生機器に、個別のデバイス鍵を、安全かつ簡易に配布することができる技術が要望されている。
この要望を満たすべく、本発明は、各機器固有のデバイス鍵を、安全かつ簡易に配布することができる情報セキュリティシステム、情報セキュリティ装置、鍵取得方法、鍵取得プログラム及び集積回路を提供することを目的とする。
上記の課題を解決するために、本発明は、デバイス鍵を用いて、安全又は確実に情報を取り扱う情報セキュリティ装置であって、書き換え可能な論理回路と、所定の処理を実行する実行回路を定める回路形成情報を取得し、取得した回路形成情報に従って、前記論理回路を書き換えて、前記実行回路を構築する構築手段と、自装置に固有の固有秘密鍵を記憶している鍵記憶手段と、自装置に固有の前記デバイス鍵を、前記固有秘密鍵を用いて生成する鍵生成回路を定める鍵回路形成情報を取得する取得手段と、有効に取得された前記鍵回路形成情報を、前記回路形成情報として、前記構築手段に出力する出力手段と、前記デバイス鍵を生成するように、構築された前記鍵生成回路を制御する制御手段とを備えることを特徴とする。
また、本発明は、デバイス鍵を用いて、安全又は確実に情報を取り扱う情報セキュリティ装置とサーバ装置から構成される鍵配布システムであって、前記情報セキュリティ装置は、書き換え可能な論理回路と、所定の処理を実行する実行回路を定める回路形成情報を取得し、取得した回路形成情報に従って、前記論理回路を書き換えて、前記実行回路を構築する構築手段と、自装置に固有の固有秘密鍵を記憶している鍵記憶手段と、自装置に固有の前記デバイス鍵を、前記固有秘密鍵を用いて生成する鍵生成回路を定める鍵回路形成情報を取得する取得手段と、有効に取得された前記鍵回路形成情報を、前記回路形成情報として、前記構築手段に出力する出力手段と、前記デバイス鍵を生成するように、構築された前記鍵生成回路を制御する制御手段とを備え、前記サーバ装置は、前記鍵回路形成情報を記憶している記憶手段と、前記鍵回路形成情報を、出力する出力手段とを備えることを特徴とする。
なお、上記の「論理回路」には、後述する実施の形態1のFPGA122が対応する。「構築手段」には、構築機構123が対応する。「鍵記憶手段」には、マスタ個別鍵格納部102が対応する。「取得手段」には、プログラム取得部106、FPGA122、主記憶部107、正当性チェック部112及び鍵回路記憶部119が対応する。「出力手段」には、選択部114が対応する。「制御手段」には、制御部116が対応する。「固有秘密鍵」には、「マスタ個別鍵」が対応する。
この構成によると、前記構築手段により、構築された鍵生成回路は、前記固有秘密鍵を用いて、自装置に固有の前記デバイス鍵を生成する。デバイス鍵自体を授受することがないので、本発明の情報セキュリティ装置は、前記デバイス鍵を安全に取得することができるという優れた効果を奏する。
また、前記情報セキュリティ装置内に構築された前記鍵生成回路が、自機に固有のデバイス鍵を生成するので、前記サーバ装置は、前記情報セキュリティ装置及び同等の機器に、同一の鍵回路形成情報を配布するだけで、各機器に、容易に、機器固有のデバイス鍵を取得せしめることができる。
また、上記の情報セキュリティ装置において、前記取得手段は、自装置が前記情報を取り扱う現情報処理方法と対応する前記鍵回路形成情報を取得し、前記鍵回路形成情報に従って構築される鍵生成回路は、前記現情報処理方法の性質に適した前記デバイス鍵を生成することを特徴とする。
この構成によると、前記鍵生成回路の生成する前記デバイス鍵は、前記現情報処理方法の性質に適しているため、当該情報セキュリティ装置は、前記デバイス鍵を用いて、前記情報を適切に取り扱うことができる。
ここで、前記取得手段は、ネットワークを介して接続される外部機器から、前記鍵回路形成情報を取得することを特徴とする情報セキュリティ装置でもよい。
上記の外部機器とは、各種の情報処理方式の安全性に関する情報管理する機関の有するサーバ機器であると考えられ、実施の形態1の暗号方式管理サーバが対応する。
このような機関は、各種の情報処理方式の安全性に関する最新の情報を保持しているので、この機関の有するサーバ機器は、現時点で最も適切な前記鍵回路形成情報を保持している。従って、上記の構成によると、前記取得手段は、取得の時点において、最も適切な鍵回路形成情報を取得することができる。
また、前記取得手段は、前記外部機器へ、自装置が前記情報を取り扱う現情報処理方法を通知する通知部と、前記外部機器から、通知した現情報処理方法と対応する前記鍵回路形成情報を受信する受信部とを含むことを特徴とする。
この構成によると、前記通知部は、当該情報セキュリティ装置が前記情報を取り扱う前記現情報処理方法を前記外部機器に通知するため、確実に、前記現情報処理方法に対応する前記鍵回路形成情報を取得することができる。
前記外部機器は、前記鍵回路形成情報を暗号化して、暗号化鍵回路形成情報を生成し、生成した暗号化鍵回路形成情報を送信し、前記情報セキュリティ装置において、前記取得手段は、前記暗号化鍵回路形成情報を、前記外部機器から受信する受信部と、受信した前記暗号化鍵回路形成情報を復号して前記鍵回路形成情報を生成する生成部とを含むことを特徴とする。
前記鍵回路形成情報には、前記デバイス鍵の推測容易にするパラメータ、製作者のノウハウなど、秘密にすべき情報を含んでいる場合がある。この構成によると、前記受信部は、前記外部機器から、暗号化鍵回路形成情報を受信するので、前記外部機器との間の通信において、前記鍵回路形成情報を盗聴されないという優れた効果を有する。
また、前記鍵記憶手段は、耐タンパー性を有し、前記固有秘密鍵を安全に記憶している構成であっても良い。
この構成によると、外部の機器により、前記固有秘密鍵を読み取られる危険性がないので、前記デバイス鍵を第三者に知られる危険性を抑制することができる。
また、本発明の前記情報セキュリティ装置において、前記取得手段は、さらに、前記鍵回路形成情報にデジタル署名を施して生成された署名情報を取得し、前記情報セキュリティ装置は、さらに、前記署名情報と、取得された前記鍵回路形成情報とを用いて、前記鍵回路形成情報の正当性を検証する検証手段を備え、前記出力手段は、前記検証が成功した場合に、前記鍵回路形成情報が有効に取得されたと決定し、前記鍵回路形成情報を出力する構成であっても良い。
上記の「検証手段」には、後述の実施の形態1の正当性チェック部112、主記憶部107、FPGA112が対応する。
この構成によると、本発明の情報セキュリティ装置は、前記取得手段の取得した前記鍵回路形成情報が正当である場合にのみ前記デバイス鍵を生成することができる。このようにすることで、悪意の第三者により配布された不当な鍵回路形成情報を排除することができる。
また、前記情報セキュリティ装置は、さらに、前記検証手段の構成を示す検証回路形成情報を記憶している検証情報記憶手段を備え、前記出力手段は、さらに、前記検証情報記憶手段から、前記検証回路形成情報を読み出し、読み出した検証回路形成情報を前記回路形成情報として、前記構築手段へ出力することを特徴とする。
上記の構成によると、前記構築手段は、前記検証回路形成情報に従って、前記論理回路を書き換えて、前記検証手段を構築する。従って、当該情報セキュリティ装置は、前記論理回路を有効活用することで、前記検証手段の機能を有する回路を備える必要がなく、回路規模を小さくすることができる。
また、ここで、前記現情報処理方法とは、前記情報を暗号化又は復号化する暗号方式である構成であっても良い。
この構成によると、本発明の情報セキュリティ装置は、前記情報に暗号処理を施すことにより、第三者への情報の漏洩を防ぎ、前記情報を安全に取り扱うことができる。
また、ここで、前記現情報処理方法とは、前記情報の正当性を示す署名の生成又は検証手順を含む署名方式であるとしてもよい。
この構成によると、本発明の情報セキュリティ装置は、前記情報に署名を施し、又は、前記情報に施された署名を検証することにより、確実に前記情報の授受を行うことができる。
また、ここで、前記現情報処理方法とは、前記情報の授受を行う外部機器の正当性を認証する機器認証方式であるとしてもよい。
この構成によると、本発明の情報セキュリティ装置は、前記機器認証方式に従って、正当な機器であることが認証された機器との間においてのみ、前記情報の授受を行うので、前記情報を安全に取り扱うことができる。
また、ここで、前記現情報処理方法とは、前記情報の改竄の有無を検証するために一方向関数を用いて生成されるメッセージ認証コードの、生成又は検証手順を含むメッセージコード認証方式であるとしてもよい。
前記情報セキュリティ装置は、メッセージ認証コード認証方式に従って、前記情報に付されたメッセージ認証コードを検証することで、改竄の有無を検証し、前記情報を確実に取得することができる。また、前記情報を出力する再に、前記情報から生成したメッセージ認証コードを付すことで、前記情報を取得する機器は、伝送途中における前記情報の改竄を検出することができる。
前記現情報処理方法とは、前記情報の授受を行う機器との間で同一の鍵を共有する鍵共有方法であるとしてもよい。
この構成によると、前記情報セキュリティ装置は、鍵共有方式に従って、前記機器との間で同一の鍵を共有し、共有した鍵を用いて、前記情報の授受を安全に行うことができる。
前記鍵回路形成情報は、所定の情報処理方法と対応しており、前記鍵回路形成情報に従って構築される鍵生成回路は、前記所定の情報処理方法の性質に適した前記デバイス鍵を生成し、前記情報セキュリティ装置は、さらに、自装置が前記情報を取り扱う現情報処理方法と、前記所定の情報処理方法とが一致するか否かを判断する組合せ確認手段を備え、前記出力手段は、前記組合せ確認手段により、両者が一致すると判断される場合に、前記鍵回路形成情報が有効に取得されたと決定し、前記鍵回路形成情報を出力することを特徴とする構成であっても良い。
上記の「組合せ確認手段」は、実施の形態1の組合せチェック部118が対応する。
この構成によると、前記取得手段が前記現情報処理方法に対応した前記鍵回路形成情報を取得した場合に、前記デバイス鍵が生成される。従って、本発明の情報セキュリティ装置は、確実に、前記現情報処理方法の性質に適したデバイス鍵を取得することができる。
1.実施の形態1
以下に、本発明の実施の形態1に係る情報セキュリティシステム1について、図面を用いて説明する。
1.1 情報セキュリティシステム1の概要
情報セキュリティシステム1は、図1に示すように、コンテンツ再生装置100、暗号方式管理サーバ600、コンテンツサーバ700及びポータブルプレーヤー800から構成される。
コンテンツサーバ700、暗号方式管理サーバ600及びコンテンツ再生装置100は、インターネット20に接続されている。
コンテンツサーバ700は、映画を初めとしたコンテンツを提供する装置であって、コンテンツを暗号化して生成した暗号化コンテンツと、前記暗号化コンテンツが、正当な配布元により生成されたことを示す署名とを、インターネット20又はDVDなどの記録メディアを介して、コンテンツ再生装置100に提供する。
コンテンツ再生装置100は、インターネット20又はDVDを介して、コンテンツサーバ700から、暗号化コンテンツと署名とを取得し、取得した署名を検証し、正当な配布者により配布されたコンテンツであることを認証し、暗号化コンテンツを復号、再生する。また、コンテンツ再生装置100は、メモリカードを装着可能であって、利用者の操作に従って、暗号化コンテンツの生成に用いられたコンテンツ鍵を暗号化して生成した暗号化コンテンツ鍵と暗号化コンテンツとをメモリカードに書き込む。
ここで、前記コンテンツ再生装置100が、製造された時点で、コンテンツの暗号化に用いられている暗号方式を示す方式識別子を、方式識別子「IDA」、署名検証に利用される暗号方式を示す方式識別子を、方式識別子「IDB」とする。一例として、本明細書では、方式識別子「IDA」の示す暗号方式は、DES(Data Encryption Standard)暗号方式あり、方式識別子「IDB」の示す暗号方式は、RSA(Rivest Shamir Adleman)暗号方式であるとする。
コンテンツ再生装置100は、書き換え可能な回路を備えており、署名検証の際には、RSA暗号方式に従った復号処理を行う復号処理回路を、前記回路上に構築し、コンテンツの復号の際には、DES暗号方式従う復号を行う復号処理回路を構築し、暗号化コンテンツ鍵の生成の際には、DES暗号方式による暗号化処理を行う暗号処理回路を構築する。
暗号方式管理サーバ600は、コンテンツ再生装置100が、上記の署名検証、コンテンツの復号などに用いる暗号方式の安全性を管理する。暗号方式管理サーバ600は、DES暗号方式、又は、RSA暗号方式が解読された場合に、解読された暗号方式に代えて、コンテンツ再生装置100が使用する暗号方式に関する情報を記憶している。何れか一方の暗号方式が解読されると、解読された暗号方式に代替する新たな暗号方式に係る情報を、解読されていない他方の暗号方式に従って暗号化して、コンテンツ再生装置100へ送信する。
コンテンツサーバ700と、暗号方式管理サーバ600は、同一又は関連のある機関によって管理されており、暗号方式の変更に係る情報及び新たな暗号方式の鍵に関する情報を共有している。何れかの暗号方式が解読されると、コンテンツサーバ700は、解読された暗号方式に代わって、上記の新たな暗号方式を用いて、コンテンツの暗号化又は署名生成を行う。
コンテンツ再生装置100は、解読されていない他方の暗号方式により、上記の新たな暗号方式に係る情報を安全に取得し、新たな暗号方式を導入する。
1.2 DVD400a及び400b
DVD400a及び400bは、可搬型の光ディスク媒体である。
DVD400a及び400bは、同一のコンテンツ「ConA」を配布するために製造されたものであるが、DVD400aは、コンテンツ再生装置100の製造時に発売されていたものであり、DES暗号方式により暗号化されたコンテンツを記憶している。DVD400bは、その後、DES暗号方式が解読された後に、発売されたものであり、DES暗号方式に代替する暗号方式により暗号化されたコンテンツを記憶している。DES暗号方式に代替する暗号方式としては、一例としてAES(Advanced Encryption Standard)暗号方式を用いる。
図2は、DVD400aおよび400bに記録されている情報を示している。図2に示すように、DVD400aには、コンテンツファイル401とコンテンツ鍵情報404と署名ファイル411とが記録されている。
コンテンツファイル401は、方式識別子402「IDA」と暗号化コンテンツ403「EncA(ConA,KconA)」とを含む。以下、本明細書において、方式識別子「IDα」の示す暗号方式により(α=A,B,C・・・)、暗号鍵「β」を用いて、平文「γ」を暗号化して生成された暗号文を、Encα(γ,β)と記載する。
方式識別子402は、暗号化コンテンツ403の生成に用いられた暗号方式を示している。ここでは、DES暗号方式を示している。
暗号化コンテンツ403は、コンテンツ鍵「KconA」を用いて、コンテンツ「ConA」に、方式識別子「IDA」の示すDES暗号方式に従う暗号化アルゴリズムを施して生成された暗号文である。コンテンツ鍵「KconA」は、56ビット長の暗号鍵である。
コンテンツ鍵情報404「CKinfA」は、メディアキーブロック、メディアIDを含んでいる。メディアキーブロックは、DVD400aにアクセスすることができる正当な再生機器のみに、暗号化コンテンツを復号するコンテンツ復号鍵を付与するための情報である。DES暗号方式を初めとする共通鍵暗号方式の場合、コンテンツ復号鍵は、コンテンツ鍵と同一であるが、RSA暗号などの公開鍵暗号をコンテンツの暗号化に用いる場合は、コンテンツ復号鍵とコンテンツ鍵とは異なる。
メディアIDは、DVD400aに固有の識別子である。正当な再生機器は、その再生機器に固有のデバイス鍵とメディアIDを用いて、メディアキーブロックから、コンテンツ鍵「KconA」を生成することができる。
異なるデバイス鍵のいずれを用いても、メディアキーブロックから、同一の鍵を生成可能にする技術については、公知であるのでここでは説明を省略する。
署名ファイル411は、サーバID412「001A」、方式識別子413「IDB」及び署名データ414を含む。サーバID412は、署名データ414「SignA」を作成した機器を識別する識別子である。具体的に、「001A」は、コンテンツ「ConA」の配布元であるコンテンツサーバ700を示す。方式識別子413は、署名データ414の生成に用いられた暗号方式を示しており、ここでは、RSA暗号方式を示している。署名データ414は、コンテンツファイル401及びコンテンツ鍵情報404を結合した結合物をハッシュ関数に代入して160ビット長のダイジェストデータを生成し、署名鍵「Ksig_Ba」を用いて、方式識別子413の示すRSA暗号方式による暗号化アルゴリズムを前記ダイジェストデータに施して生成されたものである。署名鍵「Ksig_Ba」は、方式識別子413の示すRSA暗号方式に対応する128ビット長の鍵であって、サーバID412と対応するコンテンツサーバ700に固有の鍵である。
ハッシュ関数には、一例として、SHA−1を用いる。この署名生成方法は、一例であって、他の方法を用いても良い。
図2(b)に示すように、DVD400bは、コンテンツファイル421、コンテンツ鍵情報424及び署名ファイル431を記憶している。
コンテンツファイル421は、方式識別子422「IDC」、暗号化コンテンツ423「EncC(ConA,KconC)」を含んでいる。方式識別子422は、暗号化コンテンツ423の生成に用いられたAES暗号方式を示す。暗号化コンテンツ423は、コンテンツ鍵「KconC」を用いて、AES暗号方式に従う暗号化アルゴリズムを、コンテンツ「ConA」に施して生成されたものである。コンテンツ鍵「KconC」は、128ビット長の暗号鍵である。
コンテンツ鍵情報424は、メディアキーブロックと、メディアIDとを含んでおり、正当な再生機器に、コンテンツ鍵「KconC」を付与するデータである。
署名ファイル431は、サーバID432と方式識別子433と署名データ434とを含んでいる。サーバID432は、コンテンツ「ConA」の配布元であるコンテンツサーバ700を示す識別子である。方式識別子433は、署名データ434の生成に用いられたRSA暗号方式を示す。署名データ434「SignA’」は、コンテンツファイル421とコンテンツ鍵情報424を結合した結合物をハッシュ関数に代入してダイジェストデータを生成し、サーバID432の示すコンテンツサーバ700の署名鍵「Ksig_Ba」を用いて、RSA暗号方式に従う暗号化アルゴリズムを、生成したダイジェストデータに施して生成されたものである。
1.3 暗号方式管理サーバ600
暗号方式管理サーバ600は、DES暗号方式が解読された場合には、DES暗号方式に代わるAES暗号方式の導入を、コンテンツ再生装置100に指示し、解読されていないRSA暗号方式により、導入に係る情報を暗号化して送信する。また、同時に、送信した情報が、正当な暗号方式管理サーバ600により送信されたことを示す署名データを、RSA暗号方式を用いて生成し、送信する。
また、逆に、RSA暗号方式が解読された場合には、暗号方式管理サーバ600は、RSA暗号方式に代わる楕円曲線暗号方式の導入を、コンテンツ再生装置100に指示し、解読されていないDES暗号方式により、導入に係る情報を暗号化して送信する。また、同時に、送信した情報が、正当な暗号方式管理サーバ600により送信されたことを示す署名データを、DES暗号方式を用いて生成し、送信する。
暗号方式管理サーバ600は、図3に示すように、送受信部601、署名生成部603、制御部607、情報記憶部610、入力部613及び表示部612から構成される。
暗号方式管理サーバ600は、具体的には、マイクロプロセッサ、RAM、ROMを含んで構成されるコンピュータシステムであって、前記RAM、ROMにはコンピュータプログラムが記憶されている。マイクロプロセッサが前記コンピュータプログラムに従って動作することによって、暗号方式管理サーバ600は、その機能の一部を達成する。
以下に、暗号方式管理サーバ600の各構成要素について説明する。
(1)情報記憶部610
情報記憶部610は、ハードディスクを含んで構成され、一例として、図3に示すように、無効暗号方式一覧621、送信用鍵テーブル626、暗号回路ファイル631、641・・・、鍵回路ファイル651、661・・・及び検証鍵ファイル671・・・を記憶している。
(1−a)無効暗号方式一覧621
無効暗号方式一覧621は、図4(a)に示すように、複数の暗号方式情報622、623・・・から構成される。各暗号方式情報は、解読されている暗号方式と対応しており、方式識別子と暗号回路ファイル名と鍵回路ファイル名と検証鍵ファイル名とを含んでいる。
方式識別子は、解読された暗号方式を示す識別子である。暗号回路ファイル名は、解読された暗号方式に代わる新たな暗号方式を導入するためのプログラムを含むファイルの名称である。鍵回路ファイル名は、解読された暗号回路に代わる新たな暗号方式に適したデバイス鍵を生成するためのプログラムを含むファイルの名称である。検証鍵ファイル名は、前記新たな暗号方式を用いて生成される署名データを検証するための検証鍵を含むファイルの名称である。暗号回路ファイル、鍵回路ファイル及び検証鍵ファイルについては、後述する。
例えば、暗号方式情報622は、方式識別子「IDA」、暗号回路ファイル名「C」、鍵回路ファイル名「KC」及び検証鍵ファイル名「VeriC」を含んでいる。方式識別子「IDA」は、DES暗号方式を示している。暗号回路ファイル名「C」は、暗号回路ファイル631の名称であり、鍵回路ファイル名「KC」は、鍵回路ファイル651の名称であり、検証鍵ファイル名「VeriC」は、検証鍵ファイル671の名称である。
(1−b)送信用鍵テーブル626
送信用鍵テーブル626は、図4(b)に示すように、複数の送信用鍵情報627、628、629から構成され、各送信用鍵情報は、方式識別子、暗号鍵、復号鍵、復号鍵情報を含む。各送信用鍵情報は、何れかの暗号方式と対応している。
方式識別子は、対応する暗号方式を示しており、暗号鍵は、方式識別子の示す暗号方式に従う暗号化演算に適したビット長の鍵である。復号鍵は、方式識別子の示す暗号方式に従って、暗号鍵を用いて、生成された暗号文を復号するための鍵である。なお、方式識別子の示す暗号方式が、共通鍵暗号方式に属する場合、暗号鍵と復号鍵とは同一である。復号鍵情報は、メディアキーブロックを含んで構成され、正当なコンテンツ再生装置のみに、復号鍵を付与するための情報である。
(1−c)暗号回路ファイル631
暗号回路ファイル631、641・・・は、鍵回路ファイル651、661・・・とそれぞれ対応している。また、検証鍵ファイル671・・・と、それぞれ対応している。
図5(a)は、暗号回路ファイル631の詳細を示す。他の暗号回路ファイルの構成も同様であるので、説明を省略する。
暗号回路ファイル631「C」は、方式識別子632「IDC」、暗号回路プログラム633「EncC」及び復号回路プログラム634を含み、鍵回路ファイル651及び検証鍵ファイル671と対応する。
方式識別子632「IDC」は、DES暗号方式及びRSA暗号方式とは異なる他の暗号方式を示す識別子であって、ここでは、AES暗号方式を示す。暗号回路プログラム633及び復号回路プログラム634は、ハードウェア記述言語をコンパイルして生成された複数の機械語形式の命令から構成される。これらの機械語形式は、コンテンツ再生装置100を構成する可変回路108内の構築機構123(後述する)により、実行される形式である。ここで、ハードウェア記述言語には、一例としてVHDL(VHSIC Hardware Description Language)を用いる。
暗号回路プログラム633「EncC」は、コンテンツ再生装置100の備える可変回路108内に、方式識別子632の示すAES暗号方式に従う暗号化処理を行う暗号処理回路の構成を含んでいる。
復号回路プログラム634は、コンテンツ再生装置100の備える可変回路108内に、方式識別子632の示すAES暗号方式に従う復号処理を行う復号処理回路の構成を含む。
(1−d)鍵回路ファイル651
鍵回路ファイル651「KC」は、図5(b)に示すように、方式識別子652「IDC」及び鍵生成回路プログラム653「KgenC」を含んでいる。
方式識別子652は、鍵回路ファイル651と対応する暗号回路ファイル631に含まれる方式識別子632と同一である。
鍵生成回路プログラム635は、ハードウェア記述言語をコンパイルして生成された複数の機械語形式の命令から構成される。これらの機械語形式は、コンテンツ再生装置の可変回路108内の構築機構123(後述する)により、実行される形式である。
鍵生成回路プログラム635「KgenC」は、コンテンツ再生装置100の備える可変回路108内に、方式識別子632の示す暗号方式に適した鍵長のデバイス鍵を生成する鍵生成回路の構成を含んでいる。
(1−e)検証鍵ファイル671
検証鍵ファイル671「VeriC」は、図5(c)に示すように、方式識別子672「IDC」、検証鍵情報673及び674を含む。
方式識別子672「IDC」は、暗号回路ファイル631及び鍵回路ファイル651に含まれる方式識別子と同様にAES暗号方式を示す。
検証鍵情報673は、サーバID「001A」と検証鍵「Kve_Ca」とを含む。サーバID「001A」は、コンテンツサーバ700を示す識別情報である。検証鍵「Kve_Ca」は、AES暗号方式に適した128ビット長の鍵であって、コンテンツサーバ700に固有の署名鍵「Ksig_Ca」と対応する。なお、AES暗号方式は、共通鍵暗号方式であるので、署名鍵「Ksig_Ca」と検証鍵「Kve_Ca」は同一である。
検証鍵情報674は、サーバID「001B」と検証鍵「Kve_Cb」とを含む。サーバID「001B」は、暗号方式管理サーバ600を示す識別情報である。検証鍵「Kve_Cb」は、AES暗号方式に適した128ビット長の鍵であって、コンテンツサーバ700に固有の署名鍵「Ksig_Cb」と対応する。
(2)送受信部601
送受信部601は、インターネット20を介して接続された外部の機器と、制御部607との間で、各種の情報の送受信を行う。
(3)署名生成部603
署名生成部603は、図6に示す署名鍵テーブル691を記憶している。署名鍵テーブル691は、複数の署名鍵情報692、693、694・・・から構成される。
各署名鍵情報は、何れかの暗号方式と対応しており、方式識別子と署名鍵と検証鍵とを含む。方式識別子は、対応する暗号方式を示す。署名鍵は、方式識別子の示す暗号方式に適した鍵長の鍵である。検証鍵は、方式識別子の示す暗号方式に適した鍵長の鍵であって、署名鍵と対応する。署名鍵と検証鍵は、いずれも、暗号方式管理サーバ600に固有の鍵データである。なお、方式識別子の示す暗号方式が、共通鍵暗号方式である場合、署名鍵と検証鍵とは同一である。
一例として、署名鍵情報693は、方式識別子「IDB」と署名鍵「Ksig_Bb」と検証鍵「Kve_Bb」とを含む。方式識別子「IDB」は、RSA暗号方式を示しており、署名鍵「Ksig_Bb」は、128ビット長の鍵である。検証鍵「Kve_Bb」は、128ビット長の鍵であって、署名鍵を用いて生成された暗号文を復号する鍵である。
署名生成部603は、制御部607から、暗号回路ファイルと鍵回路ファイルと検証鍵ファイルと復号鍵情報と方式識別子とを受け取り、署名生成を指示される。
署名生成を指示されると、署名生成部603は、受け取った暗号回路ファイルと鍵回路ファイルと検証鍵ファイルと復号鍵情報とを結合した結合物をハッシュ関数に代入してダイジェストデータを生成する。
次に、署名生成部603は、記憶している署名鍵テーブル691内で、受け取った方式識別子を含む署名鍵情報を選択し、選択した署名鍵情報に含まれる署名鍵を読み出す。読み出した署名鍵を用いて、生成したダイジェストデータに、受け取った方式識別子の示す暗号方式による暗号化アルゴリズムを施して暗号化ダイジェストデータを生成する。生成した暗号化ダイジェストデータを署名データとして制御部607へ出力する。
(4)制御部607
コンテンツ再生装置100の備える暗号方式が解読された場合、制御部607は、入力部613を介して、解読された暗号方式を示す方式識別子と、解読された暗号方式に代わる新たな暗号方式に関する情報の配布指示の入力を受け取る。解読された暗号方式を示す方式識別子と、新たな暗号方式に係る情報の配布指示を受けると、受け取った方式識別子を、一時的に記憶する。次に、受け取った方式識別子の示す暗号方式が解読されたこと警告する警告通知を、送受信部601を介して、コンテンツ再生装置100に送信する。
次に、制御部607は、コンテンツ再生装置100から、暗号方式の導入の要求を示す導入要求を受信する。また、操作者による、暗号回路ファイルなどの暗号化に用いる暗号方式を示す方式識別子、署名生成に用いる暗号方式を示す方式識別子の入力を受け付ける。
暗号化用の方式識別子及び署名生成用の方式識別子の入力を受け付けると、制御部607は、一時的に記憶した方式識別子を含む暗号方式情報を、無効暗号方式一覧621から読み出し、読み出した暗号方式情報に含まれるファイル名と対応する、暗号回路ファイルと鍵回路ファイルと検証鍵ファイルとを読み出す。
読み出した暗号回路ファイルと鍵回路ファイルと検証鍵ファイルと復号鍵情報と、制御部607は、入力された署名生成用の方式識別子を署名生成部603に出力し、署名生成を指示する。署名生成部603から、署名データを受け取ると、受け取った署名データ、暗号方式管理サーバ600自身を示すサーバ識別子「0001B」、入力された署名生成用の方式識別子を含む署名ファイルを生成する。
次に、制御部607は、入力された暗号化用の方式識別子と対応する暗号鍵と復号鍵情報とを、送信用鍵テーブル626から読み出す。読み出した暗号鍵を用いて、入力された暗号化用の方式識別子の示す暗号方式による暗号化アルゴリズムを、読み出した暗号回路ファイルと鍵回路ファイルと検証鍵ファイルとに施して、暗号化暗号回路ファイルと暗号化鍵回路ファイルと暗号化検証鍵ファイルとを生成する。
次に、制御部607は、送受信部601を介して、コンテンツ再生装置100へ、暗号化暗号回路ファイル、暗号化鍵回路ファイル、暗号化検証鍵ファイル、復号鍵情報と署名ファイル、暗号化暗号回路ファイルなどの生成に用いた暗号方式を示す方式識別子を送信する。
図7は、ここで制御部607が、送信する情報群の一例を示している。これは、DES暗号方式が解読された場合に、送信する情報群である。暗号方式管理サーバ600の操作者は、この場合、まず、方式識別子「IDA」と暗号方式導入の指示を入力し、続いて、暗号化用の暗号方式を示す方式識別子「IDB」、署名生成用の暗号方式を示す方式識別子「IDB」を入力する。
図7に示すように、この場合、制御部607は、暗号化暗号回路ファイル681「EncB(C,KencB)」、暗号化鍵回路ファイル682「EncB(KC,KencB)」、暗号化検証鍵ファイル683「EncB(VeriC,KencB)」、方式識別子684「IDB」、復号鍵情報685「KinfB」及び署名ファイル686を送信する。
暗号化暗号回路ファイル681「EncB(C,KencB)」、暗号化鍵回路ファイル682「EncB(KC,KencB)」、暗号化検証鍵ファイル683「EncB(VeriC,KencB)」は、それぞれ、暗号回路ファイル631「C」、鍵回路ファイル651「KC」、検証鍵ファイル671「VeriC」に、暗号鍵「KencB」を用いて、RSA暗号方式に従う暗号化アルゴリズムを施して生成されたものである。
方式識別子684は、操作者によって入力された暗号化用の方式識別子「IDB」であって、暗号化暗号回路ファイル681等の生成に用いられたRSA暗号方式を示す。復号鍵情報685「KinfB」は、暗号化暗号回路ファイル681などに用いられたRSA暗号方式と対応する送信用鍵情報626から読み出されたものである。
署名ファイル686は、方式識別子687「IDB」、サーバID688「001B」及び署名データ689を含んでいる。方式識別子687「IDB」は、操作者によって入力された方式識別子「IDB」であって、署名データ689の生成に用いられたRSA暗号方式を示す。
署名データ689は、暗号回路ファイル631「C」、鍵回路ファイル651「KC」、検証鍵ファイル671「VeriC」及び復号鍵情報「KinfB」を結合した結合物をハッシュ関数に代入して生成されたダイジェストデータに、暗号方式管理サーバ600に固有の署名鍵「Ksig_Bb」を用いて、RSA暗号方式に従う暗号アルゴリズムを施して生成されたものである。
なお、ここでは、コンテンツ再生装置100が2つの暗号方式を備えており、その一方が解読された場合を前提としているので、各ファイルの暗号化にも署名生成にも同一の暗号方式を用いているが、コンテンツ再生装置100が、多数の暗号方式を備えている場合は、暗号化と署名生成に、異なる暗号方式を用いてもよい。
(5)入力部613及び表示部612
入力部613は、各種のキーを備え、操作者による各種の指示及び情報の入力を受け付け、受け付けた情報及び指示を制御部607へ出力する。
表示部612は、インジケータランプ、ディスプレイを備え、制御部607の制御に従って、各種の画面の表示、ランプの点灯などを行う。
1.4 コンテンツ再生装置100
コンテンツ再生装置100は、製造時において、DES暗号方式とRSA暗号方式とを備えており、DES暗号方式により暗号化されたコンテンツ及びRSA暗号方式を用いて生成された署名データを取得し、取得した署名データを検証する。検証が成功すれば、取得した暗号化コンテンツを復号して再生する。また、DES暗号方式によって暗号化されたコンテンツを、メモリカード500に書き込む。
DES暗号方式が解読されると、コンテンツ再生装置100は、DES暗号方式に代わるAES暗号方式を導入する。AES暗号方式導入後に、DES暗号方式によって暗号化されたコンテンツを取得した場合、暗号化コンテンツを復号して再生することはできるが、メモリカード500に出力することはできない。
逆に、RSA暗号方式が解読されると、コンテンツ再生装置100は、RSA暗号方式に代わる楕円曲線暗号方式を導入する。楕円曲線暗号方式を導入した後に、RSA暗号方式を用いて生成された署名データと共に暗号化コンテンツを取得した場合、この暗号化コンテンツの再生をすることはできるが、メモリカード500に出力することはできない。
図8は、コンテンツ再生装置100の機能的構成を示すブロック図である。図8に示すように、コンテンツ再生装置100は、コンテンツ取得部101、マスタ個別鍵格納部102、デバイス鍵格納部103、入出力部104、プログラム取得部106、主記憶部107、可変回路108、再生処理部109、正当性チェック部112、選択部113、選択部114、制御部116、暗号回路記憶部117、組合せチェック部118、鍵回路記憶部119及び入力部121から構成される。
コンテンツ再生装置100は、具体的には、マイクロプロセッサ、RAM、ROMを含んで構成されるコンピュータシステムであって、前記RAM、ROMにはコンピュータプログラムが記憶されている。マイクロプロセッサが前記コンピュータプログラムに従って動作することによって、コンテンツ再生装置100は、その機能の一部を達成する。
以下に、各構成要素について説明する。
(1)マスタ個別鍵格納部102
マスタ個別鍵格納部102は、ROMから構成される。マスタ個別鍵格納部102は、耐タンパー性を有し、外部機器によるアクセスを受け付けない。
マスタ個別鍵格納部102は、図9(a)に示すように、マスタ個別鍵126及び共通秘密鍵127を記憶している。マスタ個別鍵126及び共通秘密鍵127は、当該コンテンツ再生装置100の製造時に記録されたものである。
マスタ個別鍵126は、1024ビット長のデータであって、コンテンツ再生装置100に固有である。共通秘密鍵127は、1024ビット長のデータであって、コンテンツサーバ700により配布されるコンテンツを再生することができる正当な再生機器に共通のデータである。
(2)デバイス鍵格納部103
デバイス鍵格納部103は、フラッシュメモリなどの書込及び消去可能な記録素子から構成され、一例として、図9(b)に示すようにデバイス鍵128「DevA」を記憶している。
デバイス鍵128「DevA」は、コンテンツ再生装置100に固有の鍵データである。デバイス鍵128「DevA」は、DES暗号方式と対応する56ビット長の鍵データであって、鍵生成回路プログラム143に従って、可変回路108内に構築された鍵生成回路によって生成されたものである。
(3)主記憶部107
主記憶部107は、制御部116、正当性チェック部112及び可変回路108により、アクセスされる。
図10は、主記憶部107の記憶している情報の一例を示している。図10に示すように、主記憶部107は、可変回路情報161及び利用可能暗号方式表166を記憶している。
可変回路情報161は、可変回路108の現在の状態を示す情報であって、動作可能方式識別子162と動作フラグ163と鍵識別子164とを含んでいる。
動作可能方式識別子162は、現在、可変回路108内に構築されている回路と対応する暗号方式を示す方式識別子である。動作フラグ163は、可変回路108内に構築されている回路が、暗号処理回路、復号処理回路及び鍵生成回路の何れであるかを示すフラグであって、「0」は、暗号処理回路、「1」は、復号処理回路、「2」は、鍵生成回路を示す。鍵識別子164は、デバイス鍵格納部103が現在記憶しているデバイス鍵と対応する暗号方式を示す。
一例として、図10では、可変回路情報161は、動作可能方式識別子162「IDA」、動作フラグ163「1」及び鍵識別子164「IDA」を含んでいる。これは、可変回路108上に、方式識別子「IDA」の示すDES暗号方式による暗号化処理を行う暗号処理回路が構築されていることを示しており、デバイス鍵格納部103は、DES暗号方式に適した56ビット長のデバイス鍵「DevA」を格納していることを示す。以下、具体的な説明は省略するが、制御部116及び正当性チェック部112は、選択部113及び114に対して、可変回路108にプログラムの出力を指示するたびに、動作可能方式識別子162及び動作フラグ163が、現在の可変回路108の状態を示すように、動作可能方式識別子162及び動作フラグ163を書き換える。また、制御部116は、可変回路108内に構築された鍵生成回路に、デバイス鍵の生成を指示するたびに、鍵識別子164が鍵生成回路によって生成されるデバイス鍵と対応するように、鍵識別子164を書き換える。
利用可能暗号方式表166は、コンテンツ再生装置100の備える暗号方式を示す表であって、図11(a)にその詳細を示す。図11(a)に示すように、利用可能暗号方式表166は、複数の利用可能情報171、172から構成される。各利用可能情報は、方式識別子と利用フラグとを含む。
方式識別子は、コンテンツ再生装置100が備える暗号方式を示す。利用フラグは、方式識別子の示す暗号方式に従う暗号化及び復号の処理が可能か否かを示している。利用フラグ「1」は、暗号化及び復号化の処理を行うことができることを示している。利用フラグ「0」は、復号の処理を行うことはできるが暗号化の処理を行うことはできないことを示す。
図11(a)は、コンテンツ再生装置100の製造時における、利用可能暗号方式表166である。
利用可能情報171は、方式識別子「IDA」及び利用フラグ「1」を含んでおり、これは、コンテンツ再生装置100が、方式識別子「IDA」の示すDES暗号方式による暗号化処理及び復号処理を行うことができることを示している。
利用可能情報172は、方式識別子「IDB」、利用フラグ「1」を含んでおり、これは、コンテンツ再生装置100が、方式識別子「IDB」の示すRSA暗号方式による暗号化処理及び復号処理を行うことができることを示している。
図11(b)は、DES暗号方式が解読され、DES暗号方式に代わるAES暗号方式が導入された後の利用可能暗号方式表166bを示す。利用可能暗号方式表166bは、利用可能暗号方式表166の利用可能情報171に代えて利用可能情報171bを含み、さらに、新たに導入されたAES暗号方式と対応する利用可能情報173を含んでいる。
利用可能情報171bは、方式識別子「IDA」及び利用フラグ「0」を含んでおり、これは、コンテンツ再生装置100が、方式識別子「IDA」の示すDES暗号方式による復号処理を行うことができるが、暗号化処理はできないことを示している。
利用可能情報173は、方式識別子「IDC」及び利用フラグ「1」を含んでおり、これは、コンテンツ再生装置100が、方式識別子「IDC」の示すAES暗号方式による暗号化処理及び復号処理を行うことができることを示している。
また、主記憶部107は、制御部116、正当性チェック部112及び可変回路108による各種の処理中に、各種の情報を一時的に記憶する。
(4)暗号回路記憶部117
暗号回路記憶部117は、フラッシュメモリなど、書き込み及び消去可能な不揮発性メモリから構成される。図12は、暗号回路記憶部117の記憶している情報の一例を示している。図12(a)は、コンテンツ再生装置100の製造当初の暗号回路記憶部117を示しており、図12(b)は、DES暗号方式が解読され、DES暗号方式に代わるAES暗号方式を導入した後の暗号回路記憶部117を示している。図12(a)と(b)とで、同一の情報には同一の参照符号を付している。
図12(a)に示すように、暗号回路記憶部117は、暗号回路ファイル131「A」及び暗号回路ファイル136「B」を記憶している。各暗号ファイルは、それぞれ、DES暗号方式及びRSA暗号方式と対応している。また、各暗号回路ファイルは、鍵回路記憶部119に記憶されている鍵回路ファイルと対応する。
各暗号回路ファイルは、図5を用いて説明した暗号回路ファイル631「C」と同様に、対応する暗号方式を示す方式識別子、対応する暗号方式による暗号化の処理を行う暗号処理回路構成を示す暗号回路プログラム、及び、対応する暗号方式による復号処理を行う復号処理回路の構成を示す復号回路プログラムを含んでいる。
具体的には、暗号回路ファイル131「A」は、DES暗号方式を示す方式識別子132「IDA」、DES暗号方式に従う暗号処理回路の構成を示す暗号回路プログラム133「EncA」、DES暗号方式に従う復号処理回路の構成を示す復号回路プログラム134「DecA」を含む。
暗号回路ファイル136「B」は、RSA暗号方式を示す方式識別子137「IDB」とRSA暗号方式に従う暗号処理回路の構成を示す暗号回路プログラム138「EncB」、RSA暗号方式に従う復号処理回路の構成を示す復号回路プログラム139「DecB」を含む。
図12(b)に示すように、AES暗号方式を導入した後の暗号回路記憶部117は、暗号回路ファイル131b、136、181を記憶している。
暗号回路ファイル131b「A」は、暗号回路ファイル131「A」から、暗号回路プログラム133「EncA」を削除したものである。
暗号回路ファイル181「C」は、AES暗号方式と対応しており、暗号方式管理サーバ600の記憶している暗号回路ファイル631「C」と同一である。
(5)鍵回路記憶部119
鍵回路記憶部119は、フラッシュメモリなど、書き込み及び消去可能な不揮発性メモリから構成される。図13は、鍵回路記憶部119の記憶している情報の一例を示している。図13(a)は、コンテンツ再生装置100の製造当初の鍵回路記憶部119を示しており、図13(b)は、DES暗号方式が解読され、DES暗号方式に代わるAES暗号方式を導入した後の鍵回路記憶部119を示している。図13(a)と(b)とで、同一の情報には同一の参照符号を付している。
図13(a)に示すように、鍵回路記憶部119は、鍵回路ファイル141「KA」及び鍵回路ファイル146「KB」を記憶している。各鍵回路ファイルは、それぞれ、DES暗号方式及びRSA暗号方式と対応している。各鍵回路ファイルは、対応する暗号方式を示す方式識別子と、対応する暗号方式に適したデバイス鍵を生成する鍵生成回路の構成を示す鍵生成回路プログラムを含む。
具体的には、鍵回路ファイル141「KA」は、DES暗号方式を示す方式識別子142「IDA」と、DES暗号方式に適する56ビット長のデバイス鍵を生成する鍵生成回路の構成を示す鍵生成回路プログラム143「KgenA」とを含む。
鍵回路ファイル146「KB」は、RSA暗号方式を示す方式識別子147「IDB」と、RSA暗号方式に適する128ビット長のデバイス鍵を生成する鍵生成回路の構成を示す鍵生成回路プログラム148「KgenB」とを含む。
図13(b)に示すように、AES暗号方式を導入した後、鍵回路記憶部119は、鍵回路ファイル141、146及び186を記憶している。鍵回路ファイル186「KC」は、AES暗号方式と対応しており、暗号方式管理サーバ600の記憶している鍵回路ファイル651と同一である。
(6)選択部113及び114
選択部113は、制御部116又は正当性チェック部112の指示に従って、暗号回路記憶部117に記憶されている暗号回路ファイルから、方式識別子と暗号回路プログラム又は方式識別子と復号回路プログラムとを読み出し一時的に記憶する。
次に、制御部116又は正当性チェック部112から、読み出したプログラムの出力を指示される。指示を受けると、読み出した暗号回路プログラム又は復号回路プログラムを可変回路108内の構築機構123及びコンフィグROM124(詳細後述)に出力する。
選択部114は、制御部116の指示に従って、鍵回路記憶部119に記憶されている暗号回路ファイルから、方式識別子と鍵生成回路プログラムとを読み出し、一時的に記憶する。
次に、選択部114は、制御部116から、読み出したプログラムの出力を指示される。出力を指示されると、読み出した鍵生成回路プログラムを、可変回路108内の構築機構123及びコンフィグROM124を出力する。
(7)組合せチェック部118
組合せチェック部118は、制御部116から、選択部113の読み出した暗号回路プログラム又は復号回路プログラムと、選択部114の読み出した鍵生成回路プログラムとが対応していることの確認を指示する対応確認指示を受ける。対応確認指示を受けると、組合せチェック部118は、選択部113の保持している方式識別子と、選択部114の保持している方式識別子とを比較する。両者が一致する場合は、選択部113の読み出したプログラムと選択部114の読み出したプログラムとが対応していることを示すOK信号を、制御部116へ出力する。
両者が一致しない場合、選択部113の読み出したプログラムと選択部114の読み出したプログラムとが対応していないことを示すNG信号を制御部116へ出力する。
(8)可変回路108
可変回路108は、耐タンパー性を有するハードウェアであって、外部から可変回路内108内のデータ等を読み取ろうとすると、前記データが消失する。なお、耐タンパー性を実現する方法は任意であって、この方法に限定されるものではない。
可変回路108は、FPGA122とコンフィグROM124と構築機構123とから構成される。コンフィグROM124は、EEPROMから構成されており、暗号回路記憶部117及び鍵回路記憶部119に記憶されているプログラムのうちの何れかひとつを記憶している。
FPGA122は、複数のCLB(Configuration Logic Block)とこれらの間を結線する結線リソースから構成される。
構築機構123は、コンテンツ再生装置100に電源がONになると、コンフィグROM124に記憶されているプログラムに従って、FPGA122をコンフィギュレーションする。また、選択部113及び114から出力される鍵回路生成プログラム、暗号回路プログラム及び復号回路プログラムに従って、FPGA122上に、鍵生成回路、暗号処理回路及び復号処理回路を構築する。具体的には、FPGA122を構成する複数のCLB(Configuration Logic Block)上に任意の論理関数回路を生成し、各CLB間に存在する結線リソースによって、論理回路間を結線することにより、上述した鍵生成回路、暗号処理回路又は復号処理回路を構築する。
構築された鍵生成回路、暗号処理回路又は復号処理回路は、制御部116及び正当性チェック部112の指示に従って、暗号化、復号、鍵生成を行う。以下に、可変回路による暗号化、復号、鍵生成について説明する。
(8−a)鍵生成
図14は、可変回路108内に構築された鍵生成回路151を機能的に示している。鍵生成回路151は、制御部116からデバイス鍵の生成を指示される。デバイス鍵の生成を指示されると、マスタ個別鍵格納部102からマスタ個別鍵126と共通秘密鍵127とを読み出し、読み出したマスタ個別鍵126と共通秘密鍵127とを基にデバイス鍵128を生成する。
鍵生成回路151が、鍵生成回路プログラム「KgenA」に従って構築された場合、鍵生成回路151は、DES暗号方式に適した56ビット長のデバイス鍵「DevA」を生成する。
また、鍵生成回路151が、鍵生成回路プログラム「KgenB」に従って構築された場合、鍵生成回路151は、RSA暗号方式に適した128ビット長のデバイス鍵「DevB」を生成する。
また、鍵生成回路151が、鍵生成回路プログラム「KgenC」に従って構築された場合、鍵生成回路151は、AES暗号方式に適した128ビット長のデバイス鍵「DevC」を生成する。
図15は、鍵生成回路プログラム「KgenA」に従って構築された鍵生成回路151によるデバイス鍵の生成処理の一例を示すフローチャートである。以下に、鍵生成回路151による鍵生成処理について、図15を用いて説明する。
制御部116から、デバイス鍵の生成を指示されると、鍵生成回路151は、マスタ個別鍵格納部102から、マスタ個別鍵126を読み出す(ステップS101)。読み出したマスタ個別鍵の先頭から151ビット目〜156ビット目までを抽出する(ステップS102)。抽出したビット列を第1抽出部分と呼ぶ。
次に、鍵生成回路151は、マスタ個別鍵格納部102から、共通秘密鍵127を読み出す(ステップS103)。共通秘密鍵127の末尾の56ビット(以下第2抽出部分と呼ぶ)を抽出し(ステップS106)、第2抽出部分を暗号鍵として、第1抽出部分にDES暗号方式による暗号化アルゴリズムを施して暗号文を生成する(ステップS107)。生成した暗号文をデバイス鍵「DevA」として、デバイス鍵格納部103に書き込む(ステップS108)。
以上、説明した鍵生成方法は、一例であって、DES暗号方式に適した56ビット長のデバイス鍵が生成できる方法であればよい。
また、他の鍵生成回路プログラムによって構築された鍵生成回路が、デバイス鍵を生成する方法も任意であって、対応する暗号方式に適した鍵長のデバイス鍵が生成できる方法であればよい。ただし、第三者に鍵生成により、鍵生成の手順を推測されにくい方法の方が望ましい。
(8−b)暗号化
図16は、可変回路108上に構築される暗号処理回路152の機能的構成を示している。暗号処理回路152は、鍵処理部153と暗号化部154とを含む。
鍵処理部153は、制御部116からカード鍵情報を受け取る。カード鍵情報は、当該コンテンツ再生装置100に装着されているメモリカード(後述する)の保持しているものであって、メディアキーブロック、カードIDを含む。
鍵処理部153は、カード鍵情報を受け取ると、デバイス鍵格納部103から、デバイス鍵128を読み出し、読み出したデバイス鍵128を基に、カード情報に含まれるメディアキーブロックからメモリカードに固有のカード固有鍵を生成する。生成したカード固有鍵を、暗号化部154へ出力する。メモリカードが備えている暗号方式が、DES暗号方式などの共通鍵暗号方式であれば、ここで生成されるカード固有鍵は、メモリカード自身の記憶しているカード固有鍵と同一であるし、公開鍵暗号方式の場合は、メモリカード自身の記憶しているカード固有鍵と対応する鍵である。
暗号化部154は、鍵処理部153からカード暗号鍵を受け取る。また、制御部116からコンテンツ鍵を受け取り、暗号化を指示される。
コンテンツ鍵の暗号化を指示されると、暗号化部154は、受け取ったカード固有鍵を用いて、コンテンツ鍵を暗号化して暗号化コンテンツを生成し、生成した暗号化コンテンツ鍵を入出力部104へ出力する。
暗号化回路152が、暗号回路プログラム「EncA」に従って構築された場合、鍵処理部153は、56ビット長のカード固有鍵を生成し、暗号化部154は、DES暗号方式に従う暗号化アルゴリズムを施して暗号化コンテンツ鍵を生成する。
暗号処理回路152が、暗号回路プログラム「EncB」に従って構築された場合、鍵処理部153は、128ビット長のカード固有鍵を生成し、暗号化部154は、RSA暗号方式に従う暗号化アルゴリズムを施して暗号化コンテンツ鍵を生成する。
暗号処理回路152が、暗号回路プログラム「EncC」に従って構築された場合、鍵処理部153は、128ビット長のカード固有鍵を生成し、暗号化部154は、AES暗号方式による暗号化アルゴリズムを施して、暗号化コンテンツ鍵を生成する。
(8−c)復号
図17は、可変回路108内に構築された復号処理回路156を機能的に示している。復号処理回路156は、鍵処理部157と復号部158とを含む。
鍵処理部157は、制御部116からコンテンツ鍵情報とコンテンツ鍵の抽出の指示を受け取る。また、復号鍵情報と復号鍵の抽出の指示とを受け取る。
コンテンツ鍵若しくは復号鍵の抽出の指示を受けると、鍵処理部157は、デバイス鍵格納部103からデバイス鍵を読み出し、読み出したデバイス鍵を基に、コンテンツ鍵情報又は復号鍵情報から、コンテンツ鍵又は復号鍵を抽出する。抽出したコンテンツ鍵又は復号鍵を復号部158及び主記憶部107へ出力する。
復号部158は、制御部116又は正当性チェック部から暗号文と暗号文の復号指示とを受け取り、受け取った暗号文に復号アルゴリズムを施して復号文を生成し、生成した復号文を出力する。
具体的に復号部158が制御部116から受け取る暗号文は、暗号化コンテンツ、暗号化暗号回路ファイル、暗号化鍵回路ファイル及び暗号化検証鍵ファイルである。
暗号化コンテンツを受け取った場合、復号部158は、鍵処理部157からコンテンツ鍵を取得し、取得したコンテンツ鍵を用いて、暗号化コンテンツを復号し、コンテンツを生成する。制御部116の指示により、生成したコンテンツを再生処理部109へ出力する。
暗号化暗号回路ファイル、暗号化鍵回路ファイル及び暗号化検証鍵ファイルを受け取った場合(図17中では、これら3つのファイルを総称して暗号化ファイルと記載している)、復号部158は、鍵処理部157から復号鍵を取得し、取得した復号鍵を用いて、暗号化暗号回路ファイル、暗号化鍵回路ファイル及び暗号化検証鍵ファイルを復号して暗号回路ファイル、鍵回路ファイル及び検証鍵ファイルを生成し、生成した暗号回路ファイル、鍵回路ファイル及び検証鍵ファイル(図17中では、これら3つを総称してファイルと記載している)を主記憶部107に書き込む。
また、具体的に、復号部158が正当性チェック部112から受け取る暗号文は、DVD400a又は400bから読み出された署名データ、若しくは、暗号化プログラムと共に暗号方式管理サーバ600から受信した署名データである。この場合、復号部158は、正当性チェック部112から、署名データと共に検証鍵を取得する。署名データと検証鍵とを受け取ると、取得した検証鍵を用いて、署名データに復号アルゴリズムを施して、復号ダイジェストデータを生成する。生成した復号ダイジェストデータを主記憶部107へ出力する。
復号部158が復号回路プログラム「DecA」に従って構築された場合、復号部158は、署名データに、DES暗号方式による復号アルゴリズムを施して復号ダイジェストデータを生成する。
また、復号部158が復号回路プログラム「DecB」に従って構築された場合、復号部158は、署名データに、RSA暗号方式による復号アルゴリズムを施して復号ダイジェストデータを生成する。
また、復号部158が復号回路プログラム「DecC」に従って構築された場合、復号部158は、署名データに、AES暗号方式による復号アルゴリズムを施して復号ダイジェストデータを生成する。
(8)コンテンツ取得部101
コンテンツ取得部101は、DVDを装着可能であって、制御部116の制御に従って、DVDに記憶されている情報を読み出し、読み出した情報を可変回路108又は主記憶部107に出力する。
また、コンテンツ取得部101は、DVDに記録されている情報と同様の情報を、インターネット20に接続されたコンテンツサーバ700から、受信することもできる。
(9)プログラム取得部106
プログラム取得部106は、制御部116の制御に従って、インターネット20を介して接続された暗号方式管理サーバ600との間で、情報及び指示の送受信を行う。
(10)正当性チェック部112
正当性チェック部112は、図18に示すチェック情報表201を保持している。チェック情報表201は、複数のチェック情報から構成され、各チェック情報は、コンテンツ再生装置100の備える暗号方式と対応しており、方式識別子、サーバID、検証鍵を含む。
検証鍵は、方式識別子の示す暗号方式に適したビット長の鍵であって、サーバIDの示す機器に固有の署名鍵と対応している。例えば、チェック情報203は、方式識別子「IDB」、サーバID「001B」及び検証鍵「Kve_Bb」を含んでいる。検証鍵「Kve_Bb」は、方式識別子「IDB」の示すRSA暗号方式に対応する128ビット長の鍵であって、サーバID「001B」の示す暗号方式管理サーバ600に固有の署名鍵「Ksig_Bb」と対応している。
正当性チェック部112は、制御部116から、DVD400a又は400bから読み出されたコンテンツファイルとコンテンツ鍵情報と署名ファイルとを受け取り署名検証を指示される。
また、正当性チェック部112は、暗号方式の導入(詳細は後述する)の途中において、制御部116から暗号回路ファイル「C」、鍵回路ファイル「KC」、検証鍵ファイル「VeriC」、復号鍵情報「KinfB」及び一例として図7に示す構成の署名ファイルを受け取り、署名検証を指示される。
(10−a)コンテンツファイルの正当性チェック
コンテンツファイルとコンテンツ鍵情報と署名ファイルとを受け取り署名検証を指示されると、正当性チェック部112は、受け取った署名ファイルに含まれる方式識別子を抽出する。
次に、正当性チェック部112は、チェック情報表201において、抽出した方式識別子と同一の方式識別子を含むチェック情報を検索する。該当するチェック情報が検出できなかった場合、署名検証失敗を示す検証失敗通知を制御部116へ出力する。
該当するチェック情報を検出すると、正当性チェック部112は、次に、選択部113に抽出した方式識別子を出力して復号回路プログラムの読み出し及び出力を指示する。
復号処理回路156が構築されると、正当性チェック部112は、検出したチェック情報に含まれる検証鍵を読み出し、署名ファイルに含まれる署名データと読み出した検証鍵を可変回路108に構築された復号処理回路156内の復号部158へ出力し、復号を指示する。
続いて、復号部158により復号ダイジェストデータが生成されると、正当性チェック部112は、制御部116から受け取ったコンテンツファイルとコンテンツ鍵情報を結合した結合物を、ハッシュ関数に代入してダイジェストデータを生成する。生成したダイジェストデータと、復号ダイジェストデータとを比較し、両者が一致すれば、署名検証が成功であることを示す検証成功通知を制御部116へ出力する。
両者が一致しない場合、正当性チェック部112は、署名検証が失敗であることを示す検証失敗通知を、制御部116へ出力する。
(10−b)暗号方式導入用のファイルの正当性チェック
暗号回路ファイル、鍵回路ファイル、検証鍵ファイル、復号鍵情報及び署名ファイルを受け取った場合も、正当性チェック部112は、(10−a)の場合と同様の手順で、受け取った書名ファイルに含まれる署名データの検証を行う。この場合は、暗号回路ファイル、鍵回路ファイル、検証鍵ファイル、復号鍵情報を結合した結合物をハッシュ関数に代入して、ダイジェストデータを生成する。
署名検証が成功であった場合、正当性チェック部112は、さらに、制御部116から暗号回路ファイル、鍵回路ファイルの書き込みを指示される。書き込みの指示を受けると、正当性チェック部112は、暗号回路ファイル、鍵回路ファイルをそれぞれ、暗号回路記憶部117及び鍵回路記憶部119へ書き込む。
続いて、正当性チェック部112は、制御部116からチェック情報表201の更新を指示される。チェック情報表201の更新を指示されると、正当性チェック部112は、検証鍵ファイルを基に、新たなチェック情報を生成し、生成したチェック情報を、チェック情報表201に追加する。
(11)制御部116
図8において、具体的な配線は、省略しているが、制御部116は、コンテンツ再生装置100を構成する各構成要素と接続されており、それぞれの動作を制御する。
制御部116は、プログラム取得部106を介して、暗号方式管理サーバ600から、暗号方式が解読されたことを通知する警告通知を受信すると、解読された暗号方式に代わる新たな暗号方式の導入を行う。
また、制御部116は、コンテンツ取得部101を介して、DVD400a又は400bの装着を検出する。DVD400a又は400bの装着を検出すると、装着されたDVDに記録されている暗号化コンテンツを再生可能か否かの検証を行う。
また、制御部116は、入力部121から、利用者による各種の操作を示す操作指示情報を受け取り、受け取った操作指示情報に応じて、コンテンツの再生、コンテンツのメモリカードへのコピーを行う。
以下に、上記の暗号方式の導入、再生可能か否かの検証、コンテンツの再生及びコンテンツのメモリカードへのコピーについて説明する。
以下の説明では、DVD400aが装着された場合について記載するが、DVD400bが装着された場合も同様の処理を行う。
(暗号方式の導入)
暗号方式管理サーバ600から受信する警告通知には、解読された暗号方式を示す方式識別子が含まれている。ここで、DES暗号方式を示す方式識別子「IDA」が含まれている場合を例に説明するが、他の方式識別子が含まれている場合も、同様の処理を行う。
制御部116は、利用可能暗号方式表166において、方式識別子「IDA」を含む利用可能情報171を検出する。利用可能情報に含まれる利用フラグを読み出し、読み出した利用フラグが「0」であれば、既に、DES暗号方式に代替する暗号方式の導入が終了しているので、以降の処理を中止する。
読み出した利用フラグが「1」の場合、制御部116は、プログラム取得部106を介して、暗号方式の導入を要求する導入要求を、暗号方式管理サーバ600へ送信する。
次に、制御部116は、プログラム取得部106を介して、図7に示す暗号化暗号回路ファイル681、暗号化鍵回路ファイル682暗号化検証鍵ファイル683、方式識別子684、復号鍵情報685及び署名ファイル686を受信する。これらを受信すると、選択部113に方式識別子684の示すRSA暗号方式に対応する復号回路プログラムの読み出しを指示し、方式識別子684の示すRSA暗号方式に対応する鍵生成回路プログラムの読み出しを指示し、組合せチェック部118に双方の読み出したプログラムの対応確認指示を出力する。
組合せチェック部118からOK信号を受け取ると、制御部116は、選択部114に読み出した鍵生成回路プログラムの出力を指示する。次に、可変回路108内に構築された鍵生成回路151にデバイス鍵の生成を指示する。
鍵生成回路151によりデバイス鍵「DevB」が生成されると、制御部116は、次に、選択部113に読み出した復号回路プログラムの出力を指示する。
なお、主記憶部107に記憶されている可変回路情報161が、現在、デバイス鍵格納部103に記憶されているデバイス鍵がRSA暗号方式と対応しており、現在、可変回路108内に、RSA暗号方式に従う復号処理回路が構築されていることを示していれば、上記のプログラムの読み出しの指示、デバイス鍵の生成及び、復号処理回路の構築は省略する。
次に、制御部116は、復号処理回路156内の鍵処理部157へ、復号鍵情報685を出力する。また、復号部158へ暗号化暗号回路ファイル681「EncB(C,KencB)」、暗号化鍵回路ファイル682「EncB(KC,KencB)」、暗号化検証鍵ファイル683「EncB(VeriC,KencB)」を出力し復号を指示する。
復号が終了し、主記憶部107へ、暗号回路ファイル「C」、鍵回路ファイル「KC」、検証鍵ファイル「VeriC」が書き込まれると、制御部116は、暗号回路ファイル「C」、鍵回路ファイル「KC」、検証鍵ファイル「VeriC」受信した復号鍵情報685及び署名ファイルを正当性チェック部112へ出力し署名検証を指示する。
署名検証が成功であれば、制御部116は、正当性チェック部112へ、暗号回路ファイル「C」、鍵回路ファイル「KC」の書き込みを指示する。署名検証が失敗であれば、プログラム取得部106を介して、再度、導入要求を暗号方式管理サーバ600へ送信する。
次に、制御部116は、正当性チェック部112へ、チェック情報表の201の更新を指示する。次に、暗号回路ファイル「C」に含まれる方式識別子「IDC」と利用フラグ「1」とを含む利用可能情報を生成し、生成した利用可能情報を利用可能暗号方式表166に追加する。
次に、制御部116は、暗号回路記憶部117において、方式識別子「IDA」を含む暗号回路ファイル131を検出し、検出した暗号回路ファイル131から暗号回路プログラム133を削除する。続いて、制御部116は、主記憶部107の記憶している利用可能暗号方式表166において、方式識別子「IDA」を含む利用可能情報171を選択し、選択した利用可能情報171に含まれる利用フラグを「0」に書き換える。
(再生可能か否かの検証)
コンテンツ取得部101を介して、DVD400aの装着を検出すると、制御部116は、コンテンツ取得部101を介して、装着されているDVD400aから、コンテンツファイル401、コンテンツ鍵情報404、署名ファイル411とを読み出す。次に、コンテンツファイル401に含まれる方式識別子402「IDA」を抽出し、主記憶部107の記憶している利用可能暗号方式表166内で、抽出した方式識別子と一致する方式識別子を含む利用可能情報検索する。このとき、該当する利用可能情報が検出できなければ、再生できないと判断する。
該当する利用可能情報171を検出すると、制御部116は、次に、正当性チェック部112に、読み出したコンテンツファイル401、コンテンツ鍵情報404及び署名ファイル411を出力し、署名ファイル411に含まれる署名データ414の検証を指示する。
正当性チェック部112による署名データ414の検証が成功であれば、制御部116は、コンテンツを再生可能であると判断する。署名データの検証が失敗であれば、制御部116は、コンテンツの再生ができないと判断する。
ここでは、DVD400aが装着された場合について、説明したが、DVD400bが装着された場合も同様の手順で検証を行う。従って、解読されたDES暗号方式に代わるAES暗号方式を導入するまでは、当該コンテンツ再生装置100は、DVD400bに記録されているコンテンツを再生できない。また、AES暗号方式を導入した後でも、DVD400aのコンテンツを再生することができる。
(コンテンツの再生)
上記の検証により、再生可能であると判断した後、再生を示す操作指示情報を入力部121から受け取ると、制御部116は、コンテンツファイル401に含まれる方式識別子402「IDA」を抽出する。次に、制御部116は、選択部113及び114、組合せチェック部118及び可変回路108を制御して、方式識別子402「IDA」と対応するデバイス鍵「DevA」を生成させ、復号処理回路156を構築させる。デバイス鍵の生成、及び、復号処理回路156の構築の制御については、上記の(暗号方式の導入)において、説明した手順と同一であるので、ここでは、説明を省略する。
次に、制御部116は、構築された復号処理回路156内の鍵処理部157に、読み出したコンテンツ鍵情報404を出力し、復号部158に暗号化コンテンツ403を出力して、暗号化コンテンツ403の復号を指示する。
復号部158により、コンテンツが生成されると、制御部116は、再生処理部109へコンテンツの再生を指示する。
(メモリカードへのコンテンツの出力)
上記の検証により、再生可能であると判断した後、コンテンツのコピーを示す操作指示情報を入力部121から受け取ると、制御部116は、コンテンツファイル401に含まれる方式識別子402「IDA」及び署名ファイル411に含まれる方式識別子413「IDB」を抽出する。次に、主記憶部107から利用可能暗号方式表166を読み出し、読み出した利用可能暗号方式表166内で、方式識別子「IDA」、方式識別子「IDB」を含む利用可能情報を、それぞれ検索する。
何れか一方でも検出できなければ、制御部116は、コピーできない旨を示すエラー画面を生成し、再生処理部109を介して、モニタ15にエラー画面を表示する。
該当する利用可能情報171、172が検出された場合、制御部116は、検出した利用可能情報171及び172それぞれに含まれる利用フラグを読み出す。読み出した利用フラグのうち、何れか一方でも「0」であれば、装着されているDVDに記録されているコンテンツをコピーすることができない旨を通知するエラー画面を生成して、モニタ15に表示する。
読み出した利用フラグのうち、両方ともが「1」であれば、制御部116は、コンテンツファイル401から方式識別子402「IDA」を抽出し、抽出した方式識別子「IDA」を、入出力部104を介して、メモリカード500へ出力し、出力した方式識別子「IDA」の示す暗号方式を備えているか否かを問い合わせる。
次に、制御部116は、入出力部104を介してメモリカード500から、応答信号を受け取る。受け取った応答信号が方式識別子「IDA」の示す暗号方式を備えていないことを示す「0」であれば、要求されたコピーはできない旨を通知するエラー画面を生成して、モニタ15に表示する。
受け取った応答信号が、方式識別子「IDA」の示す暗号方式を備えていることを示す「1」であれば、次に、制御部116は、選択部113及び114、組合せチェック部118、可変回路108を制御して、コンテンツファイル401から読み出した方式識別子「IDA」と対応するデバイス鍵「DevA」を生成させ、可変回路108上に、方式識別子「IDA」に従った復号処理を行う復号処理回路を構築させる。デバイス鍵の生成、及び、復号処理回路156の構築の制御については、上記の(暗号方式の導入)において、説明した手順と同一であるので、ここでは、説明を省略する。
次に、制御部116は、構築された復号処理回路156内の鍵処理部157に、読み出したコンテンツ鍵情報404を出力し、コンテンツ鍵の生成を指示する。
鍵処理部157によりコンテンツ鍵「KconA」が生成されると、次に、制御部116は、選択部113に、方式識別子402「IDA」と対応する暗号回路プログラムの読み出しと出力を指示する。
可変回路108内に暗号処理回路152が構築されると、制御部116は、入出力部104を介して、メモリカード500にカード鍵情報の出力を指示し、メモリカード500からカード鍵情報を取得する。
次に、制御部116は、取得したカード鍵情報を、暗号処理回路152内の鍵処理部153へ出力し、コンテンツ鍵「KconA」を暗号化部154へ出力してコンテンツ鍵「KconA」の暗号化を指示する。
暗号化部154により暗号化コンテンツ鍵「EncA(KconA,MkeyA)」が生成されると、制御部116は、コンテンツファイル401から暗号化コンテンツ403「EncA(ConA,KconA)」を抽出し、抽出した暗号化コンテンツ403「EncA(ConA,KconA)」と暗号化コンテンツ鍵「EncA(KconA,MkeyA)」とを、入出力部104を介して、メモリカード500に出力する。
(12)入出力部104
入出力部104は、メモリカード500を装着可能であって、制御部116の制御の下で、各種の情報の入出力を行う。
(13)入力部121及び再生処理部109
入力部121は、再生ボタン、選択ボタン、決定ボタンなど各種のボタンを備え、利用者による上記ボタンの操作を受け付け、受け付けた操作を示す操作指示情報を、制御部116へ出力する。
再生処理部109は、モニタ15と接続されており、制御部116の指示に従って、可変回路109から受け取ったコンテンツから、画面及び音声を生成して、モニタ15に出力する。
また、制御部116の指示により、エラー画面を初めとして各種の画面をモニタ15に表示させる。
1.5 メモリカード500
メモリカード500は、図19に示すように、入出力部502、制御部507、暗号部508、復号部509及び情報記憶部510から構成される。
以下に、各構成要素について説明する
(1)情報記憶部510
情報記憶部510は、フラッシュメモリを含んで構成され、その内部は、セキュア領域520と一般領域512とに分かれている。
セキュア領域520は、正当な機器以外の機器がアクセスすることができない領域であって、一例として、方式識別子521「IDA」、カード鍵情報522及びカード固有鍵523「MkeyA」を記憶している。
方式識別子521「IDA」は、当該メモリカード500の備える暗号方式を示しており、ここでは、DES暗号方式を示す。
カード鍵情報522は、既に述べたとおり、メディアキーブロック、メディアIDを含む。メディアIDは、メモリカード500に固有の識別子である。メディアキーブロックは、メモリカード500にアクセスを許可される正当な機器にのみ、カード固有鍵「MkeyA」を付与するデータである。なお、メモリカードが公開鍵暗号方式に対応している場合、正当な機器がカード鍵情報から生成するカード固有鍵と、メモリカード自身が記憶しているカード固有鍵とは同一ではない。
カード固有鍵523「MkeyA」は、メモリカード500に固有の鍵であって、ここでは、方式識別子521の示す暗号方式と対応する56ビット長の鍵である。
一般領域512は、外部機器が自由にアクセスできる領域であって、一例として、コンテンツファイル513を記憶している。コンテンツファイル513は、暗号化コンテンツ514「EncA(ConA,KconA)」と、暗号化コンテンツ鍵515「EncA(KconA,MkeyA)」とを含む。
暗号化コンテンツ514は、DVD400aに記録されている暗号化コンテンツ403と同一である。暗号化コンテンツ鍵515は、カード固有鍵「MkeyA」を用いて、コンテンツ鍵「KconA」に、DES暗号方式に従う暗号化アルゴリズムを施して、生成されたものである。
(2)入出力部502
入出力部502は、外部機器と接続可能なインタフェースを備え、外部機器と制御部507との間で各種の情報の授受を行う。
外部機器とは、コンテンツ再生装置100及びポータブルプレーヤー800である。
(3)暗号部508及び復号部509
暗号部508は、制御部507から暗号鍵と平文とを受け取り暗号化を指示される。暗号化を指示されると、暗号鍵を用いて、平文にDES暗号方式に基づく暗号化アルゴリズムを施して、暗号文を生成し、生成した暗号文を制御部507へ出力する。
復号部509は、制御部507から復号鍵と暗号文とを受け取り復号を指示される。復号を指示されると、復号鍵を用いて、暗号文にDES暗号方式に基づく復号アルゴリズムを施して、復号文を生成し、生成した復号文を制御部507へ出力する。
(4)制御部507
制御部507は、メモリカード500を構成する各構成要素を制御する。
(コンテンツファイルの書き込み)
メモリカード500がコンテンツ再生装置100に装着されている状態で、制御部507は、入出力部502を介して、コンテンツ再生装置100から、方式識別子を受け取り、受け取った方式識別子の示す暗号方式を備えているか否かの問い合わせを受ける。問合せを受けると、受信した方式識別子と、セキュア領域520に記憶されている方式識別子521とを比較し、一致すれば、受け取った方式識別子の示す暗号方式により暗号化された暗号文を復号可能であることを示す応答信号「1」を生成する。
両者が一致しなければ、制御部507は、受け取った方式識別子の示す暗号方式により暗号化された暗号文を復号できないこと示す応答信号「0」を生成する。
次に、制御部507は、生成した応答信号を、入出力部502を介して、コンテンツ再生装置100へ出力する。
次に、制御部507は、コンテンツ再生装置100からの要求に従って、カード鍵情報522を、コンテンツ再生装置100へ出力する。続いて、コンテンツ再生装置100から、暗号化コンテンツと暗号化コンテンツ鍵とを受け取り、受け取った暗号化コンテンツと暗号化コンテンツ鍵とを含むコンテンツファイルを生成し、生成したコンテンツファイルを一般領域に書き込む。
(コンテンツの再生)
メモリカード500が、ポータブルプレーヤー800に装着されている状態で、ポータブルプレーヤー800から、コンテンツの再生を要求されると、制御部507は、カード固有鍵523と暗号化コンテンツ鍵515を復号部509へ出力し、暗号化コンテンツ鍵515の復号を指示する。
復号部509からコンテンツ鍵を受け取ると、制御部507は、受け取ったコンテンツ鍵と暗号化コンテンツ514とを復号部509に出力し、復号を指示する。続いて、復号部509により生成されたコンテンツをポータブルプレーヤーに出力する。
1.6 ポータブルプレーヤー
ポータブルプレーヤーは、映像および音声からなるコンテンツの再生専用機器であって、メモリカード500に記録されているコンテンツを読み出し、再生する機器である。
1.7 情報セキュリティシステム1の動作
以下に、情報セキュリティシステム1を構成する各機器の動作について説明する。
(1)コンテンツ再生装置100の動作
図20は、コンテンツ再生装置100の電源投入後の動作の一部を示すフローチャートである。以下に、図20を用いて、コンテンツ再生装置100の動作について説明する。
電源がONになった後、プログラム取得部106を介して、暗号方式管理サーバ600から、コンテンツ再生装置100の備える暗号方式のうちのいずれかの暗号方式が解読されたことを示す警告通知を受信すると(ステップS121のYES)、コンテンツ再生装置100は、解読された暗号方式に代替する暗号方式の導入を行う(ステップS122)。
また、コンテンツ取得部101を介して、新たにDVDが装着されたことを検出すると(ステップS123のYES)、コンテンツ再生装置100は、装着されたDVDに記録されているコンテンツを、当該コンテンツ再生装置100が再生可能であるか否かを検証する(ステップS124)。
警告通知の受信も、DVDの装着も検出されない場合(ステップS121のNO、ステップS123のNO)、そのまま待機する。
ステップS124における検証の結果、再生可能であると判断された場合(ステップS126のYES)、利用者の操作に従って(ステップS128)、コンテンツの再生(ステップS131)、メモリカード500へのコンテンツの出力を行う(ステップS132)。
検証の結果、再生可能でないと判断される場合(ステップS126のNO)、モニタ15に、装着されているDVDに記録されているコンテンツの再生ができないことを通知するエラー画面を表示する(ステップS127)。
ステップS122、127、131及び132の処理が終了すると、ステップS121へ戻る。
(2)暗号方式の導入
以下に、図21〜図24は、解読された暗号方式に代替する暗号方式の導入に関する、コンテンツ再生装置100及び暗号方式管理サーバ600の動作を示すフローチャートである。これは、図20ステップS122の詳細である。
ここでは、一例として、コンテンツ再生装置100の備える暗号方式のうち、DES暗号方式が解読され、AES暗号方式を導入する場合について説明する。
暗号方式管理サーバ600の制御部607は、入力部613を介して、操作者による方式識別子「IDA」及び新たな暗号方式の配布指示の入力を受け付ける(ステップS141)。配布指示の入力を受け付けると、制御部607は、入力された方式識別子「IDA」を含む警告通知を生成し、送受信部601を介して、生成した警告通知を、コンテンツ再生装置100へ送信する(ステップS142)。また、入力部613を介して、暗号方式の導入に関する各種のファイルの暗号化用の暗号方式を示す方式識別子「IDB」と、署名データの生成用の暗号方式を示す方式識別子「IDB」の入力を受け付ける(ステップS143)。
コンテンツ再生装置100の制御部116は、プログラム取得部106を介して、暗号方式管理サーバ600から、警告通知を受信する。警告通知を受信すると、受信した警告通知に含まれる方式識別子「IDA」を基に、主記憶部107に記憶されている利用可能暗号方式表166から利用可能情報171を検出し、検出した利用可能情報171に含まれる利用フラグを読み出す(ステップS146)。読み出した利用フラグが「0」であれば(ステップS147のNO)、DES暗号方式に代替する暗号方式の導入は、既に終了しているので、暗号方式の導入処理を終了し、図20に戻る。
読み出した利用フラグが「1」であれば(ステップS147のYES)、制御部116は、DES暗号方式に代わる暗号方式の導入を要求する導入要求を、プログラム取得部106を介して、暗号方式管理サーバ600に送信する(ステップS148)。
暗号方式管理サーバ600の制御部607は、送受信部601を介して、コンテンツ再生装置100から、導入要求を受信する。導入要求を受信すると、無効暗号方式一覧621から、方式識別子「IDA」を含む暗号方式情報622を読み出す(ステップS151)。読み出した暗号方式情報622に含まれる暗号回路ファイル名「C」と鍵回路ファイル名「KC」と検証鍵ファイル名「VeriC」とを基に、情報記憶部610から、暗号回路ファイル631「C」と鍵回路ファイル651「KC」と検証鍵ファイル671「VeriC」とを読み出す(ステップS152)。
続いて、制御部607は、暗号化用の暗号方式を示す方式識別子「IDB」を基に、送信用鍵テーブル626から、方式識別子「IDB」を含む送信用鍵情報628を選択し、選択した送信用鍵情報628に含まれる暗号鍵「KencB」及び復号鍵情報「KinfB」を読み出す(ステップS153)。
制御部607は、署名生成用の暗号方式を示す方式識別子「IDB」と、読み出した暗号回路ファイル631「C」と鍵回路ファイル651「KC」と検証鍵ファイル671「VeriC」と復号鍵情報「KinfB」とを署名生成部603へ出力し、署名データの生成を指示する。
署名生成部603は、受け取った暗号回路ファイル631「C」と鍵回路ファイル651「KC」と検証鍵ファイル671「VeriC」と復号鍵情報「KinfB」とを結合してハッシュ関数に代入し、ダイジェストデータを生成する(ステップS156)。
署名鍵テーブル691から、受け取った方式識別子「IDB」を含む署名鍵情報693を選択し、選択した署名鍵情報693に含まれる署名鍵「Ksig_Bb」を読み出す(ステップS157)。読み出した署名鍵「Ksig_Bb」を用いて、生成したダイジェストデータに方式識別「IDB」の示すRSA暗号方式による暗号化アルゴリズムを施して、署名データを生成する(ステップS158)。生成した署名データを制御部607へ出力する。
制御部607は、当該暗号方式管理サーバ600を示すサーバID「001B」と署名生成用の暗号方式を示す方式識別子「IDB」と署名データとを含む署名ファイルを生成する(ステップS161)。
次に、制御部607は、読み出した暗号鍵「KencB」を用いて、読み出した暗号回路ファイル631「C」と鍵回路ファイル651「KC」と検証鍵ファイル671「VeriC」とに、暗号化方式識別子「IDB」の示すRSA暗号方式に従う暗号化アルゴリズムを施して暗号化し、暗号化暗号回路ファイル「EncB(C,KencB)」、暗号化鍵回路ファイル「EncB(KC,KencB)」及び暗号化検証鍵ファイル「EncB(VeriC,KencB)」を生成する(ステップS162)。
次に、生成した暗号化暗号回路ファイル「EncB(C,KencB)」、暗号化鍵回路ファイル「EncB(KC,KencB)」及び暗号化検証鍵ファイル「EncB(VeriC,KencB)」、これらのファイルの暗号化に用いた暗号方式を示す方式識別子「IDB」、復号鍵情報「KinfB」及び署名ファイルを、送受信部601を介して、コンテンツ再生装置100へ送信する(ステップS163)。
コンテンツ再生装置100の制御部116は、プログラム取得部106を介して、暗号化暗号回路ファイル681「EncB(C,KencB)」、暗号化鍵回路ファイル682「EncB(KC,KencB)」及び暗号化検証鍵ファイル683「EncB(VeriC,KencB)」、方式識別子684「IDB」、復号鍵情報685「KinfB」及び署名ファイル686を受信する(ステップS163)。
これらを受信すると、制御部116は、選択部114に、受信した方式識別子684「IDB」を出力し、鍵生成回路プログラムの読み出しを指示する。選択部114は、受け取った方式識別子「IDB」を含む鍵回路ファイル146「KB」を選択し、選択した鍵回路ファイル146「KB」から方式識別子147「IDB」と鍵生成回路プログラム148「KgenB」を読み出す(ステップS166)。
また、制御部116は、受信した方式識別子684「IDB」を、選択部113に出力し、復号回路プログラムの読み出しを指示する。選択部113は、受け取った方式識別子「IDB」を含む暗号回路ファイル136「B」を選択し、選択した暗号回路ファイル136「B」から、方式識別子137「IDB」及び復号回路ファイル139「DecB」を読み出す(ステップS167)。
組合せチェック部118は、選択部113及び114の読み出した方式識別子を比較し、両者が一致しない場合(ステップS169のNO)、制御部116へNG信号を制御部116へ出力し、ステップS166に戻る。両者が一致する場合(ステップS169のYES)、制御部116へOK信号を出力する。
OK信号を受け取ると制御部116は、選択部114へ、読み出したプログラムの出力を指示する。出力の指示を受けると、選択部114は、読み出した鍵生成回路プログラム148「KgenB」を、可変回路108に出力し、可変回路108内の構築機構123は、鍵生成回路プログラム148「KgenB」に従って、FPGA122上に、鍵生成回路151を構築する(ステップS171)。
鍵生成回路151が構築されると、制御部116は、鍵生成回路151へ、デバイス鍵の生成を指示する。
鍵生成回路151は、制御部116の指示により、RSA暗号方式に対応する128ビット長のデバイス鍵「DevB」を生成し、生成したデバイス鍵「DevB」をデバイス鍵格納部103に書き込む(ステップS172)。
デバイス鍵「DevB」の生成が終了すると、制御部116は、選択部113に、読み出したプログラムの出力を指示する。
出力の指示を受けると、選択部113は、読み出した復号回路プログラム139「DecB」を可変回路108へ出力する。可変回路108内の構築機構123は、選択部113から出力された復号回路プログラム139「DecB」に従って、FPGA122上に、復号処理回路156を構築する(ステップS173)。なお、既に、デバイス「DevB」がデバイス鍵格納部103に記憶されている場合は、ステップS166、169〜172の処理を省略する。さらに、可変回路108内に、既に方式識別子「IDB」の示す暗号方式に対応する復号処理回路が構築されている場合は、ステップS166〜ステップS173を省略する。
次に、制御部116は、復号処理回路156内の鍵処理部157へ、受信した鍵情報685「KinfB」を出力し、復号部158へ、受信した暗号化暗号回路ファイル681「EncB(C,KencB)」、暗号化鍵回路ファイル682「EncB(KC,KencB)」及び暗号化検証鍵ファイル683「EncB(VeriC,KencB)」を出力し、これらの復号を指示する。
鍵処理部157は、デバイス鍵格納部103からデバイス鍵「DevB」を読み出し、デバイス鍵「DevB」及び鍵情報「KinfB」を基に、復号鍵「KdecB」を生成して、復号部158へ出力する(ステップS174)。
復号部158は、鍵処理部157から復号鍵「KdecB」を取得し、取得した復号鍵「KdecB」を用いて、制御部116から受け取った暗号化暗号回路ファイル「EncB(C,KencB)」、暗号化鍵回路ファイル「EncB(KC,KencB)」及び暗号化検証鍵ファイル「EncB(VeriC,KencB)」に、RSA暗号方式に従う復号アルゴリズムを施して、暗号回路ファイル「C」、鍵回路ファイル「KC」、検証鍵ファイル「VeriC」を生成する(ステップS176)。生成したこれらのファイルを主記憶部107へ書き込む(ステップS177)。
暗号回路ファイル「C」、鍵回路ファイル「KC」、検証鍵ファイル「VeriC」が主記憶部107に書き込まれると、制御部116は、正当性チェック部112に、受信した署名ファイルに含まれる署名データの検証を指示する。
正当性チェック部112は、制御部116の指示に従って署名データの検証を行う(ステップS178)。
正当性チェック部112による署名検証が失敗であれば(ステップS181のNO)、制御部116は、ステップS148に戻り、プログラム取得部106を介して、再度、導入要求を暗号方式管理サーバ600へ送信する。
署名検証が成功であれば(ステップS181のYES)、制御部116は、正当性チェック部112へ、暗号回路ファイル「C」、鍵回路ファイル「KC」の書き込みを指示する。
正当性チェック部112は、暗号回路ファイル「C」を暗号回路記憶部117に書き込み、鍵回路ファイル「KC」を鍵回路記憶部119に書き込む(ステップS182)。
次に、制御部116は、正当性チェック部112へ、チェック情報表201の更新を指示する。
チェック情報表201の更新を指示されると、正当性チェック部112は、検証鍵ファイル「VeriC」を基に、方式識別子「IDC」、サーバID「001A」及び検証鍵「Kve_Ca」を含むチェック情報と、方式識別子「IDC」、サーバID「001B」及び検証鍵「Kve_Cb」を含むチェック情報とを新たに生成し(ステップS183)、生成した2つのチェック情報を、チェック情報表201に追加する(ステップS184)。
次に、制御部116は、暗号回路ファイル「C」に含まれる方式識別子「IDC」と利用フラグ「1」とを含む利用可能情報を生成し、生成した利用可能情報を利用可能暗号方式表166に追加する(ステップS186)。
次に、暗号回路記憶部117において、方式識別子「IDA」を含む暗号回路ファイル131「A」を検出し、検出した暗号回路ファイル131「A」から暗号回路プログラム133「EncA」を削除する(ステップS188)。
次に、制御部116は、主記憶部107の記憶している利用可能暗号方式表166において、方式識別子「IDA」を含む利用可能情報171を選択し、選択した利用可能情報171に含まれる利用フラグを「0」に書き換える(ステップS189)。
(3)再生可能か否かの検証
コンテンツ取得部101を介して、DVD400a又は400bの装着を検出すると、制御部116は、装着されたDVDに記録されているコンテンツを当該コンテンツ再生装置100が、再生できるか否かを検証する。
図25は、コンテンツ再生装置100による、この検証の動作を示すフローチャートである。図25では、より一般化して、装着されているDVDがDVD400a又は400bの何れであるかは区別せずに記載している。
以下に図25を用いて、装着されたDVDに記録されているコンテンツを再生可能か否かの検証について説明する。なお、これは、図20ステップS124の詳細である。
制御部116は、コンテンツ取得部101を介して、装着されているDVDから、コンテンツファイル、コンテンツ鍵情報及び署名ファイルを読み出す(ステップS201)。次に、コンテンツファイルに含まれる方式識別子を抽出し(ステップS202)、主記憶部107の記憶している利用可能暗号方式表166内で、抽出した方式識別子と一致する方式識別子を含む利用可能情報を検索する(ステップS204)。このとき、該当する利用可能情報が検出できなければ(ステップS206のNO)、再生不可能であると判断する(ステップS211)。
該当する利用可能情報171を検出すると(ステップS206のYES)、制御部116は、次に、正当性チェック部112に、読み出したコンテンツファイル、コンテンツ鍵情報及び署名ファイルを出力し、署名ファイルに含まれる署名データの検証を指示する。
正当性チェック部112は、署名ファイルに含まれる方式識別子の示す暗号方式を用いて署名データの検証を行う(ステップS207)。署名データの検証動作については、後述する。
署名データの検証が成功であれば(ステップS208)、制御部116は、コンテンツを再生可能であると判断する(ステップS209)。署名データの検証が失敗であれば、制御部116は、コンテンツの再生ができないと判断する(ステップS211)。
(4)署名データの検証
正当性チェック部112は、制御部116から、各種の情報と、その情報を基に生成された署名データを含む署名ファイルとを受け取り、署名データの検証を指示される。正当性チェック部112は、制御部116からの指示を受けると、選択部113及び可変回路108を制御して、署名データの検証を行う。
図26は、署名データの検証動作を示すフローチャートである。以下に、図26を用いて、署名データの検証動作について説明する。これは、図23ステップS178及び図25のステップS207の詳細である。
なお、ここでは、より一般化して、署名ファイルと共に受け取る各種の情報をチェック対象データと記載しているが、正当性チェック部112が、制御部116から受け取る各種の情報と、署名ファイルの組合せとしては、具体的には、DVDから読み出された、コンテンツファイル及びコンテンツ鍵情報と署名ファイルとの組合せ、新たに導入する暗号方式に関する暗号回路ファイル、鍵回路ファイル、検証鍵ファイル及び復号鍵情報と鍵ファイルとの組み合わせがある。
正当性チェック部112は、署名ファイルに含まれるサーバIDと方式識別子とを読み出す(ステップS221)。次に、自身の記憶しているチェック情報表201の中で、読み出した方式識別子とサーバIDとを含むチェック情報を検索する(ステップS222)。該当するチェック情報が検出されなければ(ステップS224のNO)、署名データの検証が失敗であることを示す検証失敗通知を制御部116へ出力する(ステップS236)。
該当するチェック情報を検出すると(ステップS224のYES)、正当性チェック部112は、読み出した方式識別子を選択部113へ出力し、復号回路プログラムの読み出し及び出力を指示する。
選択部113は、正当性チェック部112の指示に従って、受け取った方式識別子と対応する復号回路プログラムを読み出し(ステップS226)、読み出した復号回路プログラムを可変回路108へ出力する。
可変回路108の構築機構123は、受け取った復号回路プログラムに従って、FPGA122を書き換えて復号処理回路156を構築する(ステップS227)。
復号処理回路156が構築されると、正当性チェック部112は、検出したチェック情報に含まれる検証鍵を読み出し(ステップS228)、署名ファイルに含まれる署名データと読み出した検証鍵とを、構築された復号処理回路156内の復号部158へ出力し、復号を指示する。
復号部158は、正当性チェック部112からの指示に従って、検証鍵を用いて、署名データを復号して復号ダイジェストデータを生成する(ステップS229)。復号部158は、生成した復号ダイジェストデータを、正当性チェック部112へ出力する。
正当性チェック部112は、チェック対象データを結合した結合物を、ハッシュ関数に代入してダイジェストデータを生成する(ステップS231)。生成したダイジェストデータと、復号部158から出力された復号ダイジェストデータとを比較し(ステップS232)、両者が一致すれば(ステップS234のYES)、署名検証が成功であることを示す検証成功通知を制御部116へ出力する(ステップS237)。
両者が一致しない場合(ステップS234のNO)、署名検証が失敗であることを示す検証失敗通知を、制御部116へ出力する(ステップS236)。
(5)コンテンツの再生
図27は、コンテンツ生成装置によるコンテンツの再生動作を示すフローチャートである。ここでは、コンテンツ再生装置100にDVD400aが装着されている場合を示すが、DVD400bの場合も同様の動作を行う。
以下に、コンテンツの再生動作について、図27を用いて説明する。なお、これは、図20のステップS131の詳細である。
入力部121から、コンテンツの再生を示す操作指示情報を受け取ると、制御部116は、読み出したコンテンツファイル401に含まれる方式識別子402「IDA」を抽出する(ステップS241)。次に、制御部116は、選択部113及び114、組合せチェック部118及び可変回路108を制御して、方式識別子「IDA」と対応するデバイス鍵「DevA」を生成させ、復号処理回路156を構築させる(ステップS242)。デバイス鍵の生成及び復号処理回路の構築の手順は、図22のステップS166〜ステップS173と同様であるので、ここでは、詳細な説明は省略する。
次に、構築された復号処理回路156内の鍵処理部157に、読み出したコンテンツ鍵情報404を出力し、復号部158に暗号化コンテンツ403を出力して、暗号化コンテンツ403の復号を指示する。
鍵処理部157は、コンテンツ鍵情報404を受け取ると、デバイス鍵格納部103から、デバイス鍵128「DevA」を読み出し、読み出したデバイス鍵128「DevA」とコンテンツ鍵情報404とを基に、コンテンツ鍵「KconA」を生成する(ステップS243)。
復号部158は、鍵処理部157からコンテンツ鍵「KconA」を取得し、取得したコンテンツ鍵「KconA」を用いて、暗号化コンテンツ403を復号し、コンテンツ「ConA」を生成する(ステップS244)。復号部158は、制御部116の指示により、生成したコンテンツを再生処理部109へ出力する。
再生処理部109は、コンテンツ「ConA」を受け取ると、受け取ったコンテンツを、モニタ15に再生する(ステップS246)。
(6)メモリカードへのコンテンツの出力
図28〜図30は、コンテンツ再生装置100による、メモリカード500へのコンテンツの出力の動作を示すフローチャートである。以下に、図28〜30を用いて、コンテンツ出力の動作について説明する。これは、図20のステップS132の詳細である。ここでは、コンテンツ再生装置100にDVD400aと、方式識別子「IDA」を保持するメモリカード500とが装着されている場合を例に説明するが、DVD400bが装着されている場合、他の方式識別子を保持しているメモリカードが装着される場合も同様の動作を行う。
利用者により、コンテンツのコピーを指示されると、制御部116は、コンテンツファイル401に含まれる方式識別子402「IDA」及び署名ファイル411に含まれる方式識別子413「IDB」を抽出する(ステップS261)。次に、主記憶部107から利用可能暗号方式表166を読み出し(ステップS262)、読み出した暗号方式表166内で、方式識別子「IDA」、方式識別子「IDB」を含む利用可能情報を、それぞれ検索する(ステップS263)。
何れか一方でも検出できなければ(ステップS264のNO)、コピーできない旨を示すエラー画面を生成し、再生処理部109を介して、モニタ15にエラー画面を表示する(ステップS265)。
該当する利用可能情報171、172が検出された場合(ステップS264のYES)、検出した利用可能情報171及び172をそれぞれに含まれる利用フラグを読み出す(ステップS266)。読み出した利用フラグのうち、何れか一方でも「0」であれば(ステップS268のNO)、装着されているDVDに記録されているコンテンツをコピーすることができない旨を通知するエラー画面を表示する(ステップS265)。
読み出した利用フラグのうち、両方ともが「1」であれば(ステップS268のYES)、コンテンツファイル401から方式識別子402「IDA」を抽出し(ステップS269)、抽出した方式識別子402「IDA」を、入出力部104を介して、メモリカード500へ出力し、出力した方式識別子「IDA」の示す暗号方式を備えているか否かを問い合わせる(ステップS271)。
メモリカード500の制御部507は、入出力部502を介してコンテンツ再生装置100から、方式識別子「IDA」を受け取り、受け取った方式識別子「IDA」の示す暗号方式を備えているか否かの問い合わせを受ける。
問合せを受けると、制御部507は、セキュア領域520に記憶されている方式識別子521を読み出す(ステップS272)。読み出した方式識別子521と受信した方式識別子「IDA」とを比較し(ステップS273)、両者が一致すれば(ステップS274のYES)、受け取った方式識別子の示す暗号方式により暗号化された暗号文を復号可能であることを示す応答信号「1」を生成する(ステップS276)。
両者が一致しない場合(ステップS274のNO)、受け取った方式識別子の示す暗号方式により暗号化された暗号文を復号できない示す応答信号「0」を生成する(ステップS277)。続いて、制御部507は、生成した応答信号を、入出力部502を介して、コンテンツ再生装置100へ出力する(ステップS279)。
コンテンツ再生装置100の制御部116は、入出力部104を介してメモリカード500から、応答信号を受け取る。受け取った応答信号が「0」であれば(ステップS281の「0」)、要求されたコピーはできない旨を通知するエラー画面を生成して、モニタ15に表示する(ステップS282)。
受け取った応答信号が「1」であれば(ステップS281の「1」)、次に、制御部116は、選択部113及び114、組合せチェック部118、可変回路108を制御して、コンテンツファイル401から読み出した方式識別子402「IDA」と対応するデバイス鍵「DevA」を生成させ、可変回路108上に、方式識別子「IDA」に従った復号処理を行う復号処理回路を構築させる(ステップS286)。ステップS287の詳細は、図22のステップS166〜ステップS173と同様であって、図22中の、方式識別子「IDB」を「IDA」と読み替え、鍵回路ファイル「KB」を「KA」と読み替え、鍵生成回路プログラムを「KgenB」を「KgenA」と読み替え、復号回路プログラム「DecB」を「DecA」と読み替えればよい。
次に、制御部116は、構築された復号処理回路156内の鍵処理部157に、読み出したコンテンツ鍵情報404を出力し、コンテンツ鍵の生成を指示する。
鍵処理部157は、コンテンツ鍵情報404とデバイス鍵「DevA」とを基に、コンテンツ鍵「KconA」を生成する(ステップS287)。
次に、制御部116は、選択部113に、方式識別子402「IDA」と対応する暗号回路プログラムの読み出しと出力とを指示する。
選択部113は、制御部116からの指示により、方式識別子「IDA」と対応する暗号回路プログラム133「EncA」を、暗号回路記憶部117から読み出し(ステップS289)、読み出した暗号回路プログラム133「EncA」を可変回路108に出力する。
可変回路108内の構築機構123は、暗号回路プログラム133「EncA」に従って、暗号処理回路152を構築する(ステップS291)。
暗号処理回路152が構築されると、制御部116は、入出力部104を介して、メモリカード500にカード鍵情報の出力を指示する(ステップS293)。
メモリカード500の制御部507は、入出力部502を介して、コンテンツ再生装置100から、カード鍵情報の出力を指示されると、セキュア領域520から、カード鍵情報522を読み出す(ステップS294)。読み出したカード鍵情報522を、入出力部502を介して、コンテンツ再生装置100へ出力する(ステップS296)。
コンテンツ再生装置100の制御部116は、入出力部104を介してメモリカード500から、カード鍵情報を取得し、取得したカード鍵情報を、暗号処理回路152内の鍵処理部153へ出力し、コンテンツ鍵「KconA」を暗号化部154へ出力して暗号化を指示する。
鍵処理部153は、デバイス鍵格納部103からデバイス鍵「DevA」を読み出し、読み出したデバイス鍵「DevA」とカード鍵情報とを基に、カード固有鍵「MkeyA」を生成する(ステップS297)。暗号化部154は、鍵処理部153から、カード固有鍵「MkeyA」を取得し、取得したカード固有鍵「MkeyA」を用いて、コンテンツ鍵「KconA」を暗号化し、暗号化コンテンツ鍵「EncA(KconA,MkeyA)」を生成する(ステップS298)。
暗号化部154により暗号化コンテンツ鍵「EncA(KconA,MkeyA)」が生成されると、制御部116は、コンテンツファイル401から暗号化コンテンツ403「EncA(ConA,KconA)」を抽出し(ステップS301)、抽出した暗号化コンテンツ403「EncA(ConA,KconA)」と暗号化コンテンツ鍵「EncA(KconA,MkeyA)」とを、入出力部104を介して、メモリカード500に出力する(ステップS302)。
メモリカード500の制御部507は、コンテンツ再生装置100から、暗号化コンテンツ「EncA(ConA,KconA)」と暗号化コンテンツ鍵「EncA(KconA,MkeyA)」とを受け取り、受け取った暗号化コンテンツ「EncA(ConA,KconA)」と暗号化コンテンツ鍵「EncA(KconA,MkeyA)」とを含むコンテンツファイルを生成し、生成したコンテンツファイルを一般領域512に書き込む(ステップS303)。
2. その他の変形例
以上、本発明について、上記の実施の形態1に基づいて説明してきたが、これに限定されるものではなく、以下のような場合も本発明に含まれる。
(1)実施の形態1では、説明を容易にするために、コンテンツ再生装置100は、製造当初、DES暗号方式と、RSA暗号方式とを備えるとして説明してきたが、3以上の多数の暗号方式を備えているとしても良い。
この場合、暗号方式管理サーバ600は、何れかの暗号方式が解読されると、解読されてない暗号方式の中の何れかを選択し、選択した暗号方式により、解読された暗号方式に代替する暗号方式に対応する暗号回路ファイル、鍵回路ファイル、検証鍵ファイルを暗号化して、コンテンツ再生装置100へ送信する。
また、暗号化に用いる暗号方式とは異なる暗号方式を用いて署名データを生成しても良い。
さらに、実施の形態1では、コンテンツ再生装置100の備える暗号方式の用途は、コンテンツなどの暗号化・復号と、署名データの検証であるとして説明してきたが、これに限定されるものではなく、鍵共有、機器認証など、様々な用途に用いても良い。
(2)変形例(1)の場合、暗号方式管理サーバ600が、暗号化及び署名データの生成に用いる暗号方式を選択する方法としては、一例として、各暗号方式の暗号強度を記憶しており、解読されていない暗号方式の中で、暗号強度の最も強いものを選択する方法が考えられる。また、より新しい暗号方式を選択しても良い。
また、コンテンツ再生装置100が、暗号化及び署名データの生成に用いる暗号方式を選択し、選択した暗号方式を示す方式識別子を、暗号方式管理サーバ600に通知しても良い。
この場合、コンテンツ再生装置100が、暗号方式を選択する方法は、一例として、暗号方式を導入した日時を記憶しており、導入日が新しい暗号方式を選択する方法が考えられる。また、コンテンツ再生装置100の利用者による暗号方式の選択を受け付けるとしても良い。
(3)実施の形態1では、暗号方式管理サーバ600から暗号化鍵回路ファイルなどを送信する際に、解読されていない暗号方式を用いて署名データを含む署名ファイルを生成しているが、この署名生成の方法は一例であって、これに限定されるものではない。
また、実施の形態1では、新たな暗号方式の導入に当たって、この新たな暗号方式が署名検証に用いられる可能性を考慮し、暗号方式管理サーバ600は、新たな暗号方式に対応する検証鍵を含む検証鍵ファイルを送信しているが、検証鍵ファイルの送信は必須ではなく、新たな暗号方式を署名検証に利用しない場合は、検証鍵ファイルの送信は不要である。
また、新たに導入する暗号方式が公開鍵暗号方式である場合、検証鍵は、各サーバの公開鍵であるので、暗号化せずに、送信しても良い。
(4)実施の形態1では、署名データの検証において、可変回路108内に復号処理回路を構築して、署名データの検証処理の一部分を、復号処理回路が担う構成になっていたが、署名検証の一連の処理を行う検証回路を可変回路108内に構築し、署名データの検証を実行する構成であっても良い。この場合、暗号方式の導入の処理において、検証鍵ファイルの授受を行う必要はない。
(5) 実施の形態1は、暗号化及び復号を行う暗号方式に着目した例であって、署名生成及び検証に利用されている暗号方式が解読された場合にも、新たな暗号方式を導入する。その際には、新たな暗号方式が署名生成及び検証に用いられることを考慮して、検証鍵ファイルを暗号方式管理サーバ600から取得する。
しかし、上記の変形例(4)の場合、暗号化及び復号に用いられる暗号方式の変更とは別に、署名方式の変更を行ってもよい。以下、署名方法とは、署名データを生成する一連の手順及び署名データを検証する一連の手順を指す。
具体的には、この場合、コンテンツ再生装置100は、正当性チェック部112に変わって、署名記憶部220を備えており、署名記憶部220は、図31に示すように、チェック情報表221と複数の署名方式ファイル223、224・・・を記憶している。チェック情報表221は、実施の形態1において説明したチェック情報表201と同様の構成であるが、各チェック情報は、何れかの署名方式と対応しており、方式識別子に代わって、対応する署名方式を示す署名方式識別子を含んでいる。
各署名ファイルは、何れかの署名方式と対応しており、対応する署名方式を示す署名方式識別子と、検証回路プログラムとを含む。検証回路プログラムは、署名方式識別子の示す署名方式により生成された署名データを検証する機能を有する検証回路の構成を示している。
暗号方式管理サーバ600は、署名方式に係る安全性についても管理しており、何れかの署名方法が解読され、容易に署名の改ざんが可能な状態になった場合、その署名方式に代わる新たな署名方式に係る署名ファイル「SiC」、検証鍵ファイルを保持している。署名ファイル「SiC」は、署名方式識別子「SIDC」と検証回路プログラム「SveC」とを含み、検証鍵ファイルは、図5(c)に示す検証鍵ファイル671と同様であるが方式識別子672に代えて、署名方式識別子「SIDC」を含む。ここでは、署名方式識別子「SIDA」の示す署名方式が解読されたとする。
新たな署名方式を導入する際には、コンテンツ再生装置100は、新たな署名方式と対応する署名方式ファイル「SiC」と、検証鍵ファイルと、署名方式識別子「SIDB」と対応する署名方式により、検証鍵ファイル及び署名ファイル「SiC」に署名を施して生成された署名データと、署名データの生成に用いた署名方法を示す署名方式識別子「SIDB」とを受信する。
制御部116は、受信した署名方式識別子「SIDB」と同一の署名方式識別子と対応する検証回路プログラム237を読み出し、可変回路108に出力する。
可変回路108内に、署名方式「SIDB」と対応する検証回路が構築されると、受信した署名方式ファイル「SiC」と、検証鍵ファイルと、署名データとを検証回路に出力して署名検証を指示する。
検証が成功であれば、受信した署名ファイルを署名記憶部220に書き込み、受信した検証鍵ファイルから新たなチェック情報を生成し、生成したチェック情報を、チェック情報表221に追加する。
なお、送受信する情報に秘匿すべき情報が含まれている場合、これらの情報を暗号化して送受信してもよい。
(6)また、署名方式に代わってMAC(Message Authentication Code)生成・検証方式を導入する構成であっても良い。この場合も、変形例(5)の場合と同様に、MAC検証を行う回路の構成を示すMAC検証回路プログラムを複数記憶しており、各MAC検証プログラムは、それぞれ異なるMAC生成・検証方式と対応している。
MAC生成に用いられる一方向関数が、解析されて逆演算の方法が発見されるなどの理由により、何れかのMAC生成・検証方式が、利用できなくなると、新たなMAC生成・検証方式と対応するMAC検証プログラムを取得する。取得の際には、新たなMAC検証プログラムと共に、有効なMAC・生成検証方式によって生成されたMAC情報を受信し、受信したMAC情報により、受信した新たなMAC検証プログラムに改ざんがないことを確認する。
(7)署名方式、MAC生成・検証方式のみならず、鍵共有の方式、機器認証の方式についても同様に、新たな鍵共有方式と対応する共有鍵生成回路の構成を定める鍵共有プログラム、新たな機器認証方式と対応する認証回路プログラムを取得しても良い。
鍵共有方式の場合、コンテンツ再生装置100は、それぞれ異なる鍵共有方式と対応する鍵共有回路プログラムを記憶している。各鍵共有回路プログラムは、可変回路108内の構築機構によって、解読される形式のプログラムであり、対応する鍵共有方式に従う手順で、外部機器との間で鍵共有を実行する鍵共有回路の構成を示す。
暗号方式管理サーバ600と同様に、鍵共有方式を管理するサーバ機器は、新たな鍵共有方式と対応する鍵共有回路プログラムを保持している。
新たな鍵共有方式と対応する鍵共有回路プログラムを取得する際には、まず、予め記憶している鍵共有回路プログラムの何れかに従って、鍵共有回路を構築し、構築した鍵共有回路により、サーバ機器との間で共有鍵を生成する。
サーバ機器は、前記新たな鍵共有方式と対応する鍵共有回路プログラムを、生成した共有鍵を用いて暗号化して暗号化鍵共有回路プログラムを生成して、コンテンツ再生装置100に送信する。
コンテンツ再生装置100は、暗号化鍵共有プログラムを受信し、これを生成した共有鍵を用いて復号し、新たな鍵共有方式と対応する鍵共有回路プログラムを取得する。
機器認証方式についても、同様に、予め、それぞれ異なる機器認証方式と対応する複数の機器認証回路プログラムを保持しており、そのうちの何れかに従って、機器認証回路を構築する。構築した機器認証回路により、外部のサーバ機器と機器認証を行い、認証が成功すると、サーバ機器から、新たな機器認証方式と対応する機器認証回路プログラムを受信する。
(8)実施の形態1の可変回路108は、一例として書換え可能なFPGA122と構築機構123とコンフィグROM124から構成され、選択部113及び114は、読み出した暗号回路プログラムなど構築機構123に及びコンフィグROM124に出力するとしてきたが、この構成に限るものではない。
可変回路108は、FPGAと構築機構のみから構成され、FPGAに付属するコンフィグROMが、暗号回路記憶部117及び鍵回路記憶部119を構成しても良い。
この構成の場合、コンテンツ再生装置100の電源がOFFになると、可変回路上に構築された回路は消失する。次に電源の供給が開始されると、先ず、制御部116は、主記憶部107の記憶している可変回路情報161を読み出し、読み出した可変回路情報161を基に、選択部113、114及び構築機構123に、電源がOFFになる直前に、可変回路108内に構築されていた回路を再構築させる。
(9)実施の形態1では、コンテンツ再生装置100及び暗号方式管理サーバ600は、インターネット20に接続されており、インターネット20を介して、暗号化暗号回路ファイルなどの授受を行っているが、この方法に限定するものではない。
暗号方式管理サーバ600は、正当なコンテンツ再生機器全てに同一の暗号回路ファイル、鍵回路ファイル及び署名回路ファイルを送付するので、放送波のような、一方向通信によって、これらのファイルを送付しても良い。
(10)実施の形態1では、暗号方式管理サーバ600の操作者による指示をトリガとして、コンテンツ導入の一連の動作を開始しているが、これに限定されるものではない。
例えば、コンテンツ再生装置100が、定期的に、自身の備える暗号方式を示す方式識別子を送信し、暗号方式管理サーバ600に、自身の備える暗号方式が解読されているか否かを問い合わせるとしてもよい。問合せを受けた暗号方式管理サーバ600は、受信した方式識別子と一致する方式識別子を含む、暗号方式情報が無効暗号方式一覧621内に存在すると、その暗号方式を含む警告通知をコンテンツ再生装置100に送信する。
また、実施の形態1では、装着されたDVDのコンテンツファイルに含まれる方式識別子と対応する暗号方式を備えていなければ、コンテンツ再生装置100は、単に、再生を行わないとしているが、このときに、暗号方式管理サーバ600に上記の問合せを行っても良い。
また、実施の形態1及び上記の各変形例では、コンテンツ再生装置100の備える何れかの暗号方式が解読された場合に、新たな暗号方式を導入しているが、暗号方式が解読されていない場合であっても、例えば、新たに優れた暗号方式が開発された場合などにその新たな暗号方式を導入しても良い。
(11)上記の実施の形態1では、解読された暗号方式と対応する暗号回路プログラムのみ削除し、復号回路プログラム及び鍵回路ファイルを残している。このようにすることで、過去に配布されたコンテンツの再生を可能にし、コンテンツを購入した利用者の不利益とならないようにしている。
しかし、解読された暗号方式と対応する暗号回路ファイル及び鍵回路ファイルを全て削除し、解読された暗号方式によって暗号化されたコンテンツ及び解読された暗号方式によって生成された署名データの付されたコンテンツの再生を一切認めない構成であっても良い。この場合、チェック情報表201において、解読された暗号方式と対応するチェック情報も削除する。
(12)実施の形態1及び上記の変形例では、可変回路108は、FPGAにより構成されるとして説明してきたが、これに限定されるものではなく、その他の、書換え可能な回路であっても良い。これらの書換え可能な回路は、回路規模、内部の論理回路の構造などによって、PLD(Programmable Logic Device)、PLA(Programmable Array Logic)、CPLD(Complex Programmable Logic Device)、リコンフィギュアラブルLSI、ダイナミック・リコンフィギュアラブルLSIなどと呼ばれる。
(13)実施の形態1では、それぞれ異なるデバイス鍵を有する正当な再生機器全てが正常にコンテンツを取得させ、不正な機器にはコンテンツを取得させない方法として、メディアキーブロックを用いる例を採用したが、この方法に限るものではない。
一例として、ツリー構造を利用して各機器に複数の鍵データを含むデバイス鍵を割り当て、正当な機器は、デバイス鍵に含まれる何れかの鍵によりコンテンツを取得することができる技術が考えられる。
(14)上記の実施の形態で、コンテンツ再生装置100は、予め各暗号方式と対応する暗号回路ファイルと鍵回路ファイルを記憶しているが、コンテンツの復号などの暗号処理を行う際に、必要な鍵回路ファイルを受信する構成であっても良い。
例えば、DVD400aに記憶されている暗号化コンテンツ403を復号する場合、制御部116は、コンテンツファイル401から方式識別子402を読み出し、読み出した方式識別子402を、プログラム取得部106を介して、暗号方式管理サーバ600へ送信し、鍵回路ファイルの送信を要求する。
暗号方式管理サーバ600は、各暗号方式と対応する鍵回路ファイルを記憶している。制御部607は、コンテンツ再生装置100から方式識別子を受信し、鍵回路ファイルの送信を要求されると、受信した方式識別子の示す暗号方式と対応する鍵回路ファイルを読み出し、読み出した鍵回路ファイルを送信する。
コンテンツ再生装置100の制御部116は、暗号方式管理サーバ600から鍵回路ファイルを受信し、受信した鍵回路ファイルに含まれる鍵回路生成プログラムを可変回路108へ出力する。
以後、実施の形態1の場合と同様にしてデバイス鍵の生成、復号処理回路の構築及び暗号化コンテンツ403の復号を行う。
(15)実施の形態1で、コンテンツ再生装置100は、秘密通信によりコンテンツを安全に取得し、再生する機器であって、秘密通信に用いる新たな暗号方式の導入に伴って新たなデバイス鍵を取得する。
しかし、本発明は、この例に限定されるものでなく、コンテンツ再生装置100は、自装置に固有の鍵を用いて、情報を安全又は確実に取り扱う情報セキュリティ装置であって、安全又は確実に情報を取り扱う情報処理方法を新たに導入する際に、新たな情報処理方法に対応する鍵を取得する。ここで、前述の秘匿すべき鍵を用いる情報処理方法とは、秘密通信に使われる暗号方式の他に、署名方式、機器認証方式、鍵共有方式、MAC生成・検証方式などが考えられる。
(15−1)以下、コンテンツ再生装置100が、所定の署名方式に従って署名データの生成及び検証を行う機器である場合について説明する。
コンテンツ再生装置100は、暗号回路記憶部117に代えて(若しくは暗号回路記憶部117に加えて)、署名回路記憶部を備え、署名回路記憶部は、署名回路ファイルを記憶している。
署名回路ファイルは、何れかの署名方式と対応しており、対応する署名方式を示す署名方式識別子と、構築機構123により解読・実行可能な形式の署名生成回路プログラムと署名検証回路プログラムとを含む。署名生成回路プログラムは、対応する署名方式に従って、署名データを生成する署名生成回路の構成を示す。署名検証回路プログラムは、対応する署名方式に従って、署名データの検証を行う署名検証回路の構成を示す。
鍵回路記憶部119は、前記署名回路記憶部に記憶されている署名回路ファイルと対応する署名鍵回路ファイルを記憶している。署名鍵回路ファイルは、対応する署名方式を示す署名方式識別子と、署名データの生成及び検証に用いる署名鍵及び検証鍵を生成する署名鍵生成回路の構成を示す署名鍵回路プログラムとを含む。
署名データの生成又は検証にあたり、制御部116は、選択部113、114、組合せチェック部118可変回路108を制御して、所望の署名方式に対応した署名鍵及び検証鍵を生成させ、署名生成回路又は署名検証回路を構築させる。鍵の生成及び回路の構築の手順は、実施の形態1におけるデバイス鍵の生成及び復号処理回路の構築の手順(例えば、図22のステップS166〜173に示される)と同様である。
新たな署名方式を導入する際に、制御部116は、プログラム取得部106を介して、新たな署名方式と対応する署名ファイルを取得し、これと合わせて、新たな署名方式に適した署名鍵及び検証鍵を生成する署名鍵生成回路の構成を示す署名鍵回路プログラムを含む署名鍵ファイルを取得する。
制御部116は、取得した署名回路ファイルを署名回路記憶部に書き込み、取得した署名鍵ファイルを鍵回路記憶部119に書き込む。
以後、新たな署名検証方式により署名データの生成又は検証を行う場合、制御部116の制御の下、選択部114は、取得された署名鍵ファイルに含まれる署名鍵回路プログラムを読み出して、可変回路108へ出力し、可変回路108の構築機構123は、選択部114から出力された署名鍵回路プログラムに従って署名鍵生成回路を構築し、構築された署名鍵生成回路は、新たな署名方式の性質に適した署名鍵及び検証鍵を生成する。
(15−2)コンテンツ再生装置100が、所定の機器認証方式、鍵共有方式、MAC生成・検証方式に従って、機器認証、鍵共有、MAC生成・検証を行う機器である場合についても同様であって、コンテンツ再生装置100は、それぞれの情報処理方法に従う処理を実行する実行回路の構成を示す実行回路プログラムを含むファイルと、各実行回路プログラムと対応する鍵回路生成プログラムを含む鍵回路ファイルを記憶している。
新たな情報処理方式を導入する際には、制御部116は、プログラム取得部106を介して、新たな情報処理方式と対応する実行回路プログラムを含むファイルと共に、新たな情報処理方式に適した鍵を生成する鍵生成回路の構成を示す鍵生成回路プログラムを含んだ鍵回路ファイルを取得する。取得した鍵回路ファイルを鍵回路記憶部119に書き込む。
以後、新たな情報処理方法による処理を行う場合、制御部116の制御の下、選択部114は、取得された鍵回路ファイルに含まれる鍵生成回路プログラムを可変回路108に出力し、構築機構123は、出力された鍵生成回路プログラムに従って鍵生成回路を構築し、構築された鍵生成回路は、新たな情報処理方法に適した鍵を生成する。
(16)上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGAやLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応などが可能性として有り得る。
(17)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパー性を有するとしてもよい。
(18)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(19)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明は、秘密通信、署名、機器認証を初めとする暗号技術を利用した各種の処理を、各機器に固有の鍵を用いて行う電気機器を製造、販売する産業、これらの電気機器により取り扱われる情報を生産、販売する産業、また、これらの機器の取り扱う情報を使用して、各種のサービスを提供する産業において、経営的、反復・継続的に利用することができる。
実施の形態1の情報セキュリティシステムの構成を示す構成図である。 DVD400a及び400bに記録されている情報を示す。 暗号方式管理サーバ600の機能的構成を示すブロック図である。 情報記憶部610に記憶されている無効暗号方式一覧621及び送信用鍵テーブル626の詳細を示す。 情報記憶部610に記憶されている暗号回路ファイル631、鍵回路ファイル651及び検証鍵ファイル671の構成を示す。 署名生成部603の保持する署名鍵テーブル691の詳細を示す。 新たな暗号方式の導入において、暗号方式管理サーバ600が、コンテンツ再生装置100に送信する情報群の一例を示す。 コンテンツ再生装置100の構成を示すブロック図である。 マスタ個別鍵格納部102及びデバイス鍵格納部103に記憶されている情報を示す。 主記憶部107に記憶されている情報の一例を示す。 利用可能方式表166の構成及び新たな暗号方式導入後の利用可能方式表166bを示す。 新たな暗号方式の導入の前後における、暗号回路記憶部117の記憶している情報の具体例を示す。 新たな暗号方式の導入の前後における、鍵回路記憶部119の記憶している情報の具体例を示す。 鍵回路形成プログラムに従って、可変回路108内に構築された鍵生成回路を機能的に示したブロック図である。 鍵生成プログラム「KgenA」に従って構築された鍵生成回路の動作の一例を示すフローチャートである。 暗号化プログラムに従って、可変回路108内に構築された暗号処理回路を機能的に示したブロック図である。 復号プログラムに従って、可変回路108内に構築された復号処理回路を機能的に示したブロック図である。 正当性チェック部112の保持するチェック情報表201の詳細を示す。 メモリカード500の機能的構成を示すブロック図である。 コンテンツ再生装置の動作を示すフローチャートである。 DES暗号方式の解読に伴うAES暗号方式の導入にかかるコンテンツ再生装置100及び暗号方式管理サーバ600の動作を示すフローチャートである。 DES暗号方式の解読に伴うAES暗号方式の導入にかかるコンテンツ再生装置100及び暗号方式管理サーバ600の動作を示すフローチャートである。図21から続く。 DES暗号方式の解読に伴うAES暗号方式の導入にかかるコンテンツ再生装置100及び暗号方式管理サーバ600の動作を示すフローチャートである。図21から続く。 DES暗号方式の解読に伴うAES暗号方式の導入にかかるコンテンツ再生装置100及び暗号方式管理サーバ600の動作を示すフローチャートである。図21から続く。 コンテンツ再生装置100による、取得したコンテンツが再生可能であるか否かの検証動作を示すフローチャートである。 署名データの検証に係る動作を示すフローチャートである。 コンテンツの再生動作を示すフローチャートである。 メモリカードへのコンテンツの出力動作を示すフローチャートである。 メモリカードへのコンテンツの出力動作を示すフローチャートである。図28から続く。 メモリカードへのコンテンツの出力動作を示すフローチャートである。図28から続く。 署名記憶部220の記憶している情報の一例を示す。
符号の説明
1 情報セキュリティシステム
100 コンテンツ再生装置
400a DVD
400b DVD
500 メモリカード
600 暗号方式管理サーバ
700 コンテンツサーバ
800 ポータブルプレーヤー

Claims (21)

  1. デバイス鍵を用いて、安全又は確実に情報を取り扱う情報セキュリティ装置であって、
    書き換え可能な論理回路と、
    所定の処理を実行する実行回路を定める回路形成情報を取得し、取得した回路形成情報に従って、前記論理回路を書き換えて、前記実行回路を構築する構築手段と、
    自装置に固有の固有秘密鍵を記憶している鍵記憶手段と、
    自装置に固有の前記デバイス鍵を、前記固有秘密鍵を用いて生成する鍵生成回路を定める鍵回路形成情報を取得する取得手段と、
    有効に取得された前記鍵回路形成情報を、前記回路形成情報として、前記構築手段に出力する出力手段と、
    前記デバイス鍵を生成するように、構築された前記鍵生成回路を制御する制御手段と
    を備えることを特徴とする情報セキュリティ装置。
  2. 前記取得手段は、自装置が前記情報を取り扱う現情報処理方法と対応する前記鍵回路形成情報を取得し、
    前記鍵回路形成情報に従って構築される鍵生成回路は、前記現情報処理方法の性質に適した前記デバイス鍵を生成する
    ことを特徴とする請求項1に記載の情報セキュリティ装置。
  3. 前記取得手段は、ネットワークを介して接続される外部機器から、前記鍵回路形成情報を取得する
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  4. 前記取得手段は、
    前記外部機器へ、自装置が前記情報を取り扱う現情報処理方法を通知する通知部と、
    前記外部機器から、通知した現情報処理方法と対応する前記鍵回路形成情報を受信する受信部とを含む
    ことを特徴とする請求項3に記載の情報セキュリティ装置。
  5. 前記外部機器は、前記鍵回路形成情報を暗号化して、暗号化鍵回路形成情報を生成し、生成した暗号化鍵回路形成情報を送信し、
    前記取得手段は、
    前記暗号化鍵回路形成情報を、前記外部機器から受信する受信部と、
    受信した前記暗号化鍵回路形成情報を復号して前記鍵回路形成情報を生成する生成部とを含む
    ことを特徴とする請求項3に記載の情報セキュリティ装置。
  6. 前記鍵記憶手段は、耐タンパー性を有し、前記固有秘密鍵を安全に記憶している
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  7. 前記取得手段は、さらに、
    前記鍵回路形成情報にデジタル署名を施して生成された署名情報を取得し、
    前記情報セキュリティ装置は、さらに、
    前記署名情報と、取得された前記鍵回路形成情報とを用いて、前記鍵回路形成情報の正当性を検証する検証手段を備え、
    前記出力手段は、前記検証が成功した場合に、前記鍵回路形成情報が有効に取得されたと決定し、前記鍵回路形成情報を出力する
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  8. 前記情報セキュリティ装置は、
    さらに、前記検証手段の構成を示す検証回路形成情報を記憶している検証情報記憶手段を備え、
    前記出力手段は、さらに、
    前記検証情報記憶手段から、前記検証回路形成情報を読み出し、読み出した検証回路形成情報を前記回路形成情報として、前記構築手段へ出力する
    ことを特徴とする請求項7に記載の情報セキュリティ装置。
  9. 前記現情報処理方法とは、前記情報を暗号化又は復号化する暗号方式である
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  10. 前記現情報処理方法とは、前記情報の正当性を示す署名の生成又は検証手順を含む署名方式である
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  11. 前記現情報処理方法とは、前記情報の授受を行う外部機器の正当性を認証する機器認証方式である
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  12. 前記現情報処理方法とは、前記情報の改竄の有無を検証するために一方向関数を用いて生成されるメッセージ認証コードの、生成又は検証手順を含むメッセージコード認証方式である
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  13. 前記現情報処理方法とは、前記情報の授受を行う機器との間で同一の鍵を共有する鍵共有方法である
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  14. 前記鍵回路形成情報は、所定の情報処理方法と対応しており、前記鍵回路形成情報に従って構築される鍵生成回路は、前記所定の情報処理方法の性質に適した前記デバイス鍵を生成し、
    前記情報セキュリティ装置は、さらに、
    自装置が前記情報を取り扱う現情報処理方法と、前記所定の情報処理方法とが一致するか否かを判断する組合せ確認手段を備え、
    前記出力手段は、前記組合せ確認手段により、両者が一致すると判断される場合に、前記鍵回路形成情報が有効に取得されたと決定し、前記鍵回路形成情報を出力する
    ことを特徴とする請求項1に記載の情報セキュリティ装置。
  15. 前記論理回路は、Field Programable Gate Arrayから構成される
    ことを特徴とする請求項1に記載の情報セキュリティ装置。
  16. 前記論理回路は、ダイナミックリコンフィギュアラブルLSIから構成される
    ことを特徴とする請求項1に記載の情報セキュリティ装置。
  17. デバイス鍵を用いて、安全又は確実に情報を取り扱う情報セキュリティ装置とサーバ装置から構成される鍵配布システムであって、
    前記情報セキュリティ装置は、
    書き換え可能な論理回路と、
    所定の処理を実行する実行回路を定める回路形成情報を取得し、取得した回路形成情報に従って、前記論理回路を書き換えて、前記実行回路を構築する構築手段と、
    自装置に固有の固有秘密鍵を記憶している鍵記憶手段と、
    自装置に固有の前記デバイス鍵を、前記固有秘密鍵を用いて生成する鍵生成回路を定める鍵回路形成情報を取得する取得手段と、
    有効に取得された前記鍵回路形成情報を、前記回路形成情報として、前記構築手段に出力する出力手段と、
    前記デバイス鍵を生成するように、構築された前記鍵生成回路を制御する制御手段とを備え、
    前記サーバ装置は、
    前記鍵回路形成情報を記憶している記憶手段と、
    前記鍵回路形成情報を、出力する出力手段とを備える
    ことを特徴とする鍵配布システム。
  18. デバイス鍵を用いて、安全又は確実に情報を取り扱う情報セキュリティ装置において用いられる鍵取得方法であって、
    前記情報セキュリティ装置は、
    書き換え可能な論理回路と、
    所定の処理を実行する実行回路を定める回路形成情報を取得し、取得した回路形成情報に従って、前記論理回路を書き換えて、前記実行回路を構築する構築手段と、
    自装置に固有の固有秘密鍵を記憶している鍵記憶手段とを備え、
    前記鍵取得方法は、
    自装置に固有の前記デバイス鍵を、前記固有秘密鍵を用いて生成する鍵生成回路を定める鍵回路形成情報を取得する取得ステップと、
    有効に取得された前記鍵回路形成情報を、前記回路形成情報として、前記構築手段に出力する出力ステップと、
    前記デバイス鍵を生成するように、構築された前記鍵生成回路を制御する制御ステップと
    を含むことを特徴とする鍵取得方法。
  19. デバイス鍵を用いて、安全又は確実に情報を取り扱う情報セキュリティ装置において用いられる鍵取得プログラムであって、
    前記情報セキュリティ装置は、
    書き換え可能な論理回路と、
    所定の処理を実行する実行回路を定める回路形成情報を取得し、取得した回路形成情報に従って、前記論理回路を書き換えて、前記実行回路を構築する構築手段と、
    自装置に固有の固有秘密鍵を記憶している鍵記憶手段とを備え、
    前記鍵取得プログラムは、
    自装置に固有の前記デバイス鍵を、前記固有秘密鍵を用いて生成する鍵生成回路を定める鍵回路形成情報を取得する取得ステップと、
    有効に取得された前記鍵回路形成情報を、前記回路形成情報として、前記構築手段に出力する出力ステップと、
    前記デバイス鍵を生成するように、構築された前記鍵生成回路を制御する制御ステップと
    を含むことを特徴とする鍵取得プログラム。
  20. 前記鍵取得プログラムは、
    コンピュータ読み取り可能な記録媒体に記録されている
    ことを特徴とする請求項19に記載の鍵取得プログラム。
  21. デバイス鍵を用いて、安全又は確実に情報を取り扱う情報セキュリティ装置に搭載される集積回路であって、
    書き換え可能な論理回路と、
    所定の処理を実行する実行回路を定める回路形成情報を取得し、取得した回路形成情報に従って、前記論理回路を書き換えて、前記実行回路を構築する構築手段と、
    自装置に固有の固有秘密鍵を記憶している鍵記憶手段と、
    自装置に固有の前記デバイス鍵を、前記固有秘密鍵を用いて生成する鍵生成回路を定める鍵回路形成情報を取得する取得手段と、
    有効に取得された前記鍵回路形成情報を、前記回路形成情報として、前記構築手段に出力する出力手段と、
    前記デバイス鍵を生成するように、構築された前記鍵生成回路を制御する制御手段と
    を備えることを特徴とする集積回路。
JP2007514724A 2005-04-25 2006-04-24 情報セキュリティ装置 Active JP4801055B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007514724A JP4801055B2 (ja) 2005-04-25 2006-04-24 情報セキュリティ装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005126038 2005-04-25
JP2005126038 2005-04-25
JP2007514724A JP4801055B2 (ja) 2005-04-25 2006-04-24 情報セキュリティ装置
PCT/JP2006/308588 WO2006115252A1 (ja) 2005-04-25 2006-04-24 情報セキュリティ装置

Publications (2)

Publication Number Publication Date
JPWO2006115252A1 true JPWO2006115252A1 (ja) 2008-12-18
JP4801055B2 JP4801055B2 (ja) 2011-10-26

Family

ID=37214866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007514724A Active JP4801055B2 (ja) 2005-04-25 2006-04-24 情報セキュリティ装置

Country Status (5)

Country Link
US (1) US7958353B2 (ja)
EP (1) EP1879322A1 (ja)
JP (1) JP4801055B2 (ja)
CN (1) CN101167300B (ja)
WO (1) WO2006115252A1 (ja)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9064364B2 (en) * 2003-10-22 2015-06-23 International Business Machines Corporation Confidential fraud detection system and method
CN101484877A (zh) * 2006-07-04 2009-07-15 皇家飞利浦电子股份有限公司 用可重新配置的硬件执行计算机指令
JP5138970B2 (ja) * 2006-12-20 2013-02-06 リプレックス株式会社 システム、サーバ、情報端末、オペレーティングシステム、ミドルウェア、情報通信機器、認証方法、システム及びアプリケーションソフトウェア
US20080219427A1 (en) * 2007-03-09 2008-09-11 Naono Norihiko Information terminal, server and communication method and method for selecting a communication service
US20080222543A1 (en) * 2007-03-09 2008-09-11 Naono Norihiko Information terminal, server and information processing method
US20080288462A1 (en) * 2007-05-16 2008-11-20 Naono Norihiko Database system and display method on information terminal
TW200847690A (en) * 2007-05-24 2008-12-01 Nat Univ Tsing Hua Device and method for security reconfiguration
JP2008312048A (ja) * 2007-06-15 2008-12-25 Ripplex Inc 情報端末の認証方法
JP2009003690A (ja) * 2007-06-21 2009-01-08 Ripplex Inc システム、サーバ及び情報端末
JP2009005202A (ja) * 2007-06-25 2009-01-08 Ripplex Inc 情報交換装置
WO2009028137A1 (ja) * 2007-08-28 2009-03-05 Panasonic Corporation 鍵端末装置、暗号処理用lsi、固有鍵生成方法及びコンテンツシステム
TW200925934A (en) * 2007-12-06 2009-06-16 Avision Inc Key status detecting circuit
JP2009157737A (ja) * 2007-12-27 2009-07-16 Ripplex Inc 情報共有のためのサーバ装置及び情報端末装置
US8515996B2 (en) * 2008-05-19 2013-08-20 Emulex Design & Manufacturing Corporation Secure configuration of authentication servers
JP2010026936A (ja) * 2008-07-23 2010-02-04 Ripplex Inc 個人情報を検索するための端末装置及びシステム
US20110131138A1 (en) * 2008-08-07 2011-06-02 Icon Corp. Collective suspension/settlement representation processing server device and program
JP5272637B2 (ja) * 2008-10-14 2013-08-28 ソニー株式会社 情報処理装置、暗号切替方法、及びプログラム
JP5246863B2 (ja) * 2008-11-14 2013-07-24 独立行政法人産業技術総合研究所 再構成可能論理デバイスの論理プログラムデータ保護システム及び保護方法
JP4799626B2 (ja) * 2009-02-04 2011-10-26 ソニーオプティアーク株式会社 情報処理装置、および情報処理方法、並びにプログラム
US9448964B2 (en) * 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8516272B2 (en) 2010-06-30 2013-08-20 International Business Machines Corporation Secure dynamically reconfigurable logic
GB2500356A (en) 2011-01-20 2013-09-18 Box Inc Real time notification of activities that occur in a web-based collaboration environment
JP5306405B2 (ja) * 2011-03-31 2013-10-02 株式会社東芝 情報処理装置およびプログラム
EP2729877A4 (en) 2011-07-08 2015-06-17 Box Inc DESKTOP APPLICATION FOR ACCESS AND INTERACTION WITH JOBS IN A CLOUD-BASED CONTENT MANAGEMENT SYSTEM AND SYNCHRONIZATION MECHANISMS THEREFOR
US9197407B2 (en) 2011-07-19 2015-11-24 Cyberlink Corp. Method and system for providing secret-less application framework
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
US11210610B2 (en) 2011-10-26 2021-12-28 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
WO2013082320A1 (en) 2011-11-29 2013-06-06 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
US9396216B2 (en) 2012-05-04 2016-07-19 Box, Inc. Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a cloud-enabled platform
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
GB2513671A (en) 2012-08-27 2014-11-05 Box Inc Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
JP2014099752A (ja) 2012-11-14 2014-05-29 Fujitsu Ltd 通信装置、通信システム、及び通信システムにおける暗号アルゴリズム実行方法
US9779378B1 (en) * 2012-11-16 2017-10-03 Isaac S. Daniel Automatic transmission mobile post office system
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
EP2755151A3 (en) 2013-01-11 2014-09-24 Box, Inc. Functionalities, features and user interface of a synchronization client to a cloud-based environment
EP2757491A1 (en) 2013-01-17 2014-07-23 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US9633037B2 (en) 2013-06-13 2017-04-25 Box, Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9213684B2 (en) 2013-09-13 2015-12-15 Box, Inc. System and method for rendering document in web browser or mobile device regardless of third-party plug-in software
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US9461815B2 (en) * 2013-10-18 2016-10-04 Advanced Micro Devices, Inc. Virtualized AES computational engine
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
DE102014218218A1 (de) * 2014-09-11 2016-03-17 Robert Bosch Gmbh Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip
US9705501B2 (en) * 2014-10-01 2017-07-11 Maxim Integrated Products, Inc. Systems and methods for enhancing confidentiality via logic gate encryption
US10795742B1 (en) 2016-09-28 2020-10-06 Amazon Technologies, Inc. Isolating unresponsive customer logic from a bus
US10223317B2 (en) 2016-09-28 2019-03-05 Amazon Technologies, Inc. Configurable logic platform
EP3483772A1 (en) * 2017-11-14 2019-05-15 Nagravision S.A. Integrated circuit personalisation with data encrypted with the output of a physically unclonable function

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08204702A (ja) * 1995-01-30 1996-08-09 Nec Corp 暗号鍵管理装置
US6101255A (en) 1997-04-30 2000-08-08 Motorola, Inc. Programmable cryptographic processing system and method
JP3776619B2 (ja) 1999-03-05 2006-05-17 株式会社東芝 暗号通信端末、暗号通信センター装置、暗号通信システム及び記憶媒体
WO2001030019A1 (fr) 1999-10-18 2001-04-26 Sony Corporation Processeur d'information et procede de traitement d'information, support enregistre
JP2001325153A (ja) 2000-05-15 2001-11-22 Toyo Commun Equip Co Ltd フィールドプログラマブルゲートアレイの回路情報保護方法
JP2002050956A (ja) 2000-07-13 2002-02-15 Sun Microsyst Inc フィールド・プログラマブル・ゲート・アレイ
JP2002290396A (ja) 2001-03-23 2002-10-04 Toshiba Corp 暗号鍵更新システムおよび暗号鍵更新方法
JP2003198530A (ja) 2001-12-21 2003-07-11 Mitsubishi Electric Corp パケット通信装置及び暗号アルゴリズム設定方法
JP3965126B2 (ja) 2002-03-20 2007-08-29 松下電器産業株式会社 コンテンツを再生する再生装置
JP2003304235A (ja) * 2002-04-10 2003-10-24 Sony Corp 無線通信装置、およびプログラム・ダウンロード方法、並びにコンピュータ・プログラム
JP4375995B2 (ja) * 2003-04-30 2009-12-02 ローム株式会社 デバイス鍵保護方法およびその方法を利用可能な暗号化装置と復号装置ならびに映像送信装置と映像受信装置
US7440574B2 (en) * 2003-06-11 2008-10-21 Hewlett-Packard Development Company, L.P. Content encryption using programmable hardware
CN100498948C (zh) * 2003-06-18 2009-06-10 松下电器产业株式会社 重放装置、重放方法
US8103004B2 (en) 2003-10-03 2012-01-24 Sony Corporation Method, apparatus and system for use in distributed and parallel decryption
CN100338905C (zh) * 2004-03-03 2007-09-19 北京北大方正电子有限公司 具有硬件适应性的数字内容与硬件绑定的方法
EP1659810B1 (en) * 2004-11-17 2013-04-10 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Updating configuration parameters in a mobile terminal
US7788502B1 (en) 2005-03-10 2010-08-31 Xilinx, Inc. Method and system for secure exchange of IP cores

Also Published As

Publication number Publication date
CN101167300A (zh) 2008-04-23
US7958353B2 (en) 2011-06-07
CN101167300B (zh) 2011-08-10
JP4801055B2 (ja) 2011-10-26
WO2006115252A1 (ja) 2006-11-02
EP1879322A1 (en) 2008-01-16
US20090132821A1 (en) 2009-05-21

Similar Documents

Publication Publication Date Title
JP4801055B2 (ja) 情報セキュリティ装置
JPWO2006109738A1 (ja) 回路構築装置
JP4759522B2 (ja) バックアップシステム、記録再生装置、バックアップ装置、バックアップ方法、プログラム及び集積回路
JP4778965B2 (ja) コンテンツ再生装置、コンテンツ再生方法、コンピュータプログラム、鍵中継装置及び記録媒体
WO2011111370A1 (ja) 記録システム、再生システム、鍵配信サーバ、記録装置、記録媒体装置、再生装置、記録方法、及び、再生方法
JP4624235B2 (ja) コンテンツ利用情報提供装置およびコンテンツ利用情報送信方法
US9172535B2 (en) Key implementation system
US7647646B2 (en) Information input/output system, key management device, and user device
JP6010023B2 (ja) 記録媒体装置及びコントローラ
TW200423676A (en) System for identification and revocation of audiovisual titles and replicators
JP4585460B2 (ja) 同一コンテンツから派生した形式の異なるコンテンツを複数個所で同時に利用することを防ぐ記憶装置、システム及び方法
KR20040085009A (ko) 은닉해야 할 데이터를 암호화하여 입출력하는 방법 및 장치
WO2005121980A1 (ja) 情報取得装置、情報取得方法、情報取得プログラム
CN103039034A (zh) 无效化列表生成装置、无效化列表生成方法及内容管理系统
US7865716B2 (en) Encryption device, key distribution device and key distribution system
JP4268673B1 (ja) 著作権保護システム、再生装置、及び再生方法
JP4638160B2 (ja) 著作物保護システム、記録装置、再生装置及び記録媒体
JP2001209580A (ja) データ記憶素子製造方法およびデータ記憶素子、並びにデータ処理装置
JP2009093767A (ja) 情報処理装置、ディスク、および情報処理方法、並びにコンピュータ・プログラム
WO2013073115A1 (ja) コンテンツ配信装置及びコンテンツ配信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090119

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

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

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

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4801055

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150