明 細 書 情報記憶装置、 およびメモリアクセス制御方法、 並びにコンピュータ ·プログ ラム 技術分野 本発明は、 情報記憶装置、 およびメモリアクセス制御方法、 並びにコンビュ ータ ·プログラムに関する。 さらに詳細には、 情報処理装置からのコマンド入 力に応じて、メモリの口ック解除処理としてのアン口ック処理を実行するとと もに、情報記憶装置の電源オフ後の電源再投入時に、 アン口ック処理前の口ッ ク状態データを再現して、再現ロック状態に基づくメモリアクセス制御を実現 した情報記憶装置、 およびメモリアクセス制御方法、 並びにコンピュータ 'プ 口グラムに関する。 背景技術
P C (Personal Computer)、 P D A (Persona丄 Di gi ta丄 Ass i stants)、 ~r、ノ タルカメラ、 データ記録再生装置、 あるいはゲーム機器等、様々な情報処理装 置では、 ハードディスク、 D V D、 C D、 メモリカード等、 様々な記憶媒体を 利用したデータの記録、 再生処理が実行される。
昨今では、 フラッシュメモリ等によって構成されるメモリ部と、 C P U等に よって構成される制御部とを備えた小型のカード型メモリ装置が、音楽データ、 画像データ、プログラム等、様々なソフトウェアデータ(コンテンツ(Content) ) の記憶手段として多く利用されている。
メモリカード等に格納されたデータの読み出し、あるいはデータ書き込みは、 メモリカード 'ィンタフヱースを有する機器にカードを装着し、インタフエ一 スを介してデータ転送を行なうことにより可能となる。メモリ装置を利用した データ記録再生は、 誰もが自由に実行できる構成とすることも可能であるが、
例えばパスワード設定、 あるいは喑号処理などによって、 特定ユーザ、 あるい は特定機器のみに対してメモリ ·アクセスを許可し、権限を持たない第三者に よるアクセスを排除した、 いわゆるァクセ制限構成が実現されている。
例えばァクセス権限を有するユーザのみが知り得るパスワードを設定して、 情報再生装置としてのコンテンツ利用機器から、メモリカード等のコンテンツ 格納機器に対してパスワードを転送し、 メモリカード側の制御部 (C P U等) においてパスヮードの検証を実行して、検証成立を条件として、 メモリカード 等のコンテンツ格納機器から、情報再生装置としてのコンテンツ利用機器に対 してコンテンツを出力する構成、 あるいは、情報再生装置としてのコンテンツ 利用機器と、メモリカード等のコンテンツ格納機器間において相互認証処理を 実行して、相互認証が成立したことを条件として、 メモリカード等のコンテン ッ格納機器から、情報再生装置としてのコンテンツ利用機器に対してコンテン ッを出力する構成等がある。
発明の開示 このように、 データ (コンテンツ) 利用権限を確認した上でデータを利用可 能とする形態は、 様々な形態がある。
しかしながら、 メモリカード等のデータ記憶装置は、 P C、 P D A、 デジタ ルカメラ等、 様々な機器に装着可能であり、 これらの機器で、 相互に 1つのメ モリカードを利用する場合も多い。 このようなデータ利用形態において、 メモ リカードを機器に装着する毎に上述したパスヮード検証処理、認証処理等の実 行が要求されると、データ読み取りあるいはデータ書き込み等の処理に至るま でに時間を要し、 処理効率が低下することになる。
本発明は、上述の問題点に鑑みてなされたものであり、情報処理装置からの コマンド入力に応じて、メモリの口ック解除処理としてのアン口ック処理を実 行するとともに、情報記憶装置の電源オフ後の電源再投入時に、 アンロック処 理前の口ック状態データを再現して、再現口ック状態に基づくメモリアクセス
制御を実現した情報記憶装置、およびメモリアクセス制御方法、並びにコンビ ユータ · プログラムを提供することを目的とする。 本発明の第 1の側面は、
データ記憶用のメモリ と、該メモリに対するアクセス制御を実行する制御部 とを有する情報記憶装置であり、
前記制御部は、
情報処理装置からのコマンド入力に応じて、前記メモリの口ック解除処理と してのアンロック処理を実行するとともに、
アンロック処理前のロック状態データを記憶手段に格納し、該情報記憶装置 の電源オフ後の電源再投入時に、前記記憶手段に格納したロック状態データに 基づいて、前記メモリの口ック状態を再現し、再現口ック状態に基づくメモリ アクセス制御を実行する構成を有することを特徴とする情報記憶装置にある。 さらに、本発明の情報記憶装置の一実施態様において、前記情報記憶装置は、 情報記憶装置の口ック状態データと してのロックステータス情報を前記記憶 手段に格納する構成であり、前記制御部は、前記情報記憶装置の電源オフ後も 格納情報が維持される第 1の記憶手段としての不揮発性メモリ (N V M) に前 記口ックステ一タス情報を格納する構成を有することを特徴とする。
さらに、 本発明の情報記憶装置の一実施態様において、 前記制御部は、 前記 情報記憶装置の電源再投入後に第 2の記憶手段としての制御部内メモリに前 記不揮発性メモリ (N V M) に格納した前記口ックステータス情報をコピー格 納し、該コピー格納情報に基づいてアクセス制御を実行する構成であることを 特徴とする。
さらに、本発明の情報記憶装置の一実施態様において、前記情報記憶装置は、 情報記憶装置の口ック状態データとしての口ックステータス情報を前記記億 手段に格納する構成であり、前記口ックステータス情報は、 口ック処理または アンロック処理に適用可能なキーセッ トの外部出力が許容される口ック状態 であるエクスポートロック (E L ) 状態であるか否か、 および、 ロック処理ま たはアン口ック処理に適用可能なキーセッ トの外部出力が許容されない口ッ
ク状態であるスタンダードロック (S L) 状態であるか否か、 についての判別 情報を含み、前記制御部は、前記判別情報に基づいてメモリアクセス制御を実 行する構成であることを特徴とする。
さらに、 本発明の情報記憶装置の一実施態様において、 前記制御部は、 前記 情報記憶装置の電源再投入により、再現された口ック状態に基づいて、情報処 理装置からのアン口ック要求に対する処理を実行する構成であり、アン口ック 要求を出力した情報処理装置の識別子( I D) を含むキーセッ トの検証処理を 実行し、該検証の成立を条件として、前記アン口ッタ要求に基づく口ック解除 処理を実行する構成であることを特徴とする。
さらに、 本発明の情報記憶装置の一実施態様において、 前記キーセットは、 情報処理装置の保有 I Dと該 I Dに対応する口ックキー(L K) からなるキー セッ ト [ I D, L K] であり、 前記情報記憶装置は、 L K = H (LMK, I D) の関係、 すなわち、 I Dに対するロックマスターキー (LMK) を適用したハ ッシュ値としてロックキー (L K) の算出が可能な口ックマスターキー (LM K) を有し、 前記制御部は、 情報処理装置から入力する情報処理装置保有キー セットの検証を前記口ックマスターキー (LMK) を適用したハッシュ値算出 により取得する口ックキー (L K) に基づいて実行する構成であることを特徴 とする。
さらに、 本発明の情報記憶装置の一実施態様において、 前記制御部は、 乱数 発生処理を実行し、 情報処理装置の所有するロックキー (L K) に基づく前記 乱数 (Rm s ) の暗号化データ [E (L k , Rm s )] を該情報処理装置から 受信し、該受信暗号化データと、前記ハッシュ値算出により取得した口ックキ 一 (LK) に基づいて算出した暗号化データ [E ( L k , Rm s )] との照合 を含む検証処理を実行する構成であることを特徴とする。
さらに、 本発明の第 2の側面は、
データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部 とを有する情報記憶装置におけるメモリアクセス制御方法であり、
情報処理装置からのコマンド入力に応じて、前記メモリの口ック解除処理と してのアン口ック処理を実行するアン口ック処理実行ステップと、
アン口ック処理前の口ック状態データを記憶手段に格納する口ック状態デ ータ記憶ステップと、
情報記憶装置の電源オフ後の電源再投入時に、前記記憶手段に格納したロッ ク状態データに基づいて、前記メモリの口ック状態を再現し、再現口ック状態 に基づくメモリアクセス制御を実行するメモリアクセス制御ステップと、 を有することを特徴とするメモリアクセス制御方法にある。
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記口ッ ク状態データ記憶ステップは、情報記憶装置の口ック状態データとしてのロッ クステータス情報を、前記情報記憶装置の電源オフ後も格納情報が維持される 第 1の記憶手段と しての不揮発性メモリ (N V M) に格納するステップを含む ことを特徴とする。
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記メモ リアクセス制御方法は、 さらに、前記情報記憶装置の電源再投入後に第 2の記 憶手段としての制御部内メモリに前記不揮発性メモリ (N V M) に格納した前 記口ックステータス情報をコピー格納するステップを有し、前記メモリァクセ ス制御ステップは、前記コピー格鈉情報に基づいてアクセス制御を実行するス テツプであることを特徴とする。
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記口ッ ク状態データ記憶ステップは、情報記憶装置のロック状態データとしての口ッ クステータス情報を記憶手段に記憶するステップであり、前記ロックステータ ス情報は、口ック処理またはアン口ック処理に適用可能なキーセットの外部出 力が許容される口ック状態であるェクスポートロッタ (E L )状態であるか否 力 および、 口ック処理またはアン口ック処理に適用可能なキーセットの外部 出力が許容されない口ック状態であるスタンダードロック (S L )状態である か否か、 についての判別情報を含み、 前記メモリアクセス制御ステップは、 前記判別情報に基づいて前記メモリの口ック状態を再現し、再現口ック状態 に基づくメモリアクセス制御を実行するステップであることを特徴とする。 さらに、本発明のメモリアクセス制御方法の一実施態様において、前記メモ リアクセス制御方法は、 さらに、 前記情報記憶装置の電源再投入により、 再現
された口ック状態に基づいて、情報処理装置からのアン口ック要求に対する処 理を実行するアン口ック要求対応処理ステップを有し、前記アン口ック要求対 応処理ステップは、 アンロック要求を出力した情報処理装置の識別子 ( I D) を含むキーセッ トの検証処理を実行する検証処理ステップ、該検証の成立を条 件として、前記アン口ック要求に基づく口ック解除処理を実行する口ック解除 処理ステップ、 を含むことを特徴とする。
さらに、本発明のメモリアクセス制御方法の.一実施態様において、前記キー セットは、 情報処理装置の保有 I Dと該 I Dに対応する口ックキー ( LK) 力、 らなるキーセット [ I D, L K] であり、 前記情報記憶装置は、 L K-H (L MK, I D) の関係、 すなわち、 I Dに対するロックマスタ一キー (LMK) を適用したハッシュ値としてロックキー (L K) の算出が可能な口ックマスタ 一キー (LMK) を有し、 前記検証処理ステップは、 情報処理装置から入力す る情報処理装置保有キーセットの検証を前記口ックマスターキー (LMK) を 適用したハッシュ値算出により取得する口ックキー (L K) に基づいて検証を 実行するステップを含むことを特徴とする。
さらに、本発明のメモリアクセス制御方法の一実施態様において、 前記メモ リアクセス制御方法は、 さらに、 乱数発生処理を実行し、 情報処理装置の所有 するロックキー (L K) に基づく前記乱数 (Rm s ) の暗号化データ [E (L k , Rm s )] を該情報処理装置から受信スルステップを有し、 前記検証処理 ステップは、前記受信暗号化データと、前記ハッシュ値算出により取得した口 ックキー (L K) に基づいて算出した暗号化データ [E (L k , Rm s )] と の照合を含む検証処理を実行するステップを含むことを特徴とする。
さらに、 本発明の第 3の側面は、
データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部 とを有する情報記憶装置におけるメモリ アクセス制御処理を実行するコンビ ユータ 'プログラムであって、
情報処理装置からのコマンド入力に応じて、前記メモリの口ック解除処理と してのアンロック処理を実行するアンロック処理実行ステップと、
アン口ック処理前の口ック状態データを記憶手段に格納する口ック状態デ
ータ記憶ステップと、
情報記憶装置の電源オフ後の電源再投入時に、前記記憶手段に格納したロッ ク状態データに基づいて、前記メモリの口ック状態を再現し、再現口ック状態 に基づくメモリアクセス制御を実行するメモリアクセス制御ステップと、 を有することを特徴とするコンピュータ ' プログラムにある。 本発明の構成によれば、 メモリカード等の情報記憶装置において、情報処理 装置からのコマンド入力に応じて、メモリのロック解除処理としてのアンロッ ク処理を実行するとともに、アン口ック処理前の口ック状態データを記憶手段 に格納し、情報記憶装置の電源オフ後の電源再投入時に、記憶手段に格納した 口ック状態データに基づいて、 メモリの口ック状態を再現し、再現口ック状態 に基づくメモリアクセス制御を実行する構成としたので、情報記憶装置の紛失、 盗難等による第三者によるメモリアクセスを効果的に防止することが可能と なる。
さらに、本発明の構成によれば、情報記憶装置のロック状態データとしての 口ックステータス情報を電源オフ後も格納情報が維持される第 1の記憶手段 と しての不揮発性メモリ (N V M) に格納し、 電源再投入後に第 2の記憶手段 と しての制御部内メモリに口ックステータス情報をコピーして、アクセス制御 を実行する構成としたので、電源オフによっても、 口ック状態維持が可能とな り、 ロック情報の消失によるメモリアクセスを防止できる。
さらに、本発明の構成によれば、 口ック処理またはアン口ック処理に適用可 能なキーセッ トの外部出力が許容される口ック状態としてのエクスポート口 ック (E L ) 状態であるか否か、 キーセットの外部出力が許容されないスタン ダードロック (s L )状態であるか否かについての判別情報を含むロックステ 一タス情報に基づいて、 アクセス制御を行なう構成としたので、様々な態様で のメモリアクセス制御が可能となる。
さらに、 本発明の構成によれば、 再現した口ック状態において、 アンロック 要求を出力した情報処理装置の識別子( I D ) を含むキーセッ トの検証処理を 実行し、該検証の成立を条件として、前記アン口ック要求に基づく口ック解除
処理を実行する構成であるので、正当なホスト装置であることを条件としたセ キュアなメモリアクセス制御が実現される。
なお、 本発明のコンピュータ · プログラムは、 例えば、 様々なプログラム' コードを実行可能な汎用コンピュータ'システムに対して、 コンピュータ可読 な形式で提供する記憶媒体、 通信媒体、 例えば、 C Dや F D、 M Oなどの記憶 媒体、 あるいは、ネットワークなどの通信媒体によって提供可能なコンビユー タ .プログラムである。 このようなプログラムをコンピュータ可読な形式で提 供することにより、 コンピュータ 'システム上でプログラムに応じた処理が実 現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付す る図面に基づく、 より詳細な説明によって明らかになるであろう。 なお、 本明 細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装 置が同一筐体内にあるものには限らない。
図面の簡単な説明 図 1は、本発明の情報記憶装置の利用形態の概要について説明する図である c 図 2は、情報記憶装置を利用するホスト装置のハード構成例を示す図である c 図 3は、 情報記憶装置のハード構成例を示す図である。
図 4は、本発明の情報記憶装置、およびホスト装置の格納データについて説 明する図である。
図 5は、情報記憶装置に対する口ック処理における情報記憶装置とホスト装 置間の通信処理シーケンスについて説明する図である。
図 6は、情報記憶装置に対する口ック処理を説明する処理フローを示す図で あ 0。
図 7は、情報記憶装置に対するアン口ック処理における情報記憶装置とホス ト装置間の通信処理シーケンスについて説明する図である。
図 8は、情報記憶装置に対するアン口ック処理を説明する処理フローを示す
図である。
図 9は、本発明の情報記憶装置、およびホスト装置の格納データについて説 明する図である。
図 1 0は、本発明の情報記憶装置に対する口ック処理態様について説明する 図である。
図 1 1は、情報記憶装置に対するサブキーセットを適用した口ック処理にお ける情報記憶装置とホス ト装置間の通信処理シーケンスについて説明する図 である。
図 1 2は、情報記憶装置に対するサブキーセットを適用した口ック処理を説 明する処理フローを示す図である。
図 1 3は、情報記憶装置に対するインプリントおよびサブキーセットを適用 したアン口ック処理における情報記憶装置とホスト装置間の通信処理シーケ ンスについて説明する図である。
図 1 4は、情報記憶装置に対するインプリントおよびサブキーセットを適用 したアン口ック処理について説明するフロー図である。
図 1 5は、情報記憶装置に対するインプリントおよびサブキーセットを適用 したアン口ック処理について説明するフロー図である。
図 1 6は、情報記憶装置に対するインプリントおよびサブキーセットを適用 したアンロ ック処理における情報記憶装置とホスト装置間の通信処理シーケ ンスについて説明する図である。
図 1 7は、情報記憶装置に対するィンプリントおよびサブキーセットを適用 したアンロック処理におけるロックステータスフラグの更新処理について説 明するフロー図である。
図 1 8は、情報記憶装置に対するアン口ック処理における口ックステータス フラグ参照処理について説明するフロー図である。
図 1 9は、情報記憶装置に対するデータ格納態様としてのクラスタ構成につ いて説明する図である。
図 2 0は、 特定データ領域 (クラスタ) 読み出しに基づく口ック処理につい て説明するフロー図である。
図 2 1は、情報記憶装置に対する口ック /アン口ック実行機器の構成につい て説明する図である。
図 2 2は、 ホスト装置におけるロック状態読み出し処理フロー図である。 図 2 3は、 ホス ト装置における口ック処理時における処理、およびィンジケ ータ表示処理を説明するフロー図である。
図 2 4は、 ホス ト装置におけるアン口ック処理時における処理、およびィン ジケータ表示処理を説明するフロー図である。
発明を実施するための最良の形態 以下、本発明の情報記憶装置、 メモリアクセス制御処理の実施例詳細につい て、 図面を参照して詳細に説明する。
まず、本発明の情報記憶装置を適用したデータ利用構成の概要について、図 1を参照して説明する。情報処理装置 2 0は、例えば P C (Personal Computer) 2 1、 P DA (Personal Digital Assistants) 2 2、 携帯通信端末 2 3、 デ ジタルカメラ 2 4等、情報記憶装置 3 0を装着し、情報記憶装置 3 0からの情 報を出力可能な機器である。
これらの情報処理装置 2 0は、例えばフラッシュメモリ等の不揮発性メモリ (NVM: Non-Volatile Memory) を搭載したメモリカード 3 0を装着し、 メ モリカード 3 0に対してデータを格納し、あるいはメモリカードに格納された データの読み出しを実行する。
P C (Personal Computer) 2 1、 2 2、 P D A (Personal Digital Assistants; 2 3、携帯通信端末 2 4、 デジタルカメラ 2 5の各々は、 1つのメモリカード 3 0を相互に利用する場合もある。例えばデジタルカメラ 2 5で撮影した画像 データをメモリカード 3 0に格納し、その後、 メモリカード 3 0を P C 2 1に 装着して格納画像データの表示、 画像処理等を実行したり、 あるいは、 P C 2 1において、 ィンターネット等のネットワークを介して、 または C D、 DVD 等を介して入手した音楽データ等のコンテンツをメモリカード 3 0に格納し、
その後、 コンテンッを格納したメモリカード 3 0を PDA 2 2に装着して、外 出先で、 PDA 2 2を用いてコンテンツを再生するなどの利用が行なわれる。 図 2にメモリカード等の情報記憶装置を装着可能な情報処理装置の構成例 を示す。 C PU (Central Processing Unit) 1 0 1は、 各種アプリケーショ ンプログラム、 O S (Operating System)を実行するプロセッサである。 後段 で詳細に説明する情報記憶装置に対するアクセス制限処理としての口ック処 理、アン口ック処理におけるハッシュ値算出、乱数生成等を含む各種暗号処理、 およびコマンド送受信等における制御を実行する。
ROM (Read Only Memory) 1 0 2は、 C P U 1 0 1が実行するプログラム や演算用のパラメータのうちの固定データ等を格納する。後段で詳細に説明す る情報記憶装置に対する対するアクセス制限処理としての口ック処理、アン口 ック処理プログラム等が格納される。 RAM (Random Access Memory) 1 0 3 は、 C P U 1 0 1の実行プログラムに適用する情報や、その実行において適宜 変化するパラメータ等を格納する。
D S P (Digital Signal Processor) 1 04は、 例えばメモリカード等の情報 記憶装置 2 0 0から記憶装置 I ZF 1 1 3を介して入力したコンテンッの再 生処理の際の暗号処理、イコライザ調整(音声信号の周波数帯域に対応した利 得の調整)、 圧縮伸長 (エンコード/デコード) 処理等を実行する。
復号、伸長されたコンテンツは、デジタルアナログ変換回路 1 0 5でアナ口 グ音声信号に変換され、増幅回路 1 0 6において増幅された後、音声出力部 1 0 7を介して出力する。 また、 画像データの出力は、 表示コントローラ 1 0 8 を介して L C D等の表示部 1 0 9において実行される。入力 I ZF 1 1 2から は、 外部ソースからデジタル信号、 またはアナログ信号を入力し、 アナログ信 号入力時には AZD変換する。 AZD変換は、入力される入力信号をデジタル 信号へ変換する。 また、 外部ソースからの入力デジタル信号は、 S RC (サン プリングレートコンバータ) により、所定のサンプリング周波数、 量子化ビッ ト数を持つデジタル信号に変換されて入力される。
入出力 I /F 1 1 5は、外部機器を接続するインタフェースであり、例えば U S B, I E E E 1 3 9 4等の接続態様による接続を行ない接続された機器と
のデータ転送が実行される。
次に、 図 3を参照して、 フラッシュメモリ等の不揮発性メモリ (NVM : Non-Volatile Memory) を搭載したメモリカード等の情報記憶装置 2 0 0の構 成例を示す。 フラッシュメモリ は、 E E P R O M (Electrically Erasable Programmable ROM)と呼ばれる電気的に書き換え可能な不揮発性メモリの一形 態である。従来の E E P ROMは、 1ビットを 2個のトランジスタで構成する ために、 1ビット当たりの占有面積が大きく、集積度を高くするのに限界があ つたが、 フラッシュメモリは、全ビット一括消去方式により 1 ビッ トを 1 トラ ンジスタで実現することが可能となった。
このよ うなフラッシュメモリを持つ情報記憶装置 2 0 0は、 P C、 P DA, デジタルカメラ等の情報処理装置に装着され、情報処理装置から入力するデー タを、 メモリ部 2 2 0に格納し、 また、 メモリ部 2 2 0に格納されたデータを 情報処理装置に対して出力する。
情報記憶装置 2 0 0は、 さらに制御部 2 1 0を有し、 制御部 2 1 0は、 各種 プログラムを実行するプロセッサとしての C P U (Central Processing Unit) 2 1 1、 C PU 2 1 1が実行するプログラムや演算用のパラメータのうちの固 定データ等を格納する ROM (ReadOnlyMemory) 2 1 2、 C PU 2 1 1の実 行プログラムに適用する情報や、その実行において適宜変化するパラメータ等 を格納する RAM (Random Access Memory) 2 1 3を有する。
なお、 RAM (Random Access Memory) 2 1 3は、 後段で詳細に説明する情 報記憶装置に対する対するアクセス制限処理としての口ック処理、アン口ック 処理によって変化する口ック状態の状態値データの格納領域としても使用さ れる。
制御部 2 1 0は、 さらに、情報処理装置間とのデータ入出力用のインタフエ ースと しての機器ィンタフェース 2 1 4、メモリ部 2 2 0とのデータ入出力用 のインタフェースと してのメモリインタフェース 2 1 6を有する。
C PU 2 1 1は、後段で詳細に説明する情報処理装置との間で実行されるァ クセス制限処理としての口ック処理、アン口ック処理におけるハッシュ値算出、 乱数生成等を含む各種暗号処理、およびコマンド送受信等における制御を実行
する。
[ロックマスターキー (LMK) に基づく処理]
次に、情報記憶装置に対するアクセス制限機構の一処理例として、 ロックマ スターキー (LMK) を適用した口ック処理及びアン口ック処理について説明 する。 図 4を参照して本処理例、 すなわちロックマスターキー (LMK) を適 用した処理の概要を説明する。
メモリカード等の情報記憶装置 3 2 0のコンテンツ等のデータ格納領域で あるフラッシュメモリ等によって構成されるメモリ部 (図 3のメモリ部 2 2 0) に対するアクセス制限を有効にする処理を口ック処理とし、アクセス制限 を解除する処理をアン口ック処理とする。この口ック処理およびアン口ック処 理を実行するのが、 ホスト装置 3 1 0である。
ホスト装置 3 1 0は、 先に図 1、 図 2を参照して説明したように、 メモリ力 一ド等の情報記憶装置 3 2 0 とのデータ転送を実行するインタフェースを有 し、情報記憶装置 3 2 0に対するデータ書き込みあるいは情報記憶装置 3 2 0 からのデータ読み出しを実行してデータ利用を行なう P C、 PDA、デジタル カメラ、 D S C (Digital Still Camera) 等の情報処理装置を含む。 さらに、 ホスト装置 3 1 0には、メモリカード等の情報記憶装置 3 20に対する口ック 処理/アンロック処理実行専用機器としてのロック 'アン口ック用機器 3 1 2 も含まれる。
ロック 'アン口ック用機器 3 1 2は、 ロック 'アン口ック処理アルゴリズム を実行する制御手段としての C PU、およびデータ格納メモリ としての ROM, RAMを有し、 さらにメモリカード等の情報記憶装置 3 2 0の装着、データ転 送を実行するインタフェースを有し、情報記憶装置 3 2 0に対するロック処理 およびアンロック処理専用の機器として構成される。
以下の説明では、情報記憶装置 3 2 0に対して口ック処理、 アン口ック処理 を実行する機器、 すなわち、 P C, PDA他の情報処理装置と、 ロック 'アン 口ック用機器 3 1 2を含めてホスト装置と呼ぶ。
ホスト装置内の ROM等のメモリ 3 1 5には、各ホスト装置固有の識別子と
しての I D (例えば 1 6バイ トデータ) と、 口ック処理、 アン口ック処理に適 用する鍵データとしてのロックキー (LK) (例えば 8バイ トデータ) が格納 される。 ホスト装置の有する各ホスト装匱固有の識別子 ( I D) と、 ロックキ 一 ( L K) のセッ ト [ I D, LK] をキーセットと呼ぶ。
—方、メモリカード等の情報記憶装置 3 2 0内の制御部内の R OM等のメモ リ 3 2 5には、ロックマスターキー(LMK)が格納される。これらの情報は、 例えば各機器の製造時に各機器に対して書き込まれ、ユーザによる書き換え不 可能なデータとされる。
情報記憶装置 3 2 0に格納される口ックマスターキー (LMK) と、 ホス ト 装置に格納される I Dと、 ロックキー (LK) とは、 以下の関係を持つ。
L K = H ( LMK, I D)
なお、 H (X, Y) は、 キー Xを適用したメッセージ Yに対するハッシュ値 算出処理を示す。 すなわち、 I Dに対して、 ロックマスターキー (LMK) を 適用したハッシュ値算出処理により I Dに対応する口ックキー(LK) が求め られる。
ハッシュ関数は、一方向性関数であり、その出力から逆に入力を求めるのは 非常に困難となる関数である。上記式においては、各ホスト装置に固有の I D に対して、口ックマスタ一キー(LMK)を鍵として一方向性関数を適用して、 その出力を各ホスト装置に固有の I Dに対応するロックキー (LK) とした設 定である。 ハッシュ ·アルゴリズムとしては MD 5 , SH Aなどが適用可能で める。 ,
(口ック処理)
次に上述した口ックマスターキー (LMK) を適用した口ック処理、 すなわ ち情報記憶装置に対するアクセス制限を有効にする処理について説明する。 図 5に口ック処理におけるホス ト装置と、情報記憶装置間で実行される処理 シーケンス図を示す。 ホスト装置と、 情報記憶装置は、 それぞれ相互にデータ 転送可能に接続されている。 まず、 ホス ト装置が、 乱数発生コマンドを情報記 憶装置に対して出力する。乱数発生コマンドを受信した情報記憶装置は、所定
長、例えば 1 6バイ ト乱数(Rm s ) の発生処理を実行し、発生乱数(Rm s ) をホス ト装置に対して送信する。 なお、 情報記憶装置は、 発生乱数 (Rm s ) を制御部内の RAM等のメモリに格納しておく。
情報記憶装置から乱数 (Rm s ) を受信したホスト装置は、 予めホス ト装置 内のメモリに格納済みの口ックキー(LK)を暗号処理キーとした受信乱数(R m s ) の暗号処理: E (LK, Rm s ) を実行する。 なお、 E (X, Y) は、 キー [X] を適用したメッセージ [Y] の喑号処理を示す。 暗号処理アルゴリ ズムは様々なアルゴリズムの適用が可能であり、例えば D E S暗号処理アルゴ リズムが適用される。
ホスト装置は、 口ックキー(LK) を暗号処理キーとした受信乱数(Rm s ) の暗号処理: E ( L K, Rm s ) を実行し、 その結果データ [E (LK, R m s )] と、 ホス ト装置が予めホス ト装置内のメモリに格納しているホス ト装置 固有の識別子( I D)とを、ロックコマンドとともに情報記憶装置に送信する。 データ : I D, E (LK, Rm s ) を受信した情報記憶装置は、 まず、 受信 した I Dに対して、 自己のメモリに格納されている口ックマスターキー (LM K)を適用したハッシュ値算出処理により、受信 I Dに対応する口ックキー(L K) を算出する。 すなわち、
LK = H ( LMK, I D)
により、 受信 I Dに対応するロックキー (LK) を算出する。 なお、 受信 I Dは、 自己のメモリに格納保持する。 受信 I Dは、 後述するアン口ック処理の 際に利用する。
さらに、 情報記憶装置は、 自己のメモリに格納した乱数 Rm sに対して、 上 述のハッシュ値算出により求めたロックキー (LK) を適用した喑号処理: E (LK, Rm s ) を実行し、 ホスト装置から受信した暗号処理データ : E (L K, Rm s ) と一致するか否かの照合処理を実行する。 なお、 暗号処理アルゴ リズムはホス ト装置と同一のアルゴリズムであれば、様々なアルゴリズムの適 用が可能である。
ホスト装置からの受信データ : E (LK, Rm s ) と、 自身が算出した暗号 処理データ : E (LK, Rm s ) とが一致すれば、 正当な I Dと LKの組デー
タを持つホスト装置からの口ック処理要求であると判定し口ック処理を実行 し、 ロック完了通知をホス ト装置に対して送信する。 情報記憶装置は、 ロック 処理を実行したホスト装置のキーセッ ト [ I D, LK] をフラッシュメモリ等 の不揮発性メモリ (NVM: Non-Volatile Memory) によって構成されるメモ リ部 2 2 0に格納保持する。
ホス ト装置からの受信データ : E (LK, Rm s ) と、 自身が算出した喑号 処理データ : E (LK, Rm s ) とが不一致の場合は、 正当な I Dと LKの組 データを持つホスト装置では無いと判定し、不正機器からの口ック処理要求で あると判定し、 口ック処理を行なわずエラー通知をホスト装置に送信する。 なお、情報記憶装置の実行するロック処理は、 コンテンツ等のデータ格納領 域であるフラッシュメモリ等によつて構成されるメモリ部(図 3のメモリ部 2 2 0) に対するアクセスを、次に説明するアン口ック処理を実行することを条 件として許可する設定とする処理である。
次に、図 6に示すフロ一チヤ一トを参照して、 ロック処理の手順について説 明する。 ステップ S 1 0 1において、 情報記憶装置と してのメモリカードが、 ホスト装置からの乱数発生要求コマンドの受信に基づいて、 乱数 (R s m) を 発生する。 発生した乱数は、 ステップ S 1 0 2において、 ホスト装置によって 読み出され、 ステップ S 1 0 3において、 ロックコマンドとともに、 ホスト装 置の I D、 および乱数 (Rm s ) をホスト装置の口ックキー (LK) で暗号化 したデータ : E (LK, Rm s ) を情報記憶装置としてのメモリカードに送信 する。
ステップ S 1 0 4において、 メモリカードは、 受信した I D、 および暗号化 データ : E (LK, Rm s ) とを情報記憶装置内のメモリに書き込む。 ステツ プ S 1 0 5において、 メモリカードは、 自身のメモリに格納した口ックマスタ 一キー (LMK) を適用して、 受信 I Dのハッシュ値算出、 すなわち、
H ( LMK, I D) = L
を実行し、 受信 I Dに対応するロックキー (LK) を算出する。
さらに、 メモリカードは、 算出したロックキー (LK) に基づいて、 先にス テツプ S 1 0 1で発生した乱数 (Rm s ) の暗号化処理を実行して、 暗号化デ
ータ : E (L K, Rm s ) を照合用データとして算出する。
次に、 メモリカードは、 ステップ S 1 0 6において、 ステップ S 1 0 5で算 出した暗号化データ : E (LK, Rm s ) と、 ステップ S 1 0 3でロックコマ ンドとともにホスト装置から受信し、ステップ S 1 0 4で、 メモリに格納した 暗号化データ : E (L K, Rm s ) との比較照合処理 [E (LK, R m s ) = E (LK, Rm s ) ?] を実行する。
この比較照合処理において、 両値が等しければ、 ホスト装置は、 正当な正し い I Dと口ックキー(LK)の組データを保有した正当な機器であると判定し、 ステップ S 1 0 7において口ックコマンドに応じた口ック処理、すなわち、後 述するアン口ック処理の成功を条件としてメモリに対するアクセスを可能と する設定を実行する。 この際、 情報記憶装置は、 ロック処理を実行したホス ト 装置のキーセット [ I D, LK] をフラッシュメモリ等の不揮発性メモリ (N VM: Non-Volatile Memory) によって構成されるメモリ部 2 2 0に格納保持 する。
一方、 ステップ S 1 0 6の比較照合処理において、両値が等しくないと判定 されると、ステップ S 1 0 8において、 ロックコマンドを送信してきたホスト 装置は、 正しい I Dと口ックキー (LK) の組データを保有していない不正機 器であると判定し、 口ック処理を実行せず、エラー通知をホスト装置に対して 送信する。
(アンロック処理)
次に上述した口ックマスターキー(LMK) を適用した口ック処理による口 ックを解除するアン口ック処理、すなわち情報記憶装置に対するアクセス制限 を解除する処理について説明する。
図 7にアン口ック処理におけるホスト装置と、情報記憶装置間で実行される 処理シーケンス図を示す。 ホスト装置と、 情報記憶装置は、 それぞれ相互にデ ータ転送可能に接続されている。 まず、 ホスト装置が、 乱数発生コマンドを情 報記憶装置に対して出力する。 乱数発生コマンドを受信した情報記憶装置は、 所定長、 例えば 1 6バイ ト乱数 (Rm s ) の発生処理を実行し、 発生乱数 (R
m s ) と、 先の口ック処理の際にメモリに格納済みのホスト装置の I D、 すな わち口ック処理を実行したホスト装置の I Dをホスト装置に対して送信する。 なお、 情報記憶装置は、 発生乱数 (Rni s ) を制御部内の RAM等のメモリに 格納しておく。
情報記憶装置から I Dと、 乱数 (Rm s ) を受信したホス ト装置は、 まず、 受信 I Dが自己の I Dと一致するか否かを判定する。 一致していない場合は、 他のホスト装置による口ックが実行されていることになり、その口ックを解除 することはできない。
受信 I Dが自己の I Dと一致する場合は、そのホスト装置自身が実行した口 ックであり、 解除処理としてのアン口ックが可能となる。 この場合、 ホス ト装 置は、 予めホスト装置内のメモリに格納済みの口ックキー (L K) を暗号処理 キーとした受信乱数 (Rm s ) の暗号処理: E (L K, Rm s ) を実行し、 そ の結果データを、 アンロックコマンドとともに情報記憶装置に送信する。 暗号化データ : E (L K, Rm s ) を受信した情報記憶装置は、 まず、 自己 のメモリに格納されているホスト装置 I D、すなわち、 口ック処理を実行した ホスト装置の I Dを読み出して、読み出した I Dに対して、 ロ ックマスターキ 一 (LMK) を適用したハッシュ値算出処理により、 ロック処理を実行したホ ス ト装置の I Dに対応するロックキー (L K) を算出する。 すなわち、
L K = H ( LMK, I D)
により、 口ック処理を実行したホスト装置の I Dに対応する口ックキー(L K) を算出する。
さらに、 情報記憶装置は、 自己のメモリに格納した乱数 Rm sに対して、 上 述のハッシュ値算出により求めた口ックキー (L K) を適用した喑号処理: E (LK, Rm s ) を実行し、 ホスト装置から受信した暗号処理データ : E (L K, Rm s ) と一致するか否かの照合処理を実行する。
ホス ト装置からの受信データ : E (L K, Rm s ) と、 自身が算出した暗号 処理データ : E (L K, Rm s ) とが一致すれば、 正当な I Dと LKの組デー タを持つホスト装置からのアン口ック処理要求であると判定しアンロ ック処 理を実行し、 アンロック完了通知をホスト装置に対して送信する。不一致の場
合は、正当な I Dと LKの組データを持つホスト装置では無いと判定し、不正 機器からのアン口ック処理要求であると判定し、アン口ック処理を行なわずェ ラー通知をホスト装置に送信する。
なお、情報記憶装置の実行するアン口ック処理は、 口ック処理の解除を意味 し、コンテンッ等のデータ格納領域であるフラッシュメモリ等によって構成さ れるメモリ部(図 3のメモリ部 2 2 0) に対するアクセスを許可する設定とす る処理である。
次に、 図 8に示すフローチヤ一トを参照して、アン口ック処理の手順につい て説明する。 ステップ S 2 0 1において、情報記憶装置としてのメモリカード 力、ホスト装置からの乱数発生要求コマンドの受信に基づいて、乱数(R s m) を発生する。 発生した乱数は、 ステップ S 2 0 2において、 先に口ック処理を 実行したホスト装置の I Dとともに、 ホスト装置によって読み出される。 ホスト装置は、メモリカードから読み出した I Dと自己のホス ト I Dがー致 することで、 アン口ック可能と判断し、 ステップ S 2 0 3において、 アンロッ クコマンドとともに、 受信乱数 (Rm s ) をホス ト装置のロックキー (LK) で暗号化したデータ : E (LK, Rm s ) を情報記憶装置としてのメモリカー ドに送信する。
ステップ S 2 0 4において、メモリカードは、受信した暗号化データ: E (L K, Rm s ) とを情報記憶装置内のメモリに書き込む。 ステップ S 2 0 5にお いて、 メモリカードは、先の口ック処理時にメモリに格納した口ック処理を実 行したホス ト装置 I Dを読み出して、読み出した I Dに対して、 自身のメモリ に格納した口ックマスターキー (LMK) を適用してハッシュ値算出、 すなわ ち、
H (LMK, I D) = L K
を実行し、 I Dに対応するロックキー (LK) を算出する。 ' さらに、 メモリカードは、 算出したロックキー (LK) に基づいて、 先にス テツプ S 2 0 1で発生した乱数 (Rm s ) の暗号化処理を実行して、 暗号化デ ータ : E (LK, Rm s ) を照合用データとして算出する。
次に、 メモリカードは、 ステップ S 2 0 6において、 ステップ S 2 0 5で算
出した暗号化データ : E (L K, Rm s ) と、 ステップ S 2 0 3でアンロック コマンドとともにホス ト装置から受信し、 ステップ S 2 04で、 メモリに格納 した暗号化データ : E (L K, Rm s ) との比較照合処理 [E ( L K, Rm s ) = E (LK, Rm s ) ?] を実行する。
この比較照合処理において、 両値が等しければ、 ホスト装置は、 正当な正し い I Dと口ックキー(LK)の組データを保有した正当な機器であると判定し、 ステップ S 2 0 7においてアン口ックコマンドに応じたアン口ック処理、すな わち、 メモリに対するアクセスを可能とする設定を実行する。 一方、 ステップ S 2 0 6の比較照合処理において、两値が等しくないと判定されると、ステツ プ S 2 0 8において、アンロックコマンドを送信してきたホスト装置は、 口ッ ク処理を実行した正しい I Dとロックキー ( L K) の組データを保有したホス ト装置ではないと判定し、 アンロック処理、 すなわちロック解除を実行せず、 エラー通知をホス ト装置に対して送信する。
上述したように、本処理例によれば、 ホスト装置 I Dと対応する口ックキー (L K) の正当な組み合わせデータを持つホス ト装置のみが、情報記憶装置に 対するロック処理が実行でき、 また、 ロック解除としてのアンロック処理は、 口ック処理を実行したホスト装置によってのみ可能となる。 また、上述の口ッ ク処理およびアン口ック処理において、情報記憶装置のみがホスト装置の認証 処理を実行するいわゆる片側認証処理を実行する構成であるので、ホスト装置 側の処理負担が軽減され、 効率的な処理が可能となる。
また、 上述したロック処理、 アンロック処理は、 情報記憶装置側において、 その処理毎に発生した乱数を適用する構成であるので、過去の処理における記 録データを適用するとことは不可能であり、過去処理のトレースに基づく不正 処理を効果的に防止できる。
[機器グループでの口ック処理構成]
上述した口ック処理、 アン口ック処理は、 1つのホス ト装置毎に情報記憶装 置が対応する処理として実行され、口ックを実行したホスト装置のみがアン口 ック処理が可能となる構成例であった。 しかし、 複数のホスト装置が、 1つの
情報記憶装置(メモリカード)を利用する構成においては、あるホスト装置(機 器 A) でデータを格納しロック した情報記憶装置 (メモリカー ド) を他のホス ト装置 (機器 B) で利用したいといった状況が発生する。
このような場合、ホスト装置(機器 A)で口ック解除処理を行なわない限り、 ホス ト装置 (機器 B) ではロック解除が実行できないことになる。 以下では、 このような場合に対応可能な構成、すなわち複数のホスト装置によって構成さ れるホスト装置のグループにおいて、各ホスト装置各々が口ック処理アン口ッ ク処理を実行可能とした処理例について説明する。 まず、図 9を参照して本処 理例の概要を説明する。
メモリカード等の情報記憶装置 5 2 0のコンテンッ等のデータ格納領域で あるフラッシュメモリ等によって構成されるメモリ部 (図 3のメモリ部 2 2 0) に対するアクセス制限を有効にする処理を口ック処理とし、 アクセス制限 を解除する処理をアン口ック処理とする。 この点は、前述した処理例と同様で ある。 口ック処理およびアン口ック処理を実行するのが、ホスト装置 5 1 0で ある。
ホスト装置 5 1 0は、 先に図 1、 図 2を参照して説明したように、 メモリ力 一ド等の情報記憶装置 5 2 0とのデータ転送を実行するィンタフエースを有 し、情報記憶装置 5 2 0に対するデータ書き込みあるいは情報記憶装置 5 2 0 からのデータ読み出しを実行してデータ利用を行なう P C、 PDA,デジタル カメラ、 D S C (Digital Still Camera) 等の情報処理装置を含み、 さらに、 ' メモリカード等の情報記憶装置 5 2 0に対する口ック処理、アン口ック処理実 行専用機器としてのロック ·アン口ック用機器 5 1 2も含まれる。
ホスト装置内の ROM等のメモリ 5 1 5には、各ホスト装置固有の識別子と しての I D s (例えば 1 6バイ トデータ) と、 口ック処理、 アン口ック処理に 適用する鍵データとしてのロックキー (LK s ) (例えば 8バイ トデータ) 力 S 格納される。 この I D s, LK sは前述の処理例における I D, LKに対応す るデータの組であり、上述の処理と同様の口ック処理、 アン口ック処理に適用 可能である。
この I D s、 L K sは、 プライマリ I D、 プライマリロックキーであり、 各
ホス ト装置の製造時にホス ト装置内の ROM等のメモリに書き込まれ、ユーザ による書き換え不可能なデータとされる。これらのプライマリ I D ( I D s )、 プライマリロックキー (L K s ) は、 上述した LMK適用処理と全く同様、 ホ ス ト装置対情報記憶装置の 1対 1対応の口ック処理、アン口ック処理に適用で きる。 この、 各ホスト装置に固有のプライマリ I D、 プライマリ ロックキーか らなるキーセッ ト : [ I D s , L K s ] をプライマリキーセッ トと呼ぶ。
このプライマリキーセッ ト : [ I D s, L K s ] を適用した口ック処理をス タンダードロック処理と呼び、ホス ト装置と しての情報処理装置からスタンダ 一ドロックコマンドを情報記憶装置に対して出力することでスタンダードロ ックが実行され、アン口ックコマンドの出力によりアンロック処理が実行され る。
ホス ト装置内の ROM等のメモリ 5 1 5には、 さらに、 他のホス ト装置に対 してコピー供給可能なキーセッ トと してのサブ I Dとサブ口ックキ一の組デ ータと してのサブキーセッ ト : [ I D e n, L K e n ] ( n = 1 , 2 , · · ) 力 S 1以上格納可能となる。
このサブキーセッ ト : [ I D e n, LK e n] は、 複数のホス ト装置におい て共通に格納可能な鍵であり、 後述する処理手順により、他のホス ト装置に格 納済みのサブキーセッ ト : [ I D e n, LK e n] は、 情報記憶装置を介して 他のホス ト装置にコピー格納することが可能である。
サブキーセッ ト : [ I D e n , L K e n ] を適用して、 情報記憶装置 (メモ リカード) に対して口ック処理を実行し、 口ック処理に適用したサブキーセッ トを、 情報記憶装置 (メモリカード) を介して他のホス ト装置にコピー出力可 能とした態様の口ック処理をェクスポート口ック処理と呼ぶ。
このサブキーセッ ト : [ I D e n, LK e n] を適用したロック処理をェク スポート口ック処理と呼び、ホス ト装置と しての情報処理装置からェクスポー トロッタコマンドを情報記憶装置に対して出力することでェクスポートロッ クが実行され、アン口ックコマンドの出力によりアン口ック処理が実行される。 エクスポート口ックのなされた情報記憶装置 (メモリカード) から、 ホス ト 装置が入手したサブキーセッ ト : [ I D e n, LK e n] は、 そのホス ト装置
内のメモリに書き込み可能となる。このサプキーセッ トのコピー書き込み処理 をイ ンプリ ント処理と呼ぶ。 インプリ ント処理により、 同一のサプキーセッ ト : [ I D e n, LK e n] を有する複数のホス ト装置からなるグループが形 成される。
このよ うに、 サブキーセッ ト : [ I D e n, LK e n] は、 外部に出力可能 な設定と した口ック処理、 すなわちェクスポート ( e x p o r t ) ロック処理 に適用可能なキーセッ トであり、それぞれ、 I D, LKに [ e ] を添えて示す。
[e n] の nは、 サブキーセッ トナンバーを示し、 設定したグループ数に相当 する。
各ホス ト装置は、 複数の異なるサブキーセッ トを格納可能である。 例えば、 サブキーセッ ト 1 : [ I D e l , L K e 1 ] を、 ホス ト装置と しての P C (Personal Computer; ― a , P C— b , PDA (Personal Digital Assistants) 一 aの 3つのホス ト装置からなるグループの共有サブキーセッ ト (サブ 1 ) と して設定し、 サブキーセッ ト 2 : [ I D e 2, LK e 2] を、 P C— a , P D A— a . P DA— bのグループの共有サブキーセッ ト (サブ 2) として設定し た場合、 各ホス ト装置は、 それぞれのプライマリ I D ( I D s ), プライマリ ロックキー (L K s ) からなるプライマリキーセッ ト [ I D s , LK s ] をメ モリに格納するとともに、
P C— aは、 [ I D e l , L K e 1 ], [ I D e 2 , L K e 2 ]
P C— bは、 [ I D e l , L K e 1 ]
PDA— aは、 [ I D e l , L K e 1 ], [ I D e 2 , L K e 2 ]
PDA— bは、 [ I D e 2, L K e 2 ]
の各サブ I Dとサブ口ックキーからなるサプキーセッ トを、それぞれ格納す ることになる。
これらのサブ I Dとサブロックキーの組データからなるサブキーセッ ト : [ I D e n , LK e n] を自己のメモリ 5 1 5内に書き込むことで、 1以上の ホス ト装置からなるホス ト装置グループ一 nの構成メンバーとなることがで き、 グループ nのメンバは、 共通に保有するサブ I D ( I D n)、 共通のサブ ロックキー (LKn) を適用して、 1つの情報記憶装置 (メモリカード) に対
するロック処理、 アンロック処理が可能となる。
一方、メモリカード等の情報記憶装置 5 2 0内の制御部内の ROM等のメモ リ 5 2 5には、 口ックマスターキー (LMK) が格納される。 情報記憶装置 5 2 0に格納されるロックマスターキー (LMK) と、 ホス ト装置に格納される I D ( I D sおよび I D e nを含む) と、 ロックキー (LK (LK s と LK e nを含む)) とは、 以下の関係を持つ。
L K = H (LMK, I D)
このロックマスターキー (LMK) と、 I D, LKとの対応は、 前述の LM Kの適用処理と全く同様であり、 プライマリ I D ( I D s ) に対する口ックマ スターキー LMKを適用したハツシュ値算出処理により、プライマリ ロックキ 一 (LK s ) が算出され、 サプ I D ( I D e n) に対する口ックマスターキー LMKを適用したハッシュ値算出処理により、 サブロックキー (LK e n) が 算出される。
プライマリキーセッ ト [ I D s , LK s ] と、 サブキーセッ ト [ I D e n, LK e n] を利用したロック処理態様について、 図 1 0を参照して説明する。 ロック処理態様には、 図 1 0 ( a ) 〜 ( c) に示す 3つの態様がある。
( a) は、 各ホス ト装置 5 1 0に固有のプライマリ I D ( I D s ) と、 プラ ィマリ ロックキー (LK s ) とからなるプライマリキーセッ ト [ I D s , LK s ] 5 3 1 を適用したスタンダードロック処理である。
プライマリキーセッ ト : [ I D s, LK s ] 5 3 1を適用したスタンダード 口ック処理は、ホス ト装置 5 1 0から情報記憶装置 5 2 0に対してスタンダー ドロックコマンドを出力することで実行され、アン口ックコマンドの出力によ りアン口ック処理が実行される。
スタンダードロック処理がなされると、ロック情報記憶装置(メモリカード) 5 2 0の記憶部(フラッシュメモリ) のスタンダードロックキーセッ ト格納領 域 5 4 1にプライマリキーセッ ト [ I D s , LK s ] が格納される。 このロッ ク処理が実行されると、スタンダードロックに適用したプライマリキーセッ ト [ I D s , LK s ] は、 口ック情報記憶装置 (メモリカード) 5 2 0から外部 に出力されることはなく、 ロック解除 (アンロック) 処理が実行できるのは、
同一のプライマリ キーセッ ト [ I D s , L K s ] を有するホス ト装置、 すなわ ちスタンダードロック処理を実行した唯一のホス ト装置となる。
プライマリ I D ( I D s ), プライマリ ロックキー (LK s ) からなるプラ ィマリキーセッ ト [ I D s , LK s ]は、上述した LMK適用処理と全く同様、 ホス ト装置対情報記憶装置の 1対 1対応の口ック処理、アン口ック処理に適用 でき、 図 5乃至図 8を参照して説明した処理と同様な処理での口ック処理、 ァ ンロック処理が可能である。
(b) は、 複数のホス ト装置が共有可能なサブ I D ( I D e n) と、 サプロ ックキー (LK e n ) とからなるサブキーセッ ト [ I D e n, LK e n] 5 3 2を適用したエクスポートロック処理である。
サプキーセッ ト [ I D e n, LK e n] 5 3 2を適用したェクスポートロッ ク処理は、ホス ト装置 5 1 0から情報記憶装置 5 2 0に対してェクスポート口 ックコマンドを出力することで実行され、アン口ックコマンドの出力により了 ンロック処理が実行される。
エクスポート口ック処理がなされると、口ック情報記憶装置(メモリカード) 5 20の記憶部 (フラッシュメモリ) のェクスポートロックキーセッ ト格納領 域 54 2にサブキーセッ ト [ I D e n, LK e n] が格納される。 このロック 処理が実行された場合、 ェクスポートロッタに適用したサブキーセッ ト [ I D e n, LK e n] は、 後段で詳細に説明するインプリ ント処理を実行すること で、 他のホス ト装置が、 ロック情報記憶装置 (メモリカード) 5 2 0から入手 することが可能となる。
このエクスポートロック処理が実行された場合、 ロ ック解除 (アンロック) 処理が実行できるのは、 口ック処理を実行したホス ト装置と、 ィンプリント処 理によって、 ェクスポートロックに適用したサブキーセッ ト [ I D e n, L K e η] を入手したホス ト装置となる。
( c) は、 各ホス ト装置 5 1 0が共有可能なサブ I D ( I D e n) と、 サブ ロックキ一 (LK e n) とからなるサプキーセッ ト [ I D e n, LK e n] 5 3 2を適用したスタンダードロック処理である。この処理をグループ口ックと 呼ぶ。
サプキーセッ ト [ I D e n, LK e n] 5 3 2を適用したスタンダードロッ ク処理、 すなわちグループ口ック処理は、 ホス ト装置 5 1 0から情報記憶装置 5 2 0に対してスタンダードロックコマンドを出力することで実行され、アン ロックコマン ドの出力によ りアン口ック処理が実行される。 ただし、 この処理 の際に適用するキーセッ トは、 サブキーセッ ト [ I D e n, L K e n ] 5 3 2 となる。
これは、 基本的には、 スタンダ一ドロックと同様の処理であり、 適用するキ 一セッ トをサプキーセッ ト [ I D e n, LK e n] 5 3 2 と した処理である。 このグループロック処理がなされると、 ロック情報記憶装置 (メモリカード) 5 2 0の記憶部 (フラッシュメモリ) のスタンダードロックキーセッ ト格納領 域 5 4 1にサブキーセッ ト [ I D e n, LK e n] が格納される。 このロック 処理が実行されると、 グループロックに適用したサブキーセッ ト [ I D e n, LK e n] は、 スタンダードロックキーセッ ト格納領域 5 4 1に格納されるの で、 口ック情報記憶装置 (メモリカード) 5 2 0から外部に出力されることは ない。
このグループ口ックの解除 (アンロック) 処理が実行できるのは、 同一のサ ブキーセッ ト [ I D e n, LK e n] を有するホス ト装置である。 ただし、 こ の場合、 グループ口ックを実行したホス ト装置のみならず、 すでに同一のサブ キーセッ ト [ I D e n, L K e n] を事前に入手したホス ト装置が含まれる。 例えば、 事前に同一のサブキーセッ ト [ I D e n , LK e n] を適用したェ クスポートロック処理が行なわれ、そのェクスポート口ック処理の実行時にィ ンプリント処理により同一のサプキーセッ ト [ I D e n, LK e n]を入手し、 メモリに格納しているホス ト装置は、 アン口ックが可能となる。
サプキーセッ ト [ I D e n, LK e n] を適用したスタンダードロック、 す なわちグノレープロックにおけるロック処理、 アンロック処理のシーケンスは、 上述した LMK適用処理と同様のシーケンス (図 5乃至図 8参照) となる。 た だし、 口ック アン口ックを実行できるホス ト装置が、 インプリ ント処理によ り複数になり得る点が異なる。
以下、 複数のホス ト装置において共有可能なサブ I D ( I D e n), サブ口
ックキー (LK e n)、 すなわち、 サブキーセット [ I D e n, LK e n] を 適用した口ック処理、 および、 情報記憶装置 (メモリカード) を介したホス ト 装置に対するサブキーセッ ト [ I D e n, LK e n] のコピー格納処理 (ィン プリント処理) および、ェクスポートロックの解除としてのアン口ック処理に ついて説明する。
(サブキーセットに基づく口ック処理)
まず、 サブ I D ( I D e n), サプロックキー (LK e n ) からなるサブキ 一セッ ト [ I D e n, LK e n] を適用した情報記憶装置 (メモリカード) に 対するロック処理の詳細について説明する。
前述したように、 サブキーセッ ト : [ I D e n, LK e n] を適用した情報 記憶装置 (メモリカード) に対する口ック処理により、 口ック処理に適用した サブキーセッ トを、 情報記憶装置 (メモリカード) を介して他のホスト装置に コピー出力可能としたェクスポートロック処理が可能となる。
図 1 1にサブキ一セットに基づく口ック処理におけるホスト装置と、情報記 憶装置間で実行される処理シーケンス図を示す。 ホスト装置と、情報記憶装置 は、 それぞれ相互にデータ転送可能に接続されている。
なお、情報記憶装置は、図 1 1に示す口ックステータスフラグ 5 5 1を有し、 情報記憶装置におけるロック状態を示す値を保持する。上段の NVMは、図 3 において説明したフラッシュメモリ等によって構成されるメモリ部 2 2 0の N VM (Non-Volatile Memory) 領域に格納されるフラグであり、 下段は、 制 御部 2 1 0内の RAM 2 1 3に格納されるフラグである。情報記憶装置の電源 オフにより、 RAM内のフラグは消去されるが、 NVMのフラグデータは維持 される。従って RAMのフラグの書き換えに応じて、 NVMに対するフラグデ ータのコピーが実行され、 電源オフ後、 新たに電源オンとなった場合に、 NV Mのフラグ情報が RAMにコピーされる。 なお S Lはスタンダードロック、 E Lはエクスポートロックであり、 1がロック状態、 0が非ロック状態を示す。 スタンダードロックは、 ロックに適用したキーセット [ I D, L K] の外部 出力を認めない口ック態様であり、ェクスポートロックは、 ロックに適用した
キーセッ ト [ I D, L K]の外部出力を認めた口ック態様であり、 S L = 1は、 スタンダードロック状態であること、 E L= 1は、エクスポートロック状態で あることを示している。
情報記憶装置 (メモリカード) は、 スタンダードロックに適用したキーセッ トと、エクスポートロックに適用したキーセットとをそれぞれ格納するデータ 格納領域をメモリ部 (フラッシュメモリ (NVM)) 内に有する。
初期状態としては、 図に示すように、 S L = 0 , E L= 0であり、 スタンダ ードロック ( S L)、ェクスポートロック (E L) のいずれも行われていない、 すなわちすべてのホスト装置が情報記憶装置のメモリ部に対してアクセス可 能な状態である。
この初期状態において、 まず、 ホス ト装置が、 乱数発生コマンドを情報記憶 装置に対して出力する。乱数発生コマンドを受信した情報記憶装置は、所定長、 例えば 1 6バイ トの乱数 (Rm s ) の発生処理を実行し、 発生乱数 (Rm s ) をホス ト装置に対して送信する。 なお、 情報記憶装置は、 発生乱数 (Rm s ) を制御部内の RAM等のメモリに格納しておく。
情報記憶装置から乱数 (Rm s ) を受信したホスト装置は、 予めホスト装置 内のメモリに格納済みのサブ口ックキー (L K e n) を喑号処理キーとした受 信乱数 (Rm s ) の暗号処理: E (LK e n, Rm s ) を実行する。 暗号処理 アルゴリズムは様々なアルゴリズムの適用が可能であり、例えば D E S喑号処 理アルゴリズムが適用される。
ホスト装置は、 サブ口ックキー (LK e n) を暗号処理キーとした受信乱数 (Rm s ) の喑号処理: E (L K e n , Rm s ) を実行し、その結果データ [E (LK e n, Rm s )] と、 ホス ト装置が予めホス ト装置内のメモリに格納し ているサブロックキー(LK e n)に対応する組みデータと してのサブ I D ( I D e n) とを、 ロックコマンドとともに情報記憶装置に送信する。
データ : I D e n, E (LK e n, Rm s ) を受信した情報記憶装置は、 ま ず、 受信したサブ I D ( I D e n) に対して、 自己のメモリに格納されている 口ックマスターキー (LMK) を適用したハッシュ値算出処理により、 受信サ プ I D ( I D e n) に対応するサブ口ックキー (LK e n) を算出する。 すな
わち、
L K e n =H ( LMK, I D e n)
により、 受信サブ I D ( I D e n) に対応するサプロックキー ( L K e ιι ) を算出する。 なお、 受信サブ I D ( I D e n) は、 自己のメモリに格納保持す る。受信サブ I D ( I D e n)は、後述するアン口ック処理の際に利用される。 さらに、 情報記憶装置は、 自己のメモリに格納した乱数 Rm sに対して、 上 述のハッシュ値算出により求めたサブ口ックキー(LK e n) を適用した暗号 処理: E (L K e n , Rm s ) を実行し、 ホスト装置から受信した暗号処理デ ータ: E (LK e n, Rm s ) と一致するか否かの照合処理を実行する。なお、 暗号処理アルゴリズムはホスト装置と同一のアルゴリズムであれば、様々なァ ルゴリズムの適用が可能である。
ホスト装置からの受信データ : E (LK e n , Rm s ) と、 自身が算出した 喑号処理データ: E (LK e n, Rm s ) とが一致すれば、正当なサブ I D ( I D e n) と、 サブロ ックキー (LK e n) の組データを持つ正当なホスト装置 からの口ック処理要求であると判定しェクスポート口ック処理を実行し、口ッ ク完了通知をホスト装置に対して送信する。 不一致の場合は、正当なサブ I D ( I D e n ) とサブ口ックキー (L K e n) の組データを持つホスト装置では 無いと判定し、不正機器からの口ック処理要求であると判定し、ェクスポート 口ック処理を行なわずエラー通知をホスト装置に送信する。
なお、情報記憶装置の実行するエクスポートロック処理は、 コンテンツ等の データ格納領域であるフラッシュメモリ等によって構成されるメモリ部(図 3 のメモリ部 2 2 0) に対するアクセスを、 次に説明するサブ I D、 サブロック キーを適用したアン口ック処理を実行することを条件として許可する設定と する処理であり、ェクスポ一トロックに適用されたェクスポートキーセッ ト : [ I D e n , LK e n] を情報記憶装置 (メモリカード) のメモリ部 (フラッ シュメモリ (NVM))のエクスポートロ ックキーセッ ト格納領域に格納する。 さらに、 ロックステータスフラグの書き換えを実行する。
エクスポート口ックが実行されると、図に示すように、 ロックステータスフ ラグは、 ェクスポートロックが有効な状態を示すフラグ: E L = 1が N VM,
RAMそれぞれに格納される。 これらのフラグは、 まず情報記憶装置の制御部 内の RAM 2 1 3 (図 3参照) に E L = 1が設定された後、 N VM (ブラッシ ュメモリによって構成されるメモリ部 2 2 0) に E L= 1がコピーされる。 こ の状態で、情報記憶装置の電源がオフとなると、 RAMのフラグ情報は消去さ れるが、 NVMのフラグ情報は維持され、 その後、 再び情報記憶装置の電源が オンとなると、 NVMのフラグ情報 (E L = 1 ) が RAMにコピーされ、 制御 部 2 1 0 (図 3参照) は、 R AMのフラグ情報 (E L = 1 ) に基づく処理を行 なう。
フラグ情報が E L = 1である場合は、ェクスポート口ック状態であることを 示し、 情報記憶装置 (メモリカード) の NVM (ブラッシュメモリによって構 成されるメモリ部 2 2 0)のェクスポートロックキーセッ ト格納領域に格納さ れたサブキーは、後述するィンプリ ント処理によって他のホス ト装置に出力可 能となる。
次に、 図 1 2に示すフローチヤ一トを参照して、ェクスポート口ック処理の 手順について説明する。 ステップ S 3 0 1において、 情報記憶装置と してのメ モリカードが、 ホス ト装置からの乱数発生要求コマンドの受信に基づいて、 乱 数 (R s m) を発生する。 発生した乱数は、 ステップ S 3 0 2において、 ホス ト装置によって読み出され、 ステップ S 3 0 3において、 ロックコマンドとと もに、 ホス ト装置の記憶部に格納済みのサブ I D ( I D e n) を取得し、 さら 〖こ、受信乱数(Rm s )をホス ト装置の記憶部に格納済みのサプロックキ一(L K e n) で暗号化し、 データ : E (LK e n , R m s ) を生成し、 これらの連 結データ : I D e n, E (LK e n, R m s ) を情報記憶装置と してのメモリ カードに送信する。
ステップ S 3 0 4において、メモリカードは、受信したサプ I D ( I D e n)、 および暗号化データ : E (LK e n, R m s ) とを情報記憶装置内のメモリ に 書き込む。 ステップ S 3 0 5において、 メモリカードは、 自身のメモリに格納 した口ックマスターキー (LMK) を適用して、 受信サブ I D ( I D e n ) の ハッシュ値算出、 すなわち、
H ( LMK, I D e n) = LK e n
を実行し、 受信サブ I D ( I D e n) に対応するサプロックキー (LK e n) を算出する。
さらに、メモリカードは、算出したサプロックキー(LK e n) に基づいて、 先にステップ S 3 0 1で発生した乱数 (Rm s ) の暗号化処理を実行して、 暗 号化データ : E (LK e n, Rm s ) を照合用データと して算出する。
次に、 メモリカードは、 ステップ S 3 0 6において、 ステップ S 3 0 5で算 出した暗号化データ : E (LK e n , R m s ) と、 ステップ S 3 0 3でロック コマンドとともにホス ト装置から受信し、 ステップ S 3 0 4で、 メモリに格納 した暗号化データ : E (LK e n, Rm s ) との比較照合処理 [E (LK e n, Rm s ) = E (LK e n, R m s ) ?] を実行する。
この比較照合処理において、 両値が等しければ、 ホス ト装置は、 正当な正し いサブ I D ( I D e n ) とサプロックキー ( L K e n ) の組データと してのサ プキーセッ ト [ i D e n, LK e n] を保有した正当な機器であると判定し、 ステップ S 3 0 7において口ックコマンドに応じた口ック処理、 すなわち、 後 述するサブキーセッ ト [ I D e n, LK e n] を適用した口ックの解除処理と してのアン口ック処理の成功を条件と してメモリに対するアクセスを可能と する設定を実行する。 この際、 前述の口ックステータスフラグを E L = 1に設 定する。
一方、 ステップ S 3 0 6の比較照合処理において、 E (LK e n, R m s ) =E (LK e n, Rm s ) が成立しないと判定されると、 ステップ S 3 0 8に おいて、 ロックコマンドを送信してきたホス ト装置は、 正しいサブ I D ( I D e n) とサブ口ックキー (LK e n) の組データを保有していない不正機器で あると判定し、 口ック処理を実行せず、 エラー通知をホス ト装置に対して送信 する。
上述した処理に従って、 エクスポートロックのなされた情報記憶装置は、 口 ック処理を実行したサブ I D ( I D e n) とサブ口ックキー ( LK e n) の組 データと して、 同一のサプキーセッ ト [ I D e n, LK e n] を保有したホス ト装置であれば、 前述の [ロックマスターキー (LMK) に基づく処理] にお いて説明したアン口ック処理と、同様の処理手続きによってアン口ックが可能
となる。 すなわち、 適用する I Dとロックキーを、 サプ I D ( I D e n) とサ プロックキー (LK e n) に置き換えることでアンロックが可能となる。 しかし、 口ック処理を実行したサプキーセット [ I D e n, LK e n] と同 一のキーセットを保有していない他のホスト装置は、ロック処理に適用された サブキーセット [ I D e n , L K e n ] を取得しない限り情報記憶装置のロッ ク解除、 すなわちアクセスができない。
正当なプライマリ I D ( I D s ) とプライマリロックキー (LK s ) の組デ ータとしてのプライマリーキーセット [ I D s , L K s ]を持つホスト装置は、 ェクスポートロックのなされた情報記憶装置に格納されているサブキーセッ ト [ I D e n, L K e n ] を情報記憶装置から取得することが可能であり、 取 得したサブキーセット [ I D e n, LK e n] を適用してロックを解除するこ とが可能となる。情報記憶装置を介したサブキーセッ ト [ I D e n, LK e n] の取得をィンプリント処理と呼ぶ。
このように、 あるサブキーセット [ I D e n, LK e n] に基づいて、 口ッ ク状態とされ、 そのサブキーセッ ト [ I D e n, LK e n] を他のホスト装置 に出力可能な口ック状態をェクスポート口ック状態と呼ぶ。
ホス ト装置は、 エクスポート口ック状態にある情報記憶装置から、エタスポ 一トロック処理に適用されたサブキーセット [ I D e n, LK e n]を取得(ィ ンプリント) することで、 同一のサブキーセット [ I D e n, LK e n] を保 有する複数のホスト装置によって構成されるグループの構成メンバーとなり、 その後、 取得したサブキーセット [ I D e n, LK e n] を適用してロックを 解除することができる。 以下、 このインプリントおよび、 ロック解除処理 (ァ ンロック処理) の詳細について説明する。 (インプリントおよびアンロック処理)
ホスト装置が、上述したェクスポート口ック処理による口ックがなされてい る情報記憶装置から、 サプロックキー (LK e n) と、 サブ I D ( I D e n) とからなるサプキーセット [ I D e n, LK e n] を取得するィンプリント処 理と、ェクスポート口ック処理による口ックがなされている情報記憶装置の口
ックを解除するアン口ック処理について説明する。
図 1 3にホスト装置と、情報記憶装置間で実行されるインプリント処理とァ ンロック処理の処理シーケンス図を示す。 ホスト装置と、 情報記憶装置は、 そ れぞれ相互にデータ転送可能に接続されている。 なお、情報記憶装置の口ック ステータスフラグは、図に示すように、ェクスポート口ックが有効である状態 を示す E L = 1が N VM, RAMにそれぞれ設定されているものとする。 ホスト装置は、情報記憶装置に対するェクスポートロックに適用したサブ I D ( I D e n ) とサブロックキー (LK e n) とからなるサブキーセッ ト [ I D e n, LK e n] を有しておらず、 情報記憶装置は、 サブキーセット [ I D e n, LK e n] をエクスポートキー格納領域に格納している。 情報記憶装置 は、 いわゆるエクスポートロック状態にある。
まず、 ホス ト装置が、 乱数発生コマンドを情報記憶装置に対して出力する。 乱数発生コマンドを受信した情報記憶装置は、所定長、例えば 1 6バイト乱数 (Rm s ) の発生処理を実行し、 発生乱数 (Rm s ) と、 先のェクスポート口 ック処理の際にメモリに格納済みのサプ I D ( I D e n)、 すなわちェクスポ ートロック処理に適用されたサプキーセッ ト [ I D e n, LK e n] 中のサブ I D ( I D e n) をホス ト装置に対して送信する。 なお、 情報記憶装置は、 発 生乱数 (Rm s ) を制御部内の RAM等のメモリに格納しておく。
情報記憶装置からサブ I D ( I D e n) と、 乱数 (Rm s ) を受信したホス ト装置は、 まず、受信サブ I D ( I D e n) が自己のプライマリ I D ( I D s ) と一致するか否かを判定する。 一致していれば、 前述の LMK適用処理 (図 7 参照) と同様のプライマリロックキ一 (LK s ) を適用したアン口ックが可能 である。
受信サブ I D ( I D e n) が自己のプライマリ I D ( I D s ) と一致してい ない場合は、他のホスト装置による口ックが実行されていることになるが、 こ の受信サブ I D ( I D e n)、 およびサブロックキー (LK e n) を取得する インプリント処理により、 サブキーセット [ I D e n , LK e n] を適用した ェクスポートロックを実行した他のホスト装置と同一のグループに属するこ とが可能となる。
すなわち、 インプリント処理を実行して、 サプ I D ( I D e n)、 サブロッ クキー (LK e n) をそれぞれ取得し、 これらの組データとしてのサブキーセ ット [ I D e n, LK e n] を自己のメモリに格納し、 グループに属するホス ト装置となり、 取得したサブキーセット [ I D e n, LK e n] を適用してェ タスポート口ックの解除が可能となる。ィンプリント処理を実行する場合、 ホ スト装置は、 情報記憶装置から受信したサブ I D ( I D e n) をメモリに格納 する。
インプリント処理を実行するホスト装置は、次に、予めホスト装置内のメモ リに格鈉済みのプライマリロックキー(LK s ) を喑号処理キーとした受信乱 数 (Rm s ) の暗号処理: E (LK s , R m s ) を実行し、 その結果データと プライマリ I D ( I D s ) とを、 スタンダードロックコマンドとともに情報記 憶装置に送信する。 なおこのロック処理は、 すでに、 サブロ ックキー (LK e n)によるェクスポート口ックがなされている情報記憶装置に対してさらにプ ライマリロックキー(LK s ) によるスタンダードロックをかける処理である のでォ一パーロック処理と呼ぶ。
ホスト装置から、 プライマリ I D ( I D s ) と暗号化データ : E (L K s , Rm s ) を受信した情報記憶装置は、 まず、受信したプライマリ I D ( I D s ) に対して、 ロックマスターキー (LMK) を適用したハッシュ値算出処理によ り、 プライマリ I D ( I D s ) に対応するプライマリ口ックキー ( L K s ) を 算出する。 すなわち、
L K s = H ( LMK, I D s )
により、 プライマリ I D ( I D s ) に対応するプライマリロックキー (LK s ) を算出する。
さらに、 情報記憶装置は、 自己のメモリに格納した乱数 Rm sに対して、 上 述のハッシュ値算出により求めたプライマリロックキー(LK s ) を適用した 暗号処理: E (LK s , Rm s ) を実行し、 ホスト装置から受信した暗号処理 データ : E (LK s , Rm s ) と一致するか否かの照合処理を実行する。 ホスト装置からの受信データ : E (LK s , Rm s ) と、 自身が算出した暗 号処理データ : E (LK s , Rm s ) とがー致すれば、 正当なプライマリ I D
( I D s ) と、 プライマリロックキー (LK s ) の組データとしてのプライマ , リキーセット [ I D s , L K s ] を持つホスト装置からのオーバー口ック処理 要求であると判定しオーバー口ック処理を実行し、オーバー口ック完了通知を ホスト装置に対して送信する。
ホスト装置からの受信データ : E (LK s , Rm s ) と、 自身が算出した喑 号処理データ : E (LK s , Rm s ) とが不一致の場合は、 '正当なプライマリ I D ( I D s ) と、 プライマリロックキー (LK s ) の組データとしてのプラ ィマリキーセッ ト [ I D s , LK s ] を持つホスト装置では無いと判定し、 不 正機器からのオーバー口ック処理要求であると判定し、オーバー口ック処理を 行なわずエラー通知をホスト装置に送信する。
なお、情報記憶装置の実行するオーバー口ック処理は、ェクスポートロッタ 状態にさらにスタンダードロックを重ねて行なった状態とするもので、情報記 憶装置の口ックステータスフラグは、図に示すように、エクスポートロックが 有効である状態を示す E L = 1が NVM, RAMにそれぞれ設定され、さらに、 オーバー口ック処理により、スタンダードロックが有効である状態を示す S L = 1が RAMに設定される。 なお、 RAMに設定されたフラグ情報は、 電源ォ フ以前に N VMにコピーされる。
さらに、オーバー口ック完了通知を受信したホスト装置は、インプリ ント処 理および、 口ック解除を続けて行なうものとする。 ホスト装置は、 再度、 乱数 発声コマンドを情報記憶装置に送信する。
乱数発生コマンドを受信した情報記憶装置は、新たに第 2の乱数(Rm s 2) の発生処理を実行し、
発生乱数 (Rm s 2) と、
スタンダードロックを実行したホスト装置のプライマリ I D ( I D s ) と、 エクスポートロック処理に適用されたサブ I D ( I D e n) と、 さらに、 サブ I D ( I D e n) に対応するサプロックキー (LK e n) をプライマリ I D ( I D s ) 対応するプライマリロックキー (LK s ) によって暗号化した 暗号化データ : E (LK s , LK e n) の連結データ、
すなわち、
I D s , Rm s 2 , I D e n , E (LK s , L K e n )
をホスト装置に対して送信する。 なお、 情報記憶装置は、 発生乱数 (Rm s 2) を制御部内の RAM等のメモリに格納しておく。
情報記憶装置からデータ : I D s , Rm s 2 , I D e n, E (LK s , L K e n) を受信したホスト装置は、 まず、 暗号化データ : E (LK s , LK e n) を自身のメモリに格納されたプライマリロックキー (LK s ) を適用して復号 し、 サブ口ックキー (LK e n) を取得する。 これは、 先に取得したサプ I D ( I D e n) に対応するサブ口ックキー (L K e n) であり、 取得したサブ一 キーセッ ト [ I D e n, LK e n] をメモリに格納する。 このインプリント手 続きにより、 このホス ト装置は、 グループ N o . nのグループに属することが できる。
次に、 ホスト装置は、 情報記憶装置のロック解除処理を続けて実行する。 ホ スト装置は、情報記憶装置から受信した暗号化データ: E (LK s , LK e n) に対するプライマリ ロックキー(LK s ) を適用した復号により取得したサブ ロックキー (LK e n) に基づいて、 情報記憶装置から受信した乱数 (Rm s 2) の暗号化処理を実行し、 暗号化データ : E (LK e n, Rm s 2) を生成 して、 アンロックコマンドとともに情報記憶装置に送信する。
ホス ト装置から、アン口ックコマンドとともに暗号化データ: E ( L K e η , Rm s 2) を受信した情報記憶装置は、 まず、 自身のメモリに格納済みのサブ I D ( I D e n) に対して、 口ックマスタ一キー ( LMK) を適用したノヽッシ ュ値算出処理により、 サブ I D ( I D e n) に対応するサブ口ックキー (LK e n) を算出する。 すなわち、
L K e n =H (LMK, I D e n)
により、 サブ I D ( I D e n) に対応するサプロックキー (LK e n) を算 出する。
さらに、 情報記憶装置は、 自己のメモリに格納した乱数 Rm s 2に対して、 上述のハッシュ値算出により求めたサプロックキ一 (L K e n) を適用した喑 号処理: E (LK e n, Rm s 2) を実行し、 ホスト装置から受信した喑号処 理データ: E (LK e n, Rm s 2 )と一致するか否かの照合処理を実行する。
ホスト装置からの受信データ : E (LK e n, Rm s 2) と、 自身が算出し た暗号処理データ : E (LK e n, Rm s 2) とが一致すれば、 正当なサブ I D ( I D e n ) と、 サブ口ックキー (LK e n) の組データを持つホスト装置 からのロックの解除、すなわちアンロック処理要求であると判定しアンロ ック 処理を実行し、 アンロック完了通知をホス ト装置に対して送信する。
ホスト装置からの受信データ : E (LK e n, Rm s 2) と、 自身が算出し た暗号処理データ : E (LK e n, R m s 2 ) とが不一致の場合は、 正当なサ ブ I D ( I D e n) と、 サブ口ックキー (L K e n) の組データとしてのサプ 一キーセット [ I D e n, LK e n] を持つホスト装置では無いと判定し、 不 正機器からのアン口ック要求であると判定し、アン口ック処理を行なわずエラ 一通知をホスト装置に送信する。
アンロック処理により、 ロックステータスフラグは、 E L== 1から E L = 0 に変更され、またェクスポートロッタに対するオーバー口ックとして設定され たスタンダードロックも解除され S L= 1から S L= 0に変更される。すなわ ち、 スタンダードロックは、 エクスポートロックの解除に併せて解除される。 なお、 ロックステータスフラグの変更シーケンスは、 まず、 制御部内の RA Mの格納フラグが書き替えられ、 その後、 適宜、 例えば電源オフ実行前に NV Mに RAM内のフラグ情報がコピーされ、電源再投入時には、 NVMのフラグ 情報が RAMにコピーされるシーケンスであり、制御部は、 RAMのフラグ情 報に基づくアクセス制限処理を実行する。
次に、 図 1 4および図 1 5に示すフローチヤ一トを参照して、ェクスポート ロック処理によるロックがなされている情報記憶装置から、 サブロックキー
(LK e n) と、サブ I D ( I D e n)からなるサブ一キーセッ ト [ I D e n, LK e n] を取得するィンプリント処理と、ェクスポートロック処理による口 ックがなされている情報記憶装置の口ックを解除するアン口ック処理の手順 について説明する。
ステップ S 4 0 1において、情報記憶装置としてのメモリカー ドが、 ホス ト 装置からの乱数発生要求コマンドの受信に基づいて、 乱数 (R s m) を発生す る。 発生した乱数は、 ステップ S 4 0 2において、 先にェクスポートロック処
理を実行したホスト装置が情報記憶装置に送信し、情報記憶装置のメモリ部の ェクスポートロッタキーセット格納領域に格納されたサプ I D ( I D e n) と ともに、 ホスト装置によって読み出される。 ホスト装置は、 この時点で、 サブ キーセッ ト [ I D e n, L K e n] 中のサブ I D ( I D e n) を取得する。 ホスト装置は、 メモリカードから読み出したサブ I D ( I D e n) と自己の プライマリ I D ( I D s ) がー致しないことの確認により、 情報記憶装置が、 スタンダード口ック状態ではなく、ェクスポート口ック状態にあると判断する。 ホス ト装置は、 次に、 ステップ S 4 0 3において、 オーバー口ックと してのス タンダードロックコマンドとともに、 受信乱数 (Rm s ) をホスト装置のブラ ィマリロックキー (LK s ) で暗号化したデータ : E (LK s , Rm s ) と、 自己のプライマリ I D ( I D s ) を情報記憶装置としてのメモリカードに送信 する。
ステップ S 4 04において、 情報記憶装置 (メモリカード) は、 ホスト装置 から受信したプライマリ I D ( I D s ) と、 暗号化デ一タ : E (LK s , Rm s ) とを情報記憶装置内のメモリに書き込む。 ステップ S 40 5において、 メ モリカードは、 受信したプライマリ I D ( I D s ) に対して、 自身のメモリに 格納した口ックマスターキー(LMK)を適用してハッシュ値算出、すなわち、 H (LMK, I D s ) = L K s
を実行し、 プライマリ I D ( I D s ) に対応するプライマリロックキー (L K s ) を算出する。
さらに、 メモリカードは、 算出したプライマリロックキー (LK s ) に基づ いて、 先にステップ S 4 0 1で発生した乱数 (Rm s ) の暗号化処理を実行し て、 暗号化データ : E (LK s , Rm s ) を照合用データとして算出する。 次に、 メモリカードは、 ステップ S 4 0 6において、 ステップ S 4 0 5で算 出した暗号化データ : E (LK s , Rm s ) と、 ステップ S 4 0 3でスタンダ ードロックコマンドとともにホスト装置から受信し、 ステップ S 4 04で、 メ モリに格納した暗号化データ: E (LK s , Rm s ) との比較照合処理 [E (L K s , Rm s ) = E (LK s , Rm s ) ?] を実行する。
この比較照合処理において、 両値が等しければ、 ホスト装置は、 正当な正し
いプライマリ I D ( I D s ) とプライマリロックキー (LK s ) の組データと してのプライマリキーセッ ト [ I D s , LK s ] を保有した正当な機器である と判定し、ステップ S 4 0 7においてスタンダードロックコマンドに応じたス タンダードロック処理を実行する。 これは、ェクスポートロック状態にさらに スタンダードロックを重ねて行なうオーバー口ック処理である。情報記憶装置 のロックステータスフラグは、 エクスポートロック、 スタンダードロックがと もに有効である状態を示す E L = 1、 S L = 1が RAMに設定される。
一方、 ステップ S 4 0 6の比較照合処理において、両値が等しくないと判定 されると、 ステップ S 4 0 8において、 スタンダードロックコマンドを送信し てきたホスト装置は、 正当なプライマリ I D ( I D s ) とプライマリロックキ 一 (LK s ) の組データとしてのプライマリキーセット [ I D s , LK s ] を 保有したホスト装置ではないと判定し、 オーバー口ック処理を実行せず、エラ 一通知をホスト装置に対して送信する。
ステップ S 4 0 7のオーバー口ック処理と してのスタンダードロックが行 われ、 さらに。 インプリント処理、 口ック解除を実行する場合は、 図 1 5のス テツプ S 5 0 1に進む。
オーバーロック完了通知を受信したホスト装置は、再度、乱数発生コマンド を情報記憶装置に送信し、乱数発生コマンドを受信した情報記憶装置は、 ステ ップ S 5 0 1において、新たに第 2の乱数(Rm s 2 )の発生処理を実行する。 ステップ S 5 0 2において、 ホス ト装置は、
乱数 (Rm s 2 ) と、
スタンダードロックを実行したホスト装置のプライマリ I D ( I D s ), サブ I D ( I D e n)、 さらに、
サプ I D ( I D e n) に対応する組みデータとしてのサプロックキー (LK e n) をプライマリ I D ( I D s ) 対応する組みデ一タとしてのプライマリ口 ックキー(LK s )によって暗号化した暗号化データ: E (LK s , LK e n)、 これらの連結データ、 すなわち、 [ I D s , Rm s 2 , I D e n, E (LK s , LK e n)] を情報記憶装置から読み出す。
ステップ S 5 0 3において、 ホスト装置は、情報記憶装置に対する口ック解
除要求としてのアンロックコマンドを送信する。 ホスト装置は、 このアンロッ クコマンドに、 暗号化データ E (LK e n, R m s 2 ) を併せて送信する。 暗号化データ E (LK e n, R m s 2 ) の生成手法は、 以下の手順に従った ものである。 ステップ S 5 0 2において、 情報記憶装置からデータ : I D s , R m s 2 , I D e n, E (LK s , LK e n) を読み出したホスト装置は、 ま ず、 暗号化データ : E (LK s , LK e n) を自身のメモリに格納されたプラ ィマリロックキー (LK s ) を適用して復号し、 サブロックキー (LK e n) を取得する。 これは、 先に取得したサブ I D ( I D e n) に対応するサブロッ クキー (L K e n) である。 次に、 ホスト装置は、 サブ口ックキー (LK e n) に基づいて、 情報記憶装置から受信した乱数 (Rm s 2) の暗号化処理を実行 し、 暗号化データ : E (LK e n, Rm s 2) を生成する。
なお、 ホスト装置は、 取得したサブキーセッ ト : [ I D e n, LK e n] を メモリに格納して、 インプリ ント処理は完了する。 すなわち、 インプリ ント処 理により、 このホス ト装置は、 グループ N o . nのグループに属する。
ステップ S 5 0 4において、ホスト装置から、暗号化データ: E (LK e n, Rm s 2) を受信した情報記憶装置は、受信データ: E (LK e n, Rm s 2) をメモリに書き込む。 さらにステップ S 5 0 5において、照合用データの算出 を実行する。
照合用データの算出処理は、 以下の手順で実行する。 まず、 自身のメモリに 格納済みのサブ I D ( I D e n) に対して、 ロックマスターキー (LMK) を 適用したハッシュ値算出処理により、 サブ I D ( I D e n) に対応するサブ口 ックキー (LK e n) を算出する。 すなわち、
LK e n =H (LMK, I D e n)
により、 サブ I D ( I D e n) に対応するサブ口ックキー (LK e n) を算 出する。 さらに、 ステップ S 5 0 1で発生しメモリに格納した乱数 Rm s 2に 対して、 上述のハッシュ値算出により求めたサブ口ックキー ( L K e n ) を適 用した暗号処理: E (LK e n, Rm s 2)を実行し照合用データを生成する。 ステップ S 5 0 6において、情報記憶装置は、照合用データ: E (LK e n, Rm s 2 ) と、 ホスト装置から受信した暗号処理データ : E (LK e n, Rm
s 2) と一致するか否かの照合処理を実行する。
ホス ト装置からの受信データ : E (LK e n, Rm s 2) と、 自身が算出し た暗号処理データ : E (LK e n, Rm s 2 ) とが一致すれば、 正当なサブ I D ( I D e n ) と、 サブ口ックキー (LK e n ) の組データと してのサブキー セッ ト [ I D e n, LK e n] を持つホス ト装置からの口ックの解除、 すなわ ちアン口ック処理要求であると判定し、 ステップ S 5 0 7に進み、 アンロック 処理を実行し、 アン口ック完了通知をホス ト装置に対して送信する。 不一致の 場合は、 正当なサブキーセッ ト [ I D e n, LK e n] を持つホス ト装置では 無いと判定し、 不正機器からのアン口ック処理要求であると判定し、 アンロッ ク処理を行なわずステップ S 5 0 8において、エラー通知をホス ト装置に送信 する。
本処理例に従えば、複数のホス ト装置が、共通のサブキーセッ ト [ I D e η, LK e n]を保有し、 1つの情報記憶装置(メモリカー ド)を利用した口ック、 アンロックが可能となる。 また、 サブキーセッ ト [ I D e n, LK e n] は、 ェクスポートロッタを実行することにより、情報記憶装置を介して他のホス ト 装置にコピー格納するこが可能であり、 柔軟なグループ形成が可能となる。 ま た、 サブキーセッ ト [ I D e n, LK e n] のホス ト装置に対するコピー、 す なわちィンプリ ントにおいては、 正当なプライマリ I D ( I D s ) とプライマ リ口ックキー (LK s ) を所有し、 オーバー口ック処理が実行可能であること が条件となるので、 不正機器に対するサブキーセッ ト [ I D e n, LK e n] のコピー (インプリント) は防止可能となる。
なお、 先に図 1 0 ( c) を参照して説明したように、 サブキーセッ ト [ I D e n, LK e n]を適用したスタンダードロック処理(=グループ口ック処理) の実行も可能であり、 このグループ口ック処理を実行した場合は、 サブキーセ ッ ト [ I D e n, L K e n ] は、 情報記憶装置のスタンダードロックキー格納 領域 (図 1 0参照) に格納され、 他のホス ト装置に対するコピー出力はなされ ない。 すなわち、 すでに同一のサプキーセッ ト [ I D e n, LK e n] を取得 済みのホス ト装置のみが、インプリント処理を伴わない通常のアンロック処理 によりアクセス可能となる。
[ロック状態フラグの維持構成]
上述した 「機器グループでのロック処理構成」 において、 エクスポートロッ ク状態にある情報記憶装置に対してアン口ックを実行すると、全てのロックス テータス (状態) フラグがリセッ ト、 すなわち、 エクスポートロック解除を示 す E L = 0, スタンダードロック解除を示す S L= 0が NVM, RAMに設定 される。 このように、 E L= 0, S L = 0の設定のまま、 電源をオフにし、 そ の後、 電源を再度オンとした場合、 N VMには、 E L = 0, S L = 0が設定さ れているので、 制御部の RAMも S L= 0, E L = 0の設定状態となり、 全て の口ック状態が解放され、各ホス ト装置が自由にメモリに対するアクセスを行 なうことが可能となる。
このようにロックが解除された情報記憶装置は、 紛失、 盗難等により、 不正 な第三者に取得された場合、 自由にメモリアクセスが可能となる。 このような 状況は、 秘密情報を格納する場合には好ましいとは言えない。
以下に説明する例は、上記問題点に鑑みてなされたものであり、 ホスト装置 がアン口ック処理により、ェクスポート口ックの解除を行なった後に電源をォ フとした場合においてもェクスポート口ック状態を維持する構成としたもの であり、 情報記憶装置が、 再度電源オンとなった場合、 エクスポートロックの 解除処理を条件としてメモリアクセスを許容する構成とした例である。
本構成例は、 先に 「機器グループでのロック処理構成」 において図 9を参照 して説明したと同様、 ホスト装置内の R OM等のメモリには、 プライマリ I D ( I D s ),プライマリロックキー(L K s ) からなるプィマリキーセッ ト [ I D s, L K s ] が格納され、 さらに、 ェクスポート口ック処理に適用可能なサ ブ I Dとサブ口ックキーの,袓データとしてのサブキーセット [ I D e n , L K 6 11 ] ( 11 = 1, 2 , ' ' ) が 1以上格納可能な構成であり、 メモリカード等の 情報記憶装置内の制御部内の ROM等のメモリには、 口ックマスターキー(L MK)が格納される。情報記憶装置に格納される口ックマスターキー(LMK) と、 ホスト装置に格納される I D ( I D sおよび I D e nを含む) と、 ロック キー (LK (LK s と LK e nを含む)) とは、 以下の関係を持つ。
LK = H (LMK, I D)
ホス ト装置によるプライマリ I D ( I D s ), プライマリロックキー (LK s ) に基づく ロック処理、 アンロック処理は、前述の [口ックマスターキー( L MK)に基づく処理]において説明したと同様のシーケンスによって実行され、 また、 サブ I D ( I D e n)、 サブロックキー ( L K e n ) に基づく ロック処 理は、 前述の [機器グループでのロック処理構成] において説明したと同様の シーケンスによって実行される。 以下、 本処理例におけるインプリントおよび アンロック処理におけるロックステータスフラグの維持処理について説明す る。
(インプリ ン トおよびアンロック処理におけるロックステータスフラグの 維持処理)
ホス ト装置が、ェクスポート口ック処理によるロックがなされている情報記 憶装置から、 サプロックキー (L K e n) と、 サブ I D ( I D e n) とからな るサブキーセッ ト [ I D e n, LK e n] を取得するィンプリ ント処理と、 ェ クスポートロック処理によるロックがなされている情報記憶装置の口 ックを 解除するアン口ック処理、 さらに、 情報記憶装置が実行する口ックステータス フラグの維持処理について図 1 6以下を参照して説明する。
図 1 6に示すシーケンス図は、 先に、 [機器グループでのロック処理構成] において図 1 3を参照して説明したホス ト装置と、情報記憶装置間で実行され るィンプリ ント処理とェクスポートロ ックのアンロック処理の処理シーケン ス図と基本的に同一であり、 処理手順も同様である。
ただし、シーケンス図の最終処理として実行されるアン口ック完了通知の後 に、 情報処理装置が NVMフラグ設定処理を実行する点が異なる。 すなわち、 前述の [機器グループでのロック処理構成] において説明した処理では、 エタ スポートロックのアンロックが実行されると、ェクスポート口ック解除を示す E L = 0 , スタンダードロック解除を示す S L = 0が N VM, RAMに設定さ れていた。 しかし、 本構成では、 NVMに、 エクスポートロック、 スタンダー ドロックがなされていることを示す E L= 1, S L = 1を設定する。
図 1 7を参照して、 NVMに対する口ックステータスフラグ設定処理の詳細 について説明する。 図 1 7の処理フローは、 図 1 6 (図 1 3と同様) のシーケ ンス図において口ック解除要求(アンロックコマンド) を受信した以降の情報 記憶装置における処理手順を説明するフローである。
まず、 ステップ S 6 0 1において、 情報記憶装置 (メモリカード) がロック の解除要求 (アンロックコマンド) を受信すると、 情報記憶装置は、 アンロッ クコマンドの実行可否を判定するための検証処理として、ステップ S 6 0 2に おいて、 ホス ト装置から、 アンロックコマンドとともに受信した暗号化デー タ : E (LK e n, Rm s 2 ) と、 自身が生成した暗号化データ : E (LK e n , R m s 2 ) との照合処理を実行する。 この処理は、 [機器グループでの口 ック処理構成] において説明したと同様の処理である。
ホスト装置からの受信データ : E (LK e n, R m s 2 ) と、 自身が算出し た喑号処理データ : E (LK e n, Rm s 2 ) とが一致しない場合は、 ステツ プ S 6 0 7において、 エラー通知をホストに返して処理を終了する。
一方、 ホスト装置からの受信データ : E (LK e n, Rm s 2 ) と、 自身が 算出した暗号処理データ : E (LK e n, Rm s 2 ) とが一致した場合は、、 正当なサブキーセット [ I D e n, LK e n] を持つホスト装置からのアン口 ック処理要求であると判定し、 ステップ S 6 0 3において、 アン口ック処理を 実行し、 アンロック完了通知をホス ト装置に対して送信する。
さらに、 情報記憶装置 (メモリカード) は、 ステップ S 6 0 4において、 制 御部の RAMに格納されているロックステータスフラグ(S L = 1 , E L = 1 ) を NVMにコピーし、 N VMのロックステータスフラグを S L = 1, E L = 1 に設定する。 S L = 1は、 スタンダードロックがなされていること、 E L = 1 は、 エクスポートロックがなされていることを示す。
ステップ S 6 0 4のフラグコピー処理が終了すると、 さらに、 ステップ S 6 0 5において、 制御部の RAMの口ックステータスフラグ (S L- 1 , E L = 1 ) のリセット、 すなわち R A1V [の口ックステータスフラグを S L = 0 , E L = 0に設定する。 S L- 0は、 スタンダードロックがなされていないこと、 E L = 0は、 ェクスポートロックがなされていないことを示す。
この設定状態、すなわち RAMの口ックステータスフラグが S L = 0, E L = 0の設定においてはメモリアクセスが自由に実行可能となり、アンロック処 理を実行したホス ト装置は、 情報記憶装置のメモリ (図 3のメモリ部 2 2 0) に対するアクセスが可能となる。
しかし、 その後、 情報記憶装置 (メモリカード) がホスト装置から抜き取ら れるなどにより、 情報記憶装置 (メモリカード) に対する電源供給がス トップ し、 再度、 電源オンとなった時点で、 NVMに設定された口ックステータスフ ラグ (S L= 1 , E L = 1 ) 情報が制御部の RAMにロードされ、 制御部は、 RAMに設定された口ックステータスフラグ (S L= 1 , E L = 1 ) に基づく 処理を行なうことになる。 図 1 8の処理フローを参照して、情報記憶装置の電 源再投入後の処理について説明する。
図 1 8の処理フローは、 一旦、 情報記憶装置の電源がオフとされ、 再度、 電 源オン状態に移行した場合の処理を示している。
ステップ S 7 0 1において、 情報記憶装置 (メモリカード) がホス ト装置に セッ トされることなどにより、電源オフ状態からオン状態に移行すると、情報 記憶装置は、 ステップ S 7 0 2において、 NVMに格納してある口ックステー タスフラグ (S L, E L) を制御部の RAMにコピーする。 制御部は、 RAM のステータスフラグに応じて制御を実行する。
ステップ S 7 0 3において、接続されたホス ト装置からメモリアクセス要求、 あるいはアン口ックコマンドを入力すると、情報記憶装置の制御部は、 RAM の口ックステータスフラグを参照する。
ステップ S 7 04において、 RAMのステータスフラグが E L = 1であると 判定されると、 ステップ S 7 0 5において、 口ック解除処理 (図 1 3〜図 1 5 参照) を実行する。 この際、 ホストが、 その情報記憶装置のエクスポートロッ クに適用されたサブキーセット [ I D e n, LK e n ]を有していない場合は、 インプリ ント処理を実行することが必要となる。 この処理において、先に図 1 3〜図 1 5を参照して説明した検証により正当なホスト装置からのアン口ッ ク要求であることが確認されるとアンロック処理が実行(ステップ S 7 0 8 : Y e s ) され、 ステップ S 7 0 9においてメモリアクセスが許可される。 検証
によ り不正なホス ト装置からのアン口ック要求であると判定されるとアン口 ック処理が実行されず、 (ステップ S 7 0 8 : N o )、 エラー通知 (S 7 1 0) がなされる。
また、 ステップ S 7 0 4において、 RAMのステータスフラグが E L = 0で あると判定されると、 ステップ S 7 0 6において、 RAMのステータスフラグ が S L = 1であるかい中が判定される。 RAMのステータスフラグが S L = 1 であると判定されると、 ステップ S 7 0 7において、 スタンダードロック解除 処理 (図 7〜図 8参照) を実行する。 先に図 7〜図 8を参照して説明した検証 によ り正当なホス ト装置からのアン口ック要求であることが確認されるとァ ンロック処理が実行 (ステップ S 7 0 8 : Y e s ) され、 ステップ S 7 0 9に おいてメモリアクセスが許可される。検証により不正なホス ト装置からのアン 口ック要求であると判定されるとアン口ック処理が実行されず、 (ステップ S 7 0 8 : N o)、 エラー通知 (S 7 1 0) がなされる。
ステップ S 7 0 4において、 RAMのステータスフラグが E L = 0であると 判定され、 ステップ S 7 0 6において、 RAMのステータスフラグが S L = 0 であると判定されると、 口ック状態にはないことになり、 ステップ S 7 0 9に 進み、 メモリアクセスが許可されることになる。
先に、 図 1 6,図 1 7を参照して説明したように、 あるホス ト装置により、 ェクスポートロックが解除され、 その後電源がオフとなった場合は、 N VMの 口ックステータスフラグが S L = 1 , E L = 1に設定され、 その後、 電源オン となった時点で、 RAMの口ックステータスフラグが S L = 1 , E L = 1に設 定されることになり、 図 1 8の処理フローにおけるステップ S 7 0 4の判定 (E L = 1 ?) が Y e s となり、 ステップ S 7 0 5の処理、 すなわち、 ェクス ポート口ック解除処理 (図 1 3〜図 1 5参照) を条件と したメモリアクセス許 可処理が行なわれることになる。
上述したように、 本処理例においては、 口ック処理またはアン口ック処理に 適用可能なキーセッ トの外部出力が許容される口ック状態であるェクスポー トロック (E L) 状態であるか否か、 および、 ロック処理またはアンロック処 理に適用可能なキーセッ トの外部出力が許容されない口ック状態であるスタ
ンダードロック (S L )状態であるか否かについて判別可能な状態情報からな るロックステータスフラグのアンロック処理前の情報を N V Mに格納する構 成としたので、情報記憶装置の電源オフ後の電源再投入時に、 N V Mに格納さ れたフラグに基づいて、アン口ック処理前のロック状態を忠実に再現すること が可能となる。
本処理例によれば、 例えば、 あるホスト装置が、 エクスポートロックの解除 を行なった場合でも、エクスポート口ック状態を維持し、情報記憶装置の電源 オフ後、再度電源オンとなった場合において、 ロックの解除処理を条件とした メモリアクセスの許可が可能となる。従って、正当なプライマリキーセッ ト[ I D s , L K s ] を有するホスト装置が前述のオーバー口ック処理を含む所定の 手続きを実行した場合にのみ口ック解除が可能となり、不正な装置からのァク セス排除が可能となる。
[特定データ領域読み出し検出による自動口ック処理]
次に、 情報記憶装置 (メモリカード) からホスト装置に対するデータの読み 出しを情報記憶装置の制御部において監視し、ある予め定められたデータ領域 (例えば特定クラスタ) の読み出し実行をトリガとして、 口ック処理を実行す る処理例について説明する。
情報記憶装置 (メモリカード) のメモリ部 (図 2のメモリ部 2 2 0 ) に格納 されるデータの読み出しは、例えば格納データに応じて生成される再生管理フ アイル (P B L I S T ) によって管理され、 制御部では、 再生管理ファイルに 従って、 メモリ部 (図 2のメモリ部 2 2 0 ) からデータを読み出して、 ホス ト 装置に出力する。
データが読み出される場合、情報記憶装置の制御部は、読み出しデータの監 視を行なうこが可能である。例えば、 A T R A C 3で圧縮されたオーディオデ ータは、所定のデータ単位としてのクラスタを読み出しデータ単位として監視 することができる。
図 1 9に示すように、 A T R A C 3で圧縮されたオーディオデータは、最小 データ単位としての S U (サウンドユニット) を複数集めたクラスタ、 さらに
複数のクラスタによってパーツが構成される。 S U (サウンドユニット) は、 4 4 . 1 k Hz のサンプリング周波数で得られた 1 0 2 4サンプル分 ( 1 0 2 4 X 1 6ビット X 2チャンネル)のオーディォデータを約 1 / 1 0に圧縮した 数百バイ トのデータであり、 クラスタは、 複数の S U (たとえば S U 4 2個) によって構成されるデータである。 1クラスタが 4 2個の S Uで構成される場 合、 1クラスタで約 1秒の音を表すことができる。
各クラスタには、各クラスタ固有の論理番号が付与され、論理番号による管 理がなされる。 情報記憶装置の制御部 2 1 0 (図 3参照) は、 特定クラスタの 読み出しの有無を論理番号に基づいてチェックすることができる。例えば、 出 力データがある音楽コンテンツであるときに、その音楽コンテンツのィントロ、 あるいはさび部分に相当する 1以上のクラスタの論理番号を、そのコンテンツ に対応する口ック対応クラスタとして抽出し、抽出したクラスタ論理番号をコ ンテンッに対応する登録情報として設定して、コンテンッを格納するメモリ部 (フラッシュメモリ) に併せて格納する。
コンテンツの読み出し時に、 登録情報を情報記憶装置の制御部内のメモリ ( R AM)に一次格納し、制御部において、読み出しコンテンツのクラスタと、 口ック対応クラスタとの照合処理を実行し、読み出しコンテンツのクラスタが 口ック対応クラスタの論理番号に一致した場合に、 口ック処理を実行する。 な お、 ロック処理のタイミングは、 ロック対応クラスタの読み出し開始時点、 口 ック対応クラスタの読み出し終了時点、 あるいは、 口ック対応クラスタを持つ コンテンッ全体の読み出し終了時点等、様々な設定が可能であり、設定に応じ た検出処理を実行して、設定条件検出に基づいてロック処理を行なう。 ロック が実行された場合は、再度の読み出しは、アン口ック処理を実行することが必 要となる。
以下、 図 2 0を参照して、 情報記憶装置の制御部 2 1 0において、 メモリ部 2 2 0 (図 3参照) から特定データ領域 (例えば特定クラスタ) が読み出され たことを条件としてロック処理を実行する処理について説明する。
なお、 図 2 0の処理フローでは、 簡単のためにスタンダードロック (S L ) についてのみ記載しているが、 エクスポートロック (E L ) についても同様の
処理が可能である。
まず、 ステップ S 8 0 1において、 情報記憶装置の電源がオンされると、 ス テツプ S 8 0 2において、 NVMに格納された口ックステータスフラグが制御 部 2 1 0 (図 3参照) の RAM 2 1 3にコピー格納される。 制御部は、 RAM 2 1 3のステータスフラグに応じた制御を実行する。
ステップ S 8 0 3において、 スタンダードロックが S L = 1であるか否か、 すなわち口ック状態にあるか否かが判定される。 S L= 1である場合は、 ステ ップ S 8 0 4においてアン口ック処理が実行される。 アン口ック処理は、例え ば図 7、 図 8を参照して説明した処理と同様の処理である。
ホスト装置が正当なプライマリ I Dとプライマリロックキーを保有してい ることが、情報記憶装置における検証処理により検証され、 アンロックが成功 する (S 8 0 5 : Y e s ) と、 ステップ S 8 0 6に進む。 アンロックに失敗し た場合は、ステップ S 8 1 0においてホスト装置に対するエラー通知が実行さ れて処理を終了する。
ステップ S 8 0 6では、 アン口ック成功に基づいて、 RAM, NVMのロッ クステータスフラグの更新、すなわち、 口ック解除状態を示す S L = 0の設定 処理が実行される。
次に、 ホスト装置からのデータ読み出しが開始されると、情報記憶装置の制 御部は、 ステップ S 8 0 7において、 あらかじめ設定された口ック対応クラス タの読み出し処理の有無の監視を実行する。口ック対応クラスタのデータ読み 出しを検出すると、 ステップ S 8 0 8において、 制御部 2 1 0 (図 3参照) の RAM 2 1 3のロックステータスフラグを口ック状態( S L = 1 )に設定する。 さらに、 ステップ S 8 0 9において、 NVMのロックステータスフラグをロッ ク状態 (S L = 1 ) に設定する。
このように、所定のクラスタの読み出し処理を行なうことにより、 ロックが かけられ、 その後、 再度読み出し処理を実行する場合は、 アンロック処理が必 要となる。 アン口ック処理は、 口ックを実行したと同一のプライマリ I D ( I D s ) とプライマリロックキー (LK s ) を有するホスト装置のみが可能とな り、 ロックされた情報記憶装置 (メモリカード) が無秩序に利用されることが
防止されることになる。
なお、 ロック情報は、 情報記憶装置の電源オフ時に解除される設定、 あるい は、前述したように、電源オフ時にも口ックステータスフラグを NVMに置き、 電源再投入時に NVMの口ックステータスフラグを制御部の RAMにコピー して、 電源オフ前のロック状態を維持して再現する構成としてもよい。
このように本処理例においては、 アン口ック処理後、データ読み出し処理を 実行する場合、 1度限りの読み出しを可能とした、いわゆるリードワンスのァ クセス制限処理構成が実現される。
なお、図 2 0の処理例ではスタンダードロックについてのみ示したが、ェク スポートロックにおいても同様の構成、すなわち、所定のデータ領域の読み出 しをトリガとしてエクスポートロックをかける構成とすることが可能である。
[ホスト装置における口ック状態提示構成]
次に、様々な口ック状態を取り得る情報記憶装置に対するアクセスを実行す るホスト装置において、情報記憶装置のロック状態を検出するための提示構成 および提示処理について説明する。
図 2 1に口ックノアン口ック専用機器における口ック状態提示ィンジケ一 タと、各種処理スィツチを持つ構成例を示す。情報記憶装置としてのメモリ力 ード 7 1 0とデータ転送可能なィンタフェースを持つ口ック /アン口ック専 用機器 7 2 0は、 ロック状態インジケータとして、
口ック解除状態を示す [U n l o c k e d] ィンジーケータ 7 2 1 口ック状態を示す [L o c k e d] ィンジーケータ 7 2 2
エクスポート口ック状態を示す [E— L o c k e d]インジ一ケータ 7 2 3 エラー通知を示す [ERR] ィンジーケータ 7 24
を有する。
また、 各種処理要求スィッチとして、
口ック解除処理要求スィツチとしての [U n l o c k] スィッチ 7 3 1 プライマリキーセッ トによるスタンダードロック処理要求スィツチとして の [P— L o c k] スィッチ 7 3 2
サブキーセッ トによるスタンダードロック (グループ口ック) 処理要求スィ ツチとしての [G— L o c k] スィッチ 7 3 3
サプキーセッ トによるェクスポート口ック処理要求スィツチとしての [E— L o c k] スィッチ 7 3 4を有する。
さらに、 図 2 1 (b) に示すロック Zアンロック専用機器の例は、 上記スィ ツチの他に、ェクスポート口ック状態にある情報記憶装置に格納されたサブ I D ( I D e n) とサプロックキー (LK e n)、 すなわちサプキーセッ ト [ I D e n, LK e n] とをホスト装置に格納するインプリント処理のみの実行要 求スィ ッチと しての [ I mp r i n t ] スィ ッチ 7 3 5を有する。
なお、図 2 1には、 口ック /アン口ック専用機器のィンジケータ構成と処理 要求スィツチ構成例を示したが、先に説明したように、ホスト装置には、 P C, PDA等の情報処理装置、 D S C等のデジタルカメラ、携帯通信端末等の様々 な装置が含まれ、 これらの装置においては、それぞれの入力手段を介した情報 記憶装置 (メモリカード) に対するコマンド送出構成が可能である。 また、 口 ック状態表示処理も、それぞれの機器において L CD等のディスプレイに表示 したり、 あるいは、 音声、 アラーム等により通知する構成とすることが可能で ある。
図 2 2以下を参照して、ホスト装置における口ック状態提示処理、およびホ ス ト装置から情報記憶装置(メモリカード) に対するコマンド送信処理につい て説明する。
図 2 2は、 例えば、 ホスト装置に対して情報記憶装置 (メモリ力一ド) を接 続したときに実行される口ック状態読み出し処理を説明するフローである。口 ック状態読み出し処理は、ユーザによるコマンド入力によって実行する構成と してもよいが、 ホスト装置に対して情報記憶装置 (メモリカー ド) を接続した ときに自動実行する構成としてもよい。
ステップ S 9 0 1において、 口ック状態が情報記憶装置から読み出される。 この状態情報は、 先に説明した情報記憶装置の制御部 2 1 0 (図 3参照) の R AM 2 1 3に格納された口ックステータスフラグに基づく。ステップ S 9 0 2 において、 このロック状態読み出し情報に基づいて、 ロック状態に対応するィ
ンジケータ 7 2 1〜 7 2 4が点灯する。 すなわち、 スタンダードロック、 グル 一プロックが実行されている場合は、 口ック状態を示す [L o c k e d] イン ジーケータ 7 2 2が表示 (点灯) され、 ェクスポートロックが実行されている 場合は、 エクスポート口ック状態を示す [E— L o c k e d] ィンジーケータ 7 2 3が表示 (点灯) され、 ロック状態にない場合は、 ロック解除状態を示す [Un l o c k e d] ィンジーケータ 7 2 1が表示 (点灯) される。
次に、 図 2 3を参照して、 口ック処理要求、 実行に基づくィンジケータ表示 処理について説明する。 口ック処理は、 図 2 1の、 処理要求スィツチ 7 3 2〜 7 3 4のスィツチによる入力に基づいて実行される。
プライマリ I D ( I D s ) と、 プライマリ 口ックキー (LK s ) のプライマ リキーセッ ト [ j D s , L K s ] を適用したスタンダードロック処理要求の場 合は、 [S— L o c k] スィッチ 7 3 2による入力、 サブ I D ( I D e n ) と、 サブロックキー (LK e n) のサブキーセッ ト [ I D e n, LK e n] を適用 したェクスポート口ック処理要求の場合は、 E— L o c k] スィッチ 7 3 4に よる入力、 サブキーセッ ト [ I D e n, LK e n] を適用したスタンダードロ ック、 すなわちグループロック処理要求の場合は、 [G_ L o c k] スィッチ 7 3 3による入力を実行する。。
これらのいずれかの入力を受けると、 ステップ S 9 1 1において、 情報記憶 装置 (メモリカード) のロック状態を検出し、 アンロック状態でない場合は、 ステップ S 9 1 4において、 エラー (E RR) ィンジケータ表示を行なう。 ァ ンロック状態である場合は、 ステップ S 9 1 2において、 スタンダードロック 処理、 またはェクスポートロック処理、 またはグループ口ック処理のいずれか を実行し、 口ック処理完了の後、 ホス ト装置の対応口ックインジケータ、 すな わち、 口ック状態を示す [L o c k e d] ィンジーケータ 7 2 2、 またはェク スポート口ック状態を示す [E— L o c k e d] ィンジーケータ 7 2 3の表示 を実行する。
次に、 図 24を参照して、 アン口ック処理時におけるホス ト装置の操作、 ィ ンジケータ表示について説明する。
アン口ック処理は、図 2 1におけるアン口ック要求スィツチ 7 3 1の押下に
より実行される。 アン口ック要求スィツチの押下により、 まず、 情報記憶装置 の口ック状態検出が実行される。 状態検出は、先に説明した制御部内の R A M の口ックステータスフラグに基づいて実行される。 口ック状態にない場合 (ス テツプ S 9 2 1 : N o ) は、 ステップ S 9 2 3においてエラー (E R R ) イン ジケータ 7 2 4の表示を実行する。
また、 ステップ S 9 2 2の口ック状態読み出しにおいて、 情報記憶装置がェ クスポート口ック状態にあるかスタンダードロック状態にあるかが判定され る。先に説明したロックステータスフラグに基づいてエクスポートロック状態 にあるかスタンダード口ック状態にあるかを識別する。 識別結果に基づいて、 図 2 1に示す口ック状態に対応するィンジケータ 7 2 1〜 7 2 4が点灯する。 まず、 ェクスポートロ ッタである場合 (ステップ S 9 2 4 : Y e s ) は、 先 に図 1 6乃萆図 1 8を参照して説明したインプリントおよびアン口ック処理 を実行する。 すなわちステップ S 9 2 5に示すプライマリ I D ( I D s ) とプ ライマリ ロックキー (L K s ) によるオーバー口ック処理、 ステップ S 9 2 6 のサブ I D ( I D e n ) と、 サブ口ックキー ( L K e n ) のィンプリ ント (入 力格納) 処理、 さらに、 ステップ S 9 2 7におけるサブ I D ( I D e n ) と、 サブ口ックキー (L K e n ) を適用した口ック解除処理である。 この処理の詳 細は、 先に図 1 6乃至図 1 8を参照して説明した通りである。 これらの処理に より、 ロックが解除されると、 ステップ S 9 2 8において、 口ック解除ィンジ ケータ 7 2 1が表示される。
ステップ S 9 2 4において、 ェクスポート口ック以外の口ック状態、 すなわ ちスタンダードロ ック状態である場合は、 ステップ S 9 2 9において、 スタン ダードロックがなされているか否かが判定され、スタンダードロックありの場 合は、 ステップ S 9 3 0において、 アンロック処理を実行する。 このアンロッ ク処理に適用するキーセッ トは、プライマリ一キーセッ ト [ I D s , L K s ] , あるいはグループ口ックである場合は、サブキーセッ ト [ I D e n , L K e n ] である。この処理により、ロックが解除されると、ステップ S 9 2 8において、 口ック解除ィンジケータ 7 2 1が表示される。
ステップ S 9 2 4において、 エタスポ一トロック以外のロック状態であり、
ステップ S 9 2 9において、 スタンダードロックでないと判定されると、 ステ ップ S 9 3 1に進み、 エラー (E R R ) インジケータ 7 2 4が表示される。 以上、 特定の実施例を参照しながら、 本発明について詳解してきた。 しかし ながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成 し得ることは自明である。すなわち、例示という形態で本発明を開示してきた のであり、限定的に解釈されるべきではない。本発明の要旨を判断するために は、 冒頭に記載した特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウエア、 またはソフ ト ウェア、 あるいは両者の複合構成によって実行することが可能である。 ソフ ト ウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、 専用のハードウエアに組み込まれたコンピュータ内のメモリにィンス トール して実行させるか、 あるいは、各種処理が実行可能な汎用コンピュータにプロ グラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクや R O M (Read Only Memory)に予め記録しておくことができる。 あるいは、 プログラムはフレキシ ブノレディスク、 C D— R O M (Compact Di sc Read Only Memory) , M O (Magneto opt ical)ディスク, D V D (D i gi tal Versat i le Di sc)、 磁気ディスク、 半導体 メモリなどのリムーバブル記録媒体に、 一時的あるいは永続的に格納 (記録) しておくことができる。 このようなリムーバプル記録媒体は、 いわゆるパッケ ージソフ トウェアとして提供することができる。
なお、 プログラムは、上述したようなリムーバブル記録媒体からコンビユー タにインストールする他、 ダウンロードサイ トから、 コンピュータに無線転送 したり、 L A N (Local Area Network)、 インターネットといったネットワーク を介して、 コンピュータに有線で転送し、 コンピュータでは、 そのようにして 転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体に ィンス トールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行される のみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあ るいは個別に実行されてもよい。 また、 本明細書においてシステムとは、 複数
の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限 らない。 産業上の利用可能性 以上説明してきたように、本発明の構成によれば、 メモリカード等の情報記 憶装置において、情報処理装置からのコマンド入力に応じて、 メモリのロック 解除処理としてのアン口ック処理を実行するとともに、アン口ック処理前の口 ック状態データを記憶手段に格納し、情報記憶装置の電源オフ後の電源再投入 時に、記憶手段に格納した口ック状態データに基づいて、 メモリの口ック状態 を再現し、再現口ック状態に基づくメモリアクセス制御を実行する構成とした ので、情報記憶装置の紛失、盗難等による第三者によるメモリアクセスを効果 的に防止することが可能となる。
さらに、本発明の構成によれば、情報記憶装置の口ック状態データとしての 口ックステータス情報を電源オフ後も格納情報が維持される第 1の記憶手段 としての不揮発性メモリ (N V M) に格納し、 電源再投入後に第 2の記憶手段 と しての制御部内メモリに口ックステータス情報をコピーして、アクセス制御 を実行する構成としたので、電源オフによっても、 口ック状態維持が可能とな り、 口ック情報の消失によるメモリアクセスを防止できる。
さらに、本発明の構成によれば、 口ック処理またはアン口ック処理に適用可 能なキーセッ トの外部出力が許容される口ック状態としてのエクスポート口 ック (E L ) 状態であるか否か、 キーセットの外部出力が許容されないスタン ダードロック (S L )状態であるか否かについての判別情報を含む口ックステ 一タス情報に基づいて、 アクセス制御を行なう構成としたので、 様々な態様で のメモリアクセス制御が可能となる。
さらに、 本発明の構成によれば、 再現した口ック状態において、 アン口ック 要求を出力した情報処理装置の識別子( I D ) を含むキーセットの検証処理を 実行し、該検証の成立を条件として、前記アンロック要求に基づく口ック解除 処理を実行する構成であるので、正当なホスト装置であることを条件としたセ
キュアなメモリアクセス制御が実現される。