「Haveged」の版間の差分
(同期) |
|||
1行目: | 1行目: | ||
[[Category:セキュリティ]] |
[[Category:セキュリティ]] |
||
[[en:Haveged]] |
[[en:Haveged]] |
||
+ | [[zh-CN:Haveged]] |
||
− | Haveged プロジェクトは、HAVEGE アルゴリズムに基づいた予測不可能の使いやすい[[乱数生成|乱数生成器]]を提供することを目的としたプロジェクトです。Haveged は主にヘッドレス・サーバ (headless server) など、Linux の random デバイスを使うにあたってエントロピーが少ない状況を改善するために考案されました [http://www.issihosts.com/haveged/]。 |
||
+ | {{Related articles start}} |
||
− | ==利用可能なエントロピーを表示する== |
||
+ | {{Related|Rng-tools}} |
||
+ | {{Related articles end}} |
||
+ | [http://www.issihosts.com/haveged/ Haveged] プロジェクトは、HAVEGE アルゴリズムに基づいた予測不可能の使いやすい[[乱数生成|乱数生成器]]を提供することを目的としたプロジェクトです。Haveged は主にヘッドレスサーバーなど、Linux の random デバイスを使うにあたってエントロピーが少ない状況を改善するために考案されました。 |
||
+ | |||
+ | {{Warning|生成されるエントロピーの品質は保証されておらず、ときには疑問も投げかけられています ([https://lwn.net/Articles/525459/ LCE: Do not play dice with random numbers] や [http://security.stackexchange.com/questions/34523/is-it-appropriate-to-use-haveged-as-a-source-of-entropy-on-virtual-machines Is it appropriate to use haveged as a source of entropy on virtual machines?] を参照)。自己責任で Haveged を使用するか、あるいは {{pkg|rng-tools}} でハードウェアの乱数生成器を使うようにしてください。}} |
||
+ | |||
+ | ==代替== |
||
+ | |||
+ | コンピュータに搭載されているハードウェア乱数生成器が信頼できないなどの特別な理由がないかぎり、まず先に [[rng-tools]] を試して、それで不十分 (あるいはコンピュータにハードウェア乱数生成器が載っていない) なら、Haveged を使うようにしてください。 |
||
+ | |||
+ | ==利用可能なエントロピーを確認== |
||
+ | |||
haveged が必要かどうかわからない(もしくは迷っている)なら、次のコマンドを実行してください: |
haveged が必要かどうかわからない(もしくは迷っている)なら、次のコマンドを実行してください: |
||
# cat /proc/sys/kernel/random/entropy_avail |
# cat /proc/sys/kernel/random/entropy_avail |
||
− | このコマンドは |
+ | このコマンドはあなたのサーバがどれくらいエントロピーを確保しているかを出力します。もし、出力された値が低かった (1000以下) のであれば、haveged をインストールするべきです。暗号アプリケーションは十分なエントロピーが貯まるまで動きません。結果として、あなたのサーバーを[[ソフトウェアアクセスポイント]]として使っている場合など、wlan の速度が低下するかもしれません。 |
− | もし、この値が低い(1000以下)なら、haveged をインストールするべきです。暗号アプリケーションは十分なエントロピーが貯まるまで動きません。 |
||
− | 結果として、例えばあなたのサーバを[[ソフトウェアアクセスポイント]]として使っている場合、wlan スピードが低下するかもしれません。 |
||
インストール後、もう一度コマンドを実行して確認してみてください。どれくらい haveged があなたのサーバのエントロピープールを加速させたかがお分かりいただけるでしょう。 |
インストール後、もう一度コマンドを実行して確認してみてください。どれくらい haveged があなたのサーバのエントロピープールを加速させたかがお分かりいただけるでしょう。 |
||
− | == |
+ | == 仮想マシン == |
+ | [http://security.stackexchange.com/questions/34523/is-it-appropriate-to-use-haveged-as-a-source-of-entropy-on-virtual-machines Is it appropriate to use haveged as a source of entropy on virtual machines?] で議論されているように、haveged は仮想環境で質の高いエントロピーを作れるのかどうか疑問があります。Haveged は rdtsc 命令を使用していますが、仮想マシンでこの命令が仮想化されるとエントロピーが低品質になってしまいます。ハイパーバイザーの |
||
− | [[公式リポジトリ]]から {{pkg|haveged}} パッケージをインストールします。 |
||
+ | 中には、rdtsc の仮想化を無効化できるものがあり、それであれば理論的には haveged は高品質なエントロピーを供給できます。 |
||
+ | VMware ESXi で rdtsc 命令の仮想化を無効化するには、仮想マシンの .vmx 設定ファイルに {{ic|1=monitor_control.virtual_rdtsc = "FALSE"}} の設定を追加してください。VMware は仮想マシンでリアルタイムの正確なソースが必要な計測を行う場合にこの設定を使用することを推奨しています [http://www.vmware.com/files/pdf/Timekeeping-In-VirtualMachines.pdf]。 |
||
− | ==サービス== |
||
+ | ==インストール== |
||
− | パッケージには {{ic|haveged.service}} が付属しています。[[systemd|systemd]] を見てください。 |
||
+ | [[公式リポジトリ]]から {{pkg|haveged}} パッケージを[[インストール]]します。 |
||
− | ==代替== |
||
+ | |||
+ | ==サービス== |
||
+ | パッケージには {{ic|haveged.service}} が付属しています。[[systemd]] を見てください。 |
||
− | {{pkg|rng-tools}} も同じようなサービスを提供します。 |
||
== 参照 == |
== 参照 == |
2016年1月7日 (木) 13:14時点における版
関連記事
Haveged プロジェクトは、HAVEGE アルゴリズムに基づいた予測不可能の使いやすい乱数生成器を提供することを目的としたプロジェクトです。Haveged は主にヘッドレスサーバーなど、Linux の random デバイスを使うにあたってエントロピーが少ない状況を改善するために考案されました。
代替
コンピュータに搭載されているハードウェア乱数生成器が信頼できないなどの特別な理由がないかぎり、まず先に rng-tools を試して、それで不十分 (あるいはコンピュータにハードウェア乱数生成器が載っていない) なら、Haveged を使うようにしてください。
利用可能なエントロピーを確認
haveged が必要かどうかわからない(もしくは迷っている)なら、次のコマンドを実行してください:
# cat /proc/sys/kernel/random/entropy_avail
このコマンドはあなたのサーバがどれくらいエントロピーを確保しているかを出力します。もし、出力された値が低かった (1000以下) のであれば、haveged をインストールするべきです。暗号アプリケーションは十分なエントロピーが貯まるまで動きません。結果として、あなたのサーバーをソフトウェアアクセスポイントとして使っている場合など、wlan の速度が低下するかもしれません。
インストール後、もう一度コマンドを実行して確認してみてください。どれくらい haveged があなたのサーバのエントロピープールを加速させたかがお分かりいただけるでしょう。
仮想マシン
Is it appropriate to use haveged as a source of entropy on virtual machines? で議論されているように、haveged は仮想環境で質の高いエントロピーを作れるのかどうか疑問があります。Haveged は rdtsc 命令を使用していますが、仮想マシンでこの命令が仮想化されるとエントロピーが低品質になってしまいます。ハイパーバイザーの 中には、rdtsc の仮想化を無効化できるものがあり、それであれば理論的には haveged は高品質なエントロピーを供給できます。
VMware ESXi で rdtsc 命令の仮想化を無効化するには、仮想マシンの .vmx 設定ファイルに monitor_control.virtual_rdtsc = "FALSE"
の設定を追加してください。VMware は仮想マシンでリアルタイムの正確なソースが必要な計測を行う場合にこの設定を使用することを推奨しています [1]。
インストール
公式リポジトリから haveged パッケージをインストールします。
サービス
パッケージには haveged.service
が付属しています。systemd を見てください。