ログインすると、crng initが完了するまで停止します。

ログインすると、crng initが完了するまで停止します。

Debian Unstableを実行しているラップトップでLightDMを使用してログインすると、最近のjournalctlメッセージが表示されるまで約2分間停止し始めましたkernel: random: crng init done。キーボードが停止した状態で任意のキーを押すとログイン速度が速くなります(約10秒)。この問題が発生する前に解決する方法はありますか?

編集:linux-image-4.15.0-3-amd64代わりに使用するとlinux-image-4.16.0-1-amd64機能しますが、古いカーネルを使用したくありません。

答え1

/dev/urandomカーネルから任意のデータを取得しようとすると(読み込みや呼び出しなど)、使用getrandom()可能なエントロピー(ランダム性)が不足し、システムの一部のコンポーネントがブロックされているようです。

問題が特定のカーネルバージョンに依存する理由やシステムのどのコンポーネントが実際にブロックされているかについての準備された説明はありませんが、根本的な原因が何であれ

実際、ビゴンが彼の本で指摘したように、回答、これは4.16で導入されたカーネルのバグのようです。

このバグは、このコミットで「crng_init> 0」を「crng_init> 1」に変更することで導入されました。 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=43838a23a05fbd13e47d750d3dfd77001536dd33

この変更は誤って urandom_read に影響し、crng_init==1 状態が初期化されていないと見なされ、この状態があるにもかかわらず urandom がブロックされます。具体的に起動時に暗号化されていない要件をサポートします。 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/char/random.c#n1863

43838a23a05f(「Random:Fix crng_ready()テスト」)を元に戻すとバグが修正されますが(4.16.5-1でテストされています)、セキュリティ上の問題が発生する可能性があります(43838a23a05fに記載されているCVE-2018-1108)。アップストリームに適している必要がある、よりローカライズされた修正をテストしています。

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897572#82)

...しかし、以下を試すことができます。havegedまたはrng-toolsエントロピーをより早く収集します。

答え2

これはカーネルの変更(バグ?)です。以下を参照してください。https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897572

このインストールを軽減するのがrng-tools5役に立つようです。このパッケージをインストールすると、強力な暗号鍵の生成に影響を与えるかどうかはわかりません。

編集:明らかにutil-linux 2.32を更新すると、この問題は解決するようです。

答え3

これは他のカーネルで発生する可能性があるカーネルのバグです。

apt-get install rng-toolssu端末で実行すると動作します。

答え4

rng-toolsシステムにIntelのような乱数に対するハードウェアサポートがある場合にのみ役立ちます。セキュリティキー「この方法が発明されました。アイビーブリッジ。私のシステムには1037uプロセッサがあります(Ivy Bridgeベース)。いいえこれに対するハードウェアサポートがあります。だからrng-tools助けないでください。

Sandy Bridge i3プロセッサを搭載した他のシステムではrng-tools本当に役に立ちました。rngdエントロピーキューがいっぱいになるように、開始プロセスの最初にサービスを開始する必要があります。 Ubuntuの起動順序がそのような場合ですが、他のディストリビューションでも同じかどうかはわかりませんが、rngdsyslogに起動順序が記録されていることがわかります。

関連情報