https://www.theverge.com/2019/6/3/18651344/wwdc-2019-apple-force-ios-developers-sign-in-third-party 오늘 iOS 13의 App...

Gepostet von Daniel Hong am Dienstag, 4. Juni 2019

https://www.theverge.com/…/wwdc-2019-apple-force-ios-develo…

오늘 iOS 13의 App Store 정책 변경사항에 관한 내용이 메일로 날아와서 읽어봤는데, SSO 도입 시 애플로그인을 도입할 것을 강제하는 것은... 솔직히 자충수라고 생각한다. 개발자 입장에서 상당히 우려스럽지 않을 수 없다.

애플로그인 도입 강제 정책의 의도가 뭔지는 알겠다. 현재 SSO 솔루션을 제공하고 있는 기업들은 (서구권 기준으로) 사실상 페이스북과 구글밖에 없다. 그리고 이 두 기업은 개인 정보 수집이 주요 수입모델인 것으로 악명이 높다. 실제로 페이스북과 구글은 SSO 솔루션을 제공하는 대가로 SSO를 사용하는 서비스 내에서의 사용자 활동까지 수집해간다. 로그인 페이지로 리다이렉트되는 시점에서 브라우저에 트래커를 설치해두는 건 덤이다. 회원가입 절차와 서비스별 로그인 절차를 제거해 주는 대가로 너무나 많은 사용자의 정보를 가져간다. 이것이 문제인 것은 그 누구도 부인할 수 없을 거다.

애플로그인은 다르다. 물론 단일 ID를 확보해야 하니 로그인 절차 자체에는 사용자의 애플아이디를 사용한다. 하지만 그 이후의 인증 과정에서는 애플 서버의 직접적인 개입을 최소화하는 방식을 사용한다. 예를 들어, 애플로그인을 도입하기 위해서는 앱 내부에 애플의 루트 서명키로 인증된 개별 키를 내장하고 있어야 한다. 애플 서버에서 확인된 인증 정보는 다시 애플의 루트키로 서명되어 API로 반환되며, 이 정보를 받아온 이후에는 오직 앱 내부에 내장된 로그인 키와 해당 서비스의 백엔드만 관여한다. 애플 서버에 대한 정보 요청이 사용자, 즉 앱에 의해 직접 이루어졌다는 것에 대한 증명으로 앱 개별 키로 최종 SSO 요청을 서명하면, 백엔드가 이 요청의 유효성을 검사해 세션을 열어주는 식이다. 이뿐만이 아니라, 부정로그인 탐지 시스템에서조차 애플 서버의 직접적인 개입은 최소화되고 기기 자체에만 저장되어 있는 로그인 히스토리 데이터를 사용한다. 이 데이터는 다시 애플의 Core ML 프레임워크를 활용해 기기의 SoC에서 부정 요청 여부를 직접 추론해내는 데 활용된다. 이 모든 데이터는 절대 애플로 보내지지 않고, 오직 ID 인증 정보를 받아올 때에만 애플 서버가 관여하는 방식이다. 심지어, 그 ID 인증 정보에 포함된 이메일을 서비스 사업자에게 제공하기 싫다면 애플의 메일 릴레이 서버를 사용해 사용자가 임의의 이메일 주소만을 ID값으로 제공하도록 설정할 수 있다.

물론 이러한 애플의 구현 방식 자체에는 문제가 없다. 다만, 개인 정보에 관한 문제가 없다는 사실을 "아는" 것과 그것에 대한 "신뢰를 주는" 것은 완전히 다르다. 나는 애플 내부 인프라 시스템과 소프트웨어를 수박 겉핥기라도 들여다본 경험이 있기 때문에 애플의 개인 정보 관리 정책을 믿고 있다. 하지만 절대 다수의 사용자는 그렇지 않다. 그들이 보기에는 구글/페이스북 로그인이나 애플 로그인이 별 차이가 없어 보일 거다. 사용자에게 내부 기술적인 내용을 설명하지 않고 "애플로그인은 이래서 안전하다"는 것을 제시하기란 매우 어렵다.

뭐하러 그걸 설명까지 해야 하느냐고? 예를 들어, 지금 애플이 도입한 정책을 구글이 플레이 스토어에서 똑같이 도입했다고 가정해 보자. 모든 SSO를 사용하는 앱이 반드시 구글 SSO도 지원하도록 하는 것이다. 명분도 똑같이 "사용자 개인 정보 보호"와 "UX에서의 일관성 유지"를 제시했다고 하자. 겉으로의 명분은 똑같을 수 있지만, 구글 SSO 시스템의 경우 내부적인 구현은 크게 다르다. 이렇게 된다면, 구글이 안드로이드 앱에서 더욱 더 많은 데이터를 가져가는 것을 그 누구도 막을 수 없게 된다. 명분과 실상이 같다면 문제가 없겠지만, 실제로 다를 경우 제재할 방법이 마땅치 않다는 의미이다.

실제로도 이번 조치에 대한 애플의 실제 목적이 무엇인지는 내부자를 제외하고는 아무도 모른다. 키노트에서는 개인 정보 보호를 명분으로 내세웠으나, 추후 출시될 자사 서비스들에 대한 장악력을 강화하려는 의도도 분명 있을 거다. 가뜩이나 IAP 수수료로 독점 논란이 불거진 상황에서, 애플로그인까지 가세할 경우 플랫폼 반독점 시비가 붙을 수밖에 없다. 결국 주요한 의도가 무엇이었든 간에 상관없이, 일반 사용자들의 시각으로 구글의 독점과 애플의 독점은 별 차이가 없을 것이라는 뜻이다.

바로 이 문제를 해결하기 위해 DID라는 개념이 등장하기는 했으나, 이 정도로 UX가 정립되고 표준화되려면 아직도 한참 멀었다. 애플의 로그인에 대한 접근이 현재 상황에서는 가장 현실적인 방안은 맞지만, 분명 장기적인 대안은 아닐 거다.

애플은 항상 플랫폼을 엄격한 통제 하에 두는 방식으로 일관성 있는 사용자경험을 제공해왔던 기업이긴 하다. 이러한 접근에 큰 장점이 있는 것도 사실이다. 다만, 기존의 하드웨어 플랫폼 기반에서 소프트웨어/콘텐츠 플랫폼 기업으로 완전히 넘어가기 위해서는 어느 정도 빗장을 풀어낼 필요성도 분명 있다고 본다. 하루 종일 탈중앙화만 외쳐대는 사람이라서 그렇게 느끼는 것일지도 모르겠으나... 구글의 독점과 애플의 독점 중 하나를 선택해야만 하는 세상이 오더라도, 최소한 사람들이 그 독점체제 안에서 정확히 무슨 일이 일어나는지는 볼 수 있는 세상이었으면 좋겠다.