中央処理装置はAMD GX-412TC SoC:
GX-412TC GE412TIYJ44JB 4 6W 2MB 1.0GHz/ 1.4GHz 該当なし DDR-1333 0-90°C
それらのどれもありませんrdrand
:
grep rdrand /proc/cpuinfo
# nothing
syslog
マシンが起動すると、次のメッセージが表示されます。
kernel: random: dd: uninitialized urandom read (512 bytes read)
kernel: random: cryptsetup: uninitialized urandom read (32 bytes read)
このメッセージはどういう意味ですか?どうですか?
これは意味しdd
てcryptsetup
読もうとします/dev/urandom
が、エントロピーが足りませんか?
デーモンを使用していますが、haveged
このメッセージが表示された後、ブートプロセスの後半にデーモンが起動しました。
私のブートスクリプトの起動順序は次のとおりです。
/etc/rcS.d/S01hostname.sh
/etc/rcS.d/S01mountkernfs.sh
/etc/rcS.d/S02mountdevsubfs.sh
/etc/rcS.d/S03checkroot.sh
/etc/rcS.d/S04checkfs.sh
/etc/rcS.d/S05mountall.sh
/etc/rcS.d/S06bootmisc.sh
/etc/rcS.d/S06procps
/etc/rcS.d/S06urandom
/etc/rcS.d/S07crypto-swap
/etc/rc2.d/S01haveged
/etc/rc2.d/S01networking
/etc/rc2.d/S04rsyslog
/etc/rc2.d/S05cron
/etc/rc2.d/S05ssh
システムログのメッセージは、次の2つのスクリプトから来ます。
/etc/rcS.d/S06urandom -> dd
/etc/rcS.d/S07crypto-swap -> cryptsetup
どれからhaveged
始めるべきですかurandom
?
私はDebian 10を使用しています。
また、このマシンはベアボードであり、キーボードがないことを付け加えたいと思います。唯一のインターフェイスはシリアルコンソールです。私はこれが利用可能なエントロピーに影響を与えると思います。これがhaveged
私が最初にそれをインストールした理由です。それ以外の場合は、haveged
エントロピーsshd
が不十分なため、デーモンは数分間起動しません。
答え1
診断は正しいです。空のエントロピープールでお読みください。これは」開始時間エントロピー飢餓」。
EFIシステムがある場合は、systemd-bootを利用できます。警告を無視(あなたは予測可能な暗号通貨を使用していますが、最大暗号化しないよりも優れたユースケース)または他のソースのエントロピーを検討してください。可能であれば- カーネルコマンドラインに追加
rng_core.default_quality=X
(X = 1000で始まり、そこから降ります)。
エントロピーを収集する他の技術があります。 SOCには使用可能なピンがあり、そのピンからエントロピーを収集できるハードウェアドライバモジュールがあります。次に、適切なトランジスタと抵抗設定(または場合によってはエレクトレットマイク)を接続して熱ノイズを収集します。
あるいは、5.4+シリーズのカーネルはより効率的なエントロピー収集を提供するので、十分です。
答え2
hasgedが機能するにはカーネルと互換性がなければなりません。問題があります。 hasgedは5.x以上のカーネルバージョンでは何もしません。Haggardはまだ役に立つか関連性がありますか? 57話GitHubから。
管理者は親切に機能を再導入しましたが、そのパッチをリリースしてから最初にさまざまなディストリビューションに適用する必要がありました。 )を使用して確認すると、strace
カーネルのエントロピープールはもはや枯渇しないように見えますが、何らかの理由でcrng initにはまだ時間がかかります。
また、非常に早く実行する必要があるため、initramfsを使用している場合は、ランダムデバイスを使用する前に一定時間 initramfsで実行を開始する必要があります。従来のinitシステムでは、Havegedが/proc
/sys
/dev
利用可能になるとすぐに実行する必要があります。
Havegedがカーネルにエントロピーを送るのにどれくらいの時間がかかるのかわかりません。まず、ランダム性自体を収穫する必要があり、それに対して品質テストも実行します。私の最後のテスト(パッチされたhasgedを使用)では、hasgedの開始とカーネルレポートの間に約0.5秒の遅延がありましたrandom: crng init done
。
ハッシュに加えて、ランダムシードを保存/復元することも検討できます。ネットワークがある場合は、少しのトラフィックがカーネルがエントロピーを収集するのに役立ちます。