내용은 이미 HTTPS가 지킨다
제대로 된 웹사이트와 앱은 거의 모두 트래픽을 양 끝 사이에서 암호화합니다. 비밀번호, 메시지, 카드 번호는 TLS 안에서 이동하므로, 카페 와이파이의 도청자에게 보이는 건 내 데이터가 아니라 암호문입니다. 옛 위협의 그 부분은 대체로 사라졌습니다.
가이드
카페에서 누군가 공중에서 내 비밀번호를 낚아챈다는 고전적인 괴담은 대부분 옛말이 됐습니다. HTTPS가 이미 거의 모든 연결의 내용을 암호화하니까요. 공용 와이파이에 남은 위협은 더 미묘합니다. 도메인 이름 같은 훤히 보이는 메타데이터, 가짜 액세스 포인트, 캡티브 포털, 그리고 같은 네트워크를 나눠 쓰는 다른 기기들입니다.
제대로 된 웹사이트와 앱은 거의 모두 트래픽을 양 끝 사이에서 암호화합니다. 비밀번호, 메시지, 카드 번호는 TLS 안에서 이동하므로, 카페 와이파이의 도청자에게 보이는 건 내 데이터가 아니라 암호문입니다. 옛 위협의 그 부분은 대체로 사라졌습니다.
암호화는 무슨 말을 하는지를 숨길 뿐, 누구와 말하는지는 못 숨깁니다. DNS 조회와 TLS 핸드셰이크 속 서버 이름은 내가 어떤 사이트와 서비스를 쓰는지 드러내고, 네트워크 운영자든 그 안에 자리 잡은 누구든 그 목록을 모을 수 있습니다.
누구나 카페나 공항 이름을 단 핫스팟을 뿌릴 수 있습니다. 기기는 낯익어 보이는 가장 센 신호에 붙고, 그 순간부터 공격자가 내 게이트웨이가 됩니다. 비밀번호 스니핑이 아니라 이것이 현실적인 요즘 공격입니다.
떠도는 이야기보다는 덜, 제로보다는 더 위험합니다. 10년 전에는 웹의 상당 부분이 비암호화로 돌아갔고, 구석의 노트북이 정말로 공중에서 로그인 정보를 캡처할 수 있었습니다. 지금은 의미 있는 트래픽 거의 전부가 TLS로 감싸여 있습니다. 은행, 메일, 메신저, 쇼핑몰은 내가 어떤 네트워크에 앉아 있든 기기와 자기네 서버 사이의 내용을 암호화합니다.
살아남은 건 다른 종류의 위험입니다. 암호화가 덮지 못하는 메타데이터, 주장하는 것과 다른 액세스 포인트, 개인 정보를 요구하는 포털 페이지, 그리고 낯선 사람들과 로컬 네트워크를 나눠 쓴다는 단순한 사실.
TLS는 트래픽의 내용은 숨기지만 목적지는 못 숨깁니다. 기기가 호스트 이름을 조회할 때 그 DNS 쿼리는 네트워크가 읽을 수 있는 경우가 많고, TLS 연결을 열 때는 서버 이름이 보통 핸드셰이크의 SNI 필드에 평문으로 나타납니다. 핫스팟을 운영하거나 들여다보는 자는 내가 건드린 모든 사이트와 앱의 목록을 시각까지 붙여 깔끔하게 만들 수 있습니다.
대부분의 사람에게 이건 비상사태라기보다 프라이버시 문제입니다. 방문하는 도메인 목록은 나에 대해 많은 것을 말해 주는데, 공용 네트워크에서는 누가 왜 그걸 수집하는지 알 길이 없습니다. 암호화 DNS는 누출을 좁혀 주지만 SNI까지 없애 주진 않습니다.
적대적인 네트워크에서 VPN이 완전히 닫아 주는 틈이 바로 이것입니다. 터널 안에서는 DNS도 핸드셰이크도 핫스팟에 보이지 않고, 핫스팟이 아는 건 내가 VPN 서버에 연결돼 있다는 사실뿐입니다.
지금 있는 카페, 호텔, 공항의 이름을 단 와이파이를 뿌리는 걸 막을 방법은 없습니다. 기기는 낯익은 이름의 가장 센 신호에 넙죽 붙고, 옛 네트워크를 기억하는 폰은 손 하나 대지 않아도 닮은꼴에 자동으로 재접속합니다.
공격자의 액세스 포인트에 올라탄 순간 그가 내 게이트웨이입니다. 내 DNS를 할당하고, 모든 패킷을 라우팅하고, 그럴싸한 가짜 페이지로 유도하려 들 수 있습니다. 제대로 보호된 사이트는 TLS가 여전히 지켜 줍니다 — 누가 사칭하면 브라우저가 요란하게 경고합니다 — 하지만 비암호화된 모든 것, 인증서 오류를 무시하는 앱, 그리고 공격자가 차려 준 페이지에 내가 입력하는 모든 것은 노출됩니다.
실질적인 방어는 화려하지 않습니다. 공용 네트워크 자동 접속을 끄고, 더는 안 쓰는 핫스팟을 잊게 만들고, 공용 네트워크에 있는 동안에는 인증서 경고를 절대 무시하지 않는 것.
호텔이나 공항 와이파이에서 나를 맞이하는 페이지 — 방 번호, 이메일 주소, 소셜 로그인을 묻는 그 페이지 — 자체도 의심하며 대할 가치가 있습니다. 네트워크 운영자의 권한으로 돌아가고, 가짜 핫스팟에서 흉내 내기도 아주 쉽습니다.
포털에는 최소한만 주세요. 필수 입력란이 있다면 버리는 이메일을, 다른 곳에서 쓰는 비밀번호는 절대, 카드 정보도 절대 안 됩니다. 무료 와이파이를 주면서 결제 정보를 요구할 정당한 이유는 포털에 없습니다.
실용적인 참고 하나. 포털을 끝내기 전에는 VPN 앱이 보통 연결되지 못합니다. 네트워크가 다른 모든 걸 막고 있으니까요. 포털을 마친 뒤 터널이 살아 있는지 확인하고 나서 민감한 일을 하세요. Aurora 앱은 네트워크가 트래픽을 통과시키기 시작하면 자동으로 재연결됩니다.
공용 와이파이에서 VPN은 한 가지 일을 대단히 잘합니다. 로컬 네트워크를 무의미하게 만드는 것이죠. 핫스팟도, 운영자도, 그 위의 다른 누구도 VPN 서버로 향하는 암호화 스트림 하나만 봅니다 — DNS 쿼리도, SNI도, 목적지도, 유도할 대상도 없습니다. WireGuard 같은 프로토콜은 이걸 배터리와 속도 비용을 거의 들이지 않고 해내므로, 계속 켜 두는 것도 현실적입니다.
VPN이 못 해 주는 것도 중요합니다. 내가 입력하는 포털 페이지를 검증해 주지 않고, 파일 공유가 로컬 서브넷에 열려 있는 기기를 지켜 주지 않으며, 피싱 사이트를 진짜로 만들어 주지도 않습니다. VPN은 신뢰를 정체 모를 핫스팟에서 내가 고른 업체로 옮겨 주는 겁니다 — 좋은 거래이지, 마법이 아닙니다.
진짜 보호의 대부분은 한 번만 해 두면 되는 몇 가지 설정과, 몸에 붙이는 습관 두어 개에서 나옵니다. 전문 지식은 하나도 필요 없습니다.
설정이 중요한 이유는 공용 와이파이 공격이 기회주의적이기 때문입니다. 부주의한 다수가 드러내 놓은 것을 걷어 가는 거죠. 패치가 돼 있고, 아무 데나 자동으로 붙지 않고, 로컬에 아무것도 공유하지 않고, 트래픽을 터널로 감싸는 기기는 애초에 수지가 안 맞는 표적입니다.
IP 주소를 숨기려면 트래픽을 다른 서버로 우회시켜 웹사이트에 내 주소 대신 그 서버의 주소가 보이게 하면 됩니다. VPN은 기기 전체에, 프록시는 앱 하나에 이걸 해 주고, Tor는 속도를 대가로 최대의 은폐를 제공합니다. IP를 숨기는 건 사이트에 보이는 것을 바꾸는 것이지, 내가 누구인지를 바꾸는 게 아닙니다.
'노 로그'가 아무것도 기록하지 않는다는 뜻인 경우는 거의 없습니다. 보통은 활동 로그가 없다는 뜻입니다. 즉 어떤 사이트를 방문했고 어떤 데이터를 주고받았는지 기록하지 않는다는 것이죠. 접속 메타데이터, 진단 정보, 결제 기록은 별개의 범주이고, 업체마다 정의가 다 다릅니다. 무엇을 보관하는지는 슬로건이 아니라 개인정보 처리방침이 알려 줍니다.
VPN 프로토콜은 내 기기와 서버가 암호화 터널을 어떻게 만드는지를 정의합니다. WireGuard는 가장 빠르고 단순하며, OpenVPN은 가장 성숙하고 유연하고, IKEv2/IPsec은 모바일에서 네트워크가 바뀌어도 가장 잘 버티며, TLS 위의 Xray/VLESS는 터널 트래픽을 평범한 HTTPS처럼 보이게 합니다. 저마다 강점의 대가로 무언가를 내줍니다.