Безопасность

Безопасно управляйте ключами, шифруйте файлы и общие настройки.

В этой таблице перечислены все артефакты в группе androidx.security .

Артефакт Стабильный выпуск Релиз-кандидат Бета-версия Альфа-релиз
безопасность-крипто 1.0.0 - - 1.1.0-альфа06
безопасность-приложение-аутентификатор - - 1.0.0-бета01 -
безопасность-идентификация-учетные данные - - - 1.0.0-альфа03
Последнее обновление этой библиотеки: 7 августа 2024 г.

Объявление зависимостей

Чтобы добавить зависимость от безопасности, необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .

Добавьте зависимости для нужных вам артефактов в файл build.gradle для вашего приложения или модуля:

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новую задачу

Дополнительную информацию см. в документации по системе отслеживания проблем .

Состояние безопасности версии 1.0

Версия 1.0.0-альфа04

7 августа 2024 г.

androidx.security:security-state:1.0.0-alpha04 выпущен. Версия 1.0.0-alpha04 содержит эти коммиты .

Примечание

  • Обновите compileSdk до версии 35 5dc41be.

Изменения API

  • Критическое изменение: перечисление компонентов было заменено строковыми константами для расширяемости. ( Я3283 ​​)

Версия 1.0.0-альфа03

10 июля 2024 г.

androidx.security:security-state:1.0.0-alpha03 выпущен. Версия 1.0.0-alpha03 содержит эти коммиты .

Исправление ошибок

  • Исправление шаблона ASB-A- для ошибок бюллетеня по безопасности Android, синтаксического анализа JSON для дополнительных компонентов и извлечения пакетов Webview . ( Иде86а )

Версия 1.0.0-альфа02

26 июня 2024 г.

androidx.security:security-state:1.0.0-alpha02 выпущен. Версия 1.0.0-alpha02 содержит эти коммиты .

Исправление ошибок

  • Исправлена ​​логика получения версии ядра. ( I5602a )

Версия 1.0.0-альфа01

12 июня 2024 г.

androidx.security:security-state:1.0.0-alpha01 выпущен. Версия 1.0.0-alpha01 содержит эти коммиты .

Новые возможности

  • Состояние безопасности — это новая библиотека, которую разработчики могут использовать для получения полезных данных о версиях обновляемых компонентов системы, обновлениях безопасности и применяемых исправлениях.

Тестирование аутентификатора приложения безопасности, версия 1.0

Версия 1.0.0-бета01

6 марта 2024 г.

Выпущены androidx.security:security-app-authenticator:1.0.0-beta01 и androidx.security:security-app-authenticator-testing:1.0.0-beta01 . Версия 1.0.0-beta01 содержит эти коммиты .

Версия 1.0.0-альфа02

13 декабря 2023 г.

androidx.security:security-app-authenticator-testing:1.0.0-alpha02 выпущен. Версия 1.0.0-alpha02 содержит эти коммиты.

Исправление ошибок

  • Обновлен тест нового поведения API, который больше не предполагает Binder#getCalling[Uid|Pid] если он не предоставлен API-интерфейсам [check|enforce]CallingAppIdentity . ( I1851b )

Версия 1.0.0-альфа01

2 июня 2021 г.

androidx.security:security-app-authenticator-testing:1.0.0-alpha01 выпущен. Версия 1.0.0-alpha01 содержит эти коммиты.

Новые возможности

Эта библиотека тестирования предоставляет сборщик, который можно использовать для настройки внедряемого AppAuthenticator в соответствии с требованиями теста. Эта библиотека поддерживает несколько методов настройки AppAuthenticator:

  • Можно указать общую политику тестирования, которая сообщает о совпадении подписей для всех пакетов, объявленных в конфигурации.
  • Отдельные пакеты могут быть указаны так, чтобы возвращать совпадение сигнатур, при этом все остальные пакеты сообщают об отсутствии совпадений.
  • Явные идентификаторы подписи могут быть установлены для каждого пакета; полученный AppAuthenticator затем сообщит о совпадении подписи только в том случае, если предоставленный идентификатор соответствует объявлению в файле конфигурации.
  • Пакеты также могут считаться неустановленными или имеющими явный идентификатор пользователя.

Security-App-Authenticator версии 1.0.0

Версия 1.0.0-альфа03

13 декабря 2023 г.

androidx.security:security-app-authenticator:1.0.0-alpha03 выпущен. Версия 1.0.0-alpha03 содержит эти коммиты.

Изменения API

  • Добавлена ​​поддержка случаев использования, когда UID/PID проверяемого пакета недоступен; API теперь поддерживают такие случаи, как startActivityForResult и действия/приемники, в которых идентификатор вызывающего приложения передается через [Activity|Broadcast]Options#setShareIdentityEnabled .
  • Поведение [check|enforce]CallingAppIdentity(String, String) было обновлено для поддержки этих новых вариантов использования; эти методы больше не будут по умолчанию использовать Binder#getCalling[Uid|Pid] а вместо этого будут пропускать проверку UID вызывающего пакета, если он не указан явно. ( I1851b )

Версия 1.0.0-альфа02

2 июня 2021 г.

androidx.security:security-app-authenticator:1.0.0-alpha02 выпущен. Версия 1.0.0-alpha02 содержит эти коммиты.

Изменения API

  • В рамках подготовки к поддержке нового флага защиты knownSigner , представленного в Android 12, атрибут ignoreAlgorithm больше не может быть указан в конфигурации; вместо этого все дайджесты сертификатов должны рассчитываться с использованием SHA-256.

Исправление ошибок

  • Все дайджесты сертификатов, представленные в конфигурации, теперь нормализованы, чтобы гарантировать, что об успешном совпадении подписей можно будет сообщить как при вычислении дайджеста во время выполнения, так и при явном определении подписи при использовании библиотеки тестирования.

Версия 1.0.0-альфа01

5 мая 2021 г.

androidx.security:security-app-authenticator:1.0.0-alpha01 выпущен. Версия 1.0.0-alpha01 содержит эти коммиты.

Новые возможности

AppAuthenticator — это новая библиотека, призванная упростить проверку доверия приложений на основе подписи удостоверений. Приложению просто нужно указать файл конфигурации XML, содержащий имена пакетов и удостоверения подписи доверенных приложений, а библиотека позаботится о проверке удостоверений подписи приложений во время выполнения.

Версия 1.1.0

Версия 1.1.0-альфа06

19 апреля 2023 г.

Выпущены androidx.security:security-crypto:1.1.0-alpha06 и androidx.security:security-crypto-ktx:1.1.0-alpha06 . Версия 1.1.0-alpha06 содержит эти коммиты.

Новые возможности

  • Обновлена ​​зависимость Tink до 1.8.0.

Версия 1.1.0-альфа05

22 февраля 2023 г.

Выпущены androidx.security:security-crypto:1.1.0-alpha05 и androidx.security:security-crypto-ktx:1.1.0-alpha05 . Версия 1.1.0-alpha05 содержит эти коммиты.

Исправление ошибок

  • Исправлено состояние гонки в MasterKeys.getOrCreate ( I3391e , b/268572037 ).

Версия 1.1.0-альфа04

9 ноября 2022 г.

Выпущены androidx.security:security-crypto:1.1.0-alpha04 и androidx.security:security-crypto-ktx:1.1.0-alpha04 . Версия 1.1.0-alpha04 содержит эти коммиты.

Новые возможности

  • Удалено сообщение журнала «набор ключей не найден, будет сгенерирован новый» при первом запуске приложения. ( б / 185219606 )
  • Зависимость Tink обновлена ​​до версии 1.7.0.

Изменения API

  • Изменяет EncryptedFile#openFileInput() для выдачи FileNotFoundException вместо общего IOException , когда запрошенный файл не существует. ( I80e41 , б/148804719 )
  • Обновлен класс MasterKeys, теперь требуется Android M, а не каждый из его методов. ( I8b4b8 )
  • Изменяет все методы получения предпочтений в EncryptedSharedPreferences (например, #getString , #getInt ) для выдачи SecurityException в редких случаях, когда тип значения не может быть сопоставлен с одним из определенных вариантов перечисления. ( б/241699427 )

Исправление ошибок

  • Синхронизирована минимальная версия SDK библиотеки Security-crypto-ktx с Security-Crypto, понизив ее до v21 ( b/193550375 ).
  • Исправлена ​​ошибка параллелизма при создании нескольких EncryptedFile ( b/136590547 ).

Внешний вклад

  • Получено исправление для EncryptedSharedPreferences.Editor#remove от chr.ibbotson@gmail.com ( b/224994760 , b/134197835 , f44d44d ).

Security-Crypto-Ktx Версия 1.1.0-alpha03

18 мая 2021 г.

Выпущен androidx.security:security-crypto-ktx:1.1.0-alpha03 . Версия 1.1.0-alpha03 содержит эти коммиты.

Обновлено для соответствия androidx.security:security-crypto:1.1.0-alpha03 .

Версия 1.1.0-альфа03

2 декабря 2020 г.

Выпущен androidx.security:security-crypto:1.1.0-alpha03 . Версия 1.1.0-alpha03 содержит эти коммиты.

Новые возможности

  • Tink обновлен до стабильной версии 1.5.0

Версия 1.1.0-альфа02

5 августа 2020 г.

Выпущены androidx.security:security-crypto:1.1.0-alpha02 и androidx.security:security-crypto-ktx:1.1.0-alpha02 . Версия 1.1.0-alpha02 содержит эти коммиты.

Новые возможности

  • Tink обновлен до стабильной версии 1.4.0

Исправление ошибок

  • Обновление Tink должно исправить проблемы R8 и Proguard с затененной зависимостью Protobuf.
  • Обновление Tink должно корректно обрабатывать ошибки параллелизма AndroidKeyStore.

Внешний вклад

  • очистить mKeysChanged при применении, исправить EncryptedSharedPreferences ( aosp/1323026 )

Версия 1.1.0-альфа01

10 июня 2020 г.

Выпущен androidx.security:security-crypto:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит эти коммиты.

Новые возможности

  • Lollipop (уровень API 21+) теперь поддерживается. Обратите внимание, что AndroidKeyStore не используется для API 21 и 22. ( I7c12d , b/132325342 ).
  • Новый класс MasterKey предоставляет больше возможностей для ключей, а также объявляет устаревшим MasterKeys для поддержки новых функций и версий Android, не имеющих KeyGenParamSpec.

Security-Identity-Credential Версия 1.0.0

Версия 1.0.0-альфа03

1 сентября 2021 г.

androidx.security:security-identity-credential:1.0.0-alpha03 выпущен. Версия 1.0.0-alpha03 содержит эти коммиты.

Новые возможности

  • Добавлена ​​поддержка аппаратных функций удостоверения личности в Android 12.

Версия 1.0.0-альфа02

24 февраля 2021 г.

androidx.security:security-identity-credential:1.0.0-alpha02 выпущен. Версия 1.0.0-alpha02 содержит эти коммиты.

Исправление ошибок

  • Обновите Identity Credential API в соответствии с планами Android 12 ( Iff83e ).

Версия 1.0.0-альфа01

19 августа 2020 г.

androidx.security:security-identity-credential:1.0.0-alpha01 выпущен. Версия 1.0.0-alpha01 содержит эти коммиты.

Новые возможности

В этом выпуске Jetpack представлена ​​версия Jetpack API-интерфейсов Identity Credential, которая была добавлена ​​​​в Android 11, и уровень API 30. Если вы работаете на Android 11 и устройство имеет аппаратную поддержку Identity Credential, то этот Jetpack просто перенаправляет вызовы к API платформы. В противном случае будет использоваться реализация, поддерживаемая хранилищем ключей Android. Хотя реализация, поддерживаемая хранилищем ключей Android, не обеспечивает такой же уровень безопасности и конфиденциальности, она вполне подходит как для держателей, так и для эмитентов в тех случаях, когда все данные подписаны эмитентом. Для этой библиотеки требуется уровень API 24 или более поздней версии.

API-интерфейсы Identity Credential предоставляют интерфейс к безопасному хранилищу документов, удостоверяющих личность пользователя. Эти API намеренно являются довольно общими и абстрактными. Насколько это возможно, спецификация форматов сообщений и семантики связи с устройствами проверки учетных данных и органами выдачи (IA) выходит за рамки этих API. Структуры данных, от которых зависят API, совместимы со структурами данных в стандарте ISO/IEC IS 18013-5, который скоро будет выпущен. Идентификация личности. Водительские права, соответствующие ISO. Часть 5. Стандарт применения мобильных водительских прав (mDL).

Изменения API

  • Добавлен реактивный ранец с идентификационными данными. ( Icf90b )

Версия 1.0.0

Версия 1.0.0

21 апреля 2021 г.

Выпущен androidx.security:security-crypto:1.0.0 . Версия 1.0.0 содержит эти коммиты.

Основные особенности версии 1.0.0

Основные характеристики

  • EncryptedFile предоставляет зашифрованные входные и выходные потоки для чтения/записи зашифрованных данных в файл.
  • EncryptedSharedPreferences предоставляет реализацию SharedPreferences, которая автоматически шифрует/дешифрует все ключи и значения.
  • Обеспечивает простую генерацию ключей через MasterKeys.
  • Для повышения стабильности используется Tink 1.5.0.

Версия 1.0.0-rc04

13 января 2021 г.

androidx.security:security-crypto:1.0.0-rc04 выпущен. Версия 1.0.0-rc04 содержит эти коммиты.

Исправление ошибок

  • Обновлен Tink до 1.5.0 для повышения стабильности.

Версия 1.0.0-rc03

5 августа 2020 г.

androidx.security:security-crypto:1.0.0-rc03 выпущен. Версия 1.0.0-rc03 содержит эти коммиты.

Новые возможности

  • Tink обновлен до стабильной версии 1.4.0

Исправление ошибок

  • Обновление Tink должно исправить проблемы R8 и Proguard с затененной зависимостью Protobuf.
  • Обновление Tink должно корректно обрабатывать ошибки параллелизма AndroidKeyStore.

Внешний вклад

  • очистить mKeysChanged при применении, исправить EncryptedSharedPreferences ( aosp/1323026 )

Версия 1.0.0-rc02

20 мая 2020 г.

androidx.security:security-crypto:1.0.0-rc02 выпущен. Версия 1.0.0-rc02 содержит эти коммиты.

Исправление ошибок

  • Обновлен до версии Tink 1.4.0-rc2, которая затеняет прото buf lite dep. Это решает широко распространенную проблему конфликтов с другими SDK для Android. ( I8a831 )
  • Исправлен apply() в EncryptedSharedPreferences . ( I29069 , б / 154366606 )

Версия 1.0.0-rc01

15 апреля 2020 г.

androidx.security:security-crypto:1.0.0-rc01 выпущен. Версия 1.0.0-rc01 содержит эти коммиты.

Исправление ошибок

  • Добавлены проверки, гарантирующие, что если KeyGenParamSpec передается в MasterKeys.getOrCreate , что если getUserAuthenticationRequired возвращает true , то getUserAuthenticationValidityDurationSeconds возвращает значение >0. ( I911f5 ) ( б / 152644939 )

Версия 1.0.0-бета01

18 марта 2020 г.

androidx.security:security-crypto:1.0.0-beta01 выпущен без изменений с версии 1.0.0-alpha02 . Версия 1.0.0-beta01 содержит эти коммиты .

Версия 1.0.0-альфа02

23 мая 2019 г.

Выпущен androidx.security:security-crypto:1.0.0-alpha02 . Коммиты, включенные в эту версию, можно найти в этом журнале коммитов .

Исправление ошибок

  • Исправлена ​​проблема с получением ключей/значений, связанных с общими настройками, из getAll() .
  • Заблокировано использование ключей с ограниченным доступом.
  • Незначительные обновления Javadoc.

Версия 1.0.0-альфа01

7 мая 2019 г.

Выпущен androidx.security:security-crypto:1.0.0-alpha01 . Коммиты, включенные в эту версию, можно найти здесь .

Основные характеристики новых функций

  • EncryptedFile предоставляет зашифрованные входные и выходные потоки для чтения/записи зашифрованных данных в файл.
  • EncryptedSharedPreferences предоставляет реализацию SharedPreferences , которая автоматически шифрует/дешифрует все ключи и значения.
  • Обеспечивает простую генерацию ключей через MasterKeys.