JP2024503701A - 暗号鍵の保護 - Google Patents
暗号鍵の保護 Download PDFInfo
- Publication number
- JP2024503701A JP2024503701A JP2023543052A JP2023543052A JP2024503701A JP 2024503701 A JP2024503701 A JP 2024503701A JP 2023543052 A JP2023543052 A JP 2023543052A JP 2023543052 A JP2023543052 A JP 2023543052A JP 2024503701 A JP2024503701 A JP 2024503701A
- Authority
- JP
- Japan
- Prior art keywords
- security device
- psk
- key
- digital signature
- input
- 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.)
- Pending
Links
- 230000008859 change Effects 0.000 claims abstract description 14
- 238000012876 topography Methods 0.000 claims abstract description 12
- 230000004044 response Effects 0.000 claims abstract description 7
- 239000011241 protective layer Substances 0.000 claims description 17
- 230000009466 transformation Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 claims description 10
- 239000000825 pharmaceutical preparation Substances 0.000 claims description 3
- 229940127557 pharmaceutical product Drugs 0.000 claims description 3
- 235000013305 food Nutrition 0.000 claims description 2
- 230000006870 function Effects 0.000 description 39
- 208000030331 Posterior urethral valve Diseases 0.000 description 19
- 238000012795 verification Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 230000015654 memory Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 3
- 239000010410 layer Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000000853 adhesive Substances 0.000 description 2
- 230000001070 adhesive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 229940079593 drug Drugs 0.000 description 2
- 239000003814 drug Substances 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 241000219094 Vitaceae Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 235000021021 grapes Nutrition 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 235000016709 nutrition Nutrition 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000006748 scratching Methods 0.000 description 1
- 230000002393 scratching effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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/3278—Cryptographic 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
セキュリティデバイスは、入力信号に応答して、カバーデバイスの微細構造に応じて変化する同一のランダムに出力信号を一貫性をもって提供し、前記カバーデバイスの微細構造が変化すると前記ランダム出力信号が変化するカバーデバイスと、前記ランダム出力信号に基づいて秘密鍵を生成する鍵生成コンポーネントと、前記秘密鍵を使用して前記セキュリティデバイスによって受信されたメッセージのデジタル署名を作製するデジタル署名コンポーネントと、を含む。前記カバーデバイスが、前記鍵生成コンポーネント及び前記デジタル署名コンポーネントの少なくとも一部を取り囲んで、それらへのアクセスを防止し、前記コンポーネントのいずれかにアクセスすると、前記カバーデバイスの微細構造が変化し、前記ランダム出力信号が変化する。前記セキュリティデバイスはオブジェクトに取り付けられていてもよく、前記セキュリティデバイスを前記オブジェクトから取り外すと、前記カバーデバイスの微細構造が変化してもよい。
Description
本出願は、偽造防止の技術分野に関し、特に、暗号鍵の不適切な開示を防止するための暗号鍵を保護する技術分野に関する。
発明の背景:
デジタルの世界では、多くの場合、セキュリティは一部の鍵の機密性の維持に依存している。例えば、デジタル署名スキームは、鍵生成器G、署名アルゴリズムS、及び検証アルゴリズムVの3つの高速アルゴリズムで構成されている。入力としてランダムなストリングrが与えられると、ユーザxは、Gを使用して「公開」鍵PKxと「秘密」署名鍵SKxとのペアの鍵(すなわち、ストリング)を作製する。公開鍵は、対応する秘密鍵を「漏らす」ことはしない。すなわち、PKxの知識が与えられても、xのほかに、天文学的な時間よりも短い時間内にSKxを計算できるものはいない。ユーザxは、SKxを使用してメッセージにデジタル署名する。可能な限りメッセージ(バイナリー・ストリング)mのそれぞれについて、mに対するxによるデジタル署名であるストリングSIGx(m)を作製するため、xは入力m及びSKxに対してアルゴリズムSを実行する。
デジタルの世界では、多くの場合、セキュリティは一部の鍵の機密性の維持に依存している。例えば、デジタル署名スキームは、鍵生成器G、署名アルゴリズムS、及び検証アルゴリズムVの3つの高速アルゴリズムで構成されている。入力としてランダムなストリングrが与えられると、ユーザxは、Gを使用して「公開」鍵PKxと「秘密」署名鍵SKxとのペアの鍵(すなわち、ストリング)を作製する。公開鍵は、対応する秘密鍵を「漏らす」ことはしない。すなわち、PKxの知識が与えられても、xのほかに、天文学的な時間よりも短い時間内にSKxを計算できるものはいない。ユーザxは、SKxを使用してメッセージにデジタル署名する。可能な限りメッセージ(バイナリー・ストリング)mのそれぞれについて、mに対するxによるデジタル署名であるストリングSIGx(m)を作製するため、xは入力m及びSKxに対してアルゴリズムSを実行する。
場合によっては、mはSIGx(m)から取り出すことができる場合がある。SIGx(m)からmを取り出すことができないときは、メッセージmに対するパーティーxによるデジタル署名を定義し直して前記ペア(m,SIGx(m))を構成することができる。PKxを知っていれば、そのPKxを使って、xが作製した署名を検証することができる。特に、(a)ユーザxの公開鍵PKx、(b)メッセージm、及び(c)メッセージmに対するxの真偽不確定のデジタル署名s、の入力に対して、検証アルゴリズムVは、次の特性を満たすようにYES又はNOのいずれかを出力する。
1.真正の署名は常に検証される:s=SIGx(m)のときであれば、V(PKx,m,s)=YES;
2.デジタル署名を偽造することはかなり難しい:SKxの知識がなく、xがmに署名していない場合、V(PKx,m,s)=YESのようにストリングsを見つけ出すには天文学的な長さの時間を要する。
1.真正の署名は常に検証される:s=SIGx(m)のときであれば、V(PKx,m,s)=YES;
2.デジタル署名を偽造することはかなり難しい:SKxの知識がなく、xがmに署名していない場合、V(PKx,m,s)=YESのようにストリングsを見つけ出すには天文学的な長さの時間を要する。
他人のだれかが本人に代わってメッセージに署名することを防止するには、ユーザxは、x自身が署名した鍵SKxを秘密のままにしておく必要があり(それゆえの用語「秘密鍵」)、そして、x自身が署名したメッセージを誰でも検証できるようにするために、xは自身の検証鍵PKxを公にしておく必要がある(それゆえの用語「公開鍵」)。言うまでもなく、適切に設計されたデジタル署名スキームでは、公開鍵PKxは、対応する秘密鍵SKxを漏らさないだけでなく、両方の鍵を作製するために鍵生成器Gによって使用されるランダム入力rも漏らさない。それ以外の場合は、rを検出した後、誰でも入力rに対して鍵生成アルゴリズムを再度実行して、SKxとPKxを出力して学習することができる。
多くの状況において、鍵SKの機密性は、潜在的な敵対者から離れた所有者(例えば、自宅)の管理下にある署名計算ハードウェアデバイス(例えば、コンピュータチップ)にSKを格納することによって提供されてもよい。ただし、署名計算ハードウェアデバイスを安全な環境に保管できない場合もある。例えば、場合によっては、署名計算ハードウェアデバイスが、全国に輸送される製品に取り付けられていることがある。従って、署名計算ハードウェアデバイスが、署名計算ハードウェアデバイスに含まれる秘密鍵SKを読み取ろうとする悪意のあるユーザの手に渡る可能性がある。
この問題に対処する1つの方法は、いわゆる「改ざん防止チップ」にSKを保存することである。しかしながら、ほとんどの改ざん防止チップは完全に改ざん防止性があるわけではなく、単に改ざん耐性があるだけである。改ざん防止チップは、プロセス中にSKを破壊することなく、侵入者が内部に保存されている秘密鍵にアクセスすることを防ぐ外層で囲まれていてもよい。実際には、このような層は確実ではなく、SKの読み取りコストが高くなるだけである。適切な装置を使用すると、悪意のあるユーザがプローブを挿入し、SKを破壊せずにSKを読み取る可能性がある。
従って、悪意のあるユーザ又は他の権限のないエンティティによって秘密鍵が特定されることを防ぐメカニズムを提供することが望ましい。
発明の概要:
本書に記載されたシステムによれば、セキュリティデバイスは、入力信号に応答して、カバーデバイスの微細構造に応じて変化する同一のランダム出力信号を一貫性をもって提供し、前記カバーデバイスの微細構造が変化すると前記ランダム出力信号が変化するカバーデバイスと、前記ランダム出力信号に基づいて秘密鍵を生成する鍵生成コンポーネントと、前記秘密鍵を使用して前記セキュリティデバイスによって受信されたメッセージのデジタル署名を作製し、前記カバーデバイスが、前記鍵生成コンポーネント及び前記デジタル署名コンポーネントの少なくとも一部を取り囲んで、それらへのアクセスを防止し、前記コンポーネントのいずれかにアクセスすると、前記カバーデバイスの微細構造が変化し、前記ランダム出力信号が変化するデジタル署名コンポーネントと、を含む。前記セキュリティデバイスは、前記セキュリティデバイスの通常の使用下で前記カバーデバイスの微細構造が変化するのを防ぐために、前記セキュリティデバイスの1つ又は複数の外面上に配置された保護層を更に含んでもよい。前記保護層は、前記セキュリティデバイスをオブジェクトに取り付けるために使用してもよく、前記セキュリティデバイスを前記オブジェクトから取り外すと、前記カバーデバイスの微細構造が変化する。前記セキュリティデバイスはオブジェクトに取り付けられてもよく、前記セキュリティデバイスを前記オブジェクトから取り外すと、前記カバーデバイスの微細構造が変化してもよい。エンティティは、前記カバーデバイスへの入力信号、及び/又は、前記オブジェクトに関する情報を指定する追加情報とともに、前記秘密鍵に対応する公開鍵にデジタル署名してもよい。前記オブジェクトは、紙幣、消費者アイテム、製造されたコンポーネント、医薬品、栄養製品、及び/又は、内容物が入ったパケットであってもよい。追加のセキュリティデバイスが前記オブジェクトに取り付けられていてもよい。エンティティは、何らかの情報とともに前記秘密鍵に対応する公開鍵にデジタル署名してもよく、前記エンティティのデジタル署名と前記セキュリティデバイスは所定の金銭的価値を構成してもよい。前記秘密鍵は、前記メッセージに署名するのに十分な期間だけ存在してもよい。前記入力信号はエンティティによって認証されてもよい。前記セキュリティデバイスは、前記セキュリティデバイスの周囲に配置されたファラデーケージを含んでもよい。前記鍵生成コンポーネントは、前記秘密鍵に対応する公開鍵を生成してもよい。前記セキュリティデバイスは前記公開鍵を出力してもよい。前記入力信号は、前記セキュリティデバイスに格納されている複数のチャレンジ値のうちの1つであってもよい。前記入力信号の1つは、前記セキュリティデバイスの内部カウンタに従って選択されてもよい。前記セキュリティデバイスは、前記カバーデバイスと前記鍵生成コンポーネントとの間に配置された変換コンポーネントを含んでもよい。前記変換コンポーネントは、暗号化ハッシュ関数又は恒等関数を使用して、前記乱数値信号を変換してもよい。前記セキュリティデバイスは、メッセージにデジタル署名するときに無関係な計算を実行してもよい。
本書に記載されたシステムによれば、セキュリティデバイスは、入力信号に応答して、カバーデバイスの微細構造に応じて変化する同一のランダム出力信号を一貫性をもって提供し、前記カバーデバイスの微細構造が変化すると前記ランダム出力信号が変化するカバーデバイスと、前記ランダム出力信号に基づいて秘密鍵を生成する鍵生成コンポーネントと、前記秘密鍵を使用して前記セキュリティデバイスによって受信されたメッセージのデジタル署名を作製し、前記カバーデバイスが、前記鍵生成コンポーネント及び前記デジタル署名コンポーネントの少なくとも一部を取り囲んで、それらへのアクセスを防止し、前記コンポーネントのいずれかにアクセスすると、前記カバーデバイスの微細構造が変化し、前記ランダム出力信号が変化するデジタル署名コンポーネントと、を含む。前記セキュリティデバイスは、前記セキュリティデバイスの通常の使用下で前記カバーデバイスの微細構造が変化するのを防ぐために、前記セキュリティデバイスの1つ又は複数の外面上に配置された保護層を更に含んでもよい。前記保護層は、前記セキュリティデバイスをオブジェクトに取り付けるために使用してもよく、前記セキュリティデバイスを前記オブジェクトから取り外すと、前記カバーデバイスの微細構造が変化する。前記セキュリティデバイスはオブジェクトに取り付けられてもよく、前記セキュリティデバイスを前記オブジェクトから取り外すと、前記カバーデバイスの微細構造が変化してもよい。エンティティは、前記カバーデバイスへの入力信号、及び/又は、前記オブジェクトに関する情報を指定する追加情報とともに、前記秘密鍵に対応する公開鍵にデジタル署名してもよい。前記オブジェクトは、紙幣、消費者アイテム、製造されたコンポーネント、医薬品、栄養製品、及び/又は、内容物が入ったパケットであってもよい。追加のセキュリティデバイスが前記オブジェクトに取り付けられていてもよい。エンティティは、何らかの情報とともに前記秘密鍵に対応する公開鍵にデジタル署名してもよく、前記エンティティのデジタル署名と前記セキュリティデバイスは所定の金銭的価値を構成してもよい。前記秘密鍵は、前記メッセージに署名するのに十分な期間だけ存在してもよい。前記入力信号はエンティティによって認証されてもよい。前記セキュリティデバイスは、前記セキュリティデバイスの周囲に配置されたファラデーケージを含んでもよい。前記鍵生成コンポーネントは、前記秘密鍵に対応する公開鍵を生成してもよい。前記セキュリティデバイスは前記公開鍵を出力してもよい。前記入力信号は、前記セキュリティデバイスに格納されている複数のチャレンジ値のうちの1つであってもよい。前記入力信号の1つは、前記セキュリティデバイスの内部カウンタに従って選択されてもよい。前記セキュリティデバイスは、前記カバーデバイスと前記鍵生成コンポーネントとの間に配置された変換コンポーネントを含んでもよい。前記変換コンポーネントは、暗号化ハッシュ関数又は恒等関数を使用して、前記乱数値信号を変換してもよい。前記セキュリティデバイスは、メッセージにデジタル署名するときに無関係な計算を実行してもよい。
更に本書に記載されたシステムによれば、メッセージへのデジタル署名には、入力信号に応答して、カバーデバイスの微細構造に応じて変化する同一のランダム出力信号を一貫性をもって提供し、前記カバーデバイスの微細構造が変化すると前記ランダム出力信号が変化するカバーデバイスを有するセキュリティデバイスと、前記ランダム出力信号に基づいて秘密鍵を生成する鍵生成コンポーネントも有する前記セキュリティデバイスと、前記秘密鍵を使用して前記セキュリティデバイスによって受信されたメッセージのデジタル署名を作製し、前記カバーデバイスが、前記鍵生成コンポーネント及び前記デジタル署名コンポーネントの少なくとも一部を取り囲んで、それらへのアクセスを防止し、前記コンポーネントのいずれかにアクセスすると、前記カバーデバイスの微細構造が変化し、前記ランダム出力信号が変化するデジタル署名コンポーネントとに前記メッセージを提供することと、チャレンジ値を前記セキュリティデバイスに提供することと、前記セキュリティデバイスからデジタル署名を取得することと、を含む。
本書に記載されたシステムは、例えば、米国特許第10,607,234号や米国特許第10,803,374号で教示されているPUVやPUFのユーザに対して改良したものである。なぜなら、これらの特許はどちらも、悪意のあるユーザやその他の権限のないエンティティによって秘密鍵が特定されることを防ぐ方法を教示していないからである。例えば、米国特許第10,803,374号の図10に示されているものと同様に、秘密鍵を含むハードウェアの一部の周りにPUVを単純に巻き付けるだけでは、秘密鍵をPUVに安全に結び付けるものは何もないため、悪意のあるユーザは単にPUVを削除するだけで、たとえそれによってPUVの入出力動作が劇的に変化したとしても、秘密鍵にアクセスするおそれがある。これに対処する1つの方法は、固定入力CをPUVに提供し、秘密鍵を使用してメッセージとともにPUVの出力D(C)に署名し、SIGx(M,D(C))を作製することである。このようにして、PUVは秘密鍵によって作製された署名に関連付けられる。しかし、悪意のあるユーザがPUVを破壊して秘密鍵を学習することができる可能性があるため、これも失敗する。入力Cは署名されるすべてのメッセージで同じであるため、以前の署名からD(C)を学習した後、悪意のあるユーザは、学習した秘密鍵を使用して署名SIGx(M´,D(C))を計算するだけで、任意のメッセージM´にデジタル署名できる。この問題は、Cを定数ではなく予測不可能な数にすることで解決できる可能性がある。例えば、CはメッセージMの一方向ハッシュ、すなわちH(M)であるため、PUVの出力はD(H(M))となり、署名はSIGx(M,D(H(M)))になる。ただし、このアプローチの問題は、ユーザには、D(H(M))と、例えば乱数を区別する方法がないことである。従って、悪意のあるユーザは、秘密を学習するために最初にDを破壊し、次に、鍵秘密鍵を使用して署名アルゴリズムSを新しいPUVでラップし、破壊された本物のデバイスと全く同じように見えるが、異なる出力D´(C)を提供するデバイスを取得する。新しいメッセージM*が入力されると、新しいデバイスはデジタル署名SIGx(M*,H(D´(M*))を作製するが、D´(M*)が間違った値であることを検出する方法がないため(すなわち、D(M*)であるはず)、H(D´(M*)が間違った値であり、H(D(M*)であるべきであることを検出する方法はない。
本書に記載されたシステムの実施形態は、以下に簡単に説明された図面の図に従って、より詳細に説明される。
様々な実施形態の詳細な説明:
本書に記載のシステムは、入力信号に応答して、カバーデバイスの微細構造に従って変化する同一の乱数値信号を一貫性をもって提供するカバーデバイスを使用する。カバーデバイスは、デジタルメッセージに署名するシステムのコンポーネントを取り囲むため、コンポーネントのいずれかに不正にアクセスするとカバーデバイスの微細構造が変化し、最終的には許可された秘密鍵の生成が妨げられ、許可された秘密鍵を使用してメッセージに署名することを防止する。
本書に記載のシステムは、入力信号に応答して、カバーデバイスの微細構造に従って変化する同一の乱数値信号を一貫性をもって提供するカバーデバイスを使用する。カバーデバイスは、デジタルメッセージに署名するシステムのコンポーネントを取り囲むため、コンポーネントのいずれかに不正にアクセスするとカバーデバイスの微細構造が変化し、最終的には許可された秘密鍵の生成が妨げられ、許可された秘密鍵を使用してメッセージに署名することを防止する。
アービター回路:
図1は、いくつかのマルチプレクサ102及びラッチ104を含むアービター回路100を示している。回路100は、各入力Xに対して同じレイアウト長を有する2つの異なる遅延パスを生成し、どちらのパスが速いかに基づいて出力D(X)を作製する。出力D(X)は単一ビットでもよいが、D(X)が十分に長いストリングになるようにアービター回路を増強してもよい。ラッチ104の分解能は、回路(微細構造)が変更されない限り、同じ入力Xが与えられた場合に同じ出力D(X)が得られることを保証するのに十分に細かいものとしてもよい(実行環境は大きく変わらない)。実際、回路100の出力は、回路100の微細構造に依存する可能性があるため、所与の出力Xごとに、D(X)は乱数値であり、回路の最小の変更でさえ、D(X)は異なる(実際にはランダム)出力になる。実際、同じレイアウトを持つ2つのアービター回路の同じ入力上の出力は、アービター回路の微細構造が異なるため、大きく異なってもよい。
図1は、いくつかのマルチプレクサ102及びラッチ104を含むアービター回路100を示している。回路100は、各入力Xに対して同じレイアウト長を有する2つの異なる遅延パスを生成し、どちらのパスが速いかに基づいて出力D(X)を作製する。出力D(X)は単一ビットでもよいが、D(X)が十分に長いストリングになるようにアービター回路を増強してもよい。ラッチ104の分解能は、回路(微細構造)が変更されない限り、同じ入力Xが与えられた場合に同じ出力D(X)が得られることを保証するのに十分に細かいものとしてもよい(実行環境は大きく変わらない)。実際、回路100の出力は、回路100の微細構造に依存する可能性があるため、所与の出力Xごとに、D(X)は乱数値であり、回路の最小の変更でさえ、D(X)は異なる(実際にはランダム)出力になる。実際、同じレイアウトを持つ2つのアービター回路の同じ入力上の出力は、アービター回路の微細構造が異なるため、大きく異なってもよい。
アービター回路は個々の入力ごとにユニークな乱数値を一貫性をもって出力するが、アービター回路の入出力関数D(X)はランダム関数ではない。実際、D(X)は十分な数の入出力ペアが与えられた場合に推論できるが、ランダム関数の場合は当てはまらない。個別にランダムであるが容易に推論できる関数の極端な例として、そのように定義された関数fを考える。rをランダムな整数とし、任意のxに対してf(0)=r及びf(x)=r+xを設定する。すると、与えられた入力に対して、fはランダムな出力を作製する。しかしながら、単一の入出力ペア(i,f(i))が与えられると、任意の入力xにおけるfの値を容易に計算することができる。実際、f(x)=f(i)-i+xとなる。
PUVs:
米国特許第10,607,234B2号(以下、「'234特許」という)は、参照により本明細書に組み込まれるが、PUVを構築及び使用する方法を示している。文字通り、PUVは、デバイスのペアをYESとNOにマッピングする関連検証アルゴリズムAを備えた物理デバイスである。本質的に、回路DがPUVであるとすると、
1.個々のランダム性。回路Dは、選択された単一の入力に応答して一貫性をもって単一の乱数値を作製するものであり、
2.クローン作製不可能性。次のような2つのデバイスD1とD2を作製するのは困難である。
(a)A(D1)=A(D2)=YESであって、
(b)D1とD2は、選択された同一の入力cに対して同一の値を作製する。
米国特許第10,607,234B2号(以下、「'234特許」という)は、参照により本明細書に組み込まれるが、PUVを構築及び使用する方法を示している。文字通り、PUVは、デバイスのペアをYESとNOにマッピングする関連検証アルゴリズムAを備えた物理デバイスである。本質的に、回路DがPUVであるとすると、
1.個々のランダム性。回路Dは、選択された単一の入力に応答して一貫性をもって単一の乱数値を作製するものであり、
2.クローン作製不可能性。次のような2つのデバイスD1とD2を作製するのは困難である。
(a)A(D1)=A(D2)=YESであって、
(b)D1とD2は、選択された同一の入力cに対して同一の値を作製する。
例えば、物理的にクローンを作製できない値(PUV)D200を提供するデバイスを示す概略図である図2を参照されたい。
'234特許は、アービター回路などの電気回路の微細構造を適切に利用してPUVを構築する方法も示している。この例では、検証アルゴリズムAは基本的に、2つのデバイスが実際に同じレイアウトのアービター回路で構成されていることを検証する。
PUFs:
米国特許第10,803,374B2号(以下、「'374特許」という)は、参照により本明細書に組み込まれるが、物理的にクローン作製不可能な関数(PUF)の構築及び使用を教示している。基本的に、PUFはデバイスRであり、その入出力関数は実際にはランダム関数である。入力xに対する出力R(x)はランダムであるだけでなく、xとは異なる入力xl,...,xnに対する出力R(xl),...,R(xn)が与えられると予測できない。
米国特許第10,803,374B2号(以下、「'374特許」という)は、参照により本明細書に組み込まれるが、物理的にクローン作製不可能な関数(PUF)の構築及び使用を教示している。基本的に、PUFはデバイスRであり、その入出力関数は実際にはランダム関数である。入力xに対する出力R(x)はランダムであるだけでなく、xとは異なる入力xl,...,xnに対する出力R(xl),...,R(xn)が与えられると予測できない。
'374特許は、(a)暗号ハッシュH用の回路をカバーするPUV Dを含み、(b)入力xでH(D(x))を出力するデバイスRを構築することによってPUFを構築することを教示している。このようなデバイスRは、保護層で覆われていてもよい。
例えば、PUF300、300´の異なる二次元図式を説明する図3A及び図3Bを参照されたい。
1 PSKデバイス
本書に記載されたシステムは、たとえ対応するPSKデバイスがあらゆる種類の物理的攻撃にさらされたとしても、暗号化スキームの秘密鍵SKの機密性を維持することを可能にする物理的セキュアキー(PSK)デバイスを提供する。場合によっては、PSKデバイスは、'234特許及び'374特許(前述)に記載されているものよりもはるかに単純なデバイスから構成されてもよいが、その方法は大きく異なる。
本書に記載されたシステムは、たとえ対応するPSKデバイスがあらゆる種類の物理的攻撃にさらされたとしても、暗号化スキームの秘密鍵SKの機密性を維持することを可能にする物理的セキュアキー(PSK)デバイスを提供する。場合によっては、PSKデバイスは、'234特許及び'374特許(前述)に記載されているものよりもはるかに単純なデバイスから構成されてもよいが、その方法は大きく異なる。
1.1 Weak PUVs
Weak PUVは、次の2つのプロパティを満たす物理デバイスDである。
1.個々のランダム性。任意の単一の入力Cに対して、Dは一貫性をもってユニークな乱数値出力D(C)を生成する。
2.ブラインドクローン作製不可能性。Dによって生成された入出力ペアがなければ、D(C)=D′(C)となるような別のデバイスD′と入力Cを見つけるのは困難である。
Weak PUVは、次の2つのプロパティを満たす物理デバイスDである。
1.個々のランダム性。任意の単一の入力Cに対して、Dは一貫性をもってユニークな乱数値出力D(C)を生成する。
2.ブラインドクローン作製不可能性。Dによって生成された入出力ペアがなければ、D(C)=D′(C)となるような別のデバイスD′と入力Cを見つけるのは困難である。
Weak PUVのブラインドクローン作製不可能性プロパティでは、検証アルゴリズムAを使用する必要がないことに留意されたい。これは、Dの出力を確認する前に、Dの複製が困難でなければならないためである。以下で説明するように、そのような要件がないことは非常に有益である。
図4を参照すると、Weak PUVは、保護されたアービター回路400によって実装されるように示されている。保護されたアービター回路400は、アービター回路400が通常の使用による消耗によってアービター回路400の微細構造が変化するのを防ぐ保護層402によって囲まれていることを除いて、上述のアービター回路100と同様である。保護層402は不透明であってもよい。
プロパティ1は、図1のアービター回路100のような通常の(保護されていない)アービター回路に対してすでに成立しているので、上述のWeak PUVのプロパティ1が成立することに留意されたい。プロパティ2に関しては、アービター回路402が任意の入力に対して作製する出力はランダムであり、アービター回路402によって生成される入出力ペアが与えられないため、D′(c)=D(c)を保証して、最初の保護されたアービター回路D、2番目の保護されたアービター回路D′、及び入力cを見つけることは基本的に不可能である。Dと同じ回路レイアウトを持つ別のアービター回路D′(保護されているかどうかに関係なく)を製造することが可能である。実際、そのようなD′は、Dに任意の入力cを与え、対応する出力D(c)を観察しなくても製造することができる。しかしながら、D′の微細構造は必然的にDの微細構造とは異なり、その結果、入出力関数D′(X)はDの関数とは全く異なるものとなる。従って、どの入力cについても、D(c)=D′(c)となることは統計的に不可能である。
図5A及び図5Bは、点線で示される保護層を有するWeak PUVの概略図である。保護層は、例えば、塗布後に硬化し非導電性となる特殊な接着剤によって実現できる。アービター回路に保護層を塗布すると、アービター回路の微細構造が変化する可能性があることに留意されたい。しかしながら、保護されたアービター回路の入出力機能は、保護層の塗布後に生じる入出力機能であるとみなされるため、これは問題にならない。アービター回路の保護層は、アービター回路の輪郭に沿ってもよいし、アービター回路の外面の周囲にのみ塗布されてもよい。保護されたアービター回路はWeak PUVの一例にすぎず、Weak PUVsを保護することは必須ではないことに留意されたい。本書に記載のシステムは、保護されているWeak PUVsと保護されていないWeak PUVsに適用される。
PUVsとWeak PUVsの比較:
個々のランダム性プロパティはPUVsとWeak PUVsで同じであるが、PUVsのクローン作製不可能性プロパティは、Weak PUVsが享受するブラインドクローン作製不可能性よりもはるかに強いことに留意されたい。これについては、以下で詳しく説明する。
個々のランダム性プロパティはPUVsとWeak PUVsで同じであるが、PUVsのクローン作製不可能性プロパティは、Weak PUVsが享受するブラインドクローン作製不可能性よりもはるかに強いことに留意されたい。これについては、以下で詳しく説明する。
PUVsの場合、クローン作製不可能性プロパティでは、(a)指定された検証アルゴリズムAに対してA(D1,D2)=YES、及び(b)D1(c)=D2(c)となるような2つのデバイスD1及びD2と入力cを考え出すことが困難でなければならない。クローン作製不可能性の要件は非常に強力である。特に、クローン作製不可能性プロパティは、D1を作成し、D1をしばらく使用し、その後D2を作成し、D1とD2の両方が同じ出力を作製する入力cを見つける悪意のあるユーザの場合にも当てはまる。これは、本書の他の箇所でより詳細に記載された検証アルゴリズムAの重要な役割を強調している。
アービター回路ベースのPUVsの例について考える。アービター回路D1の入出力関数D1(x)が容易に推測できることを思い出して下さい。従って、D1に十分な数の入力を供給し、対応するD1の出力を観察した後、悪意のあるユーザは、D1と同一の入出力関数を持つデバイスD′を構築する可能性がある。すなわち、すべてのxに対してD′(x)=D1(x)となる。しかしながら、必然的に、そのように構成されたデバイスD′は、同じレイアウトのD1を有するアービター回路ではない。従って、適切な検証アルゴリズムAは、このようなデバイスのペア(D1,D′)を簡単に拒否する。すなわち、A(D1,D′)=NOとなる。
ただし、検証アルゴリズムAは、次のより洗練されたシナリオを処理できる必要があることに留意されたい。すなわち、悪意のあるユーザは次のようなことを行う。
(1)アービター回路D1を取得して実験し、D1(x)の入出力関数を推測する。
(2)D′(x)=D1(x)となるような(非アービター)デバイスD′を製造する。これは、目立ちにくいように、可能な限り小型化されている。
(3)D1と同じレイアウトLでアービター回路D2を構築する(D2の微細構造はD1の微細構造とは必然的に異なるため、D2(x)はD1(x)とは必然的に異なることに留意されたい)。
(4)D2がどの入力に対しても出力を作製しないように、D2の配線をいくつか切断する。
(5)機能する小型デバイスD′を機能不全のデバイスD2に隠してデバイスD*を構築し、D*の入出力関数がDの入出力関数になるようにする。
(1)アービター回路D1を取得して実験し、D1(x)の入出力関数を推測する。
(2)D′(x)=D1(x)となるような(非アービター)デバイスD′を製造する。これは、目立ちにくいように、可能な限り小型化されている。
(3)D1と同じレイアウトLでアービター回路D2を構築する(D2の微細構造はD1の微細構造とは必然的に異なるため、D2(x)はD1(x)とは必然的に異なることに留意されたい)。
(4)D2がどの入力に対しても出力を作製しないように、D2の配線をいくつか切断する。
(5)機能する小型デバイスD′を機能不全のデバイスD2に隠してデバイスD*を構築し、D*の入出力関数がDの入出力関数になるようにする。
クローン作製不可能性プロパティを保持するには、検証アルゴリズムがこのデバイスのペア(D1,D*)も拒否する必要がある。'234特許の一実施形態では、アルゴリズムAは、2つのデバイスD1及びD2が本当に同じレイアウトの2つのアービター回路から構成されているかどうかを検証する。すなわち、D1とD2が一般的に同じレイアウトLを持つことを検証するだけでは十分ではないが、まさにこのレイアウトLがそれらの入出力関数を引き起こすことを検証する(特に、AはLに切断がないことを確認する必要がある)。実際、後者の検証のみが、Aが特定のペア(D1,D*)を拒否できるようになる。これにより、'234特許の(通常の)PUVのアービター回路の実装にいくつかの重大な制約が課せられる。
検証アルゴリズムAがアービター回路D1のレイアウトLを検査(及び比較)し、D1が実際にLを使用してD1の入出力関数を実装していることを確認できるようにするには、Lを公にしておく必要があることに留意されたい。Lがわずかに変更されただけで、D1が全く異なる予測不可能な方法で動作するため、公にすることにより、このようなアービター回路は脆弱なデバイスになる可能性がある。従って、この脆弱性により、通常の使用による消耗によってレイアウトLが変化する可能性のある用途は除外される。
Weak PUVの場合、ブラインドクローン作製不可能性プロパティは非常に穏やかであり、追加の検証アルゴリズムAの存在又は使用を必要としない。これはいくつかの理由から主な利点である。例えば、検証アルゴリズムAに依存すると、多くの用途でPUVsのコストが高くなる可能性がある。また、Aが動作できることを確認すると、PUVsがより壊れやすくなったり、多くの設定で適用できなくなったりする可能性がある。
以下に、基本、認可、拡張の3種類のPSKデバイスを構築する方法を示し、次のセクションでは、偽造不可能な貨幣、製品の認証などの様々な用途にPSKデバイスを使用する方法を示す。
1.2 基本的な物理的セキュアキー
構造と機能:
図6Aを参照すると、物理的セキュアキー(PSK)デバイス600は、Weak PUV602によって作製される少なくとも出力D(C)をカバーするWeak PUV602、変換関数Fを実装するハードウェアを含むオプションの変換コンポーネント、鍵生成アルゴリズムを実装するハードウェアを含む鍵生成コンポーネントG、及びデジタル署名スキームのデジタル署名アルゴリズムSを実装するハードウェアを含むデジタル署名コンポーネントを用いて構築される。ハードウェアは、F、G、及びSを実装する従来の回路、及び/又は、処理デバイスであってもよい。本書におけるF、G、及びSへの言及は、それぞれに対応するコンポーネント/ハードウェアを含むものと理解されたい。Weak PUV602は、Weak PUV出力の計算中に生成される一部の値へのアクセスを防止し、Weak PUVの入出力関数を変更することなくF、G及びSへのアクセスを防止するカバーを提供する。Weak PUV602はまた、通常の使用下で、誤って「引っかき傷」を付けること、又はより一般的には、Weak PUVの入出力関数、及び/又は、G及びSの入出力関数が変更されることを防ぐ保護層604で覆われていてもよい。このように、通常の使用では、Weak PUVは、同じ入力が与えられるたびに同じ出力を作製し続ける。Fを提供する変換コンポーネントはオプションであり、Weak PUV602からの出力D(C)を鍵生成コンポーネントGの入力に接続する点線606によって示されている。
構造と機能:
図6Aを参照すると、物理的セキュアキー(PSK)デバイス600は、Weak PUV602によって作製される少なくとも出力D(C)をカバーするWeak PUV602、変換関数Fを実装するハードウェアを含むオプションの変換コンポーネント、鍵生成アルゴリズムを実装するハードウェアを含む鍵生成コンポーネントG、及びデジタル署名スキームのデジタル署名アルゴリズムSを実装するハードウェアを含むデジタル署名コンポーネントを用いて構築される。ハードウェアは、F、G、及びSを実装する従来の回路、及び/又は、処理デバイスであってもよい。本書におけるF、G、及びSへの言及は、それぞれに対応するコンポーネント/ハードウェアを含むものと理解されたい。Weak PUV602は、Weak PUV出力の計算中に生成される一部の値へのアクセスを防止し、Weak PUVの入出力関数を変更することなくF、G及びSへのアクセスを防止するカバーを提供する。Weak PUV602はまた、通常の使用下で、誤って「引っかき傷」を付けること、又はより一般的には、Weak PUVの入出力関数、及び/又は、G及びSの入出力関数が変更されることを防ぐ保護層604で覆われていてもよい。このように、通常の使用では、Weak PUVは、同じ入力が与えられるたびに同じ出力を作製し続ける。Fを提供する変換コンポーネントはオプションであり、Weak PUV602からの出力D(C)を鍵生成コンポーネントGの入力に接続する点線606によって示されている。
入力Cが与えられると、Weak PUVは常に与えられた乱数値D(C)を作製することを思い出して下さい。また、鍵生成アルゴリズムGは、ランダムな入力が与えられると、公開鍵とそれに対応する秘密鍵を作製するアルゴリズムであることを思い出して下さい。最後に、署名アルゴリズムSが秘密署名鍵とメッセージという2つの入力を受け取ることを思い出して下さい。
PSKデバイス600は、チャレンジC(例えば、固定値)及びメッセージMの2つの入力を受信してもよく、これらは以下のように使用される。
・チャレンジCは、Weak PUVへの入力として与えられ、乱数出力D(C)を作製する。この出力は保存されないが、暗号化ハッシュ関数、恒等関数、又は変換された信号を提供するその他の関数を使用してD(C)を変換する変換コンポーネントに提供される。上述したように、乱数値出力D(C)は鍵生成コンポーネントに直接提供されてもよい。
・変換された信号(又は、Weak PUVの出力)は、鍵生成アルゴリズムGを提供するハードウェアへの入力として与えられ、その結果、検証鍵PKと、PKに対応する秘密署名鍵SKが作製される。鍵PKはPSKデバイスの外部に直接出力されてもよいが、SKは署名アルゴリズムSを実装するハードウェアへの最初の入力として与えられる。
・メッセージMは、署名アルゴリズムSを実装するハードウェアへの2番目の入力として与えられる。従って、Sは公開鍵PKに対するMの署名SIG(M)を作製する。署名はPSKデバイスから出力されてもよい。
・チャレンジCは、Weak PUVへの入力として与えられ、乱数出力D(C)を作製する。この出力は保存されないが、暗号化ハッシュ関数、恒等関数、又は変換された信号を提供するその他の関数を使用してD(C)を変換する変換コンポーネントに提供される。上述したように、乱数値出力D(C)は鍵生成コンポーネントに直接提供されてもよい。
・変換された信号(又は、Weak PUVの出力)は、鍵生成アルゴリズムGを提供するハードウェアへの入力として与えられ、その結果、検証鍵PKと、PKに対応する秘密署名鍵SKが作製される。鍵PKはPSKデバイスの外部に直接出力されてもよいが、SKは署名アルゴリズムSを実装するハードウェアへの最初の入力として与えられる。
・メッセージMは、署名アルゴリズムSを実装するハードウェアへの2番目の入力として与えられる。従って、Sは公開鍵PKに対するMの署名SIG(M)を作製する。署名はPSKデバイスから出力されてもよい。
ランダムな入力rに基づいて、一致する鍵PK及びSKを生成する鍵生成アルゴリズムGには、第1のアルゴリズムG1が入力rで秘密鍵SKを生成し、第2のアルゴリズムG2が入力SKで一致する公開鍵PKを生成する場合が含まれることに留意されたい(このケースは、実際にデジタル署名方式の一実施形態であってもよい、ハッシュベースのデジタル署名方式の鍵生成アルゴリズムで発生する)。この場合、公開鍵PKはある時(例えば、初期プロセス中)にのみ生成及び出力され、その他の時(例えば、PSKデバイスが入力メッセージの署名のみを出力するとき)には生成されなくてもよい。実際、これらの他の時には、秘密鍵SKがG1によって署名アルゴリズムSに直接供給される一方で、アルゴリズムG2はバイパスされてもよい。同様に、アルゴリズムGには、第1のアルゴリズムG1′がランダムな入力rに対して、公開鍵PK及びいくつかの追加情報AIを作製し、第2のアルゴリズムG2′が入力AI(又は、AI及びPK)に対して、一致する秘密鍵SKを出力するケースが含まれる。従って、この場合も、PSKデバイス600は、ある時のみPKを作製及び出力し、その他の時には入力メッセージの署名のみを作製及び出力してもよい。
PSKデバイス600は、例えば、ユーザがユーザのメッセージに署名するために使用してもよい。すなわち、ユーザは、PSKデバイス600を使用して公開鍵PKを生成し、それを自分のものとして公にすることができる。ユーザは、最も安全な方法で必要なメッセージに署名するために、PSKデバイスをユーザの自宅に保管してもよい。例えば、PSKデバイスはユーザのコンピュータに接続されている。実際、多くのPKIアプリケーションでは、秘密鍵の保護が主な問題である。PSKデバイスは、CAがユーザ証明書にデジタル署名するX.509証明書システム(又は同様のもの)でCAによって使用されてもよい。
基本的なセキュリティ分析:
次に、PSKデバイス600のセキュリティを分析しましょう。まず、PSKデバイス600が使用されていないときは、鍵SKは存在すらせず、これがSKを秘密に保つ最良の方法である。PSKデバイス600が入力C及びMで使用される場合、鍵SKは署名アルゴリズムSによる入力として使用されるためだけに存在し、PSKデバイス600が使用されなくなるとすぐに消滅する。悪意のあるユーザがPSKデバイス600の使用中にSKにアクセスするためにPSKデバイス600にプローブを挿入した場合、悪意のあるユーザの行為によりWeak PUV602の微細構造が変更され、そのため、入力Cに対して、変更されたWeak PUVが全く異なる出力を生成し、その結果、SKとは全く異なる鍵SK′が生成される。従って、悪意のあるユーザが何を読んでも、SKの学習に関して実際には役に立たない。同様に、D(C)の値も一時的であり、Weak PUV602自体によって完全に覆われた空間内に短時間存在するように呼び出されるため、悪意のあるユーザは乱数値D(C)を学習することができない。
次に、PSKデバイス600のセキュリティを分析しましょう。まず、PSKデバイス600が使用されていないときは、鍵SKは存在すらせず、これがSKを秘密に保つ最良の方法である。PSKデバイス600が入力C及びMで使用される場合、鍵SKは署名アルゴリズムSによる入力として使用されるためだけに存在し、PSKデバイス600が使用されなくなるとすぐに消滅する。悪意のあるユーザがPSKデバイス600の使用中にSKにアクセスするためにPSKデバイス600にプローブを挿入した場合、悪意のあるユーザの行為によりWeak PUV602の微細構造が変更され、そのため、入力Cに対して、変更されたWeak PUVが全く異なる出力を生成し、その結果、SKとは全く異なる鍵SK′が生成される。従って、悪意のあるユーザが何を読んでも、SKの学習に関して実際には役に立たない。同様に、D(C)の値も一時的であり、Weak PUV602自体によって完全に覆われた空間内に短時間存在するように呼び出されるため、悪意のあるユーザは乱数値D(C)を学習することができない。
変形:
公開鍵PKの異なる処理:
PSKデバイス600の鍵生成アルゴリズムGによって生成された公開鍵PKは、鍵生成アルゴリズムGによって直接外部に出力される必要はない。例えば、いかなる制限も意図しないが、PKは、生成されると、PSKデバイス600内の何らかの長期メモリに記憶され、公開鍵が必要なときはいつでもそこから直接外部に出力することができる。
公開鍵PKの異なる処理:
PSKデバイス600の鍵生成アルゴリズムGによって生成された公開鍵PKは、鍵生成アルゴリズムGによって直接外部に出力される必要はない。例えば、いかなる制限も意図しないが、PKは、生成されると、PSKデバイス600内の何らかの長期メモリに記憶され、公開鍵が必要なときはいつでもそこから直接外部に出力することができる。
電力:
PSKデバイス600は、外部から供給される電力、又はバッテリーなどの内部電力を介して動作してもよい。外部電力は継続的に供給されてもよく、使用時のみ供給されてもよい。特に、電力は、PSKデバイス600に入力C及びMを提供するまさにデバイスによって、おそらく非接触方式で供給されてもよい。
PSKデバイス600は、外部から供給される電力、又はバッテリーなどの内部電力を介して動作してもよい。外部電力は継続的に供給されてもよく、使用時のみ供給されてもよい。特に、電力は、PSKデバイス600に入力C及びMを提供するまさにデバイスによって、おそらく非接触方式で供給されてもよい。
可変的なチャレンジ:
チャレンジCは、全てのPSKデバイスに対して同じ固定値である必要はない。異なるPSKデバイスは、鍵生成アルゴリズムへのランダム入力を生成するために異なるチャレンジを使用してもよい。この場合、特定のチャレンジCは特定のPSKデバイスに明確に関連付けられていてもよい。例えば、CをPSKデバイスの保護層で利用できるようにしたり、CをPSKデバイスの長期メモリに保存してPSKデバイスがアクティブ化されたときに出力したりしてもよい。チャレンジCは認証されることが好ましい。例えば、Cは、最終的にCから生成される公開鍵PKとともにデジタル署名された追加情報Iを使用して指定されてもよい。このようにして、例えば、PKに対するメッセージMにデジタル署名するためにPSKデバイスを使用する必要がある人は、PSKデバイスが対応する秘密鍵SKを内部で生成できるようにするには、どのチャレンジCをPSKデバイスに入力すればよいかを知っている。
チャレンジCは、全てのPSKデバイスに対して同じ固定値である必要はない。異なるPSKデバイスは、鍵生成アルゴリズムへのランダム入力を生成するために異なるチャレンジを使用してもよい。この場合、特定のチャレンジCは特定のPSKデバイスに明確に関連付けられていてもよい。例えば、CをPSKデバイスの保護層で利用できるようにしたり、CをPSKデバイスの長期メモリに保存してPSKデバイスがアクティブ化されたときに出力したりしてもよい。チャレンジCは認証されることが好ましい。例えば、Cは、最終的にCから生成される公開鍵PKとともにデジタル署名された追加情報Iを使用して指定されてもよい。このようにして、例えば、PKに対するメッセージMにデジタル署名するためにPSKデバイスを使用する必要がある人は、PSKデバイスが対応する秘密鍵SKを内部で生成できるようにするには、どのチャレンジCをPSKデバイスに入力すればよいかを知っている。
複数の秘密鍵:
PSKデバイス600は、単一の秘密鍵SKを保管するものとして上述された。次に、PSKデバイス600は、SK1、SK2などの異なる鍵を保護できることを示しましょう。基本的に、SK1は、PSKデバイス600のWeak PUVにチャレンジC1を与えることによって作製される。このようにして、Weak PUVは乱数値D(C1)を作製し、これが(おそらく関数Fによって変換された後)鍵生成器Gのハードウェアに供給され、公開鍵PK1と対応する秘密鍵SK1が作製される。同様に、SK2は、Weak PUVにチャレンジC2を与えることによって作製される。このようにして、乱数値D(C2)が鍵生成器Gのハードウェアに供給され、PK2やSK2などが作製される。チャレンジC1、C2などは、1つ又は複数のエンティティによって、個別に又は一緒に(おそらく認証された方法で)利用可能にされてもよい。
PSKデバイス600は、単一の秘密鍵SKを保管するものとして上述された。次に、PSKデバイス600は、SK1、SK2などの異なる鍵を保護できることを示しましょう。基本的に、SK1は、PSKデバイス600のWeak PUVにチャレンジC1を与えることによって作製される。このようにして、Weak PUVは乱数値D(C1)を作製し、これが(おそらく関数Fによって変換された後)鍵生成器Gのハードウェアに供給され、公開鍵PK1と対応する秘密鍵SK1が作製される。同様に、SK2は、Weak PUVにチャレンジC2を与えることによって作製される。このようにして、乱数値D(C2)が鍵生成器Gのハードウェアに供給され、PK2やSK2などが作製される。チャレンジC1、C2などは、1つ又は複数のエンティティによって、個別に又は一緒に(おそらく認証された方法で)利用可能にされてもよい。
また、PSKデバイス600は、デジタル署名方式の秘密鍵だけでなく、あらゆる種類の秘密鍵を扱うことができることにも留意されたい。例えば、公開鍵暗号方式の復号化鍵などであるが、これに限定されるものではない。
異なる入出力手段:
説明を簡単にするために、PSKデバイス600が2つの別個の外部入力、すなわちチャレンジ(PSKデバイス600のWeak PUVに直接供給される)及びメッセージ(署名アルゴリズムSのハードウェアに2つの入力のうちの1つとして直接供給される)を有するように説明した。これには制限がない。例えば、チャレンジとメッセージの両方をPSKデバイスの内部に指定するために使用される単一の外部入力を持つPSKデバイスを実装できる。チャレンジとメッセージはそれぞれWeak PUVとSに供給される。
説明を簡単にするために、PSKデバイス600が2つの別個の外部入力、すなわちチャレンジ(PSKデバイス600のWeak PUVに直接供給される)及びメッセージ(署名アルゴリズムSのハードウェアに2つの入力のうちの1つとして直接供給される)を有するように説明した。これには制限がない。例えば、チャレンジとメッセージの両方をPSKデバイスの内部に指定するために使用される単一の外部入力を持つPSKデバイスを実装できる。チャレンジとメッセージはそれぞれWeak PUVとSに供給される。
同様に、PSKデバイスには単一の外部出力があってもよく、そこを通じて公開鍵PKと署名されたメッセージの両方が送信される。
メッセージMに署名するには、PSKデバイスはチャレンジCとメッセージMの両方を入力として受信する必要がある。しかしながら、公開鍵PKだけを計算するには、PSKデバイスはチャレンジCを受信するだけでもよい。PSKデバイスは実際には、チャレンジ入力のみを受信したときに動作するように構築されていてもよい。あるいは、PSKデバイスは両方の入力を受信した場合にのみ動作し、PKと署名されたメッセージのみを出力してもよい。ユーザがPKのみを知りたい場合は、PSKデバイスに入力Cと任意のメッセージxを提供するだけでもよく、出力署名を無視してもよい。
図6Bを参照すると、PSKデバイス600′の代替的実施形態は、チャレンジCを内部入力として受信するWeak PUV602′を示している。場合によっては、チャレンジCは、PSKデバイス600′の内部で生成、及び/又は、格納されてもよく、従ってPSKデバイス600′への内部入力として提供されてもよい。本書の他の箇所で説明されたPSKデバイス600と同様に、Weak PUV602′は、少なくとも、Weak PUV602′によって作製される出力D(C)、変換関数Fを実装するハードウェアを含むオプションの変換コンポーネント、鍵生成アルゴリズムGを実装するハードウェアを含む鍵生成コンポーネント、及びデジタル署名方式のデジタル署名アルゴリズムSを実装するハードウェアを含むデジタル署名コンポーネントをカバーする。
1.3 認可されたPSKデバイス
PSKデバイスはエンティティEによって認可されてもよい。このようなエンティティEは、PSKデバイスを何らかの情報Iに安全に関連付ける。認可されたPSKデバイスは、他の当事者によって安全に使用されてもよい。一実施形態では、認可されたPSKデバイスは次のように動作する。
PSKデバイスはエンティティEによって認可されてもよい。このようなエンティティEは、PSKデバイスを何らかの情報Iに安全に関連付ける。認可されたPSKデバイスは、他の当事者によって安全に使用されてもよい。一実施形態では、認可されたPSKデバイスは次のように動作する。
PSKデバイスによって生成された公開鍵をPKとする。より正確には、PSKデバイスにチャレンジCが与えられたときに、PSKデバイスの鍵生成器によって最終的に生成される秘密鍵に対応する公開鍵をPKとする。
認可エンティティEは、既知の公開検証鍵PKEを持ち、対応する署名鍵SKEを密かに所有している。エンティティEは、デジタル署名SIGE(PK,I)を作製し、利用可能にする。ここで、Iは任意の種類の情報(例えば、時間情報、PKに対応する秘密鍵SKを作製するためにPSKデバイスに与えられるチャレンジC、又は情報なし)である。署名SIGE(PK,I)は、PKに対するデジタル署名を生成できるPSKデバイスに関する情報Iの信頼性をEが保証することを意味する。Iが空(から)の情報の場合、SIGE(PI)は公開鍵PK自体のみを保証する。
PSKデバイスを認可するためにEが署名する必要がある公開PKをEが学習するために、さまざまな方法が使用されてもよい。例えば、E自体がPSKデバイスを製造し、PSKデバイスに特定のチャレンジCを提供し、PSKデバイスにPKを出力させてもよい。あるいは、Eは、Eが信頼するエンティティからPKを受け取ってもよい。
EがSIGE(PK,I)を利用できるようにするために、さまざまな方法が使用されてもよい。例えば、Eは、SIGE(PK,I)を、例えばバーコード形式で、PSKデバイス自体に又は個別に(例えば、PSKデバイスが取り付けられているオブジェクト上に)印刷してもよい(又は誰かにSIGE(PK,I)を印刷させてもよい)。あるいは、PSKデバイスは、SIGE(PK,I)を(例えば、初期フェーズ中に)受信し、SIGE(PK,I)を不揮発性メモリに格納し、後で(例えば、PKに対するメッセージにデジタル署名する時に)SIGE(PK,I)を出力してもよい。
セキュリティ分析:
デジタル署名SIGE(PK,I)は情報IをあるPSKデバイスの公開鍵PKに安全に結び付けるが、署名はPSKデバイスに安全に結び付ける必要がないことに留意されたい。最悪の場合、署名がPSKデバイスから分離されると、ユーザは署名を検証するためにどの公開鍵PKを使用する必要があるかわからないため、PSKデバイスによって作製された署名を検証できない場合がある。実際、たとえ悪意のあるユーザが別の物理的セキュアキーPSKデバイス′に接続してSIGE(PK,I)を利用できるようにした場合であっても、EがPSKデバイス′の公開鍵に関連する情報Iを保証していると誰も騙されることはない。実際、PKの秘密鍵SKを再構築できるのはPSKデバイスだけである。従って、PSKデバイス′も他の誰も、PKに関するデジタル署名を偽造することはできない。
デジタル署名SIGE(PK,I)は情報IをあるPSKデバイスの公開鍵PKに安全に結び付けるが、署名はPSKデバイスに安全に結び付ける必要がないことに留意されたい。最悪の場合、署名がPSKデバイスから分離されると、ユーザは署名を検証するためにどの公開鍵PKを使用する必要があるかわからないため、PSKデバイスによって作製された署名を検証できない場合がある。実際、たとえ悪意のあるユーザが別の物理的セキュアキーPSKデバイス′に接続してSIGE(PK,I)を利用できるようにした場合であっても、EがPSKデバイス′の公開鍵に関連する情報Iを保証していると誰も騙されることはない。実際、PKの秘密鍵SKを再構築できるのはPSKデバイスだけである。従って、PSKデバイス′も他の誰も、PKに関するデジタル署名を偽造することはできない。
変形:
異なるエンティティE1,E2,...は、E1がI1で認証し、E2がI2で認証するなどのように、それぞれ異なる情報Iを用いて、PSKデバイスの同じ公開鍵PKを認証してもよいことに留意されたい。
異なるエンティティE1,E2,...は、E1がI1で認証し、E2がI2で認証するなどのように、それぞれ異なる情報Iを用いて、PSKデバイスの同じ公開鍵PKを認証してもよいことに留意されたい。
あるいは、異なるエンティティが、異なるチャレンジで同じPSKデバイスによって作製された異なる公開鍵を認証してもよい。例えば、エンティティEjは署名SIGEj(PKj,If)を作製してもよく、公開鍵PKjはチャレンジCjでPSKデバイスによって作製される。
1.4 強化されたPSKデバイス
本書の他の箇所で説明したように、基本的なPSKデバイスは侵入攻撃に対して安全である。しかしながら、一般に「サイドチャネル攻撃」、「物理的に観測可能な攻撃」、又は「鍵の漏洩」と呼ばれる別のクラスの攻撃が依然として可能である。これらの攻撃は、同じ秘密鍵SKが複数回使用された場合に発生する可能性がある(例えば、特にメッセージが悪意のあるユーザによって選択された可能性がある場合に、複数のメッセージにデジタル署名するため)。例えば、PSKデバイスが外部電源にリンクされており、PSKデバイスがSKを使用して大量のメッセージにデジタル署名するときに、悪意のあるユーザがPSKデバイスによって消費される電力を正確かつタイムリーに測定できる場合、秘密鍵SKが発見される可能性がある。別の攻撃では、SKでメッセージにデジタル署名する際に、PSKデバイスから発せられる電磁放射を正確かつタイムリーに測定することでSKを発見する可能性がある。
本書の他の箇所で説明したように、基本的なPSKデバイスは侵入攻撃に対して安全である。しかしながら、一般に「サイドチャネル攻撃」、「物理的に観測可能な攻撃」、又は「鍵の漏洩」と呼ばれる別のクラスの攻撃が依然として可能である。これらの攻撃は、同じ秘密鍵SKが複数回使用された場合に発生する可能性がある(例えば、特にメッセージが悪意のあるユーザによって選択された可能性がある場合に、複数のメッセージにデジタル署名するため)。例えば、PSKデバイスが外部電源にリンクされており、PSKデバイスがSKを使用して大量のメッセージにデジタル署名するときに、悪意のあるユーザがPSKデバイスによって消費される電力を正確かつタイムリーに測定できる場合、秘密鍵SKが発見される可能性がある。別の攻撃では、SKでメッセージにデジタル署名する際に、PSKデバイスから発せられる電磁放射を正確かつタイムリーに測定することでSKを発見する可能性がある。
PSKデバイスが自宅や安全な環境に保管されていない場合は常に、PSKデバイスをこれらの非侵入型攻撃から保護することが重要である。このような場合、実際には、PSKデバイスは悪意のあるユーザの手に渡る可能性があり、その悪意のあるユーザはPSKデバイスに同じ秘密鍵SKを使用して非常に多くのメッセージにデジタル署名させ、悪意のあるユーザがPSKデバイスによる計算中に何かを測定できるようにすることができる。
強化されたPSKデバイスは、このような非侵入型攻撃に対しても耐性のあるPSKデバイスであって、追加の物理メカニズムが追加された基本的なPSKデバイスから構築できる。例えば、悪意のあるユーザが、同じ秘密鍵SKを使用したデジタル署名の計算中の正確な時点で基本的なPSKデバイスによって吸収される電力を正確に測定することを防ぐために、PSKデバイスは内部電源(例えば、バッテリー)で動作する可能性がある。あるいは、PSKデバイスは外部から供給される電力に依存して動作し続けてもよいが、PSKデバイスは、公開秘密鍵ペアの生成又はメッセージへのデジタル署名に使用されるときに、他のあらゆる種類の(無関係な)計算も実行するように構成してもよい。これは、SKを含む計算に使用される電力が他のあらゆる種類の計算に使用される電力によってマスクされるため、悪意のあるユーザがPSKデバイスによって吸収される電力からSKを推測することを困難にするためである。
図7を参照すると、概略図は、2つの保護層704、706の間にファラデーケージ702を備えたPSKデバイス700を示し、SKで複数のメッセージに署名する際に、PSKデバイスから発せられる電磁放射を正確かつタイムリーに測定することによって、悪意のあるユーザがSKを学習するのを防止する。ファラデーケージ702は、PSKデバイス700のWeak PUVが通常の使用によって変化しないことを保証してもよいが、ファラデーケージ702の除去は、PSKデバイス700のWeak PUVの微細構造の変化をもたらす。
強化されたPSKデバイス:
上記の物理的方法に加えて(又はその代わりに)、強化されたPSKデバイスは、基本的なPSKデバイスに既存の物理的側面を活用してもよい。基本的に、非常に多くのメッセージにデジタル署名する基本的なPSKデバイスの機能を維持しながら、同じ秘密鍵SKが何度も使用されるのを防いでもよい。前述の非侵入型攻撃が成功するには、同じ秘密鍵SKを十分な回数使用してメッセージに署名する必要があることに留意されたい。従って、同じ秘密鍵SKの再利用を禁止すると、そのような攻撃を阻止できる可能性がある。
上記の物理的方法に加えて(又はその代わりに)、強化されたPSKデバイスは、基本的なPSKデバイスに既存の物理的側面を活用してもよい。基本的に、非常に多くのメッセージにデジタル署名する基本的なPSKデバイスの機能を維持しながら、同じ秘密鍵SKが何度も使用されるのを防いでもよい。前述の非侵入型攻撃が成功するには、同じ秘密鍵SKを十分な回数使用してメッセージに署名する必要があることに留意されたい。従って、同じ秘密鍵SKの再利用を禁止すると、そのような攻撃を阻止できる可能性がある。
全体的なアプローチは次のとおりである。
・PSKデバイスは、異なる公開秘密鍵のペア(PK1,SK1),(PK2,SK2),...を使用する。
・メッセージが公開鍵PKiのいずれかに関連して署名されている場合、メッセージはPSKデバイスによって署名されていると見なされる。
・各鍵のペア(従って各秘密鍵PKi)は、悪意のあるユーザがSKiを再構築できないようにするのに十分に低い数の限られた数のメッセージのみに署名するために使用される。
・PSKデバイスは、異なる公開秘密鍵のペア(PK1,SK1),(PK2,SK2),...を使用する。
・メッセージが公開鍵PKiのいずれかに関連して署名されている場合、メッセージはPSKデバイスによって署名されていると見なされる。
・各鍵のペア(従って各秘密鍵PKi)は、悪意のあるユーザがSKiを再構築できないようにするのに十分に低い数の限られた数のメッセージのみに署名するために使用される。
一般性を失うことなく、強化されたPSKデバイスを使用することが可能である。(1)各公開鍵PKiに関連して最大1つのメッセージにデジタル署名する。(2)そのようなPKiが100万個あるため、最大100万個のメッセージに署名できる(100万メッセージはほとんどのアプリケーションには十分であり、実際、ここで明示的に説明するアプリケーションには十分であることに留意されたい)。
PSKデバイスには、初期化フェーズとそれに続く使用フェーズ(その間、PSKデバイスは異なる動作をする)と、場合によっては認証フェーズという2つの異なるフェーズがあってもよい。
初期化フェーズ:
初期化フェーズでは、PSKデバイスは、さまざまな方法で選択された一連の異なるチャレンジC1,C2,...,C1Mを使用する。
初期化フェーズでは、PSKデバイスは、さまざまな方法で選択された一連の異なるチャレンジC1,C2,...,C1Mを使用する。
例えば、異なるチャレンジは標準で一般に知られていてもよく、すべてのPSKデバイスで使用されてもよく、異なるチャレンジは異なるPSKデバイスに対して異なる方法で選択されてもよい。異なるチャレンジは、独立して(例えばランダムに)選択されてもよく、何らかの組織的な方法で選択されてもよい。例えば、C1はバイナリー・ストリング0...0、C2はバイナリー・ストリング0...01、C3はバイナリー・ストリング0...010などであってもよく、又は、Hは暗号化ハッシュ関数であるC1=H(C,1)、C2=H(C,2)などであってもよい。又は、単一のチャレンジCの入力時にPSKデバイスによって内部的に(例えば疑似乱数)異なるチャレンジが選択されてもよい。
初期化フェーズでは、各チャレンジCiが外部入力又は内部入力としてPSKデバイスに与えられ、PSKデバイスは対応する秘密鍵SKiを使用して公開鍵PKiを生成する。鍵PKiは外部に出力されるが、SKiは保存も出力もされず、単に生成され無視される(実際、初期化フェーズ中、PSKデバイスの鍵生成器Gのハードウェアは、SKiではなくPKiを作製するように、異なる機能を実行してもよく、一方、使用フェーズでは、PSKデバイスの鍵生成器Gのハードウェアが両方を作製してもよく、SKiのみを作製してもよい)。
認証フェーズ:
認証フェーズ中、デジタル署名方式の公開検証鍵PKE(対応する秘密署名鍵とともに)を所有する適切なエンティティEは、PSKデバイスによって作製された公開鍵PKiに、個別に又は一緒に、場合によっては時間情報や、情報が全くない場合を含む任意のタイプの情報などの追加情報とともに、デジタル署名してもよい。例えば、Eは以下を作製してもよい。
・各PKiの署名PKE(PKi,Ii)。ここでIiは、時間情報、値i自体に関する情報、チャレンジCiに関する情報、又は情報がない場合を含むその他の情報など、有用と思われる任意の情報である。
・単一の集合署名:例えば、SIGE(PK1,PK2,...,PK1M,I)又はSIGE(H(PK1,...,PK1M),I)。ここで、Iは役立つと思われる情報、又は情報無しである。又は、SIGE(H((PK1,I1),...,(PK1M,I1M)))。ここで、Hは暗号関数、特にマークルハッシュ関数である。
認証フェーズ中、デジタル署名方式の公開検証鍵PKE(対応する秘密署名鍵とともに)を所有する適切なエンティティEは、PSKデバイスによって作製された公開鍵PKiに、個別に又は一緒に、場合によっては時間情報や、情報が全くない場合を含む任意のタイプの情報などの追加情報とともに、デジタル署名してもよい。例えば、Eは以下を作製してもよい。
・各PKiの署名PKE(PKi,Ii)。ここでIiは、時間情報、値i自体に関する情報、チャレンジCiに関する情報、又は情報がない場合を含むその他の情報など、有用と思われる任意の情報である。
・単一の集合署名:例えば、SIGE(PK1,PK2,...,PK1M,I)又はSIGE(H(PK1,...,PK1M),I)。ここで、Iは役立つと思われる情報、又は情報無しである。又は、SIGE(H((PK1,I1),...,(PK1M,I1M)))。ここで、Hは暗号関数、特にマークルハッシュ関数である。
Eの署名はPSKデバイスと一緒に利用可能になるか、又はPSKデバイス内に格納されるため、使用フェーズ中にPSKデバイス自体が署名を利用可能にすることができる。
使用フェーズ:
使用フェーズでは、PSKデバイスは不揮発性メモリに実装されたカウンタ(又は同様のもの)を利用する。カウンタはライトワンスメモリで実装されてもよい(概念的には、このようなカウンタは100万個の正方形を持つ紙のリボンと考えてもよい。カウンタのカウントが増える毎に、次の正方形がパンチされる。これは簡単に実行できるが、元に戻すことはできない。従って、「ライトワンス」メモリという用語が生まれた。最初の「穴の開いていない」正方形が正方形番号iである場合、カウンタの値はiである。電子回路では、四角い紙に穴を開けることは、例えばヒューズを燃やすなどの他の手段に置き換えられる)。
使用フェーズでは、PSKデバイスは不揮発性メモリに実装されたカウンタ(又は同様のもの)を利用する。カウンタはライトワンスメモリで実装されてもよい(概念的には、このようなカウンタは100万個の正方形を持つ紙のリボンと考えてもよい。カウンタのカウントが増える毎に、次の正方形がパンチされる。これは簡単に実行できるが、元に戻すことはできない。従って、「ライトワンス」メモリという用語が生まれた。最初の「穴の開いていない」正方形が正方形番号iである場合、カウンタの値はiである。電子回路では、四角い紙に穴を開けることは、例えばヒューズを燃やすなどの他の手段に置き換えられる)。
ユーザがPSKデバイスにメッセージに署名させたい場合、ユーザは、(a)カウンタの現在値iを読み取り、(b)PSKデバイスにメッセージにデジタル署名させるために使用する必要があるチャレンジCiをユーザが学習できるようにする情報を出力する、ことによって応答するPSKデバイスをアクティブにする。一連の認証されたチャレンジがPSKデバイスの外部で利用できる場合、PSKデバイスは単にi又はCiを出力してもよいことに留意されたい。認証されたチャレンジがPSKデバイス内に保存されている場合、PSKデバイスは認証されたCiを取得して出力することができる。等々。
デジタル署名を取得するには、ユーザはPSKデバイスにチャレンジCiと署名を希望するメッセージMとを入力する。これに応じて、PSKデバイスは次のことを行ってもよい。
1.Weak PUVの出力D(Ci)を計算する。
2.F(D(Ci))(変換コンポーネントが使用されている場合)を計算し、PKiとSKiを計算するために、鍵生成器GのPSKデバイスのハードウェアへの入力としてF(D(Ci))(変換コンポーネントが使用されない場合はD(Ci))を供給する。
3.署名アルゴリズムSのハードウェアに入力M及びSKiを供給し、M、SIGi(M)のデジタル署名を計算する。
4.PKi及びSIGi(M)を外部に出力する。おそらく値i自体を使用する。
5.カウンタの値を増やす(例えば、1ずつ)。
1.Weak PUVの出力D(Ci)を計算する。
2.F(D(Ci))(変換コンポーネントが使用されている場合)を計算し、PKiとSKiを計算するために、鍵生成器GのPSKデバイスのハードウェアへの入力としてF(D(Ci))(変換コンポーネントが使用されない場合はD(Ci))を供給する。
3.署名アルゴリズムSのハードウェアに入力M及びSKiを供給し、M、SIGi(M)のデジタル署名を計算する。
4.PKi及びSIGi(M)を外部に出力する。おそらく値i自体を使用する。
5.カウンタの値を増やす(例えば、1ずつ)。
PSKデバイスが認証された公開鍵PKiを利用可能にする責任も負っている場合、PSKデバイスは、PKiに関するEの関連する保存されたデジタル署名と、場合によってはEによって認証された対応する関連情報も出力する。例えば、PSKデバイスがアクティブ化されると、PSKデバイスはデジタル署名SIGE(PKi,Ii)を出力してもよく、IiにはチャレンジCiが含まれていてもよい。
署名の検証:
このように作製されたPSKデバイスの署名SIGi(M)を検証するには、ユーザは次の操作を行う。
・まず、SIGi(M)が公開PKiに対して実際にMの有効なデジタル署名であることを検証する。
・次に、Eによって作製され利用可能になったPKiのデジタル署名を検証する。例えば、ユーザは、Eの公開鍵PKEに対するデジタル署名SIGE(PKi,Ii)を検証してもよい。
このように作製されたPSKデバイスの署名SIGi(M)を検証するには、ユーザは次の操作を行う。
・まず、SIGi(M)が公開PKiに対して実際にMの有効なデジタル署名であることを検証する。
・次に、Eによって作製され利用可能になったPKiのデジタル署名を検証する。例えば、ユーザは、Eの公開鍵PKEに対するデジタル署名SIGE(PKi,Ii)を検証してもよい。
セキュリティ分析:
ユーザは、SIGi(M)がPSKデバイスによって作製されたi番目の署名であるかどうかを確認する必要がないことに留意されたい。実際、PSKデバイスは別の人によって使用されている可能性があり、PSKデバイスが以前にどれだけのメッセージに署名したかを確認することはできない(特に、PSKデバイスがPSKデバイスのカウンタの現在値を指定していない場合)。同じ秘密鍵の使用を避けるために、同じ公開鍵に関連してメッセージが署名されないように強制するのはPSKデバイスである。
ユーザは、SIGi(M)がPSKデバイスによって作製されたi番目の署名であるかどうかを確認する必要がないことに留意されたい。実際、PSKデバイスは別の人によって使用されている可能性があり、PSKデバイスが以前にどれだけのメッセージに署名したかを確認することはできない(特に、PSKデバイスがPSKデバイスのカウンタの現在値を指定していない場合)。同じ秘密鍵の使用を避けるために、同じ公開鍵に関連してメッセージが署名されないように強制するのはPSKデバイスである。
また、現在のカウンタ値は、PSKデバイスのWeak PUVの微細構造を変更することなく、悪意のあるユーザが簡単に読み取りや再設定できない内部メモリセルに保存されていることにも留意されたい。さらに、PSKデバイスが秘密鍵SKiを再構築してi番目のメッセージにデジタル署名するとすぐに、PSKデバイスはカウンタ値をiからi+1に増加もさせる。従って、悪意のあるユーザは、PSKデバイスに各SKiに対するデジタル署名をどんどん計算させて、(ファラデーケージが存在しない場合に)SKiで複数のメッセージに署名する際に、PSKデバイスが発する電磁放射からSKiを再構築できるようにすることはできない。さらに、ライトワンスメモリを介してカウンタを実装することで、カウンタ値が巻き戻される可能性が防止される。
デジタル署名SIGE(PKi,Ii)などを介して公開鍵PHiを学習した後、悪意のあるユーザは、外側からオリジナルのPSKデバイスに似た偽のPSKデバイスを任意の数だけ製造し、同じ署名SIGE(PKi,Ii)を利用できるようにする可能性がある。それにもかかわらず、悪意のあるユーザは、オリジナルのPSKデバイスによって署名されたi番目のメッセージのデジタル署名を作成することはできない。実際、悪意のあるユーザは、オリジナルのPSKデバイスによって一時的に再構築されて使用される秘密署名鍵を学習することができないため、オリジナルのPSKデバイスによって署名されていないメッセージの署名を偽造することはできない。
もちろん、悪意のあるユーザは、悪意のあるユーザの任意の公開鍵PKi′に対する任意のメッセージMに完全に署名できる新しいPSK′を製造することができる。しかしながら、悪意のあるユーザはEの秘密署名鍵を知らないため、PKi′のEの署名(いくつかの追加情報Ii′とともに)を偽造することはできない。したがって、PSK′がEによって認可されていると誰も騙されてはならない。
2 PSKデバイスのアプリケーション
偽造不可能な紙幣:
基本的に、偽造不可能な紙幣は、適切なエンティティE(例えば、中央銀行又はその代理を務める別のエンティティ)によって認可されたPSKデバイス(信頼できる施設によって製造されることが好ましい)である。例えば、100ドル相当の紙幣を作成するには、適切なエンティティが署名SIGE(PK,I)を作成して利用可能にする。ここで、PKはチャレンジC(例えば、標準値)でPSKデバイスによって生成された公開鍵であり、Iは100ドルの値と、場合によってはシリアル番号、発行日、PSKデバイスが金銭的価値を失う有効期限日、チャレンジC(Cの値が標準でない場合)などの追加情報を示す。
偽造不可能な紙幣:
基本的に、偽造不可能な紙幣は、適切なエンティティE(例えば、中央銀行又はその代理を務める別のエンティティ)によって認可されたPSKデバイス(信頼できる施設によって製造されることが好ましい)である。例えば、100ドル相当の紙幣を作成するには、適切なエンティティが署名SIGE(PK,I)を作成して利用可能にする。ここで、PKはチャレンジC(例えば、標準値)でPSKデバイスによって生成された公開鍵であり、Iは100ドルの値と、場合によってはシリアル番号、発行日、PSKデバイスが金銭的価値を失う有効期限日、チャレンジC(Cの値が標準でない場合)などの追加情報を示す。
図8を参照すると、PSKデバイス802及び英数字列804が印刷された紙幣800が示されている。PSKデバイス802は小さくて紛失しやすいため、紙幣800を発行したエンティティEは、目視検査を使用して紙幣800の正当性を確認できるようにするために、従来の100ドル紙幣の外観と感触を有する紙幣800などの便利な媒体に(必ずしも安全ではないが)PSKデバイス802を取り付けてもよい。この場合、SIGE(PK,I)を簡単に利用できるようにする可能な方法は、それを、PSKデバイス802を搭載する同じ媒体上に、例えば何らかのバーコード形式で、又は図8に示す英数字列804として、印刷することである。
ユーザは、次の方法で紙幣800とその金銭的価値を確認することができる。
・公開鍵PKEに対するデジタル署名SIGE(PK,I)を確認する。
・Iが金銭的価値として100ドルを指定していること(及びIに含まれるその他の情報が適切であること)を確認する。
・PKに対するMのデジタル署名を取得するために、PSKデバイス802にチャレンジC及び何らかのメッセージM(好ましくは、その機会にランダムに選択されたストリング)を提供する。
・PSKデバイス802が、紙幣800を発行したエンティティによって認証された公開鍵PKに対するMのデジタル署名を実際に出力することを確認する。
・公開鍵PKEに対するデジタル署名SIGE(PK,I)を確認する。
・Iが金銭的価値として100ドルを指定していること(及びIに含まれるその他の情報が適切であること)を確認する。
・PKに対するMのデジタル署名を取得するために、PSKデバイス802にチャレンジC及び何らかのメッセージM(好ましくは、その機会にランダムに選択されたストリング)を提供する。
・PSKデバイス802が、紙幣800を発行したエンティティによって認証された公開鍵PKに対するMのデジタル署名を実際に出力することを確認する。
これまでに使用されたことのないメッセージMを選択することが検証者の利益になることに留意されたい。実際、すべてのユーザがデジタル署名する標準メッセージSMをPSKデバイス802に提示した場合、悪意のあるユーザは次のような行為を行う可能性がある。
(a)紙幣800を発行したエンティティEのデジタル署名SIGE(PK,I)をコピーする。
(b)オリジナルのPSKデバイスによって生成された、公開鍵PK,sigに対するSMのデジタル署名を取得する。
(c)入力SMにsigを出力する秘密のないデバイスPSKデバイス′を製造する。
(d)SIGE(PK)をPSKデバイス′と一緒に利用できるようにする。
(a)紙幣800を発行したエンティティEのデジタル署名SIGE(PK,I)をコピーする。
(b)オリジナルのPSKデバイスによって生成された、公開鍵PK,sigに対するSMのデジタル署名を取得する。
(c)入力SMにsigを出力する秘密のないデバイスPSKデバイス′を製造する。
(d)SIGE(PK)をPSKデバイス′と一緒に利用できるようにする。
そうすることで、悪意のあるユーザは本質的に、検証ユーザをだまして、偽のPSKデバイス′が有効な100ドル紙幣であると信じ込ませる。対照的に、Mがこれまでに署名されたことがない場合(例えば、それがランダムで十分に長いため)、偽のPSKデバイス′は、PKに対するMのデジタル署名を作製するために必要な秘密鍵SKを知らないため、上記の攻撃は惨めに失敗する。
紙幣800を発行したエンティティがすべての紙幣に対して同じチャレンジCを使用することにより、紙幣検証者がどのチャレンジを使用すべきかを知ることが確実に容易になる。しかしながら、紙幣800を発行したエンティティは、各PSKデバイスの各公開鍵PKごとに異なるチャレンジCを使用し、Cを利用可能にすることができる(例えば、SIGE(PK、I)のIにおいて)。
また、PSKデバイスの故障により紙幣の金銭的価値が失われる可能性を防ぐために、複数のPSKデバイスを1枚の紙幣にしっかりと取り付けることができることにも留意されたい。PSKデバイスの少なくとも1つ(又は一部のサブセット)が動作する限り、紙幣は本物とみなされ、その価値が保持される。悪意のあるユーザが動作中のPSKデバイスを偽造紙幣に移そうとするいかなる試みも、動作中のPSKデバイスの微細構造を変更し、及び/又は、オリジナルの紙幣の紙を非常に目に見える形で変更するため、悪意のあるユーザは阻止される。
オブジェクトの認証:
公開検証鍵PKEを持つエンティティEは、オブジェクト(広義の)に関する情報Aを次のように認証してもよい。
・公開鍵PKを持つPSKデバイスをオブジェクトにしっかりと取り付け(例えば、特殊な接着剤を使用して)、
・デジタル署名SIGE(PK,I)を作製し、利用可能にする。情報Iには、Eがオブジェクトについて認証したい情報と、場合によっては追加データが含まれる。例えば、Iは、PSKデバイスにPKに対応する秘密署名鍵を内部で作製させるために、PSKデバイスに入力として与えなければならないチャレンジCを指定してもよい。
公開検証鍵PKEを持つエンティティEは、オブジェクト(広義の)に関する情報Aを次のように認証してもよい。
・公開鍵PKを持つPSKデバイスをオブジェクトにしっかりと取り付け(例えば、特殊な接着剤を使用して)、
・デジタル署名SIGE(PK,I)を作製し、利用可能にする。情報Iには、Eがオブジェクトについて認証したい情報と、場合によっては追加データが含まれる。例えば、Iは、PSKデバイスにPKに対応する秘密署名鍵を内部で作製させるために、PSKデバイスに入力として与えなければならないチャレンジCを指定してもよい。
PSKデバイスは、PSKデバイスをオブジェクトから取り外そうとすると、PSKデバイスが壊れたり、PSKデバイスのWeak PUVの微細構造が変化したりするような方法で、オブジェクトにしっかりと取り付けられている。そのため、PSKデバイス又は他の誰にとっても、PKに対応する秘密鍵SKを再構築する方法はもうない。
PSKデバイスをオブジェクトにしっかりと取り付けるとPSKデバイスのWeak PUVの微細構造が変化する場合、Weak PUVの入出力関数はしっかりと取り付けられた後に決定されてもよいことに留意されたい。同様に、公開鍵PK及び対応する秘密鍵SKは、しっかりと取り付けが行われた後に、Weak PUVを介してPSKデバイスによって内部的に導出されてもよい。
エンティティE(すなわち、生産者、製造者、販売者など)によって認証されたオブジェクトに関するそのように認証された情報Aを確認するには、ユーザは次の順序で行ってもよい。
・公開鍵PKEに対するデジタル署名SIGE(PK,I)を確認する。
・Iが情報Aを指定していることを確認する。
・PSKデバイスにチャレンジCとメッセージM(例えば、その機会にランダムに選択されたストリング)を提供する。
・Eによって認証された公開鍵PKに対するPSKデバイスによって作製されたMのデジタル署名を確認する。
・公開鍵PKEに対するデジタル署名SIGE(PK,I)を確認する。
・Iが情報Aを指定していることを確認する。
・PSKデバイスにチャレンジCとメッセージM(例えば、その機会にランダムに選択されたストリング)を提供する。
・Eによって認証された公開鍵PKに対するPSKデバイスによって作製されたMのデジタル署名を確認する。
上述した偽造不可能な紙幣と同様に、これまでに使用されたことのないメッセージMを選択することが検証者の利益になる。実際、すべてのユーザがPSKデバイスに標準メッセージSMにデジタル署名するよう要求した場合、悪意のあるユーザは次のような行為を行う可能性がある。
(a)Eのデジタル署名SIGE(PK,I)をコピーする。
(b)オリジナルのPSKデバイスによって作製された、公開鍵PK、sigに対するSMのデジタル署名を取得する(例えば、非偽造品を購入することによって、又は購入前に非偽造品の信頼性を確認するように依頼することによって)。
(c)入力SMで常にsigを出力する秘密のないデバイスPSKデバイス′を製造する。
(d)SIGE(PK)をPSKデバイス′と一緒に利用できるようにする。
(e)PSKデバイス′を偽造品に取り付ける(必ずしもしっかりと取り付ける必要はない)。
(a)Eのデジタル署名SIGE(PK,I)をコピーする。
(b)オリジナルのPSKデバイスによって作製された、公開鍵PK、sigに対するSMのデジタル署名を取得する(例えば、非偽造品を購入することによって、又は購入前に非偽造品の信頼性を確認するように依頼することによって)。
(c)入力SMで常にsigを出力する秘密のないデバイスPSKデバイス′を製造する。
(d)SIGE(PK)をPSKデバイス′と一緒に利用できるようにする。
(e)PSKデバイス′を偽造品に取り付ける(必ずしもしっかりと取り付ける必要はない)。
上記ステップを実行することにより、悪意のあるユーザは本質的に検証者をだまして、エンティティEが偽造品の情報Aを認証したと信じ込ませる。対照的に、Mがこれまでに署名されたことがない場合(実際には、Mがランダムに選択され、十分に長い場合に当てはまる)、偽のデバイスPSKデバイス′は、本物のPSKデバイスの公開鍵PKに対するデジタル署名を作製するために必要な秘密鍵SKを知らないため、この攻撃は惨めに失敗する。
検証者は、PSKデバイスがオブジェクトにしっかりと取り付けられていることを確認する必要がないことに留意されたい。ただし、PSKデバイスをオブジェクトにしっかりと取り付けることがEの利益になる。
また、一部のPSKデバイスが故障する可能性を防ぐために、複数のPSKデバイスを1つのオブジェクトにしっかりと取り付けることができることにも留意されたい。PSKデバイスの少なくとも1つ(又は一部のサブセット)が動作する限り、オブジェクトは本物とみなされ、オブジェクトに関する認証された情報も本物とみなされる。単一のオブジェクトを認証するために複数のPSKデバイスを使用すると、偽のオブジェクトを認証するために追加のPSKデバイスを使用できなくなり、システムの回復力が高まることに注目されたい。実際、動作中のPSKデバイスを本物のオブジェクトから切り離して、動作中のPSKデバイス(おそらくいくつかの偽のPSKデバイスと一緒に)を偽のオブジェクト上に配置しても、偽のオブジェクトは認証されない。これは、動作中のPSKデバイスを切り離す行為によって、切り離された動作中のPSKデバイスの微細構造が変更されるためである。
図9を参照すると、オブジェクト認証システムは、食品、この場合はワインボトル900に使用されていることが示されている。ワインの生産者(又はワインの生産者の代理を務めるエンティティ)は、PSKデバイス902の機能を変更することなくワインボトル900を開けることができないように、PSKデバイス902をワインボトル900にしっかりと取り付ける(すなわち、本書の他の箇所に記載されているように、PSKデバイス902のWeak PUVを損傷又は変更することなく)。ワインボトル900は、QRコード904(又は平文で印刷された情報を含む、情報を伝達するための同様の機構)を有するラベルも含む。QRコード904は、生産年、収穫日、ブドウの組成などを特定する情報(その他重要と思われる情報)を提供してもよい。場合によっては、QRコード904は、PSKデバイス902を使用して検証されてもよい情報を含むメッセージのデジタル署名も含んでもよい。場合によっては、QRコード904は、PSKデバイス902を検証するために使用されるチャレンジも含んでもよいが、チャレンジは、本書の他の箇所に記載されているように、他のソースから取得されてもよい。
図10を参照すると、オブジェクト認証システムは、医薬品が入ったボトル1000に使用されていることが示されている。製薬会社(又は製薬会社の代理を務めるエンティティ)は、PSKデバイス1002の機能を変更することなく(すなわち、本書の他の箇所に記載されているように、PSKデバイス1002のWeak PUVを損傷、及び/又は、変更することなく)ボトル1300を開けることができないように、PSKデバイス1002をボトル1000にしっかりと取り付ける。ボトル1000は、QRコード1004(又は同様のもの)を有するラベルも含む。QRコード1004は、薬剤の組成、有効期限、起こり得る副作用、及び認証が重要と考えられるその他の情報を指定する情報を提供してもよい。場合によっては、QRコード1004は、PSKデバイス1002を使用して検証されてもよい情報を含むメッセージのデジタル署名も含んでもよい。場合によっては、QRコード1004は、PSKデバイス1002を検証するために使用されるチャレンジも含んでもよいが、チャレンジは、本書の他の箇所に記載されているように、他のソースから取得されてもよい。
図11を参照すると、密封されたパッケージ1100上で使用されるオブジェクト認証システムが示されている。パッケージを封印したエンティティ(又はパッケージを封印したエンティティの代理を務めるエンティティ)は、PSKデバイス1102の機能を変更することなく(すなわち、本書の他の箇所に記載されているように、PSKデバイス1102のWeak PUVを損傷、及び/又は、変更することなく)パッケージ1100を開けることができないように、PSKデバイス1102をパッケージ1100にしっかりと取り付ける。パッケージ1100は、パッケージ1100の内容物、パッケージが封印された日付、及び認証されることが重要であると考えられるその他の情報を特定する情報を提供してもよいQRコード1104(又は類似のもの)を有するラベルも含む。場合によっては、QRコード1104は、PSKデバイス1102を使用して検証されてもよい情報を含むメッセージのデジタル署名も含んでもよい。場合によっては、QRコード1104は、PSKデバイス1102を検証するために使用されるチャレンジも含んでもよいが、チャレンジは、本書の他の箇所に記載されているように、他のソースから取得されてもよい。
図12を参照すると、オブジェクト認証システムは、ルイ・ヴィトンによって製造された女性用ハンドバッグなどの消費者アイテム1200に使用されていることが示されている。製造者(又は製造者の代理を務めるエンティティ)は、PSKデバイス1202の機能を変更すること(すなわち、本書の他の箇所に記載されているように、PSKデバイス1202のWeak PUVを損傷、及び/又は、変更すること)、及び/又は、消費者アイテム1200を損傷することなしに、PSKデバイス1202を取り外したり交換したりすることはできないように、PSKデバイス1202を消費者アイテム1200にしっかりと取り付ける。PSKデバイス1202には、保証情報、製造者の名前、製造部数、及び/又は、有用/重要と思われる他の情報を含む情報が印刷されているか、又はそれに関連付けられていてもよい。場合によっては、情報には、PSKデバイス1202を使用して検証されてもよい情報を含むメッセージのデジタル署名も含まれてもよい。場合によっては、情報は、PSKデバイス1202を検証するために使用されるチャレンジも含まれてもよいが、チャレンジは、本書の他の箇所に記載されているように、他のソースから取得されてもよい。PSKデバイス1202を取り付ける製造業者又は製造業者の代理を務めるエンティティの代わりに、政府関係者又は政府関係者の代理を務めるエンティティが、PSKデバイス1202を特定の国で生産された製品(例えば、「イタリア製」)に取り付けることができ、適切と思われる他の情報をPSKデバイス1202に関連付けてもよいことにも留意されたい。
一般に、オブジェクト認証システムは、機械又はシステムの製造されたコンポーネントなど、認証が維持される任意のアイテムと関連して使用されてもよい。例えば、航空機の部品は安全性が保証される特定の基準に従って製造されるが、部品のコストも増加する。場合によっては、偽造部品が疑いを持たない受取人に不正に販売され、航空機の故障や人命の損失などの悲惨な結果をもたらす。
図8~図12の例では、悪意のあるユーザは、偽のオブジェクトを作成して、顧客が本物のオブジェクトを扱っていること、又は認証された情報が偽のオブジェクトに適用されることを他人(顧客など)に信じ込ませることはできない。たとえ悪意のあるユーザが、公開鍵PKに対してメッセージにデジタル署名できるPSKデバイス′を購入又は製造し、PSKデバイス′を偽のオブジェクトに取り付けたとしても、製造者/生産者(又は製造者/生産者の代理のエンティティ)のデジタル署名はPK、対応する本物のPSKデバイスの公開鍵に関連しているため、悪意のあるユーザは製造者/生産者(又は製造者/生産者の代理のエンティティ)のデジタル署名を偽造することはできない。従って、悪意のあるユーザは、製造者/生産者(又は製造者/生産者の代理のエンティティ)が偽のオブジェクトに関する情報Aを保証していると誰かを信じ込ませることはできない。
悪意のあるユーザは、PSKデバイスを本物のオブジェクトから切り離して、そのPSKデバイスを偽のオブジェクトに取り付けたり、オリジナルのオブジェクトに対して製造者/生産者(又は製造者/生産者の代理のエンティティ)によって作製されたのと同じデジタル署名SIGE(PK,I)を利用可能にしたりするおそれがあることに留意されたい。ただし、本物のオブジェクトから取り外された後は、PSKデバイスのWeak PUVの微細構造は変更されているため、本書の他の箇所に記載されているように、SIGE(PK,I)で指定された公開鍵PKに対応する秘密鍵SKを生成するために使用できなくなる。
本書において検討された様々な実施形態は、本書に記載されているシステムに関連した適当な組み合わせで互いに組み合わせてもよい。更に、ある例において、該当する場合、フローチャート、フロー図、及び/又は、記載されたフロー処理におけるステップの順序は変更してもよい。次いで、スクリーンレイアウト内に記載されたスクリーンの要素及びエリアは、本書に提示している図から変えてもよい。更に、本書に記載したシステムの様々な態様は、上述の特徴を有して上述の機能を実行する、ソフトウェア、ハードウェア、ソフトウェアとハードウェアの組み合わせ、及び/又は、他のコンピュータ実装のモジュール又はデバイスを用いて実装してもよい。
本書に記載したシステムのソフトウェアの実装は、コンピュータ読取可能な媒体に記憶される実行可能なコードを含んでもよい。前記コンピュータ読取可能な媒体は、非一時的なものであってもよく、また、コンピュータハードドライブ、ROM、RAM、フラッシュメモリ、CD-ROM、DVD-ROM、フラッシュドライブ、SDカード及び/又は例えばユニバーサルシリアルバス(USB)インターフェースを有する他のドライブなどの可搬性コンピュータ記憶メディア、及び/又は、実行可能なコードを記憶してプロセッサで実行可能な有形の又は一時的でない他の適当なコンピュータ読取可能な媒体又はコンピュータメモリであってもよい。本書に記載したシステムは、適当なオペレーティングシステムに関連して使用してもよい。
本発明の他の実施形態は、本書で開示する本発明の明細書又は実施を検討することにより当業者には明らかであろう。本明細書及び例は単なる例示的なものと見なされ、本発明の真の範囲及び趣旨は以下の請求項によって示されることが意図される。
Claims (19)
- セキュリティデバイスであって、
入力信号に応答して、カバーデバイスの微細構造に応じて変化する同一のランダム出力信号を一貫性をもって提供し、前記カバーデバイスの微細構造が変化すると前記ランダム出力信号が変化する前記カバーデバイスと、
前記ランダム出力信号に基づいて秘密鍵を生成する鍵生成コンポーネントと、
前記秘密鍵を使用して前記セキュリティデバイスによって受信されたメッセージのデジタル署名を作製し、前記カバーデバイスが、前記鍵生成コンポーネント及び前記デジタル署名コンポーネントの少なくとも一部を取り囲んで、それらへのアクセスを防止し、前記コンポーネントのいずれかにアクセスすると、前記カバーデバイスの微細構造が変化し、前記ランダム出力信号が変化するデジタル署名コンポーネントとを備える、セキュリティデバイス。 - 請求項1に記載のセキュリティデバイスにおいて、
前記セキュリティデバイスの通常の使用下で前記カバーデバイスの微細構造が変化するのを防ぐために、前記セキュリティデバイスの1つ又は複数の外面上に配置された保護層を更に備える、セキュリティデバイス。 - 請求項2に記載のセキュリティデバイスにおいて、
前記保護層は、前記セキュリティデバイスをオブジェクトに取り付けるために使用され、前記セキュリティデバイスを前記オブジェクトから取り外すと、前記カバーデバイスの微細構造が変化する、セキュリティデバイス。 - 請求項1に記載のセキュリティデバイスにおいて、
前記セキュリティデバイスはオブジェクトに取り付けられており、前記セキュリティデバイスを前記オブジェクトから取り外すと、前記カバーデバイスの微細構造が変化する、セキュリティデバイス。 - 請求項4に記載のセキュリティデバイスにおいて、
エンティティは、前記カバーデバイスへの入力信号及び前記オブジェクトに関する情報の少なくとも1つを指定する追加情報とともに、前記秘密鍵に対応する公開鍵にデジタル署名する、セキュリティデバイス。 - 請求項4に記載のセキュリティデバイスにおいて、
前記オブジェクトは、紙幣、消費者アイテム、製造されたコンポーネント、医薬品、食品、及び内容物が入ったパケットのうちの少なくとも1つである、セキュリティデバイス。 - 請求項6に記載のセキュリティデバイスにおいて、
追加のセキュリティデバイスが前記オブジェクトに取り付けられている、セキュリティデバイス。 - 請求項1に記載のセキュリティデバイスにおいて、
エンティティは、何らかの情報とともに前記秘密鍵に対応する公開鍵にデジタル署名し、前記エンティティのデジタル署名と前記セキュリティデバイスは所定の金銭的価値を構成する、セキュリティデバイス。 - 請求項1に記載のセキュリティデバイスにおいて、
前記秘密鍵は、前記メッセージに署名するのに十分な期間だけ存在する、セキュリティデバイス。 - 請求項1に記載のセキュリティデバイスにおいて、
前記入力信号はエンティティによって認証される、セキュリティデバイス。 - 請求項1に記載のセキュリティデバイスにおいて、
前記セキュリティデバイスの周りに配置されたファラデーケージを更に備える、セキュリティデバイス。 - 請求項1に記載のセキュリティデバイスにおいて、
前記鍵生成コンポーネントは、前記秘密鍵に対応する公開鍵も生成する、セキュリティデバイス。 - 請求項12に記載のセキュリティデバイスにおいて、
前記セキュリティデバイスは前記公開鍵を出力する、セキュリティデバイス。 - 請求項1に記載のセキュリティデバイスにおいて、
前記入力信号は、前記セキュリティデバイスに格納されている複数のチャレンジ値のうちの1つである、セキュリティデバイス。 - 請求項14に記載のセキュリティデバイスにおいて、
前記入力信号の1つは、前記セキュリティデバイスの内部カウンタに従って選択される、セキュリティデバイス。 - 請求項1に記載のセキュリティデバイスにおいて、
変換コンポーネントが、前記カバーデバイスと前記鍵生成コンポーネントとの間に配置される、セキュリティデバイス。 - 請求項16に記載のセキュリティデバイスにおいて、
前記変換コンポーネントは、暗号化ハッシュ関数又は恒等関数のいずれかを使用して、前記乱数値信号を変換する、セキュリティデバイス。 - 請求項1に記載のセキュリティデバイスにおいて、
前記セキュリティデバイスは、メッセージにデジタル署名するときに無関係な計算を実行する、セキュリティデバイス。 - メッセージにデジタル署名する方法であって、
請求項1乃至18のいずれかに記載のセキュリティデバイスに前記メッセージを提供することと、
前記セキュリティデバイスにチャレンジ値を提供することと、
前記セキュリティデバイスからデジタル署名を取得することと、
を含む、方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/013870 WO2022159072A1 (en) | 2021-01-19 | 2021-01-19 | Securing cryptographic keys |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024503701A true JP2024503701A (ja) | 2024-01-26 |
Family
ID=74661455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023543052A Pending JP2024503701A (ja) | 2021-01-19 | 2021-01-19 | 暗号鍵の保護 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240089120A1 (ja) |
EP (1) | EP4281955A1 (ja) |
JP (1) | JP2024503701A (ja) |
CN (1) | CN117203688A (ja) |
WO (1) | WO2022159072A1 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MA40917A (fr) | 2014-11-03 | 2017-09-12 | Micali Silvio | Prévention de la contrefaçon |
CA3031291A1 (en) | 2016-08-08 | 2018-02-15 | Silvio Micali | Counterfeit prevention |
US10523443B1 (en) * | 2016-08-24 | 2019-12-31 | Bruce Kleinman | Devices, methods, and systems for cryptographic authentication and provenance of physical assets |
US20200195447A1 (en) * | 2018-12-13 | 2020-06-18 | Ictk Holdings Co., Ltd. | Communication method of client device, issuing device and server |
-
2021
- 2021-01-19 EP EP21706069.8A patent/EP4281955A1/en active Pending
- 2021-01-19 WO PCT/US2021/013870 patent/WO2022159072A1/en active Application Filing
- 2021-01-19 JP JP2023543052A patent/JP2024503701A/ja active Pending
- 2021-01-19 CN CN202180091329.1A patent/CN117203688A/zh active Pending
- 2021-01-19 US US18/270,936 patent/US20240089120A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4281955A1 (en) | 2023-11-29 |
US20240089120A1 (en) | 2024-03-14 |
CN117203688A (zh) | 2023-12-08 |
WO2022159072A1 (en) | 2022-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Islam et al. | Enabling IC traceability via blockchain pegged to embedded PUF | |
JP5739876B2 (ja) | 一意識別子、一意識別子を提供するための方法、および一意識別子の使用 | |
JP5149909B2 (ja) | Rfid装置とのデータ・アクセス制御 | |
KR101851121B1 (ko) | 엔드 대 엔드 암호화 체계를 이용한 제품 인증 | |
JP5139415B2 (ja) | 物品情報の取得方法及び装置 | |
TW201945970A (zh) | 用於自動物件辨識及鑑認之方法及系統 | |
US20090282259A1 (en) | Noisy low-power puf authentication without database | |
EP2075734A1 (en) | Anonymous biometric tokens | |
US10803374B2 (en) | Counterfeit prevention | |
EP3329635B1 (en) | Counterfeit prevention | |
US10607234B2 (en) | Counterfeit prevention | |
US11270184B2 (en) | Counterfeit prevention | |
US11741332B2 (en) | Securing cryptographic keys | |
JP2024503701A (ja) | 暗号鍵の保護 | |
Pierson et al. | Authentication without secrets | |
TW543314B (en) | Security module of electronic ticket credit adding system for transportation providing distributed security management architecture | |
Balinsky et al. | Anti-counterfeiting using memory spots | |
Idrissa et al. | Secure protocols for serverless remote product authentication | |
Wang | Formal Security Analysis of Australian E-passport Implementation | |
EVANGELISTA | Security Target SOMA-c003 Electronic Passport Basic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230802 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240109 |