[go: up one dir, main page]

JP2010021624A - Information processing apparatus - Google Patents

Information processing apparatus Download PDF

Info

Publication number
JP2010021624A
JP2010021624A JP2008177879A JP2008177879A JP2010021624A JP 2010021624 A JP2010021624 A JP 2010021624A JP 2008177879 A JP2008177879 A JP 2008177879A JP 2008177879 A JP2008177879 A JP 2008177879A JP 2010021624 A JP2010021624 A JP 2010021624A
Authority
JP
Japan
Prior art keywords
circuit
processing apparatus
random number
information processing
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008177879A
Other languages
Japanese (ja)
Inventor
Atsushi Tomoda
敦 友田
Takeki Kondo
雄樹 近藤
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008177879A priority Critical patent/JP2010021624A/en
Publication of JP2010021624A publication Critical patent/JP2010021624A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technique capable of preventing unauthorized decryption for the information processing apparatus including encryption operation process. <P>SOLUTION: A reconfiguration enable circuit (RECONF) 107 includes a plurality of equivalent logic circuits corresponding to one encryption processing algorithm, a random number generator, and a switch. The switch switches the plurality of equivalent logic circuits, based on a random number generated at the random number generator. A CPU 106 configures a logic circuit in the reconfiguration enable circuit 107 based on a configuration information stored at a ROM 112, and performs encryption operation process. A circuit for performing encryption operation processing for data actually is changed at random when the processing is performed, so that it is difficult to identify the circuit which actually performs the processing even if the configuration information is read. Thereby, unauthorized decryption using known power consumption analysis and/or timing analysis can be prevented. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、情報処理装置に関し、特に携帯電話端末機器のように、データの処理だけでなく、外部との通信やデータの保護のために暗号処理を行う必要のある情報処理装置に適用して有効な技術に関する。   The present invention relates to an information processing apparatus, and particularly to an information processing apparatus such as a mobile phone terminal device that needs to perform not only data processing but also encryption processing for communication with the outside and protection of data. It relates to effective technology.

本発明者が検討した技術として、情報処理装置においては、たとえば以下の技術が考えられる。   As a technique examined by the present inventor, for example, the following technique can be considered in the information processing apparatus.

暗号演算を高速に実行する必要性や、メモリの読み出し等の簡単な攻撃からの保護を目的として、たとえば暗号演算処理専用ハードウェアがシステムLSI内部に搭載されてきた。携帯電話端末機器などに搭載されるシステムLSIでは、電子決済などのセキュリティ保護が必要な処理を行うようになってきており、今後一層堅牢なシステムが求められている。   For example, dedicated hardware for cryptographic operation processing has been installed in the system LSI for the purpose of performing cryptographic operations at high speed and protecting against simple attacks such as memory reading. System LSIs mounted on cellular phone terminal devices and the like have come to perform processing that requires security protection such as electronic payment, and a more robust system will be required in the future.

また、暗号演算処理に関しては,非特許文献1で示されるような電力解析や、非特許文献2で示されるようなタイミング解析などの攻撃手法が知られている。これらの非特許文献1及び2には、従来の半導体装置が、暗号演算処理回路が半導体装置の内部に固定して配置されていることが記載されている。そして、特許文献1において、その物理的配置が特定されると、暗号演算の消費電力や処理時間が一意に決まり、鍵の特定に対する脆弱性を有している旨が記載されている。   As for cryptographic operation processing, attack techniques such as power analysis as shown in Non-Patent Document 1 and timing analysis as shown in Non-Patent Document 2 are known. These Non-Patent Documents 1 and 2 describe that a conventional semiconductor device has a cryptographic operation processing circuit fixedly disposed inside the semiconductor device. Patent Document 1 describes that when the physical arrangement is specified, the power consumption and processing time of the cryptographic operation are uniquely determined and have a vulnerability to key specification.

ICカードなどの暗号演算処理を行う半導体装置においては、この脆弱性に対する1つの解決策として、たとえば特許文献1に開示された技術がある。特許文献1には、再構成可能回路と乱数発生器を設け、同一の処理を行う複数の論理構成情報を用意し、乱数発生器で生成された乱数にしたがって論理構成情報を選択して再構成し、暗号演算処理を実行する技術が開示されている。同一の暗号演算処理を行う場合であっても消費電力波形や処理時間が異なるため、被処理データや鍵の特定が困難になる。この技術は、専用ハードウェアではなく、再構成可能回路を用い、処理する論理回路の構成をランダムに選択することから、実際に処理を行う回路を一意に特定することを困難にしている。
特開2007−49524号公報 ポール・コッカー(Paul Kocher),ジョシュア・ジャッフェ(Joshua Jaffe),ベンジャミン・ジュン(Benjamin Jun),「ディファレンシャル・パワー・アナリシス(Differential Power Analysis)」,クリプト99(Crypto'99),1999年,p.388−397 ポール・コッカー(Paul Kocher),「タイミング・アタックス・オン・インプリメンテイションズ・オブ・ディフィ・ヘルマン・アール・エス・エー・ディー・エス・エス・アンド・アザー・システムズ(Timing Attacks on Implementations of Diffie−Hellman,RSA,DSS,and Other Systems)」,クリプト96(Crypto'96),1996年,p.104−113 ワイ・ツノオ(Y.Tsunoo),イー・ツジハラ(E.Tsujihara),ケイ・ミネマツ(K.Minematsu),エッチ・ミヤウチ(H.Miyauchi),「クリプトアナリシス・オブ・ブロック・サイファーズ・インプリメンテド・オン・コンピュータズ・ウィズ・キャッシュ(Cryptanalysis of Block Ciphers Implemented on Computers with Cache)」,アイ・エス・アイ・ティー・エー2002(ISITA2002,2002年10月,p.7−11 伊東,辻井,「ア・ファースト・アルゴリズム・フォー・マルティプリケイティブ・インバース・イン・ジー・エフ・ユージング・ノーマル・ベース(A Fast Algorithm for Multiplicative Inverse in GF(2^m) using Normal Bases)」,インフォメイション・アンド・コンピューテイション(Information and Computation),1988年,第78巻,第3号,p171−177
In a semiconductor device that performs cryptographic operation processing such as an IC card, there is a technique disclosed in Patent Document 1, for example, as one solution to this vulnerability. In Patent Document 1, a reconfigurable circuit and a random number generator are provided, a plurality of logical configuration information for performing the same processing is prepared, and the logical configuration information is selected and reconfigured according to the random number generated by the random number generator. A technique for executing cryptographic operation processing is disclosed. Even when the same cryptographic operation processing is performed, the power consumption waveform and the processing time are different, so that it becomes difficult to specify data to be processed and a key. This technique uses a reconfigurable circuit, not dedicated hardware, and randomly selects the configuration of the logic circuit to be processed, making it difficult to uniquely identify the circuit that actually performs the processing.
JP 2007-49524 A Paul Kocher, Joshua Jaffe, Benjamin Jun, "Differential Power Analysis", Crypt 99 (Crypto'99), 99. 388-397 Paul Kocher, “Timing Attacks on Implementations of Difficulties” Hellman, RSA, DSS, and Other Systems), Crypto '96, 1996, p. 104-113 Y. Tsunoo, E. Tsujihara, K. Minematsu, H. Miyauchi, "Cryptanalysis of Block Ciphers Implemented"・ On Computers with Cash ”, ISITA 2002, October 2002, p.7-11 Ito, Sakurai, “A First Algorithm for Multiple Inverse in GF (2 ^ m) using Normal Bases”, Information and Computing, 1988, Vol. 78, No. 3, p171-177

ところで、前記のような情報処理装置の技術について、本発明者が検討した結果、以下のようなことが明らかとなった。   By the way, as a result of the study of the information processing apparatus as described above by the present inventor, the following has been clarified.

たとえば、前記特許文献1のようにICカードなどで提案されている、複数の論理構成情報を乱数発生器から発生させた乱数によって選択して、再構成可能回路に論理回路を構成し、暗号処理を実行する前記方法を、一般のシステムLSIに適用する場合、次の課題が存在する。   For example, a plurality of logical configuration information proposed by an IC card or the like as in Patent Document 1 is selected by a random number generated from a random number generator, a logical circuit is configured in a reconfigurable circuit, and cryptographic processing is performed. When the method for executing the above is applied to a general system LSI, the following problems exist.

システムLSIには、外部メモリに置かれたプログラムを実行可能であるものや、あるいは内部に複数のCPUを有するものもある。このような複雑なシステムにおいては、たとえば設計者の意図に反して、攻撃者によって、内部メモリに格納された論理構成情報を読み出し、回路構成を解析することが可能な場合がある。   Some system LSIs can execute a program placed in an external memory, or some have a plurality of CPUs inside. In such a complex system, for example, contrary to the intention of the designer, an attacker may be able to read the logical configuration information stored in the internal memory and analyze the circuit configuration.

また、ROMに用意した複数の論理構成情報のうち、どれが選択されたかを特定できる場合がある。たとえば、CPUが一旦アクセスしたメモリ領域がキャッシュにコピーされる場合、それ以外のメモリ領域とでメモリアクセス時間に差異があることを利用した攻撃方法が非特許文献3において指摘されている。   Moreover, it may be possible to specify which one of a plurality of pieces of logical configuration information prepared in the ROM has been selected. For example, Non-Patent Document 3 points out an attack method that utilizes the fact that when a memory area once accessed by a CPU is copied to a cache, there is a difference in memory access time with other memory areas.

この手法によれば、複数の構成情報をメモリに格納し、ランダムに選択して再構成可能回路に構成した場合でも、どの構成情報が選択されたかがソフトウェアによって観測され、実際に再構成可能回路に構成される論理回路の配置が明らかになってしまう恐れがある。   According to this method, even when a plurality of pieces of configuration information are stored in a memory and randomly selected and configured as a reconfigurable circuit, which configuration information is selected is observed by the software, and the reconfigurable circuit is actually selected. There is a risk that the arrangement of the configured logic circuit will become clear.

その場合、実際にどの論理回路がどのような配置で構成されて、データ処理が実行されたかが特定されてしまう。特定の回路で処理を行ったことが攻撃者に知られた場合には、既知の消費電力解析やタイミング解析によって被処理データの解読が可能になる可能性がある。   In that case, it is specified which logic circuit is actually configured in what arrangement and data processing is executed. When an attacker knows that processing has been performed by a specific circuit, there is a possibility that data to be processed can be decoded by known power consumption analysis or timing analysis.

たとえば、AES暗号方式において、共通鍵からラウンドキーを生成するとき、共通鍵をバイトごとに分けていくつかのステップで処理する。特に、S−BOXとよばれるステップでは、鍵データのガロア体における逆元を求めた後、逆元にアファイン変換を行う。このときに、逆元演算の消費電力波形と鍵データとの間に相関があることが知られている。   For example, in the AES encryption method, when generating a round key from a common key, the common key is divided into bytes and processed in several steps. In particular, in a step called S-BOX, after obtaining the inverse element in the Galois field of the key data, affine transformation is performed on the inverse element. At this time, it is known that there is a correlation between the power consumption waveform of the inverse operation and the key data.

したがって、このようなシステムLSIにおいては、構成情報が読み出されてしまった場合にも、実際に処理が実行された回路の特定が困難であるような方法が必要である。   Therefore, in such a system LSI, there is a need for a method that makes it difficult to identify a circuit that has actually performed processing even when configuration information has been read.

そこで、本発明の1つの目的は、暗号演算処理を含む情報処理装置において、暗号の不正な解読を防止することができる技術を提供することにある。   Accordingly, an object of the present invention is to provide a technique capable of preventing an illegal decryption of a cipher in an information processing apparatus including a cryptographic operation process.

本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。   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.

本願において開示される実施例のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。   Of the embodiments disclosed in the present application, the outline of typical ones will be briefly described as follows.

すなわち、複数のプロセッシングエレメントの接続関係を切り替えることにより構成される、第1論理回路、第2論理回路及びスイッチ回路を有する再構成可能回路と、乱数発生器とを有し、スイッチ回路は、乱数発生器で生成された乱数に基づいて第1論理回路と第2論理回路のどちらに演算を行わせるかを切り替えることを特徴とする。   That is, a reconfigurable circuit having a first logic circuit, a second logic circuit, and a switch circuit, and a random number generator, which are configured by switching connection relations of a plurality of processing elements, and the switch circuit is a random number Switching between the first logic circuit and the second logic circuit is performed based on the random number generated by the generator.

代表的な実施例によれば、消費電力解析およびタイミング解析などによる不正な解読を防止することができる。   According to the representative embodiment, it is possible to prevent unauthorized decoding by power consumption analysis and timing analysis.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部材には原則として同一の符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。   In the following embodiment, when it is necessary for the sake of convenience, the description will be divided into a plurality of sections or embodiments. However, unless otherwise specified, they are not irrelevant, and one is the other. Some or all of the modifications, details, supplementary explanations, and the like are related. Further, in the following embodiments, when referring to the number of elements (including the number, numerical value, quantity, range, etc.), especially when clearly indicated and when clearly limited to a specific number in principle, etc. Except, it is not limited to the specific number, and may be more or less than the specific number.

図1は、本発明の一実施の形態による情報処理装置において、携帯電話端末システムの構成例を示すブロック図である。   FIG. 1 is a block diagram showing a configuration example of a mobile phone terminal system in an information processing apparatus according to an embodiment of the present invention.

図1に示すように、本実施の形態による携帯電話端末システムは、無線通信のための信号処理を実行するベースバンドLSI(Base Band LSI)102と、RFアンプ(RF)103と、アンテナ104と、データ処理を行うアプリケーションLSI 101と、データが保存される外部メモリ(Memory)105と、これらを接続するシステムバス114などから構成されている。   As shown in FIG. 1, the mobile phone terminal system according to the present embodiment includes a baseband LSI (Base Band LSI) 102 that executes signal processing for wireless communication, an RF amplifier (RF) 103, an antenna 104, and the like. An application LSI 101 that performs data processing, an external memory (Memory) 105 that stores data, a system bus 114 that connects these, and the like.

アプリケーションLSI101は、CPU106と、RAM111と、ROM112と、LSI外部と接続するためのインターフェース(I/F)113と、再構成可能回路(RECONF)107と、再構成可能回路107の制御を行うコントローラ(CTR)108と、再構成可能回路107とCPU106の両方からアクセス可能なレジスタ(REG)109と、割込みコントローラ(INT)110などから成る。   The application LSI 101 includes a CPU 106, a RAM 111, a ROM 112, an interface (I / F) 113 for connection to the outside of the LSI, a reconfigurable circuit (RECONF) 107, and a controller that controls the reconfigurable circuit 107 ( CTR) 108, a register (REG) 109 accessible from both the reconfigurable circuit 107 and the CPU 106, an interrupt controller (INT) 110, and the like.

携帯電話端末システムが通信を行う際には、アプリケーションLSI101から出力されたデータをベースバンドLSI102でデジタル信号からアナログ信号に変換し、RFアンプ103で増幅した後、アンテナ104からデータを発信する。   When the mobile phone terminal system performs communication, data output from the application LSI 101 is converted from a digital signal to an analog signal by the baseband LSI 102, amplified by the RF amplifier 103, and then transmitted from the antenna 104.

たとえば、電子決済データを携帯電話端末からサーバに送信する際には、事前に交換された共通鍵を用いて、共通鍵暗号方式であるAES(Advanced Encryption Standard)によりデータを暗号化してから送信を行う。   For example, when transmitting electronic payment data from a mobile phone terminal to a server, the data is encrypted after being encrypted using AES (Advanced Encryption Standard), which is a common key encryption method, using a common key exchanged in advance. Do.

本実施の形態の携帯電話端末システムにおいて、電子決済データをAES暗号化するために、アプリケーションLSI101内のCPU106は再構成可能回路107を用いる。   In the mobile phone terminal system of this embodiment, the CPU 106 in the application LSI 101 uses a reconfigurable circuit 107 in order to AES-encrypt electronic payment data.

図2は、再構成可能回路107の構成例を示すブロック図である。   FIG. 2 is a block diagram illustrating a configuration example of the reconfigurable circuit 107.

図2に示すように、再構成可能回路107は、たとえば、2次元状に縦m行・横n列に配列されたプロセッシングエレメント(PE)301〜309と、四方の隣接するPEどうし、PEとレジスタ109を接続する配線から成る。なお、m,nは自然数であり、図2では、複数のPEを一部省略してPE301〜309のみを示している。   As shown in FIG. 2, the reconfigurable circuit 107 includes, for example, processing elements (PE) 301 to 309 arranged two-dimensionally in vertical m rows and horizontal n columns, four adjacent PEs, and PEs. It consists of wiring connecting the register 109. Note that m and n are natural numbers, and FIG. 2 shows only PEs 301 to 309 with some of the PEs omitted.

図3は、プロセッシングエレメント(PE)301〜309の各構成例を示すブロック図である。   FIG. 3 is a block diagram illustrating each configuration example of the processing elements (PE) 301 to 309.

図3に示すように、プロセッシングエレメント(PE)301〜309のそれぞれは、隣り合う上下左右のPEと接続される32ビット幅の配線の入出力N,S,W,Eと、ALU403と、フリップフロップ404と、データパスを切り替えるマルチプレクサ(MUX)401,402,405と、デマルチプレクサ(DMUX)406から成る。マルチプレクサ401,402の入力、デマルチプレクサ406の出力N,E,W,SはそれぞれPEの入出力N,E,W,Sに接続されている。マルチプレクサ401,402,405とデマルチプレクサ406の制御信号を切り替えることにより、PE内のデータフローおよび隣接するPEとの接続関係を制御することができる。ALU403の機能と、データパスを切り替えるマルチプレクサ401,402,405とデマルチプレクサ406は、図1および図2に示したコントローラ108によって制御されている。これにより各PE間、PEとレジスタ109間のデータパス、PE内の機能を制御することができる。   As shown in FIG. 3, each of the processing elements (PE) 301 to 309 includes input / output N, S, W, E of 32-bit width wiring connected to adjacent upper, lower, left, and right PEs, an ALU 403, and a flip-flop. 403, a multiplexer (MUX) 401, 402, 405 for switching data paths, and a demultiplexer (DMUX) 406. The inputs of the multiplexers 401 and 402 and the outputs N, E, W, and S of the demultiplexer 406 are connected to the PE inputs and outputs N, E, W, and S, respectively. By switching the control signals of the multiplexers 401, 402, 405 and the demultiplexer 406, the data flow in the PE and the connection relationship with the adjacent PE can be controlled. The functions of the ALU 403 and the multiplexers 401, 402, 405 and the demultiplexer 406 for switching the data path are controlled by the controller 108 shown in FIGS. As a result, the data path between the PEs, the data path between the PEs and the registers 109, and the functions within the PEs can be controlled.

構成情報とは、各PE間、PEとレジスタ109間のデータパス、PE内の機能を決めるパラメータである。CPU106は、この構成情報に基づいて、コントローラ108の制御レジスタを設定することにより、再構成可能回路107の回路を再構成することができる。   The configuration information is a parameter that determines the data path between the PEs, the data path between the PEs and the register 109, and the functions in the PEs. The CPU 106 can reconfigure the circuit of the reconfigurable circuit 107 by setting the control register of the controller 108 based on this configuration information.

次に、CPU106が再構成可能回路107を制御して、暗号演算処理を実行するフローを説明する。図4は、CPU106による暗号演算処理フローを示すフローチャートである。   Next, a flow in which the CPU 106 controls the reconfigurable circuit 107 and executes cryptographic calculation processing will be described. FIG. 4 is a flowchart showing the cryptographic operation processing flow by the CPU 106.

図4に示されるように、ステップS501でCPU106が暗号演算処理の実行を開始すると、ROM112から1つの構成情報を読み出す(ステップS502)。そして、読み出した構成情報に基づいて、再構成可能回路107の制御を行うコントローラ108に設定を行い、回路を再構成する(ステップS503)。さらにCPU106はRAM111に記憶されているデータを再構成可能回路107のレジスタ109にコピーし(ステップS504)、再構成可能回路107に処理開始を指示する(ステップS505)。たとえば、コントローラ108に演算処理イネーブルビットを用意し、CPU106からこのビットに“1”を書き込むことで、処理を実行するようにできる。   As shown in FIG. 4, when the CPU 106 starts executing the cryptographic operation processing in step S501, one piece of configuration information is read from the ROM 112 (step S502). Based on the read configuration information, the controller 108 that controls the reconfigurable circuit 107 is set, and the circuit is reconfigured (step S503). Further, the CPU 106 copies the data stored in the RAM 111 to the register 109 of the reconfigurable circuit 107 (step S504), and instructs the reconfigurable circuit 107 to start processing (step S505). For example, processing can be executed by preparing an arithmetic processing enable bit in the controller 108 and writing “1” to this bit from the CPU 106.

再構成可能回路107は、CPU106からの処理開始指示により、レジスタ109からデータを読み込み(ステップS510)、既に暗号演算処理を行うように再構成された回路で、レジスタ109から読み込んだデータを暗号演算処理し(ステップS511)、暗号演算処理を行ったデータをレジスタ109に書き戻し(ステップS512)、CPU106に割り込み要求を送信する(ステップS513)。   The reconfigurable circuit 107 reads data from the register 109 in response to a processing start instruction from the CPU 106 (step S510). The reconfigurable circuit 107 is a circuit that has been reconfigured so as to perform cryptographic calculation processing. Processing (step S511), the data subjected to the cryptographic operation processing is written back to the register 109 (step S512), and an interrupt request is transmitted to the CPU 106 (step S513).

CPU106は、割り込み要求を受信する(ステップS506)と、レジスタ109から処理の完了したデータをRAM111にコピーし(ステップS507)、一連の処理のフローを終了する(ステップS508)。   When the CPU 106 receives the interrupt request (step S506), it copies the processed data from the register 109 to the RAM 111 (step S507), and ends the series of processing flow (step S508).

以下、実際に暗号演算処理を行う論理回路の構成と処理の一例を説明する。図5は、再構成可能回路107で再構成された回路構成例を示すブロック図である。図5に示す再構成可能回路107aは、再構成可能回路107に、乱数発生器201と、スイッチとしてのマルチプレクサ(MUX)202およびデマルチプレクサ(DMUX)203と、スイッチによって選択される等価な複数の論理回路204〜207を構成した例を示す。   An example of the configuration and processing of a logic circuit that actually performs cryptographic operation processing will be described below. FIG. 5 is a block diagram illustrating a circuit configuration example reconfigured by the reconfigurable circuit 107. The reconfigurable circuit 107a shown in FIG. 5 includes a random number generator 201, a multiplexer (MUX) 202 and a demultiplexer (DMUX) 203 as switches, and a plurality of equivalent multiples selected by the switches. The example which comprised the logic circuits 204-207 is shown.

暗号演算処理は複雑なものもあり、再構成可能回路の回路規模によってはアルゴリズム全体を1度に実行できない場合も少なくない。この場合には、アルゴリズムを分割し、部分ごとに処理を実行し、処理が完了するたびに、再構成可能回路をCPUから前記の通りに再構成することで、全体の処理を実行することができる。1つの構成情報は、たとえば図5に示されるように、乱数発生器(RND)201と、4つの等価な論理回路(LOG1〜4)204〜207と、乱数発生器201から発生された乱数により論理回路204〜207を選択するマルチプレクサ(MUX)202とデマルチプレクサ(DMUX)203からなるスイッチとを再構成可能回路107aに構成するためのパラメータである。   The cryptographic operation processing is complicated, and depending on the circuit scale of the reconfigurable circuit, there are many cases where the entire algorithm cannot be executed at once. In this case, the entire process can be executed by dividing the algorithm, executing the process for each part, and reconfiguring the reconfigurable circuit from the CPU as described above each time the process is completed. it can. For example, as shown in FIG. 5, one piece of configuration information includes a random number generator (RND) 201, four equivalent logic circuits (LOG 1 to 4) 204 to 207, and random numbers generated from the random number generator 201. This is a parameter for configuring a switch composed of the multiplexer (MUX) 202 and the demultiplexer (DMUX) 203 for selecting the logic circuits 204 to 207 in the reconfigurable circuit 107a.

ただし、データの入力に対してデータを出力する論理回路AとBが等価な回路であるとは、回路Aの出力と回路Bの出力が想定される範囲の各入力に対して演算結果が等しいことである。すなわち、等価とは、ある値に対する演算結果が同じであることをいう。たとえば、等価な2つの回路は演算結果が等しければよく、演算結果が確定するタイミングは異なっていても構わない。等価な論理回路を複数有することにより、同一の演算に対しても異なる消費電力波形とすることができる。   However, if the logic circuits A and B that output data with respect to data input are equivalent circuits, the calculation result is equal for each input in a range where the output of the circuit A and the output of the circuit B are assumed. That is. That is, “equivalent” means that the calculation result for a certain value is the same. For example, two equivalent circuits need only have the same calculation result, and the timing at which the calculation result is determined may be different. By having a plurality of equivalent logic circuits, different power consumption waveforms can be obtained for the same operation.

なお、1つの構成情報で構成される等価な回路の個数は2つ以上の複数であればよく、図5のように4つ(LOG1〜4)でなくても構わない。   Note that the number of equivalent circuits configured by one piece of configuration information may be two or more, and may not be four (LOG1 to LOG4) as shown in FIG.

このように本願発明は、プロセッシングエレメント(PE)の接続関係を切り替えることにより構成された、複数の論理回路(LOG1〜LOG4)及び複数の論理回路を切り替えるためのスイッチ回路としてのデマルチプレクサ(DMUX)及びマルチプレクサ(MUX)とを再構成可能回路(RECONF)内に有し、乱数発生器(RND)からの乱数RNDにより、どの論理回路に演算を行わせるかをスイッチ回路を用いて切り替えることを特徴とする。   As described above, according to the present invention, a plurality of logic circuits (LOG1 to LOG4) and a demultiplexer (DMUX) as a switch circuit for switching between the plurality of logic circuits are configured by switching the connection relationship of the processing elements (PE). And a multiplexer (MUX) in a reconfigurable circuit (RECONF), and which logic circuit is to be operated by a random number RND from a random number generator (RND) is switched using a switch circuit And

この特徴により、演算を行わせる際に用いる論理回路を乱数を用いてランダムに選択することが可能になるため、同一のデータを処理する際にも、消費電力波形等は同一にならず、また予測もできない。そのため、消費電力解析及びタイミング解析等による不正な解読を防止することが可能となる。この詳細については、図13を用いて後述する。   This feature makes it possible to randomly select a logic circuit to be used when performing an operation using a random number. Therefore, even when processing the same data, the power consumption waveform is not the same, and It cannot be predicted. Therefore, it is possible to prevent unauthorized decoding by power consumption analysis and timing analysis. Details of this will be described later with reference to FIG.

ここで、本実施例の乱数発生器(RND)は、プロセッシングエレメント(PE)を用いて構成することができる。また、乱数発生器は、CPUを介さずに直接再構成可能回路(RECONF)に乱数を送付することができる。これらの特徴により本実施例は、再構成可能回路(RECONF)の外部に乱数発生器を配置し外部から乱数を伝送する場合と比較して、乱数を伝送する経路自体を不正に解析されることを防ぐことが可能となる。   Here, the random number generator (RND) of the present embodiment can be configured using a processing element (PE). In addition, the random number generator can send the random number directly to the reconfigurable circuit (RECONF) without going through the CPU. Due to these characteristics, the present embodiment can illegally analyze the path for transmitting the random number as compared with the case where the random number generator is arranged outside the reconfigurable circuit (RECONF) and the random number is transmitted from the outside. Can be prevented.

次に図5および図6により、CPU106から構成情報が設定された後の再構成可能回路107aの処理フローを説明する。図6は、再構成された再構成可能回路107aの動作例を示すタイミングチャートである。   Next, a processing flow of the reconfigurable circuit 107a after configuration information is set from the CPU 106 will be described with reference to FIGS. FIG. 6 is a timing chart showing an operation example of the reconfigured reconfigurable circuit 107a.

再構成可能回路107aの処理開始がCPU106のイネーブルビット(ENB)書き込みで指示されると、再構成可能回路107a内に構成された乱数発生器201が乱数(RND)を生成し始める。図6で、RNDはたとえば4クロックサイクルごとに1つずつH、I、J、Kと乱数を出力している。この乱数がマルチプレクサ202、デマルチプレクサ203の制御信号に入力されて、複数の等価な論理回路(LOG1〜4)204〜207が切り替わる。図6では、順に論理回路LOG1、LOG2、LOG3、LOG4が選択されている。   When the processing start of the reconfigurable circuit 107a is instructed by writing the enable bit (ENB) of the CPU 106, the random number generator 201 configured in the reconfigurable circuit 107a starts to generate a random number (RND). In FIG. 6, the RND outputs H, I, J, K, and random numbers, for example, every 4 clock cycles. The random numbers are input to the control signals of the multiplexer 202 and the demultiplexer 203, and a plurality of equivalent logic circuits (LOG1 to LOG4) 204 to 207 are switched. In FIG. 6, logic circuits LOG1, LOG2, LOG3, and LOG4 are selected in order.

たとえば、図5の乱数発生器201から出力された乱数に基づいてマルチプレクサ202、デマルチプレクサ203を切り替えることにより、等価な論理回路204〜207のうちの一つの回路が選択される。   For example, one of the equivalent logic circuits 204 to 207 is selected by switching the multiplexer 202 and the demultiplexer 203 based on the random number output from the random number generator 201 of FIG.

さらに、複数の等価な論理回路204〜207から1つが選択されたタイミングの次のクロックの立ち上がり時に、データの処理がこの選択された論理回路内で実行される。   Further, data processing is executed in the selected logic circuit at the rising edge of the clock next to the timing when one of the plurality of equivalent logic circuits 204 to 207 is selected.

たとえば、3つのデータが逐次的に実行される場合、各データごとにこのような論理回路の切り替えが行われる。3つのデータが順にLOG1、LOG2、LOG3の論理回路で処理され、すべてのデータの処理が完了すると、コントローラ108は割込み信号INTを発信し、一連の処理を終了する。   For example, when three pieces of data are sequentially executed, such logic circuit switching is performed for each piece of data. The three data are sequentially processed by the logic circuits of LOG1, LOG2, and LOG3. When the processing of all the data is completed, the controller 108 issues an interrupt signal INT and ends the series of processing.

データの処理が終了すると、図1のコントローラ108から割込みコントローラ110に割込み信号を発生させ、再構成可能回路の暗号演算処理を終了する。   When the data processing is completed, an interrupt signal is generated from the controller 108 of FIG. 1 to the interrupt controller 110, and the cryptographic operation processing of the reconfigurable circuit is completed.

次に図7を用いて、乱数発生器201の構成例を説明する。図7は再構成可能回路の一部に論理構成情報に基づいて実現される論理構成例を示すブロック図である。図7は乱数発生器201の構成例を示している。   Next, a configuration example of the random number generator 201 will be described with reference to FIG. FIG. 7 is a block diagram illustrating an example of a logical configuration realized based on logical configuration information in a part of the reconfigurable circuit. FIG. 7 shows a configuration example of the random number generator 201.

図7において、601〜607はそれぞれ再構成可能回路107aのPEの1つを設定することで実現され、601〜607であらわされる演算回路は再構成可能回路上に実現される。601から606は32ビットの算術演算ユニットALUであり、設定にしたがって各種算術演算、論理演算、ビット操作などを行うことができる。PE(NOT)601はビット反転、PE(8−bit ROTL)602は8ビット左回転、PE(THR)603はデータ通過、PE(STR 0x000F)604は即値0x000Fのストア、PE(XOR)605は排他的論理和、PE(AND)606は論理積、PE(FF)607はフリップフロップであり、図7のように接続される。PE(FF)607からは、乱数RNDが出力される。   In FIG. 7, reference numerals 601 to 607 are realized by setting one of the PEs of the reconfigurable circuit 107a, and the arithmetic circuit represented by 601 to 607 is realized on the reconfigurable circuit. Reference numerals 601 to 606 denote 32-bit arithmetic operation units ALU, which can perform various arithmetic operations, logical operations, bit operations, and the like according to settings. PE (NOT) 601 is bit inverted, PE (8-bit ROTL) 602 is 8-bit counterclockwise rotation, PE (THR) 603 is data passing, PE (STR 0x000F) 604 is an immediate value 0x000F store, and PE (XOR) 605 is An exclusive OR, PE (AND) 606 is a logical product, and PE (FF) 607 is a flip-flop, which are connected as shown in FIG. A random number RND is output from the PE (FF) 607.

図7のように構成される論理回路を詳細に記述すると、図8のようになる。   The logic circuit configured as shown in FIG. 7 is described in detail as shown in FIG.

それぞれ、図7の601〜607が、図8の701〜707に対応している。“0”との排他的論理和と、“1”との論理積とはデータ通過と同じ動作であり、“1”との排他的論理和はインバータ、“0”との論理積はデータマスクと同じ動作である。これらを書き下すと、図9のようになる。なお、図9は再構成可能回路の一部に論理構成情報に基づいて実現される論理構成例を示す回路図である。   7, 601 to 607 in FIG. 7 correspond to 701 to 707 in FIG. An exclusive OR with “0” and a logical product with “1” are the same operation as data passing, an exclusive OR with “1” is an inverter, and a logical product with “0” is a data mask. Is the same operation. These are written as shown in FIG. FIG. 9 is a circuit diagram illustrating a logical configuration example realized based on logical configuration information in a part of the reconfigurable circuit.

したがって、図9の論理回路(701〜703,705〜707)は、図10の論理回路(801〜806)で表される。図10において、801,803,804,805は701に、802は705に、806は707に、それぞれ対応している。図9の論理回路は、図10に示すように5個のインバータ801〜805と、1個のフリップフロップ806とからなるリングオシレータを8本形成する。   Therefore, the logic circuits (701 to 703, 705 to 707) in FIG. 9 are represented by the logic circuits (801 to 806) in FIG. In FIG. 10, 801, 803, 804, and 805 correspond to 701, 802 corresponds to 705, and 806 corresponds to 707, respectively. The logic circuit of FIG. 9 forms eight ring oscillators including five inverters 801 to 805 and one flip-flop 806 as shown in FIG.

奇数個のインバータ801〜805からなるリングオシレータは最終段のインバータ805の出力が初段のインバータ801の入力に接続されており、初段入力の論理否定を最終段のインバータ805が出力し、これが初段入力に再び入力され、初段入力の値が論理否定される。このことにより、リングオシレータは発振することになる。   In the ring oscillator composed of an odd number of inverters 801 to 805, the output of the final stage inverter 805 is connected to the input of the first stage inverter 801, and the final stage inverter 805 outputs the logical negation of the first stage input. The first input value is logically negated. As a result, the ring oscillator oscillates.

製造時のトランジスタ特性のばらつきや熱雑音などによって各ゲートの遅延時間に微小な変化が生じ、リングオシレータの発振周波数が変化する。これを用いて、観測者からは予測不可能な真性乱数を発生させることができる。   A minute change occurs in the delay time of each gate due to variations in transistor characteristics during manufacture, thermal noise, and the like, and the oscillation frequency of the ring oscillator changes. This can be used to generate true random numbers that cannot be predicted by the observer.

フリップフロップであるPE707の出力の下位8ビットは、8ビット幅の乱数を発生する。   The lower 8 bits of the output of PE707, which is a flip-flop, generates an 8-bit random number.

AES暗号方式は8ビットのデータをガロア体GF(256)の元と同一視している。なお、特に断りのない限りこれを16進数で表示することにする。   The AES encryption scheme identifies 8-bit data as the Galois field GF (256) element. Unless otherwise specified, this is displayed in hexadecimal.

ガロア体の積演算を実行する、等価な論理回路を複数有するような構成情報を用意し、AES暗号演算処理のS−BOXとよばれるステップを安全に実行する。   Configuration information that includes a plurality of equivalent logic circuits that execute Galois field product operations is prepared, and a step called S-BOX of the AES cryptographic operation processing is executed safely.

ガロア体の逆元を求める回路として、たとえば非特許文献4に記載された回路構成があり、ガロア体の元の2乗回路がその基本となる。ガロア体の積は任意の元と0x02との積演算と和の組合せで実現できる。   As a circuit for obtaining the inverse element of the Galois field, for example, there is a circuit configuration described in Non-Patent Document 4, and the square circuit of the Galois field element is the basis. A Galois field product can be realized by a combination of a product operation and a sum of an arbitrary element and 0x02.

図11および図12に、図5で示した複数の等価な論理回路204〜207の構成例を示す。図11および図12は、入力データDに対して、ガロア体の積演算の基本となる0x02×Dを出力する等価な論理回路である。ここで、本明細書においては、ガロア体の積演算を、記号×を用いて表す。図11において、1001〜1004はそれぞれ再構成可能回路のPEの1つを設定することで実現され、1001〜1004で表わされる演算回路は再構成可能回路107上に実現される。同様に、図12において、1101〜1108はそれぞれ再構成可能回路107のPEの1つを設定することで実現され、1101〜1108で表わされる演算回路は再構成可能回路107上に実現される。しかし、入力から出力までに通過するゲートの段数や構成が異なるため、処理時間や消費電力は異なる。   11 and 12 show configuration examples of the plurality of equivalent logic circuits 204 to 207 shown in FIG. 11 and 12 are equivalent logic circuits that output 0x02 × D, which is the basis of Galois field product operation, for input data D. FIG. Here, in this specification, a Galois field product operation is expressed using the symbol x. In FIG. 11, 1001 to 1004 are realized by setting one of the PEs of the reconfigurable circuit, and the arithmetic circuit represented by 1001 to 1004 is realized on the reconfigurable circuit 107. Similarly, in FIG. 12, 1101 to 1108 are realized by setting one of the PEs of the reconfigurable circuit 107, and the arithmetic circuit represented by 1101 to 1108 is realized on the reconfigurable circuit 107. However, the processing time and power consumption are different because the number of gates passing from the input to the output and the configuration are different.

図11において、PE(Left 1−bit Shift)1001は1ビット左シフト、PE(STR 0x117)1002は即値0x117をストア、PE(XOR)1003は排他的論理和、PE(MUX)1004はPE(Left 1−bit Shift)1001の出力信号のビット7によって制御されるマルチプレクサをそれぞれ表している。   In FIG. 11, PE (Left 1-bit Shift) 1001 shifts 1 bit to the left, PE (STR 0x117) 1002 stores the immediate value 0x117, PE (XOR) 1003 is exclusive OR, and PE (MUX) 1004 is PE ( Each of the multiplexers controlled by bit 7 of the output signal of Left 1-bit Shift) 1001 is shown.

図12において、PE(STR 0x55)1101は即値0x55をストア、PE(Left 1−bit Shift)1102は左1ビットシフト、PE(STR 0x117)1103は即値0x117をストア、PE(XOR)1104は排他的論理和、PE(Left 1−bit Shift)1105は左1ビットシフト、PE(XOR)1106は排他的論理和、PE(MUX)1107は入力Dのビット7によって制御されるマルチプレクサ、PE(XOR)1108は排他的論理和をそれぞれ表している。   In FIG. 12, PE (STR 0x55) 1101 stores immediate value 0x55, PE (Left 1-bit Shift) 1102 shifts 1 bit to the left, PE (STR 0x117) 1103 stores immediate value 0x117, and PE (XOR) 1104 is exclusive. PE (Left 1-bit Shift) 1105 is shifted by 1 bit to the left, PE (XOR) 1106 is an exclusive OR, PE (MUX) 1107 is a multiplexer controlled by bit 7 of input D, PE (XOR ) 1108 represents exclusive OR.

たとえば、図12のPE1101において、即値0x55をストアする命令の代わりに、乱数発生器から発生させられた8ビットの乱数をそのまま出力することにしても、図12の回路はDに対してガロア体の積0x02×Dを実行する図11の回路と等価な論理回路になる。このとき、この論理回路は乱数との演算をデータパスに加えた回路で、かつ図11と等価な論理回路である。   For example, in the PE 1101 of FIG. 12, even if the 8-bit random number generated from the random number generator is output as it is instead of the instruction for storing the immediate value 0x55, the circuit of FIG. This is a logic circuit equivalent to the circuit of FIG. 11 that executes the product 0x02 × D. At this time, this logic circuit is a circuit in which an operation with a random number is added to the data path, and is a logic circuit equivalent to FIG.

このように、PE1101の値は、演算結果0x02×Dの値に影響を与えないため、PE1101を乱数の入力として用いることができる。従って、図11及び12に記載の発明は、データの入力Dと、乱数の入力として扱うことが可能な入力PE1101とを有することを特徴とする。この特徴により、同一の演算を行う際にも乱数を並行してデータパスに流すことが可能となるため、より消費電力波形等をランダムなものとすることができるため、より不正な解析を防止することが可能となる。   Thus, since the value of PE 1101 does not affect the value of the operation result 0x02 × D, PE 1101 can be used as a random number input. Therefore, the invention described in FIGS. 11 and 12 is characterized by having the data input D and the input PE 1101 that can be handled as a random number input. Because of this feature, random numbers can flow in the data path in parallel even when performing the same operation, so the power consumption waveform etc. can be made more random, preventing unauthorized analysis. It becomes possible to do.

図13に、1つの論理回路でデータを処理した場合の消費電力波形W01〜W04と、複数の等価な論理回路を構成し、乱数発生器から発生させられた乱数に基づいて論理回路を切り替えながらデータを処理した場合の消費電力波形W11〜W14を示す。同じ論理回路でデータ処理の実行を続けた場合、同一データの処理を実行する際の消費電力波形は毎回同じになると考えられる。たとえば、データAを処理した際の波形W01とW04は同一である。   FIG. 13 shows power consumption waveforms W01 to W04 when data is processed by one logic circuit and a plurality of equivalent logic circuits, and the logic circuits are switched based on random numbers generated from a random number generator. The power consumption waveforms W11 to W14 when data is processed are shown. If data processing is continuously executed by the same logic circuit, it is considered that the power consumption waveform when the same data processing is executed is the same every time. For example, waveforms W01 and W04 when data A is processed are the same.

一方、データ処理のたびに複数の等価な論理回路をランダムに切り替えて選択し、データを処理した場合には、同じデータを処理した場合でも、実際の処理に用いられている回路が異なるため、波形は同一とは限らず、また予測もできない。たとえば、データAを処理した際の波形W11とW14は異なる波形である。   On the other hand, when selecting and selecting a plurality of equivalent logic circuits at random for each data processing and processing the data, even if the same data is processed, the circuit used in the actual processing is different, The waveforms are not always the same and cannot be predicted. For example, waveforms W11 and W14 when data A is processed are different waveforms.

これによって、再構成可能回路を再構成する際に用いられた構成情報が読み取られたとしても、消費電力波形から、処理したデータの特定を行うことが非常に困難になる。   This makes it very difficult to identify the processed data from the power consumption waveform even if the configuration information used when reconfiguring the reconfigurable circuit is read.

したがって、本実施の形態の情報処理装置によれば、再構成可能回路の内部で乱数が発生および消滅させられているため、同一の処理を行う複数の論理回路の選択およびその選択に用いられた乱数を外部から観測することができなくなる。したがって、暗号処理に用いた再構成可能回路の構成情報が攻撃者によって読み出されて解析された場合でも、実際に処理を実行した回路がいずれであるかを判別することができず、電力解析、タイミング解析が非常に困難になり、消費電力解析およびタイミング解析による不正な解読を防止することができる。   Therefore, according to the information processing apparatus of the present embodiment, random numbers are generated and extinguished inside the reconfigurable circuit, and thus used for selecting and selecting a plurality of logic circuits performing the same processing. Random numbers cannot be observed from outside. Therefore, even if the configuration information of the reconfigurable circuit used for cryptographic processing is read and analyzed by an attacker, it is not possible to determine which circuit actually executed the process, and power analysis Timing analysis becomes very difficult, and unauthorized decoding by power consumption analysis and timing analysis can be prevented.

また、これらを専用ハードウェアで実装する場合には、複数の論理回路を実際の回路として用意しなければならず、論理規模が非常に大きくなってしまうが、再構成可能回路を用いることにより、規模を大きくすることなく、より堅牢な暗号処理を可能にしている。   In addition, when these are implemented with dedicated hardware, a plurality of logic circuits must be prepared as actual circuits, and the logic scale becomes very large, but by using a reconfigurable circuit, It enables more robust cryptographic processing without increasing the scale.

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

本発明は、半導体装置、特に暗号演算処理を行う半導体装置に有効である。   The present invention is effective for a semiconductor device, particularly a semiconductor device that performs cryptographic operation processing.

本発明の一実施の形態による情報処理装置において、携帯電話端末システムの構成例を示すブロック図である。1 is a block diagram illustrating a configuration example of a mobile phone terminal system in an information processing apparatus according to an embodiment of the present invention. 本発明の一実施の形態による情報処理装置において、再構成可能回路の構成例を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration example of a reconfigurable circuit in the information processing apparatus according to the embodiment of the present invention. 本発明の一実施の形態による情報処理装置において、プロセッシングエレメント(PE)の各構成例を示すブロック図である。It is a block diagram which shows each structural example of a processing element (PE) in the information processing apparatus by one embodiment of this invention. 本発明の一実施の形態による情報処理装置において、CPUによる暗号演算処理フローを示すフローチャートである。5 is a flowchart showing a cryptographic operation processing flow by a CPU in the information processing apparatus according to the embodiment of the present invention. 本発明の一実施の形態による情報処理装置において、再構成可能回路で再構成された回路構成例を示すブロック図である。It is a block diagram which shows the example of a circuit structure reconfigure | reconstructed with the reconfigurable circuit in the information processing apparatus by one embodiment of this invention. 本発明の一実施の形態による情報処理装置において、再構成された再構成可能回路の動作例を示すタイミングチャートである。6 is a timing chart illustrating an operation example of a reconfigurable circuit that is reconfigured in the information processing apparatus according to the embodiment of the present invention. 本発明の一実施の形態による情報処理装置において、再構成可能回路の一部に論理構成情報に基づいて実現される論理構成例を示すブロック図である。FIG. 3 is a block diagram illustrating an example of a logical configuration realized based on logical configuration information in a part of a reconfigurable circuit in the information processing apparatus according to the embodiment of the present invention. 本発明の一実施の形態による情報処理装置において、再構成可能回路の一部に論理構成情報に基づいて実現される論理構成例を示す回路図である。FIG. 3 is a circuit diagram showing an example of a logical configuration realized based on logical configuration information in a part of a reconfigurable circuit in the information processing apparatus according to the embodiment of the present invention. 本発明の一実施の形態による情報処理装置において、再構成可能回路の一部に論理構成情報に基づいて実現される論理構成例を示す回路図である。FIG. 3 is a circuit diagram showing an example of a logical configuration realized based on logical configuration information in a part of a reconfigurable circuit in the information processing apparatus according to the embodiment of the present invention. 本発明の一実施の形態による情報処理装置において、再構成可能回路の一部に論理構成情報に基づいて実現される論理構成例を示す回路図である。FIG. 3 is a circuit diagram showing an example of a logical configuration realized based on logical configuration information in a part of a reconfigurable circuit in the information processing apparatus according to the embodiment of the present invention. 本発明の一実施の形態による情報処理装置において、再構成可能回路の一部に論理構成情報に基づいて実現される論理構成例を示すブロック図である。FIG. 3 is a block diagram illustrating an example of a logical configuration realized based on logical configuration information in a part of a reconfigurable circuit in the information processing apparatus according to the embodiment of the present invention. 本発明の一実施の形態による情報処理装置において、再構成可能回路の一部に論理構成情報に基づいて実現される論理構成例を示すブロック図である。FIG. 3 is a block diagram illustrating an example of a logical configuration realized based on logical configuration information in a part of a reconfigurable circuit in the information processing apparatus according to the embodiment of the present invention. 本発明の一実施の形態による情報処理装置において、再構成可能回路に構成情報に基づいて実現される論理回路の消費電力値の一例を示す波形図である。FIG. 6 is a waveform diagram illustrating an example of a power consumption value of a logic circuit realized in a reconfigurable circuit based on configuration information in the information processing apparatus according to the embodiment of the present invention.

符号の説明Explanation of symbols

101 アプリケーションLSI
102 ベースバンドLSI(Base Band LSI)
103 RFアンプ(RF)
104 アンテナ
105 外部メモリ(Memory)
106 CPU
107,107a 再構成可能回路(RECONF)
108 コントローラ(CTR)
109 レジスタ(REG)
110 割込みコントローラ(INT)
111 RAM
112 ROM
113 インターフェース(I/F)
114 システムバス
201 乱数発生器(RND)
202,401,402,405 マルチプレクサ(MUX)
203,406 デマルチプレクサ(DMUX)
204〜207 論理回路
301〜309,601〜607,701〜707,1001〜1004,1101〜1108 プロセッシングエレメント(PE)
403 ALU
404,806 フリップフロップ
801〜805 インバータ(INV)
101 Application LSI
102 Baseband LSI
103 RF amplifier (RF)
104 Antenna 105 External memory (Memory)
106 CPU
107, 107a Reconfigurable circuit (RECONF)
108 Controller (CTR)
109 register (REG)
110 Interrupt controller (INT)
111 RAM
112 ROM
113 Interface (I / F)
114 System Bus 201 Random Number Generator (RND)
202, 401, 402, 405 Multiplexer (MUX)
203,406 Demultiplexer (DMUX)
204-207 Logic circuits 301-309, 601-607, 701-707, 1001-1004, 1101-1108 Processing elements (PE)
403 ALU
404,806 flip-flops 801-805 inverter (INV)

Claims (7)

複数のプロセッシングエレメントの接続関係を切り替えることにより構成される、第1論理回路、第2論理回路及びスイッチ回路を有する再構成可能回路と、
乱数発生器とを有し、
前記スイッチ回路は、前記乱数発生器で生成された乱数に基づいて前記第1論理回路と前記第2論理回路のどちらに演算を行わせるかを切り替えることを特徴とする情報処理装置。
A reconfigurable circuit having a first logic circuit, a second logic circuit, and a switch circuit configured by switching a connection relationship of a plurality of processing elements;
A random number generator,
The information processing apparatus, wherein the switch circuit switches between the first logic circuit and the second logic circuit based on the random number generated by the random number generator.
請求項1記載の情報処理装置において、
前記乱数発生器は、前記再構成可能回路内に設けられ、前記複数のプロセッシングエレメントの接続関係を切り替えることにより構成されることを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
The information processing apparatus, wherein the random number generator is provided in the reconfigurable circuit, and is configured by switching a connection relationship of the plurality of processing elements.
請求項1記載の情報処理装置において、
前記乱数発生器は、CPUを介さずに前記再構成可能回路に前記乱数を伝送することを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
The information processing apparatus, wherein the random number generator transmits the random number to the reconfigurable circuit without using a CPU.
請求項1記載の情報処理装置において、
前記第1論理回路と前記第2論理回路とは、等価な論理回路であることを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
The information processing apparatus, wherein the first logic circuit and the second logic circuit are equivalent logic circuits.
請求項1記載の情報処理装置において、
前記第1論理回路及び第2論理回路は、データを入力するための第1入力と、前記乱数発生器で発生される第2入力とを有し、前記第2入力の値によらず前記第1入力の値に対して前記演算を行うことを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
The first logic circuit and the second logic circuit have a first input for inputting data and a second input generated by the random number generator, and the first logic circuit and the second logic circuit are independent of the value of the second input. An information processing apparatus that performs the calculation on a value of one input.
請求項1記載の情報処理装置において、
前記演算は、暗号処理であることを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
The information processing apparatus is characterized in that the calculation is cryptographic processing.
請求項1記載の情報処理装置において、
前記再構成可能回路内に構成された前記第1及び第2論理回路を実現する構成情報を格納したROMと、
前記再構成可能回路の構成情報を前記ROMから読み出し、前記再構成可能回路に前記第1及び第2論理回路を構成させるCPUとをさらに有することを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
A ROM storing configuration information for realizing the first and second logic circuits configured in the reconfigurable circuit;
An information processing apparatus, further comprising: a CPU that reads configuration information of the reconfigurable circuit from the ROM and causes the reconfigurable circuit to configure the first and second logic circuits.
JP2008177879A 2008-07-08 2008-07-08 Information processing apparatus Pending JP2010021624A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008177879A JP2010021624A (en) 2008-07-08 2008-07-08 Information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008177879A JP2010021624A (en) 2008-07-08 2008-07-08 Information processing apparatus

Publications (1)

Publication Number Publication Date
JP2010021624A true JP2010021624A (en) 2010-01-28

Family

ID=41706124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008177879A Pending JP2010021624A (en) 2008-07-08 2008-07-08 Information processing apparatus

Country Status (1)

Country Link
JP (1) JP2010021624A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127938A (en) * 2020-01-14 2021-07-16 新唐科技股份有限公司 Secure integrated circuit and method therefor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127938A (en) * 2020-01-14 2021-07-16 新唐科技股份有限公司 Secure integrated circuit and method therefor
JP2021111410A (en) * 2020-01-14 2021-08-02 新唐科技股▲ふん▼有限公司 Secure integrated circuits and their methods
JP7061207B2 (en) 2020-01-14 2022-04-27 新唐科技股▲ふん▼有限公司 Secure integrated circuit and its method
CN113127938B (en) * 2020-01-14 2023-05-12 新唐科技股份有限公司 Secure integrated circuit and method thereof

Similar Documents

Publication Publication Date Title
Glamocanin et al. Are cloud FPGAs really vulnerable to power analysis attacks?
CN101206816B (en) Arithmetic processing device and arithmetic processing control method
CN100583039C (en) System and method for selecting a random processor to boot on a multiprocessor system
Rahimunnisa et al. FPGA implementation of AES algorithm for high throughput using folded parallel architecture
Huang et al. Trace buffer attack: Security versus observability study in post-silicon debug
WO2015145487A1 (en) Clock phase control circuit
Shuyu et al. A low-overhead PUF for anti-clone attack of RFID tags
JP5188414B2 (en) Information processing apparatus, information processing method, and program
Moradi et al. Dual-rail transition logic: A logic style for counteracting power analysis attacks
US20110154062A1 (en) Protection of electronic systems from unauthorized access and hardware piracy
Zhao et al. A lightweight hardware-assisted security method for efpga edge devices
Chhabra et al. Hardware obfuscation of aes ip core using pufs and prng: A secure cryptographic key generation solution for internet-of-things applications
Pirpilidis et al. On the effects of ring oscillator length and hardware Trojan size on an FPGA-based implementation of AES
JP2003337750A (en) Semiconductor device with internal analysis prevention function
Roy et al. Reconfigurable LUT: A double edged sword for security-critical applications
JP2010021624A (en) Information processing apparatus
WO2022164381A1 (en) An advanced encryption standard (aes) device
Konstantinou et al. Privacy-preserving functional IP verification utilizing fully homomorphic encryption
Gallais et al. Hardware trojans for inducing or amplifying side-channel leakage of cryptographic software
Soares et al. A robust architectural approach for cryptographic algorithms using GALS pipelines
Singh et al. Design of High Performance MIPS Cryptography Processor
Sai et al. Design of a high-speed and low-power AES architecture
Durvaux et al. A survey of recent results in FPGA security and intellectual property protection
Singh et al. Performance evaluation of low power MIPS crypto processor based on cryptography algorithms
Wang et al. A high-efficient and low-cost secure AMBA framework utilizing configurable data encryption modeling against probe attacks