セキュリティ
androidx.security グループ内のすべてのアーティファクトのリストを以下に示します。
| アーティファクト | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
|---|---|---|---|---|
| security-crypto | 1.1.0 | - | - | - |
| security-app-authenticator | 1.0.0 | - | - | - |
| security-app-authenticator-testing | 1.0.0 | - | - | - |
| security-identity-credential | - | - | - | 1.0.0-alpha03 |
依存関係の宣言
Security への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
Security-State-Provider バージョン 1.0
バージョン 1.0.0-alpha01
2025 年 9 月 24 日
androidx.security:security-state-provider:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 にはこれらの commit が含まれています。
新機能
- これは
security-state-providerライブラリの最初のアルファ版リリースです。 - このライブラリを使用すると、アップデート クライアント(OTA クライアントなど)は、デバイス上のアップデート可能なコンポーネント(システム、システム モジュール、カーネルなど)のセキュリティ状態を簡単に公開できます。
- 更新情報を登録および登録解除するメカニズムを提供します。この情報は
ContentProviderを介して他のアプリケーションやコンポーネントに提供できます。 UpdateInfoProviderを含む: JSON 形式でUpdateInfoを提供するContentProvider。クエリはサポートされますが、挿入、削除、更新オペレーションはサポートされません。UpdateInfoManagerを含む: 永続性にはSharedPreferencesを使用して、UpdateInfoオブジェクトの保存と取得を管理します。UpdateInfoを含む: コンポーネントの利用可能なアップデートに関する情報を表すデータクラス。URI、コンポーネント名、セキュリティ パッチレベル(SPL)、公開日などを含む。
Security-State バージョン 1.0.0
バージョン 1.0.0-beta01
2025 年 2 月 26 日
androidx.security:security-state:1.0.0-beta01 がリリースされました。バージョン 1.0.0-beta01 にはこれらの commit が含まれています。
バグの修正
getPatchedCves()がCOMPONENT_SYSTEM_MODULESのパッチ適用済み CVE を返さない問題を修正しました。(Ice5e2)
バージョン 1.0.0-alpha05
2025 年 1 月 29 日
androidx.security:security-state:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 には、これらの commit が含まれています。
新機能
- クライアント アプリがシステム モジュールのデバイス SPL を取得できるように、デフォルトのシステム モジュールのパッケージ名がライブラリのマニフェストに追加されました。(Ic259c)
API の変更
SecurityStateManagerの名前をSecurityStateManagerCompatに変更し、パブリック プロパティと関数のドキュメントを追加し、getComponentSecurityPatchLevelとgetVulnerabilityReportUrlを静的メソッドにしました。(I44a0c)- 更新の可用性機能(
listAvailableUpdates()メソッドとgetAvailableSecurityPatchLevel()メソッド)は、API サーフェスから一時的に削除されました。今後のライブラリのアップデートで戻ってくる予定です。(Idbc5e) - ベンダー SPL へのアクセスは、コンパイル時のフラグで保護されるようになりました。このフラグは、ライブラリの今後のアップデートまでデフォルトで無効になっています。(I45b58)
getGlobalSecurityState()が SDK 35 以降のシステム サービスからグローバル セキュリティ状態を返すようになりました。(I7b9da)
バグの修正
- 公開されたカーネル LTS バージョンが利用できない古いバージョンの Android で、カーネルの公開済み SPL を取得しようとしたときに発生するクラッシュを修正しました。(I93dff)
バージョン 1.0.0-alpha04
2024 年 8 月 7 日
androidx.security:security-state:1.0.0-alpha04 がリリースされました。バージョン 1.0.0-alpha04 にはこれらの commit が含まれています。
注
compileSdkを 35 5dc41be に更新
API の変更
- 重大な変更: 拡張性を高めるため、コンポーネント列挙型が文字列定数に置き換えられました。(Ia3283)
バージョン 1.0.0-alpha03
2024 年 7 月 10 日
androidx.security:security-state:1.0.0-alpha03 がリリースされました。バージョン 1.0.0-alpha03 にはこれらの commit が含まれています。
バグの修正
- Android のセキュリティに関する公開情報のバグ、追加コンポーネントの JSON 解析、
Webviewパッケージの取得に関する ASB-A- パターンを修正しました。(Ide86a)
バージョン 1.0.0-alpha02
2024 年 6 月 26 日
androidx.security:security-state:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 にはこれらの commit が含まれています。
バグの修正
- カーネル バージョンを取得するロジックを修正しました。(I5602a)
バージョン 1.0.0-alpha01
2024 年 6 月 12 日
androidx.security:security-state:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 にはこれらの commit が含まれています。
新機能
- Security State は、更新可能なシステム コンポーネントのバージョン、セキュリティ アップデート、適用された修正に関する実用的なデータを取得するためにデベロッパーが使用できる新しいライブラリです。
Security-App-Authenticator-Testing バージョン 1.0.0
バージョン 1.0.0
2025 年 7 月 30 日
androidx.security:security-app-authenticator:1.0.0 と androidx.security:security-app-authenticator-testing:1.0.0 がリリースされました。バージョン 1.0.0 にはこれらの commit が含まれています。
バージョン 1.0.0-rc01
2025 年 5 月 20 日
androidx.security:security-app-authenticator:1.0.0-rc01 と androidx.security:security-app-authenticator-testing:1.0.0-rc01 がリリースされました。バージョン 1.0.0-rc01 にはこれらの commit が含まれています。
バージョン 1.0.0-beta01
2024 年 3 月 6 日
androidx.security:security-app-authenticator:1.0.0-beta01 と androidx.security:security-app-authenticator-testing:1.0.0-beta01 がリリースされました。バージョン 1.0.0-beta01 にはこれらの commit が含まれています。
バージョン 1.0.0-alpha02
2023 年 12 月 13 日
androidx.security:security-app-authenticator-testing:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
バグの修正
[check|enforce]CallingAppIdentityAPI に提供されない場合にBinder#getCalling[Uid|Pid]を想定しない新しい API の動作のテストを更新しました。(I1851b)
バージョン 1.0.0-alpha01
2021 年 6 月 2 日
androidx.security:security-app-authenticator-testing:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
このテスト ライブラリには、テストの要件を満たす挿入可能な AppAuthenticator の構成に使用できるビルダーが用意されています。このライブラリでは、AppAuthenticator を構成するいくつかの方法がサポートされています。
- 構成で宣言されたすべてのパッケージの署名の一致を報告するように、一般的なテストポリシーを指定できます。
- 一致を報告しない他のすべてのパッケージとの署名の一致を返すように、個々のパッケージを指定できます。
- 各パッケージに明示的な署名 ID を設定できます。生成される AppAuthenticator は、提供された ID が構成ファイルの宣言と一致する場合にのみ、署名の一致を報告します。
- パッケージは、インストールされていないもの、または明示的な UID が指定されているものとして扱うこともできます。
Security-App-Authenticator バージョン 1.0.0
バージョン 1.0.0-rc01
2025 年 5 月 20 日
androidx.security:security-app-authenticator:1.0.0-rc01 と androidx.security:security-app-authenticator-testing:1.0.0-rc01 がリリースされました。バージョン 1.0.0-rc01 にはこれらの commit が含まれています。
バージョン 1.0.0-beta01
2024 年 3 月 6 日
androidx.security:security-app-authenticator:1.0.0-beta01 と androidx.security:security-app-authenticator-testing:1.0.0-beta01 がリリースされました。バージョン 1.0.0-beta01 にはこれらの commit が含まれています。
バージョン 1.0.0-alpha03
2023 年 12 月 13 日
androidx.security:security-app-authenticator:1.0.0-alpha03 がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
API の変更
- 検証するパッケージの UID / PID が利用できないユースケースのサポートを追加しました。API は、呼び出し元アプリの ID が
[Activity|Broadcast]Options#setShareIdentityEnabledを介して共有されるstartActivityForResultやアクティビティ / レシーバなどのケースをサポートするようになりました。 - これらの新しいユースケースをサポートするために
[check|enforce]CallingAppIdentity(String, String)の動作が更新されました。これらのメソッドはデフォルトでBinder#getCalling[Uid|Pid]を使用しなくなり、呼び出し元パッケージの UID が明示的に指定されていない場合は、その UID の検証をスキップします。(I1851b)
バージョン 1.0.0-alpha02
2021 年 6 月 2 日
androidx.security:security-app-authenticator:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
API の変更
- Android 12 で導入された新しい
knownSigner権限保護フラグをサポートする準備として、構成内で digestAlgorithm 属性を指定できなくなりました。代わりに、SHA-256 を使用してすべての証明書ダイジェストを計算する必要があります。
バグの修正
- 構成で提供されるすべての証明書ダイジェストが正規化され、実行時にダイジェストが計算されたときと、テスト ライブラリの使用時に明示的な署名 ID が定義されたときに、署名の一致が報告されるようになりました。
バージョン 1.0.0-alpha01
2021 年 5 月 5 日
androidx.security:security-app-authenticator:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
AppAuthenticator は、署名 ID に基づいたアプリの信頼の検証を簡素化することを目的とした新しいライブラリです。アプリでは、信頼できるアプリのパッケージ名と署名 ID を含む XML 構成ファイルを指定するだけで済みます。ライブラリが実行時にアプリの署名 ID の検証を行います。
Security-Identity-Credential バージョン 1.0.0
バージョン 1.0.0-alpha03
2021 年 9 月 1 日
androidx.security:security-identity-credential:1.0.0-alpha03 がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- Android 12 のハードウェア格納型の ID 認証情報機能に対するサポートを追加しました。
バージョン 1.0.0-alpha02
2021 年 2 月 24 日
androidx.security:security-identity-credential:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
バグの修正
- ID 認証情報 API を Android 12 のプランに合わせて更新します(Iff83e)
バージョン 1.0.0-alpha01
2020 年 8 月 19 日
androidx.security:security-identity-credential:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
この Jetpack リリースでは、ID 認証情報 API の Jetpack バージョンが Android 11 および API レベル 30 に追加されました。Android 11 を搭載したデバイスでハードウェア格納型の ID 認証情報をサポートしている場合、この Jetpack は単に呼び出しをプラットフォーム API に転送します。それ以外の場合は、Android キーストアに依存する実装が使用されます。Android キーストアに依存する実装で提供されるセキュリティとプライバシーはハードウェア格納型と同じレベルではありませんが、すべてのデータに発行者の署名がある場合は、所有者と発行者の両方にとって十分適切なレベルになります。このライブラリは API レベル 24 以降を必要とします。
ID 認証情報 API は、ユーザー ID ドキュメントに対し、安全なストアへのインターフェースを提供します。これらの API は、意図的にかなり汎用的で抽象的なものになっています。認証情報検証デバイスおよび認証機関(IA)との通信に使用されるメッセージ形式とセマンティクスの仕様は、これらの API のスコープから可能な限り除外されています。API が依存するデータ構造は、まもなくリリースされる「ISO/IEC IS 18013-5 Personal identification - ISO-compliant driving licence - Part 5: Mobile driving licence (mDL)」のアプリケーション規格で規定されるデータ構造と互換性があります。
API の変更
- ID 認証情報 Jetpack を追加しました。(Icf90b)
Security-Crypto バージョン 1.1.0
バージョン 1.1.0
2025 年 7 月 30 日
androidx.security:security-crypto:1.1.0 と androidx.security:security-crypto-ktx:1.1.0 がリリースされました。バージョン 1.1.0 にはこれらの commit が含まれています。
バージョン 1.1.0-rc01
2025 年 7 月 2 日
androidx.security:security-crypto:1.1.0-rc01 と androidx.security:security-crypto-ktx:1.1.0-rc01 がリリースされました。バージョン 1.1.0-rc01 にはこれらの commit が含まれています。
バージョン 1.1.0-beta01
2025 年 6 月 4 日
androidx.security:security-crypto:1.1.0-beta01 と androidx.security:security-crypto-ktx:1.1.0-beta01 がリリースされました。バージョン 1.1.0-beta01 にはこれらの commit が含まれています。
API の変更
- 既存のプラットフォーム API と Android Keystore の直接使用を優先して、すべての API を非推奨にしました。
バージョン 1.1.0-alpha07
2025 年 4 月 9 日
androidx.security:security-crypto:1.1.0-alpha07 と androidx.security:security-crypto-ktx:1.1.0-alpha07 がリリースされました。バージョン 1.1.0-alpha07 にはこれらの commit が含まれています。
API の変更
- 既存のプラットフォーム API と Android Keystore の直接使用を優先して、すべての API を非推奨にしました。
バージョン 1.1.0-alpha06
2023 年 4 月 19 日
androidx.security:security-crypto:1.1.0-alpha06 と androidx.security:security-crypto-ktx:1.1.0-alpha06 がリリースされました。バージョン 1.1.0-alpha06 に含まれる commit については、こちらをご覧ください。
新機能
- Tink の依存関係を 1.8.0 に更新しました
バージョン 1.1.0-alpha05
2023 年 2 月 22 日
androidx.security:security-crypto:1.1.0-alpha05 と androidx.security:security-crypto-ktx:1.1.0-alpha05 がリリースされました。バージョン 1.1.0-alpha05 に含まれる commit については、こちらをご覧ください。
バグの修正
MasterKeys.getOrCreateでの競合状態を修正しました(I3391e、b/268572037)
バージョン 1.1.0-alpha04
2022 年 11 月 9 日
androidx.security:security-crypto:1.1.0-alpha04 と androidx.security:security-crypto-ktx:1.1.0-alpha04 がリリースされました。バージョン 1.1.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
- アプリの初回起動時に表示される「keyset not found, will generate a new one」というログメッセージを削除しました。(b/185219606)
- Tink の依存関係をバージョン 1.7.0 にアップグレードしました。
API の変更
- リクエストされたファイルが存在しない場合に、一般的な
IOExceptionではなくFileNotFoundExceptionをスローするようにEncryptedFile#openFileInput()を変更しました。(I80e41、b/148804719) - それぞれのメソッドではなく Android M を要求するよう「MasterKeys」クラスを更新しました。(I8b4b8)
- 値の型が定義済みの列挙型バリアントのいずれかと一致しないまれな状況で、
SecurityExceptionをスローするようにEncryptedSharedPreferencesのすべての設定のゲッター(#getString、#getIntなど)を変更しました。(b/241699427)
バグの修正
- security-crypto-ktx ライブラリの最小 SDK バージョンを v21 に下げて security-crypto と同期しました。(b/193550375)
- 複数の
EncryptedFileをビルドする際の同時実行バグを修正しました。(b/136590547)
外部からの協力
- chr.ibbotson@gmail.com から
EncryptedSharedPreferences.Editor#removeの修正を受け取りました。(b/224994760、b/134197835、f44d44d)
Security-Crypto-Ktx バージョン 1.1.0-alpha03
2021 年 5 月 18 日
androidx.security:security-crypto-ktx:1.1.0-alpha03 がリリースされました。バージョン 1.1.0-alpha03 に含まれる commit については、こちらをご覧ください。
androidx.security:security-crypto:1.1.0-alpha03 に合わせて更新しました。
バージョン 1.1.0-alpha03
2020 年 12 月 2 日
androidx.security:security-crypto:1.1.0-alpha03 がリリースされました。バージョン 1.1.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- Tink が安定版リリース
1.5.0に更新されました。
バージョン 1.1.0-alpha02
2020 年 8 月 5 日
androidx.security:security-crypto:1.1.0-alpha02 と androidx.security:security-crypto-ktx:1.1.0-alpha02 がリリースされました。バージョン 1.1.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
- Tink が安定版リリース
1.4.0に更新されました。
バグの修正
- Tink が更新されたことで、シェーディングされた Protobuf 依存関係に関する R8 と Proguard の問題が解決します。
- Tink が更新されたことで、AndroidKeyStore の同時実行エラーが適切に処理されるようになります。
外部からの協力
- EncryptedSharedPreferences の適用、修正時に
mKeysChangedをクリアします。(aosp/1323026)
バージョン 1.1.0-alpha01
2020 年 6 月 10 日
androidx.security:security-crypto:1.1.0-alpha01 がリリースされました。バージョン 1.1.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
- Lollipop(API レベル 21 以上)がサポートされるようになりました。API 21 と 22 では AndroidKeyStore が使用されない点にご注意ください。(I7c12d、b/132325342)
- 新しい MasterKey クラスではキーのオプションが増えました。また、KeyGenParamSpec を持たない Android バージョンと新機能をサポートするために、MasterKeys のサポートを終了しました。
Security-Crypto バージョン 1.0.0
バージョン 1.0.0
2021 年 4 月 21 日
androidx.security:security-crypto:1.0.0 がリリースされました。バージョン 1.0.0 に含まれる commit については、こちらをご覧ください。
1.0.0 の主な機能
注目の機能
EncryptedFile: 暗号化された入出力ストリームを提供し、暗号化されたデータをファイルから読み取り、ファイルに書き込みます。EncryptedSharedPreferences: すべてのキーと値を自動的に暗号化 / 復号する SharedPreferences の実装を提供します。- MasterKeys を介した簡単なキー生成を提供します。
- 安定性を高めるため、Tink 1.5.0 を使用します。
バージョン 1.0.0-rc04
2021 年 1 月 13 日
androidx.security:security-crypto:1.0.0-rc04 がリリースされました。バージョン 1.0.0-rc04 に含まれる commit については、こちらをご覧ください。
バグの修正
- Tink を 1.5.0 にアップグレードし、安定性を向上させました。
バージョン 1.0.0-rc03
2020 年 8 月 5 日
androidx.security:security-crypto:1.0.0-rc03 がリリースされました。バージョン 1.0.0-rc03 に含まれる commit については、こちらをご覧ください。
新機能
- Tink が安定版リリース
1.4.0に更新されました。
バグの修正
- Tink が更新されたことで、シェーディングされた Protobuf 依存関係に関する R8 と Proguard の問題が解決します。
- Tink が更新されたことで、AndroidKeyStore の同時実行エラーが適切に処理されるようになります。
外部からの協力
- EncryptedSharedPreferences の適用、修正時に
mKeysChangedをクリアします。(aosp/1323026)
バージョン 1.0.0-rc02
2020 年 5 月 20 日
androidx.security:security-crypto:1.0.0-rc02 がリリースされました。バージョン 1.0.0-rc02 に含まれる commit については、こちらをご覧ください。
バグの修正
- proto buf lite dep をシェーディングする Tink バージョン 1.4.0-rc2 に更新しました。これにより、他の Android SDK との競合という広く報告されている問題が解決されます。(I8a831)
EncryptedSharedPreferencesのapply()を修正しました。(I29069、b/154366606)
バージョン 1.0.0-rc01
2020 年 4 月 15 日
androidx.security:security-crypto:1.0.0-rc01 がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
KeyGenParamSpecがMasterKeys.getOrCreateに渡され、getUserAuthenticationRequiredがtrueを返した場合にgetUserAuthenticationValidityDurationSecondsが 0 より大きな値を返すことを確認するチェックを追加しました。(I911f5)(b/152644939)
バージョン 1.0.0-beta01
2020 年 3 月 18 日
androidx.security:security-crypto:1.0.0-beta01 がリリースされました。1.0.0-alpha02 からの変更はありません。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください。
バージョン 1.0.0-alpha02
2019 年 5 月 23 日
androidx.security:security-crypto:1.0.0-alpha02 がリリースされました。
このバージョンに含まれる commit については、commit ログをご覧ください。
バグの修正
getAll()から共有設定に関連付けられた Key-Value を取得する際の問題を修正しました。- 制限された設定キーの使用をブロックしました。
- Javadoc のマイナー アップデート
バージョン 1.0.0-alpha01
2019 年 5 月 7 日
androidx.security:security-crypto:1.0.0-alpha01 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
新機能のハイライト
EncryptedFile: 暗号化された入出力ストリームを提供し、暗号化されたデータをファイルから読み取り、ファイルに書き込みます。EncryptedSharedPreferences: すべてのキーと値を自動的に暗号化 / 復号するSharedPreferencesの実装を提供します。- MasterKeys を介した簡単なキー生成を提供します。