JP2011198298A - Ic card and computer program - Google Patents

Ic card and computer program Download PDF

Info

Publication number
JP2011198298A
JP2011198298A JP2010066931A JP2010066931A JP2011198298A JP 2011198298 A JP2011198298 A JP 2011198298A JP 2010066931 A JP2010066931 A JP 2010066931A JP 2010066931 A JP2010066931 A JP 2010066931A JP 2011198298 A JP2011198298 A JP 2011198298A
Authority
JP
Japan
Prior art keywords
api
card
wrapper
application
platform
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.)
Pending
Application number
JP2010066931A
Other languages
Japanese (ja)
Inventor
Takashi Kudo
隆史 工藤
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 JP2010066931A priority Critical patent/JP2011198298A/en
Publication of JP2011198298A publication Critical patent/JP2011198298A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an IC card, operating an application without changing the application even when specifications of API of a platform type OS are changed.SOLUTION: The IC card 1 includes: a wrapper API 330 for making OSAPI 310 provided by a platform OS 31 public to an application 32, wherein a software hierarchy 3 of the IC card 1 contains a wrapper module 33, which conducts the processing of transforming a format of argument delivered from the application 32 to a format of OSAPI 310 corresponding to the called wrapper API 330, and calling OSAPI 310 when one of the wrapper API 330 is called by the application 32, and transforming a return value received from the platform OS 31 to a data format of the called wrapper API 330 and delivering the same to the application 32.

Description

本発明は,オペレーティングシステム(OS: Operating System)が実装されたICカードに関する発明で,詳しくは,オペレーティングシステムに多少の差異が合った場合でも,同一のアプリケーションを利用できるようにするための発明である。   The present invention relates to an IC card on which an operating system (OS) is mounted, and more specifically, an invention for enabling the same application to be used even if there are some differences in the operating system. is there.

ICカードに実装されるオペレーティングシステムの種類は,ある特定のシステム向けに開発されたネイティブOSと,特許文献1の「発明の背景」に記載のあるように,電気的に書き換え可能なメモリ(例えば,EEPROM)に複数のアプリケーションをロードできるプラットフォーム型OSに大きく分けられる。   The type of operating system mounted on an IC card includes a native OS developed for a specific system and an electrically rewritable memory (for example, as described in “Background of the Invention” in Patent Document 1) , EEPROM) can be broadly divided into platform type OSs that can load a plurality of applications.

プラットフォーム型OSの多くは,ICカードの基本的な機能を提供するカードOS上に,Java(登録商標)やMULTOS(登録商標)などのバーチャルマシンを実装することで実現され,プラットフォーム型OS上で動作するアプリケーションは,アプリケーションが動作するプラットフォーム型OSのバーチャルマシンに対応した中間言語の形式で,EEPROMなどの書き換え可能なメモリに実装される。   Many platform-type OSs are realized by mounting virtual machines such as Java (registered trademark) and MULTIS (registered trademark) on the card OS that provides the basic functions of the IC card. The running application is mounted in a rewritable memory such as an EEPROM in an intermediate language format corresponding to the virtual machine of the platform type OS on which the application runs.

プラットフォーム型OS上で動作するアプリケーションは,プラットフォーム型OSのバーチャルマシン提供される機能を呼び出すためのAPI(API: Application Program Interface)を利用して動作するが,同じ種類のプラットフォーム型OSであっても,プラットフォーム型OSのバージョンが異なると,バーチャルマシンで提供されるAPIの仕様が異なる場合がある。   An application that runs on a platform type OS operates using an API (API: Application Program Interface) for calling a function provided by the virtual machine of the platform type OS. , API versions provided in virtual machines may differ depending on the platform OS version.

また,金融機関系のICカードには,Java(登録商標)などのバーチャルマシン上で動作するカードマネージャがインストールされ,このカードマネージャによって,カードマネージャが管理するアプリケーションのロック,カードのロック及びカードの無効処理が行われるが,プラットフォーム型OSのバージョンが同じであっても,カードマネージャが異なると,カードマネージャで提供されるAPIの仕様には差が生じてしまう。   In addition, a card manager that operates on a virtual machine such as Java (registered trademark) is installed in an IC card of a financial institution, and the card manager manages locks of applications, card locks, and card locks. Although invalidation processing is performed, even if the version of the platform OS is the same, if the card manager is different, there is a difference in the API specifications provided by the card manager.

このように,プラットフォーム型OSのバーチャルマシンが同じであっても,アプリケーションが呼び出すAPIの仕様が異なる場合,APIの仕様に合わせたアプリケーションを作成し,特許文献1で開示されている発明のように,ICカードを発行する側でアプリケーションを管理し,発行対象となるICカードに合わせてアプリケーションを発行していた。   In this way, even if the platform OS virtual machine is the same, if the API specifications called by the application are different, an application that matches the API specifications is created, as in the invention disclosed in Patent Document 1. The application is managed on the side that issues the IC card, and the application is issued according to the IC card to be issued.

特表2001-527674号公報Special table 2001-527474 gazette

確かに,特許文献1で開示されている発明のような発行システムを用いれば,プラットフォーム型OSのAPIの仕様毎にアプリケーションを管理できるようになるが,アプリケーションを作成する側では,プラットフォーム型OSのAPIの仕様が変更される毎にアプリケーションを作り直さなければならず大変面倒であった。   Certainly, if an issuing system such as the invention disclosed in Patent Document 1 is used, applications can be managed for each API specification of the platform type OS. Every time the API specification is changed, the application must be recreated, which is very troublesome.

そこで,本発明は,プラットフォーム型OSのAPIの仕様が変更されても,アプリケーションを変更することなくプラットフォーム型OS上でアプリケーションを動作させることのできるICカード及びこのICカードに実装するコンピュータプログラムを提供することを目的とする。   Accordingly, the present invention provides an IC card that can operate an application on the platform OS without changing the application even if the API specification of the platform OS is changed, and a computer program mounted on the IC card. The purpose is to do.

上述した課題を解決する第1の発明は,プラットフォーム型OS(OS: Operating System)が実装されたICカードであって,プラットフォーム型OSが提供するOS_APIをアプリケーションに対して公開するためのラッパーAPIを有し,アプリケーションによって前記ラッパーAPIの一つが呼び出されると,アプリケーションから引き渡された引数の形式を,呼び出された前記ラッパーAPIに対応する前記OS_APIの形式に変換して,この前記OS_APIを呼び出し,前記プラットフォーム型OSから受信した戻り値を,呼び出された前記ラッパーAPIのデータ形式に変換してアプリケーションへ引き渡す処理を実行するラッパーモジュールと,前記ラッパーAPIに対応する前記OS_APIを利用する際,前記ラッパーAPIを呼び出して動作するアプリケーションが実装されていることを特徴とするICカードである。   A first invention for solving the above-described problem is an IC card on which a platform type OS (OS: Operating System) is mounted, and a wrapper API for exposing an OS_API provided by the platform type OS to an application. And when one of the wrapper APIs is called by the application, the argument format passed from the application is converted into the OS_API format corresponding to the called wrapper API, and the OS_API is called. When the return value received from the platform type OS is converted into the data format of the called wrapper API and delivered to the application, and when the OS_API corresponding to the wrapper API is used, the wrapper A It is an IC card, characterized in that application that operates by calling I are mounted.

更に,第2の発明は,前記ラッパーAPIが対応している前記OS_APIには,前記プラットフォーム型OSのバーチャルマシン上に構築されたカードマネージャが提供しているAPIが含まれることを特徴とする,請求項1に記載のICカードである。   Further, the second invention is characterized in that the OS_API supported by the wrapper API includes an API provided by a card manager constructed on a virtual machine of the platform type OS. The IC card according to claim 1.

更に,第1の発明から第2の発明いずれか一つに記載のラッパーモジュールとして,ICカードを機能させるためのコンピュータプログラムである。   Furthermore, a computer program for causing an IC card to function as the wrapper module according to any one of the first to second inventions.

上述した本発明によれば,プラットフォーム型OSのAPIの仕様が変更されても,アプリケーションを変更することなくプラットフォーム型OS上でアプリケーションを動作させることのできるICカード及びこのICカードに実装するコンピュータプログラムを提供できる。   According to the present invention described above, an IC card that can operate an application on the platform type OS without changing the application even if the API specification of the platform type OS is changed, and a computer program mounted on the IC card Can provide.

本実施形態に係るICカードの外観を示した図。The figure which showed the external appearance of the IC card which concerns on this embodiment. ICカードに実装されるICチップのブロック図。The block diagram of the IC chip mounted in an IC card. ICカードのソフトウェア階層を説明する図。The figure explaining the software hierarchy of an IC card. ラッパーモジュールの動作を説明するフロー図。The flowchart explaining operation | movement of a wrapper module. 実施例1におけるソフトウェア階層を説明する図。2 is a diagram for explaining a software hierarchy in Embodiment 1. FIG. Open Platform及びGlobal Platformに準拠したICカードのソフトウェア階層を説明する図。The figure explaining the software hierarchy of the IC card based on Open Platform and Global Platform. ラッパーAPIの一例を説明する図。The figure explaining an example of wrapper API.

ここから,本願発明の実施形態について,本願発明の技術分野に係わる当業者が,本願発明の内容を理解し実施できる程度に説明する。   From here, embodiments of the present invention will be described to the extent that those skilled in the art of the present invention can understand and implement the contents of the present invention.

図1は、本実施形態に係るICカード1の外観を示した図で、図1に示したICカード1は、キャッシュカードやクレジットカードと同じ大きさのプラスチック製カードで、ICカード1に実装されたICモジュール2aには、プラットフォーム型オペレーティングシステム(OS: Operating System)やアプリケーションが実装されたICチップ2がモールドされている。   FIG. 1 is a view showing an appearance of an IC card 1 according to the present embodiment. The IC card 1 shown in FIG. 1 is a plastic card having the same size as a cash card or a credit card, and is mounted on the IC card 1. An IC chip 2 on which a platform type operating system (OS) and an application are mounted is molded on the IC module 2a.

図1において、本実施形態に係るICカード1を,ターミナル(図示していない)と接触型でデータ通信する接触IC型カードとしているが、本発明は,ICカードタイプに依存せず,無線でデータ通信する非接触ICカード、または、接触データ通信と非接触データ通信の2つの通信機能を備えたデュアルインターフェースICカードであってもよい。   In FIG. 1, the IC card 1 according to this embodiment is a contact IC type card that performs data communication with a terminal (not shown) in a contact type, but the present invention does not depend on the IC card type and is wireless. It may be a non-contact IC card for data communication or a dual interface IC card having two communication functions of contact data communication and non-contact data communication.

加えて、ICカード1の形状は問わず、ICカード1はキャッシュカードと同じ形状でなく、ICモジュール2aの近辺を矩形状に切り取った形状をし,携帯電話やスマートフォンなどに組み込まれるSIM(Subscriber Identity Module)であってもよい。   In addition, regardless of the shape of the IC card 1, the IC card 1 is not the same shape as the cash card, but has a shape in which the vicinity of the IC module 2a is cut into a rectangular shape, and is incorporated into a mobile phone or a smartphone (SIM) Identity Module).

図2は、ICカード1に実装されるICチップ2のブロック図である。図2に図示したように、ICチップ2には、演算機能を備えたCPU20(CPU:Central Processing Unit)、揮発性メモリとしてランダムアクセスメモリ21(RAM:Random Access Memory)、読み出し専用の不揮発性メモリ23(ROM:Read Only Memory、)、電気的に書換え可能な不揮発性メモリとしてEEPROM22(EEPROM:Electrically Erasable Programmable Read-Only Memoryの略)およびターミナルとデータ通信するためのUART24に加え、ターミナルから受け取るクロックを利用して時間を計測する機能を備えたタイマー25などが、BUS26に接続されている。   FIG. 2 is a block diagram of the IC chip 2 mounted on the IC card 1. As shown in FIG. 2, the IC chip 2 includes a CPU 20 (CPU: Central Processing Unit) having a calculation function, a random access memory 21 (RAM: Random Access Memory) as a volatile memory, and a read-only nonvolatile memory. 23 (ROM: Read Only Memory), EEPROM 22 (EEPROM: Electrically Erasable Programmable Read-Only Memory) as an electrically rewritable nonvolatile memory, and a clock received from the terminal in addition to the UART 24 for data communication with the terminal A timer 25 or the like having a function of measuring time using the BUS 26 is connected to the BUS 26.

図3は,本実施形態におけるICカード1のソフトウェア階層3を説明する図である。図2に図示したように,ICカード1のソフトウェア階層3は3階層で,最下位の層から順にハードウェア30(ここでは,ICチップ2),プラットフォーム型OS31,アプリケーション32になる。   FIG. 3 is a diagram for explaining the software hierarchy 3 of the IC card 1 in the present embodiment. As shown in FIG. 2, the software layer 3 of the IC card 1 has three layers, and the hardware 30 (here, the IC chip 2), the platform OS 31, and the application 32 are arranged in order from the lowest layer.

図3のプラットフォーム型OS31とは,例えば,データ通信やメモリへのリード/ライトなど,ICカード1の基本的な機能を提供し,アプリケーションの追加・削除が可能なように作成されたオペレーティングシステムで,ICカード1の基本的な機能を提供する命令や関数の集合であるOS_API310を有し,プラットフォーム型OS31のプログラムコードはICチップ2のROM23に実装される。   The platform OS 31 in FIG. 3 is an operating system created to provide basic functions of the IC card 1 such as data communication and read / write to memory, and to be able to add and delete applications. The OS_API 310 is a set of instructions and functions that provide basic functions of the IC card 1, and the program code of the platform type OS 31 is mounted in the ROM 23 of the IC chip 2.

アプリケーション32は,プラットフォーム型OS31上で動作し,ICカード1が利用されるシステムに対応した処理を実行するためのソフトウェアで,アプリケーション32のプログラムコードはICチップ2のEEPROM22に実装される。   The application 32 operates on the platform OS 31 and is software for executing processing corresponding to the system in which the IC card 1 is used. The program code of the application 32 is mounted on the EEPROM 22 of the IC chip 2.

プラットフォーム型OS31が提供するOS_API310は,プラットフォーム型OS31の種類で固定であるが,プラットフォーム型OS31のバージョンアップに伴い,OS_API310の仕様も変更される場合があり,このようなケースでは,古いOS_API310の仕様に基づき作成されたアプリケーション32は,新しいバージョンのプラットフォーム型OS31上では動作しなくなってしまうため,何らかの対応が必要となる。   The OS_API 310 provided by the platform type OS 31 is fixed depending on the type of the platform type OS 31, but the specification of the OS_API 310 may be changed as the platform type OS 31 is upgraded. In such a case, the specification of the old OS_API 310 is used. The application 32 created based on the above will not operate on the new version of the platform OS 31, and some kind of response is required.

OS_API310の仕様が変更された場合の対処として,アプリケーション32を作り直すことも考えられるが,アプリケーション32を作り直すと,アプリケーション32に係わるテストを全て再テストしなければならなくなるため,本実施形態では,図2で図示しているように,プラットフォーム型OS31上に,ラッパーモジュール33(Wrapper Module)を実装し,アプリケーション32がラッパーモジュール33を介してOS_API310を呼び出すようにすることで,OS_API310の差分をラッパーモジュール33で吸収できるようにしている。   As a countermeasure when the specification of the OS_API 310 is changed, it may be possible to recreate the application 32. However, if the application 32 is recreated, all the tests related to the application 32 must be retested. 2, a wrapper module 33 (Wrapper Module) is mounted on the platform type OS 31, and the application 32 calls the OS_API 310 via the wrapper module 33, so that the difference of the OS_API 310 is obtained as a wrapper module. 33 so that it can be absorbed.

ラッパーモジュール33は,ラッパーモジュール33で共通化されているAPIであるラッパーAPI330を有し,ラッパーモジュール33がアプリケーション32から呼び出されると,アプリケーション32から引き渡された引数の形式を,このラッパーAPI330に対応しているOS_API310の形式に変換してこのOS_API310に引き渡し,OS_API310からの戻り値の形式を,ラッパーAPI330のデータ形式に変換してアプリケーション32に引き渡す処理を実行するモジュールで,ラッパーモジュール33のプログラムコードは,ICチップ2のEEPROM22に実装されている。なお,仕様変更される可能性のあるOS_API310に対してのみラッパーモジュール33を対応させればよく,OS_API310すべてにラッパーモジュール33を対応させなくともよい。   The wrapper module 33 has a wrapper API 330 that is an API shared by the wrapper module 33. When the wrapper module 33 is called from the application 32, the format of the argument delivered from the application 32 corresponds to the wrapper API 330. This is a module that executes the process of converting the format of the returned OS_API 310 to the OS_API 310 and converting the format of the return value from the OS_API 310 to the data format of the wrapper API 330 and passing it to the application 32. Program code of the wrapper module 33 Are mounted on the EEPROM 22 of the IC chip 2. Note that the wrapper module 33 only needs to be associated with the OS_API 310 whose specifications may be changed, and the wrapper module 33 need not be associated with all the OS_API 310.

図4は,ラッパーモジュール33の動作を説明するフロー図である。ラッパーモジュール33のラッパーAPI330の一つがアプリケーション32から呼び出されると(S1),ラッパーモジュール33は,アプリケーション32から引き渡された引数を,呼び出されたラッパーAPI330に対応するOS_API310の形式に変換した後(S2),変換後の引数を用いてOS_API310を呼び出す(S3)。   FIG. 4 is a flowchart for explaining the operation of the wrapper module 33. When one of the wrapper APIs 330 of the wrapper module 33 is called from the application 32 (S1), the wrapper module 33 converts the argument delivered from the application 32 into an OS_API 310 format corresponding to the called wrapper API 330 (S2). ), And calls the OS_API 310 using the converted argument (S3).

ラッパーモジュール33が呼び出したOS_API310に係わる処理が終了し(S4),プラットフォーム型OS31から戻り値がラッパーモジュール33に引き渡されると(S5),ラッパーモジュール33は,プラットフォーム型OS31から引き渡された戻り値の形式を,アプリケーション32から呼び出されたラッパーAPI330の形式に変換し(S6),ラッパーAPI330の形式に変換した戻り値をアプリケーション32に引き渡して(S7),図3の手順は終了する。   When the processing related to the OS_API 310 called by the wrapper module 33 is finished (S4) and the return value is delivered from the platform OS 31 to the wrapper module 33 (S5), the wrapper module 33 receives the return value delivered from the platform OS 31. The format is converted into the format of the wrapper API 330 called from the application 32 (S6), the return value converted into the format of the wrapper API 330 is delivered to the application 32 (S7), and the procedure of FIG. 3 ends.

ここから,ICカード1をJava(登録商標)Card(以下,「JC」と略す。)としたときの実施例について説明する。図5は,実施例1におけるソフトウェア階層4を説明する図である。   From here, an example when the IC card 1 is a Java (registered trademark) Card (hereinafter abbreviated as “JC”) will be described. FIG. 5 is a diagram for explaining the software hierarchy 4 in the first embodiment.

図5に図示したように,JCにおけるソフトウェア階層4は,ハードウェア40,カードOS41,JCバーチャルマシン42,カードマネージャ43,そして,JCバーチャルマシン42上で動作するアプリケーション44が含まれる。   As illustrated in FIG. 5, the software hierarchy 4 in JC includes hardware 40, a card OS 41, a JC virtual machine 42, a card manager 43, and an application 44 that operates on the JC virtual machine 42.

図5で図示したソフトウェア階層4のハードウェア40はICチップ2に該当し,カードOS41は,ハードウェア40に備えられた回路(例えば,UART24)やメモリ(例えば,EEPROM22)を制御するためのソフトウェアである。   The hardware 40 of the software hierarchy 4 illustrated in FIG. 5 corresponds to the IC chip 2, and the card OS 41 is software for controlling a circuit (for example, UART 24) and a memory (for example, EEPROM 22) provided in the hardware 40. It is.

JCの場合,カードOS41上にJCバーチャルマシン42が実装され,JCバーチャルマシン42は,JCバーチャルマシン42の機能(例えば,データオブジェクトのリード/ライト)をアプリケーション44に提供するためのバーチャルマシンAPI420を有している。   In the case of JC, a JC virtual machine 42 is mounted on the card OS 41, and the JC virtual machine 42 includes a virtual machine API 420 for providing the application 44 with a function (for example, reading / writing of a data object) of the JC virtual machine 42. Have.

また,カードマネージャ43は,JCバーチャルマシン42上で動作するアプリケーション44のロード・インストールなどに加え,ICカード1をロックする関数やICカード1を無効化する関数をアプリケーション44に提供するカードマネージャAPI430を少なくとも有している。   The card manager 43 provides a card manager API 430 that provides the application 44 with a function for locking the IC card 1 and a function for invalidating the IC card 1 in addition to loading / installing the application 44 operating on the JC virtual machine 42. At least.

JCの場合,JCバーチャルマシン42が同一であっても,カードマネージャ43の種類は幾つか存在し,JCのカードマネージャ43の仕様としては,Open PlatformとGlobal Platformが有名で,Open PlatformとGlobal Platformのカードマネージャ43にはカードマネージャAPI430には仕様差があるため,これまで説明したラッパーモジュール45を,カードマネージャAPI430の仕様の差分を吸収するように利用することができる。   In the case of JC, even if the JC virtual machine 42 is the same, there are several types of card managers 43. As specifications of the card manager 43 of JC, Open Platform and Global Platform are well known. Since the card manager 43 has a difference in specifications with the card manager API 430, the wrapper module 45 described so far can be used so as to absorb the difference in the specifications of the card manager API 430.

図6は,Open Platform及びGlobal Platformに準拠したICカードのソフトウェア階層を説明する図で,図6では,Open Platformに準拠したICカードとソフトウェア階層4a,Global Platformに準拠したICカードのソフトウェア階層4bを図示している。   FIG. 6 is a diagram for explaining the software hierarchy of an IC card compliant with Open Platform and Global Platform. In FIG. 6, the IC card and software hierarchy 4a compliant with Open Platform, and the software hierarchy 4b of an IC card compliant with Global Platform. Is illustrated.

Open Platformに準拠したICカードのソフトウェア階層4aには,Open Platformの仕様に適合したカードマネージャ43aと,Open Platformの仕様に合わせたラッパーモジュール45aが実装され,カードマネージャ43aはカードマネージャAPI430aを有し,ラッパーモジュール45aはラッパーAPI450aを有している。   In the software hierarchy 4a of the IC card compliant with the Open Platform, a card manager 43a conforming to the Open Platform specification and a wrapper module 45a conforming to the Open Platform specification are mounted. The card manager 43a has a card manager API 430a. The wrapper module 45a has a wrapper API 450a.

また,Global Platformに準拠したICカードのソフトウェア階層4bには,Global Platformの仕様に準じたカードマネージャ43bと,Global Platformの仕様に合わせたラッパーモジュール45bが実装され, カードマネージャ43bはカードマネージャAPI430bを有し,ラッパーモジュール45bはラッパーAPI450bを有している。   In addition, a card manager 43b conforming to the Global Platform specification and a wrapper module 45b conforming to the Global Platform specification are mounted in the software hierarchy 4b of the IC card conforming to the Global Platform. The card manager 43b includes a card manager API 430b. The wrapper module 45b has a wrapper API 450b.

なお,上述した以外の内容は,Open Platformに準拠したICカードのソフトウェア階層4aと,Global Platformに準拠したICカードのソフトウェア階層4bにおいて,図4で図示したソフトウェア階層4と差異はない。   The contents other than those described above are not different from the software hierarchy 4a shown in FIG. 4 in the software hierarchy 4a of the IC card compliant with the Open Platform and the software hierarchy 4b of the IC card compliant with the Global Platform.

Open Platformに準拠したICカードのソフトウェア階層4aに含まれるラッパーモジュール45aは,ラッパーAPI450aの一つがアプリケーション44から呼ばれると,アプリケーション44から引き渡された引数を,このラッパーAPI450aに対応するカードマネージャAPI430aの形式に変換して,カードマネージャAPI430aを呼び出し,カードマネージャ43aから引き渡された戻り値を,このラッパーAPI450aの形式に変換して,アプリケーション44に引き渡す動作を行う。   When one of the wrapper APIs 450a is called from the application 44, the wrapper module 45a included in the software hierarchy 4a of the IC card compliant with the Open Platform takes the argument passed from the application 44 as the format of the card manager API 430a corresponding to the wrapper API 450a. The card manager API 430a is called, and the return value delivered from the card manager 43a is converted into the format of the wrapper API 450a and delivered to the application 44.

Global Platformに準拠したICカードのソフトウェア階層4bに含まれるラッパーモジュール45bは,ラッパーAPI450bの一つがアプリケーション44から呼ばれると,アプリケーション44から引き渡された引数を,このラッパーAPI450bに対応するカードマネージャAPI430bの形式に変換して,カードマネージャAPI430bを呼び出し,カードマネージャ43bから引き渡された戻り値を,このラッパーAPI450bの形式に変換して,アプリケーション44に引き渡す動作を行う。   When one of the wrapper APIs 450b is called from the application 44, the wrapper module 45b included in the software hierarchy 4b of the IC card conforming to the Global Platform takes the argument passed from the application 44 as the format of the card manager API 430b corresponding to the wrapper API 450b. The card manager API 430b is called, and the return value delivered from the card manager 43b is converted into the format of the wrapper API 450b and delivered to the application 44.

それぞれのラッパーAPI450a,bの呼び出し名称は共通化しておき,アプリケーション44がこの呼び出し名称を利用するように作成しておけば,アプリケーション44を変更することなく,Open Platformに準拠したICカードでも, Global Platformに準拠したICカードでもアプリケーション44を動作させることができるようになる。   If the call name of each wrapper API 450a, b is made common and the application 44 is created so as to use this call name, the IC card conforming to the Open Platform can be used without changing the application 44. The application 44 can be operated even with an IC card compliant with Platform.

図7は,ラッパーAPIの一例を説明する図である。図7では,カードマネージャ43の機能を無効にするラッパーAPI430の呼び出し名称をboolean lockCardManager()とし,ICカード1を無効化するラッパーAPI430の呼び出し名称をboolean terminateCard ()とし,それぞれのラッパーAPI430の呼び出し名称はラッパーAPI450a,bで共通である。   FIG. 7 is a diagram for explaining an example of the wrapper API. In FIG. 7, the call name of the wrapper API 430 that invalidates the function of the card manager 43 is “boolean lockCardManager ()”, the call name of the wrapper API 430 that invalidates the IC card 1 is “boolean terminateCard ()”, and each wrapper API 430 is called. The name is common to the wrapper APIs 450a and 450b.

図7に従えば,Open Platformに対応したICカードのラッパーモジュール45aは,呼び出し名称がboolean lockCardManager()であるラッパーAPI450aが呼ばれると,カードマネージャAPI430aの一つで,カードマネージャ43aの機能を無効にするstatic boolean openplatform.OPSystem.lockCardManager()を呼び出し,このカードマネージャ43aからの戻り値をリターンする動作を行い,呼び出し名称がboolean terminateCard ()であるラッパーAPI450aが呼ばれると,カードマネージャAPI430aの一つで,ICカード1を無効化するstatic boolean openplatform.OPSystem. terminateCard()を呼び出し,このカードマネージャ43aからの戻り値をリターンする動作を行う。   According to FIG. 7, the IC card wrapper module 45a corresponding to the Open Platform disables the function of the card manager 43a with one of the card manager APIs 430a when the wrapper API 450a whose call name is boolean lockCardManager () is called. Static boolean openplatform.OPSystem.lockCardManager () is called, the return value from the card manager 43a is returned, and when the wrapper API 450a whose call name is boolean terminateCard () is called, one of the card manager APIs 430a , Invalidates the IC card 1, calls static boolean openplatform.OPSystem.terminateCard (), and returns the return value from the card manager 43a.

また,Global Platformに対応したICカードのラッパーモジュール45bは,呼び出し名称がboolean lockCardManager()であるラッパーAPI450bが呼ばれると,カードマネージャAPI430bの一つで,カードマネージャ43bの機能を無効にするstatic boolean openplatform.OPSystem.lockCardManager()を呼び出し,このカードマネージャ43bからの戻り値をリターンする動作を行い,呼び出し名称がboolean terminateCard ()であるラッパーAPI450bが呼ばれると,カードマネージャAPI430bの一つで,ICカード1を無効化するstatic boolean openplatform.OPSystem. terminateCard()を呼び出し,このカードマネージャ43bからの戻り値をリターンする動作を行う。   The IC card wrapper module 45b corresponding to the Global Platform is one of the card manager APIs 430b and disables the function of the card manager 43b when the wrapper API 450b whose call name is boolean lockCardManager () is called. .OPSystem.lockCardManager () is called to return the return value from the card manager 43b. When the wrapper API 450b whose call name is boolean terminateCard () is called, the IC card 1 is one of the card manager APIs 430b. The static boolean openplatform.OPSystem. TerminateCard () is called, and the return value from the card manager 43b is returned.

なお,これまでは,図5のカードマネージャAPI430の仕様差がある場合について説明したが,図5のバーチャルマシンAPI420の仕様差がある場合でも同様である。また,カードマネージャAPI430及びバーチャルマシンAPI420の両方に仕様差がある場合,それぞれの仕様差に対応するラッパーAPI43がICカード1に実装される。   The case where there is a difference in the specifications of the card manager API 430 in FIG. 5 has been described so far, but the same applies to the case where there is a difference in the specifications of the virtual machine API 420 in FIG. When there is a specification difference between both the card manager API 430 and the virtual machine API 420, a wrapper API 43 corresponding to each specification difference is mounted on the IC card 1.

1 ICカード
2 ICチップ
3 ソフトウェア階層
30 ハードウェア
31 プラットフォーム型OS
32 アプリケーション
33 ラッパーモジュール
330 ラッパーAPI
1 IC card 2 IC chip 3 Software layer 30 Hardware 31 Platform type OS
32 application 33 wrapper module 330 wrapper API

Claims (3)

プラットフォームオペレーティングシステム(OS: Operating System)が実装されたICカードであって,プラットフォーム型OSが提供するOS_APIをアプリケーションに対して公開するためのラッパーAPIを有し,アプリケーションによって前記ラッパーAPIの一つが呼び出されると,アプリケーションから引き渡された引数の形式を,呼び出された前記ラッパーAPIに対応する前記OS_APIの形式に変換して,この前記OS_APIを呼び出し,前記プラットフォーム型OSから受信した戻り値を,呼び出された前記ラッパーAPIのデータ形式に変換してアプリケーションへ引き渡す処理を実行するラッパーモジュールと,前記ラッパーAPIに対応する前記OS_APIを利用する際,前記ラッパーAPIを呼び出して動作するアプリケーションが実装されていることを特徴とするICカード。   An IC card in which a platform operating system (OS) is mounted, and has a wrapper API for exposing an OS_API provided by the platform OS to an application, and one of the wrapper APIs is called by the application Then, the argument format passed from the application is converted into the OS_API format corresponding to the called wrapper API, the OS_API is called, and the return value received from the platform type OS is called. In addition, when using the wrapper module that executes the process of converting to the data format of the wrapper API and passing the data to the application, and the OS_API corresponding to the wrapper API, the wrapper API is called and operated. IC card application characterized in that it is implemented. 前記ラッパーAPIが対応している前記OS_APIには,前記プラットフォーム型OSのバーチャルマシン上に構築されたカードマネージャが提供しているAPIが含まれることを特徴とする,請求項1に記載のICカード。   2. The IC card according to claim 1, wherein the OS_API supported by the wrapper API includes an API provided by a card manager built on a virtual machine of the platform OS. . 請求項1から請求項2のいずれか一つに記載のラッパーモジュールとして,ICカードを機能させるためのコンピュータプログラム。
A computer program for causing an IC card to function as the wrapper module according to any one of claims 1 to 2.
JP2010066931A 2010-03-23 2010-03-23 Ic card and computer program Pending JP2011198298A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010066931A JP2011198298A (en) 2010-03-23 2010-03-23 Ic card and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010066931A JP2011198298A (en) 2010-03-23 2010-03-23 Ic card and computer program

Publications (1)

Publication Number Publication Date
JP2011198298A true JP2011198298A (en) 2011-10-06

Family

ID=44876347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010066931A Pending JP2011198298A (en) 2010-03-23 2010-03-23 Ic card and computer program

Country Status (1)

Country Link
JP (1) JP2011198298A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015158855A (en) * 2014-02-25 2015-09-03 大日本印刷株式会社 Identifier determination device, identifier determination method and identifier determination program
JP2015227789A (en) * 2014-05-30 2015-12-17 株式会社デンソー Information providing apparatus

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099345A (en) * 1998-09-24 2000-04-07 Digital Vision Laboratories:Kk Program conversion method
JP2001052131A (en) * 1999-08-04 2001-02-23 Dainippon Printing Co Ltd Ic card, issuing method therefor and program
JP2001527674A (en) * 1997-05-15 2001-12-25 モンデックス インターナショナル リミテッド Multi-application card with delegation characteristics
JP2003173427A (en) * 2001-12-06 2003-06-20 Matsushita Electric Ind Co Ltd Ic card
JP2004098658A (en) * 2002-07-19 2004-04-02 Ricoh Co Ltd Image forming apparatus, method of processing of lapping, and program
JP2004246690A (en) * 2003-02-14 2004-09-02 Canon Inc Program porting support system
JP3641430B2 (en) * 1997-08-18 2005-04-20 マイクロソフト コーポレーション Program interface converter for computers with multiple platforms
JP2006301692A (en) * 2005-04-15 2006-11-02 Dainippon Printing Co Ltd Ic card and ic card program
JP2008139923A (en) * 2006-11-30 2008-06-19 Dainippon Printing Co Ltd Ic card having shared object, access management method to shared object and ic card program

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001527674A (en) * 1997-05-15 2001-12-25 モンデックス インターナショナル リミテッド Multi-application card with delegation characteristics
JP3641430B2 (en) * 1997-08-18 2005-04-20 マイクロソフト コーポレーション Program interface converter for computers with multiple platforms
JP2000099345A (en) * 1998-09-24 2000-04-07 Digital Vision Laboratories:Kk Program conversion method
JP2001052131A (en) * 1999-08-04 2001-02-23 Dainippon Printing Co Ltd Ic card, issuing method therefor and program
JP2003173427A (en) * 2001-12-06 2003-06-20 Matsushita Electric Ind Co Ltd Ic card
JP2004098658A (en) * 2002-07-19 2004-04-02 Ricoh Co Ltd Image forming apparatus, method of processing of lapping, and program
JP2004246690A (en) * 2003-02-14 2004-09-02 Canon Inc Program porting support system
JP2006301692A (en) * 2005-04-15 2006-11-02 Dainippon Printing Co Ltd Ic card and ic card program
JP2008139923A (en) * 2006-11-30 2008-06-19 Dainippon Printing Co Ltd Ic card having shared object, access management method to shared object and ic card program

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSND200100718006; 田路龍太郎: 'ICカードの最新技術と利用動向 第5回 ICカード運用管理システムの概要(PF編)' BUSINESS COMMUNICATION 第38巻,第8号, 20010801, p.89, 株式会社ビジネスコミュニケーション社 *
CSND200200009019; 赤鹿秀樹: 'ICカードの最新技術と利用動向 第7回 ICカードプラットフォーム技術の標準化動向(その2)' BUSINESS COMMUNICATION 第38巻,第10号, 20011001, p.92〜93, 株式会社ビジネスコミュニケーション社 *
CSND200200330006; 本城啓史: '特集 Part2 カードビジネスのテクノロジー:マルチアプリケーション時代の必須知識、ICカード用OS最新' CardWave 第15巻,第3号(通巻174号), 20020210, p.64, 株式会社シーメディア *
JPN6014015873; 本城啓史: '特集 Part2 カードビジネスのテクノロジー:マルチアプリケーション時代の必須知識、ICカード用OS最新' CardWave 第15巻,第3号(通巻174号), 20020210, p.64, 株式会社シーメディア *
JPN6014015877; 田路龍太郎: 'ICカードの最新技術と利用動向 第5回 ICカード運用管理システムの概要(PF編)' BUSINESS COMMUNICATION 第38巻,第8号, 20010801, p.89, 株式会社ビジネスコミュニケーション社 *
JPN6014015881; 赤鹿秀樹: 'ICカードの最新技術と利用動向 第7回 ICカードプラットフォーム技術の標準化動向(その2)' BUSINESS COMMUNICATION 第38巻,第10号, 20011001, p.92〜93, 株式会社ビジネスコミュニケーション社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015158855A (en) * 2014-02-25 2015-09-03 大日本印刷株式会社 Identifier determination device, identifier determination method and identifier determination program
JP2015227789A (en) * 2014-05-30 2015-12-17 株式会社デンソー Information providing apparatus

Similar Documents

Publication Publication Date Title
JP5910297B2 (en) Information processing apparatus, IC chip, information processing method, program, and information processing system
US11521199B2 (en) Method and apparatus for configuring security carrier
CN111694613B (en) Decoupling method between application program modules, electronic device and storage medium
EP2876593A1 (en) Method of generating a structure and corresponding structure
CN108170430A (en) A kind of method and system of showing interface
CN114371841A (en) Front-end project code generation method and device, computer equipment and storage medium
CN110825499A (en) Method and device for realizing security isolation based on unified container cloud platform
CN110362341B (en) Business management method, device, equipment and storage medium based on micro-service architecture
JP2011198298A (en) Ic card and computer program
CN112596746B (en) Application installation package generation method and device, computer equipment and storage medium
CN106775608B (en) Method and device for realizing independent system process
CN113031957A (en) Application program installation method, client, terminal, server and storage medium
CN112764836A (en) Method and device for running fast application and electronic equipment
CN112486579A (en) Self-service terminal device drive calling standardization method and related device
CN109918059B (en) Application function expansion method and device, terminal equipment and storage medium
CN115827049A (en) Configuration-based cache switching method, electronic equipment and storage medium
CN114416530A (en) Byte code modification method and device, computer equipment and storage medium
CN113703790A (en) Software framework of Linux system security application and establishing method
CN111814209A (en) System and method for applying patches to executable code
JP6859997B2 (en) Information processing equipment, IC chips, information processing methods, and programs
US10235139B2 (en) Method for modifying the execution of a platform-independent method of an integrated circuit card
CN105631505A (en) Smart card supporting JAVA card patch function
CN111459570B (en) PDF plug-in loading method, electronic equipment and computer storage medium
JP7010084B2 (en) Token device used for IC payment
US10789075B2 (en) Method and apparatus for security certified smart card OS diversification system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130819

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20130823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140819