Zabezpieczenia

Bezpiecznie zarządzaj kluczami oraz szyfruj pliki i udostępniane ustawienia.

Ta tabela zawiera listę wszystkich artefaktów w grupie androidx.security.

Artefakt Wersja stabilna Kandydat do publikacji Wersja Beta Wersja alfa
zabezpieczenia-kryptowaluty 1.0.0 - - 1.1.0-alfa06
uwierzytelnianie-aplikacji zabezpieczającej - - 1.0.0-beta01 -
zabezpieczenia-tożsamości - - - 1.0.0-alfa03
Ostatnia aktualizacja tej biblioteki: 6 marca 2024 r.

Deklarowanie zależności

Aby dodać zależność od zabezpieczeń, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.

W pliku build.gradle aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.

Utwórz nowy numer

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Security-App-Authenticator-Testing wersja 1.0

Wersja 1.0.0-beta01

6 marca 2024 roku

Opublikowano androidx.security:security-app-authenticator:1.0.0-beta01 i androidx.security:security-app-authenticator-testing:1.0.0-beta01. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Wersja 1.0.0-alfa02

13 grudnia 2023 r.

Aplikacja androidx.security:security-app-authenticator-testing:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowany test pod kątem nowego działania interfejsu API, który nie zakłada już Binder#getCalling[Uid|Pid], jeśli nie zostanie dostarczony do interfejsów API [check|enforce]CallingAppIdentity. (I1851b)

Wersja 1.0.0-alfa01

2 czerwca 2021 r.

Aplikacja androidx.security:security-app-authenticator-testing:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

Ta biblioteka testów zawiera kreator, za pomocą którego można skonfigurować wstrzykiwany obiekt AppAuthenticator, aby spełnić wymagania testu. Ta biblioteka obsługuje kilka metod konfigurowania AppAuthenticator:

  • Można określić ogólną zasadę testową, która zgłasza dopasowanie podpisu dla wszystkich pakietów zadeklarowanych w konfiguracji.
  • Poszczególne pakiety można określić w taki sposób, aby zwracały zgodność podpisu z pozostałymi pakietami, w przypadku których nie ma dopasowania.
  • Dla każdego pakietu można ustawić jawne tożsamości podpisywania. Utworzony w ten sposób mechanizm AppAuthenticator zgłasza dopasowanie podpisu tylko wtedy, gdy podana tożsamość odpowiada deklaracji w pliku konfiguracji.
  • Pakiety mogą być również traktowane jako niezainstalowane lub mające jednoznaczny identyfikator UID.

Security-App-Authenticator w wersji 1.0.0

Wersja 1.0.0-alfa03

13 grudnia 2023 r.

Aplikacja androidx.security:security-app-authenticator:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaliśmy obsługę przypadków użycia, w których identyfikator UID lub identyfikator PID pakietu do weryfikacji jest niedostępny. Interfejsy API obsługują teraz przypadki takie jak startActivityForResult oraz działania/odbiorniki, w których tożsamość aplikacji wywołującej jest udostępniana przez [Activity|Broadcast]Options#setShareIdentityEnabled.
  • Działanie funkcji [check|enforce]CallingAppIdentity(String, String) zostało zaktualizowane, aby obsługiwało te nowe przypadki użycia. Te metody nie będą już domyślnie używać metody Binder#getCalling[Uid|Pid], ale zamiast tego pominą weryfikację identyfikatora UID pakietu wywołującego, jeśli nie zostanie on wyraźnie podany. (I1851b)

Wersja 1.0.0-alfa02

2 czerwca 2021 r.

Aplikacja androidx.security:security-app-authenticator:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • W ramach przygotowań do obsługi nowej flagi ochrony uprawnień knownSigner wprowadzonej w Androidzie 12 nie można już określać atrybutu „digestAlgorithm” w konfiguracji. Zamiast tego wszystkie skróty certyfikatów powinny być obliczane przy użyciu algorytmu SHA-256.

Poprawki błędów

  • Wszystkie podsumowania certyfikatów dostępne w konfiguracji są teraz normalizowane, aby można było zgłosić udane dopasowanie podpisu, zarówno podczas obliczania skrótu w czasie działania, jak i po zdefiniowaniu jawnej tożsamości podpisywania podczas korzystania z biblioteki testowej.

Wersja 1.0.0-alfa01

5 maja 2021 roku

Aplikacja androidx.security:security-app-authenticator:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

AppAuthenticator to nowa biblioteka, która ma na celu uproszczenie weryfikacji zaufania do aplikacji na podstawie tożsamości podpisywania. Aplikacja musi tylko określić plik konfiguracji XML zawierający nazwy pakietów i tożsamości podpisywania zaufanych aplikacji, a biblioteka weryfikuje tożsamość podpisywania aplikacji w czasie działania.

Wersja 1.1.0

Wersja 1.1.0-alfa06

19 kwietnia 2023 r.

Opublikowano androidx.security:security-crypto:1.1.0-alpha06 i androidx.security:security-crypto-ktx:1.1.0-alpha06. Wersja 1.1.0-alpha06 zawiera te zatwierdzenia.

Nowe funkcje

  • Zależność Tink została zaktualizowana do wersji 1.8.0

Wersja 1.1.0-alfa05

22 lutego 2023 roku

Opublikowano androidx.security:security-crypto:1.1.0-alpha05 i androidx.security:security-crypto-ktx:1.1.0-alpha05. Wersja 1.1.0-alpha05 zawiera te zatwierdzenia.

Poprawki błędów

Wersja 1.1.0-alfa04

9 listopada 2022 r.

Opublikowano androidx.security:security-crypto:1.1.0-alpha04 i androidx.security:security-crypto-ktx:1.1.0-alpha04. Wersja 1.1.0-alpha04 zawiera te zatwierdzenia.

Nowe funkcje

  • Usunięto komunikat logu „Nie znaleziono zestawu kluczy. Zostanie wygenerowany nowy” przy pierwszym uruchomieniu aplikacji. (b/185219606)
  • Uaktualniono zależność Tink do wersji 1.7.0.

Zmiany w interfejsie API

  • Zmienia funkcję EncryptedFile#openFileInput(), tak aby w przypadku braku żądanego pliku zwracała wartość FileNotFoundException, a nie ogólną IOException. (I80e41, b/148804719)
  • Zaktualizowaliśmy klasę „MasterKeys”, tak aby wymagała Androida M, a nie każdej z jego metod. (I8b4b8)
  • Zmienia wszystkie metody pobierania preferencji w EncryptedSharedPreferences (np. #getString, #getInt) na wysyłanie SecurityException w rzadkich okolicznościach, gdy typu wartości nie można dopasować do jednego ze zdefiniowanych wariantów wyliczenia. (b/241699427)

Poprawki błędów

  • Zsynchronizowana minimalna wersja pakietu SDK biblioteki zabezpieczeń kryptograficznych z kryptowalutami i obniżenie jej do wersji 21 (b/193550375).
  • Naprawiony błąd równoczesności podczas tworzenia wielu elementów EncryptedFile (b/136590547)

Wkład z zewnątrz

  • Otrzymano poprawkę dotyczącą usługi EncryptedSharedPreferences.Editor#remove od nadawcy chr.ibbotson@gmail.com (b/224994760, b/134197835, f44d44d)

Security-Crypto-Ktx w wersji 1.1.0-alfa03

18 maja 2021 r.

Aplikacja androidx.security:security-crypto-ktx:1.1.0-alpha03 została zwolniona. Wersja 1.1.0-alpha03 zawiera te zatwierdzenia.

Zaktualizowano, aby dopasować do: androidx.security:security-crypto:1.1.0-alpha03.

Wersja 1.1.0-alfa03

Grudzień 2, 2020

Aplikacja androidx.security:security-crypto:1.1.0-alpha03 została zwolniona. Wersja 1.1.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • Zaktualizowano Tink do wersji stabilnej 1.5.0

Wersja 1.1.0-alfa02

5 sierpnia 2020 r.

Opublikowano androidx.security:security-crypto:1.1.0-alpha02 i androidx.security:security-crypto-ktx:1.1.0-alpha02. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.

Nowe funkcje

  • Zaktualizowano Tink do wersji stabilnej 1.4.0

Poprawki błędów

  • Aktualizacja Tink powinna rozwiązać problemy z R8 i Proguard z zacienioną zależnością Protobuf.
  • Aktualizacje Tink powinny bezproblemowo obsługiwać błędy równoczesności AndroidKeyStore.

Wkład z zewnątrz

  • usuń mKeysChanged przy zastosowaniu; popraw błąd w pliku EncryptedSharedPreferences (aosp/1323026)

Wersja 1.1.0-alfa01

10 czerwca 2020 r.

Aplikacja androidx.security:security-crypto:1.1.0-alpha01 została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa wersji Lollipop (poziom API 21 lub nowszej) jest teraz możliwa. Pamiętaj, że AndroidKeyStore nie jest używany w przypadku interfejsów API 21 i 22. (I7c12d, b/132325342)
  • Nowa klasa MasterKey udostępnia więcej opcji kluczy. Wycofuje też MasterKeys w celu obsługi nowych funkcji i wersji Androida, które nie mają KeyGenParamSpec.

Security-Identity-credential w wersji 1.0.0.

Wersja 1.0.0-alfa03

1 września 2021 roku

Aplikacja androidx.security:security-identity-credential:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy obsługę wspieranych sprzętowych funkcji uwierzytelniania tożsamości w Androidzie 12.

Wersja 1.0.0-alfa02

24 lutego 2021 r.

Aplikacja androidx.security:security-identity-credential:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizuj Identity Credential API, aby pasował do abonamentów Androida 12 (Iff83e)

Wersja 1.0.0-alfa01

19 sierpnia 2020 r.

Aplikacja androidx.security:security-identity-credential:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

Ta wersja Jetpack zawiera wersję Jetpack interfejsów Identity Credential API, która została dodana do Androida 11 i interfejsu API na poziomie 30. Jeśli urządzenie działa na Androidzie 11, a urządzenie ma sprzętową obsługę danych uwierzytelniających tożsamości, to Jetpack po prostu przekazuje wywołania do interfejsu API platformy. W przeciwnym razie zostanie użyta implementacja oparta na magazynie kluczy Androida. Implementacja oparta na magazynie kluczy Androida nie zapewnia tego samego poziomu bezpieczeństwa i prywatności, ale jest idealna zarówno dla właścicieli, jak i wydawców w przypadku, gdy wszystkie dane są podpisane przez wydawcę. Ta biblioteka wymaga interfejsu API na poziomie 24 lub nowszym.

Interfejsy API danych logowania to interfejs zapewniający bezpieczny magazyn dokumentów tożsamości użytkowników. Te interfejsy API są celowo dość ogólne i abstrakcyjne. W miarę możliwości specyfikacja formatów komunikatów i semantyki komunikacji z urządzeniami do weryfikacji danych uwierzytelniających oraz urzędami wystawiającymi (IA) wykracza poza zakres tych interfejsów API. Struktury danych, na których opierają się interfejsy API, są zgodne ze strukturami, które zostaną wkrótce udostępnione zgodnie z normą ISO/IEC IS 18013-5 Identyfikacja osobista – prawo jazdy zgodne z ISO – Część 5. Standard wystosowania prawa jazdy z urządzeń mobilnych (mDL).

Zmiany w interfejsie API

  • Dodano plecak Jetpack do tożsamości. (Icf90b)

Wersja 1.0.0

Wersja 1.0.0

21 kwietnia 2021 r.

Aplikacja androidx.security:security-crypto:1.0.0 została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje wersji 1.0.0

Najważniejsze funkcje

  • EncryptedFile udostępnia zaszyfrowane strumienie wejściowe i wyjściowe do odczytu i zapisu zaszyfrowanych danych w pliku.
  • EncryptedSharedPreferences udostępnia implementację interfejsu SharedPreferences, która automatycznie szyfruje/odszyfrowuje wszystkie klucze i wartości.
  • Umożliwia proste generowanie kluczy za pomocą MasterKeys.
  • W celu zwiększenia stabilności bazuje na Tink 1.5.0.

Wersja 1.0.0-rc04

13 stycznia 2021 r.

Aplikacja androidx.security:security-crypto:1.0.0-rc04 została zwolniona. Wersja 1.0.0-rc04 zawiera te zatwierdzenia.

Poprawki błędów

  • Uaktualniono Tink do wersji 1.5.0 w celu zwiększenia stabilności.

Wersja 1.0.0-rc03

5 sierpnia 2020 r.

Aplikacja androidx.security:security-crypto:1.0.0-rc03 została zwolniona. Wersja 1.0.0-rc03 zawiera te zatwierdzenia.

Nowe funkcje

  • Zaktualizowano Tink do wersji stabilnej 1.4.0

Poprawki błędów

  • Aktualizacja Tink powinna rozwiązać problemy z R8 i Proguard z zacienioną zależnością Protobuf.
  • Aktualizacje Tink powinny bezproblemowo obsługiwać błędy równoczesności AndroidKeyStore.

Wkład z zewnątrz

  • usuń mKeysChanged przy zastosowaniu; popraw błąd w pliku EncryptedSharedPreferences (aosp/1323026)

Wersja 1.0.0-rc02

20 maja 2020 r.

Aplikacja androidx.security:security-crypto:1.0.0-rc02 została zwolniona. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowano do wersji Tink 1.4.0-rc2, która cieniuje proto buf lite dep. Rozwiązanie powszechnie zgłaszanego problemu polegającego na sprzeczności z innymi pakietami SDK Androida. (I8a831)
  • Naprawiono apply() w narzędziu EncryptedSharedPreferences. (I29069, b/154366606)

Wersja 1.0.0-rc01

15 kwietnia 2020 roku

Aplikacja androidx.security:security-crypto:1.0.0-rc01 została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Dodano kontrole, aby sprawdzić, czy jeśli obiekt KeyGenParamSpec jest przekazywany do funkcji MasterKeys.getOrCreate, że jeśli getUserAuthenticationRequired zwraca wartość true, getUserAuthenticationValidityDurationSeconds zwraca wartość większą niż 0. (I911f5) (b/152644939)

Wersja 1.0.0-beta01

18 marca 2020 r.

Wersja androidx.security:security-crypto:1.0.0-beta01 została udostępniona bez zmian od 1.0.0-alpha02. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Wersja 1.0.0-alfa02

23 maja 2019 r.

Aplikacja androidx.security:security-crypto:1.0.0-alpha02 została zwolniona. Zatwierdzenia uwzględnione w tej wersji znajdziesz w tym dzienniku zatwierdzania.

Poprawki błędów

  • Rozwiązaliśmy problem z pobieraniem par klucz-wartość powiązanych z preferencjami wspólnymi z getAll().
  • Zablokowano użycie kluczy preferencji ograniczonych.
  • Niewielkie aktualizacje dokumentu Javadoc.

Wersja 1.0.0-alfa01

7 maja 2019 r.

Aplikacja androidx.security:security-crypto:1.0.0-alpha01 została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Najważniejsze funkcje

  • EncryptedFile udostępnia zaszyfrowane strumienie wejściowe i wyjściowe do odczytu i zapisu zaszyfrowanych danych w pliku.
  • EncryptedSharedPreferences udostępnia implementację SharedPreferences, która automatycznie szyfruje/odszyfrowuje wszystkie klucze i wartości.
  • Umożliwia proste generowanie kluczy za pomocą MasterKeys.