JP2007535189A - 不正コンテンツ検知システム - Google Patents

不正コンテンツ検知システム Download PDF

Info

Publication number
JP2007535189A
JP2007535189A JP2006519466A JP2006519466A JP2007535189A JP 2007535189 A JP2007535189 A JP 2007535189A JP 2006519466 A JP2006519466 A JP 2006519466A JP 2006519466 A JP2006519466 A JP 2006519466A JP 2007535189 A JP2007535189 A JP 2007535189A
Authority
JP
Japan
Prior art keywords
information
unit
content
signature
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006519466A
Other languages
English (en)
Other versions
JP4084827B2 (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 JP2007535189A publication Critical patent/JP2007535189A/ja
Application granted granted Critical
Publication of JP4084827B2 publication Critical patent/JP4084827B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1077Recurrent authorisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)
  • Optical Recording Or Reproduction (AREA)
  • Moving Of The Head For Recording And Reproducing By Optical Means (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

コンテンツの正当性の検証をコンテンツの再生と並行して行うため、再生中の処理負荷が高く、再生を行う実行装置は、高性能のプロセッサを搭載しなければならない。
本発明は、DVDに記録されている暗号化コンテンツを構成する複数の暗号化ユニットのうち、ランダムに選択した所定個数の暗号化ユニットのみを検証に用いることで、検証の処理に係る負荷を軽減した。また、検証の度にランダムに所定個数の暗号化ユニットを選択することで、不正なコンテンツの検出の精度をある程度高めることができる。

Description

本発明は、コンテンツの正当性を検証する技術に関するものであり、特に、かかる検証の処理負荷を軽減する技術に関する。
コンテンツの違法な複製、改ざん及び差し替えといった不正行為を防ぐ方法として、コンテンツが正当な権利者により発行されたことを示す署名情報や、改ざんなどの施された不正コンテンツの有無を検証するための検証情報をコンテンツと共に配布することが挙げられる。
一例として、特許文献1には、ネットワークを介して、署名情報と検証情報とコンテンツとを配布し、コンテンツの正当性を検証する技術が開示されている。この技術によると、コンテンツの送信に先立って、送信元の署名情報とコンテンツを構成する各部分コンテンツの整合性を確認するための検証情報とを含む認証情報が、実行装置に送信される。実行装置は、認証情報を受信すると、認証情報に含まれる署名情報を検証する。署名情報の検証が成功であれば、コンテンツを受信し、再生する。再生と並行して、検証情報を用いて、各部分コンテンツの整合性の検証を繰り返し、検証が失敗すると再生を停止する。
この技術により、不正なコンテンツが配布されても、実行装置ではそのコンテンツの再生を開始しないか、もしくは、途中で再生を停止する。
米国特許第6480961号公報 特開2002-281013号公報 http://positron.jfet.org/dvdvideo.html(2004年、5月17日検索) http://www.pioneer.co.jp/crdl/tech/mpeg/1.html(2004年、5月17日検索) 「THE ART OF COMPUTER PROGRAMMING Vol.2 〜 SEMINUMERICAL ALGORITHMS」 DONALD E. KNUTH 著、ISBN 0−201−03822−6 「情報セキュリティ」宮地充子・菊池浩明編著 情報処理学会編集
しかしながら、前記従来技術では、実行装置は再生と並行して、検証情報の検証を続けなければならず、コンテンツ再生中の実行装置の処理負荷が高いという課題を有している。
さらに、セキュリティ上の観点から、コンテンツに代わって、暗号化コンテンツが配布されることも多い。このような場合、実行装置は、復号の処理も並行して行わなければならず、ますます処理負荷が高まる。
従って、実行装置は、これらの処理を並行して行うことができる高性能のプロセッサを搭載していなければならない。
本発明は、これらの問題を解決するものであり、コンテンツ再生中の実行装置の処理負荷を軽減させることで、搭載しているプロセッサの性能が低い場合であっても、支障なくコンテンツの再生が可能な、データ処理装置、データ処理方法、データ処理プログラム、記録媒体を提供することを目的とする。
上記の目的を達成すために、本発明は、デジタル著作物と、前記デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理装置であって、前記記録媒体に記録されている前記デジタル著作物を利用する利用手段と、前記データブロックからランダムに所定数個の選択データブロックを選択する選択手段と、各選択データブロックから、演算要約値を算出する演算手段と、前記記録媒体に記録されている記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出手段と、記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証手段と、前記検証の結果、不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段とをふくむことを特徴とする。
この構成によると、本発明のデータ処理装置の選択手段は、前記データブロックから所定数個の選択データブロックを選択し、前記演算手段は、選択した前記選択データブロックから演算要約値を算出し、前記署名検証手段は、算出した演算要約値と記録媒体から読み出した前記残存要約値と前記記録署名データとを用いて、前記デジタル著作物の正当性を検証する。つまり、新たに、算出する演算要約値を所定個数に限定することにより前記記録署名データの検証に係る一連の処理負荷を軽減することができる。
さらに、前記選択手段は、選択データブロックをランダムに選択する。従って、前記検証が行われるたびに異なるデータブロックが、検証の対象となるので、前記検証に用いるデータブロックを所定個数に限定することによって生じる、検証の精度の低下をある程度、補うことができる。また、何れのデータブロックが選択データブロックとして選択されるかを、第三者が予測することは困難であるため、前記デジタル著作物のうち、前記検証に用いない部分のみを改ざんしたり、不正な情報に差し替えたりするような不正行為を抑制することができる。
また、本発明の前記データ処理装置は、前記記録媒体に記録されている記録要約値群は、各データブロックに対して生成された一次記録要約値と、複数の一次記録要約値から生成された複数の二次記録要約値とからなり、前記記録署名データは、前記二次記録要約値に対してデジタル署名が施されて生成されたものであり、前記読出手段は、前記記録媒体に記録されている一次記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する前記残存要約値を読み出し、前記署名検証手段は、前記演算要約値及び前記残存要約値に基づいて、1個以上の二次演算要約値を算出し、前記記録署名データ、前記二次記録要約値及び前記二次演算要約値を用いて、デジタル署名検証を施して、前記デジタル著作物の正当性を検証する。
この構成によると、前記要約値は一次記録要約値と二次記録要約値とから構成され、前記署名検証手段は、前記演算要約値と前記残存要約値とに基づいて1個以上の二次演算要約値を算出する。従って、前記読出手段は、前記二次演算要約値の算出に必要な一次記録要約値と、前記選択データブロックと対応していない二次要約値とを読み出せばよく、前記記録媒体から読み出す記録要約値の総数を削減することができる。
また、前記記録媒体に記録されている前記デジタル著作物は、複数個のファイルから構成され、各ファイルは、二次記録要約値に対応し、複数のデータブロックから構成され、各二次記録要約値は、対応するファイルを構成する複数のデータブロックのそれぞれに対する一次記録要約値を用いて生成され、前記データ処理装置を構成する、前記署名検証手段は、前記記録媒体から前記記録署名データを読み出す読出部と、選択された選択データブロックを含む各ファイルについて、当該ファイルに含まれるデータブロックのうち当該選択データブロックを除く残存データブロックに対応する一次記録要約値と、当該選択データブロックに対応する演算要約値とを用いて、前記二次演算要約値を算出する算出部と、選択された選択データブロックを含まない各ファイルについて、当該ファイルに対応する二次記録要約値を読み出す読出部と、算出された二次演算要約値と、読み出した二次記録要約値とを用いて、デジタル署名を施して、演算署名データを生成する・署名部と、演算署名データと記録署名データとを比較する比較部とを含み、前記署名検証手段は、一致する場合に、前記デジタル著作物が正当であるとし、一致しない場合に、前記デジタル著作物が不正であるとする。
この構成によると、前記読出手段は、選択された選択データブロックを含む各ファイルについて、当該ファイルに含まれるデータブロックのうち当該選択データブロックを除く残存データブロックに対応する一次記録要約値を読み出し、前記署名検証手段に含まれる読出部は、選択された選択データブロックを含まない各ファイルについて、当該ファイルに対応する二次記録要約値を前記記録媒体か読み出す。したがって、前記記録媒体から読み出す記録要約値の総数を、削減することができる。
また、前記二次記録要約値と前記二次演算要約値とを基に、演算署名データを生成し、生成した演算署名データと前記記録署名データとを比較することで、容易に前記デジタル著作物の正当性の検証を行うことができる。
本発明において、各要約値は、ハッシュ関数により生成されたハッシュ値であり、前記データ処理装置を構成する前記演算手段は、各選択データブロックにハッシュ関数を施して、ハッシュ値を算出し、算出したハッシュ値を前記演算要約値とし、前記算出部は、一次記録要約値と演算要約値とに、ハッシュ関数を施して、ハッシュ値を算出し、算出したハッシュ値を前記二次演算要約値とする。
この構成によると、前記要約値はハッシュ関数により生成されたものであり、前記演算手段及び前記算出部は、ハッシュ関数を用いて、前記演算要約値及び前記二次演算要約値を算出する。
ハッシュ関数は、一方向関数であるため、前記選択データブロックと対応する前記一次記録要約値の算出に用いられたデータブロックと、前記選択データブロックとが一部でも異なると、前記一次記録要約値と前記一次演算要約値とは一致しない。したがって、前記選択データブロックが改ざんされた場合、前記演算要約値及び前記二次演算要約値は、前記記録媒体に記録されている対応する一次要約値及び二次要約値と一致せず前記選択データブロックの改ざんを正確に検出することができる。
また、前記デジタル著作物は、デジタルコンテンツであって、本発明であるデータ処理装置を構成する前記利用手段は、前記デジタルコンテンツを、再生することにより前記デジタルコンテンツを利用する。
この構成によると、前記利用制御手段は、不正に改ざんされたデジタルコンテンツの再生を停止する。これにより、不正に改ざんされたコンテンツの流通を抑制することができる。
前記デジタル著作物は、コンピュータプログラムであって、本発明の前記データ処理装置を構成する、前記利用手段は、前記コンピュータプログラムを構成する命令コードを解読し、解読した命令コードに従って動作することにより、前記コンピュータプログラムを利用する。
この構成によると、前記利用制御手段は、不正に改ざんされたコンピュータプログラムの実行を停止させる。これにより、不正なプログラムの実行による悪影響、例えば、ユーザデータの破壊、本来利用すべきでないデータの利用などを防止することができる。
また、前記データ処理装置は、前記利用制御手段に代えて、前記デジタル著作物が不正であると証明される場合に、その旨を表示する警告表示手段を備えることを特徴とする。
この構成によると、前記警告表示手段は、前記デジタル著作物が不正であると証明される場合に、その旨を表示するため、当該データ処理装置は、前記記録媒体に記録されているデジタル著作物が、不正であることを利用者に通知することができる。これにより、利用者は、前記記録媒体に記録されているデジタル著作物が不正であることを、認識し、以後、前記記録媒体を当該データ処理装置に装着しないなどの防衛行動をとり、前記デジタル著作物の利用によって生じうる悪影響を回避することができる。
また、本発明は、少なくともデジタル著作物と、当該記録媒体の空き容量が所定値以下になるようにデータサイズを調整して生成された充填コンテンツと、前記デジタル著作物及び前記充填コンテンツとに基づいて生成された署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理装置であって、前記デジタル著作物を利用する利用手段と、前記デジタル著作物と前記充填コンテンツと前記署名データとを基に、前記デジタル著作物及び前記充填コンテンツの正当性を検証する検証手段と、前記検証の結果、前記デジタル著作物及び又は前記充填コンテンツが不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段とを備える。
この構成によると、前記記録媒体には、前記充填コンテンツが記録されており、その空き容量が、十分小さい所定値以下であれば、不正な第三者は、当該記録媒体に、不正な情報を追記することができない。さらに、前記データ処理装置は、前記デジタル著作物のみならず、前記充填コンテンツの正当性も検証するため、前記充填コンテンツの一部又は全部が不正に改ざんされた場合でも、前記デジタル著作物の利用を停止する。従って、このような不正によって、配布された不正な情報の利用を阻止することができる。
また、本発明は、デジタル著作物と、外部機器によるアクセスが許可される当該記録媒体上の許可領域を示す領域情報と、前記デジタル著作物及び前記領域情報とに基づいて生成された署名データとを記録している記録媒体から前記デジタル著作物を読み出して利用するデータ処理装置であって、前記領域情報に基づいて、前記許可領域外へのアクセスを禁止するアクセス禁止手段と、前記デジタル著作物を利用する利用手段と、前記デジタル著作物と前記領域情報と前記署名データとを基に、前記デジタル著作物及び前記領域情報の正当性を検証する検証手段と、前記検証の結果、前記デジタル著作物又は前記領域情報が不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段とを備えることを特徴とする。
一般に、記録媒体には、デジタル著作物などのほかに、デジタル著作物の利用手順を示す手順ファイルが含まれている場合がある。この構成によると、前記データ処理装置は、前記領域情報の示す前記許可領域以外の領域にはアクセスしない。従って、不正な第三者が、前記記録媒体の空き領域に不正な情報を追記し、さらに、不正な情報を利用させるように、前記手順ファイルを改ざんしたとしても、前記データ処理装置は、不正な情報を読み出すことはない。
また、前記署名データは、前記デジタル著作物及び前記領域情報を基に生成されているため、不正者が、前記領域情報を改ざんした場合、前記利用制御手段は、前記利用手段による前記デジタル著作物の利用を停止し、不正な情報の利用を阻止することができる。
ここで、請求項中のデータ処理装置は、以下の実施の形態における実行装置である。また、請求項におけるデータブロックは、実施の形態1、5、6の暗号化ユニットに相当する。また、請求項におけるデータブロックは、実施の形態2〜4の部分コンテンツに相当する。
1.実施の形態1
以下に、本発明の実施の形態の一例として、不正コンテンツ検知システム1について、図を用いて説明する。
1.1 不正コンテンツ検知システム1
不正コンテンツ検知システム1は、図1に示すように、配布装置1100、実行装置1600及びモニタ1620から構成される。
配布装置1100は、一例として、画像及び音声を含むコンテンツの正当な著作権者の所有する機器である。操作者の操作に従って、コンテンツを取得し、取得したコンテンツを暗号化して暗号化コンテンツを生成する。また、コンテンツを用いて、実行装置1600において、不正コンテンツの有無の検証に用いられるヘッダ情報など各種の情報を生成する。さらに、配布装置1100に固有の署名鍵を用いて署名情報を生成し、生成した暗号化コンテンツ、署名情報、ヘッダ情報などをDVD(Digital Versatile Disk)1500に書き込む。
DVD1500は、販売店などを通じて、利用者に販売又は配布される。
実行装置1600は、DVD1500を装着され、装着されたDVD1500から署名情報、ヘッダ情報などを読み出し、これらの情報を基に、読み出した署名情報の検証と不正コンテンツの有無の検証とを合わせて行う。
署名情報の検証が、成功である場合のみ、実行装置1600は、コンテンツの再生を開始する。
以下に、不正コンテンツ検知システム1を構成する各装置及びDVD1500について、詳細に説明する。
1.2 配布装置1100
配布装置1100は、図2に示すように、入力部1101、コンテンツ鍵生成部1102、鍵ブロック生成部1103、実行装置情報格納部1104、ユニット生成部1105、暗号処理部1106、ヘッダ情報生成部1107、署名情報生成部1111、署名鍵記憶部1112及び記録部1114から構成される。
(1)入力部1101
入力部1101は、操作者の操作によって、外部機器又は外部の記録メディアからコンテンツを受け取る。ここで、入力部1101が受け取るコンテンツの構成を、図3を用いて説明する。
図3に示すように、入力部1101が受け取るコンテンツ1120は、c個(cは1以上の整数)のファイル1121「CNT1」、1122「CNT2」、1123「CNT3」・・・1124「CNTc」から構成される。ここで、入力部1101が取得するコンテンツ1120は、実行装置1600(詳細は後述する)において、再生可能な形式であって、一例として、DVD−Video形式、MPEG(Moving Picture Experts Group )2形式などである。本実施の形態では、コンテンツ1120は、DVD−Video形式であり、各ファイルは、VOB(Video OBject)ファイルであるとして説明する。
入力部1101は、コンテンツ1120を取得すると、コンテンツ鍵生成部1102へ、コンテンツ鍵の生成を指示し、取得したコンテンツ1120をユニット生成部1105へ出力する。
(2)コンテンツ鍵生成部1102
コンテンツ鍵生成部1102は、入力部1101からコンテンツ鍵の生成を指示される。コンテンツ鍵の生成を指示されると、擬似乱数を生成し、生成した擬似乱数を用いて128ビット長のコンテンツ鍵「CK」を生成する。擬似乱数に代わって、信号のノイズなどを利用して真性乱数を生成しても良い。乱数を生成する方法については、非特許文献3が詳しい。また、コンテンツ鍵の生成には、他の方法を用いても良い。
次に、生成したコンテンツ鍵「CK」を鍵ブロック生成部1103及び暗号処理部1106へ出力する。
(3)鍵ブロック生成部1103及び実行装置情報格納部1104
実行装置情報格納部1104は、一例として、ROM、EEPROMなどから構成され、図4に示すように装置識別テーブル1130を記憶している。
装置識別テーブル1130は、n個の装置識別子とn個のデバイス鍵から構成される(nは自然数)。装置識別子は、配布装置1100によりDVD1500に書き込まれた情報を、DVD1500から読み出し、再生することが許可されている機器それぞれに固有の識別情報である。デバイス鍵は装置識別子と1対1に対応しており、装置識別子の示す機器に固有の鍵情報である。例えば、装置識別子1131「AID_1」は、デバイス鍵1136「DK_1」と対応している。
鍵ブロック生成部1103は、コンテンツ鍵生成部1102からコンテンツ鍵「CK」を受け取り、鍵ブロックを生成する。
図5は、ここで生成される鍵ブロック1150の構成の一例を示している。鍵ブロック1150は、n個の装置識別子とn個の暗号化コンテンツ鍵から構成される。装置識別子は、装置識別テーブル1130に含まれる装置識別子と同一である。装置識別子と暗号化コンテンツ鍵は1対1に対応しており、暗号化コンテンツ鍵は、対応するデバイス鍵を用いてコンテンツ鍵「CK」に暗号化アルゴリズムE1を施して生成されたものである。例えば、装置識別子1141「AID_1」は、装置識別テーブル1130に含まれる装置識別子1131「AID_1」と同一であり、暗号化コンテンツ鍵1142「Enc(DK_1,CK)」と対応している。暗号化コンテンツ鍵1142「Enc(DK_1,CK)」は、装置識別テーブル1130に含まれるデバイス鍵1136「DK_1」を用いてコンテンツ鍵「CK」を暗号化して生成されたものである。以下の説明において、鍵Aを用いて、平文Bを暗号化して生成された暗号文をEnc(A,B)と表記する。
以下に鍵ブロック1150を生成する手順を説明する。
鍵ブロック生成部1103は、コンテンツ鍵「CK」を受け取ると、実行装置情報格納部1104の装置識別テーブル1130から、1行目の装置識別子1131「AID_1」とデバイス鍵1136「DK_1」とを読み出す。読み出したデバイス鍵1136「DK_1」を用いて、コンテンツ鍵「CK」に暗号化アルゴリズムE1を施して暗号化コンテンツ鍵「Enc(DK_1,CK)」を生成する。ここで、暗号化アルゴリズムE1は、一例としてAES(Advanced Encryption Standard)を用いる。AESについては、非特許文献4に詳しく紹介されている。また、暗号方式は、これに限るものではなく、他の方式を用いても良い。
読み出した装置識別子1131「AID_1」と生成した暗号化コンテンツ鍵「Enc(DK_1,CK)」とを対応付けて記憶する。
n個の装置識別子とデバイス鍵の組について同様の処理を繰返して、n個の装置識別子と暗号化コンテンツ鍵の組を生成し、これらを鍵ブロック1150とする。
次に、生成した鍵ブロックを記録部1114へ出力する。
ここでは、最も単純な例として、DVD1500に書き込まれた情報を、再生することができる機器それぞれに個別の鍵を割り当てているが、特許文献2に、暗号化コンテンツ鍵の個数を減らす技術、特定の機器だけがコンテンツを再生できないようにする技術などが開示されている。
(4)ユニット生成部1105
ユニット生成部1105は、入力部1102からコンテンツ1120を受け取る。コンテンツ1120を受け取ると、以下に説明する手順で、分割コンテンツとユニット選出情報とを生成する。
以下に、(a)分割コンテンツの生成及び(b)ユニット選出情報の生成について説明する。
(a)分割コンテンツの生成
ユニット生成部1105は、図6に示すように、コンテンツ1120から、分割コンテンツ1160を生成する。以下に、図6を用いて、分割コンテンツ1160の生成手順について説明する。
ユニット生成部1105は、コンテンツ1120を受け取ると、受け取ったコンテンツ1120に含まれるファイル1121「CNT1」に対応するファイル識別子1161「FID1」とファイル特定情報「AD1」とを生成する。ファイル識別子1161「FID1」は、ファイル1121「CNT1」を一意に示す識別情報であり、一例として、コンテンツ1120内でのファイル1121「CNT1」の順番を示す自然数、ファイルの名称などである。ファイル特定情報「AD1」は、ファイル1121「CNT1」を特定する情報であり、例えば、コンテンツ1120先頭からのオフセット、セクタ数、アドレスなどである。
次に、ユニット生成部1105は、ファイル1121「CNT1」をVOBU(Video OBject Unit)ごとに分割してm個(mは任意の自然数)のユニット「U1_1」、「U1_2」・・・「U1_m」を生成する。次に、生成したユニットの個数を示すユニット数「N1」を生成する(ここでは、N1=mである)。
次に、ユニット生成部1105は、ファイル識別子1161「FID1」とファイル特定情報「AD1」とユニット数「N1」からなるファイル情報を生成し、生成したファイル情報を記憶する。
次に、ユニット生成部1105は、各ユニットにユニット識別子を生成する。ユニット識別子は、m個のユニットを一意に識別する識別情報であり、例えば、1、2、3・・・mのような、先頭ユニットからの順番であっても良いし、先頭のユニットからの累積ビット数などであってもよい。本実施の形態では、先頭ユニットからの順番であるとする。以下の説明において、対応するユニット識別子とユニットの組をユニット情報と呼び、m個のユニット情報を分割ファイルと呼ぶ。このようにして、ファイル1121「CNT1」から生成された分割ファイル1171「splCNT1」は、図6に示すように、m個のユニット情報1191、1192、1193・・・1194から構成される。各ユニット情報は、対応するユニット識別子とユニットから構成され、一例としてユニット情報1191は、ユニット識別子1181「UID1_1」とユニット1186「U1_1」とを含んでいる。
次に、ユニット生成部1105は、ファイル識別子1161「FID1」と分割ファイル1171「splCNT1」を含む分割ファイル情報1176を生成する。
全てのファイルについて、同様の処理を繰返して、c個のファイル情報及びc個の分割ファイル情報1176、1177、1178・・・1179を生成する。
ここで、生成されたc個の分割ファイル情報を分割コンテンツ1160とする。なお、ファイルごとに、生成されるユニットの数mは異なっていても良い。
次に、ユニット生成部1105は、生成した分割コンテンツ1160を暗号処理部1106へ出力する。
ここでは、ユニット生成部1105がファイル識別子とファイル特定情報とを生成しているが、コンテンツ1120とともに、外部から入力されるとしてもよい。
また、分割単位をVOBUとしているが、これに限るものではなく、例えば64キロバイトごと、再生時間1秒相当ごとなどでも良いし、操作者によって、分割単位を示す情報が入力されるとしても良い。
(b)ユニット選出情報の生成
分割コンテンツ1160の出力が終了すると、ユニット生成部1105は、c個のファイル情報からなるユニット選出情報を生成する。図7は、ここで生成されるユニット選出情報1200の構成を示す。
ユニット選出情報1200は、c個のファイル情報1201、1202、1203・・・1204から構成される。各ファイル情報は、ファイル識別子とファイル特定情報とユニット数から構成される。
一例として、ファイル情報1201は、ファイル識別子1211「FID1」とファイル特定情報1216「AD1」とユニット数1221「N1」とを含んでいる。
ユニット生成部1105は、生成したユニット選出情報1200を署名情報生成部1111及び記録部1114へ出力する。
(5)暗号処理部1106
暗号処理部1106は、コンテンツ鍵生成部1102からコンテンツ鍵「CKを受け取る。また、暗号処理部1106は、ユニット生成部1105から、分割コンテンツ1160を受け取る。
図8は、暗号処理部1106の行う処理の一部を示している。以下に、暗号処理部1106の行う処理について、図8を用いて説明する。
暗号処理部1106は、分割コンテンツ1160を受け取ると、受け取った分割コンテンツ1160を構成する分割ファイル情報1176に含まれる分割ファイル1171「splCNT1」を選択する。選択した分割ファイル1171「splCNT1」の先頭のユニット情報1191からユニット1186「U1_1」を抽出し、抽出したユニット1186「U1_1」にコンテンツ鍵「CK」を用いて暗号化アルゴリズムE1を施して、暗号化ユニット1231「EU1_1」を生成する。ここでEU1_1=Enc(CK,U1_1)である。
ここで生成した暗号化ユニット1231「EU1_1」とユニット情報1191のに含まれるユニット識別子1181「UID1_1」から構成される暗号化ユニット情報1241を生成する。以下の説明で、対応するユニット識別子と暗号化ユニットとの組を暗号化ユニット情報と呼ぶ。
ユニット情報1192、1193・・・1194についても同様の処理を繰返して、暗号化ユニット情報1242、1243・・・1244を生成する。ここで、1個の分割ファイルから生成されたm個の暗号化ユニット情報の組を暗号化分割ファイルと呼ぶ。
図8に示すように、分割ファイル1171「splCNT1」から、上記の手順により生成された暗号化分割ファイル1251「EsplCNT1」は、m個の暗号化ユニット情報1241、1242、1243・・・1244から構成される。各暗号化ユニット情報は、分割ファイル1171を構成する各ユニット情報を基に生成されたものであり、ユニット識別子と暗号化ユニットとを含む。例えば、暗号化ユニット情報1241は、ユニット情報1191を基に生成されてものであり、ユニット識別子1181「UID1_1」と暗号化ユニット1231「EU1_1」とを含む。
次に、暗号処理部1106は、生成した暗号化分割ファイル1251「EsplCNT1」を構成する各暗号化ユニット情報から暗号化ユニットを抽出する。ここで、抽出されたm個の暗号化ユニットの組を暗号化ファイル「ECNT1」と呼ぶ。
次に、分割ファイル情報1176に含まれる分割ファイル1171「splCNT1」を、生成した暗号化分割ファイル1251「EsplCNT1」に置き置き換えて、暗号化分割ファイル情報を生成する。
分割ファイル情報1177、1178・・・1179についても、同様にして、暗号化分割ファイル情報と暗号化ファイルとを生成する。
ここで生成したc個の暗号化分割ファイル情報の組を暗号化分割コンテンツとする。次に、生成した暗号化分割コンテンツをヘッダ情報生成部1107へ出力する。図10には、ここで出力される暗号化分割コンテンツ1210の構成が示されている。
次に、暗号処理部1106は、c個の暗号化ファイルの組を暗号化コンテンツとして記録部1114へ出力する。図9は、ここで生成される暗号化コンテンツ1330の構成を示している。暗号化コンテンツ1330は、c個の暗号化ファイル1331「ECNT1」、1332「ECNT2」、1333「ECNT3」・・・1334「ECNTc」から構成されている。各暗号化ファイルは、暗号化分割コンテンツに含まれる各暗号化分割ファイル情報を基に生成され、複数の暗号化ユニットを含む。一例として暗号化ファイル1331「ECNT1」は、暗号化ユニット「EU1_1」、「EU1_2」・・・を含んでいる。
(6)ヘッダ情報生成部1107
ヘッダ情報生成部1107は、暗号処理部1106から、暗号化分割コンテンツ1210を受け取る。暗号化分割コンテンツ1210を受け取ると、図10に示すように、受け取った暗号化分割コンテンツを用いて、ヘッダ情報1260を生成する。
図10は、ヘッダ情報生成部1107によるヘッダ情報1260の生成手順の概要を示している。ヘッダ情報生成部1107の受け取る暗号化分割コンテンツ1210は、c個の暗号化分割ファイル情報1246、1247、1248・・・1249から構成される。各暗号化分割ファイル情報は、ファイル識別子と暗号化分割ファイルとを含む。例えば、暗号化分割ファイル情報1246は、ファイル識別子1161「FID1」と暗号化分割ファイル1251「EsplCNT1」とを含んでいる。
ヘッダ情報生成部1107は、暗号化分割ファイル情報1246に含まれる各分割ファイルに基づいて、第1ハッシュテーブルを生成する。例えば暗号化分割ファイル1251「EsplCNT1」に基づいて第1ハッシュテーブル1261「HA1TBL1」を生成する。生成したc個の第1ハッシュテーブルから、第2ハッシュテーブル1269「HA2TBL」を生成する。
上述した、第1ハッシュテーブルの生成及び第2ハッシュテーブルの生成手順について、以下に詳細に説明する。
(6−1)第1ハッシュテーブルの生成
図11は、ヘッダ情報生成部1107による第1ハッシュテーブル1261「HA1TBL1」の生成手順の概要を示している。
以下に、図11を用いて第1ハッシュテーブル1261「HA1TBL1」の生成手順について説明する。第1ハッシュテーブル「HA1TBL2」、「HA1TBL3」・・・「HA1TBLc」の生成手順もこれと同様である。
先ず、ヘッダ情報生成部1107は、暗号化分割ファイル1251「EsplCNT1」を構成する先頭の暗号化ユニット情報1241から暗号化ユニット1231「EU1_1」を抽出し、抽出した暗号化ユニット1231「EU1_1」をハッシュ関数に代入し、ユニットハッシュ値1271「UHA1_1」を生成する。
ここでハッシュ関数には、SHA−1(Secure Hash Algorithm−1)やブロック暗号を用いたCBC−MAC(Cipher Block Chaining − Message Authentication Code)などを用いる。
ここで、暗号化ユニット情報1241の暗号化ユニット1231「EU1_1」を生成したユニットハッシュ値1271「UHA1_1」に置き換えて、ユニットハッシュ情報1281を生成する。
ヘッダ情報生成部1107は、暗号化ユニット情報1242、1243・・・1244についても、同様の処理を繰返し、ユニットハッシュ情報1282、1283・・・1284を生成する。ここで生成されたm個のユニットハッシュ情報を第1ハッシュテーブル1261「HA1TBL1」とする。図11は、ここで生成される第1ハッシュテーブル1261「HA1TBL1」の構成を示している。
(6−2)第2ハッシュテーブルの生成
ヘッダ情報生成部1107は、上記の手順を繰返し、暗号化分割コンテンツ1210から、c個の第1ハッシュテーブルを生成し終えると、生成したc個の第1ハッシュテーブルから図12に示すような第2ハッシュテーブル1269を生成する。第2ハッシュテーブル1269「HA2TBL」は、c個のファイルハッシュ情報1301、1302、1303・・・1304から構成され、各ファイルハッシュ情報は、ファイル識別子とファイルハッシュ値を含む。一例として、ファイルハッシュ情報1301は、ファイル識別子1161「FID1」とファイルハッシュ値1291「FHA1」とを含んでいる。
以下に、第2ハッシュテーブル1269の生成手順について説明する。
ヘッダ情報生成部1107は、生成した第1ハッシュテーブル1261「HA1TBL1」を構成する全てのユニット識別子とユニットハッシュ値とを結合した結合物をハッシュ関数に代入し、ファイルハッシュ値1291「FHA1」を生成する。
次に、ヘッダ情報生成部1107は、第1ハッシュテーブル1261「HA1TBL1」と対応する暗号化分割ファイル情報1246からファイル識別子1161「FID1」を抽出し、抽出したファイル識別子1161「FID1」と生成したファイルハッシュ値1291「FHA1」から構成されるファイルハッシュ情報1301を生成する。
第1ハッシュテーブル1262、1263・・・1264についても同様の処理を繰返し、ファイルハッシュ情報1302、1303・・・1304を生成する。
次に、ヘッダ情報生成部1107は、生成したc個の第1ファイルハッシュ情報を第2ハッシュテーブル1269「HA2TBL」とする。
以上、(6−1)第1ハッシュテーブルの生成及び(6−2)第2ハッシュテーブルの生成手順を説明した。ヘッダ情報生成部1107は、上記の手順で生成したc個の第1ハッシュテーブルと1個の第2ハッシュテーブル1269「HA2TBL」とを含むヘッダ情報1260を生成し、生成したヘッダ情報1260を記録部1114へ出力する。
また、生成した第2ハッシュテーブル1269「HA2TBL」を署名情報生成部1111へ出力する。
(7)署名情報生成部1111及び署名鍵記憶部1112
署名鍵記憶部1112は、ROMから構成され、配布装置1100に固有の署名鍵1113を記憶している。
図13は、署名情報生成部1111の動作の概要を示している。以下に、図13を用いて、署名情報生成部1111による署名情報の生成について説明する。
署名情報生成部1111は、ユニット生成部1105から、ユニット選出情報1200を受け取り、ヘッダ情報生成部1107から第2ハッシュテーブル1269「HA2TBL」を受け取る。ユニット選出情報1200と第2ハッシュテーブル1269とを受け取ると、署名情報生成部1111は、署名鍵記憶部1112から署名鍵1113を読み出す。
次に、読み出した署名鍵1113を用いて、受け取ったユニット選出情報1200と第2ハッシュテーブル1269から署名情報1310を生成する。具体的には、受け取った第2ハッシュテーブル1269に含まれるc個のファイルハッシュ値とユニット選出情報1200に含まれるc個のファイル情報を結合した結合物に、読み出した署名鍵1113を用いて、署名生成アルゴリズムSを施す。
署名生成アルゴリズムSは、一例としてDSA(Digital Signature Algorithm)を用いる。
次に、生成した署名情報1310を記録部1114へ出力する。
(8)記録部1114
記録部1114はDVD1500を装着される。
記録部1114は、鍵ブロック生成部1103から、鍵ブロック1150を受け取る。ユニット生成部1105から、ユニット選出情報1200を受け取る。暗号処理部1106から、暗号化コンテンツ1330を受け取り、ヘッダ情報生成部1107から、ヘッダ情報1260を受け取り、署名情報生成部1111から署名情報1310を受け取る。
これらの、情報を受け取ると、受け取った鍵ブロック1150、ユニット選出情報1200、ヘッダ情報1260、署名情報1310及び暗号化コンテンツ1330をDVD1500に書き込む。
1.3 DVD1500
DVD1500は、実行装置1600に装着される可搬型の光ディスク媒体である。
DVD1500は、図14に示すように、鍵ブロック1510、ユニット選出情報1530、ヘッダ情報1550、署名情報1570及び暗号化コンテンツ1580を記憶している。これらは、配布装置1100によって書き込まれたものであり、配布装置1100により生成された、鍵ブロック1150、ユニット選出情報1200、ヘッダ情報1260、署名情報1310及び暗号化コンテンツ1330と同一であるので、ここでは、簡単に説明する。
(1)鍵ブロック1510
鍵ブロック1510は、n個の装置識別子「AID_1」、「AID_2」、「AID_3」・・・「AID_n」とそれぞれの装置識別子と対応するn個の暗号化コンテンツ鍵「Enc(DK_1,CK)」、「Enc(DK_2,CK)」、「Enc(DK_3,CK)」・・・「Enc(DK_n,CK)」から構成される。
(2)ユニット選出情報1530
ユニット選出情報1530は、c個のファイル情報1541、1542・・・から構成され、各ファイル情報は、ファイル識別子とファイル特定情報とユニット数とを含んでいる。各ファイル情報は、暗号化コンテンツ1580に含まれる暗号化ファイルと対応している。また、各ファイルは、ヘッダ情報1550に含まれる第1ハッシュテーブルと対応している。
(3)暗号化コンテンツ1580
暗号化コンテンツ1580は、c個の暗号化ファイル1581、1582、1583・・・1587から構成される。各暗号化ファイルは、複数の暗号化ユニットを含む。
(4)ヘッダ情報1550
ヘッダ情報1550は、c個の第1ハッシュテーブル1551、1552・・・1557と第2ハッシュテーブル1556から構成される。
各第1ハッシュテーブルは、複数のユニットハッシュ情報から構成され、各ユニットハッシュ情報は、ユニット識別子とユニットハッシュ値とを含む。
第2ハッシュテーブル1556は、c個のファイルハッシュ情報1561、1562、1563・・・1567から構成され、各ファイルハッシュ情報は、ファイル識別子とファイルハッシュ値とを含む。
(5)署名情報1570
署名情報1570は、第2ハッシュテーブル1556に含まれるc個のファイルハッシュ値とユニット選出情報1530に含まれるc個のファイル情報とを結合した結合物に署名生成アルゴリズムSを施して生成されたものである。
1.4 実行装置1600
実行装置1600は、図15に示すように取得部1601、コンテンツ鍵取得部1602、デバイス鍵格納部1604、実行部1606、署名情報検証部1611及び検証鍵記憶部1612から構成される。
(1)取得部1601
取得部1601は、DVD1500を装着される。DVD1500の装着を検出すると、DVD1500から鍵ブロック1510、ユニット選出情報1530及び署名情報1570を読み出し、読み出した鍵ブロック1510をコンテンツ鍵取得部1602へ出力し、読み出したユニット選出情報1530と署名情報1570とを署名情報検証部1611へ出力する。
また、実行部1606及び署名情報検証部1611の指示により、DVD1500からヘッダ情報1550及び暗号化コンテンツ1580の全部、もしくは、一部を読み出す。
(2)コンテンツ鍵取得部1602及びデバイス鍵格納部1604
デバイス鍵格納部1604は、ROMから構成され、図15に示すように、装置識別子1608「AID_p」とデバイス鍵1609「DK_p」とを記憶している(pはn以下の自然数)。
装置識別子1608「AID_p」は、実行装置1600を一意に示す識別情報であり、デバイス鍵1609「DK_p」は、実行装置1600に固有の鍵情報である。
コンテンツ鍵取得部1602は、取得部1601から鍵ブロック1510を受け取る。鍵ブロック1510を受け取ると、デバイス鍵格納部1604から装置識別子1608「AID_p」を読み出す。受け取った鍵ブロック1510から読み出した装置識別子1608「AID_p」と一致する装置識別子を検出し、検出した装置識別子と対応する暗号化コンテンツ鍵を抽出する。
次に、コンテンツ鍵取得部1602は、デバイス鍵格納部1604からデバイス鍵1609「DK_p」を読み出す。読み出したデバイス鍵1609「DK_p」を用いて、抽出した暗号化コンテンツ鍵に復号アルゴリズムD1を施してコンテンツ鍵「CK」を生成する。生成したコンテンツ鍵「CK」を実行部1606へ出力する。
ここで、復号アルゴリズムD1は、暗号化アルゴリズムE1により生成された暗号文を復号するものある。
(3)署名情報検証部1611及び検証鍵記憶部1612
検証鍵記憶部1612は、ROMから構成され、検証鍵1613を記憶している。検証鍵1613は、配布装置1100の記憶している署名鍵1113と対応する鍵情報である。
署名情報検証部1611は、取得部1601からユニット選出情報1530と署名情報1570とを受け取る。
図16は、署名情報検証部1611による署名情報の検証動作の概要を示している。署名情報検証部1611は、ユニット選出情報1530と署名情報1570とを受け取ると、図16に示すように、受け取ったユニット選出情報1530からi個(iはc以下の自然数)のファイル識別子を選択する。ここでは、ファイル識別子1531「FID1」、1533「FID3」・・・を選択したものとして説明する。
選択したファイル識別子1531「FID1」と対応する第1ハッシュテーブル1551「HA1TBL1」及び暗号化ファイル1581「ECNT1」を基に、入替第1ハッシュテーブル1631「REPHA1TBL1」を生成する。選択したほかのファイル識別子「FID3」・・・についても同様にして入替第1ハッシュテーブル1633・・・を生成する。生成した入替第1ハッシュテーブル1631、1633・・・及び、DVD1500に記憶されている第2ハッシュテーブル1556「HA2TBL」を基に入替第2ハッシュテーブル1639「REPHA2TBL」を生成する。生成した入替第2ハッシュテーブル1639「REPHA2TBL」を用いて署名情報1570を検証する。
以上、図16に示す概要を説明したが、以下に、(3−1)入替第1ハッシュテーブルの生成、(3−2)入替第2ハッシュテーブルの生成及び(3−3)署名情報の検証の手順について、図面を用いて詳細に説明する。
(3−1)入替第1ハッシュテーブルの生成
入替第1ハッシュテーブルの生成手順について、図17及び図18を用いて説明する。
署名情報検証部1611は、図17に示すように、受け取ったユニット選出情報1530に含まれるc個ファイル情報からi個(iはc以下の自然数)を選択する。選択方法は、例えば、1以上、c以下の擬似乱数をi個(r1、r2・・・ri)生成し、r1番目、r2番目・・・ri番目のファイル識別子を選択する。選択方法は、これに限るものではなく、何れのファイル識別子が選択されるかを予測することが困難であれば、どのような方法でも良い。例えば、気温、湿度、電気信号のノイズなどを用いても良い。
本実施の形態では、i=7と想定し、7個のファイル情報1541、1543・・・が選択された場合について説明する。
次に、図18に示すように、署名情報検証部1611は、選択したファイル情報1541に含まれるファイル識別子「FID1」と対応する暗号化ファイル1581「ECNT1」からいずれか一つの暗号化ユニットを選択し、選択した暗号化ユニットをDVD1500から読み出す。具体的には、選択したファイル情報1541に含まれるユニット数「N1」を読み出し、「N1」以下の擬似乱数tを生成する(ここでは、t=3とする)。次に、選択したファイル情報1541に含まれるファイル特定情報「AD1」を基に、取得部1601を介してDVD1500から、暗号化ファイル1581「ECNT1」の3番目の暗号化ユニット「EU1_3」を読み出す。
次に、署名情報検証部1611は、読み出した暗号化ユニット「EU1_3」をハッシュ関数に代入し、入替ユニットハッシュ値「H3」を生成する。ここで、署名情報検証部1611は、配布装置1100のヘッダ情報生成部1107の用いるハッシュ関数と同一のハッシュ関数を使用する。
次に、署名情報検証部1611は、取得部1601を介して、ヘッダ情報1550に含まれる第1ハッシュテーブル1551「HA1TBL1」を読み出す。
読み出した第1ハッシュテーブル1551「HA1TBL1」構成するm個のユニットハッシュ情報から、t=3と一致するユニット識別子「UID1_3」と対応するユニットハッシュ値「UHA1_3」を、算出した入替ユニットハッシュ値「H3」と入替え、これを入替第1ハッシュテーブル1631「REPHA1TBL1」とする。
署名情報検証部1611は、その他の選択したファイル情報1542・・・についても、同様の処理を繰返し、入替第1ハッシュテーブル1633「REPHATBL3」・・・を生成する。
(3−2)入替第2ハッシュテーブルの生成
入替第2ハッシュテーブルの生成手順について、図19を用いて説明する。
選択した7個のファイル情報に基づいて、入替第1ハッシュテーブルの生成を終了すると、署名情報検証部1611は、生成した入替第1ハッシュテーブル1631「REPHA1TBL1」を構成する全てのユニット識別子と全てのユニットハッシュ値及び入替ハッシュ値を結合してハッシュ関数に代入し、入替ファイルハッシュ値「fha1」を生成する。同様にして、入替第1ハッシュテーブル1633「REPHA1TBL3」・・・を基に、入替ファイルハッシュ値「fha3」・・・を生成する。
次に、署名情報検証部1611は、ヘッダ情報1550に含まれる第2ハッシュテーブル1556「HA2TBL」をDVD1500から読み出す。読み出した第2ハッシュテーブル1556「HA2TBL」に含まれるc個のファイルハッシュ情報のうち、選択した7個のファイル情報に含まれるファイル識別子「FID1」、「FID3」・・・を含むファイルハッシュ情報のファイルハッシュ値を、生成した入替ファイルハッシュ値「fha1」、「fha3」・・・と、それぞれ入れ替える。入れ替え後の第2ハッシュテーブルを入替第2ハッシュテーブル1639「REPHA2TBL」とする。
(3−3)署名情報の検証
署名情報の検証について、図20を用いて説明する。
入替第2ハッシュテーブル1639「REPHA2TBL」を生成すると、署名情報検証部1611は、検証鍵記憶部1612から検証鍵1613を読み出す。
次に、入替第2ハッシュテーブル1639「REPHA2TBL」に含まれるファイルハッシュ値及び入替ファイルハッシュ値全てと、ユニット選出情報1530に含まれるc個のファイル情報とを結合した結合物を生成する。生成した結合物に、読み出した検証鍵1613を用いて、署名検証アルゴリズムVを施して、署名検証情報を生成する。生成した署名検証情報と取得部1601から受け取った署名情報1570とを比較する。両者が一致しない場合、署名検証が失敗であると判断し、署名情報検証部1611は、実行部1606にコンテンツの再生を禁止することを示す再生禁止情報を出力する。ここで、署名検証アルゴリズムVは、署名生成アルゴリズムSによって生成された署名を検証するアルゴリズムである。
両者が一致する場合、そのまま、検証処理を終了する。
(4)実行部1606
実行部1606は、コンテンツ鍵取得部1602からコンテンツ鍵「CK」を受け取る。
また、実行部1606は、署名情報検証部1611から再生禁止情報受け取る場合がある。
コンテンツ鍵「CK」を受け取ると、実行部1606は、取得部1601を介して、暗号化コンテンツ1580を構成する暗号化ファイル「ECNT1」を、DVD1500から読み出す。受け取ったコンテンツ鍵「CK」を用いて、読み出した暗号化ファイル1581を構成する暗号化ユニット「EU1_1」、「EU1_2」・・・に、順次、復号アルゴリズムD1を施してユニット「U1_1」、「U1_2」・・・からなるファイル「CNT1」を生成する。
次に、実行部1606は、生成したファイル「CNT1」を伸長して、画像及び音声データを生成する。生成した画像及び音声データを画像信号及び音声信号を生成し、生成した画像信号及び音声信号をモニタ1620へ出力する。
暗号化ファイル「ECNT2」〜「ECNTc」についても、同様に、読み出し、復号、伸長、画像信号及び音声信号の出力を繰り返す。
上記の繰返しの途中に、署名情報検証部1611から、再生禁止情報を受け取ると実行部1606は、繰返しを中止し、インジケータランプを点灯させる又はエラーを通知する画面をモニタ1620に表示させるなどして、実行装置1600に装着されているDVDを再生できないことを利用者に通知する。
(5)モニタ1620
モニタ1620は、スピーカを内蔵しており、ケーブルにより実行装置1600と接続されている。
実行装置1600の実行部1606から、画像信号及び音声信号を受け取り、受け取った画像信号から画面を生成し、表示する。また、音声信号から音声を生成し、生成した音声をスピーカから出力する。
1.5 動作
以下に、配布装置1100及び実行装置1600の動作について、説明する。
(1)配布装置1100の動作
配布装置1100の動作について、図21〜22に示すフローチャートを用いて説明する。
入力部1101は、操作者の操作により、c個のファイルから構成されるコンテンツ1120を取得し(ステップS1011)、コンテンツ鍵生成部1102へコンテンツ鍵の生成を指示する。
コンテンツ鍵生成部1102は、乱数を用いてコンテンツ鍵「CK」を生成し、生成したコンテンツ鍵「CK」を鍵ブロック生成部1103へ出力する(ステップS1012)。
鍵ブロック生成部1103は、コンテンツ鍵「CK」を受け取り、実行装置情報格納部1104から装置識別テーブル1130を読み出す(ステップS1013)。受け取ったコンテンツ鍵「CK」と読み出した装置識別テーブル1130とを用いて、鍵ブロック1150を生成する(ステップS1016)。
ステップS1017〜ステップS1023において、配布装置1100のユニット生成部1105は、コンテンツ1120を構成するファイル毎に、ステップS1018〜ステップS1022の処理を繰り返す。
ユニット生成部1105は、ファイルに対応するファイル識別子とファイル特定情報とを生成する(ステップS1018)。次に、ファイルを分割してm個のユニットを生成し(ステップS1019)、生成したユニットの数を示すユニット数を生成し、生成したファイル識別子とファイル特定情報とユニット数から構成されるファイル情報を生成する(ステップS1020)。
次に、ユニット生成部1105は、生成した各ユニットと対応するユニット識別子を生成する(ステップS1021)。続いて、対応するユニット識別子とユニットとを含むユニット情報をm組生成し、これらを分割ファイルとする。次に、分割ファイルとファイル識別子から構成される分割ファイル情報を生成する(ステップS1022)。
全てのファイルについて、ステップS1017〜ステップS1023の繰返しが終了し、c個の分割ファイル情報とファイル情報とを生成し終えると、c個のファイル情報から構成されるユニット選出情報1200を生成し(ステップS1024)、生成したユニット選出情報1200を署名情報生成部1111と記録部1114とへ出力する。また、c個の分割ファイル情報から構成される分割コンテンツ1160を暗号処理部1106へ出力する。
暗号処理部1106は、ユニット生成部1105から、分割コンテンツ1160を受け取り、受け取った分割コンテンツ1160を構成する各分割ファイルの各ユニットを、コンテンツ鍵「CK」を用いて暗号化して暗号化分割コンテンツ1210を生成する(ステップS1026)。
次に、暗号処理部1106は、各暗号化分割ファイルから暗号化ユニットを抽出して暗号化ファイルをc個生成し、これを暗号化コンテンツ1330とする(ステップS1027)。次に、暗号化分割コンテンツ1210をヘッダ情報生成部1107へ、暗号化コンテンツ1330を記録部1114へ出力する。
ヘッダ情報生成部1107は、暗号処理部1106から、暗号化分割コンテンツ1210を受け取る。暗号化分割コンテンツ1210を構成する各暗号化分割ファイルに含まれる暗号化ユニットを、ハッシュ関数に代入して、ユニットハッシュ値を算出し、第1ハッシュテーブルをc個生成する(ステップS1028)。
次に、第1ハッシュテーブル毎に、第1ハッシュテーブルを基にファイルハッシュ値を算出し、算出したc個のファイルハッシュ値を含む第2ハッシュテーブル1269を生成する(ステップS1029)。
次に、生成した第2ハッシュテーブル1269とc個の第1ハッシュテーブルとを含むヘッダ情報1260を生成する(ステップS1031)。
署名情報生成部1111は、署名鍵記憶部1112から署名鍵1113を読み出し(ステップS1032)、読み出した署名鍵1113を用いて、第2ハッシュテーブル1269及びユニット選出情報に署名生成アルゴリズムを施して署名情報を生成する(ステップS1033)。
記録部1114は、DVD1500に鍵ブロック1150、ユニット情報1200、ヘッダ情報1260、署名情報1310及び暗号化コンテンツ1330を書き込む(ステップS1034)。
(2)実行装置1600の動作
図23は、署名情報の検証における、情報の加工の過程を示している。説明の便宜上、ヘッダ情報1550については、第1ハッシュテーブルに含まれるユニットハッシュ値と第2ハッシュテーブルに含まれるファイルハッシュ値のみを描いている。また、図24、図25は、実行装置1600の動作を示すフローチャートである。なお、図中の、同一のステップ番号は、同一の処理を指している。
以下に、図23〜25を用いて、実行装置1600の動作について説明する。
取得部1601は、DVD1500を装着されると、DVD1500から鍵ブロック1510、ユニット選出情報1530及び署名情報1570を読み出し、鍵ブロック1510をコンテンツ鍵取得部1602へ出力し、ユニット選出情報1530と署名情報1570とを署名情報検証部1611へ出力する(ステップS1041)。
署名情報検証部1611は、ユニット選出情報1530と署名情報1570とを受け取り、乱数を用いて、ユニット選出情報1530に含まれるc個のファイル識別子からi個を選択する(ステップS1046)。
ステップS1047〜1057において、署名情報検証部1611は、選択したi個のファイル識別子についてステップS1048〜1056の処理を繰返して、i個の入替第1ハッシュテーブルを生成する。
署名情報検証部1611は、選択したファイル識別子と対応するユニット数をユニット情報から抽出する(ステップS1048)。次に、1以上で、かつ、読み出したユニット数以下の乱数tを生成する(ステップS1049)。選択したファイル識別子と対応するファイル特定情報をユニット情報から抽出し、抽出したユニット情報を基に、選択したファイル識別子と対応する暗号化ファイルのt番目の暗号化ユニットをDVD1500から読み出す(ステップS1051)。図23においては、繰返しのたびに、暗号化ファイル1581に含まれる暗号化ユニット1511、暗号化ファイル1583に含まれる暗号化ユニット1512・・・暗号化ファイル1587に含まれる暗号化ユニット1513を、順次読み出す。
読み出した暗号化ユニットをハッシュ関数に代入して入替ユニットハッシュ値を算出する(ステップS1052)。
次に、署名情報検証部1611は、選択したファイル識別子と対応する第1ハッシュテーブルをDVD1500から読み出し(ステップS1054)、算出した入替ユニットハッシュ値と対応するユニットハッシュ値を、算出したユニットハッシュ値と入れ替えて、入替第1ハッシュテーブルを生成する(ステップS1056)。図23においては、署名情報検証部1611は、繰返しのたびに、暗号化ユニット1511と第1ハッシュテーブル1551から入替第1ハッシュテーブル1631を生成し、暗号化ユニット1512と第1ハッシュテーブル1553から入替第1ハッシュテーブル1633を生成し・・・暗号化ユニット1513と第1ハッシュテーブル1557から入替第1ハッシュテーブル1637を生成する。
i個のファイル識別子について、ステップS1047〜ステップS1057の繰返しが終了すると、署名情報検証部1611は、生成した入替第1ハッシュテーブルを、それぞれ、ハッシュ関数に代入してi個の入替ファイルハッシュ値を算出する(ステップS1059)。
次に、署名情報検証部1611は、DVD1500から第2ハッシュテーブル1556を読み出し(ステップS1061)、選択したi個のファイル識別子と対応するファイルハッシュ値を算出したi個の入替ファイルハッシュ値と入れ替えて、入替第2ハッシュテーブル1639を生成する(ステップS1063)。図23においては、生成された入替第2ハッシュテーブル1639は、入替第1ハッシュテーブル1631から算出した入替ファイルハッシュ値1641と、DVD1500から読み出したファイルハッシュ値1572と入替第1ハッシュテーブル1633から算出した入替ファイルハッシュ値1643と・・・・入替第1ハッシュテーブル1637から算出した入替ファイルハッシュ値1647を含んでいる。
次に、検証鍵記憶部1612から検証鍵1613を読み出し(ステップS1064)、ユニット選出情報と生成した入替第2ハッシュテーブルと読み出した検証鍵1613とを用いて、署名情報1570の検証を行う(ステップS1066)。
署名情報の検証が成功であれば(ステップS1067のYES)、署名情報検証部1611は、そのまま署名情報1570の検証を終了する。
署名検証が失敗であれば(ステップS1067のNO)、署名情報検証部1611は、実行部1606へ、再生禁止情報を出力する(ステップS1073)。
コンテンツ鍵取得部1602は、鍵ブロック1510を受け取り、デバイス鍵格納部1604から装置識別子1608とデバイス鍵1609とを読み出す(ステップS1071)。読み出した装置識別子1608とデバイス鍵1609と鍵ブロック1510からコンテンツ鍵「CK」を生成し、生成したコンテンツ鍵「CK」を実行部1606へ出力する(ステップS1072)。
実行部1606は、コンテンツ鍵「CK」を受け取る。ここで、署名情報検証部1611から、再生禁止情報を受け取っていれば(ステップS1074のYES)、DVD1500に記憶されているコンテンツを再生できないことを利用者に通知して(ステップS1076)、再生を終了する。
再生禁止情報を受け取っていなければ(ステップS1074のNO)、暗号化コンテンツ1580を構成する暗号化ファイルをDVD1500から読み出す(ステップS1077)。コンテンツ鍵「CK」を用いて読み出した暗号化ファイルを復号してファイルを生成し(ステップS1079)、生成したファイルを伸長して、画像データ及び音声データを生成し(ステップS1081)、生成した画像データ及び音声データから画像信号及び音声信号を生成してモニタ1400に出力し、画像及び音声を再生させる(ステップS1082)。全ての暗号化ファイルを読み出し終えた場合又は利用者の操作によって、再生終了を指示された場合(ステップS1084のYES)、再生を終了する。
読み出していない暗号化ファイルが存在し、かつ、利用者から再生終了の指示も受けていなければ、ステップS1074に戻り、ステップ1074〜1084の処理を繰り返す。
1.6 まとめ・効果
以上、説明してきたように、本実施の形態において、DVD1500は、複数暗号化ユニットを含む暗号化ファイルを、c個含む暗号化コンテンツと、複数の暗号化ユニットを基に生成されたc個の第1ハッシュテーブル及び第2ハッシュテーブルを含むヘッダ情報と、第2ハッシュテーブルを基に生成された署名情報とを記憶している。
実行装置1600は、暗号化コンテンツの読み出し、復号、再生を開始すると同時に、乱数を用いて、ランダムにi個の暗号化ユニットを選択し、選択したi個の暗号化ユニットを基に入替ユニットハッシュ値及び入替ファイルハッシュ値を算出する。
次に、DVD1500から第2ハッシュテーブルを読み出し、読み出した第2ハッシュテーブルに含まれるファイルハッシュ値のうち、算出した入替ファイルハッシュ値と対応するものを、算出した入替ファイルハッシュ値と入れ替えて、入替第2ハッシュテーブルを生成し、これを用いて署名情報の検証を行う。検証が失敗であれば、コンテンツの再生を中止する。
このように、署名情報の検証のために、新たに算出するユニットハッシュ値の数をi個に限定することで、署名情報の検証に係る演算量を減少させ、再生時の処理負荷を軽減することができる。
さらに、第1ハッシュテーブルと第2ハッシュテーブルという2層構造を用いて署名情報の検証をすることによって、実行装置1600は、DVD1500から読み出す情報の量を減少させることができる。具体的に上記の実施の形態では、選択されなかったファイル情報と対応する第1ハッシュテーブルは、読み出す必要がない。従って、情報の読み出しに要する時間を短縮することができる。
また、選択されたファイル情報と対応する第1ハッシュテーブルを読み出しているが、選択されたファイル情報と対応する第1ハッシュテーブルを構成する要素のうち、算出した入替ユニットハッシュ値と対応するユニットハッシュ値以外のものだけを読み出すようにしても良い。第2ハッシュテーブルを読み出す際も同様である。このようにすることで、DVD1500から読み出す情報量をさらに減少させることができる。
また、暗号化ユニットから生成した入替ハッシュ値を用いて、署名情報の検証を行うことで、不正なコンテンツの有無の検証と、正規の権利者の有する署名鍵によって署名情報が生成されたか否かの検証とを一度の検証で、完了することができる。
検証処理において、ランダムに、i個の暗号化ユニットだけを選択して用いるため、DVD1500の暗号化コンテンツの一部または全部が不正なコンテンツに差し替えられた場合、高い確率で、その存在を検知することができる。
ここで、具体的に、暗号化コンテンツの半分が不正なコンテンツに書き換えられた場合を想定して説明する。選択された1個の暗号化ユニットが、配布装置1100により生成された正規の暗号化ユニットである確率は1/2である。例えば、7個の暗号化ユニットを選択して、検証を行う場合、選択された7個の暗号化ユニット全てが正規の暗号化ユニットである確率は、(1/2)7=1/128 である。つまり、この場合、不正なコンテンツを検出できない確率は1%に満たない。これにより、正規の権利者よって配布されたコンテンツの一部を不正なコンテンツに差し替えて配布するような不正行為を防ぐ抑止力となる。
1.7 実施の形態1の変形例1
実施の形態1において、配布装置1100は、取得したコンテンツを構成する各ファイルをユニットに分割した後、ユニットごとに暗号化しているが、ファイル単位で暗号化して暗号化ファイルを生成し、生成した暗号化ファイルを分割して暗号化ユニットを生成しても良い。この場合、実行装置1600の実行部1606は、DVD1500から暗号化コンテンツを読み出し、読み出した暗号化コンテンツを、暗号化ファイル単位で復号し、再生する。
本変形例における配布装置1100bについて、図26を用いて説明する。
配布装置1100bは、入力部1101b、コンテンツ鍵生成部1102、鍵ブロック生成部1103、実行装置情報格納部1104、ユニット生成部1105b、暗号処理部1106b、ヘッダ情報生成部1107、署名情報生成部1111、署名鍵記憶部1112及び記録部1114から構成される。
コンテンツ鍵生成部1102、鍵ブロック生成部1103、実行装置情報格納部1104、ヘッダ情報生成部1107、署名情報生成部1111、署名鍵記憶部1112及び記録部1114については、実施の形態1と同様であるので説明を省略する。
また、入力部1101bは、ユニット生成部に変わって暗号処理部へコンテンツを出力すること以外は、実施の形態1の入力部1101と同様であるので説明を省略する。
(1)暗号処理部1106b
暗号処理部1106bは、コンテンツ鍵生成部1102からコンテンツ鍵「CK」を受け取る。
暗号処理部1106は、入力部1101bから、コンテンツを受け取る。ここでコンテンツは、図3に示すコンテンツ1120と同様に、ファイル「CNT1」、「CNT2」・・・「CNTc」から構成される。
コンテンツを受け取ると、コンテンツ鍵「CK」を用いて、受け取ったコンテンツに含まれるファイル「CNT1」に暗号化アルゴリズムE1を施して暗号化ファイル「ECNT1」を生成する。
ファイル「CNT2」〜ファイル「CNTc」についても同様にして、暗号化ファイル「ECNT2」〜「ECNTc」を生成する。
次に、生成した暗号化ファイル「ECNT1」、「ECNT2」、「ECNT3」・・・「ECNTc」からなる暗号化コンテンツをユニット生成部1105b及び記録部1114へ出力する。
(2)ユニット生成部1105b
ユニット生成部1105bは、暗号処理部1106bから暗号化コンテンツを受け取る。ユニット生成部1105bは、暗号化コンテンツを受け取ると、受け取った暗号化コンテンツに含まれる暗号化ファイル「ECNT1」対応するファイル識別子「FID1」、及びファイル特定情報「AD1」を生成する。
次に、暗号化ファイル「ECNT1」を、64キロバイト毎に分割してm個の暗号化ユニットを生成する。このとき、最後の暗号化ユニットが64キロバイトに満たない場合は、「000・・・000」といったデータにより補完する。
次に、生成した暗号化ユニットの数を示す「N1」を生成する。生成したファイル識別子「FID1」、ファイル特定情報「AD1」ユニット数「N1」からなるファイル情報を生成する。
次に、ユニット生成部1105bは、生成したm個の暗号化ユニット「EU1_1」、「EU1_2」、「EU1_3」・ご・・「EU1_m」それぞれに対応するユニット識別子「UID1_1」、「UID1_2」、「UID1_3」・・・「UID1_m」を生成する。続いて、対応する暗号化ユニットとユニット識別子とを暗号化ユニット情報とする。
次に、ユニット生成部1105bは、m個の暗号化ユニット情報により構成される暗号化分割ファイル「SplECNT1」とする。
暗号化コンテンツに含まれる暗号化ファイル「ECNT2」、「ECNT3」・・・「ECNTc」についても、同様の処理を繰返して、暗号化分割ファイル「SplECNT1」、「SplECNT2」、「SplECNT3」・・・「SplECNTc」と、ファイル情報を生成する。ここで生成したc個の暗号化分割ファイル「SplECNT2」、「SplECNT3」・・・「SplECNTc」を暗号化分割コンテンツとして、ヘッダ情報生成部1107bへ出力する。
また、c個のファイル情報から構成されるユニット選出情報を生成し、生成したユニット選出情報を、記録部1114と署名情報生成部1111bへ出力する。
2.実施の形態2
本発明に係る実施の形態2について、以下に、図面を用いて説明する。
2.1 不正コンテンツ検知システム
実施の形態2における不正コンテンツ検知システムは、実施の形態1の不正コンテンツ検知システム1と同様に、配布装置、実行装置及びモニタから構成される。
配布装置は、操作者の操作に従って、コンテンツを取得し、取得したコンテンツを暗号化して暗号化コンテンツを生成する。また、コンテンツの一部分を抽出し、抽出した一部分(代表部分コンテンツと呼ぶ)を基に、不正コンテンツの有無を検出するためのヘッダ情報、正当な権利者によって発行されたコンテンツであることを証明するための署名情報などを生成する。生成した暗号化コンテンツ、署名情報などをDVD書き込む。
DVDは、販売店などを通じて、利用者に販売又は配布される。
実行装置は、DVDを装着され、装着されたDVDに記憶されている暗号化コンテンツから、代表部分コンテンツを生成し、生成した代表部分コンテンツを基に署名情報及びヘッダ情報の検証を行う。検証が成功であれば、実行装置は、コンテンツの再生を開始する。検証が失敗すると、実行装置は、コンテンツの再生を禁止する。
以下に、本実施の形態の不正コンテンツ検知システムを構成する各装置及びDVDについて、詳細に説明する。
2.2 配布装置2100
図27は、本実施の形態の不正コンテンツ検知システムを構成する配布装置の構成を示している。配布装置2100は、図27に示すように、入力部2101、コンテンツ鍵生成部2102、鍵ブロック生成部2103、実行装置情報格納部1104、選択部2105、ヘッダ情報生成部2107、署名情報生成部2108、署名鍵記憶部1112、暗号処理部2109、記録部2114から構成される。
以下に配布装置2100を構成する各部について、詳細に説明する。なお、実行装置情報格納部1104及び署名鍵記憶部1112は実施の形態1と同様であるので説明を省略する。
(1)入力部2101
入力部2101は、操作者の操作に従って、外部機器又は外部の記録メディアからコンテンツ及び複数の特定情報を取得する。
図28は、入力部2101が取得するコンテンツ及び特定情報の構成の一例を示している。コンテンツ2120はc個の部分コンテンツ2121「CNT1」、2122「CNT2」、2123「CNT3」・・・2127「CNTc」から構成される。ここで、入力部2101が取得するコンテンツ2120は、実行装置2600(詳細は後述する)において、実行可能な形式であり、一例として、DVD−Video形式、MPEG2形式などである。
特定情報は、コンテンツ2120を構成する各部分コンテンツを一意に特定するものであり、対応する部分コンテンツの先頭からのオフセット、セクタ数、先頭を基準とした再生時刻などである。例えば、特定情報2131「AD1」は、部分コンテンツ2121「CNT1」と対応しており、部分コンテンツ2121「CNT1」の先頭は、コンテンツ2120の先頭から「AD1」の位置に存在する。
入力部2101は、取得したコンテンツ2120とc個の特定情報とをコンテンツ鍵生成部2102へ出力する。
(2)コンテンツ鍵生成部2102
コンテンツ鍵生成部2102は、入力部2101からコンテンツ2120と、c個の特定情報とを受け取る。コンテンツ2120と、c個の特定情報とを受け取ると、擬似乱数を生成し、生成した擬似乱数を用いて128ビット長のコンテンツ鍵「CK」を生成する。擬似乱数に代わって、信号のノイズなどを利用して真性乱数を生成しても良い。
次に、生成したコンテンツ鍵「CK」と受け取ったコンテンツ2120及びc個の特定情報を鍵ブロック生成部2103及び暗号処理部2106へ出力する。
(3)鍵ブロック生成部2103
鍵ブロック生成部2103は、コンテンツ鍵生成部2102からコンテンツ鍵「CK」とコンテンツ2120及びc個の特定情報を受け取る。コンテンツ鍵「CK」を受け取ると、実行装置情報格納部1104の記憶している装置識別テーブル1130と受け取ったコンテンツ鍵「CK」とを用いて鍵ブロックを生成する。鍵ブロックの生成手順は、実施の形態1の鍵ブロック生成と同様であるので、説明を省略する。また、ここで生成される鍵ブロックの構成は、図5に示す鍵ブロック1150と同様である。
次に、鍵ブロック生成部2103は、生成した鍵ブロックと、受け取ったコンテンツ鍵「CK」とコンテンツ2120とc個の特定情報とを選択部2105へ出力する。
(4)選択部2105
図29は、選択部2105の行う処理の概要を示している。以下に、選択部2105について、図29を用いて説明する。
選択部2105は、鍵ブロック生成部2103から鍵ブロックとコンテンツ鍵「CK」とコンテンツ2120とc個の特定情報とを受け取る。これらの情報を受け取ると、受け取ったc個の特定情報からk個を選択する。ここでは、k=3として説明する。
選択方法は、例えば、乱数を用いて選択しても良いし、日時、気温などから選択しても良いし、操作者による選択を受け付けても良い。また、コンテンツ2120がMPEG形式であれば、Iピクチャを示す特定情報を選択しても良い。さらに、選択部2105が、予め、選択するk個を特定する情報を記憶しているとしても良いし、操作者による指示を受けて選択するとしても良い。
図29に示すように、ここでは、選択部2105は、特定情報2133「AD3」と特定情報2134「AD7」と特定情報2137「ADc」とを選択する。
次に、受け取ったコンテンツ2120から選択した特定情報2133「AD3」と対応する部分コンテンツ「CNT3」を抽出し、選択した特定情報2133「AD3」と抽出した部分コンテンツ「CNT3」とから構成される代表情報2141を生成する。ここで、選択された部分コンテンツを代表部分コンテンツと呼ぶ。
特定情報2134「AD7」と特定情報2137「ADc」についても、同様の処理を繰返し、代表情報2142、2143を生成する。
次に、選択部2105は、生成した3個の代表情報2141、2412及び2143と、受け取った鍵ブロックとコンテンツ鍵「CK」とコンテンツ2120とをヘッダ情報生成部2107へ出力する。
(5)ヘッダ情報生成部2107
ヘッダ情報生成部2107は、選択部2105から、3個の代表情報2141、2412及び2143と鍵ブロックとコンテンツ鍵「CK」とコンテンツ2120とを受け取る。
これらを受け取ると、受け取った代表情報2141を一意に識別する特定情報識別子「ADID1」を生成する。特定情報識別子を生成する方法としては、自然数を順番に割り当てていく方法や、乱数を用いてランダムに割り当てる方法などがある。
次に、ヘッダ情報生成部2107は、受け取った代表情報2141から特定情報「AD3」を抽出し、生成した特定情報識別子「ADID1」と特定情報「AD3」から構成される代表検出情報を生成する。
続いて、受け取った代表情報2141から代表部分コンテンツ「CNT3」を抽出し、抽出した代表部分コンテンツ「CNT3」をハッシュ関数に代入して部分ハッシュ値「HA3」を生成する。生成した特定情報識別子「ADID1」と部分ハッシュ値「HA3」から構成される代表ハッシュ情報を生成する。
代表情報2142、2143についても、同様の処理を繰返し、代表検出情報及び代表ハッシュ情報を生成する。ヘッダ情報生成部2107は、生成した3個の代表検出情報から構成される選択位置情報を生成する。
図30は、ここで生成される選択位置情報の構成を示す。選択位置情報2160は、代表検出情報2161、2162及び2163から構成され、それぞれ代表情報2141、2142及び2143と対応している。各代表検出情報は、特定情報識別子と特定情報から構成される。一例として、代表検出情報2161は、2141と対応しており、特定情報識別子2171「ADID1」と特定情報2176「AD3」を含む。
また、生成した3個の代表ハッシュ情報から構成されるヘッダ情報を生成する。
図31は、ここで生成されるヘッダ情報の構成を示している。図31に示すようにヘッダ情報2200は、代表ハッシュ情報2201、2202及び2203から構成され、各代表ハッシュ情報は、それぞれ、代表検出情報2161、2162及び2163と対応する。
各代表ハッシュ情報は、特定情報識別子と部分ハッシュ値とを含む。例えば、代表ハッシュ情報2201は、代表情報2141に基づいて生成され、特定情報識別子2211「ADID1」と部分ハッシュ値2216「HA3」とを含む。
次に、ヘッダ情報生成部2107は、生成した選択位置情報2160と、ヘッダ情報2200と、受け取った鍵ブロックとコンテンツ鍵「CK」とコンテンツ2120とを署名情報生成部2108へ出力する。
(6)署名情報生成部2108
署名情報生成部2108は、ヘッダ情報生成部2107から選択位置情報2160と、ヘッダ情報2200と、鍵ブロックとコンテンツ鍵「CK」とコンテンツ2120とを受け取る。これらの情報を受け取ると、署名情報生成部2108は、受け取ったヘッダ情報2200に含まれる部分ハッシュ値「HA3」、「HA5」及び「HAc」を抽出する。
次に、署名情報生成部2108は、署名鍵記憶部1112から署名鍵1113を読み出す。抽出した部分ハッシュ値「HA3」、「HA5」及び「HAc」を結合した結合物に、読み出した署名鍵1113を用いて、署名生成アルゴリズムSを施して署名情報を生成する。
次に、署名情報生成部2108は、生成した署名情報と、受け取った選択位置情報2160とヘッダ情報2200と鍵ブロックとコンテンツ鍵「CK」とコンテンツと2120とを暗号処理部2109へ出力する。
(7)暗号処理部2109
暗号処理部2109は、署名情報生成部2108から、署名情報と、選択位置情報2160と、ヘッダ情報2200と、鍵ブロックとコンテンツ鍵「CK」とコンテンツ2120とを受け取る。
これらの情報を受け取ると、暗号処理部2109は、受け取ったコンテンツ鍵「CK」を用いて、受け取ったコンテンツ2120を構成する部分コンテンツ「CNT1」、「CNT2」、「CNT3」・・・「CNTc」それぞれに、暗号化アルゴリズムE1を施して、暗号化部分コンテンツ「ECNT1」、「ECNT2」、「ECNT3」・・・「ECNTc」を生成する。生成した暗号化部分コンテンツ「ECNT1」、「ECNT2」、「ECNT3」・・・「ECNTc」を暗号化コンテンツとする。ここで、bをc以下の自然数として、ECNTb=Enc(CK,CNTb)と表現している。図32は、ここで生成される暗号化コンテンツ2220の構成を示している。
続いて、暗号処理部2109は、受け取ったコンテンツ鍵「CK」を用いて、受け取った選択位置情報2160に暗号化アルゴリズムE1を施して暗号化選択位置情報を生成する。
次に、暗号処理部2109は、生成した暗号化コンテンツ2220と暗号化選択位置情報と、受け取った署名情報とヘッダ情報2200と鍵ブロックとを記録部2114に出力する。
(8)記録部2114
記録部2114は、DVDを装着可能である。
記録部2114は、暗号処理部2109から暗号化コンテンツ2220と暗号化選択位置情報と、署名情報と、ヘッダ情報2200と、鍵ブロックとを受け取り、受け取った暗号化コンテンツ2220と暗号化選択位置情報と署名情報とヘッダ情報2200と鍵ブロックとをDVDへ書き込む。
2.3 DVD2500
DVD2500は、図33に示すように、鍵ブロック2510、暗号化選択位置情報2530、ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580を記憶している。
鍵ブロック2510、暗号化選択位置情報2530、ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580は、配布装置2100によって書き込まれたものであり、その構成は、既に述べたとおりである。
2.4 実行装置2600
実行装置2600は、図34に示すように取得部2601、コンテンツ鍵取得部2602、デバイス鍵格納部1604、位置情報復号部2606、署名情報検証部2611、検証鍵記憶部1612、代表部分復号部2616、ヘッダ情報検証部2617及び実行部2618から構成される。
以下に、実行装置2600を構成する各部について、詳細に説明する。なお、デバイス鍵格納部1604、検証鍵記憶部1612は、実施の形態1の実行装置1600を構成するデバイス鍵格納部1604、検証鍵記憶部1612と同様であるので、説明を省略する。
(1)取得部2601
取得部2601は、DVD2500を装着される。DVD2500の装着を検出すると、取得部2601は、DVD2500から鍵ブロック2510、暗号化選択位置情報2530、ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580を読み出す。読み出した鍵ブロック2510、暗号化選択位置情報2530ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580をコンテンツ鍵取得部2602へ出力する。
(2)コンテンツ鍵取得部2602
コンテンツ鍵取得部2602は、取得部2601から鍵ブロック2510、暗号化選択位置情報2530、ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580を受け取る。
これらの情報を受け取ると、コンテンツ鍵取得部2602は、デバイス鍵格納部1604の記憶している装置識別子「AID_p」及びデバイス鍵「DK_p」と、受け取った鍵ブロックを用いてコンテンツ鍵「CK」を生成する。コンテンツ鍵「CK」の生成手順は、実施の形態1の実行装置1600を構成するコンテンツ鍵取得部1602によるコンテンツ鍵「CK」の生成手順と同様であるので、ここでは説明を省略する。
次に、コンテンツ鍵取得部2602は、生成したコンテンツ鍵「CK」と受け取った暗号化選択位置情報2530、ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580を位置情報復号部2606へ出力する。
(3)位置情報復号部2606
位置情報復号部2606は、コンテンツ鍵取得部2602から、コンテンツ鍵「CK」と暗号化選択位置情報2530、ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580を受け取る。
これらの情報を受け取ると位置情報復号部2606は、受け取ったコンテンツ鍵「CK」を用いて、受け取った暗号化選択位置情報2530に復号アルゴリズムD1を施して選択位置情報を生成する。ここで、生成される選択位置情報の構成は、図30に示す選択位置情報2160と同一である。
次に、位置情報復号部2606は、生成した選択位置情報と、受け取ったコンテンツ鍵「CK」とヘッダ情報2550と署名情報2570と暗号化コンテンツ2580とを署名情報検証部2611へ出力する。
(4)署名情報検証部2611
署名情報検証部2611は、位置情報復号部2606から選択位置情報とコンテンツ鍵「CK」とヘッダ情報2550と署名情報2570と暗号化コンテンツ2580とを受け取る。
これらの情報を受け取ると、署名情報検証部2611は、検証鍵記憶部1612から検証鍵を読み出す。次に、受け取ったヘッダ情報2550を構成する3個の代表ハッシュ情報それぞれから、部分ハッシュ値「HA3」、「HA7」及び「HAc」を抽出し、読み出した検証鍵を用いて、抽出した部分ハッシュ値「HA3」、「HA7」及び「HAc」の結合物に署名検証アルゴリズムVを施して署名検証情報を生成する。生成した署名検証情報と受け取った署名情報とを比較し、両者が一致しない場合、署名検証が失敗であると判定し、以降の処理を中止する。
両者が一致する場合、署名情報検証部2611は、署名検証が成功であると判定し、受け取った選択位置情報とコンテンツ鍵「CK」とヘッダ情報2550と暗号化コンテンツ2580とを代表部分復号部2616へ出力する。
(5)代表部分復号部2616
代表部分復号部2616は、署名情報検証部2611から、選択位置情報とコンテンツ鍵「CK」とヘッダ情報2550と暗号化コンテンツ2580とを受け取る。
これらの情報を受け取ると、代表部分復号部2616は、受け取った選択位置情報を構成する1番目の代表検出情報に含まれる特定情報識別子「ADID1」とこれに対応する特定情報「AD3」を抽出し、抽出した特定情報「AD3」を基に、受け取った暗号化コンテンツ2580から暗号化部分コンテンツ「ECNT3」を抽出する。次に、受け取ったコンテンツ鍵「CK」を用いて、抽出した暗号化部分コンテンツ「ECNT3」に復号アルゴリズムD1を施して代表部分コンテンツ「CNT3」を生成する。ここで、生成した代表部分コンテンツ「CNT3」と抽出した特定情報識別子「ADID1」との組を、検証用代表情報と呼ぶ。
次に、代表部分復号部2616は、他の代表検出情報についても、同様の処理を繰返し、特定情報識別子「ADID2」と代表部分コンテンツ「CNT7」から構成される検証用代表情報と、特定情報識別子「ADID3」と代表部分コンテンツ「CNTc」から構成される検証用代表情報とを生成する。
次に、代表部分復号部2616は、生成した3個の検証用代表情報と、受け取ったコンテンツ鍵「CK」とヘッダ情報2550と暗号化コンテンツ2580とをヘッダ情報検証部2617へ出力する。
(6)ヘッダ情報検証部2617
ヘッダ情報検証部2617は、代表部分復号部2616から3個の検証用代表情報とコンテンツ鍵「CK」とヘッダ情報2550と暗号化コンテンツ2580とを受け取る。
これらの情報を受け取ると、ヘッダ情報検証部2617は、受け取った3個の検証用代表情報に含まれる代表部分コンテンツ「CNT3」、「CNT7」、「CNTc」を、それぞれハッシュ関数に代入して、検証用ハッシュ値「H3」、「H7」、「Hc」を生成する。ここで用いるハッシュ関数は、配布装置2100のヘッダ情報生成部2107において用いられるハッシュ関数と同一である。
次に、ヘッダ情報検証部2617は、検証用代表情報に含まれる特定情報識別子「ADID1」と一致する特定情報識別子を、ヘッダ情報2550において検索し、検出した特定情報識別子と対応する、部分ハッシュ値「HA3」を抽出する。抽出した部分ハッシュ値「HA3」と生成した検証用ハッシュ値「H3」とを比較する。
また、検証用代表情報に含まれる特定情報識別子「ADID2」を基に、ヘッダ情報2550から部分ハッシュ値「HA7」を抽出し、抽出した部分ハッシュ値「HA7」と生成した検証用ハッシュ値「H7」とを比較する。
また、検証用代表情報に含まれる特定情報識別子「ADIDc」を基に、ヘッダ情報2550から部分ハッシュ値「HAc」を抽出し、抽出した部分ハッシュ「HAc」と生成した検証用ハッシュ値「Hc」とを比較する。
上記の3組の比較において、いずれか一組でも一致しない組があれば、ヘッダ情報検証部2617は、以後の処理を中止する。
上記の3組の比較において、3組ともが一致すれば、ヘッダ情報2550の検証が成功であると判定し、受け取ったコンテンツ鍵「CK」と暗号化コンテンツ2580とを実行部2618へ出力する。
(7)実行部2618
実行部2618は、ヘッダ情報検証部2617から、コンテンツ鍵「CK」と暗号化コンテンツ2580とを受け取る。
これらの情報を受け取ると、実行部2618は、受け取ったコンテンツ鍵「CK」を用いて、受け取った暗号化コンテンツ2580を構成する暗号化部分コンテンツ「ECNT1」、「ECNT2」、「ECNT3」・・・「ECNTc」それぞれに、復号アルゴリズムD1を施して部分コンテンツ「CNT1」、「CNT2」、「CNT3」・・・「CNTc」から構成されるコンテンツを生成する。
次に、実行部2618は、生成したコンテンツを伸長して、画像データ、音声データを生成し、生成した画像データ及び音声データから、画像信号と音声信号を生成する。生成した画像信号及び音声信号をモニタへ出力する。
2.5 配布装置2100及び実行装置2600の動作
以下に、配布装置2100及び実行装置2600の動作について、説明する。
(1)配布装置2100の動作
配布装置2100の動作について、図35のフローチャートを用いて説明する。
入力部2101は、c個の部分コンテンツからなるコンテンツ2120と、c個のc個の特定情報とを受け取り(ステップS2011)、受け取ったコンテンツ2120と特定情報とをコンテンツ鍵生成部2102へ出力する。
コンテンツ鍵生成部2102は、コンテンツ2120とc個の特定情報とを受け取り、コンテンツ鍵を生成する(ステップS2012)。
鍵ブロック生成部2103は、コンテンツ鍵生成部2102から、コンテンツ鍵、コンテンツ2120及びc個の特定情報を受け取り、実行装置情報格納部1104から装置識別子とデバイス鍵とを読み出す(ステップS2013)。読み出した装置識別子とデバイス鍵とコンテンツ鍵とを用いて、鍵ブロックを生成する(ステップS2014)。生成した鍵ブロックと、受け取ったコンテンツ鍵、コンテンツ2120及びc個の特定情報を選択部2105へ出力する。
選択部2105は、鍵ブロックとコンテンツ鍵とコンテンツ2120と特定情報とを受け取り、受け取ったコンテンツ2120から、k個の代表部分コンテンツを選択し、k個の代表情報を生成する(ステップS2016)。生成したk個の代表情報と、受け取ったコンテンツ鍵とコンテンツ2120とをヘッダ情報生成部2107へ出力する。
ヘッダ情報生成部2107は、選択部からk個の代表情報とコンテンツ鍵とコンテンツ2120とを受け取り、受け取ったk個の代表情報から、選択位置情報2160とヘッダ情報2200とを生成する(ステップS2018)。次に、生成した選択位置情報2160とヘッダ情報2200と、受け取った鍵ブロックとコンテンツ鍵とコンテンツ2120とを署名情報生成部2108へ出力する。
続いて、署名情報生成部2108は、ヘッダ情報生成部2107から選択位置情報2160とヘッダ情報2200と鍵ブロックとコンテンツ鍵とコンテンツ2120とを受け取る。これらの情報を受け取ると、署名鍵記憶部1112から署名鍵1113を読み出し(ステップS2019)、読み出した署名鍵1113とヘッダ情報2200とから署名情報を生成する(ステップS2021)。次に、生成した署名情報、受け取った鍵ブロックと選択位置情報2160とヘッダ情報2200とコンテンツ鍵とコンテンツ2120とを暗号処理部2109へ出力する。
暗号処理部2109は、署名情報生成部2108から署名情報と鍵ブロックと選択位置情報2160とヘッダ情報2200とコンテンツ鍵とコンテンツ2120とを受け取り、受け取ったコンテンツ鍵を用いて選択位置情報2160を暗号化して暗号化選択位置情報を生成する(ステップS2022)。続いて、コンテンツ鍵を用いて、コンテンツ2120を暗号化して暗号化コンテンツを生成する(ステップS2023)。次に、生成した暗号化選択位置情報と暗号化コンテンツと、受け取った鍵ブロックと署名情報とヘッダ情報2200とを記録部2114へ出力する。
記録部2114は、暗号処理部2109から鍵ブロックと暗号化選択位置情報とヘッダ情報2200と署名情報と暗号化コンテンツとをDVD2500へ書き込む(ステップS2024)。
(2)実行装置2600の動作
実行装置2600の動作について、図36に示すフローチャートを用いて説明する。
取得部2601は、DVD2500が装着されると、DVD2500から、鍵ブロック2510、暗号化選択位置情報2530、ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580を読み出す(ステップS2041)。読み出した鍵ブロック2510、暗号化選択位置情報2530、ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580をコンテンツ鍵取得部2602へ出力する。
コンテンツ鍵取得部2602は、取得部2601から、鍵ブロック2510、暗号化選択位置情報2530、ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580を受け取ると、デバイス鍵格納部1604から装置識別子とデバイス鍵とを読み出す(ステップS2042)。読み出した装置識別子とデバイス鍵と受け取った鍵ブロック2510とからコンテンツ鍵を生成する(ステップS2043)。コンテンツ鍵取得部2602は、生成したコンテンツ鍵と受け取った暗号化選択位置情報2530、ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580を位置情報復号部2606へ出力する。
位置情報復号部2606は、コンテンツ鍵取得部2602からコンテンツ鍵、暗号化選択位置情報2530、ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580を受け取り、受け取ったコンテンツ鍵を用いて暗号化選択位置情報2530を復号して、選択位置情報を生成する(ステップS2044)。次に、生成した選択位置情報と、受け取ったコンテンツ鍵、ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580を署名情報検証部2611へ出力する。
署名情報検証部2611は、位置情報復号部2606から選択位置情報、コンテンツ鍵、ヘッダ情報2550、署名情報2570及び暗号化コンテンツ2580を受け取り、検証鍵記憶部1612から検証鍵を読み出す(ステップS2046)。読み出した検証鍵と受け取ったヘッダ情報2550とを用いて、署名情報2570を検証する(ステップS2048)。署名情報2570の検証が失敗であれば(ステップS2049のNO)、実行装置2600における以後の処理を中止する。
署名情報2570の検証が成功であれば(ステップS2049のYES)、署名情報検証部2611は、受け取った選択位置情報、コンテンツ鍵、ヘッダ情報2550及び暗号化コンテンツ2580を代表部分復号部2616へ出力する。
代表部分復号部2616は、署名情報検証部2611から選択位置情報、コンテンツ鍵、ヘッダ情報2550及び暗号化コンテンツ2580を受け取り、受け取った選択位置情報と暗号化コンテンツ2580とコンテンツ鍵を基に、k個の代表部分コンテンツを生成する(ステップS2051)。次に、対応する代表部分コンテンツと特定情報識別子からなる検証用代表情報をk個生成し(ステップS2052)、生成したk個の検証用代表情報と、受け取ったコンテンツ鍵、ヘッダ情報2550及び暗号化コンテンツ2580をヘッダ情報検証部2617へ出力する。
ヘッダ情報検証部2617は、代表部分復号部2616からk個の検証用代表情報とコンテンツ鍵とヘッダ情報2550と暗号化コンテンツ2580とを受け取り、受け取ったk個の検証用代表情報を用いて、ヘッダ情報2550を検証する(ステップS2054)。検証が失敗であれば(ステップS2056のNO)、以後の処理を中止する。
検証が成功であれば(ステップS2056のYES)、ヘッダ情報検証部2617は、受け取ったコンテンツ鍵と暗号化コンテンツ2580とを実行部2618へ出力する。
実行部2618は、ヘッダ情報検証部2617からコンテンツ鍵と暗号化コンテンツ2580とを受け取ると、受け取ったコンテンツ鍵を用いて暗号化コンテンツ2580を復号してコンテンツを生成し(ステップS2057)、生成したコンテンツを伸長し(ステップS2058)、モニタへ再生する(ステップS2059)。
2.6 まとめ・効果
以上説明してきたように、実施の形態2において、配布装置2100は、コンテンツを構成するc個の部分コンテンツのうちk個の代表部分コンテンツのみを用いてヘッダ情報を生成し、これに署名生成アルゴリズムを施して署名情報を生成する。
実行装置2600は、選択位置情報を基にk個の代表部分コンテンツを生成し、生成したk個の代表部分コンテンツを用いてヘッダ情報の検証を行うことで不正なコンテンツの有無の検証を行う。検証が成功である場合に、不正なコンテンツが存在しないものとしてコンテンツの再生を開始する。
このように、コンテンツを構成するc個の部分コンテンツのうちk個のみを使用して、ヘッダ情報の検証を行うことで、検証に係る実行装置2600の処理負荷を軽減することができる。
さらに、配布装置2100においても、ヘッダ情報の生成に係る処理負荷を軽減することができる。
3.実施の形態3
本発明の実施の形態3に係る不正コンテンツ検知システムについて、以下に説明する。
3.1 不正コンテンツ検知システム
実施の形態3の不正コンテンツ検知システムは、実施の形態1における不正コンテンツ検知システムと同様に、配布装置、実行装置及びモニタから構成される。
配布装置は、操作者の操作に従って、コンテンツを取得し、取得したコンテンツを暗号化して暗号化コンテンツを生成する。
また、コンテンツの一部分を抽出し、抽出した一部分(代表部分コンテンツと呼ぶ)を基に、不正コンテンツの有無を検証するためのヘッダ情報、正当な権利者によって発行されたコンテンツであることを証明するための署名情報を生成する。配布装置は、代表部分コンテンツの抽出、ヘッダ情報の生成、署名情報の生成を繰返し、ヘッダ情報及び署名情報を複数生成し、生成した暗号化コンテンツ、複数のヘッダ情報、複数の署名情報をDVD書き込む。
DVDは、販売店などを通じて、利用者に販売又は配布される。
実行装置は、DVDに記録されている複数の署名情報と複数のヘッダ情報のうち、いずれかを選択し、選択した署名情報とヘッダ情報の検証を行う。
以下に、本実施の形態の不正コンテンツ検知システムを構成する各装置及びDVDについて、詳細に説明する。
3.2 配布装置3100
図37は、本実施の形態における、配布装置の構成を示している。配布装置3100は、図37に示すように、入力部2101、コンテンツ鍵生成部2102、鍵ブロック生成部2103、実行装置情報格納部1104、選択部3105、ヘッダ情報生成部3107、署名情報生成部3108、署名鍵記憶部1112、暗号処理部3109、記録部3114から構成される。入力部2101、コンテンツ鍵生成部2102、鍵ブロック生成部2103、実行装置情報格納部1104及び署名鍵記憶部1112は、実施の形態2の入力部2101、コンテンツ鍵生成部2102、鍵ブロック生成部2103、実行装置情報格納部1104及び署名鍵記憶部1112と同様であるので、説明を省略する。
(1)選択部3105
選択部3105は、予め、繰返し回数「x」を記憶している(xは2以上の整数)。
選択部3105は、鍵ブロック生成部2103から鍵ブロックとコンテンツ鍵「CK」とコンテンツ及びc個の特定情報とを受け取る。鍵ブロックとコンテンツ鍵「CK」とコンテンツ及びc個の特定情報とを受け取ると、実施の形態2の選択部2105と同様にして、k個の代表情報を生成する。
同様の処理をx回繰返し、k個の代表情報の組をx組生成する。ここで、1組目の代表情報の組を、第1代表グループ、2組目の代表情報の組を第2代表グループ・・・・x組目の代表情報の組を第x代表グループと呼ぶ。ここでは、第1代表グループ〜第x代表グループのいずれもk個の代表情報から構成されているとしたが、代表グループ毎に、代表情報の個数が異なるようにしてもよい。
次に、選択部3105は、生成した第1代表グループ、第2代表グループ・・・第x代表グループと、受け取った鍵ブロックとコンテンツ鍵「CK」とコンテンツとをヘッダ情報生成部3107へ出力する。
(2)ヘッダ情報生成部3107
ヘッダ情報生成部3107は、選択部3105から第1代表グループ、第2代表グループ・・・第x代表グループ、鍵ブロック、コンテンツ鍵「CK」及びコンテンツを受け取る。
これらの情報を受け取ると、ヘッダ情報生成部3107は、受け取った第1代表グループに含まれるk個の代表情報と、コンテンツとを基に選択位置情報「POS1」とヘッダ情報「HEAD1」とを生成する。具体的な生成の手順は、実施の形態2のヘッダ情報生成部2107による選択位置情報2160の生成手順及びヘッダ情報2200の生成手順と同様であるのでここでは、説明を省略する。選択位置情報「POS1」の構成は、図30に示す選択位置情報2160と同様であり、ヘッダ情報「HEAD1」の構成は、図31に示すヘッダ情報2200と同様である。
次に、生成した選択位置情報「POS1」とヘッダ情報「HEAD1」の組に固有のヘッダ識別子「HEADID1」を生成する。ここで、生成したヘッダ識別子「HEADID1」、選択位置情報「POS1」及びヘッダ情報「HEAD1」の組を第1ヘッダグループと呼ぶ。
ヘッダ情報生成部3107は、第2代表グループ〜第x代表グループについても同様の処理を繰り返して、第2ヘッダグループ、第3ヘッダグループ・・・第xヘッダグループを生成する。
次に、ヘッダ情報生成部3107は、第1ヘッダグループ〜第xヘッダグループから、ヘッダ識別子を抽出し、抽出したx個のヘッダ識別子からなるヘッダ選択情報を生成する。
図38は、ここで生成されるヘッダ選択情報の構成の一例を示している。ヘッダ選択情報3130は、x個のヘッダ識別子から構成され、各ヘッダ識別子は、それぞれ、第1ヘッダグループ〜第xヘッダグループと対応している。
次に、ヘッダ情報生成部3107は、生成したヘッダ選択情報3130と第1ヘッダグループ、第2ヘッダグループ・・・第xヘッダグループと受け取った鍵ブロックとコンテンツ鍵「CK」とコンテンツとを署名情報生成部3108へ出力する。
(3)署名情報生成部3108
署名情報生成部3108は、ヘッダ情報生成部3107から、ヘッダ選択情報3130、第1ヘッダグループ、第2ヘッダグループ・・・第xヘッダグループと、鍵ブロックとコンテンツ鍵「CK」とコンテンツとを受け取る。
これらの情報を受け取ると、署名情報生成部3108は、署名鍵記憶部1112から署名鍵1113を読み出す。
次に、第1ヘッダグループに含まれるヘッダ情報「HEAD1」と、読み出した署名鍵1113とを用いて、署名情報「Sign1」を生成する。具体的な生成の手順は、実施の形態2の署名情報生成部2108による署名情報の生成手順と同様である。
ここで、ヘッダ識別子「HEADID1」、選択位置情報「POS1」及びヘッダ情報「HEAD1」に、生成した署名情報「Sign1」を加えたものを、改めて第1ヘッダグループと呼ぶ。
第2ヘッダグループ〜第xヘッダグループについても同様の処理を繰返して、署名情報を生成し、生成した署名情報を加えたものを、第2ヘッダグループ〜第xヘッダグループとする。
次に、署名情報生成部3108は、第1ヘッダグループ、第2ヘッダグループ・・・第xヘッダグループと、受け取ったヘッダ選択情報3130と鍵ブロックとコンテンツ鍵「CK」とコンテンツとを暗号処理部3109へ出力する。
(4)暗号処理部3109
暗号処理部3109は、署名情報生成部3108から第1ヘッダグループ、第2ヘッダグループ・・・第xヘッダグループとヘッダ選択情報3130と鍵ブロックとコンテンツ鍵「CK」とコンテンツとを受け取る。
受け取ったコンテンツ鍵「CK」を用いて、受け取ったコンテンツを構成する各部分コンテンツに暗号化アルゴリズムE1を施して暗号化部分コンテンツを生成し、生成したc個の暗号化部分コンテンツを暗号化コンテンツとする。ここで生成される暗号化コンテンツの構成は、図32暗号化コンテンツ2220と同様である。
次に、暗号処理部3109は、第1ヘッダグループから、選択位置情報「POS1」を抽出し、コンテンツ鍵「CK」を用いて抽出した選択位置情報「POS1」に暗号化アルゴリズムE1を施して、暗号化選択位置情報「EPOS1」を生成する。次に、第1ヘッダグループに含まれる選択位置情報「POS1」を生成した暗号化選択位置情報「EPOS1」に置き換える。ここで、EPOS1=Enc(CK,POS1)である。
第2ヘッダグループ〜第xヘッダグループについても同様にして、暗号化選択位置情報を生成し、選択位置情報を、生成した暗号化選択位置情報に置き換える。
次に、暗号処理部3109は、第1ヘッダグループ、第2ヘッダグループ・・・第xヘッダグループと、生成した暗号化コンテンツと、受け取ったヘッダ選択情報3130と鍵ブロックとを記録部3114へ出力する。
(5)記録部3114
記録部3114は、暗号処理部3109から第1ヘッダグループ、第2ヘッダグループ・・・第xヘッダグループと暗号化コンテンツとヘッダ選択情報3130と鍵ブロックとを受け取り、受け取った第1ヘッダグループ、第2ヘッダグループ・・・第xヘッダグループと暗号化コンテンツとヘッダ選択情報3130と鍵ブロックをDVDへ書き込む。
3.3 DVD3500
図39は、本実施の形態に係るDVDの記憶している情報を示している。
図39に示すように、DVD3500は、鍵ブロック3510、ヘッダ選択情報3520、第1ヘッダグループ3530、第2ヘッダグループ3540・・・第xヘッダグループ3560及び暗号化コンテンツ3580を記憶している。
第1ヘッダグループ3530、第2ヘッダグループ3540・・・第xヘッダグループ3560は、それぞれ、ヘッダ識別子、暗号化選択位置情報、ヘッダ情報及び署名情報から構成される。
例えば、第1ヘッダグループ3530は、ヘッダ識別子3531「HEAD1」、暗号化選択位置情報3532「EPOS1」、ヘッダ情報「HEAD1」及び署名情報3534「Sign1」から構成される。
これらの情報は、配布装置3100によって書き込まれたものであり、個々の情報の構成については、既に述べたとおりであるので、ここでは説明を省略する。
3.4 実行装置3600
実行装置3600は、図40に示すように取得部3601、コンテンツ鍵取得部2602、デバイス鍵格納部1604、位置情報復号部2606、署名情報検証部2611、検証鍵記憶部1612、代表部分復号部2616、ヘッダ情報検証部2617及び実行部2618から構成される。
取得部3601以外の各部の構成及び動作は、実施の形態2の実行装置2600を構成するコンテンツ鍵取得部2602、デバイス鍵格納部1604、位置情報復号部2606、署名情報検証部2611、検証鍵記憶部1612、代表部分復号部2616、ヘッダ情報検証部2617及び実行部2618と同一であるので、ここでは取得部3601についてのみ説明する。
(1)取得部3601
取得部3601は、DVD3500の装着を検出すると、DVD3500からヘッダ選択情報3520を読み出す。ヘッダ情報3520を読み出すと、乱数を用いて、読み出したヘッダ情報3520に含まれるヘッダ識別子「HEADID1」、「HEADID2」、「HEADID3」・・・「HEADIDx」から、いずれか一つを選択する。選択の方法は、この方法に限るものではなく、第三者による予測が困難な方法であれば、どのような方法でも良い。
次に、取得部3601は、DVD3500に記憶されている第1ヘッダグループ、第2ヘッダグループ・・・・第xヘッダグループのうち、選択したヘッダ識別子を含むものから暗号化選択位置情報、ヘッダ情報及び署名情報を読み出す。
続いて、取得部3601は、DVD3500から鍵ブロック3510暗号化コンテンツ3580を読み出す。読み出した鍵ブロック、暗号化コンテンツ、暗号化選択位置情報、ヘッダ情報及び署名情報をコンテンツ鍵取得部2602へ出力する。
3.5 まとめ・効果
以上、説明してきたように、本実施の形態における配布装置3100は、暗号化選択位置情報、ヘッダ情報、署名情報の組をm組生成し、実行装置は、いずれか一組を選択し、選択した暗号化選択位置情報とヘッダ情報、署名情報を用いて不正コンテンツの有無の検証を行う。
このように、検証に用いる代表部分コンテンツの数を増加させることで、より不正コンテンツを検出の精度を高めることができる。また、実行装置3600において、第1ヘッダグループ〜第xヘッダグループのうち、いずれが選択されるかを、予測するのは困難であるため、検証に用いない部分コンテンツのみを不正コンテンツに差し替えるというような不正行為を抑制することができる。
4.実施の形態4
本発明の実施の形態4に係る不正コンテンツ検知システムについて、以下に説明する。
4.1 不正コンテンツ検知システム
本実施の形態に係る不正コンテンツ検知システムは、実施の形態1と同様に、配布装置、実行装置及びモニタから構成される。
配布装置は、操作者の操作に従って、コンテンツを取得し、取得したコンテンツを暗号化して暗号化コンテンツを生成する。
また、コンテンツを複数の部分コンテンツに分割し、全ての部分コンテンツを基に、不正コンテンツの有無を検証するためのヘッダ情報、正当な権利者によって発行されたコンテンツであることを証明するための署名情報を生成する。生成した暗号化コンテンツ、署名情報などをDVD書き込む。
DVDは、販売店などを通じて、実行装置の利用者に販売又は配布される。
実行装置は、DVDを装着され、コンテンツを構成する複数の部分コンテンツから、いくつかを選択し、選択した部分コンテンツのみを用いて、ヘッダ情報を検証する。
以下に、本実施の形態の不正コンテンツ検知システムを構成する各装置及びDVDについて、詳細に説明する。
4.2 配布装置4100
図41は、本実施の形態における、配布装置の構成を示している。配布装置4100は、図41に示すように、入力部4101、コンテンツ鍵生成部4102、鍵ブロック生成部4103、実行装置情報格納部1104、部分コンテンツ生成部4105、ヘッダ情報生成部4107、署名情報生成部4108、署名鍵記憶部1112、暗号処理部4109、記録部4114から構成される。
以下に配布装置4100を構成する各部について説明する。なお、実行装置情報格納部1104及び署名鍵記憶部1112は、実施の形態1と同様であるので説明を省略する。
(1)入力部4101
入力部4101は、配布装置4100の操作者による操作に従って、外部機器又は外部の記録メディアからコンテンツを取得する。ここで取得するコンテンツは、実行装置4600(詳細は後述する)により再生可能な形式であり、一例としてDVD−Video形式、MPEG2方式などである。
入力部4101は、取得したコンテンツをコンテンツ鍵生成部4102へ出力する。
(2)コンテンツ鍵生成部4102
コンテンツ鍵生成部4102は、入力部4101からコンテンツを受け取る。コンテンツを受け取ると、擬似乱数を生成し、生成した擬似乱数を用いて128ビット長のコンテンツ鍵「CK」を生成する。擬似乱数に代わって、信号のノイズなどを利用して真性乱数を生成しても良い。
次に、生成したコンテンツ鍵「CK」と受け取ったコンテンツとを鍵ブロック生成部4103へ出力する。
(3)鍵ブロック生成部4103
鍵ブロック生成部4103は、コンテンツ鍵生成部4102からコンテンツ鍵「CK」とコンテンツとを受け取る。コンテンツ鍵「CK」とコンテンツとを受け取ると、受け取ったコンテンツ鍵「CK」と実行装置情報格納部1104の記憶している装置識別テーブルとを用いて鍵ブロックを生成する。具体的な生成手順は、実施の形態1の鍵ブロック生成部1103による鍵ブロックの生成手順と同一であるのでここでは、説明を省略する。
次に、鍵ブロック生成部4103は、生成した鍵ブロックと受け取ったコンテンツ鍵「CK」とコンテンツとを部分コンテンツ生成部4105へ出力する。
(4)部分コンテンツ生成部4105
部分コンテンツ生成部4105は、鍵ブロック生成部4103から、鍵ブロック、コンテンツ鍵「CK」及びコンテンツを受け取る。
これらの情報を受け取ると、部分コンテンツ生成部4105は、受け取ったコンテンツを分割してc個の部分コンテンツ「CNT1」、「CNT2」、「CNT3」・・・「CNTc」を生成する。分割の単位は、例えば、コンテンツがDVD−Video形式であれば、VOB単位又はVOBU単位であるし、コンテンツがMPEG2形式であれば、GOP単位、フィールド単位、フレーム単位、Iピクチャ単位などである。また、コンテンツの形式にかかわらず、64キロバイトごと、再生時間1秒ごとなどでもよい。ここで生成されたc個の部分コンテンツの組を分割コンテンツと呼ぶ。
次に、部分コンテンツ生成部4105は、生成したc個の部分コンテンツそれぞれに対応する特定情報「AD1」、「AD2」、「AD3」・・・「ADc」を生成する。特定情報は、対応する部分コンテンツを一意に特定する情報であり、一例として、コンテンツの先頭を基準とした各部分コンテンツの再生開始時刻、先頭からのオフセットなどである。
図42は、ここで生成される分割コンテンツと特定情報とを示している。分割コンテンツ4120は、c個の部分コンテンツ4121「CNT1」、4122「CNT2」、4123「CNT3」・・・4127「CNTc」から構成される。各部分コンテンツは、特定情報と対応している。例えば、特定情報4131「AD1」は、部分コンテンツ4121「CNT1」を特定する情報である。
次に、部分コンテンツ生成部4105は、生成したc個の特定情報と分割コンテンツ4120と、受け取った鍵ブロック及びコンテンツ鍵「CK」をヘッダ情報生成部4107へ出力する。
(5)ヘッダ情報生成部4107
ヘッダ情報生成部4107は、部分コンテンツ生成部4105からc個の特定情報「AD1」、「AD2」、「AD3」・・・「ADc」と分割コンテンツ4120と鍵ブロックとコンテンツ鍵「CK」とを受け取る。
これらの情報を受け取ると、ヘッダ情報生成部4107は、乱数を用いて、特定情報「AD1」を一意に識別する特定情報識別子「ADID1」を生成する。
ここで、生成した特定情報識別子「ADID1」と受け取った特定情報「AD1」の組をコンテンツ検出情報と呼ぶ。
次に、ヘッダ情報生成部4107は、受け取った特定情報「AD1」を基に、部分コンテンツ4121「CNT1」を分割コンテンツ4120から抽出する。抽出した部分コンテンツ4121「CNT1」をハッシュ関数に代入し、部分ハッシュ値「HA1」を算出する。ここで、生成した特定情報識別子「ADID1」と算出したハッシュ値「HA1」の組を部分ハッシュ情報と呼ぶ。
ヘッダ情報生成部4107は、特定情報「AD2」、「AD3」・・・・「ADc」についても、同様の処理を繰返して、コンテンツ検出情報と部分ハッシュ情報とを生成する。
次に、生成されたc個のコンテンツ検出情報から構成されるコンテンツ位置情報を生成する。図43は、ここで生成されるコンテンツ位置情報の構成を示している。コンテンツ位置情報4140は、c個のコンテンツ検出情報4141、4142、4143・・・4146から構成される。各コンテンツ検出情報は、特定情報識別子と特定情報とを含んでいる。一例として、コンテンツ検出情報4141は、特定情報識別子4151「ADID1」と特定情報4131「AD1」とを含んでいる。
続いて、ヘッダ情報生成部4107は、生成されたc個の部分ハッシュ情報から構成されるヘッダ情報を生成する。図44は、ここで生成されるヘッダ情報の構成を示す。ヘッダ情報4160は、c個の部分ハッシュ情報4161、4162、4163・・・4166から構成される。各部分ハッシュ情報は、特定情報識別子と部分ハッシュ値とを含んでおり、コンテンツ位置情報4140を構成するコンテンツ検出情報と対応している。例えば、部分ハッシュ情報4161は、特定情報識別子4171「ADID1」と部分ハッシュ値4172「HA1」とを含む。
次に、ヘッダ情報生成部4107は、生成したコンテンツ位置情報4140とヘッダ情報4160と、受け取った分割コンテンツ4120と鍵ブロックとコンテンツ鍵「CK」とを署名情報生成部4108へ出力する。
(6)署名情報生成部4108
署名情報生成部4108は、ヘッダ情報生成部4107からコンテンツ位置情報4140とヘッダ情報4160と分割コンテンツ4120と鍵ブロックとコンテンツ鍵「CK」とを受け取る。
これらの情報を受け取ると、署名情報生成部4108は、受け取ったヘッダ情報4160を構成する各部分ハッシュ情報に含まれるハッシュ値を抽出する。抽出したc個の部分ハッシュ値「HA1」、「HA2」、「HA3」・・・「HAc」を結合した結合物をハッシュ関数に代入して結合ハッシュ値を生成する。
次に、署名情報生成部4108は、署名鍵記憶部1112から署名鍵1113を読み出し、読み出した署名鍵1113を用いて、生成した結合ハッシュ値に署名生成アルゴリズムSを施して、署名情報を生成する。
署名情報を生成すると、署名情報生成部4108は、生成した署名情報と、受け取ったコンテンツ位置情報4140とヘッダ情報4160と分割コンテンツ4120と鍵ブロックとコンテンツ鍵「CK」とを暗号処理部4109へ出力する。
(7)暗号処理部4109
暗号処理部4109は、署名情報生成部4108から署名情報とコンテンツ位置情報4140とヘッダ情報4160と分割コンテンツ4120と鍵ブロックとコンテンツ鍵「CK」とを受け取る。
これらの情報を受け取ると、暗号処理部4109は、受け取ったコンテンツ鍵「CK」を用いて、受け取った分割コンテンツ4120を構成する部分コンテンツ4121「CNT1」に暗号化アルゴリズムを施して暗号化部分コンテンツ「ECNT1」を生成する。部分コンテンツ4122「CNT2」、4123「CNT3」・・・4127「CNTc」についても、同様の処理を繰返し、暗号化部分コンテンツ「ECNT2」、「ECNT3」・・・「ECNTc」を生成する。
次に、生成したc個の暗号化部分コンテンツ「ECNT1」、「ECNT2」、「ECNT3」・・・「ECNTc」から構成される暗号化コンテンツを生成する。ここで生成される暗号化コンテンツの構成は、実施の形態2において説明した、図32に示す暗号化コンテンツ2220同様である。
次に、暗号処理部4109は、生成した暗号化コンテンツと、受け取った署名情報とコンテンツ位置情報4140とヘッダ情報4160と鍵ブロックとを記録部4114へ出力する。
(8)記録部4114
記録部4114は、DVDを装着される。
記録部4114は、暗号処理部4109から、暗号化コンテンツと署名情報とコンテンツ位置情報4140とヘッダ情報4160と鍵ブロックとを受け取る。
これらの情報を受け取ると、受け取った暗号化コンテンツと署名情報とコンテンツ位置情報4140とヘッダ情報4160と鍵ブロックとをDVDに書き込む。
4.3 DVD4500
図45は、本実施の形態におけるDVDに記憶されている情報を示している。 DVD4500は、図45に示すように、鍵ブロック4510、コンテンツ位置情報4530、ヘッダ情報4550、署名情報4570暗号化コンテンツ4580を記憶している。
これらの情報は、配布装置4100によって書き込まれてものであり、それぞれの情報の構成については、既に述べたとおりであるので、ここで、改めて説明はしない。
4.4 実行装置4600
図46は、本実施の形態における実行装置の構成を示している。実行装置4600は、図46に示すように、取得部4601、コンテンツ鍵取得部4602、デバイス鍵格納部1604、署名情報検証部4606、検証鍵記憶部1612、選択部4611、部分復号部4616、ヘッダ情報検証部4617、実行部2618とから構成される。
以下に、実行装置4600を構成する各部について説明する。なお、デバイス鍵格納部1604及び検証鍵記憶部1612は、実施の形態1と同様であり、実行部2618は、実施の形態2と同様であるので説明を省略する。
(1)取得部4601
取得部4601は、DVD4500を装着される。DVD4500の装着を検出すると、DVD4500から、鍵ブロック4510、コンテンツ位置情報4530、ヘッダ情報4550、署名情報4570及び暗号化コンテンツ4580を読み出し、読み出した鍵ブロック4510、コンテンツ位置情報4530、ヘッダ情報4550、署名情報4570及び暗号化コンテンツ4580をコンテンツ鍵取得部4602へ出力する。
(2)コンテンツ鍵取得部4602
コンテンツ鍵取得部4602は、取得部4601から鍵ブロック4510、コンテンツ位置情報4530、ヘッダ情報4550、署名情報4570及び暗号化コンテンツ4580を受け取る。
これらの情報を受け取ると、コンテンツ鍵取得部4602は、受け取った鍵ブロック4510と、デバイス鍵格納部1604の記憶している装置識別子「AID_p」及びデバイス鍵「DK_p」とを用いてコンテンツ鍵「CK」を生成する。生成手順は、実施の形態1の実行装置1600を構成するコンテンツ鍵取得部1602よるコンテンツ鍵の生成手順と同様であるので、ここでは説明を省略する。
次に、コンテンツ鍵取得部4602は、生成したコンテンツ鍵「CK」と受け取ったコンテンツ位置情報4530、ヘッダ情報4550、署名情報4570及び暗号化コンテンツ4580を署名情報検証部4606へ出力する。
(3)署名情報検証部4606
署名情報検証部4606は、コンテンツ鍵取得部4602からコンテンツ鍵「CK」、コンテンツ位置情報4530、ヘッダ情報4550、署名情報4570及び暗号化コンテンツ4580を受け取る。
これらの情報を受け取ると、署名情報検証部4606は、以下の手順で署名情報4570の検証を行う。
先ず、署名情報検証部4606は、受け取ったヘッダ情報を構成する各部分ハッシュ情報から部分ハッシュ値を抽出する。抽出した部分ハッシュ値「HA1」、「HA2」、「HA3」・・・「HAc」を結合した結合物をハッシュ関数に代入して署名検証用結合ハッシュ値を算出する。
次に、署名情報検証部4606は、検証鍵記憶部1612から検証鍵1613を読み出す。読み出した検証鍵1613を用いて、算出した署名検証用結合ハッシュ値に署名検証アルゴリズムVを施して署名検証情報を生成し、生成した署名検証情報と受け取った署名情報とを比較する。両者が一致しない場合、署名情報4570の検証が失敗であると判断し、実行装置4600における、以後の処理を中止する。
両者が一致していれば、署名情報4570の検証が成功であると判断し、署名情報検証部4606は、受け取ったコンテンツ鍵「CK」、コンテンツ位置情報4530、ヘッダ情報4550及び暗号化コンテンツ4580を選択部4611へ出力する。
(4)選択部4611
選択部4611は、署名情報検証部4606からコンテンツ鍵「CK」、コンテンツ位置情報4530、ヘッダ情報4550及び暗号化コンテンツ4580を受け取る。
これらの情報を受け取ると、選択部4611は、以下に説明する手順で、受け取ったコンテンツ位置情報4530から選択位置情報を生成する。図47は、選択部4611による選択位置情報の生成手順の概要と、ここで生成される選択位置情報の構成を示している。以下に、図47を用いて、選択位置情報の生成手順を説明する。
選択部4611は、受け取ったコンテンツ位置情報4530を構成するc個のコンテンツ検出情報4531、4532、4533・・・4536から、乱数を用いてk個を選択する。選択の方法は、これに限るものではなく、第三者による予測が困難な方法であれば、どのような方法で選択しても良い。
図47は、コンテンツ検出情報4531、4533、4536を含むk個を選択した場合を示している。
次に、選択部4611は、選択したk個のコンテンツ検出情報4531、4533・・・4536から構成される選択位置情報4620を生成する。
次に、選択部4611は、受け取ったヘッダ情報4550を基に、以下の手順で選択ヘッダ情報を生成する。図48は、選択ヘッダ情報の生成手順の概要と、選択ヘッダ情報の構成を示している。図48を用いて、選択ヘッダ情報の生成手順について、以下に説明する。
まず、選択部4611は、生成した選択位置情報4620を構成するコンテンツ検出情報4531、4532・・・4536のそれぞれから特定情報識別子を抽出する。抽出した特定情報識別子「ADID1」、「ADID3」・・・「ADIDc」と同一の特定情報識別子を含む部分ハッシュ情報4551、4553・・・4556を、受け取ったヘッダ情報4550から抽出する。
次に、選択部4611は、抽出した部分ハッシュ情報4551、4553・・・4556から構成される選択ヘッダ情報4630を生成する。
次に、選択部4611は、生成した選択位置情報4620と選択ヘッダ情報4630と、受け取ったコンテンツ鍵「CK」及び暗号化コンテンツ4580を部分復号部4616へ出力する。
(5)部分復号部4616
部分復号部4616は、選択部4611から選択位置情報4620と選択ヘッダ情報4630とコンテンツ鍵「CK」と暗号化コンテンツ4580とを受け取る。
これらの情報を受け取ると、部分復号部4616は、以下に説明する手順で検証コンテンツを生成する。図49は、検証コンテンツの生成手順の概要と、ここで生成される検証コンテンツ4650の構成を示している。検証コンテンツの生成手順について、図49を用いて、以下に説明する。
まず、部分復号部4616は、受け取った選択位置情報4620を構成するコンテンツ検出情報4531から特定情報「AD1」を抽出する。抽出した特定情報「AD1」を基に、受け取った暗号化コンテンツ4580から暗号化部分コンテンツ「ECNT1」を抽出する。
受け取ったコンテンツ鍵「CK」を用いて、抽出した暗号化部分コンテンツ「ECNT1」に復号アルゴリズムD1を施して、部分コンテンツ「CNT1」を生成する。続いて、コンテンツ検出情報4531に含まれる特定情報識別子「ADID1」と生成した部分コンテンツ「CNT1」から構成される検証用部分コンテンツ情報4651を生成する。
部分復号部4616は、コンテンツ検出情報4532・・・4536についても、同様の処理を繰返して、検証用部分コンテンツ情報4652・・・4656を生成する。次に、生成したk個の検証用部分コンテンツ情報から構成される検証コンテンツ4650を生成する。
検証コンテンツ4650を生成すると、部分復号部4616は、生成した検証コンテンツ4650と、受け取った選択ヘッダ情報4630とコンテンツ鍵「CK」と暗号化コンテンツ4580とをヘッダ情報検証部4617へ出力する。
(6)ヘッダ情報検証部4617
ヘッダ情報検証部4617は、部分復号部4616から検証コンテンツ4650と選択ヘッダ情報4630とコンテンツ鍵「CK」と暗号化コンテンツ4580とを受け取る。
これらの情報を受け取ると、受け取った検証コンテンツ4650を構成する1番目の検証用部分コンテンツ情報4651に含まれる部分コンテンツ4624「CNT1」をハッシュ関数に代入して、検証用ハッシュ値「H1」を生成する。
次に、検証用部分コンテンツ情報4651に含まれる特定情報識別子4621「ADID1」を抽出する。抽出した特定情報識別子4621「ADID1」と同一の特定情報識別子を含む部分ハッシュ情報4551を、受け取った選択ヘッダ情報4630から検出し、検出した部分ハッシュ情報4551に含まれる部分ハッシュ値4632「HA1」を抽出する。次に、ヘッダ情報検証部4617は、抽出した部分ハッシュ値4632「HA1」と算出した検証用ハッシュ値「H1」とを比較する。
検証用部分コンテンツ情報4652・・・4656についても同様の処理を繰返し、部分ハッシュ値と検証用ハッシュ値との比較をk回行う。
k回の比較のうち、1回でも部分ハッシュ値と検証用ハッシュ値とが一致しなければ、ヘッダ情報検証部4617は、実行装置4600における以後の処理を中止する。
k回の比較において、k回とも、部分ハッシュ値と検証用ハッシュ値とが一致すれば、ヘッダ情報検証部4617は、受け取ったコンテンツ鍵「CK」と暗号化コンテンツ4580とを実行部4618へ出力する。
4.5 動作
配布装置4100及び実行装置4600の動作について、以下に説明する。
(1)配布装置4100
図50は、配布装置4100の動作を示すフローチャートである。図51は、配布装置4100の動作における、コンテンツの加工の工程を示している。
配布装置4100の動作について、図50及び図51を用いて説明する。
入力部4101は、コンテンツを取得し(ステップS4012)、取得したコンテンツをコンテンツ鍵生成部4102へ出力する。
コンテンツ鍵生成部4102は、コンテンツを受け取り、乱数を用いてコンテンツ鍵を生成し(ステップS4013)、生成したコンテンツ鍵と受け取ったコンテンツとを鍵ブロック生成部4103へ出力する。
鍵ブロック生成部4103は、コンテンツ鍵とコンテンツとを受け取ると、鍵ブロックを生成し、生成した鍵ブロックと受け取ったコンテンツ鍵及びコンテンツを部分コンテンツ生成部4105へ出力する(ステップS4014)。
部分コンテンツ生成部4105は、鍵ブロック生成部4103から鍵ブロックとコンテンツ鍵とコンテンツとを受け取る。次に、図51に示すように受け取ったコンテンツ4119を分割してc個の部分コンテンツを生成し(ステップS4016)、生成したc個の部分コンテンツの組を分割コンテンツ4120とする。次に、部分コンテンツ生成部4105は、生成した各部分コンテンツに対応する特定情報を生成し(ステップS4018)、生成した分割コンテンツ4120とc個の特定情報と、受け取った鍵ブロックとコンテンツ鍵とコンテンツとをヘッダ情報生成部4107へ出力する。
ヘッダ情報生成部4107は、部分コンテンツ生成部4105から、分割コンテンツとc個の特定情報と鍵ブロックとコンテンツ鍵とを受け取り、受け取った特定情報それぞれに対応する特定情報識別子を生成し、生成した特定情報識別子と特定情報とを含むコンテンツ位置情報4140を生成する。さらに、図51に示すように、受け取った分割コンテンツ4120を構成するc個の部分コンテンツをそれぞれ、ハッシュ関数に代入して部分ハッシュ値をc個算出し、算出したc個の部分ハッシュ値を含むヘッダ情報4160を生成する(ステップS4019)。次に、生成したコンテンツ位置情報4140とヘッダ情報4160と、受け取った鍵ブロックとコンテンツ鍵とを署名情報生成部4108へ出力する。
署名情報生成部4108は、ヘッダ情報生成部4107から、コンテンツ位置情報4140、ヘッダ情報4160、鍵ブロック及びコンテンツ鍵を受け取り、図51に示すように、受け取ったヘッダ情報に含まれるc個の部分ハッシュ値を抽出し、抽出したc個の部分ハッシュ値を結合してハッシュ関数に代入し、結合ハッシュ値を算出する(ステップS4021)。
次に、署名情報生成部4108は、署名鍵記憶部1112から署名鍵1113を読み出し(ステップS4022)。図51に示すように、読み出した署名鍵1113を用いて、生成した結合ハッシュ値に、署名生成アルゴリズムを施して署名情報4170を生成する(ステップS4023)。
次に、生成した署名情報と、受け取ったコンテンツ位置情報4140とヘッダ情報4160と分割コンテンツ4120とコンテンツ鍵とを暗号処理部4109へ出力する。
暗号処理部4109は、署名情報とコンテンツ位置情報4140とヘッダ情報4160と分割コンテンツ4120とコンテンツ鍵とを受け取り、受け取ったコンテンツ鍵を用いて分割コンテンツ4120を構成する各部分コンテンツを暗号化して、暗号化コンテンツを生成する(ステップS4024)。暗号処理部4109は、生成した暗号化コンテンツと、受け取った署名情報とコンテンツ位置情報4140とヘッダ情報4160と鍵ブロックとを記録部4114へ出力する。
記録部4114は、暗号化コンテンツと署名情報とコンテンツ位置情報4140とヘッダ情報4160と鍵ブロックを受け取り、受け取った鍵ブロックとコンテンツ位置情報4140とヘッダ情報4160と署名情報と暗号化コンテンツとをDVD4500に書き込む(ステップS4026)。
(2)実行装置4600
図52及び図53は、実行装置4600の動作を示すフローチャートである。図54は、動作途中において、実行装置4600を構成する各部が扱う情報を模式的に示したものである。図52〜53と図54において、同一の参照符号は、同一の処理を示している。
以下に、図52〜図54を用いて、実行装置4600の動作について説明する。
取得部4601は、DVD4500が装着されると、DVD4500から鍵ブロック4510、コンテンツ位置情報4530、ヘッダ情報4550、署名情報4570及び暗号化コンテンツ4580を読み出し(ステップS4041)、読み出したこれらの情報をコンテンツ鍵取得部4602へ出力する。
コンテンツ鍵取得部4602は、鍵ブロック4510とコンテンツ位置情報4530とヘッダ情報4550と署名情報4570と暗号化コンテンツ4580とを受け取り、受け取った鍵ブロック4510とデバイス鍵格納部1604の記憶している装置識別子とデバイス鍵とを用いてコンテンツ鍵を生成する(ステップS4042)。次に、生成したコンテンツ鍵と、受け取ったコンテンツ位置情報4530とヘッダ情報4550と署名情報4570と暗号化コンテンツ4580とを署名情報検証部4606へ出力する。
署名情報検証部4606は、コンテンツ鍵とコンテンツ位置情報4530とヘッダ情報4550と署名情報4570と暗号化コンテンツ4580とを受け取り、図54に示すように、受け取ったヘッダ情報4550に含まれるc個の部分ハッシュ値を結合してハッシュ関数に代入し、署名検証用結合ハッシュ値を生成する(ステップS4043)。次に、検証鍵記憶部1612から検証鍵1613を読み出し(ステップS4044)、読み出した検証鍵1613と生成した署名検証用結合ハッシュ値とを用いて受け取った署名情報4570を検証する(ステップS4046)。
署名情報4570の検証結果が失敗であれば(ステップS4048のNO)、署名情報検証部4606は、実行装置4600における、以後の処理を中止する。
署名情報4570の検証結果が成功であれば(ステップS4048のYES)、署名情報検証部4606は、受け取ったコンテンツ鍵、コンテンツ位置情報4530、ヘッダ情報4550及び暗号化コンテンツ4580を選択部4611へ出力する。
選択部4611は、コンテンツ鍵とコンテンツ位置情報4530とヘッダ情報4550と暗号化コンテンツ4580とを受け取ると、コンテンツ位置情報4530に含まれるc個のコンテンツ検出情報からk個のコンテンツ検出情報を選択する(ステップS4049)。次に、選択したコンテンツ検出情報からなる選択位置情報4620を生成する(ステップS4051)。生成した選択位置情報4620を構成するk個のコンテンツ検出情報に含まれる特定情報識別子を基に、受け取ったヘッダ情報4550からk個の部分ハッシュ情報を選択する(ステップS4053)。選択したk個の部分ハッシュ情報から構成される選択ヘッダ情報4630を生成する(ステップS4056)。次に、選択部4611は、生成した選択位置情報4620と選択ヘッダ情報4630と、受け取ったコンテンツ鍵と暗号化コンテンツ4580とを部分復号部4616へ出力する。
部分復号部4616は、選択位置情報4620と選択ヘッダ情報4630とコンテンツ鍵と暗号化コンテンツ4580とを受け取り、図54に示すように、受け取った選択位置情報4620に含まれる特定情報を基にk個の暗号化部分コンテンツ4581、4582、4583・・・4586を、暗号化コンテンツ4580から抽出する(ステップS4057)。次に、抽出したk個の暗号化部分コンテンツ4581、4582、4583・・・4586を、復号して部分コンテンツを生成する(ステップS4059)。次に、部分復号部4616は、受け取った選択位置情報4620に含まれるk個の特定情報識別子と生成したk個の部分コンテンツとを含む検証コンテンツ4650を生成する(ステップS4061)。生成した検証コンテンツ4650と受け取った選択ヘッダ情報4630とコンテンツ鍵と暗号化コンテンツ4650とをヘッダ情報検証部4617へ出力する。
ヘッダ情報検証部4617は、検証コンテンツ4650と選択ヘッダ情報4530とコンテンツ鍵と暗号化コンテンツ4580とを受け取る。これらの情報を受け取ると、ヘッダ情報検証部4617は、受け取った検証コンテンツ4650に含まれるk個の部分コンテンツ4591、4592、4593・・・4596をそれぞれハッシュ関数に代入し、k個の検証用ハッシュ値を生成する(ステップS4062)。受け取ったヘッダ情報に含まれるk個の部分ハッシュ値と生成した検証用ハッシュ値とを、それぞれ比較する(ステップS4064)。
k組の検証用ハッシュ値と部分ハッシュ値との比較において、k組のうちいずれか1組でも一致しない場合(ステップS4066のNO)、ヘッダ情報検証部4617は、実行装置4600における以後の処理を中止する。
k組の比較において、k組とも一致すれば(ステップS4066)、ヘッダ情報検証部4617は、受け取ったコンテンツ鍵と暗号化コンテンツ4580とを実行部2618へ出力する。
実行部2618は、ヘッダ情報検証部4617から、コンテンツ鍵と暗号化コンテンツ4580とを受け取り、受け取ったコンテンツ鍵を用いて、受け取った暗号化コンテンツ4580を構成する各暗号化部分コンテンツを復号してc個の部分コンテンツから構成されるコンテンツを生成し(ステップS4067)、生成したコンテンツを伸長し(ステップS4068)、伸長したコンテンツをモニタに再生させる(ステップS4071)。
4.6 まとめ・効果
以上説明したように、実施の形態4における不正コンテンツ検知システムは、配布装置4100と実行装置4600から構成され、配布装置4100は、コンテンツを分割してc個の部分コンテンツを生成し、生成したc個の部分コンテンツ全てを用いてヘッダ情報と検証情報とを生成する。
実行装置4600は、暗号化コンテンツを構成するc個の暗号化部分コンテンツのうちk個を選択し、ヘッダ情報に含まれるc個の部分ハッシュ値のうち、選択したk個の部分コンテンツと対応するk個の部分ハッシュ値を抽出する。抽出したk個の部分ハッシュ値を用いて選択したk個の暗号化部分コンテンツのみを検証する。検証が成功であった場合のみ、暗号化コンテンツを復号してコンテンツを生成し、コンテンツを再生する。
このように、不正コンテンツの有無の検証に用いる暗号化部分コンテンツの数をk個に制限することで、検証処理に係る負荷を軽減することができる。
実行装置4600は、検証を行うたびに、乱数を用いて異なる暗号化部分コンテンツを選択することで、検証に使用する暗号化部分コンテンツをk個のみに限定することによって生じる不正コンテンツの検出の精度の低下をある程度補完することができる。
また、何れの暗号化部分コンテンツが、検証に用いられるかを予測することは困難であるため、暗号化コンテンツを構成する暗号化部分コンテンツのうち、検証に使用されないものだけを、不正なコンテンツに差し替えるというような不正を抑制することができる。
5. 実施の形態5
本発明に係る実施の形態5の不正コンテンツ検知システムについて、以下に説明する。
5.1 不正コンテンツ検知システム
実施の形態5における不正コンテンツ検知システムは、実施の形態1と同様に配布装置、実行装置及びモニタから構成される。
配布装置は、操作者の操作に従って、コンテンツを取得し、取得したコンテンツを暗号化して暗号化コンテンツを生成する。また、実行装置において、コンテンツの正当性を検証するためのユニット選出情報、ヘッダ情報、署名情報を生成する。
配布装置は、DVDの書き込み可能な領域の記憶容量と、生成した各種の情報のデータサイズを取得する。
取得した各情報のデータサイズの総和を、取得した記憶容量から差し引いた充填容量を算出し、算出した充填容量に相当するデータサイズの充填コンテンツを生成し、生成した充填コンテンツを、各種の情報と供にDVDに書き込む。
5.2 配布装置5100
図55は、本実施の形態における配布装置の構成を示している。配布装置5100は、図55に示すように、入力部1101、コンテンツ鍵生成部1102、鍵ブロック生成部1103、実行装置情報格納部1104、ユニット生成部5105、暗号処理部5106、ヘッダ情報生成部5107、充填コンテンツ生成部5108、署名情報生成部5111、署名鍵記憶部1112及び記録部5114から構成される。
以下に、配布装置5100を構成する各部について説明する。なお、入力部1101、コンテンツ鍵生成部1102、鍵ブロック生成部1103、実行装置情報格納部1104及び署名鍵記憶部1112は、実施の形態1の配布装置1100を構成する入力部1101、コンテンツ鍵生成部1102、鍵ブロック生成部1103、実行装置情報格納部1104及び署名鍵記憶部1112と同一であるので説明を省略する。
(1)ユニット生成部5105
ユニット生成部5105は、実施の形態1において説明したユニット生成部1105と同様に、入力部1101から、c個のファイル「CNT1」、「CNT2」、「CNT3」・・・から構成されるコンテンツを受け取り、受け取ったコンテンツを用いて、ユニット選出情報と分割コンテンツとを生成する。これらの生成手順は、実施の形態1のユニット生成部1105によるユニット選出情報及び分割コンテンツの生成手順と同一であり、ここで生成されるユニット選出情報及び分割コンテンツの構成は、それぞれ、図6と図7に示すとおりであるので、説明を省略する。
次に、ユニット生成部5105は、生成した分割コンテンツを暗号処理部5106へ出力し、生成したユニット選出情報を充填コンテンツ生成部5108へ出力する。
(2)暗号処理部5106
暗号処理部5106は、ユニット生成部5105から分割コンテンツを受け取り、受け取った分割コンテンツを基に、暗号化分割コンテンツと暗号化コンテンツとを生成する。生成手順は、実施の形態1における暗号処理部1106による暗号化分割コンテンツと暗号化コンテンツの生成手順と同様であり、生成される暗号化コンテンツ及び暗号化分割コンテンツの構成は、それぞれ図9と図10に示すとおりであるので、ここでは説明を省略する。
次に、暗号処理部5106は、生成した暗号化分割コンテンツをヘッダ情報生成部5107へ出力し、生成した暗号化コンテンツを記録部5114及び充填コンテンツ生成部5108へ出力する。
(3)充填コンテンツ生成部5108
充填コンテンツ生成部5108は、予め、鍵ブロックサイズ「KBSIZE」、ファイル情報サイズ「FISIZE」、ユニットハッシュサイズ「USIZE」、ファイルハッシュサイズ「FSIZE」、比率「RT」及び分割数「j」を記憶している。
ユニットハッシュサイズ「USIZE」は、ヘッダ情報生成部5107の生成する第1ハッシュテーブルを構成するユニットハッシュ情報(具体的には実施の形態1のヘッダ情報生成部1107の生成するユニットハッシュ情報と同一)のデータサイズを示す。
ファイルハッシュサイズ「FSIZE」は、ヘッダ情報生成部5107の生成する第2ハッシュテーブルを構成するファイルハッシュ情報(具体的には実施の形態1のヘッダ情報生成部1107の生成するファイルハッシュ情報と同一)のビット長を示す。
比率「RT」は、署名情報生成部5111が情報Aに署名生成アルゴリズムSを施して署名SignAを生成した場合の、情報Aと署名SignAとのビット長の比率を示す。
分割数「j」は、充填コンテンツ生成部5108が、充填コンテンツ(後述する)を分割して生成するユニットの数である。
さらに、再生できない情報であることを示す56ビット長の再生不可情報「DAMY」を記憶している。
充填コンテンツ生成部5108は、ユニット生成部5105からユニット選出情報を受け取り、暗号処理部5106から、暗号化コンテンツを受け取る。
ユニット選出情報と暗号化コンテンツとを受け取ると、充填コンテンツ生成部5108は、以下に示す手順で、受け取ったユニット選出情報と暗号化コンテンツとを用いて、充填容量を算出し、算出した充填容量に基づいて、充填コンテンツを生成し、ユニット選出情報を更新する。
上記の(a)充填容量の算出、(b)充填コンテンツの生成及び(c)ユニット選出情報の更新について、以下に、詳細に説明する。
(a)充填容量の算出
充填容量は、DVDに鍵ブロック、ユニット選出情報、ヘッダ情報、署名情報及び暗号化コンテンツを書き込んだ後の、DVDの空き容量を示す。以下に、充填容量の生成手順を説明する。
先ず、充填コンテンツ生成部5108は、記録部5114を介して、記録部5114に装着されているDVDの書き込み可能な領域の記憶容量を計測し、書き込み可能な情報量を示す最大記憶容量「MSIZE」を生成する。ここで、記録部5114を介して計測する代わりに、操作者の入力により、最大記憶容量「MSIZE」を取得しても良い。
次に、充填コンテンツ生成部5108は、受け取った暗号化コンテンツのデータサイズを計数して、コンテンツサイズ「CNTSIZE」を生成する。
次に、充填コンテンツ生成部5108は、受け取ったコンテンツ選出情報に含まれるファイル情報の個数「c」を計数し、次の式:
UCSIZE=FISIZE×(c+1)
により更新後のユニット選出情報(詳細は以下の(c)において説明する)のデータサイズ「UCSIZE」を算出する。
次に、充填コンテンツ生成部5108は、受け取ったユニット選出情報に含まれるc個のユニット数「N1」、「N2」、「N3」・・・「Nc」を抽出し、抽出したユニット数「N1」、「N2」、「N3」・・・「Nc」と記憶している分割数「j」とを用いて、ヘッダ情報生成部5107の生成するc+1個の第1ハッシュテーブル(詳細は後述)のデータサイズの総和「HA1SIZE」を次の式:
HA1SIZE={N1+N2+N3+・・・Nc+j}×USIZE
により算出する。
続いて、充填コンテンツ生成部5108は、ヘッダ情報生成部5107が生成する第2ハッシュテーブル(詳細は後述)のデータサイズ「HA2SIZE」を、次の式:
HA2SIZE=FSIZE×(c+1)
により生成し、生成した第1ハッシュテーブルのデータサイズの総和「HA1SIZE」と第2ハッシュテーブルのデータサイズ「HA2SIZE」から、ヘッダ情報生成部5107の生成するヘッダ情報のデータサイズ「HEADSIZE」を、次の式:
HEADSIZE=HA1SIZE+HA2SIZE
により算出する。
次に、比率「RT」を用いて、署名情報生成部5111の生成する署名情報のデータサイズを示す「SigSIZE」を、次の式:
SigSIZE=(UCSIZE+HA2SIZE)×RT
により算出する。
次に、充填コンテンツ生成部5108は、充填容量「FilSIZE」を、次の式:
FilSIZE=MSIZE
−{KBSIZE+UCSIZE+HEADSIZE+SigSIZE}
により算出する。
(b)充填コンテンツの生成
充填容量「FilSIZE」を算出すると、充填コンテンツ生成部5108は、乱数を生成し、再生不可情報「DAMY」に生成した乱数を結合して、データサイズが「FilSIZE」となる充填コンテンツを生成する。
次に、生成した充填コンテンツを一意に示すファイル識別子「FIDf」と、生成した充填コンテンツを特定するファイル特定情報「ADf」とを生成する。次に、記憶している分割数「j」に基づき、生成した分割コンテンツをj個のユニット「Uf_1」、「Uf_2」、「Uf_3」・・・「Uf_j」に分割し、各ユニットと対応するユニット識別子「UIDf_1」、「UIDf_2」、「UIDf_3」・・・「UIDf_j」を生成する。ここで、対応するユニット識別子とユニットの組をユニット情報と呼ぶ。また、j個のユニット情報から構成される分割充填コンテンツを生成する。図56は、ここで生成される分割充填コンテンツの構成を示す。図56に示すように、分割充填コンテンツ5120は、複数のユニット情報5121、5122、5123・・・5126から構成され、各ユニット情報は、ユニット識別子とユニットとを含む。例えば、ユニット情報5121は、ユニット識別子5131「UIDf_1」とユニット5132「Uf_1」とを含む。充填コンテンツから分割充填コンテンツを生成する手順は、実施の形態1において説明した、ファイルから分割ファイルを生成する手順にと同様であるので、ここでは、簡単な説明にとどめる。
ここで、生成したファイル識別子「FIDf」と分割充填コンテンツ5120との組を充填ファイル情報と呼ぶ。
(c)ユニット選出情報の更新
充填コンテンツと分割充填コンテンツ5120とを生成すると、充填コンテンツ生成部5108は、生成したファイル識別子「FIDf」とファイル特定情報「ADf」と、生成したユニットの数を示すユニット数「Nf」から構成されるファイル情報を生成し、生成したファイル情報を、受け取ったユニット選出情報に追加する。図57は、生成したファイル情報を追加した後のユニット選出情報5140を示している。ユニット選出情報5140はc+1個のファイル情報5141、5142、5143・・・5146、5147から構成され、各ファイル情報は、ファイル識別子、ファイル特定情報及びユニット数を含んでいる。ファイル情報5141、5142、5143・・・5146は、ユニット生成部5105によりコンテンツを基に生成されたものであり、図7に示すユニット選出情報1200を構成するファイル情報1201、1202、1203・・・1204と同一である。ファイル情報5147は、充填コンテンツ生成部5108により充填コンテンツを基に生成されたものであり、充填コンテンツと対応するファイル識別子5151「FIDf」とファイル特定情報5152「AD1」とユニット数5153「Nf」とを含む。
次に、充填コンテンツ生成部5108は、生成した充填コンテンツとユニット選出情報5140とを記録部5114へ出力し、生成した充填ファイル情報をヘッダ情報生成部5107へ出力し、ユニット選出情報5140を署名情報生成部5111へ出力する。
(4)ヘッダ情報生成部5107
ヘッダ情報生成部5107は、暗号処理部5106から、暗号化分割コンテンツを受け取り、充填コンテンツ生成部5108から、ファイル識別子「FIDf」と分割充填コンテンツ5120を含む充填ファイル5156を受け取る。
充填ファイル情報5156及び暗号化分割コンテンツ5160を受け取ると、図58に示すように、受け取ったこれらの情報からヘッダ情報5190を生成する。図58は、ヘッダ情報生成部5107によるヘッダ情報5190の生成手順の概要を示している。以下に、図58を用いて、ヘッダ情報5190の生成手順について説明する。
ヘッダ情報生成部5107は、受け取った暗号化分割コンテンツ5160から第1ハッシュテーブル5171「HA1TBL1」、5172「HA1TBL2」、5173「HA1TBL3」・・・5176「HA1TBLc」を生成する。ここで生成した第1ハッシュテーブル5171「HA1TBL1」、5172「HA1TBL2」、5173「HA1TBL3」・・・5176「HA1TBLc」は、実施の形態1において説明した第1ハッシュテーブル1261「HA1TBL1」、1262「HA1TBL2」、1263「HA1TBL3」・・・1264「HA1TBLc」と同一であり、その生成手順も同一であるので、ここでは、改めて説明しない。
次に、受け取った充填ファイル情報5156に含まれる充填コンテンツを基に、第1ハッシュテーブル5177「HA1TBLf」を生成する。生成手順は、暗号化分割ファイルから第1ハッシュテーブルを生成する手順と同様であるので説明を省略する。
次に、c+1個の第1ハッシュテーブルそれぞれを基にファイルハッシュ値を算出し、算出したc+1個のファイルハッシュ値と、それぞれのファイルハッシュ値と対応するファイル識別子とを含むファイルハッシュ情報を生成し、生成したc+1個のファイル情報から構成される第2ハッシュテーブル5180「HA2TBL」を生成する。具体的な生成手順は、充填コンテンツ生成部5108から受け取ったファイル識別子5157「FIDf」と分割充填コンテンツ5120とを用いること以外は、実施の形態1における第2ハッシュテーブル1269の生成手順と、同様であるので、詳細な説明は省略する。
図59は、ここで生成される第2ハッシュテーブル5180「HA2TBL」の構成を示している。第2ハッシュテーブル5180「HA2TBL」は、c+1個のファイルハッシュ情報5181、5182、5183・・・5186、5187から構成される。各ファイルハッシュ情報は、ファイル識別子とファイルハッシュ値とを含んでいる。ファイルハッシュ情報5181〜5186は、暗号化分割コンテンツ5160から生成されたものであり、実施の形態1において説明した第2ハッシュテーブル1269「HA2TBL」を構成するファイルハッシュ情報1301〜1304と同一である。ファイルハッシュ情報5187は、充填ファイル情報5156を基に生成されたものである。
ヘッダ情報生成部5107は、生成した第2ハッシュテーブル5180を署名情報生成部5111へ出力する。また、生成したc+1個の第1ハッシュテーブルと第2ハッシュテーブル5180「HA2TBL」とを含むヘッダ情報5190を記録部5114へ出力する。
(5)署名情報生成部5111
署名情報生成部5111は、充填コンテンツ生成部5108からユニット選出情報5140を受け取り、ヘッダ情報生成部5107から第2ハッシュテーブル5180「HA2TBL」を受け取る。
署名情報生成部5111は、ユニット選出情報5140と第2ハッシュテーブル5180「HA2TBL」とを受け取ると、署名鍵記憶部1112の記憶している署名鍵1113を読み出す。
次に、読み出した署名鍵1113を用いて、受け取った第2ハッシュテーブル5180「HA2TBL」を構成するc+1個のファイルハッシュ値と受け取ったユニット選出情報5140を構成するc+1個のファイル情報とを結合した結合物に署名生成アルゴリズムSを施して署名情報を生成する。
次に、署名情報生成部5111は、生成した署名情報を記録部5114へ出力する。
(6)記録部5114
記録部5114は、DVDを装着される。
記録部5114は、充填コンテンツ生成部5108の指示により、装着されたDVDの書き込み可能な領域の記憶容量を計測する。
記録部5114は、鍵ブロック生成部1103から鍵ブロックを受け取り、暗号処理部5106から暗号化コンテンツを受け取り、充填コンテンツ生成部5108から、充填コンテンツとユニット選出情報5140を受け取る。さらに、ヘッダ情報生成部5107からヘッダ情報5190を受け取り、署名情報生成部5111から署名情報を受け取る。
これらの情報を受け取ると、記録部5114は、受け取った鍵ブロック、暗号化コンテンツ、充填コンテンツ、ユニット選出情報5140、ヘッダ情報5190及び署名情報をDVDに書き込む。
5.3 DVD5500
図60は、実施の形態5におけるDVDの記憶している情報を示している。DVD5500は、図60に示すように、鍵ブロック5510、ユニット選出情報5530、ヘッダ情報5550暗号化コンテンツ5580及び充填コンテンツ5590を記憶している。
これらの情報は、配布装置5100によって書き込まれたものであり、その構成は、既に述べたとおりであるので説明を省略する。
5.4 実行装置5600
実行装置5600は、図61に示すように取得部1601、コンテンツ鍵取得部1602、デバイス鍵格納部1604、実行部5606、署名情報検証部5611及び検証鍵記憶部1612から構成される。
以下に、実行装置5600を構成する各部について説明する。なお、取得部1601、コンテンツ鍵取得部1602及び検証鍵記憶部1612は、実施の形態1の実行装置1600を構成する取得部1601、コンテンツ鍵取得部1602及び検証鍵記憶部1612と同一であるので、説明を省略する。
(1)署名情報検証部5611
署名情報検証部5611は、取得部1601から、ユニット選出情報5530及び署名情報5570を受け取る。
これらの情報を受け取ると、受け取ったユニット選出情報5530、DVD5500に記憶されているヘッダ情報5550、暗号化コンテンツ5580及び充填コンテンツ5590を用いて、受け取った署名情報5570を検証する。暗号化コンテンツ5580に加えて充填コンテンツ5590を用いること以外は、実施の形態1の実行装置1600を構成する署名情報検証部1611による署名情報の検証の手順と同一であるので、具体的な検証の手順についての説明は省略する。
(2)実行部5606
実行部5606は、予め、56ビット長の再生不可情報「DAMY」を記憶している。
実行部5606は、コンテンツ鍵取得部1602からコンテンツ鍵「CK」を受け取る。また、署名情報検証部5611から再生禁止情報を受け取る場合がある。
コンテンツ鍵「CK」を受けると、取得部1601を介して、暗号化コンテンツ5580を構成する暗号化ファイル「ECNT1」、「ECNT2」、「ECNT3」・・・「ECNTc」又は充填コンテンツ5590を1個ずつ読み出す。
読み出した暗号化ファイル又は充填コンテンツの先頭の56ビットと、記憶している再生不可情報「DAMY」とを比較する。両者が一致しない場合、読み出した情報が暗号化ファイルであり、再生可能であるので、受け取ったコンテンツ鍵「CK」を用いて読み出した暗号ファイルをユニット単位で復号してファイルを生成する。次に、実行部5606は、生成したファイルを伸長して、画像及び音声データを生成する。生成した画像及び音声データを画像信号及び音声信号を生成し、生成した画像信号及び音声信号をモニタへ出力することで、コンテンツを再生する。
先頭の56ビットと、記憶している再生不可情報「DAMY」とが一致する場合、読み出した情報が、充填コンテンツであり再生不可であるので、上記の復号、伸長、再生を中止し、次の暗号化ファイルの処理に移る。
全ての暗号化ファイル及び充填コンテンツを読み出し終えるまで、同様の手順で、読み出し、再生不可情報「DAMY」との比較、復号、伸長、再生を繰り返す。
また、上記の繰返しの途中で、署名情報検証部5611から再生禁止情報を受け取ると、上記の繰返しを中止する。
5.5 動作
実施の形態5における配布装置5100及び実行装置5600の動作について、以下に説明する。
(1)配布装置5100の動作
配布装置5100の動作について、図62〜63に示すフローチャートを用いて説明する。
配布装置5100の入力部5101は、コンテンツの入力を受け付け(ステップS5011)、受け取ったコンテンツをユニット生成部5105へ出力し、コンテンツ鍵生成部1102へコンテンツ鍵の生成を指示する。
コンテンツ鍵生成部1102は、入力部1101の指示により、コンテンツ鍵を生成し(ステップS5012)、生成したコンテンツ鍵を鍵ブロック生成部1103と暗号処理部5106とへ出力する。
鍵ブロック生成部1103は、コンテンツ鍵を受け取る。コンテンツ鍵を受け取ると、実行装置情報格納部1104から装置識別テーブルを読み出し(ステップS5013)、受け取ったコンテンツ鍵と読み出した装置識別テーブルとを基に、鍵ブロックを生成する(ステップS5016)。次に、生成した鍵ブロックを記録部5114へ出力する。
ユニット生成部5105は、コンテンツを受け取り、受け取ったコンテンツを構成する各ファイルをユニットに分割し、分割コンテンツを生成する(ステップS5017)。分割コンテンツを生成すると、各分割ファイルと対応するファイル情報から構成されるユニット選出情報を生成し(ステップS5018)、生成したユニット選出情報を充填コンテンツ生成部5108へ出力し、分割コンテンツを暗号処理部5106へ出力する。
暗号処理部5106は、コンテンツ鍵と分割コンテンツを受け取り、受け取った分割コンテンツに含まれるコンテンツの各ユニットをコンテンツ鍵を用いて暗号化することにより、暗号化分割コンテンツを生成する(ステップS5019)。暗号処理部5106は、生成した暗号化分割コンテンツに含まれる暗号化ユニットを抽出して、暗号化コンテンツを生成し(ステップS5021)、生成した暗号化コンテンツを記録部5114と充填コンテンツ生成部5108へ出力し、生成した暗号化分割コンテンツをヘッダ情報生成部5107へ出力する。
充填コンテンツ生成部5108は、ユニット選出情報と暗号化コンテンツとを受け取ると、記録部5114を介してDVD5500の最大記憶容量を取得し(ステップS5022)、受け取った暗号化コンテンツのデータサイズを計数する(ステップS5023)。
次に、充填コンテンツ生成部5108は、受け取ったユニット選出情報を基に、ヘッダ情報のデータサイズと署名情報のデータサイズとを算出する(ステップS5026)。取得した最大記憶容量、ヘッダ情報及び署名情報のデータサイズなどを基に、充填容量を算出する(ステップS5028)。
次に、充填コンテンツ生成部5108は、再生不可情報と乱数とを結合して、データサイズが、算出した充填容量となる充填コンテンツを生成する(ステップS5029)。充填コンテンツに対応するファイル識別子とファイル特定情報とを生成する(ステップS5031)。
充填コンテンツ生成部5108は、記憶している分割数「j」に基づき、生成した充填コンテンツを、j個のユニットに分割して、分割充填コンテンツを生成する(ステップS5032)。
次に、充填コンテンツ生成部5108は、生成したファイル識別子とファイル特定情報と、生成したユニットの数を示すユニット数とを含むファイル情報を生成し、生成したファイル情報を、受け取ったユニット選出情報に追加する(ステップS5033)。生成した充填コンテンツとユニット選出情報5140とを記録部5114へ出力し、生成したファイル識別子と分割充填コンテンツ5120から構成される充填ファイル情報5156をヘッダ情報生成部5107へ出力し、ユニット選出情報5140を署名情報生成部5111へ出力する。
ヘッダ情報生成部5107は、暗号化分割コンテンツと充填ファイル情報5156とを受け取り、受け取った暗号化分割コンテンツに含まれるc個の暗号化分割ファイルからc個の第1ハッシュテーブルを生成する(ステップS5034)。続いて、受け取った充填ファイル情報5156に含まれる分割充填コンテンツから第1ハッシュテーブルを生成する(ステップS5036)。
生成したc+1個の第1ハッシュテーブルを基に第2ハッシュテーブルを生成する(ステップS5037)。c+1個の第1ハッシュテーブルと第2ハッシュテーブルとを含むヘッダ情報を生成し(ステップS5039)、生成したヘッダ情報を記録部5114へ出力し、生成した第2ハッシュテーブルを署名情報生成部5111へ出力する。
署名情報生成部5111は、ユニット選出情報5140と第2ハッシュテーブルとを受け取り、受け取ったユニット選出情報と第2ハッシュテーブルに署名生成アルゴリズムを施して署名情報を生成する(ステップS5041)。生成した署名情報を、記録部5114へ出力する。
記録部5114は、鍵ブロックと暗号化コンテンツと充填コンテンツとユニット選出情報とヘッダ情報と署名情報とを受け取り、受け取った鍵ブロックと暗号化コンテンツと充填コンテンツとユニット選出情報とヘッダ情報と署名情報とをDVD5500へ書き込む(ステップS5042)。
(2)実行装置5600の動作
図64〜図65に示すフローチャートを用いて、実行装置5600の動作について説明する。
取得部1601は、DVD5500を装着されると、DVD5500から鍵ブロック5510、ユニット選出情報5530及び署名情報5570を読み出し、鍵ブロック5510をコンテンツ鍵取得部1602へ出力し、ユニット選出情報5530と署名情報5570とを署名情報検証部1611へ出力する(ステップS5061)。
署名情報検証部5611は、ユニット選出情報5530と署名情報5570とを受け取り、乱数とユニット選出情報5530を用いて、暗号化コンテンツ5580及び充填コンテンツ5590に含まれる複数の暗号化ユニット及びj個のユニットから、暗号化コンテンツ5580に含まれる複数の暗号化ユニット及び充填コンテンツ5590に含まれるj個のユニットから、i個を選択し、選択された合計i個の暗号化ユニット及びユニットとヘッダ情報とを用いて、i個の入替第1ハッシュテーブルを生成する(ステップS5063)。
署名情報検証部5611は、生成したi個の入替ハッシュテーブルそれぞれから、入替ファイルハッシュ値を算出する(ステップS5064)。
署名情報検証部5611は、次に、DVD5500から第2ハッシュテーブルを読み出し(ステップS5066)、生成したi個の入替ファイルハッシュ値と対応するファイルハッシュ値を、入替ハッシュ値に置き換えて入替第2ハッシュテーブルを生成する(ステップS5068)。生成した入替第2ハッシュテーブルと受け取ったユニット選出情報5530と、検証鍵記憶部1612の記憶している検証鍵1613とを用いて、署名情報5570を検証する(ステップS5069)。署名検証が失敗であれば(ステップS5071のNO)、署名情報検証部5611は、再生禁止情報を実行部5606へ出力する(ステップS5073)。
署名情報5570の検証が成功であれば(ステップS5071のYES)、署名情報検証部5611は、そのまま署名検証を終了する。
コンテンツ鍵取得部1602は、鍵ブロック5510を受け取り、デバイス鍵格納部1604から装置識別子とデバイス鍵とを読み出す(ステップS5074)。読み出した装置識別子とデバイス鍵と鍵ブロック5510からコンテンツ鍵「CK」を生成し、生成したコンテンツ鍵「CK」を実行部5606へ出力する(ステップS5076)。
実行部5606は、コンテンツ鍵取得部1602からコンテンツ鍵を受け取る。ここで、署名情報検証部5611から、再生禁止情報を受け取ると(ステップS5077のYES)、利用者にDVD5500に記録されているコンテンツを再生できないことを通知し(ステップS5079)、以下の再生の処理を中止する。
再生禁止情報を受け取らなければ(ステップS5077のNO)、DVD5500から、暗号化コンテンツを構成するc個の暗号化ファイル及び充填コンテンツのうち1個を読み出す(ステップS5081)。読み出した暗号化ファイル又は充填コンテンツの先頭の56ビットと、予め記憶している再生不可情報とを比較する(ステップS5082)。両者が一致する場合(ステップS5084のYES)、ステップS5077へ戻る。
両者が一致しなければ(ステップS5084のNO)、読み出したファイルが暗号化ファイルであるり再生可能であるので、受け取ったコンテンツ鍵を用いて暗号化ファイルを復号してファイルを生成し(ステップS5086)、生成したファイルを伸長し(ステップS5087)、モニタに再生させる(ステップS5089)。ここで、暗号化コンテンツを構成する暗号化ファイル及び充填コンテンツを全て読み出し終えた場合又は利用者の操作により再生終了を指示された場合(ステップS5091のYES)、再生処理を終了する。暗号化コンテンツを構成する暗号化ファイル及び充填コンテンツ全てを読み出し終えておらず、かつ、利用者から、再生終了を指示されなければ(ステップS5091のNO)、ステップS5077へ戻り、ステップS5077〜ステップS5091の処理を繰り返す。
5.6 まとめ・効果
以上、本実施の形態において、DVD5500は、暗号化コンテンツを初めとする各種の情報に加えて、書き込み可能な記憶領域が残らないように、適切なデータサイズの充填コンテンツを記憶している。さらに、ヘッダ情報及び署名情報は、暗号化コンテンツのみならず充填コンテンツにも基づいて生成されている。
実行装置5600を構成する実行部5606は、DVD5500に書き込まれているファイルを順次読み出す。読み出したファイルの先頭の56ビットと予め記憶している再生不可情報とを比較する。両者が一致した場合、読み出したファイルが充填コンテンツであると判断し、このファイルの再生を行わないようにする。
DVD5500が、このような充填コンテンツを記憶していない場合、以下に説明するような2つの不正が想定される。
図65は、正規の権利者によって生成されたDVD5500aとDVD5500aに不正なコンテンツを含むファイルを追加したDVD5500bの構成を示している。
DVD5500aは、ヘッダ情報、ユニット選出情報、署名情報を領域5703に記憶しており、暗号化コンテンツを構成する各暗号化ファイルを、領域5704、5705・・・5707に記憶している。既に説明したこれらの情報のほかに、ファイルテーブルを領域5701に記憶しており、再生手順ファイルを領域5702に記憶している。
領域5701に記憶さているファイルテーブルは、DVD5500に記憶されている全てのファイルについてのファイル識別子、ファイルの先頭アドレス及びDVD上でファイルの占めるセクタ数を対応させて含んでいる。例えば、ファイル識別子「FID1」のファイルは、アドレス「0XAA1」から70セクタの領域に記憶されていることを示している。
領域5702に記憶されている再生手順ファイルは、DVDに記憶されているファイルの再生順序を示しており、ここでは、ファイル識別子「FIF1」のファイルからファイル識別子「FIDc」のファイルの順に再生することを示している。
また、DVD5500aの領域5711には、何も記憶されていない。
ここで、不正な第三者が、DVD5500aの領域5711に不正なコンテンツを含むファイルを書き込み、ファイルテーブル及び再生手順ファイルを不正に改ざんして5500bを生成したとする。
DVD5500bの領域5701には、不正なファイルに対応するファイル識別子「FIDx」と不正なファイルの先頭アドレス「0XAAx」とセクタ数「200」が追記されている。また、領域5702に記憶されている再生手順ファイルは、ファイル識別子「FIDx」のファイルから再生するように改ざんされている。
また、DVD5500aに記憶されている正当なファイルに不正なコンテンツを追記して、図66に示すDVD5500cを生成される場合も考えられる。
DVD5500cは、領域5707正規に記録されたファイル直後の領域5711に不正なコンテンツを記憶している。ファイルテーブルの領域5707に記憶されているファイルと対応するセクタ数は、このファイルがもともと記憶されているセクタ数に、追記された不正コンテンツの記憶されているセクタ数を加算した「320」に改ざんされており、再生手順ファイルは、ファイル識別子「FIDc」のファイルの51番目のセクタ、つまり、追記された不正コンテンツから再生を開始するように変更されている。
このように、不正な改ざんをされた場合であっても、ヘッダ情報、ユニット選出情報、署名情報及び暗号化コンテンツは、何ら改ざんされていないため、署名情報の検証が正常に終了すれば、実行装置は手順ファイルの示す手順に従って、不正なファイルを読み出し、再生を開始することになる。
本実施の形態において、DVD5500は、充填コンテンツの存在により、書き込み可能な記憶領域は残されていない。さらに、署名情報の生成には、充填コンテンツも用いられているため、充填コンテンツを不正なファイルを差し替えた場合、実行装置5600において、署名情報の検証が失敗し、再生は中止される。
6. 実施の形態6
本発明に係る実施の形態6について、以下に説明する。
6.1 不正コンテンツ検知システム
実施の形態6の不正コンテンツ検知システムは、実施の形態1の不正コンテンツ検知システムと同様に、配布装置、実行装置及びモニタから構成される。
配布装置は、実施の形態1のにおいて説明した、鍵ブロック、ユニット選出情報、暗号化コンテンツ、ヘッダ情報、署名情報に加えて、配布装置によって正規に書き込まれた情報の存在するDVD上の記憶領域を示す領域情報を生成しDVDに書き込む。
実行装置は、DVDから領域情報を読み出し、読み出した領域情報の示す記憶領域に記憶されている情報だけを、読み出す。
6.2 配布装置6100
図67は、実施の形態6の不正コンテンツ検知システムを構成する配布装置の構成を示す。図67に示すように、配布装置6100は、入力部1101、コンテンツ鍵生成部1102、鍵ブロック生成部6103、実行装置情報格納部1104、ユニット生成部6105、暗号処理部6106、ヘッダ情報生成部6107、配置生成部6108、領域情報生成部6109、署名情報生成部6111、署名鍵記憶部1112及び記録部6114から構成される。
以下に、配布装置6100を構成する各部について説明する。なお、入力部1101、コンテンツ鍵生成部1102、実行装置情報格納部1104及び署名鍵記憶部1112は、実施の形態1の配布装置1100を構成する入力部1101、コンテンツ鍵生成部1102、実行装置情報格納部1104及び署名鍵記憶部1112と同一であるので説明を省略する。
また、鍵ブロック生成部6103、ユニット生成部6105、暗号処理部6106及びヘッダ情報生成部6107は、それぞれが、生成した鍵ブロック、ユニット選出情報、暗号化コンテンツ、ヘッダ情報を、記録部に代わって、配置生成部6108へ出力すること以外は、実施の形態1の鍵ブロック生成部1103、ユニット生成部1105、暗号処理部1106及びヘッダ情報生成部1107と同様であるので説明を省略する。
(1)配置生成部6108
配置生成部6108は、予め、署名情報生成部6111の生成する署名情報のデータサイズの最大値を記憶している。さらに、領域情報生成部6109の生成する領域情報のデータサイズを記憶している。
配置生成部6108は、鍵ブロック生成部6103から鍵ブロックを受け取り、ユニット生成部6105からユニット選出情報を受け取り、暗号処理部6106から暗号化コンテンツを受け取り、ヘッダ情報生成部6107からヘッダ情報を受け取る。
これらの情報を受け取ると、配置生成部6108は、図68に示すような書込用配置情報6120を生成する。書込用配置情報6120は、受け取った各種の情報を、DVD上におけるこれらの配置関係と同一の配置に並べてメモリ上に書き込んだものである。以下に、図68を用いて、上記の書込用配置情報6120の生成手順について説明する。
配置生成部6108は、メモリ上の領域6121に、鍵ブロックを書き込み、領域6122にユニット情報を書き込み、領域6123へヘッダ情報を書き込む。
次に、配置生成部6108は、記憶している領域情報のデータサイズ及び署名情報のデータサイズの最大値に相当する領域6124、6125を確保する。次に、領域6125に続く領域6126に暗号化コンテンツを書き込む。
配置生成部6108は、生成した書込用配置情報6120を領域情報生成部6109及び記録部6114へ出力する。
なお、図67に示した各情報の配置順序は一例であり、これに限るものではない。
また、ここでは、署名情報のデータサイズの最大値を記憶しているとしたが、例えば、実施の形態5の充填コンテンツ生成部5108と同様にして、署名情報のデータサイズを算出しても良い。
(2)領域情報生成部6109
領域情報生成部6109は、配置生成部6108から書込用配置情報6120受け取る。書込用配置情報6120を受け取ると、受け取った書込用配置情報6120から、領域情報を生成する。領域情報は、DVD上において、配布装置6100の書き込んだ正規の情報の存在する領域を示す情報であり、一例として、DVD上に、書込用配置情報6120の書き込む際の、書き込みを開始するアドレス(以下、開始アドレス)と、末尾示すアドレス(終了アドレス)の組などである。
領域情報は、これに限るものではなく、例えば、開始アドレスと正規の情報の存在するセクタ数の組など、正規の情報の存在する領域を特定できるものであれば、どのような情報でも良い。
領域情報生成部6109は、生成した領域情報を、署名情報生成部6111及び記録部6114へ出力する。
(3)署名情報生成部6111
署名情報生成部6111は、ユニット生成部6105からユニット選出情報を受け取り、ヘッダ情報生成部6107から、第2ハッシュテーブルを受け取り、領域情報生成部6109から領域情報を受け取る。
これらの情報を受け取ると、署名情報生成部6111は、署名鍵記憶部1112から署名鍵1113を読み出す。
次に、読み出した署名鍵1113を用いて、受け取った第2ハッシュテーブルに含まれるc個のファイルハッシュ値とユニット選出情報を構成するc個のファイル情報と受け取った領域情報を結合した結合物に、署名生成アルゴリズムSを施して、署名情報を生成する。
次に、署名情報生成部6111は、生成した署名情報を、記録部6114へ出力する。
(4)記録部6114
記録部6114は、DVDを装着される。
記録部6114は、配置生成部6108から、書込用配置情報6120を受け取り、領域情報生成部6109から領域情報を受け取り、署名情報生成部6111から、署名情報を受け取る。
これらの情報を受け取ると、記録部6114は、受け取った領域情報を、書込用配置情報6120の領域6124に挿入し、署名情報を領域6125に挿入する。
領域情報と署名情報とを書込用配置情報6120に挿入すると、記録部6114は、書込用配置情報6120をDVDに書き込む。
6.3 DVD6500
図69は、実施の形態6におけるDVDに記憶されている情報を示している。DVD6500は、図69に示すように、鍵ブロック6510、ユニット選出情報6530、ヘッダ情報6550、領域情報6560、署名情報6570及び暗号化コンテンツ6580を記憶している。これらは、配布装置6100により書き込まれたものであるので、ここでは、改めで説明しない。
6.4 実行装置6600
図70は、本実施の形態の実行装置の構成を示す。実行装置6600は、図70に示すように、ドライブ部6620とコンテンツ実行部6625から構成される。
ドライブ部6620は、取得部6601、領域情報格納部6603、暗号通信部6604及び暗号鍵格納部6605から構成される。
コンテンツ実行部6625は、コンテンツ鍵取得部1602、デバイス鍵格納部1604、復号通信部6607、復号鍵格納部6608、署名情報検証部6611、検証鍵記憶部1612及び実行部6606から構成される。
以下に、実行装置6600を構成する各部について説明する。なお、コンテンツ鍵取得部1602、デバイス鍵格納部1604及び検証鍵記憶部1612は、実施の形態1の実行装置1600を構成するコンテンツ鍵取得部1602、デバイス鍵格納部1604及び検証鍵記憶部1612と同一であるので説明を省略する。
(1)取得部6601
取得部6601は、DVD6500を装着される。DVD6500が装着されると、取得部6601は、先ず領域情報6560を読み出す。読み出した領域情報6560を、領域情報格納部6603へ書き込み、読み出した領域情報6560を暗号通信部6604へ出力する。
次に、DVD6500から鍵ブロック6510、ユニット選出情報6530及び署名情報6570を読み出し、読み出した鍵ブロック6510をコンテンツ鍵取得部1602へ出力する。読み出したユニット選出情報6530及び署名情報6570を署名情報検証部6611へ出力する。
また、署名情報検証部6611及び実行部1606から、各種の情報の読み出しの要求を受け付ける。読み出しの要求を受け付けると、領域情報格納部6603から領域情報を読み出し、要求されている情報が、領域情報の示す領域内に存在すれば、要求された情報をDVD6500から読み出し、読み出した情報を、要求基である署名情報検証部6611又は実行部1606へ出力する。
要求されている情報が、読み出した領域情報の示す領域内に存在しなければ、要求された情報が読み出し不可であることを示すエラー通知信号を出力する。
(2)領域情報格納部6603
領域情報格納部6603は、一例として、RAMから構成され、取得部6601によって書き込まれる領域情報を記憶している。
(3)暗号通信部6604及び暗号鍵格納部6605
暗号鍵格納部6605は、一例としてROMから構成され、56ビット長の暗号鍵を記憶している。
暗号通信部6604は、取得部6601から領域情報6560を受け取る。領域情報を受け取ると、暗号鍵格納部6605から暗号鍵を読み出し、読み出した暗号鍵に暗号化アルゴリズムE2を施して暗号化領域情報を生成する。ここで、暗号化アルゴリズムE2は、一例としてDES(Data Encryption Standard)を用いる。
次に、暗号通信部6604は、生成した暗号化領域情報を復号通信部6607へ出力する。
(4)復号通信部6607及び復号鍵格納部6608
復号鍵格納部6608は、一例としてROMから構成され、56ビット長の復号鍵を記憶している。ここで、復号鍵は、暗号鍵格納部6605の記憶している暗号鍵と同一である。
復号通信部6607は、暗号通信部6604から暗号化領域情報を受け取る。暗号化領域情報を受け取ると、復号鍵格納部6608から復号鍵を読み出し、読み出した復号鍵を用いて、受け取った暗号化領域情報に復号アルゴリズムD2を施して領域情報を生成する。ここで、復号アルゴリズムD2は、暗号化アルゴリズムE2によって生成された暗号文を復号するアルゴリズムである。
次に、復号通信部6607は、生成した領域情報を署名情報検証部6611へ出力する。
なお、ここでは、暗号鍵と復号鍵は同一であり、暗号通信部6604及び復号通信部6607は共通鍵暗号方式を用いるとして説明してきたが、これに限るものではなく、公開鍵暗号方式を用いても良い。また、公開鍵暗号方式と共通鍵暗号方式を組み合わせて、通信のたびに異なる鍵を生成し、生成した鍵により暗号通信を行っても良い。
また、ここでは、領域情報のみを暗号化してコンテンツ実行部6625へ出力しているが、コンテンツ実行部6625とドライブ部6620間で送受信される全ての情報を、暗号化してもよい。
(5)署名情報検証部6611
署名情報検証部6611は、取得部6601からユニット選出情報6530と署名情報6570とを受け取る。また、復号通信部6607から領域情報を受け取る。
ユニット選出情報6530と署名情報6570とを受け取ると、受け取ったユニット選出情報6530とDVD6500に記憶されている暗号化コンテンツ6580とヘッダ情報6550とを基に、入替第2ハッシュテーブルを生成する。入替第2ハッシュテーブルの生成手順は、実施の形態1の署名情報検証部1611による、入替第2ハッシュテーブルの生成手順と同一であるので説明を省略する。
次に、署名情報検証部6611は、検証鍵記憶部1612から検証鍵1613を読み出す。次に、生成した入替第2ハッシュテーブルに含まれる全てのファイルハッシュ値及び入替ファイルハッシュ値と受け取ったユニット選出情報6530に含まれる全てのファイル情報と領域情報とを結合した結合物に、読み出した検証鍵1613を用いて、署名検証アルゴリズムVを施して、署名検証情報を生成する。生成した署名検証情報と受け取った署名情報6570とを比較する。
両者が一致しなければ、署名情報の検証が失敗であると判断し、実行部1606へ再生禁止情報を出力する。
両者が一致する場合、受け取った署名情報6570の検証が成功であると判断し検証の処理を終了する。
上記の処理の途中で、署名情報検証部6611は、取得部6601へ暗号化コンテンツ及びヘッダ情報の一部の読み出しを指示するが、このとき、取得部6601から、読み出しができないことを示すエラー通知信号を受け取る場合がある。
エラー通知信号を受け取ると、署名情報検証部6611は、上記の、署名情報の検証処理を中止し、実行部1606へ、再生禁止情報を出力する。
(6)実行部6606
実行部6606は、実施の形態1の実行装置1600を構成する実行部1606と同様に、コンテンツ鍵取得部1602から、コンテンツ鍵を受け取り、暗号化ファイルの読み出し、復号、再生の繰返しを開始する。
この繰返しの途中で、署名情報検証部6611から、再生禁止情報を受け取る場合がある。
また、この繰返しにおいて、取得部6601へ、暗号化コンテンツ6580を構成する暗号化ファイルの読み出しを要求するが、その際、取得部6601から、読み出しができないことを示すエラー通知信号を受け取る場合がある。
再生禁止情報又はエラー通知信号を受け取ると、実行部6606は、再生の処理を中止し、装着されているDVDの再生ができないことを利用者に通知する。
6.5 まとめ・効果
以上、説明してきたように、本実施の形態の不正コンテンツ検知システムを構成する配布装置6100は、配布装置6100が正規に書き込んだ情報の存在する領域を示す領域情報を生成してDVDに書き込む。さらに、第2ハッシュテーブル、ユニット選出情報及び領域情報から署名情報を生成し、DVDに書き込む。
実行装置6600の取得部6601は、DVD6500が装着されると、先ず、DVD6500から領域情報を読み出し、読み出した領域情報の示す領域以外に書き込まれている情報の読み出しを行わない。
このようにすることで、実施の形態5において説明したDVD6500の空き領域に不正コンテンツを書き込むという不正が発生しても、実行装置6600では、不正コンテンツを再生することができない。
さらに、DVD6500の記憶している署名情報は、領域情報を用いて生成されており、実行装置6600の署名情報検証部6611は、署名情報の検証に、DVD6500から読み出した領域情報を用いる。従って、不正な第三者が、不正コンテンツの挿入と供に、領域情報を改ざんしたとしても、署名情報検証部6611による署名情報の検証が失敗し、不正コンテンツを再生することができない。
さらに、DVDに空領域が残っていない場合、正規のDVDに記録されている全データを、正規のDVDよりも記憶容量の大きな別の媒体にコピーして、その別の媒体の空き領域に不正コンテンツを追記するという不正行為も考えられるが、このような場合であっても、本実施の形態の不正コンテンツ検知システムでの実行装置6600では、領域情報の示す記憶領域以外の領域から情報を読み出すことはない。従って、このような不正を抑止することができる。
6.6 実施の形態6の変形例
上記の実施の形態6において、配布装置6100の生成する領域情報は、DVD6500上において、配布装置6100が正規に書き込んだ情報の存在する領域を示す情報であったが、これに代わって、配布装置6100が正規に書き込んだ情報の総データサイズであってもよい。
この場合、実行装置6600の取得部6601は、先ず、DVD6500から総データサイズを読み出す。次に、DVD6500に記憶されている情報の総データサイズを計測する。計測したデータサイズが読み出したデータサイズより大きい場合、取得部6601は、DVD6500からのデータの読み出しを中止し実行部6606へエラー通知信号を出力する。
7. その他の変形例
本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の実施の形態1、5及び6において、配布装置は、暗号化ユニットをハッシュ関数に代入して、ユニットハッシュ値を算出し、算出したユニットハッシュ値を基にヘッダ情報及び署名情報を生成し、実行装置は、選択したi個の暗号化ユニットを用いて署名情報の検証をしているが、配布装置は、暗号化する前のユニットを用いてユニットハッシュ値を算出し、実行装置においては、選択したi個の暗号化ユニットを復号してユニットを生成し、生成したi個のユニットを用いて、署名情報を検証しても良い。
(2)また、逆に、実施の形態2〜4において、配布装置は、部分コンテンツをハッシュ関数に代入して、部分ハッシュ値を算出し、これを基にヘッダ情報及び署名情報を生成しているが、各部分コンテンツを暗号化して生成した暗号化部分コンテンツをハッシュ関数に代入して、部分ハッシュ値を算出し、これを基にヘッダ情報及び署名情報を生成するとしても良い。
この場合、実行装置では、ヘッダ情報の検証に暗号化部分コンテンツを用いるため、代表部分復号部及び部分復号部を備える必要がなくなり、回路規模を縮小できる。
(3)実施の形態2〜4では、署名情報の検証及びヘッダ情報の検証が成功した後に、実行部が、暗号化コンテンツの復号、伸長、再生を開始しているが、これらの検証と並行して再生に係る処理を開始してもよい。この場合、署名情報検証部及びヘッダ情報検証部は、それぞれの実行する検証処理が失敗であれば、実行部へ、再生停止を指示する。
(4)実施の形態1、5、6において、署名情報検証部は、時間の経過を計測するタイマを備えており、所定時間内に署名情報の検証が終了しなければ、検証が失敗したとみなすようにしても良い。
再生と並行して、署名情報の検証を行う場合、コンテンツ、署名情報、ヘッダ情報が改ざんされていても、検証が完了するまでの間は、不正コンテンツが再生されることになる。
従って、署名情報の検証に制限時間を設けることにより、署名情報の検証が遅延するような改ざんを加えることで、不正コンテンツの再生時間を引き延ばすような不正に対処することができる。
また、上記の変形例(3)の署名情報検証部及びヘッダ情報検証部においても、同様に、タイマを備えているとしても良い。
(5) 上記の実施の形態1〜6において、配布装置と実行装置は、対応する署名鍵と検証鍵を有しており、DSAのような署名生成アルゴリズムによって、署名情報の生成、検証を行っている。
一般に、署名生成アルゴリズムには、DSA、RSA(Rivest-Shamir-Adleman)などに代表される公開鍵暗号方式に基づくものが多いが、実行装置において、DVDに記録されている署名情報が、正当な権利者により生成されたものであることが証明できる情報であればよく、共通鍵暗号方式に基づくものでも良い。
また、別の例として、処理内容が秘密の一方向性関数を用いても良い。この場合、配布装置と実行装置は、同一の一方向性関数を外部機器からは、読み取ることができない記憶領域に記憶しており、配布装置は、この一方向性関数により署名情報を生成し、実行装置は、同一の一方向性関数により、署名検証情報を生成する。
(6)また、署名情報を生成する際に、署名生成アルゴリズムを施す対象となる情報は、上記の実施の形態において説明したものに限るものではなく、例えば、実施の形態1においては、第2ハッシュテーブルと、ユニット選出情報に代わって、第2ハッシュテーブルのみに署名生成アルゴリズムを施しても良いし、第2ハッシュテーブルに加えてコンテンツ鍵「CK」や暗号化コンテンツのデータサイズなどをに署名生成アルゴリズムを施しても良い。実施の形態2において、代表部分コンテンツから生成した部分ハッシュ値に署名生成アルゴリズムを施す代わりに、代表部分コンテンツ自体に署名生成アルゴリズムを施しても良い。
特に、実施の形態2において、代表部分コンテンツから署名情報を生成する場合、k個の代表部分コンテンツそれぞれに署名生成アルゴリズムを施してk個の署名情報を生成しても良い。
この場合、実行装置は、選択位置情報に基づいて、k個の代表部分コンテンツを生成し、生成したk個の代表部分コンテンツによりk個の署名情報をそれぞれ検証する。
また、配布装置は、k個の代表部分コンテンツを結合した結合物に署名生成アルゴリズムを施して署名情報を生成し、実行装置では、k個の代表部分コンテンツの結合物を用いて署名情報の検証を行ってもよい。
このようにした場合、署名情報の検証が成功であれば、正当な権利者によって署名情報が生成されたことと、代表部分コンテンツに改ざんが加えられていないことが一度に証明される。従って、ヘッダ情報を生成し、DVDに書き込む必要がなくなり、DVDに書き込むデータサイズを縮小することができる。
(7)実施の形態2〜3において、選択位置情報を予め実行装置が記憶しており、DVDには、暗号化選択位置情報は記録されていないとしても良い。従って、正規の実行装置は、予め記憶している選択位置情報によって、ヘッダ情報の検証を行うことができる。
(8)また、変形例(7)の場合、実施の形態3において、ヘッダ選択情報とx個のヘッダグループをDVDに書き込む代わりに、配布装置は、第1ヘッダグループ〜第xヘッダグループのうちいずれか一つを選択し、選択したヘッダグループに含まれるヘッダ識別子とヘッダ情報と署名情報を抽出し、これらをDVDに書き込む。
実行装置は、予めx個の選択位置情報とヘッダ識別子との組を記憶しており、DVDに書き込まれているヘッダ識別子を基に、1個の選択位置情報を選択し、選択した選択位置情報を、以後の処理に用いるとしてもよい。
(9)上記の実施の形態1〜7において、実行装置は1個の装置として説明してきたが、複数の装置によって、実行装置と同等の機能を果たすようにしても良い。
(10)実施の形態3において、実行装置の取得部は、x個のヘッダ識別子の中から1個を選択しているが、これに限るものではなく、2個以上を選択し、署名情報及びヘッダ情報の検証を2回以上繰り返しても良い。このようにすることで、より確実に、不正なコンテンツを検出することができる。
(11)上記の実施の形態及び変形例では、配布装置の署名鍵記憶部及び実行装置の検証鍵記憶部は、それぞれ1個の鍵情報を記憶しているが、これに限るものではない。
(11−1)例えば、署名鍵記憶部は、署名鍵及び署名鍵と対応する鍵識別子とを記憶しており、記録部は、DVDに、署名情報とあわせて、鍵識別子を書き込む。
実行装置の検証鍵記憶部は、複数の検証鍵とそれぞれの検証鍵と対応する鍵識別子を記憶している。署名情報検証部は、署名情報と合わせて鍵識別子を受け取り、検証鍵記憶部の記憶している複数の鍵識別子のなかから、受け取った鍵識別子と一致する鍵識別子を検索し、検出した検証鍵識別子と対応する検証鍵を読み出して、署名情報の検証に用いる。
このようにすることで、複数の異なる配布装置が存在する場合にも対応できる。
(11−2)また、実行装置には、検証鍵記憶部は存在せず、配布装置の署名鍵記憶部に、署名鍵及び、署名鍵と対応する検証鍵が記憶されており、記録部は、署名情報とあわせて、検証鍵をDVDに書き込むとしてもよい。
(11−3)また、配布装置は、署名鍵、検証鍵に加えて公正な第三者機関によって生成された検証鍵の認証情報(ここでは、第三者機関の秘密鍵を用いて検証鍵に署名生成アルゴリズムを施して生成された鍵署名とする)を記憶している。
記録部は、署名情報と合わせて、検証鍵及び鍵署名をDVDに書き込む。
実行装置の検証鍵記憶部は、検証鍵に代わって鍵検証情報を記憶している。鍵検証情報は、鍵署名を検証するための情報であり、ここでは、鍵署名を生成した公正な第三者機関の秘密鍵と対になる公開鍵である。
署名情報検証部は、鍵署名と検証鍵とを受け取り、署名情報の検証に先立って、受け取った鍵と鍵検証情報を用いて鍵署名の検証を行い、成功であった場合のみ、上記の実施の形態において説明したような、署名情報の検証を開始する。
このようにすることで、複数の配布装置が存在する場合であっても、実行装置は、第三者の鍵検証情報のみを保持していればよく、複数の検証鍵を保持する必要がなくなる。
(12)また、変形例(11)において、実行装置は、無効化された検証鍵を示す無効化リストを記憶していても良い。署名情報検証部は、受け取った鍵識別子又は検証鍵が、無効化リストに登録されているか否かを判定し、登録されている場合は、署名情報の検証を中止する。
(13)実行装置は、(12)において説明した無効化リストを外部から取得するとしても良い。例えば、DVDを初めとする、記録媒体を介して取得しても良いし、インターネット、放送などにより取得しても良い。また、定期的に、最新の無効化リストを取得しても良い。
このようにすることで、新たに無効化すべき検証鍵が発見された場合にも対応することができる。
(14)配布装置はDVDを介して、暗号化コンテンツ、署名情報を初めとする各種の情報を実行装置に配布しているが、これに限るものではなく、CD−ROMやDVD−ROMのような光ディスクやCD−RやDVD−R、DVD−RAMのような書き込み可能光ディスクなどでもよいし、光磁気ディスク、メモリカードなどであっても良い。また、フラッシュメモリやハードディスクなどの半導体メモリであって、実行装置内部に組み込まれていてもよい。
さらに、記録媒体に限らず、インターネットなどの通信手段により、配布しても良い。もしくは、放送により配布してもよい。
(15)上記の実施の形態及び変形例では、コンテンツは、画像及び音声からなる動画コンテンツとして説明してきたが、コンピュータプログラムであってもよい。例えば、実行装置がゲーム機であって、コンテンツはゲーム機に組み込まれているフラッシュメモリに記憶されているコンピュータプログラムであって、ゲーム機に装着されるゲームソフト(光ディスク、メモリカードなど)が正規のゲームソフトであるか否かを判定する判定プログラムであると想定する。ここで、不正な利用者が、不正なゲームソフトの実行を許可するように、前記判定プログラムを改ざんしたとしても、署名情報及びヘッダ情報を用いて、不正な改ざんの有無の検証を行い、改ざんが検出され、判定プログラムの実行自体が防止又は中断される。このように実行自体を停止させることで、不正な改ざんを施された判定プログラムによる不正な動作、すなわち不正なゲームソフトを実行することを防止することができる。
(16)上記の変形例で説明したように、コンテンツが、実行装置に組み込まれているマイコンに搭載されたフラッシュメモリに記憶されているコンピュータプログラムである場合、実施の形態5において、説明したような不正が考えられる。具体的には、先ず、フラッシュメモリに記憶されている正規のコンピュータプログラムには改ざんを施さずに、フラッシュメモリ上のあき領域に不正なプログラムを追記する。次に、正規のコンピュータプログラムのバグを利用して、バッファオーバーフローを引き起こし、追加した不正プログラムの先頭にジャンプさせ、不正プログラムの実行を開始させる。
ここで、実施の形態5のように、フラッシュメモリに空き領域が残らないように、充填コンテンツをフラッシュメモリに書き込んでおくことで、不正コンテンツの追記ができす、上記のような不正を抑制することができる。
また、実施の形態6のように、予め、配布装置により書き込まれた正規の情報が存在する領域を示す領域情報をフラッシュメモリに書き込んでおき、実行装置は、領域情報の示す領域以外から、情報を読み出さないようにすることで、不正なプログラムが追記されたとしても、この不正プログラムを実行することはない。
(17)上記の実施の形態1〜6及び変形例において、実行部は、映像及び音声からなるコンテンツを再生するものとして説明してきたが、外部の記録媒体にコンテンツを出力するようなものでも良いし、印刷機能を有し画像データを紙などに印刷するようなものであってもよい。
(18)上記の実施の形態では、コンテンツ鍵生成部は、配布装置にコンテンツが入力されるたびにコンテンツ鍵を生成しているが、予め、複数のコンテンツ鍵を記憶しており、記憶しているコンテンツ鍵のうちいずれか一つを選択して出力するとしても良い。
(19)上記の実施の形態では、実行装置は、DVDの装着をきっかけとして、ヘッダ情報、署名情報などの検証を開始していたが、これに限るものではない。
例えば、利用者のボタン操作により、再生を指示されたときや、DVDの装着から一定時間間隔で定期的に行うとしても良い。
(20)実施の形態2及び3において、ヘッダ情報をDVDに書き込むことは、必ずしも必要ではない。
この場合、実行装置は、選択位置情報を基に、k個の代表部分コンテンツを抽出し、抽出した代表部分コンテンツそれぞれをハッシュ関数に代入し、検証用ハッシュ値を算出する。
次に、検証鍵を用いて、算出した検証用ハッシュ値の結合物に署名検証アルゴリズムVを施して、署名検証情報を生成する。生成した署名検証情報と署名情報とを比較することで、署名情報を検証する。
このようにした場合、実行装置には、ヘッダ情報検証部は、必要なくなり、回路規模を縮小できる。また、署名情報の検証をすることで、不正コンテンツの検証も同時に完了することができる。
(21)実施の形態4において、実行装置4600は、署名情報検証部4606による署名情報の検証が成功した後、ヘッダ情報に含まれるc個の部分ハッシュ値のうち、k個のみを検証しているが、k個の暗号化部分コンテンツとヘッダ情報とを用いて、署名情報の検証とヘッダ情報の検証とを1度の検証によって行っても良い。
具体的には、コンテンツ位置情報を基に、暗号化コンテンツからk個の暗号化部分コンテンツを抽出する。抽出したk個の暗号化部分コンテンツを復号してk個の部分コンテンツを生成する。生成したk個の部分コンテンツそれぞれを、ハッシュ関数に代入して、入替部分ハッシュ値を算出する。
次に、ヘッダ情報に含まれるc個の部分ハッシュ値のうち、選択したk個の暗号化部分コンテンツと対応する部分ハッシュ値を算出した入替部分ハッシュ値と入れ替える。
入替後のヘッダ情報に含まれる部分ハッシュ値及び入替部分ハッシュ値を結合した結合物と、検証鍵とを用いて、署名情報の検証を行う。
このようにした場合、実行装置には、ヘッダ情報検証部又はヘッダ情報検証部のいずれか一方は必要なく、回路規模を縮小できる。また、署名情報の検証をすることで、不正コンテンツの検証も同時に完了することができる。
(22)上記の実施の形態1〜6において、DVDには、唯一つの暗号化コンテンツと、この暗号化コンテンツに対応する署名情報、ヘッダ情報などが書き込まれているが、異なる暗号化コンテンツを複数記憶しており、それぞれの暗号化コンテンツに対応するヘッダ情報、署名情報などを記憶していても良い。
また、全てのヘッダ情報を基に生成された署名情報を唯一つ含んでいても良い。さらに、これらの暗号化コンテンツとは別の、著作権を保護する必要のないコンテンツ、例えば、宣伝広告、オープニング画面、メニュー画面などを含んでいても良い。さらに、署名情報、ヘッダ情報などの検証を行っている間に、これらのコンテンツを再生していてもよい。
(23)実施の形態1〜6及び変形例において、実行装置は、署名情報の検証又はヘッダ情報の検証に失敗した場合、取得部に装着されているDVDを識別するディスク識別子、再生しようとしていたコンテンツを識別するコンテンツ識別子を記憶しても良い。
記憶しているディスク識別子と同一のディスク識別子を有するDVDが装着された場合、実行装置は、コンテンツの再生を中止する。または、記憶しているコンテンツ識別子と同一の識別子を有するコンテンツの再生を指示された場合、コンテンツの再生を中止する。
(24)上記の実施の形態及び変形例において、実行装置は、署名情報の検証又はヘッダ情報の検証に失敗した場合、コンテンツの再生を中止し、モニタにエラーを通知する画面を表示するなどしてコンテンツが不正であることを利用者に通知している。検証に失敗した場合の、実行装置の動作は、これらに限るものではなく、以下のような場合も考えられる。また以下の3つの変形例を組み合わせても良い。
(24−1)配布装置と実行装置は、ともにインターネットに接続されており、実行装置は、署名情報の検証又はヘッダ情報の検証に失敗した場合、インターネットを介して、検証に失敗したことを配布装置に通知する。この際に、検証に失敗したコンテンツを示すコンテンツ識別子を一緒に送信する。
配布装置は、予め、コンテンツ識別子とコンテンツ識別子の示すコンテンツの作成日を対応付けて記憶している。
配布装置は、インターネットを介して、実行装置から検証失敗の通知とコンテンツ識別子とを受信する。受信したコンテンツ識別子と対応する作成日によって、コンテンツの再生の許可を示す再生許可情報又は再生を禁止する再生禁止情報を生成する。例えば、作成日から半年未満の新作コンテンツを示すコンテンツ識別子であれば、再生禁止情報を生成し、作成日から半年以上経過した旧作コンテンツを示すコンテンツ識別識別子であれば、再生許可情報を生成する。
次に、生成した再生許可情報又は再生禁止情報をインターネットを介して実行装置に送信し、実行装置は、再生許可情報を受信した場合のみ、DVDに記憶されている暗号化コンテンツを復号し、再生する。
このようにすることで、すでに発売から一定期間が経過し、需要がある程度満たされ、今後の販売数がそれほど多くないと予測されるコンテンツについては、コンテンツの視聴を許可することで、DVDを購入した利用者の利益を優先し、発売後間もなく、これからの販売数が見込めるコンテンツについては、再生を禁止することで、著作権者の権利を優先することができる。つまり、利用者の利益と、著作権者の利益との調整を図ることができる。
なお、再生許可情報及び再生禁止情報の何れを送信するかを決定する方法は、これに限ったものではなく、個々のコンテンツ毎に、コンテンツの著作権者、発売元などの意思を反映した、許可の条件を記憶していても良い。
(24−2)既に述べたように、コンテンツを記録している媒体は、DVDに限るものではなく、書き換え可能な記録媒体であっても良い。ここでは、一例として、フラッシュメモリを搭載したメモリカードであるとする。
実行装置は、署名情報の検証又はヘッダ情報の検証に失敗した場合、メモリカードに記録されている暗号化コンテンツに記録されている情報の全部又は一部を消去する。
このようにすることで、今後の不正コンテンツの利用を確実に防止することができる。
(24−3)コンテンツが高画質(HD:High Definition )な動画データである場合、実行装置は、検証に失敗すると、動画データを標準画質(SD:Standard)に変換して再生する。
また、コンテンツが高音質(5.1チャネンネル)の音声データの場合、実行装置は、標準音質(2チャンネル)の音声データに変換して再生する。
このように、再生品質を低下させるという条件付で再生を許可することで、利用者の利便性と、著作権者の利益の調整をある程度、図ることができる。
(25)実施の形態2、3において、実行装置の取得部は、DVDが装着されると、鍵ブロック、暗号化選択位置情報、ヘッダ情報署名情報、暗号化コンテンツを読み出しているが、各部の処理の進行に従って、必要な情報のみを取得部を介して読み出すようにしても良い。
たとえば、DVDが装着された際には、鍵ブロックのみを読み出し、コンテンツ鍵の生成が終了すると、暗号化選択位置情報を読み出し、暗号化選択位置情報の復号が終了すると、署名情報とヘッダ情報を読み出し、署名情報の検証を行う。署名情報の検証が終了すると、選択位置情報の示すk個の暗号化ブロックを読み出す。
実施の形態4においても、同様にして、必要な情報のみを随時読み出すようにしてもよい。
(26)実施の形態1において、選択されたi個の暗号化ユニットを読み出す際に、以下に説明するように、読み出しの順序を工夫することで、読み出し速度を早くすることができる。
説明の簡略化のため、ここでは、i=4として、4個の暗号化ユニットを読み出す場合について考える。
DVDを初めとする光ディスク上では、データを記録する部分がいくつかに分かれており、年輪状に広がっている各領域をトラックと呼ぶ。各トラックには、いくつかのセクタを含み、データはセクタ単位で読み書きされる。例えば、1セクタのサイズは512バイトである。このような場合、DVD上の読み取り対象データは、トラック識別番号やセクタ識別番号やセクタサイズにより特定することが出来る。
図71は、DVD1500の構造と、取得部1601の構成を示している。図中の同心円状の領域がトラックである。
図71の示すように、取得部1601は、ヘッド機構部(ピックアップとも言う)1628及び回転軸1629を備え、回転軸1629を回転させることによりDVD1500を反時計回りに回転させる。図中の破線矢印が回転方向を示している。取得部1601は、トラック識別番号やセクタ識別番号やセクタサイズなどを指定することで、ヘッド機構部1628を移動させ、読み出し対象のデータを取得する。
一般に、読み出し対象のデータが存在するトラックへヘッド機構部1628を移動させるために時間がかかることが知られている。言い換えると、DVD上において内周側から外周方向への移動、もしくは、外周側から内周方向への移動距離に応じて、読み出しに要する時間が長くなる。
ここで、4個の暗号化ユニット「EU1_3」、「EU3_1」、「EU8_7」、「EU9_2」が読み出し対象であり、それぞれが、DVD1500上の領域1591、1592、1593及び1594に記憶されている。
DVD1500に対して、ヘッド機構部1628は、図71に示す位置に存在しているとする。
この場合、上記の実施の形態1において説明した手順によると、取得部1601は、まず、領域1591の存在するトラック1501までヘッド機構部1628を移動させ、領域1591に記録されている暗号化ユニット「EU1_3」を読み出し、続いて、トラック1504へ、ヘッド機構部1628を移動させて領域1592から暗号化ユニット「EU3_1」を読み出す。次に、ヘッド機構部1628をトラック1502へヘッド機構部1628を移動し、領域1593から暗号化ユニット「EU8_7」を読み出し、次に、トラック1503にヘッド機構部1528を移動させ、領域1594から暗号化ユニット「EU9_2」を読み出す。
このように、実施の形態1において説明した手順に従うと、ヘッド機構部1628の移動距離が長くなり、全ての暗号化ユニットを読み出す時間が長くなる。
ここで、4個の暗号化ユニットの読み出し順序を、現在、ヘッド機構部1628の存在するトラックから、近いトラックに存在する順に変更する。つまり、取得部1601は、4個の暗号化ユニットの存在する領域1591、1592、1593及び1594の存在位置を示すセクタ番号及びトラック番号と、ヘッド機構部1628の存在するトラック番号とを比較し、読み出しのために、ヘッド機構部1628の移動する距離が最短になるように、取得した4個の領域にを示すセクタ番号及びトラック番号を並べ替え、並べ替えた順に、各領域にアクセスする。
このようにすることで、読み出しに係る時間を短縮することができる。さらに、読み出す暗号化ユニットが同一または近接するのトラック上に存在する場合、現在のヘッド機構部1628の位置と、各暗号化ユニットの記憶されている領域を示すセクタ番号によって、読み出し順序を変更してもよい。
なお、読み出し順序の最適化の方法は、取得部1601の備える回転軸及びヘッド機構部の動作の特性に依存するため、ここで説明した最適化の手順は一例である。例えば、光ディスクの回転制御方式には、角速度一定方式や線速度一定方式があり、これらの特徴を考慮するようにしても良い。また、DVDなどの光ディスクに代わってハードディスクを用いた場合でも同様のことが実現出来る。
実施の形態5、6においても、同様にして、読み出し速度の向上を図ることができる。また、実施の形態2〜4に係る変形例(19)においても、同様である。
(27)実施の形態1及び5、6において、実行装置は、ランダムにi個の暗号化ファイルを選択し、選択した各暗号化ファイルから1個ずつ暗号化ユニットを選択しているが、選択の手順は、この方法に限るものではなく、合計してi個選択すればよく、同一の暗号化ファイルから複数の暗号化ユニットを選択しても良い。
(28)また、実施の形態1及び5、6において、実行装置が選択する暗号化ユニットの個数「i」は、予め、実行装置に設定されていても良いし、DVDに書き込まれていても良い。
不正コンテンツの有無の検証の精度は、選択する暗号化ユニットの数「i」が大きいほど、高くなるが、これに応じて、署名情報の検証に係る処理負荷が高くなる。
このように、DVDに選択すべき暗号化ユニットの数「i」を記録しておき、実行装置が、DVDから取得した「i」に従って、署名情報の検証を行うことで、検証の精度にDVDの製作者の意思を反映する0ことができる。
また、実施の形態4において、k個の暗号化部分コンテンツを選択する場合においても同様である。
(29)実施の形態1、5、6において、署名情報は、c個のファイルハッシュ値を結合した結合物に署名生成アルゴリズムを施して生成されているが、c個のファイルハッシュ値を結合した結合物をさらにハッシュ関数に代入して結合ハッシュ値を算出し、算出した結合ハッシュ値に署名生成アルゴリズムを施した物であっても良い。
(30)実施の形態1、5、6において、ヘッダ情報は、各暗号化ユニットから生成されたユニットハッシュ値と、同一のファイルに基づいて生成されたm個のユニットハッシュ値から生成されたファイルハッシュ値の2階層構造のハッシュ値により構成され、署名情報は、c個のファイルハッシュ値を用いて生成されている。
これに代わって、ヘッダ情報は、3階層構造のハッシュ値を含んでいても良い。具体的には、ヘッダ情報は、c個のファイルハッシュ値をy個のグループに分割し、グループごとに、ファイルハッシュ値を結合した結合物をハッシュ関数に代入して生成された結合ファイルハッシュ値をy個含んでいる。この場合、署名情報は、このy個の結合ファイルハッシュ値を用いて生成されたものである。
このように、階層構造を深くすることで、DVDから読み出す情報をより少なくすることができる。
(31)また、実施の形態5において、説明したように、DVDには、コンテンツの再生手順を示す再生手順ファイルが記録されている場合がある。この場合、DVDは、再生手順ファイルに対する署名情報を含んでいても良い。
このようにすることで、実施の形態5において説明したように、不正な第三者が不正コンテンツの追加及び差し替えを行い、再生手順ファイルを改ざんしたとしても、再生手順ファイルに対する署名情報の検証により、改ざんが検出され、不正コンテンツが再生されることはない。
(32)実施の形態3において、配布装置3100の選択部3105が一つのコンテンツから選択する代表部分コンテンツの延べ数はk×x個である。
この際、c個の部分コンテンツの全てが、1度以上代表部分コンテンツとして選択されるようにしても良い。このようにすることで、DVDに記憶されている暗号化コンテンツの一部が差し替えられた場合、不正コンテンツの検出の精度を高めることができる。
(33)実施の形態1、5、6において、配布装置は、ユニット選出情報をDVDに書き込んでいるが、これに代わって、コンテンツ鍵を用いて、ユニット選出情報を暗号化して生成した暗号化ユニット選出情報を書き込んでも良い。
また、実施の形態4において、配布装置は、コンテンツ位置情報をDVDに書き込んでいるが、これに代わって、コンテンツ鍵を用いて、コンテンツ位置情報を暗号化して生成された暗号化コンテンツ位置情報を書き込んでも良い。
(34)実施の形態1〜6及び変形例において、ユニットハッシュ値、部分ハッシュ値は、それぞれ、暗号化ユニット、部分コンテンツをハッシュ関数に代入して算出されているが、各暗号化ユニット又は部分コンテンツと対応する識別子、特定情報と暗号化ユニット又は部分コンテンツとの結合物から算出するとしてもよい。
(35)実施の形態5において生成する充填コンテンツは、充填容量と同一のデータサイズであるが、DVDに残存する空容量を十分小さくできるデータサイズであれば、これに限るものではない。
(36)実施の形態1〜6において、実行装置は、外部のモニタに画像信号及び音声信号を出力することでコンテンツを再生しているが、このようなモニタを内蔵していても良い。
(37)上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。また、構成要素ごとに、個別の集積回路上に構築されるとしてもよい。
また、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
(38)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(39)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明は、コンテンツを生産し、販売し、譲渡し、使用する産業において、また、前記コンテンツを再生、編集、加工する各種の電気機器を製造し、販売し、使用する産業において、経営的、継続的、反復的に利用することができる。
図1は、実施の形態1の不正コンテンツ検知システム1の構成を示す構成図である。 図2は、実施の形態1における配布装置1100の構成を示すブロック図である。 図3は、配布装置1100に入力されるコンテンツ1120の構成を示す。 図4は、実行装置情報格納部1104の記憶している装置識別テーブル1130の構成を示す。 図5は、鍵ブロック生成部1103により生成される鍵ブロック1150の詳細を示す。 図6は、ユニット生成部1105による分割コンテンツの生成の概要を示す。 図7は、ユニット生成部1105により生成されるユニット選出情報1200の構成を示す。 図8は、暗号処理部1106による暗号化の処理の一部を示す。 図9は、暗号処理部1106により生成される暗号化コンテンツ1330の構成を示す。 図10は、ヘッダ情報生成部1107による、ヘッダ情報1260の生成の概要を示す。 図11は、ヘッダ情報生成部1107による第1ハッシュテーブルの生成手順を示す。 図12は、ヘッダ情報生成部1107により生成される第2ハッシュテーブルの詳細を示す。 図13は、署名情報生成部1111による処理を示す。 図14は、実施の形態1におけるDVD1500の記憶している情報を示す。 図15は、実施の形態1における実行装置1600の構成を示すブロック図である。 図16は、署名情報検証部1611による署名情報の検証処理の概要を示す。 図17は、署名情報検証部1611による処理の一部を示す。 図18は、署名情報検証部1611による入替第1ハッシュテーブルの生成手順を示す。 図19は、署名情報検証部1611による入替第2ハッシュテーブルの生成手順を示す。 図20は、署名情報検証部1611による署名情報の検証を示す。 図21は、配布装置1100の動作を示すフローチャートである。 図22は、配布装置1100の動作を示すフローチャートである。図21から続く。 図23は、実行装置1600による署名情報の検証の手順を示す。 図24は、実行装置1600の動作を示すフローチャートである。 図25は、実行装置1600の動作を示すフローチャートである。図24から続く。 図26は、実施の形態1の変形例における実行装置1100bの構成を示すブロック図である。 図27は、実施の形態2における配布装置2100の構成を示すブロック図である。 図28は、配布装置2100に入力されるコンテンツ2120と特定情報とを示す。 図29は、選択部2105による処理の概要を示す。 図30は、ヘッダ情報生成部2107により生成される選択位置情報2160の構成を示す。 図31は、ヘッダ情報生成部2107により生成されるヘッダ情報2200の構成を示す。 図32は、暗号処理部2109により生成される暗号化コンテンツの構成を示す。 図33は、実施の形態2におけるDVD2500に記録されている情報を示す。 図34は、実施の形態2における実行装置2600の構成を示すブロック図である。 図35は、配布装置2100の動作を示すフローチャートである。 図36は、実行装置2600の動作を示すフローチャートである。 図37は、実施の形態3における配布装置3100の構成を示すブロック図である。 図38は、ヘッダ情報生成部3107により生成されるヘッダ選択情報3130の構成を示す。 図39は、実施の形態3におけるDVD3500に記録されている情報を示す。 図40は、実施の形態3における実行装置3600の構成を示すブロック図である。 図41は、実施の形態4における配布装置4100の構成を示すブロック図である。 図42は、部分コンテンツ生成部4105により生成される分割コンテンツ及び特定情報を示す。 図43は、ヘッダ情報生成部4107により生成されるコンテンツ位置情報4140の構成を示す。 図44は、ヘッダ情報生成部4107により生成されるヘッダ情報4160の構成を示す。 図45は、実施の形態4におけるDVD4500に記録されている情報を示す。 図46は、実施の形態4における実行装置4600の構成を示すブロック図である。 図47は、選択部4611による選択位置情報4620の生成の概要を示す。 図48は、選択部4611による選択ヘッダ情報4630の生成の概要を示す。 図49は、部分復号部4616による復号の処理の概要を示す。 図50は、配布装置4100の動作を示すフローチャートである。 図51は、配布装置4100による署名情報4170の生成手順を示す。 図52は、実行装置4600の動作を示すフローチャートである。 図53は、実行装置4600の動作を示すフローチャートである。図52から続く。 図54は、実行装置4600による署名情報の検証及びヘッダ情報の検証の手順を示す。 図55は、実施の形態5における配布装置5100の構成を示すブロック図である。 図56は、充填コンテンツ生成部5108により生成される分割充填コンテンツ5120の構成を示す。 図57は、充填コンテンツ生成部5108から出力されるユニット選出情報5140の構成を示す。 図58は、ヘッダ情報生成部5107によるヘッダ情報5109の生成の概要を示す。 図59は、ヘッダ情報生成部5107により生成される第2ハッシュテーブル5180の構成を示す。 図60は、実施の形態5におけるDVD5500に記録されている情報を示す。 図61は、実施の形態5における実行装置5600の構成を示すブロック図である。 図62は、配布装置5100の動作を示すフローチャートである。 図63は、配布装置5100の動作を示すフローチャートである。図62から続く。 図64は、実行装置5600の動作を示すフローチャートである。 図65は、想定される不正DVD5500bを示す。 図66は、想定される不正DVD5500cを示す。 図67は、実施の形態6における配布装置6100の構成を示すブロック図である。 図68は、配置生成部6108により生成される書込用配置情報6120を示す。 図69は、実施の形態6におけるDVD6500に記録されている情報を示す。 図70は、実施の形態6における実行装置6600の構成を示すブロック図である。 図71は、DVD1500の構造と、取得部1601の構成を示している。
符号の説明
1100 配布装置
1101 入力部
1102 コンテンツ鍵生成部
1103 鍵ブロック生成部
1104 実行装置情報格納部
1105 ユニット生成部
1106 暗号処理部
1107 ヘッダ情報生成部
1112 署名鍵記憶部
1114 記録部
1500 DVD
1600 実行装置
1601 取得部
1602 コンテンツ鍵取得部
1604 デバイス鍵格納部
1606 実行部
1611 署名情報検証部
1612 検証鍵記憶部
1620 モニタ
1628 ヘッド機構部
1629 回転軸
5500a DVD
5500b DVD
5500c DVD

Claims (15)

  1. デジタル著作物と、前記デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理装置であって、

    前記記録媒体に記録されている前記デジタル著作物を利用する利用手段と、
    前記データブロックからランダムに所定数個の選択データブロックを選択する選択手段と、
    各選択データブロックから、演算要約値を算出する演算手段と、
    前記記録媒体に記録されている記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出手段と、
    記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証手段と、
    前記検証の結果、不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段と
    を含むことを特徴とするデータ処理装置。
  2. 前記記録媒体に記録されている記録要約値群は、各データブロックに対して生成された一次記録要約値と、複数の一次記録要約値から生成された複数の二次記録要約値とからなり、前記記録署名データは、前記二次記録要約値に対してデジタル署名が施されて生成されたものであり、
    前記読出手段は、前記記録媒体に記録されている一次記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する前記残存要約値を読み出し、
    前記署名検証手段は、前記演算要約値及び前記残存要約値に基づいて、1個以上の二次演算要約値を算出し、前記記録署名データ、前記二次記録要約値及び前記二次演算要約値を用いて、デジタル署名検証を施して、前記デジタル著作物の正当性を検証する
    ことを特徴とする請求項1に記載のデータ処理装置。
  3. 前記記録媒体に記録されている前記デジタル著作物は、複数個のファイルから構成され、各ファイルは、二次記録要約値に対応し、複数のデータブロックから構成され、
    各二次記録要約値は、対応するファイルを構成する複数のデータブロックのそれぞれに対する一次記録要約値を用いて生成され、
    前記署名検証手段は、
    前記記録媒体から前記記録署名データを読み出す読出部と、
    選択された選択データブロックを含む各ファイルについて、当該ファイルに含まれるデータブロックのうち当該選択データブロックを除く残存データブロックに対応する一次記録要約値と、当該選択データブロックに対応する演算要約値とを用いて、前記二次演算要約値を算出する算出部と、
    選択された選択データブロックを含まない各ファイルについて、当該ファイルに対応する二次記録要約値を読み出す読出部と、
    算出された二次演算要約値と、読み出した二次記録要約値とを用いて、デジタル署名を施して、演算署名データを生成する署名部と、
    演算署名データと記録署名データとを比較する比較部とを含み、
    前記署名検証手段は、一致する場合に、前記デジタル著作物が正当であるとし、一致しない場合に、前記デジタル著作物が不正であるとする
    ことを特徴とする請求項2のデータ処理装置。
  4. 各要約値は、ハッシュ関数により生成されたハッシュ値であり、
    前記演算手段は、各選択データブロックにハッシュ関数を施して、ハッシュ値を算出し、算出したハッシュ値を前記演算要約値とし、
    前記算出部は、一次記録要約値と演算要約値とに、ハッシュ関数を施して、ハッシュ値を算出し、算出したハッシュ値を前記二次演算要約値とする
    ことを特徴とする請求項3のデータ処理装置。
  5. 前記デジタル著作物は、デジタルコンテンツであって、
    前記利用手段は、前記デジタルコンテンツを、再生することにより前記デジタルコンテンツを利用する
    ことを特徴とする請求項3に記載のデータ処理装置。
  6. 前記デジタル著作物は、コンピュータプログラムであって、前記利用手段は、前記コンピュータプログラムを構成する命令コードを解読し、解読した命令コードに従って動作することにより、前記コンピュータプログラムを利用する
    ことを特徴とする請求項3に記載のデータ処理装置。
  7. 前記利用制御手段に代えて、前記デジタル著作物が不正であると証明される場合に、その旨を表示する警告表示手段を備える
    ことを特徴とする請求項3に記載のデータ処理装置。
  8. 少なくともデジタル著作物と、当該記録媒体の空き容量が所定値以下になるようにデータサイズを調整して生成された充填コンテンツと、前記デジタル著作物及び前記充填コンテンツとに基づいて生成された署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用する請求項1のデータ処理装置であって、
    前記デジタル著作物を利用する利用手段と、
    前記デジタル著作物と前記充填コンテンツと前記署名データとを基に、前記デジタル著作物及び前記充填コンテンツの正当性を検証する検証手段と、
    前記検証の結果、前記デジタル著作物及び又は前記充填コンテンツが不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段と
    を備えることを特徴とする請求項1に記載のデータ処理装置。
  9. デジタル著作物と、外部機器によるアクセスが許可される当該記録媒体上の許可領域を示す領域情報と、前記デジタル著作物及び前記領域情報とに基づいて生成された署名データとを記録している記録媒体から前記デジタル著作物を読み出して利用する請求項1のデータ処理装置であって、
    前記領域情報に基づいて、前記許可領域外へのアクセスを禁止するアクセス禁止手段、
    前記デジタル著作物を利用する利用手段、
    前記デジタル著作物と前記領域情報と前記署名データとを基に、前記デジタル著作物及び前記領域情報の正当性を検証する検証手段、
    前記検証の結果、前記デジタル著作物又は前記領域情報が不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段
    とを備えることを特徴とする請求項1に記載のデータ処理装置。
  10. 前記選択手段、前記演算手段、前記読出手段及び前記署名検証手段は、1個の大規模集積回路から構成されている
    ことを特徴とする請求項1のデータ処理装置。
  11. 記録媒体であって、
    デジタル著作物、
    前記デジタル著作物を構成する複数のデータブロックから生成された複数の要約値と、
    要約値群に基づいて生成された署名データと
    を記憶していることを特徴とする記録媒体。
  12. デジタル著作物と、デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理方法であって、
    前記記録媒体に記録されている前記デジタル著作物を利用する利用ステップ、
    前記データブロックからランダムに所定数個の選択データブロックを選択する選択ステップ、
    各選択データブロックから、演算要約値を算出する演算ステップ、
    前記記録媒体に記録されている記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出ステップ、
    記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証ステップ、
    前記検証の結果、不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御ステップ
    を含むことを特徴とするデータ処理方法。
  13. デジタル著作物と、デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理プログラムであって、
    前記記録媒体に記録されている前記デジタル著作物を利用する利用ステップと、
    前記データブロックからランダムに所定数個の選択データブロックを選択する選択ステップと、
    各選択データブロックから、演算要約値を算出する演算ステップと、
    前記記録媒体に記録されている記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出ステップと、
    記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証ステップと、
    前記検証の結果、不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御ステップと
    を含むことを特徴とするデータ処理プログラム。
  14. 前記データ処理プログラムは、
    コンピュータ読み取り可能な記録媒体に記録されている
    ことを特徴とする請求項13に記載の制御プログラム。
  15. 前記データ処理プログラムは、
    電気通信回線を通じて送受信される
    ことを特徴とする請求項13に記載の制御プログラム。
JP2006519466A 2004-04-02 2005-03-24 不正コンテンツ検知システム Active JP4084827B2 (ja)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
JP2004110069 2004-04-02
JP2004110069 2004-04-02
JP2004146963 2004-05-17
JP2004146963 2004-05-17
JP2004151621 2004-05-21
JP2004151621 2004-05-21
JP2004163734 2004-06-01
JP2004163734 2004-06-01
JP2004196531 2004-07-02
JP2004196531 2004-07-02
JP2004201009 2004-07-07
JP2004201009 2004-07-07
JP2004206335 2004-07-13
JP2004206335 2004-07-13
PCT/JP2005/006215 WO2005096119A1 (en) 2004-04-02 2005-03-24 Unauthorized contents detection system

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2007123682A Division JP4607144B2 (ja) 2004-04-02 2007-05-08 不正コンテンツ検知システム
JP2007123683A Division JP4654219B2 (ja) 2004-04-02 2007-05-08 不正コンテンツ検知システム

Publications (2)

Publication Number Publication Date
JP2007535189A true JP2007535189A (ja) 2007-11-29
JP4084827B2 JP4084827B2 (ja) 2008-04-30

Family

ID=34962509

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2006519466A Active JP4084827B2 (ja) 2004-04-02 2005-03-24 不正コンテンツ検知システム
JP2007123683A Active JP4654219B2 (ja) 2004-04-02 2007-05-08 不正コンテンツ検知システム
JP2007123682A Active JP4607144B2 (ja) 2004-04-02 2007-05-08 不正コンテンツ検知システム
JP2008070185A Active JP4654258B2 (ja) 2004-04-02 2008-03-18 不正コンテンツ検知システム

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2007123683A Active JP4654219B2 (ja) 2004-04-02 2007-05-08 不正コンテンツ検知システム
JP2007123682A Active JP4607144B2 (ja) 2004-04-02 2007-05-08 不正コンテンツ検知システム
JP2008070185A Active JP4654258B2 (ja) 2004-04-02 2008-03-18 不正コンテンツ検知システム

Country Status (13)

Country Link
US (7) US7549061B2 (ja)
EP (3) EP1730619B1 (ja)
JP (4) JP4084827B2 (ja)
KR (1) KR101067613B1 (ja)
CN (4) CN101086759B (ja)
AT (1) ATE509321T1 (ja)
AU (1) AU2005227472B2 (ja)
BR (1) BRPI0509577B1 (ja)
CA (1) CA2560395C (ja)
ES (2) ES2363517T3 (ja)
MY (2) MY150302A (ja)
TW (3) TWI366775B (ja)
WO (1) WO2005096119A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5147733B2 (ja) * 2007-02-07 2013-02-20 パナソニック株式会社 記録装置、サーバ装置、記録方法、コンピュータプログラムを記録した記録媒体、及び集積回路
US8726030B2 (en) 2011-06-13 2014-05-13 Panasonic Corporation Terminal device, server device, content recording control system, recording method, and recording permission control method
WO2018211757A1 (ja) * 2017-05-15 2018-11-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 検証方法、検証装置およびプログラム
JP2018196108A (ja) * 2017-05-15 2018-12-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 検証方法、検証装置およびプログラム

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100720602B1 (ko) * 2003-09-26 2007-05-21 니뽄 덴신 덴와 가부시키가이샤 태그 프라이버시 보호 방법, 태그 장치, 백엔드 장치, 갱신 장치, 갱신 의뢰 장치, 그들 프로그램 및 이들 프로그램을 격납한 기록 매체
JP4716675B2 (ja) * 2004-05-25 2011-07-06 三洋電機株式会社 録音再生装置
JP4576936B2 (ja) 2004-09-02 2010-11-10 ソニー株式会社 情報処理装置、情報記録媒体、コンテンツ管理システム、およびデータ処理方法、並びにコンピュータ・プログラム
CN101375284B (zh) 2004-10-25 2012-02-22 安全第一公司 安全数据分析方法和系统
US20070078773A1 (en) * 2005-08-31 2007-04-05 Arik Czerniak Posting digital media
AU2006350252B2 (en) 2005-11-18 2010-10-14 Security First Corporation Secure data parser method and system
US8713686B2 (en) * 2006-01-25 2014-04-29 Ca, Inc. System and method for reducing antivirus false positives
JP2007235323A (ja) * 2006-02-28 2007-09-13 Toshiba Corp 高度機密情報の保存/記録方法、高度機密情報を利用する再生装置および高度機密情報を格納するメモリ
JP2007233924A (ja) * 2006-03-03 2007-09-13 Sony Corp 情報処理システム、情報処理装置および方法、プログラム、並びに記録媒体
US8364965B2 (en) 2006-03-15 2013-01-29 Apple Inc. Optimized integrity verification procedures
US9313248B2 (en) * 2006-04-13 2016-04-12 Johnny Stuart Epstein Method and apparatus for delivering encoded content
US7991206B1 (en) 2007-07-02 2011-08-02 Datascout, Inc. Surrogate heuristic identification
US7840540B2 (en) 2006-04-20 2010-11-23 Datascout, Inc. Surrogate hashing
US8549022B1 (en) 2007-07-02 2013-10-01 Datascout, Inc. Fingerprint generation of multimedia content based on a trigger point with the multimedia content
US9020964B1 (en) 2006-04-20 2015-04-28 Pinehill Technology, Llc Generation of fingerprints for multimedia content based on vectors and histograms
US8156132B1 (en) 2007-07-02 2012-04-10 Pinehill Technology, Llc Systems for comparing image fingerprints
US8463000B1 (en) 2007-07-02 2013-06-11 Pinehill Technology, Llc Content identification based on a search of a fingerprint database
JP5002205B2 (ja) * 2006-07-10 2012-08-15 任天堂株式会社 データ認証方法およびデータ認証システム
JP2008022373A (ja) * 2006-07-13 2008-01-31 Canon Inc 改竄検知情報生成装置、撮像装置、改竄検知情報生成方法、プログラムおよび記憶媒体
US9281004B2 (en) 2006-12-11 2016-03-08 Mitsubishi Electric Corporation Content assessment apparatus, content assessment method, information reproducing apparatus, and information reproducing method
US8429643B2 (en) * 2007-09-05 2013-04-23 Microsoft Corporation Secure upgrade of firmware update in constrained memory
KR101426270B1 (ko) * 2008-02-13 2014-08-05 삼성전자주식회사 소프트웨어의 전자 서명 생성 방법, 검증 방법, 그 장치,및 그 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로읽을 수 있는 기록매체
JP2009200595A (ja) * 2008-02-19 2009-09-03 Fujitsu Ltd 署名管理プログラム、署名管理方法及び署名管理装置
JP4623176B2 (ja) * 2008-09-17 2011-02-02 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US20100088745A1 (en) * 2008-10-06 2010-04-08 Fujitsu Limited Method for checking the integrity of large data items rapidly
US20120096281A1 (en) * 2008-12-31 2012-04-19 Eszenyi Mathew S Selective storage encryption
US20100169570A1 (en) * 2008-12-31 2010-07-01 Michael Mesnier Providing differentiated I/O services within a hardware storage controller
US20100228704A1 (en) * 2009-02-20 2010-09-09 All Media Guide, Llc Recognizing a disc
US20100228736A1 (en) * 2009-02-20 2010-09-09 All Media Guide, Llc Recognizing a disc
US8620967B2 (en) 2009-06-11 2013-12-31 Rovi Technologies Corporation Managing metadata for occurrences of a recording
CN102714595B (zh) * 2009-11-25 2015-04-01 株式会社东芝 签名数据服务器以及用户终端
US9444620B1 (en) * 2010-06-24 2016-09-13 F5 Networks, Inc. Methods for binding a session identifier to machine-specific identifiers and systems thereof
US8826445B2 (en) * 2010-08-05 2014-09-02 Media Rights Technologies, Inc. Method and system of deterring unauthorized use of media content by degrading the contents waveform
FR2967002B1 (fr) * 2010-10-27 2012-12-14 Viaccess Sa Procede de reception d'un contenu multimedia embrouille a l'aide de mots de controle
WO2012056656A1 (ja) * 2010-10-28 2012-05-03 パナソニック株式会社 改ざん監視システム、保護制御モジュール及び検知モジュール
WO2012120818A1 (ja) * 2011-03-10 2012-09-13 パナソニック株式会社 コンテンツ配信システム、コンテンツ配信サブシステム及び再生装置
US9311487B2 (en) * 2011-03-15 2016-04-12 Panasonic Corporation Tampering monitoring system, management device, protection control module, and detection module
WO2013031124A1 (ja) 2011-08-26 2013-03-07 パナソニック株式会社 端末装置、検証装置、鍵配信装置、コンテンツ再生方法、鍵配信方法及びコンピュータプログラム
US9054874B2 (en) 2011-12-01 2015-06-09 Htc Corporation System and method for data authentication among processors
US9256762B1 (en) * 2011-12-20 2016-02-09 Amazon Technologies, Inc. Securing a remote database
JP5315422B2 (ja) * 2012-01-10 2013-10-16 任天堂株式会社 データ認証方法およびデータ認証システム
EP2831800B1 (en) * 2012-03-26 2020-05-06 Irdeto B.V. Method for protecting data
US8914880B2 (en) * 2012-06-08 2014-12-16 VivoSecurity, Inc. Mechanism to calculate probability of a cyber security incident
US8972715B2 (en) * 2012-07-13 2015-03-03 Securerf Corporation Cryptographic hash function
US9641337B2 (en) * 2014-04-28 2017-05-02 Nxp B.V. Interface compatible approach for gluing white-box implementation to surrounding program
US9672361B2 (en) * 2014-04-30 2017-06-06 Ncr Corporation Self-service terminal (SST) secure boot
RU2667780C2 (ru) 2014-08-01 2018-09-24 Сони Корпорейшн Способ верификации преобразования формата контента
US10372695B2 (en) 2014-12-27 2019-08-06 Intel Corporation Technologies for computing rolling hashes
CN106547759B (zh) * 2015-09-17 2020-05-22 伊姆西Ip控股有限责任公司 用于选择增量备份方式的方法和装置
US10263965B2 (en) * 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US11269951B2 (en) * 2016-05-12 2022-03-08 Dolby International Ab Indexing variable bit stream audio formats
US10503654B2 (en) 2016-09-01 2019-12-10 Intel Corporation Selective caching of erasure coded fragments in a distributed storage system
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
KR102262480B1 (ko) 2016-12-30 2021-06-08 구글 엘엘씨 정보 리소스들 상에서의 해시 기반 동적 제한
US10909255B2 (en) * 2017-08-24 2021-02-02 Data Republic Pty Ltd Systems and methods to control data access and usage
US10904292B1 (en) * 2018-09-25 2021-01-26 Amazon Technologies, Inc. Secure data transfer device
CN109359261B (zh) * 2018-09-30 2022-07-29 京东方科技集团股份有限公司 数字作品的生成装置、方法及计算机可读存储介质
JP2021111810A (ja) * 2020-01-06 2021-08-02 富士通株式会社 不正利用検出システム、情報処理装置、不正利用検出プログラムおよびデータ履歴のデータ構造
CN113742657A (zh) * 2020-05-29 2021-12-03 台达电子工业股份有限公司 软件保护方法及其系统
US11750393B2 (en) * 2021-03-30 2023-09-05 Ford Global Technologies, Llc Secure broadcast delivery and verification

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8704883D0 (en) * 1987-03-03 1987-04-08 Hewlett Packard Co Secure information storage
JPS63255840A (ja) 1987-04-14 1988-10-24 Nec Corp 光学的記録再生装置における光量制御装置
JP2675032B2 (ja) * 1987-12-21 1997-11-12 株式会社日立製作所 伝票圧縮文の作成方法
JP2997483B2 (ja) 1989-11-08 2000-01-11 株式会社日立製作所 検証用データ生成装置
JPH0668605A (ja) * 1992-08-20 1994-03-11 Csk Corp 磁気カード
US5754659A (en) 1995-12-22 1998-05-19 General Instrument Corporation Of Delaware Generation of cryptographic signatures using hash keys
JPH10293721A (ja) * 1997-02-19 1998-11-04 Canon Inc 改ざんを防止する情報記録方法、情報記録装置及び情報記録媒体
JP3861392B2 (ja) * 1997-07-30 2006-12-20 ソニー株式会社 データ記録装置および方法、データ再生装置および方法、並びに伝送媒体
US6330549B1 (en) * 1997-10-30 2001-12-11 Xerox Corporation Protected shareware
WO1999040702A1 (en) 1998-02-04 1999-08-12 Sun Microsystems, Inc. Method and apparatus for efficient authentication and integrity checking using hierarchical hashing
JP4101975B2 (ja) * 1998-12-02 2008-06-18 オリンパス株式会社 可搬型記憶媒体を用いたデータ記録/再生装置
US6480961B2 (en) * 1999-03-02 2002-11-12 Audible, Inc. Secure streaming of digital audio/visual content
EP1056010A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company Data integrity monitoring in trusted computing entity
JP3464771B2 (ja) * 1999-08-17 2003-11-10 日本電信電話株式会社 分割部分復号による電子署名作成方法,電子署名作成装置および電子署名作成用プログラム記録媒体
JP3635017B2 (ja) 1999-09-01 2005-03-30 日本電信電話株式会社 時刻認証システム、サーバ装置、時刻認証方法及び記録媒体
CA2317139C (en) * 1999-09-01 2006-08-08 Nippon Telegraph And Telephone Corporation Folder type time stamping system and distributed time stamping system
GB9922904D0 (en) * 1999-09-28 1999-12-01 Signum Technologies Limited Method of authenticating digital data works
JP2001155423A (ja) * 1999-11-26 2001-06-08 Toshiba Emi Ltd 不正コピー防止記録媒体
US6574676B1 (en) * 2000-01-11 2003-06-03 International Business Machines Corporation System and method for scheduling disk drive commands by expected total access time
KR20020075439A (ko) 2000-02-17 2002-10-04 제너럴 인스트루먼트 코포레이션 소프트웨어 또는 펌웨어 코드 다운로딩의 시큐어 제어와다운로드된 코드를 수신하는 컴퓨팅 디바이스의 시큐어동작용 방법과 장치
JP2001331102A (ja) * 2000-03-14 2001-11-30 Sony Corp データ送出装置、データ復号装置、データ送出方法、データ復号方法、伝送システム
KR100841411B1 (ko) * 2000-03-14 2008-06-25 소니 가부시끼 가이샤 전송장치, 수신장치, 전송방법, 수신방법과 기록매체
JP2001265217A (ja) 2000-03-17 2001-09-28 Cti Co Ltd デジタルコンテンツの改ざん監視装置、改ざん監視方法及び記録媒体
JP2001282619A (ja) * 2000-03-30 2001-10-12 Hitachi Ltd コンテンツ改竄検知方法及びその実施装置並びにその処理プログラムを記録した記録媒体
BR0017218A (pt) 2000-04-20 2003-06-24 Yutaka Yasukura Método de inquirição de informação eletrônica
US6470329B1 (en) * 2000-07-11 2002-10-22 Sun Microsystems, Inc. One-way hash functions for distributed data synchronization
JP4608749B2 (ja) 2000-07-24 2011-01-12 ソニー株式会社 データ処理装置、データ処理方法、およびライセンスシステム、並びにプログラム提供媒体
US6629198B2 (en) * 2000-12-08 2003-09-30 Sun Microsystems, Inc. Data storage system and method employing a write-ahead hash log
JP2002215029A (ja) * 2001-01-22 2002-07-31 Seiko Epson Corp 情報認証装置及びこれを使用したデジタルカメラ
US6626198B2 (en) * 2001-04-09 2003-09-30 Cheng Yuan Tseng Resilient stave support assembly for umbrella
JP4729806B2 (ja) * 2001-04-27 2011-07-20 大日本印刷株式会社 暗号化装置、復号化装置および通信システム
US7581103B2 (en) * 2001-06-13 2009-08-25 Intertrust Technologies Corporation Software self-checking systems and methods
GB0116568D0 (en) * 2001-07-06 2001-08-29 Ncipher Corp Ltd Firmware validation
US20030014658A1 (en) * 2001-07-11 2003-01-16 Walker Philip M. System and method of verifying system attributes
US20030133380A1 (en) * 2002-01-14 2003-07-17 Yaakov Safrin Data disc copy protection
JP2003318887A (ja) 2002-04-25 2003-11-07 Nec Corp コンテンツ配送システム、方法およびコンテンツ受信端末
US7171439B2 (en) * 2002-06-14 2007-01-30 Integrated Device Technology, Inc. Use of hashed content addressable memory (CAM) to accelerate content-aware searches
JP2004022069A (ja) * 2002-06-17 2004-01-22 Ricoh Co Ltd 情報記録装置と情報記録方法とプログラムと記録媒体と情報記録システム
US20040068559A1 (en) * 2002-10-04 2004-04-08 Shaw Terry D. Method for detection of unauthorized computer system usage
CN1422034A (zh) * 2002-12-17 2003-06-04 胡祥义 使用对称密码实现网络数字签名
US8245032B2 (en) * 2003-03-27 2012-08-14 Avaya Inc. Method to authenticate packet payloads
US7454443B2 (en) * 2003-08-26 2008-11-18 Tamir Ram Method, system, and program for personal data management using content-based replication
JP2005094146A (ja) 2003-09-12 2005-04-07 Nippon Telegr & Teleph Corp <Ntt> バルク型時刻認証要求用プログラム、及びバルク型時刻認証要求用記録媒体、並びに、検証装置、検証方法、検証用プログラム、及び検証用記録媒体
US7386754B2 (en) * 2003-10-16 2008-06-10 Seagate Technology Llc Method and apparatus to improve magnetic disc drive reliability using excess un-utilized capacity
JP2006033729A (ja) 2004-07-21 2006-02-02 Ricoh Co Ltd 文書電子化方法、文書電子化装置及び文書電子化プログラム
US20060233514A1 (en) * 2005-04-14 2006-10-19 Shih-Hsiung Weng System and method of video editing

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5147733B2 (ja) * 2007-02-07 2013-02-20 パナソニック株式会社 記録装置、サーバ装置、記録方法、コンピュータプログラムを記録した記録媒体、及び集積回路
US8726030B2 (en) 2011-06-13 2014-05-13 Panasonic Corporation Terminal device, server device, content recording control system, recording method, and recording permission control method
JPWO2012172748A1 (ja) * 2011-06-13 2015-02-23 パナソニック株式会社 端末装置、サーバ装置、コンテンツ記録制御システム、記録方法及び記録許否制御方法
US9037863B2 (en) 2011-06-13 2015-05-19 Panasonic Corporation Terminal device, server device, content recording control system, recording method, and recording permission control method
WO2018211757A1 (ja) * 2017-05-15 2018-11-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 検証方法、検証装置およびプログラム
JP2018196108A (ja) * 2017-05-15 2018-12-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 検証方法、検証装置およびプログラム
JP2022008954A (ja) * 2017-05-15 2022-01-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 検証方法、検証装置およびプログラム
JP7152579B2 (ja) 2017-05-15 2022-10-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 検証方法、検証装置およびプログラム
JP2022179575A (ja) * 2017-05-15 2022-12-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 検証方法、検証装置およびプログラム
JP7369843B2 (ja) 2017-05-15 2023-10-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 検証方法、検証装置およびプログラム

Also Published As

Publication number Publication date
US20080034442A1 (en) 2008-02-07
AU2005227472A1 (en) 2005-10-13
BRPI0509577A (pt) 2007-09-25
US8972737B2 (en) 2015-03-03
EP1850258A3 (en) 2008-01-16
US20140129842A1 (en) 2014-05-08
CN101086880A (zh) 2007-12-12
ES2363517T3 (es) 2011-08-08
JP2008176814A (ja) 2008-07-31
EP1840782B1 (en) 2017-11-22
TWI366775B (en) 2012-06-21
CN101086880B (zh) 2010-06-02
US9270470B2 (en) 2016-02-23
CA2560395C (en) 2014-06-17
KR20060135934A (ko) 2006-12-29
JP4084827B2 (ja) 2008-04-30
US20070198838A1 (en) 2007-08-23
JP4654258B2 (ja) 2011-03-16
US7549061B2 (en) 2009-06-16
JP4654219B2 (ja) 2011-03-16
WO2005096119A1 (en) 2005-10-13
MY150302A (en) 2013-12-31
CN1961274A (zh) 2007-05-09
US8667291B2 (en) 2014-03-04
JP2007274716A (ja) 2007-10-18
US8261084B2 (en) 2012-09-04
EP1840782A2 (en) 2007-10-03
MY147696A (en) 2013-01-15
US7900062B2 (en) 2011-03-01
TW200816021A (en) 2008-04-01
TWI364685B (en) 2012-05-21
CN101086759B (zh) 2012-06-20
TWI364683B (en) 2012-05-21
US20110119493A1 (en) 2011-05-19
CN100419625C (zh) 2008-09-17
TW200539706A (en) 2005-12-01
US20150127948A1 (en) 2015-05-07
JP4607144B2 (ja) 2011-01-05
CN101086759A (zh) 2007-12-12
EP1730619A1 (en) 2006-12-13
ATE509321T1 (de) 2011-05-15
AU2005227472B2 (en) 2010-12-09
ES2660165T3 (es) 2018-03-21
US20080034443A1 (en) 2008-02-07
EP1730619B1 (en) 2011-05-11
EP1850258A2 (en) 2007-10-31
EP1840782A3 (en) 2008-02-13
TW200821892A (en) 2008-05-16
CN101329714A (zh) 2008-12-24
KR101067613B1 (ko) 2011-09-28
BRPI0509577B1 (pt) 2017-12-12
US7743261B2 (en) 2010-06-22
US20120290846A1 (en) 2012-11-15
JP2007274717A (ja) 2007-10-18
CA2560395A1 (en) 2005-10-13
CN101329714B (zh) 2015-06-17

Similar Documents

Publication Publication Date Title
JP4654219B2 (ja) 不正コンテンツ検知システム
KR101313825B1 (ko) 정보 처리 장치, 정보 기록 매체 제조 장치, 정보 기록매체
MXPA06011197A (en) Unauthorized contents detection system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070905

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070905

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20070905

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20070926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080215

R150 Certificate of patent or registration of utility model

Ref document number: 4084827

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140222

Year of fee payment: 6