JP6326835B2 - Information processing apparatus, IC card, command processing method, and command processing program - Google Patents

Information processing apparatus, IC card, command processing method, and command processing program Download PDF

Info

Publication number
JP6326835B2
JP6326835B2 JP2014017761A JP2014017761A JP6326835B2 JP 6326835 B2 JP6326835 B2 JP 6326835B2 JP 2014017761 A JP2014017761 A JP 2014017761A JP 2014017761 A JP2014017761 A JP 2014017761A JP 6326835 B2 JP6326835 B2 JP 6326835B2
Authority
JP
Japan
Prior art keywords
command
priority
cpus
security
controller
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.)
Active
Application number
JP2014017761A
Other languages
Japanese (ja)
Other versions
JP2015146072A (en
Inventor
正剛 福永
正剛 福永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2014017761A priority Critical patent/JP6326835B2/en
Publication of JP2015146072A publication Critical patent/JP2015146072A/en
Application granted granted Critical
Publication of JP6326835B2 publication Critical patent/JP6326835B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、マルチコアプロセッサにより構成されるIC(Integrated Circuit)チップ等の技術分野に関する。   The present invention relates to a technical field such as an IC (Integrated Circuit) chip constituted by a multi-core processor.

従来から、悪意のある第三者によりICチップに対してDFA(Differential Fault Analysis)などの攻撃が行われることが問題となっている。このような問題に対する対策として、例えば特許文献1には、攻撃が検出される毎に、セキュリティ対策の強度を段階的に上げる技術が開示されている。   Conventionally, an attack such as DFA (Differential Fault Analysis) is performed on an IC chip by a malicious third party. As a countermeasure against such a problem, for example, Patent Document 1 discloses a technique for gradually increasing the strength of a security countermeasure every time an attack is detected.

特開2012−203800号公報JP 2012-203800 A

ところで、特許文献1の技術では、通常時は速度を優先することができるが、その場合はセキュリティ的に脆弱な状態として動作することになってしまう。一方、近年、ICカードは、多様な場面で用いられることが増え、実装されるコマンドの数や種類が増加している。コマンドにはそれぞれ、セキュリティが優先されるものと、速度が優先されるものに分かれているが、コマンドに応じてセキュリティ優先と速度優先とを切り替える技術は知られていなかった。   By the way, in the technique of Patent Document 1, priority can be given to speed during normal times, but in this case, the operation is performed in a security-sensitive state. On the other hand, in recent years, IC cards are increasingly used in various situations, and the number and types of commands to be mounted are increasing. Each command is divided into one in which security is given priority and one in which speed is given priority, but there is no known technique for switching between security priority and speed priority according to the command.

そこで、本発明は、上記問題等に鑑みてなされたものであり、コマンドに応じてセキュリティ優先と速度優先とを切り替えることが可能な情報処理装置、ICカード、コマンド処理方法、及びコマンド処理プログラムを提供することを目的とする。   Therefore, the present invention has been made in view of the above problems and the like, and includes an information processing apparatus, an IC card, a command processing method, and a command processing program capable of switching between security priority and speed priority according to a command. The purpose is to provide.

上記課題を解決するために、請求項1に記載の発明は、複数のCPUと、前記CPUを制御するコントローラとを備える情報処理装置であって、前記コントローラは、外部端末からコマンドが受信された場合に、当該受信されたコマンドがセキュリティ優先または速度優先であるかを当該コマンドのヘッダに含まれる命令コードに基づいて判定する判定手段と、前記判定手段によりセキュリティ優先であると判定された場合、前記コマンドに応じた同一の処理を前記複数のCPUに同一タイミングで実行させる制御手段と、を備えることを特徴とする。 In order to solve the above-described problem, the invention according to claim 1 is an information processing apparatus including a plurality of CPUs and a controller that controls the CPU, and the controller receives a command from an external terminal. A determination means for determining whether the received command is security priority or speed priority based on an instruction code included in a header of the command, and when the determination means determines that the security priority is given, Control means for causing the plurality of CPUs to execute the same processing according to the command at the same timing.

請求項2に記載の発明は、請求項1に記載の情報処理装置において、前記判定手段によりセキュリティ優先でないと判定された場合、前記コマンドに応じた一連の処理の中の別々の処理を前記複数のCPUに同一タイミングで実行させることを特徴とする。   According to a second aspect of the present invention, in the information processing apparatus according to the first aspect, when the determination unit determines that the security is not prioritized, the plurality of processes in a series of processes according to the command are performed. CPUs are executed at the same timing.

請求項3に記載の発明は、請求項1または2に記載の情報処理装置において、前記情報処理装置は、命令コードと、セキュリティ優先または速度優先とを対応付けたテーブルを予め記憶する不揮発性メモリを備え、前記判定手段は、前記コマンドが受信された場合に、前記不揮発性メモリに記憶されている前記テーブルを参照して、当該受信されたコマンドがセキュリティ優先または速度優先であるかを判定することを特徴とする。 According to a third aspect of the present invention, in the information processing device according to the first or second aspect, the information processing device stores in advance a table in which an instruction code is associated with security priority or speed priority. When the command is received, the determination means refers to the table stored in the nonvolatile memory to determine whether the received command is security priority or speed priority. It is characterized by that.

請求項に記載の発明は、複数のCPUと、前記CPUを制御するコントローラとを備えるICカードであって、前記コントローラは、外部端末からコマンドが受信された場合に、当該受信されたコマンドがセキュリティ優先または速度優先であるかを当該コマンドのヘッダに含まれる命令コードに基づいて判定する判定手段と、前記判定手段によりセキュリティ優先であると判定された場合、前記コマンドに応じた同一の処理を前記複数のCPUに同一タイミングで実行させる制御手段と、を備えることを特徴とするThe invention according to claim 4 is an IC card comprising a plurality of CPUs and a controller for controlling the CPU, and the controller receives the received command when the command is received from an external terminal. A determination unit that determines whether security priority or speed priority is based on an instruction code included in a header of the command, and when the determination unit determines that security priority is given, the same processing according to the command is performed. Control means for causing the plurality of CPUs to execute at the same timing .

請求項に記載の発明は、複数のCPUと、前記CPUを制御するコントローラとを備える情報処理装置におけるコマンド処理方法であって、前記コントローラが、外部端末からコマンドを受信した場合に、当該受信されたコマンドがセキュリティ優先または速度優先であるかを当該コマンドのヘッダに含まれる命令コードに基づいて判定するステップと、前記コントローラが、前記セキュリティ優先であると判定した場合、前記コマンドに応じた同一の処理を前記複数のCPUに同一タイミングで実行させるステップと、を含むことを特徴とする。 The invention according to claim 5 is a command processing method in an information processing apparatus including a plurality of CPUs and a controller that controls the CPUs, and when the controller receives a command from an external terminal, the reception is performed. Determining whether the given command is security priority or speed priority based on an instruction code included in a header of the command, and when the controller determines that the security priority is given, the same according to the command And a step of causing the plurality of CPUs to execute the process at the same timing.

請求項に記載の発明は、複数のCPUと、前記CPUを制御するコントローラとを備えるプロセッサにおける前記コントローラを、外部端末からコマンドが受信された場合に、当該受信されたコマンドがセキュリティ優先または速度優先であるかを当該コマンドのヘッダに含まれる命令コードに基づいて判定する判定手段と、前記判定手段によりセキュリティ優先であると判定された場合、前記コマンドに応じた同一の処理を前記複数のCPUに同一タイミングで実行させる制御手段として機能させることを特徴とする。 According to the sixth aspect of the present invention, when a command is received from an external terminal, the received command is a security priority or speed when the controller in the processor including a plurality of CPUs and a controller that controls the CPU is received. A determination unit that determines whether priority is given based on an instruction code included in a header of the command, and the determination unit that performs the same processing according to the command when the determination unit determines that the security priority is given. It functions as a control means to be executed at the same timing.

本発明によれば、コマンドに応じてセキュリティ優先と速度優先とを切り替えることができる。   According to the present invention, security priority and speed priority can be switched according to a command.

(A)は、ICカード1の概要構成例を示す図である。(B)は、コマンドテーブルの一例を示す図である。FIG. 2A is a diagram illustrating a schematic configuration example of the IC card 1. (B) is a figure which shows an example of a command table. コントローラ10eの処理を示すフローチャートである。It is a flowchart which shows the process of the controller 10e. CPU10a〜10dの実行タイミングの一例を示す概念図である。It is a conceptual diagram which shows an example of the execution timing of CPU10a-10d.

以下、図面を参照して本発明の実施形態について詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

先ず、図1を参照して、本実施形態に係るICカードについて説明する。図1(A)は、ICカード1の概要構成例を示す図である。なお、ICカード1は、キャッシュカード、クレジットカード、社員カード等として使用される。或いは、ICカード1は、スマートフォンや携帯電話機等の通信機器に組み込まれる。ICチップ1aは通信機器の回路基板上に直接組み込んで構成するようにしてもよい。   First, an IC card according to the present embodiment will be described with reference to FIG. FIG. 1A is a diagram illustrating a schematic configuration example of the IC card 1. The IC card 1 is used as a cash card, credit card, employee card or the like. Alternatively, the IC card 1 is incorporated into a communication device such as a smartphone or a mobile phone. The IC chip 1a may be configured by being directly incorporated on a circuit board of a communication device.

ICカード1には、図1(A)に示すように、ICチップ1aが搭載されている。具体的には、ICチップ1aは、マルチコアプロセッサ10、RAM(Random Access Memory)11、ROM(Read Only Memory)12、不揮発性メモリ13、及びI/O回路14を備えて構成される。なお、I/O回路14は、外部端末2とのインターフェイスを担う。I/O回路14には、例えばISO/IEC7816によって定められたC1〜C8の8個の端子が設けられている。例えば、C1端子は電源端子、C2端子はリセット端子、C3端子はクロック端子、C5端子はグランド端子、C7端子は外部端末2とのデータ通信を行う端子である。外部端末2の例としては、ICカード発行機、ATM、改札機、認証用ゲート等が挙げられる。或いは、ICカード1が通信機器に組み込まれる場合、外部端末2には通信機器の機能を担う制御部が該当する。   An IC chip 1a is mounted on the IC card 1 as shown in FIG. Specifically, the IC chip 1 a includes a multi-core processor 10, a RAM (Random Access Memory) 11, a ROM (Read Only Memory) 12, a nonvolatile memory 13, and an I / O circuit 14. The I / O circuit 14 serves as an interface with the external terminal 2. The I / O circuit 14 is provided with eight terminals C1 to C8 defined by, for example, ISO / IEC7816. For example, the C1 terminal is a power supply terminal, the C2 terminal is a reset terminal, the C3 terminal is a clock terminal, the C5 terminal is a ground terminal, and the C7 terminal is a terminal that performs data communication with the external terminal 2. Examples of the external terminal 2 include an IC card issuing machine, ATM, ticket gate, and authentication gate. Alternatively, when the IC card 1 is incorporated in a communication device, the external terminal 2 corresponds to a control unit responsible for the function of the communication device.

マルチコアプロセッサ10は、複数のCPU(コア)10a〜10dと、CPU10a〜10dを制御するコントローラ10eとを備える。CPU(コア)10a〜10dは、外部端末2からコマンドが受信された場合に、コントローラ10eの制御の下、ROM12または不揮発性メモリ13に記憶されているプログラムに従って当該コマンドに応じた処理を実行する。ここで、外部端末2から受信されるコマンドは、ヘッダとボディを含むAPDUと呼ばれるデータ列から構成される。コマンドのヘッダは、CLA(命令クラス)、INS(命令コード)、P1(命令パラメータ1)、及びP2(命令パラメータ2)からなる。また、コマンドには、セキュリティ優先のコマンドと、速度優先のコマンドとがある。セキュリティ優先とは、コマンドに応じた処理を、速度よりセキュリティを優先させることを意味する。一方、速度優先とは、コマンドに応じた処理を、セキュリティより速度を優先させることを意味する。   The multi-core processor 10 includes a plurality of CPUs (cores) 10a to 10d and a controller 10e that controls the CPUs 10a to 10d. When a command is received from the external terminal 2, the CPU (core) 10a to 10d executes a process according to the command according to a program stored in the ROM 12 or the nonvolatile memory 13 under the control of the controller 10e. . Here, the command received from the external terminal 2 is composed of a data string called APDU including a header and a body. The command header includes CLA (instruction class), INS (instruction code), P1 (instruction parameter 1), and P2 (instruction parameter 2). The commands include a security priority command and a speed priority command. Security priority means that security is given priority over speed in processing according to a command. On the other hand, speed priority means that processing according to a command is given priority over speed.

コントローラ10eは、例えば不揮発性メモリ13に記憶されているコマンド処理プログラムに従って本発明における判定手段及び制御手段として機能する。具体的には、コントローラ10eは、外部端末2からコマンドが受信された場合に、当該受信されたコマンドがセキュリティ優先または速度優先であるかを判定する。例えば、コントローラ10eは、不揮発性メモリ13に予め記憶されたコマンドテーブルを参照して上記判定を行う。図1(B)は、コマンドテーブルの一例を示す図である。図1(B)に示すように、コマンドテーブルには、コマンドを示すINS値と、セキュリティ優先または速度優先とが、コマンドごとに対応付けられて登録されている。なお、コマンドテーブルには、外部端末2から受信可能な全てのコマンドを示すINS値を登録しなくてもよい。例えば、セキュリティ優先のコマンドを示すINS値だけをコマンドテーブルに登録してもよいし、速度優先のコマンドを示すINS値だけをコマンドテーブルに登録してもよい。   The controller 10e functions as a determination unit and a control unit in the present invention according to a command processing program stored in the nonvolatile memory 13, for example. Specifically, when a command is received from the external terminal 2, the controller 10e determines whether the received command has security priority or speed priority. For example, the controller 10 e refers to a command table stored in advance in the non-volatile memory 13 and makes the above determination. FIG. 1B is a diagram illustrating an example of a command table. As shown in FIG. 1B, an INS value indicating a command and security priority or speed priority are registered in association with each command in the command table. In the command table, INS values indicating all commands that can be received from the external terminal 2 need not be registered. For example, only an INS value indicating a security priority command may be registered in the command table, or only an INS value indicating a speed priority command may be registered in the command table.

そして、コントローラ10eは、セキュリティ優先である(言い換えれば、速度優先でない)と判定した場合、当該コマンドに応じた同一の処理(MOVやADD等の命令)を複数のCPUに同一タイミングで実行させる。一方、コントローラ10eは、セキュリティ優先でない(言い換えれば、速度優先である)と判定した場合、当該コマンドに応じた一連の処理の中の別々の処理(MOVやADD等の命令)を複数のCPUに同一タイミングで実行させる。このことで、コマンドごとにマルチコアプロセッサ10における複数のCPUの動作が最適なものに切り替えられるため、速度が要求されるコマンドでは速度優先に、セキュリティが要求されるコマンドではセキュリティ優先にICチップ1aの動作を切り替えることが可能となる。   If the controller 10e determines that security is a priority (in other words, a speed is not a priority), the controller 10e causes a plurality of CPUs to execute the same processing (commands such as MOV and ADD) according to the command at the same timing. On the other hand, if the controller 10e determines that security is not a priority (in other words, speed is a priority), separate processing (commands such as MOV and ADD) in a series of processes corresponding to the command is given to a plurality of CPUs. Execute at the same timing. As a result, the operation of the plurality of CPUs in the multi-core processor 10 can be switched to the optimum operation for each command. Therefore, the speed of the command requiring speed is given priority to the speed, and the command requiring security is given priority to security. The operation can be switched.

次に、図2及び図3を参照して、コマンド受信時のマルチコアプロセッサ10の動作を説明する。図2は、コントローラ10eの処理の一例を示すフローチャートである。図3は、CPU10a〜10dの実行タイミングの一例を示す概念図である。なお、図3の例では、コマンドに応じた処理として、MOV(データ移動)の処理と複数のADD(加算)の処理とからなる一連の処理a〜dを例にとっている。   Next, the operation of the multi-core processor 10 when receiving a command will be described with reference to FIGS. FIG. 2 is a flowchart illustrating an example of processing of the controller 10e. FIG. 3 is a conceptual diagram illustrating an example of execution timing of the CPUs 10a to 10d. In the example of FIG. 3, a series of processes a to d including an MOV (data movement) process and a plurality of ADD (addition) processes are taken as an example of the process according to the command.

図2に示す処理は、外部端末2からコマンドが受信された場合に開始される。そして、コントローラ10eは、受信されたコマンドが速度優先のコマンドであるか否かを、例えばコマンドテーブルを参照して判定する(ステップS1)。速度優先のコマンドであると判定された場合(ステップS1:YES)、ステップS2へ進む。一方、速度優先のコマンドでないと判定された場合(ステップS1:NO)、ステップS3へ進む。なお、ステップS1において、コントローラ10eは、受信されたコマンドがセキュリティのコマンドであるか否かを判定するように構成してもよい。   The process shown in FIG. 2 is started when a command is received from the external terminal 2. Then, the controller 10e determines whether or not the received command is a speed priority command with reference to, for example, a command table (step S1). When it is determined that the command is a speed priority command (step S1: YES), the process proceeds to step S2. On the other hand, if it is determined that the command is not speed priority (step S1: NO), the process proceeds to step S3. In step S1, the controller 10e may be configured to determine whether the received command is a security command.

ステップS2では、コントローラ10eは、受信されたコマンドに応じた一連の処理の中の別々の(異なる)処理を複数のCPUに同一タイミングで実行させる。これにより、例えば、図3(A)に示すタイミング1(t=1)において、CPU10aが処理aを、CPU10bが処理bを、CPU10cが処理cを、それぞれ実行する(つまり、異なる処理が並列して実行される)ことになる。なお、この場合、CPU10dは処理を行わない。その後、図3(A)に示すタイミング2(t=2)において、CPU10aが処理dを実行することになる。つまり、処理dは、処理aと処理bの終了後でないと実行できないため、タイミング2で実行される。このように、速度優先の場合、コマンドに応じた処理はタイミング2で終了し、セキュリティ優先よりも高速に当該処理が完了することになる。そして、コントローラ10eは、CPUによる処理結果(図3(A)の例では、CPU10aによる処理dの結果)を外部端末2へ送信(応答)する(ステップS5)。   In step S2, the controller 10e causes a plurality of CPUs to execute different (different) processes in the series of processes according to the received command at the same timing. Thus, for example, at timing 1 (t = 1) shown in FIG. 3A, the CPU 10a executes the process a, the CPU 10b executes the process b, and the CPU 10c executes the process c (that is, different processes are executed in parallel). Will be executed). In this case, the CPU 10d does not perform processing. Thereafter, at timing 2 (t = 2) shown in FIG. 3A, the CPU 10a executes the process d. That is, since the process d can be executed only after the processes a and b are finished, the process d is executed at the timing 2. As described above, in the case of speed priority, the process according to the command ends at the timing 2, and the process is completed faster than the security priority. Then, the controller 10e transmits (responds) the processing result by the CPU (in the example of FIG. 3A, the result of the processing d by the CPU 10a) to the external terminal 2 (step S5).

一方、ステップS3では、コントローラ10eは、受信されたコマンドに応じた同一の処理を複数のCPUに同一タイミングで実行させる。これにより、例えば、図3(B)に示すタイミング1(t=1)において、CPU10a〜10dがそれぞれ処理aを実行し(つまり、同一の処理が並列して実行される)、図3(B)に示すタイミング2(t=2)において、CPU10a〜10dがそれぞれ処理bを実行し、図3(B)に示すタイミング3(t=3)において、CPU10a〜10dがそれぞれ処理cを実行し、図3(B)に示すタイミング4(t=4)において、CPU10a〜10dがそれぞれ処理dを実行することになる。   On the other hand, in step S3, the controller 10e causes a plurality of CPUs to execute the same processing according to the received command at the same timing. As a result, for example, at timing 1 (t = 1) shown in FIG. 3B, the CPUs 10a to 10d each execute the process a (that is, the same process is executed in parallel), and FIG. ) At timing 2 (t = 2) shown in FIG. 3B, the CPUs 10a to 10d each execute processing b, and at timing 3 (t = 3) shown in FIG. 3B, the CPUs 10a to 10d execute processing c, respectively. At timing 4 (t = 4) shown in FIG. 3B, each of the CPUs 10a to 10d executes the process d.

次いで、ステップS4では、コントローラ10eは、複数のCPUの処理結果(図3(B)の例では、CPU10a〜10dによる処理dの結果)が一致するか否かを判定(タイミング5での検証)する。コントローラ10eは、処理結果が一致すると判定した場合(ステップS4:YES)、何れかのCPUによる処理結果を外部端末2へ送信(応答)する(ステップS5)。一方、処理結果が一致しないと判定した場合(ステップS4:NO)、外部端末2へエラー応答が行われるか、コントローラ10eの動作が停止される(ステップS6)。このように、セキュリティ優先の場合、タイミング5まで時間がかかるが、複数のCPUで並列に同一の処理が実行され、その結果が検証されるため、外部からの攻撃などでデータが改ざんされた場合も、高い確率で検知することが可能となる。   Next, in step S4, the controller 10e determines whether or not the processing results of a plurality of CPUs (results of processing d by the CPUs 10a to 10d in the example of FIG. 3B) match (verification at timing 5). To do. If the controller 10e determines that the processing results match (step S4: YES), the controller 10e transmits (responds) the processing result of any CPU to the external terminal 2 (step S5). On the other hand, if it is determined that the processing results do not match (step S4: NO), an error response is sent to the external terminal 2 or the operation of the controller 10e is stopped (step S6). In this way, in the case of security priority, it takes time until timing 5, but the same processing is executed in parallel by a plurality of CPUs, and the result is verified, so the data is altered by an external attack or the like Can be detected with high probability.

以上説明したように、上記実施形態によれば、マルチコアプロセッサ10は、受信されたコマンドがセキュリティ優先または速度優先であるかを判定し、セキュリティ優先であると判定した場合、当該コマンドに応じた同一の処理を複数のCPUに同一タイミングで実行させる一方、セキュリティ優先でないと判定した場合、当該コマンドに応じた一連の処理の中の別々の処理を複数のCPUに同一タイミングで実行させるように構成したので、コマンドに応じてセキュリティ優先と速度優先とを切り替えることができ、そのため、コマンドごとに最適な動作をさせることができる。すなわち、速度が優先されるコマンドでは高速に動作し、セキュリティ性が優先されるコマンドでは高いセキュリティ性を担保することが可能となる。   As described above, according to the above-described embodiment, the multi-core processor 10 determines whether the received command is security priority or speed priority. The processing is executed at the same timing by a plurality of CPUs, and when it is determined that security is not a priority, the processing is performed at the same timing by a plurality of CPUs in a series of processing corresponding to the command. Therefore, it is possible to switch between security priority and speed priority according to the command, so that an optimum operation can be performed for each command. That is, a command with priority given to speed can operate at high speed, and a command with priority given to security can ensure high security.

なお、上記実施形態では、コントローラ10eは、コマンドテーブルを利用してセキュリティ優先または速度優先であるかを判定するように構成したが、これ以外にも、判定フラグを利用してセキュリティ優先または速度優先であるかを判定するように構成してもよい。この場合、コントローラ10eは、受信されたコマンドに応じた処理の結果に応じて、セキュリティ優先または速度優先を示す判定フラグ(例えば、判定フラグが“1”の場合、セキュリティ優先、判定フラグが“0”の場合、速度優先)を保持する。例えば、ICチップ1aの起動時には、判定フラグが速度優先を示すように設定(保持)される。そして、特定のコマンドに応じた処理が正常に実行された場合、その結果に応じて、判定フラグがセキュリティ優先を示すように設定される。一方、特定のコマンドに応じた処理が失敗した場合、その結果に応じて、判定フラグが速度優先を示すように設定される。このように、一定の条件に応じて判定フラグの値が切り替えられる。これにより、特定の状況に応じて、速度優先かセキュリティ優先かを動的に切り替えることができる。そして、コントローラ10eは、次のコマンドが受信された場合に、保持されている判定フラグを参照して、当該受信されたコマンドがセキュリティ優先または速度優先であるかを判定し、判定結果に応じて、上述したように複数のCPUを動作させる。   In the above embodiment, the controller 10e is configured to determine whether security priority or speed priority is used using the command table. However, other than this, security priority or speed priority is determined using a determination flag. It may be configured to determine whether or not. In this case, the controller 10e determines the security priority or the speed priority according to the result of the process according to the received command (for example, when the determination flag is “1”, the security priority and the determination flag is “0”). In case of ", speed priority" is maintained. For example, when the IC chip 1a is activated, the determination flag is set (held) to indicate speed priority. When the process according to the specific command is normally executed, the determination flag is set so as to indicate the security priority according to the result. On the other hand, when the process according to the specific command fails, the determination flag is set to indicate speed priority according to the result. Thus, the value of the determination flag is switched according to a certain condition. As a result, speed priority or security priority can be dynamically switched according to a specific situation. Then, when the next command is received, the controller 10e refers to the determination flag held to determine whether the received command is security priority or speed priority, and according to the determination result. As described above, a plurality of CPUs are operated.

1 ICカード
1a ICチップ
10 マルチコアプロセッサ
10a〜10d CPU
10e コントローラ
11 RAM
12 ROM
13 不揮発性メモリ
14 I/O回路
1 IC card 1a IC chip 10 Multi-core processor 10a to 10d CPU
10e Controller 11 RAM
12 ROM
13 Non-volatile memory 14 I / O circuit

Claims (6)

複数のCPUと、前記CPUを制御するコントローラとを備える情報処理装置であって、
前記コントローラは、
外部端末からコマンドが受信された場合に、当該受信されたコマンドがセキュリティ優先または速度優先であるかを当該コマンドのヘッダに含まれる命令コードに基づいて判定する判定手段と、
前記判定手段によりセキュリティ優先であると判定された場合、前記コマンドに応じた同一の処理を前記複数のCPUに同一タイミングで実行させる制御手段と、
を備えることを特徴とする情報処理装置。
An information processing apparatus comprising a plurality of CPUs and a controller that controls the CPUs,
The controller is
When a command is received from an external terminal, determination means for determining whether the received command is security priority or speed priority based on an instruction code included in the header of the command ;
Control means for causing the plurality of CPUs to execute the same processing according to the command at the same timing when the determination means determines that security is given priority;
An information processing apparatus comprising:
前記判定手段によりセキュリティ優先でないと判定された場合、前記コマンドに応じた一連の処理の中の別々の処理を前記複数のCPUに同一タイミングで実行させることを特徴とする請求項1に記載の情報処理装置。   2. The information according to claim 1, wherein if the determination unit determines that security is not a priority, the CPUs execute different processes in a series of processes corresponding to the command at the same timing. Processing equipment. 前記情報処理装置は、命令コードと、セキュリティ優先または速度優先とを対応付けたテーブルを予め記憶する不揮発性メモリを備え、
前記判定手段は、前記コマンドが受信された場合に、前記不揮発性メモリに記憶されている前記テーブルを参照して、当該受信されたコマンドがセキュリティ優先または速度優先であるかを判定することを特徴とする請求項1または2に記載の情報処理装置。
The information processing apparatus includes a nonvolatile memory that stores in advance a table in which instruction codes are associated with security priority or speed priority,
When the command is received, the determination means refers to the table stored in the nonvolatile memory and determines whether the received command is security priority or speed priority. The information processing apparatus according to claim 1 or 2.
複数のCPUと、前記CPUを制御するコントローラとを備えるICカードであって、
前記コントローラは、
外部端末からコマンドが受信された場合に、当該受信されたコマンドがセキュリティ優先または速度優先であるかを当該コマンドのヘッダに含まれる命令コードに基づいて判定する判定手段と、
前記判定手段によりセキュリティ優先であると判定された場合、前記コマンドに応じた同一の処理を前記複数のCPUに同一タイミングで実行させる制御手段と、
を備えることを特徴とするICカード
An IC card comprising a plurality of CPUs and a controller for controlling the CPUs,
The controller is
When a command is received from an external terminal, determination means for determining whether the received command is security priority or speed priority based on an instruction code included in the header of the command;
Control means for causing the plurality of CPUs to execute the same processing according to the command at the same timing when the determination means determines that security is given priority;
An IC card comprising:
複数のCPUと、前記CPUを制御するコントローラとを備える情報処理装置におけるコマンド処理方法であって、
前記コントローラが、外部端末からコマンドを受信した場合に、当該受信されたコマンドがセキュリティ優先または速度優先であるかを当該コマンドのヘッダに含まれる命令コードに基づいて判定するステップと、
前記コントローラが、前記セキュリティ優先であると判定した場合、前記コマンドに応じた同一の処理を前記複数のCPUに同一タイミングで実行させるステップと、
を含むことを特徴とするコマンド処理方法。
A command processing method in an information processing apparatus comprising a plurality of CPUs and a controller for controlling the CPUs,
When the controller receives a command from an external terminal, determining whether the received command is security priority or speed priority based on an instruction code included in a header of the command ;
When the controller determines that the security is prioritized, causing the plurality of CPUs to execute the same processing according to the command at the same timing;
A command processing method comprising:
複数のCPUと、前記CPUを制御するコントローラとを備えるプロセッサにおける前記コントローラを、
外部端末からコマンドが受信された場合に、当該受信されたコマンドがセキュリティ優先または速度優先であるかを当該コマンドのヘッダに含まれる命令コードに基づいて判定する判定手段と、
前記判定手段によりセキュリティ優先であると判定された場合、前記コマンドに応じた同一の処理を前記複数のCPUに同一タイミングで実行させる制御手段として機能させることを特徴とするコマンド処理プログラム。
The controller in a processor comprising a plurality of CPUs and a controller for controlling the CPUs.
When a command is received from an external terminal, determination means for determining whether the received command is security priority or speed priority based on an instruction code included in the header of the command ;
A command processing program for causing a plurality of CPUs to execute the same processing according to the command at the same timing when the determination unit determines that security is a priority.
JP2014017761A 2014-01-31 2014-01-31 Information processing apparatus, IC card, command processing method, and command processing program Active JP6326835B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014017761A JP6326835B2 (en) 2014-01-31 2014-01-31 Information processing apparatus, IC card, command processing method, and command processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014017761A JP6326835B2 (en) 2014-01-31 2014-01-31 Information processing apparatus, IC card, command processing method, and command processing program

Publications (2)

Publication Number Publication Date
JP2015146072A JP2015146072A (en) 2015-08-13
JP6326835B2 true JP6326835B2 (en) 2018-05-23

Family

ID=53890280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014017761A Active JP6326835B2 (en) 2014-01-31 2014-01-31 Information processing apparatus, IC card, command processing method, and command processing program

Country Status (1)

Country Link
JP (1) JP6326835B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3889158B2 (en) * 1998-06-29 2007-03-07 株式会社エヌ・ティ・ティ・データ IC mounted card and card system
JP2003316598A (en) * 2002-04-22 2003-11-07 Mitsubishi Electric Corp Long instruction execution processor combined with high reliable mode operation
DE10349580A1 (en) * 2003-10-24 2005-05-25 Robert Bosch Gmbh Method and device for operand processing in a processor unit
JP2006134150A (en) * 2004-11-08 2006-05-25 Konica Minolta Photo Imaging Inc Non-contact ic card
JP5512383B2 (en) * 2010-05-12 2014-06-04 ルネサスエレクトロニクス株式会社 Computer system

Also Published As

Publication number Publication date
JP2015146072A (en) 2015-08-13

Similar Documents

Publication Publication Date Title
EP3188065A1 (en) Secure intelligent terminal device and information processing method
JP2007257542A (en) Composite portable electronic device and composite ic card
EP3065097B1 (en) Device and method for facilitating a transaction
JP6326835B2 (en) Information processing apparatus, IC card, command processing method, and command processing program
JP2009259126A (en) Method for detecting fault attack and security device
JP6182940B2 (en) IC card, status word output method, and status word output processing program
JP2007087120A (en) Ic card mounted with multiple os (operating system) and issue consignment method
JP2009080673A (en) Portable electronic apparatus and command processing method thereof
JP2012093857A (en) Ic chip, memory initialization method for ic chip, processing program for ic chip, and portable terminal
JP6307938B2 (en) IC chip, command execution method, and IC chip program
US10242183B2 (en) Method of executing a program by a processor and electronic entity comprising such a processor
JP2016004371A (en) Ic chip, abnormality detection processing method, and program
EP3460702A1 (en) Method to detect an attack by fault injection on a sensitive operation
JP7206942B2 (en) Electronic information storage medium, IC chip, initial setting method, and initial setting program
JP2013097526A (en) Ic chip, processing method in ic chip, processing program for ic chip, and ic card
JP6493672B2 (en) Electronic information storage medium, abnormality detection method, abnormality detection program, and IC card
JP7468754B1 (en) ELECTRONIC INFORMATION STORAGE MEDIUM, IC CHIP, IC CARD, RECEPTION BLOCK PROCESSING METHOD, AND PROGRAM
JP2006172271A (en) Multi-application ic card, and program for ic card
JP5971079B2 (en) Portable record carrier and computer program
JP2008152452A (en) Portable electronic device, control method for portable electronic device, and ic card
JP6421662B2 (en) Electronic information storage medium, access restriction method, and access restriction program
JP6686725B2 (en) Electronic information storage medium, information processing method, and information processing program
JP6119345B2 (en) IC chip, IC card, verification processing method, and verification processing program
JP6398449B2 (en) Electronic information recording medium, processor module operation control method, and processor module operation control program
JP2006209172A (en) Ic card and program for ic card

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171030

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180320

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180402

R150 Certificate of patent or registration of utility model

Ref document number: 6326835

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150