JP2004153460A - セキュア装置及びセキュア方法及びセキュアプログラム - Google Patents
セキュア装置及びセキュア方法及びセキュアプログラム Download PDFInfo
- Publication number
- JP2004153460A JP2004153460A JP2002314892A JP2002314892A JP2004153460A JP 2004153460 A JP2004153460 A JP 2004153460A JP 2002314892 A JP2002314892 A JP 2002314892A JP 2002314892 A JP2002314892 A JP 2002314892A JP 2004153460 A JP2004153460 A JP 2004153460A
- Authority
- JP
- Japan
- Prior art keywords
- confidential information
- unit
- circuit
- secure device
- information 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Storage Device Security (AREA)
Abstract
【解決手段】暗号セキュア装置1は、その内部に備える機密情報処理部のロジック部(41、42)によって、電力を消費して内部処理データである機密情報を処理し、抑止部(55、56)によって、ダミーの電力の消費を行うことで、ロジック部(41、42)が消費する消費電力をカモフラージュすることによりロジック部が消費する消費電力からロジック部によって処理される機密情報の漏洩を抑止する。
【選択図】 図5
Description
【発明の属する技術分野】
この発明は、情報処理装置における機密性の高い暗号セキュアシステムに係わり、特に、セキュア回路の構成方法に関するものである。
【0002】
【従来の技術】
従来例1.
例えば、特開2000−165375に示された従来の「情報処理装置、ICカード」に示された選択的転置処理の処理ルーチンを図10に示す。
【0003】
従来例1の選択的転置処理(P101)では、まず実行フラグをクリアする(P102)。この実行フラグは、各ビットが繰返し処理の処理単位で処理が終了しているならば“1”であり、未処理であれば“0”である。実行フラグの全てのビットが“1”であるならば(P103)、処理を終了する(P112)。そうでなければ、処理を続け乱数を取出す(P104)。乱数は、乱数生成装置などで生成する。
【0004】
繰返し単位で、実行する処理を指定する実行インデックスを乱数によって決める(P105)。例えば、乱数の下位3ビットを取り出し、その値に対する8の剰余を実行インデックスとする。このように実行インデックスを乱数から生成すれば、処理順番をランダムにすることが出来る。
【0005】
次に実行フラグの対応するビットを、処理済を示す“1”とする(P106)。
【0006】
以上のようにすることにより、繰返し処理の処理単位が乱数によってランダムに選ばれるために、処理単位の順序が一定とならない。さらに、ランダムに処理順序が選択されるために、同じ処理が1度以上処理される場合もあり、処理時間も不定となる。
【0007】
次に、選択された実行インデックスに従い、処理すべき正常入力データとビット反転入力データを取り出す(P107)。正常入力データとビット反転入力データが同じ順番で処理されるのを避けるために、乱数を取出し(P108)、アドレス変位を計算する(P109)。そのアドレス変位から呼出しアドレスを求め(P110)、ルーチンを呼び出す(P111)。
【0008】
以上のようにすることにより、アドレス変位が乱数により決められるので、正常入力データ処理ルーチンと反転入力データ処理ルーチンの処理順序が一定とならない。さらに、ランダムに処理順序が選択されるために、同じ処理が1度以上処理される場合もあり、処理時間も不定となる。
【0009】
また、P107で組になるように格納された正常入力データとビット反転入力データが取り出されるので、データ転送時のデータと消費電力の関連性を少なくすることが出来る(例えば特許文献1参照)。
【0010】
従来例2.
図11は例えば、WO99/67766に示された従来の“BALANCEDCRYPTOGRAPHIC COMPUTATIONAL METHOD AND APPARATUS FOR LEAK MINIMIZATION IN SMARTCARDS AND OTHER CRYPTOSYSTEMS”におけるNANDゲートのCMOS実装図である。図において、AとBは入力端子であり、各々2ビットでTRUE、FALSEを表す。つまり、AはA1とA2のビットで、(A1,A2)=(1,0)でTRUEを、(A1,A2)=(0,1)でFALSEを表す。この両者のハミングウェイトは一定である。VPPは電源電圧、GNDは接地電圧を示す。Oは出力端子であり、O1、O2の2ビットでNAND出力を表す。O3からO8はNANDとして使用する場合は、使用しない。
【0011】
従来例2の動作について述べる。NANDの入力端子A、Bに入力データが入力される前に、入力端子A、Bは中立の状態にある。つまり、(A1,A2,B1,B2)=(0,0,0,0)であり、図11のサブユニットP210、P220、P230、P240は全て同じ状態にある。この状態のもと、NANDゲートに論理入力を与えた時の各サブユニットの状態変化を図12に示す。例えば、(TRUE,TRUE)の入力を与えた場合、サブユニットP210では全てのトランジスタが、サブユニットP220ではP222、P224のトランジスタが、サブユニットP230ではP231、P233のトランジスタが状態変化を起こす。図12によれば、どのような入力を与えても、NANDゲート内で状態変化を起こすトランジスタ数は変わらない。よって、入力状態に依らず、NANDゲート内の消費電力は一定に保たれる(例えば特許文献1参照)。
【0012】
【特許文献1】
特開2000−165375号公報
【特許文献2】
国際公開WO99/67766号公報
【0013】
【発明が解決しようとする課題】
従来例1の「情報処理装置、ICカード」は、乱数により処理順序を可変とし、内部処理状態の特定を困難にする特徴がある反面、1度以上処理が実行される可能性があり、処理時間が長くなると言う課題があった。
【0014】
また、組になるように格納された正常入力データとビット反転入力データの処理順序を乱数により変更することで、正常入力データとビット反転入力データの処理状態の特定を困難にする特徴がある反面、ある特定時間においては正常入力データまたはビット反転入力データの何れかが処理されており、その処理データの消費電力情報が外部に漏れて機密情報が解読されると言う課題があった。
【0015】
一方、従来例2の“BALANCED CRYPTOGRAPHIC COMPUTATIONAL METHOD AND APPARATUS FOR LEAK MINIMIZATION IN SMARTCARDS AND OTHER CRYPTOSYSTEMS”では、NANDゲートをハミングウェイトが一定となるように構成するので、入力データに依存する消費電力情報を少なくする特徴がある反面、回路構成が冗長になり消費電力が増大すると言う課題があった。
【0016】
この発明は、外部に漏れる消費エネルギー量と機密情報との関連性を少なくし、外部に消費電力情報が漏れても、機密情報の解読が困難になるようにし、かつ、装置の冗長性が低いセキュア装置の構成及びセキュア方法を構築することを目的とする。
【0017】
【課題を解決するための手段】
本発明のセキュア装置は、
機密情報を処理する機密情報処理部を備えるセキュア装置であって、
上記機密情報処理部は、エネルギーを消費して機密情報を処理するロジック部と、
ダミーのエネルギーの消費を行うことで上記ロジック部が消費する消費エネルギーの量をカモフラージュすることにより上記ロジック部が消費する消費エネルギーの量から上記ロジック部によって処理される機密情報の漏洩を抑止する抑止部とを備える。
【0018】
【発明の実施の形態】
実施の形態1.
図1は実施の形態1の暗号セキュア装置1の回路構成図を示したものである。図1において、暗号セキュア装置1は、マイクロプロセッサ10、暗号(復号)処理を高速に行う暗号処理部(暗号コプロ)11、乱数を発生する乱数発生器12、外部との通信を行う通信部13、マイクロプロセッサ10の処理プログラム等を格納するROM14、マイクロプロセッサ10の作業領域を提供するRAM15を備える。
マイクロプロセッサ10は、暗号セキュア装置1の全体の制御を行ったり、後述する暗号処理部11、乱数発生器12を用いて、暗号(復号)処理を行うプロセッサである。
通信部13は外部とのインタフェースを掌るものであり、通信に限られるものではなく、他のインタフェース、例えばIEEE1394であっても良い。
なお、暗号セキュア装置1は、機密情報が外部に漏れることを防止するセキュア装置の一例である。
【0019】
本発明では、暗号処理部11、乱数発生器12に消費電力が一定となる消費電力バランス設計を行うことを特徴とする。
【0020】
本発明の詳細な説明に移る前に、一般的な暗号アルゴリズムについて簡単に述べる。図2はDES(Data Encryption Standard)暗号の基本構造を模式的に表したものである。DES暗号は64ビットのデータを56ビットの鍵で、暗号化及び復号する。図2は暗号化の手順を示している。64ビットの入力データは、はじめに初期転置させられる。初期転置は、既定の初期転置テーブルに従い、ビット単位で64ビットの入力データを入れ換えることである。
【0021】
その後、ラウンドと呼ばれる操作を16回繰り返す。各ラウンドでは、以下の(1)〜(4)の処理を行う。
(1)64ビットの入力データを、上位32ビットと下位32ビットに分ける。
(2)下位32ビットと48ビットの鍵Ki(1≦i≦16)を入力として、f関数と呼ばれる処理を行い、データを攪拌する。
(3)上位32ビットと上記f関数処理後の出力32ビットの排他的論理和を取る。
(4)下位32ビットを上位32ビットとして出力し、排他的論理和を取った出力32ビットを下位32ビットとして出力する。
【0022】
なお、図2に示された48ビットの鍵Ki(K1〜K16)は56ビットの鍵を拡大して生成されるものである。
【0023】
最後に、最終転置と呼ばれる初期転置の逆転置を行い暗号化が終了する。DESの詳しい記述は、チャーリー・カフマン著「ネットワークセキュリティ」(プレンティスホール社)などにある。
【0024】
次に、RSA暗号の概要を述べる。RSA暗号の復号化は次の式に従って行われる。
【0025】
【数1】
【0026】
ここで、cは暗号文、mはメッセージ、dとnはある規則に従い求められた復号鍵である。実際に使用されるdとnは1024ビット以上であるので、(数式1)をそのまま計算することはなく、式を展開して(数式2)に従って計算されることが多い。
【0027】
【数2】
【0028】
なお、上記(数式2)に記載された/* */で含まれた分は数式の一部ではなく、数式を説明する文である。
【0029】
ここで、|d|はdのビット長、d[i]はdのiビット目の値である。RSA暗号の詳しい記述についても前述の「ネットワークセキュリティ」などに書かれている。
【0030】
一般的な暗号アルゴリズムは以上のように組み立てられている。何れの例においても、小さな単位(ラウンド、ループ)の繰返し構造を有する演算処理を行っている。しかも、この小さい単位には機密とすべき情報が入力されているので、この演算処理において、機密情報と消費電力との間に関連性がある場合、機密情報が外部で推定される可能性がある。W.Ranke & W. Effing,“Smart Card Handbook”,(John Wiley &
sons)において、このような危険性が示唆されている。
【0031】
本実施の形態は、上記のような危険性に対抗するために、外部に漏れる消費電力情報と内部処理のデータ(機密情報)との関連性を少なくするものである。
【0032】
図1において、機密情報を扱うブロックは、暗号処理部11と乱数発生器12であり、本実施の形態ではこの機密情報を扱うブロックに対して、消費電力バランス設計を行うことを特徴とする。消費電力バランス設計とは、回路内部で処理されているデータと外部に漏れ出る消費電力との関連性を極力小さくする設計のことを示す。以下に、その詳細を述べる。
【0033】
図3は、暗号処理部11が複数のサブブロックで構成されている場合、機密情報を扱うサブブロックに対してのみ、消費電力バランス設計を行う例を示している。図3において、情報処理部200は機密情報を扱わないサブブロックであり、入力インタフェースなどに相当する。機密情報処理部210から機密情報処理部214は機密情報を扱うサブブロックであり、一般的な暗号アルゴリズムでのラウンドやループに相当する。情報処理部230も情報処理部200と同様に機密情報を扱わないサブブロックで出力インタフェースなどに相当する。機密情報生成部240は機密情報を生成するサブブロックであり、一般的な暗号アルゴリズムでの拡大鍵生成などに相当する。
【0034】
本実施の形態では、上記機密情報を扱うサブブロックに対してのみ、消費電力バランス設計を行う。このようにすることにより、すべてのサブブロックに対して消費電力バランス設計を行うのに比べ、消費電力の増大を抑えることが出来る。
【0035】
次に、機密情報を扱うサブブロック(機密情報処理部(210、211、212、213、214)及び機密情報生成部240)の少なくともいずれかに対して行う消費電力バランス設計について述べる。話を簡単にするために、機密情報を扱うサブブロックが図4に示すような入力部46、複数の基本ブロック部4、出力部48から構成されているものとする。
基本ブロック部4は異なるロジック部41、ロジック部42、セレクタ43及びフリップフロップ(FF)44で構成される。一例として図4の基本ブロック部4を提示したが、一般の回路はこれらの要素の組合せで実現することが出来る。
【0036】
図4に示す機密情報を扱うサブブロック機密情報処理部に対して、消費電力バランス設計を行う方法を以下に示す。消費電力バランス設計では、回路上の1ノードの状態がある時刻において定まるタイミングと同じタイミングで、前記状態の反転状態が定まる回路の1ノードを設計する。具体的には、ある時刻のゲート出力(ノード)が0であれば、消費電力バランス設計では同じ時刻にゲート出力(ノード)が1であるゲートを追加する。このようにすることで、内部処理されているデータは常に、1と0が対になって発生するため、外部に漏れる消費電力と内部処理されているデータとの関連性を抑えることが出来る。
【0037】
図5に、図4の基本ブロック部4に対して消費電力バランス設計が行われ、追加される追加回路を抑止部(55、56)として示す。追加回路は以下の(1)〜(8)に示すようにして設計する。
(1)入力部46にインバータ50を設ける。ただし、インバータ50は、全てのバランス基本ブロック部5の入力データに対し設けるのではなく、消費電力バランス設計を行う先頭のバランス基本ブロック部5に対してのみ行う。
(2)図4のロジック部41及びロジック部42に対して、以下のゲート(回路)の対応関係に従って、ロジック部41及びロジック部42の回路を置き換えることにより追加回路を設計する。
AND回路 → OR回路
OR回路 → AND回路
NAND回路 → NOR回路
NOR回路 → NAND回路
NOT回路はNOT回路のままとする。
つまり、図4で使用されるAND回路はOR回路で置き換えるといった具合にロジック部41及びロジック部42を置き換える。
(3)セレクタ43、フリップフロップ44は同じ回路とする。
(4)セレクタ43のセレクト信号は同じものとする。
(5)フリップフロップ44のクロックは同じものとする。
(6)基本ブロック部4が複数連続する場合は、各々に対して上記(2)〜(4)の作業を行い、すべてのバランス基本ブロック部5に対して、消費電力バランス設計を行う。このようにして、消費電力バランス設計が行われた追加回路は、ロジック部41及びロジック部42に対し抑止部55及び抑止部56としてバランスロジック部51及びバランスロジック部52に追加される。
(7)消費電力バランス設計が行われた追加回路の出力は、図3に示す次の処理を行う機密情報処理部に対応する消費電力バランス設計が行われた追加回路に入力される。
(8)消費電力バランス設計を行う最後の機密情報処理部(図3では、機密情報処理部214)に対応する消費電力バランス設計が行われた追加回路の出力(最終出力)は、内部で使用する乱数等として利用することができる。
【0038】
このように、実施の形態1に記載された発明の消費電力バランス設計では、回路上の1ノードの状態がある時刻において定まると、同じタイミングで反転状態の1ノードが定まる回路を設計する。このような消費電力バランス設計によって追加された抑止部が、ダミーのエネルギーの消費を行うことでロジック部が消費する消費エネルギーの量をカモフラージュすることにより、ロジック部が消費する消費エネルギーの量からロジック部によって処理される機密情報の漏洩を抑止することができる。すなわち、消費電力バランス設計によって内部で処理されるデータのバランスがとれ、消費電力と内部処理データの関連性を小さくする暗号セキュア装置1を構築することが出来る。
【0039】
また、機密情報を扱う機密情報処理部に対してのみ、消費電力バランス設計を行うため、消費電力の増加を必要最小限に抑えることができる。
【0040】
また、消費電力バランス設計におけるロジック部の置換えを、1ゲート(回路)に付き、1ゲート(回路)としたので、回路の冗長性を抑えることが出来る。
【0041】
実施の形態2.
実施の形態1では、暗号処理部11が複数のサブブロックで構成されている場合、機密情報を扱うサブブロックに対してのみ、消費電力バランス設計を行う例を示した。
実施の形態2では、機密情報を扱う機密情報処理部が連続している場合、最初と最後の機密情報処理部に対してのみ、消費電力バランス設計を行う。
【0042】
一般に、消費電力から機密情報を推定する場合、消費電力が既知の情報と推定する機密情報の関数で決まると仮定して、推定された機密情報の確からしさを消費電力の統計処理により求める。既知情報は、平文や最終結果である暗号文などである。機密情報を扱う機密情報処理部の機密情報が判別された場合、その機密情報処理部の出力も既知情報として扱うことが出来る。
【0043】
図6に実施の形態2における暗号処理部11のブロック図を示す。機密情報を扱う機密情報処理部のうち、連続して行われる機密情報処理部の最初と最後の機密情報処理部210、機密情報処理部214にだけ、消費電力バランス設計を行う。このように、消費電力バランス設計を行うことにより、その機密情報処理部で扱う機密情報を推定することが困難になり、連続する機密情報処理部が扱う機密情報の推定を行うことが出来なくなる。なお、機密情報処理部611から機密情報処理部613は消費電力バランス設計を行わないサブブロックである。
【0044】
このように、実施の形態2では機密情報を扱うサブブロックのうち、連続して行われるサブブロックの最初と最後のサブブロックにだけ、消費電力バランス設計を行うので、一連の機密情報の推定が困難になる。
【0045】
また、機密情報を扱うサブブロックのうち、連続して行われるサブブロックのうち、最初と最後のサブブロック以外のサブブロックに対しては消費電力バランス設計を行わないので、消費電力の増大を抑えると共に、回路の増加も抑えることが出来る。
【0046】
実施の形態3.
実施の形態1および2は、暗号アルゴリズムを平面状に展開した回路構成における暗号セキュア装置1の構成方法を示した。
実施の形態3では、暗号アルゴリズムをループ状に展開した回路構成における暗号セキュア装置1の構成方法について述べる。
【0047】
図7は、暗号アルゴリズムをループ状に展開した回路構成図を示している。図において、情報処理部200は機密情報を扱わないサブブロックであり、入力インタフェースなどに相当する。機密情報処理部70は機密情報を扱うサブブロックであり、一般的な暗号アルゴリズムでの1ラウンドや1ループに相当する。レジスタ71は機密情報処理部70の出力結果を記録する。セレクタ72は、セレクタ信号(図示せず)に従い情報処理部200からの信号とレジスタ71からの信号のいずれかを選択する。情報処理部230も情報処理部200と同様に機密情報を扱わないサブブロックで出力インタフェースなどに相当する。機密情報生成部240は機密情報を生成するサブブロックであり、一般的な暗号アルゴリズムでの拡大鍵生成などに相当する。機密情報生成部240は、機密情報処理部70の演算処理に対応する機密情報を機密情報処理部70に対して提供する。
【0048】
このように、実施の形態3では、消費電力バランス設計を機密情報生成部240と機密情報処理部70に対してのみ行う。そのため、機密情報処理部70がループ状に展開した回路構成を持つことにより、暗号アルゴリズムを平面状に展開した回路構成に比べ、消費電力バランス設計による回路の規模を必要最小限に抑えることが出来る。
【0049】
実施の形態4.
実施の形態3は、暗号アルゴリズムのループ構造に分岐がない例を示した。実施の形態4では、暗号アルゴリズムのループ構造に分岐がある回路構成における暗号セキュア装置1の構成方法について述べる。
【0050】
図8は、ループ構造に分岐がある暗号アルゴリズムの回路構成例を示している。図において、情報処理部200は機密情報を扱わないサブブロックであり、入力インタフェースなどに相当する。機密情報処理部70は機密情報を扱うサブブロックであり、一般的な暗号アルゴリズムでの1ラウンドや1ループに相当する。セレクタ80は機密情報処理部70からの信号とセレクタ72からの信号のいずれかをセレクタ信号(図示せず)に従い選択する。レジスタ71はセレクタ80の出力結果を記録する。セレクタ72は、情報処理部200からの信号とレジスタ71からの信号のいずれかをセレクタ信号(図示せず)に従い選択する。情報処理部230も情報処理部200と同様に機密情報を扱わないサブブロックで出力インタフェースなどに相当する。機密情報生成部240は機密情報を生成するサブブロックであり、一般的な暗号アルゴリズムでの拡大鍵生成などに相当する。機密情報生成部240は、機密情報処理部70の演算状態に対応する機密情報を機密情報処理部70に対して提供する。
【0051】
このように、実施の形態4では、消費電力バランス設計を機密情報生成部240と機密情報処理部70に対してのみ行い、暗号アルゴリズム上、機密情報処理部70を使用しない分岐中でも、機密情報処理部70を動作させる。そのため、暗号アルゴリズム上、機密情報処理部70を使用しない分岐の情報と消費電力との関連性を低くすることが出来る。
【0052】
実施の形態5.
実施の形態4は、暗号アルゴリズムのループ構造に分岐がある例を示した。実施の形態5では、暗号アルゴリズムのループ構造の分岐に、積極的に機密情報と無関係な情報を反映させる例について述べる。
【0053】
図9は、ループ構造に分岐がある暗号アルゴリズムの回路に、積極的に機密情報とは無関係な情報を反映させる構成例を示している。図において、情報処理部200は機密情報を扱わないサブブロックであり、入力インタフェースなどに相当する。乱数発生器12は消費電力バランス設計を行った乱数を発生させる機器である。セレクタ90は、セレクタ72の信号と乱数発生器12の信号のいずれかをセレクタ信号(図示せず)に従い選択する。機密情報処理部70は、原則として機密情報を扱うサブブロックであり、一般的な暗号アルゴリズムでの1ラウンドや1ループに相当する。ただし、機密情報処理部70が機密情報を処理しないタイミングであっても、機密情報処理部70に分岐する場合がある。この場合には、乱数発生器12によって発生した乱数をセレクタ90が選択し、機密情報処理部70は、乱数を入力信号として処理を行う。すなわち、機密情報処理部70は、乱数発生器12によって発生された乱数をダミーの情報としてにダミーの情報を処理する。
セレクタ80は機密情報処理部70からの信号とセレクタ72からの信号のいずれかをセレクタ信号(図示せず)に従い選択する。レジスタ91はセレクタ80の出力結果を記録する。セレクタ72は、情報処理部200からの信号とレジスタ91からの信号のいずれかをセレクタ信号(図示せず)に従い選択する。情報処理部230も情報処理部200と同様に機密情報を扱わないサブブロックで出力インタフェースなどに相当する。機密情報生成部240は機密情報を生成するサブブロックであり、一般的な暗号アルゴリズムでの拡大鍵生成などに相当する。機密情報生成部240は、機密情報処理部70の演算状態に対応する機密情報を機密情報処理部70に対して提供する。
【0054】
また、消費電力バランス設計が行われた回路の出力を乱数として扱うことを特徴とする暗号セキュア装置1について説明した。
【0055】
このように、実施の形態5では、消費電力バランス設計を機密情報生成部240、機密情報処理部70、乱数発生器12に対してのみ行い、さらに、暗号アルゴリズム上、機密情報処理部70を使用しない分岐中でも、機密情報処理部70を乱数発生器12の信号で動作させる。そのため、暗号アルゴリズム上、機密情報処理部70を使用しない分岐の情報と消費電力との関連性を低くすることが出来る。
【0056】
上記すべての実施の形態では、消費電力バランス設計として、回路内部で処理されているデータと外部に漏れ出る消費電力との関連性を極力小さくする設計について述べた。しかし、消費電力は、機密情報を処理する時に消費する消費エネルギーの一例であり、すべての実施の形態に記載の消費電力バランス設計は、機密情報と消費エネルギーとの関連性を極力小さくする設計として用いることができる。
【0057】
すべての実施の形態では、各構成要素の各動作はお互いに関連しており、各構成要素の動作は、上記に示された動作の関連を考慮しながら、一連の動作として置き換えることができる。そして、このように置き換えることにより、セキュア装置の発明をセキュア方法の発明の実施形態とすることができる。
また、上記各構成要素の動作を、各構成要素の処理と置き換えることにより、セキュア装置の発明をセキュアプログラムの実施の形態とすることができる。
また、セキュアプログラムを、セキュアプログラムを記録したコンピュータ読み取り可能な記録媒体に記憶させることで、セキュアプログラムに記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。
【0058】
従って、セキュアプログラムの実施の形態は、
エネルギーを消費して機密情報を処理する処理と、
ダミーのエネルギーの消費を行うことで上記機密情報の処理で消費する消費エネルギーの量をカモフラージュすることにより、上記機密情報の処理で消費する消費エネルギーの量から上記処理される機密情報の漏洩を抑止する処理とをコンピュータに実行させるセキュアプログラムをコンピュータに実行させるためのセキュアプログラムを記録したコンピュータ読み取り可能な記録媒体、というように、セキュアプログラムに記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。
【0059】
上記プログラムの実施の形態及びプログラムに記録したコンピュータ読み取り可能な記録媒体の実施の形態は、すべてコンピュータで動作可能なプログラムにより構成することができる。
上記プログラムの実施の形態およびプログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態における各処理はプログラムで実行されるが、このプログラムは、記録装置に記録されていて、記録装置から中央処理装置(CPU)に読み込まれ、中央処理装置によって、各フローチャートが実行されることになる。
また、各実施の形態のソフトウェアやプログラムは、ROM(READ ONLY MEMORY)に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアとファームウェアとハードウェアとの組み合わせで前述したプログラムの各機能を実現しても構わない。
【0060】
【発明の効果】
本発明によれば、機密情報処理部は、ダミーのエネルギーの消費を行うことでロジック部が消費する消費エネルギーの量をカモフラージュすることにより上記ロジック部が消費する消費エネルギー量から上記ロジック部によって処理される機密情報の漏洩を抑止する抑止部を備えたので、消費エネルギー量と機密情報の関連性を小さくすることが出来る。
【図面の簡単な説明】
【図1】実施の形態1の暗号セキュア装置1の回路構成図である。
【図2】DES暗号の基本構造を模式的に現した図である。
【図3】消費電力バランス設計を行う例を示す図である。
【図4】基本ブロック部4を提示する図である。
【図5】図4の回路に対応する消費電力バランス設計が行われ、機密情報処理部に追加される追加回路を示す図である。
【図6】実施の形態2における暗号処理部11のブロック図である。
【図7】暗号アルゴリズムをループ状に展開した回路構成例を示す図である。
【図8】ループ構造に分岐がある暗号アルゴリズムの回路構成例を示す図である。
【図9】ループ構造に分岐がある暗号アルゴリズムの回路に、積極的に機密情報とは無関係な情報を反映させる構成例を示す図である。
【図10】従来例を示す図である。
【図11】従来例を示す図である。
【図12】従来例を示す図である。
【符号の説明】
1 暗号セキュア装置、4 基本ブロック部、5 バランス基本ブロック部、10 マイクロプロセッサ、11 暗号処理部、12 乱数発生器、13 通信部、41,42 ロジック部、43 セレクタ、44 FF、46 入力部、48 出力部、50 インバータ、51 バランスロジック部、52 バランスロジック部、55,56 抑止部、200 情報処理部、210,211,212,213,214,611,612,613 機密情報処理部、240 機密情報生成部。
Claims (13)
- 機密情報を処理する機密情報処理部を備えるセキュア装置であって、
上記機密情報処理部は、エネルギーを消費して機密情報を処理するロジック部と、
ダミーのエネルギーの消費を行うことで上記ロジック部が消費する消費エネルギーの量をカモフラージュすることにより上記ロジック部が消費する消費エネルギーの量から上記ロジック部によって処理される機密情報の漏洩を抑止する抑止部とを備えたセキュア装置。 - 上記セキュア装置は、上記機密情報処理部を複数有し、
上記複数の機密情報処理部の各機密情報処理部の少なくともいずれかに上記抑止部を備える請求項1に記載されたセキュア装置。 - 上記セキュア装置は、上記機密情報処理部を複数有し、
上記複数の機密情報処理部の各機密情報処理部は、直列に配置され、直列に配置された両端の機密情報処理部に上記抑止部を備える請求項1に記載されたセキュア装置。 - 上記セキュア装置は、上記機密情報処理部を複数有し、
上記複数の機密情報処理部の各機密情報処理部は、直列に配置され、上記抑止部を各々備え、
各抑止部は、前の機密情報処理部によって処理された処理結果を次の機密情報処理部の抑止部の入力情報とする請求項1に記載されたセキュア装置。 - 上記セキュア装置は、さらに、
上記機密鍵情報を生成する機密情報生成部を有し、
上記機密情報生成部と上記機密情報処理部とは、上記抑止部を各々有し、
上記機密情報処理部は、上記機密情報生成部によって生成された機密鍵情報を使用して機密情報を処理し、
上記セキュア装置は、上記機密情報生成部と上記機密情報処理部とが各々有する各抑止部によって消費される消費エネルギー量を使用して上記機密鍵情報及び上記機密情報が外部に漏洩することを防止する請求項1に記載されたセキュア装置。 - 上記ロジック部は、回路によって機密情報を処理し、
上記抑止部は、上記ロジック部の回路から任意のタイミングで出力される信号に対し反転した信号を出力する反転回路を備え、反転回路によって所定の情報を処理する請求項1に記載されたセキュア装置。 - 上記ロジック部は、ループ処理を行う回路によって機密情報を処理する請求項1に記載されたセキュア装置。
- 上記セキュア装置は、さらに、分岐回路を備え、
上記セキュア装置は、機密情報を処理する場合には分岐回路によって上記機密情報処理部に分岐し上記機密情報処理部に機密情報を処理させるとともに、機密情報を処理しない任意のタイミングにも分岐回路によって上記機密情報処理部に分岐し上記機密情報処理部にダミーの情報を処理させる請求項7に記載されたセキュア装置。 - 上記セキュア装置は、さらに、
乱数を発生する乱数発生器を備え、
上記セキュア装置は、上記乱数発生器によって発生された乱数をダミーの情報として上記機密情報処理部にダミーの情報を処理させる請求項8に記載されたセキュア装置。 - 上記機密情報処理部は、さらに、
機密情報を入力する入力部を備え、
上記入力部は、インバータを有し、
上記抑止部は、上記ロジック部を構成しているアンド回路をオア回路に置き換え、オア回路をアンド回路に置き換え、ナンド回路をノア回路に置き換え、ノア回路をナンド回路に置き換え、ノット回路をノット回路のままにした上記反転回路を備え、上記入力部に入力された後上記インバータにより反転された情報を上記反転回路によって処理する請求項6に記載されたセキュア装置。 - 上記セキュア装置は、
上記抑止部によって処理された所定の情報を乱数として使用する請求項1に記載されたセキュア装置。 - エネルギーを消費して機密情報を処理し、
ダミーのエネルギーの消費を行うことで上記機密情報の処理で消費する消費エネルギーの量をカモフラージュすることにより、上記機密情報の処理で消費する消費エネルギーの量から上記処理される機密情報の漏洩を抑止するセキュア方法。 - エネルギーを消費して機密情報を処理する処理と、
ダミーのエネルギーの消費を行うことで上記機密情報の処理で消費する消費エネルギーの量をカモフラージュすることにより、上記機密情報の処理で消費する消費エネルギーの量から上記処理される機密情報の漏洩を抑止する処理とをコンピュータに実行させるセキュアプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002314892A JP4588969B2 (ja) | 2002-10-29 | 2002-10-29 | セキュア装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002314892A JP4588969B2 (ja) | 2002-10-29 | 2002-10-29 | セキュア装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004153460A true JP2004153460A (ja) | 2004-05-27 |
JP4588969B2 JP4588969B2 (ja) | 2010-12-01 |
Family
ID=32459084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002314892A Expired - Fee Related JP4588969B2 (ja) | 2002-10-29 | 2002-10-29 | セキュア装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4588969B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006025366A (ja) * | 2004-07-09 | 2006-01-26 | Sony Corp | 暗号化装置及び半導体集積回路 |
JP2006054568A (ja) * | 2004-08-10 | 2006-02-23 | Sony Corp | 暗号化装置、復号化装置、および方法、並びにコンピュータ・プログラム |
JP2014216659A (ja) * | 2013-04-22 | 2014-11-17 | 三菱電機株式会社 | 耐タンパメモリ方式 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000066585A (ja) * | 1998-08-20 | 2000-03-03 | Toshiba Corp | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
JP2000259784A (ja) * | 1999-03-09 | 2000-09-22 | Hitachi Ltd | Icカードと半導体集積回路装置 |
JP2002311826A (ja) * | 2001-04-16 | 2002-10-25 | Hitachi Ltd | 暗号化・復号化装置、暗号化・復号化方法、データの暗号化方法及びicカード |
-
2002
- 2002-10-29 JP JP2002314892A patent/JP4588969B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000066585A (ja) * | 1998-08-20 | 2000-03-03 | Toshiba Corp | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
JP2000259784A (ja) * | 1999-03-09 | 2000-09-22 | Hitachi Ltd | Icカードと半導体集積回路装置 |
JP2002311826A (ja) * | 2001-04-16 | 2002-10-25 | Hitachi Ltd | 暗号化・復号化装置、暗号化・復号化方法、データの暗号化方法及びicカード |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006025366A (ja) * | 2004-07-09 | 2006-01-26 | Sony Corp | 暗号化装置及び半導体集積回路 |
JP2006054568A (ja) * | 2004-08-10 | 2006-02-23 | Sony Corp | 暗号化装置、復号化装置、および方法、並びにコンピュータ・プログラム |
JP2014216659A (ja) * | 2013-04-22 | 2014-11-17 | 三菱電機株式会社 | 耐タンパメモリ方式 |
Also Published As
Publication number | Publication date |
---|---|
JP4588969B2 (ja) | 2010-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6244429B2 (ja) | ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム | |
Trichina | Combinational logic design for AES subbyte transformation on masked data | |
KR100725169B1 (ko) | 전력 분석 공격에 안전한 논리 연산 장치 및 방법 | |
JP5242560B2 (ja) | 暗号化装置、復号化装置、暗号化方法及び集積回路 | |
RU2279123C2 (ru) | Вычислительный модуль и способ выполнения арифметической операции с зашифрованными операндами | |
US7659837B2 (en) | Operation processing apparatus, operation processing control method, and computer program | |
US8325928B2 (en) | Security countermeasure for power analysis attacks | |
US9515820B2 (en) | Protection against side channels | |
EP1836554B1 (en) | Method and related device for hardware-oriented conversion between arithmetic and boolean random masking | |
Yuksel | Universal hashing for ultra-low-power cryptographic hardware applications | |
Liu et al. | A true random-based differential power analysis countermeasure circuit for an AES engine | |
JP2004304800A (ja) | データ処理装置におけるサイドチャネル攻撃防止 | |
JP2007251783A (ja) | 半導体装置の被処理データのスクランブル/デスクランブル方法、そのプログラム、スクランブル/デスクランブル回路、及びそれらを備える半導体装置 | |
EP1587237B1 (en) | Security countermeasures for power analysis attacks | |
JP2004109420A (ja) | 乱数生成装置及び乱数生成方法 | |
US11838403B2 (en) | Method and apparatus for an ultra low power VLSI implementation of the 128-bit AES algorithm using a novel approach to the shiftrow transformation | |
JP2004054128A (ja) | 暗号化装置 | |
JP4588969B2 (ja) | セキュア装置 | |
JP2004078053A (ja) | 暗号化装置 | |
EP2928111B1 (en) | Method for performing an encryption with look-up tables, and corresponding encryption apparatus and computer program product | |
Chaves et al. | SCA-Resistance for AES: How Cheap Can We Go? | |
JP2006025366A (ja) | 暗号化装置及び半導体集積回路 | |
Raj et al. | Security Enhancement of Information using Multilayered Cryptographic Algorithm | |
CN111602367A (zh) | 用于保护在使白盒密码算法安全的对策中使用的熵源的方法 | |
JP2004531762A (ja) | モジュラ関数を使用する計算を暗号化する方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040519 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041025 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051011 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090626 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100302 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100519 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100609 |
|
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: 20100907 |
|
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: 20100909 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4588969 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130917 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |