SNI는 내 웹사이트 방문자의 개인정보 보호 문제를 나타냅니까?

SNI는 내 웹사이트 방문자의 개인정보 보호 문제를 나타냅니까?

먼저, 제 영어가 서툴러서 죄송합니다. 나는 아직도 그것을 배우고 있습니다. 여기 간다:

IP 주소당 단일 웹사이트를 호스팅할 때 "순수한" SSL(SNI 없음)을 사용할 수 있으며 사용자가 검색하려는 호스트 이름과 경로를 알려주기도 전에 키 교환이 발생합니다. 키 교환 후에는 모든 데이터를 안전하게 교환할 수 있습니다. 즉, 누군가가 네트워크를 스니핑하더라도 기밀 정보는 유출되지 않습니다*(각주 참조).

반면, IP 주소당 여러 웹사이트를 호스팅하는 경우 아마도 SNI를 사용할 것이므로 웹사이트 방문자는 올바른 인증서를 제공하기 전에 대상 호스트 이름을 나에게 알려야 합니다. 이 경우 네트워크를 스니핑하는 사람은 그가 액세스하는 모든 웹사이트 도메인을 추적할 수 있습니다.

내 가정에 오류가 있나요? 그렇지 않은 경우 사용자가 암호화된 DNS도 사용한다고 가정하면 이는 개인 정보 보호 문제를 나타내지 않습니까?

각주: 또한 스니퍼가 IP 주소에 대해 역조회를 수행하여 어떤 웹사이트를 방문했는지 알아낼 수 있지만 네트워크 케이블을 통해 일반 텍스트로 이동하는 호스트 이름은 검열 당국이 키워드 기반 도메인 차단을 더 쉽게 만드는 것 같습니다.

답변1

귀하의 분석이 잘못되었습니다. SNI가 없으면 SNI가 더 안전합니다.

SNI가 없으면 IP 주소가 호스트를 고유하게 식별합니다. 따라서 IP 주소를 결정할 수 있는 사람은 누구나 호스트를 결정할 수 있습니다.

SNI를 사용하면 IP 주소가 호스트를 고유하게 식별하지 않습니다. 정확한 호스트를 확인하려면 누군가 실제로 트래픽의 일부를 가로채서 확인해야 합니다. 이는 IP 주소를 얻는 것보다 더 어렵습니다.

따라서 SNI가 없을 때보다 SNI를 사용하면 (약간) 더 안전해집니다.

패킷 데이터에 대한 침입적 분석을 기반으로 차단하려는 사람은 누구나 IP 주소를 기반으로 차단할 것입니다. SNI 유무에 관계없이 IP 주소를 기반으로 "나쁜 것"을 차단합니다.

그러나 귀하의 질문에 대한 대답은 "예"입니다. SNI는 개인 정보 보호 문제를 나타냅니다. SNI를 사용하면 트래픽을 가로챌 수 있는 사람이 IP 주소 외에 호스트 이름도 얻게 됩니다.

답변2

당신 말이 맞아요. SNI는 방문자의 주요 개인정보 보호 문제입니다. 이는 방문자가 ISP 및 기타 수동적 청취 당사자에 연결하는 정확한 웹사이트를 노출합니다. 하지만 DNS도 마찬가지입니다... 음... 익숙합니다: Google이 이 문제를 해결하고 있습니다:-

https://thehackernews.com/2017/10/android-dns-over-tls.html

IP 주소를 아는 것은 ISP가 적극적으로 나가서 자신을 살펴보지 않는 한 해당 IP 주소에 어떤 웹 사이트가 있는지 ISP에게 알려주지 않습니다. 이는 수동적으로 고객 패킷을 스니핑하는 것과는 매우 다릅니다.

답변3

이는 잠재적인 개인 정보 보호 문제를 나타내는 것이 맞습니다. SNI를 사용하면 도메인 이름이 암호화되지 않은 상태로 전송됩니다.

그렇기 때문에ESNI(암호화된 SNI)는 이미 CDN에 구현한 Cloudflare에 의해 제안되었습니다. 이 글을 쓰는 시점에는 브라우저 지원이 0에 가깝지만 이것이 미래일 것 같습니다!

관련 정보