
wpa_passphrase
建立網路登入資訊wpa_supplicant.conf
。
wpa_supplicant
可以選擇-e
在重新啟動時儲存熵。
我理解內部儲存的熵是建立更多聯繫的一種方式安全的,因為攻擊者很難正確猜測它。
-e
當我手動呼叫 時,該選項運作得很好wpa_supplicant
,但是 Raspberry Piwpa_supplicant
在啟動時就已經呼叫了該服務,我想保留它。
- RasPi(運行 Raspbian GNU/Linux 11)上的預設熵儲存在哪裡?
- 我可以在 RPi 中的哪個位置配置該
wpa_supplicant
服務的位置? - 我可以這樣做嗎
/etc/wpa_supplicant/wpa_supplicant.conf
?
答案1
wpa_passphrase 為 wpa_supplicant.conf 建立網路登入資訊。 wpa_supplicant 採用選項 -e 來儲存重新啟動時的熵。
這兩者沒有任何關係。儲存在 wpa_supplicant.conf 中的資訊是確定性的 – “psk=”參數嚴格來說只是您的密碼和網路 SSID 的 PBKDF2 雜湊。
稍後需要熵(隨機資料)-在每次身分驗證握手期間,雙方
我將內部儲存的熵理解為一種使連接更安全的方法,因為攻擊者很難正確猜測它。
是的,但故事的內容遠不止於此。
在大多數 Linux 系統中,程式只能問作業系統對於高品質的隨機數據,例如透過從 /dev/[u]random 虛擬設備讀取或使用 getentropy() 系統呼叫。 wpa_supplicant擁有自己的內部儲存的原因更具體,如下所述。
RasPi(運行 Raspbian GNU/Linux 11)上的預設熵儲存在哪裡?
預設情況下,作業系統提供的隨機資料工具沒有永久的「熵儲存」——熵池在每次啟動時都會使用來自各種硬體來源的資料進行全新初始化。
但當硬體平台沒有任何好的來源來收集熵時,問題就會出現(例如,Raspberry Pi 沒有實時時脈;許多基於 Linux 的接入點都是微型 SoC,外部輸入很少) ,在這種情況下,熵池初始化可能需要長的時間。一些 Linux 發行版為此目的添加了一個作業系統範圍的「熵儲存」檔案(通常位於 /var/lib 中的某個位置),允許程式在此類系統上繼續使用 /dev/[u]random。
(對於較舊的Linux 版本,這尤其是一個問題,其中/dev/random 和/dev/urandom 的工作方式不同- 從前者讀取會快速耗盡操作系統“熵池”,迫使程序等待,而後者可以提供低如果太早讀取品質隨機資料。
因此 wpa_supplicant 的內部熵池和「熵檔案」選項專門用於以下系統:不要擁有一個功能齊全的作業系統範圍的熵池,例如廉價的基於 MIPS 的 SoC。 (wpa_supplicant 來自用於建立存取點的「hostapd」專案。)您通常不需要-e
在常規 Linux 系統上使用該選項。
另外,如果您在 Raspberry Pi 上運行基於 systemd 的 Linux 發行版,它已經使用 /var/lib/systemd/random-seed 來幫助啟動時作業系統熵池初始化(並且它可能正在運行經過改進的最新核心)以及熵收集)。
我可以在 RPi 中的哪個位置配置 wpa_supplicant 服務的位置?
您配置選項在wpa_supplicant 服務。
如果您使用 systemd 運行 Linux,請使用systemctl cat
檢視服務定義;具體線路ExecStart=
。根據分佈情況,有兩種選擇:
有時,配置的命令列將包含一個變量,例如
$WPA_ARGS
.這來自同一服務定義中的 EnvironmentFile= 設定中指定的檔案(通常位於 /etc/default/ 或 /etc/sysconfig/ 中),因此編輯該檔案並執行systemctl daemon-reload
.有時並非如此,所有選項都直接在 ExecStart= 參數中定義。在這種情況下,
systemctl edit --full wpa_supplicant
直接執行編輯它 - 您的自訂服務檔案將儲存在 /etc/systemd/system/ 中以覆蓋發行版。