(57)【要約】【課題】  格段と安全な状態で外部メモリにデータを記憶させ得るようにする。【解決手段】  外部メモリ４に記憶させるデータに対して当該記憶させる記憶位置に応じた暗号化処理を施すようにしたことにより、例えばこの外部メモリ４から暗号化データが他の記憶媒体にコピーされてしまってもこの暗号化データが外部メモリ４のどの記憶位置に記憶されていたかを認識していなければ復号化することができず、かくして外部メモリ４に記憶させたデータの安全性を格段と向上させることができる。【選択図】          図１
2006023957.tif 000002
【特許請求の範囲】
【請求項１】
外部に設けられた外部メモリに記憶させるデータに対して暗号化を施すことにより暗号化データを生成する暗号化手段と、
上記暗号化データを上記外部メモリに対して書き込む書込手段と、
上記外部メモリから上記暗号化データを読み出す読出手段と、
上記読み出した暗号化データに対して復号化を施す復号化手段と
を具えることを特徴とする半導体集積回路。
【請求項２】
上記暗号化手段は、
上記外部メモリに記憶させるデータに対して当該記憶させる記憶位置に応じた暗号化を施すことにより上記暗号化データを生成し、
上記復号化手段は、
上記読み出した暗号化データに対して当該暗号化データの上記記憶位置に応じた復号化を施す
ことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
上記暗号化手段は、
上記外部メモリに記憶させるデータと当該データの記憶される記憶位置を示したアドレス情報とを組合せ処理することにより上記暗号化データを生成する
ことを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
上記組合せ処理では、上記データと上記アドレス情報との排他的論理和を計算する
ことを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
上記暗号化手段は、
上記外部メモリに記憶させるデータと当該データの記憶される記憶位置を示したアドレス情報とを組合せ処理した後ＤＥＳ（Data Encryption Standard）暗号化処理を施すことにより上記暗号化データを生成する
ことを特徴とする請求項２に記載の半導体集積回路。
【請求項６】
半導体集積回路と当該半導体集積回路の外部に設けられた外部メモリとを有する情報処理装置であって、
上記半導体集積回路は、
上記外部メモリに記憶させるデータに対して暗号化を施すことにより暗号化データを生成する暗号化手段と、
上記暗号化データを上記外部メモリに対して書き込む書込手段と、
上記外部メモリから上記暗号化データを読み出す読出手段と、
上記読み出した暗号化データに対して復号化を施す復号化手段と
を具えることを特徴とする情報処理装置。
【請求項７】
上記暗号化手段は、
上記外部メモリに記憶させるデータに対して当該記憶させる記憶位置に応じた暗号化を施すことにより上記暗号化データを生成し、
上記復号化手段は、
上記読み出した暗号化データに対して当該暗号化データの上記記憶位置に応じた復号化を施す
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
上記暗号化手段は、
上記外部メモリに記憶させるデータと当該データの記憶される記憶位置を示したアドレス情報とを組合せ処理することにより上記暗号化データを生成する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
上記組合せ処理では、上記データと上記アドレス情報との排他的論理和を計算する
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
上記暗号化手段は、
上記外部メモリに記憶させるデータと当該データの記憶される記憶位置を示したアドレス情報とを組合せ処理した後ＤＥＳ暗号化処理を施すことにより上記暗号化データを生成する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項１１】
外部に設けられた外部メモリに記憶させるデータに対して暗号化を施すことにより得られた暗号化データを記憶している上記外部メモリから、上記暗号化データを読み出す読出手段と、
上記読み出した暗号化データに対して復号化を施す復号化手段と
を具えることを特徴とする半導体集積回路。
【請求項１２】
上記読出手段は、
上記外部メモリに記憶させるデータに対して当該記憶させる記憶位置に応じた暗号化を施すことにより得られた上記暗号化データを上記記憶位置に記憶している上記外部メモリの上記記憶位置から、上記暗号化データを読み出し、
上記復号化手段は、
上記読み出した暗号化データに対して当該暗号化データの上記記憶位置に応じた復号化を施す
ことを特徴とする請求項１１に記載の半導体集積回路。
【請求項１３】
半導体集積回路と当該半導体集積回路の外部に設けられた外部メモリとを有する情報処理装置であって、
上記半導体集積回路は、
上記外部メモリに記憶させるデータに対して暗号化を施すことにより得られた暗号化データを記憶している上記外部メモリから、上記暗号化データを読み出す読出手段と、
上記読み出した暗号化データに対して復号化を施す復号化手段と
を具えることを特徴とする情報処理装置。
【請求項１４】
上記読出手段は、
上記外部メモリに記憶させるデータに対して当該記憶させる記憶位置に応じた暗号化を施すことにより得られた上記暗号化データを上記記憶位置に記憶している上記外部メモリの上記記憶位置から、上記暗号化データを読み出し、
上記復号化手段は、
上記読み出した暗号化データに対して当該暗号化データの上記記憶位置に応じた復号化を施す
ことを特徴とする請求項１３に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路及び情報処理装置に関し、例えば、非接触ＩＣカードと非接触でデータ通信するリーダライタ装置や当該リーダライタ装置に搭載される半導体集積回路に適用して好適なものである。
【背景技術】
【０００２】
駅の改札機、セキュリティシステム、電子マネーシステム等の分野においては、非接触ＩＣカードを用いた非接触ＩＣカードシステムが普及し始めている。
【０００３】
このような非接触ＩＣカードシステムにおいては、例えば、ユーザにより非接触ＩＣカードがリーダライタ装置にかざされると、非接触ＩＣカードとリーダライタ装置との間でデータ通信が開始される。
【０００４】
つまりこの際このリーダライタ装置は、アンテナ部を介して非接触ＩＣカードに対し電磁波を放射する。非接触ＩＣカードは、当該電磁波に応じて自身のアンテナ部に誘起される電圧を整流し、これを駆動電力として利用することによりバッテリーレスで動作するようになされている。
【０００５】
実際上このようなリーダライタ装置は、非接触ＩＣカードとデータ通信するためのアンテナ部と、当該アンテナ部に接続された半導体集積回路とを有しており、この半導体集積回路は、その内部に設けられた内部メモリに格納されているプログラムに従って、非接触ＩＣカードとデータ通信するための各種処理を実行するようになされている。またこの半導体集積回路内の内部メモリには、プログラムの他その他種々のデータも格納される（例えば特許文献１参照）。
【特許文献１】特開平１１−２５００３号公報（図２）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで近年このような半導体集積回路においては、取り扱うデータの量が増加する傾向にあるため、このようなデータを半導体集積回路内の内部メモリだけでなく、その外部に設けられた外部メモリに対して記憶させるようなことが考えられている。
【０００７】
しかしながら、このように半導体集積回路が取り扱うデータをそのまま外部メモリに記憶させてしまうと、半導体集積回路内部に記憶させておく場合と比べてこのデータが容易に漏洩してしまうことになり、この結果、外部メモリにデータを安全に記憶させておくことができるとは言い難い問題があった。
【０００８】
本発明は以上の点を考慮してなされたもので、格段と安全な状態で外部メモリにデータを記憶させることができる半導体集積回路及び情報処理装置を提案しようとするものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するため本発明においては、半導体集積回路において、外部に設けられた外部メモリに記憶させるデータに対して暗号化を施すことにより暗号化データを生成する暗号化手段と、暗号化データを外部メモリに対して書き込む書込手段と、外部メモリから暗号化データを読み出す読出手段と、読み出した暗号化データに対して復号化を施す復号化手段とを設けるようにした。
【００１０】
また本発明においては、半導体集積回路と当該半導体集積回路の外部に設けられた外部メモリとを有する情報処理装置であって、半導体集積回路には、外部メモリに記憶させるデータに対して暗号化を施すことにより暗号化データを生成する暗号化手段と、暗号化データを外部メモリに対して書き込む書込手段と、外部メモリから暗号化データを読み出す読出手段と、読み出した暗号化データに対して復号化を施す復号化手段とを設けるようにした。
【００１１】
このようにして、外部メモリに記憶させるデータに対して暗号化処理を施すようにしたことにより、安全な状態で外部メモリにデータを記憶させることができる。
【００１２】
さらに本発明においては、半導体集積回路において、暗号化手段は、外部メモリに記憶させるデータに対して当該記憶させる記憶位置に応じた暗号化を施すことにより暗号化データを生成し、復号化手段は、読み出した暗号化データに対して当該暗号化データの記憶位置に応じた復号化を施すようにした。
【００１３】
さらに本発明においては、情報処理装置において、暗号化手段は、外部メモリに記憶させるデータに対して当該記憶させる記憶位置に応じた暗号化を施すことにより暗号化データを生成し、復号化手段は、読み出した暗号化データに対して当該暗号化データの記憶位置に応じた復号化を施すようにした。
【００１４】
このようにして、外部メモリに記憶させるデータに対して当該記憶させる記憶位置に応じた暗号化処理を施すようにしたことにより、例えばこの外部メモリから暗号化データが他の記憶媒体にコピーされてしまってもこの暗号化データが外部メモリのどの記憶位置に記憶されていたかを認識していなければ復号化することができず、かくして格段と安全な状態で外部メモリにデータを記憶させることができる。
【発明の効果】
【００１５】
本発明によれば、外部メモリに記憶させるデータに対して暗号化処理を施すようにしたことにより、安全な状態で外部メモリにデータを記憶させることができる。
【００１６】
また本発明によれば、外部メモリに記憶させるデータに対して当該記憶させる記憶位置に応じた暗号化処理を施すようにしたことにより、例えばこの外部メモリから暗号化データが他の記憶媒体にコピーされてしまってもこの暗号化データが外部メモリのどの記憶位置に記憶されていたかを認識していなければ復号化することができず、かくして格段と安全な状態で外部メモリにデータを記憶させることができる。
【発明を実施するための最良の形態】
【００１７】
以下図面について、本発明の一実施の形態を詳述する。
【００１８】
（１）リーダライタ装置の構成
図１において、１は全体としてリーダライタ装置を示し、このリーダライタ装置１は、外部の非接触ＩＣカードと非接触によりデータ通信するためのアンテナ部２と、当該アンテナ部２に接続された半導体集積回路３と、この半導体集積回路３の外部に設けられた外部メモリ４とを有している。この外部メモリ４としては、例えば、フラッシュメモリ等の不揮発性メモリを適用することができる。
【００１９】
この半導体集積回路３においては、全体を統括的に制御するＣＰＵ（Central Processing Unit）５に対しバス６を介して、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）やＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等からなる内部メモリ７、後述する各種暗号化処理を実行する暗号回路８、外部メモリ４に対するデータの読み出し／書き込みを制御する外部メモリインターフェース部９、変調部１０及び復調部１１が接続されている。
【００２０】
因みにこの変調部１０及び復調部１１は、それぞれ送信部１２及び受信部１３を介してアンテナ部２に接続される。例えばこの変調部１０はＣＰＵ５の制御のもと、例えば外部の非接触ＩＣカードに対して送信するデータに対して変調処理を施し、この結果得られた信号を送信部１２に対して供給する。この際この送信部１２は、当該変調部１０から供給される信号を、アンテナ部２を介して外部へ送出するようになされている。一方受信部１３は、例えば外部の非接触ＩＣカードからアンテナ部２を介して受信した信号に対して２値化処理等を施し、この結果得られた２値化後の信号を復調部１１に対して供給する。この際この復調部１１は、受信部１３から供給される信号に対して復調処理を施し、この結果得られたデータをＣＰＵ５等に供給するようになされている。
【００２１】
ところで本実施の形態の場合この半導体集積回路３は、その外部に設けられた外部メモリ４に対してデータを読み書きするためのモードが４つ用意されている。この半導体集積回路３のＣＰＵ５は、これら４つのモードのうちユーザ等により予め設定された一のモードにより、外部メモリ４に対するデータの書き込み／読み出し処理を実行するようになされている。以下、これら４つのモードを順に説明する。
【００２２】
すなわち第１のモードに設定されている場合、この半導体集積回路３のＣＰＵ５は、外部メモリ４に記憶させるべきデータをそのまま外部メモリインターフェース部９に対して供給すると共に、これと併せて当該データを記憶させる記憶位置を示したアドレス情報を外部メモリインターフェース部９に対して供給する。この際この外部メモリインターフェース部９は、外部メモリ４上の記憶領域のうち、当該供給されたアドレス情報に対応する記憶位置に対し、当該供給されたデータをそのまま書き込むようになされている。
【００２３】
このように記憶されたデータを外部メモリ４から読み出す場合、ＣＰＵ５は、当該データの記憶されている記憶位置を示したアドレス情報を外部メモリインターフェース部９に対して供給する。この際この外部メモリインターフェース部９は、外部メモリ４上の記憶領域のうち、当該供給されたアドレス情報に対応する記憶位置からかかるデータを読み出し、当該読み出したデータをＣＰＵ５に対して供給するようになされている。
【００２４】
一方第２のモードに設定されている場合、この半導体集積回路３のＣＰＵ５は、外部メモリ４に記憶させるべきデータ及び当該データを記憶させる記憶位置を示したアドレス情報を、外部メモリインターフェース部９に供給する前に暗号回路８に対して供給する。
【００２５】
このとき暗号回路８は、当該供給されたデータと当該供給されたアドレス情報との排他的論理和（Exclusive-OR）を計算し、その結果得られたデータを暗号化データとしてＣＰＵ５に対して供給する。そしてＣＰＵ５は、暗号回路８から供給された暗号化データとこれに対応するアドレス情報とを、外部メモリインターフェース部９に対して供給する。
【００２６】
この際この外部メモリインターフェース部９は、外部メモリ４上の記憶領域のうち、当該供給されたアドレス情報に対応する記憶位置に対し、当該供給された暗号化データを書き込む。
【００２７】
かくして外部メモリ４には、外部メモリ４上の記憶位置を示すアドレス情報との排他的論理和が計算されることにより暗号化されたデータが記憶される。
【００２８】
そして、このように暗号化されたデータ（暗号化データ）を外部メモリ４から読み出す場合、ＣＰＵ５は、当該暗号化データの記憶されている記憶位置を示したアドレス情報を外部メモリインターフェース部９に対して供給する。この際この外部メモリインターフェース部９は、外部メモリ４上の記憶領域のうち、当該供給されたアドレス情報に対応する記憶位置からかかる暗号化データを読み出す。続いて外部メモリインターフェース部９は、ＣＰＵ５から供給されたかかるアドレス情報と当該読み出した暗号化データとの排他的論理和（Exclusive-OR）を計算することによりデータを復号し、当該復号したデータをＣＰＵ５に対して供給するようになされている。
【００２９】
また第３のモードに設定されている場合、この半導体集積回路３のＣＰＵ５は、外部メモリ４に記憶させるべきデータと、当該データを記憶させる記憶位置を示したアドレス情報とを、外部メモリインターフェース部９に供給する前に暗号回路８に対して供給する。
【００３０】
このとき暗号回路８は、当該供給されたデータと当該供給されたアドレス情報の上位ビット部分との排他的論理和（Exclusive-OR）を計算した後、その結果得られたデータに対してＤＥＳ（Data Encryption Standard）暗号化処理を施す。因みに本実施の形態の場合この暗号回路８は、かかる排他的論理和の計算時に使用するアドレス情報の上位ビット部分として、例えば、２４ビットでなるアドレス情報の上位２１ビットを使用する。
【００３１】
次いでこの暗号回路８は、当該ＤＥＳ暗号化処理を施すことにより得られたデータを暗号化データとしてＣＰＵ５に対して供給する。これに応じてＣＰＵ５は、暗号回路８から供給された暗号化データとこれに対応するアドレス情報とを、外部メモリインターフェース部９に対して供給する。
【００３２】
この際この外部メモリインターフェース部９は、外部メモリ４上の記憶領域のうち、当該供給されたアドレス情報に対応する記憶位置に対し、当該供給された暗号化データを書き込む。
【００３３】
かくして外部メモリ４には、外部メモリ４上の記憶位置を示すアドレス情報との排他的論理和が計算された後ＤＥＳ暗号化処理が施されることにより暗号化されたデータが記憶される。
【００３４】
そして、このように暗号化されたデータ（暗号化データ）を外部メモリ４から読み出す場合、ＣＰＵ５は、当該暗号化データの記憶されている記憶位置を示したアドレス情報を外部メモリインターフェース部９に対して供給する。この際この外部メモリインターフェース部９は、外部メモリ４上の記憶領域のうち、当該供給されたアドレス情報に対応する記憶位置からかかる暗号化データを読み出す。続いて外部メモリインターフェース部９は、当該読み出した暗号化データに対してＤＥＳ復号化処理を施した後、この結果得られたデータとかかるアドレス情報の上位ビット部分との排他的論理和を計算することによりデータを復号し、当該復号したデータをＣＰＵ５に対して供給するようになされている。
【００３５】
また第４のモードに設定されている場合、この半導体集積回路３のＣＰＵ５は、外部メモリ４に記憶させるべきデータと当該データを記憶させる記憶位置を示したアドレス情報とを、外部メモリインターフェース部９に供給する前に暗号回路８に対して供給する。
【００３６】
このとき暗号回路８は、当該供給されたデータと当該供給されたアドレス情報の上位ビット部分との排他的論理和（Exclusive-OR）を計算した後、その結果得られたデータに対してトリプルＤＥＳ暗号化処理を施す。因みにこの場合もこの暗号回路８は、かかる排他的論理和の計算時に使用するアドレス情報の上位ビット部分として、例えば、２４ビットでなるアドレス情報の上位２１ビットを使用する。
【００３７】
次いでこの暗号回路８は、当該トリプルＤＥＳ暗号化処理を施すことにより得られたデータを暗号化データとしてＣＰＵ５に対して供給する。これに応じてＣＰＵ５は、暗号回路８から供給された暗号化データとこれに対応するアドレス情報とを、外部メモリインターフェース部９に対して供給する。
【００３８】
この際この外部メモリインターフェース部９は、外部メモリ４上の記憶領域のうち、当該供給されたアドレス情報に対応する記憶位置に対し、当該供給された暗号化データを書き込む。
【００３９】
かくして外部メモリ４には、外部メモリ４上の記憶位置を示すアドレス情報との排他的論理和が計算された後トリプルＤＥＳ暗号化処理が施されることにより暗号化されたデータが記憶される。
【００４０】
そして、このように暗号化されたデータ（暗号化データ）を外部メモリ４から読み出す場合、ＣＰＵ５は、当該暗号化データの記憶されている記憶位置を示したアドレス情報を外部メモリインターフェース部９に対して供給する。この際この外部メモリインターフェース部９は、外部メモリ４上の記憶領域のうち、当該供給されたアドレス情報に対応する記憶位置からかかる暗号化データを読み出す。続いて外部メモリインターフェース部９は、当該読み出した暗号化データに対してトリプルＤＥＳ復号化処理を施した後、この結果得られたデータとかかるアドレス情報の上位ビット部分との排他的論理和を計算することによりデータを復号し、当該復号したデータをＣＰＵ５に対して供給するようになされている。
【００４１】
このようにこの半導体集積回路３は、第２〜第４のモードの何れかに設定されている場合、暗号回路８により暗号化した暗号化データを、外部メモリ４に対して記憶させるようになされている。そしてこのように暗号化されて記憶された暗号化データを外部メモリ４から読み出した際には、当該暗号化データに対する復号化処理が外部メモリインターフェース部９により実行されるようになされている。
【００４２】
因みに本実施の形態の場合、外部メモリ４に記憶させるデータを暗号回路８により暗号化し、その結果得られた暗号化データを外部メモリ４に記憶させるようにした場合について述べているが、本発明はこれに限らず、例えば、外部メモリ４に記憶させるデータを半導体集積回路３の外部で暗号化し、その結果得られた暗号化データを外部メモリ４に予め記憶させておく場合であっても良い。
【００４３】
（２）外部メモリインターフェース部
次に図２を用いて、外部メモリインターフェース部９を詳細に説明する。例えば第１のモードに設定されている際にＣＰＵ５が、外部メモリ４に対して記憶させるべきデータ（DATA）及び当該データ（DATA）を記憶させる記憶位置を示したアドレス情報（ADR）を、データを書き込むように命令するデータ書き込み命令信号（WR）と共に、外部メモリインターフェース部９に対して供給したとする。
【００４４】
この際この外部メモリインターフェース部９においては、ＣＰＵ５から供給されたアドレス情報（ADR）がアドレスデコーダ部２０に入力される。このアドレスデコーダ部２０は、当該入力されたアドレス情報（ADR）に基づいて、外部メモリ４における複数のメモリチップのうちデータを書き込むべきメモリチップを示したチップセレクト信号（ECS）を生成し、これを外部メモリ４に対して出力すると共にＯＲ回路２１に供給する。これに応じてこのＯＲ回路２１は、ＣＰＵ５からのデータ書き込み命令信号（WR）を、外部メモリ４に対するデータ書き込み命令信号（EWR）として出力する。さらに、このようにしてＯＲ回路２１からデータ書き込み命令信号（EWR）が出力されると、これに応じてスイッチ回路２２が、ＣＰＵ５からデータバスを介して供給されているデータ（DATA）を、外部メモリ４に対するデータ（EDATA）として出力する。
【００４５】
またこの外部メモリインターフェース部９においては、ＣＰＵ５から供給されたアドレス情報（ADR）が上位ビット部分と下位ビット部分とに分割された後、当該上位ビット部分がそのまま外部メモリ４に対して出力され、また当該下位ビット部分がタイミングコントロール部２３を介して外部メモリ４に出力される。
【００４６】
この結果この外部メモリ４は、外部メモリインターフェース部９からのデータ書き込み命令信号（EWR）に応じて、外部メモリインターフェース部９からのチップセレクト信号（ECS）及びアドレス情報（EADR）により特定される記憶位置に対し、外部メモリインターフェース部９からのデータ（EDATA）を書き込むようになされている。
【００４７】
また、このように第１のモードに設定されている際にＣＰＵ５が、外部メモリ４から読み出すべきデータの記憶位置を示したアドレス情報（ADR）を、データを読み出すように命令するデータ読み出し命令信号（RD）と共に、外部メモリインターフェース部９に対して供給したとする。
【００４８】
この際この外部メモリインターフェース部９においては、ＣＰＵ５から供給されたアドレス情報（ADR）がアドレスデコーダ部２０に入力される。このアドレスデコーダ部２０は、当該入力されたアドレス情報（ADR）に基づいてチップセレクト信号（ECS）を生成し、これを外部メモリ４に対して出力する。またこの外部メモリインターフェース部９においては、かかるアドレス情報（ADR）が上位ビット部分と下位ビット部分とに分割された後、当該上位ビット部分がそのまま外部メモリ４に対して出力され、また当該下位ビット部分がタイミングコントロール部２３を介して外部メモリ４に出力される。
【００４９】
さらに、この外部メモリインターフェース部９においては、ＣＰＵ５から供給されたデータ読み出し命令信号（RD）が、タイミングコントロール部２３に対して入力される。このタイミングコントロール部２３は、当該入力されたデータ読み出し命令信号（RD）を、外部メモリ４に対するデータ読み出し命令信号（ERD）として出力する。
【００５０】
この結果この外部メモリ４は、外部メモリインターフェース部９からのデータ読み出し命令信号（ERD）に応じて、外部メモリインターフェース部９からのチップセレクト信号（ECS）及びアドレス情報（EADR）により特定される記憶位置からデータを読み出し、当該読み出したデータを外部メモリインターフェース部９に対して供給する。
【００５１】
このとき外部メモリインターフェース部９においては、外部メモリ４から読み出されたデータが、キャッシュメモリ２４Ａ及び復号回路２４Ｂにより構成されたデータ処理部２４に入力される。ここでこの場合、外部メモリ４により読み出されたデータには暗号化が施されていないので、データ処理部２４はこのデータをそのままＣＰＵ５に対して供給するようになされている。
【００５２】
ところでこの半導体集積回路３が第２のモードに設定されている場合、外部メモリ４には排他的論理和を用いて暗号化された暗号化データが記憶されている。
【００５３】
例えばこの場合にＣＰＵ５が、外部メモリ４から読み出すべきデータの記憶位置を示したアドレス情報（ADR）を、データを読み出すように命令するデータ読み出し命令信号（RD）と共に、外部メモリインターフェース部９に供給したとする。
【００５４】
この際この外部メモリインターフェース部９においては、ＣＰＵ５から供給されたアドレス情報（ADR）がアドレスデコーダ部２０に入力される。このアドレスデコーダ部２０は、当該入力されたアドレス情報に基づいてチップセレクト信号（ECS）を生成し、これを外部メモリ４に対して出力する。またこの外部メモリインターフェース部９においては、かかるアドレス情報（ADR）が上位ビット部分と下位ビット部分とに分割された後、当該上位ビット部分がそのまま外部メモリ４に対して出力され、また当該下位ビット部分がタイミングコントロール部２３を介して外部メモリ４に対して出力される。
【００５５】
さらにこの外部メモリインターフェース部９においては、ＣＰＵ５から供給されたデータ読み出し命令信号（RD）が、タイミングコントロール部２３に対して入力される。このタイミングコントロール部２３は、当該入力されたデータ読み出し命令信号（RD）を、外部メモリ４に対するデータ読み出し命令信号（ERD）として出力する。
【００５６】
この結果この外部メモリ４は、外部メモリインターフェース部９からのデータ読み出し命令信号（ERD）に応じて、外部メモリインターフェース部９からのチップセレクト信号（ECS）及びアドレス情報（EADR）により特定される記憶位置から暗号化データを読み出し、当該読み出した暗号化データを外部メモリインターフェース部９に対して供給する。
【００５７】
このとき外部メモリインターフェース部９においては、外部メモリ４から読み出されたデータがデータ処理部２４に入力される。ここでこの場合、外部メモリ４により読み出された暗号化データには排他的論理和を用いた暗号化が施されているので、データ処理部２４内部の復号回路２４Ｂは、ＣＰＵ５から供給されているアドレス情報（ADR）とこの暗号化データとの排他的論理和を計算することによりデータを復号し、当該復号したデータをＣＰＵ５に対して供給するようになされている。
【００５８】
ところでこの半導体記憶装置が第３のモードに設定されている場合、外部メモリ４には排他的論理和及びＤＥＳを用いて暗号化された暗号化データが記憶されている。
【００５９】
ここで実際上このようにＤＥＳを用いた場合、データは６４ビット単位で暗号化されるので、外部メモリ４に対しては暗号化データが６４ビット単位で記憶されている。従って外部メモリインターフェース部９は、ＣＰＵ５からのデータ読み出し命令（RD）に応じて外部メモリ４から例えば８ビット分のデータを読み出す際、この８ビットのデータだけでなく、これと共に暗号化されている他のデータも一緒に読み出す必要がある。
【００６０】
すなわちＣＰＵ５が、例えば図３に示すタイミングＴ１において、外部メモリ４から読み出すべきデータの記憶位置を示したアドレス情報（ADR）「０００００６（１６進数）」を外部メモリインターフェース部９に対して供給開始すると共に、次のタイミングＴ２において、データ読み出し命令信号（RD）を外部メモリインターフェース部９に対して供給開始（アクティブ化）したとする。
【００６１】
これに応じて外部メモリインターフェース部９は、次のタイミングＴ３において、外部メモリ４からデータを読み出し終えるまで待機するように通知する待機通知信号（Wait）を、ＣＰＵ５に対して供給開始（アクティブ化）する。
【００６２】
外部メモリインターフェース部９においては、ＣＰＵ５から供給されているアドレス情報（ADR）「０００００６（１６進数）」が、アドレスデコーダ部２０に入力されるようになされている。このアドレスデコーダ部２０は、当該入力されたアドレス情報（ADR）に基づいてチップセレクト信号（ECS）を生成し、これを外部メモリ４に対して出力する。またこの外部メモリインターフェース部９においては、かかるアドレス情報（ADR）が上位ビット部分と下位ビット部分とに分割された後、当該上位ビット部分がそのまま外部メモリ４に対して出力され、これに対し当該下位ビット部分がタイミングコントロール部２３に対して供給されるようになされている。
【００６３】
因みに本実施の形態の場合このアドレス情報（ADR）は、上述したように例えば２４ビットでなり、かかる上位ビット部分は、例えばこのアドレス情報（ADR）の上位２１ビットに相当し、かかる下位ビット部分は、例えばこのアドレス情報（ADR）の下位３ビットに相当する。
【００６４】
このタイミングコントロール部２３は、当該入力されたアドレス情報（ADR）の下位ビット部分の値を、内部のカウンタ回路を用いて所定量戻した後、これを外部メモリ４に対して供給する。この結果例えばタイミングＴ２時には、外部メモリインターフェース部９から外部メモリ４に対し、上位ビット部分及び下位ビット部分を併せたアドレス情報（EADR）として「００００００（１６進数）」が出力される。
【００６５】
さらにこの外部メモリインターフェース部９においては、ＣＰＵ５から供給されているデータ読み出し命令信号（RD）が、タイミングコントロール部２３に対して入力されるようになされている。このタイミングコントロール部２３は、例えばタイミングＴ３〜タイミングＴ４の期間中、当該入力されているデータ読み出し命令信号（RD）を、外部メモリ４に対するデータ読み出し命令信号（ERD）として出力する。
【００６６】
この結果この外部メモリ４は、外部メモリインターフェース部９からのデータ読み出し命令信号（ERD）に応じて、タイミングＴ３〜タイミングＴ４の期間中、外部メモリインターフェース部９からのチップセレクト信号（ECS）やアドレス情報（EADR）「００００００（１６進数）」により特定される記憶位置から、例えば１６ビット分の暗号化データを読み出し、これを外部メモリインターフェース部９に対して供給する。
【００６７】
このとき外部メモリインターフェース部９においては、外部メモリ４から読み出された１６ビット分の暗号化データがデータ処理部２４に入力される。このデータ処理部２４は、当該１６ビット分の暗号化データをその内部のキャッシュメモリ２４Ａに記憶する。
【００６８】
次いでタイミングコントロール部２３は、前回所定量だけ値を戻したアドレス情報（ADR）の下位ビット部分の値を、内部のカウント回路を用いて所定量進めた後、これを外部メモリ４に対して供給する。この結果例えばタイミングＴ５時には、外部メモリインターフェース部９から外部メモリ４に対し、上位ビット部分及び下位ビット部分を併せたアドレス情報（EADR）として「０００００２（１６進数）」が出力される。
【００６９】
さらにこのタイミングコントロール部２３は、例えばタイミングＴ６〜タイミングＴ７の期間中、ＣＰＵ５から入力されているデータ読み出し命令信号（RD）を、外部メモリ４に対するデータ読み出し命令信号（ERD）として出力する。
【００７０】
この結果この外部メモリ４は、外部メモリインターフェース部９からのデータ読み出し命令信号（ERD）に応じて、タイミングＴ６〜タイミングＴ７の期間中、外部メモリインターフェース部９からのチップセレクト信号（ECS）やアドレス情報（EADR）「０００００２（１６進数）」により特定される記憶位置から、例えば１６ビット分の暗号化データを読み出し、これを外部メモリインターフェース部９に対して供給する。
【００７１】
このとき外部メモリインターフェース部９においては、外部メモリ４から読み出された１６ビット分の暗号化データがデータ処理部２４に入力される。このデータ処理部２４は、当該１６ビット分の暗号化データをその内部のキャッシュメモリ２４Ａに記憶する。この結果このキャッシュメモリ２４Ａには、計３２ビット分の暗号化データが記憶される。
【００７２】
さらに同じようにしてこのタイミングコントロール部２３は、かかるアドレス情報（ADR）の下位ビット部分の値を、内部のカウント回路を用いて順次進め、これを外部メモリ４に対して順次供給する。この結果、外部メモリインターフェース部９から外部メモリ４に対し、上位ビット部分及び下位ビット部分を併せたアドレス情報（EADR）として「０００００４（１６進数）」及び「０００００６（１６進数）」が順次出力される。
【００７３】
これによりこの外部メモリ４は、アドレス情報「０００００４（１６進数）」により特定される記憶位置から１６ビット分の暗号化データを読み出すと共に、アドレス情報「０００００６（１６進数）」により特定される記憶位置から１６ビット分の暗号化データを読み出し、これらを外部メモリインターフェース部９に対して順次供給する。
【００７４】
この結果データ処理部２４内のキャッシュメモリ２４Ａには、例えばタイミングＴ１３において、６４ビット分の暗号化データが記憶される。
【００７５】
これを受けてこの復号回路２４Ｂは、例えばタイミングＴ１３〜タイミングＴ１７の期間中、当該キャッシュメモリ２４Ａに記憶されている６４ビット分の暗号化データに対してＤＥＳ復号化処理を施すと共に、当該ＤＥＳ復号化処理の結果得られたデータとＣＰＵ５から供給されているアドレス情報（ADR）の上位ビット部分との排他的論理和を計算することにより、６４ビットのデータを復号する。そしてこの復号回路２４Ｂは、当該復号した６４ビットのデータのうち、ＣＰＵ５からのアドレス情報「０００００６（１６進数）」に対応する８ビットのデータを抽出し、これをＣＰＵ５に接続されているデータバスに対して出力開始する。またこのタイミングＴ１７においてタイミングコントロール部２３は、ＣＰＵ５に供給していた待機通知信号（Wait）を供給中止（非アクティブ化）する。
【００７６】
このように待機通知信号（Wait）が供給中止されるとＣＰＵ５は、外部メモリインターフェース部９に供給していたデータ読み出し命令信号（RD）を供給中止（非アクティブ化）すると共に、データバスに出力されている８ビットのデータをラッチする。このようにしてＣＰＵ５は、外部メモリインターフェース部９を介して、外部メモリ４に記憶されているデータを読み出すことができる。
【００７７】
因みにこの半導体記憶回路３が第４のモードに設定されている場合、外部メモリ４には排他的論理和及びトリプルＤＥＳを用いて暗号化された暗号化データが記憶されている。この場合、上述した第３のモード時と同様にして外部メモリ４からデータが読み出されるようになされている。
【００７８】
（３）動作及び効果
以上の構成においてこの半導体集積回路３は、外部メモリ４に記憶させるデータに対して当該記憶させる記憶位置に応じた暗号化処理を施す。
【００７９】
例えば、半導体集積回路３が第２のモードに設定されている場合この暗号化処理では、外部メモリ４に記憶させるデータと当該データを記憶させる記憶位置を示すアドレス情報との排他的論理和を計算するようになされている。また、半導体集積回路３が第３のモードに設定されている場合この暗号化処理では、外部メモリ４に記憶させるデータと当該データを記憶させる記憶位置を示すアドレス情報との排他的論理和を計算した後、さらにＤＥＳ暗号化処理を施すようになされている。また、半導体集積回路３が第４のモードに設定されている場合この暗号化処理では、外部メモリ４に記憶させるデータと当該データを記憶させる記憶位置を示すアドレス情報との排他的論理和を計算した後、さらにトリプルＤＥＳ暗号化処理を施すようになされている。
【００８０】
そしてこの半導体集積回路３は、このような暗号化処理の結果得られた暗号化データを外部メモリ４に対して書き込む。
【００８１】
かくして外部メモリ４に記憶された暗号化データには、当該記憶位置に応じた暗号化処理が施されているので、例えばこの外部メモリ４から暗号化データが他の記憶媒体にコピーされてしまってもこの暗号化データが外部メモリ４のどの記憶位置に記憶されていたかを認識していなければ復号化することができない。この結果、格段と安全な状態で外部メモリ４にデータを記憶させることができる。
【００８２】
またこの半導体集積回路３において外部メモリインターフェース部９は、ＣＰＵ５からのデータ読み出し命令信号に応じて外部メモリ４から暗号化データを読み出した場合、当該暗号化データに対する復号処理を実行し、この結果得られた復号後のデータをＣＰＵ５に対して供給するようにした。この結果ＣＰＵ５側においては、復号処理等を実行することなく外部メモリインターフェース部９から供給されるデータをそのまま利用することができる。
【００８３】
さらにこの半導体集積回路３において、外部メモリ４ではなく内部メモリ７に対してデータの書き込み処理や読み出し処理が行われている場合、内部メモリ７に対するデータ書き込み命令信号やデータ読み出し命令信号やアドレス情報がＣＰＵ５等から出力されるが、本実施の形態の場合これらの信号や情報は半導体集積回路３の外部に出力されないようになされている。このようにして、半導体集積回路３の内部に関する情報を外部に極力出力しないようにすることにより、半導体集積回路３内部に記憶されているデータの安全性も確保することができる。
【００８４】
以上の構成によれば、外部メモリ４に記憶させるデータに対して当該記憶させる記憶位置に応じた暗号化処理を施すようにしたことにより、例えばこの外部メモリ４から暗号化データが他の記憶媒体にコピーされてしまってもこの暗号化データが外部メモリ４のどの記憶位置に記憶されていたかを認識していなければ復号化することができず、かくして格段と安全な状態で外部メモリ４にデータを記憶させることができる。
【００８５】
因みに本実施の形態の場合この半導体集積回路３のＣＰＵ５は、例えば、外部メモリ４に記憶させた各データ（暗号化データ）のアドレス情報を内部メモリ７等に記憶しておくようになされている。これによりこの半導体集積回路３は、外部メモリ４に記憶されている各データの記憶位置を認識することができるので、外部メモリから問題なくデータを読み出すことができる。
【００８６】
（４）他の実施の形態
なお上述の実施の形態においては、図２に示すように、外部メモリインターフェース部９内に復号回路２４Ｂのみを設ける場合について述べたが、本発明はこれに限らず、図２との対応部分に同一符号を付した図４に示すように、外部メモリインターフェース部９Ｘ内に暗号回路２４ＣＸも併せて設けるようにしても良い。
【００８７】
ここで、排他的論理和のみを用いて暗号化した暗号化データを外部メモリ４に記憶させる場合を一例として、この図４に示す外部メモリインターフェース部９Ｘの動作を説明する。
【００８８】
すなわち例えばＣＰＵ５が、外部メモリ４に対して記憶させるべきデータ（DATA）及び当該データ（DATA）を記憶させる記憶位置を示したアドレス情報（ADR）を、データを書き込むように命令するデータ書き込み命令信号（WR）と共に、外部メモリインターフェース部９Ｘに対して供給したとする。
【００８９】
この際この外部メモリインターフェース部９Ｘにおいては、ＣＰＵ５から供給されたデータ（DATA）がデータ処理部２４Ｘ内の暗号回路２４ＣＸに供給される。この暗号回路２４ＣＸは、当該供給されたデータ（DATA）と、例えばＣＰＵ５からタイミングコントロール部２３Ｘを介して供給されるアドレス情報（ADR）との排他的論理和を計算し、この結果得られたデータを暗号化データとしてスイッチ回路２２Ｘに供給する。
【００９０】
またこの外部メモリインターフェース部９Ｘにおいては、ＣＰＵ５から供給されたアドレス情報（ADR）がアドレスデコーダ部２０Ｘに入力される。このアドレスデコーダ部２０Ｘは、当該入力されたアドレス情報（ADR）に基づいてチップセレクト信号（ECS）を生成し、これを外部メモリ４に対して出力する。またこの外部メモリインターフェース部９Ｘにおいては、ＣＰＵ５から供給されたアドレス情報（ADR）が上位ビット部分と下位ビット部分とに分割された後、当該上位ビット部分がそのまま外部メモリ４に対して出力され、また当該下位ビット部分がタイミングコントロール部２３Ｘを介して外部メモリ４に出力されるようになされている。
【００９１】
さらにこの外部メモリインターフェース部９Ｘにおいては、ＣＰＵ５から供給されたデータ書き込み命令信号（WR）が、タイミングコントロール部２３Ｘに対して供給される。このタイミングコントロール部２３Ｘは所定のタイミングで、このデータ書き込み命令信号（WR）を外部メモリ４に対するデータ書き込み命令信号（EWR）として出力する。そして、このようにタイミングコントロール部２３Ｘからデータ書き込み命令信号（EWR）が出力されると、これに応じてスイッチ回路２２Ｘは、暗号回路２４ＣＸから供給されている暗号化データを、外部メモリ４に対して供給開始する。
【００９２】
かくして外部メモリ４は、外部メモリインターフェース部９Ｘからのデータ書き込み命令信号（EWR）に応じて、外部メモリインターフェース部９Ｘからのチップセレクト信号（ECS）及びアドレス情報（EADR）により特定される記憶位置に対し、外部メモリインターフェース部９Ｘからの暗号化データを書き込むようになされている。
【００９３】
次に、排他的論理和及びＤＥＳを用いて暗号化されたデータが外部メモリ４に既に記憶されている状態において、この外部メモリ４に記憶されているデータを更新する場合の動作を説明する。
【００９４】
すなわち例えばＣＰＵ５が、外部メモリ４に既に記憶されている８ビットのデータを更新するためのデータ（DATA（以下、これを更新データと呼ぶ））と、この更新データ（DATA）により更新される８ビットのデータ（以下、これを更新対象データと呼ぶ）が記憶されている記憶位置を示したアドレス情報（ADR）とを、データ書き込み命令信号（WR）と共に、外部メモリインターフェース部９Ｘに対して供給したとする。
【００９５】
この際この外部メモリインターフェース部９Ｘは、外部メモリ４に対して更新データ（DATA）を書き終えるまで待機するように通知する待機通知信号（Wait）を、ＣＰＵ５に対して供給開始する。
【００９６】
そしてこの外部メモリインターフェース部９Ｘは、ＣＰＵ５から供給されるアドレス情報（ADR）の上位ビット部分をそのまま外部メモリ４に対して出力するようにした上で、当該アドレス情報（ADR）の下位ビット部分をタイミングコントロール部２３Ｘ内のカウンタ回路を用いて順次変化させることにより、外部メモリ４から更新対象データを含む６４ビットの暗号化データを順次読み出して、これをデータ処理部２４Ｘ内のキャッシュメモリ２４ＡＸに記憶する。
【００９７】
このようにしてキャッシュメモリ２４ＡＸに、更新対象データを含む６４ビットの暗号化データが記憶されると、これに応じてデータ処理部２４Ｘ内の復号回路２４ＢＸは、この６４ビットの暗号化データに対してＤＥＳ復号化処理を施した後、この結果得られたデータとＣＰＵ５から供給されているアドレス情報（ADR）の上位ビット部分との排他的論理和を計算することにより、６４ビットのデータを復号する。
【００９８】
そしてデータ処理部２４Ｘは、復号回路２４ＢＸにより復号された６４ビットのデータの中の更新対象データに対し、ＣＰＵ５から供給されている更新データを上書きする。次いでこのデータ処理部２４Ｘ内の暗号回路２４ＣＸは、当該上書き後のデータとＣＰＵ５から供給されているアドレス情報（ADR）の上位ビット部分との排他的論理和を計算した後、この結果得られたデータに対してＤＥＳ暗号化処理を施すことにより、６４ビットの暗号化データを生成する。
【００９９】
この後この外部メモリインターフェース部９Ｘは、ＣＰＵ５から供給されているアドレス情報（ADR）の上位ビット部分をそのまま外部メモリ４に対して出力し、また当該アドレス情報（ADR）の下位ビット部分をタイミングコントロール部２３Ｘ内のカウンタ回路を用いて順次変化させることにより、かかる６４ビットの暗号化データを外部メモリ４に対して書き戻す。そして外部メモリインターフェース部９Ｘは、当該６４ビットの暗号化データを書き戻し終えると、ＣＰＵ５に対して供給している待機通知信号（Wait）を供給中止する。
【０１００】
このようにして外部メモリ４上の暗号化されたデータが更新される。なおこの図４に示す外部メモリインターフェース部９Ｘにおいて、外部メモリ４からデータを読み出す際の動作は、上述した外部メモリインターフェース部９と同様である。
【０１０１】
また上述の実施の形態においては、半導体集積回路３と当該半導体集積回路３の外部に設けられた外部メモリ４とが搭載される情報処理装置として、非接触ＩＣカードと非接触でデータ通信するリーダライタ装置１を適用する場合について述べたが、本発明はこれに限らず、パーソナルコンピュータや携帯電話機やＰＤＡ（Personal Digital Assistance）等のこの他種々の情報処理装置を適用するようにしても良い。
【０１０２】
さらに上述の実施の形態においては、外部メモリ４に記憶させるデータと当該データの記憶される記憶位置を示すアドレス情報とを組み合わせる組合せ処理として、排他的論理和を適用する場合について述べたが、本発明はこれに限らず、例えば論理積や論理和や否定論理積や否定論理和等を適用するようにしても良い。またこのような組合せ処理を実行する前に、外部メモリ４に記憶させるデータ中の各ビットをそれぞれ異なる位置に移動させるような転置処理や、当該データの記憶される記憶位置を示すアドレス情報中の各ビットをそれぞれ異なる位置に移動させるような転置処理を実行するようにしても良い。またこのような組合せ処理を実行することにより得られたデータに対して、さらに転置処理を施すようにしても良い。
【０１０３】
さらに上述の実施の形態においては、半導体集積回路３の外部に設けられた外部メモリ４として、不揮発性メモリを適用する場合について述べたが、本発明はこれに限らず、半導体集積回路３の外部においてデータを記憶することができるものであれば、例えば、ＲＯＭやハードディスクドライブ等のこの他種々の記憶装置を適用することができる。
【０１０４】
さらに上述の実施の形態においては、暗号化データを生成する暗号化手段として、暗号回路８、２４ＣＸを適用する場合について述べたが、本発明はこれに限らずこの他種々の構成を適用することができる。また、暗号化データを外部メモリ４に書き込む書込手段、外部メモリ４から暗号化データを読み出す読出手段として、外部メモリインターフェース部９、９Ｘを適用する場合について述べたが、本発明はこれに限らずこの他種々の構成を適用することができる。また、暗号化データに対して当該暗号化データの記憶位置に応じた復号化を施す復号化手段として、復号回路２４Ｂ、２４ＢＸを適用する場合について述べたが、本発明はこれに限らずこの他種々の構成を適用することができる。
【産業上の利用可能性】
【０１０５】
本発明は、例えば、非接触ＩＣカードと非接触でデータ通信するリーダライタ装置や当該リーダライタ装置に搭載される半導体集積回路に利用することができる。
【図面の簡単な説明】
【０１０６】
【図１】本実施の形態におけるリーダライタ装置の構成を示す略線図である。
【図２】外部メモリインターフェース部の構成（１）を示す略線図である。
【図３】タイミングチャートを示す略線図である。
【図４】外部メモリインターフェース部の構成（２）を示す略線図である。
【符号の説明】
【０１０７】
１……リーダライタ装置、３……半導体集積回路、４……外部メモリ、５……ＣＰＵ、８、２４ＣＸ……暗号回路、９、９Ｘ……外部メモリインターフェース部、２４Ｂ、２４ＢＸ……復調回路。
【図１】
2006023957.tif 000003
【図２】
2006023957.tif 000004
【図３】
2006023957.tif 000005
【図４】
2006023957.tif 000006