(57)【特許請求の範囲】
【請求項１】
読出装置と、情報処理装置と、サーバ装置と、を備える情報処理システムであって、
前記読出装置は、
前記サーバ装置との間で第１認証・鍵交換処理を行うことにより第１共有鍵を取得する第１認証部と、
前記第１共有鍵を用いて、第１秘密情報を暗号化する第１処理部と、
暗号化された前記第１秘密情報を前記サーバ装置に対して送信する第１送信部と、
記録媒体からデータを読み出す読出部と、を備え、
前記サーバ装置は、
前記読出装置との間で前記第１認証・鍵交換処理を行うことにより前記第１共有鍵を取得し、前記情報処理装置との間で第２認証・鍵交換処理を行うことにより第２共有鍵を取得する第２認証部と、
暗号化された前記第１秘密情報を前記読出装置から受信する第１受信部と、
暗号化された前記第１秘密情報を、取得した前記第１共有鍵により復号し、復号した前記第１秘密情報に基づく第２秘密情報を前記第２共有鍵により暗号化する第２処理部と、
前記読出装置により前記記録媒体から読み出された前記データを、前記情報処理装置が正当に利用可能な状態で取得することを許可するか否かを判定する判定部と、
許可すると判定された場合に、暗号化された前記第２秘密情報を前記情報処理装置に送信する第２送信部と、を備え、
前記情報処理装置は、
前記サーバ装置との間で前記第２認証・鍵交換処理を行うことにより前記第２共有鍵を取得する第３認証部と、
暗号化された前記第２秘密情報を前記サーバ装置から受信する第２受信部と、
前記第２共有鍵を用いて、受信した前記第２秘密情報を復号する第３処理部と、を備え、
前記第１認証部は、さらに、前記情報処理装置との間で第３認証・鍵交換処理を行うことにより第３共有鍵を取得し、
前記第１処理部は、さらに、読出鍵と前記第２秘密情報とに基づいて暗号化鍵を生成し、読み出された前記データを生成した前記暗号化鍵を用いて暗号化し、前記第３共有鍵を用いて前記読出鍵を暗号化し、
前記第１送信部は、さらに、暗号化された前記読出鍵と、暗号化された前記データと、を前記情報処理装置に対して送信し、
前記第３認証部は、さらに、前記読出装置との間で前記第３認証・鍵交換処理を行うことにより前記第３共有鍵を取得し、
前記第２受信部は、さらに、暗号化された前記読出鍵と暗号化された前記データとを前記読出装置から受信し、
前記第３処理部は、さらに、前記第３共有鍵を用いて前記読出鍵を復号し、復号した前記読出鍵と前記第２秘密情報とに基づいて前記暗号化鍵を生成し、生成した前記暗号化鍵を用いて前記データを復号する、
情報処理システム。
【請求項２】
前記第２処理部は、復号した前記第１秘密情報を前記第２秘密情報として前記第２共有鍵により暗号化する、
請求項１に記載の情報処理システム。
【請求項３】
前記第２処理部は、復号した前記第１秘密情報と、前記情報処理装置の識別情報と、に基づいて生成した前記第２秘密情報を前記第２共有鍵により暗号化する、
請求項１に記載の情報処理システム。
【請求項４】
前記第２処理部は、復号した前記第１秘密情報と、前記情報処理装置の識別情報と、前記読出装置の識別情報と、に基づいて生成した前記第２秘密情報を前記第２共有鍵により暗号化する、
請求項１に記載の情報処理システム。
【請求項５】
前記第１処理部は、前記情報処理装置の識別情報と、前記読出装置の識別情報とのうち少なくとも一方を用いて前記読出鍵を生成する、
請求項１に記載の情報処理システム。
【請求項６】
請求項１に記載の情報処理システムに備えられる前記読出装置。
【請求項７】
請求項１に記載の情報処理システムに備えられる前記情報処理装置。
【請求項８】
読出装置と、情報処理装置と、サーバ装置と、を備える情報処理システムで実行される情報処理方法であって、
前記読出装置が、前記サーバ装置との間で第１認証・鍵交換処理を行うことにより第１共有鍵を取得するステップと、
前記読出装置が、前記第１共有鍵を用いて、第１秘密情報を暗号化するステップと、
前記読出装置が、暗号化された前記第１秘密情報を前記サーバ装置に対して送信するステップと、
前記サーバ装置が、暗号化された前記第１秘密情報を前記読出装置から受信するステップと、
前記読出装置が、記録媒体からデータを読み出すステップと、
前記サーバ装置が、前記情報処理装置との間で第２認証・鍵交換処理を行うことにより第２共有鍵を取得するステップと、
前記サーバ装置が、暗号化された前記第１秘密情報を、取得した前記第１共有鍵により復号するステップと、
前記サーバ装置が、復号した前記第１秘密情報に基づく第２秘密情報を前記第２共有鍵により暗号化するステップと、
前記サーバ装置が、前記読出装置により前記記録媒体から読み出された前記データを、前記情報処理装置が正当に利用可能な状態で取得することを許可するか否かを判定するステップと、
前記サーバ装置が、許可すると判定された場合に、暗号化された前記第２秘密情報を前記情報処理装置に送信するステップと、
前記情報処理装置が、暗号化された前記第２秘密情報を前記サーバ装置から受信するステップと、
前記情報処理装置が、前記第２共有鍵を用いて、受信した前記第２秘密情報を復号するステップと、
前記読出装置が、前記情報処理装置との間で第３認証・鍵交換処理を行うことにより第３共有鍵を取得するステップと、
前記読出装置が、読出鍵と前記第２秘密情報とに基づいて暗号化鍵を生成し、読み出された前記データを生成した前記暗号化鍵を用いて暗号化し、前記第３共有鍵を用いて前記読出鍵を暗号化するステップと、
前記読出装置が、暗号化された前記読出鍵と、暗号化された前記データと、を前記情報処理装置に対して送信するステップと、
前記情報処理装置が、前記読出装置との間で前記第３認証・鍵交換処理を行うことにより前記第３共有鍵を取得するステップと、
前記情報処理装置が、暗号化された前記読出鍵と暗号化された前記データとを前記読出装置から受信するステップと、
前記情報処理装置が、前記第３共有鍵を用いて前記読出鍵を復号し、復号した前記読出鍵と前記第２秘密情報とに基づいて前記暗号化鍵を生成し、生成した前記暗号化鍵を用いて前記データを復号するステップと、
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理システム、読出装置、情報処理装置、および、情報処理方法に関する。
【背景技術】
【０００２】
ＤＶＤやブルーレイディスク（Blu-ray（登録商標）  Disc：ＢＤ）などの記録媒体に暗号化されて記録されたデータ（暗号化データ）を復号する際、再生装置は、暗号化されて記録されたコンテンツ復号用の鍵データ（暗号化コンテンツ鍵）を合わせて読み出す。再生装置は、再生装置に予め秘匿されている、暗号化コンテンツ鍵を復号するために必要な鍵（デバイス鍵）を使用して暗号化コンテンツ鍵を復号する。再生装置は、復号されたコンテンツ鍵を使用して暗号化データを復号する。
【０００３】
ＤＶＤやＢＤでは、ディスク読出装置（ドライブ）によって記録媒体からデータが読み出される。ＳＤ（登録商標）カードなどのメモリカードでは、カードリーダを介してデータが読み出される。再生装置が、ＰＣ（パーソナルコンピュータ）にインストールされたソフトウェア（以下、ホストという場合がある）であり、読み出されるデータにさらなる保護が必要となる場合がある。このような場合を考慮して、ドライブ（ＢＤやＤＶＤの場合）とホストの間、または、ＳＤカードとホストの間で予め秘匿された秘密情報を用いた認証および鍵交換（ＡＫＥ:  Authentication  and  Key  Exchange）処理（以下、ＡＫＥ処理という場合がある）によって共有された鍵（共有鍵）を用いて、記録メディア上のデータを暗号化した上で読み出す技術が提案されている。この際、記録メディア上のデータが既に暗号化されている場合には、更にもう１段階の暗号化が施されることになる。このような技術を用いれば、仮にデバイス鍵を不正に入手したホストであっても、ＡＫＥ処理に必要な秘密情報を保持していなければＡＫＥ処理を正しく実行できないため、データを読み出すことができない。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Advanced  Access  Content  System  (AACS)  Introduction  and  Common  Cryptographic  Elements  Book,“CHAPTER  4  ADDITIONAL  PROCEDURES  FOR  DRIVE-HOST  CONFIGURATIONS”，  ２０１２年，[平成２６年１１月１０日検索]、インターネット＜URL:http://www.aacsla.com/specifications＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、ＡＫＥ処理で用いられる秘密情報を不正に入手したホストに対しては、データの不正な読み出しを防止できないという問題があった。
【課題を解決するための手段】
【０００６】
実施形態の読出装置は、サーバ装置と接続される情報処理装置に対して接続可能である。読出装置は、認証部と、処理部と、送信部と、を備える。認証部は、サーバ装置との間で認証・鍵交換処理を行うことにより共有鍵を取得する。処理部は、秘密情報を取得し、共有鍵を用いて、秘密情報を暗号化する。送信部は、暗号化された秘密情報をサーバ装置に対して送信する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態の情報処理システムのブロック図。
【図２】第１の実施形態における秘密情報取得処理のフローチャート。
【図３】第１の実施形態における読出処理のフローチャート。
【図４】第２の実施形態の情報処理システムのブロック図。
【図５】第２の実施形態における秘密情報取得処理のフローチャート。
【図６】第２の実施形態における読出処理のフローチャート。
【図７】第３の実施形態の情報処理システムのブロック図。
【図８】第３の実施形態における秘密情報取得処理のフローチャート。
【図９】第３の実施形態における読出処理のフローチャート。
【図１０】第１〜第３の実施形態にかかる装置のハードウェア構成図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、この発明にかかる情報処理システムの好適な実施形態を詳細に説明する。
【０００９】
（第１の実施形態）
図１は、第１の実施形態の情報処理システムの機能構成例を示すブロック図である。第１の実施形態の情報処理システムは、ドライブ１００と、ホスト２００と、サーバ３００と、を備えている。各装置が１つずつ記載されているが、複数であってもよい。
【００１０】
ドライブ１００は、記録媒体４００からデータを読み出す読出装置である。以下では、記録媒体４００としてＤＶＤやＢＤを適用し、読出装置としてドライブ１００を適用した例を説明する。記録媒体がメモリカードの場合は、ドライブ１００の代わりにカードリーダ等を読出装置として適用してもよい。また、ＳＤカードのように記録媒体自体に認証部１０２や暗号処理部１０３に相当する機能が搭載されている場合もある。従って、メモリカードとカードリーダ等の読出装置の組み合わせが記録媒体４００とドライブ１００の組み合わせと同等の機能を実現してもよい。
【００１１】
ホスト２００は、ドライブ１００を介して記録媒体４００に記録されたデータにアクセスする。ホスト２００は、例えば、ＰＣなどの情報処理装置上で動作するソフトウェアにより実現できる。ホスト２００とドライブ１００との接続形態は任意である。例えば、ドライブ１００が情報処理装置に内蔵される形態であってもよいし、ＵＳＢ（Universal  Serial  Bus）などの規格に従い情報処理装置にドライブ１００が外付けされる形態であってもよい。
【００１２】
本実施形態では、ホスト２００は、接続するドライブ１００の情報をサーバ３００に伝える。ホスト２００は、この情報に基づいてサーバ３００によってドライブ１００とホスト２００との組み合わせ（ペアリング）が許可された場合に、記録媒体４００にアクセス可能となる。
【００１３】
サーバ３００は、ドライブ１００とホスト２００との組み合わせの可否を判断する機能を備えるサーバ装置である。サーバ３００とホスト２００との接続形態は任意である。例えば、ホスト２００が動作する情報処理装置とサーバ３００とはインターネットなどのネットワークにより接続される。
【００１４】
次に、各装置の機能の詳細について説明する。ドライブ１００は、読出部１０１と、認証部１０２と、暗号処理部１０３と、送信部１０４と、記憶部１２１と、を少なくとも備えている。
【００１５】
記憶部１２１は、各種情報を記憶する。例えば記憶部１２１は、ドライブ１００自身で生成、または予め割り当てられる秘密情報（第１秘密情報）、および、読出鍵（Ｋ＿ｒｄ）または第１秘密鍵情報を生成するための情報や読出鍵を生成するための情報を記憶する。読出鍵は、記録媒体から読み出したデータを暗号化するための暗号化鍵（後述）を生成するために用いられる鍵である。第１秘密情報および読出鍵は、予め生成されて記憶部１２１等に記憶されてもよいし、所定の規則に従いドライブ１００が生成するように構成してもよい。また、この秘密情報は、上記のようなＡＫＥ処理で用いられる秘密情報とは異なる情報である。
【００１６】
読出部１０１は、記録媒体４００からデータを読み出す。
【００１７】
認証部１０２は、サーバ３００との間のＡＫＥ処理（第１認証・鍵交換処理）、および、ホスト２００との間のＡＫＥ処理（第３認証・鍵交換処理）を行う。ＡＫＥ処理は、例えば非特許文献１に記載されている“Authentication  and  Key  Sharing  Mechanism”など、従来から用いられているあらゆる方法を適用できる。認証部１０２は、サーバ３００との間のＡＫＥ処理、および、ホスト２００との間のＡＫＥ処理を、同じ方法（プロトコル）で実施してもよいし、異なる方法で実施してもよい。
【００１８】
一般的なＡＫＥ処理では、認証処理において互いの素性を示すための個別の証明書（Ｃｅｒｔｉｆｉｃａｔｅ）が交換される。証明書の中には各装置に与えられる固有の識別情報（ＩＤ）が含まれている。本実施形態では、証明書に含まれているドライブ１００の識別情報をＤｒｉｖｅＩＤ、ホスト２００の識別情報をＨｏｓｔＩＤ、サーバ３００の識別情報をＳｅｒｖｅｒＩＤと呼ぶ。
【００１９】
暗号処理部１０３は、各種情報の暗号化、復号および暗号化／復号処理に必要な鍵などのデータ生成を行う。例えば暗号処理部１０３は、サーバ３００との間のＡＫＥ処理で得られる共有鍵（第１共有鍵）を用いて秘密情報を暗号化する。また暗号処理部１０３は、生成された第１秘密情報または記憶部１２１に記憶された第１秘密情報を取得し、取得した第１秘密情報と読出鍵とからペアリング読出鍵を生成する。ペアリング読出鍵が、記録媒体４００から読み出されたデータを暗号化するための暗号化鍵に相当する。すなわち暗号処理部１０３は、記録媒体４００から読み出されたデータをペアリング読出鍵で暗号化する。
【００２０】
暗号処理部１０３による鍵の生成方法は、どのような方法であってもよい。例えば、１以上の情報を一方向性関数に入力して得られる出力を鍵とする方法、および、２以上の情報が入力される場合にはその内の１つの情報を暗号化鍵の入力、残りの情報を平文の入力として出力される暗号文を鍵とする方法などが適用できる。上記例では、暗号処理部１０３は、秘密情報と読出鍵とを一方向性関数に入力して得られる出力を、ペアリング読出鍵として生成する。以下の暗号処理部２０３および暗号処理部３０３が鍵を生成する場合にも同様に、任意の方法を適用できる。
【００２１】
送信部１０４は、サーバ３００などの外部装置に対して各種情報を送信する。例えば送信部１０４は、暗号処理部１０３によって暗号化された第１秘密情報をサーバ３００あてに送信する。ドライブが直接サーバと接続できない場合には、送信部１０４から送信された暗号化された第１秘密情報を含むあらゆるデータは、一旦ホスト２００の受信部２０１で受信され、改めて送信部２０４からサーバに対して送信される。
【００２２】
ホスト２００は、受信部２０１と、認証部２０２と、暗号処理部２０３と、送信部２０４と、記憶部２２１と、を備えている。
【００２３】
受信部２０１は、ドライブ１００およびサーバ３００などの外部装置から送信された各種情報を受信する。例えば受信部２０１は、サーバ３００によって暗号化された第１秘密情報（後述）をサーバ３００から受信する。
【００２４】
認証部２０２は、サーバ３００との間のＡＫＥ処理（第２認証・鍵交換処理）、および、ドライブ１００との間のＡＫＥ処理（第３認証・鍵交換処理）を行う。ホスト２００とサーバ３００との間のＡＫＥ処理も、非特許文献１に記載されている方法など、従来から用いられているあらゆる方法を適用できる。認証部２０２は、サーバ３００との間のＡＫＥ処理、および、ドライブ１００との間のＡＫＥ処理を、同じ方法（プロトコル）で実施してもよいし、異なる方法で実施してもよい。
【００２５】
暗号処理部２０３は、各種情報の暗号化、復号および暗号化／復号処理に必要な鍵などのデータ生成を行う。例えば暗号処理部２０３は、サーバ３００との間のＡＫＥ処理で得られる共有鍵（第２共有鍵）を用いて、サーバ３００から受信した暗号化された第１秘密情報を復号する。
【００２６】
送信部２０４は、ドライブ１００およびサーバ３００などの外部装置に対して各種情報を送信する。例えば送信部２０４は、ペアリング要求をサーバ３００に送信する。ペアリング要求は、ホスト２００とドライブ１００との組み合わせ（ペアリング）の許可の要求である。ペアリングが許可されると、ドライブ１００からデータを読み出すために必要な情報が事前に得られる。また送信部２０４は、データの読出要求をドライブ１００に送信する。
【００２７】
記憶部２２１は、各種情報を記憶する。例えば、記憶部２２１は、ＡＫＥ処理（第３認証・鍵交換処理）で得られたドライブ１００の識別情報（ＤｒｉｖｅＩＤ）や、サーバから受信したドライブ１００からデータを読み出すために必要な情報を記憶する。
【００２８】
サーバ３００は、受信部３０１と、認証部３０２と、暗号処理部３０３と、判定部３０４と、送信部３０５と、記憶部３２１と、を備えている。
【００２９】
記憶部３２１は、各種情報を記憶する。例えば記憶部３２１は、ＡＫＥ処理で得られたドライブ１００の識別情報（ＤｒｉｖｅＩＤ）、および、ホスト２００の識別情報（ＨｏｓｔＩＤ）を記憶する。
【００３０】
受信部３０１は、ドライブ１００およびホスト２００などの外部装置から送信される各種情報を受信する。例えば受信部３０１は、暗号化された第１秘密情報をドライブ１００から受信する。
【００３１】
認証部３０２は、ドライブ１００との間のＡＫＥ処理（第１認証・鍵交換処理）、および、ホスト２００との間のＡＫＥ処理（第２認証・鍵交換処理）を行う。
【００３２】
暗号処理部３０３は、各種情報の暗号化、復号およびドライブ１００からデータを読み出すために必要な情報などのデータ生成を行う。例えば暗号処理部３０３は、暗号化された第１秘密情報を、ドライブ１００との間のＡＫＥ処理で取得した共有鍵（第１共有鍵）により復号する。また暗号処理部３０３は、復号した第１秘密情報に基づく秘密情報（第２秘密情報）を、ホスト２００との間のＡＫＥ処理で取得した共有鍵（第２共有鍵）により暗号化する。本実施形態では、第２秘密情報として、復号した第１秘密情報（第１秘密情報）がそのまま用いられる。
【００３３】
判定部３０４は、ドライブ１００とホスト２００との組み合わせ（ペアリング）を許可するか否かを判定する。ペアリングの許可とは、例えば、ドライブ１００が記録媒体４００から読み出したデータを、ホスト２００が正当に利用可能な状態で取得することを許可することを表す。判定部３０４は、例えば、同じホスト２００（ＨｏｓｔＩＤが同じホスト２００）から異なるドライブ１００（ＤｒｉｖｅＩＤが異なるドライブ１００）へのペアリング要求の個数が一定数を超えた場合に、このホスト２００に対するペアリングを許可しないと判定する。これにより、例えば同じＨｏｓｔＩＤを持つ不正なホストが多数配布され、このホストがそれぞれ異なるドライブと接続されて利用されるような場合に、ドライブから不正にデータを読み出されることを回避可能となる。
【００３４】
判定部３０４による判定方法および判定に用いる条件は上記に限られるものではない。また判定に用いる情報は識別情報（ＤｒｉｖｅＩＤ、ＨｏｓｔＩＤ）に限られるものではない。ドライブ１００およびホスト２００の少なくとも一方が不正であると判定できれば、どのような方法、条件および情報を用いてもよい。例えば判定部３０４は、ＡＫＥ処理やその他の処理によって得られるホスト２００のアドレス情報（ＩＰ（Internet  Protocol）アドレスなど）を参照して不正なホストであるかを判定してもよい。
【００３５】
送信部３０５は、ドライブ１００およびホスト２００などの外部装置に対して各種情報を送信する。例えば送信部３０５は、ペアリングが許可された場合に、ペアリングが許可されたホスト２００に対して、暗号化された第１秘密情報を送信する。
【００３６】
なお、ペアリングが許可された場合にのみ、暗号処理部３０３が第１秘密情報を第２共有鍵により暗号化し、送信部３０５が暗号化された第１秘密情報を送信してもよい。ペアリングが許可されたかに関わらず暗号処理部３０３が秘密情報を第２共有鍵により暗号化し、ペアリングが許可された場合にのみ、送信部３０５が暗号化された第１秘密情報を送信してもよい。すなわち、少なくともペアリングが許可された場合にのみ、暗号化された第１秘密情報がホストに送信されるように構成すればよい。
【００３７】
なお、上記各記憶部（記憶部１２１、２２１、３２１）は、ＨＤＤ（Hard  Disk  Drive）、光ディスク、メモリカード、ＲＡＭ（Random  Access  Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００３８】
次に、このように構成された第１の実施形態にかかる情報処理システムによる秘密情報取得処理について図２を用いて説明する。図２は、第１の実施形態における秘密情報取得処理の一例を示すフローチャートである。秘密情報取得処理は、ホスト２００がペアリングを希望するドライブ１００からデータを読み出すために必要な秘密情報（第１秘密情報）を得るために、例えばデータの読み出し処理の前に実行される処理である。
【００３９】
秘密情報取得処理では、ホスト２００が記録媒体４００からデータを読み出す際に使用するドライブ１００とのペアリングをサーバ３００に要求する。サーバ３００は、ドライブ１００とＡＫＥ処理を実行し、ドライブ１００の第１秘密情報を取得する。ホスト２００は、サーバ３００とＡＫＥ処理を実行し、サーバ３００からドライブ１００の第１秘密情報を受け取る。
【００４０】
ドライブ１００がサーバ３００と直接通信する機能を有していない場合には、ドライブ１００とサーバ３００の両者と通信可能な機器（またはソフトウェア）が、秘密情報取得処理で必要なデータを変更することなく、これらのデータの受け渡しを補助する必要がある。例えば、ペアリングを要求しているホスト２００が、データの受け渡しを補助することで実現できる。例えば、ドライブ１００とホスト２００がＵＳＢで接続され、ホスト２００とサーバ３００がインターネットを介して接続されているとする。この場合、ホスト２００は、ＵＳＢコマンドとしてドライブ１００から送られたデータをＩＰコマンドに付け替えてサーバ３００に送る。また、ホスト２００は、ＩＰコマンドとしてサーバ３００から送られたデータをＵＳＢコマンドに付け替えてドライブ１００に送る。
【００４１】
データの受け渡しを補助する機器またはソフトウェアはホスト２００に限られるものではない。例えばホスト２００以外の情報処理装置上で動作するソフトウェアが補助する機能を備えていてもよい。
【００４２】
以下、図２の秘密情報取得処理の詳細を説明する。最初にホスト２００は、ペアリングを必要とするドライブ１００と接続する（図示せず）。
【００４３】
ホスト２００の送信部２０４は、サーバ３００にペアリング要求を送る（ステップＳ１０１）。ペアリング要求は、ドライブ１００を特定する情報（ＤｒｉｖｅＩＤなど）を含んでもよい。
【００４４】
ペアリング要求を受信したサーバ３００の認証部３０２は、ドライブ１００との間でＡＫＥ処理を行う（ステップＳ１０２）。このＡＫＥ処理により、ドライブ１００およびサーバ３００は、第１共有鍵Ｋｓ１を得る。サーバ３００は、ＡＫＥ処理によって得られたドライブ１００の識別情報（ＤｒｉｖｅＩＤ）を記憶部３２１などに記憶する。
【００４５】
ドライブ１００の暗号処理部１０３は、第１共有鍵Ｋｓ１を用いて、自身で生成または予め割り当てられ記憶された第１秘密情報（Ｓｅｅｄ＿ｐａｉｒ）を暗号化する（ステップＳ１０３）。ドライブ１００の送信部１０４は、暗号化された第１秘密情報をサーバ３００に送信する（ステップＳ１０４）。
【００４６】
サーバ３００の暗号処理部３０３は、暗号化された第１秘密情報を、ＡＫＥ処理で交換した第１共有鍵Ｋｓ１を用いて復号することにより、第１秘密情報（Ｓｅｅｄ＿ｐａｉｒ）を取得する（ステップＳ１０５）。
【００４７】
ホスト２００とサーバ３００は、ＡＫＥ処理を行い、それぞれ第２共有鍵Ｋｓ２を得る（ステップＳ１０６）。サーバ３００は、このＡＫＥ処理によって得られたホスト２００の識別情報（ＨｏｓｔＩＤ）を記憶部３２１などに記憶する。
【００４８】
サーバ３００の判定部３０４は、ＤｒｉｖｅＩＤとＨｏｓｔＩＤの組み合わせを許可するか否かを判定する（ステップＳ１０７）。許可する場合はステップＳ１０８に進む。許可しない場合には以下の処理を行わず、必要に応じて不許可情報をホスト２００に送る。
【００４９】
組み合わせが許可された場合、サーバ３００の暗号処理部３０３は、第２共有鍵Ｋｓ２を用いて、第１秘密情報（Ｓｅｅｄ＿ｐａｉｒ）を暗号化する（ステップＳ１０８）。サーバ３００の送信部３０５は、暗号化された第１秘密情報をホスト２００に送信する（ステップＳ１０９）。
【００５０】
ホスト２００の暗号処理部２０３は、暗号化された第１秘密情報を、第２共有鍵Ｋｓ２を用いて復号することにより、第１秘密情報（Ｓｅｅｄ＿ｐａｉｒ）を取得し（ステップＳ１１０）、得られた第１秘密情報（Ｓｅｅｄ＿ｐａｉｒ）を記憶部２２１などに記憶する。
【００５１】
以上の事前処理が完了すれば、ホスト２００がドライブ１００を介して記録媒体４００から実際にデータを読み出すことが可能となる。なお、各ステップの実行順序は図２に限られず、適宜順序を入れ替えてもよいし、並列に動作可能なステップは並列に（同時に）実行してもよい。
【００５２】
次に、ドライブ１００を介して記録媒体４００からデータを読み出す読出処理を説明する。図３は、第１の実施形態における読出処理の一例を示すフローチャートである。ホスト２００は、ペアリングを必要とするドライブ１００と接続する（図示せず）。
【００５３】
ホスト２００の送信部２０４は、ドライブ１００にデータ読出要求を送信する（ステップＳ２０１）。ホスト２００の認証部２０２は、ドライブ１００の認証部１０２との間でＡＫＥ処理を行う（ステップＳ２０２）。このＡＫＥ処理により、ドライブ１００とホスト２００は、第３共有鍵Ｋｓ３を得る。
【００５４】
ドライブ１００の暗号処理部１０３は、第１秘密情報（Ｓｅｅｄ＿ｐａｉｒ）と読出鍵（Ｋ＿ｒｄ）とから、記録媒体４００上のデータをホスト２００に送信する際に使用するペアリング読出鍵（Ｋ＿ｒｄＰ）を生成する（ステップＳ２０３）。
【００５５】
ドライブ１００の暗号処理部１０３は、第３共有鍵Ｋｓ３を用いて、読出鍵（Ｋ＿ｒｄ）を暗号化する（ステップＳ２０４）。ドライブ１００の送信部１０４は、暗号化した読出鍵をホスト２００に送信する（ステップＳ２０５）。
【００５６】
ホスト２００の暗号処理部２０３は、第３共有鍵Ｋｓ３を用いて、暗号化された読出鍵を復号することにより、読出鍵（Ｋ＿ｒｄ）を取得する（ステップＳ２０６）。暗号処理部２０３は、秘密情報取得処理で事前に取得した第１秘密情報（Ｓｅｅｄ＿ｐａｉｒ）と、取得した読出鍵（Ｋ＿ｒｄ）とから、ペアリング読出鍵（Ｋ＿ｒｄＰ）を生成する（ステップＳ２０７）。なお暗号処理部２０３は、ステップＳ２０３でドライブ１００の暗号処理部１０３がペアリング読出鍵を生成した方法と同じ方法により、本ステップでペアリング読出鍵を生成する。
【００５７】
ドライブ１００の暗号処理部１０３は、生成したペアリング読出鍵（Ｋ＿ｒｄＰ）を用いて、記録媒体４００から読み出されたデータを暗号化する（ステップＳ２０８）。送信部１０４は、暗号化されたデータをホスト２００に送信する（ステップＳ２０９）。
【００５８】
ホスト２００の暗号処理部２０３は、自身で生成したペアリング読出鍵（Ｋ＿ｒｄＰ）を用いて暗号化されたデータを復号することにより、記録媒体４００に記録されたデータを取得する（ステップＳ２１０）。
【００５９】
以上の処理によって、ホスト２００は、サーバ３００がペアリングを認識および許可したドライブ１００を介して記録媒体４００上のデータを読み出す。サーバ３００から許諾が得られていない場合は、ホスト２００はドライブ１００から受信した、暗号化されたデータを復号することができない。なお、各ステップの実行順序は図３に限られず、適宜順序を入れ替えてもよいし、並列に動作可能なステップは並列に（同時に）実行してもよい。
【００６０】
読出鍵（Ｋ＿ｒｄ）は予め記憶部１２１に記録されている場合だけでなく、ドライブ１００自身が生成する場合もある。ここでは、読出鍵（Ｋ＿ｒｄ）を生成する場合の生成方法の例について説明する。ドライブ１００（例えば暗号処理部１０３）は、例えば、ドライブ１００自身が記憶しているドライブ１００の識別情報（ＤｒｉｖｅＩＤ）、および、ＡＫＥ処理によって得られるホスト２００の識別情報（ＨｏｓｔＩＤ）のうち少なくとも一方と、予め記憶部１２１に記憶されている情報と、を用いて、読出鍵（Ｋ＿ｒｄ）を生成する。予め記憶部１２１に記憶されている情報は、ドライブ１００製造工程において乱数生成器などを使用して生成され、記録される。ドライブ１００が、必要となったときに毎回第１秘密情報を生成するように構成してもよい。
【００６１】
このように、第１の実施形態にかかる情報処理システムでは、サーバの許可が得られなければ、ホストは、ＡＫＥ処理で用いられる秘密情報と異なる、データ読出しに使用するドライブの第１秘密情報を入手することができず、記録媒体からデータを読み出すことができない。従って、ＡＫＥ処理で用いられる秘密情報を不正に入手したホストに対しても、データの不正な読み出しを防止可能となる。また、実際にデータを読み出す処理（読出処理）の前に実行される処理（秘密情報取得処理）の段階で、サーバにより組み合わせの許可を判定できる。このため、不正なアクセスを従来より迅速に回避可能となる。
【００６２】
（第２の実施形態）
第１の実施形態では、ドライブが生成または記憶する第１秘密情報がそのまま第２秘密情報として用いられた。この方法では、不正に第１秘密情報を入手したホストが記録媒体からデータを読み出すことを排除できない場合がある。
【００６３】
そこで、第２の実施形態にかかる情報処理システムは、第１秘密情報とホストの識別情報（ＨｏｓｔＩＤ）とから生成される情報（ペアリング秘密鍵）を第２秘密情報として用いる。これにより、正しい識別情報（ＨｏｓｔＩＤ）を有さないホストが記録媒体からデータを読み出すことを防止可能となる。
【００６４】
図４は、第２の実施形態の情報処理システムの機能構成例を示すブロック図である。第２の実施形態の情報処理システムは、ドライブ１００−２と、ホスト２００−２と、サーバ３００−２と、を備えている。
【００６５】
第２の実施形態では、ドライブ１００−２の暗号処理部１０３−２、ホスト２００−２の暗号処理部２０３−２、および、サーバ３００−２の暗号処理部３０３−２の機能が第１の実施形態と異なっている。その他の構成および機能は、第１の実施形態にかかる情報処理システムのブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【００６６】
暗号処理部１０３−２は、少なくとも以下の機能を備える点が、第１の実施形態の暗号処理部１０３と異なっている。暗号処理部１０３−２は、ドライブ１００−２が生成または記憶する秘密情報（第１秘密情報）と、ホスト２００−２の識別情報（ＨｏｓｔＩＤ）とからペアリング秘密鍵（第２秘密情報に相当）を生成する。暗号処理部１０３−２は、読出鍵とペアリング秘密鍵とに基づいてペアリング読出鍵を生成する。
【００６７】
暗号処理部２０３−２は、少なくとも以下の機能を備える点が、第１の実施形態の暗号処理部２０３と異なっている。暗号処理部２０３−２は、読出鍵とペアリング秘密鍵に基づいてペアリング読出鍵を生成する。なお暗号処理部２０３−２は、ドライブ１００−２との間のＡＫＥ処理で得られる共有鍵（第３共有鍵）を用いて暗号化された読出鍵を復号できる。暗号処理部２０３−２は、生成したペアリング読出鍵を用いて、ドライブ１００−２から送信された、暗号化されたデータを復号する。
【００６８】
暗号処理部３０３−２は、少なくとも以下の機能を備える点が、第１の実施形態の暗号処理部３０３と異なっている。暗号処理部３０３−２は、復号した秘密情報（第１秘密情報）と、ホスト２００−２の識別情報（ＨｏｓｔＩＤ）とからペアリング秘密鍵を生成する。暗号処理部３０３−２は、生成したペアリング秘密鍵を、ホスト２００−２との間のＡＫＥ処理で得られる共有鍵（第２共有鍵）によって暗号化する。
【００６９】
次に、このように構成された第２の実施形態にかかる情報処理システムによる秘密情報取得処理について図５を用いて説明する。図５は、第２の実施形態における秘密情報取得処理の一例を示すフローチャートである。
【００７０】
ステップＳ３０１からステップＳ３０７までは、第１の実施形態の秘密情報取得処理（図２）におけるステップＳ１０１からステップＳ１０７までと同様の処理なので、その説明を省略する。
【００７１】
組み合わせが許可された場合、サーバ３００−２の暗号処理部３０３−２は、第１秘密情報（Ｓｅｅｄ＿ｐａｉｒ）とＨｏｓｔＩＤとからペアリング秘密鍵（Ｋ＿ｐａｉｒ）を生成する（ステップＳ３０８）。暗号処理部３０３−２は、第２共有鍵Ｋｓ２を用いて、生成したペアリング秘密鍵（Ｋ＿ｐａｉｒ）を暗号化する（ステップＳ３０９）。サーバ３００−２の送信部３０５は、暗号化されたペアリング秘密鍵をホスト２００−２に送信する（ステップＳ３１０）。
【００７２】
ホスト２００−２の暗号処理部２０３−２は、暗号化されたペアリング秘密鍵を、第２共有鍵Ｋｓ２を用いて復号することにより、ペアリング秘密鍵（Ｋ＿ｐａｉｒ）を取得する（ステップＳ３１１）。
【００７３】
以上の事前処理が完了すれば、ホスト２００−２がドライブ１００−２を介して記録媒体４００から実際にデータを読み出すことが可能となる。なお、各ステップの実行順序は図５に限られず、適宜順序を入れ替えてもよいし、並列に動作可能なステップは並列に（同時に）実行してもよい。
【００７４】
次に、ドライブ１００−２を介して記録媒体４００からデータを読み出す読出処理を説明する。図６は、第２の実施形態における読出処理の一例を示すフローチャートである。ホスト２００−２は、ペアリングを必要とするドライブ１００−２と接続する（図示せず）。
【００７５】
ステップＳ４０１からステップＳ４０２までは、第１の実施形態の読出処理（図３）におけるステップＳ２０１からステップＳ２０２までと同様の処理なので、その説明を省略する。
【００７６】
ドライブ１００−２の暗号処理部１０３−２は、第１秘密情報（Ｓｅｅｄ＿ｐａｉｒ）とＨｏｓｔＩＤとからペアリング秘密鍵（Ｋ＿ｐａｉｒ）を生成する（ステップＳ４０３）。暗号処理部１０３−２は、ステップＳ３０８でサーバ３００−２の暗号処理部３０３−２がペアリング秘密鍵を生成した方法と同じ方法により、本ステップでペアリング秘密鍵を生成する。
【００７７】
ドライブ１００−２の暗号処理部１０３−２は、ペアリング秘密鍵（Ｋ＿ｐａｉｒ）と読出鍵（Ｋ＿ｒｄ）とからペアリング読出鍵（Ｋ＿ｒｄＰ）を生成する（ステップＳ４０４）。
【００７８】
ステップＳ４０５からステップＳ４０７までは、第１の実施形態の読出処理（図３）におけるステップＳ２０４からステップＳ２０６までと同様の処理なので、その説明を省略する。
【００７９】
ホスト２００−２の暗号処理部２０３−２は、秘密情報取得処理で事前に取得したペアリング秘密鍵（Ｋ＿ｐａｉｒ）と、取得した読出鍵（Ｋ＿ｒｄ）とから、ペアリング読出鍵（Ｋ＿ｒｄＰ）を生成する（ステップＳ４０８）。なお暗号処理部２０３−２は、ステップＳ４０３でドライブ１００−２の暗号処理部１０３−２がペアリング読出鍵を生成した方法と同じ方法により、本ステップでペアリング読出鍵を生成する。
【００８０】
ステップＳ４０９からステップＳ４１１までは、第１の実施形態の読出処理（図３）におけるステップＳ２０８からステップＳ２１０までと同様の処理なので、その説明を省略する。
【００８１】
以上の処理によって、ホスト２００−２は、サーバ３００−２がペアリングを認識および許可したドライブ１００−２を介して記録媒体４００上のデータを読み出す。サーバ３００−２から許諾が得られていない場合は、ホスト２００−２はドライブ１００−２から受信した、暗号化されたデータを復号することができない。なお、各ステップの実行順序は図６に限られず、適宜順序を入れ替えてもよいし、並列に動作可能なステップは並列に（同時に）実行してもよい。
【００８２】
（第３の実施形態）
第２の実施形態では、第１秘密情報とホストの識別情報（ＨｏｓｔＩＤ）とから生成される情報（ペアリング秘密鍵）を第２秘密情報として用いた。第３の実施形態にかかる情報処理システムは、第１秘密情報とホストの識別情報（ＨｏｓｔＩＤ）に加えて、さらにドライブの識別情報（ＤｒｉｖｅＩＤ）を用いて生成される情報（ペアリング秘密鍵）を第２秘密情報として用いる。これにより、例えば不正に用意されたドライブなどを用いて不正に認証された、または、不正に組み合わせが許可されたホストが、記録媒体からデータを読み出すことを防止可能となる。
【００８３】
図７は、第３の実施形態の情報処理システムの機能構成例を示すブロック図である。第３の実施形態の情報処理システムは、ドライブ１００−３と、ホスト２００−３と、サーバ３００−３と、を備えている。
【００８４】
第３の実施形態では、ドライブ１００−３の暗号処理部１０３−３、ホスト２００−３の暗号処理部２０３−３、および、サーバ３００−３の暗号処理部３０３−３の機能が第１の実施形態と異なっている。その他の構成および機能は、第１の実施形態にかかる情報処理システムのブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【００８５】
暗号処理部１０３−３は、少なくとも以下の機能を備える点が、第１の実施形態の暗号処理部１０３と異なっている。暗号処理部１０３−３は、ドライブ１００−３が生成または記憶する秘密情報（第１秘密情報）と、ホスト２００−３の識別情報（ＨｏｓｔＩＤ）と、ドライブ１００−３の識別情報（ＤｒｉｖｅＩＤ）とから、ペアリング秘密鍵（第２秘密情報に相当）を生成する。暗号処理部１０３−３は、読出鍵とペアリング秘密鍵とに基づいてペアリング読出鍵を生成する。
【００８６】
暗号処理部２０３−３は、少なくとも以下の機能を備える点が、第１の実施形態の暗号処理部２０３と異なっている。暗号処理部２０３−３は、読出鍵とペアリング秘密鍵に基づいてペアリング読出鍵を生成する。なお暗号処理部２０３−３は、ドライブ１００−３との間のＡＫＥ処理で得られる共有鍵（第３共有鍵）を用いて暗号化された読出鍵を復号できる。暗号処理部２０３−３は、生成したペアリング読出鍵を用いて、ドライブ１００−３から送信された、暗号化されたデータを復号する。
【００８７】
暗号処理部３０３−３は、少なくとも以下の機能を備える点が、第１の実施形態の暗号処理部３０３と異なっている。暗号処理部３０３−３は、復号した秘密情報（第１秘密情報）と、ホスト２００−３の識別情報（ＨｏｓｔＩＤ）と、ドライブ１００−３の識別情報（ＤｒｉｖｅＩＤ）と、からペアリング秘密鍵を生成する。暗号処理部３０３−３は、生成したペアリング秘密鍵を、ホスト２００−３との間のＡＫＥ処理で得られる共有鍵（第２共有鍵）によって暗号化する。
【００８８】
次に、このように構成された第３の実施形態にかかる情報処理システムによる秘密情報取得処理について図８を用いて説明する。図８は、第３の実施形態における秘密情報取得処理の一例を示すフローチャートである。
【００８９】
ステップＳ５０１からステップＳ５０７までは、第１の実施形態の秘密情報取得処理（図２）におけるステップＳ１０１からステップＳ１０７までと同様の処理なので、その説明を省略する。
【００９０】
組み合わせが許可された場合、サーバ３００−３の暗号処理部３０３−３は、第１秘密情報（Ｓｅｅｄ＿ｐａｉｒ）とＨｏｓｔＩＤとＤｒｉｖｅＩＤとからペアリング秘密鍵（Ｋ＿ｐａｉｒ）を生成する（ステップＳ５０８）。
【００９１】
ステップＳ５０９からステップＳ５１１までは、第２の実施形態の秘密情報取得処理（図５）におけるステップＳ３０９からステップＳ３１１までと同様の処理なので、その説明を省略する。
【００９２】
以上の事前処理が完了すれば、ホスト２００−３がドライブ１００−３を介して記録媒体４００から実際にデータを読み出すことが可能となる。なお、各ステップの実行順序は図８に限られず、適宜順序を入れ替えてもよいし、並列に動作可能なステップは並列に（同時に）実行してもよい。
【００９３】
次に、ドライブ１００−３を介して記録媒体４００からデータを読み出す読出処理を説明する。図９は、第３の実施形態における読出処理の一例を示すフローチャートである。ホスト２００−３は、ペアリングを必要とするドライブ１００−３と接続する（図示せず）。
【００９４】
ステップＳ６０１からステップＳ６０２までは、第１の実施形態の読出処理（図３）におけるステップＳ２０１からステップＳ２０２までと同様の処理なので、その説明を省略する。
【００９５】
ドライブ１００−３の暗号処理部１０３−３は、第１秘密情報（Ｓｅｅｄ＿ｐａｉｒ）とＨｏｓｔＩＤとＤｒｉｖｅＩＤとからペアリング秘密鍵（Ｋ＿ｐａｉｒ）を生成する（ステップＳ６０３）。暗号処理部１０３−３は、ステップＳ５０８でサーバ３００−３の暗号処理部３０３−３がペアリング秘密鍵を生成した方法と同じ方法により、本ステップでペアリング秘密鍵を生成する。
【００９６】
ステップＳ６０４からステップＳ６１１までは、第２の実施形態の読出処理（図６）におけるステップＳ４０４からステップＳ４１１までと同様の処理なので、その説明を省略する。
【００９７】
以上の処理によって、ホスト２００−３は、サーバ３００−３がペアリングを認識および許可したドライブ１００−３を介して記録媒体４００上のデータを読み出す。サーバ３００−３から許諾が得られていない場合は、ホスト２００−３はドライブ１００−３から受信した、暗号化されたデータを復号することができない。なお、各ステップの実行順序は図９に限られず、適宜順序を入れ替えてもよいし、並列に動作可能なステップは並列に（同時に）実行してもよい。
【００９８】
以上説明したとおり、第１から第３の実施形態によれば、読出装置（ドライブ等）と、読み出されたデータを実際に復号する情報処理装置（ホスト等）との組み合わせを、サーバ装置で管理することができる。このため、不正なホストによるデータの読み出しを未然に防ぐことが可能となる。
【００９９】
次に、第１〜第３の実施形態にかかる各装置（読出装置、情報処理装置、サーバ装置）のハードウェア構成について図１０を用いて説明する。図１０は、第１〜第３の実施形態にかかる装置のハードウェア構成例を示す説明図である。
【０１００】
なお図１０では各装置に共通する主な構成を示しているが、装置固有の処理に必要な他の構成部をさらに備えていてもよい。例えば、ＤＶＤやＢＤからデータを読み出すドライブ（読出装置）であれば、光を照射する光学系、および、この光学系を制御するための回路などをさらに備えていてもよい。
【０１０１】
第１〜第３の実施形態にかかる装置は、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ５３などの記憶装置と、外部と通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【０１０２】
第１〜第３の実施形態にかかる装置で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【０１０３】
第１〜第３の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【０１０４】
さらに、第１〜第３の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１〜第３の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１０５】
第１〜第３の実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【０１０６】
上記各装置の各部は、例えば、ＣＰＵ５１などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【０１０７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０８】
１００  ドライブ
１０１  読出部
１０２  認証部
１０３  暗号処理部
１０４  送信部
１２１  記憶部
２００  ホスト
２０１  受信部
２０２  認証部
２０３  暗号処理部
２０４  送信部
２２１  記憶部
３００  サーバ
３０１  受信部
３０２  認証部
３０３  暗号処理部
３０４  判定部
３０５  送信部
３２１  記憶部
４００  記録媒体
【図１】
0006495629.tif 000002
【図２】
0006495629.tif 000003
【図３】
0006495629.tif 000004
【図４】
0006495629.tif 000005
【図５】
0006495629.tif 000006
【図６】
0006495629.tif 000007
【図７】
0006495629.tif 000008
【図８】
0006495629.tif 000009
【図９】
0006495629.tif 000010
【図１０】
0006495629.tif 000011