요약

  • RFC 3041은 좁은 범위의 IPv6 프라이버시 문제를 다루었다: 링크 계층에서 파생된 인터페이스 식별자는 기기가 새로운 네트워크 접두사로 이동한 뒤에도 주소 안에서 계속 드러날 수 있었다.
  • 임시 주소는 주소 기반의 단순한 연관 추적을 어렵게 만들 수 있었지만, 접두사를 숨기거나, 애플리케이션 식별자를 지우거나, 호스트를 익명으로 만들지는 않았다.

IPv6 비상태 주소 자동 구성(SLAAC)은 호스트가 로컬에서 얻을 수 있는 정보와 라우터가 광고하는 접두사를 조합해 주소를 만들 수 있게 했다. RFC 3041이 다룬 주소 아키텍처에서 접두사는 네트워크 위치를 나타내고, 나머지 부분은 인터페이스 식별자가 채웠다. 초기 인터페이스 식별자는 IEEE 또는 링크 계층 식별자에서 파생될 수 있었다. 그 값이 일정하게 유지되면 접두사를 바꿔도 주소는 바뀌지만 인식 가능한 구성 요소는 그대로 남았다.

이것이 문제가 된 이유는 주소가 패킷 헤더에 담겨 다니기 때문이다. 페이로드는 암호화할 수 있어도, 노출된 출발지 주소 하나만으로 관찰자가 여러 트랜잭션을 연결하는 데 도움을 받을 수 있었다. 노트북은 서로 다른 네트워크에서 서로 다른 접두사로 나타날 수 있지만, 각 주소에 내장된 식별자는 연속성을 암시할 수 있었다. RFC 3041은 이를 연관 추적 위험으로 다루었다. 관찰자가 실제로 사람을 식별했다는 증거도, 모든 기기가 동일한 생성 방식을 사용한다는 주장도 아니었다.

이 제안은 SLAAC를 새로운 주소 체계로 대체하지 않았다. 일반 주소와 함께 임시 전역 범위 주소를 추가했다. 발신 연결에서 호스트는 임시 출발지 주소를 우선 사용할 수 있었다. 수신 연결을 받거나 DNS에 등장하거나 관리자와 애플리케이션이 인식할 수 있는 주소가 필요한 기기에는 안정적인 주소가 여전히 유용했다. 이 두 주소 모델에서 출발지 선택이 운영상의 핵심이었다. 프라이버시 지향적인 발신 사용과 안정적인 수신 도달성은 서로 다른 역할이었다.

RFC 3041은 변화하는 이력 상태에서 파생된 무작위화된 인터페이스 식별자를 설명하고, 이를 광고된 접두사로 임시 주소를 구성하는 데 사용했다. 제안된 기본값은 선호 수명 1일, 유효 수명 1주일이었으며, 사용자나 구현 정책과 접두사 자체의 수명에 따를 수 있었다. 교체 주소는 기존 주소가 deprecated가 되기 전에 생성될 수 있었다. deprecated 주소는 기존 연결에서는 유효하게 유지되고, 새 연결은 선호 주소를 사용해야 했다. 따라서 주기적 교체란 패킷마다 출발지를 바꾸는 것이 아니라 겹치는 주소 상태를 관리하는 것이었다.

이 설계가 겨냥한 것은 특정 연결 키였다. 서로 다른 트랜잭션에서 같은 주소 구성 요소를 재사용하는 것이다. 네트워크 접두사는 제거하지 않았고, 접두사는 여전히 위치나 그룹 활동 같은 토폴로지 정보를 드러낼 수 있었다. DNS 이름, 쿠키, 계정 로그인, 애플리케이션 동작, 트래픽 타이밍 같은 다른 식별자도 바꾸지 않았다. 서버는 여전히 로그인한 사용자를 인식할 수 있었고, 경로상 관찰자는 트래픽 패턴을 비교할 수 있었다. 임시 주소는 통신 과정에서 노출될 수도 있고 유효 수명 동안 계속 사용될 수도 있었다. 주소 재사용이 줄어드는 것과 익명성은 같지 않다.

임시 주소와 안정 주소의 분리에는 비용도 있었다. 출발지를 주기적으로 바꾸면 패킷 추적의 귀속, 접근 제어 목록, 역방향 DNS 기대, 문제 해결, 일부 장기 연결이 복잡해진다. 애플리케이션은 안정적인 목적지 신원이 필요할 수 있고, 관리자는 예측 가능한 로그를 선호할 수 있다. 그래서 RFC 3041은 애플리케이션, 구현, 신뢰할 수 있는 관리자가 임시 주소 사용 여부에 영향을 줄 수 있는 여지를 남겼다. 네트워크가 모든 애플리케이션을 대신해 그 선택을 하지는 않았다.

이 표준의 역사는 일련의 개정 과정이며, 2001년의 세부 사항이 여전히 유효하다는 주장이 아니다. RFC 4941이 2007년 RFC 3041을 대체(obsoleted)했고, RFC 8981이 2021년 RFC 4941을 대체했다. 현재 계열은 임시 주소 생성을 유지하면서 알고리즘과 지침을 개정했다. RFC 7217과 RFC 8064는 관련은 있지만 다른 선택, 즉 단순히 노출된 하드웨어 식별자가 아닌 안정적인 인터페이스 식별자를 다룬다. 임시 주소는 시간이 지나면 바뀌지만, 안정적인 불투명 식별자는 네트워크마다 달라질 수 있으면서 하나의 네트워크 안에서는 안정을 유지한다.

RFC 3041이 남긴 본질적 질문은 “IPv6 주소를 프라이버시하게 만들 수 있는가”가 아니었다. 더 정확한 질문은 이것이었다: 네트워크 접두사가 바뀔 때 주소 안의 무엇이 계속 활동을 연결 가능하게 만드는가, 그리고 애플리케이션이 어떤 출발지 주소를 제시하는지를 누가 통제하는가. 임시 주소 지정은 하나의 관찰 창을 좁혔다. 신원, 도달성, 기기의 연관 추적 방식 전부를 해결하지는 못했다.

출처