ユーザ用ツール

サイト用ツール


raspberrypi:log20150610_bcm2708_rng

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
raspberrypi:log20150610_bcm2708_rng [2015-06-10 23:30]
tosihisa@netfort.gr.jp 作成
raspberrypi:log20150610_bcm2708_rng [2015-06-10 23:54] (現在)
tosihisa@netfort.gr.jp
行 19: 行 19:
 https://archlinuxjp.kusakata.com/wiki/Haveged によると,この数値が1000以下だと暗号処理などで十分なエントロピーが貯まるまで止まるようです. https://archlinuxjp.kusakata.com/wiki/Haveged によると,この数値が1000以下だと暗号処理などで十分なエントロピーが貯まるまで止まるようです.
  
-==== 必要なドライバのロードとソフトのインストール ====+===== 必要なドライバのロードとソフトのインストール =====
  
-Raspberry Pi のハードウェア乱数生成ドライバは,bcm2708_rng と言う名前で,これを起動時にロードするようにします.+Raspberry Pi のハードウェア乱数生成ドライバは,bcm2708_rng と言う名前で,これを起動時にロードするように /etc/modules を編集します.
  
 <code> <code>
行 33: 行 33:
 bcm2708_rng bcm2708_rng
 </code> </code>
 +
 +次に,rng-tools をインストールします.私は Raspbian を使っているので,以下の様にコマンドを実行します.
 +
 +<code>
 +$ sudo apt-get install rng-tools
 +</code>
 +
 +基本的にこれでOKで,Raspberry Pi を再起動させると,ハードウェア乱数生成ドライバがロードされ,rngd がそれを使うようになります.
 +
 +===== 動作確認と効果 =====
 +
 +Raspberry Pi を起動したら,ハードウェア乱数ドライバがロードされているかを確認します.
 +
 +<code>
 +$ lsmod | grep rng
 +bcm2708_rng              952  0 
 +</code>
 +
 +また,ps コマンドで,rngd が動作しているかを確認します.
 +
 +/var/log/syslog に,以下の様なログがあることを確認します.
 +
 +<code>
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: bits received from HRNG source: 60064
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: bits sent to kernel pool: 4608
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: entropy added to kernel pool: 4608
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: FIPS 140-2 successes: 3
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: FIPS 140-2 failures: 0
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: FIPS 140-2(2001-10-10) Monobit: 0
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: FIPS 140-2(2001-10-10) Poker: 0
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: FIPS 140-2(2001-10-10) Runs: 0
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: FIPS 140-2(2001-10-10) Long run: 0
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: FIPS 140-2(2001-10-10) Continuous run: 0
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: HRNG source speed: (min=654.094; avg=659.847; max=667.233)Kibits/s
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: FIPS tests speed: (min=5.709; avg=6.476; max=7.753)Mibits/s
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: Lowest ready-buffers level: 2
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: Entropy starvations: 0
 +Jun 10 22:52:19 tiamat rngd[2056]: stats: Time spent starving for entropy: (min=0; avg=0.000; max=0)us
 +</code>
 +
 +<code>
 +Jun 10 23:33:12 tiamat rngd[2079]: rngd 2-unofficial-mt.14 starting up...
 +Jun 10 23:33:12 tiamat rngd[2079]: entropy feed to the kernel ready
 +</code>
 +
 +この状態で,エントロピーの状態を確認します.
 +
 +<code>
 +$ cat /proc/sys/kernel/random/entropy_avail
 +2101
 +</code>
 +
 +使用前は1000未満だったものが2000を超えています.
 +
 +===== 終わりに =====
 +
 +実際の乱数の効果は未確認ですが,ヘッドレス運用で乱数エントロピーが足りず,貯まるまで処理がブロックされる場合に有用と思います.
 +
 +できればメルセンヌ・ツイスタも試してみたいです.
 +http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index-jp.html
  
  
raspberrypi/log20150610_bcm2708_rng.1433946620.txt.gz · 最終更新: 2015-06-10 23:30 (外部編集)