안티디텍트 브라우저란? 쉬운 설명

안티디텍트 브라우저는 계정마다 별도의 저장소, 기기 아이덴티티, 네트워크 경로를 제공합니다. 실제로 무엇을 뜻하고 무엇을 뜻하지 않는지 설명합니다.
일반 웹 브라우저는 한 사람이 쓴다는 가정 하나를 중심으로 설계되었습니다. 이 가정은 대부분의 사람이 생각하는 것보다 훨씬 깊이 박혀 있으며, 하나의 브라우저로 여러 계정을 관리하면 그토록 일관되게 문제가 생기는 이유이기도 합니다.
안티디텍트 브라우저는 그 가정을 없앱니다. 안티 핑거프린트 브라우저나 멀티 계정 브라우저라고도 불립니다. 하나의 브라우저가 여러 사람인 척하는 대신, 계정마다 완전한 자기만의 환경을 줍니다.
일반 브라우저가 계정 사이에서 공유하는 것
하나의 브라우저에서 두 계정을 열면, 창이 둘로 나뉘어 있어도 탭이 암시하는 것보다 훨씬 많은 것을 공유합니다.
- 쿠키 저장소 하나. 한 계정을 쓰는 동안 사이트가 설정한 쿠키는 다른 계정을 쓰는 동안에도 같은 사이트가 읽습니다.
- 저장 영역 하나. Local Storage, Session Storage, IndexedDB는 계정이 아니라 사이트 기준으로 키가 정해지므로 두 세션이 같은 레코드를 읽고 씁니다.
- 기기 아이덴티티 하나. 화면 크기, 시간대, 언어, 글꼴, 그래픽 어댑터, Canvas와 WebGL API가 반환하는 값은 기기의 속성입니다. 두 계정이 동일한 값을 보고합니다.
- 네트워크 경로 하나. 다른 것이 개입하지 않는 한 두 계정 모두 같은 주소로 컴퓨터를 떠납니다.
시크릿 창은 앞의 두 가지에는 도움이 되지만 뒤의 두 가지에는 아무 효과가 없습니다. 닫을 때 저장소를 지우므로, 로그인하는 수고도 매번 버려진다는 뜻이기도 합니다.
안티디텍트 브라우저에서 프로필이란
프로필은 즐겨찾기 폴더나 저장된 로그인이 아닙니다. 브라우저 환경입니다. 한 계정의 모든 브라우저 상태를 담은 디스크 위의 디렉터리와, 그 상태가 사용되는 아이덴티티 및 네트워크 경로를 말합니다.
PowerOps의 프로필은 네 가지를 가지며, 각각 다른 모든 프로필과 분리되어 있습니다.
| 구성 요소 | 담고 있는 것 |
|---|---|
| 브라우저 디렉터리 | 쿠키, Local Storage, IndexedDB, 캐시, 방문 기록, 확장 프로그램 상태를 자기만의 폴더에 보관 |
| 기기 아이덴티티 | 사이트에 보고되는 화면, 플랫폼, 로케일, 시간대, 글꼴, 그래픽 값 |
| 네트워크 경로 | 이 프로필이 연결에 사용하는 프록시. 라이브러리에서 지정하고 사용 전에 검증 |
| 브라우저 빌드 | 프로필이 만들어진 정확한 브라우저 버전. 내일도 같은 방식으로 열리도록 기록 |
은폐보다 일관성이 중요한 이유
흔한 실수는 핑거프린팅을 숨겨야 할 대상으로 보는 것입니다. 일관되게 유지해야 할 대상으로 보는 편이 더 유용합니다.
사이트는 수십 개의 값을 읽습니다. 하나하나는 평범합니다. 합치면 하나의 모양이 되는데, 주목을 끄는 것은 특이한 모양이 아니라 모순된 모양입니다. Windows 플랫폼이라고 주장하면서 macOS에만 설치된 글꼴을 보고하는 브라우저, 또는 한 나라의 시간대에 다른 나라의 주소를 쓰는 경우가 그렇습니다. 서로 어긋나는 값은 어떤 단일 값보다 강한 신호입니다.
안티디텍트 브라우저가 하지 않는 것
이 주제를 다룬 글 중 상당수는 그렇지 않으므로, 솔직하게 말할 필요가 있습니다.
- 프로필을 식별 불가능하게 만들지 않습니다. 그렇게 주장하는 사람은 추측하는 것이며, 그 주장 뒤에는 어떤 측정도 없습니다.
- 플랫폼의 규칙을 무시하게 해 주지 않습니다. 서비스가 계정을 둘 이상 보유하는 것을 금지한다면, 계정을 격리한다고 허가가 생기지는 않습니다.
- 플랫폼이 문제 삼는 방식으로 행동하는 계정을 고쳐 주지 않습니다. 격리는 환경을 분리할 뿐이며, 그 안에서 무엇을 하는지는 바꾸지 않습니다.
실제로 하는 일은 구체적이고 확인할 수 있습니다. 분리된 저장소, 일관되고 안정적인 기기 아이덴티티, 프로필별 네트워크 경로, 그리고 계정을 열 때마다 같은 환경입니다.
실제로 누가 필요로 하는가
서로 볼 수 없어야 하는 환경들을 가로질러 일하는 개인이나 팀이라면 어디서든 필요합니다. 고객 작업을 분리해 두는 에이전시. 고정된 브라우저, 로케일, 화면 크기에서 버그를 재현하는 QA 엔지니어. 마켓플레이스, 공급업체, 스토어프론트 백오피스를 분리하는 이커머스 팀. 무언가에서 로그아웃해야 다른 곳에 로그인할 수 있는 하루를 보내는 모든 사람.
하나의 서비스에 계정 하나만 가지고 있다면 일반 브라우저로 충분합니다. 둘이 되는 순간부터 공유된 쿠키 저장소가 시간을 잡아먹기 시작합니다.

