古いコンピュータでrngd(ランダムジェネレータ)を設定する

古いコンピュータでrngd(ランダムジェネレータ)を設定する

このrngdプログラムはrng-tools5Ubuntu / Debianパッケージで提供されています。


# neofetch 
             ...-:::::-...                 root@dell-7577 
          .-MMMMMMMMMMMMMMM-.              -------------- 
      .-MMMM`..-:::::::-..`MMMM-.          OS: Linux Mint 21.1 x86_64 
    .:MMMM.:MMMMMMMMMMMMMMM:.MMMM:.        Host: Inspiron 7577 
   -MMM-M---MMMMMMMMMMMMMMMMMMM.MMM-       Kernel: 5.15.0-57-generic 
 `:MMM:MM`  :MMMM:....::-...-MMMM:MMM:`    Uptime: 32 mins 
 :MMM:MMM`  :MM:`  ``    ``  `:MMM:MMM:    Packages: 3489 (dpkg), 45 (flatpak), 11 (snap) 
.MMM.MMMM`  :MM.  -MM.  .MM-  `MMMM.MMM.   Shell: bash 5.1.16 
:MMM:MMMM`  :MM.  -MM-  .MM:  `MMMM-MMM:   Resolution: 1920x1080 
:MMM:MMMM`  :MM.  -MM-  .MM:  `MMMM:MMM:   DE: Cinnamon 5.6.5 
:MMM:MMMM`  :MM.  -MM-  .MM:  `MMMM-MMM:   WM: Mutter (Muffin) 
.MMM.MMMM`  :MM:--:MM:--:MM:  `MMMM.MMM.   WM Theme: Mint-Y-Dark-Aqua (Mint-Y) 
 :MMM:MMM-  `-MMMMMMMMMMMM-`  -MMM-MMM:    Theme: Mint-Y-Aqua [GTK2/3] 
  :MMM:MMM:`                `:MMM:MMM:     Icons: Mint-Y-Aqua [GTK2/3] 
   .MMM.MMMM:--------------:MMMM.MMM.      Terminal: gnome-terminal 
     '-MMMM.-MMMMMMMMMMMMMMM-.MMMM-'       CPU: Intel i7-7700HQ (8) @ 3.800GHz 
       '.-MMMM``--:::::--``MMMM-.'         GPU: NVIDIA GeForce GTX 1060 Mobile 
            '-MMMMMMMMMMMMM-'              GPU: Intel HD Graphics 630 
               ``-:::::-``                 Memory: 1158MiB / 31839MiB 

                                                                   
                                                                   


# rngd -v
Available entropy sources:
    Intel/AMD hardware rng
    DRNG

rngd上記は、Intel 第7世代CPUにTPM 2.0が組み合わされた比較的最新型(3.5年型)ノートブックです(ただし、基本的に使用されるかはわかりません)。ご覧のとおり、エラーメッセージは表示されず、特別な設定がないため、うまく動作すると思います。注:DRNGそれが何であるかわからない。


root @ acer-5742g /root # neofetch 
            .-/+oossssoo+/-.               root@acer-5742g 
        `:+ssssssssssssssssss+:`           --------------- 
      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 22.04.1 LTS x86_64 
    .ossssssssssssssssssdMMMNysssso.       Host: Aspire 5742G V1.24 
   /ssssssssssshdmmNNmmyNMMMMhssssss/      Kernel: 5.15.0-57-generic 
  +ssssssssshmydMMMMMMMNddddyssssssss+     Uptime: 36 mins 
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Packages: 2099 (dpkg), 8 (snap) 
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Shell: bash 5.1.16 
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Resolution: 1920x1080 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   WM: Mutter (Muffin) 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   WM Theme: () 
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Theme: Adwaita [GTK3] 
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Icons: Adwaita [GTK3] 
 /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/    Terminal: /dev/pts/0 
  +sssssssssdmydMMMMMMMMddddyssssssss+     CPU: Intel Pentium P6200 (2) @ 2.133GHz 
   /ssssssssssshdmNNNNmyNMMMMhssssss/      GPU: NVIDIA GeForce GT 520M 
    .ossssssssssssssssssdMMMNysssso.       GPU: Intel Core Processor 
      -+sssssssssssssssssyyyssss+-         Memory: 689MiB / 3597MiB 
        `:+ssssssssssssssssss+:`
            .-/+oossssoo+/-.                                       
                                                                   


root @ acer-5742g /root # rngd -v
read error

read error

Available entropy sources:
    Intel/AMD hardware rng

これと比較して、上記の2台目のコンピュータは古く、実行するとrngd2つのエラーが発生します。つまり、次のようになります。

読み取りエラー

これはどのようにランダム性に影響を与えますか?rngd 配達このような古いシステムでは、何とか設定を調整する必要がありますかrngd?では、どうすればよいですか?

ありがとうございます。

マニュアルページ:https://linux.die.net/man/8/rngd

DRNGに関する注:

数値乱数ジェネレータ:RDRANDプロセッサ命令を使用した高品質、高性能エントロピー、および乱数生成に対するIntelハードウェアアプローチ。調べる:

grep -m1 rdrand /proc/cpuinfo

systemctl status rngd -l

以前のシステムでは、次のような結果が発生します。

○ rngd.service - Start entropy gathering daemon (rngd)
     Loaded: loaded (/lib/systemd/system/rngd.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Fri 2023-01-06 06:03:46 CET; 1h 19min ago
       Docs: man:rngd(8)
    Process: 619 ExecStart=/usr/sbin/rngd -f (code=exited, status=0/SUCCESS)
   Main PID: 619 (code=exited, status=0/SUCCESS)
        CPU: 2ms

Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: No entropy sources working, exiting rngd
Jan 06 06:03:46 acer-5742g systemd[1]: rngd.service: Deactivated successfully.

答え1

/dev/random注:デバイスのデータでデバイスを埋めるので、これは疑似ソリューションです/dev/urandom


目的のエディタを使用してこのファイルを編集します。

/etc/systemd/system/multi-user.target.wants/rngd.service

変える:

ExecStart=/usr/sbin/rngd -f

そして:

ExecStart=/usr/sbin/rngd -f -r /dev/urandom

ファイルを保存したら、次を実行します。

systemctl daemon-reload && systemctl restart rngd.service

次の後に動作することを確認してください。

# systemctl status rngd -l
● rngd.service - Start entropy gathering daemon (rngd)
     Loaded: loaded (/lib/systemd/system/rngd.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-01-06 08:07:33 CET; 8s ago
       Docs: man:rngd(8)
   Main PID: 4757 (rngd)
      Tasks: 1 (limit: 4173)
     Memory: 224.0K
        CPU: 2ms
     CGroup: /system.slice/rngd.service
             └─4757 /usr/sbin/rngd -f -r /dev/urandom

Jan 06 08:07:33 acer-5742g systemd[1]: Started Start entropy gathering daemon (rngd).

関連情報