HTTPS 및 HTTP 인증 자격 증명에 대한 질문이 있습니다.
HTTP 인증으로 URL을 보호한다고 가정합니다.
<Directory /var/www/webcallback>
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /var/www/passwd/passwords
Require user gooduser
</Directory>
그런 다음 HTTPS를 통해 원격 시스템에서 해당 URL에 액세스하여 URL의 자격 증명을 전달합니다.
https://gooduser:secretpassword@www.example.com/webcallback?foo=bar
사용자 이름과 비밀번호가 자동으로 SSL 암호화됩니까? GET과 POST에 대해서도 마찬가지입니까? 이 정보로 신뢰할 수있는 출처를 찾는 데 어려움을 겪고 있습니다.
답변
사용자 이름과 비밀번호가 자동으로 SSL 암호화됩니까? GET 및 POST에 대해서도 동일합니다.
예, 예
SSL을 사용중인 경우 전체 통신 (호스트 이름의 IP가 아직 캐시되지 않은 경우 DNS 조회를 위해 저장)이 암호화됩니다.
답변
예, 암호화됩니다.
장면 뒤에서 일어나는 일을 간단히 확인하면 이해할 수 있습니다.
- 브라우저 나 응용 프로그램은 먼저 URL을 분류하고 DNS 쿼리를 사용하여 호스트의 IP를 가져 오려고 시도합니다. 즉, 도메인의 IP 주소 (www.example.com)를 찾기 위해 DNS 요청이 이루어집니다. 이 요청을 통해 다른 정보는 전송되지 않습니다.
- 브라우저 또는 응용 프로그램은 DNS 요청에서받은 IP 주소로 SSL 연결을 시작합니다. 인증서가 교환되며 이는 전송 수준에서 발생합니다. 이 시점에서는 응용 프로그램 수준 정보가 전송되지 않습니다. 기본 인증은 HTTP의 일부이며 HTTP는 응용 프로그램 수준 프로토콜입니다. 전송 계층 작업이 아닙니다.
- SSL 연결을 설정하면 필요한 데이터가 서버로 전달됩니다. 즉 : 경로 또는 URL, 매개 변수 및 기본 인증 사용자 이름 및 비밀번호.
답변
반드시 사실 일 필요는 없습니다. 그것은 유선으로 암호화되지만 여전히 로그 평문에 도착합니다.