JP5022434B2 - IC chip supporting large capacity memory and supporting method - Google Patents

IC chip supporting large capacity memory and supporting method Download PDF

Info

Publication number
JP5022434B2
JP5022434B2 JP2009500298A JP2009500298A JP5022434B2 JP 5022434 B2 JP5022434 B2 JP 5022434B2 JP 2009500298 A JP2009500298 A JP 2009500298A JP 2009500298 A JP2009500298 A JP 2009500298A JP 5022434 B2 JP5022434 B2 JP 5022434B2
Authority
JP
Japan
Prior art keywords
memory
data
command
apdu
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009500298A
Other languages
Japanese (ja)
Other versions
JP2009529745A (en
Inventor
キョン−テ キム
ジュン−チェ ナ
ミン−ジョン キム
Original Assignee
ケーティーフリーテル・カンパニー・リミテッド
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
Priority claimed from KR1020060024337A external-priority patent/KR20070094108A/en
Priority claimed from KR1020060026954A external-priority patent/KR100738032B1/en
Application filed by ケーティーフリーテル・カンパニー・リミテッド filed Critical ケーティーフリーテル・カンパニー・リミテッド
Publication of JP2009529745A publication Critical patent/JP2009529745A/en
Application granted granted Critical
Publication of JP5022434B2 publication Critical patent/JP5022434B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/0772Physical layout of the record carrier
    • G06K19/07732Physical layout of the record carrier the record carrier having a housing or construction similar to well-known portable memory devices, such as SD cards, USB or memory sticks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Description

本発明は、ICチップに関するもので、より詳細には、大容量メモリを支援するICチップ及び支援方法に関する。   The present invention relates to an IC chip, and more particularly to an IC chip and a support method for supporting a large capacity memory.

従来のICチップは、図1に示すようにICチップメモリを含む。ICチップメモリは、コード(Code)格納のためのROMメモリ、演算支援のためのRAMメモリ、及びアプレット(Applet)格納のためのEEPROMメモリを含むことができる。   A conventional IC chip includes an IC chip memory as shown in FIG. The IC chip memory may include a ROM memory for code storage, a RAM memory for operation support, and an EEPROM memory for applet storage.

このようなICチップ基盤のサービスが活性化され、メモリサイズに対する要求事項が多くなっているが、ICチップメモリのEEPROMは1Mbyte以上を実現し難いという短所があった。このため、既存のICチップにフラッシュ(Flash)メモリを導入して大容量メモリを支援するICチップを構成しようとする動きがICチップ製造業者から出てきている。   Although such IC chip-based services have been activated and the requirements for the memory size have increased, the EEPROM of the IC chip memory has a disadvantage that it is difficult to realize 1 Mbyte or more. For this reason, there is a movement from an IC chip manufacturer to try to construct an IC chip that supports a large capacity memory by introducing a flash memory into an existing IC chip.

しかし、従来の大容量メモリを支援するICチップは、図1に示すように、物理的に一つのチップ上に実現されているだけで、ICチップと大容量メモリとの統合された機能は提供されなかった。これにより、ICチップのセキュリティ性を活用して大容量メモリにデータを格納することや、ICチップのメモリにおける制約事項を大容量メモリを活用して補うことができないという問題点があった。   However, as shown in FIG. 1, the conventional IC chip supporting the large-capacity memory is physically realized on one chip, and the integrated function of the IC chip and the large-capacity memory is provided. Was not. As a result, there is a problem that data cannot be stored in a large-capacity memory using the security of the IC chip, and restrictions on the memory of the IC chip cannot be compensated using the large-capacity memory.

一方、GSM(Global System for Mobile communication)電話機またはW−CDMA(Wide Code Division Multi Access)電話機のような移動通信端末には、SIM(Subscriber Identity Module)カードまたはUSIM(Universal Subscriber Identity Module)カードのようなICチップが使用される。   On the other hand, a mobile communication terminal such as a GSM (Global System for Mobile communication) phone or a W-CDMA (Wide Code Division Multi Access) phone has a SIM (Subscriber Identity Module) card or a USIM (Universal Subscriber Identity Module) card. IC chip is used.

このようなICチップには、移動通信加入者情報、個人情報、金融情報などセキュリティを必要とするデータをコプロセッサ(Co-Processor)によるセキュリティアルゴリズムを用いて暗号化して格納する。   In such an IC chip, data that requires security such as mobile communication subscriber information, personal information, and financial information is encrypted and stored using a security algorithm by a coprocessor (Co-Processor).

しかし、従来のICチップは、上述したように格納容量に限界があり、大量のデータを格納できないという問題点があった。   However, the conventional IC chip has a problem that the storage capacity is limited as described above, and a large amount of data cannot be stored.

一方、端末には、様々な情報を格納するために主にフラッシュメモリが利用される。フラッシュメモリは、ICチップのメモリに比べて、大量のデータを格納するのに充分であり、格納容量を拡大するための技術開発の速度も非常に速い。   On the other hand, a flash memory is mainly used for a terminal to store various information. The flash memory is sufficient to store a large amount of data as compared with the memory of the IC chip, and the speed of technical development for expanding the storage capacity is very high.

しかし、このようなフラッシュメモリには、ICチップとは異なって、データを暗号化するためのセキュリティアルゴリズムやコプロセッサが内蔵されていないため、格納されたデータのセキュリティが非常に脆弱であった。また、フラッシュメモリが、格納されたデータのセキュリティ性を確保するためにセキュリティアルゴリズムを端末自体で実行する場合、端末機器別に暗号化方法が異なるため、復号化の互換性が保障されないという問題点があった。   However, unlike such an IC chip, such a flash memory does not include a security algorithm or a coprocessor for encrypting data, so that the security of stored data is very weak. In addition, when the flash memory executes a security algorithm on the terminal itself to ensure the security of the stored data, the encryption method differs depending on the terminal device, so that the compatibility of decryption is not guaranteed. there were.

上述したように、ICチップはセキュリティ性に優れるが、格納容量には限界があり、フラッシュメモリは格納容量は大きいが、データのセキュリティ性が脆弱で、移動通信端末自体のセキュリティアルゴリズムではデータ復号化の互換性が保証されないという問題点がある。   As described above, the IC chip is excellent in security, but the storage capacity is limited, and the flash memory has a large storage capacity, but the data security is weak, and the mobile communication terminal security algorithm itself decrypts the data. There is a problem that compatibility is not guaranteed.

本発明は、上述した従来技術の問題点を解決するためになされたものであって、ICチッププロセッサが大容量メモリに直接アクセスできる大容量メモリ支援ICチップ及び支援方法を提供することを目的とする。特に、ICチップはホスト(Host)400と高速通信することができる。   The present invention has been made to solve the above-described problems of the prior art, and an object thereof is to provide a large-capacity memory supporting IC chip and a supporting method by which an IC chip processor can directly access a large-capacity memory. . In particular, the IC chip can communicate with the host 400 at high speed.

本発明の他の目的は、端末で移動通信加入者情報、個人情報、金融情報などセキュリティを必要とするデータを暗号化しながらも、データ復号化の互換性が保障される大容量メモリ支援ICチップ及び支援方法を提供することにある。   Another object of the present invention is to provide a large-capacity memory supporting IC chip in which compatibility of data decryption is ensured while encrypting data such as mobile communication subscriber information, personal information, financial information, etc. that requires security at a terminal. And providing a support method.

本発明の一実施形態によれば、大容量メモリを支援するICチップが提供される。
本発明の一実施例によるICチップは、コマンドを伝達するコマンドラインと、データトークンを伝達するデータラインと、データを格納するメモリと、接続状態に応じて上記メモリとデータをやり取りするプロセッサと、上記プロセッサの制御により上記メモリとの接続状態設定を要求するコマンドを上記コマンドライン上に出力するバスコントローラと、上記コマンドラインで受信されたコマンドに従って上記データライン、上記メモリと上記プロセッサとの間の接続を変更するメモリカードコントローラと、を含むことができる。
According to an embodiment of the present invention, an IC chip supporting a large capacity memory is provided.
An IC chip according to an embodiment of the present invention includes a command line for transmitting a command, a data line for transmitting a data token, a memory for storing data, a processor for exchanging data with the memory according to a connection state, A bus controller that outputs a command requesting connection state setting with the memory to the command line under the control of the processor, and the data line between the memory and the processor according to the command received on the command line. And a memory card controller for changing the connection.

本発明の他の実施例によるICチップは、ホストから制御信号及びデータが入出力される入出力端子と、上記入出力されるデータを暗号化及び復号化するセキュリティアルゴリズムが格納される第1格納部と、上記入出力端子を通してデータ暗号化要求信号を受信して上記データを上記セキュリティアルゴリズムを用いて暗号化し、上記入出力端子を通してデータ復号化要求信号を受信して上記暗号化されたデータを上記セキュリティアルゴリズムを用いて復号化するプロセッサと、を含むことができる。   An IC chip according to another embodiment of the present invention includes an input / output terminal that receives and outputs control signals and data from a host, and a first storage that stores a security algorithm that encrypts and decrypts the input and output data. And receiving the data encryption request signal through the input / output terminal and encrypting the data using the security algorithm, and receiving the data decryption request signal through the input / output terminal and receiving the encrypted data And a processor for decoding using the security algorithm.

本発明の他の実施形態によれば、大容量メモリを支援するICチップが含まれた移動通信端末が提供される。   According to another embodiment of the present invention, a mobile communication terminal including an IC chip that supports a large-capacity memory is provided.

本発明の一実施例による移動通信端末は、ICチップを用いてデータを暗号化して格納し、暗号化されたデータを復号化して用いる移動通信端末であって、上記ICチップは、上記移動通信端末と電気的に接続する入出力端子と、上記データを暗号化及び復号化するセキュリティアルゴリズムが格納される第1格納部と、上記入出力端子を通して上記移動通信端末からデータ暗号化要求信号を受けて上記データを上記セキュリティアルゴリズムを用いて暗号化し、上記入出力端子を通して移動通信端末からデータ復号化要求信号を受けて上記暗号化されたデータを上記セキュリティアルゴリズムを用いて復号化するプロセッサと、上記プロセッサにより暗号化されたデータを格納し、上記第1格納部より格納容量の大きい第2格納部と、を含むことができる。   A mobile communication terminal according to an embodiment of the present invention is a mobile communication terminal that encrypts and stores data using an IC chip and decrypts and uses the encrypted data. The IC chip includes the mobile communication terminal. An input / output terminal electrically connected to the terminal; a first storage unit storing a security algorithm for encrypting and decrypting the data; and receiving a data encryption request signal from the mobile communication terminal through the input / output terminal. A processor that encrypts the data using the security algorithm, receives a data decryption request signal from the mobile communication terminal through the input / output terminal, and decrypts the encrypted data using the security algorithm; A second storage unit storing data encrypted by the processor and having a larger storage capacity than the first storage unit. It is possible.

本発明のまた他の実施形態によれば、ICチップの接続状態の変更方法が提供される。
本発明の一実施例によるICチップの接続状態の変更方法は、コマンドライン及びデータラインを通してホストと通信し、メモリ及びプロセッサに接続されたメモリカードコントローラにおいて、上記コマンドラインを通してコマンドを受信するステップと、上記コマンドがAPDUコマンドである場合には、上記プロセッサが上記データラインを通したAPDUの送受信を許可するステップと、上記コマンドが接続コマンドである場合には、上記プロセッサと上記メモリを接続させるステップと、を含むことができる。
According to still another embodiment of the present invention, a method for changing the connection state of an IC chip is provided.
An IC chip connection state changing method according to an embodiment of the present invention includes a step of communicating with a host through a command line and a data line, and receiving a command through the command line in a memory card controller connected to the memory and the processor. When the command is an APDU command, the processor allows the APDU to transmit / receive APDU through the data line, and when the command is a connection command, connects the processor and the memory. And can be included.

本発明のまた他の実施形態によれば、移動通信端末におけるデータセキュリティ方法が提供される。   According to still another embodiment of the present invention, a data security method in a mobile communication terminal is provided.

本発明の一実施例による移動通信端末におけるデータセキュリティ方法は、移動通信端末からデータ暗号化要求信号を受信する第1ステップと、上記移動通信端末からセキュリティキーが入力され認証される第2ステップと、上記第2ステップでセキュリティキーの認証が成功した場合は第1格納部に格納されたセキュリティアルゴリズムを用いて上記データを暗号化する第3ステップと、上記暗号化されたデータを上記第1格納部より格納容量の大きい第2格納部に格納する第4ステップと、を含むことができる。   A data security method in a mobile communication terminal according to an embodiment of the present invention includes a first step of receiving a data encryption request signal from a mobile communication terminal, and a second step in which a security key is input from the mobile communication terminal and authenticated. When the authentication of the security key is successful in the second step, a third step of encrypting the data using a security algorithm stored in the first storage unit, and the encrypted data in the first storage And a fourth step of storing in the second storage unit having a larger storage capacity than the unit.

本発明によれば、ICチッププロセッサが大容量メモリに直接アクセスできる大容量メモリ支援ICチップ及び支援方法を提供することができる。   According to the present invention, it is possible to provide a large-capacity memory supporting IC chip and a supporting method that allow an IC chip processor to directly access a large-capacity memory.

以下、本発明の実施例を添付した図面に基づいて説明する。   Embodiments of the present invention will be described below with reference to the accompanying drawings.

以下ではMMC通信プロトコルを採用した実施例を中心に説明するが、本発明の技術的思想は、ICチップと端末との間で高速通信プロトコルを支援できるものであれば、高速通信プロトコルの種類に制限されることなく採用可能である。   In the following, the embodiment adopting the MMC communication protocol will be mainly described. However, the technical idea of the present invention is that the type of the high-speed communication protocol can be used as long as the high-speed communication protocol can be supported between the IC chip and the terminal. It is possible to adopt without limitation.

図2は、本発明を概略的に説明するための例示図である。本発明によるICチップは、ISO7816標準に従って端末との低速通信を行い、さらにフラッシュメモリのような大容量メモリを含むことができ、高速インターフェースを通して外部と高速通信を行うことができる。また、ICチップは、SIM(Subscriber Identity Module)、USIM(Universal Subscriber Identity Module)、UIM(User Identity Module)、R−UIM(Removable User Identity Module)などの移動通信加入者識別用ICチップ及び金融チップなどの電子商取引用ICチップのいずれか一つであることができる。ICチップは、低速通信と高速通信の両方ともを行うことができ、低速通信用トークンを高速通信用トークンにカプセル化(Encapsulation)して高速通信だけを行うこともできる。   FIG. 2 is an exemplary diagram for schematically explaining the present invention. The IC chip according to the present invention performs low-speed communication with a terminal according to the ISO 7816 standard, and can further include a large-capacity memory such as a flash memory, and can perform high-speed communication with the outside through a high-speed interface. The IC chip is a mobile communication subscriber identification IC chip such as a SIM (Subscriber Identity Module), USIM (Universal Subscriber Identity Module), UIM (User Identity Module), or R-UIM (Removable User Identity Module), and a financial chip. Or any one of electronic commerce IC chips. The IC chip can perform both low-speed communication and high-speed communication, and can perform only high-speed communication by encapsulating a low-speed communication token into a high-speed communication token.

高速通信プロトコルとしてMMC(MultiMediaCard)プロトコルが採用された場合には、 二つのラインを通してホスト400とICチップとが通信する。ホスト400からメモリカードコントローラ(Memory Card Controller)100へのコマンド転送及びメモリカードコントローラ100からホスト400への応答転送はコマンドライン(CMD)を通して行われる。ホスト400とメモリカードコントローラ100との間のデータ転送はデータライン(DATA)を通して行われる。   When the MMC (MultiMediaCard) protocol is adopted as a high-speed communication protocol, the host 400 and the IC chip communicate with each other through two lines. Command transfer from the host 400 to the memory card controller 100 and response transfer from the memory card controller 100 to the host 400 are performed through a command line (CMD). Data transfer between the host 400 and the memory card controller 100 is performed through a data line (DATA).

図2に示されたホスト400とメモリカードコントローラ100との間の接続はデータラインである。メモリカードコントローラ100は、ICチッププロセッサ(IC Chip Processor)200、メモリ300、及びホスト400の相互間の接続状態を変更することにより、ICチッププロセッサ200がホスト400またはメモリ300に接続できるようにする。通常、メモリカードコントローラ100は、メモリ300と直接アクセスできる接続状態を維持する。すなわち、データラインを通して入力されたデータはメモリ300に格納されるか、またはメモリ300から読み取られたデータはデータラインを通してホスト400へ転送される。   The connection between the host 400 and the memory card controller 100 shown in FIG. 2 is a data line. The memory card controller 100 enables the IC chip processor 200 to connect to the host 400 or the memory 300 by changing the connection state among the IC chip processor 200, the memory 300, and the host 400. . Normally, the memory card controller 100 maintains a connection state that allows direct access to the memory 300. That is, data input through the data line is stored in the memory 300, or data read from the memory 300 is transferred to the host 400 through the data line.

メモリカードコントローラ100がメモリ300に対するアクセス権限をICチッププロセッサ200に渡すか、またはデータラインを通して受信したデータトークンをICチッププロセッサ200に渡すためには、メモリカードコントローラ100内部の接続状態を変更しなくてはならない。ホスト400とメモリカードコントローラ100との間のデータラインは、スイッチ1がオン(ON)状態であり、かつ、スイッチ2及びスイッチ3がオフ(OFF)状態であれば、メモリ300に接続される。この接続状態で、メモリカードコントローラ100はメモリ300にデータを書き込むことやデータを読み取ることができる。一方、データラインは、スイッチ2がオン状態であり、かつ、スイッチ1及びスイッチ3がオフ状態であれば、ICチッププロセッサ200に接続される。ICチッププロセッサ200は、スイッチ3がオン状態であり、かつ、スイッチ1及びスイッチ2がオフ状態であればメモリ300に接続される。   In order to pass the access authority to the memory 300 to the IC chip processor 200 or to pass the data token received through the data line to the IC chip processor 200, the memory card controller 100 does not change the connection state inside the memory card controller 100. must not. The data line between the host 400 and the memory card controller 100 is connected to the memory 300 when the switch 1 is on (ON) and the switches 2 and 3 are off (OFF). In this connected state, the memory card controller 100 can write data into the memory 300 and read data. On the other hand, the data line is connected to the IC chip processor 200 when the switch 2 is in the on state and the switch 1 and the switch 3 are in the off state. The IC chip processor 200 is connected to the memory 300 when the switch 3 is in an on state and the switches 1 and 2 are in an off state.

メモリカードコントローラ100の接続状態はコマンドラインを通して受信されるコマンドに従って変更される。コマンドは表1に示すように四つに区分される。   The connection state of the memory card controller 100 is changed according to a command received through the command line. The command is divided into four as shown in Table 1.

Figure 0005022434
NON APDUコマンドは、ホスト400からメモリカードコントローラ100に転送されるコマンド、及び、メモリカードコントローラ100からホスト400に転送される応答(Response)であって、高速通信プロトコルにより定義された基本的なコマンド及び応答を含む。NON APDUコマンドを受信すると、メモリカードコントローラ100はスイッチ1をオンし、スイッチ2及び3をオフしてデータラインを通して受信されたデータトークンをメモリ300に格納するか、またはメモリ300に格納されたデータをデータラインを通してホスト400へ転送する。
Figure 0005022434
The NON APDU command is a command transferred from the host 400 to the memory card controller 100 and a response (Response) transferred from the memory card controller 100 to the host 400, and is a basic command defined by a high-speed communication protocol. And a response. When the NON APDU command is received, the memory card controller 100 turns on the switch 1 and turns off the switches 2 and 3 to store the data token received through the data line in the memory 300 or the data stored in the memory 300. Is transferred to the host 400 through the data line.

APDUコマンドは、ホスト400で生成され、メモリカードコントローラ100に転送されるコマンドであって、APDUをデータラインを通して送受信するために定義されたコマンドである。APDUコマンドは、ホスト400に接続されたICチップホスト(図示せず)からAPDUが入力されると、生成される。APDUコマンドとこれに対する応答(APDU Response)の間にデータラインを通してホスト400から、またはホスト400へ一つ以上のデータトークンが伝達される。   The APDU command is a command generated by the host 400 and transferred to the memory card controller 100, and is a command defined for transmitting and receiving APDU through the data line. An APDU command is generated when an APDU is input from an IC chip host (not shown) connected to the host 400. One or more data tokens are transmitted to or from the host 400 through the data line between an APDU command and a response (APDU Response).

APDUコマンドに従って、データラインを通して転送されるデータトークンは、ホスト400またはメモリカードコントローラ100によりカプセル化(encapsulation)されたコマンドAPDU(C−APDU)または応答APDU(R−APDU)を含む。   The data token transferred through the data line according to the APDU command includes a command APDU (C-APDU) or a response APDU (R-APDU) encapsulated by the host 400 or the memory card controller 100.

C−APDUまたはR−APDUが48ビット以下である場合には、一つのデータトークンにより伝達でき、それ以上である場合には、一つのデータストリーム(sequential read/write operation)または複数のデータトークン(multiple block read/write operation)により伝達できる。   If the C-APDU or R-APDU is 48 bits or less, it can be transmitted by one data token, and if it is more than that, one data stream (sequential read / write operation) or a plurality of data tokens ( multiple block read / write operation).

APDUコマンドを受信すると、メモリカードコントローラ100は、スイッチ2をオンし、スイッチ1及びスイッチ3をオフして、データラインを通して受信されたデータトークンをICチッププロセッサ200に転送する。ここで、データトークンはカプセル開放(decapsulation)過程でC−APDUに変換された後にICチッププロセッサ200に転送され、R−APDUはデータトークンにカプセル化されてホスト400に転送されることができる。   When the APDU command is received, the memory card controller 100 turns on the switch 2, turns off the switch 1 and the switch 3, and transfers the data token received through the data line to the IC chip processor 200. Here, the data token is converted into C-APDU in a decapsulation process and then transferred to the IC chip processor 200, and the R-APDU is encapsulated in the data token and transferred to the host 400.

接続コマンドは、ICチッププロセッサ200で生成され、メモリカードコントローラ100に転送されるコマンドであって、ICチッププロセッサ200とメモリ300との間でデータを送受信するためのコマンドである。接続コマンドを受信すると、メモリカードコントローラ100はスイッチ3をオンし、スイッチ1及び2をオフして、ICチッププロセッサ200はメモリ300にデータを書き込むことやデータを読み取ることができる。   The connection command is a command that is generated by the IC chip processor 200 and transferred to the memory card controller 100, and is a command for transmitting and receiving data between the IC chip processor 200 and the memory 300. When the connection command is received, the memory card controller 100 turns on the switch 3 and turns off the switches 1 and 2, so that the IC chip processor 200 can write data into the memory 300 and read data.

解除コマンドは、ICチッププロセッサ200で生成され、メモリカードコントローラ100に転送されるコマンドであって、ICチッププロセッサ200とメモリ300との間でデータ送受信が完了されたことをメモリカードコントローラ100に通知するためのコマンドである。解除コマンドが受信されると、メモリカードコントローラ100は接続コマンドが受信される前の接続状態または予め指定された接続状態に戻る。他の実施例では、解除コマンドの代りに、ICチッププロセッサ200とメモリ300との間でデータが送受信されたか否かを確認してメモリカードコントローラ100が以前の接続状態または予め指定された接続状態に戻るか、または一定時間の経過後、メモリカードコントローラ100が以前の接続状態または予め指定された接続状態に戻ることができる。   The release command is a command generated by the IC chip processor 200 and transferred to the memory card controller 100, and notifies the memory card controller 100 that data transmission / reception has been completed between the IC chip processor 200 and the memory 300. It is a command to do. When the release command is received, the memory card controller 100 returns to the connection state before the connection command is received or the connection state designated in advance. In another embodiment, instead of the release command, the memory card controller 100 confirms whether or not data has been transmitted / received between the IC chip processor 200 and the memory 300, and the memory card controller 100 is in a previous connection state or a predetermined connection state. Or after a certain period of time, the memory card controller 100 can return to a previous connection state or a pre-specified connection state.

以上、高速通信プロトコルとしてMMCプロトコルを用いた場合を例に挙げて説明したが、USBプロトコルを用いる場合にも容易に採用できることは明らかである。USBプロトコルを用いてAPDUを送受信する方式はISO7816−12を参照する。一方、本発明の特徴である、APDUを含んだデータトークンをICチッププロセッサに伝達するために、高速通信プロトコルを支援するコントローラ(例えば、メモリカードコントローラ100)の接続状態を変更する追加コマンド及びICチッププロセッサがメモリにアクセスできるようにする追加コマンドを定義して使用することは、高速通信プロトコルとしてUSBを使用する場合においても、本発明が属する分野で通常の知識を有する者であれば容易に実現できる。   As described above, the case where the MMC protocol is used as the high-speed communication protocol has been described as an example. However, it is obvious that the USB protocol can be easily adopted. Refer to ISO7816-12 for the method of transmitting and receiving APDU using the USB protocol. On the other hand, in order to transmit a data token including an APDU to the IC chip processor, which is a feature of the present invention, an additional command for changing a connection state of a controller (for example, the memory card controller 100) that supports a high-speed communication protocol and an IC Defining and using additional commands that allow the chip processor to access the memory is easy for those who have normal knowledge in the field to which the present invention belongs, even when using USB as a high-speed communication protocol. realizable.

ICチッププロセッサ200は、セキュリティアルゴリズムを駆動してメモリ300に暗号化されたデータを格納し、メモリに暗号化されて格納されたデータを復号化してホスト400に提供することができる。ICチッププロセッサ200は、セキュリティアルゴリズムを担当するコプロセッサ(Co-Processor)を含むことができる。   The IC chip processor 200 can drive the security algorithm to store the encrypted data in the memory 300, decrypt the encrypted data stored in the memory, and provide the decrypted data to the host 400. The IC chip processor 200 can include a co-processor responsible for security algorithms.

ICチッププロセッサ200は、ホスト400からコマンド信号を受信してメモリ300にデータを書き込むことやデータを読み取ることを行う場合、該データに対するセキュリティ処理を行う。これについては、図9乃至図12を参照してより詳細に説明する。   When the IC chip processor 200 receives a command signal from the host 400 and writes data to the memory 300 or reads data, the IC chip processor 200 performs security processing on the data. This will be described in more detail with reference to FIGS.

図3は、本発明の一実施例によるICチップを示すブロック図である。
メモリカードコントローラ100及びICチッププロセッサ200は、すべてICチップに含まれる。メモリ300が、ICチップ及びメモリ300の二つのモジュールを一つの統合ICチップで実現したコンビタイプである場合には、ICチップに含まれてもよく、それぞれのモジュールがインターフェースを通して連動するハイブリッドタイプである場合にはICチップに含まれなくてもよい。
FIG. 3 is a block diagram showing an IC chip according to an embodiment of the present invention.
The memory card controller 100 and the IC chip processor 200 are all included in the IC chip. When the memory 300 is a combination type in which the IC chip and the two modules of the memory 300 are realized by one integrated IC chip, the memory 300 may be included in the IC chip and is a hybrid type in which each module is linked through an interface. In some cases, it may not be included in the IC chip.

メモリカードコントローラ100とは高速通信プロトコルによりデータを送受信するホスト400、及び、ホスト400に接続されてAPDUをICチップのICチッププロセッサ200と送受信するICチップホストは端末に含まれる。
ここで、端末は無線通信機能付き携帯電話のような移動通信端末、PDA、またはノートパソコンのような携帯用情報処理装置であることができる。
The terminal includes a host 400 that transmits / receives data to / from the memory card controller 100 using a high-speed communication protocol, and an IC chip host that is connected to the host 400 and transmits / receives APDU to / from the IC chip processor 200 of the IC chip.
Here, the terminal can be a mobile communication terminal such as a mobile phone with a wireless communication function, or a portable information processing device such as a PDA or a notebook computer.

ICチップホスト及びICチッププロセッサ200は、転送側からAPDUを高速通信プロトコルが支援するデータトークンにカプセル化(encapsulation)して転送すれば、受信側はこれをカプセル開放(decapsulation)することにより相互通信する。   When the IC chip host and the IC chip processor 200 encapsulate and transfer the APDU from the transfer side into a data token supported by the high-speed communication protocol, the reception side decapsulates the APDU and communicates with each other. To do.

本発明の一実施例によるICチップは、大容量のデータを格納するメモリ300と、メモリにおけるデータ読み取り/書き込み、及び接続状態を変更して他の構成部間のデータを中継するメモリカードコントローラ100と、メモリカードコントローラ100を通してICチップホストと通信し、メモリのデータの読み取りや書き込み動作を行うICチッププロセッサ200と、ICチッププロセッサ200の制御によりメモリカードコントローラ100がICチッププロセッサ200のメモリにアクセスできるようにするバスコントローラ210とを含むことができる。   An IC chip according to an embodiment of the present invention includes a memory 300 that stores a large amount of data, and a memory card controller 100 that relays data between other components by changing data read / write and connection states in the memory. The IC card processor 200 communicates with the IC chip host through the memory card controller 100 to read and write data in the memory, and the memory card controller 100 accesses the memory of the IC chip processor 200 under the control of the IC chip processor 200. And a bus controller 210 that enables

接続状態を変更してICチップの他の構成部間の通信を中継するメモリカードコントローラ100は、インターフェースドライバ110、カードインターフェースコントローラ120、スイッチ130、レジスタ140、メモリコアインターフェース150、及び電源検知部160を含む。   The memory card controller 100 that changes the connection state and relays communication between other components of the IC chip includes an interface driver 110, a card interface controller 120, a switch 130, a register 140, a memory core interface 150, and a power supply detection unit 160. including.

インターフェースドライバ110は、ICチップの一側に位置したデータラインピン及びコマンドラインピンにより電気的に接続されたホスト400との間で、データライン及びコマンドラインを通してデータトークン及びコマンドを送受信する。
それぞれのデータライン及びコマンドラインを通して物理的レベルで送信された電気的信号は、インターフェースドライバ110によりデータトークン及びコマンドにそれぞれカプセル化されて、カードインターフェースコントローラ120に伝達される。
一方、カードインターフェースコントローラ120から出力されたデータトークン及びコマンドも物理的レベルの電気的信号にカプセル開放されて、データライン及びコマンドラインを通してホスト400に転送される。
The interface driver 110 transmits and receives data tokens and commands to and from the host 400 electrically connected by data line pins and command line pins located on one side of the IC chip through the data lines and command lines.
The electrical signals transmitted at the physical level through the respective data lines and command lines are encapsulated into data tokens and commands by the interface driver 110 and transmitted to the card interface controller 120.
On the other hand, the data token and command output from the card interface controller 120 are also decapsulated into an electrical signal at a physical level and transferred to the host 400 through the data line and the command line.

カードインターフェースコントローラ120は、ホスト400から受信したコマンドの種類に応じて、それに対応する動作を行う。すなわち、コマンドの種類に応じて、接続状態が変更される必要がある場合は接続状態の変更信号を出力する。   The card interface controller 120 performs an operation corresponding to the type of command received from the host 400. That is, when the connection state needs to be changed according to the type of command, a connection state change signal is output.

NON APDUコマンドを受信した場合、カードインターフェースコントローラ120は、高速通信プロトコルによる基本動作である、メモリ300のデータの読み取り及び書き込み動作を行い、スイッチ130を制御してカードインターフェースコントローラ120がメモリ300にアクセスできる接続状態を維持する(表1参照)。   When the NON APDU command is received, the card interface controller 120 reads and writes data in the memory 300, which is a basic operation based on the high-speed communication protocol, and controls the switch 130 so that the card interface controller 120 accesses the memory 300. Maintain a possible connection state (see Table 1).

ここで、メモリ300は、メモリカードコントローラ100のみにより利用可能なメモリカード領域と、ICチッププロセッサ200のみによりアクセス可能なICチップ領域とに分けることができ、NON APDUコマンドにより、カードインターフェースコントローラ120がアクセスするメモリ300の特定領域はメモリカード領域に限定される。   Here, the memory 300 can be divided into a memory card area that can be used only by the memory card controller 100 and an IC chip area that can be accessed only by the IC chip processor 200. The NON APDU command causes the card interface controller 120 to The specific area of the memory 300 to be accessed is limited to the memory card area.

また、メモリ300は、ICチッププロセッサ200によりセキュリティアルゴリズムを用いてセキュリティデータが格納されるセキュリティメモリ領域、セキュリティアルゴリズムを用いない、一般のデータが格納されるユーザメモリ領域、及びメモリ領域を管理するための情報が格納されるシステムメモリ領域に分けることができる。これについては、図9を参照してより詳細に説明する。   The memory 300 manages a security memory area in which security data is stored by using the security algorithm by the IC chip processor 200, a user memory area in which general data is stored without using the security algorithm, and a memory area. Can be divided into system memory areas in which information is stored. This will be described in more detail with reference to FIG.

APDUコマンドを受信した場合、カードインターフェースコントローラ120は、スイッチ130を制御し、データラインを通して受信されるデータトークンのコンテンツがICチッププロセッサ200に伝達されるようにする(表1参照)。   When receiving the APDU command, the card interface controller 120 controls the switch 130 so that the content of the data token received through the data line is transmitted to the IC chip processor 200 (see Table 1).

APDUコマンドを受信した後、データラインを通して受信されるデータトークンは、メモリーカードホスト400から生成されたC−APDUを含んでおり、高速通信プロトコルによりカプセル化されている。   After receiving the APDU command, the data token received through the data line includes the C-APDU generated from the memory card host 400 and is encapsulated by a high-speed communication protocol.

カードインターフェースコントローラ120は、データトークンからヘッダ及びテールを除去してコンテンツだけを出力する。出力されたコンテンツはC−APDUであり、スイッチ130によりICチッププロセッサ200に伝達される。   The card interface controller 120 removes the header and tail from the data token and outputs only the content. The output content is a C-APDU and is transmitted to the IC chip processor 200 by the switch 130.

複数のデータトークンにより一つのC−APDUが転送される場合、カードインターフェースコントローラ120は、コンテンツを順次結合して完全なC−APDUが生成されたら、ICチッププロセッサ200に伝達することができる。   When one C-APDU is transferred by a plurality of data tokens, the card interface controller 120 can sequentially transfer the contents to the IC chip processor 200 when a complete C-APDU is generated.

複数のデータトークンにより一つのC−APDUが転送される場合は、C−APDUがコマンドを含んでおり、一つのデータトークンにカプセル化できない場合である。   When one C-APDU is transferred by a plurality of data tokens, the C-APDU includes a command and cannot be encapsulated in one data token.

APDUコマンドにより、カードインターフェースコントローラ120の出力がICチッププロセッサ200に適用されるようにスイッチ130の接続状態が維持された後、データラインを通して受信されたC−APDUがICチッププロセッサ200に伝達される。   After the connection state of the switch 130 is maintained by the APDU command so that the output of the card interface controller 120 is applied to the IC chip processor 200, the C-APDU received through the data line is transmitted to the IC chip processor 200. .

C−APDUを受信したICチッププロセッサ200は、それに対応する処理を行う。処理が終わったら、ICチッププロセッサ200は処理結果のR−APDUをカードインターフェースコントローラ120に伝達する。   The IC chip processor 200 that has received the C-APDU performs processing corresponding thereto. When the processing is completed, the IC chip processor 200 transmits the processing result R-APDU to the card interface controller 120.

R−APDUを受信したカードインターフェースコントローラ120は、APDU応答をコマンドラインを通してホスト400に伝達する。R−APDUに応答データが含まれていない場合は、R−APDUがAPDU応答に含まれて転送されることができる。しかし、R−APDUに応答データが含まれている場合は、応答データの存在を示す応答データ識別子をAPDU応答に含ませることができる。応答データ識別子を受信したホスト400は、データ読み取りコマンドに従ってR−APDUをメモリカードコントローラ100から読み取ることができる。   Upon receiving the R-APDU, the card interface controller 120 transmits an APDU response to the host 400 through the command line. When the response data is not included in the R-APDU, the R-APDU can be included in the APDU response and transferred. However, when response data is included in the R-APDU, a response data identifier indicating the presence of the response data can be included in the APDU response. The host 400 that has received the response data identifier can read the R-APDU from the memory card controller 100 according to the data read command.

APDU応答が転送されると、カードインターフェースコントローラ120は、次のコマンドを受信するためにスイッチ130の接続状態を変更することができる。APDU応答の転送前または転送後のスイッチ130の接続状態は、予め設定されたポリシーにより変更される。   When the APDU response is transferred, the card interface controller 120 can change the connection state of the switch 130 to receive the next command. The connection state of the switch 130 before or after the transfer of the APDU response is changed according to a preset policy.

第1に、スイッチ130の接続状態は、次のコマンドが受信されるまで現在状態を維持できる。したがって、APDU応答転送後、NON APDUコマンドまたは接続コマンドが受信されてからスイッチ130の接続状態が変更可能になる。第2に、スイッチ130は、APDUコマンド受信前の接続状態に変更されることができる。したがって、カードインターフェースコントローラ120とメモリ300との間、またはICチッププロセッサ200とメモリ300との間の接続状態に戻る。第3に、予め決められている接続状態にしか戻ることができない。   First, the current connection state of the switch 130 can be maintained until the next command is received. Therefore, after the APDU response is transferred, the connection state of the switch 130 can be changed after the NON APDU command or the connection command is received. Second, the switch 130 can be changed to a connection state before receiving the APDU command. Accordingly, the connection state between the card interface controller 120 and the memory 300 or between the IC chip processor 200 and the memory 300 is restored. Third, it can only return to a predetermined connection state.

従って、NON APDUコマンドによる接続状態を基本接続状態と設定した場合、APDU応答転送前後及び接続コマンドによる処理終了後にカードインターフェースコントローラ120とメモリ300との間の接続状態に戻る。   Therefore, when the connection state by the NON APDU command is set to the basic connection state, the connection state between the card interface controller 120 and the memory 300 is returned before and after the APDU response transfer and after the processing by the connection command is completed.

接続コマンドを受信した場合、カードインターフェースコントローラ120は、スイッチ130を制御してICチッププロセッサ200とメモリ300とが接続できるようにする(表1参照)。   When the connection command is received, the card interface controller 120 controls the switch 130 so that the IC chip processor 200 and the memory 300 can be connected (see Table 1).

接続コマンドは、ICチッププロセッサ200の制御信号によりバスコントローラ210を生成し、生成された接続コマンドは、バスコントローラ210が接続されたコマンドラインを通してカードインターフェースコントローラ120に伝達される。   The connection command generates the bus controller 210 by a control signal of the IC chip processor 200, and the generated connection command is transmitted to the card interface controller 120 through a command line to which the bus controller 210 is connected.

カードインターフェースコントローラ120はスイッチ130の接続状態をICチッププロセッサ200とメモリ300との間でデータの送受信ができるように変更する。ICチッププロセッサ200は、スイッチ130で接続されたメモリ300の特定アドレスにアクセスして、格納されたデータを読み取ったり書き込んだりする。   The card interface controller 120 changes the connection state of the switch 130 so that data can be transmitted and received between the IC chip processor 200 and the memory 300. The IC chip processor 200 accesses a specific address of the memory 300 connected by the switch 130 to read or write stored data.

ICチッププロセッサ200が、メモリ読み取り/書き込み作業の終了したことをカードインターフェースコントローラ120に知らせる必要がある場合、バスコントローラ210を通して解除コマンドを出力する。   When the IC chip processor 200 needs to notify the card interface controller 120 that the memory read / write operation has been completed, it outputs a release command through the bus controller 210.

カードインターフェースコントローラ120は、解除コマンドに従って、ICチッププロセッサ200からR−APDUを受信するために、または次のコマンドによる処理を行うために、スイッチ130の接続状態を変更する。   In accordance with the release command, the card interface controller 120 changes the connection state of the switch 130 in order to receive the R-APDU from the IC chip processor 200 or to perform processing according to the next command.

ICチッププロセッサ200がホスト400から転送されたC−APDUを処理するためにメモリにアクセスした場合にはR−APDUが転送されなければならないため、カードインターフェースコントローラ120はスイッチを制御して接続状態を変更することによりICチッププロセッサ200からR−APDUを受信する。   Since the R-APDU must be transferred when the IC chip processor 200 accesses the memory to process the C-APDU transferred from the host 400, the card interface controller 120 controls the switch to change the connection state. By changing, the R-APDU is received from the IC chip processor 200.

一方、ICチッププロセッサ200がR−APDUを生成するためにメモリ300にアクセスした場合を除き、カードインターフェースコントローラ120は、現在の接続状態を維持するか、予め決められた接続状態に転換する。   On the other hand, except when the IC chip processor 200 accesses the memory 300 to generate the R-APDU, the card interface controller 120 maintains the current connection state or switches to the predetermined connection state.

R−APDUの生成のほか、ICチッププロセッサ200がメモリ300にアクセスする理由は、メモリ300のデータをセキュリティアルゴリズムを用いて暗号化/復号化したり、ファイル管理したりするなど、多様な場合が存在できる。   In addition to R-APDU generation, there are various reasons why the IC chip processor 200 accesses the memory 300, such as encryption / decryption of data in the memory 300 using a security algorithm, file management, etc. it can.

特に、別途のセキュリティ機能が具備されない高速通信プロトコルの場合は、セキュリティアルゴリズムを用いてデータセキュリティを確保できる。このために、ホスト400またはメモリカードコントローラ100は、メモリ300の特定領域などにアドレスを指定してデータセキュリティ処理を行うようにするC−APDUを生成し、ICチッププロセッサ200に適用することができる。ここで、メモリ300の特定領域とは、メモリカードコントローラ100のみによりアクセスできるメモリカード領域であることができる。
データセキュリティ処理を行うためにC−APDUを受信したICチッププロセッサ200は、該領域にアクセスするための接続コマンドをバスコントローラ210を通して出力し、接続状態の変更を要求する。その後、ICチッププロセッサ200は、特定領域に対するデータセキュリティ処理を行うことができる。これについては、図9乃至図12を参照してより詳細に説明する。
In particular, in the case of a high-speed communication protocol that does not have a separate security function, data security can be ensured using a security algorithm. For this purpose, the host 400 or the memory card controller 100 can generate a C-APDU that performs data security processing by designating an address in a specific area of the memory 300, and can apply the generated C-APDU to the IC chip processor 200. . Here, the specific area of the memory 300 may be a memory card area that can be accessed only by the memory card controller 100.
The IC chip processor 200 that has received the C-APDU for performing the data security process outputs a connection command for accessing the area through the bus controller 210, and requests a change of the connection state. Thereafter, the IC chip processor 200 can perform data security processing for the specific area. This will be described in more detail with reference to FIGS.

他の実施例で、カードインターフェースコントローラ120は所定時間(例えば、一周期)が経過すると、ICチッププロセッサ200とメモリ300との間の接続状態を解除し、以前の接続状態または予め決められた接続状態に戻るようにスイッチ130を制御する。   In another embodiment, the card interface controller 120 releases the connection state between the IC chip processor 200 and the memory 300 after a predetermined time (for example, one cycle), and the previous connection state or the predetermined connection state. The switch 130 is controlled to return to the state.

また他の実施例では、カードインターフェースコントローラ120は、ICチッププロセッサ200とメモリ300との間のデータ送受信状態をモニタリングして、データのやり取りがもうない場合は、以前の接続状態または予め決定された接続状態に戻るようにスイッチ130を制御する。   In another embodiment, the card interface controller 120 monitors the data transmission / reception state between the IC chip processor 200 and the memory 300, and if there is no more data exchange, the card interface controller 120 has a previous connection state or a predetermined state. The switch 130 is controlled to return to the connected state.

スイッチ130は、カードインターフェースコントローラ120、ICチッププロセッサ200、及びメモリ300とそれぞれ結合し、カードインターフェースコントローラ120の制御により三つの構成部間のデータ送受信を可能とさせる。   The switch 130 is coupled to the card interface controller 120, the IC chip processor 200, and the memory 300, respectively, and enables data transmission / reception between the three components under the control of the card interface controller 120.

スイッチ130は、多様な方式で実現でき、その構成は、本発明が属する分野で通常の知識を有する者であれば誰でも容易に実現することができる。スイッチ130の接続状態の変更方式は図2及び表1を参照する。   The switch 130 can be realized in various ways, and its configuration can be easily realized by anyone who has ordinary knowledge in the field to which the present invention belongs. Refer to FIG. 2 and Table 1 for the method of changing the connection state of the switch 130.

レジスタ140は、基本レジスタ(mandatory)と選択レジスタ(optional)で構成され、カードインターフェースコントローラ120の動作に必要とされる状態情報を格納する。レジスタ140は、識別のためのカード個別番号を格納する128ビットのCID(Card Identification number)と、初期化過程でホスト400により動的に割り当てられたカードシステムアドレスを格納する16ビットのRCA(Relative Card Address)と、カード動作状態に関する情報を格納する128ビットのCSD(Card Specific Data)と、カードの電圧形式を識別する特定の放送コマンド(broadcast command)により用いられる32ビットのOCR(Operation Condition Register)と、を含み、選択的にカードの出力ドライバを構成する16ビットのDSR(Driver Stage Register)をさらに含むことができる。   The register 140 includes a basic register (mandatory) and a selection register (optional), and stores state information necessary for the operation of the card interface controller 120. The register 140 stores a 128-bit CID (Card Identification Number) for storing a card individual number for identification, and a 16-bit RCA (Relative) for storing a card system address dynamically assigned by the host 400 in the initialization process. Card Address), 128-bit CSD (Card Specific Data) for storing information on the card operating state, and 32-bit OCR (Operation Condition Register) used by a specific broadcast command for identifying the card voltage format And 16-bit DSR (Driver Stage Register) that selectively configures the output driver of the card.

メモリコアインターフェース150は、カードインターフェースコントローラ120またはICチッププロセッサ200から要求されたメモリの特定アドレスにアクセスしてデータを読み取ったり書き込んだりする。   The memory core interface 150 accesses a specific address of the memory requested from the card interface controller 120 or the IC chip processor 200 to read or write data.

電源検知部160は、ICチップが端末のソケットに挿入されると、印加された電源を検知し、ICチップの構成部を駆動させるリセット信号(Reset signal)を生成して各構成部に適用する。   When the IC chip is inserted into the socket of the terminal, the power detection unit 160 detects the applied power, generates a reset signal (Reset signal) that drives the component of the IC chip, and applies it to each component. .

ICチッププロセッサ200は、ICチップの基本動作を行うが、基本動作の実行に必要とされるモジュール(例えば、コード、アプレットなど)及びデータは、メモリ300、例えば、メモリ300のシステムメモリ領域にアクセスして得ることができる。   The IC chip processor 200 performs basic operations of the IC chip, but modules (for example, code, applet, etc.) and data required for executing the basic operations access the system memory area of the memory 300, for example, the memory 300. Can be obtained.

メモリカードコントローラ100を通してホスト400からC−APDUを受信すると、ICチッププロセッサ200はメモリ300にアクセスする必要があるかどうかを、C−APDUの種類及びC−APDUにデータが含まれているか否かに基づいて判断する。   When the C-APDU is received from the host 400 through the memory card controller 100, the IC chip processor 200 determines whether it is necessary to access the memory 300, whether the C-APDU type and whether the C-APDU includes data. Judgment based on.

判断の結果、メモリ300からデータを読み取ったり書き込んだりする必要がある場合、バスコントローラ210に制御信号が出力される。制御信号から生成された接続コマンドに従ってICチッププロセッサ200とメモリ300とが接続されると、ICチッププロセッサ200は、予め割り当てられたメモリ300のICチップ領域に従来方式で接続してデータを読み取ったり書き込んだりする。   As a result of the determination, when it is necessary to read or write data from the memory 300, a control signal is output to the bus controller 210. When the IC chip processor 200 and the memory 300 are connected in accordance with the connection command generated from the control signal, the IC chip processor 200 connects to the IC chip area of the memory 300 allocated in advance by a conventional method and reads data. Write.

ここで、メモリ300のICチップ領域は、ICチッププロセッサ200のみでアクセスできるように設定された領域であって、モジュール及びデータが格納される。ここで、ICチップ領域は、従来ICチップのメモリ管理システムのアドレス体系がそのまま採用されることが好ましい。この場合、ICチッププロセッサ200は、従来メモリアドレスをそのまま使用してもメモリ300を自由に利用できる。勿論、大容量のデータを書き込むためにはより多いアドレスが必要となるため、それだけアドレス体系を拡張することができる。   Here, the IC chip area of the memory 300 is an area set so as to be accessible only by the IC chip processor 200, and stores modules and data. Here, it is preferable that the address system of the memory management system of the conventional IC chip is directly adopted for the IC chip area. In this case, the IC chip processor 200 can freely use the memory 300 even if the conventional memory address is used as it is. Of course, in order to write a large amount of data, a larger number of addresses are required, so the address system can be expanded accordingly.

メモリ300を用いた作業の終了後、ICチッププロセッサ200は解除コマンドを発生するようにバスコントローラ210を制御し、メモリ300のアクセス権限をカードインターフェースコントローラ120に渡す。   After completion of the work using the memory 300, the IC chip processor 200 controls the bus controller 210 so as to generate a release command, and passes the access authority of the memory 300 to the card interface controller 120.

勿論、他の実施例では、ICチッププロセッサ200が予め決められた所定時間だけメモリ300へアクセスできる権限を与えるか、または、ICチッププロセッサ200とメモリ300との間のデータやり取り状態をモニタリングして、ICチッププロセッサ200の作業が終了したか否かを決定することもできる。ICチッププロセッサ200は、作業結果をR−APDUで構成し、カードインターフェースコントローラ120に伝達する。   Of course, in another embodiment, the IC chip processor 200 is authorized to access the memory 300 for a predetermined time, or the data exchange state between the IC chip processor 200 and the memory 300 is monitored. It can also be determined whether or not the work of the IC chip processor 200 has been completed. The IC chip processor 200 configures the work result as an R-APDU and transmits it to the card interface controller 120.

判断の結果、メモリ300からデータを読み取ったり書き込んだりする必要がない場合、ICチッププロセッサ200は、接続コマンドを生成せず、作業結果をカードインターフェースコントローラ120に伝達する。   If it is not necessary to read or write data from the memory 300 as a result of the determination, the IC chip processor 200 transmits the work result to the card interface controller 120 without generating a connection command.

一方、ICチッププロセッサ200は、すべての作業実行に必要なメモリリソースをメモリ300を通して確保でき、基本動作実行時の演算結果をRAM(図示せず)に一時的に格納することもできる。   On the other hand, the IC chip processor 200 can secure memory resources necessary for execution of all work through the memory 300, and can also temporarily store a calculation result at the time of executing the basic operation in a RAM (not shown).

バスコントローラ210は、ICチッププロセッサ200とコマンドラインとの間に結合され、ICチッププロセッサ200からの制御信号により接続コマンドまたは解除コマンドを生成してメモリカードコントローラ100に伝達する。   The bus controller 210 is coupled between the IC chip processor 200 and the command line, and generates a connection command or a release command according to a control signal from the IC chip processor 200 and transmits it to the memory card controller 100.

メモリ300は、電気的にデータを書き込んだり削除したりすることができるフラッシュメモリのような固体記憶素子、あるいは他の形態の記憶素子であることができる。   The memory 300 may be a solid-state storage element such as a flash memory that can electrically write and delete data, or another form of storage element.

メモリ300は、メモリカード領域とICチップ領域とに分割でき、各領域はメモリカードコントローラ100及びICチッププロセッサ200のみが利用することができる。   The memory 300 can be divided into a memory card area and an IC chip area, and each area can be used only by the memory card controller 100 and the IC chip processor 200.

メモリカード領域にはホスト400から転送されたデータが格納され、ICチップ領域にはICチッププロセッサ200の基本動作実行に必要とされるモジュールが格納される
ことができる。
Data transferred from the host 400 can be stored in the memory card area, and modules required for executing basic operations of the IC chip processor 200 can be stored in the IC chip area.

また、メモリ300は、セキュリティデータを格納するセキュリティメモリ領域、一般のデータが格納されるユーザメモリ領域、及びICチップメモリを管理するシステムメモリ領域に分割できる。これについては、図9を参照してより詳細に説明する。   The memory 300 can be divided into a security memory area for storing security data, a user memory area for storing general data, and a system memory area for managing the IC chip memory. This will be described in more detail with reference to FIG.

図4は、本発明の一実施例によるAPDUコマンドの動作を説明するための例示図である。先ず、ホスト400とICチップとの間のAPDU転送方式を概略的に説明した後、MMCプロトコルを採用した実施例を説明する。   FIG. 4 is an exemplary diagram for explaining an operation of an APDU command according to an embodiment of the present invention. First, an APDU transfer method between the host 400 and the IC chip will be schematically described, and then an embodiment employing the MMC protocol will be described.

ICチップホストにより生成されたC−APDUは、4バイトのヘッダと可変長のボディで構成される。ヘッダは1バイトのCLA(Class of Instruction)、1バイトのINS(Instruction code)、1バイトのP1(parameter 1)、及び1バイトのP2(Parameter 2)で構成される。ボディは選択的ボディまたはデータフィールドの長さを特定する1バイトのLc、可変長のコマンドパラメータまたはデータを含むデータフィールド、返還データの予想長さを特定する1バイトのLeで構成される。ICチッププロセッサ200により生成されたR−APDUは、可変長のボディと二つの状態ワードSW1,SW2で構成される。ボディは選択的ボディまたはデータフィールドの長さを特定するLe、可変長さのデータで構成される。   The C-APDU generated by the IC chip host is composed of a 4-byte header and a variable-length body. The header is composed of 1-byte CLA (Class of Instruction), 1-byte INS (Instruction code), 1-byte P1 (parameter 1), and 1-byte P2 (Parameter 2). The body is composed of a 1-byte Lc that specifies the length of the selective body or data field, a data field that includes a command parameter or data of variable length, and a 1-byte Le that specifies the expected length of the return data. The R-APDU generated by the IC chip processor 200 includes a variable length body and two status words SW1 and SW2. The body is composed of Le which specifies the length of the selective body or the data field, and variable length data.

ホスト400はICチップホストにより生成されたC−APDUに、C−APDUの長さを特定するLBヘッダを結合させて、これを複数のデータトークンにカプセル化する。   The host 400 combines the LB header specifying the length of the C-APDU with the C-APDU generated by the IC chip host, and encapsulates it into a plurality of data tokens.

カプセル化された複数のデータトークンは、高速通信プロトコルを支援するホスト400と端末のメモリカードコントローラ100との間に形成された物理的階層を通してメモリカードコントローラ100に伝達される。受信された複数のデータトークンは、カードインターフェースコントローラ120によりLBヘッダ値を参照してAPDUにカプセル開放される。   The plurality of encapsulated data tokens are transmitted to the memory card controller 100 through a physical hierarchy formed between the host 400 supporting the high-speed communication protocol and the memory card controller 100 of the terminal. The plurality of received data tokens are decapsulated into APDU by the card interface controller 120 with reference to the LB header value.

以下では、MMCプロトコルによる高速通信プロトコルを用いた動作を詳細に説明する。   Hereinafter, an operation using a high-speed communication protocol based on the MMC protocol will be described in detail.

MMCプロトコルの場合、コマンド及び応答のコマンドトークン及びコマンドトークンに関連付けられたデータトークンがそれぞれコマンドライン及びデータラインを通して送受信される。データ読み取り/書き込みコマンド(ホスト400からICチップへの)及びこれに対する応答(ICチップからホスト400への)は、コマンドラインを通して送受信され、コマンドに従うデータは、データラインを通して送受信される。MMCプロトコルにおいて、データ読み取り/書き込みコマンドは、連続(sequential)コマンドとブロック指向(Block-oriented)コマンドに区別される。連続コマンドは、連続的データストリームを転送し、コマンドライン上に中止(stop)コマンドが出現するまで転送が続けられる。ブロック指向コマンドは、CRC(cyclic redundancy checking)を有する連続ブロック(トークン)を転送し、コマンドライン上に中止コマンドが出現するまでブロックの転送が続けられる。コマンドは、ホスト400からICチップに転送され、応答はICチップからホスト400に転送される。データはホスト400とICチップとの間で転送される。   In the case of the MMC protocol, a command token of a command and a response and a data token associated with the command token are transmitted and received through the command line and the data line, respectively. Data read / write commands (from the host 400 to the IC chip) and responses thereto (from the IC chip to the host 400) are transmitted and received through the command line, and data according to the command is transmitted and received through the data line. In the MMC protocol, data read / write commands are classified into sequential commands and block-oriented commands. A continuous command transfers a continuous data stream and continues to transfer until a stop command appears on the command line. The block-oriented command transfers a continuous block (token) having cyclic redundancy checking (CRC), and the block transfer is continued until a stop command appears on the command line. The command is transferred from the host 400 to the IC chip, and the response is transferred from the IC chip to the host 400. Data is transferred between the host 400 and the IC chip.

コマンドトークンは全長が48ビットであって、開始ビット(start bit)と終了ビット(end bit)は、常に0と1である。開始ビットの次に位置した送信器ビット(transmitter bit)は、端末からのコマンドであることを示すビットであって、1であり、コマンド内容(content)は、送信器ビットの次に位置し、7ビットのCRCチェックサムビットにより保護される。   The command token has a total length of 48 bits, and the start bit (start bit) and the end bit (end bit) are always 0 and 1. The transmitter bit located after the start bit is a bit indicating a command from the terminal and is 1, and the command content is located next to the transmitter bit. It is protected by a 7-bit CRC checksum bit.

応答トークンは全長が48または136ビットであって、開始ビットと終了ビットは、常に0と1である。開始ビットの次に位置した送信器ビットは、ICチップからの応答であることを示すビットであって、0であり、応答内容は、送信器ビットの次に位置し、7ビットのCRCチェックサムビットにより保護される。   The response token has a total length of 48 or 136 bits, and the start and end bits are always 0 and 1. The transmitter bit located next to the start bit is a bit indicating that it is a response from the IC chip and is 0, and the response content is located next to the transmitter bit and is a 7-bit CRC checksum. Protected by bits.

ブロック指向データトークンは、開始ビットと終了ビットが常に0と1である。開始ビット、終了ビット、CRCチェックサムを除いた残り部分の長さは512バイトであって、APDUの長さを示す2バイトのLBフィールドと510バイトのAPDUフィールドで構成される。APDUフィールドにはホスト400またはICチップからのC−APDUまたはR−APDUが含まれる。510バイトを超えるAPDUは、2以上のブロック指向データトークンに分割されて転送され、最後のブロック指向データトークンの満たされなかった残りのバイトには00hが挿入される。   A block-oriented data token always has a start bit and an end bit of 0 and 1. The remaining length excluding the start bit, end bit, and CRC checksum is 512 bytes, and is composed of a 2-byte LB field indicating the length of the APDU and a 510-byte APDU field. The APDU field includes C-APDU or R-APDU from the host 400 or IC chip. An APDU exceeding 510 bytes is divided and transferred into two or more block-oriented data tokens, and 00h is inserted into the remaining unfilled bytes of the last block-oriented data token.

図4を参照して説明すると、APDU通信は次の4種類のケースを含む。   Referring to FIG. 4, APDU communication includes the following four types of cases.

ケース1:C−APDUのデータフィールド値及びR−APDUのデータフィールド値が両方とも存在しないケース
ケース2:C−APDUのデータフィールド値は存在しないが、R−APDUのデータフィールド値は存在するケース
ケース3:C−APDUのデータフィールド値は存在するが、R−APDUのデータフィールド値は存在しないケース
ケース4:C−APDUのデータフィールド値及びR−APDUのデータフィールド値が両方とも存在するケース
C−APDUのデータフィールド値が存在しない場合には、C−APDUはAPDUコマンド410に含まれるか、またはAPDUトークン420に含まれることができる(ケース1及びケース2)。一方、C−APDUのデータフィールド値が存在する場合には、C−APDUはAPDUトークン420に含まれて転送される(ケース3及びケース4)。上記二つのケースにおいて、C−APDUを含むAPDUトークン420は、APDUコマンド410とAPDU応答430との間で転送される。これは、R−APDUのデータフィールド値が存在しない場合、R−APDUをAPDU応答430から受信するためである。一方、C−APDUを転送するためのAPDUコマンド410が受信されたメモリカードコントローラ100は、スイッチ130の接続状態をメモリカードコントローラ−メモリ415からメモリカードコントローラ−ICチッププロセッサ425に変更する。
Case 1: Case where neither C-APDU data field value nor R-APDU data field value exists Case 2: Case where C-APDU data field value does not exist, but R-APDU data field value exists Case 3: C-APDU data field value exists but R-APDU data field value does not exist Case 4: C-APDU data field value and R-APDU data field value both exist In the absence of a C-APDU data field value, the C-APDU may be included in the APDU command 410 or included in the APDU token 420 (Case 1 and Case 2). On the other hand, when the data field value of the C-APDU exists, the C-APDU is included in the APDU token 420 and transferred (Case 3 and Case 4). In the above two cases, the APDU token 420 containing the C-APDU is transferred between the APDU command 410 and the APDU response 430. This is because the R-APDU is received from the APDU response 430 when the data field value of the R-APDU does not exist. On the other hand, the memory card controller 100 that has received the APDU command 410 for transferring the C-APDU changes the connection state of the switch 130 from the memory card controller-memory 415 to the memory card controller-IC chip processor 425.

R−APDUのデータフィールド値が存在しない場合(ケース1及びケース3)や、サイズが十分に小さい場合、R−APDUはAPDU応答430に含まれる。   When the data field value of the R-APDU does not exist (case 1 and case 3) or when the size is sufficiently small, the R-APDU is included in the APDU response 430.

R−APDUのデータフィールド値が存在し、サイズがR−APDUを通して転送できない場合は次のように処理する。R−APDUのデータフィールド値が存在する場合には、ICチッププロセッサ200はR−APDUそれ自体、R−APDUが格納されたメモリのアドレス、または転送するR−APDUの存在を示す情報をメモリカードコントローラ100に伝達する。これを受信したメモリカードコントローラ100は、APDU応答430にR−APDU読み取り識別子を挿入して転送する。R−APDU読み取り識別子は、ホスト400に転送するR−APDUの存在を示す情報であって、一つ以上のビットを用いて単に存在するか否かだけを示したり、R−APDUが格納されたメモリ300のアドレスを示したり、またはこれらの組み合わせたことを示したりすることができる。R−APDU読み取り識別子が含まれたAPDU応答430を受信したホスト400は、読み取りコマンドに従ってR−APDUをICチップから読み取る。一方、APDU応答の転送前または転送後に、メモリカードコントローラ100はスイッチ130の接続状態を以前の接続状態または予め指定された接続状態に変更する。図4には、メモリカードコントローラ−メモリ間の接続状態に変更されることが示されている。   When the data field value of the R-APDU exists and the size cannot be transferred through the R-APDU, the following process is performed. When the data field value of the R-APDU exists, the IC chip processor 200 stores the R-APDU itself, the address of the memory in which the R-APDU is stored, or information indicating the presence of the R-APDU to be transferred. This is transmitted to the controller 100. Upon receiving this, the memory card controller 100 inserts the R-APDU read identifier into the APDU response 430 and transfers it. The R-APDU read identifier is information indicating the presence of an R-APDU to be transferred to the host 400. The R-APDU read identifier simply indicates whether or not it exists using one or more bits, or stores the R-APDU. An address of the memory 300 can be indicated, or a combination thereof can be indicated. The host 400 that has received the APDU response 430 including the R-APDU read identifier reads the R-APDU from the IC chip according to the read command. On the other hand, before or after the APDU response is transferred, the memory card controller 100 changes the connection state of the switch 130 to the previous connection state or the connection state specified in advance. FIG. 4 shows that the connection state between the memory card controller and the memory is changed.

図5は、本発明の一実施例による接続コマンドの動作を説明するための例示図である。   FIG. 5 is an exemplary diagram for explaining an operation of a connection command according to an embodiment of the present invention.

メモリカードコントローラ100を通してICチップホストからC−APDUを受信すると、ICチッププロセッサ200は、メモリ300にアクセスする必要があるかどうかをC−APDUの種類及びC−APDUにデータが含まれているか否かに基づいて判断し、メモリ300からデータを読み取ったり書き込んだりする必要がある場合には、バスコントローラ210を通して接続コマンド500をデータライン上に出力する。データラインを通して接続コマンド500を受信したメモリカードコントローラ100は、接続状態をメモリカードコントローラ−メモリ505からICチッププロセッサ−メモリ515に変更する。ICチッププロセッサ200がメモリ300に接続されると、ICチッププロセッサ200は、予め割り当てられたメモリ300のICチップ領域を従来方式で接続してデータを読み取ったり書き込んだりする。従って、データライン上には何らの信号も発生しない。   When receiving the C-APDU from the IC chip host through the memory card controller 100, the IC chip processor 200 determines whether it is necessary to access the memory 300 and whether the data is included in the type of the C-APDU and the C-APDU. If it is necessary to read or write data from the memory 300, the connection command 500 is output on the data line through the bus controller 210. The memory card controller 100 that has received the connection command 500 through the data line changes the connection state from the memory card controller-memory 505 to the IC chip processor-memory 515. When the IC chip processor 200 is connected to the memory 300, the IC chip processor 200 reads and writes data by connecting the IC chip areas of the memory 300 allocated in advance by a conventional method. Therefore, no signal is generated on the data line.

メモリ300を用いた作業が終了すると、ICチッププロセッサ200は解除コマンドを発生するようにバスコントローラ210を制御し、メモリ300アクセス権限をカードインターフェースコントローラ120に渡す。勿論、他の実施例では、ICチッププロセッサ200が所定時間だけメモリ300へアクセスできる権限を与えるか、またはICチッププロセッサ200とメモリ300との間のデータやり取り状態をモニタリングしてICチッププロセッサ200の作業が終了したか否かを決定することもできる。したがって、解除コマンド520は、選択事項である。メモリ300を用いた作業が終了すると、メモリカードコントローラ100は、以前の接続状態または予め指定された接続状態に戻る。図5には、メモリカードコントローラ−メモリ間の接続状態に変更されることが示されている。   When the work using the memory 300 is completed, the IC chip processor 200 controls the bus controller 210 so as to generate a release command, and passes the memory 300 access authority to the card interface controller 120. Of course, in another embodiment, the IC chip processor 200 is authorized to access the memory 300 for a predetermined time or the data exchange state between the IC chip processor 200 and the memory 300 is monitored to It can also be determined whether the work has been completed. Therefore, the release command 520 is a selection item. When the operation using the memory 300 is completed, the memory card controller 100 returns to the previous connection state or the connection state designated in advance. FIG. 5 shows that the connection state between the memory card controller and the memory is changed.

図6は、本発明の一実施例によるAPDUコマンド及び接続コマンドを用いたICチップの動作を説明するための例示図である。   FIG. 6 is an exemplary diagram for explaining an operation of an IC chip using an APDU command and a connection command according to an embodiment of the present invention.

ICチップホストからC−APDUが受信されたホスト400は、APDUコマンド600をコマンドラインを通してメモリカードコントローラ100に転送する。その後、C−APDUをAPDUトークン610にカプセル化し、データラインを通してメモリカードコントローラ100に転送する。APDUコマンド600の受信前に、メモリカードコントローラ100とメモリ300とは605のように接続されている。APDUコマンド600を受信したメモリカードコントローラ100は、接続状態を変更して、メモリカードコントローラ−ICチッププロセッサが615のように接続されるようにする。その後、データラインを通してAPDUトークン610が受信されと、メモリカードコントローラ100は、C−APDUにカプセル開放してICチッププロセッサ200に伝達する。C−APDUを受信したICチッププロセッサ200は、メモリ200アクセスが必要であるか否かを判断し、必要であれば接続コマンド620をコマンドラインに出力する。接続コマンド620を受信したメモリカードコントローラ100は、625のように接続状態をICチッププロセッサ−メモリに変更する。その後、メモリカードコントローラ100は、ICチッププロセッサ200からR−APDUが受信されると、これをAPDU応答630に変換してホスト400に転送する。APDU応答630の転送前後に、メモリカードコントローラ100の接続状態は現在の接続状態を維持するか、以前の接続状態または予め指定された接続状態に変更される。   The host 400 that has received the C-APDU from the IC chip host transfers the APDU command 600 to the memory card controller 100 through the command line. Thereafter, the C-APDU is encapsulated in an APDU token 610 and transferred to the memory card controller 100 through a data line. Before receiving the APDU command 600, the memory card controller 100 and the memory 300 are connected as shown by 605. The memory card controller 100 that has received the APDU command 600 changes the connection state so that the memory card controller-IC chip processor is connected like 615. Thereafter, when the APDU token 610 is received through the data line, the memory card controller 100 decapsulates the C-APDU and transmits it to the IC chip processor 200. The IC chip processor 200 that has received the C-APDU determines whether or not the memory 200 needs to be accessed, and outputs a connection command 620 to the command line if necessary. The memory card controller 100 that has received the connection command 620 changes the connection state to IC chip processor-memory as indicated by 625. Thereafter, when the R-APDU is received from the IC chip processor 200, the memory card controller 100 converts the R-APDU into an APDU response 630 and transfers it to the host 400. Before and after the transfer of the APDU response 630, the connection state of the memory card controller 100 maintains the current connection state, or is changed to a previous connection state or a connection state designated in advance.

図7及び図8は、本発明の一実施例によるAPDUコマンド及び接続コマンドを用いたICチップの動作であって、データフィールド値を有するR−APDUを転送するICチップの動作を説明するための例示図である。図面符号「700」〜「730」及び図面符号「800」〜「830」は図6の図面符号「600」〜「630」と同じであるため、以下では他の部分を中心に説明する。   7 and 8 are diagrams illustrating an operation of an IC chip using an APDU command and a connection command according to an embodiment of the present invention, and transferring an R-APDU having a data field value. It is an illustration figure. Since the reference numerals “700” to “730” and the reference numerals “800” to “830” are the same as the reference numerals “600” to “630” in FIG. 6, the following description will focus on other parts.

以後、メモリカードコントローラ100は、ICチッププロセッサ200からR−APDUまたはこれに対応する応答(R−APDUが格納されたメモリアドレス、転送するR−APDUの存在を示す情報など)が受信されると、これをAPDU応答730に変換してホスト400に転送する。メモリカードコントローラ100は、APDU応答730にR−APDU読み取り識別子を挿入して転送する。一方、APDU応答730の転送前後に、メモリカードコントローラ100の接続状態は735のように現在の接続状態を維持するか、以前の接続状態または予め指定された接続状態に変更される。   Thereafter, when the memory card controller 100 receives an R-APDU or a corresponding response (memory address storing the R-APDU, information indicating the presence of the R-APDU to be transferred, etc.) from the IC chip processor 200. This is converted into an APDU response 730 and transferred to the host 400. The memory card controller 100 inserts the R-APDU read identifier into the APDU response 730 and transfers it. On the other hand, before and after the transfer of the APDU response 730, the connection state of the memory card controller 100 maintains the current connection state as in 735, or is changed to the previous connection state or the connection state designated in advance.

R−APDU読み取り識別子が含まれたAPDU応答730を受信したホスト400は、読み取りコマンド740を通してR−APDUをICチップから読み取る。読み取りコマンド740を受信したメモリカードコントローラ100は、読み取り応答750をホスト400に転送し、R−APDUをデータトークン760にカプセル化してホスト400に転送する。データトークン760の転送が完了されると、ホスト400は中止コマンド770をメモリカードコントローラ100に転送し、メモリカードコントローラ100は、これに対する応答として中止応答780をホスト400に転送する。   The host 400 that has received the APDU response 730 including the R-APDU read identifier reads the R-APDU from the IC chip through the read command 740. The memory card controller 100 that has received the read command 740 transfers the read response 750 to the host 400, encapsulates the R-APDU in the data token 760, and transfers it to the host 400. When the transfer of the data token 760 is completed, the host 400 transfers a cancel command 770 to the memory card controller 100, and the memory card controller 100 transfers a cancel response 780 to the host 400 as a response thereto.

ICチッププロセッサ200がR−APDUの存在を示す情報だけをメモリカードコントローラ100に転送する実施例では、APDUコマンド840は読み取りコマンドであって、ICチッププロセッサ200からデータを読み取るコマンドである。従って、メモリカードコントローラ100は、APDUコマンド840により接続状態をメモリカードコントローラ−ICチッププロセッサに変更し(855)、ICチッププロセッサ200は、接続状態変更に応じて一時的に格納していたR−APDUをメモリカードコントローラ100に転送する。メモリカードコントローラ100は、R−APDUをデータトークン850にカプセル化してホスト400に転送し、865のように接続状態を変更する。   In the embodiment in which the IC chip processor 200 transfers only the information indicating the presence of the R-APDU to the memory card controller 100, the APDU command 840 is a read command and a command for reading data from the IC chip processor 200. Therefore, the memory card controller 100 changes the connection state to the memory card controller-IC chip processor by the APDU command 840 (855), and the IC chip processor 200 temporarily stores the R- that has been temporarily stored in response to the connection state change. The APDU is transferred to the memory card controller 100. The memory card controller 100 encapsulates the R-APDU in the data token 850 and transfers it to the host 400, and changes the connection state as in 865.

図9は、本発明の一実施例によるセキュリティアルゴリズムの実行を説明するための図面である。   FIG. 9 is a diagram for explaining the execution of a security algorithm according to an embodiment of the present invention.

ICチップは、データ入出力端子910、ICチッププロセッサ200、及びICチップメモリ920を含むことができる。   The IC chip can include a data input / output terminal 910, an IC chip processor 200, and an IC chip memory 920.

データ入出力端子910は、端末の外部から入力されるデータをICチップに入出力するための端子であって、上述したデータライン及びコマンドラインに接続される。データ入出力端子910は、ISO7816、RF、MMC、USB規格などの多様な形態で入出力することができる。   The data input / output terminal 910 is a terminal for inputting / outputting data input from the outside of the terminal to / from the IC chip, and is connected to the above-described data line and command line. The data input / output terminal 910 can be input / output in various forms such as ISO7816, RF, MMC, USB standards.

ICチッププロセッサ200は上述したように、接続状態に応じてメモリ300とデータをやり取りし、ICチップの機能を行うためにICチップを制御し、ホスト400の要求により、データラインを通して伝達されるデータに対して暗号化することを望む場合は、セキュリティアルゴリズムを駆動してデータを暗号化されたセキュリティデータに変更する。ICチッププロセッサ200は、暗号化されたセキュリティデータをメモリ300のセキュリティメモリ領域310に格納する。   As described above, the IC chip processor 200 exchanges data with the memory 300 according to the connection state, controls the IC chip to perform the function of the IC chip, and transmits data transmitted through the data line at the request of the host 400 If it is desired to encrypt the data, the security algorithm is driven to change the data to encrypted security data. The IC chip processor 200 stores the encrypted security data in the security memory area 310 of the memory 300.

セキュリティアルゴリズムをICチッププロセッサ200により駆動し、暗号化されたセキュリティデータに変更してメモリ300のセキュリティメモリ領域310に格納し、同じセキュリティアルゴリズムを用いて格納されたセキュリティデータを復号化された一般のデータに変更してホスト400に伝達する過程をセキュリティ処理(Secure Processing)過程という。   The security algorithm is driven by the IC chip processor 200, changed to encrypted security data, stored in the security memory area 310 of the memory 300, and the security data stored using the same security algorithm is decrypted. The process of changing the data and transmitting it to the host 400 is called a security processing process.

ホスト400から、制御信号により暗号化されることなく、一般のデータとして管理されることが要求された場合は、ICチッププロセッサ200によるセキュリティアルゴリズムを駆動せずに、メモリ300のユーザメモリ領域320に格納し、これを照会時、復号化過程を経ずにホスト400に伝達する過程を一般処理過程という。   When it is requested from the host 400 to be managed as general data without being encrypted by the control signal, the security algorithm by the IC chip processor 200 is not driven and the user memory area 320 of the memory 300 is stored. The process of storing and transmitting this to the host 400 at the time of inquiry without going through the decryption process is called a general processing process.

セキュリティアルゴリズムは、上述したように当該技術分野で広く知られたものを利用でき、例えば、DES、3−DES、AESの何れか一つであることができる。   As the security algorithm, those widely known in the technical field can be used as described above, and for example, any one of DES, 3-DES, and AES can be used.

本発明でセキュリティアルゴリズムは、データラインを通して入出力される全てのデータに対して実行されるものではなく、ホスト400から要求されたデータに対して実行されることができ、制御プログラムにより予め設定された種類のデータに対して実行されることができる。   In the present invention, the security algorithm is not executed for all data input / output through the data line, but can be executed for data requested by the host 400, and is set in advance by a control program. Can be performed on different types of data.

セキュリティアルゴリズムは、ICチップメモリ920内に搭載された制御プログラムにより実行されることができる。制御プログラムは、データラインを通して入力されるデータを暗号化するか否か、及び、メモリ300に格納されたデータを復号化するか否かを制御したり、メモリ上のアドレスをICチップメモリ920またはシステムメモリ領域330に格納したりすることができる。また、制御プログラムは、メモリ300のシステムメモリ領域330に格納されることができる。   The security algorithm can be executed by a control program installed in the IC chip memory 920. The control program controls whether or not the data input through the data line is encrypted and whether or not the data stored in the memory 300 is decrypted, and the address on the memory is set to the IC chip memory 920 or Or stored in the system memory area 330. The control program can be stored in the system memory area 330 of the memory 300.

制御プログラムは、グラフィックユーザインターフェース(GUI)を通して端末のユーザにデータを暗号化するか否かを問うことができる。この時、ユーザが暗号化を要求する場合、制御プログラムはセキュリティアルゴリズムを実行して該データを暗号化して、これをメモリ300に格納し、ICチップメモリ920またはシステムメモリ領域330にデータが暗号化されたという情報及び格納されたデータのメモリ上のアドレスを格納することができる。   The control program can ask the user of the terminal whether to encrypt data through a graphic user interface (GUI). At this time, if the user requests encryption, the control program executes a security algorithm to encrypt the data, stores it in the memory 300, and encrypts the data in the IC chip memory 920 or the system memory area 330. It is possible to store information that the data has been stored and the address of the stored data on the memory.

一方、ユーザが暗号化を要求しなかった場合、制御プログラムはセキュリティアルゴリズムを実行せずに、該データをメモリ300に格納する。ICチップの格納領域にはデータが暗号化されなかったという情報及び格納されたデータのメモリ上のアドレスを格納する。このように、データが暗号化されたか否かのことやメモリ上のアドレスは、後で制御プログラムがメモリ300に格納されたデータを検索する場合に必要な情報である。   On the other hand, when the user does not request encryption, the control program stores the data in the memory 300 without executing the security algorithm. The storage area of the IC chip stores information that the data has not been encrypted and the address on the memory of the stored data. As described above, whether or not the data has been encrypted and the address on the memory are information necessary when the control program searches the data stored in the memory 300 later.

グラフィックユーザインターフェース(GUI)は、制御プログラム内に一つのモジュールで含まれてもよく、端末上で実行される様々なアプリケーション内に別途に具備されてもよい。アプリケーションの例については、図12を参照してより詳細に説明する。   The graphic user interface (GUI) may be included in the control program as a single module, or may be separately provided in various applications executed on the terminal. An example of the application will be described in more detail with reference to FIG.

メモリ300は、ICチップと一つのモジュールで構成された統合ICチップで構成されることができ、ICチップと別途のモジュールで連動される形態で構成されることもできる。   The memory 300 can be composed of an integrated IC chip composed of an IC chip and a single module, or can be composed of a form linked with an IC chip and a separate module.

メモリ300が統合ICチップ形態で構成される場合、ICチップとメモリ300との間には、データ転送のためにアドレスバス(Address Bus)及びデータバス(Data Bus)を構成することができる。   When the memory 300 is configured as an integrated IC chip, an address bus and a data bus can be configured for data transfer between the IC chip and the memory 300.

メモリ300がICチップと別途の形態で構成される場合、ISO7816、MMC規格、ISO14443、ISO15693、ISO18092の何れか一つの方式でICチップとメモリ300との間のデータがやり取りされる。統合ICチップ形態が、別途で連動される形態に比べて、動作速度がより速いという長所がある。   When the memory 300 is configured separately from the IC chip, data is exchanged between the IC chip and the memory 300 by any one method of ISO7816, MMC standard, ISO14443, ISO15693, and ISO18092. The integrated IC chip form has an advantage that the operation speed is faster than a separately linked form.

GSM方式のSIMカードや、W−CDMA方式のUSIMカードのような形態で具体化されたICチップは、移動通信加入者情報を格納したものであって、移動通信端末に装着するだけで、自分の移動通信端末として使用可能である。また、ICチップには個人情報、金融情報などセキュリティを必要とする情報が格納される。   An IC chip embodied in a form such as a GSM SIM card or a W-CDMA USIM card stores mobile communication subscriber information. It can be used as a mobile communication terminal. The IC chip stores information that requires security, such as personal information and financial information.

本発明の一実施例によるメモリ300は、ICチッププロセッサ200によりセキュリティアルゴリズムを駆動して、メモリ300に暗号化されたデータを格納するセキュリティメモリ領域310、暗号化されない一般のデータを格納するユーザメモリ領域320、及びICチップメモリ920を管理するシステムメモリ領域330を含むことができる。ここで、ICチッププロセッサ200は、セキュリティ処理を担当するコプロセッサを含むことができる。   The memory 300 according to an embodiment of the present invention includes a security memory area 310 for storing encrypted data in the memory 300 by driving a security algorithm by the IC chip processor 200, and a user memory for storing general data that is not encrypted. An area 320 and a system memory area 330 that manages the IC chip memory 920 can be included. Here, the IC chip processor 200 can include a coprocessor responsible for security processing.

メモリ300は、メモリアドレスを予め区画指定し物理的に区分してセキュリティデータ及び一般のデータを格納できるが、メモリ300の効率的な管理のために、上述したように領域を予め分割して設定することが好ましい。メモリ300は、例えば、大容量データを格納できるフラッシュメモリを使用できる。   The memory 300 can store security data and general data by partitioning the memory address in advance and physically partitioning it. However, for efficient management of the memory 300, the area is divided and set in advance as described above. It is preferable to do. As the memory 300, for example, a flash memory capable of storing a large amount of data can be used.

上述したメモリ領域分割は、ユーザが端末のメモリ管理プログラムを用いて、自分が所望する割合でメモリ300をセキュリティメモリ領域及びユーザメモリ領域に分けて利用することができる。システムメモリ領域はメモリ領域を全体的に管理するので、一般的にはアクセスできない領域である。   In the memory area division described above, the user can use the memory 300 by dividing it into a security memory area and a user memory area at a ratio desired by the user using a memory management program of the terminal. Since the system memory area manages the memory area as a whole, it is generally an inaccessible area.

ユーザが端末のメモリ管理プログラムを用いて、自分が所望する割合でメモリ領域を分割する場合、最初にメモリが端末に接続されると、システムメモリ領域に格納されている初期設定アプレットがローディングされてメモリ領域を設定できるように駆動される。   When the user divides the memory area at the desired ratio using the memory management program of the terminal, the initial setting applet stored in the system memory area is loaded when the memory is first connected to the terminal. Driven to set the memory area.

ユーザが、一般的にメモリ機能を多く使用する場合には、ユーザメモリ領域をより多く使用できるように設定でき、モバイルコンテンツを多く使用する場合には、セキュリティメモリ領域をより多く設定することができる。   In general, when the user uses a lot of memory functions, the user memory area can be set to be used more. When the user uses a lot of mobile content, the security memory area can be set more. .

設定方式は、例えば、ユーザメモリ:セキュリティメモリ=50%:50%の割合で設定すれば、システムメモリ領域にてメモリ300の全体の物理的アドレスを管理するユーザ領域とセキュリティ領域を分割することができる。   For example, if setting is performed at a ratio of user memory: security memory = 50%: 50%, the user area for managing the entire physical address of the memory 300 and the security area may be divided in the system memory area. it can.

分割された各領域には、アクセスポリシーが別に適用されて、ユーザが制御できる部分はユーザメモリ領域部分となる。端末には、メモリ管理プログラムを採用して、ICチップのシステムメモリ領域に格納されているメモリ管理アプレットを駆動してメモリ領域をリセットできるようにする。   An access policy is separately applied to each divided area, and a portion that can be controlled by the user is a user memory area portion. The terminal employs a memory management program to drive a memory management applet stored in the system memory area of the IC chip so that the memory area can be reset.

この場合もシステムメモリにより管理されているメモリアドレスリセットから、アクセスポリシーを利用してユーザのアクセス可能な部分を設定することができる。   In this case as well, a user accessible part can be set using an access policy from a memory address reset managed by the system memory.

一方、各領域は、固有サイズを有してもよいが、各領域のサイズを動的に変更できることが好ましい。   On the other hand, each region may have a unique size, but it is preferable that the size of each region can be dynamically changed.

図10は、本発明の一実施例によるデータセキュリティアルゴリズムを用いてデータを暗号化する過程を説明するためのフローチャートである。   FIG. 10 is a flowchart illustrating a process of encrypting data using a data security algorithm according to an embodiment of the present invention.

図10を参照すると、ステップS1010で、制御プログラムがICチップの入出力端子を通して入力されたデータを暗号化するか否かを端末のユーザに確認する。   Referring to FIG. 10, in step S1010, the control program confirms with the user of the terminal whether or not the data input through the input / output terminal of the IC chip is encrypted.

ステップS1020で、ユーザがデータの暗号化を選択した場合、制御プログラムはユーザからセキュリティキーの入力を受けてこれを認証する。ここで、認証方法としては、PINまたは暗証番号を利用することができる。   If the user selects data encryption in step S1020, the control program receives the security key input from the user and authenticates it. Here, as an authentication method, a PIN or a personal identification number can be used.

ステップS1030で、セキュリティキーの認証が成功したら、制御プログラムはICチッププロセッサ200によりセキュリティアルゴリズムを実行し、データを暗号化する。セキュリティキーの認証に失敗した場合は、そのままプロセスは終了する。   If the authentication of the security key is successful in step S1030, the control program executes a security algorithm by the IC chip processor 200 and encrypts the data. If the security key authentication fails, the process ends.

一方、ユーザがデータの暗号化を選択しなかった場合には、データを暗号化するステップS1030を経ないで、ステップS1040に進む。   On the other hand, if the user does not select data encryption, the process proceeds to step S1040 without going through step S1030 for encrypting data.

ステップS1040で、データをメモリ300に格納し、格納されたデータを暗号化したか否か、及び格納されたデータのメモリ上のアドレスをICチップ内のICチップメモリ920に格納する。ここで、「データを暗号化したか否か」は、ステップS1030を経た場合にはデータが暗号化されたという情報をステップS1040で格納し、ステップS1030を経なかった場合にはデータが暗号化されなかったという情報をステップS1040で格納する。   In step S1040, the data is stored in the memory 300, and whether the stored data is encrypted and the address of the stored data on the memory are stored in the IC chip memory 920 in the IC chip. Here, “whether or not the data has been encrypted” is stored in step S1040 if the data has been encrypted in step S1030, and encrypted if the data has not been encrypted in step S1030. Information that it has not been stored is stored in step S1040.

ステップS1050で、制御プログラムはデータの格納結果を端末の表示部を通してユーザに提供する。   In step S1050, the control program provides the data storage result to the user through the display unit of the terminal.

図11は、本発明の一実施例によるデータセキュリティアルゴリズムを用いてデータを復号化する過程を説明するためのフローチャートである。   FIG. 11 is a flowchart illustrating a process of decrypting data using a data security algorithm according to an embodiment of the present invention.

図11を参照すると、ステップS1110で、ユーザから移動通信端末のグラフィックユーザインターフェースを通して制御プログラムに、メモリ300に格納されているデータの検索が要求される。   Referring to FIG. 11, in step S1110, the user is requested to search for data stored in the memory 300 through the graphic user interface of the mobile communication terminal.

ステップS1120で照会したデータが暗号化されたデータである場合、制御プログラムはユーザのセキュリティキーを認証する。セキュリティキーの認証はPINまたは暗証番号を利用することができる。   If the data inquired in step S1120 is encrypted data, the control program authenticates the user's security key. Authentication of the security key can use a PIN or a password.

ステップS1130で、セキュリティキーの認証が成功したら、ステップS1140で、制御プログラムはメモリ上のアドレスから検索したデータを、ICチッププロセッサ200によりセキュリティアルゴリズムを実行して復号化する。若しステップS1120でデータが暗号化されなかったと照会された場合、ステップS1140は行われない。一方、ステップS1130で、セキュリティキーの認証が失敗された場合、そのままプロセスは終了する。   If the authentication of the security key is successful in step S1130, in step S1140, the control program decrypts the data retrieved from the address on the memory by executing a security algorithm by the IC chip processor 200. If it is inquired in step S1120 that the data has not been encrypted, step S1140 is not performed. On the other hand, if the authentication of the security key fails in step S1130, the process ends as it is.

ステップS1150で、制御プログラムにより、復号化されたデータまたは暗号化されなかったデータが移動通信端末の表示部を通してユーザに提供される。   In step S1150, the control program provides the decrypted data or unencrypted data to the user through the display unit of the mobile communication terminal.

図12は、本発明の一実施例によるメモリのセキュリティメモリ領域に格納可能なデータのブロック図である。   FIG. 12 is a block diagram of data that can be stored in a security memory area of a memory according to an embodiment of the present invention.

図12に示すデータは、端末の設定情報及び端末ユーザの個人情報を項目別に区分して構造化したものである。   The data shown in FIG. 12 is structured by classifying terminal setting information and terminal user personal information by item.

このように構造化されたデータは、図12に示すように、個人ユーザインターフェース(MY UI)項目、個人日程管理システム(PIMS:Personal Information Management System)項目、ブラウザ(Browser)項目、金融(Finance)項目、及びアプリケーション(Application)項目に区分されることができる。   As shown in FIG. 12, the data structured in this way includes a personal user interface (MY UI) item, a personal schedule management system (PIMS) item, a browser item, a browser item, and a finance. It can be divided into items and application items.

個人ユーザインターフェース項目には、ユーザが移動通信端末を便宜に使う目的や、飾る目的で設定された情報として待受画面、ベル音(着信音など)、時間設定、フォント、自分のアバタ、たまごっちなどの情報が含まれる。   Personal user interface items include standby screens, bell sounds (such as ringtones), time settings, fonts, own avatars, Tamagotchi, etc., as information set for the purpose of the user using the mobile communication terminal for convenience and decorating purposes. Information is included.

PIMS項目には、電話番号、スケジュール管理、アラーム、SMS発信/着信、電子メールなどの情報が含まれる。ブラウザ項目には、お気に入り、履歴情報などが含まれる。   The PIMS item includes information such as a telephone number, schedule management, alarm, SMS transmission / reception, and e-mail. The browser item includes favorites, history information, and the like.

金融項目には、口座番号、暗証番号、使用履歴、送金口座番号などの情報が含まれる。   The financial items include information such as account number, personal identification number, usage history, and remittance account number.

アプリケーション項目には、移動通信端末上で実行されるメッセンジャ、テレメトリ、DMB、オフィス、及びIDが含まれることができる。   Application items can include messenger, telemetry, DMB, office, and ID executed on the mobile communication terminal.

メッセンジャ項目には、チャットのために用いられるメッセンジャに主に用いられる情報、例えば、私のID、友人リスト、遮断リスト、履歴情報などが含まれることができる。   The messenger item may include information mainly used for messenger used for chatting, for example, my ID, friend list, blocking list, history information, and the like.

テレメトリ項目には、例えば、端末上で道案内サービスを受けるために必要とされる情報で、お気に入り、我が家などの出発ポイント、設定情報、履歴情報などが含まれることができる。   The telemetry item is, for example, information necessary for receiving a route guidance service on the terminal, and may include favorites, departure points such as home, setting information, history information, and the like.

DMB項目には、端末上で放送サービスを受けるために必要とされる情報、例えば、チャンネルリスト、プログラムリスト、設定情報などが含まれることができる。   The DMB item may include information required for receiving a broadcast service on the terminal, such as a channel list, a program list, and setting information.

オフィス項目には、端末上でオフィスグループウェアなどに接続するために格納される情報、例えば、VPN(Virtual Private Network)、設定情報などが含まれることができる。   The office item can include information stored for connecting to office groupware on the terminal, for example, VPN (Virtual Private Network), setting information, and the like.

ID項目には、家または職場の出入り口キー値、または端末上で電車や航空機を予約する場合に発生する仮予約番号などの情報が含まれることができる。   The ID item may include information such as an entrance / exit key value at home or work, or a temporary reservation number generated when a train or an aircraft is reserved on the terminal.

図12に示されたデータ以外にも暗号化を必要とする情報が含まれることができることは、本発明が属する技術分野で通常の知識を有する者であれば容易に理解できるだろう。   It will be easily understood by those skilled in the art to which the present invention belongs that information that requires encryption can be included in addition to the data shown in FIG.

このように暗号化を必要とする情報を構造化して格納し、これを端末のユーザに提供することにより、端末のユーザは設定情報や個人情報をより簡単に暗号化して格納し、これを利用することができる。また、端末などを交替する場合にも新規端末に本発明のデータが格納されたICチップまたはメモリ300を装着することにより、既存の情報をそのまま利用でき、PINや暗証番号のようなセキュリティキーで個人情報や設定情報を管理するので、移動通信端末を失った場合や盗まれた場合にも個人情報の流出の恐れはない。   In this way, information that requires encryption is structured and stored, and this is provided to the user of the terminal, so that the terminal user can more easily encrypt and store the setting information and personal information and use it. can do. In addition, even when a terminal is changed, existing information can be used as it is by attaching an IC chip or memory 300 storing the data of the present invention to a new terminal, and a security key such as a PIN or a personal identification number can be used. Since personal information and setting information are managed, there is no fear of leakage of personal information even if the mobile communication terminal is lost or stolen.

上述したように本発明によれば、ICチップが基本動作を実行するために大容量メモリを利用することができるので従来に比べてメモリ容量の物理的限界を克服することができる。これにより、サイズの大きい認証書またはセキュリティアルゴリズムコードのような、従来には搭載が不可能であったデータを格納することができる。   As described above, according to the present invention, since the large capacity memory can be used for the IC chip to perform the basic operation, the physical limit of the memory capacity can be overcome as compared with the conventional case. As a result, it is possible to store data such as a large certificate or security algorithm code that could not be mounted conventionally.

一方、ホスト400との通信が高速通信プロトコルで行われるので、従来に比べてデータ送受信が速くなる。   On the other hand, since communication with the host 400 is performed using a high-speed communication protocol, data transmission / reception is faster than in the past.

また、データを大容量メモリに格納時、ICチップのセキュリティアルゴリズムを用いて格納したり使用したりすることができるので、高速通信プロトコルだけを用いた場合より大容量メモリのセキュリティ性が向上される。   Further, when data is stored in a large-capacity memory, it can be stored and used using the security algorithm of the IC chip, so that the security performance of the large-capacity memory is improved as compared with the case where only the high-speed communication protocol is used. .

以上、本発明の実施例を参照して説明したが、当該技術分野で通常の知識を有する者であれば、特許請求の範囲に記載された本発明の思想及び領域から脱しない範囲内で本発明を多様に修正及び変更させることができることを理解できよう。   The present invention has been described with reference to the embodiments of the present invention. However, those who have ordinary knowledge in the technical field are within the scope of the spirit and scope of the present invention described in the claims. It will be understood that the invention can be modified and changed in various ways.

従来のICチップを示すブロック図である。It is a block diagram which shows the conventional IC chip. 本発明を概略的に説明するための例示図である。It is an illustration for demonstrating this invention roughly. 本発明の一実施例によるICチップを示すブロック図である。It is a block diagram which shows the IC chip by one Example of this invention. 本発明の一実施例によるAPDUコマンドの動作を説明するための図面である。6 is a diagram illustrating an operation of an APDU command according to an embodiment of the present invention. 本発明の一実施例による接続コマンドの動作を説明するための図面である。6 is a diagram illustrating an operation of a connection command according to an embodiment of the present invention. 本発明の一実施例によるAPDUコマンド及び接続コマンドを用いたICチップの動作を説明するための図面である。3 is a diagram illustrating an operation of an IC chip using an APDU command and a connection command according to an embodiment of the present invention. 本発明の一実施例によるAPDUコマンド及び接続コマンドを用いたICチップの動作であって、データフィールド値を有するR−APDUを転送するICチップの動作を説明するための図面である。4 is a diagram for explaining an operation of an IC chip using an APDU command and a connection command according to an embodiment of the present invention and transferring an R-APDU having a data field value. 本発明の他の実施例によるAPDUコマンド及び接続コマンドを用いたICチップの動作であって、データフィールド値を有するR−APDUを転送するICチップの動作を説明するための図面である。6 is a diagram for explaining an operation of an IC chip using an APDU command and a connection command according to another embodiment of the present invention and transferring an R-APDU having a data field value. 本発明の一実施例によるデータセキュリティアルゴリズム実行を説明するための図面である。3 is a diagram for explaining execution of a data security algorithm according to an embodiment of the present invention; 本発明の一実施例によるデータセキュリティアルゴリズムを用いてデータを暗号化する過程を説明するためのフローチャートである。4 is a flowchart illustrating a process of encrypting data using a data security algorithm according to an embodiment of the present invention. 本発明の一実施例によるデータセキュリティアルゴリズムを用いてデータを復号化する過程を説明するためのフローチャートである。4 is a flowchart illustrating a process of decrypting data using a data security algorithm according to an embodiment of the present invention. 本発明の一実施例によるメモリのセキュリティメモリ領域に格納できるデータのブロック図である。FIG. 3 is a block diagram of data that can be stored in a security memory area of a memory according to an embodiment of the present invention.

符号の説明Explanation of symbols

100 メモリカードコントローラ
110 インターフェースドライバ
120 カードインターフェースコントローラ
130 スイッチ
140 レジスタ
150 メモリコアインターフェース
160 電源検知部
200 ICチッププロセッサ
210 バスコントローラ
300 メモリ
400 ホスト
100 Memory Card Controller 110 Interface Driver 120 Card Interface Controller 130 Switch 140 Register 150 Memory Core Interface 160 Power Supply Detection Unit 200 IC Chip Processor 210 Bus Controller 300 Memory 400 Host

Claims (13)

コマンドを伝達するコマンドラインと、
データトークンを伝達するデータラインと、
データを格納するメモリと、
接続状態に応じて前記メモリと前記データをやり取りするプロセッサと、
前記プロセッサの制御により、前記メモリとの接続状態設定を要求するコマンドを前記コマンドライン上に出力するバスコントローラと、
前記コマンドラインで受信されたコマンドに応じて、前記データライン、前記メモリ、及び前記プロセッサとの間の接続を変更するメモリカードコントローラと、
を含み、
前記コマンドは、前記メモリカードコントローラと前記プロセッサとの間の接続を設定するAPDU(Application Protocol Data Unit)コマンド、及び、前記プロセッサと前記メモリとの間の接続を設定する接続コマンドを含み、
前記メモリカードコントローラは、APDUコマンドの応答データの転送が完了したことに応じて、予め設定されたポリシーにより前記接続の状態を変更することを特徴とするICチップ。
A command line that communicates commands,
A data line carrying a data token;
Memory to store data,
A processor for exchanging the data with the memory according to a connection state;
A bus controller that outputs a command requesting connection state setting with the memory on the command line under the control of the processor;
A memory card controller that changes a connection between the data line, the memory, and the processor in response to a command received on the command line;
Including
The command includes an APDU (Application Protocol Data Unit) command for setting a connection between the memory card controller and the processor, and a connection command for setting a connection between the processor and the memory,
The IC chip, wherein the memory card controller changes the connection state according to a preset policy in response to completion of transfer of response data of an APDU command .
前記メモリカードコントローラは、
前記コマンドライン及び前記データラインを通してホストと通信するインターフェースドライバと、
前記コマンドラインで受信されたコマンドの種類を判断し、それに対応する接続状態の変更信号を出力するカードインターフェースコントローラと、
前記カードインターフェースコントローラの状態情報を格納するレジスタと、
前記接続状態の変更信号に応じて、前記カードインターフェースコントローラ、前記プロセッサ、及び前記メモリとの間の接続を変更するスイッチと、
前記スイッチに接続され、前記メモリにアクセスしてデータの読み取りや書き込みを行うメモリコアインターフェースと、
電源供給の際、前記カードインターフェースコントローラ及び前記メモリコアインターフェースにリセット信号を適用する電源検知部と、
を含むことを特徴とする請求項1に記載のICチップ。
The memory card controller
An interface driver communicating with the host through the command line and the data line;
A card interface controller that determines the type of command received on the command line and outputs a corresponding connection state change signal;
A register for storing status information of the card interface controller;
A switch for changing a connection between the card interface controller, the processor, and the memory in response to the connection state change signal;
A memory core interface connected to the switch and accessing the memory to read and write data;
A power detection unit that applies a reset signal to the card interface controller and the memory core interface when power is supplied;
The IC chip according to claim 1, comprising:
前記コマンドは、前記プロセッサと前記メモリとの間の接続を解除する解除コマンドをさらに含むことを特徴とする請求項1に記載のICチップ。  The IC chip according to claim 1, wherein the command further includes a release command for releasing the connection between the processor and the memory. 前記メモリカードコントローラは、前記APDUコマンドに対応するAPDUトークンをC−APDU(Command APDU)に変換(カプセル開放)して前記プロセッサに出力することを特徴とする請求項1に記載のICチップ。  2. The IC chip according to claim 1, wherein the memory card controller converts an APDU token corresponding to the APDU command into a C-APDU (Command APDU) (decapsulates) and outputs the converted CPDU to the processor. 前記メモリカードコントローラは、前記APDUコマンドに含まれたC−APDU(Command APDU)を前記プロセッサに出力することを特徴とする請求項1に記載のICチップ。  2. The IC chip according to claim 1, wherein the memory card controller outputs a C-APDU (Command APDU) included in the APDU command to the processor. 前記メモリカードコントローラは、前記プロセッサから出力されたR−APDU(Response APDU)に応答データが含まれていない場合、前記R−APDUをAPDU応答に挿入して前記データラインを通して出力することを特徴とする請求項1に記載のICチップ。  The memory card controller inserts the R-APDU into an APDU response and outputs it through the data line when response data is not included in the R-APDU (Response APDU) output from the processor. The IC chip according to claim 1. 前記メモリカードコントローラは、前記プロセッサから出力されたR−APDUに応答データが含まれている場合、応答データの存在を示す応答データ識別子をAPDU応答に挿入して前記データラインを通して出力することを特徴とする請求項1に記載のICチップ。  When the R-APDU output from the processor includes response data, the memory card controller inserts a response data identifier indicating the presence of response data into the APDU response and outputs the response data identifier through the data line. The IC chip according to claim 1. 前記メモリは、フラッシュメモリであることを特徴とする請求項1または請求項2に記載のICチップ。  The IC chip according to claim 1, wherein the memory is a flash memory. 前記メモリは、ICチップ領域とメモリカード領域を含むことを特徴とする請求項8に記載のICチップ。  9. The IC chip according to claim 8, wherein the memory includes an IC chip area and a memory card area. 前記プロセッサは、セキュリティアルゴリズムを用いて前記メモリに格納されたデータの一部に対してデータセキュリティ処理を行うことを特徴とする請求項1に記載のICチップ。  2. The IC chip according to claim 1, wherein the processor performs a data security process on a part of the data stored in the memory using a security algorithm. 前記プロセッサに接続され、前記プロセッサの演算結果を一時的に格納するRAM(Random Access Memory)をさらに含むことを特徴とする請求項1または請求項2に記載のICチップ。  The IC chip according to claim 1, further comprising a RAM (Random Access Memory) connected to the processor and temporarily storing a calculation result of the processor. 前記メモリカードコントローラは、前記プロセッサと前記メモリとを所定時間の間接続させることを特徴とする請求項1または請求項2に記載のICチップ。  The IC chip according to claim 1, wherein the memory card controller connects the processor and the memory for a predetermined time. コマンドライン及びデータラインを通してホストと通信し、メモリ及びプロセッサに接続されているメモリカードコントローラが、前記メモリ及び前記プロセッサとの接続状態を変更する方法であって、
前記コマンドラインでコマンドを受信するステップと、
前記コマンドがAPDUコマンドである場合には、前記プロセッサが前記データラインを通したAPDUの送受信を許可するステップと、
前記コマンドが接続コマンドである場合には、前記プロセッサと前記メモリを接続させるステップと、
前記メモリカードコントローラが、APDUコマンドの応答データの転送が完了したことに応じて、予め設定されたポリシーにより前記接続の状態を変更するステップとを含み、
前記コマンドは、前記メモリカードコントローラと前記プロセッサとの間の接続を設定するAPDU(Application Protocol Data Unit)コマンド、及び、前記プロセッサと前記メモリとの間の接続を設定する接続コマンドを含むことを特徴とする接続状態の変更方法。
A memory card controller that communicates with a host through a command line and a data line and is connected to a memory and a processor, and changes a connection state between the memory and the processor.
Receiving a command on the command line;
If the command is an APDU command, allowing the processor to send and receive APDUs through the data line;
If the command is a connection command, connecting the processor and the memory;
The memory card controller changing the state of the connection according to a preset policy in response to completion of transfer of response data of the APDU command ,
The command includes an APDU (Application Protocol Data Unit) command for setting a connection between the memory card controller and the processor, and a connection command for setting a connection between the processor and the memory. How to change the connection status.
JP2009500298A 2006-03-16 2007-03-16 IC chip supporting large capacity memory and supporting method Expired - Fee Related JP5022434B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR10-2006-0024337 2006-03-16
KR1020060024337A KR20070094108A (en) 2006-03-16 2006-03-16 Data security device and method and mobile terminal including the same
KR10-2006-0026954 2006-03-24
KR1020060026954A KR100738032B1 (en) 2006-03-24 2006-03-24 Smart card of supporting large size memory and method thereof
PCT/KR2007/001295 WO2007105926A1 (en) 2006-03-16 2007-03-16 Ic chip of supporting large size memory and method thereof

Publications (2)

Publication Number Publication Date
JP2009529745A JP2009529745A (en) 2009-08-20
JP5022434B2 true JP5022434B2 (en) 2012-09-12

Family

ID=38509707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009500298A Expired - Fee Related JP5022434B2 (en) 2006-03-16 2007-03-16 IC chip supporting large capacity memory and supporting method

Country Status (2)

Country Link
JP (1) JP5022434B2 (en)
WO (1) WO2007105926A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8613087B2 (en) 2010-12-06 2013-12-17 Samsung Electronics Co., Ltd. Computing system
KR20190075363A (en) 2017-12-21 2019-07-01 삼성전자주식회사 Semiconductor memory device, memory system and memory module including the same

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6385955A (en) * 1986-09-30 1988-04-16 Toshiba Corp Transfer controller for direct memory access
JPH0749817A (en) * 1993-08-06 1995-02-21 Hitachi Ltd Dma transfer controller
JP2000251035A (en) * 1999-02-26 2000-09-14 Hitachi Ltd Memory card
JP4053704B2 (en) * 2000-01-05 2008-02-27 株式会社東芝 IC card with built-in wireless interface function, antenna module, information processing device
JP4207404B2 (en) * 2001-06-27 2009-01-14 ソニー株式会社 Mobile terminal, control method therefor, and IC card
JP4185680B2 (en) * 2001-07-09 2008-11-26 株式会社ルネサステクノロジ Storage device
JP2004104539A (en) * 2002-09-11 2004-04-02 Renesas Technology Corp Memory card
KR20040085793A (en) * 2003-04-01 2004-10-08 이상은 Smart mobile storage device with embedded application programs
JP2004334471A (en) * 2003-05-07 2004-11-25 Matsushita Electric Ind Co Ltd Information card
KR100618814B1 (en) * 2003-07-04 2006-08-31 삼성전자주식회사 Movable storage apparatus combined use of smart card capable of interfacing multi hosts and interfacing method of the same
JP4648196B2 (en) * 2003-11-06 2011-03-09 パナソニック株式会社 Information recording medium, access device for information recording medium, and area setting method
TW200604810A (en) * 2004-02-20 2006-02-01 Renesas Tech Corp Nonvolatile memory and data processing system
WO2005122070A1 (en) * 2004-06-09 2005-12-22 Renesas Technology Corp. Ic card module

Also Published As

Publication number Publication date
WO2007105926A1 (en) 2007-09-20
JP2009529745A (en) 2009-08-20

Similar Documents

Publication Publication Date Title
US9462470B2 (en) Dual interface device for access control and a method therefor
US9141904B2 (en) RFID device, host, RFID-embedded apparatus, and method of controlling RFID device
JP4681314B2 (en) Wireless communication system, reader / writer device, key management method, and computer program
JP6088664B2 (en) Method for realizing selection of secure element in short-range wireless communication, mobile terminal, and POS machine
CN102026187B (en) Subscriber identification module and transmission method and system based on subscriber identification module
JP5499913B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION SYSTEM
US20090206984A1 (en) Application control method in an nfc chipset comprising several host processors
JP2002329180A (en) Memory card having radio communication function and its data communication method
JP2007317170A (en) Ic module and cellular phone
JP2008210301A (en) Storage medium, communication system, and control device
JP6334551B2 (en) NFC device with configurable notification means
EP1703408A1 (en) Data communicating apparatus and method for managing memory of data communicating apparatus
US10085268B2 (en) Communications device and communications system
CN101401113B (en) Ic chip of supporting large size memory and method thereof
JP5022434B2 (en) IC chip supporting large capacity memory and supporting method
JP4236830B2 (en) Storage device with upload function
KR100738032B1 (en) Smart card of supporting large size memory and method thereof
JP4590201B2 (en) Data carrier and data carrier program
US8965299B2 (en) Method and system for the processing control of multiple radio frequency communication streams by an integrated circuit card
EP2947600A1 (en) Portable electronic device, program, terminal device and method of controlling decoding of data
CN112613872A (en) Type 4NFC tag as protocol interface
JP2012008888A (en) Communication system, communication method, and portable electronic equipment
JP3911153B2 (en) Multi-application IC card and writing method thereof
JP7444197B2 (en) Electronic information storage medium, cryptographic operation method selection method, and program
JP2007316865A (en) Memory card

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111102

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120404

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120411

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120615

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees