Keamanan

Mengelola kunci dengan aman serta mengenkripsi file dan preferensi bersama.

Tabel ini mencantumkan semua artefak di grup androidx.security.

Artefak Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
security-crypto 1.0.0 - - 1.1.0-alpha06
security-app-authenticator - - 1.0.0-beta01 -
security-identity-credential - - - 1.0.0-alpha03
Library ini terakhir diperbarui pada: 6 Maret 2024

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Security, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Security-App-Authenticator-Testing Versi 1.0

Versi 1.0.0-beta01

6 Maret 2024

androidx.security:security-app-authenticator:1.0.0-beta01 dan androidx.security:security-app-authenticator-testing:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.

Versi 1.0.0-alpha02

13 Desember 2023

androidx.security:security-app-authenticator-testing:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.

Perbaikan Bug

  • Memperbarui pengujian untuk perilaku API baru yang tidak lagi mengasumsikan Binder#getCalling[Uid|Pid] saat tidak disediakan ke [check|enforce]CallingAppIdentity API. (I1851b)

Versi 1.0.0-alpha01

2 Juni 2021

androidx.security:security-app-authenticator-testing:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.

Fitur Baru

Library pengujian ini menyediakan builder yang dapat digunakan untuk mengonfigurasi AppAuthenticator yang dapat dimasukkan guna memenuhi persyaratan pengujian. Library ini mendukung beberapa metode untuk mengonfigurasi AppAuthenticator:

  • Kebijakan pengujian generik dapat ditentukan agar melaporkan kecocokan tanda tangan untuk semua paket yang dideklarasikan dalam konfigurasi.
  • Paket individual dapat ditentukan untuk menampilkan kecocokan tanda tangan dengan semua paket lainnya yang melaporkan tidak ada kecocokan.
  • Identitas penandatanganan eksplisit dapat disetel untuk setiap paket; AppAuthenticator yang dihasilkan hanya akan melaporkan tanda tangan yang cocok jika identitas yang diberikan cocok dengan deklarasi dalam file konfigurasi.
  • Paket juga dapat dianggap sebagai tidak diinstal atau memiliki uid eksplisit.

Security-App-Authenticator Versi 1.0.0

Versi 1.0.0-alpha03

13 Desember 2023

androidx.security:security-app-authenticator:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.

Perubahan API

  • Menambahkan dukungan untuk kasus penggunaan ketika UID / PID paket yang akan diverifikasi tidak tersedia. API sekarang mendukung kasus seperti startActivityForResult dan aktivitas / penerima yang membagikan identitas aplikasi pemanggil melalui [Activity|Broadcast]Options#setShareIdentityEnabled.
  • Perilaku [check|enforce]CallingAppIdentity(String, String) telah diperbarui untuk mendukung kasus penggunaan baru ini; metode ini tidak akan lagi menggunakan Binder#getCalling[Uid|Pid] secara default, tetapi akan melewati verifikasi UID paket panggilan jika tidak disediakan secara eksplisit. (I1851b)

Versi 1.0.0-alpha02

2 Juni 2021

androidx.security:security-app-authenticator:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.

Perubahan API

  • Sebagai persiapan untuk mendukung flag perlindungan izin knownSigner baru yang diperkenalkan di Android 12, atribut digestAlgorithm tidak dapat ditentukan lagi dalam konfigurasi; sebagai gantinya, semua ringkasan sertifikat harus dikomputasi menggunakan SHA-256.

Perbaikan Bug

  • Semua ringkasan sertifikat yang disediakan dalam konfigurasi sekarang dinormalkan untuk memastikan kecocokan tanda tangan yang berhasil dapat dilaporkan baik saat ringkasan dikomputasi pada runtime maupun saat identitas penandatanganan eksplisit ditentukan jika menggunakan library pengujian.

Versi 1.0.0-alpha01

5 Mei 2021

androidx.security:security-app-authenticator:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.

Fitur Baru

AppAuthenticator adalah library baru yang bertujuan untuk menyederhanakan verifikasi kepercayaan aplikasi berdasarkan identitas penandatanganan. Aplikasi hanya perlu menetapkan file konfigurasi XML yang berisi nama paket dan identitas penandatanganan aplikasi tepercaya, lalu library akan menangani verifikasi identitas penandatanganan aplikasi pada runtime.

Versi 1.1.0

Versi 1.1.0-alpha06

19 April 2023

androidx.security:security-crypto:1.1.0-alpha06 dan androidx.security:security-crypto-ktx:1.1.0-alpha06 dirilis. Versi 1.1.0-alpha06 berisi commit ini.

Fitur Baru

  • Mengupdate dependensi Tink ke versi 1.8.0

Versi 1.1.0-alpha05

22 Februari 2023

androidx.security:security-crypto:1.1.0-alpha05 dan androidx.security:security-crypto-ktx:1.1.0-alpha05 dirilis. Versi 1.1.0-alpha05 berisi commit ini.

Perbaikan Bug

Versi 1.1.0-alpha04

9 November 2022

androidx.security:security-crypto:1.1.0-alpha04 dan androidx.security:security-crypto-ktx:1.1.0-alpha04 dirilis. Versi 1.1.0-alpha04 berisi commit ini.

Fitur Baru

  • Menghapus pesan log “keyset not found, will generate a new” saat peluncuran aplikasi pertama. (b/185219606)
  • Mengupgrade dependensi Tink ke versi 1.7.0.

Perubahan API

  • Mengubah EncryptedFile#openFileInput() untuk menampilkan FileNotFoundException, bukan IOException umum jika file yang diminta tidak ada. (I80e41, b/148804719)
  • Mengupdate class 'MasterKeys' untuk mewajibkan Android M, bukan setiap metodenya. (I8b4b8)
  • Mengubah semua pengambil preferensi pada EncryptedSharedPreferences (misalnya #getString, #getInt) untuk menampilkan SecurityException dalam situasi yang jarang terjadi ketika jenis nilai tidak dapat dicocokkan dengan salah satu varian enum yang ditentukan. (b/241699427)

Perbaikan Bug

  • Menyinkronkan versi SDK minimum library security-crypto-ktx dengan security-crypto dengan menurunkannya ke v21 (b/193550375)
  • Memperbaiki bug serentak saat membuat beberapa EncryptedFile (b/136590547)

Kontribusi Eksternal

Security-Crypto-Ktx Versi 1.1.0-alpha03

18 Mei 2021

androidx.security:security-crypto-ktx:1.1.0-alpha03 dirilis. Versi 1.1.0-alpha03 berisi commit berikut ini.

Diupdate agar sesuai dengan androidx.security:security-crypto:1.1.0-alpha03.

Versi 1.1.0-alpha03

2 Desember 2020

androidx.security:security-crypto:1.1.0-alpha03 dirilis. Versi 1.1.0-alpha03 berisi commit ini.

Fitur Baru

  • Mengupdate Tink ke rilis stabil 1.5.0

Versi 1.1.0-alpha02

5 Agustus 2020

androidx.security:security-crypto:1.1.0-alpha02 dan androidx.security:security-crypto-ktx:1.1.0-alpha02 dirilis. Versi 1.1.0-alpha02 berisi commit ini.

Fitur Baru

  • Mengupdate Tink ke rilis stabil 1.4.0

Perbaikan Bug

  • Update Tink harus memperbaiki masalah R8 dan Proguard dengan dependensi Protobuf yang dilindungi.
  • Update Tink harus menangani kegagalan serentak AndroidKeyStore dengan lancar.

Kontribusi Eksternal

  • Menghapus mKeysChanged saat diterapkan, perbaikan untuk EncryptedSharedPreferences (aosp/1323026)

Versi 1.1.0-alpha01

10 Juni 2020

androidx.security:security-crypto:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.

Fitur Baru

  • Lollipop (API Level 21+) kini telah didukung. Harap diperhatikan bahwa AndroidKeyStore tidak digunakan untuk API 21 dan 22. (I7c12d, b/132325342)
  • Class MasterKey baru menyediakan lebih banyak opsi untuk kunci, serta penghentian MasterKey untuk mendukung fitur dan versi baru Android yang tidak memiliki KeyGenParamSpec.

Security-Identity-Credential Versi 1.0.0

Versi 1.0.0-alpha03

1 September 2021

androidx.security:security-identity-credential:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.

Fitur Baru

  • Menambahkan dukungan untuk fitur Identity Credential yang didukung hardware di Android 12.

Versi 1.0.0-alpha02

24 Februari 2021

androidx.security:security-identity-credential:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.

Perbaikan Bug

  • Memperbarui Identity Credential API agar cocok dengan paket Android 12 (Iff83e)

Versi 1.0.0-alpha01

19 Agustus 2020

androidx.security:security-identity-credential:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.

Fitur Baru

Rilis Jetpack ini menampilkan versi Jetpack dari Identity Credential API yang ditambahkan ke Android 11 dan API level 30. Jika berjalan di Android 11 dan perangkat memiliki dukungan Identity Credential yang didukung hardware, Jetpack ini hanya meneruskan panggilan ke API platform. Jika tidak, implementasi yang didukung Android Keystore akan digunakan. Meskipun implementasi yang didukung Android Keystore tidak memberikan tingkat keamanan dan privasi yang sama, implementasi tersebut sangat memadai bagi pemegang dan penerbit jika semua data ditandatangani oleh penerbit. Library ini memerlukan API level 24 atau yang lebih baru.

Identity Credential API menyediakan antarmuka ke penyimpanan aman untuk dokumen identitas pengguna. API ini sengaja dibuat cukup umum dan abstrak. Sejauh ini, spesifikasi format pesan dan semantik komunikasi dengan perangkat verifikasi kredensial dan Otoritas Penerbitan (IA) berada di luar cakupan API ini. API bergantung pada struktur data yang kompatibel dengan struktur data identifikasi Pribadi ISO/IEC IS 18013-5 yang akan segera dirilis. Izin mengemudi sesuai dengan ISO ini, di Bagian 5: Standar aplikasi izin mengemudi seluler (mobile driving licence/mDL).

Perubahan API

  • Menambahkan Jetpack Identity Credential. (Icf90b)

Versi 1.0.0

Versi 1.0.0

21 April 2021

androidx.security:security-crypto:1.0.0 dirilis. Versi 1.0.0 berisi commit ini.

Fitur utama 1.0.0

Sorotan fitur

  • EncryptedFile, menyediakan aliran input dan output terenkripsi untuk membaca/menulis data terenkripsi ke File.
  • EncryptedSharedPreferences, menyediakan implementasi SharedPreferences yang otomatis mengenkripsi/mendekripsi semua kunci dan nilai.
  • Menyediakan pembuatan kunci sederhana melalui MasterKey.
  • Mengandalkan Tink 1.5.0 untuk meningkatkan stabilitas.

Versi 1.0.0-rc04

13 Januari 2021

androidx.security:security-crypto:1.0.0-rc04 dirilis. Versi 1.0.0-rc04 berisi commit ini.

Perbaikan Bug

  • Mengupgrade Tink ke 1.5.0 untuk meningkatkan stabilitas.

Versi 1.0.0-rc03

5 Agustus 2020

androidx.security:security-crypto:1.0.0-rc03 dirilis. Versi 1.0.0-rc03 berisi commit berikut ini.

Fitur Baru

  • Mengupdate Tink ke rilis stabil 1.4.0

Perbaikan Bug

  • Update Tink harus memperbaiki masalah R8 dan Proguard dengan dependensi Protobuf yang dilindungi.
  • Update Tink harus menangani kegagalan serentak AndroidKeyStore dengan lancar.

Kontribusi Eksternal

  • Menghapus mKeysChanged saat diterapkan, perbaikan untuk EncryptedSharedPreferences (aosp/1323026)

Versi 1.0.0-rc02

20 Mei 2020

androidx.security:security-crypto:1.0.0-rc02 dirilis. Versi 1.0.0-rc02 berisi commit ini.

Perbaikan Bug

  • Mengupdate Tink versi 1.4.0-rc2, yang mengubah dependensi proto buf lite. Ini mengatasi masalah bentrokan dengan Android SDK lain yang banyak dilaporkan. (I8a831)
  • Memperbaiki apply() di EncryptedSharedPreferences. (I29069, b/154366606)

Versi 1.0.0-rc01

15 April 2020

androidx.security:security-crypto:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit berikut ini.

Perbaikan Bug

  • Menambahkan pemeriksaan guna memastikan jika KeyGenParamSpec diteruskan ke MasterKeys.getOrCreate, jika getUserAuthenticationRequired menampilkan true sehingga getUserAuthenticationValidityDurationSeconds menampilkan nilai >0. (I911f5) (b/152644939)

Versi 1.0.0-beta01

18 Maret 2020

androidx.security:security-crypto:1.0.0-beta01 dirilis tanpa perubahan sejak 1.0.0-alpha02. Versi 1.0.0-beta01 berisi commit ini.

Versi 1.0.0-alpha02

23 Mei 2019

androidx.security:security-crypto:1.0.0-alpha02 dirilis. Commit yang disertakan dalam versi ini dapat dilihat dalam log commit ini.

Perbaikan bug

  • Memperbaiki masalah saat mengambil kunci/nilai yang terkait dengan preferensi bersama dari getAll().
  • Memblokir penggunaan kunci preferensi yang dibatasi.
  • Pembaruan minor Javadoc.

Versi 1.0.0-alpha01

7 Mei 2019

androidx.security:security-crypto:1.0.0-alpha01 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Sorotan fitur baru

  • EncryptedFile, menyediakan aliran input dan output terenkripsi untuk membaca/menulis data terenkripsi ke File.
  • EncryptedSharedPreferences, menyediakan implementasi SharedPreferences yang otomatis mengenkripsi/mendekripsi semua kunci dan nilai.
  • Menyediakan pembuatan kunci sederhana melalui MasterKey.