JP2005252866A - 情報処理装置、および認証処理方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置、および認証処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2005252866A
JP2005252866A JP2004062959A JP2004062959A JP2005252866A JP 2005252866 A JP2005252866 A JP 2005252866A JP 2004062959 A JP2004062959 A JP 2004062959A JP 2004062959 A JP2004062959 A JP 2004062959A JP 2005252866 A JP2005252866 A JP 2005252866A
Authority
JP
Japan
Prior art keywords
authentication
host
data
information
drive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004062959A
Other languages
English (en)
Other versions
JP4576853B2 (ja
Inventor
Satoshi Kitani
聡 木谷
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 JP2004062959A priority Critical patent/JP4576853B2/ja
Priority to US11/072,055 priority patent/US7565691B2/en
Priority to TW094106682A priority patent/TW200540825A/zh
Priority to CNB2005100762167A priority patent/CN100365595C/zh
Publication of JP2005252866A publication Critical patent/JP2005252866A/ja
Application granted granted Critical
Publication of JP4576853B2 publication Critical patent/JP4576853B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00188Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised devices recording or reproducing contents to/from a record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00253Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier
    • G11B20/00297Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier the key being stored in a management area, e.g. the video manager [VMG] of a DVD
    • G11B20/00304Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier the key being stored in a management area, e.g. the video manager [VMG] of a DVD the key being stored in the lead-in area [LIA]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00253Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier
    • G11B20/00362Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier the key being obtained from a media key block [MKB]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/00492Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/605Copy protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91307Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal
    • H04N2005/91342Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal the copy protection signal being an authentication signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91357Television signal processing therefor for scrambling ; for copy protection by modifying the video signal
    • H04N2005/91364Television signal processing therefor for scrambling ; for copy protection by modifying the video signal the video signal being scrambled

Abstract

【課題】 機器間でのデータ転送を伴うデータ処理におけるコンテンツの不正取得や利用を防止可能とした認証を実行する装置および方法を提供する。
【解決手段】 認証相手機器の公開鍵証明書の格納データからセキュア認証チャネル(SAC)タイプ情報を取得し、認証相手とのデータ転送において適用するチャネルタイプを確認し、チャネルタイプに基づいて認証成立の可否を判定する。例えばホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)適用のデータ処理を行なうホスト−デバイスタイプであることの確認を認証成立の条件とした。本構成により、例えば、他のタイプのチャネルを適用するアプリケーションやドライブが不正な鍵情報を有し認証を成立させてコンテンツを不正に入手するなどの処理の排除が可能となる。
【選択図】 図16

Description

本発明は、情報処理装置、および認証処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細にはコンテンツ不正利用の防止を実現する情報処理装置、および認証処理方法、並びにコンピュータ・プログラムに関する。
近年、DVDや、青色レーザーディスク(Blu−ray Disc)など、大容量のデータを格納可能なディスクが利用、開発されており、大容量データである高精細画像、高品質音声の保存、再生が可能となっている。また、これらの大容量記録媒体の再生環境として、従来のコンシューマ用記録再生装置だけでなく、高性能なCPUやビデオカードを搭載したパーソナルコンピュータ(PC)、その他の情報再生装置も、様々開発され、利用が進んでいる。
例えば、PCにおいてコンテンツ再生を行う際の問題として、コンテンツの著作権保護が挙げられる。音楽データ、画像データ等、多くのコンテンツは、一般的にその作成者あるいは販売者に頒布権等が保有されている。従って、これらのコンテンツの配布に際しては、一定の利用制限、すなわち、正規なユーザに対してのみ、コンテンツの利用を許諾し、許可のない複製等が行われないようにする構成をとるのが一般的となっている。
特に、デジタル記録装置および記録媒体によれば、画像や音声を劣化させることなく記録、再生を繰り返すことが可能であり、不正コピーされたコンテンツのインターネットを介した配信や、CD−R、DVD等の記録媒体にコンテンツをコピーした海賊版ディスクの流通という問題が発生している。
DVDや青色レーザディスク等の大容量型記録媒体には、著作権の保護対象となる様々な映像情報、音楽情報がデジタルデータとして格納されて市場に流通する。このようなデジタルデータを記録した媒体を市場に流通させる場合には、不正コピーを防止し著作権者の保護を図る構成が必須となる。昨今では、このようなデジタルデータの不正なコピーを防ぐため、デジタル記録装置および記録媒体に違法なコピーを防止するための様々な技術が実用化されている。
例えば、DVDプレーヤでは、コンテンツ・スクランブルシステム(CSS:Content Scramble System)が採用されている。コンテンツ・スクランブルシステムでは、記録媒体、例えばDVD−ROM(Read Only Memory)に、ビデオデータやオーディオデータ等が暗号化されて記録されており、その暗号化されたデータの復号に用いる鍵をライセンスを受けたプレーヤのみに与える。ライセンスは、不正コピーを行わない等の所定の動作規定に従うように設計されたプレーヤに対してのみ与えられる。従って、ライセンスを受けたプレーヤでは、与えられたキーを利用して、情報記録媒体に記録された暗号化データを復号することにより画像や音声を再生することができる。
一方、ライセンスを受けていないプレーヤは、暗号化されたデータを復号するための鍵を有していないため、情報記録媒体に記録された暗号化データの復号を行うことができない。このように、コンテンツ・スクランブルシステム(CSS)は、正規のライセンスを持つプレーヤのみのコンテンツ利用を許容するシステムを提供している。
しかし、このコンテンツ・スクランブルシステム(CSS)は、確実なコンテンツの不正利用の排除ができないという問題がある。特に、情報記録媒体を装着したドライブからコンテンツをPCなどの情報処理装置に出力して再生する処理において、コンテンツの不正利用が行われ得るという問題点が発生する。以下、この問題点について図面を参照して説明する。
図1にコンテンツ・スクランブルシステム(CSS)を採用したコンテンツを格納した情報記録媒体の格納データ例と、再生機器(プレーヤ)の処理を示す。
図1に示す情報記録媒体10は、例えばDVDビデオディスクであり、情報記録媒体10には、暗号化ディスクキー(Secured Disc Key)11、情報記録媒体10に格納されたコンテンツのタイトル対応の暗号化タイトルキー12、CSS方式に基づくスクランブル処理のなされたコンテンツとしてスクランブルMPEGデータ13が格納されている。
情報記録媒体10を装着してコンテンツ再生を実行する再生機器20、例えばDVDプレーヤは、再生機器20に格納されたマスターキーを適用し、ステップS11において、情報記録媒体10から取得した暗号化ディスクキー(Secured Disc Key)11の復号処理を実行し、ディスクキーを取得し、ステップS12において取得したディスクキーを適用して情報記録媒体10から取得した暗号化タイトルキー12の復号処理を実行してタイトルキーを取得し、取得したタイトルキーを適用してステップS13において、スクランブルMPEGデータ13のスクランブル解除処理を実行した後、ステップS14においてMPEGデコード処理を実行して音声/映像データ25を再生する。
次に、PC等のホスト装置に付設あるいは接続されたドライブからコンテンツをホスト(PC)側に入力し、ホスト側のプレーヤ・アプリケーションによってコンテンツ再生を行なう処理シーケンスについて図2を参照して説明する。
図2に示すように、情報記録媒体を装着したドライブ30とホスト(PC)側のプレーヤ・アプリケーション40間で、図に示すステップS31,S41において、相互認証および鍵共有(AKE:Authentication and Key Exchange)を実行する。相互認証処理は、例えば公開鍵暗号方式または共通鍵暗号方式に従ったアルゴリズムに従って実行される。相互認証においてセッションキーが生成され、ドライブ30とホスト側のプレーヤ・アプリケーション40がセッションキーを共有する。
ドライブ30は、ステップS32において、セッションキーを適用して情報記録媒体10から取得した暗号化ディスクキー11の再暗号化を実行して、プレーヤ・アプリケーション40に送信し、また、ステップS33においてセッションキーを適用して情報記録媒体から取得した暗号化タイトルキー12の再暗号化を実行して、プレーヤ・アプリケーション40に送信する。ドライブ30と、プレーヤ・アプリケーション40の実行装置としてのPCは接続バス、例えばATAPIバス(AT Attachement with Packet Interface BUS)によって接続されており、接続バスを介してこれらの暗号化鍵情報がPCのプレーヤ・アプリケーション40側に送信される。
さらに、ドライブ30は、情報記録媒体から取得し、CSS方式に基づくスクランブル処理のなされたコンテンツであるスクランブルMPEGデータ13を、ドライブとPC間の接続バスを介してPC側に出力する。
ホスト(PC)側のプレーヤ・アプリケーション40は、ステップS42において、セッションキーを用いて、ドライブ30から受領した暗号化ディスクキー11のセッションキーによる再暗号化データを復号して暗号化ディスクキー11を取得し、さらに、ステプS43において、ドライブ30から受領した暗号化タイトルキー12のセッションキーによる再暗号化データを復号して暗号化タイトルキー12を取得する。
その後のステップS51〜S55の処理は、先に図1を参照して説明した処理(S11〜S14)と同様の処理となる。
この図2に示す処理におけるドライブ側の処理をフローで示した図を図3に示す。ステップS61において情報記録媒体(ディスク)が挿入されたと判定されると、ステップS62において、ホスト、すなわち図2に示すプレーヤ・アプリケーション40を実行するPCと相互認証および鍵共有(AKE:Authentication and Key Exchange)を実行する。
相互認証および鍵共有(AKE)に成功(ステップS63:Yes)すると、ドライブに装着した情報記録媒体の格納コンテンツであるCSSスクランブルデータの出力が許可された状態に移行し、このCSSスクランブルデータの出力許可状態が、情報記録媒体が排出されるまで、あるいは電源がオフされるまで継続されることになる。
このように、PC等のホスト装置に付設あるいは接続されたドライブからコンテンツをホスト(PC)側に入力し、ホスト側のプレーヤ・アプリケーションによってコンテンツ再生を行なう場合には、ホスト側のプレーヤ・アプリケーションとドライブ間で認証が実行されてセキュアなデータ転送が行なわれる。情報記録媒体(ディスク)に対するデータ記録の際にも、ホスト側のプレーヤ・アプリケーションとドライブ間で認証が実行されてセキュアなデータ転送が行なわれる。
しかしながら、相互認証処理は、特定のシーケンスに従った処理として実行され、所定の条件を見たすことで認証は成立する。例えば公開鍵暗号方式に従った相互認証アルゴリズムでは、相互認証を実行する機器が、無効化されていない公開鍵と秘密鍵のペアを有するという条件を満足することで認証が成立する。
公開鍵は、所定の管理センタが発行する公開鍵証明書に格納され、管理センタの電子署名が付与されて改竄は困難である。また、不正なコピー鍵の流出など不正処理が発見された場合には、管理センタにおける管理の下に発行済みの公開鍵証明書を無効化(リボーク)する処理が行われる。この無効化(リボーク)処理において、管理センタは無効化された公開鍵証明書の識別子(ID)をリスト化したリボークリスト(CRL:Certificate Revocation List)を発行する。
公開鍵暗号方式に従った相互認証を実行する機器は、最新の更新されたリボークリストをネットワークや記録媒体などを介して入手し、認証処理を実行する際に、入手したリボークリストを参照して、認証相手の公開鍵証明書の有効性を判定し、相手機器の公開鍵証明書のIDがリボークリストに記録されている場合は、不正な公開鍵証明書であると判定し、認証を不成立とするといった処置を行なうことができる。
しかし、リボークリストに基づく不正な鍵情報の利用排除までには相当の時間がかかり、その間は、コンテンツの不正利用を防止できないという問題がある。例えば公開鍵と秘密鍵の漏洩などにより不正な公開鍵と秘密鍵を利用した不正処理が行なわれた後、管理センタによる不正処理の確認がなされ、その後リボークリストへの登録処理がなされて、更新されたリボークリストが各デバイスに対して配布されて始めて、その後の認証処理において更新されたリボークリストによる不正鍵の排除が可能となる。
これらの処理が完了するまでには数ヶ月を要することも多い。また、管理センタによる漏洩の確認がなされず、不正に流通した鍵情報が放置されたままとなってしまうこともある。
従って、上述のドライブとホストアプリケーション間の認証成立を条件としたコンテンツ利用構成において、ドライブ、またはホストアプリケーションのいずれかが不正に入手した公開鍵証明書と秘密鍵のペアを有し、認証処理においてリボークリストでの不正確認ができない場合には、相互認証が成立してしまい、不正な鍵を持つドライブまたはホストアプリケーションがコンテンツを不正に入手し、利用してしまうという事態が発生し得る。
具体的な例について、図4、図5を参照して説明する。図4は、ドライブ60とホスト側のプレーヤ・アプリケーション70との間で公開鍵暗号アルゴリズムに基づく相互認証を実行し、相互認証の成立を条件としてドライブ60に装着した情報記録媒体60からコンテンツを読み出してプレーヤ・アプリケーション70において、再生、利用する処理を示している。
ここで、ホスト側のプレーヤ・アプリケーション70は不正に入手した公開鍵PHと秘密鍵SHとからなる不正鍵71を有しているものとする。なお、公開鍵PHは、公開鍵証明書に格納されている。ただし、管理センタの発行するリボークリストにはまだ記録されておらず、リボークリストに基づく排除はできない状態にある。
この状態で、ドライブ60とホスト側のプレーヤ・アプリケーション70との間で公開鍵暗号アルゴリズムに基づく相互認証および鍵交換処理(AKE:Authentication and Key Exchenge)(ステップS81)を実行する。相互認証および鍵交換処理(AKE)は、相互認証処理とセッションキー(Ks)の共有を行なう処理である。セッションキー(ks)は、認証機器間で実行するデータ通信の際の暗号鍵として利用される。
ステップS81の相互認証および鍵交換処理(AKE)において、ドライブ60とホスト側のプレーヤ・アプリケーション70の双方は、公開鍵を格納した公開鍵証明書を交換し、公開鍵証明書の署名検証や、リボークリストに基づくリボーク確認を行って正当性を確認する。
ドライブ60は、プレーヤ・アプリケーション70から受領した公開鍵証明書の署名検証と、リボークリストに基づくリボーク確認を行って正当性を確認する。プレーヤ・アプリケーション70の公開鍵は、不正な鍵であるが、この時点で、リボークリストには記録されていないので、ドライブ60は、正当な公開鍵であると判断し、相互認証は成立する。
その後、ドライブ60は、ステッブS82およびステップS83において、情報記録媒体50から読み出した暗号化コンテンツと暗号化コンテンツの暗号化キーであるコンテンツキー(Kc)をセッションキー(Ks)で暗号化してプレーヤ・アプリケーション70に出力する。
プレーヤ・アプリケーション70は、ステップS84と、ステップS85において、ドライブ60からの受信データを、セッションキー(Ks)を適用して復号し、暗号化コンテンツとコンテンツキー(Kc)を取得し、ステップS86において、コンテンツキー(Kc)を適用して暗号化コンテンツの復号を実行してコンテンツを取得することができる。
このように、不正に入手した鍵であっても、リボークリストに登録されていない間は、不正であることが分からないので、認証が成立し、情報記録媒体50に格納された著作権管理、利用管理のなされたコンテンツが不正なアプリケーションによって、不正に読み出されて利用されてしまう。
図5は、ドライブ60側が不正な鍵情報[SD,PD]61を持つ場合のコンテンツの不正利用例を示している。
ステップS91の相互認証および鍵交換処理(AKE)において、ドライブ60とホスト側のプレーヤ・アプリケーション70の双方は、公開鍵を格納した公開鍵証明書を交換し、公開鍵証明書の署名検証や、リボークリストに基づくリボーク確認を行って正当性を確認する。プレーヤ・アプリケーション70は、ドライブ60から受領した公開鍵証明書の署名検証と、リボークリストに基づくリボーク確認を行って正当性を確認する。ドライブ60の公開鍵は、不正な鍵であるが、この時点で、リボークリストには記録されていないので、プレーヤ・アプリケーション70は、正当な公開鍵であると判断し、相互認証は成立する。
その後、プレーヤ・アプリケーション70は、ステッブS92において、例えばネットワークから正規な手続きで取得したコンテンツを、やはり正規な手続きで取得したコンテンツキー(Kc)を適用して暗号化して、さらに、ステップS93およびステップS94において、暗号化コンテンツと暗号化コンテンツの暗号化キーであるコンテンツキー(Kc)をセッションキー(Ks)で暗号化してドライブ60に出力する。
ドライブ60は、ステップS95と、ステップS96において、プレーヤ・アプリケーション70からの受信データを、セッションキー(Ks)を適用して復号し、暗号化コンテンツとコンテンツキー(Kc)を取得し、ステップS97において、コンテンツキー(Kc)を適用して暗号化コンテンツの復号を実行してコンテンツを取得し、例えばCD−Rなどの記録媒体にコンテンツを記録する。
このように、不正に入手した鍵であっても、リボークリストに登録されていない間は、不正であることが分からないので、認証が成立し、プレーヤ・アプリケーション70が正規な手続きで外部から取得したコンテンツを不正なドライブが入手し、CD−Rなどの不正なコンテンツ記録媒体を生成することが可能となる。
このように、現状のリボークリストに基づく不正鍵の排除構成のみでは、コンテンツの不正利用を完全に防止することは困難であるというのが現状である。
本発明は、上述の問題点に鑑みてなされたものであり、リボークリストによる鍵情報の検証ができない場合においても、認証相手の鍵情報の正当性を厳格に審査することを可能とし、コンテンツの不正利用を排除することを可能とした情報処理装置、および認証処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
情報処理装置であり、
データ転送処理を行なうインタフェースと、
データ処理を実行するデータ処理部とを有し、
前記データ処理部は、
前記インタフェースを介したデータ転送を伴うデータ処理の実行条件として、データ転送対象との認証処理を実行し、該認証処理において認証相手の保持する公開鍵証明書の格納データに基づいて、データ転送において適用するチャネルタイプを確認し、該チャネルタイプに基づいて認証成立の可否を判定する構成であることを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、認証相手の保持する公開鍵証明書の格納データとしてのセキュア認証チャネル(SAC)タイプ情報に基づいて、公開鍵証明書に設定されたチャネルタイプが、ホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認し、該確認に基づいて認証の成立可否を判定する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、認証相手の保持する公開鍵証明書の格納データとしてのセキュア認証チャネル(SAC)タイプ情報に基づいて、公開鍵証明書に設定されたチャネルタイプが、ATAPIバス接続、またはUSBバス接続、またはIEEE1394におけるシリアルバスプロトコル(SBP)を適用したセキュアチャネルを適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認し、該確認に基づいて認証の成立可否を判定する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記認証処理において、認証相手の保持する公開鍵証明書の格納データに基づいて、さらに認証相手のデバイスタイプを確認し、該デバイスタイプに基づいて認証の成立可否を判定する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記デバイスタイプは、アプリケーション実行機器としてのホストであるか、情報記録媒体に対するデータ記録処理または再生処理を実行するドライブであるかのいずれかを示す情報であり、前記データ処理部は、予め定めた認証条件としてのデバイスタイプに基づいて認証の成立可否を判定する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、ドライブとの接続を行い、アプリケーションを実行するホスト機器であり、前記データ処理部は、前記認証処理において、ドライブから受領する公開鍵証明書の格納データに基づいて、前記ドライブが、ホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したホスト−デバイスタイプのデータ処理を実行するドライブであることの確認であるSACタイプ確認と、デバイスタイプがドライブであることの確認であるデバイスタイプ確認と、上記2つの確認を認証成立の条件とした認証処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、アプリケーションを実行するホスト機器と接続し、情報記録媒体に対するデータ記録または読み取りを実行するドライブであり、前記データ処理部は、前記認証処理において、アプリケーションを実行するホストから受領する公開鍵証明書の格納データに基づいて、前記アプリケーションが、ホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したホスト−デバイスタイプのデータ処理を実行するアプリケーションであることのSACタイプ確認と、デバイスタイプがホストであることの確認であるデバイスタイプ確認と、上記2つの確認を認証成立の条件とした認証処理を実行する構成であることを特徴とする。
さらに、本発明の第2の側面は、
認証処理方法であり、
認証相手の保持する公開鍵証明書を取得する公開鍵証明書取得ステップと、
前記公開鍵証明書の格納データからチャネルタイプ情報を取得する情報取得ステップと、
前記チャネルタイプ情報に基づいて、認証相手とのデータ転送において適用するチャネルタイプを確認するチャネルタイプ確認ステップと、
前記チャネルタイプ確認ステップにおいて確認したチャネルタイプに基づいて認証成立の可否を判定する認証可否判定ステップと、
を有することを特徴とする認証処理方法にある。
さらに、本発明の認証処理方法の一実施態様において、前記チャネルタイプ確認ステップは、公開鍵証明書の格納データとしてのセキュア認証チャネル(SAC)タイプ情報に基づいて、公開鍵証明書に設定されたチャネルタイプが、ホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認するステップであることを特徴とする。
さらに、本発明の認証処理方法の一実施態様において、前記チャネルタイプ確認ステップは、公開鍵証明書の格納データとしてのセキュア認証チャネル(SAC)タイプ情報に基づいて、公開鍵証明書に設定されたチャネルタイプが、ATAPIバス接続、またはUSBバス接続、またはIEEE1394におけるシリアルバスプロトコル(SBP)を適用したセキュアチャネルを適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認するステップであることを特徴とする。
さらに、本発明の認証処理方法の一実施態様において、前記認証処理方法は、さらに、認証相手の保持する公開鍵証明書の格納データに基づいて、さらに認証相手のデバイスタイプを確認するデバイスタイプ確認ステップを有し、前記認証可否判定ステップは、前記チャネルタイプ確認ステップにおいて確認したチャネルタイプと、前記デバイスタイプ確認ステップにおいて確認したデバイスタイプとに基づいて認証成立の可否を判定するステップであることを特徴とする。
さらに、本発明の認証処理方法の一実施態様において、前記デバイスタイプは、アプリケーション実行機器としてのホストであるか、情報記録媒体に対するデータ記録処理または再生処理を実行するドライブであるかのいずれかを示す情報であり、前記認証可否判定ステップは、予め定めた認証条件としてのデバイスタイプに基づいて認証の成立可否を判定することを特徴とする。
さらに、本発明の認証処理方法の一実施態様において、前記認証処理は、ドライブとの接続を行い、アプリケーションを実行するホスト機器において実行する認証処理であり、前記ホスト機器は、ドライブから取得した公開鍵証明書の格納データに基づいて、前記ドライブが、ホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したホスト−デバイスタイプのデータ処理を実行するドライブであることの確認であるSACタイプ確認と、デバイスタイプがドライブであることの確認であるデバイスタイプ確認と、上記2つの確認を認証成立の条件とした認証処理を実行することを特徴とする。
さらに、本発明の認証処理方法の一実施態様において、前記認証処理は、アプリケーションを実行するホスト機器と接続し、情報記録媒体に対するデータ記録または読み取りを実行するドライブにおいて実行する認証処理であり、前記ドライブは、アプリケーションを実行するホストから受領した公開鍵証明書の格納データに基づいて、前記アプリケーションがホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したホスト−デバイスタイプのデータ処理を実行するアプリケーションであることのSACタイプ確認と、デバイスタイプがホストであることの確認であるデバイスタイプ確認と、上記2つの確認を認証成立の条件とした認証処理を実行することを特徴とする。
さらに、本発明の第3の側面は、
認証処理を実行するコンピュータ・プログラムであり、
認証相手の保持する公開鍵証明書を取得する公開鍵証明書取得ステップと、
前記公開鍵証明書の格納データからチャネルタイプ情報を取得する情報取得ステップと、
前記チャネルタイプ情報に基づいて、認証相手とのデータ転送において適用するチャネルタイプを確認するチャネルタイプ確認ステップと、
前記チャネルタイプ確認ステップにおいて確認したチャネルタイプに基づいて認証成立の可否を判定する認証可否判定ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記録媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の構成によれば、例えばコンテンツ再生処理や記録処理など機器間でのデータ転送を伴うデータ処理を実行する場合に、データ転送機器間において認証処理を実行し、この認証処理において認証相手機器の公開鍵証明書の格納データからチャネルタイプ情報を取得し、チャネルタイプ情報に基づいて適用するチャネルタイプを確認し、確認したチャネルタイプに基づいて認証成立の可否を判定する構成としたので、不正なアプリケーションやドライブが接続して、不正に取得した鍵によって認証を成立させて、コンテンツの転送を行なわせる処理を排除できる。例えばホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)適用のデータ処理を行なうホスト−デバイスタイプであることの確認を認証成立の条件としたので、例えば、他のタイプのチャネルを適用するアプリケーションやドライブが不正な鍵情報を有し認証を成立させてコンテンツを不正に入手するなどの処理を排除可能となる。
さらに、本発明の構成によれば、公開鍵証明書の格納データとしてのセキュア認証チャネル(SAC)タイプ情報に基づいて、公開鍵証明書に設定されたチャネルタイプが、ATAPIバス接続、またはUSBバス接続、またはIEEE1394におけるシリアルバスプロトコル(SBP)を適用したセキュアチャネルを適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認し、これらの確認処理を条件とした認証を行なう構成としたので、特定のセキュアチャネルを適用したデータ処理を実行するアプリケーションとドライブとの対応が成立した場合にのみチャネル間のデータ転送を伴うデータ処理が許容され、不正なアプリケーションやドライブの接続によるコンテンツの不正取得を排除することが可能となる。
さらに、本発明の構成によれば、認証相手の公開鍵証明書の格納データに基づいて、認証相手のデバイスタイプを確認する。具体的には、アプリケーション実行機器としてのホストであるか、情報記録媒体に対するデータ記録処理または再生処理を実行するドライブであるかのいずれかを確認し、チャネルタイプと、デバイスタイプとに基づいて認証成立の可否を判定する構成としたので、さらに厳格な認証が可能となり、不正なアプリケーションやドライブの接続によるコンテンツの不正取得を排除することが可能となる。
以下、図面を参照しながら本発明の情報処理装置、および認証処理方法、並びにコンピュータ・プログラムの詳細について説明する。なお、説明は、以下の記載項目に従って行う。
1.情報記録媒体の格納データ構成
2.コンテンツ対応のデータ処理
3.ホストおよびドライブを構成する情報処理装置の構成
[1.情報記録媒体の格納データ構成]
まず、情報記録媒体の格納データ構成について説明する。図6にコンテンツの格納された情報記録媒体の一例を示す。ここでは、コンテンツ格納済みディスクとしてのROMディスクの情報格納例を示す。
このROMディスクは、例えば、Blu−rayディスク、DVDなどの情報記録媒体であり、正当なコンテンツ著作権、あるいは頒布権を持ついわゆるコンテンツ権利者の許可の下にディスク製造工場において製造された正当なコンテンツを格納した情報記録媒体である。なお、以下の実施例では、情報記録媒体の例としてディスク型の媒体を例として説明するが、本発明は様々な態様の情報記録媒体の適用が可能である。
図6に示すように、情報記録媒体100は、コンテンツ等のデータを格納するデータ格納領域101と、ディスクおよび格納コンテンツに対応する付帯情報、コンテンツの復号処理に適用する鍵情報などを格納するリードイン領域102を持つ。
データ格納領域101には、暗号化(スクランブル)コンテンツ111と、暗号化コンテンツの復号処理に適用する鍵の生成に必要となる情報としての記録シード(REC SEED)であるユニットキー生成情報:Vu112、リボーク情報113が格納される。なお、スクランブル処理は、暗号化処理の一態様であり、本明細書ではスクランブルコンテンツの上位概念として、暗号化コンテンツという表現を用いる。暗号化コンテンツ111は、所定のユニット単位に区分され、ユニットに対応付けられたユニットキーを適用した暗号化がなされた状態で、情報記録媒体100のデータ格納領域101に格納される。ユニットキー生成情報:Vu112は、これらの各ユニットキーの生成に適用する情報でありシード情報とも呼ばれる。リボーク情報113については後述する。
リードイン領域102には、暗号化コンテンツ111の復号処理に適用する鍵の生成に必要となる各種情報が格納される。その1つは、ROMマーク:Ve114である。ROMマーク:Ve114は物理インデックス(Physical Index)とも呼ばれ、書き換えの不可能な固定情報である。リードイン領域102には、さらに、暗号鍵情報120が格納される。なお、ROMマーク:Ve114、暗号鍵情報120は必ずしもリードイン領域102に格納されることが必須ではなく、データ領域101に格納してもよい。
暗号鍵情報120は、前述のユニットキー生成情報:Vu112、ROMマーク:Ve114と同様、情報記録媒体のデータ格納領域101に格納された暗号化コンテンツ111の復号処理に適用する鍵を生成するための鍵情報(鍵生成情報)によって構成される。
すなわち、暗号化コンテンツ111の復号処理に適用する鍵として、例えば情報記録媒体に格納されたコンテンツに対応する鍵として設定されるメディアキー:Kmを取得するために必要となる暗号鍵ブロックであるRKB(Renewal Key Block)121と、暗号化コンテンツ111の復号処理に適用する鍵としてのディスクキー:Kdを、メディアキー:Kmを適用して暗号化した暗号化ディスクキーeKm(Kd)122とを含む情報である。なお、eKa(b)は、データ:bを鍵:Kaで暗号化したデータを示すものとする。
RKB(Renewal Key Block)121は、ブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックであり、情報記録媒体の再生を実行する正当なライセンスを保有するユーザ機器としての情報処理装置に配布されたデバイスキーを適用した復号処理によってメディアキー:Kmを取得可能とした暗号鍵ブロックである。暗号鍵ブロック:RKBの構成データを変更することにより、メディアキー:Kmを取得可能なユーザ機器を選別することが可能となる。
管理センタが、特定のユーザ機器あるいは再生アプリケーションを不正であると判定した場合は、RKBの構成を変更して、不正機器によるメディアキー:Kmの取得を不可能とすることが可能となる。なお、不正と判定されたユーザ機器あるいは再生アプリケーションはリボーク(排除)機器として管理センタに登録される。管理センタは、リボークされたユーザ機器あるいは再生アプリケーションの識別情報をリスト化したリボケーションリストを保持し、適宜更新する。ユーザは、最新のリボケーションリストを含むリボーク情報を情報記録媒体あるいはネットワークを介して入手することができる。
図6に示すリボーク情報113は、リボークされたユーザ機器あるいは再生アプリケーションの識別情報をリスト化したリボケーションリストを含む情報である。ユーザ機器は、例えばコンテンツを出力する機器が不正機器であるか否かを、機器から入力した機器識別子(ID)がリボークリストに記録されていないかを検証することにより判定することが可能であり、リボークリストに掲載された不正機器である場合は、コンテンツの出力を中止する処理を行なう。
次に、情報記録媒体100に格納される暗号化コンテンツ111の記録構成の詳細について、図7〜図9を参照して説明する。図7(a)が情報記録媒体に格納されるデータ記録構成である。18バイトのユーザ制御データ(UCD:User Control Data)と、実際のAVコンテンツデータなどを含む2048バイトのユーザデータ(User Data)が1つのセクタデータとして構成される。
図7(b)に示すように、例えばユーザデータ3セクタ分6144バイトのデータが1つのブロック暗号処理単位としての1ユニット(1AU:Aligned Unit)、すなわちブロックとして設定される。6144バイトのデータは、32TS(トランスポートストリーム)パケットに相当する。なお、ブロックの設定単位は、3セクタ分6144バイトのデータとする方式に限らず、1セクタ分2048バイトのデータを1つの暗号処理単位、すなわちブロックとして設定する方式など、様々な設定が可能である。
図7(c)に示すように、コンテンツに対応するコピー制御情報CCI(Copy Control Information)を格納したユーザデータは、2K(2048)バイト単位で暗号化されて記録される。
なお、18バイトのユーザ制御データ(User Control Data)は暗号化対象から除去され、ユーザデータのみが、暗号化されて記録される。
図8は、1つのセクタデータの構成を示している。1つのセクタデータは、18バイトのユーザ制御データ(UCD:User Control Data)と2048バイトのユーザデータ(User Data)からなる。
ユーザ制御データ(UCD:User Control Data)はセクタヘッダとも呼ばれ、その一部に、セクタ単位の出力制御情報(Output Control Information)151が記録される。
出力制御情報151は、対応するセクタデータ(ユーザデータ)の転送制御情報、例えば情報記録媒体を装着したドライブからPC等の情報処理装置に対する出力の制御情報であり、以下の情報を含む。
*出力制御フラグ(Output Control Flag)
*セキュリティレベル(Security Level)
*アプリケーションID(Application ID)
を含む情報として設定される。
図9にユーザ制御データ(UCD:User Control Data)中に記録される出力制御情報151の詳細構成を示す。出力制御情報151は、ユーザ制御データ(UCD:User Control Data)の3バイト(24ビット)データに記録される。
まず、ビット15〜0には、最大16ビットの情報としてアプリケーションID(Application ID)が記録される。アプリケーションID(Application ID)は、情報記録媒体の読み出しコンテンツの制御を出力制御情報(Output Control Information)に従って実行する場合に適用する情報であり、情報記録媒体の読み出しコンテンツの再生処理を許容する再生アプリケーションの識別情報(ID)である。例えば情報記録媒体に格納されたコンテンツが、再生アプリケーションとしてのブルーレイ(Blu-ray)ディスクプレーヤを適用することで再生可能なMPEG−TSパケットベースのハイビジョン映像コンテンツである場合には、再生アプリケーションとしてのブルーレイ(Blu-ray)ディスクプレーヤのアプリケーションIDが記録される。また、情報記録媒体に格納されたコンテンツが、再生アプリケーションとしてのDVDプレーヤで再生可能なMPEG−PSベースの標準画質の映像コンテンツである場合には、再生アプリケーションとしてのDVDプレーヤの識別情報がアプリケーションIDとして記録される。このように、アプリケーションIDは、コンテンツの再生を許可する再生プラットフォームを指定する識別情報である。
次のビット19〜16には、最大4ビット情報としてセキュリティレベル(Security Level)が記録される。セキュリティレベル(Security Level)も、情報記録媒体の読み出しコンテンツの制御を出力制御情報(Output Control Information)に従って実行する場合に適用する情報であり、コンテンツ出力先として許容するPCなどの情報処理装置のセキュリティレベルを規定した情報である。例えば、特定のセキュアなデータ処理を実行する構成を持ついわゆるセキュアPCに対してのみ出力を許容するなど、コンテンツ出力先として許容するPCなどの情報処理装置のセキュリティレベルを規定する。
4ビット情報としてセキュリティレベルを設定した場合、0000〜1111までのセキュリティレベルの設定が可能であり、0000を最低セキュリティレベル、1111を最高セキュリティレベルとし、出力先の機器から取得したセキュリティレベル情報が、情報記録媒体の出力制御情報151に記録されたセキュリティレベル(Security Level)以上である場合に、ドライブからのコンテンツ出力を許容する。
具体的には、例えばセキュリティレベル(Security Level)=0001はMicrosoft NGSCB やTrusted Computing Groupで仕様策定されつつあるセキュアPC(Secure PC)環境下で動作するアプリケーション、およびセキュアPC(Secure PC)環境下でしか動作を認めないコンテンツであることを示す。このような設定、すなわち、セキュリティレベル(Security Level)=0001の記録されたデータは、通常のPCアプリケーションでの再生が禁止され、ドライブからのコンテンツ出力が禁止される。
ビット22〜20の3ビットはリザーブ領域であり、
ビット23の1ビットが出力制御フラグ(Output Control Flag)として設定される。出力制御フラグ(Output Control Flag)は、情報記録媒体の読み出しコンテンツの制御を出力制御情報(Output Control Information)に従って実行するか否かの判定情報として利用される。具体的には、例えば、
出力制御フラグ(Output Control Flag)=1:出力制限、およびバス暗号化あり
出力制御フラグ(Output Control Flag)=0:出力制限なし
として設定される。なお、バス暗号化は、ドライブからのコンテンツ出力時に実行する暗号化処理であり、詳細については後述する。
なお、ここで説明した各情報の構成ビット数は一例であり、それぞれの仕様により、様々な設定が可能である。
[2.コンテンツ対応のデータ処理]
次に、上述した情報記録媒体に格納されたコンテンツの再生処理などのコンテンツ対応のデータ処理について説明する。情報記録媒体に格納されたコンテンツの再生態様には2つの態様がある。第1の態様は、情報記録媒体を装着し、情報記録媒体からのデータ読み取りを実行する機器自体が再生処理を実行する態様であり、第2の態様は、情報記録媒体からのデータ読み取りを実行するドライブと、再生処理投のコンテンツ処理を実行するホスト(PC)等の情報処理装置とが別の機器として構成され、ドライブ装置とホスト(PC)間がデータ転送用バスによって接続され、接続バスを介したデータ転送を実行して再生処理他のコンテンツデータ処理を行なう態様である。
まず、情報記録媒体を装着し、情報記録媒体からのデータ読み取りを実行する機器自体が再生処理を実行する処理シーケンスについて図10を参照して説明する。
ドライブ兼用再生機器300が、暗号化コンテンツ206を格納した情報記録媒体200をセットしてデータの読み取り、鍵生成、コンテンツ復号などの各種の暗号処理を実行してコンテンツを出力する。
情報記録媒体200には、先に、図5を参照して説明した各種の情報、すなわち不正機器リストとしてのリボケーションリストを含むリボーク情報(Revocation info for AKE)201、メディアキー:Kmを格納した暗号鍵ブロックとしてのRKB202、ディスクキー:Kdをメディアキー:Kmで暗号化した暗号化ディスクキー:EKm(Kd)203、ROMマーク:Ve204、ユニットキー生成情報:Vu205、暗号化コンテンツ206が格納されている。
ドライブ兼用再生機器300の処理について説明する。ドライブ兼用再生機器300は、ステップS101において、予め機器内に格納されているデバイスキー:Kdev301を適用して暗号鍵ブロックとしてのRKB202の復号処理を実行して、RKB202からメディアキー:Kmを取得する。なお、RKB202からメディアキー:Kmを取得できるのは、コンテンツの利用を認められた機器のみであり、前述したように不正機器としてリボークされた機器の持つデバイスキーではRKBの復号が出来ず、メディアキー:Kmを取得することができない。
ステップS101においてメディアキー:Kmの取得に成功すると、次に、ステップS102において、取得したメディアキー:Kmを適用して、情報記録媒体200から取得した暗号化ディスクキー:EKm(Kd)203の復号処理を実行し、ディスクキー:Kdを取得する。
次にステップS103において、取得したディスクキー:Kdと、情報記録媒体200から取得したROMマーク:Ve204に基づく鍵生成処理、例えばAES暗号アルゴリズムに従った鍵生成処理を実行してエンベデッドキー:Keを生成する。
AES暗号アルゴリズムに従った鍵生成処理の詳細について、図11を参照して説明する。図11に示すように、AES暗号アルゴリズムに従った鍵生成は、AES暗号処理ブロック311において、入力値に対して暗号鍵を適用したAES暗号処理を実行し、その出力と入力値の排他論理和(XOR)演算結果を出力とする処理である。図10のステップS103においては、入力値を情報記録媒体200から取得したROMマーク:Ve204とし、適用鍵をディスクキー:Kdとした鍵生成処理を実行して、出力値としてのエンベデッドキー:Keを得る。
次に、ステップS104において、取得したエンベデッドキー:Keと、情報記録媒体200から取得したユニットキー生成情報:Vu205に基づく鍵生成処理を実行してユニットキー:Kuを生成する。この鍵生成処理も、図11を参照して説明したAES暗号アルゴリズムに従った鍵生成処理として実行される。
次に、ステップS105において、生成したユニットキーKuを適用した暗号化コンテンツ206の復号処理が実行されて、コンテンツが出力される。
ステップS105におけるユニットキーKuを適用した暗号化コンテンツ206の復号処理の詳細について、図12を参照して説明する。
暗号化コンテンツ206は、所定データ単位のブロック単位での暗号化がなされて情報記録媒体200に格納されている。図12に示すように例えば6144バイトのセクタデータは、16バイトのブロックごとの暗号化がなされている。
復号処理の手順について説明する。まず、6144バイトのセクタデータから先頭の16バイトデータを取得し、AES鍵生成処理ブロック[AES_G]321において、AES暗号アルゴリズムに従った鍵生成処理を実行する。これは、先に図11を参照して説明した処理と同様である。AES鍵生成処理ブロック321の出力をブロックキー:Kbとし、このブロックキー:Kbを適用して次の16バイトデータの復号処理をAES復号処理ブロック[AES_D]322において実行する。
AES復号処理ブロック[AES_D]322では、セクタデータの第2番目の16バイトデータと初期値:IVaとの排他論理和(XOR)結果を入力としてブロックキー:Kbを適用したAES暗号アルゴリズムに従った復号処理を実行して、16バイトブロックデータの復号データを取得するとともに、次のブロックの復号に適用する入力値とする。以下、同様の処理を繰り返し実行して、復号セクタデータ323を得ることができる。なお、初期値:IVaは、予め設定された定数である。IVaは、例えばセクタデータに対応するユーザ制御データあるいはユーザデータから取得することができる値として設定されるという場合もある。
図10のステップS105では、このように、ユニットキー:Kuを適用して、ブロック単位の復号処理を実行し、復号されたコンテンツを出力する。
このように、情報記録媒体からの情報読み取りと再生処理を1つの機器内で実行する場合には、コンテンツの漏洩の可能性は少なく、コンテンツの著作権の侵害といった問題が発生する可能性は少ない。しかし、先に、図2〜図5を参照して説明したように、情報記録媒体を装着したドライブからバスを介してPC等のホスト機器にコンテンツ出力を行なう場合や、PC等のホスト機器が外部から入手したコンテンツをドライブに転送する処理を実行する場合には、ホストのアプリケーションまたはドライブいずれかが不正な処理を行なうことでコンテンツの不正利用の問題が発生し得る。
本発明の構成では、このようなドライブとPC等のホスト間でのコンテンツ転送を行なう構成において、コンテンツの記録や再生の前ステップとして実行する認証処理を厳格に行なう。認証相手がたとえリボークされていない鍵(公開鍵証明書)を持つ場合であっても、公開鍵証明書の格納データに基づいて認証相手の正当性の厳格な確認処理を行い、この確認に基づいて正当性が確認された場合にのみコンテンツの再生や記録を実行する。本構成により不正なコンテンツ利用を防止する。
具体的には、相互認証時に認証機器間で交換し相互に検証する公開鍵証明書に、
(1)SACタイプ情報
(2)デバイスタイプ情報
の各情報を設定し、これらの情報に基づいて認証相手機器の正当性を判断する。これらの各情報についての詳細は後述する。
ドライブと、アプリケーション実行機器としてのPCなどのホストをバス接続し、コンテンツの転送を伴う処理シーケンスの詳細について説明する。
図13は、情報記録媒体200と、情報記録媒体200をセットし、情報記録媒体200からのデータ読み取りまたは記録を行なうドライブ装置400と、ドライブ装置400と接続バスを介して接続し、コンテンツの再生や入出力処理アプリケーションを実行するPC等の情報処理装置としてのホスト500の処理を示している。なお、ドライブ装置400とホスト500とを接続するバスは、例えばATAPI BUS、USBバス、IEEE1394バスなどのバスである。
情報記録媒体200には、先に図10を参照して説明したと同様、図5に示す各種の情報、すなわち不正機器リストとしてのリボケーションリストを含むリボーク情報(Revocation info for AKE)201、メディアキー:Kmを格納した暗号鍵ブロックとしてのRKB202、ディスクキー:Kdをメディアキー:Kmで暗号化した暗号化ディスクキー:EKm(Kd)203、ROMマーク:Ve204、ユニットキー生成情報:Vu205、暗号化コンテンツ206が格納されている。
ドライブ装置400には、公開鍵暗号方式に従った管理センタの公開鍵[Kp_kic]401、公開鍵暗号方式に従ったドライブ対応の秘密鍵[Ks_drive]402、公開鍵暗号方式に従ったドライブ対応の公開鍵を格納した公開鍵証明書[Cert_drive]403、およびデバイスキー[Kdev]404を格納している。
一方、ホストアプリケーションを実行するホスト500には、公開鍵暗号方式に従った管理センタの公開鍵[Kp_kic]501、ホストの実行するホストアプリケーション対応の公開鍵暗号方式に従ったホストアプリケーション秘密鍵[Ks_host]502、ホストの実行するホストアプリケーション対応の公開鍵暗号方式に従った公開鍵を格納したホストアプリケーション公開鍵証明書[Cert_host]503を格納している。
ドライブ対応の公開鍵証明書[Cert_drive]403と、ホストアプリケーション対応の公開鍵証明書[Cert_host]503の詳細について、図14を参照して説明する。
図14(a)がドライブ対応の公開鍵証明書[Cert_drive]530のデータ構成であり、図14(b)がホストアプリケーション対応の公開鍵証明書[Cert_host]550のデータ構成である。
ドライブ対応の公開鍵証明書[Cert_drive]530には、従来からの公開鍵証明書と同様のデータとしての証明書タイプ、証明書識別子、公開鍵、署名データの他に、前述した
(1)SACタイプ情報531
(2)デバイスタイプ情報532
が格納される。
(1)SACタイプ情報は、
セキュア認証チャネル(SAC:Secure Authentication Channel)情報であり、PC等のホストが実行するアプリケーションとドライブ間のデータ転送バスに関するチャネル情報である。アプリケーション側の公開鍵証明書には、そのアプリケーションの適用するチャネル情報としてのSACタイプ情報が格納され、ドライブ側の公開鍵証明書には、ドライブの適用するチャネル情報としてのSACタイプ情報が格納される。
SACタイプ情報には、
(1a)SACタイプ=[Host−Device]
(1b)SACタイプ=[Peer−to−Peer]
の2つの情報がある。
(1a)SACタイプ=[Host−Device]は、
ホスト側アプリケーションが動作の主導権を持ち、バスを介してドライブに対してコマンドを出力し、ドライブ側は、ホスト側アプリケーションから入力するコマンドによって従属的に動作するタイプを示す。
具体的には、例えば、PC等のホストが実行するアプリケーションとドライブとの接続バスとして、ATAPIバス(AT Attachement with Packet Interface BUS)を適用する場合、あるいはアプリケーションとドライブをUSB接続した場合、または、アプリケーションとドライブをIEEE1394バス接続としてシリアルバスプロトコル(SBP:Serial Bus Protocol)に従ったデータ処理を実行する構成とした場合などが、
SACタイプ=[Host−Device]
である。
一方、(1b)SACタイプ=[Peer−to−Peer]は、
ホスト側アプリケーションが動作の主導権を持つといった形態ではなく、各デバイスが対等の関係を持ってデータ処理を実行するタイプである。
具体的には、例えば、PC等のホストが実行するアプリケーションとドライブとの接続バスとして、IEEE1394を用い、AVプロトコルを採用している場合などである。このような構成でデータ処理を実行するアプリケーションやドライブの公開鍵証明書には、
SACタイプ=[Peer−to−Peer]
が設定される。
(2)デバイスタイプ情報は、
デバイスのタイプ情報を示す情報であり、具体的には、
(2a)ホスト
(2b)ドライブ
の各設定がある。
ホスト側アプリケーションの公開鍵証明書には、
(2a)デバイスタイプ=ホスト
が設定され、
ドライブの公開鍵証明書には、
(2b)デバイスタイプ=ドライブ
が設定される。
ホスト側アプリケーションおよびドライブは、それぞれ
(1)SACタイプ情報
(2)デバイスタイプ情報
の2つの付加情報を格納した公開鍵証明書を有し、相互認証時にこれらの公開鍵証明書を交換し、相互に(1)SACタイプ情報と、(2)デバイスタイプ情報とを抽出して検証する。
認証処理においては、データ転送において適用するチャネルタイプを確認し、確認したチャネルタイプに基づいて認証成立の可否を判定する。すなわち、認証相手の保持する公開鍵証明書の格納データとしてのセキュア認証チャネル(SAC)タイプ情報に基づいて、公開鍵証明書に設定されたチャネルタイプが、ホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認し、この確認に基づいて認証の成立可否を判定する。
具体的には、公開鍵証明書に設定されたチャネルタイプが、ATAPIバス接続、またはUSBバス接続、またはIEEE1394におけるシリアルバスプロトコル(SBP)を適用したセキュアチャネルを適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認し、この確認に基づいて認証の成立可否を判定する。さらに、認証相手の保持する公開鍵証明書の格納データに基づいて、認証相手のデバイスタイプを確認し、確認したデバイスタイプに基づいて認証の成立可否を判定する。すなわち、アプリケーション実行機器としてのホストであるか、情報記録媒体に対するデータ記録処理または再生処理を実行するドライブであるかを確認し、予め定めた認証条件としてのデバイスタイプに対応するか否かを判定して認証の成立可否を判定する。
ホストアプリケーション対応の公開鍵証明書[Cert_host]550は、証明書タイプ、証明書識別子、公開鍵、署名データに加え、アプリケーション・セキュリティレベル[SLcert]551と、アプリケーションID[AIDcert]552と、
(1)SACタイプ情報553
(2)デバイスタイプ情報554
が追加データとして設定される。
アプリケーション・セキュリティレベル[SLcert]551は、例えば4ビット情報であり、先に図9を参照して説明した情報記録媒体のコンテンツ構成データとしてのセクタデータに対応するユーザ制御データ(UCD)に格納される出力制御情報(Output Control Information)内のセキュリティレベル(Security Level)に対応するデータである。
ホストのアプリケーション対応の公開鍵証明書に格納されるアプリケーション・セキュリティレベル[SLcert]551は、そのアプリケーションの持つセキュリティレベル情報が設定される。例えば、セキュアPCで実行されるアプリケーションであれば、高いセキュリティレベルの値が設定される。
公開鍵証明書に格納されるアプリケーション・セキュリティレベル[SLcert]551は、4ビットデータとした場合、[0000]〜[1111]までのセキュリティレベルの値のいずれかが設定される。0000を最低セキュリティレベル、1111を最高セキュリティレベルとする。
アプリケーションID[AIDcert]552は、先に図9を参照して説明した情報記録媒体のコンテンツ構成データとしてのセクタデータに対応するユーザ制御データ(UCD)に格納される出力制御情報(Output Control Information)内のアプリケーションIDに対応するデータである。
公開鍵証明書に格納されるアプリケーションIDは、公開鍵証明書の設定されたアプリケーションの識別情報である。例えば情報記録媒体に格納されたコンテンツが、再生アプリケーションとしてのブルーレイ(Blu-ray)ディスクプレーヤ・アプリケーションであれば、ブルーレイ(Blu-ray)ディスクプレーヤ・アプリケーションであることを判別可能な識別情報としてのアプリケーションIDが格納される。
SACタイプ情報553は、セキュア認証チャネル(SAC:Secure Authentication Channel)情報であり、PC等のホストが実行するアプリケーションとドライブ間のデータ転送バスに関するチャネル情報である。アプリケーション側の公開鍵証明書には、そのアプリケーションの適用するチャネル情報としてのSACタイプ情報が格納され、ドライブ側の公開鍵証明書には、ドライブの適用するチャネル情報としてのSACタイプ情報が格納される。
SACタイプ情報553は、ドライブのSACタイプ情報513と同様、
(1a)SACタイプ=[Host−Device]
(1b)SACタイプ=[Peer−to−Peer]
の2つの情報のいずれかが設定される。
SACタイプ=[Host−Device]は、ホスト側アプリケーションが動作の主導権を持ち、バスを介してドライブに対してコマンドを出力し、ドライブ側は、ホスト側アプリケーションから入力するコマンドによって従属的に動作するタイプであり、具体的には、例えば、PC等のホストが実行するアプリケーションとドライブとの接続バスとして、ATAPIバス(AT Attachement with Packet Interface BUS)を適用する場合、あるいはアプリケーションとドライブをUSB接続した場合、または、アプリケーションとドライブをIEEE1394バス接続としてシリアルバスプロトコル(SBP:Serial Bus Protocol)に従ったデータ処理を実行する構成とした場合である。
一方、SACタイプ=[Peer−to−Peer]は、ホスト側アプリケーションが動作の主導権を持つといった形態ではなく、各デバイスが対等の関係を持ってデータ処理を実行するタイプである。具体的には、例えば、PC等のホストが実行するアプリケーションとドライブとの接続バスとして、IEEE1394を用い、AVプロトコルを採用している構成である場合などに、SACタイプ=[Peer−to−Peer]の設定がなされる。
デバイスタイプ情報554は、デバイスのタイプ情報を示す情報であり、具体的には、
(2a)ホスト
(2b)ドライブ
の各設定があり、ホスト側アプリケーションの公開鍵証明書には、デバイスタイプ=ホストが設定される。
なお、図14に示す公開鍵証明書を構成する各データの構成ビット数は、一例であり、各情報のビット数が図14に示す態様に限定されるものではなく、様々な設定が可能である。
図13戻り、ドライブ装置400が情報記録媒体から取得したコンテンツ等のデータを接続バスを介してホスト500に転送して再生する処理シーケンスについて説明する。
まず、ステップS201,S301において、ドライブ装置400とホスト500のアプリケーション間で相互認証および鍵交換(AKE:Authentication and Key Exchange)処理が実行される。相互認証および鍵交換(AKE:Authentication and Key Exchange)処理の詳細シーケンスについて、図15を参照して説明する。この処理は、例えば、ISO/IEC9798−3に規定された公開鍵アルゴリズムを利用した相互認証、ISO/IEC11770−3に規定された公開鍵アルゴリズムを利用した鍵生成処理方式を適用して実行可能である。なお、公開鍵を利用した相互認証方式として実用化された方式としては、例えば、DTCP(Digital Transmission Content Protection) Specification Volume 1 (Informational Version)に記載される方法がある。
図15に示す処理シーケンスについて説明する。ステップS401において、ホストアプリケーションは、ドライブに対して乱数生成処理によって生成したチャレンジデータ[C_host]と、公開鍵証明書[Cert_Host]を送信する。公開鍵証明書[Cert_Host]は、図14(b)に示す公開鍵証明書であり、セキュリティレベルと、アプリケーションID、SACタイプ、デバイスタイプの各情報が格納された公開鍵証明書である。
このデータを受け取ったドライブ側は、ステップS402において、ホストアプリケーションの公開鍵証明書[Cert_Host]に基づく検証処理を実行する。
ステップS402において、ドライブの実行するホストアプリケーションの公開鍵証明書[Cert_Host]に基づく検証処理の詳細シーケンスを図16(a)のフローを参照して説明する。
まず、ドライブは、ステップS431において、ホスト(アプリケーション)から公開鍵証明書[Cert_Host]を受信する。ステップS432において、ドライブは、ホスト(アプリケーション)公開鍵証明書[Cert_Host]の署名検証処理により、公開鍵証明書[Cert_Host]の改竄の有無を検証する。署名検証処理は、ドライブの保持する管理センタの公開鍵[Kp_kic]401(図13参照)を適用して実行される。
公開鍵証明書[Cert_Host]の改竄がないことが検証されると、公開鍵証明書[Cert_Host]からアプリケーションIDを取得して、情報記録媒体から取得したリボーク情報201に含まれるリボケーションリストに基づくリボーク確認を実行する。
署名検証により公開鍵証明書[Cert_Host]の改竄可能性が検出された場合や、アプリケーションIDに基づいて、ホストアプリケーションがリボークされていることが判明した場合(ステップS433:No)には、ステップS437に進み、エラーメッセージの通知などを実行し、処理を終了する。以後のコンテンツ、出力、再生処理は中止される。
公開鍵証明書[Cert_Host]の改竄のないことが確認され、ホストアプリケーションがリボークされていないアプリケーションであることが確認されると(ステップS433:Yes)、ステップS434に進み、ホストアプリケーションの公開鍵証明書[Cert_Host]に記録されたSACタイプを読み取る。
SACタイプ=ホストデバイス[Host−Device]でない場合には、ステップS437に進み、エラーメッセージの通知などを実行し、処理を終了する。以後のコンテンツ、出力、再生処理は中止される。
SACタイプ=ホストデバイス[Host−Device]でないということは、SACタイプ=ピアツーピア[Peer−to−Peer]であることを意味し、ホスト側アプリケーションが動作の主導権を持つといった形態ではなく、各デバイスが対等の関係を持ってデータ処理を実行するタイプということになる。具体的には、例えば、PC等のホストが実行するアプリケーションとドライブとの接続バスとして、IEEE1394を用い、AVプロトコルを採用している構成である場合などに、SACタイプ=[Peer−to−Peer]の設定がなされており、この場合には、認証成立とすることなく、ステップS437に進み、エラーメッセージの通知などを実行し、処理を終了する。以後のコンテンツ、出力、再生処理は中止される。
SACタイプ=ホストデバイス[Host−Device]である場合(ステップS434:Yes)には、ステップS435に進む。
SACタイプ=ホストデバイス[Host−Device]であるとは、すなわち、ホスト側のアプリケーションがデータ処理における各種の動作の主導権を持ち、バスを介してドライブに対してコマンドを出力し、ドライブ側がホスト側アプリケーションから入力するコマンドによって従属的に動作するタイプに対応したアプリケーションであることを示している。
SACタイプ=ホストデバイス[Host−Device]である場合は、具体的には、アプリケーションが、ドライブとATAPIバス接続、USB接続、または、IEEE1394バス接続としてシリアルバスプロトコル(SBP:Serial Bus Protocol)を適用した構成においてデータ処理を実行するアプリケーションであることを示している。
この場合には、さらに、ステップS435において、ドライブは、ホストアプリケーションの公開鍵証明書からデバイスタイプを取得し、デバイスタイプ=ホストであるか否かを判定する。デバイスタイプ=ホストでない場合(ステップS435:No)には、ステップS437に進み、エラーメッセージの通知などを実行し、処理を終了する。以後のコンテンツ、出力、再生処理は中止される。
デバイスタイプ=ホストである場合(ステップS435:Yes)には、ステップS436に進み、その後の認証処理を継続して実行する。
このように、ドライブは、ホストアプリケーションの公開鍵証明書[Cert_Host]に記録されたSACタイプに基づいて、アプリケーションがATAPIのようなI/Fを通じてドライブを動作させる[Host−Device]タイプのデータ処理、すなわち2者間でのSAC(Secure Authenticated Channel)を適用したデータ転送により、アプリ主導型のデータ処理を実行するアプリケーションであることを確認し、さらに、デバイスタイプに基づいて、アプリケーション実行デバイスがホストであることを確認することを認証の成立条件とする。
次に、図15のステップS403において、ドライブは、ホストアプリケーションに対して乱数生成処理によって生成したチャレンジデータ[C_drive]と、ドライブ側の公開鍵証明書[Cert_drive]を送信する。
ホストアプリケーション側では、ドライブ側の公開鍵証明書[Cert_drive]の検証を実行する。
ステップS404において、ホストアプリケーションの実行するドライブの公開鍵証明書[Cert_Drive]に基づく検証処理の詳細シーケンスを図16(b)のフローを参照して説明する。
まず、ホストアプリケーションは、ステップS451において、ドライブから公開鍵証明書[Cert_Drive]を受信する。ステップS452において、ホストアプリケーションは、ドライブ公開鍵証明書[Cert_Drive]の署名検証処理により、公開鍵証明書[Cert_Drive]の改竄の有無を検証する。署名検証処理は、ホストアプリケーションの保持する管理センタの公開鍵[Kp_kic]501(図13参照)を適用して実行される。
公開鍵証明書[Cert_Drive]の改竄がないことが検証されると、リボケーションリストに基づくリボーク確認を実行する。リボケーション情報は、ネットワークまたは情報記録媒体から取得し、メモリに格納されたデータを適用する。
署名検証により公開鍵証明書[Cert_Drive]の改竄可能性が検出された場合や、ドライブがリボークされていることが判明した場合(ステップS453:No)には、ステップS457に進み、エラーメッセージの通知などを実行し、処理を終了する。以後のコンテンツ、出力、再生処理は中止される。
公開鍵証明書[Cert_Drive]の改竄のないことが確認され、リボークされていないドライブであることが確認されると(ステップS453:Yes)、ステップS454に進み、ドライブの公開鍵証明書[Cert_Drive]に記録されたSACタイプを読み取る。
SACタイプ=ホストデバイス[Host−Device]でない場合には、ステップS457に進み、エラーメッセージの通知などを実行し、処理を終了する。以後のコンテンツ、出力、再生処理は中止される。
SACタイプ=ホストデバイス[Host−Device]でないということは、ドライブ側の公開鍵証明書がSACタイプ=ピアツーピア[Peer−to−Peer]であることを意味し、ホスト側アプリケーションが動作の主導権を持つといった形態ではなく、各デバイスが対等の関係を持ってデータ処理を実行するタイプということになる。具体的には、例えば、PC等のホストが実行するアプリケーションとドライブとの接続バスとして、IEEE1394を用い、AVプロトコルを採用している構成である場合などである。
この場合に、SACタイプ=[Peer−to−Peer]の設定がなされており、この場合には、認証成立とすることなく、ステップS457に進み、エラーメッセージの通知などを実行し、処理を終了する。以後のコンテンツ、出力、再生処理は中止される。
SACタイプ=ホストデバイス[Host−Device]である場合(ステップS454:Yes)には、ステップS455に進む。SACタイプ=ホストデバイス[Host−Device]であるとは、すなわち、ホスト側のアプリケーションがデータ処理における各種の動作の主導権を持ち、バスを介してドライブに対してコマンドを出力し、ドライブ側がホスト側アプリケーションから入力するコマンドによって従属的に動作するタイプに対応したアプリケーションに応答して処理を実行するドライブであることを示している。具体的には、ドライブがアプリケーションとATAPIバス接続、USB接続、または、IEEE1394バス接続としてシリアルバスプロトコル(SBP:Serial Bus Protocol)を適用した構成においてデータ処理を実行するドライブであることを示している。
この場合には、さらに、ステップS455において、ホストアプリケーションはドライブの公開鍵証明書からデバイスタイプを取得し、デバイスタイプ=ドライブであるか否かを判定する。デバイスタイプ=ドライブでない場合(ステップS455:No)には、ステップS457に進み、エラーメッセージの通知などを実行し、処理を終了する。以後のコンテンツ、出力、再生処理は中止される。
デバイスタイプ=ドライブである場合(ステップS455:Yes)には、ステップS456に進み、その後の認証処理を継続して実行する。
このように、ホストアプリケーションは、ドライブの公開鍵証明書[Cert_Drive]に記録されたSACタイプに基づいて、ドライブがATAPIのようなI/Fを通じてアプリケーションからのコマンドに応じて動作する[Host−Device]タイプのデータ処理、すなわち2者間でのSAC(Secure Authenticated Channel)を適用し、アプリ主導型のデータ処理を実行するドライブであることを確認し、デバイスタイプに基づいて、ドライブが間違いなくドライブであることが確認されたことを認証の成立条件とする。
公開鍵証明書[Cert_drive]の正当性が確認された場合には、ホストアプリケーションは、ドライブから受信したチャレンジデータ[C_drive]に基づく演算を実行しパラメータ[A_host]を算出し、新たに生成した乱数[R_host]とともに、ドライブに送信(ステップS405)する。
一方、ドライブは、ホストアプリケーションから受信したチャレンジデータ[C_host]に基づく演算を実行しパラメータ[A_drive]を算出し、新たに生成した乱数[R_drive]とともに、ホストアプリケーションに送信(ステップS406)する。
この処理により、ドライブ、ホストアプリケーションの双方は、乱数[R_host]、[R_drive]、パラメータ[A_host]、[A_drive]を共有することになり、ドライブと、ホストアプリケーションの双方は、これらの共有データに基づいて共通のセッションキーKsを生成(ステップS407)する。
ドライブは、さらに、ステップS408において、乱数に基づいて生成したバスキー:Kbus、およびバスキーのシーケンス番号:SEQとの連結データ:[Kbus‖SEQ]に、この連結データの改竄検証用データとして算出したハッシュ値[hash(Kbus‖SEQ)]をセッションキー:Ksを用いて暗号化したデータ:EKs[(Kbus‖SEQ),hash(Kbus‖SEQ)]をホストアプリケーションに送信する。なお、このステップS408の処理は、図13において、ステップS206のバスキー生成処理(Genarate_Kbus)と、ステップS207のセッションキー:Ksによるバスキーの暗号化処理(AES_E)の処理に相当する。
バスキー:Kbusは、暗号化コンテンツのドライブからホスト側への接続バスを介した転送処理の際の暗号化キーとして用いられる鍵であり、ドライブにおいて乱数に基づいて生成される。バスキーは、適宜切り替えられ、各バスキーに応じたシーケンス番号が対応付けられる。例えばホスト側で複数のアプリケーションを適用して情報記録媒体に格納された異なるコンテンツの再生をそれぞれのアプリケーションを適用して実行する場合には、各アプリケーションで適用するバスキーを異なる鍵として設定する。
図13に戻り、ドライブ装置400が情報記録媒体から取得したコンテンツ等のデータを接続バスを介してホスト500に転送して再生する処理シーケンスについて説明を続ける。
ドライブ装置400は、ホスト500との相互認証および鍵交換(AKE)が終了すると、ドライブ内に保持するデバイスキー:Kdev404を適用し、ステップS202において、情報記録媒体200から読み出した暗号鍵ブロックとしてのRKB202の復号処理を実行して、RKB202からメディアキー:Kmを取得する。なお、RKB202からメディアキー:Kmを取得できるのは、コンテンツの利用を認められた機器のみであり、前述したように不正機器としてリボークされた機器の持つデバイスキーではRKBの復号が出来ず、メディアキー:Kmを取得することができない。
ステップS202においてメディアキー:Kmの取得に成功すると、次に、ステップS203において、取得したメディアキー:Kmを適用して、情報記録媒体200から取得した暗号化ディスクキー:EKm(Kd)203の復号処理を実行し、ディスクキー:Kdを取得する。
次にステップS204において、取得したディスクキー:Kdと、情報記録媒体200から取得したROMマーク:Ve204に基づく鍵生成処理、例えばAES暗号アルゴリズムに従った鍵生成処理を実行してエンベデッドキー:Keを生成する。AES暗号アルゴリズムに従った鍵生成処理は、先に図11を参照して説明した通りである。
ドライブは、ステップS205において、エンベデッドキー:Keを先の相互認証および鍵交換処理(AKE)において生成したセッションキー:Ksで暗号化してホスト500に対して接続バスを介して送信する。
ステップS206、およびステップS207の処理は、先に図15を参照して説明した相互認証および鍵交換処理(AKE)のステップS408の処理に相当し、乱数に基づいて、バスキー:Kbusを生成(ステップS206)し、セッションキー:Ksでバスキー:Kbusを含むデータを暗号化(ステップS207)して生成したデータをホスト500に対して接続バスを介して送信する処理である。送信データは、先に図15を参照して説明したように、乱数に基づいて生成したバスキー:Kbus、およびバスキーのシーケンス番号:SEQとの連結データ:[Kbus‖SEQ]と、この連結データの改竄検証用データとして算出したハッシュ値[hash(Kbus‖SEQ)]とをセッションキー:Ksを用いて暗号化したデータ:EKs[(Kbus‖SEQ),hash(Kbus‖SEQ)]である。
さらに、ドライブ装置400は、ステップS208において、情報記録媒体200から読み出した暗号化コンテンツ206のユーザ制御データ(UCD)に含まれる出力制御情報と、相互認証および鍵交換処理(AKE)処理において、ホスト500から取得したホストの公開鍵証明書の格納データとに基づく出力制御を実行し、ステップS209において、暗号化コンテンツ206を制御態様に応じてバスキー:Kbusを用いて暗号化し、生成した暗号化データを接続バスを介してホスト500に対して出力する。
情報記録媒体200から読み出される暗号化コンテンツ350は、例えばスクランブル処理のなされた暗号化データであり、ドライブは、このスクランブル処理されたデータをバスキー:Kbusを適用して再暗号化してホスト側に出力する。このバスキー:Kbusを適用した再暗号化処理によるデータ出力を実行することにより、バスキー:Kbusを保持している認証のなされたホスト側の唯一のアプリケーションのみが、バスキー:Kbusを適用した復号が可能となり、復号処理によって暗号化コンテンツ350を取得することが可能となる。
このような構成とすることで、コンテンツを入力するPC(ホスト)側でのアプリケーションの切り替えによるコンテンツの迂回取得や、ドライブとホストとの接続バスの転送データを盗聴することによるコンテンツ取得を行なっても、取得されるコンテンツは、バスキー:Kbusによって暗号化されたデータであり、バスキー:Kbusを保有しているのは、ドライブとの認証の成立した特定のアプリケーションのみであり、その特定のアプリケーションを適用しない限り、入力コンテンツの復号は実行できない。CSSスクランブルの解除プログラムのみではバスキー:Kbusによって暗号化されたデータの復号は実行できず、コンテンツの不正利用が防止可能となる。
バスキー:Kbusを適用した暗号化コンテンツ206の暗号化処理態様について、図17を参照して説明する。バスキー:Kbusを適用した暗号化コンテンツ206の暗号化処理は、例えば図17に示すように、AES−CBCモードを適用したブロック暗号化処理によって実行される。
ドライブ装置400は、情報記録媒体200から読み出される暗号化コンテンツに対して、ドライブにおいて生成したバスキー:Kbusを適用して、所定データブロック単位(16バイト)で暗号化する処理を実行する。
まず、情報記録媒体200から読み出される暗号化コンテンツの構成データである2048バイトのセクタデータ350から先頭の16バイトデータを取得し、初期値:IVbとの排他論理和(XOR)結果を、AES暗号処理部[AES_E]351に入力し、バスキー:Kbusを適用したAES暗号アルゴリズムに従った暗号処理を実行して16バイトブロックデータの暗号化データを生成する。初期値:IVbは、予め設定された定数である。IVbは、例えば、セクタデータ350に対応するユーザ制御データ(UCD)から取得されるという場合もある。
さらに、この生成データは、次のブロックの暗号化に適用する入力値として適用される。以下、各16バイトのブロックデータ毎に排他論理和(XOR)およびAES暗号処理を同様に繰り返し実行して、バスキーによる暗号化セクタデータ352を生成し、このデータをATAPI−BUSなどの接続バスを介してホスト500側のアプリケーションに向けて送信する。ホスト500側ではこの入力暗号化データを復号して再生処理を行なう。
図13に戻り、ホスト500側の処理シーケンスについて説明する。ホスト500は、まず、前述したようにステップS301においてドライブ装置400との相互認証および鍵交換(AKE)を実行し、セッションキー:Ksを取得する。
次に、ステップS302において、ドライブから接続バスを介して入力したセッションキー:Ksによって暗号化されたエンベデッドキー:Ke、すなわち[EKs(Ke)]に対して、セッションキー:Ksを適用した復号処理を実行しエンベデッドキー:Keを取得する。
さらに、ステップS303において、ドライブから接続バスを介して入力したユニットキー生成情報:Vuに対してエンベデッドキー:Keを適用したAES鍵生成処理(図11参照)を実行し、ユニットキー:Kuを生成する。
さらに、ステップS304において、ドライブから接続バスを介して入力したセッションキー:Ksによって暗号化されたバスキー:Kbus、すなわち[EKs(Kbus)]に対して、セッションキー:Ksを適用した復号処理を実行しバスキー:Kbusを取得する。
なお、先に、図15を参照して説明したように、ドライブから送信されるバスキー:Kbusを含むデータは、バスキー:Kbusおよびバスキーのシーケンス番号:SEQとの連結データ:[Kbus‖SEQ]と、この連結データの改竄検証用データとして算出したハッシュ値[hash(Kbus‖SEQ)]とをセッションキー:Ksを用いて暗号化したデータ:EKs[(Kbus‖SEQ),hash(Kbus‖SEQ)]である。
ホスト500のアプリケーションは、ステップS304において、データ:EKs[(Kbus‖SEQ),hash(Kbus‖SEQ)]をセッションキー:Ksで復号し、バスキー:Kbusおよびバスキーのシーケンス番号:SEQとの連結データ:[Kbus‖SEQ]と、この連結データの改竄検証用データとして算出したハッシュ値[hash(Kbus‖SEQ)]とを取得する。
次に、ステップS305において、連結データ:[Kbus‖SEQ]のハッシュ値を算出し、ドライブからの入力データ中に含まれるハッシュ値[hash(Kbus‖SEQ)]と比較を実行する。両ハッシュ値が一致していれば、連結データ:[Kbus‖SEQ]が改竄されていないものと判定し、ステップS306におけるバスキー:Kbusを適用したコンテンツ復号処理に移行する。
ステップS306では、ドライブ装置400から入力するバスキー:Kbusによって再暗号化された暗号化コンテンツの復号処理を実行する。
バスキー:Kbusによって再暗号化された暗号化コンテンツの復号処理の詳細について、図18を参照して説明する。バスキー:Kbusを適用した暗号化コンテンツの復号処理は、例えば図18に示すように、AES−CBCモードを適用したブロック復号処理によって実行される。
ホスト500のアプリケーションは、ドライブ装置400から接続バスを介して入力する暗号化コンテンツに対して、ドライブから入力したバスキー:Kbusを適用して、所定データブロック単位(16バイト)で復号する処理を実行する。
まず、ドライブ装置400から接続バスを介して入力する暗号化コンテンツの構成データである2048バイトのセクタデータ370から先頭の16バイトデータを取得し、AES復号処理部[AES_D]371に入力し、バスキー:Kbusを適用したAES暗号アルゴリズムに従った復号処理を実行し、さらに、初期値:IVbとの排他論理和(XOR)演算を実行して復号結果を得る。初期値:IVbは、予め設定された定数である。IVbは、例えば、セクタデータ370に対応するユーザ制御データ(UCD)から取得されるという場合もある。
さらに、16バイト単位の復号結果データは、次のブロックの復号処理に適用する入力値として適用される。以下、各16バイトのブロックデータ毎にAES復号処理および排他論理和(XOR)を同様に繰り返し実行して、バスキーによる暗号化を解除したセクタデータ、すなわち、情報記録媒体200に格納されたデータ状態としての暗号化(スクランブル)セクタデータ372を取得する。
さらに、ホスト500のホストアプリケーションは、図13に示すステップS307において、ユニットキー:Kuを適用して、情報記録媒体200に格納されたデータ状態としての暗号化コンテンツの復号処理を実行する。この復号処理は、先に図12を参照して説明したと同様の処理として実行される。
以上の処理により、ホスト500のホストアプリケーションは、復号コンテンツ520を取得し、スピーカ、ディスプレイ等の出力部に対する出力処理を行いコンテンツ再生を実行する。
このように、本発明の構成では、情報記録媒体のデータ読み取りを実行するドライブにおいて、情報記録媒体から読み出したスクランブル処理されたデータをバスキー:Kbusを適用して再暗号化してホスト側に出力する構成としたので、バスキー:Kbusを保持しているホスト側アプリケーション、すなわちドライブとの相互認証が成立したホストアプリケーションのみにおいてバスキー:Kbusを適用した復号が可能となり、復号処理による暗号化コンテンツの利用が可能となる。
従って、コンテンツを入力するPC(ホスト)側でのアプリケーションの切り替えによるコンテンツの迂回取得や、ドライブとホストとの接続バスの転送データを盗聴することによるコンテンツ取得を行なってもバスキー:Kbusによって暗号化されたデータの復号は、ドライブとの相互認証が成立し、同一のバスキー:Kbusを持つ唯一のアプリケーションのみが可能となるので、他のアプリケーション、例えばCSSスクランブルの解除プログラムはバスキー:Kbusによる暗号化データの復号が不可能でありコンテンツの不正利用が防止される。
次に、図19〜図21を参照して、図13に示すステップS208、ステップS209において実行する出力制御情報解析と、コンテンツの出力制御の複数の態様について説明する。
先に、図9を参照して説明したように、情報記録媒体に格納した暗号化コンテンツのセクタヘッダ(ユーザ制御データ)には、ドライブからPC等の情報処理装置に対する出力制御情報として、
(1)出力制御フラグ(Output Control Flag)
(2)セキュリティレベル(Security Level)
(3)アプリケーションID(Application ID)
の各情報が設定されると説明した。
これら(1)〜(3)の3種類の情報のすべてを出力制御情報として設定する態様も可能であるが、(1)出力制御フラグ(Output Control Flag)のみ、あるいは、(1)出力制御フラグ(Output Control Flag)と、(3)アプリケーションID(Application ID)のみを設定するなど、各種の態様が可能である。また、設定情報としては(1)〜(3)の全てが設定されている場合であっても、ドライブにおける出力制御情報の解析に際して、その一部のみを適用した解釈を実行してもよい。以下、これらの複数の処理態様について、図19〜図21を参照してドライブ側の処理シーケンス例について説明する。
図19〜図21は、それぞれ、以下の処理を説明するシーケンスである。
図19:出力制御情報中の[出力制御フラグ]のみに基づく出力制御シーケンス
図20:出力制御情報中の[出力制御フラグ]と[アプリケーションID]に基づく出力制御シーケンス
図21:出力制御情報中の[出力制御フラグ]と[アプリケーションID]と[セキュリティレベル]に基づく出力制御シーケンス
まず、図19を参照して、出力制御情報中の[出力制御フラグ]のみに基づいて、ドライブからホストに対するコンテンツ出力を制御するシーケンスについて説明する。
図19のフローの各ステップについて説明する。まず、ステップS511においてドライブに対する情報記録媒体(ディスク)の挿入を検知し、ステップS512において、バス接続されたホスト側でのコンテンツ再生処理を実行するホストアプリケーションの起動を検知する。これらが検知されたことを条件として、ステップS513に進み、ホスト側からの相互認証要求を待機し、相互認証要求を受信すると、ステップS514において、先に図15、図16を参照して説明した公開鍵暗号方式に従った相互認証および鍵交換(AKE)処理を実行する。
この認証処理においては、図16を参照して説明したように、公開鍵証明書内のSACタイプ、デバイスタイプを抽出する。SACタイプに基づいて認証相手とのデータ転送において適用するチャネルタイプを確認し、公開鍵証明書に設定されたチャネルタイプが、ホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認し、この確認に基づいて認証の成立可否を判定する。例えば、公開鍵証明書に設定されたチャネルタイプが、ATAPIバス接続、またはUSBバス接続、またはIEEE1394におけるシリアルバスプロトコル(SBP)を適用したセキュアチャネルを適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認し、この確認に基づいて認証の成立可否を判定する。
また、認証相手の公開鍵証明書の格納データに基づいて認証相手のデバイスタイプを確認し、このデバイスタイプに基づいて認証の成立可否を判定する。具体的には、デバイスタイプがホストであるか、ドライブであるかを確認し、予め定めた認証条件としてのデバイスタイプに基づいて認証の成立可否を判定する。
ステップS515において、相互認証および鍵交換(AKE)処理の完了が確認されると、ステップS516に進み、ドライブは、バスキー:Kbに対応する乱数Rの生成処理を実行し、この生成乱数Rをバスキー:Kbとする。この処理は、図13におけるステップS206の処理に相当する。なお、前述したように、バスキー:Kbには、シーケンス番号が対応付けられる。ドライブは、複数の異なるシーケンス番号に対応する異なるバスキーを保持し、ホスト側の実行アプリケーションに応じて切り替えて適用する場合もある。
ステップS517において、ホスト側からバスキーの転送要求を受領すると、ステップS518において、バスキー:Kbをホスト側に転送する。この処理は、図13におけるステップS207の処理に相当する。なお、このバスキー転送は、図15の相互認証および鍵交換(AKE)処理の最終ステップS408に相当する処理であり、ドライブは、バスキー:Kbusおよびバスキーのシーケンス番号:SEQとの連結データ:[Kbus‖SEQ]と、この連結データの改竄検証用データとして算出したハッシュ値[hash(Kbus‖SEQ)]とをセッションキー:Ksを用いて暗号化したデータ:EKs[(Kbus‖SEQ),hash(Kbus‖SEQ)]を生成してホスト側に送信する。
次に、ステッブS519では、新たな相互認証要求がないことを確認し、また、ステップS520では、情報記録媒体の排出がなされないことを確認して、ステップS521において、ホスト側のコンテンツ取得要求、すなわちセクタデータの読み取り要求がなされるまで待機する。
なお、ステップS519において、新たな相互認証要求があった場合は、ステップS514に戻り相互認証および鍵交換(AKE)処理を実行し、新たなバスキーの生成、送信を実行する。この際に生成するバスキーは、シーケンス番号:2のバスキーであり、先に生成したバスキー(シーケンス番号1)とは異なるバスキーとなる。これらは、ホスト側の異なるアプリケーションに対応するバスキーであり、ドライブは、ホスト側の起動アプリケーション毎に相互認証および鍵交換(AKE)処理を実行し、新たなバスキーの生成、送信を実行し、コンテンツ送信に際しては、ホスト側の起動アプリケーション毎に対応するバスキーを適用した暗号化データを生成して送信する。
なお、ステップS520において、ドライブからのディスク排出があったと判定した場合は、ステップS511に戻り、初期招待に設定され、生成済みのバスキー、セッションキー等のすべてのデータはリセット、すなわち消去される。
ステップS521において、ホスト側からセクタデータの読み出し要求があると、ドライブは、ステップS522において、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)から出力制御情報を読み取り、[出力制御フラグ:OCF]の値を判定する。この処理は、図13のステップS208の処理に相当する。
出力制御フラグ:OCFは、先に図9を参照して説明したように、
OCF=1:出力制限あり、バス暗号化あり、
OCF=0:出力制限なし、
の設定情報である。
ステップS522において、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)の出力制御情報中の出力制御フラグ(OCF)が[1]に設定されていると判定した場合は、ステップS523に進み、情報記録媒体から読出したセクタデータをバスキー:Kbusで暗号化して、ステップS524においてホスト側に出力する。なお、ステップS523におけるセクタデータの暗号化処理は、例えば、先に図17を参照して説明したAES−CBCモードを適用した暗号化処理として実行される。
ステップS522において、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)の出力制御情報中の出力制御フラグ(OCF)が[0]に設定されていると判定した場合は、ステップS523をスキップし、情報記録媒体から読出したセクタデータのバスキー:Kbusによる暗号化処理を実行することなく、ステップS524において、情報記録媒体からの読出しコンテンツをそのままホスト側に出力する。なお、この読出しコンテンツは、例えばCSS規定に従った暗号化(スクランブル)コンテンツである。
このように、ドライブは、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)の出力制御情報中の出力制御フラグ(OCF)が[0]か[1]かに基づいてバスキーによる暗号化の要否を判定し、バスキーによる暗号化の必要なデータである場合に、出力コンテンツのバスキーによる暗号化を実行して出力する。
次に、図20を参照して、出力制御情報中の[出力制御フラグ]と[アプリケーションID]とに基づいて、ドライブからホストに対するコンテンツ出力を制御するシーケンスについて説明する。
図20のフローの各ステップについて説明する。まず、ステップS611において、初期設定処理としてセッションID[SID]と、バスキー:Kbusの値を初期値[0]に設定する。セッションIDは、ドライブトホスト間で設定されたセッションに対応する識別子であり、ホストドライブ間において設定されたセッションに対しては、ホストドライブ間の相互認証および鍵交換(AKE)処理において、ドライブがホストから受領したホストのアプリケーション対応の公開鍵証明書(図14参照)から取得したアプリケーションID[AIDcert]と同一の値がセッションIDとされる。すなわち、SID=AIDcertとしてセッションIDが決定される。
ステップS612〜S616の処理は、図19において説明した処理ステップS511〜515と同様の処理であり、説明を省略する。
ステップS617では、ホストドライブ間の相互認証および鍵交換(AKE)処理において、ドライブが、ホストから受領したホストのアプリケーション対応の公開鍵証明書(図14参照)から取得したアプリケーションID[AIDcert]と、セッションID[SID]が一致するか否かを判定する。
SID=AIDcertであれば、既に成立済みのセッションであり、セッション対応のバスキーが存在しているので、バスキー生成処理を実行することなくステップS620に進む。
SID≠AIDcertであれば、新たなセッションであり、ステップS618において、セッション対応のバスキーの生成処理を実行する。これは乱数生成によるバスキーの生成として実行する。なお、バスキーにはシーケンス番号が対応付けられる。それぞれのセッション対応のバスキーは区別されて記憶され、利用される。
バスキー:Kbusの生成が完了すると、ステップS619において、新たなセッションに対するセッション識別子をホストドライブ間の相互認証および鍵交換(AKE)処理において、ドライブが、ホストから受領したホストのアプリケーション対応の公開鍵証明書(図14参照)から取得したアプリケーションID[AIDcert]として設定、すなわち、SID=AIDcertとして設定する。
ステップS620〜S624の処理は、先に説明した図19のフローにおけるステップS517〜521の処理と同様であるので、説明を省略する。
ステップS624において、ホスト側からセクタデータの読み出し要求があると、ドライブは、ステップS625において、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)から出力制御情報を読み取り、[出力制御フラグ:OCF]の値を判定する。この処理は、図13のステップS208の処理に相当する。
出力制御フラグ:OCFは、先に図9を参照して説明したように、
OCF=1:出力制限あり、バス暗号化あり、
OCF=0:出力制限なし、
の設定情報である。
ステップS625において、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)の出力制御情報中の出力制御フラグ(OCF)が[1]に設定されていると判定した場合は、ステップS626に進み、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)の出力制御情報中のアプリケーションID[AIDucd]と、ホストドライブ間の相互認証および鍵交換(AKE)処理において、ドライブが、ホストから受領したホストのアプリケーション対応の公開鍵証明書(図14参照)から取得したアプリケーションID[AIDcert]とが一致するか否か、すなわち、
AIDucd=AIDcert
が成立するか否かを判定する。
前述したように、出力制御情報中のアプリケーションID[AIDucd]は、出力を許容するアプリケーションを示す識別情報であり、ドライブは、ホストのアプリケーションが、出力制御情報中のアプリケーションID[AIDucd]に一致する場合にのみ、コンテンツ出力を許容する。
ステップS626において、
AIDucd=AIDcert
が成立しないと判定した場合は、ステップS629においてドライブからホスト側にエラーメッセージを送信し、処理を終了する。この場合、コンテンツの送信は実行されない。
ステップS626において、
AIDucd=AIDcert
が成立すると判定した場合は、ステップS627において、情報記録媒体から読出したセクタデータをバスキー:Kbusで暗号化して、ステップS628においてホスト側に出力する。なお、ステップS627におけるセクタデータの暗号化処理は、例えば、先に図17を参照して説明したAES−CBCモードを適用した暗号化処理として実行される。
ステップS625において、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)の出力制御情報中の出力制御フラグ(OCF)が[0]に設定されていると判定した場合は、ステップS626,S627をスキップし、アプリケーションIDの判定処理、および情報記録媒体から読出したセクタデータのバスキー:Kbusによる暗号化処理を実行することなく、ステップS628に進み、情報記録媒体からの読出しコンテンツをそのままホスト側に出力する。なお、この読出しコンテンツは、例えばCSS規定に従った暗号化(スクランブル)コンテンツである。
この実施例においては、ドライブは、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)の出力制御情報中の出力制御フラグ(OCF)が[0]か[1]かを判定し、出力制御を実行するか否かを判定するともに、出力制御フラグ(OCF)に基づいて出力制御が必要とされる場合には、さらに、アプリケーションIDの検証、すなわち、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)の出力制御情報中のアプリケーションID[AIDucd]と、ホストドライブ間の相互認証および鍵交換(AKE)処理において、ドライブが、ホストから受領したホストのアプリケーション対応の公開鍵証明書から取得したアプリケーションID[AIDcert]とが一致するか否か、すなわち、
AIDucd=AIDcert
が成立するか否かを判定し、一致する場合にコンテンツ出力を許容して、出力コンテンツのバスキーによる暗号化を実行して出力する。
この構成とすることで、ホスト側で実行しているアプリケーションの確認に基づくコンテンツ出力が実現される。なお、アプリケーションIDは公開鍵証明書に格納されたデータであり、管理センタの署名に基づいて相互認証時に改竄検証の実行されたデータであるので、信頼性の担保されたデータに基づくアプリケーションの確認が可能となる。
次に、図21を参照して、出力制御情報中の[出力制御フラグ]と[アプリケーションID]と、[セキュリティレベル]とに基づいて、ドライブからホストに対するコンテンツ出力を制御するシーケンスについて説明する。
図21のフローの各ステップの処理について説明する。図21のフローにおいて、ステップS631〜S644は、先に説明した図20のフローにおけるステップS611〜S624と同様の処理であるので、説明を省略する。
ステップS644において、ホスト側からセクタデータの読み出し要求があると、ドライブは、ステップS645において、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)から出力制御情報を読み取り、[出力制御フラグ:OCF]の値を判定する。この処理は、図13のステップS208の処理に相当する。
出力制御フラグ:OCFは、先に図9を参照して説明したように、
OCF=1:出力制限あり、バス暗号化あり、
OCF=0:出力制限なし、
の設定情報である。
ステップS645において、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)の出力制御情報中の出力制御フラグ(OCF)が[1]に設定されていると判定した場合は、ステップS646に進み、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)の出力制御情報中のセキュリティレベル[SLucd]と、ホストドライブ間の相互認証および鍵交換(AKE)処理において、ドライブが、ホストから受領したホストのアプリケーション対応の公開鍵証明書(図14参照)から取得したセキュリティレベル[SLcert]との値の比較を実行する。
セクタヘッダ(ユーザ制御データ)の出力制御情報中に記録されたセキュリティレベル[SLucd]はコンテンツ出力を許容するアプリケーションのセキュリティレベルを設定した情報であり、許容する最低のセキュリティレベルの値が記録される。例えば1111(最高レベル)〜0000(最低レベル)のいずれかの値が設定される。ホストアプリケーション対応の公開鍵証明書に記録さたれセキュリティレベル[SLcert]は、ホストアプリケーション対応のセキュリティレベルの値である。
ドライブは、ホストアプリケーション対応のセキュリティレベル[SLcert]の値が、出力制御情報中に記録されたセキュリティレベル[SLucd]の値以上である場合に、コンテンツ出力の許容アプリケーションであると判定する。すなわち、
SLucd≦SLcert
である場合に、コンテンツ出力の許容アプリケーションであると判定する。
ステップS646において、
SLucd≦SLcert
が成立しないと判定した場合は、ステップS650においてドライブからホスト側にエラーメッセージを送信し、処理を終了する。この場合、コンテンツの送信は実行されない。
ステップS646において、
SLucd≦SLcert
が成立すると判定した場合は、さらに、ステップS647において、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)の出力制御情報中のアプリケーションID[AIDucd]と、ホストから受領したホストのアプリケーション対応の公開鍵証明書(図14参照)から取得したアプリケーションID[AIDcert]とが一致するか否か、すなわち、
AIDucd=AIDcert
が成立するか否かを判定する。
この処理は、図20において説明したステップS626の処理と同様である。
ステップS647において、
AIDucd=AIDcert
が成立しないと判定した場合は、ステップS650においてドライブからホスト側にエラーメッセージを送信し、処理を終了する。この場合、コンテンツの送信は実行されない。
ステップS647において、
AIDucd=AIDcert
が成立すると判定した場合は、ステップS648において、情報記録媒体から読出したセクタデータをバスキー:Kbusで暗号化して、ステップS649においてホスト側に出力する。なお、ステップS627におけるセクタデータの暗号化処理は、例えば、先に図17を参照して説明したAES−CBCモードを適用した暗号化処理として実行される。
なお、ステップS645において、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)の出力制御情報中の出力制御フラグ(OCF)が[0]に設定されていると判定した場合は、ステップS646〜S648をスキップし、セキュリティレベルの判定処理、アプリケーションIDの判定処理、および情報記録媒体から読出したセクタデータのバスキー:Kbusによる暗号化処理を実行することなく、ステップS649に進み、情報記録媒体からの読出しコンテンツをそのままホスト側に出力する。なお、この読出しコンテンツは、例えばCSS規定に従った暗号化(スクランブル)コンテンツである。
この実施例においては、ドライブは、読み出し対象のセクタデータに対応するセクタヘッダ(ユーザ制御データ)の出力制御情報中の出力制御フラグ(OCF)が[0]か[1]かを判定し、出力制御を実行するか否かを判定するともに、出力制御フラグ(OCF)に基づいて出力制御が必要とされる場合には、さらに、セキュリティレベルの検証と、アプリケーションIDの検証を実行する構成である。
本構成によれば、ホスト側で実行しているアプリケーションのセキュリティレベルと、アプリケーション確認に基づくコンテンツ出力が実現される。なお、セキュリティレベルとアプリケーションIDは公開鍵証明書に格納されたデータであり、管理センタの署名に基づいて相互認証時に改竄検証の実行されたデータであるので、信頼性の担保されたデータに基づくセキュリティレベルおよびアプリケーションの確認が可能となる。
[3.ホストおよびドライブを構成する情報処理装置の構成]
次に、図22、図23を参照して、例えば情報記録媒体の格納コンテンツの再生や外部からのコンテンツ入力およびドライブに対するコンテンツ出力などの各種の処理を行うPCなどによって構成されるホストおよび、情報記録媒体の格納コンテンツの読み取りおよび出力を実行するドライブ装置を構成する情報処理装置の構成例について説明する。
まず、図22を参照して、ホストとしての情報処理装置の構成について説明する。情報処理装置(ホスト)600は、OSやコンテンツ再生アプリケーションプログラム、相互認証処理プログラムなどの各種プログラムに従ったデータ処理を実行するCPU670、プログラム、パラメータ等の記憶領域としてのROM660、メモリ680、デジタル信号を入出力する入出力I/F610、アナログ信号を入出力し、A/D,D/Aコンバータ641を持つ入出力I/F640、MPEGデータのエンコード、デコード処理を実行するMPEGコーデック630、TS(Transport Stream)・PS(Program Stream)処理を実行するTS・PS処理手段620、相互認証、暗号化コンテンツの復号処理など各種の暗号処理を実行する暗号処理手段650、ハードディスクなどの記録媒体691、記録媒体691の駆動、データ記録再生信号の入出力を行なうドライブ690を有し、バス601に各ブロックが接続されている。
情報処理装置(ホスト)600は、例えばATAPIBUS等の接続バスによってドライブと接続され、上述したバスキーによって暗号化されたコンテンツは、デジタル信号用入出力I/F610から入力され、必要に応じて暗号化処理手段650によって、例えば、図18を参照して説明したAES−CBCモードによる復号処理が実行される。
なお、コンテンツ再生処理を実行するプログラムは例えばROM660内に保管されており、プログラムの実行処理中は必要に応じて、パラメータ、データの保管、ワーク領域としてメモリ680を使用する。
ROM660または記録媒体691には、先に図13を参照して説明した管理センタの公開鍵、ホストアプリケーションに対応する秘密鍵、ホストアプリケーションに対応する公開鍵証明書が格納されている。なお、複数のホストアプリケーションを保持している場合は、それぞれに対応する秘密鍵と公開鍵証明書が格納される。
次に、図23を参照して、情報記録媒体の格納コンテンツの読み取り、および情報処理装置(ホスト)に対する出力を実行するドライブの構成について説明する。ドライブ装置700は、コンテンツ読み取り、転送処理プログラム、相互認証処理プログラムなどの各種プログラムに従ったデータ処理を実行するCPU702、プログラム、パラメータ等の記憶領域としてのROM705、メモリ706、デジタル信号を入出力する入出力I/F703、相互認証、バスキーの生成、出力データの暗号化処理など各種の暗号処理を実行する暗号処理手段704、DVD,Blu−rayディスクなどの情報記録媒体708の駆動、データ記録再生信号の入出力を行なう記録媒体I/F707を有し、バス701に各ブロックが接続されている。
ドライブ700は、例えばATAPIBUS等の接続バスによって情報処理装置(ホスト)と接続され、例えば情報記録媒体708に格納された暗号化(スクランブル)コンテンツをバスキー:Kbusで、再暗号化し入出力I/F703から出力する。バスキー:Kbusを適用したコンテンツの暗号化は、暗号化処理手段704によって、例えば、図17を参照して説明したAES−CBCモードで実行される。
なお、ROM705、またはメモリ706には、先に図13を参照して説明した管理センタの公開鍵、ドライブに対応する秘密鍵、ドライブに対応する公開鍵証明書、および暗号鍵ブロックRKBの処理に適用するためのデバイスキー:Kdevが格納されている。また、コンテンツの読み取り、取得、および相互認証処理を実行するプログラム等が格納されている。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の構成によれば、例えばコンテンツ再生処理や記録処理など機器間でのデータ転送を伴うデータ処理を実行する場合に、データ転送機器間において認証処理を実行し、この認証処理において認証相手機器の公開鍵証明書の格納データからチャネルタイプ情報を取得し、チャネルタイプ情報に基づいて適用するチャネルタイプを確認し、確認したチャネルタイプに基づいて認証成立の可否を判定する構成としたので、不正なアプリケーションやドライブが接続して、不正に取得した鍵によって認証を成立させて、コンテンツの転送を行なわせる処理を排除できる。例えばホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)適用のデータ処理を行なうホスト−デバイスタイプであることの確認を認証成立の条件としたので、例えば、他のタイプのチャネルを適用するアプリケーションやドライブが不正な鍵情報を有し認証を成立させてコンテンツを不正に入手するなどの処理を排除可能となる。
さらに、本発明の構成によれば、公開鍵証明書の格納データとしてのセキュア認証チャネル(SAC)タイプ情報に基づいて、公開鍵証明書に設定されたチャネルタイプが、ATAPIバス接続、またはUSBバス接続、またはIEEE1394におけるシリアルバスプロトコル(SBP)を適用したセキュアチャネルを適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認し、これらの確認処理を条件とした認証を行なう構成としたので、特定のセキュアチャネルを適用したデータ処理を実行するアプリケーションとドライブとの対応が成立した場合にのみチャネル間のデータ転送を伴うデータ処理が許容され、不正なアプリケーションやドライブの接続によるコンテンツの不正取得を排除することが可能となる。
さらに、本発明の構成によれば、認証相手の公開鍵証明書の格納データに基づいて、認証相手のデバイスタイプを確認する。具体的には、アプリケーション実行機器としてのホストであるか、情報記録媒体に対するデータ記録処理または再生処理を実行するドライブであるかのいずれかを確認し、チャネルタイプと、デバイスタイプとに基づいて認証成立の可否を判定する構成としたので、さらに厳格な認証が可能となり、不正なアプリケーションやドライブの接続によるコンテンツの不正取得を排除することが可能となる。
従来の情報記録媒体格納コンテンツの再生シーケンスを説明する図である。 従来の情報処理装置(ホスト)におけるドライブ出力コンテンツの再生シーケンスを説明する図である。 ドライブからのコンテンツ出力シーケンスを説明するフロー図である。 従来のホストドライブ間のコンテンツ転送を伴う処理構成におけるコンテンツの不正利用例を説明する図である。 従来のホストドライブ間のコンテンツ転送を伴う処理構成におけるコンテンツの不正利用例を説明する図である。 本発明の情報記録媒体の格納データについて説明する図である。 本発明の情報記録媒体の格納データの構成について説明する図である。 本発明の情報記録媒体の格納データとしてのセクタデータおよびセクタヘッダの構成について説明する図である。 本発明の情報記録媒体のセクタヘッダに記録される出力制御情報の詳細について説明する図である。 情報記録媒体の格納コンテンツの読み取り、再生を実行する再生機器の処理シーケンスについて説明する図である。 情報記録媒体の格納コンテンツの再生において実行するAES暗号アルゴリズムに従った鍵生成処理について説明する図である。 情報記録媒体の格納コンテンツの再生において実行するAES暗号アルゴリズムに従ったデータ復号処理について説明する図である。 本発明のドライブ装置と情報処理装置(ホスト)において実行するコンテンツ転送を伴う再生シーケンスを説明する図である。 ドライブ装置と情報処理装置(ホスト)に格納される公開鍵証明書のデータ構成について説明する図である。 ドライブ装置と情報処理装置(ホスト)間で実行する相互認証および鍵交換(AKE)処理シーケンスを説明する図である。 ドライブ装置と情報処理装置(ホスト)間で実行する相互認証時の公開鍵証明書の検証処理シーケンスを説明するフロー図である。 ドライブ装置で実行するコンテンツのバスキー:Kbusに基づく暗号化処理構成を説明する図である。 情報処理装置(ホスト)で実行するコンテンツのバスキー:Kbusに基づく復号処理構成を説明する図である。 ドライブ装置で実行するコンテンツの出力制御処理例1を説明するフローチャートを示す図である。 ドライブ装置で実行するコンテンツの出力制御処理例2を説明するフローチャートを示す図である。 ドライブ装置で実行するコンテンツの出力制御処理例3を説明するフローチャートを示す図である。 本発明の情報処理装置(ホスト)の構成例を示す図である。 本発明のドライブ装置の構成例を示す図である。
符号の説明
10 情報記録媒体
11 暗号化ディスクキー
12 暗号化タイトルキー
13 スクランブルMPEGデータ
20 再生機器
25 音声/映像データ
30 ドライブ
40 プレーヤ・アプリケーション
45 音声/映像データ
60 ドライブ
61 鍵情報
70 ホスト側プレーヤ・アプリケーション
71 鍵情報
100 情報記録媒体
101 ユーザデータ領域
102 リードイン領域
111 暗号化コンテンツ
112 ユニットキー生成情報
113 リボーク情報
114 ROMマーク
120 暗号鍵情報
121 暗号鍵ブロック(RKB)
122 暗号化ディスクキー
151 出力制御情報
200 情報記録媒体
201 リボーク情報
202 暗号鍵ブロック(RKB)
203 暗号化ディスクキー
204 ROMマーク
205 ユニットキー生成情報
206 暗号化コンテンツ
300 ドライブ兼用再生機器
301 デバイスキー
311 AES暗号処理ブロック
321 AES鍵生成処理ブロック
322 AES復号処理ブロック
323 復号セクタデータ
350 セクタデータ
351 AES暗号処理部
352 バスキーによる暗号化セクタデータ
370 バスキーによる暗号化セクタデータ
371 AES復号処理部
372 暗号化(スクランブル)セクタデータ
400 ドライブ装置
401 管理センタ公開鍵
402 ドライブ秘密鍵
403 ドライブ公開鍵証明書
404 デバイスキー
500 情報処理装置(ホスト)
501 管理センタ公開鍵
502 ホストアプリケーション秘密鍵
503 ホストアプリケーション公開鍵証明書
520 コンテンツ
530 ドライブ公開鍵証明書
531 SACタイプ
532 デバイスタイプ
550 ホストアプリケーション公開鍵証明書
551 セキュリティレベル
552 アプリケーションID
553 SACタイプ
554 デバイスタイプ
600 情報処理装置(ホスト)
601 バス
610 入出力I/F
620 TS・PS処理手段
630 MPEGコーデック
640 入出力I/F
641 A/D,D/Aコンバータ
650 暗号処理手段
660 ROM
670 CPU
680 メモリ
690 ドライブ
691 記録媒体
700 ドライブ装置
701 バス
702 CPU
703 入出力I/F
704 暗号処理手段
705 ROM
706 メモリ
707 記録媒体I/F
708 情報記録媒体

Claims (15)

  1. 情報処理装置であり、
    データ転送処理を行なうインタフェースと、
    データ処理を実行するデータ処理部とを有し、
    前記データ処理部は、
    前記インタフェースを介したデータ転送を伴うデータ処理の実行条件として、データ転送対象との認証処理を実行し、該認証処理において認証相手の保持する公開鍵証明書の格納データに基づいて、データ転送において適用するチャネルタイプを確認し、該チャネルタイプに基づいて認証成立の可否を判定する構成であることを特徴とする情報処理装置。
  2. 前記データ処理部は、
    認証相手の保持する公開鍵証明書の格納データとしてのセキュア認証チャネル(SAC)タイプ情報に基づいて、
    公開鍵証明書に設定されたチャネルタイプが、
    ホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認し、該確認に基づいて認証の成立可否を判定する構成であることを特徴とする請求項1に記載の情報処理装置。
  3. 前記データ処理部は、
    認証相手の保持する公開鍵証明書の格納データとしてのセキュア認証チャネル(SAC)タイプ情報に基づいて、
    公開鍵証明書に設定されたチャネルタイプが、
    ATAPIバス接続、またはUSBバス接続、またはIEEE1394におけるシリアルバスプロトコル(SBP)を適用したセキュアチャネルを適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認し、該確認に基づいて認証の成立可否を判定する構成であることを特徴とする請求項1に記載の情報処理装置。
  4. 前記データ処理部は、
    前記認証処理において、認証相手の保持する公開鍵証明書の格納データに基づいて、さらに認証相手のデバイスタイプを確認し、該デバイスタイプに基づいて認証の成立可否を判定する構成であることを特徴とする請求項1に記載の情報処理装置。
  5. 前記デバイスタイプは、
    アプリケーション実行機器としてのホストであるか、情報記録媒体に対するデータ記録処理または再生処理を実行するドライブであるかのいずれかを示す情報であり、
    前記データ処理部は、
    予め定めた認証条件としてのデバイスタイプに基づいて認証の成立可否を判定する構成であることを特徴とする請求項4に記載の情報処理装置。
  6. 前記情報処理装置は、
    ドライブとの接続を行い、アプリケーションを実行するホスト機器であり、
    前記データ処理部は、
    前記認証処理において、ドライブから受領する公開鍵証明書の格納データに基づいて、
    前記ドライブが、
    ホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したホスト−デバイスタイプのデータ処理を実行するドライブであることの確認であるSACタイプ確認と、
    デバイスタイプがドライブであることの確認であるデバイスタイプ確認と、
    上記2つの確認を認証成立の条件とした認証処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  7. 前記情報処理装置は、
    アプリケーションを実行するホスト機器と接続し、情報記録媒体に対するデータ記録または読み取りを実行するドライブであり、
    前記データ処理部は、
    前記認証処理において、アプリケーションを実行するホストから受領する公開鍵証明書の格納データに基づいて、
    前記アプリケーションが、
    ホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したホスト−デバイスタイプのデータ処理を実行するアプリケーションであることのSACタイプ確認と、
    デバイスタイプがホストであることの確認であるデバイスタイプ確認と、
    上記2つの確認を認証成立の条件とした認証処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  8. 認証処理方法であり、
    認証相手の保持する公開鍵証明書を取得する公開鍵証明書取得ステップと、
    前記公開鍵証明書の格納データからチャネルタイプ情報を取得する情報取得ステップと、
    前記チャネルタイプ情報に基づいて、認証相手とのデータ転送において適用するチャネルタイプを確認するチャネルタイプ確認ステップと、
    前記チャネルタイプ確認ステップにおいて確認したチャネルタイプに基づいて認証成立の可否を判定する認証可否判定ステップと、
    を有することを特徴とする認証処理方法。
  9. 前記チャネルタイプ確認ステップは、
    公開鍵証明書の格納データとしてのセキュア認証チャネル(SAC)タイプ情報に基づいて、公開鍵証明書に設定されたチャネルタイプが、
    ホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認するステップであることを特徴とする請求項8に記載の認証処理方法。
  10. 前記チャネルタイプ確認ステップは、
    公開鍵証明書の格納データとしてのセキュア認証チャネル(SAC)タイプ情報に基づいて、公開鍵証明書に設定されたチャネルタイプが、
    ATAPIバス接続、またはUSBバス接続、またはIEEE1394におけるシリアルバスプロトコル(SBP)を適用したセキュアチャネルを適用したデータ処理を行なうホスト−デバイスタイプであるか否かを確認するステップであることを特徴とする請求項8に記載の認証処理方法。
  11. 前記認証処理方法は、さらに、
    認証相手の保持する公開鍵証明書の格納データに基づいて、さらに認証相手のデバイスタイプを確認するデバイスタイプ確認ステップを有し、
    前記認証可否判定ステップは、
    前記チャネルタイプ確認ステップにおいて確認したチャネルタイプと、前記デバイスタイプ確認ステップにおいて確認したデバイスタイプとに基づいて認証成立の可否を判定するステップであることを特徴とする請求項8に記載の認証処理方法。
  12. 前記デバイスタイプは、
    アプリケーション実行機器としてのホストであるか、情報記録媒体に対するデータ記録処理または再生処理を実行するドライブであるかのいずれかを示す情報であり、
    前記認証可否判定ステップは、
    予め定めた認証条件としてのデバイスタイプに基づいて認証の成立可否を判定することを特徴とする請求項11に記載の認証処理方法。
  13. 前記認証処理は、ドライブとの接続を行い、アプリケーションを実行するホスト機器において実行する認証処理であり、前記ホスト機器は、ドライブから取得した公開鍵証明書の格納データに基づいて、前記ドライブが、ホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したホスト−デバイスタイプのデータ処理を実行するドライブであることの確認であるSACタイプ確認と、
    デバイスタイプがドライブであることの確認であるデバイスタイプ確認と、
    上記2つの確認を認証成立の条件とした認証処理を実行することを特徴とする請求項8に記載の認証処理方法。
  14. 前記認証処理は、アプリケーションを実行するホスト機器と接続し、情報記録媒体に対するデータ記録または読み取りを実行するドライブにおいて実行する認証処理であり、前記ドライブは、アプリケーションを実行するホストから受領した公開鍵証明書の格納データに基づいて、前記アプリケーションがホストアプリケーション主導のデータ処理を実行するセキュア認証チャネル(SAC)を適用したホスト−デバイスタイプのデータ処理を実行するアプリケーションであることのSACタイプ確認と、
    デバイスタイプがホストであることの確認であるデバイスタイプ確認と、
    上記2つの確認を認証成立の条件とした認証処理を実行することを特徴とする請求項8に記載の認証処理方法。
  15. 認証処理を実行するコンピュータ・プログラムであり、
    認証相手の保持する公開鍵証明書を取得する公開鍵証明書取得ステップと、
    前記公開鍵証明書の格納データからチャネルタイプ情報を取得する情報取得ステップと、
    前記チャネルタイプ情報に基づいて、認証相手とのデータ転送において適用するチャネルタイプを確認するチャネルタイプ確認ステップと、
    前記チャネルタイプ確認ステップにおいて確認したチャネルタイプに基づいて認証成立の可否を判定する認証可否判定ステップと、
    を有することを特徴とするコンピュータ・プログラム。
JP2004062959A 2004-03-05 2004-03-05 情報処理装置、および認証処理方法、並びにコンピュータ・プログラム Expired - Fee Related JP4576853B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004062959A JP4576853B2 (ja) 2004-03-05 2004-03-05 情報処理装置、および認証処理方法、並びにコンピュータ・プログラム
US11/072,055 US7565691B2 (en) 2004-03-05 2005-03-03 Information processing apparatus, authentication processing method, and computer program
TW094106682A TW200540825A (en) 2004-03-05 2005-03-04 Information processing apparatus, authentication processing method, and computer program
CNB2005100762167A CN100365595C (zh) 2004-03-05 2005-03-07 信息处理设备、验证处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004062959A JP4576853B2 (ja) 2004-03-05 2004-03-05 情報処理装置、および認証処理方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2005252866A true JP2005252866A (ja) 2005-09-15
JP4576853B2 JP4576853B2 (ja) 2010-11-10

Family

ID=34909293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004062959A Expired - Fee Related JP4576853B2 (ja) 2004-03-05 2004-03-05 情報処理装置、および認証処理方法、並びにコンピュータ・プログラム

Country Status (4)

Country Link
US (1) US7565691B2 (ja)
JP (1) JP4576853B2 (ja)
CN (1) CN100365595C (ja)
TW (1) TW200540825A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183910A (ja) * 2005-12-07 2007-07-19 Matsushita Electric Ind Co Ltd 設計情報提供システムおよび設計情報提供サーバ
JP2008125064A (ja) * 2006-11-08 2008-05-29 Internatl Business Mach Corp <Ibm> チャレンジ・レスポンス・プロトコルによる暗号化テープ・アクセス制御方法およびシステム
JP2008131557A (ja) * 2006-11-24 2008-06-05 Matsushita Electric Ind Co Ltd 映像音声出力機器、認証処理方法及び映像音声処理システム
KR100950457B1 (ko) * 2008-06-13 2010-04-02 주식회사 드리머아이 단방향 모바일 단말기를 위한 안전한 인증 채널 프로토콜구현 방법
US8151331B2 (en) 2005-12-07 2012-04-03 Panasonic Corporation Information providing system and design information providing server

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7607024B2 (en) * 2003-08-01 2009-10-20 Koninklijke Phillips Electronics N.V. Record carrier comprising encryption indication information
TWI277870B (en) * 2004-11-22 2007-04-01 Toshiba Corp Copyright management method, information recording/reproducing method and device, and information recording medium and method of manufacturing the medium
US7958370B2 (en) * 2005-09-29 2011-06-07 Hitachi Global Storage Technologies, Netherlands, B.V. System and device for managing control data
JP4755472B2 (ja) * 2005-09-29 2011-08-24 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ データ転送方法及びシステム
GB2431254A (en) * 2005-10-11 2007-04-18 Hewlett Packard Development Co Data transfer system
US20080291801A1 (en) * 2005-11-29 2008-11-27 Koninklijke Philips Electronics, N.V. Record Carrier with Copy Protection Means
JP2007243717A (ja) * 2006-03-09 2007-09-20 Toshiba Corp 情報再生装置
US8037522B2 (en) * 2006-03-30 2011-10-11 Nokia Corporation Security level establishment under generic bootstrapping architecture
JP2008022366A (ja) * 2006-07-13 2008-01-31 Toshiba Corp 鍵情報更新記録方法および装置
US8627482B2 (en) * 2006-07-24 2014-01-07 Thomson Licensing Method, apparatus and system for secure distribution of content
KR101310232B1 (ko) * 2007-04-24 2013-09-24 삼성전자주식회사 버스 키 공유 방법 및 그 장치
US8423789B1 (en) 2007-05-22 2013-04-16 Marvell International Ltd. Key generation techniques
US7907735B2 (en) 2007-06-15 2011-03-15 Koolspan, Inc. System and method of creating and sending broadcast and multicast data
EP2235657B1 (en) * 2007-12-21 2014-11-26 Motorola Mobility LLC System and method for preventing unauthorised use of digital media
US20100014673A1 (en) * 2008-07-21 2010-01-21 Electronics And Telecommunications Research Institute Radio frequency identification (rfid) authentication apparatus having authentication function and method thereof
CN102396179B (zh) * 2009-04-16 2014-07-23 株式会社东芝 内容数据再现系统、以及记录装置
JP5901175B2 (ja) * 2011-08-08 2016-04-06 アイキューブド研究所株式会社 コンテンツ処理装置、コンテンツ処理方法、およびプログラム
US8874917B2 (en) * 2012-07-26 2014-10-28 Kabushiki Kaisha Toshiba Storage system in which fictitious information is prevented
US20140032866A1 (en) * 2012-07-26 2014-01-30 Yuji Nagai Storage system in which information is prevented
US20140032867A1 (en) * 2012-07-26 2014-01-30 Yuji Nagai Storage system in which information is prevented
US8732470B2 (en) * 2012-07-26 2014-05-20 Kabushiki Kaisha Toshiba Storage system in which fictitious information is prevented
US9418022B2 (en) * 2012-07-26 2016-08-16 Kabushiki Kaisha Toshiba Storage system in which information is prevented
JP6238527B2 (ja) * 2013-02-20 2017-11-29 株式会社ワイ・イー・シー 複写装置
US10594691B2 (en) * 2014-03-28 2020-03-17 Sony Corporation Information processing apparatus, information processing method, and program
JP6561436B2 (ja) * 2014-07-17 2019-08-21 セイコーエプソン株式会社 情報処理装置、情報処理装置を制御する方法、コンピュータープログラム
US10162958B2 (en) * 2016-03-15 2018-12-25 Ricoh Company, Ltd. Information processing system, information processing method, and non-transitory computer program product
CA3086236A1 (en) * 2017-12-18 2019-06-27 Beijing Sankuai Online Technology Co., Ltd Encrypted storage of data
KR20190074857A (ko) 2017-12-20 2019-06-28 삼성전자주식회사 펌웨어를 업데이트하는 인터페이스 장치, 모바일 장치 및 펌웨어 업데이트 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242169A (ja) * 1999-02-18 2000-09-08 Nippon Telegr & Teleph Corp <Ntt> 公開鍵証明証の有効性確認方法および装置と公開鍵証明証の有効性確認プログラムを記録した記録媒体
JP2004005830A (ja) * 2002-05-31 2004-01-08 Sony Corp 情報読み出し装置、情報書き込み装置、情報読み出し方法、情報書き込み方法、プログラムおよび記憶媒体
JP2004120736A (ja) * 2002-09-05 2004-04-15 Matsushita Electric Ind Co Ltd グループ形成管理システム、グループ管理機器及びメンバー機器
JP2006527955A (ja) * 2003-06-17 2006-12-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 改善された安全認証されたチャネル

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7224805B2 (en) * 2001-07-06 2007-05-29 Nokia Corporation Consumption of content
JP4690600B2 (ja) * 2001-08-23 2011-06-01 富士通株式会社 データ保護方法
US7110982B2 (en) * 2001-08-27 2006-09-19 Dphi Acquisitions, Inc. Secure access method and system
US7272858B2 (en) * 2002-04-16 2007-09-18 Microsoft Corporation Digital rights management (DRM) encryption and data-protection for content on a relatively simple device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242169A (ja) * 1999-02-18 2000-09-08 Nippon Telegr & Teleph Corp <Ntt> 公開鍵証明証の有効性確認方法および装置と公開鍵証明証の有効性確認プログラムを記録した記録媒体
JP2004005830A (ja) * 2002-05-31 2004-01-08 Sony Corp 情報読み出し装置、情報書き込み装置、情報読み出し方法、情報書き込み方法、プログラムおよび記憶媒体
JP2004120736A (ja) * 2002-09-05 2004-04-15 Matsushita Electric Ind Co Ltd グループ形成管理システム、グループ管理機器及びメンバー機器
JP2006527955A (ja) * 2003-06-17 2006-12-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 改善された安全認証されたチャネル

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183910A (ja) * 2005-12-07 2007-07-19 Matsushita Electric Ind Co Ltd 設計情報提供システムおよび設計情報提供サーバ
US8151331B2 (en) 2005-12-07 2012-04-03 Panasonic Corporation Information providing system and design information providing server
US8887252B2 (en) 2005-12-07 2014-11-11 Panasonic Corporation Information providing system and design information providing server
JP2008125064A (ja) * 2006-11-08 2008-05-29 Internatl Business Mach Corp <Ibm> チャレンジ・レスポンス・プロトコルによる暗号化テープ・アクセス制御方法およびシステム
US9141819B2 (en) 2006-11-08 2015-09-22 International Business Machines Corporation Encrypted tape access control via challenge-response protocol
JP2008131557A (ja) * 2006-11-24 2008-06-05 Matsushita Electric Ind Co Ltd 映像音声出力機器、認証処理方法及び映像音声処理システム
KR100950457B1 (ko) * 2008-06-13 2010-04-02 주식회사 드리머아이 단방향 모바일 단말기를 위한 안전한 인증 채널 프로토콜구현 방법

Also Published As

Publication number Publication date
CN100365595C (zh) 2008-01-30
CN1716218A (zh) 2006-01-04
US7565691B2 (en) 2009-07-21
US20050198529A1 (en) 2005-09-08
TW200540825A (en) 2005-12-16
JP4576853B2 (ja) 2010-11-10
TWI329867B (ja) 2010-09-01

Similar Documents

Publication Publication Date Title
JP4576853B2 (ja) 情報処理装置、および認証処理方法、並びにコンピュータ・プログラム
JP4144573B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US20030051151A1 (en) Information processing apparatus, information processing method and program
WO2011111370A1 (ja) 記録システム、再生システム、鍵配信サーバ、記録装置、記録媒体装置、再生装置、記録方法、及び、再生方法
KR20090016709A (ko) 컨텐츠 기록을 위한 장치, 방법 및 컴퓨터 판독가능한 기록 매체
US20080292103A1 (en) Method and apparatus for encrypting and transmitting contents, and method and apparatus for decrypting encrypted contents
WO2005109747A1 (ja) 情報処理装置
JP2004220317A (ja) 相互認証方法、プログラム、記録媒体、信号処理システム、再生装置および情報処理装置
JP2007026120A (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
KR20050118156A (ko) 기록장치 및 콘텐츠 보호 시스템
JPWO2004053699A1 (ja) 記録再生装置、データ処理装置および記録再生処理システム
JP2005122365A (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP3979350B2 (ja) 情報記録媒体ドライブ装置、情報処理装置、データ再生制御システム、および方法、並びにコンピュータ・プログラム
JP4239741B2 (ja) 情報記録媒体製造管理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
JP2004311000A (ja) 記録装置及び著作権保護システム
JP2007505347A (ja) コンテンツプロテクト方法及びシステム
JP5644467B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP4367166B2 (ja) ドライブ装置、再生処理装置、情報記録媒体、およびデータ処理方法、並びにコンピュータ・プログラム
JP2002244552A (ja) 情報再生装置、情報再生方法、および情報記録媒体、並びにプログラム記憶媒体
JP4752198B2 (ja) ドライブ装置、再生処理装置、情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP2007025913A (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP4547880B2 (ja) 情報処理装置、情報記録媒体再生装置、コンテンツ利用制御システム、および方法、並びにコンピュータ・プログラム
JP2002236622A (ja) 情報再生装置、情報記録装置、情報再生方法、情報記録方法、および情報記録媒体、並びにプログラム記憶媒体
JP2005352522A (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP2005522754A (ja) ユーザデータをレンダリングするための装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100708

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100809

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

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees