37
Partitioning Attacks: Or How to Rapidly Clone Some GSM Cards ררר- רררר רר2007 [email protected]

Partitioning Attacks: Or How to Rapidly Clone Some GSM Cards גלעד בן - אור 2007 [email protected]

  • View
    220

  • Download
    2

Embed Size (px)

Citation preview

Partitioning Attacks: Or How to Rapidly Clone Some GSM Cards

גלעד בן-אור

[email protected]

מהו כרטיס חכם

שימוש בכרטיס חכם לאותנטיקציה

Partitioning attack

אמצעי הגנה

ביקורת על המאמר

סיכום

מבוא לערוצי צד תקיפות מתמטיות

הזרקת שגיאות

COMP128אלגוריתם

עם כרטיס GSMאותנטיקציה חכם

כולל(2.5עבר-הווה )עד דור המפעילה רוצה לאמת שהמנוי שמדבר איתה הוא אכן המנוי

כפי שהוא הזדהה )פחד מגניבת שיחות(יש צורך בתיאום מפתחות הצפנה

3דור - UMTS המפעילה רוצה לאמת שהמנוי שמדבר איתה הוא אכן המנוי

כפי שהוא הזדהה )פחד מגניבת שיחות( המנוי רוצה לאמת שהמפעילה היא אכן המפעילה שהוא מכיר

)פחד מהכנסת מזיקים לטלפון( יש צורך בתיאום מפתחות הצפנה

comp128תקיפות מתמטיות – האלגוריתם ידוע – נמצא ע"י הנדסה לאחור מתייחסים אל האלגוריתם + המפתח כקופסה

שחורה מזריקיםINPUTS כרצוננו ועפ"י ה OUTPUTS

ביט(128 )מפתח של Kiמנסים לנתח מהו המפתח

comp128תקיפות מתמטיות – ניתוח והתמודדות

נמצא אלגוריתם שמחלץ את המפתחKi ע"י וקטורי כניסה )כרצוננו( 160,000הזרקת כ

:מה עשו חברות הסלולר הגבילו את כמות האימותים המותרים לכרטיס ל

אימותים32,000

אימות נעשה בכל פעם שמדליקים את הטלפון ולפחות פעם ביום שנה של אימותים – לא מהווה מגבלה50לכן, כרטיס מספיק בממוצע ל

בראי המאמרערוצי צד*

בתוך הכרטיס החכם נמצא מעבד פעולת המעבד היא דטרמיניסטית )בניגוד למערכות

מחשב עם מערכת הפעלה(ריצת המעבד מושפעת רק מהקלט שהזינו עבורוהמעבד משדר מידע ב"ערוצי צד" לא רצויים

ערוץ צד – זמן

ערוץ צד – הספק

ערוץ צד – קרינה אלקטרו מגנטית

ערוץ צד הספק

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

למדוד את הזרם הנצרך ולהסיק על ההספק בין מספר דגימות הספק של אותו קטע קוד + אותו

קלט קיימת קורלציה גבוהה

VccRSTCLK

RFU

VppI/O

GND

RFU

A ספקמיוצב

כרטיס דגימה

דוגמה לערוץ צד הספק

דוגמה לבדיקתPIN ניסיונות 3למשתמש

לפני שהכרטיס ננעל 8המעבד הוא מעבד

ביטמשווה סיפרה סיפרה

PINהכנס

1בדוק סיפרה

==

4בדוק סיפרה

==

הפחת ניסיוןאפשר גישה

דוגמה לערוץ צד הספקהמשך

ניתן לזהות את חלק ההשוואהעפ"י דגימות ההספק

ניתן לזהות האם ההשוואה 10הצליחה או לא )הזרקה של

דגימות 9הספרות האפשריות. יהיו זהות(

ניתן לנתק לכרטיס את המתחלפני שיגיע לפונקציה של

הפחתת ניסיוןהשיטה נקראת

Differential Power Analysis

PINהכנס

1בדוק סיפרה

==

4בדוק סיפרה

==

הפחת ניסיוןאפשר גישה

Differential Power Analysis

השוואת )חיסור(ההתנהגות של דגימות ההספקעבור קלטים שונים

הוצגה ע"יKocher בכנס 99 בשנת CHES עורר סערה בתחום כרטיסים חכמים ואילץ את

יצרניות הכרטיסים להתגונן מפני השיטה

הזרקת שגיאות

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

את סודות הכרטיסמה אפשר לעשות

למרות שKi אינו ניתן בקריאה, לשכנע את הכרטיס לאפשר לנו לקרוא אותו

בתים של 15לגרום לכרטיס לחשוב ש ki הם אפסים אפשרויות 256ורק בית אחד שונה מאפס. למנות על

*16

דרך המחקר

Kiקבוע וקטורי כניסה 1000נכניס Rand נמדוד את ערוץ הצד הספק עבור כל ריצה וריצה של

האלגוריתם נחפש קורלציות בין מדידות הספק שונות בחלקים

שונים של האלגוריתם לבין וקטורי הכניסה ננסה להסביר את הקורלציות במבנה האלגוריתם או

המימוש

דוגמה

X[i] =T0[(K[i]+2*R[i]) mod 512]X[i+16] =T0[(2*K[i]+R[i]) mod 512]

Byte1 כל הסיגנלים עם :R[0] :מתחלקים לשתי קטגוריות '155-255[, ] 0-26[קטגוריה א[ '27-154[קטגוריה ב [

Byte2 כל הסיגנלים עם :R[0] :מתחלקים לשתי קטגוריות '0-105[קטגוריה א [ '106-255[קטגוריה ב [

K+2*26<256

K+2*27>=256

K=? K=202 or 203

2*K+105<512 and 2*K+106>=512

K=203

8bits

8bits

K R

האלגוריתם:Partitioning Attack on

COMP128 מצאR[0]שמקיים

K[0] + 2R[0] (mod 512) < 256K[0] + 2(R[0]+1) (mod 512) >= 256

אפשרויות2קיימות רק מצאR’[0]שמקיים

2K[0] + R’[0] (mod 512) < 2562K[0] + R’[0] + 1 (mod 512) >= 256

אחד מהK[0]'שנמצא בשלב א' יתאים לשלב ב הבתים האחרים של המפתח יעשה 15חישוב

בצורה דומה

ביקורת על המאמר

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

ידוע(Kiדרוש כרטיס אימון עם אמצעי הגנה בכרטיסים חדשים

Random Delayמרעישי הספק

ביט32המעבד בכרטיסים חדשים הוא של האלגוריתם שונה לCOMP128-2, COMP128-3,

COMP128-4

אמצעי התגוננות

טבלאות הן אבן בניין חשוב ונפוץ במנגנוני צופן יש צורך להגן עליהן מפני ניתוח ערוצי וצד ותקיפות

מסוג הזרקת שגיאות קיימים אלגוריתמים שמדמים אי תלות בין הקלט

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

בשטח 2הספקים "שערים מיוחדים". עלות כמעט פי הסיליקון.

אמצעים פשוטים יותר אך יעילים של צרכני הספק רנדומלי.delayרנדומלים ו

סיכום

שימוש בערוץ צד הספקניצול טעויות מימוש של אלגורתים אימות מודרני גישות לכרטיס 8-32 ביט ב 128חילוץ מפתח של

בזמן זניח )שניות מספר(

קל להתגונן מפני השיטה )אחרי שמגלים את חורהאבטחה(

ציוד שאינו נגיש לכלhacker דרוש ידע מתמטי .וציוד מדידה רגיש ויקר

שעורי בית נמצא Kiמה היתרון )מבחינת אבטחת מידע( שהמפתח 1(

ולא במכשיר הסלולארי?SIMבכרטיס ה

. 0xa8 (K[0]=0xa8)ערך הבית אפס של המפתח הוא 2( partitioningהדגם כיצד היית מגלה ערך זה בעזרת

attack?

אפיין )דיאגראמת בלוקים( מערכת למדידת ערוץ צד 3(הספק להזרקת שגיאות.

משולב במחולל הספק אקראי random delayמדוע 4(מהווה פיתרון מסדר ראשון לבעיה?

[email protected]