(57)【要約】【課題】秘匿領域の情報を書き換えられることを抑止する。【解決手段】記憶装置は、データ記憶部と受信部と選択部と認証部とを備える。データ記憶部は、読出認証情報を用いて認証された場合に読出し可能となり、書込認証情報を用いて認証された場合に書込み可能となる秘匿領域を含む。受信部は、秘匿領域へのデータの書込要求と、秘匿領域からのデータの読出要求と、のいずれかのアクセス要求を受信する。選択部は、アクセス要求が書込要求の場合に書込認証情報を選択し、アクセス要求が読出要求の場合に読出認証情報を選択する。認証部は、選択された書込認証情報および読出認証情報のいずれかを用いて秘匿領域へのアクセスを認証する。【選択図】図４
2012014529.tif 000002
【特許請求の範囲】
【請求項１】
読出認証情報を用いて認証された場合に読出し可能となり、書込認証情報を用いて認証された場合に書込み可能となる秘匿領域を含むデータ記憶部と、
前記秘匿領域へのデータの書込要求と、前記秘匿領域からのデータの読出要求と、のいずれかのアクセス要求を受信する受信部と、
前記アクセス要求が前記書込要求の場合に前記書込認証情報を選択し、前記アクセス要求が前記読出要求の場合に前記読出認証情報を選択する選択部と、
選択された前記書込認証情報および前記読出認証情報のいずれかを用いて前記秘匿領域へのアクセスを認証する認証部と、
を備えることを特徴とする記憶装置。
【請求項２】
前記書込認証情報と前記読出認証情報とを記憶する認証情報記憶部と、
前記認証情報記憶部へのアクセスが認証された場合に、前記認証情報記憶部に記憶された前記書込認証情報および前記読出認証情報の少なくとも一方を更新する更新部と、をさらに備え、
前記受信部は、さらに、前記認証情報記憶部に記憶された前記書込認証情報および前記読出認証情報の少なくとも一方の更新要求を受信し、
前記選択部は、さらに、前記更新要求が受信された場合に、前記書込認証情報を選択し、
前記認証部は、さらに、前記更新要求が受信された場合に、選択された前記書込認証情報を用いて前記認証情報記憶部へのアクセスを認証すること、
を特徴とする請求項１に記載の記憶装置。
【請求項３】
前記データ記憶部は、相互に異なる前記読出認証情報および相互に異なる前記書込認証情報が対応づけられた複数の前記秘匿領域を含み、
前記受信部は、前記秘匿領域を識別する識別情報を含む前記アクセス要求を受信し、
前記選択部は、前記識別情報の前記秘匿領域に対する前記アクセス要求が前記書込要求の場合に、前記識別情報の前記秘匿領域に対応する前記書込認証情報を選択し、前記識別情報の前記秘匿領域に対する前記アクセス要求が前記読出要求の場合に、前記識別情報の前記秘匿領域に対応する前記読出認証情報を選択すること、
を特徴とする請求項１に記載の記憶装置。
【請求項４】
データを記憶する記憶装置と前記データにアクセスするアクセス装置とを備える情報処理装置であって、
前記記憶装置は、
読出認証情報を用いて認証された場合に読出し可能となり、書込認証情報を用いて認証された場合に書込み可能となる秘匿領域を含むデータ記憶部と、
前記秘匿領域へのデータの書込要求と、前記秘匿領域からのデータの読出要求と、のいずれかのアクセス要求を受信する受信部と、
前記アクセス要求が前記書込要求の場合に前記書込認証情報を選択し、前記アクセス要求が前記読出要求の場合に前記読出認証情報を選択する選択部と、
選択された前記書込認証情報および前記読出認証情報のいずれかを用いて前記秘匿領域へのアクセスを認証する認証部と、を備え、
前記アクセス装置は、
前記読出要求を前記記憶装置に送信する送信部、
を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、著作権保護が求められるコンテンツデータなどを記憶する記憶装置および当該記憶装置を備える情報処理装置に関する。
【背景技術】
【０００２】
例えば、ＳＤカードやｉＶＤＲのような著作権保護機能付きのデータ（コンテンツデータ）を格納する記憶装置、および、記憶装置にアクセスしてコンテンツデータを利用するアクセス装置を有するコンテンツ利用端末に対するコンテンツ配信システムを考える。コンテンツ利用端末のアクセス装置が記憶装置の秘匿領域にデータを正しく書き込んだり、秘匿領域からデータを正しく読み出したりするには、当該アクセス装置が記憶装置から認証される必要がある。アクセス装置が記憶装置から認証されるためには、当該アクセス装置が認証情報を保持していることが必要である。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】4C  Entity，LLC.  "CPRM Specification，SD  Memory  Card  Book，Common  Part"，Revision  0.961，May.  3，2007.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術においては、アクセス装置から認証情報を不正に取得することによって、秘匿領域の情報を書き換えられるという問題があった。
【課題を解決するための手段】
【０００５】
実施形態の記憶装置は、データ記憶部と受信部と選択部と認証部とを備える。データ記憶部は、読出認証情報を用いて認証された場合に読出し可能となり、書込認証情報を用いて認証された場合に書込み可能となる秘匿領域を含む。受信部は、秘匿領域へのデータの書込要求と、秘匿領域からのデータの読出要求と、のいずれかのアクセス要求を受信する。選択部は、アクセス要求が書込要求の場合に書込認証情報を選択し、アクセス要求が読出要求の場合に読出認証情報を選択する。認証部は、選択された書込認証情報および読出認証情報のいずれかを用いて秘匿領域へのアクセスを認証する。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１の実施形態にかかるコンテンツ配信システムの構成例を示す図である。
【図２】図２は、書込みと読出しとで同一の認証情報を用いるコンテンツ配信システムの構成例を示す図である。
【図３】図３は、書込みと読出しとで同一の認証情報を用いるコンテンツ配信システムの別の構成例を示す図である。
【図４】図４は、第１の実施形態にかかるコンテンツ配信システムの各装置の詳細な機能構成の一例を示すブロック図である。
【図５】図５は、書込みコマンドのフォーマットの一例を示す図である。
【図６】図６は、読出しコマンドのフォーマットの一例を示す図である。
【図７】図７は、認証情報記憶部に記憶される認証情報のデータ構造の一例を示す図である。
【図８】図８は、第１の実施形態におけるアクセス処理の全体の流れを示すフローチャートである。
【図９】図９は、第２の実施形態にかかるコンテンツ配信システムの各装置の詳細な機能構成の一例を示すブロック図である。
【図１０】図１０は、認証情報記憶部に記憶される認証情報のデータ構造の一例を示す図である。
【図１１】図１１は、書込みコマンドの一例を示す図である。
【図１２】図１２は、読出しコマンドの一例を示す図である。
【図１３】図１３は、第３の実施形態にかかるコンテンツ配信システムの構成例を示すブロック図である。
【図１４】図１４は、初期化コマンドのフォーマットの一例を示すである。
【図１５】図１５は、更新コマンドのフォーマットの一例を示すである。
【図１６】図１６は、更新情報のデータ構造の一例を示す図である。
【図１７】図１７は、認証情報記憶部に記憶される認証情報の一例を示す図である。
【図１８】図１８は、認証情報記憶部に記憶される認証情報の一例を示す図である。
【図１９】図１９は、第４の実施形態にかかるコンテンツ配信システムの構成例を示すブロック図である。
【図２０】図２０は、更新コマンドのフォーマットの一例を示すである。
【図２１】図２１は、更新情報のデータ構造の一例を示す図である。
【図２２】図２２は、認証情報記憶部に記憶される認証情報の一例を示す図である。
【図２３】図２３は、第１〜第４の実施形態にかかる装置のハードウェア構成を示す説明図である。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、この発明にかかる記憶装置および情報処理装置の好適な実施形態を詳細に説明する。
【０００８】
（第１の実施形態）
図１は、第１の実施形態にかかるコンテンツ配信システムの構成例を示す図である。図１に示すようにコンテンツ配信システムは、サーバ１０と、情報処理装置としてのコンテンツ利用端末２０とがインターネットなどのネットワーク３０で接続された構成となっている。コンテンツ利用端末２０は、記憶装置１００とアクセス装置２００とを備えている。アクセス装置２００は、記憶装置１００との間の認証に用いる認証情報を格納している。記憶装置１００は、認証情報を用いて認証された場合にアクセス可能となる秘匿領域を含んでいる。
【０００９】
なお、記憶装置１００は、ＳＤカードやｉＶＤＲに限られず、ＨＤＤ（Hard Disk Drive）、光ディスク、メモリカード、ＲＡＭ（Random Access Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００１０】
コンテンツ配信システムでは、例えば、コンテンツ利用端末２０のバインディングＩＤが記憶装置１００の秘匿領域に格納されている。バインディングＩＤとは、タイトル鍵（配信された暗号化コンテンツを復号するための鍵）の暗号化に用いられるＩＤである。具体的には、例えば、タイトル鍵ＫＴを記憶装置１００に保存する場合、ＫＴｂ＝ＡＥ（ＡＧ（Ｋ０，ＩＤｂ），ＫＴ）という形で保存する。ここで、ＡＥは暗号化関数、ＡＧは一方向性関数を表す。また、Ｋ０はマスター鍵であり、ＩＤｂはバインディングＩＤである。
【００１１】
ＫＴｂを、ＩＤｂとは異なるバインディングＩＤ（例えばＩＤｂ’とする）を有する他のコンテンツ利用端末（コンテンツ利用端末２０’とする）の記憶装置（記憶装置１００’とする）にコピーしても、ＫＴｂを復号してＫＴを得ることはできない。コンテンツ利用端末２０’は記憶装置１００’の秘匿領域からＩＤｂ’を読出すが、ＡＤ（ＡＧ（Ｋ０，ＩＤｂ’），ＫＴｂ）を計算してもＫＴは得られない。すなわち、タイトル鍵ＫＴｂはＩＤｂというバインディングＩＤを有するコンテンツ利用端末２０でのみ利用可能である。このことを称して、タイトル鍵ＫＴｂはＩＤｂにバインドされているということがある。
【００１２】
コンテンツ配信システムは、複数のコンテンツ利用端末２０に対して共通のバインディングＩＤを用いることがある。その場合、例えば、コンテンツ利用端末２０を識別する端末ＩＤとバインディングＩＤとを、コンテンツ利用端末２０が具備する記憶装置１００の秘匿領域に格納する。例えば、端末ＩＤとしてＴＩＤｘを有するコンテンツ利用端末２０では、（ＵＩＤａ，ＴＩＤｘ，ＩＤｂ）の組みを記憶装置１００の秘匿領域に格納している。ここで、ＵＩＤａはコンテンツ利用端末２０を所有する利用者のユーザーＩＤである。これらのデータの一部、例えば端末ＩＤは、当該コンテンツ利用端末２０の出荷時に書き込まれている。また、ユーザーＩＤとバインディングＩＤとは、コンテンツ配信システムのサーバによって書き込まれる。
【００１３】
同一ユーザーが所有するコンテンツ利用端末２０（その端末ＩＤをＴＩＤｙとする）は、内部に備える記憶装置１００の秘匿領域に（ＵＩＤａ，ＴＩＤｙ，ＩＤｂ）を格納する。これにより、ＴＩＤｘという端末ＩＤを有するコンテンツ利用端末２０とＴＩＤｙという端末ＩＤを有するコンテンツ利用端末２０の間で、コンテンツの共有が可能となる。すなわち、ＩＤｂにバインドされているタイトル鍵は、二つのコンテンツ利用端末２０で利用可能である。
【００１４】
前述のように、認証情報を保持しているコンテンツ利用端末２０は、記憶装置１００の秘匿領域からデータを読み出すことができる。しかし、コンテンツの不正利用を意図する攻撃者は、アクセス装置２００を解析することによって、認証情報を不正に読み出すことがある。コンテンツ利用端末２０はユーザーの手元に存在するため、この種の攻撃を受け易い。
【００１５】
攻撃者が認証情報を入手した場合、バインディングＩＤを書き換えたり、ユーザーＩＤを書き換えたりすることが可能になる。例えば先の例で、攻撃者が、コンテンツ利用端末２０の記憶装置１００の秘匿領域から（ＵＩＤａ，ＴＩＤｘ，ＩＤｂ）という、ユーザーＩＤ、端末ＩＤ、バインディングＩＤの組を不正に読み出し、この組を別のコンテンツ利用端末２０’の記憶装置１００の秘匿領域に書き込んだとする。この場合、コンテンツ利用端末２０’は、コンテンツ利用端末２０にバインドされたコンテンツを利用可能になる。さらに、コンテンツ利用端末２０’は、サーバに対して、コンテンツ利用端末２０と区別がつかない。
【００１６】
ここで、書込みと読出しとで同一の認証情報を用いる構成例について説明する。図２は、書込みと読出しとで同一の認証情報を用いるコンテンツ配信システムの構成例を示す図である。
【００１７】
この例のコンテンツ配信システムは、サーバ５０と、記憶装置６０と、アクセス装置７０とを備えている。なお、記憶装置６０とアクセス装置７０とは、上述のように例えば同一のコンテンツ利用端末内に含むように構成することができる。
【００１８】
サーバ５０は、サーバ５０に割り当てられたデバイス鍵５１と、ＭＫＢ処理部５２と、認証処理部５３と、データ５４と、暗号化部５５とを備えている。ＭＫＢ処理部５２は、ＭＫＢ（Media  Key  Block）をデバイス鍵５１を用いて処理することによりメディア鍵ＫＭを導出するＭＫＢ処理を実行する。この構成例では、ＭＫＢ処理によって得られるメディア鍵ＫＭが認証情報である。
【００１９】
認証処理部５３は、認証情報を用いて、記憶装置６０との間の認証処理を行う。例えば、認証処理部５３は、メディア鍵ＫＭを用いた鍵交換手続き（以下、鍵交換ＫＥ（Ｋｅｙ  Ｅｘｃｈａｎｇｅ）という）により、サーバ５０と記憶装置６０との相互認証を行う。
【００２０】
データ５４は、秘匿領域６６ｂに書き込むコンテンツデータ等のデータである。暗号化部５５は、鍵交換ＫＥにより作成された共通鍵によりデータ５４を暗号化する。
【００２１】
アクセス装置７０は、アクセス装置７０に割り当てられたデバイス鍵７１と、ＭＫＢ処理部７２と、認証処理部７３と、データ７４と、復号部７５とを備えている。ＭＫＢ処理部７２および認証処理部７３は、それぞれサーバ５０のＭＫＢ処理部５２および認証処理部５３と同様の機能を備える。復号部７５は、鍵交換ＫＥにより作成された共通鍵により暗号化されたデータを復号する。
【００２２】
記憶装置６０は、ＭＫＢ処理で用いられるＭＫＢ６１と、メディア鍵であるＫＭ６２と、認証部６３と、復号部６４と、暗号化部６５と、秘匿領域６６ｂにデータ６７を記憶するデータ記憶部６６ａとを備えている。
【００２３】
認証部６３は、認証情報を用いて秘匿領域６６ｂへのアクセスを認証する。例えば、認証部６３は、サーバ５０の認証処理部５３およびアクセス装置７０の認証処理部７３との間で、メディア鍵ＫＭを用いた鍵交換ＫＥ等により認証を行う。
【００２４】
記憶装置６０とサーバ５０との間の鍵交換ＫＥでは、記憶装置６０とサーバ５０との間で共有される認証情報であるメディア鍵ＫＭと、記憶装置６０とサーバ５０との間でやり取りされる乱数を用いて、共通鍵ＫＴ１が作成される。また、記憶装置６０とアクセス装置７０との間の鍵交換ＫＥでは、記憶装置６０とアクセス装置７０との間で共有される認証情報であるメディアＫＭと、記憶装置６０とアクセス装置７０との間でやり取りされる乱数を用いて、共通鍵ＫＴ２が作成される。
【００２５】
共通鍵ＫＴ１は書き込みの際の暗号化および復号に利用され、共通鍵ＫＴ２は読出しの際の暗号化および復号に利用される。共通鍵ＫＴ１と共通鍵ＫＴ２は、いずれもメディア鍵ＫＭを用いて作られる情報である。同一の秘匿領域６６ｂに読み書きするための認証情報であるメディア鍵ＫＭは同一である。攻撃者が、アクセス装置７０を解析し、不正にメディア鍵ＫＭを取得したとする。その場合、攻撃者はサーバ５０側の鍵交換ＫＥと同じ手続きによって秘匿領域６６ｂにデータを書き込むことが可能となる。
【００２６】
図３は、書込みと読出しとで同一の認証情報を用いるコンテンツ配信システムの別の構成例を示す図である。なお、図３は、秘密鍵と秘密鍵に対応する公開鍵を認証情報として用いる例である。
【００２７】
この例のコンテンツ配信システムは、サーバ５０−２と、記憶装置６０−２と、アクセス装置７０−２とを備えている。なお、図２と同様の機能を備える構成部は同一の符号を付し説明を省略する。
【００２８】
サーバ５０−２は、秘密鍵であるＫＳ５６と、復号部５７と、認証処理部５３ｂと、データ５４と、暗号化部５５とを備えている。復号部５７は、ＫＳ５６を用いて記憶装置６０−２で暗号化された乱数Ｒ１を復号する。認証処理部５３ｂは、メディア鍵ＫＭの代わりに乱数Ｒ１を用いて記憶装置６０−２との間の認証処理を行う。
【００２９】
アクセス装置７０−２は、ＫＳ５６と、復号部７７と、認証処理部７３ｂと、データ７４と、復号部７５とを備えている。復号部７７は、ＫＳ５６を用いて記憶装置６０−２で暗号化された乱数Ｒ２を復号する。認証処理部７３ｂは、メディア鍵ＫＭの代わりに乱数Ｒ２を用いて記憶装置６０−２との間の認証処理を行う。
【００３０】
記憶装置６０−２は、秘密鍵（ＫＳ５６）に対応する公開鍵であるＫＰ８１と、乱数発生部８２と、暗号化部８３、８４と、認証部６３ｂと、復号部６４と、暗号化部６５と、データ記憶部６６ａとを備えている。乱数発生部８２は、認証に用いる乱数Ｒ１、Ｒ２を発生する。暗号化部８３、８４は、乱数Ｒ１、Ｒ２を暗号化する。なお、図３では暗号化部８３、８４を分けて記載しているが、１つの暗号化部により構成してもよい。認証部６３ｂは、乱数Ｒ１またはＲ２を用いて秘匿領域６６ｂへのアクセスを認証する。
【００３１】
このように、記憶装置６０−２は公開鍵（ＫＰ８１）を保持している。書き込みの際は、記憶装置６０−２が乱数Ｒ１を発生し、ＫＰ８１で乱数Ｒ１を暗号化してサーバ５０−２に送る。サーバ５０−２は、暗号化された乱数Ｒ１を秘密鍵であるＫＳ５６で復号した乱数Ｒ１を得て、鍵交換ＫＥに利用する。記憶装置６０−２でも同じ乱数Ｒ１を鍵交換ＫＥに利用するため、同一の共通鍵ＫＴ１が得られる。読出しの際の手続きも同様である。同一の秘匿領域６６ｂに読み書きするための認証情報ＫＳは同一である。攻撃者が、アクセス装置７０−２を解析し、不正にＫＳ５６を取得したとする。その場合、攻撃者はサーバ５０−２側の鍵交換ＫＥと同じ手続きによって秘匿領域６６ｂにデータを書き込むことが可能となる。
【００３２】
そこで、第１の実施形態にかかる記憶装置１００は、秘匿領域６６ｂに対する書込みを許諾する認証情報（書込認証情報）と、秘匿領域６６ｂからの読出しのみ許諾する認証情報（読出認証情報）とを区別して格納する。秘匿領域６６ｂへの書込みコマンドを受信した場合、記憶装置１００は、書込認証情報を選択してコマンドの送信元との間で認証を行う。秘匿領域６６ｂからのデータの読出しコマンドを受信した場合、記憶装置１００は、読出認証情報を選択してコマンドの送信元との間で認証を行う。これにより、記憶装置１００の秘匿領域６６ｂには、書込認証情報を保持する装置（例えばサーバ１０）のみがデータを書き込むことが可能となる。
【００３３】
記憶装置１００のデータを利用するアクセス装置２００は、一般にユーザーの手元に存在するため、不正なプログラムの解析などによる攻撃を受け易い。しかし、アクセス装置２００は、読出認証情報しか保持していないため、仮にアクセス装置２００が解析されて読出認証情報が不正に読み取られたとしても、秘匿領域６６ｂのデータを改ざんすることはできない。
【００３４】
図４は、第１の実施形態にかかるコンテンツ配信システムの各装置（サーバ１０、記憶装置１００、アクセス装置２００）の詳細な機能構成の一例を示すブロック図である。なお、図２と同様の機能を備える構成部は同一の符号を付し説明を省略する。
【００３５】
サーバ１０は、コマンド生成部１１と、デバイス鍵５１と、ＭＫＢ処理部５２と、認証処理部５３と、データ５４と、暗号化部５５とを備えている。コマンド生成部１１は、秘匿領域６６ｂに対するアクセスを要求するコマンドを生成する。例えば、コマンド生成部１１は、秘匿領域６６ｂに対する書込みを要求する書込みコマンドを生成する。
【００３６】
図５は、書込みコマンドのフォーマットの一例を示す図である。図５の例では、書込みコマンドのサイズは５１２バイトである。最初の１バイト（アドレス＝０）は、コマンドが書込みコマンドであることを表すコマンド番号であり、ここでは「０ｘＦ０」である。２バイト目は、書き込みコマンドでは常に「０ｘ００」である。３バイト目〜６バイト目は、データを書込む先（秘匿領域６６ｂ内）のセクター番号である。セクターとはデータの書き込み単位の一例であり、例えば１セクターは５１２バイトである。セクター番号は、セクターを識別する番号である。１セクターは５１２バイトに限られるものではないし、セクター以外の任意の単位をデータの書き込み単位とすることができる。
【００３７】
書込みコマンドの７バイト目以降は、「０」でなければならない。書込みコマンドに続いて、５１２バイトの書込みデータが送られる。記憶装置１００は、書込みデータを、秘匿領域６６ｂ内の書込み先セクター番号で指定されたセクターに記録する。
【００３８】
図４に戻り、アクセス装置２００は、コマンド生成部２０１と、コマンド送信部２０２と、ＭＫＢ処理部７２と、認証処理部７３と、データ７４と、復号部７５とを備えている。コマンド生成部２０１は、秘匿領域６６ｂからのデータの読出しを要求する読出しコマンドを生成する。コマンド送信部２０２は、生成された読出しコマンドを記憶装置１００に送信する。
【００３９】
図６は、読出しコマンドのフォーマットの一例を示す図である。図６の例では、読出しコマンドのサイズは５１２バイトである。最初の１バイトは、コマンドが読出しコマンドであることを表すコマンド番号である。ここでは「０ｘ０Ｆ」である。２バイト目は、コマンドの送信元の装置を識別するための情報である。例えば２バイト目はアクセス装置２００が発行する読出しコマンドでは「０ｘＦＦ」であり、サーバが発行する読出しコマンドでは「０ｘ０Ｆ」である。３バイト目〜６バイト目は、データを読み出す先（秘匿領域６６ｂ内）のセクター番号である。読出しコマンドの７バイト目以降は「０」でなければならない。読出しコマンドに続いて、５１２バイトの読出しデータが記憶装置１００から読み出される。記憶装置１００は、読出しデータを、秘匿領域内の読出し先セクター番号で指定されたセクターから読み出す。
【００４０】
図４に戻り、記憶装置１００は、コマンド受信部１０１と、認証情報選択部１０２と、認証情報記憶部１０３と、導出部１０４と、ＭＫＢ６１ｂと、認証部６３と、復号部６４と、暗号化部６５と、データ記憶部６６ａとを備えている。
【００４１】
コマンド受信部１０１は、サーバ１０およびアクセス装置２００から送信されたアクセス要求のコマンドを受信する。コマンドは、少なくとも書込みコマンドと読出しコマンドとを含む。
【００４２】
認証情報記憶部１０３は、認証情報を記憶する不揮発性メモリなどの記憶部である。図７は、認証情報記憶部１０３に記憶される認証情報のデータ構造の一例を示す図である。認証情報記憶部１０３は、認証情報と、認証情報の属性とを対応づけて記憶する。属性は、認証情報が書込認証情報であるか、読出認証情報であるかを示す情報（フラグ）である。図７の例では、２バイトの数値である「０ｘ０１０１」および「０ｘ００００」が、それぞれ書込認証情報および読出認証情報であることを示す属性である。
【００４３】
認証情報は、メディア鍵などの認証情報のデータ自体を記憶してもよいし、メディア鍵を導出するための関数のポインタなどを記憶してもよい。図７では、最初の１６バイトに書込認証情報を導出するための関数ｆのポインタが設定された例が示されている。なお、本実施形態では、関数ｆは導出部１０４を呼び出す関数である。図７の例では、１８バイト目から、読出認証情報であるメディア鍵ＫＭ２のデータが書き込まれており、次の２バイトは読出認証情報であることを示す属性の数値（０ｘ００００）である。
【００４４】
なお、認証情報選択部１０２が認証情報を記憶するように構成してもよい。例えば、認証情報記憶部１０３を認証情報選択部１０２の内部に備えてもよい。
【００４５】
図４に戻り、認証情報選択部１０２は、受信されたコマンドが書込みコマンドの場合に、認証に用いる認証情報として書込認証情報を選択する。また、認証情報選択部１０２は、受信されたコマンドが読出しコマンドの場合に、認証に用いる認証情報として読出認証情報を選択する。例えば、認証情報選択部１０２は、コマンドの最初の１バイトが「０ｘＦ０」か「０ｘ０Ｆ」かにより、受信したコマンドが書込みコマンドであるか読出しコマンドであるかを認識する。認証情報選択部１０２は、認証情報記憶部１０３を参照し、認識したコマンドの種別に対応する属性の認証情報を選択する。
【００４６】
導出部１０４は、ＭＫＢ６１ａと、デバイス鍵１０４ａと、ＭＫＢ処理部１０４ｂとを備えている。ＭＫＢ処理部１０４ｂは、デバイス鍵１０４ａを用いてＭＫＢ６１ａをＭＫＢ処理し、書込認証情報であるメディア鍵ＫＭ１を導出する。導出部１０４は、導出したメディア鍵ＫＭ１を、鍵交換ＫＥを行う認証部６３に引き渡す。
【００４７】
ＭＫＢ６１ａは読み書き許諾用ＭＫＢであり、ＭＫＢ６１ｂは読出し許諾用ＭＫＢである。ＭＫＢ６１ａおよびＭＫＢ６１ｂは、デバイス鍵で処理された場合、それぞれ互いに異なるメディア鍵ＫＭ１およびＫＭ２を生成する。本実施形態では、メディア鍵ＫＭ１が書込認証情報であり、メディア鍵ＫＭ２が読出認証情報である。本実施形態で、記憶装置１００はＫＭ１を内部に保持しておらず、デバイス鍵を用いて導出するようになっている。
【００４８】
なお、メディア鍵ＫＭ１を導出する導出部１０４を備える代わりに、認証情報記憶部１０３にメディア鍵ＫＭ１を記憶するように構成してもよい。また、メディア鍵ＫＭ２を導出部１０４と同様の処理により導出するように構成してもよい。
【００４９】
次に、このように構成された第１の実施形態にかかる記憶装置１００による秘匿領域６６ｂへのアクセス処理について図８を用いて説明する。図８は、第１の実施形態におけるアクセス処理の全体の流れを示すフローチャートである。
【００５０】
まず、コマンド受信部１０１が、サーバ１０またはアクセス装置２００から送信されたコマンドを受信する（ステップＳ１０１）。認証情報選択部１０２は、受信されたコマンドが書込みコマンドであるか否かを判断する（ステップＳ１０２）。図５および図６のような形式のコマンドを用いる場合、認証情報選択部１０２は、コマンドの最初の１バイトが「０ｘＦ０」である場合に、書込みコマンドであると判断する。
【００５１】
受信されたコマンドが書込みコマンドでない場合（ステップＳ１０２：Ｎｏ）、認証情報選択部１０２は、さらにコマンドがサーバ１０から送信されたか否かを判断する（ステップＳ１０３）。例えば、認証情報選択部１０２は、コマンドの２バイト目が「０ｘ０Ｆ」である場合に、サーバ１０から送信されたコマンド（読出しコマンド）であると判断する。
【００５２】
コマンドがサーバ１０から送信されていないと判断した場合（ステップＳ１０３：Ｎｏ）、すなわち、アクセス装置２００からコマンドが送信された場合、認証情報選択部１０２は、認証情報として読出認証情報を選択する（ステップＳ１０４）。次に、認証部６３は、選択された読出認証情報を用いて、送信元であるアクセス装置２００との間で認証処理を実行する（ステップＳ１０５）。認証された場合は、アクセス装置２００は、秘匿領域６６ｂからデータを読み出す（ステップＳ１０６）。
【００５３】
ステップＳ１０３でコマンドがサーバ１０から送信されたと判断した場合（ステップＳ１０３：Ｙｅｓ）、認証情報選択部１０２は、認証情報として書込認証情報を選択する（ステップＳ１０７）。サーバ１０は、データを読み出す場合にも書込認証情報を用いて認証を行うためである。
【００５４】
認証部６３は、選択された書込認証情報を用いて、送信元であるサーバ１０との間で認証処理を実行する（ステップＳ１０８）。認証された場合は、サーバ１０は、秘匿領域６６ｂからデータを読み出す（ステップＳ１０９）。
【００５５】
ステップＳ１０２で受信されたコマンドが書込みコマンドであると判断した場合（ステップＳ１０２：Ｙｅｓ）、認証情報選択部１０２は、認証情報として書込認証情報を選択する（ステップＳ１１０）。認証部６３は、選択された書込認証情報を用いて、送信元であるサーバ１０との間で認証処理を実行する（ステップＳ１１１）。認証された場合は、サーバ１０は、秘匿領域６６ｂに対してデータを書き込む（ステップＳ１１２）。
【００５６】
次に、本実施形態での秘匿領域６６ｂへのデータ書込み動作についてさらに具体的に説明する。
【００５７】
サーバ１０のコマンド生成部１１は、図５に示すような形式の書込みコマンドを生成し、生成した書込みコマンドを記憶装置１００に送る。記憶装置１００のコマンド受信部１０１は、書込みコマンドを受信し認証情報選択部１０２に送る。
【００５８】
認証情報選択部１０２は、コマンドの最初の１バイトを読んで、受信したコマンドが書込みコマンドであることを認識する。認証情報選択部１０２は、認証情報記憶部１０３を参照して書込認証情報を探す。図７の例では関数ｆのポインタが書込認証情報のフラグ（属性）に対応しているので、認証情報選択部１０２は関数ｆを呼び出す。すなわち、認証情報選択部１０２は、導出部１０４に書込認証情報の導出を指示する。導出部１０４は、デバイス鍵１０４ａを用いてＭＫＢ６１ａを処理し、書込認証情報であるメディア鍵ＫＭ１を得る。導出部１０４は、鍵交換ＫＥを実行するために認証部６３にメディア鍵ＫＭ１を引き渡す。
【００５９】
一方、サーバ１０は記憶装置１００からＭＫＢ６１ａを読み取り、サーバ１０のＭＫＢ処理部５２に入力する。サーバ１０のＭＫＢ処理部５２はデバイス鍵５１を読み込み、デバイス鍵５１によってＭＫＢ６１ａを処理する。デバイス鍵５１がＭＫＢ６１ａによって無効化されている場合、サーバ１０のＭＫＢ処理部５２はエラーを出力し、サーバ１０は書き込み動作を終了する。一方、デバイス鍵５１がＭＫＢ６１ａによって無効化されていない場合は、サーバ１０のＭＫＢ処理部５２はメディア鍵ＫＭ１を出力する。サーバ１０のＭＫＢ処理部５２は出力したメディア鍵ＫＭ１を、鍵交換ＫＥを行う認証処理部５３に渡す。鍵交換ＫＥでは、相互に所定の方法で乱数を交換し、サーバ１０と記憶装置１００の双方で共有鍵ＫＴ１が生成される。鍵交換ＫＥは、例えば、非特許文献１にＡＫＥ（Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ａｎｄ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）として記載されている。
【００６０】
サーバ１０は、５１２バイトの書き込みデータを暗号化部５５に入力する。暗号化部５５は、認証処理部５３から共通鍵ＫＴ１を受け取って書込みデータを暗号化し、記憶装置１００に送る。
【００６１】
記憶装置１００は、暗号化された書込みデータ（暗号化書込みデータ）を受け取ると、暗号化書込みデータを復号部６４に入力する。復号部６４は、認証部６３から共通鍵ＫＴ１を受け取り、受信した暗号化書込みデータを復号する。復号部６４は、復号した書込みデータを出力する。記憶装置１００は、書き込みデータを秘匿領域に記録する。
【００６２】
次に、本実施形態での秘匿領域６６ｂからのデータ読出し動作についてさらに具体的に説明する。以下では、アクセス装置２００が記憶装置１００の秘匿領域６６ｂからデータを読み出す場合を考える。
【００６３】
記憶装置１００のコマンド受信部１０１は、アクセス装置２００のコマンド送信部２０２により送信された読出しコマンドを受信し、認証情報選択部１０２に送る。認証情報選択部１０２は、コマンドの最初の１バイトを読んで、受信したコマンドが読出しコマンドであることを認識する。次に、認証情報選択部１０２は、受信したコマンドの２バイト目を読み、アクセス装置２００が発行した読出しコマンドであることを認識する。そこで、認証情報選択部１０２は、認証情報記憶部１０３を参照して読出認証情報を探す。図７の例では、メディア鍵ＫＭ２のデータが読出認証情報のフラグ（属性）に対応しているので、認証情報選択部１０２は、メディア鍵ＫＭ２を認証部６３に引き渡す。もし、受信した読出しコマンドの２バイト目が「０ｘ０Ｆ」であった場合、当該読出しコマンドはサーバ１０によって発行されたものである。その場合、認証情報選択部１０２は、認証情報記憶部１０３を参照して書込認証情報を探す。
【００６４】
アクセス装置２００は、記憶装置１００からＭＫＢ６１ｂを読み取り、ＭＫＢ処理部７２に入力する。ＭＫＢ処理部７２は、デバイス鍵７１を読み込み、デバイス鍵７１によってＭＫＢ６１ｂを処理する。デバイス鍵７１がＭＫＢ６１ｂによって無効化されている場合、ＭＫＢ処理部７２はエラーを出力し、アクセス装置２００は読出し動作を終了する。一方、デバイス鍵７１がＭＫＢ６１ｂによって無効化されていない場合は、ＭＫＢ処理部７２はメディア鍵ＫＭ２を出力する。ＭＫＢ処理部７２は、出力したメディア鍵ＫＭ２を認証処理部７３に渡す。鍵交換ＫＥでは、相互に所定の方法で乱数を交換し、アクセス装置２００と記憶装置１００の双方で共有鍵ＫＴ２が生成される。
【００６５】
記憶装置１００は、５１２バイトの読出しデータを、読出しコマンドで指定された秘匿領域６６ｂ内のセクターから読出し、暗号化部６５に入力する。暗号化部６５は、認証部６３から共通鍵ＫＴ２を受け取って読出しデータを暗号化し、アクセス装置２００に送る。アクセス装置２００は、暗号化された読出しデータ（暗号化読出しデータ）を復号部７５に入力する。復号部７５は、認証処理部７３から共通鍵ＫＴ２を受け取り、共通鍵ＫＴ２により、受信した暗号化読出しデータを復号する。復号部７５は復号した読出しデータを出力する。
【００６６】
このように、第１の実施形態では、記憶装置１００の秘匿領域６６ｂに対して、書込認証情報を保持するサーバ１０のみがデータを書き込むことが可能である。攻撃を受け易いアクセス装置２００は、読出認証情報しか持たないため、仮にアクセス装置２００が解析されて読出認証情報が不正に読み取られたとしても、秘匿領域６６ｂのデータを改ざんすることはできない。
【００６７】
従って、当該秘匿領域内のデータの不正な書き換えが防止され、ユーザーＩＤや端末ＩＤ、バインディングＩＤ、およびタイトル鍵などの重要なデータを不正な改竄やコピーから守ることができる。サーバ１０と記憶装置１００の間の認証の信頼性が高い故に、サーバ１０が読み出す秘匿領域６６ｂ内のデータの信頼性は高い。これを、コンテンツ利用端末２０の特定に利用することも可能である。また、サーバ１０と記憶装置１００の間の認証の信頼性が高い故に、秘匿領域６６ｂ内のデータのサーバ１０による消去および変更は確実性が高い。これを、例えば、記憶装置１００の初期化に利用することも可能である。
【００６８】
（第２の実施形態）
第１の実施形態では、１つの秘匿領域を備え、この秘匿領域にアクセスするために２つの認証情報である書込認証情報と読出認証情報とのいずれかを選択した。第２の実施形態では、秘匿領域に含まれる複数の秘匿セクターそれぞれに対して２つの認証情報を割り当てる例を説明する。また、第２の実施形態では、認証情報として公開鍵および秘密鍵のペアを用いる。
【００６９】
図９は、第２の実施形態にかかるコンテンツ配信システムの各装置（サーバ１０−２、記憶装置１００−２）の詳細な機能構成の一例を示すブロック図である。なお、第１の実施形態のブロック図である図４と同様の機能を備える構成部は同一の符号を付し説明を省略する。
【００７０】
また、以下では、読出しコマンドをサーバ１０−２が送信する場合を例に説明する。このため、図９では、記憶装置１００−２の左側に、書込みコマンドの送信に関わるサーバ１０−２の構成部を記載するとともに、記憶装置１００−２の右側に、読出しコマンドの送信に関わるサーバ１０−２の構成部を分けて記載している。実際には、両側の各構成部が１つのサーバ１０−２に備えられている。なお、読出しコマンドをアクセス装置が送信する場合の処理は、送信元が異なるのみであり、サーバ１０−２が読出しコマンドを送信する場合の処理と同様である。
【００７１】
サーバ１０−２は、コマンド生成部１１と、秘密鍵５１−２と、認証処理部５３−２と、データ５４と、暗号化部５５と、復号部５６と、を備えている。秘密鍵５１−２は、サーバ１０−２に割り当てられた秘密鍵である。以下では説明の便宜上、サーバ１０−２が、秘匿セクター１００に対応する秘密鍵であるＫＳ１００−１を秘密鍵５１−２として記憶しているものとする。なお、秘匿セクターｎ（０≦ｎ≦（秘匿セクター数−１））とは、（ｎ＋１）番目の秘匿セクターであることを意味する。
【００７２】
認証処理部５３−２は、メディア鍵ＫＭ１の代わりにＫＳ１００−１を認証情報として用いる点が、図４の認証処理部５３と異なっている。復号部５６は、記憶装置１００−２から読み出され、暗号化されたデータを復号する。
【００７３】
記憶装置１００−２は、コマンド受信部１０１と、認証情報選択部１０２−２と、認証情報記憶部１０３−２と、認証部６３−２と、復号部６４と、暗号化部６５と、データ記憶部６６ａとを備えている。
【００７４】
認証情報記憶部１０３−２は、認証情報として公開鍵を記憶する。対応する秘密鍵は、サーバ１０またはアクセス装置２００が保持する。また、認証情報記憶部１０３−２は、秘匿セクターごとに認証情報を記憶する。
【００７５】
ここで秘匿セクターについて説明する。秘匿セクターとは、秘匿領域に確保されたセクターのことであり、セクターには０から順にセクターを識別する番号が割り当てられる。例えば、秘匿セクター０から秘匿セクター６５５３５まで、６５５３６個の秘匿セクターを秘匿領域に確保するように構成できる。
【００７６】
各秘匿セクターには、第１の実施形態のように、それぞれ書込認証情報と読出認証情報とが割り当てられる。すなわち、各秘匿セクターは、独立に第１の実施形態の秘匿領域のように扱うことができる。各秘匿セクターに対する書込みコマンドと読出しコマンドのフォーマットは、第１の実施形態と同じである。しかし、本実施形態では各秘匿セクターが独立の秘匿領域であるため、認証情報選択部１０２−２の動作が第１の実施形態とは異なっている。認証情報選択部１０２−２の機能の詳細については後述する。
【００７７】
認証部６３−２は、メディア鍵ＫＭ１およびＫＭ２の代わりにＫＳ１００−１を認証情報として用いる点が、図４の認証部６３と異なっている。
【００７８】
次に、認証情報記憶部１０３−２の詳細についてさらに説明する。認証情報記憶部１０３−２は、各秘匿セクターの書込認証情報と読出認証情報の組（例えば６５５３６組）を保持している。図１０は、認証情報記憶部１０３−２に記憶される認証情報のデータ構造の一例を示す図である。認証情報記憶部１０３−２は、更新フラグと、認証情報と、認証情報の属性とを対応づけて記憶する。秘匿情報の属性の意味は図７と同様である。すなわち、「０ｘ０１０１」は書込認証情報であることを示し、「０ｘ００００」は読出認証情報であることを示す。例えば、ＫＰ１−１は秘匿セクター１の書込認証情報であり、ＫＰ１−２は秘匿セクター１の読出認証情報である。更新フラグは、秘匿セクターの認証情報を更新して良いか否かを示すフラグである。更新フラグの利用例は、第４の実施形態で詳述する。本実施形態では更新フラグは必須ではなく、認証情報記憶部１０３−２に認証情報と属性のみを対応づけて記憶するように構成してもよい。
【００７９】
次に、本実施形態での秘匿領域６６ｂへのデータ書込み動作についてさらに具体的に説明する。以下では、１０１番目の秘匿セクター１００へデータを書き込む場合を例に説明する。
【００８０】
秘匿セクター１００への書込みに当たって、サーバ１０−２のコマンド生成部１１は、図１１に示すような書込みコマンドを生成し記憶装置１００−２に送る。記憶装置１００のコマンド受信部１０１は、書込みコマンドを受信し、書込みコマンドを認証情報選択部１０２−２に送る。認証情報選択部１０２−２は、書込みコマンドの第１バイト（０ｘＦ０）を読んで、受信したコマンドが書込みコマンドであることを認識する。認証情報選択部１０２−２は、第３バイト以降の４バイトを読んで、書込みコマンドが１０１番目の秘匿セクター１００に対する書込要求であることを認識する。そこで認証情報選択部１０２−２は、認証情報記憶部１０３−２に記憶されている図１０のようなデータを調べ、１０１組目の認証情報を見出す。すなわち、ＫＰ１００−１とＫＰ１００−２と（図１０には図示せず）を見出す。認証情報選択部１０２−２は、ＫＰ１００−１とＫＰ１００−２の属性を調べ、書込認証情報であるＫＰ１００−１を選択する。認証情報選択部１０２−２は、選択した認証情報ＫＰ１００−１を認証部６３−２に送る。以上が、書込みコマンドを受信した場合の認証情報選択部１０２−２の動作である。サーバ１０−２との鍵交換の後、サーバ１０−２から記憶装置１００−２に対して、５１２バイトのデータ書き込みが行われる。記憶装置１００−２は、認証部６３−２が生成した共通鍵ＫＴ１を用いて書込みデータの復号を行い、秘匿領域６６ｂ内の秘匿セクター１００に復号された書込みデータを記録する。
【００８１】
次に、本実施形態での秘匿領域６６ｂからのデータ読出し動作についてさらに具体的に説明する。以下では、１０１番目の秘匿セクター１００からデータを読み出す場合を例に説明する。
【００８２】
秘匿セクター１００からの読出しに当たって、サーバ１０−２のコマンド生成部１１は、図１２に示すような読出しコマンドを生成し記憶装置１００−２に送る。記憶装置１００−２のコマンド受信部１０１は、読出しコマンドを受信し、読出しコマンドを認証情報選択部１０２−２に送る。認証情報選択部１０２−２は、読出しコマンドの第１バイト（０ｘ０Ｆ）を読んで、受信したコマンドが読出しコマンドであることを認識する。認証情報選択部１０２−２は、第２バイト（０ｘ０Ｆ）を読み、読出しコマンドがサーバ１０−２によって発行されたものであることを認識する。すなわち、認証情報選択部１０２−２は、書込認証情報を選択すべきことを認識する。サーバ１０−２が読み書きに使用するのは書込認証情報であるからである。
【００８３】
次に、認証情報選択部１０２−２は、第３バイト以降の４バイトを読んで、読出しコマンドが１０１番目の秘匿セクター１００からの読出要求であることを認識する。そこで認証情報選択部１０２−２は、認証情報記憶部１０３−２に記憶されている図１０のようなデータを調べ、１０１組目の認証情報を見出す。すなわち、ＫＰ１００−１とＫＰ１００−２とを見出す。認証情報選択部１０２−２は、ＫＰ１００−１とＫＰ１００−２の属性を調べ、書込認証情報であるＫＰ１００−１を選択する。認証情報選択部１０２−２は、選択した認証情報ＫＰ１００−１を認証部６３−２に送る。以上が、読込みコマンドを受信した場合の認証情報選択部１０２−２の動作である。サーバ１０−２との鍵交換の後、サーバ１０−２は記憶装置１００から５１２バイトのデータ読出しを行う。記憶装置１００−２は、秘匿セクター１００に記録されているデータを読出し、認証部６３−２が生成した共通鍵ＫＴ２を用いて読出しデータを暗号化し、暗号化したデータをサーバ１０−２に対して送出する。
【００８４】
このように、第２の実施形態にかかる記憶装置１００−２では、秘匿領域を分割したセクターごとに書込認証情報と読出認証情報を記憶し、書込認証情報を保持するサーバ１０−２のみが、対応するセクターにデータを書き込むことが可能となる。
【００８５】
（第３の実施形態）
第２の実施形態では、予め認証情報（書込認証情報と読出認証情報）が、認証情報記憶部１０３−２に設定されていうという前提で、秘匿セクターについて説明を行った。しかし、記憶装置１００−２が製造されて工場から出荷された時点で、各秘匿セクター用に認証情報が認証情報記憶部１０３−２に設定されているとは限らない。
【００８６】
第３の実施形態では、各秘匿セクター向けに認証情報を設定する方法について述べる。以下では、第１番目の秘匿セクターである秘匿セクター０を用いて認証情報を設定する例について述べる。
【００８７】
図１３は、第３の実施形態にかかるコンテンツ配信システムの構成例を示すブロック図である。第３の実施形態にかかるコンテンツ配信システムは、記憶装置１００−３と、記憶装置１００−３の認証情報を初期化する初期化装置３００とを備えている。
【００８８】
初期化装置３００は、コマンド生成部３０１と、秘密鍵３０２と、認証処理部３０３と、更新情報３０４と、暗号化部３０５と、を備えている。
【００８９】
コマンド生成部３０１は、記憶装置１００−３の初期化を要求する初期化コマンド、および、認証情報の更新を要求する更新コマンドを生成する。
【００９０】
記憶装置１００−３は、例えば、工場出荷段階では初期化されていない。初期化とは、データ記憶部６６ａ内に秘匿領域６６ｂを確保して、認証情報を書込み、秘匿領域６６ｂを使用可能にすることである。記憶装置１００−３は、例えば、コンテンツ利用端末２０を製造するメーカーで初期化される。この初期化には初期化コマンドが用いられる。図１４は、初期化コマンドのフォーマットの一例を示すである。
【００９１】
初期化コマンドの最初の１バイトは、コマンドが初期化コマンドであることを表すコマンド番号である。初期化コマンドのコマンド番号は「０ｘ０１」である。初期化コマンドの第２バイトは常に「０ｘ００」と定められている。３バイト目からの４バイトに秘匿領域６６ｂとして確保するセクター数を記す。例えば１セクターは５１２バイトである。秘匿領域６６ｂとして確保するセクター数を、総セクター数に対して制限するように構成してもよい。例えば、秘匿領域６６ｂとして確保するセクター（秘匿セクター）の個数を、総セクター数の１／８以下とするように構成してもよい。ここでは、６４×１０２４＝６５５３６個のセクターを秘匿領域に確保する。７バイト目から２５バイト目までの２０バイトは、秘匿セクター０に設定すべき書込認証情報である公開鍵ＫＰ０−１である。
【００９２】
秘匿セクター０は特別な秘匿セクターである。秘匿セクター０に読出認証情報は設定されず、例えば常に０が設定される。秘匿セクター０には書込認証情報のみが設定可能である。初期化コマンド（コマンド番号０ｘ０１）によって、秘匿セクター０の書込認証情報が設定される（図１４参照）。初期化コマンドの発行は、記憶装置１００−３に対して一度限りである。二度目以降の初期化コマンド発行は、記憶装置１００−３によって無視されるかエラーになる。すなわち、秘匿セクター数の設定も、秘匿セクター０に設定する書込認証情報の設定も、ただ一度限りしかできない。
【００９３】
図１３に戻り、秘密鍵３０２は、記憶装置１００−３に記憶される書込認証情報（公開鍵ＫＰ０−１）に対応する書込認証情報としての秘密鍵である。以下では、この秘密鍵３０２を秘密鍵ＫＳ０−１という場合がある。認証処理部３０３は、認証情報として秘密鍵ＫＳ０−１を用いて記憶装置１００−３との間の認証処理を行う。更新情報３０４は、初期化コマンドにより秘匿領域６６ｂを確保した後に、秘匿領域６６ｂの各秘匿セクターに記憶すべき認証情報を含む情報である。更新情報３０４の詳細については後述する。暗号化部３０５は、認証処理部３０３が認証処理で出力した共通鍵ＫＴを用いて更新情報３０４を暗号化する。
【００９４】
記憶装置１００−３は、コマンド受信部１０１と、認証情報選択部１０２−２と、認証情報記憶部１０３−２と、初期化フラグ記憶部１１１と、秘匿領域情報記憶部１１２と、初期化部１１３と、認証情報設定部１１４と、データ記憶部６６ａとを備えている。なお、図１３では、認証情報の初期化に関わる構成部のみを記載しているが、記憶装置１００−３には、さらに第２の実施形態の記憶装置１００−２（図９）と同様の構成部を備えることができる。
【００９５】
コマンド受信部１０１、認証情報選択部１０２−２、認証情報記憶部１０３−２、および、データ記憶部６６ａは、第２の実施形態と同様の機能を備えるため同一の符号を付し、説明を省略する。
【００９６】
初期化フラグ記憶部１１１は、初期化済みか否かを表す情報（初期化フラグ）を記憶する記憶部であり、例えば不揮発性メモリにより構成される。初期化フラグは、例えば、初期化済みの場合に１が設定され、初期化していない場合に０が設定される。この場合、初期化フラグ記憶部１１１は、製造時には０が記録されている。
【００９７】
秘匿領域情報記憶部１１２は、秘匿領域の設定内容を表す情報を記憶する記憶部であり、例えば不揮発性メモリにより構成される。秘匿領域情報記憶部１１２は、製造時に記憶装置１００−３のメモリ総容量（データ記憶部６６ａの記憶領域の総容量、セクター単位）が記録されている。さらに、秘匿領域情報記憶部１１２には、秘匿領域が開始されるセクターを表す秘匿領域開始セクターを記録することができる。製造時には、秘匿領域開始セクターにはメモリ総容量と同じ数値が格納されている。すなわち、秘匿領域は存在しない。
【００９８】
初期化部１１３は、初期化フラグ記憶部１１１の初期化フラグを参照し、初期化フラグが初期化済みでないことを示す値（例えば０）の場合に、初期化動作を実行する。認証情報設定部１１４は、初期化コマンドによる初期化の後に、更新情報３０４により認証情報記憶部１０３−２に格納されている認証情報を更新する処理を行う。
【００９９】
以下に、初期化動作の流れについて説明する。初期化装置３００のコマンド生成部３０１が図１４のような初期化コマンドを生成し、記憶装置１００−３に送信する。記憶装置１００−３のコマンド受信部１０１が、送信された初期化コマンドを受信する。コマンド受信部１０１は、最初の１バイトを読んで、受信したコマンドが初期化コマンドであることを認識する。コマンド受信部１０１は、初期化コマンドを初期化部１１３に送る。初期化部１１３は、先ず初期化フラグ記憶部１１１の値を読み、その値が０でなければ初期化動作を停止する。初期化フラグ記憶部１１１の値が０であれば、初期化部１１３は、初期化フラグ記憶部１１１に１を記録して以後の初期化動作を継続する。これによって、初期化の回数は１回に限定される。
【０１００】
初期化部１１３は、受信した初期化コマンドの３バイト目以降の４バイト分を読み、秘匿領域６６ｂとして確保すべきセクター数（秘匿セクター数）を知る。初期化部１１３は、秘匿領域情報記憶部１１２からメモリ総容量を読出し、それが秘匿セクター数の８倍以上であることを確認する。例えば、メモリ総容量が８ＧＢ（＝１６Ｍセクター）であるとすると、図１４に記載の秘匿セクター数６４Ｋ（＝６５５３６）は１／８以下である。もし、メモリ総容量が確保すべき秘匿セクター数の８倍未満であれば、記憶装置１００−３は初期化を停止する。メモリ総容量が、確保すべき秘匿セクター数の８倍以上であった場合、初期化部１１３は、秘匿領域情報記憶部１１２の秘匿領域開始セクターに、（メモリ総容量）−（秘匿セクター数）を記録する。総容量が１６Ｍセクターで、確保すべき秘匿セクター数が６４Ｋセクターである場合、初期化部１１３は、秘匿領域情報記憶部１１２の秘匿領域開始セクターに、１６３２０×１０２４＝１６７１１６８０を記録する。すなわち、セクター番号１６７１１６８０からセクター番号１６７７７２１５までの６４Ｋセクターが秘匿領域６６ｂとなる。なお、図１３では、データ記憶部６６ａのうち、秘匿領域６６ｂ以外の領域を通常領域６６ｃとして表している。
【０１０１】
次に、初期化部１１３は、初期化コマンドの７バイト目から１６バイト分を読み、その値を秘匿セクター０用の書込認証情報（すなわち、ＫＰ０−１）として認識する。初期化部１１３は、この値を認証情報記憶部１０３−２に記録する。図１０の第１行目がこのようにして設定された値を示している。初期化コマンドによる初期化の段階では、図１０の３行目以降の認証情報はすべて０である。
【０１０２】
秘匿セクター０以外の秘匿セクターを使用するためには、各秘匿セクターに０でない認証情報を設定しなければならない。これを行うのが更新コマンド（コマンド番号０ｘ０３とする）である。図１５は、更新コマンドのフォーマットの一例を示すである。
【０１０３】
更新コマンドの最初の１バイトは、コマンドが更新コマンドであることを表すコマンド番号「０ｘ０３」である。更新コマンドの第２バイトは常に「０ｘ００」と定められている。３バイト目以降には０が設定される。
【０１０４】
以下、更新コマンド０ｘ０３に対する記憶装置１００−３と初期化装置３００の動作について説明する。まず、初期化装置３００のコマンド生成部３０１は、図１５のような更新コマンドを生成して記憶装置１００−３に送る。
【０１０５】
記憶装置１００−３のコマンド受信部１０１が更新コマンドを受信し、当該更新コマンドを認証情報選択部１０２に送る。認証情報選択部１０２は、第１バイト（０ｘ０３）を読んで、受信したコマンドが更新コマンドであることを認識する。そこで、認証情報選択部１０２は、認証情報記憶部１０３−２が格納している図１０のようなデータを調べ、１組目の書込認証情報（ＫＰ０−１）を見出す。認証情報選択部１０２は、認証情報ＫＰ０−１を認証部６３−２に送る。初期化装置３００は、保有している秘密鍵ＫＳ０−１を認証処理部３０３に引き渡す。初期化装置３００と記憶装置１００−３との間で鍵交換ＫＥが行われた後、初期化装置３００から記憶装置１００に５１２バイトのデータ書き込みが行われる。このデータに更新情報３０４が含まれている。
【０１０６】
図１６は、更新情報３０４のデータ構造の一例を示す図である。第１〜第４バイト目は、更新する秘匿セクターを特定する数値である。第５〜第６バイト目は、更新フラグの値を表す。第７〜第２６バイト目は、更新する認証情報を表す。第２７〜第２８バイト目は、更新する認証情報の属性を表す。第２９〜第５２バイト目は、第５〜第２８バイト目と同様である。図１６では、１０１番目の秘匿セクターの書込認証情報をＫＰ１００−１に更新し、読出認証情報をＫＰ１００−２に更新する更新情報の例が示されている。
【０１０７】
記憶装置１００−３の復号部６４は、鍵交換ＫＥにより生成された共通鍵ＫＴを用いて更新情報を復号し、復号された更新情報を認証情報設定部１１４に入力する。
【０１０８】
認証情報設定部１１４は、図１６のような更新情報を受け取り、認証情報記憶部１０３−２に格納されている認証情報を更新する。初期化直後に認証情報記憶部１０３−２が格納している認証情報は図１７のようになっている。すなわち、初期化コマンドによって、ＫＰ０−１のみが書込認証情報として設定されている。図１６のような更新情報を受信すると、認証情報設定部１１４は、１０１番目の書込認証情報と読出認証情報に、それぞれＫＰ１００−１とＫＰ１００−２を設定する。また、認証情報設定部１１４は、それぞれの更新フラグとして図１６の５〜６バイト目と２９〜３０バイト目の値を設定し、さらに、それぞれの属性として図１６の２７〜２８バイト目と５１〜５２バイト目の値を設定する。その結果、認証情報記憶部１０３−２が格納する認証情報は図１８のようになる。
【０１０９】
このように、第３の実施形態では、例えばコンテンツ利用端末２０を製造するメーカーが保有する初期化装置３００により、秘匿領域に記憶する認証情報を初期化する機能を実現できる。なお、第３の実施形態では、第２の実施形態のように複数の秘匿セクターを含む秘匿領域を初期化する例について説明したが、第１の実施形態のような秘匿領域に対しても同様の機能を実現できる。
【０１１０】
（第４の実施形態）
第３の実施形態では、初期化装置３００が秘匿領域６６ｂを初期化し、認証情報を設定することを述べた。初期化装置３００と秘密鍵ＫＳ０−１とは、例えば、コンテンツ利用端末２０を製造するメーカーが保有しており、それらを用いて初期化と認証情報の設定を行う。しかし、各秘匿領域（秘匿セクター）に書込みを行うサーバを保有するコンテンツ配信業者に対して、メーカーが認証情報を更新する権限を与えたい場合がある。
【０１１１】
第４の実施形態にかかる記憶装置１００−４は、このような機能を実現する方法について説明する。
【０１１２】
図１９は、第４の実施形態にかかるコンテンツ配信システムの構成例を示すブロック図である。第４の実施形態にかかるコンテンツ配信システムは、サーバ１０−４と、記憶装置１００−４と、を備えている。
【０１１３】
サーバ１０−４は、コマンド生成部１１−４と、秘密鍵５１−２と、認証処理部５３−２と、更新情報５４−４と、暗号化部５５と、を備えている。秘密鍵５１−２は、サーバ１０−４に割り当てられた秘密鍵である。以下では説明の便宜上、サーバ１０−４が、秘匿セクター１００に対応する秘密鍵であるＫＳ１００−１を秘密鍵５１−２として記憶しているものとする。
【０１１４】
認証処理部５３−２、および、暗号化部５５は、第２の実施形態と同様の機能を備えるため同一の符号を付し、説明を省略する。
【０１１５】
コマンド生成部１１−４は、サーバ１０−４から認証情報の更新を要求する更新コマンドを生成する機能をさらに備える点が、上記各実施形態のコマンド生成部１１と異なっている。図２０は、更新コマンドのフォーマットの一例を示すである。
【０１１６】
なお、図１５で説明した更新コマンドは、秘匿領域を確保した後に、秘匿セクターを使用可能とするために認証情報を設定（更新）するためのコマンドである。これに対し、図２０の更新コマンドは、既に設定されている認証情報を異なる値等に更新するために用いるコマンドである。以下では、図２０の更新コマンドのコマンド番号を「０ｘ３０」とし、図１５の更新コマンド（コマンド番号「０ｘ０３」）と区別する。
【０１１７】
図２０に示すように、更新コマンドの最初の１バイトは、コマンドが更新コマンドであることを表すコマンド番号「０ｘ３０」である。更新コマンドの第２バイトは常に「０ｘ００」と定められている。３〜６バイト目には、更新する秘匿セクターを特定する数値が設定される。７バイト目以降には０が設定される。
【０１１８】
図１９に戻り、更新情報５４−４は、更新する秘匿セクターに記憶すべき認証情報を含む情報である。図２１は、更新情報５４−４のデータ構造の一例を示す図である。第１〜第４バイト目は、更新する秘匿セクターを特定する数値である。第５〜第２４バイト目は、更新する認証情報を表す。第２５〜第２６バイト目は、更新する認証情報の属性を表す。第２７〜第４８バイト目は、第５〜第２６バイト目と同様である。図２１では、１０１番目の秘匿セクターの書込認証情報をＫＰ１００−１’に更新し、読出認証情報をＫＰ１００−２’に更新する更新情報の例が示されている。
【０１１９】
図１９に戻り、記憶装置１００−４は、認証情報設定部１１４−４が、更新情報５４−４により認証情報記憶部１０３−２に格納されている認証情報を更新する機能をさらに備える点が、第３の実施形態の記憶装置１００−３（図１３）と異なっている。
【０１２０】
なお、コンテンツ配信業者は、例えば初期化を行ったメーカーから、割り当てられた秘匿領域（秘匿セクター）に関する認証情報を受け取る。それによって初めて当該秘匿領域への読み書きが可能になる。先の図１８の例では、コンテンツ配信業者は、例えば書込認証情報ＫＰ１００−１（公開鍵）に対する書込認証情報ＫＳ１００−１（秘密鍵）と、読出認証情報ＫＰ１００−２（公開鍵）に対する読出認証情報ＫＳ１００−２（秘密鍵）とをメーカーから受け取る。当該コンテンツ配信業者は、秘匿セクター１００に対するサーバ１０−４とアクセス装置２００とを構築することができる。
【０１２１】
更新フラグが１である場合、コンテンツ配信業者は、対応する認証情報を更新することができる。
【０１２２】
以下、更新コマンド０ｘ３０に対する記憶装置１００−４とサーバ１０−４の動作について説明する。サーバ１０−４のコマンド生成部１１−４は、図２０のような更新コマンドを生成して記憶装置１００−４に送る。記憶装置１００−４のコマンド受信部１０１が更新コマンドを受信し、当該更新コマンドを認証情報選択部１０２−２に送る。認証情報選択部１０２−２は、第１バイト（０ｘ３０）を読んで、受信したコマンドが更新コマンドであることを認識する。そこで、認証情報選択部１０２−２は、更新コマンドの３バイト目以降の４バイトを読み、更新コマンドが秘匿セクター１００に対するものであることを認識する。認証情報選択部１０２−２は、認証情報記憶部１０３−２が格納している図１８のような認証情報を調べ、１０１組目の書込認証情報（ＫＰ１００−１）を見出す。認証情報選択部１０２−２は、認証情報ＫＰ１００−１を認証部６３−２に送る。サーバ１０−４側では、保有している秘密鍵５１−２（ＫＳ１００−１）が認証処理部５３−２に送られる。サーバ１０−４との鍵交換の後、サーバ１０−４から記憶装置１００−４に５１２バイトのデータ書き込みが行われる。このデータに更新情報５４−４が含まれている。記憶装置１００−４の認証部６３−２は、鍵交換ＫＥにより生成した共通鍵ＫＴを用いて更新情報５４−４を復号し、認証情報設定部１１４−４に復号された更新情報５４−４を入力する。
【０１２３】
認証情報設定部１１４−４は、復号された更新情報５４−４を受け取り、認証情報記憶部１０３−２が格納している認証情報を更新する。認証情報記憶部１０３−２が格納している認証情報が図１８のようであったとする。図２１のような更新情報５４−４を受信すると、認証情報設定部１１４−４は、１０１番目の書込認証情報の更新フラグを見る。この値が１である場合のみ、コマンド番号０ｘ３０の更新コマンドによって認証情報を更新できる。図１８では１０１番目の書込認証情報について更新フラグの値は０であるから、認証情報設定部１１４−４は書込認証情報の更新を行わない。
【０１２４】
次に、認証情報設定部１１４−４は、１０１番目の読出認証情報の更新フラグを見る。この値が１であることから、認証情報設定部１１４−４は、読出認証情報を図２１の更新情報５４−４中の読出認証情報（ＫＰ１００−２’）で置き換える。その結果、認証情報選択部１０２が格納する認証情報は、図１８から図２２のように更新される。
【０１２５】
このように、第４の実施形態では、権限を与えられたコンテンツ配信業者等が、記憶装置１００−４の認証情報を更新することが可能となる。
【０１２６】
以上説明したとおり、第１から第４の実施形態によれば、秘匿領域に対する書込みを許諾する認証情報と、秘匿領域からの読出しのみ許諾する認証情報とを区別して格納し、書込み要求か読出し要求かに応じて使用する認証情報を変更する。これにより、書込みを許諾する認証情報を保持する装置のみがデータを書き込むことが可能となる。また、攻撃を受け易い装置から、読出しを許諾する認証情報が不正に取得されたとしても、秘匿領域の情報を書き換えられることがない。
【０１２７】
次に、第１〜第４の実施形態にかかる装置（サーバおよびコンテンツ利用端末）のハードウェア構成について図２３を用いて説明する。図２３は、第１〜第４の実施形態にかかる装置のハードウェア構成を示す説明図である。
【０１２８】
第１〜第４の実施形態にかかる装置は、ＣＰＵ（Central  Processing  Unit）５０１などの制御装置と、ＲＯＭ（Read  Only  Memory）５０２やＲＡＭ（Random  Access  Memory）５０３などの記憶媒体と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５０４と、ＨＤＤ（Hard  Disk  Drive）、ＣＤ（Compact  Disc）ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス６０１を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１２９】
なお、本発明の実施形態は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【０１３０】
１０  サーバ
１１  コマンド生成部
２０  コンテンツ利用端末
３０  ネットワーク
５１  デバイス鍵
５２  ＭＫＢ処理部
５３  認証処理部
５４  データ
５５  暗号化部
１００  記憶装置
１０１  コマンド受信部
１０２  認証情報選択部
１０３  認証情報記憶部
１０４  導出部
６３  認証部
６４  復号部
６５  暗号化部
６６ａ  データ記憶部
６６ｂ  秘匿領域
２００  アクセス装置
２０１  コマンド生成部
２０２  コマンド送信部
７２  ＭＫＢ処理部
７３  認証処理部
７５  復号部
【図１】
2012014529.tif 000003
【図２】
2012014529.tif 000004
【図３】
2012014529.tif 000005
【図４】
2012014529.tif 000006
【図５】
2012014529.tif 000007
【図６】
2012014529.tif 000008
【図７】
2012014529.tif 000009
【図８】
2012014529.tif 000010
【図９】
2012014529.tif 000011
【図１０】
2012014529.tif 000012
【図１１】
2012014529.tif 000013
【図１２】
2012014529.tif 000014
【図１３】
2012014529.tif 000015
【図１４】
2012014529.tif 000016
【図１５】
2012014529.tif 000017
【図１６】
2012014529.tif 000018
【図１７】
2012014529.tif 000019
【図１８】
2012014529.tif 000020
【図１９】
2012014529.tif 000021
【図２０】
2012014529.tif 000022
【図２１】
2012014529.tif 000023
【図２２】
2012014529.tif 000024
【図２３】
2012014529.tif 000025