אבטחה

ניהול בטוח של מפתחות והצפנה של קבצים והעדפות משותפות.

בטבלה הזו מפורטים כל הארטיפקטים בקבוצה androidx.security.

פריט מידע שנוצר בתהליך פיתוח (Artifact) גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
security-crypto 1.0.0 - - 1.1.0-alpha06
security-app-authenticator - - 1.0.0-beta01 -
security-identity-credential - - - 1.0.0-alpha03
הספרייה עודכנה לאחרונה ב-29 בינואר 2025

הצהרת יחסי תלות

כדי להוסיף תלות ב-Security, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאגר Maven של Google.

מוסיפים את יחסי התלות של הארטיפקטים הנדרשים בקובץ build.gradle של האפליקציה או המודול:

מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ל-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה הזו, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.

דיווח על בעיה חדשה

מידע נוסף זמין במסמכי התיעוד של Issue Tracker.

Security-State גרסה 1.0

גרסה 1.0.0-alpha05

29 בינואר 2025

androidx.security:security-state:1.0.0-alpha05 משוחרר. גרסת 1.0.0-alpha05 מכילה את ההוספות האלה.

תכונות חדשות

  • שמות החבילות של מודולי המערכת שמוגדרים כברירת מחדל נוספו למניפסט של הספרייה כדי לאפשר לאפליקציות לקוח לקבל את ה-SPL של המכשיר למודולי המערכת. (Ic259c)

שינויים ב-API

  • שינינו את השם של SecurityStateManager ל-SecurityStateManagerCompat, הוספנו מסמכי עזרה נוספים למאפיינים ולפונקציות ציבוריים, והפכנו את getComponentSecurityPatchLevel ו-getVulnerabilityReportUrl לשיטות סטטיות. (I44a0c)
  • הפונקציונליות של עדכון הזמינות (השיטות listAvailableUpdates() ו-getAvailableSecurityPatchLevel()) הוסרה בינתיים מפני השטח של ה-API, והיא אמורה לחזור בעדכון עתידי של הספרייה. (Idbc5e)
  • הגישה ל-SPL של הספקים מוגנת עכשיו באמצעות דגל בזמן הידור, שמוגדר כמושבת כברירת מחדל עד לעדכון עתידי של הספרייה. (I45b58)
  • getGlobalSecurityState() מחזיר עכשיו את מצב האבטחה הגלובלי משירות המערכת עבור SDK מגרסה 35 ואילך. (I7b9da)

תיקוני באגים

  • תוקנה קריסה שהתרחשה כשניסינו לקבל את SPL שפורסם עבור הליבה בגרסאות ישנות יותר של Android שבהן גרסאות הליבה LTS שפורסמו לא זמינות. (I93dff)

גרסה 1.0.0-alpha04

7 באוגוסט 2024

androidx.security:security-state:1.0.0-alpha04 משוחרר. הגרסה 1.0.0-alpha04 מכילה את ההוספות האלה.

הערה

  • מעדכנים את compileSdk ל-35 5dc41be

שינויים ב-API

  • שינוי שפוגע בתאימות לאחור: ה-enum של הרכיבים הוחלף במשתני מחרוזת קבועים לצורך יכולת הרחבה. (Ia3283)

גרסה 1.0.0-alpha03

10 ביולי 2024

androidx.security:security-state:1.0.0-alpha03 משוחרר. הגרסה 1.0.0-alpha03 כוללת את ההוספות האלה.

תיקוני באגים

  • תיקון דפוס ASB-A- עבור באגים בעדכון האבטחה הדחוף ל-Android, ניתוח JSON לרכיבים נוספים ואחזור של Webview באריזות. (Ide86a)

גרסה 1.0.0-alpha02

26 ביוני 2024

androidx.security:security-state:1.0.0-alpha02 משוחרר. גרסה 1.0.0-alpha02 כוללת את ההוספות האלה.

תיקוני באגים

  • תוקנה הלוגיקה של אחזור גרסת הליבה. (I5602a)

גרסה 1.0.0-alpha01

‫12 ביוני 2024

androidx.security:security-state:1.0.0-alpha01 משוחרר. גרסת 1.0.0-alpha01 כוללת את ההוספות האלה.

תכונות חדשות

  • Security State היא ספרייה חדשה שמפתחים יכולים להשתמש בה כדי לקבל נתונים פרקטיים לגבי גרסאות של רכיבי מערכת שניתן לעדכן, עדכוני אבטחה ותיקונים שהוחלו.

Security-App-Authenticator-Testing גרסה 1.0

גרסה 1.0.0-beta01

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-alpha02

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-alpha01

2 ביוני 2021

androidx.security:security-app-authenticator-testing:1.0.0-alpha01 משוחרר. גרסה 1.0.0-alpha01 מכילה את ההוספות האלה.

תכונות חדשות

ספריית הבדיקה הזו מספקת בונה שאפשר להשתמש בו כדי להגדיר את AppAuthenticator הניתן להזרקה כך שיתאים לדרישות הבדיקה. הספרייה הזו תומכת בכמה שיטות להגדרת AppAuthenticator:

  • אפשר לציין מדיניות בדיקה גנרית שמדווחת על התאמה לחתימה לכל החבילות שהוגדרו בתצורה.
  • אפשר לציין חבילות ספציפיות שיחזירו התאמה לחתימה, בעוד שכל שאר החבילות יחזירו דיווח על אי-התאמה.
  • אפשר להגדיר זהויות חתימה מפורשות לכל חבילה. לאחר מכן, ה-AppAuthenticator שייווצר ידווח על התאמה של חתימה רק אם הזהות שצוינה תואמת להצהרה בקובץ התצורה.
  • אפשר גם להתייחס לחבילות כחבילות שלא הותקנו או כחבילות עם uid מפורש.

Security-App-Authenticator גרסה 1.0.0

גרסה 1.0.0-alpha03

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-alpha02

2 ביוני 2021

androidx.security:security-app-authenticator:1.0.0-alpha02 משוחרר. גרסה 1.0.0-alpha02 מכילה את ההצהרות האלה.

שינויים ב-API

  • כדי להתכונן לתמיכה בדגל ההגנה החדש על ההרשאות knownSigner שהוצג ב-Android 12, לא ניתן יותר לציין את המאפיין digestAlgorithm בתצורה. במקום זאת, צריך לחשב את כל הסכמות האימות של האישורים באמצעות SHA-256.

תיקוני באגים

  • כל תקצירי האישורים שסופקו בתצורה עברו עכשיו נורמליזציה כדי להבטיח שאפשר יהיה לדווח על התאמה מוצלחת של חתימה גם כשהתקציר מחושב בזמן הריצה וגם כשמגדירים זהות חתימה מפורשת כשמשתמשים בספריית הבדיקה.

גרסה 1.0.0-alpha01

5 במאי 2021

androidx.security:security-app-authenticator:1.0.0-alpha01 משוחרר. גרסה 1.0.0-alpha01 מכילה את ההוספות האלה.

תכונות חדשות

AppAuthenticator היא ספרייה חדשה שמטרתה לפשט את האימות של אמינות האפליקציה על סמך זהות החתימה. כדי להשתמש בספרייה, צריך רק לציין קובץ תצורה בפורמט XML שמכיל את שמות החבילות ואת זהויות החתימה של אפליקציות מהימנות. הספרייה תעסוק באימות זהות החתימה של האפליקציות בזמן הריצה.

גרסה 1.1.0

גרסה 1.1.0-alpha06

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-alpha05

22 בפברואר 2023

androidx.security:security-crypto:1.1.0-alpha05 ו-androidx.security:security-crypto-ktx:1.1.0-alpha05 משוחררים. גרסה 1.1.0-alpha05 מכילה את ההוספות האלה.

תיקוני באגים

גרסה 1.1.0-alpha04

9 בנובמבר 2022

androidx.security:security-crypto:1.1.0-alpha04 ו-androidx.security:security-crypto-ktx:1.1.0-alpha04 משוחררים. גרסה 1.1.0-alpha04 מכילה את ההצהרות האלה על ביצוע שינויים (commits).

תכונות חדשות

  • הוסר יומן ההודעה "keyset not found, will generate a new one" (לא נמצא מפתח, ייוצר מפתח חדש) בהפעלה הראשונה של האפליקציה. (b/185219606)
  • שדרוג התלות ב-Tink לגרסה 1.7.0.

שינויים ב-API

  • שינוי של EncryptedFile#openFileInput() כך שיזרוק FileNotFoundException במקום IOException כללי כשהקובץ המבוקש לא קיים. (I80e41, ‏ b/148804719)
  • מחלקת MasterKeys עודכנה כך שתחייב את גרסת Android M במקום כל אחד מהשיטות שלה. (I8b4b8)
  • שינוי כל פונקציות ה-getter של ההעדפות ב-EncryptedSharedPreferences (למשל #getString, ‏ #getInt) כך שיזרקו את השגיאה SecurityException במקרים נדירים שבהם לא ניתן להתאים את סוג הערך לאחד מהוריאנטים המוגדרים של המאפיין enum. (b/241699427)

תיקוני באגים

  • סנכרון גרסת ה-SDK המינימלית של ספריית security-crypto-ktx עם security-crypto על ידי הפחתה שלה לגרסה 21 (b/193550375)
  • תוקן באג של בו-זמניות בזמן יצירה של כמה EncryptedFile (b/136590547)

תרומה חיצונית

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-alpha03

2 בדצמבר 2020

androidx.security:security-crypto:1.1.0-alpha03 משוחרר. גרסה 1.1.0-alpha03 כוללת את השמירות האלה.

תכונות חדשות

  • עדכון Tink לגרסה יציבה 1.5.0

גרסה 1.1.0-alpha02

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 במקביל.

תרומה חיצונית

  • clear mKeysChanged on apply, fix for EncryptedSharedPreferences (aosp/1323026)

גרסה 1.1.0-alpha01

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-alpha03

1 בספטמבר 2021

androidx.security:security-identity-credential:1.0.0-alpha03 משוחרר. גרסה 1.0.0-alpha03 כוללת את ההצהרות האלה.

תכונות חדשות

  • נוספה תמיכה בתכונות של פרטי כניסה מזהים שמגובים בחומרה ב-Android 12.

גרסה 1.0.0-alpha02

24 בפברואר 2021

androidx.security:security-identity-credential:1.0.0-alpha02 משוחרר. גרסה 1.0.0-alpha02 מכילה את ההצהרות האלה.

תיקוני באגים

  • עדכון של Identity Credential API בהתאם לתוכניות של Android 12 (Iff83e)

גרסה 1.0.0-alpha01

19 באוגוסט 2020

androidx.security:security-identity-credential:1.0.0-alpha01 משוחרר. גרסה 1.0.0-alpha01 מכילה את ההוספות האלה.

תכונות חדשות

במהדורה הזו של Jetpack מוצגת גרסה של Jetpack לממשקי ה-API של פרטי הכניסה לזהות, שנוספו ל-Android 11 ולרמת API 30. אם מריצים את הקוד ב-Android 11 והמכשיר תומך בפרטי כניסה של זהות שמגובים בחומרה, ה-Jetpack מעביר את הקריאות ל-platform API. אחרת, תתבצע הטמעה שמגובת על ידי Android Keystore. ההטמעה שמגובת על ידי Android Keystore לא מספקת את אותה רמת אבטחה ופרטיות, אבל היא מתאימה בהחלט גם לבעלי האסימונים וגם למנפיקים במקרים שבהם כל הנתונים חתומים על ידי המנפיק. הספרייה הזו דורשת רמת API 24 ואילך.

ממשקי ה-API של פרטי הכניסה לזהות מספקים ממשק למאגר מאובטח של מסמכי זהות של משתמשים. ממשקי ה-API האלה נועדו להיות כלליים ומופשטים למדי. ככל האפשר, הממשקי האלה לא כוללים הגדרות של פורמטים של הודעות וסמנטיקה של תקשורת עם מכשירי אימות פרטי כניסה ועם רשויות מנפיקות (IA). מבני הנתונים שעליהם מבוססים ממשקי ה-API תואמים למבני הנתונים בתקן ISO/IEC IS 18013-5 Personal identification — ISO-compliant driving licence — Part 5: Mobile driving licence (mDL) application standard, שיפורס בקרוב.

שינויים ב-API

  • נוספה תמיכה ב-Identity Credential Jetpack. (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 במקביל.

תרומה חיצונית

  • clear mKeysChanged on apply, fix for EncryptedSharedPreferences (aosp/1323026)

גרסה 1.0.0-rc02

20 במאי 2020

androidx.security:security-crypto:1.0.0-rc02 משוחרר. גרסה 1.0.0-rc02 כוללת את ההצהרות האלה.

תיקוני באגים

  • העדכון לגרסה 1.4.0-rc2 של Tink, שמסתיר את יחידת ה-dep של proto buf lite. כך נפתרה הבעיה הידועה של התנגשות עם ערכות SDK אחרות של Android. (I8a831)
  • תוקנה הבעיה ב-apply() ב-EncryptedSharedPreferences. (I29069, ‏ b/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) (b/152644939)

גרסה 1.0.0-beta01

18 במרץ 2020

androidx.security:security-crypto:1.0.0-beta01 פורסם ללא שינויים מאז 1.0.0-alpha02. גרסה 1.0.0-beta01 כוללת את ההצהרות האלה.

גרסה 1.0.0-alpha02

23 במאי 2019

androidx.security:security-crypto:1.0.0-alpha02 משוחרר. אפשר למצוא את ההוספות שכלולות בגרסה הזו ביומן ההוספות הזה.

תיקוני באגים

  • תוקנה בעיה באחזור מפתחות/ערכים שמשויכים להעדפות משותפות מ-getAll().
  • חסימה של שימוש במפתחות העדפה מוגבלים.
  • עדכונים קטנים ב-Javadoc.

גרסה 1.0.0-alpha01

7 במאי 2019

androidx.security:security-crypto:1.0.0-alpha01 משוחרר. אפשר למצוא את ההוספות שכלולות בגרסה הזו כאן.

התכונות החדשות העיקריות

  • EncryptedFile, מספק מקורות קלט ופלט מוצפנים לקריאה/כתיבה של נתונים מוצפנים בקובץ.
  • EncryptedSharedPreferences, מספקת הטמעה של SharedPreferences שמצפינה או מפענחת באופן אוטומטי את כל המפתחות והערכים.
  • יצירת מפתחות פשוטה באמצעות MasterKeys.