(57)【要約】本発明は、一つのダイオードまたはいくつかのダイオード（１１、２１、３１、４１、５１）の降伏の状況に基づいてビット・ストリングを生成することに関する。一つまたは複数のダイオード（１１、２１、３１、４１、５１）は、ダイオード降伏プロセッサ（１３、２３、３３、４３、５３）に接続され前記ダイオード（１１、２１、３１、４１、５１）の降伏電圧を超える電圧を与えられる。ダイオード降伏プロセッサは降伏および任意的には正確な降伏電圧などの関連する状況を検出し、該検出に基づいてビット・ストリングを生成する。そのビット・ストリングは一意的な識別子として、あるいは秘密鍵として使用されうる。
2009545908.tif 000002
【特許請求の範囲】
【請求項１】
ビット・ストリングを生成するデバイスであって：
・少なくとも一つのダイオードと、
・前記少なくとも一つのダイオードに電圧を印加するために前記少なくとも一つのダイオードに接続されたコネクタと、
・前記少なくとも一つのダイオードに印加された前記少なくとも一つのダイオードの降伏電圧を超える電圧から帰結する前記少なくとも一つのダイオードの降伏を検出し、前記降伏の前記検出に基づいて前記ビット・ストリングを生成するための、前記少なくとも一つのダイオードに接続されたダイオード降伏プロセッサとを有するデバイス。
【請求項２】
並列に配置された複数のダイオードを有する、請求項１記載のデバイス。
【請求項３】
前記少なくとも一つのダイオードに前記電圧を印加するための、前記コネクタに接続された電圧源をさらに有する、請求項１記載のデバイス。
【請求項４】
前記コネクタが、前記少なくとも一つのダイオードに外部電圧源を接続するよう適応されている、請求項１記載のデバイス。
【請求項５】
前記電圧源が、前記少なくとも一つのダイオードに、所定のより低い電圧と所定のより高い電圧の間の範囲の電圧掃引を印加するよう適応されている、請求項３または４記載のデバイス。
【請求項６】
前記ダイオード降伏プロセッサは、前記少なくとも一つのダイオードの降伏電圧を検出するよう適応されている、請求項１記載のデバイス。
【請求項７】
前記ダイオード降伏プロセッサは、前記複数のダイオードに印加された所定の電圧掃引の間に：
・前記複数のダイオードのうちのダイオードの少なくとも一つの降伏のタイミング、および
・前記複数のダイオードのうちのダイオードが降伏を被る順序、
のうちの少なくとも一つを検出するよう適応されている、請求項２記載の装置。
【請求項８】
前記ダイオード降伏プロセッサが：
・前記電圧掃引の時間依存性についての情報を受領し；
・前記複数のダイオードに印加される電圧を測定するよう適応されている、
請求項７記載のデバイス。
【請求項９】
前記ダイオード降伏プロセッサが、所定の電圧の印加に際して、前記複数のダイオードのうちのどのダイオードが降伏を被ったかを検出するよう適応されている、請求項２記載のデバイス。
【請求項１０】
前記複数のダイオードが基準ダイオードを含み、前記ダイオード降伏プロセッサが、前記基準ダイオードの降伏電圧と前記複数のダイオードのうち前記基準ダイオードとは異なるダイオードの降伏電圧との間の差を検出するよう適応されている、請求項２記載のデバイス。
【請求項１１】
前記ダイオード降伏プロセッサに接続されたメモリ・ユニットをさらに有する請求項１記載のデバイスであって、前記ダイオード降伏プロセッサは、動作の間に、前記メモリ・ユニットに含まれる所定のヘルパー・データを使う鍵抽出アルゴリズムによって、前記少なくとも一つのダイオードの検出された降伏電圧からビット・ストリングを生成するよう適応されている、デバイス。
【請求項１２】
前記少なくとも一つのダイオードのそれぞれと直列に配置された抵抗器、特に100kΩ以上の抵抗をもつ抵抗器をさらに有する、請求項１記載のデバイス。
【請求項１３】
前記少なくとも一つのダイオードが破損することなく降伏を被ることができる、請求項１記載のデバイス。
【請求項１４】
前記少なくとも一つのダイオードは、所定数の降伏を被ったのちは変化した降伏挙動を有するよう適応されている、請求項１記載のデバイス。
【請求項１５】
ビット・ストリングを生成する装置であって：
・当該装置に少なくとも一つのダイオードを接続し、前記少なくとも一つのダイオードに電圧を印加するためのコネクタと、
・前記少なくとも一つのダイオードに印加された前記少なくとも一つのダイオードの降伏電圧を超える電圧から帰結する前記コネクタに接続された前記少なくとも一つのダイオードの降伏を検出し、前記降伏の前記検出に基づいて前記ビット・ストリングを生成するために、前記コネクタに接続されたダイオード降伏プロセッサとを有する装置。
【請求項１６】
前記コネクタに接続された電圧源をさらに有する、請求項１５記載の装置。
【請求項１７】
ビット・ストリングを生成するためのダイオードの使用方法であって、前記ビット・ストリングは、前記ダイオードに印加された前記ダイオードの降伏電圧を超える電圧から帰結する前記ダイオードの降伏に基づいて生成される、使用方法。
【請求項１８】
ビット・ストリングを生成する方法であって：
・少なくとも一つのダイオードに前記少なくとも一つのダイオードの降伏電圧を超える電圧を印加する段階と、
・前記電圧の印加から帰結する前記少なくとも一つのダイオードが被る降伏を検出する段階と、
・前記降伏の前記検出に基づいてビット・ストリングを生成する段階とを有する方法。
【請求項１９】
プログラム・コード手段を有するコンピュータ・プログラムであって、前記コンピュータ・プログラムが請求項１記載のデバイスまたは請求項１５記載の装置上で実行されるときに、前記デバイスまたは前記装置に請求項１８記載の方法の諸段階を実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビット・ストリング、特に暗号鍵または一意的識別子を表すビット・ストリングを生成する装置および方法に関する。
【背景技術】
【０００２】
スマート・カード、携帯電話、DRMハードウェアおよびチップ一般といった多くの電子装置において、ハードウェアに埋め込まれた一意的な識別子および／または秘密の暗号鍵が必要とされる。通常、チップは、そのような識別子／鍵を、チップそのものの製造後に別個のプロセスにおいて提供される。一つの方法は、「ヒューズ（fuses）」と呼ばれるものの値を設定することである。もう一つの方法は、チップに、識別子／鍵を書き込める追加的なEEPROMを備えることである。
【０００３】
しかしながら、これらの方法によって格納されたビット・ストリングはかなり簡単に読み出せる。これは、そのビット・ストリングが秘密の鍵として使用されるべき場合には特に問題である。ひとたびビット・ストリングが攻撃者に知られたら、攻撃者が、もとのチップと同じ秘密情報を含むそのチップのクローンを作成したり、あるいはそのチップの挙動を模倣できるコンピュータ・プログラムを書いたりすることは容易である。
【０００４】
さらに、追加的な書き込みプロセスはコストがかかり、EEPROMもさらに追加コストを導入する。EEPROMは、攻撃者が格納データを変更しうるので追加的な欠点を有する。
【０００５】
追加的なコストを回避し、よりよいセキュリティを達成するために、従来技術において、ビット・ストリングが格納された値からではなく、抵抗、コンダクタンス、キャパシタンスまたは遅延時間といったチップそのものの何らかの物理的属性から導出されるべきであることが提案されている（非特許文献１および２参照）。
【０００６】
そのような物理的属性は、その属性が当該装置の製造の間にある程度制御不能であれば、時に物理的複製不能関数（PUF:  Physical  Uncloneable  Function）または物理的ランダム関数（Physical  Random  Function）と呼ばれる。制御可能性の欠如は、非常に高い確率でランダムかつ一意的である属性の値からビット・ストリングを導出することを許容するので、有利である。
【０００７】
PUFの使用は、上記の方法に対して次のような点で利点をもつ：
・生産コストが削減されうる；
・攻撃者がチップの「外側」から関連する物理的パラメータの値を読むことが難しい；
・たとえ攻撃者が秘密の鍵または識別子を得たとしても、チップは事実上複製できない；
・多くの型の探査攻撃（probing  attack）はビット・ストリングを導出するもとになった関連する物理的パラメータに測定可能な仕方で影響することになるので、PUFは何らかの本来的な工作〔タンパー〕検出を提供する。
【０００８】
しかしながら、いくつかの欠点が種々の型のPUFに関係している。たとえば、光学的なPUF（非特許文献３参照）を集積回路またはチップの構造内に統合することは、とりわけ必要とされる光学のため、かなり複雑で、コストがかかる。これは他の型のPUFの実装よりも高いコストにつながる。さらに、取得されたセンサー・データ（たとえば大きなビットマップ）の処理は多くの資源を必要とする。かなりのヒット率で集積回路の遅延時間からビット・ストリングを推測または予測することが可能であると想定される（非特許文献２参照）。たとえば構造の抵抗またはコンダクタンスを活用することについて知られていること（非特許文献１参照）によれば、当該属性がチップの外側から簡単に読み出されうることを回避するには追加的な努力が必要である。このアプローチのもう一つの欠点は、現行の生産方法でさえ、その属性の良好な制御を許容するということである。よって、そのような物理的ランダム関数を「複製する（clone）」ことが可能でありうる。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】R・ポッシュ（Posch）、「アクティブ・コーティングによるデバイス保護（Protecting  Devices  by  Active  Coating）」、ジャーナル・オブ・ユニバーサル・コンピュータ・サイエンス（Journal  of  Universal  Computer  Science）、第4巻第7号、1998年、第652‐668頁
【非特許文献２】B・ガッセント（Gassend）、D・クラーク（Clarke）、M・ヴァンデイク（van  Dijk）、S・デヴァダス（Devadas）、「シリコン物理的ランダム関数（Silicon  Physical  Random  Functions）」、コンピュータおよび通信セキュリティに関する第9回ACM会議集録（Proc.  9th  ACM  Conf.  on  Computer  and  Communications  Security）、2002年11月
【非特許文献３】R・パップ（Pappu）、「物理的一方向性関数（Physical  One-Way  Functions）」、博士論文、MIT、2001年
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ビット・ストリング、特に暗号鍵または一意的識別子を表すビット・ストリングを生成する装置および方法であって、上記の欠点を克服または回避するものを提供することが本発明の目的である。
【００１１】
具体的には、物理的ランダム関数を使ってビット・ストリングを生成する装置および方法であって、本発明が実装されるチップはあまりに多くの努力なしに、特にほどほどの遅延時間、電力消費、CPU負荷およびメモリ使用で、物理的測定を実行できるものを提供することが本発明の目的である。
【課題を解決するための手段】
【００１２】
本発明の第一の側面では、ビット・ストリングを生成するデバイスであって：
・少なくとも一つのダイオードと、
・前記少なくとも一つのダイオードに電圧を印加するために前記少なくとも一つのダイオードに接続されたコネクタと、
・前記少なくとも一つのダイオードに印加された前記少なくとも一つのダイオードの降伏電圧を超える電圧から帰結する前記少なくとも一つのダイオードの降伏を検出し、前記降伏の前記検出に基づいて前記ビット・ストリングを生成するために前記少なくとも一つのダイオードに接続されたダイオード降伏プロセッサとを有するデバイスが提供される。
【００１３】
本発明のさらなる側面では、上記のデバイスとは対照的に自身としては全くダイオードを含まない、ビット・ストリングを生成する装置であって：
・当該装置に少なくとも一つのダイオードを接続し、前記少なくとも一つのダイオードに電圧を印加するためのコネクタと、
・前記少なくとも一つのダイオードに印加された前記少なくとも一つのダイオードの降伏電圧を超える電圧から帰結する前記コネクタに接続された前記少なくとも一つのダイオードの降伏を検出し、前記降伏の前記検出に基づいて前記ビット・ストリングを生成するために前記コネクタに接続されたダイオード降伏プロセッサとを有する装置が提供される。
【００１４】
本発明のさらに別の側面では、ビット・ストリングを生成する方法であって：
・少なくとも一つのダイオードに前記少なくとも一つのダイオードの降伏電圧を超える電圧を印加する段階と、
・前記電圧の印加から帰結する前記少なくとも一つのダイオードが被る降伏を検出する段階と、
・前記降伏の前記検出に基づいてビット・ストリングを生成する段階とを有する方法が提供される。
【００１５】
本発明の別の側面は、プログラム・コード手段を有するコンピュータ・プログラムであって、前記コンピュータ・プログラムが本発明に基づくデバイスまたは装置上で実行されるときに本発明に基づくデバイスまたは装置に本発明に基づく前記方法の諸段階を実行させる、コンピュータ・プログラムを含む。前記コンピュータ・プログラム自身は、対応する方法の前段階をソフトウェアで実装するためのプログラム・コードを完全に含んでいてもよいし、あるいは単に、そのような完全なコンピュータ・プログラムを参照するまたは利用する短いスクリプトまたはリンクであってもよい。
【００１６】
本発明のさらなる側面は、ビット・ストリングを生成するためのダイオードの使用を含む。ここで、前記ビット・ストリングは、前記ダイオードに印加される、前記ダイオードの降伏電圧を超える電圧から帰結する前記ダイオードの降伏に基づいて生成される。
【００１７】
本発明の好ましい諸実施形態は、従属請求項において定義される。本発明の前記デバイス、前記装置、前記方法および前記コンピュータ・プログラムが、それぞれの従属請求項で定義される同様および／または同一の好ましい実施形態を有することは理解されるであろう。
【００１８】
本発明の基礎となる洞察は、ダイオードの降伏の状況は十分複雑であり、降伏が起こる正確な電圧値は製造の際には事実上制御不能であり、ダイオードの通常の検査によって予測することは事実上不可能だから、降伏を被るダイオードが物理的複製不能関数（PUF）または物理的ランダム関数として使用されうるということである。複数のダイオードまたはダイオードのアレイは一層複雑な挙動を示し、これはダイオードに与えられるチャレンジに対するより多様な応答につながる。さらに、ダイオード降伏は複雑かつ（正確な値については）事実上予測不可能な事象であるだけでなく、単に普通の集積回路によって簡単に検出されうるものでもある。よって、一つまたはいくつかのダイオードの降伏をビット・ストリング生成のために活用することは、複雑な追加的な設備の必要なしにPUFを集積回路に含めることを許容する。
【００１９】
本発明は、一つまたはいくつかのダイオードの降伏の状況に基づいてビット・ストリングを生成することに関する。一つまたは複数のダイオードは、前記ダイオードの降伏電圧を超える電圧を与えられる。前記ダイオードは前記降伏および任意的に正確な降伏電圧のような関連する状況を検出するダイオード降伏プロセッサに接続されている。前記ビット・ストリングは一意的な識別子として、あるいは秘密の鍵として使用されうる。
【発明の効果】
【００２０】
本発明は、そのようなPUFを具現し、もし必要なら前記PUFを読み出すための追加的な構成要素およびセンサーが安価で扱いやすいという有利な効果を提供する。理想的な場合には、PUFはすでにチップに存在しているコンポーネントからなる。こうして、十分長いビット・ストリング（たとえば識別子のためには40ビット、AES鍵のためには128ビット）を導出できるよう十分大きいエントロピー（情報含量［information  content］）をもつPUFが得られ、攻撃者はそのビット・ストリングを推測することはできなくなる。さらに、たとえば、本発明が実装されるチップのPUF測定の際の電磁波の放射、電力消費およびその他の「サイド・チャンネル（side  channels）」は攻撃者がビット・ストリングを導出することを可能にしない。これは、前記ビット・ストリングが秘密情報（鍵）を表す場合には特に有用である。
【００２１】
本発明のこれらおよびその他の側面は、以下に記載する実施形態から明白になり、明快にされるであろう。
【図面の簡単な説明】
【００２２】
【図１】本発明に基づくデバイスの第一の実施形態を示す図である。
【図２】本発明に基づくデバイスの第二の実施形態を外部電圧源とともに示す図である。
【図３】本発明に基づくデバイスの第三の実施形態を外部電圧源とともに示す図である。
【図４】本発明に基づく装置の第一の実施形態を複数の外部ダイオードとともに示す図である。
【図５】本発明に基づく装置の第二の実施形態を複数の外部ダイオードおよび外部電圧源とともに示す図である。
【図６】本発明に基づく方法のフローチャートである。
【発明を実施するための形態】
【００２３】
図１は、本発明に基づくデバイス１０の第一の実施形態を示している。デバイス１０はダイオード１１、ダイオード降伏プロセッサ１３および電圧源１５を有する。ダイオード１１はコネクタ１２を介して電圧源１５と、またダイオード降伏プロセッサ１３と接続される。ダイオード降伏プロセッサ１３はダイオード１１と並列に配置されており、やはりこれらのコネクタ１２に接続されている。電圧源１５は、逆バイアス方向で電圧をダイオード１１に印加するよう適応されている。ダイオード１１に印加される電圧がダイオード１１の降伏電圧より低い限り、このダイオード１１は非伝導性であり、電流は全く、あるいは少ししか流れない。ひとたびダイオード１１に印加される電圧がダイオード１１の降伏電圧を超えると、このダイオード１１は降伏し、（より大きな）電流が流れるようになる。ダイオード降伏プロセッサ１３はダイオード１１の降伏を検出し、この検出に基づいて降伏プロセッサ１３によってビット・ストリングが生成される。
【００２４】
この実施形態では、降伏が起こる電圧が検出され、前記ビット・ストリングの生成の基礎となる。ダイオード降伏プロセッサ１３は次いでこの生成されたビット・ストリングを出力する。ビット・ストリングは、ダイオード１１に固有のダイオード１１の特性から導出されるので、生成されたビット・ストリングはデバイス１０の識別子のはたらきをしうる。
【００２５】
降伏を検出するには当業者にはいくつかの異なる仕方および方法が知られており、したがってダイオード降伏プロセッサ１３の詳細な記述は本稿では省略してもよい。たとえば、降伏の際にダイオード１１を流れる（増加した）電流を検出することによって降伏を検出できる専用回路を使用しても、好適な仕方でダイオード１１に接続された汎用集積回路またはプロセッサを使用してもよい。フリップフロップ（たとえばダイオード降伏プロセッサ１３に含まれる）の状態を変えることが、ダイオード降伏を記録するために使用されてもよい。
【００２６】
生成されたビット・ストリングが識別子として使用されることになる場合、破損することなく降伏を被りうるダイオードを提供し、前記ビット・ストリング、すなわち前記識別子が繰り返し読み出せるようにすることが好ましい。
【００２７】
図２は、本発明に基づくデバイス２０の第二の実施形態を外部電圧源２５とともに示している。デバイス２０は並列に配置された複数のダイオード２１と、ダイオード降伏プロセッサ２３と、複数の抵抗器２７と、二つのコネクタ２２とを有する。ダイオード降伏プロセッサ２３は前記複数のダイオード２１と直列に配置されており、前記複数のダイオードうちの各ダイオード２１に個別に接続されている。前記複数の抵抗器２７の抵抗器２７は各ダイオードと直列に配置されており、各抵抗器は1MΩの抵抗を有する。本実施形態では、一方のコネクタ２２から降伏プロセッサ２３、複数のダイオード２１および複数の抵抗器２７を通って他方のコネクタ２２にラインが形成される。動作の際、デバイス２０はコネクタ２２を介して制御可能な電圧源２５に接続される。
【００２８】
動作の際、外部電圧源２５がコネクタ２２に、よって複数のダイオード２１に、逆バイアス方向で電圧を与える。電圧はより低い電圧値からより高い電圧値まで上がるよう制御される。この電圧掃引の間、前記複数のダイオード２１のダイオード２１の降伏電圧が到達され、超えられる。ここで、ダイオード２１が降伏を被る順序はそれぞれの降伏電圧に依存する。ダイオード２１における降伏の発生はダイオード降伏プロセッサ２３によって検出され、この検出に基づいて、ビット・ストリングが生成される。ダイオード降伏プロセッサ２３は各ダイオード２１と個別に接続されているので、降伏の発生は降伏が起こった特定のダイオード２１に関係付けられる。こうして、降伏の発生が検出されるのみならず、ダイオード２１が降伏を被った順序も検出される。ダイオード降伏プロセッサ２３は、検出された順序に基づいてビット・ストリングを生成する。
【００２９】
この実施形態において、二つのダイオード２１がダイオードの対を形成すると考える。これは４対のダイオード２１ということになる。各対のダイオード２１のどちらが先に降伏を被るかに依存して、4ビットのストリングの各ビットがセットされ、あるいはセットされない。ダイオードの降伏に基づいてビット・ストリングを生成する他の可能な方法がある。たとえば、ビット・ストリングの一部は一つのダイオードの降伏電圧の（正確な）値から計算されてもよく、そのような部分のいくつかが次いで組み合わされてビット・ストリングを形成する。さらに、ビット・ストリングの特定のビットのセットについて、たとえば電圧掃引の前半の間に特定のダイオードについて降伏が起こったかどうかが決定されてもよい。
【００３０】
降伏の場合、降伏を被ったダイオードの抵抗が劇的に低下する。しかしながら、ダイオード２１と直列に配置されている抵抗器２７のおかげで、このダイオード２１に大電流が流れることが防がれる。さもなければ大電流によってこのダイオード２１が破損することがありうる。
【００３１】
本発明のある修正では、電圧掃引は、通常の意味での掃引ではなく、前記複数のダイオード２１に印加される単一の電圧に帰着される。この場合、前記のより低い電圧値および前記のより高い電圧値は同じであり、前記複数のダイオードが降伏を受ける検出可能な順番はない。しかしながら、印加される電圧に依存して、いくつかのダイオードは降伏を被り、他のダイオードは降伏を被らない。この単一電圧「掃引」の結果も、ビット・ストリングを生成するための好適な基礎をなす。
【００３２】
本実施形態では前記複数のダイオードは８つのダイオードを含むが、前記複数のダイオードに含まれるダイオードの数が、生成されるべきビット・ストリングの大きさおよびダイオードの降伏に基づくビット・ストリング生成の仕方に依存して他の任意の数であってもよいことは明らかであろう。これは、本稿で記載される本発明の他の実施形態についても言える。
【００３３】
さらに、本実施形態では、抵抗器２７は1MΩの抵抗をもつが、これらはもちろん異なる抵抗を有していてもよい（好ましくは少なくとも100kΩ）。そうした抵抗値は、必要なら、降伏の間または降伏後にダイオードを流れる電流が損傷を避けるのに十分小さいことを保証するような値である。当業者に知られている電流を制御する他の諸方法が代わりにまたは追加として使用されてもよい。
【００３４】
しかしながら、本発明の異なる実装では、本発明に基づくデバイスが行える動作の数を制限する、あるいはビット・ストリングを生成するためにダイオードが使用されうる回数を所与の数に制限することが望まれることがありうる。そのような実施形態では、所与の回数の使用後にダイオードが終末的に損傷されることを保証するために、抵抗器または他の何らかの電流制御を設けないことが望ましいことがありうる。
【００３５】
種々の構成要素が直列接続に配列される順序は本発明にとって重要ではない。本発明を実装するために配列の異なる順序が選ばれてもよい。
【００３６】
図２の実施形態とよく似ているある代替的な実施形態では、外部電圧源２５が所定の電圧掃引を提供するよう適応される。ここで、ダイオード降伏プロセッサ２３は前記所定の電圧掃引の開始および前記複数のダイオードにおいて降伏が起こる回数を検出するよう適応される。図２を参照して上記した実施形態と同様に、前記複数のダイオードの降伏特性に依存してビット・ストリングを生成するためには降伏の順序（order）または時間（time）を検出することが十分なので、この代替的な実施形態では、降伏が起こる電圧を測定することは必要ない。
【００３７】
図３は、本発明に基づくデバイス３０の第三の実施形態を外部電圧源３５とともに示している。デバイス３０は、並列に配置された複数のダイオード３１と、ダイオード降伏プロセッサ３３と、前記複数のダイオード３１に並列に配置された電圧計３６と、抵抗器３７とを有する。デバイス３０はさらに、二つのコネクタ３２およびメモリ・ユニット３８を有する。これら二つのコネクタ３２は、直列に配置された、前記ダイオード降伏プロセッサ３３、前記複数のダイオード３１および前記抵抗器３７によって接続されている。ダイオード降伏プロセッサ３３は、要求に際してデータを受け取るためにメモリ・ユニット３８に接続されている。ダイオード降伏プロセッサ３３はさらに、前記複数のダイオード３１に印加された電圧についてのデータを受け取るために電圧計３６に接続されている。前記複数のダイオード３１のうちの一つは基準ダイオード３１′である。動作の際、外部電圧源３５が前記デバイスに前記コネクタ３２を介して接続される。さらに、前記外部電圧源３５と前記ダイオード降伏プロセッサ３３との間のデータ・リンクがある。
【００３８】
前記外部電圧源３５は、時間の所定の関数に従ってより低い電圧とより高い電圧との間にわたる電圧掃引を生成し、この電圧掃引をデバイス３０に（それによりデバイス３０内の前記複数のダイオード３１に）印加し、この電圧の時間に対する関数の指標をダイオード降伏プロセッサ３３に伝送するよう適応されている。前記のより高い電圧が前記複数のダイオードの降伏電圧を超える場合、前記複数のダイオード３１の各ダイオード３１は電圧掃引の間に降伏を被る。その降伏の時間はダイオード降伏プロセッサ３３によって検出される。降伏が起こった電圧は電圧計３６によって検出され、降伏プロセッサ３３に伝送される。ここでもまた、図２を参照して記載した実施形態と同様に、抵抗器３７のおかげで、ダイオード３１を損傷するのに十分な大きさの電流がダイオード３１を流れるのが防止される。
【００３９】
この実施形態では、ダイオード降伏プロセッサ３３はダイオードの降伏が起こった時点（電圧掃引の開始時刻を基準として）についてのデータおよび降伏が起こった電圧（電圧計によって測定される）についてのデータを取得している。さらに、基準ダイオード３１′の降伏電圧がメモリ・ユニット３８に記憶されており、これも鍵抽出アルゴリズムにおいて使用するためのヘルパー・データをなす。ヘルパー・データは、当該デバイスの登録段階の間に取得され、次いでメモリ・ユニット３８に記憶される。これらすべてのデータに基づいて、ダイオード降伏プロセッサ３３は、たとえば温度ゆらぎ、外部電磁場、機械的圧力、放射、湿気または振動といった源からのいかなる雑音因子をも補償して、前記複数のダイオード３１の実際の降伏電圧を高精度で計算できる。次いで、得られた降伏電圧に基づいてビット・ストリングが生成される。このビット・ストリングの生成は、高い再現性をもち、このビット・ストリングの、デバイス３０を識別する識別子としての非常に信頼できる使用が許容されることになる。
【００４０】
図４は、本発明に基づく装置４０の実施形態を、複数の外部ダイオード４１とともに示している。装置４０は、ダイオード降伏プロセッサ４３と、制御可能な電圧源４５と、前記複数の外部ダイオード４１を接続するためのコネクタ４２と直列に配列された抵抗器４７とを有する。前記複数の外部ダイオード４１は、担体ユニット４９に含まれる。前記の完全な構成の動作は、上記の本発明に基づく諸デバイスの動作と同様である。したがって、ここではさらなる詳細な記述は省略されてもよい。上記の諸デバイスとの主たる違いは、前記複数のダイオード４１がダイオード降伏プロセッサ４３を有する当該装置４０からは別個に設けられるということである。これは、前記複数のダイオードを異なる複数のダイオードで置き換えることを許容する。このようにして、相対値および絶対値の面で本来的にランダムである降伏電圧をもつ複数のダイオード４１を含む担体ユニット４９は、暗号目的のための（秘密の）鍵を持ち運ぶために使用されうるのである。
【００４１】
図５は、本発明に基づく装置５０のさらなる実施形態を複数の外部ダイオード５１および外部電圧源５５とともに示している。装置５０は、５つのコネクタ５２を設けられたダイオード降伏プロセッサ５３を有する。ダイオード降伏プロセッサ５３は、前記コネクタ５２のうちの４つを介して、複数の外部ダイオード５１の各ダイオードに個別に接続される。外部抵抗器５７および外部電圧源５５は前記複数の外部ダイオード５１と直列に接続され、前記外部電圧源５５は前記ダイオード降伏プロセッサ５３に接続されている。ここでもまた、本構成の動作は、上記の本発明に基づく諸デバイスの動作と同様であり、さらなる詳細な記述は不要である。図４に示された構成のほか、この実施形態における前記抵抗器および前記電圧源が当該装置内に設けられず、前記複数のダイオードとともに担体ユニット５９に含まれる。
【００４２】
図６は、本発明に基づく方法のフローチャートである。第一のステップ１では、少なくとも一つのダイオードに電圧が印加される。ここで、前記電圧はこの少なくとも一つのダイオードの降伏電圧より高く、よってこのダイオードは降伏を被る。この降伏は後続のステップ２において検出され、さらなるステップ３において前記検出に基づいてビット・ストリングが生成される。
【００４３】
本発明のコンテキストにおいて、「ビット・ストリング（bit  string）」の用語は、普通使われる「0」および「1」の系列のような二つの異なる値または状態をもつシンボルの系列のみを指すのではなく、各シンボルが三つの異なる状態または値をもつなど、より多様な値をもつシンボルの系列をも指す。
【００４４】
たとえば、各ダイオードからnビット・シンボルを得るのは、まず可能な降伏電圧の区間全体を2n個の等確率の下位区間に分割することによってできる。これらの区間は0,1,…,2n-1とラベル付けされる。一つのダイオードの降伏電圧は区間番号xに属する。その際、区間番号xがPUF「応答」であり、これは予測できないnビット値である。なお、区間の数は2の累乗でなくてもよく、電圧軸の代わりに時間軸が区間に分割されることもできる。
【００４５】
一つの系列は、同じ情報を異なる方法でエンコードする系列に簡単に変換できるので、本発明のコンテキストでは情報をエンコードするこれらの方法の間の差は重要ではないことは理解されるであろう。
【００４６】
「降伏（breakdown）」および「降伏電圧（breakdown  voltage）」の用語は当業者によってよく理解されている。しかしながら、本発明の実装の個別的な状況に依存して、これらの用語に異なる意味を与えることが可能である。たとえば、降伏が始まる電圧値（これは場合によっては正確に見出すのが難しい）を降伏電圧として取る代わりに、ダイオードを流れる電流が選択された値に達するまたは選択された値を超える電圧値、あるいはダイオードが逆バイアスで所定の微分抵抗を示す電圧値を「降伏電圧」として取ってもよい。
【００４７】
本発明は、図面および以上の記述において詳細に図示され、記述されてきたが、そのような図示および記述は例として与えられたのであって、限定するものと考えられるものではない。さらに、本発明は開示される実施形態に限定されない。特許請求される発明を実施する当業者は、開示された実施形態の他の変形を、図面、開示および付属の請求項の研究から理解し、実施できる。
【００４８】
請求項において、動詞「有する」およびその活用形は他の要素やステップを排除しない。要素の単数の表現は複数を排除しない。単一のユニットが請求項において記載されているいくつかの項目の機能を充足させてもよい。ある種の施策が互いに異なる従属請求項において記載されているというだけの事実がこれらの施策の組み合わせが有利に使用できないということを示すものではない。
【００４９】
コンピュータ・プログラムは、他のハードウェアと一緒にまたは他のハードウェアの一部として供給される光記憶媒体または半導体媒体といった好適な媒体上で記憶され／頒布されうるが、インターネットまたは他の有線もしくは無線の遠隔通信システムといった他の形で頒布されてもよい。
【００５０】
請求項に参照符号があったとしても、その請求項を限定するものと解釈すべきではない。
【図１】
2009545908.tif 000003
【図２】
2009545908.tif 000004
【図３】
2009545908.tif 000005
【図４】
2009545908.tif 000006
【図５】
2009545908.tif 000007
【図６】
2009545908.tif 000008
【手続補正書】
【提出日】平成21年2月3日(2009.2.3)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビット・ストリング、特に暗号鍵または一意的識別子を表すビット・ストリングを生成する装置および方法に関する。
【背景技術】
【０００２】
スマート・カード、携帯電話、DRMハードウェアおよびチップ一般といった多くの電子装置において、ハードウェアに埋め込まれた一意的な識別子および／または秘密の暗号鍵が必要とされる。通常、チップは、そのような識別子／鍵を、チップそのものの製造後に別個のプロセスにおいて提供される。一つの方法は、「ヒューズ（fuses）」と呼ばれるものの値を設定することである。もう一つの方法は、チップに、識別子／鍵を書き込める追加的なEEPROMを備えることである。
【０００３】
しかしながら、これらの方法によって格納されたビット・ストリングはかなり簡単に読み出せる。これは、そのビット・ストリングが秘密の鍵として使用されるべき場合には特に問題である。ひとたびビット・ストリングが攻撃者に知られたら、攻撃者が、もとのチップと同じ秘密情報を含むそのチップのクローンを作成したり、あるいはそのチップの挙動を模倣できるコンピュータ・プログラムを書いたりすることは容易である。
【０００４】
さらに、追加的な書き込みプロセスはコストがかかり、EEPROMもさらに追加コストを導入する。EEPROMは、攻撃者が格納データを変更しうるので追加的な欠点を有する。
【０００５】
追加的なコストを回避し、よりよいセキュリティを達成するために、従来技術において、ビット・ストリングが格納された値からではなく、抵抗、コンダクタンス、キャパシタンスまたは遅延時間といったチップそのものの何らかの物理的属性から導出されるべきであることが提案されている（非特許文献１および２参照）。
【０００６】
そのような物理的属性は、その属性が当該装置の製造の間にある程度制御不能であれば、時に物理的複製不能関数（PUF:  Physical  Uncloneable  Function）または物理的ランダム関数（Physical  Random  Function）と呼ばれる。制御可能性の欠如は、非常に高い確率でランダムかつ一意的である属性の値からビット・ストリングを導出することを許容するので、有利である。
【０００７】
PUFの使用は、上記の方法に対して次のような点で利点をもつ：
・生産コストが削減されうる；
・攻撃者がチップの「外側」から関連する物理的パラメータの値を読むことが難しい；
・たとえ攻撃者が秘密の鍵または識別子を得たとしても、チップは事実上複製できない；
・多くの型の探査攻撃（probing  attack）はビット・ストリングを導出するもとになった関連する物理的パラメータに測定可能な仕方で影響することになるので、PUFは何らかの本来的な工作〔タンパー〕検出を提供する。
【０００８】
しかしながら、いくつかの欠点が種々の型のPUFに関係している。たとえば、光学的なPUF（非特許文献３参照）を集積回路またはチップの構造内に統合することは、とりわけ必要とされる光学のため、かなり複雑で、コストがかかる。これは他の型のPUFの実装よりも高いコストにつながる。さらに、取得されたセンサー・データ（たとえば大きなビットマップ）の処理は多くの資源を必要とする。かなりのヒット率で集積回路の遅延時間からビット・ストリングを推測または予測することが可能であると想定される（非特許文献２参照）。たとえば構造の抵抗またはコンダクタンスを活用することについて知られていること（非特許文献１参照）によれば、当該属性がチップの外側から簡単に読み出されうることを回避するには追加的な努力が必要である。このアプローチのもう一つの欠点は、現行の生産方法でさえ、その属性の良好な制御を許容するということである。よって、そのような物理的ランダム関数を「複製する（clone）」ことが可能でありうる。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】R・ポッシュ（Posch）、「アクティブ・コーティングによるデバイス保護（Protecting  Devices  by  Active  Coating）」、ジャーナル・オブ・ユニバーサル・コンピュータ・サイエンス（Journal  of  Universal  Computer  Science）、第4巻第7号、1998年、第652‐668頁
【非特許文献２】B・ガッセント（Gassend）、D・クラーク（Clarke）、M・ヴァンデイク（van  Dijk）、S・デヴァダス（Devadas）、「シリコン物理的ランダム関数（Silicon  Physical  Random  Functions）」、コンピュータおよび通信セキュリティに関する第9回ACM会議集録（Proc.  9th  ACM  Conf.  on  Computer  and  Communications  Security）、2002年11月
【非特許文献３】R・パップ（Pappu）、「物理的一方向性関数（Physical  One-Way  Functions）」、博士論文、MIT、2001年
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ビット・ストリング、特に暗号鍵または一意的識別子を表すビット・ストリングを生成する装置および方法であって、上記の欠点を克服または回避するものを提供することが本発明の目的である。
【００１１】
具体的には、物理的ランダム関数を使ってビット・ストリングを生成する装置および方法であって、本発明が実装されるチップはあまりに多くの努力なしに、特にほどほどの遅延時間、電力消費、CPU負荷およびメモリ使用で、物理的測定を実行できるものを提供することが本発明の目的である。
【課題を解決するための手段】
【００１２】
本発明の第一の側面では、ビット・ストリングを生成するデバイスであって：
・少なくとも一つのダイオードと、
・前記少なくとも一つのダイオードに電圧を印加するために前記少なくとも一つのダイオードに接続されたコネクタと、
・前記少なくとも一つのダイオードに印加された前記少なくとも一つのダイオードの降伏電圧を超える電圧から帰結する前記少なくとも一つのダイオードの降伏を検出し、前記降伏の前記検出に基づいて前記ビット・ストリングを生成するために前記少なくとも一つのダイオードに接続されたダイオード降伏プロセッサとを有しており、前記ダイオード降伏プロセッサは：
・降伏電圧を検出すること、ならびに
・並列に配置された複数のダイオードに印加された所定の電圧掃引の間に：
・前記複数のダイオードのうちのダイオードの少なくとも一つの降伏のタイミング、および
・前記複数のダイオードのうちのダイオードが降伏を被る順序、
のうちの少なくとも一つを検出すること、
のうちの少なくとも一つのために適応されている、デバイスが提供される。
【００１３】
本発明のさらなる側面では、上記のデバイスとは対照的に自身としては全くダイオードを含まない、ビット・ストリングを生成する装置であって：
・当該装置に少なくとも一つのダイオードを接続し、前記少なくとも一つのダイオードに電圧を印加するためのコネクタと、
・前記少なくとも一つのダイオードに印加された前記少なくとも一つのダイオードの降伏電圧を超える電圧から帰結する前記コネクタに接続された前記少なくとも一つのダイオードの降伏を検出し、前記降伏の前記検出に基づいて前記ビット・ストリングを生成するために前記コネクタに接続されたダイオード降伏プロセッサとを有しており、前記ダイオード降伏プロセッサは：
・降伏電圧を検出すること、ならびに
・並列に配置された複数のダイオードに印加された所定の電圧掃引の間に：
・前記複数のダイオードのうちのダイオードの少なくとも一つの降伏のタイミング、および
・前記複数のダイオードのうちのダイオードが降伏を被る順序、
のうちの少なくとも一つを検出すること、
のうちの少なくとも一つのために適応されている、装置が提供される。
【００１４】
本発明のさらに別の側面では、ビット・ストリングを生成する方法であって：
・少なくとも一つのダイオードに前記少なくとも一つのダイオードの降伏電圧を超える電圧を印加する段階と、
・前記電圧の印加から帰結する前記少なくとも一つのダイオードが被る降伏を検出する段階と、
・前記降伏の前記検出に基づいてビット・ストリングを生成する段階とを有しており、降伏を検出する前記段階は：
・降伏電圧を検出する段階、ならびに
・並列に配置された複数のダイオードに印加された所定の電圧掃引の間に：
・前記複数のダイオードのうちのダイオードの少なくとも一つの降伏のタイミング、および
・前記複数のダイオードのうちのダイオードが降伏を被る順序、
のうちの少なくとも一つを検出する段階、
のうちの少なくとも一つを含む、方法が提供される。
【００１５】
本発明の別の側面は、プログラム・コード手段を有するコンピュータ・プログラムであって、前記コンピュータ・プログラムが本発明に基づくデバイスまたは装置上で実行されるときに本発明に基づくデバイスまたは装置に本発明に基づく前記方法の諸段階を実行させる、コンピュータ・プログラムを含む。前記コンピュータ・プログラム自身は、対応する方法の前段階をソフトウェアで実装するためのプログラム・コードを完全に含んでいてもよいし、あるいは単に、そのような完全なコンピュータ・プログラムを参照するまたは利用する短いスクリプトまたはリンクであってもよい。
【００１６】
本発明のさらなる側面は、ビット・ストリングを生成するためのダイオードの使用を含む。ここで、前記ビット・ストリングは、前記ダイオードに印加される、前記ダイオードの降伏電圧を超える電圧から帰結する前記ダイオードの降伏に基づいて生成される。
【００１７】
本発明の好ましい諸実施形態は、従属請求項において定義される。本発明の前記デバイス、前記装置、前記方法および前記コンピュータ・プログラムが、それぞれの従属請求項で定義される同様および／または同一の好ましい実施形態を有することは理解されるであろう。
【００１８】
本発明の基礎となる洞察は、ダイオードの降伏の状況は十分複雑であり、降伏が起こる正確な電圧値は製造の際には事実上制御不能であり、ダイオードの通常の検査によって予測することは事実上不可能だから、降伏を被るダイオードが物理的複製不能関数（PUF）または物理的ランダム関数として使用されうるということである。複数のダイオードまたはダイオードのアレイは一層複雑な挙動を示し、これはダイオードに与えられるチャレンジに対するより多様な応答につながる。さらに、ダイオード降伏は複雑かつ（正確な値については）事実上予測不可能な事象であるだけでなく、単に普通の集積回路によって簡単に検出されうるものでもある。よって、一つまたはいくつかのダイオードの降伏をビット・ストリング生成のために活用することは、複雑な追加的な設備の必要なしにPUFを集積回路に含めることを許容する。
【００１９】
本発明は、一つまたはいくつかのダイオードの降伏の状況に基づいてビット・ストリングを生成することに関する。一つまたは複数のダイオードは、前記ダイオードの降伏電圧を超える電圧を与えられる。前記ダイオードは前記降伏および任意的に正確な降伏電圧のような関連する状況を検出するダイオード降伏プロセッサに接続されている。前記ビット・ストリングは一意的な識別子として、あるいは秘密の鍵として使用されうる。
【発明の効果】
【００２０】
本発明は、そのようなPUFを具現し、もし必要なら前記PUFを読み出すための追加的な構成要素およびセンサーが安価で扱いやすいという有利な効果を提供する。理想的な場合には、PUFはすでにチップに存在しているコンポーネントからなる。こうして、十分長いビット・ストリング（たとえば識別子のためには40ビット、AES鍵のためには128ビット）を導出できるよう十分大きいエントロピー（情報含量［information  content］）をもつPUFが得られ、攻撃者はそのビット・ストリングを推測することはできなくなる。さらに、たとえば、本発明が実装されるチップのPUF測定の際の電磁波の放射、電力消費およびその他の「サイド・チャンネル（side  channels）」は攻撃者がビット・ストリングを導出することを可能にしない。これは、前記ビット・ストリングが秘密情報（鍵）を表す場合には特に有用である。
【００２１】
本発明のこれらおよびその他の側面は、以下に記載する実施形態から明白になり、明快にされるであろう。
【図面の簡単な説明】
【００２２】
【図１】本発明に基づくデバイスの第一の実施形態を示す図である。
【図２】本発明に基づくデバイスの第二の実施形態を外部電圧源とともに示す図である。
【図３】本発明に基づくデバイスの第三の実施形態を外部電圧源とともに示す図である。
【図４】本発明に基づく装置の第一の実施形態を複数の外部ダイオードとともに示す図である。
【図５】本発明に基づく装置の第二の実施形態を複数の外部ダイオードおよび外部電圧源とともに示す図である。
【図６】本発明に基づく方法のフローチャートである。
【発明を実施するための形態】
【００２３】
図１は、本発明に基づくデバイス１０の第一の実施形態を示している。デバイス１０はダイオード１１、ダイオード降伏プロセッサ１３および電圧源１５を有する。ダイオード１１はコネクタ１２を介して電圧源１５と、またダイオード降伏プロセッサ１３と接続される。ダイオード降伏プロセッサ１３はダイオード１１と並列に配置されており、やはりこれらのコネクタ１２に接続されている。電圧源１５は、逆バイアス方向で電圧をダイオード１１に印加するよう適応されている。ダイオード１１に印加される電圧がダイオード１１の降伏電圧より低い限り、このダイオード１１は非伝導性であり、電流は全く、あるいは少ししか流れない。ひとたびダイオード１１に印加される電圧がダイオード１１の降伏電圧を超えると、このダイオード１１は降伏し、（より大きな）電流が流れるようになる。ダイオード降伏プロセッサ１３はダイオード１１の降伏を検出し、この検出に基づいて降伏プロセッサ１３によってビット・ストリングが生成される。
【００２４】
この実施形態では、降伏が起こる電圧が検出され、前記ビット・ストリングの生成の基礎となる。ダイオード降伏プロセッサ１３は次いでこの生成されたビット・ストリングを出力する。ビット・ストリングは、ダイオード１１に固有のダイオード１１の特性から導出されるので、生成されたビット・ストリングはデバイス１０の識別子のはたらきをしうる。
【００２５】
降伏を検出するには当業者にはいくつかの異なる仕方および方法が知られており、したがってダイオード降伏プロセッサ１３の詳細な記述は本稿では省略してもよい。たとえば、降伏の際にダイオード１１を流れる（増加した）電流を検出することによって降伏を検出できる専用回路を使用しても、好適な仕方でダイオード１１に接続された汎用集積回路またはプロセッサを使用してもよい。フリップフロップ（たとえばダイオード降伏プロセッサ１３に含まれる）の状態を変えることが、ダイオード降伏を記録するために使用されてもよい。
【００２６】
生成されたビット・ストリングが識別子として使用されることになる場合、破損することなく降伏を被りうるダイオードを提供し、前記ビット・ストリング、すなわち前記識別子が繰り返し読み出せるようにすることが好ましい。
【００２７】
図２は、本発明に基づくデバイス２０の第二の実施形態を外部電圧源２５とともに示している。デバイス２０は並列に配置された複数のダイオード２１と、ダイオード降伏プロセッサ２３と、複数の抵抗器２７と、二つのコネクタ２２とを有する。ダイオード降伏プロセッサ２３は前記複数のダイオード２１と直列に配置されており、前記複数のダイオードうちの各ダイオード２１に個別に接続されている。前記複数の抵抗器２７の抵抗器２７は各ダイオードと直列に配置されており、各抵抗器は1MΩの抵抗を有する。本実施形態では、一方のコネクタ２２から降伏プロセッサ２３、複数のダイオード２１および複数の抵抗器２７を通って他方のコネクタ２２にラインが形成される。動作の際、デバイス２０はコネクタ２２を介して制御可能な電圧源２５に接続される。
【００２８】
動作の際、外部電圧源２５がコネクタ２２に、よって複数のダイオード２１に、逆バイアス方向で電圧を与える。電圧はより低い電圧値からより高い電圧値まで上がるよう制御される。この電圧掃引の間、前記複数のダイオード２１のダイオード２１の降伏電圧が到達され、超えられる。ここで、ダイオード２１が降伏を被る順序はそれぞれの降伏電圧に依存する。ダイオード２１における降伏の発生はダイオード降伏プロセッサ２３によって検出され、この検出に基づいて、ビット・ストリングが生成される。ダイオード降伏プロセッサ２３は各ダイオード２１と個別に接続されているので、降伏の発生は降伏が起こった特定のダイオード２１に関係付けられる。こうして、降伏の発生が検出されるのみならず、ダイオード２１が降伏を被った順序も検出される。ダイオード降伏プロセッサ２３は、検出された順序に基づいてビット・ストリングを生成する。
【００２９】
この実施形態において、二つのダイオード２１がダイオードの対を形成すると考える。これは４対のダイオード２１ということになる。各対のダイオード２１のどちらが先に降伏を被るかに依存して、4ビットのストリングの各ビットがセットされ、あるいはセットされない。ダイオードの降伏に基づいてビット・ストリングを生成する他の可能な方法がある。たとえば、ビット・ストリングの一部は一つのダイオードの降伏電圧の（正確な）値から計算されてもよく、そのような部分のいくつかが次いで組み合わされてビット・ストリングを形成する。さらに、ビット・ストリングの特定のビットのセットについて、たとえば電圧掃引の前半の間に特定のダイオードについて降伏が起こったかどうかが決定されてもよい。
【００３０】
降伏の場合、降伏を被ったダイオードの抵抗が劇的に低下する。しかしながら、ダイオード２１と直列に配置されている抵抗器２７のおかげで、このダイオード２１に大電流が流れることが防がれる。さもなければ大電流によってこのダイオード２１が破損することがありうる。
【００３１】
本発明のある修正では、電圧掃引は、通常の意味での掃引ではなく、前記複数のダイオード２１に印加される単一の電圧に帰着される。この場合、前記のより低い電圧値および前記のより高い電圧値は同じであり、前記複数のダイオードが降伏を受ける検出可能な順番はない。しかしながら、印加される電圧に依存して、いくつかのダイオードは降伏を被り、他のダイオードは降伏を被らない。この単一電圧「掃引」の結果も、ビット・ストリングを生成するための好適な基礎をなす。
【００３２】
本実施形態では前記複数のダイオードは８つのダイオードを含むが、前記複数のダイオードに含まれるダイオードの数が、生成されるべきビット・ストリングの大きさおよびダイオードの降伏に基づくビット・ストリング生成の仕方に依存して他の任意の数であってもよいことは明らかであろう。これは、本稿で記載される本発明の他の実施形態についても言える。
【００３３】
さらに、本実施形態では、抵抗器２７は1MΩの抵抗をもつが、これらはもちろん異なる抵抗を有していてもよい（好ましくは少なくとも100kΩ）。そうした抵抗値は、必要なら、降伏の間または降伏後にダイオードを流れる電流が損傷を避けるのに十分小さいことを保証するような値である。当業者に知られている電流を制御する他の諸方法が代わりにまたは追加として使用されてもよい。
【００３４】
しかしながら、本発明の異なる実装では、本発明に基づくデバイスが行える動作の数を制限する、あるいはビット・ストリングを生成するためにダイオードが使用されうる回数を所与の数に制限することが望まれることがありうる。そのような実施形態では、所与の回数の使用後にダイオードが終末的に損傷されることを保証するために、抵抗器または他の何らかの電流制御を設けないことが望ましいことがありうる。あるいはまた、ダイオードは、所定回数の降伏を被ったのちは変化した降伏挙動を有するよう適応されていてもよい。
【００３５】
種々の構成要素が直列接続に配列される順序は本発明にとって重要ではない。本発明を実装するために配列の異なる順序が選ばれてもよい。
【００３６】
図２の実施形態とよく似ているある代替的な実施形態では、外部電圧源２５が所定の電圧掃引を提供するよう適応される。ここで、ダイオード降伏プロセッサ２３は前記所定の電圧掃引の開始および前記複数のダイオードにおいて降伏が起こる回数を検出するよう適応される。図２を参照して上記した実施形態と同様に、前記複数のダイオードの降伏特性に依存してビット・ストリングを生成するためには降伏の順序（order）または時間（time）を検出することが十分なので、この代替的な実施形態では、降伏が起こる電圧を測定することは必要ない。
【００３７】
図３は、本発明に基づくデバイス３０の第三の実施形態を外部電圧源３５とともに示している。デバイス３０は、並列に配置された複数のダイオード３１と、ダイオード降伏プロセッサ３３と、前記複数のダイオード３１に並列に配置された電圧計３６と、抵抗器３７とを有する。デバイス３０はさらに、二つのコネクタ３２およびメモリ・ユニット３８を有する。これら二つのコネクタ３２は、直列に配置された、前記ダイオード降伏プロセッサ３３、前記複数のダイオード３１および前記抵抗器３７によって接続されている。ダイオード降伏プロセッサ３３は、要求に際してデータを受け取るためにメモリ・ユニット３８に接続されている。ダイオード降伏プロセッサ３３はさらに、前記複数のダイオード３１に印加された電圧についてのデータを受け取るために電圧計３６に接続されている。前記複数のダイオード３１のうちの一つは基準ダイオード３１′である。動作の際、外部電圧源３５が前記デバイスに前記コネクタ３２を介して接続される。さらに、前記外部電圧源３５と前記ダイオード降伏プロセッサ３３との間のデータ・リンクがある。
【００３８】
前記外部電圧源３５は、時間の所定の関数に従ってより低い電圧とより高い電圧との間にわたる電圧掃引を生成し、この電圧掃引をデバイス３０に（それによりデバイス３０内の前記複数のダイオード３１に）印加し、この電圧の時間に対する関数の指標をダイオード降伏プロセッサ３３に伝送するよう適応されている。前記のより高い電圧が前記複数のダイオードの降伏電圧を超える場合、前記複数のダイオード３１の各ダイオード３１は電圧掃引の間に降伏を被る。その降伏の時間はダイオード降伏プロセッサ３３によって検出される。降伏が起こった電圧は電圧計３６によって検出され、降伏プロセッサ３３に伝送される。ここでもまた、図２を参照して記載した実施形態と同様に、抵抗器３７のおかげで、ダイオード３１を損傷するのに十分な大きさの電流がダイオード３１を流れるのが防止される。
【００３９】
この実施形態では、ダイオード降伏プロセッサ３３はダイオードの降伏が起こった時点（電圧掃引の開始時刻を基準として）についてのデータおよび降伏が起こった電圧（電圧計によって測定される）についてのデータを取得している。さらに、基準ダイオード３１′の降伏電圧がメモリ・ユニット３８に記憶されており、これも鍵抽出アルゴリズムにおいて使用するためのヘルパー・データをなす。ヘルパー・データは、当該デバイスの登録段階の間に取得され、次いでメモリ・ユニット３８に記憶される。これらすべてのデータに基づいて、ダイオード降伏プロセッサ３３は、たとえば温度ゆらぎ、外部電磁場、機械的圧力、放射、湿気または振動といった源からのいかなる雑音因子をも補償して、前記複数のダイオード３１の実際の降伏電圧を高精度で計算できる。次いで、得られた降伏電圧に基づいてビット・ストリングが生成される。このビット・ストリングの生成は、高い再現性をもち、このビット・ストリングの、デバイス３０を識別する識別子としての非常に信頼できる使用が許容されることになる。
【００４０】
図４は、本発明に基づく装置４０の実施形態を、複数の外部ダイオード４１とともに示している。装置４０は、ダイオード降伏プロセッサ４３と、制御可能な電圧源４５と、前記複数の外部ダイオード４１を接続するためのコネクタ４２と直列に配列された抵抗器４７とを有する。前記複数の外部ダイオード４１は、担体ユニット４９に含まれる。前記の完全な構成の動作は、上記の本発明に基づく諸デバイスの動作と同様である。したがって、ここではさらなる詳細な記述は省略されてもよい。上記の諸デバイスとの主たる違いは、前記複数のダイオード４１がダイオード降伏プロセッサ４３を有する当該装置４０からは別個に設けられるということである。これは、前記複数のダイオードを異なる複数のダイオードで置き換えることを許容する。このようにして、相対値および絶対値の面で本来的にランダムである降伏電圧をもつ複数のダイオード４１を含む担体ユニット４９は、暗号目的のための（秘密の）鍵を持ち運ぶために使用されうるのである。
【００４１】
図５は、本発明に基づく装置５０のさらなる実施形態を複数の外部ダイオード５１および外部電圧源５５とともに示している。装置５０は、５つのコネクタ５２を設けられたダイオード降伏プロセッサ５３を有する。ダイオード降伏プロセッサ５３は、前記コネクタ５２のうちの４つを介して、複数の外部ダイオード５１の各ダイオードに個別に接続される。外部抵抗器５７および外部電圧源５５は前記複数の外部ダイオード５１と直列に接続され、前記外部電圧源５５は前記ダイオード降伏プロセッサ５３に接続されている。ここでもまた、本構成の動作は、上記の本発明に基づく諸デバイスの動作と同様であり、さらなる詳細な記述は不要である。図４に示された構成のほか、この実施形態における前記抵抗器および前記電圧源が当該装置内に設けられず、前記複数のダイオードとともに担体ユニット５９に含まれる。
【００４２】
図６は、本発明に基づく方法のフローチャートである。第一のステップ１では、少なくとも一つのダイオードに電圧が印加される。ここで、前記電圧はこの少なくとも一つのダイオードの降伏電圧より高く、よってこのダイオードは降伏を被る。この降伏は後続のステップ２において検出され、さらなるステップ３において前記検出に基づいてビット・ストリングが生成される。
【００４３】
本発明のコンテキストにおいて、「ビット・ストリング（bit  string）」の用語は、普通使われる「0」および「1」の系列のような二つの異なる値または状態をもつシンボルの系列のみを指すのではなく、各シンボルが三つの異なる状態または値をもつなど、より多様な値をもつシンボルの系列をも指す。
【００４４】
たとえば、各ダイオードからnビット・シンボルを得るのは、まず可能な降伏電圧の区間全体を2n個の等確率の下位区間に分割することによってできる。これらの区間は0,1,…,2n-1とラベル付けされる。一つのダイオードの降伏電圧は区間番号xに属する。その際、区間番号xがPUF「応答」であり、これは予測できないnビット値である。なお、区間の数は2の累乗でなくてもよく、電圧軸の代わりに時間軸が区間に分割されることもできる。
【００４５】
一つの系列は、同じ情報を異なる方法でエンコードする系列に簡単に変換できるので、本発明のコンテキストでは情報をエンコードするこれらの方法の間の差は重要ではないことは理解されるであろう。
【００４６】
「降伏（breakdown）」および「降伏電圧（breakdown  voltage）」の用語は当業者によってよく理解されている。しかしながら、本発明の実装の個別的な状況に依存して、これらの用語に異なる意味を与えることが可能である。たとえば、降伏が始まる電圧値（これは場合によっては正確に見出すのが難しい）を降伏電圧として取る代わりに、ダイオードを流れる電流が選択された値に達するまたは選択された値を超える電圧値、あるいはダイオードが逆バイアスで所定の微分抵抗を示す電圧値を「降伏電圧」として取ってもよい。
【００４７】
本発明は、図面および以上の記述において詳細に図示され、記述されてきたが、そのような図示および記述は例として与えられたのであって、限定するものと考えられるものではない。さらに、本発明は開示される実施形態に限定されない。特許請求される発明を実施する当業者は、開示された実施形態の他の変形を、図面、開示および付属の請求項の研究から理解し、実施できる。
【００４８】
請求項において、動詞「有する」およびその活用形は他の要素やステップを排除しない。要素の単数の表現は複数を排除しない。単一のユニットが請求項において記載されているいくつかの項目の機能を充足させてもよい。ある種の施策が互いに異なる従属請求項において記載されているというだけの事実がこれらの施策の組み合わせが有利に使用できないということを示すものではない。
【００４９】
コンピュータ・プログラムは、他のハードウェアと一緒にまたは他のハードウェアの一部として供給される光記憶媒体または半導体媒体といった好適な媒体上で記憶され／頒布されうるが、インターネットまたは他の有線もしくは無線の遠隔通信システムといった他の形で頒布されてもよい。
【００５０】
請求項に参照符号があったとしても、その請求項を限定するものと解釈すべきではない。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビット・ストリングを生成するデバイスであって：
・少なくとも一つのダイオードと、
・前記少なくとも一つのダイオードに電圧を印加するために前記少なくとも一つのダイオードに接続されたコネクタと、
・前記少なくとも一つのダイオードに印加された前記少なくとも一つのダイオードの降伏電圧を超える電圧から帰結する前記少なくとも一つのダイオードの降伏を検出し、前記降伏の前記検出に基づいて前記ビット・ストリングを生成するための、前記少なくとも一つのダイオードに接続されたダイオード降伏プロセッサとを有しており、前記ダイオード降伏プロセッサは：
・降伏電圧を検出すること、ならびに
・並列に配置された複数のダイオードに印加された所定の電圧掃引の間に：
・前記複数のダイオードのうちのダイオードの少なくとも一つの降伏のタイミング、および
・前記複数のダイオードのうちのダイオードが降伏を被る順序、
のうちの少なくとも一つを検出すること、
のうちの少なくとも一つのために適応されている、デバイス。
【請求項２】
前記少なくとも一つのダイオードに前記電圧を印加するための、前記コネクタに接続された電圧源をさらに有する、請求項１記載のデバイス。
【請求項３】
前記コネクタが、前記少なくとも一つのダイオードに外部電圧源を接続するよう適応されている、請求項１記載のデバイス。
【請求項４】
前記電圧源が、前記少なくとも一つのダイオードに、所定のより低い電圧と所定のより高い電圧の間の範囲の電圧掃引を印加するよう適応されている、請求項２または３記載のデバイス。
【請求項５】
前記ダイオード降伏プロセッサが：
・前記電圧掃引の時間依存性についての情報を受領し；
・前記複数のダイオードに印加される電圧を測定するよう適応されている、
請求項１記載のデバイス。
【請求項６】
前記ダイオード降伏プロセッサが、所定の電圧の印加に際して、前記複数のダイオードのうちのどのダイオードが降伏を被ったかを検出するよう適応されている、請求項１記載のデバイス。
【請求項７】
前記複数のダイオードが基準ダイオードを含み、前記ダイオード降伏プロセッサが、前記基準ダイオードの降伏電圧と前記複数のダイオードのうち前記基準ダイオードとは異なるダイオードの降伏電圧との間の差を検出するよう適応されている、請求項１記載のデバイス。
【請求項８】
前記ダイオード降伏プロセッサに接続されたメモリ・ユニットをさらに有する請求項１記載のデバイスであって、前記ダイオード降伏プロセッサは、動作の間に、前記メモリ・ユニットに含まれる所定のヘルパー・データを使う鍵抽出アルゴリズムによって、前記少なくとも一つのダイオードの検出された降伏電圧からビット・ストリングを生成するよう適応されている、デバイス。
【請求項９】
前記少なくとも一つのダイオードのそれぞれと直列に配置された抵抗器、特に100kΩ以上の抵抗をもつ抵抗器をさらに有する、請求項１記載のデバイス。
【請求項１０】
前記少なくとも一つのダイオードが破損することなく降伏を被ることができる、請求項１記載のデバイス。
【請求項１１】
前記少なくとも一つのダイオードは、所定回数の降伏を被ったのちは変化した降伏挙動を有するよう適応されている、請求項１記載のデバイス。
【請求項１２】
ビット・ストリングを生成する装置であって：
・当該装置に少なくとも一つのダイオードを接続し、前記少なくとも一つのダイオードに電圧を印加するためのコネクタと、
・前記少なくとも一つのダイオードに印加された前記少なくとも一つのダイオードの降伏電圧を超える電圧から帰結する前記コネクタに接続された前記少なくとも一つのダイオードの降伏を検出し、前記降伏の前記検出に基づいて前記ビット・ストリングを生成するために、前記コネクタに接続されたダイオード降伏プロセッサとを有しており、前記ダイオード降伏プロセッサは：
・降伏電圧を検出すること、ならびに
・並列に配置された複数のダイオードに印加された所定の電圧掃引の間に：
・前記複数のダイオードのうちのダイオードの少なくとも一つの降伏のタイミング、および
・前記複数のダイオードのうちのダイオードが降伏を被る順序、
のうちの少なくとも一つを検出すること、
のうちの少なくとも一つのために適応されている、装置。
【請求項１３】
前記コネクタに接続された電圧源をさらに有する、請求項１２記載の装置。
【請求項１４】
ビット・ストリングを生成する方法であって：
・少なくとも一つのダイオードに前記少なくとも一つのダイオードの降伏電圧を超える電圧を印加する段階と、
・前記電圧の印加から帰結する前記少なくとも一つのダイオードが被る降伏を検出する段階と、
・前記降伏の前記検出に基づいてビット・ストリングを生成する段階とを有しており、降伏を検出する前記段階は：
・降伏電圧を検出する段階、ならびに
・並列に配置された複数のダイオードに印加された所定の電圧掃引の間に：
・前記複数のダイオードのうちのダイオードの少なくとも一つの降伏のタイミング、および
・前記複数のダイオードのうちのダイオードが降伏を被る順序、
のうちの少なくとも一つを検出する段階、
のうちの少なくとも一つを含む、方法。
【請求項１５】
プログラム・コード手段を有するコンピュータ・プログラムであって、前記コンピュータ・プログラムが請求項１記載のデバイスまたは請求項１２記載の装置上で実行されるときに、前記デバイスまたは前記装置に請求項１４記載の方法の諸段階を実行させる、コンピュータ・プログラム。
【国際調査報告】
2009545908.tif 000009
2009545908.tif 000010
2009545908.tif 000011