(57)【要約】【課題】  外部貯蔵装置に貯蔵されたデータが非正常的な方法で変更されたか否かをチェックすることができるマイクロコントローラが提供される。【解決手段】  本発明のマイクロコントローラは乱数比較部またはチェックデータ比較部を有し、内部データと外部データの乱数またはチェックデータが同一であるか否かを判別することができる。これを通じて本発明のマイクロコントローラは外部データを安全に保護することができる。【選択図】  図２
2006053916.tif 000002
【特許請求の範囲】
【請求項１】
乱数を生成する乱数発生器と、
前記乱数発生器で生成された第１乱数と第２貯蔵装置のアドレスを貯蔵する第１貯蔵装置と、
前記第２貯蔵装置のアドレスから読み出したデータから抽出した第２乱数と前記第１乱数が同一である時だけホストからの命令を実行して結果データを発生させる中央処理装置とを含むことを特徴とするマイクロコントローラ。
【請求項２】
前記第２貯蔵装置は、前記マイクロコントローラの外部にある外部貯蔵装置であることを特徴とする請求項１に記載のマイクロコントローラ。
【請求項３】
前記第２貯蔵装置のアドレスから読み出したデータは前記外部貯蔵装置の特定の領域に貯蔵されていることを特徴とする請求項２に記載のマイクロコントローラ。
【請求項４】
前記第１乱数と前記第２乱数とを比較するために内蔵したプログラムを利用することを特徴とする請求項２に記載のマイクロコントローラ。
【請求項５】
前記第１乱数と前記第２乱数とを比較するために乱数比較部をさらに含むことを特徴とする請求項２に記載のマイクロコントローラ。
【請求項６】
前記乱数発生器は前記ホストからの命令を実行した後、第３乱数を発生させることを特徴とする請求項２に記載のマイクロコントローラ。
【請求項７】
前記第３乱数と前記第２貯蔵装置のアドレスとを結合して第１乱数結合データを生成する乱数結合部をさらに含むことを特徴とする請求項７に記載のマイクロコントローラ。
【請求項８】
前記乱数結合部は前記第３乱数と前記結果データとを結合して第２乱数結合データをさらに生成することを特徴とする請求項７に記載のマイクロコントローラ。
【請求項９】
前記第２乱数結合データを暗号化して前記外部貯蔵装置に貯蔵するために暗号化部をさらに含むことを特徴とする請求項８に記載のマイクロコントローラ。
【請求項１０】
チェックデータを発生するチェックデータ発生器と、
前記チェックデータ発生器で生成された第１チェックデータと第２貯蔵装置のアドレスを貯蔵する第１貯蔵装置と、
前記第２貯蔵装置のアドレスから読み出したデータから前記第１チェックデータを抽出することができる時だけホストからの命令を実行して結果データを発生させる中央処理装置とを含むことを特徴とするマイクロコントローラ。
【請求項１１】
前記第２貯蔵装置は前記マイクロコントローラの外部にある外部貯蔵装置であることを特徴とする請求項１０に記載のマイクロコントローラ。
【請求項１２】
前記第２貯蔵装置から読み出したデータは前記外部貯蔵装置の特定の領域に貯蔵されていることを特徴とする請求項１１に記載のマイクロコントローラ。
【請求項１３】
前記第２貯蔵装置から読み出したデータから前記第１チェックデータを抽出するために内蔵したプログラムを利用することを特徴とする請求項１１に記載のマイクロコントローラ。
【請求項１４】
前記第２貯蔵装置から読み出したデータから前記第１チェックデータを抽出するためにチェックデータ抽出部をさらに含むことを特徴とする請求項１１に記載のマイクロコントローラ。
【請求項１５】
前記チェックデータ発生器は前記ホストからの命令を実行した後、結果データから第２チェックデータを発生させることを特徴とする請求項１１に記載のマイクロコントローラ。
【請求項１６】
前記第２チェックデータと前記第２貯蔵装置のアドレスとを結合してチェック結合データを生成するチェックデータ結合部をさらに含むことを特徴とする請求項１５に記載のマイクロコントローラ。
【請求項１７】
前記結果データを暗号化して前記外部貯蔵装置に貯蔵するために暗号化部をさらに含むことを特徴とする請求項１６に記載のマイクロコントローラ。
【請求項１８】
外部貯蔵装置と、
ホストと連結されるホストインターフェースと前記外部貯蔵装置と連結される外部メモリインターフェースとを有する集積回路を含み、
前記集積回路は、
乱数を発生するための乱数発生器と、
前記乱数発生器で発生した第１乱数と前記外部貯蔵装置のアドレスを貯蔵するための内部貯蔵装置と、
前記外部貯蔵装置のアドレスから読み出したデータから抽出した第２乱数と前記第１乱数が同一である時だけ前記ホストからの命令を実行して結果データを発生させる中央処理装置とを含むことを特徴とするカードシステム。
【請求項１９】
外部貯蔵装置と、
ホストと連結されるホストインターフェースと前記外部貯蔵装置と連結される外部メモリインターフェースとを有する集積回路を含み、
前記集積回路は、
チェックデータを発生するためのチェックデータ発生器と、
前記チェックデータ発生器で発生した第１チェックデータと前記外部貯蔵装置のアドレスを貯蔵するための内部貯蔵装置と、
前記外部貯蔵装置のアドレスから読み出したデータから前記第１チェックデータを抽出することができる時だけ前記ホストからの命令を実行して結果データを発生させる中央処理装置とを含むことを特徴とするカードシステム。
【請求項２０】
外部貯蔵装置から第１データを読み出す段階と、
前記第１データに該当する第２データを内部貯蔵装置から読み出す段階と、前記第１データから抽出した第１乱数と前記第２データから抽出した第２乱数とを比較する段階と、前記第１乱数と前記第２乱数が同一である時だけホストからの命令を実行して第３データを出力する段階とを含むことを特徴とする集積回路制御方法。
【請求項２１】
前記第１データを読み出す段階は、
前記第１データが前記外部貯蔵装置の特定の領域に貯蔵されているか否かを検査する段階を含むことを特徴とする請求項２０に記載の集積回路制御方法。
【請求項２２】
前記ホストからの命令を実行した後、第３乱数を発生させる段階をさらに含むことを特徴とする請求項２０に記載の集積回路制御方法。
【請求項２３】
前記第３乱数と前記第１データが貯蔵された前記外部貯蔵装置のアドレスとを結合して第１乱数結合データを生成する段階をさらに含むことを特徴とする請求項２２に記載の集積回路制御方法。
【請求項２４】
前記第３乱数と前記第３データとを結合して第２乱数結合データを生成する段階をさらに含むことを特徴とする請求項２３に記載の集積回路制御方法。
【請求項２５】
前記第２乱数結合データを暗号化する段階をさらに含むことを特徴とする請求項２４に記載の集積回路制御方法。
【請求項２６】
外部貯蔵装置から第１データを読み出す段階と、
前記第１データに該当する第２データを内部貯蔵装置から読み出す段階と、前記第１データから前記第２データに含まれた第１チェックデータを抽出する段階と、前記第１データから前記第１チェックデータを抽出することができる時だけホストからの命令を実行して第３データを出力する段階とを含むことを特徴とする集積回路制御方法。
【請求項２７】
前記第１データを読み出す段階は、
前記第１データが前記外部貯蔵装置の特定の領域に貯蔵されているか否かを検査する段階を含むことを特徴とする請求項２６に記載の集積回路制御方法。
【請求項２８】
前記ホストからの命令を実行した後、第２チェックデータを発生させる段階をさらに含むことを特徴とする請求項２６に記載の集積回路制御方法。
【請求項２９】
前記第２チェックデータと前記第１データが貯蔵された前記外部貯蔵装置のアドレスとを結合してチェック結合データを生成する段階をさらに含むことを特徴とする請求項２８に記載の集積回路制御方法。
【請求項３０】
前記第３データを暗号化する段階をさらに含むことを特徴とする請求項２９に記載の集積回路制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はスマートカードシステムに係わり、さらに具体的には内蔵メモリを有しているメモリカードと外部メモリを有しているスマートカードシステムに関する。
【背景技術】
【０００２】
メモリカード（Ｍｅｍｏｒｙ ｃａｒｄｓ）は貯蔵装置と、これを制御するためのコントローラで構成され、貯蔵装置では主にフラッシュメモリ（ｆｌａｓｈ ｍｅｍｏｒｙ）を使用するので、フラッシュカードとも呼ばれる。メモリカードは数百メガバイト（Ｍｅｇａ ｂｙｔｅｓ）以上のデータを貯蔵することができるので、大容量が必要なデジタルカメラ、キャムコーダ、各種ゲーム機などに広く使用されている。メモリカードには製造会社に従ってＭＭＣ（登録商標）（Ｍｕｌｔｉ Ｍｅｄｉａ Ｃａｒｄ）、ＳＤ（登録商標）（Ｓｅｃｕｒｅ Ｄｉｇｉｔａｌ）カード、コンパクトフラッシュ（登録商標）（ｃｏｍｐａｃｔ ｆｌａｓｈ）、メモリスティック（登録商標）（ｍｅｍｏｒｙ ｓｔｉｃｋ）などがあり、大部分速度とサイズだけに差があり、データ保安には非常に脆弱である。このうちのＳＤ（登録商標）カードはデータ保護方法を有しているが、貯蔵装置に保管された状態のデータ保護だけが可能であるのみで、ＳＤ（登録商標）カードの使用中にデータが変わる場合には保護することができない。
【０００３】
スマートカード（Ｓｍａｒｔ ｃａｒｄｓ）はマイクロプロセッサ、カード運営体制、保安モジュール、メモリなどを具備することによって、特定トランザクションを処理することができる能力を持つ集積回路チップ（Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ Ｃｈｉｐ）を内蔵したクレジットカードの大きさのプラスチックカードである。スマートカードは既存の磁気ストライプ（ｍａｇｎｅｔｉｃ ｓｔｒｉｐｅ）を付けて使用するカードに比べて安全性が高く、データが消されるおそれがないだけでなく、保安性が高くて次世代マルチメディア情報媒体として脚光を浴びている。最近スマートカードの応用範囲が拡がるに従って小容量である（主に１メガバイト以下）内蔵メモリ限界を脱するために大容量（主に数百メガバイト以上）の外部メモリを連結して使用する必要性がよく発生している。この場合、上述のメモリカードのように外部メモリに貯蔵されたデータの保安が問題になる。
【０００４】
図１は従来技術として外部貯蔵装置１７０を有するスマートカードシステム（または内部貯蔵装置１４０を有するメモリカードシステム）を示す。 図１を参照すると、カードシステムはマイクロコントローラ１００と外部貯蔵装置１７０で構成されている。マイクロコントローラ１００はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３０、内部貯蔵装置１４０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１５０などを含み、ホストと通信することができるホストインターフェース１１０、外部貯蔵装置１７０と通信することができる外部インターフェース１６０を含み、マイクロコントローラ１００内部のすべての装置はシステムバス１８０に連結されている。ホスト（図示しない）からの命令によってＣＰＵ１５０は外部貯蔵装置１７０の特定アドレスからデータを読み出してホストが要請した動作を実行し、結果データを再び外部貯蔵装置１７０に貯蔵する。
【０００５】
このような場合、外部貯蔵装置１７０は相対的に容易にアクセス可能であるので、ハッカー（ｈａｃｋｅｒ）によって攻撃対象になりやすい。すなわち、ハッカーが外部貯蔵装置１７０をコピーして写本を持っている状態で、ユーザーがカードシステム（スマートカードまたはメモリカードシステム）を使用し、以後にハッカーが元々の外部貯蔵装置１７０を引き離して写本を接続しておくと、貯蔵されたデータはユーザーが意図するデータではないであろう。特に金融関連データの場合、このような問題は非常に深刻になる。
【０００６】
したがって、カードシステムで外部貯蔵装置１７０に貯蔵されたデータが変更されたか否かを確認することができる機能が要求される。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は外部貯蔵装置に貯蔵されたデータが非正常的な方法で変更されたか否かをチェックすることができるマイクロコントローラを提供することにある。
【０００８】
本発明の他の目的は外部貯蔵装置に貯蔵されたデータを安全に保護するカードシステムを提供することにある。
【課題を解決するための手段】
【０００９】
上述の目的を達成するために本発明のマイクロコントローラは乱数を生成する乱数発生器（ｒａｎｄｏｍ ｎｕｍｂｅｒ ｇｅｎｅｒａｔｏｒ）と、前記乱数発生器で生成された第１乱数と第２貯蔵装置のアドレスを貯蔵する第１貯蔵装置と、前記第２貯蔵装置のアドレスから読み出したデータから抽出した第２乱数と、前記第１乱数が同一であるときのみ、ホストからの命令を実行して結果データを発生させる中央処理装置とを含む。
【００１０】
上述の目的を達成するために本発明のマイクロコントローラは、チェックデータを発生するチェックデータ発生器（ｃｈｅｃｋ ｄａｔａ ｇｅｎｅｒａｔｏｒ）と、前記チェックデータ発生器で生成された第１チェックデータと、第２貯蔵装置のアドレスを貯蔵する第１貯蔵装置と、前記第２貯蔵装置のアドレスから読み出したデータから前記第１チェックデータを抽出することができる時だけホストからの命令を実行して結果データを発生させる中央処理装置とを含む。
【００１１】
上述の目的を達成するために本発明のカードシステムは、外部貯蔵装置と、ホストと連結されるホストインターフェースと前記外部貯蔵装置と連結される外部メモリインターフェースを有する集積回路とを含み、前記集積回路は、乱数を発生するための乱数発生器と、前記乱数発生器で発生した第１乱数と前記外部貯蔵装置のアドレスを貯蔵するための内部貯蔵装置と、前記外部貯蔵装置のアドレスから読み出したデータから抽出した第２乱数と、前記第１乱数が同一である時だけ前記ホストからの命令を実行して結果データを発生させる中央処理装置とを含む。
【００１２】
上述の目的を達成するために本発明のカードシステムは、外部貯蔵装置と、ホストと連結されるホストインターフェースと前記外部貯蔵装置と連結される外部メモリインターフェースを有する集積回路とを含み、前記集積回路は、チェックデータを発生するためのチェックデータ発生器と、前記チェックデータ発生器で発生した第１チェックデータと前記外部貯蔵装置のアドレスを貯蔵するための内部貯蔵装置と、前記外部貯蔵装置のアドレスから読み出したデータから前記第１チェックデータを抽出することができる時だけ前記ホストからの命令を実行して結果データを発生する中央処理装置とを含む。
【００１３】
上述の目的を達成するために本発明の集積回路制御方法は、外部貯蔵装置から第１データを読み出す段階と、前記第１データに該当する第２データを内部貯蔵装置から読み出す段階と、前記第１データから抽出した第１乱数と前記第２データから抽出した第２乱数とを比べる段階と、第１乱数と前記第２乱数が同一である時だけホストからの命令を実行して第３データを出力する段階とを含む。
【００１４】
上述の目的を達成するために本発明の集積回路制御方法は、外部貯蔵装置から第１データを読み出す段階と、前記第１データに該当する第２データを内部貯蔵装置から読み出す段階と、前記第１データから前記第２データに含まれた第１チェックデータを抽出する段階と、第１データから前記第１チェックデータを抽出することができる時だけホストからの命令を実行して第３データを出力する段階とを含む。
【発明の効果】
【００１５】
本発明によると、外部貯蔵装置に貯蔵されたデータが非正常的な方法で変更されたか否かをチェックすることができるので、データを安全に保護することができる。さらに、チェックデータだけで変更の有無を判別することができるので、要求されるメモリの大きさは小さい。
【発明を実施するための最良の形態】
【００１６】
本発明と本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の実施形態を例示する添付の図及び添付の図に記載した内容を参照しなければならない。
【００１７】
以下、添付の図を参照して本発明の望ましい実施形態を説明することによって、本発明を詳細に説明する。各図に提示された同一の参照符号は同一の部材を示す。
【００１８】
図２は本発明の一実施形態によるカードシステムのためのマイクロコントローラ２００を示す。図２を参照すると、マイクロコントローラ２００はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３０、内部貯蔵装置２３０、乱数比較部２４０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２５０、乱数発生器２６０、乱数結合部２７０及び暗号化部２８０を含んでおり、ホストインターフェース２１０を通じてホスト（図示しない）と、外部インターフェース２９０を通じて外部貯蔵装置（図示しない）と通信することができる。マイクロコントローラ２００の内部の各装置はシステムバス２９５を通じて連結されており、各装置に貯蔵されたデータまたは出力されたデータはシステムバス２９５を通じて他の装置に伝達される。外部貯蔵装置はハードディスク（Ｈａｒｄ  Ｄｉｓｋ）、フラッシュメモリ（ｆｌａｓｈ ｍｅｍｏｒｙ）をはじめとする不揮発性メモリで構成することができ、内部貯蔵装置２３０よりずっと大容量のデータを貯蔵することができる。本発明では外部貯蔵装置としてフラッシュメモリを例としてあげるが、これに限定されない。本発明のうちの乱数比較部２４０、乱数結合部２７０は集積回路で作ることもでき、内蔵したプログラム（例えば、ファームウエア（ｆｉｒｍ−ｗａｒｅ））を利用することもできる。
【００１９】
図３は図２に示したマイクロコントローラ２００を適用したカードシステムの動作を説明するためのフローチャートである。図２および図３を参照すると、ホスト（図示しない）の命令に従ってＣＰＵ２５０は外部貯蔵装置（図示しない）の特定アドレスからデータを読み出し（３００段階）重要データ（ｓｅｃｕｒｅ ｄａｔａ）であるか否かを判断（３１０段階）して重要データではない場合、そのままホストの命令を実行し、重要データの場合、一般的に暗号化されているので、復号化を実行（３２０段階）し、乱数ＲＮ１とプレーンデータ（ｐｌａｉｎ ｄａｔａ）を生成する。 重要データであるか否かの判断は各データごとにフラッグ（ｆｌａｇ）を置いて指定することもでき、貯蔵されたアドレスが外部貯蔵装置の特定領域内にあるか否かによって決めることもできる。次に、３００段階で読み出したデータが貯蔵された外部貯蔵装置のアドレスを参照して内部貯蔵装置２３０から該当のデータの乱数ＲＮ２を読み出して乱数比較部２４０に送る。内部貯蔵装置２３０に貯蔵されたデータ（以下内部データ）が暗号化されている場合、まず復号化を実行（３４０段階）しなければならない。外部貯蔵装置に貯蔵されたデータ（以下外部データ）の乱数ＲＮ１と内部貯蔵装置２３０に貯蔵された乱数ＲＮ２を比較（３５０段階）して、互いに違う場合には外部データが非正常的な方法によって変更されたことになるので、ホストからの命令を実行せず、互いに同一の場合にだけホストの命令を実行（３６０段階）する。命令実行の後に発生したデータ（ｍｏｄｉｆｉｅｄ ｄａｔａ）と乱数発生器２６０とを通じて生成（３７０段階）した新しい乱数ＲＮ３を乱数結合部２７０を通じて結合（３８０段階）する。３８０段階で生成されたデータは暗号化部２８０を通じて暗号化（３８１段階）されて、元々貯蔵された外部貯蔵装置のアドレスにオーバライト（ｏｖｅｒｗｒｉｔｅ）される。また３７０段階で生成された新しい乱数ＲＮ３と外部貯蔵装置のアドレスを乱数結合部２７０を通じて結合（３９０段階）した後、暗号化（３９１段階）するか、暗号化をせず、元々貯蔵された内部貯蔵装置２３０のアドレスにオーバライト（ｏｖｅｒｗｒｉｔｅ）する。このように、本発明ではホストからの命令実行の後には乱数を生成して外部貯蔵装置と、より安全な内部貯蔵装置２３０に各々貯蔵することで、各貯蔵装置に貯蔵された乱数の比較過程を通じて外部データの変更の有無を容易に分かる。これによって、非正常的な状況（例えば、ハッカーが外部貯蔵装置をコピーして写本を持っている状態）でユーザーがホストからの命令を実行して変更されたデータが内部／外部貯蔵装置に貯蔵される場合、ハッカーが元々の外部貯蔵装置を引き離して写本を付けても貯蔵された乱数が内部貯蔵装置に貯蔵された乱数と違うので、ユーザーがデータの変更が分かって対策を講ずることができる。すなわち、本発明を通じて外部データをずっと安全に保護することができる。本発明の一実施形態では、本発明のマイクロコントローラがスマートカードまたはメモリカードシステムに適用されることとして説明するが、本発明のマイクロコントローラは外部貯蔵装置を有する多様なシステムに連結することができる。
【００２０】
図４は本発明の他の実施形態によるカードシステムのためのマイクロコントローラを示す。図４を参照すると、マイクロコントローラ４００はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３０、内部貯蔵装置４３０、チェックデータ比較部４４０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４５０、チェックデータ発生器４６０、チェックデータ結合部４７０及び暗号化部４８０を含んでおり、ホストインターフェース４１０を通じてホスト（図示しない）と、外部インターフェース４９０を通じて外部貯蔵装置（図示しない）と通信することができる。マイクロコントローラ内部の各装置はシステムバス４９５を通じて連結されており、各装置に貯蔵されたデータまたは出力されたデータはシステムバス４９５を通じて他の装置に伝達される。図４に示した装置のうちのチェックデータ比較部４４０、チェックデータ発生器４６０、チェックデータ結合部４７０は集積回路で作ることもでき、内蔵したプログラム（例えば、ファームウエア（ｆｉｒｍ−ｗａｒｅ））を利用することもできる。
【００２１】
図５は図４に図示されたマイクロコントローラ４００を適用したカードシステムの動作を説明するためのフローチャートである。 図４および図５を参照すると、ホスト（図示しない）の命令に従ってＣＰＵ４５０は外部貯蔵装置（図示しない）の特定アドレスからデータを読み出して（５００段階）重要データ（ｓｅｃｕｒｅ ｄａｔａ）であるか否かを判断（５１０段階）して、重要データではない場合、そのままホストの命令を実行し、重要データの場合、一般的に暗号化されているので、復号化を実行（５２０段階）してプレーンデータ（ｐｌａｉｎ ｄａｔａ）を生成する。重要データであるか否かに対する判断は各データごとにフラッグ（ｆｌａｇ）を置いて指定することもでき、貯蔵されたアドレスが外部貯蔵装置の特定領域内にあるか否かによって決めることもできる。生成されたプレーンデータ（ｐｌａｉｎ ｄａｔａ）からチェックデータ発生器４６０を通じてチェックデータ（ｃｈｅｃｋ ｄａｔａ１）を抽出してチェックデータ比較部４４０に送る。次に、５００段階で読み出したデータが貯蔵された外部貯蔵装置のアドレスを参照して内部貯蔵装置４３０から該当のデータのチェックデータ（ｃｈｅｃｋ ｄａｔａ２）を読み出してチェックデータ比較部４４０に送る。内部貯蔵装置４３０に貯蔵されたデータ（以下内部データ）が暗号化されている場合、まず復号化を実行（５４０段階）しなければならない。外部貯蔵装置に貯蔵されたデータ（以下外部データ）のチェックデータ（ｃｈｅｃｋ ｄａｔａ１）と内部貯蔵装置４３０に貯蔵されたチェックデータ（ｃｈｅｃｋ ｄａｔａ２）とを比較（５５０段階）して互いに違う場合には、外部データが非正常的な方法によって変更されたことになるので、ホストからの命令を実行せず、互いに同一な場合にだけホストの命令を実行（５６０段階）する。命令実行の後に発生したデータ（ｍｏｄｉｆｉｅｄ ｄａｔａ）は暗号化部４８０とチェックデータ発生器４６０に入力される。暗号化部４８０に伝達されたデータ（ｍｏｄｉｆｉｅｄ ｄａｔａ）は暗号化（５８０段階）されて元々貯蔵された外部貯蔵装置のアドレスにオーバライト（ｏｖｅｒｗｒｉｔｅ）される。 チェックデータ発生器４６０にデータ（ｍｏｄｉｆｉｅｄ ｄａｔａ）が入力されれば、新しいチェックデータ（ｃｈｅｃｋ ｄａｔａ３）を生成し、生成されたチェックデータ（ｃｈｅｃｋ ｄａｔａ３）と外部貯蔵装置のアドレスをチェックデータ結合部４７０を通じて結合（５９０段階）した後、暗号化（５９１段階）するか、暗号化をせず、元々貯蔵された内部貯蔵装置４３０のアドレスにオーバライト（ｏｖｅｒｗｒｉｔｅ）する。このように、本発明ではホストからの命令実行の後に発生したデータ（ｍｏｄｉｆｉｅｄ ｄａｔａ）からチェックデータを抽出して安全な内部貯蔵装置４３０に貯蔵することで、外部データでチェックデータを抽出する過程を通じて外部データの変更の有無を容易に分かる。これによって、非正常的な状況でユーザーがデータの変更を容易に分かって外部データをずっと安全に保護することができる。
【００２２】
例示的な望ましい実施形態を利用して本発明を説明したが、本発明の範囲は開示された実施形態に限定されないということがよく理解されるであろう。したがって、特許請求の範囲はそのような変形例及びその類似の構成の全部を含むことで、可能限り、幅広く解釈されなければならない。
【図面の簡単な説明】
【００２３】
【図１】外部貯蔵装置を含んだ従来のカードシステムである。
【図２】本発明の一実施形態によるマイクロコントローラ２００の構成を示す図である。
【図３】本発明の実施形態によるマイクロコントローラ２００の動作を説明するためのフローチャートである。
【図４】本発明の他の実施形態によるマイクロコントローラ４００の構成を示す図である。
【図５】本発明の他の実施形態によるマイクロコントローラ４００の動作を説明するためのフローチャートを示す。
【符号の説明】
【００２４】
１００，２００，４００  マイクロコントローラ
１１０，２１０，４１０  ホストインターフェース
１２０  ＲＡＭ
１３０  ＲＯＭ
１４０，２３０，４３０  内部貯蔵装置
１５０，２５０，４５０  ＣＰＵ
１６０，２９０，４９０  外部インターフェース
１７０  外部貯蔵装置
１８０，２９５，４９５  システムバス
２４０  乱数比較部
２６０  乱数発生器
２７０  乱数結合部
２８０，４８０  暗号化部
４４０  チェックデータ比較部
４６０  チェックデータ発生器
４７０  チェックデータ結合部
【図１】
2006053916.tif 000003
【図２】
2006053916.tif 000004
【図３】
2006053916.tif 000005
【図４】
2006053916.tif 000006
【図５】
2006053916.tif 000007