נושא הסתרת שדות סיסמא עם כוכביות היה די רדום במשך לא מעט שנים. כולם התייחסו לזה כאל משהו מובן מאליו, ולא מרגש במיוחד. אבל לאחרונה הנושא התעורר לחיים, לא מעט בזכות נילסן שאמר פתאום "היי, זה בכלל לא עוזר אלא רק מזיק". ואז הממשקולוגים התחילו לחפש פתרונות חלופיים. דרך אחד הפוסטים של רן לירון הגעתי לעמוד עם כמה פתרונות אפשריים להצגת שדות סיסמא.
התיבה הראשונה בעמוד אמורה להציג את הפתרון המקובל היום – שדה סיסמא ושדה אימות סיסמא, שנועד לוודא כי המשתמש לא טעה בעת ההקלדה ה"עיוורת" בפעם הראשונה. אלא שכאן הצגת הפתרון מוסיפה לו בעיה שלא קיימת בדרך כלל, לפחות לא בטפסים מעוצבים כראוי. העניין הוא שבטפסים מעוצבים כראוי שדות ההזנה מיושרים אנכית, כך שהם נמצאים אחד ישירות מעל השני (גם כאן יש הרבה מקרים שונים, ולעיתים נדירות אפשר לוותר על זה, אבל בתור כלל אצבע זה עובד מעולה). בדרך כלל מקפידים על היישור בגלל עקרונות גשטאלט, אבל כשמדובר באימות של שדות סיסמא, היישור משחק תפקיד חשוב נוסף – הוא מאפשר לנו לדעת בהצצה אחת שאורכי הביטויים שהזנו הם זהים. ואילו בפתרון שמוצג כאן, יש ממש צורך לספור את התווים, ברגע שזה מעל ארבע.
הפתרון המוצע הראשון הוא לאפשר למשתמש להחליט האם הוא רוצה לחשוף את הסיסמא המוזנת. לדעתי במקרה כזה רוב המשתמשים באמת יעדיפו לחשוף את הסיסמא, ורק הפרנואידים הזהירים שביניהם ירצו להסתיר אותה. ולכן עדיף היה להציג את הסיסמא בגלוי כברירת מחדל, ולתת להם את האופציה להסתיר אותה במידת הנדרש, כלומר שהצ'קבוקס יהיה "הסתר תוים".
הפתרון השני מאפשר למשתמש לבדוק לאחר ההקלדה שהסיסמא שהזין היא נכונה. חשוב לציין שהכפתור כאן הוא "קפיצי" – התוים מוצגים כל עוד הוא לחוץ, ולאחר השחרור הם מוסתרים שוב. לדעתי זה עדיף על הפתרון הקודם, אבל הוא מסרבל קצת את התהליך – ההקלדה היא עדיין "עיוורת", והמשתמש צריך לעבור מהמקלדת אל העכבר ע"מ לבצע את הבדיקה (הוא יכול לעבור אל הכפתור גם באמצעות המקלדת, אבל אז במקרה של טעות הוא יצטרך לקפוץ בחזרה למעלה לפני שיוכל לתקן).
הפתרון השלישי הוא להקליד בגלוי, ולהסתיר את התוים אוטומטית ברגע היציאה מהשדה. זה פתרון לא רע ודי יעיל. כפי שנאמר בפוסט המקורי, החסרון העיקרי שלו יורגש ע"י משתמשים שנתקלים בו בפעם הראשונה, ואינם יודעים שהסיסמא תוסתר בסוף ההקלדה: הצגת הסיסמא עשויה להפחיד אותם. ולא רק בגלל שהם חוששים שמישהו מסתכל להם מעבר לכתף, אלא גם בגלל שזה מאוד לא סטנדרטי, והם עשויים לחשוב שהאתר פרוץ או חשוד.
פתרון נוסף שמוזכר באתר נמצא בשימוש באייפון ובטלפונים סלולריים רבים אחרים. מדובר בהצגת התו שהוקלד לשניה, ואז הסתרתו ע"י כוכבית. לדעתי זה פתרון טוב עבור טלפונים סלולריים מהדור הישן יותר, ללא מקלדת מלאה (וירטואלית או פיסית), כי בהם אחוז הטעויות היה גבוה הרבה יותר. כשיש מקלדת מלאה בה אתה מקליד במהירות, ובמיוחד כשמדובר בסיסמאות, שאנשים בד"כ מתורגלים מאוד בהקלדתן ומהירות הקלדתן גבוהה מהרגיל, אין הרבה טעם להציג את התו האחרון לשניה. אולי כדאי להציג את כל הסיסמא לשניה, אבל אז זה יסבול מאותה בעיה כמו פתרון מס' 3. אסייג ואומר שזה כן יכול לשרת היטב משתמשים מתחילים שמקלידים לאט.
גישה אחרת שעוררה הרבה דיונים בזמן האחרון היא chroma hash. המנגנון כאן מתרגם את השורה שהוקלדה לסדרת צבעים שלא ניתן לפענחה בחזרה אל הטקסט שהוזן (כך לפחות לדברי המפתח). לדעתי הדבר הטוב היחיד בפתרון הזה הוא המחשבה היצירתית. אבל אין בו באמת יתרונות: עדיין המשתמש מזין על עיוור, ועדיין הוא נאלץ להשתמש בשדה אימות. טענת המפתח היא שהפתרון שימושי כי הוא מאפשר לאמת מבלי לעשות "שלח" לטופס. מה אנחנו, בשנות התשעים? אם האתר יכול להשתמש בג'אווהסקריפט בשביל משחק הצבעים הזה, אז הוא בהחלט יכול לתת אימות סיסמא מבלי להגיש את הטופס. אבל כן מומלץ ללחוץ על הקישור ולשחק קצת עם הסיסמאות, זה די נחמד.
אגב, לא דובר כאן על עוד סוג של שדות סיסמא, שלוקח את עניין הטרדת המשתמש צעד אחד קדימה. ישנם אתרים שממש משקיעים באבטחת המידע, ולכן מספר הכוכביות שהם שמים בשדה הסיסמא אינו קשור למספר התוים בסיסמא האמיתית. יכול להיות שהזנתי חמישה תוים, אבל בשדה יהיו ארבע כוכביות, בשביל לבלבל את האויב. אני לא יודע מה מרגיש לגבי זה האויב, אבל לי זה גורם להקליד את הסיסמא פעמיים-שלוש בכל שדה ליתר ביטחון. ואז אני גם עושה את זה לאט ובזהירות, כדי לוודא שהזנתי הכל נכון, ולדעתי האויב דווקא די מעריך את זה.





