(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022074099
(43)【公開日】2022-05-17
(54)【発明の名称】セキュアメモリカード及びその制御方法
(51)【国際特許分類】
G06F 12/14 20060101AFI20220510BHJP
G06K 19/073 20060101ALI20220510BHJP
G06K 19/077 20060101ALI20220510BHJP
H04L 9/14 20060101ALI20220510BHJP
G06F 21/60 20130101ALI20220510BHJP
G06F 12/02 20060101ALI20220510BHJP
G06F 12/00 20060101ALI20220510BHJP
【FI】
G06F12/14 510D
G06K19/073 009
G06K19/077 164
H04L9/14
G06F21/60 320
G06F12/02 510A
G06F12/00 597U
【審査請求】有
【請求項の数】10
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021176738
(22)【出願日】2021-10-28
(31)【優先権主張番号】109137770
(32)【優先日】2020-10-30
(33)【優先権主張国・地域又は機関】TW
(31)【優先権主張番号】110139996
(32)【優先日】2021-10-28
(33)【優先権主張国・地域又は機関】TW
(71)【出願人】
【識別番号】521473815
【氏名又は名称】銓安智慧科技股▲分▼有限公司
(74)【代理人】
【識別番号】100084375
【弁理士】
【氏名又は名称】板谷 康夫
(74)【代理人】
【識別番号】100142077
【弁理士】
【氏名又は名称】板谷 真之
(72)【発明者】
【氏名】呉明▲廷▼
(72)【発明者】
【氏名】▲愈▼能傑
(72)【発明者】
【氏名】林志宏
【テーマコード(参考)】
5B017
5B160
【Fターム(参考)】
5B017AA01
5B017BA01
5B017BB02
5B017CA11
5B160AA12
(57)【要約】 (修正有)
【課題】改良されたセキュアエレメントを含むセキュアメモリカードを提供する。
【解決手段】セキュアメモリカードは、不揮発性メモリデバイス、セキュアエレメント及び不揮発性メモリコントローラを含む。不揮発性メモリコントローラは、不揮発性メモリデバイス及びセキュアエレメントと通信してホストからコマンドを受信する。不揮発性メモリデバイスは、ホストからのコマンドがセキュアエレメント制御コマンドである場合は、コマンドに応じてセキュア操作を実行するためにセキュアエレメントと相互作用する。セキュアエレメント制御コマンドは、1つの命令サイクルを持つシングルコマンドであり、特定アドレスに対応する。不揮発性メモリデバイスは、ホストからのコマンドが通常アドレスに対応する非セキュアエレメント制御コマンドである場合は、ホストからのコマンドに応じてセキュアエレメントとは相互作用せず、不揮発性メモリデバイスと相互作用する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
特定アドレス及び該特定アドレスとは異なる通常アドレスを含むデータを保存するための不揮発性メモリデバイスと、
セキュア操作を実行するためのセキュアエレメントと、
前記不揮発性メモリデバイス及びセキュアエレメントと通信してホストからコマンドを受信するように構成された不揮発性メモリコントローラと、を備え、
前記ホストからのコマンドが、1つの命令サイクルを持つシングルコマンドであり、且つ前記特定アドレスに対応するセキュアエレメント制御コマンドである場合には、前記不揮発性メモリコントローラは、前記ホストからのコマンドに応じてセキュア操作を実行するために前記セキュアエレメントと相互作用し、前記ホストからのコマンドが、前記通常アドレスに対応する非セキュアエレメント制御コマンドである場合には、前記不揮発性メモリコントローラは、前記ホストからのコマンドに応じて前記セキュアエレメントとは相互作用せず、前記不揮発性メモリデバイスと相互作用することを特徴とするセキュアメモリカード。
【請求項2】
前記不揮発性メモリデバイスは、前記通常アドレスが属する通常アドレス範囲と、前記特定アドレスが属する予約済みアドレス範囲と、を含み、前記通常アドレス範囲及び予約済みアドレス範囲は、互いに重複していないことを特徴とする請求項1に記載のセキュアメモリカード。
【請求項3】
前記ホストからのコマンドが、前記不揮発性メモリデバイスの予約済みアドレス範囲に属する第1の特定アドレスに対応するライトコマンドである場合には、前記不揮発性メモリコントローラのファームウェアは、前記第1の特定アドレスを認識すると、第1の暗号化モードとなるように前記セキュアエレメントを設定し、前記ホストからのコマンドが、前記不揮発性メモリデバイスの予約済みアドレス範囲に属して前記第1の特定アドレスとは異なる第2の特定アドレスに対応するライトコマンドである場合には、前記不揮発性メモリコントローラのファームウェアは、前記第2の特定アドレスを認識すると、前記第1の暗号化モードとは異なる第2の暗号化モードとなるように前記セキュアエレメントを設定することを特徴とする請求項2に記載のセキュアメモリカード。
【請求項4】
前記ホストからのコマンドが、前記不揮発性メモリデバイスの予約済みアドレス範囲に属する第3の特定アドレスに書き込まれる第1の特定データを含むライトコマンドである場合に、前記不揮発性メモリコントローラのファームウェアは、前記第3の特定アドレスを認識すると、前記第1の特定データに従って前記セキュアエレメントのパラメータセットを改訂することを特徴とする請求項2に記載のセキュアメモリカード。
【請求項5】
前記ホストからのコマンドが、前記不揮発性メモリデバイスの予約済みアドレス範囲に属する第4の特定アドレスに対応するライトコマンドである場合には、前記不揮発性メモリコントローラのファームウェアは、前記第4の特定アドレスを認識すると、前記セキュアエレメントから特定情報を読み込むことを特徴とする請求項2に記載のセキュアメモリカード。
【請求項6】
前記特定情報は、前記セキュアエレメントのファームウェアバージョンであり、前記不揮発性メモリコントローラのファームウェアは、前記予約済みアドレス範囲に属するアドレスに読み込んだファームウェアバージョンを書き込む又は前記ホストによりアクセスされるように読み込んだファームウェアバージョンを一時的に保存することを特徴とする請求項5に記載のセキュアメモリカード。
【請求項7】
前記ホストからのコマンドが、前記不揮発性メモリデバイスの予約済みアドレス範囲に属する第5の特定アドレスに書き込まれる第2の特定データを含むライトコマンドである場合には、前記不揮発性メモリコントローラのファームウェアは、前記第5の特定アドレスを認識すると、前記第2の特定データを暗号化させると共に該暗号化した第2の特定データを前記不揮発性メモリコントローラに返送させるよう前記セキュアエレメントに働きかけ、前記不揮発性メモリコントローラのファームウェアは、前記予約済みアドレス範囲に属するアドレスに前記暗号化した第2の特定データを書き込む又は前記ホストによりアクセスされるように前記暗号化した第2の特定データを一時的に保存することを特徴とする請求項2に記載のセキュアメモリカード。
【請求項8】
前記ホストからのコマンドが、1つの命令サイクルを持ち、且つ前記不揮発性メモリデバイスの予約済みアドレス範囲に属する第6の特定アドレスに対応するデータアクセスコマンドである場合には、前記不揮発性メモリコントローラのファームウェアは、前記第6の特定アドレスを認識すると、該第6の特定アドレスへのデータアクセスを実行することを特徴とする請求項2に記載のセキュアメモリカード。
【請求項9】
前記第6の特定アドレスは、特定形式に適合した複数のマルチビットディジットから成るグループより動的に選択されたものであることを特徴とする請求項8に記載のセキュアメモリカード。
【請求項10】
セキュアメモリカードの制御方法であって、該セキュアメモリカードは、ホストと共に用いられるように構成され、該ホストは、ファイルシステムを含み、前記セキュアメモリカードは、不揮発性メモリデバイス、セキュアエレメント及び不揮発性メモリコントローラを含み、
前記ホストは、1つの命令サイクルを持つシングルコマンドであって特定アドレスに対応するセキュアエレメント制御コマンドを前記不揮発性メモリコントローラに対して随意に発行し、
前記不揮発性メモリコントローラは、前記セキュアエレメント制御コマンドに応じてセキュア操作を実行するために前記セキュアエレメントと相互作用し、
前記ホストは、前記特定アドレスとは異なる通常アドレスに対応する非セキュアエレメント制御コマンドを前記不揮発性メモリコントローラに対して随意に発行し、
前記不揮発性メモリコントローラは、前記非セキュアエレメント制御コマンドに応じて前記セキュアエレメントとは相互作用せず、前記不揮発性メモリデバイスと相互作用することを特徴とするセキュアメモリカードの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セキュアメモリカード、特に、セキュアエレメントが組み込まれたセキュアメモリカードに関する。また、本発明は、チップ制御方法、特に、セキュアメモリカードのセキュアエレメントを制御するための方法に関する。
【背景技術】
【0002】
情報技術の普及に伴い、USBインターフェース又はインターネットのような種々のデータ転送チャネルを介した情報デバイス間でのデータ交換又は金融取引の実行が一般的になってきている。そのため、秘密にされるべき種々のアカウントやパスワードといった重要な情報は、例えば、一般的なパーソナルコンピュータ、ノートブックコンピュータ又はより大衆的なスマートフォンといったユーザの情報端末に、一般的な情報と共にしばしば保存される。このような状況では、セキュア(保安)情報が不法にアクセス及び使用されるのを防ぐことが重要且つ必須である。今のところ、データを安全に保存するためのデータセキュアモジュールを備えた情報デバイスはほぼ無く、データセキュアモジュールが有ったとしても、残念なことに殆どの既存の情報デバイスに対して簡単に導入可能なものとして供給されていない。
【0003】
複雑なデータセキュアモジュールを導入することなく、既存の情報デバイスに付加的にデータセキュア機能を持たせるために、
図1に示すようなセキュアメモリカードが、情報デバイスの利用のために開発されている。セキュアメモリカード11は、付加的なセキュアエレメント119が設けられた、例えば、マイクロSDフラッシュメモリカードのような一般的なセキュアデジタルメモリカードであり、これにより、コモンクライテリアセキュア評価において評価保証レベルCC EAL5+を達成している。セキュアエレメント119は、パスワードやキーのような機密データを保存及び取り扱い、支払いのようなセキュアアプリケーションを実行するのに機能する。例えば、ホスト10のアプリケーションプログラム100が、データ暗号化を行うためにファイルシステム101に対して暗号化コマンドを発したときに、ファイルシステム101は、その暗号化コマンドに応じてSDコントローラ110に対してプリセットスペシャルコンビネーション102を発行する。プリセットスペシャルコンビネーション102は、例えば、リードコマンド2回とライトコマンド1回が連続したような、マルチ連続リード/ライトコマンドから成る。プリセットスペシャルコンビネーションによりトリガされ、ベンダーコマンド(VC)トンネルが、SDコントローラ110とファイルシステム101との間で確立される。データ暗号を含むライトコマンドが一旦VCトンネル103に入ると、SDコントローラ110は、そのライトコマンドをベンダーコマンドとして認識する。当業者であれば理解できるように、ベンダーコマンドは、暗号操作を行うように特別に定義され得る。例えば、ベンダーコマンドの特別な定義により、SDコントローラ110は、ライトコマンドに関連したセキュアデータをセキュアエレメント119に暗号化するように転送し、暗号化されたデータは、VCトンネル103を介してアプリケーションプログラムに返送される又はフラッシュメモリ111に保存される。このようにして、データ暗号化は、通常のデータセキュアモジュールを用いずに達成され得る。
【0004】
上述した従来技術から、連続リード/ライトコマンドのプリセットスペシャルコンビネーションがベンダーコマンドを定義するのに必要とされ、VCトンネルが次の暗号化コマンドに必要とされることが理解される。しかしながら、このようなプリセットスペシャルコンビネーションは、複雑且つ命令サイクルを非効率に消費する。更に、従来技術では、SDコントローラ110及びセキュアエレメント119は、互いに通信するためにスマートカードのISO-7816通信プロトコルに準拠している。しかしながら、ISO-7816基準は、1.25MHzまでしか操作することができず、3ピン(IO/CLK/RST)構成は、半二重信号伝送にしか適していない。このようなデータ処理効率は、現在のアプリケーションには十分でない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
そこで、本発明は、改良されたセキュアエレメントを含むセキュアメモリカードを提供する。
【0006】
本発明は、改良されたデータ処理効率を示すセキュアメモリカードのセキュアエレメントを制御する方法を更に提供する。
【課題を解決するための手段】
【0007】
本発明の一態様は、セキュアメモリカードに関する。このセキュアメモリカードは、不揮発性メモリデバイスと、セキュアエレメントと、不揮発性メモリデバイス及びセキュアエレメントと通信した不揮発性メモリコントローラと、を含む。不揮発性メモリデバイスは、セキュアエレメントコントロールと接続された予約済みアドレス範囲と、通常データアクセスと接続された通常アドレス範囲と、を含む。予約済みアドレス範囲と通常アドレス範囲とは、互いに重複していない。ホストが、不揮発性メモリコントローラに対して、1つの命令サイクルを持つシングルコマンドであり、且つ予約済みアドレス範囲に属する特定アドレスに対応するセキュアエレメント制御コマンドを発行すると、不揮発性メモリコントローラは、セキュアエレメント制御コマンドに応じてセキュア操作を実行するためにセキュアエレメントと相互作用する。対照的に、ホストが、不揮発性メモリコントローラに対して、通常アドレス範囲に属する通常アドレスに対応する非セキュアエレメント制御コマンドを発行すると、不揮発性メモリコントローラは、非セキュアエレメント制御コマンドに応じてセキュアエレメントとは相互作用せず、不揮発性メモリデバイスと相互作用する。
【0008】
本発明の別の態様は、セキュアメモリカードの制御方法に関する。このセキュアメモリカードは、ファイルシステムを備えたホストと共に用いられるように構成されている。セキュアメモリカードは、不揮発性メモリデバイス、セキュアエレメント及び不揮発性メモリコントローラを含む。この制御方法によれば、ホストが不揮発性メモリコントローラに対して、1つの命令サイクルを持つシングルコマンドであり、且つ予約済みアドレス範囲に属する特定アドレスに対応するセキュアエレメント制御コマンドを発行すると、不揮発性メモリコントローラは、セキュアエレメント制御コマンドに応じてセキュア操作を実行するためにセキュアエレメントと相互作用する。対照的に、ホストが不揮発性メモリコントローラに対して、通常アドレス範囲に属する通常アドレスに対応する非セキュアエレメント制御コマンドを発行すると、不揮発性メモリコントローラは、非セキュアエレメント制御コマンドに応じてセキュアエレメントとは相互作用せず、不揮発性メモリデバイスと相互作用する。
【0009】
本発明は、以下の詳細な記載及び添付の図面を参照することで、当業者には直ちに明確になるであろう。
【図面の簡単な説明】
【0010】
【
図1】従来技術に係るセキュアメモリカードを概略的に示す機能ブロック図。
【0011】
【
図2】本発明に係るセキュアメモリカードを概略的に示す機能ブロック図。
【0012】
【
図3A】本発明の第1の実施形態に係るセキュアメモリカードを概略的に示す機能ブロック図。
【0013】
【
図3B】
図3Aに示したセキュアメモリカード上で実行されるセキュア操作例における概略タイムチャート。
【0014】
【
図3C】
図3Aに示したセキュアメモリカード上で実行される別のセキュア操作例における概略タイムチャート。
【0015】
【
図4A】本発明の第2の実施形態に係るセキュアメモリカードを概略的に示す機能ブロック図。
【0016】
【
図4B】
図4Aに示したセキュアメモリカード上で実行されるセキュア操作例における概略タイムチャート。
【0017】
【
図4C】
図4Aに示したセキュアメモリカード上で実行される別のセキュア操作例における概略タイムチャート。
【0018】
【
図5A】本発明の第3の実施形態に係るセキュアメモリカードを概略的に示す機能ブロック図。
【0019】
【
図5B】
図5Aに示したセキュアメモリカード上で実行されるセキュア操作例における概略タイムチャート。
【0020】
【
図5C】
図5Aに示したセキュアメモリカード上で実行される別のセキュア操作例における概略タイムチャート。
【0021】
【
図6A】本発明の第4の実施形態に係るセキュアメモリカードを概略的に示す機能ブロック図。
【0022】
【
図6B】
図6Aに示したセキュアメモリカード上で実行されるセキュア操作例における概略タイムチャート。
【0023】
【
図6C】
図6Aに示したセキュアメモリカード上で実行される別のセキュア操作例における概略タイムチャート。
【0024】
【
図7】本発明の実施形態に係るセキュアメモリカード上で実行される他のセキュア操作例における概略タイムチャート。
【0025】
【
図8】本発明の実施形態に係るセキュアメモリカード上で実行される更に他のセキュア操作例における概略タイムチャート。
【発明を実施するための形態】
【0026】
図2を参照すると、本発明の実施形態に係るセキュアメモリカードが概略的に示されている。セキュアメモリカード21は、例えば、セキュアデジタルメモリカードであり、金属ピンのような有線信号伝達手段又はBluetooth(登録商標)や無線ネットワークのような無線信号伝達手段を介してホスト20と通信している。セキュアメモリカード21は、不揮発性メモリデバイス210、セキュアエレメント211及び不揮発性メモリコントローラ212を含む。不揮発性メモリデバイス210は、例えば、フラッシュメモリであり、データを保存するのに機能する。セキュアエレメント211は、例えば、インフィニオン・テクノロジーズにより生産されたCC EAL5+認証チップを実装し、機密データを保存及び取り扱うと共に、セキュアアプリケーションを実行するために機能する。不揮発性メモリコントローラ212は、ホスト20、不揮発性メモリデバイス210及びセキュアエレメント211と通信しており、1つの命令サイクルを持つシングルコマンドであるセキュアエレメント制御コマンドによりセキュアエレメント211と相互作用する。この実施形態では、不揮発性メモリコントローラ212に、セキュアエレメント制御コマンドに応じて暗号化操作を実行するようにセキュアエレメント211をトリガするファームウェア2120が導入されている。
【0027】
より詳細には、ホスト20のアプリケーションプログラム201が、セキュアエレメント211と協調してセキュア操作を作動させると、アプリケーションプログラム201は、ファイルシステム202に不揮発性メモリコントローラ21へと特定アドレスに対応するライトコマンドを発行するように仕向ける。ライトコマンドは、1つの命令サイクルを持つシングルコマンドから成り、セキュアエレメント制御コマンドとして働く。上述した特定アドレスは、プリセットマルチビットディジットとなるように構成され、不揮発性メモリデバイス210の予約済みアドレス範囲2100に属している。ここで、「予約済みアドレス範囲」という語彙は、機密データ以外の通常データが保存されている通常アドレス範囲と区別するために用いられている。予約済みアドレス範囲及び通常アドレス範囲は、互いに重複していないので、ライトコマンドがセキュアエレメント制御コマンドか否かは、ライトコマンドと接続されたアドレスに従って容易に決定され得る。また、
図2に示したブロック2101、2100は、単に、通常アドレス範囲と予約済みアドレス範囲とが重複していないことを示すために用いられており、アドレス範囲の相対的な大きさや位置を指し示したり提案する意図はない。不揮発性メモリコントローラ212のファームウェア2120は、アドレス解読機能を有し、アドレスを区別することができる。一旦、特定アドレスが認識されると、セキュアエレメント211は、以下に例示するセキュア操作を実行するようファームウェア2120によりトリガされる。
【0028】
本発明の第1の実施形態に係るセキュアメモリカードが、
図3Aに示されている。上述したように、ファイルシステム202は、暗号化操作をトリガするために不揮発性メモリコントローラ21に対して、特定アドレス(例えば、第1のアドレス)に対応するライトコマンドC1を発行し、ここで、このライトコマンドは、1つの命令サイクルを持ち、且つ不揮発性メモリデバイス210に書き込まれるデータを有さないシングルコマンドである。第1のアドレスが、不揮発性メモリデバイス210の予約済みアドレス範囲2100に属しているので、ライトコマンドが、セキュアエレメント制御コマンドであることが認識される。不揮発性メモリコントローラ212に含まれるファームウェア2120は、第1のアドレスを認識すると、セキュアエレメント211が指定された暗号化モードに入るようにするコマンドC2を発行する。セキュアエレメント211は、異なる種類のセキュアエレメント制御コマンドにより活性化される種々の暗号化モードを持ち得る。例えば、第1のアドレスに対応するライトコマンドが、第1の種類のセキュアエレメント制御コマンドとして利用され、セキュアエレメント211の第1の暗号化モード(例えば、AES-256-CBC)を活性化し、予約済みアドレス範囲2100に属する第2の特定アドレスに対応する別のライトコマンドが、第2の種類のセキュアエレメント制御コマンドとして利用され、セキュアエレメント211の第2の暗号化モード(例えば、AES-256-CTR)を活性化する。対照的に、更なるライトコマンドが、不揮発性メモリデバイス210において予約済みアドレス範囲2100以外の通常アドレス範囲2101に属する第3の特定アドレスに対応する場合には、そのライトコマンドは、非セキュアエレメント制御コマンドである。言い換えれば、データは、そのライトコマンドに応じて通常アドレス範囲2101における第3の特定アドレスに書き込まれ、セキュアエレメント211は、非セキュアエレメント制御コマンドに対して応答しない。
【0029】
図3Bは、
図3Aのセキュアメモリカードで実行される暗号化操作のタイムチャートを示している。特に、このタイムチャートは、コマンドの送信及び実行の詳細及び時系列を図示するのに用いられる。まず、ホスト20は、不揮発性メモリコントローラ212に対してライトコマンドを発行する。そのライトコマンドが、不揮発性メモリコントローラ212によりセキュアエレメント制御コマンドであると決定されると、不揮発性メモリコントローラ212は、そのライトコマンドに応じてセキュアエレメント211の暗号化モードのセッティングを行う。特定の暗号化モードでセットされたセキュアエレメント211は、不揮発性メモリコントローラ212に対してセッティング完了を示す信号を発行する(破線で示す)。セッティング完了を示す信号に応じて、不揮発性メモリコントローラ212は、不揮発性メモリデバイス210に暗号化モードのセッティング結果(例えば、セッティング成功を示すコード)を書き込む操作を更に実行する。そして、不揮発性メモリコントローラ212は、書き込み完了を示す信号をホスト20に返送する。
【0030】
この実施形態では、不揮発性メモリデバイス210に暗号化モードのセッティング結果を書き込む操作は、
図3Cに示すように省略可能である。そして、セキュアエレメント211から発行されたセッティング完了を示す信号は、不揮発性メモリコントローラ212の代わりにホスト20に送信される。そのため、不揮発性メモリデバイス210の操作頻度を減らして、不揮発性メモリデバイス210の寿命を延ばすことができる。
【0031】
図4Aは、本発明の第2の実施形態に係るセキュアメモリカードを示している。この実施形態では、ファイルシステム202は、不揮発性メモリコントローラ212に対して特定アドレス(例えば、第3のアドレス)に対応するライトコマンドD1を発行する。ここで、このライトコマンドは、1つの命令サイクルを持つシングルコマンドで、且つ書き込まれる特定データを含んでおり、第3のアドレスは、不揮発性メモリデバイス210の予約済みアドレス範囲2100に属する。そのため、ライトコマンドD1は、セキュアエレメント211のセキュア操作をトリガするためのセキュアエレメント制御コマンドとなる。セキュアエレメント制御コマンドを認識すると、不揮発性メモリコントローラ212に含まれるファームウェア2120は、特定データに従ってセキュアエレメント211のパラメータセット(例えば、初期化ベクトル(IV)値)を改訂するためのコマンドD2を発行する。コマンドD2に応じてセキュアエレメント211は、AES-256-CBC暗号で用いられるIV値を設定する。本発明のこの実施形態によれば、パラメータセットを、ライトコマンドにより安全に改訂することができる。
【0032】
図4Bは、
図4Aのセキュアメモリカードで実行される安全な改訂操作のタイムチャートを示している。特に、このタイムチャートは、コマンドの送信及び実行の詳細及び時系列を図示するのに用いられる。まず、ホスト20は、不揮発性メモリコントローラ212に対して特定データを含むライトコマンドを発行する。そのライトコマンドが、不揮発性メモリコントローラ212によりセキュアエレメント制御コマンドであると決定されると、不揮発性メモリコントローラ212は、そのライトコマンド及び特定データに応じてセキュアエレメント211の暗号化モードのパラメータセットを改訂する。改訂されたパラメータセットを含むセキュアエレメント211は、不揮発性メモリコントローラ212に対して改訂完了を示す信号を発行する(破線で示す)。改訂完了を示す信号に応じて、不揮発性メモリコントローラ212は、不揮発性メモリデバイス210に改訂結果(例えば、改訂成功を示すコード)を書き込む操作を更に実行する。そして、不揮発性メモリコントローラ212は、書き込み完了を示す信号をホスト20に返送する。
図3Cに示したオプションと同様に、不揮発性メモリデバイス210に改訂結果を書き込む操作は、
図4Cに示すように省略可能である。そして、セキュアエレメント211から発行された改訂完了を示す信号は、不揮発性メモリコントローラ212の代わりにホスト20に送信される。そのため、不揮発性メモリデバイス210の操作頻度を減らして、不揮発性メモリデバイス210の寿命を延ばすことができる。
【0033】
図5Aは、本発明の第3の実施形態に係るセキュアメモリカードを示している。この実施形態では、ファイルシステム202は、特定アドレス(例えば、第4のアドレス)に対応するライトコマンドE1を発行する。ここで、このライトコマンドは、1つの命令サイクルを持つシングルコマンドで、且つ書き込まれるデータを含んでおらず、第4のアドレスは、不揮発性メモリデバイス210の予約済みアドレス範囲2100に属する。そのため、ライトコマンドE1は、セキュアエレメント211のセキュア操作をトリガするためのセキュアエレメント制御コマンドとなる。セキュアエレメント制御コマンドを認識すると、不揮発性メモリコントローラ212に含まれるファームウェア2120は、セキュアエレメント211の特定情報(例えば、セキュアエレメント211のファームウェアバージョン)を読み込むためのコマンドE2を発行する。例えば、矢印E2で示すように、セキュアエレメント211は、そのファームウェアバージョンを不揮発性メモリコントローラ212に返送した後、矢印E3で示すように、ファームウェア2120は、セキュアエレメント211のファームウェアバージョンを予約済みアドレス範囲2100に書き込む。そして、矢印E4で示すように、ファイルシステム202は、予約済みアドレス範囲2100からセキュアエレメント211のファームウェアバージョンを読み取る。本発明のこの実施形態によれば、セキュアエレメント211のファームウェアバージョン獲得を、ライトコマンドにより保証することができる。
【0034】
図5Bは、
図5Aのセキュアメモリカードで実行される安全な読み込み操作のタイムチャートを示している。特に、このタイムチャートは、コマンドの送信及び実行の詳細及び時系列を図示するのに用いられる。まず、ホスト20は、不揮発性メモリコントローラ212に対して特定データを含むライトコマンドを発行する。そのライトコマンドが、不揮発性メモリコントローラ212によりセキュアエレメント制御コマンドであると決定されると、不揮発性メモリコントローラ212は、そのライトコマンドに応じて特定情報(例えば、セキュアエレメント211のファームウェアバージョン)を読み込む。次に、セキュアエレメント211は、不揮発性メモリコントローラ212に対して読み込み完了を示す信号を発行する(破線で示す)。読み込み完了を示す信号に応じて、不揮発性メモリコントローラ212は、不揮発性メモリデバイス210に読み込み操作結果(例えば、読み取り成功を示すコード)を書き込む操作を更に実行する。そして、不揮発性メモリコントローラ212は、書き込み完了を示す信号をホスト20に返送する。ホスト20は、書き込み完了を示す信号に応じて、不揮発性メモリコントローラ212に対して結果読み込みコマンドを発行する。不揮発性メモリコントローラ212は、不揮発性メモリデバイス210から特定情報(ファームウェアバージョン)を読み込み、その特定情報(ファームウェアバージョン)をホスト20に送信する。
【0035】
同様に、不揮発性メモリデバイス210に読み込み操作結果を書き込む操作は、
図5Cに示すように省略可能である。その代わりに、読み出した特定情報(ファームウェアバージョン)は、不揮発性メモリコントローラ212のメモリに一時的に保存され、書き込み完了を示す信号がホスト20に返送される。そして、ファイルシステム202は、特定アドレスを持つリードコマンドである、結果(ファームウェアバージョン)を読み込むためのコマンドを発行する。この特定アドレスは、不揮発性メモリデバイス210の予約済みアドレス範囲2100に属する。特定アドレスを認識すると、不揮発性メモリコントローラ212に含まれるファームウェア2120は、不揮発性メモリコントローラ212のメモリに一時的に保存された特定情報(ファームウェアバージョン)をホスト20に送信し、これにより、不揮発性メモリデバイス210の過剰使用を避け、不揮発性メモリデバイス210の寿命を延ばすことができる。
【0036】
図6Aは、本発明の第4の実施形態に係るセキュアメモリカードを示している。この実施形態では、ファイルシステム202は、不揮発性メモリコントローラ212に対して特定アドレス(例えば、第5のアドレス)に対応するライトコマンドF1を発行する。ここで、このライトコマンドは、1つの命令サイクルを持つシングルコマンドで、且つ書き込まれる特定データを含んでおり、第5のアドレスは、不揮発性メモリデバイス210の予約済みアドレス範囲2100に属する。そのため、ライトコマンドF1は、セキュアエレメント211のセキュア操作をトリガするためのセキュアエレメント制御コマンドとなる。第5のアドレスを認識すると、不揮発性メモリコントローラ212に含まれるファームウェア2120は、セキュアエレメント211に特定データを暗号化させるコマンドF2を発行する。例えば、矢印F2で示すように、セキュアエレメント211は、暗号化されたデータを不揮発性メモリコントローラ212に返送した後、矢印F3で示すように、ファームウェア2120は、暗号化されたデータを予約済みアドレス範囲2100に属するアドレスに書き込む。そして、矢印F4で示すように、ファイルシステム202は、予約済みアドレス範囲2100からセキュアエレメント211の暗号化されたデータを読み取る。本発明のこの実施形態によれば、特定データが暗号化され、暗号化されたデータをライトコマンドにより読み取ることができる。
【0037】
図6Bは、
図6Aのセキュアメモリカードで実行される暗号化操作のタイムチャートを示している。特に、このタイムチャートは、コマンドの送信及び実行の詳細及び時系列を図示するのに用いられる。まず、ホスト20は、不揮発性メモリコントローラ212に対して暗号化すべき特定データを含むライトコマンドを発行する。そのライトコマンドは、セキュアエレメント制御コマンドであるので、不揮発性メモリコントローラ212は、そのライトコマンドに応じてセキュアエレメント211に暗号化すべき特定データを送信する。次に、セキュアエレメント211は、不揮発性メモリコントローラ212に対して暗号化完了を示す信号を発行する(破線で示す)。暗号化完了を示す信号に応じて、不揮発性メモリコントローラ212は、不揮発性メモリデバイス210への暗号化データの書き込み操作を更に実行し、暗号化データの書き込み完了を示す信号をホスト20に返送する。ホスト20は、書き込み完了を示す信号に応じて、不揮発性メモリコントローラ212に対して結果読み込みコマンドを発行する。不揮発性メモリコントローラ212は、不揮発性メモリデバイス210から暗号化データを読み込み、その暗号化データをホスト20に送信する。
【0038】
同様に、不揮発性メモリデバイス210に読み込み操作結果を書き込む操作は、
図6Cに示すように省略可能である。その代わりに、暗号化データは、不揮発性メモリコントローラ212のメモリに一時的に保存され、書き込み完了を示す信号がホスト20に返送される。そして、ファイルシステム202は、特定アドレスを持つリードコマンドである、結果(暗号化データ)を読み込むためのコマンドを発行する。この特定アドレスは、不揮発性メモリデバイス210の予約済みアドレス範囲2100に位置する。特定アドレスを認識すると、不揮発性メモリコントローラ212に含まれるファームウェア2120は、不揮発性メモリコントローラ212のメモリに一時的に保存された暗号化データをホスト20に送信し、これにより、不揮発性メモリデバイス210の過剰使用を避け、不揮発性メモリデバイス210の寿命を延ばすことができる。
【0039】
上述した実施形態では、書き込まれるデータを持つ又は持たないライトコマンドが、そのライトコマンドと接続されたアドレスが予約済みアドレス範囲に属し、且つ同ライトコマンドが1つの命令サイクルを持つシングルコマンドである場合には、セキュアエレメント211のセキュア操作をトリガするためのセキュアエレメント制御コマンドとして用いられる。或いは、1つの命令サイクルを持つシングルコマンドであるリードコマンドが、セキュアエレメント211のセキュア操作をトリガするためのセキュアエレメント制御コマンドとして用いられてもよい。
図7は、本発明の実施形態に係るリードコマンドによりトリガされるセキュアエレメント211におけるセキュア操作のタイムチャートを概略的に示している。特に、このタイムチャートは、コマンドの送信及び実行の詳細及び時系列を図示するのに用いられる。まず、ホスト20は、不揮発性メモリコントローラ212に対して特定アドレスを含むリードコマンドを発行する。リードコマンドに応じて、不揮発性メモリコントローラ212に含まれるファームウェア2120は、特定アドレスを認識すると、特定アドレスにおけるセキュアエレメント211の特定情報(例えば、ファームウェアバージョン)を読み込むようにトリガされる。次に、セキュアエレメント211は、不揮発性メモリコントローラ212に対して特定情報(ファームウェアバージョン)の読み込み完了を示す信号を発行する(破線で示す)。読み込み完了を示す信号に応じて、不揮発性メモリコントローラ212は、不揮発性メモリデバイス210への読み込んだ特定情報(ファームウェアバージョン)の書き込み操作を更に実行する。そして、不揮発性メモリコントローラ212は、データ読み込みコマンド完了を示す信号をホスト20に返送する。1つの命令サイクルを持つシングルコマンドである他の適切なデータアクセスコマンドが、セキュアエレメントのセキュア操作をトリガするのに使用可能であることは、当業者であれば理解できるであろうから、ここでは記載しない。
【0040】
図8は、本発明の実施形態に係るセキュアエレメント制御コマンドに応じて実行されるセキュア操作のタイムチャートを概略的に示している。セキュア操作は、
図5Cを参照して記載したものと同様の暗号化操作である。特に、このタイムチャートは、コマンドの送信及び実行の詳細及び時系列を図示するのに用いられる。まず、ホスト20は、不揮発性メモリコントローラ212に対して特定動的アドレスを含むライトコマンドを発行する。特定動的アドレスは、特定形式に適合し、且つファームウェア2120により速やかに認識されるのに十分ユニークな複数のマルチビットディジットから動的に選択され得る。そして、不揮発性メモリコントローラ212は、ライトコマンドに応じて、特定情報(例えば、セキュアエレメント211のファームウェアバージョン)を読み込むようにトリガされる。次に、セキュアエレメント211は、不揮発性メモリコントローラ212に対して読み込み完了を示す信号を発行する(破線で示す)。読み込んだ特定情報(ファームウェアバージョン)は、不揮発性メモリコントローラ212のメモリに一時的に保存され、書き込み完了を示す信号がホスト20に返送される。その後、ファイルシステム202は、特定アドレスを持つリードコマンドであって、結果(ファームウェアバージョン)を読み込むためのコマンドを発行する。特定アドレスは、不揮発性メモリデバイス210の予約済みアドレス範囲2100に属する。特定アドレスを認識すると、不揮発性メモリコントローラ212に含まれるファームウェア2120は、不揮発性メモリコントローラ212のメモリに一時的に保存された特定情報(ファームウェアバージョン)をホスト20に対して送信し、これにより、不揮発性メモリデバイス210の過剰使用を避け、不揮発性メモリデバイス210の寿命を延ばすことができる。
【0041】
上述した実施形態に記載の不揮発性メモリコントローラ212は、例えば、いわゆるSDコントローラであるセキュアデジタルメモリカードコントローラである。SDコントローラ212に含まれるファームウェア2120は、シリアルペリフェラルインタフェース(SPI)のような全二重通信バスを介してセキュアエレメント211と通信してもよい。全二重は、双方向データフロー(すなわち、データ送信及びデータ受信の両方)を意味するので、送信速度は、通常のISO-7816スマートカード通信プロトコルに比べて速くなる。
【外国語明細書】