JP2003091704A - Storage unit with non-volatile memory and information processing device with freely detachable storage unit - Google Patents

Storage unit with non-volatile memory and information processing device with freely detachable storage unit

Info

Publication number
JP2003091704A
JP2003091704A JP2001388727A JP2001388727A JP2003091704A JP 2003091704 A JP2003091704 A JP 2003091704A JP 2001388727 A JP2001388727 A JP 2001388727A JP 2001388727 A JP2001388727 A JP 2001388727A JP 2003091704 A JP2003091704 A JP 2003091704A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
ic card
ic
command
chip
terminal
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
JP2001388727A
Other languages
Japanese (ja)
Other versions
JP3865629B2 (en )
Inventor
Tomihisa Hatano
Kunihiro Katayama
Koichi Kimura
Eiga Mizushima
Norio Tanaka
Takashi Tsunehiro
Motoyasu Tsunoda
隆司 常広
富久 幡野
光一 木村
永雅 水島
国弘 片山
紀夫 田中
元泰 角田
Original Assignee
Hitachi 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

Links

Abstract

PROBLEM TO BE SOLVED: To make an IC execute a large amount of processing even when the storage capacity in the IC (for example, ROM and EERROM) is small. SOLUTION: This storage unit is provided with a flash memory chip 130, an IC card chip 150 capable of executing the security processing (encryption, decryption and the like), and a controller chip 12 for controlling the access to the flash memory chip and the IC card chip in accordance with the request from a host 220, a program of an IC card necessary for the security processing and a part of the data are stored in the flash memory chip, or the IC card chip requests the data processing utilizing the flash memory chip and the host equipment.

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明はセキュリティ機能を搭載した記憶装置及びその記憶装置が挿入可能なホスト機器及びその記憶装置が挿入されたホスト機器に係り、 BACKGROUND OF THE INVENTION [0001] [Technical Field of the Invention The present invention relates to a host device memory device and a memory device insertable host device and the storage device has been inserted equipped with a security function,
不揮発性のフラッシュメモリチップ、IC(Integrated Non-volatile flash memory chip, IC (Integrated
circuit;集積回路)カードチップ及びコントローラチップとを有するメモリカード及びそのメモリカードが挿入可能な(着脱自在な)情報処理装置及びそのメモリカードが挿入された情報処理装置に関する。 Circuit; an integrated circuit) the information processing apparatus memory card and the memory card its possible insertion (removable) information processing apparatus and a memory card that has been inserted and a card chip and the controller chip. 【0002】 【従来の技術】ICカードは、プラスチックカード基板中にIC(集積回路)チップを埋め込んだものであり、 [0002] IC card is for embedded IC (integrated circuit) chip into a plastic card substrate,
その表面にICチップの外部端子を持つ。 With external terminals of the IC chip on its surface. ICチップの外部端子には電源端子、クロック端子、データ入出力端子などがある。 The external terminals of the IC chip supply terminal, clock terminal, and a data input-output terminal. ICチップは、接続装置が外部端子から電源や駆動クロックを直接供給することによって動作する。 IC chip operates by connecting devices directly supplied power and drive clocks from the external terminal. ICカードは外部端子を通して端末機などの接続装置との間で電気信号を送受信することにより、接続装置と情報交換をおこなう。 IC cards by sending and receiving electrical signals to and from the connecting device such as a terminal through an external terminal, performs a connection device and information exchange. 情報交換の結果として、ICカードは計算結果や記憶情報の送出、記憶情報の変更をおこなう。 As a result of the information exchange, IC card sends the calculation result and stored information, and changes the stored information. ICカードは、これらの動作仕様に基づいて、 IC card, on the basis of these operating specifications,
機密データ保護や個人認証などのセキュリティ処理を実行する機能を持つことができる。 You can have the ability to run security processing of such sensitive data protection and personal authentication. ICカードは、クレジット決済やバンキングなど機密情報のセキュリティが必要とされるシステムにおいて、個人識別のためのユーザデバイスとして利用されている。 IC card is, in a system in which the security of sensitive information such as credit payment and banking is needed, have been used as a user device for personal identification. 【0003】 【発明が解決しようとする課題】セキュリティシステムにおいて利用されるユーザ識別装置は、秘密情報を用いて演算を行う際に、その秘密情報あるいはその秘密情報を推定できるような情報を外にもらさないように設計される必要がある。 [0003] user identification devices utilized in the security system [0005] is, when performing an operation by using the secret information, the information that can be estimated that secret information or secret information that outside tight does not need to be designed to. すなわち、耐タンパ性を持つことが必要とされる。 That is required to have a tamper-resistant. また、ユーザ識別装置はユーザにとって利便性が高いことが必要である。 The user identification device is necessary that is highly convenient for the user. 例えば、1台の装置でより多くのセキュリティシステムに対応できるしくみを持つこと、さらに、より大きなサイズのデータを処理する能力を持つことである。 For example, to have a mechanism to accommodate more security system in one device, furthermore, it is to have the ability to process data of a larger size. 【0004】本発明の目的は、ICが実行するためのプログラムやデータ、ICを管理するための情報をIC外部の不揮発性メモリに保持するため、IC内の記憶容量が小さい場合にも、ICが多くの処理を実行できる記憶装置及び情報処理装置を提供することである。 An object of the present invention, for holding programs and data for the IC to perform, the information for managing the IC in the non-volatile memory of the IC external, even when the storage capacity of the IC is small, IC There is to provide a storage device and an information processing apparatus can perform much processing. 【0005】本発明の目的は、ICが実行する処理の一部をIC外部のコントローラが実行するため、IC内の記憶容量(例えば、RAM)が小さい場合にも、ICが多くの処理を実行できる記憶装置及び情報処理装置を提供することである。 An object of the present invention, performed to a part of the processing IC performs IC external controller to initiate storage capacity in the IC (e.g., RAM) in the case is small, the IC more processing to provide a storage device and an information processing apparatus capable. 【0006】 【課題を解決するための手段】本発明は、不揮発性メモリが、ICに実行させるためのアプリケーションプログラムの一部を格納する。 [0006] According to an aspect of the present invention, nonvolatile memory, it stores a part of the application program to be executed by the IC. 【0007】本発明は、ICが、銀行取引を処理するための第1のアプリケーションプログラムと、クレジット決済を処理するための第2のアプリケーションプログラムと、配信コンテンツを処理するための第3のアプリケーションプログラムとを有し、ホスト機器からのコマンドに応じて、第1のアプリケーションプログラム又は第2のアプリケーションプログラム又は第3のアプリケーションプログラムを選択し、実行する。 [0007] The present invention is, IC is, a first application program for processing banking transactions, and a second application program for processing a credit card transaction, a third application program for processing the delivery content has the door, in accordance with a command from the host device, selects the first application program or the second application program or a third application program, executes. 【0008】本発明は、コントローラが、ホスト機器からの第1のコマンドに応じて、ICが解釈可能な第2のコマンドを作成し、ICへ送信する。 [0008] The present invention, controller, in response to a first command from the host device, to create a second command IC that can be interpreted and transmitted to the IC. 【0009】本発明は、ICが、コントローラからのコマンドによって処理対象とされたデータのデータ量とI [0009] The present invention, IC is the amount of data that has been processed by a command from the controller and I
C内のワームメモリの空き容量とを比較し、その比較結果に応じてコントローラへのレスポンスを決定し、コントローラへ送信する。 Compares the free space of the worm memory in C, to determine the responses to the controller in accordance with the comparison result, it transmits to the controller. 【0010】 【発明の実施の形態】以下、本発明の一実施形態について説明する。 DETAILED DESCRIPTION OF THE INVENTION Hereinafter, a description will be given of an embodiment of the present invention. 【0011】図22は、本発明を適用したMultiM [0011] FIG. 22, MultiM according to an embodiment of the present invention
ediaCard(MultiMediaCardはI ediaCard (MultiMediaCard is I
nfineonTechnologiesAGの登録商標である。 It is a registered trademark of nfineonTechnologiesAG. 以下、「MMC」と略記する。 Hereinafter referred to as "MMC". )の内部構成図を簡単に表したものである。 ) Is obtained by simply represents the internal configuration of the. MMC110は、Mul MMC110 is, Mul
tiMediaCard仕様に準拠するのが好ましい。 It is preferable to comply with the tiMediaCard specification.
MMC110は、外部に接続したホスト機器220がM MMC110 is, the host device 220 that is connected to the outside M
ultiMediaCard仕様に準拠したメモリカードコマンドを発行することによって、機密データ保護や個人認証などに必要な暗号演算をおこなうセキュリティ処理機能を持つ。 By issuing a memory card command that conforms to ultiMediaCard specification, with the security processing function for performing cryptographic operations required, such as protection of secret data, personal authentication. ホスト機器220は、例えば、携帯電話、携帯情報端末(PDA)、パーソナルコンピュータ、音楽再生(及び録音)装置、カメラ、ビデオカメラ、自動預金預払器、街角端末、決済端末等が該当する。 The host apparatus 220, for example, a cellular phone, a personal digital assistant (PDA), a personal computer, the music playback (and recording) device, a camera, a video camera, an automatic deposit deposit 払器, street terminal, payment terminal or the like. MMC110は、MMC外部端子140、コントローラチップ120、フラッシュメモリチップ130、I MMC110 is, MMC external terminal 140, the controller chip 120, the flash memory chip 130, I
Cカードチップ150を持つ。 With a C card chip 150. フラッシュメモリチップ130は、不揮発性の半導体メモリを記憶媒体とするメモリチップであり、フラッシュメモリコマンドによりデータの読み書きができる。 Flash memory chip 130 is a memory chip that a non-volatile semiconductor memory as a storage medium can read and write data by a flash memory command. MMC外部端子140は7つの端子から構成され、外部のホスト機器220と情報交換するために、電源供給端子、クロック入力端子、コマンド入出力端子、データ入出力端子、グランド端子を含む。 MMC external terminal 140 is composed of seven terminals, including to exchange the external host device 220 and the information, the power supply terminal, a clock input terminal, a command input and output terminals, the data input-output terminal, a ground terminal. コントローラチップ120は、MMC110内部の他の構成要素(MMC外部端子140、フラッシュメモリチップ130、ICカードチップ150)と接続されており、これらを制御するマイコンチップである。 The controller chip 120, other internal components MMC 110 (MMC external terminal 140, flash memory chip 130, IC card chip 150) is connected to the a microcomputer chip for controlling them. IC IC
カードチップ150は、ICカードのプラスチック基板中に埋め込むためのマイコンチップであり、その外部端子、電気信号プロトコル、コマンドはISO/IEC7 Card chip 150 is a microcomputer chip for embedding in the plastic in the substrate of the IC card, the external terminals, an electric signal protocol, commands ISO / IEC7
816規格に準拠している。 It conforms to the 816 standard. ICカードチップ150の外部端子には、電源供給端子、クロック入力端子、リセット入力端子、I/O入出力端子、グランド端子がある。 The external terminals of the IC card chip 150, the power supply terminal, clock input terminal, a reset input terminal, I / O input and output terminals, there is a ground terminal. コントローラチップ120は、ICカードチップ1 The controller chip 120, IC card chip 1
50の外部端子からICカードチップ150にICカードコマンドを発行することによって、外部のホスト機器220から要求されたセキュリティ処理に必要な演算をおこなう。 By issuing the 50 IC card command from the external terminal to the IC card chip 150, it performs operations required security process requested from the external host apparatus 220. 【0012】図26は、本発明のICカードチップの内部構成を示す図である。 [0012] Figure 26 is a diagram showing the internal configuration of the IC card chip of the present invention. ICカードチップ150は、演算処理を行うためのCPU(マイコン)158と、データ(プログラムを含む。)を記憶するためのROM(R IC card chip 150 includes a CPU (microcomputer) 158 for performing arithmetic processing, data (including a program.) ROM for storing (R
ead Only Memory)159とRAM(R ead Only Memory) 159 and RAM (R
andom Access Memory)160とE andom Access Memory) 160 and E
EPROM(Electrically Erasab EPROM (Electrically Erasab
le Programmable ROM)162と、 And le Programmable ROM) 162,
暗号/復号に関する処理を行うための暗号コプロセッサ163と、外部とデータを送受信するためのシリアルインターフェース161とを備え、それらは、バス164 A cryptographic co-processor 163 for performing processing relating to encryption / decryption, and a serial interface 161 for transmitting and receiving external data, they, bus 164
によって接続される。 They are connected by. そして、その暗号コプロセッサ1 Then, the encryption coprocessor 1
63によって、ホスト機器220からのコマンドに応じて、ICカードチップ150自らが、セキュリティ処理を実行することが可能である。 By 63, in response to a command from the host device 220, IC card chip 150 itself, it is possible to execute the security process. 尚、暗号コプロセッサ1 In addition, the encryption coprocessor 1
63(ハードウェア)の替わりに、プログラム(ソフトウェア)に従ってCPU158がセキュリティ処理を実行してもよい。 Instead 63 (hardware), CPU 158 may execute the security process in accordance with a program (software). 【0013】一方、フラッシュメモリチップ130には、記憶素子を備えるが、マイコンは存在しない。 Meanwhile, the flash memory chip 130, but a storage device, the microcomputer does not exist. 【0014】セキュリティ処理は、例えば、ICカードチップ150内の記憶領域にデータが書き込まれるとき、又は、ICカードチップ150内の記憶領域からデータが読み出されるときに実行される。 [0014] security process, for example, when the data in the memory area of ​​the IC card chip 150 is written, or is executed when the data is read from the memory area of ​​the IC card chip 150. ICカードチップ150のEEPROMの記憶容量は、フラッシュメモリチップ130の記憶容量より小さい。 Storage capacity of the EEPROM of the IC card chip 150 is smaller than the storage capacity of the flash memory chip 130. 但し、ICカードチップ150のEEPROMの記憶容量は、フラッシュメモリチップ130の記憶容量と同じでもよいし、大きくてもよい。 However, the storage capacity of the EEPROM of the IC card chip 150 also may the same as the storage capacity of the flash memory chip 130 may be larger. 【0015】ICカードチップ150には、セキュリティ評価基準の国際標準であるISO/IEC15408 [0015] The IC card chip 150, which is the international standard of security evaluation standard ISO / IEC15408
の評価・認証機関によって認証済みである製品を利用する。 To use is already certified products by the evaluation and certification body. 一般に、セキュリティ処理をおこなう機能を持つI I generally has a function of performing the security process
Cカードを実際の電子決済サービスなどで利用する場合、そのICカードはISO/IEC15408の評価・認証機関による評価と認定を受ける必要がある。 If you want to use the C card, such as the actual electronic payment service, the IC card is there needs to be evaluated and certified by the evaluation and certification authority of ISO / IEC15408. MM MM
Cにセキュリティ処理をおこなう機能を追加することによってMMC110を実現し、それを実際の電子決済サービスなどで利用する場合、MMC110も同様にIS If realized MMC 110 by adding a function for performing a security process in C, and used in such actual electronic payment service it, likewise IS MMC 110
O/IEC15408の評価・認証機関による評価と認定を受ける必要がある。 O / IEC15408 there needs to be evaluated and approved by the evaluation and certification organizations. 本発明によれば、MMC110 According to the present invention, MMC110
は、評価・認証機関によって認証済みのICカードチップ150を内蔵し、そのICカードチップ150を利用してセキュリティ処理をおこなう構造を持つことにより、セキュリティ処理機能を得る。 It incorporates authenticated the IC card chip 150 by the evaluation and authentication authority, by having a structure for performing security processing using the IC card chip 150, obtain the security processing function. したがって、MMC Therefore, MMC
110はISO/IEC15408に基づくセキュリティ評価基準を容易に満足することができ、MMCにセキュリティ処理機能を追加するための開発期間を短縮することができる。 110 can easily satisfy the security evaluation criteria based on ISO / IEC15408, it is possible to shorten the development time for adding the security processing function the MMC. 【0016】MMC110は、MultiMediaC [0016] MMC110 is, MultiMediaC
ard仕様に準拠した外部インタフェースを持つのが好ましい。 It is preferable to have an external interface that conforms to the ard specification. MMC110は、一種類の外部インタフェースを通じて、標準メモリカードコマンド(フラッシュメモリチップ130へアクセスするためのコマンド)に加えて、セキュリティ処理を実行するコマンドを受け付ける必要がある。 MMC110, through one type of external interface, in addition to the standard memory card command (command for accessing the flash memory chip 130), it is necessary to accept a command for executing the security process. コントローラチップ120は、MMC11 The controller chip 120, MMC11
0が受信したコマンドが標準メモリカードコマンドであるか、セキュリティ処理を実行するコマンドであるかによって、アクセスすべきチップを選択し、コマンド処理を分配する機能を持つ。 0 Do command received is a standard memory card command, depending on whether a command for executing the security process, select the chip to be accessed has the function of distributing the command processing. 本発明によれば、標準メモリカードコマンドを受信したならば、フラッシュメモリチップ130を選択し、これにフラッシュメモリコマンドを発行してホストデータを読み書きできる。 According to the present invention, if receiving the standard memory card command, select the flash memory chip 130, can read and write host data by issuing the flash memory command thereto. また、セキュリティ処理を実行するコマンドを受信したならば、IC In addition, if a command is received to execute the security processing, IC
カードチップ150を選択し、これにICカードコマンドを発行してセキュリティ処理を実行することができる。 Select card chip 150 can execute the security process by issuing an IC card command thereto. 【0017】ICカードチップ150の外部端子は、グランド端子を除いて、電源供給端子、クロック入力端子、リセット入力端子、I/O入出力端子がコントローラチップ120に接続されている。 The external terminals of the IC card chip 150, except for the ground terminal, a power supply terminal, clock input terminal, a reset input terminal, the I / O output terminal is connected to the controller chip 120. 【0018】コントローラチップ120は、電源供給端子、クロック入力端子を通して、ICカードチップ15 The controller chip 120 includes a power supply terminal, through a clock input terminal, IC card chip 15
0への電源供給、クロック供給を制御する。 Power supply to 0, to control the clock supply. 本発明によれば、ホスト機器220からセキュリティ処理を要求されないときには、ICカードチップ150への電源供給やクロック供給を停止させることができ、MMC110 According to the present invention, when not required the security process from the host apparatus 220, it is possible to stop the power supply and clock supply to the IC card chip 0.99, MMC 110
の電力消費を削減することができる。 It is possible to reduce the power consumption. 【0019】電源供給されていないICカードチップ1 [0019] The IC card chip 1 that has not been power supply
50を、ICカードコマンドを受信できる状態にするには、まず、ICカードチップ150に電源供給を開始し、リセット処理を施すことが必要である。 50, in a state that can receive the IC card command, first, to start the power supply to the IC card chip 150, it is necessary to perform the reset process. コントローラチップ120は、MMC110がホスト機器220からセキュリティ処理を実行するコマンドを受信したのを契機に、電源供給端子を通してICカードチップ150 The controller chip 120, the response to the MMC110 receives a command for executing the security process from the host device 220, IC card chip 150 through the power supply terminal
への電源供給を開始する機能を持つ。 It has a function to start the supply of power to the. また、コントローラチップ120は、MMC110がホスト機器220からセキュリティ処理を実行するコマンドを受信したのを契機に、リセット入力端子を通してICカードチップ1 The controller chip 120, the response to the MMC110 receives a command for executing the security process from the host device 220, IC card chip 1 through the reset input terminal
50のリセット処理をおこなう機能を持つ。 It has a function of performing reset processing 50. 本発明によれば、コントローラチップ120は、セキュリティ処理を実行するコマンドを受信するまでICカードチップ1 According to the present invention, the controller chip 120, IC card chip 1 until it receives a command for executing the security process
50への電源供給を停止させておくことができる。 It can be allowed to stop the power supply to 50. したがって、MMC110の電力消費を削減することができる。 Therefore, it is possible to reduce the power consumption of the MMC 110. 【0020】コントローラチップ120は、ICカードチップ150のクロック入力端子を通してICカードチップ150に供給するクロック信号をMMC110内部で発生し、その周波数、供給開始タイミング、供給停止タイミングを制御する機能を持つ。 The controller chip 120, the clock signal supplied to the IC card chip 150 via the clock input terminal of the IC card chip 150 is generated inside the MMC 110, with its frequency, supply start timing, a function of controlling the supply stop timing. 本発明によれば、M According to the present invention, M
MC外部端子140のクロック入力端子のクロック信号と無関係にすることができるため、ホスト機器220によるタイミング解析、電力差分解析、故障利用解析と呼ばれる攻撃法に対してセキュリティが向上する。 It is possible to independently and clock signal of the clock input terminal of the MC external terminals 140, timing analysis by the host apparatus 220, the power difference analysis, security is improved against attack method called a failure use analysis. 【0021】図21は、フラッシュメモリチップ130 [0021] FIG. 21, the flash memory chip 130
の詳細な内部構成を表している。 It represents a detailed internal structure of the. フラッシュメモリチップ130は、ホストデータ領域2115と管理領域21 Flash memory chip 130 includes a host data area 2115 management area 21
10とを含む。 And a 10. ホストデータ領域2115は、セクタ単位に論理アドレスがマッピングされている領域であり、 Host data area 2115 is an area where logical addresses to sectors are mapped,
ホスト機器220が論理アドレスを指定してデータを読み書きできる領域である。 The host apparatus 220 is a region that can read and write data by designating the logical address. ホストデータ領域2115 Host data area 2115
は、ユーザファイル領域2130とセキュリティ処理アプリケーション領域2120とを含む。 Includes a user file area 2130 and the security processing application area 2120. ユーザファイル領域2130は、ユーザが自由にファイルデータを読み書きできる領域である。 User file area 2130 is an area which the user can read and write freely file data. セキュリティ処理アプリケーション領域2120は、ホスト機器220がセキュリティ処理アプリケーションに必要なデータを格納する領域であり、ユーザが不正にアクセスしないように、ホスト機器220のセキュリティ処理アプリケーションが論理的にユーザアクセス制限をかける。 Security process application area 2120 is an area where the host apparatus 220 stores data necessary for security processing applications, so that the user can not access illegally security process application of the host device 220 applies a logical user access restriction . ここに格納するデータとしては、ホスト機器220のアプリケーションプログラム、そのアプリケーション専用のデータ、セキュリティ処理に使用される証明書など(例えば、電子決済アプリケーションプログラム、電子決済ログ情報、電子決済サービス証明書など)が可能である。 The data stored here, an application program of the host device 220, the application specific data, such as certificates used for security processing (e.g., electronic payment application programs, electronic payment log information, such as electronic payment service certificate) it is possible. 本発明によれば、 According to the present invention,
MMC110が、ホスト機器220がセキュリティ処理をおこなう上で使用するデータをホスト機器220の代わりに格納するため、ホスト機器220にとって利便性が向上する。 MMC110 is, to store the data which the host apparatus 220 to use in performing a security process in place of the host apparatus 220, usability is improved for the host apparatus 220. 【0022】一方、管理領域2110は、コントローラチップ120がICカードチップ150を管理するための情報を格納する領域である。 On the other hand, management area 2110 is an area for storing information for the controller chip 120 to manage the IC card chip 150. 管理領域2110は、I Management area 2110, I
Cカード制御パラメータ領域2111、ICカード環境設定情報領域2112、CLK2設定情報領域211 C card control parameter area 2111, IC card environment setting information area 2112, CLK2 setting information area 211
3、セキュリティ処理バッファ領域2114、セキュリティ処理ステータス領域2116とを含む。 3, the security process buffer area 2114, and a security process status area 2116. 2111〜 2111~
2116の領域の詳細な使用法については後述する。 It will be described in detail later usage area of ​​2116. 【0023】コントローラチップ120は、フラッシュメモリチップ130の管理領域2110のセキュリティ処理バッファ領域2114を、ICカードチップ150 The controller chip 120, the security process buffer area 2114 in the management area 2110 of the flash memory chip 130, IC card chip 150
でセキュリティ処理を実行する際のメインメモリまたはバッファメモリとして利用する。 In use as a main memory or a buffer memory at the time of executing the security process. ホスト機器220がセキュリティ処理を実行するコマンドによりMMC110 The command by the host apparatus 220 executes the security process MMC110
にアクセスした際に、MMC110がホスト機器220 When you have access to, MMC110 the host device 220
からICカードチップ150に一度に送信できないほどの大きなサイズのセキュリティ関連データを受信したならば、コントローラチップ120はフラッシュメモリチップ130へのアクセスを選択し、そのデータを十分な容量を持つセキュリティ処理バッファ領域2114に一時的に格納する。 Upon receiving the security-related data of a large size that can not be sent at once to the IC card chip 150 from the controller chip 120 selects the access to the flash memory chip 130, the security process buffer with that data sufficient capacity temporarily stored in the area 2114. ICカードチップ150に一度に送信できないほどのサイズは、ICカードコマンドの許容データサイズ(例えば、255バイト又は256バイト) Size that can not be sent at once to the IC card chip 150, allowable data size of the IC card command (e.g., 255 bytes or 256 bytes)
を超えるサイズである。 It is the size of more than. そして、コントローラチップ1 Then, the controller chip 1
20はそれをICカードチップ150に送信できるサイズのデータに分割し、分割データをフラッシュメモリチップ130から読み出し、段階的にICカードチップ1 20 divides the size of data that can be sent to it to the IC card chip 150, reads out the divided data from the flash memory chip 130, stepwise IC card chip 1
50に送信する。 To send to the 50. つまり、分割されたデータの読み出し、書き込みを繰り返す。 In other words, reading of the divided data, repeated writing. 本発明によれば、ホスト機器220にとって、大きなサイズのセキュリティ関連データを扱うことができるので、セキュリティ処理の利便性が向上する。 According to the present invention, taking the host apparatus 220, it is possible to deal with security-related data of a large size, thereby improving usability of the security process is. 【0024】上記のセキュリティ処理バッファ領域21 [0024] The security process buffer area 21
14を含む管理領域2110は、ホスト機器220が不正にアクセスしてセキュリティ処理を解析することができないように、コントローラチップ120により物理的にホストアクセス制限がかけられている。 Management area 2110 containing 14, so that it can not be the host apparatus 220 to analyze the security process by accessing illegally physical host access restriction is applied by the controller chip 120. つまり、管理領域2110はホスト機器220が直接データを読み書きできない。 In other words, the management area 2110 host apparatus 220 can not read or write data directly. 本発明によれば、ホスト機器220がセキュリティ処理バッファ領域2114の内容を自由に読み出したり改ざんすることができないため、セキュリティ処理の信頼性や安全性が向上する。 According to the present invention, since the host apparatus 220 can not be tampered freely read or the contents of the security process buffer area 2114, thereby improving reliability and safety of the security process is. 【0025】図23は、MMC110を利用したセキュリティ処理の一例として、コンテンツ配信のセキュリティ処理を表したものである。 FIG. 23 shows, as an example of the security process using the MMC 110, illustrates a security process of content distribution. コンテンツプロバイダ23 Content provider 23
10は、MMC110を所有するユーザにコンテンツ2 10, the content 2 to the user who owns the MMC110
314を販売する業者である。 314 is a skilled in the art of selling. ホスト機器220は、この例では、コンテンツプロバイダ2310とネットワークなどを介して接続することができる端末機である。 The host apparatus 220, in this example, is a terminal which can be connected via a content provider 2310 and a network. ユーザはMMC110をホスト機器220に接続してコンテンツ2314を購入する。 The user purchases the content 2314 by connecting MMC110 to the host apparatus 220. 以下、その手順を説明する。 The procedure will be described below. まず、ホスト機器220はMMC110に、フラッシュメモリチップ130に格納されたユーザ証明書23 First, the host apparatus 220 to the MMC 110, the user certificate 23 stored in the flash memory chip 130
21を読み出すコマンドを発行する。 To issue a command to read 21. MMC110のコントローラチップ120は、フラッシュメモリチップ1 Controller chip 120 of MMC110 the flash memory chip 1
30のセキュリティ処理アプリケーション領域2120 30 of the security process application area 2120
に格納されたユーザ証明書2321を読み出し、それをホスト機器220に送信する。 It reads the user certificate 2321 stored in, and transmits it to the host apparatus 220. そして、ホスト機器22 Then, the host device 22
0はそれをコンテンツプロバイダ2310に送信する。 0 sends it to the content provider 2310.
コンテンツプロバイダ2310はユーザ証明書2321 Content provider 2310 user certificate 2321
につけられたデジタル署名を検証する(2311)。 Digital signature attached was to verify the (2311). 検証が成功したならば、乱数発生器によりセッション鍵を生成し(2312)、それをユーザ証明書2321から抽出したユーザ公開鍵によって暗号化する(231 If verification is successful, generates a session key by a random number generator (2312), encrypts the user public key extracted from the user certificate 2321 it (231
3)。 3). さらに、コンテンツ2314をそのセッション鍵によって暗号化する(2315)。 Furthermore, to encrypt the content 2314 by the session key (2315). コンテンツプロバイダ2310はステップ2313の結果をホスト機器22 Content provider 2310 host apparatus 22 the result of step 2313
0に送信する。 To send to 0. ホスト機器220は、ステップ2313 The host device 220, step 2313
の結果をユーザ秘密鍵2322によって復号するセキュリティ処理を要求するコマンドを、MMC110に発行する。 A command requesting the security process for decrypting the result by the user private key 2322, issued to MMC 110. コントローラチップ120は、ステップ2313 The controller chip 120, a step 2313
の結果をユーザ秘密鍵2322によって復号するICカードコマンドを、ICカードチップ150に発行する。 The results of the IC card command for decrypting the user private key 2322, and issues the IC card chip 150.
ICカードチップ150は、ユーザ秘密鍵2322によってステップ2313の結果を復号して、セッション鍵を取得する(2323)。 IC card chip 150 decrypts the result of step 2313 by the user private key 2322 and obtains the session key (2323). ホスト機器220は、この復号処理が成功したかを示す情報を出力させるコマンドをMMC110に発行する。 The host apparatus 220 issues a command for outputting information indicating whether the decoding process is successfully MMC 110. コントローラチップ120 Controller chip 120
は、ICカードチップ150の出力する復号結果(復号処理が成功したかを示すICカードレスポンス)をもとにしてホスト機器220の求める情報を構築する。 Constructs the information required by the host apparatus 220 based on the decoding result (IC card response showing whether the decrypting process is successful) to the output of the IC card chip 150. そして、MMC110はその情報をホスト機器220に送信する。 Then, MMC 110 transmits the information to the host apparatus 220. 次に、コンテンツプロバイダ2310は、ステップ2315の結果を、ホスト機器220に送信する。 Next, the content provider 2310, the result of step 2315, and transmits to the host apparatus 220. ホスト機器220は、ステップ2313の結果をセッション鍵(ステップ2323によって取得した鍵)によって復号するセキュリティ処理を要求するコマンドを、MM The host apparatus 220, a command requesting the security process for decrypting the result of step 2313 by the session key (key obtained in step 2323), MM
C110に発行する。 It is issued to the C110. コントローラチップ120は、ステップ2315の結果をセッション鍵によって復号するICカードコマンドを、ICカードチップ150に発行する。 The controller chip 120, the IC card command for decrypting the result of step 2315 by the session key, and issues the IC card chip 150. ICカードチップ150は、セッション鍵によってステップ2315の結果を復号して、コンテンツ23 IC card chip 150 decrypts the result of step 2315 by the session key, the content 23
14を復元する(2324)。 14 to restore (2324). コントローラチップ12 Controller chip 12
0は、このコンテンツ2314をICカードチップ15 0, IC card chip 15 this content 2314
0から受信し、フラッシュメモリチップ130に書きこむ。 Received from 0, write to the flash memory chip 130. ホスト機器220は、この復号処理が成功したかを示す情報を出力させるコマンドをMMC110に発行する。 The host apparatus 220 issues a command for outputting information indicating whether the decoding process is successfully MMC 110. コントローラチップ120は、ICカードチップ1 The controller chip 120, IC card chip 1
50の出力する復号結果(復号処理が成功したかを示すICカードレスポンス)をもとにしてホスト機器220 Output decoding result of 50 based on (IC card response showing whether the decrypting process is successful) host apparatus 220
の求める情報を構築する。 To build the information required by the. そして、MMC110はその情報をホスト機器220に送信する。 Then, MMC 110 transmits the information to the host apparatus 220. ホスト機器220 The host device 220
が、コンテンツを無事に受信したことをコンテンツプロバイダ2310に伝えると、コンテンツプロバイダ23 But, and tell that it has successfully received the content to the content provider 2310, the content provider 23
10はユーザ証明書に記載されたユーザにコンテンツ料金を課金する。 10 to charge the content fee to the user that has been described in the user certificate. ユーザは、ホスト機器220でMMC1 The user, the host device 220 MMC1
10内のフラッシュメモリチップ130に格納されたコンテンツ2314を読み出して利用することができる。 Reads the content 2314 stored in the flash memory chip 130 in 10 can be utilized.
また、フラッシュメモリチップ130の記憶媒体に大容量のフラッシュメモリを使用すれば、多くのコンテンツを購入できる。 Further, by using the flash memory of a large capacity storage medium of the flash memory chip 130, you can buy a lot of content. 本発明によれば、コンテンツ配信におけるセキュリティ処理とコンテンツ蓄積の両方をMMC1 According to the present invention, both of the security process and the content storage in the content distribution MMC1
10によって容易に実現できる。 It can be easily realized by 10. コンテンツ料金の決済を、ICカードチップ150を利用して行ってもよい。 The settlement of the content fee, may be performed using the IC card chip 150. 【0026】図24と図25は、それぞれ、本発明をS [0026] FIGS. 24 and 25, respectively, the present invention S
Dカード(幅24ミリメートル、長さ32ミリメートル、厚さ2。1ミリメートルで、9つの外部端子をもち、フラッシュメモリを搭載した小型メモリカードである。)とメモリースティック(メモリースティックはソニー株式会社の登録商標である。)に適用したときの簡単な内部構成図を表したものである。 D card (width 24 mm, length 32 mm and a thickness of 2.1 mm, has nine external terminals, a small memory card having a flash memory.) And Memory Stick (Stick is Sony Corporation ® in a.) it illustrates a simple internal structure when applied to. 本発明を適用したSDカード2410は、SDカードコントローラチップ2420、フラッシュメモリチップ2430、SDカード外部端子2440、ICカードチップ150とを含む。 SD card 2410 according to the present invention includes a SD card controller chip 2420, a flash memory chip 2430, SD card external terminal 2440, IC card chip 150. 本発明を適用したメモリースティック2510は、 Memory Stick 2510 to which the present invention is applied,
メモリースティックコントローラチップ2520、フラッシュメモリチップ2530、メモリースティック外部端子2540、ICカードチップ150とを含む。 Memory Stick controller chip 2520, a flash memory chip 2530, and a memory stick external terminals 2540, IC card chip 150. フラッシュメモリチップ2430と2530は、不揮発性の半導体メモリを記憶媒体とするメモリチップであり、フラッシュメモリコマンドによりデータの読み書きができる。 A flash memory chip 2430 2530 is a memory chip that a non-volatile semiconductor memory as a storage medium can read and write data by a flash memory command. SDカードコントローラチップ2420とメモリースティックコントローラチップ2520はそれぞれSD Each SD card controller chip 2420 and the Memory Stick controller chip 2520 SD
カードとメモリースティック内の他の構成要素を制御するマイコンチップである。 A microcomputer chip for controlling the other components in the card and Memory Stick. 【0027】SDカード外部端子2440は9つの端子からなり、それらの位置は、端からData2端子24 The SD card external terminal 2440 is composed of nine terminals, their position is, Data2 terminal from the end 24
41、Data3端子2442、Com端子2443、 41, Data3 terminal 2442, Com terminal 2443,
Vss端子2444、Vdd端子2445、Clock Vss terminal 2444, Vdd terminal 2445, Clock
端子2446、Vss端子2447、Data0端子2 Terminal 2446, Vss terminal 2447, Data0 terminal 2
448、Data1端子2449の順で並んでいる。 448, Data1 are arranged in the order of terminal 2449. V
dd端子2445は電源供給端子、Vss端子2444 dd terminal 2445 is a power supply terminal, Vss terminal 2444
と2447はグランド端子、Data0端子2448とData1端子2449とData2端子2441とD If 2447 is a ground terminal, Data0 terminal 2448 and Data1 terminal 2449 and Data2 terminal 2441 and D
ata3端子2442はデータ入出力端子、Com端子2443はコマンド入出力端子、Clock端子244 ata3 terminal 2442 is data input and output terminals, Com terminal 2443 is command input and output pin, Clock pin 244
6はクロック入力端子である。 6 is a clock input terminal. SDカード2410は、 SD card 2410,
外部に接続するSDカードホスト機器2460とのインタフェース仕様にMMC110と違いがあるものの、M Although the interface specification of the SD card host device 2460 to connect to the outside there is a difference between MMC110, M
MC外部端子140と非常に類似した外部端子を持ち、 It has a very similar to the external terminal and MC external terminal 140,
MMC110と同様に外部からコマンドを発行することにより動作する特徴を持つため、本発明を適用することができる。 MMC110 and to have the features that operates by issuing a command from the outside as well, it is possible to apply the present invention. 【0028】一方、メモリースティック外部端子254 [0028] On the other hand, Memory Stick external terminal 254
0は10個の端子からなり、それらの位置は、端からG 0 consists of ten terminals and their positions, G from the edge
nd端子2541、BS端子2542、Vcc端子25 nd terminal 2541, BS terminal 2542, Vcc terminal 25
43、予約端子Rsvを1つ飛ばしてDIO端子254 43, DIO terminal 254 a reservation terminal Rsv 1 single skip by
4、INS端子2545、予約端子Rsvを1つ飛ばしてSCK端子2546、Vcc端子2547、Gnd端子2548の順で並んでいる。 4, INS terminal 2545, are arranged in the order of SCK terminal 2546, Vcc terminal 2547, Gnd terminal 2548 skip one reservation terminal Rsv. Vcc端子2543と2 Vcc terminal 2543 and 2
547は電源供給端子、Gnd端子2541と2548 547 is a power supply terminal, Gnd terminal 2541 and 2548
はグランド端子、DIO端子2544はコマンドおよびデータ入出力端子、SCK端子2546はクロック入力端子である。 Ground terminals, DIO terminal 2544 commands and data input and output terminals, SCK pin 2546 is a clock input pin. メモリースティック2510は、外部に接続するメモリースティックホスト機器2560とのインタフェース仕様にMMC110と違いがあるものの、M Memory Stick 2510, although the interface specifications of the Memory Stick host device 2560 to connect to the outside there is a difference between MMC110, M
MC110と同様に外部からコマンドを発行することにより動作する特徴を持つため、本発明を適用することができる。 MC110 and to have the feature that operates by issuing a command from the outside as well, it is possible to apply the present invention. 【0029】図1は、本発明を適用したMMCの詳細な内部構成図を表したものである。 [0029] Figure 1 illustrates a detailed internal configuration diagram of the MMC to which the invention is applied. また、図2は、図1のMMC110と接続したホスト機器220の構成とその接続状態を表したものである。 Also, FIG. 2 illustrates a configuration and connection state of the host device 220 connected with MMC110 in FIG. ホスト機器220は、V Host apparatus 220, V
CC1電源221、CLK1発振器222、ホストインタフェース223を持つ。 CC1 power 221, CLK1 oscillator 222, having a host interface 223. 【0030】MMC110は、外部のホスト機器220 [0030] MMC110 is, outside of the host device 220
と情報交換するためのMMC外部端子140を持つ。 With MMC external terminal 140 for the information exchange. M
MC外部端子140は、CS端子141、CMD端子1 MC external terminal 140, CS terminal 141, CMD terminal 1
42、GND1端子143および146、VCC1端子144、CLK1端子145、DAT端子147の7つの端子とを含む。 42, GND1 and a seven pin terminals 143 and 146, VCC1 terminal 144, CLK1 terminal 145, DAT terminal 147. MultiMediaCard仕様は、MMCの動作モードとしてMMCモードとSPIモードという2種類を規定しており、動作モードによってMMC外部端子140の使用法は異なる。 MultiMediaCard specification stipulates the MMC mode and two types of SPI mode as the operation mode of the MMC, use of MMC external terminal 140 according to the operating mode is different. 本実施例ではMMCモードでの動作の場合について詳細に説明する。 It will be described in detail for the case of operation in the MMC mode in this embodiment.
VCC1端子144は、VCC1電源221と接続されており、ホスト機器220がMMC110に電力を供給するための電源端子である。 VCC1 terminal 144 is connected to the VCC1 power source 221, a power supply terminal for the host apparatus 220 supplies power to the MMC 110. GND1端子143および146は、VCC1電源221と接続されており、MM GND1 terminals 143 and 146 is connected to the VCC1 power source 221, MM
C110の電気的なグランド端子である。 C110 is an electrical ground terminal. GND1端子143とGND1端子146は、MMC110内部で電気的に短絡されている。 GND1 terminals 143 and GND1 terminals 146 are electrically short-circuited internally MMC 110. CS端子141は、ホストインタフェース223に接続されており、SPIモードの動作において使用される入力端子である。 CS terminal 141 is connected to the host interface 223 is an input terminal to be used in the operation of the SPI mode. ホスト機器22 The host device 22
0が、MMC110にSPIモードでアクセスするときには、CS端子141にLレベルを入力する。 0, when accessing the SPI mode MMC110 inputs the L level to the CS terminal 141. MMCモードの動作では、CS端子141を使用する必要はない。 In the operation of the MMC mode, there is no need to use the CS terminal 141. CMD端子142は、ホストインタフェース223 CMD terminal 142, host interface 223
に接続されており、ホスト機器220が、メモリカードインタフェース仕様に準拠したメモリカードコマンドをMMC110に送信したり、同仕様に準拠したメモリカードレスポンスをMMC110から受信するために使用する入出力端子である。 Is connected to the host apparatus 220 is the output terminal to be used to send a memory card command that conforms to the memory card interface specifications to the MMC 110, in order to receive a memory card response which conforms to the specifications from the MMC 110 . DAT端子147は、ホストインタフェース223に接続されており、ホスト機器22 DAT terminal 147 is connected to the host interface 223, the host device 22
0が、メモリカードインタフェース仕様に準拠した形式の入力データをMMC110に送信したり、同仕様に準拠した形式の出力データをMMC110から受信するために使用する入出力端子である。 0 is an output terminal used to receive or to send the data in a format that conforms to the memory card interface specifications to the MMC 110, the output data in a format conforming to the specifications from the MMC 110. CLK1端子145 CLK1 terminal 145
は、CLK1発振器222に接続されており、CLK1 It is connected to the CLK1 oscillator 222, CLK1
発振器222が生成するクロック信号が入力される端子である。 A terminal to which a clock signal generator 222 generates is inputted. ホスト機器220が、CMD端子142を通してメモリカードコマンド、メモリカードレスポンスを送受信したり、DAT端子147を通してホストデータを送受信するときに、CLK1端子145にクロック信号が入力される。 The host apparatus 220, a memory card command through the CMD terminal 142, send and receive memory card response, when sending and receiving host data through DAT terminal 147, a clock signal is inputted to the CLK1 terminal 145. ホストインタフェース223には、CL To the host interface 223, CL
K1発振器222からクロック信号が供給されており、 And the clock signal is supplied from K1 oscillator 222,
メモリカードコマンド、メモリカードレスポンス、ホストデータは、CLK1発振器222が生成するクロック信号にビット単位で同期して、ホスト機器220とMM Memory card command, the memory card response, host data are synchronized in bit units to the clock signal CLK1 oscillator 222 generates, the host apparatus 220 and MM
C110との間を転送される。 It is transferred between the C110. 【0031】MMC110は、コントローラチップ12 [0031] MMC110, the controller chip 12
0を持つ。 With a 0. コントローラチップ120は、CPU12 The controller chip 120, CPU12
1、フラッシュメモリI/F制御回路122、MMCI 1, the flash memory I / F control circuit 122, MMC I
/F制御回路123、CLK0発振器124、VCC2 / F control circuit 123, CLK0 oscillator 124, VCC2
生成器125、VCC2制御回路126、CLK2制御回路127、ICカードI/F制御回路128とを含む。 And a generator 125, VCC2 control circuit 126, CLK2 control circuit 127, IC card I / F control circuit 128. これらの構成要素121〜128は、ホスト機器2 These components 121-128, the host device 2
20からVCC1端子144やGND1端子143、1 20 from VCC1 terminal 144 or the GND1 pin 143,
46を通して供給された電力により動作する。 Operated by electric power supplied through 46. MMCI MMCI
/F制御回路123は、CS端子141、CMD端子1 / F control circuit 123, CS terminal 141, CMD terminal 1
42、CLK1端子145、DAT端子147と接続されており、MMC110がそれらの端子を通してホスト機器220と情報交換するためのインタフェースを制御する論理回路である。 42, CLK1 terminal 145, is connected to the DAT terminal 147, a logic circuit which MMC110 controls an interface for exchanging information with the host apparatus 220 through their terminals. CPU121は、MMCI/F制御回路123と接続されており、MMCI/F制御回路123を制御する。 CPU121 is connected to the MMC I / F control circuit 123, controls the MMC I / F control circuit 123. MMCI/F制御回路123がCM MMCI / F control circuit 123 CM
D端子142を通してホスト機器220からメモリカードコマンドを受信すると、MMCI/F制御回路123 When the host device 220 through the D terminal 142 receives the memory card command, MMC I / F control circuit 123
はそのコマンドの受信が成功したかどうかの結果をホスト機器220に伝えるためCMD端子142を通してホスト機器220にレスポンスを送信する。 Sends a response via the CMD terminal 142 to the host apparatus 220 to convey the results of whether the reception of the command is successful to the host apparatus 220. CPU121 CPU121
は、受信したメモリカードコマンドを解釈し、コマンド内容に応じた処理を実行する。 Interprets the memory card command received, it performs a process corresponding to the command contents. また、そのコマンド内容に応じてホスト機器220とDAT端子147を通してデータの送受信をおこなう必要がある場合、CPU12 Further, when it is necessary to send and receive data through the host device 220 and the DAT terminal 147 in accordance with the command content, CPU 12
1は、MMCI/F制御回路123へのデータの送出、 1, the transmission of data to the MMC I / F control circuit 123,
MMCI/F制御回路123からのデータの取得をおこなう。 It acquires the data from the MMC I / F control circuit 123. さらに、CPU121は、MMCI/F制御回路123とホスト機器220との間のデータ転送手続きも制御する。 Further, CPU 121 also controls data transfer procedure between the MMC I / F control circuit 123 and the host apparatus 220. 例えば、ホスト機器220から受信したデータの処理中に、ホスト機器220がMMC110への電源供給を停止することがないように、CPU121はD For example, during the processing of the data received from the host device 220, so that the host device 220 is not able to stop the power supply to the MMC 110, CPU 121 is D
AT端子147にLレベルを出力させ、MMC110がビジー状態であることをホスト機器220に伝える。 The AT terminal 147 to output a L-level, convey that MMC110 is busy the host apparatus 220. C
LK0発振器124は、CPU121と接続され、CP LK0 oscillator 124 is connected to the CPU 121, CP
U121を動作させる駆動クロックを供給する。 It supplies a drive clock for operating the U 121. 【0032】MMC110は、フラッシュメモリチップ130を持つ。 [0032] MMC110 has a flash memory chip 130. フラッシュメモリチップ130は、不揮発性の半導体メモリを記憶媒体とするメモリチップである。 Flash memory chip 130 is a memory chip that a non-volatile semiconductor memory as a storage medium. フラッシュメモリチップ130は、ホスト機器22 Flash memory chip 130, the host device 22
0からVCC1端子144やGND1端子143、14 0 from VCC1 terminal 144 and GND1 terminal 143,14
6を通して供給された電力により動作する。 Operated by electric power supplied through 6. フラッシュメモリチップ130は、外部からのフラッシュメモリコマンドに従って、入力されたデータを不揮発性の半導体メモリに格納するライト機能、また同メモリに格納されたデータを外部に出力するリード機能を持つ。 Flash memory chip 130 in accordance with a flash memory command from the outside, the write function to store the input data in a nonvolatile semiconductor memory and has a read function of outputting the data stored in the memory to the outside. フラッシュメモリI/F制御回路122は、フラッシュメモリチップ130にフラッシュメモリコマンドを発行したり、 Flash memory I / F control circuit 122, or issues a flash memory command to the flash memory chip 130,
そのコマンドで入出力するデータを転送するための論理回路である。 A logic circuit for transferring data to be output by the command. CPU121は、フラッシュメモリI/F CPU121 is, flash memory I / F
制御回路122を制御し、フラッシュメモリチップ13 And controls the control circuit 122, a flash memory chip 13
0にデータのライト機能やリード機能を実行させる。 0 In order to perform the write function and read function of the data. ホスト機器220から受信したデータをフラッシュメモリチップ130にライトしたり、フラッシュメモリチップ130に格納されたデータをホスト機器220に送信する必要があるとき、CPU121は、フラッシュメモリI/F制御回路122とMMCI/F制御回路123の間のデータ転送を制御する。 Or write data received from the host apparatus 220 into the flash memory chip 130, when it is necessary to transmit the data stored in the flash memory chip 130 to the host apparatus 220, CPU 121 includes a flash memory I / F control circuit 122 controlling the data transfer between the MMC I / F control circuit 123. 【0033】MMC110は、ICカードチップ150 [0033] MMC110 is, IC card chip 150
を持つ。 have. ICカードチップ150は、ICカードの基板中に埋め込むことを目的として設計されたマイコンチップであり、ICカードの外部端子規格に準拠した8つの外部端子を持つ。 IC card chip 150 is a microcomputer chip which is designed to be embedded in the substrate of the IC card, with eight external terminals conforming to the external terminal standard of the IC card. このうち6つの端子は、ICカードの外部端子規格により使用法が割り付けられており、残りの2つは将来のための予備端子である。 Among the six terminals are usage is allocated by the external terminal standard of the IC card, and two are reserved terminal for the future. その6つの端子は、VCC2端子151、RST端子152、CLK2 Its six terminals, VCC2 terminal 151, RST terminal 152, CLK2
端子153、GND2端子155、VPP端子156、 Terminal 153, GND2 terminal 155, VPP terminal 156,
I/O端子157である。 It is an I / O terminal 157. 【0034】ICカードチップ150のグランド端子は、MMC外部端子140のGND1(グランド端子) The ground terminal of the IC card chip 150, GND1 of the MMC external terminal 140 (ground terminal)
146に接続される。 It is connected to the 146. ICカードチップ150のVCC VCC of the IC card chip 150
2端子(電源入力端子)151は、コントローラチップ120のVCC2制御回路126に接続される。 2 terminal (power input terminal) 151 is connected to the VCC2 control circuit 126 of the controller chip 120. ICカードチップ150のRST端子(リセット入力端子)1 RST terminal of the IC card chip 150 (reset input terminal) 1
52とI/O端子(データ入出力端子)157は、コントローラチップ120のICカードI/F制御回路12 52 and the I / O terminal (data input terminal) 157, IC card I / F control circuit 12 of the controller chip 120
8に接続される。 It is connected to the 8. ICカードチップ150のCLK2端子(クロック入力端子)153は、コントローラチップ120のCLK2制御回路127に接続される。 CLK2 terminal (clock input terminal) 153 of the IC card chip 150 is connected to the CLK2 control circuit 127 of the controller chip 120. 【0035】フラッシュメモリチップ130のVCC端子(電源入力端子)は、MMC外部端子140のVCC The VCC terminal of the flash memory chip 130 (power input terminal), VCC of MMC external terminal 140
1144に接続される。 It is connected to the 1144. フラッシュメモリチップ130 Flash memory chip 130
のVSS端子(グランド端子)は、MMC外部端子14 Of the VSS terminal (ground terminal), MMC external terminal 14
0のGND1146に接続される。 It is connected to the GND1146 of 0. フラッシュメモリチップ130のI/O端子(データ入出力端子)とレディ/ビジー端子とチップイネーブル端子とアウトプットイネーブル端子とライトイネーブル端子とクロック端子とリセット端子とは、コントローラチップ120のフラッシュメモリIF制御回路122に接続される。 I / O pins of the flash memory chip 130 (data input terminal) and a ready / busy terminal and the chip enable terminal and an output enable terminal and a write enable terminal and a clock terminal and a reset terminal, a flash memory IF control of the controller chip 120 It is connected to a circuit 122. 【0036】VCC2端子151は、ICカードチップ150に電力を供給するための電源端子である。 The VCC2 terminal 151 is a power supply terminal for supplying power to the IC card chip 150. VCC VCC
2制御回路126は、MOS−FET素子を用いたスイッチ回路によりVCC2端子151への電力の供給開始と供給停止を制御する回路である。 2 control circuit 126 is a circuit for controlling the supply start and supply stop of electric power to the VCC2 terminal 151 by a switch circuit using a MOS-FET device. VCC2生成器12 VCC2 generator 12
5はVCC2端子151に供給する電圧を発生し、それをVCC2制御回路126に供給する。 5 generates a voltage supplied to the VCC2 terminal 151 and supplies it to the VCC2 control circuit 126. ICカードの電気信号規格はICカードの動作クラスとしてクラスAとクラスBを規定している。 IC card electrical signal standard defines an Class A and Class B as operation classes of the IC card. VCC2端子151に供給する標準電圧は、クラスAでは5V、クラスBでは3Vである。 Standard voltage supplied to the VCC2 terminal 151 is a class A at 5V, the Class B 3V. 本発明はICカードチップ150の動作クラスによらず適用できるが、本実施例ではICカードチップ1 While the present invention is applicable regardless of the operation class of the IC card chip 0.99, IC card chip 1 in this embodiment
50がクラスBで動作する場合について詳細に説明する。 50 will be described in detail when operating in Class B. VPP端子156は、ICカードチップ150がクラスAで動作する時に、内部の不揮発性メモリにデータを書き込んだり消去したりするために使用される可変電圧を供給する端子であり、クラスBで動作する時には使用しない。 VPP terminal 156, IC card chip 150 when operating in class A, a terminal for supplying a variable voltage which is used to being written or erased data inside the non-volatile memory, operating at Class B sometimes it does not use. GND2端子155は、ICカードチップ1 GND2 terminal 155, IC card chip 1
50の電気的なグランド端子であり、GND1端子14 It is a 50 electrical ground terminal, GND1 terminal 14
3、146と短絡されている。 3,146 to have been short-circuited. VCC2制御回路126 VCC2 control circuit 126
はCPU121と接続され、CPU121はVCC2端子151への電力供給の開始と停止を制御することができる。 Is connected to the CPU 121, CPU 121 can control the start and stop of power supply to the VCC2 terminal 151. ICカードチップ150を使用しないときは、C When you are not using the IC card chip 150, C
PU121はVCC2端子151への電力供給を停止することができる。 PU121 can stop the power supply to the VCC2 terminal 151. MMC110は、ICカードチップ1 MMC110 is, IC card chip 1
50への電力供給を停止することにより、それが消費する電力を節約することができる。 By stopping the power supply to 50, it is possible to save power which it consumes. ただし、電力供給を停止すると、ICカードチップ150の内部状態は、IC However, when stopping the power supply, the internal state of the IC card chip 150, IC
カードチップ150内部の不揮発性メモリに記憶されたデータを除いて維持されない。 Not maintained except for the data stored in the card chip 150 internal nonvolatile memory. 【0037】CLK2端子153は、ICカードチップ150にクロック信号を入力する端子である。 The CLK2 terminal 153 is a terminal for inputting a clock signal to the IC card chip 150. 【0038】CLK2制御回路127は、CLK2端子153にクロックを供給する回路である。 The CLK2 control circuit 127 is a circuit for supplying a clock to the CLK2 terminal 153. CLK2制御回路127は、CLK0発振器124から供給されたクロック信号をもとにしてCLK2端子153に供給するクロック信号を生成する。 CLK2 control circuit 127 generates a clock signal which is supplied to the CLK2 terminal 153 based on a clock signal supplied from the CLK0 oscillator 124. CLK2制御回路127はC CLK2 control circuit 127 C
PU121と接続されており、CLK2端子153へのクロックの供給開始と供給停止をCPU121から制御することができる。 PU121 is connected to the can control the supply start and supply stop of a clock to the CLK2 terminal 153 from the CPU 121. ICカードチップ150は、自身内部に駆動クロック発振器をもたない。 IC card chip 150 does not have its own internal to the drive clock oscillator. そのため、CLK Therefore, CLK
2端子153から駆動クロックを供給することによって動作する。 Operated by supplying the drive clock from two terminals 153. CLK2制御回路127が、CLK2端子1 CLK2 control circuit 127, CLK2 terminal 1
53へのクロック供給を停止すると、ICカードチップ150の動作は停止するため、ICカードチップ150 When stopping the clock supply to 53, since the operation of the IC card chip 150 stops, the IC card chip 150
の消費電力を低下させることができる。 Power consumption can be reduced. この時、VCC At this time, VCC
2端子151への電力供給が保たれていれば、ICカードチップ150の内部状態は維持される。 If the power supply to the two terminals 151 is maintained, the internal state of the IC card chip 150 is maintained. ここで、CL Here, CL
K2端子153に供給するクロック信号の周波数をF F the frequency of the supplied clock signal to the K2 terminal 153
2、CLK0発振器124から供給されたクロック信号の周波数をF0、PとQを正の整数とすると、CLK2 2, when the the F0, P and Q frequency of the supplied clock signal from the CLK0 oscillator 124 is a positive integer, CLK2
制御回路127は、F2=(P/Q)*F0の関係になるようなクロック信号を作成して、これをCLK2端子153に供給する。 The control circuit 127 creates a clock signal such that the relationship F2 = (P / Q) * F0, and supplies it to the CLK2 terminal 153. PとQの値はCPU121により設定できるようになっている。 The value of P and Q is adapted to be set by the CPU121. Pを大きく設定してF2を大きくすると、ICカードチップ150の内部処理をより高速に駆動できる。 Increasing the F2 is set larger the P, it can drive the internal processing of the IC card chip 150 at a higher speed. Qを大きく設定してF2を小さくすると、ICカードチップ150の内部処理はより低速に駆動され、ICカードチップ150の消費電力を低下させることができる。 If set larger the Q to reduce the F2, the internal processing of the IC card chip 150 is driven at a lower speed, the power consumption of the IC card chip 150 can be reduced. ICカードチップ150の駆動クロック周波数は、ICカードチップ150が正しく動作できるような許容周波数範囲内に設定される必要がある。 Driving clock frequency of the IC card chip 150 needs to IC card chip 150 is set within the allowable frequency range can operate correctly. そのため、CLK2制御回路127は、F2の値がその許容周波数範囲を外れるようなPとQの値を設定させない特徴を持つ。 Therefore, CLK2 control circuit 127 has a characteristic that the value of F2 is not set the values ​​of P and Q, such as outside the allowable frequency range. 【0039】I/O端子157は、ICカードチップ1 [0039] I / O terminal 157, IC card chip 1
50にICカードコマンドを入力したり、ICカードチップ150がICカードレスポンスを出力するときに使用する入出力端子である。 To enter the IC card command to 50, the IC card chip 150 is input and output terminal to use when outputting the IC card response. ICカードI/F制御回路1 IC card I / F control circuit 1
28は、I/O端子157と接続されており、I/O端子157を通してICカードコマンドの信号送信やIC 28 is connected to the I / O terminal 157, the signal transmission and IC of the IC card command through the I / O pin 157
カードレスポンスの信号受信をおこなう回路である。 A circuit for signal reception card response. I
CカードI/F制御回路128はCPU121に接続されており、CPU121は、ICカードI/F制御回路128によるICカードコマンドやICカードレスポンスの送受信の手続きを制御したり、送信すべきICカードコマンドデータをICカードI/F制御回路128に設定したり、受信したICカードレスポンスをICカードI/F制御回路128から取得する。 C card I / F control circuit 128 is connected to CPU 121, CPU 121 is to control the procedure of the IC card command and the IC card receiving the response by the IC card I / F control circuit 128, an IC card command to be transmitted retrieve data and set in the IC card I / F control circuit 128, the IC card response received from the IC card I / F control circuit 128. ICカードI/ IC card I /
F制御回路128にはCLK2制御回路127からクロックが供給されており、ICカードコマンドやICカードレスポンスは、CLK2端子153に供給するクロック信号にビット単位で同期して、I/O端子157を通して送受信される。 The F control circuit 128 is supplied with clocks from the CLK2 control circuit 127, an IC card command and the IC card response is synchronized in bit units to the clock signal supplied to the CLK2 terminal 153, transmission and reception through the I / O pin 157 It is. また、RST端子152は、ICカードチップ150をリセットするときにリセット信号を入力する端子である。 Furthermore, RST terminal 152 is a terminal for inputting a reset signal to reset the IC card chip 150. ICカードI/F制御回路128 IC card I / F control circuit 128
は、RST端子152と接続されており、CPU121 Is connected to the RST terminal 152, CPU 121
の指示によりICカードチップ150にリセット信号を送ることができる。 It can send a reset signal to the IC card chip 150 by an instruction. 【0040】ICカードチップ150は、ICカードの電気信号規格やコマンド規格に基づいて情報交換をおこなう。 The IC card chip 150 exchanges information on the basis of the electric signal standard or command standard of the IC card. ICカードチップ150へのアクセスパターンは4種類であり、図3〜図6を用いて各パターンを説明する。 Access patterns to the IC card chip 150 is four, each pattern will be described with reference to FIGS. 図3は、CPU121の指示によりICカードチップ150が非活性状態(電源が遮断されている状態)から起動して内部状態を初期化するプロセス(以下、コールドリセットと呼ぶ)において、ICカードチップ15 3, the IC card chip 150 is inactivated by an instruction CPU121 processes for initializing the internal state by starting from (when the power is cut off) (hereinafter, referred to as cold reset), the IC card chip 15
0の外部端子の信号波形をシンプルに表したものである。 Signal waveforms at the external terminals of 0 is a representation simple. 図4は、CPU121の指示によりICカードチップ150が活性状態(電源が供給されている状態)で内部状態を初期化するプロセス(以下、ウォームリセットと呼ぶ)において、ICカードチップ150の外部端子の信号波形をシンプルに表したものである。 Figure 4 is a process of the IC card chip 150 by an instruction of CPU121 initializes the internal state in an active state (state in which power is supplied) (hereinafter, warm reset hereinafter) in, the external terminals of the IC card chip 150 It illustrates a signal waveform simple. 図5は、C 5, C
PU121の指示によりICカードチップ150にIC IC to the IC card chip 150 according to the instruction of the PU121
カードコマンドを送信しICカードチップ150からI I from the IC card chip 150 to send the card command
Cカードレスポンスを受信するプロセスにおいて、IC In the process of receiving the C card response, IC
カードチップ150の外部端子の信号波形をシンプルに表したものである。 It illustrates a signal waveforms at the external terminals of the card chip 150 simple. 図6は、CPU121の指示によりICカードチップ150を非活性状態にするプロセスにおいて、ICカードチップ150の外部端子の信号波形をシンプルに表したものである。 6, in the process of the IC card chip 150 by an instruction of the CPU121 inactive illustrates a signal waveforms at the external terminals of the IC card chip 150 simple. 図3〜図6において、 In FIGS. 3 to 6,
時間の方向は左から右にとっており、上の行から下の行に向かってVCC2端子151、RST端子152、C Direction of time is taken from left to right, VCC2 terminal 151 from the top row toward the line below, RST terminal 152, C
LK2端子153、I/O端子157で観測される信号を表す。 LK2 terminal 153 represents a signal observed at the I / O terminal 157. また、破線はそれぞれの信号の基準(Lレベル)を表す。 A broken line represents the reference of the respective signal (L level). 【0041】図3を参照して、ICカードチップ150 [0041] Referring to FIG. 3, IC card chip 150
のコールドリセット操作を説明する。 To explain the cold reset operation. まず、ICカードI/F制御回路128はRST端子152をLレベルにする(301)。 First, IC card I / F control circuit 128 sets the RST terminal 152 to the L level (301). 次に、VCC2制御回路126はVC Next, VCC2 control circuit 126 VC
C2端子への電源供給を開始する(302)。 It starts supplying power to the C2 pin (302). 次に、C Then, C
LK2制御回路127はCLK2端子153へのクロック信号の供給を開始する(303)。 LK2 control circuit 127 starts supplying the clock signal to the CLK2 terminal 153 (303). 次に、ICカードI/F制御回路128はI/O端子157を状態Z(プルアップされた状態)にする(304)。 Then, IC card I / F control circuit 128 sets the I / O terminal 157 to a state Z (pulled-up state) (304). 次に、ICカードI/F制御回路128はRST端子152をHレベルにする(305)。 Then, IC card I / F control circuit 128 sets the RST terminal 152 to the H level (305). 次に、ICカードI/F制御回路128はI/O端子157から出力されるリセット応答の受信を開始する(306)。 Then, IC card I / F control circuit 128 starts the reception of the reset response outputted from the I / O terminal 157 (306). リセット応答の受信が終了したら、CLK2制御回路127はCLK2端子15 When receiving the reset response is completed, CLK2 control circuit 127 CLK2 terminal 15
3へのクロック信号の供給を停止する(307)。 Stopping the supply of the clock signal to 3 (307). これで、コールドリセットの操作が完了する。 Now, the operation of the cold reset is completed. なお、ステップ307は消費電力を低下させるための工夫であり、省略してもよい。 Note that step 307 is a device to reduce the power consumption, it may be omitted. 【0042】図4を参照して、ICカードチップ150 [0042] Referring to FIG. 4, IC card chip 150
のウォームリセット操作を説明する。 To explain the warm reset operation. まず、CLK2制御回路127はCLK2端子153へのクロック信号の供給を開始する(401)。 First, CLK2 control circuit 127 starts supplying the clock signal to the CLK2 terminal 153 (401). 次に、ICカードI/F制御回路128はRST端子152をLレベルにする(4 Then, IC card I / F control circuit 128 sets the RST terminal 152 to the L level (4
02)。 02). 次に、ICカードI/F制御回路128はI/ Then, IC card I / F control circuit 128 I /
O端子157を状態Zにする(403)。 The O terminal 157 into a state Z (403). 次に、ICカードI/F制御回路128はRST端子152をHレベルにする(404)。 Then, IC card I / F control circuit 128 sets the RST terminal 152 to the H level (404). 次に、ICカードI/F制御回路128はI/O端子157から出力されるリセット応答の受信を開始する(405)。 Then, IC card I / F control circuit 128 starts the reception of the reset response outputted from the I / O terminal 157 (405). リセット応答の受信が終了したら、CLK2制御回路127はCLK2端子15 When receiving the reset response is completed, CLK2 control circuit 127 CLK2 terminal 15
3へのクロック信号の供給を停止する(406)。 Stopping the supply of the clock signal to 3 (406). これで、ウォームリセットの操作が完了する。 Now, warm reset operation is completed. なお、ステップ406は消費電力を低下させるための工夫であり、省略してもよい。 Note that step 406 is a device to reduce the power consumption, it may be omitted. 【0043】図5を参照して、ICカードチップ150 [0043] Referring to FIG. 5, IC card chip 150
にICカードコマンドを送信しICカードチップ150 It sends the IC card command to the IC card chip 150
からICカードレスポンスを受信する操作を説明する。 The operation to receive the IC card response from the description.
まず、CLK2制御回路127はCLK2端子153へのクロック信号の供給を開始する(501)。 First, CLK2 control circuit 127 starts supplying the clock signal to the CLK2 terminal 153 (501). なお、クロックがすでに供給されている場合、ステップ501は不要である。 Incidentally, if the clock has already been supplied, step 501 is unnecessary. 次に、ICカードI/F制御回路128はI/O端子157にコマンドデータの送信を開始する(502)。 Then, IC card I / F control circuit 128 starts the transmission of the command data to the I / O terminal 157 (502). コマンドデータの送信が終了したら、IC When the transmission of the command data is completed, IC
カードI/F制御回路128はI/O端子157を状態Zにする(503)。 Card I / F control circuit 128 sets the I / O terminal 157 to the state Z (503). 次に、ICカードI/F制御回路128はI/O端子157から出力されるレスポンスデータの受信を開始する(504)。 Then, IC card I / F control circuit 128 starts the reception of the response data output from the I / O terminal 157 (504). レスポンスデータの受信が終了したら、CLK2制御回路127はCLK2 After receiving the response data is completed, CLK2 control circuit 127 CLK2
端子153へのクロック信号の供給を停止する(50 Stops supplying the clock signal to the terminal 153 (50
5)。 5). これで、ICカードコマンド送信とICカードレスポンス受信の操作が完了する。 Now, operation of the IC card command transmission and the IC card response reception is completed. なお、ステップ505 It should be noted that, step 505
は、消費電力を低下させるための工夫であり、省略してもよい。 Is a device to reduce the power consumption, may be omitted. 【0044】図6を参照して、ICカードチップ150 [0044] Referring to FIG. 6, IC card chip 150
を非活性化する操作を説明する。 Will be described an operation to deactivate. まず、CLK2制御回路127はCLK2端子153をLレベルにする(60 First, CLK2 control circuit 127 to the CLK2 terminal 153 to the L level (60
1)。 1). 次に、ICカードI/F制御回路128はRST Then, IC card I / F control circuit 128 RST
端子152をLレベルにする(602)。 The terminal 152 to the L level (602). 次に、ICカードI/F制御回路128はI/O端子157をLレベルにする(603)。 Then, IC card I / F control circuit 128 sets the I / O terminal 157 to the L level (603). 最後に、VCC2制御回路126 Finally, VCC2 control circuit 126
はVCC2端子への電源供給を停止する(604)。 Stops the power supply to the VCC2 terminal (604). これで、非活性化の操作が完了する。 Now, operation of the deactivation is complete. 【0045】ICカードチップ150は、機密データ保護や個人認証などに必要な暗号演算をおこなうセキュリティ処理機能を持つ。 The IC card chip 150 has a security processing function for performing cryptographic operations required, such as protection of secret data, personal authentication. ICカードチップ150は、CP IC card chip 150, CP
U121との間でICカードコマンドやICカードレスポンスの送受信することにより情報交換をおこない、その結果として、計算の結果や記憶されている情報の送出、記憶されている情報の変更などをおこなう。 Exchange information by transmitting and receiving the IC card command and the IC card response with the U 121, as a result, transmission of information which is the result and stores the calculation is carried out and change the information stored. CPU CPU
121は、ICカードチップ150を利用してセキュリティ処理を実行することができる。 121 may perform the security process by using the IC card chip 150. MMC110がホスト機器220から特定のメモリカードコマンドを受信すると、CPU121はそれを契機として、VCC2制御回路126を通してICカードチップ150への電源供給を制御したり、またはCLK2制御回路127を通してICカードチップ150へのクロック供給を制御したり、またはICカードI/F制御回路128を通してI When MMC110 receives a specific memory card command from the host apparatus 220, CPU 121 is triggered it, VCC2 control circuit to control the power supply to the IC card chip 150 through 126 IC card chip 150 or through the CLK2 control circuit 127, and controls the clock supply to, or I through IC card I / F control circuit 128
Cカードチップ150にICカードコマンドを送信する。 To send the IC card command to the C card chip 150. これにより、CPU121は、ICカードチップ1 Thus, CPU121 is, IC card chip 1
50を利用して、ホスト機器220が要求するセキュリティ処理を実行する。 Using 50 executes the security process by the host device 220 requires. CPU121は、特定のメモリカードコマンドの受信を契機に、ICカードチップ150 CPU121 is triggered by the reception of the specific memory card command, IC card chip 150
に対する電源供給制御、クロック供給制御、ICカードコマンド送信、ICカードレスポンス受信を複数組み合わせて操作することによって、セキュリティ処理を実行してもよい。 Power supply control for the clock supply control, IC card command transmission, by operating by combining a plurality of IC card response received may perform security processing. また、CPU121は、ホスト機器220 In addition, CPU121 is, the host device 220
がMMC110へ電源供給を開始したのを契機として、 But as a trigger for the start of the power supply to the MMC110,
セキュリティ処理を実行してもよい。 Security processing may be the execution. セキュリティ処理の結果は、ICカードチップ150が出力するICカードレスポンスをベースにして構成され、MMC110内に保持される。 Security processing results, the IC card response IC card chip 150 outputs is constructed in the base, it is held in the MMC 110. MMC110がホスト機器220から特定のメモリカードコマンドを受信すると、CPU121 When MMC110 receives a specific memory card command from the host apparatus 220, CPU 121
はそれを契機として、セキュリティ処理の結果をホスト機器220に送信する。 It is triggered it, and transmits the result of the security process to the host apparatus 220. 【0046】図7は、ホスト機器220がMMC110 [0046] FIG. 7, the host device 220 is MMC110
にアクセスするときのフローチャートを表したものである。 It illustrates a flow chart of when accessing. まず、ホスト機器220はMMC110を活性化するためにVCC1端子144に電源供給を開始する(7 First, the host device 220 starts supplying power to the VCC1 terminal 144 in order to activate the MMC 110 (7
01)。 01). これを契機として、MMC110は、第1次I This opportunity, MMC 110 is the primary I
Cカード初期化処理を実行する(702)。 Performing a C card initializing process (702). 第1次IC The first-order IC
カード初期化処理の詳細は後述する。 For more information on the card initialization process will be described later. 次に、ホスト機器220はMMC110を初期化するためにCMD端子1 Next, the host apparatus 220 is the CMD terminal 1 in order to initialize the MMC110
42を通してMMC110の初期化コマンドを送信する(703)。 42 through transmitting the initialization command MMC 110 (703). この初期化コマンドはMultiMedi This initialization command MultiMedi
aCard仕様に準拠したものであり、複数種類ある。 Are those that conform to the aCard specification, there is a plurality of types.
ホスト機器220は、MMC110を初期化するために、複数の初期化コマンドを送信する場合がある。 The host apparatus 220 in order to initialize the MMC 110, there is a case of transmitting a plurality of initialization commands. MM MM
C110が初期化コマンドを受信すると、MMC110 When the C110 receives the initialization command, MMC110
はそれを処理する(704)。 It processes it (704). これを契機として、MM As a response to this, MM
C110は、第2次ICカード初期化処理を実行する(705)。 C110 executes the secondary IC card initializing process (705). 第2次ICカード初期化処理の詳細は後述する。 Details of the secondary IC card initializing process will be described later. ホスト機器220は、MMC110の初期化コマンドに対するメモリカードレスポンスを、CMD端子1 The host apparatus 220, a memory card response to the initialization command MMC 110, CMD terminal 1
42を通して受信し、そのメモリカードレスポンスの内容からMMC110の初期化が完了したかを判定する。 Receiving through 42 determines whether initialization of MMC110 from the contents of the memory card response is completed.
未完了ならば、再び初期化コマンドの送信をおこなう(703)。 If not completed, and transmits the initialization command again (703). MMC110の初期化が完了したならば、 If the initialization of MMC110 has been completed,
ホスト機器220は、MultiMediaCard仕様に準拠した標準メモリカードコマンド(フラッシュメモリチップ130へアクセスするためのコマンド)や、 The host apparatus 220, (command for accessing the flash memory chip 130) standard memory card command that conforms to the MultiMediaCard specifications and,
上に述べたセキュリティ処理に関連した特定のメモリカードコマンド(ICカードチップ150へアクセスするためのコマンド)の送信を待機する状態に移る(70 Moves to a state of waiting for delivery of a specific memory card command related to security processing described above (command for accessing the IC card chip 150) (70
7)。 7). この待機状態では、ホスト機器220は標準メモリカードコマンドを送信することができる(708)。 In this standby state, the host apparatus 220 can transmit the standard memory card command (708).
MMC110が標準メモリカードコマンドを受信したら、MMC110はそれを処理する(709)。 MMC110 is When you receive the standard memory card command, MMC110 processes it (709). 処理が完了したら、ホスト機器220は、再び待機状態にもどる(707)。 When the process is complete, the host device 220 is returned to the waiting mode again (707). この待機状態では、ホスト機器220はセキュリティ処理要求ライトコマンドを送信することもできる(710)。 In this standby state, the host apparatus 220 can also transmit a security processing request write command (710). セキュリティ処理要求ライトコマンドとは、上に述べたセキュリティ処理に関連した特定のメモリカードコマンドの1種であり、MMC110にセキュリティ処理を実行させるために処理要求を送信するメモリカードコマンドである。 The security processing request write command is one kind of specific memory card commands related to security processing described above, a memory card command for transmitting a processing request in order to execute the security process in the MMC 110. MMC110がセキュリティ処理要求ライトコマンドを受信したら、CPU12 MMC110 is When you receive the security processing request write command, CPU12
1は、要求されたセキュリティ処理の内容を解釈し、セキュリティ処理をICカードコマンドの形式で記述する(711)。 1 interprets the requested contents of the security process, which describes the security process in the form of IC card command (711). 即ち、CPU121は、予め定められたルールに従って、ホスト機器230からの標準メモリカードコマンドを、ICカードチップ150が解釈可能な特定のメモリカードコマンドへ変換する。 That, CPU 121 in accordance with a predetermined rule, the standard memory card command from the host device 230, converts the IC card chip 150 is given which can be interpreted to the memory card command. そして、その結果として得られたICカードコマンドをICカードチップ150に発行するなどして、要求されたセキュリティ処理を実行する(712)。 Then, using a method such as issuing an IC card command obtained as a result to the IC card chip 150, executes the requested security processing (712). 処理が完了したら、ホスト機器220は、再び待機状態にもどる(707)。 When the process is complete, the host device 220 is returned to the waiting mode again (707). この待機状態では、ホスト機器220はセキュリティ処理結果リードコマンドを送信することもできる(713)。 In this standby state, the host apparatus 220 can also transmit a security processing result read command (713).
セキュリティ処理結果リードコマンドとは、上に述べたセキュリティ処理に関連した特定のメモリカードコマンドの1種であり、MMC110によるセキュリティ処理の実行結果を知るために処理結果を受信するメモリカードコマンドである。 The security processing result read command is one kind of specific memory card commands related to security processing described above, a memory card command for receiving a processing result to know the execution result of the security process by the MMC 110. MMC110がセキュリティ処理結果リードコマンドを受信したら、CPU121は、IC MMC110 is When you receive the security processing result read command, CPU121 is, IC
カードチップ150から受信したICカードレスポンスをベースに、ホスト機器220に送信すべきセキュリティ処理結果を構築する(714)。 Based on IC card response received from the card chip 150 constructs the security processing result to be transmitted to the host apparatus 220 (714). そして、ホスト機器220は、MMC110からセキュリティ処理結果を受信する。 Then, the host apparatus 220 receives the security processing result from the MMC 110. 受信が完了したら、ホスト機器220は、再び待機状態にもどる(707)。 When receiving is complete, the host apparatus 220 is returned to the waiting mode again (707). なお、ステップ714 It should be noted that, step 714
は、ステップ712の中でおこなってもよい。 It may be performed in step 712. 【0047】図7において、ステップ702およびステップ705で実行する第1次ICカード初期化処理および第2次ICカード初期化処理は、MMC110内でセキュリティ処理を実行するのに備えて、CPU121がICカードチップ150に対してアクセスする処理である。 [0047] In FIG. 7, the primary IC card initializing process and the secondary IC card initializing process is executed in step 702 and step 705, in preparation for executing the security process in the MMC 110, CPU 121 is IC it is a process of accessing to the card chip 150. 具体的には、ICカードチップ150の活性化や非活性化、ICカードチップ150のリセット、ICカードチップ150の環境設定を行う。 Specifically, activation and deactivation of the IC card chip 150, the reset of the IC card chip 150, the configuration of the IC card chip 150 performs. 環境設定とは、セキュリティ処理を実行するために必要な情報(例えば、使用可能な暗号アルゴリズムの情報、暗号計算に使用する秘密鍵や公開鍵に関する情報、個人認証に使用する認証データに関する情報など)をICカードチップ150から読み出したり、あるいはICカードチップ150に書き込んだりすることを意味する。 Preferences and the information required to perform the security processing (for example, information about the available encryption algorithm, information about the secret key and the public key used to encrypt the calculation, such as information about the authentication data to be used for personal authentication) the or read from the IC card chip 150, or it means to write to the IC card chip 150. ICカードチップ15 IC card chip 15
0の環境設定は、ICカードチップ150にICカードコマンドをN個(Nは正の整数)発行することによっておこなう。 0 preferences, N pieces of the IC card command to the IC card chip 0.99 (N is a positive integer) performed by issuing. 例えば、セッション鍵が3個必要ならば、I For example, if the session key is three need, I
Cカードコマンドを3回発行し、セッション鍵が2個必要ならば、ICカードコマンドを2回発行する。 Issue 3 times the C card command, the session key is if two necessary, to issue twice the IC card command. N個のICカードコマンドは、互いに相違するものであってもよいし、同一のものであってもよい。 N number of the IC card command, may be one different from each other, may be identical. Nの値は固定されたものではなく、状況によってさまざまな値となる。 The value of N is not fixed, and various values ​​depending on the situation. 以下、環境設定で発行するICカードコマンドを、設定コマンドと呼ぶ。 Below, the IC card command to be issued in the preferences, referred to as the set command. また、この環境設定に基づいてセキュリティ処理を実行するICカードコマンドを、以下、セキュリティコマンドと呼ぶ。 Further, the IC card command for executing the security process on the basis of the environment setting, hereinafter referred to as security command. セキュリティコマンドの例としては、デジタル署名の計算、デジタル署名の検証、メッセージの暗号化、暗号化メッセージの復号、パスワードによる認証などをおこなうコマンドがある。 Examples of security command, computation of a digital signature, digital signature verification, message encryption, decryption of the encrypted message, there is a command to perform an authentication using a password. 【0048】CPU121は、ICカードチップ150 The CPU121 is, IC card chip 150
の環境設定の内容を自由に変更することができる。 It is possible to change the contents of the environment setting freely. CP CP
U121は、セキュリティ処理の内容や結果に応じてこれを変更してもよいし、ホスト機器からのメモリカードコマンドの受信を契機としてこれを変更してもよい。 U121 may be changed it according to the contents and results of the security process, may be changed as a response to the reception of the memory card command from the host device. また、CPU121は、環境設定の内容を示した情報をフラッシュメモリチップ130にライトし、必要なときにフラッシュメモリチップ130からその情報をリードして使用することもできる。 Further, CPU 121 may write the information showing the contents of the environment setting into the flash memory chip 130, from the flash memory chip 130 when needed can be used to lead the information. この情報は、図21においてICカード環境設定情報2112として示されている。 This information is shown as IC card environment setting information 2112 in FIG. 21.
これにより、MMC110が非活性化されてもその情報を保持することができ、MMC110が活性化されるたびにあらためて設定する手間を省くことができる。 Thus, MMC 110 is be deactivated can hold the information, it is possible to save labor of new setting necessary each time the MMC 110 is activated. 【0049】第1次ICカード初期化処理および第2次ICカード初期化処理は、ICカード制御パラメータA、B、Cに設定された値に基づいておこなわれる。 The primary IC card initializing process and the secondary IC card initializing process, the IC card control parameter A, B, is performed based on the value set in C. また、CPU121は、ステップ712で実行するセキュリティ処理において、ICカード制御パラメータDに設定された値に基づいてICカードチップ150の活性化や非活性化を制御する。 Further, CPU 121 is in the security process performed in step 712, controls the activation and deactivation of the IC card chip 150 based on the values ​​set in IC card control parameter D. 図8は、ICカード制御パラメータの種類と設定値、それに対応した処理の内容を表している。 Figure 8 represents the type and settings of the IC card control parameter, the contents of processes corresponding thereto. まず、パラメータAは、MMC110に電源が供給されたときに実行される第1次ICカード初期化処理に関するパラメータである。 First, the parameter A is a parameter regarding the primary IC card initializing process which is executed when the power is supplied to the MMC 110. A=0のときは、CPU When the A = 0, CPU
121はICカードチップ150にアクセスしない。 121 has no access to the IC card chip 150. A
=1のときは、CPU121はICカードチップ150 = When the 1, CPU121 the IC card chip 150
をコールドリセットする。 A cold reset. A=2のときは、CPU12 When the A = 2, CPU12
1はICカードチップ150をコールドリセットした後でICカードチップ150の環境設定をおこなう。 1 performs configuration of the IC card chip 150 of the IC card chip 150 after a cold reset. A= A =
3のときは、CPU121はICカードチップ150をコールドリセットした後でICカードチップ150の環境設定をおこない、最後にICカードチップ150を非活性化する。 When 3, CPU 121 performs a configuration of the IC card chip 150 of the IC card chip 150 after a cold reset, inactivates the IC card chip 150 finally. A=0またはA=3のときは、第1次IC When the A = 0 or A = 3, the first-order IC
カード初期化処理のあとICカードチップ150が非活性状態となる。 After the IC card chip 150 of the card initializing process becomes inactive. A=1またはA=2のときは、第1次I When the A = 1 or A = 2, the primary I
Cカード初期化処理のあとICカードチップ150は活性状態となる。 After the IC card chip 150 of the C card initializing process is activated. 次に、パラメータBとCは、MMC11 Then, the parameters B and C, MMC11
0がMMC初期化コマンドを処理したときに実行される第2次ICカード初期化処理に関するパラメータである。 0 is a parameter related to the secondary IC card initializing process which is executed when processing the MMC initializing command. B=0のときは、CPU121はICカードチップ150にアクセスしない。 When the B = 0, CPU 121 does not access the IC card chip 150. B=1かつC=1のときは、 When B = 1 and C = 1,
CPU121はICカードチップ150をリセット(コールドリセットまたはウォームリセット)する。 CPU121 resets the IC card chip 150 (cold or warm reset). B=1 B = 1
かつC=2のときは、CPU121はICカードチップ150をリセットした後でICカードチップ150の環境設定をおこなう。 And when the C = 2, CPU 121 performs the configuration of the IC card chip 150 after resetting the IC card chip 150. B=1かつC=3のときは、CPU When B = 1 and C = 3, CPU
121はICカードチップ150をリセットした後でI 121 I after resetting the IC card chip 150
Cカードチップ150の環境設定をおこない、最後にI Set the environment of C card chip 150, the last I
Cカードチップ150を非活性化する。 Deactivating the C card chip 150. B=2かつC= B = 2 and C =
2のときは、CPU121はICカードチップ150の環境設定をおこなう。 When the 2, CPU 121 performs the configuration of the IC card chip 150. B=2かつC=3のときは、CP When B = 2 and C = 3, CP
U121はICカードチップ150の環境設定をおこなった後にICカードチップ150を非活性化する。 U121 deactivates the IC card chip 150 after subjected to the environment setting of the IC card chip 150. B= B =
3のときは、ICカードチップ150が活性状態ならば、CPU121はICカードチップ150を非活性化する。 When 3, if the IC card chip 150 is activated, CPU 121 inactivates the IC card chip 150. 最後に、パラメータDは、ホスト機器220から要求されたセキュリティ処理を実行したあとに、ICカードチップ150を非活性化するか否かを示すパラメータである。 Finally, the parameter D is after performing a security process requested by the host apparatus 220, a parameter indicating whether to deactivate the IC card chip 150. D=0のときは、セキュリティ処理の実行後に、CPU121はICカードチップ150を非活性化せず、活性状態に保つ。 When the D = 0, after the security process execution, CPU 121 does not inactivate the IC card chip 150, kept in an active state. D=1のときは、セキュリティ処理の実行後に、CPU121はICカードチップ15 When the D = 1, after the security process execution, CPU 121 is an IC card chip 15
0を非活性化する。 0 to a non-activation. 【0050】CPU121は、ICカード制御パラメータA、B、C、Dの設定値を変更することができる。 The CPU121 is able to change the IC card control parameters A, B, C, the set value of D. C
PU121は、セキュリティ処理の内容や結果に応じてこれらの設定値を変更してもよいし、ホスト機器からのメモリカードコマンドの受信を契機としてこれらの設定値を変更してもよい。 PU121 may be to change these settings according to the contents and results of the security process, may change these settings in response to reception of the memory card command from the host device. また、CPU121は、これらの設定値をフラッシュメモリチップ130にライトし、必要なときにフラッシュメモリチップ130からこれらの設定値をリードして使用することもできる。 Further, CPU 121 can also write those set values ​​into the flash memory chip 130 is used to lead these settings from the flash memory chip 130 when necessary. これらの設定値は、図21においてICカード制御パラメータ21 These settings, IC card control parameter 21 in FIG. 21
11として示されている。 It is shown as 11. これにより、MMC110が非活性化されてもこれらの設定値を保持することができ、MMC110が活性化されるたびにあらためて設定する手間を省くことができる。 Thus, even if the MMC110 is inactivated can hold these settings, it is possible to save labor of new setting necessary each time the MMC110 is activated. 【0051】図9は、第1次ICカード初期化処理のフローチャートを表している。 [0051] Figure 9 illustrates a flow chart of the primary IC card initializing process. 初期化処理を開始する(9 To start the initialization process (9
01)と、まず、ICカード制御パラメータAが0かチェックする(902)。 01), First, IC card control parameter A is 0 or not to check (902). A=0ならばそのまま初期化処理は終了する(908)。 As if A = 0, the initializing process is finished (908). A=0でないならばICカードチップ150をコールドリセットする(903)。 If not A = 0 the IC card chip 150 is cold-reset (903). 次に、ICカード制御パラメータAが1かチェックする(904)。 Then, IC card control parameter A is checked whether 1 (904). A=1ならば初期化処理は終了する(90 A = 1, the initializing process is finished (90
8)。 8). A=1でないならばICカードチップ150の環境設定をおこなう(905)。 If not A = 1 perform the environment setting of the IC card chip 150 (905). 次に、ICカード制御パラメータAが2かチェックする(906)。 Then, IC card control parameter A is 2 or checked (906). A=2ならば初期化処理は終了する(908)。 A = 2, the initializing process is finished (908). A=2でないならばICカードチップ150を非活性化する(907)。 If not A = 2 inactivates the IC card chip 150 (907).
そして、初期化処理は終了する(908)。 Then, the initialization process ends (908). 【0052】図10は、第2次ICカード初期化処理のフローチャートを表している。 [0052] Figure 10 represents a flow chart of the secondary IC card initializing process. 初期化処理を開始する(1001)と、まず、ICカード制御パラメータBが0かチェックする(1002)。 Starts initialization processing (1001), first, IC card control parameter B is 0 or not to check (1002). B=0ならばそのまま初期化処理は終了する(1013)。 B = 0 if it is initialization processing is terminated (1013). B=0でないならばB=1かチェックする(1003)。 If not B = 0 B = 1 or not to check (1003). B=1ならばI B = 1 if I
Cカード制御パラメータAが0または3かチェックする(1004)。 C card control parameter A is 0 or 3 or not to check (1004). Aが0または3ならば、ICカードチップ150をコールドリセットし(1005)、ステップ1007に移る。 If A is 0 or 3, the IC card chip 150 and cold reset (1005), proceeds to step 1007. Aが1または2ならば、ICカードチップ150をウォームリセットし(1006)、ステップ1007に移る。 A If one or two, the IC card chip 150 and a warm reset (1006), proceeds to step 1007. ステップ1007では、ICカード制御パラメータCが1かチェックする。 In step 1007, IC card control parameter C is checked whether 1. C=1ならば初期化処理は終了する(1013)。 C = 1, the initializing process is finished (1013). C=1でないならばステップ1009に移る。 If not C = 1 proceeds to step 1009. ステップ1003においてB In step 1003 B
=1でないならば、Bが2かチェックする(100 If is not equal to 1, B is 2 or not to check (100
8)。 8). B=2ならばステップ1009に移る。 Turning to B = 2 if step 1009. B=2でないならば、ICカード制御パラメータAが0または3 If not B = 2, IC card control parameter A is 0 or 3
かチェックする(1011)。 To check whether (1011). Aが0または3ならば初期化処理を終了する(1013)。 A is 0 or 3 if completed the initialization process (1013). Aが1または2ならば、ステップ1012に移る。 If A is 1 or 2, it proceeds to step 1012. ステップ1009ではI Step 1009 in I
Cカードチップ150の環境設定をおこなう。 Set preferences for C card chip 150. そして、 And,
ICカード制御パラメータCが2かチェックする(10 IC card control parameter C is 2 or not to check (10
10)。 10). C=2ならば初期化処理を終了する(101 C = 2 if it ends the initialization process (101
3)。 3). C=2でないならばステップ1012に移る。 If not C = 2 proceeds to step 1012. ステップ1012ではICカードチップ150を非活性化する。 In step 1012 inactivates the IC card chip 150. そして、初期化処理を終了する(1013)。 Then, to end the initialization process (1013). 【0053】図11は、ICカードチップ150が非活性状態であるときに第1次ICカード初期化処理あるいは第2次ICカード初期化処理を実行した場合において、ICカードチップ150の外部端子の信号波形をシンプルに表したものである。 [0053] Figure 11, when the IC card chip 150 executes the primary IC card initializing process or the secondary IC card initializing process when in an inactive state, the external terminals of the IC card chip 150 It illustrates a signal waveform simple. 図12は、ICカードチップ150が活性状態であるときに第2次ICカード初期化処理を実行した場合において、ICカードチップ15 12, in the case of executing the secondary IC card initializing process when the IC card chip 150 is active, the IC card chip 15
0の外部端子の信号波形をシンプルに表したものである。 Signal waveforms at the external terminals of 0 is a representation simple. 図11と図12において、時間の方向は左から右にとっており、上の行から下の行に向かってVCC2端子151、RST端子152、CLK2端子153、I/ 11 and 12, the direction of the time it took from left to right, VCC2 terminal 151 from the top row toward the line below, RST terminal 152, CLK2 terminal 153, I /
O端子157で観測される信号を表す。 It represents a signal observed at O ​​pin 157. また、横方向の破線はそれぞれの信号の基準(Lレベル)を表す。 A broken line in the lateral direction indicates the reference (L level) of each signal. 図1 Figure 1
1において1102は図3に示したコールドリセットの信号波形を表す。 1102 In 1 represents a cold reset of the signal waveform shown in FIG. 図12において1202は図4に示したウォームリセットの信号波形を表す。 12 1202 represents a warm reset of the signal waveform shown in FIG. 図11と図12 FIGS. 11 and 12
において、第1設定コマンド処理1104aと1204 In the first setting command processes 1104a and 1204
a、第2設定コマンド処理1104bと1204b、第N設定コマンド処理1104cと1204cは、それぞれ図5に示したICカードコマンド処理の信号波形を表す。 a, second setting command processes 1104b and 1204b, the N setting command processing 1104c and 1204c denotes an IC card command processing of the signal waveform shown in FIG. 5, respectively. ICカードチップ150の環境設定の信号波形11 Configuration of the signal waveform 11 of the IC card chip 150
04と1204は、N個の設定コマンド処理の信号波形が連なって構成される。 04 and 1204, configured continuous signal waveforms of the N setting command processing. 図11と図12において、11 11 and 12, 11
06と1206は、それぞれ図6に示した非活性化の信号波形を表す。 06 and 1206 represents the signal waveform of the inactivation shown in FIG. 6, respectively. 図11と図12において、縦方向の破線1101、1103、1105、1107、1201、 11 and 12, the vertical dashed line 1101,1103,1105,1107,1201,
1203、1205、1207はそれぞれ特定の時刻を表す。 1203,1205,1207 each represents a particular time. 1101はコールドリセット前の時刻、1201 1101 cold reset before the time, 1201
はウォームリセット前の時刻、1103はコールドリセット後から環境設定前の間にある時刻、1203はウォームリセット後から環境設定前の間にある時刻、110 Time warm reset before time, 1103 times in between the front configuration after a cold reset, 1203 is between the previous configuration after a warm reset, 110
5と1205は環境設定後から非活性化前の間にある時刻、1107と1207は非活性化後の時刻である。 5 and 1205 times lies between before deactivation after preferences, 1107 and 1207 is the time after deactivation. 【0054】図11を参照して、第1次ICカード初期化処理実行時の信号波形を示す。 [0054] With reference to FIG. 11, showing a primary IC card initializing process execution time of the signal waveform. ICカード制御パラメータAが0のときは、信号波形に変化はない。 When the IC card control parameter A is 0, there is no change in signal waveforms. A=1のときは、時刻1101から時刻1103までの範囲の信号波形となる。 When the A = 1, the signal waveforms in a range from the time 1101 to the time 1103. A=2のときは、時刻1101から時刻1105までの範囲の信号波形となる。 When the A = 2, the signal waveforms in a range from the time 1101 to the time 1105. A=3のときは、時刻1101から時刻1107までの範囲の信号波形となる。 When the A = 3, the signal waveforms in a range from the time 1101 to the time 1107. 【0055】図11を参照して、ICカード制御パラメータAが0または3のときの、第2次ICカード初期化処理実行時の信号波形を示す。 [0055] With reference to FIG. 11, when the IC card control parameter A is 0 or 3, shows the secondary IC card initializing process performed when the signal waveform. ICカード制御パラメータBが0のときは、信号波形に変化はない。 When the IC card control parameter B is 0, there is no change in signal waveforms. B=1かつICカード制御パラメータC=1のときは、時刻110 B = 1 and when the IC card control parameter C = 1, the time 110
1から時刻1103までの範囲の信号波形となる。 The signal waveforms in a range from 1 to time 1103. B= B =
1かつC=2のときは、時刻1101から時刻1105 1 and when C = 2, time from time 1101 1105
までの範囲の信号波形となる。 The signal waveforms in a range up. B=1かつC=3のときは、時刻1101から時刻1107までの範囲の信号波形となる。 B = 1 and C = 3, the signal waveforms in a range from the time 1101 to the time 1107. 【0056】図12を参照して、ICカード制御パラメータAが1または2のときの、第2次ICカード初期化処理実行時の信号波形を示す。 [0056] With reference to FIG. 12, the IC card control parameter A is in the case of 1 or 2, showing a secondary IC card initializing process performed when the signal waveform. ICカード制御パラメータBが0のときは、信号波形に変化はない。 When the IC card control parameter B is 0, there is no change in signal waveforms. B=1かつICカード制御パラメータC=1のときは、時刻120 B = 1 and when the IC card control parameter C = 1, the time 120
1から時刻1203までの範囲の信号波形となる。 The signal waveforms in a range from 1 to time 1203. B= B =
1かつC=2のときは、時刻1201から時刻1205 1 and when C = 2, time from time 1201 1205
までの範囲の信号波形となる。 The signal waveforms in a range up. B=1かつC=3のときは、時刻1201から時刻1207までの範囲の信号波形となる。 B = 1 and C = 3, the signal waveforms in a range from the time 1201 to time 1207. B=2かつC=2のときは、時刻1203から時刻1205までの範囲の信号波形となる。 When B = 2 and C = 2, the signal waveforms in a range from the time 1203 to time 1205. B=2かつC=3のときは、時刻1203から時刻1207までの範囲の信号波形となる。 B = 2 and C = 3, the signal waveforms in a range from the time 1203 to time 1207. B=3のときは、時刻120 When the B = 3, the time 120
5から時刻1207までの範囲の信号波形となる。 The signal waveforms in a range from 5 to time 1207. 【0057】図13は、図7のステップ712において、CPU121が、ホスト機器220が要求したセキュリティ処理をICカードチップ150によって実行するときのフローチャートを表している。 [0057] Figure 13, in step 712 of FIG. 7, CPU 121 can represent a flow chart when executing a security process by the host device 220 requests the IC card chip 150. セキュリティ処理を開始する(1301)と、まずICカードチップ1 To start the security process (1301), first IC card chip 1
50が非活性状態かをチェックする(1302)。 50 checks whether the non-active state (1302). 非活性状態ならば、ICカードチップ150をコールドリセットし(1303)、ステップ1306に移る。 If inactive, the IC card chip 150 and cold reset (1303), proceeds to step 1306. 活性状態ならば、ステップ1304に移る。 If the active state, step 1304 follows. ステップ1304 Step 1304
では、ICカードチップ150にICカードコマンドを発行する前にICカードチップ150を再リセットする必要があるかをチェックする。 In, to check whether or not there is a need to re-resets the IC card chip 150 before issuing the IC card command to the IC card chip 150. 必要があるならば、IC If there is a need, IC
カードチップ150をウォームリセットし(130 The card chip 150 warm reset (130
5)、ステップ1306に移る。 5), and then proceeds to step 1306. 必要がないならば、ステップ1306に移る。 If it is not necessary, the process proceeds to step 1306. ステップ1306では、ICカードチップ150の環境設定をおこなう必要があるかをチェックする。 In step 1306, it is checked whether it is necessary to perform the environment setting of the IC card chip 150. 必要があるならば、ICカードチップ1 If there is a need, IC card chip 1
50の環境設定をおこない(1307)、ステップ13 Set the environment of 50 (1307), Step 13
08に移る。 Moves to 08. 必要がないならば、ステップ1308に移る。 If it is not necessary, the process proceeds to step 1308. ステップ1308では、ICカードチップ150のCLK2端子に供給するクロック信号の周波数F2を設定する。 In step 1308, it sets the frequency F2 of the clock signal supplied to the CLK2 terminal of the IC card chip 150. そして、CPU121はICカードチップ15 Then, CPU121 the IC card chip 15
0にセキュリティコマンドを発行し、ICカードチップ150はそれを処理する(1309)。 0 to issue a security command, IC card chip 150 to process it (1309). セキュリティコマンドの処理時間は、クロック周波数F2に依存する。 Processing time of the security command is dependent on the clock frequency F2.
次に、ICカードチップ150が出力するICカードレスポンスにより、その処理が成功したかどうかを判定する(1310)。 Next, the IC card response IC card chip 150 outputs, determines whether the process is successful (1310). 成功ならば、ステップ1311に移る。 If successful, the process proceeds to step 1311. 失敗ならば、ステップ1312に移る。 If unsuccessful, the process proceeds to step 1312. ステップ1 Step 1
311では、ICカードチップ150に発行すべきセキュリティコマンドが全て完了したかをチェックする。 In 311, the security command to be issued to the IC card chip 150 to check whether it has completed all. 発行すべきセキュリティコマンドがまだあるならば、ステップ1304に移る。 If the issue to be security command is still, and then proceeds to step 1304. 発行すべきセキュリティコマンドが全て完了したならば、ステップ1314に移る。 If to be issued a security command has been completed, it proceeds to step 1314. ステップ1312では、失敗したセキュリティコマンドをリトライすることが可能かを判定する。 In step 1312, it determines whether it is possible to retry the failed security command. リトライできるなら、リトライ設定をおこない(1313)、ステップ1 If you can retry, performs a retry settings (1313), step 1
304に移る。 Moves to 304. リトライ設定とは、リトライすべきセキュリティコマンドやその関連データをCPU121が再度準備することである。 Retry Setting A, CPU 121 security commands and their associated data to be retried is to prepare again. リトライできないならステップ1314に移る。 It proceeds to step 1314 If you can not retry. これは、ホスト機器220が要求したセキュリティ処理が失敗したことを意味する。 This means that the security process by the host device 220 requests failed. ステップ1314では、ICカード制御パラメータDをチェックする。 At step 1314, it checks the IC card control parameter D. D=1ならば、ICカードチップ150を非活性化して(1315)、セキュリティ処理を終了する(1 D = 1 if the IC card chip 150 is inactivated (1315), and terminates the security process (1
316)。 316). D=1でないならば、ICカードチップ15 If not D = 1, IC card chip 15
0を活性状態に保ったままセキュリティ処理を終了する(1316)。 0 to exit the security process while keeping the active state (1316). 図13のフローチャートにおいては、クロック周波数F2を、ステップ1309で発行するセキュリティコマンドの種類によって変えることができるように、ステップ1308をステップ1309の直前に位置させたが、ステップ1308はそれ以外の位置にあってもよい。 In the flowchart of FIG. 13, the clock frequency F2, so that it can be varied depending on the type of security commands to be issued at step 1309, step 1308 is was positioned just before the step 1309, to step 1308 otherwise position it may be. 【0058】従来のICカードへの攻撃法を有効にしている要因のひとつとして、ICカードの駆動クロックが外部の接続装置から直接供給されることがあげられる。 [0058] One of the factors that have enabled attacks to conventional IC card, the drive clocks of the IC card can be mentioned that the supplied directly from the external connection device.
駆動クロックが接続装置の制御下にあるため、タイミング解析や電力差分解析においては、電気信号の測定においてICカード内部処理のタイミングの獲得が容易になる。 The driving clock is under the control of the connection device, in the timing analysis and differential power analysis, the acquisition of the timing of the IC card internal processing is facilitated in the measurement of the electrical signal. 一方、故障利用解析においては、異常な駆動クロックの供給による演算エラーの発生が容易になる。 On the other hand, in the failure use analysis, generation of the operation error due to the supply of the abnormal drive clocks is facilitated. これに対し、本発明によれば、MMC110内部でICカードチップ150によりセキュリティ処理を実行するとき、 In contrast, according to the present invention, when executing the security process by the IC card chip 150 internally MMC 110,
ホスト機器220はICカードチップ150の駆動クロックを直接供給できない。 The host apparatus 220 can not directly supply the drive clocks of the IC card chip 150. CPU121は、ICカードチップ150へ供給するクロックの周波数F2を自由に設定することができる。 CPU121 is the frequency F2 of the clock supplied to the IC card chip 150 can be freely set. これにより、ホスト機器220 As a result, the host device 220
の要求する処理性能に柔軟に対応したセキュリティ処理が実現できる。 Security processing flexibility to performance of the request can be realized. ホスト機器220が高速なセキュリティ処理を要求するならば周波数F2を高く設定し、低い消費電力を要求するならば周波数F2を低く設定したり、 If the host apparatus 220 requests the high-speed security process to set a high frequency F2, or set low frequency F2 if requesting low power consumption,
クロックを適度に停止させればよい。 Moderately it is sufficient to stop the clock. また、CPU12 In addition, CPU12
1は、周波数F2だけでなくクロックの供給開始タイミング、供給停止タイミングを自由に設定できる。 1, the supply start timing of the clock as well frequency F2, a supply stop timing can be freely set. これらをランダムに変化させることにより、ICカードチップ150に対するタイミング解析、電力差分解析、故障利用解析と呼ばれる攻撃法を困難にすることができる。 By varying these randomly, timing analysis to the IC card chip 150, the power difference analysis, it is possible to make it difficult to attack method called a failure use analysis. タイミング解析は、攻撃者が暗号処理1回の処理時間を正確に計測可能であることを仮定しているため、その対策としては、攻撃者が処理時間計測を正確に行えないようにすることが有効である。 Timing analysis, since it is assumed that the attacker is possible to accurately measure the processing time of cryptographic processing once, as a countermeasure, that the attacker is prevented accurately perform the processing time measurement It is valid. 本発明によりタイミング解析が困難になる理由は、ICカードチップ150がICカードコマンドを処理している時間の長さをホスト機器2 This why the timing analysis becomes difficult by the invention, the IC card chip 150 have time to process the IC card command length the host device 2
20が正確に計測できないためである。 20 is can not be accurately measured. 電力差分解析の対策としては、処理の実行タイミングや順序に関する情報を外部から検出不可能にすることが有効である。 As a countermeasure for differential power analysis, it is effective to undetectable information about the execution timing and order of processing from the outside. 本発明により電力差分解析が困難になる理由は、ICカードコマンドが発行された時刻、発行されたICカードコマンドの内容、発行されたICカードコマンドの順序(I Why power difference analysis becomes difficult by the invention, the time that the IC card command is issued, issued contents of the IC card command issued the order of the IC card command (I
Cカードコマンドを複数組み合わせてセキュリティ処理を実行する場合)の検出がホスト機器220にとって困難になるためである。 Detection when by combining a plurality of C-card command to execute the security process) is to become difficult for the host apparatus 220. 故障利用解析の対策としては、I As a measure of the failure use analysis, I
Cカードにクロックや電圧や温度等の動作環境検知回路を搭載し、異常を検出したならば処理を停止あるいは使用不能にするという方法が有効である。 Equipped with operating environment detection circuits such as a clock or a voltage and temperature in C card, the method that the processing if it detects an abnormal stop or unavailable is valid. 本発明により故障利用解析が困難になる理由は、CLK2制御回路12 Reason for the failure use analysis becomes difficult by the invention, CLK2 control circuit 12
7がICカードチップ150に異常な駆動クロックを供給しないことが、ホスト機器220がICカードチップ150に演算エラーを発生させるのを防止するからである。 7 that does not supply the abnormal drive clocks to the IC card chip 150, since the host apparatus 220 can be prevented from generating an operation error to the IC card chip 150. 【0059】CPU121は、ICカードチップ150 [0059] CPU121 is, IC card chip 150
に供給するクロックの周波数F2、供給開始タイミング、供給停止タイミングの設定値を、セキュリティ処理の内容や結果に応じて変更してもよいし、ホスト機器からのメモリカードコマンドの受信を契機として変更してもよい。 The frequency F2, the supply start timing of supplying the clock, the set value of the supply stop timing may be changed according to the contents and results of the security process, changes the received memory card command from the host apparatus as a trigger it may be. また、CPU121は、これらの設定値をフラッシュメモリチップ130にライトし、必要なときにフラッシュメモリチップ130からこれらの設定値をリードして使用することもできる。 Further, CPU 121 can also write those set values ​​into the flash memory chip 130 is used to lead these settings from the flash memory chip 130 when necessary. これらの設定値は、図2 These settings 2
1においてCLK2設定情報2113として示されている。 It is shown as CLK2 setting information 2113 in 1. これにより、MMC110が非活性化されてもこれらの設定値を保持することができ、MMC110が活性化されるたびにあらためて設定する手間を省くことができる。 Thus, even if the MMC110 is inactivated can hold these settings, it is possible to save labor of new setting necessary each time the MMC110 is activated. 【0060】図14は、ホスト機器220がセキュリティ処理要求ライトコマンドをMMC110に発行してから、ICカードチップ150でセキュリティ処理が実行されるまでの過程(図7のステップ710〜712)において、MMC110およびICカードチップ150の外部端子の信号波形、CPU121によるフラッシュメモリチップ130へのアクセスをシンプルに表したものである。 [0060] Figure 14 is a host apparatus 220 after issuing the security processing request write command to the MMC 110, in the course of the IC card chip 150 to the security process is executed (step 710 to 712 in FIG. 7), MMC 110 and signal waveforms at the external terminals of the IC card chip 150 is a representation simplifies access to the flash memory chip 130 by CPU 121. 図14において、時間の方向は左から右にとる。 14, the time is directed from left to right. 一番上の行はフラッシュメモリチップ130へのアクセス内容である。 The top row indicates the contents of the access to the flash memory chip 130. 上から二行目の行から下の行に向かって、VCC1端子144、CMD端子142、CLK Towards the bottom line from the second line of the row from the top, VCC1 terminal 144, CMD terminal 142, CLK
1端子145、DAT端子147、VCC2端子15 1 terminal 145, DAT terminal 147, VCC2 terminal 15
1、RST端子152、CLK2端子153、I/O端子157で観測される信号を表す。 1, represents the RST terminal 152, CLK2 terminal 153, the signal observed at the I / O pin 157. また、横方向の破線はそれぞれの信号の基準(Lレベル)を表す。 A broken line in the lateral direction indicates the reference (L level) of each signal. 図14を参照して、ホスト機器220がセキュリティ処理要求ライトコマンドをMMC110に発行してから、ICカードチップ150でセキュリティ処理が実行されるまでの過程を説明する。 Referring to FIG. 14, the host apparatus 220 after issuing the security processing request write command to the MMC 110, illustrating the process until the security process is executed in the IC card chip 150. まず、ホスト機器220はCMD端子142にセキュリティ処理要求ライトコマンドを送信する(1401)。 First, the host apparatus 220 transmits the security processing request write command to the CMD terminal 142 (1401). 次に、ホスト機器220はCMD端子142からセキュリティ処理要求ライトコマンドのレスポンスを受信する(1402)。 Next, the host apparatus 220 receives a response security processing request write command from the CMD terminal 142 (1402). このレスポンスは、M This response, M
MC110がコマンドを受信したことをホスト機器22 MC110 host device 22 that has received the command
0に伝えるものであり、セキュリティ処理の実行結果ではない。 It is intended to convey to 0, not the execution result of the security process. 次に、ホスト機器220はDAT端子147にセキュリティ処理要求を送信する(1403)。 Next, the host apparatus 220 transmits the security processing request to the DAT terminal 147 (1403). セキュリティ処理要求とは、セキュリティ処理の内容や処理すべきデータを含むホストデータである。 Security processing request is host data including the data to be content and processing of the security process. 次に、MMC1 Then, MMC1
10はDAT端子147をLレベルにセットする(14 10 sets the DAT terminal 147 to the L level (14
04)。 04). MMC110は、これによりビジー状態であることをホスト機器220に示す。 MMC110 indicates Thus is busy the host apparatus 220. 次に、CPU121 Then, CPU121
は、ホスト機器220から受信したセキュリティ処理要求をフラッシュメモリチップ130にライトするコマンドを発行する(1405)。 Issues a command to write the security processing request received from the host apparatus 220 into the flash memory chip 130 (1405). セキュリティ処理要求をフラッシュメモリチップ130にライトすることにより、 By writing the security processing request into the flash memory chip 130,
CPU121がセキュリティ処理要求をICカードコマンド形式で記述する処理(図7のステップ711)において、CPU121内部のワークメモリの消費量を節約できる。 CPU 121 is in the process describes the security processing request in the IC card command format (step 711 in FIG. 7), it can conserve the amount of internal work memory CPU 121. これは、セキュリティ処理要求のデータサイズが大きいときに有効である。 This is useful when a large data size of the security processing request. なお、フラッシュメモリチップ130にライトされたセキュリティ処理要求は、図21においてセキュリティ処理バッファ領域2114に格納される。 Incidentally, the security processing request written in the flash memory chip 130 is stored in the security process buffer area 2114 in FIG. 21. また、ライトコマンド発行1405は必須な操作ではない。 In addition, the write command issue 1405 is not an essential operation. ライト処理期間1406は、フラッシュメモリチップ130がセキュリティ処理要求のライト処理を実行している期間を表す。 Write processing period 1406 denotes a period in which the flash memory chip 130 is executing the write processing of the security processing request. セキュリティ処理14 Security processing 14
07はICカードチップ150によるセキュリティ処理の信号波形を表す。 07 represents signal waveforms of the security process by the IC card chip 150. この信号波形は図13のフローチャートの遷移過程に依存する。 This signal waveform is dependent on the transition process of the flowchart of FIG. 13. セキュリティ処理1407 Security processing 1407
は、ライト処理期間1406とオーバラップさせることができる。 It can be write processing period 1406 and overlap. 一般にフラッシュメモリチップ130のライト処理期間1406はミリ秒のオーダーであるため、セキュリティ処理1407とオーバラップさせることは、 Since the write processing period 1406 of the flash memory chip 130 is typically of the order of milliseconds, it is possible to security process 1407 overlap,
セキュリティ処理の全体的な処理時間の短縮にとって有効である。 It is effective for the overall processing time shortening of the security process. リード/ライト1408は、セキュリティ処理1407の実行中に、フラッシュメモリチップ130 Read / write 1408, during the execution of the security process 1407, the flash memory chip 130
からセキュリティ処理要求をリードしたり、ICカードチップ150が出力した計算結果をフラッシュメモリチップ130にライトするアクセスを示している。 Or leading the security processing request from the shows access to write a calculation result IC card chip 150 is output to the flash memory chip 130. このアクセスにより、CPU121内部のワークメモリの消費量を節約できる。 This access can be saved consumption of the internal work memory CPU 121. これは、セキュリティ処理要求やセキュリティ処理結果のデータサイズが大きいときに有効である。 This is useful when a large data size of the security processing request or the security processing result. リード/ライト1408は必須ではない。 Read / write 1408 is not required. セキュリティ処理1407が完了したら、MMC110はDA When the security processing 1407 is complete, MMC110 the DA
T端子147をHレベルにセットする(1409)。 It sets the T terminal 147 to the H level (1409). M
MC110は、これによりセキュリティ処理が完了したことをホスト機器220に示す。 MC110 is thereby indicating to the host apparatus 220 that the security process has been completed. 【0061】図15は、図14におけるセキュリティ処理1407の信号波形の一例を表したものである。 [0061] Figure 15 illustrates an example of signal waveforms of the security process 1407 in FIG. 14. 図1 Figure 1
5において、時間の方向は左から右にとる。 In 5, the time is directed from left to right. 一番上の行はフラッシュメモリチップ130へのアクセス内容である。 The top row indicates the contents of the access to the flash memory chip 130. 上から二行目の行から下の行に向かって、VCC2 From the second line of the line from the top to the bottom line, VCC2
端子151、RST端子152、CLK2端子153、 Terminal 151, RST terminal 152, CLK2 terminal 153,
I/O端子157で観測される信号を表す。 It represents a signal observed at the I / O terminal 157. また、横方向の破線はそれぞれの信号の基準(Lレベル)を表す。 A broken line in the lateral direction indicates the reference (L level) of each signal.
1501は図3に示したコールドリセットの信号波形を表し、1504は図4に示したウォームリセットの信号波形を表し、1502および1505は図11(あるいは図12)に示した環境設定の信号波形を表し、150 1501 denotes a cold reset of the signal waveform shown in FIG. 3, 1504 represents a warm reset of the signal waveform shown in FIG. 4, 1502 and 1505 signal waveforms of the environment settings shown in FIG. 11 (or FIG. 12) represents, 150
3および1506および1507は図5に示したICカードコマンド処理の信号波形を表し、1508は図6に示した非活性化の信号波形を表す。 3 and 1506 and 1507 represent the IC card command processing of the signal waveform shown in FIG. 5, 1508 represents a signal waveform of the inactivation shown in Fig. ICカードチップ1 IC card chip 1
50の外部端子において図15に示した信号波形が観測されるのは、図13のフローチャートが1301、13 The signal waveforms shown in FIG. 15 is observed in the 50 external terminals of the flowchart of FIG. 13 1301,13
02、1303、1306、1307、1308、13 02,1303,1306,1307,1308,13
09、1310、1311、1304、1305、13 09,1310,1311,1304,1305,13
06、1307、1308、1309、1310、13 06,1307,1308,1309,1310,13
11、1304、1306、1308、1309、13 11,1304,1306,1308,1309,13
10、1311、1314、1315、1316の順で遷移するときである。 It is time to transition in the order of 10,1311,1314,1315,1316. 図15を参照して、図14のセキュリティ処理1407の実行中におけるCPU121によるフラッシュメモリチップ130へのアクセス(リード/ライト1408)を説明する。 Referring to FIG. 15, illustrating the access to the flash memory chip 130 (read / write 1408) by CPU121 during execution of the security process 1407 in FIG. 14. このアクセスには、 This access,
図21におけるセキュリティ処理バッファ領域2114 Security process buffer area in FIG. 21 2114
を使用する。 To use. リード1509、1511、1512は、 Lead 1509,1511,1512 is,
それぞれ、セキュリティコマンド処理1503、150 Each, the security command processing 1503,150
6、1507においてICカードチップ150に送信するICカードコマンドを構築するために必要なデータを、フラッシュメモリチップ130からリードするアクセスである。 The data required to construct an IC card command transmitted to the IC card chip 150 in 6,1507, an access to read from the flash memory chip 130. ライト1510は、セキュリティコマンド処理1503においてICカードチップ150が出力した計算結果を、フラッシュメモリチップ130にライトするアクセスである。 Light 1510, the calculation result of the IC card chip 150 in the security command process 1503 is output, an access to write to the flash memory chip 130. ライト1513は、セキュリティコマンド処理1506および1507においてICカードチップ150が出力した計算結果を、フラッシュメモリチップ130にまとめてライトするアクセスである。 Light 1513, the calculation result of the IC card chip 150 in the security command processes 1506 and 1507 is output, is collectively write accesses to the flash memory chip 130.
リード1509、1511、1512は、それぞれ、セキュリティコマンド処理1503、1506、1507 Lead 1509,1511,1512, respectively, security command processing 1503,1506,1507
以前のICカードチップ150へのアクセスとオーバラップさせることができる。 It is possible to access and overlap to the previous IC card chip 150. ライト1510、1513 Light 1510 and 1513
は、それぞれ、セキュリティコマンド処理1503、1 , Respectively, security command processing 1503,1
507以後のICカードチップ150へのアクセスとオーバラップさせることができる。 It is possible to access and overlap to 507 after the IC card chip 150. これらのオーバラップは、セキュリティ処理の全体的な処理時間の短縮にとって有効である。 These overlap is effective for shortening the overall processing time of the security process. さらに、フラッシュメモリチップ130 In addition, the flash memory chip 130
のライト単位が大きい場合は、ライト1513のように複数の計算結果をまとめてライトすることができる。 If the write unit is large, it can be written together multiple calculation results as lights 1513. これは、フラッシュメモリチップ130へのライト回数を削減し、フラッシュメモリチップ130の劣化を遅らせる効果がある。 This reduces the number of writes to the flash memory chip 130 has the effect of delaying the degradation of the flash memory chip 130. なお、ライト1510、1513でフラッシュメモリチップ130にライトする内容は、ICカードチップ150が出力した計算結果そのものに限定されず、図7のステップ715でホスト機器220に返すセキュリティ処理結果またはその一部であってもよい。 The contents to be written to the flash memory chip 130 in the light 1510 and 1513 is not limited to the calculation result itself IC card chip 150 is output, the security processing result returned to the host apparatus 220 in step 715 of FIG. 7 or part thereof it may be.
この場合、図7のステップ714またはその一部は、ステップ712の中で実行されることになる。 In this case, step 714 or a portion of FIG. 7 will be performed in step 712. 【0062】図16は、ホスト機器220がセキュリティ処理結果リードコマンドをMMC110に発行してから、MMC110がセキュリティ処理結果を出力するまでの過程(図7のステップ713〜715)において、 [0062] Figure 16 is from the host apparatus 220 issues a security processing result read command to the MMC 110, in step (step 713 to 715 in FIG. 7) until MMC 110 outputs the security processing result,
MMC110の外部端子の信号波形、CPU121によるフラッシュメモリチップ130へのアクセスをシンプルに表したものである。 Signal waveforms at the external terminals of the MMC 110, is a representation simplifies access to the flash memory chip 130 by CPU 121. 図16において、時間の方向は左から右にとる。 16, the time is directed from left to right. 一番上の行はフラッシュメモリチップ130へのアクセス内容である。 The top row indicates the contents of the access to the flash memory chip 130. 上から二行目の行から下の行に向かって、VCC1端子144、CMD端子1 Toward the second line of the row to row from top to bottom, VCC1 terminal 144, CMD terminal 1
42、CLK1端子145、DAT端子147で観測される信号を表す。 42, at CLK1 terminal 145, DAT terminal 147 representative of the signal observed. また、横方向の破線はそれぞれの信号の基準(Lレベル)を表す。 A broken line in the lateral direction indicates the reference (L level) of each signal. 図16を参照して、ホスト機器220がセキュリティ処理結果リードコマンドをM Referring to FIG. 16, the host apparatus 220 to the security processing result read command M
MC110に発行してから、MMC110がセキュリティ処理結果を出力するまでの過程を説明する。 After issuing the MC 110, MMC 110 will be described the process of to the output of the security processing result. まず、ホスト機器220はCMD端子142にセキュリティ処理結果リードコマンドを送信する(1601)。 First, the host apparatus 220 transmits the security processing result read command to the CMD terminal 142 (1601). 次に、ホスト機器220はCMD端子142からセキュリティ処理結果リードコマンドのレスポンスを受信する(160 Next, the host apparatus 220 receives a response security processing result read command from the CMD terminal 142 (160
2)。 2). このレスポンスは、MMC110がコマンドを受信したことをホスト機器220に伝えるものであり、セキュリティ処理結果ではない。 This response, MMC 110 is intended to convey that has received the command to the host device 220, not the security processing result. 次に、MMC110はD Then, MMC110 is D
AT端子147をLレベルにセットする(1603)。 To set the AT terminal 147 to the L level (1603).
MMC110は、これによりビジー状態であることをホスト機器220に示す。 MMC110 indicates Thus is busy the host apparatus 220. 次に、CPU121は、フラッシュメモリチップ130のセキュリティ処理バッファ領域(図21の2114)から、ICカードチップ150 Next, CPU 121 from the security process buffer area of ​​the flash memory chip 130 (2114 in FIG. 21), IC card chip 150
が出力した計算結果をリードする(1604)。 There leading calculation result of the output (1604). CPU CPU
121は、これをもとにセキュリティ処理結果を構築し、MMC110がDAT端子147にセキュリティ処理結果を出力する(1605)。 121, which builds a security processing result on the basis, MMC 110 outputs the security processing result to the DAT terminal 147 (1605). なお、図7のステップ714またはその一部が、ステップ712の中で実行されている場合、ステップ1604ではフラッシュメモリチップ130のセキュリティ処理バッファ領域(図21 Note that steps 714 or a portion of FIG. 7, if it is performed in the step 712, the security process buffer area of ​​the flash memory chip 130 in step 1604 (FIG. 21
の2114)からセキュリティ処理結果またはその一部をリードする。 To lead the security processing result or a part thereof from 2114) of. なお、フラッシュメモリチップ130のセキュリティ処理バッファ領域(図21の2114)を利用しないでセキュリティ処理結果を構築する場合、ステップ1604は必要ない。 In the case of constructing the security processing result without using the security process buffer area of ​​the flash memory chip 130 (2114 in FIG. 21), step 1604 is not required. 【0063】MMC110の製造者や管理者は、セキュリティシステムのユーザにMMC110を提供する前やそのユーザが所有するMMC110に問題が発生した時に、MMC110に内蔵されたICカードチップ150 [0063] MMC110 of production and administrators, when a problem occurs in MMC110 to before and the user is owned by providing MMC110 to the user of the security system, IC card chip 150, which is built into the MMC110
に様々な初期データを書きこんだり、ICカードチップ150のテストをおこなったりする必要がある。 Guests crowded write a variety of initial data, there is a need to or carried out a test of the IC card chip 150. MMC MMC
110の製造者や管理者によるこれらの操作の利便性を高めるために、MMC110は、ICカードチップ15 For convenience of operation by 110 manufacturers and administrators, MMC 110 is, IC card chip 15
0の外部端子をMMC外部端子140に割りつけるインタフェース機能を持つ。 Allocating the 0 external terminals of the MMC external terminal 140 has an interface function. これにより、図3〜図6で示したようなICカードチップ150へのアクセス信号を、 Thus, the access signals to the IC card chip 150 as shown in FIGS. 3 to 6,
MMC外部端子140から直接送受信できる。 It can send and receive directly from MMC external terminal 140. このようなMMC110の動作モードを、MultiMedia Such an operation mode of the MMC110, MultiMedia
Card仕様に準拠した動作モードと区別して、以下、 To distinguish it from the operating mode complying with the Card specification, below,
インタフェース直通モードと呼ぶ。 The interface direct mode call. 【0064】インタフェース直通モードについて詳細に説明する。 [0064] For the interface direct mode will be described in detail. 図17は、ICカードチップ150の外部端子をMMC外部端子140に割りつけるときの対応関係の一例を表している。 Figure 17 shows an example of a correspondence relationship when allocating the external terminals of the IC card chip 150 to the MMC external terminal 140. この例では、RST端子152をCS端子141に割り付け、GND2端子155をGN In this example, assignment to the RST terminal 152 to the CS terminal 141, GND2 terminal 155 GN
D1端子143、146に割り付け、VCC2端子15 Assigned to the D1 terminal 143,146, VCC2 terminal 15
1をVCC1端子144に割り付け、CLK2端子15 Assigned to 1 a VCC1 terminal 144, CLK2 terminal 15
3をCLK1端子145に割り付け、I/O端子157 Assignment 3 to the CLK1 terminal 145, I / O pin 157
をDAT端子147に割り付ける。 The assigned to the DAT terminal 147. このとき、CS端子141とCLK1端子145は入力端子、DAT端子1 In this case, CS terminal 141 and the CLK1 terminal 145 is an input terminal, DAT terminal 1
47は入出力端子として機能する。 47 function as input and output terminals. 【0065】MMC110は、特定のメモリカードコマンドを受信すると、動作モードをインタフェース直通モードへ移したり、インタフェース直通モードからMul [0065] MMC110, upon receiving a specific memory card command, or transfer the operation mode to the interface direct mode, from the interface direct mode Mul
tiMediaCard仕様に準拠した動作モードに戻すことができる。 It is possible to return to the operating mode complying with the tiMediaCard specification. 以下、動作モードをインタフェース直通モードへ移すメモリカードコマンドを直通化コマンド、動作モードをインタフェース直通モードから通常の状態に戻すメモリカードコマンドを復帰コマンドと呼ぶ。 Hereinafter, direct command of a memory card command to transfer the operation mode to the interface direct mode is called a memory card command to return the operating mode from the interface direct mode to the normal state and the return command. 図1を参照して、MMCI/F制御回路123は、 Referring to FIG. 1, MMC I / F control circuit 123,
VCC2制御回路126、CLK2制御回路127、I VCC2 control circuit 126, CLK2 control circuit 127, I
CカードI/F制御回路128と接続されており、MM It is connected to the C card I / F control circuit 128, MM
C110がホスト機器220から直通化コマンドを受信すると、CPU121の指示により図17で示した端子割り付けをおこなう。 When C110 receives the direct command from the host device 220 performs the terminal allocation shown in Fig. 17 by an instruction of the CPU 121. MMC110がホスト機器220 MMC110 the host device 220
から復帰コマンドを受信すると、CPU121の指示により図17で示した端子割り付けを解除し、MMC11 Upon receiving a release command from cancels the terminal allocation shown in FIG. 17 by an instruction of the CPU 121, MMC11
0はMultiMediaCard仕様に準拠した動作モードに戻る。 0 returns to the operation mode that conforms to the MultiMediaCard specification. 【0066】インタフェース直通モードでは、ホスト機器220がICカードチップ150に直接アクセスできるため、セキュリティの観点からインタフェース直通モードを利用できるのは限られた者だけにする必要がある。 [0066] In the interface direct mode, because the host device 220 can be direct access to the IC card chip 150, can use the interface direct mode from the point of view of security, it is necessary to only a limited person. そこで、直通化コマンドの発行には、一般のユーザに知られないパスワードの送信を必要とする。 Therefore, the issue of direct command requires the transmission of not known to the general user password. 正しいパスワードが入力されないとインタフェース直通モードは利用できない。 Correct password is not entered when the interface direct mode is not available. 【0067】図18は、ホスト機器220が、MMC1 [0067] FIG. 18, the host apparatus 220, MMC1
10の動作モードをMultiMediaCard仕様に準拠した動作モードからインタフェース直通モードに移し、ICカードチップ150に直接アクセスし、その後、MMC110の動作モードを再びMultiMed 10 operation mode is transferred from the operating mode complying with the MultiMediaCard specifications to the interface direct mode, direct access to the IC card chip 150, thereafter, the operation mode of MMC110 again MultiMed
iaCard仕様に準拠した動作モードに戻すまでの処理のフローチャートを表している。 It represents a flowchart of processing up to return to the operating mode complying with iaCard specifications. ホスト機器220は処理を開始し(1801)、まずMMC110に直通化コマンドを発行する(1802)。 The host apparatus 220 starts the process (1801), first, issues the direct command to the MMC 110 (1802). MMC110は、直通化コマンドで送信されたパスワードが正しいかチェックする(1803)。 MMC110, the password sent by the direct command is or not to check the correct (1803). 正しければステップ1804に移り、間違っていれば処理は終了する(1810)。 If correct moves to step 1804, the processing if the wrong ends (1810). ステップ1804では、CPU121は、ICカードチップ150をコールドリセットする。 At step 1804, CPU 121 is a cold reset the IC card chip 150. そして、図17で示した端子割り付けをおこないインタフェースを直通化する(1805)。 Then, direct the interface performs the terminal allocation shown in FIG. 17 (1805). この時点から、ホスト機器220はIC From this point, the host apparatus 220 IC
カードチップ150に直接アクセスする(1806)。 Direct access to the card chip 150 (1806).
ホスト機器220がICカードチップ150への直接アクセスを終了し、MMC110の動作モードを再びMu The host device 220 to exit the direct access to the IC card chip 150, again Mu the mode of operation of the MMC110
ltiMediaCard仕様に準拠した動作モードに戻すときは、MMC110に復帰コマンドを発行する(1807)。 To return to the operating mode complying with the ltiMediaCard specifications, to issue a return command to MMC110 (1807). すると、CPU121は図17で示した端子割り付けを解除し、MMC110はMultiMe Then, CPU 121 cancels the terminal allocation shown in FIG. 17, the MMC 110 Multime
diaCard仕様に準拠した動作モードに戻る(18 It returns to the operation mode that conforms to the diaCard specification (18
08)。 08). そして、CPU121は、ICカードチップ1 Then, CPU121 is, IC card chip 1
50を非活性化する(1809)。 Deactivating 50 (1809). 以上で、処理は終了する(1810)。 Thus, the processing is terminated (1810). 【0068】図19は、図18のステップ1801〜1 [0068] FIG. 19, the steps of FIG. 18 1801-1
806の過程において、MMC110およびICカードチップ150の外部端子の信号波形をシンプルに表したものである。 In 806 the process of illustrates a MMC110 and signal waveforms at the external terminals of the IC card chip 150 simple. 図19において、時間の方向は左から右にとる。 19, the time is directed from left to right. 上の行から下の行に向かって、VCC1端子14 Toward the bottom line from the top row, VCC1 terminal 14
4、CMD端子142、CLK1端子145、DAT端子147、VCC2端子151、RST端子152、C 4, CMD terminal 142, CLK1 terminal 145, DAT terminal 147, VCC2 terminal 151, RST terminal 152, C
LK2端子153、I/O端子157で観測される信号を表す。 LK2 terminal 153 represents a signal observed at the I / O terminal 157. また、横方向の破線はそれぞれの信号の基準(Lレベル)を表す。 A broken line in the lateral direction indicates the reference (L level) of each signal. 1905は、図3のコールドリセットの信号波形を示す。 1905, shows a cold reset of the signal waveforms of FIG. モード移行時刻1906は、動作モードがインタフェース直通モードに移る時刻を表す。 Mode shift time 1906 represents the time at which the operation mode is shifted to the interface direct mode. 【0069】図19を参照して、ホスト機器220がM [0069] Referring to FIG. 19, the host apparatus 220 M
MC110の動作モードをMultiMediaCar The mode of operation of the MC110 MultiMediaCar
d仕様に準拠した動作モードからインタフェース直通モードに移しICカードチップ150に直接アクセスする過程を説明する。 A process to directly access the IC card chip 150 is transferred from the operating mode complying with d specifications to the interface direct mode will be described. なお、MMC110のVCC1端子1 It should be noted, VCC1 of MMC110 terminal 1
44には3V(VCC2端子151の標準電圧)が供給されている。 3V (standard voltage at the VCC2 terminal 151) is supplied to the 44. ホスト機器220がCMD端子142に直通化コマンドを入力すると(1901)、CMD端子1 When the host apparatus 220 inputs the direct command to the CMD terminal 142 (1901), the CMD terminal 1
42から直通化コマンドのレスポンスが出力される(1 42 Response of direct command is outputted from the (1
902)。 902). このレスポンスは、MMC110がコマンドを受信したことをホスト機器220に伝えるものである。 This response is intended to convey that MMC110 has received the command to the host apparatus 220. 次に、ホスト機器220はDAT端子147にパスワードを入力する(1903)。 Next, the host apparatus 220 inputs a password to the DAT terminal 147 (1903). パスワード入力後、M After the password input, M
MC110はDAT端子147にLレベルを出力し(1 MC110 outputs the L level to the DAT terminal 147 (1
904)、ビジー状態であることをホスト機器220に示す。 904), indicating a busy state to the host device 220. ビジー状態の間に、CPU121は、ICカードチップ150をコールドリセットする(1905)。 During busy, CPU 121 is a cold reset the IC card chip 150 (1905). そして、モード移行時刻1906において、動作モードをインタフェース直通モードに移す。 Then, in the mode transition time 1906, transfer the operation mode to the interface direct mode. このときに、DAT At this time, DAT
端子147はLレベルからハイインピーダンス状態になる。 Terminal 147 is composed of L level to the high impedance state. これにより、ホスト機器220はビジー状態の解除を知ることができる。 Thus, the host apparatus 220 can know the cancellation of the busy state. この時点から、ホスト機器220 From this point, the host device 220
はICカードチップ150に直接アクセスする。 The direct access to the IC card chip 150. 例えば、CLK1端子145にクロックを供給すると(19 For example, to supply a clock to the CLK1 terminal 145 (19
07)、CLK2端子153にそのクロックが供給される(1908)。 07), the clock is supplied to the CLK2 terminal 153 (1908). また、DAT端子147にICカードコマンドを送信すると(1909)、I/O端子157 Furthermore, when transmitting an IC card command to the DAT terminal 147 (1909), I / O pin 157
にそのICカードコマンドが送信される(1910)。 The IC card command is sent to the (1910). 【0070】図20は、図18のステップ1807〜1 [0070] FIG. 20, the steps of FIG. 18 1807-1
810の過程において、MMC110およびICカードチップ150の外部端子の信号波形をシンプルに表したものである。 In 810 the process of illustrates a MMC110 and signal waveforms at the external terminals of the IC card chip 150 simple. 図20において、時間の方向は左から右にとる。 In Figure 20, the time is directed from left to right. 上の行から下の行に向かって、VCC1端子14 Toward the bottom line from the top row, VCC1 terminal 14
4、CMD端子142、CLK1端子145、DAT端子147、VCC2端子151、RST端子152、C 4, CMD terminal 142, CLK1 terminal 145, DAT terminal 147, VCC2 terminal 151, RST terminal 152, C
LK2端子153、I/O端子157で観測される信号を表す。 LK2 terminal 153 represents a signal observed at the I / O terminal 157. また、横方向の破線はそれぞれの信号の基準(Lレベル)を表す。 A broken line in the lateral direction indicates the reference (L level) of each signal. モード復帰時刻2003は、動作モードがインタフェース直通モードからMultiMe Mode return time 2003, MultiMe operation mode from the interface direct mode
diaCard仕様に準拠した動作モードに戻る時刻を表す。 Representing the time to return to the operating mode complying with the diaCard specification. 2004は、図6の非活性化の信号波形を示す。 2004 shows the signal waveforms of the inactivation of FIG. 【0071】図20を参照して、ホスト機器220がM [0071] Referring to FIG. 20, the host apparatus 220 M
MC110の動作モードをインタフェース直通モードからMultiMediaCard仕様に準拠した動作モードに戻す過程を説明する。 The process of returning the operation mode of the MC110 from the interface direct mode to the operating mode complying with the MultiMediaCard specifications will be described. なお、MMC110のVC In addition, VC of MMC110
C1端子144には3V(VCC2端子151の標準電圧)が供給されている。 3V (standard voltage at the VCC2 terminal 151) is supplied to the C1 terminal 144. ホスト機器220がCMD端子142に復帰コマンドを入力すると(2001)、CM When the host apparatus 220 inputs the return command to the CMD terminal 142 (2001), CM
D端子142から復帰コマンドのレスポンスが出力される(2002)。 Response of release command is outputted from the D terminal 142 (2002). このレスポンスは、MMC110がコマンドを受信したことをホスト機器220に伝えるものである。 This response is intended to convey that MMC110 has received the command to the host apparatus 220. そして、モード復帰時刻2003において、M Then, in the mode return time 2003, M
MC110はDAT端子147にLレベルを出力してビジー状態であることをホスト機器220に示し、それと同時に動作モードをMultiMediaCard仕様に準拠した動作モードに戻す。 MC110 indicates that it is busy and outputs the L level to the DAT terminal 147 to the host apparatus 220 returns to the operation mode at the same conforming the operation mode to MultiMediaCard specifications simultaneously. ビジー状態の間に、CP During the busy state, CP
U121は、ICカードチップ150を非活性化する(2004)。 U121 is, inactivates the IC card chip 150 (2004). そして、MMC110は、DAT端子1 And, MMC110 is, DAT terminal 1
47をハイインピーダンス状態にし(2005)、復帰コマンドの処理が完了したことをホスト機器220に示す。 A 47 to a high impedance state (2005), shows the host apparatus 220 that the process of the return command has been completed. これ以後、ホスト機器220はICカードチップ1 Since then, the host device 220 is IC card chip 1
50に直接アクセスできない。 It does not have access directly to the 50. ホスト機器220が、C Host apparatus 220, C
LK1端子145にクロックを供給しながらCMD端子142に何らかのメモリカードコマンドを送信した場合、ICカードチップ150にそのクロック信号(20 LK1 If you send some memory card command to the CMD terminal 142 while supplying the clocks to the terminal 145, the clock signal to the IC card chip 150 (20
06)は伝わらない。 06) is not transmitted. 2001や2002においてホスト機器220がCLK1端子145に供給するクロック信号は、ICカードチップ150のCLK2端子153 Clock signal and supplies the host apparatus 220 to the CLK1 terminal 145 in 2001 and 2002, CLK2 terminal 153 of the IC card chip 150
にも伝わるが、DAT端子147がハイインピーダンス状態であるため、ICカードチップ150がICカードコマンドを誤って認識することはない。 Transmitted to it, for DAT terminal 147 is in a high impedance state and does not IC card chip 150 is erroneously recognized the IC card command. 【0072】図21において、セキュリティ処理ステータス領域2116には、ICカードチップ150によるセキュリティ処理の進捗状況を示す情報を格納する。 [0072] In FIG 21, the security process status area 2116 stores information indicating the progress of the security process by the IC card chip 150. C
PU121は、この情報をセキュリティ処理の実行中に更新することができる。 PU121 can update this information during the execution of the security process. 例えば、セキュリティ処理の途中でMMC110への電源供給が停止した場合、電源供給再開時にCPU121がこの情報をリードして参照すれば、セキュリティ処理を中断した段階から再開することができる。 For example, when the power supply to the middle MMC110 security processing is stopped, it is possible to CPU121 when the power supply resumption Referring to lead this information, resumes from step of interruption of security processing. 【0073】本発明の実施形態によれば、メモリカード外部からICカードチップの駆動クロックを直接供給しないため、ICカードチップの処理時間を正確に計測できず、また、処理の実行タイミングや順序の検出が困難になる。 According to an embodiment of the [0073] present invention, since the memory card outside does not supply the drive clocks of the IC card chip directly, can not be accurately measured processing time of an IC card chip, also, the execution timing and order of the processing detection becomes difficult. さらに、異常な駆動クロックを供給することができず、演算エラーを発生させるのが困難になる。 Furthermore, it is impossible to supply the abnormal drive clocks, it is difficult to generate the operation error. したがって、タイミング解析、電力差分解析、故障利用解析攻撃法に対するセキュリティが向上する。 Therefore, timing analysis, differential power analysis, security is improved for the failure use analysis attacks. 【0074】本発明の実施形態によれば、メモリカード外部からICカードチップの制御方式を自由に設定できる。 According to an embodiment of the [0074] present invention can be freely set the control method of the IC card chip from the memory card outside. 例えば、高速処理が要求されるならば、ICカードチップの駆動クロックの周波数を高くした制御方式を設定し、低消費電力が要求されるならば、ICカードチップの駆動クロックの周波数を低くしたり、ICカードチップの駆動クロックを適度に停止させる制御方式を設定することができる。 For example, if high-speed processing is required, to set the higher the control method the frequency of the drive clocks of the IC card chip, if low power consumption is required, to lower the frequency of the drive clock of the IC card chip or , it is possible to set the control system to appropriately stop the driving clock of the IC card chip. したがって、セキュリティシステムの要求する処理性能に柔軟に対応したセキュリティ処理が実現できる。 Therefore, the security process flexibly corresponding to the processing performance required by the security system can be realized. 【0075】本発明によれば、ICカードチップによるセキュリティ処理に必要なデータや、ICカードチップを管理するための情報を、フラッシュメモリに保持することができる。 According to [0075] the present invention, data required to security process by the IC card chip, the information for managing the IC card chip, can be held in the flash memory. したがって、セキュリティ処理の利便性を向上させることができる。 Therefore, it is possible to improve the usability of the security process. 【0076】本発明の実施形態によれば、MMCの製造者や管理者が、MMC内部のICカードチップに直接アクセスすることができる。 According to an embodiment of the [0076] present invention can be prepared and administrators of the MMC, direct access to the MMC inside the IC card chip. したがって、MMC内部のI Therefore, MMC inside of I
Cカードチップの初期化やメンテナンスを、従来のIC The initialization and maintenance of C card chip, the conventional IC
カードと同様な方法で実現できる。 It can be realized by the card the same way. 【0077】本発明の実施形態によれば、フラッシュメモリチップを備えたMMCに、セキュリティ機能を追加する場合、セキュリティ評価機関の認証を予め受けたI According to an embodiment of the [0077] present invention, the MMC having the flash memory chip, if you add a security function was previously certified security evaluation agencies I
Cカードチップ追加搭載することによって、セキュリティ評価機関によるMMCの認証が不要となるため、MM By C card chip additional mounting, since the MMC authentication by the security evaluation facility becomes unnecessary, MM
Cの開発期間又は製造期間が短縮する。 Development period or production time of C is shortened. 【0078】本発明を適用したMMC110は、高度な情報セキュリティが必要とされる銀行取引、クレジット決済、コンテンツ配信など多様な電子商取引サービスに適用することができる。 [0078] MMC110 to which the present invention is applied, can be applied to bank transactions a high degree of information security is required, credit card payment, for a variety of e-commerce services, such as content delivery. ユーザにとっては、これらの多様なサービス毎に異なるMMC110を持つよりも、1 To the user, than having different MMC110 for each of these various services, 1
枚で複数のサービスが利用できるMMC110を持つほうが便利である。 A plurality of services is more convenient with a MMC110 available in sheets. 1枚のMMC110を複数のサービスに利用することを考えたとき、一般にサービス毎にその事業者は異なるため、MMC110に内蔵されたICカードチップ150の内部では、複数のサービス事業者が各自のサービス用に設計開発したセキュリティ処理プログラムが共存することになる(以下、ICカードチップ150内のセキュリティ処理プログラムをICカードアプリケーションと呼ぶ)。 When considering utilizing one MMC 110 to a plurality of services, generally to different its operators for each service, in the interior of the IC card chip 150 built in the MMC 110, a plurality of service providers is their service security processing program developed design use is to coexist (hereinafter, the security program of the IC card chip 150 is referred to as IC card applications). したがって、ICカードチップ150には、サービスを利用するユーザが複数のIC Therefore, the IC card chip 0.99, IC users more to use the service
カードアプリケーションから使用したいものを選択できる機能(アプリケーション選択機能)や、複数のICカードアプリケーションが互いに干渉して誤動作を起こしたり秘密情報が解読されたりしないようにする機能(ファイヤウォール機能)が必要となる。 Ability to choose what you want to use the card application and (application selection function), functional secret information or malfunctioning plurality of IC card applications interfere with each other is prevented or decrypted (firewall function) required Become. そこで、ICカードチップ150内に、アプリケーション選択機能やファイヤウォール機能を持つオペレーティングシステム(以下、ICカードOSと呼ぶ。)を設置し、各ICカードアプリケーションは、その上で実行可能なプログラムとして実装する。 Therefore, the IC card chip 150, an operating system with an application selection function and firewall function (hereinafter, referred to as IC card OS.) Were placed, each IC card application is implemented as an executable program on the . ICカードOSとしては、MULTOS The IC card OS, MULTOS
(MULTOSはMondex Internatio (MULTOS is Mondex Internatio
nalLimitedの登録商標である。 It is a registered trademark of nalLimited. )や、Jav ) And, Jav
aCardの仮想マシン(JavaCardはSun aCard of the virtual machine (JavaCard is Sun
Microsystems株式会社の登録商標である。 It is a registered trademark of Microsystems Corporation. )などを適用することが望ましい。 ) It is desirable to apply the like. 【0079】ICカードOS上で実行可能なプログラムは一般にICカード内のEEPROMに格納されるが、 [0079] Possible program executed on the IC card OS but is generally stored in the EEPROM in the IC card,
本発明では、ICカードアプリケーションのプログラムはICカードチップ150内のEEPROM162に格納されるだけでなく、プログラムの一部がフラッシュメモリチップ130にも格納される。 In the present invention, a program of the IC card application is not only stored in the EEPROM162 in the IC card chip 150, a portion of the program is also stored in the flash memory chip 130. これにより、1つのICカードアプリケーションが消費するEEPROM1 As a result, one of the IC card application consumes EEPROM1
62の量を削減することができ、ICカードチップ15 It is possible to reduce the amount of 62, IC card chip 15
0に搭載可能なICカードアプリケーションの数を増やすことができる。 0 it is possible to increase the number of can be mounted IC card applications to. よって、ユーザは1枚のMMC110 Thus, the user of one MMC110
でより多くのサービスを利用できる。 In can be used more services. 【0080】以下、図27〜図37を参照しながら、I [0080] In the following, with reference to FIGS. 27 to 37, I
Cカードアプリケーションのプログラムの一部をフラッシュメモリチップ130に格納したMMC110のアプリケーション管理機能について詳しく説明する。 Will be described in detail C card application MMC110 application management functions stored in the flash memory chip 130 a portion of the program. 【0081】図27は、ICカードチップ150の機能的構成を中心にして、MMC110の内部構成を示したものである。 [0081] Figure 27 is about the functional configuration of the IC card chip 150, showing the internal structure of the MMC 110. ICカードインタフェース171は、IC IC card interface 171, IC
カードチップ150の外部端子(VCC2、RST、C External terminals of the card chip 150 (VCC2, RST, C
LK2、GND2、I/O)、シリアルインタフェース161、ICカードコマンド/レスポンスの送受信を制御するプログラムをまとめて表したものである。 LK2, GND2, I / O), in which collectively representing a program for controlling the transmission and reception of the serial interface 161, IC card command / response. ICカードOS172は、上で述べたICカードOSを表し、 IC card OS172 represents an IC card OS mentioned above,
ICカードインタフェース171を通して外部から受信したICカードコマンドに応じて、ICカードアプリケーションの選択をおこなう。 Depending on the IC card command received from the outside through the IC card interface 171, to select the IC card application. また、選択されたICカードアプリケーションへコマンドデータの引き渡しをおこない、選択されたICカードアプリケーションから受け取った処理結果データに基づいてICカードレスポンス作成し、ICカードインタフェース171を通して外部へ送信する。 Also performs handover command data to the selected IC card application, create IC card response based on the processing result data received from the IC card application selected, transmitted to the outside through the IC card interface 171. アプリケーションA173、アプリケーションB174、アプリケーションC175は、それぞれICカードOS172の上で実行可能なプログラムとして実装されたICカードアプリケーションであり、ユーザが利用したいサービスに応じてMMC110外部からメモリカードコマンドで選択することができる(例えば、銀行取引サービスを利用したい時はアプリケーションA173を、クレジット決済サービスを利用したい時はアプリケーションB174を、コンテンツ配信サービスを利用したい時はアプリケーションC175を選択するなど)。 Application A 173, Application B 174, application C175 is an IC card application implemented as an executable program on the IC card OS172 respectively, the user may select the memory card command from MMC110 outside depending on the service to be utilized possible (for example, the application A173 if you want to use the banking services, the application B174 is when you want to use a credit card payment service, such as when you want to use the content distribution service to select the application C175). 次に、アプリケーションA173内のコマンド解釈部181、モジュール実行部182、モジュールロード部183、モジュール管理情報184、モジュールロード領域185、認証部186およびフラッシュメモリチップ130内のコマンド処理モジュール187 Then, the command interpretation unit 181 in the application A 173, the module executing unit 182, the module loading section 183, the module management information 184, the module loading area 185, the authentication unit 186 and the command processing module 187 of the flash memory chip 130
は、アプリケーションA173のプログラムの一部をフラッシュメモリチップ130に格納するという機能を実現するための機能ブロックやデータを表している。 Represents a functional block and data for implementing the function of storing a part of the program of the application A173 in the flash memory chip 130. フラッシュメモリチップ130に格納されているアプリケーションA173のプログラムの一部をコマンド処理モジュール187と呼ぶ。 The part of the program of the application A173 stored in the flash memory chip 130 is referred to as a command processing module 187. コマンド処理モジュール187 Command processing module 187
は、アプリケーションA173が選択された時に使用することができるICカードコマンド中の1つのコマンドを処理するプログラムモジュールであり、コマンド毎に用意されている。 Is a program module that processes a single command in the IC card command which can be used when the application A173 has been selected, and is prepared for each command. コマンド処理モジュール187はフラッシュメモリチップ130に複数格納することができる。 Command processing module 187 can be more stored in the flash memory chip 130. コマンド処理モジュール187はフラッシュメモリチップ130に格納されているときは暗号化されており、コマンド処理の内容はアプリケーションA173に対応するサービスの事業者以外に知られないようになっており、アプリケーションA173内で暗号が解かれてモジュールロード領域185にロードされてはじめて実行が可能となる。 Command processing module 187 when it is stored in the flash memory chip 130 is encrypted, and so the contents of the command processing is not known to the other operators of the service corresponding to the application A173, the application A173 in is loaded encryption is solved in the module load area 185 will be the first can be executed. 各機能ブロックやデータがどのように作用するかについては、以下の電子取引サービスの具体例を用いて後で詳しく説明する。 To determine the functional blocks and data how to act will be described in detail later with reference to the following specific examples of electronic transaction service. 【0082】電子取引サービスの具体例として銀行取引サービスを示す。 [0082] shows the banking services as a specific example of an electronic trading service. 図28〜図30を用いてそのサービスを詳細に説明する。 Describing the service in detail with reference to FIGS. 28 to 30. 【0083】図28は、MMCとのインタフェース持つ携帯端末を利用してユーザが銀行取引サービスを実行するシステムの構成を表している。 [0083] Figure 28 is a user using a mobile terminal having an interface with the MMC represents a configuration of a system for executing a banking transaction service. ホスト機器220は、 Host apparatus 220,
MMCとのインタフェースを持つ携帯端末であり、ホストインタフェース223を通してMMC110にコマンドによってアクセスする。 A mobile terminal which interfaces with MMC, and accessed by the command in MMC110 through the host interface 223. 銀行取引サーバ2830は、 Bank transaction server 2830,
ユーザの銀行口座へのアクセスを提供し、ユーザからの指示に応じて銀行取引を実行する。 It provides access to the user's bank account, to perform banking transactions in accordance with an instruction from the user. ホスト機器220は通信手段2813を持つ。 The host device 220 has a communication unit 2813. 通信手段2813は、ホスト機器220がネットワーク2820を通して銀行取引サーバ2830に接続して情報交換をおこなう際の通信処理をおこなう。 Communication means 2813, the host apparatus 220 performs communication processing for performing the connect exchange information bank server 2830 through the network 2820. ホスト機器220は、CPU2811をもつ。 The host device 220 has a CPU2811. CPU2811は、ホストインタフェース223 CPU2811, the host interface 223
や通信手段2813を制御し、MMC110や銀行取引サーバ2830との間で情報交換をおこなう。 Controls and communication unit 2813 exchanges information with the MMC110 and banking server 2830. ホスト機器220は情報表示手段2814を持つ。 The host device 220 has an information display unit 2814. 情報表示手段2814は、CPU2811により制御され、銀行取引に関する情報をユーザに表示する。 Information display means 2814 is controlled by the CPU2811, to display information about banking users. ホスト機器220はユーザ入力手段2812を持つ。 The host device 220 has a user input means 2812. ユーザ入力手段281 User input means 281
2から入力されたデータはCPU2811で処理される。 Data input from the 2 is processed by the CPU2811. ユーザは、ユーザ入力手段2812を用いてユーザ認証のための暗証番号を入力したり、所望の銀行取引(残高照会、振込みなど)を指示する。 The user can enter a personal identification number for user authentication by using the user input means 2812, indicating a desired banking transactions (balance inquiry, transfer, etc.). 【0084】図29および図30は、図28のシステムにおいて銀行取引サービスを実行するときの手順を示したフローチャートである。 [0084] FIGS. 29 and 30 are flowcharts showing a procedure when performing a banking transaction service in the system of FIG. 28. ここでは簡単のため、エラー発生時の処理フローを省略する。 Here, for simplicity, we omitted the processing flow when an error occurs. まず、ユーザは、MM First, the user, MM
C110を利用したセキュリティ処理をおこなうため、 Order to carry out the security processing using the C110,
第1PIN(第1の暗証番号)によってMMC110から認証されなければならない。 It must be authenticated from MMC110 by the 1PIN (first personal identification number). ホスト機器220は、ユーザがユーザ入力手段2812から入力した第1PIN The host apparatus 220, the user inputs from the user input means 2812 1PIN
をMMC110へ送信するため、第1PIN検証コマンドを発行する(2901)。 The order to transmit to the MMC 110, issues a first 1PIN verification command (2901). MMC110は、内部のI MMC110 is, the inside of the I
Cカードチップ150に第1PIN検証のためのICカードコマンドを送信し、受信した第1PINが正しいかを検証する(2902)。 Send the IC card command for the 1PIN verification C card chip 150, the 1PIN to verify correct received (2902). 検証が成功すると、銀行取引サービスに対応したICカードアプリケーションによるセキュリティ処理の利用が許可される。 If the validation is successful, the use of the security process by the IC card application corresponding to banking services is allowed. そこで、ホスト機器220は、MMC110に銀行取引アプリケーション選択コマンドを発行する(2903)。 Thus, the host device 220 issues a banking application selection command to MMC110 (2903). MMC110 MMC110
は、内部のICカードチップ150にアプリケーション選択のためのICカードコマンドを送信し、銀行取引サービスに対応したICカードアプリケーションを利用可能な状態にする(2904)。 Transmits the IC card command for application selection within the IC card chip 150, the IC card application corresponding to banking services available state (2904). 次に、ホスト機器220 Next, the host apparatus 220
は、銀行取引サーバ2830に銀行取引開始要求のメッセージを送信する(2905)。 Sends a message of bank transaction start request to the banking server 2830 (2905). 銀行取引サーバ283 Banking server 283
0は、認証局が発行したサーバ証明書(サーバ公開鍵を含む)をホスト機器220に送信する(2906)。 0 transmits server certificate issued by a certificate authority (including the server's public key) to the host apparatus 220 (2906). ホスト機器220は、サーバ証明書を検証するため、サーバ証明書のハッシュ値を計算する(2907)。 The host apparatus 220, in order to validate the server certificate, calculates a hash value of the server certificate (2907). そして、ホスト機器220は、MMC110に署名検証コマンドを発行して、そのハッシュ値とサーバ証明書につけられた認証局による署名を送信する(2908)。 Then, the host apparatus 220 issues a signature verification command to MMC 110, transmits the signature by the hash value and the certificate authority given to server certificate (2908). MM MM
C110は、内部のICカードチップ150に署名検証のためのICカードコマンドを送信し、受信した署名が正しいかを認証局の公開鍵を用いて検証する(290 C110 transmits the IC card command for signature verification within the IC card chip 150, the received signature is verified using the public key of the right or the certification authority (290
9)。 9). 次に、ホスト機器220は、MMC110に乱数発生コマンドを発行する(2910)。 Next, the host apparatus 220 issues a random number generation command to the MMC 110 (2910). MMC110 MMC110
は、内部のICカードチップ150に乱数発生のためのICカードコマンドを送信する。 Transmits the IC card command for random number generated in the IC card chip 150. ICカードチップ15 IC card chip 15
0は乱数を発生し、それをステップ2914のために一時的に保持する(2911)。 0 generates a random number, temporarily retained for step 2914 it (2911). そして、ホスト機器22 Then, the host device 22
0は、サーバ証明書からサーバ公開鍵を抽出し(291 0 extracts the server's public key from the server certificate (291
2)、MMC110に暗号化コマンドを発行してサーバ公開鍵を渡す(2913)。 2), and passes the server's public key by issuing the encryption command to MMC110 (2913). MMC110は、内部のI MMC110 is, the inside of the I
Cカードチップ150に暗号化のためのICカードコマンドを送信し、ステップ2911で発生した乱数をサーバ公開鍵で暗号化させ、ホスト機器220に返す(29 Send the IC card command for encryption C card chip 150, a random number generated in step 2911 is encrypted with the server's public key and returns it to the host apparatus 220 (29
14)。 14). ホスト機器220は、暗号化した乱数と、認証局が発行したユーザ証明書(ユーザ公開鍵を含む)を銀行取引サーバ2830に送信する(2915)。 The host device 220 transmits a random number encryption, user certificate issued by a certificate authority (including the user's public key) to the banking server 2830 (2915). 銀行取引サーバ2830は、サーバ秘密鍵で暗号化乱数を復号して乱数を取得し、ユーザ証明書を認証局の公開鍵を用いて検証し、ユーザ証明書の検証が成功すれば、そこからユーザ公開鍵を抽出し、取得した乱数をユーザ公開鍵で暗号化する(2916)。 Bank transaction server 2830, to get a random number by decrypting the encrypted random number in the server private key, a user certificate verified by using the public key of the certification authority, if successful verification of the user certificate, a user from there extract the public key, it encrypts the acquired random user public key (2916). そして図30に移って、銀行取引サーバ2830は、ユーザ公開鍵で暗号化した乱数をホスト機器220に送信する(3001)。 And Turning to FIG 30, the bank transaction server 2830 transmits a random number encrypted with the user public key to the host apparatus 220 (3001). ホスト機器220はこの暗号化乱数を受信する(3002)。 The host device 220 receives the encrypted random number (3002).
そして、ホスト機器220は、銀行取引サーバ2830 Then, the host device 220, bank transaction server 2830
が本物かどうかを知るため暗号化乱数から乱数を復元できるかを調べる。 But see if you can restore the random number from the encrypted random number to know whether or not the real thing. そこで、MMC110に復号・比較コマンドを発行して、暗号化乱数を送信する(300 Therefore, by issuing a decoding and comparator commands the MMC 110, transmits the encrypted random number (300
3)。 3). MMC110は、内部のICカードチップ150 MMC110 is, the inside of the IC card chip 150
に復号・比較のためのICカードコマンドを送信する。 It transmits the IC card command for decrypting and compare to.
ICカードチップ150はユーザ秘密鍵で暗号化乱数を復号し、ステップ2911で発生した乱数と比較し、一致したかどうかの結果を返す(3004)。 IC card chip 150 decrypts the encrypted random number with the user's private key, as compared with the random number generated in step 2911 and returns whether the match result (3004). ホスト機器220は、MMC110から乱数が一致したことを示す応答を受け取ると、情報表示手段2814を用いてユーザに銀行との取引内容を指示するよう求める。 The host device 220 receives the response indicating that the random number from MMC110 matches, asked to indicate the transaction details with the bank to the user using the information display means 2814. ユーザはユーザ入力手段2812から取引内容を指示する。 The user instructs the transaction content from the user input means 2812. そして、ホスト機器220は、指示された取引内容(残高照会、振込みなど)を銀行取引サーバ2830に送信する(3005)。 Then, the host device 220, the transmission instruction has been traded contents (balance inquiry, transfer, etc.) to the banking server 2830 (3005). 銀行取引サーバ2830は、受信した取引内容が本当にユーザからのものかを確認するため、取引内容を記した銀行取引契約書を作成し、作成した銀行取引契約書へのユーザの署名を求めるため、作成した銀行取引契約書をホスト機器220に送信する(300 Bank transaction server 2830, to see if those from the received transaction content really user, to create a banking contract that describes the contents of transaction, in order to obtain the signature of the user to the bank transaction agreement that was created, to send a bank transaction agreement that was created in the host device 220 (300
7)。 7). ホスト機器220は、受信した銀行取引契約書を情報表示手段2814に表示する(3008)。 The host device 220 displays the banking contract received in the information display means 2814 (3008). そしてユーザに内容確認および署名を求める。 And determine the contents confirmation and signature to the user. ユーザは、内容が正しいことを確認したならば、MMC110を利用してユーザ秘密鍵による銀行取引契約書への電子的な署名をおこなう。 The user, if it was confirmed that the content is correct, perform an electronic signature to the bank agreement by the user secret key using the MMC110. MMC110は署名処理の実行を許可する前に、第2のPINによって再度ユーザを認証する。 MMC110 before allowing execution of the signature process, again authenticates the user by the second PIN. ユーザはユーザ入力手段2812から第2PINを入力する。 The user inputs a first 2PIN from the user input unit 2812. ホスト機器220は、入力された第2PINをMM The host apparatus 220, the first 2PIN input MM
C110へ送信するため、第2PIN検証コマンドを発行する(3009)。 For transmission to the C110, to issue the first 2PIN verification command (3009). MMC110は、内部のICカードチップ150に第2PIN検証のためのICカードコマンドを送信し、受信した第2PINが正しいかを検証する(3010)。 MMC110 sends the IC card command for the 2PIN verification within the IC card chip 150, the 2PIN to verify correct received (3010). 検証が成功すると、ユーザ秘密鍵による署名処理の利用が許可される。 If the validation is successful, the use of the signature process by the user's private key is permitted. ホスト機器220 The host device 220
は、銀行取引契約書への署名を作成するために銀行取引契約書のハッシュ値を計算する(3011)。 Calculates the hash value of the bank transaction agreement in order to create the signature of the bank transaction agreement (3011). そして、 And,
ホスト機器220は、MMC110に署名作成コマンドを発行して、そのハッシュ値を送信する(3012)。 The host apparatus 220 issues a signature generation command to MMC 110, and transmits the hash value (3012).
MMC110は、内部のICカードチップ150に署名作成のためのICカードコマンドを送信し、ハッシュ値とユーザ秘密鍵により署名を作成する(3013)。 MMC110 sends the IC card command for signature created inside the IC card chip 150, to create the signature by the hash value and the user private key (3013). ホスト機器220は、作成した署名をつけた銀行取引契約書を銀行取引サーバ2830に送信する(3014)。 The host device 220 transmits a banking contract that signed that was created in the banking server 2830 (3014).
銀行取引サーバ2830は、受信した銀行取引契約書につけられた署名を、図29のステップ2916で取得したユーザ公開鍵を用いて検証する(3015)。 Bank transaction server 2830, a signature attached to the banking agreement has been received, verified using a user public key acquired in step 2916 of FIG. 29 (3015). 検証が成功すれば、その取引内容は本物のユーザが指示したものであることが証明され、銀行取引サーバ2830は、 If the verification succeeds, the transaction content is proven to be one in which a real user has instructed, bank transaction server 2830,
指示された銀行取引の処理を実行する(3016)。 To perform the processing of the indicated bank transactions (3016). 処理が完了したら、銀行取引サーバ2830は、完了通知のメッセージをホスト機器220に送信する(301 When processing is complete, the bank transaction server 2830 transmits a message of completion notification to the host apparatus 220 (301
7)。 7). ホスト機器220は、完了通知のメッセージを受信して情報表示手段2814にそれを表示し、ユーザに取引の完了を通知する(3018)。 The host apparatus 220, display it on the information display means 2814 receives the message of completion notice to notify the completion of the transaction to the user (3018). 以上が、銀行取引サービスの実行手順である。 The above is the procedure execution of banking services. 【0085】図27において、例えば、アプリケーションA173が、以上の銀行取引サービスを実行するためのICカードアプリケーションであるとする。 [0085] In FIG. 27, for example, an application A173 is an IC card application for executing the above banking services. 以下、銀行取引サービスを例にして、アプリケーションA173 Below, and the banking services as an example, application A173
のプログラムの一部をフラッシュメモリチップ130に格納するという機能について具体的に説明していく。 It will specifically described that function to store a portion of the program into the flash memory chip 130. 【0086】図31は、図27のコマンド処理モジュール187がフラッシュメモリチップ130のどこに格納されるかを詳細に示したものである。 [0086] Figure 31 is the command processing module 187 of FIG. 27 shows how the details are stored anywhere in the flash memory chip 130. アプリケーションA用コマンド処理モジュール群3111は、銀行取引サービスの実行手順においてMMC110内のICカードチップ150に送信されるICカードコマンドを処理するためのコマンド処理モジュール187を、複数まとめたものである。 Application A for command processing modules 3111 is one in which the command processing module 187 for processing an IC card command transmitted to the IC card chip 150 in MMC110 in the procedure run banking services, multiple summarized. 図32は、アプリケーションA用コマンド処理モジュール群3111の内容を示している。 Figure 32 shows the contents of the application A for command processing modules 3111. 銀行取引サービスでは7つのICカードコマンドが使用されるため、7つのコマンド処理モジュール187が含まれている。 Since the bank transaction service seven IC card command is used, it contains seven command processing module 187. 第1PIN検証処理モジュール3201は、図29のステップ2902で使用する。 The 1PIN verification processing module 3201 is used in step 2902 of FIG. 29. 署名検証処理モジュール3202は、図29のステップ2909で使用する。 Signature verification processing module 3202 is used in step 2909 of FIG. 29. 乱数発生処理モジュール3203は、図29のステップ2911で使用する。 Random number generation processing module 3203 is used in step 2911 of FIG. 29. 暗号化処理モジュール320 Encryption processing module 320
4は、図29のステップ2914で使用する。 4 is used in step 2914 of FIG. 29. 復号・比較処理モジュール3205は、図30のステップ300 Decoding and comparison module 3205, step 300 of FIG. 30
4で使用する。 It is used in the 4. 第2PIN検証処理モジュール3206 The 2PIN verification processing module 3206
は、図30のステップ3010で使用する。 It is used in step 3010 of FIG. 30. 署名作成処理モジュール3207は、図30のステップ3013で使用する。 Signature generation processing module 3207 is used in step 3013 of FIG. 30. これらのコマンド処理モジュール187は識別番号1から7によって管理され、アプリケーションA These command processing module 187 is managed by 7 from the identification number 1, the application A
用コマンド処理モジュール群3111の中から必要なものを引き出すことができる。 You can pull any needed use command processing module group 3111. 図31において、アプリケーションB用コマンド処理モジュール群3112、アプリケーションC用コマンド処理モジュール群3113 In Figure 31, the application B for command processing module group 3112, an application C for command processing module group 3113
も、アプリケーションA用コマンド処理モジュール群3 Also, application A command processing module group 3
111と同様に、それぞれのICカードアプリケーションに対応する電子取引サービスで使用されるICカードコマンドを処理するためのコマンド処理モジュール18 Like the 111, the command processing module 18 for processing the IC card command used in electronic transaction service corresponding to each IC card application
7を、複数まとめたものである。 7, in which multiple summarized. 【0087】コマンド処理モジュール187を使用するためにはICカードチップ150へロードする必要がある。 [0087] In order to use the command processing module 187 is required to be loaded into the IC card chip 150. このロード処理は、図13のステップ1306や1 The load process, and step 1306 of FIG. 13 1
307で示した環境設定の一種である。 307, which is a kind of environment settings shown in. そのため、アプリケーションA用コマンド処理モジュール群3111、 Therefore, the command processing module group 3111 application A,
アプリケーションB用コマンド処理モジュール群311 Application B command processing module group 311
2、アプリケーションC用コマンド処理モジュール群3 2, the command processing module group 3 Application C
113といったコマンド処理モジュール群は、図31のように、フラッシュメモリチップ130の管理領域21 113 such command processing modules, as shown in FIG. 31, the management of the flash memory chip 130 area 21
10におけるICカード環境設定情報領域2112に格納する。 Stored in the IC card environment setting information area 2112 at 10. 管理領域2110以外の領域(ホストデータ領域2115)に格納してもよいが、不正に改ざんされたりすることを防止するため、管理領域2110に格納するほうが望ましい。 It may be stored in an area other than the management area 2110 (host data area 2115), but to prevent or falsified illegally, should better be stored in the management area 2110. モジュールデータ領域3110は、 Module data area 3110,
各コマンド処理モジュール群を格納するために、ICカード環境設定情報領域2112内に用意された領域である。 To store each command processing module group, an area prepared in the IC card environment setting information area 2112. なお、図31では図21に示した領域のうち、説明に必要ないものを省略している。 Incidentally, in the region shown in FIG. 21 in FIG. 31, it is omitted as not necessary for explanation. 【0088】次に、ICカードチップ150に登録されたアプリケーションA173の中にあるモジュールロード領域185について詳細に説明する。 [0088] Next, the module load area 185 that is in the application A173, which is registered in the IC card chip 150 will be described in detail. 図33は、IC FIG. 33, IC
カードチップ150内のメモリ資源(ROM159、R Memory resources card chip 150 (ROM159, R
AM160、EEPROM162)の詳細な内部構成を示したものである。 AM160, EEPROM162) shows the detailed internal structure of the. まず、ROM159には、ICカードOSプログラム3341、ICカードインタフェース制御プログラム3342が含まれる。 First, the ROM159, include IC card OS program 3341, IC card interface control program 3342. ICカードOSプログラム3341は、ICカードOS172を機能させるためにCPU158で実行されるプログラムである。 IC card OS program 3341 is a program executed by CPU158 for the functioning of the IC card OS 172.
ICカードインタフェース制御プログラム3342は、 IC card interface control program 3342,
ICカードインタフェース171を制御するためにCP CP in order to control the IC card interface 171
U158で実行されるプログラムである。 Is a program to be executed by the U158. 次に、RAM Then, RAM
160には、ICカードOSワーク領域3351、アプリケーションワーク領域3352が含まれる。 The 160, IC card OS work area 3351 includes an application work area 3352. ICカードOSワーク領域3351は、CPU158がICカードOSプログラム3341を実行するときに使用するメインメモリである。 IC card OS work area 3351 is a main memory used when CPU158 executes the IC card OS program 3341. アプリケーションワーク領域335 Application work area 335
2は、ICカードOS172によって選択されたICカードアプリケーション(173、174、175など) 2, (such as 173, 174, 175) IC card application selected by the IC card OS172
が使用するメインメモリである。 There is a main memory to be used. 次に、EEPROM1 Then, EEPROM1
62には、ICカードOS設定情報3310、アプリケーションA173、アプリケーションB174、アプリケーションC175などが含まれる。 The 62, IC card OS configuration information 3310, application A173, application B174, and the like application C175. ICカードOS設定情報3310は、ICカードOS172が、状況に応じてICカードOSプログラム3341によって既定された機能を変化させたり、新しい機能を追加するために使用する書き換え可能な情報である。 IC card OS setting information 3310, IC card OS172 is, or to change the default functionality by IC card OS program 3341 according to the situation, a rewritable information used to add new features. 各ICカードアプリケーション(173、174、175など)は、さらに3つの構成要素からなる。 Each IC card application (such as 173, 174, 175) consists of three more components. 図33では、アプリケーションA173についてそれらの構成要素(アプリケーションAメインプログラム3320、モジュールロード領域185、モジュール管理情報184)を示す。 In Figure 33, showing the components thereof (application A main program 3320, the module loading area 185, the module management information 184) about the application A 173. アプリケーションAメインプログラム3320は、アプリケーションA173の4つの機能ブロック(図27における、コマンド解釈部181、モジュール実行部182、 Application A main program 3320 in the four functional blocks (FIG. 27 of the application A 173, command interpreter 181, the module executing unit 182,
モジュールロード部183、認証部186)を含み、I Module loading section 183 includes the authentication unit 186), I
CカードOS172上で実行されるプログラムである。 A program executed on the C card OS 172.
モジュールロード領域185は、アプリケーションA用コマンド処理モジュール群3111の7モジュール(3 Module load region 185, seven modules of the application A for command processing module group 3111 (3
201〜3207)から実行したいものをロードするための領域であり、1つ以上のモジュールを格納できるサイズが確保されている。 201-3207) is an area for loading the ones you want to run from the size that can store one or more modules is ensured. 例えば、3つの領域(第1領域3331、第2領域3332、第3領域3333)が用意されている。 For example, three regions (first region 3331, a second region 3332, the third region 3333) is prepared. この場合、7モジュールのうち最大3モジュールまでロードすることができる。 In this case, it is possible to load up to three modules of the seven modules. よって、EEP Thus, EEP
ROM162において、アプリケーションA173に消費される領域サイズをできるだけ小さくしたいならば、 In ROM 162, if you want to minimize the area size to be consumed in the application A 173,
モジュールロード領域185は、1モジュールを格納できるサイズを確保すればよい。 Module load region 185 may be secured to the size that can store one module. 次に、モジュール管理情報184は、各コマンド処理モジュール(3201〜3 Next, the module management information 184, the command processing module (3201-3
207)をモジュールロード領域185にロードするときなどに使用されるデータであり、アプリケーションA Is data used, for example, when loading 207) in the module loading area 185, the application A
173内でその内容を参照したり更新したりすることができる。 Its contents in the 173 can or or update see things. また、MMC110内のコントローラチップ1 In addition, the controller chip 1 in the MMC110
20がその内容を読み出すこともできる。 20 can also be read out its contents. さらに、アプリケーションA173の改訂などにおいて、そのコマンド処理モジュール(3201〜3207)を更新する際には、コントローラチップ120がその内容を書き換えることもできる。 Further, in such revision of application A 173, when updating the command processing module (from 3201 to 3207), the controller chip 120 can also be rewritten its contents. 【0089】図35は、アプリケーションA173のモジュール管理情報184の内容を示している。 [0089] FIG. 35 shows the contents of the module management information 184 of the application A173. モジュール管理情報184は、ロード管理情報3510とロード領域情報3520から構成される。 Module management information 184 is composed of the load management information 3510 and load region information 3520. ロード管理情報35 Load management information 35
10は、アプリケーションA用コマンド処理モジュール群3111の各モジュール(3201〜3207)に関する情報であり、ロード領域情報3520は、モジュールロード領域185の各領域(3331〜3333)に関する情報である。 10 is information relating to each module of the application A for command processing modules 3111 (3201 to 3207), the load region information 3520 is information relating to each region (3331-3333) of the module load region 185. ロード管理情報3510は、各モジュールの識別番号(番号3511)とコマンド処理の内容(処理内容3512)との対応関係を示す情報を含む。 Load management information 3510 includes information indicating the correspondence between the contents of a command process identification number of each module (No. 3511) (processing contents 3512). コントローラチップ120がモジュールをロードする際には、番号3511をコマンド処理モジュール18 When the controller chip 120 loads the module, the number 3511 the command processing module 18
7に付してICカードチップ150にロードする。 Be loaded into the IC card chip 150 is subjected to 7. なお、処理内容3512に記載するデータとして、ホスト機器220から受信したセキュリティ処理要求コマンドのヘッダ部分(コマンドクラス番号や命令コード番号など)を利用すれば、コントローラチップ120によるモジュール選択がしやすい。 Incidentally, as the data described processing contents 3512, by using the header portion of the security processing request command received from the host device 220 (such as a command class number and instruction code number), easier to module selection by the controller chip 120. ロード管理情報3510は、 Load management information 3510,
各モジュールのプログラムサイズ(サイズ3513) Program size of each module (size 3513)
(単位はバイト)を含み、モジュールロード領域185 (In bytes), wherein the module load area 185
の各領域に格納可能なサイズかどうかを判定できるようにしている。 And to be able to determine whether storable size in each area of ​​the. ロード管理情報3510は、各モジュールのロード状態(状態3514)を含む。 Load management information 3510 includes a load state of each module (state 3514). 図35では、例えば、第1PIN検証処理モジュール3201がモジュールロード領域185の第2領域3332にロードされており、乱数発生処理モジュール3203はモジュールロード領域185にロードされていないことを示している。 In Figure 35, for example, the 1PIN verification processing module 3201 are loaded in the second area 3332 of the module load region 185, random number generation processing module 3203 indicates that it has not been loaded in the module loading area 185. ロード管理情報3510は、その時点でロードされている各モジュールの改訂番号(使用版3515)を含む。 Load management information 3510 includes a revision number (using version 3515) of each module that is loaded at that time. ロード管理情報3510は、各モジュールの最新の改訂番号(最新版3516)を含む。 Load management information 3510, including the latest revision number (latest version 3516) of each module. モジュールの更新時にMMC110のホスト機器220から最新の改訂番号が知らされ、そのモジュールの最新版3516の値がその番号に更新される。 The latest revision number made known to the module during an update from the host device 220 of MMC110, the value of the latest version 3516 of the module is updated to that number. その際、更新するモジュール以外のモジュールの最新版3516の値も同時に更新してもよい。 At that time, the value of the latest version 3516 of modules other than the update module may also be updated at the same time. ロード管理情報3510は、ロード条件351 Load management information 3510, load conditions 351
7を含む。 Including 7. ロード条件3517は、モジュールをロードするときに、ロードを許可するかどうかをアプリケーションA173が判定するための条件であり、その使用版3515や最新版3516の値に基づく。 Road conditions 3517, when loading a module, is a condition for determining whether to allow the load application A173, based on the value of its use version 3515 and the latest version of 3516. 図35では、 In Figure 35,
例えば、署名検証処理モジュール3202は改訂番号に関係なくロードを許可し、暗号化処理モジュール320 For example, the signature verification processing module 3202 to allow the load regardless of the revision number, encryption processing module 320
4は最新版のみロードを許可し、復号・比較処理モジュール3205は使用版3515の値が1.0以上ならばロードを許可することを意味する。 4 allow loading only the latest version, decoding and comparison module 3205 means that the value of the used plate 3515 to allow loading if 1.0 or more. 次に、ロード領域情報3520は、モジュールロード領域185の各領域(3331〜3333)の容量サイズ3521(単位はバイト)を含む。 Next, load region information 3520, the size 3521 of each region (3331-3333) of the module load region 185 (in bytes) including. これは、各領域(3331〜333 This is, each of the regions (3331-333
3)が、サイズ3521の値より大きなサイズのモジュールをロードできないことを示すための情報である。 3) is information for indicating that the module can not be loaded in a size larger than the size value 3521. 例えば、第2領域3332には320バイトの容量しかないため、復号・比較処理モジュール3205(サイズが388バイト)はロードすることが許可されない。 For example, since the second region 3332 has only the capacity of 320 bytes, decoding and comparison processing module 3205 (size of 388 bytes) is not allowed to be loaded. ロード領域情報3520は、領域識別番号3522を含む。 Load area information 3520, including the area identification number 3522.
これは、コントローラチップ120が、コマンド処理モジュール187をロードする領域を指定するのに使用する。 This controller chip 120 is used to specify the region for loading the command processing module 187. 【0090】図34は、コントローラチップ120によるコマンド処理モジュール187のロード、およびIC [0090] Figure 34 is a load of the command processing module 187 by the controller chip 120, and IC
カードチップ150によるセキュリティコマンドの実行の手順を示すフローチャートである。 It is a flowchart showing a procedure of execution of the security command by the card chip 150. まず、コントローラチップ120はモジュール管理情報184を使用してモジュールをロードするかを判断する(3401)。 First, the controller chip 120 determines whether to load the module using the module management information 184 (3401). このステップ3401は、図13ではステップ1306に相当する。 This step 3401 corresponds to step 1306 in FIG. 13. コントローラチップ120が、必要なモジュールがすでにロードされていることを知っているならば、ステップ3412に移ってよい。 If the controller chip 120, knows that the necessary module is already loaded, it proceeds to step 3412. これは、図13ではステップ1306から1308への遷移に相当する。 This corresponds to the transition from FIG. 13, step 1306 to 1308.
一方、コントローラチップ120が、モジュール管理情報184を使用してモジュールをロードする必要があるかを判断したいならば、ステップ3402に遷移する。 On the other hand, the controller chip 120, using the module management information 184 if you want to determine whether it is necessary to load the module, the process proceeds to step 3402.
これは、図13ではステップ1307(環境設定の実行)への遷移に相当する。 This corresponds to a transition to step 1307 in FIG. 13 (execution preferences). ステップ3402では、コントローラチップ120は、環境設定のためのICカードコマンドとして、モジュール管理情報184のリードコマンドをICカードチップ150に発行する。 In step 3402, the controller chip 120, an IC card command for configuration, issues a read command module management information 184 into the IC card chip 150. ICカードチップ150のICカードOS172は、アプリケーションA173にこのコマンドの処理権を渡す。 IC card OS172 of the IC card chip 150, and passes the processing rights of this command in the application A173. アプリケーションA173は、コマンド解釈部181でこのコマンドを解釈し、ICカードOS172を通してモジュール管理情報184をコントローラチップ120へ送信する(3403)。 Application A173 interprets the command in the command interpretation unit 181, transmits through the IC card OS172 the module management information 184 to the controller chip 120 (3403). コントローラチップ120は、モジュール管理情報184の内容を調べ、所望のコマンド処理モジュール187が、モジュールロード領域185にロードされているかを確認する(3404)。 Controller chip 120 checks the contents of the module management information 184, desired command processing module 187 confirms whether it is loaded into the module loading area 185 (3404). そして、 And,
存在するならばステップ3412に移り、存在しなければステップ3406に移る(3405)。 If present proceeds to step 3412, it proceeds to step 3406 if there (3405). コントローラチップ120は、フラッシュメモリチップ130のモジュールデータ領域3110から所望のコマンド処理モジュール187(ここでは3201から3407のいずれか)を読み出す(3406)。 Controller chip 120 reads the command processing module 187 from the module data area 3110 desired in the flash memory chip 130 (here either 3407 from 3201) (3406). そして、コントローラチップ120は、環境設定のためのICカードコマンドとして、モジュールロードコマンドをICカードチップ1 Then, the controller chip 120, IC as a card command, IC card chip 1 module load command for preferences
50に発行し、読み出したモジュール、モジュール識別番号(ここでは1〜7の範囲)、ロード領域番号(ここでは1〜3の範囲)を送信する(3407)。 Issued 50, the read module, the module identification number (range 1-7 in this case), and transmits the load region number (range 1-3 in this case) (3407). ICカードチップ150のICカードOS172は、アプリケーションA173にこのコマンドの処理権を渡す。 IC card OS172 of the IC card chip 150, and passes the processing rights of this command in the application A173. アプリケーションA173は、コマンド解釈部181でこのコマンドを解釈し、認証部186において、受信したコマンド処理モジュール187が適正かを判定する(340 Application A173 interprets the command in the command interpretation unit 181, the authentication unit 186 determines whether the command processing module 187 which has received the proper (340
8)。 8). 具体的には、コマンド処理モジュール187にかけられた暗号を解き、実行可能なデータ形式であるか、 Specifically, solve the cipher applied to the command processing module 187, or an executable data format,
サイズが適当であるかなどを調べる。 Size is checked and whether it is appropriate. そのため、認証部186は、モジュールにかけられた暗号を解くためのモジュール鍵を持つ。 Therefore, the authentication unit 186 has a module key to solving the wagered cryptographic module. 望ましくは、モジュールの改ざん防止のために電子署名を適用する。 Desirably, apply a digital signature to prevent tampering of the module. すなわち、アプリケーションA173に固有の秘密鍵(アプリケーション秘密鍵)とそれに対応する公開鍵(アプリケーション公開鍵)を用意し、コマンド処理モジュール187、または、その暗号化前の実行可能形式データにアプリケーション秘密鍵によって電子署名を付けておき、認証部18 That is, providing a public key and its corresponding unique private key (application secret key) (application public key) to the application A 173, the command processing module 187, or by the application secret key encrypted before the executable format data in advance with the electronic signature, authentication unit 18
6でアプリケーション公開鍵によってその署名を検証するようにする。 So as to verify the signature by the application public key in 6. この場合、認証部186は、アプリケーション公開鍵も持つ。 In this case, the authentication unit 186, also has application public key. ステップ3408において、コマンド処理モジュール187が適正でないならば、ステップ3411に移り、ICカードチップ150は、ロード結果が失敗であることをコントローラチップ120に返す。 In step 3408, if the command processing module 187 is not proper, the procedure proceeds to step 3411, IC card chip 150 will return the load result is a failure in the controller chip 120. コマンド処理モジュール187が適正ならば、アプリケーションA173のモジュールロード部183は、 If the command processing module 187 is proper, module loading section 183 of the application A173 is,
モジュールロード領域185の指定された領域(333 The specified region of the module load area 185 (333
1、3332、3333のいずれか)にライトし(34 Light to any) of 1,3332,3333 (34
09)、モジュール管理情報184の状態3514を更新する(3410)。 09), to update the state 3514 of the module management information 184 (3410). そして、ICカードチップ150 Then, IC card chip 150
は、ロード結果が成功であることをコントローラチップ120に返す(3411)。 Returns the load result is successful on the controller chip 120 (3411). そして、コントローラチップ120は、ステップ3412〜3416にわたって、 Then, the controller chip 120, over a step 3412 to 3416,
アプリケーションA173によるセキュリティコマンド処理を実行する。 To run the security command processing by the application A173. これは、図13のステップ1309に相当する。 This corresponds to step 1309 of FIG. 13. まず、コントローラチップ120は、ICカードチップ150にセキュリティコマンドを発行する(3412)。 First, the controller chip 120 issues a security command to the IC card chip 150 (3412). セキュリティコマンドとは、図29におけるステップ2901、2908、2910、291 A security command, the steps in FIG. 29 2901,2908,2910,291
3、図30におけるステップ3003、3009、30 3, the steps in FIG. 30 3003,3009,30
12のいずれかで発行するコマンドに応じて、MMC1 Depending on the command to be issued in any of the 12, MMC1
10内部で発行されるICカードコマンドである。 10 is an IC card command issued internally. IC IC
カードチップ150内のアプリケーションA173のコマンド解釈部181は、モジュール管理情報184により、そのコマンドに対応するコマンド処理モジュール1 Command interpreter 181 of the application A173 card chip 150, the module management information 184, the command processing module 1 corresponding to the command
87がモジュールロード領域185に存在するかを調査する(3413)。 87 to investigate whether there in the module load area 185 (3413). 存在しないならば、処理結果が失敗であることをコントローラチップ120に返し(341 If not present, it returns the processing result is a failure in the controller chip 120 (341
5)、ステップ3416に移る。 5), and then proceeds to step 3416. 存在するならば、モジュール実行部182は、モジュールロード領域185からそのコマンド処理モジュール187を読み、セキュリティコマンドを処理する(3414)。 If present, the module executing unit 182 reads the command processing module 187 from the module load area 185, processes the security command (3414). そして、その処理結果をコントローラチップ120に返す(341 Then, return the processing result to the controller chip 120 (341
5)。 5). コントローラチップ120は、その処理結果を受信する(3416)。 The controller chip 120 receives the processing result (3416). 以上が、コントローラチップ12 Or higher, the controller chip 12
0によるコマンド処理モジュール187のロード、およびICカードチップ150によるセキュリティコマンドの実行手順である。 0 by loading the command processing module 187, and a procedure executing security command by the IC card chip 150. 【0091】図36は、フラッシュメモリチップ130 [0091] FIG. 36, the flash memory chip 130
に格納されたアプリケーションA173のためのコマンド処理モジュール187を、ホスト機器220によって更新する手順を示すフローチャートである。 The command processing module 187 for storing application A173 in a flowchart illustrating a procedure for updating by the host apparatus 220. ここで、ホスト機器220は、アプリケーションA173のモジュール更新することを許可されており、上述のアプリケーション秘密鍵を持っているものとする。 Here, the host device 220 is authorized to module update application A 173, and those that have an application secret key described above. また、この手順においてホスト機器220からMMC110に送信される新しいコマンド処理モジュールは、その識別番号、サイズ、改訂番号(それぞれ、図35における番号351 A new command processing module transmitted from the host device 220 to MMC110 In this procedure, the identification number, size, revision number (each number in FIG. 35 351
1、サイズ3513、最新版3516に登録されるべき情報)が含まれている。 1, size 3513, information should be registered in the most recent edition 3516) are included. また、この手順に先だって、I In addition, prior to this procedure, I
Cカードチップ150では、アプリケーションA173 In C card chip 150, application A173
が選択されているものとする。 There is assumed to be selected. まず、ホスト機器220 First, the host device 220
は暗号化乱数発生コマンドを発行する(3601)。 Issues an encrypted random number generation command (3601). M
MC110は、ICカードチップ150のアプリケーションA173の認証部186において、乱数を発生させ(3602)、その乱数を上述のアプリケーション公開鍵で暗号化させ、暗号化乱数をホスト機器220に送信する(3603)。 MC110, in the authentication unit 186 of the application A173 in the IC card chip 150, a random number is generated (3602), the random number is encrypted with the application public key described above, and transmits the encrypted random number to the host apparatus 220 (3603) . ホスト機器220は、アプリケーション秘密鍵で暗号化乱数を復号し、乱数を復元する(3 The host device 220 decrypts the encrypted random number by the application secret key, to recover the random number (3
604)。 604). そして、ホスト機器220は、その乱数と新しいコマンド処理モジュールを連結したデータを作り、 Then, the host apparatus 220 makes a data obtained by linking the random number new command processing module,
そのデータにアプリケーション秘密鍵で電子的に署名する(3605)。 Electronically sign the application secret key to the data (3605). ホスト機器220は、MMC110に検証・ライトコマンドを発行して、その署名付き連結データを送信する(3606)。 The host apparatus 220 issues a verification and write commands to the MMC 110, and sends the signed concatenated data (3606). MMC110は、ICカードチップ150のアプリケーションA173の認証部186において、アプリケーション公開鍵で連結データの署名を検証させる(3607)。 MMC110, in the authentication unit 186 of the application A173 in the IC card chip 150, thereby verifying the signature of the concatenated data in the application public key (3607). ステップ3608では、連結データ内の乱数がステップ3602で発生した乱数と一致するかを比較する。 In step 3608, it compares whether the random number in the concatenation data matches the random number generated in step 3602. ステップ3607での検証が成功し、かつそれらの乱数が一致したならば、受信した新しいコマンド処理モジュールは正しいものであることが証明されたので、新しいコマンド処理モジュールを、アプリケーションA用コマンド処理モジュール群3 Verification is successful in step 3607, and if these random numbers match, since it has been demonstrated a new command processing module received is correct, the new command processing module, the command processing module group application A 3
111の中の同じ識別番号のコマンド処理モジュールに上書きする(3609)。 111 overwrites the command processing module having the same identification number in the (3609). さらに、ICカードチップ1 In addition, IC card chip 1
50にICカードコマンドを送ることによって、アプリケーションA173内のモジュール管理情報184の内容(図35における番号3511、サイズ3513、最新版3516に登録される情報)も更新する。 By sending an IC card command 50, the contents of the module management information 184 of the application A 173 (numbers in FIG. 35 3511, size 3513, the information registered in the latest edition 3516) is also updated. そして、 And,
ホスト機器220は更新処理を終了する(3610)。 The host device 220 ends the update processing (3610).
一方、ステップ3607での検証が失敗するか、または乱数が一致しないならば、コマンド処理モジュールやモジュール管理情報184の内容の更新は実行せず、ホスト機器220は更新処理を終了する(3610)。 On the other hand, if the verification in step 3607 fails, or if the random number does not match, updating the contents of the command processing module and module management information 184 does not execute, the host apparatus 220 ends the update processing (3610). 【0092】図37は、図34や図36の手順で登場したアプリケーションに固有な3種類の鍵(モジュール鍵、アプリケーション秘密鍵、アプリケーション公開鍵)を説明したものである。 [0092] FIG. 37 is that described a unique three types of key (module key, application secret key, application public key) to the application that appeared in the procedure of FIG. 34 or FIG. 36. モジュール鍵3701は、 Module key 3701,
コマンド処理モジュールにかけられた暗号を解き、実行可能形式に復元するための対称鍵である。 Solving the encryption placed to the command processing module, a symmetric key for restoring the executable form. アプリケーション秘密鍵3702は、アプリケーション発行者が厳重に管理すべき秘密鍵であり、コマンド処理モジュールの更新手順において乱数の復号、署名の作成に使用される。 Application secret key 3702 is a secret key application issuer to be managed severely, decoding of the random number in the update procedure of the command processing module, is used to create the signature. アプリケーション公開鍵3703は、アプリケーション秘密鍵3702に対応する公開鍵であり、コマンド処理モジュールのロード手順・更新手順において乱数の暗号化、署名の検証に使用される。 Application public key 3703 is a public key corresponding to the application secret key 3702, encryption of the random number in the load procedure and update procedure of the command processing module, is used to verify the signature. 【0093】上記では、コマンド処理モジュール187 [0093] In the above, the command processing module 187
が1つのセキュリティコマンドを処理するプログラムモジュールであると説明されているが、複数のセキュリティコマンドを1つのコマンド処理モジュール187が処理してもよい。 Although There has been described as a program module that processes a single security command, the plurality of security commands one command processing module 187 may process. 【0094】本発明によれば、ICカードチップによるセキュリティ処理に必要なデータやICカードチップを管理するための情報をフラッシュメモリに保持し、IC According to [0094] the present invention, it holds information for managing the data and IC card chip required security process by the IC card chip flash memory, IC
カードチップ内のセキュリティ処理プログラムが消費するメモリ資源を節約し、より多くのプログラムを登録することができる。 To save memory resources that the security program in the card chip consumes may register more programs. したがって、ユーザの利便性を向上させることができる。 Therefore, it is possible to improve the convenience for the user. 【0095】尚、1つのMMC110が、複数のICカードチップ150を備えてもよい。 [0095] Incidentally, one MMC110 may include a plurality of IC card chip 150. 複数のICカードチップ1 A plurality of IC card chip 1
50の個々は、異なるアプリケーションプログラムを実行してもよい。 Individual 50 may execute different application programs. 例えば、3つのICカードチップ150のうちの第1のICカードチップ150が、アプリケーションプログラムA173を実行し、3つのICカードチップ150 For example, the first IC card chip 150 of the three IC card chip 150 executes the application program A 173, three IC card chip 150
のうちの第2のICカードチップ150が、アプリケーションプログラムB174を実行し、3つのICカードチップ150のうちの第3のICカードチップ150が、アプリケーションプログラムC175を実行するのが好ましい。 The second IC card chip 150 of the executes the application program B 174, the third IC card chip 150 of the three IC card chip 150 is preferred to run the application program C175. さらに、複数のICカードチップ150の個々は、異なる者によって認可又は発行されてもよい。 Furthermore, each of the plurality of IC card chip 150 may be authorized or issued by different persons. 例えば、第1のI For example, the first I
Cカードチップ150は、アプリケーションプログラムA1 C card chip 150, application programs A1
73を用いて銀行取引サービスを実現する例えば銀行によって認可又は発行され、第2のICカードチップ150 73 is authorized or issued by, for example, a bank to achieve the banking service using the second IC card chip 150
は、アプリケーションプログラムB174を用いてクレジット決済サービスを実現する例えばクレジット会社によって認可又は発行されるのが好ましい。 It is preferably authorized or issued by, for example, credit card companies to achieve a credit settlement service using an application program B 174. 第3のICカードチップ150は、アプリケーションプログラムC175を用いてコンテンツ配信サービスを実現する例えばコンテンツプロバイダーによって認可又は発行されてもよいし、 The third IC chip 150 may be approved or issued by, for example, the content provider for realizing content distribution service by using an application program C175,
第3者(例えば、ICカードチップ150のセキュリティを認可又は保証する機関)によって認可又は発行されてもよい。 Third party (e.g., the engine of authorizing or guarantee the security of the IC card chip 150) may be approved or issued by. この場合、銀行、クレジット会社、コンテンツプロバイダーや第3者によって認可又は発行された後、 In this case, bank, credit card company, after it has been approved or issued by the content providers and third parties,
MMC110に搭載するのが好ましい。 Preferably mounted on the MMC110. つまり、認可又は発行されたICカードチップ150を、MMC110上に固定し、ICカードチップ150内のインターフェース150〜15 In other words, the authorization or issued IC card chip 150, and fixed on the MMC 110, the interface of the IC card chip 150 150-15
7と、ICカードI/F制御回路128、CLK2制御回路1 And 7, IC card I / F control circuit 128, CLK2 control circuit 1
27、VOC2制御回路126、GND1とを電気的に接続する。 27, electrically connecting the VOC2 control circuit 126, GND1. 【0096】これまでに述べたMMC110のセキュリティ処理においては、ICカードチップ150に送信するICカードコマンドによって扱うべきデータサイズが、ICカードチップ150内部で利用可能なワークメモリの空き容量を越えてしまうと、セキュリティ処理が実行不能になってしまう可能性がある。 [0096] In the security process MMC110 described so far, the data size to be handled by the IC card command transmitted to the IC card chip 150, exceeds the available capacity of the work memory available in the IC card chip 150 If there is a possibility that the security process becomes impractical. 例えば、ワークメモリ(例えば、RAM160のICカードOSワーク領域3351やアプリケーションワーク領域3352等)の空き容量が100バイトのときに、ICカードコマンドにより200バイトの暗号文の復号が要求されても処理できない。 For example, a work memory (e.g., IC card OS work area 3351 and the application work area 3352, etc. RAM 160) when the free space of 100 bytes, the decoding of the 200-byte ciphertext can not process be required by the IC card command . このような問題を解決するために、MMC110 In order to solve such a problem, MMC110
は、ICカードチップ150が状況(例えば、ICカードコマンドによって要求される処理に必要なメモリ量やICカードコマンドによって処理すべきデータ量)に応じて外部に対して能動的に要求を出す機能を搭載する。 Is, the IC card chip 150 are situations (e.g., amount of data to be processed by the memory amount and the IC card command required processing required by the IC card command) the ability to issue actively request to outside in response to the Mount.
以下、その機能について説明する。 The following describes the function. 【0097】上記の問題を解決するには、まず、ICカードチップ150は、セキュリティのためのコマンドを受け取り、その後処理すべきデータ量を算出し、その処理すべきデータ量がその時点でのワークメモリの空き容量より大きい又は以上であるかを判断するとよい。 [0097] To solve the above problem, first, IC card chip 150 receives a command for security, to calculate the amount of data to be subsequently processed, the work amount of data to be the process is at that time may determine whether it is free of the memory capacity is greater than or more. 比較すべき空き容量は、コマンドを受け取ってからその都度計算してもよいし、常時計算しておいてレジスタに保持しておき、その値を利用してもよい。 Space to be compared may be calculated each time after receiving the command, may be held in advance constantly calculated in the register may be used that value. もしそれが空き容量より大きい又は以上でなければ(空き容量より小さい又は以下であれば)、コマンドで指示された処理を実行し、コントローラチップ120にその処理結果を応答として返す。 Unless if it free space greater than or more (if available capacity is less than or less), and executes the processing instructed by the command, and returns as a response the processing result to the controller chip 120. 一方、もしそれが空き容量より大きい又は以上であるならば、状況に応じた要求を含む応答をコントローラチップ120に返す。 On the other hand, if it is the free space is greater than or above, returns a response including the request according to the situation on the controller chip 120. その要求の内容としては、 The contents of the request,
例えば、「たったいま送信したデータをフラッシュメモリチップ130にライトし、128バイト単位に分割して送れ」とか、「ホスト機器220は、処理すべきデータを128バイト単位に分割して再送信せよ」といったものが考えられる。 For example, "just write the transmitted data flash memory chip 130, send divided into 128-byte units" or "host apparatus 220, whether retransmission is divided data to be processed in 128-byte units" things like can be considered. コントローラチップ120が、このような要求にしたがって適当な処理を実行すれば、IC Controller chip 120, executing an appropriate process in accordance with such requirements, IC
カードチップ150によるセキュリティ処理が実行不能になることを防止することができる。 It is possible to prevent the security process by the card chip 150 is impractical. 【0098】このような機能は、図23を用いて説明したコンテンツ配信の例にも適用することができる。 [0098] Such a function can be applied to an example of a content distribution described with reference to FIG. 23. 暗号化されたコンテンツ2314をセッション鍵によって復号する手順2324において、コンテンツ2314のデータサイズがワークメモリの空き容量より大きい又は以上であったならば、ICカードチップ150は「ホスト機器220は、コンテンツ2314を128バイト単位に分割して再送信せよ」などの要求を含んだ応答を返す。 In steps 2324 to decrypt the encrypted content 2314 by the session key, if the data size of the content 2314 were free space is larger than or more working memory, IC card chip 150 is "host apparatus 220, the content 2314 the returns a response including the request for such retransmission event "is divided into 128-byte units. コンテンツ2314のデータを一括して受け取って、その復号処理を実行し、処理結果(成功か失敗か等)を含んだ応答を返してもよい。 Content data 2314 received collectively, it executes the decoding process may return the processing result response containing (success or failure, etc.). これにより、ICカードチップ150による復号処理が実行不能になることを防止することができる。 Thus, it is possible to prevent the decoding process by the IC card chip 150 is impractical. ICカードチップ150は、 IC card chip 150,
これに加えて、さらに「コントローラチップ120は、 In addition to this, further "controller chip 120,
復号したコンテンツをフラッシュメモリチップ130にライトせよ」という要求を含んだ応答を返してもよい。 Including a request to write event "decrypted content to the flash memory chip 130 may return a response.
そうすれば、ホスト機器220が、コンテンツをフラッシュメモリチップ130にライトするため、MMC11 That way, because the host apparatus 220 writes the content to the flash memory chip 130, MMC11
0に対してライトコマンドを送信する手間を省くこともできる。 It is also possible to save the trouble of sending a write command to zero. 【0099】以下、ICカードチップ150がコントローラチップ120を通じて要求する何らかの処理のことを、「外部処理」と一般化して呼ぶこととする。 [0099] Hereinafter, IC card chip 150 is that any processing requested through the controller chip 120, will be referred to generalize as "external processing". 【0100】図38を用いてMMC110が外部処理を実行する手順を詳細に説明する。 [0100] MMC110 is a procedure to run an external process in detail with reference to FIG. 38. 先ず、コントローラチップ120はセキュリティ処理のためのICカードコマンドを発行する(3801)。 First, the controller chip 120 issues the IC card command for security processing (3801). ICカードチップ150 IC card chip 150
はそのコマンドを解析し、外部処理が必要かを判断する(3802)。 It analyzes the command to determine whether external processing is required (3802). 例えば、前述例のように、ICカードコマンドで入力されたデータの量とICカードチップ15 For example, as previously described example, the amount of data input by the IC card command and the IC card chip 15
0内のワークメモリの空き容量とを比較し、データ量がメモリ容量より大きい又は以上であれば外部処理が必要と判断し、データ量がメモリ容量より小さい場合は外部処理が不要と判断する。 Compares the free space of the work memory in the 0, the amount of data is determined to require external processing if a memory capacity greater than or above, the data amount is the smaller than the memory capacity external processing is determined to be unnecessary. 手順3802の結果、外部処理が必要ならば、外部処理要求コードを含むレスポンスを送信する(3803)。 Results of the procedure 3802, if the external process is required, sends a response including external processing request code (3803). 外部処理要求コードとは、コントローラチップ120に外部処理を要求したいということを告知するための符号である。 The external processing request code, a code for notifying that we want to request the external processing controller chip 120. ICカードチップ15 IC card chip 15
0が準拠するISO7816のコマンド規格によれば、 According to the ISO7816 of command standard that 0 is compliant,
I/O端子157からシリアルデータとして出力される、ICカードコマンドのレスポンス信号は、コマンド処理状況を示す「ステータスワード」と呼ばれる例えば2バイトの符号化データをその末尾部(又は前頭部)に含む。 Output from the I / O terminal 157 as serial data, the response signal of the IC card command, a 2-byte coded data, for example, called "status word" indicating the command processing status to the tail (or forehead) including. これは主に、コマンド処理結果がエラー(6X This is mainly, the command processing result is an error (6X
h、XXh(Xはエラー内容に依存))であるか、成功(90h、00h)であるかをICカードチップ外部に示すために使用される。 h, XXh (X error content dependent) or a), is used successfully (90h, whether a 00h) to indicate to the IC card chip external. 外部処理要求コードは、このステータスワードを利用するのが好ましい。 External processing request code, it is preferable to use this status word. すなわち、ステータスワード=91h、YYhを外部処理要求コードと定義する。 That is, the status word = 91h, is defined as an external processing request encoding yyh. ここで、YYhは、外部処理の内容を示したデータの長さがでYYh(16進数)バイトであることを予告している。 Here, yyh has heralded the length of the data showing the contents of the external process is in yyh (16 hex) bytes. 手順3803の次に、コントローラチップ120は、レスポンスを受信し、その受信したレスポンスを分析し、外部処理要求コードが含まれるかを調べる(3804)。 The next step 3803, controller chip 120 receives the response, analyze the response which the received, checks include external processing request code (3804). 外部処理要求コードが含まれているならば、外部処理内容を読み出すICカードコマンドを発行する(3805)。 If it contains external processing request code, and issues the IC card command for reading the external processing content (3805). そして、YYhバイトの外部処理内容を含む応答データを待つ。 Then, wait for the response data including the external processing contents of the YYh bytes. ICカードチップ1 IC card chip 1
50がYYhバイトの外部処理内容を含む応答データを送信する(3806)と、コントローラチップ120は受信した外部処理内容を分析する(3807)。 50 transmits response data including the external processing contents of YYh bytes as (3806), the controller chip 120 analyzes the external processing contents received (3807). そして、コントローラチップ120は、外部処理内容に応じて、フラッシュメモリチップ130またはホスト機器2 Then, the controller chip 120, in response to an external processing contents, flash memory chip 130 or the host device 2
20に対して、上の例で記したような外部処理を指示する(3808)。 Against 20 instructs the external processing as noted in the example above (3808). フラッシュメモリチップ130またはホスト機器220は、指示された外部処理を実行する(3809)。 Flash memory chip 130 or the host apparatus 220 executes the designated external processing (3809). その後、コントローラチップ120は、 Thereafter, the controller chip 120,
その外部処理の結果を示すデータを作成し(381 Create data indicating the result of the external processing (381
0)、ICカードチップ150に結果通知コマンドを発行して外部処理の結果を送信する(3811)。 0), and issues a result notification command to the IC card chip 150 transmits the result of external processing (3811). ICカードチップ150は、外部処理の結果を分析し、正しく処理されたか、または、さらなる外部処理が必要かどうかを判断する(3812)。 IC card chip 150 analyzes the results of external processing, or not processed correctly, or to determine whether further external processing is required (3812). そして、その判断に応じたレスポンスを送信する(3813)。 Then, it transmits a response in accordance with the determination (3813). コントローラチップ120は、そのレスポンスを分析する(3814)。 Controller chip 120 analyzes the response (3814).
そのレスポンス中のステータスワードがエラー(6X Status word is an error of that in the response (6X
h、XXh)であれば、外部処理はエラーであることを意味する。 h, if XXh), meaning that the external processing is an error. それが成功(90h、00h)であれば、外部処理は正常に終了したことを意味する。 If it is successful (90h, 00h), external processing means that it has completed successfully. もし、ステータスワードが外部処理要求コード(91h、YYh)であれば、コントローラチップ120は、手順3805に戻って、次に要求される外部処理内容を読み出す手順から再び始める。 If it is the status word is an external processing request code (91h, yyh), the controller chip 120, return to Step 3805, it starts again from step of reading the external processing content to be requested next. 【0101】なお、手順3806において送信する外部処理内容の表記法としては、コントローラチップ120 [0102] As the notation of the external processing content transmitted in step 3806, the controller chip 120
とICカードチップ150との間であらかじめ定義された符号化ルールを利用することが好ましい。 And it is preferable to use a predefined coding rule with the IC card chip 150. 符号化ルールとしては、例えば、「フラッシュメモリチップ13 The coding rule, for example, "flash memory chip 13
0」を01h、「ICカードチップ150」を02h、 0 "01h, the" IC card chip 150 "02h,
「直前に送信されたデータ」を11h、「ライト処理せよ」を22h、「128(80h)バイト単位に分割して送信せよ」を2380hなどとあらかじめ定義しておく。 The "data transmitted immediately before" 11h, 22h "Write processing event", previously defined as such 2380h to "128 (80h) event transmitted is divided into byte units." この場合、一例として、外部処理内容データに01 In this case, as an example, 01 to an external processing content data
h、11h、22h、02h、11h、23h、80h h, 11h, 22h, 02h, 11h, 23h, 80h
という7バイトの符号を設定することは、「たったいま送信したデータをフラッシュメモリチップ130にライトし、それを128バイト単位に分割してICカードチップ150に送れ」という内容を意味している。 Setting the sign of 7 bytes that means a content of "just Write transmit data to the flash memory chip 130, send to the IC card chip 150 by dividing it into 128-byte units." このような符号化ルールは、コントローラチップ120内部に格納しておいたものを参照してもよいし、フラッシュメモリチップ130に格納しておき、必要に応じてそこから読み出して参照してもよい。 Such encoding rules may be referring to those stored in the internal controller chip 120 may be stored in the flash memory chip 130 may be referred to read out therefrom as required . 【0102】また、手順3806において送信する外部処理内容が、フラッシュメモリチップ130に対するリード・ライト処理である場合は、外部処理内容のデータ形式をMultiMediaCard仕様に定義されたリード・ライトコマンドと同じ形式にしてもよい。 [0102] The external processing content transmitted in step 3806, if a read-write processing to the flash memory chip 130 in the same format as the read-write commands defined data format for external processing contents MultiMediaCard specifications it may be. これは、ホスト機器220がMMC110に対して発行するコマンドと同じ構造のデータ形式となるため、コントローラチップ120内部にあるMMCコマンドの分析手段に外部処理内容のデータを直接入力するだけで外部処理(フラッシュメモリに対するリード・ライト処理)が実行できるため、効率的な処理が実現できる。 This is because the host device 220 becomes the data format of the same structure as the command to be issued to the MMC 110, only external processing directly input the data of the external processing contents analyzing means MMC commands in the internal controller chip 120 ( since the read-write processing to the flash memory) can be executed, efficient processing can be realized. 【0103】また、手順3806において送信する外部処理内容が、ホスト機器220に対して要求する処理である場合は、外部処理内容のデータ形式をMultiM [0103] Also, when the external processing content transmitted in step 3806 is a process for making a request to the host apparatus 220, MultiM the data format of the external processing contents
ediaCard仕様に定義されたコマンドのレスポンスと同じ形式にしてもよい。 It may be the same format as the response of the defined command in ediaCard specification. そうすれば、ホスト機器2 That way, the host device 2
20内部にあるMMCレスポンスの分析手段に外部処理内容のデータを直接入力するだけで外部処理が実行できるため、効率的である。 Because only be performed external processing is directly input data from an external processing contents analyzing means MMC response in the interior 20, it is efficient. 【0104】ホスト機器220が通信機能を持つような機器であるならば、ホスト機器220に対する外部処理として、「遠隔地のサーバにデータを送信せよ」といった内容にすることも可能である。 [0104] If the host device 220 is a device that has a communication function, as an external process to the host device 220, it is also possible to contents such as "event sends the data to the remote server." これにより、ホスト機器220内部にあるサーバ通信プログラムの一部を削減できるため、ホスト機器220内部のプログラムメモリを節約できる。 Accordingly, it is possible to reduce a portion of the server communication program that is inside the host apparatus 220 can be saved host apparatus 220 inside the program memory. 【0105】ホスト機器220がXML(eXtens [0105] The host device 220 is XML (eXtens
ible Markup Language:拡張可能なマーク付け言語)に対応したブラウザ機能を持つような機器であるならば、ホスト機器220に対する外部処理として、「データをブラウザによってディスプレイに表示せよ」とった内容も可能である。 ible Markup Language: If a device, such as having a browser function that corresponds to the Extensible Markup Language), as an external processing to the host device 220, the content was taken "data case displayed on the display by the browser" is also possible is there. このとき、ICカードチップ150が送信する表示データをXML言語で書かれたものにすれば、ホスト機器220内部で表示データ変換をおこなわなくてもよいため、効率的な表示処理が実現できる。 At this time, if the display data IC card chip 150 sends to those written in XML language, since it is not performed to the display data conversion within the host apparatus 220, efficient display processing can be realized. 【0106】本発明によれば、ICカードチップが他のチップに対して能動的に処理を要求することにより、I According to [0106] the present invention, by the IC card chip requests actively processing on other chips, I
Cカードチップによるセキュリティ処理において、フラッシュメモリやホスト機器など外部のデバイスを有効に活用して、より大きなサイズのデータを処理することができるため、利便性の高いセキュリティシステムを実現することができる。 In the security process by the C card chip, make effective use of external devices such as a flash memory or a host device, it is possible to process the data of a larger size, it is possible to realize a highly convenient security system. 【0107】 【発明の効果】本発明によれば、ICが実行するためのプログラムやデータ、ICを管理するための情報をIC [0107] According to the present invention, programs and data for the IC to perform, the information for managing the IC IC
外部の不揮発性メモリに保持するため、IC内の記憶容量(例えば、ROMやEERROM)が小さい場合にも、ICが多くの処理を実行できるという効果を奏する。 For holding the outside of the non-volatile memory, the storage capacity of the IC (e.g., ROM or EERROM) even if small, an effect that IC can perform much processing. 【0108】本発明によれば、ICが実行する処理の一部をIC外部のコントローラが実行するため、IC内の記憶容量(例えば、RAM)が小さい場合にも、ICが多くの処理を実行できるという効果を奏する。 In accordance with the invention, performed to a part of the processing IC performs IC external controller to initiate storage capacity in the IC (e.g., RAM) in the case is small, the IC more processing an effect that can be.

【図面の簡単な説明】 【図1】 本発明を適用したMMCの内部構成を示す図である。 Is a diagram showing an internal configuration of the applied MMC BRIEF DESCRIPTION OF THE DRAWINGS [Figure 1] present invention. 【図2】 本発明を適用したMMCのホスト機器の内部構成、およびホスト機器とMMCとの接続状態を示す図である。 [2] Internal configuration of the host device of the present invention is applied to MMC, and is a diagram showing a connection state between the host device and the MMC. 【図3】 ICカードチップのコールドリセット時の信号波形を示す図である。 3 is a diagram showing a cold reset of the signal waveforms of the IC card chip. 【図4】 ICカードチップのウォームリセット時の信号波形を示す図である。 4 is a diagram showing a warm reset of the signal waveforms of the IC card chip. 【図5】 ICカードチップのICカードコマンド処理時の信号波形を示す図である。 5 is a diagram showing an IC card command processing time of the signal waveform of the IC card chip. 【図6】 ICカードチップの非活性化時の信号波形を示す図である。 6 is a diagram showing a signal waveform at the time of deactivation of the IC card chip. 【図7】 ホスト機器によるMMCへのアクセスを示したフローチャートである。 7 is a flowchart showing access to the MMC by the host device. 【図8】 ICカード制御パラメータとそれに対応するICカードへの処理内容を示す表である。 8 is a table showing the contents of the IC card control parameters and IC card corresponding thereto. 【図9】 ICカードチップに対する第1次ICカード初期化の詳細なフローチャートである。 9 is a detailed flowchart of the primary IC card initializing the IC card chip. 【図10】 ICカードチップに対する第2次ICカード初期化の詳細なフローチャートである。 10 is a detailed flowchart of the secondary IC card initializing the IC card chip. 【図11】 非活性状態のICカードチップに対するI [11] I to the IC card chip in an inactive state
Cカード初期化時の信号波形を示す図である。 It is a diagram showing a signal waveform at the time C card initialization. 【図12】 活性状態のICカードチップに対するIC [12] IC to the IC card chip in an active state
カード初期化時の信号波形を示す図である。 Is a diagram showing signal waveforms at the time of card initialization. 【図13】 ICカードチップによるセキュリティ処理の詳細なフローチャートである。 13 is a detailed flowchart of the security process by the IC card chip. 【図14】 セキュリティ処理要求ライトコマンドを処理するときの信号波形とフラッシュメモリチップアクセスを示す図である。 14 is a diagram showing signal waveforms and a flash memory chip access at the time of processing a security processing request write command. 【図15】 ICカードチップによるセキュリティ処理実行時の信号波形とフラッシュメモリチップアクセスの一例を示す図である。 15 is a diagram showing an example of the IC signal waveform at the time the security process performed by the card chip and the flash memory chip access. 【図16】 セキュリティ処理結果リードコマンドを処理するときの信号波形とフラッシュメモリチップアクセスを示す図である。 16 is a diagram showing signal waveforms and a flash memory chip access at the time of processing a security processing result read command. 【図17】 インタフェース直通モードにおけるMMC [17] MMC in the interface direct mode
外部端子とICカードチップ外部端子の対応関係を示す図である。 It shows the correspondence between the external terminal and the IC card chip external terminal. 【図18】 インタフェース直通モードへ移行する処理とインタフェース直通モードから復帰する処理のフローチャートである。 18 is a flowchart of a process for returning from the processing and the interface direct mode to transition to the interface direct mode. 【図19】 インタフェース直通モードへ移行する処理時の信号波形を示す図である。 19 is a diagram showing a processing time of a signal waveform to be migrated to the interface direct mode. 【図20】 インタフェース直通モードから復帰する処理時の信号波形を示す図である。 20 is a diagram illustrating a processing time of a signal waveform returning from the interface direct mode. 【図21】 フラッシュメモリチップの内部構成を示す図である。 21 is a diagram showing the internal configuration of the flash memory chips. 【図22】 本発明を適用したMMCの内部構成を簡単に示す図である。 22 is a diagram briefly showing an internal configuration of the present invention the applied MMC. 【図23】 本発明を適用したMMCをコンテンツ配信に応用した例を示す図である。 [23] The present invention has been applied MMC is a diagram showing an example of an application to a content delivery. 【図24】 本発明を適用したSDカードの内部構成を簡単に示す図である。 24 is a diagram simply showing an internal structure of the SD card according to the present invention. 【図25】 本発明を適用したメモリースティックの内部構成を簡単に示す図である。 25 is a diagram briefly showing an internal configuration of the memory stick to which the invention is applied. 【図26】 本発明のICカードチップの内部構成を示す図である。 26 is a diagram showing the internal configuration of the IC card chip of the present invention. 【図27】 本発明を適用したMMCの内部構成を示し、特にICカードチップの機能的構成の詳細を含む図である。 [Figure 27] shows the internal structure of the present invention has been applied MMC, diagrams particularly including details of a functional configuration of the IC card chip. 【図28】 本発明を適用したMMCを銀行取引サービスに応用した場合の、システム構成を示す図である。 [Figure 28] when the present invention is applied to MMC is applied to banking services is a diagram showing the system configuration. 【図29】 本発明を適用したMMCを銀行取引サービスに応用した場合の、取引実行時のフローチャートの前半である。 [Figure 29] in which the present invention the applied MMC is applied to banking services, a first half of the flowchart at the time of transaction execution. 【図30】 本発明を適用したMMCを銀行取引サービスに応用した場合の、取引実行時のフローチャートの後半である。 Of FIG. 30 when the present invention is applied to MMC is applied to banking services is a second half of a flowchart of the time of the transaction execution. 【図31】 フラッシュメモリチップの内部構成を示し、特にICカード環境設定情報領域の詳細を含む図である。 [Figure 31] shows the internal configuration of the flash memory chips, a diagram particularly including details of the IC card environment setting information area. 【図32】 コマンド処理モジュール群の一例を示す図である。 32 is a diagram showing an example of a command processing module group. 【図33】 ICカードチップの中のROM、RAM、 FIG. 33 is a ROM in the IC card chip, RAM,
EEPROMの内部構成を示す図である。 It shows an internal structure of the EEPROM. 【図34】 コマンド処理モジュールのロード手順およびセキュリティコマンドの実行手順のフローチャートである。 34 is a flow chart of the command processing module loading procedure and execution procedure of the security command. 【図35】 モジュール管理情報の詳細および具体例を示す図である。 35 is a diagram showing the details and specific examples of the module management information. 【図36】 コマンド処理モジュールの更新手順のフローチャートである。 36 is a flowchart of a procedure for updating the command processing module. 【図37】 コマンド処理モジュールのロードや更新に使用する鍵の説明を示す図である。 FIG. 37 is a diagram showing a description of the key to be used for the command processing module load and update. 【図38】 ICカードチップの要求に従い、コントローラチップがフラッシュメモリチップやホスト機器に処理を実行させる手順を示すフローチャートである。 [38] In accordance with the request of the IC card chip is a flowchart showing a procedure of the controller chip to execute processing to the flash memory chips and the host device. 【符号の説明】 110…MMC、120…コントローラチップ、140 [Description of Reference Numerals] 110 ... MMC, 120 ... controller chip, 140
…MMC外部端子、150…ICカードチップ、151 ... MMC external terminal, 150 ... IC card chip, 151
…VCC2端子、152…RST端子、153…CLK ... VCC2 terminal, 152 ... RST terminal, 153 ... CLK
2端子、155…GND2端子、156…VPP端子、 2 terminals, 155 ... GND2 terminal, 156 ... VPP terminal,
157…I/O端子、220…ホスト機器、1405… 157 ... I / O pins, 220 ... the host device, 1405 ...
ライトコマンド発行、1906…モード移行時刻、20 The write command issue, 1906 ... mode transition time, 20
03…モード復帰時刻。 03 ... mode return time.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 幡野 富久 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内(72)発明者 片山 国弘 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内(72)発明者 田中 紀夫 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所金融システム事業部内(72)発明者 常広 隆司 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内(72)発明者 木村 光一 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内Fターム(参考) 2C005 MA04 MB01 MB08 MB10 NA02 NA40 NB01 NB04 SA02 SA03 SA11 SA22 5B035 AA06 AA13 BB09 BC00 CA11 ────────────────────────────────────────────────── ─── of the front page continued (72) inventor Tomihisa Hatano Kawasaki City, Kanagawa Prefecture Aso District Ozenji 1099 address Co., Ltd., Hitachi systems development Laboratory in (72) inventor Kunihiro Katayama Tokyo Kodaira Josuihon-cho, chome No. 20 the No. 1 Co., Ltd. Hitachi semiconductor group (72) inventor Norio Tanaka Kawasaki-shi, Kanagawa-ku, Saiwai Kashimada 890 address, Ltd. Hitachi, financial systems business unit (72) inventor Tsunehiro Takashi Kawasaki City, Kanagawa Prefecture Aso District Ozenji 1099 address Co., Ltd., Hitachi systems development Laboratory in (72) inventor Koichi Kimura Kawasaki City, Kanagawa Prefecture Aso District Ozenji 1099 address Co., Ltd., Hitachi systems development Laboratory in the F-term (reference) 2C005 MA04 MB01 MB08 MB10 NA02 NA40 NB01 NB04 SA02 SA03 SA11 SA22 5B035 AA06 AA13 BB09 BC00 CA11

Claims (1)

  1. 【特許請求の範囲】 【請求項1】ホスト機器からのデータを記憶するためのデータ領域を有する不揮発性メモリと、セキュリティ処理を実行するためのICと、前記不揮発性メモリ及び前記ICへのアクセスを制御するためのコントローラとを備えた記憶装置において、 前記不揮発性メモリは、前記アプリケーションプログラムの一部を格納するための管理領域前記ICは、前記セキュリティ処理を前記ICに実行させるためのアプリケーションプログラムの他部を格納するための格納領域を有する記憶装置。 A nonvolatile memory having a data area for storing data from the [claimed is: 1. A host device, the IC for executing the security process, the non-volatile memory and access to the IC in the storage device and a controller for controlling the nonvolatile memory, the management area the IC for storing a part of the application program, an application program for executing the security process in the IC the storage device having a storage area for storing the other part. 【請求項2】前記ICは、前記アプリケーションプログラムの一部を暗号化し、 前記コントローラは、暗号化された前記アプリケーションプログラムの一部を、前記不揮発性メモリに書き込む請求項1に記載の記憶装置。 Wherein said IC encrypts a portion of the application program, the controller is part of the application program encrypted, the storage device according to claim 1 to be written to the nonvolatile memory. 【請求項3】前記コントローラは、前記ホスト機器からのコマンドに応じて、前記不揮発性メモリから前記暗号化されたアプリケーションプログラムの一部を読み出し、前記ICへ転送し、 前記ICは、前記暗号化されたアプリケーションプログラムの一部を受信し、復号化する請求項2に記載の記憶装置。 Wherein the controller, in response to a command from said host device, reading a part of the encrypted application program from the nonvolatile memory, and transferred to the IC, the IC, the encrypted It has been received the part of the application program, a storage device according to claim 2 for decoding. 【請求項4】前記ICは、中央処理装置と、前記ICのオフィスシステムプログラムを格納するための第1のR Wherein said IC includes a central processing unit, a first R to store office system program of the IC
    OMと、前記格納領域を有する電気的に書き換え可能な第2のROMと、前記アプリケーションプログラム及び前記オフィスシステムプログラムを格納するためのRA OM and a second ROM can be electrically rewritten with the storage area, RA for storing the application program and the office system program
    Mとを有する請求項1に記載の記憶装置。 Memory device according to claim 1 and a M. 【請求項5】前記セキュリティ処理は、暗号化又は復号化処理を含む請求項1に記載の記憶装置。 Wherein said security processing, storage device according to claim 1 including an encryption or decryption process. 【請求項6】データを記憶するためのデータ領域を有する不揮発性メモリとセキュリティ処理を実行するためのICと前記不揮発性メモリ及び前記ICへのアクセスを制御するためのコントローラとを有し且つ着脱自在な記憶装置と、前記セキュリティ処理を前記記憶装置へ要求するためのCPUと、ネットワークと通信するための通信装置とを備えた情報処理装置において、 前記不揮発性メモリは、前記アプリケーションプログラムの一部を格納するための管理領域前記ICは、前記セキュリティ処理を前記ICに実行させるためのアプリケーションプログラムの他部を格納するための格納領域を有する情報処理装置。 6. and a controller for controlling access to the IC for performing non-volatile memory and a security process to the nonvolatile memory and said IC having a data area for storing data removable and freely storage, a CPU for requesting the security process to the storage device, an information processing apparatus having a communication device for communicating with the network, the non-volatile memory is part of the application program management area for storing the IC to an information processing apparatus having a storage area for storing the other part of the application program for executing the security process on the IC. 【請求項7】前記通信装置は、ネットワークを通じて、 Wherein said communication device, via the network,
    銀行取引を実行するための銀行取引サーバとクレジット決済を実行するためのクレジット決済サーバとコンテンツ配信を実行するためのコンテンツ配信サーバの少なくとも1つと通信可能である請求項6に記載の情報処理装置。 The information processing apparatus according to claim 6, wherein the at least one communicable content delivery server to perform banking transactions server and the credit settlement credit settlement server and content delivery for executing for executing banking transactions. 【請求項8】データ領域を有する不揮発性メモリと、前記不揮発性メモリに比較して耐タンパ性の高いICと、 A nonvolatile memory having a 8. data area, and a high tamper resistance IC as compared with the non-volatile memory,
    前記不揮発性メモリ及び前記ICへのアクセスを制御するためのコントローラとを備えた記憶装置において、 前記ICは、銀行取引を処理するための第1のアプリケーションプログラムと、クレジット決済を処理するための第2のアプリケーションプログラムと、配信コンテンツを処理するための第3のアプリケーションプログラムとを有し、ホスト機器からのコマンドに応じて、前記第1のアプリケーションプログラム又は前記第2のアプリケーションプログラム又は前記第3のアプリケーションプログラムを選択し、実行する記憶装置。 In the storage device and a controller for controlling access to said nonvolatile memory and said IC, said IC includes a first application program for processing banking transactions, the for processing the credit settlement and second application programs, and a third application program for processing the distributed content, in response to a command from the host device, the first application program or said second application program or the third select the application program, to execute the storage device. 【請求項9】前記ICは、前記第1のアプリケーションプログラムを実行するための第1のICと、前記第2のアプリケーションプログラムを実行するための第2のI Wherein said IC, said a first IC for executing the first application program, the second I for executing the second application program
    Cと、前記第3のアプリケーションプログラムを実行するための第3のICとを有する請求項8に記載の記憶装置。 Memory device according to claim 8 having a C, and a third IC for executing the third application program. 【請求項10】前記不揮発性メモリは、前記ホスト機器からのデータを格納するためのデータ領域と、前記第1 Wherein said non-volatile memory includes a data area for storing data from said host device, said first
    のアプリケーションプログラムの一部と前記第2のアプリケーションプログラの一部と前記第3のアプリケーションプログラムの一部との少なくとも1つを格納するための管理領域を有する請求項8に記載の記憶装置。 Memory device according to claim 8 having a management area for storing at least one of a part and a part of the second application program and a portion of the third application program of application programs. 【請求項11】不揮発性メモリと前記不揮発性メモリに比較して耐タンパ性の高いICと前記不揮発性メモリ及び前記ICへのアクセスを制御するためのコントローラと有し且つ着脱自在な記憶装置と、前記記憶装置へコマンドを発行するためのCPUと、ネットワームと通信するための通信装置とを備えた情報処理装置において、 前記ICは、銀行取引を処理するための第1のアプリケーションプログラムと、クレジット決済を処理するための第2のアプリケーションプログラムと、配信コンテンツを処理するための第3のアプリケーションプログラムとを有し、前記CPUからの前記コマンドに応じて、前記第1のアプリケーションプログラム又は前記第2のアプリケーションプログラム又は前記第3のアプリケーションプログラムを選 11. A includes a controller for controlling access compared to the non-volatile memory and nonvolatile memory and high IC tamper resistance to the non-volatile memory and said IC and removable storage device a CPU for issuing a command to the storage device, an information processing apparatus having a communication device for communicating with Internet worms, the IC includes a first application program for processing bank transactions, a second application program for processing credit settlement, and a third application program for processing the distributed content, in response to the command from the CPU, the first application program or said second 2 of the application program or select the third application program 択し、実行する情報処理装置。 And-option, to perform the information processing apparatus. 【請求項12】不揮発性メモリと、ICと、前記不揮発性メモリ及び前記ICへのアクセスを制御するためのコントローラと、前記不揮発性メモリと前記ICと前記コントローラとによって共有化され且つホスト機器と接続するためのインタフェースを備えた記憶装置において、 前記コントローラは、前記ホスト機器からの第1のコマンドを受信し、前記ホスト機器からの第1のコマンドに応じて、前記ICが解釈可能な第2のコマンドを作成し、前記ICへ送信する記憶装置。 12. A non-volatile memory, and IC, and a controller for controlling access to said nonvolatile memory and said IC, and and the host device is shared with the non-volatile memory with the IC by said controller the storage device having an interface for connecting said controller receiving said first command from the host device, in response to said first command from the host device, the second the IC can interpret storage device to create a command, and transmits to the IC. 【請求項13】不揮発性メモリと、処理の実行に必要なワームメモリを有するICと、前記不揮発性メモリ及び前記ICへのアクセスを制御するためのコントローラとを備えた記憶装置において、 前記コントローラは、前記ICが解釈可能なコマンドを発行し、 前記ICは、前記コマンドによって処理対象とされたデータのデータ量と前記ワームメモリの空き容量とを比較し、その比較結果に応じて前記コントローラへのレスポンスを決定し、前記コントローラへ送信する記憶装置。 13. A non-volatile memory, an IC having a worm memory required for executing the processing, the storage device and a controller for controlling access to said nonvolatile memory and said IC, said controller issues the IC that can be interpreted command, the IC compares the data amount of free space of the worm memory of data processed by said command, to the controller in accordance with the comparison result storage device to determine the response, to transmit to the controller. 【請求項14】前記ICは、前記データ量が前記空き容量より大きい場合に、前記コントローラへの処理要求を含む前記レスポンスを決定する請求項13に記載の記憶装置。 14. The IC, when the data amount is greater than the available capacity, the storage device according to claim 13 for determining the response including a process request to the controller. 【請求項15】前記レスポンスは、前記ICと前記コントローラとの間で予め定義されたステータスワードを含む請求項14に記載の記憶装置。 15. The response, memory device according to claim 14 comprising a pre-defined status word between the IC and the controller. 【請求項16】前記コントローラは、前記レスポンスを受信し、前記レスポンスによって要求された処理を実行し、その処理結果を前記ICへ送信する請求項14に記載の記憶装置。 16. The controller receives the response, and executes a process requested by the response, the storage device according to claim 14 for transmitting the processing result to the IC. 【請求項17】前記ICは、前記データ量が前記空き容量以下の場合に、前記データに対し前記コマンドによって要求された処理を実行し、その処理結果を前記コントローラへ送信する請求項14に記載の記憶装置。 17. The IC, when the data amount is less than the available capacity, and executes a process requested by the command to the data, according to claim 14 for transmitting the processing result to the controller storage device. 【請求項18】不揮発性メモリとICと前記不揮発性メモリ及び前記ICへのアクセスを制御するためのコントローラとを有し且つ着脱自在な記憶装置と、CPUと、 18. A and a controller for controlling the access to the nonvolatile memory and an IC to the nonvolatile memory and the IC and removable storage device, a CPU,
    ネットワームと通信するための通信装置とを備えた情報処理装置において、 前記コントローラは、前記ICが解釈可能なコマンドを発行し、 前記ICは、前記コマンドによって処理対象とされたデータのデータ量と前記ワームメモリの空き容量とを比較し、その比較結果に応じて前記コントローラへのレスポンスを決定し、前記コントローラへ送信する情報処理装置。 The information processing apparatus having a communication device for communicating with Internet worms, said controller issues the IC that can be interpreted command, the IC includes a data amount of data processed by the command wherein comparing the free space of the worm memory, the information processing apparatus determines a response to the controller according to the comparison result, it transmits to the controller.
JP2001388727A 2001-07-09 2001-12-21 Storage device Active JP3865629B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001207212 2001-07-09
JP2001-207212 2001-07-09
JP2001388727A JP3865629B2 (en) 2001-07-09 2001-12-21 Storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001388727A JP3865629B2 (en) 2001-07-09 2001-12-21 Storage device

Publications (2)

Publication Number Publication Date
JP2003091704A true true JP2003091704A (en) 2003-03-28
JP3865629B2 JP3865629B2 (en) 2007-01-10

Family

ID=26618327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001388727A Active JP3865629B2 (en) 2001-07-09 2001-12-21 Storage device

Country Status (1)

Country Link
JP (1) JP3865629B2 (en)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005043455A1 (en) * 2003-11-04 2005-05-12 Renesas Technology Corp. Memory card and semiconductor device
JP2005322109A (en) * 2004-05-11 2005-11-17 Renesas Technology Corp Ic card module
JP2005332221A (en) * 2004-05-20 2005-12-02 Renesas Technology Corp Storage device
JP2006246360A (en) * 2005-03-07 2006-09-14 Sony Corp Method, system and unit for data processing
JP2006523889A (en) * 2003-04-17 2006-10-19 サンディスク コーポレイションSanDisk Corporation Memory card that contains the standard security features
JP2006526934A (en) * 2003-06-04 2006-11-24 松下電器産業株式会社 Content distribution system, a recording apparatus, the signature device, content providing apparatus and the content playback device
JP2007018194A (en) * 2005-07-06 2007-01-25 Matsushita Electric Ind Co Ltd Control method for information recording medium, information processing unit and information recording medium
WO2007048287A1 (en) * 2005-10-28 2007-05-03 Chipsbank Technologies (Shenzhen) Co., Limited Memory device with control chip having compatible configure function and manufacturing method thereof
JP2007172511A (en) * 2005-12-26 2007-07-05 Seiko Epson Corp Information processor
JP2008512909A (en) * 2004-09-10 2008-04-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation Integrated circuit chip for encryption and decryption with a secure mechanism for programming the on-chip hardware
JP2008521080A (en) * 2004-11-17 2008-06-19 ノキア コーポレイション Multimedia Card interface method, computer program and apparatus
JP2008158888A (en) * 2006-12-25 2008-07-10 Felica Networks Inc Information processing terminal and computer program
JP2008287578A (en) * 2007-05-18 2008-11-27 Seiko Epson Corp Memory controller, information processor, and electronic equipment
US7559090B2 (en) 2003-07-16 2009-07-07 Matsushita Electric Industrial Co., Ltd. Memory, information apparatus for access to the memory, and method for the information apparatus
JP2010015606A (en) * 2009-10-21 2010-01-21 Renesas Technology Corp Memory card
JP2010536091A (en) * 2007-08-10 2010-11-25 イーストマン コダック カンパニー Encoding removable storage device that allows the change detection
US7925894B2 (en) 2001-07-25 2011-04-12 Seagate Technology Llc System and method for delivering versatile security, digital rights management, and privacy services
US7971791B2 (en) 2003-07-03 2011-07-05 Renesas Electronics Corporation Multi-function card device
US8028166B2 (en) 2006-04-25 2011-09-27 Seagate Technology Llc Versatile secure and non-secure messaging
KR101097384B1 (en) * 2003-04-17 2011-12-23 쌘디스크 코포레이션 The memory card includes a standard security features
US8281178B2 (en) 2006-04-25 2012-10-02 Seagate Technology Llc Hybrid computer security clock
JP2013050938A (en) * 2011-08-01 2013-03-14 Toshiba Corp Memory device
US8429724B2 (en) 2006-04-25 2013-04-23 Seagate Technology Llc Versatile access control system
US8504434B2 (en) 2010-06-02 2013-08-06 Sony Corporation Communication device, communication method, and communication system

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925894B2 (en) 2001-07-25 2011-04-12 Seagate Technology Llc System and method for delivering versatile security, digital rights management, and privacy services
JP2006523889A (en) * 2003-04-17 2006-10-19 サンディスク コーポレイションSanDisk Corporation Memory card that contains the standard security features
KR101097384B1 (en) * 2003-04-17 2011-12-23 쌘디스크 코포레이션 The memory card includes a standard security features
US8019942B2 (en) 2003-04-17 2011-09-13 SanDisk Technologies, Inc. Memory cards including a standard security function
JP4937736B2 (en) * 2003-04-17 2012-05-23 サンディスク コーポレイションSanDisk Corporation Memory card that contains the standard security features
JP2006526934A (en) * 2003-06-04 2006-11-24 松下電器産業株式会社 Content distribution system, a recording apparatus, the signature device, content providing apparatus and the content playback device
US7971791B2 (en) 2003-07-03 2011-07-05 Renesas Electronics Corporation Multi-function card device
US7559090B2 (en) 2003-07-16 2009-07-07 Matsushita Electric Industrial Co., Ltd. Memory, information apparatus for access to the memory, and method for the information apparatus
WO2005043455A1 (en) * 2003-11-04 2005-05-12 Renesas Technology Corp. Memory card and semiconductor device
US7325746B2 (en) 2003-11-04 2008-02-05 Renesas Technology Corp. Memory card and semiconductor device
US7946500B2 (en) 2003-11-04 2011-05-24 Renesas Electronics Corporation Memory card and semiconductor device
JP2005322109A (en) * 2004-05-11 2005-11-17 Renesas Technology Corp Ic card module
JP2005332221A (en) * 2004-05-20 2005-12-02 Renesas Technology Corp Storage device
JP2008512909A (en) * 2004-09-10 2008-04-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation Integrated circuit chip for encryption and decryption with a secure mechanism for programming the on-chip hardware
JP2008521080A (en) * 2004-11-17 2008-06-19 ノキア コーポレイション Multimedia Card interface method, computer program and apparatus
JP4739349B2 (en) * 2004-11-17 2011-08-03 ノキア コーポレイション Multimedia Card interface method, computer program and apparatus
JP2006246360A (en) * 2005-03-07 2006-09-14 Sony Corp Method, system and unit for data processing
JP2007018194A (en) * 2005-07-06 2007-01-25 Matsushita Electric Ind Co Ltd Control method for information recording medium, information processing unit and information recording medium
WO2007048287A1 (en) * 2005-10-28 2007-05-03 Chipsbank Technologies (Shenzhen) Co., Limited Memory device with control chip having compatible configure function and manufacturing method thereof
JP2007172511A (en) * 2005-12-26 2007-07-05 Seiko Epson Corp Information processor
US8281178B2 (en) 2006-04-25 2012-10-02 Seagate Technology Llc Hybrid computer security clock
US8429724B2 (en) 2006-04-25 2013-04-23 Seagate Technology Llc Versatile access control system
US8028166B2 (en) 2006-04-25 2011-09-27 Seagate Technology Llc Versatile secure and non-secure messaging
US8779972B2 (en) 2006-12-25 2014-07-15 Felica Networks, Inc. Information processing terminal and computer program
JP2008158888A (en) * 2006-12-25 2008-07-10 Felica Networks Inc Information processing terminal and computer program
JP2008287578A (en) * 2007-05-18 2008-11-27 Seiko Epson Corp Memory controller, information processor, and electronic equipment
JP2010536091A (en) * 2007-08-10 2010-11-25 イーストマン コダック カンパニー Encoding removable storage device that allows the change detection
JP2010015606A (en) * 2009-10-21 2010-01-21 Renesas Technology Corp Memory card
US8504434B2 (en) 2010-06-02 2013-08-06 Sony Corporation Communication device, communication method, and communication system
US8706563B2 (en) 2010-06-02 2014-04-22 Sony Corporation Communication method
JP2013050938A (en) * 2011-08-01 2013-03-14 Toshiba Corp Memory device
US9183143B2 (en) 2011-08-01 2015-11-10 Kabushiki Kaisha Toshiba Memory device that specifies a size of a segment of write data

Also Published As

Publication number Publication date Type
JP3865629B2 (en) 2007-01-10 grant

Similar Documents

Publication Publication Date Title
US6145739A (en) System and method for performing transactions and an intelligent device therefor
US5146499A (en) Data processing system comprising authentification means viz a viz a smart card, an electronic circuit for use in such system, and a procedure for implementing such authentification
US6742120B1 (en) System and method for controlling access to computer code in an IC card
US6233683B1 (en) System and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
US6481632B2 (en) Delegated management of smart card applications
US20030114144A1 (en) Application authentication system
US20040088562A1 (en) Authentication framework for smart cards
EP0363122B1 (en) Transaction authentication system
US5036461A (en) Two-way authentication system between user's smart card and issuer-specific plug-in application modules in multi-issued transaction device
US6839840B1 (en) Authenticating method between a smart card and a terminal
US6463537B1 (en) Modified computer motherboard security and identification system
US5781723A (en) System and method for self-identifying a portable information device to a computing unit
US6317832B1 (en) Secure multiple application card system and process
EP1074906A1 (en) Card-shaped semiconductor storage device and operation setting method of the same
US8151345B1 (en) Self-authorizing devices
US7350717B2 (en) High speed smart card with flash memory
US20020112156A1 (en) System and method for secure smartcard issuance
US20030014643A1 (en) Electronic apparatus and debug authorization method
US6575372B1 (en) Secure multi-application IC card system having selective loading and deleting capability
US8335921B2 (en) Writing application data to a secure element
US20050108532A1 (en) Method and system to provide a trusted channel within a computer system for a SIM device
US6328217B1 (en) Integrated circuit card with application history list
US8352749B2 (en) Local trusted services manager for a contactless smart card
US20040232247A1 (en) Storage device
US7213157B2 (en) Integrated circuit for digital rights management

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040513

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060801

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060811

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061003

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091013

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101013

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121013

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121013

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131013

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350