ユーザ用ツール

サイト用ツール


beaglebone:20200224_hwrng

差分

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

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

次のリビジョン
前のリビジョン
beaglebone:20200224_hwrng [2020-02-24 22:21]
tosihisa@netfort.gr.jp 作成
beaglebone:20200224_hwrng [2020-02-24 23:11] (現在)
tosihisa@netfort.gr.jp
行 1: 行 1:
-====== BeagleBoneでハードウェア乱数を有効にしてみる ======+====== BeagleBoneでハードウェア乱数を使ってみる ====== 
 + 
 +  * ハードウェア:BeagleBone Green Wireless 
 +  * Linux 情報は以下の通り 
 + 
 +<code> 
 +$ uname -r 
 +4.19.94-ti-r35 
 +$ cat /etc/debian_version  
 +10.3 
 +</code>
  
 ===== ハードウェア乱数が使えるかどうかの確認 ===== ===== ハードウェア乱数が使えるかどうかの確認 =====
行 11: 行 21:
 CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_TPM=y
 </code> </code>
 +
 +ハードウェア乱数が使えそうです.
 +
 +===== rng-tools のインストール =====
 +
 +<code>
 +$ sudo apt-get install rng-tools
 +</code>
 +
 +インストールできたら,動作状態を確認します.
 +
 +<code>
 +$ sudo systemctl status rng-tools.service
 +● rng-tools.service
 +   Loaded: loaded (/etc/init.d/rng-tools; generated)
 +   Active: active (running) since Mon 2020-02-24 22:43:38 JST; 2min 39s ago
 +     Docs: man:systemd-sysv-generator(8)
 +  Process: 2162 ExecStart=/etc/init.d/rng-tools start (code=exited, status=0/SUCCESS)
 +    Tasks: 4 (limit: 1024)
 +   Memory: 292.0K
 +   CGroup: /system.slice/rng-tools.service
 +           └─2164 /usr/sbin/rngd -r /dev/hwrng
 +
 +Feb 24 22:43:38 beaglebone systemd[1]: Starting rng-tools.service...
 +Feb 24 22:43:38 beaglebone rng-tools[2162]: Starting Hardware RNG entropy gatherer daemon: rngd.
 +Feb 24 22:43:38 beaglebone systemd[1]: Started rng-tools.service.
 +Feb 24 22:43:38 beaglebone rngd[2164]: rngd 2-unofficial-mt.14 starting up...
 +Feb 24 22:43:38 beaglebone rngd[2164]: entropy feed to the kernel ready
 +</code>
 +
 +haveged を停止します.
 +
 +<code>
 +$ sudo systemctl stop haveged.service
 +$ sudo systemctl disable haveged.service
 +</code>
 +
 +再起動して,エントロピーの値を調べてみます.
 +
 +<code>
 +$ cat /proc/sys/kernel/random/entropy_avail
 +2086
 +</code>
 +
 +https://archlinuxjp.kusakata.com/wiki/Haveged によると,この数値が1000以下だと暗号処理などで十分なエントロピーが貯まるまで止まるようですが,2000を超えているので問題なさそうです.
 +
 +乱数のテストをしてみます.
 +
 +<code>
 +$ rngtest -c 1000 </dev/random
 +rngtest 2-unofficial-mt.14
 +Copyright (c) 2004 by Henrique de Moraes Holschuh
 +This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 +
 +rngtest: starting FIPS tests...
 +rngtest: bits received from input: 20000032
 +rngtest: FIPS 140-2 successes: 1000
 +rngtest: FIPS 140-2 failures: 0
 +rngtest: FIPS 140-2(2001-10-10) Monobit: 0
 +rngtest: FIPS 140-2(2001-10-10) Poker: 0
 +rngtest: FIPS 140-2(2001-10-10) Runs: 0
 +rngtest: FIPS 140-2(2001-10-10) Long run: 0
 +rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
 +rngtest: input channel speed: (min=709.788; avg=877.696; max=1237.722)Kibits/s
 +rngtest: FIPS tests speed: (min=2.494; avg=10.879; max=11.623)Mibits/s
 +rngtest: Program run time: 24012010 microseconds
 +</code>
 +
 +https://wiki.archlinux.jp/index.php/Rng-tools によると,1000個のテストでは少し程度通らない場合があるようですが,2回試して FIPS 140-2 failures:0 でした.
 +
 +===== 変更履歴 =====
 +
 + * 2020-2-24 : 初版
  
beaglebone/20200224_hwrng.1582550479.txt.gz · 最終更新: 2020-02-24 22:21 by tosihisa@netfort.gr.jp