Google은 Android 개인 정보 보호 샌드박스에 대한 SDK 런타임 설계 제안을 자세히 설명합니다.

Google은 SDK 런타임 디자인 제안에 대한 몇 가지 세부정보를 제공했습니다. SDK 런타임은 Android 개인 정보 보호 샌드박스의 일부를 구성합니다.

최근 우리는 Apple과 Google 모두 광고와 관련하여 개인 정보 보호를 더욱 고려하는 생태계를 만들기 위해 노력하는 것을 보았습니다. Apple에서는 앱이 사용자를 추적하지 못하도록 하는 버튼을 도입했고, Google에서는 Android 개인정보 보호 샌드박스 이니셔티브. 발표 중에는 정보가 부족했지만 광고 및 개인 정보 보호에 대한 Google 솔루션의 일부를 포함하는 "SDK 런타임"에 대한 자세한 내용이 나타났습니다.

Android 개인정보 보호 샌드박스는 SDK 런타임과 개인정보 보호 API라는 두 가지 주요 구성요소로 구성되어 있으며 모듈식 시스템 구성요소로 배포됩니다. 프로젝트 메인라인. 이후 Google은 SDK 런타임과 이를 통해 사용자 개인정보 보호를 더욱 강화하는 방법에 관한 개발자 문서를 게시했습니다. 회사는 SDK 런타임을 통해 타사 SDK가 전용 런타임 환경에서 실행될 수 있다고 말합니다. 안드로이드 13, 앱 코드에서 멀리 떨어져 있습니다.

Android에서 각 앱은 자체 권한이 있고 부여된 액세스 권한에 따라 시스템에 대한 다양한 액세스 권한이 있는 샌드박스에서 실행됩니다. 구글이 말했듯이, "앱 A가 애플리케이션 B의 데이터를 읽거나 허가 없이 전화를 거는 등 악의적인 작업을 시도하는 경우 해당 앱에 권한이 없기 때문에 이를 방지합니다. 적절한 기본 사용자 권한." SDK 런타임은 해당 샌드박스를 더욱 확장하여 특정 런타임 환경에서 벗어나 전용 런타임 환경에서 타사 SDK를 실행합니다. 앱.

SDK 런타임이 존재하는 이유

Google은 호스트 앱의 샌드박스 공유로 인해 광고주 SDK가 악의적으로(또는 실수로) 액세스해서는 안 되는 데이터를 수집하는 것을 방지하고자 합니다. 광고 SDK가 앱 내부에서 실행되면 앱이 수행하는 모든 작업에 액세스할 수 있으며, 앱 개발자는 실제로 액세스 권한이 얼마나 되는지 완전히 인식하지 못할 수도 있습니다. 해당 광고주 코드를 제거하고 자체 런타임에서 실행하면 개발자가 명시적으로 공유하는 데이터에만 액세스할 수 있습니다.

결과적으로 Google은 SDK 런타임이 사용자 데이터 수집 및 공유와 관련하여 다음과 같은 강력한 보호 장치와 보장을 제공한다고 말합니다.

  • 수정된 실행 환경
  • SDK에 대해 잘 정의된 권한 및 데이터 액세스 권한

SDK 런타임의 첫 번째 버전은 광고 게재, 광고 측정, 광고 사기 및 남용 감지를 지원하는 SDK를 포함하여 광고 관련 SDK에만 중점을 두고 있습니다.

SDK 런타임 작동 방식

현재 SDK 런타임이 없으면 앱 프로세스는 SDK를 호출하고 해당 SDK는 나머지 앱 코드와 동일한 샌드박스 내에서 실행됩니다. Google은 개발자가 앱의 포그라운드 프로세스에서 작동하는 SDK용 인터페이스를 갖기를 원합니다. 그런 다음 해당 인터페이스는 현재 사용 중인 SDK에 연결하여 특정 데이터를 주고받을 수 있습니다. 활용.

전에

후에

"이전" 다이어그램(첫 번째)은 SDK 호출 코드와 이 코드에서 호출을 수신하는 SDK가 모두 앱 프로세스에 있음을 보여줍니다. 이는 SDK가 앱이 액세스할 수 있는 모든 데이터에 액세스할 수 있음을 의미합니다. "이후" 다이어그램(두 번째)은 앱의 포그라운드 프로세스에서 SDK 호출 코드가 SDK 인터페이스와 통신하는 것을 보여줍니다. 그런 다음 이러한 인터페이스는 프로세스 경계를 ​​넘어 SDK 런타임 프로세스로 이동하여 SDK 자체를 호출합니다. 즉, 사용 중인 SDK는 원하는 모든 것에 액세스할 수 없으며 함께 실행되는 앱의 정보만 제공받을 수 있습니다.

SDK를 위한 새로운 신뢰할 수 있는 배포 모델

현재 타사 SDK가 포함된 애플리케이션을 다운로드하면 개발자가 Google Play 스토어에 업로드하고 배포하는 앱에 해당 SDK가 포함됩니다. 대신 Google은 해당 SDK를 사용하는 휴대전화에 앱을 설치할 때 다운로드되는 경우를 원합니다. 갈라져 앱 자체에서. 이는 SDK 개발자가 획기적인 변경을 수행할 수 있음을 의미합니다(즉, API 또는 의미론)을 SDK에 추가하고 앱의 개입 없이 기기에 배포합니다. 개발자.

결과적으로, 중단되지 않는 SDK 변경 사항은 반드시 기다릴 필요 없이 배포되거나 롤백될 수 있습니다. 앱 개발자가 새 SDK로 앱을 다시 빌드하거나 최종 사용자가 업데이트할 때까지 기다리는 경우 앱. API와 그 의미를 변경하는 주요 변경 사항은 여전히 ​​앱 개발자가 업데이트해야 하지만 SDK 개발자는 최신 비계속 변경 사항을 얻을 수 있습니다. 새로운 버전에서 앱과 패키지를 업데이트하기 위해 앱 개발자에게 의존하지 않고도 더 많은 사람들에게 한 번에 더 빠르고 균일하게 변경하고 수정합니다. SDK.

전에

후에

"이전" 다이어그램은 현재 SDK를 통해 앱이 배포되는 방식을 정확하게 보여줍니다. 앱으로 패키징되어 있으며 해당 앱이 Google Play 스토어에 제출됩니다. "이후" 다이어그램에서 SDK 개발자는 더 이상 SDK를 앱에 직접 배치하지 않습니다. 대신 SDK 개발자는 SDK를 업로드하여 Google Play 스토어에 게시합니다. 그런 다음 Google Play 스토어는 SDK 종속성과 함께 최종 사용자 장치에 대한 앱 배포를 처리합니다. Google은 또한 의도적으로 다이어그램에 "앱 스토어"라는 문구를 사용하고 있습니다. 이는 다른 스토어에서 작동할 수 있는 개방적이고 일반적인 솔루션이기 때문입니다.

SDK 및 앱의 구축, 실행, 배포 방식 변경

SDK 런타임에 대한 초기 제안에서는 다음과 같은 5가지 주요 영역에 걸쳐 일련의 변경 사항을 제안합니다.

  • 입장
  • 실행
  • 연락
  • 개발
  • 분포

Google은 SDK 런타임에 대해 다음과 같은 권한 집합을 정의하려고 합니다.

  • INTERNET: 웹 서비스와 통신하기 위해 인터넷에 접속합니다.
  • ACCESS_NETWORK_STATE: 네트워크에 대한 정보에 액세스합니다.
  • 액세스 권한 개인 정보 보호 API, 교차 앱 식별자에 액세스할 필요 없이 핵심 광고 기능을 제공합니다. 권한 이름은 확정되지 않았지만 이러한 API는 해당 권한에 대한 앱의 액세스에 의해 제어됩니다.
  • AD_ID: 광고 ID를 요청하는 기능입니다. 이는 또한 이 권한에 대한 앱의 액세스에 의해 제한됩니다.
  • BIND_GET_INSTALL_REFERRER_SERVICE: 사용하는 능력 Google Play 설치 리퍼러 API 앱 설치 소스를 파악합니다.

또한 회사는 실행 중인 앱의 메모리에 대한 SDK의 액세스를 제한하고 앱이 SDK의 자체 데이터에 액세스하는 것을 방지하려고 합니다. 앱은 SDK 저장소에 직접 액세스할 수 없으며, 그 반대의 경우도 외부 저장소에 액세스할 수 없습니다. SDK에 개방되어 있으며 모든 SDK에 액세스할 수 있는 저장소와 특정 SDK에 비공개인 저장소가 모두 있습니다. SDK.

SDK가 실행되는 방식은 앱 자체보다 약간 낮은 우선순위로 실행됩니다. 즉, 시스템에서 앱을 닫아야 하는 상황이 발생하면 SDK 런타임이 종료된 직후 앱이 종료될 가능성이 매우 높습니다. 동시에 종료되지 않거나, 다른 사유가 있는 경우 제안은 앱 개발자가 이 예외를 처리하고 SDK를 다시 초기화할 수 있도록 관련 수명 주기 콜백 메서드를 제공합니다. 실행 시간. 런타임 SDK는 알림 API를 사용하여 언제든지 사용자 알림을 보낼 수 없습니다.

마지막으로 Google은 이것이 특정 앱 스토어에만 국한되지 않는 일반적인 제안임을 지적합니다. 아마도 Google Play 스토어에 구축될 것으로 예상되지만 다른 앱 스토어가 유사한 구조를 통합하지 못할 이유는 없습니다. Google은 다음과 같은 이점이 분명하다고 말합니다.

  • SDK의 품질과 일관성을 보장하세요.
  • SDK 개발자를 위한 출판을 간소화합니다.
  • 설치된 앱에 대한 SDK 부 버전 업데이트를 신속하게 출시합니다.

Android 개인 정보 보호 샌드박스는 유망해 보입니다.

Google의 출시 일정은 2022년 1분기에 초기 디자인 제안, 디자인 피드백 및 반복이 포함된다는 것입니다. 개발자 프리뷰는 올해 말에 출시될 예정이며, 연말에는 베타 버전이 출시될 예정입니다. 마침내 2023년에는 대규모 테스트가 시작됩니다. 이러한 미리보기와 베타는 Android 13 출시 흐름과 무관합니다. 일단 출시되면 설정 앱에 사용자 대상 컨트롤도 제공됩니다.

제 생각에는 Android 개인정보 보호 샌드박스가 외모 유망하지만 회사가 이를 어떻게 구현하는지 기다려야 합니다. 개발자가 마음에 들지 않을 수도 있고 해결하는 것보다 실제로 더 많은 문제를 일으킬 수도 있습니다. 개발자는 Android 개인 정보 보호의 미래에 대해 더 잘 이해할 수 있도록 Google이 게시한 문서를 읽는 것이 좋습니다.

이는 현재 제안일 뿐이며, 최종적인 전망은 아닙니다. 정확히 향후 Android 버전에서 이러한 일이 발생하겠지만 거의 비슷하게 끝날 가능성이 높습니다. 앞으로의 발전 상황을 계속 지켜보겠습니다!


원천: Android 개발자 문서