説明

記憶装置

【課題】記憶部に格納されるデータについてセキュリティを強化できる記憶装置を提供する。
【解決手段】入出力部12より入力された入力コマンドから、パラメータCLbを抽出し、これに対応するキー情報DLbを記憶部4から読み出し、当該キー情報DLbに基づいてコマンド逆攪乱部2が、コマンドおよびアドレス情報の逆攪乱処理を行う。入力コマンドは、複数回の攪乱処理を施されている上に、入力コマンドに含まれるパラメータCMbでは、逆攪乱処理に必要なキー情報DLbを予測不可能である。また、出力するデータについてもデータ攪乱部3で攪乱処理を施している。そのため、入出力部12の通信を観測しても、その内容を解析することは困難である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば半導体メモリなどを内蔵した記憶装置に関し、特に記憶装置に格納されるデータに係るセキュリティ強化のための改良に関する。
【背景技術】
【0002】
従来の情報処理装置では、ソフトウェアプログラムやデータ等が格納された記憶装置を、画像表示部等を備えた情報処理装置に脱着自在に接続することによって、様々なソフトウェアプログラムを実行したり、データを利用したりすることが可能となっている。
【0003】
このような記憶装置では、内部に記憶されたデータの機密保護のためにセキュリティ機能を備えるものがある。例えば、特許文献1には、排他的論理和演算を利用した暗号化および復号化により通信内容の秘匿性を維持する方法が示されている。
【0004】
【特許文献1】特開2002−91828号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、上記特許文献1のように排他的論理和演算を利用する場合、専用のハードウェア等を利用すれば暗号化および復号化に要する処理時間が少なくて済むという利点を有する反面、演算自体は一般的な内容であり、第三者が、情報処理装置と記憶装置の間で行われる通信内容を観測することによって得られるセキュリテイ機能を解析するための手掛かりが多く、セキュリティ機能を比較的容易に解析されるという問題がある。そのため、特許文献1では、記憶装置毎に固有のID情報を持たせて、これを暗号化および復号化に係る処理に利用しているが、この処理を実現するために専用のハードウエアや複雑なソフトウェアプログラム等が必要となっている。
【0006】
本発明は、上記課題に鑑みてなされたものであり、従来の記憶装置の構成の変更を最小限に留めながら、記憶装置内部に格納されたデータの機密を保護する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決すべく、請求項1の発明は、情報処理装置から、入出力部を介して、コマンド情報およびアドレス情報に所定のデータ変換を施して付加情報を付加した変換コマンドを、順次入力可能な記憶装置であって、所定のデータを記憶する記憶手段と、入力された前記変換コマンドから前記付加情報を抽出し、当該付加情報に基づいて前記記憶手段からキー情報を読み出し、当該キー情報を利用した前記所定のデータ変換に対応する逆変換を変換コマンドに施して、前記コマンド情報および前記アドレス情報を抽出する抽出手段と、前記コマンド情報が所定の情報である場合にのみ、前記抽出手段で抽出された前記アドレス情報に対応する記憶データを前記記憶手段から読み出して、前記入出力部を介して出力する出力制御手段とを備えることを特徴とする。
【0008】
また、請求項2の発明は、請求項1の発明に係る記憶装置であって、前記出力制御手段は、前記記憶データに所定のデータ変換を施した変換記憶データを生成する変換手段と、前記変換記憶データを前記入出力部を介して出力させる手段とを備えることを特徴とする。
【0009】
また、請求項3の発明は、請求項1または請求項2の発明に係る記憶装置であって、前記記憶手段は、前記キー情報を格納する、前記情報処理装置からの記憶データの読み出しが不可能なキー情報領域と、前記情報処理装置の利用する前記記憶データを格納する、前記出力制御手段からの記憶データの読み出しが可能なデータ領域と、から構成されることを特徴とする。
【0010】
また、請求項4の発明は、請求項1ないし請求項3のいずれかの発明に係る記憶装置であって、前記出力制御手段は、さらに、前記コマンド情報が所定の情報でない場合には、前記記憶データと相違する相違データを前記入出力部を介して出力させる手段、を備えることを特徴とする。
【0011】
また、請求項5の発明は、請求項1ないし請求項3のいずれかの発明に係る記憶装置であって、前記出力制御手段は、さらに、前記コマンド情報が所定の情報でない場合には、前記入出力部を介したデータの出力を停止する手段、を備えることを特徴とする。
【0012】
また、請求項6の発明は、請求項1ないし請求項5のいずれかの発明に係る記憶装置であって、前記変換コマンドは、前記コマンドに対して所定回数のデータ変換を施した変換コマンドであり、前記抽出手段は、入力された前記変換コマンドからの前記付加情報の抽出と、当該付加情報に基づく前記記憶手段からのキー情報の読み出しと、変換コマンドに対する当該キー情報を利用した前記データ変換に対応する逆変換とを前記所定回数だけ繰り返して、前記コマンド情報および前記アドレス情報を抽出する手段、を含むことを特徴とする。
【発明の効果】
【0013】
請求項1に記載の発明によれば、記憶手段に抽出手段と出力制御部を付加した構成により、変換コマンドからアドレス情報等に関する情報を直接取得できない通信を実現することで、情報処理装置と記憶装置間の通信内容のセキュリティを高めることができる。
【0014】
請求項2に記載の発明によれば、記憶装置から出力するデータにもデータ変換を施すことで、さらに、情報処理装置と記憶装置間の通信内容のセキュリティを高めることができる。
【0015】
請求項3に記載の発明によれば、キー情報が外部に出力されることがないため、データ変換に関するセキュリティを高めることができ、また、キー情報に関する領域の内容のみを変更することで、データ変換の内容を容易に変換することができる。
【0016】
請求項4ないし請求項6に記載の発明によれば、悪意ある第三者の行う情報処理装置と記憶装置間の通信内容の解析作業を困難なものとすることができる。
【発明を実施するための最良の形態】
【0017】
<カートリッジの要部構成>
図1は、本発明の第1実施形態に係るメモリカートリッジ(記憶装置)1の要部構成を示す外観図である。
【0018】
メモリカートリッジ(以下では、単に「カートリッジ」という)1は、内部にソフトウェアプログラムやデータを記憶しており、情報処理装置に脱着自在に装着する構成となっている。そして、カートリッジに格納されたソフトウェアプログラムやデータを利用する情報処理装置としては、パソコン、PDA(Personal Digital Assistant)のような携帯情報端末装置、画像処理装置が該当する。その他にも様々な態様が考えられ、例えば、ゲーム用プログラムを格納したゲームカートリッジと、これを着脱自在に装着して利用するビデオゲーム機や携帯ゲーム機等にも本願発明の適用が可能であるが、以下では情報処理装置として説明する。
【0019】
カートリッジ1は、内部に半導体メモリ等を含む電気回路を備える板状の本体部11を有し、その下部には、例えば複数の端子を有する入出力部12が設けられている。そして、カートリッジ1が情報処理装置に装着され、入出力部12が情報処理装置の入出力部と電気的に接続されることにより、カートリッジ1と情報処理装置との間でデータ伝送が可能となる。
【0020】
図2は、カートリッジ1の機能ブロックを示す図である。
【0021】
カートリッジ1は、上記の入出力部12にデータ伝送可能に接続するコマンド逆攪乱部2およびデータ攪乱部3と、これらに伝送可能に接続する記憶部4と、を備えている。
【0022】
このカートリッジ1は、情報処理装置から入出力部12を介して入力されるコマンドに応じて、必要なデータを入出力部12から出力する。ここで、カートリッジ1に入力される入力コマンドは、情報処理装置において攪乱処理されたコマンド(変換コマンド)であるとともに、出力されるデータも、カートリッジ1において攪乱処理を施したものであるため、第三者がカートリッジ1に入出力される信号を観測しても、その内容を解読することは困難なものとなっている。以下では、このカートリッジ1の詳細を、各機能ブロックごとに説明する。
【0023】
コマンド逆攪乱部(抽出手段)2は、情報処理装置で攪乱処理(データ変換)された変換コマンドCMを、逆攪乱処理(逆データ変換)する機能を有する。この逆攪乱処理は、情報処理装置側で変換コマンドを生成するときの攪乱処理に対応するもので、その処理方法が予め設定されている。また、コマンド逆攪乱部2は、変換コマンドCMを、元のコマンドに復元した後、パラメータCLbを抽出し、これに基づいて記憶部4内の暗号解読テーブル領域から読み出したキー情報DLbを利用した逆攪乱処理を行って、コマンドIDおよびアドレス情報CLaを抽出する機能も有している。
【0024】
このとき、最初に行う情報処理装置の攪乱処理に対応する逆攪乱処理は、予め定められた所定のキー情報、または所定のパラメータに基づいて記憶部4内の暗号解読テーブル領域から読み出したキー情報を利用して行う。また、2回目以降に行う復元したコマンドからパラメータCLbを抽出して行う逆攪乱処理は、情報処理装置側で施された攪乱処理の回数に対応して複数回繰り返される。これらの処理の詳細については後述する。
【0025】
記憶部(記憶手段)4は、コマンド逆攪乱部2が入力コマンドからコマンドを復元する逆攪乱処理に利用するキー情報を格納する暗号解読テーブル領域(キー情報領域)と、情報処理装置で利用するソフトウェアプログラム等のデータを格納するデータ領域とから構成されている。暗号解読テーブル領域には、コマンドを復元するための逆攪乱処理に必要なキー情報が格納されており、コマンド逆攪乱部2が、これを読み出して利用する。データ領域には、各アドレスごとにデータが記憶されており、アドレス情報に対応した記憶データを取り出すことができる。データ領域から取り出された記憶データは、データ攪乱部3に伝送される。尚、ここで利用する半導体メモリは、例えば、マスクROM等の様に書き込み不可能な半導体メモリであってもよいし、フラッシュメモリ等の書き込み可能な半導体メモリであっても構わない。また、フラッシュメモリ等を利用する場合にも、その利用用途によって、揮発性のメモリであってもよいし、不揮発性のメモリを利用する態様であっても構わない。
【0026】
データ攪乱部(出力制御手段)3は、記憶部4から送られる記憶データに対して、データ攪乱処理を施して、入出力部12を介して出力する機能を有する。
【0027】
そして、入出力部12から出力されたデータは、情報処理装置に入力され、当該情報処理装置側においてデータ攪乱部3で施した攪乱処理に対応する逆攪乱処理を施し、記憶部4に格納されていたデータを復元することで、入力コマンドによって要求したデータが得られることとなる。
【0028】
尚、上述したカートリッジ1の各部の動作は、情報処理装置から入出力部12を介して供給される電源によって動作する専用のハードウェアおよびソフトウェアによって実現されている。また、コマンド逆攪乱部2およびデータ攪乱部3は、情報処理装置から供給されるイネーブル信号等を利用して、情報処理装置側の動作クロックに従って動作する。
【0029】
<カートリッジの動作>
図3は、カートリッジ1の基本的な動作を説明するためのフローチャートである。本動作は、カートリッジ1内に記憶されたソフトウェアプログラム等のデータを読み出す際の処理に相当する。以下では、図2および図3を参照しながら、カートリッジ1の動作を詳しく説明する。
【0030】
ステップS1では、情報処理装置側で攪乱処理された変換コマンドCMがカートリッジ1に入力される。この入力コマンドCMは、情報処理装置がカートリッジ1からデータを読み出す際に順次入力するもので、コマンドID(CMo)、アドレス情報CMaおよびパラメータ(付加情報)CMbを含んでる。ここで、パラメータCMbとは、コマンドID(CMo)およびアドレス情報CMaを抽出するために、入力コマンドを逆攪乱処理するときに利用するキー情報DLbを記憶部4から読み出すのに必要なインデックス情報のことをいう。尚、情報処理装置側で行う攪乱処理は1回ではなく複数回でもよいし、攪乱処理の回数は固定であってもよいし、コマンド毎に可変であっても構わない。
【0031】
これ以降のカートリッジ1での動作を具体的に説明するにあたり、まず、情報処理装置側で行われるコマンドの攪乱処理について説明する。例えば、あるアドレスからのデータの読み出しを指示するコマンドを、コマンドID(CMo)およびアドレス情報CMaを含む形で攪乱処理する。このとき施した攪乱処理を解除するには、キー情報を必要とする。このキー情報はカートリッジ1内の記憶部4に記憶されているため、これを読み出すために必要なインデックス情報をパラメータCMbとして、攪乱処理後のコマンドに付加しておく。そして、こうして生成したコマンドをさらに攪乱処理し、同様に、この攪乱処理の解除に必要なインデックス情報を付加する。このような処理を複数回繰り返す。そして、最後にもう一度、コマンド全体を所定の方法に従って攪乱処理する。
【0032】
具体的には、例えば、逆攪乱処理にキー情報を必要とする攪乱処理を5回施すとすると、上述したように、コマンドID(CMo)およびアドレス情報CMaを含むコマンドを攪乱処理した後に、インデックス情報を付加する処理を5回繰り返す。5回目の処理が終了しときのコマンドは、コマンドID(CMo),アドレス情報CMa,および4回目までの処理で付加されたインデックス情報を含み攪乱処理されたものに、5回目の攪乱処理の解除に必要となるインデックス情報を含むパラメータが付加された状態にある。このコマンドに、所定の方法に従って、6回目の攪乱処理を施した上で、カートリッジ1へ入力コマンドCMとして入力する。即ち、攪乱処理したコマンドにパラメータを付加する動作を繰り返し、最後に、付加したパラメータさえも元の形を留めることを避けるため、さらに所定の攪乱処理を施した上で、カートリッジ1に入力するのである。
【0033】
尚、最後にコマンド全体を攪乱する処理(上記具体例では6回目の攪乱処理)は、所定のキー情報を利用する処理内容であってもよいし、所定のパラメータCMb(即ちインデックス情報)に基づいて記憶部4から読み出されるキー情報を利用する処理内容であっても構わない。また、攪乱処理を施す回数は、固定された値であってもよいし、コマンド毎に変更する態様であっても構わない。
【0034】
このように、複数回の攪乱処理を施すことで、入力コマンドの解析を困難なものとすることができる。また、最後にコマンド全体を所定の方法で攪乱処理することで、付加したパラメータに対しても攪乱処理が施されるため、情報処理装置とカートリッジ1の間で行う通信を観測しても、パラメータの値を直接観測することができない。また、攪乱処理にインデックス情報を利用することで、その攪乱処理の方法を容易に変更することができるため、例えば同じアドレスからデータを読み出すための全く同じコマンドであっても、攪乱処理の方法を変更して、見かけ上は異なったコマンドとすることができる。さらに、攪乱処理を施す回数をコマンド毎に可変とすれば、攪乱処理内容の解析はさらに困難なものとなり、セキュリティを高めることができる。
【0035】
ここで、上述したように、パラメータCMbの有するインデックス情報は、逆攪乱処理するために直接利用するものではなく、逆攪乱処理に必要なキー情報を記憶部4から読み出すためのインデックス情報にすぎない。
【0036】
具体的には、例えば、「A」というキー情報を利用して所定の方法で攪乱処理を施したコマンドには、「A」をインデックス情報として直接付加するのではなく、この「A」を記憶部4から読み出すために必要なインデックス情報、例えば「A」が格納される記憶部4のアドレスを示す「0」、をパラメータとして付加するのである。このような態様でパラメータを付加することで、第三者が入力コマンドの解析に成功し、パラメータ「0」を抽出できたとしても、これからキー情報「A」を得ることは不可能であり、結果としてコマンドおよびアドレス情報を復元することはできない。
【0037】
また、このキー情報「A」は、後述するように、記憶部4内の暗号解読テーブルに格納されるが、当該領域はゲームカートリッジ1内部の処理においてのみ利用され、情報処理装置から入力される読み出しコマンド等によって、その記憶内容をカートリッジ1の外部から読み出すことができない。即ち、当該領域は、悪意ある第三者によってその記憶内容が、カートリッジ1の外部に読み出されることがないよう保護されている。
【0038】
このように、入力コマンドに攪乱処理を施して解析することが困難なものとし、解析されたとしても、そこから得られる情報を元のコマンドおよびアドレス情報を復元するために必要なキー情報に係る間接的な情報とし、さらに、復元に直接必要なキー情報をカートリッジ1外部からは読み出し不可能な領域に保存することで、入力コマンドに対する高いセキュリティを実現することができる。
【0039】
なお、図2でコマンド入力ラインの上方に示されるコマンドCMは、コマンドID(CMo)やアドレス情報CMa、パラメータCMbを情報として含む様子を表しており、フレーム内における各情報の実際の位置ないしフレーム構造を示すものではない。例えば、コマンドID(CMo)とアドレスCMaとが一つのブロックとして攪乱処理された場合には、図2においてコマンドCM上方の括弧内に示すように、攪乱処理後のコマンドとパラメータCMbとで、変換コマンドが構成される。そして、攪乱処理後のコマンドが、情報としてコマンドID(CMo)及びアドレスCMaを含んでいる。
【0040】
ステップS2では、コマンド逆攪乱部2が、情報処理装置側で最後に施された所定の攪乱処理方法に対応する1回目の逆攪乱処理を施して、複数回の攪乱処理が施されたコマンドIDおよびアドレス情報と、これに付加されたインデックス情報であるパラメータと、を含むコマンドを復元する。このとき行う逆攪乱処理は、上述したように、入力コマンドから抽出したパラメータを利用せずに逆攪乱処理できるよう攪乱処理されたものである。具体的には、情報処理装置側での攪乱処理内容に対応して予め用意された所定のキー情報を利用するものであってもよいし、所定のパラメータCLbに基づいて記憶部4内の暗号解読テーブル領域から読み出したキー情報を利用するものであっても構わない。
【0041】
ステップS3では、コマンド逆攪乱部2が、復元されたコマンドから、パラメータCLbを抽出する。ここで、パラメータCLbとは、コマンド中のCMbに対応するインデックス情報である。具体的には、例えば上述したように、記憶部4内の暗号解読テーブル領域に格納されたコマンドの逆攪乱処理に必要なキー情報DLbのアドレスを示す。
【0042】
ステップS4では、コマンド逆攪乱部2が、パラメータCLbに基づいて、記憶部4内の暗号解読テーブル領域に格納されたキー情報DLbを読み出す。
【0043】
ステップS5では、コマンド逆攪乱部2が、ステップS4で読み出したキー情報DLbを利用して、コマンドIDおよびアドレス情報の逆攪乱処理を施す。
【0044】
ステップS6では、コマンド逆攪乱部2が、ステップS5の処理によって、元のコマンドIDおよびアドレス情報が復元されているか否かを判断する。コマンドIDが復元されていればステップS7へ進み、まだ攪乱処理が施された状態にあればステップS3へ戻る。即ち、情報処理装置側で施された攪乱処理の回数に応じて、コマンドが完全に復元されるまでステップS3〜S5の処理を繰り返し行い、情報処理装置からのコマンドおよびアドレス情報を復元するのである。
【0045】
ここで、ステップS6で行う判断の方法は、情報処理装置側での攪乱処理が常に所定回数だけ行われるようにしておき、これに対応した回数の逆攪乱処理を終えたときにコマンドの復元を完了したと判断する態様のほか、情報処理装置側で行う攪乱処理回数はコマンド毎に可変であって、例えば、パラメータの中に予め攪乱処理の回数に係る情報を含ませておき、当該情報に応じた回数の逆攪乱処理を施すことでコマンドの復元を完了したと判断する態様であってもよいし、パラメータの中に予め攪乱処理の完了を示す情報を含ませておき、当該情報を認識した時点でコマンドの復元を完了したと判断する態様であっても構わない。尚、第三者によって不正なコマンドが入力されたために、逆攪乱処理によって正当なコマンドを復元することができない場合であっても、ステップS3からステップS6の処理が無限に繰り返されることのないようにするためには、例えば、所定の回数以上の逆攪乱処理を行ってもコマンドが復元されたと判断されないときは、強制的にステップS7へ移行するようにすればよい。
【0046】
ステップS7では、コマンド逆攪乱部2が、ステップS6までの処理で復元されたコマンドIDに、記憶部4からのデータの読み出しを指示するリード情報が含まれているか否かを判定する。ここで、リード情報が含まれている場合には、データ攪乱部3にリード情報CLrを伝送し、ステップS8に進む。また、リード情報が含まれていない場合には、ステップS10に進む。
【0047】
リード情報が含まれていない場合には2つの可能性がある。一つめは、上述したように、第三者によって不正なコマンドが入力された場合である。そして、もう一つが、情報処理装置が、意図的に発したダミーコマンドである場合である。即ち、情報処理装置は、通常は、カートリッジ1からデータの読み出しが必要な場合にリード情報を含むコマンドを、上述したような攪乱処理を施した上でカートリッジ1に入力するが、この入力コマンドを観測して解析を試みる第三者を混乱させるため、偽の命令であるダミーコマンドを発することがある。
【0048】
尚、リード情報が含まれていない場合の動作については、何もせずにステップS10へ進む態様のほか、情報処理装置からのダミーコマンドでなく第三者から不正なコマンドが入力されたと判断したときには、例えば、データ攪乱部3から、乱数等からなる偽のデータであるダミーデータを出力する態様であってもよいし、入力コマンドの受信やデータの出力等、情報処理装置とカートリッジ1間の通信自体を遮断する態様であっても構わない。
【0049】
このように、情報処理装置側からダミーコマンドを発したり、またはカートリッジ1からダミーデータを出力しても、第三者はこれが正常なデータであるか否かについてさえ判別不能であるため、第三者を混乱させ、情報処理装置とカートリッジ1間の通信のセキュリティを高めることができる。また、カートリッジ1との通信を遮断する場合も、悪意ある第三者の通信内容に係る解析行為を実施不可能とし、同様にセキュリティを高めることができる。
【0050】
ステップS8では、アドレス情報CLaに基づき、データ攪乱部3が、記憶部4内のデータ領域から、プログラムデータ等のデータ(記憶データ)を読み出す。ここで、アドレス情報CLaとは、コマンド中のCMaに対応するアドレス情報である。具体的には、例えば、読み出しを指示するコマンドIDが読み出し対象とする記憶部4内のデータ領域に格納されたデータのアドレスを示す。
【0051】
ステップS9では、データ攪乱部3が、記憶部4のデータ領域から読み出したデータに所定の攪乱処理を施し、入出力部12から情報処理装置へ出力する。出力されたデータは、情報処理装置側で、データ攪乱部3の行った攪乱処理に対応する逆攪乱処理が施されて元のデータが復元され、情報処理装置によって利用されるのである。
【0052】
ここで、データ攪乱部3が施すデータの攪乱処理は、情報処理装置が対応する逆攪乱処理を施すことで受信データを利用可能にしてあれば、キー情報を利用しない攪乱処理であってもよいし、所定のキー情報を利用する攪乱処理であってもよいし、あるいは、上述したコマンド逆攪乱部2の逆攪乱処理と同様に、記憶部4の暗号解読テーブル領域から読み出したキー情報を利用する態様であっても構わない。
【0053】
ステップS10では、入出力部12において次のコマンド入力があるかを判定する。ここで、次のコマンド入力がある場合には、ステップS1に戻ってステップS1〜ステップS9の処理を繰り返す。また、次のコマンド入力がない場合には、カートリッジ1の動作を終了する。
【0054】
ここで、上述した本発明でいう攪乱処理とは、キー情報を利用して所定の規則に従ってデータの並び等のデータ構造を変更するような比較的簡易な攪乱を施すスクランブル処理と、これに比して複雑な、例えば所定のキー情報を利用するアルゴリズム等に従ってデータ自体を変換するような攪乱を施す暗号化処理と、の2つの処理を指している。そして、入力コマンドに係る攪乱処理と、出力データに係る攪乱処理とは、スクランブル処理または暗号化処理のいずれを利用しても構わない。具体的には、コマンド逆攪乱部2では、暗号化処理に係る処理を行い、データ攪乱部3ではスクランブル処理を行うような態様であっても構わない。この場合、情報処理装置では、これらの動作に対応して、カートリッジ1への入力コマンドの生成には暗号化処理に基づく攪乱処理を施し、カートリッジ1からの出力データにはスクランブル処理に基づく逆攪乱処理を行うことになる。
【0055】
また、例えば、コマンド逆攪乱部2とデータ攪乱部3とが、双方とも暗号化処理に係る動作をする場合であっても、その暗号化処理の内容が同じである必要はない。
【0056】
以上のように、本発明では、記憶部4にコマンド逆攪乱部2とデータ攪乱部3のみを加えた、従来のセキュリティ機能を有する記憶装置と同様の構成でありながら、上述のような動作をすることで、記憶装置であるカートリッジに関して高いセキュリティを実現している。具体的には、カートリッジ1に入力される入力コマンドは、コマンド毎に含まれるパラメータが異なり、さらに攪乱処理が施されるため、同じコマンドであっても見かけ上異なる形となり、第三者による入力コマンドの解析を困難なものとすることができる。
【0057】
また、入力コマンドは、キー情報を利用して複数回の攪乱処理が施されているが、このキー情報は、カートリッジ1内の記憶部4とコマンド逆攪乱部2との間でのみ利用され、カートリッジ1外部からは読み出し不可能なように保護されているため、カートリッジ1の入出力信号を観測してもキー情報に係る情報は一切得ることができず、カートリッジに格納されるデータの読み出しに対する高いセキュリティを実現することができる。
【0058】
さらに、入力コマンドだけではなく、出力データについても攪乱処理を施すため、一層のセキュリティ強化を図ることができる。
【0059】
そして、攪乱処理の内容はカートリッジ1内の記憶部4に格納されたキー情報に対応しているため、対応する情報処理装置側の処理内容を同様に変更する必要はあるものの、キー情報を格納する記憶部4内の暗号解読領域テーブルの内容を変更するだけで、カートリッジ1ごとに、その攪乱処理の内容を容易に変更することも容易である。
【0060】
<変形例>
◎上記の記憶部4内に格納するデータについては、通常使用されるデータ形式でもよいが、攪乱処理されているのが好ましい。これにより、セキュリティをさらに向上できる。
【0061】
◎コマンド逆攪乱部2とデータ攪乱部3は、それぞれ別々の構成要素として示しているが、これらの攪乱処理に係る処理部は、一の構成要素によって実現される態様であっても構わない。
【0062】
◎本発明におけるパラメータ等の情報は、数値情報に限らず、文字列のみからなる情報や、数値および文字列の混合情報であっても構わない。
【0063】
◎本発明におけるセキュリティ機能は有効にするか否かを制御可能であって、入力コマンドの攪乱処理、および出力データの攪乱処理のそれぞれを、本発明を利用する情報機器の有するセキュリティ機能に応じて、当該情報機器側から制御する態様であっても構わない。
【0064】
◎コマンド逆攪乱部2の行う逆攪乱処理は、上述したように記憶部4に格納したキー情報を利用してコマンドを変換する態様のほか、記憶部4内に複数のマイクロコード等のソフトウェアプログラムが格納されており、コマンド逆攪乱部2が、これを実行することでコマンドを変換する態様であっても構わない。
【0065】
◎また、上記実施形態では、コマンドID(CMo)およびアドレス情報CMaを含む形で攪乱処理し、これにインデックス情報をパラメータCMbとして付加した例で説明したが、必ずしもその必要はない。例えば、暗号化処理等の攪乱処理自体が、攪乱処理後のデータに付加情報(インデックス情報)を付加する方式で行われ、攪乱処理後のデータそのものが付加情報(インデックス情報)を示す態様であってもよい。要するに、変換コマンドCMとしては、コマンド情報およびアドレス情報に所定のデータ変換を施して何らかの方式で付加情報を付加した全ての態様を含む。
【図面の簡単な説明】
【0066】
【図1】本発明の第1実施形態に係るメモリカートリッジ1の要部構成を示す外観図である。
【図2】カートリッジ1の機能ブロックを示す図である。
【図3】カートリッジ1の基本的な動作を説明するためのフローチャートである。
【符号の説明】
【0067】
1 メモリカートリッジ
2 コマンド逆攪乱部
3 データ攪乱部
4 記憶部
12 入出力部
CLa アドレス情報
CLb パラメータ
CLr リード情報
DLb キー情報

【特許請求の範囲】
【請求項1】
情報処理装置から、入出力部を介して、コマンド情報およびアドレス情報に所定のデータ変換を施して付加情報を付加した変換コマンドを、順次入力可能な記憶装置であって、
所定のデータを記憶する記憶手段と、
入力された前記変換コマンドから前記付加情報を抽出し、当該付加情報に基づいて前記記憶手段からキー情報を読み出し、当該キー情報を利用した前記所定のデータ変換に対応する逆変換を変換コマンドに施して、前記コマンド情報および前記アドレス情報を抽出する抽出手段と、
前記コマンド情報が所定の情報である場合にのみ、前記抽出手段で抽出された前記アドレス情報に対応する記憶データを前記記憶手段から読み出して、前記入出力部を介して出力する出力制御手段と、
を備えることを特徴とする記憶装置。
【請求項2】
請求項1に記載の記憶装置であって、
前記出力制御手段は、
前記記憶データに所定のデータ変換を施した変換記憶データを生成する変換手段と、
前記変換記憶データを前記入出力部を介して出力させる手段と、
を備えることを特徴とする記憶装置。
【請求項3】
請求項1または請求項2に記載の記憶装置であって、
前記記憶手段は、
前記キー情報を格納する、前記情報処理装置からの記憶データの読み出しが不可能なキー情報領域と、
前記情報処理装置の利用する前記記憶データを格納する、前記情報処理装置からの記憶データの読み出しが可能なデータ領域と、
から構成されることを特徴とする記憶装置。
【請求項4】
請求項1ないし請求項3のいずれかに記載の記憶装置であって、
前記出力制御手段は、さらに、
前記コマンド情報が所定の情報でない場合には、前記記憶データと相違する相違データを前記入出力部を介して出力させる手段、
を備えることを特徴とする記憶装置。
【請求項5】
請求項1ないし請求項3のいずれかに記載の記憶装置であって、
前記出力制御手段は、さらに、
前記コマンド情報が所定の情報でない場合には、前記入出力部を介したデータの出力を停止する手段、
を備えることを特徴とする記憶装置。
【請求項6】
請求項1ないし請求項5のいずれかに記載の記憶装置であって、
前記変換コマンドは、前記コマンドに対して所定回数のデータ変換を施した変換コマンドであり、
前記抽出手段は、
入力された前記変換コマンドからの前記付加情報の抽出と、当該付加情報に基づく前記記憶手段からのキー情報の読み出しと、変換コマンドに対する当該キー情報を利用した前記データ変換に対応する逆変換と、を前記所定回数だけ繰り返して、前記コマンド情報および前記アドレス情報を抽出する手段、
を含むことを特徴とする記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate