説明

不揮発性記憶装置へのデータ書き込みシステムおよび不揮発性記憶装置

【課題】保護データを多数の不揮発性記憶装置に書き込む際のTATの短縮や処理の容易化
【解決手段】本発明による不揮発性記憶装置へのデータ書き込みシステムは、不揮発性記憶装置と、前記不揮発性記憶装置に対してデータの書き込みを行うホスト機器とを備え、前記不揮発性記憶装置は、データを不揮発で記憶するための記憶領域と、前記ホストからの書き込みデータを前記記憶領域に書き込む通常書き込み機能と、前記不揮発性記憶装置に固有のメディアキーと、前記メディアキーで前記ホストからの書き込みデータを暗号化して前記記憶領域に保護データとして書き込む暗号化書き込み機能とを有し、前記ホスト機器は、前記通常書き込み機能を使用するように前記不揮発性記憶装置に書き込み指示を行う通常書き込み指示機能と、前記暗号化書き込み機能を使用するように前記不揮発性記憶装置に書き込み指示を行う暗号化書き込み指示機能とを有している。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は保護されたデータを不揮発性記憶装置へ書き込む技術に関する。
【背景技術】
【0002】
近年、不揮発性メモリを搭載したメモリカードはデジタルカメラや携帯電話の記憶媒体としてその市場を拡大している。そしてメモリカードに使用されている不揮発性メモリは半導体プロセスの微細化に伴いその容量を増加させるとともに、ビット単価を低下させて安価で入手できるようになっている。また別の一面として、従来CDやテープや書籍等の様々な形でパッケージされた著作物が全て電子データ化されて提供される環境が整ってきている。このような背景を受けて著作物を電子データ化して、メモリカードに記憶してCDやテープや書籍に代わって販売される流通形態も徐々に広がっている。
【0003】
しかしながら電子データには従来のパッケージとは異なり、容易に劣化無しにコピー可能であるという一面を持つために、メモリカードに著作権を保護してデータを格納する必要があり、様々な方法が提案されている。その一例を簡単に説明する。
【0004】
図17は従来のメモリカードである不揮発性記憶装置のブロック図である。
【0005】
1701はメモリカードで、1702のコントローラと1703の不揮発性メモリからなる。コントローラ1702内部においてコントローラ1702全体を制御するのが制御部1704である。メモリカード1701外部からの書き込みデータはホストI/F(インタフェース)1705とバッファ1706とメモリI/F1707を経由して不揮発性メモリ1703へ書き込まれる。
【0006】
メモリカード1701と外部とで暗号化されたデータをやり取りするためにセッション暗復号部1708がある。セッション暗復号部1708は、メディアキー1709と、乱数発生部1710から発生される乱数と、メモリカード1701外部のホストからの乱数を基にして生成されるセッションキーを使用して、バッファ1706にあるホストからの書き込みデータを復号化する。復号化されたデータは不揮発性メモリ1703に格納される。ここでメディアキー1709は個々のメモリカード1701に固有の値をとり、同じメディアキー1709の値を有するメモリカード1701は存在しない。
【0007】
図18は従来の保護コンテンツ書き込みの仕組みを示した図である。左側がホスト側で行われる処理で右側がメモリカード側で行われる処理である。
【0008】
最初にホストはメモリカードのシステム情報からキーテーブルとメディアIDを取得する(1801)。そして、ホスト側にあるデバイス番号とあわせてメディアキーを得る(1802)。この演算が正しく行われたら、ホストはメモリカードからは決して読み出すことのできない秘匿情報であるメディアキーを演算で得ることができる。次に、ホストとメモリカード間で互いに乱数情報をやり取りする(1803)。ホストもメモリカードもセッションキーに互いにやり取りした乱数を演算させてセッションキーを得る(1804)。
【0009】
ホストは保護したいコンテンツをホスト自身が決定したコンテンツキーで暗号化する(1805)。そしてホストはコンテンツキーで暗号化されたコンテンツをメモリカードに転送する(1806)。メモリカード内部では転送されたデータをユーザ領域に書き込む(1806)。このユーザ領域へ書き込むデータは、ホストが決定したコンテンツキーで暗号化されるだけなの、コンテンツデータとコンテンツキーが同じであればどのメモリカードにも同じデータを転送して書き込むことができる。
【0010】
ホストはコンテンツキーをメディアキーで暗号化する(1807)。次にメディアキーで暗号化されたコンテンツキーをセッションキーで暗号化する(1808)。そしてメディアキーとセッションキーで暗号化されたコンテンツキーをメモリカードに転送する(1809)。メモリカードの保護領機にデータを書き込む時には必ずセッションキーで暗号化を行うルールである。
【0011】
メモリカード内部では転送されたデータをセッションキーで復号化する(1810)。そして復号化したデータを保護領域に書き込む(1811)。復号化されたデータはメディアキーで暗号化されたコンテンツキーである。
【0012】
図19はホストからメモリカードへの通常のデータ書き込みを説明するシーケンス図である。まずステップ1901でホストはメモリカードへ通常書き込みコマンドを発行する。次にステップ1902でホストはメモリカードに対して書き込みデータの転送をする。処理1903でメモリカードはホストからの書き込みデータをメモリカード内部の不揮発性メモリに書き込む。書き込みの期間中はメモリカードはホストにビジー信号を出力することで書き込み中であることを通知する。最後にステップ1904でメモリカードはホストへのビジーの出力を終えることでホストは書き込みの終了を認識する。この通常の書き込みにおいてホストとメモリカード間でやり取りされるデータはなんら暗号化されていない。
【0013】
次に図20は従来のホストからメモリカードへの保護データの書き込みを説明するシーケンス図である。
【0014】
最初はメモリカードは保護領域への書き込みが行えない状態である。
【0015】
まずはステップ2001でホストはメモリカードに対してシステム情報の取得コマンドを発行する。次にステップ2002でメモリカードはホストにカードシステム情報を伝える。次に処理2003でホストはカードシステム情報とホスト内部のデバイス番号を演算してメディアキーを算出する。
【0016】
ホストは算出したメディアキーからセッションキーを生成するためにステップ2004でホストが生成した乱数をメモリカードに転送する。メモリカードはステップ2005でメモリカードが生成した乱数をホストに転送する。ステップ2006でメモリカードは保護領域へのデータ書き込みが可能な状態へ遷移する。
【0017】
ホストはステップ2007で保護領域への書き込みコマンドを発行し、ステップ2008でセッションキーで暗号化済みのデータをメモリカードに転送する。処理2009でメモリカードはホストからの書き込みデータをセッションキーで復号化してメモリカード内部の不揮発性メモリに書き込む。書き込みの期間中はメモリカードはホストにビジー信号を出力することで書き込み中であることを通知する。そして、メモリカードは保護領域への書き込みが行えない状態へと戻る。これは保護領域へのデータの書き込み毎にステップ2004,2005のセッションキーの生成手順が必要である。つまり保護領域へのデータの書き込み毎に暗号化のキーを乱数によって変化させることで、保護領域へのデータ書き込みの安全性をより高めるものとなっている。
【0018】
最後にステップ2010でメモリカードはホストへのビジーの出力を終えることでホストは書き込みの終了を認識する。
【0019】
この保護領域へのデータ書き込みにおいてホストとメモリカード間でやり取りされるデータは書き込みデータ毎に異なるキーで暗号化されている。
【0020】
図21はメモリカードが保護領域への書き込みを行えない状態であるにもかかわらず、ホストから保護領域への書き込みコマンドが発行された場合のシーケンス図である。
【0021】
メモリカードが保護領域への書き込みが不可能な状態で、ステップ2101でホストが保護領域への書き込みコマンドを発行しても、メモリカードはステップ2102で不正コマンドであることをレスポンスでホストに返す。ホストは保護領域へのデータ書き込みを行うことはできない。
【0022】
図22は従来の保護領域からのコンテンツ読み出しの仕組みを示した図である。左側がホスト側で行われる処理で右側がメモリカード側で行われる処理である。
【0023】
最初にホストはメモリカードのシステム情報からキーテーブルとメディアIDを取得する(2201)。そして、ホスト側にあるデバイス番号とあわせてメディアキーを得る(2202)。この演算が正しく行われたら、ホストはメモリカードからは決して読み出すことの出来ない秘匿情報であるメディアキーを演算で得ることができる。次に、ホストとメモリカード間で互いに乱数情報をやり取りする(2203)。ホストもメモリカードもセッションキーに互いにやり取りした乱数を演算させてセッションキーを得る(2204)。
【0024】
ホストからの保護領域の読み出し要求に対して、メモリカードは保護領域に書き込まれているメディアキーで暗号化されたコンテンツキーを読み出し(2205)、セッションキーで暗号化する(2206)。そのデータをホストへ読み出し転送する(2207)。
【0025】
ホストはメモリカードから読み出したデータをまずセッションキーで復号化し(2208)、次にメディアキーで復号化する(2209)ことでメモリカードからコンテンツキーを得る。
【0026】
ホストはさらにメモリカードのユーザ領域からコンテンツキーで暗号化されたコンテンツを読み出し(2210)、コンテンツキーで復号化する(2211)ことでコンテンツデータを得る。
【0027】
以上のように、メモリカード1701の保護領域に書き込まれているコンテンツキーは各メモリカードに固有の秘匿情報であるメディアキーで暗号化されている。またさらにメモリカード1701外部とのやり取りでは、各メモリカードに固有の秘匿情報であるメディアキーに乱数演算を施したものを、書き込み毎に異なる乱数により異なるキーを生成して行われる。
【特許文献1】特開2002-26898号公報
【発明の開示】
【発明が解決しようとする課題】
【0028】
しかしながら、上記方法によるとメモリカードにコンテンツデータを書き込むためにいくつかの面倒な手順が必要となる。ひとつは各メモリカードからメモリカード固有のメディアキーを演算により算出する必要があるということ、もうひとつはメディアキーにさらに乱数を演算したセッションキーで書き込み毎に暗号化を施す必要があることである。
【0029】
つまり、メモリカード毎に異なるキーで暗号化してデータを書き込む必要があるということと、1枚のメモリカードに対してさえ、書き込み毎に異なるキーで暗号化してデータを書き込む必要がある。
【0030】
その結果、従来の不揮発性記憶装置のデータ書き込みシステムにおいては、複数枚のメモリカードに対して同じコンテンツデータを書き込む際においても、同じデータをメモリカードに転送できないために、コンテンツ書き込み済みのパッケージメディアを生産する工場、即ち多数のメモリカードに対して映画やミュージックビデオや音楽データ等の同一のコンテンツを書き込む必要がある場合に、コンテンツデータの書き込みのためのシステムが複雑になるとともに、TATが低下するという課題を有している。
【課題を解決するための手段】
【0031】
本発明による不揮発性記憶装置は、外部からのアクセス指示に従ってデータの書き込み/読み出しを行う不揮発性記憶装置であって、データを不揮発で記憶するための記憶領域と、外部からの書き込みデータを前記記憶領域に書き込む通常書き込み機能と、前記不揮発性記憶装置に固有のメディアキーと、前記メディアキーで外部からの書き込みデータを暗号化して前記記憶領域に保護データとして書き込む暗号化書き込み機能と、前記記憶領域に対するデータの書き込み/読み出し毎に異なるセッションキーを生成するセッションキー生成機能と、前記記憶領域に書き込まれた前記保護データを読み出し前記セッションキーで暗号化して外部に転送するセッション暗号化読み出し機能とを有する、ことを特徴とする。
【0032】
また、上記不揮発性記憶装置において、外部からの書き込みデータを前記セッションキーで復号化して前記記憶領域に保護データとして書き込む復号化書き込み機能をさらに有する、ことを特徴とする。
【0033】
また、上記不揮発性記憶装置において、前記メディアキーで外部からの書き込みデータの一部を暗号化して前記記憶領域に保護データとして書き込む部分暗号化書き込み機能をさらに有する、ことを特徴とする。
【0034】
また、上記不揮発性記憶装置において、「許可」か「一時許可」か「禁止」の3つのいずれかの状態をとる暗号化アクセス判定部をさらに備え、前記暗号化アクセス判定部の状態が「禁止」の時には前記暗号化書き込み機能を機能させない、ことを特徴とする。
【0035】
また、上記不揮発性記憶装置において、前記記憶領域には、「許可」か「禁止」の2つのいずれかの状態をとる暗号化アクセス判定情報が記憶されており、前記不揮発性記憶装置の電源投入に応答して前記暗号化アクセス判定情報を前記記憶領域から読み出し、当該読み出した情報を前記暗号化アクセス判定部に反映させる、ことを特徴とする。
【0036】
また、上記不揮発性記憶装置において、前記暗号化書き込み機能もしくは前記復号化書き込み機能が機能したときに、前記暗号化アクセス判定部の状態を「一時許可」にし、前記暗号化アクセス判定情報の状態を「禁止」にする、ことを特徴とする。
【0037】
また、上記不揮発性記憶装置において、外部からのフォーマット指示に応答して、前記暗号化アクセス判定情報の状態を「許可」にする、ことを特徴とする。
【0038】
本発明による不揮発性記憶装置へのデータ書き込みシステムは、不揮発性記憶装置と、前記不揮発性記憶装置に対してデータの書き込みを行うホスト機器とを備え、前記不揮発性記憶装置は、データを不揮発で記憶するための記憶領域と、前記ホストからの書き込みデータを前記記憶領域に書き込む通常書き込み機能と、前記不揮発性記憶装置に固有のメディアキーと、前記メディアキーで前記ホストからの書き込みデータを暗号化して前記記憶領域に保護データとして書き込む暗号化書き込み機能とを有し、前記ホスト機器は、前記通常書き込み機能を使用するように前記不揮発性記憶装置に書き込み指示を行う通常書き込み指示機能と、前記暗号化書き込み機能を使用するように前記不揮発性記憶装置に書き込み指示を行う暗号化書き込み指示機能とを有する、ことを特徴とする。
【0039】
また、上記不揮発性記憶装置へのデータ書き込みシステムにおいて、前記不揮発性記憶装置と前記ホスト機器はさらに、前記不揮発性記憶装置と前記ホスト機器に共通で、データの書き込み毎に異なるセッションキーを生成するセッションキー生成機能を互いに備える、ことを特徴とする。
【0040】
また、上記不揮発性記憶装置へのデータ書き込みシステムにおいて、前記不揮発性記憶装置はさらに、前記メディアキーで外部からの書き込みデータの一部を暗号化して前記記憶領域に保護データとして書き込む部分暗号化書き込み機能を備え、前記ホスト機器はさらに、前記部分暗号化書き込み機能を使用するように前記不揮発性記憶装置に書き込み指示を行う部分暗号化書き込み指示機能を備える、ことを特徴とする。
【発明の効果】
【0041】
本発明によれば、保護データの書き込みにおいて不揮発性記憶装置に固有のメディアキーによる暗号化や、書き込み毎に異なるセッションキーによる暗号化を必要としないので、不揮発性記憶装置に固有の鍵で暗号化されたコンテンツデータの書き込みを容易に行うことができる。これにより、コンテンツ書き込み済みのパッケージメディアを生産する工場におけるコンテンツデータ書き込みのためのシステムを簡易化するとともにTATを向上させることができる。
【発明を実施するための最良の形態】
【0042】
本発明の不揮発性記憶装置へのデータ書き込みシステムおよび不揮発性記憶装置について説明する。
【0043】
[1.システムの概要]
図1は本発明の不揮発性記憶装置へ保護データを書き込むシステムの構成例を示した模式図である。
【0044】
101は保護データを書き込むための制御を行うPC(パソコン)である。102はパソコン101の制御によって複数のメモリカードに保護データを書き込むための並列書き込み装置であり、複数のメモリカードを装着するための装着口103を複数備えている。
【0045】
図2は本発明の不揮発性記憶装置へのデータ書き込みシステムと不揮発性記憶装置の詳細を示したブロック図である。このシステムは、ホスト201とメモリカード202とを備える。ホスト201は、図1のパソコン101と並列書き込み装置102に相当する。メモリカード202はコントローラ203と不揮発性メモリ204とを備える。
【0046】
コントローラ203内部においてコントローラ203全体の動作を制御するのが制御部205である。ホスト201からメモリカード202への書き込みデータはホストI/F206とバッファ207とメモリI/F208を経由して不揮発性メモリ204へ書き込まれる。
【0047】
メモリカード202とホスト201とで暗号化されたデータをやり取りするためにセッション暗復号部209がある。セッション暗復号部209は、メディアキー210と、乱数発生部211から発生される乱数と、ホスト201からの乱数を基にして生成されるセッションキーを使用して、バッファ207にあるホスト201からの書き込みデータを復号化する。復号化されたデータは不揮発性メモリ204に格納される。
【0048】
コントローラ203はさらに、暗号化を行わない保護領域への書き込みを許可するかどうかを判定する暗号化アクセス判定部212と、メディアキーでデータを暗号化するためのメディア暗号部213とを備える。不揮発性メモリ204は、内部に暗号化判定情報214を持つ。ここでメディアキー210は従来と同様に個々のメモリカード202に固有の値をとり、同じメディアキー210の値を有するメモリカード202は存在しない。
【0049】
図3はコントローラ203内部の暗号化アクセス判定部212に記憶される情報の構成を示した表である。暗号化アクセス判定部212に記憶される情報は暗号化アクセス判定情報と暗号化手順とセッションキーの3つである。暗号化アクセス判定情報は「許可」と「一時許可」と「禁止」の3つの状態を取りうる。また暗号化手順は「実施済み」と「未実施」の2つの状態をとる。セッションキーはホスト201とメモリカード202間での保護されたデータをやり取りする際に使用するセッションキーを記憶する。
【0050】
図4は不揮発性メモリ204内部の暗号化判定情報214に記憶される情報の構成を示した表である。暗号化判定情報214としてとりうる値は「許可」と「禁止」の2つの状態である。
【0051】
図5はメモリカード202の初期化シーケンスである。
【0052】
ホスト201はまずステップ501で装着されているメモリカード202に対して電圧を印加する。電圧印加を受けてメモリカード202は処理502でメモリカード202内部の初期化を行う。メモリカード202はこの初期化の中で不揮発性メモリ204から暗号化判定情報214を読み出して暗号化アクセス判定部212に記憶させる。ここで、暗号化判定情報214に記録されていた情報が「許可」であった場合には、メモリカード202は従来行っていたセッションキーの生成を含む手順を行わなくても保護領域へのデータ書き込みが可能な状態にある。
【0053】
ホスト201はメモリカード202に電圧印加後にメモリカード202内部の初期化が終了したかどうかを確認するために、ステップ503で初期化完了問い合わせのコマンドをレスポンスが返ってくるまで複数回行う。メモリカード202は内部の初期化処理が終了していればステップ504で初期化が終了したことをレスポンスする。
【0054】
メモリカード202の初期化終了を認識したホスト201はステップ505でメモリカード202のIDや動作速度、動作電圧・電流等のカード情報を取得するコマンドを発行し、メモリカード202はステップ506でホスト201から問い合わせがあった情報をレスポンスで返す。
【0055】
メモリカード202の情報を得たホスト201は、ステップ507でメモリカード202に対してデータの読み出しコマンドを発行する。メモリカード202はステップ508でデータをホスト201に返す。
【0056】
[2.セッションキーを用いない書き込み]
図6はメモリカード202への保護データの書き込みシーケンスである。図5の処理で暗号化アクセス判定部212に「許可」(もしくは「一時許可」)が記録された状態である場合について示している。
【0057】
ホスト201はまずステップ601で保護領域への書き込みのコマンドを発行する。従来はセッションキーの生成を行わずに保護領域への書き込みコマンドを発行した場合にはメモリカード202は不正コマンドのレスポンスを返していたが、本発明のメモリカード202においては暗号化アクセス判定部212の暗号化アクセス判定情報に「許可」(もしくは「一時許可」)が記録されているため不正なレスポンスは返さない。
【0058】
続けてホスト201はステップ602で、セッションキーで暗号化されていない非暗号化書き込みデータをメモリカード202に転送する。メモリカード202は保護領域への書き込みでは本来セッションキーでの復号化を行った後に不揮発性メモリ204の保護領域にデータを書き込むが、セッションキーの生成を行わずに保護領域へデータの書き込みが行われる場合には、処理603でセッションキーによる復号化を行わずに不揮発性メモリ204の保護領域にデータを書き込む。
【0059】
最後にステップ604でメモリカード202はホスト201へのビジーの出力を終えることでホスト201は書き込みの終了を認識する。
【0060】
この保護領域へのデータの書き込みにおいてホスト201とメモリカード202間でやり取りされるデータはセッションキーで暗号化されない。
【0061】
図7は図6の書き込み処理603における制御部205の処理のフローチャートである。
【0062】
最初に状態701では制御部205はコマンド待ちの状態にある。次に判定702では保護領域への書き込みコマンドが発行されたかどうかの判定を行い、保護領域への書き込みコマンドが発行されたと判定したら判定703へと遷移する。判定703では暗号化アクセス判定部212の暗号化手順が「実施済み」であるかどうかを判定する。これは従来行っているセッションキーの生成シーケンスが行われているかどうかの判定である。既に実施済みと判定した場合には判定704へと遷移する。判定704では暗号化アクセス判定部212の暗号化アクセス判定情報の状態を判定する。暗号化アクセス判定部212の暗号化アクセス判定情報が「許可」の場合には状態705へと遷移し、「禁止」または「一時許可」の場合には状態707へと遷移する。
【0063】
状態705では不揮発性メモリ204の暗号化判定情報214に「禁止」を書き込む。このとき暗号化アクセス判定部212に対してはなにも変更はしない。続いて状態706に遷移して、暗号化アクセス判定部212の暗号化アクセス判定情報に「禁止」を記録する。
【0064】
以降は状態707で、ホスト201からの書き込みデータに対してセッションキーの復号化を行った後に、復号化したデータを不揮発性メモリ204の保護領域に書き込み、状態708で暗号化アクセス判定部212の暗号化手順を「未実施」の状態にして、状態701へと戻る。この703〜708の処理は従来の図20のシーケンス図のステップ2007以降のシーケンスに相当する。ただし、状態704〜706での処理は本発明で新たに追加されている処理である。
【0065】
判定703で暗号化アクセス判定部212の暗号化手順が「未実施」であると判定した場合には判定709へと遷移する。判定709では暗号化アクセス判定部212の暗号化アクセス判定情報の状態を判定する。暗号化アクセス判定部212の暗号化アクセス判定情報が「禁止」の場合には状態710へと遷移し、書き込みエラーをホスト201に通知する。この709から710のフローは従来の図21のシーケンス図の処理に相当する。
【0066】
判定709で暗号化アクセス判定部212の暗号化アクセス判定情報が「許可」の場合には711へと遷移する。状態711では不揮発性メモリ204の暗号化判定情報214に「禁止」を書き込む。続いて状態712に遷移して、暗号化アクセス判定部212の暗号化アクセス判定情報に「一時許可」を記録する。そして状態713ではセッションキーの復号化を行わずに不揮発性メモリ204の保護領域にホスト201から転送された書き込みデータを書き込む。判定709から状態711、712、713の処理は本発明の図6のシーケンス図に相当する。セッションキーの暗復号を行わずにホスト201からメモリカード202にデータを書き込むときの処理である。
【0067】
判定709で暗号化アクセス判定部212の暗号化アクセス判定情報が「一時許可」であると判定した場合、これは状態712の処理を一度行っていることを示しているが、この場合には状態711や712の処理は既に実行済みであり、改めて行う必要がないので状態713へと遷移する。
【0068】
以上のように本発明では暗号化アクセス判定部212の暗号化アクセス判定情報が「許可」の状態であればセッションキーの暗復号化を行わずにホスト201からメモリカード202へとデータを書き込む手段を提供している。ただし、保護領域に対して保護データを書き込んだ(処理708または処理713)場合には、かならず不揮発性メモリ204の暗号化判定情報214に対して「禁止」を記録する(処理705または処理711)ために、再度メモリカード202の初期化が行われると図5の処理502で説明したように暗号化アクセス判定部212の暗号化アクセス判定情報には不揮発性メモリ204の暗号化判定情報214に記憶された「禁止」が反映されるために、以降は図7におけるセッションキーの復号化を行わない書き込み(状態713)になることはない。また、ホスト201が従来と同じ様にセッションキー生成の手順を実行してアクセスしてきても、従来と同様にセッションキーによって暗号化されたデータを復号化してメモリカード202に書き込むことができる。
【0069】
図8はセッションキーの生成のフローチャートである。最初に状態801では制御部205はコマンド待ちの状態にある。次に判定802ではセッションキー生成手順のコマンドが発行されたかどうかの判定を行い、セッションキー生成手順のコマンドが発行されたと判定したら状態803へと遷移する。状態803ではセッションキーの生成処理を行い、状態804へと遷移する。状態804では暗号化アクセス判定部212の暗号化手順を「実施済み」にする。この状態804で暗号化アクセス判定部212の暗号化手順を「実施済み」にしている場合には図7のフローチャートの判定703で暗号化手順「実施済み」と判定される。
【0070】
図9は図6の書き込みシーケンスで保護データを書き込む時の仕組みを示した図である。左側がホスト側で行われる処理で右側がメモリカード側で行われる処理である。図18の従来の保護領域へのデータ書き込みとは異なり、不揮発性メモリ204の保護領域に書き込まれる保護データがホスト201とメモリカード202間で暗号化無しに転送されることがわかる。これは保護領域へのデータ書き込みにおいてメモリカード202に対してユニークなセッションキーを変更するという必要がなく、全てのメモリカード202に対して同じデータを転送して保護領域へデータを書き込むことができることを示している。
【0071】
図10にメモリカード202の製造における出荷前検査での暗号化判定情報214の設定のフローチャートである。
【0072】
状態1001で不揮発性メモリ204の暗号化判定情報214に対して「許可」を書き込んでおく。そうすることで、メモリカード202にはセッションキーの暗復号化を行わずに保護領域へデータの書き込みができる。
【0073】
ただし、このように暗号化判定情報214に対して「許可」を書き込んでおくのは、メモリカード202の出荷時において保護すべきコンテンツが保護領域には全く記録されていない状態に限られる。それは本発明の考え方が、保護すべきデータが存在しないときのみ、保護領域に対するアクセスを通常のアクセスと同等の容易さで行うことができるようにしているからである。
【0074】
以上のように本発明の不揮発性記憶装置へのデータ書き込みシステムおよび不揮発性記憶装置では、メモリカード202の保護領域に保護すべきデータが書き込まれていない状態、例えばメモリカード202の検査直後の状態において、メモリカード202に対してユニークかつ書き込みデータ毎に乱数で与えられるセッションキーを使用することなく、どのメモリカード202に対しても同じ書き込みデータを転送して保護領域に書き込むことを可能にする。
【0075】
[3.書き込みデータのメディアキーでの暗号化]
ただし、ここまでの説明では図9で示されるように保護領域に書き込むデータは従来行われていたメディアキーによる暗号化は行われていない。ホスト201からはどのメモリカード202に対しても同じデータを転送しつつ、メモリカード202の保護領域にはメディアキーによる暗号化がされたデータを書き込む方法を以降説明する。
【0076】
図11はメモリカード202に対して暗号化指定を行って保護領域へデータ書き込みを行うシーケンスである。図5の処理で暗号化アクセス判定部212に「許可」(もしくは「一時許可」)が記録された状態である場合について示している。
【0077】
ホスト201はまずステップ1101で、暗号化指定で保護領域への書き込みコマンドを発行する。
【0078】
続けてホスト201はステップ1102でセッションキーでもメディアキーでも暗号化されていない非暗号化書き込みデータをメモリカード202に転送する。ここでメモリカード202は暗号化指定の保護領域への書き込みであるので、ホスト201からの書き込みデータがバッファ207に格納されているときにメディア暗号部213がメディアキー210による暗号化を行い、その暗号化されたデータを不揮発性メモリ204の保護領域に書き込む(1103)。
【0079】
最後にステップ1104でメモリカード202はホスト201へのビジーの出力を終えることでホスト201は書き込みの終了を認識する。
【0080】
この保護領域へのデータ書き込みにおいてホスト201とメモリカード202間でやり取りされるデータはセッションキーでもメディアキーでも暗号化されないが、不揮発性メモリ204に書き込まれるデータはメディアキーで暗号化されたデータになる。
【0081】
図12は図11の書き込み処理603における制御部205の処理のフローチャートである。
【0082】
まず最初に状態1201では制御部205はコマンド待ちの状態にある。次に判定1202では保護領域への書き込みコマンドが発行されたかどうかの判定を行い、保護領域への書き込みコマンドが発行されたと判定したら判定1203へと遷移する。判定1203では暗号化アクセス判定部212の暗号化手順が「実施済み」であるかどうかを判定する。これは従来行っているセッションキーの生成シーケンスが行われているかどうかの判定である。既に実施済みと判定した場合には判定1204へと遷移する。判定1204では暗号化アクセス判定部212の暗号化アクセス判定情報の状態を判定する。暗号化アクセス判定部212の暗号化アクセス判定情報が「許可」の場合には状態1205へと遷移し、「禁止」または「一時許可」の場合には状態1207へと遷移する。
【0083】
状態1205では不揮発性メモリ204の暗号化判定情報214に「禁止」を書き込む。このとき暗号化アクセス判定部212に対してはなにも変更はしない。続いて状態1206に遷移して、暗号化アクセス判定部212の暗号化アクセス判定情報に「禁止」を記録する。
【0084】
以降は状態1207で、ホスト201からの書き込みデータに対してセッションキーの復号化を行った後に、復号化したデータを不揮発性メモリ204の保護領域に書き込み、状態1208で暗号化アクセス判定部212の暗号化手順を「未実施」の状態にして、状態1201へと戻る。この1203〜1208の処理は従来の図20のシーケンス図のステップ2007以降のシーケンスに相当する。ただし、状態1204〜1206での処理は本発明で新たに追加されている処理である。
【0085】
判定1203で暗号化アクセス判定部212の暗号化手順が「未実施」であると判定した場合には判定1209へと遷移する。判定1209では暗号化アクセス判定部212の暗号化アクセス判定情報の状態を判定する。暗号化アクセス判定部212の暗号化アクセス判定情報が「禁止」の場合には状態1210へと遷移し、書き込みエラーをホスト201に通知する。この1209から1210のフローは従来の図21のシーケンス図の処理に相当する。
【0086】
判定1209で暗号化アクセス判定部212の暗号化アクセス判定情報が「許可」の場合には1211へと遷移する。状態1211では不揮発性メモリ204の暗号化判定情報214に「禁止」を書き込む。続いて状態1212に遷移して、暗号化アクセス判定部212の暗号化アクセス判定情報に「一時許可」を記録する。そして状態1213ではセッションキーの復号化を行わず、メディアキーによる暗号化を行い不揮発性メモリ204の保護領域にホスト201から転送された書き込みデータを書き込む。判定1209から状態1211、1212、1213の処理は本発明の図11のシーケンス図に相当する。セッションキーの暗復号を行わずにホスト201からメモリカード202にデータを書き込むときの処理である。
【0087】
判定1209で暗号化アクセス判定部212の暗号化アクセス判定情報が「一時許可」であると判定した場合、これは状態1212の処理を一度行っていることを示しているが、この場合には状態1211や1212の処理は既に実行済みであり、改めて行う必要がないので状態1213へと遷移する。
【0088】
以上のように本発明では暗号化アクセス判定212の暗号化アクセス判定情報が「許可」の状態であればメディアキーによる暗号化をメモリカード202内部で行ってホスト201からメモリカード202へとデータを書き込む手段を提供している。
【0089】
図13は図11の書き込みシーケンスで保護領域にデータを書き込む時の仕組みを示した図である。左側がホスト側で行われる処理で右側がメモリカード側で行われる処理である。
【0090】
図9の保護データの書き込みとは異なり、ホスト201からメモリカード202に対して暗号化指定での保護領域への書き込みに伴い送られる書き込みデータであるコンテンツキーは、セッションキーでもメディアキーでも暗号化されない(1301)。メモリカード202では送られたコンテンツキーを秘匿情報であるメディアキーで暗号化する(1302)。そしてその後暗号化されたデータを不揮発性メモリ204の保護領域に書き込む。
【0091】
こうすることで不揮発性メモリ204に書き込まれるデータは各メモリカードに固有の暗号化が行われた状態にすることができる。
【0092】
以上、セッションキーによる暗号化を行うこと無しに、ホスト201からメモリカード202へとデータを転送して、メモリカード202の保護領域に書き込む方法、そして、セッションキーによる暗号化を行うこと無しに、ホスト201からメモリカード202へとデータを転送して、そのデータをメモリカード202のメディアキーで暗号化してメモリカード202の保護領域に書き込む方法を説明してきた。
【0093】
ここではさらに発展したコマンドを発行することによって、メモリカード202に転送するデータの一部分をメディアキーで暗号化する手法について説明する。
【0094】
図14はメモリカード202に対して暗号化アドレス指定を行って保護領域にデータ書き込みを行うシーケンスである。図5の処理で暗号化アクセス判定部212に「許可」(もしくは「一時許可」)が記録された状態である場合について示している。
【0095】
ホスト201はまずステップ1401で暗号化アドレス指定で保護領域への書き込みコマンドを発行する。
【0096】
続けてホスト201はステップ1402でセッションキーでもメディアキーでも暗号化されていない非暗号化書き込みデータをメモリカード202に転送する。ここでメモリカード202は暗号化アドレス指定での保護領域への書き込みであるので、ホスト201からの書き込みデータがバッファ207に格納されているときにメディアキー210を使用してメディア暗号部213がホスト201からステップ1401で指定されたアドレス部分にのみメディアキーによる暗号化を行い、その暗号化されたデータを不揮発性メモリ204の保護領域に書き込む。
【0097】
最後にステップ1404でメモリカード202はホスト201へのビジーの出力を終えることでホスト201は書き込みの終了を認識する。
【0098】
この保護領域へのデータ書き込みにおいてホスト201とメモリカード202間でやり取りされるデータはセッションキーでもメディアキーでも暗号化されないが、不揮発性メモリ204に書き込まれるデータはホスト201から指定されたアドレス部分のみがメディアキーで暗号化されたデータになる。
【0099】
[4.保護データの有無の判定]
ここまでは不揮発性メモリ204の暗号化判定情報214に「許可」が書き込まれるのは図10で説明したメモリカードの出荷検査のときのみであった。それはメモリカードの出荷時には保護すべきコンテンツはまだ何も書き込まれていないことが保証されるからである。以下では、不揮発性メモリ204の暗号化判定情報214に「許可」が書き込まれる別のケースについて説明する。
【0100】
図15はメモリカード202に対してホスト201がフォーマットコマンドを発行したときのメモリカード202内部の処理のフローチャートである。
【0101】
まず状態1501では制御部205はコマンド待ちの状態にある。次に判定1502ではフォーマットコマンドが発行されたかどうかの判定を行い、フォーマットコマンドが発行されたと判定したときは状態1503へと遷移する。状態1503では制御部205は不揮発性メモリ204に書き込まれているデータを消去した後に、所定のフォーマットデータを書き込む。この処理を行うことで不揮発性メモリ204の保護領域は保護すべきコンテンツが消去されて存在しない状態になる。次に状態1504へ遷移し、暗号化判定情報214に対して「許可」を書き込む。最後に状態1501へと戻る。この処理によってメモリカード202は保護すべきコンテンツが存在せず、かつ暗号化手順なしに保護領域へデータの書き込みが行える状態になる。
【0102】
図16はメモリカード202の保護領域に対してホスト201が消去コマンドを発行したときのメモリカード202内部の処理のフローチャートである。
【0103】
まず状態1601では制御部205はコマンド待ちの状態にある。次に判定1602では保護領域の消去コマンドが発行されたかどうかの判定を行い、保護領域の消去コマンドが発行されたと判定したときは状態1603へと遷移する。状態1603では制御部205は不揮発性メモリ204の保護領域の消去を行うことで不揮発性メモリ204の保護領域は保護すべきコンテンツが存在しない状態になる。次に状態1604へ遷移し、暗号化判定情報214に対して「許可」を書き込む。最後に状態1601へと戻る。この処理によってメモリカード202は保護すべきコンテンツが存在せず、かつ暗号化手順なしに保護領域へデータの書き込みが行える状態になる。
【0104】
なお、保護すべきデータが存在しない場合には保護領域に対して暗号化手順の必要性はない。従って、同様の保護すべきデータの有無の判断ができるのであれば、上記条件に限らず暗号化手順を必要としない保護領域へのデータ書き込みを許可しても構わない。
【0105】
[5.まとめ]
以上、メモリカード202に保護すべきコンテンツデータが書き込まれていないことが保証される時、例えば出荷検査時等に暗号化判定情報214に対して「許可」を書き込んでおくことで、まだ保護すべきコンテンツが書き込まれていない状態である期間には、任意のメモリカード202に対して同じデータを転送して保護領域に保護データを書き込むことができる。またその書き込む保護データの任意のアドレス部分をメモリカード202固有のメディアキーで暗号化して書き込むことができる。そして保護データが書き込まれた後は、従来と同様にセッションキーの生成を必要とする暗号化されたインタフェースでしか保護データを読み出すことはできない。
【0106】
つまり従来と同程度にデータを保護することが可能でかつ、保護すべきデータがまだ書き込まれていないときには、従来に比べて格段に容易な方法で保護データを書き込むことができる不揮発性記憶装置へのデータ書き込みシステムおよび不揮発性記憶装置を提供するものである。
【産業上の利用可能性】
【0107】
本発明は不揮発性記憶装置へ保護されたデータを書き込む技術に適用でき、特に保護すべきデータを多数の不揮発性記憶装置に対して書き込む際のTATの短縮や処理の容易化に有用である。
【図面の簡単な説明】
【0108】
【図1】本発明の不揮発性記憶装置へ保護データを書き込むシステムの構成例
【図2】本発明の不揮発性記憶装置へのデータ書き込みシステムと不揮発性記憶装置の詳細を示したブロック図
【図3】暗号化アクセス判定部に記憶される情報の構成表
【図4】暗号化判定情報に記憶される情報の構成表
【図5】メモリカードの初期化シーケンス図
【図6】保護領域へのデータ書き込みのシーケンス図
【図7】保護領域へのデータ書き込み処理のフローチャート
【図8】セッションキー生成のフローチャート
【図9】保護領域へのデータ書き込みの仕組みを示す図
【図10】メモリカードの検査のフローチャート
【図11】暗号化を行う保護領域へのデータ書き込みのシーケンス図
【図12】暗号化を行う保護領域へのデータ書き込み処理のフローチャート
【図13】暗号化を行う保護領域へのデータ書き込みの仕組みを示す図
【図14】アドレス指定で暗号化を行う保護領域へのデータ書き込みのシーケンス図
【図15】フォーマットコマンドのフローチャート
【図16】保護領域消去のフローチャート
【図17】従来の不揮発性記憶装置のブロック図
【図18】従来の保護領域へのデータ書き込みの仕組みを示す図
【図19】従来の通常のデータ書き込みのシーケンス図
【図20】従来の保護領域へのデータ書き込みのシーケンス図
【図21】従来の保護領域へのデータ書き込みエラーのシーケンス図
【図22】従来の保護領域からのデータ読み出しの仕組みを示す図
【符号の説明】
【0109】
101 パソコン
102 並列書き込み装置
201 ホスト
202 メモリカード
203 コントローラ
204 不揮発性メモリ
205 制御部
206 ホストI/F
207 バッファ
208 メモリI/F
209 セッション暗復号部
210 メディアキー
211 乱数生成部
212 暗号化アクセス判定部
213 メディア暗号部
214 暗号化判定情報
1701 メモリカード
1702 コントローラ
1703 不揮発性メモリ
1704 制御部
1705 ホストI/F
1706 バッファ
1707 メモリI/F
1708 セッション暗復号部
1709 メディアキー
1710 乱数生成部

【特許請求の範囲】
【請求項1】
外部からのアクセス指示に従ってデータの書き込み/読み出しを行う不揮発性記憶装置であって、
データを不揮発で記憶するための記憶領域と、
外部からの書き込みデータを前記記憶領域に書き込む通常書き込み機能と、
前記不揮発性記憶装置に固有のメディアキーと、
前記メディアキーで外部からの書き込みデータを暗号化して前記記憶領域に保護データとして書き込む暗号化書き込み機能と、
前記記憶領域に対するデータの書き込み/読み出し毎に異なるセッションキーを生成するセッションキー生成機能と、
前記記憶領域に書き込まれた前記保護データを読み出し前記セッションキーで暗号化して外部に転送するセッション暗号化読み出し機能とを有する、
ことを特徴とする不揮発性記憶装置。
【請求項2】
請求項1において、
外部からの書き込みデータを前記セッションキーで復号化して前記記憶領域に保護データとして書き込む復号化書き込み機能をさらに有する、
ことを特徴とする不揮発性記憶装置。
【請求項3】
請求項1において、
前記メディアキーで外部からの書き込みデータの一部を暗号化して前記記憶領域に保護データとして書き込む部分暗号化書き込み機能をさらに有する、
ことを特徴とする不揮発性記憶装置。
【請求項4】
請求項1から3のいずれか1つにおいて、
「許可」か「一時許可」か「禁止」の3つのいずれかの状態をとる暗号化アクセス判定部をさらに備え、
前記暗号化アクセス判定部の状態が「禁止」の時には前記暗号化書き込み機能を機能させない、
ことを特徴とする不揮発性記憶装置。
【請求項5】
請求項4において、
前記記憶領域には、「許可」か「禁止」の2つのいずれかの状態をとる暗号化アクセス判定情報が記憶されており、
前記不揮発性記憶装置の電源投入に応答して前記暗号化アクセス判定情報を前記記憶領域から読み出し、当該読み出した情報を前記暗号化アクセス判定部に反映させる、
ことを特徴とする不揮発性記憶装置。
【請求項6】
請求項5において、
前記暗号化書き込み機能もしくは前記復号化書き込み機能が機能したときに、前記暗号化アクセス判定部の状態を「一時許可」にし、前記暗号化アクセス判定情報の状態を「禁止」にする、
ことを特徴とする不揮発性記憶装置。
【請求項7】
請求項6において、
外部からのフォーマット指示に応答して、前記暗号化アクセス判定情報の状態を「許可」にする、
ことを特徴とする不揮発性記憶装置。
【請求項8】
不揮発性記憶装置と、前記不揮発性記憶装置に対してデータの書き込みを行うホスト機器とを備え、
前記不揮発性記憶装置は、
データを不揮発で記憶するための記憶領域と、
前記ホストからの書き込みデータを前記記憶領域に書き込む通常書き込み機能と、
前記不揮発性記憶装置に固有のメディアキーと、
前記メディアキーで前記ホストからの書き込みデータを暗号化して前記記憶領域に保護データとして書き込む暗号化書き込み機能とを有し、
前記ホスト機器は、
前記通常書き込み機能を使用するように前記不揮発性記憶装置に書き込み指示を行う通常書き込み指示機能と、
前記暗号化書き込み機能を使用するように前記不揮発性記憶装置に書き込み指示を行う暗号化書き込み指示機能とを有する、
ことを特徴とする不揮発性記憶装置へのデータ書き込みシステム。
【請求項9】
請求項8において、
前記不揮発性記憶装置と前記ホスト機器はさらに、
前記不揮発性記憶装置と前記ホスト機器に共通で、データの書き込み毎に異なるセッションキーを生成するセッションキー生成機能を互いに備える、
ことを特徴とする不揮発性記憶装置へのデータ書き込みシステム。
【請求項10】
請求項8において、
前記不揮発性記憶装置はさらに、
前記メディアキーで外部からの書き込みデータの一部を暗号化して前記記憶領域に保護データとして書き込む部分暗号化書き込み機能を備え、
前記ホスト機器はさらに、
前記部分暗号化書き込み機能を使用するように前記不揮発性記憶装置に書き込み指示を行う部分暗号化書き込み指示機能を備える、
ことを特徴とする不揮発性記憶装置へのデータ書き込みシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2009−58637(P2009−58637A)
【公開日】平成21年3月19日(2009.3.19)
【国際特許分類】
【出願番号】特願2007−224307(P2007−224307)
【出願日】平成19年8月30日(2007.8.30)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】