JP2015056861A - 復号装置、暗号化装置、方法、プログラム、記録媒体および製造方法 - Google Patents

復号装置、暗号化装置、方法、プログラム、記録媒体および製造方法 Download PDF

Info

Publication number
JP2015056861A
JP2015056861A JP2013190841A JP2013190841A JP2015056861A JP 2015056861 A JP2015056861 A JP 2015056861A JP 2013190841 A JP2013190841 A JP 2013190841A JP 2013190841 A JP2013190841 A JP 2013190841A JP 2015056861 A JP2015056861 A JP 2015056861A
Authority
JP
Japan
Prior art keywords
key
encryption
data
information
nodes
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.)
Pending
Application number
JP2013190841A
Other languages
English (en)
Inventor
加藤 拓
Hiroshi Kato
拓 加藤
佐藤 順
Jun Sato
順 佐藤
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013190841A priority Critical patent/JP2015056861A/ja
Priority to US14/480,177 priority patent/US20160020899A1/en
Publication of JP2015056861A publication Critical patent/JP2015056861A/ja
Pending legal-status Critical Current

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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】データの保護を強化する。【解決手段】復号装置は、複数のデータ復号部と、複数の鍵生成部とを備える。複数のデータ復号部は、暗号化されたデータを互いに異なる処理で復号する。鍵ツリーは、木構造の複数のノードを有する。複数のリーフのそれぞれには、複数の再生装置のそれぞれが対応付けられている。複数のノードのそれぞれには、互いに異なるデバイス鍵が割り当てられている。鍵生成部は、デバイス鍵保持部と、鍵復号部とを有する。デバイス鍵保持部は、鍵ツリーのノードに割り当てられた複数のデバイス鍵を保持する。鍵復号部は、木構造の中から選択された1または複数のデバイス鍵のそれぞれにより鍵情報を暗号化した1または複数の暗号化鍵情報を含む鍵管理情報を取得し、デバイス鍵保持部に保持された複数のデバイス鍵により鍵管理情報を復号して鍵情報を生成する。【選択図】図2

Description

本発明の実施形態は、復号装置、暗号化装置、方法、プログラム、記録媒体および製造方法に関する。
BD(Blu-ray Disc(登録商標))には、MKB(Media Key Block)と呼ばれる鍵管理情報が記録されている。これにより、BDは、不正な装置による再生を禁止させることができる。不正な装置によるBDの再生を禁止させるMKBを生成することを、無効化(Revocation)と呼ぶ。
また、BDでは、MKBによるコンテンツ保護とは別個に、バーチャルマシンを利用したBD+と呼ばれるコンテンツ保護技術が採用されている。BDでは、このような2種類の異なるコンテンツ保護技術を採用することにより、保護の強化を図っている。
米国特許第8023655号明細書 米国特許第8121287号明細書 米国特許第8046837号明細書 米国特許出願公開第2009/0214029号明細書
Advanced Access Content System (AACS), "Introduction and Common Cryptographic Elements Book", 2012年,[平成25年7月10日検索]、インターネット<URL: http://www.aacsla.com/specifications> Advanced Access Content System (AACS), "Pre-recorded Video Book", 2012年,[平成25年7月10日検索]、インターネット<URL: http://www.aacsla.com/specifications>
ところで、技術の進歩に伴い、さらにコンテンツの保護を強化する必要がある。また、特定の装置を無効化させるMKBを生成する場合、その前提として、不正と疑われる装置が保持している秘密鍵を特定しなければならなかった。しかし、装置が保持している秘密鍵を特定することは非常に難しかった。
実施形態の復号装置は、複数のデータ復号部と、複数の鍵生成部とを備える。複数のデータ復号部は、暗号化されたデータを互いに異なる処理で復号する。複数の鍵生成部は、複数のデータ復号部のそれぞれに対応して設けられ、対応する復号処理で使用される鍵情報を生成する。鍵ツリーは、木構造の複数のノードを有する。リーフは、複数のノードの中の最下層のノードである。複数のリーフのそれぞれには、複数の再生装置のそれぞれが対応付けられている。複数のノードのそれぞれには、互いに異なるデバイス鍵が割り当てられている。複数の鍵生成部のそれぞれは、デバイス鍵保持部と、鍵復号部とを有する。デバイス鍵保持部は、鍵ツリーのノードに割り当てられた複数のデバイス鍵を保持する。鍵復号部は、鍵ツリーの中から選択された1または複数のデバイス鍵のそれぞれにより鍵情報を暗号化した1または複数の暗号化鍵情報を含む鍵管理情報を取得し、デバイス鍵保持部に保持された複数のデバイス鍵の中から鍵管理情報の復号に使用できる1つのデバイス鍵を選択し、選択したデバイス鍵により鍵管理情報を復号して鍵情報を生成する。
実施形態に係る暗号処理システムの構成図。 実施形態に係る復号部の構成図。 第1のMKBのデータ構造を示す図。 第1のKCDシードブロックのデータ構造を示す図。 実施形態に係る暗号化部の構成図。 デバイス鍵が割り当てられた鍵ツリー。 再生装置に配布されるデバイス鍵の一例。 不正利用されていない場合に暗号化に用いられるデバイス鍵の一例。 不正利用されていない場合に暗号化に用いられるデバイス鍵の他の例。 不正利用された場合に暗号化に用いられるデバイス鍵の一例。 KCD鍵が割り当てられた鍵ツリーの一例。 復号処理のフロー図。 第1の復号処理のフロー図。 第2の復号処理のフロー図。 第1のMKBの暗号化に用いられるデバイス鍵。 第2のMKBの暗号化に用いられるデバイス鍵。 暗号化部および復号部のハードウェア構成図。
(全体構成)
図1は、実施形態に係る暗号処理システム10の構成を示す。暗号処理システム10は、記録媒体15にデータを記録する記録装置20と、記録媒体15からデータを再生する再生装置30と、鍵管理装置40とを備える。
記録媒体15は、一例として、BD(Blu-ray Disc(登録商標))またはDVD(Digital Versatile Disk(登録商標))等の光ディスクである。記録媒体15は、半導体メモリまたはハードディスク等の磁気ディスク等であってもよい。
記録装置20は、入力部21と、暗号化部22(暗号化装置)と、出力部23とを備える。入力部21は、外部から平文コンテンツデータを入力する。暗号化部22は、入力部21が入力した平文コンテンツデータ等に基づき、暗号化コンテンツデータ、暗号化タイトル鍵、第1のMKB(Media Key Block)、第1のKCD(Key Conversion Data)シードブロック、データ変換処理プログラム、第2のMKBおよび第2のKCDシードブロックを生成する。
出力部23は、暗号化部22により生成された各データのそれぞれを記録媒体15の予め定められた領域に記録する。
このような記録装置20は、コンテンツの権利者の許可の元で製造工場において使用される。また、記録装置20は、コンテンツの権利者の許可の元で通信路または放送を経由して提供された平文コンテンツデータを取得して、各データを記録してもよい。
再生装置30は、記録装置20により各データが記録された記録媒体15を再生する。再生装置30は、入力部31と、復号部32(復号装置)と、出力部33とを備える。
入力部31は、記録媒体15から、暗号化コンテンツデータ、暗号化タイトル鍵、第1のMKB、第1のKCDシードブロック、データ変換処理プログラム、第2のMKBおよび第2のKCDシードブロックを取得する。復号部32は、入力部31が取得した各データに基づき、平文コンテンツデータを生成する。出力部33は、復号部32が生成した平文コンテンツデータを外部へと出力する。
このような再生装置30は、ユーザにより使用される。また、再生装置30の復号部32は、コンピュータにより実行されるソフトウェアであってもよいし、一部または全部がハードウェアであってもよい。また、再生装置30は、入力部31と復号部32との間に他の装置が介在する構成であってもよい。
鍵管理装置40は、例えば鍵管理団体等により管理されるサーバである。鍵管理装置40は、記録媒体15にデータを記録する際に必要な各種情報を管理する。鍵管理装置40は、記録媒体15にデータを記録する際に必要な各種情報をDVD等のメディアまたはネットワーク等を介して、記録媒体15の製作者に配布する。記録媒体15の作成者は、配布された情報を記録装置20に与えて、記録媒体15を作成する。また、鍵管理装置40は、記録媒体15からデータを再生する際に必要となる各種の情報をDVD等のメディアを介して記録媒体15の製作者に配布する。再生装置30の製造者は、配布された情報を再生装置30に書き込み、再生装置30で記録媒体15を再生可能とする。
(データ)
平文コンテンツデータは、例えば、所定方式で符号化されたオーディオビジュアルデータである。平文コンテンツデータは、オーディオデータ、静止画像データ、電子書籍データおよびゲームプログラムデータ等のどのようなデジタルデータであってもよい。
暗号化コンテンツデータは、平文コンテンツデータを異なる複数の方式で暗号化をしたデータである。本実施形態では、暗号化コンテンツデータは、平文コンテンツデータに対して、2段階の暗号化処理をしたデータである。一つの暗号化処理は、平文コンテンツデータの一部を他のデータに置き換えて中間コンテンツデータに変換するとともに、置き換え前の一部のデータを発生させるプログラムコードおよび変換テーブルを生成するデータ変換処理である。もう一つの処理は、中間コンテンツデータを平文タイトル鍵により暗号化する暗号化処理である。
暗号化タイトル鍵は、平文タイトル鍵を第1のメディア鍵により暗号化したデータである。なお、1つの平文コンテンツデータを分割して、分割したそれぞれのデータに対して異なる平文タイトル鍵による暗号化処理がされてもよい。
第1のMKBは、正当な再生装置30に、第1のメディア鍵の元となる第1の中間鍵を生成させるための情報である。第1のKCDシードブロックは、正当な再生装置30に、第1のKCD値を生成させるための情報である。また、第1のKCDシードブロックには、第1の位置情報が含まれる。第1の位置情報は、第1の中間鍵が何れのデバイス鍵で復号されたかを示す情報である。第1のメディア鍵は、第1の中間鍵、第1のKCD値および第1の位置情報に基づき生成されたデータである。なお、第1のMKBおよび第1のKCD値については、詳細を図6以降でさらに説明する。
データ変換処理プログラムは、バーチャルマシンにより実行されるJAVA(登録商標)等のプログラムコードと、平文コンテンツデータの一部である変換データを登録した変換テーブルとを含む。データ変換処理プログラムは、バーチャルマシンに第2のメディア鍵を入力することにより正しく実行される。平文コンテンツデータは、中間コンテンツデータの一部を、プログラムコードの実行に従ってバーチャルマシンから発生される変換データに置き換えることにより生成されたデータである。暗号化部22は、一例として、特許文献3に示された方法により、データ変換処理プログラムおよび変換データを生成する。
第2のMKBは、正当な再生装置30に、第2のメディア鍵の元となる第2の中間鍵を生成させるための情報である。第2のKCDシードブロックは、正当な再生装置30に、第2のKCD値を生成させるための情報である。また、第2のKCDシードブロックには、第2の位置情報が含まれる。第2の位置情報は、第2の中間鍵が何れのデバイス鍵で復号されたかを示す情報である。第2のメディア鍵は、第2の中間鍵、第2のKCD値および第2の位置情報に基づき生成されたデータである。なお、第2のMKBおよび第2のKCD値については詳細を図6以降でさらに説明する。
(復号部32の構成)
図2は、復号部32の構成を示す。復号部32は、第1のデータ復号部51と、第2のデータ復号部52と、第1の鍵生成部53と、第2の鍵生成部54とを備える。
第1のデータ復号部51および第2のデータ復号部52は、暗号化されたデータ(暗号化コンテンツデータ)を互いに異なる処理で復号する。第1の鍵生成部53は、第1のデータ復号部51に対応して設けられ、対応する第1のデータ復号部51の復号処理で使用される第1のメディア鍵(第1の鍵情報)を生成する。第2の鍵生成部54は、第2のデータ復号部52に対応して設けられ、対応する第2のデータ復号部52の復号処理で使用される第2のメディア鍵(第2の鍵情報)を生成する。
より具体的には、第1のデータ復号部51は、コンテンツ復号部61と、タイトル鍵復号部62とを有する。コンテンツ復号部61は、記録媒体15から暗号化コンテンツデータを取得する。コンテンツ復号部61は、暗号化コンテンツデータをタイトル鍵復号部62により生成された平文タイトル鍵により復号して、中間コンテンツデータを生成する。
タイトル鍵復号部62は、記録媒体15から暗号化タイトル鍵を取得する。タイトル鍵復号部62は、暗号化タイトル鍵を第1の鍵生成部53により生成された第1のメディア鍵により復号して、平文タイトル鍵を生成する。
第2のデータ復号部52は、データ変換部63と、セキュアVM部64とを有する。データ変換部63は、中間コンテンツデータにおける一部のデータを、セキュアVM部64から発生された変換データに置き換えて、平文コンテンツデータを生成する。
セキュアVM部64は、記録媒体15からデータ変換処理プログラムを取得する。データ変換処理プログラムは、プログラムコードと、変換データを登録した変換テーブルとを含む。セキュアVM部64は、プログラムコードをセキュアバーチャルマシン上で実行して、変換テーブルに登録された変換データを出力する。
また、セキュアVM部64は、再生装置30内に保持されている再生装置固有情報に基づき、処理を実行する。また、セキュアVM部64は、第2の鍵生成部54から第2のメディア鍵を取得して、取得した第2のメディア鍵が正当な値である場合に正常に動作を実行する。
第1の鍵生成部53は、デバイス鍵保持部65と、MKB処理部66(鍵復号部)と、KCD鍵保持部67と、KCD処理部68(位置検出部)と、メディア鍵生成部69とを有する。
デバイス鍵保持部65は、複数のデバイス鍵を秘密に保持する。ここで、鍵管理装置40は、鍵ツリーを管理する。鍵ツリーは、木構造に配置された複数のノードを有する。複数のノードのうち最下層のノードは、リーフという。鍵ツリーの複数のリーフのそれぞれには、複数の再生装置30のそれぞれが対応付けられている。そして、鍵ツリーの複数のノードのそれぞれには、互いに異なるデバイス鍵が割り当てられている。
デバイス鍵保持部65は、このような鍵ツリーにおける、ルート(木構造の頂点)または何れかの中間階層のノードからこの再生装置30に対応付けられたリーフへと辿る経路上のノードに割り当てられた複数のデバイス鍵を秘密に保持する。デバイス鍵保持部65には、製造時等において、DVD等のメディア等またはネットワークを介して鍵管理装置40から複数のデバイス鍵を取得した製造者により、このような複数のデバイス鍵が書き込まれる。
MKB処理部66は、記録媒体15から第1のMKB(第1の鍵管理情報)を取得する。第1のMKBは、例えば、図3に示すように、ヘッダと、バージョン情報と、1または複数の暗号化中間鍵データと、終端データとを含む。1または複数の暗号化中間データのそれぞれには、ノード位置(第1の位置情報)と暗号化中間鍵とが含まれる。第1のMKBに含まれる1または複数の暗号化中間鍵は、鍵ツリーの中から選択された1または複数のデバイス鍵のそれぞれにより、中間鍵を暗号化して生成されたデータである。また、第1のMKBに含まれる1または複数の第1の位置情報は、対応して含まれる暗号化中間鍵を生成したデバイス鍵の鍵ツリー内での位置を示す。
なお、第1のMKBに含まれる1または複数の暗号化中間鍵を生成するために用いる1または複数のデバイス鍵は、鍵管理装置40により選択される。この場合において、鍵管理装置40は、無効化する再生装置30を除いた全ての再生装置30のそれぞれが何れか1つのデバイス鍵を保持しているように、1または複数のデバイス鍵を選択する。即ち、第1のMKBに含まれる1または複数の暗号化中間鍵は、無効化する再生装置30を除いた全ての再生装置30のそれぞれが何れか1つのデバイス鍵を保持しているように選択された1または複数のデバイス鍵のそれぞれにより中間鍵を暗号化して生成されたデータである。
そして、MKB処理部66は、デバイス鍵保持部65に保持された複数のデバイス鍵により第1のMKBを復号して、中間鍵を生成する。より具体的には、MKB処理部66は、デバイス鍵保持部65に保持された複数のデバイス鍵の中から第1のMKBに含まれる何れかの暗号化中間鍵を復号可能な1つのデバイス鍵を選択し、暗号化中間鍵の復号処理を実行する。MKB処理部66は、デバイス鍵保持部65に保持された複数のデバイス鍵が正当であれば、少なくとも何れか1つのデバイス鍵により、第1のMKBに含まれる何れか1つの暗号化中間鍵の復号が可能である。MKB処理部66は、復号した1つの中間鍵を出力する。
KCD鍵保持部67は、鍵ツリーにおける、ルートまたは何れかの中間階層のノードからこの再生装置30に対応付けられたリーフへと辿る経路上のノードに割り当てられた複数のKCD鍵を秘密に保持する。KCD鍵が割り当てられた鍵ツリーは、鍵管理装置40により管理されている。なお、KCD鍵が割り当てられた鍵ツリーは、デバイス鍵が割り当てられた鍵ツリーと、同一の分岐パターンの木構造であり、それぞれのリーフに対応付けられた再生装置30も同一である。
KCD処理部68は、記録媒体15から第1のKCDシードブロックを取得する。例えば、図4に示すように、ヘッダと、バージョン情報と、1または複数のKCDシードデータと、終端データとを含む。1または複数のKCDシードデータのそれぞれには、ノード位置(第1の位置情報)と、KCDシードとが対応して含まれる。第1のKCDシードブロックに含まれる1または複数のKCDシードは、鍵ツリーの中から選択された1または複数のKCD鍵のそれぞれによりKCD値および第1の位置情報を変換して生成されたデータである。
なお、第1の位置情報は、対応して含まれるKCDシードを生成したKCD鍵の鍵ツリー上におけるノードの位置を示す。第1のKCDシードブロックに含まれる1または複数のKCDシードを暗号化したKCD鍵のそれぞれは、第1のMKBに含まれる1または複数の暗号化中間鍵を暗号化したデバイス鍵のそれぞれと同一のノードに割り当てられている。
そして、KCD処理部68は、KCD鍵保持部67に保持された複数のKCD鍵により第1のKCDシードブロック内のKCDシードを変換して、KCD値および変換に使用したKCD鍵が対応するノード位置を表す第1の位置情報を生成する。より具体的には、KCD処理部68は、KCD鍵保持部67に保持された複数のKCD鍵の中から正しいKCDシードを生成可能な1つのKCD鍵を選択し、KCDシードの生成処理を実行する。KCD処理部68は、KCD鍵保持部67に保持された複数のKCD鍵が正当であれば、何れか1つのKCD鍵により、第1のKCDシードブロックに含まれる何れか1つのKCDシードからKCD値の生成が可能である。
KCD処理部68は、生成されたKCD値を出力する。また、KCD処理部68は、第1の位置情報を、この再生装置30の外部から参照可能なデータ領域(すなわち、セキュアではないデータ領域)に出力する。ここで、KCD処理部68が出力する第1の位置情報は、第1のKCDシードブロックに含まれるKCDシードの復号に使用されたKCD鍵が割り当てられた、鍵ツリー上のノードの位置を示す。換言すると、第1の位置情報は、第1のMKBに含まれる暗号化中間鍵の復号に使用されたデバイス鍵が割り当てられた、鍵ツリー上のノードの位置を示す。
メディア鍵生成部69は、MKB処理部66が生成した中間鍵、および、KCD処理部68が生成したKCD値および第1の位置情報に基づき、第1のメディア鍵を生成する。そして、メディア鍵生成部69は、生成した第1のメディア鍵を第1のデータ復号部51に与える。
第2の鍵生成部54は、第1の鍵生成部53と略同一の機能および構成を有する。従って、第2の鍵生成部54については、第1の鍵生成部53との相違点を中心に説明する。
第2の鍵生成部54は、第1のMKBに代えて第2のMKB(第2の鍵管理情報)を取得し、第1のKCDシードブロックに代えて第2のKCDシードブロックを取得する点で、第1の鍵生成部53と相違する。また、第2の鍵生成部54は、第1のメディア鍵に代えて第2のメディア鍵を出力する点で、第1の鍵生成部53と相違する。
第2の鍵生成部54のデバイス鍵保持部65は、第1の鍵生成部53のデバイス鍵保持部65と同一のデバイス鍵を保持してもよいし、鍵ツリーに対するノードの割り当て位置は同一であるが値が異なるデバイス鍵を保持してもよい。また、第2の鍵生成部54のKCD鍵保持部67は、第1の鍵生成部53のKCD鍵保持部67と同一のKCD鍵を保持してもよいし、鍵ツリーに対するノードの割り当て位置は同一であるが値が異なるKCD鍵を保持してもよい。
第2の鍵生成部54のMKB処理部66は、記録媒体15から第2のMKBを取得する。なお、第2のMKBは、図3に示した第1のMKBと同一のデータ構造を有する。ただし、第2のMKBに含まれる1または複数の暗号化中間鍵は、第1のMKBに含まれる1または複数の暗号化中間鍵とは、異なるノードの組み合わせのパターンとなるように選択された1または複数のデバイス鍵のそれぞれにより中間鍵を暗号化して生成されたデータである。
第2の鍵生成部54のKCD処理部68は、記録媒体15から第2のKCDシードブロックを取得する。なお、第2のKCDシードブロックは、図4に示した第1のKCDシードブロックと同一のデータ構造を有する。第2の鍵生成部54のKCD処理部68は、KCD鍵保持部67に保持された複数のKCD鍵により第2のKCDシードブロック内のKCDシードを変換して、KCD値および第2の位置情報を生成する。第2の位置情報は、第2のKCDシードブロックに含まれるKCDシードを変換してKCD値を生成したKCD鍵が割り当てられた、鍵ツリー上のノードの位置を示す。換言すると、第2の位置情報は、第2のMKBに含まれる暗号化中間鍵の復号に使用されたデバイス鍵が割り当てられた、鍵ツリー上のノードの位置を示す。第2の鍵生成部54のKCD処理部68は、第2の位置情報を、この再生装置30の外部から参照可能なデータ領域に出力する。
第2の鍵生成部54のメディア鍵生成部69は、MKB処理部66が生成した中間鍵、および、KCD処理部68が生成したKCD値に基づき、第2のメディア鍵を生成する。そして、第2の鍵生成部54のメディア鍵生成部69は、生成した第2のメディア鍵を第2のデータ復号部52に与える。
(暗号化部22の構成)
図5は、暗号化部22の構成を示す。暗号化部22は、第1のデータ暗号化部81と、第2のデータ暗号化部82と、第1の鍵暗号化部83と、第2の鍵暗号化部84とを備える。
第1のデータ暗号化部81および第2のデータ暗号化部82は、平文コンテンツデータを互いに異なる処理で暗号化する。第1の鍵暗号化部83は、第1のデータ暗号化部81に対応して設けられ、対応する復号処理で使用される第1のメディア鍵(第1の鍵情報)を暗号化する。具体的には、第1の鍵暗号化部83は、第1のMKBおよび第1のKCDシードブロックを生成する。
また、第2の鍵暗号化部84は、第2のデータ暗号化部82に対応して設けられ、対応する復号処理で使用される第2のメディア鍵(第2の鍵情報)を暗号化する。具体的には、第2の鍵暗号化部84は、第2のMKBおよび第2のKCDシードブロックを生成する。
第2のデータ暗号化部82は、データ逆変換部91と、プログラム発生部92とを有する。データ逆変換部91は、平文コンテンツデータを取得する。データ逆変換部91は、平文コンテンツデータの一部を抽出して、変換データとしてプログラム発生部92に与える。また、データ逆変換部91は、抽出した一部を他のデータに置き換えて、中間コンテンツデータを生成する。
プログラム発生部92は、プログラムコードと、データ逆変換部91が抽出した変換データを登録した変換テーブルとを含むデータ変換処理プログラムを生成する。また、プログラム発生部92は、第2のメディア鍵を取得し、データ変換処理プログラムを第2のメディア鍵を入力することにより実行可能なように暗号化する。プログラム発生部92は、生成したデータ変換処理プログラムを記録媒体15に格納させる。
第1のデータ暗号化部81は、コンテンツ暗号化部93と、タイトル鍵暗号化部94とを有する。コンテンツ暗号化部93は、第2のデータ暗号化部82により生成された中間コンテンツデータ、および、平文タイトル鍵を取得する。コンテンツ暗号化部93は、中間コンテンツデータを平文タイトル鍵により暗号化して、暗号化コンテンツデータを生成する。コンテンツ暗号化部93は、生成した暗号化コンテンツデータを記録媒体15に格納させる。
タイトル鍵暗号化部94は、平文タイトル鍵および第1のメディア鍵を取得する。タイトル鍵暗号化部94は、平文タイトル鍵を第1のメディア鍵で暗号化して、暗号化タイトル鍵を生成する。タイトル鍵暗号化部94は、生成した暗号化タイトル鍵を記録媒体15に格納させる。
第1の鍵暗号化部83は、デバイス鍵取得部95と、KCD鍵取得部96と、MKB生成部97(鍵情報生成部)と、KCDシード生成部98(位置情報生成部)とを有する。
デバイス鍵取得部95は、鍵管理装置40が管理する鍵ツリーの中から、鍵管理装置40により選択された1または複数のデバイス鍵を取得する。この場合、鍵管理装置40は、無効化する再生装置30を除いた全ての再生装置30のそれぞれが何れか1つのデバイス鍵を保持しているように、1または複数のデバイス鍵を選択する。さらに、また、デバイス鍵取得部95は、デバイス鍵とともに、対応する中間鍵も例えば鍵管理装置40から取得する。
KCD鍵取得部96は、鍵管理装置40が管理する鍵ツリーの中から、鍵管理装置40により選択された1または複数のKCD鍵を取得する。この場合、KCD鍵取得部96は、デバイス鍵取得部95が取得した1または複数のデバイス鍵と同一のノードに割り当てられたKCD鍵を取得する。また、KCD鍵取得部96は、KCD鍵とともに対応するKCD値および位置情報も鍵管理装置40から取得する。
MKB生成部97は、第1のメディア鍵を取得する。さらに、MKB生成部97は、デバイス鍵取得部95から1または複数のデバイス鍵および中間鍵、並びに、KCD鍵取得部96からKCD値および位置情報を取得する。そして、MKB生成部97は、取得したこれらの情報に基づき、第1のMKBを生成して、記録媒体15に格納させる。
KCDシード生成部98は、KCD鍵取得部96から1または複数のKCD鍵、KCD値および位置情報を取得する。そして、KCDシード生成部98は、これらの情報に基づき、第1のKCDシードブロックを生成して、記録媒体15に格納させる。
第2の鍵暗号化部84は、第1の鍵暗号化部83と略同一の機能および構成を有する。ただし、第2の鍵暗号化部84のデバイス鍵取得部95は、異なるノードの組み合わせのパターンとなるように選択された1または複数のデバイス鍵を、鍵管理装置40から取得する。第2の鍵暗号化部84のMKB生成部97は、第2のMKBを生成して、記録媒体15に格納させる。第2の鍵暗号化部84のKCDシード生成部98は、第1のKCDシードブロックを生成して、記録媒体15に格納させる。
(MKB)
つぎに、第1のMKBおよび第2のMKBについて、さらに詳細に説明する。本実施形態において、第1のMKBおよび第2のMKBは、AACS(Advanced Access Content System)などで採用されている木構造を有したMKB(Media Key Block)を例にして説明している。以下、第1のMKBおよび第2のMKBをまとめてMKBとして説明する。
図6は、木構造の複数のノードにデバイス鍵が割り当てられた鍵ツリーを示す。鍵管理装置40は、MKBを生成するための鍵ツリーを管理する。鍵ツリーは、親ノードから2つの子ノードに分岐される分岐パターンの木構造であってもよいし、親ノードから3以上の子ノードに分岐される分岐パターンの木構造であってもよい。
この鍵ツリーには、複数のリーフ(木構造の末端)のそれぞれに、複数の再生装置30のそれぞれが対応付けられている。図6の例では、32個のリーフに32個の再生装置30が対応付けられている。なお、実際の流通が想定される数の再生装置を十分にまかなうためには、鍵管理装置40は、実際には図6の木構造よりも大きい木構造を管理する。
さらに、この鍵ツリーには、複数のノード(木構造における子ノードを持つノード)のそれぞれに、互いに異なるデバイス鍵が割り当てられている。図6の例では、63個のノードのそれぞれに、Kd1〜Kd63のデバイス鍵が割り当てられている。
図7は、左から6番目のリーフに対応付けられた再生装置30に配布される複数のデバイス鍵を示す。複数の再生装置30のそれぞれは、鍵管理装置40から、製造時等に複数のデバイス鍵が配布される。そして、複数の再生装置30のそれぞれは、配布された複数のデバイス鍵を外部からのアクセスによって露呈しないように秘密に保持する。
より具体的には、複数の再生装置30のそれぞれは、鍵ツリーにおけるルート(頂点のノード)または何れかの中間階層のノードから、当該再生装置30が対応付けられたリーフへと辿る経路上のノードに割り当てられた複数のデバイス鍵が配布され、これらを秘密に保持する。例えば、図7に示されるように、鍵ツリーの左から6番目(♯6)のリーフに対応付けられた再生装置30は、{Kd6,Kd35,Kd50,Kd57,Kd61,Kd63}を保持する。また、例えば、図7に示されるように、鍵ツリーの左から11番目(♯11)のリーフに対応付けられた再生装置30は、{Kd11,Kd38,Kd51,Kd58,Kd61,Kd63}を保持する。これにより、複数の再生装置30のそれぞれは、互いに異なる組み合わせの複数のデバイス鍵を保持することができる。
図8は、不正利用されたデバイス鍵が存在せず、無効化された再生装置が存在しない場合に、中間鍵の暗号化に用いられる1または複数のデバイス鍵の束の一例を示す。
不正利用されたデバイス鍵が存在しない場合、鍵管理装置40は、全ての再生装置30のそれぞれが何れか1つのデバイス鍵を保持しているように、鍵ツリーの中から1または複数のデバイス鍵(デバイス鍵の束)を選択する。そして、鍵管理装置40は、選択した1または複数のデバイス鍵の束を、記録装置20の暗号化部22に与える。
暗号化部22は、このように選択された1または複数のデバイス鍵のそれぞれを鍵管理装置40から取得し、取得した1又は複数のデバイス鍵により対応する中間鍵を暗号化してMKBに格納する。そして、出力部23は、このように生成されたMKBを記録媒体15に書き込む。これにより、全ての再生装置30のそれぞれは、秘密に保持している複数のデバイス鍵の何れか1つで、記録媒体15に記録されたMKBに含まれる何れかの暗号化中間鍵を復号することができる。
例えば、図8の例では、鍵管理装置40は、{Kd57,Kd58,Kd59,Kd60}を選択する。そして、暗号化部22は、これらのデバイス鍵のそれぞれにより、対応する中間鍵{Kmp57,Kmp58,Kmp59,Kmp60}を下記のように暗号化して、暗号化中間鍵{E−Kmp57,E−Kmp58,E−Kmp59,E−Kmp60}を生成する。なお、Enc(x,y)は、データyを鍵xで暗号化する関数を示す。
E−Kmp57=Enc(Kd57,Kmp57)
E−Kmp58=Enc(Kd58,Kmp58)
E−Kmp59=Enc(Kd59,Kmp59)
E−Kmp60=Enc(Kd60,Kmp60)
これにより、1番目から32番目までの全ての再生装置30は、保持している何れかのデバイス鍵によりMKBを復号して、何れかの中間鍵を得ることができる。
図9は、不正利用されたデバイス鍵が存在しない場合に、中間鍵の暗号化に用いられる1または複数のデバイス鍵の束の他の一例を示す。また、鍵管理装置40は、他のパターンで1または複数のデバイス鍵を選択してもよい。
例えば、図9の例では、鍵管理装置40は、{Kd33,Kd34,Kd50,Kd58,Kd62}を選択する。そして、暗号化部22は、それぞれのデバイス鍵により、対応する中間鍵{Kmp33,Kmp34,Kmp50,Kmp58,Kmp62}を下記のように暗号化して、暗号化中間鍵{E−Kmp33,E−Kmp34,E−Kmp50,E−Kmp58,E−Kmp62}を生成する。
E−Kmp33=Enc(Kd33,Kmp33)
E−Kmp34=Enc(Kd34,Kmp34)
E−Kmp50=Enc(Kd50,Kmp50)
E−Kmp58=Enc(Kd58,Kmp58)
E−Kmp62=Enc(Kd62,Kmp62)
このようにしても、1番目から32番目までの全ての再生装置30は、保持している何れかのデバイス鍵によりMKBを復号して、何れかの中間鍵を得ることができる。
なお、鍵管理装置40は、鍵ツリーにおけるルートから所定の深さまでのノードに割り当てられたデバイス鍵を除いて、1または複数のデバイス鍵を選択してもよい。この場合、複数の再生装置30のそれぞれは、ルートから所定の深さまでのノードに割り当てられたデバイス鍵を保持しなくてもよい。これにより、複数の再生装置30のそれぞれは、保持するデバイス鍵を少なくすることができる。
図10は、鍵ツリーの左から4番目のリーフに対応付けられた再生装置30が保持するデバイス鍵が不正利用された場合に、中間鍵の暗号化に用いられるデバイス鍵の束の一例を示す。ある再生装置30のデバイス鍵が不正利用された場合、鍵管理装置40は、不正利用されたデバイス鍵を保持している再生装置30が中間鍵を取得できないように、その再生装置30を無効化する。
この場合、鍵管理装置40は、無効化する再生装置30を除いた全ての再生装置30のそれぞれが何れか1つのデバイス鍵を保持しているように、鍵ツリーの中から1または複数のデバイス鍵(デバイス鍵の束)を選択する。そして、鍵管理装置40は、選択した1または複数のデバイス鍵の束を、記録装置20の暗号化部22に与える。
暗号化部22は、このように選択された1または複数のデバイス鍵のそれぞれを鍵管理装置40から取得し、取得した1又は複数のデバイス鍵により対応する中間鍵を暗号化してMKBに格納する。そして、出力部23は、このように生成されたMKBを記録媒体15に書き込む。
これにより、無効化された再生装置30は、記録媒体15に記録されたMKBに含まれる何れの暗号化中間鍵も復号することができない。一方、無効化されていない再生装置30のそれぞれは、記録媒体15に記録されたMKBに含まれる何れかの暗号化中間鍵を復号することができる。
例えば、図10の例では、鍵管理装置40は、{Kd3,Kd33,Kd50,Kd58,Kd62}を選択する。そして、暗号化部22は、それぞれのデバイス鍵により、対応する中間鍵{Kmp3,Kmp33,Kmp50,Kmp58,Kmp62}を下記のように暗号化して、暗号化中間鍵{E−Kmp3,E−Kmp33,E−Kmp50,E−Kmp58,E−Kmp62}を生成する。
E−Kmp3=Enc(Kd3,Kmp3)
E−Kmp33=Enc(Kd33,Kmp33)
E−Kmp50=Enc(Kd50,Kmp50)
E−Kmp58=Enc(Kd58,Kmp58)
E−Kmp62=Enc(Kd62,Kmp62)
これにより、鍵ツリーの4番目(♯4)の再生装置30は、保持しているデバイス鍵で中間鍵を得ることができない。一方、4番目以外の再生装置30は、保持している何れかのデバイス鍵で何れかの中間鍵を得ることができる。
暗号化部22は、以上のようなMKBを、第1のMKBおよび第2のMKBとして生成する。ここで、第1のMKBおよび第2のMKBは、同一の分岐パターンの鍵ツリーに基づき生成され、且つ、それぞれのリーフに同一の再生装置30を対応付けられている。また、第1のMKBおよび第2のMKBは、それぞれのノードに同一のデバイス鍵が割り当てられていてもよいし、異なるデバイス鍵が割り当てられていてもよい。
また、鍵管理装置40は、第1のMKBと第2のMKBとの間で、割り当てられたノードの組み合わせが互いに異なるように、1または複数のデバイス鍵の束を選択する。これにより、鍵管理装置40は、例えば、不正が疑われる再生装置30を調査する場合に、再生装置30が鍵ツリーにおける何れのリーフに対応付けられているのかを、再生装置30をリバースエンジニアリングすることなく、より正確に推定することができる。なお、この推定方法の一例については、詳細を図15および図16でさらに説明する。
(KCDシードブロック)
つぎに、第1のKCDシードブロックおよび第2のKCDシードブロックについて説明する。本実施形態において、第1のKCDシードブロックは第1のMKBに対して、第2のKCDシードブロックは第2のMKBに対して、それぞれ同一の役割を果たすので、以下、まとめて説明する。
図11は、各ノードにKCD鍵が割り当てられた鍵ツリーを示す。鍵管理装置40は、KCDシードブロックを生成するための鍵ツリーを管理する。この鍵ツリーは、対応するMKBを生成するための鍵ツリーと同一である。
また、この鍵ツリーには、複数のリーフのそれぞれに、複数の再生装置30のそれぞれが対応付けられている。複数の再生装置30が対応付けられるリーフの位置は、対応するMKBを生成するための鍵ツリーと同一である。
さらに、この鍵ツリーには、複数のノードのそれぞれに、互いに異なるKCD鍵が割り当てられている。図11の例では、63個のノードのそれぞれに、Ks1〜Ks63のKCD鍵が割り当てられている。なお、第1のKCDシードブロックと第2のKCDシードブロックとの間では、鍵ツリーに割り当てられたKCD鍵は同一であってもよいし、異なってもよい。
複数の再生装置30のそれぞれは、鍵管理装置40から、製造時等に複数のKCD鍵が配布される。配布される複数のKCD鍵が割り当てられたノードの位置は、その再生装置30に配布される複数のデバイス鍵と同一である。そして、複数の再生装置30のそれぞれは、配布された複数のKCD鍵を外部からのアクセスによっても露呈しないように秘密に保持する。
また、鍵管理装置40は、鍵ツリーの中から1または複数のKCD鍵を選択して、記録装置20の暗号化部22に与える。暗号化部22に与える1または複数のKCD鍵が割り当てられたノードの位置は、その暗号化部22に与えられた1または複数のデバイス鍵の位置と同一である。
暗号化部22は、このように選択した1または複数のKCD鍵のそれぞれを鍵管理装置40から取得し、取得した1又は複数のKCD鍵により、対応するKCD値および位置情報を暗号化して1又は複数のKCDシードを生成する。暗号化部22は、生成した1または複数のKCDシードをKCDシードブロックに格納する。そして、出力部23は、このように生成されたKCDシードブロックを記録媒体15に書き込む。
これにより、再生装置30は、秘密に保持している複数のKCD鍵の何れか1つで、記録媒体15に記録されたKCDシードブロックに含まれる何れかのKCDシードを復号することができる。さらに、再生装置は、対応するMKBに格納された1または複数の暗号化中間鍵E−Kmpのそれぞれに対して一対一で対応して生成された、1または複数のKCDシードが格納されたKCDシードブロックを生成することができる。
なお、KCDシード(KCD−seed)、KCD値(KCD)、位置情報(Pos)、KCD鍵(Ks)および中間鍵(Kmp)は次のような関係となっている。
下記の式に示されるように、KCDシード(KCD−seed)とKCD鍵(Ks)を関数f()に入力した場合、KCD値(KCD)と位置情報(Pos)とが出力される。位置情報Posは、鍵ツリー上における、KCD鍵Ksが割り当てられたノードの位置を示す。
KCD,Pos=f(Ks,KCD−seed)
また、下記の式に示されるように、KCD値(KCD)と中間鍵(Kmp)とを関数g()に入力した場合、メディア鍵Kmが出力される。
Km=g(Kmp,KCD)
(復号処理の処理フロー)
図12は、復号部32の復号処理のフローを示す。復号部32は、図12に示されるように、暗号化コンテンツデータを復号して中間コンテンツデータを生成する第1の復号処理(S11)と、中間コンテンツデータを平文コンテンツデータに変換する第2の復号処理(S12)とを順次に実行する。なお、復号部32は、第1の復号処理の一部と第2の復号処理の一部とを並行して実行してもよい。
図13は、第1の復号処理のフローを示す。第1の復号処理では、まず、ステップS111において、復号部32は、記録媒体15から第1のMKBを取得して、第1の中間鍵を生成する。
続いて、ステップS112において、復号部32は、記録媒体15から第1のKCDシードブロックを取得して、第1のKCD値および第1の位置情報を生成する。なお、ステップS111とステップS112の順番は逆または同時であっても構わない。続いて、ステップS113において、復号部32は、第1の中間鍵、第1のKCD値および第1の位置情報から、第1のメディア鍵を生成する。
続いて、ステップS114において、復号部32は、記録媒体15から暗号化タイトル鍵を取得する。そして、復号部32は、暗号化タイトル鍵を第1のメディア鍵により復号して、平文タイトル鍵を生成する。
続いて、ステップS115において、復号部32は、記録媒体15から暗号化コンテンツデータを取得する。そして、復号部32は、暗号化コンテンツデータを平文タイトル鍵により復号して、中間コンテンツデータを生成する。
図14は、第2の復号処理フローを示す。第2の復号処理では、まず、ステップS122において、復号部32は、記録媒体15から第2のMKBを取得して、第2の中間鍵を生成する。
続いて、ステップS122において、復号部32は、記録媒体15から第2のKCDシードブロックを取得して、第2のKCD値および第2の位置情報を生成する。続いて、ステップS123において、復号部32は、第2の中間鍵、第2のKCD値および第2の位置情報から、第2のメディア鍵を生成する。
続いて、ステップS124において、復号部32は、記録媒体15からデータ変換処理プログラムを取得する。そして、復号部32は、データ変換処理プログラムに含まれるプログラムコードをセキュアバーチャルマシンに実行させ、さらに、セキュアバーチャルマシンに第2のメディア鍵および再生装置固有情報を入力して変換データを生成する。そして、ステップS125において、復号部32は、中間コンテンツデータの一部を変換データに置き換えて、平文コンテンツデータを生成する。
(再生装置30が保持しているデバイス鍵の推定)
図15は、第1のMKBに格納される暗号化中間鍵の暗号化に用いられる1または複数のデバイス鍵の一例を示す。図16は、第2のMKBに格納される暗号化中間鍵の暗号化に用いられる1または複数のデバイス鍵の一例を示す。
不正と疑われる再生装置30を発見した場合、例えば、鍵管理装置40は、対象の再生装置30における第1の位置情報および第2の位置情報を取得することにより、対応の再生装置30が対応付けられている鍵ツリーのリーフの位置を推定する。
さらに、鍵管理装置40は、第1のMKBと第2のMKBとの間で、割り当てられたノードの組み合わせが互いに異なるように1または複数のデバイス鍵を選択している。これにより、鍵管理装置40は、再生装置30が鍵ツリーにおける何れのリーフに対応付けられているのかをより正確に推定することができる。
例えば、図15に示すように、鍵管理装置40は、第1のMKBに格納される暗号化中間鍵の暗号化のために、5個のデバイス鍵{Kd33,Kd34,Kd50,Kd58,Kd62}を選択したとする。また、例えば、図16に示すように、鍵管理装置40は、第2のMKBに格納される暗号化中間鍵の暗号化のために、5個のデバイス鍵{Kd35,Kd36,Kd49,Kd58,Kd62}を選択したとする。
ここで、調査対象の再生装置30(不正している可能性があると疑われている再生装置30)が左から6番目のリーフに対応付けられているとする。ただし、鍵管理装置40は、調査対象の再生装置30が何れのリーフに対応付けられているかは認識していない。
この場合、調査対象の再生装置30は、第1のMKBを、Kd50のデバイス鍵を用いて復号する。従って、調査対象の再生装置30は、Kd50のノードの位置を示す第1の位置情報を出力する。鍵管理装置40は、このような第1の位置情報を調査対象の再生装置30から取得し、自己が管理している鍵ツリーと比較する。これにより、鍵管理装置40は、調査対象の再生装置30が、左から5番目から8番目までの何れかのリーフに対応付けられていることを推定することができる。
また、調査対象の再生装置30は、第2のMKBを、Kd35のデバイス鍵を用いて復号する。従って、調査対象の再生装置30は、Kd35のノードの位置を示す第2の位置情報を出力する。鍵管理装置40は、このような第2の位置情報を調査対象の再生装置30から取得し、自己が管理している鍵ツリーと比較する。これにより、鍵管理装置40は、調査対象の再生装置30が、左から5番目から6番目までの何れかのリーフに対応付けられていることを推定することができる。
このように調査対象の再生装置30が左から6番目のリーフに対応付けられている場合には、鍵管理装置40は、第1の位置情報よりも第2の位置情報を参照することにより、調査対象の再生装置30が対応付けられているリーフの位置をより正確に推定することができる。
また、一方、調査対象の再生装置30が左から2番目のリーフに対応付けられているとする。この場合、調査対象の再生装置30は、第1のMKBを、Kd33のデバイス鍵を用いて復号する。従って、調査対象の再生装置30は、Kd33のノードの位置を示す第1の位置情報を出力する。鍵管理装置40は、このような第1の位置情報を得ることにより、調査対象の再生装置30が、左から1番目から2番目までの何れかのリーフに対応付けられていることを推定することができる。
また、調査対象の再生装置30は、第2のMKBを、Kd49のデバイス鍵を用いて復号する。従って、調査対象の再生装置30は、Kd49のノードの位置を示す第2の位置情報を出力する。鍵管理装置40は、このような第2の位置情報を得ることにより、調査対象の再生装置30が、左から1番目から4番目までの何れかのリーフに対応付けられていることを推定することができる。
このように調査対象の再生装置30が左から2番目のリーフに対応付けられている場合には、鍵管理装置40は、第2の位置情報よりも第1の位置情報を参照することにより、調査対象の再生装置30が対応付けられているリーフの位置をより正確に推定することができる。
以上のように本実施形態に係る暗号処理システム10は、1つの記録媒体15に不可分な構成で記録された複数個のMKB(例えば、第1のMKBと第2のMKB)を用い、さらに、それぞれのMKBの間で割り当てられたノードの組み合わせが互いに異なるように1または複数のデバイス鍵を選択する。これにより、暗号処理システム10によれば、1つのMKBが記録された記録媒体15を複数個組み合わせて調査対象の再生装置30が対応付けられているリーフ位置を推定する従来の方法に比べ、コンテンツの保護を強化することができる。さらに、暗号処理システム10によれば、調査対象の再生装置30が鍵ツリーにおける何れのリーフに対応付けられているのかをより、正確に推定することができる。
特に、不正な再生装置が2つ以上の再生装置から不正に取得した複数のデバイス鍵を保持し、それらを再生する記録媒体毎に切り替えて使用している場合には、1つの記録媒体に1つのMKBが記録されているだけでは、複数の記録媒体のそれぞれに記録されたMKBを再生装置が処理して得られた複数のリーフの位置情報を組み合わせたとしても、リーフ位置の推定精度を向上させることができない。これに対して、本実施形態に係る暗号処理システム10によれば、少なくとも1つも記録媒体15に記録された複数のMKBを再生装置30が処理することで得られた複数のリーフの位置情報を組み合わせて、リーフ位置の推定精度を向上させることができる。
図17は、暗号化部22および復号部32のハードウェア構成の一例を示す図である。暗号化部22および復号部32は、CPU(Central Processing Unit)201などの制御装置と、ROM(Read Only Memory)202やRAM(Random Access Memory)203などの記憶装置と、ネットワークに接続して通信を行う通信I/F204と、各部を接続するバスを備えている。
実施形態に係る暗号化部22および復号部32で実行されるプログラムは、ROM202等に予め組み込まれて提供される。また、このプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、このプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、このプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
実施形態に係る復号部32で実行されるプログラムは、コンピュータを上述した復号部32の各部(第1のデータ復号部51、第2のデータ復号部52、第1の鍵生成部53および第2の鍵生成部54)として機能させうる。なお、第1のデータ復号部51、第2のデータ復号部52、第1の鍵生成部53および第2の鍵生成部54は、一部または全部がハードウェアにより構成されていてもよい。
実施形態に係る暗号化部22で実行されるプログラムは、コンピュータを上述した暗号化部22の各部(第1のデータ暗号化部81、第2のデータ暗号化部82、第1の鍵暗号化部83および第2の鍵暗号化部84)として機能させうる。なお、第1のデータ暗号化部81、第2のデータ暗号化部82、第1の鍵暗号化部83および第2の鍵暗号化部84は、一部または全部がハードウェアにより構成されていてもよい。
そして、このコンピュータは、CPU201がコンピュータ読取可能な記憶媒体から上述した各プログラムを主記憶装置上に読み出して実行することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
10 暗号処理システム
15 記録媒体
20 記録装置
21 入力部
22 暗号化部
23 出力部
30 再生装置
31 入力部
32 復号部
33 出力部
40 鍵管理装置
51 第1のデータ復号部
52 第2のデータ復号部
53 第1の鍵生成部
54 第2の鍵生成部
61 コンテンツ復号部
62 タイトル鍵復号部
63 データ変換部
64 セキュアVM部
65 デバイス鍵保持部
66 MKB処理部
67 KCD鍵保持部
68 KCD処理部
69 メディア鍵生成部
81 第1のデータ暗号化部
82 第2のデータ暗号化部
83 第1の鍵暗号化部
84 第2の鍵暗号化部
91 データ逆変換部
92 プログラム発生部
93 コンテンツ暗号化部
94 タイトル鍵暗号化部
95 デバイス鍵取得部
96 KCD鍵取得部
97 MKB生成部
98 KCDシード生成部

Claims (21)

  1. 暗号化されたデータを互いに異なる処理で復号する複数のデータ復号部と、
    前記複数のデータ復号部のそれぞれに対応して設けられ、対応する復号処理で使用される鍵情報を生成する複数の鍵生成部と、
    を備え、
    鍵ツリーは、木構造の複数のノードを有し、
    リーフは、前記複数のノードの中の最下層のノードであり、
    前記複数のリーフのそれぞれには、複数の再生装置のそれぞれが対応付けられており、
    前記複数のノードのそれぞれには、互いに異なるデバイス鍵が割り当てられており、
    前記複数の鍵生成部のそれぞれは、
    前記鍵ツリーのノードに割り当てられた複数のデバイス鍵を保持するデバイス鍵保持部と、
    前記鍵ツリーの中から選択された1または複数のデバイス鍵のそれぞれにより前記鍵情報を暗号化した1または複数の暗号化鍵情報を含む鍵管理情報を取得し、前記デバイス鍵保持部に保持された前記複数のデバイス鍵の中から前記鍵管理情報の復号に使用できる1つのデバイス鍵を選択し、選択した前記デバイス鍵により前記鍵管理情報を復号して前記鍵情報を生成する鍵復号部と、
    を有する
    復号装置。
  2. 前記デバイス鍵保持部は、前記鍵ツリーにおける、ルートまたは中間階層のノードから対応する再生装置が対応付けられたリーフへと辿る経路上のノードに割り当てられた複数のデバイス鍵を、少なくとも保持する
    請求項1に記載の復号装置。
  3. 前記複数の鍵生成部のそれぞれは、前記鍵管理情報に含まれる前記暗号化鍵情報の復号に使用されたデバイス鍵が割り当てられた、前記鍵ツリー上のノードの位置を示す位置情報を検出する位置検出部をさらに有する
    請求項1に記載の復号装置。
  4. 前記位置検出部は、外部から参照可能なデータ領域に前記位置を示す位置情報を出力する
    請求項3に記載の復号装置。
  5. 前記鍵管理情報に含まれる1または複数の前記暗号化鍵情報は、無効化する再生装置を除いた全ての再生装置のそれぞれが何れか1つのデバイス鍵を保持しているように選択された前記1または複数のデバイス鍵のそれぞれにより前記鍵情報を暗号化して生成された情報であり、
    1または複数の前記鍵管理情報を復号し、1つ以上の前記鍵管理情報によって無効化されていた場合に、無効化されていない場合と異なる結果を出力する
    請求項1に記載の復号装置。
  6. 前記鍵管理情報に含まれる1または複数の前記暗号化鍵情報は、互いに異なるノードの組み合わせのパターンとなるように選択された前記1または複数のデバイス鍵のそれぞれにより前記鍵情報を暗号化して生成された情報であることを特徴とする
    請求項5に記載の復号装置。
  7. 前記複数のデータ復号部のそれぞれは、記録媒体から読み出されたデータを復号する
    請求項1に記載の復号装置。
  8. 前記鍵管理情報は、AACS(Advanced Access Content System)で規定されたMKB(Media Key Block)の情報であることを特徴とする
    請求項7に記載の復号装置。
  9. 暗号化されたデータを互いに異なる処理で復号する複数のデータ復号ステップと、
    前記複数のデータ復号ステップのそれぞれに対応し、対応する復号処理で使用される鍵情報を生成する複数の鍵生成ステップと、
    を実行し、
    鍵ツリーは、木構造の複数のノードを有し、
    リーフは、前記複数のノードの中の最下層のノードであり、
    前記複数のリーフのそれぞれには、複数の再生装置のそれぞれが対応付けられており、
    前記複数のノードのそれぞれには、互いに異なるデバイス鍵が割り当てられており、
    前記複数の鍵生成ステップのそれぞれでは、
    前記鍵ツリーの中から選択された1または複数のデバイス鍵のそれぞれにより前記鍵情報を暗号化した1または複数の暗号化鍵情報を含む鍵管理情報を取得し、
    前記鍵ツリーのノードに割り当てられた複数のデバイス鍵を保持するデバイス鍵保持部から、前記複数のデバイス鍵を取得し、
    前記デバイス鍵保持部に保持された前記複数のデバイス鍵の中から前記鍵管理情報の復号に使用できる1つのデバイス鍵を選択し、選択した前記デバイス鍵により前記鍵管理情報を復号して前記鍵情報を生成する
    復号方法。
  10. コンピュータに請求項9に記載された復号方法を実行させるためのプログラム。
  11. データを互いに異なる処理で暗号化する複数のデータ暗号化部と、
    前記複数のデータ暗号化部のそれぞれに対応して設けられ、対応する復号処理で使用される鍵情報を暗号化する複数の鍵暗号化部と、
    を備え、
    鍵ツリーは、木構造の複数のノードを有し、
    リーフは、前記複数のノードの中の最下層のノードであり、
    前記複数のリーフのそれぞれには、複数の再生装置のそれぞれが対応付けられており、
    前記複数のノードのそれぞれには、互いに異なるデバイス鍵が割り当てられており、
    前記複数の鍵暗号化部のそれぞれは、
    前記鍵ツリーの中から選択された1または複数のデバイス鍵を取得するデバイス鍵取得部と、
    取得した前記1または複数のデバイス鍵のそれぞれにより前記鍵情報を暗号化した1または複数の暗号化鍵情報を含む鍵管理情報を生成する鍵情報生成部と、
    を有する
    暗号化装置。
  12. 前記複数の再生装置のそれぞれは、前記鍵ツリーのノードに割り当てられた複数のデバイス鍵を保持し、
    前記デバイス鍵取得部は、無効化する再生装置を除いた全ての再生装置のそれぞれが何れか1つのデバイス鍵を保持しているように選択された前記1または複数のデバイス鍵を取得する
    請求項11に記載の暗号化装置。
  13. 前記デバイス鍵取得部は、復号処理毎に、異なるノードの組み合わせのパターンとなるように選択された前記1または複数のデバイス鍵を取得する
    請求項12に記載の暗号化装置。
  14. 前記複数の鍵暗号化部のそれぞれは、前記鍵管理情報に含まれる前記暗号化鍵情報の復号に使用されたデバイス鍵が割り当てられた、前記鍵ツリー上のノードの位置を示す位置情報を前記鍵管理情報に加える位置情報生成部をさらに有する
    請求項13に記載の暗号化装置。
  15. 前記複数のデータ暗号化部のそれぞれは、記録媒体に書き込まれるデータを生成する
    請求項12に記載の暗号化装置。
  16. 前記鍵管理情報は、AACS(Advanced Access Content System)で規定されたMKB(Media Key Block)の情報であることを特徴とする
    請求項15に記載の暗号化装置。
  17. データを互いに異なる処理で暗号化する複数のデータ暗号化ステップと、
    前記複数のデータ暗号化ステップのそれぞれに対応し、対応する復号処理で使用される鍵情報を暗号化する複数の鍵暗号化ステップと、
    を実行し、
    鍵ツリーは、木構造の複数のノードを有し、
    リーフは、前記複数のノードの中の最下層のノードであり、
    前記複数のリーフのそれぞれには、複数の再生装置のそれぞれが対応付けられており、
    前記複数のノードのそれぞれには、互いに異なるデバイス鍵が割り当てられており、
    前記複数の鍵暗号化ステップのそれぞれでは、
    前記鍵ツリーの中から選択された1または複数のデバイス鍵を取得し、
    取得した前記1または複数のデバイス鍵のそれぞれにより前記鍵情報を暗号化した1または複数の暗号化鍵情報を含む鍵管理情報を生成する
    暗号化方法。
  18. コンピュータに請求項17に記載された暗号化方法を実行させるためのプログラム。
  19. 互いに異なる複数の処理で暗号化したデータを格納した第1領域と、
    前記複数の処理のそれぞれに対応して、復号処理で使用される鍵情報を含む複数の鍵管理情報のそれぞれを格納した第2領域と、
    を備え、
    鍵ツリーは、木構造の複数のノードを有し、
    リーフは、前記複数のノードの中の最下層のノードであり、
    前記複数のリーフのそれぞれには、複数の再生装置のそれぞれが対応付けられており、
    前記複数のノードのそれぞれには、互いに異なるデバイス鍵が割り当てられており、
    前記複数の鍵管理情報のそれぞれは、
    前記鍵ツリーの中から1または複数のデバイス鍵が選択され、選択された前記1または複数のデバイス鍵のそれぞれにより前記鍵情報を暗号化した1または複数の暗号化鍵情報を含む
    記録媒体。
  20. データを互いに異なる処理で暗号化する複数のデータ暗号化ステップと、
    前記複数の暗号化ステップのそれぞれに対応し、対応する復号処理で使用される鍵情報を暗号化する複数の鍵暗号化ステップと、
    前記複数のデータ暗号化ステップで暗号化されたデータ、および、前記複数の鍵暗号化ステップで暗号化された鍵情報を記録媒体に記録する記録ステップと、
    を実行し、
    鍵ツリーは、木構造の複数のノードを有し、
    リーフは、前記複数のノードの中の最下層のノードであり、
    前記複数のリーフのそれぞれには、複数の再生装置のそれぞれが対応付けられており、
    前記複数のノードのそれぞれには、互いに異なるデバイス鍵が割り当てられており、
    前記複数の鍵暗号化ステップのそれぞれでは、
    前記鍵ツリーの中から選択された1または複数のデバイス鍵を取得し、
    取得した前記1または複数のデバイス鍵のそれぞれにより前記鍵情報を暗号化した1または複数の暗号化鍵情報を含む鍵管理情報を生成する
    記録媒体の製造方法。
  21. 前記複数の再生装置のそれぞれは、前記鍵ツリーのノードに割り当てられた複数のデバイス鍵を保持し、
    前記複数の鍵暗号化ステップのそれぞれでは、前記鍵ツリーの中から、無効化する再生装置を除いた全ての再生装置のそれぞれが何れか1つのデバイス鍵を保持しているように選択された前記1または複数のデバイス鍵を取得する
    請求項20に記載の記録媒体の製造方法。
JP2013190841A 2013-09-13 2013-09-13 復号装置、暗号化装置、方法、プログラム、記録媒体および製造方法 Pending JP2015056861A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013190841A JP2015056861A (ja) 2013-09-13 2013-09-13 復号装置、暗号化装置、方法、プログラム、記録媒体および製造方法
US14/480,177 US20160020899A1 (en) 2013-09-13 2014-09-08 Decrypting device, encrypting device, computer program product, recording medium, and manufacturing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013190841A JP2015056861A (ja) 2013-09-13 2013-09-13 復号装置、暗号化装置、方法、プログラム、記録媒体および製造方法

Publications (1)

Publication Number Publication Date
JP2015056861A true JP2015056861A (ja) 2015-03-23

Family

ID=52820903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013190841A Pending JP2015056861A (ja) 2013-09-13 2013-09-13 復号装置、暗号化装置、方法、プログラム、記録媒体および製造方法

Country Status (2)

Country Link
US (1) US20160020899A1 (ja)
JP (1) JP2015056861A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018509855A (ja) * 2015-03-27 2018-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メディア鍵ブロック・ベースのブロードキャスト暗号化方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992171B2 (en) * 2014-11-03 2018-06-05 Sony Corporation Method and system for digital rights management of encrypted digital content
US11165568B2 (en) * 2019-01-28 2021-11-02 Knectiq Inc. System and method for secure electronic data transfer

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA02001533A (es) * 2000-06-15 2002-07-02 Sony Corp Sistema de procesamiento de informacion y metodo que utiliza bloque de claves de criptografiado.
US20090154703A1 (en) * 2007-12-18 2009-06-18 Vizio Content Protection Using Encryption Keys Where only part of the private key is associated with end user data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018509855A (ja) * 2015-03-27 2018-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メディア鍵ブロック・ベースのブロードキャスト暗号化方法

Also Published As

Publication number Publication date
US20160020899A1 (en) 2016-01-21

Similar Documents

Publication Publication Date Title
JP4701748B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP4715233B2 (ja) 情報処理装置、および情報記録媒体製造方法、並びにコンピュータ・プログラム
JP4902934B2 (ja) 放送暗号化方法
JP5034227B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP4784131B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US7746738B2 (en) Data processing method, information recording medium manufacturing management system, recording data generation apparatus and method, and computer program
US8121287B2 (en) System, method, and service for performing unified broadcast encryption and traitor tracing for digital content
WO2006025414A1 (ja) 情報処理装置、情報記録媒体、コンテンツ管理システム、およびデータ処理方法、並びにコンピュータ・プログラム
CN100483294C (zh) 用于处理信息的方法和装置
JP2004320719A (ja) 著作物保護システム、鍵データ生成装置及び端末装置
JP2015056861A (ja) 復号装置、暗号化装置、方法、プログラム、記録媒体および製造方法
JP2012064135A (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP4615444B2 (ja) 著作権保護システム
JP2008092514A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2012204879A (ja) コンテンツデータ再生システムおよびその利用履歴の収集システム
JP2004342246A (ja) 情報処理装置、情報記録媒体、コンテンツ管理システム、および方法、並びにコンピュータ・プログラム
CN102103876A (zh) 信息处理设备、信息记录介质、信息处理方法和计算机程序
JP4941611B2 (ja) 情報処理装置、および方法、並びにコンピュータ・プログラム
JP4941607B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法
JP2015132712A (ja) 初期情報生成装置、ユーザ秘密鍵生成装置、記録媒体初期設定装置、データ暗号化記録装置および記録データ復号装置、ならびに、それらのプログラム
JP2012059351A (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20151102