JP3602984B2 - メモリ装置 - Google Patents
メモリ装置 Download PDFInfo
- Publication number
- JP3602984B2 JP3602984B2 JP19552799A JP19552799A JP3602984B2 JP 3602984 B2 JP3602984 B2 JP 3602984B2 JP 19552799 A JP19552799 A JP 19552799A JP 19552799 A JP19552799 A JP 19552799A JP 3602984 B2 JP3602984 B2 JP 3602984B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- memory device
- test
- read
- 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.)
- Expired - Fee Related
Links
- 238000012360 testing method Methods 0.000 claims description 113
- 230000015654 memory Effects 0.000 claims description 107
- 230000004044 response Effects 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 13
- 230000000903 blocking effect Effects 0.000 claims description 8
- 208000033748 Device issues Diseases 0.000 claims 1
- 230000006870 function Effects 0.000 description 14
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/46—Test trigger logic
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31719—Security aspects, e.g. preventing unauthorised access during test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
Landscapes
- Storage Device Security (AREA)
Description
【発明の属する技術分野】
本発明は、電源遮断時にもデータを保持するメモリ装置に関し、特に、高いセキュリティを実現しつつ、テスト端子から入力されるテスト信号に従ってテスト処理を実行できるようにするメモリ装置に関する。
【0002】
メモリ装置に格納されるデータのセキュリティを確保することは非常に重要なことである。一方、メモリ装置の品質を向上させることも非常に重要なことである。
【0003】
メモリ装置の品質を向上させるには、製造されたメモリ装置をテストして故障のあるものを検出していく必要がある。しかるに、このようなテストを可能にすべくテスト用の端子を設けると、不正使用者がこのテスト機能を利用することで、メモリ装置に格納される暗号キーなどの秘匿データを取得できる可能性がでてくる。
【0004】
これから、高いセキュリティを実現しつつ、製造されたメモリ装置をテストできるようにする技術を構築していく必要がある。
【0005】
【従来の技術】
例えば、メモリステックなどのような不揮発性メモリに、暗号化された音楽などの著作物を記録することが行われている。
【0006】
このような場合に、暗号キーがハックされると、その著作物が無断でコピーされてしまうという不都合が起こる。
【0007】
また、不揮発性メモリとその不揮発性メモリを利用するホスト装置との間で、共通鍵の暗号キーを使って暗号文をやり取りすることで、認証処理を実行するということが行われている。
【0008】
このような場合にも、暗号キーがハックされると、不正使用者の操作するホスト装置が不揮発性メモリのデータを参照できることになるという不都合が起こる。
【0009】
そこで、従来では、不正使用者がテスト機能を使って暗号キーなどの秘匿データを盗めないようにするために、メモリステックなどのような不揮発性メモリにはテスト用端子を設けないようにする構成を採っている。
【0010】
【発明が解決しようとする課題】
確かに、従来技術のように、不揮発性メモリにテスト用端子を設けないようにすれば高いセキュリティを確保できるようになる。
【0011】
しかしながら、それでは、不揮発性メモリの製造メーカは、製造された不揮発性メモリを十分にテストすることができず、その品質を保証することができない。
【0012】
これから、従来技術に従っていると、メモリステックなどのような不揮発性メモリの品質を向上させることができないという問題点があった。
【0013】
本発明はかかる事情に鑑みてなされたものであって、電源遮断時にもデータを保持する構成を採るときにあって、高いセキュリティを実現しつつ、テスト端子から入力されるテスト信号に従ってテスト処理を実行できるようにする新たなメモリ装置の提供を目的とする。
【0014】
【課題を解決するための手段】
図1に本発明の原理構成を図示する。
【0015】
図中、1は本発明を具備するメモリ装置であって、電源遮断時にもデータを保持するとともに、テスト端子から入力されるテスト信号に従ってテスト処理を実行するものである。
【0016】
本発明のメモリ装置1は、秘匿データメモリ手段10と、回路手段11−i(i=1〜n)と、テスト入力用インタフェース手段12と、遮断手段13と、発行手段14と、解読手段15と、保持手段16とを備える。
【0017】
この秘匿データメモリ手段10は、暗号キーなどの秘匿データを格納し、秘匿データを格納しないときには、秘匿データとは異なる初期データを格納し、秘匿データを格納するときにあって、秘匿データを格納する領域以外の領域があるときには、その領域に、秘匿データの格納の有無を示すデータを格納することがある。
【0018】
回路手段11−i(i=1〜n)は、秘匿データメモリ手段10から秘匿データを読み出し、それを使って規定の処理を実行する。テスト入力用インタフェース手段12は、テスト端子から、回路手段11−i(i=1〜n)のテストに用いるテスト用信号を入力する。遮断手段13は、テスト入力インタフェース手段12の入力するテスト信号を遮断する。
【0019】
発行手段14は、秘匿データメモリ手段10に対してデータの読み出し指示を発行する。解読手段15は、秘匿データメモリ手段10から読み出されるデータを解読することで、秘匿データメモリ手段10に秘匿データが格納されているのか否かを解読する。保持手段16は、解読手段15の解読結果を揮発性の形態で保持する。
【0020】
このように構成される本発明のメモリ装置1では、発行手段14は、電源投入時に、秘匿データメモリ手段10に対してデータの読み出し指示を発行したり、リセット時に、秘匿データメモリ手段10に対してデータの読み出し指示を発行したり、秘匿データを操作するコマンドの発行時に、秘匿データメモリ手段10に対してデータの読み出し指示を発行する。
【0021】
このとき、発行手段14は、秘匿データメモリ手段10に対して、秘匿データの読み出し指示を発行したり、作業用データを除く全てのデータの読み出し指示を発行したり、秘匿データの格納に用いられない領域に格納される秘匿データの格納の有無を示すデータの読み出し指示を発行する。
【0022】
この発行手段14の発行処理を受けて、秘匿データメモリ手段10は、秘匿データを格納するときには、秘匿データや秘匿データの格納を示すデータを出力し、秘匿データを格納しないときには、秘匿データとは異なる初期データや秘匿データの未格納を示すデータを出力し、これを受けて、解読手段15は、秘匿データメモリ手段10に秘匿データが格納されているのか否かを解読する。
【0023】
この解読手段15の解読結果を受けて、保持手段16は、秘匿データメモリ手段10に秘匿データが格納されているのか否かを示す情報を保持し、これを受けて、遮断手段13は、保持手段16が秘匿データの格納を示す情報を保持するときには、テスト入力用インタフェース手段12から入力されるテスト信号を遮断する。
【0024】
このようにして、本発明のメモリ装置1では、秘匿データメモリ手段10に秘匿データが格納されているときには、テスト信号の入力を受け付けないことでテストできないようにする構成を採ることから、実質的にテスト端子を持たないメモリ装置と同等のセキュリティを実現しつつ、品質向上のためのテストを実行できるようになる。
【0025】
一方、このように構成される本発明のメモリ装置1では、ホスト装置から秘匿データメモリ手段10に対してアクセス要求が発行されると、図1では省略した読出手段が秘匿データメモリ手段10からアクセス要求のあるデータを読み出すので、解読手段15は、その読み出されるデータを収集して、その収集データから秘匿データメモリ手段10に秘匿データが格納されているのか否かを解読する。
【0026】
この解読手段15の解読結果を受けて、保持手段16は、秘匿データメモリ手段10に秘匿データが格納されているのか否かを示す情報を保持し、これを受けて、遮断手段13は、保持手段16が秘匿データの格納を示す情報を保持するときには、テスト入力用インタフェース手段12から入力されるテスト信号を遮断する。
【0028】
このようにして、本発明のメモリ装置1では、秘匿データメモリ手段10に格納される秘匿データに対するアクセス要求の発行を検出すると、それ以降、テスト信号の入力を受け付けないようにする構成を採ることから、実質的にテスト端子を持たないメモリ装置と同等のセキュリティを実現しつつ、品質向上のためのテストを実行できるようになる。
【0029】
【発明の実施の形態】
以下、実施の形態に従って本発明を詳細に説明する。
【0030】
図2に、本発明の一実施例を図示する。
【0031】
図中、20は本発明を具備するメモリスティック、30はメモリスティック20を利用するホスト装置である。
【0032】
本発明のメモリスティック20は、フラッシュメモリ40と、フラッシュメモリ40をコントロールするMSコントローラ50とで構成されており、ホスト装置30から、シリアルプロトコルバスステート信号(BS)とシリアルプロトコルクロック信号(SCLK)とを入力し、ホスト装置30との間で、シリアルプロトコルデータ信号(DIO)をやり取りする。
【0033】
このMSコントローラ50は、ホスト装置30との間のインタフェース処理を司るホストインタフェース51と、フラッシュメモリ40との間のインタフェース処理を司るフラッシュインタフェース52と、レジスタ53と、ページバッファ54と、ROM55と、コントローラ用メモリ56と、暗号復号機構57と、セキュリティ機構58とを備える。
【0034】
図3に示すように、暗号復号機構57は、暗号復号回路570と乱数発生回路571とを備え、コントローラ用メモリ56は、例えば512バイトで構成されて、例えば16バイトで構成される複数の暗号キーを格納する暗号キーメモリ域と、乱数発生回路571の発生する乱数などを格納するために用意される作業用メモリ域とを備える。
【0035】
ここで、暗号キーが格納されてない場合には、このコントローラ用メモリ56の暗号キーメモリ域には、暗号キーとして用いられることのないオール0などのような規定の初期データが格納されることになる。
【0036】
このように構成される暗号復号機構57では、ホスト装置30との間でデータをやり取りする必要が生じると、乱数発生回路571が乱数を発生して、これを暗号復号回路570に通知するとともに、コントローラ用メモリ56の作業用メモリ域に格納する。
【0037】
この乱数発生回路571から通知される乱数を受けて、暗号復号回路570は、コントローラ用メモリ56の暗号キーメモリ域から、その乱数の指定する暗号キーを読み出し、通知された乱数をキーにして、その読み出した暗号キーを暗号化してホスト装置30に送信する。
【0038】
このMSコントローラ50からの暗号文を受け取ると、ホスト装置30は、暗号文を解読することで、暗号復号回路570の読み出した暗号キーを知ることができるので、その暗号キーを使って必要なデータを暗号化してMSコントローラ50に返信する。
【0039】
そして、このホスト装置30からの暗号文を受け取ると、暗号復号回路570は、自分の用いた暗号キーを使ってこの暗号文を復号することで、ホスト装置30の返信してきたデータを解読する。
【0040】
このようにして、MSコントローラ50は、共通鍵となる暗号キーを用いて、ホスト装置30との間で暗号文のやり取りを行っていくが、認証処理などのような場合には、安全性を高めるために、複数の暗号キーを使って暗号文をやり取りする必要が生ずる。このような場合には、乱数発生回路571は、コントローラ用メモリ56の作業用メモリ域に格納した前回の発生乱数を読み出して、それを基にして次の乱数を発生していくことで、発生する乱数のランダム性を確保していくように処理している。
【0041】
このような処理を行うMSコントローラ50を持つメモリスティック20の品質を保証するためには、MSコントローラ50が設計通りに製造されているのか否かをテストしていく必要がある。しかるに、このようなテスト機能を持つと、それを利用して、不正使用者が暗号キーを盗み取る可能性がででくる。
【0042】
そこで、MSコントローラ50は、このような可能性を排除するために、図2に示したようにセキュリティ機構58を備える構成を採っている。
【0043】
図4に、このセキュリティ機構58の一実施例を図示する。ここで、図中の56は図2に示したコントローラ用メモリ、570は図3に示した暗号復号回路、571は図3に示した乱数発生回路571である。
【0044】
この図に示すように、セキュリティ機構58は、シーケンサ580と、テスト入力インタフェース581と、テストセレクト部582と、内部信号セレクト出力部583と、レジスタ584と、デコーダ585と、制御フラグラッチ回路586とを備える。
【0045】
このシーケンサ580は、電源投入を契機として起動されて、全体の制御処理を実行する。テスト入力インタフェース581は、テスト端子から入力されてくるテスト信号を入力し、それをデコードすることで対応するテスト機能を呼び出す。
【0046】
テストセレクト部582は、制御フラグラッチ回路586にラッチされる制御フラグに従って、テスト入力インタフェース581の出力するテスト信号を遮断するのか否かを制御する。内部信号セレクト出力部583は、テスト出力をテスト端子に出力する。
【0047】
レジスタ584は、コントローラ用メモリ56から読み出されるデータ(暗号キーが格納されている場合には暗号キー、暗号キーが格納されていない場合には初期データ)を保持する。
【0048】
デコーダ585は、レジスタ584の保持するデータをデコードすることで、レジスタ584の保持するデータが暗号キーであるのかそれ以外の初期データであるのかをデコードする。制御フラグラッチ回路586は、デコーダ585のデコード結果をラッチしてテストセレクト部582を制御する。
【0049】
図5に、セキュリティ機構58の備えるシーケンサ580の一実施例を図示する。
【0050】
この図に示すように、シーケンサ580は、シーケンサ動作フラグON部5800と、シーケンサ・カウンタ5801と、シーケンサ動作終了信号生成部5802と、メモリアドレス生成部5803と、読出信号生成部5804と、レジスタ格納信号生成部5805とを備える。
【0051】
このシーケンサ動作フラグON部5800は、電源が投入されるときに、動作フラグをONする。シーケンサ・カウンタ5801は、動作フラグがONしている間、計数値をカウントアップして、その計数値が規定値に到達するときに、メモリアドレス生成部5803/読出信号生成部5804/レジスタ格納信号生成部5805を起動する。シーケンサ動作終了信号生成部5802は、シーケンサ・カウンタ5801の計数値が最大値に到達するときに、動作フラグをOFFさせる動作終了信号を生成する。
【0052】
メモリアドレス生成部5803は、暗号キーの格納先となっているコントローラ用メモリ56のメモリアドレスを生成する。読出信号生成部5804は、コントローラ用メモリ56からのデータの読み出しを指示する読出信号を生成する。レジスタ格納信号生成部5805は、レジスタ584の格納タイミング信号となるレジスタ格納信号を生成する。
【0053】
このように構成されるセキュリティ機構58は、次に説明する動作を実行することで、不正使用者による暗号キーのハックを防止する。
【0054】
すなわち、セキュリティ機構58の備えるシーケンサ580は、電源が投入されると、シーケンサ・カウンタ5801によるシーケンス動作に入って、先ず最初に、メモリアドレス生成部5803を起動することで、暗号キーの格納先となっているコントローラ用メモリ56のメモリアドレスを生成し、続いて、読出信号生成部5804を起動することで、コントローラ用メモリ56からのデータの読み出しを指示する読出信号を生成する。
【0055】
このメモリアドレス及び読出信号の生成を受けて、コントローラ用メモリ56は、そのメモリアドレスの指定する例えば16バイトのデータを読み出していく。すなわち、暗号キーが格納されているときには暗号キー、暗号キーが格納されていないときには初期データを読み出していくのである。
【0056】
続いて、シーケンサ580は、レジスタ格納信号生成部5805を起動することで、レジスタ584の格納タイミング信号となるレジスタ格納信号を生成する。
【0057】
このレジスタ格納信号を受けて、レジスタ584は、コントローラ用メモリ56から読み出されたデータを保持する。
【0058】
このようにして、レジスタ584に、コントローラ用メモリ56から読み出されたデータが保持されると、デコーダ585は、そのデータをデコードすることで、そのデータが暗号キーであるのかそれ以外の初期データであるのかをデコードし、これを受けて、制御フラグラッチ回路586は、レジスタ584に保持されるデータが暗号キーであるときには例えば1をラッチし、レジスタ584に保持されるデータが初期データであるときには例えば0をラッチする。
【0059】
この制御フラグラッチ回路586のラッチする制御フラグを受けて、テストセレクト部582は、レジスタ584に保持されるデータが暗号キーであるときには、テスト入力インタフェース581の出力するテスト信号を遮断することでテスト機能の実行を阻止し、レジスタ584に保持されるデータが初期データであるときには、テスト入力インタフェース581の出力するテスト信号を遮断しないことでテスト機能の実行を阻止しないように処理する。
【0060】
このようにして、セキュリティ機構58は、電源投入時にコントローラ用メモリ56に暗号キーが格納されているときには、それ以降、テストモードに入れないようにすることで、テスト機能を利用する暗号キーのハックを確実に防止するように処理するのである。
【0061】
そして、セキュリティ機構58は、電源投入時にコントローラ用メモリ56に暗号キーが格納されていないときには、それ以降、テストモードに入れるようにすることで、MSコントローラ50が設計通りに製造されているのか否かをテストできるようにしている。
【0062】
すなわち、メモリスティック20の製造メーカは、MSコントローラ50をテストする場合には、ホスト装置30を使って、コントローラ用メモリ56に格納される暗号キーを消去した後、電源を一度切断してから再投入すれば、テストモードに入れるようになる。
【0063】
この構成を採るときに、セキュリティ機構58は、電源投入後に暗号キーが消去されることがあることを考慮して、リセットが発行されるときに上述した処理を実行することで、リセット発行時に暗号キーが消去されているときには、テスト入力インタフェース581の出力するテスト信号を遮断しないことでテスト機能の実行を阻止しないように処理する。
【0064】
メモリスティック20のユーザとなるメーカ(ユーザメーカ)から、コントローラ用メモリ56のどのメモリアドレス位置に暗号キーを格納するのかが知らされる場合には、メモリスティック20の製造メーカは、メモリアドレス生成部5803がそのメモリアドレスを生成するように設計する。
【0065】
しかしながら、ユーザメーカから、そのようなメモリアドレスが知らされない場合には、製造メーカは、メモリアドレス生成部5803がコントローラ用メモリ56から作業用データを除く全てのデータを読み出すことになるメモリアドレスを生成するように設計する。
【0066】
このときには、レジスタ584に、コントローラ用メモリ56から読み出されていくデータが順番に保持されていくことになるので、制御フラグラッチ回路586が暗号キーが読み出されたことを示す制御フラグをラッチするときに、レジスタ584に対して、それから以降のデータの保持を禁止させる処理を行う回路機構を用意することになる。
【0067】
上述したように、コントローラ用メモリ56の暗号キーメモリ域には、暗号キーが格納されていない場合には、暗号キーとして用いられることのないオール0などのような規定の初期データが格納されることになる。
【0068】
これにより、暗号キーが格納されているのか格納されていないのかが判別できるようになるのであるが、メモリスティック20のユーザメーカによっては、メモリスティック20の製造メーカの想定した初期データを暗号キーとして使用する可能性もある。
【0069】
これから、ユーザメーカから、暗号キーとして使用することのないデータが知らされる場合には、製造メーカは、そのデータを初期データとして用いるように設計していくことになる。
【0070】
一方、ユーザメーカから、そのような初期データが知らされない場合には、製造メーカは、ユーザメーカに対して、コントローラ用メモリ56の作業用メモリ域の特定領域に、暗号キーの書き込みと同期させて、暗号キーの格納を示す特定のデータを書き込ませるように要求する。そして、その特定のデータを読み出して、デコーダ585によりデコードしていくことで、暗号キーが格納されているのか否かを判別するように設計していくようにする。
【0071】
図4の実施例では、電源が投入されるときに、コントローラ用メモリ56に暗号キーが格納されているのか否かを判断して、その判断結果を制御フラグラッチ回路586にラッチさせていくという構成を採った。そして、これに加えて、リセットが発行されるときに、コントローラ用メモリ56に暗号キーが格納されているのか否かを判断して、その判断結果を制御フラグラッチ回路586にラッチさせていくという構成を採ったが、その他のタイミング時に、この処理を行う構成を加えることも可能である。
【0072】
例えば、図6に示すように、セキュリティ機構58に発行コマンドを解釈するコマンド解釈部587を備える構成を採って、このコマンド解釈部587が暗号キーを操作するコマンドの発行を検出するときに、コントローラ用メモリ56に暗号キーが格納されているのか否かを判断して、その判断結果を制御フラグラッチ回路586にラッチさせていくという構成を加えることも可能である。
【0073】
図7に、本発明を実現するためのセキュリティ機構58の他の実施例を図示する。
【0074】
図4の実施例では、電源投入時にコントローラ用メモリ56に暗号キーが格納されているときには、テストモードに入れないようにすることで、暗号キーのハックを防止する構成を採ったが、この実施例では、ホスト装置30からのメモリアクセス要求に応答して暗号復号回路570がコントローラ用メモリ56に対してメモリアクセス要求を発行することで暗号キーを読み出すときに、テストセレクト部582がテスト入力インタフェース581の出力するテスト信号を遮断するように動作させることで、テストモードに入っているときにはその継続を禁止させ、通常モードにあるときにはテストモードへの移行を禁止させていくという構成を採っている。
【0075】
暗号復号回路570が暗号キーを読み出すと、テスト機能を使って、その暗号キーをハックできる可能性が出てくるので、この構成に従って、そのような可能性を排除するのである。
【0076】
この実施例に従う場合、シーケンサ580は、図8に示すように、レジスタ格納信号生成部5805のみを備える構成を採って、このレジスタ格納信号生成部5805を使って、暗号復号回路570がコントローラ用メモリ56に格納される暗号キーのメモリアクセス信号を発行するときに(ホスト装置30からのメモリアクセス要求に応答して発行することになる)、レジスタ584の格納タイミング信号となるレジスタ格納信号を生成するように処理する。
【0077】
このように構成される図7の実施例では、暗号復号回路570がコントローラ用メモリ56に対してメモリアクセス信号を発行すると、シーケンサ580は、レジスタ格納信号生成部5805を起動することで、レジスタ584の格納タイミング信号となるレジスタ格納信号を生成する。
【0078】
このレジスタ格納信号を受けて、レジスタ584は、暗号復号回路570の読み出す暗号キーをサンプリングして保持する。
【0079】
このようにして、レジスタ584に暗号キーが保持されると、デコーダ585は、レジスタ584の保持するデータが暗号キーであることをデコードし、これを受けて、制御フラグラッチ回路586は、レジスタ584に保持されるデータが暗号キーであることを示す例えば1をラッチする。
【0080】
この制御フラグラッチ回路586のラッチする制御フラグを受けて、テストセレクト部582は、テスト入力インタフェース581の出力するテスト信号を遮断することでテスト機能の実行を阻止するように処理する。
【0081】
このようにして、この実施例に従う場合、セキュリティ機構58は、暗号復号回路570が暗号キーを読み出すと、それまでテストモードにあるときには、それ以降テストモードを継続させていかないように処理するとともに、それまで通常モードにあるときには、それ以降テストモードに入れないように処理することで、テスト機能を利用する暗号キーのハックを確実に防止するように処理するのである。
【0082】
図7の実施例では、暗号復号回路570の読み出す暗号キーをレジスタ584に保持させていくことで、制御フラグラッチ回路586に対して、テスト信号を遮断させるための制御フラグをラッチさせていくという構成を採ったが、本発明に関連する技術として、図9に示すように、暗号復号回路570の発行するメモリアクセス信号を受けて、シーケンサ580が直接制御フラグラッチ回路586に対して、テスト信号を遮断させるための制御フラグをラッチさせていくという構成を採ることも可能である。
【0083】
このようにして、図4の実施例に従う場合には、MSコントローラ50は、電源投入時に、図10(a)の処理フローに示すように、コントローラ用メモリ56の暗号キーメモリ域からデータを読み出し、その読み出したデータが消去状態でない場合、すなわち、その読み出したデータが暗号キーである場合には、テスト信号の入力を遮断することで、テスト処理に入ることを禁止し、その読み出したデータが消去状態である場合には、テスト信号の入力を許可することで、テスト処理に入ることを許可していく構成を採るのである。
【0084】
この構成に従って、コントローラ用メモリ56に暗号キーが格納されている場合には、テストモードに入れないようにすることで、テスト機能を利用する暗号キーのハックを確実に防止できるようになる。
【0085】
一方、図7の実施例に従う場合には、MSコントローラ50は、暗号復号回路570が暗号キーのアクセス要求を発行するときに、図10(b)の処理フローに示すように、テスト信号の入力を遮断することで、テスト処理に入ることを禁止したり、テスト処理に入っているときは、その継続を禁止していく構成を採るのである。
【0086】
この構成に従って、コントローラ用メモリ56から暗号キーが読み出された場合には、テストモードに入れないようにしたり、テストモードから強制的に抜けさせるようにすることで、テスト機能を利用する暗号キーのハックを確実に防止できるようになる。
【0087】
図示実施例に従って本発明を説明したが、本発明はこれに限定されるものではない。例えば、暗号キーを具体例にして本発明を説明したが、本発明はその適用が暗号キーに限られるものではない。
【0088】
【発明の効果】
以上説明したように、本発明のメモリ装置では、秘匿データが格納されているときには、テスト信号の入力を受け付けないことでテストできないようにする構成を採ることから、実質的にテスト端子を持たないメモリ装置と同等のセキュリティを実現しつつ、品質向上のためのテストを実行できるようになる。
【0089】
そして、本発明のメモリ装置では、秘匿データに対するアクセス要求の発行を検出すると、それ以降、テスト信号の入力を受け付けないようにする構成を採ることから、実質的にテスト端子を持たないメモリ装置と同等のセキュリティを実現しつつ、品質向上のためのテストを実行できるようになる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の一実施例である。
【図3】ホスト装置とのやり取りの説明図である。
【図4】本発明の一実施例である。
【図5】シーケンサの一実施例である。
【図6】本発明の他の実施例である。
【図7】本発明の他の実施例である。
【図8】シーケンサの一実施例である。
【図9】本発明に関連する技術の説明図である。
【図10】本発明の説明図である。
【符号の説明】
1 メモリ装置
10 秘匿データメモリ手段
11 回路手段
12 テスト入力用インタフェース手段
13 遮断手段
14 発行手段
15 解読手段
16 保持手段
Claims (8)
- 電源遮断時にもデータを保持するとともに、テスト端子から入力されるテスト信号に従ってテスト処理を実行するメモリ装置であって、
秘匿データを格納するメモリに対して、データの読み出し指示を発行する発行手段と、
上記発行手段の発行処理に応答して読み出されるデータから、上記メモリに秘匿データが格納されているのか否かを解読する解読手段と、
上記解読手段の解読結果を揮発性の形態で保持する保持手段と、
上記保持手段が秘匿データの格納を示す情報を保持するときに、テスト端子から入力されるテスト信号を遮断する遮断手段とを備えることを、
特徴とするメモリ装置。 - 請求項1記載のメモリ装置において、
上記発行手段は、秘匿データを格納するメモリに対して、秘匿データの読み出し指示を発行することを、
特徴とするメモリ装置。 - 請求項1記載のメモリ装置において、
上記発行手段は、秘匿データを格納するメモリに対して、それが格納する作業用データを除く全てのデータの読み出し指示を発行することを、
特徴とするメモリ装置。 - 請求項1記載のメモリ装置において、
上記発行手段は、秘匿データを格納するメモリに対して、秘匿データの格納に用いられない領域に格納される秘匿データの格納の有無を示すデータの読み出し指示を発行することを、
特徴とするメモリ装置。 - 請求項1〜4に記載されるいずれかのメモリ装置において、
上記発行手段は、電源投入時に、データの読み出し指示を発行することを、
特徴とするメモリ装置。 - 請求項1〜5に記載されるいずれかのメモリ装置において、
上記発行手段は、リセット時に、データの読み出し指示を発行することを、
特徴とするメモリ装置。 - 請求項1〜5に記載されるいずれかのメモリ装置において、
上記発行手段は、秘匿データを操作するコマンドの発行時に、データの読み出し指示を発行することを、
特徴とするメモリ装置。 - 電源遮断時にもデータを保持するとともに、テスト端子から入力されるテスト信号に従ってテスト処理を実行するメモリ装置であって、
ホスト装置が秘匿データを格納するメモリに対してのアクセス要求を発行するときに、そのアクセス要求のあるデータを読み出す読出手段と、
上記読出手段の読み出したデータを収集し、その収集データから該メモリに秘匿データが格納されているのか否かを解読する解読手段と、
上記解読手段の解読結果を揮発性の形態で保持する保持手段と、
上記保持手段が秘匿データの格納を示す情報を保持するときに、テスト端子から入力されるテスト信号を遮断する遮断手段とを備えることを、
特徴とするメモリ装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19552799A JP3602984B2 (ja) | 1999-07-09 | 1999-07-09 | メモリ装置 |
US09/531,105 US7076667B1 (en) | 1999-07-09 | 2000-03-17 | Storage device having secure test process |
KR1020000017514A KR100607016B1 (ko) | 1999-07-09 | 2000-04-04 | 메모리 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19552799A JP3602984B2 (ja) | 1999-07-09 | 1999-07-09 | メモリ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001022646A JP2001022646A (ja) | 2001-01-26 |
JP3602984B2 true JP3602984B2 (ja) | 2004-12-15 |
Family
ID=16342583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19552799A Expired - Fee Related JP3602984B2 (ja) | 1999-07-09 | 1999-07-09 | メモリ装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7076667B1 (ja) |
JP (1) | JP3602984B2 (ja) |
KR (1) | KR100607016B1 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005004382A1 (ja) | 2003-07-08 | 2005-01-13 | Fujitsu Limited | 暗号処理装置 |
US8156343B2 (en) * | 2003-11-26 | 2012-04-10 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible |
EP1560033A1 (fr) * | 2004-01-29 | 2005-08-03 | STMicroelectronics S.A. | Circuit intégré comportant un mode de test sécurisé par initialisation du dit mode de test |
FR2865827A1 (fr) * | 2004-01-29 | 2005-08-05 | St Microelectronics Sa | Securisation du mode de test d'un circuit integre |
FR2865828A1 (fr) * | 2004-01-29 | 2005-08-05 | St Microelectronics Sa | Procede de securisation du mode de test d'un circuit integre par detection d'intrusion |
JP3938376B2 (ja) * | 2004-03-29 | 2007-06-27 | シャープ株式会社 | テスト端子無効化回路 |
US8015393B2 (en) | 2004-04-12 | 2011-09-06 | Canon Kabushiki Kaisha | Data processing device, encryption communication method, key generation method, and computer program |
JP2005303676A (ja) * | 2004-04-12 | 2005-10-27 | Canon Inc | 画像形成装置、鍵ペア生成方法及びコンピュータプログラム |
KR100645043B1 (ko) * | 2004-09-08 | 2006-11-10 | 삼성전자주식회사 | 테스트용 버퍼를 구비한 불휘발성 메모리 장치 및 그것의테스트 방법 |
FR2885417A1 (fr) * | 2005-05-04 | 2006-11-10 | St Microelectronics Sa | Circuit integre comportant un mode de test securise par detection de l'etat chaine des cellules configurables du circuit integre |
US7577886B2 (en) * | 2005-07-08 | 2009-08-18 | Stmicroelectronics, Sa | Method for testing an electronic circuit comprising a test mode secured by the use of a signature, and associated electronic circuit |
US8291295B2 (en) * | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
JP5020040B2 (ja) * | 2007-11-28 | 2012-09-05 | 株式会社ユーシン | 生体認証装置及び生体認証システム |
US8756391B2 (en) * | 2009-05-22 | 2014-06-17 | Raytheon Company | Multi-level security computing system |
TWI435328B (zh) * | 2009-07-20 | 2014-04-21 | Silicon Motion Inc | 針對一快閃記憶體的控制器所存取之資料來進行資料型樣管理之方法以及相關之記憶裝置及其控制器 |
US20110041005A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System |
US20110040924A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code |
US20110041039A1 (en) * | 2009-08-11 | 2011-02-17 | Eliyahou Harari | Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device |
CN101873622B (zh) * | 2010-06-29 | 2012-10-10 | 青岛海信移动通信技术股份有限公司 | 一种测试加密单元的方法及装置 |
US8549367B1 (en) * | 2010-12-29 | 2013-10-01 | Cadence Design Systems, Inc. | Method and system for accelerating memory randomization |
JP5813380B2 (ja) * | 2011-06-03 | 2015-11-17 | 株式会社東芝 | 半導体記憶装置 |
US9373377B2 (en) * | 2011-11-15 | 2016-06-21 | Micron Technology, Inc. | Apparatuses, integrated circuits, and methods for testmode security systems |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4521852A (en) * | 1982-06-30 | 1985-06-04 | Texas Instruments Incorporated | Data processing device formed on a single semiconductor substrate having secure memory |
US5293610A (en) * | 1989-08-04 | 1994-03-08 | Motorola, Inc. | Memory system having two-level security system for enhanced protection against unauthorized access |
KR940005696B1 (ko) * | 1991-11-25 | 1994-06-22 | 현대전자산업 주식회사 | 보안성 있는 롬(rom)소자 |
US5465341A (en) * | 1992-10-23 | 1995-11-07 | Vlsi Technology, Inc. | Verifiable security circuitry for preventing unauthorized access to programmed read only memory |
US5394367A (en) * | 1994-03-18 | 1995-02-28 | Ramtron International Corporation | System and method for write-protecting predetermined portions of a memory array |
WO1999038078A1 (en) * | 1998-01-21 | 1999-07-29 | Tokyo Electron Limited | Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory |
-
1999
- 1999-07-09 JP JP19552799A patent/JP3602984B2/ja not_active Expired - Fee Related
-
2000
- 2000-03-17 US US09/531,105 patent/US7076667B1/en not_active Expired - Fee Related
- 2000-04-04 KR KR1020000017514A patent/KR100607016B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100607016B1 (ko) | 2006-08-01 |
JP2001022646A (ja) | 2001-01-26 |
US7076667B1 (en) | 2006-07-11 |
KR20010014684A (ko) | 2001-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3602984B2 (ja) | メモリ装置 | |
KR100906175B1 (ko) | 프로세서에서 데이터 보안성을 갖는 메모리 장치 | |
RU2298824C2 (ru) | Способ и устройство для шифрования/дешифрования данных в запоминающем устройстве большой емкости | |
US6158004A (en) | Information storage medium and security method thereof | |
US9311255B2 (en) | Multi-layer content protecting microcontroller | |
JP4157595B2 (ja) | セキュア処理装置、方法、プログラム | |
US7383445B2 (en) | Semiconductor storage device | |
EP1056015A1 (en) | Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory | |
JPH08305558A (ja) | 暗号化プログラム演算装置 | |
US20080189557A1 (en) | Method and architecture for restricting access to a memory device | |
JPH06266624A (ja) | メモリの保護装置及びアドレスの発生方法 | |
TW200832427A (en) | Virtual secure on-chip one time programming | |
JP4347582B2 (ja) | 情報処理装置 | |
JP2004228786A (ja) | 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法 | |
EP3788536B1 (en) | Cryptographic key distribution | |
JP2001356963A (ja) | 半導体装置およびその制御装置 | |
JP2007304847A (ja) | メモリ装置 | |
CN106919858B (zh) | 芯片、所述芯片的数据保护装置及方法 | |
JP2007310601A (ja) | マイクロコンピュータおよびそのソフトウェア保護方法 | |
JPS63293637A (ja) | デ−タ保護用マイコン | |
JPH08185361A (ja) | 半導体集積回路装置 | |
JPH05274492A (ja) | Icカードシステム | |
JPH05274498A (ja) | Icカードとそのデータ記憶用メモリの消去方法 | |
KR101617089B1 (ko) | 인증을 이용하여 보안을 강화하는 비휘발성 메모리 칩 및 이를 이용한 데이터 보안 방법 | |
CN114968117A (zh) | 存储器保护系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040706 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040826 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040921 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040927 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071001 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081001 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081001 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091001 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091001 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101001 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101001 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111001 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111001 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121001 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121001 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131001 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |