טכנולוגיות
MeldID לאחר העדכון: המאגר המוגן הפך לכלי יומיומי
הגרסה החדשה של MeldID מפנה לא את העיקרון של TOTP עצמו, אלא את כל מה שמסביב לקודים חד-פעמיים: חיפוש מקומי, הערות מוצפנות, תגים, ייבוא של קודי QR מתמונות, הסתרה והעתקה של קודים, שחזור רשומות שנמחקו וסינכרון שינויים בין מכשירים. תוך שמירה על עקרון הארכיטקטורה Zero Vault.
במאמר הקודם ניתחתי את MeldID כמערכת שחורגת מהעיקרון של חשבון אחד בלבד. יישומי מובייל ל-iPhone ול-Android המאחדים אימות TOTP, עבודה מלאה ללא אינטרנט, שחזור נתונים מוגנים במכשיר חדש ואישור כניסה לשירותים מחוברים.
העדכון החדש מעניין כבר מסיבה אחרת. כמעט אין ניסיון להוסיף מנגנון כניסה חדש ומרשים. המרכז הוא העבודה היומיומית עם המאגר המוגן.
כשיש למשתמש שניים או שלושה רישומים, די ברשימה רגילה. אך עם הזמן מתווספות מייל עבודה, חשבונות אישיים, לוחות בקרה, שירותי ענן, מערכות ארגוניות וסביבת בדיקות. בשלב זה הבעיה אינה בהפקת קוד בן שישה ספרות. מה שחשוב זה למצוא במהירות את הרשומה הדרושה, להבין את ייעודה, לא לבלבל בין החשבונות, לשנות נתונים באופן בטוח ולא לאבד אותם בעבודה עם מכשירים מרובים.
כאן MeldID מרחיב את הפונקציונליות שלו באופן בולט.
השינוי המרכזי — סדר בתוך המאגר המוגן
הייתי מגדיר את הגרסה החדשה כמעבר מרשימת רישומי TOTP פשוטה לסביבת עבודה מתוחכמת יותר וניהולית.
זה לא אומר שהיישום הפך למסובך יותר. להפך: הפונקציות החדשות סוגרות מצבים שבעבר דרשו פתרון ידני. המשתמש לא צריך יותר לזכור איפה נמצאת הרשומה, לשמור תיאור של החשבון בראש או לעבור מחדש את תהליך ההוספה לאחר המחיקה בטעות.
הפרטים החשובים הם שהפונקציות האלה קשורות זו בזו. חיפוש משולב עם הערות, תגים שמסייעים לסינון, יבוא מקוד QR מלווה באיזכור וויזואלי של הרשומה החדשה, וגם מחיקה ושחזור המסונכרנים בין כל המכשירים של אותו חשבון.
החיפוש נשאר מקומי
ב-MeldID הוצגו חיפוש מקומי לפי שם השירות, שם החשבון ותוכן ההערות. פעולה פשוטה, אך זו התחלה של חיסכון בזמן כשמספר הרשומות גדל.
נניח שיש כמה חשבונות של אותו שירות: חשבון אישי, עבודה, מנהלי. במקום להסתכל על כל הרשימה, די להקליד חלק משם השירות או כתובת אימייל. אם לרשומה נלוו הערות, החיפוש יכול להשתמש גם בתוכן שלהן.
והחיפוש אינו ניגש לסוד ה-TOTP עצמו. הסוד לא מוצג בשדה חיפוש ואינו משמש כמזהה הרשומה. המשתמש מחפש הקשר מובן — שם השירות, החשבון או ההערה — ולא נתונים קריפטוגרפיים.
השאילתה לא נשלחת לשרת. היישום מחפש בתוך המאגר המוגן הפתוח במכשיר אצל המשתמש.
הערות ותגים מקנים הקשר לרשומות
שם השירות לבד אינו תמיד מספיק כדי להבין לאיזו מטרה משמשת הרשומה. לכן ניתן כעת להוסיף הערות מוצפנות לרשימות TOTP.
בהערה ניתן לציין לאיזה סביבה העסקית שייך החשבון, באיזה מחלקה הוא משמש, או איזה סוג כניסה נעשה. ההערה נשמרת יחד עם הרשומה המאובטחת בתוך ה-Vault, ולא כמידע פתוח וגלוי על השרת.
להוספת תגים הוצגו תגים מרובים משמעותיים. ניתן להקצות לרשומה מספר תגים — למשל, "עבודה", "קריטי", "אירופה" או "בניסוי". התגים מוקלדים בטקסט רגיל: ניתן להוסיפם בלחיצה על Enter או בפסיק, ואז הם מוצגים כאלמנטים קומפקטיים.
המערכת מציעה תגים קיימים ומאחדת תגים זהים בהתעלם מרישום אותיות. כלומר, "עבודה", "עובדה" ו"עבודה" לא הופכים לקטגוריות נפרדות.
יש גם סינון מקומי מיוחד לתגים. אם המבנה משתנה, אפשר לשנות את שם התג או למחוק אותו באופן גלובלי בלחיצה על Long Press. אין צורך לעבור על כל הרשומות ולתקן את אותו תג עשרות פעמים.
הFavorites הוצא לתג מיוחד עם סמל כוכב, שמודגש באדום ומאפשר לשמור במהירות רק רשומות חשובות.
בפועל זה משנה את המאגר מרקובד של קודים למערכת שאפשר לסדר לפי העדפות משלך.
אפשר עדיין להשתמש בקוד המוסווה
נוסף ליישום אפשרות להסתיר ולהציג את קודי ה-TOTP. מצב הבחירה נשמר במכשיר, לכן לאחר הפעלה מחדש לא נדרש להגדיר אותו מחדש.
זה אמצעי visualהגנה: הקוד לא מופיע כל הזמן על המסך אם זה אינו דרוש. אך ההסתרה אינה אוסרת על העבודה עם הרשומה.
הקוד ניתן להעתיק ללוח — גם במצב מוסתר וגם במצב גלוי. זו לוגיקה חשובה: אדם שיכול להסתיר את המספרים על המסך עדיין צריך לבצע העברת קוד בזמן הכניסה.
משמע, יש הפרדה הגיונית בין מה שמראה המסך למה שהמשתמש בוחר באופן מודע לבצע.
קוד ה-QR לא חייב להיסרק מחדש כל פעם
בתהליך הקודם, בעת הוספת רישום TOTP, המשתמש הסתמך על מצלמה ומסך שני להקרנת הקוד המוטבע ב-QR. עכשיו MeldID יודע לייבא רישום TOTP מתמונה שנשמרה בגלריה או בתמונה שנבחרה.
זה שימושי במגוון סיטואציות. הקוד נותר בשלפעמים בתצלום מסך או בצילום שצולם בעת ההגדרה של השירות. לא תמיד נוח לחזור לכתובת המקורית ולתפוס אותו במצלמה שוב.
אפשר פשוט לבחור בתמונה המכילה את הקוד, והיישום יזהה אותה ויצור את הרשומה המאובטחת.
לאחר הוספה, הרישומים החדשים מוקפים במסגרת לזמן מה. זה חשוב במיוחד במעבר מרובה חשבונות – המשתמש רואה מיד אילו פריטים הוספו רק עכשיו, ואינו מאבד אותם בין הקיימים.
מחיקה מאפשרת כעת לשקול שוב
אחד החידושים הפרקטיים הוא המחיקה עם אפשרות לשחזור במסגרת זמן מוגדרת מראש.
הרשומה המחוקה לא נעלמת מיד סופית, והיא ניתנת לשחזור בפרק זמן מוגדר. לשם כך יש אישור נפרד. גישה זו מגינה מפני מחיקות שגויות או בטעות של חשבון שונה.
וגם קיימת הגנה חשובה נוספת: במהלך תקופת השחזור אסור להוסיף את אותו ה-Secret מחדש כחדשה כדי שלא יווצר כפול.
דמיינו מצב רגיל: המשתמש מחק חשבון, ואז החליט בטעות לשחזר אותו מחדש על ידי סריקת אותו QR. ללא בדיקה, יתכן ומערכת תיצור שני רישומים עם אותו הסוד. MeldID נמנע מכך ומאפשר לשחזר את הנתונים באופן תקין.
השחזור איננו רק שינויים מקומיים במכשיר אחד, אלא גם עדכון הסטטוס של ה-Vault המוגן עצמו, והיא מסונכרן עם מצב השרת.
חשבון אחד — מאגר תואם
עבודה עם מספר מכשירים הייתה רעיון מרכזי במערכת MeldID. העדכון החדש מיישם את זה עוד יותר בבהירות.
מחיקה, שחזור, עריכת הערות, תגים ושינויים אחרים ב-Vault מסונכרנים בין מכשירי החשבון. אם משתמש עובד עם iPhone ו-Android או מחבר טלפון שני, ההיסטוריה מתאמת לסטטוס מאושרת אחיד.
אם פעולה בוצעה במכשיר אחד, מנגנון הסינכרון לא יאפשר לשכפל נתונים מיושנים במכשיר אחר או למחוק שדרוג אחר. שופרו גם מנגנוני הטעויות במקרים של עבודה מרובת מכשירים.
כך או אחרת, חשבונות שונים של MeldID במכשיר אחד נשארים נפרדים. הנתונים של חשבון אחד לא משתלבים עם של אחר, והעדכונים חלים רק על המאגר המוגן המתאים.
הפרדה בין תרחישי Offline ו-Online נשמרת. הפקת קוד TOTP לרשומות קודמות אינה תלויה באינטרנט, והרשומות החדשות מוכנות באופן מקומי. שינויים שצריכים להיות משותפים לכול מכשיר מסונכרנים עם חיבור ה-internet מחדש.
Zero Vault נשאר היסוד
ב-MeldID שומר עקרון Zero Vault. השרת עובד עם מצב מוצפן חסר שקיפות של המאגר המאובטח וכל המידע הטכני הדרוש לניהול גרסאות וסינכרון.
קוד TOTP, הערות, תגים ושמות שירותים לא מועברים בגרסה גלויה לשרת. הם אינם הופכים לטבלה שניתן לבחינה או חיפוש בשרת.
תוכן ה-Vault מתרומעזומת הצפנה מקומית באפליקציה במכשיר מהימן. לכן חיפוש ההערות ופעולות התגים נעשות מקומית: אין צורך שהשרת יקרא את התוכן כדי לאמת גרסה חדשה של המאגרים ולסנכרן אותם בין מכשירים.
הפונקציות החדשות שומרות על עיקרון זה ולא מפשרות בין נוחות לשמירת פרטיות. להפך: מעתה בולט יותר שהמאגר המוגן יכול להיות נוח מבלי להפוך לקובץ שרת פתוח.
פרטים קטנים שמשפיעים על האמון
העדכון שיפר גם את התרגומים, כתבני-נגישות (accessibility) וההצגה הוויזואלית של רכיבי הממשק.
זה אולי נראה פרטי משני לעומת יבוא קוד QR או שחזור הרשומה, אך כשהמאגר מוצנע ומופיע באוסף, מצב מועדף ומצב לאישור שחזור נפרדים, סימנים פשוטים כבר לא מספיקים.
תיאורים מובנים חשובים לכל המשתמשים, ובכלי נגישות כמו VoiceOver ו-TalkBack — במיוחד. תרגומים מעודכנים ומצב ויזואלי ברור משפרים את הבנת תרחישי השימוש במגוון שפות ופלטפורמות.
המסר שלי
לאחר עיון בעדכון אני מתאר את MeldID כבר לא ככלי ליצירת קוד TOTP בלבד. השינוי המרכזי אינו בפונקציה אחת אלא במערכת הכוללת: חיפוש מקומי משתלב עם הערות ותגים, ה Favorites עוזר לבדל במהירות את החשובים, יבוא מקוד QR נעשה בקלות יותר בעזרת עבודה עם תמונות, הרשומות האחרונות מצוינות על המסך, ואפשרות השחזור מצמצמת סיכון למחיקה בטעות.
במקביל, הסינכרון מקשר שינויים בין מכשירים, ו-Zero Vault שומר על מודל אחסון מוגן המבוסס על הצפנה מקומית.
כתוצאה, MeldID מתרחק בהדרגה מיישום פשוט של אימות TOTP לחזרה לסביבת עבודה מוגנת ומנוהלת. הקודים עדיין נוצרים ומגיעים ללא אינטרנט, אבל כל הסביבת העבודה סביבם הופכת ליותר מובנת וניתנת לחיזוי.
לתעוד על הפרויקט: MedlID.