אחרי שהקשבתי לפרק בפודקסט Security now (פודקסט שווה במיוחד לכל מי שמתעניין באבטחת מחשבים), שדיבר על Yubkey, הזמנתי לי אחד מYubico, החברה החדשה שמייצרת אותם.
Yubikey, להלן יוביקי, הוא מתקן USB קטן שדומה לכרטיס זכרון (רק קצת יותר קטן), שמסוגל לייצר סיסמאות חד פעמיות בעזרתם ניתן לאמת את הזהות של מחזיק היוביקי.
הסיסמאות הן חד פעמיות, כך שגם אם מישהו מצותת לתעבורת הרשת שלכם או מתקין keylogger ומצליח לגנוב את הסיסמא, הוא לא יוכל לעשות איתה שום דבר כי היא טובה לפעם אחת בלבד.
את הסיסמא החד פעמית - One time password, להלן OTP (סחפ??) אפשר לאמת מול שרת של יוביקו (שלא צריך לדעת עליכם שום דבר), או בצורה מקומית בסעזרת API פתוח קוד שיוביקו מספקים (מאוכסן בגוגל קוד).
יוביקו מספקים גם שרת openid, שיאפשר לכם להזדהות באמצעות היוביקי שלכם מול כל שרות שתומך בopenid. מכיוון שאני מפעיל בעצמי את שרות הopenid שלי, אני מתכנן לשפצר לתוכו תמיכה ביוביקי.
מה שיפהפה ביוביקי הוא שהוא לא דורש אף תוכנה בצד הלקוח. איך קסם כזה יתכן, אתם שואלים?
פשוט מאוד, היוביקי מתפקד כמקלדת USB עם כפתור אחד. ברגע שאתם לוחצים על הכפתור, הוא משפריץ את הסיסמא החד פעמית (ששונה כמובן מלחיצה ללחיצה) לתוך שדה הטקסט שנמצא כרגע בפוקוס (אם יש כזה).
הסיסמא מורכבת מרצף אותיות אקראי למראה של 44 אותיות (!), כאשר 12 האותיות הראשונות לא משתנה ומהוות את המזהה אל היוביקי שלכם (מספר סידורי).
הנה כמה דוגמאות של סיסמאות שהיוביקי שלי הפיק:
fjjbrkcettnteinribhrhfbhktifvirfrevvcveubekd
fjjbrkcettntntjvkgtelfuilrddhujdrjlnnvkbkivv
אפשר לראות שהמזהה שלי הוא fjjbrkcettnt, שהוא כמובן לא סוד גדול (ולמרות זאת אפשר לנחש שהמזהה שלי הוא לא בדיוק זה
)
היוביקי מחזיק מפתח סודי בתוכו, שמאפשר לו להצפין את המידע בתוך הסיסמא. הצד המוודא מפענח את הסיסמא ובודק שהתוכן שלה הגיוני (ושזו לא סיסמא שהוא כבר ראה בעבר סיסמא חדשה ממנה).
אני עדיין מנסה להבין איך להשתמש בAPI שיוביקו מספקים, זה לא אמור להיות מסובך אבל חסר לי פרט או שניים.
הצעצוע הנחמד הזה, שעוד יהיה לי שימושי בקרוב - עולה 35$ (עד עשר יחידות, מעבר לזה המחיר מתחיל לרדת).
ככה הוא נראה:
וכה הוא נראה בתוך תקע USB, ליד DOK סטנדרטי של סאן-דיסק.
רסיסים (RSS)
June 14th, 2008 ב21:47
תודה
תמיד אתה מביא את זה
ה PHUN שפירסמת היה גאוני
ןכל שאר הדברים
וגם כאן
הכתיבה שלך ברורה ופשוטה
אתה רוצה לשתף אותי/נו בדברים שקרו לך ואתה עושה זאת בצורה ברורה.
אז תודה. שוב
יוסי
June 14th, 2008 ב21:48
נשמע כמו רעיון חביב פלוס, אבל נראה שברירי למדי.
June 14th, 2008 ב21:52
יוסי, בבקשה.
אור, כרעיון זה מבריק, ולמען האמת הוא יכול לעשות מהפכה בתחום האותנטיקציה.
מבחינת שבריריות, לא הייתי אומר: אני כנראה אצליח לשבור אותו אם אני אנסה, אבל מצד שני - משאית יכולה לעבור עליו ולא יקרה לו כלום.
בנוסף הוא גם חסין למים.
בקיצור, הרבה יותר עמיד מרוב הגדג’טים.
June 23rd, 2008 ב21:13
מודה שהייתי קצת סקפטי בהתחלה מבחינת אבטחה, אך נראה מתוכנן היטב.
http://www.yubico.com/files/YubiKey_Security_Review.pdf
June 23rd, 2008 ב22:05
עומר, תודה על הלינק.
כשכתבתי את הפוסט, חשדתי שהיוביקי לא לגמרי עמיד למתקפת איש-באמצע, והמסמך הזה מאשר שהוא לא עמיד להתקפת איש באמצע בזמן אמת (התוקף לוכד את המפתח, מעכב את משלוח הפקטים לשרת האימות, ושולח את הפקטים במקום הלקוח).
מצד שני, התקפה כזו קשה מאוד לביצוע, ואפשר לעקוף אותו באמצעים מקובלים של העברת הסיסמא החד פעמית מוצפנת בSSL, במקום בטקסט קריא.