web-dev-qa-db-ja.com

wpa_passphraseツールは実際にwpa-supplicant設定ファイルにどのようなセキュリティを追加しますか?

私は this コマンドラインインターフェイスのみを使用して最新のLinuxシステム(特にraspbianですが、手順は他のLinuxシステムでも同様であると思います)でwifi接続をセットアップするためのガイドを見ていました。このガイドでは、PSKは事前に暗号化された32バイトの16進数として保存できると述べていますが、接続にはプレーンテキストのSSIDとPSKが使用されるとも述べています。さらに、wpa_passphraseツールはSSIDを使用してPSKを暗号化しているようです(チュートリアルを誤解していない限り)。

攻撃者がこのwpa-supplicant構成ファイルにアクセスした場合、SSID(プレーンテキストで保存されている)とwpa_passphraseツールの暗号化アルゴリズムの知識を使用してPSKを復号化し、セキュリティを強化できないようです。プレーンテキストのPSKをファイルに保存するよりも。そうではありませんか、そしてその理由は何ですか?

1
jaredad7

PSKは、パスフレーズの暗号化されたバージョンではありません。パスフレーズのハッシュバージョンです。具体的には(私が正しく覚えていれば)、WPA2のPSKは、SSIDをソルトとして使用したPBKDF2(パスフレーズ)の出力です。

違いは、暗号は可逆的であり、ハッシュは可逆的ではないということです。 PSKは実際には直接使用可能 WPA2ネットワークキーとして使用され、復号化はまったく行われませんが、元のパスフレーズを見つけるために元に戻すことはできません。

これはそれ自体で軽度のセキュリティを提供するだけですが、パスフレーズを頻繁にローテーションする場合(MyLittleWifi42→MyLittleWifi43→MyLittleWifi44など)、ハッシュされたPSKだけを持っている人は将来のパスフレーズを推測する方法がありません。同様に、ネットワークの名前を変更すると、すべての古いPSKも無効になります。

(注:私の知る限り、この方法はWPA3-SAEでは機能しなくなり、クライアントは元のパスフレーズを持っている必要があります。PSKのみを保存すると、WPA2のみに制限されます。)

3
user1686