JP2004213180A - Ic card, operating system and application program - Google Patents
Ic card, operating system and application program Download PDFInfo
- Publication number
- JP2004213180A JP2004213180A JP2002379731A JP2002379731A JP2004213180A JP 2004213180 A JP2004213180 A JP 2004213180A JP 2002379731 A JP2002379731 A JP 2002379731A JP 2002379731 A JP2002379731 A JP 2002379731A JP 2004213180 A JP2004213180 A JP 2004213180A
- Authority
- JP
- Japan
- Prior art keywords
- application program
- processing speed
- card
- instruction
- speed change
- 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.)
- Granted
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、複数のアプリケーションを搭載可能なICカード、このICカードのCPUに実行させるオペレーティングシステム及びアプリケーションプログラムに関するものである。
【0002】
【従来の技術】
近年、ICカードに搭載されるICチップの高性能化に伴い、複数のアプリケーションを実行することができる利便性の高いマルチアプリケーションICカードが実用化されている。このようなICカードは、アプリケーション毎に専用の外部装置から電源を得るとともに、処理情報のやりとりを行いながら、目的の処理を実行する。ICカードは、外部装置との接続後に通信路の確立のために設定されるクロックに同期して通信及び処理を行っていた。
【0003】
ICカードに搭載されている複数のアプリケーションは、その用途毎に、必要とする仕様が異なり、例えば、あるアプリケーションでは、処理速度は遅くても消費電力を小さく抑えることが優先するが、別のアプリケーションでは、消費電力が大きくても処理速度を速くすることが優先する場合がある。
【0004】
特に、RSA、DES等のデータの暗号化、復号を行う処理は、計算量が多いため、ソフトウェア上で計算を行うと、ICカードの処理速度が遅くなる。この場合には、専用のハードウェアとしてICカード内のコプロセッサを使用すれば、処理速度を速くすることが可能であるが消費電力が増大する。
従って、処理速度の速さを優先したアプリケーションを搭載したICカードは、据え置き型等の消費電力が制限されていない外部装置においては、使用可能であるが、消費電流の推奨負荷ピーク値が定められている電池を電源とする携帯電話等、消費電力に制限のある外部装置において使用できず、汎用性に欠けるという問題があった。
この問題を解決するために、外部装置の種別に応じて、処理速度の基準となる内部クロックの周波数を変更する従来のICカードがある。
【0005】
【特許文献1】
特開2001−209764(第2−3頁、第1図)
【0006】
【発明が解決しようとする課題】
しかし、従来のICカードでは、アプリケーションに含まれる複数の処理において、消費電力が最大となる処理に合わせてすべての処理における処理速度を一律に調整するため、処理の遅延を招くおそれがある。つまり、ICカードが、消費電力に制限がある外部装置に接続され、アプリケーションに、暗号化及び復号の処理が含まれる場合には、内部クロックの周波数を低く設定しなければならず、この低い周波数に同期して、アプリケーションに含まれる他の処理を行わなければならないという問題があった。
【0007】
本発明の課題は、利便性及び汎用性が高く、処理の迅速化を図ることが可能なICカード、オペレーティングシステム及びアプリケーションプログラムを提供することである。
【0008】
【課題を解決するための手段】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項1の発明は、アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段(63、63−2)と、前記アプリケーションプログラム記憶手段に記憶されているアプリケーションプログラムを実行するアプリケーションプログラム実行手段(51)とを備えるICカードであって、前記アプリケーションプログラム実行手段によって実行されているアプリケーションプログラムに処理速度変更指示があった場合に、前記処理速度変更指示に応じて前記アプリケーションプログラム実行手段の処理速度を変更する処理速度変更手段(52、52−2)を備えること、を特徴とするICカード(1、1−2)である。
【0009】
請求項2の発明は、アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段(63)と、前記アプリケーションプログラム記憶手段によって記憶されているアプリケーションプログラムを実行するアプリケーションプログラム実行手段(51)とを備えるICカードであって、外部装置(2−1、2−2)から処理速度変更要求を受信した場合に、前記処理速度変更要求に応じて前記アプリケーションプログラム実行手段の処理速度を変更する処理速度変更手段(52−3)を備えること、を特徴とするICカード(1−3)である。
【0010】
請求項3の発明は、請求項1又は請求項2に記載のICカードにおいて、前記アプリケーションプログラム実行手段(51)は、アプリケーションプログラムに応じて演算を行う演算手段(511)を備え、前記処理速度変更手段は、前記処理速度変更指示又は前記処理速度変更要求に応じて前記演算手段の処理速度を変更すること、を特徴とするICカード(1、1−2、1−3)である。
【0011】
請求項4の発明は、請求項1から請求項3までのいずれか1項に記載のICカードにおいて、前記処理速度変更手段は、前記処理速度変更指示又は前記処理速度変更要求に応じて、前記アプリケーションプログラムの一又は複数の処理単位で処理速度を変更すること、を特徴とするICカード(1、1−2、1−3)である。
【0012】
請求項5の発明は、請求項1から請求項4までのいずれか1項に記載のICカードにおいて、前記処理速度変更指示又は前記処理速度変更要求は、既存の他の意味を有する命令又は要求であって、前記既存の他の意味を消す引数が指定されていること、を特徴とするICカード(1−2)である。
【0013】
請求項6の発明は、アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段(63)を備えるICカード(1、1−2)のCPU(50、50−2)に実行させるオペレーティングシステムであって、前記アプリケーションプログラム記憶手段によって記憶されているアプリケーションプログラム(AP−1、AP−2)から所定の呼び出しがあった場合に、この呼び出しに応じて前記CPUの処理速度を変更する処理速度変更手順(S140、#1、#3、#5)を備えること、を特徴とするオペレーティングシステム(OS−1、OS−2)である。
【0014】
請求項7の発明は、アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段(63)を備えるICカード(1−3)のCPU(50−3)に実行させるオペレーティングシステムであって、外部装置(2−1、2−2)から処理速度変更要求を受信した場合に、この処理速度変更要求に応じて前記CPUの処理速度を変更する処理速度変更手順(S230)を備えること、を特徴とするオペレーティングシステム(OS−3)である。
【0015】
請求項8の発明は、ICカード(1、1−2)のCPU(50、50−2)に実行させるアプリケーションプログラムであって、前記CPUの処理速度を変更する処理速度変更手順(S140、#1、#3、#5)を備えること、を特徴とするアプリケーションプログラム(AP−1、AP−2)である。
【0016】
請求項9の発明は、請求項8に記載のアプリケーションプログラムにおいて、
前記処理速度変更手順は、オペレーティングシステムが提供する独自のインターフェイスを利用すること、
を特徴とするアプリケーションプログラムである。
【0017】
請求項10の発明は、請求項8に記載のアプリケーションプログラムにおいて、
前記処理速度変更手順は、前記CPUに既存の他の処理を実行させる命令であって、前記既存の他の処理が無意味となる引数が指定されている場合に実行されること、を特徴とするアプリケーションプログラム(AP−2)である。
【0018】
請求項11の発明は、ICカード(1−2)のCPU(50−2)に実行させるアプリケーションプログラムであって、独自の機能をオペレーティングシステムから呼び出す呼び出し手順(#1、#3、#5)を備え、前記呼び出し手順は、他の汎用性のある機能を呼び出す命令であって、前記他の機能が無意味となる引数が指定されている場合に実行されること、を特徴とするアプリケーションプログラム(AP−2)である。
【0019】
【発明の実施の形態】
以下、図面等を参照しながら、本発明の実施の形態について、更に詳しく説明する。
(第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を備える情報処理装置である。
【0020】
アンテナ10は、導体が電気的に接触しないように複数回巻かれ、ICチップ30のインターフェイス部40(以下、「インターフェイス」を「I/F」という。)に接続されている巻線コイル等であって、交流電磁波及び交流電力の相互変換を行う。
接触端子20は、外部装置2−2のR/Wの端子と接触して電気的導通を行う複数の端子を備え、ICチップ30のI/F部40に接続され、電源電圧、外部クロック等の供給を受け、情報の授受を行う、ICチップ30及び外部装置2−2間における接触式での通信を媒介する接触式通信手段である。
【0021】
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へ出力する変調回路等とを備えている(図示しない)。
【0022】
クロック生成部42は、基本クロック生成部41又は接触端子20から入力する基本クロック(外部クロック)から複数のクロックを生成し、いずれか一のクロックを内部クロックとしてCPU50へ入力する。
図2は、クロック生成部42を示すブロック図である。
図2に示すように、クロック生成部42は、基本クロック生成部41から入力される基本クロックを8倍(以下、基本クロックのX倍の周波数のクロックを「X逓倍クロック」という。)の周波数に高める逓倍回路421と、逓倍回路421から入力される8逓倍クロックを1/2の周波数に低減する分周回路422と、分周回路422から入力される4逓倍クロックを1/2の周波数に低減する分周回路423と、選択器424とを備えている。
【0023】
選択器424は、基本クロック生成部41、逓倍回路421、分周回路422,423及びCPU50等に接続され、CPU50から入力される選択信号に基づき、接続を切り替え、逓倍回路421等によって入力される4種類のクロック(基本クロック、8逓倍クロック、4逓倍クロック及び2逓倍クロック)のうち、いずれか一のクロックを内部クロックとしてCPU50へ入力する。なお、ICカード1の初期状態において、選択器424は、基本クロックをCPU50へ入力する。
【0024】
図1に示すように、RAM61、ROM62及びNVM63は、プログラム、データ等のCPU50の処理に必要な情報を記憶するための記憶手段である。RAM61は、揮発性メモリであり、CPU50が処理を行う作業領域として使用される。ROM62は、不揮発性の読み出し専用メモリであって、オペレーティングシステム(以下、ICカード1に記憶されているオペレーティングシステムを「OS−1」という。)等のプログラム及びパラメータ等のプログラムの実行に必要なデータを記憶している。オペレーティングシステムとは、基本ソフトウェアであって、CPU50が実行することによって、CPU50、周辺機器等のハードウェアを制御し、アプリケーションプログラムがこれを利用できるようにするプログラム及びプログラムの実行に必要なデータである。
NVM63は、EEPROM、フラッシュメモリ、FRAM等の随時書き換え可能な不揮発性のメモリであり、通常ユーザのワークエリア、プログラムエリア等として使用され、複数のアプリケーションを記憶することが可能である。
【0025】
CPU50は、ROM62、NVM63等のメモリに記憶されているOS−1等のプログラムを実行することによって、ICカード1を統括制御し、アプリケーション実行部51、処理速度制御部52等を実現する。
アプリケーション実行部51は、NVM63に記憶されているアプリケーションプログラムを実行するアプリケーションプログラム実行手段であり、アプリケーションプログラムの実行に係る算術演算、論理演算等の演算を行う演算部511を備えている。演算部511は、選択器424からCPU50へ提供される内部クロックに同期して処理を行う。
【0026】
処理速度制御部52は、アプリケーション実行部51が実行しているアプリケーションプログラムに処理速度変更指示があった場合に、選択器424へクロック識別情報を含む選択信号を送信して選択器424を制御し、CPU50へ入力する内部クロックを切り替えることによって、演算部511の処理速度を変更する等、CPU50の処理速度の制御を行う。処理速度変更指示とは、処理速度を変更する命令であって、本実施形態においては、CPU50に入力するクロックを変更する命令であり、変更後にCPU50へ入力すべき内部クロックを示すクロック識別情報を含んでいる。クロック識別情報は、クロック生成部42がCPU50へ入力可能な4種類のクロックから一のクロックを識別するための情報である。命令とは、CPU50に動作をさせるための指示であって、関数を含む。コプロセッサ71は、CPU50を補完し、性能を強化するプロセッサであって、データの暗号化、復号等の計算量の多い処理を専用に行う演算手段である。
【0027】
図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の処理速度の変更を指示する処理速度変更指示である。
【0028】
命令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を実行することによって、関連づけを動的に行ってもよい。また、いずれのクロックをいずれの引数の値に関連づけるかは、任意であって限定されない。
【0029】
図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の命令単位等、ハードウェア資源を使う処理における実行の最小単位(タスク)である。
【0030】
図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まで)を繰り返す。
【0031】
第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カードで使用することができ、汎用性を向上することが可能となった。
【0032】
(第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を記憶している。
【0033】
図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」という。)を含んでいる。
【0034】
OS−2は、引数「len」に、命令SACのデータ列をコピーするという既存の意味を消す引数(既存の処理が無意味となる引数)「0」が指定され、AP−2から呼び出しがあった場合には、8逓倍クロックを示すクロック識別情報を含む選択信号を選択器424へ送信する独自の機能を備え、処理速度制御部52−2をCPU50−2に実現させる。意味を消す(無意味)とは、命令に応じた処理において、処理対象のデータ(引数「dst」又は「src」で示されるアドレスのデータ)の内容が変わらない等、実質的な処理が行われないことである。
なお、従来のOSがAP−2から呼び出しを受けた場合には、コピーするデータ列の容量がゼロであるため、この命令に応じた処理を行わない、又は、行った場合であっても処理前後において、処理対象のデータ(dst又はsrcで示されるアドレスのデータ)の内容が変わらず、処理結果が、エラーとなることもない。
【0035】
また、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に実現させる。
【0036】
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)。
【0037】
第2実施形態によれば、第1実施形態の効果に加え、汎用性の高い既存の命令である命令SAC及び命令SACNにおいて本来の意味を消す引数を指定することによって、OS−2の独自の機能の呼び出しを行うため、この独自の機能を備えていない従来のOSを備えるICカード上でAP−2を実行することが可能であり、AP−2の汎用性を向上することが可能となった。
【0038】
(第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)が指定される。
【0039】
図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)。
【0040】
第3実施形態によれば、第1実施形態と同様の効果に加え、例えば、携帯電話等の消費電力のピーク値に制限がある外部装置2−1,2−2が、DUSコマンドによって処理速度を低速に変更して消費電力を抑える等、外部装置2−1,2−2側から消費電力及び処理速度をコマンド毎、つまり、ジョブ(一又は複数の処理単位)毎に調整することができ、汎用性及び利便性の向上を図るとともに、効率的に処理の迅速化を図ることが可能となった。
【0041】
(変形形態)
以上説明した実施形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。例えば、ICカード1は、外部装置2−1,2−2とアンテナ10又は接触端子20を介して通信を行う接触/非接触式共用のICチップ30を備えているが、これに限られず、非接触型ICチップでもよく、接触型ICチップであってもよい。また、ICカード1は、静電結合方式により外部装置と通信を行うアンテナ及びI/F部を備えていてもよく、通信方法は、限定されない。
【0042】
各実施形態において、I/F部40は、基本クロック、2逓倍クロック、4逓倍クロック及び8逓倍クロックの4種類のクロックを生成するが、1/2倍、3倍、5.5倍、10倍等、基本クロックの他の倍数の周波数を有するクロックを生成してもよく、2種類のクロック、5種類以上のクロックを生成してもよく、複数の種類のクロックを生成することができれば、その周波数、種類の数は、限定されない。
【0043】
また、外部装置2−1,2−2から供給される外部クロックに基づいて、I/F部40がCPU50,50−2,50−3に提供する複数の種類のクロックを生成する代わりに、CPU50,50−2,50−3等のICカード内部で外部クロックの干渉を受けない独自の基本クロックを生成し、基本クロックを逓倍等することによって、複数の種類のクロックを生成してもよい。
【0044】
更に、クロック生成部42は、基本クロックの周波数を8倍した後に1/2倍、1/2倍して、周波数を調整し、4種類の周波数を有するクロックを生成しているが、これに限られず、例えば、基本クロックの周波数が高い場合には、1/2倍、1/2倍して複数のクロックを生成してもよく、周波数の異なる複数の種類のクロックを生成する方法は、限定されない。
【0045】
各実施形態において、処理速度制御部52は、CPU50,50−2,50−3へ提供するクロックを変更することによって、アプリケーション実行部51(演算部511)の処理速度を変更しているが、同様に、コプロセッサ71を使用してアプリケーションプログラムを実行する場合(コプロセッサ71がアプリケーションプログラム実行手段を備える場合)には、コプロセッサ71に提供するクロックを変更することによって、アプリケーションプログラム実行手段の処理速度を変更してもよい。
【0046】
また、処理速度制御部52は、クロック生成部42から、CPU50及びコプロセッサ71にそれぞれ異なる周波数のクロックを供給してもよい。より詳細に処理速度を変更することが可能となり、処理の効率化、処理速度の迅速化、最大消費電力の抑制を図ることが可能となる。
【0047】
各実施形態において、命令DUS、命令SAC、命令SACN、DUSコマンドは、命令又は要求後の処理について処理速度を切り替える命令又は要求であるが、命令又は要求において、クロック及び変更後のクロックに同期して行う処理を指定してもよく、命令又は要求において、変更後のクロックを示唆する情報と、いずれの処理について変更後のクロックに同期して処理を行うかを示す情報とを含んでいれば、命令又は要求の規定の内容は、限定されない。
【0048】
各実施形態において、ICカード1,1−2,1−3は、AP−1、AP−2等のアプリケーションプログラムをNVM63,63−2に記憶するが、ROM62,62−2,62−3に記憶していてもよく、RAM61に記憶していてもよい。アプリケーションプログラムを実行可能なように記憶していれば、記憶方法は、限定されない。OSについても同様である。
【0049】
第2実施形態において、引数「len」に「0」が指定されている命令SAC及び命令SACNを処理速度変更指示として例示したが、命令SAC又は命令SACNの引数「src」及び「dst」が同一の場合に、処理速度変更指示としてもよく、また、他の既存の処理をCPU50−2に実行させる命令であってもよく、その命令において、既存の処理が無意味となる引数が指定された場合に、処理速度変更指示とする規定であれば、命令の種類及び引数の意味づけは、限定されない。
【0050】
また、アプリケーションプログラム内における他の命令との関連において、既存の処理が無意味となる引数が指定されている命令を処理速度変更指示としてもよい。例えば、図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)にかかる処理は、無意味なものとなる。
【0051】
第2実施形態において、AP−2は、命令SAC、命令SACNを含んでいるが、OS−2が他の独自の機能を備える場合には、クロックを変更する以外の他の独自の機能又は汎用性のある機能をOS−2から呼び出す命令であって、汎用性のある機能が無意味となる引数が指定されている場合に、他の独自の機能の呼び出しを行う命令を含んでいてもよい。
命令が呼び出す独自の機能の内容については、限定されず、APIに任意に規定することが可能である。なお、独自の機能とは、従来のOSが備えていない、汎用性のない機能である。
様々な独自の機能をOSから呼び出す命令を含むAP−2は、従来のOSを搭載している従来のICカードに記憶され、実行することが可能であるため、汎用性が高いとともに、OS−2を搭載しているICカード1−2においては、様々な機能を発揮することができ、利便性を向上することが可能となる。
【0052】
第3実施形態において、処理速度制御部52−3は、第2実施形態における命令SAC、命令SACNがOS−2から呼び出す機能と同様の機能を呼び出すコマンドであって、既存の処理が無意味となる引数が指定されている場合に処理速度変更要求となる、汎用性のあるSACコマンド、SACNコマンドを受信した場合に、アプリケーション実行部51の処理速度を変更してもよい。
外部装置から従来のICカードにSAC、SACNコマンドを送信した場合には、ICカードにおいて、実質的な処理が行われないとともに、エラーとならず、また、ICカード1−3にSACコマンド、SACNコマンドを送信した場合には、処理速度変更要求となり、第3実施形態と同様の効果に加え、外部装置の汎用性の向上を図ることが可能である。
【0053】
【発明の効果】
以上詳しく説明したように、本発明によれば、以下の効果を得ることが可能となった。
(1)アプリケーションプログラムに処理速度変更指示があった場合に、アプリケーションプログラム実行手段(演算手段、CPU)の処理速度を変更するため、アプリケーションプログラムに含まれる処理内容に応じて処理速度を変更し、消費電力及び処理速度を調整することによって、ICカード及び外部装置の汎用性及び利便性の向上を図るとともに、効率的にICカードにおける処理の迅速化を図る。
(2)外部装置から受信した処理速度変更要求に基づいて、アプリケーションプログラム実行手段(演算手段、CPU)の処理速度を変更するため、外部装置側から消費電力及び処理速度を要求内容に応じて調整することによって、ICカード及び外部装置の汎用性及び利便性の向上を図るとともに、効率的にICカードにおける処理の迅速化を図る。
(3)また、処理単位で処理速度を変更するため、詳細に消費電力及び処理速度を調整することによって、消費電力に制限のある外部装置において使用可能とする等、汎用性及び利便性の向上を図るとともに、効率的に処理の迅速化を図る。
(4)アプリケーションプログラムが、既存の他の意味を有する命令(既存の他の処理を実行させる命令)であって、既存の他の意味を消す引数(既存の他の処理が無意味となる引数)が指定されている処理速度変更指示を含み、この処理速度変更指示に基づいて処理速度の変更を行うため、処理速度変更指示に対応するオペレーティングシステムを記憶するICカードのみならず、従来のオペレーティングシステムを記憶するICカードでもこのアプリケーションプログラムを利用することができ、汎用性の向上を図る。
(5)同様に、他の意味を有する要求であって、他の意味を消す引数が指定されている処理速度変更要求に基づいて処理速度の変更を行うため、外部装置は、処理速度変更要求に対応するオペレーティングシステム(アプリケーションプログラム)を備えるICカードのみならず、従来のオペレーティングシステム(アプリケーションプログラム)を記憶するICカードにおいても、この要求を行うことができ、汎用性の向上を図る。
(6)汎用性のある機能を呼び出す命令の引数にこの機能が無意味となる引数が指定されている場合に、独自の機能をオペレーティングシステムから呼び出すため、この命令を含むアプリケーションプログラムを、従来のOSを搭載しているICカードで使用可能とするとともに、独自の機能を備えるOSを搭載しているICカードにおいては、独自の機能を発揮させ、汎用性及び利便性の向上を図る。
【図面の簡単な説明】
【図1】本発明によるICカードの第1実施形態を示すブロック図である。
【図2】クロック生成部42を示すブロック図である。
【図3】本発明によるオペレーティングシステム及びアプリケーションプログラムの第1実施形態を説明するための図である。
【図4】第1実施形態における、本発明によるICカードの動作、オペレーティングシステム及びアプリケーションプログラムを示すフローチャートである。
【図5】アプリケーションプログラムの実行における処理の経過時間と、ICカードの消費電流との関係を示すグラフである。
【図6】本発明によるICカードの第2実施形態を示すブロック図である。
【図7】本発明によるオペレーティングシステム及びアプリケーションプログラムの第2実施形態を説明するための図である。
【図8】本発明によるICカードの第3実施形態を示すブロック図である。
【図9】第3実施形態における、本発明によるICカードの動作、オペレーティングシステム及びアプリケーションプログラムを示すフローチャートである。
【図10】本発明によるオペレーティングシステム及びアプリケーションプログラムの変形形態を説明するための図である。
【符号の説明】
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 演算部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an IC card on which a plurality of applications can be mounted, an operating system executed by a CPU of the IC card, and an application program.
[0002]
[Prior art]
2. Description of the Related Art In recent years, with the advancement of the performance of IC chips mounted on IC cards, highly convenient multi-application IC cards capable of executing a plurality of applications have been put to practical use. Such an IC card obtains power from a dedicated external device for each application, and executes target processing while exchanging processing information. The IC card performs communication and processing in synchronization with a clock set for establishing a communication path after connection with an external device.
[0003]
The specifications required for a plurality of applications mounted on an IC card differ depending on the application. For example, in some applications, it is prioritized to reduce power consumption even if the processing speed is slow, but another application In some cases, there is a case where priority is given to increasing the processing speed even if the power consumption is large.
[0004]
In particular, the processing for encrypting and decrypting data such as RSA and DES requires a large amount of calculation, and therefore, if the calculation is performed on software, the processing speed of the IC card becomes slow. In this case, if a coprocessor in the IC card is used as dedicated hardware, the processing speed can be increased, but power consumption increases.
Therefore, an IC card equipped with an application that prioritizes the processing speed can be used in an external device such as a stationary type that does not have a limited power consumption, but a recommended load peak value of current consumption is determined. It cannot be used in an external device with limited power consumption, such as a mobile phone using a battery as a power source, and lacks versatility.
In order to solve this problem, there is a conventional IC card in which the frequency of an internal clock serving as a reference for processing speed is changed according to the type of external device.
[0005]
[Patent Document 1]
JP-A-2001-209768 (page 2-3, FIG. 1)
[0006]
[Problems to be solved by the invention]
However, in the conventional IC card, in a plurality of processes included in the application, the processing speed in all the processes is uniformly adjusted in accordance with the process in which the power consumption is maximized, so that there is a possibility that the process may be delayed. In other words, when the IC card is connected to an external device with limited power consumption and the application includes encryption and decryption processing, the frequency of the internal clock must be set low. , There is a problem that other processes included in the application must be performed in synchronization with the application.
[0007]
It is an object of the present invention to provide an IC card, an operating system, and an application program which are highly convenient and versatile and can speed up processing.
[0008]
[Means for Solving the Problems]
The present invention solves the above problem by the following means. In addition, in order to facilitate understanding, the description will be given with reference numerals corresponding to the embodiment of the present invention, but the present invention is not limited to this. That is, the invention of
[0009]
The invention according to
[0010]
According to a third aspect of the present invention, in the IC card according to the first or second aspect, the application program execution means (51) includes an operation means (511) for performing an operation according to an application program, and the processing speed is increased. The changing means changes the processing speed of the calculating means in response to the processing speed change instruction or the processing speed change request, and is an IC card (1, 1-2, 1-3).
[0011]
According to a fourth aspect of the present invention, in the IC card according to any one of the first to third aspects, the processing speed changing means is configured to respond to the processing speed change instruction or the processing speed change request. An IC card (1, 1-2, 1-3) wherein a processing speed is changed in one or a plurality of processing units of an application program.
[0012]
According to a fifth aspect of the present invention, in the IC card according to any one of the first to fourth aspects, the processing speed change instruction or the processing speed change request is a command or request having another existing meaning. Wherein an argument for deleting the existing other meaning is specified.
[0013]
7. The operating system according to
[0014]
The invention according to claim 7 is an operating system to be executed by a CPU (50-3) of an IC card (1-3) including an application program storage means (63) for storing an application program, wherein the external device (2-1) Operating system (S230) for changing the processing speed of the CPU according to the processing speed change request when the processing speed change request is received from 2-2). OS-3).
[0015]
The invention according to claim 8 is an application program to be executed by the CPU (50, 50-2) of the IC card (1, 1-2), wherein the processing speed changing procedure (S140, # 140) changes the processing speed of the CPU. 1, # 3, and # 5).
[0016]
According to a ninth aspect of the present invention, in the application program according to the eighth aspect,
The processing speed change procedure uses a unique interface provided by the operating system,
An application program characterized by the following.
[0017]
According to a tenth aspect, in the application program according to the eighth aspect,
The processing speed change procedure is an instruction for causing the CPU to execute another existing process, and is executed when an argument that makes the existing other process insignificant is specified. Application program (AP-2).
[0018]
The invention according to claim 11 is an application program to be executed by the CPU (50-2) of the IC card (1-2), and a calling procedure (# 1, # 3, # 5) for calling a unique function from the operating system. Wherein the calling procedure is an instruction for calling another versatile function, and is executed when an argument that makes the other function meaningless is specified. (AP-2).
[0019]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in more detail with reference to the drawings and the like.
(1st Embodiment)
FIG. 1 is a block diagram showing a first embodiment of an IC card according to the present invention.
As shown in FIG. 1, the
The external device 2-1 is an information processing device having an R / W that performs non-contact communication with the
[0020]
The
The
[0021]
The
The I / F unit 40 is a clock for extracting a clock component, that is, an external clock (base clock) that is a tempo for synchronizing between peripheral circuits such as the
[0022]
The
FIG. 2 is a block diagram showing the
As illustrated in FIG. 2, the
[0023]
The
[0024]
As shown in FIG. 1, the
The
[0025]
The
The
[0026]
The processing
[0027]
FIG. 3 is a diagram for explaining a first embodiment of an operating system and application programs according to the present invention. FIG. 3A shows an OS-1 application program interface (hereinafter, referred to as “OS-1”) stored in a
As shown in FIG. 3A, the API of the OS-1 transmits a selection signal including clock identification information indicating a clock corresponding to the argument “Lv” (level) to the
[0028]
Argument values of the instruction DUS (values that can be specified by Lv) are four types of values, DEFAULT, HIGH, MIDDLE, and LOW, and four types of clocks (basic clocks) that the I / F unit 40 can provide to the
The correspondence may be stored in a memory such as the
[0029]
FIG. 3B is a diagram showing a part of an application program according to the present invention. The application program according to the present invention is AP-1 stored in the
As shown in FIG. 3B, AP-1 includes an instruction DUS in which an argument “HIGH” is specified before the instruction HF, and an instruction DUS in which an argument “DEFAULT” is specified after the instruction HF. I have. Therefore, the
Therefore, the processing
[0030]
FIG. 4 is a flowchart showing the operation of the IC card, the operating system, and the application programs according to the present invention in the first embodiment.
In step 100 (hereinafter, “step” is referred to as “S”), the
In S110, the
[0031]
According to the first embodiment, the clock provided by the I / F unit 40 to the
FIG. 5 is a graph showing the relationship between the elapsed time (horizontal axis) of the processing in the execution of the application program and the current consumption (vertical axis) of the IC card. FIG. FIG. 5B shows current consumption in the
That is, as shown in FIG. 5A, in a conventional IC card, an external device 2-2 having a limited power consumption such as a mobile phone powered by a battery having a recommended load peak value of the current consumption is used. Can not be used in On the other hand, in the
In the API, the meaning (8 times multiplication, etc.) indicated by the argument (DEFAULT, HIGH, MIDDLE, LOW) of the instruction DUS is arbitrary for each card, so that a plurality of clocks can be generated and OS-1 is mounted. If so, the type and number of clocks to be generated are not limited, and AP-1 can be used in more IC cards, and versatility can be improved.
[0032]
(2nd Embodiment)
FIG. 6 is a block diagram showing a second embodiment of the IC card according to the present invention.
In addition, the parts performing the same functions as those of the above-described embodiment are denoted by the same reference numerals, and the repeated description will be appropriately omitted.
As shown in FIG. 6, the IC card 1-2 includes a CPU 50-2, a ROM 62-2, an NVM 63-2, and the like.
The CPU 50-2 implements the processing speed control unit 52-2 by executing programs stored in the ROM 62-2 and the NVM 63-2.
The ROM 62-2 stores OS-2 as an operating system, and the NVM 63-2 stores AP-2 as an application program.
[0033]
FIG. 7 is a diagram for explaining the second embodiment of the operating system and the application program according to the present invention, and shows a part of the application program. The OS and application programs according to the present invention are OS-2 and AP-2.
As shown in FIG. 7, the AP-2 has a function of copying the data string at the address indicated by the argument "src" by the capacity indicated by the argument "len" to the address indicated by the argument "dst". 2 standard “array.arrayCopy (REFERENCE src, REFERENCE dst, short len) that can be executed on a conventional general OS (IC card) such as Java OS (“ JAVA ”is a registered trademark). (Hereinafter, this command is referred to as “command SAC”).
[0034]
In the OS-2, the argument “len” is specified with an argument “0” that deletes the existing meaning of copying the data string of the instruction SAC (an argument that makes the existing processing meaningless), and the call from the AP-2 is made. If there is, a unique function of transmitting a selection signal including clock identification information indicating the eight-multiplied clock to the
When the conventional OS receives a call from the AP-2, since the capacity of the data string to be copied is zero, the processing corresponding to this instruction is not performed, or the processing is performed even when the instruction is performed. Before and after, the content of the data to be processed (data at the address indicated by dst or src) does not change, and the processing result does not become an error.
[0035]
AP-2 is a versatile instruction that allows the CPU 50-2 to copy information in the same manner as the instruction SAC, and differs from the instruction SAC in that the data string is not backed up before processing. An instruction “standard.arrayCopyNonomic (REFERENCE src, REFERENCEdst, short len)” (hereinafter, this instruction is referred to as “instruction SACN”) is included.
The OS-2 is designated by the argument “len” with an argument “0” that deletes the original meaning of copying the data string of the instruction SACN (an argument that makes the existing processing meaningless), and is called from the AP-2. In the case where there is, a unique function of transmitting a selection signal including clock identification information indicating a basic clock to the
[0036]
AP-2 includes an instruction SAC in which “0” is specified in the argument “len” before the instruction HF, and an instruction SACN in which “0” is specified in the argument “len” after the instruction HF.
The execution procedure of the AP-2 program will be described. First, the processing speed control unit 52-2 changes the clock provided to the CPU 50-2 to the multiplied clock (# 1), and then the arithmetic unit 511 performs a calculation in synchronization with the multiplied clock. The
[0037]
According to the second embodiment, in addition to the effects of the first embodiment, by specifying an argument for erasing the original meaning in the instructions SAC and SACN which are existing instructions having high versatility, the uniqueness of OS-2 Since the function is called, AP-2 can be executed on an IC card having a conventional OS that does not have this unique function, and the versatility of AP-2 can be improved. Was.
[0038]
(Third embodiment)
FIG. 8 is a block diagram showing a third embodiment of the IC card according to the present invention.
As shown in FIG. 8, the IC card 1-3 includes a CPU 50-3, a ROM 62-3, and the like.
The ROM 62-3 stores an OS-3 as an operating system.
When the CPU 50-3 receives a processing speed change request including clock identification information from the external devices 2-1 and 2-2 requesting a change in the processing speed of the
[0039]
FIG. 9 is a flowchart showing the operation of the IC card, the operating system, and the application programs according to the present invention in the third embodiment.
In S200, the IC card 1-3 is connected to the external device 2-1 (or the external device 2-2) and is in a state of being supplied with power and a clock.
In S210, the IC card 1-3 receives a command from the external device 2-1 (S210). If the received command is a DUS command, the processing speed control unit 52-3 changes the processing speed (S220, S230). If the received command is another command, the command processing program corresponding to the received command. Is executed (S220, S240). The IC card 1-3 transmits the processing result to the external device 2-1 as a response (S250), and waits until the next command is received, and remains the same until the connection with the external device 2-1 is disconnected. (From S220 to S250) are repeated.
When another command such as an authentication command is received (S210) after the processing speed is changed (S220), the calculation unit 511 changes the clock related to the execution of the command processing program corresponding to the authentication command after the change. (S240).
[0040]
According to the third embodiment, in addition to the same effects as the first embodiment, for example, the external devices 2-1 and 2-2 having a limit on the peak value of the power consumption, such as a mobile phone, perform processing speed by the DUS command. The power consumption and the processing speed can be adjusted for each command, that is, for each job (one or a plurality of processing units) from the external devices 2-1 and 2-2, for example, by changing the power consumption to a low speed to suppress the power consumption. In addition to improving versatility and convenience, it has become possible to efficiently speed up processing.
[0041]
(Modified form)
Various modifications and changes are possible without being limited to the embodiments described above, and these are also within the equivalent scope of the present invention. For example, the
[0042]
In each of the embodiments, the I / F unit 40 generates four types of clocks: a basic clock, a multiplied clock, a quadrupled clock, and an octupled clock. A clock having a frequency that is another multiple of the basic clock such as a double clock may be generated, two types of clocks, five or more types of clocks may be generated, and if a plurality of types of clocks can be generated, The frequency and the number of types are not limited.
[0043]
Also, instead of generating a plurality of types of clocks to be provided to the
[0044]
Furthermore, the
[0045]
In each embodiment, the processing
[0046]
Further, the processing
[0047]
In each embodiment, the instruction DUS, the instruction SAC, the instruction SACN, and the DUS command are instructions or requests for switching the processing speed for the processing after the instruction or the request, but are synchronized with the clock and the changed clock in the instruction or the request. The instruction or request may include information indicating the clock after the change and information indicating which process is to be performed in synchronization with the clock after the change. , The contents of the provisions of the order or request are not limited.
[0048]
In each embodiment, the
[0049]
In the second embodiment, the instruction SAC and the instruction SACN in which the argument “len” is specified as “0” are exemplified as the processing speed change instruction, but the arguments “src” and “dst” of the instruction SAC or the instruction SACN are the same. In this case, the instruction may be a processing speed change instruction, or may be an instruction to cause the CPU 50-2 to execute another existing processing, and an argument that makes the existing processing meaningless is specified in the instruction. In this case, the type of instruction and the meaning of the argument are not limited as long as the instruction is a processing speed change instruction.
[0050]
Further, in relation to another instruction in the application program, an instruction in which an argument that makes existing processing insignificant may be specified as the processing speed change instruction. For example, as shown in FIG. 10, in the AP-3, the instruction SAC in which “5” is specified in the argument “len” is repeatedly described twice (# 4, # 5). The second instruction SAC (# 5) may be used as a processing speed change instruction. When the conventional OS receives a call from the AP-3, the
[0051]
In the second embodiment, the AP-2 includes the command SAC and the command SACN. However, when the OS-2 has another unique function, other unique functions other than changing the clock or general-purpose functions are used. A command for calling a versatile function from the OS-2, and may include an instruction for calling another unique function when an argument that makes the versatile function meaningless is specified. .
The content of the unique function called by the instruction is not limited, and can be arbitrarily defined in the API. The unique function is a function that is not provided in the conventional OS and has no versatility.
The AP-2 including instructions for calling various unique functions from the OS can be stored and executed on a conventional IC card equipped with a conventional OS, so that it is highly versatile and has a high versatility. In the IC card 1-2 on which the
[0052]
In the third embodiment, the processing speed control unit 52-3 is a command that calls a function similar to the function called by the instruction SAC and the instruction SACN from the OS-2 in the second embodiment, and the existing processing is meaningless. The processing speed of the
When the SAC and SACN commands are transmitted from the external device to the conventional IC card, no substantial processing is performed in the IC card, no error occurs, and the SAC command and the SACN command are transmitted to the IC card 1-3. When the command is transmitted, the request is a processing speed change request, and the versatility of the external device can be improved in addition to the same effect as in the third embodiment.
[0053]
【The invention's effect】
As described above in detail, according to the present invention, the following effects can be obtained.
(1) When the application program is instructed to change the processing speed, the processing speed is changed according to the processing content included in the application program in order to change the processing speed of the application program execution means (calculation means, CPU) By adjusting the power consumption and the processing speed, the versatility and convenience of the IC card and the external device are improved, and the processing in the IC card is efficiently speeded up.
(2) To change the processing speed of the application program execution means (computing means, CPU) based on the processing speed change request received from the external device, adjust the power consumption and the processing speed from the external device side according to the request. By doing so, the versatility and convenience of the IC card and the external device are improved, and the processing in the IC card is efficiently speeded up.
(3) Further, since the processing speed is changed in units of processing, the power consumption and the processing speed are adjusted in detail so that the device can be used in an external device having a limited power consumption. And efficiently speed up the processing.
(4) The application program is an instruction having an existing other meaning (an instruction for executing another existing process), and an argument for erasing the other existing meaning (an argument for which the existing other process becomes meaningless) ) Includes a designated processing speed change instruction, and changes the processing speed based on the processing speed change instruction. Therefore, not only an IC card that stores an operating system corresponding to the processing speed change instruction, but also a conventional operating system. This application program can be used in an IC card that stores the system, and versatility is improved.
(5) Similarly, since the processing speed is changed based on a processing speed change request that has another meaning and an argument for deleting the other meaning is specified, the external device executes the processing speed change request. This request can be made not only in an IC card having an operating system (application program) corresponding to the above, but also in a conventional IC card storing an operating system (application program), and versatility is improved.
(6) When an argument that makes this function insignificant is specified in the argument of an instruction that calls a versatile function, an original program is called from the operating system. In addition to being able to be used with an IC card equipped with an OS, an IC card equipped with an OS having a unique function exhibits its unique function to improve versatility and convenience.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a first embodiment of an IC card according to the present invention.
FIG. 2 is a block diagram showing a
FIG. 3 is a diagram illustrating a first embodiment of an operating system and an application program according to the present invention.
FIG. 4 is a flowchart showing an operation, an operating system, and an application program of the IC card according to the present invention in the first embodiment.
FIG. 5 is a graph showing a relationship between an elapsed time of processing in execution of an application program and current consumption of an IC card.
FIG. 6 is a block diagram showing a second embodiment of the IC card according to the present invention.
FIG. 7 is a diagram illustrating a second embodiment of the operating system and the application program according to the present invention.
FIG. 8 is a block diagram showing a third embodiment of the IC card according to the present invention.
FIG. 9 is a flowchart showing an operation of an IC card, an operating system, and an application program according to the present invention in the third embodiment.
FIG. 10 is a diagram for explaining a modification of the operating system and the application program according to the present invention.
[Explanation of symbols]
1,1-2,1-3 IC card
2-1 and 2-2 External devices
10 Antenna
20 contact terminals
30, 30-2, 30-3 IC chip
40 Interface section
41 Basic clock generator
42 clock generator
50 CPU
51 Application execution unit
52 Processing speed control unit
61 RAM
62, 62-2, 62-3 ROM
63, 63-2 NVM
71 coprocessor
424 selector
511 arithmetic unit
Claims (11)
前記アプリケーションプログラム記憶手段に記憶されているアプリケーションプログラムを実行するアプリケーションプログラム実行手段とを備えるICカードであって、
前記アプリケーションプログラム実行手段によって実行されているアプリケーションプログラムに処理速度変更指示があった場合に、前記処理速度変更指示に応じて前記アプリケーションプログラム実行手段の処理速度を変更する処理速度変更手段を備えること、
を特徴とするICカード。Application program storage means for storing an application program;
An application program executing means for executing an application program stored in the application program storing means,
When a processing speed change instruction is given to an application program being executed by the application program execution means, the processing program includes processing speed change means for changing the processing speed of the application program execution means in accordance with the processing speed change instruction.
An IC card characterized by the above-mentioned.
前記アプリケーションプログラム記憶手段によって記憶されているアプリケーションプログラムを実行するアプリケーションプログラム実行手段とを備えるICカードであって、
外部装置から処理速度変更要求を受信した場合に、前記処理速度変更要求に応じて前記アプリケーションプログラム実行手段の処理速度を変更する処理速度変更手段を備えること、
を特徴とするICカード。Application program storage means for storing an application program;
An application program executing means for executing an application program stored by the application program storing means,
When a processing speed change request is received from an external device, a processing speed changing unit that changes a processing speed of the application program execution unit according to the processing speed change request is provided.
An IC card characterized by the above-mentioned.
前記アプリケーションプログラム実行手段は、アプリケーションプログラムに応じて演算を行う演算手段を備え、
前記処理速度変更手段は、前記処理速度変更指示又は前記処理速度変更要求に応じて前記演算手段の処理速度を変更すること、
を特徴とするICカード。In the IC card according to claim 1 or 2,
The application program execution means includes an operation means for performing an operation according to the application program,
The processing speed changing means changes the processing speed of the calculating means in response to the processing speed change instruction or the processing speed change request.
An IC card characterized by the above-mentioned.
前記処理速度変更手段は、前記処理速度変更指示又は前記処理速度変更要求に応じて、前記アプリケーションプログラムの一又は複数の処理単位で処理速度を変更すること、
を特徴とするICカード。The IC card according to any one of claims 1 to 3,
The processing speed changing unit changes the processing speed in one or a plurality of processing units of the application program in response to the processing speed change instruction or the processing speed change request.
An IC card characterized by the above-mentioned.
前記処理速度変更指示又は前記処理速度変更要求は、既存の他の意味を有する命令又は要求であって、前記既存の他の意味を消す引数が指定されていること、
を特徴とするICカード。The IC card according to any one of claims 1 to 4,
The processing speed change instruction or the processing speed change request is an instruction or a request having another existing meaning, and an argument that erases the existing other meaning is specified.
An IC card characterized by the above-mentioned.
前記アプリケーションプログラム記憶手段によって記憶されているアプリケーションプログラムから所定の呼び出しがあった場合に、この呼び出しに応じて前記CPUの処理速度を変更する処理速度変更手順を備えること、
を特徴とするオペレーティングシステム。An operating system to be executed by a CPU of an IC card including application program storage means for storing an application program,
When a predetermined call is made from an application program stored by the application program storage means, a processing speed changing step of changing the processing speed of the CPU according to the call is provided.
An operating system characterized by:
外部装置から処理速度変更要求を受信した場合に、この処理速度変更要求に応じて前記CPUの処理速度を変更する処理速度変更手順を備えること、
を特徴とするオペレーティングシステム。An operating system to be executed by a CPU of an IC card including application program storage means for storing an application program,
When a processing speed change request is received from an external device, a processing speed change procedure for changing the processing speed of the CPU according to the processing speed change request is provided.
An operating system characterized by:
前記CPUの処理速度を変更する処理速度変更手順を備えること、
を特徴とするアプリケーションプログラム。An application program to be executed by a CPU of the IC card,
Having a processing speed changing procedure for changing the processing speed of the CPU;
An application program characterized by the following.
前記処理速度変更手順は、オペレーティングシステムが提供する独自のインターフェイスを利用すること、
を特徴とするアプリケーションプログラム。The application program according to claim 8,
The processing speed change procedure uses a unique interface provided by the operating system,
An application program characterized by the following.
前記処理速度変更手順は、前記CPUに既存の他の処理を実行させる命令であって、前記既存の他の処理が無意味となる引数が指定されている場合に実行されること、
を特徴とするアプリケーションプログラム。The application program according to claim 8,
The processing speed change procedure is an instruction for causing the CPU to execute another existing process, and is executed when an argument that makes the existing other process insignificant is specified.
An application program characterized by the following.
独自の機能をオペレーティングシステムから呼び出す呼び出し手順を備え、
前記呼び出し手順は、他の汎用性のある機能を呼び出す命令であって、前記他の機能が無意味となる引数が指定されている場合に実行されること、
を特徴とするアプリケーションプログラム。An application program to be executed by a CPU of the IC card,
It has a calling procedure that calls its own functions from the operating system,
The calling procedure is an instruction for calling another versatile function, and is executed when an argument that makes the other function meaningless is specified.
An application program characterized by the following.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002379731A JP4290978B2 (en) | 2002-12-27 | 2002-12-27 | IC card |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002379731A JP4290978B2 (en) | 2002-12-27 | 2002-12-27 | IC card |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008222416A Division JP4821822B2 (en) | 2008-08-29 | 2008-08-29 | IC card |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004213180A true JP2004213180A (en) | 2004-07-29 |
JP4290978B2 JP4290978B2 (en) | 2009-07-08 |
Family
ID=32816144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002379731A Expired - Lifetime JP4290978B2 (en) | 2002-12-27 | 2002-12-27 | IC card |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4290978B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962397A (en) * | 1995-08-30 | 1997-03-07 | Nkk Corp | Operating clock control system |
JPH1115934A (en) * | 1997-06-24 | 1999-01-22 | Nippon Steel Corp | Battery less rfid |
JP2000020663A (en) * | 1998-06-29 | 2000-01-21 | Ntt Data Corp | Card with built-in ic and card system |
-
2002
- 2002-12-27 JP JP2002379731A patent/JP4290978B2/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962397A (en) * | 1995-08-30 | 1997-03-07 | Nkk Corp | Operating clock control system |
JPH1115934A (en) * | 1997-06-24 | 1999-01-22 | Nippon Steel Corp | Battery less rfid |
JP2000020663A (en) * | 1998-06-29 | 2000-01-21 | Ntt Data Corp | Card with built-in ic and card system |
Also Published As
Publication number | Publication date |
---|---|
JP4290978B2 (en) | 2009-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4072503B2 (en) | IC card with built-in coprocessor for auxiliary operation and control method thereof | |
CN102200923A (en) | Method of booting host device from MMC/SD device and associated devices | |
TW445404B (en) | Fast start-up processor clock generation method and system | |
US20020065574A1 (en) | Data processor, semiconductor integrated circuit and CPU | |
RU2271563C2 (en) | Electronic network with controller and method for controlling energy | |
JP4821822B2 (en) | IC card | |
JP4290978B2 (en) | IC card | |
JP2003202935A (en) | Power management system and power management method | |
EP1272974B1 (en) | Data carrier having a chip including means for the controllable voltage supply to a further component of the data carrier | |
JP6009883B2 (en) | IC card, portable electronic device, and card reader / writer | |
US6827278B1 (en) | Data carrier | |
US7020730B2 (en) | Method for operating a microprocessor configuration and microprocessor configuration | |
CN107016432B (en) | Semiconductor device for near field communication and method of operating the same | |
JP7230811B2 (en) | Information processing device and information processing method | |
JP4669262B2 (en) | IC chip for IC card, IC card and IC card program | |
US6970984B2 (en) | Digital signal processor and modem using the same | |
JP7444197B2 (en) | Electronic information storage medium, cryptographic operation method selection method, and program | |
JPH09120363A (en) | Method and apparatus for utilization of improved finite resource in portable electronic device | |
RU2703347C2 (en) | Method for optimizing execution of function which generates at least one key in device on integrated circuit | |
JP2004038708A (en) | Ic module, ic card, and program of ic module | |
JP4703821B2 (en) | IC card | |
CN109660727A (en) | Scaling method and device, the call method and electronic equipment that shoot algorithm | |
Ferreira et al. | A High Performance Third Generation Crypto Card | |
JP2009043114A (en) | Ic card and program for ic card | |
JP2004264999A (en) | Timer circuit, electronic apparatus and counter control method for the timer circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051220 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20061117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080701 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080829 |
|
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: 20090331 |
|
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: 20090402 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4290978 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: 20120410 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120410 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130410 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140410 Year of fee payment: 5 |