IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オハイオ・ステイト・イノベーション・ファウンデーションの特許一覧 ▶ ポメランス,アンドリュー ジョセフの特許一覧

特表2022-536314物理的クローン不能関数としてハイブリッドブールネットワークを使用するシステム及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-08-15
(54)【発明の名称】物理的クローン不能関数としてハイブリッドブールネットワークを使用するシステム及び方法
(51)【国際特許分類】
   H04L 9/10 20060101AFI20220805BHJP
   G06F 7/58 20060101ALI20220805BHJP
【FI】
H04L9/10 Z
G06F7/58 680
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021572580
(86)(22)【出願日】2020-04-07
(85)【翻訳文提出日】2022-01-06
(86)【国際出願番号】 US2020027072
(87)【国際公開番号】W WO2020247059
(87)【国際公開日】2020-12-10
(31)【優先権主張番号】62/858,542
(32)【優先日】2019-06-07
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/906,244
(32)【優先日】2019-09-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.VERILOG
(71)【出願人】
【識別番号】514137997
【氏名又は名称】オハイオ・ステイト・イノベーション・ファウンデーション
(71)【出願人】
【識別番号】521533784
【氏名又は名称】ポメランス,アンドリュー ジョセフ
【氏名又は名称原語表記】POMERANCE, Andrew Joseph
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(72)【発明者】
【氏名】ポメランス,アンドリュー ジョセフ
(72)【発明者】
【氏名】ゴーティエ,ダニエル
(72)【発明者】
【氏名】カナディ,ダニエル
(72)【発明者】
【氏名】シャーロット,ノエロイコー
(57)【要約】
固有の指紋を生成するためのシステム、デバイス、及び方法は本明細書に説明される。例えば、例示的な集積回路(IC)チップは物理的クローン不能関数(PUF)及び補助回路を含む。PUFはハイブリッドブールネットワークである。加えて、補助回路は過渡応答イネーブル信号を受信するように構成される。
【特許請求の範囲】
【請求項1】
ハイブリッドブールネットワークを含む物理的クローン不能関数(PUF)と、
補助回路であって、前記補助回路は過渡応答イネーブル信号を受信するように構成される、前記補助回路と、
を含む、集積回路(IC)チップ。
【請求項2】
前記補助回路は時間遅延を導入するように構成される、請求項1に記載のICチップ。
【請求項3】
前記時間遅延の持続時間は前記ハイブリッドブールネットワークの特性時間スケールに関する、請求項2に記載のICチップ。
【請求項4】
前記補助回路は複数の電子デバイスを含み、各電子デバイスはブール演算を実施するように構成される、請求項1~3のいずれか1項に記載のICチップ。
【請求項5】
前記補助回路は複数の対の直列接続したインバータゲートを含む、請求項4に記載のICチップ。
【請求項6】
前記補助回路は複数の電子デバイスを含み、各電子デバイスはコピー動作を実施するように構成される、請求項1~3のいずれか1項に記載のICチップ。
【請求項7】
前記ハイブリッドブールネットワークは複数の電子デバイスを含み、各電子デバイスはブール演算を実施するように構成される、請求項1~6のいずれか1項に記載のICチップ。
【請求項8】
前記ハイブリッドブールネットワークはクロック式電子デバイス及びアンクロック式電子デバイスを含む、請求項7に記載のICチップ。
【請求項9】
前記ハイブリッドブールネットワークは修正された乱数発生器として構成される、請求項7または8のいずれか1項に記載のICチップ。
【請求項10】
基板をさらに含み、前記ハイブリッドブールネットワーク及び前記補助回路は前記基板上に配置される、請求項1~9のいずれか1項に記載のICチップ。
【請求項11】
前記ハイブリッドブールネットワーク及び前記補助回路は、前記基板上に相互に密接して物理的に近接して位置する、請求項10に記載のICチップ。
【請求項12】
前記ハイブリッドブールネットワーク及び前記補助回路は、前記基板上に互いに隣接して位置する、請求項10または11のいずれか1項に記載のICチップ。
【請求項13】
複数のPUFをさらに含み、各PUFは各々のハイブリッドブールネットワークを含む、請求項1~12のいずれか1項に記載のICチップ。
【請求項14】
前記PUFのそれぞれの各々の出力を組み合わせるように構成される結合回路をさらに含む、請求項13に記載のICチップ。
【請求項15】
前記結合回路はPUFを含む、請求項14に記載のICチップ。
【請求項16】
前記ICチップはフィールドプログラマブルゲートアレイ(FPGA)である、請求項1~15のいずれか1項に記載のICチップ。
【請求項17】
前記ICチップは特定用途向け集積回路(ASIC)チップである、請求項1~15のいずれか1項に記載のICチップ。
【請求項18】
レジスタをさらに含み、
前記レジスタは前記補助回路を介して前記過渡応答イネーブル信号を受信するように構成される、請求項1~17のいずれか1項に記載のICチップ。
【請求項19】
前記レジスタは前記PUFの応答をキャプチャするように構成される、請求項18に記載のICチップ。
【請求項20】
チャレンジビットストリングを物理的クローン不能関数(PUF)に入力することであって、前記PUFはカオス的挙動を示すように構成される回路を含み、前記チャレンジビットストリングは前記回路の初期状態を設定する、前記入力することと、
前記回路を前記初期状態から解除することと、
過渡応答ビットストリングを前記回路からキャプチャすることと、
前記過渡応答ビットストリングを使用して、サイバーセキュリティーを提供することであって、前記過渡応答ビットストリングは前記初期状態からの解除後の既定期間にキャプチャされる、前記提供することと、
を含む、方法。
【請求項21】
前記過渡応答ビットストリングは前記回路の過渡状態中にキャプチャされる、請求項20に記載の方法。
【請求項22】
前記過渡状態の持続時間は前記回路の特性時間スケールに関する、請求項21に記載の方法。
【請求項23】
前記既定期間は、前記回路の前記特性時間スケールの約10倍である、請求項22に記載の方法。
【請求項24】
前記回路はハイブリッドブールネットワークである、請求項20~23のいずれか1項に記載の方法。
【請求項25】
前記ハイブリッドブールネットワークは複数の電子デバイスを含み、各電子デバイスはブール演算を実施するように構成される、請求項24に記載の方法。
【請求項26】
チャレンジビットストリングを物理的クローン不能関数(PUF)に入力することは、前記チャレンジビットストリングの各ビットに応じた各々の電圧を、前記電子デバイスの各々1つに供給することを含む、請求項25に記載の方法。
【請求項27】
前記チャレンジビットストリングはNビットの長さを有し、Nは2以上である、請求項25または26のいずれか1項に記載の方法。
【請求項28】
過渡応答ビットストリングを前記回路からキャプチャすることは前記電子デバイスのそれぞれの各々の状態を検出することを含み、前記電子デバイスの前記各々の状態は前記過渡応答ビットストリングの各ビットの各々の値に対応する、請求項24~27のいずれか1項に記載の方法。
【請求項29】
前記過渡応答ビットストリングはNビットの長さを有し、Nは2以上である、請求項28に記載の方法。
【請求項30】
前記ハイブリッドブールネットワークはクロック式電子デバイス及びアンクロック式電子デバイスを含む、請求項25~29のいずれか1項に記載の方法。
【請求項31】
前記ハイブリッドブールネットワークは修正された乱数発生器として構成される、請求項25~30のいずれか1項に記載の方法。
【請求項32】
過渡応答ビットストリングを前記回路からキャプチャすることは複数の応答ビットストリングを前記回路からキャプチャすることを含み、前記方法は、さらに、前記過渡応答ビットストリングを前記応答ビットストリングから取得することを含む、請求項20~31のいずれか1項に記載の方法。
【請求項33】
前記過渡応答ビットストリングは、前記応答ビットストリングのそれぞれから選択された1つ以上のビットを含む、請求項32に記載の方法。
【請求項34】
前記応答ビットストリングのそれぞれから選択された前記1つ以上のビットは、暗号化キーを使用して決定される、請求項33に記載の方法。
【請求項35】
前記応答ビットストリングのそれぞれから選択された前記1つ以上のビットは、既定のキーを使用して決定される、請求項33に記載の方法。
【請求項36】
前記過渡応答ビットストリングが前記チャレンジビットストリングに関連付けられるかどうかを判定することをさらに含み、
前記過渡応答ビットストリングが前記チャレンジビットストリングに関連付けられる場合、前記過渡応答ビットストリングを使用して、サイバーセキュリティーを提供する、請求項20~35のいずれか1項に記載の方法。
【請求項37】
前記過渡応答ビットストリングが前記チャレンジビットストリングに関連付けられるかどうかを判定することは、チャレンジ応答ペアデータベースにクエリを行うことを含む、請求項36に記載の方法。
【請求項38】
前記過渡応答ビットストリングを使用して、デバイスを認証する、請求項20~37のいずれか1項に記載の方法。
【請求項39】
前記過渡応答ビットストリングを暗号化キーとして使用する、請求項20~37のいずれか1項に記載の方法。
【請求項40】
物理的クローン不能関数(PUF)に提供することであって、前記PUFはカオス的挙動を示すように構成される回路を含む、前記提供することと、
チャレンジビットストリングを前記PUFに入力することであって、前記チャレンジビットストリングは前記回路の初期状態を設定する、前記入力することと、
前記回路を前記初期状態から解除することと、
過渡応答ビットストリングを前記回路からキャプチャすることと、
前記チャレンジビットストリーム及び前記過渡応答ビットストリングをチャレンジレスポンスペアデータベースに記憶することであって、前記過渡応答ビットストリングは前記初期状態からの解除後の既定期間にキャプチャされる、前記記憶することと、
を含む、方法。
【請求項41】
複数のチャレンジビットストリングを前記PUFに入力することと、複数の過渡応答ビットストリングを前記回路からキャプチャすることとをさらに含み、
前記チャレンジレスポンスペアデータベースは、各々のチャレンジビットストリング及び過渡応答ビットストリングを関連付ける、請求項40に記載の方法。
【請求項42】
選択されたチャレンジビットストリングを物理デバイスに伝送することと、
前記選択されたチャレンジビットストリングに対する応答を前記物理デバイスから受信することと、
前記チャレンジレスポンスペアデータベースにクエリを行い、前記応答が前記選択されたチャレンジクエスションに関連付けられるかどうかを判定することと、
前記チャレンジレスポンスペアデータベースクエリの結果を前記物理デバイスに伝送することと、
をさらに含む、請求項40または41のいずれか1項に記載の方法。
【請求項43】
各々のチャレンジビットストリングを複数の物理的クローン不能関数(PUF)のそれぞれに入力することであって、前記PUFのそれぞれはカオス的挙動を示すように構成される各々の回路を含み、前記各々のチャレンジビットストリングは前記各々の回路のそれぞれの各々の初期状態を設定する、前記入力することと、
前記各々の回路のそれぞれを前記各々の初期状態から解除することと、
各々の過渡応答ビットストリングを前記各々の回路のそれぞれからキャプチャすることと、
前記各々の過渡応答ビットストリングを組み合わせて、前記PUFの応答ビットストリングの組み合わせを取得することと、
前記応答ビットストリングの組み合わせを使用して、サイバーセキュリティーを提供することと、
を含む、方法。
【請求項44】
物理的クローン不能関数(PUF)を含む集積回路(IC)であって、前記PUFはカオス的挙動を示すように構成される回路を含む、前記集積回路(IC)と、
プロセッサと、前記プロセッサに動作可能に結合されるメモリとを含む物理デバイスであって、前記物理デバイスは前記ICチップを含み、前記メモリはコンピュータ実行可能命令を記憶し、前記プロセッサによって実行されるとき、前記プロセッサに、
チャレンジビットストリングを前記PUFに入力することであって、前記チャレンジビットストリングは前記回路の初期状態を設定する、前記入力することと、
前記回路を前記初期状態から解除することと、
過渡応答ビットストリングを前記回路からキャプチャすることと、
前記過渡応答ビットストリングを使用して、サイバーセキュリティーを提供することであって、前記過渡応答ビットストリングは前記初期状態からの解除後の既定期間にキャプチャされる、前記提供することと、
を行わせる、前記物理デバイスと、
を含む、システム。
【請求項45】
検証デバイスをさらに含み、前記検証デバイスは前記物理デバイスに動作可能に結合され、前記メモリは、さらに、コンピュータ実行可能命令を記憶し、前記プロセッサによって実行されるとき、前記プロセッサに、
前記チャレンジビットストリングを前記検証デバイスから要求することと、
前記要求に応答して、前記チャレンジビットストリングを前記検証デバイスから受信することと、
を行わせる、請求項44に記載のシステム。
【請求項46】
前記物理デバイス及び前記検証デバイスはネットワークによって動作可能に結合される、請求項45に記載のシステム。
【請求項47】
前記メモリは、さらに、コンピュータ実行可能命令を記憶し、前記プロセッサによって実行されるとき、前記プロセッサに、前記過渡応答ビットストリングが前記チャレンジビットストリングに関連付けられるかどうかを判定させ、
前記過渡応答ビットストリングが前記チャレンジビットストリングに関連付けられる場合、前記過渡応答ビットストリングを使用して、サイバーセキュリティーを提供する、請求項45または46のいずれか1項に記載のシステム。
【請求項48】
前記検証デバイスは、
チャレンジレスポンスペアデータベースにクエリを行い、前記過渡応答ビットストリングが前記チャレンジビットストリングに関連付けられるかどうかを判定することと、
前記チャレンジレスポンスペアデータベースクエリの結果を前記物理デバイスに伝送することと、
を行うように構成される、請求項47に記載のシステム。
【請求項49】
前記PUFはハイブリッドブールネットワークを含み、
前記ICチップは、さらに、過渡応答イネーブル信号を前記物理デバイスから受信するように構成される補助回路を含む、前記請求項44~48のいずれか1項に記載のシステム。
【請求項50】
前記補助回路は時間遅延を導入するように構成される、請求項49に記載のシステム。
【請求項51】
前記時間遅延の持続時間は前記ハイブリッドブールネットワークの特性時間スケールに関する、請求項50に記載のシステム。
【請求項52】
前記補助回路は複数の電子デバイスを含み、各電子デバイスはブール演算を実施するように構成される、請求項49~51のいずれか1項に記載のシステム。
【請求項53】
前記補助回路は複数の対の直列接続したインバータゲートを含む、請求項52に記載のシステム。
【請求項54】
前記補助回路は複数の電子デバイスを含み、各電子デバイスはコピー動作を実施するように構成される、請求項49~51のいずれか1項に記載のシステム。
【請求項55】
前記ハイブリッドブールネットワークは複数の電子デバイスを含み、各電子デバイスはブール演算を実施するように構成される、請求項49~54のいずれか1項に記載のシステム。
【請求項56】
前記ハイブリッドブールネットワークはクロック式電子デバイス及びアンクロック式電子デバイスを含む、請求項55に記載のシステム。
【請求項57】
前記ハイブリッドブールネットワークは修正された乱数発生器として構成される、請求項55または56のいずれか1項に記載のシステム。
【請求項58】
前記ICチップはさらに基板を含み、前記ハイブリッドブールネットワーク及び前記補助回路は前記基板上に配置される、請求項49~57のいずれか1項に記載のシステム。
【請求項59】
前記ハイブリッドブールネットワーク及び前記補助回路は、前記基板上に相互に密接して物理的に近接して位置する、請求項58に記載のシステム。
【請求項60】
前記ハイブリッドブールネットワーク及び前記補助回路は、前記基板上に互いに隣接して位置する、請求項58または59のいずれか1項に記載のシステム。
【請求項61】
前記ICチップはさらにレジスタを含み、
前記レジスタは前記補助回路を介して前記過渡応答イネーブル信号を受信するように構成される、請求項49~60のいずれか1項に記載のシステム。
【請求項62】
前記レジスタは前記PUFの応答をキャプチャするように構成される、請求項61に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、出願日2019年6月7日に出願され、「SYSTEMS AND METHODS USING HYBRID BOOLEAN NETWORKS AS PHYSICAL UNCLONABLE FUNCTIONS」と題された米国仮特許出願第62/858,542号、ならびに2019年9月26日に出願され、「SYSTEMS AND METHODS USING HYBRID BOOLEAN NETWORKS AS PHYSICAL UNCLONABLE FUNCTIONS」と題された米国仮特許出願第62/906,244号の利点を主張し、これらの特許文献の開示は、明確に、全体として参照によって本明細書に組み込まれる。
【0002】
連邦政府支援の研究に関する声明
本発明は、航空ミサイル研究開発技術センター(AMRDEC)により付与された付与番号W31P4Q-19-C-0014の下、政府支援により成された。政府は本発明において特定の権利を有する。
【背景技術】
【0003】
暗号化キーの作成、記憶、及び分配は、プライバシー保護及び安全な計算に関する需要が増え続けることに起因して、依然として活発な研究分野である[J.Zhang et al.Key generation from wireless channels:A review.IEEE Access,4:614-626,2016。R.Bhanot et al.A review and comparative analysis of various encryption algorithms.International Journal of Security and Its Applications,9(4):289-306,2015。P.Tuyls et al.Security with noisy data:on private biometrics,secure key storage and anti-counterfeiting.Springer Science&Business Media,2007参照]。これらのタスクに適切な新たな技術は、明示的に暗号化キーを記憶する必要なく暗号化キーを生成することによって、「デジタル指紋」として働く物理的クローン不能関数(PUF)である[T.McGrath et al.A PUF taxonomy.Applied Physics Reviews,6(1):011303,2019参照]。最も基本的なレベルでは、PUFは、そのPUFの特定のコピー(本明細書では、「インスタンス」と称する場合がある)に固有である方法で、入力ビットストリング(本明細書では、「チャレンジ」と称する場合がある)を出力ビットストリング(本明細書では、「応答」と称する場合がある)に確実にマッピングする物理デバイスである。この挙動は、その製造プロセスで小さな変動に対するPUFの極限感度の結果である。具体的には、安全なPUF設計は、以下の特性、すなわち、信頼度、一意性、非クローン性、及び予測不可能性を有する。例えば、特定のPUFインスタンスを考慮すると、同じチャレンジの連続評価から生じる応答は、小さい誤差まで同一である(すなわち、信頼性がある)。加えて、2つのPUFインスタンス及び特定のチャレンジを考慮すると、結果として生じる応答は異なる(すなわち、固有である)。構築プロセスの性質により、2つのPUFインスタンスは、同一のチャレンジレスポンス挙動を有する可能性が高くない(すなわち、非クローン性である)。そして、構築プロセスの知識があっても、異なるチャレンジに対する応答を考慮して、1つのチャレンジに対する応答を推察することは困難または不可能である(すなわち、予測不可能)。
【0004】
PUFはさらに弱いまたは強いとして分類される[U.Ruhrmair et al.Strong pufs:models,constructions,and security proofs.In Towards hardware-intrinsic security,pages79-96.Springer,2010参照]。弱いPUFは、1つだけのまたはいくつかの可能なチャレンジを有する。他方では、強いPUFは、指数関数的に多い数の独立キーを含み、不正アクセスされたデバイスから全ての独立キーを抽出する試みを困難なタスクまたは不可能なタスクにする。この特性は、認証目的のためにかなり望ましい。なぜこのようになるかを理解するには、登録プロセスを考察されたい[K.Frikken et al.Robust authentication using physically unclonable functions.In Pierangela Samarati,Moti Yung,Fabio Martinelli,and Claudio A.Ardagna,editors,Information Security,pages262-277,Berlin,Heidelberg,2009.Springer Berlin Heidelberg参照]。
【0005】
製造の時点で、製造業者は、そのデバイスに関連付けられるチャレンジレスポンスペア(CRP)データベースを収集及び記憶することによって各PUFを登録する。いったんPUFをユーザに分配すると、製造業者は、チャレンジを送信し、対応する応答を要求することによってデバイスを認証する。理想的には、強いPUFへの一時的なアクセスにより、敵対者がなりすましに関するCRPの要求数を取得するのに十分である可能性が低くなる。このシナリオから、強いPUFに関する実際的な2つの条件の重要性は明らかである。まず、PUFにクエリを行うことをかなり短時間にするべきである。その結果、登録及び認証のプロセスは工業的スケールで実現可能である。次に、急速なクエリプロセスに関してでさえも、全部のCRPデータベースがリアルタイムで取得できないように、CRPの空間を十分に大きくするべきである。また、PUFを使用して、パブリック/プライベートキーペアをローカルに生成できる。本願では、登録が必要ではない。代わりに、チャレンジに応答して、固有キーを生成する。
【0006】
最後に、強いPUFがマルチビット応答を生成することが望ましい。この特性は、エントロピーを増加し、認証に必要なCRPの数を減らす役割を果たす。例えば、ビット毎に50%の確率で0または1を簡単に推測することによって、各チャレンジに応答する無知な敵対者を考察する。シングルビット応答を伴う理想的な強いPUFに関して、例えば、7つのチャレンジの後に、敵対者が各ビットを正しく推測する確率は、0.5≒1%である。理想的な7ビットのPUFに関して、唯一の単一のチャレンジ後に、この同じ閾値に達する。多くの既存のPUFは以下のただ1つまたはいくつか(ただし、全てではない)の特性を有する。(1)既存のPUFは唯一のシングルビット応答を生成し、そのエントロピーを著しく下げる、(2)既存のPUFはCRPデータベースを構築するのにかなり長時間を要し、認証に幅広い採用ができない、(3)既存のPUFが1つだけのまたは少ない可能なチャレンジレスポンスペアを有する意味で、既存のPUFは「弱く」、セキュリティ用途が著しく低下する、及び(4)既存のPUFは製造及び使用するのに困難でありまたは費用が高く、実用性が低下する。
【発明の概要】
【0007】
例示的な集積回路(IC)チップは本明細書に説明される。ICチップは、物理的クローン不能関数(PUF)及び補助回路を含む。PUFはハイブリッドブールネットワークである。加えて、補助回路は過渡応答イネーブル信号を受信するように構成される。
【0008】
加えて、補助回路は時間遅延を導入するように構成される。時間遅延の持続時間はハイブリッドブールネットワークの特性時間スケールに関する。
【0009】
代替としてまたは加えて、いくつかの実施態様では、補助回路は複数の電子デバイスを含み、各電子デバイスはブール演算を実施するように構成される。例えば、補助回路は複数の対の直列接続したインバータゲートを含み得る。
【0010】
代替としてまたは加えて、いくつかの実施態様では、補助回路は複数の電子デバイスを含み、各電子デバイスはコピー動作を実施するように構成される。
【0011】
代替としてまたは加えて、ハイブリッドブールネットワークは複数の電子デバイスを含み、各電子デバイスはブール演算を実施するように構成される。ハイブリッドブールネットワークはクロック式電子デバイス及びアンクロック式電子デバイスを含み得る。随意に、いくつかの実施態様では、ハイブリッドブールネットワークは修正された乱数発生器として構成される。
【0012】
代替としてまたは加えて、ICチップはさらに基板を含む。ハイブリッドブールネットワーク及び補助回路は基板上に配置される。いくつかの実施態様では、ハイブリッドブールネットワーク及び補助回路は、基板上に相互に密接して物理的に近接して位置する。例えば、ハイブリッドブールネットワーク及び補助回路は、随意に、基板上に互いに隣接して位置できる。
【0013】
代替としてまたは加えて、ICチップは随意に複数のPUFをさらに含み、各PUFは各々のハイブリッドブールネットワークを含む。いくつかの実施態様では、ICチップは、さらに、PUFのそれぞれの各々の出力を組み合わせるように構成される結合回路を含む。随意に、結合回路はPUFを含む。
【0014】
いくつかの実施態様では、ICチップはフィールドプログラマブルゲートアレイ(FPGA)である。代替として、他の実施態様では、ICチップは特定用途向け集積回路(ASIC)チップである。
【0015】
いくつかの実施態様では、ICチップは随意にレジスタをさらに含み、レジスタは補助回路を介して過渡応答イネーブル信号を受信するように構成される。加えて、レジスタはPUFの応答をキャプチャするように構成される。
【0016】
サイバーセキュリティーを提供するためにPUFを使用するための例示的な動作が、本明細書に説明される。本方法は、チャレンジビットストリングをPUFに入力することを含む。PUFはカオス的挙動を示すように構成される回路を含む。チャレンジビットストリングは回路の初期状態を設定する。加えて、本方法は、回路を初期状態から解除することと、過渡応答ビットストリングを回路からキャプチャすることと、過渡応答ビットストリングを使用して、サイバーセキュリティーを提供することとを含む。過渡応答ビットストリングは初期状態からの解除後の既定期間にキャプチャされる。
【0017】
例えば、過渡応答ビットストリングは回路の過渡状態中にキャプチャされる。加えて、過渡状態の持続時間は回路の特性時間スケールに関する。加えて、既定期間は回路の特性時間スケールの約10倍である。
【0018】
代替としてまたは加えて、回路は随意にハイブリッドブールネットワークである。ハイブリッドブールネットワークは複数の電子デバイスを含み、各電子デバイスはブール演算を実施するように構成される。加えて、ハイブリッドブールネットワークはクロック式電子デバイス及びアンクロック式電子デバイスを含む。本実施態様では、チャレンジビットストリングをPUFに入力するステップは、チャレンジビットストリングの各ビットに応じた各々の電圧を電子デバイスの各々1つに供給することを含む。チャレンジビットストリングはNビットの長さを有し、Nは2以上である。代替としてまたは加えて、過渡応答ビットストリングを回路からキャプチャするステップは電子デバイスのそれぞれの各々の状態を検出することを含み、電子デバイスの各々の状態は過渡応答ビットストリングの各ビットの各々の値に対応する。過渡応答ビットストリングはNビットの長さを有し、Nは2以上である。随意に、ハイブリッドブールネットワークは修正された乱数発生器として構成できる。
【0019】
代替としてまたは加えて、いくつかの実施態様では、過渡応答ビットストリングを回路からキャプチャするステップは、随意に、複数の応答ビットストリングを回路からキャプチャすることを含む。加えて、本方法は、さらに、最終応答ビットストリングを複数の応答ビットストリングから取得することを含む。例えば、最終応答ビットストリングは応答ビットストリングのそれぞれから選択された1つ以上のビットを含み得る。いくつかの実施態様では、応答ビットストリングのそれぞれから選択された1つ以上のビットは、暗号化キーを使用して決定される。代替として、他の実施態様では、応答ビットストリングのそれぞれから選択された1つ以上のビットは、既定のキーを使用して決定される。
【0020】
代替としてまたは加えて、いくつかの実施態様では、本方法は、さらに、過渡応答ビットストリングがチャレンジビットストリングに関連付けられるかどうかを判定することを含む。過渡応答ビットストリングがチャレンジビットストリングに関連付けられる場合、過渡応答ビットストリングを使用して、サイバーセキュリティーを提供する。例えば、過渡応答ビットストリングがチャレンジビットストリングに関連付けられるかどうかを判定するステップは、チャレンジ応答ペアデータベースにクエリを行うことを含む。
【0021】
代替としてまたは加えて、いくつかの実施態様では、過渡応答ビットストリングを使用して、デバイスを認証する。
【0022】
代替としてまたは加えて、いくつかの実施態様では、過渡応答ビットストリングを暗号化キーとして使用する。
【0023】
また、PUF登録の例示的な方法も本明細書に説明される。本方法は、PUFを提供することを含む。PUFはカオス的挙動を示すように構成される回路を含む。加えて、本方法は、チャレンジビットストリングをPUFに入力することであって、チャレンジビットストリングは回路の初期状態を設定する、入力することと、回路を初期状態から解除することとを含む。本方法は、さらに、過渡応答ビットストリングを回路からキャプチャすることと、チャレンジビットストリーム及び過渡応答ビットストリングをチャレンジレスポンスペアデータベースに記憶することとを含む。過渡応答ビットストリングは初期状態からの解除後の既定期間にキャプチャされる。
【0024】
加えて、本方法は、随意に、複数のチャレンジビットストリングをPUFに入力することと、複数の過渡応答ビットストリングを回路からキャプチャすることとを含む。チャレンジレスポンスペアデータベースは、各々のチャレンジビットストリング及び過渡応答ビットストリングを関連付ける。
【0025】
代替としてまたは加えて、本方法は、さらに、選択されたチャレンジビットストリングを物理デバイスに伝送することと、選択されたチャレンジビットストリングに対する応答を物理デバイスから受信することと、チャレンジレスポンスペアデータベースにクエリを行い、応答が選択されたチャレンジクエスションに関連付けられるかどうかを判定することと、チャレンジレスポンスペアデータベースクエリの結果を物理デバイスに伝送することとを行う。
【0026】
また、サイバーセキュリティーを提供するためにPUFを使用するための別の例示的な動作も本明細書に説明される。本方法は、各々のチャレンジビットストリングを複数の物理的クローン不能関数(PUF)のそれぞれに入力することを含む。PUFのそれぞれはカオス的挙動を示すように構成される各々の回路を含み、各々のチャレンジビットストリングは各々の回路のそれぞれの各々の初期状態を設定する。本方法は、また、各々の回路のそれぞれを各々の初期状態から解除することと、各々の過渡応答ビットストリングを各々の回路のそれぞれからキャプチャすることと、各々の過渡応答ビットストリングを組み合わせて、PUFの応答ビットストリングの組み合わせを取得することと、応答ビットストリングの組み合わせを使用して、サイバーセキュリティーを提供することとを含む。
【0027】
また、例示的なシステムも本明細書に説明される。本システムはPUFを含むICチップを含み、PUFはカオス的挙動を示すように構成される回路を含む。本システムは、また、プロセッサと、プロセッサに動作可能に結合されるメモリとを含む物理デバイスを含み、メモリはコンピュータ実行可能命令を記憶する。ICチップは、物理デバイスのコンポーネント部品である。物理デバイスはチャレンジビットストリングをPUFに入力するように構成され、チャレンジビットストリングは回路の初期状態を設定し、回路を初期状態から解除する。物理デバイスは、さらに、過渡応答ビットストリングを回路からキャプチャし、過渡応答ビットストリングを使用して、サイバーセキュリティーを提供するように構成される。過渡応答ビットストリングは初期状態からの解除後の既定期間にキャプチャされる。
【0028】
加えて、本システムは、さらに、検証デバイスを含み得る。検証デバイスは、例えば、ネットワークによって物理デバイスに動作可能に結合される。随意に、物理デバイスは、さらに、チャレンジビットストリングを検証デバイスから要求し、要求に応答して、チャレンジビットストリングを検証デバイスから受信するように構成される。物理デバイスは、さらに、過渡応答ビットストリングがチャレンジビットストリングに関連付けられるかどうかを判定するように構成される。過渡応答ビットストリングがチャレンジビットストリングに関連付けられる場合、過渡応答ビットストリングを使用して、サイバーセキュリティーを提供する。
【0029】
代替としてまたは加えて、検証デバイスは、チャレンジレスポンスペアデータベースにクエリを行い、過渡応答ビットストリングがチャレンジビットストリングに関連付けられるかどうかを判定し、チャレンジレスポンスペアデータベースクエリの結果を物理デバイスに伝送するように構成される。
【0030】
上記に説明した主題は、また、コンピュータ制御装置、コンピュータプロセス、コンピューティングシステム、またはコンピュータ可読ストレージ媒体等の製品として実装され得ることを理解されたい。
【0031】
他のシステム、方法、特徴、及び/または利点は、以下の図面及び発明を実施するための形態を検討することにより当業者に明らかになるであろう、または明らかになり得る。全ての係る追加のシステム、方法、特徴、及び/または利点は、この本発明を実施するための形態に含まれ、添付の特許請求の範囲によって保護されることが意図される。
【0032】
図面のコンポーネントは、必ずしも相互に対して原寸に比例していない。同様の参照数字は、いくつかの図の全部にわたって対応する部分を示す。
【図面の簡単な説明】
【0033】
図1】本明細書に説明される実施態様による、例示的なシステムのブロック図である。
図2】本明細書に説明される実施態様による、例示的な集積回路(IC)チップのブロック図である。
図3】本明細書に説明される実施態様による、ICチップとともに使用される複数のPUFを示すブロック図である。
図4A】本明細書に説明される実施態様による、サイバーセキュリティーを提供するためにPUFを使用するための例示的な動作を示すフローチャートである。
図4B】本明細書に説明される実施態様による、PUF登録の例示的な動作を示すフローチャートである。
図5】例示的なコンピューティングデバイスである。
図6A】16ノード(N=16)の場合のハイブリッドブールネットワーク乱数発生器(HBN-RNG)の例を示し、HBN-RNGの図である。乱数はクロックされた読み取り値の状態から読み取られる(図6D参照)。
図6B】16ノード(N=16)の場合のハイブリッドブールネットワーク乱数発生器(HBN-RNG)の例を示し、図6AのHBN-RNGのコンポーネントである。乱数はクロックされた読み取り値の状態から読み取られる(図6D参照)。
図6C】16ノード(N=16)の場合のハイブリッドブールネットワーク乱数発生器(HBN-RNG)の例を示し、図6AのHBN-RNGのコンポーネントである。乱数はクロックされた読み取り値の状態から読み取られる(図6D参照)。
図6D】16ノード(N=16)の場合のハイブリッドブールネットワーク乱数発生器(HBN-RNG)の例を示し、図6AのHBN-RNGのコンポーネントである。乱数はクロックされた読み取り値の状態から読み取られる(図6D参照)。
図6E】本明細書に説明される実施態様による、16ノード(N=16)の場合のHBN-PUFの例を示し、HBN-PUFの図である。乱数はクロックされた読み取り値の状態から読み取られる(図6D参照)。応答は1クロックサイクル後にクロックされた読み取り値から読み取られる(図6G参照)。自律部の初期条件はチャレンジストリングによって指定される(図6F参照)。ネットワークは、RESETビットの値を変更することによって初期条件から解除される(図6F参照)。
図6F】本明細書に説明される実施態様による、16ノード(N=16)の場合のHBN-PUFの例を示し、図6EのHBN-RNGのコンポーネントである。乱数はクロックされた読み取り値の状態から読み取られる(図6D参照)。応答は1クロックサイクル後にクロックされた読み取り値から読み取られる(図6G参照)。自律部の初期条件はチャレンジストリングによって指定される(図6F参照)。ネットワークは、RESETビットの値を変更することによって初期条件から解除される(図6F参照)。
図6G】本明細書に説明される実施態様による、16ノード(N=16)の場合のHBN-PUFの例を示し、図6EのHBN-RNGのコンポーネントである。乱数はクロックされた読み取り値の状態から読み取られる(図6D参照)。応答は1クロックサイクル後にクロックされた読み取り値から読み取られる(図6G参照)。自律部の初期条件はチャレンジストリングによって指定される(図6F参照)。ネットワークは、RESETビットの値を変更することによって初期条件から解除される(図6F参照)。
図7A】ネットワークサイズ毎に最適時間で測定された16ノード及び256ノードの場合のHBN-PUF(すなわち、N=16及びN=256のPUFインスタンス)に関するデバイス内及びデバイス間の統計値を示すグラフである。N=16の最大及び最小の信頼度を示す。チップ毎の信頼性統計値を示す。同様の信頼度を示す重複があることに留意されたい。他の全てのチップ分布はこれらの2つの間にある。
図7B】ネットワークサイズ毎に最適時間で測定された16ノード及び256ノードの場合のHBN-PUF(すなわち、N=16及びN=256のPUFインスタンス)に関するデバイス内及びデバイス間の統計値を示すグラフである。N=16の平均信頼度及び一意性を示す。チップ毎の平均統計値を示す。両方のネットワークサイズの強い信頼度及び一意性を示す、内部分布及び中間分布のはっきりした分離に留意されたい。
図7C】ネットワークサイズ毎に最適時間で測定された16ノード及び256ノードの場合のHBN-PUF(すなわち、N=16及びN=256のPUFインスタンス)に関するデバイス内及びデバイス間の統計値を示すグラフである。N=256の最大及び最小の信頼度を示す。チップ毎の信頼性統計値を示す。同様の信頼度を示す重複があることに留意されたい。他の全てのチップ分布はこれらの2つの間にある。
図7D】ネットワークサイズ毎に最適時間で測定された16ノード及び256ノードの場合のHBN-PUF(すなわち、N=16及びN=256のPUFインスタンス)に関するデバイス内及びデバイス間の統計値を示すグラフである。N=256の平均信頼度及び一意性を示す。チップ毎の平均統計値を示す。両方のネットワークサイズの強い信頼度及び一意性を示す、内部分布及び中間分布のはっきりした分離に留意されたい。
図8A】時間t=toptにおけるN=256のノードネットワークの平均ビット値を示すグラフである。約0.5の狭い中心となっており、最適な測定時間以降のランダムなビット値の分布を示すことに留意されたい。
図8B】時間t=2toptにおけるN=256のノードネットワークの平均ビット値を示すグラフである。約0.5の狭い中心となっており、最適な測定時間以降のランダムなビット値の分布を示すことに留意されたい。
図9】全空間の0.255%を占めるN=7のノードネットワークに関する高い相互情報量(>0.05ビット)がある領域の可視図である。
図10】エントロピー結果の概要を示すグラフである。Hminカーブは指数関数的増大を示す。全ての3つのカーブは窓(N=3~8)の内部で適度に近接している。
図11】適合λExperiment=0.64±0.23τ-1及びλModel=0.55±0.31τ-1に関するN=16及びT=3τを有する実験データ及びモデルデータの最大リアプノフ指数のプロット図である。カオスを示す傾きの正値性と、時系列間の完全な非相関を示す遅い時点におけるln(0.5)=-0.693への収束とに留意されたい。
図12A】N=16及びN=256のノードネットワークの性能及び変動を示すグラフである。点線は測定の最適時間を示す。それぞれの温度TにおけるN=16のノードネットワークの性能を示す。
図12B】N=16及びN=256のノードネットワークの性能及び変動を示すグラフである。点線は測定の最適時間を示す。それぞれの温度TにおけるN=16のノードネットワークの変動を示す。
図12C】N=16及びN=256のノードネットワークの性能及び変動を示すグラフである。点線は測定の最適時間を示す。それぞれの温度TにおけるN=256のノードネットワークの性能を示す。
図12D】N=16及びN=256のノードネットワークの性能及び変動を示すグラフである。点線は測定の最適時間を示す。それぞれの温度TにおけるN=256のノードネットワークの変動を示す。
図13A】リンクの温度依存性を無効にする遅延線トリガがあるHBN-PUFの例の様々な温度点(すなわち、T=-5,5,15,25,35,45,55°C)におけるΔμ=μinter-μintra対測定時間を示すグラフである。図13Aから、最適な遅延量は温度依存性がないことが観察される。
図13B】遅延があるリンク(プロット1302)及び遅延がないリンク(プロット1304)の両方の場合のHBN-PUFの例に関するμintra対温度を示すグラフである。標準誤差補正で制御できる60°Cの範囲にわたってμintraだけ少し増加する。
【発明を実施するための形態】
【0034】
特に定義しない限り、本明細書で使用される全ての技術用語及び科学用語は、当業者によって一般に理解されるのと同じ意味を有する。本明細書に説明されるものと類似するまたは同等の方法及び材料は、本開示の実施または試験において使用され得る。本明細書及び添付の特許請求の範囲に使用される、単数形「1つの(a)」、「1つの(an)」、及び「その(the)」は、文脈上明らかに他の意味が示される場合を除いて、複数形の指示対象を含む。本明細書で使用される用語「含む(comprising)」及びその変形は、用語「含む(including)」及びその変形と同義に使用され、限定されていない非限定的な用語である。本明細書で使用される場合、用語「随意の(optional)」または「随意に(optionally)」は、以下に記載される特徴、事象、もしくは状況は発生し得るまたは発生し得なく、説明には、当該の特徴、事象、または状況が発生し得る場合と、発生し得ない場合とが含まれることを意味する。範囲は、「約」1つの特定の値から、及び/または「約」別の特定の値までのように本明細書に表現され得る。係る範囲が表現される場合、ある態様は、1つの特定の値から及び/または他の特定の値までを含む。同様に、先行の「約(about)」を使用して値が近似値として表される場合、特定の値が別の態様を形成することが理解される。範囲の各々の端点が、他の端点に関連して及び他の端点から独立しての両方から有意であることがさらに理解される。本明細書で使用される場合、用語「約(about)」または「およそ(approximately)」は、時間(例えば、持続時間)または物理的寸法の測定値を参照して使用されるとき、参照する測定値の+10パーセントまたは-10パーセントの範囲内であることを意味する。
【0035】
上記に説明したように、物理的クローン不能関数(PUF)はハードウェアサイバーセキュリティープリミティブである。PUFは、チャレンジについてクエリが行われるとき、固有の予測不可能な応答を生成する。したがって、PUFは、製造ばらつきから派生するエントロピーの結果である固有の指紋(例えば、「シリコン指紋」)を提供する。PUFは、限定ではないが、安全なキー生成、メモリキーストレージ、デバイス認証、偽造防止、及び知的財産保護を含む、サイバーセキュリティー用途に使用できる。PUFを使用して、ユーザが情報の「チャレンジ」セット(バイナリビットのセット等)を提示することを要求して、PUFは情報の「応答」セットを生成し、次に、その「応答」セットはチャレンジレスポンスペア(CRP)データベースに対して確認される。従来のPUFデバイスは、減速する傾向があり(例えば、チャレンジと応答との間の時間が長くなる)及び/またはチャレンジビット列よりもかなり小さい応答ビット列を生成し、したがって、PUFのセキュリティを制限する。また、従来のPUFを「学習」できる、すなわち、チャレンジレスポンスペアのセットは、機械学習等を使用して、様々な攻撃方策を使用して推測できる。対照的に、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)で実現されるハイブリッドブールネットワークの過渡的でありカオス的である可能性が高いダイナミクスに基づくPUFが、本明細書に説明される。論理素子の立ち上がり時間及び立ち下がり時間、論理素子閾値差、及びチップ上で伝播する信号の遅延のわずかな差等のFPGAまたはASICのわずかな製造上の違いは、異なるチャレンジビット列に対するブールネットワークの異なる過渡的挙動(異なる応答)を生じさせ、これはネットワークに関する初期条件として使用される。
【0036】
ここで図1を参照して、例示的なシステムが示される。本システムは物理デバイス102及び検証デバイス104を含み、物理デバイス102は検証デバイス104に動作可能に結合される。物理デバイス102及び検証デバイス104は、1つ以上の通信リンクによって動作可能に結合できる。本開示では、1つ以上の通信リンクはいずれかの適切な通信リンクであることが想到される。例えば、通信リンクは、物理デバイス102と検証デバイス104との間でデータ交換を容易にするいずれかの媒体によって実現され得る。その通信リンクは、限定ではないが、有線、無線、及び光リンクを含む。本開示では、物理デバイス102及び検証デバイス104のそれぞれは、コンピューティングデバイス(例えば、図5に示される枠502の基本的なコンピューティングデバイス構成等の少なくとも処理ユニット及びメモリ)であり得るまたは含み得ることが想到される。加えて、本開示では、物理デバイス102は電子デバイス(例えば、限定ではないが、家電デバイスを含む)であり得ることが想到される。
【0037】
随意に、図1に示されるように、物理デバイス102及び検証デバイス104は、1つ以上のネットワーク110を介して動作可能に結合される。本開示では、1つ以上のネットワーク110はいずれかの適切な通信ネットワークであることが想到される。ネットワーク110は1つ以上の点で相互に同様であり得る。代替としてまたは加えて、ネットワーク110は1つ以上の点で相互に異なり得る。ネットワーク110は、ローカルエリアネットワーク(LAN)、無線ローカルエリアネットワーク(WLAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、仮想プライベートネットワーク(VPN)等を含み得、上記のネットワークのいずれかの一部または組み合わせを含む。物理デバイス102及び検証デバイス104は、1つ以上の通信リンク120を介してネットワーク110に結合できる。例えば、通信リンク120は、限定ではないが、有線リンク、無線リンク、及び光リンクを含む、物理デバイス102と検証デバイス104との間でデータ交換を容易にするいずれかの媒体である。
【0038】
図1に示されるように、物理デバイス102は集積回路(IC)チップ200を含む。いくつかの実施態様では、ICチップ200はフィールドプログラマブルゲートアレイ(FPGA)を含む。FPGAは電子回路に使用されるデバイスである。FPGAは、プログラマブル論理ブロック及び相互接続を含む半導体デバイスである。FPGAは、例えば、ハードウェア記述言語(HDL)を使用して製造後にプログラムされることが可能である。FPGAは当技術分野で既知であるため、ここでは、さらに詳細に説明しない。代替として、他の実施態様では、ICチップ200は特定用途向け集積回路(ASIC)である。ASICはカスタマイズされたICチップである。FPGAとは異なり、ASICは製造後にプログラムされることが不可能である。ASICは当技術分野で既知であるため、ここでは、さらに詳細に説明しない。ICチップ200は、物理デバイス102のコンポーネント部品である。例えば、ICチップ200は、物理デバイス102の中/上に配置される、物理デバイス102に組み込まれる、及び/または物理デバイス102の中に埋め込まれる。本明細書に説明されるように、ICチップ200はPUFを含み、PUFはカオス的挙動を示すように構成される回路を含む。(例えば、図2及び図6E図6Gに関して)本明細書に説明されるいくつかの実施態様では、PUFはハイブリッドブールネットワークである。代替として、他の実施態様では、本開示では、PUFはカオス的挙動を示すように構成される別のタイプの回路であり得ることが想到される。
【0039】
下記に説明されるように、物理デバイス102はチャレンジビットストリングをPUFに入力するように構成され、チャレンジビットストリングは回路の初期状態を設定し、次に、PUFを初期状態から解除する。したがって、物理デバイス102は、チャレンジを設定し、PUFの解除をトリガするように構成される。物理デバイス102は、さらに、過渡応答ビットストリングをPUFからキャプチャするように構成される。本明細書に説明されるように、物理デバイス102はイネーブル信号を生成でき、イネーブル信号は、チャレンジ状態からPUFの解除をトリガし、PUFからの過渡応答ビットストリングをキャプチャする。例えば、物理デバイス102は、過渡応答ビットストリングをメモリに記憶できる。本明細書に説明されるように、過渡応答ビットストリングを使用して、サイバーセキュリティーを提供する。
【0040】
物理デバイス102が製造された後、チャレンジレスポンスペア(CRP)が生成され、コンピューティングデバイスのメモリ、例えば、データベース(また、本明細書では、「チャレンジレスポンスペアデータベース」または「CRPデータベース」と称される)に記憶される。このプロセスは登録段階として知られている。本開示では、検証デバイス104によって登録を行うことが想到される。言い換えれば、検証デバイス104は、1つ以上のチャレンジビットストリングを物理デバイス102に入力するように構成され、次に、物理デバイス102は、チャレンジビットストリングをPUFに入力し、PUFをその初期状態から解除し、各々の1つ以上の応答ビットストリングをPUFからキャプチャする。検証デバイス104は、データベースを維持することによって、各々のチャレンジレスポンスペアを関連付ける(すなわち、各々のチャレンジビットストリング及び応答ビットストリングを関連付ける)ように構成される。
【0041】
本実施態様では、検証デバイス104はチャレンジビットストリングを物理デバイス102に送信し、対応する応答ビットストリームを要求する。物理デバイス102はチャレンジビットストリングを検証デバイス104から受信する。物理デバイス102は、検証デバイス104から受信されたチャレンジビットストリングをPUFに入力し、PUFをその初期状態から解除し、過渡応答ビットストリングをキャプチャする。次に、物理デバイス102は、キャプチャされた過渡応答ビットストリングを検証デバイス104に伝送し、検証デバイス104は、CRPデータベースにクエリを行い、過渡応答ビットストリングがチャレンジビットストリングに関連付けられるかどうかを判定する。次に、検証デバイス104は、CRPデータベースのクエリの結果を物理デバイス102に伝送する。PUFは、チャレンジについてクエリが行われるとき、固有の予測不可能な応答を生成することが予想される。したがって、特定の過渡応答ビットストリングは、特定のチャレンジビットストリングに応答して受信するはずである。本開示では、チャレンジビットストリング及び応答ビットストリングは、物理デバイス102と検証デバイス104との間でネットワーク110を介して通信することが想到される。
【0042】
ここで図2を参照して、示される例示的なICチップが説明される。ICチップ200は、PUF220、補助回路230、及びレジスタ240を含む。図2に示されるように、過渡応答イネーブル信号210は、PUF220及び補助回路230の両方によって受信される。いくつかの実施態様では、過渡応答イネーブル信号210は、物理デバイス(例えば、図1に示される物理デバイス102)によって生成され、物理デバイスからICチップに伝送される。例えば、過渡応答イネーブル信号210は物理デバイスの信号発生器によって生成され得る。過渡応答イネーブル信号210は、レジスタ240をトリガする前に補助回路230を介してフィードされ、過渡応答ビットストリング(すなわち、チャレンジビットストリングに応答するPUF220の出力)をキャプチャする。本明細書に説明されるように、補助回路230は、時間遅延を過渡応答イネーブル信号210に導入する。いくつかの実施態様では、PUF220はハイブリッドブールネットワークである。ハイブリッドブールネットワークはクロック式電子デバイス及びアンクロック式電子デバイス、または論理素子を含む(図6E図6G参照)。随意に、ハイブリッドブールネットワークとして構築されるPUF220は、(例えば、図6Eに示されるように)修正される乱数発生器(RNG)として構成されるカオス振動子である。代替として、ハイブリッドブールネットワークとして構築されるPUF220は、ブール充足可能性問題を解決するように構成される自律論理回路である。
【0043】
ハイブリッドブールネットワークには、例えば、設計をハードウェアプログラミング言語にコーディングし、コードをコンパイルすることによって、FPGAが実装できる。代替として、ハイブリッドブールネットワークはASICに実装できる。信号経路における製造上の微小なばらつき及びハイブリッドブールネットワークのノードへの入力インピーダンスは、FPGAまたはASICが実装されるかどうかに関わりなく、異なるカオス的な過渡的挙動を生じさせるのに十分である。本明細書に説明されるように、ハイブリッドブールネットワークは複数の電子デバイスを含み、各電子デバイス(また、本明細書では「論理素子」と称される)はブール演算を実施するように構成される。
【0044】
ICチップ200は基板(図2で示されない)を含み、PUF220及び補助回路230は基板上に配置される。いくつかの実施態様では、PUF220及び補助回路230は基板上に相互に密接して物理的に近接して位置する。例えば、PUF220及び補助回路230は、随意に、基板上に互いに隣接して位置できる。PUF220及び補助回路230は、随意に、基板上で相互に隣に位置する電子デバイスを使用して構築できる。言い換えれば、本実施態様では、PUF220と補助回路230との間に位置するいずれかの介在電子デバイスは存在しないこととなる。PUF220及び補助回路230が互いに隣接して位置することは、単に、密接に物理的に近接している例として提供されることを理解されたい。例えば、本開示では、PUF220及び補助回路230は、それらの間の空間がミクロンスケールにあるとき(1つ以上の電子デバイスがそれらの間に配置される場合でさえ)、密接に物理的に近接することが想到される。
【0045】
PUF220の特徴は温度及び/または供給電圧とともに変化することを理解されたい。以下では、温度を参照する場合、供給電圧について同様の記述が適用されることを理解されたい。加えて、PUF220が比較的大きい温度範囲及び供給電圧にわたって機能することが望ましい。例えば、PUF220は、様々な温度の影響を受け得る電子デバイスのコンポーネントである。代替としてまたは加えて、PUF220は、バッテリーが放電するについて、提供する電圧が少なくなるバッテリーを有する。上記に留意したように、PUFの特徴は温度及び/または供給電圧とともに変化する。しかしながら、PUF220が統合される電子デバイスで使用される一般的なクロック信号(例えば、図2に示される過渡応答イネーブル信号210)は、PUF220の機能に悪影響を及ぼす可能性がある異なる温度特徴を有する。例えば、クロック信号は、温度が変化するとき、設計周波数を維持し得るが、PUF220がその性能を最大にするために測定するべき時間は温度に応じて変化し得る。したがって、温度変化に対してロバスト性があるPUFを提供するために、物理デバイスによって生成されるイネーブル信号は、PUF220の応答を記録するためにレジスタ240をトリガするために使用される前に、補助回路230を介してフィードされる。したがって、補助回路230は、PUF220と同様に、温度及び電圧とともに変化する時間遅延を導入するように構成される。時間遅延の持続時間はPUF220の特性時間スケールに関する。結果として、PUF220は、従来のPUFと比較して温度安定性が改善されたことを示す。これは、図13A及び図13Bによって実証される。
【0046】
PUF220と同様に、補助回路230は複数の電子デバイス(また、本明細書では、「論理素子」と称される)を含む。したがって、補助回路230はPUF220に含まれる同じタイプの電子デバイスを含む。言い換えれば、PUF220及び補助回路230のコンポーネントデバイスの温度特徴は同じである。加えて、補助回路230はFPGAまたはASICで実装できる(すなわち、PUF220と同じように実装できる)。上記に説明したように、補助回路230は時間遅延を導入するように設計される。いくつかの実施態様では、各電子デバイスはブール演算を実施するように構成される。例えば、補助回路230は複数の対の直列接続したインバータゲートを含み得る。他の実施態様では、各電子デバイスはコピー動作を実施するように構成される。補助回路230の電子デバイスの数は、時間遅延の持続時間に直接的に関連することを理解されたい。例えば、レジスタ240に入力される前に、過渡応答イネーブル信号210がフィードされる電子デバイスの数が大きいほど、より長い時間遅延をもたらす。したがって、補助回路230の電子デバイスの数は、PUF220の特性時間スケールに基づいて選択できる。例として、補助回路230の遅延線は、時間遅延の持続時間が約10の特性時間スケールであるように構成できる。10の特性時間スケールが単に例として提供されることを理解されたい。本開示では、10の特性時間スケールより長いまたは短い時間遅延を使用することが想到される。
【0047】
随意に、いくつかの実施態様では、ICチップ200はさらに複数のPUFを含み、各PUFは各々のハイブリッドブールネットワークを含む。例えば、複数のPUFは図3に示される。図3では、2つのPUF(すなわち、PUF320a(「ネットワーク0」)及びPUF320b(「ネットワーク1」)がある。PUF320a及び320bは、本明細書では、まとめてPUF320と称される。2つのPUF320が単に例として提供されることを理解されたい。本開示では、ICチップに3つ以上のPUFを含むことが想到される。加えて、結合回路325は提供される。結合回路325は、PUF320のそれぞれの各々の出力を組み合わせるように構成される。例えば、結合回路325は、PUF320によって出力される各々のビットストリングをサンプリングし、基準を使用してこれらのビットストリングを組み合わせるように構成できる。いくつかの実施態様では、結合回路325は、基準(例えば、b=0:ネットワーク0からあるビットを使用する、b=1:ネットワーク1からあるビットを使用する)に従ってフリップするように構成されるセレクタビットである。代替としてまたは加えて、いくつかの実施態様では、基準は製造時間における乱数である。代替としてまたは加えて、他の実施態様では、結合回路325は基準を生成するために使用されるPUFを含む。
【0048】
ここで図4Aを参照して、サイバーセキュリティーを提供するためにPUFを使用するための例示的な動作を示す。本開示では、例えば、図1図3及び図6E図6Gに関して説明される1つ以上のデバイス及びPUFを使用して、図4Aの動作を実施できることが想到される。ステップ402において、チャレンジビットストリングはPUFに入力される(例えば、図2及び図6E参照)。チャレンジビットストリングをPUFに入力するステップは、チャレンジビットストリングの各ビットに一致する各々の電圧(例えば、高電圧=論理1/低電圧=論理0)を、PUFの電子デバイスの各々1つに供給することを含む。チャレンジビットストリングはNビットの長さを有し、Nは2以上である。例えば、図6Eでは、PUFに関してN=16である。チャレンジビットストリングは、例えば、図6Fに示される「チャレンジ」ビット線のPUFのノードに入力できる。チャレンジビットストリングはPUFの初期状態を設定する。ステップ404において、PUFは初期状態から解除される。その初期状態からPUFを解除するステップは、ハイブリッドブールネットワークが進化することを可能にするRESETビットをフリップすることを含む。これは、例えば、図6Fに示される「リセット」されたビット線で達成できる。
【0049】
ステップ406において、過渡応答ビットストリングをPUFからキャプチャする。これは、例えば、図6Gに示されるフリップ-フロップの出力において達成できる。過渡応答ビットストリングをPUFからキャプチャするステップは電子デバイスのそれぞれの各々の状態(例えば、高電圧/低電圧)を検出することを含み、電子デバイスの各々の状態は過渡応答ビットストリングの各ビットの各々の値(例えば、高電圧=論理1/低電圧=論理0)に対応する。過渡応答ストリングはNビットの長さを有し、Nは2以上である。例えば、図6Eでは、PUFに関してN=16である。本明細書に説明されるPUF(例えば、図2及び図6E図6Gに示されるもの)はチャレンジ毎に複数のビットを生成し、これにより、機械学習攻撃に対する抵抗を改善する及び/または総エントロピーを増加させる。加えて、ステップ404において、過渡応答ビットストリングは、PUFを初期状態から解除した後に既定期間にキャプチャされる。例えば、過渡応答ビットストリングはPUFの過渡状態中にキャプチャされる。過渡状態の持続時間はPUFの特性時間スケールに関する。加えて、既定期間はPUFの特性時間スケールの約10倍である。例えば、いくつかの実施態様では、既定期間は約1ナノ秒(ns)である。
【0050】
いくつかの実施態様では、過渡応答ビットストリングをPUFからキャプチャするステップは、随意に、複数の応答ビットストリングをPUFからキャプチャすることを含む。応答ビットストリングのそれぞれは、過渡期間中の異なる時間において(例えば、定期的に)キャプチャされる。このように、複数の応答は過渡状態の範囲内で収集される。次に、過渡応答ビットストリングは応答ビットストリングから取得される。例えば、最終応答ビットストリングは応答ビットストリングのそれぞれから選択された1つ以上のビットを含み得る。いくつかの実施態様では、応答ビットストリングのそれぞれから選択された1つ以上のビットは、随意に別のPUFを使用して生成できる暗号化キーを使用して決定される。代替として、他の実施態様では、応答ビットストリングのそれぞれから選択された1つ以上のビットは、随意に製造時に割り当てできる既定のキーを使用して決定される。
【0051】
ステップ408において、過渡応答ビットストリングを使用して、サイバーセキュリティーを提供する。いくつかの実施態様では、過渡応答ビットストリングを使用して、デバイスを認証する。代替として、他の実施態様では、過渡応答ビットストリングを暗号化キーとして使用する。認証及び安全なキー生成が単に例示的な用途として提供されることを理解されたい。本開示では、限定ではないが、メモリなしキーストレージ、偽造防止、不正開封防止、安全通信、及び知的財産保護を含む他の用途に関する本明細書に説明されるPUFを使用することが想到される。本明細書に説明されるように、PUFは、チャレンジについてクエリが行われるとき、固有の予測不可能な応答(例えば、指紋)を生成することが予想される。特定の過渡応答ビットストリングは、特定のチャレンジビットストリングに応答して受信するはずであることが予想される。係る一致(すなわち、CRP)は、本明細書に説明されるようなデータベースに記憶できる。したがって、認証に関して、ステップ408において受信された過渡応答ビットストリングがステップ402で入力されたチャレンジビットストリングに一致する場合、デバイス(例えば、図1に示される物理デバイス102)を認証できる。安全なキー生成のために、固有の及び予測不可能である過渡応答ビットストリングはキーまたはその一部として使用できる。係るキーはデバイスに記憶する必要がなく、そのキーはデバイス自体だけによって生成できる。加えて、CRPデータベースの生成を含む登録プロセスは安全なキーの適用に必要ではないことを理解されたい。キー(例えば、パブリックキーまたはプライベートキー)は、チャレンジビットストリングに応答して、過渡応答ビットストリングを受信する。比較を行う必要はない。
【0052】
ここで図4Bを参照して、PUF登録のための例示的な動作を示す。本開示では、例えば、図1図3及び図6E図6Gに関して説明される1つ以上のデバイス及びPUFを使用して、図4Bの動作を実施できることが想到される。ステップ452において、PUFを提供する。例えば、PUFは、図2及び図6Eに関して説明されるPUFの1つであり得る。ステップ454において、チャレンジビットストリングをPUFに入力し、チャレンジビットストリングはPUFの初期状態を設定する。ステップ456において、PUFは初期状態から解除される。ステップ458において、過渡応答ビットストリングをPUFからキャプチャする。ステップ454~458は、図4Aに関して上記に説明したステップ402~406と同様であることを理解されたい。その後、ステップ460において、チャレンジビットストリーム及び過渡応答ビットストリングは、チャレンジレスポンスペアデータベースに記憶される。本開示では、ステップ454~460は、検証デバイス(例えば、図1に示される検証デバイス104)によって行うことができることが想到される。加えて、本開示では、ステップ454~460は、PUFの製造に続いて行うことができることが想到される。
【0053】
様々な図に関して本明細書に説明される論理演算は、(1)コンピュータが実施する一連の行為もしくはコンピューティングデバイス(例えば、図5に説明されるコンピューティングデバイス)で起動するプログラムモジュール(すなわち、ソフトウェア)として、(2)電子デバイスの内の相互接続されたマシンの論理回路もしくは回路モジュール(例えば、FPGA等のハードウェア)として、及び/または(3)電子デバイスのソフトウェア及びハードウェアの組み合わせとして実施され得ることを理解されたい。したがって、本明細書に説明される論理演算は、ハードウェア及びソフトウェアのいずれかの特定の組み合わせに限定されない。実施態様は、コンピューティングデバイスの性能及び他の要件によって選択できる。したがって、本明細書に説明される論理演算は、動作、構造デバイス、行為、またはモジュールと様々に称される。これらの動作、構造デバイス、行為、及びモジュールは、ソフトウェアに、ファームウェアに、特殊用途デジタル論理に、及びいずれかのそれらの組み合わせで実装され得る。また、図に示され及び本明細書に説明されるものよりも多いまたは少ない動作が行われ得ることを理解されたい。これらの動作は、また、本明細書に説明されるものと異なる順序で行われ得る。
【0054】
例示的なコンピューティングデバイス
【0055】
図5を参照して、本明細書に説明される方法が実施され得る例示的なコンピューティングデバイス500を示す。例示的なコンピューティングデバイス500は、単に、本明細書に説明される方法が実施され得る適切なコンピューティング環境の一例にすぎないことを理解されたい。随意に、コンピューティングデバイス500は周知のコンピューティングデバイスであり得、限定ではないが、パーソナルコンピュータ、サーバー、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、ネットワークパーソナルコンピュータ(PC)、ミニコンピュータ、メインフレームコンピュータ、埋め込みシステム、及び/または上記のシステムもしくはデバイス等のいずれかの複数のものを含む分散コンピューティング環境を含む。分散コンピューティング環境は、リモートコンピューティングデバイスが通信ネットワークまたは他のデータ伝送媒体に接続される様々なタスクを行うことを可能にする。分散コンピューティング環境では、プログラムモジュール、アプリケーション、及び他のデータは、ローカル及び/またはリモートのコンピュータストレージ媒体に記憶され得る。
【0056】
その最も基本的な構成では、コンピューティングデバイス500は、一般的に、少なくとも1つの処理ユニット506及びシステムメモリ504を含む。コンピューティングデバイスの正確な構成及びタイプにより、システムメモリ504は、揮発性(ランダムアクセスメモリ(RAM)等)、不揮発性(読み出し専用メモリ(ROM)、フラッシュメモリ等)、またはその2つのいくつかの組み合わせであり得る。この最も基本的な構成は破線502によって図5に示される。処理ユニット506は、コンピューティングデバイス500の動作に必要な算術演算及び論理演算を行う標準プログラマブルプロセッサであり得る。コンピューティングデバイス500は、また、コンピューティングデバイス500の様々なコンポーネント間で情報を通信するためのバスまたは他の通信機構を含み得る。
【0057】
コンピューティングデバイス500は追加特徴/機能を有し得る。例えば、コンピューティングデバイス500は、限定ではないが、磁気または光学のディスクまたはテープを含むリムーバブルストレージ508及び取り外し不可能ストレージ510等の追加ストレージを含み得る。コンピューティングデバイス500は、また、デバイスが他のデバイスと通信することを可能にするネットワーク接続(複数可)516を含み得る。コンピューティングデバイス500は、また、キーボード、マウス、タッチスクリーン等の入力デバイス(複数可)514を有し得る。また、ディスプレイ、スピーカ、プリンタ等の出力デバイス(複数可)512が含まれ得る。コンピューティングデバイス500のコンポーネント間のデータ通信を容易にするために、追加デバイスはバスに接続され得る。全てのこれらのデバイスは当技術分野で周知されており、ここで詳細に説明する必要はない。
【0058】
処理ユニット506は、有形コンピュータ可読媒体でエンコードされるプログラムコードを実行するように構成され得る。有形コンピュータ可読媒体は、特定の方式でコンピューティングデバイス500(すなわち、マシン)を動作させるデータを提供することが可能であるいずれかの媒体を指す。様々なコンピュータ可読媒体を利用して、実行するために命令を処理ユニット506に提供し得る。有形コンピュータ可読媒体の例は、限定ではないが、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の情報を記憶するためのいずれかの方法または技術に実装される揮発性媒体、不揮発性媒体、取り外し可能媒体、及び取り外し不可能媒体を含み得る。システムメモリ504、リムーバブルストレージ508、及び取り外し不可能ストレージ510は、有形コンピュータストレージ媒体の全ての例である。例示的な有形コンピュータ可読記録媒体は、限定ではないが、集積回路(例えば、フィールドプログラマブルゲートアレイまたは特定用途向け集積回路)、ハードディスク、光ディスク、光磁気ディスク、フロッピーディスク、磁気テープ、ホログラフィックストレージ媒体、ソリッドステートデバイス、RAM、ROM、電気的消去可能プログラム可能読み取り専用メモリ(EEPROM)、フラッシュメモリ、または他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)、または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイスを含む。
【0059】
例示的な実施態様では、処理ユニット506はシステムメモリ504に記憶されるプログラムコードを実行し得る。例えば、バスはデータをシステムメモリ504に運び得、システムメモリ504から、処理ユニット506は命令を受信して、その命令を実行する。システムメモリ504によって受信されるデータは、随意に、処理ユニット506による実行前または実行後に、リムーバブルストレージ508または非リムーバブルストレージ510に記憶され得る。
【0060】
本明細書に説明される様々な技術は、ハードウェアもしくはソフトウェアに関連して、または適切な場合にそれらの組み合わせで実装され得ることを理解されたい。したがって、本発明に開示される主題の方法及び装置またはその特定の態様もしくは一部は、フロッピーディスク、CD-ROM、ハードドライブ、またはいずれかの他の機械可読ストレージ媒体等の有形媒体に具体化されたプログラムコード(すなわち、命令)の形態をとり得、プログラムコードがマシン(コンピューティングデバイス等)にロードされマシンによって実行されるとき、マシンは本発明に開示される主題を実施するための装置になる。プログラマブルコンピュータにおけるプログラムコード実行の場合、コンピューティングデバイスは、概して、プロセッサと、プロセッサが読み取り可能なストレージ媒体(揮発性メモリ及び不揮発性メモリならびに/またはストレージエレメントを含む)、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスを含む。1つ以上のプログラムは、例えば、アプリケーションプログラミングインターフェース(API)、再利用可能制御等の使用によって、本発明に開示される主題に関連して説明されるプロセスを実施または利用し得る。係るプログラムは、ハイレベルプロシージャプログラミング言語またはオブジェクト指向プログラミング言語で実装され、コンピュータシステムと通信し得る。しかしながら、プログラム(複数可)は、必要に応じて、アセンブリ言語またはマシン語で実装できる。いずれにしても、言語はコンパイラ型言語またはインタープリタ型言語であり得、言語はハードウェア実施態様と組み合わせられ得る。
【0061】
実施例
【0062】
物理的クローン不能関数(PUF)は、製造プロセスにおける小さな変動を活用して、知的財産保護及びデバイス認証から秘密鍵交換にわたる用途で、固有の及び安定した識別特徴を作成するデバイスである。フィールドプログラマブルゲートアレイに実装されるカオス的ブールネットワークを含むPUF設計が下記に提示され、そのPUF設計は、10ナノ秒(ns)と同じくらい短時間でチャレンジレスポンスペアを生成することが可能である。他の設計と対照的に、チャレンジ毎の複数の応答ビットは収集される。これにより、ネットワークサイズでエントロピーの指数関数的スケールが実証される。高い一意性及び信頼度はPUF設計から見つけられ、各々、256のノードネットワークに関して、μinter=0.41±0.02及びμintra=0.02±0.01によって特徴付けられる。さらに、ブールネットワークは、適度な温度変動を示しながら、カオス的であり、第三者の機械学習攻撃に耐性があり、商業的利用を容易にすることが示される。
【0063】
下記に説明される回路設計は、商業的に利用可能である既製のハードウェアに構築された複数の応答ビットがある唯一の既知の強いPUFである。PUFは、チャレンジビットストリングによって設定された初期条件のかなりコンパクトなカオス回路である。応答ビットストリングは、その初期過渡中に(一般的に、10ns以内)、回路の状態を読み取ることによって生成される。具体的には、回路設計は、フィールドプログラマブルゲートアレイ(FPGA)に実装されるハイブリッドブールネットワーク(HBN)である。PUF特徴は、配線要素及び論理素子の微小なFPGA製造変動から生じ、異なるFPGAにわたって比較するとき、HBNダイナミクスひいてはPUFのようなそのチャレンジレスポンス挙動が変わる。さらに、ネットワークサイズがあるエントロピーの指数関数的スケールでの非線形ダイナミクス及びカオスダイナミクスの組み合わせは、機械学習攻撃に対する復元力をもたらすように思われる。最後に、本開示では、回路設計は、回路を十分に継続して進化させ、過渡的挙動後にカオス領域にさせることによって、真のハードウェア乱数発生器(HRNG)の役割もはたすことが想到される。
【0064】
PUF設計
【0065】
乱数発生のために使用される同様に設計されたシステムにおける、異なるタイプのネットワーク及び過去の作業の定義が下記に説明される。
【0066】
ハイブリッドブールネットワーク及び乱数発生
【0067】
ブールネットワークはそれぞれ状態0または状態1で接続されたノードの集合である。各ノードの状態はブール関数によって決定され、ブール関数は、それに接続される全てのノードの状態を入力として取得し、そのノードの新しい状態を出力する。自律ブールネットワーク(ABN)はブールネットワークであり、ブールネットワーク関数は外部クロックに関係なく更新する。そのダイナミクスは、物理的基板が許す可能な速さと同じくらいの速さで発生する。ABNダイナミクスは、ネットワークのリンク間の伝搬速度の変動と、各ノードの立ち上がり時間及び立ち下がり時間の変化とに対して感度が高く、そのノードをPUFのコンポーネントとして有力な候補にする。これは、グローバルクロックを使用して同期的に全てのノード状態を更新するソフトウェアに実装されたもの等のクロック式ブールネットワークと対照的である。ハイブリッドブールネットワーク(HBN)は、クロック式コンポーネント及びアンクロック式コンポーネントの両方を含む。
【0068】
Rosinによって研究されたように[D.Rosin.Ultra-fast physical generation of random numbers using hybrid Boolean networks.In Dynamics of Complex Autonomous Boolean Networks,pages57-79.Springer,2015。D.Rosin et al.Ultrafast physical generation of random numbers using hybrid Boolean networks.Physical Review E,87(4):040902,2013参照]、フィールドプログラマブルゲートアレイ(FPGA)に実装されたHBNを使用して、乱数発生のために使用するとき、極めて高いランダムビットレートを生じさせることができる。これは、セキュアデータを暗号化するための乱数発生に依存する一般的なRivest-Shamir-Adleman暗号システム[J.Jonsson and B.Kaliski.Public-key cryptography standards(PKCS)#1:RSA cryptography specifications version 2.1.Technical report,2003参照]を含む多くの安全通信プロトコルに有用である。可能な限り速く乱数を生成することは、データを暗号化できる速度を増加させることによって及び暗号化キーを記憶する必要がある時間を短くすることによってセキュリティ上の利点をもたらす。
【0069】
Rosinの構成(本明細書では、HBN-RNGと称される)はFPGAにカオス物理システムを作成するために設計され、FPGAのダイナミクスがハードウェアによって許可される最大周波数に急速に近づく。HBN-RNGは図6Aに示される。図6B図6Dは、図6Aに示されるHBN-RNGのコンポーネントを示す。この速度は、FPGA及びLEにわたって変動するFPGAの論理素子(LE)の有限の立ち上がり時間及び立ち下がり時間の逆数によって与えられる。Altera Cyclone IV FPGAに関して、立ち上がり時間及び立ち下がり時間は約0.27±0.01nsであり[D.Rosin et al.Ultrafast physical generation of random numbers using hybrid Boolean networks.Physical Review E,87(4):040902,2013参照]、その量は、便宜上、約τ/2(τ≒0.5ns)として定義される。これには、約1GHzの最大周波数が与えられる。係る速度により、HBN-RNGがより大きいオーバーヘッドがある同期クロック式システムよりも高速な乱数を生成することを可能にする。また、HBN-RNGは自励を示すようにも設計され、論理highまたは論理lowにバイアスがかからない。
【0070】
図6A図6Dに示されるように、HBN-RNGはNノードのリングから形成され、各ノードはそれ自体及びその2つの近接するものに結合される。ノードの1つを除く全て(すなわち、図6Cによって示されるノード)は、3入力XOR演算を実行して、真の奇数の入力に関して1を返し、それ以外は0を返す。ノードの1つ(すなわち、図6Bによって示されるノード)は、XOR演算の論理否定であるXNOR演算を実行して、リングの回転対称を壊し、システムの自励を強制する。ここで図6Dを参照すると、HBN-RNGのクロック部は、その立ち上がりエッジに4つのABNノードの状態を記録するグローバルクロック604によって動作するNビットのレジスタ602を含む。次に、記録されたビットストリングは読み取られる前に最後のXORゲート606を介して渡され、入力されるビットストリングは十分に相関がない場合にバイアスが減少する。
【0071】
Altera Cyclone IV FPGAに実装されるとき、HBN-RNGのカオスへの移行はN=5で発生し、N=5を超えると、ネットワークが初期条件及びLEパラメータ詳細に急激に感度が高くなる。効率的なRNGは並行して起動するN=16のネットワークの128コピーで実現でき、12.8Gbit/sの乱数ビットレートをもたらす。
【0072】
HBN-PUF
【0073】
上記に説明した物理乱数発生器はいくつかの方法における「PUFと同様のもの」である。まず、信号経路における製造上の微小なばらつき及びノードへの入力インピーダンスは、異なるカオス的な過渡的挙動を生じさせるのに十分であり、PUFの一意性の特性を示す。次に、図6Aに示されるHBN-RNG及び同様のABN[O.D’Huys et al.Super-transient scaling in time-delay autonomous Boolean network motifs.Chaos:An Interdisciplinary Journal of Nonlinear Scienc,26(9):094810,2016参照]は、約数百ピコ秒であるネットワークの特性時間スケールよりも桁違いに長く持続する可能性がある過渡をもたらす。これにより、過渡HBN応答において安定性がある時間帯が示唆され、ネットワーク状態は、上記に説明した物理的詳細についての有用な情報を保持しながら、本明細書に説明される意味では信頼性がある。
【0074】
これらを考慮して、図6Eに示されるように、HBN-RNGスキームはHBN-PUFとして働くように修正できる。具体的には、図6Aに示されるHBN-RNGと比較して、以下の変化がなされる。
【0075】
図6Fに示されるように、各ノードをXORのLE608と、ABNの初期状態を特定のNビットのストリング(チャレンジ)に設定するマルチプレクサ610とに置き換える。
【0076】
図6Gに示されるように、そのダイナミクスに同等の速度でNビットのレジスタ612を使用して時系列のネットワークをキャプチャし、グローバルクロック614を使用して時系列を読み取り、(下記に定義される方式で)Nビットの応答を過渡から選択する。
【0077】
第1の変化は、ネットワークチャレンジを行うことと、XNORノードを除去することによって全ての0状態からの自励を防止することとである。チャレンジCは、Nビットのバイナリストリング(また、本明細書では、「チャレンジビットストリング」と称される)になるように定義され、いくつかの任意であるが不変のノードのラベリングに従って、ABNの初期状態を設定する。数学的に、時間t=0でABNのNビットの状態X(T)に関して、方程式(1)によって示される。
【数1】

ABNの初期状態になるようにチャレンジを定義することによって、可能であるチャレンジの数が2のように増大する指数関数的にスケーリングされたチャレンジ空間が取得される。具体的には、有効なチャレンジの数Nvcは、ABNの定常状態ではない長さNの全ての可能であるビットストリングになるように定義される。これは、非同期の3入力XORがいずれかの場合のままであるため、全てのNに関して全て0または全て1の状態であることを除外することを意味する。同様に、Nが偶数の場合、0及び1が交互になる状態を除外する。したがって、有効なチャレンジの数は方程式(2)によって与えられる。
【数2】
【0078】
第2の変化は、同時に最も信頼性があり及び固有であるABNの過渡的挙動をキャプチャすることである。これは、FPGA製造変動が回路の「指紋」として十分に働くようにその初期状態からネットワークとの相関がなくなる時点である。形式上、HBN-PUFは、ABNの初期状態をCに設定することによって、次に、挙動がまだ過渡段階であるとき、その状態が短時間で進化することを可能にするによってチャレンジされる。次に、チャレンジCに対するHBN-PUFのNビットの応答Rは、方程式(3)として定義されるそのビット単位のブール導関数を評価することによって、ABNの時系列の中から選択される。
【数3】

ここで、XOR[.,.]はビット単位のXOR関数であり、|を使用して、特定の値における評価を示す。下記に説明されるように、時間t≧τは、チャレンジを適用した後にABNを記憶する登録時間である。最適時間toptは、下記に説明される最適化ルーチンによって選ばれるように、過渡におけるブール導関数の状態の時系列の中から一意性及び信頼度を最大にする時間である。ブール導関数を使用する選択肢は、上記に説明したHBN-RNGの出力ビットストリームのバイアスを減らすためのXOR手順によって生じる。最後に、チャレンジ毎に読み取られたビット数はNであり、ひいては、設計から抽出可能なビットは、N2として潜在的にスケーリングし得、強いPUFをもたらす。
【0079】
時系列のABN進化は以下のようにまとまる。最初に、ABNはセットt=0においてCに設定され、続いて、RESETビットは0にフリップされ、ABNが進化することを可能にする。次に、ABNのダイナミクスは、遅延線の下にRESET信号を渡すことによって、τ≒0.5nsの間隔で自律的に登録される。遅延線は連続対のインバータゲートから成り、各対は、大まかに、τだけRESET信号によって遅延させる。各遅延後に、その時間におけるネットワークの全てのノードの状態はレジスタ内にセットされ、次に、グローバルクロックを使用して、後にメモリにプッシュされる。このプロセスは、遅延線に使用されるインバータゲートペア及びABNにおけるノードのLEが両方ともτの近くにあるため、ABNのダイナミクスがその進化に同等の時間スケールでキャプチャされることを確実にする。ただし、それぞれ、製造上の違いに起因してわずかに変動する。
【0080】
実験手順
【0081】
HBN-PUFは、ハードウェアプログラミング言語(例えば、Verilogハードウェア記述言語(HDL))に設計をコーディングし、コンパイラ(例えば、INTEL CORP.(Santa Clara,California)のQUARTUS IIコンピュータ支援設計(CAD)ソフトウェア)を使用して、その最適化手順によって、自動的に選ばれる配置及びルーティングでコードをコンパイルすることによって作成される。次に、Nchips=10は、同じSOFファイルで別々にプログラムされる。各チップは、INTEL CORP.(Santa Clara,California)のCYCLONE V 5CSEBA6U23I7 FPGAsのホストとして働くTERASIC,INC.(Hsinchu,Taiwan)のDE10-Nanoシステムオンチップ(SOC)である。これは、各FPGAがレイアウト及び設計の両方の(例えば、図6Eに示されるように)本明細書に説明されるHBN-PUFの同一のコピーをインスタンス化することを確実にし、一方のPUFインスタンスから別のPUFインスタンスへの変動だけが製造の変動に起因することを意味する。
【0082】
カスタムのPythonスクリプトを使用して、固有であり及びランダムに選択された有効なチャレンジNdistinctは各チップのオンボードメモリにロードされ、HBNの初期状態を設定するために使用される。次に、ネットワークは過渡カオス段階中に短時間に進化し、時系列はメモリに保存され、PUFは次のチャレンジにリセットされる。
【0083】
全プロセスがNqueryの回数だけ繰り返されることにより、チップ毎に適用されるチャレンジの総数はNdistinct×Nqueryに等しくなる。下記に説明されるように、投票の過半数を行い、その場合、所与のチャレンジに対する応答は、同じチャレンジに対するNvotes=25の応答の中から最も頻繁に観察されたビットになるように受け取る。このように、チャレンジが適用される回数はNquery=Nvotes×Nrepeatであり、投票に続くこのチャレンジに対する応答の数はNrepeatであり、この結果、CRPの総数はNdistinct≒Nrepeatである。次に、時系列のデータは読み取られ、下記に説明される分析で使用される。
【0084】
デバイス統計値
【0085】
複数のチップにわたる及び異なるネットワークサイズに関するPUF設計に関する一意性及び信頼度の標準的測定は下記に定義及び評価される。他の最先端のPUFに同等の安定した性能が得られている。HBN-PUFがハードウェア乱数発生器の役割も果たし得ることを示す結果も示される。
【0086】
背景技術
【0087】
仮に、P∈Pが、上記に説明した設計に従って、全てのPUFインスタンスのセットに属する特定のPUFインスタンスPであるとする。応答Rは、ランダム変数R:S→{0,1}であり、PUFインスタンスPの全ての可能である物理状態Sのセットから、長さNの全てのバイナリストリングのセット({0,1}で示される)にマッピングする。
【0088】
具体的には、応答は、チャレンジCから生じるPUFインスタンスPの特定の状態SP,C∈Sを入力として受け取る。要素毎に表すと、このマッピングはSP,C→R(SP,C)である。表記を簡略化するために、公式の定義が理解を超えて与えられるという暗黙の了解で、応答R(P,C)は、PUFインスタンスPの関数として書かれ、チャレンジはそのCに適用される。
【0089】
Pの信頼度及び一意性は、様々なP及びCに関するRの分布を検討することによって特徴付けられる。言い換えれば、PUFとしてどのように機能するかの設計は、チャレンジ毎に個々の及び異なるインスタンスからの応答を比較することによって検討する。そのために、以下の標準的測定が定義される。
【0090】
デバイス内及びデバイス間の定義
【0091】
同じチャレンジストリングCからの2つの異なる応答を考慮する。これらの応答は、同じチャレンジストリングを同じPUFインスタンスの2つの異なる時間Ci,j及びCi,kに適用することから生じ得る、またはこれらの応答は、チャレンジを2つの異なるPUFインスタンスP及びPに正確に1回だけ適用することから生じ得る。第1の場合を使用して、信頼度を正確に測定する。単一のPUFインスタンスは、同じチャレンジが提示されるとき、理想的には同一応答を生成するはずである。第2の場合を使用して、一意性を正確に測定する。2つの異なるPUFインスタンスは、比較するとき、ランダム性及び無相関性が現れる同じチャレンジに対する応答を与えるはずである。明確にするために、これらの指標を要約する。
【0092】
i∈[0,Ndistinct]:個々のチャレンジ、
【0093】
j,k∈[0,Nrepeat]:個々のチャレンジの別々の適用、
【0094】
l,m∈[0,Nchips]:別々のPUFインスタンス。
【0095】
各応答がNビットのストリングとして受け取られる場合、2つの応答の間の類似しないビットの分数は、方程式(4)及び(5)によって示されるように表される。
【数4】

【数5】

ここで、D[.,.]はハミング距離(2つのNビットのバイナリストリング間の異なるビット数)であり、rijk;l(ニーモニック「信頼度」)は、チャレンジiのアプリケーションj及びkから生じる固定のPUFインスタンスPに関する応答間のインスタンス内(デバイス内またはデバイス間)の小数ハミング距離である。同様に、uilm;j(ニーモニック「一意性」)は、チャレンジiの固定アプリケーションjから生じるPUFインスタンスP及びPの応答間のインスタンス間(デバイス内またはデバイス間)の小数ハミング距離である。
【0096】
チャレンジ毎のこれらの距離の分布を取得するために、それを構築するために使用されるペア毎の組み合わせは全体にわたって平均化され、次に、残りの指標はさらに全体にわたって平均化され、信頼度μintra及び一意性μinterの平均測定値を取得する。具体的には、<.>(a,b),cがペア毎の組み合わせ(a,b)及び残りの指標cにわたる量の平均を示す場合、下式が適用される。
【数6】

【数7】
【0097】
個々のチップの信頼度を正確に測定するために、そのとき、ないインスタンスPにわたって平均化され、その結果、チップ毎の平均信頼度はμintra;l=<r>(j,k),iになる。ネットワークの時間発展を表すNビットのストリングの時系列を記録することにより、全ての時点における上記の測定値が存在することに留意されたい。理想的には、全ての時間で、μintra=0及びμinter=0.5である。実際には、これは事実と異なり、応答は、Δμ(t):=μinter(t)-μintra(t)を最大にする時点topt(すなわち、同時に最も信頼性があり及び固有である過渡点)として選ばれる。
【0098】
実験的なデバイス内及びデバイス間の統計
【0099】
ここでは、N=16及びN=256のノードネットワークのそれぞれに、Nrepeat=10回だけ繰り返された有効なチャレンジ(Ndistinct=100)に関する結果が提示される。図7A図7Dの左側に、少なくとも及び最も信頼性があるチップ<r>(j,k)のチャレンジ毎の信頼度分布がプロットされ、その平均値はチップ毎の平均信頼度μinter;lである。図7A図7Dの右側に、チャレンジ毎の信頼度及び一意性の分布(<r>(j,k),l及び<u>(l,m),j)がプロットされ、それらの平均値は、各々、μintra及びμinterである。
【0100】
図7A及び図7Cから、全てのチップがテストされるネットワークサイズに関する所与の不確実性の範囲内で同一の信頼度があることを確認でき、いずれかの個々のチップがいずれかの他のものと同じくらい等しく信頼性があることを意味する。図7B及び図7Dから、2つの分布が中心に狭くなり、ネットワークサイズ毎に十分に離れていることを確認でき、別のインスタンスに対する一方のPUFインスタンスの応答に属する誤りの確率がゼロに近くなること(低い偽陽性率)を示す。これは、(例えば、図6Eに示されるように)本明細書に説明されるHBN-PUFが認証目的に適切であることを意味する。
【0101】
さらに、μinter及びμintraは、各々、それらの理想値0.5及び0から多くても9%及び2%離れることが確認される。これらの誤差は、さらに、誤差補正アルゴリズム等の標準手段によって補正され、登録中に少なくとも固有の及び信頼性のあるビットを集計してそれらを応答から除去する、または誤識別の確率がゼロに近くなるまで、単純により多くの応答を要求する。これらのそれぞれは、チャレンジ毎の複数の応答ビットをかなり速く収集するため、本明細書に説明されるHBN-PUFに対して実用的であり、シングルビットの応答PUFよりも、認証タスクを単純に及び安全にする。これは、敵対者正確推測の確率(例えば、N=256のビット応答)はシングルビットの推測と比較して無視でき、その場合、かなり多い数のチャレンジが認証で必要になるだろう。逆に、上記の分布とかなり同様の分布は、少ない数のチャレンジ(例えば、Ndistinct~10)だけを使用して取得される。
【0102】
乱数発生
【0103】
下記に、HBN-PUFの応答平均ビット値が後の時間で約0.5を中心に狭くなる中心分布を表すことが示され、ランダム品質を示す。上記に提示したN=256のノードネットワークは、sijlnは、時間t≧toptにおけるチャレンジi、アプリケーションj、及びインスタンスlから、応答ストリングsのn番目のビットである。図8A及び図8Bでは、N=256に関する時間t=topt及びt=2toptのsの分布及びその平均値がプロットされる。
【0104】
図8A及び図8Bから、データは0または1に対してわずかなバイアスを提示する。本開示では、NIST statistical suite[L.Bassham et al.SP 800-22 Rev.1a A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications.National Institute of Standards and Technology(NIST),2010.参照]等のさらなるテストは、有効なハードウェアのRNG挙動に向かう次のステップとして行うことができることが想到される。
【0105】
エントロピー分析
【0106】
PUFのセキュリティ分析では、抽出可能エントロピーは最も重要である。結局のところ、この量は信頼度及び一意性の両方に関し、PUFインスタンスと安全に交換できる情報量の上界を提供する[P.Tuyls et al.Information-theoretic security analysis of physical uncloneable functions.In International Conference on Financial Cryptography and Data Security,pages141-155.Springer,2005参照]。抽出可能エントロピーは指数関数的に高次元空間内で確率分布から形成されるため直接推定することが困難である。下記に、エントロピーを制限データから推定するいくつかのの方法が説明される。
【0107】
プロセスは、(例えば、図6Eに示されるように)本明細書に説明されるHBN-PUFの応答のビットペア間の独立性を推定し、様々なネットワークサイズNの最小エントロピーを計算することによって開始する。最小エントロピーの計算はNで準指数関数的にスケーリングし、ひいては、大きいNのデバイスのエントロピーの上界の効率的推定を可能にする。次に、この推定値は、他のPUFに存在することが示されているビットペア間の経験的相互情報量を計算することによって改良される[R.Maes.Physically unclonable functions.Springer,2016参照]。これは、低いNのデバイスのエントロピーのより正確な推定を生じさせる。結果は、本明細書に説明されるHBN-PUFのエントロピーで下界として解釈される。低いNデバイスの上界としてより厳密に働く第3のエントロピー測定が提示される。加えて、この結果は要約され、ネットワークサイズでエントロピーの指数関数的スケールが見出される。以下では、全ての対数は2進数であり、応答はtoptにおいて選ばれる。
【0108】
最小エントロピー
【0109】
ランダム変数Xの最小エントロピーは方程式(8)として定義される。
【数8】
【0110】
ここで、pmax(X)は最も可能性が高い結果の確率である。X=(x,x,...,x)がn個の独立ランダム変数のベクトルである場合、最小エントロピーは方程式(9)として定義される。
【数9】
【0111】
複数のチャレンジ及び大きい応答空間を伴う強いPUFの場合、エントロピー計算に意味を持たせるためには、応答ビットの順序付けが必要である。普通の順序付けはxjN+iとしてj番目のチャレンジに対するi番目のノードの応答を定義することであり、チャレンジは辞書学的に順序付けられる。これは、N=3の単純な場合に関して表1に示される。ここでは、平凡な全て0及び全て1のチャレンジを省略するため、6個のチャレンジだけがある。3×6=18の全ビット数が存在するN=3に関する応答ビットの順序付けの例証は表1に示される。
【表1】
【0112】
の独立性の推定値は、本明細書に説明されるHBN-PUFの最小エントロピーは、pmax(x)の経験的推定から方程式(9)で容易に計算できる[D.Holcomb et al.Power-up sram state as an identifying fingerprint and source of true random numbers.IEEE Transactions on Computers,58(9):1198-1210,2009。P.Simons et al.Buskeeper PUFs,a promising alternative to d flip-flop PUFs.In 2012 IEEE International Symposium on Hardware-Oriented Security and Trust,pages7-12IEEE,2012参照]。x毎に、pmax(x)の推定値は、どちらが大きい場合でも、単に0または1の観測度数である。エントロピー計算をコンテキストに加えるために、計算は最適な場合の分数として提示される。xの全てが独立及び完全に不偏である場合、すなわち、xのそれぞれが0または1に等しくなる可能性が高い場合、最小エントロピーは有効なチャレンジNvcの数のN倍に等しいだろう。したがって、最小エントロピー密度は、方程式(10)によって示されるように定義される。
【数10】
【0113】
チャレンジ空間Nvcの指数関数的スケールにより、これらの値は、N>8に関する可能である有効なチャレンジの全てを使用して測定することが不可能であるが、下記に説明されるように、低いNに関する全部のチャレンジ空間が検討される。したがって、ランダムに選ばれたチャレンジが代表サンプルを形成し、未使用空間の分数を乗算し、Hminを取得することを仮定する。表2では、Nchips=10、Ndistinct=100、及びNrepeat=100の場合のN=8,16,32,64に関する最小エントロピー(Hmin)及び最小エントロピー密度(ρmin)が提示される。
【表2】
【0114】
表2から、HBN-PUFは、最小エントロピーの全量の約50%の最小エントロピーを有することが確認できる。比較について、様々な標準的電子的PUFは、51%~99%の最小エントロピーを有する。例えば、より完全な比較に関して以下の参考文献がある[R.Maes.Physically unclonable functions.Springer,2016参照]。したがって、HBN-PUFは最先端技術に同等の最小エントロピー密度を有する。最小エントロピーの別の解釈として、敵対者がxのバイアスだけについて知っている場合、1つが安全に交換できるビット数に等しいことである。表2から、1つが、無知な敵対者に対して5.6×1022ビットの情報を交換できる。このHBN-PUFは3×64=192LEだけ使用し、この値は、他のFPGAベースのPUF設計と比較して極めてコンパクトであり、ひいては、リングのサイズを増加させることによって、エントロピーを容易に増加することが可能である。
【0115】
結合エントロピー
【0116】
上記に説明したように、xが独立であることが仮定されるが、これはその場合に該当する必要はない。いくつかのビットが他についての情報を明らかにすることを可能であり、エントロピーを減らす。最初に、x,xの全てのペアの間で、方程式(11)によって定義された相互情報量を計算することによって、ビットペア間のこれらの相関関係を検討する。
【数11】

最小エントロピーとは異なり、相互情報量がより高いNを計算するのが困難であるため、N=3~8に制限されることに注意し、全部の有効なチャレンジ空間を使用する。Nchips=10、Nchal=Nvc、及びNrepeat=100の場合の小さなNの相互情報量を計算する。N=7に関して、重要な相互情報量(>0.05ビット)がある領域は図9に示される。
【0117】
図9から、重要な相互情報量のピークがx,xのペアの空間でまばらであり、比較的高い情報を有する点に対する構造が自明ではないことが確認できる。しかしながら、構造が存在する場合、敵対者は、この構造の知識を使用して、応答ビットをより効果的に推測でき、これによって、利用可能であるエントロピーが減少する。具体的には、方程式(12)によって示されるように、エントロピーが減少する[R.Maes.Physically unclonable functions.Springer,2016参照]。
【数12】

ここで、ビットの順序付けはペナルティが可能な限り大きくなるようにする。結合情報ペナルティを最大にするビットの順序付けの計算は、効果的に巡回セールスマン問題であり、2-optアルゴリズムで大体解決できる[B.Chandra et al.New results on the old k-opt algorithm for the traveling salesman problem.SIAM Journal on Computing,28(6):1998-2029,1999参照]。
【0118】
N=3~8に関する最小エントロピー(Hmin)、結合エントロピー(Hjoint)、及び結合エントロピー密度(ρjoint)は、表3に示される。結合エントロピー密度の推定値は、他の多くのFPGAベースのPUF設計と同様である。
【表3】
【0119】
結果として生じるエントロピー推定値は、方程式(10)に類似して定義されたエントロピー密度の推定値と一緒に表3に一覧にされる。結合エントロピー密度の推定値は、平均で、最小エントロピー密度の推定値よりも25%小さい。これは他の電子PUF設計よりも小さくなり、結合エントロピー推定値は2.9%~8.24%少ない。詳細な比較に関して、以下の参考文献を参照されたい[R.Maes.Physically unclonable functions.Springer,2016参照]。
【0120】
ゼロ以外の相互情報量の存在により安全に交換できる情報量が少なくなるが、相互情報量を直接計算することが計算的に非効率なタスクになる。係る推定、ひいては、係る攻撃は大きいNを計算するのが困難である。3つのビット相関が存在する可能性が高いが、推定するのがさらにより困難になる。したがって、実際に、エントロピーが上記の結合エントロピー推定値よりもはるかに小さいことは不明確であるが、機械学習攻撃は係る依存関係を効率的に明らかにし得る[U.Ruhrmair et al.Modeling attacks on physical unclonable functions.In Proceedings of the 17th ACM conference on Computer and communications security,pages237-249.ACM,2010参照]。
【0121】
文脈木重み付けテスト
【0122】
エントロピーは下記のストリング圧縮テストによって推定される。ここでは、結果は、真のエントロピー(特に、大きいN)の上界として理解されたい。具体的には、文脈木重み付け(CTW)アルゴリズムを考慮する[F.Willems et al.The context-tree weighting method:basic properties.IEEE Transactions on Information Theory,41(3):653-664,1995参照]。
【0123】
CTWアルゴリズムはコンテキストと呼ばれるバイナリストリングをとり、ストリングの後続のビットを予測するモデルのアンサンブルを形成する。次に、それは、予測モデルを使用して、後続のストリングを符号語に可逆圧縮で圧縮する。符号語のサイズは、PUFインスタンスのチャレンジレスポンス挙動をエンコードするために必要な追加ビット数として定義される。コンテキストが後続のストリングについての情報を含む場合、符号語のサイズは減少する。
【0124】
PUFの場合、符号語の長さは、非有界木の深さの制限で生成するソースの真のエントロピーに近づくことが示されている[T.Ignatenko et al.Estimating the secrecy-rate of physical unclonable functions with the context-tree weighting method.In 2006 IEEE International Symposium on Information Theory,pages499-503.IEEE,2006参照]。しかしながら、要求されるメモリは、木の深さとともに指数関数的に増え、CTWアルゴリズムの任意の深さの木を考慮することが計算的に実現可能ではない。代わりに、木の深さはD=20になるまで変動し、圧縮を最適化する。
【0125】
以下のように、CTW圧縮を行う。
【0126】
ステップ1:Nchips=10、Ndistinct=Nvc、及びNrepeat=1の場合のN=3~8のHBN-PUFに関するデータを収集する。
【0127】
ステップ2:1つを除く全てのHBN-PUFインスタンスに関する結果として生じる測定値を、コンテキストとして使用される長さの1次元(1D)ストリング(Nchips-1)NvcNに連結する。
【0128】
ステップ3:結果を最適化するために様々な木の深さを使用して、CTWアルゴリズムを適用し、コンテキストを伴う最後のHBN-PUFからの測定値を圧縮する。
【0129】
ステップ2~3を繰り返して、全てのHBN-PUFが圧縮されるまで、異なるHBN-PUFインスタンスから測定値を省略する。
【0130】
この圧縮テストの結果は表4に提示される。最後のエントロピー推定値は、上記に説明した圧縮テストの全てから符号語長さの平均である。Nchips-1のPUFインスタンスの挙動を使用して、未観測のインスタンスの挙動を予測できる場合、PUFは全エントロピーを有しない。
【0131】
CTW圧縮テストから推定されるエントロピー(HCTW)及びエントロピー密度(ρCTW)は表4に示される。これは、木の深さの境界による真のエントロピーの上界は表4に示されることに留意されたい。
【表4】
【0132】
これが上界推定値であるという予想と一致して、エントロピーは全て、下記に説明される結合エントロピーテストで計算される値よりも大きくなる。ほとんどのPUFデータ(具体的には、より高いNを伴うデータ)は圧縮に耐性があり、Nが高いほど、より深い木が圧縮することを要求する場合がある可能性が高い。また、これらの結果は、49%~100%のCTW圧縮速度を発見した他のFPGAベースのPUFの研究と同様である[S.Katzenbeisser et al.PUFs:Myth,fact or busted?a security evaluation of physically unclonable functions(PUFs) cast in silicon.In International Workshop on Cryptographic Hardware and Embedded Systems,pages283-301.Springer,2012参照]。
【0133】
エントロピーの概要
【0134】
HBN-PUFのエントロピーを推定する3つの異なる統計的テストは上記に説明したものである。そのテストのうちの2つは計算的に集約され、サイズN=3~8のHBN-PUFだけで行われる。最大N=64まで評価されたものは、より容易にスケーリング可能である。Nの関数及びリソースサイズとしてこれらの推定値の理解を深めるために、これらの3つの推定値は図10に示される。
【0135】
CTWの推定値は最高のエントロピーを生じさせ、次に、Hmin及びHjointが生じる。これは、HCTWが上界推定値であるために予想される一方、Hjointは、相互情報量によって決定されたペナルティ項を伴うHminに等しい。それにもかかわらず、全ての3つの推定値は、具体的には、図10のスケールで適度に近接している。さらに、Hminの関数形式は両対数スケールで凸状であり、Nが増えるにつれて指数関数的増大を示す。
【0136】
これらの結果では、(例えば、図6Eに示されるように)本明細書に説明されるHBN-PUFがそのチャレンジ空間のリソースサイズが指数関数的に大きい意味で強いというだけではなく、同様に、そのエントロピーも指数関数的に大きくなることが示唆される。ほとんどのセキュリティ用途に関して、敵対者によって知らされるチャレンジレスポンスペアは全く役に立たないため、これは重要な違いである。事前に報告された多くの強いPUFは、モデル構築攻撃の影響を受けやすいことが明確に示されている[U.Ruhrmair et al.Modeling attacks on physical unclonable functions.In Proceedings of the 17th ACM conference on Computer and communications security,pages237-249.ACM,2010参照]。
【0137】
機械学習に対するカオス及び回復力
【0138】
カオス系は、初期条件に対するその極限感度によって定義される。カオス系に対するわずかな摂動は長期間の挙動が乱雑に乖離することをもたらす。この理由のために、多くの機械学習プラットフォームは、リアプノフ時間として既知である特性時間スケールを超えるカオス系の挙動と、PUFにおける機械学習攻撃まで及ぶ結果とを予測することを困難にしている[L.Liu et al.Lorenz chaotic system-based carbon nanotube physical unclonable functions.IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,37(7):1408-1421,2018参照]。(例えば、図6Eに示されるように)本明細書に説明されるHBN-PUFのリアプノフ時間をシミュレーションにより経験的に計算し、HBN-PUFがカオス的であることを示す。PUFmeter[F.Ganji et al.Pufmeter a property testing tool for assessing the robustness of physically unclonable functions to machine learning attacks.IEEE Access,7:122513-122521,2019参照]からの結果を以下に提示する。PUFmeterは、本明細書に説明されるHBN-PUFの挙動の学習を失敗した第三者のPUF固有の機械学習プラットフォームである。
【0139】
リアプノフ指数
【0140】
システムのリアプノフ指数は、近くにある2つの点が位相空間内で乖離する速度を表す量である。z(t)は時間関数として2つの軌道の分離とし、z(0)は小さい値とする。次に、|z(t)≒|z(0)|expλtであり、ここで、λはリアプノフ指数である。λ’sのスペクトルは異なって配向される初期分離に対して取得される。しかしながら、通常、最大値λは時間とともに影響を及ぼし、この理由のために、カオスのインジケータとして使用される。最大値λが正である場合、軌道は指数関数的に乖離し、通常、システムはカオス的であると言われる。
【0141】
最大リアプノフ指数計算
【0142】
最大リアプノフ指数は、Nビット応答に対するR.Zhanget al.のブールカオスの方法(Physical Review,E80(4),Oct 2009)を拡張することによって計算する。ここでは、同じチャレンジに対する時系列の2つのNビット応答X(T)とY(T)との間のブール距離は、方程式(13)によって定義される。
【数13】

ここで、Tは固定長の窓であり、tはd=0である第1の時間であり、すなわち、tは、2つの時系列が長さTの窓の範囲内に少なくとも1ビットだけ異なる第1の時間である。d(t)が位相空間内の分離のためのブールメトリックであるため、線形領域の経時的な対数の平均はλであることに留意されたい。
【0143】
したがって、時系列セグメントのそれぞれのブール距離の平均対数は、所与のチャレンジに対する応答の繰り返しの全てのペア毎の組み合わせに関して計算され、再度、全てのチャレンジに関して平均化され、上記に説明した指標の規則に従って<ln(d(t))>(j,k),i(または<ln d>と略される)を取得する。<ln d>対tを直線に適合することによって、最大リアプノフ指数λの推定値を取得する。これは、経験的に及び数学モデルを使用して同じチャレンジからの応答をシミュレートすることによっての両方で行われる。
【0144】
PUFの数学モデル
【0145】
PUFダイナミクスは、方程式(14)によって与えられた結合される1次微分方程式の系を使用してモデル化される。
【数14】

ここで、x(t)は0~1の値をとる時間tにおいてノードiの連続状態であり、τはこのノードの特徴のある立ち上がり/立ち下がり時間であり、fは3入力XOR関数の連続バージョンであり、N(i)はノードi(すなわち、その近傍)に接続される全てのノードのリストである。ここでは、N(i)は、それ自体に及びリングにおいてその2つの近接するものに制限され、fは方程式(15)によって定義される。
【数15】

ここで、θ(w)はブール値への連続信号の変遷を表す閾値関数である。θ(w)は方程式(16)によって定義される。
【数16】

ここで、a’sは「スクィジング」パラメータであり、ここで、全てがa=20になるように選ばれ、τ=0.5は全てのノードで選ばれたものである。初期状態は、同一のシミュレーションを防止するために、摂動が[0,0.05]の間で選ばれるように、チャレンジ値に設定したものである。次に、それらは、数値積分を行い、その実験結果に基づく対応部分に一致するようにデシメーション及びブーリアン処理した。次に、リアプノフ指数は、図11に示されるように、それぞれについて計算される。
【0146】
最大リアプノフ指数の結果
【0147】
図11から確認できるように、実験データ及びモデルデータの両方に関してλ>0である。これにより、実験回路及びその理論モデルの両方がカオスを示すことが示唆される。加えて、リアプノフ時間t=1/λは、最適な応答の読み取り時間toptに同等であり、最適な応答時間はカオスへの移行に従うことを示唆する。
【0148】
PUFMeterによる機械学習攻撃
【0149】
PUFMeter[F.Ganji et al.Pufmeter a property testing tool for assessing the robustness of physically unclonable functions to machine learning attacks.IEEE Access,7:122513-122521,2019参照]は、PUFのセキュリティを評価するために使用される最近設計された第三者の機械学習プラットフォームである。おそらく大体、補正学習及びk-junta関数を使用して、所与のPUFのチャレンジレスポンス挙動を学習しようとし、PUFが理論的に様々なタイプの攻撃の影響を受けやすいかを示す。PUFmeterが有効なチャレンジ空間Nvcの全体を検索するという事実に起因して、テストは、ここでは、N=16のノードネットワークに制限されたものである。さらに、PUFmeterの背後にある理論はシングルビット応答に基づく。この理由のために、PUFmeterを使用して、応答の個々のビット、同様に、全部の応答ストリングのXORをテストした。これらの結果は表5に提示される。
【0150】
表5は、PUFmeterを使用したN=16ノードのPUF機械学習攻撃の結果を示し、内部パラメータδ=0.01及びE=0.05は分析のために確率閾値に適用される。(例えば、図6Eに示されるように)結果κ=0は、本明細書に説明されるHBN-PUFをモデル化するためのPUFmeterの不具合を示す。
【表5】
【0151】
ここでは、κは、所与のチャレンジに対する応答を予測するためにPUFmeterにより使用可能な最小数のブール変数である。κ=0のため、PUFmeterはHBN-PUFの挙動をモデル化できない。ノイズ上界、平均感度、及びノイズ感度を使用して、どのようなタイプの攻撃が起こり得ると予想されるかに関する理論的限界を正確に測定する。これらから、PUFmeterは、HBN-PUFがフーリエベース攻撃の影響を受けやすくなり得ることを示す。
【0152】
指数関数的エントロピースケーリング及びカオス非線形ダイナミクスを一緒にすると、本明細書に説明されるHBN-PUFをモデルするためのPUFmeterの不具合は、HBN-PUFの挙動が機械学習攻撃に対して回復力がある可能性が高いことが示唆される。
【0153】
温度変化
【0154】
温度変化は、異なる環境状態でまたは長い動作時間にわたってPUFを比較するとき、重要な日常の関心事である[S.Mathew et a..16.2 a 0.19 pj/b pvt-variation-tolerant hybrid physically unclonable function circuit for 100% stable secure key generation in 22 nm CMOS.In 2014 IEEE International Solid-State Circuits Conference Digest of Technical Papers(ISSCC),pages278-279.IEEE,2014参照]。Nchips=10のDE-10-Nano’sを、広範囲にわたって湿度状態及び温度状態を制御することが可能である環境テストチャンバ設備にロードすることによって、本明細書に説明されるHBN-PUFの温度変化は2つのネットワークサイズ(N=16及びN=256)に関して評価される。
【0155】
これらのテストに関して、温度は最初に55℃まで増加し、湿度を<5%になるまでパージして、余分な水分を除去し、低温における凝縮を防止する。次に、温度を10℃ずつ下げていき、最終温度T=15℃にする。各温度において、チャンバは、一般的に10分以内に、デジタルディスプレイによって示されるように平衡に達することを可能にする。次に、ボードは、Ndistinct=50及びNrepeat=50のチャレンジでクエリが行われる。
【0156】
上記に説明した測定Δμ(t)=μinter(t)-μintra(t)は両方のネットワークサイズの各温度で計算される。この量は、同じ温度で他と比較するときに各PUFの性能を実証する。加えて、各温度において、25℃においてそれ自体に対するHBN-PUFの偏差を計算する。これはμintra;25℃として示される量である。この測定値は、温度毎に1つずつ、異なるインスタンスから成る個々のチップを考慮することと同等である。その測定値は、25℃で生成された量に対する応答を比較することによって各温度で計算され、次に、全てのチャレンジにわたって及び全てのチップ(同様の値を示す個々のチップ)にわたって平均化する。これらのプロットは、tの関数、応答が登録された後のインバータゲートの数の関数として図12A図12Dに提示される。各カーブは別の温度のものである。
【0157】
図12A及び図12Cから確認できるように、両方のネットワークサイズに関して、測定値topt及び性能測定基準Δμの最適時間は、温度が変化するとき、一定のままであることが観察され、等価温度において相互に比較するとき、HBN-PUFインスタンスが同様に良好に機能することを示す。
【0158】
図12B及び図12Dから、所与のHBN-PUFインスタンスの応答が、温度が変化するときの初期にその温度自体から著しく変動しないことを確認できる。しかしながら、時間が進行するにつれて、所与のインスタンスの応答は、そのように顕著に、上記に示した256ノードネットワークに関して、室温における応答と比較して乖離し始める。これは、時間が過ぎるにつれて指数関数的にシステムを摂動し続ける個々のビットをフリップする熱変動の結果として理解できる。用途に応じて、それは、異なる時間または温度で応答のクラスを記憶するのに有用であり、応答の範囲内で、どのクラスを比較するかを示し得る。
【0159】
本開示では、ミューラーゲートまたはCゲートを使用して、温度安定化を改善することが想到される。ミューラーゲートまたはCゲートは、非同期PUFでの温度安定化に有用であることが既知である[S.Gujja.Temperature Variation Effects on Asynchronous PUF Design Using FPGAs.University of Toledo,2014参照]。したがって、本明細書に説明されるHBN-PUFは、熱変動に関連付けられる個々のビットフリップを安定させるように働くミューラーゲートを含むように修正され得る。他の潜在的な温度安定化技術は、温度に対するFPGAのPUFのレイアウト及び合成の最適化ならびに本明細書に説明される後処理の誤差補正スキームを含む。
【0160】
結論
【0161】
上記の結果について、HBN-PUFが強い信頼度及び一意性の測定値を表すことが示され、デバイス間及びデバイス内の統計値は、理想に近く、密に分布している。これにより、HBN-PUFがデバイス認証目的のために有用であることが示唆される。加えて、そのNビット応答により、HBN-PUF要求は、シングルビットの応答PUFと比較して、認証するためのチャレンジが少なくなる。ネットワークサイズとともにチャレンジ空間に指数関数的に増大するサイズと組み合わせて、これは、さらにナノ秒間隔で、例えば、N=256のノードネットワークで全てのチャレンジにクエリを行うために母集団の寿命よりも長くなるため、認証及びセキュリティの両方に関してHBN-PUFを有力にさせる。
【0162】
また、上記の結果は、様々なエントロピー推定値により、HBN-PUFエントロピーがネットワークサイズとともに指数関数的にスケーリングし、著しくより多くのエントロピーを生じさせ、他のPUF設計よりも少ないハードウェアを使用することを示唆することを示す。これは、約数百のLEから構築されたHBN-PUFは、ここで考慮されるものよりもさらに大きい設計のためのメモリを有する商業的に利用可能であるFPGAを使用して、数兆以上の独立暗号化キーをその物理構造に効率的に記憶できることを意味し、例えば、N=1024のノードネットワークは、メモリ制約の範囲内で容易に実現可能である。
【0163】
さらに、リング発振器等の同様のPUFと対照的に、HBN-PUFは、カオスダイナミクス及び機械学習に対する回復力を示すように現れる。
【0164】
本主題は、構造的特徴及び/または方法論的行為に特有の言語で説明されているが、添付の特許請求の範囲で定義される本主題が必ずしも上記に説明した特定の特徴または行為に限定されないことを理解されたい。むしろ、上記に説明した特定の特徴及び行為は、特許請求の範囲を実現する例示的形態として開示される。
図1
図2
図3
図4A
図4B
図5
図6A
図6B
図6C
図6D
図6E
図6F
図6G
図7A
図7B
図7C
図7D
図8A
図8B
図9
図10
図11
図12A
図12B
図12C
図12D
図13A
図13B
【国際調査報告】