JP2009129402A - Semiconductor device for ic card, ic card and terminal for ic card - Google Patents

Semiconductor device for ic card, ic card and terminal for ic card Download PDF

Info

Publication number
JP2009129402A
JP2009129402A JP2007306994A JP2007306994A JP2009129402A JP 2009129402 A JP2009129402 A JP 2009129402A JP 2007306994 A JP2007306994 A JP 2007306994A JP 2007306994 A JP2007306994 A JP 2007306994A JP 2009129402 A JP2009129402 A JP 2009129402A
Authority
JP
Japan
Prior art keywords
memory card
control circuit
card
interface
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007306994A
Other languages
Japanese (ja)
Inventor
Masatomo Ukeda
賢知 受田
Yoshinori Mochizuki
義則 望月
Shigemasa Shioda
茂雅 塩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2007306994A priority Critical patent/JP2009129402A/en
Publication of JP2009129402A publication Critical patent/JP2009129402A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To easily increase usable memory areas by suppressing cost increase and to easily cope also with security processing with respect to data in the memory areas. <P>SOLUTION: This semiconductor device (100) for an IC card has a memory card interface control circuit (160) which performs input/output control with an external memory card in addition to an input/output interface control circuit (120) which performs input/output control with the outside, and the semiconductor device (100) has a host function of a memory card. A central processor (150) responds to a security processing request supplied to the input/output interface control circuit. The central processor can also give an instruction of memory card access to the memory card interface control circuit. A transfer control circuit (140) responds to a memory card access processing request supplied to the input/output interface control circuit, and gives an instruction of the memory card access to the memory card interface control circuit. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明はセキュリティ処理とメモリカードアクセス処理に応答するICカード用半導体装置、この半導体装置を搭載したICカード、並びに当該ICカードに接続されるICカード用端末装置に関する。   The present invention relates to an IC card semiconductor device that responds to security processing and memory card access processing, an IC card on which the semiconductor device is mounted, and an IC card terminal device connected to the IC card.

ICカードは、従来の磁気カードに置き換わるデバイスとして、交通システムや認証装置で広く利用されている。ICカードは一般に電流差分解析や物理的なタンパリングに抗する仕組みを取り入れた小型のマイクロコンピュータと、接触または非接触のインタフェースをID−0またはID−1等の形状のカードに組み込んだ構成を備える。このICカードは、電気的な認証を行うことなくカード内の情報にアクセスできない方式を取り得ることから、従来の磁気カードで問題となっていた不正な改ざんや摩耗による読み取り不良に強いという特性がある。また電気的に読み書き可能であると言う特性は、磁気カードでは非常に困難であった小型化を容易にし、携帯電話機などの小型端末内の認証デバイスとして優れている。   IC cards are widely used in transportation systems and authentication devices as devices that replace conventional magnetic cards. An IC card generally has a configuration in which a small microcomputer incorporating a mechanism that resists current difference analysis and physical tampering, and a contact or non-contact interface is incorporated in a card having a shape such as ID-0 or ID-1. Prepare. Since this IC card can take a method in which information in the card cannot be accessed without performing electrical authentication, it has a characteristic that it is resistant to reading defects due to unauthorized tampering and wear, which has been a problem with conventional magnetic cards. is there. In addition, the property of being electrically readable and writable facilitates downsizing, which is very difficult with a magnetic card, and is excellent as an authentication device in a small terminal such as a mobile phone.

現在ICカードまたはICカードチップ(ICカード用半導体装置)は、様々な装置の認証デバイスとして利用されており、ICカードまたはICカードチップへの機能並びに性能に対する要求は年々増大している。特にICカードチップ内に格納するアプリケーションの多様化と大規模化により、ICカードチップに要求される記憶容量も増大しており、これは今後とも増大する傾向にある。さらにICカードチップ内のデータ量の増大は、ICカードチップ内で処理するデータ量の増大と、端末装置とやりとりするデータ量の増大にもつながり、既存の仕組みでICカードの能力を向上させることは困難になってきている。   Currently, an IC card or an IC card chip (semiconductor device for IC card) is used as an authentication device for various devices, and demands for functions and performance of the IC card or IC card chip are increasing year by year. In particular, with the diversification and enlargement of applications stored in the IC card chip, the storage capacity required for the IC card chip is also increasing, and this tends to increase in the future. Furthermore, an increase in the amount of data in the IC card chip also leads to an increase in the amount of data processed in the IC card chip and an increase in the amount of data exchanged with the terminal device, thereby improving the capability of the IC card with the existing mechanism. Is getting harder.

このような流れの中で、ISO/IEC 7816―12に記載されているような、高速通信インタフェースを有するICカードの規格が策定されており、インタフェース部分の速度に関する課題に対しては一定の解決がなされている。しかしながら、ICカードチップ内のデータ容量の増大に対しては、ICカード内に大容量のフラッシュメモリなどを組み込むことが解決策になるが、ICカードチップのコストに比べてフラッシュメモリのコストが大きいことから、ICカード製造者にとって大きな負担となっている。   In such a flow, a standard for an IC card having a high-speed communication interface as described in ISO / IEC 7816-12 has been established, and a certain solution to the problem relating to the speed of the interface portion. Has been made. However, to increase the data capacity in the IC card chip, incorporating a large-capacity flash memory in the IC card is a solution, but the cost of the flash memory is larger than the cost of the IC card chip. For this reason, it is a great burden for IC card manufacturers.

このような課題に対する解決策の一つとして、特許文献1に見られるような、ICカードとメモリカードを、インタフェースを独立にして一枚のカードに混載するという構成が考えられる。この場合、ICカード部分とフラッシュメモリ部分を独立に製造できるため、各インタフェースに対して従来品がそのまま利用できるという効果があるものの、製品としての価格は単品としてもトータルとしても増大してしまうと言う問題がある。また回路が独立であることから、ICカードのセキュリティデータの一部を格納するという用途には使いにくい。   As one of solutions to such a problem, a configuration in which an IC card and a memory card are mixedly mounted on a single card with independent interfaces as shown in Patent Document 1 can be considered. In this case, since the IC card part and the flash memory part can be manufactured independently, there is an effect that the conventional product can be used as it is for each interface, but the price as a product increases as a single product or as a total. There is a problem to say. Further, since the circuit is independent, it is difficult to use for the purpose of storing a part of the security data of the IC card.

特開2005−322109号公報JP-A-2005-322109

上記のように、ICカードの記憶容量の増大に対しては、ICカードを利用する端末装置上に大容量メモリを組み込んだり、メモリカードデバイスを接続する手段が考えられるが、これらは端末装置自身が制御するデバイスであることから、ICカードの記憶容量に関する課題の解決には適さない。   As described above, for increasing the storage capacity of the IC card, means for incorporating a large-capacity memory on the terminal device using the IC card or connecting the memory card device can be considered. Therefore, it is not suitable for solving the problem relating to the storage capacity of the IC card.

本発明の目的は、利用可能な不揮発性メモリ領域をコストの増大を抑制して容易に増やすことができ且つ前記不揮発性メモリ領域のデータに対するセキュリティ処理にも容易に対応することができるICカード用半導体装置を提供することにある。   An object of the present invention is for an IC card that can easily increase the available non-volatile memory area while suppressing an increase in cost and can easily cope with security processing for data in the non-volatile memory area. It is to provide a semiconductor device.

本発明の別の目的は、利用可能な不揮発性メモリ領域をコスト増大を抑制して容易に増やすことができ且つ前記不揮発性メモリ領域のデータに対するセキュリティ処理にも容易に対応することができるICカード並びのそのICカードに好適なICカード用端末装置を提供することにある。   Another object of the present invention is an IC card that can easily increase the available non-volatile memory area while suppressing an increase in cost and can easily cope with security processing for data in the non-volatile memory area. An object of the present invention is to provide an IC card terminal device suitable for the IC cards in a line.

本発明の更に別の目的は、メモリカードホスト機能を備えたICカードでアクセス可能なメモリカードにも単独アクセス可能なICカード用端末装置を提供することにある。   Still another object of the present invention is to provide a terminal device for an IC card that can independently access a memory card that can be accessed by an IC card having a memory card host function.

本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。   The following is a brief description of an outline of typical inventions disclosed in the present application.

すなわち、ICカード用半導体装置は、外部との間で入出力制御を行う入出力インタフェース制御回路の他に外部のメモリカードとの間で入出力制御を行うメモリカードインタフェース制御回路を有し、メモリカードのホスト機能を持つ。前記入出力インタフェース制御回路に供給されるセキュリティ処理要求には中央処理装置が応答する。中央処理装置は前記メモリカードインタフェース制御回路にメモリカードアクセスの指示を与えることも可能である。前記入出力インタフェース制御回路に供給されるメモリカードアクセス処理要求には転送制御回路が応答して前記メモリカードインタフェース制御回路にメモリカードアクセスの指示を与える。   That is, the IC card semiconductor device has a memory card interface control circuit that performs input / output control with an external memory card in addition to an input / output interface control circuit that performs input / output control with the outside, Has card host function. The central processing unit responds to the security processing request supplied to the input / output interface control circuit. The central processing unit can give a memory card access instruction to the memory card interface control circuit. The transfer control circuit responds to the memory card access processing request supplied to the input / output interface control circuit and gives a memory card access instruction to the memory card interface control circuit.

上記手段によれば、ICカード用半導体装置が利用する不揮発性メモリ領域を増設するには前記メモリカードインタフェース制御回路に接続するメモリカードを当該半導体装置の外部に追加すれば良い。メモリカードアクセス処理要求には転送制御回路が応答するから中央処理装置の負担が軽減される。中央処理装置はセキュリティ処理を行なったデータ等の格納にも外部のメモリカードを利用することができる。   According to the above means, in order to increase the non-volatile memory area used by the IC card semiconductor device, a memory card connected to the memory card interface control circuit may be added outside the semiconductor device. Since the transfer control circuit responds to the memory card access processing request, the burden on the central processing unit is reduced. The central processing unit can also use an external memory card for storing data subjected to security processing.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。   The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.

すなわち、外付けのメモリカードを追加することで、ICカード用半導体装置から直接外付けのメモリカード内のデータを扱うことが出来るようになり、利用可能な不揮発性メモリ領域をコスト増大を抑制して増やすことができ、且つ前記不揮発性メモリ領域のデータに対するセキュリティ処理にも容易に対応することができる。   In other words, by adding an external memory card, the data in the external memory card can be handled directly from the IC card semiconductor device, and the available nonvolatile memory area can be suppressed from increasing in cost. And can easily cope with security processing for the data in the nonvolatile memory area.

1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
1. First, an outline of a typical embodiment of the invention disclosed in the present application will be described. Reference numerals in the drawings that are referred to with parentheses in the outline description of the representative embodiment merely exemplify what is included in the concept of the component to which the reference numeral is attached.

〔1〕ICカード用半導体装置(105)は、所定の入出力インタフェース仕様に準拠して外部との間で入出力制御を行う入出力インタフェース制御回路(120)と、メモリカードインタフェース制御回路(160)と、中央処理装置(150)と、転送制御回路(140)とを有する。メモリカードインタフェース制御回路は所定のメモリカードインタフェース仕様に準拠して外部のメモリカードとの間で入出力制御を行う。中央処理装置は前記入出力インタフェース制御回路に供給されるセキュリティ処理要求に応答してデータ処理を行ない、また、前記メモリカードインタフェース制御回路にメモリカードのアクセス指示を与える。転送制御回路は、前記入出力インタフェース制御回路に供給されるメモリカードアクセス処理要求に応答して前記メモリカードインタフェース制御回路にメモリカードのアクセス指示を与える。   [1] The IC card semiconductor device (105) includes an input / output interface control circuit (120) for performing input / output control with the outside in accordance with a predetermined input / output interface specification, and a memory card interface control circuit (160). ), A central processing unit (150), and a transfer control circuit (140). The memory card interface control circuit performs input / output control with an external memory card in accordance with a predetermined memory card interface specification. The central processing unit performs data processing in response to a security processing request supplied to the input / output interface control circuit, and gives a memory card access instruction to the memory card interface control circuit. The transfer control circuit gives a memory card access instruction to the memory card interface control circuit in response to a memory card access processing request supplied to the input / output interface control circuit.

上記手段によれば、ICカード用半導体装置はメモリカードホスト機能を有するから、利用する不揮発性メモリ領域を増設するにはメモリカードを当該半導体装置の外部に追加して前記メモリカードインタフェース制御回路に接続すればよい。メモリカードアクセス処理要求には転送制御回路が応答するから中央処理装置の負担が軽減される。中央処理装置はセキュリティ処理を行なったデータ等の格納にも外部のメモリカードを利用することができる。したがって、利用可能な不揮発性メモリ領域をコスト増大を抑制して増やすことができ、且つ前記不揮発性メモリ領域のデータに対するセキュリティ処理にも容易に対応することができる。   According to the above means, the IC card semiconductor device has a memory card host function. Therefore, in order to increase the nonvolatile memory area to be used, a memory card is added to the outside of the semiconductor device and added to the memory card interface control circuit. Just connect. Since the transfer control circuit responds to the memory card access processing request, the burden on the central processing unit is reduced. The central processing unit can also use an external memory card for storing data subjected to security processing. Therefore, the available non-volatile memory area can be increased while suppressing an increase in cost, and security processing for data in the non-volatile memory area can be easily handled.

〔2〕項1のICカード用半導体装置は更に、前記転送制御回路と前記メモリカードインタフェース制御回路との間にバッファ(145)を有する。前記転送制御回路は前記メモリカードへの書込みデータを前記バッファに転送制御し、前記メモリカードインタフェース制御回路は前記メモリカードからのリードデータを前記バッファに転送制御する。バッファッメモリは転送制御回路と前記メモリカードインタフェース制御回路による共有バッファになるから、メモリカードに対する書込みデータ及びリードデータのデータ転送制御の容易化に資することができる。   [2] The IC card semiconductor device according to [1] further includes a buffer (145) between the transfer control circuit and the memory card interface control circuit. The transfer control circuit controls transfer of write data to the memory card to the buffer, and the memory card interface control circuit controls transfer of read data from the memory card to the buffer. Since the buffer memory becomes a shared buffer by the transfer control circuit and the memory card interface control circuit, it can contribute to easy data transfer control of write data and read data to the memory card.

〔3〕項2のICカード用半導体装置は更に、前記入出力インタフェース制御回路と中央処理装置とを接続する内部バス(130)と、前記入出力インタフェース制御回路から転送制御回路を経由して前記データバッファに至る内部バス(133A,133B)とを別々に持つ。メモリカードアクセス処理とセキュリティ処理との間でデータ転送のバス競合を回避することが容易になり、データ処理の効率化に資することができる。   [3] The IC card semiconductor device of item 2 further includes an internal bus (130) for connecting the input / output interface control circuit and the central processing unit, and the input / output interface control circuit via the transfer control circuit. Internal buses (133A, 133B) leading to the data buffer are separately provided. It becomes easy to avoid data transfer bus contention between the memory card access process and the security process, which can contribute to the efficiency of the data process.

〔4〕項1のICカード用半導体装置において、前記メモリカードインタフェース制御回路は、メモリカードのアクセス動作を指示するアクセスコマンドが格納される命令キュー(165)を有する。前記中央処理装置と転送制御回路は前記命令キューにアクセスコマンドを書込み可能である。前記メモリカードインタフェース制御回路は命令キューに書込まれたアクセスコマンドに従って外部のメモリカードに対するインタフェース制御を行う。   [4] In the semiconductor device for an IC card according to item 1, the memory card interface control circuit has an instruction queue (165) in which an access command instructing an access operation of the memory card is stored. The central processing unit and the transfer control circuit can write an access command to the instruction queue. The memory card interface control circuit performs interface control for an external memory card in accordance with an access command written in the instruction queue.

〔5〕項4のICカード用半導体装置において、前記転送制御回路は、前記入出力インタフェース制御回路に供給されるメモリカードアクセス処理要求が書き込みの場合、前記転送制御回路からバッファへの転送経路のバス権を獲得し、前記バッファの空き領域に書込みデータを転送する。そして、前記メモリカードインタフェース制御回路の命令キューに書込みアクセスコマンドを転送して、前記メモリカードインタフェース制御回路にバッファの書込みデータをメモリカードに書込む制御を開始させる。命令キューへの書き込みアクセスコマンドのセットはバッファに書込みデータを転送した後に行うから、前記バッファに空き領域が無くても、先に設定されている書込みアクセスコマンド又は読み出しアクセスコマンドが実行されることになり、前記バッファに空き領域が無ければ空くまで待てばよい。   [5] In the IC card semiconductor device of item 4, when the memory card access processing request supplied to the input / output interface control circuit is a write, the transfer control circuit sets the transfer path from the transfer control circuit to the buffer. A bus right is acquired and write data is transferred to an empty area of the buffer. Then, a write access command is transferred to the instruction queue of the memory card interface control circuit, and the memory card interface control circuit starts control to write the write data in the buffer to the memory card. Since the write access command is set to the instruction queue after the write data is transferred to the buffer, the previously set write access command or read access command is executed even if there is no free space in the buffer. If there is no free space in the buffer, it is sufficient to wait until it is free.

〔6〕項4のICカード用半導体装置において、前記転送制御回路は、前記入出力インタフェース制御回路に供給されるメモリカードアクセス処理要求が読出しの場合、前記メモリカードインタフェース制御回路の命令キューに読出しアクセスコマンドを転送して、前記メモリカードインタフェース制御回路に前記メモリカードからデータリードさせてバッファの空き領域に格納させる。そして、バッファから転送制御回路への転送経路のバス権を獲得して、バッファのリードデータを前記入出力インタフェース制御回路に供給する。   [6] In the semiconductor device for an IC card according to item 4, when the memory card access processing request supplied to the input / output interface control circuit is a read, the transfer control circuit reads the read request to the instruction queue of the memory card interface control circuit. The access command is transferred, and the memory card interface control circuit reads data from the memory card and stores it in an empty area of the buffer. Then, the bus right of the transfer path from the buffer to the transfer control circuit is acquired, and the read data of the buffer is supplied to the input / output interface control circuit.

〔7〕項6のICカード用半導体装置において、前記メモリカードインタフェース制御回路は、読出しアクセスコマンドに応答するとき、前記バッファに空き領域がない場合には前記命令キューに格納されている書込みアクセスコマンドによる書込みを先に行ってバッファに空き領域を確保する。命令キューへの読出しアクセスコマンドのセットはバッファに読出しデータが転送される前に行うから、前記バッファに空き領域が無いときそのまま待っているだけではバッファには空きが生じないので、先に設定されている書込みアクセスコマンドを先に実行させることにより、強制的に前記バッファに空き領域を確保することが可能になる。   [7] In the IC card semiconductor device according to [6], when the memory card interface control circuit responds to the read access command and there is no free space in the buffer, the write access command stored in the instruction queue First, write in to secure a free area in the buffer. Since the read access command to the instruction queue is set before the read data is transferred to the buffer, if there is no free space in the buffer, there is no free space in the buffer. By executing the write access command first, it is possible to forcibly reserve an empty area in the buffer.

〔8〕項4のICカード用半導体装置において、前記転送制御回路は、前記入出力インタフェース制御回路に供給されるメモリカードアクセス処理要求が消去の場合、前記メモリカードインタフェース制御回路の命令キューに消去アクセスコマンドを転送して、前記メモリカードインタフェース制御回路に前記メモリカードに対する消去動作を開始させる。   [8] In the IC card semiconductor device according to item 4, when the memory card access processing request supplied to the input / output interface control circuit is erased, the transfer control circuit erases it in the instruction queue of the memory card interface control circuit. The access command is transferred to cause the memory card interface control circuit to start an erasing operation on the memory card.

〔9〕項1のICカード用半導体装置を適用したICカード(100)は、カード基板に、当該ICカード用半導体装置(105)と、前記ICカード用半導体装置の入出力インタフェース制御回路に接続する第1インタフェース端子(704,708)と、前記ICカード用半導体装置のメモリカードインタフェース制御回路に接続する第2インタフェース端子(702,703,706,707)と、を有す。例えば第1インタフェース端子及び第2インタフェース端子がICカード用端末装置にインタフェースされるとき、ICカード用端末装置に装着された増設用のメモリカードをICカード用端末装置内部で第2インタフェース端子に接続すれば良い。第2インタフェース端子が直接メモリカードを着脱可能であれば、ICカードに直接メモリカードを装着して増設することができる。メモリカードが単一の半導体チップで形成された半導体デバイスである場合には当該デバイスをICカードに予め組み込んでおくことも可能である。   [9] An IC card (100) to which the IC card semiconductor device according to [1] is applied is connected to a card substrate with the IC card semiconductor device (105) and an input / output interface control circuit of the IC card semiconductor device. And a second interface terminal (702, 703, 706, 707) connected to the memory card interface control circuit of the IC card semiconductor device. For example, when the first interface terminal and the second interface terminal are interfaced to the IC card terminal device, an additional memory card attached to the IC card terminal device is connected to the second interface terminal inside the IC card terminal device. Just do it. If the second interface terminal can directly attach and detach the memory card, the memory card can be directly attached to the IC card for expansion. When the memory card is a semiconductor device formed of a single semiconductor chip, the device can be incorporated in advance in the IC card.

〔10〕項9のICカードが利用される一つのICカード用端末装置(180)は、当該ICカードにおける前記第1インタフェース端子のうちICカードの外部に露出した前記第1インタフェース端子に接続される第1端末インタフェース端子(182)と、項9のICカードにおける前記第2インタフェース端子のうちICカードの外部に露出した前記第2インタフェース端子に接続される第2端末インタフェース端子(181A)とを有する。更に、メモリカードが接続される第3端末インタフェース端子(181B)と、前記第2端末インタフェース端子を前記第3端末インタフェース端子に接続するバイパス経路(183)と、を有する。これにより、前記ICカードに好適なICカード用端末装置を実現することができる。   [10] One IC card terminal device (180) in which the IC card of item 9 is used is connected to the first interface terminal exposed to the outside of the IC card among the first interface terminals of the IC card. A first terminal interface terminal (182), and a second terminal interface terminal (181A) connected to the second interface terminal exposed to the outside of the IC card among the second interface terminals in the IC card of Item 9. Have. Furthermore, it has a third terminal interface terminal (181B) to which the memory card is connected, and a bypass path (183) for connecting the second terminal interface terminal to the third terminal interface terminal. Thereby, an IC card terminal device suitable for the IC card can be realized.

〔11〕別の観点によるICカード用半導体装置(105)は、所定の入出力インタフェース仕様に準拠して外部との間で入出力制御を行う入出力インタフェース制御回路(120)と、メモリカードインタフェース制御回路(160)と、第1データ処理装置(150)と、第2データ処理回路(140)とを有する。メモリカードインタフェース制御回路は所定のメモリカードインタフェース仕様に準拠して外部のメモリカードとの間で入出力制御を行う。第1データ処理装置は前記入出力インタフェース制御回路に供給されるセキュリティ処理要求に応答してデータ処理を行なう。第2データ処理回路は前記入出力インタフェース制御回路に供給されるメモリカードアクセス処理要求に応答して前記メモリカードインタフェース制御回路にメモリカードアクセスの指示を与える。このとき、前記メモリカードインタフェース制御回路は、メモリカードに動作電源を供給するための電源端子に入力端子が接続された第1電圧検出回路(210)を有し、前記第1電圧検出回路により外部から電圧が供給されていないときにメモリカードに対するアクセス動作を開始する。   [11] An IC card semiconductor device (105) according to another aspect includes an input / output interface control circuit (120) for performing input / output control with the outside in accordance with a predetermined input / output interface specification, and a memory card interface. A control circuit (160), a first data processing device (150), and a second data processing circuit (140) are included. The memory card interface control circuit performs input / output control with an external memory card in accordance with a predetermined memory card interface specification. The first data processing device performs data processing in response to a security processing request supplied to the input / output interface control circuit. The second data processing circuit gives a memory card access instruction to the memory card interface control circuit in response to the memory card access processing request supplied to the input / output interface control circuit. At this time, the memory card interface control circuit has a first voltage detection circuit (210) having an input terminal connected to a power supply terminal for supplying operating power to the memory card. When the voltage is not supplied from the memory card, an access operation to the memory card is started.

上記手段によれば、ICカード用半導体装置はメモリカードホスト機能を有するので、利用する不揮発性メモリ領域を増設するにはメモリカードを当該半導体装置の外部に追加して前記メモリカードインタフェース制御回路に接続すればよい。メモリカードアクセス処理要求には転送制御回路が応答するから中央処理装置の負担が軽減される。また、第1電圧検出回路を持つことによりメモリカードホスト機能を有するICカードからのアクセスが端末装置からのアクセスと競合することをICカード用半導体装置自らで回避可能になる。   According to the above means, since the IC card semiconductor device has a memory card host function, in order to increase the nonvolatile memory area to be used, a memory card is added to the outside of the semiconductor device and added to the memory card interface control circuit. Just connect. Since the transfer control circuit responds to the memory card access processing request, the burden on the central processing unit is reduced. Further, by having the first voltage detection circuit, the IC card semiconductor device itself can avoid that the access from the IC card having the memory card host function competes with the access from the terminal device.

〔12〕項11のICカード用半導体装置において前記第1データ処理装置は前記メモリカードインタフェース制御回路にメモリカードのアクセス指示を与えることが可能である。これにより、第1データ処理装置はセキュリティ処理を行なったデータ等の格納にも外部のメモリカードを利用することができる。   [12] In the IC card semiconductor device of item 11, the first data processing device can give a memory card access instruction to the memory card interface control circuit. As a result, the first data processing apparatus can also use an external memory card for storing data subjected to security processing.

〔13〕項11のICカード用半導体装置を適用したICカード(100)は、カード基板に、当該ICカード用半導体装置と、前記ICカード用半導体装置の入出力インタフェース制御回路に接続する第1インタフェース端子と、前記ICカード用半導体装置のメモリカードインタフェース制御回路に接続する第2インタフェース端子と、を有する。例えば第1インタフェース端子及び第2インタフェース端子がICカード用端末装置にインタフェースされるとき、ICカード用端末装置に装着された増設用のメモリカードをICカード用端末装置内部で第2インタフェース端子に接続すれば良い。   [13] An IC card (100) to which the IC card semiconductor device according to Item 11 is applied is connected to a card substrate with the IC card semiconductor device and an input / output interface control circuit of the IC card semiconductor device. An interface terminal; and a second interface terminal connected to the memory card interface control circuit of the IC card semiconductor device. For example, when the first interface terminal and the second interface terminal are interfaced to the IC card terminal device, an additional memory card attached to the IC card terminal device is connected to the second interface terminal inside the IC card terminal device. Just do it.

〔14〕項13のICカードが利用される一つのICカード用端末装置(180A)は、当該ICカードにおける前記第1インタフェース端子のうちICカードの外部に露出した第1インタフェース端子に接続される第1端末インタフェース端子(182)と、前記ICカードにおける前記第2インタフェース端子のうちICカードの外部に露出した第2インタフェース端子に接続される第2端末インタフェース端子(181A)とを有する。更に、メモリカードが接続される第3端末インタフェース端子(181B)と、前記ICカードからメモリカードに動作電源を供給するための前記第2端末インタフェース端子のうちの電源端子に入力端子が接続された第2電圧検出回路(220)とを有し、前記第2電圧検出回路により外部から電圧が供給されていないときに第3端末インタフェース端子を介してメモリカードに対するアクセス動作を開始する。これにより、ICカード用端末装置は第2電圧検出回路を持つことによりメモリカードホスト機能を有するICカードによるメモリカードのアクセスとの競合をICカード用端末装置自らで回避可能になる。   [14] One IC card terminal device (180A) in which the IC card of item 13 is used is connected to a first interface terminal exposed to the outside of the IC card among the first interface terminals of the IC card. A first terminal interface terminal (182); and a second terminal interface terminal (181A) connected to a second interface terminal exposed to the outside of the IC card among the second interface terminals in the IC card. Furthermore, the input terminal is connected to the power terminal of the third terminal interface terminal (181B) to which the memory card is connected and the second terminal interface terminal for supplying operating power from the IC card to the memory card. A second voltage detection circuit (220), and starts an access operation to the memory card via the third terminal interface terminal when no voltage is supplied from the outside by the second voltage detection circuit. As a result, the IC card terminal device has the second voltage detection circuit, so that the IC card terminal device itself can avoid conflict with access to the memory card by the IC card having the memory card host function.

2.実施の形態の詳細
実施の形態について更に詳述する。以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。なお、発明を実施するための最良の形態を説明するための全図において、同一の機能を有する部材には同一の符号を付し、その繰り返しの説明は省略する。
2. Details of Embodiments Embodiments will be further described in detail. Hereinafter, the best mode for carrying out the present invention will be described in detail with reference to the drawings. Note that members having the same function are denoted by the same reference symbols throughout the drawings for describing the best mode for carrying out the invention, and the repetitive description thereof will be omitted.

図1には本発明に係るICカード(ICCRD)100の一例が示される。ICカード100は端末装置(TRML)180とインタフェース可能にされると共に、端末装置180に接続されたメモリカード190を当該端末装置180経由でアクセス可能にされる。ICカード100は外部インタフェース端子を有するカード基板にICカードチップ(ICCRDCHP)105を搭載して構成される。ICカードチップ105は例えば相補型MOS集積回路製造技術等にとって単結晶シリコン等の半導体基板に形成され、マイクロコンピュータ若しくはデータプロセッサを構成する。外部インタフェース端子は接触端子、或いは非接触インタフェースのためのアンテナ端子とされる。   FIG. 1 shows an example of an IC card (ICCRD) 100 according to the present invention. The IC card 100 can be interfaced with a terminal device (TRML) 180 and a memory card 190 connected to the terminal device 180 can be accessed via the terminal device 180. The IC card 100 is configured by mounting an IC card chip (ICCRDCHP) 105 on a card substrate having an external interface terminal. The IC card chip 105 is formed on a semiconductor substrate such as single crystal silicon for the complementary MOS integrated circuit manufacturing technique, for example, and constitutes a microcomputer or a data processor. The external interface terminal is a contact terminal or an antenna terminal for a non-contact interface.

ICカードチップ105は、外部インタフェース端子を介して端末装置180にインタフェースされる入出力インタフェース制御回路である端末インタフェース制御回路(TRMIFCNT)120と、前記メモリカード190に対してカードホストと同様のインタフェース制御を行うメモリカード制御回路(MCRDCNT)160を有する。端末インタフェース制御回路120は入出力インタフェース127を介して端末装置(TRML)180の外部インタフェース端子182とインタフェース可能にされる。メモリカード制御回路160はメモリカードインタフェース167Aを介して端末装置180のインタフェース端子181Aに結合される。メモリカード190はメモリカードインタフェース167Bを介して端末装置180のインタフェース端子181Bに結合される。インタフェース端子181Aと181Bとは端末装置180の内部で対応端子がバイパス経路もしくはスルー経路を構成するバス183によって接続可能にされる。   The IC card chip 105 has a terminal interface control circuit (TRMIFCNT) 120, which is an input / output interface control circuit interfaced to the terminal device 180 via an external interface terminal, and interface control similar to that of a card host with respect to the memory card 190. A memory card control circuit (MCRDCNT) 160 for performing The terminal interface control circuit 120 can interface with the external interface terminal 182 of the terminal device (TRML) 180 via the input / output interface 127. The memory card control circuit 160 is coupled to the interface terminal 181A of the terminal device 180 via the memory card interface 167A. The memory card 190 is coupled to the interface terminal 181B of the terminal device 180 via the memory card interface 167B. The interface terminals 181A and 181B can be connected to each other by a bus 183 whose corresponding terminal forms a bypass path or a through path in the terminal device 180.

ICカードチップ105の全体的な制御を行うために、中央処理装置(CPU)150と共に、バッファメモリ(MEM)155等が設けられ、それらは内部バス130を介して端末インタフェース制御回路120とメモリカード制御回路160に接続される。中央処理装置150は例えばプロセッサコとしての構成を有する。中央処理装置150は、暗号化・復号や認証などのセキュリティ処理等を行ない、必要に応じてメモリカードを各種データ処理のための補助記憶装置として用いる。また、メモリカード190は端末装置180にとっても画像データ等の大量のストリームデータを格納するためのストレージとして利用可能にされる。端末装置180からの要求に答えてメモリカード190を利用可能に制御するとき、CPU150の負担を軽減するために、転送制御回路(TRCNT)140、セレクタ132及びバッファ(BUFF)145を有する。端末インタフェース制御回路120と転送制御回路140はバス133Aで接続され、転送制御回路140とバス130はセレクタ141を介して選択的にバス141に接続され、バス141にバッファ145が接続される。   In order to perform overall control of the IC card chip 105, a central processing unit (CPU) 150 and a buffer memory (MEM) 155 are provided, which are connected to the terminal interface control circuit 120 and the memory card via the internal bus 130. Connected to the control circuit 160. The central processing unit 150 has a configuration as a processor core, for example. The central processing unit 150 performs security processing such as encryption / decryption and authentication, and uses a memory card as an auxiliary storage device for various data processing as necessary. In addition, the memory card 190 can be used as a storage for the terminal device 180 to store a large amount of stream data such as image data. When the memory card 190 is controlled to be usable in response to a request from the terminal device 180, a transfer control circuit (TRCNT) 140, a selector 132, and a buffer (BUFF) 145 are provided to reduce the load on the CPU 150. The terminal interface control circuit 120 and the transfer control circuit 140 are connected by a bus 133A, the transfer control circuit 140 and the bus 130 are selectively connected to the bus 141 via the selector 141, and the buffer 141 is connected to the bus 141.

端末インタフェース制御回路120と端末装置180の入出力インタフェース270はUSB(universal serial bus)インタフェース等の適宜のインタフェースであってよい。例えば端末インタフェース制御回路120は端末装置のUSBマス・ストレージ・クラスのドライバソフトを介するアクセス(単にMSCアクセス)要求を受け付けると共に、セキュリティ処理用のICカードコマンドを受け付ける。端末インタフェース制御回路120は、MSCアクセス要求を伴うデータストレージ処理のための命令及びデータ(単にMSCデータストリームともも称する)が入力されるとこれをMSCバッファ(MSCBUF)120Aに格納し、ICコマンドを伴うセキュリティ処理のための命令及びデータ(単にICCデータストリームとも称する)が供給されるとこれをICCバッファ(ICCBUF)120Bに格納する。端末インタフェース制御回路120は、MSCアクセス要求がリード要求であるときは、これに応答するリードデータがMSCバッファ120Aに内部転送されるのを待って端末装置180に出力し、セキュリティ処理がリード要求を伴うときにはこれに応答するリードデータがICCバッファ120Bに内部転送されるのを待って端末装置180に出力する。   The input / output interface 270 of the terminal interface control circuit 120 and the terminal device 180 may be an appropriate interface such as a USB (universal serial bus) interface. For example, the terminal interface control circuit 120 accepts an access (simply MSC access) request via the USB mass storage class driver software of the terminal device and accepts an IC card command for security processing. When an instruction and data for data storage processing accompanied by an MSC access request and data (also simply referred to as an MSC data stream) are input, the terminal interface control circuit 120 stores this in the MSC buffer (MSCBUF) 120A, and an IC command is stored. When an instruction and data (hereinafter also simply referred to as an ICC data stream) for accompanying security processing are supplied, they are stored in an ICC buffer (ICCBUF) 120B. When the MSC access request is a read request, the terminal interface control circuit 120 waits for the read data that responds to the internal transfer to the MSC buffer 120A and outputs it to the terminal device 180, and the security process issues the read request. At the same time, the read data responding thereto is output to the terminal device 180 after waiting for the internal transfer to the ICC buffer 120B.

端末インタフェース制御回路120は、MSCデータストリームをMSCBUF120Aに格納すると、TRCNT140に転送要求を発行する。TRCNT140は、MSCアクセス要求がMCRD190に対する書込み、読出し、又は消去の要求に応じて、バス141の利用権獲得、BUFF145のリード/ライト制御、及びMCRDCNT160に対する動作制御を行う。書き込みの場合にTRCNT140は、バス141の利用権を獲得してバススイッチ132をTRCNT140側に切換え、BUFF145の空き領域に書込みデータを転送し、MCRDCNT160の命令キュー(IQUE)165に書込みコマンド(書込み命令)を転送し、制御レジスタ(CREG)163を操作する。命令キュー165と制御レジスタ163に対する操作はバス134を経由して行われる。これによってMCRDCNT160はBUFF145に格納されている書込みデータをMCRD190に書込むためのメモリカード190の書込み制御を行う。読出しの場合にTRCNT140は、MCRDCNT160の命令キュー(IQUE)165にバス134経由で読出しコマンド(読出し命令)を転送し、制御レジスタ(CREG)163を操作する。そして、MCRDCNT160からのリードデータの転送要求を待ってバス141の利用権を獲得してバススイッチ132をTRCNT140側に切換え、MCRDCNT160によってBUFF145の空き領域に転送されたリードデータをMSCBUF120Aに転送する制御を行う。消去の場合にTRCNT140は、MCRDCNT160の命令キュー(IQUE)165にバス134経由で消去コマンド(消去命令)を転送し、制御レジスタ(CREG)163を操作して、MCRDCNT160に消去コマンドに従ったアドレス領域のデータをMCRD190から削除させる。TRCNT140は端末装置から受取ったMSCデータストリームの処理を行なっていないときはその状態をCPU150に通知する。   When the MSC data stream is stored in the MSCBUF 120A, the terminal interface control circuit 120 issues a transfer request to the TRCNT 140. The TRCNT 140 performs use right acquisition of the bus 141, read / write control of the BUFF 145, and operation control for the MCRDCNT 160 in response to a request for writing, reading, or erasing the MSC access request to the MCRD 190. In the case of writing, the TRCNT 140 acquires the right to use the bus 141, switches the bus switch 132 to the TRCNT 140 side, transfers the write data to the empty area of the BUFF 145, and writes the write command (write command) to the instruction queue (IQUE) 165 of the MCRDCNT 160. ) And the control register (CREG) 163 is operated. Operations on the instruction queue 165 and the control register 163 are performed via the bus 134. As a result, the MCRDCNT 160 performs write control of the memory card 190 for writing the write data stored in the BUFF 145 to the MCRD 190. In the case of reading, the TRCNT 140 transfers a read command (read command) to the instruction queue (IQUE) 165 of the MCRDCNT 160 via the bus 134 and operates the control register (CREG) 163. Then, after waiting for a read data transfer request from MCRDCNT 160, the right to use bus 141 is acquired, bus switch 132 is switched to TRCNT 140, and read data transferred to the free area of BUFF 145 by MCRDCNT 160 is transferred to MSCBUF 120A. Do. In the case of erasure, the TRCNT 140 transfers an erase command (erase instruction) to the instruction queue (IQUE) 165 of the MCRDCNT 160 via the bus 134, operates the control register (CREG) 163, and sends an address area according to the erase command to the MCRDCNT 160. Are deleted from the MCRD 190. When the TRCNT 140 is not processing the MSC data stream received from the terminal device, the TRCNT 140 notifies the CPU 150 of the status.

端末インタフェース制御回路120は、ICCデータストリームをICCCBUF120Bに格納すると、CPU150に割り込みを要求する。CPU150はその割込み要求に応答してICCBUF120BのICCデータストリームを読み込んでICカードコマンドで所持されるセキュリティ処理を実行する。セキュリティ処理に際してMCRD190のアクセスが必要な場合は、TRCNT140がMSCデータストリームの処理を行なっていないこと条件に、MCDCNT163にアクセスコマンドを発行する。ICカードコナンドによるセキュリティ処理にリード要求を伴うときCPU150はこれに応答するリードデータをICCバッファ120Bに内部転送する。   When the terminal interface control circuit 120 stores the ICC data stream in the ICCCBUF 120B, the terminal interface control circuit 120 requests the CPU 150 for an interrupt. In response to the interrupt request, the CPU 150 reads the ICC BUF 120B ICC data stream and executes security processing possessed by the IC card command. When access to the MCRD 190 is required for the security processing, the access command is issued to the MCDCNT 163 on condition that the TRCNT 140 is not processing the MSC data stream. When a read request accompanies the security processing by the IC card conand, the CPU 150 internally transfers read data in response to the ICC buffer 120B.

図1のシステムを更に詳述する。前記端末180は携帯電話やPC、自動現金預け払い機、ICカードリーダ・ライタ、ネットワーク端末等の装置であるが、入出力のためのインタフェース(IF)と演算処理装置を有する装置であれば、この例に限定されるものではない。このようなIFとしては、USB(登録商標)、MMC(登録商標)IF、 Bluetooth(登録商標)、WiMAX(登録商標)、Ethernet(登録商標)、ATA IF、ISO 14443に基づいた非接触IF等が該当する。ICカード100はISO7810で規定されているID−1やID−0の形状のICカードであるが、USBトークンやメモリカードの形状であってもよく、認証処理などのセキュリティ処理を安全に実施可能なデバイスであればこの限りではない。またメモリカード190は、SD(Secure Digitalの略である)カード、MMC(MultiMediaCardの略である)、メモリースティック(登録商標)、コンパクトフラッシュ(登録商標)等のメモリカードに限らず、USBメモリやHDD等の装置、コントローラ付きNANDフラッシュ(登録商標)等であっても良く、データストレージ用のデバイスであればこの限りではない。これらの場合、メモリカード制御回路160は、対応するデバイスに適した制御回路になるが、本発明は接続するデータストレージ用のデバイスの種類に依らないため、ここでは代表してMMCで実現した場合を記載する。入出力インタフェース127及び端末インタフェース制御回路167は、ISO7816で定められたICカードの端子にアサインされていても良いし、別の端子を利用して接続されてもよい。例えば、入出力インタフェース127としてICカード端子C1〜C8の規格を採用する場合には、C1:VCC、C4: (D+)、C5: GND、C8: (D-)を利用してUSB通信を行い、C1: VCC、C2: CMD、C3:CLK、C5:GND、C6:VCC2、C7:DATAを利用してMMC通信を行っても良い。ここでC6はICカード100からメモリカード190へ供給する電源のための端子に利用する。この構成のICカード100が特開2005−322109の構成と異なるのは、メモリカード190がICカードチップ105によりドライブされる点で、その結果、メモリカードへクロックやコマンド、データ、電力を供給するために信号の入出力が逆になる点である。要するに、それらはICカードチップ105からメモリカード190に供給される。特開2005−322109と同様に、ICカード規格の端子とは別の端子を用いてその機能を実現しても良い。ここでメモリカード190がコンパクトフラッシュなどのパラレル転送方式のデバイスで、ICカード100のインタフェースとして割り当てるには数が多すぎる場合、ICカードとは別の端子を実装し、この端子を用いてアクセスすることとしてもよい。上記のICカード100のインタフェースへの割り当ては、ICカードへ適用した際の、互換性を重視した実装のためのものであり、別の端子を設けて運用が可能ならばこの限りではなく、前述の端子への割り当てもこれに限定されるものではない。   The system of FIG. 1 will be described in further detail. The terminal 180 is a device such as a mobile phone, a PC, an automatic teller machine, an IC card reader / writer, and a network terminal. However, if the device has an input / output interface (IF) and a processing unit, It is not limited to this example. Examples of such IF include USB (registered trademark), MMC (registered trademark) IF, Bluetooth (registered trademark), WiMAX (registered trademark), Ethernet (registered trademark), ATA IF, and non-contact IF based on ISO 14443. Is applicable. The IC card 100 is an IC card having an ID-1 or ID-0 shape defined by ISO 7810, but may be a USB token or a memory card, and security processing such as authentication processing can be safely performed. This is not the case if it is a simple device. The memory card 190 is not limited to a memory card such as an SD (abbreviation of Secure Digital) card, an MMC (abbreviation of MultiMediaCard), a memory stick (registered trademark), and a compact flash (registered trademark). Such a device may be a NAND flash (registered trademark) with a controller or the like, and is not limited to this as long as it is a device for data storage. In these cases, the memory card control circuit 160 is a control circuit suitable for the corresponding device. However, since the present invention does not depend on the type of the data storage device to be connected, the case where the memory card control circuit 160 is realized by the MMC is representative here. Is described. The input / output interface 127 and the terminal interface control circuit 167 may be assigned to terminals of an IC card defined by ISO7816, or may be connected using other terminals. For example, when the standard of the IC card terminals C1 to C8 is adopted as the input / output interface 127, USB communication is performed using C1: VCC, C4: (D +), C5: GND, C8: (D-). , C1: VCC, C2: CMD, C3: CLK, C5: GND, C6: VCC2, C7: DATA may be used to perform MMC communication. Here, C6 is used as a terminal for power supplied from the IC card 100 to the memory card 190. The IC card 100 with this configuration is different from the configuration of Japanese Patent Laid-Open No. 2005-322109 in that the memory card 190 is driven by the IC card chip 105, and as a result, the clock, command, data, and power are supplied to the memory card. Therefore, the signal input / output is reversed. In short, they are supplied from the IC card chip 105 to the memory card 190. Similar to Japanese Patent Laid-Open No. 2005-322109, the function may be realized using a terminal different from the IC card standard terminal. Here, if the memory card 190 is a device of a parallel transfer system such as a compact flash and there are too many numbers to be assigned as the interface of the IC card 100, a terminal different from the IC card is mounted and accessed using this terminal. It is good as well. The assignment of the IC card 100 to the interface is for mounting with an emphasis on compatibility when applied to the IC card, and is not limited to this as long as it can be operated by providing another terminal. The assignment to the terminals is not limited to this.

入出力インタフェース127を介して送られてきた前記ICCデータストリームに含まれる命令及びデータは、内部バス130を介してCPU150及びメモリ155に送られて処理される。ここでCPU150は、演算処理装置の他に、剰余除算などの特定の演算を高速に処理するためのアクセラレータ、更には、マスクROM又はEEPROM等のプログラムやデータを格納するメモリ、SRAM等のワークメモリ等を含んだものを指す。またCPU150が大容量のデータを格納したい場合には、メモリカード制御回路160を介してメモリカード190にデータを格納することができる。このとき、メモリカード190へ格納するデータは格納したいデータ全体の一部だけでも良く、残りのデータをCPU150が有するEEPROMに格納しても良い。またデータを格納する際に、CPU150またはメモリカード制御回路160により暗号化して格納しても良い。その際に、格納するデータのハッシュ値をCPU150のEEPROMに格納し、読出し時にこのハッシュ値と比較することで改ざんの検知を行っても良い。また、本来書き込みたいデータとは別に、書き込みたいデータを隠蔽するためのデータを書き込んでも良く、アドレス変換テーブルやアドレス変換式を用いることで、データの格納場所を分散させても良い。例えばデータを暗号化して格納する場合、暗号化されたデータは元データとの相関がわかりにくい乱数的性質を有するデータに変換される。したがって任意のタイミングで乱数値を書き込むことで、攻撃者に対してどれが正しいデータかをわかりにくくさせる効果がある。   Instructions and data included in the ICC data stream sent via the input / output interface 127 are sent to the CPU 150 and the memory 155 via the internal bus 130 for processing. Here, in addition to the arithmetic processing unit, the CPU 150 is an accelerator for processing a specific operation such as remainder division at high speed, a memory for storing a program or data such as a mask ROM or EEPROM, a work memory such as an SRAM. Refers to things that contain etc. If the CPU 150 wants to store a large amount of data, the data can be stored in the memory card 190 via the memory card control circuit 160. At this time, the data stored in the memory card 190 may be only a part of the entire data to be stored, or the remaining data may be stored in the EEPROM of the CPU 150. When data is stored, it may be encrypted by the CPU 150 or the memory card control circuit 160 and stored. At that time, the hash value of the data to be stored may be stored in the EEPROM of the CPU 150, and tampering may be detected by comparing with the hash value at the time of reading. In addition to the data to be originally written, data for concealing the data to be written may be written, and the data storage locations may be distributed by using an address conversion table or an address conversion formula. For example, when data is encrypted and stored, the encrypted data is converted into data having random properties that are difficult to correlate with the original data. Therefore, writing random numbers at an arbitrary timing has the effect of making it difficult for an attacker to determine which data is correct.

メモリカード190はメモリカード制御回路160により電力及び転送クロックを供給され、この転送クロックに基づき命令やデータを転送すればよい。ただし、データ転送が非同期なメモリカードインタフェース167A,167Bで接続されている場合は、転送クロックはなくても良い。図1ではメモリカードインタフェース167A,167Bは一度端末装置180を経由してメモリカード190に接続されていることから、メモリカード190用の電源は端末から供給するという方式を採ることも可能である。その場合には、メモリカード190への電力を端末装置180側で制御することになることから、データを転送したい場合に、何らかの手段を用いて端末装置180にメモリカード制御回路160からデータ転送開始を通知するか、常にメモリカード190の電源を入れておく必要がある。データの通信開始を端末装置180に知らせる手段としては、メモリカード制御回路160からのクロック信号線を利用する方法や、命令又はデータ転送用の信号線を利用して、データ転送が必要ないときはプルダウンしておき、データ転送が必要になった際にプルアップしてデータ転送開始を通知する仕組みであっても良い。また、メモリカード190をICカード100からのデータを格納する目的の他に、端末装置180のデータを格納する目的でも利用したい場合がある。この時、入出力インタフェース167の電力供給線またはクロック信号線を利用することで制御を行うことも可能である。   The memory card 190 may be supplied with power and a transfer clock from the memory card control circuit 160, and may transfer commands and data based on the transfer clock. However, when data transfer is connected by asynchronous memory card interfaces 167A and 167B, there is no need for a transfer clock. In FIG. 1, since the memory card interfaces 167A and 167B are once connected to the memory card 190 via the terminal device 180, the power supply for the memory card 190 can be supplied from the terminal. In this case, since power to the memory card 190 is controlled on the terminal device 180 side, when data is to be transferred, data transfer from the memory card control circuit 160 to the terminal device 180 is started using some means. Or the memory card 190 must always be turned on. As a means for notifying the terminal device 180 of the start of data communication, a method using a clock signal line from the memory card control circuit 160 or a case where data transfer is not necessary using a signal line for command or data transfer A mechanism for pulling down and notifying the start of data transfer by pulling up when data transfer is necessary may be used. In addition to the purpose of storing data from the IC card 100, the memory card 190 may be used for the purpose of storing data of the terminal device 180 in some cases. At this time, it is also possible to perform control by using the power supply line or the clock signal line of the input / output interface 167.

図2には別の端末装置180Aが例示される。端末装置180Aはメモリカード190に対する直接アクセス機能を有し、アクセス競合回避の構成を備えることが図1の端末装置180と相違する点である。即ち、メモリカード制御回路160に信号レベル検出回路(SIGDTC)210を配置し、端末装置180Aに信号レベル検出回路(SIGDTC)220を配置し、信号レベル検出回路210と220との間をメモリカードインタフェース230で接続し、信号レベル検出回路220とメモリカード190間をメモリカードインタフェース235で接続した例が示される。メモリカードインタフェース230は図1の167Aに対応され、メモリカードインタフェース230は図1の167Bに対応される。240は端末装置1809がメモリカード190をアクセスするときの電力供給方向を示し、241はメモリカード制御回路160がメモリカード190をアクセスするときの電力供給方向を示す。   FIG. 2 illustrates another terminal device 180A. The terminal device 180A is different from the terminal device 180 of FIG. 1 in that the terminal device 180A has a direct access function to the memory card 190 and has an access conflict avoidance configuration. That is, a signal level detection circuit (SIGDTC) 210 is arranged in the memory card control circuit 160, a signal level detection circuit (SIGDTC) 220 is arranged in the terminal device 180A, and a memory card interface is provided between the signal level detection circuits 210 and 220. 230 shows an example in which the signal level detection circuit 220 and the memory card 190 are connected by the memory card interface 235. The memory card interface 230 corresponds to 167A in FIG. 1, and the memory card interface 230 corresponds to 167B in FIG. 240 indicates a power supply direction when the terminal device 1809 accesses the memory card 190, and 241 indicates a power supply direction when the memory card control circuit 160 accesses the memory card 190.

図3は図2の構成に基づいてメモリカード190を端末装置180とICカード100のどちらが制御するかを決定するためのフローチャートである。メモリカード190を利用しない場合、消費電力削減のために電源をオフにし、クロックを停止しているとする。ここでICカード100からメモリカード190へのアクセス要求が発生した場合(310)、メモリカード制御回路160は信号レベル検出回路210を用いて、メモリカードインタフェース230供給される電力レベルを測定する(320)。自分が電力を供給していない状態で、メモリカードインタフェース230からの電力が検出される場合、それは端末装置180が電力を供給していることから端末装置180がメモリカード190へアクセス中であることを意味する。このときICカード100はその電力供給が停止されるまで待って再び判断を行う(330)。信号レベル検出回路210は、電力が検出されない場合、メモリカード190への電力供給を開始し(340)、メモリカード190へアクセスを行う。逆に端末装置180がメモリカード190へのアクセス要求を発行する場合(350)、端末装置180は信号レベル検出回路220を用いて、メモリカードインタフェース230からの電力供給レベルを測定する(360)。自分が電力を供給していない状態で、メモリカードインタフェース230からの電力が検出される場合、それはICカード100が電力を供給していることから、ICカード100がメモリカード190へアクセス中であることを意味する。このとき端末装置180はICカード100からの電力供給が停止するまで待って再び判断を行う(370)。電力供給が検出されない場合、端末装置180はメモリカード190への電力供給を開始し(380)、メモリカード190へアクセスを行う。ステップ330またはステップ370において、メモリカード190の準備が出来ていない場合、ICカード100または端末装置180に内蔵のメモリを利用して、書き込みデータのキャッシュを行い、書き込みが完了したことにしても良い。このときメモリが揮発メモリならば電源遮断の考慮と書き込みサイズに関する注意が必要であり、不揮発メモリの場合は、書き込みサイズに関する注意が必要になる。メモリが揮発性で、実際の書き込みが終了するまでに電源が切られてしまうと、書き込むはずのデータの保証が出来ない。またキャッシュに用意したデータサイズを超えるデータの書き込み要求が発生した場合には、キャッシュに頼ることはできず、バスが解放されるまで待つ必要が生じる。   FIG. 3 is a flowchart for determining which of the terminal device 180 and the IC card 100 controls the memory card 190 based on the configuration of FIG. When the memory card 190 is not used, it is assumed that the power is turned off and the clock is stopped to reduce power consumption. When an access request from the IC card 100 to the memory card 190 is generated (310), the memory card control circuit 160 uses the signal level detection circuit 210 to measure the power level supplied to the memory card interface 230 (320). ). When power from the memory card interface 230 is detected in a state where the power is not supplied, the terminal device 180 is accessing the memory card 190 because the terminal device 180 is supplying power. Means. At this time, the IC card 100 waits until the power supply is stopped and makes a determination again (330). When power is not detected, the signal level detection circuit 210 starts power supply to the memory card 190 (340) and accesses the memory card 190. Conversely, when the terminal device 180 issues an access request to the memory card 190 (350), the terminal device 180 uses the signal level detection circuit 220 to measure the power supply level from the memory card interface 230 (360). When the power from the memory card interface 230 is detected in a state where the power is not supplied, the IC card 100 is accessing the memory card 190 because the power is supplied from the IC card 100. Means that. At this time, the terminal device 180 waits until the power supply from the IC card 100 stops and makes a determination again (370). If power supply is not detected, the terminal device 180 starts power supply to the memory card 190 (380) and accesses the memory card 190. If the memory card 190 is not ready in step 330 or step 370, the write data may be cached using the memory built in the IC card 100 or the terminal device 180, and the writing may be completed. . At this time, if the memory is a volatile memory, it is necessary to consider the power shut-off and a note on the write size. If the memory is volatile and the power is turned off before the actual writing is completed, the data to be written cannot be guaranteed. When a data write request exceeding the data size prepared in the cache occurs, the cache cannot be relied on, and it is necessary to wait until the bus is released.

このように端末180とICカード100の双方から制御する場合、排他制御の仕組みが複雑になる。図1に示す構成のように、端末装置180からのメモリカード190へのアクセス要求であっても、前記MSCデータストリームを用いる場合に代表されるように、前記ICカード100を経由して書き込む構成にすれば、その制御を簡略化できるという効果がある。以下、その場合の制御形態について詳細に説明する。   Thus, when controlling from both the terminal 180 and the IC card 100, the mechanism of exclusive control becomes complicated. As shown in FIG. 1, even when an access request to the memory card 190 from the terminal device 180 is written via the IC card 100, as represented by the use of the MSC data stream, If so, there is an effect that the control can be simplified. Hereinafter, the control mode in that case will be described in detail.

端末インタフェース制御回路120がUSBのような複数のデータストリームを制御できるインタフェースである場合、認証や鍵交換などのセキュリティ処理のための前記ICCデータストリームのようなデータストリームを処理する経路と、コンテンツやファイルなどのデータ転送処理のための前記MSCデータストリームのようなデータストリームを処理する経路とを分けた。これにより、効率的な処理が可能になる。例えば、図1に基づいて説明したように、認証や鍵交換などのセキュリティ処理のためのデータストリーム用のエンドポイントとしてのICCBUF120Bにデータが格納された場合、そのデータはCPU150により読み出され処理される。一方、コンテンツやファイルなどのデータ転送処理のためのデータストリーム用のエンドポイントとしてのMSCBUF120Aにデータが格納された場合、CPU150ではなく専用の制御回路を用い、CPU150のリソースをほとんど消費することなく転送する処理を行なう。そのために、例えば前記転送制御回路140、セレクタ132、バッファ145、命令キュー165、及び制御レジスタ163に代表される制御モジュールが設けられている。   When the terminal interface control circuit 120 is an interface capable of controlling a plurality of data streams such as USB, a path for processing a data stream such as the ICC data stream for security processing such as authentication and key exchange, content, A route for processing a data stream such as the MSC data stream for data transfer processing such as a file is separated. Thereby, efficient processing becomes possible. For example, as described with reference to FIG. 1, when data is stored in the ICCBUF 120B as an endpoint for a data stream for security processing such as authentication and key exchange, the data is read and processed by the CPU 150. The On the other hand, when data is stored in the MSCBUF 120A as an endpoint for a data stream for data transfer processing of contents and files, a dedicated control circuit is used instead of the CPU 150, and the CPU 150 resource is hardly consumed. The process to do is performed. For this purpose, for example, a control module represented by the transfer control circuit 140, the selector 132, the buffer 145, the instruction queue 165, and the control register 163 is provided.

図6には命令キュー165と制御レジスタ163の詳細が例示される。命令キュー165は、命令コード(INST)610をキューイングするためのバッファであり、要求種別612、要求元614、転送サイズ616、バッファアドレス618、パラメータ620を有してもよい。要求種別612はリード(読出し)、ライト(書込み)、イレーズ(消去)等のメモリカード190へ転送する命令の種別を格納し、SDカードやMMCにおけるコマンドコードを格納しても良い。要求元614には処理要求を発行したのが端末装置180なのかCPU150なのかに関する情報を格納する。転送サイズは、実際に転送するデータのサイズを格納し、バッファアドレス618はバッファ145上のどこにデータが格納されるかを表す。パラメータ620は付加情報で、メモリカード190からデータを呼び出してくる番地やオプション番号、セキュリティパラメータなどを格納する。制御レジスタ630は、キューポインタ630、ベースポインタ632、空きバッファレジスタ634、転送要求レジスタ636、ライトロックレジスタ638、バスイネーブルレジスタ640、カードディスエブルレジスタ642、処理終了レジスタ644を有しても良い。キューポインタ630とベースポインタ632は命令コードキュー165上の番地を表す。通常、メモリカード制御回路160はベースポインタ632から検索を開始するが、リード処理時にリードのための空きバッファがない場合、ポインタを進めてキューに溜まったライト処理を実行していく。この処理によりバッファに空きが出来た場合、メモリカード制御回路160はベースポインタ632のリード処理を実行する。転送制御回路140又はCPU150からの命令コード610をセットしたい場合、命令コードキュー165のキューポインタ630の位置に格納し、ポインタを一つ進める。空きバッファレジスタ634は、バッファ145の空き番地を管理するためのレジスタである。通常、メモリカード190へのリードライトは512バイトなどの規程のデータサイズをベースに行われるため、レジスタが管理するバッファも、このサイズで管理した方が効率的である。例えば、512バイト単位で管理する場合、32ビットのレジスタを用意すれば16KB迄のバッファを管理可能となる。転送要求レジスタ636はリード要求時に転送回路が入出力制御回路120へ転送するデータが、バッファ145のどこに格納されているかを表す。この情報は、空きバッファレジスタ634と同じ要領で転送したいデータが格納されている領域に“1”をセットし、それ以外の領域に“0”をセットする事で表しても良いし、絶対アドレスや、転送回路140との間で有効な相対アドレス、又は固定アドレスを格納することで通知しても良い。転送要求636は、端末装置180からのリード要求とCPU150からのリード要求を処理するために、2つ以上用意されていても良い。またこのような方式を採る代りにリード要求時のバッファアドレス618にこの情報を格納するようにしても良い。ライトロックレジスタ638はリード要求時に空きバッファがないとき、追加のライト要求のセットを禁止するためのレジスタである。バスイネーブルレジスタ640は、バッファ145へのアクセスを、転送回路140とバス130との間で切替えるためのレジスタである。カードディスエブルレジスタ642は、カードが利用できないことを転送回路140またはCPU150に通知するためのレジスタである。処理終了レジスタ644は命令コードキュー165にセットされた処理が完了したことを通知するためのレジスタである。処理終了レジスタ644を用いる代りに命令コードの一部に処理終了の通知を格納する領域を設けてもよい。この場合、命令キュー163にキューイングされている命令を消去するのは転送制御回路140又はCPU150である。メモリカード制御回路160のデータ制御部は、要求元以外がキューを消そうとしたときに、要求元614の情報を用いてアクセス制限を行っても良い。また、メンテナンスを可能とするために、CPU150からは転送元が端末180の時の要求を削除できるようにしても良い。転送制御回路140はキューが消去された場合、リード要求時は処理がリセットされたとして扱っても良い。   FIG. 6 illustrates details of the instruction queue 165 and the control register 163. The instruction queue 165 is a buffer for queuing an instruction code (INST) 610, and may include a request type 612, a request source 614, a transfer size 616, a buffer address 618, and a parameter 620. The request type 612 stores the type of instruction to be transferred to the memory card 190 such as read (read), write (write), erase (erase), and may store a command code in the SD card or MMC. The request source 614 stores information on whether the processing request is issued by the terminal device 180 or the CPU 150. The transfer size stores the size of the data to be actually transferred, and the buffer address 618 indicates where the data is stored on the buffer 145. A parameter 620 is additional information, and stores an address for calling data from the memory card 190, an option number, a security parameter, and the like. The control register 630 may include a queue pointer 630, a base pointer 632, an empty buffer register 634, a transfer request register 636, a write lock register 638, a bus enable register 640, a card disable register 642, and a process end register 644. The queue pointer 630 and the base pointer 632 represent addresses on the instruction code queue 165. Normally, the memory card control circuit 160 starts the search from the base pointer 632. If there is no free buffer for reading during the read processing, the pointer is advanced and the write processing accumulated in the queue is executed. If the buffer is freed by this process, the memory card control circuit 160 executes the read process of the base pointer 632. When the instruction code 610 from the transfer control circuit 140 or the CPU 150 is to be set, the instruction code 610 is stored at the position of the queue pointer 630 of the instruction code queue 165, and the pointer is advanced by one. The empty buffer register 634 is a register for managing an empty address of the buffer 145. Normally, read / write to the memory card 190 is performed based on a prescribed data size such as 512 bytes. Therefore, it is more efficient to manage the buffer managed by the register with this size. For example, when managing in units of 512 bytes, a buffer of up to 16 KB can be managed if a 32-bit register is prepared. The transfer request register 636 indicates where in the buffer 145 the data transferred by the transfer circuit to the input / output control circuit 120 at the time of a read request is stored. This information may be expressed by setting “1” in an area in which data to be transferred is stored in the same manner as the empty buffer register 634 and setting “0” in other areas, or an absolute address. Alternatively, notification may be made by storing a valid relative address or a fixed address with the transfer circuit 140. Two or more transfer requests 636 may be prepared for processing a read request from the terminal device 180 and a read request from the CPU 150. Instead of adopting such a method, this information may be stored in the buffer address 618 at the time of a read request. The write lock register 638 is a register for prohibiting setting of an additional write request when there is no empty buffer at the time of a read request. The bus enable register 640 is a register for switching access to the buffer 145 between the transfer circuit 140 and the bus 130. The card disable register 642 is a register for notifying the transfer circuit 140 or the CPU 150 that the card cannot be used. The process end register 644 is a register for notifying that the process set in the instruction code queue 165 has been completed. Instead of using the process end register 644, an area for storing a process end notification may be provided in a part of the instruction code. In this case, it is the transfer control circuit 140 or the CPU 150 that deletes the instructions queued in the instruction queue 163. The data control unit of the memory card control circuit 160 may perform access restriction using information of the request source 614 when someone other than the request source tries to delete the queue. Further, in order to enable maintenance, a request when the transfer source is the terminal 180 may be deleted from the CPU 150. When the queue is erased, the transfer control circuit 140 may treat the process as being reset when a read request is made.

図4には転送制御回路140の動作フローが例示される。転送制御回路140は、端末インタフェース制御回路120からの転送要求を割り込みの発生(又はポーリング)によって確認を行う(410)。転送要求がある場合、まずそれが書き込み要求かどうかを判断する(412)。書き込み要求である場合、転送制御回路140は、バッファ145へアクセスが可能かどうかを、バスイネーブルレジスタ640を読み出すことで確認する(432)。バスイネーブルレジスタ640がセットされていないならば、バスイネーブルレジスタ640をセットし、セレクタ132を転送制御回路140からバッファ145へアクセス可能なように設定を行う(436)。バスイネーブルレジスタ640が既にセットされているならば、リセットされるまで待ち(434)、再び確認を行う。ただし、CPU150がメモリカード190のとのバスが占有されており、端末との取り決めによる一定期間、バスが解放されない状態が続いた場合、エラーとして処理を中断しても良い。セレクタ132を切換えてデータ転送可能な状態にした後、転送制御回路140はバッファ145に空きがあるかどうかを空きバッファレジスタ634を用いて確認する(438)。空きがない場合はバッファ145に空きが出来るまで待機し(440)、再びバッファ145に空きがあるかどうかを確認する。通常、端末装置180から直接メモリカード190に対して要求が出される場合、それらは同時に実行されない。すなわち、バッファ145に空きがない状態というのは、CPU150からのメモリアクセスが存在している場合を意味する。従って時間が経てばバッファ145の空きが生じることになる。ただし、空きが生じないケースとして、メモリカード190に不具合が生じた場合が考えられる。メモリカード制御回路160は、メモリカード190に不具合が発生したことを検知した場合、カードディスエブルレジスタ642をセットし、転送回路140にエラーがあることを通知しても良い。カードディスエブルレジスタ642はメモリカード190へのアクセス要求が発生し、その時メモリカード190の初期化が出来なかった場合や、転送エラー後の再初期化処理で失敗した場合などにセットされる。バッファ145に空きがある場合、転送制御回路140は書き込み要求に基づいた命令を命令キュー165にセットし、かつ空きバッファレジスタ634をセットする(442)。その後、端末インタフェース制御回路内120内のデータをバッファ145に格納し(444)、バスイネーブルレジスタ640をリセットすることでバス利用権を解放する(446)。転送制御回路140は処理終了レジスタ644を利用して書き込みが完了したかどうかを判断する(448)。また転送回路140は命令キュー165内の当該命令が削除された事をもって処理の終了を判断しても良い。書き込みが終了したことを確かめると、そのことを端末インタフェース制御回路120に通知する。   FIG. 4 illustrates an operation flow of the transfer control circuit 140. The transfer control circuit 140 confirms the transfer request from the terminal interface control circuit 120 by generating an interrupt (or polling) (410). If there is a transfer request, it is first determined whether it is a write request (412). If it is a write request, the transfer control circuit 140 checks whether the buffer 145 can be accessed by reading the bus enable register 640 (432). If the bus enable register 640 is not set, the bus enable register 640 is set, and the selector 132 is set to be accessible from the transfer control circuit 140 to the buffer 145 (436). If the bus enable register 640 has already been set, it waits until it is reset (434) and checks again. However, if the CPU 150 occupies the bus with the memory card 190 and the bus is not released for a certain period according to the agreement with the terminal, the processing may be interrupted as an error. After switching the selector 132 to enable data transfer, the transfer control circuit 140 checks whether or not the buffer 145 has an empty space by using the empty buffer register 634 (438). If there is no space, the process waits until there is space in the buffer 145 (440), and checks again whether there is space in the buffer 145. Normally, when a request is issued directly from the terminal device 180 to the memory card 190, they are not executed simultaneously. That is, the state where the buffer 145 is not empty means a case where there is a memory access from the CPU 150. Therefore, the buffer 145 becomes empty as time passes. However, as a case where there is no empty space, a case where a failure occurs in the memory card 190 can be considered. When the memory card control circuit 160 detects that a problem has occurred in the memory card 190, the memory card control circuit 160 may set the card disable register 642 and notify the transfer circuit 140 that there is an error. The card disable register 642 is set when an access request to the memory card 190 is generated and the memory card 190 cannot be initialized at that time, or when reinitialization processing after a transfer error fails. If the buffer 145 is empty, the transfer control circuit 140 sets an instruction based on the write request in the instruction queue 165 and sets the empty buffer register 634 (442). Thereafter, the data in the terminal interface control circuit 120 is stored in the buffer 145 (444), and the bus use right is released by resetting the bus enable register 640 (446). The transfer control circuit 140 determines whether the writing is completed using the processing end register 644 (448). Further, the transfer circuit 140 may determine the end of the processing when the instruction in the instruction queue 165 is deleted. When it is confirmed that the writing has been completed, the terminal interface control circuit 120 is notified of this.

次に図4において読出し要求に応答する場合(414)について説明する。読出し要求が合った場合、転送制御回路140は、読出し要求に基づいた命令を、命令キュー165にセットする(462)。セットされた命令に従ってメモリカード制御回路160がメモリカード190に対して読出しの処理を行う。この例では、メモリカード190からの読出しデータを一時的に蓄えるバッファ145の確保はメモリカード制御回路160が行っているが、転送制御回路140又はCPU150が行っても良い。メモリカード制御回路160が行う場合、転送制御回路140は、メモリカードからの読出しが終わるまで待つことになる。転送制御回路140は転送要求レジスタ636と処理終了レジスタ644を利用して読出しが完了したかどうかを確かめる。転送要求レジスタ636にはバッファ145のアドレスが記載されていたり、バッファを複数の領域に分けてその領域のデータの有無を示すビットマップ表示されていてもよい。このアドレス情報が、一意であったり、相対的なアドレスによる通知から計算して求める場合等、他の方式で実現されていてもよい。また端末装置180との転送用と、CPU150との転送用に、転送要求レジスタ636と処理終了レジスタ644は二組あっても良い。またこれらのレジスタを複数組持つ代りに、命令コード610を拡張し、データが格納されたアドレスをBuffer Addr. 618に、終了通知を追加のデータとしてもたせ、転送回路140は自分が書き込んだ命令コード160を確認することにしてもよい。この場合、転送後に命令キュー165内の当該命令を削除するのは転送制御回路140の役割になる。転送要求があった場合、転送制御回路140は、バッファ145へのアクセスが可能かどうかをバスイネーブルレジスタ640を利用して確かめる(466)。バスイネーブルレジスタ640が既にセットされている場合、バスが解放されるまで待つ(468)。バスが利用可能になった場合、バスイネーブルレジスタ640をセットすることでバス利用権を設定し、セレクタ132で転送制御回路140からバッファ145がアクセス可能なように切換える(470)。その後、データを端末インタフェース制御回路120に転送し(472)、バスイネーブルレジスタ640をリセットすることでバス利用権を解放し、命令キュー165内の当該命令を削除し、利用中だった空きバッファレジスタ634をクリアする(474)。これらの処理が終わると、入出力制御回路120に完了を通知する(476)。   Next, the case (414) of responding to the read request in FIG. 4 will be described. If the read request is met, the transfer control circuit 140 sets an instruction based on the read request in the instruction queue 165 (462). The memory card control circuit 160 performs a reading process on the memory card 190 in accordance with the set instruction. In this example, the memory card control circuit 160 secures the buffer 145 for temporarily storing read data from the memory card 190, but the transfer control circuit 140 or the CPU 150 may also secure it. When the memory card control circuit 160 performs, the transfer control circuit 140 waits until reading from the memory card is completed. The transfer control circuit 140 uses the transfer request register 636 and the process end register 644 to check whether the reading is completed. In the transfer request register 636, the address of the buffer 145 may be described, or the buffer may be divided into a plurality of areas and displayed as a bitmap indicating the presence / absence of data in the area. This address information may be realized by other methods, such as when the address information is unique or calculated from notification by a relative address. Two sets of transfer request registers 636 and processing end registers 644 may be provided for transfer with the terminal device 180 and transfer with the CPU 150. Also, instead of having a plurality of sets of these registers, the instruction code 610 is expanded, the address where the data is stored is given to Buffer Addr. 618 and an end notification is added as additional data, and the transfer circuit 140 writes the instruction code written by itself. 160 may be confirmed. In this case, it is the role of the transfer control circuit 140 to delete the instruction in the instruction queue 165 after the transfer. When there is a transfer request, the transfer control circuit 140 uses the bus enable register 640 to check whether the buffer 145 can be accessed (466). If the bus enable register 640 is already set, it waits until the bus is released (468). When the bus becomes available, the bus use right is set by setting the bus enable register 640, and the selector 132 switches so that the buffer 145 can be accessed from the transfer control circuit 140 (470). Thereafter, the data is transferred to the terminal interface control circuit 120 (472), the bus use right is released by resetting the bus enable register 640, the corresponding instruction in the instruction queue 165 is deleted, and the empty buffer register which has been used. 634 is cleared (474). When these processes are completed, the input / output control circuit 120 is notified of completion (476).

処理が書き込み要求でも読出し要求でもない場合、削除要求かどうかを判断する(416)。転送制御回路140は削除要求の場合、削除要求に基づいた命令を命令キュー165にセットする(492)。その命令に従ってメモリカード制御回路160がメモリカード190に対して削除の処理を行う。セットした後、転送制御回路140は削除処理が完了したかどうかを処理終了レジスタ644を利用して調べる(494)。処理が終了した場合、入出力制御回路120へ完了を通知する(496)。   If the process is neither a write request nor a read request, it is determined whether it is a delete request (416). In the case of a deletion request, the transfer control circuit 140 sets an instruction based on the deletion request in the instruction queue 165 (492). In accordance with the command, the memory card control circuit 160 performs a deletion process on the memory card 190. After the setting, the transfer control circuit 140 checks whether or not the deletion process is completed using the process end register 644 (494). When the processing is completed, the completion is notified to the input / output control circuit 120 (496).

要求がこれのどれにも当てはまらない場合、CPU150に通知して処理をCPU150に任せてもよい(418)。このような処理としては、メモリカード190のロックやIDの読出し、プロテクトの設定、セキュリティ処理などが考えられるが、これらの処理を転送制御回路140で処理できるようにしても良い。   If the request does not apply to any of these, the CPU 150 may be notified and processing left to the CPU 150 (418). Examples of such processing include locking the memory card 190, reading ID, setting protection, and security processing. However, these processing may be performed by the transfer control circuit 140.

図5にはメモリカード制御回路160の動作フローが例示される。メモリカード制御回路160は、ベースポインタ632の位置にある命令コードキュー165の内容を参照し、命令コード610が存在するかどうかを確認する(510)。キューポインタ630とベースポインタ632の位置が等しい場合は、キューが溜まっていない状態なので、積まれていないと判断しても良い。積まれている場合、命令がリード系の要求であるかを判断する(512)。リード系の要求とは、メモリカード190から引き出してきた何らかの情報を、バッファ145に格納する必要がある要求を指す。リード系の要求である場合は、空きバッファレジスタ634に転送サイズ616で指定された空き容量があるかどうかを確認する(514)。空き容量がない場合、追加のライト要求を発生させないためにライトロックレジスタ638をセットする(516)。ライト処理をしている間に他のライト系命令が挿入されることで大きな遅延が発生する危険がなかったり、遅延が問題にならない場合は、ライトロック638を利用した処理を行わなくても良い。次にベースポインタ632の次の命令を調べ(530)、ライト系命令が積まれているかどうかを確認する(532)。ここでライト系要求が積まれていないならば再びポインタを進めてライト系要求を確認する。また命令がリード系命令であった場合も再びポインタを進めても良い。ここで説明する方式を用いる場合、リード系命令は実行の直前までバッファ145を要求しないため、バッファ145に空きがないのは、ライト系命令が積まれているか、CPU150又は転送制御回路140へ転送中のデータがあるためであると判断できる。データが転送中の場合、時間が経てば処理が完了してバッファ145の空きが生じるが、ライト系命令は処理を進めないと空きバッファが生じないため、ライト処理を優先して実施することで空き容量を確保することができる。端末装置180からの転送要求とCPU150からの転送要求により、バッファ145のシェアが必要になる場合、お互いに相手の通信量を見積もることは難しい。しかしながら、そのことを想定してバッファ145に空きを設けると、片方の通信がないときでもバッファ145の一部が空いたままとなるため効率が悪くなる。この方法を用いると、非常に単純な方式ながらも効率的にスケジューリングが行えると言う効果がある。このループはキューポインタ630に達するまで行い、その結果、ライト系要求がない場合は(534)、再び空きバッファ634の状態を確認する。ライト系要求がある場合は、ライト処理を実施する(540)。ここでライト処理は、処理552,554,556を併せたものを指す。手順514で空きバッファレジスタ634に空きがあることがわかった場合、空きバッファレジスタ634をセットし、ライトロックレジスタ638をセットしているなら、リセットする(518)。次にメモリカード190用のコマンドの生成を行う(520)。SDカードやMMC等のコマンドは、コマンド番号とパラメータから構成され、これは要求種別612とパラメータ620を利用することで生成可能である。コマンドを生成すると、それを用いてメモリカード190からのデータの読出しを開始する(522)。読出しが終了すると(524)、転送要求に利用中のバッファ145の場所をバッファアドレス618または転送要求634にセットし、処理終了レジスタ644をセットすることで転送終了を通知する(526)。   FIG. 5 illustrates an operation flow of the memory card control circuit 160. The memory card control circuit 160 refers to the contents of the instruction code queue 165 at the position of the base pointer 632 and confirms whether the instruction code 610 exists (510). When the positions of the queue pointer 630 and the base pointer 632 are the same, the queue is not accumulated, so it may be determined that the queue pointer 630 and the base pointer 632 are not stacked. If so, it is determined whether the instruction is a read request (512). The read system request indicates a request that needs to store some information extracted from the memory card 190 in the buffer 145. If it is a read request, it is checked whether there is a free capacity designated by the transfer size 616 in the free buffer register 634 (514). If there is no free space, the write lock register 638 is set so as not to generate an additional write request (516). If there is no danger that a large delay occurs due to insertion of another write instruction during the write process, or if the delay does not cause a problem, the process using the write lock 638 may not be performed. . Next, the next instruction of the base pointer 632 is examined (530), and it is confirmed whether or not a write instruction is loaded (532). If there is no write request, the pointer is advanced again to confirm the write request. The pointer may be advanced again when the instruction is a read instruction. When the method described here is used, the read command does not require the buffer 145 until immediately before execution. Therefore, the buffer 145 is not empty because the write command is loaded or transferred to the CPU 150 or the transfer control circuit 140. It can be determined that there is data inside. When data is being transferred, the processing is completed and the buffer 145 is emptied over time. However, the write command does not generate a vacant buffer unless the process is advanced. Free space can be secured. When sharing of the buffer 145 is required due to a transfer request from the terminal device 180 and a transfer request from the CPU 150, it is difficult to estimate the communication volume of the other party. However, if an empty space is provided in the buffer 145 assuming that fact, a part of the buffer 145 remains empty even when there is no communication on one side, resulting in poor efficiency. If this method is used, there is an effect that scheduling can be performed efficiently even though it is a very simple method. This loop is repeated until the queue pointer 630 is reached. As a result, if there is no write request (534), the state of the empty buffer 634 is confirmed again. If there is a write request, write processing is performed (540). Here, the write process refers to a combination of the processes 552, 554, and 556. If it is found in step 514 that the empty buffer register 634 has an empty space, the empty buffer register 634 is set, and if the write lock register 638 is set, it is reset (518). Next, a command for the memory card 190 is generated (520). A command such as an SD card or MMC is composed of a command number and a parameter, which can be generated by using a request type 612 and a parameter 620. When the command is generated, reading of data from the memory card 190 is started using the command (522). When the reading is completed (524), the location of the buffer 145 being used for the transfer request is set in the buffer address 618 or the transfer request 634, and the end of transfer is notified by setting the processing end register 644 (526).

手順512でリード系要求でない場合、ライト系要求かどうかを判断する(550)。ライト系要求とは、バッファ145におかれた何らかの値を、メモリカード190に転送する処理が該当する。ライト系要求である場合、メモリカード190用のコマンドを手順520と同様に生成し(552)、メモリカード190へのライト処理を開始する(554)。この後、命令キュー165内の当該命令を削除し、ベースポインタを進め、利用していた空きバッファレジスタ634を解放し、ライト終了を通知する(556)。このとき転送回路140は転送要求レジスタ636を確認することで処理の終了を受け取っても良いし、命令キュー165内の当該命令が削除された事をもって処理の終了を判断しても良い。   If it is not a read request in step 512, it is determined whether it is a write request (550). The write system request corresponds to a process of transferring some value stored in the buffer 145 to the memory card 190. If it is a write request, a command for the memory card 190 is generated in the same manner as in the procedure 520 (552), and a write process to the memory card 190 is started (554). Thereafter, the instruction in the instruction queue 165 is deleted, the base pointer is advanced, the empty buffer register 634 used is released, and the write end is notified (556). At this time, the transfer circuit 140 may receive the end of the processing by checking the transfer request register 636, or may determine the end of the processing when the instruction in the instruction queue 165 is deleted.

手順550で命令がライト系でもない場合、データ転送を伴わない命令と解釈して処理を行う。メモリカード制御回路160はコマンドを手順520と同様に生成し(570)、メモリカード190に対する処理を開始する(572)。この後、現在のキューを削除し、ベースポインタを進め、処理終了を通知する(574)。   If it is determined in step 550 that the instruction is not a write system, the instruction is processed as an instruction that does not involve data transfer. The memory card control circuit 160 generates a command in the same manner as the procedure 520 (570), and starts processing for the memory card 190 (572). Thereafter, the current queue is deleted, the base pointer is advanced, and the end of processing is notified (574).

以上のような仕組みを採ることで、ICカード100は、メモリカード190のホストとして動作し、端末からはメモリカードリーダライタのように動作し、ICカード100からは拡張データ領域であるかのように動作させることが可能となる。   By adopting the above mechanism, the IC card 100 operates as a host of the memory card 190, operates as a memory card reader / writer from the terminal, and seems to be an extended data area from the IC card 100. Can be operated.

上記仕組みを持つICカード100は、従来のICカードの端末装置と互換性を保った状態で動作可能である。   The IC card 100 having the above-described mechanism can operate in a state where compatibility with a conventional IC card terminal device is maintained.

図7は既存のシステムとの互換性を考えた構成である。UARTCNT740はUART(Universal Asynchronous Receiver/Transmitter)ようなシリアルインタフェース制御回路、OTHCNTはその他の制御回路であり、例えば内部バス130に接続された回路モジュールである。記号710は信号伝播方向が矢印で示された一方向であることを意味する。CLKDTC720はクロック検出回路、LVLDTC730は電位検出回路である。   FIG. 7 shows a configuration considering compatibility with an existing system. UARTCNT 740 is a serial interface control circuit such as UART (Universal Asynchronous Receiver / Transmitter), and OTHCNT is another control circuit, for example, a circuit module connected to the internal bus 130. Symbol 710 means that the signal propagation direction is one direction indicated by an arrow. CLKDTC720 is a clock detection circuit, and LVLDTC730 is a potential detection circuit.

端末装置でUART(Universal Asynchronous Receiver/Transmitter)が有効である場合、端末装置180は電源投入後、端子C3にクロック、端子C2にリセット信号を入力するが、メモリカード制御回路160がメモリカード190の電源をオンにしていない状態でこれらの通信が発生した場合、ICカードチップ100はその状態をクロック検出回路720等で検知できる。このため、ICカード100は、UARTを利用した通常の動作が期待されていることを認識できてもよい。例えば、端子C3:703からクロックの入力があった場合、クロック検出回路(CLKDTC)720を利用することでUART制御回路(UARTCNT)740を動作させるように回路を切替えることが出来る。また、外部より端子C6に電気的なアクセスがあった場合、ICカード100は端子C6が別の目的で利用されていることを検出できるため、メモリカード制御回路160の動作をオフにし、別の機能を割り当ててもよい。例えば、メモリカード制御回路160が動作されるよりも前に、端子C6:706からの電位が電位検出回路(LVLDTC)730により検出された場合、端子C6:706を利用する他の制御回路(OTHCNT)750を利用するように回路を切替える事ができる。   When UART (Universal Asynchronous Receiver / Transmitter) is valid in the terminal device, the terminal device 180 inputs a clock to the terminal C3 and a reset signal to the terminal C2 after power-on, but the memory card control circuit 160 is connected to the memory card 190. When these communications occur when the power is not turned on, the IC card chip 100 can detect the state by the clock detection circuit 720 or the like. For this reason, the IC card 100 may be able to recognize that a normal operation using UART is expected. For example, when a clock is input from the terminal C3: 703, the circuit can be switched to operate the UART control circuit (UARTCNT) 740 by using the clock detection circuit (CLKDTC) 720. Further, when there is an electrical access to the terminal C6 from the outside, the IC card 100 can detect that the terminal C6 is used for another purpose, so the operation of the memory card control circuit 160 is turned off, Functions may be assigned. For example, when the potential from the terminal C6: 706 is detected by the potential detection circuit (LVLDTC) 730 before the memory card control circuit 160 is operated, another control circuit (OTHCNT) using the terminal C6: 706 is used. ) The circuit can be switched to use 750.

図1に代表される上述の構成を採用することにより、端末装置180はそのユーザにより、ICカード100とメモリカードスロットがついた端末装置であるかのように利用できる。例えば端末装置180を携帯電話機とする。携帯電話器はSIM(登録商標)カードスロットと、メモリカードスロットを持つが、従来の機種ではこの両者に強い相関はなかった。しかし、本発明を適用することにより、ユーザからは全く同じ構成にみえながらも、メモリカード190へ格納するデータは端末装置のソフトウエアの脆弱性に関わりなく暗号化され、またアドレススクランブルを施して格納可能であり、またICカード100内で生成する乱数を利用してメモリカード190をロックすることも可能となる。またICカード100がメモリカード190にデータを格納したい場合も、可能な限り安全な方法でメモリカード190へデータを格納することが可能である。例えば書き込んだデータは乱数と共に暗号化しておき、そのハッシュ値をICカード100で保持しておけば、改ざんや盗聴が非常に困難な仕組みを採ることが出来る。またメモリカード190側にICカード100とセキュアセッションを構築できる機能を設ければ、メモリカードインタフェース167A,167B上に流れるデータを隠蔽することもできる。   By adopting the above-described configuration typified by FIG. 1, the terminal device 180 can be used by the user as if it were a terminal device with an IC card 100 and a memory card slot. For example, the terminal device 180 is a mobile phone. The cellular phone has a SIM (registered trademark) card slot and a memory card slot, but the conventional model has no strong correlation between the two. However, by applying the present invention, the data stored in the memory card 190 is encrypted regardless of the vulnerability of the software of the terminal device, and the address scramble is applied, although the configuration looks exactly the same from the user. The memory card 190 can be locked using a random number generated in the IC card 100. Further, when the IC card 100 wants to store data in the memory card 190, it is possible to store the data in the memory card 190 in the safest manner possible. For example, if the written data is encrypted together with a random number and the hash value is held in the IC card 100, it is possible to adopt a mechanism in which tampering and eavesdropping are very difficult. If the memory card 190 is provided with a function capable of establishing a secure session with the IC card 100, data flowing on the memory card interfaces 167A and 167B can be concealed.

図8にはICカードチップ105を適用した第2の例が示される。前記メモリカードのホスト機能を備えたICカードチップ105はUSBトークン(USNTKN)810等のUSBインタフェース820を備えた装置に組み込むことができる。このとき、USBトークン810はメモリカードスロット830を持つ。このメモリカードスロット830の端子をICカードチップ105のメモリカード制御回路160に接続することで、メモリカードスロット付きUSBトークンを実現することができる。この構成を採用することにより、端末装置側の部品数を削減できるという効果がある。また、上記同様に、メモリカード190へ書き込むデータをICカードチップ105が暗号化やアドレススクランブル、更には予測困難なデータをパスワードとして利用することによるカードロックを行うことができることから、通常のICカードリーダ・ライタのような端末装置を利用して直接メモリカードを利用する場合に比べて安全性を向上させることができるという効果がある。尚、一般的に、トークンは、ICカードと同様に証明書等を格納して持ち運びのできる認証デバイスであるが、ICカードがリーダを必要とするのに対し、トークンではリーダを必要とせず、標準のUSBポート等に接続できたりするものである。   FIG. 8 shows a second example to which the IC card chip 105 is applied. The IC card chip 105 having the memory card host function can be incorporated in a device having a USB interface 820 such as a USB token (USNTKN) 810. At this time, the USB token 810 has a memory card slot 830. By connecting the terminal of the memory card slot 830 to the memory card control circuit 160 of the IC card chip 105, a USB token with a memory card slot can be realized. By adopting this configuration, there is an effect that the number of parts on the terminal device side can be reduced. Further, as described above, since data to be written to the memory card 190 can be encrypted and address scrambled by the IC card chip 105, and further, card locking can be performed by using data that is difficult to predict as a password. There is an effect that safety can be improved as compared with a case where a memory card is directly used by using a terminal device such as a reader / writer. In general, a token is an authentication device that can be carried by storing a certificate or the like in the same manner as an IC card. However, an IC card requires a reader, whereas a token does not require a reader. It can be connected to a standard USB port or the like.

図9にはICカードチップ105を適用した第3の例が示される。前記ICカードチップ105は、携帯電話会社が発行する契約者情報を記録したICカードであるSIM(Subscriber Identity Module)カード910に適用される。SIMカード910の基板上にICカードチップ105が搭載され、メモリカード制御回路160からの信号を、同基板上に配置したフラッシュメモリカードインタフェース回路(FMCNT)921とフラッシュメモリ(FMEM)922を有する単体チップとしてのフラッシュメモリカードチップ(FMCRDCHP)920へ接続することで、大容量フラッシュメモリ付きSIMカードを実現することができる。フラッシュメモリカードインタフェース回路921はメモリカードコントローラ160から供給されるコマンドを受けてフラッシュメモリ922をアクセスするためのフラッシュメモリコマンドをフラッシュメモリ922に発行して制御するフラッシュメモリコントローラとカードホストインタフェース機能を備える。この構成を採用することで、通常は大容量フラッシュメモリを外付けで搭載する場合、単価の安いICチップに複雑で大規模なフラッシュメモリコントローラを搭載する必要があることから、ICカードチップ105のコストに大きく影響すると言う問題があった。このとき、メモリカードインタフェース回路付きフラッシュメモリカードチップ920を利用することで、複雑なフラッシュメモリコントローラを単価の高いフラッシュメモリ部に持って行くことが出来るため、フラッシュメモリの互換性に関する問題をケアする必要がなくなり、またシリアルインタフェースで通信できることから、配線を簡略化できるという効果がある。   FIG. 9 shows a third example to which the IC card chip 105 is applied. The IC card chip 105 is applied to a SIM (Subscriber Identity Module) card 910 which is an IC card in which contractor information issued by a mobile phone company is recorded. The IC card chip 105 is mounted on the substrate of the SIM card 910, and a single unit having a flash memory card interface circuit (FMCNT) 921 and a flash memory (FMEM) 922 arranged on the substrate for signals from the memory card control circuit 160 By connecting to a flash memory card chip (FMCRCHP) 920 as a chip, a SIM card with a large capacity flash memory can be realized. The flash memory card interface circuit 921 has a flash memory controller that receives a command supplied from the memory card controller 160 and issues a flash memory command for accessing the flash memory 922 to the flash memory 922, and a card host interface function. . By adopting this configuration, when a large-capacity flash memory is normally mounted externally, it is necessary to mount a complex and large-scale flash memory controller on an IC chip with a low unit price. There was a problem that the cost was greatly affected. At this time, by using the flash memory card chip 920 with a memory card interface circuit, a complicated flash memory controller can be brought to a flash memory unit having a high unit price, so that the problem related to the compatibility of the flash memory is taken care of. This eliminates the need for the communication and can communicate with the serial interface, so that the wiring can be simplified.

図10にはICカードチップの変形例が示される。同図に示されるICチップ(ICCRDCHP)1070は、複数のメモリカード制御回路(MCRDCNT)160及び1030を持ち、複数のメモリカード(MCRD)190及び1020を接続可能な構成を有する。この場合、メモリカード190とメモリカード1020は同じ種類のデバイスであっても良いし、違う種類のデバイスであっても良い。メモリカード制御回路の拡張数は3以上であってもよい。例えば図10においてICカードチップ1070はメモリカードリーダライタ(MCRDRD/WR)1060に適用される。この構成において、様々なメモリカード仕様をサポートすることで、どんなメモリカードであっても暗号化やアドレススクランブルによりセキュアに管理可能となる効果を奏することができる。また、図1の例と同様にメモリカード190を端末装置のデータストレージとして、メモリカード1020をICカードチップ1070の拡張メモリとして利用するように使い方を分けることも可能である。この場合には、メモリカード制御回路160及び1030中にバスの競合を回避する仕組みを入れなくても済むという効果がある。ここでは、入出力インタフェースとしてUSBインタフェース(USBIF)1050をもち、端末インタフェース制御回路(TRMIFCNT)1080は夫々専用バスを介してメモリカード制御回路160,1030に接続され、図1と同様の構成を備える。   FIG. 10 shows a modification of the IC card chip. An IC chip (ICCRDCHP) 1070 shown in the figure has a plurality of memory card control circuits (MCRDCNT) 160 and 1030, and has a configuration capable of connecting a plurality of memory cards (MCRD) 190 and 1020. In this case, the memory card 190 and the memory card 1020 may be the same type of device or different types of devices. The number of expansions of the memory card control circuit may be 3 or more. For example, in FIG. 10, an IC card chip 1070 is applied to a memory card reader / writer (MCRDRD / WR) 1060. In this configuration, by supporting various memory card specifications, any memory card can be securely managed by encryption or address scrambling. Similarly to the example of FIG. 1, the usage can be divided so that the memory card 190 is used as the data storage of the terminal device and the memory card 1020 is used as the expansion memory of the IC card chip 1070. In this case, there is an effect that it is not necessary to include a mechanism for avoiding bus contention in the memory card control circuits 160 and 1030. Here, a USB interface (USBIF) 1050 is provided as an input / output interface, and a terminal interface control circuit (TRMIFCNT) 1080 is connected to the memory card control circuits 160 and 1030 via dedicated buses, respectively, and has the same configuration as FIG. .

図11にはICカードチップの更に別の変形例が示される。同図に示されるICチップ(ICCRDCHP)1190は、メモリカード制御回路160に代えてUSB制御回路1160を持ち、USBデバイスをUSBインタフェース(USBIF)1130及び1110経由で接続可能な構成を有する。先に説明したように、端末装置インタフェース制御回路1150がUSBの場合、ファイルなどのデータストリーム対して140のような転送制御回路を用いてメモリカード190へデータを転送することも可能である。ここでは、ICカードチップ1190が処理するデータストリーム以外のデータをそのままUSBIF1130、1110に受け渡すか、CPU150が制御する新しいエンドポイントを追加する構成とする。例えば、図11はUSBハブ1180に適用した場合を例示する。この構成を採用することで、USBIF1170からのデータストリームを端末装置に負荷を与えることなく暗号化する事が可能となる効果がある。   FIG. 11 shows still another modification of the IC card chip. An IC chip (ICCRDCHP) 1190 shown in the figure has a USB control circuit 1160 instead of the memory card control circuit 160, and has a configuration in which a USB device can be connected via USB interfaces (USBIF) 1130 and 1110. As described above, when the terminal device interface control circuit 1150 is USB, it is also possible to transfer data to the memory card 190 using a transfer control circuit such as 140 for a data stream such as a file. Here, data other than the data stream processed by the IC card chip 1190 is directly transferred to the USBIF 1130, 1110, or a new endpoint controlled by the CPU 150 is added. For example, FIG. 11 illustrates a case where the present invention is applied to the USB hub 1180. By adopting this configuration, it is possible to encrypt the data stream from the USBIF 1170 without applying a load to the terminal device.

以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。   Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.

例えば、入出力インタフェース制御回路としての端末インタフェース制御回路はUSBインタフェースに限定されず、メモリカードインタフェース制御回路はMMCインタフェースに限定されず、メモリカードはフラッシュメモリカードに限定されず、適宜変更可能である。ICカード用半導体装置は暗号化復号処理又は認証処理等のセキュリティ処理が可能なマイクロコンピュータと同義である。ICカード用半導体装置は図1に示されていないその他の周辺回路や演算回路等を備えてよいことは言うまでもない。   For example, the terminal interface control circuit as the input / output interface control circuit is not limited to the USB interface, the memory card interface control circuit is not limited to the MMC interface, the memory card is not limited to the flash memory card, and can be changed as appropriate. . An IC card semiconductor device is synonymous with a microcomputer capable of security processing such as encryption / decryption processing or authentication processing. It goes without saying that the IC card semiconductor device may include other peripheral circuits and arithmetic circuits not shown in FIG.

本発明を適用したICカードの一例を示すブロック図である。It is a block diagram which shows an example of the IC card to which this invention is applied. ICカードからだけでなく端末装置からもメモリカードをアクセス可能にする例を示すブロック図である。It is a block diagram which shows the example which makes a memory card accessible not only from an IC card but from a terminal device. 図2の構成に基づいてメモリカードを端末装置とICカードのどちらが制御するかを決定するためのフローチャートである。It is a flowchart for determining which of a terminal device and an IC card controls a memory card based on the configuration of FIG. 転送制御回路による処理を示す動作フローチャートである。It is an operation | movement flowchart which shows the process by the transfer control circuit. メモリカード制御回路による処理を示す動作フローチャートである。It is an operation | movement flowchart which shows the process by a memory card control circuit. 命令キューと制御レジスタの詳細を例示する説明図である。It is explanatory drawing which illustrates the detail of an instruction queue and a control register. 図1のICカードにおいて従来のICカードとの互換性を保つための構成を例示するブロック図である。It is a block diagram which illustrates the structure for maintaining the compatibility with the conventional IC card in the IC card of FIG. ICカードチップをメモリカードスロット付きUSBトークンカードに適用した例を示す概略構成図である。It is a schematic block diagram which shows the example which applied the IC card chip to the USB token card with a memory card slot. ICカードチップを大容量フラッシュメモリ付きSIMカードに適用した例を示す概略構成図である。It is a schematic block diagram which shows the example which applied the IC card chip to the SIM card with a large capacity flash memory. セキュアメモリカードリーダライタに適用したICカードチップの変形例を示す概略構成図である。It is a schematic block diagram which shows the modification of the IC card chip applied to the secure memory card reader / writer. セキュアUSBハブに適用したICカードチップの変形例を示す概略構成図である。It is a schematic block diagram which shows the modification of the IC card chip applied to the secure USB hub.

符号の説明Explanation of symbols

100 ICカード(ICCRD)
105 ICカードチップ(ICCRDCHP)
120 端末インタフェース制御回路(TRMIFCNT)
120A MSCバッファ(MSCBUF)
120B ICCバッファ(ICCBUF)
127 入出力インタフェース
130 内部バス
132 セレクタ132
140 転送制御回路(TRCNT)
145 バッファ(BUFF)
150 中央処理装置(CPU)
155 内部メモリ(MEM)
160 メモリカード制御回路(MCRDCNT)
163 制御レジスタ(CREG)
165 命令キュー(IQUE)
167A、167B メモリカードインタフェース
180 端末装置(TRML)
181A,181B インタフェース端子
190 メモリカード(MCRD)
270 入出力インタフェース
100 IC card (ICCRD)
105 IC card chip (ICCRDCHP)
120 Terminal interface control circuit (TRMIFCNT)
120A MSC buffer (MSCBUF)
120B ICC buffer (ICCBUF)
127 I / O interface 130 Internal bus 132 Selector 132
140 Transfer control circuit (TRCNT)
145 buffer (BUFF)
150 Central processing unit (CPU)
155 Internal memory (MEM)
160 Memory card control circuit (MCRDCNT)
163 Control register (CREG)
165 Instruction queue (IQUE)
167A, 167B Memory card interface 180 Terminal device (TRML)
181A, 181B Interface terminal 190 Memory card (MCRD)
270 I / O interface

Claims (14)

所定の入出力インタフェース仕様に準拠して外部との間で入出力制御を行う入出力インタフェース制御回路と、
所定のメモリカードインタフェース仕様に準拠して外部のメモリカードとの間で入出力制御を行うメモリカードインタフェース制御回路と、
前記入出力インタフェース制御回路に供給されるセキュリティ処理要求に応答してデータ処理を行ない、前記メモリカードインタフェース制御回路にメモリカードのアクセス指示を与えることが可能な中央処理装置と、
前記入出力インタフェース制御回路に供給されるメモリカードアクセス処理要求に応答して前記メモリカードインタフェース制御回路にメモリカードのアクセス指示を与える転送制御回路と、を有するICカード用半導体装置。
An input / output interface control circuit that performs input / output control with the outside in accordance with a predetermined input / output interface specification;
A memory card interface control circuit for performing input / output control with an external memory card in conformity with a predetermined memory card interface specification;
A central processing unit capable of performing data processing in response to a security processing request supplied to the input / output interface control circuit, and giving a memory card access instruction to the memory card interface control circuit;
A transfer control circuit for giving a memory card access instruction to the memory card interface control circuit in response to a memory card access processing request supplied to the input / output interface control circuit;
前記転送制御回路と前記メモリカードインタフェース制御回路との間にバッファメモリを有し、
前記転送制御回路は前記メモリカードへの書込みデータを前記データバッファに転送制御し、前記メモリカードインタフェース制御回路は前記メモリカードからのリードデータを前記データバッファに転送制御する、請求項1記載のICカード用半導体装置。
A buffer memory between the transfer control circuit and the memory card interface control circuit;
2. The IC according to claim 1, wherein the transfer control circuit controls transfer of write data to the memory card to the data buffer, and the memory card interface control circuit controls transfer of read data from the memory card to the data buffer. Card semiconductor device.
前記入出力インタフェース制御回路と中央処理装置とを接続する内部バスと、前記入出力インタフェース制御回路から転送制御回路を経由して前記バッファに至る内部バスとを別々に持つ、請求項2記載のICカード用半導体装置。   3. The IC according to claim 2, further comprising an internal bus connecting the input / output interface control circuit and a central processing unit and an internal bus extending from the input / output interface control circuit to the buffer via a transfer control circuit. Card semiconductor device. 前記メモリカードインタフェース制御回路は、メモリカードのアクセス動作を指示するアクセスコマンドが格納される命令キューを有し、
前記中央処理装置と転送制御回路は前記命令キューにアクセスコマンドを書込み可能であり、
前記メモリカードインタフェース制御回路は命令キューに書込まれたアクセスコマンドに従って外部のメモリカードに対するインタフェース制御を行う、請求項1記載のICカード用半導体装置。
The memory card interface control circuit has an instruction queue in which an access command instructing an access operation of the memory card is stored.
The central processing unit and the transfer control circuit can write an access command to the instruction queue;
2. The IC card semiconductor device according to claim 1, wherein the memory card interface control circuit performs interface control for an external memory card in accordance with an access command written in an instruction queue.
前記転送制御回路は、前記入出力インタフェース制御回路に供給されるメモリカードアクセス処理要求が書き込みの場合、前記転送制御回路からバッファへの転送経路のバス権を獲得し、前記バッファの空き領域に書込みデータを転送し、前記メモリカードインタフェース制御回路の命令キューに書込みアクセスコマンドを転送して、前記メモリカードインタフェース制御回路にバッファの書込みデータをメモリカードに書込む制御を開始させる、請求項4記載のICカード用半導体装置。   When the memory card access processing request supplied to the input / output interface control circuit is a write, the transfer control circuit acquires the bus right of the transfer path from the transfer control circuit to the buffer, and writes to the empty area of the buffer 5. The data transfer is performed, a write access command is transferred to an instruction queue of the memory card interface control circuit, and control for writing the write data of the buffer to the memory card is started by the memory card interface control circuit. IC card semiconductor device. 前記転送制御回路は、前記入出力インタフェース制御回路に供給されるメモリカードアクセス処理要求が読出しの場合、前記メモリカードインタフェース制御回路の命令キューに読出しアクセスコマンドを転送して、前記メモリカードインタフェース制御回路に前記メモリカードからデータをリードさせてバッファの空き領域に格納させ、バッファから転送制御回路への転送経路のバス権を獲得して、バッファのリードデータを前記入出力インタフェース制御回路に供給する、請求項4記載のICカード用半導体装置。   When the memory card access processing request supplied to the input / output interface control circuit is a read, the transfer control circuit transfers a read access command to an instruction queue of the memory card interface control circuit, and the memory card interface control circuit To read data from the memory card and store it in an empty area of the buffer, acquire the bus right of the transfer path from the buffer to the transfer control circuit, and supply the buffer read data to the input / output interface control circuit, The semiconductor device for IC cards according to claim 4. 前記メモリカードインタフェース制御回路は、読出しアクセスコマンドに応答するとき、前記バッファに空き領域がない場合には前記命令キューに格納されている書込みアクセスコマンドによる書込みを先に行ってバッファに空き領域を確保する、請求項6記載のICカード用半導体装置。   When the memory card interface control circuit responds to the read access command, if there is no free space in the buffer, the memory card interface control circuit first performs the write with the write access command stored in the instruction queue to secure the free space in the buffer. The semiconductor device for an IC card according to claim 6. 前記転送制御回路は、前記入出力インタフェース制御回路に供給されるメモリカードアクセス処理要求が消去の場合、前記メモリカードインタフェース制御回路の命令キューに消去アクセスコマンドを転送して、前記メモリカードインタフェース制御回路に前記メモリカードに対する消去動作を開始させる、請求項4記載のICカード用半導体装置。   The transfer control circuit transfers an erase access command to an instruction queue of the memory card interface control circuit when the memory card access processing request supplied to the input / output interface control circuit is erase, and the memory card interface control circuit The IC card semiconductor device according to claim 4, wherein an erasing operation on the memory card is started. カード基板に、請求項1記載のICカード用半導体装置と、前記ICカード用半導体装置の入出力インタフェース制御回路に接続する第1インタフェース端子と、前記ICカード用半導体装置のメモリカードインタフェース制御回路に接続する第2インタフェース端子と、を有すICカード。   An IC card semiconductor device according to claim 1, a first interface terminal connected to an input / output interface control circuit of the IC card semiconductor device, and a memory card interface control circuit of the IC card semiconductor device. An IC card having a second interface terminal to be connected. 請求項9記載のICカードにおける前記第1インタフェース端子のうちICカードの外部に露出した前記第1インタフェース端子に接続される第1端末インタフェース端子と、請求項9記載のICカードにおける前記第2インタフェース端子のうちICカードの外部に露出した前記第2インタフェース端子に接続される第2端末インタフェース端子と、メモリカードが接続される第3端末インタフェース端子と、前記第2端末インタフェース端子を前記第3端末インタフェース端子に接続するバイパス経路と、を有するICカード用端末装置。   10. The first terminal interface terminal connected to the first interface terminal exposed to the outside of the IC card among the first interface terminals in the IC card according to claim 9, and the second interface in the IC card according to claim 9. Of the terminals, a second terminal interface terminal connected to the second interface terminal exposed to the outside of the IC card, a third terminal interface terminal to which a memory card is connected, and the second terminal interface terminal to the third terminal And a bypass path connected to the interface terminal. 所定の入出力インタフェース仕様に準拠して外部との間で入出力制御を行う入出力インタフェース制御回路と、
所定のメモリカードインタフェース仕様に準拠して外部のメモリカードとの間で入出力制御を行うメモリカードインタフェース制御回路と、
前記入出力インタフェース制御回路に供給されるセキュリティ処理要求に応答してデータ処理を行なう第1データ処理装置と、
前記入出力インタフェース制御回路に供給されるメモリカードアクセス処理要求に応答して前記メモリカードインタフェース制御回路にメモリカードアクセスの指示を与える第2データ処理回路と、を有し、
前記メモリカードインタフェース制御回路は、メモリカードに動作電源を供給するための電源端子に入力端子が接続された電圧検出回路を有し、前記電圧検出回路により外部から電圧が供給されていないときにメモリカードに対するアクセス動作を開始する、ICカード用半導体装置。
An input / output interface control circuit that performs input / output control with the outside in accordance with a predetermined input / output interface specification;
A memory card interface control circuit for performing input / output control with an external memory card in conformity with a predetermined memory card interface specification;
A first data processing device for performing data processing in response to a security processing request supplied to the input / output interface control circuit;
A second data processing circuit for giving a memory card access instruction to the memory card interface control circuit in response to a memory card access processing request supplied to the input / output interface control circuit;
The memory card interface control circuit includes a voltage detection circuit having an input terminal connected to a power supply terminal for supplying operating power to the memory card, and the memory is detected when no voltage is supplied from the outside by the voltage detection circuit. An IC card semiconductor device that starts an access operation to a card.
前記第1データ処理装置は前記メモリカードインタフェース制御回路にメモリカードのアクセス指示を与えることが可能である、請求項11記載のICカード用半導体装置。   12. The semiconductor device for an IC card according to claim 11, wherein the first data processing device is capable of giving a memory card access instruction to the memory card interface control circuit. カード基板に、請求項11記載のICカード用半導体装置と、前記ICカード用半導体装置の入出力インタフェース制御回路に接続する第1インタフェース端子と、前記ICカード用半導体装置のメモリカードインタフェース制御回路に接続する第2インタフェース端子と、を有するICカード。   An IC card semiconductor device according to claim 11, a first interface terminal connected to an input / output interface control circuit of the IC card semiconductor device, and a memory card interface control circuit of the IC card semiconductor device. An IC card having a second interface terminal to be connected; 請求項13記載のICカードにおける前記第1インタフェース端子のうちICカードの外部に露出した第1インタフェース端子に接続される第1端末インタフェース端子と、請求項13記載のICカードにおける前記第2インタフェース端子のうちICカードの外部に露出した第2インタフェース端子に接続される第2端末インタフェース端子と、メモリカードが接続される第3端末インタフェース端子と、前記ICカードからメモリカードに動作電源を供給するための前記第2端末インタフェース端子のうちの電源端子に入力端子が接続された電圧検出回路とを有し、前記電圧検出回路により外部から電圧が供給されていないときに第3端末インタフェース端子を介してメモリカードに対するアクセス動作を開始する、ICカード用端末装置。   14. A first terminal interface terminal connected to a first interface terminal exposed to the outside of the IC card among the first interface terminals in the IC card according to claim 13, and the second interface terminal in the IC card according to claim 13. A second terminal interface terminal connected to the second interface terminal exposed to the outside of the IC card, a third terminal interface terminal connected to the memory card, and for supplying operating power from the IC card to the memory card And a voltage detection circuit having an input terminal connected to a power supply terminal of the second terminal interface terminals of the second terminal interface terminal via the third terminal interface terminal when no voltage is supplied from the outside by the voltage detection circuit. IC card terminal device for starting access operation to memory card .
JP2007306994A 2007-11-28 2007-11-28 Semiconductor device for ic card, ic card and terminal for ic card Withdrawn JP2009129402A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007306994A JP2009129402A (en) 2007-11-28 2007-11-28 Semiconductor device for ic card, ic card and terminal for ic card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007306994A JP2009129402A (en) 2007-11-28 2007-11-28 Semiconductor device for ic card, ic card and terminal for ic card

Publications (1)

Publication Number Publication Date
JP2009129402A true JP2009129402A (en) 2009-06-11

Family

ID=40820212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007306994A Withdrawn JP2009129402A (en) 2007-11-28 2007-11-28 Semiconductor device for ic card, ic card and terminal for ic card

Country Status (1)

Country Link
JP (1) JP2009129402A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646202A (en) * 2011-02-18 2012-08-22 上海三旗通信科技股份有限公司 Dual-SD (Secure Digital) card function for simulating SPI (Serial Peripheral Interface) manner
JP2013101696A (en) * 2013-02-18 2013-05-23 Toshiba Corp Access control apparatus
US8756380B2 (en) 2011-09-07 2014-06-17 Kabushiki Kaisha Toshiba Controlling access to a removable medium from a module and an external device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646202A (en) * 2011-02-18 2012-08-22 上海三旗通信科技股份有限公司 Dual-SD (Secure Digital) card function for simulating SPI (Serial Peripheral Interface) manner
US8756380B2 (en) 2011-09-07 2014-06-17 Kabushiki Kaisha Toshiba Controlling access to a removable medium from a module and an external device
JP2013101696A (en) * 2013-02-18 2013-05-23 Toshiba Corp Access control apparatus

Similar Documents

Publication Publication Date Title
US7708195B2 (en) Memory card
US7739449B2 (en) Memory card authentication system, capacity switching-type memory card host device, capacity switching-type memory card, storage capacity setting method, and storage capacity setting program
US6886083B2 (en) Apparatus and method for controlling a card device
US20060184717A1 (en) Integrated circuit capable of flash memory storage management
KR20080018866A (en) Smartcard power management
US20090235025A1 (en) Memory card capable of reducing power consumption
WO2001013214A1 (en) External storage using nonvolatile semiconductor memory
US8335883B2 (en) Data processing device and data processing system
US8069282B2 (en) SD switch box in a cellular handset
CN102436559A (en) State switching method and system
JP5293231B2 (en) IC chip, IC card, issuing device, issuing method and issuing system
JP2003030613A (en) Storage device and data processor provided with the storage device
JP2006236200A (en) Card type storage device and host device thereof
JP2009129402A (en) Semiconductor device for ic card, ic card and terminal for ic card
JP2003196613A (en) Device and method for controlling memory card
JP5241065B2 (en) Apparatus and method for checking whether data stored in external memory is changed
CN101273369A (en) Smartcard power management
JP2007310760A (en) Storage device
US9043538B1 (en) Memory system and method for controlling nonvolatile memory
JP2006195901A (en) Semiconductor device
US20030041187A1 (en) Method and apparatus for controlling card device
JP2011180963A (en) Semiconductor integrated circuit device
JP2004185419A (en) Portable electronic medium, issuing system of portable electronic medium, processing method, and issuing method
KR20120029521A (en) Secure memory card
JP2005346378A (en) Secure device

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100527

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110201