説明

スマートストレージデバイス

スマートストレージデバイス(200)は、アクセス制御回路および集積メモリを有するスマートカード部分(205)と、スマートカード部分(205)と選択的に通信するコントローラ(210)と、コントローラ(210)と通信するメモリ装置(250)とを有することができる。メモリ装置(250)は、スマートカード部分(205)から分離され得、1つまたは複数のスマートカードアプリケーション(260)を格納することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に記憶装置に関し、特に、本開示は、スマートストレージデバイス(高性能記憶装置)に関する。
【背景技術】
【0002】
どちらもスマートカード、TPM(高信頼性プラットフォームモジュール)ICなどとして通常知られているICカードまたは集積回路カードは、マイクロプロセッサおよび/またはメモリなどの埋め込み集積回路を有する装置である。EEPROM(電気的消去可能プログラマブルリードオンリーメモリ)などのメモリは、スマートカードのオペレーティングシステム、スマートカードアプリケーション、例えば、エレクトロニックバンキングアプリケーション、SIM(加入者認証モジュール)スマートカードの場合の電話アプリケーションなどを格納し得る。また、当該メモリは、ユーザ認証プロトコル、電話または銀行口座データなどの個人化データ、財務データなどのユーザデータ、様々な暗号化技術で使用される秘密鍵および/または証明書などのプライベートデータも格納し得る。ユーザデータは、アクセス制御手段としてのPIN(個人識別番号)またはパスワードを用いて保護され得る。カードのメモリに格納されている保護されたデータにアクセスするために、ユーザは、正しいPINまたはパスワードを与えることによって認証されなければならない。スマートカードに関する一つの問題は、追加のおよび/またはより複雑なアプリケーション、ユーザデータなどを格納するために記憶容量を増加させるという要求に応じるために、より大きく、かつより高価な埋め込み集積メモリが必要とされ得ることである。
【図面の簡単な説明】
【0003】
【図1】先行技術の集積回路カードを示すブロック図である。
【図2】本開示の一実施形態に係る記憶装置の一実施形態を示すブロック図である。
【発明を実施するための形態】
【0004】
以下の詳細な説明では、本明細書の一部をなす添付の図面を参照するが、図面には例として具体的な実施形態が示されている。図面では、複数の図にわたって同様の符号は実質的に類似の構成要素を表わす。他の実施形態も使用され得、本開示から逸脱せずに構造的、論理的および電気的変形も可能である。従って、以下の詳細な説明は、限定的に解釈されるものではない。
【0005】
図1は、スマートカード100、SIMカード、電子商取引カード、電子識別カード、TPM(高信頼性プラットフォームモジュール)ICなどの、先行技術の集積回路カードを示すブロック図である。中央処理装置105は、スマートカード100に埋め込まれており、プロセッサ110と、RAM(ランダムアクセスメモリ)120、EEPROMなどの不揮発性メモリ115およびROM(リードオンリーメモリ)125を有する集積メモリとを含み得る。プロセッサ110は、例えば、中央処理装置105のアクセス制御回路の一部として、AES(新暗号規格)暗号化エンジンなどの暗号化エンジンを含み得、暗号化エンジンは、AESプロトコル、ユーザ認証プロトコル、PKI(公開鍵基盤)認証、データの暗号化および復号化などを実行することができる。入力/出力インタフェース127は、中央処理装置と通信しており、パーソナルコンピュータなどのホストに直接接続するためのUSB(ユニバーサルシリアルバス)インタフェース、非接触インタフェース、ISO7816カードリーダと共に使用されるISO7816インタフェースなどであってもよい。ROM125は通常、スマートカード100のオペレーティングシステムを格納する。不揮発性メモリ115は、秘密鍵、公開/秘密鍵暗号化の一部としての、公開鍵を含み得る証明書、エレクトロニックバンキングアプリケーション、電話アプリケーションなどのアプリケーションを格納し得るファイルシステム130を含むように構成されていてもよい。不揮発性メモリ115は、1つまたは複数の暗号化鍵および/または復号化鍵、例えば、1つまたは複数のAES暗号化鍵および/または復号化鍵などを管理および格納するための鍵管理システム135も含む。不揮発性メモリ115は、スマートカードオペレーティングシステムのためのアップグレードまたはパッチをさらに含んでいてもよい。
【0006】
動作中、スマートカード100は、例えばカードリーダを介してホスト装置との通信状態に置かれる。PINまたはパスワードなどの識別子は、ユーザによってホスト装置に入力される。次に、リーダは、スマートカードがユーザを認証することができるように、確認(ベリフィケーション)のためにユーザが入力した識別子をスマートカード100に送ることができる。次に、スマートカード100は、ユーザが認証されたか、あるいは認証されなかったかをホスト装置に示す。あるいは、スマートカード100は、例えばUSBインタフェースを介して、ホスト装置と直接通信してもよい。この場合、識別子は、ホスト装置に入力され、その後ユーザ認証のために、USBインタフェースを介してスマートカード100に直接送られる。ユーザ認証後、プロセッサ110は、例えば、鍵管理システム135からの1つまたは複数の暗号化鍵および/またはAES鍵などの復号化鍵を用いて、ホスト装置への出力のために不揮発性メモリ115からのデータを復号化するか、あるいは、不揮発性メモリ115への格納のために、ホストから受け取ったデータを暗号化する。
【0007】
図2は、一実施形態に係る記憶装置200、例えば、スマートストレージデバイス(高性能記憶装置)を示すブロック図である。図1および図2において、実質的に類似した要素を示すために共通の参照符号が使用されている。一実施形態では、記憶装置200は、例えば、記憶装置200に対してユーザを認証する、AES鍵、秘密鍵などの1つまたは複数の暗号化鍵および/または復号化鍵を格納および管理するなどのための、アクセス制御回路および集積メモリなどの、スマートカード100の構成要素に類似した構成要素を有するスマートカード部分205を含んでいてもよい。
【0008】
記憶装置200は、スマートカード部分205と選択的に通信するコントローラ210、例えば、フラッシュメモリコントローラなどのメモリコントローラを含んでいてもよい。一実施形態では、スマートカード部分205およびコントローラ210は、回路基板上に配置された別々のチップであってもよい。あるいは、スマートカード部分205は、コントローラ210が、ユーザを認証し、1つまたは複数の暗号化鍵および/または復号化鍵、秘密鍵などを格納および管理することができるように、コントローラ210内に一体化されていてもよい。例えば、スマートカードの機能は、コントローラ210内に一体化されていてもよい。
【0009】
別の実施形態では、コントローラ210は、暗号化エンジンスマートカード部分205から分離されたAES暗号化エンジンなどの、暗号化エンジン215を含んでいてもよい。例えば、スマートカード部分205の暗号化エンジンがユーザ認証のために使用され得る一方で、暗号化エンジン215は、例えば、ユーザによるパスワードまたはPINなどの正しい識別子の入力に応答してユーザが認証される際に、スマートカード部分205から1つまたは複数の暗号化鍵および/または復号化鍵を受け取り得る。これにより、暗号化エンジン215に、スマートカード部分205の暗号化エンジンとは無関係に、例えばスマートカード部分205の暗号化エンジンを使用せずに、スマートカード部分205からの1つまたは複数の暗号化鍵および/または復号化鍵を用いて、暗号化および/または復号化を実行させることができる。
【0010】
コントローラ210は、スペース管理セクタ220およびエラー訂正コード225を含んでいてもよい。コントローラ210は、フラッシュメモリインタフェースなどの入力/出力インタフェース252を介してフラッシュメモリ装置、例えば、NANDフラッシュメモリ装置、などのメモリ装置250と通信している。入力/出力インタフェース252は、その上でメモリ装置250がコントローラ210からの制御信号を受け取ることができる制御リンク、その上でメモリ装置250がコントローラ210からアドレス信号を受け取ることができるアドレスリンク、およびその上でメモリ装置250がコントローラ210からデータを受け取りかつデータをコントローラ210に送ることができるデータ(DQ)リンクを含んでいてもよい。なお、メモリ装置250は、スマートカード部分205の外部にあって、そこから分離していてもよい。
【0011】
メモリ装置250は、ユーザがアクセス可能または不可能であり得るプライベートデータ部分254、およびユーザがアクセス可能なユーザデータ部分256を含んでいてもよい。一実施形態では、プライベートデータ部分254は、コントローラ210からの制御およびアドレス信号に応答してメモリ装置250のメモリアレイ上での動作を制御するための制御状態機械を含み得るファームウェア258を含んでいてもよい。別の実施形態では、プライベートデータ部分254は、それがなければ、スマートカード部分205の不揮発性メモリ115内に格納され得る、例えば、電子商取引アプリケーション、エレクトロニックバンキングアプリケーション、電話アプリケーションといった、スマートカードアプリケーション260などの、スマートカードアプリケーションデータを含む。
【0012】
不揮発性メモリ115の代わりにメモリ装置250の中にスマートカードアプリケーションを収納することは、不揮発性メモリ115のメモリ要求の減少、よって、さもなければこれらのアプリケーションが不揮発性メモリ115内に格納される場合に必要とされるであろう不揮発性メモリ115のサイズの減少を容易にする。加えて、メモリ装置250にスマートカードアプリケーションを格納することによって、スマートカードアプリケーションがスマートカード部分205の不揮発性メモリ115に格納される場合と比較すると、より大きくかつよりより精巧なスマートカードアプリケーションの格納およびより多くのアプリケーションの格納を可能にする。一実施形態では、当該アプリケーションは、メモリ装置250の作製時にメモリ装置250に格納されてもよい。別の実施形態では、アプリケーションデータおよび/または他のデータは、メモリ装置250に格納される前に暗号化されてもよい。
【0013】
動作中、一実施形態によれば、記憶装置200はホスト装置と通信している。例えば、記憶装置200は、ホスト装置と通信している入力/出力インタフェース127を介してカードリーダと通信していてもよい。あるいは、記憶装置200は、ホスト装置と直接通信していてもよい。ユーザPINまたはパスワードなどの識別子がホスト装置に入力され、ホスト装置は、ユーザをスマートカード部分205およびコントローラ210に対して認証の確認のために、スマートカード部分205に識別子を送る、例えば伝送する。次に、スマートカード部分205は信号をホストに伝送し、識別子が正しいか否か、ひいてはユーザが認証された否かを示す。
【0014】
一実施形態では、コントローラ210は、ホストとスマートカード部分205間での伝送を監視し、スマートカード部分205で受け取られた識別子が正しいか否か、ひいてはユーザが認証された否かを検出する。認証後、コントローラ210は、スマートカード部分205からの暗号化鍵および/または復号化鍵を要求してもよい。もし、スマートカード部分205が識別子を承認し、かつ、コントローラ210が識別子が正しいことを検出する際に間違いを犯さなければ、スマートカード部分205は、暗号化鍵および/または復号化鍵をコントローラ210に送る。スマートカード部分205からコントローラ210に送られた暗号化鍵および/または復号化鍵は、コントローラ210とスマートカード部分205の間のインタフェース上で暗号化され、コントローラ210内で復号化される。なお、一実施形態では、もし、実際には識別子が誤っており、ユーザが認証に失敗している際に、コントローラ210がスマートカード部分205でユーザが認証されたと誤って検出したなら、スマートカード部分205は、コントローラが暗号化鍵および/または復号化鍵を要求した際に、コントローラ210にエラーメッセージを送ってもよい。
【0015】
コントローラ210が識別子が正しいことを示す信号を受け取ると、ユーザはコントローラ210に対して認証され、コントローラ210は、暗号化エンジン215に、スマートカード部分205からの1つまたは複数の暗号化鍵および/または復号化鍵をロードする。しかし、コントローラ210が識別子が誤っていることを示す信号を受け取ると、ユーザがコントローラ210に対する認証に失敗し、コントローラ210は、暗号化エンジン215がスマートカード部分205からの1つまたは複数の暗号化鍵および/または復号化鍵を受け取らないようにする。
【0016】
ユーザ認証後、スマートカード部分205は、1つまたは複数の暗号化鍵および/または復号化鍵を暗号化エンジン215に伝送することができる。次に、暗号化エンジン215は、1つまたは複数の暗号化鍵を使用して、コントローラ210においてスマートカード部分205を経由せずに入力/出力インタフェース127から直接受け取ったホストからのユーザデータを暗号化することができる。コントローラ210は、暗号化されたユーザデータを、入力/出力インタフェース252を介してメモリ装置250のユーザデータ部分256に送る。また、暗号化エンジン215は、1つまたは複数の復号化鍵を使用して、コントローラ210において、入力/出力インタフェース252を介してメモリ装置250のユーザデータ部分256から受け取ったユーザデータを復号化することができる。次に、暗号化エンジン215は、復号化されたユーザデータを、スマートカード部分205を経由せずに直接入力/出力インタフェース127に送ることができ、それによって、復号化されたユーザデータを入力/出力インタフェース127を介してホストに送ることができる。
【0017】
別の実施形態では、コントローラ215は、ホストからのデータが暗号化エンジン215を迂回し、よって暗号化されないように設定されていてもよい。次に、コントローラ210は、暗号化されていないデータをメモリ装置250のユーザデータ部分256に伝送することができる。また、コントローラ215は、メモリ装置250のユーザデータ部分256からの暗号化されていないデータが暗号化エンジン215を迂回し、入力/出力インタフェース127を介してホストに送られるように設定されていてもよい。一実施形態では、記憶装置200は、ユーザの認証を必要とせずに、迂回モードでコントローラ210によって動作させてもよい。別の実施形態では、メモリ装置250のユーザデータ部分256は、図2に示すように、暗号化されたデータを格納する暗号化された部分、例えばパスワードで保護された部分(レイヤと呼ばれる場合もある)262、および暗号化されていないデータを格納する暗号化されていない部分(レイヤと呼ばれる場合もある)264を含んでいてもよい。従って、いくつかの実施形態では、コントローラ215がメモリ装置250の暗号化されていない部分254のみにアクセスしている場合には、ユーザ認証が要求されない場合もある。
【0018】
別の実施形態では、記憶装置200は、メモリ装置250に格納されているスマートカードアプリケーションを実行してもよい。例えば、プライベートデータ部分254に格納されている1つまたは複数のスマートカードアプリケーション260は、ユーザのパスワードが正しいときなど、コントローラ210にロードされるときに、例えば、スマートカード部分205から受け取った1つまたは複数の復号化鍵を用いて復号化されてもよい。続いて、コントローラ210は、1つまたは複数の復号化されたスマートカードアプリケーション260を実行する。別の実施形態では、コントローラ210を、スマートカード部分205がメモリ装置250と直接通信する状態にする迂回モードで動作させてもよく、それにより、スマートカード部分205は、メモリ装置250から直接に1つまたは複数のスマートカードアプリケーション260を実行することができる。
【0019】
別の実施形態では、コントローラ210は、メモリ装置250からの1つまたは複数のアプリケーション260を受け取り、1つまたは複数のスマートカードアプリケーション260をスマートカード部分205に送る。次に、スマートカード部分205は1つまたは複数のスマートカードアプリケーション260を実行する。一実施形態では、上述のように、ユーザがスマートカード部分205およびコントローラ210に対して認証されるまで、1つまたは複数のアプリケーション260はコントローラ210で受け取られない。例えば、正しいユーザ識別子がスマートカード部分205で受け取られるまでである。別の実施形態では、ユーザが認証された(例えば、正しいユーザ識別子がスマートカード部分205で受け取られた)後に、1つまたは複数の復号化鍵がスマートカード部分205からコントローラ210に送られ、1つまたは複数のアプリケーション260は、コントローラ210において1つまたは複数の復号化鍵を用いて復号化される。
【0020】
別の実施形態では、スマートカードアプリケーション260および/またはファームウェア258のアップデートなどのプライベートデータは、例えば、ホスト装置がインターネットと通信している場合には、入力/出力インタフェース127を介してホスト装置からダウンロードされてもよい。プライベートデータは、スマートカード部分205で認証されるパスワードまたは公開鍵などの識別子を含んでいてもよい。例えば、ホストは、プライベートデータ用の識別子をスマートカード部分205に伝送し、スマートカード部分205は、識別子が正しいか否かを判定する。
【0021】
コントローラ210が識別子が正しいことを示す信号を受け取ると、プライベートデータは、コントローラ210に対して認証され、コントローラ210は、暗号化エンジン215がスマートカード部分205から1つまたは複数の暗号化鍵および/または復号化鍵を受け取れるようにする。しかし、コントローラ210が識別子が誤っていることを示す信号を受け取った場合には、プライベートデータはスマートカード部分205ひいてはコントローラ210に対する認証に失敗し、コントローラ210は、暗号化エンジン215がスマートカード部分205から1つまたは複数の暗号化鍵および/または復号化鍵を受け取らないようにする。なお、コントローラ210は、上述のように、コントローラ210によるホストとスマートカード部分205間での伝送の監視の結果として、スマートカード部分205またはホストのいずれか一方から信号を受け取ってもよい。
【0022】
暗号化エンジン215は、1つまたは複数の暗号化鍵を使用して、コントローラ210において、スマートカード部分205を経由せずに入力/出力インタフェース127から直接受け取ったホストからのプライベートデータを暗号化する。コントローラ210は、入力/出力インタフェース252を介して暗号化されたプライベートデータをメモリ装置250のプライベートデータ部分254に送る。
【0023】
本明細書では具体的な実施形態について図示および説明してきたが、図示した具体的な実施形態の代わりに、同じ目的を達成するように意図された任意の構成を使用し得ることが当業者によって理解されるであろう。実施形態の多くの改作が当業者には明らかであろう。従って、本出願は、当該実施形態の任意の改作または変形を包含することを意図するものである。当該実施形態が以下の特許請求の範囲およびその均等物によってのみ限定されることが明らかに意図されている。

【特許請求の範囲】
【請求項1】
アクセス制御回路を含むスマートカード部分(205)と、
前記スマートカード部分(205)と選択的に通信するコントローラ(210)と、
前記コントローラ(210)と通信するメモリ装置(250)であって、前記スマートカード部分(205)から分離しており、かつ1つまたは複数のスマートカードアプリケーション(260)を格納するメモリ装置と、
を含む記憶装置(200)。
【請求項2】
前記スマートカード部分(205)で受け取られた識別子が正しい場合に、前記コントローラ(210)がその暗号化エンジン(215)に1つまたは複数の暗号化鍵および/または復号化鍵をロードする、請求項1に記載の記憶装置(200)。
【請求項3】
前記コントローラ(210)が、前記1つまたは複数の暗号化鍵および/または復号化鍵を使用して前記コントローラ(210)で受け取られたデータを暗号化および/または復号化し、格納および/または前記データ上での動作のために少なくとも1つの前記暗号化されたデータを前記メモリ装置(250)に送るか、あるいは、前記1つまたは複数の復号化鍵を使用して前記メモリ装置(250)からのデータを復号化し、前記コントローラ(210)からの前記復号化されたデータをホスト装置に伝送するように構成されている、請求項2に記載の記憶装置(200)。
【請求項4】
前記データが前記1つまたは複数のスマートカードアプリケーション(260)を含む、請求項3に記載の記憶装置(200)。
【請求項5】
前記データが、前記コントローラ(210)において前記スマートカード部分(205)を経由せずにホスト装置から受け取られる、請求項3に記載の記憶装置(200)。
【請求項6】
前記コントローラ(210)から前記ホスト装置に伝送される復号化されたデータが、前記スマートカード部分(205)を経由せずに前記ホスト装置に伝送される、請求項3に記載の記憶装置(200)。
【請求項7】
前記コントローラ(210)が、前記識別子が誤っている場合には、前記暗号化エンジン(215)に前記コントローラ(210)に対して前記1つまたは複数の暗号化鍵および/または復号化鍵をロードしない、請求項2に記載の記憶装置(200)。
【請求項8】
前記識別子がホスト装置から受け取られる、請求項2に記載の記憶装置(200)。
【請求項9】
前記識別子がユーザパスワードである、請求項2に記載の記憶装置(200)。
【請求項10】
前記スマートカード部分(205)の前記アクセス制御回路が第1の暗号化エンジンを含み、前記コントローラが前記第1の暗号化エンジンから分離している第2の暗号化エンジンを含む、請求項1に記載の記憶装置(200)。
【請求項11】
前記メモリ装置(250)がフラッシュメモリ装置である、請求項1〜10のいずれか1項に記載の記憶装置(200)。
【請求項12】
前記スマートカード部分(205)が前記コントローラ(210)内に一体化されている、請求項1〜10のいずれか1項に記載の記憶装置(200)。
【請求項13】
前記1つまたは複数のスマートカードアプリケーション(260)が暗号化されている、請求項1〜10のいずれか1項に記載の記憶装置(200)。
【請求項14】
前記コントローラ(210)が前記1つまたは複数のスマートカードアプリケーション(260)を復号化するように構成されている、請求項13に記載の記憶装置(200)。
【請求項15】
記憶装置(200)の動作方法であって、
前記記憶装置(200)のメモリ装置(250)からスマートカードアプリケーション(260)を前記記憶装置(200)のコントローラ(210)にロードするステップであって、前記メモリ装置(250)が前記記憶装置(200)のスマートカード部分(205)から分離しており、前記スマートカード部分(205)がアクセス制御回路を含むステップと、
前記スマートカードアプリケーション(260)を前記コントローラ(210)上で実行させるステップと、
を含む方法。
【請求項16】
前記スマートカードアプリケーション(260)を前記コントローラ(210)上で実行させる前に、前記スマートカードアプリケーション(260)を前記コントローラ(210)において復号化するステップをさらに含む、請求項15に記載の方法。
【請求項17】
前記コントローラ(210)において前記スマートカードアプリケーション(260)を復号化するステップが、復号化鍵を使用して前記スマートカードアプリケーション(260)を復号化するステップを含む、請求項16に記載の方法。
【請求項18】
前記スマートカード部分(205)において正しい識別子が受け取られた場合に、前記復号化鍵が前記コントローラ(210)によってロードされる、請求項17に記載の方法。
【請求項19】
記憶装置(200)の動作方法であって、
前記記憶装置(200)のコントローラ(210)において前記記憶装置(200)のメモリ装置(250)からスマートカードアプリケーション(260)を受け取るステップと、
前記スマートカードアプリケーション(260)を前記コントローラ(210)から前記記憶装置(200)のスマートカード部分(205)に送るステップであって、前記スマートカード部分(205)が前記メモリ装置(250)から分離しており、かつアクセス制御回路を含むステップと、
前記スマートカードアプリケーション(260)を前記スマートカード部分(205)上で実行させるステップと、
を含む方法。
【請求項20】
前記スマートカードアプリケーション(260)を前記コントローラ(210)から前記スマートカード部分(205)に送る前に、前記スマートカードアプリケーション(260)を前記コントローラ(210)において復号化するステップをさらに含む、請求項19に記載の方法。
【請求項21】
前記スマートカードアプリケーション(260)を前記コントローラ(210)において復号化するステップが、復号化鍵を使用して前記スマートカードアプリケーション(260)を復号化するステップを含む、請求項20に記載の方法。
【請求項22】
前記スマートカード部分(205)において正しい識別子が受け取られた場合に、前記復号化鍵が前記コントローラ(210)によってロードされる、請求項21に記載の方法。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2011−504263(P2011−504263A)
【公表日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願番号】特願2010−533171(P2010−533171)
【出願日】平成20年10月31日(2008.10.31)
【国際出願番号】PCT/US2008/081913
【国際公開番号】WO2009/064621
【国際公開日】平成21年5月22日(2009.5.22)
【出願人】(595168543)マイクロン テクノロジー, インク. (444)
【Fターム(参考)】