(57)【特許請求の範囲】
【請求項１】
少なくとも１つのセキュリティアプリケーションに従ってランダムビットを生成するよう構成される集積回路を有する装置であって、
前記集積回路は、アナログコアを有する真性乱数生成装置を有し、
前記真性乱数生成装置は、
前記アナログコアに電力を供給するよう構成される内部的に生成された電源を有する電圧レギュレータと、
前記内部的に生成された電源をモニタし、前記アナログコアに供給される電力が第１閾値以下に低下するか若しくは超過する又は第２閾値以下に低下するか若しくは超過する場合、ビット生成を中断するよう構成される電力低下検出回路と、
を有し、
前記内部的に生成された電源は、前記電圧レギュレータから導かれ、
前記電圧レギュレータは、外部電圧供給により駆動される装置。
【請求項２】
前記真性乱数生成装置に係る内部電圧をテストするよう構成される可観測性ポートをさらに有する、請求項１記載の装置。
【請求項３】
前記可観測性ポートは、ボール電圧を検出し、前記ボール電圧が前記電圧レギュレータの電圧範囲外である場合、ビット生成を中断するよう構成される電圧検出回路に動作接続される、請求項２記載の装置。
【請求項４】
前記真性乱数生成装置は、前記アナログコアによって生成されるクロックを介し制御される、請求項１記載の装置。
【請求項５】
ホストプロセッサと、
少なくとも１つのメモリと、
少なくとも１つのセキュリティアプリケーションに従ってランダムビットを生成するよう構成される集積回路を有するシステムであって、
前記集積回路は、アナログコアを有する真性乱数生成装置を有し、
前記真性乱数生成装置は、
前記アナログコアに電力を供給するよう構成される内部的に生成された電源を有する電圧レギュレータと、
前記内部的に生成された電源をモニタし、前記アナログコアに供給される電力が第１閾値以下に低下するか若しくは超過する又は第２閾値以下に低下するか若しくは超過する場合、ビット生成を中断するよう構成される電力低下検出回路と、
を有し、
前記内部的に生成された電源は、前記電圧レギュレータから導かれ、
前記電圧レギュレータは、外部電圧供給により駆動されるシステム。
【請求項６】
前記集積回路に係るＭＥ（Ｍａｎａｇｅａｂｉｌｉｔｙ  Ｅｎｇｉｎｅ）をさらに有し、
前記ＭＥは、前記真性乱数生成装置を制御するよう構成されるファームウェアを有する、請求項５記載のシステム。
【請求項７】
前記真性乱数生成装置に係る内部電圧をテストするよう構成される可観測性ポートをさらに有する、請求項５記載のシステム。
【請求項８】
前記可観測性ポートは、ボール電圧を検出し、前記ボール電圧が前記電圧レギュレータの電圧範囲外である場合、ビット生成を中断するよう構成される電圧検出回路に動作接続される、請求項７記載のシステム。
【請求項９】
前記真性乱数生成装置は、前記アナログコアにより生成されるクロックを介し制御される、請求項５記載のシステム。
【請求項１０】
アナログコアを有する真性乱数生成装置を有する集積回路を介し少なくとも１つのセキュリティアプリケーションに従ってランダムビットを生成するステップと、
内部的に生成された電源を介し、前記真性乱数生成装置に係る電圧レギュレータを介し前記アナログコアに電力を供給するステップと、
電力低下検出回路を介し前記内部的に生成された電源をモニタし、前記アナログコアに供給される電力が第１閾値以下に低下するか若しくは超過する又は第２閾値以下に低下するか若しくは超過する場合、ビット生成を中断するステップと、
を有し、
前記内部的に生成された電源は、前記電圧レギュレータから導かれ、
前記電圧レギュレータは、外部電圧供給により駆動される方法。
【請求項１１】
可観測性ポートを介し前記真性乱数生成装置に係る内部電圧をテストするステップをさらに有する、請求項１０記載の方法。
【請求項１２】
前記可観測性ポートは、ボール電圧を検出し、前記ボール電圧が前記電圧レギュレータの電圧範囲外である場合、ビット生成を中断するよう構成される電圧検出回路に動作接続される、請求項１０記載の方法。
【請求項１３】
アナログコアを有する真性乱数生成装置を有する集積回路を介し少なくとも１つのセキュリティアプリケーションに従ってランダムビットを生成するステップと、
内部的に生成された電源を介し、前記真性乱数生成装置に係る電圧レギュレータを介し前記アナログコアに電力を供給するステップと、
電力低下検出回路を介し前記内部的に生成された電源をモニタし、前記アナログコアに供給される電力が第１閾値以下に低下するか若しくは超過する又は第２閾値以下に低下するか若しくは超過する場合、ビット生成を中断するステップと、
をコンピュータに実行させるためのコンピュータプログラムであって、
前記内部的に生成された電源は、前記電圧レギュレータから導かれ、
前記電圧レギュレータは、外部電圧供給により駆動されるコンピュータプログラム。
【請求項１４】
可観測性ポートを介し前記真性乱数生成装置に係る内部電圧をテストするステップをさらに前記コンピュータに実行させるための、請求項１３記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、乱数生成装置に関し、より詳細には、攻撃免疫性を有する真性乱数生成装置に関する。
【背景技術】
【０００２】
暗号化技術は、良好な乱数を必要とする。乱数生成装置は、Ｒｉｖｅｓｔ，Ｓｈａｍｉｒ，Ａｄｅｌｍａｎ（ＲＳＡ）、デジタル署名アルゴリズム（ＤＳＡ）、Ｄｉｆｆｉｅ―Ｈｅｌｍａｎなどの非対称アルゴリズムのための公開／秘密鍵ペアを生成するため必要とされるかもしれない。乱数生成装置は、何れかの識別可能なパターンが欠落した数及び／又はシンボルのシーケンスを生成するよう設計された計算装置であるかもしれない。セキュリティプロトコルはそれらが使用する鍵の予測不能性に依存するため、暗号化アプリケーションのための乱数生成装置はときには厳しい要求を満たす必要がある。
【０００３】
乱数を生成するのに利用される２つの主要な方法がある。擬似乱数生成装置（ＰＲＮＧ）は、決定的なプロセスを利用して初期的なシード状態から出力シーケンスを生成する。すなわち、システムの以降の状態の進展にランダム性は関与しない。他方、真性乱数生成装置（ＴＲＮＧ）は、非決定的なソースを使用してランダム性を生成する。一部のＴＲＮＧは、熱ノイズ、大気ノイズ、原子核崩壊などの予測不能な自然処理を測定することによって動作する。様々な攻撃脆弱性からシステムを防御するよう構成される乱数生成装置が求められるかもしれない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の課題は、攻撃免疫性を備えた真性乱数生成装置に係る発明を提供することである。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本発明の一特徴は、少なくとも１つのセキュリティアプリケーションに従ってランダムビットを生成するよう構成される集積回路を有する装置であって、前記集積回路は、アナログコアを有する真性乱数生成装置を有し、前記真性乱数生成装置は、前記アナログコアに電力を供給するよう構成される内部的に生成された電源を有するよう構成される電圧レギュレータを有する装置に関する。
【０００６】
本発明の他の特徴は、ホストプロセッサと、少なくとも１つのメモリと、少なくとも１つのセキュリティアプリケーションに従ってランダムビットを生成するよう構成される集積回路を有するシステムであって、前記集積回路は、アナログコアを有する真性乱数生成装置を有し、前記真性乱数生成装置は、前記アナログコアに電力を供給するよう構成される内部的に生成された電源を有する電圧レギュレータを有するシステムに関する。
【０００７】
本発明の他の特徴は、アナログコアを有する真性乱数生成装置を有する集積回路を介し少なくとも１つのセキュリティアプリケーションに従ってランダムビットを生成するステップと、内部的に生成された電源を介し、前記真性乱数生成装置に係る電圧レギュレータを介し前記アナログコアに電力を供給するステップとを有する方法に関する。
【０００８】
本発明の他の特徴は、マシーンによる実行時、アナログコアを有する真性乱数生成装置を有する集積回路を介し少なくとも１つのセキュリティアプリケーションに従ってランダムビットを生成するステップと、内部的に生成された電源を介し、前記真性乱数生成装置に係る電圧レギュレータを介し前記アナログコアに電力を供給するステップとを実行させる命令を格納した記憶媒体を有する物に関する。
【発明の効果】
【０００９】
本発明によると、攻撃免疫性を備えた真性乱数生成装置に係る発明を提供することができる。
【発明を実施するための最良の形態】
【００１０】
一般に、本開示は、攻撃免疫性を備えた真性乱数生成装置について記載する。ここに記載される少なくとも１つの実施例では、少なくとも１つのセキュリティアプリケーションに従ってランダムビットを生成するよう構成される集積回路が提供される。この集積回路は、アナログコアを有する真性乱数生成装置を含むかもしれない。真性乱数生成装置はまた、内部生成された電源をアナログコアに提供するよう構成される電圧レギュレータを有するかもしれない。
【００１１】
図１は、本開示によるシステム１００の実施例を示す。システム１００は、ホストプロセッサ１０２、チップセット回路１０４及びシステムメモリ１０６を有する。ホストプロセッサ１０２は、１以上のプロセッサコアを有し、システムソフトウェア（図示せず）を実行するよう構成される。システムソフトウェアは、例えば、オペレーティングシステムソフトウェア（ＯＳカーネルコードなど）及びローカルエリアネットワーク（ＬＡＮ）ドライバコードなどを有するかもしれない。チップセット回路１２０は、一般にプロセッサ１０２、システムメモリ１０６及びバス回路１０８の間の通信を制御する“ノースブリッジ”回路１０４を有するかもしれない。バス回路は、“ノースブリッジ”回路１０４と各コンポーネント１１０ａ〜ｃとの間の通信を提供するためのＰＣＩ−Ｅｘｐｒｅｓｓ通信プロトコルに準拠したＩ／Ｏバス回路を有するかもしれない。各コンポーネント１１０ａ〜ｃは、以下に限定されるものでないが、ビデオ／グラフィック１１０ａ及び／又は他の周辺コントローラ１１０ｃを含むかもしれない。また、チップセット回路１２０は、以下に限定されるものでないが、バスアーキテクチャ、Ｉ／Ｏ、ストレージ、オーディオコーデック、メモリ、ファームウェア、電力管理、クロック生成、ＬＡＮ及びワイヤレスＬＡＮ（ＷＬＡＮ）を含む各種コンポーネントとホストシステムとの間のＩ／Ｏ通信を制御するよう構成される“サウスブリッジ”回路１１０ｂを含むかもしれない。もちろん、他の多くのコンポーネントが、システム１００に従って利用されるかもしれない。
【００１２】
いくつかの実施例では、チップセット１２０の“ノースブリッジ”１０４は、真性乱数生成装置（ＴＲＮＧ）１１２を有するかもしれない。ＴＲＮＧ１１２は、チップセット１２０の“ノースブリッジ”１０４の内部に設けられるかもしれないＭＥ（Ｍａｎａｇｅａｂｉｌｉｔｙ  Ｅｎｇｉｎｅ）１１４により制御されるかもしれない。ＴＲＮＧ１１２は、乱数ビットストリームを生成するよう構成されるアナログコアを含むかもしれない。アナログコアが外部電圧変化又はノイズを受けた場合、アナログコアにおいて生成されるデータのランダム性（エントロピー）は変化するかもしれない。このため、当該データから生成される鍵及び暗号化コードは、安全性が低くなるかもしれない。ここに記載される実施例では、アナログコアは、それを外部的な影響から保護するよう構成される各種回路により包囲されるかもしれない。ＴＲＮＧ１１２のアナログコアからのデータは、さらなる精緻化及び収集のため、ＭＥ１１４にわたされるかもしれない。
【００１３】
図２を参照するに、ＭＥ２００の実施例が示される。いくつかの実施例では、ＭＥ２００は、チップセット１２０のノースブリッジ１０４の内部に埋め込まれたマイクロコントローラとして機能するかもしれない。ＭＥ２００は、ホストプロセッサ１０２と共に及び／又は独立してタスクを処理するよう構成される。ＭＥ２００は、自らのマイクロコードとレジスタファイルとを有するかもしれない。一部のマイクロコードはＲＯＭに格納され、他のルーチンはメモリから安全な手段を介しロードされるかもしれない。ＭＥ２００は、乱数生成装置制御（ＲＮＧ  ＣＴＲＬ）及び状態マシーン回路２０２を介しＴＲＮＧ１１２の動作を制御するかもしれない。特定のマイクロコードの実行に応答して、ＴＲＮＧ１１２は、ランダムビットストリームを生成することが有効とされるか、又は電力をセーブすることが不可とされるかもしれない。
【００１４】
ＴＲＮＧ１１２からＭＥ２００にわたされるデータは、ＶＮＣ（Ｖｏｎ  Ｎｅｕｍａｎｎ  Ｃｏｒｒｅｃｔｏｒ）回路２０４にわたされるかもしれない。アナログコアにより生成されるデータは、バイアスを有する、すなわち、“０”よりも“１”が多いか又はその反対に“１”よりも“０”が多くなるかもしれない。ＶＮＣ回路２０４は、ビットの各ペアを解析し、それらが等しくない場合、第１のものを選択するよう構成される。ビットペア“００”と“１１”とは完全に無視されるかもしれない。このため、ＶＮＣ回路２０４は、バイアスのあるランダムストリームからバイアスの一部又はすべてを取り除くよう構成される。いくつかの実施例では、ＶＮＣ回路２０４により処理される各データペアの間にあるビットはまた、以前の状態依存性を低減するため破棄されるかもしれない。例えば、これは、ある状態にあるフリップフロップが状態を変更するよりも当該状態に留まることを所望する確率が若干高いときに発生するかもしれない。同一の値を有するビットペアの確率が実質的に等しいため、平均的に６つのビットのほぼ１つのみがＶＮＣ回路２０４を通過するかもしれない。以下のテーブル１において、ＶＮＣ回路２０４を介したデータ変換の可能性のある１つの具体例が示される。テーブル１は、ＶＮＣ回路２０４の入出力データを示す。いくつかの実施例では、３ビットシーケンスの最終ビットは、値に関係なく破棄されるかもしれない。ＶＮＣ回路２０４の出力は、第１ビットが第２ビットに一致しないときの３ビットシーケンスの第１ビットとなるかもしれない。
【００１５】
【表１】
0004879964.tif 000002
当該データがＶＮＣ回路２０４によりフィルタリングされると、それはシフトレジスタ回路２０６にシフトされるかもしれない（３２ビットなど）。シフトレジスタ回路２０６がフルであるとき、データは第２データレジスタ２０８に転送されるかもしれない。そこから、シフトレジスタ制御（Ｓ／Ｒ  Ｃｔｒｌ）回路２１２によってＭＥコア２１０により読み込まれるかもしれない。データレジスタ２０８の読み込み処理は、レジスタ２０８を“エンプティ”にするかもしれない。他方、シフトレジスタ回路２０６は再び充填されるかもしれない。データレジスタ２０８がエンプティである場合、新たなランダムデータがデータレジスタ２０８に転送される。データレジスタ２０８がエンプティでない場合（すなわち、ＭＥコア２１０により読み込まれていない）、Ｓ／Ｒ  Ｃｔｒｌ２１２は、データレジスタ２０８がエンプティになるまでシフトレジスタ回路２０６を維持する。ＶＮＣ回路２０４から受信されるデータは破棄されるかもしれない。いくつかの実施例では、ＭＥコア回路２１０は、ＶＮＣ回路２０４を介し生成されるデータの一部又はすべてを取得及び破棄するよう構成される。
【００１６】
図３を参照するに、真性乱数生成装置（ＴＲＮＧ）回路３００の実施例が示される。ＴＲＮＧ回路３００は、ＭＥ２００と動作接続される。ＴＲＮＧ３００は、アナログコア回路３０２、電圧レギュレータ回路３０４、電力低下検出回路３０６、電圧検出回路３０８及び可観測性ポート３１０を有する。
【００１７】
アナログコア３０２は、少なくとも１つのアンプ３０５にノイズ入力３０３を提供するよう構成される少なくとも１つのレジスタ（２つの５０ｋΩレジスタなど）、低周波数電圧制御オシレータ（ＬＦＯ）回路３０７、高周波数オシレータ（ＨＦＯ）回路３０９及びデータラッチ３１１を有するかもしれない。これらの主要セクションは、電源に関するノイズに対して可能な限り免疫性を備えるよう差動回路により構成されるかもしれない。これらのセクションはまた、供給電圧に対して低い感度を有するよう構成されるかもしれない。例えば、特定の実施例は、ノイズ又はレプリカバイアスを共有するた感度を低減するよう構成されたカスケード技術を利用するか、及び／又はキャリブレーション技術が、供給誘導変化を相殺するのに利用されるかもしれない。
【００１８】
いくつかの実施例では、ランダムデータのソース（すなわち、エントロピーソース）は、少なくとも１つのレジスタに係る熱ノイズであるかもしれない。熱ノイズは、すべての周波数におけるフラットな電力密度による白色ノイズであるかもしれない。例えば、２つの実質的に同一のレジスタが、示差熱ノイズ入力３０３を少なくとも１つのアンプ３０５に提供するかもしれない。いくつかの実施例では、これらのレジスタは５０〜７５ｋΩの抵抗値を有するよう選択され、これにより、以下の式１により与えられるような約６０μＶの名目的な熱ノイズを生じさせる。もちろん、他の抵抗値もまた、異なる値の熱ノイズを生成するのに利用されるかもしれない。
【００１９】
【数１】
0004879964.tif 000003
ただし、Ｋはボルツマンの定数、Ｔはケルビンによる温度、Ｒは抵抗値、Δｆはノイズが測定される帯域幅である。
【００２０】
いくつかの実施例では、差動ノイズ熱入力３０３が、約２５０〜６００のゲインを有するアンプ３０５（スリーステージアンプなど）に送信されるかもしれない。アンプ３０５は、１ｋＨｚオフセットキャンセレーションサイクルとＡＣ接続されるかもしれない（オフセットノイズを取得するためステージ間にキャパシタなどを有する）。要求されるゲインを実現するため、アンプは、大きなゲインを有する単一のステージを有するよう構成されてもよいし、又は複数のステージがカスケード接続されてもよい。各ステージは、相対的に低く安定したゲイン（４〜１０など）と低いオフセット（＜５ｍＶなど）を有するかもしれない。指定されたタイムフレーム中（各ミリ秒など）、アンプ３０５は、レジスタのノイズが再び通過することを許可する前に、各ステージのオフセットを取得する短いシーケンスを処理する。これは、小さなノイズ信号を圧倒するオフセットをキャンセルするだけでなく、周波数電力スペクトルを変更するかもしれない１ｋＨｚ以下の低周波数１／ｆノイズをキャンセルするかもしれない。アンプ３０５がオフセットのキャンセルを実行している間、ＭＥ２００は、この時点では十分にはランダムなものとならないかもしれないため、ＴＲＮＧ回路３００からのデータを無視するよう構成されるかもしれない。ＭＥ２００はまた、アンプ３０５がビット受付前に適切な動作を回復するための時間を許可するよう構成されるかもしれない。例えば、アンプがウェイクアップ、オフセットをキャンセル又は安定化している段階において、生成されるビットはある程度の非ランダム性を有するかもしれない。このウェイクアップ、オフセットキャンセル及び安定化段階中にビットを拒絶するようＭＥを構成することによって、生成されるビットのランダムさが増大されるかもしれない。いくつかの実施例では、キャンセル化及び安定化シーケンスは、合計のビット生成時間の５％しか占めないかもしれない。
【００２１】
いくつかの実施例では、アンプ３０５の出力は、差動電圧信号としてＬＦＯ回路３０７に供給される。ＬＦＯ回路３０７は、約６００ｋＨｚの中心周波数で動作するよう構成されるかもしれない。アンプの出力電圧は、ＬＦＯ回路３０７に約２．０ＭＨｚ／ｖｏｌｔの周波数ゲインを有する入力信号レベルに比例して周波数を変更させるかもしれない。この結果、エントロピーソースにより生成されるランダム電圧は、ＬＦＯ回路３０７からランダム周波数スプレッドに変わるかもしれない。ＬＦＯ出力は、供給ノイズからの影響を低下させるため、高速遷移ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ−Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）信号に波形整形（準正弦波など）されるかもしれない。
【００２２】
いくつかの実施例では、高周波数オシレータ（ＨＦＯ）回路３０９は、約３００〜５００ＭＨｚで動作するよう構成されるリングタイプオシレータを有するかもしれない。周波数は主としてプロセスに依存するが、所与のユニットについて固定されてもよい。周波数はやや温度に依存するかもしれない。ＨＦＯ周波数は、主要な攻撃機構となるかもしれない電圧に相対的に感度が低くなるよう選択されるかもしれない。
【００２３】
いくつかの実施例では、ＨＦＯ回路３０９の出力は、ＭＥ２００の状態マシーン回路２０２とＲＮＧ  ＣＴＲＬを導出するため、５１２により除されるかもしれない。これは、ＲＮＧ  ＣＴＲＬ回路２０２に外部の影響から独立したクロックを提供するかもしれない。後述されるように、ＲＮＧ  ＣＴＲＬ及び状態マシーン回路２０２からＴＲＮＧ回路３００への出力は、適切なＴＲＮＧ動作のため指定されたタイミング範囲内であるかもしれない。他のクロックソースは、ＴＲＮＧ回路３００について可能な攻撃ポイントとなりうる外部的に変更されるクロックに依存するかもしれない。
【００２４】
ＨＦＯ回路３０９は、クロックデータ信号を生成し、この信号をデータラッチ３１１への入力として提供するよう構成されるかもしれない。ＨＦＯ回路３０９からの出力は、それを実質的にノイズ免疫性のあるものにするため、差動信号としてラッチ３１１に送信される。ラッチ３１１は、ＬＦＯ回路３０７によりクロックされるかもしれない。ＨＦＯ回路３０９は、約１０００倍速くなるかもしれず、ＬＦＯ周波数変調は、２０以上のＨＦＯ期間に等しい範囲においてそれのエッジを移動する。ＬＦＯ回路３０７からの周波数がランダムであるかもしれないため、それがＨＦＯオシレータ出力をサンプリングするポイントはランダムであるかもしれず、サンプリングされたＨＦＯサイクルの範囲は広い可能性があるため、ＨＦＯ回路３０９について５０％のデューティサイクルを仮定すると、１又は０をサンプリングするＬＦＯ回路の確率は一様になる。ＨＦＯ回路３０９は、名目的な５０％のデューティサイクルを有するよう構成されるかもしれない。例えば、ＨＦＯ回路３０９は、ＨＦＯから５０％のデューティサイクルを与えるため、出力ステージにおいて２分周回路を有するよう構成されるかもしれない。一部のバイアスが、依然としてデータストリームに入るかもしれない。ＶＮＣ回路２０４は、このバイアスを取り除くため使用されるかもしれない。
【００２５】
いくつかの実施例では、データラッチ３１１は、以前の状態依存性を有さず、ＨＦＯ回路３０９からの出力をサンプリングするよう構成されるかもしれない。例えば、データラッチ３１１の各ステージは、反転バッファを用いて隔離されるかもしれない。データラッチ３１１の出力は、ゲートレベルシフタ（図示せず）を介しＭＥ２００のＶＮＣ回路２０４に供給されるかもしれない。レベルシフタは、アナログコア３０２のシグナリングレベルをＭＥ信号の異なる電圧に変換するよう構成されるかもしれない。ＭＥ２００からＴＲＮＧ回路３００への制御信号がまた、レベルシフタにより反対方向に変換されるかもしれない。レベルシフタは、ＭＥ２００がＴＲＮＧ回路３００の電源をオフするとき、又はＴＲＮＧ回路３００がＭＥ２００のオン前にオンされるとき、ドメイン間のシグナリングがアクティブとならないようにゲート処理されるかもしれない。ＭＥ２００とＴＲＮＧ回路３００は、異なる電源上にあるかもしれない。
【００２６】
いくつかの実施例では、アナログコア３０２は、システムの共有モードノイズを拒絶するため、完全に差動的なデータパスを有するよう構成されるかもしれない。ここに記載されるように、電源におけるノイズの存在は、差動回路に影響を与えるかもしれない。この影響は、コア３０２における共通モードレベルに影響を与えるアナログコア３０２の両サイドにおいて同一であるかもしれない。次の差動入力は、良好な共通モード拒絶を有す量設計され、これにより、ノイズの影響を排除することができる。例えば、アンプ回路３０５は、デジタル処理における実際的な制限が８０ｄＢに制限されるかもしれないが、３００ｄＢの理論的な拒絶を有するかもしれない。差動回路のＰＳＲＲと電圧レギュレータ３０４により提供されるノイズ低減は、供給におけるノイズを低減するため組み合わされるかもしれない。
【００２７】
いくつかの実施例では、ここに記載されるアナログ回路は、電源拒絶レシオを向上させるようカスコードされるかもしれない。カスコードは、アナログ回路の出力インピーダンスを向上させる回路技術であり、これにより、供給変化により免疫性を持たせることができる。一実施例では、カスコード設計は、０．９Ｖと同程度の低さで動作するよう構成されるかもしれない（ＴＲＮＧ回路３００が製造されるシリコン処理の一例となる電圧は、１．２５Ｖであるかもしれない）。さらに、折り畳まれたカスコード方法は、要求される動作供給電圧を低下させるため利用されるかもしれない。電圧レギュレータ３０４は、１．０５ボルトを目標とするかもしれない。回路はより低い電圧で動作するかもしれないため、電力低下検出回路３０６が作動する前に電圧レギュレータ３０４にわたされる小さな変化でさえ、アナログコア３０２を故障させないかもしれない。
【００２８】
電圧レギュレータ３０４、電力低下検出回路（ＰＤＤＥＴ）３０６、電圧検出回路３０８及び可観測性ポート３１０が、データストリームのエントロピーに影響を与える外部の影響又は攻撃を防ぐ又は検出するよう構成されるかもしれない。これらのコンポーネントはそれぞれ、以下においてさらに詳細に説明される。
【００２９】
いくつかの実施例では、電圧レギュレータ３０４は、ＴＲＮＧ回路３００のアナログコア回路３０２に電圧を提供するよう構成されるかもしれない。アナログコア回路３０２は、電圧レギュレータ回路３０４を介し供給される内部的に生成された電源に対して動作するかもしれない。この構成は、潜在的なハッカーが供給を変調することによって回路要素の動作を危険にさらす能力を低下させるかもしれない。電圧レギュレータ回路３０４は、コア電圧により駆動される低電圧バンドギャップから基準電圧を受け取るかもしれない。これは、電圧を安定化させ、バンドギャップの動作範囲内で電圧変調又は低周波数ノイズに対する免疫性を提供するよう機能するかもしれない。より高い周波数では（約１０ＭＨｚなど）、電源ノイズを拒絶するバンドギャップの能力は（ＰＳＲＲにより測定されるような）、さらに悪化し、実際にノイズを増幅し始めるかもしれない。いくつかの実施例では、アナログコア供給を防御するため、基準電圧は、この増幅されたノイズと他の何れかの高周波数ノイズを取り除くため、シンプルな二極ＲＣフィルタによりローパスフィルタリングされるかもしれない。
【００３０】
いくつかの実施例では、電圧レギュレータ回路３０４の供給電圧は、メモリ電力供給（ＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）など）などのノイズ供給となるよう選択されるかもしれない。このノイズ供給は、ＴＲＮＧ回路３００より多くの電力を消費し、供給電流シグネチャからのビット検出を防ぐかもしれない。電圧レギュレータ回路３０４により駆動される各回路により消費される電流は、電力供給により供給される合計電流の僅かな部分であるかもしれない。電力供給電流は、電流が供給から引き込まれると低下するかもしれず、これにより、“１”が示される。引き込まれる電流の量が電圧源により供給されるネットの電流の僅かな部分である場合、“１”又は“０”の確率を検出することは困難となるかもしれない。アナログコア回路３０２の供給電流の読み込みは、そこで生成されるデータストリームに情報を提供するかもしれない。すべての主要な要素について完全に差動的な回路を使用することは、ネットの電流をより安定的なものにし、異なるデータ出力について実質的に異なるものとならないかもしれない。電圧レギュレータ３０４の電力源は、入出力からの高周波数ノイズを取り除くため、強力にフィルタリングされるかもしれない。さらに、何れの電流シグネチャがエスケープするかは、ＤＤＲブロックのより高いノイズの規模のオーダによりマスクされるかもしれない。例えば、ＤＤＲ供給電圧に関するノイズは約２００ｍＶの最大振幅であるかもしれないが、ＴＲＮＧにより生成されるノイズはわずか数ミリボルトであるかもしれない。
【００３１】
いくつかの実施例では、ＴＲＮＧ回路３００は、外部アクセスから保護されるかもしれない。すなわち、ＴＲＮＧ回路３００への直接的なアクセスを提供可能な専用の供給、ピン又はボールは存在しないかもしれない。さらに、ＴＲＮＧ回路３００は、何れかセキュアでないソフトウェア機構を介しアクセスから防御されるかもしれない。以下に記載されるテストモードの例外では、ＴＲＮＧ回路３００は、ユーザ、ハッカー又は他のセキュアでないアクセス機構による制御アクセスを許可しないかもしれない。ＴＲＮＧ回路３００は、ＭＥファームウェアを介し制御されるかもしれない。ＴＲＮＧ回路３００の制御は、このファームウェアのセキュリティを介し保護されるかもしれない。
【００３２】
いくつかの実施例では、ＴＲＮＧ回路３００は、アナログコア回路３０２内で生成されるクロックにより制御されるかもしれない。このため、ＴＲＮＧ回路３００を制御するのにプラットフォーム上で利用可能なクロックを使用しないことによって、クロックを危険にさらすことによる攻撃の可能性が回避されるかもしれない。外部クロックは使用されず、これにより、セキュアでないファームウェアを使用した処理が回避される。ＨＦＯ回路３０９は、ＴＲＮＧ制御ロジックに対するクロックのソースであるかもしれない。このクロックは、プロセス、電圧及び温度に亘って相対的に安定した構成を有するよう構成されるかもしれず、シンプルなオシレータより安定的であるかもしれない。ＨＦＯ回路３０９により生成される周波数の範囲は、回路の可変性を追跡及び低減するよう構成される定相互コンダクタンス（Ｇｍ）回路により安定化されるかもしれない。クロックは、電圧レギュレータ回路３０４及び／又はＰＤＤＥＴ回路３０６により保護されるかもしれない。このため、ここに記載される実施例は、チップセット１２０の“ノースブリッジ”１０４により通常使用される外部クロックドライバソースを利用せず（フロントサイドバス、メモリ又はグラフィックスのためなど）、サウスブリッジ上でリアルタイムクロック（ＲＴＣ）を使用して生成されないかもしれない。これらのソースは、クロック期間を危険にさらし、ＴＲＮＧ制御ロジックのタイミングにおそらく影響を与えるよう攻撃されるかもしれない。
【００３３】
いくつかの実施例では、ＨＦＯ回路３０９は、テール電流が安定的な基準回路により供給される電流制御オシレータとなるよう設計されるかもしれない。基準回路は、折り畳まれたカスコード（Ｇｍ）バイアスに基づく電流基準回路設計を利用することによって、相対的な安定した電流を提供するよう設計されるかもしれない。ＨＦＯ回路３０９の各ステージは、折り畳まれたカスコードステージを有するよう構成されるかもしれない。電流制御オシレータ及び基準生成装置は、電圧レギュレータ回路３０４により駆動されるかもしれない。これは、クロックがプロセス、電圧及び温度に亘って相対的に安定的であることを保証するかもしれない。
【００３４】
図４を参照するに、電力低下検出回路（ＰＤＤＥＴ）４００の実施例が示される。ＴＲＮＧ３００は、電力低下検出回路４００を使用して、例えば、電力が所定の最小閾値以下に低下した場合など、供給ラインに脅威が検出された場合、ビット生成を中断するかもしれない。供給電圧のノイズ（ＡＣ＋ＤＣ）がバンドギャップがもはや安定した電圧を生成できないレベルの近傍になった場合、又は電圧レギュレータ回路３０４がノイズを適切にフィルタリングすることを中止した場合、ＰＤＤＥＴ４００は、ビット生成を中断し、状態マシーン２０２をリセットする信号を送信するかもしれない。電力が安定的でなく、瞬間的な最小閾値以下に低下した場合、ＰＤＤＥＴ４００の比較手段は、ＲＮＧ  ＣＴＲＬ及び状態マシーン回路２０２に信号を送信するかもしれない。例えば、この検出が２ナノ秒の期間である場合、ＲＮＧ  ＣＴＲＬ２０２はそれを取得し、ＶＮＣ２０４のパイプラインのビットを即座に無効にし、最小時間でそれのオフセットキャンセル状態にＴＲＮＧアナログコア回路３０２を戻すかもしれない。ＰＤＤＥＴ４００が不良な電圧レベルを検出し続ける場合、ＴＲＮＧ回路３００はこの非アクティブ状態に維持されるかもしれない。ＰＤＤＥＴ４００が非アクティブになったときに限って、ＴＲＮＧ回路３００にはオフセットシーケンスの残りが送信され、ビット生成が続けられる。いくつかの実施例では、ＴＲＮＧ３００の２つの電力供給機能が存在するため（ＶＣＣＡ＿ＤＤＲとＶＣＣ＿ＤＤＲ電圧など）、両者が付属の検出手段を有し、何れかの供給において攻撃が検出されるかもしれない。
【００３５】
いくつかの実施例では、バンドギャップ４０２は、約６４０ｍＶ（Ｖ６４０）の基準電圧を比較手段４０４と４０６に提供するかもしれない。バンドギャップは、コア供給“ＶＣＣＡ＿ＤＤＲ”から電力供給されるかもしれない。バンドギャップ４０２は、所与の電圧（１．０ボルトなど）以下では動作を保証しないかもしれない。“ＶＣＣＡ＿ＤＤＲ”の電圧が１．０ボルト以上である場合、レジスタ分周装置４１０は、基準電圧Ｖ６４０以上の電圧を比較手段４０４に生成し、比較手段４０４の出力電圧はゼロとなるかもしれない。“ＶＣＣＡ＿ＤＤＲ”が１．０ボルト以下に低下した場合、レジスタ分周装置４１０は、基準電圧Ｖ６４０以下の電圧を生成し、比較手段４０４の出力電圧は、論理“１”となるかもしれない。ＯＲゲート４０８の出力もまた論理“１”となり、ビット生成を中断するようＰＤＤＥＴ信号をトリガーするかもしれない。比較手段４０４への供給は、ＤＤＲメモリ供給“ＶＣＣ＿ＤＤＲ”からのものであるかもしれない。このため、比較手段は、それがモニタしている供給から独立しているかもしれない。
【００３６】
ＴＲＮＧアナログコア３０２の内部電圧レギュレータへの供給は、ＤＤＲメモリ供給“ＶＣＣ＿ＤＤＲ”からのものであり、レジスタ分周装置４１２及び比較手段４０６によりモニタされるかもしれない。電圧レギュレータ３０４は、所与の電圧（１．１５ボルトなど）以下で動作することが保証されないかもしれない。レジスタ分周装置４１２は、“ＶＣＣ＿ＤＤＲ”が１．１５ボルト以下に低下したとき、すなわち、比較手段４０６の出力を論理“１”に移行させ、ＯＲゲート４０８にビット生成を中断させるＰＤＤＥＴ信号を送信させるとき、基準電圧Ｖ６４０より低い電圧を生成するかもしれない。比較手段４０４と同様に、比較手段４０６が、それがモニタしていない“ＶＣＣＡ＿ＤＤＲ”供給から駆動されるかもしれない。
【００３７】
上記説明は主としてレジスタ分周装置４１０と４１２により形成される閾値電圧以下に低下した外部供給電圧を処理するが、外部電圧が安全な動作範囲又は閾値電圧を超えているか検出することが可能であるかもしれない。いくつかの実施例では、これは、ＰＤＤＥＴ信号を駆動するため、ＯＲゲート４０８上の２つの追加された入力に接続される出力を有する第２の比較手段セット（図示せず）に接続される第２のレジスタ分周装置セットにより形成される第２の閾値セットにより実行されるかもしれない。
【００３８】
図５を参照するに、電圧検出回路５００の実施例が示される。図３を参照して上述されるように、ＴＲＮＧ回路３００は、内部ＤＣ電圧をテストする可観測性ポート３１０と動作ポイントとを有するかもしれない。このように、デバック及び／又は製造テストのためのテストモードを提供するためのボールが利用されるかもしれない。このテストモードへのアクセスは、フューズにより不可とされ、テストモードボールはＶＳＳに接続されるかもしれない。電圧検出回路５００は、可能性のある攻撃者がボールを特定し、それを利用してＴＲＮＧ回路３００へのエントリを可能にすることを防ぐよう構成されるかもしれない。電圧検出回路５００は、ボール電圧を検知し、ボールが電圧レギュレータ３０４の内部電圧の近傍に又は以上に引き上げられた場合、ビット生成を中断するよう可観測性ポート３１０（ピンなど）に設けられるかもしれない。いくつかの実施例では、電圧検出回路５００は、ＰＤＤＥＴ４００と同様の回路を有するかもしれない。テストボール上の電圧が十分高く引き上げられた場合、ボールの周りの各回路のプラスチックダイオードは、電流をＴＲＮＧアナログコア回路３０２に提供するかもしれない。これは、ボール上の電圧を検出することによって防ぐことができる。電圧が高すぎる場合、ＴＲＮＧ回路３００からのビット生成は、攻撃が中止されるまで中断されるかもしれない。このアプローチは、図４に関して上述されるようなＰＤＤＥＴ４００と同様であるかもしれない。
【００３９】
いくつかの実施例では、レジスタ分周装置５０８は、比較手段５０２に対してコア電圧“ＶＣＣＡ＿ＤＤＲ”からの電圧レギュレータの出力を超えない基準電圧を生成するかもしれない。この基準電圧は、可観測性ポート３１０（ピン“ＶＣＣ＿ＴＳＴＲＮＧ”５０６）上の電圧と比較されるかもしれない。“ＶＣＣ＿ＴＳＴＲＮＧ”５０６上の電圧がレジスタ分周装置５０８からの基準電圧を超える場合、比較手段５０２からの出力は、ビット生成を中止させるための新たなバージョンのＰＤＤＥＴ信号をＯＲゲート５０４に送信させる論理“１”レベルに移行するかもしれない。ボールがテスト用に使用されるとき、比較手段は不可とされるかもしれない。通常動作中、比較手段は有効とされ、トランジスタプルダウン及びレジスタ合成５１０が、“ＶＣＣ＿ＴＳＴＲＮＧ”５０６が他の何れかの駆動源がない場合に低くなることを保証するため、“ＶＣＣ＿ＴＳＴＲＮＧ”５０６上でプルダウンするのに利用されるかもしれない。
【００４０】
図３を参照して上述されるように、可観測性ポート３１０が、ボール電圧を検出し、ボール電圧が電圧レギュレータ回路３０４の電圧範囲外である場合、ビット生成を中断するよう構成される電圧検出回路３０８に動作接続されるかもしれない。ＴＲＮＧ回路が生成されるシリコンプロセスは、可観測性ポート上の接地電位以下の電圧の影響を受けないが、他のプロセスはこの問題を有するかもしれない。低電圧の検出は、ＰＤＤＥＴＮＥＷ信号を駆動するためＯＲゲート５０４上のさらなる入力に接続されたそれの出力を有する他の比較手段（図示せず）により実行されるかもしれない。
【００４１】
図６は、本開示による一例となる処理のフローチャート６００を示す。一実施例では、各処理は、アナログコアを有する真性乱数生成装置を有する集積回路を介し少なくとも１つのセキュリティアプリケーションによりランダムビットを生成する（６０２）ことを含むかもしれない。各処理はさらに、真性乱数生成装置に係る電圧レギュレータを介しアナログコアに内部的に生成された電源を提供する（６０４）ことを含むかもしれない。もちろん、さらなる処理もまた本開示の範囲内である。
【００４２】
ここでの実施例に使用された“メモリ”という用語は、半導体ファームウェアメモリ、プログラマブルメモリ、不揮発性メモリ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、電気的プログラマブルメモリ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ、磁気ディスクメモリ、及び／又は光ディスクメモリの１以上のタイプのメモリを含むかもしれない。
【００４３】
さらに又はあるいは、メモリは他の及び／又は以降に開発されるタイプのコンピュータ可読メモリを含むかもしれない。ここに記載される方法の実施例は、システムに方法を実行させるようプログラムするための命令を有する記憶媒体に格納可能なコンピュータプログラムに実装されてもよい。記憶媒体は、以下に限定されるものでないが、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−ＲＷ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−ＲｅＷｒｉｔａｂｌｅ）、光磁気ディスクなどの何れかのタイプのディスク、及びＲＯＭ、、ダイナミック及びスタティックＲＡＭなどのＲＡＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）、フラッシュメモリ、磁気若しくは光カードなどの半導体装置、又は電子命令を格納するのに適した何れかのタイプの媒体を含むかもしれない。他の実施例は、プログラム可能な制御装置により実行されるソフトウェアモジュールとして実現されるかもしれない。
【００４４】
ここでの実施例に使用される“回路”という用語は、例えば、配線回路、プログラマブル回路、状態マシーン回路、及び／又はプログラマブル回路により実行される命令を格納するファームウェアを単独で又は組み合わせて有するかもしれない。
【００４５】
ここでの実施例に使用される“セキュリティアプリケーション”という用語は、例えば、暗号化アプリケーション若しくはプロトコル、鍵管理スキーム、暗号又はコードブロックを保護するための何れか、及び／又は少なくとも１つのビットを生成するよう構成される何れかのシステムを含むかもしれない。
【００４６】
ここで使用された用語及び表現は、限定することなく説明のために使用され、このような用語及び表現の使用では、図示及び記載された各特徴の何れの等価物を排除することを意図したものでなく、各種変更が請求項の範囲内で可能であることが認識されるであろう。このような等価物をカバーするよう請求項は意図される。
【図面の簡単な説明】
【００４７】
【図１】図１は、本開示によるシステムの一実施例を示す。
【図２】図２は、本開示によるＭＥの一実施例を示す。
【図３】図３は、本開示による真性乱数生成装置の一実施例を示す。
【図４】図４は、本開示による電力低下検出装置の一実施例を示す。
【図５】図５は、本開示による電圧検出装置の一実施例を示す。
【図６】図６は、本開示による方法の一実施例を示す。
【符号の説明】
【００４８】
１００  システム
１０２  ホストプロセッサ
１０４  チップセット
１０６  システムメモリ
１１２  真性乱数生成装置
２００  ＭＥ
２０４  ＶＮＣ回路
【図１】
0004879964.tif 000004
【図２】
0004879964.tif 000005
【図３】
0004879964.tif 000006
【図４】
0004879964.tif 000007
【図５】
0004879964.tif 000008
【図６】
0004879964.tif 000009