בטיחות קישורים עם סיסמה — מה קורה כשלוחצים
אתה יכול להוסיף סיסמה לקישור הקצר שלך. אנחנו מראים מה קורה מתחת לפני השטח — בלי להיכנס לטרמינולוגיה מסובכת — ולמה בכלל כדאי לעשות זאת.
חצי מהמדריכים על קישורים עם סיסמה מתחילים במשפט שהם "שכבת אבטחה נוספת". וזה נגמר בזה. לדעתי, זה בדיוק הדבר הכי פחות חשוב שאפשר לומר על זה.
כי "שכבת אבטחה" לא מסבירה כלום. היא לא אומרת לך מה קורה עם הסיסמה הזו, מי רואה אותה, או מתי בכלל יש לה משמעות. ואלו השאלות היחידות שכדאי לשאול את עצמך לפני שאתה לוחץ על "הוסף סיסמה".
אז אחד אחד.
הסיסמה בקישור היא לא אותה דבר כמו המנעול בשער
אנשים מדמיינים שסיסמה נועלת קישור בצורה מוחלטת. זה לא המצב. האבטחה של קישורים עם סיסמה פועלת יותר כמו כרטיס להופעה: למי שיש כרטיס, הוא נכנס. מי שיתן אותו למישהו אחר, גם הוא יכניס מישהו.
זה נשמע כמו פגם. זה לא. פשוט צריך לדעת למה המנגנון הזה נועד.
שלושה מצבים שבהם זה באמת עוזר:
מחירון עבור לקוחות פרימיום או מסמך בגרסת בטא, לפני שהוא יוצא לעולם. ללא סיסמה, קישור כזה ינחת במוקדם או במאוחר בגוגל או יעבור מיד ליד.
תוכן עם תוקף. הצעה לימים שישי בלבד. חומר מכנס אך ורק למשתתפים. הסיסמה הופכת את הקישור לכניסה מבוקרת — אתה יודע שמישהו קיבל אותה ממך, ולא מצא אותה במקרה.
דבר נוסף שאתה מפרסם באופן ציבורי לחלוטין, אך רוצה להישאר מעודכן. הקישור יכול להסתובב. ללא סיסמה ממילא אף אחד לא ייכנס.
ועכשיו זה, מה שהמדריך הזה לא היה אמור להשמיט
אתה מקליד סיסמה בטופס. באותו רגע היא נעלמת. מילולית. העובדה שהגדרת "tajne123", מפסיקה להתקיים בצורה קריאה, לפני שתספיק לשחרר את הכפתור.
מה נשאר במסד הנתונים? לא הסיסמה. טביעת האצבע שאחריה. באופן מקצועי: hash. רצף תווים שמתאים לסיסמה שלך רק כאשר מישהו מקליד בדיוק את אותו הדבר כמוך. הוא אינו חושף דבר מעצמו.
אומר זאת בגלוי, כי זה חשוב: אני, מנהל השירות, לא יכול לקרוא את הסיסמה שלך. לא בגלל שאני מנומס. אלא בגלל שפיזית אין מה לקרוא. אם מישהו היה פורץ למסד הנתונים, היה לוקח עמו ערימה של טביעות האצבעות הללו וזהו.
האלגוריתם שמחשב זאת איטי בכוונה. אני יודע ש"איטי" נשמע כמו תלונה, אבל זה יתרון. המטרה היא שמי שגנב את בסיס הנתונים יצטרך להקדיש זמן אבסורדי כדי לנחש סיסמה אחת. מדובר בשנים, לא בשניות.
לחיצה מהצד השני
מישהו מקבל את הקישור שלך ולוחץ. במקום להגיע ישר ליעד, הוא רואה מסך: "הקישור הזה מוגן בסיסמה", שדה להזנה, כפתור.
מקליד. השרת משווה את מה שהוקלד לטביעת האצבע השמורה. זה תואם? מקבל אסימון (token) של סשן שתקף ליום אחד. ב-24 השעות הבאות הוא חוזר לקישור בלי להקליד שום דבר. הוא לא צריך לזכור, הוא לא צריך להתאמץ.
לא תואם? שגיאה. חמש טעויות מאותה כתובת IP והכניסה נחסמת לחמש דקות. בוט שמנסה להקיש סיסמאות ברצף ייתקל בקיר.
מה פשוט לא נמצא כאן
אנחנו לא שומרים סיסמאות כטקסט גלוי. בשום מקום. אפילו לא בלוגים, שאליהם אני נכנס בזמן חיפוש שגיאות.
אנחנו לא שולחים סיסמאות באימייל. מה שאומר שאם מישהו ישכח את הסיסמה, אני לא אשלח לו אותה, כי אני לא יודע אותה. אתה חייב לשלוח אותן בעצמך, באותו ערוץ כמו בפעם הקודמת.
ואנחנו לא מעבירים סיסמאות החוצה. שום אנליטיקה, שום שיווק, שום AB לא נוגע בנתונים הללו. (זה בדיוק כלל שחל על כל cutty.dev, לא רק כאן.)
שני הרגלים שעושים את ההבדל
ראשון: אל תמציא סיסמה בראש. שם החברה פלוס שנת ההקמה זה מתנה לכל מי שמכיר אותך. מחולל בדפדפן יפיק משהו טוב יותר בשנייה.
השני, החשוב יותר: אל תשלח את הסיסמה באותו ערוץ שבו שלחת את הקישור. הקישור נשלח במייל? את הסיסמה שלח ב-SMS. או להיפך. המשמעות היא שפריצה של תיבת דואר אחת לא נותנת לאף אחד את החבילה המלאה.
פרט קטן שמעטים יודעים: אתם יכולים ליצור כמה קישורים שמובילים לאותו כתובת, אך עם סיסמאות שונות. אתם נותנים גישה לחמישה אנשים, לכל אחד קישור נפרד. מישהו צריך להיפרד? אתם חוסמים את הקישור שלו, והשאר אפילו לא ישימו לב.
ניתן לשנות את הסיסמה ללא צורך ביצירת קישור חדש. פאנל, "ערוך", סיסמה חדשה. שים לב: כל הסשנים הפעילים של 24 השעות קורסים באופן מיידי. כל אחד חייב להזין את הסיסמה מחדש.
גבול שכדאי לדעת עליו מראש
נחזור לכסבור להופעה. הסיסמה מגינה מפני מנועי חיפוש ומפני אורחים מקריים. היא אינה מגינה מפני מישהו שמכיר את הסיסמה והחליט לחלוק אותה עם העולם.
אם התסריט שלך נשמע כמו "זה נועד בדיוק עבור האדם הזה ולא אף אחד אחר", אז סיסמה לא תספיק. כאן אתה צריך חשבונות, התחברות והרשאה. ליגה אחרת, בעיה אחרת.
אבל יד למעלה, כמה פעמים באמת יש לך תרחיש כזה? מניסיוני, לעיתים רחוקות. ברוב המוחלט של המקרים מדובר פשוט ב"אני לא רוצה שמישהו מהרחוב יגיע לכאן". והמשפט הזה מספיק בהחלט.
אם ברצונך לראות איך זה נראה מבפנים — בעת יצירת קישור הרחב את "אפשרויות מתקדמות" וסמן את "הוסף סיסמה". השאר קורה מעצמו.