JP5863994B2 - 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法 - Google Patents

統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法 Download PDF

Info

Publication number
JP5863994B2
JP5863994B2 JP2014551769A JP2014551769A JP5863994B2 JP 5863994 B2 JP5863994 B2 JP 5863994B2 JP 2014551769 A JP2014551769 A JP 2014551769A JP 2014551769 A JP2014551769 A JP 2014551769A JP 5863994 B2 JP5863994 B2 JP 5863994B2
Authority
JP
Japan
Prior art keywords
function
encryption
signal
security device
integrated security
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014551769A
Other languages
English (en)
Other versions
JPWO2014091559A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5863994B2 publication Critical patent/JP5863994B2/ja
Publication of JPWO2014091559A1 publication Critical patent/JPWO2014091559A1/ja
Active 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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

本発明は、認証処理や暗号化処理などのセキュリティ機能を実行する論理回路に関するものであり、暗号処理で用いる秘密情報あるいは装置を認証するために必要なチップ固有のID生成、物理乱数、および暗号化・復号機能を小規模な論理回路にて提供するための統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法に関するものである。
近年、携帯電話に代表される組み込み機器のネットワーク化に伴い、組み込み機器で扱うデータの秘匿や完全性の保持、および組み込み機器そのものを認証するために、組み込み機器が情報セキュリティに関わる処理を行う必要性が高まっている。このような情報セキュリティに関わる処理は、暗号化アルゴリズムあるいは認証アルゴリズムによって実現される。
ここで、2つのLSIが認証を行い、接続された機器が正当な機器であることを確かめ合うシステムを考える。この具体例としては、携帯電話本体に搭載されたLSIが、そのバッテリに搭載されたLSIを認証し、接続を許されたバッテリであることを確かめる、といったケースが挙げられる。
このような機能は、一般に、次の認証プロトコルで実現される。
(1)あらかじめ、携帯電話本体に搭載されたLSI、およびバッテリに搭載されたLSIに、それぞれ秘密情報Kを格納する。
(2)認証時、携帯電話本体は、乱数Cをバッテリ側に送る。同時に、暗号化関数Enc(C、K)=Rを実行し、Rmとして保持する。
(3)バッテリ側は、送られてきた乱数Cに対して本体側と同様に、暗号化関数Enc(C、K)=Rを実行し、実行結果をRsとして本体側に送信する。
(4)本体側は、バッテリ側から受信したRsと自身が計算したRmとが等しくなるか否かをチェックし、等しくなれば認証をOKとし、異なっていれば認証をNGとする。
このプロトコルでは、携帯電話本体、バッテリが、それぞれ同じ秘密情報Kを持っていれば、認証をパスすることできる点がポイントとなる。
このプロトコルを実行する上で大前提となるのは、各機器が秘密情報Kを「安全に」保持していることである。この「安全に」の意味は、その機器を正当に利用可能な者以外が、秘密情報の読み取りあるいは改竄が困難であることを指す。
秘密情報を安全に保持する方法として、PUF(Physical Unclonable Function)と呼ばれる技術がある。PUFの大きな特徴は、秘密情報Kを機器内に不揮発的なデジタルデータとして保持しない点にある。そして、このようなPUFの実施形態は、いくつか存在する(例えば、特許文献1、2参照)。
ここで、上述した(1)から(4)で構成されるプロトコルを、より細かい機能に分けた場合、少なくとも、以下の3つの機能が必要になることがわかる。
<機能1>秘密情報Kを安全に機器内でそれぞれ保持する機能。
<機能2>乱数Cを生成する機能。
<機能3>暗号化関数Encを処理する機能。
<機能1>は、上述したPUFによって達成可能な機能である。また、<機能2>は、再現性のない乱数生成が必要であるため、物理乱数生成器である必要がある。さらに、<機能3>は、AES(Advanced Encryption Standard:米国標準暗号)などのブロック暗号アルゴリズムの処理が代表的な例として挙げられる。
特表2009−524998号公報 特表2009−533741号公報
Daisuke Suzuki and Koichi Shimizu. The glitch puf: a new delay-puf architecture exploiting glitch shapes. In Proceedings of the 12th international conference on Cryptographic hardware and embedded systems, CHES'10, pages 366-382, Berlin, Heidelberg, 2010. Springer-Verlag.
しかしながら、従来技術には、以下のような課題がある。
上述した認証プロトコルを実現するためには、それぞれPUF回路、物理乱数発生回路、暗号化回路の3つの回路をLSIにそれぞれ個別に実装し、制御回路やCPUなどによって、それらの機能を統合するのが一般的である。
この場合、3つの異なる回路を個別に実装する必要があるため、回路規模が大きく、異なる回路に対して、それぞれ個別のテストが必要であるという問題があった。
本発明は、前記のような課題を解決するためになされたものであり、3つの異なる回路を同一の回路に統合し、回路規模を縮小し、かつテストを容易化することのできる統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法を得ることを目的とする。
本発明に係る統合セキュリティ装置は、暗号化・復号関数を構成する論理回路を利用して、認証に必要な処理を実行する暗号化・復号処理部と、外部からの選択信号に応じて、論理回路の複数の中間ノードからの信号のうち、特定の本数分の信号を選択する選択器と、選択器により選択された特定の本数分の信号により発生するグリッジを検出する機能を有するとともに、選択器に対して外部信号を与えることで特定の本数分の信号を切り替え選択し、切り替え選択した特定の本数分の信号に応じて検出したグリッジに基づいて、物理的特性によってデバイス識別子を生成する機能と、物理乱数を発生する機能の両機能を実現する信号処理部とを備えるものである。
また、本発明に係る統合セキュリティ装置に用いられる信号処理方法は、暗号化・復号関数を構成する論理回路を利用して、認証に必要な処理を実行する暗号化・復号処理ステップと、外部からの選択信号に応じて選択器を切り替えることで、論理回路の複数の中間ノードからの信号のうち、特定の本数分の信号を選択する選択ステップと、選択ステップにより選択された特定の本数分の信号により発生するグリッジを検出する機能を実行するとともに、選択器に対して外部信号を与えることで特定の本数分の信号を切り替え選択し、切り替え選択した特定の本数分の信号に応じて検出したグリッジに基づいて、物理的特性によってデバイス識別子を生成する機能と、物理乱数を発生する機能の両機能を実行する信号処理ステップとを備えるものである。
本発明によれば、PUFとして動作する場合のランダムロジックと、物理乱数発生器として動作する場合のランダムロジックを、それぞれ暗号化関数の処理としてもともと実装されている回路を使用して実現することにより、3つの異なる回路を同一の回路に統合し、回路規模を縮小し、かつテストを容易化することのできる統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法を得ることができる。
本発明の実施の形態1に係るPUFの機能、乱数生成の機能、および暗号化機能を統合したセキュリティ装置のブロック図である。 本発明の実施の形態2に係るPUFの機能、乱数生成の機能、および暗号化機能を統合したセキュリティ装置のブロック図である。 本発明の実施の形態3に係るPUFの機能、乱数生成の機能、および暗号化機能を統合したセキュリティ装置のブロック図である。 本発明の実施の形態3における2元対象通信路のモデルである。 本発明の実施の形態4に係るPUFの機能、乱数生成の機能、および暗号化機能を統合したセキュリティ装置のブロック図である。 本発明の実施の形態5に係るPUFの機能、乱数生成の機能、および暗号化機能を統合したセキュリティ装置のブロック図である。 本発明の実施の形態5における図6に、Fuzzy Extractorの機能を追加し、PUFを用いた鍵生成機能を付加した構成を示すブロック図である。 本発明の実施の形態5による認証機能を実現するためのハードウェアアーキテクチャである。 Glitch PUFの原理を説明するための論理回路の一例である。 GPUF回路の構成図の一例である。
以下、本発明の統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法の好適な実施の形態につき図面を用いて説明する。
まず、本発明の実施の形態を説明する前に、前提となる技術であるFuzzy Extractorと、Glitch PUFについて説明する。
<Fuzzy Extractorの説明>
一般に、PUFの応答をそのまま暗号に使用する鍵として用いることは難しい。なぜならば、PUFの応答が毎回誤りを含まず、かつその応答が一様分布であることを保証することが難しいためである。そこで、通常は、Fuzzy Extractor(以下、FEと称す)を用いて、鍵生成を行う。FEの構成法は、いくつかのバージョンが存在するが、本願では、コードオフセットによる構成について説明する。
アルゴリズム1およびアルゴリズム2として、コードオフセットによるFEの処理を、それぞれ下表1、下表2にまとめて示す。
Figure 0005863994
Figure 0005863994
アルゴリズム1は、FEにおける初期鍵に当たる鍵生成処理であり、アルゴリズム2は、初期鍵と同一のビット列を生成するための鍵再現処理である。
アルゴリズム1およびアルゴリズム2におけるEncodeC、DecodeCは、それぞれ誤り訂正符号Cにおける符号化処理と訂正処理を表す。生成鍵と再現鍵の一致は、アルゴリズム1およびアルゴリズム2におけるPUF応答のハミング距離について、下式(1)で保証される。
Figure 0005863994
また、kビットのPUF出力が持つチップ間での情報量をk’とすれば、下式(2)が適切なデザインパラメータとなる。
Figure 0005863994
<Glitch PUFの説明>
Glitch PUF(以下、GPUFと称す)は、論理回路を構成する各ゲートの入出力信号間の遅延関係によって発生するグリッチと呼ばれる現象を利用したPUFの一構成法である。
図9は、Glitch PUFの原理を説明するための論理回路の一例であり、AND回路91およびXOR回路92で構成されている場合を例示している。以下、この図9に示す簡単な論理回路で、その原理を説明する。図9のような、複数の入力信号に対して、AND回路91やXOR回路92などの論理演算を行う回路においては、一般に、各信号の遅延差によって、グリッチと呼ばれる信号の過渡遷移が発生する。
図9では、入力信号(x1、x2、x3)が全て0から1に変化する場合、x1、x2の信号変化の時間差によって、まずXOR回路92の出力に凸状のグリッチが発生する。そして、次に、x3の変化が、このグリッチよりも早くAND回路91に到達すれば、このグリッチは、AND回路91の出力に伝播する(図9における左側に示した波形参照)。逆に、x3の変化が、このグリッチよりも遅くAND回路91に到達すれば、このグリッチはAND回路91の出力には伝播しない(図9における右側に示した波形参照)。
さらに、もし、x3の方が早い場合であっても、AND回路91のトランジスタ特性に依存して、幅の短いグリッチが出力に伝播しないといったことが起こる。ただし、十分に幅の長いグリッチに限定すれば、そのグリッチ形状は、Arbiter−PUFなどのDelay−PUFと同様に、遅延の相対関係によって確定し、その形状は、動作環境が変化しても維持されることが期待できる。
GPUFの構成法は、非特許文献1で示される。ここで、アルゴリズム3およびアルゴリズム4として、GPUFの動作を擬似コード化した記述を、下表3、下表4として示す。
Figure 0005863994
Figure 0005863994
アルゴリズム3は、鍵生成処理時におけるGPUFの動作を表す。鍵生成処理時には、PUF応答のエラーレートを下げるために、同一の入力状態遷移に対してエッジの偶奇判定を複数回行い、その出力が安定的か否かを検査する処理を行う。具体的には、繰り返し回数cntreで規定される回数分、繰り返し処理を行う。
その後、出力ビット毎に安定性判定閾値therrを基準として、ビットの安定性に関する検査を行い、基準を満たさないビットは、そのビットに対応する補助データSmaskのビット値を0とすることで、鍵生成時および鍵再現時に0として扱う処理を行う。
これに対して、アルゴリズム4に示す鍵再現処理時におけるGlitch PUFの動作では、繰り返し処理は、生成時と同様に実施されるが、最終的な応答は、多数決判定とSmaskによるマスク処理で決める。
図10は、GPUF回路の構成図の一例である。図10中の“Input register”101は、アルゴリズム3、4におけるx’i、xiを格納するレジスタである。また、図10中の“Random logic f”102は、アルゴリズム3、4におけるランダムロジックfを処理する組み合わせ回路である。
また、図10中の“Glitch count register”103は、立ち上がりエッジの偶奇数を判定する信号をクロックとするフリップ・フロップ(FF)である。このFFは、判定処理を行う直前に、図10中の“clear”信号によってリセットされる。
また、図10中の“Output register”104は、“Glitch count register”103に格納された立ち上がりエッジの偶奇数の判定結果biを再格納するレジスタである。
さらに、図10中の“Counter & Comparator”105は、判定結果biに基づき、ビット毎にその0、1の出現回数を管理するレジスタ105aを有し、出現関数に応じてPUF応答wiiおよび補助データsm iiの計算を行う。
以下、理解を助けるために、具体的な例を挙げて図10の動作を説明する。
図10中の“Input register”101を8bitのレジスタとし、0x00を保持した状態から0x55に変化させるとする。この動作がアルゴリズム3、4におけるx’i→xiに相当する。
このとき、組み合わせ回路である“Random logic f”102の入力が変化するため、その出力も変化する。出力には“Random logic f”102の回路遅延のばらつきによって、LSI毎に、先の図9に示したような、パルスの有無が異なる挙動をする。
ここで、cntre=7、therr=0であるとすれば、0x00→0x55の入力変化を7回実行する。アルゴリズム3では、7回の入力変化0x00→0x55に応じて発生するパルスの偶奇がすべて一致した場合、sii←1となる。一方、1回でもパルスの偶奇が異なればsii←0となる。また、7回とも偶数であれば、wii←0、奇数であればwii←1となる。
上述した判定は、図10の“Counter & Comparator”105で処理される。例えば、アルゴリズム3においては、7回とも1であれば、“Counter & Comparator”105の3ビットのカウンタには、1、1、1が格納される。よって、そのビット毎のAND結果は、1となり、sii←1となる。
また、7回とも0であれば、3ビットのカウンタには0、0、0が格納される。よってそのNAND結果は、1となり、sii←1となる。1回でも偶奇が異なれば、3ビットのレジスタはすべて同じ値とならないため、sii←0となる。
また、アルゴリズム4においては、7回の同じ入力変化に対応する応答が、4回以上1であればwii←1となり、4回以上0であればwii←0となる。いずれも、カウンタのMSBを出力することで、判定機能を実現できる。
以上より、アルゴリズム3では、7回とも応答が一致する安定した出力を返す入力変化であればsii←1となり、そうでなれければsii←0となる。また、アルゴリズム4では、アルゴリズム3で安定した応答を返すと判定された入力変化に対して、その応答に対して多数決判定を行い、応答を決定する。
GPUFの応答の安定性、すなわち、応答ビットの誤り確率は、“Random logic f”102の回路構成に依存する。このビット誤り率は、論理段数が深くなるほど上昇する傾向がある。例えば、ある論理段数で1%の誤り確率となるが、論理段数が増加すれば誤り確率が10%になるといった依存性がある。
前提となる技術であるFuzzy Extractorと、Glitch PUFに関する以上の説明を踏まえた上で、以下、本発明の実施の形態について図面を参照しながら説明する。
実施の形態1.
図1は、本発明の実施の形態1に係るPUFの機能、乱数生成の機能、および暗号化機能を統合したセキュリティ装置のブロック図である。暗号化・復号器11は、通常の暗号化・復号処理を行う回路ブロックである。そして、暗号化・復号器11を構成する論理回路の複数の中間ノードの信号が、回路ブロックの外部へ出力される。
選択器12は、暗号化・復号器11から出力された複数の中間ノードの信号の中から、特定の本数分の信号を選択する。さらに、グリッチ検出器13は、選択器12で選定された信号に対してグリッチ検出を行い、検出結果を出力する。
なお、暗号化・復号器11に入力されるパス変更信号は、暗号化・復号器11で処理されるデータが通過する回路を切り替えるための信号である。また、選択器12に入力される中間ノード選択信号の値によって、選択器12によって選択される中間ノードが切り替わる。
このように、中間ノード選択信号を用いることで、PUFとして動作する際にグリッチ検出を行う中間ノードの信号と、物理乱数として動作する際にグリッチ検出を行う中間ノードの信号を切り替えることができ、同一のグリッジ検出器13を用いることが可能となる。
実施の形態2.
本実施の形態2では、先の実施の形態1における図1の構成をより具体化した態様について説明する。図2は、本発明の実施の形態2に係るPUFの機能、乱数生成の機能、および暗号化機能を統合したセキュリティ装置のブロック図である。
カウンタ21は、上述したように、グリッジ検出器13によるグリッチ検出結果の安定性を判定する。このときの安定性の判断に当たっては、カウンタ21の上位ビットが用いられる。例えば、多数決判定であれば、MSBにより、0、1の頻度を判定できる。また、本実施の形態2においては、カウンタ21の下位ビットを乱数として用いる。
PUFの応答は、アルゴリズム1、2に従う鍵生成器22の入力となる。第1の選択器23は、外部からの鍵選択信号に応じて、鍵生成器22の出力として複数読み込んだ信号の中から1つを選択し、暗号化・復号器11へ出力する。このようにして、第1の選択器23は、物理的特性によって生成されたデバイス識別子を、暗号化・復号器11へ与えることができる。
一方、カウンタ21の下位ビットの出力に相当する乱数出力は、第2の選択器24に読み込まれる。そして、第2の選択器24は、外部からの平文選択信号に応じて、外部からの平文/暗号文入力のいずれかを選択し、カウンタ21から読み取った乱数出力とともに、暗号化・復号器11へ出力する。
この結果、暗号化・復号器11は、物理的特性によって生成されたデバイス識別子と乱数に基づいて、暗号化関数を処理することができる。
実施の形態3.
図3は、本発明の実施の形態3に係るPUFの機能、乱数生成の機能、および暗号化機能を統合したセキュリティ装置のブロック図である。まず、暗号化関数Encについて説明する。なお、ここでは、説明の簡易化のために、暗号化関数で用いる秘密情報Kを省略する。
一般的な暗号化関数は、副関数の繰り返しで構成される。例えば、図3の例では、副関数f32および副関数g33の繰り返し処理により暗号化関数Encの処理が定義される。すなわち、繰り返し回数をnとすれば、図3中の“input register”31に格納された平文Pに対して
1=g(f(P));
の処理が行われ“input register”31の値がH1に更新される。
同様に、
2=g(f(H1));
の処理を行い、このような処理をn回繰り返した後に“input register”31に格納される
C=Hn=g(f(Hn-1));
を暗号文Cとして、暗号化関数の処理を終了する。
このとき、本実施の形態3では、前記の暗号化関数Encの処理を行う回路パスから、副関数f32および副関数g33の信号線を引き出し、各信号線を選択可能とするセレクタ34を設けている。このとき、PUFの機能を動作させる場合には、副関数f32の出力を選択し、一方、物理乱数発生器の機能を動作させる場合には、副関数g33の信号線を選択する。
すなわち、論理段数が副関数f32のみで決まる信号線を、PUFのランダムロジックとして扱い、それよりも論理段数の多い、合成関数g・fを、物理乱数発生器で用いるランダムロジックとして扱う。
図3がPUFとして動作する場合は、暗号化処理において平文や中間値Hiを格納する“input register”31が、先の図10の“input register”101と同じ機能を担う。また、図3の副関数f32が、先の図10の“Random logic f”102と同じ機能を担う。
それ以降では、図10と図3の実施方法は、一致する。すなわち、図3における“PUF/RNG logic”35は、先の図10に示した“Glitch count register”103、“Output register”104、および“Counter & Comparator”105で構成されることとなる。
アルゴリズム3および4における各入力X=(x1、x2、・・・、xl)は、平文Pと鍵Kによって暗号化された暗号文C、あるいはその中間値Hiを、次の入力とすることで更新する。
図3における物理乱数発生器としての動作を、アルゴリズム5として、下表5に示す。
Figure 0005863994
アルゴリズム5は、要約すれば、アルゴリズム3あるいはアルゴリズム4における入力信号の状態遷移を限定し、GPUFの動作を行い、その後の応答としては、多数決判定ではなく、カウンタのLSBを出力する処理を行っている。従って、アルゴリズム5は、アルゴリズム3およびアルゴリズム4の処理を行う回路に、出力信号を追加するだけで実現できる。
また、図4は、本発明の実施の形態3における2元対象通信路のモデルである。アルゴリズム5でのビット反転確率は、この図4の2元対象通信路をモデル(すなわち、0から1あるいは1から0に遷移する確率がp、0から0あるいは1から1に遷移する確率が1−pとして表されるモデル)とすれば、下式(3)で表される。
Figure 0005863994
cntreが大きい場合には、小さいpでも上式(3)は0.5に収束する。例えば、cntre=255であれば、p=0.03で上記計算結果は、0.49999992976191となり、十分な乱数性を得ることができる。
図3のポイントは、PUFとして動作する場合のランダムロジックと、物理乱数発生器として動作する場合のランダムロジックを、それぞれ暗号化関数Encの処理でもともと実装する回路(副関数f、gに相当)を使用して実現することであり、かつ、それぞれの論理段数の深さに応じて切り替えることにある。さらに、PUFの入力更新を暗号化関数でスケジューリングすることにある。
実施の形態4.
先の実施の形態3では、暗号化関数Encの副関数fおよび副関数gを、PUFおよび物理乱数発生器のランダムロジックとしてそのまま利用する構成であった。しかしながら、副関数fおよび副関数gの論理段数が少ない場合には、十分なビット誤り率が得られず、PUFとして機能しても、乱数性が不十分になる可能性がある。
そこで、本実施の形態4では、暗号化関数Encがもつ回路構成にわずかな回路を追加することで、適切な乱数性を得る動作を行うことを狙った構成について説明する。
図5は、本発明の実施の形態4に係るPUFの機能、乱数生成の機能、および暗号化機能を統合したセキュリティ装置のブロック図である。この図5の構成においては、暗号化関数Encの副関数fが、ある分割された単位で行う処理であることを想定する。例えば、ブロック暗号であれば、S−boxなどの置換処理などがこれに当たる。
このとき、図5に示すように、ANDとXORゲートを用いてある副関数f52の出力を、異なる副関数f52の入力へフィードバックするパスを設ける。この場合、ANDゲートの入力信号を0とすれば、図5は、暗号化関数Encに必要な演算と等価となる。一方、ANDゲートの入力信号を1とすれば、図5は、物理乱数発生に必要な演算と等価となり、副関数fの2段分の論理段数を持つ回路パスが構成される。
これにより、もともとの暗号化関数Encが持つ論理段数が少ない場合であっても、本来の暗号化関数の機能を保ちながら、論理段数を増加させることが可能となる。
実施の形態5.
本実施の形態5では、先の実施の形態4をより具体化した構成について説明する。図6は、本発明の実施の形態5に係るPUFの機能、乱数生成の機能、および暗号化機能を統合したセキュリティ装置のブロック図である。本実施の形態5においては、暗号化関数Encとして、米国標準暗号AESを想定した構成を採用している。
図6中、左側の点線で囲まれた部分が、元々AESの機能を実現するために必要な回路である“Basic modules for AES”61であり、一方、右側の1点鎖線で囲まれた部分が、PUFおよび乱数発生のために追加する回路である“Additional modules for PUF & RNG”62である。基本動作は、先の図2と同様であり、図6中の“chain logic”と表記される論理のANDゲート入力の0、1を切り替えることで、AESおよびPUFの動作と、乱数発生の機能を切り替えることができる構成となっている。
図7は、本発明の実施の形態5における図6の構成に対して、Fuzzy Extractorの機能を追加し、PUFを用いた鍵生成機能を付加した構成を示すブロック図である。図7に示す構成により、認証プロトコルに必要な、以下の3つの機能がすべて実現される。
<機能1>秘密情報Kを安全に機器内でそれぞれ保持する。
<機能2>乱数Cを生成する。
<機能3>暗号化関数Encを処理する。
なお、この図7の動作は、アルゴリズム1、2に従う。
次に、本モジュールを用いた認証プロトコルの動作を説明する。
(動作1)アルゴリズム4に従い、本モジュールは、PUFとして動作を行い、“Additional modules for PUF & RNG”62は、PUFの応答Wを生成する。
(動作2)アルゴリズム2に従い、PUFの応答Wと補助データS、Smaskから、“Encoder/Decoder”71および“Hash”72は、鍵KPUFを生成し、本モジュールのAES回路である“Basic modules for AES”61へロードされる。
(動作3)“Basic modules for AES”61は、非セキュア領域に格納されている認証鍵Kを鍵KPUFで暗号化したデータD=Enc(K、KPUF)を暗号文として、本モジュールにロードし、K=Dec(D、KPUF)で認証鍵Kに復号する。
(動作4)“Basic modules for AES”61は、非セキュア領域に格納されている認証鍵Kを鍵KPUFで暗号化したデータD=Enc(K、KPUF)を暗号文として、本モジュールにロードし、K=Dec(D、KPUF)で認証鍵Kに復号し、本モジュールに鍵としてロードする。
(動作5)“Additional modules for PUF & RNG”62は、本モジュールで乱数生成を行ない、生成した乱数Rを認証先へ送信するために外部出力する。
(動作6)“Basic modules for AES”61は、乱数Rに対して暗号化C=Enc(R、K)を行う。
(動作7)“Basic modules for AES”61は、認証先から受信したデータC’とCを比較し、一致すれば認証OK、不一致であれば認証NGを判定する。
図8は、本発明の実施の形態1〜5による認証機能を実現するためのハードウェアアーキテクチャである。図8に示したように、本発明に係るセキュリティ装置801は、各実施の形態で説明したいずれかの統合セキュリティ装置を統合モジュール808として使用している。そして、この統合モジュール808は、ローカルバス807を介して、CPU802、メモリ803、804、I/O805と接続されている。さらに、この統合モジュール808は、FEC809を介してHF801に接続されている。このような図8のハードウェア構成として、本発明に係る統合セキュリティ装置を具現化することができる。
なお、本発明は、上述した実施の形態1〜5に限定されるものではない。すなわち、実施段階では、その要旨を逸脱しない範囲で、構成要素を変形して実施できる。また、上述した実施の形態1〜5に開示されている複数の構成要素の適宜な組合せにより、種々の発明を形成できる。加えて、実施の形態1〜5に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施の形態に亘る構成要素を適宜組合せてもよい。

Claims (7)

  1. 暗号化・復号関数を構成する論理回路を利用して、認証に必要な処理を実行する暗号化・復号処理部と、
    外部からの選択信号に応じて、前記論理回路の複数の中間ノードからの信号のうち、特定の本数分の信号を選択する選択器と、
    前記選択器により選択された前記特定の本数分の信号により発生するグリッジを検出する機能を有するとともに、前記選択器に対して前記外部信号を与えることで前記特定の本数分の信号を切り替え選択し、切り替え選択した前記特定の本数分の信号に応じて検出した前記グリッジに基づいて、物理的特性によってデバイス識別子を生成する機能と、物理乱数を発生する機能の両機能を実現する信号処理部と
    を備える統合セキュリティ装置。
  2. 請求項1に記載の統合セキュリティ装置において、
    前記暗号化・復号関数は、副関数の繰り返し処理で構成され、
    前記信号処理部は、前記選択器に対して前記外部信号を与えることで、前記繰り返し処理により更新される信号の中から前記特定の本数分の信号を選択することで、前記デバイス識別を生成する機能に必要な入力情報を取得する
    統合セキュリティ装置。
  3. 請求項1または2に記載の統合セキュリティ装置において、
    前記信号処理部により生成された前記デバイス識別子により認証に必要な鍵を保護し、発生した前記物理乱数により認証に必要なチャレンジデータを生成する鍵生成部をさらに備え、
    前記暗号化・復号処理部は、前記鍵生成部から前記鍵および前記チャレンジデータを取得し、認証に必要な暗号化・復号処理を行うことで認証プロトコルを処理する
    統合セキュリティ装置。
  4. 請求項1から3のいずれか1項に記載の統合セキュリティ装置において、
    前記暗号化・復号処理部は、前記暗号化・復号関数を構成するある1つの副関数として、N分割(Nは、2以上の整数)された単位で処理を実行する分割副関数を有し、
    前記選択器は、前記外部信号に応じて、前記分割副関数のn分割目(nは、1以上N−1以下の整数)の出力をn+1分割目の入力にフィードバックする切り替え回路を有し、
    前記信号処理部は、前記物理乱数を発生する機能を実現する際には、前記フィードバックする切り替え回路が形成されるように前記外部信号を出力し、前記物理的特性によってデバイス識別子を生成する機能を実現する際には、前記フィードバックする切り替え回路が形成されないように前記外部信号を出力する
    統合セキュリティ装置。
  5. 請求項1から4のいずれか1項に記載の統合セキュリティ装置において、
    前記信号処理部は、前記選択器を介して、所定のビット遷移確率を有する信号を所定回数繰り返して読み込んだ際の遷移状態に基づいて、前記物理乱数を発生する処理を行う
    統合セキュリティ装置。
  6. 請求項1から5のいずれか1項に記載の統合セキュリティ装置において、
    前記暗号化・復号関数は、少なくとも1段目の論理回路を構成する第1の副関数、および2段目の論理回路を構成する第2の副関数を含み、複数の論理段数により構成されており、
    前記信号処理部は、前記物理的特性によってデバイス識別子を生成する機能を実現する際には、前記第1の副関数からの出力信号を選択するように前記選択器に対して前記外部信号を与え、前記物理乱数を発生する機能を実現する際には、前記第2の副関数からの出力信号を選択するように前記選択器に対して前記外部信号を与える
    統合セキュリティ装置。
  7. 暗号化・復号関数を構成する論理回路を利用して、認証に必要な処理を実行する暗号化・復号処理ステップと、
    外部からの選択信号に応じて選択器を切り替えることで、前記論理回路の複数の中間ノードからの信号のうち、特定の本数分の信号を選択する選択ステップと、
    前記選択ステップにより選択された前記特定の本数分の信号により発生するグリッジを検出する機能を実行するとともに、前記選択器に対して前記外部信号を与えることで前記特定の本数分の信号を切り替え選択し、切り替え選択した前記特定の本数分の信号に応じて検出した前記グリッジに基づいて、物理的特性によってデバイス識別子を生成する機能と、物理乱数を発生する機能の両機能を実行する信号処理ステップと
    を備える統合セキュリティ装置に用いられる信号処理方法。
JP2014551769A 2012-12-11 2012-12-11 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法 Active JP5863994B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/082081 WO2014091559A1 (ja) 2012-12-11 2012-12-11 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法

Publications (2)

Publication Number Publication Date
JP5863994B2 true JP5863994B2 (ja) 2016-02-17
JPWO2014091559A1 JPWO2014091559A1 (ja) 2017-01-05

Family

ID=50933885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014551769A Active JP5863994B2 (ja) 2012-12-11 2012-12-11 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法

Country Status (7)

Country Link
US (1) US9722805B2 (ja)
EP (1) EP2933944B1 (ja)
JP (1) JP5863994B2 (ja)
KR (1) KR101653121B1 (ja)
CN (1) CN104838617B (ja)
TW (1) TWI484368B (ja)
WO (1) WO2014091559A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218518B2 (en) 2016-09-12 2019-02-26 Kabushiki Kaisha Toshiba Authentication server, authentication system, and authentication method

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11303461B2 (en) * 2013-09-02 2022-04-12 Samsung Electronics Co., Ltd. Security device having physical unclonable function
US10044513B2 (en) * 2013-09-02 2018-08-07 Samsung Electronics Co., Ltd. Security device having physical unclonable function
US9703989B1 (en) * 2014-12-23 2017-07-11 Altera Corporation Secure physically unclonable function (PUF) error correction
WO2017077611A1 (ja) * 2015-11-05 2017-05-11 三菱電機株式会社 セキュリティ装置、及びセキュリティ方法
US10530588B2 (en) * 2016-12-16 2020-01-07 Intel Corporation Multi-stage non-linearly cascaded physically unclonable function circuit
CN106888093B (zh) * 2017-01-05 2023-03-21 宁波大学 一种nmos零温度系数点的多端口puf电路
CN109818745B (zh) * 2017-11-21 2022-04-01 佛山芯珠微电子有限公司 物联网信息安全芯片
KR20200133062A (ko) * 2019-05-15 2020-11-26 삼성디스플레이 주식회사 디스플레이 구동 집적 회로 및 이를 포함하는 디스플레이 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005523481A (ja) * 2002-04-16 2005-08-04 マサチューセッツ インスティテュート オブ テクノロジー 集積回路の認証
WO2011086688A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 ビット列生成装置及びビット列生成方法
WO2012095972A1 (ja) * 2011-01-13 2012-07-19 三菱電機株式会社 ビット生成装置及びビット生成方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7508937B2 (en) * 2001-12-18 2009-03-24 Analog Devices, Inc. Programmable data encryption engine for advanced encryption standard algorithm
DE112004001417T5 (de) * 2003-07-31 2006-10-26 Advantest Corp. Prüfvorrichtung
US7421076B2 (en) * 2003-09-17 2008-09-02 Analog Devices, Inc. Advanced encryption standard (AES) engine with real time S-box generation
JP2006072117A (ja) 2004-09-03 2006-03-16 Matsushita Electric Ind Co Ltd 暗号処理装置
US7372304B2 (en) * 2005-10-04 2008-05-13 Stmicroelectronics, Inc. System and method for glitch detection in a secure microcontroller
TW200718143A (en) * 2005-10-21 2007-05-01 Ren Liu Mapping codes apparatus and method thereof
JP5248328B2 (ja) 2006-01-24 2013-07-31 ヴェラヨ インク 信号発生器をベースとした装置セキュリティ
EP2011123B1 (en) 2006-04-13 2015-03-04 Nxp B.V. Semiconductor device identifier generation method and semiconductor device
KR100837270B1 (ko) * 2006-06-07 2008-06-11 삼성전자주식회사 스마트 카드 및 그것의 데이터 보안 방법
EP2145448B1 (en) 2007-04-12 2011-03-09 Intrinsic ID B.V. Controlled activation of function
US8290150B2 (en) 2007-05-11 2012-10-16 Validity Sensors, Inc. Method and system for electronically securing an electronic device using physically unclonable functions
WO2009013673A2 (en) * 2007-07-20 2009-01-29 Nxp B.V. Device with a secure virtual machine
TWI345406B (en) * 2007-07-31 2011-07-11 Formosoft Internat Inc System and method of mutual authentication with dynamic password
TWI357251B (en) * 2008-01-10 2012-01-21 Ind Tech Res Inst Authentication method from elliptic curve cryptogr
FR2952735B1 (fr) * 2009-11-18 2011-12-09 St Microelectronics Rousset Procede et dispositif de detection d'attaques par injection de fautes
TWI405450B (zh) * 2009-12-30 2013-08-11 Univ Vanung Password authentication method
KR101614950B1 (ko) * 2010-04-12 2016-04-25 삼성전자주식회사 저장 장치에 물리적 식별자를 생성하는 방법 및 기계로 읽을 수 있는 저장 매체
FR2963713A1 (fr) * 2010-08-04 2012-02-10 St Microelectronics Grenoble 2 Procede de chiffrement d'un flux de donnees
WO2012122994A1 (en) * 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
EP2695052B1 (en) * 2011-04-05 2014-11-26 Intrinsic ID B.V. Random number generating system based on memory start-up noise
US9235460B2 (en) * 2012-02-27 2016-01-12 Altera Corporation Methods and apparatus for automatic fault detection
DE102012217716A1 (de) * 2012-09-28 2014-06-12 Siemens Aktiengesellschaft Selbst-Test einer Physical Unclonable Function
US10044513B2 (en) * 2013-09-02 2018-08-07 Samsung Electronics Co., Ltd. Security device having physical unclonable function

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005523481A (ja) * 2002-04-16 2005-08-04 マサチューセッツ インスティテュート オブ テクノロジー 集積回路の認証
WO2011086688A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 ビット列生成装置及びビット列生成方法
WO2012095972A1 (ja) * 2011-01-13 2012-07-19 三菱電機株式会社 ビット生成装置及びビット生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6015046676; Suh, G.E.: 'Aegis: A Single-Chip Secure Processor' Design & Test of Computers Volume:24 Issue:6, 200711, 570-580, IEEE *
JPN6015046679; 鈴木 大輔 Daisuke SUZUKI: 'グリッチPUFを用いた鍵生成' 2012 第29回 暗号と情報セキュリティシンポジウム概要集 [CD-ROM] 2012年 暗号と情 , 20120130, 1-7, 電子情報通信学会情報セキュリティ研究専門委員会(I *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218518B2 (en) 2016-09-12 2019-02-26 Kabushiki Kaisha Toshiba Authentication server, authentication system, and authentication method

Also Published As

Publication number Publication date
TW201423476A (zh) 2014-06-16
CN104838617A (zh) 2015-08-12
US20150312047A1 (en) 2015-10-29
US9722805B2 (en) 2017-08-01
EP2933944A1 (en) 2015-10-21
EP2933944B1 (en) 2017-09-20
WO2014091559A1 (ja) 2014-06-19
EP2933944A4 (en) 2016-08-17
TWI484368B (zh) 2015-05-11
KR101653121B1 (ko) 2016-08-31
JPWO2014091559A1 (ja) 2017-01-05
KR20150093785A (ko) 2015-08-18
CN104838617B (zh) 2018-01-02

Similar Documents

Publication Publication Date Title
JP5863994B2 (ja) 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法
US11856116B2 (en) Method and apparatus for protecting embedded software
JP6354172B2 (ja) 半導体集積回路及び認証システム
US8667265B1 (en) Hardware device binding and mutual authentication
US9031232B2 (en) Bit sequence generation apparatus and bit sequence generation method
KR101393806B1 (ko) 다단계 물리적 복제 불가 함수 시스템
US8316235B2 (en) Method and device for manipulation-proof transmission of data
CN111066077B (zh) 加密装置、加密方法、解密装置以及解密方法
US20120093308A1 (en) Apparatus and method for generating random data
CN109714368B (zh) 报文加解密方法、装置、电子设备及计算机可读存储介质
JP2017187724A (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
Hemavathy et al. Arbiter PUF-a review of design, composition, and security aspects
KR101136973B1 (ko) 통합 보안 장치 및 통합 보안 방법
Nassar et al. CaPUF: Cascaded PUF structure for machine learning resiliency
WO2019043921A1 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム
Roy et al. Combining puf with rluts: a two-party pay-per-device ip licensing scheme on fpgas
CN110545184A (zh) 通讯系统及操作通讯系统的方法
KR20150051012A (ko) Puf를 이용하는 하드웨어 암호키 생성 장치 및 방법
Chhabra et al. Towards the enhancement of AES IP security using hardware obfuscation technique: A practical approach for secure data transmission in IoT
KR101925787B1 (ko) 폰 노이만 후처리시 난수 출력 신호의 연속성을 확보하기 위한 방법 및 장치
KR101373576B1 (ko) Des 암호화 시스템
US11121884B2 (en) Electronic system capable of self-certification
Zhou et al. A Logic Encryption-Enhanced PUF Architecture to Deceive Machine Learning-Based Modeling Attacks
KR19990079634A (ko) 이동통신의 인증 및 데이타 보호방법 및 그 장치

Legal Events

Date Code Title Description
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: 20151124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151222

R150 Certificate of patent or registration of utility model

Ref document number: 5863994

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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