(57)【要約】【課題】公開鍵暗号をベースとした認証方式が利用される場合においても、クローンカードの蔓延を防止する。【解決手段】コントローラは、コントローラ鍵及びコントローラに固有の第１コントローラ識別情報を保持している。コントローラは、コントローラ鍵及び第１コントローラ識別情報に基づいてコントローラ毎に固有のコントローラユニーク鍵を生成すると共に、第１コントローラ識別情報に基づいて第２コントローラ識別情報を生成する。復号器は、暗号化メディアデバイス鍵をコントローラユニーク鍵を用いて復号してメディアデバイス鍵を得る。認証鍵交換処理部は、メディアデバイス鍵、メディアデバイス鍵証明書、及び第２コントローラ識別情報とを用いて、インタフェース部を介してホスト装置と認証鍵交換処理を行い、セキュアチャネルを確立する。【選択図】図１
2012235312.tif 000002
【特許請求の範囲】
【請求項１】
各種データを格納するメモリ部と、
コントローラ鍵及び前記コントローラに固有の第１コントローラ識別情報を与えられ前記メモリ部を制御するように構成されたコントローラと、
ホスト装置とセキュアチャネルを介したデータ通信を行うためのインタフェース部と
を備え、
前記コントローラは、
前記コントローラ鍵及び前記第１コントローラ識別情報に基づいて前記コントローラ毎に固有のコントローラユニーク鍵を生成するコントローラユニーク鍵生成部と、
前記第１コントローラ識別情報に基づいて第２コントローラ識別情報を生成するコントローラ識別情報生成部と、
復号器と、
前記ホスト装置との間で認証鍵交換処理を実行する認証鍵交換処理部と、
を備え、
前記メモリ部は、
外部から自由にアクセス可能な通常記録部と、
公開鍵暗号方式の秘密鍵として機能するメディアデバイス鍵を前記コントローラユニーク鍵で暗号化した暗号化メディアデバイス鍵と、前記公開鍵暗号方式の公開鍵として機能するメディアデバイス鍵証明書とを格納するシステム情報記録部と、
所定の認証処理の完了を条件としてアクセス可能となる秘密記録部と
を備え、
前記復号器は、前記暗号化メディアデバイス鍵を前記コントローラユニーク鍵を用いて復号して前記メディアデバイス鍵を得ることが可能に構成され、
前記認証鍵交換処理部は、前記メディアデバイス鍵、前記メディアデバイス鍵証明書、及び前記第２コントローラ識別情報を用いて、前記インタフェース部を介して前記ホスト装置と認証鍵交換処理を行い、前記セキュアチャネルを確立した後、前記前記メディアデバイス鍵、前記メディアデバイス鍵証明書、及び前記第２コントローラ識別情報を前記セキュアチャネル及び前記インタフェース部を介して前記ホスト部に送信するよう構成された
ことを特徴とする情報記録装置。
【請求項２】
前記コントローラは、前記セキュアチャネルが確立された場合に、前記システム情報記録部へのアクセスを許容する請求項２記載の情報記録装置。
【請求項３】
前記コントローラ識別情報生成部は、前記コントローラ鍵と前記第１コントローラ識別情報に基づいて第２コントローラ識別情報を生成する請求項１乃至２のいずれかに記載の情報記録装置。
【請求項４】
情報記録装置と、ホスト装置との間で認証処理を実行する方法であって、
前記情報記録装置は、メモリ部と、このメモリ部を制御するコントローラを有していると共に、コントローラ鍵及び第１コントローラ識別情報を与えられ、更に公開鍵暗号方式の秘密鍵として機能するメディアデバイス鍵と、前記公開鍵暗号方式の公開鍵として機能するメディアデバイス鍵証明書とを前記メモリ部内のシステム情報記録部に保持すると共に、前記メディアデバイス鍵は、前記コントローラ鍵及び前記第１コントローラ識別情報に基づいて生成されたコントローラユニーク鍵により暗号化されて暗号化メディアデバイス鍵として前記システム情報記録部に記録され、
前記ホスト装置は、公開鍵暗号方式の秘密鍵として機能するホストデバイス鍵と、公開鍵暗号方式の公開鍵として機能するホストデバイス鍵証明書とを保持し、
前記方法は、
前記第１コントローラ識別情報に基づいて第２コントローラ識別情報を生成するステップと、
前記暗号化メディアデバイス鍵、前記メディアデバイス鍵証明書、及び前記第２コントローラ識別情報、並びに前記ホストデバイス鍵及び前記ホストデバイス証明書に基づいて認証鍵交換処理を実行して、前記メディアデバイス鍵証明書の中に埋め込まれたメディアデバイス鍵証明書情報及び前記第２コントローラ識別情報を前記ホスト装置において取得するステップと、
前記ホスト装置が受領した前記メディアデバイス鍵証明書情報及び前記第２コントローラ識別情報に基づいて情報記録装置識別情報を生成するステップと、
前記情報記録装置識別情報に基づいてメディアユニーク鍵を生成するステップと
を備えたことを特徴とする情報記録装置の処理方法。
【請求項５】
第２コントローラ識別情報は、前記コントローラ鍵と前記第１コントローラ識別情報とに基づいて生成される請求項４に記載の情報記録装置の処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に記載の実施の形態は、情報記録装置、及び情報記録装置の処理方法に関する。
【背景技術】
【０００２】
近年、情報化社会の発展に伴い、本、新聞、音楽や動画などを電子化したコンテンツを配信し、ユーザ端末或いはユーザ端末を介して記録媒体に記録されたコンテンツをユーザ端末やＰＣ環境などで閲覧可能とするコンテンツ配信システムが広く利用されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３４１１５６号公報
【特許文献２】特開２０１０−２６８４１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下に説明する実施の形態は、公開鍵暗号をベースとした認証方式が利用される場合においても、クローンカードの蔓延を防止することを目的とする。
【課題を解決するための手段】
【０００５】
以下に説明する実施の形態の情報記録装置は、各種データを格納するメモリ部と、与えられメモリ部を制御するように構成されたコントローラと、ホスト装置とセキュアチャネルを介したデータ通信を行うためのインタフェース部とを備えている。コントローラは、コントローラ鍵及びコントローラに固有の第１コントローラ識別情報を保持している。
コントローラは、コントローラ鍵及び第１コントローラ識別情報に基づいてコントローラ毎に固有のコントローラユニーク鍵を生成するコントローラユニーク鍵生成部と、第１コントローラ識別情報に基づいて第２コントローラ識別情報を生成するコントローラ識別情報生成部と、復号器と、ホスト装置との間で認証鍵交換処理を実行する認証鍵交換処理部を備える。
【０００６】
メモリ部は、外部から自由にアクセス可能な通常記録部と、秘密記録部と、システム情報記録部とを備えている。秘密記録部は、所定の認証処理の完了を条件としてアクセス可能とされる。システム情報記録部は、公開鍵暗号方式の秘密鍵として機能するメディアデバイス鍵をコントローラユニーク鍵で暗号化した暗号化メディアデバイス鍵と、公開鍵暗号方式の公開鍵として機能するメディアデバイス鍵証明書とを格納する。
復号器は、暗号化メディアデバイス鍵をコントローラユニーク鍵を用いて復号してメディアデバイス鍵を得ることが可能に構成される。
【０００７】
認証鍵交換処理部は、メディアデバイス鍵、メディアデバイス鍵証明書、及び第２コントローラ識別情報を用いて、インタフェース部を介してホスト装置と認証鍵交換処理を行う。セキュアチャネルを確立した後、メディアデバイス鍵、メディアデバイス鍵証明書、及び第２コントローラ識別情報をセキュアチャネル及びインタフェース部を介してホスト部に送信する。
【０００８】
以下に記載する実施の形態の情報記録装置の処理方法は、情報記録装置と、ホスト装置との間で認証処理を実行する方法である。情報記録装置は、メモリ部と、このメモリ部を制御するコントローラを有している。また情報記録装置は、コントローラ鍵及び第１コントローラ識別情報を与えられ、更に公開鍵暗号方式の秘密鍵として機能するメディアデバイス鍵と、公開鍵暗号方式の公開鍵として機能するメディアデバイス鍵証明書とをメモリ部内の秘密記録部に保持する。メディアデバイス鍵は、コントローラ鍵及び第１コントローラ識別情報に基づいて生成されたコントローラユニーク鍵により暗号化されて暗号化メディアデバイス鍵として前記秘密記録部に記録される。
ホスト装置は、公開鍵暗号方式の秘密鍵として機能するホストデバイス鍵と、公開鍵暗号方式の公開鍵として機能するホストデバイス鍵証明書とを保持している。
この方法は、次のステップからなる。
（１）第１コントローラ識別情報に基づいて第２コントローラ識別情報（ＩＤｃｎｔｒ）を生成するステップ
（２）暗号化メディアデバイス鍵、メディアデバイス鍵証明書、及び第２コントローラ識別情報、並びにホストデバイス鍵及びホストデバイス証明書に基づいて認証鍵交換処理を実行して、メディアデバイス鍵証明書の中に埋め込まれたメディアデバイス鍵証明書情報及び第２コントローラ識別情報をホスト装置において取得するステップ
（３）ホスト装置が受領したメディアデバイス鍵証明書情報及び第２コントローラ識別情報に基づいて情報記録装置識別情報を生成するステップ
（４）情報記録装置識別情報に基づいてメディアユニーク鍵を生成するステップ
【図面の簡単な説明】
【０００９】
【図１】第１の実施の形態に係る情報記録システムに用いられるメモリカード１０００の構成を示すブロック図である。
【図２】図１のメモリ１００（ＮＡＮＤ型フラッシュメモリ）の構成を示す等価回路図である。
【図３】第１の実施の形態において、メモリカード１０００に対する暗号化メディアデバイス鍵及びメディアデバイス鍵証明書の書き込み方法を説明する概略図である。
【図４】第１の実施の形態に係る情報記録システムに含まれるメモリカード１０００及びホスト装置２０００の構成及び動作を示すブロック図である。
【図５】第１の実施の形態に係る情報記録システムに含まれるメモリカード１０００及びホスト装置２０００の構成及び動作を示すブロック図である。
【図６】第２の実施の形態に係る情報記録システムに含まれるメモリカード１０００及びホスト装置２０００の構成及び動作を示すブロック図である。
【図７】第２の実施の形態に係る情報記録システムの動作を示す流れ図である。
【発明を実施するための形態】
【００１０】
電子化されたコンテンツ（以下、単にコンテンツという）は、容易に複製可能なため、コンテンツに付随する著作権を無視した不正行為が生じ易い。このような不正行為からコンテンツを保護する観点から、コンテンツは通常、暗号化された上で記録媒体に記録され、正当な機器においてのみ再生時に復号される。
【００１１】
また、コンテンツを暗号化するためのコンテンツ鍵が二種類の鍵で二重に暗号化された暗号化二重鍵方式が考えられている。暗号化鍵の内、記録媒体に固有の鍵（例えば、メディアユニーク鍵）は記録媒体の秘匿領域にセキュアに記録され、記録媒体外部からはアクセスができないようになっている。このため、例えば暗号化コンテンツ鍵データのみが不正にコピーされたとしても、暗号化コンテンツ鍵を復号するために必要なメディアユニーク鍵がなければコンテンツを利用（復号）することができない。
しかし、このようなメディアユニーク鍵が何らかの手法によって不正に読み出され、不正記録媒体（カード）製造業者に渡されると、正規の記録媒体（カード）をコピーしたクローンカードが出回る結果となり、コンテンツデータが不正に利用されることが起こり得る。
【００１２】
以下、図面を参照しながら本発明の実施形態を説明する。
【００１３】
［第１の実施形態］
図１は、第１の実施の形態による情報記録システムに用いられるメモリカード（不揮発性メモリシステム）１０００の構成を示す。このメモリカード１０００は、コンテンツデータを暗号化して格納することが可能に構成されている。なお、不揮発性メモリシステムは必ずしもメモリカードの形状である必要はなく、ホスト装置２０００からメモリカード１０００が着脱不可能な態様で実装されていてもよい。
また、このメモリカード１０００は、ホスト装置２０００（図１では図示せず）に接続可能に構成され、このホスト装置２０００との間で所定の認証鍵交換処理を実行可能に構成されている。認証鍵交換処理が完了すると、ホスト装置２０００からメモリカード１０００のシステム情報記録部及び秘密記録部にデータを書き込み或いは読み出しが可能になる。また、ホスト装置２０００又はこれに接続される再生装置により、メモリカード１０００に格納されている暗号化コンテンツデータの復号に必要なデータの読み出しが可能となり，コンテンツデータの再生が可能になる。
【００１４】
そして、本実施の形態のメモリカード１０００は、ホスト装置２０００との間の認証鍵交換処理のために、公開鍵暗号方式の秘密鍵であるメディアデバイス鍵Ｋｍｄ＿ｉと、公開鍵暗号方式の公開鍵を含んでいるメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａを格納可能に構成されている。詳しくは後述する。
【００１５】
このメモリカード１０００は、ＮＡＮＤ型フラッシュメモリ１００（以下、メモリ１００という）と、そのメモリ１００における読み出し動作／書き込み動作を制御するコントローラ２００により構成される。ここでは、メモリ１００の一例としてＮＡＮＤ型フラッシュメモリを採用する場合について説明するが、データを不揮発に記憶することができる他のメモリ装置（磁気ディスクドライブ装置、抵抗変化メモリ、強誘電体メモリ、磁気抵抗メモリ、相変化メモリ等）をメモリ１００として採用することも可能である。
【００１６】
コントローラ２００は、メモリ１００との間でデータ転送を行うためのＮＡＮＤフラッシュインタフェース２０１、ホスト装置２０００等の外部装置との間でデータ転送を行うためのホストインタフェース２０２、読み出し／書き込みデータ等を一時保持するバッファＲＡＭ２０３、データ転送制御を行うＭＰＵ２０４、ＮＡＮＤ型フラッシュメモリ２１内のファームウェア（ＦＷ）の読み出し／書き込みのシーケンス制御等に用いられるハードウェアシーケンサ２０５、復号器２０６、及び暗号化器２０７、及びヒューズ回路２０８を有する。
【００１７】
ＮＡＮＤフラッシュインタフェース２０１は、誤り訂正回路（ＥＣＣ）を含んでいる。ＮＡＮＤフラッシュインタフェース２０１は、ＮＡＮＤフラッシュメモリにデータを書き込む際に、誤り訂正回路を用いて誤り訂正符号を計算し、データ及び誤り訂正符号をＮＡＮＤフラッシュメモリ２１に書き込む。また、ＮＡＮＤフラッシュインタフェース２０１は、ＮＡＮＤフラッシュメモリからデータを読み出す際に、データ及び誤り訂正符号からシンドロームを計算し、所定の誤り訂正能力範囲内でデータの誤りを訂正する。
【００１８】
コントローラ２００にとって必要なファームウェア（ＦＷ）は、電源投入後自動的に実行される初期化動作（パワーオン・イニシャルセットアップ動作）において、メモリ１００から自動的に読み出されて、データレジスタ（バッファＲＡＭ）２０３に転送される。この読み出し制御は、ハードウェアシーケンサ２０５により行われる。なお、ファームウェアは、コントローラ２００内のＲＯＭに格納されていてもよい。この実施の形態でのファームウェアは、後述するように、一方向性変換器２１１、ＩＤ生成器２１２、認証鍵交換処理部２１３などを含む。
【００１９】
ヒューズ回路２０８は、コントローラ鍵Ｋｃ、及びコントローラ２０を識別するためのコントローラユニークＩＤ（ＩＤｃｕ）を記憶している。コントローラ鍵ＫｃとコントローラユニークＩＤ（ＩＤｃｕ）は、後述するようにコントローラユニーク鍵Ｋｃｕを生成するのに用いられる。コントローラユニーク鍵Ｋｃｕは、前述のメディアデバイス鍵Ｋｍｄ＿ｉをメモリカード１０００のシステム情報記録部１０３に記録する際に暗号化するのに用いられる。コントローラユニーク鍵Ｋｃｕは、一方向性変換器２１１において、コントローラ鍵ＫｃとコントローラユニークＩＤ（ＩＤｃｕ）を入力値として生成される。すなわち、一方向性変換器２１１は、コントローラユニーク鍵を生成するためのコントローラユニーク鍵生成部の一態様である。
【００２０】
また、ＩＤ生成器２１２（コントローラ識別情報生成部）は、コントローラ鍵ＫｃとコントローラユニークＩＤ（ＩＤｃｕ）を入力値として、外部に送信される公開コントロールユニークＩＤ（ＩＤｃｎｔｒ）を生成する。
認証鍵交換処理部２１３は、メディアデバイス鍵Ｋｍｄ＿ｉ、及びメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａに基づいてホスト装置２０００との間で認証鍵交換処理を実行する。
【００２１】
メモリ１００は、図２に示すように、複数の電気的書き換え可能な複数の不揮発性メモリセル（図の例では３２個のメモリセル）Ｍ０−Ｍ３１が直列接続されたＮＡＮＤセルユニット（ＮＡＮＤストリング）ＮＵを配列して構成される。
【００２２】
ＮＡＮＤセルユニットＮＵの一端は、選択ゲートトランジスタＳ１を介してビット線ＢＬｏ，ＢＬｅに、他端は選択ゲートトランジスタＳ２を介して共通ソース線ＣＥＬＳＲＣに接続される。メモリセルＭ０−Ｍ３１の制御ゲートはそれぞれワード線ＷＬ０−ＷＬ３１に接続され、選択ゲートトランジスタＳ１，Ｓ２のゲートは選択ゲート線ＳＧＤ，ＳＧＳに接続される。
【００２３】
ワード線方向に配列されるＮＡＮＤセルユニットの集合が、データ消去の最小単位となるブロックを構成し、図示のようにビット線の方向に複数のブロックＢＬＫ０−ＢＬＫｎ−１が配置される。複数のブロックＢＬＫのうち、一部は、ユーザが特別の認証処理無しに自由にアクセス可能な通常記録部１０１として設定されており、他の一部は一定の認証鍵交換処理の後にアクセスが可能になる秘密記録部１０２として設定されており、更に別の一部は予め決められた情報をメモリカード製造時に記録しておくシステム情報記録部１０３として設定されている。通常記録部１０１、秘密記録部１０２、システム情報記録部１０３は、それぞれ論理アドレスを割り当てられている。秘密記録部１０２の論理アドレスの指定は、後述する認証鍵交換処理が完了した場合にのみ許容される。
【００２４】
なお、通常記録部１０１には、１つのメモリセルに２ビット以上のデータを格納することができる。一方、秘密記録部１０２及びシステム情報記録部１０３は、そのデータ信頼性を確保する観点から、１つのメモリセルに１ビットのデータのみを格納可能とすることができる。また、通常記録部１１においては論理アドレスと物理アドレスとの対応関係がデータ更新に伴い動的に変更されるが、秘密記録部１２及びシステム情報記録部１０３については、そのデータ信頼性を確保する観点から、論理アドレスと物理アドレスとの対応関係を静的に固定するよう制御してもよい。
【００２５】
ビット線ＢＬｅ，ＢＬｏの一端側に、セルデータの読み出し及び書き込みに供させるセンスアンプ回路３が配置され、ワード線の一端側にワード線及び選択ゲート線の選択駆動を行うロウデコーダ２が配置される。図では、隣接する偶数番ビット線ＢＬｅと奇数番ビット線ＢＬｏがビット線選択回路により選択的にセンスアンプ回路３の各センスアンプＳＡに接続される場合を示している。
【００２６】
次に、図３を参照して、メモリカード１０００の製造工程、及び、図１のメディアデバイス鍵Ｋｍｄ＿ｉ、及びメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａを書き込む方法を説明する。
メモリカード１０００に書き込むメディアデバイス鍵Ｋｍｄ_ｉ及びメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａは鍵発行／管理センタ３０００からメモリカード製造業者Ｃに提供され、コントローラ２００を介してメモリカード１０００を構成しているメモリ１００のシステム情報記録部１０３に書き込まれる。なお、図１では省略しているが、メモリカード１０００は、所定の通信機能を有する機器（パソコン、携帯電話端末、公衆端末など）に接続される。このような通信機能を有する機器を介して、鍵発行／管理センタ３０００から発行されたデータがメモリカード１０００に書き込まれる。
【００２７】
前述したように、メディアデバイス鍵Ｋｍｄ＿ｉは公開鍵暗号方式の秘密鍵であり、一方、メディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａは秘密鍵としてのメディアデバイス鍵Ｋｍｄ＿ｉに対応した公開鍵を含むデータである。メディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａには、証明書固有の識別情報であるメディアデバイス鍵証明書ＩＤ（ＩＤｍ_ｃｅｒｔ）も埋め込まれている。
【００２８】
メモリカード１０００の製造においては、コントローラ２００はコントローラ製造業者Ａから、メモリ１００はメモリ製造業者Ｂからメモリカード製造業者Ｃに提供される。なお、製造業者Ａ，Ｂ、Ｃのいずれかまたは全てが同一企業である場合もある。メモリカード１０００が動作可能な状態とされるために、メモリカード製造業者Ｃは、メモリ１００に必要な情報を書き込む。
【００２９】
コントローラ製造業者Ａはコントローラ２００の製造時において、コントローラ２００の内部に、秘匿情報としてコントローラ鍵Ｋｃ及びコントローラユニークＩＤ（ＩＤｃｕ）を書き込む。コントローラ鍵Ｋｃは、製造工程上の理由等から、複数のコントローラ２００で共通の鍵とされることがある。一方、コントローラユニークＩＤは、コントローラ２００毎に異なっており、あるコントローラ２００内で生成されるコントローラユニーク鍵と、別のコントローラ２００内で生成されるコントローラユニーク鍵とは必ず異なる。
【００３０】
コントローラ製造業者Ａは、鍵発行／管理センタ３０００に、コントローラ２００に付与したコントロール鍵Ｋｃのデータを開示する。なお、コントローラ鍵Ｋｃは、ＰＧＰ暗号などを用いて、コントローラ製造業者Ａから鍵発行／管理センタ３０００に送信することができる。
鍵発行／管理センタ３０００は、メディアデバイス鍵Ｋｍｄ＿ｉやメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａを生成する鍵生成部３００２と、生成したメディアデバイス鍵Ｋｍｄ＿ｉ及びメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａを管理するデバイス鍵データベース３００１と、コントローラ製造業者Ａから受け取ったコントローラ鍵Ｋｃを用いてメディアデバイス鍵Ｋｍｄ＿ｉを暗号化する暗号化部３００３を備えている。
【００３１】
コントロール鍵Ｋｃは、鍵発行／管理センタ３０００において、メディアデバイス鍵Ｋｍｄ＿ｉを暗号化するのに用いられる。メディアデバイス鍵Ｋｍｄ＿ｉは、鍵生成器３００２で生成された後、デバイス鍵データベース３００１に格納される。暗号化器３００３は、デバイス鍵データベース３００１から対応するメディアデバイス鍵Ｋｍｄ＿ｉを供給され、これをコントローラ鍵Ｋｃで暗号化して暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃ、Ｋｍｄ＿ｉ）を生成する。
【００３２】
コントローラ鍵Ｋｃは、コントローラ製造業者Ａと鍵発行／管理センタ３０００しか知りえない情報である。しかし、何らかの事故や事情によってコントローラ鍵Ｋｃの情報が外部に漏れた時の被害を軽減するためには、例えば生産ロット毎など、一定量のコントローラ単位で変更することが望ましい。
【００３３】
なお、鍵生成器３００２やデバイス鍵データベース３００１では、メモリカード１０００用のメディアデバイス鍵Ｋｍｄ＿ｉやメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａだけでなく、後述するホスト装置２０００用のホストデバイス鍵Ｋｈｄ＿ｉやホストデバイス証明書Ｃｅｒｔｈｏｓｔも同様に生成・管理する。
【００３４】
メモリカード製造業者Ｃは、コントローラ製造業者Ａからコントローラ２００の供給を受けると共に、当該コントローラ２００向けに暗号化されたメディアデバイス鍵（暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃ、Ｋｍｄ＿ｉ）、及びそれに対応するメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａを鍵発行／鍵管理センタ３０００から受け取る。所望の暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃ、Ｋｍｄ＿ｉ）を受け取るためには、例えばコントローラ２００の型番や製造ロット番号などを提示することで正しいコントローラ鍵Ｋｃで暗号化されたメディアデバイス鍵を受け取ることが可能である。
【００３５】
暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃ、 Ｋｍｄ＿ｉ）は、コントローラ２００のバッファＲＡＭ２０３に一旦書き込まれる。すると、コントローラ２００は当該暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃ、 Ｋｍｄ＿ｉ）を復号器２０６において自らが有するコントローラ鍵Ｋｃを用いて復号する。これによりコントローラ２００においてメディアデバイス鍵Ｋｍｄ＿ｉが得られる。
【００３６】
一方、一方向性変換器２１１は、コントローラ２００に保持されているコントローラ鍵ＫｃとコントローラユニークＩＤ（ＩＤｃｕ）を入力値として一方向性関数を演算し、コントローラユニーク鍵Ｋｃｕを生成する。この新たに生成されたコントローラユニーク鍵Ｋｃｕを用いてメディアデバイス鍵Ｋｍｄ＿ｉを再び暗号化器２０７において暗号化し、暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃｕ、 Ｋｍｄ＿ｉ）を生成する。この暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃｕ、Ｋｍｄ＿ｉ）はメモリ製造業者Ｂから供給されたメモリ１００のシステム情報記録部１０３に格納される。この時書き込んだ暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃｕ、Ｋｍｄ＿ｉ）に対応するメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａも同様にシステム情報記録部１０３に格納される。
【００３７】
コントローラユニーク鍵（Ｋｃｕ）は、コントローラ２００内に秘匿されているコントローラ鍵Ｋｃ及びコントローラユニークＩＤ（ＩＤｃｕ）を用いて生成される。このため、暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃｕ、Ｋｍｄ＿ｉ）の復号に必要な情報が外部に漏れる危険は少なく、一旦メモリ１００に書き込まれた暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃｕ、Ｋｍｄ＿ｉ）を別個のコントローラ２００で利用可能な状態とするため、不正に再暗号化（元のコントローラユニーク鍵Ｋｃｕ１で復号後に、別のコントローラユニーク鍵Ｋｃｕ２で暗号化）することは非常に困難となっている。
【００３８】
この第１の実施の形態では、コントローラ鍵ＫｃとコントローラユニークＩＤ（ＩＤｃｕ）からコントローラユニーク鍵Ｋｃｕを生成する際に一方向性関数を用いているが、２つの入力データから１つの出力データを生成することのできる関数であればよく、特に一方向性関数に限定されるものではない。
【００３９】
次に、図４を参照して、第１の実施の形態の情報記録システムの全体構成及び動作を説明する。上記のようにして暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃｕ、Ｋｍｄ＿ｉ）及びメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａを与えられたメモリカード１０００は、図４に示すように、ホスト装置２０００に接続されることにより、コンテンツデータＣをホスト装置２０００から書き込まれたり、或いは取り込まれたコンテンツデータＣをホスト装置２０００に向けて出力したりすることができる。このメモリカード１０００と、ホスト装置２０００とにより、１つの情報記録システムが構成される。
【００４０】
ここで、ホスト装置２０００の構造について説明する。ホスト装置２０００は、保持部４０１、認証鍵交換処理部４０２、ＩＤ結合部４０３、一方向性変換器４０４、乱数生成器４０５、暗復号器４０６、暗復号器４０７を備えている。
【００４１】
保持部４０１は、前述したホストデバイス鍵Ｋｈｄ＿ｊ、及びホストデバイス証明書Ｃｅｒｔｈｏｓｔを格納している。ホストデバイス鍵Ｋｈｄ＿ｊは、公開鍵暗号方式の秘密鍵であり、ホストデバイス証明書Ｃｅｒｔｈｏｓｔは、ホストデバイス鍵Ｋｈｄ＿ｊと対をなす公開鍵を含むデータである。
【００４２】
認証鍵交換処理部４０２は、インタフェース部５００、２０２及びセキュアチャネルを介して、メモリカード１０００の認証鍵交換処理部２１３との間で認証鍵交換処理を実行してメディアデバイス鍵証明書ＩＤ（ＩＤｍ＿ｃｅｒｔ）を出力する機能を有する。また、ＩＤ結合部４０３は、公開コントローラユニークＩＤ（ＩＤｃｎｔｒ）とメディアデバイス鍵証明書ＩＤ（ＩＤｍ＿ｃｅｒｔ）とに基づきメモリカードユニークＩＤ（ＩＤｍｃ）を生成するよう構成されている。このＩＤ結合部４０３は、コントローラユニークＩＤ（ＩＤｃｎｔｒ）及びメディアデバイス鍵証明書ＩＤ（ＩＤｍ＿ｃｅｒｔ）に基づいてメモリカードユニークＩＤ（ＩＤｍｃ）を生成する識別情報生成部として機能する。このＩＤ結合部４０３は、単に２つのＩＤを結合することにより別の新規のＩＤを生成するものである。このような単なる結合に代えて、例えば一方向性関数や暗号アルゴリズムを用いて新しいＩＤを生成してもよい。
【００４３】
一方向性変換器４０４は、このメモリカードユニークＩＤ（ＩＤｍｃ）、乱数生成器４０５によって生成されたメディア鍵Ｋｍを入力とした一方向性関数により、メディアユニーク鍵Ｋｍｕを生成する。乱数生成器４０５は、乱数を発生させて、取得された乱数に基づいてメディア鍵Ｋｍ及びタイトル鍵Ｋｔを生成する。暗復号器４０６は、上述のメディアユニーク鍵Ｋｍｕによりタイトル鍵Ｋｔを暗号化する。また、暗復号器４０７は、タイトル鍵ＫｔによりコンテンツデータＣを暗号化する（暗号化コンテンツデータＥｎｃ（Ｋｔ、Ｃ）を取得する）。
【００４４】
なお、メディアユニーク鍵Ｋｍｕは、ホスト装置２０００によって生成され、本実施の形態では、タイトル鍵Ｋｔの暗号化のための暗号化鍵として使用されている。従来のコンテンツ保護技術と同様に、秘密記録部１０２に記録するメディアユニーク鍵ＫｍｕをコンテンツデータＣの暗号化に直接利用するなどの形態も可能である。また、メディアユニーク鍵Ｋｍｕでユーザに固有のユーザ鍵Ｋｕを暗号化し、ユーザ鍵Ｋｕで更にコンテンツ鍵Ｋｃｔを暗号化し、更にコンテンツ鍵Ｋｃｔでコンテンツデータを暗号化する二重暗号化方式にも適用可能である。
また、メディア鍵Ｋｍやタイトル鍵Ｋｔはホスト装置内で生成されるだけでなく、予めメモリカードに書き込まれている場合や外部装置（図示せず）から与えられる場合もある。
【００４５】
次に、このようなホスト装置２０００から、メモリカード１０００に対してコンテンツデータＣの書き込む場合の動作を、図４を参照して説明する。  最初に、メモリカード１０００は、一方向性関数器２１１を用いて、コントローラ鍵ＫｃとコントローラユニークＩＤ（ＩＤｃｕ）からコントローラユニーク鍵Ｋｃｕを生成する。そして、このコントローラユニーク鍵Ｋｃｕを用いて、暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃｕ、Ｋｍｄ＿ｉ）を復号してメディアデバイス鍵Ｋｍｄ＿ｉを得る。このメディアデバイス鍵Ｋｍｄ＿ｉとメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａは、認証鍵交換処理部２１３に転送される。
【００４６】
一方、ホスト装置２０００は、ホストデバイス鍵Ｋｈｄ＿ｊとホストデバイス鍵証明書Ｃｅｒｔｈｏｓｔを認証鍵交換処理部４０２に転送する。これにより、認証鍵交換処理部２１３及び４０２において認証鍵交換処理が実行される。処理が完了すると、メモリカード１０００とホスト装置２０００との間にセキュアチャネルが確立される。なお、セキュアチャネルが確立されると、ＩＤ生成器２１２は、自身が生成した公開コントローラユニークＩＤ（ＩＤｃｎｔｒ）をインタフェース部を介してセキュアチャネルを通して出力可能になる。
【００４７】
セキュアチャネルが確立されると、ＩＤ生成器４０３は、公開コントローラユニークＩＤ（ＩＤｃｎｔｒ）とメディアデバイス鍵証明書ＩＤ（ＩＤｍ＿ｃｅｒｔ）とを結合させてメモリカードユニークＩＤ（ＩＤｍｃ）を生成する。
【００４８】
ホスト装置２０００は、乱数生成器４０５によりメディア鍵（Ｋｍ）を生成し、生成したメディア鍵Ｋｍをセキュアチャネル及びインタフェース部５００、２０２経由でメモリカード１０００の秘密記録部１０２に記録する。
【００４９】
ホスト装置２０００は、一方向性変換器４０４を用いてメディア鍵ＫｍとメモリカードユニークＩＤ（ＩＤｍｃ）からメディアユニーク鍵Ｋｍｕを生成する。
【００５０】
ホスト装置２０００は、乱数生成器４０５を用いてタイトル鍵Ｋｔを生成し、更に暗復号器４０６を用いてタイトル鍵Ｋｔをメディアユニーク鍵Ｋｍｕで暗号化し、暗号化タイトル鍵Ｋｔｅ＝Ｅｎｃ（Ｋｍｕ，Ｋｔ）をメモリカード１００の通常記録部１０１に記録する。また、ホスト装置２０００は、タイトル鍵Ｋｔを用いてコンテンツデータＣを暗号化し、暗号化コンテンツデータＣｅ＝ Ｅｎｃ（Ｋｔ、 Ｃ））をメモリカード１０００の通常記録部１０１に記録する。以上により、コンテンツデータＣの記録動作が完了する。
【００５１】
次に、メモリカード１０００からホスト装置２０００に対し、コンテンツデータＣを読み出す場合の動作を、図５を参照して説明する。認証鍵交換処理部２１３、４０２による認証鍵交換処理、及びＩＤ結合部４０３における動作は、書き込み動作の場合（図４）と略同一である。
【００５２】
認証鍵交換処理が完了し、セキュアチャネルが確立されると、秘密記録部１０２及びシステム情報記録部１０３へのアクセスが可能になり（すなわち、秘密記録部１０２及びシステム情報記録部１０３の論理アドレスの指定が可能になる）、メモリカード１０００の秘密記録部１０２に記録されているメディア鍵Ｋｍが、セキュアチャネルを介してホスト装置２０００の一方向性変換器４０４に提供される。一方向性変換器４０４は、このメディア鍵Ｋｍと、前述のメモリカードユニークＩＤ（ＩＤｍｃ）とを用いてメディアユニーク鍵Ｋｍｕを生成する。暗復号器４０７は、このメディアユニーク鍵Ｋｍｕを用いて、メモリカード１００に格納されている暗号化タイトル鍵Ｅｎｃ（Ｋｍｕ、Ｋｔ）を復号してタイトル鍵Ｋｔを得る。そして、この得られたタイトル鍵Ｋｔを用いて、メモリカード１００に格納されている暗号化コンテンツデータＥｎｃ（Ｋｔ、Ｃ）を復号してコンテンツデータＣを得る。
【００５３】
以上説明したように、この実施の形態では、公開鍵暗号方式に従ったメディアデバイス鍵Ｋｍｄ＿ｉ及びメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａが認証鍵交換処理に用いられる。しかし、コントローラ２００のコントローラ鍵Ｋｃ及びコントローラユニーク鍵Ｋｃｕに基づいてコントローラユニークＩＤ（ＩＤｃｎｔｒ）が生成される、このコントローラユニークＩＤ（ＩＤｃｎｔｒ）は、セキュアチャネルを介してホスト装置２０００に供給される。セキュアチャネルを介しての送信であるため、コントローラユニークＩＤ（ＩＤｃｎｔｒ）が外部に漏れることはなく、改竄も防止されている。また、このコントローラユニークＩＤ（ＩＤｃｎｔｒ）とメディアデバイス鍵証明書ＩＤ（ＩＤｍ＿ｃｅｒｔ）とに基づいて、ＩＤ結合部４０３により、メモリカードユニークＩＤ（ＩＤｍｃ）が生成される。このメモリカードユニークＩＤ（ＩＤｍｃ）に基づいて、メモリカード１０００内のメモリ１００のメディアユニーク鍵Ｋｍｕが生成される。このように、本実施の形態によれば、公開鍵暗号方式による認証鍵交換処理を行った場合においても、公開鍵・秘密鍵のペアとコントローラ２００に固有のコントローラユニークＩＤ（ＩＤｃｎｔｒ）を互いに関連付けることができ、これによりクローンカードの蔓延を防止することができる。
【００５４】
［第２の実施形態］
図６は、第２の実施の形態による情報記録システムの構成を示すブロック図である。メモリカード１０００のハードウエア構成は図１、図２に示したものと同様で良いので、以下では説明は省略する。本実施の形態では、図６に示すように、認証鍵交換処理部２１３の動作が異なっている。すなわち、ここでの認証鍵交換処理部２１３は、ＩＤ生成器２１２で生成されたコントローラユニークＩＤ（ＩＤｃｎｔｒ）を、直接ホスト装置２０００に送信するのではなく、コントローラ２００内の認証鍵交換処理部２１３に送信する。そして、このコントローラユニークＩＤ（ＩＤｃｎｔｒ）は、認証鍵交換処理のパラメータの１つとして用いられる。認証鍵交換処理が完了すると、コントローラユニークＩＤ（ＩＤｃｎｔｒ）は、メディアデバイス鍵証明書ＩＤ（ＩＤｍ＿ｃｅｒｔ）と共にＩＤ結合部４０３に送信される。以後の動作は、第１の実施の形態と略同様である。
【００５５】
図７は、楕円曲線暗号をベースとした標準的な認証鍵交換を用いた場合の動作手順を説明している。
【００５６】
ホスト装置は乱数ＲＮｈを生成（ステップＳ１）し，ホストデバイス鍵証明書Ｃｅｒtｈｏｓｔと共にメモリカード１０００に送る（ステップＳ２）。メモリカード１０００は受信したホストデバイス鍵証明書Ｃｅｒｔｈｏｓｔに付けられているデジタル署名を検証すると共に乱数ＲＮｍを生成する（ステップＳ３）。
【００５７】
続いて、メモリカード１０００は乱数ＲＮｍとメディアデバイス鍵証明書（Ｃｅｒtｍｅｄｉａ）をホスト装置に送る（ステップＳ４）。これを受けて、ホスト装置２０００は受信したメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａに付けられているデジタル署名を検証する。なお、メモリカード１０００はステップＳ４の処理を行うと共に，楕円曲線暗号におけるＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵交換処理に必要な乱数Ｍｋを生成し、楕円曲線のベースポイントＧを用いてチャレンジ用の値Ｍｖ（＝Ｍｋ＊Ｇ）を計算する。そして、ＩＤ生成器２１２でＩＤｃｎｔｒを生成し、メディアデバイス鍵Ｋｍｄ＿ｉを用いてチャレンジ用の値Ｍｖ、ステップＳ２で受け取った乱数ＲＮｈ及びコントローラユニークＩＤ（ＩＤｃｎｔｒ）に対するデジタル署名を生成する（ステップＳ６）。メモリカード１０００はステップＳ６で生成したチャレンジ用の値Ｍｖ、コントローラユニークＩＤ（ＩＤｃｎｔｒ）およびデジタル署名をホスト装置２０００に送る（ステップＳ７）。
【００５８】
ホスト装置２０００はステップＳ７で受信した署名を検証し、楕円曲線暗号におけるＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵交換処理に必要な乱数Ｈｋを生成し、楕円曲線のベースポイントＧを用いてチャレンジ用の値Ｈｖ（＝Ｈｋ＊Ｇ）を計算する。そして、ホストデバイス鍵Ｋｈｄ_jを用いてチャレンジ用の値Ｈｖ及びステップＳ４で受け取った乱数ＲＮｍに対するデジタル署名を生成すると共に、本認証鍵交換処理によって共有される共有鍵Ｋｓ（＝Ｈｋ＊Ｍｖ）を計算する（ステップＳ８）。ホスト装置２０００はステップＳ８で生成したチャレンジ用の値Ｈｖおよびデジタル署名をメモリカード１０００に送る（ステップＳ９）。これを受けてメモリカード１０００はステップＳ９で受け取ったデジタル署名を検証し、共有鍵Ｋｓ（＝Ｍｋ＊Ｈｖ）を計算する。上記処理のデジタル署名検証処理において署名が正しく検証できなかった場合には，何れのステップにおいてもそれ以降の処理を中止する。
以上の認証鍵交換処理を行うことにより、ホスト装置とメモリカードは共有鍵を秘密裏に共有することができる。認証鍵交換処理においてはホスト装置とメモリカードが互いに生成したチャレンジを用いて共有鍵が計算されるため、共有鍵の値は認証鍵交換処理のたびに異なる。
【００５９】
以上、本発明のいくつかの実施の形態を説明したが、これらの実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。例えば、上記実施の形態においては、ＩＤ生成器２１２において、コントローラ鍵ＫｃとコントローラユニークＩＤ（ＩＤｃｕ）の対に基づいてコントローラユニークＩＤ（ＩＤｃｎｔｒ）を生成している。しかし、これに代えて、コントローラユニークＩＤ（ＩＤｃｕ）のみに基づいてコントローラユニークＩＤ（ＩＤｃｎｔｒ）を生成してもよい。コントローラ２００が秘匿しているコントローラユニークＩＤ（ＩＤｃｕ）を秘匿した状態のまま、外部に開示可能な別の固有情報を生成することができれば、用いられるパラメータは不問である。ただし、生成に用いる関数は、一方向性関数など、不可逆的であり、得られたコントロールユニークＩＤ（ＩＤｃｎｔｒ）から逆計算を行って元のコントロールユニークＩＤ（ＩＤｃｕ）が求められないようなものを選択する必要がある。
【符号の説明】
【００６０】
１０００・・・メモリカード、  ２０００・・・ホスト装置、  ３０００・・・鍵発行／管理センタ、  １００・・・メモリ、  ２００・・・コントローラ。
【図１】
2012235312.tif 000003
【図２】
2012235312.tif 000004
【図３】
2012235312.tif 000005
【図４】
2012235312.tif 000006
【図５】
2012235312.tif 000007
【図６】
2012235312.tif 000008
【図７】
2012235312.tif 000009
【手続補正書】
【提出日】平成24年7月23日(2012.7.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
鍵情報を用いて認証を行うメディアとホストとの間の認証システムにおいて、
前記メディアは、メモリと該メモリを制御するコントローラとを備えるとともに、メディア鍵情報（Ｋｍｄ＿ｉ）と、メディア証明情報（Ｃｅｒｔｍｅｄｉａ）と、コントローラ鍵情報（Ｋｃ）と、コントローラ識別情報（ＩＤｃｕ）とを格納し、
前記ホストは、ホスト鍵情報（Ｋｈｄ＿ｉ）と、ホスト証明情報（Ｃｅｒｔｈｏｓｔ）とを格納し、
前記ホストは、
第１乱数（ＲＮｈ）を生成し、該第１乱数（ＲＮｈ）と前記ホスト証明情報（Ｃｅｒｔｈｏｓｔ）とを前記メディアに送り、
前記メディアは、
前記ホストから送られた前記ホスト証明情報（Ｃｅｒｔｈｏｓｔ）に付けられている第１署名情報を検証し、
第２乱数（ＲＮｍ）と楕円曲線暗号に基づき計算される第３乱数（Ｍｋ）とを生成し、該第３乱数（Ｍｋ）と楕円曲線のベースポイント（Ｇ）とを用いて第１値（Ｍｖ）を計算し、
前記コントローラ鍵情報（Ｋｃ）と前記コントローラ識別情報（ＩＤｃｕ）とに基づいて一方向性関数演算を実行し、ユニークＩＤ情報（ＩＤｃｎｔｒ）を生成し、
前記メディア鍵情報（Ｋｍｄ＿ｉ）を用いて前記第１乱数（ＲＮｈ）、前記第１値（Ｍｖ）、及び前記ユニークＩＤ情報（ＩＤｃｎｔｒ）に対して署名処理を実施し、
前記第１乱数（ＲＮｈ）、前記第１値（Ｍｖ）、前記ユニークＩＤ情報（ＩＤｃｎｔｒ）、及び前記メディア証明情報（Ｃｅｒｔｍｅｄｉａ）を前記ホストに送り、
前記ホストは、
前記メディアから送られた前記メディア証明情報（Ｃｅｒｔｍｅｄｉａ）に付けられている第２署名情報を検証する
ことを特徴とする認証システム。
【請求項２】
請求項１に記載の認証システムにおいて、
前記メディアは、前記第１署名情報の検証が失敗した場合、該検証以降の処理を中止する認証システム。
【請求項３】
請求項１または請求項２に記載の認証システムにおいて、
前記ホストは、前記第２署名情報の検証が失敗した場合、該検証以降の処理を中止する認証システム。
【請求項４】
請求項１または請求項３に記載の認証システムにおいて、
前記ホストは、
楕円曲線暗号に基づき計算される第４乱数（Ｈｋ）を生成し、該第４乱数（Ｈｋ）と楕円曲線のベースポイント（Ｇ）とを用いて第２値（Ｈｖ）を計算し、
前記ホスト鍵情報（Ｋｈｄ＿ｉ）を用いて、前記第２乱数（ＲＭｍ）、前記第２値（Ｈｖ）に対して署名処理を実施し、
前記メディアとの鍵交換処理で共有される共有鍵情報を生成する認証システム。
【請求項５】
請求項４に記載の認証システムにおいて、
前記共有鍵情報は、前記第３乱数（Ｍｋ）と前記第２値（Ｈｖ）とに基づき生成される認証システム。
【請求項６】
請求項４に記載の認証システムにおいて、
前記ホストは、
前記第２値（Ｈｖ）を前記メディアに送り、
前記メディアは、前記第３乱数（Ｍｋ）と前記第２値（Ｈｖ）とに基づき新たに共有鍵情報を生成する認証システム。
【請求項７】
請求項４または請求項６に記載の認証システムにおいて、
前記共有鍵情報は、前記鍵交換処理の実施のたびに異なる値となる認証システム。
【請求項８】
ホスト証明情報を有したホストと、メディア鍵情報とメディア証明情報とコントローラ鍵情報とコントローラ識別情報とを有したメディアとの間の認証システムにおいて、
前記ホストは、
第１乱数を生成し、該第１乱数と前記ホスト証明情報とを前記メディアに送り、
前記メディアは、
前記ホストから送られた前記ホスト証明情報に付けられている第１署名情報を検証し、
第２乱数と楕円曲線暗号に基づき計算される第３乱数とを生成し、該第３乱数と楕円曲線のベースポイントとを用いて第１値を計算し、
前記コントローラ鍵情報と前記コントローラ識別情報とに基づいて一方向性関数演算を実行し、ユニークＩＤ情報を生成し、
前記メディア鍵情報を用いて前記第１乱数、前記第１値、及び前記ユニークＩＤ情報に対して署名処理を実施し、
前記第１乱数、前記第１値、前記ユニークＩＤ情報、及び前記メディア証明情報を前記ホストに送る
ことを特徴とする認証システム。
【請求項９】
ホストとメディアとの間の認証システムにおいて、
前記メディアは、メディア鍵情報とコントローラ鍵情報とコントローラ識別情報とを有するとともに、
乱数と楕円曲線暗号に基づく値を計算し、
前記コントローラ鍵情報と前記コントローラ識別情報とに基づいて一方向性関数演算を実行し、ユニークＩＤ情報を生成し、
前記メディア鍵情報を用いて前記乱数、前記楕円曲線暗号に基づく値、及び前記ユニークＩＤ情報に対して署名処理を実施し、これらを含む情報を前記ホストに送ることを特徴とする認証システム。
【請求項１０】
ホスト鍵情報（Ｋｈｄ＿ｉ）と、ホスト証明情報（Ｃｅｒｔｈｏｓｔ）とが格納され、
第１乱数（ＲＮｈ）を生成し、該第１乱数（ＲＮｈ）と、第１署名情報が付けられた前記ホスト証明情報（Ｃｅｒｔｈｏｓｔ）とをメディアに送り、
前記メディアから、前記第２乱数（ＲＮｍ）、楕円曲線のベースポイント（Ｇ）と該第２乱数（ＲＮｍ）に基づき計算される第３乱数（Ｍｋ）とを用いて計算された前記第１値（Ｍｖ）、前記メディアに格納されたコントローラ鍵情報（Ｋｃ）とコントローラ識別情報（ＩＤｃｕ）とに基づいて一方向性関数演算を実行して生成されたユニークＩＤ情報（ＩＤｃｎｔｒ）、及び前記メディアに格納されたメディア証明情報（Ｃｅｒｔｍｅｄｉａ）を受け、
前記メディアから送られた前記メディア証明情報（Ｃｅｒｔｍｅｄｉａ）に付けられている第２署名情報を検証し、
楕円曲線暗号に基づき計算される第４乱数（Ｈｋ）を生成し、該第４乱数（Ｈｋ）と楕円曲線のベースポイント（Ｇ）とを用いて第２値（Ｈｖ）を計算し、
前記ホスト鍵情報（Ｋｈｄ＿ｉ）を用いて、前記メディアから送られた前記第２乱数（ＲＭｍ）、前記第２値（Ｈｖ）に対して署名処理を実施し、
前記メディアとの鍵交換処理で共有される共有鍵情報を生成する
ことを特徴とするホスト。
【請求項１１】
請求項１０に記載のホストにおいて、
前記第２署名情報の検証が失敗した場合、該検証以降の処理を中止するホスト。
【請求項１２】
請求項１０または請求項１１に記載のホストにおいて、
前記共有鍵情報を、前記第４乱数（Ｈｋ）と前記第１値（Ｍｖ）とに基づき生成するホスト。
【請求項１３】
請求項１２に記載のホストにおいて、
前記第２値（Ｈｖ）を前記メディアに送り、
前記メディアに、前記第３乱数（Ｍｋ）と前記第２値（Ｈｖ）とに基づき新たに共有鍵情報を生成させることを可能とするホスト。
【請求項１４】
請求項１３に記載のホストにおいて、
前記共有鍵情報を、前記鍵交換処理の実施のたびに異なる値とさせるホスト。
【請求項１５】
ホスト証明情報（Ｃｅｒｔｈｏｓｔ）を有したホストにおいて、
第１乱数（ＲＮｈ）を生成し、該第１乱数（ＲＮｈ）と前記ホスト証明情報（Ｃｅｒｔｈｏｓｔ）とをメディアに送り、
メディアから、第２乱数（ＲＮｍ）、該第２乱数及び楕円曲線暗号に基づき計算される第３乱数（Ｍｋ）を用いて計算された第１値（Ｍｖ）、前記メディアに格納されたコントローラ鍵情報（Ｋｃ）及びコントローラ識別情報（ＩＤｃｕ）に基づいて一方向性関数演算を実行して生成されたユニークＩＤ情報（ＩＤｃｎｔｒ）、並びにメディア証明情報（Ｃｅｒｔｍｅｄｉａ）を受け、
楕円曲線暗号に基づき計算される第４乱数（Ｈｋ）を生成し、該第４乱数（Ｈｋ）と楕円曲線のベースポイント（Ｇ）とを用いて第２値（Ｈｖ）を計算し、
前記メディアとの鍵交換処理で共有される共有鍵情報を生成する
ことを特徴とするホスト。
【請求項１６】
第１乱数（ＲＮｈ）とホスト証明情報（Ｃｅｒｔｈｏｓｔ）とをメディアに送り、
前記メディアから、第２乱数（ＲＮｍ）、該第２乱数（ＲＮｍ）に基づく第３乱数（Ｍｋ）を用いて計算された第１値（Ｍｖ）、前記メディアのコントローラ鍵情報（Ｋｃ）及びコントローラ識別情報（ＩＤｃｕ）に基づいて生成されたユニークＩＤ情報（ＩＤｃｎｔｒ）、並びにメディア証明情報（Ｃｅｒｔｍｅｄｉａ）を受け、
第４乱数（Ｈｋ）を生成し、該第４乱数と前記第１値（Ｍｖ）とに基づき共有鍵情報を生成することを特徴とするホスト。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
また、コンテンツを暗号化するためのコンテンツ鍵が二種類の鍵で二重に暗号化された暗号化二重鍵方式が考えられている。暗号化鍵の内、記録媒体に固有の鍵（例えば、メディアユニーク鍵）は記録媒体の秘匿領域にセキュアに記録され、記録媒体外部からはアクセスができないようになっている。このため、例えば暗号化コンテンツ鍵データのみが不正にコピーされたとしても、暗号化コンテンツ鍵を復号するために必要なメディアユニーク鍵がなければコンテンツを利用（復号）することができない。
しかし、このようなメディアユニーク鍵が何らかの手法によって不正に読み出され、不正記録媒体（メモリカード）製造業者に渡されると、正規の記録媒体（メモリカード）をコピーしたクローンカードが出回る結果となり、コンテンツデータが不正に利用されることが起こり得る。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
また、ＩＤ生成器２１２（コントローラ識別情報生成部）は、コントローラ鍵ＫｃとコントローラユニークＩＤ（ＩＤｃｕ）を入力値として、外部に送信される公開コントローラユニークＩＤ（ＩＤｃｎｔｒ）を生成する。
認証鍵交換処理部２１３は、メディアデバイス鍵Ｋｍｄ＿ｉ、及びメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａに基づいてホスト装置２０００との間で認証鍵交換処理を実行する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
ワード線方向に配列されるＮＡＮＤセルユニットの集合が、データ消去の最小単位となるブロックを構成し、図示するようにビット線の方向に複数のブロックＢＬＫ０−ＢＬＫｎ−１が配置される。複数のブロックＢＬＫのうち、一部は、ユーザが特別の認証処理無しに自由にアクセス可能な通常記録部１０１として設定されており、他の一部は一定の認証鍵交換処理の後にアクセスが可能になる秘密記録部１０２として設定されており、更に別の一部は予め決められた情報をメモリカード製造時に記録しておくシステム情報記録部１０３として設定されている。通常記録部１０１、秘密記録部１０２、システム情報記録部１０３は、それぞれ論理アドレスを割り当てられている。秘密記録部１０２の論理アドレスの指定は、後述する認証鍵交換処理が完了した場合にのみ許容される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
コントローラ製造業者Ａは、鍵発行／管理センタ３０００に、コントローラ２００に付与したコントローラ鍵Ｋｃのデータを開示する。なお、コントローラ鍵Ｋｃは、ＰＧＰ暗号などを用いて、コントローラ製造業者Ａから鍵発行／管理センタ３０００に送信することができる。
鍵発行／管理センタ３０００は、メディアデバイス鍵Ｋｍｄ＿ｉやメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａを生成する鍵生成部３００２と、生成したメディアデバイス鍵Ｋｍｄ＿ｉ及びメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａを管理するデバイス鍵データベース３００１と、コントローラ製造業者Ａから受け取ったコントローラ鍵Ｋｃを用いてメディアデバイス鍵Ｋｍｄ＿ｉを暗号化する暗号化部３００３を備えている。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
コントローラ鍵Ｋｃは、鍵発行／管理センタ３０００において、メディアデバイス鍵Ｋｍｄ＿ｉを暗号化するのに用いられる。メディアデバイス鍵Ｋｍｄ＿ｉは、鍵生成器３００２で生成された後、デバイス鍵データベース３００１に格納される。暗号化器３００３は、デバイス鍵データベース３００１から対応するメディアデバイス鍵Ｋｍｄ＿ｉを供給され、これをコントローラ鍵Ｋｃで暗号化して暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃ、Ｋｍｄ＿ｉ）を生成する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
次に、このようなホスト装置２０００から、メモリカード１０００に対してコンテンツデータＣの書き込む場合の動作を、図４を参照して説明する。最初に、メモリカード１０００は、一方向性変換器２１１を用いて、コントローラ鍵ＫｃとコントローラユニークＩＤ（ＩＤｃｕ）からコントローラユニーク鍵Ｋｃｕを生成する。そして、このコントローラユニーク鍵Ｋｃｕを用いて、暗号化メディアデバイス鍵Ｅｎｃ（Ｋｃｕ、Ｋｍｄ＿ｉ）を復号してメディアデバイス鍵Ｋｍｄ＿ｉを得る。このメディアデバイス鍵Ｋｍｄ＿ｉとメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａは、認証鍵交換処理部２１３に転送される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００５３
【補正方法】変更
【補正の内容】
【００５３】
以上説明したように、この実施の形態では、公開鍵暗号方式に従ったメディアデバイス鍵Ｋｍｄ＿ｉ及びメディアデバイス鍵証明書Ｃｅｒｔｍｅｄｉａが認証鍵交換処理に用いられる。しかし、コントローラ２００のコントローラ鍵Ｋｃ及びコントローラユニークＩＤ（ＩＤｃｕ）に基づいてコントローラユニークＩＤ（ＩＤｃｎｔｒ）が生成される、このコントローラユニークＩＤ（ＩＤｃｎｔｒ）は、セキュアチャネルを介してホスト装置２０００に供給される。セキュアチャネルを介しての送信であるため、コントローラユニークＩＤ（ＩＤｃｎｔｒ）が外部に漏れることはなく、改竄も防止されている。また、このコントローラユニークＩＤ（ＩＤｃｎｔｒ）とメディアデバイス鍵証明書ＩＤ（ＩＤｍ＿ｃｅｒｔ）とに基づいて、ＩＤ結合部４０３により、メモリカードユニークＩＤ（ＩＤｍｃ）が生成される。このメモリカードユニークＩＤ（ＩＤｍｃ）に基づいて、メモリカード１０００内のメモリ１００のメディアユニーク鍵Ｋｍｕが生成される。このように、本実施の形態によれば、公開鍵暗号方式による認証鍵交換処理を行った場合においても、公開鍵・秘密鍵のペアとコントローラ２００に固有のコントローラユニークＩＤ（ＩＤｃｎｔｒ）を互いに関連付けることができ、これによりクローンカードの蔓延を防止することができる。
【手続補正１０】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2012235312.tif 000010
【手続補正１１】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2012235312.tif 000011
【手続補正１２】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2012235312.tif 000012
【手続補正１３】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2012235312.tif 000013
【手続補正１４】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2012235312.tif 000014
【手続補正書】
【提出日】平成24年9月3日(2012.9.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ホストとメディアとの間の認証システムにおいて、
前記メディアは、メディア鍵情報とコントローラ鍵情報とコントローラ識別情報とを有するとともに、
前記コントローラ鍵情報と前記コントローラ識別情報とに基づいて一方向性関数演算を実行し、ユニークＩＤ情報を生成し、
前記メディア鍵情報を用いて前記ホストから受けた乱数と、前記メディアで生成した乱数及び楕円曲線のベースポイントに基づく値と、前記ユニークＩＤ情報とに対して署名処理を実施し、これらを含む情報を前記ホストに送ることを特徴とする認証システム。
【請求項２】
ホスト鍵情報と、ホスト証明情報とが格納され、
第１乱数を生成し、該第１乱数と、第１署名情報が付けられた前記ホスト証明情報とをメディアに送り、
前記メディアから、第２乱数と、該第２乱数とは異なる第３乱数及び楕円曲線のベースポイントを用いて計算された前記第１値と、前記メディアに格納されたコントローラ鍵情報及びコントローラ識別情報に基づいて一方向性関数演算を実行して生成されたユニークＩＤ情報と、前記メディアに格納されたメディア証明情報と、を受け、
前記メディアから送られた前記メディア証明情報に付けられている第２署名情報を検証し、
第４乱数を生成し、該第４乱数及び前記楕円曲線のベースポイントを用いて第２値を計算し、
前記ホスト鍵情報を用いて、前記第２値及び前記メディアから送られた前記第２乱数に対して署名処理を実施し、
前記メディアとの鍵交換処理で共有される共有鍵情報を生成する
ことを特徴とするホスト。
【請求項３】
請求項２に記載のホストにおいて、
前記第２署名情報の検証が失敗した場合、該検証以降の処理を中止するホスト。
【請求項４】
請求項２に記載のホストにおいて、
前記共有鍵情報を、前記第４乱数と前記第１値とに基づき生成するホスト。
【請求項５】
請求項２に記載のホストにおいて、
前記第２値を前記メディアに送り、
前記メディアに、前記第３乱数と前記第２値とに基づき新たに共有鍵情報を生成させることを可能とするホスト。
【請求項６】
請求項２に記載のホストにおいて、
前記共有鍵情報を、前記鍵交換処理の実施のたびに異なる値とさせるホスト。
【請求項７】
ホスト証明情報を有したホストにおいて、
第１乱数を生成し、該第１乱数と前記ホスト証明情報とをメディアに送り、
前記メディアから、第２乱数と、楕円曲線のベースポイント及び第３乱数を用いて計算された第１値と、前記メディアに格納されたコントローラ鍵情報及びコントローラ識別情報に基づいて一方向性関数演算を実行して生成されたユニークＩＤ情報と、メディア証明情報とを受け、
第４乱数を生成し、該第４乱数と前記楕円曲線のベースポイントとを用いて第２値を計算し、
前記第１値と前記第４乱数とに基づき前記メディアとの鍵交換処理で共有される共有鍵情報を生成する
ことを特徴とするホスト。
【請求項８】
第１乱数とホスト証明情報とをメディアに送り、
前記メディアから、第２乱数と、メディア証明情報と、第３乱数を用いて計算された値と、前記メディアのコントローラ鍵情報及びコントローラ識別情報に基づいて生成されたユニークＩＤ情報と、を受け、
第４乱数を生成し、前記第４乱数と、前記第３乱数を用いて計算された値と、に基づき共有鍵情報を生成することを特徴とするホスト。
【請求項９】
ホスト証明情報をメディアに送り、
前記メディアから、メディア証明情報と、前記メディアで生成された乱数を用いて計算された値と、コントローラ鍵情報及びコントローラ識別情報に基づいて生成されたユニークＩＤ情報と、に基づく署名情報を受け、
前記署名情報を検証することを特徴とするホスト。