- ベストアンサー
Basic認証 (MD5)のセキュリティについて
Basic認証は、盗聴や改竄が簡単という欠点がありますが、 パスワードをMD5で生成しているBasic認証についての欠点は どういう点がありますか。 やはり盗聴や改竄が簡単でしょうか。 どなたかお教え下さい。 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>「.htaccess」をディレクトリに設置する基本認証というものです。 これは、HTTPのBasic認証(基本認証と同じ)のApacheでの実装になります。 すなわち、ApacheはHTTPサーバソフトでありますので、HTTPのBasic認証を実現するために「.htaccess」を使用することで(他の方法もあります)、そのディレクトリにアクセスした場合にHTTPのBasic認証での認証が必要になるようにApacheが作られています。 >(1)パスワードファイルの中のパスワードが「MD5」で生成されている状態で基本認証(Basic)をする場合、盗聴や改竄が容易でしょうか。 これはあくまでもサーバ内部のパスワード保存の問題なので、Basic認証を使用している限りは、通信上はBase64エンコードです。 (内部でどのような管理をしていても通信上は無関係にBase64になります) 従って盗聴や改竄は容易ということになります。 Base64エンコードはMD5と違いエンコード結果から元のデータが簡単にわかるため、プレーンテキストで送るのとほぼ同じです。 Base64エンコードは調べて頂ければわかると思いますが、テキストで通信するプロトコル(HTTP、SMTPなど)で、バイナリデータを送るような場合に用いられることが多いです。。 >(2)また、パスワードファイル内のパスワード生成が > 「MD5」で作成したものと、そうでないものでは、セキュリティが違いますか? 先に書きましたが、通信上のセキュリティレベルは同じです。 ただ、サーバに直接ログイン出来る他のユーザーがある場合、プレーンテキストでパスワードが書かれていた場合は丸見えですが、MD5ならば直接的にはパスワードはわからないという違いはあります。
その他の回答 (1)
- maesen
- ベストアンサー率81% (646/790)
>Basic認証は、盗聴や改竄が簡単という欠点がありますが、 ここで言っているBasic認証とはHTTPで定義されている認証方式だと思っていいでしょうか? >パスワードをMD5で生成しているBasic認証についての欠点は Basic認証は、ユーザー・パスワードをBase64でエンコードして送信する方式ですので、MD5でハッシュ化して送信する方式はありません。 MD5でハッシュ化して送信する方式はDigest認証になります。 もしかしたら、サーバ側のパスワードを保存するファイル(例えば htpasswd)へ記録するときのことと混同されていないでしょうか。 Digest認証の欠点は対応しているブラウザが限られるということでしょうか。 ちょっと古いブラウザではサポートしていないです。 共通して言えることですが、ブラウザを閉じるまでパスワードが保持されること。 ユーザー・パスワード以外の本文も暗号化されないとならないシーンの方が多い。 といったところでしょうか。 >やはり盗聴や改竄が簡単でしょうか。 Digest認証ということならば、チャレンジ・レスポンス式なので不可能とは言いませんが盗聴や改竄は難しいでしょう。 質問の解釈を間違えていましたらご容赦下さい。
補足
ご回答ありがとうございます。 わかりにく質問ですみません。 >ここで言っているBasic認証とはHTTPで定義されている認証方式だと思っていいでしょうか? 「.htaccess」をディレクトリに設置する基本認証というものです。 >MD5でハッシュ化して送信する方式はDigest認証になります。もしかしたら、サーバ側のパスワードを保存するファイル(例えば htpasswd)へ記録するときのことと混同されていないでしょうか。 はい、そのことです。 パスワードファイルの中のパスワードが「MD5」で生成されています。 <そこで再質問ですみません> (1)パスワードファイルの中のパスワードが「MD5」で生成されている状態で基本認証(Basic)をする場合、盗聴や改竄が容易でしょうか。 (2)また、パスワードファイル内のパスワード生成が 「MD5」で作成したものと、そうでないものでは、セキュリティが違いますか? 以上、度々申し訳ございませんが、ご教授下さい。
お礼
丁寧なご回答、ありがとうございました。 よくわかりました。