JP2012090286A - イン−ストリームデータ暗号化/復号の機能を有するメモリシステム - Google Patents

イン−ストリームデータ暗号化/復号の機能を有するメモリシステム Download PDF

Info

Publication number
JP2012090286A
JP2012090286A JP2011251674A JP2011251674A JP2012090286A JP 2012090286 A JP2012090286 A JP 2012090286A JP 2011251674 A JP2011251674 A JP 2011251674A JP 2011251674 A JP2011251674 A JP 2011251674A JP 2012090286 A JP2012090286 A JP 2012090286A
Authority
JP
Japan
Prior art keywords
data
encryption
security configuration
read
session
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011251674A
Other languages
English (en)
Inventor
Michael Holtzman
ホルツマン,マイケル
boris cohen Baruch
ボリス コーエン,バルク
Di Char David
ディーチャー,デヴィッド
Bar-El Hagai
バー−エル,ハガイ
Yeruchami Aviram
イェルカミ,アヴィラム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DISCRETIX TECHNOLOGIES Ltd
SanDisk Corp
Original Assignee
DISCRETIX TECHNOLOGIES Ltd
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DISCRETIX TECHNOLOGIES Ltd, SanDisk Corp filed Critical DISCRETIX TECHNOLOGIES Ltd
Publication of JP2012090286A publication Critical patent/JP2012090286A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】データストリーム中のデータが、どのようなコントローラの密接な関与もなく、データストリームが選択されたデータソースおよび行き先を持つように制御され、複数のページの処理と、複数のアルゴリズム中から1つ以上の暗号化アルゴリズムの選択が行われ、複数の連続する段階でデータを暗号化できるように回路によって暗号化処理し、処理能力が改善されるメモリシステムを提供する。
【解決手段】複数のデータストリームからデータをインターリービング方式で暗号化処理するメモリシステムで、セッションに割り込みがあるときに、セキュリティコンフィギュレーション情報が失われるないようセキュリティコンフィギュレーション情報を保持し割り込み後に読み取りができるよう、割り込み前に、コントローラが前記セッションのセキュリティコンフィギュレーション情報をセキュリティコンフィギュレーションレジスタ52に保存する。
【選択図】図2

Description

本発明は一般にメモリシステムに関し、特にイン−ストリームデータ暗号化/復号機能を有するメモリシステムに関する。
モバイル機器市場は、より多くのデータ交換を発生させることにより平均収入の増加を図るよう、コンテンツストレージを備える方向に進んでいる。これは、モバイル機器に保存されている時に、そのコンテンツが保護されていなければならないことを意味する。
数年来、ポータブル記憶装置は商業用途に使用されており、データをコンピューティングデバイスから他のコンピューティングデバイスへ持ち運んだり、あるいはバックアップデータを保存するために用いられている。ポータブルハードディスクドライブ、ポータブルフラッシュメモリディスクおよびフラッシュメモリカードのようなもっと高機能なポータブル記憶装置は、ストレージ管理の制御用マイクロプロセッサを含んでいる。
ポータブル記憶装置に保存されたコンテンツを保護するために、保存されているデータは通常、暗号化され、許可されたユーザだけがデータを復号することが許される。
旧来の暗号化の機能を有するポータブル記憶装置では、ストレージ管理用のマイクロプロセッサも暗号化と復号の処理に深く関与している。そのようなシステムは、例えば米国特許6,457,126号に記載されている。この場合では、記憶装置の処理能力および機能はひどく影響を受ける可能性がある。従って、前記の問題を大幅に軽減するローカル記憶装置を提供することは望ましい。
米国特許6,457,126号
この発明の一側面は、データストリーム中のデータが不揮発性メモリセルに送信され、又は該不揮発性メモリセルから取出しされる時に、あらゆるコントローラあるいはマイクロプロセッサとも密接な関与せず、データストリーム中のデータを回路によって暗号化処理する場合に、メモリシステムの処理能力が改善できる認識に基づくものである。ある実施例では、前記コントローラは暗号化処理に使用されるパラメーターを規定することだけに関与し、処理には関与しない。この実施例の実行では、パラメーターは、コンフィギュレーションレジスタによって設定される。
好ましくは、メモリセルはフラッシュメモリセルを有する。さらに、メモリセル、データ暗号化および/または復号に使用する回路、セルおよび回路を制御するコントローラは、メモリカードかメモリスティックのような物体の中に取付けされ、カプセル化されることが好ましい。
データは、ページで前記メモリセルに書き込まれ、またはそれから読出されることができる。暗号化および復号に使用される従来の暗号化アルゴリズムの多くは、通常、ページより小さなデータの単位で作動する。したがって、本発明の他の側面は、前記暗号化回路が、読取りまたは書き込み中の前記データストリーム中の1ページ以上のデータを暗号化処理することと、すべて前記コントローラの関与なしで、前記データストリームが複数のソースの中から選択されたデータソースと複数の行き先(destination)の中から選択された行き先を持つように、制御される認識に基づくものである。
発明の他の側面によれば、前記暗号化回路は、コントローラあるいはマイクロプロセッサの関与なしで、暗号化および/または復号に対する複数のアルゴリズム中で1つ以上の暗号化アルゴリズムの選択ができるように設定できる。設定後、前記コントローラの関与なしで、前記回路は、複数の連続する段階で前記データストリーム中のデータを暗号化処理するようにも、前記回路を設定できる。設定後前記コントローラの関与なしで、複数の連続する段階で、前記暗号化処理は2つ以上の鍵を使用し、2つ以上のタイプの暗号化処理を使用することができる。
あるアプリケーションでは、前記メモリシステムは、2つ以上の前記データストリームを取り扱うことが望ましい。この場合では、異なったデータストリーム中のデータがインターリーブ方式で暗号化処理されるように、前記コントローラは前記メモリセルと前記回路を制御する。好ましくは、前記データストリームの処理がインタリービングの間に割り込まれる場合に、各データストリームの暗号化処理用の様々なパラメーターが保存されるので、該データストリームの処理が再開される時、暗号化処理を継続するようパラメーターが回復できる。この特徴の一実施例では、暗号化処理用の様々なパラメーターをセットするために、セキュリティコンフィギュレーションレコードを書き込み操作の最初に作成し、セッションの終了にこれらのパラメーターを保存する。その後、読み込み操作の開始時にこのレコードをメモリから取り戻し、操作の終了に廃棄する。他のデータストリームの処理をさせるために、前記データストリームが一時的に割り込まれる場合、そのようなレコードも保存され、元のデータストリームの処理が再開される時に取り戻される。
本発明の上記の様相は、個々に、あるいはそれの任意の組み合せで使用できる。
図1のブロック図を用いて、本発明の様々な部分が実行できる実例的なメモリシステムを説明する。図1に示すように、メモリシステム10は、中央処理装置(CPU)12と、バッファ管理ユニット(BMU)14と、ホストインタフェースモジュール(HIM)16と、フラッシュインタフェースモジュール(FIM)18と、フラッシュメモリ20と、ペリフェラルアクセスモジュール(PAM)22を有する。メモリシステム10は、ホストインタフェースバス26およびポート26aを介してホスト装置24と通信する。NANDタイプでもよいフラッシュメモリ20はホスト装置24用のデータ記憶装置を提供する。また、CPU12用のソフトウェアコードはフラッシュメモリ20に保存されてもよい。FIM18は、フラッシュインタフェースバス28とポート28aを介してフラッシュメモリ20に接続される。HIM16は、例えばディジタルカメラと、パソコンと、PDA(Personal Digital Assistant)と、ディジタルメディアプレーヤーと、MP−3プレーヤーと携帯電話、あるいは他のディジタル装置等のホストシステムに接続するのに適する。ペリフェラルアクセスモジュール22は、CPU12との通信用の例えばFIMと、HIMとBMU等の適切なコントローラモジュールを選択する。一つの実施例において、点線に囲まれた枠内のシステム10の中のすべてのコンポーネントを、例えばメモリカードあるいはメモリスティック10’の単一のユニットに封入することができ、好ましくは、カードあるいはスティック中にカプセル化できる。
バッファ管理ユニット14は、ホストダイレクトメモリアクセス(HDMA)32と、フラッシュダイレクトメモリアクセス(FDMA)コントローラ34と、アービタ36と、バッファランダムアクセスメモリ(BRAM)38と、暗号化エンジン40を有する。アービタ36は共有バスアービタであるので、いつでも、ただ一つのマスタあるいはイニシエータ(HDMA32、FDMA34あるいはCPU12でもよい)だけがアクティブ可能になり、スレーブまたはターゲットはBRAM 38である。アービタは、適切なイニシエータの要求をBRAM38に向ける。HDMA32とFDMA34は、HIM16、FIM18、およびBRAM38と、あるいはCPUランダムアクセスメモリ(CPU RAM)12aとの間に伝送されたデータに関与する。HDMA32およびFDMA34の作動は従来の通りで、ここに詳述する必要はない。BRAM38は、ホスト装置24、フラッシュメモリ20およびCPU RAM 12aの間で伝送されるデータを一時的に保持するものである。HDMA32とFDMA34は、HIM16/FIM18とBRAM38あるいはCPU RAM 12aとの間にデータ伝送し、セクター伝送完了を指示するものである。
まず最初に、フラッシュメモリ20からのデータをホスト装置24によって読取る場合、メモリ20中の暗号化されたデータは、バス28、FIM18、FDMA34、暗号化されたデータを復号する暗号化エンジン(Crypto−Engine)40によってフェッチされ、BRAM38に保存される。その後、復号されたデータは、BRAM38からHDMA32、HIM16、バス26を介してホスト装置24へ送信される。メモリ20に保存されたデータが復号される鍵及び/またはアルゴリズムと異なる鍵及び/またはアルゴリズムによってホスト装置24に伝送されるデータを再暗号化するように、BRAM38からフェッチされたデータは、HDMA32に伝送される前に、暗号化エンジン(Crypto−Engine)40によって再暗号化できる。さらに代わりの実施例では、データが不正アクセスに対して脆弱となりがちな、BRAM38に復号されたデータを保存する上述の処理よりも、メモリ20からのデータが、BRAM38に伝送される前に復号されて、暗号化エンジン40によって再暗号化されるのが好ましい。その後、前述したように、BRAM38中の暗号化されたデータは、ホスト装置24へ伝送される。これで読取り処理の際のデータストリームを説明した。
データがホスト装置24によってメモリ20に書き込まれる場合は、データストリームの方向が逆にされる。例えば、暗号化されていないデータをホスト装置を利用して、バス26、HIM16、HDMA32によって暗号化エンジン40へ伝送する場合、これらのデータは、BRAM38に保存される前にエンジン40によって暗号化されてもよい。その代わりに、暗号化されていないデータをBRAM38に保存してもよい。その後、このデータは、FDMA34に伝送される前に、メモリ20へ伝送される途中で暗号化される。書き込まれたデータが多段の暗号化処理を経過する場合、処理済みのデータをBRAM38に保存する前に、エンジン40が前記の処理を完了するのが好ましい。
本発明の1つの側面は、ホスト装置24とメモリ20との間で伝送されるデータストリーム中のデータの前述した暗号化処理を、CPU12の関与が最小となるように実行できれば、装置10の処理能力とそれによる性能を非常に改善することができるという認識に基づいているものである。これは以下説明するように図1に示す。
上記の処理では、2つの異なったデータソースおよび行き先があるデータストリームを説明した。読取り処理では、データソースはメモリ20であり、行き先はホスト装置24である。書き込み処理では、データソースはホスト装置24であり、行き先はメモリ20である。さらに、データソース(あるいは行き先)は、対応する行き先(あるいはデータソース)がメモリ20であるCPU12でもよい。さらに、他のオペレーションでは、バルク暗号化およびハッシュオペレーションに対して、データストリームはBMU14からCPU12まででもよい。ソースの中のデータと出力データの行き先及び適用されうる対応する暗号化処理の様々な組み合わせを下記の表に述べる。
Figure 2012090286
上記の表に示したように、1つの追加されたオペレート可能なモードは、バイパスモードである。バイパスモードは、暗号化エンジン40が存在せずHDMAとFMDAがアービタ36を介して該バイパス路に沿ってBRAM38に直接接続されているように、バイパス路(図1に示せず)に沿って、データストリームに暗号処理せずに、FDMA34がCPU12あるいはBRAM38にアクセスすることができる。本発明の一実施例によれば、例えばデータソースとデータ行き先等のプロセッシング、例えば適用される(あるいは、バイパスモード)暗号化アルゴリズム等の暗号化パラメータは、図1の暗号化エンジン40の機能的ブロックのうち一部のブロック図である図2のコンフィギュレーションレジスタ102をセットすることで、複数のデータソースと、複数の行き先および複数のアルゴリズムからCPU12を用いてあらかじめ選択できる。
図2は暗号化エンジン40のブロック図で、その構成要素の一部をより詳細に示す。図2に示すように、暗号化エンジン40は、暗号化ブロック50とコンフィギュレーションレジスタ52とを有する。コンフィギュレーションレジスタ52は、選択されたデータソースと、選択されたデータ行き先、および使用される暗号化アルゴリズムあるいはバイパスモードとに関するセキュリティコンフィギュレーション情報あるいはセキュリティコンフィギュレーションレコードを、上記の表と使用すべき鍵(バイパスモードを除いて)に従い、データが暗号化か、復号か、あるいはハッシュされることになっているか(以上これらは「暗号化処理される」という表現に含まれる)、あるいは暗号化処理されないかどうかによって保存するものである。セキュリティコンフィギュレーション情報あるいはレコードは、CPU12によってレジスタ52に書き込まれてもよい。この情報をレジスタ52に保存した後、エンジン40は、CPU12の関与なしで暗号化処理を実施することができる。多くの通常の暗号化アルゴリズムは、データを、128ビットを1単位として処理する。これは、フラッシュメモリのような記憶装置に一度に書き込まれるかまたはそれから読取られるデータのページのサイズより小さくすることができる。各ページは、通常1つ以上のセクターのデータを保存するが、該セクターのサイズは、ホストシステムによって規定されている。1例は磁気ディスクドライブで確立された規格によるユーザデータの512バイトのセクターで、ユーザデータおよび/またはそれが保存されているブロックに関するオーバーヘッド情報の若干のバイトがプラスされる。
CPU12がエンジン40による暗号化処理に関与する必要がないように、また、データの全ページがエンジン40によって一度に1ページより小さな単位で暗号化処理されるように、ロジック回路(図示されていない)をブロック40で使用することができる。一実施例では、暗号化エンジン40はハードウェア回路である。
図2に示すように、ブロック54、56および58は、暗号化ブロック50によって実施されるようCPUが選択できる3つの異なる暗号化アルゴリズム(それぞれHash、DES及びAES)を表わす。これらのアルゴリズムと異なる暗号化アルゴリズムも使用できるし、又、本発明の範囲内にある。暗号化ブロック50で処理されるデータと、ホスト装置24あるいはメモリ20、或いはCPU12から発生するデータは、先ず入力バッファ62に保存されて、レジスタ52で特定された暗号化アルゴリズムにより暗号化ブロック50で暗号化処理される。そして、暗号化処理されたデータは、レジスタ52中の行き先情報により、行き先へ伝送される前に、出力バッファ64に保存される。図2はさらに、メモリ20に書き込まされ、又、それから読取られるデータを暗号化処理しない、入力バッファ62から出力バッファ64までのバイパス路72を含み、これは表のモードのうち1つであり、上述した1つものである。
コンフィギュレーションレジスタ52はさらに、暗号化処理中で使用される鍵を保存できる。一実施例では、この鍵は、CPU12(例えば、メモリ20等から)によって読出されて、暗号化ブロック50による暗号化又は復号の前にレジスタ52に保存される。上述した処理は、CPU12がレジスタ52に適切な情報を書き込んだ後、CPU12の関与なしでブロック40中で実施される。図2を簡単化するために、ブロック40中のアルゴリズム、データソースおよび行き先を選択するためにレジスタ52中の情報を使用し、唯一の鍵と選択されたアルゴリズムを暗号化処理に使用するロジック回路は省略されている。処理されたデータが出力バッファ64へ伝送される前に、入力バッファ62中のデータを処理するために、暗号化ブロック50を2度以上使用することが可能である。例えば、データソースからのデータを先ず復号し、データをバッファ64に伝送する前に、異なる鍵および/または異なるアルゴリズムを使用して、復号されたデータを暗号化するのが望ましい。データの暗号化または復号に加えて、データのインテグリティを保証する目的では、データの要約あるいはハッシュ値を得るようにハッシングアルゴリズムをデータに適用することは有用である。これらすべての状況では、復号するためにある鍵を使用した後、暗号化するために異なった鍵を使用するか、データを暗号化するか復号するかだけでなく、要約を得るように、暗号化ブロック50でデータを2度処理することが望ましい。言うまでもなく、データは更に、該データが復号され、ハッシングされ、暗号化される場合、暗号化ブロック50で2回以上処理できる。これらのオペレーションがシーケンシャル段階(多段処理)で連続的に発生する。言いかえれば、多段(即ち、2段階以上)の処理では、暗号化ブロック50でより多く処理するよう暗号化ブロック50によって既に出力バッファ64で処理されたデータを、フィードバックパス66を介して、入力バッファ62へ伝送することにより、データを2度以上、暗号化ブロック50を通して伝送してもよい。2段階以上を考慮する場合、データは追加処理のために、更に追加の回数でフィードバックすることができる。処理の各段階では、異なったアルゴリズムおよび/または鍵を使用してもよい。
多段の処理が望まれる場合、CPU12が、データを暗号化処理する回数および多段の処理の各段階で使用される鍵および/またはアルゴリズムを指定するために、セキュリティコンフィギュレーション情報あるいはレコードをレジスタ52に入力するために使用されてもよい。この情報がレジスタ52に書き込まれた後、CPU12は多段の処理に全く関与する必要がなくなる。
図1のメモリシステム10はフラッシュメモリを有しているが、このシステムは例えば磁気ディスク、光ディスクCDs等の他のタイプの不揮発性メモリ、他のすべてのタイプの書き換え可能な不揮発性メモリシステムをさらに含んでもよく、上述した様々な利点は、これらの選択できる実施例に同様に適用できる。選択できる実施例では、このメモリは更に、メモリシステムの残りのコンポーネントと共に、同じ物体(例えば、メモリカードやメモリステック等)にカプセル化することが好ましい。
オペレーティングシステム10の読取り処理を図3のフローチャートに示す。CPU12は、ホスト装置24から読取りコマンドを受け取った後、読取り操作を始める(楕円150)。その後、CPU12は、レジスタ52に適切なセキュリティコンフィギュレーション情報あるいはレコードを書き込むことにより、暗号化エンジン40を設定し、さらに読取り操作用にBMU14を設定し、オペレーション用(ブロック152、154)にBRAM38中での例えばメモリスペースの割り付け等の他のパラメーターを設定する。CPU12はさらに、データが読まれるメモリ20中の区域を指定するなど、FIM18を設定する(ブロック156)。その後、暗号化処理を含む上記処理がCPU(エラー訂正を除いて)の関与なしで実行されるように、HDMAエンジン32およびFDMAエンジン34を開始する。ブロック158を参照して、CPUは、割り込みを受信すると、それがFIMの割り込みかどうかチェックする(菱形160)。CPUはFIM割り込みが受信された場合、割り込みがデータストリーム中に一つ以上のエラーがあることを示す割り込みであるかどうかをチェックする(162)。エラーがあることが示される場合、BRAM38中のエラーを修正する為に進み(ブロック164)、データが次に読まれるメモリ20中の区域を変更するよう、FIM18の設定に戻る(ブロック156)。FIM割り込みがデータストリーム中のエラーを示さなかった場合、FIMがオペレーションを完了し、又CPUがFIMの再設定のためにブロック156に戻ることを表す。CPUに検知された割り込みがFIM割り込みでない場合、CPUはデータ割り込みの終了かどうかをチェックする(菱形166)。そうであれば、読取り操作は終了する(楕円168)。そうでなければ、この割り込みは、データの暗号化処理と無関係であり(即ち、クロック割り込み)、又、CPUは当該割り込みを処理し(図示されていない)、割り込みをチェックするために菱形160に戻る。
書き込み操作には図3をわずか修正するだけでよい。メモリ20に書き込むデータにECCエラーの取り扱いがないので、書き込み操作でCPU12は菱形162及びブロック164中の処理を省くことができる。CPU12が、書き込み操作中にFIM割り込みを受信する場合、これは、FIMがそのオペレーションの完了したことを表し、CPUもFIMを再設定するためにブロック156に戻る。この違いを除けば、書き込み操作は実質的に読取り操作に似ている。したがって、暗号化エンジン40、BMU14およびFIM18を一度設定すると、システム10は、CPU12の関与なしで、たとえ暗号化エンジン40がページよりはるかに小さな単位でデータを処理することがあっても、データをすべて暗号化処理し(バイパス・モード以外)、そのセッションのページのすべての書き込みあるいは読取りを完了することができる。
《インターリービングデータストリーム》
複数のホストアプリケーションが、複数のデータストリームを処理しながら同時に、メモリ20にアクセスできることが望ましい。これが意味することは、あるデータストリームの暗号化処理は、メモリシステム10が他のデータストリームを処理するために、割込んだ際に、完了していなかったかもしれないことである。異なったデータストリームの暗号化処理は、通常異なったパラメーター(例えば、異なった鍵とアルゴリズム、および異なったデータソースと行き先)を用いる。これらのパラメーターは、データストリームの対応するセキュリティコンフィギュレーションレコードに備えられている。特定のデータストリームの割り込まれた処理がその後再開される場合に、その対応するセキュリティコンフィギュレーションレコードが失われないことを保証するために、そのレコードは、CPU RAM 12aに保存するのが好ましい。前に割り込まれたデータストリームの処理を再開する場合、CPU12は、そのデータストリーム用の保存されたセキュリティコンフィギュレーション記録を読取り、保存されている対応するセキュリティコンフィギュレーションレコードに基づいて、正確なパラメーターを用いて、そのデータストリームの再開された暗号化処理を行うことができる。
図4は、複数のデータストリームの処理およびセキュリティコンフィギュレーションレコードの利用の図1および図2のシステムの操作を説明するフローチャートである。CPUは、ホストコマンドが受信されたかをチェックする(ブロック202と菱形204)。ホストコマンドが受信されていた時、例えば最初のデータストリームを暗号化処理する場合、CPUは、コマンドが装置24で実行する最初のアプリケーション等のスタートセッションコマンドかどうかについてチェックする(菱形206)。そうである場合、CPUは書き込みセッションが要求されたかどうかチェックする(菱形208)。若し書き込みセッションが要求されていた場合、CPUはホスト装置からの情報によってセキュリティコンフィギュレーションレコード(例えば選択されたデータソース、選択されたデータ行き先、上記の表テーブルと使用されるべき鍵によって用いられる暗号化アルゴリズム、および、データが暗号化、復号又はハッシュされるべきかどうか)を作成し(ブロック210)、第1データストリーム用の最初のセッションを始める。CPU12は、これらのセキュリティコンフィギュレーション情報あるいはレコードをCPU RAM 12aに保存する。もし要求されたセッションが読取りセッションである場合、CPUは、読取られるデータ用のセキュリティコンフィギュレーションレコードをメモリ20から読取り(ブロック240)、それをCPU RAM 12aに保存する。その後、CPUは戻り、さらなるホストコマンドを待つ(202)。
CPUは、別のホストコマンドを受信すると、スタートセッションコマンドであるかを再びチェックする(菱形206)。そうである場合、ブロック210あるいはブロック240に進み、第2のセッションを始めることができる。これは、第2のデータストリームの暗号化処理を要求するホスト装置24上で作動する、異なった第2のアプリケーション用の新しい第2のセッション等である。上記の第2のデータストリーム用のセキュリティコンフィギュレーション情報あるいはレコードは、CPU RAM 12aに再び保存されるが、これは書き込みと読取りの両セッションがある場合である(ブロック210、240)。追加のセッションは同じ方法で追加のデータストリームのために作成できる。CPUはブロック202に戻り、ホストコマンドがスタートセッションコマンドであるかを確かめるために次のホストコマンドをチェックする(菱形206)。このようにして、CPU12が菱形206中のスタートセッションコマンドでないホストコマンドを検知するまで、前述したように追加セッションが作成される。
この場合には、CPU12は、ホストコマンドがセッション終了のコマンドであるかを確かめるべく次のホストコマンドをチェックする(菱形222)。そうでない場合、CPUは、それがデータコマンドであるかをチェックする(菱形224)。それがデータコマンドであると仮定すれば、CPUは、どのデータストリームを処理するかを判断し、前記のデータストリームのセキュリティコンフィギュレーションレコードにより暗号化エンジン40を設定し(レジスタ52に書き込むことで)、暗号化エンジン40は、例えば図3の処理などにより、上述した方式で読取りあるいは書き込み操作を実行する(或いは暗号化エンジン40はバイパスモードでバイパスされる)(ブロック226)。
読取りあるいは書き込み処理に割り込みがない場合、セッションの間に処理されるすべてのページが処理されたことを表すセッション終了コマンドをCPUが受信するまでに、処理は継続する(ブロック222)。しかしながら、割り込みがある場合、CPUは、システム10が現在処理しているデータストリームとは異なるデータストリームからのデータを処理するホストデータコマンドを受信する。この場合、暗号化エンジン40は、前記の異なるデータストリームを処理するよう再設定される必要がある。その後、CPUは、CPU RAM 12aから前記の異なるデータストリーム用のセキュリティコンフィギュレーションレコードを読取り、そして、暗号化エンジン40を再設定し(レジスタ52に読取られたレコードを書き込むことによって)、その結果、エンジン40が前記の異なったデータストリームを正確に処理する。
セッション終了コマンドが書き込みセッションで受け取られた場合(222ブロック)、CPUは、書き込まれたデータと共にセキュリティコンフィギュレーションレコードをメモリ20に保存し、前記のレコードは、それに続く読取り操作で読取られ得る(菱形228およびブロック230)。読取り操作では、RAM12aに保存されたセキュリティコンフィギュレーションレコードが廃棄されるが、メモリ20に保存されたレコードは、将来起こり得る読取り操作のために保持される(ブロック242)。
あるアプリケーションにおいては、無許可な操作(tampering)に対してメモリ20中のデータのインテグリティを維持することは重要であろう。メモリ20に保存されているデータが変更、あるいは、破損されないことを保証するために、前記のデータのハッシュ値またはダイジェストを前記のデータから導出することが望ましく、前記のデータのハッシュ値またはダイジェストは前記のデータと共に保存されている。データを読取られると、ハッシュ値またはダイジェストも同様に読取られ、読取られたダイジェストあるいはハッシュ値は、前記の読取られたデータから計算されたダイジェストあるいはハッシュ値と比較され得る。もし、それらの間に差異があれば、メモリ20のデータが変更されたか、破損されたのかもしない。
共通のハッシュ関数は連鎖ブロック暗号(chained block cipher)(CBC)であって、メッセージ認証コード(MAC)は、書き込み中または読取り中のデータのブロックから時間系列に従って導き出される。共通のCBC関数は以下に通り。
Figure 2012090286
上記の値c0,・・・,crは、データストリームp1,・・・,prのメッセージ認証コード(MAC)である。IVはイニシエーション(開始)ベクトルであり、kは鍵である。したがって、データp1,・・・,prブロックをメモリ20に書き込みたい場合、上記のCBC関数のようなハッシュ関数を使用して、MAC値(例えばc0,・・・,cr)はシステム10における暗号化エンジン40によって前記データブロックから計算され、MAC値、IV、鍵k、および上記の他のパラメータを含む関連セキュリティコンフィギュレーションレコードは、データ自体がメモリ20に書き込まれると共に、メモリ20に書き込まれる。上記の式で、ek(x)は、xが鍵kによって暗号化される処理を表し、ek−1(x)は、xが鍵kを使用して復号されることを表す。
その後、データブロックp1,・・・,prをメモリ20か読取られるときに、関連するセキュリティコンフィギュレーションレコードも同様に読取られ、暗号化エンジン40は、IV、セキュリティコンフィギュレーションレコード中の鍵k、および読取られたデータから一組のMAC値を計算し、該一組の値をメモリ20から読取った一組のMAC値と比較する。これは2組のMAC値の間に差がある場合、読取られたデータは変更、或いは破損されていたのかもしれない。例えば上記のCBC関数等のハッシュ関数については、シーケンス中の第1番目の値を除いて、各々MAC値は前のMACから導びかれる。これは、MAC値の組がこの場合に、時間の順に連続して導びかれることを表す。
ホスト装置24中の複数のアプリケーションが、メモリ20に並行してアクセスできることが望ましく、その結果、ユーザーは他のアプリケーションを使用してメモリ20にアクセスする前に、当該メモリ20の使用中のあるアプリケーションが完了することを待つ必要がない。これは、例えば、読取り処理が割り込まれた時に、データp1,・・・,prのすべてのブロックがすでに読取られたわけではないことを表すので、前記のメモリシステム(例えば図1および図2に示すシステム10)を装置24で実行している他の異なったアプリケーションに使用できる。しかし、この場合では、全体のデータストリームが読取られる前、且つすべてのMAC値が計算される前に、上記のMAC値計算処理は割込まれてもよい。従って、前記のメモリシステムがデータp1,・・・,pr中の未読のブロックの読取りを再開する場合、前に計算されたMAC値の不完全な組が失われている可能性があり、残りのMAC値の計算は以前に計算したMAC値に依存するため、残りのMAC値を計算することは不可能となる。したがって、本発明の他の特徴は、以前に計算されたMAC値の不完全な組は、セキュリティコンフィギュレーションレコード内の残りの値(例えばIV、鍵k、データソースおよび行き先、アルゴリズム)と共に、例えば図1のCPU RAM 12aなどへ保存することに基づくことである。従って、メモリシステムがデータp1,・・・,pr中の未読のブロックの読取りを再開する場合、以前に計算されたMAC値の不完全な組はまだ利用可能であるので、残りのMAC値を計算することが可能である。
ブロック242の読取りセッションの終わりで、セッション終了のコマンドをホスト24によって検知した後、読取ったデータを認証するために、CPUは、メモリ20から読取ったデータから計算されたMAC値をメモリ20に保存された前記のMAC値と比較する。若し、受信したホストコマンドが上記のどれでもない場合、CPU12は単に該コマンドを実行して、ブロック202に戻る(ブロック250)。
本発明は様々な実施例を参照して以上述べたが、添付された請求の範囲及びそれに相当するものだけで規定する本発明の範囲を逸脱しない範囲に、変更および修正を行い得ることが理解されたい。ここに引用された文献はすべて参照により盛り込まれる。
図1は、本発明を説明するための、ホスト装置と通信するメモリシステムのブロック図である。 図2は、図1の暗号化エンジンの一部のブロック図である。 図3は、本発明の一部分の好適な実施例を説明するための、図1に示されたシステムの作動を説明するフローチャートである。 図4は、複数のデータストリームを取り扱う場合の図1に示されたシステムの操作およびセキュリティコンフィギュレーションレコードの利用を説明するのに有用なフローチャートである。 記述上の便宜から、本出願では、同一の構成について同じ番号を付している。

Claims (11)

  1. 暗号化されたデータ保存用のメモリシステムにおいて、
    不揮発性のフラッシュメモリセルと、
    前記セルから又は前記セルへの2つ以上のデータストリーム中のデータに暗号化処理を実行する回路と、
    前記セルと前記回路を制御し、異なったデータストリーム中のデータがインターリーブ方式で暗号化処理されるコントローラを備え、
    前記セルからのデータをアクセスするための少なくとも1つのセッションは、他のセッションによって割り込まれ、
    前記コントローラは前記セッションのセキュリティコンフィギュレーション情報を、前記割り込み前に保存させ、該情報は前記割り込み後に読取ることができることを特徴とするシステム。
  2. 前記セキュリティコンフィギュレーション情報は、データのソースあるいは行き先に関連する情報、暗号化鍵、暗号化アルゴリズム、および/またはメッセージ認証コードを含むことを特徴とする請求項1に記載のシステム。
  3. 前記コントローラは前記セッションの再開時に、前記セッション用に保存された前記セキュリティコンフィギュレーション情報を読取らせることを特徴とする請求項1に記載のシステム。
  4. 前記コントローラは、2つ以上のデータストリーム毎に前記セキュリティコンフィギュレーション情報を保存させ、割り込み後に前記情報が読取らせることを特徴とする請求項1に記載のシステム。
  5. 前記データストリームからのデータの処理が再開される時に、前記コントローラは、2つ以上のデータストリーム毎に保存された前記セキュリティコンフィギュレーション情報を読取らせることを特徴とする請求項4に記載のシステム。
  6. 前記コントローラは、前記割り込み以前に保存された、メッセージ認証コードを含む前記セキュリティコンフィギュレーション情報を読取り、前記割り込まれたセッションが再開されるときに、前記読取られたメッセージ認証コードから更新したメッセージ認証コードを導出することを特徴とする請求項1に記載のシステム。
  7. 不揮発性のフラッシュメモリセルと暗号化回路を含む、暗号化されたデータ保存用のメモリシステムにおけるデータを処理する方法において、
    前記セルからの、又は前記セルへのデータストリーム中のデータに暗号化処理を行うために前記回路を用いるステップと、
    インターリーブ方式で、異なったデータストリーム中のデータを前記回路に暗号化処理させるステップであって、前記セルへの、または前記セルからのデータを処理する、少なくとも1セッションが、他のセッションに割り込まれ、前記少なくとも前記1セッションのセキュリティコンフィギュレーション情報が、前記割り込み前に保存され、前記割り込み後に読取ることができるステップと、
    を含むことを特徴とする方法。
  8. 前記セキュリティコンフィギュレーション情報は、データのソースあるいは行き先に関連する情報、暗号化鍵、暗号化アルゴリズム、および/またはメッセージ認証コードを含むことを特徴とする請求項7に記載の方法。
  9. 前記暗号化処理させるステップが、前記異なったデータストリーム毎に前記セキュリティコンフィギュレーション情報を保存させ、前記割り込み後、前記情報が読取ることができることを特徴とする請求項7に記載の方法。
  10. 前記暗号化処理させるステップは、前記データストリームからのデータ処理が再開される時に、前記異なったデータストリーム毎に保存された前記セキュリティコンフィギュレーション情報を読取らせるようにすることを特徴とする請求項7に記載の方法。
  11. 前記割り込み以前に保存された、メッセージ認証コードを含む前記セキュリティコンフィギュレーション情報を更に読取るステップを更に有し、前記割り込まれたセッションが再開されるときに、前記読取られたメッセージ認証コードから更新したメッセージ認証コードを導出することを特徴とする請求項7に記載の方法。
JP2011251674A 2004-12-21 2011-11-17 イン−ストリームデータ暗号化/復号の機能を有するメモリシステム Pending JP2012090286A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US63944204P 2004-12-21 2004-12-21
US60/639,442 2004-12-21
US11/314,032 2005-12-20
US11/314,032 US20070180539A1 (en) 2004-12-21 2005-12-20 Memory system with in stream data encryption / decryption
US11/314,030 US20060242429A1 (en) 2004-12-21 2005-12-20 In stream data encryption / decryption method
US11/314,030 2005-12-20

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007548469A Division JP5118494B2 (ja) 2004-12-21 2005-12-21 イン−ストリームデータ暗号化/復号の機能を有するメモリシステム

Publications (1)

Publication Number Publication Date
JP2012090286A true JP2012090286A (ja) 2012-05-10

Family

ID=39055650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011251674A Pending JP2012090286A (ja) 2004-12-21 2011-11-17 イン−ストリームデータ暗号化/復号の機能を有するメモリシステム

Country Status (5)

Country Link
US (2) US20060242429A1 (ja)
JP (1) JP2012090286A (ja)
KR (1) KR101323746B1 (ja)
CN (1) CN101120349A (ja)
TW (1) TWI411932B (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424201B2 (en) * 2001-03-30 2008-09-09 Sandisk 3D Llc Method for field-programming a solid-state memory device with a digital media file
JP4667108B2 (ja) * 2005-04-11 2011-04-06 パナソニック株式会社 データ処理装置
US9081946B2 (en) * 2006-03-29 2015-07-14 Stmicroelectronics, Inc. Secure mass storage device
US20080019517A1 (en) * 2006-04-06 2008-01-24 Peter Munguia Control work key store for multiple data streams
US20070260615A1 (en) * 2006-05-08 2007-11-08 Eran Shen Media with Pluggable Codec
US9680686B2 (en) * 2006-05-08 2017-06-13 Sandisk Technologies Llc Media with pluggable codec methods
US20080126705A1 (en) * 2006-08-08 2008-05-29 Fabrice Jogand-Coulomb Methods Used In A Portable Mass Storage Device With Virtual Machine Activation
US7725614B2 (en) * 2006-08-08 2010-05-25 Sandisk Corporation Portable mass storage device with virtual machine activation
WO2008066933A2 (en) * 2006-12-01 2008-06-05 The Regents Of The University Of California Enhancing performance characteristics of organic semiconducting films by improved solution processing
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US8566695B2 (en) * 2007-03-30 2013-10-22 Sandisk Technologies Inc. Controlling access to digital content
IL187045A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Software protection against fault attacks
IL187038A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Secure data processing for unaligned data
IL187043A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Secure pipeline manager
US20090113116A1 (en) * 2007-10-30 2009-04-30 Thompson E Earle Digital content kiosk and methods for use therewith
US20100027796A1 (en) * 2008-08-01 2010-02-04 Disney Enterprises, Inc. Multi-encryption
FI20080534A0 (fi) 2008-09-22 2008-09-22 Envault Corp Oy Turvallinen ja valikoidusti kiistettävissä oleva tiedostovarasto
JP5302083B2 (ja) * 2009-04-23 2013-10-02 株式会社メガチップス メモリ装置およびメモリ装置の制御方法
WO2011064883A1 (ja) * 2009-11-27 2011-06-03 株式会社東芝 メモリチップ
US9032535B2 (en) * 2009-12-31 2015-05-12 Sandisk Technologies Inc. Storage device and method for providing a scalable content protection system
US8751802B2 (en) * 2010-06-30 2014-06-10 Sandisk Il Ltd. Storage device and method and for storage device state recovery
JP5017439B2 (ja) * 2010-09-22 2012-09-05 株式会社東芝 暗号演算装置及びメモリシステム
EP2721497A4 (en) * 2011-06-15 2015-03-25 Nokia Corp METHOD AND APPARATUS FOR IMPLEMENTING ACCESS TO A MEMORY SEGMENT IN A DISTRIBUTED MEMORY ENVIRONMENT
KR101878682B1 (ko) 2011-11-14 2018-07-18 삼성전자주식회사 컨텐츠를 보호하기 위한 방법 및 저장 매체
US9152825B2 (en) 2012-02-29 2015-10-06 Apple Inc. Using storage controller bus interfaces to secure data transfer between storage devices and hosts
ES2837801T3 (es) 2012-08-07 2021-07-01 Nokia Technologies Oy Control de acceso para memoria inalámbrica
US9448967B2 (en) * 2012-10-31 2016-09-20 Mstar Semiconductor, Inc. Stream data processor
US9419952B2 (en) * 2014-06-05 2016-08-16 Stmicroelectronics (Grenoble 2) Sas Memory encryption method compatible with a memory interleaved system and corresponding system
US10313129B2 (en) * 2015-06-26 2019-06-04 Intel Corporation Keyed-hash message authentication code processors, methods, systems, and instructions
TWI679554B (zh) * 2017-03-07 2019-12-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
TWI736000B (zh) * 2017-03-07 2021-08-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
CN107256363B (zh) * 2017-06-13 2020-03-06 杭州华澜微电子股份有限公司 一种由加解密模块阵列组成的高速加解密装置
JP7287115B2 (ja) 2019-05-30 2023-06-06 京セラドキュメントソリューションズ株式会社 集積回路及び集積回路の制御方法
TWI722496B (zh) * 2019-06-20 2021-03-21 慧榮科技股份有限公司 使用者資料的加解密方法及裝置
WO2022146436A1 (en) * 2020-12-30 2022-07-07 Pqsecure Technologies, Llc A low footprint hardware architecture for kyber-kem
US20240129282A1 (en) * 2022-10-12 2024-04-18 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for protection for device data transfers

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014441A (ja) * 1999-04-27 2001-01-19 Matsushita Electric Ind Co Ltd 半導体メモリカード及び読み出し装置
JP2001508893A (ja) * 1996-12-12 2001-07-03 インテル・コーポレーション 暗号によって保護されたページング・システム
JP2002140236A (ja) * 2000-10-31 2002-05-17 Toshiba Corp マイクロプロセッサおよびデータ保護方法
JP2002229861A (ja) * 2001-02-07 2002-08-16 Hitachi Ltd 著作権保護機能つき記録装置
JP2002329180A (ja) * 2001-04-27 2002-11-15 Toshiba Corp 無線通信機能を有するメモリカード及びそのデータ通信方法
JP2003051819A (ja) * 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
JP2003108442A (ja) * 2001-09-28 2003-04-11 Toshiba Corp マイクロプロセッサ
WO2003047154A1 (en) * 2001-11-28 2003-06-05 Telefonaktiebolaget L M Ericsson (Publ) Security reconfiguration in a universal mobile telecommunications system
JP2004101846A (ja) * 2002-09-09 2004-04-02 Rohm Co Ltd 暗号化・復号化装置および暗号化・復号化方法
JP2004109177A (ja) * 2002-09-13 2004-04-08 Matsushita Electric Ind Co Ltd コンテンツデータ記録媒体、コンテンツデータ復号装置、コンテンツデータ暗号化装置、コンテンツデータ復号方法及びコンテンツデータ暗号化方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4506362A (en) * 1978-12-22 1985-03-19 Gould Inc. Systematic memory error detection and correction apparatus and method
US4371930A (en) * 1980-06-03 1983-02-01 Burroughs Corporation Apparatus for detecting, correcting and logging single bit memory read errors
US4506365A (en) * 1982-11-22 1985-03-19 Ncr Corporation Error correction system
US5438575A (en) * 1992-11-16 1995-08-01 Ampex Corporation Data storage system with stale data detector and method of operation
US5434919A (en) * 1994-01-11 1995-07-18 Chaum; David Compact endorsement signature systems
US5630025A (en) * 1994-07-13 1997-05-13 Unisys Corporation Generalized configurator using a declaratively constructed two-level bi-partite graph as a knowledge representation
JPH113284A (ja) * 1997-06-10 1999-01-06 Mitsubishi Electric Corp 情報記憶媒体およびそのセキュリティ方法
US6243739B1 (en) * 1997-07-11 2001-06-05 Phone.Com, Inc. Reducing perceived latency in servicing user requests on low-bandwidth communication channels
US6252961B1 (en) * 1997-07-17 2001-06-26 Hewlett-Packard Co Method and apparatus for performing data encryption and error code correction
JP4423711B2 (ja) * 1999-08-05 2010-03-03 ソニー株式会社 半導体記憶装置及び半導体記憶装置の動作設定方法
DE60017870T2 (de) * 1999-10-21 2005-06-23 Matsushita Electric Industrial Co., Ltd., Kadoma Eine halbleiterspeicherkarte-zugangsanordnung, ein rechnerlesbares aufzeichnungsmedium, initialisierungsverfahren,und eine halbleiterspeicherkarte
JP2001175606A (ja) * 1999-12-20 2001-06-29 Sony Corp データ処理装置、データ処理機器およびその方法
US7215771B1 (en) * 2000-06-30 2007-05-08 Western Digital Ventures, Inc. Secure disk drive comprising a secure drive key and a drive ID for implementing secure communication over a public network
JP2002329367A (ja) * 2001-04-27 2002-11-15 Sony Corp データ記録方法および装置、データ再生方法および装置、並びにデータ記録媒体
US7054335B2 (en) * 2001-05-04 2006-05-30 Hewlett-Packard Development Company, L.P. Method and system for midstream transcoding of secure scalable packets in response to downstream requirements
US6754765B1 (en) * 2001-05-14 2004-06-22 Integrated Memory Logic, Inc. Flash memory controller with updateable microcode
US7062616B2 (en) * 2001-06-12 2006-06-13 Intel Corporation Implementing a dual partition flash with suspend/resume capabilities
JP3615162B2 (ja) * 2001-07-10 2005-01-26 日本電気株式会社 画像符号化方法及び画像符号化装置
US7036020B2 (en) * 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
TWI223204B (en) * 2001-11-08 2004-11-01 Toshiba Corp Memory card, content transmission system, and content transmission method
US6865555B2 (en) * 2001-11-21 2005-03-08 Digeo, Inc. System and method for providing conditional access to digital content
US6928599B2 (en) * 2001-12-05 2005-08-09 Intel Corporation Method and apparatus for decoding data
US20040153918A1 (en) * 2002-04-08 2004-08-05 Matsushita Electric Industrial Co., Tamper-resistant computer program product
JP4185314B2 (ja) * 2002-06-07 2008-11-26 富士通株式会社 情報記録再生装置、光ディスク装置及び、データ再生方法
US20030233545A1 (en) * 2002-06-13 2003-12-18 Avigdor Eldar Diagnostic method for security records in networking application
JP2004104602A (ja) * 2002-09-11 2004-04-02 Pioneer Electronic Corp 情報記録媒体、情報記録装置、情報再生装置、情報配信装置、それらの方法、それらのプログラムおよびそのプログラムを記録した記録媒体
US7702904B2 (en) * 2002-11-15 2010-04-20 Nec Corporation Key management system and multicast delivery system using the same
JP2004201038A (ja) * 2002-12-18 2004-07-15 Internatl Business Mach Corp <Ibm> データ記憶装置、これを搭載した情報処理装置及びそのデータ処理方法並びにプログラム
DE60313118D1 (de) * 2003-02-04 2007-05-24 Sgs Thomson Microelectronics Halbleiterschaltkreis zur Entschlüsselung
JP4891521B2 (ja) * 2003-03-28 2012-03-07 三洋電機株式会社 データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置
US7398544B2 (en) * 2003-05-12 2008-07-08 Sony Corporation Configurable cableCARD
EP1505608B1 (en) * 2003-08-06 2006-10-18 STMicroelectronics S.r.l. Memory system with error detection device
JP4139801B2 (ja) * 2003-09-11 2008-08-27 シャープ株式会社 情報記録媒体再生装置、及び情報記録媒体再生方法
US7526686B2 (en) * 2004-08-04 2009-04-28 International Business Machines Corporation Apparatus, system, and method for active data verification in a storage system
TWI248617B (en) * 2004-08-13 2006-02-01 Prolific Technology Inc Data storage device
US7493656B2 (en) * 2005-06-02 2009-02-17 Seagate Technology Llc Drive security session manager

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001508893A (ja) * 1996-12-12 2001-07-03 インテル・コーポレーション 暗号によって保護されたページング・システム
JP2001014441A (ja) * 1999-04-27 2001-01-19 Matsushita Electric Ind Co Ltd 半導体メモリカード及び読み出し装置
JP2002140236A (ja) * 2000-10-31 2002-05-17 Toshiba Corp マイクロプロセッサおよびデータ保護方法
JP2002229861A (ja) * 2001-02-07 2002-08-16 Hitachi Ltd 著作権保護機能つき記録装置
JP2002329180A (ja) * 2001-04-27 2002-11-15 Toshiba Corp 無線通信機能を有するメモリカード及びそのデータ通信方法
JP2003051819A (ja) * 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
JP2003108442A (ja) * 2001-09-28 2003-04-11 Toshiba Corp マイクロプロセッサ
WO2003047154A1 (en) * 2001-11-28 2003-06-05 Telefonaktiebolaget L M Ericsson (Publ) Security reconfiguration in a universal mobile telecommunications system
JP2004101846A (ja) * 2002-09-09 2004-04-02 Rohm Co Ltd 暗号化・復号化装置および暗号化・復号化方法
JP2004109177A (ja) * 2002-09-13 2004-04-08 Matsushita Electric Ind Co Ltd コンテンツデータ記録媒体、コンテンツデータ復号装置、コンテンツデータ暗号化装置、コンテンツデータ復号方法及びコンテンツデータ暗号化方法

Also Published As

Publication number Publication date
TWI411932B (zh) 2013-10-11
KR20120131222A (ko) 2012-12-04
TW200703054A (en) 2007-01-16
CN101120349A (zh) 2008-02-06
US20070180539A1 (en) 2007-08-02
KR101323746B1 (ko) 2013-10-29
US20060242429A1 (en) 2006-10-26

Similar Documents

Publication Publication Date Title
KR101323746B1 (ko) 스트림-내 데이터 암호화/복호화 기능을 가진 메모리 시스템
JP5118494B2 (ja) イン−ストリームデータ暗号化/復号の機能を有するメモリシステム
EP1658696B1 (en) On-chip storage, creation, and manipulation of an encryption key
US9037875B1 (en) Key generation techniques
US8107621B2 (en) Encrypted file system mechanisms
US8966284B2 (en) Hardware driver integrity check of memory card controller firmware
JP4991223B2 (ja) データ処理装置
JP2008524969A5 (ja)
US7835518B2 (en) System and method for write failure recovery
JP2010509690A (ja) 記憶装置のセキュリティを確保する方法とシステム
CN102334307A (zh) 密码系统的密钥恢复机制
US9323943B2 (en) Decrypt and encrypt data of storage device
JP2008524754A (ja) イン−ストリームデータの暗号化/復号およびエラー訂正の機能を有するメモリシステム
US20050259458A1 (en) Method and system of encrypting/decrypting data stored in one or more storage devices
US20040111626A1 (en) Security processing of unlimited data size
US20070230690A1 (en) System for write failure recovery
CN101763485A (zh) 数据保护方法
JP2009537026A (ja) 書き込み障害回復のためのシステムおよび方法
JP2023130311A (ja) サイドチャネル攻撃から電子コンピュータを保護する方法及び電子コンピュータ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130327

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130627

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130725

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131119