שאלות נפוצות
שאלות ותשובות
קודם התשובות הקצרות, אחר כך הטכניות. אם השאלה שלכם לא מופיעה כאן, הדפים ״איך זה עובד״ ו״אבטחה״ מעמיקים יותר, ותמיד אפשר לשאול אותנו.
צריך חשבון?
לא. אין צורך להירשם ואין מה להתקין. פותחים את shhnote, כותבים את הסוד ומשתפים את הקישור. זה הכול.
מה קורה אם האדם הלא נכון רואה את הקישור?
סוד חד־פעמי יכול להיקרא רק על ידי מי שפותח אותו ראשון – אחרי זה הוא מושמד, ותדעו שמשהו קרא אותו כי הנמען המיועד לא ימצא כלום. לביטחון נוסף אפשר להוסיף סיסמה ולשתף אותה בנפרד, כך שהקישור לבדו לא מספיק. ואם שיניתם את דעתכם, אפשר להשמיד את הסוד בעצמכם בעזרת קישור ההשמדה הפרטי שלכם.
האם shhnote יכול לקרוא את הסוד שלי?
לא. המפתח שפותח אותו אף פעם לא מגיע אלינו – הוא נשאר בתוך הקישור, אצלכם. אנחנו מחזיקים רק גרסה מעורבלת שאין לנו שום דרך לפתוח.
מה קורה אם אף אחד לא פותח אותו?
אתם בוחרים זמן תפוגה – בין 15 דקות ל-14 ימים. כשהזמן נגמר, הסוד נמחק אוטומטית, בין אם נפתח ובין אם לא.
מה ההבדל בין סוד חד־פעמי לסוד מוגבל בזמן?
סוד חד־פעמי מושמד ברגע שהוא נפתח. סוד מוגבל בזמן אפשר לפתוח שוב עד שיפוג תוקפו – אבל הדף אף פעם לא מראה כמה זמן נשאר, לכן כדאי להתייחס לכל סוד כמשהו שצריך לשמור כבר בקריאה הראשונה.
מה זה קישור השמדה?
קישור שני ופרטי שמקבלים כשיוצרים סוד. פתיחתו מציגה בקשת אישור; האישור משמיד את הסוד מיד, לפני שמישהו יוכל לקרוא אותו. שמרו אותו לעצמכם.
אפשר לשלוח קבצים?
כן. קבצים מוצפנים בדפדפן שלכם בדיוק כמו טקסט, ונשלחים בתוך אותו גוש חתום. הכול מרופד לגדלים סטנדרטיים, כך שאפילו אנחנו לא יכולים להבדיל בין הערה קצרה לקובץ קטן.
זה עובד ב-Tor Browser או כש-JavaScript כבוי?
יצירה וחשיפה של סוד דורשות JavaScript, כי ההצפנה מתבצעת בדפדפן שלכם. זה עובד ב-Tor Browser ברמה "בטוח יותר"; ברמה "הבטוח ביותר" WebAssembly כבוי, ולכן אי אפשר לפתוח סודות מוגנים בסיסמה, והדף אומר זאת. כל שאר הדפים עובדים בלי JavaScript.
איך נאכפת ההבטחה החד־פעמית מול מצבי מרוץ (race conditions)?
החשיפה מריצה עדכון מותנה יחיד שמעביר את השורה ממצב "פעיל" למצב "נתבע". שתי בקשות בו־זמניות לא יכולות להצליח שתיהן; השנייה רואה רשומה שכבר נתבעה ומקבלת את אותה תשובת "לא נמצא סוד" כמו כל אחד אחר. התביעה אף פעם לא מבוטלת: אם ההורדה אבדה, מי שמחזיק באסימון התביעה מוריד שוב בתוך חלון הזמן, ואחרת הסוד מושמד בלי שנקרא.
למה ה-fragment של הכתובת ולא פרמטר שאילתה?
פרמטרי שאילתה נשלחים לשרת ונרשמים ביומני גישה, בשרתי פרוקסי ובכלי אנליטיקה. ה-fragment (אחרי #) מוגדר במפרט ה-URL כחלק שנשאר בצד הלקוח – הדפדפן אף פעם לא מכניס אותו לבקשת ה-HTTP. התכונה הזאת היא כל הבסיס של התכנון ללא ידיעה (zero-knowledge). אחרי החשיפה, הדף גם מסיר את ה-fragment משורת הכתובת ומההיסטוריה.
מה מונע מסורקי קישורים לשרוף סודות חד־פעמיים מוקדם מדי?
דף הצפייה הוא אותו מסמך סטטי לכל סוד, והוא לא טוען כלום בזמן הטעינה. הבקשה נשלחת רק בלחיצה או בהקשה אמיתית ומהימנה – click() מתוך סקריפט או שליחת טופס לא נחשבים. סורקים אוטומטיים (אבטחת אימייל, תצוגות מקדימות בצ׳אט, אנטי־וירוס) טוענים רק את המעטפת הסטטית הזאת.
אפשר לאמת את זה או לארח בעצמי?
כן. קוד המקור המלא פתוח לציבור ברישיון AGPLv3, הפרוטוקול מתועד במפרט עם וקטורי תאימות שכל מימוש יכול להיבדק מולם, ויש מדריך לאירוח עצמי. אפשר לבדוק את הקריפטוגרפיה בצד הלקוח ולהפעיל מופע משלכם, כך שגבול האמון יהיה כולו בידיים שלכם.
האם משהו נרשם לצורך מניעת שימוש לרעה?
איננו שומרים יומני גישה לכל סוד או היסטוריית IP. הגבלת הקצב משתמשת בגיבוב עם מפתח של הכתובת, עם salt שמתחלף ומאפס איתו כל מונה. דיווחים על שימוש לרעה נספרים לפי יום; אין תיעוד של איזה סוד דווח.
יש API?
כן – אותו API שהאתר הזה משתמש בו. התיעוד מתאר אותו, וחבילת הלקוח בקוד פתוח מממשת את הפרוטוקול עבור הכלים שלכם.
עדיין יש שאלות? קראו איך זה עובד, את פרטי האבטחה, או שאלו אותנו.
נסו את זה – זה לוקח עשר שניות
כתבו משהו סודי, קבלו קישור חד־פעמי, ותראו אותו נעלם.