JP6119741B2 - 情報処理装置、情報記憶装置、サーバ、情報処理システム、および情報処理方法、並びにプログラム - Google Patents

情報処理装置、情報記憶装置、サーバ、情報処理システム、および情報処理方法、並びにプログラム Download PDF

Info

Publication number
JP6119741B2
JP6119741B2 JP2014511343A JP2014511343A JP6119741B2 JP 6119741 B2 JP6119741 B2 JP 6119741B2 JP 2014511343 A JP2014511343 A JP 2014511343A JP 2014511343 A JP2014511343 A JP 2014511343A JP 6119741 B2 JP6119741 B2 JP 6119741B2
Authority
JP
Japan
Prior art keywords
information
key
title key
user
bind
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
JP2014511343A
Other languages
English (en)
Other versions
JPWO2014030427A1 (ja
Inventor
久野 浩
浩 久野
義行 小林
義行 小林
隆道 林
隆道 林
克美 村松
克美 村松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Publication of JPWO2014030427A1 publication Critical patent/JPWO2014030427A1/ja
Application granted granted Critical
Publication of JP6119741B2 publication Critical patent/JP6119741B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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
    • 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
    • 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/00855Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4181External card to be used in combination with the client device, e.g. for conditional access for conditional access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4184External card to be used in combination with the client device, e.g. for conditional access providing storage capabilities, e.g. memory stick
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4753End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for user identification, e.g. by entering a PIN or password
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本開示は、情報処理装置、情報記憶装置、サーバ、情報処理システム、および情報処理方法、並びにプログラムに関する。特に、コンテンツの利用制御を行う情報処理装置、情報記憶装置、サーバ、情報処理システム、および情報処理方法、並びにプログラムに関する。
例えば映画や音楽などのコンテンツは、DVD(Digital Versatile Disc)や、Blu−ray Disc(登録商標)、あるいはフラッシュメモリなど、様々なメディア、あるいはインターネット等のネットワーク、あるいは放送波などを介してユーザに提供される。ユーザは、例えばPC、携帯端末、BDプレーヤ等の記録再生装置、テレビなど様々な情報処理装置を利用して、コンテンツの再生を行うことができる。
しかし、これらユーザに提供される音楽データ、画像データ等の多くのコンテンツは、その作成者あるいは販売者に著作権、頒布権等が保有されている。従って、コンテンツ提供者は、ユーザにコンテンツを提供する場合、所定のコンテンツ利用制御を行う場合が多い。
デジタル記録装置および記録媒体によれば、例えば画像や音声を劣化させることなく記録、再生を繰り返すことが可能であり、不正コピーコンテンツのインターネットを介した配信や、いわゆる海賊版ディスクの流通など不正コピーコンテンツの利用が蔓延しているといった問題が発生している。
このようなコンテンツの不正利用を防止するための具体的構成として、コンテンツの暗号化処理がある。ユーザに提供するコンテンツを暗号化して、その暗号鍵を正規ユーザのみに取得可能な設定とした構成である。これらの処理については、例えば特許文献1(特開2008−98765号公報)等に記載がある。
暗号化データを復号するために用いる暗号鍵を、暗号化コンテンツの購入時、例えばダウンロード時に暗号化コンテンツとともにユーザの所有するメディア、例えばメモリカードに記録する。
コンテンツの再生時に、メモリカードを装着した再生装置がメモリカードから暗号化コンテンツと暗号鍵を読み出して、暗号鍵を適用して暗号化コンテンツの復号を行うことでコンテンツの再生が可能となる。
このように、暗号化コンテンツと暗号鍵を1つのデータセットとしてメモリカード等のメディアに記録することで、コンテンツを1つのメディアに対応付けるいわゆるメディアバインド型のコンテンツ利用制御が実現される。
このようなメディアバインド型のコンテンツは、メディアを装着可能な様々な再生装置において再生することができる。
昨今のコンテンツ取得処理の多くは、ネットワークを介したコンテンツのダウンロード処理によって行われる。ユーザは、メモリカード等のメディアにダウンロードコンテンツを格納し、様々な再生装置にメディアを装着してメディアからコンテンツを読み出して再生する。
しかし、コンテンツを格納したメディアが破損する可能性や、ユーザがコンテンツを誤ってメディアから削除してしまう可能性がある。
このような問題に対応するため、コンテンツプロバイダ等のコンテンツ配信サービス業者は、例えば以下のような対応を行っている。
(a)コンテンツを複数のメディアにダウンロードすることを認める。
(b)ユーザがコンテンツ格納メディアを破損、あるいは、誤ってコンテンツを削除したとの申請に応じて、コンテンツの再ダウンロードを認める。
例えば、上記のような対応を行い、ユーザの利便性を向上させている。
しかし、現実問題として、メディアの破損や、誤ったコンテンツ削除等の申請が正しく行われるとは限らず、その申請が偽りの申請である可能性がある。
従って、複数メディアへのダウンロードや再ダウンロード処理は、ユーザの利便性を向上させる一面を有する一方、不正なコンテンツ利用や流通を増加させる要因にもなる。
不正なユーザはメディアが破損していないにも関わらず、メディアが破損したとの申請を行い、コンテンツを不正にダウンロードして複数のメディアに記録し、このメディアを他人に譲渡あるいは転売する処理を行なう可能性がある。
このような処理が行われると、コンテンツの不正利用が蔓延することになる。
このような不正利用を防止するための構成として、以下のようなコンテンツ利用制御も提案され、一部で実施されている。
すなわち、コンテンツ再生前にユーザの再生装置をコンテンツ管理サーバに接続させ、ユーザID等のユーザアカウント情報をサーバに送信させる。サーバはユーザアカウントが正規登録ユーザのものであることを確認し、確認がなされたことを条件として、再生装置にコンテンツ再生許可を送信する。ユーザ再生装置はサーバからの再生許可情報を受信したことを条件としてコンテンツ再生を開始する。
このような制御を行なうシステムである。
しかし、上記の制御を行なうためには、ユーザの再生装置はサーバとの通信を行なうための通信機能を有し、かつ、通信可能な環境下にあることが必要となる。
従って、例えば、通信機能を持たない再生装置やカーナビ、あるいは飛行機内など通信の不可能な環境においては、サーバから再生許可情報を受信することができず、コンテンツ再生ができなくなってしまう。
また、例えば、サーバの故障やメンテナンスなどによってサーバが動作を停止している期間も、コンテンツの再生が不可能になるという問題も起こり得る。
特開2008−98765号公報
本開示は、例えば上記問題点に鑑みてなされたものであり、通信機能を持たない再生装置、あるいは通信が実行できない環境下であっても、所定のシーケンスに従ったユーザ認証処理を実行してユーザ認証の成立を条件としてコンテンツ利用を許容するコンテンツ利用制御を実現する情報処理装置、情報記憶装置、サーバ、情報処理システム、および情報処理方法、並びにプログラムを提供することを目的とする。
本開示の第1の側面は、
暗号化コンテンツを格納する記憶部と、
外部装置の前記記憶部へのアクセス制御を実行するデータ処理部を有し、
前記記憶部は、
前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、
前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報を変換したユーザトークンを格納し、
前記データ処理部は、
前記記憶部へのアクセス権が確認された外部装置に対して、前記ユーザトークンの読み出しを許容する情報記憶装置にある。
さらに、本開示の情報記憶装置の一実施態様において、前記ユーザトークンは、前記暗号化コンテンツの利用管理を行なうサーバの登録アカウント情報に含まれるユーザ識別情報と、前記バインド秘密情報とに基づいて生成される認証鍵との演算処理によって算出可能なデータである。
さらに、本開示の情報記憶装置の一実施態様において、前記ユーザトークンは、前記暗号化コンテンツの利用管理を行なうサーバの登録アカウント情報に含まれるユーザIDおよびユーザパスワードと、前記バインド秘密情報とに基づいて生成した認証鍵との演算処理による算出データである。
さらに、本開示の情報記憶装置の一実施態様において、前記ユーザトークンは、前記バインド秘密情報を含むデータに対する前記認証鍵による暗号化データである。
さらに、本開示の情報記憶装置の一実施態様において、前記ユーザトークンは、前記バインド秘密情報と該バインド秘密情報に対する検証値を含むデータに対する前記認証鍵による暗号化データである。
さらに、本開示の情報記憶装置の一実施態様において、前記バインド秘密情報は、前記暗号化コンテンツに固有の値である。
さらに、本開示の第2の側面は、
タイトルキーによって暗号化された暗号化コンテンツを格納したメディアを装着し、前記暗号化コンテンツの復号処理を実行するデータ処理部を有し、
前記データ処理部は、
前記メディアから、前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、
前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報を変換したユーザトークンを取得し、
入力部を介した入力処理、またはメモリからの読み出し処理によって取得したユーザ識別情報に基づいて認証鍵を生成し、
前記ユーザトークンと前記認証鍵との演算処理によって前記バイント秘密情報を算出し、
算出した前記バインド秘密情報を適用して前記変換タイトルキーからタイトルキーを算出し、
算出したタイトルキーを適用して前記暗号化コンテンツの復号処理を実行する情報処理装置にある。
さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、入力部を介した入力処理、またはメモリからの読み出し処理によって取得したユーザIDおよびユーザパスワードに対する演算処理を実行して前記認証鍵を生成する。
さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、前記認証鍵を適用した前記ユーザトークンの復号処理を実行して前記バインド秘密情報を算出する。
さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、前記認証鍵を適用した前記ユーザトークンの復号処理を実行して前記バインド秘密情報と、該バインド秘密情報に対する検証値を算出し、算出検証値を利用して、算出したバインド秘密情報の検証処理を実行する。
さらに、本開示の情報処理装置の一実施態様において、前記データ処理部は、前記バインド秘密情報と、前記変換タイトルキーとの排他的論理和演算を実行してタイトルキーを算出する。
さらに、本開示の第3の側面は、
情報記憶装置に対して暗号化コンテンツの送信を行うサーバであり、
前記情報記憶装置を装着した情報処理装置からユーザ識別情報を受信し、
受信したユーザ識別情報を適用した演算処理によりユーザトークンと、
前記暗号化コンテンツの暗号処理に適用するタイトルキーの変換データである変換タイトルキーを生成し、
生成したユーザトークンと変換タイトルキーを前記情報記憶装置の格納データとして送信する処理を実行するサーバにある。
さらに、本開示のサーバの一実施態様において、前記サーバは、前記ユーザ識別情報として、ユーザIDおよびパスワードを受信し、ユーザIDおよびパスワードに対する演算処理によって前記認証鍵を生成する。
さらに、本開示のサーバの一実施態様において、前記サーバは、前記暗号化コンテンツに対応する固有値としてのバインド秘密情報を生成し、前記バインド秘密情報に対する前記認証鍵を適用した暗号化処理により、前記ユーザトークンを生成する。
さらに、本開示の第4の側面は、
暗号化コンテンツと、暗号化コンテンツの復号鍵であるタイトルキーを変換した変換タイトルキーと、前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報を変換したユーザトークンを格納した情報記憶装置と、
前記暗号化コンテンツの再生処理を実行する情報処理装置を有する情報処理システムであり、
前記情報処理装置は、
前記情報記憶装置から、前記変換タイトルキーと、前記ユーザトークンを取得し、
入力部を介した入力処理、またはメモリからの読み出し処理によって取得したユーザ識別情報に基づいて認証鍵を生成し、
前記ユーザトークンと前記認証鍵との演算処理によって前記バイント秘密情報を算出し、
算出した前記バインド秘密情報を適用して前記変換タイトルキーからタイトルキーを算出し、
算出したタイトルキーを適用して前記暗号化コンテンツの復号処理を実行する情報処理システムにある。
さらに、本開示の第5の側面は、
情報記憶装置において実行する情報処理方法であり、
前記情報記憶装置は、
暗号化コンテンツと、前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報を変換したユーザトークンを格納した記憶部と、
外部装置の前記記憶部へのアクセス制御を実行するデータ処理部を有し、
前記データ処理部は、
前記記憶部へのアクセス権が確認された外部装置に対して、前記ユーザトークンの読み出しを許容する情報処理方法にある。
さらに、本開示の第6の側面は、
情報処理装置において、メディアに格納されたコンテンツの復号、再生を実行する情報処理方法であり、
前記情報処理装置は、タイトルキーによって暗号化された暗号化コンテンツを格納したメディアを装着し、前記暗号化コンテンツの復号処理を実行するデータ処理部を有し、
前記データ処理部は、
前記メディアから、前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、
前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報を変換したユーザトークンを取得し、
入力部を介した入力処理、またはメモリからの読み出し処理によって取得したユーザ識別情報に基づいて認証鍵を生成し、
前記ユーザトークンと前記認証鍵との演算処理によって前記バイント秘密情報を算出し、
算出した前記バインド秘密情報を適用して前記変換タイトルキーからタイトルキーを算出し、
算出したタイトルキーを適用して前記暗号化コンテンツの復号処理を実行する情報処理方法にある。
さらに、本開示の第7の側面は、
情報記憶装置に対してコンテンツ送信を行うサーバにおいて実行する情報処理方法であり、
前記情報記憶装置を装着した情報処理装置からユーザ識別情報を受信し、
受信したユーザ識別情報を適用した演算処理によりユーザトークンと、
前記暗号化コンテンツの暗号処理に適用するタイトルキーの変換データである変換タイトルキーを生成し、
生成したユーザトークンと変換タイトルキーを前記情報記憶装置の格納データとして送信する処理を実行する情報処理方法にある。
さらに、本開示の第8の側面は、
情報記憶装置において情報処理を実行させるプログラムであり、
前記情報記憶装置は、
暗号化コンテンツと、前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報を変換したユーザトークンを格納した記憶部と、
外部装置の前記記憶部へのアクセス制御を実行するデータ処理部を有し、
前記プログラムは、前記データ処理部に、
前記記憶部へのアクセス権が確認された外部装置に対して、前記ユーザトークンの読み出しを許容する処理を実行させるプログラムにある。
さらに、本開示の第9の側面は、
情報処理装置において、メディアに格納されたコンテンツの復号、再生を実行させるプログラムであり、
前記情報処理装置は、タイトルキーによって暗号化された暗号化コンテンツを格納したメディアを装着し、前記暗号化コンテンツの復号処理を実行するデータ処理部を有し、
前記プログラムは、前記データ処理部に、
前記メディアから、前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、
前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報を変換したユーザトークンを取得する処理と、
入力部を介した入力処理、またはメモリからの読み出し処理によって取得したユーザ識別情報に基づいて認証鍵を生成する処理と、
前記ユーザトークンと前記認証鍵との演算処理によって前記バイント秘密情報を算出する処理と、
算出した前記バインド秘密情報を適用して前記変換タイトルキーからタイトルキーを算出する処理と、
算出したタイトルキーを適用して前記暗号化コンテンツの復号処理を実行させるプログラムにある。
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本開示の一実施例の構成によれば、サーバ等との通信を行なうことなく、ユーザ認証の成立を条件としたコンテンツ利用制御が実現される。
具体的には、メモリカード等の情報記憶装置に暗号化コンテンツと暗号鍵であるタイトルキーを変換した変換タイトルキー、さらに変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報を変換したユーザトークンを格納する。暗号化コンテンツの復号、再生を実行する再生装置は、変換タイトルキーと、ユーザトークンを取得し、ユーザID等のユーザ識別情報に基づいて認証鍵を生成する。さらに、ユーザトークンと認証鍵との演算処理によってバイント秘密情報を算出し、算出したバインド秘密情報を適用して変換タイトルキーからタイトルキーを算出し、算出したタイトルキーを適用して暗号化コンテンツの復号処理を実行する。
これらの構成により、サーバ等との通信を行なうことなく、ユーザ認証の成立を条件としたコンテンツ利用制御を実現することができる。
コンテンツ提供処理および利用処理の概要について説明する図である。 メモリカードに記録されたコンテンツの利用形態について説明する図である。 メモリカードの具体的構成例について説明する図である。 メモリカードの保護領域の格納データ例について説明する図である。 利用制御情報(Usage Rule)のデータ構成例について説明する図である。 機器証明書(Certificate)のデータ構成例について説明する図である。 メモリカードの保護領域に対するアクセス制御例について説明する図である。 コンテンツのダウンロード記録処理シーケンスについて説明する図である。 コンテンツの再生処理シーケンスについて説明する図である。 コンテンツの再生処理シーケンスについて説明する図である。 情報処理装置において実行するユーザ認証処理を伴うコンテンツ再生制御シーケンスについて説明するフローチャートを示す図である。 コンテンツのダウンロード記録処理シーケンスについて説明する図である。 情報処理装置において実行するユーザ認証処理を伴うコンテンツ再生制御シーケンスについて説明するフローチャートを示す図である。 情報処理装置のハードウェア構成例について説明する図である。 メモリカード等の情報記憶装置のハードウェア構成例について説明する図である。
以下、図面を参照しながら本開示の情報処理装置、情報記憶装置、サーバ、情報処理システム、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行う。
1.コンテンツ提供処理および利用処理の概要について
2.情報記憶装置の構成例について
3.利用制御情報のデータ構成例について
4.証明書に基づくメモリカードの保護領域に対するアクセス制御について
5.コンテンツのダウンロードと情報記憶装置に対する記録処理のシーケンスについて
6.メディア格納コンテンツの再生処理について
7.再生装置または再生アプリケーション対応の秘密情報を適用した実施例について
8.各装置のハードウェア構成例について
9.本開示の構成のまとめ
[1.コンテンツ提供処理および利用処理の概要について]
以下、図面を参照しながら本開示の構成について説明する。
まず、図1以下を参照して、コンテンツ提供処理および利用処理の概要について説明する。
図1には、左から、
(a)コンテンツ提供元
(b)情報処理装置(コンテンツ記録再生装置(ホスト))
(c)情報記憶装置(コンテンツ記録メディア)
これらの例を示している。
(c)情報記憶装置(コンテンツ記録メディア)30はユーザがコンテンツを記録して、コンテンツの再生処理に利用するメディアである。ここでは例えばフラッシュメモリを備えた情報記憶装置であるメモリカード31a,31bを例として示す。
ユーザは、例えば音楽や映画などの様々なコンテンツをメモリカード31等の情報記憶装置(コンテンツ記録メディア)30に記録して利用する。これらのコンテンツには例えば著作権の管理対象となるコンテンツ等、利用制御対象となるコンテンツが含まれる。
利用制御対象となるコンテンツとは、例えば無秩序なコピーやコピーデータ配布等が禁止されたコンテンツや、利用期間が制限されたコンテンツ等である。なお、メモリカード31に利用制御コンテンツを記録する場合、そのコンテンツに対応するコピー制限情報や利用期間制限情報等を記録した利用制御情報(Usage Rule File)が併せて提供され記録される。
また、コンテンツの利用管理を行うライセンス管理装置(LA)は、不正装置と認定した情報処理装置や、情報記憶装置について、不正機器の識別子(ID)、あるいは不正機器の公開鍵証明書等の識別子(ID)を登録したリボケーションリスト(Revocation List)を生成して各装置に提供する。リボケーションリストには、ライセンス管理装置(LA:License Authority)の秘密鍵による電子署名が設定される。リボケーションリスト(Revocation List)は、逐次、更新処理が行われる。
リボケーションリストは、例えばメモリカードに対するコンテンツの記録やメモリカードからのコンテンツ再生を行う際、メモリカードとメモリカードに対するアクセスを行う機器間で実行する相互認証処理において、双方の機器で参照される。このリボケーションリスト参照処理において、認証相手機器の識別子(ID)がリボケーションリストに登録されていることが確認された場合は、その後の処理が中止される。すなわちコンテンツの記録や再生処理が中止されることになる。
図1に示す(a)コンテンツ提供元は、音楽や映画等のコンテンツの提供元である。図1には、一例として、放送局11と、コンテンツサーバ12、BD、DVD等のコンテンツ記録メディア13をコンテンツ提供元として示している。
放送局11は、例えばテレビ局であり、様々な放送コンテンツを地上波や衛星波に載せてユーザ装置である[(b)情報処理装置(コンテンツ記録再生装置(ホスト))]に提供する。
コンテンツサーバ12は、音楽や映画等のコンテンツをインターネット等のネットワークを介して提供するサーバである。
コンテンツ記録メディア13はBD−ROM、DVD−ROM等、映画等のコンテンツが予め記録されたメディアである。
ユーザは、情報処理装置20に、例えばメモリカード31を装着し、情報処理装置20が外部から受信、あるいは、コンテンツ記録メディア13から再生するコンテンツをメモリカード31に記録することができる。
また、情報処理装置20は、例えばメモリカード31に記録されたコンテンツを読み出して、再生することができる。
情報処理装置20は、例えばDVDプレーヤなど、ハードディスクやDVD,BD等のディスクを備えた記録再生専用器(CE機器:Consumer Electronics機器)21がある。さらに、PC22や、スマートフォン、携帯電話、携帯プレーヤ、タブレット端末などの携帯端末23などがある。これらはすべて(c)情報記憶装置30、例えばメモリカード31を装着可能な装置である。
メモリカード31の利用形態について図2を参照して説明する。
情報記憶装置30の一形態であるメモリカード31は、例えばPC等のコンテンツ再生器に対して着脱可能な記録メディアであり、コンテンツ記録を実行した機器から自由に取り外して、その他のユーザ機器に装着することが可能である。
すなわち、図2に示すように、
(1)記録処理
(2)再生処理
これらの処理を実行する。
なお、記録または再生の一方のみを実行する機器もある。
また、記録と再生各処理の実行機器は同一であることは必須ではなく、ユーザは自由に記録機器と再生機器を選択して利用することができる。
なお、多くの場合、メモリカード31に記録された利用制御コンテンツは暗号化コンテンツとして記録されており、記録再生専用器21やPC22、携帯端末23等のコンテンツ再生装置は、所定のシーケンスに従った復号処理を実行した後、コンテンツ再生を行う。
また、コンテンツに対応して設定される利用制御情報(Usage Rule File)に記録された利用許容態様で再生処理などを行う。
(b)コンテンツ記録再生装置(ホスト)には、利用制御情報(Usage Rule File)に従ったコンテンツ利用やコンテンツの復号処理を実行するためのプログラム(ホストアプリケーション)であるコンテンツ再生アプリケーションが格納されており、コンテンツ再生はこのプログラム(ホストアプリケーション)に従って実行する。
[2.情報記憶装置の構成例について]
次に、コンテンツの記録メディアとして利用されるメモリカード31等などの情報記憶装置の構成例について説明する。
メモリカード31の具体的構成例を図3に示す。
メモリカード31は、例えばコンテンツの記録再生を行う情報処理装置(ホスト)20に装着され、情報処理装置20、あるいは情報処理装置20を介して接続されるサーバ等からアクセスが行われ、データの読み出しや書き込みが行われる。
メモリカード31は、図3に示すように、
コントローラ(データ処理部)110、記憶部120、通信IF140を有する。
通信IF140を介して、例えば情報処理装置(ホスト)等との通信を行う。
コントローラ(データ処理部)110は、プログラム実行機能を持つCPU111、RAM112等によって構成される。RAM112には、CPUの実行するデータ処理プログラムや各種パラメータ、あるいはコントローラ固有のID情報や鍵情報等の記録領域として利用される。
記憶部120は、基本的に自由なアクセスが許容される汎用領域(ユーザデータ領域)121と、自由なアクセスの許容されない保護領域(セキュア領域)122に区分されている。
なお、保護領域(セキュア領域)122は、さらに複数のブロックに区分され、ブロック単位でアクセス制御が可能な構成となっている。
汎用領域(ユーザデータ領域)121には、
例えばコンテンツサーバ等が提供するコンテンツ131や、コンテンツに対応するコピー制御情報等の利用許容情報を記録した利用制御情報132が記録される。コンテンツは、多くの場合、タイトルキーによって暗号化されたコンテンツである。
利用制御情報は、コンテンツに対応して設定され、多くの場合、コンテンツに併せて提供される。例えばサーバからコンテンツをダウンロードして記録する場合に、そのダウンロードコンテンツに対応する利用制御情報ファイルも併せてダウンロードされて記録される。利用制御情報ファイルのデータ構成については後述する。
保護領域(セキュア領域)122には、各種の秘密情報が記録される。
例えばコンテンツの復号に適用される暗号鍵(タイトルキー)等である。
図4に、保護領域(セキュア領域)122の格納データの具体例を示す。図4に示すように、保護領域(セキュア領域)122には、例えば以下のデータが格納される。
変換タイトルキー(XORed Title Key)133、
ユーザトークン(User Token)134、
リボケーションリスト135、
メディア秘密鍵136、
メディア公開鍵証明書137、
変換タイトルキー133は、汎用領域121に記録されたコンテンツの暗号化、復号処理に適用する暗号鍵であるタイトルキーの変換データである。
保護領域(セキュア領域)122に格納されるタイトルキーは、所定のデータ変換がなされた変換タイトルキーとして格納される。
具体的には、例えば、コンテンツ提供サーバが生成した乱数などによって構成されるコンテンツ固有のバインド秘密情報(Binding Secret)とタイトルキーとの排他的論理和演算(XOR)結果データとして格納される。
具体的には、例えば変換タイトルキー(XORed Title Key)は、以下の(式1)に従って算出される。
XORed Title Key=Title Key(xor)Binding Secret ・・・(式1)
なお、A(xor)Bは、データAとBの排他的論理和演算を意味する。
上記式は、タイトルキー(Title Key)とバインド秘密情報(Binding Secret)との排他的論理和演算により、変換タイトルキー(XORed Title Key)を算出することを意味する式である。
なお、上記(式1)は、変換タイトルキーの設定の一例である。
変換タイトルキーは、上記(式1)に限らず、例えば、バインド秘密情報(Binding Secret)や、コンテンツ対応の利用制御情報(Usage Rule)、その他の情報を含めたデータを利用した演算処理、例えば排他的論理和演算(XOR)等の演算処理によって算出する構成としてもよい。
コンテンツの復号を行う場合は、保護領域(セキュア領域)122に格納された変換タイトルキーを取得し、所定の演算を実行してタイトルキーを算出し、算出したタイトルキーを用いて復号処理を実行する。
ユーザトークン(UserToken)134は、認証鍵(Kauth)による上述のバインド秘密情報(Binding Secret)の暗号化データである。すなわち、コンテンツ提供サーバが生成した乱数などによって構成されるコンテンツ固有のバインド秘密情報(Binding Secret)等に対する認証鍵(Kauth)による暗号化データである。
なお、認証鍵(Kauth)は、ユーザID(User ID)とユーザパスワード(User Password)を含むデータに基づいて生成される暗号鍵である。
具体的には、例えば、認証鍵(Kauth)は以下の(式2)で算出される。
Kauth=func(User ID||Password)・・・(式2)
なお、上記(式2)において、
(A||B)は、AとBの連結データである。
func(A||B)は、AとBの連結データに対する関数(function)の適用処理を示す。
関数funcとしては、例えば、ハッシュ関数、暗号化関数などが適用される。具体的には、例えば、ユーザID(User ID)とユーザパスワード(Password)の連結データに対して、ハッシュ関数(SHA−1)を適用する以下の(式3)に従って認証鍵(Kauth)を算出する。
Kauth=SHA−1(User ID||Password)・・・(式3)
上記(式3)に従って、認証鍵(Kauth)が算出される。
あるいは、ユーザID(User ID)に対して、ユーザパスワード(Password)のハッシュ値を暗号鍵として暗号化処理(Enc)を行なう以下の(式4)に従って認証鍵(Kauth)を算出する。
Kauth=Enc(SHA−1(Password),User ID)・・・(式4)
上記(式4)に従って、認証鍵(Kauth)が算出される。
なお、
Enc(A,B)は、暗号鍵Aを適用したデータBの暗号化処理を意味する。
このように、認証鍵(Kauth)はユーザID(User ID)とユーザパスワード(Password)に対して所定の関数を適用して算出される鍵である。
ユーザトークンは、この認証鍵(Kauth)を適用して上述のバインド秘密情報(Binding Secret)を暗号化して生成される。
具体的には、例えば、ユーザトークン(UserToken)は、以下の算出式(式5)で算出する。
UserToken=Enc(Kauth,Binding Secret||ICV)・・・(式5)
上記(式5)は、バインド秘密情報(Binding Secret)とバインド秘密情報に基づいて生成した検証値(ICV:Integrity Check Value)との連結データに対して認証鍵(Kauth)を適用した暗号化処理によって、ユーザトークン(UserToken)を生成する式である。
検証値ICVは、バインド秘密情報に基づいて生成した検証値であり、具体的には、例えば以下の式のいずれかによって生成される検証値である。
ICV=hash(Kauth,Binding Secret)・・・(式6)
ICV=SHA−1(Binding Secret)・・・(式7)
ICV=MAC(Kauth,Binding Secret)・・・(式8)
ICV=AES−E(Kauth,Binding Secret)xor(Binding Secret)・・・(式9)
なお、前述の(式5)において、認証鍵(Kauth)を適用した暗号化を行なう場合、暗号化処理対象となるデータ[Binding Secret||ICV]のデータ長を暗号化処理単位に設定することが必要となるので、上記各式(式6〜9)に従って生成されるICVに、適当なサイズのバインディングデータを追加してICVのデータ長を調整してもよい。
上記(式6)は、バインド秘密情報(Binding Secret)に対して、認証鍵(Kauth)を適用したハッシュ(hash)値算出処理の結果を検証値ICVとして算出する式である。
上記(式7)は、バインド秘密情報(Binding Secret)に対してハッシュ関数(SHA−1)を適用したハッシュ値を検証値ICVとして算出する式である。
上記(式8)は、バインド秘密情報(Binding Secret)に対して認証鍵(Kauth)を適用したMAC(Message Authentication Code)値を検証値ICVとして算出する式である。
上記(式9)は、バインド秘密情報(Binding Secret)に対して認証鍵(Kauth)を適用して暗号化関数(AES−E)による暗号化データと、バインド秘密情報(Binding Secret)との排他的論理和(xor)演算結果を検証値ICVとして算出する式である。
図4に示すメモリカードの保護領域(セキュア領域)122に格納されるユーザトークンは、上述したように、
(A)ユーザID、ユーザパスワードを適用して生成される認証鍵(Kauth)、
(B)コンテンツに対応して生成されるコンテンツ固有のバインド秘密情報(Binding Secret)、
これらの各情報に基づいて生成されるデータである。
すなわち、
(1)ユーザID、ユーザパスワードに特定される特定のユーザと、
(2)バインド秘密情報(Binding Secret)に対応する特定のコンテンツ、
これら特定ユーザと特定コンテンツを結びつけたデータとして1つのユーザトークンが生成される。
図4に示すメモリカードの保護領域(セキュア領域)122には、このように、ユーザとコンテンツの双方に固有のデータとして設定されるユーザトークンが格納される。
リボケーションリスト(Revocation List)135は、不正機器、具体的には、不正機器と判定された記録再生装置等の情報処理装置や、メモリカード等の情報記憶装置等の機器識別子(ID)、あるいは機器にインストールされた再生プログラムや、機器に格納された公開鍵証明書(Certificate)の識別子(ID)を登録したリストである。リボケーションリスト(Revocation List)135は、ライセンス管理装置が、発行し、逐次更新するリストであり、ライセンス管理装置の署名が設定され、改ざん検証が可能な構成となっている。
メディア秘密鍵136と、メディア公開鍵証明書137は、公開鍵暗号方式に従ったメモリカード31対応の秘密鍵と、公開鍵を格納した証明書(Certificate)である。
なお、保護領域122には、その他、例えば、リボケーションリスト135や、メディア秘密鍵136、メディア公開鍵証明書の発行主体であるライセンス管理装置の公開鍵なども格納される。この鍵は、例えば、リボケーションリスト135に設定された署名の検証処理や、公開鍵証明書に設定された署名の検証処理の際に利用される。
[3.利用制御情報のデータ構成例について]
図5に、メモリカード31の汎用領域121に記録される利用制御情報132のデータ構成例を示す。
利用制御情報132は、前述したように、コンテンツに対応するコピー制御情報等の利用許容情報を記録している。具体的には、例えば図5に示すように、以下のデータを有する。
ヘッダ情報(Header)、
ユーザトークンID(UserToken ID)、
ユーザID(User ID)
コピー制御情報(CCI:Copy Control Information)、
利用期間制御情報(Period)
利用期間制御情報(before)
利用期間制御情報(After)
移動制御情報(Move OK/NG)
例えばこれらの情報が記録される。
ヘッダ情報(Header)には、利用制御情報であることを示す識別情報や、対応コンテンツの識別子等が記録される。
ユーザトークンID(UserToken ID)と、ユーザID(User ID)は、この利用制御情報による利用制御対象となるコンテンツが、ユーザ認証の成立をコンテンツ再生条件として規定しているコンテンツである場合に記録されるデータである。
ユーザ認証の成立をコンテンツ再生条件として規定していないコンテンツである場合には、ユーザトークンID(UserToken ID)や、ユーザID(User ID)の設定フィールドには無効データ(NULL)、例えばオール0等のデータが記録される。
利用制御情報(Usage Rule)に、有効なユーザトークンID(UserToken ID)と、ユーザID(User ID)が記録されている場合、再生装置は、これらの情報を適用してユーザ認証処理を実行する。ユーザ認証が成立したことが確認されたことを条件として、コンテンツ再生が許容される。
ユーザ認証が不成立の場合は、コンテンツ再生は許容されない。
このユーザ認証処理の詳細については後述する。
ユーザトークンID(UserToken ID)は、この利用制御情報の適用対象であるコンテンツに対応して設定されるユーザトークンの識別子(ID)である。
ユーザID(User ID)は、この利用制御情報の適用対象であるコンテンツの利用が許可された正規ユーザに対応する識別子(ID)である。なお、このユーザIDは、ユーザトークンの生成に利用される認証鍵(Kauth)の生成に利用されたユーザIDと一致するものとなる。
これらの各データを利用したユーザ認証処理の詳細については後述する。
コピー制御情報は、コンテンツのコピーが許容されるか否か、許容される場合のコピー回数の制限情報などである。
利用期間制御情報は、コンテンツの利用が許容される日時情報である。ある期間(Period)、ある日時以前(Before)、ある日時以降(After)などの情報として記録される。
移動制御情報(Move OK/NG)はコンテンツを外部の装置に移動(Move)することが許容されるか否かの情報である。
なお、利用制御情報ファイルには、この他、例えばコンテンツの復号に適用するタイトルキー、あるいは変換タイトルキーの識別情報など、コンテンツの復号、再生処理を行なうために必要とする各種の情報が記録される。
これら、様々な情報がコンテンツに対応する利用制御情報ファイルに記録され、再生装置等のユーザ装置は、コンテンツ再生やコピー処理等を行う場合、コンテンツ対応の利用制御情報に記録された制御情報に従って必要な情報の取得を行い、また利用制御情報に記録された制御情報に従った範囲でのコンテンツ再生やコピーを行なう。
[4.証明書に基づくメモリカードの保護領域に対するアクセス制御について]
先に図3等を参照して説明したように、メモリカードの保護領域に対するアクセスは制限される。すなわち、図3に示すメモリカード31の記憶部120の保護領域(セキュア領域)122に対してデータの書き込みを行なう場合、あるいは、保護領域(セキュア領域)122からデータを読み出す場合、メモリカードは、これらの処理を行なおうとする外部機器のアクセス権確認処理を実行し、アクセス権が確認された外部機器、例えばサーバや再生装置等のホストにのみアクセスを許容する。
このアクセス権の確認処理は、保護領域に対するアクセスを行なおうとする機器やアプリケーションがメモリカードに提供する証明書に基づいて実行される。
メモリカードのデータ処理部は、アクセスを実行しようとする機器等から機器証明書(サーバ証明書やホスト証明書)を取得し、この証明書の記載事項に従ってアクセス権の確認処理を実行する。
保護領域に対するアクセスを行なおうとする機器(サーバやホスト(再生装置等)あるいはアプリケーション)の保有する機器証明書のデータ構成例について、図6を参照して説明する。
図6は機器証明書のデータ構成例である。
なお、これらの機器証明書は、認証局が各機器に提供する公開鍵を格納した公開鍵証明書である。
機器証明書は、認証局秘密鍵によって署名が設定され、改ざんの防止されたデータとして構成される。
機器証明書には、図6に示すように、以下のデータが含まれる。
(1)タイプ情報
(2)機器ID(サーバIDまたはホストID、アプリケーションIDなど)
(3)機器公開鍵(Public Key)
(4)メディア(メモリカード)の保護領域のブロック単位の読み取り/書き込み制限情報(PAD Read/PAD Write)
(5)その他の情報
(6)署名(Signature)
以下、上記(1)〜(6)の各データについて説明する。
(1)タイプ情報
タイプ情報は、証明書のタイプやコンテンツサーバのタイプを示す情報であり、例えば本証明書がサーバ証明書またはホスト証明書であることを示すデータや、サーバの種類、例えば音楽コンテンツの提供サーバであるとか、映画コンテンツの提供サーバである。あるいはホストの種類、例えば再生専用機器であるとか、再生と記録を行なう機器であるといった機器の種類などを示す情報が記録される。
(2)機器ID
機器IDはサーバ識別情報としてのサーバIDや、ホスト識別子としてのホストID等を記録する領域である。
(3)機器公開鍵(Public Key)
機器公開鍵(Public Key)は機器(サーバやホスト)の公開鍵である。各機器に提供される秘密鍵とともに公開鍵暗号方式に従った鍵ペアを構成する。
(4)メディア(メモリカード)の保護領域のブロック単位の読み取り/書き込み制限情報(PAD Read/PAD Write)
メディアに対する読み取り/書き込み制限情報(PAD Read/PAD Write)は、コンテンツを記録するメディア、例えば図3に示すメモリカード31の記憶部中に設定される保護領域(Protected Area)122内の区分ブロック単位のアクセス可否情報が記録される。
すなわち、データ読み取り(Read)や、書き込み(Write)が許容されたブロックについての情報が記録される。なお、メモリカードの保護領域(Protected Area)122内のブロックはPADブロックとも呼ばれる。
メモリカードは、例えばサーバから認証処理の段階で受領する図6に示すサーバ証明書のこの記録フィールドを参照して、例えば、図3に示す保護領域(Protected Area)122内のブロック単位で書き込み、読み取りの許可判定処理を行い、許可された区分領域で許可された処理のみの実行を許容する。
図6に示すように、機器証明書には、上述したデータの他、[(5)その他の情報]が記録され、さらに、(1)〜(5)の各データに対して認証局の秘密鍵によって生成された(6)署名(Signature)が記録される。この署名により改ざんの防止構成が実現される。
サーバ証明書(Server Certificate)を利用する場合は、署名検証を実行して、サーバ証明書(Server Certificate)の正当性を確認した上で利用が行われる。なお、署名検証は、認証局の公開鍵を利用して実行される。
メモリカードの保護領域に対するアクセス要求を行うサーバや記録装置、再生装置等のホストは、図6(4)に示すメディアに対する読み取り/書き込み制限情報(PAD Read/PAD Write)を記録した機器証明書を保持し、この機器証明書をメモリカードに提示してアクセス権の確認判定を受けることになる。
メモリカードはアクセス要求を行う装置から提示された証明書の署名検証を行い、証明書の正当性を確認した上で、証明書内の読み取り/書き込み制限情報(PAD Read/PAD Write)の記録を参照して図3に示す保護領域(Protected Area)122内の区分領域であるブロック単位で書き込み、読み取りの許可判定処理を行い、許可されたブロック領域で許可された処理のみの実行を許容する。
上述したように、メディアに対する読み取り/書き込み制限情報(PAD Read/PAD Write)は、例えば、アクセスしようとする装置、例えばコンテンツサーバ、あるいは記録再生装置(ホスト)単位で設定される。これらの情報は各装置対応のサーバ証明書(Server Cert)や、ホスト証明書(Host Cert)に記録される。
メモリカード31は、メモリカード31に予め格納された規定のプログラムに従って、サーバ証明書(Server Cert)や、ホスト証明書(Host Cert)の記録データを検証して、アクセス許可のなされた領域についてのみアクセスを許容する処理を行う。
図7を参照して、メモリカードに対するアクセス要求装置がサーバである場合と、記録再生装置等のホスト機器である場合のアクセス制限の設定例について説明する。
図7には、左から、メモリカードに対するアクセス要求装置であるコンテンツサーバ12、メモリカードを装着してコンテンツ記録再生を行う例えばPC等の情報処理装置(ホスト機器)20、メモリカード31を示している。
コンテンツサーバ12は、例えばコンテンツの提供処理や、コンテンツ復号に適用する暗号鍵の書き込み処理を実行するサーバである。
情報処理装置(ホスト機器)20は、メモリカード31に格納されたコンテンツの再生処理を行う装置であり、コンテンツの復号処理のために、メモリカードに記録された暗号鍵を取得する必要がある機器である。
メモリカード31は、保護領域122と、汎用領域121を有し、暗号化コンテンツ等は汎用領域121に記録される。
暗号化コンテンツの復号に適用する必要のある秘密情報は保護領域122に記録される。
保護領域122は、複数のブロック(PADブロック)に区分されている。
図7に示す例では、
ブロック#0(Protected Area#0)122a、
ブロック#1(Protected Area#1)122b、
ブロック#2(Protected Area#2)122c、
これらの3つのブロックを持つ例を示している。
メモリカード31はアクセス要求装置との認証処理の段階で、相手装置、すなわちアクセス要求装置から公開鍵証明書等の装置証明書(たとえばサーバ証明書(Server Cert))を受信し、その証明書に記載された情報を用いて、保護領域(Protected Area)122の各ブロックのアクセスが許容されるか否かを判定する。この判定処理の結果、許可されたブロックで許可された処理のみが実行される。
例えば、サーバのサーバ証明書(Server Certificate)に記録される書き込み許容領域情報(PAD Write)は、PADブロック#1(Protected Area #1)122bに対する書き込み(Write)許可が設定された証明書として構成される。すなわち、図に示すように、
読み取り(Read)許容領域:ブロック#1
書き込み(Write)許容領域:ブロック#1
このような設定で構成される。
なお、図に示す例では、書き込み(Write)の許容されたブロックに対しては、読み取り(Read)についても許容された設定として示している。
また、例えばブロック#1(Protected Area#1)122bに記録された暗号鍵を読み取ってコンテンツ再生を実行する再生装置である情報処理装置(ホスト機器)20の保持するホスト証明書(Host Certificate)は、以下の設定の証明書である。
ブロック#0(Protected Area#0)122aに対する読み取り(Read)と書き込み(Write)許可、
ブロック#1(Protected Area#1)122bに対する読み取り(Read)許可、
これらの許可情報が設定された証明書である。
すなわち、図に示すように、
読み取り(Read)許容領域:ブロック#0,1
書き込み(Write)許容領域:ブロック#0
このような設定を持つ証明書である。
ホスト証明書(Host Certificate)には、保護領域内のブロック#1(Protected Area#1)122bに対する書き込み(Write)許可は設定されない。
ただし、コンテンツ削除時に、削除コンテンツに対応する暗号鍵の削除が可能な設定とするため、削除処理については許可する設定としてもよい。
保護領域内のブロック#2(Protected Area#2)122cは、サーバ、ホストともアクセスの許容されない領域、すなわち外部アクセス禁止領域として設定される。
すなわち、ブロック#2(Protected Area#2)122cは、メモリカード31内部でのデータ処理を実行する場合にのみ、メモリカード31内のデータ処理部がアクセス(データ書き込みと読み取り)する領域として設定される。
このように、メモリカードのデータ処理部は、アクセス要求装置からの保護領域(Protected Area)122に対するデータ書き込みとデータ読み取りについて、装置証明書に基づいてブロック単位で許可するか否かを判定する。
[5.コンテンツのダウンロードと情報記憶装置に対する記録処理のシーケンスについて]
次に、メモリカードを装着した情報処理装置(ホスト)がコンテンツ提供サーバにアクセスし、サーバの提供コンテンツをダウンロードしてメモリカードに記録する処理について説明する。
図8は、メモリカード等のメディアである情報記憶装置に、サーバからのダウンロードコンテンツを記録する際の処理シーケンスを説明する図である。
図8には、左から、
(a)コンテンツ提供処理を実行するサーバ、
(b)メモリカード等の情報記憶装置(メディア)を装着した情報処理装置(ホスト)
(c)コンテンツの記録先となるメモリカード等の情報記憶装置(メディア)
これらを示している。
情報処理装置(ホスト)は、メモリカード等の情報記憶装置(メディア)を装着し、情報記憶装置(メディア)に記録されたコンテンツを再生可能な再生装置である。この情報処理装置(ホスト)は、記憶部に先に図6を参照して説明したデータ構成を持つホスト証明書(Host Cert)を格納している。
情報記憶装置は、例えば図3等を参照して説明した構成を有するメモリカード31であり、データ処理を実行するデータ処理部として機能するコントローラ110と、記憶部120等を有する。
なお、情報処理装置(ホスト)は、メモリカード等の情報記憶装置(メディア)を装着し、情報処理装置(ホスト)および情報記憶装置(メディア)のデータ処理部が、サーバと通信を実行して、図に示すステップS101以下の処理を、順次実行してコンテンツのダウンロード処理、記録処理を実行する。
以下、ステップS101以下の処理の詳細について、説明する。
(ステップS101)
まず、ダウンロードコンテンツの記録メディアとなるメモリカード等の情報記憶装置(メディア)を装着した情報処理装置(ホスト)は、ユーザログイン処理として、ユーザが入力したユーザID(UserID)とパスワード(Password)をサーバに送信する。
これらのユーザIDと、パスワードは、先に説明した認証鍵(Kauth)の生成情報である。すなわち、先に説明したように、認証鍵(Kauth)は、ユーザID(UserID)とパスワード(Password)を適用した以下の(式2)によって生成される。
Kauth=func(UserID||Password)・・・(式2)
(ステップS102)
次に、サーバは、情報処理装置(ホスト)から受信したユーザID(UserID)とパスワード(Password)が、予めサーバに登録された正規ユーザのユーザIDとパスワードに一致するか否かの確認、すなわちログイン情報の検証処理を実行する。
情報処理装置(ホスト)から受信したユーザID(UserID)とパスワード(Password)が、予めサーバに登録された正規ユーザのユーザIDとパスワードに一致した場合は、ステップS103以下の処理を実行する。
一致しない場合は、ステップS103以下の処理は実行せず、情報処理装置に対してログイン情報が誤りであることの通知を行なう。
(ステップS103)
情報処理装置(ホスト)から受信したユーザID(UserID)とパスワード(Password)が、予めサーバに登録された正規ユーザのユーザIDとパスワードに一致した場合は、ステップS103において、サーバは情報記憶装置に対してコンテンツを送信する。
なお、この処理の前提として、例えば情報処理装置を操作するユーザがサーバにアクセスし、サーバの提供するコンテンツの一覧を情報処理装置のディスプレイに表示し、ユーザがダウンロードコンテンツを選択する処理などが実行される。
サーバは、ユーザの指定に応じてコンテンツを送信する。
なお、送信コンテンツはコンテンツに対応するタイトルキーによって暗号化された暗号化コンテンツである。タイトルキーは、コンテンツ対応の暗号鍵としてサーバが生成した暗号鍵である。
(ステップS104)
ステップS104において、サーバから送信された暗号化コンテンツが情報記憶装置の汎用領域(ユーザデータ領域)に記録される。
なお、暗号化コンテンツを取得したのみでは、コンテンツの再生、利用はできない。この暗号化コンテンツに対応する暗号鍵であるタイトルキーを取得することが必要となる。
(ステップS105)
ステップS105において、サーバと情報記憶装置との間で相互認証処理とセッションキー(=バスキー:Bk)共有処理を実行する。この処理は公開鍵暗号方式に従った相互認証処理と鍵共有処理であり、双方の信頼性確認とセッションキー(=バスキー:Bk)の生成と共有処理を行う。
具体的には、各装置が相手方の公開鍵証明書の署名検証を行い、さらに公開鍵証明書に記録された機器IDがリボケーションリストに記録されていないことを確認する。
署名検証の失敗、あるいは、リボケーションリストに機器IDが登録されている場合、その後の処理は実行されない。すなわちコンテンツ提供や記録処理等は実行されない。
(ステップS106〜S107)
ステップS106〜S107において、リボケーションリストの同期処理を実行する。すなわち、情報記憶装置に格納されたリボケーションリストのバージョンが、サーバの保持するリボケーションリストのバージョンより古い場合は、サーバから新しいリボケーションリストが情報記憶装置に提供され、情報記憶装置に格納された古いリボケーションリストを新しいリボケーションリストに置き換えるリボケーションリストの更新処理を行う。
(ステップS108)
次に、サーバは、ステップS108において、
(1)ユーザトークン(UserToken)、
(2)変換タイトルキー、
これらの各データを生成する。
先に説明したように、ユーザトークン(UserToken)は、コンテンツ提供サーバが生成した乱数などによって構成されるコンテンツ固有のバインド秘密情報(Binding Secret)と認証鍵(Kauth)に基づいて生成する。具体的には、先に説明した以下の算出式(式5)で算出する。
UserToken=Enc(Kauth,Binding Secret||ICV)・・・(式5)
先に説明したように、認証鍵(Kauth)は、ユーザID(User ID)とユーザパスワード(Password)に対して所定の関数を適用して算出される鍵である。
このように、上記算出式(式5)に従って算出されるユーザトークン(UserToken)は、
(A)ユーザID、ユーザパスワードを適用して生成される認証鍵(Kauth)、
(B)コンテンツに対応して生成されるコンテンツ固有のバインド秘密情報(Binding Secret)、
これらの各情報に基づいて生成されるデータである。
さらに、サーバは、ステップS108において、
変換タイトルキー(XORed Title Key)を生成する。
変換タイトルキー(XORed Title Key)は、ステップS103において、情報記憶装置に格納した暗号化コンテンツの復号処理に適用する鍵であるタイトルキーの変換データである。
先に説明したように、変換タイトルキー(XORed Title Key)は、例えば、コンテンツ提供サーバが生成した乱数などによって構成されるコンテンツ固有のバインド秘密情報(Binding Secret)とタイトルキーとの排他的論理和演算(XOR)によって生成する。具体的には、先に説明した以下の(式1)に従って算出する。
XORed Title Key=Title Key(xor)Binding Secret ・・・(式1)
(ステップS109)
ステップS109において、サーバは、ステップS108で生成したデータ、すなわち、
(1)ユーザトークン(UserToken)、
(2)変換タイトルキー、
これらのデータを情報記憶装置(メディア)に送信する。なお、これらのデータは、ステップS105において生成したセッションキー(Bk)で暗号化して送信する。
(ステップS110)
次に、情報記憶装置は、ステップS109において、サーバから受信した、
(1)ユーザトークン(UserToken)、
(2)変換タイトルキー、
これらのデータを保護領域(セキュア領域)に記録する。
すなわち、先に図4を参照して説明した保護領域122の格納データとする。
なお、これらのデータの保護領域(セキュア領域)に対する書き込み処理の実行主体はサーバであり、サーバはこれらのデータを記録する情報記憶装置の保護領域(セキュア領域)のブロックに対するアクセス権(書き込みの権利)を有していることが、このデータ書き込み処理を実行するための条件となる。
このアクセス権(書き込みの権利)を有するか否かの確認処理は、先に図6を参照して説明したサーバ証明書(Server Certificate)に基づいて実行される。また、この確認処理は情報記憶装置のデータ処理部において実行される。
(ステップS111)
次に、サーバはステップS111において、ステップS103で送信済みの暗号化コンテンツに対応する利用制御情報(Usage Rule)を情報記憶装置に送信する。
利用制御情報(Usage Rule)は、先に図5を参照して説明したデータ構成を持つデータファイルである。
先に図5を参照して説明したように、この利用制御情報(Usage Rule)には、ステップS103で送信したコンテンツが、コンテンツ再生条件として、ユーザ認証処理を必要とするコンテンツである場合、以下のデータが記録される。
(1)ユーザトークンID
(2)ユーザID
これらのデータが記録されている場合、この利用制御情報(Usage Rule)に対応するコンテンツ、すなわちステップS103においてサーバから情報記憶装置に送信され、情報記憶装置の汎用領域に格納されたコンテンツを再生する場合には、ユーザ認証処理を行ない、ユーザ認証が成立した場合に限り、コンテンツ再生が許容されることになる。
この処理の詳細については後述する。
(ステップS112)
次に、情報記憶装置は、ステップS112において、サーバから受信した利用制御情報(Usage Rule)を汎用領域(ユーザデータ領域)に記録する。
この図8に示すシーケンスに従って、情報記憶装置の汎用領域には、サーバから提供された以下のデータ、すなわち、
(1)暗号化コンテンツ、
(2)利用制御情報
これらのデータが記録され、
情報記憶装置の保護領域には、サーバから提供された以下のデータ、すなわち、
(3)変換タイトルキー(XORed Title Key)
(4)ユーザトークン(UserToken)
が格納される。
[6.メディア格納コンテンツの再生処理について]
次に、図9、図10を参照して、先に図8を参照して説明したコンテンツダウンロード処理によってメモリカード等の情報記憶装置に格納された暗号化コンテンツを、情報処理装置(ホスト)が読み出して、復号、再生するシーケンスについて説明する。
図9、図10には、
(1)コンテンツ再生処理を実行する情報処理装置[ホスト(Host=Player)]、
(2)コンテンツを格納した情報記憶装置[メディア(Memory Card)]
これらを示している。
図9に示すステップS201以下の処理を順次、実行してコンテンツ再生が行われる。以下、各ステップの処理について説明する。
(ステップS201)
まず、コンテンツ再生処理を実行する情報処理装置と、コンテンツを格納した情報記憶装置との間で、相互認証処理とセッションキー(=バスキー:Bk)共有処理を実行する。この処理は公開鍵暗号方式に従った相互認証処理と鍵共有処理であり、双方の信頼性確認とセッションキー(=バスキー:Bk)の生成と共有処理を行う。
(ステップS202)
相互認証が成立し、双方の機器が信頼できる機器であることが確認されると、次に、情報処理装置は、ステップS202において、情報記憶装置の汎用領域に格納された利用制御情報(Usage Rule)の読み出し処理を行う。
利用制御情報(Usage Rule)は、先に図5を参照して説明したデータを格納した情報である。
なお、ここでは、読み出した利用制御情報(Usage Rule)に対応する再生予定のコンテンツは、ユーザ認証の成立を再生条件としているコンテンツであるものとする。
従って、利用制御情報(Usage Rule)には、先に図5を参照して説明した以下のデータが記録されている、
(1)ユーザトークンID
(2)ユーザID
ユーザトークンID(UserToken ID)は、この利用制御情報の適用対象であるコンテンツに対応して設定されるユーザトークンの識別子(ID)である。
ユーザID(User ID)は、この利用制御情報の適用対象であるコンテンツの利用が許可された正規ユーザに対応する識別子(ID)である。なお、このユーザIDは、ユーザトークンの生成に利用される認証鍵(Kauth)の生成に利用されたユーザIDと一致するものとなる。
(ステップS203)
次に、情報処理装置は、ステップS203において、利用制御情報(Usage Rule)の記録情報に従って、以下の各データを情報記憶装置の保護領域から読み出す処理を実行する。
(1)変換タイトルキー(XORed Title Key)、
(2)ユーザトークン(UserToken)、
これらの各データを情報記憶装置の保護領域から読み出す。なお、データは、ステップS201において生成したセッションキー(Bk)による暗号化されて読み出される。
これらの各データ、すなわち、
(1)変換タイトルキー(XORed Title Key)、
(2)ユーザトークン(UserToken)、
これらのデータは、先に説明した図8のシーケンス図におけるステップS109においてサーバから情報記憶装置に送信されて情報記憶装置の保護領域に格納されたデータである。
なお、保護領域からのデータ読み出し処理に際しては、情報記憶装置のデータ処理部は、情報処理装置が保護領域のデータ格納エリアに対するアクセス権を有しているか否かの判定処理を実行する。この判定処理は、情報記憶装置が例えば情報処理装置から受領した機器証明書、すなわち先に図6を参照して説明した公開鍵等を格納したホスト証明書(Host Certificate)の記録情報を参照して行う。
この判定処理において、情報処理装置が保護領域の変換タイトルキーおよびユーザトークン格納エリアに対するアクセス権を有していると判定された場合にのみ、ステップS203において変換タイトルキーとユーザトークンの読み出しが実行される。
情報処理装置が、保護領域の変換タイトルキーとユーザトークンの格納エリアに対するアクセス権を有していないと判定された場合には、ステップS203のデータ読み出しは実行されない。この場合は、コンテンツの再生は実行されない。
(ステップS204)
次に、情報処理装置は、ステップS204において、ユーザIDとパスワードを利用して認証鍵(Kauth)を生成し、生成した認証鍵(Kauth)を適用してユーザトークンを復号してバインド秘密情報を算出する。
まず、情報処理装置は、ユーザIDとパスワードの入力を求める表示を出力し、ユーザがユーザIDとパスワードを入力する。
なお、ユーザの入力を実行させずに、予め、ユーザIDとパスワードを情報処理装置、または情報記憶装置のメモリに格納しておき、これを読み出してもよい。
すなわち、図9〜図10に従った処理を実行するコンテンツ再生処理アプリケーションがアクセス可能なメモリに予め記録されているユーザIDとパスワードを読み出して、この読み出しデータを利用する構成としてもよい。
次に、取得したユーザID(UserID)とパスワード(Password)を適用して認証鍵(Kauth)を生成する。認証鍵(Kauth)は、先に説明したように、以下の(式2)に従って算出する。
Kauth=func(User ID||Password)・・・(式2)
次に、生成した認証鍵(Kauth)を適用して、ユーザトークン(UserToken)を復号してバインド秘密情報(Binding Secret)を取得する。
先に説明したように、ユーザトークン(UserToken)は、以下の算出式(式5)で生成されたデータである。
UserToken=Enc(Kauth,Binding Secret||ICV)・・・(式5)
すなわち、バインド秘密情報(Binding Secret)に対する認証鍵(Kauth)による暗号化データがユーザトークン(UserToken)である。
従って、ユーザトークン(UserToken)に対する認証鍵(Kauth)による復号処理によって、バインド秘密情報(Binding Secret)を取得することができる。
すなわち、以下の(式10)に従って、バインド秘密情報(Binding Secret)を取得する。
(Binding Secret||ICV)=Dec(Kauth,UserToken)・・・(式10)
なお、Dec(A,B)は、データBに対する鍵Aを適用した復号処理を意味する。
上記(式5)は、バインド秘密情報(Binding Secret)とその検証値(ICV)との連結データに対する認証鍵(Kauth)によってユーザトークン(UserToken)が生成される設定である。
従って、(式10)に従った認証鍵(Kauth)による復号処理を行なった場合、
バインド秘密情報(Binding Secret)とその検証値(ICV)との連結データ、すなわち、以下のデータが得られる。
Binding Secret||ICV
情報処理装置は、このデータに基づいて、算出したバインド秘密情報(Binding Secret)の検証処理を実行する。すなわち、検証値(ICV)を適用した検証処理を実行する。
具体的には、例えば検証値(ICV)が、正しいバインド秘密情報(Binding Secret)ハッシュ値である場合、算出したバインド秘密情報(Binding Secret)に基づいてハッシュ値を計算し、検証値ICVと一致するか照合する。一致すれば、算出したバインド秘密情報(Binding Secret)は正しい値であり、検証成立と判定することができる。
この検証が成立し、算出したバインド秘密情報(Binding Secret)が正しいことを確認した場合にのみ、以下のステップの処理に移行する。
検証が成立せず、算出したバインド秘密情報(Binding Secret)が正しいことが確認されない場合は、以下のステップの処理には移行しない。この場合は、例えば認証鍵(Kauth)が正しいユーザIDとパスワードに基づいて生成されなかったこと等が原因と考えられ、ユーザIDとパスワードの再入力を求めて、再度認証鍵(Kauth)を生成する処理を実行する。
(ステップS205)
次に、情報処理装置は、ステップS205において、ステップS204で算出したバインド秘密情報(Binding Secret)を適用して変換タイトルキー(XORed Title Key)からタイトルキー(Title Key)を算出する。
先に説明したように、変換タイトルキー(XORed Title Key)は、以下に示す(式1)に従って生成されたタイトルキーの変換データである。
XORed Title Key=Title Key(xor)Binding Secret ・・・(式1)
すなわち、タイトルキー(Title Key)と、バインド秘密情報(Binding Secret)との排他的論理和演算によって変換タイトルキー(XORed Title Key)が算出される。
ステップS205では、以下の(式11)に従って、ステップS204で算出したバインド秘密情報(Binding Secret)を適用して変換タイトルキー(XORed Title Key)からタイトルキー(Title Key)を算出する。
Title Key=XORed Title Key(xor)Binding Secret・・・(式11)
(ステップS206)
次に、情報処理装置は、ステップS206において、情報記憶装置の汎用領域から再生予定の暗号化コンテンツを読み出す。
(ステップS207)
最後に、情報処理装置は、ステップS206で情報記憶装置から読み出した暗号化コンテンツに対して、ステップS205で算出したタイトルキーを適用した復号処理を実行し、復号結果として得られたコンテンツの再生を実行する。
次に、ユーザ認証処理の成立を再生条件としたコンテンツ再生処理を行なう場合に、情報処理装置(再生装置)の実行する処理シーケンスについて、図11に示すフローチャートを参照して説明する。
図11に示すフローに従った処理は、情報処理装置(再生装置)のデータ処理部、具体的には、コンテンツ再生アプリケーションを実行するCPUを有する制御部の制御の下に実行される。
なお、図11に示すフローに従った処理手順を記録したプログラム(コンテンツ再生アプリケーション)は情報処理装置のメモリに記録され、情報処理装置のCPUにおいて実行される。
図11に示すフローの各ステップの処理について説明する。
(ステップS301)
まず、コンテンツを格納した情報記憶装置との間で、相互認証処理を実行する。この処理は、図9に示すシーケンス図のステップS201の処理に対応する。
この認証処理において、セッションキー(=バスキー:Bk)共有処理も併せて実行する。
(ステップS302)
ステップS301の認証処理が成立した場合はステップS303に進む。
ステップS301の認証処理が成立しなかった場合は、その後の処理は実行しない。すなわち、この場合、コンテンツ再生は行われない。
(ステップS303〜S304)
相互認証が成立し、双方の機器が信頼できる機器であることが確認されると、次に、情報処理装置は、ステップS303において、メモリカード等の情報記憶装置(メディア)の汎用領域に格納された利用制御情報(Usage Rule)の読み出し処理を行う。
利用制御情報(Usage Rule)は、例えば、先に図5を参照して説明したデータを格納した情報である。
読み出した利用制御情報(Usage Rule)に対応する再生予定のコンテンツが、ユーザ認証の成立を再生条件としているコンテンツである場合には、利用制御情報(Usage Rule)には、先に図5を参照して説明した以下のデータが記録されている、
(1)ユーザトークンID
(2)ユーザID
一方、再生予定のコンテンツが、ユーザ認証の成立を再生条件としていないコンテンツである場合には、利用制御情報(Usage Rule)の上記データの設定欄には無効データ(NULL)、例えばオール0の値などが記録されている。
情報処理装置は、利用制御情報(Usage Rule)のユーザトークンIDと、ユーザIDの記録欄に有効データが記録されているか否かを検証して、この利用制御情報対応のコンテンツがユーザ認証の成立を再生許容条件としたコンテンツであるか否かを判定する。
コンテンツがユーザ認証の成立を再生許容条件としたコンテンツであると判定した場合は、ステップS304の判定はYesとなり、ステップS305に進む。
一方、コンテンツがユーザ認証の成立を再生許容条件としたコンテンツでないと判定した場合は、ステップS304の判定はNoとなり、ステップS311に進む。
(ステップS311〜S312)
先に、ステップS304で、コンテンツがユーザ認証の成立を再生許容条件としたコンテンツでないと判定した場合の処理について説明する。
この場合、ステップS305〜S310の処理は省略し、ステップS311において暗号化コンテンツの復号用の鍵であるタイトルキーの生成処理を行なう。
ステップS311では、タイトルキーを、利用制御情報(Usage Rule)を利用して生成する。
コンテンツがユーザ認証の成立を再生許容条件としていないコンテンツである場合、メモリカード等の情報記憶装置の保護領域に格納される変換タイトルキー(XORed Title Key)は、例えば以下の式に従って生成されたタイトルキーである。
XORed Title Key=Title Key(xor)(hash(Usage Rule))
すなわち、タイトルキー(Title Key)と利用制御情報(Usage Rule)のハッシュ値との排他的論理和演算によって変換タイトルキー(XORed Title Key)が生成されている。
従って、この場合、ステップS311においては、以下の式に従って、タイトルキー(Title Key)を算出する。
Title Key=XORed Title Key(xor)(hash(Usage Rule))
この処理の後、ステップS312において、情報処理装置は、情報記憶装置の汎用領域から再生予定の暗号化コンテンツを読み出し、読み出した暗号化コンテンツに対して、ステップS311で算出したタイトルキーを適用した復号処理を実行し、復号結果として得られたコンテンツの再生を行う。
(ステップS305)
次に、ステップS304で、コンテンツがユーザ認証の成立を再生許容条件としたコンテンツであると判定した場合の処理について説明する。
この場合、まず、ステップS305において、利用制御情報(Usage Rule)の記録情報に従って、以下の各データを情報記憶装置の保護領域から読み出す処理を実行する。
(1)変換タイトルキー(XORed Title Key)、
(2)ユーザトークン(UserToken)、
これらの各データを情報記憶装置の保護領域から読み出す。
なお、保護領域からのデータ読み出し処理に際しては、情報処理装置が保護領域のデータ格納エリアに対するアクセス権を有しているか否かの判定処理を実行する。この判定処理は、情報記憶装置が、例えば情報処理装置から受領した機器証明書、すなわち先に図6を参照して説明した公開鍵等を格納したホスト証明書(Host Certificate)の記録情報を参照して行う。
この判定処理において、情報処理装置が保護領域の変換タイトルキーおよびユーザトークン格納エリアに対するアクセス権を有していると判定された場合にのみ、ステップS305において変換タイトルキーとユーザトークンの読み出しが実行される。
情報処理装置が、保護領域の変換タイトルキーとユーザトークンの格納エリアに対するアクセス権を有していないと判定された場合には、ステップS305のデータ読み出しは実行されない。この場合は、コンテンツの再生は実行されない。
(ステップS306)
次に、情報処理装置は、ステップS306において、ユーザIDとパスワードをユーザに入力する要求を出力する。具体的には例えば表示部にユーザID、パスワードの入力欄と、入力を促すメッセージを表示する。
なお、ステップS306のユーザに対する入力要求を行なうことなく、予め、ユーザIDとパスワードを情報処理装置、または情報記憶装置のメモリに格納しておき、これを読み出す処理を実行してもよい。すなわち、図9〜図10に従った処理を実行するコンテンツ再生処理アプリケーションがアクセス可能なメモリに予め記録されているユーザIDとパスワードを読み出して、この読み出しデータを利用する構成としてもよい。
(ステップS307)
次に、情報処理装置は、ステップS307において、入力されたユーザIDとパスワード、またはメモリから読み出したユーザIDとパスワードを利用して認証鍵(Kauth)を生成する。
認証鍵(Kauth)は、先に説明したように、以下の(式2)に従って算出する。
Kauth=func(User ID||Password)・・・(式2)
(ステップS308)
次に、情報処理装置は、ステップS308において、生成した認証鍵(Kauth)を適用して、ユーザトークン(UserToken)を復号してバインド秘密情報(Binding Secret)を生成し、さらに生成したバインド秘密情報(Binding Secret)が正しいデータであるか否かを検証する。
先に説明したように、ユーザトークン(UserToken)は、以下の算出式(式5)で生成されたデータである。
UserToken=Enc(Kauth,Binding Secret||ICV)・・・(式5)
ステップS308では、先に説明したように、以下の(式10)に従って、バインド秘密情報(Binding Secret)を取得する。
(Binding Secret||ICV)=Dec(Kauth,UserToken)・・・(式10)
上記(式10)に従った認証鍵(Kauth)による復号処理を行なった場合、
バインド秘密情報(Binding Secret)とその検証値(ICV)との連結データ、すなわち、以下のデータが得られる。
Binding Secret||ICV
(ステップS309)
情報処理装置は、ステップS308で算出したバインド秘密情報(Binding Secret)とその検証値(ICV)との連結データ、すなわち、
Binding Secret||ICV
上記データの検証値ICVを適用して、算出したバインド秘密情報(Binding Secret)が正しい値であるか否かの検証処理を実行する。
なお、検証江値ICVは、正しいバインド秘密情報(Binding Secret)に基づいて生成されたハッシュ値、MAC値、あるいは暗号化データ等である。
例えばICVがハッシュ値である場合、ステップS308において算出したバインド秘密情報(Binding Secret)に基づくハッシュ値を計算して、計算したハッシュ値とICV値との照合処理を行なうことで、算出したバインド秘密情報(Binding Secret)が正しい値であるか否かの検証をすることができる。
ステップS309において、検証が成立し、バインド秘密情報(Binding Secret)が正しい値であると判定した場合は、ステップS310に進む。
一方、検証不成立の場合は、ステップS321に進む。
(ステップS321)
まず、ステップS309において、検証が成立しなかった場合のステップS321の処理について説明する。
検証不成立の一因として考えられるのが、ユーザの入力したユーザIDとパスワードの間違いである。
ユーザIDとパスワードに基づいて認証鍵(Kauth)が生成されており、この認証鍵(Kauth)を適用してバインド秘密情報(Binding Secret)が生成されているからである。
従って、ステップS309において、検証不成立の場合は、ステップS321に進み、ユーザに対して、ユーザIDとパスワードが正しくないことを通知して、再度の入力を要求し、ステップS306に進み、ユーザIDとパスワード入力処理を繰り返し実行させる。
なお、この処理はオプションであり、繰り返し、ユーザIDとパスワードを入力させる処理を行なわず、その後の処理を停止する構成としてもよい。
(ステップS310)
次に、ステップS309において、検証が成立し、バインド秘密情報(Binding Secret)が正しい値であると判定した場合のステップS310の処理について説明する。
情報処理装置は、ステップS310において、ステップS307で算出したバインド秘密情報(Binding Secret)を適用して変換タイトルキー(XORed Title Key)からタイトルキー(Title Key)を算出する。
先に説明したように、変換タイトルキー(XORed Title Key)は、以下に示す(式1)に従って生成されたタイトルキーの変換データである。
XORed Title Key=Title Key(xor)Binding Secret ・・・(式1)
すなわち、タイトルキー(Title Key)と、バインド秘密情報(Binding Secret)との排他的論理和演算によって変換タイトルキー(XORed Title Key)が算出される。
ステップS310では、以下の(式11)に従って、ステップS308で算出したバインド秘密情報(Binding Secret)を適用して変換タイトルキー(XORed Title Key)からタイトルキー(Title Key)を算出する。
Title Key=XORed Title Key(xor)Binding Secret・・・(式11)
(ステップS312)
次に、情報処理装置は、ステップS312において、情報記憶装置の汎用領域から再生予定の暗号化コンテンツを読み出し、読み出した暗号化コンテンツに対して、ステップS310で算出したタイトルキーを適用した復号処理を実行し、復号結果として得られたコンテンツの再生を行う。
このように、本開示の処理では、コンテンツ再生に際して、ユーザ認証処理を条件とすることが可能となる。
このユーザ認証処理は、例えばサーバとの接続処理等、通信処理を伴わず、コンテンツ再生処理を実行する情報処理装置単独で実行することが可能となる。
ユーザ認証処理は、最終的には図11のフローに示すステップS309のバインド秘密情報(Binding Secret)の検証処理が成立したことで成立と判定される。
すなわち、正しいバインド秘密情報(Binding Secret)が算出されたことが確認されれば、ユーザ認証の成立と判定される。
なお、正しいバインド秘密情報(Binding Secret)が得られない場合は、その後のステップS310におけるタイトルキーの算出に際して、正しいタイトルキー算出を行なうことができず、結果として暗号化コンテンツの復号に失敗し、コンテンツ再生は実行できない。
バインド秘密情報(Binding Secret)は、先に説明したように、先に説明した(式10)に従った認証鍵(Kauth)を適用したユーザトークンの復号が正しく行われることである。
(Binding Secret||ICV)=Dec(Kauth,UserToken)・・・(式10)
上記(式10)の復号処理を正しく行うためには、正しい認証鍵(Kauth)が生成されることが条件となる。
認証鍵(Kauth)は、前述したように、先に説明した以下の(式2)に従って算出される。
Kauth=func(User ID||Password)・・・(式2)
すなわち正しいユーザIDとパスワードが取得された場合に限り、正しい認証鍵(Kauth)を算出することが可能となる。
さらに、この正しいユーザIDとパスワードに基づいて算出された正しい認証鍵(Kauth)を適用したユーザトークンの復号が実行された場合にのみ、正しいバインド秘密情報(Binding Secret)を算出することが可能となる。
このように、ユーザIDとパスワードが、サーバの生成した認証鍵(Kauth)の生成時に適用したデータと一致する場合にのみ再生装置側において、正しい認証鍵(kauth)を生成することが可能となる。
この場合に鍵り、正しいバインド秘密情報(Binding Secret)を生成することが可能となる。
さらに、この結果として、変換タイトルキー(XORed Title Key)から正しいタイトルキー(Title Key)を算出することが可能となり、
この正しいタイトルキー(Title Key)が得られた場合に限り、暗号化コンテンツの復号に成功し、コンテンツ再生を行なうことが可能となる。
すなわち、コンテンツ再生時に例えば、ユーザの入力するユーザIDとパスワードが、コンテンツダウンロード時にサーバ側で正規ユーザのユーザアカウント情報と一致する場合に限り、コンテンツ再生が許容されることになる。
このように、本開示の構成によれば、サーバ等との通信を行なうことなく、ユーザ認証の成立を条件としたコンテンツ利用制御を行なうことが可能となる。
[7.再生装置または再生アプリケーション対応の秘密情報を適用した実施例について]
上述した実施例では、図8を参照して説明した情報記憶装置に対する暗号化コンテンツの記録処理に際して、以下の処理を実行していた。
(a1)ユーザIDとパスワードを適用して認証鍵(Kauth)を生成する処理、
(a2)生成した認証鍵(Kauth)を適用したコンテンツ対応のバインド秘密情報(Binding Secret)の暗号化を行ってユーザトークン(UserToken)を生成し、生成したユーザトークン(UserToken)を情報記憶装置に格納する処理、
(a3)バインド秘密情報(Binding Secret)とタイトルキー(Title Key)の演算によって変換タイトルキー(XORed Title Key)を生成し、生成した変換タイトルキー(XORed Title Key)を情報記憶装置に格納する処理、
図8を参照して説明した情報記憶装置に対する暗号化コンテンツの記録処理においては、これらの処理を実行していた。
また、図9〜図11を参照して説明した情報記憶装置に格納された暗号化コンテンツの復号処理に際して、以下の処理を実行していた。
(b1)情報記憶装置からユーザトークン(UserToken)と、変換タイトルキー(XORed Title Key)を読み出す処理、
(b2)ユーザIDとパスワードを適用して認証鍵(Kauth)を生成する処理、
(b3)生成した認証鍵(Kauth)によるユーザトークン(UserToken)の復号により、バインド秘密情報(Binding Secret)を生成する処理、
(b4)バインド秘密情報(Binding Secret)と変換タイトルキー(XORed Title Key)との演算により、タイトルキー(Title Key)を算出する処理、
図9〜図11を参照して説明した情報記憶装置に格納された暗号化コンテンツの復号処理においては、これらの処理を実行していた。
これらの処理により、暗号化コンテンツを復号するために用いるタイトルキー(Title Key)を算出するためには、正しい認証鍵(Kauth)が算出されることが必要となる。
正しい認証鍵(Kauth)を算出するためには、正しいユーザIDとパスワードが必要となる。
この結果として、暗号化コンテンツの復号、利用を正しいユーザID、パスワードを知る特定の正規ユーザに限定することが可能となる。
このように上述した実施例では暗号化コンテンツの利用を特定ユーザに限定する構成が可能となる。
さらに、以下、コンテンツの利用ユーザの限定に加え、コンテンツを再生する再生装置やアプリケーションについても限定可能とした実施例について説明する。
コンテンツを再生する再生装置あるいは、再生装置において実行される再生プログラムである再生アプリケーションの少なくともいずれかを限定する実施例について説明する。
以下では、一例としてコンテンツ再生を実行する再生装置を限定可能とした構成について説明する。
再生装置は、再生装置固有の秘密情報としてのアプリ鍵を有する。このアプリ鍵は、例えば特定の再生装置メーカーの製造した特定型番の機器に共通の鍵として装置のメモリに記録される。
メモリカード等の情報記憶装置を装着した情報処理装置(ホスト)がコンテンツ提供サーバにアクセスし、サーバの提供コンテンツをダウンロードしてメモリカードに記録する処理について説明する。
図12は、先の実施例で説明した図8のシーケンス図と同様の図であり、メモリカード等のメディアである情報記憶装置に、サーバからのダウンロードコンテンツを記録する際の処理シーケンスを説明する図である。
図12には、左から、
(a)コンテンツ提供処理を実行するサーバ、
(b)メモリカード等の情報記憶装置(メディア)を装着した情報処理装置(ホスト)
(c)コンテンツの記録先となるメモリカード等の情報記憶装置(メディア)
これらを示している。
情報処理装置(ホスト)は、メモリカード等の情報記憶装置(メディア)を装着し、情報記憶装置(メディア)に記録されたコンテンツを再生可能な再生装置である。この情報処理装置(ホスト)は、記憶部に先に図6を参照して説明したデータ構成を持つホスト証明書(Host Cert)を格納している。
情報記憶装置は、例えば図3等を参照して説明した構成を有するメモリカード31であり、データ処理を実行するデータ処理部として機能するコントローラ110と、記憶部120等を有する。
なお、情報処理装置(ホスト)は、メモリカード等の情報記憶装置(メディア)を装着し、情報処理装置(ホスト)および情報記憶装置(メディア)のデータ処理部が、サーバと通信を実行して、図に示すステップS101以下の処理を、順次実行してコンテンツのダウンロード処理、記録処理を実行する。
以下、ステップS401以下の処理の詳細について、説明する。
なお、図12に示すステップS401〜S412の処理は、先の実施例で説明した図8に示すシーケンス図のステップS101〜S112と、ほぼ同様の処理であり、ステップS401の処理と、ステップS408の処理が異なる処理となる。
その他のステップの処理は先に図8を参照して説明した処理と同様の処理となるので、これらの処理については簡略化して説明する。
(ステップS401)
まず、ダウンロードコンテンツの記録メディアとなるメモリカード等の情報記憶装置(メディア)を装着した情報処理装置(ホスト)は、ユーザログイン処理として、ユーザが入力したユーザID(UserID)とパスワード(Password)、さらに、情報処理装置のメモリに格納されたアプリ鍵(Kapl)をサーバに送信する。
これらのユーザIDと、パスワードとアプリ鍵(Kapl)は、認証鍵(Kauth)の生成情報である。認証鍵(Kauth)は、ユーザID(UserID)とパスワード(Password)、さらに、アプリ鍵(Kapl)を適用した以下の(式12)によって生成される。
Kauth=func(UserID||Password||Kapl)・・・(式12)
(ステップS402)
次に、サーバは、情報処理装置(ホスト)から受信したユーザID(UserID)とパスワード(Password)が、予めサーバに登録された正規ユーザのユーザIDとパスワードに一致するか否かの確認、すなわちログイン情報の検証処理を実行する。
(ステップS403)
情報処理装置(ホスト)から受信したユーザID(UserID)とパスワード(Password)が、予めサーバに登録された正規ユーザのユーザIDとパスワードに一致した場合は、ステップS403において、サーバは情報記憶装置に対してコンテンツを送信する。
(ステップS404)
ステップS404において、サーバから送信された暗号化コンテンツが情報記憶装置の汎用領域(ユーザデータ領域)に記録される。
なお、暗号化コンテンツを取得したのみでは、コンテンツの再生、利用はできない。この暗号化コンテンツに対応する暗号鍵であるタイトルキーを取得するこが必要となる。
(ステップS405)
ステップS405において、サーバと情報記憶装置との間で相互認証処理とセッションキー(=バスキー:Bk)共有処理を実行する。この処理は公開鍵暗号方式に従った相互認証処理と鍵共有処理であり、双方の信頼性確認とセッションキー(=バスキー:Bk)の生成と共有処理を行う。
(ステップS406〜S407)
ステップS406〜S407において、リボケーションリストの同期処理を実行する。すなわち、情報記憶装置に格納されたリボケーションリストのバージョンが、サーバの保持するリボケーションリストのバージョンより古い場合は、サーバから新しいリボケーションリストが情報記憶装置に提供され、情報記憶装置に格納された古いリボケーションリストを新しいリボケーションリストに置き換えるリボケーションリストの更新処理を行う。
(ステップS408)
次に、サーバは、ステップS408において、
(1)ユーザトークン(UserToken)、
(2)変換タイトルキー、
これらの各データを生成する。
先に説明したように、ユーザトークン(UserToken)は、コンテンツ提供サーバが生成した乱数などによって構成されるコンテンツ固有のバインド秘密情報(Binding Secret)と認証鍵(Kauth)に基づいて生成する。具体的には、先に説明した以下の算出式(式5)で算出する。
UserToken=Enc(Kauth,Binding Secret||ICV)・・・(式5)
ただし、本実施例では、認証鍵(Kauth)は、ユーザID(User ID)とユーザパスワード(Password)、さらに、再生装置固有の秘密情報であるアプリ鍵(Kapl)に対して所定の関数を適用して算出される鍵である。
このように、上記算出式(式5)に従って算出されるユーザトークン(UserToken)は、
(A)ユーザID、ユーザパスワード、さらにアプリ鍵(Kapl)を適用して生成される認証鍵(Kauth)、
(B)コンテンツに対応して生成されるコンテンツ固有のバインド秘密情報(Binding Secret)、
これらの各情報に基づいて生成されるデータである。
さらに、サーバは、ステップS408において、
変換タイトルキー(XORed Title Key)を生成する。
変換タイトルキー(XORed Title Key)は、ステップS403において、情報記憶装置に格納した暗号化コンテンツの復号処理に適用する鍵であるタイトルキーの変換データである。
先に説明したように、変換タイトルキー(XORed Title Key)は、例えば、コンテンツ提供サーバが生成した乱数などによって構成されるコンテンツ固有のバインド秘密情報(Binding Secret)とタイトルキーとの排他的論理和演算(XOR)によって生成する。具体的には、先に説明した以下の(式1)に従って算出する。
XORed Title Key=Title Key(xor)Binding Secret ・・・(式1)
(ステップS409)
ステップS409において、サーバは、ステップS408で生成したデータ、すなわち、
(1)ユーザトークン(UserToken)、
(2)変換タイトルキー、
これらのデータを情報記憶装置(メディア)に送信する。なお、これらのデータは、ステップS405において生成したセッションキー(Bk)で暗号化して送信する。
(ステップS410)
次に、情報記憶装置は、ステップS409において、サーバから受信した、
(1)ユーザトークン(UserToken)、
(2)変換タイトルキー、
これらのデータを保護領域(セキュア領域)に記録する。
すなわち、先に図4を参照して説明した保護領域122の格納データとする。
(ステップS411)
次に、サーバはステップS411において、ステップS403で送信済みの暗号化コンテンツに対応する利用制御情報(Usage Rule)を情報記憶装置に送信する。
(ステップS412)
次に、情報記憶装置は、ステップS412において、サーバから受信した利用制御情報(Usage Rule)を汎用領域(ユーザデータ領域)に記録する。
この図12に示すシーケンスに従って、情報記憶装置の汎用領域には、サーバから提供された以下のデータ、すなわち、
(1)暗号化コンテンツ、
(2)利用制御情報
これらのデータが記録され、
情報記憶装置の保護領域には、サーバから提供された以下のデータ、すなわち、
(3)変換タイトルキー(XORed Title Key)
(4)ユーザトークン(UserToken)
が格納される。
次に、ユーザ認証処理の成立と再生装置の確認を再生条件としたコンテンツ再生処理を行なう場合に、情報処理装置(再生装置)の実行する処理シーケンスについて、図13に示すフローチャートを参照して説明する。
図13は、先の実施例で説明した図11に示すフローに対応する。このフローに従った処理は、情報処理装置(再生装置)のデータ処理部、具体的には、コンテンツ再生アプリケーションを実行するCPUを有する制御部の制御の下に実行される。
なお、図13に示すフローに従った処理手順を記録したプログラム(コンテンツ再生アプリケーション)は情報処理装置のメモリに記録され、情報処理装置のCPUにおいて実行される。
図13に示すフローのステップS501〜S512の各処理は、先に説明した図11に示すフローのステップS301〜312の各処理とほとんどが同様の処理となる。
異なる処理は、ステップS504の処理とステップS507の処理である。
従って、以下では、この2つのステップ処理について詳細に説明し、その他のステップの処理は簡略化して説明する。
(ステップS501)
まず、コンテンツを格納した情報記憶装置との間で、相互認証処理を実行する。
(ステップS502)
ステップS501の認証処理が成立した場合はステップS503に進む。
ステップS501の認証処理が成立しなかった場合は、その後の処理は実行しない。すなわち、この場合、コンテンツ再生は行われない。
(ステップS503〜S504)
相互認証が成立し、双方の機器が信頼できる機器であることが確認されると、次に、情報処理装置は、ステップS503において、メモリカード等の情報記憶装置(メディア)の汎用領域に格納された利用制御情報(Usage Rule)の読み出し処理を行う。
利用制御情報(Usage Rule)は、例えば、先に図5を参照して説明したデータを格納した情報である。
読み出した利用制御情報(Usage Rule)に対応する再生予定のコンテンツが、ユーザ認証の成立と装置確認の成立を再生条件としているコンテンツである場合には、利用制御情報(Usage Rule)には、先に図5を参照して説明した以下のデータが記録されている、
(1)ユーザトークンID
(2)ユーザID
一方、再生予定のコンテンツが、ユーザ認証の成立と装置確認の成立を再生条件としていないコンテンツである場合には、利用制御情報(Usage Rule)の上記データの設定欄には無効データ(NULL)、例えばオール0の値などが記録されている。
情報処理装置は、利用制御情報(Usage Rule)のユーザトークンIDと、ユーザIDの記録欄に有効データが記録されているか否かを検証して、この利用制御情報対応のコンテンツがユーザ認証の成立と装置確認の成立を再生許容条件としたコンテンツであるか否かを判定する。
コンテンツがユーザ認証の成立と装置確認の成立を再生許容条件としたコンテンツであると判定した場合は、ステップS504の判定はYesとなり、ステップS505に進む。
一方、コンテンツがユーザ認証の成立と装置確認の成立を再生許容条件としたコンテンツでないと判定した場合は、ステップS504の判定はNoとなり、ステップS511に進む。
(ステップS511〜S512)
先に、ステップS504で、コンテンツがユーザ認証の成立と装置確認の成立を再生許容条件としたコンテンツでないと判定した場合の処理について説明する。
この場合、ステップS505〜S510の処理は省略し、ステップS511において暗号化コンテンツの復号用の鍵であるタイトルキーの生成処理を行なう。
ステップS511では、タイトルキーを、利用制御情報(Usage Rule)を利用して生成する。
この処理の後、ステップS512において、情報処理装置は、情報記憶装置の汎用領域から再生予定の暗号化コンテンツを読み出し、読み出した暗号化コンテンツに対して、ステップS511で算出したタイトルキーを適用した復号処理を実行し、復号結果として得られたコンテンツの再生を行う。
(ステップS505)
次に、ステップS504で、コンテンツがユーザ認証の成立と装置確認の成立を再生許容条件としたコンテンツであると判定した場合の処理について説明する。
この場合、まず、ステップS505において、利用制御情報(Usage Rule)の記録情報に従って、以下の各データを情報記憶装置の保護領域から読み出す処理を実行する。
(1)変換タイトルキー(XORed Title Key)、
(2)ユーザトークン(UserToken)、
これらの各データを情報記憶装置の保護領域から読み出す。
(ステップS506)
次に、情報処理装置は、ステップS506において、ユーザIDとパスワードをユーザに入力する要求を出力する。具体的には例えば表示部にユーザID、パスワードの入力欄と、入力を促すメッセージを表示する。
(ステップS507)
次に、情報処理装置は、ステップS507において、入力されたユーザIDとパスワードと、さらに、情報処理装置(再生装置)のメモリに格納されたアプリ鍵(Kapl)を利用して認証鍵(Kauth)を生成する。
認証鍵(Kauth)は、先に説明したように、以下の(式12)に従って算出する。
Kauth=func(User ID||Password||Kapl)・・・(式12)
(ステップS508)
次に、情報処理装置は、ステップS508において、生成した認証鍵(Kauth)を適用して、ユーザトークン(UserToken)を復号してバインド秘密情報(Binding Secret)を生成し、さらに生成したバインド秘密情報(Binding Secret)が正しいデータであるか否かを検証する。
(ステップS509)
情報処理装置は、ステップS508で算出したバインド秘密情報(Binding Secret)とその検証値(ICV)との連結データ、すなわち、
Binding Secret||ICV
上記データの検証値ICVを適用して、算出したバインド秘密情報(Binding Secret)が正しい値であるか否かの検証処理を実行する。
ステップS509において、検証が成立し、バインド秘密情報(Binding Secret)が正しい値であると判定した場合は、ステップS510に進む。
一方、検証不成立の場合は、ステップS521に進む。
(ステップS521)
まず、ステップS509において、検証が成立しなかった場合のステップS521の処理について説明する。
検証不成立の一因として考えられるのが、ユーザの入力したユーザIDとパスワードの間違いである。あるいは再生装置の秘密情報であるアプリ鍵(Kapl)が、コンテンツ記録時の認証鍵(Kauth)の生成に適用したアプリ鍵(Kapl)と異なることも想定される。
ユーザIDとパスワード、さらにアプリ鍵(Kapl)に基づいて認証鍵(Kauth)が生成されており、この認証鍵(Kauth)を適用してバインド秘密情報(Binding Secret)が生成されているからである。
従って、ステップS509において、検証不成立の場合は、ステップS521に進み、ユーザに対して、ユーザIDとパスワード、またはアプリ鍵(Kapl)が正しくないことを通知して、再度のユーザIDとパスワードの入力、あるいは再生装置の変更を要求する。さらに、ステップS506に進み、ユーザIDとパスワード入力処理を繰り返し実行させる。
なお、この処理はオプションであり、繰り返し、ユーザIDとパスワードを入力させる処理を行なわず、その後の処理を停止する構成としてもよい。
(ステップS510)
次に、ステップS509において、検証が成立し、バインド秘密情報(Binding Secret)が正しい値であると判定した場合のステップS510の処理について説明する。
情報処理装置は、ステップS510において、ステップS507で算出したバインド秘密情報(Binding Secret)を適用して変換タイトルキー(XORed Title Key)からタイトルキー(Title Key)を算出する。
(ステップS512)
次に、情報処理装置は、ステップS512において、情報記憶装置の汎用領域から再生予定の暗号化コンテンツを読み出し、読み出した暗号化コンテンツに対して、ステップS510で算出したタイトルキーを適用した復号処理を実行し、復号結果として得られたコンテンツの再生を行う。
このように、本実施例の処理では、コンテンツ再生に際して、ユーザ認証処理と再生装置の確認を条件とすることが可能となる。
ユーザ認証処理と再生装置の確認処理は、最終的には図13のフローに示すステップS509のバインド秘密情報(Binding Secret)の検証処理が成立したことで成立と判定される。
すなわち、正しいバインド秘密情報(Binding Secret)が算出されたことが確認されれば、ユーザ認証と装置確認の成立と判定される。
なお、正しいバインド秘密情報(Binding Secret)が得られない場合は、その後のステップS510におけるタイトルキーの算出に際して、正しいタイトルキー算出を行なうことができず、結果として暗号化コンテンツの復号に失敗し、コンテンツ再生は実行できない。
バインド秘密情報(Binding Secret)は、先に説明したように、先に説明した(式10)に従った認証鍵(Kauth)を適用したユーザトークンの復号が正しく行われることである。
(Binding Secret||ICV)=Dec(Kauth,UserToken)・・・(式10)
上記(式10)の復号処理を正しく行うためには、正しい認証鍵(Kauth)が生成されることが条件となる。
認証鍵(Kauth)は、前述したように、先に説明した以下の(式12)に従って算出される。
Kauth=func(User ID||Password||Kapl)・・・(式12)
すなわち正しいユーザIDとパスワードと、正しいアプリ鍵(Kapl)、すなわちコンテンツ記録時に情報処理装置の提供したアプリ鍵(Kapl)と同じアプリ鍵(Kapl)が取得された場合に限り、正しい認証鍵(Kauth)を算出することが可能となる。
さらに、この正しいユーザIDとパスワードと正しいアプリ鍵(Kapl)に基づいて算出された正しい認証鍵(Kauth)を適用したユーザトークンの復号が実行された場合にのみ、正しいバインド秘密情報(Binding Secret)を算出することが可能となる。
このように、ユーザIDとパスワードとアプリ鍵(Kapl)が、サーバの生成した認証鍵(Kauth)の生成時に適用したデータと一致する場合にのみ再生装置側において、正しい認証鍵(kauth)を生成することが可能となる。
この場合に鍵り、正しいバインド秘密情報(Binding Secret)を生成することが可能となる。
さらに、この結果として、変換タイトルキー(XORed Title Key)から正しいタイトルキー(Title Key)を算出することが可能となり、
この正しいタイトルキー(Title Key)が得られた場合に限り、暗号化コンテンツの復号に成功し、コンテンツ再生を行なうことが可能となる。
すなわち、コンテンツ再生時に例えば、ユーザの入力するユーザIDとパスワードが、コンテンツダウンロード時にサーバ側で確認した正規ユーザのユーザアカウント情報と一致し、さらに、コンテンツ再生を実行する情報処理装置の保持するアプリ鍵(Kapl)が、コンテンツダウンロード時にサーバ側で確認した情報処理装置の保持するアプリ鍵(Kapl)と一致する場合に限り、コンテンツ再生が許容されることになる。
このように、本実施例の構成によれば、サーバ等との通信を行なうことなく、ユーザ認証の成立と装置確認を条件としたコンテンツ利用制御を行なうことが可能となる。
なお、上記実施例では、アプリ鍵(Kapl)を再生装置固有の鍵とした例を説明したが、アプリ鍵(Kapl)は、装置に限らず、例えば再生プログラムである再生アプリケーション固有の鍵とした設定でもよい。
[8.各装置のハードウェア構成例について]
最後に、図14、図15を参照して、上述した処理を実行する各装置のハードウェア構成例について説明する。
図14は、メディアに対するコンテンツ記録あるいはメディアからのコンテンツ再生を実行する情報処理装置、およびコンテンツ提供サーバ等のコンテンツ提供装置に適用可能な情報処理装置のハードウェア構成例を示している。
CPU(Central Processing Unit)701は、ROM(Read Only Memory)702、または記憶部708に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述したシーケンスに従った処理を実行する。RAM(Random Access Memory)703には、CPU701が実行するプログラムやデータなどが記憶される。これらのCPU701、ROM702、およびRAM703は、バス704により相互に接続されている。
CPU701はバス704を介して入出力インタフェース705に接続され、入出力インタフェース705には、各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部706、ディスプレイ、スピーカなどよりなる出力部707が接続されている。CPU701は、入力部706から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部707に出力する。
入出力インタフェース705に接続されている記憶部708は、例えばハードディスク等からなり、CPU701が実行するプログラムや各種のデータを記憶する。通信部709は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
入出力インタフェース705に接続されているドライブ710は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア711を駆動し、記録されているコンテンツや鍵情報等の各種データを取得する。例えば、取得されたコンテンツや鍵データを用いて、CPUによって実行する再生プログラムに従ってコンテンツの復号、再生処理などが行われる。
図15は、情報記憶装置であるメモリカードのハードウェア構成例を示している。
CPU(Central Processing Unit)801は、ROM(Read Only Memory)802、または記憶部807に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述の各実施例において説明したサーバやホスト機器との通信処理やデータの記憶部807に対する書き込み、読み取り等の処理、記憶部807の保護領域811の区分領域単位のアクセス可否判定処理等を実行する。RAM(Random Access Memory)803には、CPU801が実行するプログラムやデータなどが適宜記憶される。これらのCPU801、ROM802、およびRAM803は、バス804により相互に接続されている。
CPU801はバス804を介して入出力インタフェース805に接続され、入出力インタフェース805には、通信部806、記憶部807が接続されている。
入出力インタフェース805に接続されている通信部804は、例えばサーバやホストとの通信を実行する。記憶部807は、データの記憶領域であり、先に説明したようにアクセス制限のある保護領域811、自由にデータ記録読み取りができる汎用領域812を有する。
[9.本開示の構成のまとめ]
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、本明細書において開示した技術は、以下のような構成をとることができる。
(1) 暗号化コンテンツを格納する記憶部と、
外部装置の前記記憶部へのアクセス制御を実行するデータ処理部を有し、
前記記憶部は、
前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、
前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報を変換したユーザトークンを格納し、
前記データ処理部は、
前記記憶部へのアクセス権が確認された外部装置に対して、前記ユーザトークンの読み出しを許容する情報記憶装置。
(2)前記ユーザトークンは、前記暗号化コンテンツの利用管理を行なうサーバの登録アカウント情報に含まれるユーザ識別情報と、前記バインド秘密情報とに基づいて生成される認証鍵との演算処理によって算出可能なデータである前記(1)に記載の情報記憶装置。
(3)前記ユーザトークンは、前記暗号化コンテンツの利用管理を行なうサーバの登録アカウント情報に含まれるユーザIDおよびユーザパスワードと、前記バインド秘密情報とに基づいて生成した認証鍵との演算処理による算出データである前記(1)または(2)に記載の情報記憶装置。
(4)前記ユーザトークンは、前記バインド秘密情報を含むデータに対する前記認証鍵による暗号化データである前記(2)または(3)に記載の情報記憶装置。
(5)前記ユーザトークンは、前記バインド秘密情報と該バインド秘密情報に対する検証値を含むデータに対する前記認証鍵による暗号化データである前記(2)〜(4)いずれかに記載の情報記憶装置。
(6)前記バインド秘密情報は、前記暗号化コンテンツに固有の値である前記(1)〜(5)いずれかに記載の情報記憶装置。
(7)タイトルキーによって暗号化された暗号化コンテンツを格納したメディアを装着し、前記暗号化コンテンツの復号処理を実行するデータ処理部を有し、
前記データ処理部は、
前記メディアから、前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、
前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報を変換したユーザトークンを取得し、
入力部を介した入力処理、またはメモリからの読み出し処理によって取得したユーザ識別情報に基づいて認証鍵を生成し、
前記ユーザトークンと前記認証鍵との演算処理によって前記バイント秘密情報を算出し、
算出した前記バインド秘密情報を適用して前記変換タイトルキーからタイトルキーを算出し、
算出したタイトルキーを適用して前記暗号化コンテンツの復号処理を実行する情報処理装置。
(8)前記データ処理部は、入力部を介した入力処理、またはメモリからの読み出し処理によって取得したユーザIDおよびユーザパスワードに対する演算処理を実行して前記認証鍵を生成する前記(7)に記載の情報処理装置。
(9)前記データ処理部は、前記認証鍵を適用した前記ユーザトークンの復号処理を実行して前記バインド秘密情報を算出する前記(7)または(8)に記載の情報処理装置。
(10)前記データ処理部は、前記認証鍵を適用した前記ユーザトークンの復号処理を実行して前記バインド秘密情報と、該バインド秘密情報に対する検証値を算出し、算出検証値を利用して、算出したバインド秘密情報の検証処理を実行する前記(7)〜(9)いずれかに記載の情報処理装置。
(11)前記データ処理部は、前記バインド秘密情報と、前記変換タイトルキーとの排他的論理和演算を実行してタイトルキーを算出する前記(7)〜(10)いずれかに記載の情報処理装置。
(12) 情報記憶装置に対して暗号化コンテンツの送信を行うサーバであり、
前記情報記憶装置を装着した情報処理装置からユーザ識別情報を受信し、
受信したユーザ識別情報を適用した演算処理によりユーザトークンと、
前記暗号化コンテンツの暗号処理に適用するタイトルキーの変換データである変換タイトルキーを生成し、
生成したユーザトークンと変換タイトルキーを前記情報記憶装置の格納データとして送信する処理を実行するサーバ。
(13)前記サーバは、前記ユーザ識別情報として、ユーザIDおよびパスワードを受信し、ユーザIDおよびパスワードに対する演算処理によって前記認証鍵を生成する前記(12)に記載のサーバ。
(14)前記サーバは、前記暗号化コンテンツに対応する固有値としてのバインド秘密情報を生成し、前記バインド秘密情報に対する前記認証鍵を適用した暗号化処理により、前記ユーザトークンを生成する前記(12)または(13)に記載のサーバ。
(15) 暗号化コンテンツと、暗号化コンテンツの復号鍵であるタイトルキーを変換した変換タイトルキーと、前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報を変換したユーザトークンを格納した情報記憶装置と、
前記暗号化コンテンツの再生処理を実行する情報処理装置を有する情報処理システムであり、
前記情報処理装置は、
前記情報記憶装置から、前記変換タイトルキーと、前記ユーザトークンを取得し、
入力部を介した入力処理、またはメモリからの読み出し処理によって取得したユーザ識別情報に基づいて認証鍵を生成し、
前記ユーザトークンと前記認証鍵との演算処理によって前記バイント秘密情報を算出し、
算出した前記バインド秘密情報を適用して前記変換タイトルキーからタイトルキーを算出し、
算出したタイトルキーを適用して前記暗号化コンテンツの復号処理を実行する情報処理システム。
さらに、上記した装置およびシステムにおいて実行する処理の方法や、処理を実行させるプログラムも本開示の構成に含まれる。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本開示の一実施例の構成によれば、サーバ等との通信を行なうことなく、ユーザ認証の成立を条件としたコンテンツ利用制御が実現される。
具体的には、メモリカード等の情報記憶装置に暗号化コンテンツと暗号鍵であるタイトルキーを変換した変換タイトルキー、さらに変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報を変換したユーザトークンを格納する。暗号化コンテンツの復号、再生を実行する再生装置は、変換タイトルキーと、ユーザトークンを取得し、ユーザID等のユーザ識別情報に基づいて認証鍵を生成する。さらに、ユーザトークンと認証鍵との演算処理によってバイント秘密情報を算出し、算出したバインド秘密情報を適用して変換タイトルキーからタイトルキーを算出し、算出したタイトルキーを適用して暗号化コンテンツの復号処理を実行する。
これらの構成により、サーバ等との通信を行なうことなく、ユーザ認証の成立を条件としたコンテンツ利用制御を実現することができる。
11 放送局
12 コンテンツサーバ
20 情報処理装置
21 記録再生専用器
22 PC
23 携帯端末
30 情報記憶装置
31 メモリカード
110 コントローラ(データ処理部)
111 CPU
112 RAM
120 記憶部
121 汎用領域(ユーザデータ領域)
122 保護領域(セキュア領域)
131 コンテンツ
132 利用制御情報
133 変換タイトルキー
134 ユーザトークン
135 リボケーションリスト
136 メディア秘密鍵
137 メディア公開鍵証明書
701 CPU
702 ROM
703 RAM
704 バス
705 入出力インタフェース
706 入力部
707 出力部
708 記憶部
709 通信部
710 ドライブ
711 リムーバブルメディア
801 CPU
802 ROM
803 RAM
804 バス
805 入出力インタフェース
806 通信部
807 記憶部
811 保護領域
812 汎用領域

Claims (20)

  1. 暗号化コンテンツを格納する記憶部と、
    外部装置の前記記憶部へのアクセス制御を実行するデータ処理部を有し、
    前記記憶部は、
    前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、
    前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報の変換データであり、ユーザ識別情報に基づいて生成した認証鍵と、前記バインド秘密情報とを適用した演算処理によって算出されるユーザトークンを格納し、
    前記データ処理部は、
    前記記憶部へのアクセス権が確認された外部装置に対して、前記ユーザトークンの読み出しを許容する情報記憶装置。
  2. 前記ユーザトークンは、前記暗号化コンテンツの利用管理を行なうサーバの登録アカウント情報に含まれるユーザ識別情報を適用して生成した認証鍵と、
    前記バインド秘密情報との演算処理によって算出可能なデータである請求項1に記載の情報記憶装置。
  3. 前記ユーザトークンは、前記暗号化コンテンツの利用管理を行なうサーバの登録アカウント情報に含まれるユーザIDおよびユーザパスワードを適用して生成した認証鍵と、
    前記バインド秘密情報との演算処理による算出データである請求項1に記載の情報記憶装置。
  4. 前記ユーザトークンは、前記バインド秘密情報を含むデータに対する前記認証鍵による暗号化データである請求項2に記載の情報記憶装置。
  5. 前記ユーザトークンは、前記バインド秘密情報と該バインド秘密情報に対する検証値を含むデータに対する前記認証鍵による暗号化データである請求項2に記載の情報記憶装置。
  6. 前記バインド秘密情報は、前記暗号化コンテンツに固有の値である請求項1に記載の情報記憶装置。
  7. タイトルキーによって暗号化された暗号化コンテンツを格納したメディアを装着し、前記暗号化コンテンツの復号処理を実行するデータ処理部を有し、
    前記データ処理部は、
    前記メディアから、前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、
    前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報の変換データであり、ユーザ識別情報に基づいて生成した認証鍵と、前記バインド秘密情報との演算処理によって算出されるユーザトークンを取得し、
    入力部を介した入力処理、またはメモリからの読み出し処理によって取得したユーザ識別情報に基づいて認証鍵を生成し、
    前記ユーザトークンと前記認証鍵との演算処理によって前記バイント秘密情報を算出し、
    算出した前記バインド秘密情報を適用して前記変換タイトルキーからタイトルキーを算出し、
    算出したタイトルキーを適用して前記暗号化コンテンツの復号処理を実行する情報処理装置。
  8. 前記データ処理部は、
    入力部を介した入力処理、またはメモリからの読み出し処理によって取得したユーザIDおよびユーザパスワードに対する演算処理を実行して前記認証鍵を生成する請求項7に記載の情報処理装置。
  9. 前記データ処理部は、
    前記認証鍵を適用した前記ユーザトークンの復号処理を実行して前記バインド秘密情報を算出する請求項7に記載の情報処理装置。
  10. 前記データ処理部は、
    前記認証鍵を適用した前記ユーザトークンの復号処理を実行して前記バインド秘密情報と、該バインド秘密情報に対する検証値を算出し、
    算出検証値を利用して、算出したバインド秘密情報の検証処理を実行する請求項7に記載の情報処理装置。
  11. 前記データ処理部は、
    前記バインド秘密情報と、前記変換タイトルキーとの排他的論理和演算を実行してタイトルキーを算出する請求項7に記載の情報処理装置。
  12. 情報記憶装置に対して暗号化コンテンツの送信を行うサーバであり、
    前記情報記憶装置を装着した情報処理装置からユーザ識別情報を受信し、
    受信したユーザ識別情報に基づいて生成した認証鍵と、前記暗号化コンテンツに対応する固有値としてのバインド秘密情報を適用した演算処理によりユーザトークンを生成し、さらに、
    前記暗号化コンテンツの暗号処理に適用するタイトルキーの変換データである変換タイトルキーを生成し、
    生成したユーザトークンと変換タイトルキーを前記情報記憶装置の格納データとして送信する処理を実行するサーバ。
  13. 前記サーバは、
    前記ユーザ識別情報として、ユーザIDおよびパスワードを受信し、
    ユーザIDおよびパスワードに対する演算処理によって前記認証鍵を生成する請求項12に記載のサーバ。
  14. 前記サーバは、
    前記暗号化コンテンツに対応する固有値としてのバインド秘密情報を生成し、
    前記バインド秘密情報に対する前記認証鍵を適用した暗号化処理により、前記ユーザトークンを生成する請求項12に記載のサーバ。
  15. 暗号化コンテンツと、
    暗号化コンテンツの復号鍵であるタイトルキーを変換した変換タイトルキーと、
    前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報の変換データであり、ユーザ識別情報に基づいて生成した認証鍵と、前記バインド秘密情報を適用した演算処理によって算出されるユーザトークン、
    を格納した情報記憶装置と、
    前記暗号化コンテンツの再生処理を実行する情報処理装置を有する情報処理システムであり、
    前記情報処理装置は、
    前記情報記憶装置から、前記変換タイトルキーと、前記ユーザトークンを取得し、
    入力部を介した入力処理、またはメモリからの読み出し処理によって取得したユーザ識別情報に基づいて認証鍵を生成し、
    前記ユーザトークンと前記認証鍵との演算処理によって前記バイント秘密情報を算出し、
    算出した前記バインド秘密情報を適用して前記変換タイトルキーからタイトルキーを算出し、
    算出したタイトルキーを適用して前記暗号化コンテンツの復号処理を実行する情報処理システム。
  16. 情報記憶装置において実行する情報処理方法であり、
    前記情報記憶装置は、
    暗号化コンテンツと、
    前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、
    前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報の変換データであり、ユーザ識別情報に基づいて生成した認証鍵と、前記バインド秘密情報を適用した演算処理によって算出されるユーザトークン、
    を格納した記憶部と、
    外部装置の前記記憶部へのアクセス制御を実行するデータ処理部を有し、
    前記データ処理部は、
    前記記憶部へのアクセス権が確認された外部装置に対して、前記ユーザトークンの読み出しを許容する情報処理方法。
  17. 情報処理装置において、メディアに格納されたコンテンツの復号、再生を実行する情報処理方法であり、
    前記情報処理装置は、タイトルキーによって暗号化された暗号化コンテンツを格納したメディアを装着し、前記暗号化コンテンツの復号処理を実行するデータ処理部を有し、
    前記データ処理部は、
    前記メディアから、前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、
    前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報の変換データであり、ユーザ識別情報に基づいて生成した認証鍵と、前記バインド秘密情報を適用した演算処理によって算出されるユーザトークンを取得し、
    入力部を介した入力処理、またはメモリからの読み出し処理によって取得したユーザ識別情報に基づいて認証鍵を生成し、
    前記ユーザトークンと前記認証鍵との演算処理によって前記バイント秘密情報を算出し、
    算出した前記バインド秘密情報を適用して前記変換タイトルキーからタイトルキーを算出し、
    算出したタイトルキーを適用して前記暗号化コンテンツの復号処理を実行する情報処理方法。
  18. 情報記憶装置に対してコンテンツ送信を行うサーバにおいて実行する情報処理方法であり、
    前記情報記憶装置を装着した情報処理装置からユーザ識別情報を受信し、
    受信したユーザ識別情報に基づいて生成した認証鍵と、前記暗号化コンテンツに対応する固有値としてのバインド秘密情報を適用した演算処理によりユーザトークンを生成し、さらに、
    前記暗号化コンテンツの暗号処理に適用するタイトルキーの変換データである変換タイトルキーを生成し、
    生成したユーザトークンと変換タイトルキーを前記情報記憶装置の格納データとして送信する処理を実行する情報処理方法。
  19. 情報記憶装置において情報処理を実行させるプログラムであり、
    前記情報記憶装置は、
    暗号化コンテンツと、
    前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、
    前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報の変換データであり、ユーザ識別情報に基づいて生成した認証鍵と、前記バインド秘密情報を適用した演算処理によって算出されるユーザトークン、
    を格納した記憶部と、
    外部装置の前記記憶部へのアクセス制御を実行するデータ処理部を有し、
    前記プログラムは、前記データ処理部に、
    前記記憶部へのアクセス権が確認された外部装置に対して、前記ユーザトークンの読み出しを許容する処理を実行させるプログラム。
  20. 情報処理装置において、メディアに格納されたコンテンツの復号、再生を実行させるプログラムであり、
    前記情報処理装置は、タイトルキーによって暗号化された暗号化コンテンツを格納したメディアを装着し、前記暗号化コンテンツの復号処理を実行するデータ処理部を有し、
    前記プログラムは、前記データ処理部に、
    前記メディアから、前記暗号化コンテンツの復号に適用する暗号鍵であるタイトルキーを変換した変換タイトルキーと、
    前記変換タイトルキーからタイトルキーを算出するために適用するバインド秘密情報の変換データであり、ユーザ識別情報に基づいて生成した認証鍵と、前記バインド秘密情報を適用した演算処理によって算出されるユーザトークンを取得する処理と、
    入力部を介した入力処理、またはメモリからの読み出し処理によって取得したユーザ識別情報に基づいて認証鍵を生成する処理と、
    前記ユーザトークンと前記認証鍵との演算処理によって前記バイント秘密情報を算出する処理と、
    算出した前記バインド秘密情報を適用して前記変換タイトルキーからタイトルキーを算出する処理と、
    算出したタイトルキーを適用して前記暗号化コンテンツの復号処理を実行させるプログラム。
JP2014511343A 2012-08-24 2013-06-26 情報処理装置、情報記憶装置、サーバ、情報処理システム、および情報処理方法、並びにプログラム Expired - Fee Related JP6119741B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012185631 2012-08-24
JP2012185631 2012-08-24
PCT/JP2013/067457 WO2014030427A1 (ja) 2012-08-24 2013-06-26 情報処理装置、情報記憶装置、サーバ、情報処理システム、および情報処理方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JPWO2014030427A1 JPWO2014030427A1 (ja) 2016-07-28
JP6119741B2 true JP6119741B2 (ja) 2017-04-26

Family

ID=50149743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014511343A Expired - Fee Related JP6119741B2 (ja) 2012-08-24 2013-06-26 情報処理装置、情報記憶装置、サーバ、情報処理システム、および情報処理方法、並びにプログラム

Country Status (5)

Country Link
US (1) US9805173B2 (ja)
EP (1) EP2890046B1 (ja)
JP (1) JP6119741B2 (ja)
CN (1) CN103947151A (ja)
WO (1) WO2014030427A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10404615B2 (en) 2012-02-14 2019-09-03 Airwatch, Llc Controlling distribution of resources on a network
US9680763B2 (en) 2012-02-14 2017-06-13 Airwatch, Llc Controlling distribution of resources in a network
US20140280955A1 (en) 2013-03-14 2014-09-18 Sky Socket, Llc Controlling Electronically Communicated Resources
US9401915B2 (en) * 2013-03-15 2016-07-26 Airwatch Llc Secondary device as key for authorizing access to resources
US9106642B1 (en) * 2013-09-11 2015-08-11 Amazon Technologies, Inc. Synchronizing authentication sessions between applications
US9426156B2 (en) * 2013-11-19 2016-08-23 Care Innovations, Llc System and method for facilitating federated user provisioning through a cloud-based system
US20150278799A1 (en) * 2014-03-27 2015-10-01 Karthikeyan Palanisamy System incorporating wireless share process
US10789642B2 (en) 2014-05-30 2020-09-29 Apple Inc. Family accounts for an online content storage sharing service
DE102014111679A1 (de) * 2014-08-15 2016-02-18 Bundesdruckerei Gmbh Digitale Identitäten mit Fremdattributen
US10114939B1 (en) * 2014-09-22 2018-10-30 Symantec Corporation Systems and methods for secure communications between devices
US9584964B2 (en) 2014-12-22 2017-02-28 Airwatch Llc Enforcement of proximity based policies
US9413754B2 (en) 2014-12-23 2016-08-09 Airwatch Llc Authenticator device facilitating file security
US9875346B2 (en) 2015-02-06 2018-01-23 Apple Inc. Setting and terminating restricted mode operation on electronic devices
WO2016154949A1 (en) 2015-03-31 2016-10-06 SZ DJI Technology Co., Ltd. Authentication systems and methods for generating flight regulations
EP3198581B1 (en) * 2015-03-31 2019-12-25 SZ DJI Technology Co., Ltd. Systems and methods for uav mutual authentication
EP3152089A4 (en) 2015-03-31 2017-08-02 SZ DJI Technology Co., Ltd. Systems and methods for geo-fencing device communications
CN106293495A (zh) * 2015-05-22 2017-01-04 中兴通讯股份有限公司 终端设备的数据存储方法及终端设备
US10154316B2 (en) * 2016-02-26 2018-12-11 Apple Inc. Motion-based configuration of a multi-user device
US10872024B2 (en) 2018-05-08 2020-12-22 Apple Inc. User interfaces for controlling or presenting device usage on an electronic device
US11363137B2 (en) 2019-06-01 2022-06-14 Apple Inc. User interfaces for managing contacts on another electronic device
CN111639311A (zh) * 2020-05-29 2020-09-08 杭州安恒信息技术股份有限公司 防止反编译可执行文件的方法、装置、计算机设备和介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69733986T2 (de) * 1996-10-31 2006-01-26 Matsushita Electric Industrial Co., Ltd., Kadoma Vorrichtung zur verschlüsselten Kommunikation mit beschränkten Schaden bei Bekanntwerden eines Geheimschlüssels
JP3002184B1 (ja) * 1998-09-18 2000-01-24 日本電信電話株式会社 コンテンツ利用装置とコンテンツ利用プログラムを記録した記録媒体
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
US6792113B1 (en) 1999-12-20 2004-09-14 Microsoft Corporation Adaptable security mechanism for preventing unauthorized access of digital data
JP4310879B2 (ja) * 2000-02-23 2009-08-12 ソニー株式会社 コンテンツ再生システム及びコンテンツ再生方法、並びに、コンテンツの再生要求装置及び一時再生装置
JP3556891B2 (ja) * 2000-09-25 2004-08-25 日本電信電話株式会社 デジタルデータ不正使用防止システム及び再生装置
JP4660073B2 (ja) * 2002-10-18 2011-03-30 株式会社東芝 暗号化記録装置、再生装置及びプログラム
JP2006018335A (ja) * 2004-06-30 2006-01-19 Toshiba Corp コンテンツ記憶準備方法、コンテンツ記憶方法、コンテンツ使用方法、端末システム及び記憶媒体接続可能端末装置
US20060059573A1 (en) * 2004-08-26 2006-03-16 International Business Machines Corporation Controlling with rights objects delivery of broadcast encryption content for a network cluster from a content server outside the cluster
JP3810425B2 (ja) * 2004-12-16 2006-08-16 松下電器産業株式会社 改竄検出用データ生成方法、および改竄検出方法及び装置
US8813181B2 (en) * 2005-03-07 2014-08-19 Taun Eric Willis Electronic verification systems
JP4882653B2 (ja) 2006-10-06 2012-02-22 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4687703B2 (ja) * 2007-10-02 2011-05-25 ソニー株式会社 記録システム、情報処理装置、記憶装置、記録方法及びプログラム
KR100973576B1 (ko) 2008-03-26 2010-08-03 주식회사 팬택 권한 객체 생성 방법 및 그 디바이스, 권한 객체 전송 방법및 그 디바이스와 권한 객체 수신 방법 및 그 디바이스
JP4592804B2 (ja) * 2008-12-26 2010-12-08 株式会社東芝 鍵管理装置および鍵管理システム
US8555361B2 (en) * 2010-02-26 2013-10-08 Motorola Mobility Llc Dynamic cryptographic subscriber-device identity binding for subscriber mobility
JP5598115B2 (ja) * 2010-06-24 2014-10-01 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
WO2013031124A1 (ja) * 2011-08-26 2013-03-07 パナソニック株式会社 端末装置、検証装置、鍵配信装置、コンテンツ再生方法、鍵配信方法及びコンピュータプログラム
US9054874B2 (en) * 2011-12-01 2015-06-09 Htc Corporation System and method for data authentication among processors

Also Published As

Publication number Publication date
EP2890046B1 (en) 2018-12-19
CN103947151A (zh) 2014-07-23
US9805173B2 (en) 2017-10-31
US20140237235A1 (en) 2014-08-21
WO2014030427A1 (ja) 2014-02-27
EP2890046A4 (en) 2016-04-27
EP2890046A1 (en) 2015-07-01
JPWO2014030427A1 (ja) 2016-07-28

Similar Documents

Publication Publication Date Title
JP6119741B2 (ja) 情報処理装置、情報記憶装置、サーバ、情報処理システム、および情報処理方法、並びにプログラム
JP5869580B2 (ja) 端末装置、検証装置、鍵配信装置、コンテンツ再生方法、鍵配信方法及びコンピュータプログラム
JP5573489B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
US9037863B2 (en) Terminal device, server device, content recording control system, recording method, and recording permission control method
US8914646B2 (en) Information processing apparatus and information processing method for determining access permission
JP2012008756A (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP5598115B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP5929921B2 (ja) 情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
WO2012165062A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP5935883B2 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP5983727B2 (ja) 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
JP5552917B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP4268673B1 (ja) 著作権保護システム、再生装置、及び再生方法
JP5644467B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP2013150179A (ja) 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
JP5975098B2 (ja) 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
JP2013143104A (ja) 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
JP5899751B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP2013141171A (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP2013146014A (ja) 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
JP2013146012A (ja) 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
JP2013146013A (ja) 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160923

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170313

R151 Written notification of patent or utility model registration

Ref document number: 6119741

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees