
wpa_passphrase
のネットワーク ログイン情報を作成しますwpa_supplicant.conf
。 再起動後もエントロピーを保存するwpa_supplicant
オプションを指定します。-e
内部に蓄積されたエントロピーは、つながりをより強固にする手段だと理解しています安全な攻撃者がそれを正しく推測することが難しいためです。
このオプションは、-e
手動で呼び出すとうまく機能しますwpa_supplicant
が、Raspberry Pi はwpa_supplicant
起動時にすでにサービスを呼び出しているため、これを維持したいと思います。
- RasPi (Raspbian GNU/Linux 11 を実行) のデフォルトのエントロピー ストアはどこにありますか?
- RPi のどこで
wpa_supplicant
サービスの場所を構成できますか? - でそうすることはできますか
/etc/wpa_supplicant/wpa_supplicant.conf
?
答え1
wpa_passphrase は、wpa_supplicant.conf のネットワーク ログイン情報を作成します。wpa_supplicant は、再起動後もエントロピーを保存するためにオプション -e を使用します。
これら 2 つは互いに何の関係もありません。wpa_supplicant.conf に保存される情報は決定論的です。つまり、「psk=」パラメータは厳密にはパスフレーズとネットワーク SSID の PBKDF2 ハッシュです。
エントロピー(ランダムデータ)は、後で必要になります。認証ハンドシェイクのたびに、
内部に保存されたエントロピーは、攻撃者が正確に推測するのが難しいため、接続をより安全にする方法であると理解しています。
はい、しかし、話はそれよりも少しだけ長くなっています。
ほとんどのLinuxシステムでは、プログラムはOSに問い合わせる高品質のランダムデータの場合、たとえば /dev/[u]random 仮想デバイスから読み取ったり、getentropy() システムコールを使用したりします。wpa_supplicant が独自の内部ストレージを持つ理由は、以下で説明するように、より具体的です。
RasPi (Raspbian GNU/Linux 11 を実行) のデフォルトのエントロピー ストアはどこにありますか?
OS によって提供されるランダム データ機能には、デフォルトでは永続的な「エントロピー ストア」がありません。エントロピー プールは、さまざまなハードウェア ソースからのデータを使用して、起動のたびに新しく初期化されます。
しかし、ハードウェアプラットフォームにエントロピーを収集する適切なソースがない場合(たとえば、Raspberry Piにはリアルタイムクロックがありません。多くのLinuxベースのアクセスポイントは外部入力がほとんどない小さなSoCです)、エントロピープールの初期化に時間がかかる可能性があります。長さ一部の Linux ディストリビューションでは、この目的のために OS 全体の「エントロピー ストア」ファイル (通常は /var/lib 内のどこか) が追加され、プログラムはそのようなシステムでも /dev/[u]random を引き続き使用できるようになります。
(これは特に、/dev/random と /dev/urandom の動作が異なる古い Linux バージョンで問題になりました。前者からの読み取りでは OS の「エントロピー プール」がすぐに枯渇し、プログラムを待機させることになりますが、後者は読み取りが早すぎると低品質のランダム データを提供する可能性があります。)
そのため、wpa_supplicantの内部エントロピープールと「エントロピーファイル」オプションは、特に次のようなシステムでの使用を目的としています。しないでください安価な MIPS ベースの SoC など、OS 全体で機能するエントロピー プールを備えています。(wpa_supplicant は、アクセス ポイントの構築に使用される「hostapd」プロジェクトから来ています。) 通常-e
の Linux システムでは、通常このオプションを使用する必要はありません。
また、Raspberry Pi で systemd ベースの Linux ディストリビューションを実行している場合は、起動時に OS エントロピー プールの初期化を支援するためにすでに /var/lib/systemd/random-seed が使用されています (また、エントロピー収集が改善された最新のカーネルも実行されている可能性があります)。
RPi のどこで wpa_supplicant サービスの場所を設定できますか?
オプションを設定するでwpa_supplicant サービス。
systemd で Linux を実行している場合は、 を使用してsystemctl cat
サービス定義、具体的には行を確認しますExecStart=
。ディストリビューションに応じて、2 つのオプションがあります。
設定されたコマンドラインには、 などの変数が含まれることが
$WPA_ARGS
あります。これは、同じサービス定義の EnvironmentFile= 設定で指定されたファイル (通常は /etc/default/ または /etc/sysconfig/ にあります) から取得されるため、そのファイルを編集して を実行しますsystemctl daemon-reload
。そうでない場合もあり、その場合はすべてのオプションが ExecStart= パラメータで直接定義されます。この場合、実行して
systemctl edit --full wpa_supplicant
直接編集します。カスタマイズされたサービス ファイルは /etc/systemd/system/ に保存され、ディストリビューションのファイルを上書きします。