JP2004213180A - Ic card, operating system and application program - Google Patents

Ic card, operating system and application program Download PDF

Info

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
Application number
JP2002379731A
Other languages
Japanese (ja)
Other versions
JP4290978B2 (en
Inventor
Tanitake Hirano
晋健 平野
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 JP2002379731A priority Critical patent/JP4290978B2/en
Publication of JP2004213180A publication Critical patent/JP2004213180A/en
Application granted granted Critical
Publication of JP4290978B2 publication Critical patent/JP4290978B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an IC card, an operating system and an application program which are highly convenient and highly versatile and realize high speed processing. <P>SOLUTION: The IC card 1 is provided with an NVM 63 for storing an application program and an application executing part 51 for executing the application program. The IC card 1 is further provided with a processing speed control part 52 for, when a processing speed change instruction is issued to the application program executed by the application executing part 51, changing the processing speed of the application executing part 51 by one or more processing units of the application program according to the processing speed change instruction. <P>COPYRIGHT: (C)2004,JPO&NCIPI

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 claim 1 includes an application program storage means (63, 63-2) for storing an application program, and an application program execution means (51) for executing the application program stored in the application program storage means. An application program executed by the application program executing means, wherein the processing speed of the application program executing means is changed in response to the processing speed changing instruction. An IC card (1, 1-2) comprising a processing speed changing means (52, 52-2).
[0009]
The invention according to claim 2 is an IC card including an application program storage means (63) for storing an application program and an application program execution means (51) for executing the application program stored in the application program storage means. When a processing speed change request is received from an external device (2-1, 2-2), a processing speed changing unit (52-) that changes the processing speed of the application program executing unit in response to the processing speed change request. (3) An IC card (1-3) comprising:
[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 claim 6, wherein said operating system is executed by a CPU (50, 50-2) of an IC card (1, 1-2) including an application program storage means (63) for storing an application program. When a predetermined call is made from the application program (AP-1, AP-2) stored by the program storage means, a processing speed change procedure (S140, # 140) for changing the processing speed of the CPU according to the call. 1, # 3, and # 5).
[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 IC card 1 includes an antenna 10 provided inside the card and a contact terminal 20 provided on the surface of the card, and is transmitted from the R / W of the external device 2-1. A non-contact communication function of transmitting and receiving power and a clock in a non-contact state via an antenna 10 using an electromagnetic wave as a carrier wave, and a contact terminal 20 is a reader / writer (hereinafter referred to as a “reader / writer”) of an external device 2-2 such as an ATM. This is a contact / contactless IC card having a contact-type communication function of exchanging data, power, and a clock in a state of being in contact with a terminal of “R / W”. The IC card 1 is a so-called multi-application IC card that includes a contact / contactless shared IC chip 30 connected to the antenna 10 and the contact terminal 20, and is capable of mounting a plurality of applications.
The external device 2-1 is an information processing device having an R / W that performs non-contact communication with the IC card 1, such as an entry / exit management device, and the external device 2-2 is in contact with the IC card 1, such as an ATM. This is an information processing apparatus including an R / W that performs communication in a formula.
[0020]
The antenna 10 is wound by a plurality of turns so that the conductors do not make electrical contact with each other, and is wound by a winding coil or the like connected to an interface unit 40 (hereinafter, “interface” is referred to as “I / F”) of the IC chip 30. Then, mutual conversion between AC electromagnetic waves and AC power is performed.
The contact terminal 20 includes a plurality of terminals that make electrical contact with the R / W terminal of the external device 2-2, is connected to the I / F unit 40 of the IC chip 30, and includes a power supply voltage, an external clock, and the like. Is a contact-type communication unit that mediates contact-type communication between the IC chip 30 and the external device 2-2 for receiving and supplying information.
[0021]
The IC chip 30 includes a CPU 50, an I / F unit 40 connected to the CPU 50, a coprocessor 71, a RAM 61, a ROM 62, an NVM (Non Volatile Memory) 63, and the like.
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 RAM 61, from the AC power input via the antenna 20. A basic clock generation unit 41 including a pulse generation circuit and the like, and a clock generation unit 42 connected to the basic clock generation unit 41 are provided. The I / F unit 40 includes a rectifier circuit for extracting a power component serving as a power supply voltage from the AC power via the antenna 20, a demodulation circuit for extracting a data component input to the CPU 50, and the like. A modulation circuit or the like for performing load modulation or the like on the power according to the data output from the CPU 50 and outputting the result to the antenna 20 is provided (not shown).
[0022]
The clock generation unit 42 generates a plurality of clocks from a basic clock (external clock) input from the basic clock generation unit 41 or the contact terminal 20, and inputs any one of the clocks to the CPU 50 as an internal clock.
FIG. 2 is a block diagram showing the clock generator 42.
As illustrated in FIG. 2, the clock generation unit 42 multiplies the basic clock input from the basic clock generation unit 41 by eight times (hereinafter, a clock having a frequency X times the basic clock is referred to as an “X-multiplied clock”). 421, a frequency dividing circuit 422 for reducing the octupled clock input from the multiplying circuit 421 to a half frequency, and a quadrupled clock input from the frequency dividing circuit 422 to a 周波 数 frequency. It has a frequency dividing circuit 423 for reduction and a selector 424.
[0023]
The selector 424 is connected to the basic clock generator 41, the multiplying circuit 421, the frequency dividing circuits 422 and 423, the CPU 50, and the like. The selector 424 switches the connection based on a selection signal input from the CPU 50, and is input by the multiplying circuit 421 and the like. Any one of the four types of clocks (basic clock, 8-multiplied clock, 4-multiplied clock, and 2-multiplied clock) is input to the CPU 50 as an internal clock. In the initial state of the IC card 1, the selector 424 inputs the basic clock to the CPU 50.
[0024]
As shown in FIG. 1, the RAM 61, the ROM 62, and the NVM 63 are storage means for storing information necessary for the processing of the CPU 50, such as programs and data. The RAM 61 is a volatile memory, and is used as a work area where the CPU 50 performs processing. The ROM 62 is a nonvolatile read-only memory, and is necessary for executing programs such as an operating system (hereinafter, the operating system stored in the IC card 1 is referred to as “OS-1”) and programs such as parameters. Data is stored. The operating system is basic software, which is a program that controls the CPU 50 and hardware such as peripheral devices when the CPU 50 executes the program, and makes the application program use the program and data necessary for the execution of the program. is there.
The NVM 63 is a non-volatile memory that can be rewritten at any time, such as an EEPROM, a flash memory, and an FRAM, and is normally used as a work area, a program area, and the like for a user, and can store a plurality of applications.
[0025]
The CPU 50 controls the IC card 1 by executing a program such as the OS-1 stored in a memory such as the ROM 62 and the NVM 63, thereby realizing the application execution unit 51, the processing speed control unit 52, and the like.
The application execution unit 51 is an application program execution unit that executes an application program stored in the NVM 63, and includes an operation unit 511 that performs an arithmetic operation, a logical operation, and the like related to the execution of the application program. Arithmetic unit 511 performs processing in synchronization with an internal clock provided from selector 424 to CPU 50.
[0026]
The processing speed control unit 52 controls the selector 424 by transmitting a selection signal including the clock identification information to the selector 424 when the application program executed by the application executing unit 51 has a processing speed change instruction. The CPU 50 controls the processing speed of the CPU 50, for example, by changing the internal clock input to the CPU 50 to change the processing speed of the arithmetic unit 511. The processing speed change instruction is a command to change the processing speed, and in the present embodiment, is a command to change the clock input to the CPU 50. After the change, the clock identification information indicating the internal clock to be input to the CPU 50 is changed. Contains. The clock identification information is information for the clock generation unit 42 to identify one clock from the four types of clocks that can be input to the CPU 50. The instruction is an instruction for causing the CPU 50 to operate, and includes a function. The coprocessor 71 is a processor that complements the CPU 50 and enhances the performance, and is an arithmetic unit that exclusively performs processing with a large amount of calculation such as data encryption and decryption.
[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 ROM 62. FIG. 3 is a diagram for describing “API”.
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 selector 424, that is, the processing speed control. An instruction “DNP.util.setClock (BYTE Lv)” (hereinafter, this instruction is referred to as an “instruction DUS”) that calls the OS-1 function that causes the CPU 52 to realize the unit 52 is included. The instruction DUS is a processing speed change instruction that instructs the CPU 50 to change the processing speed.
[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 CPU 50 as labels. Clock, 8 × clock, 4 × clock and 2 × clock). DEFAULT is the basic clock (external clock), HIGH, MIDDLE, and LOW are the multiple clocks, the multiple clocks, Each corresponds to a double clock.
The correspondence may be stored in a memory such as the ROM 62 or the NVM 63 by associating the four types of clocks provided by the IF unit 40 with the four types of arguments that can be specified by the instruction DUS. The association may be dynamically performed by the CPU 50 executing the OS-1. Which clock is associated with which argument value is arbitrary and not limited.
[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 NVM 63 of the IC card 1 and described in the Java language. Note that “heavyFunction ()” is an instruction (hereinafter, this instruction is referred to as “instruction HF”) for performing processing that places a high load on the CPU 50, such as RSA encryption and decryption.
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 CPU 50 performs the processing of the instruction HF in synchronization with the multiplied-by-8 clock, and performs the subsequent processing in synchronization with the basic clock.
Therefore, the processing speed control unit 52 can change the processing speed in one or a plurality of processing units according to the instruction DUS which is a processing speed change instruction. The processing unit is a minimum unit (task) of execution in processing using hardware resources, such as an instruction unit of AP-1.
[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 IC card 1 is connected to the external device 2-1 (or the external device 2-2), receives power and a clock, and receives an AP. -1 has been selected.
In S110, the IC card 1 receives a command from the external device 2-1. The application execution unit 51 starts executing a program (hereinafter, referred to as a “command processing program”) corresponding to this command included in the selected AP-1 (S120). When the command DUS is included in the command processing program, the processing speed control unit 52 transmits a selection signal to the selector 424 to change the processing speed (S130, S140). The calculation unit 511 performs the subsequent processing at the changed processing speed (S150), and repeats the same processing until the execution of the command processing program is completed (S130 to S160). The IC card 1 transmits the processing result as a response to the external device 2-1 (S170), enters a standby state until receiving the next command, and performs similar processing until the connection with the external device 2-1 is disconnected. (From S110 to S170) is repeated.
[0031]
According to the first embodiment, the clock provided by the I / F unit 40 to the CPU 50 in one or a plurality of processing units is changed in accordance with the instruction DUS included in the AP-1. By setting the processing speed of the CPU 50 for each processing unit, it is possible to efficiently speed up the processing.
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 IC card 1.
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 IC card 1, as shown in FIG. 5B, for the process (p 4) with large current consumption (power consumption), the processing speed is low and the process with small current consumption (power consumption) (p 1, For the external devices 2-1 and 2-2 with limited power consumption, by changing the processing speed of the CPU 50 in units of processing according to power consumption, such as performing processing at a high processing speed for p2 and p3). It can be used, improving versatility and convenience, and efficiently speeding up processing.
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 selector 424 is provided, and the processing speed control unit 52-2 is realized by the CPU 50-2. Eliminating the meaning (meaningless) means that substantial processing is not performed, for example, the contents of data to be processed (data at the address indicated by the argument “dst” or “src”) do not change in the processing according to the instruction. It is not done.
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 selector 424 is provided, and the processing speed control unit 52-2 is realized by the CPU 50-2.
[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 execution unit 51 performs a process corresponding to the instruction HF in synchronization with the multiplied-by-8 clock (# 2), and the processing speed control unit 52-2 changes the clock to the basic clock (# 3).
[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 application execution unit 51, the CPU 50-3 responds to the request to change the clock speed. A processing speed control unit 52-3 for transmitting a selection signal including information to the selector 424 is provided. In the present embodiment, the processing speed change request is a DUS command, which is a command for calling a function similar to the function called by the instruction DUS from the OS-1 in the first embodiment from the OS-3. The CPU 50-3 realizes the processing speed control unit 52-3 by executing a command processing program corresponding to the DUS command of the OS-3. In the DUS command, an argument (Lv), such as clock identification information, is specified similarly to the instruction DUS.
[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 IC card 1 includes the contact / non-contact type IC chip 30 that communicates with the external devices 2-1 and 2-2 via the antenna 10 or the contact terminal 20, but is not limited thereto. It may be a non-contact type IC chip or a contact type IC chip. Further, the IC card 1 may include an antenna and an I / F unit for communicating with an external device by an electrostatic coupling method, and a communication method is not limited.
[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 CPUs 50, 50-2, and 50-3 by the I / F unit 40 based on the external clocks supplied from the external devices 2-1 and 2-2, A plurality of types of clocks may be generated by generating a unique basic clock that does not receive interference from an external clock within an IC card such as the CPU 50, 50-2, or 50-3 and multiplying the basic clock. .
[0044]
Furthermore, the clock generation unit 42 generates a clock having four types of frequencies by adjusting the frequency by multiplying the frequency of the basic clock by 8 and then by 倍 and 倍 to increase the frequency. The present invention is not limited to this. For example, when the frequency of the basic clock is high, a plurality of clocks may be generated by 倍 or 1 /, and a method of generating a plurality of types of clocks having different frequencies is as follows. Not limited.
[0045]
In each embodiment, the processing speed control unit 52 changes the processing speed of the application execution unit 51 (the operation unit 511) by changing the clock provided to the CPUs 50, 50-2, and 50-3. Similarly, when the application program is executed by using the coprocessor 71 (when the coprocessor 71 includes the application program execution unit), the clock provided to the coprocessor 71 is changed to change the clock of the application program execution unit. The processing speed may be changed.
[0046]
Further, the processing speed control unit 52 may supply clocks having different frequencies to the CPU 50 and the coprocessor 71 from the clock generation unit 42. It is possible to change the processing speed in more detail, and it is possible to improve the processing efficiency, speed up the processing speed, and suppress the maximum power consumption.
[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 IC cards 1, 1-2, and 1-3 store application programs such as AP-1 and AP-2 in the NVMs 63 and 63-2, but store them in the ROMs 62, 62-2, and 62-3. It may be stored, or may be stored in the RAM 61. The storage method is not limited as long as the application program is stored so as to be executable. The same applies to the OS.
[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 CPU 50 repeats the process of copying the data string at the address indicated by the argument “gSrc” by 5 bytes to the address indicated by the argument “gDst” twice. -2. Therefore, the processing concerning the second instruction SAC (# 5) in which the same argument as the first instruction SAC (# 4) is specified becomes meaningless.
[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 IC card 2 is mounted, various functions can be exhibited, and convenience can be improved.
[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 application execution unit 51 may be changed when a general-purpose SAC command or SACN command, which is a processing speed change request when an argument is designated, is received.
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 clock generator 42.
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.
請求項1又は請求項2に記載のICカードにおいて、
前記アプリケーションプログラム実行手段は、アプリケーションプログラムに応じて演算を行う演算手段を備え、
前記処理速度変更手段は、前記処理速度変更指示又は前記処理速度変更要求に応じて前記演算手段の処理速度を変更すること、
を特徴とする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.
請求項1から請求項3までのいずれか1項に記載のICカードにおいて、
前記処理速度変更手段は、前記処理速度変更指示又は前記処理速度変更要求に応じて、前記アプリケーションプログラムの一又は複数の処理単位で処理速度を変更すること、
を特徴とする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.
請求項1から請求項4までのいずれか1項に記載のICカードにおいて、
前記処理速度変更指示又は前記処理速度変更要求は、既存の他の意味を有する命令又は要求であって、前記既存の他の意味を消す引数が指定されていること、
を特徴とする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.
アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段を備えるICカードのCPUに実行させるオペレーティングシステムであって、
前記アプリケーションプログラム記憶手段によって記憶されているアプリケーションプログラムから所定の呼び出しがあった場合に、この呼び出しに応じて前記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:
アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段を備えるICカードのCPUに実行させるオペレーティングシステムであって、
外部装置から処理速度変更要求を受信した場合に、この処理速度変更要求に応じて前記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:
ICカードのCPUに実行させるアプリケーションプログラムであって、
前記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.
請求項8に記載のアプリケーションプログラムにおいて、
前記処理速度変更手順は、オペレーティングシステムが提供する独自のインターフェイスを利用すること、
を特徴とするアプリケーションプログラム。
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.
請求項8に記載のアプリケーションプログラムにおいて、
前記処理速度変更手順は、前記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.
ICカードのCPUに実行させるアプリケーションプログラムであって、
独自の機能をオペレーティングシステムから呼び出す呼び出し手順を備え、
前記呼び出し手順は、他の汎用性のある機能を呼び出す命令であって、前記他の機能が無意味となる引数が指定されている場合に実行されること、
を特徴とするアプリケーションプログラム。
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.
JP2002379731A 2002-12-27 2002-12-27 IC card Expired - Lifetime JP4290978B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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