JP4606421B2 - 鍵情報生成方法および装置,鍵情報更新方法,改竄検出方法および装置,鍵情報のデータ構造 - Google Patents

鍵情報生成方法および装置,鍵情報更新方法,改竄検出方法および装置,鍵情報のデータ構造 Download PDF

Info

Publication number
JP4606421B2
JP4606421B2 JP2006549011A JP2006549011A JP4606421B2 JP 4606421 B2 JP4606421 B2 JP 4606421B2 JP 2006549011 A JP2006549011 A JP 2006549011A JP 2006549011 A JP2006549011 A JP 2006549011A JP 4606421 B2 JP4606421 B2 JP 4606421B2
Authority
JP
Japan
Prior art keywords
data
key information
pieces
content key
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006549011A
Other languages
English (en)
Other versions
JPWO2006068152A1 (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
Publication of JPWO2006068152A1 publication Critical patent/JPWO2006068152A1/ja
Application granted granted Critical
Publication of JP4606421B2 publication Critical patent/JP4606421B2/ja
Expired - Fee Related 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Description

本発明は、ターゲット機器等に格納される機密情報における改竄の有無を検出する方法および装置,改竄の有無を検出される機密情報を生成する方法および装置,改竄の有無を検出される機密情報のデータ構造に関する。
著作物や個人情報等に関するコンテンツ(例えば、音楽データや映像データに代表されるコンテンツ)は、不正なコピーあるいは外部への漏洩を防ぐ必要がある。このようなコンテンツは、暗号化された状態でターゲット機器に格納される。ホスト機器がターゲット機器に格納された暗号化コンテンツを扱う際には、ホスト機器は、ターゲット機器との間で認証処理を実行する。この認証が失敗すると、ホスト機器は、暗号化コンテンツを復号化するためのコンテンツ鍵をターゲット機器から入手することができない。一方、この認証が成功すると、ホスト機器は、ターゲット機器に格納されたコンテンツにアクセスして、そのコンテンツを利用することができる。このような構成にすることにより、不正なホスト機器による暗号化コンテンツの復号化を防いでいる。なお、ここで、ターゲット機器は、例えば、SDカードのようなメモリカードである。また、ホスト機器は、メモリカードからデータを読み出す半導体集積回路,その半導体集積回路を実装したセット機器,あるいはターゲット機器へとコンテンツを配信するコンテンツ配信機器である。
次に、図32を参照しつつ、従来におけるターゲット機器の格納領域およびその格納領域に格納される機密情報について説明する。なお、以下の説明において、機密情報とはコンテンツを再生するために必要な情報(例えば、鍵情報等)を示す。
ターゲット機器内の格納領域は、システム領域901,保護領域902,および通常領域903に分けられている。システム領域901は、ターゲット機器とホスト機器との間で認証を行うための情報が格納される領域である。ホスト機器は、システム領域901へのアクセスが許可された所定の処理でなければ、システム領域901にアクセスすることができない。保護領域902は、ユーザ(ホスト機器)が任意にアクセスをすることができず、且つ、認証に成功して初めてアクセスすることができる領域である。通常領域903は、ユーザが任意にアクセスすることができる領域である。システム領域901には、認証鍵が格納される。保護領域902には、暗号化コンテンツ鍵が格納される。通常領域903には、暗号化コンテンツが格納される。
また、ターゲット機器に多くのコンテンツを格納することができるように、コンテンツを格納する通常領域903の格納サイズは、保護領域902の格納サイズよりも大きく設定されている。したがって、保護領域902に格納することができるデータ量は、通常領域903に格納することができるデータ量よりも少ない。
次に、ホスト機器がターゲット機器内の暗号化コンテンツを復号化して利用する方法について説明する。まず、ホスト機器は、自己に格納している認証鍵とターゲット機器に格納された認証鍵とを用いて、認証を行う。認証に成功すると、ホスト機器は、これらの認証鍵を用いて認証中間鍵を生成する。この認証中間鍵は、暗号化コンテンツ鍵を復号化するための鍵として規定されている。したがって、ホスト機器は、ターゲット機器から暗号化コンテンツ鍵を取得するとともに、その暗号化コンテンツ鍵を認証中間鍵で復号化して、平文(暗号化されていない状態を示す)のコンテンツ鍵を生成する。さらに、ホスト機器は、暗号化コンテンツをターゲット機器から取得し、平文のコンテンツ鍵を用いてその暗号化コンテンツを復号化して、平文のコンテンツを生成する。これにより、コンテンツが利用可能になる。以上のような処理を実行することにより、認証に成功したホスト機器のみがターゲット機器に格納された暗号化コンテンツを利用することができる。
上述のコンテンツの復号化では、認証に成功すれば認証中間鍵が生成されるので、認証にさえ成功すれば暗号化コンテンツを復号化することが可能である。すなわち、ターゲット機器に格納されている暗号化コンテンツは、正当なホスト機器であれば利用することができる。
一方で、近年では、電子配信を利用して暗号化コンテンツを特定のユーザに送信することによって、その特定ユーザのみにコンテンツを利用させるといった動きが活発である。しかし、このような電子配信での利用を想定した場合、特定ユーザに送信される暗号化コンテンツは、その特定ユーザが所有する特定のホスト機器でしか復号化できないようにする必要がある。しかし、上述の方法ではその要求を満足することができない。
そのため、有効なドメイン鍵を特定のユーザにのみ設定する方法が新たに考えられている。ドメイン鍵が設定された場合、コンテンツはコンテンツ鍵で暗号化され、コンテンツ鍵は認証中間鍵ではなく特定ユーザのみに設定されたドメイン鍵を用いて暗号化されることになる。また、ドメイン鍵自体も、認証中間鍵,あるいは認証中間鍵の情報を用いて生成される別の鍵を用いて、暗号化してターゲット機器に格納される。これにより、ドメイン鍵自体の秘匿性も確保される。
図33を参照しつつ、このようにドメイン鍵を設定した場合における、ターゲット機器内の格納領域に格納される機密情報について説明する。ドメイン鍵を設定した場合であっても従来のターゲット機器との互換性を保つために、ターゲット機器内の領域の分割方法は同一でなくてはならない。また、ドメイン鍵とコンテンツ鍵との双方を保護領域902に格納してしまうと、ドメイン鍵は、コンテンツ鍵の復号化のための鍵であるにもかかわらず、コンテンツ鍵と同一のセキュリティレベルの領域に格納されてしまう。したがって、セキュリティと互換性とを保つために、ドメイン鍵を設定した場合は、ドメイン鍵は、暗号化された状態で、保護領域902に格納される。また、コンテンツ鍵は、暗号化された状態で、通常領域903に格納される。
図34を参照しつつ、ターゲット機器内に格納される機密情報についてさらに詳細に説明する。ターゲット機器内の保護領域902には、n個(nは1以上の整数)の暗号化されたドメイン鍵Ku(1)〜Ku(n)が格納されている。ドメイン鍵Ku(1)〜Ku(n)には、n個のドメイン鍵管理情報UR[u](1)〜UR[u](n)が一対一で付与されている。
ターゲット機器の通常領域903には、複数のコンテンツ鍵が格納されている。コンテンツ鍵の各々は、ドメイン鍵Ku(1)〜Ku(n)のうちいずれか1つに対応する。すなわち、1つのドメイン鍵を用いて、複数の暗号化コンテンツ鍵を復号化することができる。例えば、ドメイン鍵Ku(1)には、m個(mは1以上の整数)のコンテンツ鍵Kt(1-1)〜Kt(1-m)が対応する。コンテンツ鍵Kt(1-1)〜Kt(1-m)には、m個のコンテンツ鍵管理情報UR[t](1-1)〜UR[t](1-m)とm個の付加情報info(1-1)〜info(1-m)とが一対一で付与されている。
なお、図34では、ドメイン鍵Ku(1)〜Ku(n)とドメイン鍵管理情報UR[u](1)〜UR[u](n)との集合は「ドメイン鍵群UKURE」と示し、コンテンツ鍵Kt(1-1)〜Kt(1-m),コンテンツ鍵管理情報UR[t](1-1)〜UR[t](1-m),および付加情報info(1-1)〜info(1-m)の集合は「コンテンツ鍵群TKURE(1)」と示されている。
暗号化されたコンテンツを復号化するためには、平文のコンテンツ鍵が必要である。また、暗号化されたコンテンツ鍵を復号化するためには、ドメイン鍵が必要である。どのコンテンツ鍵がどのドメイン鍵によって復号化できるのかを素早く検索するために、通常領域には鍵対応テーブルAddress Listも格納されている。鍵対応テーブルAddress Listには、ドメイン鍵とコンテンツ鍵との対応関係が記されている。例えば、ドメイン鍵Ku(1)には、そのドメイン鍵を用いて復号化できるコンテンツ鍵Kt(1-1)〜Kt(1-m)が対応付けられている。
このように、暗号化コンテンツ鍵は、通常領域903に格納される。通常領域903はユーザが任意にアクセスすることが可能な領域であるので、通常領域903に格納された暗号化コンテンツ鍵の正当性を保証すること、言い換えれば改竄を検査することが重要となってくる。
ターゲット機器に格納された機密情報の改竄を検査する場合、機密情報毎にハッシュ関数を用いる方法がある。ここで、機密情報に関連する全ての情報についてハッシュ演算を実行することによって、機密情報における改竄の有無を検出する手順について説明する。なお、ここで、「Enc」は、暗号化された状態を表す接頭語として使用する。例えば、「EncUR[u](1)」は、暗号化されたドメイン鍵管理情報UR[u](1)を示す。
まず、ドメイン鍵Ku(1)によって復号化することができる暗号化コンテンツ鍵EncKt(1-1)〜EncKt(1-m),それらの暗号化コンテンツ鍵EncKt(1-1)〜EncKt(1-m)に対応する暗号化コンテンツ鍵管理情報EncUR[t](1-1)〜EncUR[t](1-m),およびそれら暗号化コンテンツ鍵EncKt(1-1)〜EncKt(1-m)に対応する付加情報info(1-1)〜info(1-m)をすべて連結してハッシュ演算を実行する。そのハッシュ演算によって得られたハッシュ値Hash(Ku(1))をドメイン鍵管理情報UR[u](1)に格納する。
次に、暗号化コンテンツ鍵EncKt(1-1)における改竄を検査する際には、ホスト機器は、鍵対応テーブルAddress Listを参照して、ターゲット機器内の通常領域903からコンテンツ鍵群TKURE(1)を読み出し、ハッシュ演算を実行する。一方、ホスト機器は、認証によって得られた認証中間鍵を用いて、ターゲット機器内の保護領域902に格納された暗号化ドメイン鍵管理情報EncUR[u](1)を復号化する。次に、ホスト機器は、復号化によって得られたドメイン鍵管理情報UR[u](1)の中からハッシュ値Hash(Ku(1))を抽出する。次に、ホスト機器は、ハッシュ演算によって算出したハッシュ値とドメイン鍵管理情報UR[u](1)の中から抽出したハッシュ値とを比較する。ホスト機器は、両者が一致すれば改竄されていないと判断して、暗号化コンテンツ鍵を復号化する。一方、ホスト機器は、両者が不一致であれば改竄されたものとして暗号化コンテンツを復号化しない。
特開2001−203686号公報
しかしながら、図34に示したような改竄検出方法では、処理量が非常に大きくなる。すなわち、1つのコンテンツ鍵(コンテンツ鍵Kt(1-1))の改竄をチェックするためには、ホスト機器は、同一のドメイン鍵で復号化可能な全てのコンテンツ鍵とそれに付随する全ての情報(コンテンツ鍵群TKURE(1))をターゲット機器から読み出し、その読み出した情報に対してハッシュ演算を実行する必要がある。特に、ターゲット機器に格納されるコンテンツの個数が増加すると、それに従って、コンテンツ鍵の個数も増加する。その結果、1つのドメイン鍵に対応付けられるコンテンツ鍵は増加していくので、処理時間は、さらに増加していく。
また、コンテンツとコンテンツ鍵とが一組のデータとして、ネットワーク等を介して配信されることも想定される。そのような場合には、1つのドメイン鍵に対応付けられるコンテンツ鍵の追加/削除が生じる。しかしながら、従来の方法によれば、コンテンツ鍵を追加/削除する場合、1つのドメイン鍵(ドメイン鍵Ku(1))に対応付けられる全てのコンテンツ鍵とそれに付随する全ての情報(コンテンツ鍵群TKURE(1))についてハッシュ演算を再度やりなおし、算出されたハッシュ値をそのドメイン鍵に付随するドメイン鍵管理情報(ドメイン鍵管理情報UR[u](1))に埋め込む必要がある。このように、コンテンツ鍵の追加/削除のたびに、膨大な処理を実行する必要がある。
ここで、同一のドメイン鍵で復号化可能な全てのコンテンツ鍵とそれに付随する全ての情報(コンテンツ鍵群TKURE(1))に対してハッシュ演算を実行するのではなく、1つのドメイン鍵に関連づけられた複数のコンテンツ鍵の各々に対して予めハッシュ演算を実行してハッシュ値を算出しておき、算出された複数のハッシュ値をドメイン鍵管理情報に埋め込んでおく方法も考えられる。
しかし、コンテンツ鍵の個数が多くなると算出されるハッシュ値の個数も多くなるので、格納サイズが小さい保護領域902に対してすべてのハッシュ値を格納することは困難である。この場合、保護領域902の格納サイズを拡大する必要があり、通常領域903の格納サイズが小さくなってしまうので、好ましくない。
そこで、本発明は、所定領域に格納されるデータ量を低減し、且つ、改竄検出時における処理量を低減することを目的とする。さらに詳しくは、所定領域に格納されるデータ量が少なく且つ改竄検出時における処理量が少ない鍵情報のデータ構造,その鍵情報を生成する方法および装置,その鍵情報における改竄を検出する方法および装置,その鍵情報を更新する方法を提供することを目的とする。
この発明の1つの局面に従うと、鍵情報生成方法では、ホスト機器によって鍵情報が生成される。鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報とを含む。鍵情報は、改竄の有無を検出される。ホスト機器は、データ生成部と、データ書込部とを備える。データ生成部は、鍵情報を生成する。データ書込部は、データ生成部によって生成された鍵情報をターゲット機器に書き込む。ターゲット機器は、第1記憶領域と、第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含む。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含む。ドメイン鍵情報は、m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵を含む。上記生成方法は、ステップ(A)〜ステップ(E)を備える。ステップ(A)では、データ生成部が、m個のコンテンツ鍵情報の各々に対して、第1データを追加し、ドメイン鍵を用いてそのm個のコンテンツ鍵情報の各々を連鎖暗号化する。第1データは、改竄検出処理のために使用される部分検査用データに相当する。ステップ(B)では、データ生成部が、ステップ(A)において暗号化されたm個のコンテンツ鍵情報の各々の中から第1データを暗号化されたままの状態で抽出する。ステップ(C)では、データ生成部が、ステップ(B)において抽出されたm個の第1データを含む連結データに対して所定演算を実行して、第2データを生成する。ステップ(D)では、データ生成部が、ステップ(C)において生成された第2データを全体検査用データとしてドメイン鍵情報に追加する。ステップ(E)では、データ書込部が、上記m個の暗号化されたコンテンツ鍵情報を第1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第2記憶領域に書き込む。
上記鍵情報生成方法では、改竄検出処理のために使用されるデータが複数段階に分けて生成される。また、改竄検出処理のために使用されるデータのすべてが所定領域(セキュリティレベルが比較的高い第2記憶領域)に格納されるのではなく、最終段階の検査用データが所定領域に格納される。これにより、所定領域に格納されるデータ量を低減することができる。また、ある1つのコンテンツ鍵情報に対して所定処理を実行して得られる第1データと予め用意された部分検査用データとの比較を行えば、そのコンテンツ鍵情報における改竄の有無を検出できる。また、m個の第1データに基づいて生成される第2データと全体検証用データとの比較を行えば、鍵情報全体における改竄の有無を検出することができる。したがって、鍵情報全体に対して処理を実行する必要がないので、改竄検出処理時の処理量を低減することができる。
また、鍵情報生成方法では、ホスト機器によって鍵情報が生成される。鍵情報は、ドメイン鍵情報と、m個のコンテンツ鍵情報とを含む。鍵情報は、改竄の有無を検出される。ホスト機器は、データ生成部と、データ書込部とを備える。データ生成部は、鍵情報を生成する。データ書込部は、データ生成部によって生成された鍵情報をターゲット機器に書き込む。ターゲット機器は、第1記憶領域と、第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含む。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含む。ドメイン鍵情報は、m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵を含む。上記生成方法は、ステップ(A)〜ステップ(E)を備える。ステップ(A)では、データ生成部が、m個のコンテンツ鍵情報の各々に対して、第1データを追加し、ドメイン鍵を用いてそのm個のコンテンツ鍵情報の各々を連鎖暗号化する。第1データは、改竄検出処理のために使用される部分検査用データに相当する。ステップ(B)では、データ生成部が、ステップ(A)において暗号化されたm個のコンテンツ鍵情報の各々の中から第1データを暗号化されたままの状態で抽出する。ステップ(C)では、データ生成部が、第2データとステップ(B)において抽出されたm個の第1データとを含む連結データをドメイン鍵を用いて連鎖暗号化し、その暗号化された連結データの中から第2データを暗号化されたままの状態で抽出する。ステップ(D)では、データ生成部が、ステップ(C)において抽出された第2データを全体検査用データとしてドメイン鍵情報に追加する。ステップ(E)では、データ書込部が、ステップ(C)において暗号化された連結データに含まれるm個の暗号化された第1データを第1記憶領域に書き込む。また、ステップ(E)では、データ書込部が、上記m個の暗号化されたコンテンツ鍵情報を第1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第2記憶領域に書き込む。
また、鍵情報生成方法では、ホスト機器によって鍵情報が生成される。鍵情報は、ドメイン鍵情報と、m個のコンテンツ鍵情報とを含む。鍵情報は、改竄の有無を検出される。ホスト機器は、データ生成部と、データ書込部とを備える。データ生成部は、鍵情報を生成する。データ書込部は、データ生成部によって生成された鍵情報をターゲット機器に書き込む。ターゲット機器は、第1記憶領域と、第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含む。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含む。ドメイン鍵情報は、m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵を含む。上記生成方法は、ステップ(A)〜ステップ(E)を備える。ステップ(A)では、データ生成部が、ドメイン鍵を用いてm個のコンテンツ鍵情報の各々を暗号化する。ステップ(B)では、データ生成部が、ステップ(A)によって暗号化されたm個のコンテンツ鍵情報の各々に対して第1演算を実行して、m個の第1データを生成する。ステップ(C)では、データ生成部が、ステップ(B)において生成されたm個の第1データを含む連結データに対して第2演算を実行して、第2データを生成する。ステップ(D)では、データ生成部が、ステップ(C)において生成された第2データを全体検査用データとしてドメイン鍵情報に追加する。ステップ(E)では、データ書込部が、上記m個の第1データをm個の部分検査用データとして第1記憶領域に書き込む。また、ステップ(E)では、データ書込部が、上記m個の暗号化されたコンテンツ鍵情報を第1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第2記憶領域に書き込む。
この発明のもう1つの局面に従うと、鍵情報更新方法では、ホスト機器によって鍵情報が更新される。鍵情報は、改竄の有無を検出される。ホスト機器は、データ更新部と、データ書込部とを備える。データ更新部は、鍵情報に対して新たなコンテンツ鍵情報を追加するとともに、その鍵情報を更新する。データ書込部は、データ更新部によって更新された鍵情報をターゲット機器に書き込む。ターゲット機器は、第1記憶領域と、第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含む。鍵情報は、ドメイン鍵情報と、m個のコンテンツ鍵情報とを含む。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含む。ドメイン鍵情報は、m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含む。m個のコンテンツ鍵情報の各々は、暗号化されている。上記更新方法は、ステップ(A)〜ステップ(E)を備える。ステップ(A)では、データ更新部が、新たなコンテンツ鍵情報に対して第1データを追加し、そのコンテンツ鍵情報をドメイン鍵を用いて連鎖暗号化する。ステップ(B)では、データ更新部が、ステップ(A)において暗号化されたコンテンツ鍵情報の中から第1データを暗号化されたままの状態で抽出する。ステップ(C)では、データ更新部が、ステップ(B)において抽出された第1データとm個の暗号化されたコンテンツ鍵情報の各々に含まれる第1データとを含む連結データに対して所定演算を実行して、第2データを生成する。ステップ(D)では、データ更新部が、ドメイン鍵情報に含まれる全体検査用データをステップ(C)において生成された第2データに書き換える。ステップ(E)では、データ書込部が、上記m個の暗号化されたコンテンツ鍵情報と暗号化された新たなコンテンツ鍵情報とを第1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第2記憶領域に書き込む。
上記鍵情報更新方法では、鍵情報を更新するときに、鍵情報全体に対して所定処理を実行する必要がない。したがって、鍵情報の更新時における処理量を低減することができる。また、更新された鍵情報では、改竄検出処理のために使用されるデータのすべてが所定領域(セキュリティレベルが比較的高い第2記憶領域)に格納されるのではなく、最終段階の検査用データが所定領域に格納される。これにより、所定領域に格納されるデータ量を低減することができる。また、更新された鍵情報に対して改竄検出処理を実行する場合、鍵情報全体に対して処理する必要がないので、改竄検出時における処理量を低減することができる。
また、鍵情報更新方法では、ホスト機器によって鍵情報が更新される。鍵情報は、改竄の有無を検出される。ホスト機器は、データ更新部と、データ書込部とを備える。データ更新部は、鍵情報に対して新たなコンテンツ鍵情報を追加するとともに、その鍵情報を更新する。データ書込部は、データ更新部によって更新された鍵情報をターゲット機器に書き込む。ターゲット機器は、第1記憶領域と、第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含む。鍵情報は、ドメイン鍵情報と、m個のコンテンツ鍵情報と、m個の暗号化された第1データと、第2データとを含む。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含む。ドメイン鍵情報は、m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含む。m個のコンテンツ鍵情報の各々は、暗号化されている。上記更新方法は、ステップ(A)〜ステップ(E)を備える。ステップ(A)では、データ更新部が、新たなコンテンツ鍵情報に対して第1データを追加し、そのコンテンツ鍵情報をドメイン鍵を用いて連鎖暗号化する。ステップ(B)では、データ更新部が、ステップ(A)において暗号化されたコンテンツ鍵情報の中から第1データを暗号化されたままの状態で抽出する。ステップ(C)では、データ更新部が、第2データ,m個の暗号化された第1データ,およびステップ(B)において抽出された第1データを含む連結データを、ドメイン鍵を用いて連鎖暗号化し、その暗号化された連結データの中から第2データを暗号化されたままの状態で抽出する。ステップ(D)では、データ更新部が、ドメイン鍵情報に含まれる全体検査用データをステップ(C)において抽出された第2データに書き換える。ステップ(E)では、データ書込部が、ステップ(C)において暗号化された連結データに含まれる(m+1)個の第1データを第1記憶領域に書き込む。また、ステップ(E)では、データ書込部が、上記m個の暗号化されたコンテンツ鍵情報および上記暗号化された新たなコンテンツ鍵情報を第1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第2記憶領域に書き込む。
また、鍵情報更新方法では、ホスト機器によって鍵情報が更新される。鍵情報は、改竄の有無を検出される。ホスト機器は、データ更新部と、データ書込部とを備える。データ更新部は、鍵情報に対して新たなコンテンツ鍵情報を追加するとともに、その鍵情報を更新する。データ書込部は、データ更新部によって更新された鍵情報をターゲット機器に書き込む。上記ターゲット機器は、第1記憶領域と、第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含む。鍵情報は、ドメイン鍵情報と、m個のコンテンツ鍵情報と、m個の部分検査用データとを含む。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含む。ドメイン鍵情報は、m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含む。m個のコンテンツ鍵情報の各々は、暗号化されている。上記更新方法は、ステップ(A)〜ステップ(E)を備える。ステップ(A)では、データ更新部が、新たなコンテンツ鍵情報を暗号化する。ステップ(B)では、データ更新部が、ステップ(A)において暗号化された新たなコンテンツ鍵に対して第1演算を実行して、第1データを生成する。ステップ(C)では、データ更新部が、m個の部分検査用データとステップ(B)において生成された第1データとを含む連結データに対して第2演算を実行して、第2データを生成する。ステップ(D)では、データ更新部が、ドメイン鍵情報に含まれる全体検査用データをステップ(C)において生成された第2データに書き換える。ステップ(E)では、データ書込部が、m個の部分検査用データと上記第1データとを(m+1)個の部分検査用データとして第1記憶領域に書き込む。また、ステップ(E)では、データ書込部が、上記m個の暗号化されたコンテンツ鍵情報および上記暗号化された新たなコンテンツ鍵情報を第1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第2記憶領域に書き込む。
また、鍵情報更新方法では、ホスト機器によって鍵情報が更新される。鍵情報は、改竄の有無を検出される。ホスト機器は、データ更新部と、データ書込部とを備える。データ更新部は、改竄の有無を検出することができる鍵情報の中からいずれか1つのコンテンツ鍵情報を削除するとともに、その鍵情報を更新する。データ書込部は、データ更新部によって更新された鍵情報をターゲット機器に書き込む。ターゲット機器は、第1記憶領域と、第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含む。鍵情報は、ドメイン鍵情報と、m個のコンテンツ鍵情報とを含む。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含む。ドメイン鍵情報は、上記m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含む。m個のコンテンツ鍵情報の各々は、暗号化されている。上記更新方法は、ステップ(A)〜ステップ(E)を備える。ステップ(A)では、データ更新部が、m個の暗号化されたコンテンツ鍵情報のうちいずれか1つを削除する。ステップ(B)では、データ更新部が、ステップ(A)において削除されなかった(m−1)個の暗号化されたコンテンツ鍵情報の各々に含まれる第1データを暗号化されたままの状態で抽出する。ステップ(C)では、データ更新部が、ステップ(B)において抽出された(m−1)個の第1データを含む連結データに対して所定演算を実行して、第2データを生成する。ステップ(D)では、データ更新部が、ドメイン鍵情報に含まれる全体検査用データをステップ(C)において生成された第2データに書き換える。ステップ(E)では、データ書込部が、上記(m−1)個の暗号化されたコンテンツ鍵情報を第1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第2記憶領域に書き込む。
また、鍵情報更新方法では、ホスト機器によって鍵情報が更新される。鍵情報は、改竄の有無を検出される。ホスト機器は、データ更新部と、データ書込部とを備える。データ更新部は、改竄の有無を検出することができる鍵情報の中からいずれか1つのコンテンツ鍵情報を削除するとともに、その鍵情報を更新する。ターゲット機器は、第1記憶領域と、第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含む。鍵情報は、ドメイン鍵情報と、m個のコンテンツ鍵情報と、m個の暗号化された第1データと、第2データとを含む。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含む。ドメイン鍵情報は、m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含む。m個の暗号化された第1データは、m個のコンテンツ鍵情報と一対一で対応する。m個のコンテンツ鍵情報の各々は、暗号化されている。上記更新方法は、ステップ(A)〜ステップ()を備える。ステップ(A)では、データ更新部が、m個のコンテンツ鍵情報のうちいずれか1つを削除する。ステップ(B)では、データ更新部が、ステップ(A)において削除されなかった(m−1)個の暗号化されたコンテンツ鍵情報の各々に含まれる第1データを暗号化されたままの状態で抽出する。ステップ(C)では、データ更新部が、m個の暗号化された第1データのうちステップ(A)において削除されたコンテンツ鍵情報に対応する第1データを削除する。ステップ()では、データ更新部が、第2データとステップ()において削除されなかった(m−1)個の暗号化された第1データとを含む連結データをドメイン鍵を用いて連鎖暗号化し、その暗号化された連結データの中から第2データを暗号化されたままの状態で抽出する。ステップ()では、データ更新部が、ドメイン鍵情報に含まれる全体検査用データをステップ()において抽出された第2データに書き換える。ステップ()では、データ書込部が、ステップ()において暗号化された連結データに含まれる(m−1)個の第1データを第1記憶領域に書き込む。また、ステップ()では、データ書込部が、上記(m−1)個の暗号化されたコンテンツ鍵情報を第1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第2記憶領域に書き込む。
また、鍵情報更新方法では、ホスト機器によって鍵情報が更新される。鍵情報は、改竄の有無を検出される。ホスト機器は、データ更新部と、データ書込部とを備える。データ更新部は、改竄の有無を検出することができる鍵情報の中からいずれか1つのコンテンツ鍵情報を削除するとともに、その鍵情報を更新する。ターゲット機器は、第1記憶領域と、第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含む。鍵情報は、ドメイン鍵情報と、m個のコンテンツ鍵情報と、m個の部分検査用データとを含む。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含む。ドメイン鍵情報は、m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含む。m個の部分検査用データは、m個のコンテンツ鍵情報と一対一で対応する。m個のコンテンツ鍵情報の各々は、暗号化されている。上記更新方法は、ステップ(A)〜ステップ(E)を備える。ステップ(A)では、データ更新部が、m個の暗号化されたコンテンツ鍵情報のうちいずれか1つを削除する。ステップ(B)では、データ更新部が、m個の部分検査用データのうちステップ(A)において削除されたコンテンツ鍵情報に対応する部分検査用データを削除する。ステップ(C)では、データ更新部が、ステップ(B)において削除されなかった(m−1)個の部分検査用データを含む連結データに対して第2演算を実行して、第2データを生成する。ステップ(D)では、データ更新部が、ドメイン鍵情報に含まれる全体検査用データをステップ(C)において生成された第2データに書き換える。ステップ(E)では、データ書込部が、ステップ(B)において削除されなかった(m−1)個の部分検査用データを上記第1記憶領域に書き込む。また、ステップ(E)では、データ書込部が、上記(m−1)個の暗号化されたコンテンツ鍵情報を第1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第2記憶領域に書き込む。
この発明のさらにもう1つの局面に従うと、改竄検出方法では、ホスト機器によって、ターゲット機器に格納された鍵情報における改竄の有無が検出される。鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報とを含む。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含む。ドメイン鍵情報は、m個のコンテンツ鍵を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含む。m個のコンテンツ鍵情報の各々は、暗号化されている。上記改竄検出方法は、ステップ(A)〜ステップ(E)を備える。ステップ(A)では、ホスト機器が、ターゲット機器に格納されたm個の暗号化されたコンテンツ鍵情報のうちいずれか1つをターゲット機器に格納されたドメイン鍵を用いて連鎖復号化し、その復号化されたコンテンツ鍵情報の中から上記第1データを抽出する。ステップ(B)では、ホスト機器が、ステップ(A)において抽出された第1データと予め用意された部分検査用データとを比較する。ステップ(C)では、ホスト機器が、ターゲット機器に格納されたm個のコンテンツ鍵情報の各々の中から第1データを暗号化されたままの状態で抽出し、その抽出されたm個の第1データを含む連結データに対して所定演算を実行して、第2データを生成する。ステップ(D)では、ホスト機器が、ステップ(C)において生成された第2データとターゲット機器に格納されたドメイン鍵情報に含まれる全体検査用データとを比較する。ステップ(E)では、ホスト機器が、ステップ(B)において第1データと部分検査用データとが一致し、且つ、ステップ(D)において第2データと全体検査用データとが一致すると、ターゲット機器に格納された鍵情報が改竄されていないと判断する。
上記改竄検出方法では、鍵情報全体に対して処理を実行する必要がないので、改竄検出処理時の処理量を低減することができる。また、改竄検出処理のために使用されるデータのすべてが所定領域(セキュリティレベルが比較的高い第2記憶領域)に格納されている必要はなく、最終段階で使用される検査用データが所定領域に格納されていれば良い。したがって、所定領域に格納されるデータ量を低減することができる。
また、改竄検出方法では、ホスト機器によって、ターゲット機器に格納された鍵情報における改竄の有無が検出される。鍵情報は、ドメイン鍵情報と、m個のコンテンツ鍵情報と、m個の暗号化された第1データと、第2データとを含む。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含む。ドメイン鍵情報は、m個のコンテンツ鍵を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含む。m個のコンテンツ鍵情報の各々は、暗号化されている。上記改竄検出方法は、ステップ(A)〜ステップ(E)を備える。ステップ(A)では、ホスト機器が、ターゲット機器に格納されたm個の暗号化されたコンテンツ鍵情報のうちいずれか1つをターゲット機器に格納されたドメイン鍵を用いて連鎖復号化し、その復号化されたコンテンツ鍵情報の中から第1データを抽出する。ステップ(B)では、ホスト機器が、ステップ(A)において抽出された第1データと予め用意された部分検査用データとを比較する。ステップ(C)では、ホスト機器が、ターゲット機器に格納されたドメイン鍵情報に含まれる全体検査用データとm個の暗号化された第1データとを含む連結データをドメイン鍵を用いて連鎖復号化し、その復号化された連結データの中からその全体検査用データを抽出する。ステップ(D)では、ホスト機器が、ターゲット機器に格納された第2データとステップ(C)において抽出された全体検査用データとを比較する。ステップ(E)では、ホスト機器が、ステップ(B)において第1データと部分検査用データとが一致し、且つ、ステップ(D)において第2データと全体検査用データとが一致すると、ターゲット機器に格納された鍵情報が改竄されていないと判断する。
また、改竄検出方法では、ホスト機器によって、ターゲット機器に格納された鍵情報における改竄の有無が検出される。鍵情報は、ドメイン鍵情報と、m個のコンテンツ鍵情報と、m個の部分検査用データとを含む。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含む。ドメイン鍵情報は、m個のコンテンツ鍵を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含む。m個の部分検査用データは、m個のコンテンツ鍵情報と一対一で対応する。m個のコンテンツ鍵情報の各々は、暗号化されている。上記改竄検出方法は、ステップ(A)〜ステップ(E)を備える。ステップ(A)では、ホスト機器が、ターゲット機器に格納されたm個の暗号化されたコンテンツ鍵情報のうちいずれか1つに対して第1演算を実行して、第1データを生成する。ステップ(B)では、ホスト機器が、ステップ(A)において生成された第1データとターゲット機器に格納されたm個の部分検査用データのうちステップ(A)において第1演算が実行されたコンテンツ鍵情報に対応する部分検査用データとを比較する。ステップ(C)では、ホスト機器が、ターゲット機器に格納されたm個の部分検査用データを含む連結データに対して第2演算を実行して、第2データを生成する。ステップ(D)では、ホスト機器が、ステップ(C)において生成された第2データとターゲット機器に格納されたドメイン鍵情報に含まれる全体検査用データとを比較する。ステップ(E)では、ホスト機器が、ステップ(B)において第1データと部分検査用データとが一致し、且つ、ステップ(D)において第2データと全体検査用データとが一致すると、ターゲット機器に格納された鍵情報が改竄されていないと判断する。
この発明のさらにもう1つの局面に従うと、鍵情報のデータ構造は、m個のコンテンツ鍵情報と、ドメイン鍵情報とを備える。鍵情報は、ターゲット機器に格納される。また、鍵情報は、ホスト機器によって改竄の有無を検出される。ターゲット機器は、第1記憶領域と、第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含む。m個のコンテンツ鍵情報は、第1記憶領域に格納される。ドメイン鍵情報は、第2記憶領域に格納される。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、ホスト機器による改竄検出処理のために使用される部分検査用データに相当する第1データとを含む。ドメイン鍵情報は、m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、ホスト機器による改竄検出処理のために使用される全体検査用データとを含む。m個のコンテンツ鍵情報の各々は、暗号化されている。全体検査用データは、改竄されていないm個の暗号化されたコンテンツ鍵情報の各々から第1データを暗号化されたままの状態で抽出し、その抽出されたm個の第1データを含む連結データに対して所定演算を実行することによって得られるデータに相当する。
上記鍵情報のデータ構造では、改竄検出処理のために使用されるデータのすべてが所定領域(セキュリティレベルが比較的高い第2記憶領域)に格納されているのではなく、最終段階の検査用データが所定領域に格納されている。したがって、所定領域に格納されるデータ量を低減することができる。また、ある1つのコンテンツ鍵情報に対して所定処理を実行して得られる第1データと予め用意された部分検査用データとの比較を行えば、そのコンテンツ鍵情報における改竄の有無を検出できる。また、m個の第1データに基づいて生成される第2データと全体検証用データとの比較を行えば、鍵情報全体における改竄の有無を検出することができる。したがって、鍵情報全体に対して処理を実行する必要がないので、改竄検出処理時における処理量を低減することができる。
また、鍵情報のデータ構造は、m個のコンテンツ鍵情報と、ドメイン鍵情報と、m個の暗号化された第1データと、第2データとを備える。鍵情報は、ターゲット機器に格納される。また、鍵情報は、ホスト機器によって改竄の有無を検出される。ターゲット機器は、第1記憶領域と、第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含む。m個のコンテンツ鍵情報,m個の暗号化された第1データ,および第2データは、第1記憶領域に格納される。ドメイン鍵情報は、第2記憶領域に格納される。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、ホスト機器による改竄検出処理のために使用される部分検査用データに相当する第1データとを含む。ドメイン鍵情報は、m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、ホスト機器による改竄検出処理のために使用される全体検査用データとを含む。m個の暗号化された第1データは、m個のコンテンツ鍵情報と一対一で対応する。m個のコンテンツ鍵情報の各々は、暗号化されている。全体検査用データは、改竄されていないm個の暗号化された第1データと第2データとを含む連結データをドメイン鍵を用いて連鎖暗号化し、その暗号化された連結データの中から暗号化されたままの状態で抽出される第2データに相当する。
また、鍵情報のデータ構造は、m個のコンテンツ鍵情報と、ドメイン鍵情報と、m個の部分検査用データとを備える。鍵情報は、ターゲット機器に格納される。また、鍵情報は、ホスト機器によって改竄の有無を検出される。ターゲット機器は、第1記憶領域と、第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含む。m個のコンテンツ鍵情報およびm個の部分検査用データは、第1記憶領域に格納される。ドメイン鍵情報は、第2記憶領域に格納される。m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含む。ドメイン鍵情報は、m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、ホスト機器による改竄検出処理のために使用される全体検査用データとを含む。m個の部分検査用データは、m個のコンテンツ鍵情報と一対一で対応する。m個の部分検査用データの各々は、その部分検査用データに対応する改竄されていないコンテンツ鍵情報に対して第1演算を実行することによって得られるデータに相当する。全体検査用データは、改竄されていないm個の部分検査用データを含む連結データに対して第2演算を実行することによって得られるデータに相当する。
以上のように、改竄検出処理のために使用されるデータのすべてが所定領域(セキュリティレベルが比較的高い第2記憶領域)に格納されるのではなく、最終段階の検査用データが所定領域に格納される。これにより、所定領域に格納されるデータ量を低減することができる。
また、鍵情報全体に対して処理を実行する必要がないので、改竄検出処理時における処理量を低減することができる。
また、鍵情報を更新するときに、鍵情報全体に対して所定処理を実行する必要がない。したがって、鍵情報の更新時における処理量を低減することができる。
以下、この発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一または相当部分には同一の符号を付しその説明は繰り返さない。
(第1の実施形態)
<全体構成>
図1は、この発明の第1の実施形態による機密情報処理システムの全体構成を示す。この機密情報処理システムは、ターゲット機器10と、ホスト機器11とを備える。ターゲット機器10は、例えば、SDカードに代表されるメモリカードのような可搬型記憶デバイスであり、鍵情報を含むデータを格納する。ホスト機器11は、ターゲット機器10が接続されて、ターゲット機器10との間で鍵情報の読み出し/書き込みを行う。なお、ターゲット機器10とホスト機器11とが一体となっていても良い。
<ターゲット機器の内部構成>
ターゲット機器10は、システム領域101と、保護領域102と、通常領域103とを含む。システム領域101,保護領域102,通常領域の各々の格納サイズは、予め設定されている。例えば、ターゲット機器10の格納領域全体(例えば、512MB)のうち、約1%がシステム領域101および保護領域102に割り当てられ、残りが通常領域103に割り当てられることが理想的である。
〔システム領域〕
システム領域101は、ホスト機器11からアクセスすることができる領域と、ホスト機器11からアクセスすることができない領域に分かれている。システム領域101のうちホスト機器11からアクセス可能な領域には、ターゲット機器10とホスト機器11との間で実行される認証処理に必要な情報(ターゲット機器用認証鍵)が格納されている。システム領域101のうちホスト機器11からアクセス不可能な領域には、相互認証の結果得られる認証中間鍵Aが予め格納されている。システム領域101に格納されるべき情報は製造段階で予め書き込まれており、製品となって出荷された後に書き換えることはできない。
〔保護領域〕
保護領域102は、ターゲット機器10とホスト機器11との間で実行される認証処理が成功して初めてホスト機器11がアクセスすることができる領域である。保護領域102には、少なくとも1つのドメイン鍵情報が格納されている。ドメイン鍵情報は、ドメイン鍵を含む。また、ドメイン鍵情報は、ドメイン鍵管理情報を含んでいても良い。ドメイン鍵管理情報には、このドメイン鍵を使用することができるホスト機器を特定するための情報等が書き込まれている。
〔通常領域〕
通常領域103は、ホスト機器11が任意にアクセスすることができる領域である。通常領域103には、複数のコンテンツ鍵情報と、複数のコンテンツとが格納されている。複数のコンテンツ鍵情報の各々は、保護領域102に格納されたドメイン鍵情報のうちいずれか1つに対応する。複数のコンテンツ鍵情報の各々は、コンテンツ鍵を含む。また、複数のコンテンツ鍵情報の各々は、コンテンツ鍵管理情報を含んでいても良い。コンテンツ鍵管理情報には、コンテンツの再生限度回数やコピー限度回数,コンテンツについての著作権に関する情報等が書き込まれている。複数のコンテンツは、複数のコンテンツ鍵情報と一対一で対応する。
ドメイン鍵情報は、認証中間鍵Aを用いて暗号化されている。複数のコンテンツ鍵情報の各々は、対応するドメイン鍵を用いて暗号化されている。コンテンツは、対応するコンテンツ鍵を用いて暗号化されている。
<ホスト機器の内部構成>
ホスト機器11は、内部バス111と、ターゲットI/F部112と、機密情報処理部113と、ホストI/F部114と、ホストCPU115と、ROM116と、RAM117とを含む。ターゲットI/F部112は、ターゲット機器10との間でデータの入出力を行う。機密情報処理部113は、所定シーケンスに従って、ターゲット機器10との間で認証を実行する。また、機密情報処理部113は、ターゲット機器10に格納された機密情報の暗号化/復号化を実行する。ホストI/F部114は、ターゲットI/F部112との間,機密情報処理部113との間,およびホストCPU115との間で、データの入出力を行う。ホストCPU115は、機密情報処理部113に所定シーケンスを実行させる。ROM116には、ホスト機器用認証鍵が格納されている。RAM117は、ホストCPU115や機密情報処理部113に、データを一時格納しておくためのワーク領域として使用される。
ターゲット機器10とホスト機器11との間において機密情報の読み出し/書き込みが行われる場合には、ターゲット機器10とホスト機器11との間で認証を行う必要がある。この場合、ホストCPU115によって機密情報処理部113が起動され、機密情報処理部113が認証処理を行う。認証が成功すると、ホスト機器11では、ターゲット機器10からターゲットI/F部112を介して機密情報が読み出され、機密情報処理部113によって復号化される。
機密情報処理部113は、秘匿されたハードウェアである。また、機密情報処理部113は、ホストCPU115によって起動されると、セキュリティの確保された,あるいはセキュリティの必要の少ない所定のシーケンスのみを実行する。
<機密情報>
次に、ターゲット機器10に格納される機密情報について図2を参照しつつ説明する。保護領域102には、ドメイン鍵群UKUREが格納されている。通常領域103には、鍵対応テーブルAddress Listと、コンテンツ鍵群TKURE(i)と、ハッシュリストHash List(i)とが格納されている。なお、通常領域103には、暗号化されたコンテンツも格納されているが、図2では省略する。
〔ドメイン鍵群〕
ドメイン鍵群UKUREは、n個(nは1以上の整数)の暗号化ドメイン鍵EncKu(1)〜EncKu(n)と、n個の暗号化ドメイン鍵管理情報EncUR[u](1)〜EncUR[u](n)とを含む。
暗号化ドメイン鍵EncKu(1)〜EncKu(n)の各々には、複数の暗号化コンテンツ鍵(1つのコンテンツ鍵群)が対応付けられている。また、図3のように、暗号化ドメイン鍵EncKu(1)〜EncKu(n)は、認証中間鍵Aを用いて復号化されることによって、ドメイン鍵Ku(1)〜Ku(n)になる。ドメイン鍵Ku(1)〜Ku(n)の各々は、自己に対応付けられた複数のコンテンツ鍵を暗号化/復号化するために使用される。つまり、1つのドメイン鍵を用いて、複数のコンテンツ鍵を暗号化/復号化することができる。
暗号化ドメイン鍵管理情報EncUR[u](1)〜EncUR[u](n)は、暗号化ドメイン鍵EncKu(1)〜EncKu(n)と一対一で対応する。また、図3のように、暗号化ドメイン鍵管理情報EncUR[u](1)〜EncUR[u](n)は、認証中間鍵Aを用いて復号化されることによって、ドメイン鍵管理情報UR[u](1)〜UR[u](n)になる。さらに、暗号化ドメイン鍵管理情報EncUR[u](1)〜EncUR[u](n)の各々の所定位置には、全体検査用データが格納されている。全体検査用データは、その暗号化ドメイン鍵管理情報に対応するコンテンツ鍵群に基づいて生成されている。例えば、暗号化ドメイン鍵管理情報EncUR[u](1)〜EncUR[u](n)のうちi番目の暗号化ドメイン鍵管理情報EncUR[u](i)(iは整数,且つ,1≦i≦n)の所定位置には、コンテンツ鍵群TKURE(i)に基づいて生成された全体検査用データDATA11(i)が格納される。
なお、図2では、暗号化ドメイン鍵EncKu(i)に対応するコンテンツ鍵群TKURE(i)のみしか図示していないが、暗号化ドメイン鍵EncKu(i)以外の暗号化ドメイン鍵の各々にもコンテンツ鍵群が一対一で対応していてもよい。
〔コンテンツ鍵群〕
コンテンツ鍵群TKURE(i)は、ドメイン鍵Ku(i)を用いて暗号化/復号化することができるコンテンツ鍵およびそのコンテンツ鍵に付随する情報の集合である。コンテンツ鍵群TKURE(i)は、m個(mは1以上の整数)の暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m)と、m個の暗号化コンテンツ鍵管理情報EncUR[t](i-1)〜EncUR[t](i-m)とを含む。
図3のように、暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m)は、ドメイン鍵Ku(i)を用いて復号化されることによって、コンテンツ鍵Kt(i-1)〜Kt(i-m)になる。コンテンツ鍵Kt(i-1)〜Kt(i-m)の各々は、自己に対応するコンテンツ(図示せず)を暗号化/復号化するために使用される。
暗号化コンテンツ鍵管理情報EncUR[t](i-1)〜EncUR[t](i-m)は、暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m)と一対一で対応する。また、図3のように、暗号化コンテンツ鍵管理情報EncUR[t](i-1)〜EncUR[t](i-m)は、ドメイン鍵Ku(i)を用いて復号化されることによって、コンテンツ鍵管理情報UR[t](i-1)〜UR[t](i-m)になる。
〔鍵対応テーブル〕
鍵対応テーブルAddress Listには、n個の暗号化ドメイン鍵のアドレスKu addr(1)〜Ku addr(n)とn個のコンテンツ鍵テーブルKt addr list(1)〜Kt addr list(n)とが対応付けられている。n個のコンテンツ鍵テーブルの各々は、n個のコンテンツ群(図2では、コンテンツ鍵群TKURE(i)のみを図示している。)と一対一で対応する。また、コンテンツ鍵テーブルの各々には、対応するコンテンツ鍵群に含まれる暗号化コンテンツ鍵のアドレスが書き込まれている。例えば、ドメイン鍵Ku(i)のアドレスKu addr (i)に対応するコンテンツ鍵テーブルKt addr list(i)を参照して、ドメイン鍵Ku(i)に対応するコンテンツ鍵群TKURE(i)(詳しくは、暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m))を検索することができる。このように、鍵管理テーブルAddress Listを参照することによって、ドメイン鍵とコンテンツ鍵との対応関係を素早く検索することができる。
〔ハッシュリスト〕
ハッシュリストHash List(i)は、コンテンツ鍵群TKURE(i)に対応する。また、ハッシュリストHash List(i)は、m個のハッシュ値Hash(i-1)〜Hash(i-m)を含む。ハッシュ値Hash(i-1)〜Hash(i-m)は、暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m)と一対一で対応する。なお、図2では、コンテンツ鍵群TKURE(i)に対応するハッシュリストHash List(i)のみしか図示していないが、コンテンツ鍵群TKURE(i)以外のコンテンツ鍵群(図示せず)の各々に対応するハッシュリストも存在していても良い。
<ハッシュリストの生成手順>
次に、図4を参照しつつ、図2に示したハッシュリストHash List(i)の生成手順について説明する。
〔ステップST101−1〕
まず、暗号化コンテンツ鍵EncKt(i-1)および暗号化コンテンツ鍵管理情報EncUR[t](i-1)は、1つに連結される。暗号化コンテンツ鍵EncKt(i-2)〜EncKt(i-m)の各々においても、同様に、その暗号化コンテンツ鍵,その暗号化コンテンツ鍵に付随する暗号化コンテンツ鍵管理情報が、1つに連結される。これにより、m個の連結データが生成される。
〔ステップST101−2〕
次に、暗号化コンテンツ鍵EncKt(i-1)に対応する連結データに対して、ハッシュ演算が実行される。これにより、ハッシュ値Hash(i-1)が算出される。暗号化コンテンツ鍵EncKt(i-2)〜EncKt(i-m)の各々に対応する連結データにおいても、同様に、その連結データに対してハッシュ演算が実行される。このようにして、m個のハッシュ値Hash(i-1)〜Hash(i-m)が算出される。
〔ステップST101−3〕
次に、算出されたm個のハッシュ値Hash(i-1)〜Hash(i-m)は、1つのリストにまとめられる。これにより、コンテンツ鍵群TKURE(i)に対応するハッシュリストHash List(i)が完成する。
<連結ハッシュ値の生成手順>
次に、図4を参照しつつ、図2に示した全体検査用データDATA11(i)の生成手順について説明する。
〔ステップST101−4〕
まず、ハッシュリストHash List(i)に存在するm個のハッシュ値Hash(i-1)〜Hash(i-m)は、1つに連結される。これにより、1つのハッシュ連結データが生成される。
〔ステップST101−5〕
次に、ステップST101−4において生成されたハッシュ連結データに対して、ハッシュ演算が実行される。これにより、連結ハッシュ値Hash(i)が算出される。
〔ステップST101−6〕
次に、ステップST101−5において算出された連結ハッシュ値Hash(i)は、全体検査用データDATA11(i)として、暗号化ドメイン鍵管理情報EncUR[u](i)の所定位置に格納される。暗号化ドメイン鍵管理情報EncUR[u](i)は、ハッシュリストHash List(i)に対応する。
ここで、暗号化ドメイン鍵管理情報EncUR[u](i)を更新する場合(例えば、既に存在する暗号化ドメイン鍵EncKu(i)に対して新たなコンテンツ鍵情報が対応付けられた場合や、暗号化ドメイン鍵EncKu(i)に対して対応付けられているコンテンツ鍵情報が削除された場合)は、暗号化ドメイン鍵管理情報EncUR[u](i)は、連結ハッシュ値Hash(i)を格納する前に一旦復号化されて、ドメイン鍵管理情報UR[u](i)になる。そして、ドメイン鍵管理情報UR[u](i)に連結ハッシュ値Hash(i)が格納されると、そのドメイン鍵管理情報UR[u](i)は、暗号化されて暗号化ドメイン鍵管理情報EncUR[u](i)に戻る。このようにして、全体検査用データDATA11(i)が更新される。
ただし、ドメイン鍵Ku(i)も新たに作成された場合は、ドメイン鍵管理情報UR[u](i)も新規に作成されることになるので、一旦復号化の処理を行う必要はない。この場合、新たに作成されたドメイン鍵管理情報UR[u](i)に連結ハッシュ値Hash(i)を格納した後、そのドメイン鍵管理情報UR[u](i)が暗号化される。このようにして新たな暗号化ドメイン鍵管理情報EncUR[u](i)が生成される。
<全体の処理の流れ>
次に、図5を参照しつつ、ホスト機器11がターゲット機器10に格納された暗号化コンテンツを復号化する処理について説明する。
〔ステップST11〕
まず、ターゲット機器10がホスト機器11に接続されると、ターゲット機器10のシステム領域101に格納されたターゲット機器用認証鍵を読み出す。
〔ステップST12〕
次に、ホスト機器11は、ターゲット機器10から読み出したターゲット機器用認証鍵と自らが有するホスト機器用認証鍵とを用いて、認証処理を実行する。
〔ステップST13〕
認証処理の結果、認証に失敗した場合には、ホスト機器11は、不正なアクセスであると判断して異常終了を実行する。一方、ホスト機器11が認証に成功した場合には、ステップST14へ進む。
〔ステップST14〕
次に、ホスト機器11は、ターゲット機器10から読み出したターゲット機器用認証鍵と自らが有するホスト機器用認証鍵とに基づいて、認証中間鍵を生成する。生成された認証中間鍵は、機密情報処理部113内の認証中間鍵格納領域に格納される。これによって、ターゲット機器10とホスト機器11との間で以降のやりとりを行う準備が完了する。
〔ステップST15〕
次に、ホスト機器11は、ターゲット機器10に格納された暗号化コンテンツの復号化をユーザなどから要求されているか否かを判断する。要求されていると判断すると、ステップST16へ進む。
〔ステップST16〕
次に、ホスト機器11は、暗号化コンテンツの復号化に必要となる機密情報(暗号化コンテンツ鍵、暗号化ドメイン鍵、およびそれらに付随する情報)をターゲット機器10から読み出す。具体的な処理としては、ホスト機器11は、まず、暗号化コンテンツに付随する情報からコンテンツIDを抽出し、コンテンツIDに基づいて、暗号化コンテンツの復号化に必要となるコンテンツ鍵を特定する。コンテンツIDとコンテンツ鍵との対応関係はテーブルとして準備されている。次に、ホスト機器11は、特定されたコンテンツ鍵に基づいてターゲット機器10内の通常領域103に格納された鍵対応テーブルを参照して、必要となるドメイン鍵を特定する。コンテンツ鍵とドメイン鍵とが特定されると、必要となる鍵情報が読み出される。
〔ステップST17〕
次に、ホスト機器11は、ステップST14において生成された認証中間鍵を用いて、ステップST16において読み出された暗号化ドメイン鍵を復号化する。これにより、平文のドメイン鍵が生成される。
〔ステップST18〕
次に、ホスト機器11は、ステップST16において読み出された暗号化コンテンツ鍵に対して改竄チェックを実行する。
〔ステップST19〕
暗号化コンテンツ鍵の改竄が検出された場合には、ホスト機器11は、不正なアクセスであると判断して異常終了を実行する。一方、暗号化コンテンツ鍵の改竄が検出されなかった場合には、ステップST20へ進む。
〔ステップST20〕
次に、ホスト機器11は、ステップST17において生成されたドメイン鍵を用いて、暗号化コンテンツ鍵を復号化する。これにより、ホスト機器11は、平文のコンテンツ鍵を取得する。
〔ステップST21〕
次に、ホスト機器11は、ステップST20において取得した平文のコンテンツ鍵を用いて、暗号化コンテンツを復号化する。これにより、コンテンツが利用可能となる。
<認証処理>
ここで、図6を参照しつつ、ターゲット機器10とホスト機器11との間で実行される認証処理について説明する。
〔ステップST31〕
まず、ホスト機器11は、ターゲット機器10のシステム領域101に格納されたターゲット機器用認証鍵を読み出す。
〔ステップST32〕
次に、ホスト機器11は、ROM116に格納されたホスト機器用認証鍵を読み出す。
〔ステップST33〕
次に、ホスト機器11は、ターゲット機器用認証鍵とホスト機器用認証鍵とに基づいて、認証中間鍵Aを生成する。具体的には、ホスト機器11は、ターゲット機器用認証鍵とホスト機器用認証鍵とを掛け合わせることによって、認証中間鍵Aを生成する。
〔ステップST34〕
次に、ホスト機器11およびターゲット機器10の各々は、互いに個別に所定関数(例えば、乱数)を生成し、生成した所定関数を互いに交換する。
〔ステップST35〕
次に、ホスト機器11は、ステップST33において生成された認証中間鍵Aに対して、ステップST34においてホスト機器11において生成された所定関数およびターゲット機器10で生成された所定関数を掛け合わせることによって、認証中間鍵Bを生成する。
〔ステップST36〕
一方、ターゲット機器10(具体的にはターゲット機器10内の処理部(図示せず))は、システム領域101に格納された認証中間鍵Aを読み出し、読み出した認証中間鍵Aに対してステップST34においてターゲット機器10で生成された所定関数およびホスト機器11において生成された所定関数を掛け合わせることによって、認証中間鍵Bを生成する。
〔ステップST37〕
次に、ターゲット機器10は、保護領域102に格納された暗号化ドメイン鍵情報(ここでは、暗号化ドメイン鍵EncKu(i),暗号化ドメイン鍵管理情報EncUR[u](i))を読み出し、ステップST36において生成された認証中間鍵Bを用いて、読み出した暗号化ドメイン鍵情報を暗号化する。
〔ステップST38〕
次に、ターゲット機器10は、暗号化されたドメイン鍵情報をホスト機器10へ送る。
〔ステップST39〕
次に、ホスト機器11は、ステップST34において生成された認証中間鍵Bを用いて、ターゲット機器10から送られたドメイン鍵情報を復号化する。
〔ステップST40〕
次に、ホスト機器11は、ステップST33において生成された認証中間鍵Aを用いて、ステップST39において復号化されたドメイン鍵情報をさらに復号化する。これにより、平文状態のドメイン鍵情報(ここでは、ドメイン鍵Ku(i),ドメイン鍵管理情報UR[u](i))が生成される。
このように、ターゲット機器10とホスト機器11との間でドメイン鍵情報がやりとりされる場合、ドメイン鍵情報は、認証中間鍵A,認証中間鍵Bを用いて、2重に暗号化される。
<コンテンツ鍵の改竄検出>
図7を参照しつつ、ホスト機器11がターゲット機器10に格納された機密情報における改竄を検出する処理(ステップST22における処理)について説明する。ここでは、ホスト機器11は、ドメイン鍵Ku(i)に対応するコンテンツ鍵Kt(i-1)〜Kt(i-m)のうちj番目(jは整数,且つ,1≦j≦m)のコンテンツ鍵Kt(i-j)を改竄検出の対象とする。
〔ステップST102−1〕
まず、ホスト機器11は、暗号化コンテンツ鍵EncKt(i-j)とそれに付随する暗号化コンテンツ鍵管理情報EncUR[t](i-j)とを連結する。これにより、1つの連結データが生成される。
〔ステップST102−2〕
次に、ホスト機器11は、ステップST102−1において生成された連結データに対してハッシュ演算を実行して、ハッシュ値Hash(i-j)を算出する。
〔ステップST102−3〕
次に、ホスト機器11は、ステップST102−2において算出されたハッシュ値Hash(i-j)とターゲット機器10の通常領域103に格納されたハッシュリストHash List(i)内のハッシュ値Hash(i-j)とを比較する。
〔ステップST102−4〕
ステップST102−3における比較の結果、ステップST102−2において算出されたハッシュ値Hash(i-j)とハッシュリストHash List(i)のハッシュ値Hash(i-j)とが不一致であると判断すると、ホスト機器11は、暗号化コンテンツ鍵EncKt(i-j),あるいは暗号化コンテンツ鍵管理情報EncUR[t](i-j)が改竄されていると判断して、異常終了を実行する。一方、両者が一致すると判断された場合には、ステップST102−5へ進む。
〔ステップST102−5〕
次に、ホスト機器11は、ターゲット機器10に格納されたハッシュリストHash List(i)の中からコンテンツ鍵Kt(i-j)に対応するハッシュ値Hash(i-j)を除いた(m−1)個のハッシュ値Hash(i-1)〜Hash(i-(j-1)),Hash(i-(j+1))〜Hash(i-m)を取得する。つまり、ホスト機器11は、暗号化ドメイン鍵EncKu(i)に対応する暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m)のうち暗号化コンテンツ鍵EncKt(i-j)以外の(m−1)個の暗号化コンテンツ鍵に対しては、ハッシュ演算を実行しない。次に、ホスト機器11は、ハッシュ値Hash(i-j)の直前に位置するハッシュ値Hash(i-(j-1))とハッシュ値Hash(i-j)の直後に位置するハッシュ値Hash(i-(j+1))との間にステップST102−2において算出されたハッシュ値Hash(i-j)を配置する。そして、ホスト機器11は、それらのハッシュ値Hash(i-1)〜Hash(i-(j-1)),Hash(i-j),Hash(i-(j+1))〜Hash(i-m)を1つに連結する。これにより、ハッシュ連結データが生成される。つまり、このハッシュ連結データでは、ハッシュリストHash List(i)に存在するm個のハッシュ値Hash(i-1)〜Hash(i-m)のうちハッシュ値Hash(i-j)がステップST102−2において算出されたハッシュ値Hash(i-j)に置換されている。
なお、ハッシュ値Hash(i-j)を置換する必要は必ずしもなく、すでにハッシュリストHash List(i)内のハッシュ値との比較によって正当性は検証されているので、ハッシュリストHash List(i)をそのまま連結してハッシュ連結データを生成しても良い。
〔ステップST102−6〕
次に、ホスト機器11は、ステップST102−5において生成されたハッシュ連結データに対してさらにハッシュ演算を行い、連結ハッシュ値Hash(i)を算出する。次に、ステップST102−9へ進む。
〔ステップST102−7〕
一方、ホスト機器11は、鍵対応テーブルAddress Listを参照して、暗号化コンテンツ鍵EncKt(i-j)の復号化に必要な暗号化ドメイン鍵EncKu(i)を検出する。そして、ホスト機器11は、認証中間鍵Aを用いて、その検出した暗号化ドメイン鍵EncKu(i)および暗号化ドメイン鍵管理情報EncUR[u](i)を復号化する。これにより、ドメイン鍵Ku(i)およびドメイン鍵管理情報UR[u](i)が生成される。
〔ステップST102−8〕
次に、ホスト機器11は、ドメイン鍵管理情報UR[u](i)の中から所定のビット位置に格納された全体検査用データDATA11(i)を抽出する。次に、ステップST102−9へ進む。
〔ステップST102−9〕
次に、ホスト機器11は、ステップST102−6において算出された連結ハッシュ値Hash(i)とステップST102−8において抽出された全体検査用データDATA11(i)とを比較する。
〔ステップST102−10〕
ステップST102−9における比較の結果、ステップST102−6において算出された連結ハッシュ値Hash(i)とステップST102−8において抽出された全体検査用データDATA11(i)とが不一致であると判断すると、ホスト機器11は、ハッシュリストHash List(i)が改竄されていると判断して、異常終了を実行する。一方、両者が一致すると判断された場合には、ステップST20へ進む。
このようにして、ターゲット機器に格納された機密情報における改竄の有無が検出される。
<コンテンツ鍵情報の追加や削除>
また、今後は、ネットワークを介した配信によってコンテンツ鍵を追加したり、削除したりすることも考えられる。コンテンツ鍵情報の追加や削除にともない、ハッシュリストHash List(i),および全体検査用データDATA11(i)が更新される。
〔コンテンツ鍵情報の追加〕
図8を参照しつつ、コンテンツ鍵情報が追加された場合について説明する。なお、ここでは、暗号化コンテンツ鍵EncKt(i-a),暗号化コンテンツ鍵管理情報EncUR[t](i-a)を含む暗号化コンテンツ鍵情報が追加される。この暗号化コンテンツ鍵情報は、コンテンツ鍵Kt(i-a),コンテンツ鍵管理情報UR[t](i-a)を含むコンテンツ鍵情報がドメイン鍵Ku(i)を用いて暗号化されることによって生成される。
〔ステップST103−1〕
まず、追加された暗号化コンテンツ鍵EncKt(i-a),暗号化コンテンツ鍵管理情報EncUR[t](i-a)は、1つに連結される。これにより、1つの連結データが生成される。
〔ステップST103−2〕
次に、ステップST103−1において生成された連結データに対して、ハッシュ演算が実行される。これにより、ハッシュ値Hash(i-a)が算出される。
〔ステップST103−3〕
次に、ステップST103−2において算出されたハッシュ値Hash(i-a)がハッシュリストHash List(i)に追加される。
次に、ハッシュリストHash List(i)に存在するハッシュ値Hash(i-1)〜Hash(i-m)とステップST103−2において算出されたハッシュ値Hash(i-a)とが1つに連結される。これにより、1つのハッシュ連結データが生成される。
〔ステップST101−4〜101−6〕
次に、ステップST101−4,101−5における処理と同様に、(m+1)個のハッシュ値Hash(i-1)〜Hash(i-m),Hash(i-a)が1つに連結されてハッシュ連結データが生成され、そのハッシュ連結データに対してハッシュ演算が実行されて、新たな連結ハッシュ値Hash(i')が算出される。次に、ステップST101−6における処理と同様に、算出された新たな連結ハッシュ値Hash(i')は、新たな全体検査用データDATA11(i)として、暗号化ドメイン鍵管理情報EncUR[t](i)の所定位置に格納される。
このようにして、ハッシュリストHash List(i),全体検査用データDATA11(i)が更新される。
〔コンテンツ鍵情報の削除〕
図9を参照しつつ、コンテンツ鍵情報が削除された場合について説明する。なお、ここでは、暗号化コンテンツ鍵EncKt(i-2),暗号化コンテンツ鍵管理情報EncUR[t](i-2)を含む暗号化コンテンツ鍵情報が削除される。
〔ステップST104−1〕
まず、暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m)のうち削除された暗号化コンテンツ鍵EncKt(i-2)に対応するハッシュ値Hash(i-2)が、ハッシュリストHash List(i)の中から削除される。
〔ステップST104−2〕
次に、ハッシュリストHash List(i)に存在する(m−1)個のハッシュ値Hash(i-1),Hash(i-3)〜hash(i-m)が1つに連結される。これにより、1つのハッシュ連結データが生成される。
〔ステップST101−5〕
次に、ステップST101−5における処理と同様に、ステップST104−2において生成された連結データに対してハッシュ演算が実行されて、新たな連結ハッシュ値Hash(i")が生成される。算出された新たな連結ハッシュ値Hash(i")は、新たな全体検査用データDATA11(i)として、暗号化ドメイン鍵管理情報EncUR[u](i)の所定位置に格納される。
このようにして、ハッシュリストHash List(i),全体検査用データDATA11(i)が更新される。
<効果>
以上のように、機密情報における改竄の有無を検出する処理において、1つのコンテンツ鍵情報に対するハッシュ演算と、ハッシュリストに存在するm個のハッシュ値からなる連結データに対するハッシュ演算とが実行される。このように、コンテンツ鍵群TKURE(i)全体に対してハッシュ演算を実行する必要がないので、改竄検出処理時における処理量を低減することができる。
また、機密情報を生成する処理において、m個の暗号化されたコンテンツ鍵情報の各々からハッシュ値が算出された後、m個のハッシュ値から1つの全体検査用データが生成される。このように、改竄検出処理のために使用されるデータ(ハッシュリスト,全体検査用データ)が複数段階に分けて生成される。そして、最終段階の検査用データ(全体検査用データ)が保護領域に格納される。このように、保護領域に格納されるデータ量を低減することができる。
さらに、機密情報に新たなコンテンツ鍵情報が追加された場合、追加されたコンテンツ鍵情報から新たなハッシュ値を算出し、算出されたハッシュ値とハッシュリストのm個のハッシュ値とから新たな全体検査用データを生成する。また、コンテンツ鍵情報が削除された場合、ハッシュリストを更新して、更新したハッシュリストから新たな全体検査用データを生成する。このように、コンテンツ鍵群TKURE(i)全体に対してハッシュ演算を実行する必要がないので、機密情報の更新時における処理量を低減することができる。
<エントリー>
ターゲット機器によっては、コンテンツ鍵が格納される領域を、エントリーという形で、予め確保しているものもある。エントリーの各々は、複数のドメイン鍵のうちいずれか1つに対応付けられる。つまり、ドメイン鍵の各々には、複数のエントリーが対応付けられる。エントリーに格納される暗号化コンテンツ鍵は、そのエントリーに対応付けられたドメイン鍵によって復号化することができる。このような場合には、各々のエントリーに対応するハッシュ値をまとめたハッシュリストという概念が生じる。すなわち、コンテンツ鍵が実際に格納されているか否かに関わらず、同一のドメイン鍵に対応付けられた全てのエントリーについてのハッシュ値をハッシュリストとして通常領域103に格納してもよい。また、同一のドメイン鍵に対応付けられた全てのエントリーのハッシュ値を1つに連結して、その連結データに対してハッシュ演算を実行してハッシュ値を算出し、その算出したハッシュ値をドメイン鍵管理情報に格納してもよい。もちろん、処理量を軽減するためには、ハッシュ演算の演算量が少ない方が好ましい。したがって、コンテンツ鍵が実際に格納されているエントリーのみにハッシュ演算を実行することによってハッシュリストを生成し、そのハッシュリストのハッシュ値を連結したものに対してハッシュ演算を実行することによって算出されるハッシュ値をドメイン鍵管理情報に格納する方が好ましい。
<付加情報>
また、図10のように、m個の暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m)に対してm個の付加情報info(i-1)〜info(i-m)が一対一で対応付けられていても良い。m個の付加情報info(i-1)〜info(i-m)の各々は、暗号化されておらず、機密性の比較的低い情報(例えば、曲名)を格納する。
また、付加情報をハッシュ演算の対象にしても構わない。例えば、付加情報info(i-j),暗号化コンテンツ鍵EncKt(i-j),および暗号化コンテンツ鍵管理情報EncUR[t](i-j)からなる連結データに対してハッシュ演算を実行することによって、ハッシュ値Hash(i-j)を算出しても構わない。
<改変例>
本実施形態について様々な改変例が考えられるが、代表例として以下の改変例を開示する。
(1)暗号化コンテンツは、必ずしも暗号化コンテンツ鍵を格納するターゲット機器と同一のターゲット機器内に格納されている必要はなく、別の記録媒体に格納されるものであっても良い。その場合には、ホスト機器は、その別の記録媒体に格納された暗号化コンテンツをネットワーク等を介して取得し、本実施形態の改竄チェック方法によって正当性が保証されたコンテンツ鍵を用いてその暗号化コンテンツを復号化することになる。
(2)第1の実施形態では、同一のドメイン鍵で復号化されるコンテンツ鍵の集合(コンテンツ鍵群TKURE(i))に対して1つのハッシュリストHash List(i)が設けられている構成であるが、1つのコンテンツ鍵群に対してP個(Pは2以上の整数)の部分集合ハッシュリストおよび1つの全体集合ハッシュリストを設けることも可能である。ここで、部分集合ハッシュリストおよび全体集合ハッシュリストについてコンテンツ鍵群TKURE(i)を例に挙げて図11を参照しつつ説明する。ここでは、ドメイン鍵Ku(i)を用いて復号化することができる複数の暗号化コンテンツ鍵(コンテンツ鍵群TKURE(i)に含まれるm個の暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m))は、P個(Pは2以上の整数)の部分集合に分割される。P個の部分集合には、P個の部分集合ハッシュリストHash List(i-Gr1)〜Hash List(i-GrP)が一対一で対応する。例えば、j番目のコンテンツ鍵Kt(i-j)からk番目(kは整数,且つ,j<k≦m)のコンテンツ鍵Kt(i-K)までの部分集合には、部分集合ハッシュリストHash List (i-GrJ)が対応する(Jは整数,且つ,1≦J≦P)。また、部分集合ハッシュリストHash List(i-GrJ)は、(k−j)個のハッシュ値Hash(i-j)〜Hash(i-k)を含む。また、部分集合ハッシュリストHash List(i-Gr1)〜Hash List(i-GrP)は、全体集合ハッシュリストHash List(i-ALL)に対応付けられる。全体集合ハッシュリストHash List(i-ALL)は、P個の部分集合ハッシュリストHash List(i-Gr1)〜Hash List(i-GrP)と一対一で対応するP個の部分ハッシュ値Hash(i-Gr1)〜Hash(i-GrP)を含む。全体ハッシュ値ALL Hash(i)は、全体集合ハッシュリストHash List(i-ALL)に基づいて生成される。なお、全体ハッシュ値ALL Hash(i)は、全体検査用データALL DATA11(i)として暗号化ドメイン鍵管理情報EncUR[u](i)に格納される。このような構成にすれば、暗号化コンテンツ鍵EncKt(i-j)について改竄チェックを実行する場合、暗号化コンテンツ鍵EncKt(i-j)と暗号化コンテンツ鍵管理情報EncUR[t](i-j)とからなる連結データに対するハッシュ演算(ハッシュ演算1),コンテンツ鍵Kt(i-j)が属する部分集合に対応する部分集合ハッシュリストHash List(i-GrJ)に対するハッシュ演算(ハッシュ演算2),および全体集合ハッシュリストHash List(i-ALL)に対するハッシュ演算(ハッシュ演算3)を実行することになる。ハッシュ演算2とハッシュ演算3とをあわせた処理量は、図4に示した処理における処理量よりも小さい。したがって、さらなる処理の高速化を期待できる。
(第2の実施形態)
この発明の第2の実施形態では、コンテンツ鍵およびコンテンツ鍵管理情報は、連鎖暗号方式によって暗号化/復号化される(連鎖暗号化/連鎖復号化される)。
<連鎖暗号方式>
ここで、連鎖暗号方式(Cipher Block Chaining)による暗号化方法について図12を参照しつつ説明する。なお、ここでは、暗号化の対象がコンテンツ鍵Kt(i-j)およびコンテンツ鍵管理情報UR[t](i-j)であるものとする。
〔暗号化処理〕
まず、コンテンツ鍵Kt(i-j)およびコンテンツ鍵管理情報UR[t](i-j)は、1つに連結された後、先頭から順番に8バイト毎に分割されて、「データ1」,「データ2」,…,「データX」になる(Xは2以上の整数)。なお、8バイトではなく任意に分割され得ることはいうまでもない。
次に、MSB(Most significant bit または Most Significant Byte)側の最初の8バイトである「データ1」は、ドメイン鍵Ku(i)を用いて暗号化されて「暗号化データ1」になる。次に、「データ1」に対する暗号化の中間値1に所定演算が実行されて、連鎖鍵1が生成される(例えば、中間値1とドメイン鍵Ku(i)とが掛け合わされて連鎖鍵1が生成される)。次に、「データ1」の1つ後ろに位置する「データ2」は、連鎖鍵1を用いて暗号化されて「暗号化データ2」になる。次に、「データ2」に対する暗号化の中間値2に所定演算が実行されて、連鎖鍵2が生成される。このように、先頭の8バイトである「データ1」は、ドメイン鍵Ku(i)を用いて暗号化される。また、2番目以降の8バイトデータの各々は、1つ前の8バイトデータについての暗号化の結果を利用して順次暗号化される。
MSBから数えて最後の8バイト(つまり、LSB(Least Significant Bit または Least Significant Byte))である「データX」まで上述の暗号化処理が繰り返されることにより、「データ1」〜「データX」は、「暗号化データ1」〜「暗号化データX」になる。この「暗号化データ1」〜「暗号化データX」の集合が、暗号化コンテンツ鍵EncKt(i-j)および暗号化コンテンツ鍵管理情報EncUR[t](i-j)の集合となる。
〔復号化処理〕
次に、連鎖暗号方式による復号化方法について説明する。
まず、暗号化コンテンツ鍵EncKt(i-j)および暗号化コンテンツ鍵管理情報EncUR[t](i-j)の集合は、先頭から順番に8バイト毎に分割されて、「暗号化データ1」,「暗号化データ2」,…,「暗号化データX」になる。次に、「暗号化データ1」は、ドメイン鍵Ku(i)を利用して復号化されて、「データ1」になる。次に、「暗号化データ2」は、「暗号化データ1」の復号化の結果を利用して復号化されて、「データ2」になる。このように、先頭の8バイトである「暗号化データ1」は、ドメイン鍵Ku(i)を利用して復号化される。2番目以降の暗号化データの各々は、1つ前の暗号化データについての復号化の結果を利用して順次復号化される。
このような連鎖暗号方式では、部分毎のデータが(8バイトデータ毎に)連鎖しながら暗号化/復号化されていく。つまり、このような連鎖暗号方式は、復号化の際に何れかの段階で復号化に失敗すると、その段階以降の暗号化データの全てが正常に復号化されないという特徴を有する。したがって、例えば、最後の8バイト(LSB)である暗号化データXの復号化に成功すれば、全てのデータが正当であることが保証される。
また、このような連鎖暗号方式では、同一のデータを暗号化する場合であっても、事前に暗号化されたデータが異なっている場合には暗号化の結果が異なるという特徴を有する。
<構成>
以上を踏まえて、この発明の第2の実施形態による機密情報処理システムについて説明する。図13は、この発明の第2の実施形態による機密情報処理システムの全体構成を示す。ここで、ROM116には、部分検査用データDATA21がさらに格納されている。
<機密情報>
図14は、図13に示したターゲット機器10に格納される機密情報を示す。保護領域102には、ドメイン鍵群UKUREが格納される。通常領域103には、鍵対応テーブルAddress Listと、コンテンツ鍵群TKURE(i)とが格納される。なお、通常領域103には、暗号化されたコンテンツも格納されているが、図14では省略する。
〔ドメイン鍵群〕
ドメイン鍵群UKUREは、図2と同様に、n個の暗号化ドメイン鍵EncKu(1)〜EncKu(n)と、n個の暗号化ドメイン鍵管理情報EncUR[u](1)〜EncUR[u](n)とを含む。また、暗号化ドメイン鍵管理情報EncUR[u](1)〜EncUR[u](n)の各々の所定位置には、全体検査用データが格納される。全体検査用データは、その暗号化ドメイン鍵管理情報に対応するコンテンツ鍵群に基づいて生成されている。例えば、暗号化ドメイン鍵管理情報EncUR[u](i)の所定位置には、コンテンツ鍵群TKURE(i)に基づいて生成された全体検査用データDATA22(i)が格納されている。
なお、図14では、暗号化ドメイン鍵EncKu(i)に対応するコンテンツ鍵群TKURE(i)のみしか図示していないが、暗号化ドメイン鍵EncKu(i)以外の暗号化ドメイン鍵の各々にもコンテンツ鍵群が対応していてもよい。
〔コンテンツ鍵群〕
コンテンツ鍵群TKURE(i)は、図2に示したコンテンツ鍵群TKURE(i)に加えて、m個の暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)を含む。暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)は、暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m)と一対一で対応する。平文状態のチェック値Check(i-1)〜Check(i-m)の各々は、ホスト機器11のROM116に格納されている部分検査用データDATA21に相当する。
鍵対応テーブルAddress Listは、図2に示した鍵対応テーブルAddress Listと同様である。
<コンテンツ鍵およびそれに付随する情報の暗号化>
次に、コンテンツ鍵,コンテンツ鍵管理情報,チェック値の暗号化処理について説明する。ここでは、コンテンツ鍵Kt(i-j),コンテンツ鍵管理情報UR[t](i-j),チェック値Check(i-j)を例に挙げて説明する。
まず、コンテンツ鍵Kt(i-j)とコンテンツ鍵管理情報UR[t](i-j)とが連結される。次に、指定バイトに従って、コンテンツ鍵Kt(i-j)およびコンテンツ鍵管理情報UR[t](i-j)からなる連結データの所定位置にチェック値Check(i-j)が埋め込まれる。この例(図14参照)ではLSBにチェック値を埋め込んでいる。次に、連鎖暗号方式に従って、チェック値Check(i-j)が埋め込まれた連結データが、暗号化される。次に、暗号化された連結データを、暗号化コンテンツ鍵EncKt(i-j),暗号化コンテンツ鍵管理情報EncUR[t](i-j),および暗号化チェック値EncCheck(i-j)に分割する。
このようにして、コンテンツ鍵,コンテンツ鍵管理情報,およびチェック値が暗号化される。また、チェック値が埋め込まれる位置が固定位置ではなく指定バイトによって指定することも可能であるので、チェック値が埋め込まれる位置を秘匿することができ、セキュリティが向上する。
<全体検査用データの生成手順>
図15を参照しつつ、図14に示した全体検査用データDATA22(i)の生成手順について説明する。なお、ここでは、暗号化コンテンツ鍵管理情報EncUR[t](i-1)〜EncUR[t](i-m)の各々は、対応する暗号化コンテンツ鍵の後段に連結されているものとし、暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)の各々は、対応する暗号化コンテンツ鍵管理情報の後段に連結されているものとする。また、暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)の各々は、8バイトデータであるものとする。
〔ステップST201−1〕
まず、指定バイトに従って、コンテンツ鍵群TKURE(i)の中からm個の暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)が抽出される。例えば、暗号化コンテンツ鍵EncKt(i-j)とこれに付随する情報(暗号化コンテンツ鍵管理情報EncUR[t](i-j)および暗号化チェック値EncCheck(i-j))との集合の中から、所定位置のデータ(ここでは、暗号化コンテンツ鍵管理情報EncUR[t](i-j)の直後に存在する8バイトデータ)が抽出される。これにより、暗号化チェック値EncCheck(i-j)が抽出されたことになる。このような抽出処理を、暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m)の各々に対して実行されることによって、m個の暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)が抽出される。
〔ステップST201−2〕
次に、抽出されたm個の暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)が1つに連結される。これにより、1つのチェック値連結データが生成される。
〔ステップST201−3〕
次に、ステップST201−2において生成されたチェック値連結データに対してハッシュ演算が実行される。これにより、連鎖ハッシュ値Chain Hash(i)が算出される。
〔ステップST201−4〕
次に、ステップST201−3において算出された連鎖ハッシュ値Chain Hash(i)は、全体検査用データDATA22(i)として、暗号化ドメイン鍵管理情報EncUR[u](i)の所定位置に格納される。
ここで、暗号化ドメイン鍵管理情報EncUR[u](i)を更新する場合は、暗号化ドメイン鍵管理情報EncUR[u](i)は、連鎖ハッシュ値Chain Hash(i)を格納する前に一旦復号化されて、ドメイン鍵管理情報UR[u](i)になる。そして、ドメイン鍵管理情報UR[u](i)に連鎖ハッシュ値Chain Hash(i)が格納されると、そのドメイン鍵管理情報UR[u](i)は、暗号化されて暗号化ドメイン鍵管理情報EncUR[u](i)に戻る。このようにして、全体検査用データDATA22(i)が更新される。
ただし、ドメイン鍵Ku(i)も新たに作成された場合は、ドメイン鍵管理情報UR[u](i)も新規に作成されることになるので、一旦復号化の処理を行う必要はない。この場合、新たに作成されたドメイン鍵管理情報UR[u](i)に連鎖ハッシュ値Chain Hash(i)を格納した後、そのドメイン鍵管理情報UR[u](i)が暗号化される。このようにして新たな暗号化ドメイン鍵管理情報EncUR[u](i)が生成される。
なお、チェック値は、また8バイトである必要はなく任意のバイト数でよい。
<コンテンツ鍵情報の改竄検出>
図16を参照しつつ、図14に示したチェック値Check(i-1)〜Check(i-m)を利用した改竄検出方法について説明する。ここでは、暗号化コンテンツ鍵EncKt(i-j),暗号化コンテンツ鍵管理情報EncUR[t](i-j),および暗号化チェック値EncCheck(i-j)を例に挙げて説明する。
〔ステップST202−1〕
まず、暗号化コンテンツ鍵EncKt(i-j),暗号化コンテンツ鍵管理情報EncUR[t](i-j),および暗号化チェック値EncCheck(i-j)が1つに連結される。これにより、1つの連結データが生成される。
〔ステップST202−2〕
次に、連鎖暗号方式によって連結データが復号化される。これにより、コンテンツ鍵Kt(i-j),コンテンツ鍵管理情報UR[t](i-j),およびチェック値Check(i-j)からなる連結データが生成される。この連結データは、所定位置にチェック値Check(i-j)が埋め込まれた構成になっている。
〔ステップST202−3〕
次に、指定バイト(所定のビット位置を示す情報)に従って、コンテンツ鍵Kt(i-j),コンテンツ鍵管理情報UR[t](i-j),およびチェック値Check(i-j)からなる連結データの中からチェック値Check(i-j)が抽出される。
〔ステップST202−4〕
次に、ステップST202−3において抽出されたチェック値Check(i-j)とホスト機器11のROM116に格納された部分検査用データDATA21とが比較される。
このように、コンテンツ鍵Kt(i-1)〜Kt(i-m)の各々において、復号化された連結データの中から抽出されたチェック値とROM116に格納された部分検査用データを比較することによって、そのコンテンツ鍵の正当性が検証される。
なお、チェック値は、コンテンツ鍵管理情報の直後に付加することが好ましい。つまり、コンテンツ鍵,コンテンツ鍵管理情報,チェック値で構成される連結データにおいて、その連結データのLSBがチェック値であることが好ましい。それは、連鎖暗号方式では、LSBをチェックすることによって復号化の対象となるデータ全体の正当性を検証することができるからである。
<改竄検出方法>
図17を参照しつつ、図13に示した機密情報処理システムにおける改竄検出方法(図5のステップST22における処理)について説明する。ここでは、ドメイン鍵Ku(i)に対応するコンテンツ鍵Kt(i-j)を改竄検出の対象とする。また、チェック値Check(i-j)は、コンテンツ鍵管理情報UR[t](i-j)の直後に付加された8バイトデータであるものとする。
〔ステップST203−1〕
まず、ホスト機器11は、暗号化コンテンツ鍵EncKt(i-j),暗号化コンテンツ鍵管理情報EncUR[t](i-j),および暗号化チェック値EncCheck(i-j)を復号化する。これらは1つの連結データとして上述の連鎖暗号方式によって暗号化されているので、この連結データはMSB(最初の8バイト)から順番に復号化される。
〔ステップST203−2〕
次に、ホスト機器11は、指定バイトに従って、復号化して平文になった連結データ(コンテンツ鍵Kt(i-j),コンテンツ鍵管理情報UR[t](i-j),およびチェック値Check(i-j)からなる連結データ)の中から8バイト分のデータを抽出する。なお、ここでは、チェック値Check(i-j)がコンテンツ鍵管理情報UR[t](i-j)の直後に付加されているので、指定バイトは、LSB(最後の8バイト)を示す。これにより、平文になった連結データの中からチェック値Check(i-j)が抽出されたことになる。次に、ステップST203−4へ進む。
〔ステップST203−3〕
一方、ホスト機器11は、ROM116に格納された部分検査用データDATA21を抽出する。
〔ステップST203−4〕
次に、ホスト機器11は、ステップST203−2において抽出されたチェック値Check(i-j)とステップST203−3において抽出された部分検査用データDATA21とを比較する。このように、両者を比較することにより、コンテンツ鍵,コンテンツ鍵管理情報,およびチェック値からなる連結データのうちチェック値が埋め込まれた位置までのデータの正当性を検証することができる。
〔ステップST203−5〕
ステップST203−4における比較の結果、ステップST203−2において抽出されたチェック値Check(i-j)とステップST203−3において抽出された部分検査用データDATA21とが一致しないと判断すると、ホスト機器11は、暗号化コンテンツ鍵EncKt(i-j),暗号化コンテンツ鍵管理情報EncUR[t](i-j),あるいは暗号化チェック値EncCheck(i-j)が改竄されていると判断して、異常終了を実行する。一方、両者が一致すると判断された場合には、ステップST203−6へ進む。
〔ステップST203−6〕
次に、ホスト機器11は、指定バイトに従って、コンテンツ鍵群TKURE(i)の中からm個の暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)を抽出する。例えば、ホスト機器11は、指定バイトに従って、暗号化コンテンツ鍵EncKt(i-j),暗号化コンテンツ鍵管理情報EncUR[t](i-j),暗号化チェック値EncCheck(i-j)からなる連結データの中から8バイト分のデータを抽出する。これにより、暗号化チェック値EncCheck(i-j)が抽出されたことになる。ホスト機器11は、このような抽出処理を、各々の連結データに対して実行することによって、m個の暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)を抽出する。
〔ステップST203−7〕
次に、ホスト機器11は、ステップST203−6において抽出された暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)を1つに連結する。これにより、1つのチェック値連結データが生成される。
〔ステップST203−8〕
次に、ホスト機器11は、ステップST203−7において生成されたチェック値連結データに対してハッシュ演算を実行する。これにより、連鎖ハッシュ値Chain Hash(i)が算出される。次に、ステップST203−11へ進む。
〔ステップST203−9〕
一方、ホスト機器11は、鍵対応テーブルAddress Listを参照して、暗号化コンテンツ鍵EncKt(i-j)の復号化に必要な暗号化ドメイン鍵EncKu(i)を検出する。そして、ホスト機器11は、認証中間鍵Aを用いて、その検出した暗号化ドメイン鍵EncKu(i)および暗号化ドメイン鍵管理情報EncUR[u](i)を復号化する。これにより、ホスト機器11は、ドメイン鍵Ku(i)およびドメイン鍵管理情報UR[u](i)を取得する。なお、復号化されたドメイン鍵は、ステップST203−1においてコンテンツ鍵の復号化に使用される。
〔ステップST203−10〕
次に、ホスト機器11は、ドメイン鍵管理情報UR[u](i)の中から所定のビット位置に格納された全体検査用データDATA22(i)を抽出する。
〔ステップST203−11〕
次に、ホスト機器11は、ステップST203−8において算出された連鎖ハッシュ値Chain Hash(i)とステップST203−10において抽出された全体検査用データDATA22(i)とを比較する。
〔ステップST203−12〕
ステップST203−11における比較の結果、ステップST203−8において算出された連鎖ハッシュ値Chain Hash(i)とステップST203−10において抽出された全体検査用データDATA22(i)とが一致しないと判断すると、ホスト機器11は、暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)が改竄されていると判断して、異常終了を実行する。一方、両者が一致すると判断された場合には、ステップST20へ進む。
このような処理によって得られた平文のコンテンツ鍵Kt(i-j)を用いて、ホスト機器11は、暗号化されたコンテンツを復号化する。
<コンテンツ鍵情報の追加や削除>
また、今後は、ネットワークを介した配信によってコンテンツ鍵を追加したり、削除したりすることも考えられる。コンテンツ鍵情報の追加や削除にともない、全体検査用データDATA22(i)が更新される。
〔コンテンツ鍵情報の追加〕
図18を参照しつつ、コンテンツ鍵が追加された場合について説明する。なお、ここでは、暗号化コンテンツ鍵EncKt(i-a),暗号化コンテンツ鍵管理情報EncUR[t](i-a),暗号化チェック値EncCheck(i-a)を含む暗号化コンテンツ鍵情報が追加される。この暗号化されたコンテンツ鍵情報は、コンテンツ鍵Kt(i-a),コンテンツ鍵管理情報UR[t](i-a)を含むコンテンツ鍵情報にチェック値Check(i-a)が追加された後、そのコンテンツ鍵情報がドメイン鍵Ku(i)を用いて連鎖暗号化されることによって生成される。また、コンテンツ鍵情報の追加や削除を実行する場合には、まず上述の方法(図17参照)によって既存のコンテンツ鍵情報に対して改竄検出処理を実行することもあるが、ここでは説明を省略する。
〔ステップST204−1〕
まず、暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m)に付随する暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)と、追加された暗号化コンテンツ鍵EncKt(i-a)に付随するチェック値EncCheck(i-a)とが抽出される。
〔ステップST204−2〕
次に、抽出された(m+1)個の暗号化チェック値EncCheck(i-1)〜EncCheck(i-m),EncCheck(i-a)が1つに連結される。これにより、1つのチェック値連結データが生成される。
〔ステップST201−3〕
次に、ステップST201−3における処理と同様に、ステップST204−2において生成されたチェック値連結データに対してハッシュ演算が実行されて、新たな連鎖ハッシュ値Chain Hash(i')が算出される。算出された新たな連鎖ハッシュ値Chain Hash(i')は、新たな全体検査用データDATA22(i)として、暗号化ドメイン鍵管理情報EncUR[t](i)の所定位置に格納される。
このようにして、全体検査用データDATA22(i)が更新される。
〔コンテンツ鍵情報の削除〕
図19を参照しつつ、コンテンツ鍵情報が削除された場合について説明する。なお、ここでは、暗号化コンテンツ鍵EncKt(i-2),暗号化コンテンツ鍵管理情報EncUR[t](i-2),暗号化チェック値EncCheck(i-2)を含む暗号化されたコンテンツ鍵情報が削除される。
〔ステップST205−1〕
まず、削除された暗号化コンテンツ鍵EncKt(i-2)以外の(m−1)個の暗号化コンテンツ鍵EncKt(i-1),EncKt(i-3)〜EncKt(i-m)に付随する暗号化チェック値EncCheck(i-1),EncCheck(i-3)〜EncCheck(i-m)が抽出される。
〔ステップST205−2〕
次に、抽出された(m−1)個の暗号化チェック値EncCheck(i-1),EncCheck(i-3)〜EncCheck(i-m)が1つに連結される。これにより、チェック値連結データが生成される。
〔ステップST201−3〕
次に、ステップST201−3における処理と同様に、ステップST205−2において生成されたチェック値連結データに対してハッシュ演算が実行されて、新たな連鎖ハッシュ値Chain Hash(i")が算出される。算出された新たな連鎖ハッシュ値Chain Hash(i")は、新たな全体検査用データDATA22(i)として、暗号化ドメイン鍵管理情報EncUR[t](i)の所定位置に格納される。
このようにして、全体検査用データDATA22(i)が更新される。
<暗号アルゴリズム>
ここで、ハッシュ演算および連鎖暗号方式による暗号アルゴリズムについて説明する。
図20は、一方向関数型のハッシュ演算(DES HASH)についての暗号アルゴリズムを示す概念図である。図21は、一方向関数型のハッシュ演算(DES HASH)についての暗号アルゴリズムを示すフローチャートである。図22は、一方向関数型のハッシュ演算(C2 HASH)についての暗号アルゴリズムを示す概念図である。図23は、連鎖暗号方式(DES E-CBC)についての暗号アルゴリズムを示す概念図である。図24は、連鎖暗号方式(DES E-CBC)についての暗号アルゴリズムを示すフローチャートである。図25は、連鎖暗号方式(C2 E-CBC)についての暗号アルゴリズムを示す概念図である。
図21と図24とを比較すると、一方向関数型のハッシュ演算と連鎖暗号方式とは、暗号アルゴリズムの一部が互いに共通している。したがって、演算回路を共有することができ、回路面積を低減することができる。
<効果>
以上のように、機密情報における改竄の有無を検出する処理において、1つのコンテンツ鍵情報におけるチェック値の抽出と、m個の暗号化チェック値からなる連結データに対するハッシュ演算とが実行される。このように、コンテンツ鍵群TKURE(i)全体に対してハッシュ演算を実行する必要がないので、改竄検出処理時における処理量を低減することができる。
また、機密情報を生成する処理において、m個の暗号化されたコンテンツ鍵情報の各々からチェック値が抽出され、m個の暗号化チェック値から1つの全体検査用データが生成される。このように、改竄検出処理のために使用されるデータ(チェック値,全体検査用データ)が複数段階に分けて生成される。そして、最終段階の検査用データ(全体検査用データ)が保護領域に格納される。このように、保護領域に格納されるデータ量を低減することができる。
さらに、機密情報に新たなコンテンツ鍵情報が追加された場合、追加されたコンテンツ鍵情報からチェック値を抽出し、一方で、既存のコンテンツ鍵情報から抽出された暗号化チェック値と新たなコンテンツ鍵情報から抽出された暗号化チェック値とから新たな全体検査用データを生成する。また、機密情報からコンテンツ鍵情報が削除された場合、削除されたコンテンツ鍵情報以外のコンテンツ鍵情報に含まれるチェック値から全体検査用データが生成される。このように、コンテンツ鍵群TKURE(i)全体に対してハッシュ演算を実行する必要がないので、機密情報の更新時における処理量を低減することができる。
さらに、本実施形態では、コンテンツ鍵情報の各々に対する改竄検出処理と、すべてのチェック値に対する改竄検出処理とを別々の方式で行っている。すなわち、コンテンツ鍵の各々に対する改竄検出処理では、そのコンテンツ鍵情報に対して連鎖暗号方式を利用した復号化処理が実行され抽出処理が実行される。一方、すべてのチェック値に対する改竄検出処理では、すべての暗号化チェック値に対してハッシュ演算が実行される。このように、改竄検出時における検査手段が互いに異なっているので、セキュリティレベルを向上させることができる。
なお、部分検査用データDATA21は、ROM116やレジスタ(図示せず)に格納されている必要はない。また、部分検査用データDATA21の定数がある規則性を有する場合には、レジスタを設けなくとも、演算器の組み合わせなどで実現することも可能である。一般に、レジスタを設けるよりも演算器の組み合わせによって定数を実装する方が、回路面積としては有利である。
また、ドメイン鍵管理情報の中にチェック値が埋め込まれていても良い。例えば、ドメイン鍵管理情報UR[t](i)の中にチェック値Check(i)が埋め込まれていても良い。この場合、暗号化コンテンツ鍵EncKt(i-j),暗号化コンテンツ鍵管理情報EncUR[t](i-j),および暗号化チェック値EncCheck(i-j)を含む暗号化コンテンツ鍵情報に対する改竄検出処理(図16参照)と同様の処理を実行すれば、暗号化ドメイン鍵EncKu(i)および暗号化ドメイン鍵管理情報EncUR[t](i)を含むドメイン鍵情報における改竄の有無を検出することができる。
<付加情報>
また、図26のように、m個の暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m)に対してm個の付加情報info(i-1)〜info(i-m)が対応付けられていても構わない。付加情報info(i-1)〜info(i-m)の各々には、暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)のうち自己に対応するチェック値が平文の状態で格納されている(図26では、代表としてチェック値Check(i-j)のみを図示している。)。例えば、暗号化チェック値EncCheck(i-j)が付随する暗号化コンテンツ鍵EncKt(i-j)の付加情報info(i-j)には、平文のチェック値Check(i-j)が格納されている。この場合、コンテンツ鍵毎に異なるチェック値を設けることが可能であり、セキュリティを向上させることができる。また、チェック値Check(i-j)は、指定バイトに従って、対応する付加情報info(i-j)の所定位置に格納されていても良い。
ここで、暗号化コンテンツ鍵EncKt(i-j)について改竄チェックを実行する場合、指定バイトに従って、付加情報info(i-j)の中から部分検査用データDATA21が抽出される(ST202−5)。次に、ステップ202−4では、ステップST202−1〜ST202−3における処理によって得られたチェック値Check(i-j)とステップST202−5において抽出された部分検査用データDATA21とが比較される。このようにして、暗号化コンテンツ鍵EncKt(i-j)における改竄の有無を検査する。
<エントリー>
なお、ターゲット機器によっては、コンテンツ鍵が格納される領域を、エントリーという形で、予め確保しているものもある。エントリーの各々には、ドメイン鍵が対応付けられる。エントリーに格納される暗号化コンテンツ鍵は、そのエントリーに対応付けられたドメイン鍵によって復号化することができる。このような場合には、各々のエントリーに対応するチェック値を連結してハッシュ演算を実行するという概念が生じる。すなわち、コンテンツ鍵が実際に格納されているか否かに関わらず、同一のドメイン鍵が対応付けられた全てのエントリーの中から指定バイトに従って所定位置のデータを抽出し、その抽出したデータを1つに連結してハッシュ演算を実行し、算出されたハッシュ値をドメイン鍵管理情報に格納してもよい。もちろん、処理量を軽減するためにはハッシュ演算の演算量が少ない方が好ましい。したがって、コンテンツ鍵が実際に格納されているエントリーだけに指定バイトに従ったデータ抽出を実行し、その抽出したデータを1つに連結してハッシュ演算を実行し、算出されたハッシュ値をドメイン鍵管理情報に格納する方が好ましい。
<改変例>
本実施形態について様々な改変例が考えられるが、代表例として以下の改変例を開示する。
(1)暗号化コンテンツは、必ずしも暗号化コンテンツ鍵を格納するターゲット機器と同一のターゲット機器内に格納されている必要はなく、別の記録媒体に格納されるものであっても良い。その場合には、ホスト機器は、その別の記録媒体に格納された暗号化コンテンツをネットワーク等を介して取得し、本実施形態の改竄検出方法によって正当性が保証されたコンテンツ鍵を用いてその暗号化コンテンツを復号化することになる。
(2)チェック値が埋め込まれる位置は、指定バイトで指定する必要は必ずしもなく、固定でも構わない。例えば、LSBの8バイトと固定して埋め込んでおけば、全てのデータ(コンテンツ鍵、コンテンツ鍵管理情報)の改竄をチェックすることが可能である。
(第3の実施形態)
この発明の第3の実施形態では、全体チェック値を利用して改竄検出が実行される。連鎖暗号方式は図12に示したものと同様である。また、コンテンツ鍵Kt(i-j)およびそれに付随する情報UR[t](i-j)の改竄の有無を検出する方法は、第2の実施形態と同様である。
<構成>
この発明の第3の実施形態による機密情報処理システムの全体構成は、図13に示したものと同様である。ただし、ターゲット機器10に格納される機密情報が異なる。
<機密情報>
図27は、本実施形態におけるターゲット機器10に格納される機密情報を示す。保護領域102には、ドメイン鍵群UKUREが格納される。通常領域103には、鍵対応テーブルAddress Listと、コンテンツ鍵群TKURE(i)と、チェック値リストCheck List(i)と、全体チェック値Check(i)とが格納される。なお、通常領域103には、暗号化されたコンテンツも格納されているが、図27では省略する。
〔ドメイン鍵群〕
ドメイン鍵群UKUREは、図14と同様に、n個の暗号化ドメイン鍵EncKu(1)〜EncKu(n)と、n個の暗号化ドメイン鍵管理情報EncUR[u](1)〜EncUR[u](n)とを含む。また、暗号化ドメイン鍵管理情報EncUR[u](1)〜EncUR[u](n)の各々の所定位置には、全体検査用データが格納される。全体検査用データは、そのドメイン鍵に対応するコンテンツ鍵群と全体チェック値とに基づいて生成されている。例えば、暗号化ドメイン鍵管理情報EncUR[u](i)の所定位置には、コンテンツ鍵群TKURE(i)および全体チェック値Check(i)に基づいて生成された全体検査用データDATA32(i)が格納されている。
なお、図27では、暗号化ドメイン鍵EncKu(i)に対応するコンテンツ鍵群TKURE(i)のみしか図示していないが、暗号化ドメイン鍵EncKu(i)以外の暗号化ドメイン鍵EncKu(1)〜EncKu(n)の各々にもコンテンツ鍵群が対応していてよい。
〔コンテンツ鍵群および鍵対応テーブル〕
コンテンツ鍵群TKURE(i)および鍵対応テーブルAddress Listは、図14に示したものと同様である。
〔チェック値リスト〕
チェック値リストCheck List(i)は、コンテンツ鍵群TKURE(i)に対応する。また、チェック値リストCheck List(i)は、m個の二重暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)を含む。二重暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)は、コンテンツ鍵群TKURE(i)に含まれる暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)と一対一で対応する。
なお、図27では、コンテンツ鍵群TKURE(i)に対応するチェック値リストCheck List(i)のみしか図示していないが、コンテンツ鍵群TKURE(i)以外のコンテンツ鍵群(図示せず)の各々に対応するハッシュリストも存在していても良い。
〔全体チェック値〕
全体チェック値Check(i)は、コンテンツ鍵群TKURE(i)に対応する。なお、図27では、コンテンツ鍵群TKURE(i)に対応する全体チェック値Check(i)のみ図示されているが、コンテンツ鍵群TKURE(i)以外のコンテンツ鍵群(図示せず)の各々に対応する全体チェック値も存在していても良い。
<チェック値リストおよび暗号化チェック値の生成手順>
図28を参照しつつ、図27に示したチェック値リストCheck List(i)および全体検査用データDATA32(i)の生成手順について説明する。
〔ステップST301−1〕
まず、指定バイトに従って、コンテンツ鍵群TKURE(i)の中からm個の暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)が抽出される。例えば、暗号化コンテンツ鍵EncKt(i-j),暗号化コンテンツ鍵管理情報EncUR(i-j),および暗号化チェック値EncCheck(i-j)からなる連結データの中から暗号化チェック値EncCheck(i-j)が抽出される。このようにして、m個の暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)が抽出される。
〔ステップST301−2〕
次に、ステップST301−1において抽出されたm個の暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)と全体チェック値Check(i)とが1つに連結される。これにより、1つのチェック値連結データが生成される。
〔ステップST301−3〕
次に、連鎖暗号方式にしたがって、ドメイン鍵Ku(i)を用いてチェック値連結データが暗号化される。これにより、二重暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)と暗号化全体チェック値EncCheck(i)との集合が生成される。
〔ステップST301−4〕
次に、二重暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)と暗号化全体チェック値EncCheck(i)との集合の中から、暗号化全体チェック値EncCheck(i)が取り出される。これにより、二重暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)の集合は、チェック値リストCheck List(i)になる。
〔ステップST301−5〕
次に、ステップST301−4において取り出された暗号化全体チェック値EncCheck(i)は、全体検査用データDATA32(i)として、ドメイン鍵管理情報UR[u](i)の所定位置に格納される。
ここで、暗号化ドメイン鍵管理情報EncUR[u](i)を更新する場合(例えば、既に存在する暗号化ドメイン鍵EncKu(i)に対して新たなコンテンツ鍵情報が対応付けられた場合や、暗号化ドメイン鍵EncKu(i)に対して対応付けられているコンテンツ鍵情報が削除された場合)は、暗号化ドメイン鍵管理情報EncUR[u](i)は、暗号化全体チェック値EncCheck(i)を格納する前に一旦復号化されて、ドメイン鍵管理情報UR[u](i)になる。そして、ドメイン鍵管理情報UR[u](i)に暗号化全体チェック値EncCheck(i)が格納されると、そのドメイン鍵管理情報UR[u](i)は、暗号化されて暗号化ドメイン鍵管理情報EncUR[u](i)に戻る。このようにして、全体検査用データDATA32(i)が更新される。
ただし、ドメイン鍵Ku(i)も新たに作成された場合は、ドメイン鍵管理情報UR[u](i)も新規に作成されることになるので、一旦復号化の処理を行う必要はない。この場合、新たに作成されたドメイン鍵管理情報UR[u](i)に暗号化全体チェック値EncCheck(i)を格納した後、そのドメイン鍵管理情報UR[u](i)が暗号化される。このようにして新たな暗号化ドメイン鍵管理情報EncUR[u](i)が生成される。
<改竄検出方法>
図29を参照しつつ、図27に示した全体チェック値Check(i)を利用した改竄検出方法について説明する。ここでは、暗号化ドメイン鍵EncKu(i),チェック値リストCheck List(i),および全体チェック値Check(i)を例に挙げて説明する。なお、図27に示したチェック値Check(i-1)〜Check(i-m)を利用した改竄検出方法は、図16に示した方法と同様である。
〔ステップST302−1〕
まず、暗号化ドメイン鍵管理情報EncUR[u](i)が復号化される。これにより、ドメイン鍵管理情報UR[u](i)が生成される。そして、ドメイン鍵管理情報UR[u](i)の所定位置に格納された全体検査用データDATA32(i)が抽出される。
〔ステップST302−2〕
次に、チェック値リストCheck List(i)に存在するm個の二重暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)が1つに連結される。そして、ステップST302−1において抽出された全体検査用データDATA32(i)は、それらm個の二重暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)からなる連結データの後段にさらに連結される。つまり、二重暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)と全体検査用データDATA32(i)とからなる連結データにおいて、その連結データのLSBは、全体検査用データDATA32(i)である。これにより、1つのチェック値連結データが生成される。
〔ステップST302−3〕
次に、ドメイン鍵Ku(i)を用いて、連鎖暗号方式による復号化がチェック値連結データに対して実行される。
〔ステップST302−4〕
次に、復号化されたチェック値連結データの中から所定位置のデータ(ここでは、その集合のLSBである8バイトデータ)が抽出される。これにより、全体チェック値Check(i)に相当するデータが抽出されたことになる。次に、ステップST302−6へ進む。
〔ステップST302−5〕
一方、指定バイトに従って、ターゲット機器10の通常領域103に格納されている全体チェック値Check(i)が抽出される。次に、ステップST302−6へ進む。
〔ステップST302−6〕
次に、ステップST302−4において抽出されたデータとステップST302−5において抽出された全体チェック値Check(i)とが比較される。ここで、両者が一致する場合チェック値リストCheck List(i)あるいは全体チェック値Check(i)に改竄がなかったものと判断される。一方、両者が一致しない場合チェック値リストCheck List(i)あるいは全体チェック値Check(i)が改竄されていると判断されて、異常終了が実行される。
このようにして、チェック値リストCheck List(i)の正当性を検証することができる。チェック値リストが改竄されていなければ、暗号化コンテンツ鍵の改竄の有無を検出することができる。例えば、暗号化コンテンツ鍵EncKt(i-j)の改竄について検査したい場合、ステップST302−3において復号化されたチェック値リストCheck List(i)の中からコンテンツ鍵Kt(i-j)に対応する暗号化チェック値EncCheck(i-j)を抽出する。一方、コンテンツ鍵群TKURE(i)の中から暗号化チェック値EncCheck(i-j)を抽出する。そして、復号化されたチェック値リストCheck List(i)から抽出された暗号化チェック値EncCheck(i-j)とコンテンツ鍵群TKURE(i)から抽出された暗号化チェック値EncCheck(i-j)とを比較する。このようにすれば、暗号化コンテンツ鍵EncKt(i-j)およびこれに付随する情報(暗号化コンテンツ鍵管理情報EncUR[t](i-j)等)が改竄されているか否かを検証することができる。
<改竄検出方法>
次に、本実施形態の機密情報処理システムによる動作について説明する。本実施形態の機密情報処理システムによる動作の全体の流れは、図5と同様であるが、コンテンツ鍵の改竄をチェックする処理(ステップST22)における詳細な処理が異なる。本実施形態では、ステップST22において、図16に示した改竄チェック方法(チェック値Check(i-1)〜Check(i-m)を利用した改竄チェック方法)と図29に示した改竄チェック方法(全体チェック値Check(i)を利用した改竄チェック方法)を実行することによって、コンテンツ鍵の正当性を検証する。
<コンテンツ鍵情報の追加や削除>
また、今後は、ネットワークを介した配信によってコンテンツ鍵を追加したり、削除したりすることも考えられる。コンテンツ鍵情報の追加や削除にともない、チェック値リストCheck List(i),および全体検査用データDATA32(i)が更新される。
〔コンテンツ鍵情報の追加〕
図30を参照しつつ、コンテンツ鍵情報が追加された場合について説明する。なお、ここでは、暗号化コンテンツ鍵EncKt(i-a),暗号化コンテンツ鍵管理情報EncUR[t](i-a),暗号化チェック値EncCheck(i-a)を含む暗号化コンテンツ鍵情報が追加される。この暗号化コンテンツ鍵情報は、コンテンツ鍵Kt(i-a),コンテンツ鍵管理情報UR[t](i-a)を含むコンテンツ鍵情報にチェック値Check(i-a)が追加された後、そのコンテンツ鍵情報がドメイン鍵Ku(i)を用いて連鎖暗号化されることによって生成される。
〔ステップST303−1〕
まず、暗号化コンテンツ鍵EncKt(i-1)〜EncKt(i-m)に付随する暗号化チェック値EncCheck(i-1)〜EncCheck(i-m)と、追加された暗号化コンテンツ鍵EncKt(i-a)に付随する暗号化チェック値EncCheck(i-a)とが抽出される。
〔ステップST303−2〕
次に、抽出された暗号化チェック値EncCheck(i-1)〜EncCheck(i-m),EncCheck(i-a)と全体チェック値Check(i)とが1つに連結される。これにより、1つのチェック値連結データが生成される。
〔ステップST303−3〕
次に、連鎖暗号方式にしたがって、ステップST303−2において生成されたチェック値連結データが暗号化される。これにより、二重暗号化チェック値EncCheck(i-1)〜EncCheck(i-m),EncCheck(i-a)と暗号化全体チェック値EncCheck(i')との集合が生成される。
〔ステップST303−4,ST303−5〕
次に、ステップST303−4における処理と同様に、二重暗号化チェック値EncCheck(i-1)〜EncCheck(i-m),EncCheck(i-a)と暗号化全体チェック値EncCheck(i)との集合の中から、暗号化全体チェック値EncCheck(i')が取り出される。これにより、二重暗号化チェック値EncCheck(i-1)〜EncCheck(i-m),EncCheck(i-a)の集合は、新たなチェック値リストCheck List(i')になる。次に、ステップST303−5における処理と同様に、取り出された暗号化全体チェック値EncCheck(i')は、新たな全体検査用データDATA32(i)として、ドメイン鍵管理情報UR[u](i)の所定位置に格納される。
このようにして、チェック値リストCheck List(i),および全体検査用データDATA32(i)が更新される。
〔コンテンツ鍵情報の削除〕
図31を参照しつつ、コンテンツ鍵情報が削除された場合について説明する。なお、ここでは、暗号化コンテンツ鍵EncKt(i-2),暗号化コンテンツ鍵管理情報EncUR[t](i-2),暗号化チェック値EncCheck(i-2)を含む暗号化されたコンテンツ鍵情報が削除される。
〔ステップST304−1〕
まず、削除された暗号化コンテンツ鍵EncKt(i-2)以外の(m−1)個の暗号化コンテンツ鍵EncKt(i-1),EncKt(i-3)〜EncKt(i-m)に付随する暗号化チェック値EncCheck(i-1),EncCheck(i-3)〜EncCheck(i-m)が抽出される。
〔ステップST304−2〕
次に、抽出された(m−1)個の暗号化チェック値EncCheck(i-1),EncCheck(i-3)〜EncCheck(i-m)と全体チェック値Check(i)とが1つに連結される。これにより、チェック値連結データが生成される。
〔ステップST304−3〕
次に、連鎖暗号方式にしたがって、ステップST205−2において生成されたチェック値連結データが暗号化される。これにより、二重暗号化チェック値EncCheck(i-1),EncCheck(i-3)〜EncCheck(i-m)と暗号化全体チェック値EncCheck(i")との集合が生成される。
〔ステップST301−4,ST301−5〕
次に、ステップST301−4における処理と同様に、二重暗号化チェック値EncCheck(i-1),EncCheck(i-3)〜EncCheck(i-m)と暗号化全体チェック値EncCheck(i")との集合の中から、暗号化全体チェック値EncCheck(i")が取り出される。これにより、二重暗号化チェック値EncCheck(i-1),EncCheck(i-3)〜EncCheck(i-m)の集合は、新たなチェック値リストCheck List(i")になる。次に、ステップST301−5における処理と同様に、取り出された暗号化全体チェック値EncCheck(i")は、新たな全体検査用データDATA32(i)として、ドメイン鍵管理情報UR[u](i)の所定位置に格納される。
このようにして、チェック値リストCheck List(i),および全体検査用データDATA32(i)が更新される。
<効果>
以上のように、機密情報における改竄の有無を検出する処理において、1つのコンテンツ鍵情報におけるチェック値の抽出と、全体検査用データとm個の二重暗号化チェック値とからなる連結データに対する復号化処理とが実行される。このように、コンテンツ鍵群TKURE(i)全体に対してハッシュ演算を実行する必要がないので、改竄検出処理時における処理量を低減することができる。
また、機密情報を生成する処理において、m個の暗号化されたコンテンツ鍵情報の各々からチェック値が抽出され、全体チェック値およびm個の暗号化チェック値から1つの全体検査用データが生成される。このように、改竄検出処理のために使用されるデータ(チェック値,全体検査用データ)が複数段階に分けて生成される。そして、最終段階の検査用データ(全体検査用データ)が保護領域に格納される。このように、保護領域に格納されるデータ量を低減することができる。
さらに、機密情報に新たなコンテンツ鍵情報が追加された場合、追加されたコンテンツ鍵情報からチェック値を抽出し、一方で、全体チェック値,既存のコンテンツ鍵情報から抽出された暗号化チェック値,新たなコンテンツ鍵情報から抽出された暗号化チェック値を含む連結データから新たな全体検査用データが生成される。また、機密情報からコンテンツ鍵情報が削除された場合、削除されたコンテンツ鍵情報に対応する二重暗号化チェック値をチェック値リストの中から削除し、全体チェック値と削除されなかった二重暗号化チェック値とを含む連結データに対して連鎖暗号方式を利用した暗号化処理が実行されて、新たな全体検査用データが生成される。このように、コンテンツ鍵群TKURE(i)全体に対してハッシュ演算を実行する必要がないので、機密情報の更新時における処理量を低減することができる。
<改変例>
本実施形態について様々な改変例が考えられるが、代表例として以下の3つの改変例を開示する。
(1)暗号化コンテンツは、必ずしも暗号化コンテンツ鍵を格納するターゲット機器と同一のターゲット機器内に格納されている必要はなく、別の記録媒体に格納されるものであっても良い。その場合には、ホスト機器は、その別の記録媒体に格納された暗号化コンテンツをネットワーク等を介して取得し、本実施形態の改竄検出方法によって正当性が保証されたコンテンツ鍵を用いてその暗号化コンテンツを復号化することになる。
(2)チェック値が埋め込まれる位置は、指定バイトで指定する必要は必ずしもなく、固定でも構わない。例えば、LSBの8バイトと固定して埋め込んでおけば、全てのデータ(コンテンツ鍵、コンテンツ鍵管理情報)の改竄の有無を検出することが可能である。
(3)全体チェック値Check(i)も、部分検査用データDATA21と同様に、定数としてROM116やレジスタ(図示せず)などに格納しておいても良い。また、その定数がある規則性を有する場合には、レジスタを設けなくとも、演算器の組み合わせなどで実現することも可能である。一般に、レジスタを設けるよりも演算器の組み合わせによって定数を実装する方が、回路面積としては有利である。
以上の各実施形態の説明において、図5に示した概略フローチャートは、各々の実施形態によるコンテンツ鍵の改竄チェック方法(ステップST22における処理)に応じて、適宜変更されても構わない。当業者であれば、図5の概略フローチャートを各実施形態に応じて適宜変更することは容易である。
本発明は、ターゲット機器とホスト機器から構成される機密情報処理システム等に利用可能である。
図1は、この発明の第1の実施形態による機密情報処理システムの全体構成を示すブロック図である。 図2は、この発明の第1の実施形態におけるターゲット機器に格納される機密情報を示す図である。 図3は、ドメイン鍵の暗号化/復号化とコンテンツ鍵の暗号化/復号化とについて説明するための図である。 図4は、図2に示したハッシュリストおよび全体検査用データの生成手順について説明するための図である。 図5は、機密情報処理システムによる動作についての概略フローチャートである。 図6は、認証処理について説明するための図である。 図7は、この発明の第1の実施形態における改竄検出方法についてのフローチャートである。 図8は、コンテンツ鍵情報が追加された場合におけるハッシュリストおよび全体検査用データの更新手順について説明するための図である。 図9は、コンテンツ鍵情報が削除された場合におけるハッシュリストおよび全体検査用データの更新手順について説明するための図である。 図10は、図2に示した機密情報の改変例について説明するための図である。 図11は、図2に示した機密情報の改変例について説明するための図である。 図12は、連鎖暗号方式について説明するための図である。 図13は、この発明の第2の実施形態による機密情報処理システムの全体構成を示すブロック図である。 図14は、図13に示したターゲット機器に格納される機密情報を示す図である。 図15は、図14に示した全体検査用データの生成手順について説明するための図である。 図16は、チェック値を利用した改竄検出処理の手順について説明するための図である。 図17は、この発明の第2の実施形態における改竄検出方法についてのフローチャートである。 図18は、コンテンツ鍵情報が追加された場合における全体検査用データの更新手順について説明するための図である。 図19は、コンテンツ鍵情報が削除された場合における全体検査用データの更新手順について説明するための図である。 図20は、一方向関数型のハッシュ演算(DES HASH)について説明するための図である。 図21は、図20に示したハッシュ演算を実行するためのアルゴリズムを示す図である。 図22は、一方向関数型のハッシュ演算(C2)について説明するための図である。 図23は、連鎖暗号方式(DES E-CBC)について説明するための図である。 図24は、図23に示した連鎖暗号方式を実行するためのアルゴリズムを示す図である。 図25は、連鎖暗号方式(C2 E-CBC)について説明するための図である。 図26は、図14に示した機密情報の改変例について説明するための図である。 図27は、この発明の第3の実施形態におけるターゲット機器に格納される機密情報を示す図である。 図28は、図27に示したチェック値リストおよび全体検査用データの生成手順について説明するための図である。 図29は、全体チェック値およびチェック値リストを利用した改竄検出処理の手順について説明するための図である。 図30は、コンテンツ鍵情報が追加された場合におけるチェック値リストおよび全体検査用データの更新手順について説明するための図である。 図31は、コンテンツ鍵情報が削除された場合におけるチェック値リストおよび全体検査用データの更新手順について説明するための図である。 図32は、従来のターゲット機器に格納される機密情報を示す図である。 図33は、ドメイン鍵を設定した場合のターゲット機器に格納される機密情報を示す図である。 図34は、ターゲット機器に格納される機密情報についてさらに詳細に示した図である。
符号の説明
(10) ターゲット機器
(11) ホスト機器
(101,901) システム領域
(102,902) 保護領域
(103,903) 通常領域
(111) 内部バス
(112) ターゲットI/F部
(113) 機密情報処理部
(114) ホストI/F部
(115) ホストCPU
(116) ROM
(117) RAM

Claims (44)

  1. ドメイン鍵情報とm個(mは自然数)のコンテンツ鍵情報とを含み且つ改竄の有無を検出される鍵情報を生成するデータ生成部と、
    前記データ生成部によって生成された鍵情報をターゲット機器に書き込むデータ書込部とを備えるホスト機器による鍵情報の生成方法であって、
    前記ターゲット機器は、第1記憶領域と、当該第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵を含み、
    前記生成方法は、
    前記データ生成部が、前記m個のコンテンツ鍵情報の各々に対して、改竄検出処理のために使用される部分検査用データに相当する第1データを追加し、前記ドメイン鍵を用いて当該m個のコンテンツ鍵情報の各々を連鎖暗号化するステップ(A)と、
    前記データ生成部が、前記ステップ(A)において暗号化されたm個のコンテンツ鍵情報の各々の中から前記第1データを暗号化されたままの状態で抽出するステップ(B)と、
    前記データ生成部が、前記ステップ(B)において抽出されたm個の第1データを含む連結データに対して所定演算を実行して、第2データを生成するステップ(C)と、
    前記データ生成部が、前記ステップ(C)において生成された第2データを全体検査用データとして前記ドメイン鍵情報に追加するステップ(D)と、
    前記データ書込部が、前記m個の暗号化されたコンテンツ鍵情報を前記第1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第2記憶領域に書き込むステップ(E)とを備える
    ことを特徴とする鍵情報生成方法。
  2. 請求項1において、
    前記所定演算は、ハッシュ演算である
    ことを特徴とする鍵情報生成方法。
  3. 請求項2において、
    前記連鎖暗号化のアルゴリズムと前記ハッシュ演算のアルゴリズムとは、一部が共通している
    ことを特徴とする鍵情報生成方法。
  4. ドメイン鍵情報とm個(mは自然数)のコンテンツ鍵情報とを含み且つ改竄の有無を検出される鍵情報を生成するデータ生成部と、
    前記データ生成部によって生成された鍵情報をターゲット機器に書き込むデータ書込部とを備えるホスト機器による鍵情報の生成方法であって、
    前記ターゲット機器は、第1記憶領域と、当該第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵を含み、
    前記生成方法は、
    前記データ生成部が、前記m個のコンテンツ鍵情報の各々に対して、改竄検出処理のために使用される部分検査用データに相当する第1データを追加し、前記ドメイン鍵を用いて当該m個のコンテンツ鍵情報の各々を連鎖暗号化するステップ(A)と、
    前記データ生成部が、前記ステップ(A)において暗号化されたm個のコンテンツ鍵情報の各々の中から前記第1データを暗号化されたままの状態で抽出するステップ(B)と、
    前記データ生成部が、第2データと前記ステップ(B)において抽出されたm個の第1データとを含む連結データを前記ドメイン鍵を用いて連鎖暗号化し、当該暗号化された連結データの中から前記第2データを暗号化されたままの状態で抽出するステップ(C)と、
    前記データ生成部が、前記ステップ(C)において抽出された第2データを全体検査用データとして前記ドメイン鍵情報に追加するステップ(D)と、
    前記データ書込部が、前記ステップ(C)において暗号化された連結データに含まれるm個の暗号化された第1データを前記第1記憶領域に書き込み、前記m個の暗号化されたコンテンツ鍵情報を前記第1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第2記憶領域に書き込むステップ(E)とを備える
    ことを特徴とする鍵情報生成方法。
  5. 請求項1または請求項4において、
    前記m個のコンテンツ鍵情報の各々では、前記第1データは、当該コンテンツ鍵情報のうち予め指定された位置に配置される
    ことを特徴とする鍵情報生成方法。
  6. 請求項1または請求項4において、
    前記m個のコンテンツ鍵情報の各々では、前記第1データは、当該コンテンツ鍵情報の最下位に位置する所定長のデータとして配置される
    ことを特徴とする鍵情報生成方法。
  7. 請求項1または請求項4において、
    前記m個のコンテンツ鍵情報に対して、所定位置に前記部分検査用データを格納する付加情報を対応付けるステップ(F)をさらに備え、
    前記ステップ(E)では、さらに、
    前記データ書込部が、前記m個の付加情報を前記第1記憶領域に書き込む
    ことを特徴とする鍵情報生成方法。
  8. ドメイン鍵情報とm個(mは自然数)のコンテンツ鍵情報とを含み且つ改竄の有無を検出される鍵情報を生成するデータ生成部と、
    前記データ生成部によって生成された鍵情報をターゲット機器に書き込むデータ書込部とを備えるホスト機器による鍵情報の生成方法であって、
    前記ターゲット機器は、第1記憶領域と、当該第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを有し、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵を含み、
    前記生成方法は、
    前記データ生成部が、前記ドメイン鍵を用いて前記m個のコンテンツ鍵情報の各々を暗号化するステップ(A)と、
    前記データ生成部が、前記ステップ(A)によって暗号化されたm個のコンテンツ鍵情報の各々に対して第1演算を実行して、m個の第1データを生成するステップ(B)と、
    前記データ生成部が、前記ステップ(B)において生成されたm個の第1データを含む連結データに対して第2演算を実行して、第2データを生成するステップ(C)と、
    前記データ生成部が、前記ステップ(C)において生成された第2データを全体検査用データとして前記ドメイン鍵情報に追加するステップ(D)と、
    前記データ書込部が、前記m個の第1データをm個の部分検査用データとして前記第1記憶領域に書き込み、前記m個の暗号化されたコンテンツ鍵情報を前記第1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第2記憶領域に書き込むステップ(E)とを備える
    ことを特徴とする鍵情報生成方法。
  9. 請求項8において、
    前記第1および第2演算の各々は、ハッシュ演算である
    ことを特徴とする鍵情報生成方法。
  10. 請求項1,請求項4,請求項8のうちいずれか1つにおいて、
    前記鍵情報は、前記ドメイン鍵情報を暗号化および復号化するために使用される認証鍵をさらに含み、
    前記ターゲット機器は、前記第2領域よりもセキュリティレベルが高く、且つ、前記認証鍵を格納する第3記憶領域をさらに含み、
    前記生成方法は、
    前記データ生成部が、前記認証鍵を用いて前記ドメイン鍵情報を暗号化するステップ(F)をさらに備え、
    前記ステップ(E)では、
    前記データ書込部が、前記ステップ(F)において暗号化されたドメイン鍵情報を前記第2記憶領域に書き込む
    ことを特徴とする鍵情報生成方法。
  11. 請求項10において、
    前記第1記憶領域は、前記ホスト機器が任意にアクセスすることができ、
    前記第2記憶領域は、前記ホスト機器と前記ターゲット機器との間で認証が成功すると、当該ホスト機器がアクセスすることができ、
    前記第3記憶領域は、前記ホスト機器と前記ターゲット機器との間で相互認証を実行するために使用される
    ことを特徴とする鍵情報生成方法。
  12. 請求項11において、
    前記第3記憶領域は、前記認証鍵が書き込まれた後に書き換えができなくなるように処理される
    ことを特徴とする鍵情報生成方法。
  13. 請求項1,請求項4,請求項8のうちいずれか1つにおいて、
    前記ターゲット機器は、前記ホスト機器からのクロックおよび動作命令に従って動作する可搬型記憶デバイスである
    ことを特徴とする鍵情報生成方法。
  14. ドメイン鍵とm個(mは自然数)のコンテンツ鍵情報とを含み且つ改竄の有無を検出される鍵情報を生成する鍵情報生成装置であって、
    前記ターゲット機器は、第1記憶領域と、当該第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵を含み、
    前記鍵情報生成装置は、
    前記m個のコンテンツ鍵情報の各々に対して、改竄検出処理のために使用される部分検査用データに相当する第1データを追加し、前記ドメイン鍵を用いて当該m個のコンテンツ鍵情報の各々を連鎖暗号化する暗号化部と、
    前記暗号化部によって暗号化されたm個のコンテンツ鍵情報の各々の中から前記第1データを暗号化されたままの状態で抽出するデータ抽出部と、
    前記データ抽出部によって抽出されたm個の第1データを含む連結データに対して所定演算を実行して、第2データを生成するデータ生成部と、
    前記データ生成部によって生成された第2データを全体検査用データとして前記ドメイン鍵情報に追加するデータ追加部と、
    前記m個の暗号化されたコンテンツ鍵情報を前記第1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第2記憶領域に書き込むデータ書込部とを備える
    ことを特徴とする鍵情報生成装置。
  15. ドメイン鍵とm個(mは自然数)のコンテンツ鍵情報とを含み且つ改竄の有無を検出される鍵情報を生成する鍵情報生成装置であって、
    前記ターゲット機器は、第1記憶領域と、当該第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵を含み、
    前記鍵情報生成装置は、
    前記m個のコンテンツ鍵情報の各々に対して、改竄検出処理のために使用される部分検査用データに相当する第1データを追加し、前記ドメイン鍵を用いて当該m個のコンテンツ鍵情報の各々を連鎖暗号化する暗号化部と、
    前記暗号化部によって暗号化されたm個のコンテンツ鍵情報の各々の中から前記第1データを暗号化されたままの状態で抽出するデータ抽出部と、
    第2データと前記データ抽出部によって抽出されたm個の第1データとを含む連結データを前記ドメイン鍵を用いて連鎖暗号化し、当該暗号化された連結データの中から前記第2データを暗号化されたままの状態で抽出するデータ処理部と、
    前記データ処理部によって抽出された第2データを全体検査用データとして前記ドメイン鍵情報に追加するデータ追加部と、
    前記データ処理部によって暗号化された連結データに含まれるm個の暗号化された第1データを前記第1記憶領域に書き込み、前記m個の暗号化されたコンテンツ鍵情報を前記第1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第2記憶領域に書き込むデータ書込部とを備える
    ことを特徴とする鍵情報生成装置。
  16. ドメイン鍵とm個(mは自然数)のコンテンツ鍵情報とを含み且つ改竄の有無を検出される鍵情報を生成する鍵情報生成装置であって、
    前記ターゲット機器は、第1記憶領域と、当該第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵を含み、
    前記鍵情報生成装置は、
    前記ドメイン鍵を用いて前記m個のコンテンツ鍵情報の各々を暗号化する暗号化部と、
    前記暗号化部によって暗号化されたm個のコンテンツ鍵情報の各々に対して第1演算を実行して、m個の第1データを生成する第1演算部と、
    前記第1演算部によって生成されたm個の第1データを含む連結データに対して第2演算を実行して、第2データを生成する第2演算部と、
    前記第2演算部によって生成された第2データを全体検査用データとして前記ドメイン鍵情報に追加するデータ追加部と、
    前記m個の第1データを前記m個の部分検査用データとして前記第1記憶領域に書き込み、前記m個の暗号化されたコンテンツ鍵情報を前記第1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第2記憶領域に書き込むデータ書込部とを備える
    ことを特徴とする鍵情報生成装置。
  17. 改竄の有無を検出される鍵情報に対して新たなコンテンツ鍵情報を追加するとともに、当該鍵情報を更新するデータ更新部と、
    前記データ更新部によって更新された鍵情報をターゲット機器に書き込むデータ書込部とを備えるホスト機器による鍵情報の更新方法であって、
    前記ターゲット機器は、第1記憶領域と、前記第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含み、
    前記鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報とを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含み、
    前記m個のコンテンツ鍵情報の各々は、暗号化されており、
    前記更新方法は、
    前記データ更新部が、前記新たなコンテンツ鍵情報に対して前記第1データを追加し、当該コンテンツ鍵情報を前記ドメイン鍵を用いて連鎖暗号化するステップ(A)と、
    前記データ更新部が、前記ステップ(A)において暗号化されたコンテンツ鍵情報の中から前記第1データを暗号化されたままの状態で抽出するステップ(B)と、
    前記データ更新部が、前記ステップ(B)において抽出された第1データと前記m個の暗号化されたコンテンツ鍵情報の各々に含まれる第1データとを含む連結データに対して所定演算を実行して、第2データを生成するステップ(C)と、
    前記データ更新部が、前記ドメイン鍵情報に含まれる全体検査用データを前記ステップ(C)において生成された第2データに書き換えるステップ(D)と、
    前記データ書込部が、前記m個の暗号化されたコンテンツ鍵情報と前記暗号化された新たなコンテンツ鍵情報とを前記第1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第2記憶領域に書き込むステップ(E)とを備える
    ことを特徴とする鍵情報更新方法。
  18. 改竄の有無を検出される鍵情報に対して新たなコンテンツ鍵情報を追加するとともに、当該鍵情報を更新するデータ更新部と、
    前記データ更新部によって更新された鍵情報をターゲット機器に書き込むデータ書込部とを備えるホスト機器による鍵情報の更新方法であって、
    前記ターゲット機器は、第1記憶領域と、前記第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含み、
    前記鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報と、m個の暗号化された第1データと、第2データとを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含み、
    前記m個のコンテンツ鍵情報の各々は、暗号化されており、
    前記更新方法は、
    前記データ更新部が、前記新たなコンテンツ鍵情報に対して前記第1データを追加し、当該コンテンツ鍵情報を前記ドメイン鍵を用いて連鎖暗号化するステップ(A)と、
    前記データ更新部が、前記ステップ(A)において暗号化されたコンテンツ鍵情報の中から前記第1データを暗号化されたままの状態で抽出するステップ(B)と、
    前記データ更新部が、前記第2データ,前記m個の暗号化された第1データ,および前記ステップ(B)において抽出された第1データを含む連結データを、前記ドメイン鍵を用いて連鎖暗号化し、当該暗号化された連結データの中から前記第2データを暗号化されたままの状態で抽出するステップ(C)と、
    前記データ更新部が、前記ドメイン鍵情報に含まれる全体検査用データを前記ステップ(C)において抽出された第2データに書き換えるステップ(D)と、
    前記データ書込部が、前記ステップ(C)において暗号化された連結データに含まれる(m+1)個の第1データを前記第1記憶領域に書き込み、前記m個の暗号化されたコンテンツ鍵情報および前記暗号化された新たなコンテンツ鍵情報を前記第1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第2記憶領域に書き込むステップ(E)とを備える
    ことを特徴とする鍵情報更新方法。
  19. 改竄の有無を検出される鍵情報に対して新たなコンテンツ鍵情報を追加するとともに、当該鍵情報を更新するデータ更新部と、
    前記データ更新部によって更新された鍵情報をターゲット機器に書き込むデータ書込部とを備えるホスト機器による鍵情報の更新方法であって、
    前記ターゲット機器は、第1記憶領域と、前記第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含み、
    前記鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報と、m個の部分検査用データとを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含み、
    前記m個のコンテンツ鍵情報の各々は、暗号化されており、
    前記更新方法は、
    前記データ更新部が、前記新たなコンテンツ鍵情報を暗号化するステップ(A)と、
    前記データ更新部が、前記ステップ(A)において暗号化された新たなコンテンツ鍵情報に対して第1演算を実行して、第1データを生成するステップ(B)と、
    前記データ更新部が、前記m個の部分検査用データと前記ステップ(B)において生成された第1データとを含む連結データに対して第2演算を実行して、第2データを生成するステップ(C)と、
    前記データ更新部が、前記ドメイン鍵情報に含まれる全体検査用データを前記ステップ(C)において生成された第2データに書き換えるステップ(D)と、
    前記データ書込部が、m個の部分検査用データと前記第1データとを(m+1)個の部分検査用データとして前記第1記憶領域に書き込み、前記m個の暗号化されたコンテンツ鍵情報および前記暗号化された新たなコンテンツ鍵情報を前記第1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第2記憶領域に書き込むステップ(E)とを備える
    ことを特徴とする鍵情報更新方法。
  20. 改竄の有無を検出される鍵情報の中からいずれか1つのコンテンツ鍵情報を削除するとともに、当該鍵情報を更新するデータ更新部と、
    前記データ更新部によって更新された鍵情報をターゲット機器に書き込むデータ書込部とを備えるホスト機器による鍵情報の更新方法であって、
    前記ターゲット機器は、第1記憶領域と、前記第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含み、
    前記鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報とを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含み、
    前記m個のコンテンツ鍵情報の各々は、暗号化されており、
    前記更新方法は、
    前記データ更新部が、前記m個の暗号化されたコンテンツ鍵情報のうちいずれか1つを削除するステップ(A)と、
    前記データ更新部が、前記ステップ(A)において削除されなかった(m−1)個の暗号化されたコンテンツ鍵情報の各々に含まれる第1データを暗号化されたままの状態で抽出するステップ(B)と、
    前記データ更新部が、前記ステップ(B)において抽出された(m−1)個の第1データを含む連結データに対して所定演算を実行して、第2データを生成するステップ(C)と、
    前記データ更新部が、前記ドメイン鍵情報に含まれる全体検査用データを前記ステップ(C)において生成された第2データに書き換えるステップ(D)と、
    前記データ書込部が、前記(m−1)個の暗号化されたコンテンツ鍵情報を前記第1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第2記憶領域に書き込むステップ(E)とを備える
    ことを特徴とする鍵情報更新方法。
  21. 改竄の有無を検出される鍵情報の中からいずれか1つのコンテンツ鍵情報を削除するとともに、当該鍵情報を更新するデータ更新部と、
    前記データ更新部によって更新された鍵情報をターゲット機器に書き込むデータ書込部とを備えるホスト機器による鍵情報の更新方法であって、
    前記ターゲット機器は、第1記憶領域と、前記第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含み、
    前記鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報と、m個の暗号化された第1データと、第2データとを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含み、
    前記m個の暗号化された第1データは、前記m個のコンテンツ鍵情報と一対一で対応し、
    前記m個のコンテンツ鍵情報の各々は、暗号化されており、
    前記更新方法は、
    前記データ更新部が、前記m個のコンテンツ鍵情報のうちいずれか1つを削除するステップ(A)と、
    前記データ更新部が、前記ステップ(A)において削除されなかった(m−1)個の暗号化されたコンテンツ鍵情報の各々に含まれる第1データを暗号化されたままの状態で抽出するステップ(B)と、
    前記データ更新部が、前記m個の暗号化された第1データのうち前記ステップ(A)において削除されたコンテンツ鍵情報に対応する第1データを削除するステップ()と、
    前記データ更新部が、前記第2データと前記ステップ()において削除されなかった(m−1)個の暗号化された第1データとを含む連結データを前記ドメイン鍵を用いて連鎖暗号化し、当該暗号化された連結データの中から前記第2データを暗号化されたままの状態で抽出するステップ()と、
    前記データ更新部が、前記ドメイン鍵情報に含まれる全体検査用データを前記ステップ()において抽出された第2データに書き換えるステップ()と、
    前記データ書込部が、前記ステップ()において暗号化された連結データに含まれる(m−1)個の第1データを前記第1記憶領域に書き込み、前記(m−1)個の暗号化されたコンテンツ鍵情報を前記第1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第2記憶領域に書き込むステップ()とを備える
    ことを特徴とする鍵情報更新方法。
  22. 改竄の有無を検出される鍵情報の中からいずれか1つのコンテンツ鍵情報を削除するとともに、当該鍵情報を更新するデータ更新部と、
    前記データ更新部によって更新された鍵情報をターゲット機器に書き込むデータ書込部とを備えるホスト機器による鍵情報の更新方法であって、
    前記ターゲット機器は、第1記憶領域と、前記第1記憶領域よりもセキュリティレベルが高い第2記憶領域とを含み、
    前記鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報と、m個の部分検査用データとを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵情報を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含み、
    前記m個の部分検査用データは、前記m個のコンテンツ鍵情報と一対一で対応し、
    前記m個のコンテンツ鍵情報の各々は、暗号化されており、
    前記更新方法は、
    前記データ更新部が、前記m個の暗号化されたコンテンツ鍵情報のうちいずれか1つを削除するステップ(A)と、
    前記データ更新部が、前記m個の部分検査用データのうち前記ステップ(A)において削除されたコンテンツ鍵情報に対応する部分検査用データを削除するステップ(B)と、
    前記データ更新部が、前記ステップ(B)において削除されなかった(m−1)個の部分検査用データを含む連結データに対して第2演算を実行して、第2データを生成するステップ(C)と、
    前記データ更新部が、前記ドメイン鍵情報に含まれる全体検査用データを前記ステップ(C)において生成された第2データに書き換えるステップ(D)と、
    前記データ書込部が、前記ステップ(B)において削除されなかった(m−1)個の部分検査用データを前記第1記憶領域に書き込み、前記(m−1)個の暗号化されたコンテンツ鍵情報を前記第1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第2記憶領域に書き込むステップ(E)とを備える
    ことを特徴とする鍵情報更新方法。
  23. ホスト機器によって、ターゲット機器に格納された鍵情報における改竄の有無を検出する改竄検出方法であって、
    前記鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報とを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含み、
    前記m個のコンテンツ鍵情報の各々は、暗号化されており、
    前記改竄検出方法は、
    前記ホスト機器が、前記ターゲット機器に格納された前記m個の暗号化されたコンテンツ鍵情報のうちいずれか1つを前記ターゲット機器に格納された前記ドメイン鍵を用いて連鎖復号化し、当該復号化されたコンテンツ鍵情報の中から前記第1データを抽出するステップ(A)と、
    前記ホスト機器が、前記ステップ(A)において抽出された第1データと予め用意された部分検査用データとを比較するステップ(B)と、
    前記ホスト機器が、前記ターゲット機器に格納された前記m個のコンテンツ鍵情報の各々の中から前記第1データを暗号化されたままの状態で抽出し、当該抽出されたm個の第1データを含む連結データに対して所定演算を実行して、第2データを生成するステップ(C)と、
    前記ホスト機器が、前記ステップ(C)において生成された第2データと前記ターゲット機器に格納された前記ドメイン鍵情報に含まれる全体検査用データとを比較するステップ(D)と、
    前記ホスト機器が、前記ステップ(B)において前記第1データと前記部分検査用データとが一致し、且つ、前記ステップ(D)において前記第2データと前記全体検査用データとが一致すると、前記ターゲット機器に格納された前記鍵情報が改竄されていないと判断するステップ(E)とを備える
    ことを特徴とする改竄検出方法。
  24. 請求項23において、
    前記全体検査用データは、改竄されていないm個の暗号化されたコンテンツ鍵情報の中からm個の第1データを暗号化されたままの状態で抽出し、当該抽出されたm個の第1データを含む連結データに対して所定演算を実行することによって得られるデータに相当する
    ことを特徴とする改竄検出方法。
  25. 請求項23において、
    前記ターゲット機器は、
    前記m個の暗号化されたコンテンツ鍵情報を格納する第1記憶領域と、
    前記第1記憶領域よりもセキュリティレベルが高く、且つ、前記ドメイン鍵情報を格納する第2記憶領域とを含む
    ことを特徴とする改竄検出方法。
  26. 請求項23において、
    前記所定演算は、ハッシュ演算である
    ことを特徴とする改竄検出方法。
  27. 請求項26において、
    前記ハッシュ演算のアルゴリズムと前記連鎖暗号化のアルゴリズムとは、一部が共通している
    ことを特徴とする改竄検出方法。
  28. ホスト機器によって、ターゲット機器に格納された鍵情報における改竄の有無を検出する改竄検出方法であって、
    前記鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報と、m個の暗号化された第1データと、第2データとを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含み、
    前記m個のコンテンツ鍵情報の各々は、暗号化されており、
    前記改竄検出方法は、
    前記ホスト機器が、前記ターゲット機器に格納された前記m個の暗号化されたコンテンツ鍵情報のうちいずれか1つを前記ターゲット機器に格納された前記ドメイン鍵を用いて連鎖復号化し、当該復号化されたコンテンツ鍵情報の中から前記第1データを抽出するステップ(A)と、
    前記ホスト機器が、前記ステップ(A)において抽出された第1データと予め用意された部分検査用データとを比較するステップ(B)と、
    前記ホスト機器が、前記ターゲット機器に格納された前記ドメイン鍵情報に含まれる全体検査用データと前記m個の暗号化された第1データとを含む連結データを前記ドメイン鍵を用いて連鎖復号化し、当該復号化された連結データの中から当該全体検査用データを抽出するステップ(C)と、
    前記ホスト機器が、前記ターゲット機器に格納された前記第2データと前記ステップ(C)において抽出された全体検査用データとを比較するステップ(D)と、
    前記ホスト機器が、前記ステップ(B)において前記第1データと前記部分検査用データとが一致し、且つ、前記ステップ(D)において前記第2データと前記全体検査用データとが一致すると、前記ターゲット機器に格納された前記鍵情報が改竄されていないと判断するステップ(E)とを備える
    ことを特徴とする改竄検出方法。
  29. 請求項28において、
    前記全体検査用データは、改竄されていないm個の暗号化された第1データと前記第2データとを含む連結データを前記ドメイン鍵を用いて連鎖暗号化し、当該暗号化された連結データの中から暗号化されたままの状態で抽出される第2データに相当する
    ことを特徴とする改竄検出方法。
  30. 請求項28において、
    前記ターゲット機器は、
    前記m個の暗号化されたコンテンツ鍵,前記m個の暗号化された第1データ,および前記第2データを格納する第1記憶領域と、
    前記第1記憶領域よりもセキュリティレベルが高く、且つ、前記ドメイン鍵情報を格納する第2記憶領域とを含む
    ことを特徴とする改竄検出方法。
  31. 請求項23または請求項28において、
    前記m個のコンテンツ鍵情報の各々では、前記第1データは、当該コンテンツ鍵情報のうち予め指定された位置に配置されている
    ことを特徴とする改竄検出方法。
  32. 請求項23または請求項28において、
    前記m個のコンテンツ鍵情報の各々では、前記第1データは、当該コンテンツ鍵情報の最下位に位置する所定長のデータとして配置されている
    ことを特徴とする改竄検出方法。
  33. 請求項23または請求項28において、
    前記鍵情報は、m個のコンテンツ鍵情報と一対一で対応するm個の付加情報をさらに含み、
    前記m個の付加情報の各々には、前記部分検査用データが所定位置に格納されており、
    前記ステップ(B)では、
    前記ホスト機器が、前記ステップ(A)において抽出された第1データと当該第1データが抽出されたコンテンツ鍵情報に対応する付加情報に格納された部分検査用データとを比較する
    ことを特徴とする改竄検出方法。
  34. ホスト機器によって、ターゲット機器に格納された鍵情報における改竄の有無を検出する改竄検出方法であって、
    前記鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報と、m個の部分検査用データとを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含み、
    前記m個の部分検査用データは、前記m個のコンテンツ鍵情報と一対一で対応し、
    前記m個のコンテンツ鍵情報の各々は、暗号化されており、
    前記改竄検出方法は、
    前記ホスト機器が、前記ターゲット機器に格納された前記m個の暗号化されたコンテンツ鍵情報のうちいずれか1つに対して第1演算を実行して、第1データを生成するステップ(A)と、
    前記ホスト機器が、前記ステップ(A)において生成された第1データと前記ターゲット機器に格納された前記m個の部分検査用データのうち前記ステップ(A)において第1演算が実行されたコンテンツ鍵情報に対応する部分検査用データとを比較するステップ(B)と、
    前記ホスト機器が、前記ターゲット機器に格納された前記m個の部分検査用データを含む連結データに対して第2演算を実行して、第2データを生成するステップ(C)と、
    前記ホスト機器が、前記ステップ(C)において生成された第2データと前記ターゲット機器に格納された前記ドメイン鍵情報に含まれる全体検査用データとを比較するステップ(D)と、
    前記ホスト機器が、前記ステップ(B)において前記第1データと前記部分検査用データとが一致し、且つ、前記ステップ(D)において前記第2データと前記全体検査用データとが一致すると、前記ターゲット機器に格納された前記鍵情報が改竄されていないと判断するステップ(E)とを備える
    ことを特徴とする改竄検出方法。
  35. 請求項34において、
    前記m個の部分検査用データの各々は、当該部分検査用データに対応する改竄されていないコンテンツ鍵情報に対して前記第1演算を実行することによって得られるデータに相当し、
    前記全体検査用データは、改竄されていないm個の部分検査用データを含む連結データに対して前記第2演算を実行することによって得られるデータに相当する
    ことを特徴とする改竄検出方法。
  36. 請求項34において、
    前記ターゲット機器は、
    前記m個の暗号化されたコンテンツ鍵情報と前記m個の部分検査用データとを格納する第1記憶領域と、
    前記第1記憶領域よりもセキュリティレベルが高く、且つ、前記ドメイン鍵情報を格納する第2記憶領域とを含む
    ことを特徴とする改竄検出方法。
  37. 請求項34において、
    前記第1および第2演算の各々は、ハッシュ演算である
    ことを特徴とする改竄検出方法。
  38. 請求項25,請求項30,請求項36のうちいずれか1つにおいて、
    前記鍵情報は、前記ドメイン鍵情報を暗号化および復号化するために使用される認証鍵をさらに含み、
    前記ターゲット機器は、前記第2領域よりもセキュリティレベルが高く、且つ、前記認証鍵を格納する第3記憶領域をさらに含み、
    前記ドメイン鍵情報は、暗号化されている
    ことを特徴とする改竄検出方法。
  39. 請求項38において、
    前記第1記憶領域は、前記ホスト機器が任意にアクセスすることができ、
    前記第2記憶領域は、前記ホスト機器と前記ターゲット機器との間で認証が成立すると、当該ホスト機器がアクセスすることができ、
    前記第3記憶領域は、前記ホスト機器と前記ターゲット機器との間で相互認証を実行するために使用される
    ことを特徴とする改竄検出方法。
  40. 請求項39において、
    前記第3記憶領域は、前記認証鍵が書き込まれた後に書き換えができなくなるように処理される
    ことを特徴とする改竄検出方法。
  41. 請求項23,請求項28,請求項34のうちいずれか1つにおいて、
    前記ターゲット機器は、前記ホスト機器からのクロックおよび動作命令に従って動作する可搬型記憶デバイスである
    ことを特徴とする改竄検出方法。
  42. ターゲット機器に格納された鍵情報における改竄の有無を検出する改竄検出装置であって、
    前記鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報とを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含み、
    前記m個のコンテンツ鍵情報の各々は、暗号化されており、
    前記改竄検出装置は、
    前記m個の暗号化されたコンテンツ鍵情報のうちいずれか1つを前記ドメイン鍵を用いて連鎖復号化し、当該復号化されたコンテンツ鍵情報の中から前記第1データを抽出するデータ処理部と、
    前記データ処理部によって抽出された第1データと予め用意された部分検査用データとを比較する第1比較部と、
    前記m個のコンテンツ鍵情報の各々の中から前記第1データを暗号化されたままの状態で抽出し、当該抽出されたm個の第1データを含む連結データに対して所定演算を実行して、第2データを生成するデータ生成部と、
    前記データ生成部によって生成された第2データと前記ドメイン鍵情報に含まれる全体検査用データとを比較する第2比較部と、
    前記第1比較部において前記第1データと前記部分検査用データとが一致し、且つ、前記第2比較部において前記第2データと前記全体検査用データとが一致すると、前記鍵情報が改竄されていないと判断する改竄判断部とを備える
    ことを特徴とする改竄検出装置。
  43. ターゲット機器に格納された鍵情報における改竄の有無を検出する改竄検出装置であって、
    前記鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報と、m個の暗号化された第1データと、第2データとを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データに相当する第1データとを含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含み、
    前記m個のコンテンツ鍵情報の各々は、暗号化されており、
    前記改竄検出装置は、
    前記m個の暗号化されたコンテンツ鍵情報のうちいずれか1つを前記ドメイン鍵を用いて連鎖復号化し、当該復号化されたコンテンツ鍵情報の中から前記第1データを抽出する第1データ処理部と、
    前記第1データ処理部によって抽出された第1データと予め用意された部分検査用データとを比較する第1比較部と、
    前記ドメイン鍵情報に含まれる全体検査用データと前記m個の暗号化された第1データとを含む連結データを前記ドメイン鍵を用いて連鎖復号化し、当該復号化された連結データの中から当該全体検査用データを抽出する第2データ処理部と、
    前記第2データと前記第2データ処理部によって抽出された全体検査用データとを比較する第2比較部と、
    前記第1比較部において前記第1データと前記部分検査用データとが一致し、且つ、前記第2比較部において前記第2データと前記全体検査用データとが一致すると、前記鍵情報が改竄されていないと判断する改竄判断部とを備える
    ことを特徴とする改竄検出装置。
  44. ターゲット機器に格納された鍵情報における改竄を有無を検出する改竄検出装置であって、
    前記鍵情報は、ドメイン鍵情報と、m個(mは自然数)のコンテンツ鍵情報と、m個の部分検査用データとを含み、
    前記m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵と含み、
    前記ドメイン鍵情報は、前記m個のコンテンツ鍵を暗号化および復号化するために使用されるドメイン鍵と、全体検査用データとを含み、
    前記m個の部分検査用データは、前記m個のコンテンツ鍵情報と一対一で対応し、
    前記m個のコンテンツ鍵情報の各々は、暗号化されており、
    前記改竄検出装置は、
    前記m個の暗号化されたコンテンツ鍵情報のうちいずれか1つに対して第1演算を実行して、第1データを生成する第1演算部と、
    前記第1演算部によって生成された第1データと前記m個の部分検査用データのうち前記第1演算部によって第1演算が実行されたコンテンツ鍵情報に対応する部分検査用データとを比較する第1比較部と、
    前記m個の部分検査用データを含む連結データに対して第2演算を実行して、第2データを生成する第2演算部と、
    前記第2演算部によって生成された第2データと前記ドメイン鍵情報に含まれる全体検査用データとを比較する第2比較部と、
    前記第1比較部において前記第1データと前記部分検査用データとが一致し、且つ、前記第2比較部において前記第2データと前記全体検査用データとが一致すると、前記m個のコンテンツ鍵情報が改竄されていないと判断する改竄判断部とを備える
    ことを特徴とする改竄検出装置。
JP2006549011A 2004-12-20 2005-12-20 鍵情報生成方法および装置,鍵情報更新方法,改竄検出方法および装置,鍵情報のデータ構造 Expired - Fee Related JP4606421B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004367187 2004-12-20
JP2004367187 2004-12-20
PCT/JP2005/023397 WO2006068152A1 (ja) 2004-12-20 2005-12-20 鍵情報生成方法

Publications (2)

Publication Number Publication Date
JPWO2006068152A1 JPWO2006068152A1 (ja) 2008-06-12
JP4606421B2 true JP4606421B2 (ja) 2011-01-05

Family

ID=36601752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006549011A Expired - Fee Related JP4606421B2 (ja) 2004-12-20 2005-12-20 鍵情報生成方法および装置,鍵情報更新方法,改竄検出方法および装置,鍵情報のデータ構造

Country Status (3)

Country Link
US (1) US20080212770A1 (ja)
JP (1) JP4606421B2 (ja)
WO (1) WO2006068152A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341415B1 (en) * 2008-08-04 2012-12-25 Zscaler, Inc. Phrase matching
US9342621B1 (en) 2008-08-04 2016-05-17 Zscaler, Inc. Phrase matching
US9705854B2 (en) * 2012-07-09 2017-07-11 Massachusetts Institute Of Technology Cryptography and key management device and architecture
US10148430B1 (en) 2013-04-17 2018-12-04 Amazon Technologies, Inc Revocable stream ciphers for upgrading encryption in a shared resource environment
EP2884692B1 (en) * 2013-12-13 2020-05-20 Nxp B.V. Updating software on a secure element
US10284534B1 (en) * 2015-06-26 2019-05-07 EMC IP Holding Company LLC Storage system with controller key wrapping of data encryption key in metadata of stored data item
US10754960B2 (en) * 2017-11-17 2020-08-25 Intel Corporation Support for increased number of concurrent keys within multi-key cryptographic engine
US11038672B2 (en) * 2018-06-01 2021-06-15 Duality Technologies, Inc. Secure and distributed management of a proxy re-encryption key ledger
US11128460B2 (en) 2018-12-04 2021-09-21 EMC IP Holding Company LLC Client-side encryption supporting deduplication across single or multiple tenants in a storage system
US11019033B1 (en) 2019-12-27 2021-05-25 EMC IP Holding Company LLC Trust domain secure enclaves in cloud infrastructure
CN115544530A (zh) * 2021-06-30 2022-12-30 阿里巴巴新加坡控股有限公司 密钥管理系统及其实现密钥管理的方法和计算节点
US20230031380A1 (en) * 2021-07-30 2023-02-02 APPDIRECT, Inc. Encryption key rotation

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09200199A (ja) * 1995-12-22 1997-07-31 General Instr Corp Of Delaware ハッシュキーを使用した暗号サインの生成方法及び装置
JPH1040100A (ja) * 1996-03-29 1998-02-13 Internatl Business Mach Corp <Ibm> 暗号エンベロープの作成方法
JP2004194271A (ja) * 2002-10-18 2004-07-08 Toshiba Corp 暗号化記録装置、再生装置及びプログラム
JP2004199138A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd メモリデバイスとそれを使用する電子機器
JP2004259262A (ja) * 2003-02-07 2004-09-16 Matsushita Electric Ind Co Ltd 端末装置及びそれを備えたデータ保護システム
JP2004535623A (ja) * 2001-04-18 2004-11-25 モトローラ・インコーポレイテッド デジタル電子通信コンテンツを安全かつ便利に管理するためのシステムおよび方法
JP2006197540A (ja) * 2004-12-16 2006-07-27 Matsushita Electric Ind Co Ltd 改竄検出用データ生成方法、および改竄検出方法及び装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209583A (ja) * 2000-01-26 2001-08-03 Sony Corp データ記録再生器およびセーブデータ処理方法、並びにプログラム提供媒体
JP4190253B2 (ja) * 2002-10-31 2008-12-03 大日本印刷株式会社 コントラスト向上シートおよび背面投射型スクリーン

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09200199A (ja) * 1995-12-22 1997-07-31 General Instr Corp Of Delaware ハッシュキーを使用した暗号サインの生成方法及び装置
JPH1040100A (ja) * 1996-03-29 1998-02-13 Internatl Business Mach Corp <Ibm> 暗号エンベロープの作成方法
JP2004535623A (ja) * 2001-04-18 2004-11-25 モトローラ・インコーポレイテッド デジタル電子通信コンテンツを安全かつ便利に管理するためのシステムおよび方法
JP2004194271A (ja) * 2002-10-18 2004-07-08 Toshiba Corp 暗号化記録装置、再生装置及びプログラム
JP2004199138A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd メモリデバイスとそれを使用する電子機器
JP2004259262A (ja) * 2003-02-07 2004-09-16 Matsushita Electric Ind Co Ltd 端末装置及びそれを備えたデータ保護システム
JP2006197540A (ja) * 2004-12-16 2006-07-27 Matsushita Electric Ind Co Ltd 改竄検出用データ生成方法、および改竄検出方法及び装置

Also Published As

Publication number Publication date
JPWO2006068152A1 (ja) 2008-06-12
US20080212770A1 (en) 2008-09-04
WO2006068152A1 (ja) 2006-06-29

Similar Documents

Publication Publication Date Title
JP4606421B2 (ja) 鍵情報生成方法および装置,鍵情報更新方法,改竄検出方法および装置,鍵情報のデータ構造
JP3810425B2 (ja) 改竄検出用データ生成方法、および改竄検出方法及び装置
JP4140863B2 (ja) 暗号によって保護されたページング・システム
US6834333B2 (en) Data processing device, data storage device, data processing method, and program providing medium for storing content protected under high security management
US7373506B2 (en) Data authentication system
US7925017B2 (en) Information recording device, information playback device, information recording medium, information recording method, information playback method, and program providing medium
JP5417092B2 (ja) 暗号化属性を用いて高速化された暗号法
US20040243808A1 (en) Information processing device, method, and program
WO2001078298A1 (fr) Systeme et procede de traitement d&#39;informations
US20020071553A1 (en) Data storage device, data recording method, data playback method, and program providing medium
JP5198539B2 (ja) 記憶装置、アクセス装置およびプログラム
WO2023071040A1 (zh) 一种系统启动方法、系统启动装置、服务器以及可读存储介质
JP4843563B2 (ja) 情報記録媒体のセキュリティ方法、情報処理装置及びプログラム
US8499357B1 (en) Signing a library file to verify a callback function
CN113434876A (zh) 一种数据加密方法、装置、内存控制器、芯片及电子设备
JP4864456B2 (ja) 改竄検出用データ生成方法
US20040250104A1 (en) Method of processing data and data processing apparatus
JP2002290395A (ja) 情報端末装置
JP2009516961A (ja) キー及び/又は権利オブジェクトを管理する方法及びシステム
JP2006099697A (ja) 情報プログラム保護方法及び装置
CN100571135C (zh) 窜改检测用数据的生成方法、窜改检测方法及装置
JP3184189B2 (ja) 電子化データ保護システム、使用許諾者側装置、使用者側装置、使用許諾情報生成処理方法および電子化データ復号処理方法
JP5318069B2 (ja) 情報処理装置
JP4829864B2 (ja) 情報記録媒体のセキュリティ方法、プログラム及び記録媒体
US20130036474A1 (en) Method and Apparatus for Secure Data Representation Allowing Efficient Collection, Search and Retrieval

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100819

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees