JP4198706B2 - 記憶装置 - Google Patents

記憶装置 Download PDF

Info

Publication number
JP4198706B2
JP4198706B2 JP2005305675A JP2005305675A JP4198706B2 JP 4198706 B2 JP4198706 B2 JP 4198706B2 JP 2005305675 A JP2005305675 A JP 2005305675A JP 2005305675 A JP2005305675 A JP 2005305675A JP 4198706 B2 JP4198706 B2 JP 4198706B2
Authority
JP
Japan
Prior art keywords
information
command
data
conversion
disturbance
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
JP2005305675A
Other languages
English (en)
Other versions
JP2006164236A (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.)
MegaChips Corp
Original Assignee
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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2005305675A priority Critical patent/JP4198706B2/ja
Priority to US11/260,409 priority patent/US7827417B2/en
Priority to TW094138943A priority patent/TWI292529B/zh
Publication of JP2006164236A publication Critical patent/JP2006164236A/ja
Application granted granted Critical
Publication of JP4198706B2 publication Critical patent/JP4198706B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • 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/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography

Description

本発明は、例えば半導体メモリなどを内蔵した記憶装置に関し、特に記憶装置に格納されるデータに係るセキュリティ強化のための改良に関する。
従来の情報処理装置では、ソフトウェアプログラムやデータ等が格納された記憶装置を、画像表示部等を備えた情報処理装置に脱着自在に接続することによって、様々なソフトウェアプログラムを実行したり、データを利用したりすることが可能となっている。
このような記憶装置では、内部に記憶されたデータの機密保護のためにセキュリティ機能を備えるものがある。例えば、特許文献1には、排他的論理和演算を利用した暗号化および復号化により通信内容の秘匿性を維持する方法が示されている。
特開2002−91828号公報
しかし、上記特許文献1のように排他的論理和演算を利用する場合、専用のハードウェア等を利用すれば暗号化および復号化に要する処理時間が少なくて済むという利点を有する反面、演算自体は一般的な内容であり、第三者が、情報処理装置と記憶装置の間で行われる通信内容を観測することによって得られるセキュリテイ機能を解析するための手掛かりが多く、セキュリティ機能を比較的容易に解析されるという問題がある。そのため、特許文献1では、記憶装置毎に固有のID情報を持たせて、これを暗号化および復号化に係る処理に利用しているが、この処理を実現するために専用のハードウエアや複雑なソフトウェアプログラム等が必要となっている。
本発明は、上記課題に鑑みてなされたものであり、従来の記憶装置の構成の変更を最小限に留めながら、記憶装置内部に格納されたデータの機密を保護する技術を提供することを目的とする。
上記課題を解決すべく、請求項1の発明は、情報処理装置から、入出力部を介して、コマンド情報およびアドレス情報に所定のデータ変換を施して付加情報を付加した変換コマンドを、順次入力可能な記憶装置であって、所定のデータを記憶する記憶手段と、入力された前記変換コマンドから前記付加情報を抽出し、当該付加情報に基づいて前記記憶手段からキー情報を読み出し、当該キー情報を利用した前記所定のデータ変換に対応する逆変換を変換コマンドに施して、前記コマンド情報および前記アドレス情報を抽出する抽出手段と、前記コマンド情報が所定の情報である場合にのみ、前記抽出手段で抽出された前記アドレス情報に対応する記憶データを前記記憶手段から読み出して、前記入出力部を介して出力する出力制御手段とを備えることを特徴とする。
また、前記変換コマンドは、前記コマンド情報および前記アドレス情報に対するデータ変換およびそのデータ変換に対応する逆変換に必要な付加情報の付加、を所定回数施した変換コマンドであり、前記抽出手段は、入力された前記変換コマンドからの前記付加情報の抽出と、当該付加情報に基づく前記記憶手段からのキー情報の読み出しと、変換コマンドに対する当該キー情報を利用した前記データ変換に対応する逆変換と、を前記所定回数だけ繰り返して、前記コマンド情報および前記アドレス情報を抽出する手段であって、前記繰り返し各回毎に、その回での逆変換に必要な付加情報の抽出を行う手段、を含むことをも特徴とする。
また、請求項2の発明は、請求項1の発明に係る記憶装置であって、前記出力制御手段は、前記記憶データに所定のデータ変換を施した変換記憶データを生成する変換手段と、前記変換記憶データを前記入出力部を介して出力させる手段とを備えることを特徴とする。
また、請求項3の発明は、請求項1または請求項2の発明に係る記憶装置であって、前記記憶手段は、前記キー情報を格納する、前記情報処理装置からの記憶データの読み出しが不可能なキー情報領域と、前記情報処理装置の利用する前記記憶データを格納する、前記出力制御手段からの記憶データの読み出しが可能なデータ領域と、から構成されることを特徴とする。
また、請求項4の発明は、請求項1ないし請求項3のいずれかの発明に係る記憶装置であって、前記出力制御手段は、さらに、前記コマンド情報が所定の情報でない場合には、前記記憶データと相違する相違データを前記入出力部を介して出力させる手段、を備えることを特徴とする。
また、請求項5の発明は、請求項1ないし請求項3のいずれかの発明に係る記憶装置であって、前記出力制御手段は、さらに、前記コマンド情報が所定の情報でない場合には、前記入出力部を介したデータの出力を停止する手段、を備えることを特徴とする。
請求項1に記載の発明によれば、記憶手段に抽出手段と出力制御部を付加した構成により、変換コマンドからアドレス情報等に関する情報を直接取得できない通信を実現することで、情報処理装置と記憶装置間の通信内容のセキュリティを高めることができる。
さらに、前記抽出手段は、入力された前記変換コマンドからの前記付加情報の抽出と、当該付加情報に基づく前記記憶手段からのキー情報の読み出しと、変換コマンドに対する当該キー情報を利用した前記データ変換に対応する逆変換と、を前記所定回数だけ繰り返して、前記コマンド情報および前記アドレス情報を抽出する手段であって、前記繰り返しの各回毎に、その回での逆変換に必要な付加情報の抽出を行う手段、を含むため、悪意ある第三者の行う情報処理装置と記憶装置間の通信内容の解析作業を困難なものとすることができる。
請求項2に記載の発明によれば、記憶装置から出力するデータにもデータ変換を施すことで、さらに、情報処理装置と記憶装置間の通信内容のセキュリティを高めることができる。
請求項3に記載の発明によれば、キー情報が外部に出力されることがないため、データ変換に関するセキュリティを高めることができ、また、キー情報に関する領域の内容のみを変更することで、データ変換の内容を容易に変換することができる。
請求項4又は請求項5に記載の発明によれば、悪意ある第三者の行う情報処理装置と記憶装置間の通信内容の解析作業を困難なものとすることができる。

<カートリッジの要部構成>
図1は、本発明の第1実施形態に係るメモリカートリッジ(記憶装置)1の要部構成を示す外観図である。
メモリカートリッジ(以下では、単に「カートリッジ」という)1は、内部にソフトウェアプログラムやデータを記憶しており、情報処理装置に脱着自在に装着する構成となっている。そして、カートリッジに格納されたソフトウェアプログラムやデータを利用する情報処理装置としては、パソコン、PDA(Personal Digital Assistant)のような携帯情報端末装置、画像処理装置が該当する。その他にも様々な態様が考えられ、例えば、ゲーム用プログラムを格納したゲームカートリッジと、これを着脱自在に装着して利用するビデオゲーム機や携帯ゲーム機等にも本願発明の適用が可能であるが、以下では情報処理装置として説明する。
カートリッジ1は、内部に半導体メモリ等を含む電気回路を備える板状の本体部11を有し、その下部には、例えば複数の端子を有する入出力部12が設けられている。そして、カートリッジ1が情報処理装置に装着され、入出力部12が情報処理装置の入出力部と電気的に接続されることにより、カートリッジ1と情報処理装置との間でデータ伝送が可能となる。
図2は、カートリッジ1の機能ブロックを示す図である。
カートリッジ1は、上記の入出力部12にデータ伝送可能に接続するコマンド逆攪乱部2およびデータ攪乱部3と、これらに伝送可能に接続する記憶部4と、を備えている。
このカートリッジ1は、情報処理装置から入出力部12を介して入力されるコマンドに応じて、必要なデータを入出力部12から出力する。ここで、カートリッジ1に入力される入力コマンドは、情報処理装置において攪乱処理されたコマンド(変換コマンド)であるとともに、出力されるデータも、カートリッジ1において攪乱処理を施したものであるため、第三者がカートリッジ1に入出力される信号を観測しても、その内容を解読することは困難なものとなっている。以下では、このカートリッジ1の詳細を、各機能ブロックごとに説明する。
コマンド逆攪乱部(抽出手段)2は、情報処理装置で攪乱処理(データ変換)された変換コマンドCMを、逆攪乱処理(逆データ変換)する機能を有する。この逆攪乱処理は、情報処理装置側で変換コマンドを生成するときの攪乱処理に対応するもので、その処理方法が予め設定されている。また、コマンド逆攪乱部2は、変換コマンドCMを、元のコマンドに復元した後、パラメータCLbを抽出し、これに基づいて記憶部4内の暗号解読テーブル領域から読み出したキー情報DLbを利用した逆攪乱処理を行って、コマンドIDおよびアドレス情報CLaを抽出する機能も有している。
このとき、最初に行う情報処理装置の攪乱処理に対応する逆攪乱処理は、予め定められた所定のキー情報、または所定のパラメータに基づいて記憶部4内の暗号解読テーブル領域から読み出したキー情報を利用して行う。また、2回目以降に行う復元したコマンドからパラメータCLbを抽出して行う逆攪乱処理は、情報処理装置側で施された攪乱処理の回数に対応して複数回繰り返される。これらの処理の詳細については後述する。
記憶部(記憶手段)4は、コマンド逆攪乱部2が入力コマンドからコマンドを復元する逆攪乱処理に利用するキー情報を格納する暗号解読テーブル領域(キー情報領域)と、情報処理装置で利用するソフトウェアプログラム等のデータを格納するデータ領域とから構成されている。暗号解読テーブル領域には、コマンドを復元するための逆攪乱処理に必要なキー情報が格納されており、コマンド逆攪乱部2が、これを読み出して利用する。データ領域には、各アドレスごとにデータが記憶されており、アドレス情報に対応した記憶データを取り出すことができる。データ領域から取り出された記憶データは、データ攪乱部3に伝送される。尚、ここで利用する半導体メモリは、例えば、マスクROM等の様に書き込み不可能な半導体メモリであってもよいし、フラッシュメモリ等の書き込み可能な半導体メモリであっても構わない。また、フラッシュメモリ等を利用する場合にも、その利用用途によって、揮発性のメモリであってもよいし、不揮発性のメモリを利用する態様であっても構わない。
データ攪乱部(出力制御手段)3は、記憶部4から送られる記憶データに対して、データ攪乱処理を施して、入出力部12を介して出力する機能を有する。
そして、入出力部12から出力されたデータは、情報処理装置に入力され、当該情報処理装置側においてデータ攪乱部3で施した攪乱処理に対応する逆攪乱処理を施し、記憶部4に格納されていたデータを復元することで、入力コマンドによって要求したデータが得られることとなる。
尚、上述したカートリッジ1の各部の動作は、情報処理装置から入出力部12を介して供給される電源によって動作する専用のハードウェアおよびソフトウェアによって実現されている。また、コマンド逆攪乱部2およびデータ攪乱部3は、情報処理装置から供給されるイネーブル信号等を利用して、情報処理装置側の動作クロックに従って動作する。
<カートリッジの動作>
図3は、カートリッジ1の基本的な動作を説明するためのフローチャートである。本動作は、カートリッジ1内に記憶されたソフトウェアプログラム等のデータを読み出す際の処理に相当する。以下では、図2および図3を参照しながら、カートリッジ1の動作を詳しく説明する。
ステップS1では、情報処理装置側で攪乱処理された変換コマンドCMがカートリッジ1に入力される。この入力コマンドCMは、情報処理装置がカートリッジ1からデータを読み出す際に順次入力するもので、コマンドID(CMo)、アドレス情報CMaおよびパラメータ(付加情報)CMbを含んでる。ここで、パラメータCMbとは、コマンドID(CMo)およびアドレス情報CMaを抽出するために、入力コマンドを逆攪乱処理するときに利用するキー情報DLbを記憶部4から読み出すのに必要なインデックス情報のことをいう。尚、情報処理装置側で行う攪乱処理は1回ではなく複数回でもよいし、攪乱処理の回数は固定であってもよいし、コマンド毎に可変であっても構わない。
これ以降のカートリッジ1での動作を具体的に説明するにあたり、まず、情報処理装置側で行われるコマンドの攪乱処理について説明する。例えば、あるアドレスからのデータの読み出しを指示するコマンドを、コマンドID(CMo)およびアドレス情報CMaを含む形で攪乱処理する。このとき施した攪乱処理を解除するには、キー情報を必要とする。このキー情報はカートリッジ1内の記憶部4に記憶されているため、これを読み出すために必要なインデックス情報をパラメータCMbとして、攪乱処理後のコマンドに付加しておく。そして、こうして生成したコマンドをさらに攪乱処理し、同様に、この攪乱処理の解除に必要なインデックス情報を付加する。このような処理を複数回繰り返す。そして、最後にもう一度、コマンド全体を所定の方法に従って攪乱処理する。
具体的には、例えば、逆攪乱処理にキー情報を必要とする攪乱処理を5回施すとすると、上述したように、コマンドID(CMo)およびアドレス情報CMaを含むコマンドを攪乱処理した後に、インデックス情報を付加する処理を5回繰り返す。5回目の処理が終了しときのコマンドは、コマンドID(CMo),アドレス情報CMa,および4回目までの処理で付加されたインデックス情報を含み攪乱処理されたものに、5回目の攪乱処理の解除に必要となるインデックス情報を含むパラメータが付加された状態にある。このコマンドに、所定の方法に従って、6回目の攪乱処理を施した上で、カートリッジ1へ入力コマンドCMとして入力する。即ち、攪乱処理したコマンドにパラメータを付加する動作を繰り返し、最後に、付加したパラメータさえも元の形を留めることを避けるため、さらに所定の攪乱処理を施した上で、カートリッジ1に入力するのである。
尚、最後にコマンド全体を攪乱する処理(上記具体例では6回目の攪乱処理)は、所定のキー情報を利用する処理内容であってもよいし、所定のパラメータCMb(即ちインデックス情報)に基づいて記憶部4から読み出されるキー情報を利用する処理内容であっても構わない。また、攪乱処理を施す回数は、固定された値であってもよいし、コマンド毎に変更する態様であっても構わない。
このように、複数回の攪乱処理を施すことで、入力コマンドの解析を困難なものとすることができる。また、最後にコマンド全体を所定の方法で攪乱処理することで、付加したパラメータに対しても攪乱処理が施されるため、情報処理装置とカートリッジ1の間で行う通信を観測しても、パラメータの値を直接観測することができない。また、攪乱処理にインデックス情報を利用することで、その攪乱処理の方法を容易に変更することができるため、例えば同じアドレスからデータを読み出すための全く同じコマンドであっても、攪乱処理の方法を変更して、見かけ上は異なったコマンドとすることができる。さらに、攪乱処理を施す回数をコマンド毎に可変とすれば、攪乱処理内容の解析はさらに困難なものとなり、セキュリティを高めることができる。
ここで、上述したように、パラメータCMbの有するインデックス情報は、逆攪乱処理するために直接利用するものではなく、逆攪乱処理に必要なキー情報を記憶部4から読み出すためのインデックス情報にすぎない。
具体的には、例えば、「A」というキー情報を利用して所定の方法で攪乱処理を施したコマンドには、「A」をインデックス情報として直接付加するのではなく、この「A」を記憶部4から読み出すために必要なインデックス情報、例えば「A」が格納される記憶部4のアドレスを示す「0」、をパラメータとして付加するのである。このような態様でパラメータを付加することで、第三者が入力コマンドの解析に成功し、パラメータ「0」を抽出できたとしても、これからキー情報「A」を得ることは不可能であり、結果としてコマンドおよびアドレス情報を復元することはできない。
また、このキー情報「A」は、後述するように、記憶部4内の暗号解読テーブルに格納されるが、当該領域はゲームカートリッジ1内部の処理においてのみ利用され、情報処理装置から入力される読み出しコマンド等によって、その記憶内容をカートリッジ1の外部から読み出すことができない。即ち、当該領域は、悪意ある第三者によってその記憶内容が、カートリッジ1の外部に読み出されることがないよう保護されている。
このように、入力コマンドに攪乱処理を施して解析することが困難なものとし、解析されたとしても、そこから得られる情報を元のコマンドおよびアドレス情報を復元するために必要なキー情報に係る間接的な情報とし、さらに、復元に直接必要なキー情報をカートリッジ1外部からは読み出し不可能な領域に保存することで、入力コマンドに対する高いセキュリティを実現することができる。
なお、図2でコマンド入力ラインの上方に示されるコマンドCMは、コマンドID(CMo)やアドレス情報CMa、パラメータCMbを情報として含む様子を表しており、フレーム内における各情報の実際の位置ないしフレーム構造を示すものではない。例えば、コマンドID(CMo)とアドレスCMaとが一つのブロックとして攪乱処理された場合には、図2においてコマンドCM上方の括弧内に示すように、攪乱処理後のコマンドとパラメータCMbとで、変換コマンドが構成される。そして、攪乱処理後のコマンドが、情報としてコマンドID(CMo)及びアドレスCMaを含んでいる。
ステップS2では、コマンド逆攪乱部2が、情報処理装置側で最後に施された所定の攪乱処理方法に対応する1回目の逆攪乱処理を施して、複数回の攪乱処理が施されたコマンドIDおよびアドレス情報と、これに付加されたインデックス情報であるパラメータと、を含むコマンドを復元する。このとき行う逆攪乱処理は、上述したように、入力コマンドから抽出したパラメータを利用せずに逆攪乱処理できるよう攪乱処理されたものである。具体的には、情報処理装置側での攪乱処理内容に対応して予め用意された所定のキー情報を利用するものであってもよいし、所定のパラメータCLbに基づいて記憶部4内の暗号解読テーブル領域から読み出したキー情報を利用するものであっても構わない。
ステップS3では、コマンド逆攪乱部2が、復元されたコマンドから、パラメータCLbを抽出する。ここで、パラメータCLbとは、コマンド中のCMbに対応するインデックス情報である。具体的には、例えば上述したように、記憶部4内の暗号解読テーブル領域に格納されたコマンドの逆攪乱処理に必要なキー情報DLbのアドレスを示す。
ステップS4では、コマンド逆攪乱部2が、パラメータCLbに基づいて、記憶部4内の暗号解読テーブル領域に格納されたキー情報DLbを読み出す。
ステップS5では、コマンド逆攪乱部2が、ステップS4で読み出したキー情報DLbを利用して、コマンドIDおよびアドレス情報の逆攪乱処理を施す。
ステップS6では、コマンド逆攪乱部2が、ステップS5の処理によって、元のコマンドIDおよびアドレス情報が復元されているか否かを判断する。コマンドIDが復元されていればステップS7へ進み、まだ攪乱処理が施された状態にあればステップS3へ戻る。即ち、情報処理装置側で施された攪乱処理の回数に応じて、コマンドが完全に復元されるまでステップS3〜S5の処理を繰り返し行い、情報処理装置からのコマンドおよびアドレス情報を復元するのである。
ここで、ステップS6で行う判断の方法は、情報処理装置側での攪乱処理が常に所定回数だけ行われるようにしておき、これに対応した回数の逆攪乱処理を終えたときにコマンドの復元を完了したと判断する態様のほか、情報処理装置側で行う攪乱処理回数はコマンド毎に可変であって、例えば、パラメータの中に予め攪乱処理の回数に係る情報を含ませておき、当該情報に応じた回数の逆攪乱処理を施すことでコマンドの復元を完了したと判断する態様であってもよいし、パラメータの中に予め攪乱処理の完了を示す情報を含ませておき、当該情報を認識した時点でコマンドの復元を完了したと判断する態様であっても構わない。尚、第三者によって不正なコマンドが入力されたために、逆攪乱処理によって正当なコマンドを復元することができない場合であっても、ステップS3からステップS6の処理が無限に繰り返されることのないようにするためには、例えば、所定の回数以上の逆攪乱処理を行ってもコマンドが復元されたと判断されないときは、強制的にステップS7へ移行するようにすればよい。
ステップS7では、コマンド逆攪乱部2が、ステップS6までの処理で復元されたコマンドIDに、記憶部4からのデータの読み出しを指示するリード情報が含まれているか否かを判定する。ここで、リード情報が含まれている場合には、データ攪乱部3にリード情報CLrを伝送し、ステップS8に進む。また、リード情報が含まれていない場合には、ステップS10に進む。
リード情報が含まれていない場合には2つの可能性がある。一つめは、上述したように、第三者によって不正なコマンドが入力された場合である。そして、もう一つが、情報処理装置が、意図的に発したダミーコマンドである場合である。即ち、情報処理装置は、通常は、カートリッジ1からデータの読み出しが必要な場合にリード情報を含むコマンドを、上述したような攪乱処理を施した上でカートリッジ1に入力するが、この入力コマンドを観測して解析を試みる第三者を混乱させるため、偽の命令であるダミーコマンドを発することがある。
尚、リード情報が含まれていない場合の動作については、何もせずにステップS10へ進む態様のほか、情報処理装置からのダミーコマンドでなく第三者から不正なコマンドが入力されたと判断したときには、例えば、データ攪乱部3から、乱数等からなる偽のデータであるダミーデータを出力する態様であってもよいし、入力コマンドの受信やデータの出力等、情報処理装置とカートリッジ1間の通信自体を遮断する態様であっても構わない。
このように、情報処理装置側からダミーコマンドを発したり、またはカートリッジ1からダミーデータを出力しても、第三者はこれが正常なデータであるか否かについてさえ判別不能であるため、第三者を混乱させ、情報処理装置とカートリッジ1間の通信のセキュリティを高めることができる。また、カートリッジ1との通信を遮断する場合も、悪意ある第三者の通信内容に係る解析行為を実施不可能とし、同様にセキュリティを高めることができる。
ステップS8では、アドレス情報CLaに基づき、データ攪乱部3が、記憶部4内のデータ領域から、プログラムデータ等のデータ(記憶データ)を読み出す。ここで、アドレス情報CLaとは、コマンド中のCMaに対応するアドレス情報である。具体的には、例えば、読み出しを指示するコマンドIDが読み出し対象とする記憶部4内のデータ領域に格納されたデータのアドレスを示す。
ステップS9では、データ攪乱部3が、記憶部4のデータ領域から読み出したデータに所定の攪乱処理を施し、入出力部12から情報処理装置へ出力する。出力されたデータは、情報処理装置側で、データ攪乱部3の行った攪乱処理に対応する逆攪乱処理が施されて元のデータが復元され、情報処理装置によって利用されるのである。
ここで、データ攪乱部3が施すデータの攪乱処理は、情報処理装置が対応する逆攪乱処理を施すことで受信データを利用可能にしてあれば、キー情報を利用しない攪乱処理であってもよいし、所定のキー情報を利用する攪乱処理であってもよいし、あるいは、上述したコマンド逆攪乱部2の逆攪乱処理と同様に、記憶部4の暗号解読テーブル領域から読み出したキー情報を利用する態様であっても構わない。
ステップS10では、入出力部12において次のコマンド入力があるかを判定する。ここで、次のコマンド入力がある場合には、ステップS1に戻ってステップS1〜ステップS9の処理を繰り返す。また、次のコマンド入力がない場合には、カートリッジ1の動作を終了する。
ここで、上述した本発明でいう攪乱処理とは、キー情報を利用して所定の規則に従ってデータの並び等のデータ構造を変更するような比較的簡易な攪乱を施すスクランブル処理と、これに比して複雑な、例えば所定のキー情報を利用するアルゴリズム等に従ってデータ自体を変換するような攪乱を施す暗号化処理と、の2つの処理を指している。そして、入力コマンドに係る攪乱処理と、出力データに係る攪乱処理とは、スクランブル処理または暗号化処理のいずれを利用しても構わない。具体的には、コマンド逆攪乱部2では、暗号化処理に係る処理を行い、データ攪乱部3ではスクランブル処理を行うような態様であっても構わない。この場合、情報処理装置では、これらの動作に対応して、カートリッジ1への入力コマンドの生成には暗号化処理に基づく攪乱処理を施し、カートリッジ1からの出力データにはスクランブル処理に基づく逆攪乱処理を行うことになる。
また、例えば、コマンド逆攪乱部2とデータ攪乱部3とが、双方とも暗号化処理に係る動作をする場合であっても、その暗号化処理の内容が同じである必要はない。
以上のように、本発明では、記憶部4にコマンド逆攪乱部2とデータ攪乱部3のみを加えた、従来のセキュリティ機能を有する記憶装置と同様の構成でありながら、上述のような動作をすることで、記憶装置であるカートリッジに関して高いセキュリティを実現している。具体的には、カートリッジ1に入力される入力コマンドは、コマンド毎に含まれるパラメータが異なり、さらに攪乱処理が施されるため、同じコマンドであっても見かけ上異なる形となり、第三者による入力コマンドの解析を困難なものとすることができる。
また、入力コマンドは、キー情報を利用して複数回の攪乱処理が施されているが、このキー情報は、カートリッジ1内の記憶部4とコマンド逆攪乱部2との間でのみ利用され、カートリッジ1外部からは読み出し不可能なように保護されているため、カートリッジ1の入出力信号を観測してもキー情報に係る情報は一切得ることができず、カートリッジに格納されるデータの読み出しに対する高いセキュリティを実現することができる。
さらに、入力コマンドだけではなく、出力データについても攪乱処理を施すため、一層のセキュリティ強化を図ることができる。
そして、攪乱処理の内容はカートリッジ1内の記憶部4に格納されたキー情報に対応しているため、対応する情報処理装置側の処理内容を同様に変更する必要はあるものの、キー情報を格納する記憶部4内の暗号解読領域テーブルの内容を変更するだけで、カートリッジ1ごとに、その攪乱処理の内容を容易に変更することも容易である。
<変形例>
◎上記の記憶部4内に格納するデータについては、通常使用されるデータ形式でもよいが、攪乱処理されているのが好ましい。これにより、セキュリティをさらに向上できる。
◎コマンド逆攪乱部2とデータ攪乱部3は、それぞれ別々の構成要素として示しているが、これらの攪乱処理に係る処理部は、一の構成要素によって実現される態様であっても構わない。
◎本発明におけるパラメータ等の情報は、数値情報に限らず、文字列のみからなる情報や、数値および文字列の混合情報であっても構わない。
◎本発明におけるセキュリティ機能は有効にするか否かを制御可能であって、入力コマンドの攪乱処理、および出力データの攪乱処理のそれぞれを、本発明を利用する情報機器の有するセキュリティ機能に応じて、当該情報機器側から制御する態様であっても構わない。
◎コマンド逆攪乱部2の行う逆攪乱処理は、上述したように記憶部4に格納したキー情報を利用してコマンドを変換する態様のほか、記憶部4内に複数のマイクロコード等のソフトウェアプログラムが格納されており、コマンド逆攪乱部2が、これを実行することでコマンドを変換する態様であっても構わない。
◎また、上記実施形態では、コマンドID(CMo)およびアドレス情報CMaを含む形で攪乱処理し、これにインデックス情報をパラメータCMbとして付加した例で説明したが、必ずしもその必要はない。例えば、暗号化処理等の攪乱処理自体が、攪乱処理後のデータに付加情報(インデックス情報)を付加する方式で行われ、攪乱処理後のデータそのものが付加情報(インデックス情報)を示す態様であってもよい。要するに、変換コマンドCMとしては、コマンド情報およびアドレス情報に所定のデータ変換を施して何らかの方式で付加情報を付加した全ての態様を含む。
本発明の第1実施形態に係るメモリカートリッジ1の要部構成を示す外観図である。 カートリッジ1の機能ブロックを示す図である。 カートリッジ1の基本的な動作を説明するためのフローチャートである。
符号の説明
1 メモリカートリッジ
2 コマンド逆攪乱部
3 データ攪乱部
4 記憶部
12 入出力部
CLa アドレス情報
CLb パラメータ
CLr リード情報
DLb キー情報

Claims (5)

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

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005305675A JP4198706B2 (ja) 2004-11-15 2005-10-20 記憶装置
US11/260,409 US7827417B2 (en) 2004-11-15 2005-10-28 Storage device
TW094138943A TWI292529B (en) 2004-11-15 2005-11-07 Storage device with data security

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004330338 2004-11-15
JP2005305675A JP4198706B2 (ja) 2004-11-15 2005-10-20 記憶装置

Publications (2)

Publication Number Publication Date
JP2006164236A JP2006164236A (ja) 2006-06-22
JP4198706B2 true JP4198706B2 (ja) 2008-12-17

Family

ID=36575764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005305675A Active JP4198706B2 (ja) 2004-11-15 2005-10-20 記憶装置

Country Status (3)

Country Link
US (1) US7827417B2 (ja)
JP (1) JP4198706B2 (ja)
TW (1) TWI292529B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4743783B2 (ja) * 2006-11-02 2011-08-10 株式会社メガチップス メモリシステム
JP5435845B2 (ja) 2007-02-20 2014-03-05 株式会社メガチップス 信号処理装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505160B1 (en) * 1995-07-27 2003-01-07 Digimarc Corporation Connected audio and other media objects
US6661422B1 (en) * 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
JP3816689B2 (ja) 1999-03-31 2006-08-30 株式会社東芝 情報配信装置、情報受信装置及び通信方法
JP4395302B2 (ja) 1999-04-27 2010-01-06 パナソニック株式会社 半導体メモリカード及びその制御方法
JP2002024790A (ja) 2000-07-05 2002-01-25 Toshiba Corp 情報処理システム、携帯可能電子装置、及びキー変更方法
JP2002055961A (ja) 2000-08-14 2002-02-20 Matsushita Electric Ind Co Ltd Icカード装置及びプロキシ装置、並びにカード端末装置
JP2002091828A (ja) 2000-09-18 2002-03-29 Sharp Corp データ処理装置および記憶装置、並びに、それらを使用したデータ転送システム
JP2002109125A (ja) 2000-09-29 2002-04-12 Sansei R & D:Kk 遊技場ネットワーク管理システム
AU2002214146B2 (en) 2000-11-10 2007-11-22 Dubois Limited Security device for information storage media
US20020097419A1 (en) * 2001-01-19 2002-07-25 Chang William Ho Information apparatus for universal data output
KR100889099B1 (ko) 2001-08-28 2009-03-17 시게이트 테크놀로지 엘엘씨 데이터 저장 장치의 보안 방법 및 장치
CA2459726C (en) 2001-10-05 2013-09-03 Mastercard International Incorporated System and method for integrated circuit card data storage
JP2003174441A (ja) 2001-12-05 2003-06-20 Nippon Telegr & Teleph Corp <Ntt> コンテンツ暗号化方法,コンテンツ復号化方法,コンテンツ暗号化装置およびコンテンツ復号化装置
JP3789098B2 (ja) 2002-03-04 2006-06-21 株式会社東芝 ネットワークシステム、ネットワークアクセス装置、ネットワークサーバ及びネットワークアクセス制御方法
US20030212911A1 (en) 2002-05-13 2003-11-13 International Business Machines Corporation Secure control of access to data stored on a storage device of a computer system
US7036066B2 (en) * 2002-05-24 2006-04-25 Sun Microsystems, Inc. Error detection using data block mapping
JP2004088453A (ja) * 2002-08-27 2004-03-18 Fuji Photo Film Co Ltd 暗号化データ記録方法、暗号化データ記録システム及び暗号化データ再生システム
US7343488B2 (en) * 2002-09-30 2008-03-11 Intel Corporation Method and apparatus for providing discrete data storage security
US7243193B2 (en) * 2004-05-27 2007-07-10 Silverbrook Research Pty Ltd Storage of program code in arbitrary locations in memory

Also Published As

Publication number Publication date
US20060123247A1 (en) 2006-06-08
JP2006164236A (ja) 2006-06-22
US7827417B2 (en) 2010-11-02
TW200625081A (en) 2006-07-16
TWI292529B (en) 2008-01-11

Similar Documents

Publication Publication Date Title
JPWO2006085595A1 (ja) プログラム変換装置及びプログラム実行装置
KR20030071460A (ko) 메모리카드
JP4758904B2 (ja) 機密情報処理方法
JP2007304847A (ja) メモリ装置
CN109714368B (zh) 报文加解密方法、装置、电子设备及计算机可读存储介质
JP2007206762A (ja) 二次元コードを用いた通信方法および通信装置
Dey Amalgamation of cyclic bit operation in sd-ei image encryption method: An advanced version of sd-ei method: Sd-ei ver-2
KR20190022355A (ko) 데이터 보호 방법
AU2007353565B2 (en) Quantum program concealing device and quantum program concealing method
JP4198706B2 (ja) 記憶装置
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
Im et al. S-Box attack using FPGA reverse engineering for lightweight cryptography
JP6149749B2 (ja) 情報処理装置、情報処理システム、及びプログラム
US9438429B2 (en) Method for authentication and electronic device for performing the authentication
JP2007334016A (ja) データ暗号化装置及びデータ暗号化方法
JP4592337B2 (ja) データ記憶装置
US7366860B2 (en) Storage device configured to sequentially input a command
KR101440680B1 (ko) 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치
JP2008140104A (ja) メモリシステム及びメモリアクセス方法
JP2006191508A (ja) 通信システム、通信方法
US20100250602A1 (en) Computer storage apparatus for multi-tiered data security
JP2011119985A (ja) 暗号復号方法
CN104615944A (zh) 一种加密文件和解密文件的方法和装置
KR20210015403A (ko) 안티-인버전 함수를 이용한 화이트박스 암호 인코딩 장치 및 방법
JP5272544B2 (ja) 認証装置

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

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071130

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080905

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081001

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4198706

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

Year of fee payment: 4

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20151010

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