問題は、それが非常に主観的用語をイアということです。 「安全」なのかどうかは、セキュリティ対策が破られた場合に起こりうるアプリケーションの種類と損害に実際に依存します。
暗号化されていない、または暗号化された形式でパスワードをメモリに表示することは、ある意味で「安全」ではありません。しかし、私はセキュリティの狂信的な怒りの危険を冒し、サーバの揮発性メモリにユーザのパスワードを持たせることは、熱核戦争と許容されるリスクを免れないことを示唆します。
実際には起こらないAD井戸との通信に関しては、パスワードによってサーバーのメモリが他の場所に移動することはありません。代わりに、ADは、サーバーでローカルに実行されているセキュリティAPIがパスワードを使用して応答するように構築するという難題を定式化しています。チャレンジに対するレスポンスはADに返されますが、このレスポンスにはパスワードは含まれていませんが、正しいパスワードが存在するという証拠があります。
イントラネット環境では、このような問題が発生しており、ユーザ名とパスワードを入力しなおすことに悩まされています。 Windows統合セキュリティに頼るほうがよいでしょう。
「NTLMを使用しないようお勧めしました」というメッセージを読んだことがあります。はい、それは現代のマシンNTLMで私たちが好きかもしれないほど安全ではありませんが、本当にあなたの要件のためにあまりにも弛緩ですか?おそらくそれは統合セキュリティですが、Kerberos
も使用できます。
私の提案は、IISでNTLMをオフにして、Kerberosだけで認証を処理するようにして、dllを捨てることです。この方法でパスワードをどこにでも移すことはなく、ユーザーはパスワードを再入力することに困惑しません。コードに何もせずにNTLMを使用しないでください。
C#で従来のaspを使用することはできませんが、C#タグがある理由はわかりません。 –
セキュリティが必要なものは? DLLにフォームを渡すのがなぜ安全でないのですか? DLLは入力チェックをしていませんか? – cha0site
@MystereMan http://stackoverflow.com/questions/tagged/asp-classic+c%23 ':(' –