(57)【要約】【課題】  高速な内部処理と広範囲な動作空間との両立を適切に実現する。【解決手段】  ＩＣカード１は、リーダライタ２に捕捉（認識）される段階および少量の計算処理を実行する段階では、ＣＰＵ動作クロックの速度を低速または中速に変更することにより、広範囲な動作空間を実現し、一方、多量の計算処理を実行する段階、データの読出処理を実行する段階および計算結果やデータの書込処理を実行する段階では、ＣＰＵ動作クロックの速度を高速に変更することにより、高速な内部処理を実現する。【選択図】  図１
2005078181.tif 000002
【特許請求の範囲】
【請求項１】
リーダライタから送信された電波信号を受信するアンテナと、
前記アンテナにより受信された電波信号を復調してコマンドを抽出する復調手段と、
動作クロックを生成する動作クロック生成手段と、
前記復調手段により抽出されたコマンドを解読し、その解読結果に応じた内部処理を内部処理用の動作クロックを用いて実行する制御手段と、
前記動作クロック生成手段により生成された動作クロックの速度を変更する動作クロック速度変更手段とを備え、
前記制御手段は、前記動作クロック生成手段により生成された内部処理用の動作クロックの速度を自身が実行しようとする内部処理に応じて前記動作クロック速度変更手段により変更させ、その速度が変更された内部処理用の動作クロックを前記動作クロック速度変更手段から取込んで内部処理を実行することを特徴とする非接触ＩＣカード。
【請求項２】
請求項１に記載した非接触ＩＣカードにおいて、
暗号演算を暗号演算用の動作クロックを用いて実行する暗号演算手段を備え、
前記制御手段は、前記暗号演算手段に暗号演算を実行させる暗号演算処理を内部処理として実行しようとする場合に、前記動作クロック速度変更手段から自身への内部処理用の動作クロックの供給を停止させるかまたは前記動作クロック速度変更手段から自身へ供給される内部処理用の動作クロックの速度を低下させることを特徴とする非接触ＩＣカード。
【請求項３】
請求項２に記載した非接触ＩＣカードにおいて、
前記制御手段は、前記動作クロック生成手段により生成された暗号演算用の動作クロックの速度を前記動作クロック速度変更手段により変更させ、その速度が変更された暗号演算用の動作クロックを前記動作クロック速度変更手段から前記暗号演算手段に供給させることを特徴とする非接触ＩＣカード。
【請求項４】
請求項１ないし３のいずれかに記載した非接触ＩＣカードにおいて、
計算結果やデータの書込みを実行する記憶手段を備え、
前記制御手段は、前記記憶手段に計算結果やデータの書込みを実行させる書込処理を内部処理として実行しようとする場合に、前記動作クロック速度変更手段から自身への内部処理用の動作クロックの供給を停止させるかまたは前記動作クロック速度変更手段から自身へ供給される内部処理用の動作クロックの速度を低下させることを特徴とする非接触ＩＣカード。
【請求項５】
請求項１ないし４のいずれかに記載した非接触ＩＣカードにおいて、
前記制御手段は、リーダライタからのコマンドの受信処理またはリーダライタへのコマンド処理結果の応答処理を内部処理として実行しようとする場合に、前記動作クロック生成手段により生成された内部処理用の動作クロックの速度を受信の通信速度または応答の通信速度に応じて前記動作クロック速度変更手段により低下させ、その速度が低下された内部処理用の動作クロックを前記動作クロック速度変更手段から取込んで内部処理を実行することを特徴とする非接触ＩＣカード。
【請求項６】
請求項１ないし５のいずれかに記載した非接触ＩＣカードにおいて、
前記制御手段は、少なくともリーダライタから最初に受付けられたコマンドに応じた内部処理を実行しようとする場合に、前記動作クロック生成手段により生成された内部処理用の動作クロックの速度を他のコマンドに応じた内部処理を実行しようとする場合よりも低下させ、その速度が低下された内部処理用の動作クロックを前記動作クロック速度変更手段から取込んで内部処理を実行することを特徴とする非接触ＩＣカード。
【請求項７】
請求項１ないし６のいずれかに記載した非接触ＩＣカードにおいて、
前記制御手段は、自身が実行しようとする内部処理に応じて必要な機能ブロックを活性化させると共に不必要な機能ブロックを非活性化させることを特徴とする非接触ＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リーダライタから送信されたコマンドを解読し、その解読結果に応じた内部処理を内部処理用の動作クロックを用いて実行するように構成された非接触ＩＣカードに関する。
【背景技術】
【０００２】
従来より、リーダライタと非接触ＩＣカードとの間で電波信号を送受信してデータ通信を行うものが供されている（例えば特許文献１参照）。
【特許文献１】特開２００３−５０９７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、この種の非接触ＩＣカードでは、リーダライタに対する速やかな処理（いわゆる「タッチ＆ゴー」）を実現するために、高速な内部処理と広範囲な動作空間との両立が要望されている。
【０００４】
しかしながら、高速な内部処理を実現しようすると、動作クロックの速度を高速化せざるを得ず、そうなると、消費電力が増大し、非接触ＩＣカードを動作させるのに高い磁界強度が必要となり、広範囲な動作空間を実現することができないという問題がある。一方、広範囲な動作空間を実現しようとすると、消費電力を抑制するために、動作クロックの速度を低速化せざるを得ず、そうなると、高速な内部処理を実現することができないという問題がある。
【０００５】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、高速な内部処理と広範囲な動作空間との両立を適切に実現することができ、いわゆる「タッチ＆ゴー」に好適する非接触ＩＣカードを提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載した発明によれば、リーダライタから送信された電波信号がアンテナにより受信されると、復調手段は、その受信された電波信号を復調してコマンドを抽出する。そして、制御手段は、その抽出されたコマンドを解読し、動作クロック生成手段により生成された内部処理用の動作クロックの速度を自身が実行しようとする内部処理に応じて動作クロック速度変更手段により変更させ、その速度が変更された内部処理用の動作クロックを動作クロック速度変更手段から取込み、内部処理を内部処理用の動作クロックを用いて実行する。
【０００７】
したがって、非接触ＩＣカードにおいては、例えばリーダライタに捕捉（認識）される段階および少量の計算処理を実行する段階では、内部処理用の動作クロックの速度を低速に変更することにより、消費電力を抑制して低い磁界強度でも動作可能とし、広範囲な動作空間を実現することができ、一方、多量の計算処理を実行する段階、データの読出処理を実行する段階および計算結果やデータの書込処理を実行する段階では、内部処理用の動作クロックの速度を高速に変更することにより、高速な内部処理を実現することができる。このように、これから実行しようとする内部処理に応じて内部処理用の動作クロックを逐次変更することにより、高速な内部処理と広範囲な動作空間との両立を適切に実現することができ、いわゆる「タッチ＆ゴー」に好適する非接触ＩＣカードを実現することができる。
【０００８】
請求項２に記載した発明によれば、制御手段は、暗号演算手段に暗号演算を実行させる暗号演算処理を内部処理として実行しようとする場合に、動作クロック速度変更手段から自身への内部処理用の動作クロックの供給を停止させるかまたは動作クロック速度変更手段から自身へ供給される内部処理用の動作クロックの速度を低下させるので、暗号演算手段が暗号演算を実行するのに必要な動作電力を適切に確保することができ、暗号演算手段が暗号演算を適切に実行することができる。
【０００９】
請求項３に記載した発明によれば、制御手段は、動作クロック生成手段により生成された暗号演算用の動作クロックの速度を動作クロック速度変更手段により変更させ、その速度が変更された暗号演算用の動作クロックを動作クロック速度変更手段から暗号演算手段に供給させるので、暗号演算手段における暗号演算の処理速度を逐次変更することができる。
【００１０】
請求項４に記載した発明によれば、制御手段は、記憶手段に計算結果やデータの書込みを実行させる書込処理を内部処理として実行しようとする場合に、動作クロック速度変更手段から自身への内部処理用の動作クロックの供給を停止させるかまたは動作クロック速度変更手段から自身へ供給される内部処理用の動作クロックの速度を低下させるので、記憶手段が計算結果やデータの書込みを実行するのに必要な動作電力を適切に確保することができ、記憶手段が計算結果やデータの書込みを適切に実行することができる。
【００１１】
請求項５に記載した発明によれば、制御手段は、リーダライタからのコマンドの受信処理またはリーダライタへのコマンド処理結果の応答処理を内部処理として実行しようとする場合に、動作クロック生成手段により生成され内部処理用の動作クロックの速度を受信の通信速度または応答の通信速度に応じて低下させ、その速度が低下された内部処理用の動作クロックを動作クロック速度変更手段から取込んで内部処理を実行するので、制御手段が受信処理または応答処理を実行するのに必要な動作電力を適切に確保することができ、制御手段が受信処理または応答処理を適切に実行することができ、しかも、応答処理を実行する場合に十分な応答出力を確保することができる。また、これ以降の他の機能ブロックの動作電力を適切に確保することもできる。
【００１２】
請求項６に記載した発明によれば、制御手段は、少なくともリーダライタから最初に受付けられたコマンドに応じた内部処理を実行しようとする場合に、動作クロック生成手段により生成された内部処理用の動作クロックの速度を他のコマンドに応じた内部処理を実行しようとする場合よりも低下させ、その速度が低下された内部処理用の動作クロックを動作クロック速度変更手段から取込んで内部処理を実行するので、リーダライタに捕捉される段階、つまり、起動する段階で広範囲な動作空間を適切に実現することができる。
【００１３】
請求項７に記載した発明によれば、制御手段は、自身が実行しようとする内部処理に応じて必要な機能ブロックを活性化させると共に不必要な機能ブロックを非活性化させるので、非接触ＩＣカード全体としての不要な消費電力を抑制することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施形態について、図面を参照して説明する。まず、図２は、非接触ＩＣカード（以下、ＩＣカードと称する）およびリーダライタの電気的な構成を機能ブロック図として示している。
ＩＣカード１は、リーダライタ２との間で電波信号を送受信するアンテナ３と、アンテナ３により受信された電波信号を整流して動作電力を生成する整流回路４と、整流回路４により生成された動作電力を蓄積するコンデンサ５と、処理回路６とを備えて構成されている。
【００１５】
処理回路６は、ＣＰＵ７（本発明でいう制御手段）と、復調器８（本発明でいう復調手段）と、動作クロック生成器９（本発明でいう動作クロック生成手段）と、動作クロック速度変更器１０（本発明でいう動作クロック速度変更手段）と、変調器１１と、ＲＡＭ１２と、不揮発性メモリ１３（本発明でいう記憶手段）と、暗号器１４（本発明でいう暗号演算手段）と、乱数生成器１５とを備えて構成されている。
【００１６】
ＣＰＵ７は、制御プログラムを実行してＩＣカード１の動作全般を制御する。復調器８は、リーダライタ２から送信されてアンテナ３に受信された電波信号が入力されると、その入力された電波信号を復調してコマンドを抽出し、その抽出されたコマンドをＣＰＵ７に出力する。
【００１７】
動作クロック生成器９は、リーダライタ２から送信されてアンテナ３に受信された電波信号に基づいて基本クロックを生成し、その生成された基本クロックを動作クロック速度変更器１０に出力する。この場合、動作クロック生成器９は、例えばＩＣカード１とリーダライタ２との間で送受信される電波信号の周波数帯が「１３．５６ＭＨｚ」であると、その電波信号の周波数帯と同一の「１３．５６ＭＨｚ」の速度の基本クロックを生成して動作クロック速度変更器１０に出力する。また、ここでいう基本クロックは、詳しくは後述するように、本発明でいう内部処理用の動作クロックおよび暗号演算用の動作クロックの基礎となる動作クロックである。
【００１８】
動作クロック速度変更器１０は、動作クロック生成器９から基本クロックが入力されると、その入力された基本クロックをＣＰＵ７から入力された制御信号に基づいて制御する。具体的に説明すると、動作クロック速度変更器１０は、ＣＰＵ７から速度の変更を指示するための制御信号が入力されると、動作クロック生成器９から入力された基本クロックの速度を当該ＣＰＵ７から指示された速度に変更してＣＰＵ動作クロック（本発明でいう内部処理用の動作クロック）や暗号器動作クロック（本発明でいう暗号演算用の動作クロック）を生成し、その生成されたＣＰＵ動作クロックをＣＰＵ７に供給したり、その生成された暗号器動作クロックを暗号器１４に供給したりする。
【００１９】
また、動作クロック速度変更器１０は、ＣＰＵ７から動作クロックの供給の停止を指示するための制御信号が入力されると、ＣＰＵ７へのＣＰＵ動作クロックの供給を停止したり、暗号器１４への暗号器動作クロックの供給を停止したりすると共に、ＣＰＵ７から動作クロックの供給の再開を指示するための制御信号が入力されると、ＣＰＵ７へのＣＰＵ動作クロックの供給を再開したり、暗号器１４への暗号器動作クロックの供給を再開したりする。
【００２０】
ＣＰＵ７は、復調器８からコマンドが入力されると、その入力されたコマンドを解読し、その解読結果に応じた内部処理を動作クロック速度変更器１０から供給されたＣＰＵ動作クロックを用いて実行する。また、ＣＰＵ７は、不揮発性メモリ１３にデータの読出しを実行させたり、計算結果やデータの書込みを実行させたりする。
【００２１】
変調器１１は、ＣＰＵ７から送信データが入力されると、その入力された送信データで搬送波を変調し、アンテナ３は、変調器１１により送信データで変調された搬送波を電波信号としてリーダライタ２に送信する。暗号器１４は、ＣＰＵ７からの指示に基づいて動作の開始および終了が制御され、暗号演算を動作クロック速度変更器１０から供給された暗号器動作クロックを用いて実行する。乱数生成器１５は、ＣＰＵ７からの指示に基づいて動作の開始および終了が制御され、乱数を生成する。
【００２２】
尚、上記した構成では、リーダライタ２は、外部から入力された送信データを送信処理（変調処理）する送信回路１６と、送信回路１６により送信処理された送信データを電波信号としてＩＣカード１に送信すると共にＩＣカード１から送信された電波信号を受信するアンテナ１７と、アンテナ１７により受信された電波信号を受信処理（復調処理）して受信データを生成する受信回路１８とを備えて構成されている。
【００２３】
次に、上記した構成の作用について、図２ないし図８を参照して説明する。ここで、図２は、リーダライタ２とＩＣカード１との間で送受信されるコマンドをシーケンス図として示しており、図３ないし図７は、ＩＣカード１のＣＰＵ７が実行する処理をフローチャートとして示している。
【００２４】
リーダライタ２は、図２に示すように、正規の手順では、「ＲＥＱ＿Ｂ」コマンド、「ＡＴＴＲＩＢ」コマンド、「認証」コマンド、「ＲＥＡＤ」コマンド、「署名」コマンドおよび「ＷＲＩＴＥ」コマンドの順序で各コマンドをＩＣカード１に送信し、ＩＣカード１は、リーダライタ２から送信された各コマンドが正規の手順で受信されると、その受信されたコマンドに対する「応答」をリーダライタ２に送信する。
【００２５】
さて、ＩＣカード１において、ＣＰＵ７は、起動すると（リーダライタ２との間で通信を開始すると）、ＣＰＵ動作クロックの速度を基本クロックの速度の「８分の１」、つまり、「１．６９５ＭＨｚ」に設定する（ステップＳ１）。そして、ＣＰＵ７は、初期設定を実行し（ステップＳ２）、ＩＣカード１とリーダライタ２との間の電波信号の通信速度を「１０６ｋｂｐｓ」に設定し（ステップＳ３）、受信処理に移行する（ステップＳ４）。
【００２６】
ＣＰＵ７は、受信処理に移行すると、その時点でのＣＰＵ動作クロックをテンポラリークロックとして退避させ（ステップＳ１０１）、その時点でのＣＰＵ動作クロックの速度を退避させる。次いで、ＣＰＵ７は、ＣＰＵ動作クロックの速度を通信速度の「４倍」、つまり、「４２４ｋＨｚ」に設定し（ステップＳ１０２）、リーダライタ２からのデータの受信が開始された旨を検出すると（ステップＳ１０３にて「ＹＥＳ」）、データの受信を実行する（ステップＳ１０４）。
【００２７】
次いで、ＣＰＵ７は、データの受信が完了された旨を検出すると（ステップＳ１０５にて「ＹＥＳ」）、ＣＰＵ動作クロックをテンポラリークロックとして退避させていたＣＰＵ動作クロックに設定し（ステップＳ１０６）、ＣＰＵ動作クロックの速度を元々の速度、つまり、受信処理に移行した直後のＣＰＵ動作クロックの速度に設定し、受信処理を終了する。
【００２８】
ＣＰＵ７は、受信処理を終了すると、リーダライタ２からデータが受信されたことに伴って復調回路８から入力されたコマンドを解読し、その解読結果に基づいてコマンドが有効であるか否かを判定する（ステップＳ５）。ここでは、ＣＰＵ７は、上記したように、「ＲＥＱ＿Ｂ」コマンド、「ＡＴＴＲＩＢ」コマンド、「認証」コマンド、「ＲＥＡＤ」コマンド、「署名」コマンドおよび「ＷＲＩＴＥ」コマンドの順序で各コマンドが受信されたか否かを判定することにより、コマンドが有効であるか否かを判定する。これ以降、
（１）リーダライタ２から「ＲＥＱ＿Ｂ」コマンドが受信された場合
（２）リーダライタ２から「ＡＴＴＲＩＢ」コマンドが受信された場合
（３）リーダライタ２から「認証」コマンドが受信された場合
（４）リーダライタ２から「ＲＥＡＤ」コマンドが受信された場合
（５）リーダライタ２から「署名」コマンドが受信された場合
（６）リーダライタ２から「ＷＲＩＴＥ」コマンドが受信された場合
の各々について順次説明する。
【００２９】
（１）リーダライタ２から「ＲＥＱ＿Ｂ」コマンドが受信された場合
ＣＰＵ７は、リーダライタ２から「ＲＥＱ＿Ｂ」コマンドが受信された旨を検出すると（ステップＳ６にて「ＹＥＳ」）、その受信された「ＲＥＱ＿Ｂ」コマンドを受付可能であるか否かを判定する（ステップＳ７）。ＣＰＵ７は、例えばコマンドの受信順序が正規の順序であり、コマンドを受付可能である旨を検出すると（ステップＳ７にて「ＹＥＳ」）、応答データを生成し（ステップＳ８）、応答処理に移行する（ステップＳ９）。
【００３０】
ＣＰＵ７は、応答処理に移行すると、その時点でのＣＰＵ動作クロックをテンポラリークロックとして退避させ（ステップＳ２０１）、その時点でのＣＰＵ動作クロックの速度を退避させる。次いで、ＣＰＵ７は、この場合は、ＣＰＵ動作クロックの速度を通信速度の「２倍」、つまり、「２１２ｋＨｚ」に設定し（ステップＳ２０２）、データ（応答データ）を送信する（ステップＳ２０３）。
【００３１】
次いで、ＣＰＵ７は、データの送信が完了された旨を検出すると（ステップＳ２０４にて「ＹＥＳ」）、ＣＰＵ動作クロックをテンポラリークロックとして退避させていたＣＰＵ動作クロックに設定し（ステップＳ２０５）、ＣＰＵ動作クロックの速度を元々の速度、つまり、応答処理に移行した直後のＣＰＵ動作クロックの速度に設定し、応答処理を終了する。そして、ＣＰＵ７は、応答処理を終了すると、上記したステップＳ４に戻り、リーダライタ２から次のコマンドが受信される旨を待機する。
【００３２】
（２）リーダライタ２から「ＡＴＴＲＩＢ」コマンドが受信された場合
続いて、ＣＰＵ７は、リーダライタ２から「ＡＴＴＲＩＢ」コマンドが受信された旨を検出すると（ステップＳ１０にて「ＹＥＳ」）、その受信された「ＡＴＴＲＩＢ」コマンドを受付可能であるか否かを判定する（ステップＳ１１）。ＣＰＵ７は、コマンドを受付可能である旨を検出すると（ステップＳ１１にて「ＹＥＳ」）、この場合は、通信速度をコマンドにより指定されたコマンド指定値に設定し（ステップＳ１２）、応答データを生成し（ステップＳ１３）、上記した応答処理に移行する（ステップＳ９）。そして、ＣＰＵ７は、応答処理を終了すると、上記したステップＳ４に戻り、リーダライタ２から次のコマンドが受信される旨を待機する。
【００３３】
（３）リーダライタ２から「認証」コマンドが受信された場合
続いて、ＣＰＵ７は、リーダライタ２から「認証」コマンドが受信された旨を検出すると（ステップＳ１４にて「ＹＥＳ」）、その受信された「認証」コマンドを受付可能であるか否かを判定する（ステップＳ１５）。ＣＰＵ７は、コマンドを受付可能である旨を検出すると（ステップＳ１５にて「ＹＥＳ」）、この場合は、計算処理に移行し（ステップＳ１６）、計算処理を終了すると、乱数生成処理に移行し（ステップＳ１７）、乱数生成処理を終了すると、暗号演算処理に移行する（ステップＳ１８）。
【００３４】
ＣＰＵ７は、計算処理に移行すると、その時点でのＣＰＵ動作クロックをテンポラリークロックとして退避させ（ステップＳ３０１）、その時点でのＣＰＵ動作クロックの速度を退避させる。次いで、ＣＰＵ７は、この場合は、コマンドにより指定された速度が「高速」、「中速」および「低速」のいずれであるかを判定する（ステップＳ３０２〜Ｓ３０４）。
【００３５】
ここで、ＣＰＵ７は、コマンドにより指定された速度が「高速」である旨を検出すると（ステップＳ３０２にて「ＹＥＳ」）、ＣＰＵ動作クロックの速度を基本クロックの速度の「２分の１」、つまり、「６．７８ＭＨｚ」に設定する（ステップＳ３０５）。また、ＣＰＵ７は、コマンドにより指定された速度が「中速」である旨を検出すると（ステップＳ３０３にて「ＹＥＳ」）、ＣＰＵ動作クロックの速度を基本クロックの速度の「４分の１」、つまり、「３．３９ＭＨｚ」に設定する（ステップＳ３０６）。さらに、ＣＰＵ７は、コマンドにより指定された速度が「低速」である旨を検出すると（ステップＳ３０４にて「ＹＥＳ」）、ＣＰＵ動作クロックの速度を基本クロックの速度の「８分の１」、つまり、「１．６９５ＭＨｚ」に設定する（ステップＳ３０７）、尚、本実施形態では、ＣＰＵ７は、例えばコマンドにより指定された速度が「中速」であることにより、ＣＰＵ動作クロックの速度を基本クロックの速度の「４分の１」に設定する。
【００３６】
ＣＰＵ７は、このようにして速度が設定されたＣＰＵ動作クロックを用いて計算を実行し（ステップＳ３０８）、計算を終了すると、ＣＰＵ動作クロックをテンポラリークロックとして退避させていたＣＰＵ動作クロックに設定し（ステップＳ３０９）、ＣＰＵ動作クロックの速度を元々の速度、つまり、計算処理に移行した直後のＣＰＵ動作クロックの速度に設定する。そして、ＣＰＵ７は、計算処理を終了し、乱数生成処理に移行する。
【００３７】
ＣＰＵ７は、乱数生成処理に移行すると、乱数生成器１５の動作を開始させ（ステップＳ４０１）、制御信号を動作クロック速度変更器１０に出力し、動作クロック速度変更器１０から自身へのＣＰＵ動作クロックの供給を停止させる（ステップＳ４０２）。次いで、ＣＰＵ７は、乱数生成器１５の動作が完了された旨を検出すると（ステップＳ４０３にて「ＹＥＳ」）、制御信号を動作クロック速度変更器１０に出力し、動作クロック速度変更器１０から自身へのＣＰＵ動作クロックの供給を再開させ（ステップＳ４０４）、乱数生成器１５の動作を終了させる（ステップＳ４０５）。そして、ＣＰＵ７は、乱数生成処理を終了し、暗号演算処理に移行する。
【００３８】
ＣＰＵ７は、暗号演算処理に移行すると、この場合も、コマンドにより指定された速度が「高速」、「中速」および「低速」のいずれであるかを判定する（ステップＳ５０１〜Ｓ５０３）。ここでも、ＣＰＵ７は、コマンドにより指定された速度が「高速」である旨を検出すると（ステップ５０１にて「ＹＥＳ」）、暗号器動作クロックの速度を基本クロックの速度の「２分の１」、つまり、「６．７８ＭＨｚ」に設定する（ステップＳ５０４）、また、ＣＰＵ７は、コマンドにより指定された速度が「中速」である旨を検出すると（ステップＳ５０２にて「ＹＥＳ」）、暗号器動作クロックの速度を基本クロックの速度の「４分の１」、つまり、「３．３９ＭＨｚ」に設定する（ステップＳ５０５）。さらに、ＣＰＵ７は、コマンドにより指定された速度が「低速」である旨を検出すると（ステップＳ５０３にて「ＹＥＳ」）、ＣＰＵ動作クロックの速度を基本クロックの速度の「８分の１」、つまり、「１．６９５ＭＨｚ」に設定する（ステップＳ５０６）、尚、本実施形態では、ＣＰＵ７は、例えばコマンドにより指定された速度が「中速」であることにより、暗号器動作クロックの速度を基本クロックの速度の「４分の１」に設定する。
【００３９】
次いで、ＣＰＵ７は、暗号器１４の動作を開始させ（ステップＳ５０７）、制御信号を動作クロック速度変更器１０に出力し、動作クロック速度変更器１０から暗号器１４への暗号器動作クロックの供給を開始させると共に（ステップＳ５０８）、動作クロック速度変更器１０から自身へのＣＰＵ動作クロックの供給を停止させる（ステップＳ５０９）。
【００４０】
次いで、ＣＰＵ７は、このようにして速度が設定された暗号器動作クロックを用いて暗号器１４に暗号演算を実行させ、暗号器１４の動作が完了された旨を検出すると（ステップＳ５１０にて「ＹＥＳ」）、制御信号を動作クロック速度変更器１０に出力し、動作クロック速度変更器１０から自身へのＣＰＵ動作クロックの供給を再開させると共に（ステップＳ５１１）、動作クロック速度変更器１０から暗号器１４への暗号器動作クロックの供給を停止させ（ステップＳ５１２）、暗号器１４の動作を終了させる（ステップＳ５１３）。
【００４１】
次いで、ＣＰＵ７は、暗号演算処理を終了すると、応答データを生成し（ステップＳ１９）、上記した応答処理に移行する（ステップＳ９）。そして、ＣＰＵ７は、応答処理を終了すると、上記したステップＳ４に戻り、リーダライタ２から次のコマンドが受信される旨を待機する。
【００４２】
（４）リーダライタ２から「ＲＥＡＤ」コマンドが受信された場合
続いて、ＣＰＵ７は、リーダライタ２から「ＲＥＡＤ」コマンドが受信された旨を検出すると（ステップＳ２０にて「ＹＥＳ」）、その受信された「ＲＥＡＤ」コマンドを受付可能であるか否かを判定する（ステップＳ２１）。ＣＰＵ７は、コマンドを受付可能である旨を検出すると（ステップＳ２１にて「ＹＥＳ」）、この場合は、不揮発性メモリ１３にデータの読出しを実行させ（ステップＳ２２）、応答データを生成し（ステップＳ２３）、上記した応答処理に移行する（ステップＳ９）。そして、ＣＰＵ７は、応答処理を終了すると、上記したステップＳ４に戻り、リーダライタ２から次のコマンドが受信される旨を待機する。
【００４３】
（５）リーダライタ２から「署名」コマンドが受信された場合
続いて、ＣＰＵ７は、リーダライタ２から「署名」コマンドが受信された旨を検出すると（ステップＳ２４にて「ＹＥＳ」）、その受信された「署名」コマンドを受付可能であるか否かを判定する（ステップＳ２５）。ＣＰＵ７は、コマンドを受付可能である旨を検出すると（ステップＳ２５にて「ＹＥＳ」）、この場合は、計算処理に移行し（ステップＳ２６）、計算処理を終了すると、暗号演算処理に移行し（ステップＳ２７）、暗号演算処理を終了すると、メモリ書込処理に移行する（ステップＳ２８）。尚、本実施形態では、ＣＰＵ７は、計算処理を実行する過程で例えばコマンドにより指定された速度が「高速」であることにより、ＣＰＵ動作クロックの速度を基本クロックの速度の「２分の１」に設定して計算を実行すると共に、暗号演算処理を実行する過程で例えばコマンドにより指定された速度が「高速」であることにより、暗号器動作クロックの速度を基本クロックの速度の「２分の１」に設定して暗号器１４に暗号演算を実行させる。
【００４４】
ＣＰＵ７は、計算処理を実行し、暗号演算処理を実行し、メモリ書込処理に移行すると、この場合は、不揮発性メモリ１３に計算結果の書込みを開始させ（ステップＳ６０１）、制御信号を動作クロック速度変更器１０に出力し、動作クロック速度変更器１０から自身へのＣＰＵ動作クロックの供給を停止させる（ステップＳ６０２）。次いで、ＣＰＵ７は、計算結果の書込みが完了された旨を検出すると（ステップＳ６０３にて「ＹＥＳ」）、制御信号を動作クロック速度変更器１０に出力し、動作クロック速度変更器１０から自身へのＣＰＵ動作クロックの供給を再開させる（ステップＳ６０４）。
【００４５】
次いで、ＣＰＵ７は、メモリ書込処理を終了すると、応答データを生成し（ステップＳ２９）、上記した応答処理に移行する（ステップＳ９）。そして、ＣＰＵ７は、応答処理を終了すると、上記したステップＳ４に戻り、リーダライタ２から次のコマンドが受信される旨を待機する。
【００４６】
（６）リーダライタ２から「ＷＲＩＴＥ」コマンドが受信された場合
続いて、ＣＰＵ７は、リーダライタ２から「ＷＲＩＴＥ」コマンドが受信された旨を検出すると（ステップＳ３０にて「ＹＥＳ」）、その受信された「ＷＲＩＴＥ」コマンドを受付可能であるか否かを判定する（ステップＳ３１）。ＣＰＵ７は、コマンドを受付可能である旨を検出すると（ステップＳ３１にて「ＹＥＳ」）、メモリ書込処理に移行し、この場合は、不揮発性メモリ１３にデータ（受信データ）の書込みを実行させる。
【００４７】
次いで、ＣＰＵ７は、メモリ書込処理を終了すると、応答データを生成し（ステップＳ３３）、上記した応答処理に移行する（ステップＳ９）。そして、ＣＰＵ７は、応答処理を終了すると、上記したステップＳ４に戻る。
【００４８】
ところで、図８は、ＩＣカード１がリーダライタ２に対して近付けられて遠ざけられる過程において、ＩＣカード１のリーダライタ２に対する位置とＩＣカード１がリーダライタ２から受付けるコマンドとの関係を概略的に示している。
【００４９】
この場合、ＩＣカード１がリーダライタ２に対して相対的に遠い（離れた）位置に存在しており、ＩＣカード１がリーダライタ２から「ＲＥＱ＿Ｂ」コマンドや「ＡＴＴＲＩＢ」コマンドや「認証」コマンドを受付ける段階（図８中、「Ｔ１」〜「Ｔ３」参照）、つまり、ＩＣカード１がリーダライタ２に捕捉される段階およびＩＣカード１が少量の計算処理を実行する段階では、上記したように、ＣＰＵ動作クロックの速度を低速または中速に変更することにより、消費電力を抑制してＩＣカード１を低い磁界強度でも動作可能とし、広範囲な動作空間を実現することができる。
【００５０】
一方、ＩＣカード１がリーダライタ２から「ＲＥＡＤ」コマンドや「署名」コマンドや「ＷＲＩＴＥ」コマンドを受付ける段階（図８中、「Ｔ４」〜「Ｔ６」参照）、つまり、ＩＣカード１が多量の計算処理を実行する段階、ＩＣカード１がデータの読出処理を実行する段階およびＩＣカード１が計算結果やデータの書込処理を実行する段階では、上記したように、ＣＰＵ動作クロックの速度を高速に変更することにより、高速な内部処理を実現することができる。尚、図８中、実線矢印「Ｐ」は、ＩＣカード１の移動軌跡を概略的に示しており、破線「Ａ１」〜「Ａ５」は、リーダライタ２により生成される磁界強度（破線「Ａ１」から破線「Ａ５」に向かって磁界強度が低くなる）を概略的に示している。
【００５１】
以上に説明したように本実施形態によれば、ＩＣカード１において、自身が実行しようとする内部処理に応じてＣＰＵ動作クロックの速度を変更し、その速度が変更されたＣＰＵ動作クロックを用いて内部処理を実行するように構成したので、リーダライタ２に捕捉（認識）される段階および少量の計算処理を実行する段階では、ＣＰＵ動作クロックの速度を低速または中速に変更することにより、消費電力を抑制して低い磁界強度でも動作可能とし、これにより、広範囲な動作空間を実現することができ、一方、多量の計算処理を実行する段階、データの読出処理を実行する段階および計算結果やデータの書込処理を実行する段階では、ＣＰＵ動作クロックの速度を高速に変更することにより、高速な内部処理を実現することができる。このように、これから実行しようとする内部処理に応じてＣＰＵ動作クロックを逐次変更することにより、高速な内部処理と広範囲な動作空間との両立を適切に実現することができ、いわゆる「タッチ＆ゴー」に好適するＩＣカード１を実現することができる。
【００５２】
また、ＩＣカード１において、暗号器１４が暗号演算を実行する場合に、動作クロック速度変更器１０からＣＰＵ７へのＣＰＵ動作クロックの供給を停止するように構成したので、暗号器１４が暗号演算を実行するのに必要な動作電力を適切に確保することができ、暗号器１４が暗号演算を適切に実行することができる。また、ＩＣカード１において、ＣＰＵ動作クロックの速度を変更するのみならず、暗号器動作クロックの速度をも変更するように構成したので、暗号器１４における暗号演算の処理速度を逐次変更することができる。
【００５３】
また、ＩＣカード１において、不揮発性メモリ１３が計算結果やデータの書込みを実行する場合にも、動作クロック速度変更器１０からＣＰＵ７へのＣＰＵ動作クロックの供給を停止するように構成したので、不揮発性メモリ１３が計算結果やデータの書込みを実行するのに必要な動作電力を適切に確保することができ、不揮発性メモリ１３が計算結果やデータの書込みを適切に実行することができる。
【００５４】
また、ＩＣカード１において、リーダライタ２からのコマンドの受信処理やリーダライタ２へのコマンド処理結果の応答処理を実行する場合に、ＣＰＵ動作クロックの速度を受信の通信速度や応答の通信速度に応じて低下させて受信処理や応答処理を実行するように構成したので、ＣＰＵ７が受信処理や応答処理を実行するのに必要な動作電力を適切に確保することができ、ＣＰＵ７が受信処理や応答処理を適切に実行することができ、しかも、応答処理を実行する場合に十分な応答出力を確保することができる。また、これ以降の他の機能ブロックの動作電力を適切に確保することもできる。
【００５５】
また、ＩＣカード１において、リーダライタ２から最初に受付けられたコマンド（「ＲＥＱ＿Ｂ」コマンド）に応じた内部処理を実行しようとする場合に、ＣＰＵ動作クロックの速度を他のコマンドに応じた内部処理を実行しようとする場合よりも低下させて内部処理を実行するように構成したので、リーダライタ２に捕捉される段階、つまり、起動する段階で広範囲な動作空間を適切に実現することができる。
【００５６】
さらに、ＩＣカード１において、暗号器１４および乱数生成器１５に対して、必要なときにのみ活性化（動作を開始）させると共に、不必要なときに非活性化（動作を停止）させるように構成したので、ＩＣカード１全体としての不要な消費電力を抑制することができる。
本発明は、上記した実施形態にのみ限定されるものではなく、以下のように変形または拡張することができる。
リーダライタがＩＣカードに対してデータの読出しや計算結果やデータの書込みを実行する構成に適用することに限らず、リーダがＩＣカードに対してデータの読出しのみを実行する構成に適用しても良い。
【００５７】
暗号器が暗号演算を実行する場合や乱数生成器が乱数生成を実行する場合に、動作クロック速度変更器からＣＰＵへのＣＰＵ動作クロックの供給を停止させ、その後、ＣＰＵ動作クロックの供給を再開させる構成に限らず、動作クロック速度変更器からＣＰＵへ供給されるＣＰＵ動作クロックの速度を低下させ、その後、ＣＰＵ動作クロックの速度を復帰させる構成であっても良い。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施形態を示す機能ブロック図
【図２】シーケンス図
【図３】フローチャート
【図４】図３相当図
【図５】図３相当図
【図６】図３相当図
【図７】図３相当図
【図８】ＩＣカードのリーダライタに対する位置とＩＣカードがリーダライタから受付けるコマンドとの関係を概略的に示す図
【符号の説明】
【００５９】
図面中、１は非接触ＩＣカード、２はリーダライタ、７はＣＰＵ（制御手段）、８は復調器（復調手段）、９は動作クロック生成器（動作クロック生成手段）、１０は動作クロック速度変更器（動作クロック速度変更手段）、１３は不揮発性メモリ（記憶手段）、１４は暗号器（暗号演算手段）である。
【図１】
2005078181.tif 000003
【図２】
2005078181.tif 000004
【図３】
2005078181.tif 000005
【図４】
2005078181.tif 000006
【図５】
2005078181.tif 000007
【図６】
2005078181.tif 000008
【図７】
2005078181.tif 000009
【図８】
2005078181.tif 000010