JP4114538B2 - Information processing apparatus, information recording medium drive apparatus, information recording medium, information processing method, and computer program - Google Patents

Information processing apparatus, information recording medium drive apparatus, information recording medium, information processing method, and computer program Download PDF

Info

Publication number
JP4114538B2
JP4114538B2 JP2003141970A JP2003141970A JP4114538B2 JP 4114538 B2 JP4114538 B2 JP 4114538B2 JP 2003141970 A JP2003141970 A JP 2003141970A JP 2003141970 A JP2003141970 A JP 2003141970A JP 4114538 B2 JP4114538 B2 JP 4114538B2
Authority
JP
Japan
Prior art keywords
key
seed
information
encryption
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003141970A
Other languages
Japanese (ja)
Other versions
JP2004348793A (en
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003141970A priority Critical patent/JP4114538B2/en
Publication of JP2004348793A publication Critical patent/JP2004348793A/en
Application granted granted Critical
Publication of JP4114538B2 publication Critical patent/JP4114538B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置、情報記録媒体ドライブ装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムに関する。詳細には、情報記録媒体を利用したデータ記録再生処理における不正なコンテンツ利用の防止を実現する情報処理装置、情報記録媒体ドライブ装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムに関する。
【0002】
【従来の技術】
昨今、音楽等のオーディオデータ、映画等の画像データ、ゲームプログラム、各種アプリケーションプログラム等、様々なソフトウエアデータ(以下、これらをコンテンツ(Content)と呼ぶ)が、インターネット等のネットワークを介して、あるいはCD(Compact Disc)、DVD(Digital Versatile Disc)、MD(Mini Disc)等の情報記録媒体(メディア)を介して流通している。これらの流通コンテンツは、ユーザの所有するPC(Personal Computer)、CDプレーヤ、DVDプレーヤ、MDプレーヤ等の再生装置、あるいはゲーム機器等において再生され利用される。
【0003】
音楽データ、画像データ等、多くのコンテンツは、一般的にその作成者あるいは販売者に頒布権等が保有されている。従って、これらのコンテンツの配布に際しては、一定の利用制限、すなわち、正規なユーザに対してのみ、コンテンツの利用を許諾し、許可のない複製等が行われないようにする構成をとるのが一般的となっている。
【0004】
特に、近年においては、情報をデジタル的に記録する記録装置や記録媒体が普及しつつある。このようなデジタル記録装置および記録媒体によれば、例えば画像や音声を劣化させることなく記録、再生を繰り返すことが可能であり、不正コピーコンテンツのインターネットを介した配信や、コンテンツをCD−R等にコピーした、いわゆる海賊版ディスクが大量に流通しているという問題がある。
【0005】
特に、近年開発されたDVD等の大容量型記録媒体は、1枚の媒体に例えば映画1本分の大量のデータをデジタル情報として記録することが可能である。このように映像情報等をデジタル情報として記録することが可能となってくると不正コピーを防止して著作権者の保護を図ることが益々重要な課題となっている。
【0006】
デジタル記録再生を行う記録装置やデジタル記録媒体によれば、画像や音声を劣化させることなく記録、再生を繰り返すことができる。このようにデジタルデータは画質や音質を維持したまま何度もコピーを繰り返し実行することができるため、コピーが違法に行われた記録媒体が市場に流通すると、音楽、映画等各種コンテンツの著作権者、あるいは正当な販売権者等の利益が害されることになる。昨今では、このようなデジタルデータの不正なコピーを防ぐため、デジタル記録装置および記録媒体に違法なコピーを防止するための様々な技術が実用化されている。
【0007】
例えば、DVDプレーヤでは、CSS(Content Scramble System)が採用されている。CSSでは、DVD−ROM(Read Only Memory)に、ビデオデータやオーディオデータ等が暗号化されて記録されており、その暗号化されたデータを復号するのに用いる鍵が、ライセンスを受けたDVDプレーヤに与えられる。ライセンスは、不正コピーを行わない等の所定の動作規定に従うように設計されたDVDプレーヤに対して与えられる。従って、ライセンスを受けたDVDプレーヤでは、与えられたキーを利用して、DVD−ROMに記録された暗号化データを復号することにより、DVD−ROMから画像や音声を再生することができる。
【0008】
一方、ライセンスを受けていないDVDプレーヤは、暗号化されたデータを復号するための鍵を有していないため、DVD−ROMに記録された暗号化データの復号を行うことができない。このように、CSS構成では、ライセンス時に要求される条件を満たしていないDVDプレーヤは、デジタルデータを記録したDVD−ROMの再生を行なえないことになり、不正コピーが防止されるようになっている。
【0009】
しかしながら、DVD−ROMで採用されているCSSは、ユーザによるデータの書き込みが不可能な記録媒体を対象としており、ユーザによるデータの書き込みが可能な記録媒体への適用については考慮されていない。
【0010】
即ち、データの書き込みが可能な記録媒体に記録されたデータが暗号化されていても、その暗号化されたデータを、そのまま全部、RAMメディアにコピーした場合には、ライセンスを受けた正当な装置で再生可能な、いわゆる海賊版を作成することができてしまう。
【0011】
さらに、CSSの暗号を破るソフトウェアプログラム、例えばDeCSSソフトウェアがインターネット上で配布されており、このプログラムを適用することで、DVD Videoの暗号を解いて平文の状態で記録型DVDへ書き込むことが可能になっている。DeCSSが出現した背景は、本来解読防止のための実装時の隠蔽対応が義務付けられているはずのCSS復号用の鍵データを何の対処もしないまま設計されたDVDプレーヤー・ソフトウェアがリバースエンジニアされて鍵データが解読されたことであり、解読された鍵データから連鎖的にCSSアルゴリズム全体が解読されたという経緯である。
【0012】
鍵データを含む著作権保護技術実行プログラムをPC上で実行されるアプリケーションプログラムへ実装する際には、著作権保護技術の解析を防ぐため耐タンパー性を持たせるのが一般的であるが、対タンパー性の強度を示す指標は無く、そのためどれほどリバースエンジニアリングへの対応を行うかは個々のインプレメンターの判断や実力に委ねられているのが実情であり、CSSの場合には結果として破られてしまい、不正なコピーコンテンツの氾濫を招く結果となっている。
【0013】
CSS以外にも、DVD規格で採用されている著作権保護技術(コピーコントロール技術)として、CPPM(Content Protection for Prerecorded Media)とCPRM(Content Protection for Recordable Media)がある。CPPMは、再生専用のメディア(Prerecorded Media)用に開発されたコピーコントロール技術であり、CPRMは、記録可能なメディア(Recordable Media)用に開発されたコピーコントロール技術である。これらは、メディア(例えばディスク)側にメディアキーブロックと呼ばれる鍵情報を格納し、一方、再生装置、PC等、デバイス側にデバイスキーを格納し、これらの鍵の組み合わせにより、コピーコントロールを行うものである。
【0014】
しかし、このようなCPRMや、CPPMにおいても、デバイスとしてのPCやメディアとしてのディスク内に格納された鍵情報の漏洩の危険性を解消するといった根本的な問題解決を図る技術についての提案はなく、CPRMや、CPPMにおいても、鍵の漏洩によってコピーコントロールシステムが崩壊する危険性を常に有しているのが現状である。
【0015】
なお、コンテンツの不正利用を防止する技術として、本出願人は、例えば特許文献1および特許文献2において、記録媒体に格納するコンテンツのデータブロック毎に異なる鍵を適用した暗号処理技術を提案した。すなわち、データブロック毎の鍵生成情報としてシードを設定し、ブロック毎に設定したシードを暗号鍵の生成に適用する構成により、従来の1つの鍵のみによるコンテンツ暗号化を複雑化して、暗号アルゴリズムの解読困難性を高めたものである。
【0016】
しかし、上述の構成において、データブロック毎の鍵生成情報としてシードは、記録媒体に格納された情報そのものを使用したものであり、前述のCSSと同様の経緯で鍵データが解読され、解読された鍵データとデータブロック毎に異なるシードからブロックキーが導かれることによりコンテンツの漏洩を引き起こす懸念が皆無とはいえない。
【0017】
【特許文献1】
特許公開2001−351324号公報
【特許文献2】
特許公開2002−236622号公報
【0018】
【発明が解決しようとする課題】
本発明は、上述の従来技術における問題点に鑑みてなされたものであり、DVD、CD等の各種情報記録媒体に格納したコンテンツを再生装置、PC(パーソナルコンピュータ)において利用する構成において、記録媒体に格納するコンテンツの暗号化に適用する鍵情報の漏洩をより困難とし、鍵解読、暗号アルゴリズムの解読の困難性を高めることを実現した情報処理装置、情報記録媒体ドライブ装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【0025】
【課題を解決するための手段】
本発明の第1の側面は、
暗号化データの復号処理を実行する暗号処理部を有する情報処理装置であり、
マスターキー生成情報を格納した記憶手段を有し、
前記暗号処理手段は、
前記マスターキー生成情報に基づいてマスターキーを生成し、該生成したマスターキーと前記情報記録媒体からの読み出し情報とに基づいて、2つの記録キーK1,K2を生成し、生成した第1記録キーK1と、前記情報記録媒体に格納された暗号化データを構成する暗号化処理単位毎に設定された第1鍵生成情報としての第1シードとに基づくデータ処理により第1ブロックキーKb1を生成し、生成した第1ブロックキーKb1を適用して、第2鍵生成情報としての第2シードを暗号化して格納した第2シード格納暗号化データ領域の第1の復号処理を実行して第2シードを取得し、取得した第2シードと第2記録キーK2とに基づくデータ処理により第2ブロックキーKb2を生成し、生成した第2ブロックキーKb2に基づく復号処理により前記情報記録媒体に格納された暗号化データの復号処理を実行し、前記第2シード格納暗号化データ領域に対して、前記第1ブロックキーKb1、および前記第2ブロックキーKb2と異なる第3の暗号鍵K3を適用した復号処理により、前記第2シード格納暗号化データ領域の第2の復号処理を実行して前記第2シード格納暗号化データ領域の復号データを取得する構成を有することを特徴とする情報処理装置にある。
【0026】
さらに、本発明の第2の側面は、
暗号化データの復号処理を実行する暗号処理部を有する情報処理装置であり、
マスターキー生成情報を格納した記憶手段を有し、
前記暗号処理手段は、
前記マスターキー生成情報に基づいてマスターキーを生成し、該生成したマスターキーと前記情報記録媒体からの読み出し情報とに基づいて、2つの記録キーK1,K2を生成し、生成した第1記録キーK1と前記情報記録媒体に格納された暗号化データを構成する暗号化処理単位毎に設定された第1鍵生成情報としての第1シードとに基づくデータ処理により第1ブロックキーKb1を生成し、生成した第1ブロックキーKb1を適用して、第2鍵生成情報としての第2シードを暗号化して格納した第2シード格納暗号化データ領域の第1の復号処理と、前記第2シード格納暗号化データ領域に対して、前記第1ブロックキーKb1、および前記第2ブロックキーKb2と異なる第3の暗号鍵K3に基づく前記第2シード格納暗号化データ領域の第2の復号処理を実行して第2シードを取得し、取得した第2シードと第2記録キーK2とに基づくデータ処理により前記第2ブロックキーKb2を生成し、生成した第2ブロックキーKb2に基づく復号処理により前記情報記録媒体に格納された暗号化データの復号処理を実行する構成を有することを特徴とする情報処理装置にある。
【0041】
さらに、本発明の第3の側面は、
情報記録媒体に格納された暗号化データの復号処理を実行する情報処理装置における情報処理方法であり、
前記情報処理装置内の記憶部に格納されたマスターキー生成情報に基づいてマスターキーを生成し、生成したマスターキーと前記情報記録媒体からの読み出し情報とに基づいて、2つの記録キーK1,K2を生成し、生成した第1記録キーK1と、情報記録媒体に格納された暗号化データを構成する暗号化処理単位毎に設定された第1鍵生成情報としての第1シードとに基づくデータ処理により第1ブロックキーKb1を生成し、生成した第1ブロックキーKb1を適用して、第2鍵生成情報としての第2シードを暗号化して格納した第2シード格納暗号化データ領域の第1の復号処理を実行して第2シードを取得し、取得した第2シードと第2記録キーK2とに基づくデータ処理により第2ブロックキーKb2を生成し、生成した第2ブロックキーKb2に基づく復号処理により前記情報記録媒体に格納された暗号化データの復号処理を実行し、前記第2シード格納暗号化データ領域に対して、前記第1ブロックキーKb1、および前記第2ブロックキーKb2と異なる第3の暗号鍵K3を適用した復号処理により、前記第2シード格納暗号化データ領域の第2の復号処理を実行して前記第2シード格納暗号化データ領域の復号データを取得するステップを有することを特徴とする情報処理方法にある。
【0042】
さらに、本発明の第4の側面は、
情報記録媒体に格納された暗号化データの復号処理を実行する情報処理装置における情報処理方法であり、
前記情報処理装置内の記憶部に格納されたマスターキー生成情報に基づいてマスターキーを生成し、生成したマスターキーと前記情報記録媒体からの読み出し情報とに基づいて、2つの記録キーK1,K2を生成し、生成した第1記録キーK1と前記情報記録媒体に格納された暗号化データを構成する暗号化処理単位毎に設定された第1鍵生成情報としての第1シードとに基づくデータ処理により第1ブロックキーKb1を生成し、生成した第1ブロックキーKb1を適用して、第2鍵生成情報としての第2シードを暗号化して格納した第2シード格納暗号化データ領域の第1の復号処理と、前記第2シード格納暗号化データ領域に対して、前記第1ブロックキーKb1、および前記第2ブロックキーKb2と異なる第3の暗号鍵K3に基づく前記第2シード格納暗号化データ領域の第2の復号処理を実行して第2シードを取得し、取得した第2シードと第2記録キーK2とに基づくデータ処理により前記第2ブロックキーKb2を生成し、生成した第2ブロックキーKb2に基づく復号処理により前記情報記録媒体に格納された暗号化データの復号処理を実行するステップを有することを特徴とする情報処理方法にある。
【0047】
【作用】
本発明の構成によれば、暗号化コンテンツの復号に適用する鍵(ブロックキーKb2)を生成するために必要となるシード情報(シード2)を格納した第2シード格納暗号化データ領域を、第1鍵生成情報としての第1シードに基づいて生成する第1ブロックキーKb1と、第1ブロックキーKb1、および第2ブロックキーKb2と異なる第3の暗号鍵K3を適用して暗号化した構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
【0048】
さらに、本発明の構成によれば、情報記録媒体に格納されたデータの再生処理において、暗号化コンテンツをデバイス間で転送し、暗号化コンテンツの復号に適用する鍵(ブロックキーKb2)生成用のシード情報(シード2)をデバイス間で転送することが必要となる構成において、ブロックキー生成情報、具体的には、シード情報(シード2)および記録キーK2の双方をセッションキーで暗号化して送受信する構成とするとともに、さらに、暗号化コンテンツの復号には、第3の暗号鍵K3を適用することを要件とした構としたので、転送路からのデータ漏洩が発生した場合であっても、シード情報(シード2)および記録キーK2を取得することは困難となり、シード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まるとともに、第3の暗号鍵K3を持たない装置におけるコンテンツ再生は不可能となり、セキュリティレベルの高いコンテンツ保護が実現される。
【0049】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやDVD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0050】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0051】
【発明の実施の形態】
[記録媒体上のデータ記録構成]
まず、本発明に係る情報記録媒体に格納されたデータ構成について説明する。情報記録媒体に格納された暗号化データは、データ記録再生装置や、PC(パーソナルコンピュータ)において読み取られ、復号、再生される。
【0052】
情報記録媒体に格納されるデータは、例えばMPEG−2システムで規定されている符号化データとしてのトランスポートストリーム(TS)である。トランスポートストリームは、1本のストリームの中に複数のプログラムを構成することができ、各トランスポートパケットの出現タイミング情報としてのATS(Arrival Time Stamp:着信時刻スタンプ)が設定されている。このタイムスタンプは、MPEG−2システムで規定されている仮想的なデコーダであるT−STD(Transport Stream System Target Decoder)を破綻させないように符号化時に決定され、ストリームの再生時に、各トランスポートパケットに付加されたATSによって出現タイミングを制御して、復号、再生を行う。
【0053】
例えば、トランスポートストリームパケットを記録媒体に記録する場合には、各パケットの間隔を詰めたソースパケットとして記録するが、各トランスポートパケットの出現タイミングを併せて記録媒体に保存することにより、再生時に各パケットの出力タイミングを制御することが可能となる。
【0054】
図1を参照して、情報記録媒体に格納されるデータ記録構成および、記録データの復号再生処理の概要を説明する。情報記録媒体に格納されるデータは暗号化データであり、再生を行う場合には、復号処理を行うことが必要となる。図1(a)が情報記録媒体に格納されるデータ記録構成である。18バイトの制御データ(User Control Data)と、2048バイトのユーザデータ(User Data)が1つのセクタデータとして構成され、例えば3セクタ分のデータが1つの暗号処理単位として規定される。なおここで説明するバイト数や、処理単位は1つの代表例であり、制御データ、ユーザデータのバイト数や、処理単位の設定は、様々な設定が可能である。
【0055】
(b)は、暗号処理単位である1ユニット(1AU:Aligned Unit)の構成を示す。情報記録媒体に格納された暗号化データの再生を実行する情報処理装置は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
【0056】
暗号処理単位である1ユニット(1AU)には、(c)暗号化構成に示すように、シード1格納領域11、シード2格納領域12を有する。シード1格納領域11に格納されたシード1は、後述する暗号鍵K1(記録キーK1)に基づくブロックキーKb1の生成に適用するシード情報である。シード2格納領域12に格納されたシード2は、後述する暗号鍵K2(記録キーK2)に基づくブロックキーKb2の生成に適用するシード情報である。
【0057】
シード2格納領域12は、ブロックキーKb1および第3の暗号鍵K3により暗号化されたデータ領域として設定される。さらに、後続のユーザデータ領域は、シード2と暗号鍵K2(記録キーK2)に基づいて生成されるブロックキーKb2によって暗号化された領域として設定される。
【0058】
図1(c)に示すシード情報の格納態様、暗号化態様は一例であり、後段において、複数の構成例について説明するが、例えば、ブロックキーKb1とKb2によって二重に暗号化された領域を含める構成としてもよい。各ブロックキーを生成するためには、鍵生成情報としてのシード情報が必要となる。シード情報(シード1)はブロックキーKb1を生成するための鍵生成情報であり、シード情報(シード2)はブロックキーKb2を生成するための鍵生成情報である。これらは、制御データ領域、あるいはユーザデータ領域に格納される。
【0059】
ユーザデータ領域に格納された暗号化コンテンツを復号するためには、情報記録媒体に格納されたシード情報を読み取って、シード情報に基づく鍵を生成することが必要となる。
【0060】
本発明の構成においては、図1(c)に示すように、ブロックキーKb1を生成するために必要となるシード情報(シード1)と、ブロックキーKb2を生成するために必要となるシード情報(シード2)とを情報記録媒体上に格納する構成とするとともに、一方のシード情報(シード2)をシード情報(シード1)によって生成されるブロックキーKb1によって暗号化するとともに、第3の暗号鍵K3によってさらに暗号化して格納する構成とした。
【0061】
このように、本発明の構成は、3つの異なる鍵を適用した暗号化処理を実行したデータを記録媒体に格納し、再生処理において3つの異なる鍵を適用した復号処理を行う。すなわち、所定の暗号処理単位毎に異なる鍵生成情報であるシード1、シード2を適用した暗号処理によりブロックキーKb1,Kb2を生成し、これらのブロックキーKb1,Kb2と、第3の暗号鍵K3を適用した復号処理を実行する。
【0062】
1処理単位毎の復号処理の後、復号されたトランスポートストリームパケットがMPEG−2デコーダに入力されデコード処理が実行されてコンテンツ再生が行なわれる。1つの処理単位(3セクタ)には、例えば32個のトランスポートストリーム(TS)パケットが含まれる。すなわち、32×192=6144バイトデータが1つの暗号化および復号処理単位とされる。なお、処理単位の設定は、様々な設定が可能である。
【0063】
復号再生時には、各処理単位毎に2つのシード情報(シード1、シード2)を情報記録媒体から取得し、各シード情報に基づいて2つのブロックキーKb1、Kb2を生成し、生成したブロックキーKb1,Kb2と、第3の暗号鍵K3を用いて復号処理がなされて、コンテンツ再生が行われる。
【0064】
第3の暗号鍵K3は、情報記録媒体から取得するデータに基づいて生成する構成、あるいは再生処理を実行する情報処理装置の格納鍵を適用する構成、あるいは再生処理を実行する情報処理装置の格納情報に基づいて生成可能な鍵を適用する構成がある。これらの処理構成については後述する。
【0065】
また、コンテンツの記録時には、復号再生処理と逆のプロセスが実行され、各処理単位毎に2つのシード情報(シード1、シード2)を設定し、各シード情報に基づいて2つのブロックキーKb1、Kb2を生成し生成したブロックキーKb1,Kb2と、第3の暗号鍵K3を用いて暗号化処理がなされて、コンテンツ記録が行われる。
【0066】
[情報処理装置構成]
図2は、上述した暗号化コンテンツ態様を持つコンテンツの記録再生処理を実行する情報処理装置100の一実施例構成を示すブロック図である。情報処理装置100は、入出力I/F(Interface)120、MPEG(Moving Picture Experts Group)コーデック130、A/D,D/Aコンバータ141を備えた入出力I/F(Interface)140、暗号処理手段150、ROM(Read Only Memory)160、CPU(Central Processing Unit)170、メモリ180、記録媒体195のドライブ190、さらにトランスポートストリーム処理手段(TS処理手段)198を有し、これらはバス110によって相互に接続されている。
【0067】
入出力I/F120は、外部から供給される画像、音声、プログラム等の各種コンテンツを構成するデジタル信号を受信し、バス110上に出力するとともに、バス110上のデジタル信号を受信し、外部に出力する。MPEGコーデック130は、バス110を介して供給されるMPEG符号化されたデータを、MPEGデコードし、入出力I/F140に出力するとともに、入出力I/F140から供給されるデジタル信号をMPEGエンコードしてバス110上に出力する。入出力I/F140は、A/D,D/Aコンバータ141を内蔵している。入出力I/F140は、外部から供給されるコンテンツとしてのアナログ信号を受信し、A/D,D/Aコンバータ141でA/D(Analog Digital)変換することで、デジタル信号として、MPEGコーデック130に出力するとともに、MPEGコーデック130からのデジタル信号を、A/D,D/Aコンバータ141でD/A(Digital Analog)変換することで、アナログ信号として、外部に出力する。
【0068】
暗号処理手段150は、例えば、1チップのLSI(Large Scale Integrated Circuit)で構成され、バス110を介して供給されるコンテンツとしてのデジタル信号を暗号化し、または復号し、バス110上に出力する構成を持つ。なお、暗号処理手段150は1チップLSIに限らず、各種のソフトウェアまたはハードウェアを組み合わせた構成によって実現することも可能である。暗号処理手段150は、さらに、例えば入出力I/F120を介して接続された外部装置とのコンテンツ入出力の際に実行する認証処理を実行する認証処理部としても機能する。
【0069】
ROM160は、例えば、情報処理装置ごとに固有の、あるいは、複数の情報処理装置のグループごとに固有のデバイスキーや、相互認証時に必要とする認証キーを記憶している。デバイスキーは、例えば鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号してマスターキーを取得するために用いられる。すなわち、デバイスキーは、マスターキー生成情報として適用される。
【0070】
CPU170は、メモリ180に記憶されたプログラムを実行することで、MPEGコーデック130や暗号処理手段150等を制御する。メモリ180は、例えば、不揮発性メモリで、CPU170が実行するプログラムや、CPU170の動作上必要なデータを記憶する。ドライブ190は、デジタルデータを記録再生可能な記録媒体195を駆動することにより、記録媒体195からデジタルデータを読み出し(再生し)、バス110上に出力するとともに、バス110を介して供給されるデジタルデータを、記録媒体195に供給して記録させる。なお、プログラムをROM160に、マスターキー生成情報や認証キーをメモリ180に記憶するように構成してもよい。
【0071】
記録媒体195は、例えば、DVD、CD等の光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、あるいはフラッシュROM、MRAM、RAM等の半導体メモリ等のデジタルデータの記憶可能な媒体であり、本実施の形態では、ドライブ190に対して着脱可能な構成であるとする。但し、記録媒体195は、情報処理装置100に内蔵する構成としてもよい。
【0072】
トランスポートストリーム処理手段(TS処理手段)198は、複数のコンテンツが多重化されたトランスポートストリームから特定のコンテンツに対応するトランスポートパケットを取り出して、取り出したトランスポートストリームの出現タイミング情報を各パケットとともに記録媒体195に格納するためのデータ処理を実行し、また、記録媒体195からの暗号化コンテンツの復号再生時には、トランスポートストリームの出現タイミング制御を行なう。
【0073】
トランスポートストリームには、前述したように、各トランスポートパケットの出現タイミング情報としてのATS(Arrival Time Stamp:着信時刻スタンプ)が設定されており、MPEG2デコーダによる復号時にATSによってタイミング制御を実行する。トランスポートストリーム処理手段(TS処理手段)198は、例えば、トランスポートパケットを記録媒体に記録する場合には、各パケットの間隔を詰めたソースパケットとして記録するが、各トランスポートパケットの出現タイミングを併せて記録媒体に保存することにより、再生時に各パケットの出力タイミングを制御することが可能となる。
【0074】
本発明の情報処理装置100は、例えば上述のトランスポートストリームによって構成される暗号化コンテンツの記録再生を実行する。これらの処理の詳細については、後段で説明する。なお、図2に示す暗号処理手段150、TS処理手段198は、理解を容易にするため、別ブロックとして示してあるが、両機能を実行する1つのワンチップLSIとして構成してもよく、また、両機能をソフトウェアまたはハードウェアを組み合わせた構成によって実現する構成としてもよい。さらには、ドライブ190、記録媒体195を除く全てのブロックをワンチップLSIとして構成してもよく、また、これらの機能をソフトウェアまたはハードウェアを組み合わせた構成によって実現する構成としてもよく、これにより情報処理装置100の改造によるセキュリティ機能の無効化に対するロバストネスを向上させることが出来る。
【0075】
[データ再生処理]
次に、記録媒体に格納された暗号化データの復号処理について説明する。図3にデータの復号処理の手順を説明する図を示す。図3に示す処理は、主に図2に示す暗号処理手段150が実行する処理である。
【0076】
情報処理装置210は自身のメモリ180(図2参照)に格納しているマスターキー211を読み出す。マスターキー211は、複数の情報処理装置に共通なキーとして格納されるキー、または、ライセンスを受けた情報処理装置に格納されたデバイスキーに基づいて、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号することにより取得されるキーである。
【0077】
情報処理装置210は情報記録媒体220に識別情報としてのディスクID(Disc ID)221が既に記録されているかどうかを検査する。記録されていれば、ディスクID(Disc ID)221を情報記録媒体220から読出す。ディスクID(Disc ID)221は、ディスク固有情報であり、例えば一般データ格納領域または、リードインエリアに格納される。
【0078】
次に、情報処理装置210は、ステップS101において、マスターキー211とディスクID221を用いて、ディスク固有キー(Disc Unique Key)を生成する。ディスク固有キー(Disc Unique Key)の具体的な生成方法としては、例えば、図4(a)に示すように、ディスクID(Disc ID)を入力値とし、共通鍵暗号方式であるAES(Advanced Encryption Standard)暗号を、マスターキー(Master Key)を暗号鍵として実行する方法や、図4(b)に示すように、FIPS 180-1で定められているハッシュ関数SHA−1に、マスターキーとディスクID(Disc ID)とのビット連結により生成されるデータを入力し、その出力から必要なデータ長のみをディスク固有キー(Disc Unique Key)として使用する方法が適用できる。
【0079】
次に、記録コンテンツごとの2つの固有鍵であるタイトルキー(Title Key)1,223、タイトルキー2,224を情報記録媒体220から読出す。ディスク上には、どこのデータがどんなタイトルを構成するかという情報が格納されたデータ管理ファイルがあり、このファイルにタイトルキーが格納されている。ディスク1枚に対してタイトルキーが1組しかない場合、すなわちディスクID221に対するタイトルキーが一意に決定できる場合には、ディスクID221と同様の方法で、例えば一般データ格納領域または、リードインエリアに格納するようにしてもよい。
【0080】
次にステップS102およびステップS103において、ディスク固有キー(Disc Unique Key)とタイトルキー(Title Key)1,2から、2つのタイトル固有キー(Title Unique Key)1,2を生成する。この生成の具体的な方法も、上記のように、SHA-1を用いる方法やブロック暗号に基づくハッシュ関数を使用する方法などが適用可能である。
【0081】
さらに、情報処理装置210は、ステップS102およびステップS103において生成した2つのタイトル固有キー(Title Unique Key)1,2と、情報記録媒体220から読み出した記録シード(REC SEED)225、物理インデックス226とに基づいて、ステップS104、S105において、2つの記録キー(RECキー)K1,K2を生成する。
【0082】
ステップS102〜S105において実行する2つの記録キー(RECキー)K1,K2の生成処理例について、図5を参照して説明する。
【0083】
図5(a)は、図3のステップS102,S104の処理による記録キーK1の生成、図5(b)は、図3のステップS103,S105の処理による記録キーK2の生成処理例を示している。
【0084】
図5(a)の処理は、まず情報記録媒体から読み出したタイトルキー1をAES(Advanced Encryption Standard)暗号処理部271に入力し、ステップS101で生成したディスク固有キーを適用した復号処理(Decryption)を実行してタイトル固有キー1を生成(S102)して、さらに、情報記録媒体から読み出した物理インデックス226をAES(Advanced Encryption Standard)暗号処理部272に入力し、タイトル固有キー1を適用した暗号処理(Encryption)を実行し、さらに、排他論理和部273において、暗号処理結果とタイトル固有キー1の排他論理和演算を実行して、その出力を記録キー1として設定(S104)する処理である。
【0085】
図5(b)の処理は、情報記録媒体から読み出したタイトルキー2をAES(Advanced Encryption Standard)暗号処理部274に入力し、ステップS101で生成したディスク固有キーを適用した復号処理(Decryption)を実行してタイトル固有キー2を生成(S103)して、さらに、情報記録媒体から読み出した記録シード(REC SEED)225をAES(Advanced Encryption Standard)暗号処理部275に入力し、タイトル固有キー2を適用した暗号処理(Encryption)を実行して記録キー2を生成(S105)する処理である。
【0086】
記録キーK1、K2は、上述の再生処理プロセスにおいて使用することが必要となるが、コンテンツを情報記録媒体に記録する暗号処理においても適用される鍵である。
【0087】
図6に示すように、情報記録媒体284に格納される暗号化コンテンツは、まずコンテンツ編集スタジオ282において編集され、編集コンテンツがディスク製造工場等のディスク製造エンティテイ283に渡されて、ディスク等の情報記録媒体に格納され、ユーザに提供される。
【0088】
この製造プロセスにおいて、コンテンツ編集スタジオ282は、物理インデックスを設定するとともに、記録キーK2を適用した暗号化処理を編集コンテンツに対して実行し、ディスク製造エンティテイ283は、記録シードを設定するとともに、記録キーK1を適用した暗号化処理を実行する。結果として情報記録媒体284には、記録キーK1、K2の2つの暗号鍵を用いた暗号処理が施された暗号化データが格納される。このようなディスク製造プロセスにおいて、コンテンツの管理を実行する管理センタ281が、コンテンツ編集スタジオには、タイトル固有キー2の取得可能情報を提供し、ディスク製造エンティテイ283には、タイトル固有キー1の取得可能情報を提供する。
【0089】
管理センタ281がこのような鍵管理を実行することで、管理センタ281からの鍵情報の提供を受けたコンテンツ編集スタジオ、およびディスク製造エンティテイのみが、暗号化コンテンツの格納された情報記録媒体の製造が可能となり、不正な第三者による海賊版ディスクの製造が防止される。特に、コンテンツ編集スタジオが編集コンテンツに適用されるTSパケット内に編集識別子(編集ID)を格納して、これを編集コンテンツとともにコンテンツ編集スタジオで暗号化処理を施すことで、どの編集スタジオで加工された編集コンテンツであるかを秘匿したままディスク製造エンティテイへデータを渡すことが可能となり、ディスク製造エンティテイが受け入れるコンテンツの追跡管理が可能となる。
【0090】
なお、図3に示す例では、2つのタイトル固有キー1,2を算出するために、情報記録媒体220に2つのタイトルキー1,2を格納し、これらの2つのタイトルキーに基づいて、2つのタイトル固有キーを算出する処理例を示したが、このように2つのタイトルキーを情報記録媒体220に格納することなく、1つの格納情報のみから、2つのタイトル固有キー1,2を算出する構成も可能である。
【0091】
図7を参照して1つの格納情報のみから、2つのタイトル固有キー1,2を算出する構成例を説明する。編集(オーサリング)毎に設定される乱数等のランダム値をディスクキーシードとして情報記録媒体220に格納する。
【0092】
図7(a)の処理例は、ディスクキーシードに対してディスク固有キーを適用して、AES暗号処理部291において暗号処理を実行し、その出力をタイトル固有キー1とする。さらにそのタイトル固有キー1をAES暗号処理部292に入力しディスク固有キーを適用してAES暗号処理を実行し、その結果をタイトル固有キー2とする。
【0093】
図7(b)の処理例は、ディスクキーシードに対してディスク固有キーを適用して、AES暗号処理部293において暗号処理を実行し、その出力をタイトル固有キー1とする。さらにそのタイトル固有キー1を、演算部294において、演算、例えば、(ディスクキーシード+1)mod2128を算出し、その結果をAES暗号処理部295に入力しディスク固有キーを適用してAES暗号処理を実行し、その結果をタイトル固有キー2とする。図7に示す方法によれば、情報記録媒体220に格納する情報を少なくすることが可能となる。
【0094】
図3に戻り、情報記録媒体からのデータ復号、再生処理についての説明を続ける。ステップS104、S105において2つの記録キー(RECキー)1,2を生成すると、次に、ステップS106において、ブロックキーKb1の生成処理を実行する。
【0095】
ブロックキーKb1の生成処理においては、情報記録媒体220からブロックキーKb1生成情報としてのシード情報(シード1)227を読み出し、シード情報(シード1)227と、ステップS104において生成した記録キーK1とに基づくAES暗号処理等のデータ処理を実行してブロックキーKb1を生成する。
【0096】
ステップS106のブロックキーKb1の生成処理以降に実行する処理について、図8を参照して説明する。
【0097】
図8において、復号処理は、処理単位300を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する。すなわち、暗号処理単位である1ユニット(1AU:Aligned Unit)である。情報記録媒体220に格納された暗号化データの再生を実行する情報処理装置210は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
【0098】
処理単位300には、18バイトの制御データ301と、6144バイトのユーザデータ(暗号化コンテンツを含む)が含まれる。6144バイトのユーザデータは、トランスポートストリームパケットの単位である192バイト毎に分割される。ユーザデータの先頭のTSパケット302と、後続の5952バイトのTSパケット群303を分離して説明する。この例では、シード情報(シード1)311が制御データ301に格納され、シード情報(シード2)312がユーザデータ内の先頭のTSパケット302内に暗号化されて格納された例である。
【0099】
なお、シード情報としての、シード1、シード2の格納態様には複数の態様があり、ここではその一例を示す。他の例については、後段で説明する。
【0100】
図8において、図3の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
【0101】
ステップS106(図3、図8)においては、情報記録媒体の制御データ内から読み出したシード情報(シード1)311をAES暗号処理部に入力し、先のステップS104において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1を生成する処理を実行する。なお、図8においてAES_Gは、AES暗号処理を適用した鍵生成(Key Generation)処理を示し、AES_Dは、AES暗号処理を適用したデータ復号(Decryption)処理を示している。
【0102】
次に、図3のステップS107において、32TSパケットからなるユーザデータからステップS108の復号処理対象となる暗号化データ部のみが抽出され、ステップS108で抽出データの復号処理が実行され、ステップS109でさらに、ステップS111の復号処理対象となる暗号化データ部のみが抽出され、ステップS111で抽出データの復号処理が実行される。
【0103】
さらに、ステップS112でステップS114の復号処理対象となる暗号化データ部のみが抽出され、ステップS114で抽出データの復号処理が実行され、ステップS114での復号処理結果データと、セレクタステップS112から出力する残りの非暗号化データとがステップS114aで連結されて、復号TSパケット群として、例えばMPEGデコーダに入力され、デコード処理がなされる。
【0104】
ステップS108(図3、図8参照)では、ステップS106において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS108では、ブロックキーKb1を適用した暗号処理のなされたデータ部のみを対象とした復号処理が実行される。この例では、ユーザデータの先頭TSパケット302の少なくともシード情報(シード2)を含むデータ領域がブロックキーKb1を適用した暗号処理がなされ、かつ第3の暗号鍵K3を適用した暗号処理のなされたデータ部である。
【0105】
第3の暗号鍵K3は、情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵、または、情報記録媒体220に格納されたデータに基づいて生成する鍵として設定される。
【0106】
図3に示す例では、情報記録媒体220に格納されたデータに基づいて生成する鍵を第3の暗号鍵K3として適用した例を示している。図3において、第3の暗号鍵K3は、情報記録媒体220に格納されたタイトルキー3,229と、ステップS101において生成したディスク固有キーからステップS113において生成するタイトル固有キーK3である。タイトル固有キーK3の生成プロセスは、先に図5、図7を参照して説明したステップS102、ステップS103のタイトル固有キー生成処理プロセスと同様であり、例えばタイトルキー3,229と、ディスク固有キーに基づくAES暗号処理により生成される。
【0107】
なお、タイトルキー3,229は、タイトルキー1,223、タイトルキー2,224と同様、情報記録媒体220の一般データ格納領域または、リードインエリアに格納されたデータ管理ファイルから読み出される。
【0108】
なお、ブロックキーKb1および、第3の暗号鍵K3を適用した暗号処理のなされたデータ部をどのデータ領域とするかについては、いくつかのパターンがあり、これらについては後述する。
【0109】
図8に示す先頭TSパケット302には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群303の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)312が含まれている。シード情報(シード2)312を含む先頭TSパケット302は、前述したように、ブロックキーKb1を適用した暗号処理、および、第3の暗号鍵K3を適用した暗号処理がなされた暗号化データである。
【0110】
ステップS108における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3を適用した暗号処理のみがなされた暗号化TSパケット304が算出され、その中からシード情報(シード2)を抽出する。なお、シード情報(シード2)は格納したTSパケット304は、第3の暗号鍵K3(タイトル固有キーK3)で暗号化されているが、シード情報(シード2)はその暗号化TSパケットから抽出される情報である。
【0111】
図3のセレクタステップS109は、ブロックキーKb1を適用した復号処理の結果から、シード情報(シード2)をステップS110のブロックキーKb2生成ステップに出力し、ブロックキーKb2で暗号化された暗号化データを復号ステップS111に出力し、その他のデータをセレクタステップS112に出力することを示している。
【0112】
ステップS110(図3,図8参照)では、ステップS108におけるブロックキーKb1を適用した復号処理の結果取得されたTSパケット304から抽出したシード情報(シード2)と、ステップS105(図3参照)において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
【0113】
次に、ステップS111において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域303)を復号し、復号TSパケット群305を生成する。
【0114】
さらに、図3のセレクタステップS112は、第3の暗号鍵K3、すなわち、タイトル固有キーK3で暗号化されたTSパケット304を復号ステップS114に選択出力するステップである。
【0115】
ステップS114(図3、図8参照)では、暗号化TSパケット304をタイトル固有キーK3で復号し復号TSパケット306を出力する。暗号化TSパケット304は、ステップS108で、TSパケット302を、ブロックキーKb1を適用して復号したデータである。すなわち、図8において示すシード情報(シード2)312を含む先頭TSパケット302は、ブロックキーKb1で暗号化され、さらに、第3の暗号鍵K3で2重に暗号化されたデータとして構成され、ステップS108におけるブロックキーKb1を適用した復号処理と、ステップS114における第3の暗号鍵K3(タイトル固有キーK3)を適用した復号処理を実行することで、復号TSパケット306が得られる。
【0116】
復号TSパケット群305、および復号TSパケット306は結合されて、例えばMPEG2デコーダに入力され、デコードされた後、再生される。
【0117】
このように、本発明の構成においては、暗号化コンテンツの復号に適用する鍵(ブロックキーKb2)を生成するために必要となるシード情報(シード2)を複数の他の鍵、すなわち、ブロックキーKb1と第3の暗号鍵K3によって暗号化して格納する構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
【0118】
なお、2つのシード情報の格納形態には、様々な態様があり、以下、複数の例について説明する。
【0119】
図9に、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット302内に格納した例を示す。先に図8を参照して説明した例では、シード情報(シード1)311が制御データ301に格納され、シード情報(シード2)312がユーザデータ内の先頭のTSパケット302内に暗号化されて格納された例を説明したが、図9に示す構成例は、シード情報(シード1)321、シード情報(シード2)322、双方がユーザデータ内の先頭のTSパケット302内に格納された例である。
【0120】
なお、先頭TSパケット302は、図8において説明した例と同様、シード情報(シード1)321を適用して取得されるブロックキーKb1によって暗号化され、かつ第3の暗号鍵K3によって暗号化された二重暗号化がなされたデータ領域として設定される。
【0121】
図9において、復号処理は、処理単位300を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する1ユニット(1AU:Aligned Unit)である。情報記録媒体220に格納された暗号化データの再生を実行する情報処理装置210は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
【0122】
図9の処理について説明する。図9において、図3の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
【0123】
ステップS106(図3、図9)は、情報記録媒体のユーザデータの先頭TSパケット内から読み出したシード情報(シード1)321をAES暗号処理部に入力し、先のステップS104(図3参照)において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1生成処理を実行するステップである。
【0124】
次に、図3のステップS107において、32TSパケットからなるユーザデータから、ステップS108におけるブロックキーKb1を適用した復号処理を実行すべきデータ部、すなわち先頭TSパケット302を選択し、ステップS108においてブロックキーKb1を適用した復号処理(AES復号処理)を実行し、TSパケット304を得る。TSパケット304は、第3の暗号鍵K3(タイトル固有キーK3)によって暗号化されたデータである。
【0125】
この先頭TSパケット302の暗号化データ領域には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群303の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)322が含まれている。
【0126】
ステップS108(図3、図9参照)では、ステップS106において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS108では、ブロックキーKb1を適用した暗号処理のなされたデータ部のみを対象とした復号処理が実行される。この例では、ユーザデータの先頭TSパケット302の少なくともシード情報(シード2)を含むデータ領域がブロックキーKb1を適用した暗号処理がなされ、かつ第3の暗号鍵K3を適用した暗号処理のなされたデータ部である。
【0127】
第3の暗号鍵K3は、情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵、または、情報記録媒体220に格納されたデータに基づいて生成する鍵として設定される。ここでは、情報記録媒体220に格納されたタイトルキー3,229に基づいて生成するタイトル固有キーK3を第3の暗号鍵K3として適用した例を示している。
【0128】
図9に示す先頭TSパケット302には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群303の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)322が含まれ、シード情報(シード2)322を含む先頭TSパケット302は、前述したように、ブロックキーKb1を適用した暗号処理、および、第3の暗号鍵K3を適用した暗号処理がなされた暗号化データである。
【0129】
ステップS108における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3を適用した暗号処理のみがなされた暗号化TSパケット304が算出され、その中からシード情報(シード2)を抽出する。
【0130】
図3のセレクタステップS109は、ブロックキーKb1を適用した復号処理の結果から、シード情報(シード2)をステップS110のブロックキーKb2生成ステップに出力し、ブロックキーKb2で暗号化された暗号化データを復号ステップS111に出力し、その他のデータをセレクタステップS112に出力することを示している。
【0131】
ステップS110(図3,図9参照)では、ステップS108におけるブロックキーKb1を適用した復号処理の結果取得されたTSパケット304から抽出したシード情報(シード2)と、ステップS105(図3参照)において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
【0132】
次に、ステップS111において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域303)を復号し、復号TSパケット群305を生成する。
【0133】
さらに、図3のセレクタステップS112は、第3の暗号鍵K3、すなわち、タイトル固有キーK3で暗号化されたTSパケット304を復号ステップS114に選択出力するステップである。
【0134】
ステップS114(図3、図9参照)では、暗号化TSパケット304をタイトル固有キーK3で復号し復号TSパケット306を出力する。暗号化TSパケット304は、ステップS108で、TSパケット302を、ブロックキーKb1を適用して復号したデータである。すなわち、図9において示すシード情報(シード2)322を含む先頭TSパケット302は、ブロックキーKb1で暗号化され、さらに、第3の暗号鍵K3で2重に暗号化されたデータとして構成され、ステップS108におけるブロックキーKb1を適用した復号処理と、ステップS114における第3の暗号鍵K3(タイトル固有キーK3)を適用した復号処理を実行することで、復号TSパケット306が得られる。
【0135】
復号TSパケット群305、および復号TSパケット306は結合されて、例えばMPEG2デコーダに入力され、デコードされた後、再生される。
【0136】
このように、本構成においては、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット内に格納し、ブロックキーKb2を生成するために必要となるシード情報(シード2)は、シード情報(シード1)と、記録キーK1とに基づいて生成するブロックキーKb1によって暗号化し、さらに、第3の暗号鍵K3によって暗号化される領域(先頭TSパケット)に格納する構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
【0137】
図10に示す例は、シード情報(シード1)331をユーザデータ内の先頭TSパケット302に格納し、シード情報(シード2)332をユーザデータ内の次の第2TSパケット341に格納した例である。
【0138】
なお、先頭TSパケット302と、第2TSパケット341は、シード情報(シード1)331を適用して取得されるブロックキーKb1によって暗号化され、さらに、第3の暗号鍵K3によって暗号化された二重暗号化がなされたデータ領域として設定される。
【0139】
図10において、復号処理は、処理単位300を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する1ユニット(1AU:Aligned Unit)である。情報記録媒体220に格納された暗号化データの再生を実行する情報処理装置210は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
【0140】
図10の処理について説明する。図10において、図3の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
【0141】
ステップS106(図3、図10)は、情報記録媒体のユーザデータの先頭TSパケット内から読み出したシード情報(シード1)331をAES暗号処理部に入力し、先のステップS104(図3参照)において生成した記録キーK1を適用したAES暗号処理を実行してブロックキーKb1を生成するステップである。
【0142】
次に、図3のステップS107において、32TSパケットからなるユーザデータからステップS108におけるブロックキーKb1を適用した復号処理を実行すべきデータ部、すなわち先頭TSパケット302と第2TSパケット341を選択し、ステップS108においてブロックキーKb1を適用した復号処理(AES復号処理)を実行し、TSパケット304を得る。TSパケット304は、第3の暗号鍵K3(タイトル固有キーK3)によって暗号化されたデータである。
【0143】
ステップS108における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3を適用した暗号処理のみがなされた暗号化TSパケット304が算出され、その中からシード情報(シード2)を抽出する。
【0144】
図3のセレクタステップS109は、ブロックキーKb1を適用した復号処理の結果から、シード情報(シード2)をステップS110のブロックキーKb2生成ステップに出力し、ブロックキーKb2で暗号化された暗号化データを復号ステップS111に出力し、その他のデータをセレクタステップS112に出力することを示している。
【0145】
ステップS110(図3,図10参照)では、ステップS108におけるブロックキーKb1を適用した復号処理の結果取得されたTSパケット304から抽出したシード情報(シード2)と、ステップS105(図3参照)において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
【0146】
次に、ステップS111において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域342)を復号し、復号TSパケット群305を生成する。
【0147】
さらに、図3のセレクタステップS112は、第3の暗号鍵K3、すなわち、タイトル固有キーK3で暗号化された先頭および次のTSパケットからなるTSパケット304を復号ステップS114に選択出力するステップである。
【0148】
ステップS114(図3、図10参照)では、暗号化TSパケット304をタイトル固有キーK3で復号し復号TSパケット306を出力する。図10において示す先頭TSパケット302と次のTSパケット341は、ブロックキーKb1で暗号化され、さらに、第3の暗号鍵K3で2重に暗号化されたデータとして構成され、ステップS108におけるブロックキーKb1を適用した復号処理と、ステップS114における第3の暗号鍵K3(タイトル固有キーK3)を適用した復号処理を実行することで、復号TSパケット306が得られる。
【0149】
復号TSパケット群305、および復号TSパケット306は結合されて、例えばMPEG2デコーダに入力され、デコードされた後、再生される。
【0150】
このように、本構成においては、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット内に格納し、ブロックキーKb2を生成するために必要となるシード情報(シード2)をユーザデータ内の第2TSパケット内に格納し、先頭TSパケットおよび、シード情報(シード2)を含む第2TSパケットを、シード情報(シード1)と、記録キーK1とに基づいて生成するブロックキーKb1によって暗号化し、さらに、第3の暗号鍵K3によって暗号化される領域(先頭TSパケット)に格納する構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
【0151】
なお、上述した例において、第3の暗号鍵K3を情報記録媒体220に格納されたデータ(タイトルキー3)に基づいて生成する鍵として設定した例を説明したが、第3の暗号鍵K3は、情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵として設定することが可能である。
【0152】
例えば図11に示すように、第3の暗号鍵K3,230を情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵として設定し、情報記録媒体220からの取得データに基づく生成処理を不要とする構成が可能である。
【0153】
また、上述した例では、ブロック鍵Kb1と、第3の暗号鍵K3とで暗号化されたシード情報(シード2)格納領域についての復号処理をまず、ブロック鍵Kb1を適用して実行し、この第1の復号処理の結果からシード情報(シード2)を取得して、この取得シード情報(シード2)を適用してブロック鍵Kb2を生成する構成例を説明したが、ブロック鍵Kb1と、第3の暗号鍵K3とで暗号化されたシード情報(シード2)格納領域について、ブロック鍵Kb1を適用した復号処理と、第3の暗号鍵K3を適用した復号処理を続けて実行し、この連続復号処理の結果からシード情報(シード2)を取得して、この取得シード情報(シード2)を適用してブロック鍵Kb2を生成する構成とすることも可能である。以下、このブロック鍵Kb1を適用した復号処理と、第3の暗号鍵K3を適用した復号処理を続けて実行する処理例について説明する。
【0154】
図12にブロック鍵Kb1を適用した復号処理と、第3の暗号鍵K3を適用した復号処理を続けて実行するデータ復号処理の手順を説明する図を示す。図12に示す処理は、主に図2に示す暗号処理手段150が実行する処理である。
【0155】
情報処理装置210は自身のメモリ180(図2参照)に格納しているマスターキー211を読み出す。マスターキー211は、複数の情報処理装置に共通なキーとして格納されるキー、または、ライセンスを受けた情報処理装置に格納されたデバイスキーに基づいて、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号することにより取得されるキーである。
【0156】
情報処理装置210は情報記録媒体220に識別情報としてのディスクID(Disc ID)221が既に記録されているかどうかを検査する。記録されていれば、ディスクID(Disc ID)221を情報記録媒体220から読出す。ディスクID(Disc ID)221は、ディスク固有情報であり、例えば一般データ格納領域または、リードインエリアに格納される。
【0157】
次に、情報処理装置210は、ステップS201において、マスターキー211とディスクID221を用いて、ディスク固有キー(Disc Unique Key)を生成する。ディスク固有キー(Disc Unique Key)の具体的な生成方法としては、先に図4を参照して説明した処理が適用可能である。
【0158】
次に、ステップS202〜S204において、記録コンテンツごとの3つの固有鍵であるタイトルキー(Title Key)1,223、タイトルキー2,224、タイトルキー3,229を情報記録媒体220から読出し、ディスク固有キー(Disc Unique Key)と各タイトルキー(Title Key)1,2,3から、3つのタイトル固有キー(Title Unique Key)1,2,3を生成する。タイトル固有キー3は、第3の暗号鍵として使用される。
【0159】
さらに、情報処理装置210は、タイトル固有キー1,2と、情報記録媒体220から読み出した記録シード(REC SEED)225、物理インデックス226とに基づいて、ステップS205、S206において、記録キー(RECキー)K1,K2を生成する。記録キー(RECキー)の生成は、先に、図5、図7を参照して説明したと同様の方法が適用される。
【0160】
次に、ステップS207において、ブロックキーKb1の生成処理を実行する。ブロックキーKb1の生成処理においては、情報記録媒体220からブロックキーKb1生成情報としてのシード情報(シード1)227を読み出し、シード情報(シード1)227と、ステップS104において生成した記録キーK1とに基づくAES暗号処理等のデータ処理を実行してブロックキーKb1を生成する。
【0161】
ステップS207のブロックキーKb1の生成処理以降に実行する処理について、図13を参照して説明する。
【0162】
図13において、復号処理は、処理単位350を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する。すなわち、暗号処理単位である1ユニット(1AU:Aligned Unit)である。情報記録媒体220に格納された暗号化データの再生を実行する情報処理装置210は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
【0163】
処理単位350には、18バイトの制御データ351と、6144バイトのユーザデータ(暗号化コンテンツを含む)が含まれる。6144バイトのユーザデータは、トランスポートストリームパケットの単位である192バイト毎に分割される。ユーザデータの先頭のTSパケット352と、後続の5952バイトのTSパケット群353を分離して説明する。この例では、シード情報(シード1)361が制御データ351に格納され、シード情報(シード2)362がユーザデータ内の先頭のTSパケット352内に暗号化されて格納された例である。
【0164】
図13において、図12の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
【0165】
ステップS207(図12、図13)においては、情報記録媒体の制御データ内から読み出したシード情報(シード1)361をAES暗号処理部に入力し、先のステップS206において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1を生成する処理を実行する。
【0166】
次に、図12のステップS208において、32TSパケットからなるユーザデータからステップS209の復号処理対象となる暗号化データ部のみが抽出され、ステップS209で抽出データの復号処理が実行され、ステップS210でさらに、ステップS211の復号処理対象となる暗号化データ部のみが抽出され、ステップS211で抽出データの復号処理が実行される。
【0167】
さらに、ステップS212でステップS214の復号処理対象となる暗号化データ部のみが抽出され、ステップS214で抽出データの復号処理が実行され、ステップS214での復号処理結果データと、セレクタステップS212から出力する残りの非暗号化データとがセレクタステップS215において連結されて、復号TSパケット群として、例えばMPEGデコーダに入力され、デコード処理がなされる。
【0168】
ステップS209(図12、図13参照)では、ステップS207において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS209では、ブロックキーKb1を適用した暗号処理のなされたデータ部のみを対象とした復号処理が実行される。この例では、ユーザデータの先頭TSパケット352の少なくともシード情報(シード2)を含むデータ領域がブロックキーKb1を適用した暗号処理がなされ、かつ第3の暗号鍵K3を適用した暗号処理のなされたデータ部である。
【0169】
第3の暗号鍵K3は、情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵、または、情報記録媒体220に格納されたデータに基づいて生成する鍵として設定される。
【0170】
図12に示す例では、情報記録媒体220に格納されたデータに基づいて生成する鍵を第3の暗号鍵K3として適用した例を示している。図12において、第3の暗号鍵K3は、情報記録媒体220に格納されたタイトルキー3,229と、ステップS201において生成したディスク固有キーからステップS203において生成するタイトル固有キーK3である。
【0171】
図13に示す先頭TSパケット352には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群353の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)362が含まれている。シード情報(シード2)362を含む先頭TSパケット352は、前述したように、ブロックキーKb1を適用した暗号処理、および、第3の暗号鍵K3を適用した暗号処理がなされた暗号化データである。
【0172】
ステップS209における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3を適用した暗号処理のみがなされた暗号化TSパケットが算出される。このTSパケットをセレクタステップS210において、他データと結合し、ステップS211において、第3の暗号鍵K3(タイトル固有キーK3)を適用した復号処理を実行する。
【0173】
ステップS211における第3の暗号鍵K3を適用した復号処理の対象となるデータは、図13の例では、シード情報(シード2)362を含む先頭TSパケット352である。このように、先頭TSパケット352をブロック鍵Kb1と、第3の暗号鍵(タイトル固有キーK3)を適用して連続復号処理を実行して、復号TSパケット354を取得し、その中からシード情報(シード2)を抽出する。
【0174】
図12のセレクタステップS212は、ブロックキーKb1および第3の暗号鍵(タイトル固有キーK3)を適用した復号処理の結果から、シード情報(シード2)をステップS213のブロックキーKb2生成ステップに出力し、ブロックキーKb2で暗号化された暗号化データを復号ステップS214に出力し、その他のデータをセレクタステップS215に出力することを示している。
【0175】
ステップS213(図12,図13参照)では、ステップS209,S211におけるブロックキーKb1および第3の暗号鍵(タイトル固有キーK3)を適用した復号処理の結果取得されたTSパケット354から抽出したシード情報(シード2)と、ステップS206(図12参照)において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
【0176】
次に、ステップS214において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域353)を復号し、復号TSパケット群355を生成する。
【0177】
復号TSパケット群355、および復号TSパケット354は結合されて、例えばMPEG2デコーダに入力され、デコードされた後、再生される。
【0178】
このように、本発明の構成においては、暗号化コンテンツの復号に適用する鍵(ブロックキーKb2)を生成するために必要となるシード情報(シード2)を複数の他の鍵、すなわち、ブロックキーKb1と第3の暗号鍵K3によって暗号化して格納する構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
【0179】
図14に、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット302内に格納した例を示す。先に図13を参照して説明した例では、シード情報(シード1)361が制御データ351に格納され、シード情報(シード2)362がユーザデータ内の先頭のTSパケット352内に暗号化されて格納された例を説明したが、図14に示す構成例は、シード情報(シード1)371、シード情報(シード2)372、双方がユーザデータ内の先頭のTSパケット352内に格納された例である。
【0180】
なお、先頭TSパケット352は、図13において説明した例と同様、シード情報(シード1)371を適用して取得されるブロックキーKb1によって暗号化され、かつ第3の暗号鍵K3によって暗号化された二重暗号化がなされたデータ領域として設定される。
【0181】
ステップS207(図12、図14)においては、情報記録媒体の先頭TSパケット352から読み出したシード情報(シード1)371をAES暗号処理部に入力し、先のステップS206において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1を生成する処理を実行する。
【0182】
次に、図12のステップS208において、32TSパケットからなるユーザデータからステップS209の復号処理対象となる暗号化データ部のみが抽出され、ステップS209で抽出データの復号処理が実行され、ステップS210でさらに、ステップS211の復号処理対象となる暗号化データ部のみが抽出され、ステップS211で抽出データの復号処理が実行される。
【0183】
さらに、ステップS212でステップS214の復号処理対象となる暗号化データ部のみが抽出され、ステップS214で抽出データの復号処理が実行され、ステップS214での復号処理結果データと、セレクタステップS212から出力する残りの非暗号化データとがセレクタステップS215において連結されて、復号TSパケット群として、例えばMPEGデコーダに入力され、デコード処理がなされる。
【0184】
ステップS209(図12、図14参照)では、ステップS207において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS209では、ブロックキーKb1を適用した暗号処理のなされたデータ部のみを対象とした復号処理が実行される。この例では、ユーザデータの先頭TSパケット352の少なくともシード情報(シード2)を含むデータ領域がブロックキーKb1を適用した暗号処理がなされ、かつ第3の暗号鍵K3を適用した暗号処理のなされたデータ部である。
【0185】
第3の暗号鍵K3は、情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵、または、情報記録媒体220に格納されたデータに基づいて生成する鍵として設定される。
【0186】
図12に示す例では、情報記録媒体220に格納されたデータに基づいて生成する鍵を第3の暗号鍵K3として適用した例を示している。図12において、第3の暗号鍵K3は、情報記録媒体220に格納されたタイトルキー3,229と、ステップS201において生成したディスク固有キーからステップS203において生成するタイトル固有キーK3である。
【0187】
図14に示す先頭TSパケット352には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群353の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)372が含まれている。シード情報(シード2)372を含む先頭TSパケット352は、前述したように、ブロックキーKb1を適用した暗号処理、および、第3の暗号鍵K3を適用した暗号処理がなされた暗号化データである。
【0188】
ステップS209における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3を適用した暗号処理のみがなされた暗号化TSパケットが算出される。このTSパケットをセレクタステップS210において、他データと結合し、ステップS211において、第3の暗号鍵K3(タイトル固有キーK3)を適用した復号処理を実行する。
【0189】
ステップS211における第3の暗号鍵K3を適用した復号処理の対象となるデータは、図14の例では、シード情報(シード2)372を含む先頭TSパケット352である。このように、先頭TSパケット352をブロック鍵Kb1と、第3の暗号鍵(タイトル固有キーK3)を適用して連続復号処理を実行して、復号TSパケット354を取得し、その中からシード情報(シード2)を抽出する。
【0190】
図12のセレクタステップS212は、ブロックキーKb1および第3の暗号鍵(タイトル固有キーK3)を適用した復号処理の結果から、シード情報(シード2)をステップS213のブロックキーKb2生成ステップに出力し、ブロックキーKb2で暗号化された暗号化データを復号ステップS214に出力し、その他のデータをセレクタステップS215に出力することを示している。
【0191】
ステップS213(図12,図14参照)では、ステップS209,S211におけるブロックキーKb1および第3の暗号鍵(タイトル固有キーK3)を適用した復号処理の結果取得されたTSパケット354から抽出したシード情報(シード2)と、ステップS206(図12参照)において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
【0192】
次に、ステップS214において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域353)を復号し、復号TSパケット群355を生成する。
【0193】
復号TSパケット群355、および復号TSパケット354は結合されて、例えばMPEG2デコーダに入力され、デコードされた後、再生される。
【0194】
このように、本構成においては、暗号化コンテンツの復号に適用する鍵(ブロックキーKb2)を生成するために必要となるシード情報(シード2)を複数の他の鍵、すなわち、ブロックキーKb1と第3の暗号鍵K3によって暗号化して格納する構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
【0195】
図15に示す例は、シード情報(シード1)381をユーザデータ内の先頭TSパケット352に格納し、シード情報(シード2)382をユーザデータ内の次の第2TSパケット391に格納した例である。
【0196】
なお、先頭TSパケット352と、第2TSパケット391は、シード情報(シード1)381を適用して取得されるブロックキーKb1によって暗号化され、さらに、第3の暗号鍵K3によって暗号化された二重暗号化がなされたデータ領域として設定される。
【0197】
図15の処理について説明する。図15において、図12の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
【0198】
ステップS207(図12、図15)は、情報記録媒体のユーザデータの先頭TSパケット内から読み出したシード情報(シード1)381をAES暗号処理部に入力し、先のステップS205(図12参照)において生成した記録キーK1を適用したAES暗号処理を実行してブロックキーKb1を生成するステップである。
【0199】
次に、図12のステップS208において、32TSパケットからなるユーザデータからステップS209におけるブロックキーKb1を適用した復号処理を実行すべきデータ部、すなわち先頭TSパケット352と第2TSパケット391を選択し、ステップS209においてブロックキーKb1を適用した復号処理(AES復号処理)を実行する。
【0200】
ステップS209における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3を適用した暗号処理のみがなされた暗号化TSパケットが算出される。このTSパケットをセレクタステップS210において、他データと結合し、ステップS211において、第3の暗号鍵K3(タイトル固有キーK3)を適用した復号処理を実行する。
【0201】
ステップS211における第3の暗号鍵K3を適用した復号処理の対象となるデータは、図15の例では、先頭TSパケット352と、シード情報(シード2)382を含む第2TSパケット391である。このように、先頭TSパケット352および第2TSパケット391をブロック鍵Kb1と、第3の暗号鍵(タイトル固有キーK3)を適用して連続復号処理を実行して、復号TSパケット354を取得し、その中からシード情報(シード2)を抽出する。
【0202】
図12のセレクタステップS212は、ブロックキーKb1および第3の暗号鍵(タイトル固有キーK3)を適用した復号処理の結果から、シード情報(シード2)をステップS213のブロックキーKb2生成ステップに出力し、ブロックキーKb2で暗号化された暗号化データを復号ステップS214に出力し、その他のデータをセレクタステップS215に出力することを示している。
【0203】
ステップS213(図12,図15参照)では、ステップS209,S211におけるブロックキーKb1および第3の暗号鍵(タイトル固有キーK3)を適用した復号処理の結果取得されたTSパケット354から抽出したシード情報(シード2)と、ステップS206(図12参照)において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
【0204】
次に、ステップS214において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域392)を復号し、復号TSパケット群355を生成する。
【0205】
復号TSパケット群355、および復号TSパケット354は結合されて、例えばMPEG2デコーダに入力され、デコードされた後、再生される。
【0206】
このように、本構成においては、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット内に格納し、ブロックキーKb2を生成するために必要となるシード情報(シード2)をユーザデータ内の第2TSパケット内に格納し、先頭TSパケットおよび、シード情報(シード2)を含む第2TSパケットを、シード情報(シード1)と、記録キーK1とに基づいて生成するブロックキーKb1によって暗号化し、さらに、第3の暗号鍵K3によって暗号化される領域(先頭TSパケット)に格納する構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
【0207】
なお、上述した例において、第3の暗号鍵K3を情報記録媒体220に格納されたデータ(タイトルキー3)に基づいて生成する鍵として設定した例を説明したが、第3の暗号鍵K3は、情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵として設定することが可能である。
【0208】
例えば図16に示すように、第3の暗号鍵K3,230を情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵として設定し、情報記録媒体220からの取得データに基づく生成処理を不要とする構成が可能である。
【0209】
次に、図17、図18、図19を参照してシード情報(シード1)と記録キーKに基づいて生成するブロックキーKb1と、第3の暗号鍵K3によって暗号化する領域の例について説明する。図17は、制御ブロックにシード情報(シード1)が格納され、シード情報(シード2)が、ユーザデータの1つのTSパケットに含まれる場合の例である。
【0210】
なお、上述の例では、シード情報(シード2)が、ユーザデータの先頭または2番目のTSパケット内に含まれる場合について説明したが、シード情報(シード2)は、先頭、または第2番目のTSパケット以外のユーザデータ部を構成する任意のTSパケット内に格納可能である。
【0211】
ユーザデータのいずれかのTSパケットにシード情報(シード2)を格納した場合、シード情報(シード1)と記録キーK1とに基づいて生成するブロックキーKb1と、第3の暗号鍵K3によって暗号化する領域例として、例えば図17(a)〜(c)の構成がある。(a)は、シード情報(シード2)のみをブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。それ以外の領域は、非暗号化領域とするか、あるいは、シード情報(シード2)と記録キーK2によって生成されるブロックキーKb2によって暗号化したデータ領域とする。
【0212】
(b)は、シード情報(シード2)を含むTSパケットの一部領域をブロックキーKb1によって暗号化し、TSパケットの全領域を第3の暗号鍵K3によって暗号化した例である。
【0213】
例えばコンテンツ編集スタジオ282(図6参照)においてシード情報(シード2)と編集識別子(編集ID)をTSパケット内に格納し、ディスク製造エンティテイ283(図6参照)において、シード情報(シード1)に基づいて生成可能な記録キーK1を用いて、シード情報(シード2)の暗号化処理を行った後、ディスクに格納する。
【0214】
(c)は、シード情報(シード2)を含む1つのTSパケットの全領域をブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。
【0215】
図18に示す例は、シード情報(シード1)とシード情報(シード2)を同一のTSパケット内に格納した例を示している。シード情報(シード1)はブロックキーKb1およびKb2による非暗号化情報として格納される。シード情報(シード2)は、シード情報(シード1)と記録キーK1とに基づいて生成するブロックキーKb1と、第3の暗号鍵K3によって暗号化され、シード情報(シード1)と同一のTSパケット内に格納される。
【0216】
(d)は、シード情報(シード2)のみをブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。それ以外の領域は、非暗号化領域とするか、あるいは、シード情報(シード2)と記録キーK2によって生成されるブロックキーKb2によって暗号化したデータ領域とする。
【0217】
(e)は、シード情報(シード2)を含むTSパケットの一部領域をブロックキーKb1によって暗号化し、TSパケットの全領域を第3の暗号鍵K3によって暗号化した例である。(f)は、シード情報(シード2)を含む1つのTSパケットの全領域をブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。
【0218】
図19に示す例は、シード情報(シード1)とシード情報(シード2)を異なるTSパケット内に格納した例を示している。シード情報(シード1)はブロックキーKb1およびKb2による非暗号化情報として格納される。シード情報(シード2)は、シード情報(シード1)と記録キーK1とに基づいて生成するブロックキーKb1と、第3の暗号鍵K3によって暗号化され、シード情報(シード1)と異なるTSパケット内に格納される。
【0219】
(g)は、シード情報(シード2)のみをブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。それ以外の領域は、非暗号化領域とするか、あるいは、シード情報(シード2)と記録キーK2によって生成されるブロックキーKb2によって暗号化したデータ領域とする。
【0220】
(h)は、シード情報(シード2)を含む1つのTSパケットの全領域をブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。(i)は、シード情報(シード2)を含む1つのTSパケットの全領域をブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。
【0221】
以上、図17〜図19を参照して説明したように、シード情報(シード1)およびシード情報(シード2)の格納態様、および暗号化データ領域の設定態様は様々な設定が可能である。しかし、いずれの場合もシード情報(シード2)は、シード情報(シード1)を用いて生成される鍵、すなわちブロックキーKb1と、第3の暗号鍵K3によって暗号化されて格納されるので、情報記録媒体からの直接読み取りが不可能となり、シード情報(シード2)の解析、シード情報(シード2)を適用して生成するブロックキーKb2の解析、ブロックキーKb2によって暗号化されるユーザデータの暗号化アルゴリズムの解析困難性を高めることが可能となる。さらに、シード情報(シード1)を第3の暗号鍵K3によって暗号化する場合には、シード情報(シード1)の解析、シード情報(シード1)を適用して生成するブロックキーKb1の解析、ブロックキーKb1によって暗号化されるユーザデータの暗号化アルゴリズムの解析困難性を高めることが可能となる。
【0222】
[情報記録媒体ドライブ装置とのインタフェースを介するデータ入出力構成]
次に、PC等の情報処理装置において、様々なインタフェース、例えばSCSI、IEEEE1394、USB等のインタフェースを介してDVD、CD等の情報記録媒体を装着した情報記録媒体ドライブと接続し、インタフェースを介してデータ転送を実行する場合の処理例について説明する。
【0223】
例えば、図20に示すように、PC等の情報処理装置410と、DVD、CD等の情報記録媒体430を装着した情報記録媒体ドライブ420とを双方のインタフェース411,421を介して接続した構成であり、情報記録媒体ドライブ420が情報記録媒体430に対するアクセスを実行し、データを双方のインタフェース411,421を介して転送し、PC等の情報処理装置410において再生する構成である。
【0224】
図に示すように、インタフェース411,421を介してデータが転送される場合、転送データに上述したシード情報(シード2)が非暗号化状態で含まれると、転送データからのシード情報(シード2)の漏洩が発生する可能性がある。
【0225】
そこで、本発明の構成においては、情報処理装置410と情報記録媒体ドライブ420間でインタフェースを介してデータ転送が実行される場合、双方の装置間において、認証処理を実行し、認証処理の結果、双方の機器で取得するセッションキーを用いて転送データを暗号化して送信する構成とした。以下、この処理構成の詳細について説明する。
【0226】
図21に、PC等の情報処理装置500と情報記録媒体ドライブ510において、暗号化コンテンツを格納した情報記録媒体520のデータ読み出し、再生を実行する場合の処理を説明する図を示す。なお、情報処理装置500と情報記録媒体ドライブ510とも、先に図2を参照して説明した構成とほぼ同様の構成を持つ。ただし、PC等の情報処理装置500は、図2に示す記録媒体195およびドライブ190は必須ではなく、これらは、情報記録媒体ドライブ510のみが備えていればよい。また、MPEGコーデック130、TS処理手段198はPC等の情報処理装置500のみが有する構成でよく、情報記録媒体ドライブ510には構成する必要がない。
【0227】
図21を参照して、情報記録媒体520のデータを情報記録媒体ドライブ510において読み出し、情報処理装置500に転送して再生する場合の処理を説明する。
【0228】
情報記録媒体ドライブ510は自身のメモリ180(図2参照)に格納しているマスターキー511を読み出す。なお、マスターキー511は、情報処理装置500側に格納されている場合は、情報処理装置500から情報記録媒体ドライブ510に送信してもよい。マスターキー511は、ライセンスを受けた情報処理装置(情報記録媒体ドライブを含む)に格納されたキー、あるいは格納情報に基づいて生成されるキーである。
【0229】
情報記録媒体ドライブ510は、ディスクID(Disc ID)521を情報記録媒体520から読出す。ディスクID(Disc ID)521は、ディスク固有情報であり、例えば一般データ格納領域または、リードインエリアに格納される。
【0230】
次に、情報記録媒体ドライブ510は、ステップS551において、マスターキー511とディスクID521を用いて、ディスク固有キー(Disc Unique Key)を生成する。ディスク固有キー(Disc Unique Key)の具体的な生成方法は、先に図4を参照して説明したと同様の方法が適用できる。
【0231】
次に、記録コンテンツごとの2つの固有鍵であるタイトルキー(Title Key)1,523、タイトルキー2,524を情報記録媒体520から読出す。ディスク上には、どこのデータがどんなタイトルを構成するかという情報が格納されたデータ管理ファイルがあり、このファイルにタイトルキーが格納されている。ディスク1枚に対してタイトルキーが1組しかない場合、すなわちディスクID521に対するタイトルキーが一意に決定できる場合には、ディスクID521と同様の方法で、例えば一般データ格納領域または、リードインエリアに格納するようにしてもよい。
【0232】
次にステップS552およびステップS553において、ディスク固有キー(Disc Unique Key)とタイトルキー(Title Key)1,2から、2つのタイトル固有キー(Title Unique Key)1,2を生成する。
【0233】
さらに、情報記録媒体ドライブ510は、ステップS552およびステップS553において生成した2つのタイトル固有キー(Title Unique Key)1,2と、情報記録媒体520から読み出した記録シード(REC SEED)525、物理インデックス526とに基づいて、ステップS554、S555において、2つの記録キー(RECキー)K1,K2を生成する。
【0234】
ステップS552〜S555において実行する2つの記録キー(RECキー)K1,K2の生成処理は、先に図5を参照して説明した通り、2つのタイトル固有キー(Title Unique Key)1,2と、情報記録媒体520から読み出した記録シード(REC SEED)525、物理インデックス526とに基づくAES(Advanced Encryption Standard)暗号処理により生成される。
【0235】
なお、先に図7を参照して説明した通り、記録シード(REC SEED)525、物理インデックス526を情報記録媒体520に格納する代わりに編集(オーサリング)毎に設定される乱数等のランダム値をディスクキーシードとして情報記録媒体520に格納して、ディスクキーシードに対してディスク固有キーを適用して、AES暗号処理を実行し、その出力からタイトル固有キー1、タイトル固有キー2を得る方法としてもよい。
【0236】
上述のいずれかの方法により、ステップS554、S555において2つの記録キー(RECキー)1,2を生成すると、次に、ステップS556において、ブロックキーKb1の生成処理を実行する。
【0237】
ブロックキーKb1の生成処理においては、情報記録媒体520からブロックキーKb1生成情報としてのシード情報(シード1)527を読み出し、シード情報(シード1)527と、ステップS554において生成した記録キーK1とに基づくAES暗号処理等のデータ処理を実行してブロックキーKb1を生成する。
【0238】
ステップS556のブロックキーKb1の生成処理以降に実行する処理について、図22を参照して説明する。
【0239】
図22において、復号処理は、処理単位600を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する。すなわち、暗号処理単位である1ユニット(1AU:Aligned Unit)である。情報記録媒体520に格納された暗号化データの読み取りを実行する情報記録媒体ドライブ510は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
【0240】
処理単位600には、18バイトの制御データ601と、6144バイトのユーザデータ(暗号化コンテンツを含む)が含まれる。6144バイトのユーザデータは、トランスポートストリームパケットの単位である192バイト毎に分割される。ユーザデータの先頭のTSパケット602と、後続の5952バイトのTSパケット群603を分離して説明する。この例では、シード情報(シード1)611が制御データ601に格納され、シード情報(シード2)612がユーザデータ内の先頭のTSパケット602内に暗号化されて格納された例である。シード情報(シード2)612を含むデータ領域であるTSパケット602は、シード情報(シード1)611を適用して取得されるブロックキーKb1と第3の暗号鍵K3によって暗号化されたデータ領域である。
【0241】
なお、シード情報としての、シード1、シード2の格納態様には複数の態様があり、ここではその一例を示す。他の例については、後段で説明する。
【0242】
図22において、図21の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
【0243】
ステップS556(図21、図22)は、情報記録媒体の制御データ内から読み出したシード情報(シード1)611をAES暗号処理部に入力し、先のステップS554において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1生成処理を実行するステップである。
【0244】
次に、図21のステップS557において、32TSパケットからなるユーザデータからブロックキーKb1による暗号化データ部のみが抽出される。ブロックキーKb1による復号処理を実行すべきデータ部、その他のデータ部がステップS557において分離されて、選択データ部のみがステップS558において復号される。その他のデータ部は、ステップS558をスキップし、ステップS559において、再度セレクタステップにより復号データと連結され、ステップS563においてセッションキーによって暗号化がなされる。
【0245】
ステップS558(図21、図22参照)では、ステップS556において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS558では、ブロックキーKb1を適用した暗号処理のなされたデータ部のみを対象とした復号処理が実行される。この例では、ユーザデータの先頭TSパケット602の少なくともシード情報(シード2)を含むデータ領域がブロックキーKb1を適用した暗号処理のなされたデータ部である。従って、このシード情報(シード2)を含むデータ領域を対象としてブロックキーKb1を適用した復号処理を実行する。
【0246】
なお、ブロックキーKb1を適用した暗号処理のなされたデータ部は、第3の暗号鍵K3によっても暗号化されている。ブロックキーKb1および第3の暗号鍵K3による暗号化領域をどのデータ領域とするかについては、いくつかのパターンがあり、これらについては、先に、図17〜図19を参照して説明した通りである。
【0247】
先頭TSパケット602には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群603の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)612が含まれている。すなわち、シード情報(シード2)612は、ブロックキーKb1および第3の暗号鍵K3を適用した二重暗号処理がなされた暗号化データとして先頭TSパケット602に記録されている。
【0248】
ステップS558における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3によって暗号化された暗号化TSパケット604が算出され、その中には、シード情報(シード2)が含まれる。
【0249】
図21のセレクタステップS559は、ブロックキーKb1を適用した復号処理の結果から、シード情報(シード2)を含むデータと、その他のデータを結合して、暗号化ステップS563に出力することを示している。
【0250】
ステップS563における暗号化処理は、情報記録媒体ドライブ510と、情報処理装置500との間で実行する相互認証処理の結果として双方で共有するセッションキーに基づいて実行する暗号処理である。相互認証処理は、情報記録媒体ドライブ510と、情報処理装置500とが共有する認証キーKm530,540に基づいて実行される。
【0251】
相互認証処理のシーケンスについて、図23を参照して説明する。図23に示す認証およびセッションキー共有処理は、共通鍵処理方式に基づく一例である。認証シーケンスおよびセッションキー共有シーケンスは、この処理シーケンスに限らず、他の処理方法を適用してもよい。
【0252】
情報記録媒体ドライブ510と、情報処理装置500は認証キーKm530,540を有する。まず、ステップS571において、情報処理装置500が乱数Rb1(64bit)を生成し、情報記録媒体ドライブ510に送信する。情報記録媒体ドライブ510は、ステップS581において、乱数Ra1を生成し、ステップS682において、乱数Ra1と乱数Rb1の結合データ[Ra1‖Rb1]に対するAES暗号化処理に基づくMAC(Message Authentication Code)を生成する。生成MAC値をeKm(Ra1‖Rb1)とする。なお、eKa(B)は、キーKaによるデータBの暗号化を示し、A‖Bは、データAとデータBの連結を示す。情報記録媒体ドライブ510は、生成MAC値:eKm(Ra1‖Rb1)と、生成乱数Ra1を情報処理装置500に送信する。
【0253】
情報処理装置500は、情報記録媒体ドライブ510から受信した乱数Ra1とステップS571において生成した乱数Rb1とに基づいて、ステップS572において、MAC値:eKm(Ra1‖Rb1)を算出する。さらに、ステップS573において、算出したMAC値と、情報記録媒体ドライブ510から受信したMAC値とを比較する。一致すれば、情報処理装置500は、情報記録媒体ドライブ510が正しい認証キーを持つ正規なデバイスであると認証する。不一致の場合は、認証エラーであり、その後の処理を中止する。
【0254】
さらに、情報処理装置500は、ステップS574において、乱数Rb2を生成し、情報記録媒体ドライブ510に送信する。情報記録媒体ドライブ510は、ステップS583において、乱数Ra2を生成し、生成乱数Ra2を情報処理装置500に送信する。
【0255】
情報処理装置500は、ステップS575において、受信乱数Ra2と生成乱数Rb2とに基づいて、MAC値:eKm(Ra2‖Rb2)を算出し、情報記録媒体ドライブ510に送信する。
【0256】
情報記録媒体ドライブ510は、ステップS584において、受信した乱数Rb2とステップS583において生成した乱数Ra2とに基づいて、MAC値:eKm(Ra2‖Rb2)を算出する。さらに、ステップS585において、算出したMAC値と、情報処理装置500から受信したMAC値とを比較する。一致すれば、情報記録媒体ドライブ510は、情報処理装置500が正しい認証キーを持つ正規なデバイスであると認証する。不一致の場合は、認証エラーであり、その後の処理を中止する。
【0257】
さらに、情報処理装置500は、ステップS576において、乱数Ra3を生成して情報記録媒体ドライブ510に送信する。
【0258】
情報記録媒体ドライブ510は、ステップS586において、乱数Ra3を生成し、ステップS587において、生成乱数Ra3と情報処理装置500からの受信乱数Rb3との連結データ対する共有認証キーKmを適用したAES暗号処理を実行し、セッションキーKs=eKm(Ra3‖Rb3)を算出する。
【0259】
情報処理装置500は、ステップS577において、生成乱数Rb3と情報記録媒体ドライブ510からの受信乱数Ra3との連結データに対する共有認証キーKmを適用したAES暗号処理を実行し、セッションキーKs=eKm(Ra3‖Rb3)を算出する。
【0260】
上述した処理により、情報処理装置500と情報記録媒体ドライブ510とは、相互に正しいデバイスであることを確認し、セッションキーKs=eKm(Ra3‖Rb3)を共有することができる。図21に示すステップS560、S561の処理が図23を参照して説明した処理に対応する。
【0261】
上述した処理によって、セッションキーKsが情報処理装置500と情報記録媒体ドライブ510とによって共有されると、図21に示すステップS562、S563の暗号化処理が情報記録媒体ドライブ510によって実行される。
【0262】
ステップS562の暗号化処理は、ステップS555において生成した記録キーK2をセッションキーKsで暗号化(AES暗号化)し、暗号化記録キーeKs(K2)を生成する処理である。ステップS563は、ステップS558におけるブロックキーKb1を適用した復号処理の結果取得された復号TSパケット604をセッションキーKsによって暗号化する処理である。なお、この場合、暗号化する対象は、TSパケット604全体である場合、一部である場合、シード情報(シード2)のみである場合など、処理態様は、TSパケットに含まれる秘密にすべき情報の格納態様、すなわちブロックキーKb1および第3の暗号鍵K3によって暗号化された範囲に応じて決定してよい。これらの各態様は、図17〜図19を参照して説明したとおりである。
【0263】
ステップS562において、記録キーK2のセッションキーKsによる暗号化データが生成され、ステップS563において、シード情報(シード2)を含む秘密情報がセッションキーKsによって暗号化され、これらの暗号化データ(図22のTSパケット605)が情報記録媒体ドライブ510から、情報処理装置500に送信される。すなわち、データ通信路において、転送されるデータはセッションキーKsによって暗号化されたデータとなる。
【0264】
情報処理装置500は、情報記録媒体ドライブ510から、これらのデータを受信すると、ステップS564およびステップS565において、受信暗号化データを復号する。すなわち、ステップS564において、セッションキーKsを適用して暗号化記録キーeKs(K2)を復号して記録キーK2を取得し、ステップS565において、セッションキーKsを適用してシード情報(シード2)を含む秘密情報を復号してシード情報(シード2)を含む秘密情報を取得する。図22に示すTSパケット606がシード情報(シード2)を含む。
【0265】
ステップS566は、シード情報(シード2)と、ブロックキーKb2による復号対象データと、その他のデータとを分離するセレクタステップである。ステップS567(図21,図22参照)では、ステップS565におけるセッションキーKsを適用した復号処理の結果取得されたシード情報(シード2)と、ステップS564において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
【0266】
次に、ステップS568において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域)を復号し、復号TSパケット群607を生成する。
【0267】
さらに、シード情報(シード2)を含むTSパケット606をセレクタステップS569(図21参照)において選択し、第3の暗号鍵K3,550を適用して復号処理を実行し復号TSパケット608(図22参照)を得る。
【0268】
ここで、第3の暗号鍵K3,550は、情報処理装置500に予め格納された秘密鍵、情報処理装置500に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
【0269】
復号TSパケット群607、および復号TSパケット608は結合されて、復号TSパケットとして例えばMPEG2デコーダに入力され、デコードされた後、再生される。
【0270】
このように、本構成においては、情報記録媒体に格納されたデータの再生処理において、暗号化コンテンツの復号に適用する鍵(ブロックキーKb2)を生成するために必要となるシード情報(シード2)をデバイス間で転送することが必要となる構成において、ブロックキーKb2の生成に必要となるシード情報(シード2)および記録キーK2の双方をセッションキーで暗号化して送受信する構成としたので、転送路からのデータ漏洩が発生した場合であっても、シード情報(シード2)および記録キーK2を取得することは困難であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。これは、情報処理装置500の中で、例えば記録キーK1の取得方法からブロックキーKb1の算出方法、そして、セッションキーKsの生成方法、および、セッションキーKsによる暗号化方法を一つのLSIパッケージ内の処理として秘匿性を高めることによって、一層強固なものとなる。
【0271】
なお、前述した例と同様、2つのシード情報の格納形態には、様々な態様があり、以下、複数の例について説明する。
【0272】
図24に、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット602内に格納した例を示す。先に図22を参照して説明した例では、シード情報(シード1)611が制御データ601に格納され、シード情報(シード2)612がユーザデータ内の先頭のTSパケット602内に暗号化されて格納された例を説明したが、図24に示す構成例は、シード情報(シード1)621、シード情報(シード2)622、双方がユーザデータ内の先頭のTSパケット602内に格納された例である。
【0273】
なお、シード情報(シード2)622を含むデータ領域であるTSパケット602は、図22において説明した例と同様、シード情報(シード1)621を適用して取得されるブロックキーKb1と第3の暗号鍵K3によって暗号化されたデータ領域である。
【0274】
図24において、復号処理は、処理単位600を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する1ユニット(1AU:Aligned Unit)である。情報記録媒体520に格納された暗号化データの読み取りを実行する情報記録媒体ドライブ510は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
【0275】
図24の処理について説明する。図24において、図21の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
【0276】
ステップS556(図21、図24)は、情報記録媒体のユーザデータの先頭TSパケット内から読み出したシード情報(シード1)621をAES暗号処理部において、先のステップS554(図21参照)において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1生成処理を実行する。
【0277】
次に、図21のステップS557において、32TSパケットからなるユーザデータからブロックキーKb1による暗号化データ部のみが抽出される。ブロックキーKb1による暗号化データ部、非暗号化部がステップS557において分離されて、暗号化部のみがステップS558において復号される。非暗号化部は、ステップS558をスキップし、ステップS559において、再度セレクタステップにより復号データと連結され、ステップS563においてセッションキーによって暗号化がなされる。
【0278】
ステップS558(図21、図24参照)では、ステップS556において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS558では、ブロックキーKb1を適用した暗号処理のなされたデータ部のみを対象とした復号処理が実行される。この例では、ユーザデータの先頭TSパケット602の少なくともシード情報(シード2)を含むデータ領域がブロックキーKb1を適用した暗号処理のなされたデータ部である。従って、このシード情報(シード2)を含むデータ領域を対象としてブロックキーKb1を適用した復号処理を実行する。
【0279】
この先頭TSパケット602の暗号化データ領域には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群603の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)622が含まれている。すなわち、シード情報(シード2)622は、ブロックキーKb1を適用した暗号処理がなされた暗号化データとして先頭TSパケット602に記録されている。
【0280】
ステップS556における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3で暗号化されたTSパケット604が算出され、その中にはシード情報(シード2)が含まれる。
【0281】
図21のセレクタステップS559は、ブロックキーKb1を適用した復号処理の結果から、シード情報(シード2)を含む復号データと、その他のデータを結合して、暗号化ステップS563に出力することを示している。
【0282】
ステップS563における暗号化処理は、情報記録媒体ドライブ510と、情報処理装置500との間で実行する相互認証処理の結果として双方で共有するセッションキーに基づいて実行する暗号処理である。相互認証処理は、情報記録媒体ドライブ510と、情報処理装置500とが共有する認証キーKm530,540に基づいて実行される。相互認証処理およびセッションキー共有処理は、図23を参照して説明した通りである。
【0283】
認証が成立し、セッションキーKsが共有されると、図21、図24に示すステップS562、S563の暗号化処理が情報記録媒体ドライブ510によって実行される。すなわち、ステップS562において、記録キーK2のセッションキーKsによる暗号化データが生成され、ステップS563において、シード情報(シード2)を含む秘密情報がセッションキーKsによって暗号化され、これらの暗号化データ(図24のTSパケット605)が情報記録媒体ドライブ510から、情報処理装置500に送信される。すなわち、データ通信路において、転送されるデータはセッションキーKsによって暗号化されたデータとなる。
【0284】
情報処理装置500は、情報記録媒体ドライブ510から、これらのデータを受信すると、ステップS564およびステップS565において、受信暗号化データを復号する。すなわち、ステップS564において、セッションキーKsを適用して暗号化記録キーeKs(K2)を復号して記録キーK2を取得し、ステップS565において、セッションキーKsを適用してシード情報(シード2)を含む秘密情報を復号してシード情報(シード2)を含む秘密情報を取得する。図24に示すTSパケット606は、第3の暗号鍵K3によってのみ暗号化されたTSパケットであり、シード情報(シード2)を含む。
【0285】
ステップS566は、復号されたシード情報(シード2)と、ブロックキーKb2による復号対象データと、その他のデータとを分離するセレクタステップである。ステップS567(図21,図24参照)では、ステップS565におけるセッションキーKsを適用した復号処理の結果取得されたシード情報(シード2)と、ステップS564において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
【0286】
次に、ステップS568において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域)を復号し、復号TSパケット群607を生成する。
【0287】
さらに、シード情報(シード2)を含むTSパケット606をセレクタステップS569(図21参照)において選択し、第3の暗号鍵K3,550を適用して復号処理を実行し復号TSパケット608(図24参照)を得る。
【0288】
ここで、第3の暗号鍵K3,550は、情報処理装置500に予め格納された秘密鍵、情報処理装置500に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
【0289】
復号TSパケット群607、および復号TSパケット608は結合されて、復号TSパケットとして例えばMPEG2デコーダに入力され、デコードされた後、再生される。
【0290】
このように、本構成においては、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット内に格納し、ブロックキーKb2を生成するために必要となるシード情報(シード2)を服務領域を、シード情報(シード1)と、記録キーK1とに基づいて生成するブロックキーKb1と第3の暗号鍵K3によって暗号化して格納する構成とした。
【0291】
本構成においても、シード情報(シード2)のディスクからの直接読み取り、データ転送路からの読み取りを行うことは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。これは、情報処理装置500の中で、例えば記録キーK1の取得方法からブロックキーKb1の算出方法、そして、セッションキーKsの生成方法、および、セッションキーKsによる暗号化方法を一つのLSIパッケージ内の処理として秘匿性を高めることによって、一層強固なものとなる。
【0292】
図25に示す例は、シード情報(シード1)631をユーザデータ内の先頭TSパケット602に格納し、シード情報(シード2)632をユーザデータ内の次のTSパケット641に格納した例である。
【0293】
なお、シード情報(シード2)632を格納した領域、ここでは、先頭TSパケット602および第2TSパケット641は、図22、図24において説明した例と同様、シード情報(シード1)631を適用して取得されるブロックキーKb1と第3の暗号鍵K3によって暗号化されてユーザデータ内の第2のTSパケット641内に格納される。
【0294】
図25において、復号処理は、処理単位600を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する1ユニット(1AU:Aligned Unit)である。
【0295】
図25の処理について説明する。図25において、図21の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
【0296】
ステップS556(図21、図25)は、情報記録媒体のユーザデータの先頭TSパケット内から読み出したシード情報(シード1)631をAES暗号処理部に入力し、先のステップS554(図21参照)において生成した記録キーK1を適用したAES暗号処理を実行してブロックキーKb1を生成する。
【0297】
次に、図21のステップS557において、32TSパケットからなるユーザデータからブロックキーKb1による暗号化データ部のみが抽出される。ブロックキーKb1による暗号化データ部、非暗号化部がステップS557において分離されて、暗号化部のみがステップS558において復号される。非暗号化部は、ステップS558をスキップし、ステップS559において、再度セレクタステップにより復号データと連結され、ステップS563においてセッションキーによって暗号化がなされる。
【0298】
ステップS558(図21、図25参照)では、ステップS556において生成したブロックキーKb1を適用したAES復号処理を実行する。復号処理対象は、ブロックキーKb1を適用した暗号処理がなされているデータ領域であり、ユーザデータの先頭TSパケット中のシード情報(シード1)521を除くデータ領域の暗号化領域と、第2TSパケット中の少なくともシード情報(シード2)632を含むデータ領域の復号処理が実行される。ブロックキーKb1を適用した暗号処理のなされたデータ部をどのデータ領域とするかについては、いくつかのパターンがあり、これらについては前述した通りである。
【0299】
本例では、第2のTSパケット641の暗号化データ領域に、他のユーザデータ部、すなわち、後続のTSパケット群642の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)632が含まれる。すなわち、シード情報(シード2)632は、ブロックキーKb1を適用した暗号処理がなされた暗号化データとして第2TSパケット641に記録されている。
【0300】
ステップS606における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3で暗号化されたTSパケット604が算出され、その中にはシード情報(シード2)が含まれる。
【0301】
図21のセレクタステップS559は、ブロックキーKb1を適用した復号処理の結果から、シード情報(シード2)を含む復号データと、その他のデータを結合して、暗号化ステップS563に出力することを示している。
【0302】
ステップS563における暗号化処理は、情報記録媒体ドライブ510と、情報処理装置500との間で実行する相互認証処理の結果として双方で共有するセッションキーに基づいて実行する暗号処理である。相互認証処理は、情報記録媒体ドライブ510と、情報処理装置500とが共有する認証キーKm530,540に基づいて実行される。相互認証処理およびセッションキー共有処理は、図23を参照して説明した通りである。
【0303】
認証が成立し、セッションキーKsが共有されると、図21、図25に示すステップS562、S563の暗号化処理が情報記録媒体ドライブ510によって実行される。すなわち、ステップS562において、記録キーK2のセッションキーKsによる暗号化データが生成され、ステップS563において、シード情報(シード2)を含む秘密情報がセッションキーKsによって暗号化され、これらの暗号化データ(図21のTSパケット605)が情報記録媒体ドライブ510から、情報処理装置500に送信される。すなわち、データ通信路において、転送されるデータはセッションキーKsによって暗号化されたデータとなる。
【0304】
情報処理装置500は、情報記録媒体ドライブ510から、これらのデータを受信すると、ステップS564およびステップS565において、受信暗号化データを復号する。すなわち、ステップS564において、セッションキーKsを適用して暗号化記録キーeKs(K2)を復号して記録キーK2を取得し、ステップS565において、セッションキーKsを適用してシード情報(シード2)を含む秘密情報を復号してシード情報(シード2)を含む秘密情報を取得する。図25に示すTSパケット606は、第3の暗号鍵K3によってのみ暗号化されたTSパケットであり、シード情報(シード2)を含む。
【0305】
ステップS566は、復号されたシード情報(シード2)と、ブロックキーKb2による復号対象データと、非暗号化データとを分離するセレクタステップである。ステップS567(図21,図25参照)では、ステップS565におけるセッションキーKsを適用した復号処理の結果取得されたシード情報(シード2)と、ステップS564において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
【0306】
次に、ステップS568において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域)を復号し、復号TSパケット群607を生成する。
【0307】
さらに、シード情報(シード2)を含むTSパケット606をセレクタステップS569(図21参照)において選択し、第3の暗号鍵K3,550を適用して復号処理を実行し復号TSパケット608(図25参照)を得る。
【0308】
ここで、第3の暗号鍵K3,550は、情報処理装置500に予め格納された秘密鍵、情報処理装置500に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
【0309】
復号TSパケット群607、および復号TSパケット608は結合されて、復号TSパケットとして例えばMPEG2デコーダに入力され、デコードされた後、再生される。
【0310】
このように、本構成においては、シード情報(シード1)ユーザデータ内の先頭TSパケット内に格納し、ブロックキーKb2を生成するために必要となるシード情報(シード2)をユーザデータ内の第2TSパケット内に格納し、シード情報(シード2)を、シード情報(シード1)と、記録キーK1とに基づいて生成するブロックキーKb1によって暗号化して格納する構成とした。
【0311】
本構成においても、シード情報(シード2)をディスクから直接読み取ること、データ転送路からの読み取りを行うことは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。これは、情報処理装置500の中で、例えば記録キーK1の取得方法からブロックキーKb1の算出方法、そして、セッションキーKsの生成方法、および、セッションキーKsによる暗号化方法を一つのLSIパッケージ内の処理として秘匿性を高めることによって、一層強固なものとなる。
【0312】
上述した例では、ブロック鍵Kb1と、第3の暗号鍵K3とで暗号化されたシード情報(シード2)格納領域について、ブロック鍵Kb1を適用した復号処理を実行し、この復号処理の結果からシード情報(シード2)を取得して、この取得シード情報(シード2)を適用してブロック鍵Kb2を生成する構成例を説明したが、ブロック鍵Kb1と、第3の暗号鍵K3とで暗号化されたシード情報(シード2)格納領域について、ブロック鍵Kb1を適用した復号処理と、第3の暗号鍵K3を適用した復号処理を続けて実行し、この連続復号処理の結果からシード情報(シード2)を取得して、この取得シード情報(シード2)を適用してブロック鍵Kb2を生成する構成とすることも可能である。以下、このブロック鍵Kb1を適用した復号処理と、第3の暗号鍵K3を適用した復号処理を続けて実行する処理例について説明する。
【0313】
図26において、ステップS591以下の処理が、図21を参照して説明した処理と異なる部分である。他の処理は、図21を参照して説明した処理と同様であるので説明を省略する。ステップS591以下の処理について、図21、および図27〜図29を参照して説明する。図27〜図29は、図22、図24、図25に対応し、シード1とシード2の格納領域がそれぞれ異なるパターンを持つ例である。
【0314】
まず、図26、図27を参照して、シード情報(シード1)611が制御データ601に格納され、シード情報(シード2)612がユーザデータ内の先頭のTSパケット602内に暗号化されて格納された例における処理について説明する。図27に示すTSパケット602は、シード情報(シード1)611を適用して取得されるブロックキーKb1と第3の暗号鍵K3によって暗号化されたデータ領域である。
【0315】
情報処理装置のステップS564以降の処理について説明する。ステップS564において、情報処理装置500は、情報記録媒体ドライブ510からの受信暗号化データを復号する。すなわち、ステップS564において、セッションキーKsを適用して暗号化記録キーeKs(K2)を復号して記録キーK2を取得する。
【0316】
ステップS565において、セッションキーKsを適用してシード情報(シード2)を含む秘密情報を復号して第3の暗号鍵K3でのみ暗号化された暗号化TSパケットを生成する。さらにステップS591において、第3の暗号鍵K3,550を適用して復号処理を実行し復号TSパケット610(図27参照)を得る。
【0317】
ここで、第3の暗号鍵K3,550は、情報処理装置500に予め格納された秘密鍵、情報処理装置500に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
【0318】
復号TSパケット610(図27参照)にはシード情報(シード2)が含まれる。ステップS592(図26参照)は、シード情報(シード2)と、ブロックキーKb2による復号対象データと、その他のデータとを分離するセレクタステップである。ステップS593(図26,図27参照)では、ステップS565、S591におけるセッションキーKsを適用した復号処理および第3の暗号鍵K3を適用した復号処理の結果取得されたシード情報(シード2)と、ステップS564において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
【0319】
次に、ステップS593において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域)を復号し、復号TSパケット群607を生成する。
【0320】
復号TSパケット群607、および復号TSパケット610はセレクタステップS595(図26参照)において結合されて、復号TSパケットとして例えばMPEG2デコーダに入力され、デコードされた後、再生される。
【0321】
図28は、シード情報(シード1)621、シード情報(シード2)622、双方がユーザデータ内の先頭のTSパケット602内に格納された例である。シード情報(シード2)622を含むデータ領域であるTSパケット602は、図27において説明した例と同様、シード情報(シード1)621を適用して取得されるブロックキーKb1と第3の暗号鍵K3によって暗号化されたデータ領域である。
【0322】
情報処理装置のステップS564以降の処理について説明する。ステップS564において、情報処理装置500は、情報記録媒体ドライブ510からの受信暗号化データを復号する。すなわち、ステップS564において、セッションキーKsを適用して暗号化記録キーeKs(K2)を復号して記録キーK2を取得する。
【0323】
ステップS565において、セッションキーKsを適用してシード情報(シード2)を含む秘密情報を復号して第3の暗号鍵K3でのみ暗号化された暗号化TSパケットを生成する。さらにステップS591において、第3の暗号鍵K3,550を適用して復号処理を実行し復号TSパケット610(図28参照)を得る。
【0324】
ここで、第3の暗号鍵K3,550は、情報処理装置500に予め格納された秘密鍵、情報処理装置500に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
【0325】
復号TSパケット610(図28参照)にはシード情報(シード2)が含まれる。ステップS592(図26参照)は、シード情報(シード2)と、ブロックキーKb2による復号対象データと、その他のデータとを分離するセレクタステップである。ステップS593(図26,図28参照)では、ステップS565、S591におけるセッションキーKsを適用した復号処理および第3の暗号鍵K3を適用した復号処理の結果取得されたシード情報(シード2)と、ステップS564において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
【0326】
次に、ステップS593において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域)を復号し、復号TSパケット群607を生成する。
【0327】
復号TSパケット群607、および復号TSパケット610はセレクタステップS595(図26参照)において結合されて、復号TSパケットとして例えばMPEG2デコーダに入力され、デコードされた後、再生される。
【0328】
図29は、シード情報(シード1)631が先頭TSパケット602、シード情報(シード2)632が第2TSパケット641内に格納された例である。本例では、シード情報(シード2)641を含むデータ領域として、先頭TSパケット602および第2TSパケット641が、シード情報(シード1)631を適用して取得されるブロックキーKb1と第3の暗号鍵K3によって暗号化されたデータ領域である。
【0329】
情報処理装置のステップS564以降の処理について説明する。ステップS564において、情報処理装置500は、情報記録媒体ドライブ510からの受信暗号化データを復号する。すなわち、ステップS564において、セッションキーKsを適用して暗号化記録キーeKs(K2)を復号して記録キーK2を取得する。
【0330】
ステップS565において、セッションキーKsを適用してシード情報(シード2)を含む秘密情報を復号して第3の暗号鍵K3でのみ暗号化された暗号化TSパケットを生成する。さらにステップS591において、第3の暗号鍵K3,550を適用して復号処理を実行し復号TSパケット610(図29参照)を得る。
【0331】
ここで、第3の暗号鍵K3,550は、情報処理装置500に予め格納された秘密鍵、情報処理装置500に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
【0332】
復号TSパケット610(図29参照)にはシード情報(シード2)が含まれる。ステップS592(図26参照)は、シード情報(シード2)と、ブロックキーKb2による復号対象データと、その他のデータとを分離するセレクタステップである。ステップS593(図26,図29参照)では、ステップS565、S591におけるセッションキーKsを適用した復号処理および第3の暗号鍵K3を適用した復号処理の結果取得されたシード情報(シード2)と、ステップS564において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
【0333】
次に、ステップS593において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域)を復号し、復号TSパケット群607を生成する。
【0334】
復号TSパケット群607、および復号TSパケット610はセレクタステップS595(図26参照)において結合されて、復号TSパケットとして例えばMPEG2デコーダに入力され、デコードされた後、再生される。
【0335】
[他のデータ構成における適用]
上述した例では、情報記録媒体に格納するデータをTSパケットとした例を説明したが、本発明の構成は、TSパケット以外の様々なデータ構成においても適用可能である。すなわち、暗号化データをブロック単位で暗号化するための第2のシード情報(シード2)を、他のシード情報(シード1)を適用して生成するブロックキーKb1および第3の暗号鍵K3によって暗号化して情報記憶媒体に格納する構成により、第2のシード情報(シード2)の漏洩が防止され、セキュリティの高いコンテンツ保護が実現される。これは、トランスポートストリーム以外のデータ構成とした場合もブロック単位の暗号化処理を適用し、シード情報を用いたブロックキーを生成する構成であれば有効となる。
【0336】
また、インタフェースを介したデータ転送の際にセッションキーによるデータ暗号化を行う構成例において、上述した例では、2つのシード情報中、一方をセッションキーによって暗号化する処理例を説明したが、セッションキーによるデータ暗号化を伴うデータ転送処理は、上述した構成例に限らず、一般的な暗号化コンテンツ格納構成においても有効である。
【0337】
暗号化されていないシード情報を記録媒体上に持つ構成において、情報処理装置と、情報記録媒体ドライブ間で、データ転送を実行する処理例について、図30を参照して説明する。
【0338】
図30に示す処理例において、情報記録媒体670には、暗号化コンテンツ675が記録され、暗号化コンテンツ675は、処理単位毎に設定されるシード情報674によって生成されるブロックキーKb1で暗号化されて記録されている。
【0339】
情報記録媒体ドライブ660において、暗号化コンテンツを格納した情報記録媒体670のデータを読み出し、PC等の情報処理装置650において再生する場合の処理を説明する。
【0340】
情報記録媒体ドライブ660は自身のメモリに格納しているマスターキー661を読み出す。なお、マスターキー661は、情報処理装置650側に格納されている場合は、情報処理装置650から情報記録媒体ドライブ660に送信してもよい。マスターキー661は、ライセンスを受けた情報処理装置(情報記録媒体ドライブを含む)に格納された秘密情報に基づいて生成可能なキーである。
【0341】
情報記録媒体ドライブ660は、ディスクID(Disc ID)671を情報記録媒体670から読出す。ディスクID(Disc ID)671は、ディスク固有情報であり、例えば一般データ格納領域または、リードインエリアに格納される。
【0342】
次に、情報記録媒体ドライブ660は、ステップS651において、マスターキー661とディスクID671を用いて、ディスク固有キー(Disc Unique Key)を生成する。ディスク固有キー(Disc Unique Key)の具体的な生成方法は、先に図4を参照して説明したと同様の方法が適用できる。
【0343】
次に、記録コンテンツごとの固有鍵であるタイトルキー(Title Key)1,672を情報記録媒体670から読出す。ディスク上には、どこのデータがどんなタイトルを構成するかという情報が格納されたデータ管理ファイルがあり、このファイルにタイトルキーが格納されている。
【0344】
次にステップS652において、ディスク固有キー(Disc Unique Key)とタイトルキー(Title Key)1,672から、タイトル固有キー(Title Unique Key)1を生成する。
【0345】
さらに、情報記録媒体ドライブ660は、ステップS652において生成したタイトル固有キー(Title Unique Key)1と、情報記録媒体670から読み出した物理インデックス673とに基づいて、ステップS653において、記録キー(RECキー)K1を生成する。
【0346】
ステップS653において実行する記録キー(RECキー)K1の生成処理は、先に図5を参照して説明した通り、タイトル固有キー(Title Unique Key)1と、情報記録媒体670から読み出した物理インデックス673とに基づくAES(Advanced Encryption Standard)暗号処理により生成される。
【0347】
ステップS654のブロックキーKb1の生成処理においては、情報記録媒体670からブロックキーKb1生成情報としてのシード情報674を読み出し、シード情報674と、ステップS653において生成した記録キーK1とに基づくAES暗号処理等のデータ処理を実行してブロックキーKb1を生成する。
【0348】
ステップS654のブロックキーKb1の生成処理以降に実行する処理について、図31を参照して説明する。
【0349】
図31において、復号処理は、例えば2048バイトの処理単位内のユーザデータ701を単位として実行される。処理単位毎に制御データ711が設定される。情報記録媒体ドライブ660は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
【0350】
処理単位には、18バイトの制御データ711と、2048バイトの暗号化ユーザデータ701が含まれる。シード情報674が制御データ711内に格納されている。暗号化ユーザデータ701は、シード情報721に基づいて生成されるブロックキーKb1によって暗号化されたデータである。
【0351】
図31において、図30の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
【0352】
ステップS654(図30、図31)は、情報記録媒体の制御データ内から読み出したシード情報674をAES暗号処理部に入力し、先のステップS653において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1生成処理を実行するステップである。
【0353】
ステップS655(図30、図31参照)では、ステップS654において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS655では、ブロックキーKb1を適用した暗号処理のなされたユーザデータ701を対象とした復号処理が実行される。例えばAESのCBC(Cipher Block Chaining)モードを適用した処理を実行する。
【0354】
次のステップS663における暗号化処理は、情報記録媒体ドライブ660と、情報処理装置650との間で実行する相互認証処理の結果として双方で共有するセッションキーに基づいて実行する暗号処理である。相互認証処理は、情報記録媒体ドライブ660と、情報処理装置650とが共有する認証キーKm680,690に基づいて実行される。相互認証処理のシーケンスは、例えば先に図23を参照して説明したシーケンスに従って実行される。
【0355】
図30に示すステップS661、S662において、相互認証処理、セッションキーKs生成が実行され、情報処理装置650と情報記録媒体ドライブ660とによってセッションキーKsが共有される。
【0356】
次に、ステップS663(図30、図31参照)の暗号化処理が情報記録媒体ドライブ660によって実行される。
【0357】
ステップS663の暗号化処理は、ステップS655において復号処理の結果取得された復号ユーザデータをセッションキーKsによって暗号化する処理である。例えばAESのCBC(Cipher Block Chaining)モードを適用した暗号化処理を実行し、暗号化ユーザデータ702を生成する。
【0358】
この暗号化データ(図31のユーザデータ702)が情報記録媒体ドライブ660から、情報処理装置650に送信される。すなわち、データ通信路において、転送されるデータはセッションキーKsによって暗号化されたデータとなる。
【0359】
情報処理装置650は、情報記録媒体ドライブ660から、暗号化ユーザデータを受信すると、ステップS664において、受信暗号化データを復号する。すなわち、セッションキーKsを適用して例えばAESのCBC(Cipher Block Chaining)モードを適用した復号処理を実行する。
【0360】
さらに、ステップS665において第3の暗号鍵K3,685を適用した復号処理を実行し、ユーザデータ703を取得する。ここで、第3の暗号鍵K3,685は、情報処理装置650に予め格納された秘密鍵、情報処理装置650に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
【0361】
この例においても、情報記録媒体に格納されたデータの再生処理において、デバイス間の転送データをセッションキーで暗号化して送受信する構成としたので、転送路において盗聴等が発生した場合であっても、コンテンツの漏洩は防止され、セキュリティレベルの高いコンテンツ保護が実現される。これは、情報処理装置650の中で、例えば記録キーK1の取得方法からブロックキーKb1の算出方法、そして、セッションキーKsの生成方法、および、セッションキーKsによる暗号化方法を一つのLSIパッケージ内の処理として秘匿性を高めることによって、一層強固なものとなる。
【0362】
さらに、暗号化されていないシード情報を記録媒体上に持つ構成において、情報処理装置と、情報記録媒体ドライブ間で、データ転送を実行する第2の処理例について、図32、図33を参照して説明する。
【0363】
図32に示す処理例において、情報記録媒体670には、暗号化コンテンツ675が記録され、暗号化コンテンツ675は、処理単位毎に設定されるシード情報674によって生成されるブロックキーKb1で暗号化されて記録されている。
【0364】
情報記録媒体ドライブ660において、暗号化コンテンツを格納した情報記録媒体670のデータを読み出し、PC等の情報処理装置650において再生する場合の処理を説明する。
【0365】
情報記録媒体ドライブ660は自身のメモリに格納しているマスターキー661を読み出す。なお、マスターキー661は、情報処理装置650側に格納されている場合は、情報処理装置650から情報記録媒体ドライブ660に送信してもよい。マスターキー661は、ライセンスを受けた情報処理装置(情報記録媒体ドライブを含む)に格納された秘密情報に基づいて生成可能なキーである。
【0366】
情報記録媒体ドライブ660は、ディスクID(Disc ID)671を情報記録媒体670から読出す。ディスクID(Disc ID)671は、ディスク固有情報であり、例えば一般データ格納領域または、リードインエリアに格納される。
【0367】
次に、情報記録媒体ドライブ660は、ステップS651において、マスターキー661とディスクID671を用いて、ディスク固有キー(Disc Unique Key)を生成する。ディスク固有キー(Disc Unique Key)の具体的な生成方法は、先に図4を参照して説明したと同様の方法が適用できる。
【0368】
次に、記録コンテンツごとの固有鍵であるタイトルキー(Title Key)1,672を情報記録媒体670から読出す。ディスク上には、どこのデータがどんなタイトルを構成するかという情報が格納されたデータ管理ファイルがあり、このファイルにタイトルキーが格納されている。
【0369】
次にステップS652において、ディスク固有キー(Disc Unique Key)とタイトルキー(Title Key)1,672から、タイトル固有キー(Title Unique Key)1を生成する。
【0370】
さらに、情報記録媒体ドライブ660は、ステップS652において生成したタイトル固有キー(Title Unique Key)1と、情報記録媒体670から読み出した物理インデックス673とに基づいて、ステップS653において、記録キー(RECキー)K1を生成する。
【0371】
ステップS653において実行する記録キー(RECキー)K1の生成処理は、先に図5を参照して説明した通り、タイトル固有キー(Title Unique Key)1と、情報記録媒体670から読み出した物理インデックス673とに基づくAES(Advanced Encryption Standard)暗号処理により生成される。
【0372】
ステップS654のブロックキーKb1の生成処理においては、情報記録媒体670からブロックキーKb1生成情報としてのシード情報674を読み出し、シード情報674と、ステップS653において生成した記録キーK1とに基づくAES暗号処理等のデータ処理を実行してブロックキーKb1を生成する。
【0373】
さらに、ステップS656において、情報記録媒体670から読み出したタイトルキー3,677とディスク固有キーから、タイトル固有キー(Title Unique
Key)3,すなわち第3の暗号鍵K3を生成する。
【0374】
ステップS654のブロックキーKb1の生成処理以降に実行する処理について、図33を参照して説明する。
【0375】
図33において、復号処理は、例えば2048バイトの処理単位内のユーザデータ701を単位として実行される。処理単位毎に制御データ711が設定される。情報記録媒体ドライブ660は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
【0376】
処理単位には、18バイトの制御データ711と、2048バイトの暗号化ユーザデータ701が含まれる。シード情報674が制御データ711内に格納されている。暗号化ユーザデータ701は、シード情報721に基づいて生成されるブロックキーKb1によって暗号化されたデータである。
【0377】
図33において、図32の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
【0378】
ステップS654(図32、図33)は、情報記録媒体の制御データ内から読み出したシード情報674をAES暗号処理部に入力し、先のステップS653において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1生成処理を実行するステップである。
【0379】
ステップS655(図32、図33参照)では、ステップS654において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS655では、ブロックキーKb1を適用した暗号処理のなされたユーザデータ701を対象とした復号処理が実行される。例えばAESのCBC(Cipher Block Chaining)モードを適用した処理を実行する。
【0380】
次のステップS663における暗号化処理は、情報記録媒体ドライブ660と、情報処理装置650との間で実行する相互認証処理の結果として双方で共有するセッションキーに基づいて実行する暗号処理である。相互認証処理は、情報記録媒体ドライブ660と、情報処理装置650とが共有する認証キーKm680,690に基づいて実行される。相互認証処理のシーケンスは、例えば先に図23を参照して説明したシーケンスに従って実行される。
【0381】
図32に示すステップS661、S662において、相互認証処理、セッションキーKs生成が実行され、情報処理装置650と情報記録媒体ドライブ660とによってセッションキーKsが共有される。
【0382】
次に、ステップS663(図32、図33参照)の暗号化処理が情報記録媒体ドライブ660によって実行される。
【0383】
ステップS663の暗号化処理は、ステップS655において復号処理の結果取得された復号ユーザデータをセッションキーKsによって暗号化する処理である。例えばAESのCBC(Cipher Block Chaining)モードを適用した暗号化処理を実行し、暗号化ユーザデータ702を生成する。
【0384】
さらに、ステップS664(図32、図33参照)の暗号化処理が情報記録媒体ドライブ660によって実行される。
【0385】
ステップS664の暗号化処理は、ステップS656において生成した第3の暗号鍵K3をセッションキーKsによって暗号化する処理である。例えばAESのCBC(Cipher Block Chaining)モードを適用した暗号化処理を実行し、暗号化第3暗号鍵Ks(K3)を生成する。
【0386】
暗号化データ(図33のユーザデータ702)と暗号化第3暗号鍵Ks(K3)704とが情報記録媒体ドライブ660から、情報処理装置650に送信される。すなわち、データ通信路において、転送されるデータはセッションキーKsによって暗号化されたユーザデータと第3暗号鍵K3となる。
【0387】
情報処理装置650は、情報記録媒体ドライブ660から、暗号化ユーザデータを受信すると、ステップS665において、受信暗号化データを復号する。すなわち、セッションキーKsを適用して例えばAESのCBC(Cipher Block Chaining)モードを適用した復号処理を実行する。
【0388】
さらに、ステップS666において、暗号化第3暗号鍵Ks(K3)704に対して、セッションキーKsを適用して例えばAESのCBC(Cipher Block Chaining)モードを適用した復号処理を実行し、第3暗号鍵K3を取得する。
【0389】
さらに、ステップS667において第3暗号鍵K3を適用した復号処理を実行し、ユーザデータ703を取得する。
【0390】
この例においても、情報記録媒体に格納されたデータの再生処理において、デバイス間の転送データをセッションキーで暗号化して送受信する構成としたので、転送路において盗聴等が発生した場合であっても、コンテンツの漏洩は防止され、セキュリティレベルの高いコンテンツ保護が実現される。これは、情報処理装置650の中で、例えば記録キーK1の取得方法からブロックキーKb1の算出方法、そして、セッションキーKsの生成方法、および、セッションキーKsによる暗号化方法を一つのLSIパッケージ内の処理として秘匿性を高めることによって、一層強固なものとなる。
【0391】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0392】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0393】
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0394】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0395】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0396】
【発明の効果】
以上、説明したように、本発明の構成によれば、暗号化コンテンツの復号に適用する鍵(ブロックキーKb2)を生成するために必要となるシード情報(シード2)を格納した第2シード格納暗号化データ領域を、第1鍵生成情報としての第1シードに基づいて生成する第1ブロックキーKb1と、第1ブロックキーKb1、および第2ブロックキーKb2と異なる第3の暗号鍵K3を適用して暗号化した構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
【0397】
さらに、本発明の構成によれば、情報記録媒体に格納されたデータの再生処理において、暗号化コンテンツをデバイス間で転送し、暗号化コンテンツの復号に適用する鍵(ブロックキーKb2)生成用のシード情報(シード2)をデバイス間で転送することが必要となる構成において、ブロックキー生成情報、具体的には、シード情報(シード2)および記録キーK2の双方をセッションキーで暗号化して送受信する構成とするとともに、さらに、暗号化コンテンツの復号には、第3の暗号鍵K3を適用することを要件とした構としたので、転送路からのデータ漏洩が発生した場合であっても、シード情報(シード2)および記録キーK2を取得することは困難となり、シード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まるとともに、第3の暗号鍵K3を持たない装置におけるコンテンツ再生は不可能となり、セキュリティレベルの高いコンテンツ保護が実現される。
【図面の簡単な説明】
【図1】情報記録媒体に格納されるデータ構成について説明する図である。
【図2】情報処理装置の構成例について説明する図である。
【図3】情報処理装置において実行する復号処理について説明する図である。
【図4】ディスク固有キーの生成処理例について説明する図である。
【図5】記録キーの生成処理例について説明する図である。
【図6】記録キーを用いたデータ記録処理について説明する図である。
【図7】タイトル固有キーの生成処理例について説明する図である。
【図8】暗号化データの復号処理シーケンスを説明する図である。
【図9】暗号化データの復号処理シーケンスを説明する図である。
【図10】暗号化データの復号処理シーケンスを説明する図である。
【図11】情報処理装置において実行する復号処理について説明する図である。
【図12】情報処理装置において実行する復号処理について説明する図である。
【図13】暗号化データの復号処理シーケンスを説明する図である。
【図14】暗号化データの復号処理シーケンスを説明する図である。
【図15】暗号化データの復号処理シーケンスを説明する図である。
【図16】情報処理装置において実行する復号処理について説明する図である。
【図17】シード情報の格納構成例について説明する図である。
【図18】シード情報の格納構成例について説明する図である。
【図19】シード情報の格納構成例について説明する図である。
【図20】情報記録媒体ドライブ装置と情報処理装置間の接続構成を説明する図である。
【図21】情報記録媒体ドライブ装置と情報処理装置間のデータ転送処理を説明する図である。
【図22】情報記録媒体ドライブ装置と情報処理装置間のデータ転送を伴う復号処理シーケンスを説明する図である。
【図23】情報記録媒体ドライブ装置と情報処理装置間の認証処理シーケンスを説明する図である。
【図24】情報記録媒体ドライブ装置と情報処理装置間のデータ転送を伴う復号処理シーケンスを説明する図である。
【図25】情報記録媒体ドライブ装置と情報処理装置間のデータ転送を伴う復号処理シーケンスを説明する図である。
【図26】情報記録媒体ドライブ装置と情報処理装置間のデータ転送を伴う復号処理シーケンスを説明する図である。
【図27】情報記録媒体ドライブ装置と情報処理装置間のデータ転送を伴う復号処理シーケンスを説明する図である。
【図28】情報記録媒体ドライブ装置と情報処理装置間のデータ転送を伴う復号処理シーケンスを説明する図である。
【図29】情報記録媒体ドライブ装置と情報処理装置間のデータ転送を伴う復号処理シーケンスを説明する図である。
【図30】情報記録媒体ドライブ装置と情報処理装置間のデータ転送を伴う復号処理シーケンスを説明する図である。
【図31】情報記録媒体ドライブ装置と情報処理装置間のデータ転送を伴う復号処理シーケンスを説明する図である。
【図32】情報記録媒体ドライブ装置と情報処理装置間のデータ転送を伴う復号処理シーケンスを説明する図である。
【図33】情報記録媒体ドライブ装置と情報処理装置間のデータ転送を伴う復号処理シーケンスを説明する図である。
【符号の説明】
100 情報処理装置
110 バス
120 入出力インタフェース
130 MPEGコーデック
140 入出力インタフェース
141 A/D,D/Aコンバータ
150 暗号処理手段
160 ROM
170 RAM
180 メモリ
190 記録媒体I/F
195 記録媒体
198 TS処理手段
210 情報処理装置
211 マスターキー
220 情報記録媒体
221 ディスクID
223,224 タイトルキー
225 記録シード
226 物理インデックス
227 シード情報
228 暗号化コンテンツ
229 タイトルキー
230 第3暗号鍵K3
271〜275 暗号処理部
281 管理センタ
282 コンテンツ編集スタジオ
283 ディスク製造エンティテイ
284 情報記録媒体
291,292 暗号処理部
293,295 暗号処理部
294 演算部
300 暗号処理単位
301 制御データ
302 先頭TSパケット
303,342 後続TSパケット
304 暗号化TSパケット
305 復号TSパケット群
306 復号TSパケット
311,321,331 シード情報(シード1)
312,322,332 シード情報(シード2)
341 第2TSパケット
350 暗号処理単位
351 制御データ
352 先頭TSパケット
353,392 後続TSパケット
354 復号TSパケット
355 復号TSパケット群
361,371,381 シード情報(シード1)
362,372,382 シード情報(シード2)
391 第2TSパケット
410 情報処理装置
411 インタフェース
420 情報記録媒体ドライブ装置
421 インタフェース
430 情報記録媒体
500 情報処理装置
510 情報記録媒体ドライブ
511 マスターキー
520 情報記録媒体
521 ディスクID
523,524 タイトルキー
525 記録シード
526 物理インデックス
527 シード情報
528 暗号化コンテンツ
530,540 認証キー
550 第3暗号鍵K3
600 暗号処理単位
601 制御データ
602 先頭TSパケット
603 後続TSパケット
604 暗号化TSパケット
605 暗号化TSパケット
606 暗号化TSパケット
607 復号TSパケット群
608 復号TSパケット
610 復号TSパケット
611,621,631 シード情報(シード1)
612,622,632 シード情報(シード2)
641 第2TSパケット
650 情報処理装置
660 情報記録媒体ドライブ
611 マスターキー
670 情報記録媒体
671 ディスクID
672 タイトルキー
673 物理インデックス
674 シード情報
675 暗号化コンテンツ
680,690 認証キー
685 第3暗号鍵K3
701 暗号化ユーザデータ
702 暗号化ユーザデータ
703 ユーザデータ
704 暗号化第3暗号鍵Ks(K3)
711 制御データ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing device, an information recording medium drive device, an information recording medium, an information processing method, and a computer program. More particularly, the present invention relates to an information processing apparatus, an information recording medium drive apparatus, an information recording medium, an information processing method, and a computer program that can prevent unauthorized use of content in data recording / playback processing using the information recording medium.
[0002]
[Prior art]
Recently, various software data (hereinafter referred to as content) such as audio data such as music, image data such as movies, game programs, various application programs, etc. are transmitted via a network such as the Internet or It is distributed via information recording media (media) such as CD (Compact Disc), DVD (Digital Versatile Disc), MD (Mini Disc). These distributed contents are played back and used in playback devices such as PCs (Personal Computers), CD players, DVD players, MD players, etc., game machines, etc. owned by users.
[0003]
Many contents, such as music data and image data, generally have distribution rights or the like held by the creator or seller. Therefore, when distributing these contents, it is common to adopt a configuration that restricts the use of the contents, that is, permits the use of the contents only to authorized users and prevents unauthorized copying or the like. It is the target.
[0004]
In particular, in recent years, recording devices and recording media for digitally recording information are becoming widespread. According to such a digital recording apparatus and recording medium, for example, recording and reproduction can be repeated without deteriorating images and audio, distribution of illegally copied content via the Internet, and content can be distributed on a CD-R or the like. There is a problem that a large number of so-called pirated discs are distributed.
[0005]
In particular, a large-capacity recording medium such as a DVD developed in recent years can record a large amount of data, for example, one movie as digital information on one medium. As video information and the like can be recorded as digital information in this way, it is an increasingly important issue to prevent unauthorized copying and to protect the copyright holder.
[0006]
According to a recording apparatus and a digital recording medium that perform digital recording and reproduction, recording and reproduction can be repeated without deteriorating images and sound. In this way, digital data can be copied over and over again while maintaining the image quality and sound quality. If illegally copied recording media are distributed in the market, the copyrights of various contents such as music and movies are copyrighted. The profits of the seller or the rightful sales rights holder will be harmed. In recent years, in order to prevent such illegal copying of digital data, various techniques for preventing illegal copying in digital recording devices and recording media have been put into practical use.
[0007]
For example, a DVD (Content Scramble System) is adopted in a DVD player. In CSS, a DVD-ROM (Read Only Memory) stores video data, audio data, etc. encrypted, and the key used to decrypt the encrypted data is a licensed DVD player. Given to. The license is given to a DVD player designed to comply with a predetermined operation rule such as not performing illegal copying. Therefore, a licensed DVD player can reproduce images and sounds from the DVD-ROM by decrypting the encrypted data recorded on the DVD-ROM using a given key.
[0008]
On the other hand, an unlicensed DVD player does not have a key for decrypting encrypted data, and therefore cannot decrypt encrypted data recorded on a DVD-ROM. As described above, in the CSS configuration, a DVD player that does not satisfy the conditions required at the time of licensing cannot reproduce the DVD-ROM on which the digital data is recorded, thereby preventing unauthorized copying. .
[0009]
However, the CSS employed in the DVD-ROM is intended for a recording medium in which data cannot be written by the user, and is not considered for application to a recording medium in which data can be written by the user.
[0010]
In other words, even if the data recorded on the recording medium to which data can be written is encrypted, if all the encrypted data is copied as it is to the RAM medium, the licensed legitimate device It is possible to create a so-called pirated version that can be replayed with.
[0011]
In addition, software programs that break the CSS encryption, such as DeCSS software, are distributed on the Internet. By applying this program, it is possible to decrypt DVD Video encryption and write to a recordable DVD in plain text. It has become. The reason why DeCSS appeared was the reverse engineer of DVD player software that was designed without taking any action on the key data for CSS decryption, which should be obliged to be concealed when implemented to prevent decryption. This is because the key data has been decrypted, and the entire CSS algorithm has been decrypted in a chain from the decrypted key data.
[0012]
When implementing a copyright protection technology execution program including key data in an application program executed on a PC, it is common to provide tamper resistance to prevent analysis of the copyright protection technology. an index indicating the intensity of tampering without therefore is how whether to respond to reverse engineering is fact is that the discretion and capability of the individual impressions mentor, when the CSS is breached as a result of As a result, a flood of illegal copy contents is caused.
[0013]
In addition to CSS, CPPM (Content Protection for Prerecorded Media) and CPRM (Content Protection for Recordable Media) are copyright protection technologies (copy control technologies) employed in the DVD standard. CPPM is a copy control technology developed for playback-only media (Prerecorded Media), and CPRM is a copy control technology developed for recordable media. These store key information called media key blocks on the media (for example, disc) side, while storing device keys on the device side, such as playback devices and PCs, and perform copy control by combining these keys It is.
[0014]
However, even in such CPRM and CPPM, there is no proposal for a technique for fundamentally solving the problem of eliminating the risk of leakage of key information stored in a disk as a PC or a medium as a device. In CPRM and CPPM, there is always a risk that the copy control system will collapse due to key leakage.
[0015]
As a technique for preventing unauthorized use of content, the present applicant has proposed, for example, an encryption processing technique in which a different key is applied to each data block of content stored in a recording medium in Patent Document 1 and Patent Document 2. That is, a seed is set as key generation information for each data block, and the configuration in which the seed set for each block is applied to generation of an encryption key complicates conventional content encryption using only one key, This increases the difficulty of decoding.
[0016]
However, in the above configuration, the seed is used as the key generation information for each data block, and the information stored in the recording medium is used. The key data is decrypted and decrypted in the same manner as the CSS described above. It can be said that there is no concern that leakage of contents is caused by the block key being derived from a different seed for each key data and data block.
[0017]
[Patent Document 1]
Japanese Patent Publication 2001-351324
[Patent Document 2]
Japanese Patent Publication No. 2002-236622
[0018]
[Problems to be solved by the invention]
The present invention has been made in view of the above-described problems in the prior art. In a configuration in which content stored in various information recording media such as a DVD and a CD is used in a playback apparatus and a PC (personal computer), the recording medium is used. Information processing apparatus, information recording medium drive apparatus, information recording medium, and information processing apparatus that make it more difficult to leak key information applied to encryption of content stored in the disk, and increase the difficulty of decryption of keys and encryption algorithms, and An object is to provide an information processing method and a computer program.
[0025]
[Means for Solving the Problems]
The first aspect of the present invention is:
  An information processing apparatus having an encryption processing unit that performs decryption processing of encrypted data,
  Having storage means for storing master key generation information;
  The cryptographic processing means includes
  A master key is generated based on the master key generation information, two recording keys K1, K2 are generated based on the generated master key and information read from the information recording medium, and the generated first recording key K1 and the aboveAs the first key generation information set for each encryption processing unit constituting the encrypted data stored in the information recording mediumBy data processing based on the first seedFirst1 block key Kb1 is generated, and the generated first block key Kb1To encrypt and store the second seed as the second key generation informationAccording to the data processing based on the acquired second seed and the second recording key K2, the second seed is obtained by executing the first decryption process of the second seed storage encrypted data area.FirstGenerating a two-block key Kb2, and performing a decryption process of the encrypted data stored in the information recording medium by a decryption process based on the generated second block key Kb2,A decryption process in which a third encryption key K3 different from the first block key Kb1 and the second block key Kb2 is applied to the second seed storage encrypted data area,Configuration for executing the second decryption process of the second seed storage encrypted data area to obtain the decrypted data of the second seed storage encrypted data areaHaveIt is characterized byIt is in the information processing device.
[0026]
  Furthermore, the present inventionThe second aspect is
  An information processing apparatus having an encryption processing unit that performs decryption processing of encrypted data,
  Having storage means for storing master key generation information;
  The cryptographic processing means includes
  A master key is generated based on the master key generation information, two recording keys K1, K2 are generated based on the generated master key and information read from the information recording medium, and the generated first recording key K1 and the aboveAs the first key generation information set for each encryption processing unit constituting the encrypted data stored in the information recording mediumBy data processing based on the first seedFirst1 block key Kb1 is generated, and the generated first block key Kb1To encrypt and store the second seed as the second key generation informationA first decryption process of the second seed storage encrypted data area;Different from the first block key Kb1 and the second block key Kb2 for the second seed storage encrypted data areaData processing based on the acquired second seed and the second recording key K2 is performed by executing the second decryption process of the second seed storage encrypted data area based on the third encryption key K3 to acquire the second seed. To generate the second block key Kb2 and execute the decryption process of the encrypted data stored in the information recording medium by the decryption process based on the generated second block key Kb2.HaveIt is characterized byIt is in the information processing device.
[0041]
  Furthermore, the present inventionThe third aspect of
  An information processing method in an information processing apparatus for performing decryption processing of encrypted data stored in an information recording medium,
  A master key is generated based on master key generation information stored in a storage unit in the information processing apparatus, and two recording keys K1, K2 are generated based on the generated master key and information read from the information recording medium. And the generated first recording key K1As the first key generation information set for each encryption processing unit constituting the encrypted data stored in the information recording mediumBy data processing based on the first seedFirst1 block key Kb1 is generated, and the generated first block key Kb1To encrypt and store the second seed as the second key generation informationAccording to the data processing based on the acquired second seed and the second recording key K2, the second seed is obtained by executing the first decryption process of the second seed storage encrypted data area.FirstGenerating a two-block key Kb2, and performing a decryption process of the encrypted data stored in the information recording medium by a decryption process based on the generated second block key Kb2,A decryption process in which a third encryption key K3 different from the first block key Kb1 and the second block key Kb2 is applied to the second seed storage encrypted data area,Executing a second decryption process of the second seed storage encrypted data area to obtain decrypted data of the second seed storage encrypted data areaHaveIt is characterized byThere is an information processing method.
[0042]
  Furthermore, the present inventionThe fourth aspect of
  An information processing method in an information processing apparatus for performing decryption processing of encrypted data stored in an information recording medium,
  A master key is generated based on master key generation information stored in a storage unit in the information processing apparatus, and two recording keys K1, K2 are generated based on the generated master key and information read from the information recording medium. And the generated first recording key K1 and theAs the first key generation information set for each encryption processing unit constituting the encrypted data stored in the information recording mediumBy data processing based on the first seedFirst1 block key Kb1 is generated, and the generated first block key Kb1To encrypt and store the second seed as the second key generation informationA first decryption process of the second seed storage encrypted data area;Different from the first block key Kb1 and the second block key Kb2 for the second seed storage encrypted data areaData processing based on the acquired second seed and the second recording key K2 is performed by executing the second decryption process of the second seed storage encrypted data area based on the third encryption key K3 to acquire the second seed. Generating the second block key Kb2, and executing a decryption process of the encrypted data stored in the information recording medium by a decryption process based on the generated second block key Kb2.HaveIt is characterized byThere is an information processing method.
[0047]
[Action]
According to the configuration of the present invention, the second seed storage encrypted data area storing the seed information (seed 2) necessary for generating the key (block key Kb2) applied to the decryption of the encrypted content is stored in the first seed storage. A first block key Kb1 that is generated based on a first seed as one-key generation information, and a third block key K3 that is different from the first block key Kb1 and the second block key Kb2 Therefore, it is impossible to read the seed information (seed 2) directly from the disc. Therefore, it is difficult to analyze the key information generated by using the seed information and the analysis of the encryption algorithm, and the content has a high security level. Protection is realized.
[0048]
Furthermore, according to the configuration of the present invention, in the reproduction process of data stored in the information recording medium, the encrypted content is transferred between the devices, and a key (block key Kb2) for generating the decrypted encrypted content is generated. In a configuration where it is necessary to transfer seed information (seed 2) between devices, block key generation information, specifically, both seed information (seed 2) and recording key K2 are encrypted with a session key and transmitted / received. In addition, since it has a structure that requires the application of the third encryption key K3 for decrypting the encrypted content, even if data leakage from the transfer path occurs, It becomes difficult to obtain the seed information (seed 2) and the recording key K2, and analysis of key information generated using the seed information and analysis of encryption algorithm With difficulty increases, the content reproduction becomes impossible in an apparatus that does not have a third encryption key K3, a high security level content protection is achieved.
[0049]
The computer program of the present invention is, for example, a storage medium or a communication medium provided in a computer-readable format to a general-purpose computer system capable of executing various program codes, such as a CD, a DVD, or an MO. Or a computer program that can be provided by a communication medium such as a network. By providing such a program in a computer-readable format, processing corresponding to the program is realized on the computer system.
[0050]
Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings. In this specification, the system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.
[0051]
DETAILED DESCRIPTION OF THE INVENTION
[Data recording configuration on recording medium]
First, the data structure stored in the information recording medium according to the present invention will be described. The encrypted data stored in the information recording medium is read, decrypted and reproduced by a data recording / reproducing apparatus or a PC (personal computer).
[0052]
Data stored in the information recording medium is, for example, a transport stream (TS) as encoded data defined by the MPEG-2 system. A transport stream can constitute a plurality of programs in one stream, and an ATS (Arrival Time Stamp) is set as appearance timing information of each transport packet. This time stamp is determined at the time of encoding so as not to break down a T-STD (Transport Stream System Target Decoder), which is a virtual decoder defined in the MPEG-2 system. Decoding and reproduction are performed by controlling the appearance timing according to the ATS added to.
[0053]
For example, when a transport stream packet is recorded on a recording medium, it is recorded as a source packet with the intervals between the packets reduced. However, by storing the appearance timing of each transport packet together on the recording medium, It becomes possible to control the output timing of each packet.
[0054]
With reference to FIG. 1, an outline of a data recording configuration stored in an information recording medium and a process of decoding and reproducing recorded data will be described. The data stored in the information recording medium is encrypted data, and it is necessary to perform a decryption process when reproducing. FIG. 1A shows a data recording configuration stored in an information recording medium. 18-byte control data (User Control Data) and 2048-byte user data (User Data) are configured as one sector data. For example, data for three sectors is defined as one encryption processing unit. The number of bytes and the processing unit described here are one representative example, and various settings can be made for the number of bytes of control data and user data and the setting of the processing unit.
[0055]
(B) shows the configuration of one unit (1 AU: Aligned Unit) which is a cryptographic processing unit. An information processing apparatus that reproduces encrypted data stored in an information recording medium extracts 1 AU (Aligned Unit), which is an encryption processing unit, based on a flag in control data.
[0056]
One unit (1AU), which is an encryption processing unit, has a seed 1 storage area 11 and a seed 2 storage area 12 as shown in (c) encryption configuration. Seed 1 stored in the seed 1 storage area 11 is seed information applied to generation of a block key Kb1 based on an encryption key K1 (recording key K1) described later. The seed 2 stored in the seed 2 storage area 12 is seed information applied to generation of a block key Kb2 based on an encryption key K2 (recording key K2) described later.
[0057]
The seed 2 storage area 12 is set as a data area encrypted with the block key Kb1 and the third encryption key K3. Further, the subsequent user data area is set as an area encrypted by the block key Kb2 generated based on the seed 2 and the encryption key K2 (recording key K2).
[0058]
The seed information storage mode and encryption mode shown in FIG. 1 (c) are only examples, and a plurality of configuration examples will be described later. For example, an area double-encrypted by block keys Kb1 and Kb2 It is good also as a structure to include. In order to generate each block key, seed information as key generation information is required. The seed information (seed 1) is key generation information for generating the block key Kb1, and the seed information (seed 2) is key generation information for generating the block key Kb2. These are stored in the control data area or the user data area.
[0059]
In order to decrypt the encrypted content stored in the user data area, it is necessary to read the seed information stored in the information recording medium and generate a key based on the seed information.
[0060]
In the configuration of the present invention, as shown in FIG. 1 (c), seed information (seed 1) necessary for generating the block key Kb1 and seed information (seed necessary for generating the block key Kb2) The seed 2) is stored on the information recording medium, one seed information (seed 2) is encrypted with the block key Kb1 generated by the seed information (seed 1), and the third encryption key It is configured to be further encrypted by K3 and stored.
[0061]
As described above, the configuration of the present invention stores data that has been subjected to encryption processing using three different keys in a recording medium, and performs decryption processing using three different keys in the reproduction processing. That is, block keys Kb1 and Kb2 are generated by encryption processing using seed 1 and seed 2 which are different key generation information for each predetermined encryption processing unit, and these block keys Kb1 and Kb2 and the third encryption key K3 are generated. The decryption process to which is applied is executed.
[0062]
After the decoding process for each processing unit, the decoded transport stream packet is input to the MPEG-2 decoder, the decoding process is executed, and the content reproduction is performed. One processing unit (3 sectors) includes, for example, 32 transport stream (TS) packets. That is, 32 × 192 = 6144 byte data is used as one encryption and decryption processing unit. Note that various settings can be made for the processing unit.
[0063]
At the time of decryption and reproduction, two seed information (seed 1 and seed 2) is acquired from the information recording medium for each processing unit, two block keys Kb1 and Kb2 are generated based on each seed information, and the generated block key Kb1 is generated. , Kb2 and the third encryption key K3 are decrypted to reproduce the content.
[0064]
The third encryption key K3 is generated based on data acquired from the information recording medium, is configured to apply the storage key of the information processing apparatus that performs the reproduction process, or is stored in the information processing apparatus that performs the reproduction process. There is a configuration in which a key that can be generated based on information is applied. These processing configurations will be described later.
[0065]
Further, at the time of content recording, a process reverse to the decryption / playback process is executed, two seed information (seed 1 and seed 2) is set for each processing unit, and two block keys Kb1, Content is recorded by performing encryption processing using the block keys Kb1 and Kb2 generated by generating Kb2 and the third encryption key K3.
[0066]
[Information processor configuration]
FIG. 2 is a block diagram showing the configuration of an embodiment of the information processing apparatus 100 that executes the recording / playback processing of content having the above-described encrypted content mode. The information processing apparatus 100 includes an input / output I / F (Interface) 120, an MPEG (Moving Picture Experts Group) codec 130, an input / output I / F (Interface) 140 including an A / D and D / A converter 141, and cryptographic processing. Means 150, ROM (Read Only Memory) 160, CPU (Central Processing Unit) 170, memory 180, drive 190 of the recording medium 195, and transport stream processing means (TS processing means) 198, which are connected by a bus 110. Are connected to each other.
[0067]
The input / output I / F 120 receives digital signals constituting various contents such as images, sounds, and programs supplied from the outside, outputs the digital signals to the bus 110, receives the digital signals on the bus 110, and externally receives them. Output. The MPEG codec 130 MPEG-decodes MPEG-encoded data supplied via the bus 110 and outputs the decoded data to the input / output I / F 140 and MPEG-encodes a digital signal supplied from the input / output I / F 140. Output on the bus 110. The input / output I / F 140 includes an A / D and D / A converter 141. The input / output I / F 140 receives an analog signal as content supplied from the outside and performs A / D (Analog Digital) conversion by the A / D and D / A converter 141, thereby converting the MPEG codec 130 as a digital signal. In addition, the digital signal from the MPEG codec 130 is D / A (Digital Analog) converted by the A / D and D / A converter 141 to be output to the outside as an analog signal.
[0068]
The encryption processing unit 150 is configured by, for example, a one-chip LSI (Large Scale Integrated Circuit), and encrypts or decrypts a digital signal as content supplied via the bus 110 and outputs the encrypted signal to the bus 110. have. The cryptographic processing means 150 is not limited to a one-chip LSI, and can be realized by a configuration combining various types of software or hardware. The cryptographic processing unit 150 further functions as an authentication processing unit that executes an authentication process executed when content is input / output with an external device connected via the input / output I / F 120, for example.
[0069]
The ROM 160 stores, for example, a device key unique to each information processing device or a device key unique to each group of information processing devices and an authentication key required for mutual authentication. The device key is used to acquire a master key by decrypting an EKB (Enabling Key Block) as encryption key block information provided based on, for example, a key distribution tree configuration. That is, the device key is applied as master key generation information.
[0070]
The CPU 170 controls the MPEG codec 130, the encryption processing unit 150, and the like by executing a program stored in the memory 180. The memory 180 is, for example, a non-volatile memory, and stores a program executed by the CPU 170 and data necessary for the operation of the CPU 170. The drive 190 drives a recording medium 195 capable of recording / reproducing digital data, thereby reading (reproducing) the digital data from the recording medium 195, outputting the data to the bus 110, and supplying the digital data via the bus 110. Data is supplied to the recording medium 195 and recorded. The program may be stored in the ROM 160, and the master key generation information and the authentication key may be stored in the memory 180.
[0071]
The recording medium 195 is a medium capable of storing digital data, such as an optical disk such as a DVD or a CD, a magneto-optical disk, a magnetic disk, a magnetic tape, or a semiconductor memory such as a flash ROM, MRAM, or RAM. In the embodiment, it is assumed that the configuration is detachable from the drive 190. However, the recording medium 195 may be built in the information processing apparatus 100.
[0072]
The transport stream processing means (TS processing means) 198 takes out a transport packet corresponding to a specific content from a transport stream in which a plurality of contents are multiplexed, and outputs the appearance timing information of the taken out transport stream for each packet. At the same time, data processing for storage in the recording medium 195 is executed, and at the time of decryption / reproduction of the encrypted content from the recording medium 195, appearance timing control of the transport stream is performed.
[0073]
As described above, ATS (Arrival Time Stamp) as appearance timing information of each transport packet is set in the transport stream, and timing control is executed by ATS at the time of decoding by the MPEG2 decoder. The transport stream processing means (TS processing means) 198 records, for example, a transport packet on a recording medium as a source packet with the interval between the packets reduced. By storing the data in a recording medium, the output timing of each packet can be controlled during reproduction.
[0074]
The information processing apparatus 100 according to the present invention executes recording / reproduction of encrypted content configured by, for example, the above-described transport stream. Details of these processes will be described later. Note that the encryption processing means 150 and the TS processing means 198 shown in FIG. 2 are shown as separate blocks for easy understanding, but may be configured as one single-chip LSI that executes both functions. Also, a configuration in which both functions are realized by a combination of software or hardware may be adopted. Furthermore, all the blocks except the drive 190 and the recording medium 195 may be configured as a one-chip LSI, or these functions may be realized by a combination of software or hardware, thereby enabling information The robustness against the invalidation of the security function due to the modification of the processing apparatus 100 can be improved.
[0075]
[Data playback processing]
Next, decryption processing of encrypted data stored in the recording medium will be described. FIG. 3 is a diagram for explaining the procedure of the data decoding process. The process shown in FIG. 3 is a process mainly executed by the cryptographic processing means 150 shown in FIG.
[0076]
The information processing apparatus 210 reads the master key 211 stored in its own memory 180 (see FIG. 2). The master key 211 is an encryption provided based on a key distribution tree configuration based on a key stored as a key common to a plurality of information processing apparatuses or a device key stored in a licensed information processing apparatus. This is a key obtained by decrypting EKB (Enabling Key Block) as the encryption key block information.
[0077]
The information processing apparatus 210 checks whether or not a disc ID (Disc ID) 221 as identification information is already recorded on the information recording medium 220. If recorded, the disc ID (Disc ID) 221 is read from the information recording medium 220. A disc ID (Disc ID) 221 is disc-specific information and is stored in, for example, a general data storage area or a lead-in area.
[0078]
Next, in step S101, the information processing apparatus 210 generates a disk unique key (Disc Unique Key) using the master key 211 and the disk ID 221. As a specific method for generating a disk unique key (Disc Unique Key), for example, as shown in FIG. 4A, a disk ID (Disc ID) is used as an input value, and AES (Advanced Encryption) which is a common key encryption method is used. Standard) encryption is executed by using a master key as an encryption key, and as shown in FIG. 4B, a hash function SHA-1 defined by FIPS 180-1 is added to a master key and a disk. It is possible to apply a method in which data generated by bit concatenation with an ID (Disc ID) is input, and only a necessary data length is used as a disk unique key from the output.
[0079]
Next, title keys (Title Keys) 1 and 223 and title keys 2 and 224 which are two unique keys for each recorded content are read from the information recording medium 220. On the disc, there is a data management file that stores information about what data constitutes what title, and the title key is stored in this file. When there is only one title key for one disc, that is, when the title key for the disc ID 221 can be uniquely determined, it is stored in the general data storage area or the lead-in area, for example, in the same manner as the disc ID 221. You may make it do.
[0080]
Next, in step S102 and step S103, two title unique keys (Title Unique Keys) 1 and 2 are generated from a disc unique key (Disc Unique Key) and title keys (Title Key) 1 and 2. As a specific method for this generation, as described above, a method using SHA-1 or a method using a hash function based on a block cipher can be applied.
[0081]
Furthermore, the information processing apparatus 210 includes two title unique keys (Title Unique Keys) 1 and 2 generated in Steps S102 and S103, a recording seed (REC SEED) 225 read from the information recording medium 220, and a physical index 226. Based on the above, two recording keys (REC keys) K1 and K2 are generated in steps S104 and S105.
[0082]
An example of generation processing of the two recording keys (REC key) K1 and K2 executed in steps S102 to S105 will be described with reference to FIG.
[0083]
FIG. 5A shows the generation of the recording key K1 by the processing of steps S102 and S104 in FIG. 3, and FIG. 5B shows the generation processing example of the recording key K2 by the processing of steps S103 and S105 of FIG. Yes.
[0084]
In the process of FIG. 5A, first, the title key 1 read from the information recording medium is input to an AES (Advanced Encryption Standard) encryption processing unit 271 and the decryption process (Decryption) using the disc unique key generated in step S101 is applied. Is executed to generate the title unique key 1 (S102), and the physical index 226 read from the information recording medium is input to an AES (Advanced Encryption Standard) encryption processing unit 272, and the encryption using the title unique key 1 is applied. This is a process of executing the process (Encryption), and further executing the exclusive OR operation of the encryption process result and the title unique key 1 in the exclusive OR unit 273 and setting the output as the recording key 1 (S104). .
[0085]
In the process of FIG. 5B, the title key 2 read from the information recording medium is input to an AES (Advanced Encryption Standard) encryption processing unit 274, and the decryption process (Decryption) using the disc unique key generated in step S101 is performed. The title unique key 2 is generated (S103), and the recording seed (REC SEED) 225 read from the information recording medium is input to an Advanced Encryption Standard (AES) encryption processing unit 275. In this process, the applied encryption process (Encryption) is executed to generate the recording key 2 (S105).
[0086]
The recording keys K1 and K2 are keys that need to be used in the above-described reproduction processing process, but are also applied in encryption processing for recording content on an information recording medium.
[0087]
As shown in FIG. 6, the encrypted content stored in the information recording medium 284 is first edited in the content editing studio 282, and the edited content is transferred to a disc manufacturing entity 283 such as a disc manufacturing factory, so that information on the disc and the like is obtained. It is stored in a recording medium and provided to the user.
[0088]
In this manufacturing process, the content editing studio 282 sets a physical index and executes an encryption process to which the recording key K2 is applied to the edited content, and the disc manufacturing entity 283 sets a recording seed and records data. An encryption process using the key K1 is executed. As a result, the information recording medium 284 stores encrypted data that has been subjected to encryption processing using the two encryption keys of the recording keys K1 and K2. In such a disc manufacturing process, the management center 281 that executes content management provides the content editing studio with information that can acquire the title-specific key 2, and the disc manufacturing entity 283 acquires the title-specific key 1. Provide possible information.
[0089]
When the management center 281 executes such key management, only the content editing studio that receives the key information from the management center 281 and the disc manufacturing entity manufacture the information recording medium in which the encrypted content is stored. This prevents the production of pirated discs by unauthorized third parties. In particular, a content editing studio stores an editing identifier (editing ID) in a TS packet applied to the editing content, and this is processed together with the editing content by the content editing studio to be processed in any editing studio. Thus, it is possible to pass data to the disc manufacturing entity while keeping the edited content confidential, and it becomes possible to track and manage the content accepted by the disc manufacturing entity.
[0090]
In the example shown in FIG. 3, in order to calculate the two title-specific keys 1 and 2, two title keys 1 and 2 are stored in the information recording medium 220. Based on these two title keys, 2 title keys 1 and 2 are stored. Although an example of processing for calculating one title unique key has been shown, two title unique keys 1 and 2 are calculated from only one stored information without storing two title keys in the information recording medium 220 in this way. Configuration is also possible.
[0091]
A configuration example in which two title unique keys 1 and 2 are calculated from only one stored information will be described with reference to FIG. A random value such as a random number set for each editing (authoring) is stored in the information recording medium 220 as a disc key seed.
[0092]
In the processing example of FIG. 7A, the disc unique key is applied to the disc key seed, the AES encryption processing unit 291 executes encryption processing, and the output is the title unique key 1. Further, the title unique key 1 is input to the AES encryption processing unit 292, the disc unique key is applied to execute AES encryption processing, and the result is set as the title unique key 2.
[0093]
In the processing example of FIG. 7B, the disc unique key is applied to the disc key seed, the AES encryption processing unit 293 performs encryption processing, and the output is the title unique key 1. Further, the title unique key 1 is calculated by the calculation unit 294, for example, (disc key seed + 1) mod 2128The result is input to the AES encryption processing unit 295, the disc unique key is applied to execute the AES encryption process, and the result is used as the title unique key 2. According to the method shown in FIG. 7, the information stored in the information recording medium 220 can be reduced.
[0094]
Returning to FIG. 3, the description of the data decoding / reproduction processing from the information recording medium will be continued. When the two recording keys (REC key) 1 and 2 are generated in steps S104 and S105, the block key Kb1 generation process is executed in step S106.
[0095]
In the block key Kb1 generation process, the seed information (seed 1) 227 is read from the information recording medium 220 as the block key Kb1 generation information, and the seed information (seed 1) 227 and the recording key K1 generated in step S104 are used. Data processing such as AES encryption processing is executed to generate the block key Kb1.
[0096]
Processing executed after the block key Kb1 generation processing in step S106 will be described with reference to FIG.
[0097]
In FIG. 8, the decoding process is executed in units of processing units 300. This processing unit corresponds to the processing unit (b) described above with reference to FIG. That is, one unit (1 AU: Aligned Unit) which is a cryptographic processing unit. The information processing apparatus 210 that performs reproduction of the encrypted data stored in the information recording medium 220 extracts 1 AU (Aligned Unit), which is an encryption processing unit, based on the flag in the control data.
[0098]
The processing unit 300 includes 18-byte control data 301 and 6144-byte user data (including encrypted content). The 6144-byte user data is divided into 192 bytes, which are units of transport stream packets. The first TS packet 302 of user data and the subsequent 5952-byte TS packet group 303 will be described separately. In this example, seed information (seed 1) 311 is stored in the control data 301, and seed information (seed 2) 312 is encrypted and stored in the first TS packet 302 in the user data.
[0099]
Note that there are a plurality of modes for storing seeds 1 and 2 as seed information, and one example is shown here. Other examples will be described later.
[0100]
In FIG. 8, the same processing step number is attached | subjected to the processing step similar to the processing step of FIG.
[0101]
In step S106 (FIGS. 3 and 8), seed information (seed 1) 311 read from the control data of the information recording medium is input to the AES encryption processing unit, and the recording key K1 generated in the previous step S104 is applied. The process of generating the block key Kb1 is executed by executing the AES encryption process. In FIG. 8, AES_G indicates a key generation process that applies AES encryption processing, and AES_D indicates a data decryption process that applies AES encryption processing.
[0102]
Next, in step S107 of FIG. 3, only the encrypted data portion that is the object of the decryption process in step S108 is extracted from the user data consisting of 32 TS packets, the decryption process of the extracted data is executed in step S108, and further in step S109. Only the encrypted data part to be decrypted in step S111 is extracted, and the decryption process of the extracted data is executed in step S111.
[0103]
Further, in step S112, only the encrypted data part to be decrypted in step S114 is extracted, the decrypted data is decrypted in step S114, and output from the decryption processing result data in step S114 and the selector step S112. The remaining unencrypted data is concatenated in step S114a, and is input as a decrypted TS packet group to, for example, an MPEG decoder, where it is decoded.
[0104]
In step S108 (see FIGS. 3 and 8), an AES decryption process using the block key Kb1 generated in step S106 is executed. In step S108, the decryption process is executed only for the data part that has been subjected to the encryption process to which the block key Kb1 is applied. In this example, the data area including at least the seed information (seed 2) of the first TS packet 302 of the user data is subjected to the encryption process using the block key Kb1 and the encryption process using the third encryption key K3. Data part.
[0105]
The third encryption key K3 is a secret key stored in advance in the information processing apparatus 210, a key generated based on information stored in advance in the information processing apparatus 210, or an encryption provided based on a key distribution tree configuration This key is set as a key obtained by decrypting an EKB (Enabling Key Block) as the encryption key block information or a key generated based on data stored in the information recording medium 220.
[0106]
In the example shown in FIG. 3, an example is shown in which a key generated based on data stored in the information recording medium 220 is applied as the third encryption key K3. In FIG. 3, the third encryption key K3 is the title unique key K3 generated in step S113 from the title keys 3 and 229 stored in the information recording medium 220 and the disc unique key generated in step S101. The generation process of the title unique key K3 is the same as the title unique key generation process in steps S102 and S103 described above with reference to FIGS. 5 and 7. For example, the title key 3,229 and the disc unique key It is generated by AES encryption processing based on the above.
[0107]
Note that the title keys 3 and 229 are read from the data management file stored in the general data storage area or the lead-in area of the information recording medium 220 in the same manner as the title keys 1 and 223 and the title keys 2 and 224.
[0108]
Note that there are several patterns regarding which data area the data portion subjected to the encryption processing to which the block key Kb1 and the third encryption key K3 are applied, and these will be described later.
[0109]
The head TS packet 302 shown in FIG. 8 includes seed information (seed 2) necessary for calculating another user data portion, that is, the block key Kb2 applied to the decryption process of the subsequent 5952-byte TS packet group 303. ) 312 is included. The head TS packet 302 including the seed information (seed 2) 312 is encrypted data that has been subjected to encryption processing using the block key Kb1 and encryption processing applying the third encryption key K3, as described above. .
[0110]
As a result of the decryption process to which the block key Kb1 is applied in step S108, an encrypted TS packet 304 subjected to only the encryption process to which the third encryption key K3 is applied is calculated, and seed information (seed 2) is obtained from the encrypted TS packet 304. Extract. The TS packet 304 in which the seed information (seed 2) is stored is encrypted with the third encryption key K3 (title unique key K3), but the seed information (seed 2) is extracted from the encrypted TS packet. Information.
[0111]
The selector step S109 in FIG. 3 outputs the seed information (seed 2) from the result of the decryption process to which the block key Kb1 is applied to the block key Kb2 generation step in step S110, and the encrypted data encrypted with the block key Kb2. Is output to the decoding step S111, and other data is output to the selector step S112.
[0112]
In step S110 (see FIG. 3 and FIG. 8), in the seed information (seed 2) extracted from the TS packet 304 obtained as a result of the decryption process using the block key Kb1 in step S108, and in step S105 (see FIG. 3) Based on the generated recording key K2, AES encryption processing is executed to calculate a block key Kb2.
[0113]
Next, in step S111, the encryption unit (the data area 303 encrypted with the block key Kb2) of the user data part is decrypted by applying the block key Kb2, and the decrypted TS packet group 305 is generated.
[0114]
Further, the selector step S112 of FIG. 3 is a step of selectively outputting the TS packet 304 encrypted with the third encryption key K3, that is, the title unique key K3, to the decryption step S114.
[0115]
In step S114 (see FIGS. 3 and 8), the encrypted TS packet 304 is decrypted with the title unique key K3, and the decrypted TS packet 306 is output. The encrypted TS packet 304 is data obtained by decrypting the TS packet 302 by applying the block key Kb1 in step S108. That is, the first TS packet 302 including the seed information (seed 2) 312 shown in FIG. 8 is configured as data that is encrypted with the block key Kb1 and further encrypted with the third encryption key K3. The decryption TS packet 306 is obtained by executing the decryption process applying the block key Kb1 in step S108 and the decryption process applying the third encryption key K3 (title unique key K3) in step S114.
[0116]
The decoded TS packet group 305 and the decoded TS packet 306 are combined and input to, for example, an MPEG2 decoder, decoded, and reproduced.
[0117]
As described above, in the configuration of the present invention, the seed information (seed 2) necessary for generating the key (block key Kb2) applied to the decryption of the encrypted content is used as a plurality of other keys, that is, the block key. Since it is configured to be encrypted and stored with Kb1 and the third encryption key K3, it is impossible to read the seed information (seed 2) directly from the disk. Therefore, the key information generated using the seed information is analyzed. As a result, it becomes difficult to analyze cryptographic algorithms, and content protection with a high security level is realized.
[0118]
There are various modes for storing the two seed information, and a plurality of examples will be described below.
[0119]
FIG. 9 shows an example in which seed information (seed 1) and seed information (seed 2) are both stored in the first TS packet 302 in the user data. In the example described above with reference to FIG. 8, the seed information (seed 1) 311 is stored in the control data 301, and the seed information (seed 2) 312 is encrypted in the first TS packet 302 in the user data. In the configuration example shown in FIG. 9, seed information (seed 1) 321 and seed information (seed 2) 322 are both stored in the first TS packet 302 in the user data. It is an example.
[0120]
The head TS packet 302 is encrypted with the block key Kb1 obtained by applying the seed information (seed 1) 321 and encrypted with the third encryption key K3, as in the example described in FIG. It is set as a data area that has been double-encrypted.
[0121]
In FIG. 9, the decoding process is executed in units of processing units 300. This processing unit is one unit (1 AU: Aligned Unit) corresponding to the processing unit (b) described above with reference to FIG. The information processing apparatus 210 that performs reproduction of the encrypted data stored in the information recording medium 220 extracts 1 AU (Aligned Unit), which is an encryption processing unit, based on the flag in the control data.
[0122]
The process of FIG. 9 will be described. In FIG. 9, the same processing step number is attached | subjected to the processing step similar to the processing step of FIG.
[0123]
In step S106 (FIGS. 3 and 9), the seed information (seed 1) 321 read from the first TS packet of the user data of the information recording medium is input to the AES encryption processing unit, and the previous step S104 (see FIG. 3). This is the step of executing the AES encryption process to which the recording key K1 generated in step 1 is applied and the block key Kb1 generation process.
[0124]
Next, in step S107 of FIG. 3, the data part to be subjected to the decryption process to which the block key Kb1 in step S108 is applied, that is, the head TS packet 302 is selected from the user data consisting of 32 TS packets, and the block key is selected in step S108. A decoding process (AES decoding process) to which Kb1 is applied is executed, and a TS packet 304 is obtained. The TS packet 304 is data encrypted with the third encryption key K3 (title unique key K3).
[0125]
In the encrypted data area of the first TS packet 302, seed information (in order to calculate the block key Kb2 applied to the decryption process of the other user data portion, that is, the subsequent 5952-byte TS packet group 303). Seed 2) 322 is included.
[0126]
In step S108 (see FIGS. 3 and 9), an AES decryption process using the block key Kb1 generated in step S106 is executed. In step S108, the decryption process is executed only for the data part that has been subjected to the encryption process to which the block key Kb1 is applied. In this example, the data area including at least the seed information (seed 2) of the first TS packet 302 of the user data is subjected to the encryption process using the block key Kb1 and the encryption process using the third encryption key K3. Data part.
[0127]
The third encryption key K3 is a secret key stored in advance in the information processing apparatus 210, a key generated based on information stored in advance in the information processing apparatus 210, or an encryption provided based on a key distribution tree configuration This key is set as a key obtained by decrypting an EKB (Enabling Key Block) as the encryption key block information or a key generated based on data stored in the information recording medium 220. In this example, the title unique key K3 generated based on the title keys 3 and 229 stored in the information recording medium 220 is applied as the third encryption key K3.
[0128]
The head TS packet 302 shown in FIG. 9 includes seed information (seed 2) necessary for calculating another user data part, that is, the block key Kb2 applied to the decryption process of the subsequent 5952-byte TS packet group 303. ) 322, and the first TS packet 302 including the seed information (seed 2) 322 is subjected to encryption processing using the block key Kb1 and encryption processing applying the third encryption key K3, as described above. Encrypted data.
[0129]
As a result of the decryption process to which the block key Kb1 is applied in step S108, an encrypted TS packet 304 subjected to only the encryption process to which the third encryption key K3 is applied is calculated, and seed information (seed 2) is obtained from the encrypted TS packet 304. Extract.
[0130]
The selector step S109 in FIG. 3 outputs the seed information (seed 2) from the result of the decryption process to which the block key Kb1 is applied to the block key Kb2 generation step in step S110, and the encrypted data encrypted with the block key Kb2. Is output to the decoding step S111, and other data is output to the selector step S112.
[0131]
In step S110 (see FIG. 3 and FIG. 9), in the seed information (seed 2) extracted from the TS packet 304 obtained as a result of the decryption process using the block key Kb1 in step S108, and in step S105 (see FIG. 3) Based on the generated recording key K2, AES encryption processing is executed to calculate a block key Kb2.
[0132]
Next, in step S111, the encryption unit (the data area 303 encrypted with the block key Kb2) of the user data part is decrypted by applying the block key Kb2, and the decrypted TS packet group 305 is generated.
[0133]
Further, the selector step S112 of FIG. 3 is a step of selectively outputting the TS packet 304 encrypted with the third encryption key K3, that is, the title unique key K3, to the decryption step S114.
[0134]
In step S114 (see FIGS. 3 and 9), the encrypted TS packet 304 is decrypted with the title unique key K3, and the decrypted TS packet 306 is output. The encrypted TS packet 304 is data obtained by decrypting the TS packet 302 by applying the block key Kb1 in step S108. That is, the first TS packet 302 including the seed information (seed 2) 322 shown in FIG. 9 is configured as data encrypted with the block key Kb1 and further encrypted twice with the third encryption key K3. The decryption TS packet 306 is obtained by executing the decryption process applying the block key Kb1 in step S108 and the decryption process applying the third encryption key K3 (title unique key K3) in step S114.
[0135]
The decoded TS packet group 305 and the decoded TS packet 306 are combined and input to, for example, an MPEG2 decoder, decoded, and reproduced.
[0136]
As described above, in this configuration, seed information (seed 1) and seed information (seed 2) are both stored in the first TS packet in the user data, and the seed required for generating the block key Kb2 The information (seed 2) is encrypted with the block key Kb1 generated based on the seed information (seed 1) and the recording key K1, and is further encrypted with the third encryption key K3 (first TS packet). Therefore, it is impossible to read the seed information (seed 2) directly from the disk. Therefore, it is difficult to analyze the key information generated using the seed information and the cryptographic algorithm, Content protection with a high security level is realized.
[0137]
The example shown in FIG. 10 is an example in which seed information (seed 1) 331 is stored in the first TS packet 302 in the user data, and seed information (seed 2) 332 is stored in the next second TS packet 341 in the user data. is there.
[0138]
The first TS packet 302 and the second TS packet 341 are encrypted with the block key Kb1 acquired by applying the seed information (seed 1) 331, and further encrypted with the third encryption key K3. It is set as a data area that has been double-encrypted.
[0139]
In FIG. 10, the decoding process is executed in units of processing units 300. This processing unit is one unit (1 AU: Aligned Unit) corresponding to the processing unit (b) described above with reference to FIG. The information processing apparatus 210 that performs reproduction of the encrypted data stored in the information recording medium 220 extracts 1 AU (Aligned Unit), which is an encryption processing unit, based on the flag in the control data.
[0140]
The process of FIG. 10 will be described. In FIG. 10, the same processing step number is attached | subjected to the processing step similar to the processing step of FIG.
[0141]
In step S106 (FIGS. 3 and 10), the seed information (seed 1) 331 read from the first TS packet of the user data of the information recording medium is input to the AES encryption processing unit, and the previous step S104 (see FIG. 3). This is a step of generating the block key Kb1 by executing the AES encryption process to which the recording key K1 generated in step 1 is applied.
[0142]
Next, in step S107 of FIG. 3, the data part to be subjected to the decryption process to which the block key Kb1 in step S108 is applied, ie, the first TS packet 302 and the second TS packet 341 are selected from the user data consisting of 32 TS packets. In S108, decryption processing (AES decryption processing) to which the block key Kb1 is applied is executed to obtain a TS packet 304. The TS packet 304 is data encrypted with the third encryption key K3 (title unique key K3).
[0143]
As a result of the decryption process to which the block key Kb1 is applied in step S108, an encrypted TS packet 304 subjected to only the encryption process to which the third encryption key K3 is applied is calculated, and seed information (seed 2) is obtained from the encrypted TS packet 304. Extract.
[0144]
The selector step S109 in FIG. 3 outputs the seed information (seed 2) from the result of the decryption process to which the block key Kb1 is applied to the block key Kb2 generation step in step S110, and the encrypted data encrypted with the block key Kb2. Is output to the decoding step S111, and other data is output to the selector step S112.
[0145]
In step S110 (see FIG. 3 and FIG. 10), in the seed information (seed 2) extracted from the TS packet 304 acquired as a result of the decryption process using the block key Kb1 in step S108, and in step S105 (see FIG. 3) Based on the generated recording key K2, AES encryption processing is executed to calculate a block key Kb2.
[0146]
Next, in step S111, the encryption part (data area 342 encrypted with the block key Kb2) of the user data part is decrypted by applying the block key Kb2, and the decrypted TS packet group 305 is generated.
[0147]
Further, the selector step S112 in FIG. 3 is a step of selectively outputting to the decryption step S114 the TS packet 304 composed of the first and next TS packets encrypted with the third encryption key K3, that is, the title unique key K3. .
[0148]
In step S114 (see FIGS. 3 and 10), the encrypted TS packet 304 is decrypted with the title unique key K3, and the decrypted TS packet 306 is output. The top TS packet 302 and the next TS packet 341 shown in FIG. 10 are configured as data encrypted with the block key Kb1 and further double-encrypted with the third encryption key K3, and the block key in step S108. The decryption TS packet 306 is obtained by executing the decryption process applying Kb1 and the decryption process applying the third encryption key K3 (title unique key K3) in step S114.
[0149]
The decoded TS packet group 305 and the decoded TS packet 306 are combined and input to, for example, an MPEG2 decoder, decoded, and reproduced.
[0150]
As described above, in this configuration, seed information (seed 1) and seed information (seed 2) are both stored in the first TS packet in the user data, and the seed required for generating the block key Kb2 The information (seed 2) is stored in the second TS packet in the user data, and the first TS packet and the second TS packet including the seed information (seed 2) are based on the seed information (seed 1) and the recording key K1. In this case, the seed information (seed 2) can be read directly from the disk because it is encrypted with the block key Kb1 that is generated in this way and further stored in the area (first TS packet) that is encrypted with the third encryption key K3. Therefore, it is difficult to analyze the key information generated by using the seed information and the analysis of the cryptographic algorithm. Content protection is achieved high Ireberu.
[0151]
In the above-described example, the example in which the third encryption key K3 is set as a key generated based on the data (title key 3) stored in the information recording medium 220 has been described, but the third encryption key K3 is EKB as a secret key stored in advance in information processing device 210, a key generated based on information stored in advance in information processing device 210, or encryption key block information provided based on a key distribution tree configuration It is possible to set (Enabling Key Block) as a key to be obtained by decryption.
[0152]
For example, as shown in FIG. 11, the third encryption key K3, 230 is a secret key stored in advance in the information processing apparatus 210, a key generated based on information stored in the information processing apparatus 210, or key distribution A configuration in which EKB (Enabling Key Block) as encryption key block information provided based on the tree configuration is set as a key to be acquired by decryption, and generation processing based on acquired data from the information recording medium 220 is unnecessary. Is possible.
[0153]
In the above-described example, the decryption process for the seed information (seed 2) storage area encrypted with the block key Kb1 and the third encryption key K3 is first executed by applying the block key Kb1, The configuration example in which the seed information (seed 2) is acquired from the result of the first decryption processing and the block key Kb2 is generated by applying the acquired seed information (seed 2) has been described. For the seed information (seed 2) storage area encrypted with the third encryption key K3, the decryption process to which the block key Kb1 is applied and the decryption process to which the third encryption key K3 is applied are continuously executed. It is also possible to obtain seed information (seed 2) from the result of the decryption process and generate the block key Kb2 by applying this obtained seed information (seed 2). Hereinafter, a processing example in which the decryption process using the block key Kb1 and the decryption process using the third encryption key K3 are executed in succession will be described.
[0154]
FIG. 12 is a diagram for explaining the procedure of the data decryption process in which the decryption process to which the block key Kb1 is applied and the decryption process to which the third encryption key K3 is applied are continuously performed. The processing shown in FIG. 12 is mainly processing executed by the cryptographic processing means 150 shown in FIG.
[0155]
The information processing apparatus 210 reads the master key 211 stored in its own memory 180 (see FIG. 2). The master key 211 is an encryption provided based on a key distribution tree configuration based on a key stored as a key common to a plurality of information processing apparatuses or a device key stored in a licensed information processing apparatus. This is a key obtained by decrypting EKB (Enabling Key Block) as the encryption key block information.
[0156]
The information processing apparatus 210 checks whether or not a disc ID (Disc ID) 221 as identification information is already recorded on the information recording medium 220. If recorded, the disc ID (Disc ID) 221 is read from the information recording medium 220. A disc ID (Disc ID) 221 is disc-specific information and is stored in, for example, a general data storage area or a lead-in area.
[0157]
Next, the information processing apparatus 210 generates a disk unique key (Disc Unique Key) using the master key 211 and the disk ID 221 in step S201. As a specific method for generating a disc unique key, the processing described above with reference to FIG. 4 can be applied.
[0158]
Next, in steps S202 to S204, title keys 1 and 223, title keys 2 and 224, and title keys 3 and 229, which are three unique keys for each recorded content, are read from the information recording medium 220, and are recorded on the disc. From the key (Disc Unique Key) and each title key (Title Key) 1, 2, 3, three title unique keys (Title Unique Key) 1, 2, 3 are generated. The title unique key 3 is used as a third encryption key.
[0159]
Furthermore, the information processing apparatus 210 uses the recording key (REC key) in steps S205 and S206 based on the title unique keys 1 and 2, the recording seed (REC SEED) 225 and the physical index 226 read from the information recording medium 220. ) K1 and K2 are generated. A method similar to that described above with reference to FIGS. 5 and 7 is applied to generate the recording key (REC key).
[0160]
In step S207, the block key Kb1 generation process is executed. In the block key Kb1 generation process, the seed information (seed 1) 227 is read from the information recording medium 220 as the block key Kb1 generation information, and the seed information (seed 1) 227 and the recording key K1 generated in step S104 are used. Data processing such as AES encryption processing is executed to generate the block key Kb1.
[0161]
Processing executed after the block key Kb1 generation processing in step S207 will be described with reference to FIG.
[0162]
In FIG. 13, the decoding process is executed in units of processing units 350. This processing unit corresponds to the processing unit (b) described above with reference to FIG. That is, one unit (1 AU: Aligned Unit) which is a cryptographic processing unit. The information processing apparatus 210 that performs reproduction of the encrypted data stored in the information recording medium 220 extracts 1 AU (Aligned Unit), which is an encryption processing unit, based on the flag in the control data.
[0163]
The processing unit 350 includes 18-byte control data 351 and 6144-byte user data (including encrypted content). The 6144-byte user data is divided into 192 bytes, which are units of transport stream packets. The first TS packet 352 of user data and the subsequent 5952-byte TS packet group 353 will be described separately. In this example, seed information (seed 1) 361 is stored in the control data 351, and seed information (seed 2) 362 is encrypted and stored in the first TS packet 352 in the user data.
[0164]
In FIG. 13, the same processing step number is attached | subjected to the processing step similar to the processing step of FIG.
[0165]
In step S207 (FIGS. 12 and 13), seed information (seed 1) 361 read from the control data of the information recording medium is input to the AES encryption processing unit, and the recording key K1 generated in the previous step S206 is applied. The process of generating the block key Kb1 is executed by executing the AES encryption process.
[0166]
Next, in step S208 of FIG. 12, only the encrypted data portion that is the object of the decryption process in step S209 is extracted from the user data consisting of 32 TS packets, the decryption process of the extracted data is executed in step S209, and further in step S210 Only the encrypted data part to be decrypted in step S211 is extracted, and the decryption process of the extracted data is executed in step S211.
[0167]
Furthermore, in step S212, only the encrypted data part to be decrypted in step S214 is extracted, the decrypted data is decrypted in step S214, and output from the decryption processing result data in step S214 and the selector step S212. The remaining unencrypted data is concatenated in the selector step S215, and is input as a decoded TS packet group to, for example, an MPEG decoder for decoding processing.
[0168]
In step S209 (see FIGS. 12 and 13), an AES decryption process using the block key Kb1 generated in step S207 is executed. In step S209, a decryption process is executed only for the data part subjected to the encryption process to which the block key Kb1 is applied. In this example, the data area including at least seed information (seed 2) of the first TS packet 352 of the user data is subjected to encryption processing using the block key Kb1 and encryption processing applying the third encryption key K3. Data part.
[0169]
The third encryption key K3 is a secret key stored in advance in the information processing apparatus 210, a key generated based on information stored in advance in the information processing apparatus 210, or an encryption provided based on a key distribution tree configuration This key is set as a key obtained by decrypting an EKB (Enabling Key Block) as the encryption key block information or a key generated based on data stored in the information recording medium 220.
[0170]
In the example shown in FIG. 12, a key generated based on data stored in the information recording medium 220 is applied as the third encryption key K3. In FIG. 12, the third encryption key K3 is the title unique key K3 generated in step S203 from the title keys 3 and 229 stored in the information recording medium 220 and the disc unique key generated in step S201.
[0171]
The head TS packet 352 shown in FIG. 13 includes seed information (seed 2) necessary for calculating another user data part, that is, the block key Kb2 applied to the decryption process of the subsequent 5952-byte TS packet group 353. ) 362 is included. The head TS packet 352 including the seed information (seed 2) 362 is encrypted data that has been subjected to encryption processing using the block key Kb1 and encryption processing applying the third encryption key K3, as described above. .
[0172]
As a result of the decryption process applying the block key Kb1 in step S209, an encrypted TS packet subjected to only the encryption process applying the third encryption key K3 is calculated. This TS packet is combined with other data in the selector step S210, and in step S211, a decryption process using the third encryption key K3 (title unique key K3) is executed.
[0173]
In the example of FIG. 13, the data that is the target of the decryption process to which the third encryption key K3 in step S211 is applied is the first TS packet 352 including the seed information (seed 2) 362. As described above, the decryption TS packet 354 is obtained by performing the continuous decryption process by applying the block key Kb1 and the third encryption key (title unique key K3) to the top TS packet 352, and the seed information is obtained therefrom. (Seed 2) is extracted.
[0174]
The selector step S212 in FIG. 12 outputs seed information (seed 2) to the block key Kb2 generation step in step S213 from the result of the decryption process using the block key Kb1 and the third encryption key (title unique key K3). The encrypted data encrypted with the block key Kb2 is output to the decryption step S214, and the other data is output to the selector step S215.
[0175]
In step S213 (see FIGS. 12 and 13), seed information extracted from the TS packet 354 acquired as a result of the decryption process using the block key Kb1 and the third encryption key (title specific key K3) in steps S209 and S211. Based on (Seed 2) and the recording key K2 generated in step S206 (see FIG. 12), AES encryption processing is executed to calculate a block key Kb2.
[0176]
Next, in step S214, the encryption part (data area 353 encrypted with the block key Kb2) of the user data part is decrypted by applying the block key Kb2, and the decrypted TS packet group 355 is generated.
[0177]
The decoded TS packet group 355 and the decoded TS packet 354 are combined, input to, for example, an MPEG2 decoder, decoded, and reproduced.
[0178]
As described above, in the configuration of the present invention, the seed information (seed 2) necessary for generating the key (block key Kb2) applied to the decryption of the encrypted content is used as a plurality of other keys, that is, the block key. Since it is configured to be encrypted and stored with Kb1 and the third encryption key K3, it is impossible to read the seed information (seed 2) directly from the disk. Therefore, the key information generated using the seed information is analyzed. As a result, it becomes difficult to analyze cryptographic algorithms, and content protection with a high security level is realized.
[0179]
FIG. 14 shows an example in which both seed information (seed 1) and seed information (seed 2) are stored in the first TS packet 302 in the user data. In the example described above with reference to FIG. 13, the seed information (seed 1) 361 is stored in the control data 351, and the seed information (seed 2) 362 is encrypted in the first TS packet 352 in the user data. In the configuration example shown in FIG. 14, seed information (seed 1) 371 and seed information (seed 2) 372 are both stored in the first TS packet 352 in the user data. It is an example.
[0180]
The head TS packet 352 is encrypted by the block key Kb1 obtained by applying the seed information (seed 1) 371 and encrypted by the third encryption key K3, as in the example described in FIG. It is set as a data area that has been double-encrypted.
[0181]
In step S207 (FIGS. 12 and 14), seed information (seed 1) 371 read from the first TS packet 352 of the information recording medium is input to the AES encryption processing unit, and the recording key K1 generated in the previous step S206 is used. A process of generating the block key Kb1 by executing the applied AES encryption process is executed.
[0182]
Next, in step S208 of FIG. 12, only the encrypted data portion that is the object of the decryption process in step S209 is extracted from the user data consisting of 32 TS packets, the decryption process of the extracted data is executed in step S209, and further in step S210 Only the encrypted data part to be decrypted in step S211 is extracted, and the decryption process of the extracted data is executed in step S211.
[0183]
Furthermore, in step S212, only the encrypted data part to be decrypted in step S214 is extracted, the decrypted data is decrypted in step S214, and output from the decryption processing result data in step S214 and the selector step S212. The remaining unencrypted data is concatenated in the selector step S215, and is input as a decoded TS packet group to, for example, an MPEG decoder for decoding processing.
[0184]
In step S209 (see FIGS. 12 and 14), an AES decryption process using the block key Kb1 generated in step S207 is executed. In step S209, a decryption process is executed only for the data part subjected to the encryption process to which the block key Kb1 is applied. In this example, the data area including at least seed information (seed 2) of the first TS packet 352 of the user data is subjected to encryption processing using the block key Kb1 and encryption processing applying the third encryption key K3. Data part.
[0185]
The third encryption key K3 is a secret key stored in advance in the information processing apparatus 210, a key generated based on information stored in advance in the information processing apparatus 210, or an encryption provided based on a key distribution tree configuration This key is set as a key obtained by decrypting an EKB (Enabling Key Block) as the encryption key block information or a key generated based on data stored in the information recording medium 220.
[0186]
In the example shown in FIG. 12, a key generated based on data stored in the information recording medium 220 is applied as the third encryption key K3. In FIG. 12, the third encryption key K3 is the title unique key K3 generated in step S203 from the title keys 3 and 229 stored in the information recording medium 220 and the disc unique key generated in step S201.
[0187]
The head TS packet 352 shown in FIG. 14 includes seed information (seed 2) necessary for calculating another user data part, that is, the block key Kb2 applied to the decryption process of the subsequent 5952-byte TS packet group 353. ) 372. The head TS packet 352 including the seed information (seed 2) 372 is encrypted data that has been subjected to encryption processing using the block key Kb1 and encryption processing applying the third encryption key K3, as described above. .
[0188]
As a result of the decryption process applying the block key Kb1 in step S209, an encrypted TS packet subjected to only the encryption process applying the third encryption key K3 is calculated. This TS packet is combined with other data in the selector step S210, and in step S211, a decryption process using the third encryption key K3 (title unique key K3) is executed.
[0189]
In the example of FIG. 14, the data to be subjected to the decryption process to which the third encryption key K3 in step S211 is applied is the first TS packet 352 including the seed information (seed 2) 372. As described above, the decryption TS packet 354 is obtained by performing the continuous decryption process by applying the block key Kb1 and the third encryption key (title unique key K3) to the top TS packet 352, and the seed information is obtained therefrom. (Seed 2) is extracted.
[0190]
The selector step S212 in FIG. 12 outputs seed information (seed 2) to the block key Kb2 generation step in step S213 from the result of the decryption process using the block key Kb1 and the third encryption key (title unique key K3). The encrypted data encrypted with the block key Kb2 is output to the decryption step S214, and the other data is output to the selector step S215.
[0191]
In step S213 (see FIGS. 12 and 14), seed information extracted from the TS packet 354 acquired as a result of the decryption process using the block key Kb1 and the third encryption key (title specific key K3) in steps S209 and S211. Based on (Seed 2) and the recording key K2 generated in step S206 (see FIG. 12), AES encryption processing is executed to calculate a block key Kb2.
[0192]
Next, in step S214, the encryption part (data area 353 encrypted with the block key Kb2) of the user data part is decrypted by applying the block key Kb2, and the decrypted TS packet group 355 is generated.
[0193]
The decoded TS packet group 355 and the decoded TS packet 354 are combined, input to, for example, an MPEG2 decoder, decoded, and reproduced.
[0194]
As described above, in this configuration, the seed information (seed 2) necessary for generating the key (block key Kb2) to be applied to the decryption of the encrypted content is converted into a plurality of other keys, that is, the block key Kb1. Since the third encryption key K3 encrypts and stores the seed information, it is impossible to read the seed information (seed 2) directly from the disk. Therefore, the key information generated using the seed information is analyzed and encrypted. The difficulty of algorithm analysis increases, and content protection with a high security level is realized.
[0195]
The example shown in FIG. 15 is an example in which seed information (seed 1) 381 is stored in the first TS packet 352 in the user data and seed information (seed 2) 382 is stored in the next second TS packet 391 in the user data. is there.
[0196]
The first TS packet 352 and the second TS packet 391 are encrypted with the block key Kb1 obtained by applying the seed information (seed 1) 381 and further encrypted with the third encryption key K3. It is set as a data area that has been double-encrypted.
[0197]
The process of FIG. 15 will be described. In FIG. 15, the same processing step number is attached | subjected to the processing step similar to the processing step of FIG.
[0198]
In step S207 (FIGS. 12 and 15), the seed information (seed 1) 381 read from within the first TS packet of the user data of the information recording medium is input to the AES encryption processing unit, and the previous step S205 (see FIG. 12). This is a step of generating the block key Kb1 by executing the AES encryption process to which the recording key K1 generated in step 1 is applied.
[0199]
Next, in step S208 of FIG. 12, the data part to be subjected to the decryption process to which the block key Kb1 in step S209 is applied is selected from the user data consisting of 32 TS packets, that is, the first TS packet 352 and the second TS packet 391 are selected. In S209, a decryption process (AES decryption process) using the block key Kb1 is executed.
[0200]
As a result of the decryption process applying the block key Kb1 in step S209, an encrypted TS packet subjected to only the encryption process applying the third encryption key K3 is calculated. This TS packet is combined with other data in the selector step S210, and in step S211, a decryption process using the third encryption key K3 (title unique key K3) is executed.
[0201]
In the example of FIG. 15, the data to be subjected to the decryption process to which the third encryption key K3 in step S211 is applied is the first TS packet 352 and the second TS packet 391 including seed information (seed 2) 382. Thus, the decryption TS packet 354 is obtained by executing the continuous decryption process by applying the block key Kb1 and the third encryption key (title unique key K3) to the first TS packet 352 and the second TS packet 391, The seed information (seed 2) is extracted from the list.
[0202]
The selector step S212 in FIG. 12 outputs seed information (seed 2) to the block key Kb2 generation step in step S213 from the result of the decryption process using the block key Kb1 and the third encryption key (title unique key K3). The encrypted data encrypted with the block key Kb2 is output to the decryption step S214, and the other data is output to the selector step S215.
[0203]
In step S213 (see FIGS. 12 and 15), seed information extracted from the TS packet 354 acquired as a result of the decryption process using the block key Kb1 and the third encryption key (title specific key K3) in steps S209 and S211. Based on (Seed 2) and the recording key K2 generated in step S206 (see FIG. 12), AES encryption processing is executed to calculate a block key Kb2.
[0204]
Next, in step S214, the encryption part (data area 392 encrypted with the block key Kb2) of the user data part is decrypted by applying the block key Kb2, and the decrypted TS packet group 355 is generated.
[0205]
The decoded TS packet group 355 and the decoded TS packet 354 are combined, input to, for example, an MPEG2 decoder, decoded, and reproduced.
[0206]
As described above, in this configuration, seed information (seed 1) and seed information (seed 2) are both stored in the first TS packet in the user data, and the seed required for generating the block key Kb2 The information (seed 2) is stored in the second TS packet in the user data, and the first TS packet and the second TS packet including the seed information (seed 2) are based on the seed information (seed 1) and the recording key K1. In this case, the seed information (seed 2) can be read directly from the disk because it is encrypted with the block key Kb1 that is generated in this way and further stored in the area (first TS packet) that is encrypted with the third encryption key K3. Therefore, it is difficult to analyze the key information generated by using the seed information and the analysis of the cryptographic algorithm. Content protection is achieved high Ireberu.
[0207]
In the above-described example, the example in which the third encryption key K3 is set as a key generated based on the data (title key 3) stored in the information recording medium 220 has been described, but the third encryption key K3 is EKB as a secret key stored in advance in information processing device 210, a key generated based on information stored in advance in information processing device 210, or encryption key block information provided based on a key distribution tree configuration It is possible to set (Enabling Key Block) as a key to be obtained by decryption.
[0208]
For example, as shown in FIG. 16, the third encryption key K3, 230 is a secret key stored in advance in the information processing apparatus 210, a key generated based on information stored in the information processing apparatus 210, or key distribution A configuration in which EKB (Enabling Key Block) as encryption key block information provided based on the tree configuration is set as a key to be acquired by decryption, and generation processing based on acquired data from the information recording medium 220 is unnecessary. Is possible.
[0209]
Next, an example of an area to be encrypted with the block key Kb1 generated based on the seed information (seed 1) and the recording key K and the third encryption key K3 will be described with reference to FIGS. To do. FIG. 17 shows an example in which seed information (seed 1) is stored in the control block and seed information (seed 2) is included in one TS packet of user data.
[0210]
In the above-described example, the case where the seed information (seed 2) is included in the head of the user data or the second TS packet has been described, but the seed information (seed 2) is the head or the second one. It can be stored in any TS packet that constitutes the user data portion other than the TS packet.
[0211]
When seed information (seed 2) is stored in any TS packet of user data, encryption is performed using the block key Kb1 generated based on the seed information (seed 1) and the recording key K1, and the third encryption key K3. As an example of a region to be performed, for example, there are configurations shown in FIGS. (A) is an example in which only the seed information (seed 2) is encrypted with the block key Kb1 and the third encryption key K3. The other area is a non-encrypted area or a data area encrypted with the block information Kb2 generated by the seed information (seed 2) and the recording key K2.
[0212]
(B) is an example in which a partial region of the TS packet including the seed information (seed 2) is encrypted with the block key Kb1, and the entire region of the TS packet is encrypted with the third encryption key K3.
[0213]
For example, seed information (seed 2) and edit identifier (edit ID) are stored in the TS packet in the content editing studio 282 (see FIG. 6), and the seed information (seed 1) is stored in the disc manufacturing entity 283 (see FIG. 6). The seed information (seed 2) is encrypted using the record key K1 that can be generated on the basis of the recording key K1, and then stored in the disk.
[0214]
(C) is an example in which the entire region of one TS packet including the seed information (seed 2) is encrypted with the block key Kb1 and the third encryption key K3.
[0215]
The example shown in FIG. 18 shows an example in which seed information (seed 1) and seed information (seed 2) are stored in the same TS packet. The seed information (seed 1) is stored as non-encrypted information using the block keys Kb1 and Kb2. The seed information (seed 2) is encrypted with the block key Kb1 generated based on the seed information (seed 1) and the recording key K1, and the third encryption key K3, and is the same TS as the seed information (seed 1). Stored in the packet.
[0216]
(D) is an example in which only the seed information (seed 2) is encrypted with the block key Kb1 and the third encryption key K3. The other area is a non-encrypted area or a data area encrypted with the block information Kb2 generated by the seed information (seed 2) and the recording key K2.
[0217]
(E) is an example in which a partial region of the TS packet including the seed information (seed 2) is encrypted with the block key Kb1, and the entire region of the TS packet is encrypted with the third encryption key K3. (F) is an example in which the entire region of one TS packet including the seed information (seed 2) is encrypted with the block key Kb1 and the third encryption key K3.
[0218]
The example shown in FIG. 19 shows an example in which seed information (seed 1) and seed information (seed 2) are stored in different TS packets. The seed information (seed 1) is stored as non-encrypted information using the block keys Kb1 and Kb2. The seed information (seed 2) is encrypted with the block key Kb1 generated based on the seed information (seed 1) and the recording key K1, and the third encryption key K3, and is a TS packet different from the seed information (seed 1). Stored in.
[0219]
(G) is an example in which only the seed information (seed 2) is encrypted with the block key Kb1 and the third encryption key K3. The other area is a non-encrypted area or a data area encrypted with the block information Kb2 generated by the seed information (seed 2) and the recording key K2.
[0220]
(H) is an example in which the entire region of one TS packet including the seed information (seed 2) is encrypted with the block key Kb1 and the third encryption key K3. (I) is an example in which the entire region of one TS packet including the seed information (seed 2) is encrypted with the block key Kb1 and the third encryption key K3.
[0221]
As described above with reference to FIGS. 17 to 19, various settings are possible for the storage mode of the seed information (seed 1) and the seed information (seed 2) and the setting mode of the encrypted data area. However, in any case, the seed information (seed 2) is stored by being encrypted with the key generated using the seed information (seed 1), that is, the block key Kb1 and the third encryption key K3. Direct reading from the information recording medium becomes impossible, analysis of seed information (seed 2), analysis of block key Kb2 generated by applying seed information (seed 2), and user data encrypted by block key Kb2 It becomes possible to increase the analysis difficulty of the encryption algorithm. Further, when the seed information (seed 1) is encrypted with the third encryption key K3, analysis of the seed information (seed 1), analysis of the block key Kb1 generated by applying the seed information (seed 1), It becomes possible to increase the difficulty of analyzing the user data encryption algorithm encrypted by the block key Kb1.
[0222]
[Data Input / Output Configuration via Interface with Information Recording Medium Drive Device]
Next, in an information processing apparatus such as a PC, it is connected to an information recording medium drive loaded with an information recording medium such as a DVD or CD via various interfaces, for example, an interface such as SCSI, IEEE 1394, or USB. A processing example when executing data transfer will be described.
[0223]
For example, as shown in FIG. 20, an information processing apparatus 410 such as a PC and an information recording medium drive 420 equipped with an information recording medium 430 such as a DVD or CD are connected via both interfaces 411 and 421. The information recording medium drive 420 accesses the information recording medium 430, transfers the data via both interfaces 411 and 421, and reproduces the information on the information processing apparatus 410 such as a PC.
[0224]
As shown in the figure, when data is transferred via the interfaces 411 and 421, if the above-mentioned seed information (seed 2) is included in the unencrypted state in the transfer data, seed information (seed 2 from the transfer data) is transmitted. ) May occur.
[0225]
Therefore, in the configuration of the present invention, when data transfer is performed between the information processing apparatus 410 and the information recording medium drive 420 via an interface, an authentication process is executed between both apparatuses, and the result of the authentication process is The transfer data is encrypted and transmitted using the session key acquired by both devices. Details of this processing configuration will be described below.
[0226]
FIG. 21 is a diagram for explaining processing in the case of executing data reading and reproduction of the information recording medium 520 storing the encrypted content in the information processing apparatus 500 such as a PC and the information recording medium drive 510. Note that both the information processing apparatus 500 and the information recording medium drive 510 have substantially the same configuration as that described above with reference to FIG. However, in the information processing apparatus 500 such as a PC, the recording medium 195 and the drive 190 shown in FIG. 2 are not essential, and only the information recording medium drive 510 needs to be provided. Further, the MPEG codec 130 and the TS processing means 198 may be configured only in the information processing apparatus 500 such as a PC, and need not be configured in the information recording medium drive 510.
[0227]
With reference to FIG. 21, processing when data in the information recording medium 520 is read by the information recording medium drive 510 and transferred to the information processing apparatus 500 for reproduction will be described.
[0228]
The information recording medium drive 510 reads the master key 511 stored in its own memory 180 (see FIG. 2). Note that the master key 511 may be transmitted from the information processing apparatus 500 to the information recording medium drive 510 when stored on the information processing apparatus 500 side. The master key 511 is a key stored in a licensed information processing apparatus (including an information recording medium drive) or a key generated based on stored information.
[0229]
The information recording medium drive 510 reads a disc ID (Disc ID) 521 from the information recording medium 520. A disc ID (Disc ID) 521 is disc-specific information and is stored in, for example, a general data storage area or a lead-in area.
[0230]
Next, in step S551, the information recording medium drive 510 uses the master key 511 and the disc ID 521 to generate a disc unique key. As a specific method for generating a disc unique key, the same method as described above with reference to FIG. 4 can be applied.
[0231]
Next, title key (Title Key) 1 523 and title key 2 524, which are two unique keys for each recorded content, are read from the information recording medium 520. On the disc, there is a data management file that stores information about what data constitutes what title, and the title key is stored in this file. When there is only one title key for one disc, that is, when the title key for the disc ID 521 can be uniquely determined, it is stored in the general data storage area or the lead-in area in the same manner as the disc ID 521, for example. You may make it do.
[0232]
Next, in step S552 and step S553, two title unique keys 1 and 2 are generated from the disc unique key and title keys 1 and 2.
[0233]
Further, the information recording medium drive 510 includes two title unique keys (Title Unique Keys) 1 and 2 generated in steps S552 and S553, a recording seed (REC SEED) 525 read from the information recording medium 520, and a physical index 526. Based on the above, two recording keys (REC key) K1 and K2 are generated in steps S554 and S555.
[0234]
As described above with reference to FIG. 5, the two recording keys (REC keys) K1 and K2 that are executed in steps S552 to S555 are generated as described above with reference to FIG. It is generated by AES (Advanced Encryption Standard) encryption processing based on the recording seed (REC SEED) 525 and the physical index 526 read from the information recording medium 520.
[0235]
As described above with reference to FIG. 7, instead of storing the recording seed (REC SEED) 525 and the physical index 526 in the information recording medium 520, a random value such as a random number set for each editing (authoring) is used. As a method of storing in the information recording medium 520 as a disc key seed, applying a disc unique key to the disc key seed, executing AES encryption processing, and obtaining title unique key 1 and title unique key 2 from the output Also good.
[0236]
When the two recording keys (REC key) 1 and 2 are generated in steps S554 and S555 by any of the above-described methods, the block key Kb1 generation process is executed in step S556.
[0237]
In the generation process of the block key Kb1, the seed information (seed 1) 527 as the block key Kb1 generation information is read from the information recording medium 520, and the seed information (seed 1) 527 and the recording key K1 generated in step S554 are used. Data processing such as AES encryption processing is executed to generate the block key Kb1.
[0238]
Processing executed after the block key Kb1 generation processing in step S556 will be described with reference to FIG.
[0239]
In FIG. 22, the decoding process is executed in units of processing units 600. This processing unit corresponds to the processing unit (b) described above with reference to FIG. That is, one unit (1 AU: Aligned Unit) which is a cryptographic processing unit. The information recording medium drive 510 that reads the encrypted data stored in the information recording medium 520 extracts 1 AU (Aligned Unit), which is an encryption processing unit, based on the flag in the control data.
[0240]
The processing unit 600 includes 18-byte control data 601 and 6144-byte user data (including encrypted content). The 6144-byte user data is divided into 192 bytes, which are units of transport stream packets. The first TS packet 602 of user data and the subsequent 5952-byte TS packet group 603 will be described separately. In this example, seed information (seed 1) 611 is stored in the control data 601, and seed information (seed 2) 612 is encrypted and stored in the first TS packet 602 in the user data. The TS packet 602 which is a data area including the seed information (seed 2) 612 is a data area encrypted with the block key Kb1 and the third encryption key K3 acquired by applying the seed information (seed 1) 611. is there.
[0241]
Note that there are a plurality of modes for storing seeds 1 and 2 as seed information, and one example is shown here. Other examples will be described later.
[0242]
In FIG. 22, the same process step number is attached | subjected to the process step similar to the process step of FIG.
[0243]
In step S556 (FIGS. 21 and 22), seed information (seed 1) 611 read from the control data of the information recording medium is input to the AES encryption processing unit, and the recording key K1 generated in the previous step S554 is applied. In this step, AES encryption processing is executed and block key Kb1 generation processing is executed.
[0244]
Next, in step S557 of FIG. 21, only the encrypted data portion with the block key Kb1 is extracted from the user data consisting of 32 TS packets. The data part to be decrypted by the block key Kb1 and other data parts are separated in step S557, and only the selected data part is decrypted in step S558. The other data part skips step S558, and in step S559, it is concatenated with the decrypted data again by the selector step, and is encrypted by the session key in step S563.
[0245]
In step S558 (see FIGS. 21 and 22), an AES decryption process using the block key Kb1 generated in step S556 is executed. In step S558, a decryption process is executed only for the data part subjected to the encryption process to which the block key Kb1 is applied. In this example, the data area including at least the seed information (seed 2) of the first TS packet 602 of the user data is a data portion that has been subjected to encryption processing using the block key Kb1. Therefore, a decryption process using the block key Kb1 is executed for the data area including the seed information (seed 2).
[0246]
Note that the data portion that has been subjected to the encryption process to which the block key Kb1 is applied is also encrypted by the third encryption key K3. There are several patterns as to which data area the encryption area by the block key Kb1 and the third encryption key K3 is used, and these are as described above with reference to FIGS. It is.
[0247]
The first TS packet 602 includes seed information (seed 2) 612 necessary for calculating another user data part, that is, a block key Kb2 applied to decryption processing of the subsequent 5952-byte TS packet group 603. It is. That is, the seed information (seed 2) 612 is recorded in the leading TS packet 602 as encrypted data that has been subjected to double encryption processing using the block key Kb1 and the third encryption key K3.
[0248]
As a result of the decryption process using the block key Kb1 in step S558, an encrypted TS packet 604 encrypted with the third encryption key K3 is calculated, and includes seed information (seed 2). .
[0249]
The selector step S559 in FIG. 21 indicates that the data including the seed information (seed 2) and other data are combined from the result of the decryption process using the block key Kb1 and output to the encryption step S563. Yes.
[0250]
The encryption processing in step S563 is encryption processing executed based on a session key shared by both as a result of mutual authentication processing executed between the information recording medium drive 510 and the information processing apparatus 500. The mutual authentication process is executed based on authentication keys Km 530 and 540 shared by the information recording medium drive 510 and the information processing apparatus 500.
[0251]
A sequence of mutual authentication processing will be described with reference to FIG. The authentication and session key sharing process shown in FIG. 23 is an example based on a common key processing method. The authentication sequence and the session key sharing sequence are not limited to this processing sequence, and other processing methods may be applied.
[0252]
The information recording medium drive 510 and the information processing apparatus 500 have authentication keys Km 530 and 540. First, in step S571, the information processing apparatus 500 generates a random number Rb1 (64 bits) and transmits it to the information recording medium drive 510. The information recording medium drive 510 generates a random number Ra1 in step S581, and generates a MAC (Message Authentication Code) based on the AES encryption process for the combined data [Ra1‖Rb1] of the random number Ra1 and the random number Rb1 in step S682. . Let the generated MAC value be eKm (Ra1‖Rb1). Note that eKa (B) indicates encryption of data B with the key Ka, and A‖B indicates connection between data A and data B. The information recording medium drive 510 transmits the generated MAC value: eKm (Ra1‖Rb1) and the generated random number Ra1 to the information processing apparatus 500.
[0253]
Based on the random number Ra1 received from the information recording medium drive 510 and the random number Rb1 generated in step S571, the information processing apparatus 500 calculates a MAC value: eKm (Ra1‖Rb1) in step S572. In step S573, the calculated MAC value is compared with the MAC value received from the information recording medium drive 510. If they match, the information processing apparatus 500 authenticates that the information recording medium drive 510 is a legitimate device having a correct authentication key. If they do not match, it is an authentication error and the subsequent processing is stopped.
[0254]
Further, the information processing apparatus 500 generates a random number Rb2 and transmits it to the information recording medium drive 510 in step S574. In step S583, the information recording medium drive 510 generates a random number Ra2, and transmits the generated random number Ra2 to the information processing apparatus 500.
[0255]
In step S575, the information processing apparatus 500 calculates a MAC value: eKm (Ra2‖Rb2) based on the received random number Ra2 and the generated random number Rb2, and transmits it to the information recording medium drive 510.
[0256]
In step S584, the information recording medium drive 510 calculates a MAC value: eKm (Ra2‖Rb2) based on the received random number Rb2 and the random number Ra2 generated in step S583. In step S585, the calculated MAC value is compared with the MAC value received from the information processing apparatus 500. If they match, the information recording medium drive 510 authenticates that the information processing apparatus 500 is a legitimate device having a correct authentication key. If they do not match, it is an authentication error and the subsequent processing is stopped.
[0257]
Further, the information processing apparatus 500 generates a random number Ra3 and transmits it to the information recording medium drive 510 in step S576.
[0258]
In step S586, the information recording medium drive 510 generates a random number Ra3. In step S587, the information recording medium drive 510 performs an AES encryption process using the shared authentication key Km for the concatenated data of the generated random number Ra3 and the received random number Rb3 from the information processing apparatus 500. Execute and calculate session key Ks = eKm (Ra3‖Rb3).
[0259]
In step S577, the information processing apparatus 500 executes the AES encryption process using the shared authentication key Km for the concatenated data of the generated random number Rb3 and the received random number Ra3 from the information recording medium drive 510, and the session key Ks = eKm (Ra3 ‖Rb3) is calculated.
[0260]
Through the processing described above, the information processing apparatus 500 and the information recording medium drive 510 can confirm that they are correct devices and can share the session key Ks = eKm (Ra3‖Rb3). The processing in steps S560 and S561 shown in FIG. 21 corresponds to the processing described with reference to FIG.
[0261]
When the session key Ks is shared between the information processing apparatus 500 and the information recording medium drive 510 by the above-described processing, the information recording medium drive 510 executes the encryption processing in steps S562 and S563 shown in FIG.
[0262]
The encryption process of step S562 is a process of encrypting the recording key K2 generated in step S555 with the session key Ks (AES encryption) to generate an encrypted recording key eKs (K2). Step S563 is a process of encrypting the decrypted TS packet 604 acquired as a result of the decryption process to which the block key Kb1 is applied in step S558, using the session key Ks. In this case, the processing mode should be a secret included in the TS packet, such as when the target to be encrypted is the entire TS packet 604, a part, or only the seed information (seed 2). The information storage mode, that is, the range encrypted by the block key Kb1 and the third encryption key K3 may be determined. Each of these aspects is as described with reference to FIGS.
[0263]
In step S562, encrypted data by the session key Ks of the recording key K2 is generated. In step S563, secret information including the seed information (seed 2) is encrypted by the session key Ks, and these encrypted data (FIG. 22). TS packet 605) is transmitted from the information recording medium drive 510 to the information processing apparatus 500. That is, in the data communication path, the transferred data is data encrypted by the session key Ks.
[0264]
When receiving the data from the information recording medium drive 510, the information processing apparatus 500 decrypts the received encrypted data in steps S564 and S565. That is, in step S564, the session key Ks is applied to decrypt the encrypted recording key eKs (K2) to obtain the recording key K2, and in step S565, the session key Ks is applied to obtain seed information (seed 2). The secret information including the seed information (seed 2) is obtained by decrypting the secret information included. A TS packet 606 shown in FIG. 22 includes seed information (seed 2).
[0265]
Step S566 is a selector step for separating seed information (seed 2), data to be decrypted by the block key Kb2, and other data. In step S567 (see FIGS. 21 and 22), AES is based on the seed information (seed 2) obtained as a result of the decryption process using the session key Ks in step S565 and the recording key K2 generated in step S564. Cryptographic processing is executed to calculate the block key Kb2.
[0266]
Next, in step S568, the encryption part (data area encrypted with the block key Kb2) of the user data part is decrypted by applying the block key Kb2, and a decrypted TS packet group 607 is generated.
[0267]
Further, the TS packet 606 including the seed information (seed 2) is selected in the selector step S569 (see FIG. 21), the decryption process is executed by applying the third encryption key K3, 550, and the decrypted TS packet 608 (FIG. 22). Browse).
[0268]
Here, the third encryption key K3, 550 is based on a secret key stored in advance in the information processing apparatus 500, a key generated based on information stored in advance in the information processing apparatus 500, or a key distribution tree configuration. This is a key that is obtained by decrypting an EKB (Enabling Key Block) as encryption key block information provided.
[0269]
The decoded TS packet group 607 and the decoded TS packet 608 are combined, input to the MPEG2 decoder, for example, as a decoded TS packet, decoded, and reproduced.
[0270]
As described above, in this configuration, seed information (seed 2) necessary for generating a key (block key Kb2) to be used for decryption of encrypted content in the reproduction process of data stored in the information recording medium. Is transferred between devices, the seed information (seed 2) required for generating the block key Kb2 and the recording key K2 are both encrypted with the session key and transmitted / received. Even if data leakage from the road occurs, it is difficult to obtain the seed information (seed 2) and the recording key K2, and therefore, analysis of key information generated using the seed information, encryption algorithm The difficulty of analysis increases and content protection with a high security level is realized. In the information processing apparatus 500, for example, the method for calculating the block key Kb1 from the method for obtaining the recording key K1, the method for generating the session key Ks, and the method for encrypting with the session key Ks are included in one LSI package. By increasing the secrecy as the process, it becomes more robust.
[0271]
As in the example described above, there are various modes for storing the two seed information, and a plurality of examples will be described below.
[0272]
FIG. 24 shows an example in which both seed information (seed 1) and seed information (seed 2) are stored in the first TS packet 602 in the user data. In the example described above with reference to FIG. 22, the seed information (seed 1) 611 is stored in the control data 601 and the seed information (seed 2) 612 is encrypted in the first TS packet 602 in the user data. In the configuration example shown in FIG. 24, seed information (seed 1) 621 and seed information (seed 2) 622 are both stored in the first TS packet 602 in the user data. It is an example.
[0273]
Note that the TS packet 602 which is a data area including the seed information (seed 2) 622 is similar to the example described with reference to FIG. 22 and the block key Kb1 obtained by applying the seed information (seed 1) 621 and the third key This is a data area encrypted with the encryption key K3.
[0274]
In FIG. 24, the decoding process is executed in units of processing units 600. This processing unit is one unit (1 AU: Aligned Unit) corresponding to the processing unit (b) described above with reference to FIG. The information recording medium drive 510 that reads the encrypted data stored in the information recording medium 520 extracts 1 AU (Aligned Unit), which is an encryption processing unit, based on the flag in the control data.
[0275]
The process of FIG. 24 will be described. In FIG. 24, the same process step number is attached | subjected to the process step similar to the process step of FIG.
[0276]
In step S556 (FIGS. 21 and 24), seed information (seed 1) 621 read from the first TS packet of the user data of the information recording medium is generated in the AES encryption processing unit in the previous step S554 (see FIG. 21). The AES encryption process to which the recording key K1 is applied is executed, and the block key Kb1 generation process is executed.
[0277]
Next, in step S557 of FIG. 21, only the encrypted data portion with the block key Kb1 is extracted from the user data consisting of 32 TS packets. The encrypted data part and non-encrypted part by the block key Kb1 are separated in step S557, and only the encrypted part is decrypted in step S558. The non-encrypting unit skips step S558, and in step S559, is connected to the decrypted data again by the selector step, and in step S563, encryption is performed using the session key.
[0278]
In step S558 (see FIGS. 21 and 24), an AES decryption process using the block key Kb1 generated in step S556 is executed. In step S558, a decryption process is executed only for the data part subjected to the encryption process to which the block key Kb1 is applied. In this example, the data area including at least the seed information (seed 2) of the first TS packet 602 of the user data is a data portion that has been subjected to encryption processing using the block key Kb1. Therefore, a decryption process using the block key Kb1 is executed for the data area including the seed information (seed 2).
[0279]
In the encrypted data area of the first TS packet 602, seed information (in order to calculate a block key Kb2 applied to decryption processing of another user data portion, that is, the subsequent 5952-byte TS packet group 603) Seed 2) 622 is included. That is, the seed information (seed 2) 622 is recorded in the leading TS packet 602 as encrypted data that has been subjected to encryption processing using the block key Kb1.
[0280]
As a result of the decryption process to which the block key Kb1 is applied in step S556, a TS packet 604 encrypted with the third encryption key K3 is calculated, and includes seed information (seed 2).
[0281]
The selector step S559 in FIG. 21 indicates that the decryption data including the seed information (seed 2) and other data are combined from the result of the decryption process using the block key Kb1 and output to the encryption step S563. ing.
[0282]
The encryption processing in step S563 is encryption processing executed based on a session key shared by both as a result of mutual authentication processing executed between the information recording medium drive 510 and the information processing apparatus 500. The mutual authentication process is executed based on authentication keys Km 530 and 540 shared by the information recording medium drive 510 and the information processing apparatus 500. The mutual authentication process and the session key sharing process are as described with reference to FIG.
[0283]
When the authentication is established and the session key Ks is shared, the information recording medium drive 510 executes the encryption processing in steps S562 and S563 shown in FIGS. That is, in step S562, encrypted data by the session key Ks of the recording key K2 is generated. In step S563, the secret information including the seed information (seed 2) is encrypted by the session key Ks, and the encrypted data ( A TS packet 605) in FIG. 24 is transmitted from the information recording medium drive 510 to the information processing apparatus 500. That is, in the data communication path, the transferred data is data encrypted by the session key Ks.
[0284]
When receiving the data from the information recording medium drive 510, the information processing apparatus 500 decrypts the received encrypted data in steps S564 and S565. That is, in step S564, the session key Ks is applied to decrypt the encrypted recording key eKs (K2) to obtain the recording key K2, and in step S565, the session key Ks is applied to obtain seed information (seed 2). The secret information including the seed information (seed 2) is obtained by decrypting the secret information included. A TS packet 606 shown in FIG. 24 is a TS packet encrypted only with the third encryption key K3, and includes seed information (seed 2).
[0285]
Step S566 is a selector step for separating the decrypted seed information (seed 2), data to be decrypted by the block key Kb2, and other data. In step S567 (see FIGS. 21 and 24), based on the seed information (seed 2) obtained as a result of the decryption process using the session key Ks in step S565 and the recording key K2 generated in step S564, AES Cryptographic processing is executed to calculate the block key Kb2.
[0286]
Next, in step S568, the encryption part (data area encrypted with the block key Kb2) of the user data part is decrypted by applying the block key Kb2, and a decrypted TS packet group 607 is generated.
[0287]
Further, the TS packet 606 including the seed information (seed 2) is selected in the selector step S569 (see FIG. 21), the decryption process is executed by applying the third encryption key K3, 550, and the decrypted TS packet 608 (FIG. 24). Browse).
[0288]
Here, the third encryption key K3, 550 is based on a secret key stored in advance in the information processing apparatus 500, a key generated based on information stored in advance in the information processing apparatus 500, or a key distribution tree configuration. This is a key that is obtained by decrypting an EKB (Enabling Key Block) as encryption key block information provided.
[0289]
The decoded TS packet group 607 and the decoded TS packet 608 are combined, input to the MPEG2 decoder, for example, as a decoded TS packet, decoded, and reproduced.
[0290]
As described above, in this configuration, seed information (seed 1) and seed information (seed 2) are both stored in the first TS packet in the user data, and the seed required for generating the block key Kb2 Information (seed 2) is stored in the service area by encrypting it with the block key Kb1 generated based on the seed information (seed 1) and the recording key K1 and the third encryption key K3.
[0291]
Even in this configuration, it is impossible to read the seed information (seed 2) directly from the disk and from the data transfer path. Therefore, the analysis of the key information generated using the seed information, the encryption algorithm The difficulty of analysis increases and content protection with a high security level is realized. In the information processing apparatus 500, for example, the method for calculating the block key Kb1 from the method for obtaining the recording key K1, the method for generating the session key Ks, and the method for encrypting with the session key Ks are included in one LSI package. By increasing the secrecy as the process, it becomes more robust.
[0292]
The example shown in FIG. 25 is an example in which seed information (seed 1) 631 is stored in the first TS packet 602 in the user data, and seed information (seed 2) 632 is stored in the next TS packet 641 in the user data. .
[0293]
Note that the seed information (seed 1) 631 is applied to the area in which the seed information (seed 2) 632 is stored, in this case, the first TS packet 602 and the second TS packet 641 as in the example described in FIGS. Are encrypted with the block key Kb1 and the third encryption key K3 acquired in this way and stored in the second TS packet 641 in the user data.
[0294]
In FIG. 25, the decoding process is executed in units of processing units 600. This processing unit is one unit (1 AU: Aligned Unit) corresponding to the processing unit (b) described above with reference to FIG.
[0295]
The process of FIG. 25 will be described. In FIG. 25, the same process step number is attached | subjected to the process step similar to the process step of FIG.
[0296]
In step S556 (FIGS. 21 and 25), the seed information (seed 1) 631 read from the first TS packet of the user data of the information recording medium is input to the AES encryption processing unit, and the previous step S554 (see FIG. 21). The block key Kb1 is generated by executing the AES encryption process to which the recording key K1 generated in step 1 is applied.
[0297]
Next, in step S557 of FIG. 21, only the encrypted data portion with the block key Kb1 is extracted from the user data consisting of 32 TS packets. The encrypted data part and non-encrypted part by the block key Kb1 are separated in step S557, and only the encrypted part is decrypted in step S558. The non-encrypting unit skips step S558, and in step S559, is connected to the decrypted data again by the selector step, and in step S563, encryption is performed using the session key.
[0298]
In step S558 (see FIGS. 21 and 25), an AES decryption process using the block key Kb1 generated in step S556 is executed. The decryption target is a data area to which the encryption process using the block key Kb1 is applied. The encryption area of the data area excluding the seed information (seed 1) 521 in the first TS packet of the user data, and the second TS packet The decoding process of the data area including at least the seed information (seed 2) 632 is executed. There are several patterns as to which data area the data portion subjected to the encryption processing to which the block key Kb1 is applied is, and these are as described above.
[0299]
In this example, in the encrypted data area of the second TS packet 641, seed information necessary for calculating another user data part, that is, the block key Kb2 applied to the decryption process of the subsequent TS packet group 642 is obtained. (Seed 2) 632 is included. That is, the seed information (seed 2) 632 is recorded in the second TS packet 641 as encrypted data that has been encrypted using the block key Kb1.
[0300]
As a result of the decryption process using the block key Kb1 in step S606, the TS packet 604 encrypted with the third encryption key K3 is calculated, and includes seed information (seed 2).
[0301]
The selector step S559 in FIG. 21 indicates that the decryption data including the seed information (seed 2) and other data are combined from the result of the decryption process using the block key Kb1 and output to the encryption step S563. ing.
[0302]
The encryption processing in step S563 is encryption processing executed based on a session key shared by both as a result of mutual authentication processing executed between the information recording medium drive 510 and the information processing apparatus 500. The mutual authentication process is executed based on authentication keys Km 530 and 540 shared by the information recording medium drive 510 and the information processing apparatus 500. The mutual authentication process and the session key sharing process are as described with reference to FIG.
[0303]
When authentication is established and the session key Ks is shared, the information recording medium drive 510 executes the encryption processing in steps S562 and S563 shown in FIGS. That is, in step S562, encrypted data by the session key Ks of the recording key K2 is generated. In step S563, the secret information including the seed information (seed 2) is encrypted by the session key Ks, and the encrypted data ( The TS packet 605) in FIG. 21 is transmitted from the information recording medium drive 510 to the information processing apparatus 500. That is, in the data communication path, the transferred data is data encrypted by the session key Ks.
[0304]
When receiving the data from the information recording medium drive 510, the information processing apparatus 500 decrypts the received encrypted data in steps S564 and S565. That is, in step S564, the session key Ks is applied to decrypt the encrypted recording key eKs (K2) to obtain the recording key K2, and in step S565, the session key Ks is applied to obtain seed information (seed 2). The secret information including the seed information (seed 2) is obtained by decrypting the secret information included. A TS packet 606 shown in FIG. 25 is a TS packet encrypted only with the third encryption key K3, and includes seed information (seed 2).
[0305]
Step S566 is a selector step for separating the decrypted seed information (seed 2), the data to be decrypted by the block key Kb2, and the unencrypted data. In step S567 (see FIGS. 21 and 25), based on the seed information (seed 2) acquired as a result of the decryption process using the session key Ks in step S565 and the recording key K2 generated in step S564, AES Cryptographic processing is executed to calculate the block key Kb2.
[0306]
Next, in step S568, the encryption part (data area encrypted with the block key Kb2) of the user data part is decrypted by applying the block key Kb2, and a decrypted TS packet group 607 is generated.
[0307]
Further, the TS packet 606 including the seed information (seed 2) is selected in the selector step S569 (see FIG. 21), decryption processing is executed by applying the third encryption key K3, 550, and the decrypted TS packet 608 (FIG. 25) is selected. Browse).
[0308]
Here, the third encryption key K3, 550 is based on a secret key stored in advance in the information processing apparatus 500, a key generated based on information stored in advance in the information processing apparatus 500, or a key distribution tree configuration. This is a key that is obtained by decrypting an EKB (Enabling Key Block) as encryption key block information provided.
[0309]
The decoded TS packet group 607 and the decoded TS packet 608 are combined, input to the MPEG2 decoder, for example, as a decoded TS packet, decoded, and reproduced.
[0310]
As described above, in this configuration, the seed information (seed 1) stored in the first TS packet in the user data and the seed information (seed 2) necessary for generating the block key Kb2 is stored in the user data. It is stored in the 2TS packet, and the seed information (seed 2) is encrypted and stored with the block key Kb1 generated based on the seed information (seed 1) and the recording key K1.
[0311]
Even in this configuration, it is impossible to read the seed information (seed 2) directly from the disk or read from the data transfer path. Therefore, the analysis of the key information generated using the seed information, the encryption algorithm The difficulty of analysis increases and content protection with a high security level is realized. In the information processing apparatus 500, for example, the method for calculating the block key Kb1 from the method for obtaining the recording key K1, the method for generating the session key Ks, and the method for encrypting with the session key Ks are included in one LSI package. By increasing the secrecy as the process, it becomes more robust.
[0312]
In the above-described example, the decryption process using the block key Kb1 is performed on the seed information (seed 2) storage area encrypted with the block key Kb1 and the third encryption key K3, and the result of this decryption process is used. The configuration example of acquiring the seed information (seed 2) and generating the block key Kb2 by applying the acquired seed information (seed 2) has been described, but the block key Kb1 and the third encryption key K3 are used for encryption. For the seed information (seed 2) storage area, the decryption process using the block key Kb1 and the decryption process using the third encryption key K3 are successively executed, and the seed information (see It is also possible to obtain the seed 2) and apply the obtained seed information (seed 2) to generate the block key Kb2. Hereinafter, a processing example in which the decryption process using the block key Kb1 and the decryption process using the third encryption key K3 are executed in succession will be described.
[0313]
In FIG. 26, the processing after step S591 is different from the processing described with reference to FIG. The other processing is the same as the processing described with reference to FIG. The processing after step S591 will be described with reference to FIG. 21 and FIGS. FIGS. 27 to 29 correspond to FIGS. 22, 24, and 25, and are examples in which the storage areas of seed 1 and seed 2 have different patterns.
[0314]
26 and 27, seed information (seed 1) 611 is stored in control data 601 and seed information (seed 2) 612 is encrypted in the first TS packet 602 in the user data. Processing in the stored example will be described. A TS packet 602 shown in FIG. 27 is a data area encrypted with the block key Kb1 and the third encryption key K3 acquired by applying the seed information (seed 1) 611.
[0315]
Processing after step S564 of the information processing apparatus will be described. In step S564, the information processing apparatus 500 decrypts the received encrypted data from the information recording medium drive 510. That is, in step S564, the session key Ks is applied to decrypt the encrypted recording key eKs (K2) to obtain the recording key K2.
[0316]
In step S565, the secret information including the seed information (seed 2) is decrypted by applying the session key Ks to generate an encrypted TS packet encrypted only with the third encryption key K3. Further, in step S591, the decryption process is executed by applying the third encryption key K3, 550 to obtain the decrypted TS packet 610 (see FIG. 27).
[0317]
Here, the third encryption key K3, 550 is based on a secret key stored in advance in the information processing apparatus 500, a key generated based on information stored in advance in the information processing apparatus 500, or a key distribution tree configuration. This is a key that is obtained by decrypting an EKB (Enabling Key Block) as encryption key block information provided.
[0318]
The decoded TS packet 610 (see FIG. 27) includes seed information (seed 2). Step S592 (see FIG. 26) is a selector step for separating the seed information (seed 2), the data to be decrypted by the block key Kb2, and other data. In step S593 (see FIGS. 26 and 27), seed information (seed 2) obtained as a result of the decryption process applying the session key Ks and the decryption process applying the third encryption key K3 in steps S565 and S591, Based on the recording key K2 generated in step S564, AES encryption processing is executed to calculate a block key Kb2.
[0319]
Next, in step S593, the encryption part (data area encrypted with the block key Kb2) of the user data part is decrypted by applying the block key Kb2, and a decrypted TS packet group 607 is generated.
[0320]
The decoded TS packet group 607 and the decoded TS packet 610 are combined in selector step S595 (see FIG. 26), input as a decoded TS packet to, for example, an MPEG2 decoder, decoded, and reproduced.
[0321]
FIG. 28 is an example in which both seed information (seed 1) 621 and seed information (seed 2) 622 are stored in the first TS packet 602 in the user data. The TS packet 602, which is a data area including the seed information (seed 2) 622, is obtained by applying the seed information (seed 1) 621 to the block key Kb1 and the third encryption key, as in the example described in FIG. This is a data area encrypted by K3.
[0322]
Processing after step S564 of the information processing apparatus will be described. In step S564, the information processing apparatus 500 decrypts the received encrypted data from the information recording medium drive 510. That is, in step S564, the session key Ks is applied to decrypt the encrypted recording key eKs (K2) to obtain the recording key K2.
[0323]
In step S565, the secret information including the seed information (seed 2) is decrypted by applying the session key Ks to generate an encrypted TS packet encrypted only with the third encryption key K3. Further, in step S591, the decryption process is executed by applying the third encryption key K3, 550 to obtain the decrypted TS packet 610 (see FIG. 28).
[0324]
Here, the third encryption key K3, 550 is based on a secret key stored in advance in the information processing apparatus 500, a key generated based on information stored in advance in the information processing apparatus 500, or a key distribution tree configuration. This is a key that is obtained by decrypting an EKB (Enabling Key Block) as encryption key block information provided.
[0325]
The decoded TS packet 610 (see FIG. 28) includes seed information (seed 2). Step S592 (see FIG. 26) is a selector step for separating the seed information (seed 2), the data to be decrypted by the block key Kb2, and other data. In step S593 (see FIGS. 26 and 28), seed information (seed 2) acquired as a result of the decryption process applying the session key Ks and the decryption process applying the third encryption key K3 in steps S565 and S591, Based on the recording key K2 generated in step S564, AES encryption processing is executed to calculate a block key Kb2.
[0326]
Next, in step S593, the encryption part (data area encrypted with the block key Kb2) of the user data part is decrypted by applying the block key Kb2, and a decrypted TS packet group 607 is generated.
[0327]
The decoded TS packet group 607 and the decoded TS packet 610 are combined in selector step S595 (see FIG. 26), input as a decoded TS packet to, for example, an MPEG2 decoder, decoded, and reproduced.
[0328]
FIG. 29 shows an example in which seed information (seed 1) 631 is stored in the first TS packet 602 and seed information (seed 2) 632 is stored in the second TS packet 641. In this example, as the data area including the seed information (seed 2) 641, the first TS packet 602 and the second TS packet 641 are obtained by applying the seed information (seed 1) 631 and the block key Kb1 and the third encryption. This is a data area encrypted with the key K3.
[0329]
Processing after step S564 of the information processing apparatus will be described. In step S564, the information processing apparatus 500 decrypts the received encrypted data from the information recording medium drive 510. That is, in step S564, the session key Ks is applied to decrypt the encrypted recording key eKs (K2) to obtain the recording key K2.
[0330]
In step S565, the secret information including the seed information (seed 2) is decrypted by applying the session key Ks to generate an encrypted TS packet encrypted only with the third encryption key K3. Further, in step S591, the decryption process is executed by applying the third encryption key K3, 550 to obtain the decrypted TS packet 610 (see FIG. 29).
[0331]
Here, the third encryption key K3, 550 is based on a secret key stored in advance in the information processing apparatus 500, a key generated based on information stored in advance in the information processing apparatus 500, or a key distribution tree configuration. This is a key that is obtained by decrypting an EKB (Enabling Key Block) as encryption key block information provided.
[0332]
The decoded TS packet 610 (see FIG. 29) includes seed information (seed 2). Step S592 (see FIG. 26) is a selector step for separating the seed information (seed 2), the data to be decrypted by the block key Kb2, and other data. In step S593 (see FIGS. 26 and 29), seed information (seed 2) acquired as a result of the decryption process applying the session key Ks and the decryption process applying the third encryption key K3 in steps S565 and S591, Based on the recording key K2 generated in step S564, AES encryption processing is executed to calculate a block key Kb2.
[0333]
Next, in step S593, the encryption part (data area encrypted with the block key Kb2) of the user data part is decrypted by applying the block key Kb2, and a decrypted TS packet group 607 is generated.
[0334]
The decoded TS packet group 607 and the decoded TS packet 610 are combined in selector step S595 (see FIG. 26), input as a decoded TS packet to, for example, an MPEG2 decoder, decoded, and reproduced.
[0335]
[Application in other data structures]
In the above-described example, the example in which the data stored in the information recording medium is the TS packet has been described. However, the configuration of the present invention can be applied to various data configurations other than the TS packet. That is, the second seed information (seed 2) for encrypting the encrypted data in units of blocks is generated by the block key Kb1 and the third encryption key K3 generated by applying other seed information (seed 1). With the configuration of encrypting and storing in the information storage medium, leakage of the second seed information (seed 2) is prevented, and high-security content protection is realized. This is effective even when the data structure is other than the transport stream, as long as the block key encryption process is applied and the block key is generated using the seed information.
[0336]
Further, in the configuration example in which data encryption using a session key is performed at the time of data transfer via the interface, in the above-described example, a processing example in which one of two seed information is encrypted using a session key has been described. Data transfer processing involving data encryption with a key is not limited to the above-described configuration example, but is effective in a general encrypted content storage configuration.
[0337]
A processing example in which data transfer is performed between the information processing apparatus and the information recording medium drive in a configuration having seed information that is not encrypted on the recording medium will be described with reference to FIG.
[0338]
In the processing example shown in FIG. 30, encrypted content 675 is recorded on the information recording medium 670, and the encrypted content 675 is encrypted with the block key Kb1 generated by the seed information 674 set for each processing unit. Are recorded.
[0339]
A process in the case where the information recording medium drive 660 reads the data of the information recording medium 670 storing the encrypted content and reproduces the data on the information processing apparatus 650 such as a PC will be described.
[0340]
The information recording medium drive 660 reads the master key 661 stored in its own memory. Note that the master key 661 may be transmitted from the information processing device 650 to the information recording medium drive 660 when stored on the information processing device 650 side. The master key 661 is a key that can be generated based on secret information stored in a licensed information processing apparatus (including an information recording medium drive).
[0341]
The information recording medium drive 660 reads a disc ID (Disc ID) 671 from the information recording medium 670. A disc ID (Disc ID) 671 is disc-specific information and is stored in, for example, a general data storage area or a lead-in area.
[0342]
Next, in step S651, the information recording medium drive 660 generates a disc unique key using the master key 661 and the disc ID 671. As a specific method for generating a disc unique key, the same method as described above with reference to FIG. 4 can be applied.
[0343]
Next, a title key (Title Key) 1,672, which is a unique key for each recorded content, is read from the information recording medium 670. On the disc, there is a data management file that stores information about what data constitutes what title, and the title key is stored in this file.
[0344]
In step S652, a title unique key (Title Unique Key) 1 is generated from the disc unique key (Disc Unique Key) and the title key (Title Key) 1,672.
[0345]
Further, the information recording medium drive 660, based on the title unique key (Title Unique Key) 1 generated in step S652 and the physical index 673 read from the information recording medium 670, records a recording key (REC key) in step S653. K1 is generated.
[0346]
The recording key (REC key) K1 generation process executed in step S653 includes the title unique key 1 and the physical index 673 read from the information recording medium 670, as described above with reference to FIG. It is generated by AES (Advanced Encryption Standard) encryption processing based on the above.
[0347]
In the generation process of the block key Kb1 in step S654, the seed information 674 as the block key Kb1 generation information is read from the information recording medium 670, and the AES encryption process based on the seed information 674 and the recording key K1 generated in step S653. The block key Kb1 is generated by executing the data processing.
[0348]
Processing executed after the generation processing of the block key Kb1 in step S654 will be described with reference to FIG.
[0349]
In FIG. 31, the decryption processing is executed in units of user data 701 within a processing unit of 2048 bytes, for example. Control data 711 is set for each processing unit. The information recording medium drive 660 extracts 1 AU (Aligned Unit), which is an encryption processing unit, based on the flag in the control data.
[0350]
The processing unit includes 18-byte control data 711 and 2048-byte encrypted user data 701. Seed information 674 is stored in the control data 711. The encrypted user data 701 is data encrypted by the block key Kb1 generated based on the seed information 721.
[0351]
In FIG. 31, processing steps similar to those in FIG. 30 are given the same processing step numbers.
[0352]
In step S654 (FIGS. 30 and 31), the seed information 674 read from the control data of the information recording medium is input to the AES encryption processing unit, and the AES encryption process using the recording key K1 generated in the previous step S653 is performed. This is a step of executing the block key Kb1 generation process.
[0353]
In step S655 (see FIGS. 30 and 31), an AES decryption process using the block key Kb1 generated in step S654 is executed. In step S655, a decryption process is performed on the user data 701 that has been subjected to the encryption process using the block key Kb1. For example, a process to which an AES CBC (Cipher Block Chaining) mode is applied is executed.
[0354]
The encryption process in the next step S663 is an encryption process executed based on a session key shared by both as a result of the mutual authentication process executed between the information recording medium drive 660 and the information processing device 650. The mutual authentication process is executed based on authentication keys Km 680 and 690 shared by the information recording medium drive 660 and the information processing device 650. The sequence of mutual authentication processing is executed according to the sequence described above with reference to FIG.
[0355]
In steps S661 and S662 shown in FIG. 30, mutual authentication processing and session key Ks generation are executed, and the session key Ks is shared by the information processing device 650 and the information recording medium drive 660.
[0356]
Next, the encryption process in step S663 (see FIGS. 30 and 31) is executed by the information recording medium drive 660.
[0357]
The encryption process of step S663 is a process of encrypting the decryption user data acquired as a result of the decryption process in step S655 with the session key Ks. For example, encryption processing using an AES CBC (Cipher Block Chaining) mode is executed to generate encrypted user data 702.
[0358]
This encrypted data (user data 702 in FIG. 31) is transmitted from the information recording medium drive 660 to the information processing device 650. That is, in the data communication path, the transferred data is data encrypted by the session key Ks.
[0359]
When receiving the encrypted user data from the information recording medium drive 660, the information processing device 650 decrypts the received encrypted data in step S664. That is, a decryption process is executed by applying the session key Ks and applying, for example, the AES CBC (Cipher Block Chaining) mode.
[0360]
In step S665, decryption processing using the third encryption key K3, 685 is executed, and user data 703 is acquired. Here, the third encryption key K3, 685 is a secret key stored in advance in the information processing apparatus 650, a key generated based on information stored in the information processing apparatus 650, or a key distribution tree configuration. This is a key that is obtained by decrypting an EKB (Enabling Key Block) as encryption key block information provided.
[0361]
Also in this example, in the reproduction process of the data stored in the information recording medium, the transfer data between the devices is configured to be transmitted / received by encrypting with a session key. Content leakage is prevented, and content protection with a high security level is realized. In the information processing device 650, for example, the method for calculating the block key Kb1 from the method for obtaining the recording key K1, the method for generating the session key Ks, and the method for encrypting with the session key Ks are included in one LSI package. By increasing the secrecy as the process, it becomes more robust.
[0362]
Furthermore, in a configuration in which seed information that is not encrypted is stored on the recording medium, a second processing example in which data transfer is performed between the information processing apparatus and the information recording medium drive will be described with reference to FIGS. 32 and 33. I will explain.
[0363]
In the processing example shown in FIG. 32, the encrypted content 675 is recorded on the information recording medium 670, and the encrypted content 675 is encrypted with the block key Kb1 generated by the seed information 674 set for each processing unit. Are recorded.
[0364]
A process in the case where the information recording medium drive 660 reads the data of the information recording medium 670 storing the encrypted content and reproduces the data on the information processing apparatus 650 such as a PC will be described.
[0365]
The information recording medium drive 660 reads the master key 661 stored in its own memory. Note that the master key 661 may be transmitted from the information processing device 650 to the information recording medium drive 660 when stored on the information processing device 650 side. The master key 661 is a key that can be generated based on secret information stored in a licensed information processing apparatus (including an information recording medium drive).
[0366]
The information recording medium drive 660 reads a disc ID (Disc ID) 671 from the information recording medium 670. A disc ID (Disc ID) 671 is disc-specific information and is stored in, for example, a general data storage area or a lead-in area.
[0367]
Next, in step S651, the information recording medium drive 660 generates a disc unique key using the master key 661 and the disc ID 671. As a specific method for generating a disc unique key, the same method as described above with reference to FIG. 4 can be applied.
[0368]
Next, a title key (Title Key) 1,672, which is a unique key for each recorded content, is read from the information recording medium 670. On the disc, there is a data management file that stores information about what data constitutes what title, and the title key is stored in this file.
[0369]
In step S652, a title unique key (Title Unique Key) 1 is generated from the disc unique key (Disc Unique Key) and the title key (Title Key) 1,672.
[0370]
Further, the information recording medium drive 660, based on the title unique key (Title Unique Key) 1 generated in step S652 and the physical index 673 read from the information recording medium 670, records a recording key (REC key) in step S653. K1 is generated.
[0371]
The recording key (REC key) K1 generation process executed in step S653 includes the title unique key 1 and the physical index 673 read from the information recording medium 670, as described above with reference to FIG. It is generated by AES (Advanced Encryption Standard) encryption processing based on the above.
[0372]
In the generation process of the block key Kb1 in step S654, the seed information 674 as the block key Kb1 generation information is read from the information recording medium 670, and the AES encryption process based on the seed information 674 and the recording key K1 generated in step S653. The block key Kb1 is generated by executing the data processing.
[0373]
In step S656, the title unique key (Title Unique key (Title Unique key) is extracted from the title keys 3 and 677 read from the information recording medium 670 and the disc unique key.
Key) 3, that is, a third encryption key K3 is generated.
[0374]
Processing executed after the block key Kb1 generation processing in step S654 will be described with reference to FIG.
[0375]
In FIG. 33, the decoding process is executed in units of user data 701 within a processing unit of 2048 bytes, for example. Control data 711 is set for each processing unit. The information recording medium drive 660 extracts 1 AU (Aligned Unit), which is an encryption processing unit, based on the flag in the control data.
[0376]
The processing unit includes 18-byte control data 711 and 2048-byte encrypted user data 701. Seed information 674 is stored in the control data 711. The encrypted user data 701 is data encrypted by the block key Kb1 generated based on the seed information 721.
[0377]
In FIG. 33, the same processing step number is attached | subjected to the processing step similar to the processing step of FIG.
[0378]
In step S654 (FIGS. 32 and 33), the seed information 674 read from the control data of the information recording medium is input to the AES encryption processing unit, and AES encryption processing using the recording key K1 generated in the previous step S653 is performed. This is a step of executing the block key Kb1 generation process.
[0379]
In step S655 (see FIGS. 32 and 33), an AES decryption process using the block key Kb1 generated in step S654 is executed. In step S655, a decryption process is performed on the user data 701 that has been subjected to the encryption process using the block key Kb1. For example, a process to which an AES CBC (Cipher Block Chaining) mode is applied is executed.
[0380]
The encryption process in the next step S663 is an encryption process executed based on a session key shared by both as a result of the mutual authentication process executed between the information recording medium drive 660 and the information processing device 650. The mutual authentication process is executed based on authentication keys Km 680 and 690 shared by the information recording medium drive 660 and the information processing device 650. The sequence of mutual authentication processing is executed according to the sequence described above with reference to FIG.
[0381]
In steps S661 and S662 shown in FIG. 32, mutual authentication processing and session key Ks generation are executed, and the session key Ks is shared by the information processing device 650 and the information recording medium drive 660.
[0382]
Next, the encryption process in step S663 (see FIGS. 32 and 33) is executed by the information recording medium drive 660.
[0383]
The encryption process of step S663 is a process of encrypting the decryption user data acquired as a result of the decryption process in step S655 with the session key Ks. For example, encryption processing using an AES CBC (Cipher Block Chaining) mode is executed to generate encrypted user data 702.
[0384]
Further, the information recording medium drive 660 executes the encryption process in step S664 (see FIGS. 32 and 33).
[0385]
The encryption process of step S664 is a process of encrypting the third encryption key K3 generated in step S656 with the session key Ks. For example, an encryption process using an AES CBC (Cipher Block Chaining) mode is executed to generate an encrypted third encryption key Ks (K3).
[0386]
The encrypted data (user data 702 in FIG. 33) and the encrypted third encryption key Ks (K3) 704 are transmitted from the information recording medium drive 660 to the information processing device 650. That is, in the data communication path, the transferred data becomes the user data encrypted with the session key Ks and the third encryption key K3.
[0387]
When receiving the encrypted user data from the information recording medium drive 660, the information processing device 650 decrypts the received encrypted data in step S665. That is, a decryption process is executed by applying the session key Ks and applying, for example, the AES CBC (Cipher Block Chaining) mode.
[0388]
In step S666, the third encryption key Ks (K3) 704 is decrypted by applying the session key Ks and applying, for example, the AES CBC (Cipher Block Chaining) mode to the third encryption key Ks (K3) 704. The key K3 is acquired.
[0389]
In step S667, decryption processing using the third encryption key K3 is executed, and user data 703 is acquired.
[0390]
Also in this example, in the reproduction process of the data stored in the information recording medium, the transfer data between the devices is configured to be transmitted / received by encrypting with a session key. Content leakage is prevented, and content protection with a high security level is realized. In the information processing device 650, for example, the method for calculating the block key Kb1 from the method for obtaining the recording key K1, the method for generating the session key Ks, and the method for encrypting with the session key Ks are included in one LSI package. By increasing the secrecy as the process, it becomes more robust.
[0390]
The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims section described at the beginning should be considered.
[0392]
The series of processes described in the specification can be executed by hardware, software, or a combined configuration of both. When executing processing by software, the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and run.
[0393]
For example, the program can be recorded in advance on a hard disk or ROM (Read Only Memory) as a recording medium. Alternatively, the program is temporarily or permanently stored on a removable recording medium such as a flexible disk, CD-ROM (Compact Disc Read Only Memory), MO (Magneto optical) disk, DVD (Digital Versatile Disc), magnetic disk, and semiconductor memory. It can be stored (recorded). Such a removable recording medium can be provided as so-called package software.
[0394]
The program is installed on the computer from the removable recording medium as described above, or is wirelessly transferred from the download site to the computer, or is wired to the computer via a network such as a LAN (Local Area Network) or the Internet. The computer can receive the program transferred in this manner and install it on a recording medium such as a built-in hard disk.
[0395]
Note that the various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary. Further, in this specification, the system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.
[0396]
【The invention's effect】
As described above, according to the configuration of the present invention, the second seed storage storing the seed information (seed 2) necessary for generating the key (block key Kb2) applied to the decryption of the encrypted content is stored. A first block key Kb1 that generates an encrypted data area based on a first seed as first key generation information, and a third encryption key K3 that is different from the first block key Kb1 and the second block key Kb2 are applied. Therefore, it is impossible to read the seed information (seed 2) directly from the disk. Therefore, it is difficult to analyze the key information generated using the seed information and the encryption algorithm. As a result, content protection with a high security level is realized.
[0397]
Furthermore, according to the configuration of the present invention, in the reproduction process of data stored in the information recording medium, the encrypted content is transferred between the devices, and a key (block key Kb2) for generating the decrypted encrypted content is generated. In a configuration where it is necessary to transfer seed information (seed 2) between devices, block key generation information, specifically, both seed information (seed 2) and recording key K2 are encrypted with a session key and transmitted / received. In addition, since it has a structure that requires the application of the third encryption key K3 for decrypting the encrypted content, even if data leakage from the transfer path occurs, It becomes difficult to obtain the seed information (seed 2) and the recording key K2, and analysis of key information generated using the seed information and analysis of encryption algorithm With difficulty increases, the content reproduction becomes impossible in an apparatus that does not have a third encryption key K3, a high security level content protection is achieved.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a data configuration stored in an information recording medium.
FIG. 2 is a diagram illustrating an example of the configuration of an information processing apparatus.
FIG. 3 is a diagram illustrating a decoding process executed in the information processing apparatus.
FIG. 4 is a diagram for explaining an example of a process for generating a disk unique key.
FIG. 5 is a diagram illustrating an example of a recording key generation process.
FIG. 6 is a diagram illustrating a data recording process using a recording key.
[Fig. 7] Fig. 7 is a diagram for describing an example of a title unique key generation process.
FIG. 8 is a diagram illustrating a decryption processing sequence of encrypted data.
FIG. 9 is a diagram illustrating a decryption processing sequence of encrypted data.
FIG. 10 is a diagram illustrating a decryption processing sequence of encrypted data.
FIG. 11 is a diagram illustrating a decoding process executed in the information processing apparatus.
Fig. 12 is a diagram for describing a decoding process executed in the information processing apparatus.
FIG. 13 is a diagram illustrating a decryption processing sequence of encrypted data.
FIG. 14 is a diagram illustrating a decryption processing sequence of encrypted data.
FIG. 15 is a diagram illustrating a decryption processing sequence of encrypted data.
FIG. 16 is a diagram illustrating a decoding process executed in the information processing apparatus.
FIG. 17 is a diagram illustrating an example of a storage configuration of seed information.
FIG. 18 is a diagram illustrating an example of a storage configuration of seed information.
FIG. 19 is a diagram illustrating an example of a storage configuration of seed information.
FIG. 20 is a diagram illustrating a connection configuration between an information recording medium drive device and an information processing device.
FIG. 21 is a diagram illustrating data transfer processing between an information recording medium drive device and an information processing device.
FIG. 22 is a diagram for explaining a decoding processing sequence involving data transfer between the information recording medium drive device and the information processing device.
FIG. 23 is a diagram illustrating an authentication processing sequence between an information recording medium drive device and an information processing device.
FIG. 24 is a diagram for explaining a decoding processing sequence involving data transfer between the information recording medium drive device and the information processing device.
FIG. 25 is a diagram for explaining a decoding processing sequence involving data transfer between an information recording medium drive device and an information processing device.
FIG. 26 is a diagram for explaining a decoding processing sequence involving data transfer between the information recording medium drive device and the information processing device.
FIG. 27 is a diagram for explaining a decoding processing sequence involving data transfer between an information recording medium drive device and an information processing device.
FIG. 28 is a diagram for explaining a decoding processing sequence involving data transfer between an information recording medium drive device and an information processing device.
FIG. 29 is a diagram for explaining a decoding processing sequence involving data transfer between an information recording medium drive device and an information processing device.
FIG. 30 is a diagram for explaining a decoding processing sequence involving data transfer between an information recording medium drive device and an information processing device.
FIG. 31 is a diagram for explaining a decoding processing sequence involving data transfer between an information recording medium drive device and an information processing device.
FIG. 32 is a diagram for explaining a decoding processing sequence involving data transfer between the information recording medium drive device and the information processing device.
FIG. 33 is a diagram for explaining a decoding processing sequence involving data transfer between an information recording medium drive device and an information processing device.
[Explanation of symbols]
100 Information processing apparatus
110 bus
120 I / O interface
130 MPEG codec
140 I / O interface
141 A / D, D / A converter
150 Cryptographic processing means
160 ROM
170 RAM
180 memory
190 Recording medium I / F
195 Recording medium
198 TS processing means
210 Information processing apparatus
211 Master key
220 Information recording medium
221 Disc ID
223,224 title key
225 record seed
226 physical index
227 seed information
228 encrypted content
229 Title key
230 Third encryption key K3
271 to 275 Cryptographic processing unit
281 Management Center
282 Content Editing Studio
283 Disc manufacturing entity
284 Information recording medium
291,292 Cryptographic processing unit
293,295 Cryptographic processing part
294 arithmetic unit
300 cryptographic processing units
301 Control data
302 First TS packet
303,342 Subsequent TS packet
304 Encrypted TS packet
305 Decoded TS packet group
306 Decoded TS packet
311 321 331 Seed information (seed 1)
312,322,332 seed information (seed 2)
341 Second TS packet
350 cryptographic processing units
351 control data
352 First TS packet
353,392 Subsequent TS packet
354 Decrypted TS packet
355 Decoded TS packet group
361, 371, 381 Seed information (seed 1)
362, 372, 382 Seed information (seed 2)
391 Second TS packet
410 Information processing apparatus
411 interface
420 Information recording medium drive device
421 interface
430 Information recording medium
500 Information processing device
510 Information recording medium drive
511 Master key
520 Information recording medium
521 Disk ID
523,524 Title key
525 record seed
526 physical index
527 seed information
528 Encrypted content
530,540 Authentication key
550 Third encryption key K3
600 cryptographic processing units
601 Control data
602 First TS packet
603 Subsequent TS packet
604 Encrypted TS packet
605 Encrypted TS packet
606 Encrypted TS packet
607 Decoded TS packet group
608 Decoded TS packet
610 Decrypted TS packet
611, 621, 631 Seed information (seed 1)
612, 622, 632 Seed information (seed 2)
641 Second TS packet
650 Information processing apparatus
660 Information recording medium drive
611 Master key
670 Information recording medium
671 Disc ID
672 Title key
673 physical index
674 Seed information
675 encrypted content
680, 690 authentication key
685 Third encryption key K3
701 Encrypted user data
702 Encrypted user data
703 User data
704 Third encryption key Ks (K3)
711 Control data

Claims (4)

暗号化データの復号処理を実行する暗号処理部を有する情報処理装置であり、
マスターキー生成情報を格納した記憶手段を有し、
前記暗号処理手段は、
前記マスターキー生成情報に基づいてマスターキーを生成し、該生成したマスターキーと前記情報記録媒体からの読み出し情報とに基づいて、2つの記録キーK1,K2を生成し、生成した第1記録キーK1と、前記情報記録媒体に格納された暗号化データを構成する暗号化処理単位毎に設定された第1鍵生成情報としての第1シードとに基づくデータ処理により第1ブロックキーKb1を生成し、生成した第1ブロックキーKb1を適用して、第2鍵生成情報としての第2シードを暗号化して格納した第2シード格納暗号化データ領域の第1の復号処理を実行して第2シードを取得し、取得した第2シードと第2記録キーK2とに基づくデータ処理により第2ブロックキーKb2を生成し、生成した第2ブロックキーKb2に基づく復号処理により前記情報記録媒体に格納された暗号化データの復号処理を実行し、前記第2シード格納暗号化データ領域に対して、前記第1ブロックキーKb1、および前記第2ブロックキーKb2と異なる第3の暗号鍵K3を適用した復号処理により、前記第2シード格納暗号化データ領域の第2の復号処理を実行して前記第2シード格納暗号化データ領域の復号データを取得する構成を有することを特徴とする情報処理装置。
An information processing apparatus having an encryption processing unit that performs decryption processing of encrypted data,
Having storage means for storing master key generation information;
The cryptographic processing means includes
A master key is generated based on the master key generation information, two recording keys K1, K2 are generated based on the generated master key and information read from the information recording medium, and the generated first recording key and K1, the information recording first block key Kb1 Ri by the data processing based on a first seed of a first key generation information set for each encryption processing unit constituting the encrypted data stored in the medium Generate the first block key Kb1 and execute the first decryption process of the second seed storage encrypted data area in which the second seed as the second key generation information is encrypted and stored . get the second seed, acquired second generates a seed and a second block key Kb2 Ri by the data processing based on the second recording key K2, generated decoded processing based on the second block key Kb2 The information stored in the recording medium is to execute decryption of the encrypted data, to the second seed stored encrypted data area, the first block key Kb 1, and the second block key Kb2 different third by of the application the decryption encryption key K3, to have a configuration which performs a second decoding process of the second seed stored encrypted data area to obtain the decoded data of the second seed stored encrypted data area information processing apparatus shall be the features.
暗号化データの復号処理を実行する暗号処理部を有する情報処理装置であり、
マスターキー生成情報を格納した記憶手段を有し、
前記暗号処理手段は、
前記マスターキー生成情報に基づいてマスターキーを生成し、該生成したマスターキーと前記情報記録媒体からの読み出し情報とに基づいて、2つの記録キーK1,K2を生成し、生成した第1記録キーK1と前記情報記録媒体に格納された暗号化データを構成する暗号化処理単位毎に設定された第1鍵生成情報としての第1シードとに基づくデータ処理により第1ブロックキーKb1を生成し、生成した第1ブロックキーKb1を適用して、第2鍵生成情報としての第2シードを暗号化して格納した第2シード格納暗号化データ領域の第1の復号処理と、前記第2シード格納暗号化データ領域に対して、前記第1ブロックキーKb1、および前記第2ブロックキーKb2と異なる第3の暗号鍵K3に基づく前記第2シード格納暗号化データ領域の第2の復号処理を実行して第2シードを取得し、取得した第2シードと第2記録キーK2とに基づくデータ処理により前記第2ブロックキーKb2を生成し、生成した第2ブロックキーKb2に基づく復号処理により前記情報記録媒体に格納された暗号化データの復号処理を実行する構成を有することを特徴とする情報処理装置。
An information processing apparatus having an encryption processing unit that performs decryption processing of encrypted data,
Having storage means for storing master key generation information;
The cryptographic processing means includes
A master key is generated based on the master key generation information, two recording keys K1, K2 are generated based on the generated master key and information read from the information recording medium, and the generated first recording key K1 and generates the information recording first block key Kb1 Ri by the data processing based on a first seed of a first key generation information set for each encryption processing unit constituting the encrypted data stored in the medium And applying the generated first block key Kb1 to encrypt the second seed as the second key generation information and storing it in the second seed storage encrypted data area, and the second seed against stored encrypted data area, the first block key Kb 1, and the second block key Kb2 different third of the second seed stored encrypted data based on the encryption key K3 The second decryption process is executed to obtain the second seed, the second block key Kb2 is generated by the data processing based on the obtained second seed and the second recording key K2, and the generated second block information processing apparatus by the decoding process based on the key Kb2 you characterized by having a configuration that executes decryption processing of the encrypted data stored in the information recording medium.
情報記録媒体に格納された暗号化データの復号処理を実行する情報処理装置における情報処理方法であり、
前記情報処理装置内の記憶部に格納されたマスターキー生成情報に基づいてマスターキーを生成し、生成したマスターキーと前記情報記録媒体からの読み出し情報とに基づいて、2つの記録キーK1,K2を生成し、生成した第1記録キーK1と、情報記録媒体に格納された暗号化データを構成する暗号化処理単位毎に設定された第1鍵生成情報としての第1シードとに基づくデータ処理により第1ブロックキーKb1を生成し、生成した第1ブロックキーKb1を適用して、第2鍵生成情報としての第2シードを暗号化して格納した第2シード格納暗号化データ領域の第1の復号処理を実行して第2シードを取得し、取得した第2シードと第2記録キーK2とに基づくデータ処理により第2ブロックキーKb2を生成し、生成した第2ブロックキーKb2に基づく復号処理により前記情報記録媒体に格納された暗号化データの復号処理を実行し、前記第2シード格納暗号化データ領域に対して、前記第1ブロックキーKb1、および前記第2ブロックキーKb2と異なる第3 の暗号鍵K3を適用した復号処理により、前記第2シード格納暗号化データ領域の第2の復号処理を実行して前記第2シード格納暗号化データ領域の復号データを取得するステップを有することを特徴とする情報処理方法。
An information processing method in an information processing apparatus for performing decryption processing of encrypted data stored in an information recording medium,
A master key is generated based on master key generation information stored in a storage unit in the information processing apparatus, and two recording keys K1, K2 are generated based on the generated master key and information read from the information recording medium. Data processing based on the generated first recording key K1 and the first seed as the first key generation information set for each encryption processing unit constituting the encrypted data stored in the information recording medium I Ri generates a first block key Kb1 on, by applying the first block key Kb1 generated, the second seed stored encrypted data region of the second seed as the second key generation information may be encrypted and stored in run the first decoding process obtains the second seed, acquired second generates a seed and a second block key Kb2 Ri by the data processing based on the second recording key K2, generated second Bro And executes decryption processing of the encrypted data stored in the information recording medium by the decoding process based on Kuki Kb2, with respect to the second seed stored encrypted data area, the first block key Kb 1, and the second block By performing a decryption process using a third encryption key K3 different from the key Kb2 , the second decryption process of the second seed storage encrypted data area is executed to obtain the decrypted data of the second seed storage encrypted data area information processing method characterized by the step of.
情報記録媒体に格納された暗号化データの復号処理を実行する情報処理装置における情報処理方法であり、
前記情報処理装置内の記憶部に格納されたマスターキー生成情報に基づいてマスターキーを生成し、生成したマスターキーと前記情報記録媒体からの読み出し情報とに基づいて、2つの記録キーK1,K2を生成し、生成した第1記録キーK1と前記情報記録媒体に格納された暗号化データを構成する暗号化処理単位毎に設定された第1鍵生成情報としての第1シードとに基づくデータ処理により第1ブロックキーKb1を生成し、生成した第1ブロックキーKb1を適用して、第2鍵生成情報としての第2シードを暗号化して格納した第2シード格納暗号化データ領域の第1の復号処理と、前記第2シード格納暗号化データ領域に対して、前記第1ブロックキーKb1、および前記第2ブロックキーKb2と異なる第3の暗号鍵K3に基づく前記第2シード格納暗号化データ領域の第2の復号処理を実行して第2シードを取得し、取得した第2シードと第2記録キーK2とに基づくデータ処理により前記第2ブロックキーKb2を生成し、生成した第2ブロックキーKb2に基づく復号処理により前記情報記録媒体に格納された暗号化データの復号処理を実行するステップを有することを特徴とする情報処理方法。
An information processing method in an information processing apparatus for performing decryption processing of encrypted data stored in an information recording medium,
A master key is generated based on master key generation information stored in a storage unit in the information processing apparatus, and two recording keys K1, K2 are generated based on the generated master key and information read from the information recording medium. Data processing based on the generated first recording key K1 and the first seed as the first key generation information set for each encryption processing unit constituting the encrypted data stored in the information recording medium I Ri generates a first block key Kb1 on, by applying the first block key Kb1 generated, the second seed stored encrypted data region of the second seed as the second key generation information may be encrypted and stored in based first decoding process and, with respect to the second seed stored encrypted data area, the first block key Kb 1, and a different third encryption key K3 and the second block key Kb2 The second seed storage encrypted data area is subjected to a second decryption process to obtain a second seed, and the second block key Kb2 is obtained by a data process based on the obtained second seed and the second recording key K2. produced, information processing method you characterized in that the generated second based on the block key Kb2 decoding process has the step of executing a decryption process of the encrypted data stored in the information recording medium.
JP2003141970A 2003-05-20 2003-05-20 Information processing apparatus, information recording medium drive apparatus, information recording medium, information processing method, and computer program Expired - Fee Related JP4114538B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003141970A JP4114538B2 (en) 2003-05-20 2003-05-20 Information processing apparatus, information recording medium drive apparatus, information recording medium, information processing method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003141970A JP4114538B2 (en) 2003-05-20 2003-05-20 Information processing apparatus, information recording medium drive apparatus, information recording medium, information processing method, and computer program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008010197A Division JP4710910B2 (en) 2008-01-21 2008-01-21 Information processing apparatus, information recording medium drive apparatus, and information processing method

Publications (2)

Publication Number Publication Date
JP2004348793A JP2004348793A (en) 2004-12-09
JP4114538B2 true JP4114538B2 (en) 2008-07-09

Family

ID=33530187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003141970A Expired - Fee Related JP4114538B2 (en) 2003-05-20 2003-05-20 Information processing apparatus, information recording medium drive apparatus, information recording medium, information processing method, and computer program

Country Status (1)

Country Link
JP (1) JP4114538B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4774734B2 (en) * 2004-12-14 2011-09-14 ソニー株式会社 Information processing apparatus, information recording medium, information processing method, and computer program
JP2009044481A (en) * 2007-08-09 2009-02-26 Ricoh Co Ltd Data processing apparatus and image forming apparatus

Also Published As

Publication number Publication date
JP2004348793A (en) 2004-12-09

Similar Documents

Publication Publication Date Title
JP4605011B2 (en) Information recording medium drive device
JP4576936B2 (en) Information processing apparatus, information recording medium, content management system, data processing method, and computer program
JP4715233B2 (en) Information processing apparatus, information recording medium manufacturing method, and computer program
JP4734906B2 (en) Information processing apparatus, information recording medium, information processing method, and computer program
JP4701748B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
US20060150251A1 (en) Information recording medium, data processing method, and computer program
JP4114605B2 (en) Information processing apparatus, information recording medium, information processing method, and computer program
JP4569228B2 (en) Data processing method, information recording medium manufacturing management system, recording data generation apparatus and method, and computer program
KR101201421B1 (en) Information processing device, contents management system, information recording medium, information processing method, and computer-readable recording medium
JP3979350B2 (en) Information recording medium drive apparatus, information processing apparatus, data reproduction control system and method, and computer program
JP4114538B2 (en) Information processing apparatus, information recording medium drive apparatus, information recording medium, information processing method, and computer program
JP4710910B2 (en) Information processing apparatus, information recording medium drive apparatus, and information processing method
JP2004022104A (en) Signal processing device, signal processing method, and storage medium
JP4774734B2 (en) Information processing apparatus, information recording medium, information processing method, and computer program
JP2004342246A (en) Information processor, information recording medium, system and method for managing contents, and computer program
JP5170229B2 (en) Information processing apparatus, information processing method, and computer program
JP2005522754A (en) Apparatus and method for rendering user data
JP2007286938A (en) Information processor, information processing method, program, and recording medium
JP4161896B2 (en) Information processing apparatus, information recording medium, information processing method, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080407

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

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120425

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees