(57)【要約】      （修正有）【課題】長い真性乱数ビット・ストリームを生成するために物理的複製困難機能（ＰＵＦ）を実行することが可能な真性乱数生成システムを提供する。【解決手段】真性乱数生成システム１００は、ＰＵＦエントロピー・デバイスＰＵＦＥＤと、擬似乱数生成器ＰＲＮＧと、エンコーディング回路ＥＮ１とを含む。ＰＵＦエントロピー・デバイスは、乱数プールを生成するために使用される。擬似乱数生成器は、複数の第１ナンバー・シーケンスを生成するために使用される。エンコーディング回路は、ＰＵＦエントロピー・デバイスと擬似乱数生成器とに結合され、複数の第１ナンバー・シーケンスと乱数プールから選択された複数の第３ナンバー・シーケンスとに応じて、複数の第２ナンバー・シーケンスを生成する。【選択図】図１
2019192220.tif 000002
【特許請求の範囲】
【請求項１】
真性乱数生成システムであって：
乱数プールを生成するように構成される物理的複製困難機能(PUF)エントロピー・デバイス；
少なくとも1つの制御シーケンスに応じて複数の第1ナンバー・シーケンスを生成するように構成される擬似乱数生成器；及び
前記PUFエントロピー・デバイスと前記擬似乱数生成器とに結合され、前記複数の第1ナンバー・シーケンスと前記乱数プールから選択される複数の第3ナンバー・シーケンスとに応じて複数の第2ナンバー・シーケンスを出力するように構成される第1エンコーディング回路；
を有し、前記複数の第2ナンバー・シーケンスはランダムである、システム。
【請求項２】
前記擬似乱数生成器は前記PUFエントロピー・デバイスに結合され、前記少なくとも1つの制御シーケンスは前記乱数プールに応じて決定される、請求項1に記載のシステム。
【請求項３】
前記複数の第1ナンバー・シーケンスは前記複数の第2ナンバー・シーケンス及び前記複数の第3ナンバー・シーケンスよりディスクリートではなく、前記乱数プールは有限真性ランダム・エントロピー・ナンバー・プールである、請求項1に記載のシステム。
【請求項４】
前記少なくとも1つの制御シーケンスはコンフィギュレーション・シーケンスを有し、前記コンフィギュレーション・シーケンスは複数のコンフィギュレーション・シードを有し、前記複数のコンフィギュレーション・シードは、前記複数の第2ナンバー・シーケンスと前記複数の第1ナンバー・シーケンスとの間のマッピング関係を決定するように構成される、請求項1に記載のシステム。
【請求項５】
前記少なくとも1つの制御シーケンスは初期シーケンスを有し、前記初期シーケンスは複数の初期シードを有し、前記複数の初期シードは、前記擬似乱数生成器によりサポートされる可能な全ての乱数シーケンスのうちの前記第1ナンバー・シーケンスの初期ナンバー・シーケンスを示すように設定される、請求項1に記載のシステム。
【請求項６】
前記少なくとも1つの制御シーケンスはスクランブル・シーケンスを有し、前記スクランブル・シーケンスは複数のスクランブル・シードを有し、前記複数のスクランブル・シードは、前記複数の第1ナンバー・シーケンスのビット割り当てをスクランブルするように設定される、請求項1に記載のシステム。
【請求項７】
前記擬似乱数生成器の前記少なくとも1つの制御シーケンスは、第1クロック信号に応じて更新され、前記複数の第3ナンバー・シーケンスは、第2クロック信号に応じて前記乱数プールから順次に選択され、前記第1クロック信号及び前記第2クロック信号は異なる、請求項1に記載のシステム。
【請求項８】
前記擬似乱数生成器により生成される前記複数の第1ナンバー・シーケンスは、第3クロック信号に応じて前記第1エンコーディング回路へ順次に出力され、前記第1クロック信号、前記第2クロック信号、及び/又は前記第3クロック信号は時間経過とともに変化する、請求項7に記載のシステム。
【請求項９】
前記第1エンコーディング回路は、前記複数の第2ナンバー・シーケンスを生成するために、ビット毎の排他的論理和機能を実行する、請求項1に記載のシステム。
【請求項１０】
前記第1エンコーディング回路と前記PUFエントロピー・デバイスとに結合され、前記複数の第2ナンバー・シーケンスと複数の第5ナンバー・シーケンスとに応じて複数の第4ナンバー・シーケンスを出力するように構成される第2エンコーディング回路を更に有し；
前記複数の第3ナンバー・シーケンスの割り当てが少なくとも1つのクロックにわたって循環的にシフトされた後に、前記複数の第5ナンバー・シーケンスが生成される、請求項1に記載のシステム。
【請求項１１】
前記複数の第4ナンバー・シーケンスは前記複数の第2ナンバー・シーケンスよりディスクリートである、請求項10に記載のシステム。
【請求項１２】
前記PUFエントロピー・デバイスに結合され、前記乱数プールに応じて選択信号を生成するように構成される選択ユニット；
前記第1エンコーディング回路と前記選択ユニットとに結合され、前記第1エンコーディング回路から出力される各々の第2ナンバー・シーケンスをバッファリングするように構成されるレジスタ；及び
前記レジスタと前記選択ユニットとに結合され、複数の第7ナンバー・シーケンスと複数の第8ナンバー・シーケンスとに応じて複数の第6ナンバー・シーケンスを生成するように構成される第3エンコーディング回路；
を更に有し、前記複数の第7ナンバー・シーケンスは前記レジスタから順次に出力され、前記選択ユニットは、前記複数の第8ナンバー・シーケンスを出力するために前記複数の第3ナンバー・シーケンスの割り当てを再設定する、請求項1に記載のシステム。
【請求項１３】
前記複数の第7ナンバー・シーケンスは、前記選択信号に応じて前記レジスタにより前記複数の第2ナンバー・シーケンスから選択される、請求項12に記載のシステム。
【請求項１４】
前記選択信号は複数のスイッチ・コマンドを有し、各々のスイッチ・コマンドは各々の第2ナンバー・シーケンスに対応し、スイッチ・コマンドが非選択状態に対応する場合に、第2ナンバー・シーケンスは前記レジスタによりドロップにされる、請求項12に記載のシステム。
【請求項１５】
前記選択信号は複数のスイッチ・コマンドを有し、各々のスイッチ・コマンドは各々の第2ナンバー・シーケンスに対応し、スイッチ・コマンドが選択状態に対応する場合に、第2ナンバー・シーケンスは、前記レジスタにより選択されて第7ナンバー・シーケンスとして出力される、請求項12に記載のシステム。
【請求項１６】
前記複数の第2ナンバー・シーケンスはQ個のグループに区分けされ、前記複数の第2ナンバー・シーケンスの各々のグループから各々の第7ナンバー・シーケンスが選択され、Qは2の冪乗である正の整数である、請求項12に記載のシステム。
【請求項１７】
前記第3エンコーディング回路は、前記複数の第6ナンバー・シーケンスを生成するためにビット毎の排他的論理和機能を実行する、請求項12に記載のシステム。
【請求項１８】
前記複数の第3ナンバー・シーケンスは巡回シフト期間を有し、前記選択ユニットはマッピング関数に従って前記複数の第3ナンバー・シーケンスの割り当てを再設定し、前記複数の第3ナンバー・シーケンスの前記割り当てを再設定することについての最大割り当てオフセットは、前記巡回シフト期間以下である、請求項12に記載のシステム。
【請求項１９】
前記複数の第6ナンバー・シーケンスは、前記複数の第7ナンバー・シーケンスよりディスクリートである、請求項12に記載のシステム。
【請求項２０】
前記PUFエントロピー・デバイスは、前記PUFエントロピー・デバイス内の隣接するトランジスタの2つのゲート酸化物層のうち一方をランダムに破裂させることにより、アンチヒューズ・ベースPUFを実行する、請求項1に記載のシステム。
【請求項２１】
前記擬似乱数生成器により生成される前記複数の第1ナンバー・シーケンスは長い擬似乱数ビット・ストリームを形成し、前記PUFエントロピー・デバイスの前記乱数プールから選択される前記複数の第3ナンバー・シーケンスは短い真性乱数ビット・ストリームを形成し、前記第1エンコーディング回路により生成される前記複数の第2ナンバー・シーケンスは長い真性乱数ビット・ストリームを形成する、請求項1に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
１．発明の分野
【０００２】
本発明は真性乱数生成システム、特に、長い真性乱数ビット・ストリームを生成するために物理的複製困難機能(a  physical  unclonable  function：PUF)を実行することが可能な真性乱数生成システムを開示する。
【背景技術】
【０００３】
２．従来技術の説明
技術の進歩とともに、ネットワーク・セキュリティ、データ伝送セキュリティ、及びプライバシー・セキュリティは重要な問題となっている。セキュリティ・レベルを向上させるため、データが、個人情報を担うプライバシー・データと考えられる場合、様々な暗号化方法が必要とされる。例えば、指紋データは、指の個人的な生理学的な特徴を担う固有のプライバシー・データと考えられる。虹彩認識データは、両目の個人的な生理学的な特徴を担う固有のプライバシー・データと考えられる。
【０００４】
一般に、プライバシー・データの規則性を減らし、データ流出のリスクを減らすために、何らかのセキュリティ・メカニズムが使用される。例えば、セキュア・クイック・レスポンス・コード(a  secured  quick  response  code：SQRC)は、暗号キーを導入することによりプライバシー・データを保護するために使用される。暗号キーはデータ盗用者には未知であるので、SQRCの規則性は予測困難である。しかしながら、それでも如何なるセキュリティ・メカニズムも突破される機会を有し、なぜならセキュリティ・キー(即ち、暗号キー)、スクランブル多項式、乱数コードワード・セット、及びマッピング・シーケンスは、数値に基づく関数を利用することにより生成されるからである。言い換えれば、セキュリティ・メカニズムのランダム性は、「擬似的な(pseudo)」ランダムと考えられる。
【０００５】
しかしながら、不法なハッカー又はデータ盗用者の数は年々増えている。不法なハッカー又はデータ盗用者はセキュリティ・メカニズムを破る優れた技術又は非ライセンス・デバイスを使用することが可能であるので、不法なハッカー又はデータ盗用者はセキュリティ・メカニズムに侵入する機会を有する。従って、如何なる規則性も伴わずに真性乱数シーケンスを生成する、セキュリティ・メカニズムに適用する方法は、セキュリティ・レベルを改善する動向である。
【発明の概要】
【０００６】
本発明の実施形態では、真性乱数生成システムが開示される。真性乱数生成システムは、物理的複製困難機能(PUF)エントロピー・デバイスと、擬似乱数生成器と、第1エンコーディング回路とを含む。PUFエントロピー・デバイスは乱数プールを生成するように構成される。擬似乱数生成器は、少なくとも1つの制御シーケンスに応じて複数の第1ナンバー・シーケンスを生成するように構成される。第1エンコーディング回路は、PUFエントロピー・デバイスと擬似乱数生成器とに結合され、複数の第1ナンバー・シーケンスと乱数プールから選択された複数の第3ナンバー・シーケンスとに応じて、複数の第2ナンバー・シーケンスを出力するように構成される。複数の第2ナンバー・シーケンスはランダムである。
【０００７】
様々な図面及び図に示される好適実施形態の以下の詳細な説明を読んだ後、本発明のこれら及び他の課題は、当業者にとって紛れもなく明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】図1は本発明の実施形態による真性乱数生成システムのブロック図である。
【０００９】
【図２】図2は図1の真性乱数生成システムに少なくとも1つの制御シーケンスを導入することについてのブロック図である。
【００１０】
【図３】図3は図2の真性乱数生成システムにクロック信号を導入することについてのブロック図である。
【００１１】
【図４】図4は図1の真性乱数生成システムに第2エンコーディング回路を導入することについてのブロック図である。
【００１２】
【図５】図5は図4の真性乱数生成システムにレジスタ及び選択ユニットを導入することについてのブロック図である。
【００１３】
【図６】図6は図5における真性乱数生成システムの第1エンコーディング回路と第3エンコーディング回路との間のシーケンス選択プロセスの例である。
【発明を実施するための形態】
【００１４】
図1は本発明の実施形態による真性乱数生成システム100のブロック図である。真性乱数生成システム100は、物理的複製困難機能(PUF)エントロピー・デバイスと、擬似乱数生成器PRNGと、第1エンコーディング回路EN1とを含む。PUFエントロピー・デバイスPUFEDは、乱数プールを生成するために使用される。ここで、PUFエントロピー・デバイスPUFEDは、複製困難な乱数シーケンスを生成することにより固有のアイデンティティを提供することが可能な任意のハードウェアであるとすることが可能である。例えば、PUFエントロピー・デバイスPUFEDは、PUFエントロピー・デバイスPUFED内で隣接するトランジスタの2つのゲート酸化物層の一方をランダムに溶断するアンチヒューズ・ベースPUFデバイス(an  antifuse-based  PUF  device)であるとすることが可能である。即ち、一方のゲート酸化物層を溶断するランダム性が、物理的にランダムな動作と考えられることが可能である。従って、PUFエントロピー・デバイスPUFEDがアンチヒューズ・ベースPUFデバイスである場合、PUFエントロピー・デバイスPUFEDにより生成される乱数プールは、有限の真性ランダム・エントロピー・ナンバー・プールと考えられることが可能である。PUFエントロピー・デバイスPUFEDは、真性ランダム・ビット・ストレージとともに、スタティック・ランダム・アクセス・メモリ・セル(SRAM)、抵抗ランダム・アクセス・メモリ・セル(ReRAM)、磁気抵抗ランダム・アクセス・メモリ・セル(MRAM)、強誘電体ランダム・アクセス・メモリ・セル(FeRAM)、又はワンタイム・プログラマブル・メモリ・セル、マルチ・タイム・プログラマブル・メモリ・セル、フラッシュ・メモリ・セルにより実装されることも可能であることに留意すべきである。同等に、ランダム・エントロピー・ナンバー・プールに非規則性が導入される。擬似乱数生成器PRNGは、PUFエントロピー・デバイスPUFEDに結合され、複数の第1ナンバー・シーケンスBS1を生成する。複数の第1ナンバー・シーケンスBS1は、「擬似」乱数シーケンスと考えられることが可能であり、なぜならそれらは数値に基づく関数を使用することにより生成されるからである。例えば、擬似乱数生成器PRNGによりサポートされる全ての可能なナンバー・シーケンスは、ナンバー・シーケンスBS1_0ないしナンバー・シーケンスBS1_N-1として示されることが可能である。初期インデックス「m」について、擬似乱数生成器PRNGは、ナンバー・シーケンスBS1_m+0ないしBS1_m+m’-1を含む複数の第1ナンバー・シーケンスBS1を生成することが可能である。ここで、m、m’及びNは3つの正の整数であり、N≧m及びN≧m’である。第1エンコーディング回路EN1は、PUFエントロピー・デバイスPUFEDと擬似乱数生成器PRNGとに結合され、複数の第1ナンバー・シーケンスBS1と、乱数プールから選択された複数の第3ナンバー・シーケンスBS3とに従って、複数の第2ナンバー・シーケンスBS2を出力する。ここで、乱数プールは小さな容量を有する有限ナンバー・プールであるので、乱数プールから選択されるシーケンスは、シーケンス・セットを形成するためには重複する可能性がある。例えば、シーケンスBS3_0ないしシーケンスBS3_M-1が、乱数プールから選択されることが可能である。そして、シーケンスBS3_0ないしシーケンスBS3_M-1は、シーケンス・セット{[BS3_0,...,BS3_M-1],[BS3_0,...,BS3_M-1]}を形成するために��複されることが可能である。従って、第3ナンバー・シーケンスBS3は、シーケンス・セットから幾つかのシーケンスをランダムに又は非ランダムに選択することにより決定されることが可能である。第1エンコーディング回路EN1は、複数の第2乱数シーケンスBS2を生成するために、ビット毎の排他的論理和機能を実行することが可能である。例えば、第2ナンバー・シーケンスBS2は、シーケンスBS2_0ないしシーケンスBS2_m’-1を含むことが可能である。シーケンスBS2_0は、シーケンスBS1_0とシーケンスBS3_0とを、ビット毎の排他的論理和関数を利用することにより合成することで生成されることが可能である。シーケンスBS2_1は、シーケンスBS1_1とシーケンスBS3_1とを、ビット毎の排他的論理和関数を利用することにより合成することで生成されることが可能である、等々。上述したように、第1ナンバー・シーケンスBS1は擬似乱数である。第3ナンバー・シーケンスBS3は、真性ランダムである(即ち、アンチヒューズに基づくPUFを利用することにより物理的に生成される)。第1エンコーディング回路EN1が、第1ナンバー・シーケンスBS1と第3ナンバー・シーケンスBS3とを結合して第2ナンバー・シーケンスBS2を生成した後では、第2ナンバー・シーケンスBS2の規則性は予測され得ない。
【００１５】
ランダム性に関し、複数の第1ナンバー・シーケンスBS1は、複数の第2ナンバー・シーケンスBS2及び複数の第3ナンバー・シーケンスBS3よりディスクリートではない(less  discrete)。更に、第2ナンバー・シーケンスBS2の規則性は予測できないので、第2ナンバー・シーケンスBS2は「真の」ランダム・シーケンスである。
【００１６】
更に、PUFエントロピー・デバイスPUFEDの乱数プールの容量条件は約2048ビット(2kビット)とすることが可能である。各々の第2ナンバー・シーケンスBS2の長さは32ビットに等しいとすることが可能である。各々の第3ナンバー・シーケンスBS2の長さは32ビットに等しいとすることが可能である。擬似乱数生成器PRNGにより生成される複数の第1ナンバー・シーケンスBS1は、長い擬似乱数ビット・ストリームを形成する。PUFエントロピー・デバイスPUFEDの乱数プールから選択される複数の第3ナンバー・シーケンスBS3は、短い真性乱数ビット・ストリームを形成する。第1エンコーディング回路EN1が、第1ナンバー・シーケンスBS1と第3ナンバー・シーケンスBS3とを結合して第2ナンバー・シーケンスBS2を生成した後、複数の第2ナンバー・シーケンスBS2は長い真性乱数ビット・ストリームを形成する。言い換えれば、真性乱数生成システム100は、セキュリティ・メカニズムに適用するための長い真性乱数生成ビット・ストリームを生成することが可能である。
【００１７】
任意の妥当なハードウェア修正は本発明の範囲内に該当する。例えば、別の実施形態では、擬似乱数生成器PRNGとPUFエントロピー・デバイスPUFEDとは結合されない。従って、少なくとも1つの制御シーケンスは、乱数プールに応じて決定されない。更に、少なくとも制御シーケンスは、ユーザー入力データ・ソース等の他のデータ・ソースにより提供、生成又は決定されてもよい。ここで、擬似乱数生成器PRNGは複数の第1ナンバー・シーケンスBS1を生成する一方、PUFエントロピー・デバイスPUFEDは複数の第3ナンバー・シーケンスBS3を生成する。エンコーディング回路EN1は、複数の第1ナンバー・シーケンスBS1と複数の第3ナンバー・シーケンスBS3とを受信し、複数の第2ナンバー・シーケンスBS2を出力する。
【００１８】
図2は真性乱数生成システム100に少なくとも1つの制御シーケンスを導入することについてのブロック図である。曖昧さを回避するために、以後、それは真性乱数生成システム200と呼ばれる。真性乱数生成システム200において、擬似乱数生成器PRNGは、制御シーケンス・セットを保存するためにメモリMEMを含むことが可能である。少なくとも1つの制御シーケンスは、PUFエントロピー・デバイスPUFEDの乱数プールに応じて制御シーケンス・セットから選択されることが可能である。例えば、少なくとも1つの制御シーケンスは、乱数プールに従って決定されるコンフィギュレーション・シーケンスCg1を含むことが可能である。コンフィギュレーション・シーケンスCg1は、複数のコンフィギュレーション・シードを含むことが可能である。複数のコンフィギュレーション・シードは、エンコーディング動作が第1エンコーディング回路EN1により実行される場合に、複数の第2ナンバー・シーケンスBS2と複数の第1ナンバー・シーケンスBS1との間のマッピング関係を決定するために使用されることが可能である。
【００１９】
少なくとも1つの制御シーケンスは、乱数プールに応じて決定される初期シーケンスIni1を含むことが可能である。初期シーケンスIni1は複数の初期シードを含むことが可能である。複数の初期シードは、擬似乱数生成器PRNGによりサポートされる全ての可能なナンバー・シーケンスのうちの、第1ナンバー・シーケンスBS1の初期ナンバー・シーケンスを示すために使用されることが可能である。少なくとも1つの制御シーケンスは、乱数プールに応じて決定されるスクランブル・シーケンスScr1を含むことが可能である。スクランブル・シーケンスScr1は複数のスクランブル・シードを含むことが可能である。複数のスクランブル・シードは、複数の第1ナンバー・シーケンスBS1のビット割当をスクランブルするために使用されることが可能である。更に、コンフィギュレーション・シーケンスCg1、初期シーケンスIni1、及びスクランブル・シーケンスScr1の制御セットのコードワード空間は、異なるものとすることが可能である。また、コンフィギュレーション・シーケンスCg1、初期シーケンスIni1、及びスクランブル・シーケンスScr1は、任意の妥当なアルゴリズム、変換関数、又は数値コンバータを使用することにより乱数プールに応じて生成されることが可能である。真性乱数生成システム200に関し、PUFエントロピー・デバイスPUFEDの乱数プールのランダム・コードは、制御セットから選択される少なくとも1つの制御シーケンスを「設定する(configuring)」ために使用されることが可能である。例えば、32ビットの長さを有する初期シーケンスIni1に関し、対応するコードワード空間は、232-1個の可能なバリエーションを含む。32ビットの長さを有するスクランブル・シーケンスScr1に関し、対応するコードワード空間は、232個の可能なバリエーションを含む。更に、乱数プールから選択されるランダム・コードのビット・マッピングは、合理的に設計されることが可能である。例えば、乱数プールのランダム・コードの1対1ビット・マッピング又は非1対1ビット・マッピングが、導入されることが可能である。例えば、ランダム・コード・ビット[0]は、1対1ビット・マッピング機能を使用することにより、制御セットの決定論的ランダム・シーケンスのビット[0]に対応することが可能である。ランダム・コード・ビット[1]及び[27]は、非1対1マッピング関数を使用することにより、制御セットの決定論的ランダム・シーケンスのビット[15]に対応することが可能である。ランダム・コード・ビット[5]は、非1対1マッピング関数を使用することにより、制御セットの決定論的ランダム・シーケンスのビット[2]及び[12]に対応することが可能である。真性乱数生成システム200では、コンフィギュレーション・シーケンスCg1、初期シーケンスIni1、及びスクランブル・シーケンスScr1は、乱数プールに応じてランダムに選択されることが可能であるので、擬似乱数生成器PRNGにより生成される第1ナンバー・シーケンスBS1のランダム性は増やされることが可能である。従って、第1エンコーディング回路En1が第1ナンバー・シーケンスBS1と第3ナンバー・シーケンスBS3とを結合して複数の第2ナンバー・シーケンスBS2を生成した後、それらの規則性は予測されることが困難であるので、複数の第2ナンバー・シーケンスBS2は、セキュリティ・メカニズムに適用する高いセキュリ���ィ・レベルを提供することが可能である。
【００２０】
図3は真性乱数生成システム200にクロック信号を導入することについてのブロック図である。曖昧さを回避するために、以後、それは真性乱数生成システム300と呼ばれる。セキュリティ・レベルを増進するために、真性乱数生成システム300は、第1クロック信号CLK1と第2クロック信号CLK2とを導入することが可能である。第1クロック信号CLK1と第2クロック信号CLK2とは異なるものとすることが可能である。擬似乱数生成器PRNGの少なくとも1つの制御シーケンス(即ち、コンフィギュレーション・シーケンスCg1、初期シーケンスIni1、及びスクランブル・シーケンスScr1)は、第1クロック信号CLK1に応じて更新されることが可能である。複数の第3ナンバー・シーケンスBS3は、第2クロック信号CLK2に応じて、PUFエントロピー・デバイスPUFEDの乱数プールから順番に選択されることが可能である。例えば、コンフィギュレーション・シーケンスCg1、初期シーケンスIni1、及びスクランブル・シーケンスScr1は、32クロック毎に同時に更新されることが可能である。更に、コンフィギュレーション・シーケンスCg1、初期シーケンスIni1、及びスクランブル・シーケンスScr1はまた個別的に更新されることも可能である。例えば、コンフィギュレーション・シーケンスCg1は、512クロック毎に更新されることが可能である。初期シーケンスIni1は、128クロック毎に更新されることが可能である。スクランブル・シーケンスScr1は、32クロック毎に更新されることが可能である。更に、第3シーケンスBS3は、第1エンコーディング回路EN1により受信される。コンフィギュレーション・シーケンスCg1、初期シーケンスIni1、及びスクランブル・シーケンスScr1は、論理プロセスを使用することにより更新されることが可能である。例えば、クロック数が7までカウントされた場合に、第1エンコーディング回路EN1により受信される第3ナンバー・シーケンスBS3は、更新されることが可能である。クロック数が32までカウントされた場合に、スクランブル・シーケンスScr1は、更新されることが可能である。クロック数が128までカウントされた場合に、初期シーケンスIni1は、更新されることが可能である。クロック数が512までカウントされた場合に、コンフィギュレーション・シーケンスCg1は、更新されることが可能である。更に、第3クロック信号CLK3が、真性乱数生成システム300に導入されることが可能である。擬似乱数生成器PRNGの複数の第1ナンバー・シーケンスBS1は、第3クロック信号CLK3に応じて第1エンコーディング回路EN1により順次に受信されることが可能である。設計の柔軟性を拡張するために、第1クロック信号CLK1、第2クロック信号CLK2及び/又は第3クロック信号CLK3は、固定される又は時間経過により変えられることが可能である。従って、第1クロック信号CLK1、第2クロック信号CLK2及び/又は第3クロック信号CLK3を導入することにより、複数の第2ナンバー・シーケンスBS2のランダム性及びスループットは柔軟に調整されることが可能である。
【００２１】
図4は真性乱数生成システム100に第2エンコーディング回路を導入することについてのブロック図である。曖昧さを回避するために、以後、それは真性乱数生成システム400と呼ばれる。出力されるランダム・シーケンスのランダム性を増加させ、乱数プール容量の条件を更に緩和するために、乱数生成システム400に第2エンコーディング回路EN2が導入されることが可能である。第2エンコーディング回路EN2は、第1エンコーディング回路EN1及びPUFエントロピー・デバイスPUFEDに結合され、複数の第2ナンバー・シーケンスBS2と複数の第5ナンバー・シーケンスBS5とに応じて、複数の第4ナンバー・シーケンスBS4を生成する。ここで、エンコーディング動作を実行するために、少なくとも1つのクロック(即ち、第1クロック信号CLK1、第2クロック信号CLK2、及び/又は第3クロック信号CLK3)が、第1エンコーディング回路EN1及び第2エンコーディング回路EN2により必要とされるので、乱数プールから選択される複数の第3ナンバー・シーケンスBS3の割り当ては、少なくとも1クロックにわたって循環的にシフトされる。例えば、複数の第3ナンバー・シーケンスBS3は、{[BS3_0,...,BS3_M-1],[BS3_0,...,BS3_M-1],...}という形式でシーケンス・セットから初期に選択される。(例えば、2クロックのような)ある期間の後に、シーケンス・セット{[BS3_0,...,BS3_M-1],[BS3_0,...,BS3_M-1],...}は、シーケンス・セット{[BS3_2,...,BS3_M-1],  [BS3_0,...,BS3_M-1],BS3_0,BS3_1,...}となる。従って、複数の第5ナンバー・シーケンスBS5は、シーケンス・セット{[BS3_2,...,BS3_M-1],  [BS3_0,...,BS3_M-1],BS3_0,BS3_1,...}から選択されることが可能である。言い換えれば、複数の第3ナンバー・シーケンスBS3の割り当てが少なくとも1つのクロックにわたって循環的にシフトされた後に、複数の第5ナンバー・シーケンスBS5が生成されることが可能である。真性乱数生成システム400では、上述したように、PUFエントロピー・デバイスPUFEDの乱数プールは、短い真性乱数ストリームを提供することが可能である。擬似乱数生成器PRNGは、長い擬似乱数ビット・ストリームを提供することが可能である。従って、第1エンコーディング回路EN1は、低い規則性とともに長い真性乱数シーケンス(即ち、第2ナンバー・シーケンスBS2)を生成することが可能である。更に、第2エンコーディング回路EN2は、ほぼ非規則性の長い真性乱数ストリーム(即ち、第4ナンバー・シーケンスBS4)を出力することが可能である。言い換えれば、真性乱数生成システム400におけるPUFエントロピー・デバイスPUFEDの乱数プールの容量条件は、真性乱数生成システム100におけるPUFエントロピー・デバイスPUFEDの乱数プールの容量条件より少ない。例えば、真性乱数生成システム100におけるPUFエントロピー・デバイスPUFEDの乱数プールの容量条件は、約2048ビット(2kビット)である。しかしながら、真性乱数生成システム400におけるPUFエントロピー・デバイスPUFEDの乱数プールの容量条件は、約1024ビット(1kビット)である。更に、複数の第2ナンバー・シーケンスBS2が生成された後に、更に乱数プールの情報が複数の第4ナンバー・シーケンスBS2を生成するために導入されるので、複数の第4ナンバー・シーケンスBS4は、複数の第2ナンバー・シーケンスBS2よりも豊富にディスクリートである。
【００２２】
図5は図4の真性乱数生成システム400にレジスタREG及び選択ユニットSLを導入することについてのブロック図である。曖昧さを回避するために、以後、それは真性乱数生成システム500と呼ばれる。出力されるランダム・シーケンスのランダム性を更に増加させるため、レジスタREG及び選択ユニットSLが乱数生成システム500に導入されることが可能である。選択ユニットSLは、PUFエントロピー・デバイスPUFEDに結合され、乱数プールに応じて選択信号を生成する。代替的に、選択ユニットSLの選択信号は、ユーザーにより決定されることが可能である。言い換えれば、選択ユニットSLの選択信号は、別のデータ・ソースにより提供、生成、又は決定されることが可能である。レジスタREGは、第1エンコーディング回路EN1と選択ユニットSLとに結合され、第1エンコーディング回路EN1から出力される各々の第2ナンバー・シーケンスBS2をバッファリングする。第3エンコーディング回路EN3は、レジスタREGと選択ユニットSLとに結合され、複数の第7ナンバー・シーケンスBS7と複数の第8ナンバー・シーケンスBS8とに応じて複数の第6ナンバー・シーケンスBS6を生成する。複数の第7ナンバー・シーケンスBS7は、レジスタREGから順次に出力される。複数の第3ナンバー・シーケンスBS3の割り当てが少なくとも1つのクロックにわたって循環的にシフトされた後に、複数の第8ナンバー・シーケンスBS8が選択ユニットSLにより生成される。詳細は以下で説明される。上述したように、複数の第3ナンバー・シーケンスBS3は、{[BS3_0,...,BS3_M-1],[BS3_0,...,BS3_M-1]}の形式でシーケンス・セットから初期に選択される。(例えば、2クロック等の)ある期間の後に、シーケンス・セット{[BS3_0,...,BS3_M-1],[BS3_0,...,BS3_M-1]}は、シーケンス・セット{[BS3_2,...,BS3_M-1],[BS3_0,...,BS3_M-1],BS3_0,BS3_1}になり、第5ナンバー・シーケンスBS5として決定される。その後、シーケンス・セット{[BS3_2,...,BS3_M-1],[BS3_0,...,BS3_M-1],BS3_0,BS3_1}を含む第5ナンバー・シーケンスBS5の割り当ては、選択ユニットSLを使用することにより、シーケンス・セット{BS3_2,...,BS3_0,BS3_M-1,BS3_1,...}として再構成されることが可能である。複数の第8ナンバー・シーケンスBS8は、再構成されたシーケンス・セットから選択されることが可能である。言い換えれば、各々の第8ナンバー・シーケンスBS8は、乱数プールに応じて、シーケンス・セット{[BS3_2,...,BS3_M-1],[BS3_0,...,BS3_M-1],BS3_0,BS3_1}(即ち、第5ナンバー・シーケンスBS5)の1つのシーケンスによりランダムに選択されることが可能である。更に、複数の第3ナンバー・シーケンスBS3は巡回シフト期間を有する(即ち、例えば、巡回シフト期間はMシーケンスに等しい)。選択ユニットSLは、マッピング関数に従って、複数の第3ナンバー・シーケンスBS3の割り当てを再構成する(即ち、マッピング関数は、PUFに基づく任意のアルゴリズムであるとすることが可能である)。複数の第3ナンバー・シーケンスBS3の割り当てを再構成する最大割り当てオフセットは、巡回シフト期間より短い又は等しい。例えば、シーケンス・セット{[BS3_2,...,BS3_M-1],[BS3_0,...,BS3_M-1],BS3_0,BS3_1}の場合に、シーケンスBS3_2が選択ユニットSLにより先ず選択され、その後に第3エンコーディング回路EN3に出力されることが可能である。しかしながら、最大割り当てオフセットがM+1に等しい場合、シーケンスBS3_2が依然として選択され、その後に第3���ンコーディング回路EN3に出力される。従って、第3エンコーディング回路EN3に出力される隣接するシーケンスが異なることを保証するために、最大割り当てオフセットは巡回シフト期間以下であることが必要である。真性乱数生成システム500では、複数の第7ナンバー・シーケンスBS7が、選択ユニットSLの選択信号に応じてレジスタにより複数の第2ナンバー・シーケンスBS2の中から選択される。第7ナンバー・シーケンスBS7の生成の詳細が以下に説明される。
【００２３】
図6は真性乱数生成システム500の第1エンコーディング回路EN1と第3エンコーディング回路EN3との間のシーケンス選択プロセスの例である。ここで、第1エンコーディング回路EN1の複数の第2ナンバー・シーケンスBS2は、グループG1ないしグループGQ等のようにQ個のグループに区分けされることが可能である。Qは2の冪乗である正の整数である。各グループは幾つかのシーケンスを含む。例えば、グループG1はシーケンスBS2_0ないしシーケンスBS2_15を含む。グループG2はシーケンスBS2_16ないしシーケンスBS2_31を含む、等々。更に、選択信号は複数のスイッチ・コマンドを含む。各々のスイッチ・コマンドは、各々の第2ナンバー・シーケンスBS2に対応する。第2ナンバー・シーケンスBS2のスイッチ・コマンドが非選択状態に対応する場合(例えば、シーケンスBS2_1はレジスタREGによって選択されておらず、BS2_1(UNSEL)として示されている)、第2ナンバー・シーケンスBS2はレジスタREGによりドロップにされる。スイッチ・コマンドが選択状態に対応する場合(例えば、シーケンスBS2_0はレジスタREGにより選択されており、BS2_0(SEL)として示されている)、第2ナンバー・シーケンスBS2は選択され、その後、第7ナンバー・シーケンスBS7としてレジスタREGにより出力される。例えば、グループG1において、シーケンスBS2_0は、選択状態のスイッチ・コマンドに対応する。従って、シーケンスBS2_0は、レジスタREGにより選択され、第3エンコーディング回路EN3に出力される。シーケンスBS2_1ないしBS2_15は、非選択状態のスイッチ・コマンドに対応する。従って、シーケンスBS2_1ないしBS2_15は、レジスタREGによってドロップにされる。グループG2において、シーケンスBS2_18は、選択状態のスイッチ・コマンドに対応する。従って、シーケンスBS2_18は選択され、第3エンコーディング回路EN3に出力される。シーケンスBS2_16ないしBS2_17及びBS2_19ないしBS2_31は、非選択状態のスイッチ・コマンドに対応する。従って、シーケンスBS2_16ないしBS2_17及びBS2_19ないしBS2_31は、レジスタREGによってドロップにされる。言い換えれば、各々の第7ナンバー・シーケンスBS7が、複数の第2ナンバー・シーケンスBS2の各グループから選択された後に、レジスタREGは、Q個の第7ナンバー・シーケンスBS7を順次に出力する(即ち、BS2_0→BS2_18→．．．)。同様に、第3エンコーディング回路EN3は、複数の第6ナンバー・シーケンスBS6を生成するために、ビット毎の排他的論理和機能を実行することが可能である。例えば、第3エンコーディング回路EN3は、ビット毎の排他的論理和機能を使用することにより図5におけるシーケンスBS3_2と図6におけるBS2_0とを結合し、第6ナンバー・シーケンスBS6を生成する。
【００２４】
真性乱数生成システム500では、上述したように、PUFエントロピー・デバイスPUFEDの乱数プールは、短い真性乱数ストリームを提供することが可能である。擬似乱数生成器PRNGは長い擬似乱数ビット・ストリームを提供することが可能である。従って、第1エンコーディング回路EN1は、低い規則性とともに、長い真性乱数ストリーム(即ち、第7ナンバー・シーケンスBS7)を出力することが可能である。更に、第2エンコーディング回路EN2は、ほぼ非規則性の長い真性乱数ストリーム(即ち、第6ナンバー・シーケンスBS6)を出力することが可能である。言い換えれば、真性乱数生成システム500におけるPUFエントロピー・デバイスPUFEDの乱数プールの容量条件は、真性乱数生成システム100におけるPUFエントロピー・デバイスPUFEDの乱数プールの容量条件より少ない。例えば、真性乱数生成システム100におけるPUFエントロピー・デバイスPUFEDの乱数プールの容量条件は約2048ビット(2kビット)である。しかしながら、真性乱数生成システム500におけるPUFエントロピー・デバイスPUFEDの乱数プールの容量条件は約1024ビット(1kビット)である。更に、複数の第7ナンバー・シーケンスBS7が生成された後、乱数プールの情報は、複数の第6ナンバー・シーケンスBS6を生成するために再び導入されるので、複数の第6ナンバー・シーケンスBS6は、複数の第7ナンバー・シーケンスBS7よりも豊富にディスクリートである。
【００２５】
真性乱数生成システム100ないし500において、任意の妥当なハードウェアの変形は、本発明の範囲内に属する。例えば、乱数生成システム200において、PUFエントロピー・デバイスPUFEDの乱数プールの容量が十分に大きい場合、コンフィギュレーション・シーケンスCg1、初期シーケンスIni1、及びスクランブル・シーケンスScr1は、クロック毎に変更されることが可能である。従って、擬似乱数生成器PRNGから出力されるナンバー・シーケンス(即ち、第1ナンバー・シーケンスBS1)は、セキュリティ・メカニズムに直接的に適用するための、長い真性乱数ビット・ストリームを形成することが可能である。言い換えれば、第1エンコーディング回路EN1は省略されることが可能である。更に、PUFエントロピー・デバイスPUFEDの乱数プールが非常に大きい場合、乱数プールから選択されるナンバー・シーケンスは、セキュリティ・メカニズムに直接的に適用するための、長い真性乱数ビット・ストリームを形成することが可能である。従って、擬似乱数生成器PRNGも省略されることが可能である。
【００２６】
更に、第1エンコーディング回路EN1、第2エンコーディング回路EN2、及び第3エンコーディング回路EN3は、合理的に変形されることが可能である。例えば、排他的論理和オペレータを使用する代わりに、任意のビット毎の論理オペレータが、第1エンコーディング回路EN1、第2エンコーディング回路EN2、及び第3エンコーディング回路EN3に適用されることが可能である。
【００２７】
要するに、本発明は真性乱数生成システム及びその修正されたハードウェア構造を開示する。真性乱数生成システムの目的は、長い真性乱数ビット・ストリームを生成することである。特に、長い真性乱数ビット・ストリームは、短い真性乱数ビット・ストリームと長い擬似ランダム・ビット・ストリームとを結合することにより生成されることが可能である。更に、短い真性乱数ビットは、任意の物理的複製困難機能(PUF)を使用することにより生成される乱数プールから選択される。乱数プールの情報は、長い真性乱数ビット・ストリームを生成するために使用されるので、長い真性乱数ビット・ストリームの規則性は、予測困難である。従って、長い真性乱数ビット・ストリームをセキュリティ・メカニズム(即ち、例えば、指紋データ暗号化メカニズム)に適用することにより、不法ハッカー又はデータ盗用者はデータの内容を特定又は復元することはできず、なぜなら彼らは貪欲法(a  greedy  search  method)を使用してプライバシー・データの規則性を予測することはできないからである。従って、本発明の真性乱数生成システムは、優れたセキュリティ信頼性を提供し、データ漏洩の機会を減らすことが可能である。
【００２８】
発明の教示を保持しつつ、デバイス及び方法の多数の変形及び代替が為されてよいことに、当業者は容易に気付くであろう。従って、上記の開示は添付の特許請求の範囲の境界によってのみ制限されるように理解されるべきである。
【図１】
2019192220.tif 000003
【図２】
2019192220.tif 000004
【図３】
2019192220.tif 000005
【図４】
2019192220.tif 000006
【図５】
2019192220.tif 000007
【図６】
2019192220.tif 000008
【外国語明細書】
2019192220000001.pdf