JP6588048B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP6588048B2
JP6588048B2 JP2017053466A JP2017053466A JP6588048B2 JP 6588048 B2 JP6588048 B2 JP 6588048B2 JP 2017053466 A JP2017053466 A JP 2017053466A JP 2017053466 A JP2017053466 A JP 2017053466A JP 6588048 B2 JP6588048 B2 JP 6588048B2
Authority
JP
Japan
Prior art keywords
circuit
random number
puf
error correction
key
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
JP2017053466A
Other languages
English (en)
Other versions
JP2018157411A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2017053466A priority Critical patent/JP6588048B2/ja
Priority to US15/674,619 priority patent/US20180270014A1/en
Priority to CN201710759604.8A priority patent/CN108632038A/zh
Publication of JP2018157411A publication Critical patent/JP2018157411A/ja
Application granted granted Critical
Publication of JP6588048B2 publication Critical patent/JP6588048B2/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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • 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
    • 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
    • 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]

Description

本発明の実施形態は情報処理装置に関する。
デバイスの持つ物理的特性に中には、デバイスの製造時にその値を制御しきれず、デバイス毎に異なる値を持つ物理的特性が生じることが知られている。PUF(physically unclonable function)は、この物理的特性のデバイス毎の差異を利用して、デバイス毎に異なる情報を生成する機能である。PUFに利用される物理的特性として望ましい性質は次のようなものである。PUFが出力する値がデバイス毎に異なるだけでなく、あるデバイスの出力と同じ出力をもつ別のデバイスを偽造することが困難であり、また同一デバイスのPUFは何度出力しても同じ値を出力するという再現性という性質を有する。そこで、これらのPUFの性質を利用して、デバイス固有のIDを生成し、デバイスの識別に用いることができる。また、デバイス内での暗号処理で用いられる鍵をそれが必要となるタイミングでPUF出力から導出し、鍵が必要でないときにはそれをデバイス内部のメモリから消去することにより、攻撃者がデバイス内のメモリを解析して不正に鍵を盗む脅威に対する対策を施した、より安全な鍵管理に用いられる。
PUF出力には再現性があるとはいえ、物理的特性のわずかな差異を利用しているため、ノイズが発生する場合がある。ノイズは、熱雑音や温度によるデバイスの物理的特性の変化や経年劣化、PUF以外の回路動作の干渉などによって起きる。デバイスの識別にPUFを応用した場合、ノイズはデバイスの正しいIDを生成することを妨げるため、デバイスの識別が困難になる。鍵管理にPUFを応用した場合、ノイズは鍵生成の際にそれまでとは異なる鍵を生成してしまい、正しい暗号処理の実行が困難になる。そこで、ノイズに対応するために、PUF出力に対して誤り訂正を行うことが多い。
S.K. Mathew, et al., A 0.19pJ/b PVT-Variation-Tolerant Hybrid Physically Unclonable Function Circuit for 100% Stable Secure Key Generation in 22nm CMOS, ISSCC 2014, 16.2, pp.278-280, 2014. Y. Dodis, R. Ostrovsky, L. Reyzin, A Smith, "Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data,"(A preliminary version of this paper appeared in Eurocrypt 2004.) SIAM J. Comput., 38(1), pp. 97-139, 2008.
一般に、PUF出力は誤り率が高い。そのため、PUFを応用する装置は、高い訂正能力を持つ誤り訂正符号(Error Correcting Code(ECC))を持つことが望ましい。しかし、一般に、ECCの訂正能力が高くなるにつれ、その実装コストが大きくなる。特にBCH符号やRS符号などの符号では、連立方程式を解く復号部は単に畳み込み計算を行うだけの符号化部よりも実装コストがはるかに大きくなる。
そこで、本発明の実施形態にかかる情報処理装置では、実装コストの過度な上昇を抑えつつ、PUF出力の誤り訂正を行うことを目的とする。
上記目的を達成するために、本発明の実施形態による情報処理装置は、第1のPUF出力を取得するPUF出力取得部と、前記第1のPUF出力に基づく送信データを外部装置に送信し、前記外部装置に前記第1のPUF出力の誤り訂正を実行させる送信部と、前記外部装置から誤り訂正結果を受信する受信部と、前記誤り訂正結果に基づいて情報を生成する計算部を有する。
本発明の実施形態に係る鍵生成装置と他の装置との接続を示す図。 本発明の実施形態に係る鍵生成装置の鍵初期化フェーズにおける機能ブロック図。 本発明の実施形態に係る鍵生成装置の鍵再生成フェーズにおける機能ブロック図。 本発明の実施形態に係るID生成装置の鍵初期化フェーズにおける機能ブロック図。 本発明の実施形態に係るID生成装置の鍵再生成フェーズにおける機能ブロック図。 本発明の実施形態に係る鍵生成装置のHW構成図。 本発明の実施形態に係る計算装置のHW構成図。 本発明の実施形態に係る計算装置のHW構成図。 本発明の実施形態に係る計算装置のHW構成図。 本発明の実施形態に係る計算装置のHW構成図。
以下、本発明の実施形態について図面を参照して説明する。本実施形態では、PUF出力を用いて鍵を生成する鍵生成装置を例に説明する。本実施形態の鍵生成装置は、鍵初期化フェーズと鍵再生成フェーズの2つの動作フェーズを有する。
図1は、本実施形態の鍵生成装置と他の装置との接続を示す図である。鍵生成装置1は、電子回路2、不揮発性メモリ3、復号装置4と接続される。本実施形態の鍵生成装置に用いるPUFは、例えばSRAM−PUFにより実現される。SRAM−PUFは、複数のSRAMメモリセルから構成される。本実施形態の電子回路2は、複数のSRAMメモリセルである。SRAMの各メモリセルは、電源投入後に1または0のいずれかの状態に落ち着く。その値を読み出してPUF出力とする。
鍵初期化フェーズで鍵生成装置1は電子回路2からPUF出力を取得し、鍵および補助データを生成し、補助データHを不揮発性メモリ3に記憶する。鍵再生成フェーズで鍵生成装置1は電子回路2からPUF出力を取得し、不揮発性メモリ3から補助データを取得し、鍵を再生成する。補助データが漏洩してもセキュリティは破られない。補助データとPUF出力を用いて鍵を再生成することができるため、鍵を記憶しておく必要が無く、セキュリティを保つことができる。
また、鍵再生成フェーズで、鍵生成装置1は、鍵を再生成する際に必要な復号処理を復号装置4に実行させる。鍵生成装置1と復号装置4は、1つの装置として同一の筐体内に設けられていても良いし、有線または無線のネットワークで接続された2つの装置であっても良い。鍵生成装置1がIoTのエッジデバイスであるならば、復号装置4はゲートウェイ装置でも良いし、クラウドサーバでも良い。例えば、復号装置4は、複数の鍵生成装置1に接続されて、複数の鍵生成装置1から復号処理の委託を受ける構成でも良い。
このように、本実施形態の鍵生成装置1は、復号処理を外部の装置である復号装置4に委託する。そのため、実装コストの大きい復号処理部を鍵生成装置1内に設ける必要が無い。
図2は、鍵初期化フェーズで機能する鍵生成装置1の機能ブロック図である。乱数生成部12は乱数系列(R)を生成する。乱数生成部12は、真正乱数回路が望ましいが、デバイス内に十分なエントロピーを持つエントロピースースが確保できるならば、そこから乱数シードを得て疑似乱数生成回路によって実現しても良い。
符号化部14は乱数系列(R)を情報ビット列として誤り訂正符号の符号化を行い、符号語(ENC(R))を生成する。PUF出力取得部16はPUF出力(I)を取得する。補助データ(H)は、符号語にPUF出力がビット毎の排他的論理和演算(XOR)により重畳されて得られるデータであり、式(1)のように表される。
Figure 0006588048
補助データ(H)は、不揮発性メモリ3に記憶される。補助データ(H)は、鍵再生成フェーズで使用される。また、PUF出力(I)はハッシュ値計算部18に入力される。ハッシュ値計算部18は、PUF出力(I)のハッシュ値を計算して得られる鍵(K)を出力する。なお、補助データ(H)は鍵生成装置1の外部に出力されてもセキュリティは破られない。一方、鍵(K)を鍵生成装置1の外部に出力し、鍵(K)が第三者に漏洩した場合にはセキュリティが破られる。
図3は、鍵再生成フェーズで機能する鍵生成装置1の機能ブロック図である。鍵再生成フェーズの符号化部14a、14bと、PUF出力取得部16と、ハッシュ値計算部18は、それぞれ、鍵初期化フェーズの符号化部14と、PUF出力取得部16と、ハッシュ値計算部18と同一の回路を用いても良い。鍵再生成フェーズの乱数生成部12は、鍵初期化フェーズの乱数生成部12と同じ回路を用いても良いし、異なる回路を用いても良い。ただし、鍵初期化フェーズで生成された乱数列Rと鍵再生成フェーズで生成された乱数列R´との間に相関があってはならない。
鍵再生成フェーズの符号化部14a、14bと鍵初期化フェーズの符号化部14は同じ誤り訂正符号を行う符号化部である。また、符号化部14、14a、14bの誤り訂正符号は、例えば2元BCH符号のような線形符号である。
本実施形態では、符号化部14、14a、14bの誤り訂正符号として、訂正能力が高い2元BCH符号を用いる。例えば、PUF出力のビット誤り率が5%ならば、符号長127ビット、情報ビット長71ビット、パリティビット長56ビット、訂正能力9(9ビット誤りまで訂正できる)の原始BCH符号を用いる。十分な誤り訂正能力を期待して、ビット誤り率(5%)に対して約1.4倍の訂正能力(9/127)を設定しているので、PUF出力のノイズにより鍵生成に失敗する可能性はかなり小さくなる。
仮に鍵生成に失敗した場合には、その後、その鍵を用いて通信やデータの復号等の処理を正常に行うことが出来なくなるので、鍵生成に失敗したことが分かる。その場合には、鍵再生成フェーズを最初からやり直せば良い。符号長が127ビットあるので、デバイス毎に異なるPUF出力のエントロピーがビット数で平均して仮に0.21と小さいケースを想定したとしても、標準的な共通鍵暗号であるAES暗号の256ビット鍵を生成するには、PUFとして、127ビットの10倍の1270ビットの出力ビット数を持つものを実装すればよい。1270×0.21=266.7>256である。SRAM−PUFならばPUF用に1270ビットのメモリセルを確保すればよい。
鍵再生成フェーズでは、まず不揮発性メモリ3に記憶した補助データ(H)を読み出す。そして、補助データ(H)にPUF出力取得部16が取得したPUF出力(I´)が重畳される。PUF出力にはノイズが発生することがある。そのため、鍵初期化フェーズでPUF出力取得部16が取得するPUF出力(I)と鍵再生成フェーズでPUF出力取得部16が取得するPUF出力(I´)とは異なり得る。
次に、乱数生成部12が乱数系列(R´)を生成し、符号化部14aがそれを誤り訂正符号の符号化をして符号語(ENC(R´))を得る。そして、符号語(ENC(R´))を、補助データとPUF出力の重畳データにさらに重畳する。この重畳結果は、式(2)のように表すことができる。
Figure 0006588048
本実施形態の鍵再生成フェーズにおいて、乱数生成部12は710ビットの乱数列R´を生成する。そして、この乱数列R´を10個の71ビットの乱数列に分割し、符号化部14aが71ビットの各乱数列をBCH符号で符号化し、10個の127ビット符号語を生成する。こうして得られた1270ビットの符号語(ENC(R´))を、補助データとPUF出力の重畳データにさらに重畳する。
そして、送信部22は重畳結果を外部の復号装置4の復号部41に送信し、復号を委託する。復号部41は、誤り訂正符号の復号を行う。この復号では、鍵初期化フェーズのPUF出力(I)と鍵再生成フェーズのPUF出力(I´)の間の差異が符号語に印可されたノイズと見なせる。誤り訂正符号が線形符号であるとすると、鍵初期化フェーズのPUF出力(I)と鍵再生成フェーズのPUF出力(I´)の差分の重みが誤り訂正符号の訂正能力の範囲内であれば、復号部41は誤り訂正に成功する。線形符号では、誤り訂正が成功した場合には、式(3)に示す性質が成り立つ。
Figure 0006588048
本実施形態の復号部41は、鍵生成装置1から受け取った1270ビットのデータを10個の127ビットのデータに分割し、それぞれに対してBCH符号の復号を行う。そして、得られた10個の71ビットの復号結果、すなわち710ビットの誤り訂正されたデータを鍵生成装置1に返す。
鍵生成装置1の受信部24は復号装置4の復号部41から復号結果を受信する。そして、鍵生成装置1は、復号装置4から得た復号結果と、乱数生成部12から得た乱数(R´)とを重畳して、乱数(R)を得る。そして、符号化部14bが乱数(R)に対して誤り訂正符号の符号化を行い、符号語(ENC(R))を得る。つまり、復号部41が誤り訂正に成功している場合、符号化部14bから出力される符号語(ENC(R))は、鍵初期化フェーズにおいて符号化部14が出力した符号語(ENC(R))と一致する。
本実施形態の鍵生成装置1によると、710ビットの復号結果に対して、乱数生成部12から得られた乱数列を重畳し、重畳した結果の710ビットのデータを10個の71ビットのデータに分割する。そして、符号化部14bが10個の71ビットのデータそれぞれに対して、BCH符号の符号化を行う。
この符号語ENC(R)を補助データ(H)と重畳する。式(1)から明らかなように、符号語ENC(R)を補助データ(H)と重畳することによって、鍵初期化フェーズで用いたPUF出力(I)を得ることができる。そして、鍵初期化フェーズと同様にハッシュ値計算部18が、PUF出力(I)のハッシュ値を計算することで、鍵(K)を得ることができる。
このように、復号部41を鍵生成装置1とは異なる外部の装置に設けることで、復号部を鍵生成装置1内に設ける必要が無い。そのため、実装コストや計算量や消費電力を小さくすることができる。また、鍵生成装置1と復号装置4との間のメッセージは、乱数R´や符号化された乱数R´でマスクされており、情報理論的に安全に復号を外部に委託することができる。
ローエンドのデバイスでは、鍵を保存する耐タンパーな不揮発性メモリを実装することは、実装コストの大きさのために敬遠されることが多い。例えば、IoTのエッジデバイスはセンサ−や単純なコントローラであって、大量に安く生産されることが多い。そのようなローエンドのデバイスでもPUFを用いると、安全に鍵管理を行うことができる。さらに、本実施形態の鍵生成装置1によれば、鍵生成装置1内に復号部41を設ける実装コストを省くことができるため、様々な製品やサービスにPUFを適用することができる。
なお、本実施形態では、PUF出力を用いて鍵を生成する装置を例にして説明したが、鍵の生成に限らない。例えば、PUF出力を用いてIDを生成する場合に本実施形態で説明した処理を用いても良い。図4にPUF出力を用いてIDを生成するID生成装置100のID初期化フェーズの機能ブロック図を示す。また、図5にID生成装置100のID再生成フェーズの機能ブロック図を示す。ID生成装置100の機能ブロック図の詳細については、鍵生成装置1の機能ブロック図と同様であるため、説明を省略する。
本実施形態に係る、乱数生成部12、符号化部14・14a・14b、PUF出力取得部16、ハッシュ値計算部18、復号部41は、例えば、それぞれ専用の処理回路として実現される。また、符号化部14・14a・14b、復号部41、ハッシュ値計算部18は、プロセッサで動作するソフトウェアとして実現しても良い。
図6に、鍵生成装置1の各部をHWで構成した場合の例を示す。初期化フェーズでは、乱数生成回路502が乱数Rを生成する。誤り訂正符号符号化回路503は乱数Rを符号化し、符号語(ENC(R))を生成する。符号語(ENC(R))は、符号化された乱数R||RPである。ここで、RPは乱数Rに対して誤り訂正符号の符号化を行い計算されたパリティである。記号||はビット列の連接を表す。BCH符号のような組織符号では、符号語(ENC(R))は、このように情報部分(R)とパリティ部分(RP)とを連接した形にすることができる。PUF回路501はPUF出力値(I)を出力する。出力されたPUF出力値(I)は、ビット列重畳回路504により、誤り訂正符号符号化回路503から出力された符号語(ENC(R))=R||RPと重畳される。その計算結果が補助データ(H)である。
補助データ(H)は、式(1)のように計算される。補助データは、補助データ記憶回路505に記憶される。
次に、鍵を計算する鍵再生成フェーズの動作を説明する。PUF回路501は改めてPUF出力値(I´)を出力する。初期化フェーズにおける出力(I)に対して、ノイズEが重畳されている可能性がある。そのため、鍵再生成フェーズのPUF出力値(I´)は、式(4)のように表される。
Figure 0006588048
乱数2生成回路507は、Rとは別の乱数R´を生成する。生成された乱数R´は、誤り訂正符号符号化回路508と乱数2記憶回路510に送られる。誤り訂正符号符号化回路508は受け取った乱数R´を符号化して符号語(ENC(R´))=R´||R´Pを計算する。ここで、R´PはR´に対するパリティである。また、乱数2記憶回路は乱数R´を記憶する。ここで、乱数2生成回路507は、乱数生成回路502と同じ回路を用いても良い。ビット列重畳回路506は、補助データ記憶回路から補助データ(H)を読出し、PUF回路501の出力(I´)と誤り訂正符号符号化回路508から出力された符号語(ENC(R´))=R´||R´Pとビット毎に重畳する。重畳結果は、式(2)のように表される。この重畳結果は、ビット列送信回路509に渡され、ビット列送信回路509は鍵生成装置1の外(復号装置4)へ送信する。ビット列送信回路509から送信された送信ビット列は、別の装置のビット列受信回路511により受信され、その装置の誤り訂正符号復号装置512により復号される。ノイズEが訂正能力の範囲内ならば、ノイズEは取り除かれる。復号装置4のビット列送信回路513は誤りが取り除かれた結果である
Figure 0006588048
からパリティ部分を取り除き、
Figure 0006588048
をビット列送信回路513から鍵生成装置1に送信する。ビット列受信回路514は復号装置4から式(6)のビット列を受信し、ビット列重畳回路515へ渡す。ビット列重畳回路515は乱数2記憶回路から乱数R´を読出し、ビット列受信回路514から受け取ったビット列にビット毎に重畳する。その結果、乱数(R)を得ることができる。鍵計算回路516は、ビット列重畳回路515が計算した結果である乱数(R)から鍵を生成する。乱数(R)が十分にデバイス毎にランダムな性質を持つならばそのまま鍵としてもよいが、もし統計的に偏りがあるならば、ハッシュ値を計算してその結果を鍵としても良い。
なお、本実施形態では、鍵生成装置1が鍵初期化フェーズと鍵再生成フェーズの両方を実行するとして説明したが、鍵初期化フェーズと鍵再生成フェーズを実行する装置が異なる装置であっても良い。
(変形例)
上述の説明では、PUF出力を用いて鍵やIDを生成する装置を例にして説明した。しかし、これに限らず、PUFの出力に依存した任意のデータを計算する装置であってよい。
図7は、PUF出力に依存した任意のデータを計算する計算装置1000のHW構成を示す図である。PUF回路1001は、PUF出力を出力する。このPUF出力には、ノイズが重畳していることもあり得る。このノイズが存在するPUF出力をそのまま用いて目的データの計算を行うと、正しい目的データの計算を行うことができない。そこで、訂正対象データ計算回路1002は、ノイズが重畳している恐れのあるPUF出力が入力されると、訂正対象データを計算し、それを外部装置へ出力する。この訂正対象データ計算の際には、乱数を使用する。目的データが秘匿すべき鍵やIDなどのデータの場合、PUF出力の値を攻撃者に推定されることを防ぐ必要がある。そこで、訂正対象データからPUF出力値を推定できないように乱数を用いる。ビット列送信回路1003は、計算された訂正対象データを計算装置1000の外へ送信する。送信された訂正対象データは、計算装置1000外にある外部装置により訂正処理をされた後、計算装置1000に送信して返される。ビット列受信回路1004は、外部装置により訂正された訂正対象データを受信し、目的データ計算回路1005に入力する。また、目的データ計算回路1005は、ビット列受信回路1004から受け取った訂正された訂正対象データのほかに、訂正対象データ計算回路1002から、訂正対象データ計算時に用いられた乱数を受け取る。目的データ計算回路1005は、この乱数と訂正された訂正対象データから、目的データを計算する。
訂正対象データ計算回路1002と目的データ計算回路1005の構成についてより詳細に説明する。訂正対象データ計算回路1002は、まず、PUF回路1001が出力したPUF出力
Figure 0006588048
に対して、パリティP=(p1、p2、・・・、p(n−k))を連接する。この連接されたデータを
Figure 0006588048
とする。ここで、I=(i1、i2、・・・、ik)はノイズが無い場合のPUF出力値、E=(e1、e2、・・・、ek)はノイズを表すビット列とする。PUFの出力の長さはkビットであり、連接されたデータの全体の長さはnビットであり、パリティの長さは(n−k)ビットであるとする。記号||はビット列の連接を表し、XORの記号はビット列に対してはビット毎のXORによる重畳、ビットに対してはXORを表すとする。また、パリティPは、ノイズが無い場合のPUF出力値に対して、誤り訂正符号の符号化を行い生成されるパリティであり、回路内にハードワイヤー化されていてもよいし、図7のように、派生データ記憶回路1006に記録されていてもよい。訂正対象データ計算回路1002は、次に、乱数R=(r1、r2、・・・、rk)を生成し、乱数Rに対して誤り訂正符号の符号化を行い、パリティRP=(rp1、・・・、rp(n−k))を生成する。乱数Rと乱数RのパリティRPを連接し、その結果R||RPを式(8)の連接データにビット毎に重畳する。こうして得られるデータ
Figure 0006588048
が訂正対象データである。
この訂正対象データはビット列送信回路により装置の外へ送信ビット列として送信される。外部装置は、ビット列受信回路1007と誤り訂正符号復号回路1008とビット列装置送信回路1009とを有する。外部装置は、図6を用いて説明したビット列受信回路511、誤り訂正符号回路512、ビット列送信回路513と同様の構成であるため説明を省略する。送信ビット列は、外部装置にある誤り訂正符号復号回路により訂正される。PUF出力値に伴っていたノイズEが誤り訂正符号の訂正能力の範囲内ならば、このノイズEは復号により取り除くことができる。その場合、訂正後のデータは、
Figure 0006588048
となる。このうちパリティ部分を取り除いたデータ
Figure 0006588048
が受信ビット列として返されてくる。ビット受信回路1004が受信して、目的データ計算回路1005へ渡す訂正された訂正対象データは、式(11)に表された受信ビット列である。
目的データ計算回路は、ビット列受信回路1004から受け取った訂正された訂正対象データと訂正対象データ計算回路1002から受け取った乱数Rをビット毎に重畳して目的データを計算する。目的データは、
Figure 0006588048
となり、ノイズが無い場合のPUF出力と一致する。PUF出力はデバイス毎に異なるランダム性を持つことが期待されるが、もしそのランダム性が十分なエントロピーを持たない場合には、計算装置1000は、さらにハッシュ値計算回路を持ち、目的データ計算回路1005により計算されたPUF出力Iに対するハッシュ値を計算して、計算されたハッシュ値を目的データとしてもよい。
なお、図7では、訂正対象データ計算回路1002が乱数Rを生成し、生成した乱数Rを目的データ計算回路1005へ渡す構成としたが、図8のように、独立の乱数生成回路1010が乱数Rを生成し、生成した乱数Rを訂正対象データ計算回路1002aと目的データ計算回路1005の両方へ渡す構成でもよい。
また、図7では、PUF出力IのパリティPは、ハードワイアードあるいは派生データ記憶回路1006に保存していた。PUF出力値Iは、デバイス毎に異なるので、デバイス毎に異なる回路を実装したり、デバイス毎に異なるデータを記憶させたりすることはコストがかかる。そこで、図9に示す計算装置1000では、派生データ計算回路1011を追加して、派生データ計算回路1011がパリティを計算し、それを派生データ記憶回路1011に記憶している。この実施形態では、デバイス毎に異なる回路の実装を行う必要はない。派生データ記憶回路1011に記憶されるパリティの値はデバイス毎に異なるが、その計算は全てのデバイスで同一の回路で実現される。
図10は、計算装置1000の派生データ計算をより詳細に説明する図である。まず、初期化フェーズの動作を説明する。PUF回路601は、PUF出力値Iを出力する。誤り訂正符号符号化回路602はPUF出力値を符号化し符号化されたPUF出力I||Pを出力する。ここで、Pは符号化回路で計算されたパリティである。パリティ切り出し回路603は、符号化されたPUF出力I||PからパリティPを切り出し、パリティ記憶回路604は、そのパリティPを記憶する。次に、目的データの例としてPUF出力を計算する目的データ計算フェーズの動作を説明する。PUF回路601は、ノイズが重畳されている可能性のあるPUF出力を出力する。ノイズが重畳されている可能性のあるPUF出力は、式(7)によって表される。パリティ連接回路605は、パリティ記憶回路604に記憶されているパリティPを読出し、PUF出力と連接する。パリティ連接回路605が連接したデータは式(8)によって表される。
乱数生成回路607は、乱数Rを生成する。生成された乱数Rは誤り訂正符号符号化回路608と乱数記憶回路610へ送られる。ここで、誤り訂正符号符号化回路608は誤り訂正符号符号化回路602と同じ回路を用いた構成であっても良い。誤り訂正符号符号化回路608は乱数Rを符号化してR||RPを計算する。ここでRPは乱数Rに対するパリティである。ビット列重畳回路609は、パリティ連接回路605が計算した式(8)のデータと誤り訂正符号符号化回路608が計算したR||RPをビット毎に重畳して式(9)に示された訂正対象データを計算する。ビット列送信回路611は、この計算された訂正対象データを送信ビット列として送信する。送信されたビット列は、計算装置1000の外にある外部装置のビット列受信回路612により受信され、別の装置の誤り訂正符号復号回路613により誤り訂正符号の復号が行われる。PUF出力に重畳していた誤りが訂正能力の範囲内であれば、この誤りは取り除かれる。別の装置のビット列送信回路614から誤りが取り除かれた受信ビット列が返される。受信ビット列は、式(11)で表される。ビット列受信回路615は受信ビット列をビット列重畳回路616へ渡す。ビット列重畳回路616は、ビット列受信回路615から受け取った受信ビット列と乱数記憶回路610から受け取った乱数Rをビット毎に重畳してPUF出力Iを計算する。ビット列重畳回路616はビット列重畳回路609と同じ回路を用いてもよい。
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
1…鍵生成装置、2…電子回路、3…不揮発性メモリ、4…復号装置、12…乱数生成部、14・14a・14b…符号化部、16…PUF出力取得部、18…ハッシュ値計算部、41…復号部、100…ID生成装置、1000…計算装置

Claims (5)

  1. 第1のPUF出力を取得するPUF出力取得部と、
    第1の乱数を生成する乱数生成部と、
    前記第1の乱数を誤り訂正符号化して符号を得る符号化部と、
    前記第1のPUF出力と前記符号とから得られる送信データを外部装置に送信し、前記外部装置に前記送信データを用いた誤り訂正を実行させる送信部と、
    前記外部装置から誤り訂正結果を受信する受信部と、
    前記誤り訂正結果に基づいて情報を生成する計算部を有する情報処理装置。
  2. 前記符号化部によって実行される誤り訂正符号は、線形符号である請求項1に記載の情報処理装置。
  3. 前記送信データは、第2の乱数を誤り訂正符号化して得られるデータに第2のPUF出力を重畳した補助データに前記第1のPUF出力と前記符号とを重畳して得られる請求項1または2に記載の情報処理装置。
  4. 前記計算部は、前記誤り訂正結果に前記第1の乱数を重畳した結果に基づいて前記情報を生成する請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. PUF出力を生成するPUF回路と、
    前記PUF回路が生成したPUF出力を取得し、PUF出力と乱数を誤り訂正符号化して得られる符号とから訂正対象データを計算する訂正対象データ計算回路と、
    前記訂正対象データを外部装置へ送信する送信回路と、
    前記外部装置から、前記訂正対象データを用いた誤り訂正の結果を受信する受信回路と、
    前記結果と前記乱数からデータを計算する目的データ計算回路と、
    有する情報処理装置。
JP2017053466A 2017-03-17 2017-03-17 情報処理装置 Active JP6588048B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017053466A JP6588048B2 (ja) 2017-03-17 2017-03-17 情報処理装置
US15/674,619 US20180270014A1 (en) 2017-03-17 2017-08-11 Information processing apparatus
CN201710759604.8A CN108632038A (zh) 2017-03-17 2017-08-30 信息处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017053466A JP6588048B2 (ja) 2017-03-17 2017-03-17 情報処理装置

Publications (2)

Publication Number Publication Date
JP2018157411A JP2018157411A (ja) 2018-10-04
JP6588048B2 true JP6588048B2 (ja) 2019-10-09

Family

ID=63520369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017053466A Active JP6588048B2 (ja) 2017-03-17 2017-03-17 情報処理装置

Country Status (3)

Country Link
US (1) US20180270014A1 (ja)
JP (1) JP6588048B2 (ja)
CN (1) CN108632038A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11522725B2 (en) * 2017-03-29 2022-12-06 Board Of Regents, The University Of Texas System Reducing amount of helper data in silicon physical unclonable functions via lossy compression without production-time error characterization
JP6752247B2 (ja) * 2018-03-09 2020-09-09 三菱重工業株式会社 情報配信装置、配信対象装置、情報配信システム、情報配信方法及びプログラム
US10754619B2 (en) * 2018-09-27 2020-08-25 Intel Corporation Self-calibrated von-neumann extractor
KR20210102740A (ko) 2020-02-12 2021-08-20 삼성전자주식회사 물리적 복제 방지 기능에 기초하여 키를 생성하는 보안 장치 및 이의 동작 방법
JP7034400B2 (ja) * 2020-03-09 2022-03-11 三菱電機株式会社 鍵生成装置
CN114626020A (zh) * 2020-12-11 2022-06-14 熵码科技股份有限公司 用来控制装置激活的方法以及相关电子装置
US20210119812A1 (en) * 2020-12-23 2021-04-22 Intel Corporation Time-based multi-dimensional key recreation mechanism using puf technologies

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1842203A4 (en) * 2004-11-12 2011-03-23 Verayo Inc KEYS OF VOLATILE DEVICES, AND THEIR APPLICATIONS
WO2013124758A1 (en) * 2012-02-21 2013-08-29 International Business Machines Corporation Network node with network-attached stateless security offload device
CN103188075B (zh) * 2013-02-01 2016-01-06 广州大学 一种密钥和真随机数发生器及生成密钥和真随机数的方法
JP2015130640A (ja) * 2014-01-09 2015-07-16 富士ゼロックス株式会社 データ伸張装置、プログラムおよび記録媒体
KR101593166B1 (ko) * 2014-06-02 2016-02-15 한국전자통신연구원 물리적 복제 방지 함수의 오류를 방지하는 장치 및 그 방법
CN105007285B (zh) * 2015-08-19 2018-07-24 南京万道电子技术有限公司 一种基于物理不可克隆函数的密钥保护方法和安全芯片
CN106385316B (zh) * 2016-08-31 2019-03-05 电子科技大学 Puf模糊提取电路和方法

Also Published As

Publication number Publication date
CN108632038A (zh) 2018-10-09
JP2018157411A (ja) 2018-10-04
US20180270014A1 (en) 2018-09-20

Similar Documents

Publication Publication Date Title
JP6588048B2 (ja) 情報処理装置
KR102458727B1 (ko) 물리적 복제방지 기능으로부터 암호화 키 생성
Bösch et al. Efficient helper data key extractor on FPGAs
JP5564434B2 (ja) 確率的対称暗号化のための方法およびエンティティ
US20170324554A1 (en) Public Key Cryptosystem Based On Partitioning Of Galois Field Elements
US8726123B2 (en) Bit error correction for removing age related errors in a bit pattern
US9967089B2 (en) Change-tolerant method for generating identifier for collection of assets in computing environment using error-correction code scheme
KR101942030B1 (ko) 메시지에 대한 무결성 검증이 지원되는 부호 기반의 암호화가 가능한 전자 장치 및 그 동작 방법
US10050645B2 (en) Joint encryption and error correction encoding
CN112715016B (zh) 密钥封装协议
KR101913644B1 (ko) 메시지 인증이 가능한 부호 기반 암호화 장치 및 방법
US10163370B2 (en) Decoding apparatus, decoding capability providing apparatus, method thereof and program
KR101852526B1 (ko) 암호 파일을 관리하는 모바일 장치의 방법 및 그것을 포함하는 암호 파일 관리 시스템
JP4756489B2 (ja) 誤り訂正符号化装置、誤り訂正符号化方法及びプログラム
CN105718978B (zh) Qr码的生成方法、装置及解码方法、装置
KR101978684B1 (ko) 재생 공격 방지가 가능한 부호 기반 암호화 장치 및 방법
US9705675B2 (en) Method and system making it possible to test a cryptographic integrity of an error tolerant data item
KR20190058884A (ko) 생체 정보 기반의 전자 서명이 가능한 데이터 전송 장치 및 그 동작 방법
US11196447B2 (en) Computer-implemented method for error-correction-encoding and encrypting of a file
KR101942033B1 (ko) t+a개의 오류 코드가 삽입된 부호 기반의 암호화 데이터의 복호화가 가능한 전자 장치 및 그 동작 방법
CN112634092A (zh) 一种基于区块链的合同认证方法、装置、电子设备
JP2015154291A (ja) デバイス固有情報生成装置及びデバイス固有情報生成システムとデバイス固有情報生成方法
CN111756540A (zh) 一种传送密文的方法、终端、服务器及系统
JP6598259B2 (ja) デバイス固有情報生成装置及びデバイス固有情報生成システムとデバイス固有情報生成方法
Kim et al. McNie2-Gabidulin: An improvement of McNie public key encryption using Gabidulin code

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170609

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190611

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190731

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190911

R151 Written notification of patent or utility model registration

Ref document number: 6588048

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151