JP4986206B2 - 暗号処理方法及び暗号処理装置 - Google Patents

暗号処理方法及び暗号処理装置 Download PDF

Info

Publication number
JP4986206B2
JP4986206B2 JP2006045289A JP2006045289A JP4986206B2 JP 4986206 B2 JP4986206 B2 JP 4986206B2 JP 2006045289 A JP2006045289 A JP 2006045289A JP 2006045289 A JP2006045289 A JP 2006045289A JP 4986206 B2 JP4986206 B2 JP 4986206B2
Authority
JP
Japan
Prior art keywords
logic circuit
cryptographic
logic
configuration information
cryptographic 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.)
Expired - Fee Related
Application number
JP2006045289A
Other languages
English (en)
Other versions
JP2007228141A (ja
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.)
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 JP2006045289A priority Critical patent/JP4986206B2/ja
Priority to KR1020070004916A priority patent/KR20070085129A/ko
Priority to US11/653,879 priority patent/US8009827B2/en
Publication of JP2007228141A publication Critical patent/JP2007228141A/ja
Application granted granted Critical
Publication of JP4986206B2 publication Critical patent/JP4986206B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures

Description

本発明は、暗号処理技術に関し、例えば通信システムにおける通信装置に適用して有効な技術に関する。
暗号技術の一つとして公開鍵暗号技術が有る。この技術では、例えば特許文献1における図14に示されるように、送信者は、メッセージMに対して「C=MemodN」による符号化で暗号文Cを形成し、受信者は暗号文Cに対して、「M=CdmodN」による復号化でメッセージMを得る。上記符号化におけるパラメータe,Nは公開とされ、上記復号化におけるdは非公開とされる。前記符号化及び復号化のための演算式は、べき乗剰余演算であり、代表的に「XY mod N」(X, Y, N は正の整数)と記述する事ができる。「mod」は剰余演算を意味し、べき乗剰余演算「XY mod N」は、XY をNで除算した余りを解とするものである。
ところで、ICカード、著作権管理機能を有するAV(audio-visual)機器や記憶装置等の暗号処理機能を有する情報機器あるいは通信装置においては、高性能・低消費電力な暗号処理を実現するために専用ハードウェアを搭載するのが一般的である。また、これらの装置においては、応用ソフトウェアの用途、目的、およびディジタルコンテンツの暗号化方式に応じて複数の異なる暗号処理を行う必要があり、単一の装置で複数の暗号処理ハードウェアを搭載する場合が多い。
また、同一の暗号処理を異なる論理構成で実現する方法として、例えば非特許文献1に記載されているAES(Advanced Encryption Standard)暗号に関して非特許文献2に記載された実装方法が知られている。
特開平10-21057号公報 Federal Information Processing Standards Publication 197, Announcing the ADVANCED ENCRYPTI/ON STANDARD (AES), November 26, 2001 Simplified Adaptive Multiplicative Masking for AES, Elena Trichina, Domenico De Seta, and Lucia Germani, LNCS 2523, p. 187-197
ICカード、著作権管理機能を有するAV機器や記憶装置等の暗号処理機能を有する情報機器あるいは通信装置においては、データ暗号化、復号化のためのブロック暗号、認証処理のための公開鍵暗号などを含む種類の暗号処理機能が必要である。さらに、公開鍵暗号としてRSA、楕円暗号、ブロック暗号としてDES,AESなど、様々な暗号アルゴリズムが広く使われており、ハードウェアの機能としてこれら多数のアルゴリズムを実装する必要がある。
また、上記情報機器においては、ハードウェア的な手法を用いたアタックに対する安全性(耐タンパ性)が重要とされる。すなわち、動作中の消費電力や電磁放射を測定することにより秘密情報を解読する攻撃や、動作中のハードウェアに誤動作を起こさせ、その結果を観測することによって秘密情報を解読する攻撃に対する安全性の実現が必須要件となっている。上記ハードウェア的な手法を用いたアタックに対して、耐タンパ性の実現のための付加的な論理回路を設けることが考えられる。
しかしながら、上記情報機器においては、上記のような各種暗号アルゴリズム毎に複数の専用ハードウェアを搭載しており、それに加えて、耐タンパ性の実現のための付加的な論理回路を設けることは、ハードウェア規模が増大するため、情報機器の製造コストの上昇を余儀なくされる。
本発明の目的は、小規模ハードウェアによりハードウェア的手法を用いた攻撃に対する安全性の向上を図るための技術を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
〔1〕暗号処理を実行するための論理をプログラマブルに設定可能な論理回路を用いた暗号処理方法において、暗号処理毎に、同一の暗号処理アルゴリズムに対応する複数の論理が選択的に上記論理回路に設定されるようにする。
上記〔1〕の手段によれば、暗号処理方法において、同一の暗号処理アルゴリズムに対応する複数の論理が選択的に上記論理回路に設定される。同一の暗号鍵を使った処理でも、上記論理回路の論理が変更されることで、暗号処理における消費電流を異ならせることができ、それによって電流解析によるアタックに対する安全性を向上させることができる。また、上記論理回路の論理が変更されることで、誤動作を起こす場所やタイミングを異ならせることができ、それによって誤動作解析アタックに対する安全性を向上させることができる。そして、同一の暗号処理アルゴリズムに対応する複数の論理が選択的に上記論理回路に設定されることにより、複数の論理を実現するためのハードウェアの規模の増大を抑えることができる。このことが、小規模ハードウェアによりハードウェア的手法を用いた攻撃に対する安全性の向上を達成する。
〔2〕上記〔1〕において、上記論理回路で暗号処理が行われる前に、上記論理回路での暗号処理処理手順、又は上記論理回路での暗号処理の実行タイミング、若しくは上記論理回路での暗号処理に伴う消費電力が互いに異なる複数の論理構成情報に基づいて、同一の暗号処理アルゴリズムに対応する複数の論理が選択的に上記論理回路に設定されるようにすることができる。
〔3〕暗号処理を実行するための論理をプログラマブルに設定可能な論理回路と、同一の暗号処理アルゴリズムに対応する複数の論理を選択的に上記論理回路に設定するCPUとを含んで暗号処理装置を構成することができる。
〔4〕また、暗号処理を実行するための論理をプログラマブルに設定可能な論理回路と、同一の暗号処理アルゴリズムに対応する複数の論理構成情報を記憶するメモリと、上記メモリの論理構成情報に基づいて、同一の暗号処理アルゴリズムに対応する複数の論理を選択的に上記論理回路に設定するCPUとを含んで暗号処理装置を構成することができる。
上記〔3〕〔4〕の手段によれば、暗号処理装置において、同一の暗号鍵を使った処理でも、上記論理回路の論理が変更されることで、暗号処理における消費電流を異ならせることができ、それによって電流解析によるアタックに対する安全性を向上させることができる。また、上記論理回路の論理が変更されることで、誤動作を起こす場所やタイミングを異ならせることができ、それによって誤動作解析アタックに対する安全性を向上させることができる。そして、同一の暗号処理アルゴリズムに対応する複数の論理が選択的に上記論理回路に設定されることにより、複数の論理を実現するためのハードウェアの規模の増大を抑えることができる。このことが、小規模ハードウェアによりハードウェア的手法を用いた攻撃に対する安全性の向上を達成する。
〔5〕上記〔4〕において、上記CPUは、上記論理回路で暗号処理が行われる直前に、上記メモリの論理構成情報に基づいて、同一の暗号処理アルゴリズムに対応する複数の論理を選択的に上記論理回路に設定するように構成することができる。これにより、上記論理回路の時分割的利用の円滑化と利用効率の向上を図ることができる。
〔6〕上記〔4〕において、上記CPUは、上記論理回路で暗号処理が行われる直前に、上記論理回路での暗号処理処理手順、又は上記論理回路での暗号処理の実行タイミング、若しくは上記論理回路での暗号処理に伴う消費電力が互いに異なる複数の論理構成情報に基づいて、同一の暗号処理アルゴリズムに対応する複数の論理を選択的に上記論理回路に設定するように構成することができる。これにより、上記論理回路の時分割的利用の円滑化と利用効率の向上を図ることができる。
〔7〕上記〔4〕において、上記複数の論理構成情報には、上記CPUの演算処理によって求められた構成情報を含めることができる。
〔8〕上記〔4〕において、機密保護の見地から上記複数の論理構成情報を暗号化して上記メモリに記憶するのが良い。
〔9〕上記〔4〕において、上記論理構成情報の喪失を防ぐため、上記メモリを不揮発性メモリとすることができる。
〔10〕上記〔4〕において、上記論理回路はFPGAField Programmable Gate Array)又はPLD(Programmable Logic Device)によって容易に構成することができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、小規模ハードウェアによりハードウェア的手法を用いた攻撃に対する安全性の向上を達成することができる。
図3には、本発明にかかる暗号処理装置を含む通信システムが示される。
図3に示される通信システムは、特に制限されないが、第1通信装置20と第2通信装置21とが通信線23を介して結合されることによって、第1通信装置20と第2通信装置21との間で、各種信号のやり取りが可能とされる。第1通信装置20と第2通信装置21とは、互いに同一構成とされる。第1通信装置20は、特に制限されないが、通信制御を行う通信制御装置22、上記通信制御装置22を介して信号の入出力を可能とする入出力装置23と、上記通信制御装置22によって行われる通信の暗号処理を行う暗号処理装置1とを含んで成る。特に制限されないが、上記暗号処理装置1は、データ暗号化、復号化のためのブロック暗号、認証処理のための公開鍵暗号などを含む複数種類の暗号処理機能を備えている。
I/Oインタフェース5を介して送られるコマンドのひとつに電子署名処理コマンドがある。電子署名の方法については「Alfred J. Menezes、Paul C. van Oorschot、Scott A. Vanstone “Handbook of Applied Cryptography”, CRC Press, 1996, ISBN: 0-8493-8523-7, chapter7」に記載された公知の技術を適用することができる。電子署名処理は、通信装置が通信相手の個体識別、認証を行うために用いることができる。装置は通信路を介して乱数値を送り、暗号処理装置は予め記録している固有の秘密鍵を用いて該乱数値に対して署名処理を行う。この処理は、通信相手の装置が暗号処理装置1の個体識別をするために用いられる。電子署名処理のアルゴリズムの詳細については、例えば「Alfred J. Menezes、Paul C. van Oorschot、Scott A. Vanstone “Handbook of Applied Cryptography”, CRC Press, 1996, ISBN: 0-8493-8523-7, chapter7」に記載されている。
図4には、上記通信装置20において、他の通信装置21から暗号化された情報を受信する場合の処理手順が示される。
通信装置20は通信装置21との間で通信を行う場合、先ず接続要求31を送信する。この通信要求31には通信装置20自身の装置番号を含む。通信装置21は、上記接続要求31を受け取ると乱数を生成し(32)、接続要求元の通信装置20に、その乱数を送信し署名を要求する(23)。通信装置20は、自身の秘密鍵を用いて署名処理を行い(34)、この署名を通信装置21に返送する(35)。通信装置21は、通信装置20の秘密鍵に対する公開鍵を用いて署名の検証を行い、検証が成功すると、通信装置20の正当性が確認できたものとしてデータ送信処理を行う(37)。通信装置20では、上記通信装置21から伝達されたデータの復号化処理が行われる(38)。
尚、上記例では通信装置の認証を電子署名によって行うこととしたが、これに限定されず、ゼロ知識証明を用いた個体認証、共通鍵暗号を用いた個体認証などを用いることも可能である。各種認証処理のアルゴリズムについては例えば「Alfred J. Menezes、Paul C. van Oorschot、Scott A. Vanstone “Handbook of Applied Cryptography”, CRC Press, 1996, ISBN: 0-8493-8523-7, chapter10」に記載されている。
図1には、上記暗号処理装置1の構成例が示される。
図1に示される暗号処理装置1は、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。
図1に示される暗号処理装置1は、特に制限されないが、演算処理のためのCPU(中央処理装置)2、論理構成の変更が可能とされる再構成可能論理回路3、乱数発生のための乱数生成器4、外部との間で各種信号の入出力を可能とするI/O(入出力)インタフェース5、上記CPU2での演算処理における作業領域などに利用されるRAM(ランダム・アクセス・メモリ)6、各種情報が格納されるROM(リード・オンリー・メモリ)7、記憶情報を電気的に書き換え可能なEEPROM(エレクトリカリ・イレーザブル・プログラマブル・リード・オンリー・メモリ)8を含み、それらはシステムバス9によって相互に接続される。
暗号処理装置1では、I/Oインタフェース5を介した通信によりコマンドを受け取り、予め決められた処理を実行し、I/Oインタフェース5を介して返信し、また必要に応じてRAM6やEEPROM8に記録する。
再構成可能論理回路3は、特に制限されないが、FPGA(Field Programmable Gate Array)あるいはPLD(Programmable Logic Device)と呼ばれる論理回路によって構成される。FPGAの内部構成例については、例えば「Stratix II Device Handbook, Volume 1 ver 3.1, Jul 2005」に記載されている。ここで、上記再構成可能論理回路3が本発明における論理回路の一例とされる。
ROM7には、CPU2で実行されるプログラムや、再構成可能論理回路3における論理構成をCPU2によって設定するための論理構成情報11〜16などが記憶される。この論理構成情報11〜16には、同一の暗号処理を異なる処理手順で実行するための複数の構成情報が含まれる。特に制限されないが、論理構成情報11〜14には、同一の暗号(1)に対応して互いに異なる構成情報(1)〜(4)が設定され、論理構成情報15,16には、同一の暗号(2)に対応して互いに異なる構成情報(3),(4)が設定される。この結果、論理構成情報11〜14を用いて再構成可能論理回路3の論理が設定された場合には、同一の暗号(1)処理が行われることになるが、再構成可能論理回路3の論理構成は論理構成情報11〜14によって互いに異なる。同様に論理構成情報15,16を用いて再構成可能論理回路3の論理が設定された場合には、同一の暗号(2)処理が行われることになるが、再構成可能論理回路3の論理構成は論理構成情報15,16によって互いに異なる。再構成可能論理回路3の論理構成が異なることにより、暗号処理の手順が異なり、再構成可能論理回路3の動作中の消費電力や電磁放射も異なる。従って、再構成可能論理回路3の論理構成を変更して、同一の暗号処理を行うようにすれば、動作中の消費電力や電磁放射の測定に基づく秘密情報解読が困難になる。また、上記再構成可能論理回路3の論理が変更されることで、誤動作を起こす場所やタイミングを異ならせることができ、それによって誤動作解析に基づく秘密情報解読が困難になる。これにより耐タンパ性の向上を図ることができる。
上記論理構成情報11〜14は機密保護の見地から暗号化されてROM7に記憶することができる。このとき、上記論理構成情報11〜14の復号化は、CPU2によって行われる。
以下、同一の暗号処理を異なる論理構成で実現する方法を、標準的なブロック暗号のひとつであるAES(Advanced Encryption Standard)を例に説明する。
AESの処理方式の詳細は、例えば「Federal Information Processing Standards Publication 197, Announcing the ADVANCED ENCRYPTION STANDARD (AES), November 26, 2001」に詳述されている。以下、AESのアルゴリズムの一部であるSboxと呼ばれる処理の実装について説明する。AESのSboxは、8ビットのデータの変換であり、標数2のガロア体GF(28)における乗法逆元の計算とアフィン変換の組み合わせによって、図2に示される式で定義される。この変換は位数256の集合の1対1写像を構成する。
この計算式を論理回路で実装した場合、入力値aの乗法逆元の計算において、aの値と消費電力の関係からaの値を推定し、それを用いて暗号鍵の一部を解読できる可能性があることが「Simplified Adaptive Multiplicative Masking for AES, Elena Trichina, Domenico De Seta, and Lucia Germani, LNCS 2523, p. 187-197.」に記載されている。この解読を防ぐための方法として、aの逆元計算において入力値aに予め変換を施し、逆元計算を行った後に入力値の変換による影響を除去する処理を行うことで電流値のデータ依存性を解消する方法も、同文献に記載されている。具体的には、以下の計算式で表される方法で実現することができる。
すなわち、a' = a + d, (a-1)' = a-1 + d とすると、乱数yを用いて以下のように(a-1)'を計算することができる。
((a' x y + dy)-1 + (d x y-1)) x y = ((a x y)-1 + (d x y-1)) x y = ((a-1 + d) x y-1) x y = a-1 + d
上記計算方法においては、実行時に二つのパラメータd, yが用いられる。dはガロア体GF(28)の任意の元、yはGF(28)の0でない任意の値であり、それらを「マスク項」と称する。
本例によるAESの処理方法においては、上記二つのパラメーターの複数の組について、該パラメーターを固定して得られる計算式を実行するように再構成可能論理回路を構成するための構成情報をROM7に記録する。AES暗号処理実行時には該複数の構成情報の中からCPU2がひとつの構成情報を選択して再構成可能論理回路3を構成し、AES暗号処理を実行する。
次に、再構成可能論理回路3において、論理構成情報11〜16に基づいて実現される論理構成例について説明する。
図5には、それぞれ4ビット構成の入力a0,a1,φに基づいてGF(28)の逆元計算を行って、4ビット構成の出力b0,b1を得るための構成例が示される。
同図に示される回路は、加算回路(add)501,506、乗算回路(mult)503,504,508、509、平方回路(sqr)502、及びインバータ(inv)507が結合されて成る。加算回路(add)501,506は、ビット単位の排他的論理和を得る。加算回路501の出力は、乗算回路503,508に伝達される。加算器506の出力は後段のインバータ(inv)507に伝達される。インバータ(inv)507は、加算回路506の出力論理を反転して後段の乗算回路508,509に出力する。乗算回路(mult)503,504,508、509は、GF(24)の乗算を行う。平方回路(sqr)502は、GF(24)の元の平方を計算する。
図6には、上述したマスク項を導入した逆元計算を実現する論理構成例が示される。
図6に示される構成例は、加算回路(add)604,607、乗算回路(mult)601,602,605,608、インバータ(inv)603,606が結合されて成る。入力a',y,d及び出力a-1は、それぞれ8ビット構成とされる。このとき、マスク項(d,y)を特定の値に固定した場合、より簡単な論理回路によって実現される。具体的にはマスク値(d,y)を入力とする乗算回路601、602,605が簡約化される。また、入力値yの値が固定される場合にはyの逆元を計算する逆元計算回路603は、予め計算された逆元の値に固定された信号線の組に置き換えることで削除することができる。以下では説明の便宜上、ガロア体の乗算回路がどのように簡略化されるかをGF(2)の場合の例で示す。実際に図5に示されるGF(256)の逆元計算回路で用いられるのは、GF(16)の乗算回路であるが、論理簡略化の原理は同様である。
図7には、GF(2)の乗算回路の論理構成例が示される。
同図において乗算回路700〜703は、二つの入力値a,dを入力し、乗算結果cが排他的論理和(EOR)704,705,706を介して出力される。GF(2)の元は2ビットデータとして(0,0)(0,1)(1,0)(1,1)で表現され、(0,0)は零元、(0,1)は単位元をそれぞれ表す。乗算回路の入力値をa=(a1,a0), d=(d1,d0)、出力をc=(c1,c0)とする。が設けられる。
以下、上記乗算回路の入力値の一部が確定している場合には論理回路を以下のように簡略化できる。
図8、図9、図10には、図7の乗算回路の入力値のうちdがそれぞれd=(1,1), d=(1,0), d=(0,1)とした場合の構成例が示される。ここで、特にd=(0,1)の場合、dはGF(2)における乗法単位元であり、dとの乗算は恒等写像となる。これらの例で示されるように、入力値の一部が確定している場合、逆元計算回路の論理構成は大幅に簡略化される。
逆元計算を実現する別の方法としてテーブルを用いても良い。例えば図1に示されるようなGF(28)の逆元計算の対応表を、RAM6、あるいはROM7又はEEPROM8にテーブルとして保持し、暗号処理の実行時において、入力値に対する逆元を上記テーブル参照して求めるように構成することができる。
本発明にかかる暗号装置の別の構成例においては、図6に示されるマスク付き逆元計算回路において、マスク値y,dを固定して簡約化した複数の回路について再構成可能論理回路の構成情報をROM7又はEEPROM8に記録し、暗号処理実行時に、予め決められた手順で構成情報を選択する。これにより、図6に示される乗算回路をそのまま再構成可能論理回路3上で実現するのに比べて、より少ないハードウェアで実装可能となる。また、実行時に起こる信号線の変動が、図6に示す回路で実行した場合に比べ少なくなるため、実行時の消費電力を低減することができる。
さらに、図11に示されるような逆元計算の対応表を、再構成可能論理回路3に実装するための構成情報をROM7に記録し、暗号処理実行時に、上記対応表を参照するようにしても良い。この場合、逆元計算結果を短時間で得ることができる。
上記の例においては、マスク付き逆元計算回路においてマスク値を固定した回路の構成情報を記録するとしたが、別の実施形態として、このような構成情報を実行時にCPU2によって生成するようにすることも可能である。この場合、ROM7には、図6に示されるマスク付き逆元計算回路の構成情報を記録しておき、それに基づいて、マスク値を固定した場合の簡約化された構成情報をCPU2で求めるようにすると良い。つまり、暗号処理実行時にCPU2が予め決められた手順でマスク付き逆元計算に用いるマスク値を選択し、マスク付き逆元計算回路の入力値を該マスク値に固定して簡約化した論理回路の構成情報をCPU2で生成し、該構成情報を用いて再構成可能論理回路3での論理を構成して暗号処理を実行するようにする。このとき、CPU2で得られた構成情報は、一時的にRAM6に格納される。
上記の例によれば、以下の作用効果を得ることができる。
(1)暗号処理が行われる毎に、同一の暗号処理アルゴリズムに対応する複数の論理がCPU2により選択的に再構成可能論理回路3に設定されるようになっているため、上記再構成可能論理回路3の論理が変更されることで、同一の暗号鍵を使った処理でも、暗号処理における消費電流を異ならせることができ、それによって電流解析によるアタックに対する安全性を向上させることができる。また、上記再構成可能論理回路3の論理が変更されることで、誤動作を起こす場所やタイミングを異ならせることができ、それによって誤動作解析アタックに対する安全性を向上させることができる。
(2)同一の暗号処理アルゴリズムに対応する複数の論理が選択的に上記再構成可能論理回路3に設定されることにより、複数の論理を実現するためのハードウェアの規模の増大を抑えることができる。
(3)上記(1),(2)の作用効果により、小規模ハードウェアによりハードウェア的手法を用いた攻撃に対する安全性の向上を達成することができる。
(4)互いに異なる暗号処理アルゴリズムに対応する複数の論理が選択的に上記再構成可能論理回路3に設定されることにより、複数の論理を実現するためのハードウェアの規模の増大を抑えることができる。ここでICカード、著作権管理機能を有するAV(audio-visual)機器や記憶装置等の暗号処理機能を有する情報機器あるいは通信装置においては、応用ソフトウェアの用途、目的、およびディジタルコンテンツの暗号化方式に応じて複数の異なる暗号処理を行う必要があり、単一の装置で複数の暗号処理ハードウェアを搭載する場合が多い。しかしながら、この複数の暗号処理ハードウェアは、選択的に使用されることが多く、同時に使用されることは滅多にない。したがって、上記のように互いに異なる暗号処理アルゴリズムに対応する複数の論理が選択的に上記再構成可能論理回路3に設定される構成にしても、暗号処理において特に不都合は生じない。
(4)上記(3),(4)の作用効果により、図3に示される通信システムの信頼性の向上や、システムのコスト低減を図ることができる。
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、論理構成情報11〜16をEEPROM8に格納するようにしても良い。EEPROM8は電気的な書き込みが可能とされるため、論理構成情報11〜16をEEPROM8に格納する場合には、記憶情報の書き換えにより、論理構成情報11〜16の内容変更を容易に行うことができる。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野である通信システムに含まれる暗号処理装置に適用した場合について説明したが、本発明はそれに限定されるものではなく、暗号処理を行う装置に広く適用することができる。
本発明は、少なくとも暗号処理を実行するための論理をプログラマブルに設定可能な論理回路を含むことを条件に適用することができる。
本発明に係る暗号処理装置の構成例ブロック図である。 上記暗号処理装置で取り扱われるAESのアルゴリズムの一部であるSbox定義説明図である。 上記暗号処理装置を含む通信システムの全体的な構成例ブロック図である。 図3に示される通信システムに含まれる通信装置が暗号化情報を受信する場合の手順の説明図である。 上記暗号処理装置に含まれる再構成可能論理回路において、論理構成情報に基づいて実現される論理構成例の説明図である。 上記暗号処理装置に含まれる再構成可能論理回路において、論理構成情報に基づいて実現される論理構成例の別の説明図である。 上記暗号処理装置に含まれる再構成可能論理回路において、論理構成情報に基づいて実現される論理構成例の別の説明図である。 上記暗号処理装置に含まれる再構成可能論理回路において、論理構成情報に基づいて実現される論理構成例の別の説明図である。 上記暗号処理装置に含まれる再構成可能論理回路において、論理構成情報に基づいて実現される論理構成例の別の説明図である。 上記暗号処理装置に含まれる再構成可能論理回路において、論理構成情報に基づいて実現される論理構成例の別の説明図である。 上記暗号処理装置で利用可能な逆元計算対応表の説明図である。
符号の説明
1 暗号処理装置
2 CPU
3 再構成可能論理回路
4 乱数生成器
5 IOインタフェース
6 RAM
7 ROM
8 EEPROM
9 システムバス
20,21 通信装置
22 通信制御装置
24 入出力装置

Claims (8)

  1. 暗号処理を実行するための論理をプログラマブルに設定可能な論理回路と、
    同一の暗号処理アルゴリズムに対応する複数の論理を選択的に上記論理回路に設定するCPUと、
    マスク付き演算回路の論理構成情報を記憶するメモリと、を含み、
    上記論理回路に設定される論理には、マスク項を導入した演算を実現するマスク付き演算回路が含まれ、
    上記CPUは、上記メモリの記憶情報を取り込んで、上記マスク付き演算回路における上記マスク項を選択されたマスク値に固定して簡約化する処理を実行し、その処理結果に基づいて上記論理回路での論理を構成することを特徴とする暗号処理装置
  2. 上記CPUは、上記論理回路で暗号処理が行われる前に、上記メモリの論理構成情報に基づいて、同一の暗号処理アルゴリズムに対応する複数の論理を選択的に上記論理回路に設定する請求項1記載の暗号処理装置
  3. 上記CPUは、上記論理回路で暗号処理が行われる前に、上記論理回路での暗号処理手順、又は上記論理回路での暗号処理の実行タイミング、若しくは上記論理回路での暗号処理に伴う消費電力が互いに異なる複数の論理構成情報に基づいて、同一の暗号処理アルゴリズムに対応する複数の論理を選択的に上記論理回路に設定する請求項1記載の暗号処理装置。
  4. 上記複数の論理構成情報は、上記CPUの演算処理によって求められた構成情報を含む請求項記載の暗号処理装置。
  5. 上記複数の論理構成情報は、暗号化されて上記メモリに記憶される請求項記載の暗号処理装置。
  6. 上記メモリは、不揮発性メモリとされる請求項記載の暗号処理装置。
  7. 上記論理回路は、FPGA又はPLDによって構成される請求項記載の暗号処理装置。
  8. 上記演算は、逆元計算である請求項記載の暗号処理装置。
JP2006045289A 2006-02-22 2006-02-22 暗号処理方法及び暗号処理装置 Expired - Fee Related JP4986206B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006045289A JP4986206B2 (ja) 2006-02-22 2006-02-22 暗号処理方法及び暗号処理装置
KR1020070004916A KR20070085129A (ko) 2006-02-22 2007-01-16 인크립션 프로세싱 방법 및 인크립션 프로세싱 장치
US11/653,879 US8009827B2 (en) 2006-02-22 2007-01-17 Encryption processing method and encryption processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006045289A JP4986206B2 (ja) 2006-02-22 2006-02-22 暗号処理方法及び暗号処理装置

Publications (2)

Publication Number Publication Date
JP2007228141A JP2007228141A (ja) 2007-09-06
JP4986206B2 true JP4986206B2 (ja) 2012-07-25

Family

ID=38428202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006045289A Expired - Fee Related JP4986206B2 (ja) 2006-02-22 2006-02-22 暗号処理方法及び暗号処理装置

Country Status (3)

Country Link
US (1) US8009827B2 (ja)
JP (1) JP4986206B2 (ja)
KR (1) KR20070085129A (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4890976B2 (ja) * 2005-08-31 2012-03-07 キヤノン株式会社 暗号処理装置
EP2195761B1 (en) * 2007-10-01 2013-04-03 Research In Motion Limited Substitution table masking for cryptographic processes
US8526602B2 (en) * 2008-04-15 2013-09-03 Nec Corporation Adjustment-value-attached block cipher apparatus, cipher generation method and recording medium
DE102008033962B4 (de) * 2008-07-21 2011-11-24 Siemens Aktiengesellschaft Verfahren und Prozessor-Einrichtung zum Implementieren einer Charakteristik-2-Multiplikation
US20100278338A1 (en) * 2009-05-04 2010-11-04 Mediatek Singapore Pte. Ltd. Coding device and method with reconfigurable and scalable encryption/decryption modules
FR2952773B1 (fr) * 2009-11-13 2012-07-20 Inst Telecom Telecom Paristech Circuit electronique de faible complexite protege par masquage personnalise
US9461815B2 (en) * 2013-10-18 2016-10-04 Advanced Micro Devices, Inc. Virtualized AES computational engine
WO2015166496A1 (en) * 2014-04-29 2015-11-05 Bar-Ilan University Multi-topology logic gates
US9705501B2 (en) * 2014-10-01 2017-07-11 Maxim Integrated Products, Inc. Systems and methods for enhancing confidentiality via logic gate encryption
CN105975251B (zh) * 2016-05-19 2018-10-02 东南大学—无锡集成电路技术研究所 一种基于粗粒度可重构架构的des算法轮迭代系统及迭代方法
US10574702B1 (en) * 2018-01-03 2020-02-25 Amazon Technologies, Inc. Authorization for build configuration using telemetry data assessment
TWI778902B (zh) * 2021-12-30 2022-09-21 新唐科技股份有限公司 加法遮罩值產生器、加密器以及產生串流金鑰的方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740249A (en) * 1996-04-09 1998-04-14 Kabushiki Kaisha Toshiba Encryption apparatus and method capable of controlling encryption process in accordance with an internal state
JP3615622B2 (ja) 1996-06-28 2005-02-02 株式会社ルネサステクノロジ マイクロコンピュータ
US6031911A (en) * 1996-07-18 2000-02-29 Entrust Technologies, Ltd. Practical S box design
US5949884A (en) * 1996-11-07 1999-09-07 Entrust Technologies, Ltd. Design principles of the shade cipher
TW396704B (en) * 1997-08-07 2000-07-01 Hitachi Ltd Cipher conversion method, cipher conversion apparatus, decoding method, decoding apparatus, and data communication system
JPH1185018A (ja) * 1997-09-12 1999-03-30 Toshiba Corp 暗号処理用半導体集積回路及び暗号アルゴリズム変更方法
US6182216B1 (en) * 1997-09-17 2001-01-30 Frank C. Luyster Block cipher method
JP2001268071A (ja) * 2000-03-16 2001-09-28 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 耐タンパー暗号装置
JP4596686B2 (ja) * 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
JP2004212828A (ja) * 2003-01-08 2004-07-29 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP3998616B2 (ja) * 2003-09-10 2007-10-31 株式会社東芝 暗号化/復号モジュール
CN100356342C (zh) * 2003-11-18 2007-12-19 株式会社瑞萨科技 信息处理装置
JP4435593B2 (ja) * 2004-02-04 2010-03-17 株式会社ルネサステクノロジ 耐タンパー情報処理装置
KR101061906B1 (ko) * 2004-02-19 2011-09-02 삼성전자주식회사 전력분석공격에 안전한 기본 연산 장치 및 방법
JP4429763B2 (ja) * 2004-02-26 2010-03-10 株式会社日立製作所 情報処理装置の制御方法、情報処理装置、及びストレージ装置の制御方法
TW200617703A (en) * 2004-11-30 2006-06-01 Tokyo Electron Ltd Dynamically reconfigurable processor
TWI290426B (en) * 2005-02-03 2007-11-21 Sanyo Electric Co Encryption processing circuit
WO2007121035A2 (en) * 2006-03-23 2007-10-25 Exegy Incorporated Method and system for high throughput blockwise independent encryption/decryption

Also Published As

Publication number Publication date
US8009827B2 (en) 2011-08-30
US20070195949A1 (en) 2007-08-23
JP2007228141A (ja) 2007-09-06
KR20070085129A (ko) 2007-08-27

Similar Documents

Publication Publication Date Title
JP4986206B2 (ja) 暗号処理方法及び暗号処理装置
CN104468089B (zh) 数据保护装置及其方法
US9509508B2 (en) Generating a session key for authentication and secure data transfer
US20140304511A1 (en) Sensor module and method for operating a sensor module
CN102577228B (zh) 用于传感器数据的操纵保护的方法和用于此的传感器
CN107094108B (zh) 连接到数据总线的部件和在该部件中实现加密功能的方法
EP3318043A1 (en) Mutual authentication of confidential communication
CN112906070B (zh) 具有块密码侧信道攻击减轻的集成电路和IoT设备及相关方法
US11308240B2 (en) Cryptographic circuit and data processing
KR101608815B1 (ko) 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법
US20230096233A1 (en) Chosen-plaintext secure cryptosystem and authentication
WO2019105571A1 (en) Secure provisioning of data to client device
Doan et al. CAN crypto FPGA chip to secure data transmitted through CAN FD bus using AES-128 and SHA-1 algorithms with a symmetric key
CN102598575B (zh) 用于对密码保护的有效数据单元加速解密的方法和系统
EP3054620A1 (en) System and method for performing block cipher cryptography by implementing a mixer function that includes a substitution-box and a linear transformation using a lookup-table
Rashidi et al. FPGA based a new low power and self-timed AES 128-bit encryption algorithm for encryption audio signal
KR101929355B1 (ko) 고유 일련번호 및 대칭키를 이용한 암복호화 시스템
US20230289424A1 (en) Security Chip-Based Security Authentication Method and System, Security Chip, and Readable Storage Medium
Landge et al. VHDL based Blowfish implementation for secured embedded system design
JPH07118709B2 (ja) 秘密情報通信方式
JP2015534415A (ja) メッセージへの全単射アルゴリズムの適用によるコードの真正性を制御するための制御方法およびデバイス
CN111294199A (zh) 加解密系统、加密装置、解密装置和加解密方法
KR101677138B1 (ko) 오프라인 토큰의 안전성을 보장할 수 있는 온라인/오프라인 전자서명 방법
EP4142214A1 (en) Method for securely provisioning a device incorporating an integrated circuit without using a secure environment
JP2004253950A (ja) 事前計算による電子署名高速生成方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111125

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120420

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees