נושא הסתרת שדות סיסמא עם כוכביות היה די רדום במשך לא מעט שנים. כולם התייחסו לזה כאל משהו מובן מאליו, ולא מרגש במיוחד. אבל לאחרונה הנושא התעורר לחיים, לא מעט בזכות נילסן שאמר פתאום "היי, זה בכלל לא עוזר אלא רק מזיק". ואז הממשקולוגים התחילו לחפש פתרונות חלופיים. דרך אחד הפוסטים של רן לירון הגעתי לעמוד עם כמה פתרונות אפשריים להצגת שדות סיסמא.
התיבה הראשונה בעמוד אמורה להציג את הפתרון המקובל היום – שדה סיסמא ושדה אימות סיסמא, שנועד לוודא כי המשתמש לא טעה בעת ההקלדה ה"עיוורת" בפעם הראשונה. אלא שכאן הצגת הפתרון מוסיפה לו בעיה שלא קיימת בדרך כלל, לפחות לא בטפסים מעוצבים כראוי. העניין הוא שבטפסים מעוצבים כראוי שדות ההזנה מיושרים אנכית, כך שהם נמצאים אחד ישירות מעל השני (גם כאן יש הרבה מקרים שונים, ולעיתים נדירות אפשר לוותר על זה, אבל בתור כלל אצבע זה עובד מעולה). בדרך כלל מקפידים על היישור בגלל עקרונות גשטאלט, אבל כשמדובר באימות של שדות סיסמא, היישור משחק תפקיד חשוב נוסף – הוא מאפשר לנו לדעת בהצצה אחת שאורכי הביטויים שהזנו הם זהים. ואילו בפתרון שמוצג כאן, יש ממש צורך לספור את התווים, ברגע שזה מעל ארבע.
הפתרון המוצע הראשון הוא לאפשר למשתמש להחליט האם הוא רוצה לחשוף את הסיסמא המוזנת. לדעתי במקרה כזה רוב המשתמשים באמת יעדיפו לחשוף את הסיסמא, ורק הפרנואידים הזהירים שביניהם ירצו להסתיר אותה. ולכן עדיף היה להציג את הסיסמא בגלוי כברירת מחדל, ולתת להם את האופציה להסתיר אותה במידת הנדרש, כלומר שהצ'קבוקס יהיה "הסתר תוים".
הפתרון השני מאפשר למשתמש לבדוק לאחר ההקלדה שהסיסמא שהזין היא נכונה. חשוב לציין שהכפתור כאן הוא "קפיצי" – התוים מוצגים כל עוד הוא לחוץ, ולאחר השחרור הם מוסתרים שוב. לדעתי זה עדיף על הפתרון הקודם, אבל הוא מסרבל קצת את התהליך – ההקלדה היא עדיין "עיוורת", והמשתמש צריך לעבור מהמקלדת אל העכבר ע"מ לבצע את הבדיקה (הוא יכול לעבור אל הכפתור גם באמצעות המקלדת, אבל אז במקרה של טעות הוא יצטרך לקפוץ בחזרה למעלה לפני שיוכל לתקן).
הפתרון השלישי הוא להקליד בגלוי, ולהסתיר את התוים אוטומטית ברגע היציאה מהשדה. זה פתרון לא רע ודי יעיל. כפי שנאמר בפוסט המקורי, החסרון העיקרי שלו יורגש ע"י משתמשים שנתקלים בו בפעם הראשונה, ואינם יודעים שהסיסמא תוסתר בסוף ההקלדה: הצגת הסיסמא עשויה להפחיד אותם. ולא רק בגלל שהם חוששים שמישהו מסתכל להם מעבר לכתף, אלא גם בגלל שזה מאוד לא סטנדרטי, והם עשויים לחשוב שהאתר פרוץ או חשוד.
פתרון נוסף שמוזכר באתר נמצא בשימוש באייפון ובטלפונים סלולריים רבים אחרים. מדובר בהצגת התו שהוקלד לשניה, ואז הסתרתו ע"י כוכבית. לדעתי זה פתרון טוב עבור טלפונים סלולריים מהדור הישן יותר, ללא מקלדת מלאה (וירטואלית או פיסית), כי בהם אחוז הטעויות היה גבוה הרבה יותר. כשיש מקלדת מלאה בה אתה מקליד במהירות, ובמיוחד כשמדובר בסיסמאות, שאנשים בד"כ מתורגלים מאוד בהקלדתן ומהירות הקלדתן גבוהה מהרגיל, אין הרבה טעם להציג את התו האחרון לשניה. אולי כדאי להציג את כל הסיסמא לשניה, אבל אז זה יסבול מאותה בעיה כמו פתרון מס' 3. אסייג ואומר שזה כן יכול לשרת היטב משתמשים מתחילים שמקלידים לאט.
גישה אחרת שעוררה הרבה דיונים בזמן האחרון היא chroma hash. המנגנון כאן מתרגם את השורה שהוקלדה לסדרת צבעים שלא ניתן לפענחה בחזרה אל הטקסט שהוזן (כך לפחות לדברי המפתח). לדעתי הדבר הטוב היחיד בפתרון הזה הוא המחשבה היצירתית. אבל אין בו באמת יתרונות: עדיין המשתמש מזין על עיוור, ועדיין הוא נאלץ להשתמש בשדה אימות. טענת המפתח היא שהפתרון שימושי כי הוא מאפשר לאמת מבלי לעשות "שלח" לטופס. מה אנחנו, בשנות התשעים? אם האתר יכול להשתמש בג'אווהסקריפט בשביל משחק הצבעים הזה, אז הוא בהחלט יכול לתת אימות סיסמא מבלי להגיש את הטופס. אבל כן מומלץ ללחוץ על הקישור ולשחק קצת עם הסיסמאות, זה די נחמד.
אגב, לא דובר כאן על עוד סוג של שדות סיסמא, שלוקח את עניין הטרדת המשתמש צעד אחד קדימה. ישנם אתרים שממש משקיעים באבטחת המידע, ולכן מספר הכוכביות שהם שמים בשדה הסיסמא אינו קשור למספר התוים בסיסמא האמיתית. יכול להיות שהזנתי חמישה תוים, אבל בשדה יהיו ארבע כוכביות, בשביל לבלבל את האויב. אני לא יודע מה מרגיש לגבי זה האויב, אבל לי זה גורם להקליד את הסיסמא פעמיים-שלוש בכל שדה ליתר ביטחון. ואז אני גם עושה את זה לאט ובזהירות, כדי לוודא שהזנתי הכל נכון, ולדעתי האויב דווקא די מעריך את זה.
הי ויטלי.
הנושא נסקר לאחרונה מנקודת מבט טכנית גם באתר A List Apart המצוין –
http://www.alistapart.com/articles/the-problem-with-passwords/
[…] כפי שניתן לקרוא באחת המצגות של הגורו הגדול של עיצוב טפסים, לוק ורובלווסקי (באנגלית), או אצל ברק דנין (בעברית), מה שקורה זה ככה: אם מיישרים את התוויות לפי האות הראשונה, זה מרחיק את התוויות הקצרות יותר מהשדות שלהן, מה שגורם להאטה בעיבוד הטופס ע"י המשתמש (הקשר הויזואלי בין התווית לשדה נחלש). אם מיישרים את התוויות לפי האות האחרונה, זה מאיץ את מילוי הטופס, אך מקשה על הסריקה – בכל שורה חדשה המשתמש נאלץ לחפש את תחילת המילה, במקום שכולן יתחילו באותה נקודה. זה גורם לכך שלוקח לנו יותר זמן לאתר תווית מסוימת. אם שמים את התווית מעל השדה, זה פותר את שתי הבעיות הנ"ל, אבל מוסיף לגובה הטופס, וגם עשוי לפגוע במבנה הטופס (זה לא מאפשר לנו ליצור בלוקים של שדות בעלי רוחב זהה, מה שבתורו פוגע קצת בתפיסה כי זה נוגד את עקרונות הגשטאלט – כבר הזכרתי את זה בעבר). […]
[…] אבל החז"ל אמרו כי אין רע בלי טוב, והחז"ל ידעו על מה הם מדברים. הקונסטרוקציה הזאת מספקת פתרון אבטחת מידע מעולה למי שלא רוצה שיראו איך הוא חותם. זה קצת כמו המקבילה הפיזית להסתרת סיסמאות בכוכביות. […]