Android 13에서는 Google의 원격 키 프로비저닝이 의무화됩니다. 이것이 여러분에게 의미하는 바

Google의 원격 키 프로비저닝은 Android 13에서 의무화되지만 이는 복잡한 주제입니다. 이것이 당신에게 의미하는 바는 다음과 같습니다.

Android의 키 증명은 SafetyNet, Digital Car Key, ID 자격 증명 API. Android 8 Oreo부터 Android의 일부로 필요했으며 공장에서 기기에 설치된 루트 키에 의존했습니다. 이러한 키를 제공하려면 제조업체 측에서 최대한의 비밀이 필요하며, 키가 유출되면 키를 취소해야 합니다. 이로 인해 소비자는 이러한 신뢰할 수 있는 서비스를 사용할 수 없게 되며, 이를 노출할 수 있는 취약점이 있는 경우 불행한 일이 될 것입니다. 원격 키 프로비저닝(Remote Key Provisioning)은 다음에서 의무화될 예정입니다. 안드로이드 13, 그 문제를 해결하는 것을 목표로합니다.

Android에서 현재 신뢰 체인을 구성하는 구성 요소

새로운 시스템이 어떻게 작동하는지 설명하기 전에, 시스템이 어떻게 작동하는지에 대한 맥락을 제공하는 것이 중요합니다. 오래된 (여전히 많은 장치에 적용되어 있음) 시스템이 작동합니다. 요즘 많은 전화기는 하드웨어 지원 키 증명을 사용합니다. 이는 모든 종류의 SafetyNet 우회에 대한 핵심으로 익숙할 수 있습니다. 현재 키 증명 상태를 이해하는 데 중요한 몇 가지 개념이 있습니다.

이는 개발자가 장치가 변조되지 않았음을 신뢰할 수 있고 TEE의 민감한 정보를 처리할 수 있도록 보장하는 이러한 개념의 조합입니다.

신뢰할 수 있는 실행 환경

TEE(신뢰할 수 있는 실행 환경)는 중요한 데이터를 처리하는 데 사용되는 SoC의 보안 영역입니다. TEE는 Android 8 Oreo 이상으로 출시된 기기에서는 필수입니다. 즉, 모든 최신 스마트폰에 TEE가 있습니다. TEE 내에 없는 모든 항목은 '신뢰할 수 없는' 것으로 간주되며 암호화된 콘텐츠만 볼 수 있습니다. 예를 들어, DRM으로 보호된 콘텐츠는 TEE에서 실행되는 소프트웨어에서만 액세스할 수 있는 키로 암호화됩니다. 메인 프로세서는 암호화된 콘텐츠 스트림만 볼 수 있는 반면, 콘텐츠는 TEE에 의해 해독된 후 사용자에게 표시될 수 있습니다.

ARM 트러스트존

Trusty는 Android에서 TEE를 제공하는 보안 운영 체제이며, ARM 시스템에서는 ARM의 Trustzone을 활용합니다. Trusty는 기본 운영 체제와 동일한 프로세서에서 실행되며 장치의 모든 기능에 액세스할 수 있지만 전화기의 나머지 부분과는 완전히 격리되어 있습니다. Trusty는 다음으로 구성됩니다.

  • 다음에서 파생된 작은 OS 커널 작은 커널
  • 보안 환경과 Android 간에 데이터를 전송하는 Linux 커널 드라이버
  • 커널 드라이버를 통해 신뢰할 수 있는 애플리케이션(즉, 보안 작업/서비스)과 통신하기 위한 Android 사용자 공간 라이브러리

독점 TEE 시스템에 비해 장점은 이러한 TEE 시스템이 비용이 많이 들고 Android 생태계에 불안정성을 초래할 수 있다는 것입니다. Trusty는 Google에서 파트너 OEM에게 무료로 제공하는 오픈 소스입니다. Android는 다른 TEE 시스템을 지원하지만 Trusty는 Google이 가장 많이 추진하는 시스템입니다.

금고

StrongBox 장치는 완전히 별도의 목적에 맞게 제작되었으며 인증된 보안 CPU입니다. 여기에는 eSE(임베디드 보안 요소) 또는 SoC SPU(보안 처리 장치)가 포함될 수 있습니다. Google은 StrongBox가 현재 다음과 같이 출시되는 기기와 함께 제공되는 것을 "강력히 권장"한다고 말합니다. 안드로이드 12 (호환성 정의 문서에 따라) 향후 Android 릴리스에서 요구사항이 될 가능성이 높습니다. 이는 본질적으로 하드웨어 지원 키 저장소를 더욱 엄격하게 구현하며 TrustZone과 함께 구현할 수 있습니다. StrongBox 구현의 예는 Pixel 스마트폰의 Titan M 칩입니다. StrongBox를 사용하는 전화기는 많지 않으며 대부분 ARM의 Trustzone을 사용합니다.

키마스터 TA

Keymaster Trusted Application(TA)은 모든 키 저장소 작업을 관리하고 수행하는 보안 Keymaster입니다. 예를 들어 ARM의 TrustZone에서 실행될 수 있습니다.

Android 12 및 Android 13에서 키 증명이 어떻게 변경되는지

안드로이드 스마트폰에 키가 노출되면 구글은 이를 철회해야 한다. 이는 공장에서 키가 삽입된 모든 장치에 문제를 야기합니다. 키가 노출되는 모든 종류의 누출은 사용자가 특정 보호된 콘텐츠에 액세스할 수 없음을 의미합니다. 여기에는 많은 사람들이 사용하는 Google Pay와 같은 서비스에 대한 액세스 취소도 포함될 수 있습니다. 제조사에 휴대폰 수리를 맡기지 않고는 스스로 고칠 수 있는 방법이 없기 때문에 이는 소비자 입장에서는 안타까운 일이다.

원격 키 프로비저닝을 시작하세요. Android 12부터 Google은 공장 내 개인 키 프로비저닝을 다음의 조합으로 대체합니다. 공장 내 공개키 추출 및 OTA(Over-The-Air) 인증서 프로비저닝 인증서. 이 체계는 Android 13에 필요하며 여기에는 몇 가지 이점이 있습니다. 무엇보다도 OEM과 ODM이 공장에서 키 기밀을 관리할 필요가 없도록 해줍니다. 둘째, 키가 손상된 경우 장치를 복구할 수 있습니다. 즉, 소비자는 보호된 서비스에 대한 액세스 권한을 영원히 잃지 않을 것입니다. 이제 장치에 있고 암호를 통해 유출될 수 있는 키를 사용하여 계산된 인증서를 사용하는 대신 취약점으로 인해 증명이 필요한 서비스가 실행될 때마다 Google에 임시 인증서가 요청됩니다. 사용된.

작동 방식은 매우 간단합니다. 고유한 정적 키 쌍은 각 기기에서 생성되며 이 키 쌍의 공개 부분은 OEM이 공장에서 추출하여 Google 서버에 제출합니다. 여기서는 나중에 프로비저닝을 위한 신뢰의 기반으로 사용됩니다. 개인 키는 생성된 보안 환경을 벗어나지 않습니다.

장치를 처음 사용하여 인터넷에 연결하면 다음에 대한 인증서 서명 요청이 생성됩니다. 생성한 키를 수집한 공개 키에 해당하는 개인 키로 서명합니다. 공장. Google의 백엔드 서버는 요청의 신뢰성을 확인한 다음 공개 키에 서명하여 인증서 체인을 반환합니다. 그런 다음 온디바이스 키 저장소는 이러한 인증서 체인을 저장하여 증명이 요청될 때마다 이를 앱에 할당합니다. Google Pay부터 Pokemon Go까지 무엇이든 될 수 있습니다.

이 정확한 인증서 요청 체인은 인증서가 만료되거나 현재 키 공급이 소진되면 정기적으로 발생합니다. 각 애플리케이션은 서로 다른 증명 키를 수신하며 키 자체는 정기적으로 교체되므로 둘 다 개인 정보 보호를 보장합니다. 또한 Google의 백엔드 서버는 기기의 공개 키를 확인하는 서버가 첨부된 증명 키를 볼 수 없도록 분할되어 있습니다. 이는 Google이 증명 키를 요청한 특정 기기와 다시 연관시키는 것이 불가능하다는 것을 의미합니다.

Google에 따르면 최종 사용자는 어떤 변화도 눈치채지 못하지만 개발자는 다음 사항을 주의해야 합니다.

  • 인증서 체인 구조
    • 새로운 온라인 프로비저닝 인프라의 특성으로 인해 체인 길이가 이전보다 길어지고 변경될 수 있습니다.
  • 신뢰의 근원
    • 신뢰 루트는 결국 현재 RSA 키에서 ECDSA 키로 업데이트됩니다.
  • RSA 증명 지원 중단
    • KeyMint가 생성하고 증명한 모든 키는 ECDSA 키와 해당 인증서 체인으로 서명됩니다. 이전에는 비대칭 키가 해당 알고리즘으로 서명되었습니다.
  • 단기 인증서 및 증명 키
    • 장치에 프로비저닝된 인증서는 일반적으로 만료 및 교체되기 전까지 최대 2개월 동안 유효합니다.

우리는 Google에 연락하여 이것이 Widevine DRM과 관련이 있는지, 그리고 일부 Pixel 사용자가 잠긴 부트로더로 인해 DRM 수준이 다운그레이드되었다고 보고한 방법을 물었습니다. 또한 이것이 현재 Google Play 서비스를 통해 사용자에게 OTA 업그레이드로 배포될 수 있는지 물었습니다. 답변을 받으면 이 문서를 업데이트하도록 하겠습니다. 현재 신뢰 체인의 어떤 구성 요소가 어떤 방식으로 영향을 받을지는 확실하지 않습니다.


원천: Google