(57)【要約】【課題】記憶されたデータをより安全に保護する記憶装置へアクセスするための方法を提供する。【解決手段】マスタキーと少なくとも１つの暗号化データファイルを記憶する記憶装置（１００）であって、マスタキーを使用して暗号化され且つ少なくとも１つのデータキーを有するデータキー記憶部を備える記憶装置（１００）にアクセスするための方法を提供する。この方法において、制御ユニット（２）は、暗証番号（ＰＩＮ）を受け取り、受け取ったＰＩＮが真正であるかどうかを判定し、ＰＩＮが真正であると判定された場合に記憶装置（１００）からマスタキーを取得し、少なくとも１つのデータキーを得るためにマスタキーを使用して暗号化されたデータキー記憶部（２２）を復号し、データキーを使用して少なくとも１つの暗号化ファイルを復号してデータファイルを得るように設定される。【選択図】図４
2013171581.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置（１００）にアクセスするための方法であって、記憶装置（１００）は、マスタキーと少なくとも１つの暗号化データファイルとを記憶しており、また前記マスタキーを使用して暗号化され且つ少なくとも１つのデータキーを有するデータキー記憶部（２２）を含み、前記少なくとも１つのデータキーは前記少なくとも１つの暗号化データファイルと一意に関連付けられ、前記方法は、記憶装置（１００）に接続された電子機器と作動的に関連付けられる制御ユニット（２）によって実行され、以下のステップを含むことを特徴とする方法。
Ａ）暗証番号(ＰＩＮ)を受け取るように制御ユニット（２）を設定するステップ
Ｂ）ステップＡ）で受け取られたＰＩＮが真正であるかどうかを判定するように制御ユニット（２）を設定するステップ
Ｃ）ステップＢにてＰＩＮが真正であると判定された場合に、記憶装置（１００）からマスタキーを取得するように制御ユニット（２）を設定するステップ
Ｄ）前記少なくとも１つのデータキーを取得するために、マスタキーを使用してデータキー記憶部（２２）を復号するように制御ユニット（２）を設定するステップ、および
Ｅ）前記少なくとも１つの暗号化データファイルからデータファイルを取得するために、ステップＤ）にて取得されたデータキーを使用して前記少なくとも１つの暗号化データファイルを復号し、電子機器がデータファイルにアクセスすることを許可するように、制御ユニットを設定するステップ。
【請求項２】
ステップＡ）において、制御ユニット（２）が、ＰＩＮを制御ユニット（２）のユーザインタフェース（２００）を介して受け取るように設定されることを特徴とする請求項１に記載の方法。
【請求項３】
制御ユニット（２）は、ユーザインタフェース（２００）と、アプリケーションプログラムインタフェース（２０１）と、フラグメント化解消プログラム（２０２）と、識別プログラム（２０３）とを含み、
記憶装置（１００）は、更に予め定められた値を記憶し、
ステップＢ）が以下のサブステップを含むことを特徴とする請求項１または請求項２に記載の方法。
Ｂ１）ユーザインタフェース（２００）からアプリケーションプログラムインタフェース（２０１）にＰＩＮを伝送するように制御ユニット（２）を設定するステップ
Ｂ２）アプリケーションプログラムインタフェース（２０１）を介してＰＩＮをフラグメント化してスクランブルを施すように制御ユニット（２）を設定するステップ
Ｂ３）フラグメント化解消プログラムを介して、ＰＩＮに対応するフラグメント化解消値を取得するためにスクランブルを施されたフラグメントのフラグメント化を解消し、フラグメント化解消値に基づいてハッシュ値を生成するように、制御ユニット（２）を設定するステップ、および
Ｂ４）ハッシュ値が記憶装置（１００）に記憶された予め定められた値と一致するかどうか識別プログラム（２０３）を介して判定し、ハッシュ値が予め定められた値と一致すると判定された場合に、ＰＩＮが真正であると確認するように制御ユニット（２）を設定するステップ。
【請求項４】
記憶装置（１００）は、更にマスタキーを記憶するシステム記憶部（２１）を含み、
ステップＡ）において、制御ユニット（２）はシステム記憶部（２１）からマスタキーを取得するように設定されることを特徴とする、請求項１から請求項３のいずれか１項に記載の方法。
【請求項５】
記憶装置（１００）は、更にマスタキーを記憶するシステム記憶部（２１）を含み、
前記方法は、前記ステップＡ）の後に、以下のステップを含むことを特徴とする請求項１から請求項４のいずれか１項に記載の方法。
ｉ）記憶装置（１００）にデータファイルを記憶するように制御ユニット（２）を設定するステップ
ii）データファイルに一意に関連付けられた前記少なくとも１つのデータキーを生成し、前記少なくとも１つのデータキーを使用してデータファイルを暗号化して少なくとも１つの前記暗号化データファイルを得るように、制御ユニット（２）を設定するステップ
iii）データキー記憶部（２２）に前記少なくとも１つのデータキーを記憶するように制御ユニット（２）を設定するステップ
iv）マスタキーを生成し、マスタキーを使用してデータキー記憶部（２２）を暗号化するように制御ユニット（２）を設定するステップ、および
ｖ）システム記憶部（２１）にマスタキーを記憶するように制御ユニット（２）を設定するステップ。
【請求項６】
前記ステップii）において、前記少なくとも１つのデータキーをランダムに生成するように制御ユニット（２）が設定されることを特徴とする請求項５に記載の方法。
【請求項７】
実行されると請求項１から請求項６のいずれか1項に記載の記憶装置（１００）へアクセスするための方法を制御ユニット（２）に実行させるプログラム命令を有する機械読取可能な記憶媒体を含むことを特徴とするコンピュータプログラム製品。
【請求項８】
データキー記憶部（２２）とシステム記憶部（２１）とを含む記憶装置（１００）に記憶された少なくとも１つのデータファイルを暗号化するための方法であって、制御ユニット（２）によって実行され、以下のステップを含むことを特徴とする方法。
ａ）記憶装置（１００）に記憶された前記少なくとも１つのデータファイルに一意に関連付けられたデータキーを生成し、そのデータキーを使用して前記少なくとも１つのデータファイルを暗号化して暗号化データファイルを得るように制御ユニット（２）を設定するステップ
ｂ）データキー記憶部（２２）にデータキーを記憶するように制御ユニット(２）を設定するステップ
ｃ）マスタキーを生成し、マスタキーを使用してデータキー記憶部（２２）を暗号化するように制御ユニット（２）を設定するステップ、および
ｄ）システム記憶部（２１）にマスタキーを記憶するように制御ユニット(２）を設定するステップ。
【請求項９】
ステップａ）において、データキーをランダムに生成するように制御ユニット（２）を設定することを特徴とする請求項８に記載の方法。
【請求項１０】
マスタキーを記憶しているシステム記憶部（２１）と、少なくとも１つの暗号化データファイルを記憶しているデータ記憶部（２３）と、前記少なくとも１つの暗号化データファイルに一意に関連付けられた少なくとも１つのデータキーを記憶し、前記マスタキーを使用して暗号化されたデータキー記憶部（２２）と、を含む記憶モジュール（１）と、
前記記憶モジュール（１）に接続された制御ユニット（２）であって、暗証番号（ＰＩＮ）を受け取り、ＰＩＮが真正かどうかを判定し、真正であると判定した場合に前記システム記憶部（２１）からマスタキーを取得し、マスタキーを使用してデータキー記憶部（２２）を復号して前記少なくとも１つのデータキーを得て、そのようにして得たデータキーを使用して前記少なくとも１つの暗号化データファイルを復号してデータファイルを得るように設定された制御ユニット（２）と、
を備えることを特徴とする記憶装置（１００）。
【請求項１１】
前記記憶モジュール（１）の前記システム記憶部（２１）は、さらに予め定められた値を記憶しており、
前記制御ユニット（２）は、
ＰＩＮを受け取るためのユーザインタフェース（２００）と、
ＰＩＮをフラグメント化してフラグメントにスクランブルを施すように設定されたアプリケーションプログラムインタフェース（２０１）と、
スクランブルを施されたフラグメントのフラグメント化を解消してＰＩＮに対応するフラグメント化解消値を得て、ハッシュ値を生成するように設定されたフラグメント化解消プログラム（２０２）と、
フラグメント化解消値が前記システム記憶部（２１）に記憶された予め定められた値に一致するかどうかどうかを判定し、ハッシュ値が予め定められた値に一致する場合にＰＩＮが真正であると確認するように設定された識別プログラム（２０３）と、
を含むことを特徴とする請求項１０に記載の記憶装置（１００）。
【請求項１２】
予め定められた値が前記システム記憶部（２１）に記憶されていることを特徴とする請求項１１に記載の記憶装置（１００）。
【請求項１３】
前記記憶モジュール（１）が更に、前記システム記憶部（２１）と、前記データキー記憶部（２２）と、前記データ記憶部（２３）とを含む隠しデータ記憶領域（２０）を含み、前記隠しデータ記憶領域（２０）は、前記制御ユニット（２）によってのみアクセスされるように設定されることを特徴とする請求項１０から請求項１２のいずれか１項に記載の記憶装置（１００）。
【請求項１４】
記憶装置（１００）に記憶された少なくとも１つのデータファイルを暗号化するために使用されるマスタキーを生成するための方法であって、前記方法は記憶装置（１００）と作動的に関連付けられる制御ユニット（２）によって実行され、記憶装置（１００）は隠しデータ記憶領域（２０）を含み、制御ユニット（２）は、ユーザインタフェース（２００）と、アプリケーションプログラムインタフェース（２０１）と、フラグメント化解消プログラム（２０２）と、識別プログラム（２０３）と、マスタキー生成プログラム（２０４）とを含み、前記方法は以下のステップを含むことを特徴とする方法。
Ｉ）暗証番号（ＰＩＮ）を、ユーザインタフェース（２００）を介して受け取るように制御ユニット（２）を設定するステップ
II）ユーザインタフェース（２００）からアプリケーションプログラムインタフェース（２０１）にＰＩＮを伝送するように制御ユニット（２）を設定するステップ
III）アプリケーションプログラムインタフェース（２０１）を介して、ＰＩＮをフラグメント化してスクランブルを施すように制御ユニット（２）を設定するステップ
IＶ）フラグメント化解消プログラム（２０２）を介して、スクランブルされたフラグメントのフラグメント化を解消してＰＩＮに対応するフラグメント化解消値を得て、フラグメント化解消値に基づいて予め定められた値を生成するように制御ユニット（２）を設定するステップ
Ｖ）マスタキー生成プログラム（２０４）を介して、予め定められた値に関連付けられたマスタキーを生成するように制御ユニット（２）を設定するステップ、および
ＶI）記憶装置（１００）の隠しデータ記憶領域（２０）にマスタキーを記憶するように制御ユニット（２）を設定するステップ。
【請求項１５】
ステップＶ）において、制御ユニット（２）のマスタキー生成プログラム（２０４）は予め定められた値に基づいてマスタキーを生成するように設定されることを特徴とする請求項１４に記載の方法。
【請求項１６】
ステップＶ）において、制御ユニット（２）のマスタキー生成プログラム（２０４）は、マスタキーをランダムに生成し、前記マスタキーと予め定められた値とを関連付けるように設定されることを特徴とする請求項１４又は請求項１５に記載の方法。
【請求項１７】
記憶装置（１００）に記憶された現行のマスタキーを新しいマスタキーに変更するための方法であって、前記方法は記憶装置（１００）と作動的に関連付けられる制御ユニット（２）によって実行され、記憶装置（１００）は、現行のマスタキーを記憶しているシステム記憶部（２１）と、現行のマスタキーを使用して暗号化されたデータキー記憶部（２２）とを備え、前記方法は、以下のステップを含むことを特徴とする方法。
現行の暗証番号（ＰＩＮ）を受け取るように制御ユニット（２）を設定するステップ、
受け取られた現行のＰＩＮが真正であるかどうか判定するように制御ユニット（２）を設定するステップ、
判定が真正である場合に、記憶装置（１００）のシステム記憶部（２１）から現行のマスタキーを取得するように制御ユニット（２）を設定するステップ、
新しいＰＩＮを受け取るように制御ユニット（２）を設定するステップ、
新しいＰＩＮに基づいて新しいマスタキーを生成するように制御ユニット（２）を設定するステップ、
現行のマスタキーを使用してデータキー記憶部（２２）を復号するように制御ユニット（２）を設定するステップ、
新しいマスタキーを使用してデータキー記憶部（２２）を暗号化するように制御ユニット（２）を設定するステップ、および
システム記憶部（２１）に新しいマスタキーを記憶するように制御ユニット(２）を設定するステップ。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願への相互参照）
本出願は２０１２年２月１７日に出願された台湾特許出願第１０１１０５２７５号への優先権を主張する。
【０００２】
本発明は、記憶装置にアクセスするための方法、更に詳しくはモバイル装置内のメモリカードにアクセスするための方法に関する。
【背景技術】
【０００３】
従来のメモリカードは、記憶容量が大きく、小型で持ち運びが可能と言った優位性を有するため、携帯用装置（例えば、携帯電話）に広く使われている。それにもかかわらず、従来のメモリカードを無くした場合に、その中に記憶されたデータは権限の無いアクセスから保護されない。
【０００４】
特許文献１および特許文献２に記載されているように、権限の無いアクセスからデータを保護するために、記憶されたデータを暗号化することが可能な集積回路（以下ＩＣ（Integrated Circuit）と表記することもある）チップが埋め込まれたスマートカードが提案されている。しかし、ユーザが入力したパスワードと事前設定されたパスワードとが一致することをＩＣチップが一旦認識すると、ＩＣチップはスマートカードの中に記憶された暗号化されたデータを復号することとなる。そして、事前設定されたパスワードはスマートカードの中に記憶されて、スマートカードをスキャンすることによって取得されることがある。更に、スマートカード内に記憶された事前設定されたパスワードを新しいパスワードに変更したい場合には、スマートカード内に記憶された暗号化データは一旦復号されてから新しいパスワードを使って暗号化されなければならない。この手法では、復号と暗号化に比較的より多くの時間が掛かる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】台湾特許公開公報第３３５７８８号
【特許文献２】台湾特許公開公報第５８７２２７号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、前述した問題点に鑑みてなされたものであり、その目的とすることは、記憶されたデータをより安全に保護するための記憶装置にアクセスするための方法等を提供することである。
【課題を解決するための手段】
【０００７】
従って、本発明に係る方法は、記憶装置にアクセスするための方法であって、記憶装置はマスタキーと少なくとも１つの暗号化データファイルとを記憶しており、また記憶装置は前記マスタキーを使用して暗号化され且つ少なくとも１つのデータキーを有するデータキー記憶部を含む方法である。前記少なくとも１つのデータキーは、前記少なくとも１つの暗号化データファイルと一意に関連付けられている。本発明に係る方法は、記憶装置に接続された電子機器と作動的に関連付けられる制御ユニットによって実行され、以下のステップを含む。
Ａ）暗証番号（以下、ＰＩＮ（personal identification number）と表記することもある。）を受け取るように制御ユニットを設定するステップ
Ｂ）ステップＡ）にて受け取られたＰＩＮが真正であるかどうかを判定するように制御ユニットを設定するステップ
Ｃ）ステップＢ）にてＰＩＮが真正であると判定された場合に、記憶装置からマスタキーを取得するように制御ユニットを設定するステップ
Ｄ）前記少なくとも１つのデータキーを得るために、マスタキーを使用してデータキー記憶部を復号するように制御ユニットを設定するステップ、および
Ｅ）前記少なくとも１つの暗号化データファイルからデータファイルを取得するために、ステップＤ）にて得られたデータキーを使用して前記少なくとも１つの暗号化データファイルを復号し、電子機器がデータファイルにアクセスすることを許可するように、制御ユニットを設定するステップ。
【０００８】
制御ユニットは、ユーザインタフェースと、アプリケーションプログラムインタフェースと、フラグメント化解消プログラムと、識別プログラムとを含むことが望ましい。記憶装置は、更に予め定められた値を記憶している。前記ステップＢ）は、以下のサブステップを含む。
Ｂ１）ユーザインタフェースからアプリケーションプログラムインタフェースにＰＩＮを伝送するように制御ユニットを設定するステップ
Ｂ２）アプリケーションプログラムインタフェースを介してＰＩＮをフラグメント化してスクランブルを施すように制御ユニットを設定するステップ；
Ｂ３）フラグメント化解消プログラムを介して、ＰＩＮに対応するフラグメント化解消値を得るために、スクランブルを施されたフラグメントのフラグメント化を解消し、フラグメント化解消値に基づいてハッシュ値を生成するように制御ユニットを設定するステップ、および
Ｂ４）ハッシュ値が記憶装置に記憶されている予め定められた値と一致するかどうか識別プログラムを介して判定し、ハッシュ値が予め定められた値と一致すると判定された場合に、ＰＩＮが真正であると確認するように制御ユニットを設定するステップ。
【０００９】
本発明の別の形態によれば、本発明の方法は、記憶装置に記憶された少なくとも１つのデータファイルを暗号化するために使用されるマスタキーを生成するために使用される。本発明の方法は、記憶装置と作動的に関連付けられる制御ユニットによって実行される。記憶装置は、隠しデータ記憶領域を備える。制御ユニットは、ユーザインタフェースと、アプリケーションプログラムインタフェースと、フラグメント化解消プログラムと、識別プログラムと、マスタキー生成プログラムとを含む。本発明の方法は以下のステップを含む。
Ｉ）暗証番号（ＰＩＮ）を、ユーザインタフェースを介して受け取るように制御ユニットを設定するステップ
II）ユーザインタフェースからアプリケーションプログラムインタフェースにＰＩＮを伝送するように制御ユニットを設定するステップ
III）前記アプリケーションプログラムインタフェースを介して、ＰＩＮをフラグメント化してスクランブルを施すように制御ユニットを設定するステップ
IＶ）フラグメント化解消プログラムを介して、スクランブルを施されたフラグメントのフラグメント化を解消して、ＰＩＮに対応するフラグメント化解消値を得て、そのフラグメント化解消値に基づいて予め定められた値を生成するように、制御ユニットを設定するステップ
Ｖ）マスタキー生成プログラムを介して、予め定められた値に関連付けられたマスタキーを生成するように制御ユニットを設定するステップ、および
ＶI）記憶装置の隠しデータ記憶領域にマスタキーを記憶するように制御ユニットを設定するステップ。
【００１０】
本発明の更に別の目的は、データキー記憶部とシステム記憶部とを含む記憶装置に記憶された少なくとも１つのデータファイルを暗号化する方法を提供することである。その方法は、制御ユニットによって実行され、以下のステップを含む。
ａ）記憶装置に記憶された前記少なくとも１つのデータファイルに一意に関連付けられたデータキーを生成し、そのデータキーを使用して前記少なくとも１つのデータファイルを暗号化して暗号化データファイルを得るように、制御ユニットを設定するステップ
ｂ）データキー記憶部にデータキーを記憶するように制御ユニットを設定するステップ
ｃ）マスタキーを生成し、そのマスタキーを使用してデータキー記憶部を暗号化するように制御ユニットを設定するステップ、および
ｄ）システム記憶部にマスタキーを記憶するように制御ユニットを設定するステップ。
【００１１】
本発明の更に別の目的は、記憶モジュールと制御ユニットを備える記憶装置を提供することである。
【００１２】
記憶モジュールは、マスタキーを記憶するシステム記憶部と、少なくとも１つの暗号化データファイルを記憶するデータ記憶部と、前記少なくとも１つの暗号化データファイルに一意に関連付けられた少なくとも１つのデータキーを記憶し、マスタキーを使用して暗号化されているデータキー記憶部とを含む。
【００１３】
制御ユニットは、記憶モジュールと接続されており、暗証番号（ＰＩＮ）を受け取り、ＰＩＮが真正かどうかを判断し、ＰＩＮが真正であると判断した場合にシステム記憶部からマスタキーを取得し、少なくとも１つのデータキーを得るためにマスタキーを使用してデータキー記憶部を復号し、少なくとも１つの暗号化データファイルからデータファイルを得るために、取得したデータキーを使用して少なくとも１つの暗号化データファイルを復号する。
【００１４】
本発明の更に別の目的は、記憶装置に記憶された現行のマスタキーを新しいマスタキーに変更するための方法を提供することである。その方法は、記憶装置と作動的に関連付けられる制御ユニットによって実行される。記憶装置は、現行のマスタキーを記憶しているシステム記憶部と、現行のマスタキーを使用して暗号化されたデータキー記憶部とを備える。その方法は、以下のステップを含む。
現行の暗証番号（ＰＩＮ）を受け取るように制御ユニットを設定するステップ、
受け取られた現行のＰＩＮが真正であるかどうか判定するように制御ユニットを設定するステップ、
判定が真性である場合に、記憶装置のシステム記憶部から現行のマスタキーを取得するように制御ユニットを設定するステップ、
新しいＰＩＮを受け取るように制御ユニットを設定するステップ、
新しいＰＩＮに基づいて新しいマスタキーを生成するように制御ユニットを設定するステップ、
現行のマスタキーを使用してデータキー記憶部を復号するように制御ユニットを設定するステップ、
新しいマスタキーを使用してデータキー記憶部を暗号化するように制御ユニットを設定するステップ、および
システム記憶部に新しいマスタキーを記憶するように制御ユニットを設定するステップ。
【００１５】
本発明に係る他の特徴と優位性は、付随の図面を参照しながら、以下の好適な実施形態の詳細な説明の中に示される。
【図面の簡単な説明】
【００１６】
【図１】本発明に係るメモリカードの好適な実施形態を示す概略ブロック図である。
【図２】メモリカードの制御ユニットを示すブロック図である。
【図３】メモリカードに記憶されたデータファイルを暗号化するための暗号化処理手順を示すフローチャートである。
【図４】本発明に係るメモリカードにアクセスするための方法の好適な実施形態の復号処理手順のフローチャートである。
【図５】受け取った暗証番号が真正であるかどうかを決定するための処理手順を示すフローチャートである。
【図６】記憶装置に記憶された少なくとも１つのデータファイルを暗号化するために使用されるマスタキーを生成するためのマスタキー生成手順を示すフローチャートである。
【図７】記憶装置に記憶された現行のマスタキーを新しいマスタキーに変更するためのマスタキー変更処理手順を示すフローチャートである。
【図８】図８（ａ）と図８（ｂ）は、データ記憶部に記憶されたデータファイルとデータキー記憶部に記憶されたデータキー間のアドレス関係を示す。
【発明を実施するための形態】
【００１７】
本発明に係る記憶装置１００の好適な実施形態を示す図１と図２を参照する。
【００１８】
本実施形態において記憶装置１００は、記憶モジュール１と記憶モジュール１に接続された制御ユニット２とを含むスマートカード１００である。記憶モジュール１と制御ユニット２とは、単一チップ内で接続されている。制御ユニット２は、メモリカード１００に接続された電子機器（例えば、携帯電話）と作動的に関連付けられて、記憶モジュール１にアクセスするための方法を実行する。
【００１９】
記憶モジュール１は、通常データ記憶領域１０と隠しデータ記憶領域２０とを含む。通常データ記憶領域１０とは、例えば、ユーザにとって重要性が少なく保護の必要が無いデータを記憶するためのものであり、隠しデータ記憶領域２０とはユーザにとって比較的重要な個人情報を記憶するためのものである。隠しデータ記憶領域２０は制御ユニット２によってのみアクセスできるように構成され、更にシステム記憶部２１と、データキー記憶部２２と、データ記憶部２３とに区分される。システム記憶部２１は、マスタキーと、暗証番号（ＰＩＮ）に関連する予め定められた値（例えば、ハッシュ値という形の）とを記憶するように設定される。データ記憶部２３は、保護を必要とする重要な情報を含む複数のデータファイルを記憶するように設定される。データキー記憶部２２は、それぞれのデータファイルに一意に関連付けられた複数のデータキーを記憶するように設定される。
【００２０】
制御ユニット２は、ユーザインタフェース２００と、アプリケーションプログラムインタフェース（以下ＡＰＩ（Application Program Interface）と表すこともある）２０１と、フラグメント化解消プログラム２０２と、識別プログラム２０３と、マスタキー生成プログラム２０４とを含む。隠しデータ記憶領域２０は、制御ユニット２のアプリケーションプログラムインタフェース２０１によってのみ検出されるように設定され、一方で電子機器のオペレーティングシステムは通常データ記憶領域１０のみを検出する。
【００２１】
記憶装置１００にアクセスするための方法の好適な実施形態について、図３から図５を参照して、以下の段落で詳細に説明する。
【００２２】
図３は、隠しデータ記憶領域２０に記憶されたデータファイルを暗号化するための暗号化処理手順を示す図である。ステップＳ７１において、制御ユニット２は隠しデータ記憶領域２０のデータ記憶部２３にデータファイルを記憶するように設定される。ステップＳ７２において、制御ユニット２は、データファイルに各々一意に関連付けられたデータキーをランダムに生成し、各々のデータキーを使用してデータファイルを暗号化して、各データファイルに対応する暗号化データファイルを得るように設定される。次に、ステップＳ７３において、制御ユニット２は、データキー記憶部２２にデータキーを記憶するように設定され、ステップＳ７４において、制御ユニット２はマスタキーを生成して、マスタキーを使用してデータキー記憶部２２を暗号化する。ステップＳ７５において、制御ユニット２はマスタキーをシステム記憶部２１に記憶するように設定される。暗号化処理手順は、隠しデータ記憶領域２０のデータ記憶部２３に記憶されたデータファイルの安全性を確保するために多重の暗号化過程を有する。
【００２３】
図４と図５は、隠しデータ記憶領域２０のデータ記憶部２３に記憶されている前述の暗号化処理手順を使用して暗号化された暗号化データファイルを復号するための復号処理手順を説明する図である。
【００２４】
ステップＳ１０において、制御ユニット２は、ユーザインタフェース２００を介してユーザによって入力されたＰＩＮを受け取るように設定される。本実施形態では、ＰＩＮは８〜２４文字で構成される。
【００２５】
ステップＳ２０において、制御ユニット２は、ステップＳ１０にて受け取られたＰＩＮが真正であるかどうか判定するように設定される。特に、図５に示されるように、ステップＳ２０はＰＩＮが記憶領域２０を直接的にスキャンすることによって得られないように、次のサブステップＳ２１〜Ｓ２５を含む。
【００２６】
サブステップＳ２１において、制御ユニット２は、ユーザインタフェース２００からＡＰＩ２０１にＰＩＮを伝送するように設定される。サブステップＳ２２において、制御ユニット２は、ＡＰＩ２０１を介してＰＩＮをフラグメント化して、フラグメントにスクランブルを施すように設定される。サブステップＳ２３において、制御ユニット２は、フラグメント化解消プログラム２０２を使用して、スクランブルを施されたフラグメントのフラグメント化を解消して、ＰＩＮに対応するフラグメント化解消値を得て、フラグメント化解消値に基づいてハッシュ値を生成するように設定される。サブステップＳ２４において、制御ユニット２は識別プログラム２０３を使用して、ハッシュ値が記憶装置１００に記憶された予め定められた値に適合するかどうか判定し、ハッシュ値が予め定められた値に適合すると判定された場合に、ＰＩＮが真正であると確認する。
【００２７】
特に、ＰＩＮの文字はユーザインタフェース２００からＡＰＩ２０１に１文字ずつ伝送され、ＡＰＩ ２０１は最新の受け取られた１文字を、既に受け取られフラグメント化されてスクランブルを施された他の文字群と共にフラグメント化してスクランブルを施すように設定される。これによって、ＰＩＮの文字は繰返しフラグメント化されてスクランブルを施され、元々のＰＩＮの順序に従って配列されることはない。このようにして、ＰＩＮの伝送における安全性が高められる。
【００２８】
ステップＳ１０にて受け取ったＰＩＮが真正であるとサブステップＳ２４にて判定された場合に、ステップＳ３０に進む。その他の場合は、ステップＳ６０に進む。
【００２９】
ステップＳ６０において、制御ユニット２は誤ったＰＩＮの受取回数をカウントし、回数が閾値（例えば、本実施形態においては１０回）に到達したかどうかを判定するように設定される。誤ったＰＩＮの受取回数が閾値に到達した場合には、復号処理は終了し、記憶装置１００はその中に記憶されたデータにアクセスすることを禁止するようにロックを掛けられる。その他の場合は、ステップＳ１０に戻ってユーザに再びＰＩＮを入力させる。
【００３０】
ステップＳ２０においてＰＩＮが真正であると判定された場合には、ステップＳ３０において制御ユニット２は、隠しデータ記憶領域２０のシステム記憶部２１からマスタキーを取得するように設定される。
【００３１】
ステップＳ４０において、制御ユニット２は、各々の暗号化データファイルに一意に関連付けられたデータキーを得るために、マスタキーを使用してデータキー記憶部２２を復号するように設定される。
【００３２】
ステップＳ５０において、制御ユニット２は、暗号化されたデータファイルから対応するデータファイルを得るために、ステップＳ４０にて得られたデータキーを使用して暗号化データファイルを復号し、電子機器がデータファイルにアクセスするのを許可するよう設定される。
【００３３】
即ち、ユーザは電子機器を介してＰＩＮを入力し、制御ユニット２は、ＰＩＮに基づくハッシュ値を検査することによってＰＩＮが真正であるかどうかを判定する。これが記憶装置１００に対し、より高い安全性を提供する。ＰＩＮが真正であると判定すると、制御ユニット２は、始めにマスタキーを取得し、続いてこれを使用して、データキー記憶部２２を復号し、データキーを得る。次に、暗号化データファイルをデータキーを使用して復号し、隠しデータ記憶領域２０に記憶されたデータファイルを得る。復号処理は、隠しデータ記憶領域２０に記憶されたデータファイルが盗まれる可能性を低くすることができる。
【００３４】
次に図６を参照する。これは、（ユーザが記憶装置１００を使用しようとして、初めてＰＩＮを設定する場合に）記憶装置１００に記憶される少なくとも１つのデータファイルを暗号化するために使用するマスタキーを生成するマスタキー生成処理手順を説明する図である。
【００３５】
この処理手順では制御ユニット２は、ステップＳ８１においてユーザインタフェース２００を介してＰＩＮを受け取り、ステップＳ８２においてユーザインタフェース２００からＡＰＩ２０１にＰＩＮを伝送するように設定される。
【００３６】
ステップＳ８３において、制御ユニット２はＡＰＩ２０１を使用してＰＩＮをフラグメント化してスクランブルを施すように設定される。次に、ステップＳ８４において、制御ユニット２は、スクランブルを施されたフラグメントをフラグメント化解消プログラム２０２に伝送し、ＰＩＮに対応するフラグメント化解消値を得るためにフラグメント化解消プログラム２０２を使用してスクランブルを施されたフラグメントのフラグメント化を解消し、フラグメント化解消値に基づいて予め定められた値（例えば、ハッシュ値）を生成する。
【００３７】
ステップＳ８５において、制御ユニット２は、マスタキー生成プログラム２０４を使用して予め定められた値に関連付けられたマスタキーを生成するように設定される。本実施形態おいて、制御ユニット２のマスタキー生成プログラム２０４は、予め定められた値に基づいてマスタキーを生成するように設定される。別の実施形態においては、制御ユニット２のマスタキー生成プログラム２０４は、マスタキーをランダムに生成して、それからマスタキーを予め定められた値とを関連付けるように設定されても良い。
【００３８】
ステップＳ８６において、制御ユニット２は、隠しデータ記憶領域２０のシステム記憶部２１にマスタキーを記憶するように設定される。
【００３９】
次に図７を参照する。図７は、（ユーザが現行のＰＩＮを新しいＰＩＮに変更しようとする場合に）記憶装置１００に記憶された現行のマスタキーを新しいマスタキーに変更するマスタキー変更処理のステップを説明する図である。
【００４０】
この処理では、ステップＳ９１において、制御ユニット２は、ユーザインタフェース２００からＰＩＮを受け取り、ステップS９２において、ステップＳ９１にて受け取った現行のＰＩＮが真正であるかどうか（即ち、現行のＰＩＮと一致するかどうか）を判定するように設定される。
【００４１】
ステップＳ９２においてステップＳ９１にて受け取られたＰＩＮが真正であると判定された場合には、ステップＳ９３に進み、その他の場合にはステップＳ９９に進む。
【００４２】
ステップＳ９９において、制御ユニット２は誤ったＰＩＮの受取回数をカウントし、回数が閾値（例えば、本実施形態においては１０回）に到達したかどうかを判定するように設定される。誤ったＰＩＮの受取回数が閾値に到達した場合には、マスタキー変更処理を終了し、記憶装置１００はその中に記憶されたデータにアクセスすることを禁止するようにロックを掛けられる。その他の場合は、ステップＳ９１に戻ってユーザに再びＰＩＮを入力させる。
【００４３】
一方、ステップＳ９３において制御ユニット２は、記憶装置１００のシステム記憶部２１から現行のマスタキーを受け取って、ステップＳ９４において制御ユニット２は、ユーザインタフェース２００にユーザから新しいＰＩＮを受け取らせるように設定される。
【００４４】
その後、ステップＳ９５において制御ユニット２は、新しいＰＩＮに基づいて新しいマスタキーを生成するように設定される。図６に関連して説明された上記マスタキー生成処理と同様に、制御ユニット２のマスタキー生成プログラム２０４は、新しいＰＩＮに基づいて新しいマスタキーを生成するように、又は、新しいマスタキーをランダムに生成して新しいマスタキーを新しいＰＩＮに関連付けるように設定される。
【００４５】
ステップＳ９６において制御ユニット２は、現行のマスタキーを使用してデータキー記憶部２２を復号するように設定される。図８（ａ）に示されるように、データ記憶部２３は、各メモリアドレス（００００、０００１、・・・、等）に複数のデータファイル（データ１、データ２、・・・、データＮ）を記憶し、データキー記憶部２２は、データ記憶部２３のデータファイルの各メモリアドレスに関係付けられた各メモリアドレス（００００、０００１、・・・、等）に複数のデータキー（ＤＫ１、ＤＫ２、・・・、ＤＫＮ）を記憶する。即ち、データキー（ＤＫ１、ＤＫ２、・・・、ＤＫＮ）はデータファイル（データ１、データ２、・・・、データＮ）を復号するためにそれぞれ使用される。
【００４６】
ステップＳ９７において制御ユニット２は、新しいマスタキーを使用してデータ記憶部２２を暗号化するように設定される。図８（ｂ）に示されるように、マスタキーの変更の結果として、データキー記憶部２２に記憶されたデータキー（ＤＫ１、ＤＫ２、・・・、ＤＫＮ）は、新しいデータキーのメモリアドレスを変更することなく、複数の新しいデータキー（ＤＫ’１、ＤＫ’２、・・・、ＤＫ’Ｎ）に変更される。そのため、前に確立されたデータファイルとデータキーのアドレスの間のアドレス関連性も変更されることなく、それぞれの新しいデータキー（ＤＫ’１、ＤＫ’２、・・・、ＤＫ’Ｎ）は、対応するデータファイル（データ１、データ２、・・・、データＮ）を暗号化するために使用される。
【００４７】
ステップＳ９８において制御ユニット２は、システム記憶部２１に新しいマスタキーを記憶するように設定される。
【００４８】
本発明において明らかにされた方法は、記憶されたプログラム命令を有する機械読取可能な記憶媒体を含むコンピュータプログラム製品中で実行可能であることは注目に値する。実行されると、プログラム命令は制御ユニット２に、記憶装置１００にアクセスするための方法を実行させる。本発明は記憶装置１００としてスマートカードを使用して例示されているが、セキュアデジタル（ＳＤ）カードが本発明の別の実施形態で使用されても良い。ＳＤカードは記憶モジュール１のみを含み、制御ユニット２は電子機器に配置される。
【００４９】
要約すると、本発明の記憶装置１００にアクセスするための方法は、ＰＩＮに基づくハッシュ値を検査することによって、ＰＩＮを直接的に検査せずに、ＰＩＮが真正であるかどうかを判定するステップを含む。従って、記憶装置１００からＰＩＮを抽出される可能性が低くなる。更にＰＩＮは伝送される前にフラグメント化されてスクランブルを施される。従って、ＰＩＮは伝送中の安全性が確保され、かつ記憶装置１００をスキャンすることによっては抽出されない。その上、データ記憶部２３に記憶されている各データファイルはランダムに生成された一意なデータキーに関連付けられ、各データファイルは個々に管理されることができ、異なるセキュリティレベルを割り当てられることもできる。データキーが記憶されているデータキー記憶部２２もまた、マスタキーを使用して復号される。本発明は、このようにデータファイルの安全性を確保するための多重暗号化を有することによって、比較的より高いデータファイルの安全性を提供する。
【００５０】
本発明は、最も実用的で好適な実施形態と考慮されるものに関連して説明されているが、この発明が開示された実施形態に限られることなく、修正及び同等の変更全てを含む最も広範な解釈の精神と範囲に包含される種々の変更を包含するように意図されているものと理解される。
【符号の説明】
【００５１】
１００………記憶装置
１………記憶モジュール
２………制御ユニット
１０………通常データ記憶領域
２０………隠しデータ記憶領域
２１………システム記憶部
２２………データキー記憶部
２３………データ記憶部
２００………ユーザインタフェース
２０１………アプリケーションプログラムインタフェース（ＡＰＩ）
２０２………フラグメント化解消プログラム
２０３………識別プログラム
２０４………マスタキー生成プログラム
【図１】
2013171581.tif 000003
【図２】
2013171581.tif 000004
【図３】
2013171581.tif 000005
【図４】
2013171581.tif 000006
【図５】
2013171581.tif 000007
【図６】
2013171581.tif 000008
【図７】
2013171581.tif 000009
【図８】
2013171581.tif 000010
【外国語明細書】
2013171581000001.pdf