web-dev-qa-db-ja.com

URLおよび暗号化で渡されるHTTP基本認証資格情報

HTTPSおよびHTTP認証の資格情報について質問があります。

HTTP認証でURLを保護するとします。

<Directory /var/www/webcallback>
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /var/www/passwd/passwords
Require user gooduser
</Directory>

次に、URLを介してリモートシステムからそのURLにアクセスし、その資格情報を渡します。

https://gooduser:[email protected]/webcallback?foo=bar

ユーザー名とパスワードは自動的にSSL暗号化されますか? GETとPOSTについても同じことが言えますか?私はこの情報で信頼できる情報源を見つけるのに苦労しています。

237
rcourtna

ユーザー名とパスワードは自動的にSSL暗号化されますか? GETとPOSTについても同じです。

はいはいはい。

SSLが使用されている場合、通信全体(ホスト名のIPがまだキャッシュされていない場合はDNSルックアップ用に節約されます)が暗号化されます。

226
Quentin

はい、それは暗号化されます。

あなたが単に舞台裏で何が起こっているのかをチェックすればあなたはそれを理解するでしょう。

  1. ブラウザまたはアプリケーションは最初にURLを分類し、DNSクエリを使ってホストのIPを取得しようとします。例:ドメインのIPアドレスを見つけるためにDNS要求が行われます(www.example.com)。他の情報はこの要求によって送信されませんのでご注意ください。
  2. ブラウザまたはアプリケーションは、DNS要求から受信したIPアドレスを使用してSSL接続を開始します。証明書は交換され、これはトランスポートレベルで行われます。この時点ではアプリケーションレベルの情報は転送されません。基本認証はHTTPの一部であり、HTTPはアプリケーションレベルのプロトコルです。 トランスポート層のタスクではありません。
  3. SSL接続を確立した後、今必要なデータがサーバーに渡されます。例:パスまたはURL、パラメータ、基本認証のユーザ名とパスワード。
23
Ruchira Randana