보안

키를 안전하게 관리하고 파일 및 sharedpreference를 암호화합니다.

이 표에는 androidx.security 그룹의 모든 아티팩트가 나열됩니다.

아티팩트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
security-crypto 1.0.0 - - 1.1.0-alpha06
security-app-authenticator - - 1.0.0-beta01 -
security-identity-credential - - - 1.0.0-alpha03
이 라이브러리는 2024년 3월 6일에 최종 업데이트되었습니다.

종속 항목 선언

Security의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

Security-App-Authenticator-Testing 버전 1.0

버전 1.0.0-beta01

2024년 3월 6일

androidx.security:security-app-authenticator:1.0.0-beta01androidx.security:security-app-authenticator-testing:1.0.0-beta01가 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.

버전 1.0.0-alpha02

2023년 12월 13일

androidx.security:security-app-authenticator-testing:1.0.0-alpha02가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

버그 수정

  • [check|enforce]CallingAppIdentity API에 제공되지 않을 때 더 이상 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에 포함된 커밋을 확인하세요.

새로운 기능

이 테스트 라이브러리는 테스트 요구사항을 충족하기 위해 삽입 가능한 AppAuthenticator를 구성하는 데 사용할 수 있는 빌더를 제공합니다. 이 라이브러리는 AppAuthenticator를 구성하는 여러 메서드를 지원합니다.

  • 구성에서 선언된 모든 패키지에 관해 서명 일치를 보고하는 일반 테스트 정책을 지정할 수 있습니다.
  • 개별 패키지를 지정하여 서명이 일치하지 않는다고 보고하는 다른 모든 패키지와 함께 서명 일치를 반환할 수 있습니다.
  • 각 패키지에 명시적 서명 ID를 설정할 수 있습니다. 그러면 제공된 ID가 구성 파일의 선언과 일치하는 경우에만 결과 AppAuthenticator가 서명 일치를 보고합니다.
  • 패키지는 설치되지 않거나 명시적 UID가 있는 것으로 취급할 수도 있습니다.

Security-App-Authenticator 버전 1.0.0

버전 1.0.0-alpha03

2023년 12월 13일

androidx.security:security-app-authenticator:1.0.0-alpha03가 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.

API 변경사항

  • 확인할 패키지의 UID / PID를 사용할 수 없는 사용 사례에 관한 지원이 추가되었습니다. 이제 API가 [Activity|Broadcast]Options#setShareIdentityEnabled를 통해 호출 앱의 ID가 공유되는 startActivityForResult 및 활동 / 수신기와 같은 사례를 지원합니다.
  • [check|enforce]CallingAppIdentity(String, String)의 동작이 이러한 새로운 사용 사례를 지원하도록 업데이트되었습니다. 이러한 메서드는 더 이상 기본적으로 Binder#getCalling[Uid|Pid]를 사용하지 않지만, 대신 명시적으로 제공되지 않는 경우 호출 패키지의 UID 인증을 건너뜁니다. 추가했습니다. (I1851b)

버전 1.0.0-alpha02

2021년 6월 2일

androidx.security:security-app-authenticator:1.0.0-alpha02가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

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에 포함된 커밋을 확인하세요.

새로운 기능

AppAuthenticator는 서명 ID에 기반하여 앱 신뢰 확인을 단순화하기 위한 새로운 라이브러리입니다. 앱은 신뢰할 수 있는 앱의 패키지 이름과 서명 ID가 포함된 XML 구성 파일을 지정하기만 하면 됩니다. 그러면 라이브러리가 런타임에 앱의 서명 ID 확인을 처리합니다.

버전 1.1.0

버전 1.1.0-alpha06

2023년 4월 19일

androidx.security:security-crypto:1.1.0-alpha06androidx.security:security-crypto-ktx:1.1.0-alpha06가 출시되었습니다. 버전 1.1.0-alpha06에 포함된 커밋을 확인하세요.

새로운 기능

  • Tink 종속 항목을 1.8.0으로 업데이트했습니다.

버전 1.1.0-alpha05

2023년 2월 22일

androidx.security:security-crypto:1.1.0-alpha05androidx.security:security-crypto-ktx:1.1.0-alpha05가 출시되었습니다. 버전 1.1.0-alpha05에 포함된 커밋을 확인하세요.

버그 수정

  • MasterKeys.getOrCreate의 경합 상태를 수정했습니다. (I3391e, b/268572037)

버전 1.1.0-alpha04

2022년 11월 9일

androidx.security:security-crypto:1.1.0-alpha04androidx.security:security-crypto-ktx:1.1.0-alpha04가 출시되었습니다. 버전 1.1.0-alpha04에 포함된 커밋을 확인하세요.

새로운 기능

  • 처음 앱 실행 시 '키 세트를 찾을 수 없습니다. 새 키 세트가 생성됩니다'라는 로그 메시지를 삭제했습니다. (b/185219606)
  • Tink 종속 항목을 버전 1.7.0으로 업그레이드했습니다.

API 변경사항

  • 요청된 파일이 존재하지 않을 때 일반 IOException이 아닌 FileNotFoundException을 발생시키도록 EncryptedFile#openFileInput()을 변경합니다. (I80e41, b/148804719)
  • 각 메서드가 아닌 Android M이 필요하도록 'MasterKeys' 클래스를 업데이트했습니다. (I8b4b8)
  • 정의된 enum 변형 중 하나와 값 유형이 일치하지 않는 드문 경우에 SecurityException을 발생시키도록 EncryptedSharedPreferences의 모든 환경설정 getter(#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에 포함된 커밋을 확인하세요.

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에 포함된 커밋을 확인하세요.

새로운 기능

  • Tink를 안정화 버전 1.5.0으로 업데이트했습니다.

버전 1.1.0-alpha02

2020년 8월 5일

androidx.security:security-crypto:1.1.0-alpha02androidx.security:security-crypto-ktx:1.1.0-alpha02가 출시되었습니다. 버전 1.1.0-alpha02에 포함된 커밋을 확인하세요.

새로운 기능

  • Tink를 안정화 버전 1.4.0으로 업데이트했습니다.

버그 수정

  • Tink 업데이트는 명암이 적용된 Protobuf 종속 항목 관련 R8 및 Proguard 문제를 해결해야 합니다.
  • Tink 업데이트는 AndroidKeyStore 동시 실행 실패 문제를 정상적으로 처리해야 합니다.

외부 기여

  • 적용 시 mKeysChanged 삭제, EncryptedSharedPreferences 관련 문제 해결(aosp/1323026)

버전 1.1.0-alpha01

2020년 6월 10일

androidx.security:security-crypto:1.1.0-alpha01가 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • 이제 Lollipop(API 수준 21 이상)이 지원됩니다. AndroidKeyStore는 API 21과 22에 사용되지 않습니다. (I7c12d, b/132325342)
  • 새 MasterKey 클래스는 키 관련 옵션을 더 많이 제공하며, MasterKey를 지원 중단하여 KeyGenParamSpec이 없는 Android의 새로운 기능과 새로운 버전을 지원합니다.

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에 포함된 커밋을 확인하세요.

새로운 기능

  • Android 12에 하드웨어 지원 ID 사용자 인증 정보 기능에 관한 지원을 추가했습니다.

버전 1.0.0-alpha02

2021년 2월 24일

androidx.security:security-identity-credential:1.0.0-alpha02가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

버그 수정

  • Android 12 요금제에 맞도록 Identity Credential API를 업데이트합니다(Iff83e).

버전 1.0.0-alpha01

2020년 8월 19일

androidx.security:security-identity-credential:1.0.0-alpha01가 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

이번 Jetpack 출시는 Android 11과 API 수준 30에 추가된 Jetpack 버전의 Identity Credential API가 특징입니다. Android 11에서 실행 중이고 기기에 하드웨어 지원 Identity Credential 지원이 있다면 이 Jetpack은 단순히 호출을 플랫폼 API로 전달합니다. 그 외 경우에는 Android 키 저장소 지원 구현이 사용됩니다. Android 키 저장소 지원 구현은 동일한 수준의 보안과 개인 정보 보호를 제공하지 않지만 모든 데이터에 발급기관 서명이 되어 있다면 소유자와 발급기관에 모두 완전히 적합합니다. 이 라이브러리에는 API 수준 24 이상이 필요합니다.

Identity Credential API는 사용자 ID 문서를 위한 보안 저장소에 인터페이스를 제공합니다. 이러한 API는 의도적으로 상당히 일반적이고 추상적입니다. 가능한 한 사용자 인증 정보 확인 기기와 발급기관(IA)과의 통신에 관한 메시지 형식과 의미 체계의 사양은 이러한 API의 범위를 벗어납니다. API가 사용하는 데이터 구조는 곧 출시될 ISO/IEC IS 18013-5 개인 식별 — ISO 규정 준수 운전면허증 — 파트 5: 모바일 운전면허증(mDL) 애플리케이션 표준의 데이터 구조와 호환됩니다.

API 변경사항

  • Identity Credential Jetpack이 추가되었습니다. (Icf90b)

버전 1.0.0

버전 1.0.0

2021년 4월 21일

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

2021년 1월 13일

androidx.security:security-crypto:1.0.0-rc04가 출시되었습니다. 버전 1.0.0-rc04에 포함된 커밋을 확인하세요.

버그 수정

  • 안정성을 향상하기 위해 Tink를 1.5.0으로 업그레이드했습니다.

버전 1.0.0-rc03

2020년 8월 5일

androidx.security:security-crypto:1.0.0-rc03가 출시되었습니다. 버전 1.0.0-rc03에 포함된 커밋을 확인하세요.

새로운 기능

  • Tink를 안정화 버전 1.4.0으로 업데이트했습니다.

버그 수정

  • Tink 업데이트는 명암이 적용된 Protobuf 종속 항목 관련 R8 및 Proguard 문제를 해결해야 합니다.
  • Tink 업데이트는 AndroidKeyStore 동시 실행 실패 문제를 정상적으로 처리해야 합니다.

외부 기여

  • 적용 시 mKeysChanged 삭제, EncryptedSharedPreferences 관련 문제 해결(aosp/1323026)

버전 1.0.0-rc02

2020년 5월 20일

androidx.security:security-crypto:1.0.0-rc02가 출시되었습니다. 버전 1.0.0-rc02에 포함된 커밋을 확인하세요.

버그 수정

  • Tink 버전 1.4.0-rc2로 업데이트되었습니다. proto buf lite dep를 음영 처리하여 다른 Android SDK와 충돌하는 널리 알려진 문제를 해결합니다. (I8a831)
  • EncryptedSharedPreferencesapply()가 수정되었습니다. (I29069, b/154366606)

버전 1.0.0-rc01

2020년 4월 15일

androidx.security:security-crypto:1.0.0-rc01가 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.

버그 수정

  • KeyGenParamSpecMasterKeys.getOrCreate로 전달되고 getUserAuthenticationRequiredtrue를 반환하고 getUserAuthenticationValidityDurationSeconds가 0보다 큰 값을 반환하는지 확인하는 기능을 추가했습니다. (I911f5) (b/152644939)

버전 1.0.0-beta01

2020년 3월 18일

androidx.security:security-crypto:1.0.0-beta011.0.0-alpha02 이후 변경사항 없이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.

버전 1.0.0-alpha02

2019년 5월 23일

androidx.security:security-crypto:1.0.0-alpha02가 출시되었습니다. 이 버전에 포함된 커밋은 커밋 로그에서 확인할 수 있습니다.

버그 수정

  • getAll()에서 공유 환경설정과 연결된 키/값을 가져오는 문제를 해결했습니다.
  • 제한된 환경설정 키 사용이 차단되었습니다.
  • 소규모 Javadoc 업데이트가 있었습니다.

버전 1.0.0-alpha01

2019년 5월 7일

androidx.security:security-crypto:1.0.0-alpha01가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

새로운 기능 하이라이트

  • EncryptedFile: 암호화된 데이터를 읽고 파일에 쓸 수 있도록 암호화된 입력 및 출력 스트림을 제공합니다.
  • EncryptedSharedPreferences: 모든 키와 값을 자동으로 암호화/복호화하는 SharedPreferences 구현을 제공합니다.
  • MasterKeys를 통한 간단한 키 생성을 제공합니다.