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