Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4821822B2 - Icカード - Google Patents
[go: Go Back, main page]

JP4821822B2 - Icカード - Google Patents

Icカード Download PDF

Info

Publication number
JP4821822B2
JP4821822B2 JP2008222416A JP2008222416A JP4821822B2 JP 4821822 B2 JP4821822 B2 JP 4821822B2 JP 2008222416 A JP2008222416 A JP 2008222416A JP 2008222416 A JP2008222416 A JP 2008222416A JP 4821822 B2 JP4821822 B2 JP 4821822B2
Authority
JP
Japan
Prior art keywords
cpu
clock
processing speed
card
instruction
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.)
Expired - Fee Related
Application number
JP2008222416A
Other languages
English (en)
Other versions
JP2009048642A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2008222416A priority Critical patent/JP4821822B2/ja
Publication of JP2009048642A publication Critical patent/JP2009048642A/ja
Application granted granted Critical
Publication of JP4821822B2 publication Critical patent/JP4821822B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Description

本発明は、複数のアプリケーションを搭載可能なICカードのCPUに実行させるオペレーティングシステム及びアプリケーションプログラムに関するものである。
近年、ICカードに搭載されるICチップの高性能化に伴い、複数のアプリケーションを実行することができる利便性の高いマルチアプリケーションICカードが実用化されている。このようなICカードは、アプリケーション毎に専用の外部装置から電源を得るとともに、処理情報のやりとりを行いながら、目的の処理を実行する。ICカードは、外部装置との接続後に通信路の確立のために設定されるクロックに同期して通信及び処理を行っていた。
ICカードに搭載されている複数のアプリケーションは、その用途毎に、必要とする仕様が異なり、例えば、あるアプリケーションでは、処理速度は遅くても消費電力を小さく抑えることが優先するが、別のアプリケーションでは、消費電力が大きくても処理速度を速くすることが優先する場合がある。
特に、RSA、DES等のデータの暗号化、復号を行う処理は、計算量が多いため、ソフトウェア上で計算を行うと、ICカードの処理速度が遅くなる。この場合には、専用のハードウェアとしてICカード内のコプロセッサを使用すれば、処理速度を速くすることが可能であるが消費電力が増大する。
従って、処理速度の速さを優先したアプリケーションを搭載したICカードは、据え置き型等の消費電力が制限されていない外部装置においては、使用可能であるが、消費電流の推奨負荷ピーク値が定められている電池を電源とする携帯電話等、消費電力に制限のある外部装置において使用できず、汎用性に欠けるという問題があった。
この問題を解決するために、外部装置の種別に応じて、処理速度の基準となる内部クロックの周波数を変更する従来のICカードがある。
特開2001−209764号公報(第2−3頁、第1図)
しかし、従来のICカードでは、アプリケーションに含まれる複数の処理において、消費電力が最大となる処理に合わせてすべての処理における処理速度を一律に調整するため、処理の遅延を招くおそれがある。つまり、ICカードが、消費電力に制限がある外部装置に接続され、アプリケーションに、暗号化及び復号の処理が含まれる場合には、内部クロックの周波数を低く設定しなければならず、この低い周波数に同期して、アプリケーションに含まれる他の処理を行わなければならないという問題があった。
本発明の課題は、利便性及び汎用性が高く、処理の迅速化を図ることが可能なICカードのCPUに実行させるオペレーティングシステム及びアプリケーションプログラムを提供することである。
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項1の発明は、アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段(63)を備えるICカード(1、1−2)であって、命令を実行するCPU(50,50−2)と、前記CPUを動作させるためのクロックの周波数を選択信号によって選択する選択器(424)を有し、当該選択器によって選択されたクロックを前記CPUに提供するクロック生成部(42)と、前記アプリケーションプログラム記憶手段によって記憶されているアプリケーションプログラムを構成する命令であって、前記CPUによって行われる処理が実質的に行われない引数が指定されている命令を、前記CPUが実行することに応じて前記クロック生成部の選択器に選択信号を送信して前記CPUの処理速度の制御を行う処理速度制御部(52)と、を備えること、を特徴とするICカード
請求項2の発明は、非接触式通信機能を行うアンテナ(10)又は接触式通信機能を行う接触端子(20)と、アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段(63)を備えるICカード(1、1−2)であって、命令を実行するCPU(50,50−2)と、前記CPUを動作させるためのクロックの周波数を選択信号によって選択する選択器(424)を有し、当該選択器によって選択されたクロックを前記CPUに提供するクロック生成部(42)と、外部装置から前記アンテナ又は前記接触端子を介して処理速度変更要求を受信した場合に、この処理速度変更要求に応じて前記クロック生成部の選択器に選択信号を送信して前記CPUの処理速度の制御を行う処理速度制御部(52)と、を備え、前記処理速度制御部は、前記処理速度変更要求以外の要求を受信した場合に、受信した要求に対応する、記憶されているアプリケーションプログラムを構成する命令であって、前記CPUによって行われる処理が実質的に行われない引数が指定されている命令を、前記CPUが実行することに応じて前記クロック生成部の選択器に選択信号を送信して前記CPUの処理速度の制御を行うこと、を特徴とするICカード
以上詳しく説明したように、本発明によれば、以下の効果を得ることが可能となった。
(1)アプリケーションプログラムに処理速度変更指示があった場合に、アプリケーションプログラム実行手段(演算手段、CPU)の処理速度を変更するため、アプリケーションプログラムに含まれる処理内容に応じて処理速度を変更し、消費電力及び処理速度を調整することによって、ICカード及び外部装置の汎用性及び利便性の向上を図るとともに、効率的にICカードにおける処理の迅速化を図る。
(2)外部装置から受信した処理速度変更要求に基づいて、アプリケーションプログラム実行手段(演算手段、CPU)の処理速度を変更するため、外部装置側から消費電力及び処理速度を要求内容に応じて調整することによって、ICカード及び外部装置の汎用性及び利便性の向上を図るとともに、効率的にICカードにおける処理の迅速化を図る。
(3)また、処理単位で処理速度を変更するため、詳細に消費電力及び処理速度を調整することによって、消費電力に制限のある外部装置において使用可能とする等、汎用性及び利便性の向上を図るとともに、効率的に処理の迅速化を図る。
(4)アプリケーションプログラムが、既存の他の意味を有する命令(既存の他の処理を実行させる命令)であって、既存の他の意味を消す引数(既存の他の処理が無意味となる引数)が指定されている処理速度変更指示を含み、この処理速度変更指示に基づいて処理速度の変更を行うため、処理速度変更指示に対応するオペレーティングシステムを記憶するICカードのみならず、従来のオペレーティングシステムを記憶するICカードでもこのアプリケーションプログラムを利用することができ、汎用性の向上を図る。
(5)同様に、他の意味を有する要求であって、他の意味を消す引数が指定されている処理速度変更要求に基づいて処理速度の変更を行うため、外部装置は、処理速度変更要求に対応するオペレーティングシステム(アプリケーションプログラム)を備えるICカードのみならず、従来のオペレーティングシステム(アプリケーションプログラム)を記憶するICカードにおいても、この要求を行うことができ、汎用性の向上を図る。
(6)汎用性のある機能を呼び出す命令の引数にこの機能が無意味となる引数が指定されている場合に、独自の機能をオペレーティングシステムから呼び出すため、この命令を含むアプリケーションプログラムを、従来のOSを搭載しているICカードで使用可能とするとともに、独自の機能を備えるOSを搭載しているICカードにおいては、独自の機能を発揮させ、汎用性及び利便性の向上を図る。
以下、図面等を参照しながら、本発明の実施の形態について、更に詳しく説明する。
(第1実施形態)
図1は、本発明によるICカードの第1実施形態を示すブロック図である。
図1に示すように、ICカード1は、カード内部に設けられているアンテナ10と、カード表面に設けられている接触端子20とを備え、外部装置2−1のR/Wから送信された電磁波を搬送波として、アンテナ10を介して電力及びクロックの授受を非接触状態で行う非接触式通信機能及び接触端子20がATM等の外部装置2−2のリーダライタ(以下、「リーダライタ」を「R/W」という。)の端子と接触した状態でデータ、電力及びクロックの授受を行う接触式通信機能を備える接触/非接触型ICカードである。また、ICカード1は、アンテナ10及び接触端子20に接続されている接触/非接触式共用のICチップ30を備え、複数のアプリケーションを搭載可能ないわゆるマルチアプリケーションICカードである。
外部装置2−1は、入退室管理装置等、ICカード1と非接触式で通信を行うR/Wを備える情報処理装置であり、外部装置2−2は、ATM等、ICカード1と接触式で通信を行うR/Wを備える情報処理装置である。
アンテナ10は、導体が電気的に接触しないように複数回巻かれ、ICチップ30のインターフェイス部40(以下、「インターフェイス」を「I/F」という。)に接続されている巻線コイル等であって、交流電磁波及び交流電力の相互変換を行う。
接触端子20は、外部装置2−2のR/Wの端子と接触して電気的導通を行う複数の端子を備え、ICチップ30のI/F部40に接続され、電源電圧、外部クロック等の供給を受け、情報の授受を行う、ICチップ30及び外部装置2−2間における接触式での通信を媒介する接触式通信手段である。
ICチップ30は、CPU50と、CPU50に接続されているI/F部40、コプロセッサ71、RAM61、ROM62及びNVM(Non Volatile Memory)63等を備えている。
I/F部40は、アンテナ20を介して入力する交流電力から、クロック成分、つまり、RAM61等の周辺回路間で同期をとるためのテンポである外部クロック(基本クロック)を抽出するためのクロックパルス生成回路等を含む基本クロック生成部41と、基本クロック生成部41に接続されているクロック生成部42とを備えている。また、I/F部40は、アンテナ20を介して交流電力から電源電圧となる電力成分を抽出するための整流回路等と、CPU50へ入力するデータ成分を抽出するための復調回路等と、交流電力に対してCPU50から出力されるデータに応じた負荷変調等を行い、アンテナ20へ出力する変調回路等とを備えている(図示しない)。
クロック生成部42は、基本クロック生成部41又は接触端子20から入力する基本クロック(外部クロック)から複数のクロックを生成し、いずれか一のクロックを内部クロックとしてCPU50へ入力する。
図2は、クロック生成部42を示すブロック図である。
図2に示すように、クロック生成部42は、基本クロック生成部41から入力される基本クロックを8倍(以下、基本クロックのX倍の周波数のクロックを「X逓倍クロック」という。)の周波数に高める逓倍回路421と、逓倍回路421から入力される8逓倍クロックを1/2の周波数に低減する分周回路422と、分周回路422から入力される4逓倍クロックを1/2の周波数に低減する分周回路423と、選択器424とを備えている。
選択器424は、基本クロック生成部41、逓倍回路421、分周回路422,423及びCPU50等に接続され、CPU50から入力される選択信号に基づき、接続を切り替え、逓倍回路421等によって入力される4種類のクロック(基本クロック、8逓倍クロック、4逓倍クロック及び2逓倍クロック)のうち、いずれか一のクロックを内部クロックとしてCPU50へ入力する。なお、ICカード1の初期状態において、選択器424は、基本クロックをCPU50へ入力する。
図1に示すように、RAM61、ROM62及びNVM63は、プログラム、データ等のCPU50の処理に必要な情報を記憶するための記憶手段である。RAM61は、揮発性メモリであり、CPU50が処理を行う作業領域として使用される。ROM62は、不揮発性の読み出し専用メモリであって、オペレーティングシステム(以下、ICカード1に記憶されているオペレーティングシステムを「OS−1」という。)等のプログラム及びパラメータ等のプログラムの実行に必要なデータを記憶している。オペレーティングシステムとは、基本ソフトウェアであって、CPU50が実行することによって、CPU50、周辺機器等のハードウェアを制御し、アプリケーションプログラムがこれを利用できるようにするプログラム及びプログラムの実行に必要なデータである。
NVM63は、EEPROM、フラッシュメモリ、FRAM等の随時書き換え可能な不揮発性のメモリであり、通常ユーザのワークエリア、プログラムエリア等として使用され、複数のアプリケーションを記憶することが可能である。
CPU50は、ROM62、NVM63等のメモリに記憶されているOS−1等のプログラムを実行することによって、ICカード1を統括制御し、アプリケーション実行部51、処理速度制御部52等を実現する。
アプリケーション実行部51は、NVM63に記憶されているアプリケーションプログラムを実行するアプリケーションプログラム実行手段であり、アプリケーションプログラムの実行に係る算術演算、論理演算等の演算を行う演算部511を備えている。演算部511は、選択器424からCPU50へ提供される内部クロックに同期して処理を行う。
処理速度制御部52は、アプリケーション実行部51が実行しているアプリケーションプログラムに処理速度変更指示があった場合に、選択器424へクロック識別情報を含む選択信号を送信して選択器424を制御し、CPU50へ入力する内部クロックを切り替えることによって、演算部511の処理速度を変更する等、CPU50の処理速度の制御を行う。処理速度変更指示とは、処理速度を変更する命令であって、本実施形態においては、CPU50に入力するクロックを変更する命令であり、変更後にCPU50へ入力すべき内部クロックを示すクロック識別情報を含んでいる。クロック識別情報は、クロック生成部42がCPU50へ入力可能な4種類のクロックから一のクロックを識別するための情報である。命令とは、CPU50に動作をさせるための指示であって、関数を含む。コプロセッサ71は、CPU50を補完し、性能を強化するプロセッサであって、データの暗号化、復号等の計算量の多い処理を専用に行う演算手段である。
図3は、本発明によるオペレーティングシステム及びアプリケーションプログラムの第1実施形態を説明するための図であって、図3(a)は、ROM62に記憶されているOS−1のアプリケーションプログラムインターフェイス(以下、「API」という。)を説明するための図である。
図3(a)に示すように、OS−1のAPIは、引数「Lv」(レベル)に対応するクロックを示すクロック識別情報を含む選択信号を選択器424に送信する、つまり、処理速度制御部52をCPU50に実現させるOS−1の機能を呼び出す「DNP.util.setClock(BYTE Lv)」という命令(以下、この命令を「命令DUS」という。)を含んでいる。命令DUSは、CPU50の処理速度の変更を指示する処理速度変更指示である。
命令DUSの引数の値(Lvで指定できる値)は、DEFAULT、HIGH、MIDDLE及びLOWの4種類の値であり、ラベルとして、それぞれI/F部40がCPU50へ提供できる4種類のクロック(基本クロック、8逓倍クロック、4逓倍クロック及び2逓倍クロック)に対応するクロック識別情報である。DEFAULTは、基本クロック(外部クロック)に、HIGH、MIDDLE及びLOWは、I/F部40が基本クロックから生成した複数のクロックのうち、それぞれ周波数の高い順で、8逓倍クロック、4逓倍クロック及び2逓倍クロックにそれぞれ対応している。
なお、この対応関係は、命令DUSで指定できる4種類の引数に、IF部40が提供できる4種類のクロックをそれぞれ関連づけてROM62、NVM63等のメモリに記憶していてもよく、記憶せずに、CPU50がOS−1を実行することによって、関連づけを動的に行ってもよい。また、いずれのクロックをいずれの引数の値に関連づけるかは、任意であって限定されない。
図3(b)は、本発明によるアプリケーションプログラムの一部を示す図である。本発明によるアプリケーションプログラムは、ICカード1のNVM63に記憶され、Java言語で記述されているAP−1である。なお、「heavyFunction()」とは、RSAの暗号化、復号等のCPU50に高い負荷がかかる処理を行わせる命令(以下、この命令を「命令HF」という。)である。
図3(b)に示すように、AP−1は、命令HFの前に引数「HIGH」が指定されている命令DUS、命令HFの後に引数「DEFAULT」が指定されている命令DUSを含んでいる。従って、CPU50は、命令HFの処理を8逓倍クロックに同期して行い、その後の処理を基本クロックに同期して行う。
従って、処理速度制御部52は、処理速度変更指示である命令DUSに応じて、一又は複数の処理単位で処理速度を変更することが可能である。処理単位とは、AP−1の命令単位等、ハードウェア資源を使う処理における実行の最小単位(タスク)である。
図4は、第1実施形態における、本発明によるICカードの動作、オペレーティングシステム及びアプリケーションプログラムを示すフローチャートである。
ステップ100(以下、「ステップ」を「S」という。)において、ICカード1は、外部装置2−1(外部装置2−2でもよい。)に接続され、電力、クロックの供給を受け、AP−1を選択している状態にある。
S110において、ICカード1は、外部装置2−1からコマンドを受信する。アプリケーション実行部51は、選択されているAP−1に含まれる、このコマンドに対応するプログラム(以下、「コマンド処理プログラム」という。)の実行を開始する(S120)。処理速度制御部52は、コマンド処理プログラムに命令DUSが含まれる場合には、選択器424へ選択信号を送信し、処理速度を変更する(S130,S140)。演算部511は、変更された処理速度でその後の処理を行い(S150)、コマンド処理プログラムの実行が終了するまで同様の処理を繰り返す(S130からS160まで)。ICカード1は、この処理結果をレスポンスとして外部装置2−1へ送信し(S170)、次のコマンドを受信するまで待機状態となり、外部装置2−1との接続が切断されるまで同様の処理(S110からS170まで)を繰り返す。
第1実施形態によれば、AP−1に含まれる命令DUSに従って、一又は複数の処理単位でI/F部40がCPU50へ提供するクロックを変更するため、予めAP−1において処理内容に応じて処理単位でCPU50の処理速度を設定することによって、効率的に処理の迅速化を図ることが可能となった。
図5は、アプリケーションプログラムの実行における処理の経過時間(横軸)と、ICカードの消費電流(縦軸)との関係を示すグラフであって、図5(a)は、従来のICカードにおける消費電流を示し、図5(b)は、ICカード1における消費電流を示している。
つまり、図5(a)に示すように、従来のICカードでは、消費電流の推奨負荷ピーク値が定められている電池を電源とする携帯電話等、消費電力に制限のある外部装置2−2において使用することができない。一方、ICカード1は、図5(b)に示すように、消費電流(消費電力)が大きい処理(p4)については、処理速度を低速に、消費電流(消費電力)が小さい処理(p1、p2、p3)については処理速度を高速として処理を行う等、消費電力に応じて処理単位でCPU50の処理速度を変更することによって、消費電力に制限のある外部装置2−1,2−2において使用でき、汎用性及び利便性の向上を図るとともに、効率的に処理の迅速化を図ることが可能となった。
また、APIにおいて、命令DUSの引数(DEFAULT、HIGH、MIDDLE、LOW)の示す意味(8逓倍等)は、個々のカードで任意であるため、複数のクロックを生成でき、OS−1を搭載していれば、生成するクロックの種類、数は、限定されず、AP−1をより多くのICカードで使用することができ、汎用性を向上することが可能となった。
(第2実施形態)
図6は、本発明によるICカードの第2実施形態を示すブロック図である。
なお、前述した実施形態と同様の機能を果たす部分には、同一の符号を付して、重複する説明を適宜省略する。
図6に示すように、ICカード1−2は、CPU50−2、ROM62−2、NVM63−2等を備えている。
CPU50−2は、ROM62−2、NVM63−2に記憶されているプログラムを実行することによって、処理速度制御部52−2を実現する。
ROM62−2は、オペレーティングシステムであるOS−2を記憶し、NVM63−2は、アプリケーションプログラムであるAP−2を記憶している。
図7は、本発明によるオペレーティングシステム及びアプリケーションプログラムの第2実施形態を説明するための図であって、アプリケーションプログラムの一部を示している。なお、本発明によるOS及びアプリケーションプログラムは、OS−2及びAP−2である。
図7に示すように、AP−2は、引数「src」で示されるアドレスにあるデータ列を引数「len」で示される容量分、引数「dst」で示されるアドレスへコピーする機能をCPU50−2に実現させる、JavaOS等(「JAVA」は、登録商標)の従来の一般的なOS(ICカード)においても実行可能な汎用性のある「standard.arrayCopy(REFERENCE src,REFERENCE dst,short len)」という命令(以下、この命令を「命令SAC」という。)を含んでいる。
OS−2は、引数「len」に、命令SACのデータ列をコピーするという既存の意味を消す引数(既存の処理が無意味となる引数)「0」が指定され、AP−2から呼び出しがあった場合には、8逓倍クロックを示すクロック識別情報を含む選択信号を選択器424へ送信する独自の機能を備え、処理速度制御部52−2をCPU50−2に実現させる。意味を消す(無意味)とは、命令に応じた処理において、処理対象のデータ(引数「dst」又は「src」で示されるアドレスのデータ)の内容が変わらない等、実質的な処理が行われないことである。
なお、従来のOSがAP−2から呼び出しを受けた場合には、コピーするデータ列の容量がゼロであるため、この命令に応じた処理を行わない、又は、行った場合であっても処理前後において、処理対象のデータ(dst又はsrcで示されるアドレスのデータ)の内容が変わらず、処理結果が、エラーとなることもない。
また、AP−2は、命令SAC同様に情報のコピーをCPU50−2に実現させる、汎用性のある命令であって、処理前の状態においてデータ列のバックアップを取らないという点で命令SACと異なる「standard.arrayCopyNonatomic(REFERENCE src,REFERENCEdst,short len)」という命令(以下、この命令を「命令SACN」という。)を含んでいる。
OS−2は、引数「len」に、命令SACNのデータ列をコピーするという本来の意味を消す引数(既存の処理が無意味となる引数)「0」が指定されて、AP−2から呼び出しがあった場合には、基本クロックを示すクロック識別情報を含む選択信号を選択器424へ送信する独自の機能を備え、処理速度制御部52−2をCPU50−2に実現させる。
AP−2は、命令HFの前に引数「len」に「0」が指定されている命令SAC、命令HFの後に引数「len」に「0」が指定されている命令SACNを含んでいる。
このAP−2のプログラムの実行手順について説明する。先ず、処理速度制御部52−2は、CPU50−2へ提供するクロックを8逓倍クロックへ変更し(#1)、次に、演算部511が8逓倍クロックに同期して演算を行う等、アプリケーション実行部51は、命令HFに対応する処理を8逓倍クロックに同期して行い(#2)、処理速度制御部52−2は、クロックを基本クロックへ変更する(#3)。
第2実施形態によれば、第1実施形態の効果に加え、汎用性の高い既存の命令である命令SAC及び命令SACNにおいて本来の意味を消す引数を指定することによって、OS−2の独自の機能の呼び出しを行うため、この独自の機能を備えていない従来のOSを備えるICカード上でAP−2を実行することが可能であり、AP−2の汎用性を向上することが可能となった。
(第3実施形態)
図8は、本発明によるICカードの第3実施形態を示すブロック図である。
図8に示すように、ICカード1−3は、CPU50−3、ROM62−3等を備えている。
ROM62−3は、オペレーティングシステムであるOS−3を記憶している。
CPU50−3は、アプリケーション実行部51の処理速度の変更を要求する、クロック識別情報を含む処理速度変更要求を外部装置2−1、2−2から受信した場合に、この要求に応じてクロック識別情報を含む選択信号を選択器424へ送信する処理速度制御部52−3を備えている。本実施形態において、処理速度変更要求は、DUSコマンドであって、第1実施形態において命令DUSがOS−1から呼び出す機能と同様の機能をOS−3から呼び出すコマンドである。CPU50−3は、OS−3のDUSコマンドに対応するコマンド処理プログラムを実行することによって、処理速度制御部52−3を実現する。また、DUSコマンドは、クロック識別情報等、命令DUSと同様に引数(Lv)が指定される。
図9は、第3実施形態における、本発明によるICカードの動作、オペレーティングシステム及びアプリケーションプログラムを示すフローチャートである。
S200において、ICカード1−3は、外部装置2−1(外部装置2−2でもよい。)に接続され、電力、クロックの供給を受けている状態にある。
S210において、ICカード1−3は、外部装置2−1からコマンドを受信する(S210)。受信したコマンドがDUSコマンドである場合には、処理速度制御部52−3は、処理速度を変更し(S220,S230)、その他のコマンドである場合には、受信したコマンドに対応するコマンド処理プログラムを実行する(S220,S240)。ICカード1−3は、この処理結果をレスポンスとして外部装置2−1へ送信し(S250)、次のコマンドを受信するまで待機状態となり、外部装置2−1との接続が切断されるまで同様の処理(S220からS250まで)を繰り返す。
なお、処理速度の変更(S220)後に、認証コマンド等のその他のコマンドを受信した場合(S210)に、演算部511は、認証コマンドに対応するコマンド処理プログラムの実行に係る演算を変更後のクロックに同期して行う(S240)。
第3実施形態によれば、第1実施形態と同様の効果に加え、例えば、携帯電話等の消費電力のピーク値に制限がある外部装置2−1,2−2が、DUSコマンドによって処理速度を低速に変更して消費電力を抑える等、外部装置2−1,2−2側から消費電力及び処理速度をコマンド毎、つまり、ジョブ(一又は複数の処理単位)毎に調整することができ、汎用性及び利便性の向上を図るとともに、効率的に処理の迅速化を図ることが可能となった。
(変形形態)
以上説明した実施形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。例えば、ICカード1は、外部装置2−1,2−2とアンテナ10又は接触端子20を介して通信を行う接触/非接触式共用のICチップ30を備えているが、これに限られず、非接触型ICチップでもよく、接触型ICチップであってもよい。また、ICカード1は、静電結合方式により外部装置と通信を行うアンテナ及びI/F部を備えていてもよく、通信方法は、限定されない。
各実施形態において、I/F部40は、基本クロック、2逓倍クロック、4逓倍クロック及び8逓倍クロックの4種類のクロックを生成するが、1/2倍、3倍、5.5倍、10倍等、基本クロックの他の倍数の周波数を有するクロックを生成してもよく、2種類のクロック、5種類以上のクロックを生成してもよく、複数の種類のクロックを生成することができれば、その周波数、種類の数は、限定されない。
また、外部装置2−1,2−2から供給される外部クロックに基づいて、I/F部40がCPU50,50−2,50−3に提供する複数の種類のクロックを生成する代わりに、CPU50,50−2,50−3等のICカード内部で外部クロックの干渉を受けない独自の基本クロックを生成し、基本クロックを逓倍等することによって、複数の種類のクロックを生成してもよい。
更に、クロック生成部42は、基本クロックの周波数を8倍した後に1/2倍、1/2倍して、周波数を調整し、4種類の周波数を有するクロックを生成しているが、これに限られず、例えば、基本クロックの周波数が高い場合には、1/2倍、1/2倍して複数のクロックを生成してもよく、周波数の異なる複数の種類のクロックを生成する方法は、限定されない。
各実施形態において、処理速度制御部52は、CPU50,50−2,50−3へ提供するクロックを変更することによって、アプリケーション実行部51(演算部511)の処理速度を変更しているが、同様に、コプロセッサ71を使用してアプリケーションプログラムを実行する場合(コプロセッサ71がアプリケーションプログラム実行手段を備える場合)には、コプロセッサ71に提供するクロックを変更することによって、アプリケーションプログラム実行手段の処理速度を変更してもよい。
また、処理速度制御部52は、クロック生成部42から、CPU50及びコプロセッサ71にそれぞれ異なる周波数のクロックを供給してもよい。より詳細に処理速度を変更することが可能となり、処理の効率化、処理速度の迅速化、最大消費電力の抑制を図ることが可能となる。
各実施形態において、命令DUS、命令SAC、命令SACN、DUSコマンドは、命令又は要求後の処理について処理速度を切り替える命令又は要求であるが、命令又は要求において、クロック及び変更後のクロックに同期して行う処理を指定してもよく、命令又は要求において、変更後のクロックを示唆する情報と、いずれの処理について変更後のクロックに同期して処理を行うかを示す情報とを含んでいれば、命令又は要求の規定の内容は、限定されない。
各実施形態において、ICカード1,1−2,1−3は、AP−1、AP−2等のアプリケーションプログラムをNVM63,63−2に記憶するが、ROM62,62−2,62−3に記憶していてもよく、RAM61に記憶していてもよい。アプリケーションプログラムを実行可能なように記憶していれば、記憶方法は、限定されない。OSについても同様である。
第2実施形態において、引数「len」に「0」が指定されている命令SAC及び命令SACNを処理速度変更指示として例示したが、命令SAC又は命令SACNの引数「src」及び「dst」が同一の場合に、処理速度変更指示としてもよく、また、他の既存の処理をCPU50−2に実行させる命令であってもよく、その命令において、既存の処理が無意味となる引数が指定された場合に、処理速度変更指示とする規定であれば、命令の種類及び引数の意味づけは、限定されない。
また、アプリケーションプログラム内における他の命令との関連において、既存の処理が無意味となる引数が指定されている命令を処理速度変更指示としてもよい。例えば、図10に示すように、AP−3は、引数「len」に「5」が指定されている命令SACが2度繰り返し記述されている(#4,#5)。この2回目の命令SAC(#5)を処理速度変更指示としてもよい。従来のOSがAP−3から呼び出しを受けた場合には、引数「gSrc」で示されるアドレスにあるデータ列を5バイト分、引数「gDst」で示されるアドレスへコピーする処理を2度繰り返しCPU50−2に実行させる。従って、1回目の命令SAC(#4)と同一の引数が指定されている2回目の命令SAC(#5)にかかる処理は、無意味なものとなる。
第2実施形態において、AP−2は、命令SAC、命令SACNを含んでいるが、OS−2が他の独自の機能を備える場合には、クロックを変更する以外の他の独自の機能又は汎用性のある機能をOS−2から呼び出す命令であって、汎用性のある機能が無意味となる引数が指定されている場合に、他の独自の機能の呼び出しを行う命令を含んでいてもよい。
命令が呼び出す独自の機能の内容については、限定されず、APIに任意に規定することが可能である。なお、独自の機能とは、従来のOSが備えていない、汎用性のない機能である。
様々な独自の機能をOSから呼び出す命令を含むAP−2は、従来のOSを搭載している従来のICカードに記憶され、実行することが可能であるため、汎用性が高いとともに、OS−2を搭載しているICカード1−2においては、様々な機能を発揮することができ、利便性を向上することが可能となる。
第3実施形態において、処理速度制御部52−3は、第2実施形態における命令SAC、命令SACNがOS−2から呼び出す機能と同様の機能を呼び出すコマンドであって、既存の処理が無意味となる引数が指定されている場合に処理速度変更要求となる、汎用性のあるSACコマンド、SACNコマンドを受信した場合に、アプリケーション実行部51の処理速度を変更してもよい。
外部装置から従来のICカードにSAC、SACNコマンドを送信した場合には、ICカードにおいて、実質的な処理が行われないとともに、エラーとならず、また、ICカード1−3にSACコマンド、SACNコマンドを送信した場合には、処理速度変更要求となり、第3実施形態と同様の効果に加え、外部装置の汎用性の向上を図ることが可能である。
本発明によるICカードの第1実施形態を示すブロック図である。 クロック生成部42を示すブロック図である。 本発明によるオペレーティングシステム及びアプリケーションプログラムの第1実施形態を説明するための図である。 第1実施形態における、本発明によるICカードの動作、オペレーティングシステム及びアプリケーションプログラムを示すフローチャートである。 アプリケーションプログラムの実行における処理の経過時間と、ICカードの消費電流との関係を示すグラフである。 本発明によるICカードの第2実施形態を示すブロック図である。 本発明によるオペレーティングシステム及びアプリケーションプログラムの第2実施形態を説明するための図である。 本発明によるICカードの第3実施形態を示すブロック図である。 第3実施形態における、本発明によるICカードの動作、オペレーティングシステム及びアプリケーションプログラムを示すフローチャートである。 本発明によるオペレーティングシステム及びアプリケーションプログラムの変形形態を説明するための図である。
符号の説明
1,1−2,1−3 ICカード
2−1,2−2 外部装置
10 アンテナ
20 接触端子
30,30−2,30−3 ICチップ
40 インターフェイス部
41 基本クロック生成部
42 クロック生成部
50 CPU
51 アプリケーション実行部
52 処理速度制御部
61 RAM
62,62−2,62−3 ROM
63,63−2 NVM
71 コプロセッサ
424 選択器
511 演算部

Claims (2)

  1. アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段を備えるICカードであって、
    命令を実行するCPUと、
    前記CPUを動作させるためのクロックの周波数を選択信号によって選択する選択器を有し、当該選択器によって選択されたクロックを前記CPUに提供するクロック生成部と、
    前記アプリケーションプログラム記憶手段によって記憶されているアプリケーションプログラムを構成する命令であって、前記CPUによって行われる処理が実質的に行われない引数が指定されている命令を、前記CPUが実行することに応じて前記クロック生成部の選択器に選択信号を送信して前記CPUの処理速度の制御を行う処理速度制御部と、を備えること、
    を特徴とするICカード
  2. 非接触式通信機能を行うアンテナ又は接触式通信機能を行う接触端子と、アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段を備えるICカードであって、
    命令を実行するCPUと、
    前記CPUを動作させるためのクロックの周波数を選択信号によって選択する選択器を有し、当該選択器によって選択されたクロックを前記CPUに提供するクロック生成部と、
    外部装置から前記アンテナ又は前記接触端子を介して処理速度変更要求を受信した場合に、この処理速度変更要求に応じて前記クロック生成部の選択器に選択信号を送信して前記CPUの処理速度の制御を行う処理速度制御部と、を備え、
    前記処理速度制御部は、前記処理速度変更要求以外の要求を受信した場合に、受信した要求に対応する、記憶されているアプリケーションプログラムを構成する命令であって、前記CPUによって行われる処理が実質的に行われない引数が指定されている命令を、前記CPUが実行することに応じて前記クロック生成部の選択器に選択信号を送信して前記CPUの処理速度の制御を行うこと、
    を特徴とするICカード
JP2008222416A 2008-08-29 2008-08-29 Icカード Expired - Fee Related JP4821822B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008222416A JP4821822B2 (ja) 2008-08-29 2008-08-29 Icカード

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008222416A JP4821822B2 (ja) 2008-08-29 2008-08-29 Icカード

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002379731A Division JP4290978B2 (ja) 2002-12-27 2002-12-27 Icカード

Publications (2)

Publication Number Publication Date
JP2009048642A JP2009048642A (ja) 2009-03-05
JP4821822B2 true JP4821822B2 (ja) 2011-11-24

Family

ID=40500733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008222416A Expired - Fee Related JP4821822B2 (ja) 2008-08-29 2008-08-29 Icカード

Country Status (1)

Country Link
JP (1) JP4821822B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5444143B2 (ja) * 2010-07-09 2014-03-19 株式会社東芝 携帯可能電子装置及びicカード
JP7123710B2 (ja) * 2018-09-18 2022-08-23 株式会社東芝 Icカード及び携帯可能電子装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115934A (ja) * 1997-06-24 1999-01-22 Nippon Steel Corp 無電池方式のrfid
JP3889158B2 (ja) * 1998-06-29 2007-03-07 株式会社エヌ・ティ・ティ・データ Ic搭載カード及びカードシステム

Also Published As

Publication number Publication date
JP2009048642A (ja) 2009-03-05

Similar Documents

Publication Publication Date Title
RU2357286C2 (ru) Операционная система смарт-карты и способ ее работы
US20100318811A1 (en) Cryptographic processor
Plos et al. Security-enabled near-field communication tag with flexible architecture supporting asymmetric cryptography
US8185738B2 (en) Data transmission method using an acknowledgement code comprising hidden authentication bits
EP3264221A1 (en) Method and circuit for dynamic power control
JP2005222194A (ja) 補助演算用コプロセッサ内蔵型icカード及びその制御方法
RU2271563C2 (ru) Электронная схема с контроллером и способ управления энергией
CN116861470A (zh) 加解密方法、装置、计算机可读存储介质和服务器
JP4821822B2 (ja) Icカード
CN113055165A (zh) 一种非对称密码算法装置、方法、设备及存储介质
JP4290978B2 (ja) Icカード
JP2012208910A (ja) 携帯可能電子装置、及び携帯可能電子装置の処理システム
US6669098B2 (en) Data carrier having a chip including means for the controllable voltage supply to a further component of the data carrier
US8855309B2 (en) Apparatus and method for providing security service
CN104715188A (zh) 一种基于绑定终端的应用实现方法及装置
CN108304134A (zh) 预览界面处理方法及电子设备
JP7230811B2 (ja) 情報処理装置、および情報処理方法
JP2005115620A (ja) タスク管理方法及びタスク管理手段を有する電子機器
JP4669262B2 (ja) Icカード用icチップ、icカード及びicカード用プログラム
JP7444197B2 (ja) 電子情報記憶媒体、暗号演算方式選択方法、及びプログラム
US12585834B2 (en) Execution of an operation in a secure element
HK40022404A (en) Information processing device and information processing method
JP5787692B2 (ja) Icカード、携帯可能電子装置、及びicカードの制御方法
JP6221454B2 (ja) 処理装置、icカード、処理方法、及び処理プログラム
JP2012060615A (ja) 携帯可能電子装置、及び携帯可能電子装置の制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110722

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4821822

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees