(57)【要約】【課題】ターミナルからコマンドを受信待ちの間のみらなず、ターミナルから受信したコマンドをＩＣカードが処理する間においても、低消費電力化することのできるＩＣカードを提供する。【解決手段】前段の回路ブロックが後段の回路ブロックに処理を依頼する要求信号を送信するステップＳ１、後段の回路ブロックにクロックが供給開始され、後段の回路ブロックが動作を開始するステップＳ２、前段の回路ブロックから後段の回路ブロックにデータが伝送されるステップＳ３、前段の回路ブロックへのクロックが遮断され、前段の回路ブロックの動作が停止するステップＳ４、後段の回路ブロックが送信されたデータに基づく処理をするステップＳ５、が実行されるハンドシェイクの機能を回路ブロックが備える非同期式のアーキテクチャにＩＣチップすることで、ＩＣカードを低消費電力化する。【選択図】図４
2008299698.tif 000002
【特許請求の範囲】
【請求項１】
カード媒体にＩＣチップが実装されたＩＣカードであって、前記ＩＣチップは、前記ＩＣカードが動作するために必要となる回路を備え、各々の前記回路が、同一のクロックを利用せずに、処理を実行する前段の前記回路と後段の前記回路がハンドシェイクすることで、後段の前記回路の処理が開始される非同期式のアーキテクチャで構成されていることを特徴とするＩＣカード。
【請求項２】
請求項１に記載のＩＣカードであって、前記ＩＣチップは、前記ＩＣカードに備えられる一つの機能を実現し、複数の前記回路で構成される回路ブロックごとに区分され、前記ＩＣチップの非同期式のアーキテクチャは、実行する前記回路ブロックにのみクロックが入力されることで、実行する前記回路ブロックのみが動作するＧＡＬＳ（Globally Asynchronous Locally Synchronous）のアーキテクチャであることを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣチップが実装されたＩＣカードに関し、更に詳しくは、ＩＣカードを低消費電力化する技術に関する。
【背景技術】
【０００２】
クレジットカードやキャッシュカードに利用されているＩＣカードには、公開鍵暗号方式演算などの高機能化が図られ、ＩＣカードのクロック周波数は高くなる傾向にある。
【０００３】
ＩＣカードのクロック周波数が高くなると、ＩＣカードの消費電力も大きくなり、ＩＣカードと組合されて利用されるターミナルによっては、電力不足によりＩＣカードを動作させることができない問題が生じる。
【０００４】
また、ＩＣカードの消費電力が大きくなると、ＩＣカードのクロック周波数に起因し、ＩＣカードから発せられる電磁波も大きくなってしまい、暗号鍵解読法の一つであるサイドチャネル攻撃をＩＣカードが受け易く成り、セキュリティ的に好ましくない。
【０００５】
ＩＣカードを低消費電力させる一つの手法としては、ターミナルからコマンドを受信待ちの間、データを受信した割込み信号が入力するまで、ＣＰＵの動作を停止する低消費電力モードに設定する手法が接触型のＩＣカードで用いられ、特許文献１では、非接触型のＩＣカードにおいても、低消費電力モードの制御が可能なＩＣカードが開示されている。
【０００６】
【特許文献１】特開２００１−３５１０８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、従来の技術では、ターミナルからコマンドを受信待ちの間は、ＩＣカードを低消費電力化することはできるが、ＩＣカードがコマンドを処理する間は、ＩＣカードを低消費電力化することはできなかった。
【０００８】
そこで、本発明は、ターミナルからコマンドを受信待ちの間のみらなず、ターミナルから受信したコマンドをＩＣカードが処理する間においても、低消費電力化することのできるＩＣカードを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した発明を解決する第１の発明は、カード媒体にＩＣチップが実装されたＩＣカードであって、前記ＩＣチップは、前記ＩＣカードが動作するために必要となる回路を備え、各々の前記回路が、同一のクロックを利用せずに、処理を実行する前段の前記回路と後段の前記回路がハンドシェイクすることで、後段の前記回路の処理が開始される非同期式のアーキテクチャで構成されていることを特徴とするＩＣカードである。
【００１０】
更に、第２の発明は、第１の発明に記載のＩＣカードであって、前記ＩＣチップは、前記ＩＣカードに備えられる一つの機能を実現し、複数の前記回路で構成される回路ブロックごとに区分され、前記ＩＣチップの非同期式のアーキテクチャは、実行する前記回路ブロックにのみクロックが入力されることで、実行する前記回路ブロックのみが動作するＧＡＬＳ（Globally Asynchronous Locally Synchronous）のアーキテクチャであることを特徴とするＩＣカードである。
【発明の効果】
【００１１】
上述した本発明によれば、ＩＣカードに実装されるＩＣチップのアーキテクチャを非同期式とすることで、ＩＣチップに備えられた回路の中で、実際に処理を行う回路のみしか動作しないため、同期式ではすべての回路に供給されていたクロックに要する消費電力を削減することができ、ターミナルからコマンドを受信待ちの間のみらなず、ターミナルから受信したコマンドをＩＣカードが処理する間においても、ＩＣカードを低消費電力化することのできるＩＣカードを提供できる。
【００１２】
更に、ＩＣチップのアーキテクチャをＧＡＬＳとすることで、前記ＩＣチップに必要とされる機能ごとに集積回路を設計できるため、同期式の回路設計を非同期式のアーキテクチャであるＩＣチップの設計に流用することが可能になる。
【発明を実施するための最良の形態】
【００１３】
ここから、本実施形態に係わるＩＣカードについて、図を参照しながら詳細に説明する。図１は、本実施形態に係わるＩＣカードを説明する図である。
【００１４】
図１に図示したように、本実施形態のＩＣカード１は、キャッシュカードやクレジットカードと同じ大きさのプラスチック製カードにＩＣモジュール１１がエンベットされたＩＣカードである。
【００１５】
図１では、ＩＣカード１を接触型ＩＣカードとして図示しているが、本実施形態に係わるＩＣカード１は、ＩＣカード１に実装されるＩＣチップのアーキテクチャに特徴を持たせたもので、ＩＣカード１の通信インターフェースや形状などに依存するものではない。
【００１６】
図７は、本発明が適用されたＵＩＭ１ａおよび非接触ＩＣカード１ｂを説明する図である。図７（ａ）に図示したように、携帯電話などに組込まれ利用されるＵＩＭ１ａ（Universal subscriber Identity Module）には、アーキテクチャが非同期式であるＩＣモジュール１１ａがエンベットされる。
【００１７】
また、図７（ｂ）に図示したように、交通用途などで広く利用される非接触ＩＣカード１ｂには、アーキテクチャが非同期式で、非接触の通信インターフェースを備えたＩＣチップ２ａと、ＩＣチップ２ａに接続されるアンテナコイル２ｂとが内蔵される。
【００１８】
図２はＩＣカード１にエンベットされるＩＣモジュール１１を説明する図で、図２（ａ）はＩＣモジュール１１の表面で、図２（ｂ）はＩＣモジュール１１の裏面である。図２（ａ）に図示したように、ＩＣモジュール１１の表面にはカード端子１１０が備えられ、カード表面端子１１０と端末装置が電気的に接触する。
【００１９】
図２（ｂ）に図示したように、ＩＣモジュール１１の裏面には、本実施形態に係わるＩＣチップ２のチップ端子が所定のカード端子１１０と接続されモールドされている。
従来、ＩＣカード１に実装されるＩＣチップ２のアーキテクチャは同期式であったが、本実施形態では、ＩＣカード１に実装されるＩＣチップ２のアーキテクチャを非同期式としているところに特徴がある。
【００２０】
ＩＣチップ２のアーキテクチャが同期式であると、ＩＣチップ２に備えられた全ての回路にクロックが供給されるため、ＩＣチップ２が高速のクロックで動作すると消費電力が大きくなり、ターミナルによってはＩＣカードの動作に支障が発生するばかりか、ＩＣチップ２のサイドチャネルの一つである電磁波も大きくなり、セキュリティ的にも好ましくない。
【００２１】
本実施形態では、ＩＣチップ２のアーキテクチャを非同期式とすることで、処理を担う回路のみが動作するため、ＩＣチップ２の消費電力を抑えることが可能で、更に、ＩＣチップ２には固有のクロック周波数が存在しないため、ＩＣチップ２のサイドチャネルである電磁波を小さくできるメリットが生じる。
【００２２】
ここから、ＩＣカード１に実装されるＩＣチップ２について詳細に説明する。図３は、非同期式のＩＣチップ２を実現する一つの手法であるＧＡＬＳ（Globally Asynchronous Locally Synchronous）を適用したＩＣチップ２を説明する図で、ＧＡＬＳが適用されたＩＣチップにおいては、ＩＣチップ２に備えられた回路は意味のある回路ブロックに区分されている。
【００２３】
図３においては、ＩＣチップ２は回路ブロックをとして、ＲＡＭ２０ａ（Random Access Memory）を有するＣＰＵ２０、ＥＥＰＲＯＭ２１（Read Only Memory）、コプロセッサＡ２２、コプロセッサＢ２３、ＵＲＡＴ２４（Universal Asynchronous Receiver Transmitter)およびクロック生成回路２５を少なくとも備えている。
【００２４】
ここで、コプロセッサＡ２２およびコプロセッサＢ２３は、公開鍵暗号の演算などを専用の演算する機能を備えた集積回路で、ＵＡＲＴ２４とは、ターミナルから送信された信号をデコードしたり、ターミナルへ送信するデータをエンコードする機能を備えた集積回路である。
【００２５】
ＩＣチップ２のアーキテクチャをＧＡＬＳとしたとき、ＩＣチップ２に備えられた回路ブロック内部ではクロックによって同期が取られ、回路ブロック間においては非同期式で動作する。
【００２６】
ＩＣチップ２が非同期式で動作するために、ＣＰＵ２０はＩＣカード２で実行される一連の処理を管理する機能を有し、更に、ＣＰＵ２０も含めそれぞれの回路ブロックは非同期で動作するためにハンドシェイク機能を有している。
【００２７】
図４は、ハンドシェイク機能を説明するフロー図である。
まず、処理を実行する前段の回路ブロックが処理の後段の回路ブロックに処理を依頼する要求信号を送信する（ステップＳ１）と、後段の回路ブロックにクロックが供給開始され、後段の回路ブロックが動作を開始する（ステップＳ２）。
【００２８】
なお、各々の回路ブロックが動作するクロック周波数は、クロック生成回路２５が生成するクロックの周波数と同じでなくてもよく、各々の回路ブロックは、供給されたクロックを分周することで、任意のクロック周波数で動作して構わない。
【００２９】
後段の回路ブロックの動作が開始すると、前段の回路ブロックから後段の回路ブロックにデータが伝送され（ステップＳ３）、データの伝送が終了すると、前段の回路ブロックへのクロックが遮断され、前段の回路ブロックの動作が停止（ステップＳ４）すると共に、後段の回路ブロックが送信されたデータに基づく処理をする（ステップＳ５）。
【００３０】
本実施の形態では、ＣＰＵが前段の回路ブロックとなり、他の回路ブロック（例えば、コプロセッサＡ）が後段の回路ブロックとなりハンドシェイクすることで、ＣＰＵから他の回路モジュールに処理が依頼される。
【００３１】
また、ＣＰＵから依頼された回路モジュールで処理が終了すると、依頼された回路ブロックが前段の回路ブロックとなり、ＣＰＵが後段の回路ブロックとなりハンドシェイクすることで、依頼された回路ブロックからＣＰＵに処理が移行し、ＣＰＵは次の処理を実行する。
【００３２】
ここから、一連の処理をＩＣカード１が実行する内容について説明する。図５は、ＩＣカード１が実行する一連の処理を説明する図である。
【００３３】
図５に図示したように、ＩＣカード１が実行する一連の処理は、処理１）から処理４）から成り、処理１は、データをＥＥＰＲＯＭ２１からＣＰＵ２０のＲＡＭ２０ａに転送する処理で、処理２は、ＣＰＵ２０がデータをコプロセッサＡ２２に演算させる処理で、処理３は、処理２の演算結果をＣＰＵ２０がコプロセッサＢ２３に演算させる処理で、処理４は、処理３の演算結果をＣＰＵ２０がＥＥＰＲＯＭ２１に格納する処理である。
【００３４】
まず、ＩＣチップ２が処理１を実行するとき、前段の回路ブロックであるＣＰＵ２０から後段の回路ブロックであるＥＥＰＲＯＭ２１に要求信号が送信され、ＥＥＰＲＯＭ２１にクロックが供給され動作開始する。
【００３５】
ＥＥＰＲＯＭ２１が動作開始すると、ＣＰＵ２０へ伝送するデータのアドレスがＥＥＰＲＯＭ２１に送信され、ＣＰＵ２０のクロックは遮断する。
【００３６】
ＥＥＰＲＯＭ２１が指定されたアドレスのデータをＣＰＵ２０に伝送するときは、前段の回路ブロックであるＥＥＰＲＯＭ２１から後段の回路ブロックであるＣＰＵ２０に要求信号が送信され、ＣＰＵ２０にクロックが供給されが動作開始する。
【００３７】
ＣＰＵ２０が動作開始すると、ＥＥＰＲＯＭ２１からデータがＣＰＵ２０に伝送され、ＣＰＵ２０はデータをＲＡＭ２０ａに格納し、データの伝送が終了するとＥＥＰＲＯＭ２１のクロックが遮断し、ＥＥＰＲＯＭ２１は動作停止する。
【００３８】
ＩＣチップ２が処理２を実行するとき、前段の回路ブロックであるＣＰＵ２０から後段の回路ブロックであるコプロセッサＡ２２に要求信号が送信され、コプロセッサＡ２２にクロックが供給され動作開始する。
【００３９】
コプロセッサＡ２２が動作開始すると、ＣＰＵ２０から演算するデータがコプロセッサＡ２２に送信された後、ＣＰＵ２０のクロックは遮断され、ＣＰＵ２０は動作停止する。
【００４０】
コプロセッサＡ２２でＣＰＵ２０から伝送されたデータの演算が終了すると、前段の回路ブロックであるコプロセッサＡ２２から後段の回路ブロックであるＣＰＵ２０に要求信号が送信され、ＣＰＵ２０にクロックが供給されてＣＰＵ２０が動作開始する。
【００４１】
ＣＰＵ２０が動作開始すると、コプロセッサＡ２２から演算結果がＣＰＵ２０に伝送され、ＣＰＵ２０はデータをＲＡＭ２０ａに格納し、演算結果の伝送が終了するとコプロセッサＡ２２のクロックは遮断され、コプロセッサＡ２２は動作停止する。
【００４２】
ＩＣチップ２が処理３を実行するとき、前段の回路ブロックであるＣＰＵ２０から後段の回路ブロックであるコプロセッサＢ２３に要求信号が送信され、コプロセッサＢ２３にクロックが供給されてコプロセッサＢ２３が動作開始する。
【００４３】
コプロセッサＢ２３が動作開始すると、ＣＰＵ２０から演算する処理２の演算結果がＣＰＵ２０に送信された後、ＣＰＵ２０のクロックは遮断され、ＣＰＵ２０は動作停止する。
【００４４】
コプロセッサＢ２３でＣＰＵ２０から伝送されたデータの演算が終了すると、前段の回路ブロックであるコプロセッサＢ２３から後段の回路ブロックであるＣＰＵ２０に要求信号が送信され、ＣＰＵ２０にクロックが供給されてＣＰＵが動作開始する。
【００４５】
ＣＰＵ２０が動作開始すると、コプロセッサＢ２３から演算結果がＣＰＵ２０に伝送され、ＣＰＵ２０はデータをＲＡＭ２０ａに格納し、演算結果の伝送が終了するとコプロセッサＢ２３のクロックは遮断され、コプロセッサＢ２３は動作停止する。
【００４６】
ＩＣチップ２が処理４を実行するとき、前段の回路ブロックであるＣＰＵ２０から後段の回路ブロックであるＥＥＰＲＯＭ２１に要求信号が送信され、ＥＥＰＲＯＭ２１にクロックが供給されてＥＥＰＲＯＭ２１が動作開始する。
【００４７】
ＥＥＰＲＯＭ２１が動作開始すると、ＣＰＵ２０からデータを書込むアドレスと処理４の演算結果がＥＥＰＲＯＭ２１に送信され、ＣＰＵ２０のクロックは遮断され、ＣＰＵ２０は動作停止する。
【００４８】
ＥＥＰＲＯＭ２１が指定されたアドレスに処理４の演算結果を書き込んだ後、前段の回路ブロックであるＥＥＰＲＯＭ２１から後段の回路ブロックであるＣＰＵ２０に要求信号が送信され、ＣＰＵ２０にクロックが供給されてＣＰＵが動作開始する。
【００４９】
ＣＰＵ２０が動作開始すると、ＥＥＰＲＯＭ２１から書き込みが正常／異常を示すフラグがＣＰＵ２０に伝送された後、ＥＥＰＲＯＭ２１のクロックは遮断され、ＥＥＰＲＯＭ２１は動作停止する。
【００５０】
このように、ＩＣチップ２のアーキテクチャを非同期式（ここでは、ＧＡＬＳ）とすることで、処理の対象となる回路ブロックにのみクロックが供給されるため、ＩＣチップ２を低消費電力化が図られると共に、固有の周波数（クロック生成器が生成するクロックの周波数）がないため電磁波を低減させることができる。
【００５１】
また、回路ブロック単位ではなく回路単位で非同期式にすることで、ＩＣチップ２のアーキテクチャをＧＡＬＳでなく完全非同期式にすることができる。
【００５２】
図６は、アーキテクチャを完全非同期式としたときのＩＣチップ２を説明する図で、ＩＣチップ２の回路単位で非同期式にすることで、ＩＣチップ２からクロック生成回路２５を省くことができ、ＩＣチップ２を低消費電力化できると共に、固有の周波数（クロック生成器２５が生成するクロックの周波数）がないため電磁波をより低減させることができる。
【図面の簡単な説明】
【００５３】
【図１】本実施形態のＩＣカードを説明する図。
【図２】ＩＣモジュールを説明する図。
【図３】アーキテクチャがＧＡＬＳであるＩＣチップを説明する図。
【図４】ハンドシェイク機能を説明するフロー図。
【図５】ＩＣカードが実行する一連の処理を説明する図。
【図６】アーキテクチャが完全非同期式であるＩＣチップを説明する図。
【図７】発明が適用されたＵＩＭおよび非接触ＩＣカードを説明する図。
【符号の説明】
【００５４】
１  ＩＣカード
２  ＩＣチップ
２０  ＣＰＵ
２０ａ  ＲＡＭ
２１  ＥＥＰＲＯＭ
２２  コプロセッサＡ
２３  コプロセッサＢ
２４  ＵＡＲＴ
２５  クロック生成回路
【図１】
2008299698.tif 000003
【図２】
2008299698.tif 000004
【図３】
2008299698.tif 000005
【図４】
2008299698.tif 000006
【図５】
2008299698.tif 000007
【図６】
2008299698.tif 000008
【図７】
2008299698.tif 000009