JP4119882B2 - メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ - Google Patents

メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ Download PDF

Info

Publication number
JP4119882B2
JP4119882B2 JP2004336418A JP2004336418A JP4119882B2 JP 4119882 B2 JP4119882 B2 JP 4119882B2 JP 2004336418 A JP2004336418 A JP 2004336418A JP 2004336418 A JP2004336418 A JP 2004336418A JP 4119882 B2 JP4119882 B2 JP 4119882B2
Authority
JP
Japan
Prior art keywords
data
encryption key
command
information processing
key data
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.)
Active
Application number
JP2004336418A
Other languages
English (en)
Other versions
JP2006146608A (ja
Inventor
崇 押切
高伸 中島
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.)
Nintendo Co Ltd
MegaChips Corp
Original Assignee
Nintendo Co Ltd
MegaChips 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 Nintendo Co Ltd, MegaChips Corp filed Critical Nintendo Co Ltd
Priority to JP2004336418A priority Critical patent/JP4119882B2/ja
Priority to US11/204,362 priority patent/US8015416B2/en
Priority to EP05772620A priority patent/EP1830240A4/en
Priority to CNB2005800001728A priority patent/CN100405335C/zh
Priority to PCT/JP2005/015197 priority patent/WO2006054380A1/ja
Priority to TW094128578A priority patent/TWI286688B/zh
Publication of JP2006146608A publication Critical patent/JP2006146608A/ja
Application granted granted Critical
Publication of JP4119882B2 publication Critical patent/JP4119882B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Description

本発明は、半導体メモリに記憶されるデータの機密を保護する技術に関する。
半導体メモリを脱着自在に接続することによって、当該半導体メモリに記憶保存されたソフトウェアプログラムやデータ等を利用する情報処理装置が知られている。
このような半導体メモリでは、内部に記憶保存されたデータ等の機密保護のためのセキュリティ技術を有するものがある。例えば、特許文献1、2では、キーデータを利用してデータを暗号化する方法が示されている。また、特許文献3では、暗号化されたコマンドが入力された場合にのみデータを入出力可能とする方法が示されている。
特開平9−106690号公報 特開平7−219852号公報 特開2001−35171号公報
しかし、上記特許文献1、2のように、キーデータを利用して排他的論理和等の論理演算を利用してデータの暗号化を行う場合でも、半導体メモリと情報処理装置との間で行われる通信内容を観測することが可能であるため、暗号化されたデータを解析されてしまうという問題があった。
また、上記特許文献3のように、コマンドを暗号化する場合、暗号方式を複雑にすることでセキュリティ強度を向上することは可能であるが、例えば半導体メモリ毎に異なる暗号を採用するような対応は困難であり、常に同一の暗号化手法により暗号化されたデータを供給することになる。さらに、上記特許文献1、2と同様に、情報処理装置と半導体メモリとの間でやり取りされるデータの閲覧が可能であることから、暗号されたデータを解析される可能性を回避することが困難であるという問題があった。
それゆえに、この発明の主たる目的は、半導体メモリに記憶されたデータの機密保護を高めて、記憶データの不正な読み出しを有効に防止し得る、メモリ情報保護システム,メモリ情報の保護方法、および半導体メモリを提供することである。
この発明の他の目的は、半導体メモリ側の構成を複雑にすることなく、半導体メモリの記憶データを外部から不正に読出すことを困難にし、半導体メモリのコストの大幅な上昇を伴うことなく、記憶データの保護を図った、メモリ情報保護システム,メモリ情報の保護方法、および半導体メモリを提供することである。
この発明のさらに他の目的は、半導体メモリのセキュリティシステムの解析を困難にして、記憶データの機密保護の強化を図った、メモリ情報保護システム,メモリ情報の保護方法、および半導体メモリを提供することである。
請求項1から請求項3に係る発明は、情報処理装置(実施例との対応関係を示せば、図1の10;以下、カッコ内の説明は同様)と情報処理装置に対して着脱自在に装着される半導体メモリ(20)とから構成されるメモリ情報保護システム(1)であって、半導体メモリがデータ記憶手段(21)と,第1の入出力端子部(22)と,メモリ制御手段(23)と,暗号鍵元データ記憶部(24)と,復号鍵データ記憶手段(25)とを備え、情報処理装置が第2の処理手段(CPU11)と,一時記憶手段(12)と,入出力端子部(13)と,暗号鍵データ生成プログラム記憶手段(14)と,暗号データ生成手段(15)と,暗号化手段(16)とを備える。
半導体メモリに含まれるデータ記憶手段は、保護すべきプログラムを含むデータを記憶し、情報処理装置によってアクセスされる。第1の入出力端子部は、情報処理装置から命令コードならびにアドレスデータからなるコマンドが与えられ、かつデータ記憶手段から読み出されたデータを情報処理装置に与える。暗号鍵元データ記憶部は、復号鍵データに対して共通鍵の関係にある暗号鍵データを生成するための元になる暗号鍵元データを記憶する。復号鍵データ記憶手段は、復号鍵データを、情報処理装置からアクセスできない態様で記憶する。メモリ制御手段は、情報処理装置から与えられる暗号化コマンドを、復号鍵データを用いて復号する復号手段を含む。
情報処理装置に含まれる第2の入出力端子部は、半導体メモリの第1の入出力端子部が接続され、命令コードならびにアドレスデータからなるコマンドを出力し、かつ半導体メモリから読み出されたデータが入力される。処理手段は、半導体メモリから読み出されたデータを処理し、かつ半導体メモリに与えるコマンドを発生する。暗号鍵データ生成プログラム記憶手段は、復号鍵データに対して共通鍵の関係にある暗号鍵データを生成するための暗号鍵データ生成プログラムを記憶する。暗号鍵データ生成手段は、暗号鍵元データ記憶部から読み出された暗号鍵元データと暗号鍵データ生成プログラムを使って所定の演算処理を行うことにより、暗号鍵元データよりもデータ長が長い暗号鍵データを生成する。一時記憶手段は、暗号鍵データ生成手段によって生成された暗号鍵データを一時記憶する。暗号化手段は、処理手段によって発生されるコマンドを、暗号鍵データを用いて暗号化した暗号化コマンドを生成し、当該暗号化コマンドを第2の入出力端子部へ出力する。
メモリ制御手段は、復号手段によって復号されたコマンドを用いてデータ記憶手段に記憶されているデータを読出し制御する。
そして、請求項に係る発明、暗鍵データ生成プログラム記憶手段が、情報処理装置の外部から第2の入出力端子部を介してアクセスできないメモリ空間として配置される。
また、請求項に係る発明、暗号鍵元データ記憶部に記憶されている暗号鍵元データと復号鍵データ記憶手段に記憶されている復号鍵データは、データ記憶手段に記憶されるプログラムの種類によって異なる。
また、請求項に係る発明、処理手段が、暗号化手段によって所望の量の暗号化コマンドが出力された後、一時記憶手段に記憶されている暗号鍵データを消去する。
請求項に係る発明は、CPUを含む情報処理装置と、情報処理装置に対して着脱自在に装着される半導体メモリとから構成される情報処理システムにおけるメモリ情報の保護方法であって、半導体メモリがデータ記憶手段と,第1の入出力端子部と,暗号鍵元データ記憶部と,復号鍵データ記憶手段と,メモリ制御手段とを備え、CPUが第1のステップないし第のステップを実行する。
半導体メモリに含まれるデータ記憶手段は、保護すべきプログラムを含むデータを記憶する。第1の入出力端子部は、命令ならびにアドレスデータからなるコマンドが情報処理装置から与えられ、かつ保護データ記憶手段から読み出されたデータを情報処理装置に与える。暗号鍵元データ記憶部は、復号鍵データに対して共通鍵の関係にある暗号鍵データを生成するための元になる暗号鍵元データを記憶する。復号鍵データ記憶手段は、復号鍵データを、情報処理装置によってアクセスできない態様で記憶する。メモリ制御手段は、情報処理装置から与えられる暗号化コマンドを、復号鍵データを用いて復号する復号手段を含む。
情報処理装置の含まれる第2の入出力端子部は、半導体メモリの第1の入出力端子部が接続され、命令ならびにアドレスデータからなるコマンドを出力しかつ半導体メモリから読み出されたデータが入力される。処理手段は、半導体メモリから読み出されたデータを処理し、かつ半導体メモリに与えるコマンドを発生する。暗号鍵データ生成プログラム記憶手段は、復号鍵データに対して共通鍵の関係にある暗号鍵データを生成するための暗号鍵データ生成プログラムを記憶する。一時記憶手段は、暗号鍵データを一時記憶する。
CPUは、暗号鍵元データ暗号鍵データ生成プログラムとを使って所定の演算処理を行うことにより、暗号鍵元データよりもデータ長が長い暗号鍵データを生成する第1のステップ(暗号鍵データ生成ステップ)と、第1のステップにおいて生成された暗号鍵データを、一時記憶手段に一時記憶させる第2のステップ(書き込みステップ)と、処理手段によって発生されるコマンドを、暗号鍵データを用いて暗号化した暗号化コマンドを発生し、第2の入出力端子部へ出力する第3のステップ(暗号化ステップ)とを順次実行する。
メモリ制御手段は、復号鍵データを用いてコマンドを復号する第4のステップと、第4のステップにおいて復号したコマンドが読出コードであるとき、当該コマンドに含まれるアドレスデータをデータ記憶手段に与えて、データ記憶手段のデータを読み出す第5のステップを順次実行する。
そして、請求項に係る発明、暗号鍵データ生成プログラム記憶手段が、情報処理装置の外部から第2の入出力端子部を介してアクセスできないメモリ空間として配置される。
また、請求項5に係る発明では、暗号鍵元データ記憶部に記憶されている暗号鍵元データと復号鍵データ記憶手段に記憶されている復号鍵データは、データ記憶手段に記憶されるプログラムの種類によって異なる。
また、請求項6に係る発明では、CPUが、第3のステップによって所望の量の暗号化コマンドが出力された後、一時記憶手段に記憶されている暗号鍵データを消去する第6ステップを実行する。
請求項に係る発明は、暗号鍵データを用いて命令コードならびにアドレスデータからなる暗号化コマンドを発生するための情報処理装置に対して、着脱自在に装着される半導体メモリであって、データ記憶手段と,復号鍵データ記憶手段と,暗号鍵元データ記憶部と,復号化手段(23a)と,読出手段(23b)とを備える。
データ記憶手段は、情報処理装置によってアクセス可能なメモリ空間に割り当てられ、保護すべきプログラムを含むデータを記憶する。復号鍵データ記憶手段は、情報処理装置によってアクセスできないメモリ空間に割り当てられ、情報処理装置から供給される暗号化コマンドの復号化に必要な復号鍵データを記憶する。暗号鍵元データ記憶部は、情報処理装置によってアクセス可能な空間に割り当てら、復号鍵データに対して共通鍵の関係にある暗号鍵データを情報処理装置が生成するための元になる暗号鍵元データを記憶する。復号化手段は、情報処理装置から供給される暗号化コマンドを、復号鍵データを用いて復号化する。読出手段は、復号化手段によって復号されたコマンドに含まれる命令コードが読出命令コードであることを判断したとき、読出信号をデータ記憶手段に与えるとともに、当該コマンドに含まれるアドレスデータを読出アドレスとしてデータ記憶手段に与えることにより、データ記憶手段の記憶データを読出制御する。
そして、暗号鍵元データのデータ長よりも、暗号鍵データのデータ長の方が長く、暗号鍵元データ記憶部に記憶される暗号鍵元データと復号鍵データ記憶手段に記憶される復号鍵データ、データ記憶手段に記憶されるプログラムの種類によって、異なる。
請求項1から請求項7のいずれかに記載の発明によれば、情報処理装置が、半導体メモリから読み出した情報に応じて生成した暗号鍵データを利用して、半導体メモリとの通信を行うため、常に同一の暗号鍵データを使用する場合や、暗号鍵データ情報そのものを情報処理装置と半導体メモリの間で送受信する場合に比べて、セキュリティシステムの解析を困難なものとし、データの不正な読み出しを有効に防止することができる、メモリ情報保護システム、メモリ情報の保護方法および半導体メモリが得られる。
また、暗号鍵元データに応じて、暗号鍵データを生成するため、例え暗号鍵元データを読み取られても、暗号鍵データを取得されることはない。
また、請求項1または請求項4に記載の発明によれば、暗号化および復号化に必要な情報を外部から読み出せないようにすることで、セキュリティシステムの解析を困難なものとすることができる。
請求項、請求項、または請求項に記載の発明によれば、半導体メモリごとに、異なる暗号鍵元データと復号鍵データとを利用することで、全ての半導体メモリに同一の暗号鍵データを利用する場合に比べて、暗号鍵データの解析を困難なものとすることができる。
請求項3または請求項6に記載の発明によれば、暗号鍵データを利用後に消去するため、暗号鍵データの解析を困難なものとすることができる。
(メモリ情報保護システムの構成)
図1は、この発明の一実施形態に係るメモリ情報保護システムを示すブロック図である。図1において、メモリ情報保護システム1は、情報処理装置10と半導体メモリ20とから構成される。先ず、メモリ情報保護システム1の概要を説明すると、メモリ情報保護システム1は、半導体メモリ20の記憶内容を、所定の情報処理装置10以外の装置から不正に読み出されることを防止することを目的とする。そのため、情報処理装置10は、半導体メモリ20の記憶データを読み出す際に、半導体メモリ20に供給すべき命令コードならびにアドレスデータからなるコマンドを、暗号鍵データによって暗号化した暗号化コマンドを発生し、当該暗号コマンドを半導体メモリ20に与える。半導体メモリ20は、情報処理装置10から供給される暗号化コマンドを復号鍵データによって復号して元のコマンドを抽出し、復号後のコマンドが所定のコマンド(読出命令コードと読出アドレスからなる読出コマンド)である場合にのみ、読出信号と読出アドレスに従って、半導体メモリ20内のコアメモリ(後述のデータ記憶部21)に記憶されているデータを読み出す。
ここで、暗号化および復号化には所定の関係を有する鍵データ(例えば、共通の暗号鍵データと復号鍵データ)を用いる必要がある。しかし、半導体メモリ20内に暗号鍵データを記憶しておき、その暗号鍵データを半導体メモリ20から読み出して情報処理装置10に与えるように構成すると、暗号鍵データが不正に読み出されて解析されてしまう。そこで、本発明のメモリ情報保護システム1では、半導体メモリ20側に暗号鍵データを生成するための元(又は種)となる比較的短いデータ長の暗号鍵元データ(又は暗号鍵種データ)を記憶させておき、始めに暗号鍵元データを読み出し、情報処理装置10において暗号鍵元データに基づいて比較的長いデータ長の暗号鍵データを生成する。そのため、暗号鍵元データと復号鍵データがペアとなるように選ばれる。このとき、情報処理装置10によって生成される暗号鍵データが復号鍵データと所定の関係、例えば同一となるように選ばれる。
そして、半導体メモリ20は、従来の汎用マスクROMに相等するメモリコア(図1のデータ記憶部21)内に、機密保護されるべきデータとして、ソフトウェアプログラムやデータを記憶している。この半導体メモリ20は、例えばカードやカートリッジのような態様で情報処理装置10に脱着自在に装着される。この半導体メモリ20に格納されたソフトウェアプログラムやデータを利用するための情報処理装置10としては、パソコン、PDA(Personal Digital Assistant)のような携帯情報端末装置や、画像処理装置が含まれる。その他にも、半導体メモリ20内に格納されるプログラムがゲームプログラムの場合は、ビデオゲーム機や携帯ゲーム機等の各種ゲーム装置に適用される。次に、この発明の実施形態の詳細を説明する。
<半導体メモリ>
半導体メモリ20は、データ記憶部(又はコアメモリ)21と入出力端子22の間にメモリ制御回路23を設けるとともに、この実施形態固有の構成として、暗号鍵元データ記憶部24と復号鍵データ記憶部25から構成される。データ記憶部21と入出力端子22は、従来公知の汎用のメモリと同様である。データ記憶部21は、マスクROMのような不揮発性メモリであって、機密保護又は不正読出からの保護の対象となるプログラムやデータ等を記憶している。このデータ記憶部21は、マスクROMに限らず、フラッシュメモリ,EP−ROM等でもよい。そして、データ記憶部21は、情報処理装置10からメモリ制御回路23(すなわちコマンド判別・読出回路23b)を介してアクセス可能とされる。入出力端子22は、後述の情報処理措置10側の入出力端子17と電気的に接続される端子であり、半導体メモリ20と情報処理装置10との間でのデータの授受を可能とする。この入出力端子22は、コマンド入力端子とデータ出力端子を含むか、又はコマンド入力とデータ入力を共通の複数の端子(例えば8ビット)で時分割的に使用するようにしてもよい。
メモリ制御回路23は、復号化回路(復号化手段)23aとコマンド判別・読出回路
23bを含んで構成される。復号化回路23aは、情報処理装置10から与えられる暗号化コマンドを、後述の復号鍵データ記憶部25に記憶されている復号鍵データを用いて復号する。この復号化回路23aの具体的な回路構成としては、1つのデータ単位(例えば1バイト又は所定バイト)でビット演算する回路を用いて、暗号化とは逆の演算処理(復号処理)を行うものである。例えば、ビット演算を行う回路としては、論理演算回路(AND,OR,NAND,イクスクルーシブOR等)を用いて1つのデータ単位(例えば1バイト又は所定バイト)で複数ステップに渡って論理演算を行う回路がある。また、その他、コマンド復号回路として、ワンチップマイコンのような小規模のCPUを用いて簡易な復号アルゴリズムの演算を行うものでもよい。復号化回路23aによって復号されたコマンドは、コマンド判別・読出回路23bに入力されて実行される。
コマンド判別・読出回路23bは、復号されたコマンドを判別して、当該コマンドの種類に応じた動作を行う機能を有する。具体的には、情報処理装置10から供給されかつ復号化回路23aによって復号されたコマンドが暗号鍵元データの読出コマンドである場合は、暗号鍵元データ記憶部24に読出信号と当該記憶部24に割り当てられた読出アドレスを出力して、当該記憶部24から暗号鍵元データを読み出させる。また、復号化回路23aから与えられたコマンドがデータ記憶部21の読出コマンドの場合は、当該読出コマンドから読出命令コードと読出アドレスデータを抽出して、読出信号と読出アドレスデータをデータ記憶部21に与えて、データ記憶部21に記憶されているデータを読み出す。さらに、データ記憶部21が書き込み読出し可能なメモリ(例えばフラッシュメモリ)であって、復号化回路23aから与えられたコマンドがデータ記憶部21への書込コマンドの場合は、当該書込コマンドから書込命令コードと書込アドレスデータを抽出して、書込信号と書込アドレスデータをデータ記憶部21に与えて、その後で情報処理装置10から供給される書込データをデータ記憶部21に書き込む。この場合は、コマンド判別・読出回路23bは、コマンド判別・書込回路として働くことになる。
暗号鍵元データ記憶部24は、情報処理装置10によってコマンドを暗号化する場合の暗号鍵データを生成するための元(又は種)となる暗号鍵元データを記憶する記憶部であり、比較的短いデータ長さ(例えば数バイトから数十バイト)のデータを記憶する。この暗号鍵元データ記憶部24には、半導体メモリ20から見て外部機器である情報処理装置10から直接アクセス可能なメモリ空間が割り当てられる。
復号鍵データ記憶部25は、情報処理装置10から半導体メモリ20の記憶データを読み出す際に供給(又は入力)される暗号化コマンドを復号して、元のコマンドを得るための復号鍵データを記憶している。この復号鍵データ記憶部25は、外部から直接アクセスすることができないメモリ空間に割り当てられ、復号化回路23aによってのみ読み出し可能に構成される。また、復号鍵データ記憶部25に記憶される復号鍵データは、暗号鍵元データ記憶部24に記憶されている暗号鍵元データとペアのデータであって、そのデータ長さが暗号鍵元データよりも十倍以上長く選ばれる。その理由は、暗号鍵元データとペアになるように定められた復号鍵データでなければ、情報処理装置10から与えられる暗号化コマンドを復号できないようにして、データ記憶部21の機密保護を確保するとともに、機密保護の強度を高めるためである。また、復号鍵データのデータ長さが暗号鍵元データのデータ長さよりも長く選ばれているのは、一般に鍵データ長さの長い方がセキュリティ強度を高くすることができるためである。一方、暗号鍵元データのデータ長さを長くして、そのまま暗号鍵データとして利用すると、半導体メモリ20の外部から不正に暗号鍵データを取り出すことができ、セキュリティ強度の低下を招く。そのため、半導体メモリ20の中に記憶している暗号鍵元データは暗号鍵データを生成するための元又は種となるデータ長さ(ワード長さ)の短いデータとし、たとえ暗号鍵元データを解析されても暗号鍵データを生成することを困難なものとしている。
上述の説明では、半導体メモリ20に含まれる各回路部分は、1チップのメモリに集積化された場合を説明したが、この発明の技術思想はこのような実施形態に限定されるものではなく、データ記憶部21を汎用のマスクROM等で構成し、その他の回路部分を別の回路部品で構成しても良い。その場合でも、暗号化コマンドを用いているので、データ記憶部21に記憶されているデータの機密保護が図れる。
半導体メモリ20の製造段階において、暗号鍵元データ記憶部24に格納する暗号鍵元データを変更することが可能である。そして、暗号鍵元データを変更すれば、これに対応する復号鍵データも変更されることとなる。そのため、例えば、データ記憶部21に記憶されるプログラムやデータ等の種類ごとに、異なる暗号鍵元データと復号鍵データを用いれば、半導体メモリ20と情報処理装置10との間のデータのやりとりを観測して得たコマンドも、暗号鍵元データと復号鍵データのペアの鍵に関するデータが変化するので、第三者の解析を困難にし、半導体メモリ20のセキュリティ強度を一層向上させることができる。
また、半導体メモリ20は、本実施形態で説明する各種機能および動作の実現のために、従来製品と異なる複雑な構成や処理を必要としない。そのため、CPUを処理手段として利用する場合や、従来製品に比べて大幅なコストの上昇を伴うことがない。
<情報処理装置>
情報処理装置10は、処理手段の一例のCPU11を含む。CPU11には、一時記憶部12及び入出力端子13が接続されるとともに、この実施形態固有の回路部分として、暗号生成データ記憶部14と暗号鍵データ生成部15と暗号化回路16とが接続される。一時記憶部12は、データを書込み読出し可能なメモリ、例えばRAMのような半導体メモリ又はハードディスク等が用いられる。この一時記憶部12は、半導体メモリ20から読み出された暗号鍵元データを記憶する記憶領域と、暗号鍵元データを用いて生成された暗号鍵データを記憶する記憶領域と、半導体メモリ20のデータ記憶部21から読み出されたデータ(例えばブロック単位のデータ)を記憶する読込データ記憶領域と、その他のワーキングデータの記憶領域とを含む。一時記憶部12の各記憶領域は、情報処理装置10の外部からデータ読出し可能なメモリ空間に割り当てられる。
入出力端子13は、半導体メモリ20の入出力端子22と電気的に接続される接続端子又はコネクタであり、入出力端子22の端子数と同じ端子数であって同じピン配置(又はピン間隔)に選ばれる。入出力端子13には、CPU11のアドレスバスとデータバスが接続されるとともに、暗号化回路16のコマンドバスが並列的に接続される。入出力端子13は、好ましくは、アドレスバスとデータバス及び/又はコマンドバスを共用して端子数を少なくするために、所定ビット数の端子を用いてアドレスバス・データバスとコマンドバスを時分割的に使用しても良い。
暗号生成データ記憶部14は、半導体メモリ20の暗号鍵元データ記憶部24から読み出された暗号鍵元データを用いて、暗号鍵データを生成するための暗号鍵データ生成プログラムを記憶している。暗号生成データ記憶部14は、情報処理装置10の外部からアクセスできないメモリ空間に割り当てられる。そして、暗号鍵データ生成部15は、一時記憶部12に記憶されている暗号鍵元データと暗号生成データ記憶部14に記憶されている暗号鍵データ生成プログラムとを使って所定の演算処理を行うことにより、暗号鍵データを生成し、その暗号鍵データを一時記憶部12の暗号鍵データ記憶領域へ書き込む。このようにして、暗号鍵元データよりも長いデータ長さの暗号鍵データが情報処理装置10内で生成されて、一時記憶部12に記憶されるので、半導体メモリ20側に暗号鍵データを記憶させる場合に比べて、暗号鍵データの解析を困難にしている。ここで、暗号鍵データ生成部15によって生成された暗号鍵データは、半導体メモリ20側の復号鍵データと所定の関係を有するデータ(例えば同一のデータ)であり、一種の共通鍵となる。
ところで、前述のようにして生成された暗号鍵データは、CPU11が演算処理を実行してコマンドを発生し、半導体メモリ20の記憶データを読み出す必要のある限り、一時記憶部12の所定の記憶領域に記憶保持されるが、コマンドの出力を休止又は停止したとき等に、必要に応じて消去しても良い。暗号鍵データを適宜のタイミングで消去すれば、暗号鍵データを情報処理装置10の外部から読み出される危険性を低減できる。例えば、データ記憶部21からのデータの読み出しは、ある程度まとまった単数又は複数のブロック単位で読み出して、一時記憶部12に格納させておき、そのブロックのデータを処理している間は半導体メモリ20にアクセスしない場合であれば、その間に暗号鍵データを消去しておいても良い。そして、当該ブロックのプログラム処理が終了後、再び半導体メモリ20のデータを読み出す場合は、先に読み出した暗号鍵元データを用いて再度暗号鍵データを生成すれば良い。このように、暗号鍵データが一時記憶部12に記憶されている期間を短縮すれば、暗号鍵データを不正に読み出されることを防止できる。
暗号化回路16は、一時記憶部14から読み出された暗号鍵キーデータを利用して、CPU11から出力される半導体メモリ20に供給するためのコマンドに所定の演算処理を施すことによって、暗号化コマンドを生成する。ここで、暗号化コマンドは、命令コードとアドレスデータとからなり、1つのコマンドが複数バイトで構成される。暗号化回路16によって暗号化された暗号化コマンドは、入出力端子13及び半導体メモリ20側の入出力端子22を介して復号化回路23aに供給される。すなわち、情報処理装置10の暗号化回路16と半導体メモリ20側の復号化回路23aとは対応関係にあり、暗号化回路16によって暗号化されたコマンドが、復号化回路23aによって同じ鍵データを用いて復号される。
言い換えれば、暗号鍵データ生成部15が暗号鍵元データを用いて暗号鍵データ生成プログラムに第1段階の暗号化処理を行って暗号鍵データを作り、暗号化回路16が暗号鍵データを用いてコマンドを暗号化する第2段階の暗号化処理を行っていると考えることもできる。
ところで、上述の実施態様では、暗号鍵データ生成部15と暗号化回路16をハードウェアウェアとしての回路で構成した場合を説明したが、暗号鍵データ生成部15と暗号化回路16の処理又は機能をプログラムによって実現し、そのプログラムをCPU11に処理させることによって、ソフトウェア的に暗号鍵データの生成と、コマンドの暗号化を行わせても良い。
このように、情報処理装置10が、暗号鍵データを固定的に持たず、半導体メモリ20から読み出されたデータ長さの短い暗号鍵元データ(又は暗号鍵データ)を用いて、暗号鍵データを生成しているため、外部から暗号鍵データを読み取ること、しいては解析が困難となり、結果として半導体メモリ20の記憶データの機密保護を図ることができる。しかも、暗号鍵データの暗号生成に用いるデータは、外部からアクセスできない暗号生成データ記憶部14に記憶されているので、たとえ暗号鍵元データを取得できても、暗号鍵データを生成することはできず、半導体メモリ20の記憶データの機密性を確保できる。
<メモリ情報保護システムの動作>
図2および図3は、メモリ情報保護システム1の動作を説明するためのフローチャートである。図2および図3のフローチャートは、左側に情報処理装置10の動作の流れ(ステップ101〜113)、右側に半導体メモリ20の動作の流れ(ステップ201〜211)を示す。
但し、半導体メモリ20は、CPUのような処理手段を含むものではなく、ハードウェアとしての回路による動作であるが、情報処理装置10の動作の流れに対応させて便宜的にフローで示したものであることを指摘しておく。
次に、図1〜図3を参照して、メモリ情報保護システム1の具体的な動作示を説明する。
予め、半導体メモリ20が情報処理装置10に装着されて、それぞれの入出力端子13と入出力端子22が電気的に接続される。そして、情報処理装置10の電源が投入されると、情報処理装置10が起動するとともに、電源が半導体メモリ20に供給されて、システムとしての動作が開始する。
まず、ステップ(図2では「S」と略記する)101において、CPU11が暗号鍵元データ記憶部24の読出コマンド(読出命令コードと読出アドレスデータを含むコマンド)を発生して、半導体メモリ20に与える。このときの読出コマンドは、暗号化されていないままである。これに応じて、コマンド判別・読出回路23bは供給されたコマンドが暗号鍵元データ記憶部24の読出コマンドであることを判別し、当該記憶部24に対して読出信号と読出アドレスデータを与える(ステップ201)。暗号鍵元データ記憶部24は、暗号鍵元データを読み出して、情報処理装置10へ与える(ステップ202)。
CPU11は、ステップ102において暗号鍵元データの入力のあったことを判断すると、ステップ103において入力された暗号鍵元データを一時記憶部12の暗号鍵元データ記憶領域に書き込み、一時記憶させる。ステップ104において、CPU11は暗号鍵元データと暗号生成データ記憶部14に記憶されている暗号鍵データ生成プログラムとに基づいて、演算処理を行って、暗号鍵データを生成する。ステップ105において、生成された暗号鍵データが一時記憶部12の暗号鍵データ記憶領域に書き込まれ、一時記憶される。
続いて、ステップ106において、CPU11は半導体メモリ20へ供給すべきコマンドを発生する。ステップ107において、CPU11は一時記憶部12に記憶されている暗号鍵データを用いて当該コマンド(元コマンドともいう)を暗号化する(又は暗号化回路16が暗号鍵データを用いてコマンドを暗号化する)。ステップ108において、暗号化コマンドが出力されて、半導体メモリ20に供給される。そして、CPU11は、ステップ109において、半導体メモリ20からの読出データがあるまで待機する。
半導体メモリ20は、暗号化コマンドの入力に応じて以下の動作を行う(但し、フローチャートに示す判断ステップの部分は、説明の便宜のために記載したもので、実際にはソフト処理ではなく、ハード的に処理するものである)。すなわち、暗号化コマンドの入力のあることに応じて(ステップ203)、復号化回路23aは復号鍵データを用いて暗号化コマンドを復号する(ステップ204)。コマンド判別・読出回路23bは復号後のコマンドを判別する(ステップ205)。復号後のコマンドが読出コマンドであるとき(ステップ206)、コマンド判別・読出回路23bは読出コマンドから読出命令コードと読出アドレスデータを抽出し、読出信号と読出アドレスデータをデータ記憶部21に与える(ステップ207)。これに応じて、データ記憶部21は、指定された読出アドレスに記憶しているデータを読み出す。ここで、データ記憶部21の読出制御方法は、情報処理装置10から1番地毎に読出コマンドを与える方法と、ブロック単位の読出コマンド(例えば、ブロック番号毎又はブロック番号N番〜M番等)を与える方法がある。この実施例では、ブロック単位の読出しを説明する。その場合は、読出コマンドに含まれる読出アドレスとして、ブロック番号(当該ブロックの先頭番地;上位ビットでブロックを指定)が与えられることになる。そのため、指定されたブロック番号に対応する記憶領域の各番地に記憶されているデータが、データ記憶部21から順次読み出される。
一方、CPU11は、ステップ109において半導体メモリ20の読出データのあることを判断し、ステップ110において当該読出データを一時記憶部12に記憶させる。そして、ステップ111において、指定したデータ長さのデータ読み出しがあったか否かが判断され、指定したデータ長さのデータ読み出しが終了するまでステップ109から111の処理が繰り返される。その結果として、指定した全てのデータが読み出されて、一時記憶部12に記憶される。その後、ステップ112において、半導体メモリ20のデータ読出しが終了したか否か、言い換えれば必要なデータ量のメモリ読出しが終了したか否かが判断され、終了していなければステップ109へ戻り、終了すればステップ113へ進む。ステップ113において、一時記憶部12に記憶されている暗号鍵データが消去される。その後、CPU11は、半導体メモリ20から読み出したデータに基づいて、当該データの本来的な使用目的のための処理を行う。
なお、上述の半導体メモリ20側の読出コマンドか否かの判別(ステップ206)において読出コマンドでなく、読出コマンド以外のコマンドであり、かつメモリ制御に関連する本来的なコマンドであれば(ステップ209)、本来的なコマンドに基づく処理又は動作が行われる(ステップ210)。一方、本来的なコマンドでもない場合(ステップ209)は、動作を停止する(ステップ211)。これによって、不正な読出し等のためのコマンドが与えられた場合は、動作を停止し、データ記憶部21のデータ読み出しを禁止し、データの機密保護を図ることができる。
ところで、暗号鍵データを消去した後に、再度半導体メモリ20の記憶データの読出しを再開する必要が生じた場合は、上述のステップ104へ戻って、暗号鍵データの生成処理を行い、それ以降の処理を繰り返すことになる。なお、暗号鍵データの不正読出しのリスクを考慮しないのであれば、上述のステップ113の処理を省略しても良い。
この発明の一の実施の形態に係るメモリ情報保護システムを示す図である。 この発明の一の実施の形態に係るメモリ情報保護システムの動作を示すフローチャートである。 この発明の一の実施の形態に係るメモリ情報保護システムの動作を示すフローチャートである。
符号の説明
1 メモリ情報保護システム
10 情報処理装置
11 CPU
12 一時記憶部
13 入出力端子
14 暗号生成データ記憶部
15 暗号鍵データ生成部
16 暗号化回路
20 情報半導体メモリ
21 データ記憶部
22 入出力端子
23 メモリ制御回路
23a 復号回路
23b コマンド判別・読出回路
24 暗号鍵元データ記憶部
25 復号鍵データ記憶部

Claims (7)

  1. 情報処理装置と情報処理装置に対して着脱自在に装着される半導体メモリとから構成されるメモリ情報保護システムであって、
    前記半導体メモリは、
    保護すべきプログラムを含むデータを記憶し、前記情報処理装置によってアクセスされるデータ記憶手段、
    前記情報処理装置から命令コードならびにアドレスデータからなるコマンドが与えられ、かつ前記データ記憶手段から読み出されたデータを情報処理装置に与えるための第1の入出力端子部、
    復号鍵データに対して共通鍵の関係にある暗号鍵データを生成するための元になる暗号鍵元データを記憶する暗号鍵元データ記憶部、
    前記復号鍵データを、情報処理装置からアクセスできない態様で記憶する復号鍵データ記憶手段、および
    前記情報処理装置から与えられる暗号化コマンドを、前記復号鍵データを用いて復号する復号手段を含む、メモリ制御手段を備え、
    前記情報処理装置は、
    前記半導体メモリの第1の入出力端子部が接続され、命令コードならびにアドレスデータからなるコマンドを出力し、かつ半導体メモリから読み出されたデータが入力される第2の入出力端子部、
    前記半導体メモリから読み出されたデータを処理し、かつ半導体メモリに与えるコマンドを発生する処理手段、
    前記復号鍵データに対して共通鍵の関係にある前記暗号鍵データを生成するための暗号鍵データ生成プログラムを記憶する暗鍵データ生成プログラム記憶手段、
    前記暗号鍵元データ記憶部から読み出された前記暗号鍵元データと前記暗号鍵データ生成プログラムを使って所定の演算処理を行うことにより、前記暗号鍵元データよりもデータ長が長い前記暗号鍵データを生成する暗号鍵データ生成手段、
    前記暗号鍵データ生成手段によって生成された暗号鍵データを一時記憶する一時記憶手段、および
    前記処理手段によって発生されるコマンドを、前記暗号鍵データを用いて暗号化した暗号化コマンドを生成し、当該暗号化コマンドを前記第2の入出力端子部へ出力する暗号化手段を備え、
    前記メモリ制御手段は、さらに前記復号手段によって復号されたコマンドを用いて前記データ記憶手段に記憶されているデータを読出し制御し、
    前記暗号鍵データ生成プログラム記憶手段は、前記情報処理装置の外部から前記第2の入出力端子部を介してアクセスできないメモリ空間として配置される、メモリ情報保護システム。
  2. 情報処理装置と情報処理装置に対して着脱自在に装着される半導体メモリとから構成されるメモリ情報保護システムであって、
    前記半導体メモリは、
    保護すべきプログラムを含むデータを記憶し、前記情報処理装置によってアクセスされるデータ記憶手段、
    前記情報処理装置から命令コードならびにアドレスデータからなるコマンドが与えられ、かつ前記データ記憶手段から読み出されたデータを情報処理装置に与えるための第1の入出力端子部、
    復号鍵データに対して共通鍵の関係にある暗号鍵データを生成するための元になる暗号鍵元データを記憶する暗号鍵元データ記憶部、
    前記復号鍵データを、情報処理装置からアクセスできない態様で記憶する復号鍵データ記憶手段、および
    前記情報処理装置から与えられる暗号化コマンドを、前記復号鍵データを用いて復号する復号手段を含む、メモリ制御手段を備え、
    前記情報処理装置は、
    前記半導体メモリの第1の入出力端子部が接続され、命令コードならびにアドレスデータからなるコマンドを出力し、かつ半導体メモリから読み出されたデータが入力される第2の入出力端子部、
    前記半導体メモリから読み出されたデータを処理し、かつ半導体メモリに与えるコマンドを発生する処理手段、
    前記復号鍵データに対して共通鍵の関係にある前記暗号鍵データを生成するための暗号鍵データ生成プログラムを記憶する暗号鍵データ生成プログラム記憶手段、
    前記暗号鍵元データ記憶部から読み出された前記暗号鍵元データと前記暗号鍵データ生成プログラムとを使って所定の演算処理を行うことにより、前記暗号鍵元データよりもデータ長が長い前記暗号鍵データを生成する暗号鍵データ生成手段、
    前記暗号鍵データ生成手段によって生成された暗号鍵データを一時記憶する一時記憶手段、および
    前記処理手段によって発生されるコマンドを、前記暗号鍵データを用いて暗号化した暗号化コマンドを生成し、当該暗号化コマンドを前記第2の入出力端子部へ出力する暗号化手段を備え、
    前記メモリ制御手段は、さらに前記復号手段によって復号されたコマンドを用いて前記データ記憶手段に記憶されているデータを読出し制御し、
    前記暗号鍵元データ記憶部に記憶されている前記暗号鍵元データと前記復号鍵データ記憶手段に記憶されている前記復号鍵データは、前記データ記憶手段に記憶されるプログラムの種類によって異なる、メモリ情報保護システム。
  3. 情報処理装置と情報処理装置に対して着脱自在に装着される半導体メモリとから構成されるメモリ情報保護システムであって、
    前記半導体メモリは、
    保護すべきプログラムを含むデータを記憶し、前記情報処理装置によってアクセスされるデータ記憶手段、
    前記情報処理装置から命令コードならびにアドレスデータからなるコマンドが与えられ、かつ前記データ記憶手段から読み出されたデータを情報処理装置に与えるための第1の入出力端子部、
    復号鍵データに対して共通鍵の関係にある暗号鍵データを生成するための元になる暗号鍵元データを記憶する暗号鍵元データ記憶部、
    前記復号鍵データを、情報処理装置からアクセスできない態様で記憶する復号鍵データ記憶手段、および
    前記情報処理装置から与えられる暗号化コマンドを、前記復号鍵データを用いて復号する復号手段を含む、メモリ制御手段を備え、
    前記情報処理装置は、
    前記半導体メモリの第1の入出力端子部が接続され、命令コードならびにアドレスデータからなるコマンドを出力し、かつ半導体メモリから読み出されたデータが入力される第2の入出力端子部、
    前記半導体メモリから読み出されたデータを処理し、かつ半導体メモリに与えるコマンドを発生する処理手段、
    前記復号鍵データに対して共通鍵の関係にある前記暗号鍵データを生成するための暗号鍵データ生成プログラムを記憶する暗号鍵データ生成プログラム記憶手段、
    前記暗号鍵元データ記憶部から読み出された前記暗号鍵元データと前記暗号鍵データ生成プログラムとを使って所定の演算処理を行うことにより、前記暗号鍵元データよりもデータ長が長い前記暗号鍵データを生成する暗号鍵データ生成手段、
    前記暗号鍵データ生成手段によって生成された暗号鍵データを一時記憶する一時記憶手段、および
    前記処理手段によって発生されるコマンドを、前記暗号鍵データを用いて暗号化した暗号化コマンドを生成し、当該暗号化コマンドを前記第2の入出力端子部へ出力する暗号化手段を備え、
    前記メモリ制御手段は、さらに前記復号手段によって復号されたコマンドを用いて前記データ記憶手段に記憶されているデータを読出し制御し、
    前記処理手段は、前記暗号化手段によって所望の量の暗号化コマンドが出力された後、前記一時記憶手段に記憶されている暗号鍵データを消去する、メモリ情報保護システム。
  4. CPUを含む情報処理装置と、情報処理装置に対して着脱自在に装着される半導体メモリとから構成される情報処理システムにおけるメモリ情報の保護方法であって、
    前記半導体メモリは、
    保護すべきプログラムを含むデータを記憶するデータ記憶手段、
    命令ならびにアドレスデータからなるコマンドが前記情報処理装置から与えられ、かつ前記データ記憶手段から読み出されたデータを情報処理装置に与えるための第1の入出力端子部、
    復号鍵データに対して共通鍵の関係にある暗号鍵データを生成するための元になる暗号鍵元データを記憶する暗号鍵元データ記憶部、
    前記復号鍵データを、前記情報処理装置によってアクセスできない態様で記憶する復号鍵データ記憶手段、および
    前記情報処理装置から与えられる暗号化コマンドを、前記復号鍵データを用いて復号する復号手段を含む、メモリ制御手段を備え、
    前記情報処理装置は、
    前記半導体メモリの第1の入出力端子部が接続され、命令ならびにアドレスデータからなるコマンドを出力しかつ半導体メモリから読み出されたデータが入力される第2の入出力端子部、
    前記半導体メモリから読み出されたデータを処理し、かつ半導体メモリに与えるコマンドを発生する処理手段、
    前記復号鍵データに対して共通鍵の関係にある前記暗号鍵データを生成するための暗号鍵データ生成プログラムを記憶する暗号鍵データ生成プログラム記憶手段、および
    前記暗号鍵データを一時記憶する一時記憶手段を備え、
    さらに、前記CPUは、
    前記暗号鍵元データと前記暗号鍵データ生成プログラムとを使って所定の演算処理を行うことにより、前記暗号鍵元データよりもデータ長が長い前記暗号鍵データを生成する第1のステップと、
    前記第1のステップにおいて生成された暗号鍵データを、前記一時記憶手段に一時記憶させる第2のステップと、
    前記処理手段によって発生されるコマンドを、前記暗号鍵データを用いて暗号化した暗号化コマンドを発生し、前記第2の入出力端子部へ出力する第3のステップを順次実行し、
    前記メモリ制御手段は、
    前記復号鍵データを用いて前記コマンドを復号する第4のステップと、
    前記第4のステップにおいて復号した前記コマンドが読出コードであるとき、当該コマンドに含まれるアドレスデータを前記データ記憶手段に与えて、データ記憶手段のデータを読み出す第5のステップを順次実行し、
    前記暗号鍵データ生成プログラム記憶手段は、前記情報処理装置の外部から前記第2の入出力端子部を介してアクセスできないメモリ空間として配置される、メモリ情報の保護方法
  5. CPUを含む情報処理装置と、情報処理装置に対して着脱自在に装着される半導体メモリとから構成される情報処理システムにおけるメモリ情報の保護方法であって、
    前記半導体メモリは、
    保護すべきプログラムを含むデータを記憶するデータ記憶手段、
    命令ならびにアドレスデータからなるコマンドが前記情報処理装置から与えられ、かつ前記データ記憶手段から読み出されたデータを情報処理装置に与えるための第1の入出力端子部、
    復号鍵データに対して共通鍵の関係にある暗号鍵データを生成するための元になる暗号鍵元データを記憶する暗号鍵元データ記憶部、
    前記復号鍵データを、前記情報処理装置によってアクセスできない態様で記憶する復号鍵データ記憶手段、および
    前記情報処理装置から与えられる暗号化コマンドを、前記復号鍵データを用いて復号する復号手段を含む、メモリ制御手段を備え、
    前記情報処理装置は、
    前記半導体メモリの第1の入出力端子部が接続され、命令ならびにアドレスデータからなるコマンドを出力しかつ半導体メモリから読み出されたデータが入力される第2の入出力端子部、
    前記半導体メモリから読み出されたデータを処理し、かつ半導体メモリに与えるコマンドを発生する処理手段、
    前記復号鍵データに対して共通鍵の関係にある前記暗号鍵データを生成するための暗号鍵データ生成プログラムを記憶する暗号鍵データ生成プログラム記憶手段、および
    前記暗号鍵データを一時記憶する一時記憶手段を備え、
    さらに、前記CPUは、
    前記暗号鍵元データと前記暗号鍵データ生成プログラムとを使って所定の演算処理を行うことにより、前記暗号鍵元データよりもデータ長が長い前記暗号鍵データを生成する第1のステップと、
    前記第1のステップにおいて生成された暗号鍵データを、前記一時記憶手段に一時記憶させる第2のステップと、
    前記処理手段によって発生されるコマンドを、前記暗号鍵データを用いて暗号化した暗号化コマンドを発生し、前記第2の入出力端子部へ出力する第3のステップを順次実行し、
    前記メモリ制御手段は、
    前記復号鍵データを用いて前記コマンドを復号する第4のステップと、
    前記第4のステップにおいて復号した前記コマンドが読出コードであるとき、当該コマンドに含まれるアドレスデータを前記データ記憶手段に与えて、データ記憶手段のデータを読み出す第5のステップを順次実行し、
    前記暗号鍵元データ記憶部に記憶されている前記暗号鍵元データと前記復号鍵データ記憶手段に記憶されている前記復号鍵データは、前記データ記憶手段に記憶されるプログラムの種類によって異なる、メモリ情報の保護方法。
  6. CPUを含む情報処理装置と、情報処理装置に対して着脱自在に装着される半導体メモリとから構成される情報処理システムにおけるメモリ情報の保護方法であって、
    前記半導体メモリは、
    保護すべきプログラムを含むデータを記憶するデータ記憶手段、
    命令ならびにアドレスデータからなるコマンドが前記情報処理装置から与えられ、かつ前記データ記憶手段から読み出されたデータを情報処理装置に与えるための第1の入出力端子部、
    復号鍵データに対して共通鍵の関係にある暗号鍵データを生成するための元になる暗号鍵元データを記憶する暗号鍵元データ記憶部、
    前記復号鍵データを、前記情報処理装置によってアクセスできない態様で記憶する復号鍵データ記憶手段、および
    前記情報処理装置から与えられる暗号化コマンドを、前記復号鍵データを用いて復号する復号手段を含む、メモリ制御手段を備え、
    前記情報処理装置は、
    前記半導体メモリの第1の入出力端子部が接続され、命令ならびにアドレスデータからなるコマンドを出力しかつ半導体メモリから読み出されたデータが入力される第2の入出力端子部、
    前記半導体メモリから読み出されたデータを処理し、かつ半導体メモリに与えるコマンドを発生する処理手段、
    前記復号鍵データに対して共通鍵の関係にある前記暗号鍵データを生成するための暗号鍵データ生成プログラムを記憶する暗号鍵データ生成プログラム記憶手段、および
    前記暗号鍵データを一時記憶する一時記憶手段を備え、
    さらに、前記CPUは、
    前記暗号鍵元データと前記暗号鍵データ生成プログラムとを使って所定の演算処理を行うことにより、前記暗号鍵元データよりもデータ長が長い前記暗号鍵データを生成する第1のステップと、
    前記第1のステップにおいて生成された暗号鍵データを、前記一時記憶手段に一時記憶させる第2のステップと、
    前記処理手段によって発生されるコマンドを、前記暗号鍵データを用いて暗号化した暗号化コマンドを発生し、前記第2の入出力端子部へ出力する第3のステップを順次実行し、
    前記メモリ制御手段は、
    前記復号鍵データを用いて前記コマンドを復号する第4のステップと、
    前記第4のステップにおいて復号した前記コマンドが読出コードであるとき、当該コマンドに含まれるアドレスデータを前記データ記憶手段に与えて、データ記憶手段のデータを読み出す第5のステップを順次実行し、
    前記CPUは、前記第3のステップによって所望の量の暗号化コマンドが出力された後、前記一時記憶手段に記憶されている暗号鍵データを消去する第6のステップを実行する、メモリ情報の保護方法。
  7. 暗号鍵データを用いて命令コードならびにアドレスデータからなる暗号化コマンドを発生するための情報処理装置に対して、着脱自在に装着される半導体メモリであって、
    前記情報処理装置によってアクセス可能なメモリ空間に割り当てられ、保護すべきプログラムを含むデータを記憶するデータ記憶手段と、
    前記情報処理装置によってアクセスできないメモリ空間に割り当てられ、前記情報処理装置から供給される暗号化コマンドの復号化に必要な復号鍵データを記憶する復号鍵データ記憶手段と、
    前記情報処理装置によってアクセス可能な空間に割り当てられ、前記復号鍵データに対して共通鍵の関係にある暗号鍵データを前記情報処理装置が生成するための元になる暗号鍵元データを記憶する暗号鍵元データ記憶部と、
    前記情報処理装置から供給される前記暗号化コマンドを、前記復号鍵データを用いて復号化する復号化手段と、
    前記復号化手段によって復号されたコマンドに含まれる命令コードが読出命令コードであることを判断したときは、読出信号を前記データ記憶手段に与えるとともに、当該コマンドに含まれるアドレスデータを読出アドレスとして前記データ記憶手段に与えることにより、前記データ記憶手段の記憶データを読出制御する読出手段と、
    を備え、
    前記暗号鍵元データのデータ長よりも、前記暗号鍵データのデータ長の方が長く、
    前記暗号鍵元データ記憶部に記憶される暗号鍵元データと前記復号鍵データ記憶手段に記憶される前記復号鍵データは、前記データ記憶手段に記憶される前記プログラムの種類によって、異なることを特徴とする半導体メモリ。
JP2004336418A 2004-11-19 2004-11-19 メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ Active JP4119882B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004336418A JP4119882B2 (ja) 2004-11-19 2004-11-19 メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ
US11/204,362 US8015416B2 (en) 2004-11-19 2005-08-16 Memory information protection system and methods
EP05772620A EP1830240A4 (en) 2004-11-19 2005-08-22 MEMORY INFORMATION PROTECTION SYSTEM, SEMICONDUCTOR MEMORY, AND METHOD FOR PROTECTING INFORMATION IN MEMORY
CNB2005800001728A CN100405335C (zh) 2004-11-19 2005-08-22 存储器信息保护系统、半导体存储器及存储器信息的保护方法
PCT/JP2005/015197 WO2006054380A1 (ja) 2004-11-19 2005-08-22 メモリ情報保護システム、半導体メモリおよびメモリ情報の保護方法
TW094128578A TWI286688B (en) 2004-11-19 2005-08-22 Memory information protection system, semiconductor memory and method of protecting memory information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004336418A JP4119882B2 (ja) 2004-11-19 2004-11-19 メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ

Publications (2)

Publication Number Publication Date
JP2006146608A JP2006146608A (ja) 2006-06-08
JP4119882B2 true JP4119882B2 (ja) 2008-07-16

Family

ID=36406926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004336418A Active JP4119882B2 (ja) 2004-11-19 2004-11-19 メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ

Country Status (5)

Country Link
EP (1) EP1830240A4 (ja)
JP (1) JP4119882B2 (ja)
CN (1) CN100405335C (ja)
TW (1) TWI286688B (ja)
WO (1) WO2006054380A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006147024A (ja) * 2004-11-18 2006-06-08 Takashi Oshikiri 半導体メモリおよび半導体メモリのテスト方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5182787B2 (ja) * 2007-04-12 2013-04-17 株式会社メガチップス メモリシステム、メモリカード及びコンピュータシステム
JP5055490B2 (ja) * 2008-04-14 2012-10-24 株式会社メガチップス 半導体メモリ装置
CN101673248B (zh) * 2008-09-10 2012-06-13 群联电子股份有限公司 存储系统、控制器与数据保护方法
JP5319238B2 (ja) 2008-10-29 2013-10-16 真二 栗本 情報処理システム、情報処理装置、情報処理方法、および情報処理プログラム
CN101739757B (zh) * 2008-11-17 2012-11-21 群联电子股份有限公司 快闪存储器存储系统、控制器与数据保护方法
JP5017439B2 (ja) * 2010-09-22 2012-09-05 株式会社東芝 暗号演算装置及びメモリシステム
JP6005391B2 (ja) * 2012-05-01 2016-10-12 株式会社半導体エネルギー研究所 半導体装置
CN106599735B (zh) * 2017-02-13 2023-10-24 珠海格力电器股份有限公司 数据保护装置、方法以及存储控制器
US20190042781A1 (en) * 2017-08-04 2019-02-07 Bitdefender IPR Management Ltd. Secure Storage Device
US10965456B2 (en) * 2017-09-25 2021-03-30 The Boeing Company Systems and methods for facilitating data encryption and decryption and erasing of associated information

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0114522A3 (en) * 1982-12-27 1986-12-30 Synertek Inc. Rom protection device
JPH0397089A (ja) * 1989-09-11 1991-04-23 Matsushita Electric Ind Co Ltd Icカードのアクセス制御方法
US5483596A (en) * 1994-01-24 1996-01-09 Paralon Technologies, Inc. Apparatus and method for controlling access to and interconnection of computer system resources
JPH08328962A (ja) * 1995-05-31 1996-12-13 Mitsubishi Electric Corp 端末機と、当該端末機に接続されるメモリカードからなるシステム
US5802175A (en) * 1996-09-18 1998-09-01 Kara; Salim G. Computer file backup encryption system and method
CN100426263C (zh) * 1998-10-16 2008-10-15 松下电器产业株式会社 记录媒体装置和存取装置
DE69929251T2 (de) * 1999-10-20 2006-07-13 Fujitsu Ltd., Kawasaki Verschlüsselungssystem mit einem schlüssel veränderlicher länge
JP2003304237A (ja) * 2002-04-10 2003-10-24 C4 Technology Inc 共通鍵生成方法、その共通鍵を用いる暗号方法および共通鍵管理方法並びに端末の固体番号による固体認証方法、並びにそれらの方法を実行するプログラム、及びそのプログラムを含む応用ソフトウェア

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006147024A (ja) * 2004-11-18 2006-06-08 Takashi Oshikiri 半導体メモリおよび半導体メモリのテスト方法
JP4630643B2 (ja) * 2004-11-18 2011-02-09 株式会社メガチップス 半導体メモリおよび半導体メモリのテスト方法
US8090958B2 (en) 2004-11-18 2012-01-03 Takashi Oshikiri Semiconductor memory and method of testing semiconductor memory

Also Published As

Publication number Publication date
EP1830240A1 (en) 2007-09-05
CN1771484A (zh) 2006-05-10
TWI286688B (en) 2007-09-11
WO2006054380A1 (ja) 2006-05-26
EP1830240A4 (en) 2009-01-14
CN100405335C (zh) 2008-07-23
TW200622623A (en) 2006-07-01
JP2006146608A (ja) 2006-06-08

Similar Documents

Publication Publication Date Title
US8015416B2 (en) Memory information protection system and methods
EP1830240A1 (en) Memory information protecting system, semiconductor memory, and method for protecting memory information
CN106599735B (zh) 数据保护装置、方法以及存储控制器
EP2728509B1 (en) Semiconductor Device and Encryption Key Writing Method
JP4865694B2 (ja) プロセッサ装置
US6158004A (en) Information storage medium and security method thereof
EP1341071A2 (en) Memory card
CN103824032A (zh) 在微控制器中用于数据安全性处理的方法和装置
JP4869337B2 (ja) データの安全な処理
JP2007304847A (ja) メモリ装置
JPWO2006118101A1 (ja) 機密情報処理用ホスト機器および機密情報処理方法
JP4592337B2 (ja) データ記憶装置
CN105939192A (zh) 数据加密的方法及装置
JP2011010218A (ja) 携帯可能電子装置、及び携帯可能電子装置の制御方法
JP2007193800A (ja) カード認証システムのセキュリティレベルを向上させる装置及び方法
CN110309083B (zh) 一种存储器数据加扰方法
CN113343215A (zh) 嵌入式软件的授权和认证方法及电子设备
JP3034118B2 (ja) Icカードシステム及びicカード
TWI509457B (zh) 資料儲存裝置以及其資料保護方法
JP2008003774A (ja) マイクロコンピュータ
JPH1055273A (ja) ソフトウェア保護装置
JPS63211049A (ja) 携帯可能電子装置
JP5269661B2 (ja) 携帯可能電子装置、及び携帯可能電子装置の制御方法
JPH06195268A (ja) Icメモリカード及びそのデータ保護方法及び装置
JPH0644142A (ja) Icカードおよび情報処理装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071018

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071029

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071018

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080305

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: 20080422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080425

R150 Certificate of patent or registration of utility model

Ref document number: 4119882

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150502

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250