認証方法としてeap-mschapv2
を使用しています。プレーンテキストのパスワードをipsec.secrets
に保存する必要があります。つまり私はこのようなパスワードを持っています:
user : EAP "mypassword"
私はこのようなものを使いたい:
user : EAP "34819d7beeabb9260a5c854bc85b3e44"
サーバーにハッシュのみを保存し、クライアントがプレーンテキストのパスワードで自分自身を認証できるように認証方法を変更することは可能ですか?
従来のチャレンジレスポンスベースのEAPメソッド(特にstrongSwanでサポートされているメソッド)では、クライアントのレスポンスを確認するためにプレーンテキストのパスワードにアクセスする必要があります(EAP-MSCHAPv2は実際には例外です。以下を参照)。 IKEv2には、プレーンテキストパスワードの保存を必要としないパスワードベースのチャレンジレスポンス認証スキームがあります(ゼロ知識パスワード証明に基づく)。 AugPAKE( RFC 6628 )またはPACE( RFC 6631 )、およびいくつかのEAPメソッド(例: EAP-EKE( RFC 6124 )、それも許可しますが、strongSwanは現在それらのいずれもサポートしていません。
別の方法は、 EAP-GTC を使用することです。これは、サーバーがハッシュに対してパスワードを検証できるようにするプレーンテキストのパスワードを送信します(たとえば、 [〜#〜] pam [〜#〜]を使用) )。それに関する問題は、ほとんどのクライアントがこの方法をサポートしていないことです。
EAP-MSCHAPv2の場合、実際にはパスワードをNT-Hash(UTF16でエンコードされたパスワードのMD4ハッシュ)として保存できます。ipsec.secretsの NTLMキーワード のドキュメントを参照してください。しかし、それではセキュリティはそれほど向上しません。