W ramach ciągłych inwestycji Google w przejrzystość swoich produktów dodajemy przejrzystość do 2 nowych plików APK usług systemowych Google: Android System SafetyCore (com.google.android.safetycore) i systemowy weryfikator kluczy Androida (com.google.android.contactkeys). Te pliki APK obsługują odpowiednio funkcję ostrzeżeń o kontrowersyjnych treściach i weryfikacji klucza kryptograficznego w Wiadomościach Google. Dziennik przejrzystości, który opublikowaliśmy, aby zweryfikować stwierdzenia dotyczące tych plików APK.
W związku z postępem w dziedzinie AI dodajemy też przejrzystość w przypadku tych pakietów APK:
- Private Compute Services (com.google.android.as.oss)
- Wiadomości Google (com.google.android.apps.messaging)
Pakiety objęte ochroną
W tej sekcji opisujemy pakiety objęte dziennikiem przejrzystości, a także odpowiednie klucze podpisywania przejrzystości kodu.
Android System SafetyCore
Android System SafetyCore (com.google.android.safetycore) to składnik systemu Android, który udostępnia wspólną infrastrukturę, której aplikacje mogą używać do ochrony użytkowników przed niechcianymi treściami.
Kod z tego pliku APK jest podpisany tym kluczem opisanym w tym certyfikacie:
-----BEGIN CERTIFICATE-----
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
4ZM=
-----END CERTIFICATE-----
Weryfikator kluczy systemowych Androida
Plik APK systemowy weryfikator kluczy Androida (com.google.android.contactkeys) to usługa weryfikacji kontaktów na Androidzie. Umożliwia użytkownikowi weryfikację kluczy publicznych kontaktu, aby potwierdzić, że komunikuje się z osobą, do której chce wysłać wiadomość. Usługa ta to ujednolicony system weryfikacji kluczy publicznych w różnych aplikacjach, który wykorzystuje weryfikację przez skanowanie kodu QR lub porównywanie numerów.
Kod z tego pliku APK jest podpisany tym kluczem opisanym w tym certyfikacie:
-----BEGIN CERTIFICATE-----
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
PLM=
-----END CERTIFICATE-----
Private Compute Services
Pakiet APK Private Compute Services (com.google.android.as.oss) to usługa systemowa, która zapewnia ochronę prywatności danych użytkownika wykorzystywanych przez funkcje oparte na AI na urządzeniu z Androidem. Private Compute Services działa jako bezpieczna i podlegająca audytowi brama dla aplikacji Private Compute Core (PCC), takich jak Android System Intelligence (AiAi), które obsługują poufne dane na urządzeniu, aby uzyskać dostęp do zasobów sieciowych. Dzięki udostępnianiu dobrze zdefiniowanych interfejsów API skoncentrowanych na ochronie prywatności, które służą do wykonywania zadań takich jak pobieranie HTTP czy sfederowane uczenie się, oraz dzięki publicznemu udostępnianiu kodu platforma Astrea umożliwia użytkownikom i badaczom weryfikowanie, czy dane są przetwarzane w sposób chroniący prywatność.
Kod z tego pliku APK jest obecnie podpisany tym kluczem opisanym w tym certyfikacie:
-----BEGIN CERTIFICATE-----
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
asY=
-----END CERTIFICATE-----
Wiadomości Google
Plik APK Wiadomości Google (com.google.android.apps.messaging) to oficjalna aplikacja Google do obsługi wiadomości przy użyciu protokołu Rich Communication Services (RCS), która może w razie potrzeby używać SMS-ów i MMS-ów. Chroni prywatne czaty między użytkownikami Wiadomości Google dzięki pełnemu szyfrowaniu i obejmuje wbudowane zabezpieczenia, takie jak wykrywanie spamu, ostrzeżenia o kontrowersyjnych treściach i weryfikacja klucza kryptograficznego.
Kod z tego pliku APK jest podpisany tym kluczem opisanym w tym certyfikacie:
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
Model zagrożeń
Model zagrożeń, którym się zajmujemy, jest taki sam jak w przypadku wszystkich aplikacji Google.
Model roszczącego
Model roszczącego to struktura służąca do definiowania ról i artefaktów w systemie weryfikowalnym. W przypadku przejrzystości plików APK usług systemowych Google deklarujemy, że skrót podpisanych plików binarnych zapisany w tym dzienniku reprezentuje oficjalny kod odpowiednich plików APK usług systemowych Google.
- ClaimGoogleSystemServicesApk: (I, Google, claim that
$codeSignatureis for$googleSystemServicesApk), where:$codeSignatureto podpisany token internetowy JSON (JWT), który zawiera listę plików DEX i bibliotek natywnych oraz odpowiadających im skrótów zawartych w określonej wersji$googleSystemServicesApk.$googleSystemServicesApkto pakiet na Androida (APK) z tego zestawu pakietów:{Android System SafetyCore (com.google.android.safetycore), Android System Key Verifier (com.google.android.contactkeys), Private Compute Services (com.google.android.as.oss), Google Messages (com.google.android.apps.messaging)}
Każdy, kto ma kopię $googleSystemServicesApk, może zweryfikować powyższe oświadczenie. Szczegółowo opisujemy ten proces na stronie weryfikacji.
Treść logu
Gdy Google udostępni nową wersję wymienionych powyżej plików APK, doda odpowiedni wpis do dziennika przejrzystości plików APK usług systemowych Google.
Każdy wpis w tym logu zawiera 4 elementy metadanych APK:
- Hash podpisu kodu pakietu APK opracowanego przez Google. Jest to ciąg szesnastkowy skrótu SHA256 tokena przejrzystości kodu (zwanego też JWT przejrzystości kodu).
- Opis typu skrótu powyżej. To jest ciąg znaków.
- Nazwa pakietu pliku APK. To jest ciąg znaków.
- Numer wersji (versionCode) pliku APK. Jest to liczba całkowita.
Format wpisu logu to konkatenacja 4 rodzajów informacji ze znakiem nowego wiersza (\n), jak pokazano poniżej:
hash\nSHA256(Signed Code Transparency JWT)\npackage_name\npackage_version\n
Pamiętaj, że w tej wersji eksperymentujemy z wykorzystaniem przejrzystości kodu.
Oznacza to, że zamiast skrótu pliku APK rejestrujemy skrót tokena przejrzystości kodu.
Opis hasza jest więc stały i wynosi SHA256(Signed Code Transparency JWT).
Pokazuje też, jak deweloperzy aplikacji mogą wykorzystać przejrzystość kodu, gdy klucze podpisywania aplikacji są przechowywane przez Google Play.
Diagram ekosystemu
