(57)【要約】【課題】記憶部に格納されるデータについてセキュリティを強化できる記憶装置を提供する。【解決手段】入出力部１２より入力された入力コマンドから、パラメータＣＬｂを抽出し、これに対応するキー情報ＤＬｂを記憶部４から読み出し、当該キー情報ＤＬｂに基づいてコマンド逆攪乱部２が、コマンドおよびアドレス情報の逆攪乱処理を行う。入力コマンドは、複数回の攪乱処理を施されている上に、入力コマンドに含まれるパラメータＣＭｂでは、逆攪乱処理に必要なキー情報ＤＬｂを予測不可能である。また、出力するデータについてもデータ攪乱部３で攪乱処理を施している。そのため、入出力部１２の通信を観測しても、その内容を解析することは困難である。【選択図】図２
2006164236.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置から、入出力部を介して、コマンド情報およびアドレス情報に所定のデータ変換を施して付加情報を付加した変換コマンドを、順次入力可能な記憶装置であって、
所定のデータを記憶する記憶手段と、
入力された前記変換コマンドから前記付加情報を抽出し、当該付加情報に基づいて前記記憶手段からキー情報を読み出し、当該キー情報を利用した前記所定のデータ変換に対応する逆変換を変換コマンドに施して、前記コマンド情報および前記アドレス情報を抽出する抽出手段と、
前記コマンド情報が所定の情報である場合にのみ、前記抽出手段で抽出された前記アドレス情報に対応する記憶データを前記記憶手段から読み出して、前記入出力部を介して出力する出力制御手段と、
を備えることを特徴とする記憶装置。
【請求項２】
請求項１に記載の記憶装置であって、
前記出力制御手段は、
前記記憶データに所定のデータ変換を施した変換記憶データを生成する変換手段と、
前記変換記憶データを前記入出力部を介して出力させる手段と、
を備えることを特徴とする記憶装置。
【請求項３】
請求項１または請求項２に記載の記憶装置であって、
前記記憶手段は、
前記キー情報を格納する、前記情報処理装置からの記憶データの読み出しが不可能なキー情報領域と、
前記情報処理装置の利用する前記記憶データを格納する、前記情報処理装置からの記憶データの読み出しが可能なデータ領域と、
から構成されることを特徴とする記憶装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の記憶装置であって、
前記出力制御手段は、さらに、
前記コマンド情報が所定の情報でない場合には、前記記憶データと相違する相違データを前記入出力部を介して出力させる手段、
を備えることを特徴とする記憶装置。
【請求項５】
請求項１ないし請求項３のいずれかに記載の記憶装置であって、
前記出力制御手段は、さらに、
前記コマンド情報が所定の情報でない場合には、前記入出力部を介したデータの出力を停止する手段、
を備えることを特徴とする記憶装置。
【請求項６】
請求項１ないし請求項５のいずれかに記載の記憶装置であって、
前記変換コマンドは、前記コマンドに対して所定回数のデータ変換を施した変換コマンドであり、
前記抽出手段は、
入力された前記変換コマンドからの前記付加情報の抽出と、当該付加情報に基づく前記記憶手段からのキー情報の読み出しと、変換コマンドに対する当該キー情報を利用した前記データ変換に対応する逆変換と、を前記所定回数だけ繰り返して、前記コマンド情報および前記アドレス情報を抽出する手段、
を含むことを特徴とする記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば半導体メモリなどを内蔵した記憶装置に関し、特に記憶装置に格納されるデータに係るセキュリティ強化のための改良に関する。
【背景技術】
【０００２】
従来の情報処理装置では、ソフトウェアプログラムやデータ等が格納された記憶装置を、画像表示部等を備えた情報処理装置に脱着自在に接続することによって、様々なソフトウェアプログラムを実行したり、データを利用したりすることが可能となっている。
【０００３】
このような記憶装置では、内部に記憶されたデータの機密保護のためにセキュリティ機能を備えるものがある。例えば、特許文献１には、排他的論理和演算を利用した暗号化および復号化により通信内容の秘匿性を維持する方法が示されている。
【０００４】
【特許文献１】特開２００２−９１８２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１のように排他的論理和演算を利用する場合、専用のハードウェア等を利用すれば暗号化および復号化に要する処理時間が少なくて済むという利点を有する反面、演算自体は一般的な内容であり、第三者が、情報処理装置と記憶装置の間で行われる通信内容を観測することによって得られるセキュリテイ機能を解析するための手掛かりが多く、セキュリティ機能を比較的容易に解析されるという問題がある。そのため、特許文献１では、記憶装置毎に固有のＩＤ情報を持たせて、これを暗号化および復号化に係る処理に利用しているが、この処理を実現するために専用のハードウエアや複雑なソフトウェアプログラム等が必要となっている。
【０００６】
本発明は、上記課題に鑑みてなされたものであり、従来の記憶装置の構成の変更を最小限に留めながら、記憶装置内部に格納されたデータの機密を保護する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決すべく、請求項１の発明は、情報処理装置から、入出力部を介して、コマンド情報およびアドレス情報に所定のデータ変換を施して付加情報を付加した変換コマンドを、順次入力可能な記憶装置であって、所定のデータを記憶する記憶手段と、入力された前記変換コマンドから前記付加情報を抽出し、当該付加情報に基づいて前記記憶手段からキー情報を読み出し、当該キー情報を利用した前記所定のデータ変換に対応する逆変換を変換コマンドに施して、前記コマンド情報および前記アドレス情報を抽出する抽出手段と、前記コマンド情報が所定の情報である場合にのみ、前記抽出手段で抽出された前記アドレス情報に対応する記憶データを前記記憶手段から読み出して、前記入出力部を介して出力する出力制御手段とを備えることを特徴とする。
【０００８】
また、請求項２の発明は、請求項１の発明に係る記憶装置であって、前記出力制御手段は、前記記憶データに所定のデータ変換を施した変換記憶データを生成する変換手段と、前記変換記憶データを前記入出力部を介して出力させる手段とを備えることを特徴とする。
【０００９】
また、請求項３の発明は、請求項１または請求項２の発明に係る記憶装置であって、前記記憶手段は、前記キー情報を格納する、前記情報処理装置からの記憶データの読み出しが不可能なキー情報領域と、前記情報処理装置の利用する前記記憶データを格納する、前記出力制御手段からの記憶データの読み出しが可能なデータ領域と、から構成されることを特徴とする。
【００１０】
また、請求項４の発明は、請求項１ないし請求項３のいずれかの発明に係る記憶装置であって、前記出力制御手段は、さらに、前記コマンド情報が所定の情報でない場合には、前記記憶データと相違する相違データを前記入出力部を介して出力させる手段、を備えることを特徴とする。
【００１１】
また、請求項５の発明は、請求項１ないし請求項３のいずれかの発明に係る記憶装置であって、前記出力制御手段は、さらに、前記コマンド情報が所定の情報でない場合には、前記入出力部を介したデータの出力を停止する手段、を備えることを特徴とする。
【００１２】
また、請求項６の発明は、請求項１ないし請求項５のいずれかの発明に係る記憶装置であって、前記変換コマンドは、前記コマンドに対して所定回数のデータ変換を施した変換コマンドであり、前記抽出手段は、入力された前記変換コマンドからの前記付加情報の抽出と、当該付加情報に基づく前記記憶手段からのキー情報の読み出しと、変換コマンドに対する当該キー情報を利用した前記データ変換に対応する逆変換とを前記所定回数だけ繰り返して、前記コマンド情報および前記アドレス情報を抽出する手段、を含むことを特徴とする。
【発明の効果】
【００１３】
請求項１に記載の発明によれば、記憶手段に抽出手段と出力制御部を付加した構成により、変換コマンドからアドレス情報等に関する情報を直接取得できない通信を実現することで、情報処理装置と記憶装置間の通信内容のセキュリティを高めることができる。
【００１４】
請求項２に記載の発明によれば、記憶装置から出力するデータにもデータ変換を施すことで、さらに、情報処理装置と記憶装置間の通信内容のセキュリティを高めることができる。
【００１５】
請求項３に記載の発明によれば、キー情報が外部に出力されることがないため、データ変換に関するセキュリティを高めることができ、また、キー情報に関する領域の内容のみを変更することで、データ変換の内容を容易に変換することができる。
【００１６】
請求項４ないし請求項６に記載の発明によれば、悪意ある第三者の行う情報処理装置と記憶装置間の通信内容の解析作業を困難なものとすることができる。
【発明を実施するための最良の形態】
【００１７】
＜カートリッジの要部構成＞
図１は、本発明の第１実施形態に係るメモリカートリッジ（記憶装置）１の要部構成を示す外観図である。
【００１８】
メモリカートリッジ(以下では、単に「カートリッジ」という)１は、内部にソフトウェアプログラムやデータを記憶しており、情報処理装置に脱着自在に装着する構成となっている。そして、カートリッジに格納されたソフトウェアプログラムやデータを利用する情報処理装置としては、パソコン、ＰＤＡ（Personal Digital Assistant）のような携帯情報端末装置、画像処理装置が該当する。その他にも様々な態様が考えられ、例えば、ゲーム用プログラムを格納したゲームカートリッジと、これを着脱自在に装着して利用するビデオゲーム機や携帯ゲーム機等にも本願発明の適用が可能であるが、以下では情報処理装置として説明する。
【００１９】
カートリッジ１は、内部に半導体メモリ等を含む電気回路を備える板状の本体部１１を有し、その下部には、例えば複数の端子を有する入出力部１２が設けられている。そして、カートリッジ１が情報処理装置に装着され、入出力部１２が情報処理装置の入出力部と電気的に接続されることにより、カートリッジ１と情報処理装置との間でデータ伝送が可能となる。
【００２０】
図２は、カートリッジ１の機能ブロックを示す図である。
【００２１】
カートリッジ１は、上記の入出力部１２にデータ伝送可能に接続するコマンド逆攪乱部２およびデータ攪乱部３と、これらに伝送可能に接続する記憶部４と、を備えている。
【００２２】
このカートリッジ１は、情報処理装置から入出力部１２を介して入力されるコマンドに応じて、必要なデータを入出力部１２から出力する。ここで、カートリッジ１に入力される入力コマンドは、情報処理装置において攪乱処理されたコマンド(変換コマンド)であるとともに、出力されるデータも、カートリッジ１において攪乱処理を施したものであるため、第三者がカートリッジ１に入出力される信号を観測しても、その内容を解読することは困難なものとなっている。以下では、このカートリッジ１の詳細を、各機能ブロックごとに説明する。
【００２３】
コマンド逆攪乱部（抽出手段）２は、情報処理装置で攪乱処理(データ変換)された変換コマンドＣＭを、逆攪乱処理(逆データ変換)する機能を有する。この逆攪乱処理は、情報処理装置側で変換コマンドを生成するときの攪乱処理に対応するもので、その処理方法が予め設定されている。また、コマンド逆攪乱部２は、変換コマンドＣＭを、元のコマンドに復元した後、パラメータＣＬｂを抽出し、これに基づいて記憶部４内の暗号解読テーブル領域から読み出したキー情報ＤＬｂを利用した逆攪乱処理を行って、コマンドＩＤおよびアドレス情報ＣＬａを抽出する機能も有している。
【００２４】
このとき、最初に行う情報処理装置の攪乱処理に対応する逆攪乱処理は、予め定められた所定のキー情報、または所定のパラメータに基づいて記憶部４内の暗号解読テーブル領域から読み出したキー情報を利用して行う。また、２回目以降に行う復元したコマンドからパラメータＣＬｂを抽出して行う逆攪乱処理は、情報処理装置側で施された攪乱処理の回数に対応して複数回繰り返される。これらの処理の詳細については後述する。
【００２５】
記憶部（記憶手段）４は、コマンド逆攪乱部２が入力コマンドからコマンドを復元する逆攪乱処理に利用するキー情報を格納する暗号解読テーブル領域（キー情報領域）と、情報処理装置で利用するソフトウェアプログラム等のデータを格納するデータ領域とから構成されている。暗号解読テーブル領域には、コマンドを復元するための逆攪乱処理に必要なキー情報が格納されており、コマンド逆攪乱部２が、これを読み出して利用する。データ領域には、各アドレスごとにデータが記憶されており、アドレス情報に対応した記憶データを取り出すことができる。データ領域から取り出された記憶データは、データ攪乱部３に伝送される。尚、ここで利用する半導体メモリは、例えば、マスクＲＯＭ等の様に書き込み不可能な半導体メモリであってもよいし、フラッシュメモリ等の書き込み可能な半導体メモリであっても構わない。また、フラッシュメモリ等を利用する場合にも、その利用用途によって、揮発性のメモリであってもよいし、不揮発性のメモリを利用する態様であっても構わない。
【００２６】
データ攪乱部（出力制御手段）３は、記憶部４から送られる記憶データに対して、データ攪乱処理を施して、入出力部１２を介して出力する機能を有する。
【００２７】
そして、入出力部１２から出力されたデータは、情報処理装置に入力され、当該情報処理装置側においてデータ攪乱部３で施した攪乱処理に対応する逆攪乱処理を施し、記憶部４に格納されていたデータを復元することで、入力コマンドによって要求したデータが得られることとなる。
【００２８】
尚、上述したカートリッジ１の各部の動作は、情報処理装置から入出力部１２を介して供給される電源によって動作する専用のハードウェアおよびソフトウェアによって実現されている。また、コマンド逆攪乱部２およびデータ攪乱部３は、情報処理装置から供給されるイネーブル信号等を利用して、情報処理装置側の動作クロックに従って動作する。
【００２９】
＜カートリッジの動作＞
図３は、カートリッジ１の基本的な動作を説明するためのフローチャートである。本動作は、カートリッジ１内に記憶されたソフトウェアプログラム等のデータを読み出す際の処理に相当する。以下では、図２および図３を参照しながら、カートリッジ１の動作を詳しく説明する。
【００３０】
ステップＳ１では、情報処理装置側で攪乱処理された変換コマンドＣＭがカートリッジ１に入力される。この入力コマンドＣＭは、情報処理装置がカートリッジ１からデータを読み出す際に順次入力するもので、コマンドＩＤ（ＣＭｏ）、アドレス情報ＣＭａおよびパラメータ(付加情報)ＣＭｂを含んでる。ここで、パラメータＣＭｂとは、コマンドＩＤ（ＣＭｏ）およびアドレス情報ＣＭａを抽出するために、入力コマンドを逆攪乱処理するときに利用するキー情報ＤＬｂを記憶部４から読み出すのに必要なインデックス情報のことをいう。尚、情報処理装置側で行う攪乱処理は１回ではなく複数回でもよいし、攪乱処理の回数は固定であってもよいし、コマンド毎に可変であっても構わない。
【００３１】
これ以降のカートリッジ１での動作を具体的に説明するにあたり、まず、情報処理装置側で行われるコマンドの攪乱処理について説明する。例えば、あるアドレスからのデータの読み出しを指示するコマンドを、コマンドＩＤ（ＣＭｏ）およびアドレス情報ＣＭａを含む形で攪乱処理する。このとき施した攪乱処理を解除するには、キー情報を必要とする。このキー情報はカートリッジ１内の記憶部４に記憶されているため、これを読み出すために必要なインデックス情報をパラメータＣＭｂとして、攪乱処理後のコマンドに付加しておく。そして、こうして生成したコマンドをさらに攪乱処理し、同様に、この攪乱処理の解除に必要なインデックス情報を付加する。このような処理を複数回繰り返す。そして、最後にもう一度、コマンド全体を所定の方法に従って攪乱処理する。
【００３２】
具体的には、例えば、逆攪乱処理にキー情報を必要とする攪乱処理を５回施すとすると、上述したように、コマンドＩＤ（ＣＭｏ）およびアドレス情報ＣＭａを含むコマンドを攪乱処理した後に、インデックス情報を付加する処理を５回繰り返す。５回目の処理が終了しときのコマンドは、コマンドＩＤ（ＣＭｏ），アドレス情報ＣＭａ，および４回目までの処理で付加されたインデックス情報を含み攪乱処理されたものに、５回目の攪乱処理の解除に必要となるインデックス情報を含むパラメータが付加された状態にある。このコマンドに、所定の方法に従って、６回目の攪乱処理を施した上で、カートリッジ１へ入力コマンドＣＭとして入力する。即ち、攪乱処理したコマンドにパラメータを付加する動作を繰り返し、最後に、付加したパラメータさえも元の形を留めることを避けるため、さらに所定の攪乱処理を施した上で、カートリッジ１に入力するのである。
【００３３】
尚、最後にコマンド全体を攪乱する処理（上記具体例では６回目の攪乱処理）は、所定のキー情報を利用する処理内容であってもよいし、所定のパラメータＣＭｂ（即ちインデックス情報）に基づいて記憶部４から読み出されるキー情報を利用する処理内容であっても構わない。また、攪乱処理を施す回数は、固定された値であってもよいし、コマンド毎に変更する態様であっても構わない。
【００３４】
このように、複数回の攪乱処理を施すことで、入力コマンドの解析を困難なものとすることができる。また、最後にコマンド全体を所定の方法で攪乱処理することで、付加したパラメータに対しても攪乱処理が施されるため、情報処理装置とカートリッジ１の間で行う通信を観測しても、パラメータの値を直接観測することができない。また、攪乱処理にインデックス情報を利用することで、その攪乱処理の方法を容易に変更することができるため、例えば同じアドレスからデータを読み出すための全く同じコマンドであっても、攪乱処理の方法を変更して、見かけ上は異なったコマンドとすることができる。さらに、攪乱処理を施す回数をコマンド毎に可変とすれば、攪乱処理内容の解析はさらに困難なものとなり、セキュリティを高めることができる。
【００３５】
ここで、上述したように、パラメータＣＭｂの有するインデックス情報は、逆攪乱処理するために直接利用するものではなく、逆攪乱処理に必要なキー情報を記憶部４から読み出すためのインデックス情報にすぎない。
【００３６】
具体的には、例えば、「Ａ」というキー情報を利用して所定の方法で攪乱処理を施したコマンドには、「Ａ」をインデックス情報として直接付加するのではなく、この「Ａ」を記憶部４から読み出すために必要なインデックス情報、例えば「Ａ」が格納される記憶部４のアドレスを示す「０」、をパラメータとして付加するのである。このような態様でパラメータを付加することで、第三者が入力コマンドの解析に成功し、パラメータ「０」を抽出できたとしても、これからキー情報「Ａ」を得ることは不可能であり、結果としてコマンドおよびアドレス情報を復元することはできない。
【００３７】
また、このキー情報「Ａ」は、後述するように、記憶部４内の暗号解読テーブルに格納されるが、当該領域はゲームカートリッジ１内部の処理においてのみ利用され、情報処理装置から入力される読み出しコマンド等によって、その記憶内容をカートリッジ１の外部から読み出すことができない。即ち、当該領域は、悪意ある第三者によってその記憶内容が、カートリッジ１の外部に読み出されることがないよう保護されている。
【００３８】
このように、入力コマンドに攪乱処理を施して解析することが困難なものとし、解析されたとしても、そこから得られる情報を元のコマンドおよびアドレス情報を復元するために必要なキー情報に係る間接的な情報とし、さらに、復元に直接必要なキー情報をカートリッジ１外部からは読み出し不可能な領域に保存することで、入力コマンドに対する高いセキュリティを実現することができる。
【００３９】
なお、図２でコマンド入力ラインの上方に示されるコマンドＣＭは、コマンドＩＤ（ＣＭｏ）やアドレス情報ＣＭａ、パラメータＣＭｂを情報として含む様子を表しており、フレーム内における各情報の実際の位置ないしフレーム構造を示すものではない。例えば、コマンドＩＤ（ＣＭｏ）とアドレスＣＭａとが一つのブロックとして攪乱処理された場合には、図２においてコマンドＣＭ上方の括弧内に示すように、攪乱処理後のコマンドとパラメータＣＭｂとで、変換コマンドが構成される。そして、攪乱処理後のコマンドが、情報としてコマンドＩＤ（ＣＭｏ）及びアドレスＣＭａを含んでいる。
【００４０】
ステップＳ２では、コマンド逆攪乱部２が、情報処理装置側で最後に施された所定の攪乱処理方法に対応する１回目の逆攪乱処理を施して、複数回の攪乱処理が施されたコマンドＩＤおよびアドレス情報と、これに付加されたインデックス情報であるパラメータと、を含むコマンドを復元する。このとき行う逆攪乱処理は、上述したように、入力コマンドから抽出したパラメータを利用せずに逆攪乱処理できるよう攪乱処理されたものである。具体的には、情報処理装置側での攪乱処理内容に対応して予め用意された所定のキー情報を利用するものであってもよいし、所定のパラメータＣＬｂに基づいて記憶部４内の暗号解読テーブル領域から読み出したキー情報を利用するものであっても構わない。
【００４１】
ステップＳ３では、コマンド逆攪乱部２が、復元されたコマンドから、パラメータＣＬｂを抽出する。ここで、パラメータＣＬｂとは、コマンド中のＣＭｂに対応するインデックス情報である。具体的には、例えば上述したように、記憶部４内の暗号解読テーブル領域に格納されたコマンドの逆攪乱処理に必要なキー情報ＤＬｂのアドレスを示す。
【００４２】
ステップＳ４では、コマンド逆攪乱部２が、パラメータＣＬｂに基づいて、記憶部４内の暗号解読テーブル領域に格納されたキー情報ＤＬｂを読み出す。
【００４３】
ステップＳ５では、コマンド逆攪乱部２が、ステップＳ４で読み出したキー情報ＤＬｂを利用して、コマンドＩＤおよびアドレス情報の逆攪乱処理を施す。
【００４４】
ステップＳ６では、コマンド逆攪乱部２が、ステップＳ５の処理によって、元のコマンドＩＤおよびアドレス情報が復元されているか否かを判断する。コマンドＩＤが復元されていればステップＳ７へ進み、まだ攪乱処理が施された状態にあればステップＳ３へ戻る。即ち、情報処理装置側で施された攪乱処理の回数に応じて、コマンドが完全に復元されるまでステップＳ３〜Ｓ５の処理を繰り返し行い、情報処理装置からのコマンドおよびアドレス情報を復元するのである。
【００４５】
ここで、ステップＳ６で行う判断の方法は、情報処理装置側での攪乱処理が常に所定回数だけ行われるようにしておき、これに対応した回数の逆攪乱処理を終えたときにコマンドの復元を完了したと判断する態様のほか、情報処理装置側で行う攪乱処理回数はコマンド毎に可変であって、例えば、パラメータの中に予め攪乱処理の回数に係る情報を含ませておき、当該情報に応じた回数の逆攪乱処理を施すことでコマンドの復元を完了したと判断する態様であってもよいし、パラメータの中に予め攪乱処理の完了を示す情報を含ませておき、当該情報を認識した時点でコマンドの復元を完了したと判断する態様であっても構わない。尚、第三者によって不正なコマンドが入力されたために、逆攪乱処理によって正当なコマンドを復元することができない場合であっても、ステップＳ３からステップＳ６の処理が無限に繰り返されることのないようにするためには、例えば、所定の回数以上の逆攪乱処理を行ってもコマンドが復元されたと判断されないときは、強制的にステップＳ７へ移行するようにすればよい。
【００４６】
ステップＳ７では、コマンド逆攪乱部２が、ステップＳ６までの処理で復元されたコマンドＩＤに、記憶部４からのデータの読み出しを指示するリード情報が含まれているか否かを判定する。ここで、リード情報が含まれている場合には、データ攪乱部３にリード情報ＣＬｒを伝送し、ステップＳ８に進む。また、リード情報が含まれていない場合には、ステップＳ１０に進む。
【００４７】
リード情報が含まれていない場合には２つの可能性がある。一つめは、上述したように、第三者によって不正なコマンドが入力された場合である。そして、もう一つが、情報処理装置が、意図的に発したダミーコマンドである場合である。即ち、情報処理装置は、通常は、カートリッジ１からデータの読み出しが必要な場合にリード情報を含むコマンドを、上述したような攪乱処理を施した上でカートリッジ１に入力するが、この入力コマンドを観測して解析を試みる第三者を混乱させるため、偽の命令であるダミーコマンドを発することがある。
【００４８】
尚、リード情報が含まれていない場合の動作については、何もせずにステップＳ１０へ進む態様のほか、情報処理装置からのダミーコマンドでなく第三者から不正なコマンドが入力されたと判断したときには、例えば、データ攪乱部３から、乱数等からなる偽のデータであるダミーデータを出力する態様であってもよいし、入力コマンドの受信やデータの出力等、情報処理装置とカートリッジ１間の通信自体を遮断する態様であっても構わない。
【００４９】
このように、情報処理装置側からダミーコマンドを発したり、またはカートリッジ１からダミーデータを出力しても、第三者はこれが正常なデータであるか否かについてさえ判別不能であるため、第三者を混乱させ、情報処理装置とカートリッジ１間の通信のセキュリティを高めることができる。また、カートリッジ１との通信を遮断する場合も、悪意ある第三者の通信内容に係る解析行為を実施不可能とし、同様にセキュリティを高めることができる。
【００５０】
ステップＳ８では、アドレス情報ＣＬａに基づき、データ攪乱部３が、記憶部４内のデータ領域から、プログラムデータ等のデータ(記憶データ)を読み出す。ここで、アドレス情報ＣＬａとは、コマンド中のＣＭａに対応するアドレス情報である。具体的には、例えば、読み出しを指示するコマンドＩＤが読み出し対象とする記憶部４内のデータ領域に格納されたデータのアドレスを示す。
【００５１】
ステップＳ９では、データ攪乱部３が、記憶部４のデータ領域から読み出したデータに所定の攪乱処理を施し、入出力部１２から情報処理装置へ出力する。出力されたデータは、情報処理装置側で、データ攪乱部３の行った攪乱処理に対応する逆攪乱処理が施されて元のデータが復元され、情報処理装置によって利用されるのである。
【００５２】
ここで、データ攪乱部３が施すデータの攪乱処理は、情報処理装置が対応する逆攪乱処理を施すことで受信データを利用可能にしてあれば、キー情報を利用しない攪乱処理であってもよいし、所定のキー情報を利用する攪乱処理であってもよいし、あるいは、上述したコマンド逆攪乱部２の逆攪乱処理と同様に、記憶部４の暗号解読テーブル領域から読み出したキー情報を利用する態様であっても構わない。
【００５３】
ステップＳ１０では、入出力部１２において次のコマンド入力があるかを判定する。ここで、次のコマンド入力がある場合には、ステップＳ１に戻ってステップＳ１〜ステップＳ９の処理を繰り返す。また、次のコマンド入力がない場合には、カートリッジ１の動作を終了する。
【００５４】
ここで、上述した本発明でいう攪乱処理とは、キー情報を利用して所定の規則に従ってデータの並び等のデータ構造を変更するような比較的簡易な攪乱を施すスクランブル処理と、これに比して複雑な、例えば所定のキー情報を利用するアルゴリズム等に従ってデータ自体を変換するような攪乱を施す暗号化処理と、の２つの処理を指している。そして、入力コマンドに係る攪乱処理と、出力データに係る攪乱処理とは、スクランブル処理または暗号化処理のいずれを利用しても構わない。具体的には、コマンド逆攪乱部２では、暗号化処理に係る処理を行い、データ攪乱部３ではスクランブル処理を行うような態様であっても構わない。この場合、情報処理装置では、これらの動作に対応して、カートリッジ１への入力コマンドの生成には暗号化処理に基づく攪乱処理を施し、カートリッジ１からの出力データにはスクランブル処理に基づく逆攪乱処理を行うことになる。
【００５５】
また、例えば、コマンド逆攪乱部２とデータ攪乱部３とが、双方とも暗号化処理に係る動作をする場合であっても、その暗号化処理の内容が同じである必要はない。
【００５６】
以上のように、本発明では、記憶部４にコマンド逆攪乱部２とデータ攪乱部３のみを加えた、従来のセキュリティ機能を有する記憶装置と同様の構成でありながら、上述のような動作をすることで、記憶装置であるカートリッジに関して高いセキュリティを実現している。具体的には、カートリッジ１に入力される入力コマンドは、コマンド毎に含まれるパラメータが異なり、さらに攪乱処理が施されるため、同じコマンドであっても見かけ上異なる形となり、第三者による入力コマンドの解析を困難なものとすることができる。
【００５７】
また、入力コマンドは、キー情報を利用して複数回の攪乱処理が施されているが、このキー情報は、カートリッジ１内の記憶部４とコマンド逆攪乱部２との間でのみ利用され、カートリッジ１外部からは読み出し不可能なように保護されているため、カートリッジ１の入出力信号を観測してもキー情報に係る情報は一切得ることができず、カートリッジに格納されるデータの読み出しに対する高いセキュリティを実現することができる。
【００５８】
さらに、入力コマンドだけではなく、出力データについても攪乱処理を施すため、一層のセキュリティ強化を図ることができる。
【００５９】
そして、攪乱処理の内容はカートリッジ１内の記憶部４に格納されたキー情報に対応しているため、対応する情報処理装置側の処理内容を同様に変更する必要はあるものの、キー情報を格納する記憶部４内の暗号解読領域テーブルの内容を変更するだけで、カートリッジ１ごとに、その攪乱処理の内容を容易に変更することも容易である。
【００６０】
＜変形例＞
◎上記の記憶部４内に格納するデータについては、通常使用されるデータ形式でもよいが、攪乱処理されているのが好ましい。これにより、セキュリティをさらに向上できる。
【００６１】
◎コマンド逆攪乱部２とデータ攪乱部３は、それぞれ別々の構成要素として示しているが、これらの攪乱処理に係る処理部は、一の構成要素によって実現される態様であっても構わない。
【００６２】
◎本発明におけるパラメータ等の情報は、数値情報に限らず、文字列のみからなる情報や、数値および文字列の混合情報であっても構わない。
【００６３】
◎本発明におけるセキュリティ機能は有効にするか否かを制御可能であって、入力コマンドの攪乱処理、および出力データの攪乱処理のそれぞれを、本発明を利用する情報機器の有するセキュリティ機能に応じて、当該情報機器側から制御する態様であっても構わない。
【００６４】
◎コマンド逆攪乱部２の行う逆攪乱処理は、上述したように記憶部４に格納したキー情報を利用してコマンドを変換する態様のほか、記憶部４内に複数のマイクロコード等のソフトウェアプログラムが格納されており、コマンド逆攪乱部２が、これを実行することでコマンドを変換する態様であっても構わない。
【００６５】
◎また、上記実施形態では、コマンドＩＤ（ＣＭｏ）およびアドレス情報ＣＭａを含む形で攪乱処理し、これにインデックス情報をパラメータＣＭｂとして付加した例で説明したが、必ずしもその必要はない。例えば、暗号化処理等の攪乱処理自体が、攪乱処理後のデータに付加情報（インデックス情報）を付加する方式で行われ、攪乱処理後のデータそのものが付加情報（インデックス情報）を示す態様であってもよい。要するに、変換コマンドＣＭとしては、コマンド情報およびアドレス情報に所定のデータ変換を施して何らかの方式で付加情報を付加した全ての態様を含む。
【図面の簡単な説明】
【００６６】
【図１】本発明の第１実施形態に係るメモリカートリッジ１の要部構成を示す外観図である。
【図２】カートリッジ１の機能ブロックを示す図である。
【図３】カートリッジ１の基本的な動作を説明するためのフローチャートである。
【符号の説明】
【００６７】
１  メモリカートリッジ
２  コマンド逆攪乱部
３  データ攪乱部
４  記憶部
１２  入出力部
ＣＬａ  アドレス情報
ＣＬｂ  パラメータ
ＣＬｒ  リード情報
ＤＬｂ  キー情報
【図１】
2006164236.tif 000003
【図２】
2006164236.tif 000004
【図３】
2006164236.tif 000005