説明

乱数生成装置

【課題】 本発明の課題は、攻撃免疫性を備えた真性乱数生成装置に係る発明を提供することである。
【解決手段】
本発明の一特徴は、少なくとも1つのセキュリティアプリケーションに従ってランダムビットを生成するよう構成される集積回路を有する装置であって、前記集積回路は、アナログコアを有する真性乱数生成装置を有し、前記真性乱数生成装置は、前記アナログコアに電力を供給するよう構成される内部的に生成された電源を有するよう構成される電圧レギュレータを有する装置に関する。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、乱数生成装置に関し、より詳細には、攻撃免疫性を有する真性乱数生成装置に関する。
【背景技術】
【0002】
暗号化技術は、良好な乱数を必要とする。乱数生成装置は、Rivest,Shamir,Adelman(RSA)、デジタル署名アルゴリズム(DSA)、Diffie―Helmanなどの非対称アルゴリズムのための公開/秘密鍵ペアを生成するため必要とされるかもしれない。乱数生成装置は、何れかの識別可能なパターンが欠落した数及び/又はシンボルのシーケンスを生成するよう設計された計算装置であるかもしれない。セキュリティプロトコルはそれらが使用する鍵の予測不能性に依存するため、暗号化アプリケーションのための乱数生成装置はときには厳しい要求を満たす必要がある。
【0003】
乱数を生成するのに利用される2つの主要な方法がある。擬似乱数生成装置(PRNG)は、決定的なプロセスを利用して初期的なシード状態から出力シーケンスを生成する。すなわち、システムの以降の状態の進展にランダム性は関与しない。他方、真性乱数生成装置(TRNG)は、非決定的なソースを使用してランダム性を生成する。一部のTRNGは、熱ノイズ、大気ノイズ、原子核崩壊などの予測不能な自然処理を測定することによって動作する。様々な攻撃脆弱性からシステムを防御するよう構成される乱数生成装置が求められるかもしれない。
【発明の開示】
【発明が解決しようとする課題】
【0004】
本発明の課題は、攻撃免疫性を備えた真性乱数生成装置に係る発明を提供することである。
【課題を解決するための手段】
【0005】
上記課題を解決するため、本発明の一特徴は、少なくとも1つのセキュリティアプリケーションに従ってランダムビットを生成するよう構成される集積回路を有する装置であって、前記集積回路は、アナログコアを有する真性乱数生成装置を有し、前記真性乱数生成装置は、前記アナログコアに電力を供給するよう構成される内部的に生成された電源を有するよう構成される電圧レギュレータを有する装置に関する。
【0006】
本発明の他の特徴は、ホストプロセッサと、少なくとも1つのメモリと、少なくとも1つのセキュリティアプリケーションに従ってランダムビットを生成するよう構成される集積回路を有するシステムであって、前記集積回路は、アナログコアを有する真性乱数生成装置を有し、前記真性乱数生成装置は、前記アナログコアに電力を供給するよう構成される内部的に生成された電源を有する電圧レギュレータを有するシステムに関する。
【0007】
本発明の他の特徴は、アナログコアを有する真性乱数生成装置を有する集積回路を介し少なくとも1つのセキュリティアプリケーションに従ってランダムビットを生成するステップと、内部的に生成された電源を介し、前記真性乱数生成装置に係る電圧レギュレータを介し前記アナログコアに電力を供給するステップとを有する方法に関する。
【0008】
本発明の他の特徴は、マシーンによる実行時、アナログコアを有する真性乱数生成装置を有する集積回路を介し少なくとも1つのセキュリティアプリケーションに従ってランダムビットを生成するステップと、内部的に生成された電源を介し、前記真性乱数生成装置に係る電圧レギュレータを介し前記アナログコアに電力を供給するステップとを実行させる命令を格納した記憶媒体を有する物に関する。
【発明の効果】
【0009】
本発明によると、攻撃免疫性を備えた真性乱数生成装置に係る発明を提供することができる。
【発明を実施するための最良の形態】
【0010】
一般に、本開示は、攻撃免疫性を備えた真性乱数生成装置について記載する。ここに記載される少なくとも1つの実施例では、少なくとも1つのセキュリティアプリケーションに従ってランダムビットを生成するよう構成される集積回路が提供される。この集積回路は、アナログコアを有する真性乱数生成装置を含むかもしれない。真性乱数生成装置はまた、内部生成された電源をアナログコアに提供するよう構成される電圧レギュレータを有するかもしれない。
【0011】
図1は、本開示によるシステム100の実施例を示す。システム100は、ホストプロセッサ102、チップセット回路104及びシステムメモリ106を有する。ホストプロセッサ102は、1以上のプロセッサコアを有し、システムソフトウェア(図示せず)を実行するよう構成される。システムソフトウェアは、例えば、オペレーティングシステムソフトウェア(OSカーネルコードなど)及びローカルエリアネットワーク(LAN)ドライバコードなどを有するかもしれない。チップセット回路120は、一般にプロセッサ102、システムメモリ106及びバス回路108の間の通信を制御する“ノースブリッジ”回路104を有するかもしれない。バス回路は、“ノースブリッジ”回路104と各コンポーネント110a〜cとの間の通信を提供するためのPCI−Express通信プロトコルに準拠したI/Oバス回路を有するかもしれない。各コンポーネント110a〜cは、以下に限定されるものでないが、ビデオ/グラフィック110a及び/又は他の周辺コントローラ110cを含むかもしれない。また、チップセット回路120は、以下に限定されるものでないが、バスアーキテクチャ、I/O、ストレージ、オーディオコーデック、メモリ、ファームウェア、電力管理、クロック生成、LAN及びワイヤレスLAN(WLAN)を含む各種コンポーネントとホストシステムとの間のI/O通信を制御するよう構成される“サウスブリッジ”回路110bを含むかもしれない。もちろん、他の多くのコンポーネントが、システム100に従って利用されるかもしれない。
【0012】
いくつかの実施例では、チップセット120の“ノースブリッジ”104は、真性乱数生成装置(TRNG)112を有するかもしれない。TRNG112は、チップセット120の“ノースブリッジ”104の内部に設けられるかもしれないME(Manageability Engine)114により制御されるかもしれない。TRNG112は、乱数ビットストリームを生成するよう構成されるアナログコアを含むかもしれない。アナログコアが外部電圧変化又はノイズを受けた場合、アナログコアにおいて生成されるデータのランダム性(エントロピー)は変化するかもしれない。このため、当該データから生成される鍵及び暗号化コードは、安全性が低くなるかもしれない。ここに記載される実施例では、アナログコアは、それを外部的な影響から保護するよう構成される各種回路により包囲されるかもしれない。TRNG112のアナログコアからのデータは、さらなる精緻化及び収集のため、ME114にわたされるかもしれない。
【0013】
図2を参照するに、ME200の実施例が示される。いくつかの実施例では、ME200は、チップセット120のノースブリッジ104の内部に埋め込まれたマイクロコントローラとして機能するかもしれない。ME200は、ホストプロセッサ102と共に及び/又は独立してタスクを処理するよう構成される。ME200は、自らのマイクロコードとレジスタファイルとを有するかもしれない。一部のマイクロコードはROMに格納され、他のルーチンはメモリから安全な手段を介しロードされるかもしれない。ME200は、乱数生成装置制御(RNG CTRL)及び状態マシーン回路202を介しTRNG112の動作を制御するかもしれない。特定のマイクロコードの実行に応答して、TRNG112は、ランダムビットストリームを生成することが有効とされるか、又は電力をセーブすることが不可とされるかもしれない。
【0014】
TRNG112からME200にわたされるデータは、VNC(Von Neumann Corrector)回路204にわたされるかもしれない。アナログコアにより生成されるデータは、バイアスを有する、すなわち、“0”よりも“1”が多いか又はその反対に“1”よりも“0”が多くなるかもしれない。VNC回路204は、ビットの各ペアを解析し、それらが等しくない場合、第1のものを選択するよう構成される。ビットペア“00”と“11”とは完全に無視されるかもしれない。このため、VNC回路204は、バイアスのあるランダムストリームからバイアスの一部又はすべてを取り除くよう構成される。いくつかの実施例では、VNC回路204により処理される各データペアの間にあるビットはまた、以前の状態依存性を低減するため破棄されるかもしれない。例えば、これは、ある状態にあるフリップフロップが状態を変更するよりも当該状態に留まることを所望する確率が若干高いときに発生するかもしれない。同一の値を有するビットペアの確率が実質的に等しいため、平均的に6つのビットのほぼ1つのみがVNC回路204を通過するかもしれない。以下のテーブル1において、VNC回路204を介したデータ変換の可能性のある1つの具体例が示される。テーブル1は、VNC回路204の入出力データを示す。いくつかの実施例では、3ビットシーケンスの最終ビットは、値に関係なく破棄されるかもしれない。VNC回路204の出力は、第1ビットが第2ビットに一致しないときの3ビットシーケンスの第1ビットとなるかもしれない。
【0015】
【表1】

当該データがVNC回路204によりフィルタリングされると、それはシフトレジスタ回路206にシフトされるかもしれない(32ビットなど)。シフトレジスタ回路206がフルであるとき、データは第2データレジスタ208に転送されるかもしれない。そこから、シフトレジスタ制御(S/R Ctrl)回路212によってMEコア210により読み込まれるかもしれない。データレジスタ208の読み込み処理は、レジスタ208を“エンプティ”にするかもしれない。他方、シフトレジスタ回路206は再び充填されるかもしれない。データレジスタ208がエンプティである場合、新たなランダムデータがデータレジスタ208に転送される。データレジスタ208がエンプティでない場合(すなわち、MEコア210により読み込まれていない)、S/R Ctrl212は、データレジスタ208がエンプティになるまでシフトレジスタ回路206を維持する。VNC回路204から受信されるデータは破棄されるかもしれない。いくつかの実施例では、MEコア回路210は、VNC回路204を介し生成されるデータの一部又はすべてを取得及び破棄するよう構成される。
【0016】
図3を参照するに、真性乱数生成装置(TRNG)回路300の実施例が示される。TRNG回路300は、ME200と動作接続される。TRNG300は、アナログコア回路302、電圧レギュレータ回路304、電力低下検出回路306、電圧検出回路308及び可観測性ポート310を有する。
【0017】
アナログコア302は、少なくとも1つのアンプ305にノイズ入力303を提供するよう構成される少なくとも1つのレジスタ(2つの50kΩレジスタなど)、低周波数電圧制御オシレータ(LFO)回路307、高周波数オシレータ(HFO)回路309及びデータラッチ311を有するかもしれない。これらの主要セクションは、電源に関するノイズに対して可能な限り免疫性を備えるよう差動回路により構成されるかもしれない。これらのセクションはまた、供給電圧に対して低い感度を有するよう構成されるかもしれない。例えば、特定の実施例は、ノイズ又はレプリカバイアスを共有するた感度を低減するよう構成されたカスケード技術を利用するか、及び/又はキャリブレーション技術が、供給誘導変化を相殺するのに利用されるかもしれない。
【0018】
いくつかの実施例では、ランダムデータのソース(すなわち、エントロピーソース)は、少なくとも1つのレジスタに係る熱ノイズであるかもしれない。熱ノイズは、すべての周波数におけるフラットな電力密度による白色ノイズであるかもしれない。例えば、2つの実質的に同一のレジスタが、示差熱ノイズ入力303を少なくとも1つのアンプ305に提供するかもしれない。いくつかの実施例では、これらのレジスタは50〜75kΩの抵抗値を有するよう選択され、これにより、以下の式1により与えられるような約60μVの名目的な熱ノイズを生じさせる。もちろん、他の抵抗値もまた、異なる値の熱ノイズを生成するのに利用されるかもしれない。
【0019】
【数1】

ただし、Kはボルツマンの定数、Tはケルビンによる温度、Rは抵抗値、Δfはノイズが測定される帯域幅である。
【0020】
いくつかの実施例では、差動ノイズ熱入力303が、約250〜600のゲインを有するアンプ305(スリーステージアンプなど)に送信されるかもしれない。アンプ305は、1kHzオフセットキャンセレーションサイクルとAC接続されるかもしれない(オフセットノイズを取得するためステージ間にキャパシタなどを有する)。要求されるゲインを実現するため、アンプは、大きなゲインを有する単一のステージを有するよう構成されてもよいし、又は複数のステージがカスケード接続されてもよい。各ステージは、相対的に低く安定したゲイン(4〜10など)と低いオフセット(<5mVなど)を有するかもしれない。指定されたタイムフレーム中(各ミリ秒など)、アンプ305は、レジスタのノイズが再び通過することを許可する前に、各ステージのオフセットを取得する短いシーケンスを処理する。これは、小さなノイズ信号を圧倒するオフセットをキャンセルするだけでなく、周波数電力スペクトルを変更するかもしれない1kHz以下の低周波数1/fノイズをキャンセルするかもしれない。アンプ305がオフセットのキャンセルを実行している間、ME200は、この時点では十分にはランダムなものとならないかもしれないため、TRNG回路300からのデータを無視するよう構成されるかもしれない。ME200はまた、アンプ305がビット受付前に適切な動作を回復するための時間を許可するよう構成されるかもしれない。例えば、アンプがウェイクアップ、オフセットをキャンセル又は安定化している段階において、生成されるビットはある程度の非ランダム性を有するかもしれない。このウェイクアップ、オフセットキャンセル及び安定化段階中にビットを拒絶するようMEを構成することによって、生成されるビットのランダムさが増大されるかもしれない。いくつかの実施例では、キャンセル化及び安定化シーケンスは、合計のビット生成時間の5%しか占めないかもしれない。
【0021】
いくつかの実施例では、アンプ305の出力は、差動電圧信号としてLFO回路307に供給される。LFO回路307は、約600kHzの中心周波数で動作するよう構成されるかもしれない。アンプの出力電圧は、LFO回路307に約2.0MHz/voltの周波数ゲインを有する入力信号レベルに比例して周波数を変更させるかもしれない。この結果、エントロピーソースにより生成されるランダム電圧は、LFO回路307からランダム周波数スプレッドに変わるかもしれない。LFO出力は、供給ノイズからの影響を低下させるため、高速遷移CMOS(Complementary Metal−Oxide Semiconductor)信号に波形整形(準正弦波など)されるかもしれない。
【0022】
いくつかの実施例では、高周波数オシレータ(HFO)回路309は、約300〜500MHzで動作するよう構成されるリングタイプオシレータを有するかもしれない。周波数は主としてプロセスに依存するが、所与のユニットについて固定されてもよい。周波数はやや温度に依存するかもしれない。HFO周波数は、主要な攻撃機構となるかもしれない電圧に相対的に感度が低くなるよう選択されるかもしれない。
【0023】
いくつかの実施例では、HFO回路309の出力は、ME200の状態マシーン回路202とRNG CTRLを導出するため、512により除されるかもしれない。これは、RNG CTRL回路202に外部の影響から独立したクロックを提供するかもしれない。後述されるように、RNG CTRL及び状態マシーン回路202からTRNG回路300への出力は、適切なTRNG動作のため指定されたタイミング範囲内であるかもしれない。他のクロックソースは、TRNG回路300について可能な攻撃ポイントとなりうる外部的に変更されるクロックに依存するかもしれない。
【0024】
HFO回路309は、クロックデータ信号を生成し、この信号をデータラッチ311への入力として提供するよう構成されるかもしれない。HFO回路309からの出力は、それを実質的にノイズ免疫性のあるものにするため、差動信号としてラッチ311に送信される。ラッチ311は、LFO回路307によりクロックされるかもしれない。HFO回路309は、約1000倍速くなるかもしれず、LFO周波数変調は、20以上のHFO期間に等しい範囲においてそれのエッジを移動する。LFO回路307からの周波数がランダムであるかもしれないため、それがHFOオシレータ出力をサンプリングするポイントはランダムであるかもしれず、サンプリングされたHFOサイクルの範囲は広い可能性があるため、HFO回路309について50%のデューティサイクルを仮定すると、1又は0をサンプリングするLFO回路の確率は一様になる。HFO回路309は、名目的な50%のデューティサイクルを有するよう構成されるかもしれない。例えば、HFO回路309は、HFOから50%のデューティサイクルを与えるため、出力ステージにおいて2分周回路を有するよう構成されるかもしれない。一部のバイアスが、依然としてデータストリームに入るかもしれない。VNC回路204は、このバイアスを取り除くため使用されるかもしれない。
【0025】
いくつかの実施例では、データラッチ311は、以前の状態依存性を有さず、HFO回路309からの出力をサンプリングするよう構成されるかもしれない。例えば、データラッチ311の各ステージは、反転バッファを用いて隔離されるかもしれない。データラッチ311の出力は、ゲートレベルシフタ(図示せず)を介しME200のVNC回路204に供給されるかもしれない。レベルシフタは、アナログコア302のシグナリングレベルをME信号の異なる電圧に変換するよう構成されるかもしれない。ME200からTRNG回路300への制御信号がまた、レベルシフタにより反対方向に変換されるかもしれない。レベルシフタは、ME200がTRNG回路300の電源をオフするとき、又はTRNG回路300がME200のオン前にオンされるとき、ドメイン間のシグナリングがアクティブとならないようにゲート処理されるかもしれない。ME200とTRNG回路300は、異なる電源上にあるかもしれない。
【0026】
いくつかの実施例では、アナログコア302は、システムの共有モードノイズを拒絶するため、完全に差動的なデータパスを有するよう構成されるかもしれない。ここに記載されるように、電源におけるノイズの存在は、差動回路に影響を与えるかもしれない。この影響は、コア302における共通モードレベルに影響を与えるアナログコア302の両サイドにおいて同一であるかもしれない。次の差動入力は、良好な共通モード拒絶を有す量設計され、これにより、ノイズの影響を排除することができる。例えば、アンプ回路305は、デジタル処理における実際的な制限が80dBに制限されるかもしれないが、300dBの理論的な拒絶を有するかもしれない。差動回路のPSRRと電圧レギュレータ304により提供されるノイズ低減は、供給におけるノイズを低減するため組み合わされるかもしれない。
【0027】
いくつかの実施例では、ここに記載されるアナログ回路は、電源拒絶レシオを向上させるようカスコードされるかもしれない。カスコードは、アナログ回路の出力インピーダンスを向上させる回路技術であり、これにより、供給変化により免疫性を持たせることができる。一実施例では、カスコード設計は、0.9Vと同程度の低さで動作するよう構成されるかもしれない(TRNG回路300が製造されるシリコン処理の一例となる電圧は、1.25Vであるかもしれない)。さらに、折り畳まれたカスコード方法は、要求される動作供給電圧を低下させるため利用されるかもしれない。電圧レギュレータ304は、1.05ボルトを目標とするかもしれない。回路はより低い電圧で動作するかもしれないため、電力低下検出回路306が作動する前に電圧レギュレータ304にわたされる小さな変化でさえ、アナログコア302を故障させないかもしれない。
【0028】
電圧レギュレータ304、電力低下検出回路(PDDET)306、電圧検出回路308及び可観測性ポート310が、データストリームのエントロピーに影響を与える外部の影響又は攻撃を防ぐ又は検出するよう構成されるかもしれない。これらのコンポーネントはそれぞれ、以下においてさらに詳細に説明される。
【0029】
いくつかの実施例では、電圧レギュレータ304は、TRNG回路300のアナログコア回路302に電圧を提供するよう構成されるかもしれない。アナログコア回路302は、電圧レギュレータ回路304を介し供給される内部的に生成された電源に対して動作するかもしれない。この構成は、潜在的なハッカーが供給を変調することによって回路要素の動作を危険にさらす能力を低下させるかもしれない。電圧レギュレータ回路304は、コア電圧により駆動される低電圧バンドギャップから基準電圧を受け取るかもしれない。これは、電圧を安定化させ、バンドギャップの動作範囲内で電圧変調又は低周波数ノイズに対する免疫性を提供するよう機能するかもしれない。より高い周波数では(約10MHzなど)、電源ノイズを拒絶するバンドギャップの能力は(PSRRにより測定されるような)、さらに悪化し、実際にノイズを増幅し始めるかもしれない。いくつかの実施例では、アナログコア供給を防御するため、基準電圧は、この増幅されたノイズと他の何れかの高周波数ノイズを取り除くため、シンプルな二極RCフィルタによりローパスフィルタリングされるかもしれない。
【0030】
いくつかの実施例では、電圧レギュレータ回路304の供給電圧は、メモリ電力供給(DDR(Double Data Rate)など)などのノイズ供給となるよう選択されるかもしれない。このノイズ供給は、TRNG回路300より多くの電力を消費し、供給電流シグネチャからのビット検出を防ぐかもしれない。電圧レギュレータ回路304により駆動される各回路により消費される電流は、電力供給により供給される合計電流の僅かな部分であるかもしれない。電力供給電流は、電流が供給から引き込まれると低下するかもしれず、これにより、“1”が示される。引き込まれる電流の量が電圧源により供給されるネットの電流の僅かな部分である場合、“1”又は“0”の確率を検出することは困難となるかもしれない。アナログコア回路302の供給電流の読み込みは、そこで生成されるデータストリームに情報を提供するかもしれない。すべての主要な要素について完全に差動的な回路を使用することは、ネットの電流をより安定的なものにし、異なるデータ出力について実質的に異なるものとならないかもしれない。電圧レギュレータ304の電力源は、入出力からの高周波数ノイズを取り除くため、強力にフィルタリングされるかもしれない。さらに、何れの電流シグネチャがエスケープするかは、DDRブロックのより高いノイズの規模のオーダによりマスクされるかもしれない。例えば、DDR供給電圧に関するノイズは約200mVの最大振幅であるかもしれないが、TRNGにより生成されるノイズはわずか数ミリボルトであるかもしれない。
【0031】
いくつかの実施例では、TRNG回路300は、外部アクセスから保護されるかもしれない。すなわち、TRNG回路300への直接的なアクセスを提供可能な専用の供給、ピン又はボールは存在しないかもしれない。さらに、TRNG回路300は、何れかセキュアでないソフトウェア機構を介しアクセスから防御されるかもしれない。以下に記載されるテストモードの例外では、TRNG回路300は、ユーザ、ハッカー又は他のセキュアでないアクセス機構による制御アクセスを許可しないかもしれない。TRNG回路300は、MEファームウェアを介し制御されるかもしれない。TRNG回路300の制御は、このファームウェアのセキュリティを介し保護されるかもしれない。
【0032】
いくつかの実施例では、TRNG回路300は、アナログコア回路302内で生成されるクロックにより制御されるかもしれない。このため、TRNG回路300を制御するのにプラットフォーム上で利用可能なクロックを使用しないことによって、クロックを危険にさらすことによる攻撃の可能性が回避されるかもしれない。外部クロックは使用されず、これにより、セキュアでないファームウェアを使用した処理が回避される。HFO回路309は、TRNG制御ロジックに対するクロックのソースであるかもしれない。このクロックは、プロセス、電圧及び温度に亘って相対的に安定した構成を有するよう構成されるかもしれず、シンプルなオシレータより安定的であるかもしれない。HFO回路309により生成される周波数の範囲は、回路の可変性を追跡及び低減するよう構成される定相互コンダクタンス(Gm)回路により安定化されるかもしれない。クロックは、電圧レギュレータ回路304及び/又はPDDET回路306により保護されるかもしれない。このため、ここに記載される実施例は、チップセット120の“ノースブリッジ”104により通常使用される外部クロックドライバソースを利用せず(フロントサイドバス、メモリ又はグラフィックスのためなど)、サウスブリッジ上でリアルタイムクロック(RTC)を使用して生成されないかもしれない。これらのソースは、クロック期間を危険にさらし、TRNG制御ロジックのタイミングにおそらく影響を与えるよう攻撃されるかもしれない。
【0033】
いくつかの実施例では、HFO回路309は、テール電流が安定的な基準回路により供給される電流制御オシレータとなるよう設計されるかもしれない。基準回路は、折り畳まれたカスコード(Gm)バイアスに基づく電流基準回路設計を利用することによって、相対的な安定した電流を提供するよう設計されるかもしれない。HFO回路309の各ステージは、折り畳まれたカスコードステージを有するよう構成されるかもしれない。電流制御オシレータ及び基準生成装置は、電圧レギュレータ回路304により駆動されるかもしれない。これは、クロックがプロセス、電圧及び温度に亘って相対的に安定的であることを保証するかもしれない。
【0034】
図4を参照するに、電力低下検出回路(PDDET)400の実施例が示される。TRNG300は、電力低下検出回路400を使用して、例えば、電力が所定の最小閾値以下に低下した場合など、供給ラインに脅威が検出された場合、ビット生成を中断するかもしれない。供給電圧のノイズ(AC+DC)がバンドギャップがもはや安定した電圧を生成できないレベルの近傍になった場合、又は電圧レギュレータ回路304がノイズを適切にフィルタリングすることを中止した場合、PDDET400は、ビット生成を中断し、状態マシーン202をリセットする信号を送信するかもしれない。電力が安定的でなく、瞬間的な最小閾値以下に低下した場合、PDDET400の比較手段は、RNG CTRL及び状態マシーン回路202に信号を送信するかもしれない。例えば、この検出が2ナノ秒の期間である場合、RNG CTRL202はそれを取得し、VNC204のパイプラインのビットを即座に無効にし、最小時間でそれのオフセットキャンセル状態にTRNGアナログコア回路302を戻すかもしれない。PDDET400が不良な電圧レベルを検出し続ける場合、TRNG回路300はこの非アクティブ状態に維持されるかもしれない。PDDET400が非アクティブになったときに限って、TRNG回路300にはオフセットシーケンスの残りが送信され、ビット生成が続けられる。いくつかの実施例では、TRNG300の2つの電力供給機能が存在するため(VCCA_DDRとVCC_DDR電圧など)、両者が付属の検出手段を有し、何れかの供給において攻撃が検出されるかもしれない。
【0035】
いくつかの実施例では、バンドギャップ402は、約640mV(V640)の基準電圧を比較手段404と406に提供するかもしれない。バンドギャップは、コア供給“VCCA_DDR”から電力供給されるかもしれない。バンドギャップ402は、所与の電圧(1.0ボルトなど)以下では動作を保証しないかもしれない。“VCCA_DDR”の電圧が1.0ボルト以上である場合、レジスタ分周装置410は、基準電圧V640以上の電圧を比較手段404に生成し、比較手段404の出力電圧はゼロとなるかもしれない。“VCCA_DDR”が1.0ボルト以下に低下した場合、レジスタ分周装置410は、基準電圧V640以下の電圧を生成し、比較手段404の出力電圧は、論理“1”となるかもしれない。ORゲート408の出力もまた論理“1”となり、ビット生成を中断するようPDDET信号をトリガーするかもしれない。比較手段404への供給は、DDRメモリ供給“VCC_DDR”からのものであるかもしれない。このため、比較手段は、それがモニタしている供給から独立しているかもしれない。
【0036】
TRNGアナログコア302の内部電圧レギュレータへの供給は、DDRメモリ供給“VCC_DDR”からのものであり、レジスタ分周装置412及び比較手段406によりモニタされるかもしれない。電圧レギュレータ304は、所与の電圧(1.15ボルトなど)以下で動作することが保証されないかもしれない。レジスタ分周装置412は、“VCC_DDR”が1.15ボルト以下に低下したとき、すなわち、比較手段406の出力を論理“1”に移行させ、ORゲート408にビット生成を中断させるPDDET信号を送信させるとき、基準電圧V640より低い電圧を生成するかもしれない。比較手段404と同様に、比較手段406が、それがモニタしていない“VCCA_DDR”供給から駆動されるかもしれない。
【0037】
上記説明は主としてレジスタ分周装置410と412により形成される閾値電圧以下に低下した外部供給電圧を処理するが、外部電圧が安全な動作範囲又は閾値電圧を超えているか検出することが可能であるかもしれない。いくつかの実施例では、これは、PDDET信号を駆動するため、ORゲート408上の2つの追加された入力に接続される出力を有する第2の比較手段セット(図示せず)に接続される第2のレジスタ分周装置セットにより形成される第2の閾値セットにより実行されるかもしれない。
【0038】
図5を参照するに、電圧検出回路500の実施例が示される。図3を参照して上述されるように、TRNG回路300は、内部DC電圧をテストする可観測性ポート310と動作ポイントとを有するかもしれない。このように、デバック及び/又は製造テストのためのテストモードを提供するためのボールが利用されるかもしれない。このテストモードへのアクセスは、フューズにより不可とされ、テストモードボールはVSSに接続されるかもしれない。電圧検出回路500は、可能性のある攻撃者がボールを特定し、それを利用してTRNG回路300へのエントリを可能にすることを防ぐよう構成されるかもしれない。電圧検出回路500は、ボール電圧を検知し、ボールが電圧レギュレータ304の内部電圧の近傍に又は以上に引き上げられた場合、ビット生成を中断するよう可観測性ポート310(ピンなど)に設けられるかもしれない。いくつかの実施例では、電圧検出回路500は、PDDET400と同様の回路を有するかもしれない。テストボール上の電圧が十分高く引き上げられた場合、ボールの周りの各回路のプラスチックダイオードは、電流をTRNGアナログコア回路302に提供するかもしれない。これは、ボール上の電圧を検出することによって防ぐことができる。電圧が高すぎる場合、TRNG回路300からのビット生成は、攻撃が中止されるまで中断されるかもしれない。このアプローチは、図4に関して上述されるようなPDDET400と同様であるかもしれない。
【0039】
いくつかの実施例では、レジスタ分周装置508は、比較手段502に対してコア電圧“VCCA_DDR”からの電圧レギュレータの出力を超えない基準電圧を生成するかもしれない。この基準電圧は、可観測性ポート310(ピン“VCC_TSTRNG”506)上の電圧と比較されるかもしれない。“VCC_TSTRNG”506上の電圧がレジスタ分周装置508からの基準電圧を超える場合、比較手段502からの出力は、ビット生成を中止させるための新たなバージョンのPDDET信号をORゲート504に送信させる論理“1”レベルに移行するかもしれない。ボールがテスト用に使用されるとき、比較手段は不可とされるかもしれない。通常動作中、比較手段は有効とされ、トランジスタプルダウン及びレジスタ合成510が、“VCC_TSTRNG”506が他の何れかの駆動源がない場合に低くなることを保証するため、“VCC_TSTRNG”506上でプルダウンするのに利用されるかもしれない。
【0040】
図3を参照して上述されるように、可観測性ポート310が、ボール電圧を検出し、ボール電圧が電圧レギュレータ回路304の電圧範囲外である場合、ビット生成を中断するよう構成される電圧検出回路308に動作接続されるかもしれない。TRNG回路が生成されるシリコンプロセスは、可観測性ポート上の接地電位以下の電圧の影響を受けないが、他のプロセスはこの問題を有するかもしれない。低電圧の検出は、PDDETNEW信号を駆動するためORゲート504上のさらなる入力に接続されたそれの出力を有する他の比較手段(図示せず)により実行されるかもしれない。
【0041】
図6は、本開示による一例となる処理のフローチャート600を示す。一実施例では、各処理は、アナログコアを有する真性乱数生成装置を有する集積回路を介し少なくとも1つのセキュリティアプリケーションによりランダムビットを生成する(602)ことを含むかもしれない。各処理はさらに、真性乱数生成装置に係る電圧レギュレータを介しアナログコアに内部的に生成された電源を提供する(604)ことを含むかもしれない。もちろん、さらなる処理もまた本開示の範囲内である。
【0042】
ここでの実施例に使用された“メモリ”という用語は、半導体ファームウェアメモリ、プログラマブルメモリ、不揮発性メモリ、ROM(Read Only Memory)、電気的プログラマブルメモリ、RAM(Random Access Memory)、フラッシュメモリ、磁気ディスクメモリ、及び/又は光ディスクメモリの1以上のタイプのメモリを含むかもしれない。
【0043】
さらに又はあるいは、メモリは他の及び/又は以降に開発されるタイプのコンピュータ可読メモリを含むかもしれない。ここに記載される方法の実施例は、システムに方法を実行させるようプログラムするための命令を有する記憶媒体に格納可能なコンピュータプログラムに実装されてもよい。記憶媒体は、以下に限定されるものでないが、フロッピー(登録商標)ディスク、光ディスク、CD−ROM(Compact Disk−Read Only Memory)、CD−RW(Compact Disk−ReWritable)、光磁気ディスクなどの何れかのタイプのディスク、及びROM、、ダイナミック及びスタティックRAMなどのRAM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)、フラッシュメモリ、磁気若しくは光カードなどの半導体装置、又は電子命令を格納するのに適した何れかのタイプの媒体を含むかもしれない。他の実施例は、プログラム可能な制御装置により実行されるソフトウェアモジュールとして実現されるかもしれない。
【0044】
ここでの実施例に使用される“回路”という用語は、例えば、配線回路、プログラマブル回路、状態マシーン回路、及び/又はプログラマブル回路により実行される命令を格納するファームウェアを単独で又は組み合わせて有するかもしれない。
【0045】
ここでの実施例に使用される“セキュリティアプリケーション”という用語は、例えば、暗号化アプリケーション若しくはプロトコル、鍵管理スキーム、暗号又はコードブロックを保護するための何れか、及び/又は少なくとも1つのビットを生成するよう構成される何れかのシステムを含むかもしれない。
【0046】
ここで使用された用語及び表現は、限定することなく説明のために使用され、このような用語及び表現の使用では、図示及び記載された各特徴の何れの等価物を排除することを意図したものでなく、各種変更が請求項の範囲内で可能であることが認識されるであろう。このような等価物をカバーするよう請求項は意図される。
【図面の簡単な説明】
【0047】
【図1】図1は、本開示によるシステムの一実施例を示す。
【図2】図2は、本開示によるMEの一実施例を示す。
【図3】図3は、本開示による真性乱数生成装置の一実施例を示す。
【図4】図4は、本開示による電力低下検出装置の一実施例を示す。
【図5】図5は、本開示による電圧検出装置の一実施例を示す。
【図6】図6は、本開示による方法の一実施例を示す。
【符号の説明】
【0048】
100 システム
102 ホストプロセッサ
104 チップセット
106 システムメモリ
112 真性乱数生成装置
200 ME
204 VNC回路

【特許請求の範囲】
【請求項1】
少なくとも1つのセキュリティアプリケーションに従ってランダムビットを生成するよう構成される集積回路を有する装置であって、
前記集積回路は、アナログコアを有する真性乱数生成装置を有し、
前記真性乱数生成装置は、前記アナログコアに電力を供給するよう構成される内部的に生成された電源を有するよう構成される電圧レギュレータを有する装置。
【請求項2】
前記内部的に生成された電源をモニタし、前記アナログコアに供給される電力が第1閾値以下に低下するか若しくは超過する又は第2閾値以下に低下するか若しくは超過する場合、ビット生成を中断するよう構成される電力低下検出回路をさらに有する、請求項1記載の装置。
【請求項3】
前記真性乱数生成装置に係る内部電圧をテストするよう構成される可観測性ポートをさらに有する、請求項1記載の装置。
【請求項4】
前記可観測性ポートは、ボール電圧を検出し、前記ボール電圧が前記電圧レギュレータの電圧範囲外である場合、ビット生成を中断するよう構成される電圧検出回路に動作接続される、請求項3記載の装置。
【請求項5】
前記内部的に生成された電源は、前記電圧レギュレータから導かれ、
前記電圧レギュレータは、外部電圧供給により駆動される、請求項1記載の装置。
【請求項6】
前記真性乱数生成装置は、前記アナログコアによって生成されるクロックを介し制御される、請求項1記載の装置。
【請求項7】
ホストプロセッサと、
少なくとも1つのメモリと、
少なくとも1つのセキュリティアプリケーションに従ってランダムビットを生成するよう構成される集積回路を有するシステムであって、
前記集積回路は、アナログコアを有する真性乱数生成装置を有し、
前記真性乱数生成装置は、前記アナログコアに電力を供給するよう構成される内部的に生成された電源を有する電圧レギュレータを有するシステム。
【請求項8】
前記集積回路に係るME(Manageability Engine)をさらに有し、
前記MEは、前記真性乱数生成装置を制御するよう構成されるファームウェアを有する、請求項7記載のシステム。
【請求項9】
前記内部的に生成された電源をモニタし、前記前記アナログコアに供給される電力が第1閾値以下に低下するか若しくは超過する又は第2閾値以下に低下するか若しくは超過する場合、ビット生成を中断するよう構成される電力低下検出回路をさらに有する、請求項7記載のシステム。
【請求項10】
前記真性乱数生成装置に係る内部電圧をテストするよう構成される可観測性ポートをさらに有する、請求項7記載のシステム。
【請求項11】
前記可観測性ポートは、ボール電圧を検出し、前記ボール電圧が前記電圧レギュレータの電圧範囲外である場合、ビット生成を中断するよう構成される電圧検出回路に動作接続される、請求項10記載のシステム。
【請求項12】
前記内部的に生成された電源は、前記電圧レギュレータから導かれ、
前記電圧レギュレータは、外部電圧供給により駆動される、請求項7記載のシステム。
【請求項13】
前記真性乱数生成装置は、前記アナログコアにより生成されるクロックを介し制御される、請求項7記載のシステム。
【請求項14】
アナログコアを有する真性乱数生成装置を有する集積回路を介し少なくとも1つのセキュリティアプリケーションに従ってランダムビットを生成するステップと、
内部的に生成された電源を介し、前記真性乱数生成装置に係る電圧レギュレータを介し前記アナログコアに電力を供給するステップと、
を有する方法。
【請求項15】
電力低下検出回路を介し前記内部的に生成された電源をモニタし、前記アナログコアに供給される電力が第1閾値以下に低下するか若しくは超過する又は第2閾値以下に低下するか若しくは超過する場合、ビット生成を中断するステップをさらに有する、請求項14記載の方法。
【請求項16】
可観測性ポートを介し前記真性乱数生成装置に係る内部電圧をテストするステップをさらに有する、請求項14記載の方法。
【請求項17】
前記可観測性ポートは、ボール電圧を検出し、前記ボール電圧が前記電圧レギュレータの電圧範囲外である場合、ビット生成を中断するよう構成される電圧検出回路に動作接続される、請求項15記載の方法。
【請求項18】
マシーンによる実行時、
アナログコアを有する真性乱数生成装置を有する集積回路を介し少なくとも1つのセキュリティアプリケーションに従ってランダムビットを生成するステップと、
内部的に生成された電源を介し、前記真性乱数生成装置に係る電圧レギュレータを介し前記アナログコアに電力を供給するステップと、
を実行させる命令を格納した記憶媒体を有する物。
【請求項19】
電力低下検出回路を介し前記内部的に生成された電源をモニタし、前記アナログコアに供給される電力が第1閾値以下に低下するか若しくは超過する又は第2閾値以下に低下するか若しくは超過する場合、ビット生成を中断するステップをさらに実行させる、請求項18記載の物。
【請求項20】
可観測性ポートを介し前記真性乱数生成装置に係る内部電圧をテストするステップをさらに実行させる、請求項18記載の物。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate