Bảo mật

Quản lý an toàn các khoá, đồng thời mã hoá tệp và phần sharedpreferences.

Bảng này liệt kê tất cả cấu phần phần mềm trong nhóm androidx.security.

Cấu phần phần mềm Bản phát hành ổn định Bản phát hành dùng thử Bản phát hành beta Bản phát hành alpha
security-crypto 1.0.0 - - 1.1.0-alpha05
security-app-authenticator - - - 1.0.0-alpha02
security-identity-credential - - - 1.0.0-alpha03
Lần gần nhất cập nhật thư viện này: ngày 22 tháng 2 năm 2023

Khai báo phần phụ thuộc

Để thêm một phần phụ thuộc trên Security, bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.

Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:

Groovy

dependencies {
    implementation "androidx.security:security-crypto:1.0.0"

    // For Identity Credential APIs
    implementation "androidx.security:security-identity-credential:1.0.0-alpha03"

     // For App Authentication APIs
    implementation "androidx.security:security-app-authenticator:1.0.0-alpha02"

    // For App Authentication API testing
    androidTestImplementation "androidx.security:security-app-authenticator:1.0.0-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.security:security-crypto:1.0.0")

    // For Identity Credential APIs
    implementation("androidx.security:security-identity-credential:1.0.0-alpha03")

    // For App Authentication APIs
    implementation("androidx.security:security-app-authenticator:1.0.0-alpha02")

    // For App Authentication API testing
    androidTestImplementation("androidx.security:security-app-authenticator:1.0.0-alpha01")

}

Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.

Ý kiến phản hồi

Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.

Báo lỗi mới

Hãy xem tài liệu Công cụ theo dõi lỗi để biết thêm thông tin.

Security-App-Authenticator Phiên bản 1.0.0

Phiên bản 1.0.0-alpha02

Ngày 2 tháng 6 năm 2021

Phát hành androidx.security:security-app-authenticator:1.0.0-alpha02. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.

Thay đổi về API

  • Để chuẩn bị hỗ trợ gắn cờ bảo vệ quyền truy cập knownSigner mới được giới thiệu trong Android 12, thuộc tính digestAlgorithm không còn được chỉ định trong cấu hình nữa; thay vào đó, tất cả thông báo chứng chỉ sẽ được tính toán bằng SHA-256.

Sửa lỗi

  • Tất cả thông báo chứng chỉ được cung cấp trong cấu hình hiện đã được chuẩn hoá để đảm bảo có thể báo cáo tính năng khớp chữ ký thành công cả khi thông báo được tính toán trong thời gian chạy cũng như khi xác định được danh tính ký rõ ràng khi sử dụng thư viện thử nghiệm.

Security-App-Authenticator-Testing Phiên bản 1.0.0-alpha01

Ngày 2 tháng 6 năm 2021

Phát hành androidx.security:security-app-authenticator-testing:1.0.0-alpha01. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

Thư viện thử nghiệm này cung cấp một Builder có thể dùng để định cấu hình AppAuthenticator có thể chèn nhằm đáp ứng các yêu cầu của thử nghiệm. Thư viện này hỗ trợ một số phương thức định cấu hình AppAuthenticator:

  • Chính sách thử nghiệm chung có thể nêu rõ việc báo cáo sự trùng khớp chữ ký cho tất cả các gói được khai báo trong cấu hình.
  • Các gói cá nhân có thể được chỉ định để trả về một kết quả trùng khớp chữ ký với tất cả các gói khác báo cáo không khớp.
  • Có thể đặt nhận diện chữ ký rõ ràng cho mỗi gói; AppAuthenticator sau đó sẽ chỉ báo cáo khớp chữ ký nếu danh tính được cung cấp khớp với khai báo trong tệp cấu hình.
  • Các gói cũng có thể được xử lý là chưa cài đặt hoặc có uid rõ ràng.

Phiên bản 1.0.0-alpha01

Ngày 5 tháng 5 năm 2021

Phát hành androidx.security:security-app-authenticator:1.0.0-alpha01. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

AppAuthenticator là một thư viện mới, nhằm mục đích đơn giản hoá việc xác minh độ tin cậy của ứng dụng dựa trên nhận dạng chữ ký. Ứng dụng chỉ cần xác định tệp cấu hình XML chứa tên gói và các thông tin nhận dạng có chữ ký của ứng dụng đáng tin cậy. Thư viện này sẽ xử lý việc xác minh danh tính của ứng dụng trong thời gian chạy.

Phiên bản 1.1.0

Phiên bản 1.1.0-alpha05

Ngày 22 tháng 2 năm 2023

Phát hành androidx.security:security-crypto:1.1.0-alpha05androidx.security:security-crypto-ktx:1.1.0-alpha05. Phiên bản 1.1.0-alpha05 bao gồm các thay đổi sau.

Sửa lỗi

  • Khắc phục một điều kiện tranh đấu trong MasterKeys.getOrCreate (I3391e, b/268572037)

Phiên bản 1.1.0-alpha04

Ngày 9 tháng 11 năm 2022

Phát hành androidx.security:security-crypto:1.1.0-alpha04androidx.security:security-crypto-ktx:1.1.0-alpha04. Phiên bản 1.1.0-alpha04 bao gồm các thay đổi sau.

Tính năng mới

  • Xoá thông điệp nhật ký "không tìm thấy tập hợp khoá, sẽ tạo một tập hợp khoá mới" trong lần đầu chạy ứng dụng. (b/185219606)
  • Nâng cấp phần phụ thuộc Tink lên phiên bản 1.7.0.

Các thay đổi về API

  • Thay đổi EncryptedFile#openFileInput() để gửi một FileNotFoundException thay vì IOException chung khi tệp được yêu cầu không tồn tại. (I80e41, b/148804719)
  • Cập nhật lớp "MasterKeys" để yêu cầu Android M thay vì từng phương thức. (I8b4b8)
  • Thay đổi tất cả các phương thức getter ưu tiên trên EncryptedSharedPreferences (ví dụ: #getString, #getInt) để gửi SecurityException trong một số ít trường hợp không thể so khớp loại giá trị với một trong các biến thể enum đã xác định. (b/241699427)

Sửa lỗi

  • Đồng bộ hoá phiên bản SDK tối thiểu của thư viện security-crypto-ktx với security-crypto bằng cách hạ phiên bản này xuống phiên bản 21 (b/193550375)
  • Khắc phục lỗi đồng thời khi tạo nhiều EncryptedFile (b/136590547)

Đóng góp bên ngoài

Security-Crypto-Ktx Phiên bản 1.1.0-alpha03

Ngày 18 tháng 5 năm 2021

Phát hành androidx.security:security-crypto-ktx:1.1.0-alpha03. Phiên bản 1.1.0-alpha03 bao gồm các thay đổi sau.

Cập nhật để khớp với androidx.security:security-crypto:1.1.0-alpha03.

Phiên bản 1.1.0-alpha03

Ngày 2 tháng 12 năm 2020

Phát hành androidx.security:security-crypto:1.1.0-alpha03. Phiên bản 1.1.0-alpha03 bao gồm các thay đổi sau.

Tính năng mới

  • Cập nhật Tink thành bản phát hành ổn định 1.5.0

Phiên bản 1.1.0-alpha02

Ngày 5 tháng 8 năm 2020

Phát hành androidx.security:security-crypto:1.1.0-alpha02androidx.security:security-crypto-ktx:1.1.0-alpha02. Phiên bản 1.1.0-alpha02 bao gồm các thay đổi sau.

Tính năng mới

  • Cập nhật Tink thành bản phát hành ổn định 1.4.0

Sửa lỗi

  • Bản cập nhật Tink sẽ sửa lỗi các sự cố R8 và Proguard với phần phụ thuộc Protobuf được tô bóng.
  • Cập nhật Tink sẽ xử lý dễ dàng các lỗi đồng thời trên AndroidKeyStore.

Đóng góp bên ngoài

  • xoá mKeysChanged khi áp dụng, sửa lỗi cho EncryptedSharedPreferences (aosp/1323026)

Phiên bản 1.1.0-alpha01

Ngày 10 tháng 6 năm 2020

Phát hành androidx.security:security-crypto:1.1.0-alpha01. Phiên bản 1.1.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Lollipop (API cấp 21+) hiện đã được hỗ trợ. Xin lưu ý rằng AndroidKeyStore không được sử dụng cho API 21 và 22. (I7c12d, b/132325342)
  • Lớp MasterKey mới cung cấp nhiều tuỳ chọn hơn cho các khoá, cũng như ngừng sử dụng MasterKeys để hỗ trợ các tính năng và phiên bản Android mới không có KeyGenParamSpec.

Security-Identity-Credential Phiên bản 1.0.0

Phiên bản 1.0.0-alpha03

Ngày 1 tháng 9 năm 2021

Phát hành androidx.security:security-identity-credential:1.0.0-alpha03. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm chức năng hỗ trợ cho các tính năng Thông tin xác thực danh tính dựa trên phần cứng trong Android 12.

Phiên bản 1.0.0-alpha02

Ngày 24 tháng 2 năm 2021

Phát hành androidx.security:security-identity-credential:1.0.0-alpha02. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.

Sửa lỗi

  • Cập nhật API Thông tin xác thực danh tính để khớp với các gói Android 12 (Iff83e)

Phiên bản 1.0.0-alpha01

Ngày 19 tháng 8 năm 2020

Phát hành androidx.security:security-identity-credential:1.0.0-alpha01. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

Bản phát hành Jetpack này gồm phiên bản Jetpack của API thông tin xác thực danh tính đã được thêm vào Android 11 và API cấp 30. Nếu chạy trên Android 11 và thiết bị có hỗ trợ Thông tin xác thực danh tính dựa trên phần cứng, thì Jetpack chỉ chuyển tiếp lệnh gọi tới nền tảng API. Nếu không, hệ thống sẽ sử dụng hoạt động triển khai dựa trên Android Keystore. Mặc dù việc triển khai Android Keystore không cung cấp cùng một mức độ bảo mật và quyền riêng tư, nhưng hoạt động hoàn chỉnh cho cả chủ sở hữu và nhà phát hành trong trường hợp tất cả dữ liệu đều được nhà phát hành ký. Thư viện này yêu cầu phiên bản API cấp 24 trở lên.

API thông tin xác thực danh tính cung cấp giao diện là nơi lưu trữ bảo mật các tài liệu về danh tính người dùng. Các API này cố ý khái quát và khá trừu tượng Trong phạm vi có thể, thông số kỹ thuật của định dạng thông báo và ngữ nghĩa giao tiếp với thiết bị xác minh thông tin xác thực cùng Cơ quan phát hành (IA) nằm ngoài phạm vi của các API này. Cấu trúc dữ liệu mà các API này phụ thuộc vào là tương thích với cấu trúc dữ liệu sắp được phát hành Nhận dạng cá nhân ISO/IEC IS 18013-5 - Giấy phép lái xe tuân thủ ISO - Phần 5: Tiêu chuẩn ứng dụng giấy phép lái xe di động (mDL).

Thay đổi về API

  • Thêm thông tin xác thực danh tính vào Jetpack. (Icf90b)

Phiên bản 1.0.0

Phiên bản 1.0.0

Ngày 21 tháng 4 năm 2021

Phát hành androidx.security:security-crypto:1.0.0. Phiên bản 1.0.0 bao gồm các thay đổi sau.

Các tính năng chính của phiên bản 1.0.0

Điểm nổi bật của tính năng

  • EncryptedFile, cung cấp bảng tin đầu vào và đầu ra được mã hoá để đọc/ghi dữ liệu đã mã hoá vào một tệp.
  • EncryptedSharedPreferences, cung cấp hoạt động triển khai của SharedPreferences. Phương thức này sẽ tự động mã hoá/giải mã tất cả các khoá và giá trị.
  • Cung cấp cách tạo khoá đơn giản thông qua MasterKey.
  • Dựa vào Tink 1.5.0 để tăng độ ổn định.

Phiên bản 1.0.0-rc04

Ngày 13 tháng 1 năm 2021

Phát hành androidx.security:security-crypto:1.0.0-rc04. Phiên bản 1.0.0-rc04 bao gồm các thay đổi sau.

Sửa lỗi

  • Nâng cấp Tink lên 1.5.0 để tăng độ ổn định.

Phiên bản 1.0.0-rc03

Ngày 5 tháng 8 năm 2020

Phát hành androidx.security:security-crypto:1.0.0-rc03. Phiên bản 1.0.0-rc03 bao gồm các thay đổi sau.

Tính năng mới

  • Cập nhật Tink thành bản phát hành ổn định 1.4.0

Sửa lỗi

  • Bản cập nhật Tink sẽ sửa lỗi các sự cố R8 và Proguard với phần phụ thuộc Protobuf được tô bóng.
  • Cập nhật Tink sẽ xử lý dễ dàng các lỗi đồng thời trên AndroidKeyStore.

Đóng góp bên ngoài

  • xoá mKeysChanged khi áp dụng, sửa lỗi cho EncryptedSharedPreferences (aosp/1323026)

Phiên bản 1.0.0-rc02

Ngày 20 tháng 5 năm 2020

Phát hành androidx.security:security-crypto:1.0.0-rc02. Phiên bản 1.0.0-rc02 bao gồm các thay đổi sau.

Sửa lỗi

  • Cập nhật lên phiên bản Tink 1.4.0-rc2, tô bóng proto buf lite dep. Giải pháp này giải quyết nhiều báo cáo về vấn đề xung đột với sdks android khác. (I8a831)
  • Sửa apply() trong EncryptedSharedPreferences. (I29069, b/154366606)

Phiên bản 1.0.0-rc01

Ngày 15 tháng 4 năm 2020

Phát hành androidx.security:security-crypto:1.0.0-rc01. Phiên bản 1.0.0-rc01 bao gồm các thay đổi sau.

Sửa lỗi

  • Thêm các lượt kiểm tra để đảm bảo rằng nếu một KeyGenParamSpec được chuyển vào MasterKeys.getOrCreate thì nếu getUserAuthenticationRequired trả về true, khi đó getUserAuthenticationValidityDurationSeconds sẽ trả về một giá trị >0. (I911f5) (b/152644939)

Phiên bản 1.0.0-beta01

Ngày 18 tháng 3 năm 2020

androidx.security:security-crypto:1.0.0-beta01 được phát hành mà không có thay đổi nào kể từ 1.0.0-alpha02. Phiên bản 1.0.0-beta01 bao gồm các thay đổi sau.

Phiên bản 1.0.0-alpha02

Ngày 23 tháng 5 năm 2019

Phát hành androidx.security:security-crypto:1.0.0-alpha02. Bạn có thể xem các thay đổi trong phiên bản này tại nhật ký thay đổi

Sửa lỗi

  • Khắc phục sự cố khi truy xuất khoá/giá trị được liên kết với các tuỳ chọn được chia sẻ từ getAll().
  • Chặn sử dụng các khoá tuỳ chọn bị hạn chế.
  • Cập nhật nhỏ trong Javadoc.

Phiên bản 1.0.0-alpha01

Ngày 7 tháng 5 năm 2019

Phát hành androidx.security:security-crypto:1.0.0-alpha01. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Điểm nổi bật mới của tính năng

  • EncryptedFile, cung cấp bảng tin đầu vào và đầu ra được mã hoá để đọc/ghi dữ liệu đã mã hoá vào một tệp.
  • EncryptedSharedPreferences, cho phép triển khai SharedPreferences tự động mã hoá/giải mã tất cả các khoá và các giá trị.
  • Cung cấp cách tạo khoá đơn giản thông qua MasterKey.