יצור מפתח האיתחול- מפתח האיתחול הינו למעשה מפתח קשר אשר משתמשים בו באופן זמני רק
למהלך האיתחול לפני שמפתח קשר אמיתי יכול להיווצר.מפתח זה נגזר
מאלגוריתם E22
. הוא משתמש בכתובת ההתקן BD_ADDR
, של יחידת התובע, מפתח מזהה אישי PIN,
אורך מפתח זה PIN- 'L
, ומספר רנדומלי IN_RAND הנוצר ע"י המאמת.
תרשים מספר 1- ייצור
מפתח איתחול על ידי אלגוריתם E22:
פרוצדורה זו מבטיחה כי
מפתח האיתחול תלוי בזהות היחידה המנסה להתקשר. הPIN
צריך להכניס על
כל התקן ומפתח האיתחול מיוצר מקומית בכל התקן. יחידת שן כחולה אשר
אין לה הרשאה יכולה לנסות מספר רב של PINS
בכל פעם עם BD_ADDR
שונים. באחריותה של האפליקציה לדאוג לאיום זה.במידה וכתובת התקן
נשארת קבועה, זמן ההמתנה עד לניסיון הבא גדל אקספונציאלית.
אימות- תרשים מספר 2 – אוטנטיקציה
בעזרת שימוש באלגוריתם E1:
ייצור מפתח יחידה-
לכל
יחידה ישנו מפתח יחידה. מפתח זה מיוצר כאשר ההתקן מופעל בפעם
הראשונה ומאוחסן בזיכרון הלא מתנדף כאשר מפתח זה נשמר לכל אורך
חייו של ההתקן. לייצור מפתח היחידה בעל 128 ביטים, אלגוריתם E2 משתמש במספר רנדומלי RAND
וכתובת ההתקן BD_ADDR.
תרשים מספר 3 - ייצור מפתח יחידה:
כעת ניתן להשתמש במפתח היחידה על מנת לייצר את מפתח הקשר. ישנם
שתי דרכים לעשות זאת, במידה ולאחת מהיחידות יש מקום
זיכרון מוגבל אז מפתח היחידה של אותה יחידה מוצפן עם מפתח האיתחול
ומשמש כמפתח הקשר.
תרשים מספר 4 – ייצור מפתח
הקשר אשר נגזר מיחידה אחת בלבד:
במקרה השני כאשר
שני ההתקנים יכולים לתמוך, מפתח צירופי התלוי בשני מפתחות היחידה
של ההתקנים המעורבים ניתן לשימוש. בפרוצדורה זו שני ההתקנים
מייצרים מספר אקראי, הם משתמשים באלגוריתם E21
כדי לייצר מפתח בעל 128 ביטים באופן עצמאי. שני המספרים הרנדומלים
שיוצרו מוצפנים עם מפתח האיתחול וכך מוחלפים בין שני ההתקנים
בצורה בטוחה. ההתקן יכול לדעת את המספר הרנדומלי שההתקן השני משתמש
בייצור המפתח מהמספר הרנדומלי אשר מתקבל מההתקן הרחוק ומידע על
כתובת היחידה הרחוקה .
ייצור מפתח ההצפנה
מפתח ההצפנה נגזר
מאלגוריתם E3
, ממפתח הקשר, COF (Ciphering OFset
number) בעל
96 ביטים ומספר רנדומלי EN_RAND
בעל 128 ביטים.
ה COF
נקבע באחת משני דרכים :
אם מפתח הקשר העדכני
זה מפתח המאסטר אז ה COF
נגזר למעשה ממפתח BD_ADDR
. אחרת משנים את הCOF
לערך A CO
(Authenticated Ciphering Offset) אשר מחושב במהלך
תהליך האימות, (ה ACO
חושב בשימוש אלגוריתם E1
כפי שמתואר בתרשים 2).
תרשים מספר 5- ייצור מפתח הצפנה:
מפתח ההצפנה אינו משמש
ישירות על מנת לפענח נתונים. על ידי אלגוריתם E0
מייצרים מפתח הצפנה נוסף
עבור כל "חבילה", מפתח הצפנה זה משתנה עבור כל "חבילה" שמגיעה. אלגוריתם E0
משתמש בשעון המידע של השולח על מנת לייצר את
מפתח ההצפנה החדש ובכך ניתן להשיג תקשורת
מאובטחת.
תרשים
מספר 6- קידוד נתונים:
יש לציין כי מפתח
היחידה יכול להשתנות בנסיבות מסויימות אך בעקבות כך דרוש גם
איתחול מחדש של מפתחות הקשר שקודם לכן אוחסנו בהתקנים, מצב זה
יכול להיות במקרה שקבוצת המשתמשים שיש להם הרשאה לגישה משתנה.