Android R יכולה לתמוך באחסון מאובטח של רישיונות נהיגה לנייד במכשירים כמו Google Pixel 2, Google Pixel 3 או Google Pixel 4.
עדכון 1 (3/6/19 @ 20:44 ET): פרטים נוספים על התוכניות של Google עבור ה-IdentityCredential API שותפו על ידי שון ווילדן, ראש צוות אבטחה מגובה חומרה של Android. המאמר עודכן עם הפרטים האלה בסוף. המאמר המקורי בהמשך.
נשיאת ארנק הפכה לפחות הכרח עבורי מאז שהתחלתי להשתמש Google Pay לנהל את כרטיסי האשראי שלי, אבל עדיין אין סיכוי שאוכל לנסוע לכל מקום בלי רישיון הנהיגה שלי. אני מכיר כמה אנשים שמשתמשים בתיקי ארנק כדי להחזיק כמה כרטיסים הם צריך תמשיכו בנפשם, אבל אני מחכה ליום שבו אוכל לנהוג באופן חוקי לוולמארט רק עם הטלפון שלי. רישיון נהיגה דיגיטלי מציע יתרונות מרובים על פני תעודת הזהות המסורתית. אתה לא יכול לאבד אותו, אתה יכול לעדכן אותו מרחוק כדי שלא תצטרך לעמוד בתור ב-DMV, אתה יכול למחוק אותו מרחוק אם הטלפון שלך נגנב, יש לך פחות סיכוי לקבל את זהותך נגנב מכיוון שאינך צריך לשאת ארנק עם מידע נגיש בקלות, סביר להניח שתשאיר את הטלפון שלך בבית, ויהיה לך קל יותר להעלות אותו בַּקָשָׁה. הרשויות ברחבי ארה"ב מזהות לאט לאט את היתרונות של רישיון נהיגה נייד, וזו הסיבה שאנו שומעים יותר מדינות בארה"ב בודקות את האימוץ שלהם מדי שנה.
לדוגמה, תושבי לואיזיאנה יכולים להוריד את Envoc-מפותח ארנק LA אפליקציה שאושרה על ידי רשויות החוק של LA לאימות רישיון ו ATC של LA לעסקאות אלכוהול וטבק. אימות הגיל מעניין במיוחד מכיוון שמשתמשים יכולים להגביל את האפליקציה לנייד להראות רק מידע נחוץ לספק של אלכוהול או טבק. במקום אחר, חברת אבטחה דיגיטלית ג'מלטו משתפת פעולה עם קולורדו, איידהו, מרילנד, וושינגטון די.סי. וויומינג כדי להפעיל תוכניות פיילוט לפני השקת פתרון רישיון הנהיגה הדיגיטלי שלהם. במקביל, ה האגודה האמריקאית למנהלי כלי רכב פועלת לסטנדרטיזציה של צורה חדשה זו של זיהוי אלקטרוני.
עם זאת, יש חסרונות לרישיון הנהיגה הדיגיטלי. יש לך הרבה שליטה על מי יראה את תעודת הזהות הפיזית שלך, אבל יש לך פחות שליטה על מי או מה יש גישה לטופס הדיגיטאלי שלו. אתה יכול להגן על הטלפון שלך באמצעות סיסמה או PIN או על האפליקציה ששולפת את הרישיון הנייד שלך, אבל תמיד יש סיכוי שהטלפון שלך וכל הנתונים שלו עלולים להיפגע. בנוסף, עליך לוודא שבטלפון שלך יש מספיק מיץ כדי לשמור על פעילות אנדרואיד כדי שתוכל למשוך את הרישיון. עם ה IdentityCredential API, גוגל פועלת לפתור את שתי הבעיות הללו. בגרסה עתידית של אנדרואיד, אולי אנדרואיד R, מכשירים עם החומרה הנכונה יוכלו לאחסן בצורה מאובטחת תעודות זיהוי, במיוחד רישיונות נהיגה דיגיטליים, ואפילו גישה אליהם כאשר למכשיר אין מספיק כוח אתחול אנדרואיד.
IdentityCredential API
במבט ראשון, ההתחייבות, שהוגשה על ידי שון ווילדן, ראש צוות חנות המפתחות המגובה בחומרה של אנדרואיד, לא נראית מעניינת במיוחד. עם זאת, אם תציג את הקבצים IdentityCredential ו-IdentityCredentialStore, תמצא הפניות מרובות לאילו סוגים של "אישורי זהות" מתייחסת גוגל. לדוגמה, IdentityCredential משתמש בפרוטוקול של חילופי מפתחות ש"משמש את ISO18013-5 תקן עבור רישיונות נהיגה ניידים." יתר על כן, פרוטוקול זה משמש כ"בסיס לעבודה מתמשכת של ISO תעודות זהות סטנדרטיות אחרות." למרות שלא סביר שנראה דרכונים ניידים בקרוב, ברור שה-API הזה מיועד ליותר מסתם רישיונות נהיגה ניידים.
בחפירה עמוקה יותר, גוגל מרחיבה את סוגי מפתחות החתימה הנתמכים על ידי ה-API של IdentityCredential. ישנם שני סוגים של אימות נתונים: סטטי ודינמי. אימות סטטי כולל מפתחות שנוצרו על ידי רשות מנפיקה, ואילו אימות דינמי כולל מפתחות שנוצרו על ידי חומרת האבטחה של המכשיר (כגון טיטאן מ ב-Pixel 3 ו-Pixel 3 XL.) היתרון של אימות דינמי הוא שקשה יותר לתוקף לסכן את החומרה המאובטחת כדי להעתיק את האישורים למכשיר אחר. יתר על כן, אימות דינמי מקשה על קישור אישור מסוים עם נתוני המשתמש.
אפליקציית אנדרואיד יכולה להציג IdentityCredential לקורא על ידי בקשה מהמשתמש להפעיל חיבור אלחוטי באמצעות NFC. מומלץ לאפליקציות לשמור על עסקאות אלו על ידי בקשת הרשאת משתמש בצורה של דיאלוג ו/או הגנה באמצעות סיסמה.
אם למכשיר יש את החומרה הנתמכת, מצב "גישה ישירה" יהיה זמין כדי לאפשר הצגת IdentityCredential גם אם אין מספיק כוח כדי לשמור על אנדרואיד פועל. זה אפשרי רק כאשר למכשיר יש חומרה מאובטחת בדידה ומספיק כוח כדי להפעיל את החומרה כדי לשתף את האישורים דרך NFC. מכשירים כמו גוגל פיקסל 2 וגוגל פיקסל 3 צריכים להיות כשירים מכיוון ששני המכשירים יש מודולי אבטחה עמידים בפני חבלה שהם נפרדים מה-SoC הראשי.
אם למכשיר אין מעבד מאובטח דיסקרטי, הוא עדיין יכול לתמוך ב-ID IdentityCredential אם כי ללא תמיכה בגישה ישירה. אם מאגר האישורים מיושם בתוכנה בלבד, הוא עלול להיפגע על ידי התקפה על הקרנל. אם מאגר האישורים מיושם ב-TEE, הוא עלול להיפגע על ידי התקפות ערוץ צדדי על המעבד כגון התמוטטות וספקטר. אם מאגר האישורים מיושם במעבד נפרד המוטבע באותה חבילה כמו הראשית מעבד, הוא עמיד בפני התקפות חומרה פיזיות אך לא ניתן להפעיל אותו מבלי להפעיל גם את הרשת הראשית מעבד.
הרגישות של המסמך תקבע אם אחד או יותר מהטמעות אלה של חנות אישורי הזהות ייתמכו. מפתחים יכולים לבדוק את אישור האבטחה של יישום חנות אישורי הזהות. הטמעות של חנות אישורי זהות יכולות להיות ללא אישור או להיות בעלות רמת אבטחת הערכה של 4 או יותר. ה-EAL מספר למפתחי אפליקציות עד כמה היישום מאובטח מפני התקפות פוטנציאליות.
כפי שציינתי קודם, גוגל מתכוונת להשתמש ב-API זה עבור כל סוג מסמך סטנדרטי, אם כי הם מציגים רשיונות נהיגה ניידים ISO 18013 כדוגמה. סוג המסמך הכרחי כדי שחומרת האבטחה תדע באיזה סוג אישור מדובר במקרה יש לתמוך במצב גישה ישירה, וכדי לאפשר לאפליקציות לדעת איזה סוג מסמך הוא קורא מבקש.
זה כל המידע שיש לנו עד כה על ה-API החדש הזה. מכיוון שאנחנו כל כך קרובים לשחרור התצוגה המקדימה הראשונה למפתחים של Android Q, אני לא חושב שסביר שנראה תמיכה באחסון מאובטח של רישיונות נהיגה לנייד ב-Android Q. עם זאת, ה-API הזה עשוי להיות מוכן עד שה-Android R ייפתח בשנת 2020. Google Pixel 2, Google Pixel 3 ו-Google Pixel 4 הקרוב אמורים לתמוך ב-API זה עם מצב גישה ישירה ב-Android R, הודות ל-CPU המאובטח הדרוש. נודיע לך אם נלמד מידע נוסף על מה ש-Google מתכוונת לעשות עם ממשק API זה.
עדכון 1: פרטים נוספים על ה-API של IdentityCredential
שון ווילדן, המחבר של ההתחייבות של IdentityCredential API, שיתף פרטים נוספים על ה-API בקטעי ההערות. הוא ענה על כמה הערות של משתמשים, אותן נשחזר להלן:
המשתמש Munnimi אמר:
"וכשהמשטרה לוקחת את הטלפון שלך והולכת לניידת המשטרה, היא יכולה לבדוק מה יש בטלפון".
מר ווילדן השיב:
"זה משהו שאני עובד במיוחד כדי להפוך אותו לבלתי אפשרי. הכוונה היא לבנות את הזרימה כך שהשוטר לא יוכל לקחת את הטלפון שלך בצורה מועילה. הרעיון הוא שאתה עושה את הקשה על NFC עם הטלפון של השוטר, ואז פותח את הנעילה עם טביעת אצבע/סיסמה, ואז הטלפון שלך עובר למצב נעילה בזמן שהנתונים מועברים דרך Bluetooth/Wifi. מצב נעילה פירושו שאימות טביעת אצבע לא יבטל את הנעילה, נדרשת סיסמה. זאת במיוחד כדי לכפות את ההגנה על התיקון החמישי מפני הפללה עצמית, אשר כמה בתי משפט מצאו שלא למנוע מהמשטרה להכריח אותך לפתוח את הנעילה באמצעות ביומטריה, אבל כולם מסכימים שמונעת מהם לאלץ אותך לתת את הסיסמה שלך (לפחות ב ארצות הברית).
שימו לב שזו שאיפה, לא התחייבות. הדרכים שבהן נוכל לכפות את הזרימה על מפתחי אפליקציות זהות מוגבלות, כי אם נלך רחוק מדי הם יכולים פשוט בחר לא להשתמש בממשקי ה-API שלנו. אבל מה שאנחנו יכולים לעשות זה להקל עליהם לעשות את הדבר הנכון, הרגיש לפרטיות, דָבָר."
המשתמש RobboW אמר:
"זה חסר תועלת באוסטרליה. אנו נדרשים להחזיק את רישיון הנהיגה הפיזי והרשמי שלנו איתנו בזמן הנהיגה. עותק דיגיטלי רק בשל לגניבת זהות".
מר ווילדן השיב:
"אוסטרליה משתתפת פעילה בוועדת ISO 18013-5, ומתעניינת מאוד בתמיכה ברישיונות נהיגה ניידים. באשר לגניבת זהות, יש הרבה הגנות מפני גניבת זהות. המאמר מזכיר כמה מהם".
משתמש solitarios.lupus ציין:
"בהתחשב במה שהאתר הזה עושה, אני חושב שכולם כאן יודעים שזה לא יעבוד וזה נושא אבטחה ענק עבור רשויות אכיפת החוק. לזייף, לזייף ולתמרן בקלות".
מר ווילדן השיב:
"זיוף מוחלט יהיה כמעט בלתי אפשרי, מכיוון שהנתונים כולם חתומים דיגיטלית. זיוף אישור ידרוש זיוף החתימה הדיגיטלית, אשר דורש שבירה רדיקלית של הרלוונטי קריפטוגרפיה (שתפר את ה-TLS וכמעט כל דבר אחר) או גניבת החתימה של הרשות המנפיקה מפתחות. שינוי אפילו, על ידי לקיחת רכיבי נתונים חתומים מ-DL אחד (למשל תאריך לידה שמראה שאתה מעל גיל 21) וחלק מאחר (למשל, התמונה האמיתית שלך) יהיה בלתי אפשרי, מכיוון שהחתימה מכסה את כל המסמך, ומחברת את כל המרכיבים יחד."
סימן משתמש צוין:
"אם צילום מעולם לא היה תקף לתעודת זהות, למה השיחות בטלפון משנה? גם אם גוגל מבטיחה לעשות את זה מאובטח, איך זה מונע ממישהו להופיע אפליקציה מזויפת?
ובכל זאת, גם אם אין לכך תשובות, אני עדיין חושב שזה דבר טוב מהסיבות המובאות במאמר זה. אני רוצה את זה לדרכונים - לא לנסיעות בהכרח, אלא לאירועים אחרים שבהם יש צורך בתעודת זהות (אני לא נוהג, אז הדרכון שלי הוא התעודה היחידה שלי).
כמובן, גם אני אעדיף אם בריטניה לא תהפוך לחברת "ניירות בבקשה", שבה אתה צריך לסרוק דרכון אפילו רק כדי ללכת לפאב במקרים מסוימים..."
מר ווילדן השיב:
"חתימות דיגיטליות יהפכו את זה לאבטח. אתה יכול לקבל אפליקציה מזויפת, אבל היא לא יכולה לייצר נתונים חתומים כהלכה.
דרכונים הם גם מאוד בהיקף עבור העבודה הזו, BTW. רישיונות נהיגה הם נקודת המוצא, אך הפרוטוקולים והתשתית מתוכננים בקפידה כדי לתמוך במגוון רחב של אישורי זהות, במיוחד כולל דרכונים. כמובן, נצטרך לשכנע את ICAO לאמץ את הגישה, אבל אני חושב שזה מאוד סביר".
תודה למפתח מוכר XDA luca020400 על הטיפ!