- Google의 Web Environment Integrity(WEI) 제안은 웹사이트가 브라우저 환경의 증명을 요구하고, 승인되지 않은 클라이언트를 차단할 수 있게 해 개방 웹을 사일로화된 앱처럼 만들 수 있음
- 구조의 핵심은 외부 attestation agent가 브라우저와 플러그인을 검사하고, 웹사이트가 그 결과로 접근 허용 여부를 결정하는 데 있음
- 명시된 사용 사례에는 Google Play가 증명 제공자로 등장하며, 광고가 자동화 프로세스가 아닌 합법적 사용자에게만 제공되도록 하는 광고 노출·봇 차단 시나리오가 포함됨
- 브라우저 선택, 광고 차단기, 오래된 기기, 보조기술 의존 사용자가 배제될 수 있어 접근성·포용성과 개방 웹의 생성성이 함께 흔들림
- Google 저장소의 이슈·댓글 차단, Mozilla의 반대, Apple Private Access Tokens와 IETF PrivacyPass의 attester 불명확성까지 이어지며 표준화와 규제 대응 문제가 남아 있음
WEI가 개방 웹을 위협하는 방식
- Web Environment Integrity(WEI) 는 웹사이트가 브라우저 환경의 “무결성” 증명을 요청할 수 있게 하는 제안임
- 웹사이트는 특정 기기나 브라우저에서만 페이지를 표시하고, 다른 클라이언트에는 서비스를 거부할 수 있음
- 이 구조는 클라이언트 측 소프트웨어를 특정 웹사이트에 묶어 사일로화된 앱을 만드는 효과를 냄
- 선호되는 클라이언트 소프트웨어를 사용할 수 없는 플랫폼과 사용자는 불이익을 받음
- 충분히 최신 기기를 보유하기 어려운 사용자
- 특수 브라우저나 보조기술이 필요한 사용자
- 스크린 리더 성능이나 오래된·저가 기기 호환성이 중요한 사용자
- 이런 배제 가능성 때문에 WEI는 웹의 설계 원칙에 반하는 반사회적 제안으로 비판받음
브라우저 증명 메커니즘
- WEI는 브라우저가 자신의 “무결성”에 관한 attestation을 외부 agent로부터 받아 웹사이트에 전달하는 구조임
- agent는 브라우저와 플러그인을 검사하고, 검사를 통과한 경우에만 승인을 발급하는 것으로 상정됨
- 웹사이트는 이 승인 결과를 보고 서비스 제공 여부를 결정할 수 있음
- 겉으로는 사용자를 위해 환경이 변조되지 않았음을 보장하는 기능처럼 보이지만, 실제 사용 사례는 사업자 보호에 더 가깝게 배치돼 있음
- 제안에는 Google Play가 증명 제공자가 될 수 있다는 내용과, 광고가 자동화 프로세스가 아닌 합법적 사용자에게만 제공되도록 하는 예시가 포함됨
광고, 봇, 광고 차단기
- 제안의 배경에는 광고 노출과 봇을 둘러싼 이해관계가 있음
- 광고주는 비용을 줄이고 싶어 함
- 웹사이트 운영자는 광고를 표시하고 싶어 함
- Google 광고 네트워크는 impression 단위로 비용을 청구함
- 봇은 impression을 생성함
- WEI는 봇을 증명으로 배제해 Google Play에 로그인한 사용자에게만 광고 노출이 발생하도록 하는 해법으로 읽힘
- 봇은 일반적으로 user agent 문자열 등 로그 정보만으로도 구분되는 경우가 많지만, user agent는 위조될 수 있음
- 충분히 동기부여된 봇은 더 강한 보안 조치도 우회할 수 있으며, Selenium WebDriver 같은 도구로 합법적 브라우저를 이용해 요청할 수도 있음
- 핵심 약점은 attester에 있음
- 공격자가 attester를 설득해 클라이언트를 합법적으로 보이게 할 수 있음
- 또는 합법적 클라이언트를 attester가 문제 삼지 않는 방식으로 사용할 수 있음
- 결국 봇은 실제 브라우저만큼 정교해져 attestation을 통과할 수 있고, WEI는 봇보다 광고 차단기를 겨냥한 것으로 해석됨
남용 가능성과 브라우저 전쟁의 재현
- attestation agent가 어떤 방식으로 브라우저를 승인하거나 거부할지는 자유롭게 정할 수 있음
- 이 구조는 임의 남용의 문을 열 수 있음
- 웹사이트가 독점적 데이터 수집 agent 설치를 요구할 수 있음
- 특정 브라우저를 쓰지 않으면 서비스를 거부할 수 있음
- 1990년대 후반의 브라우저 전쟁이 재현될 수 있음
- 광고 네트워크의 사용자 추적은 점점 더 비판받고 있으며, 광고 차단기는 보안 수단으로도 권장됨
- 광고는 합법적 웹사이트에 악성코드를 사이드로드하는 경로가 될 수 있어, 보안 전문가들이 광고 차단기 사용을 권장하는 경우가 있음
- WEI가 수용되면 개방 웹이 수십 년 후퇴한다는 비판으로 이어짐
생성적 시스템에서 어플라이언스로
- Jonathan Zittrain의 『The Future of the Internet -- And How to Stop It』는 전화망을 출발점으로 어플라이언스와 생성적 시스템을 구분함
- 어플라이언스는 토스터처럼 하나의 주 기능을 중심으로 작동하고, 다른 기능은 그 변형에 가까움
- PC와 인터넷은 특정한 주 목적 없이 기본 기능을 제공하고, 목적을 사용자가 정하는 생성적 시스템으로 분류됨
- 개방 웹은 사용자 개발 비독점 프레임워크들의 모음이며, 상호운용성과 제공자·최종 사용자 사이의 데이터 접근 및 소유 균형을 강조함
- agent의 임의 판단에 따른 attestation은 웹을 어플라이언스로 바꾸고, 더 정확히는 브라우저를 어플라이언스형 웹사이트의 확장으로 만듦
- 웹사이트 운영자는 이미 어플라이언스를 만들 수 있지만, 이런 변화가 누적되면 생성적 개방 웹의 유용성이 줄어듦
접근성과 규제 논점
- WEI가 원칙적으로 접근성 문제를 직접 “발생”시키는 것은 아니지만, 비용 효율성은 브라우저 시장의 20%에 집중해 80% 사용자를 확보하는 방식으로 작동할 수 있음
- 나머지 20% 사용자는 지원 비용이 크다는 이유로 무시될 수 있음
- 특수 브라우저가 필요한 사용자
- 스크린 리더 성능이 중요한 사용자
- 저가·구형 기기에서 동작하는 브라우저가 필요한 사용자
- 접근 문제는 규제로 해결해야 한다는 반론도 있음
- 좋은 규제 프레임워크는 드물고, 기술은 법보다 빠르게 움직임
- 단기적으로는 기술 자체의 위험을 다루고, 장기적으로는 규제 대응까지 이어가야 함
기업 이익 보호와 개방 웹의 충돌
- 기업이 이익을 보호하려는 행위라도 사람들에게 해를 끼친다면 정당화되기 어려움
- 인터넷과 개방 웹은 사람들이 사용 방식을 결정할 수 있기 때문에 긍정적 영향을 갖는 생성적 시스템임
- 이 결정권이 줄어드는 순간 시스템은 어플라이언스 쪽으로 이동함
- 기업이 이익 보호를 위해 생성적 시스템을 어플라이언스로 줄이면, 그 자체로 사람들에게 해가 됨
- Google은 생성적 시스템 위에서 성장한 기업이 이제 같은 시스템을 자사 필요에 맞는 어플라이언스로 바꾸려 한다는 비판을 받음
W3C, 저장소, Mozilla의 반응
- WEI 제안에 대해 W3C 행동강령 위반 문제가 제기됐고, 담당 그룹은 자신들의 관할이 아니라고 답함
- 이후 W3C ombudspeople에게 WEI 제안과 참여자 행동에 대한 우려가 전달됨
- 우려에는 GitHub 저장소 maintainers가 커뮤니티 이슈를 닫고 있다는 점이 포함됨
- 2023년 7월 22일 Google은 저장소에서 이슈 제기와 댓글을 포함한 기여 기능을 닫음
- Mozilla는 WEI에 반대하며, 이 제안이 웹에 대한 Mozilla의 원칙과 비전에 반한다고 밝힘
- Chromium에는 WEI 관련 commit이 이미 존재하며, 사양이 굳어지기 전에 더 빨리 나올 수 있다는 우려가 있음
Apple Private Access Tokens와 PrivacyPass
- Apple은 약 1년 전부터 유사한 API인 Private Access Tokens를 제공해 왔음
- Apple 개발자 블로그의 Private Access Tokens는 WEI와 거의 같은 메커니즘을 구현함
- 다만 Apple 문서는 “토큰 challenge를 보낼 때 메인 페이지 로드를 막지 말고, 토큰을 지원하지 않는 클라이언트도 웹사이트에 접근할 수 있게 하라”고 안내함
- Apple 문서의 어조는 WEI의 동기와 대비되며, Private Access Tokens는 CAPTCHA 같은 더 방해가 큰 인증 수단 대신 쓰이는 메커니즘으로 제시됨
- token issuer는 사용자 기기에서 동작하는 불투명한 프로세스가 아니라 외부 웹 서비스로 설명되며, CDN이 원본 서버에 대한 요청을 인증하는 메커니즘으로 읽힘
- 프로토콜은 IETF PrivacyPass Working Group에서 정의함
- PrivacyPass protocol draft에 따르면 클라이언트가 issuer에 보내는 데이터는 서버 challenge를 난독화된 해시 형태로 보낸 것뿐임
- 이 경우 issuer 관점에서는 개인 데이터가 유출되지 않고, 브라우저와 플러그인 환경 검사가 없어 특정 브라우저가 attestation을 받지 못하게 막기 어려움
PrivacyPass의 미완성 부분과 차별 가능성
- PrivacyPass를 issuer 프로토콜만으로 분석하면 불완전함
- 빠진 부분은 클라이언트와 attester가 어떻게 상호작용하는지임
- issuer는 개인식별정보를 알지 못하지만, 어떤 attester를 사용할지에는 영향을 줄 수 있음
- attester는 구체적 동작이 명시되지 않은 미지의 요소로 남아 있음
- 명세의 여러 부분은 가능한 방식만 언급하고, 구체적 절차는 비워둠
- 클라이언트가 민감한 속성을 attester에 보내지 않을 가능성은 있지만, 그 경우 어떤 결과가 생기는지는 다뤄지지 않음
- 이 개방성 때문에 WEI와 같은 모델과 같은 문제가 구현될 수 있음
- PrivacyPass architecture 문서도 section 5.1 “Discriminatory Treatment”에서 차별적 처리 가능성을 인정함
반독점, 개인정보, 표준화 대응 경로
- GitHub에서 Google에 항의하는 것만으로는 효과가 없다는 Hacker News 댓글이 공유됨
- 해당 댓글은 미국, EU, 영국, 인도, 캐나다의 반독점 기관 연락처를 제시함
- 반독점은 한 가지 경로일 뿐이며, PrivacyPass와 Apple Private Access Tokens도 유사한 문제가 있음
- EU에서는 다음 기관에 우려를 제기할 수 있음
- European Data Protection Board: 차별적 접근이 GDPR Article 6의 개인정보 처리 적법성과 충돌할 수 있음
- European Data Protection Supervisor: 유사한 개인정보 우려를 제기할 수 있음
- European Agency for Fundamental Rights: 불투명한 관행으로 사용자를 차별하는 기술이 EU 기본권을 침해할 수 있음
- PrivacyPass에 대해서는 IETF PrivacyPass working group 메일링 리스트에 참여해 우려를 제기하고, draft 채택 단계에서 반대할 수 있음
Google 내부 프로세스에 대한 추가 우려
- Google/Chrome/Blink의 Alex Russell은 WEI를 웹을 위해 좋은 일을 하려던 사람들이 “할 수 있는 일”에 휩쓸려 “해야 하는 일”을 놓친 사례로 재구성하려 했음
- 그 설명에는 Google이 “해야 하는가”를 묻도록 강제하는 계층 구조가 없다는 취지가 포함됨
- 즉각적인 우려는 두 가지임
- Google이 프로세스 차원에서 “해야 하는가”를 묻지 않는다는 점
- 개별 Googler도 Google 프로세스와 무관하게 그 질문을 하지 않는다는 점
- 두 요소가 함께 놓이면 도덕적 파산 선언에 가깝다는 비판으로 이어짐
- 해당 시점에는 Google의 공식 반응이 아직 없는 상태였음