→ חזרה לבלוג

למה הצפנה חשובה

כל הודעה שאתה שולח דרך האינטרנט עוברת דרך תשתית שאינך שולט בה. נתבים, ספקי אינטרנט, מרכזי נתונים, צמתי CDN — כל אחד מהם יכול לבדוק, להעתיק, או לרשום מה שעובר דרכו. הצפנה מקצה לקצה היא קו ההגנה הבסיסי נגד זה, המבטיח שרק השולח והמקבל יכולים לקרוא הודעה. אבל הצפנה בלבד אינה מספיקה.

מסנג'רים מרכזיים יכולים להצפין את תוכן ההודעה שלך ועדיין לאסוף עם מי אתה מדבר, מתי אתה מדבר, באיזו תדירות, ומאיפה. מטא-דאטה זו מציירת תמונה מפורטת של חייך — לפעמים חושפנית יותר מההודעות עצמן. מערכת פרטית באמת חייבת להתמודד גם עם התוכן וגם עם ההקשר.

Backspace תוכנן מהיסוד לפתור את שתי הבעיות בו-זמנית.

זהות Ed25519

כשאתה מפעיל את Backspace בפעם הראשונה, זוג מפתחות קריפטוגרפי נוצר מקומית על המכשיר שלך באמצעות אלגוריתם העקומה האליפטית Ed25519. אין טופס הרשמה. אין מספר טלפון. אין אימייל. אין רשות מרכזית שמנפיקה או מאשרת זהויות.

הזהות שלך היא המפתח שלך. המפתח הציבורי שלך משמש ככתובת ברשת, והמפתח הפרטי שלך מוכיח שאתה מי שאתה טוען שאתה. כל הודעה שאתה שולח חתומה עם המפתח הפרטי שלך, ומאפשרת לנמענים לאמת אותנטיות ללא צורך באמון במתווך כלשהו.

פרט טכני

Ed25519 מייצר מפתחות של 256 סיביות עם אבטחה של 128 סיביות. הוא דטרמיניסטי, חסין מפני מתקפות ערוץ צד תזמוני, ומייצר חתימות קומפקטיות של 64 בייטים. אותו אלגוריתם מאבטח את SSH, WireGuard ורשת Tor.

מכיוון שמפתחות נוצרים מקומית באמצעות אקראיות מאובטחת קריפטוגרפית, אף שני משתמשים לעולם לא יתנגשו. אין מסד נתונים של זהויות לפרוץ — כי מסד נתונים כזה לא קיים.

אלגוריתם: Ed25519 (Curve25519)
גודל מפתח: 256 סיביות
חתימה: 64 בייטים
יצירה: מקומית, בצד הלקוח בלבד

הצפנת הודעות AES-256-GCM

כל הודעה מוצפנת לפני שהיא עוזבת את המכשיר שלך. Backspace משתמש ב-AES-256-GCM — אותו תקן הצפנה מאומתת שבו משתמשות ממשלות ומוסדות פיננסיים להגנה על נתונים מסווגים ורגישים.

GCM (מצב גלואה/ספירה) מספק שתי תכונות קריטיות בפעולה אחת:

ייחודיות Nonce

כל הודעה משתמשת ב-nonce ייחודי של 96 סיביות (מספר שנעשה בו שימוש פעם אחת). זה מבטיח שאפילו הודעות זהות בטקסט גלוי מייצרות טקסט מוצפן שונה לחלוטין. שימוש חוזר ב-nonce הוא פגיעות קריטית ב-GCM — Backspace מייצר nonces באמצעות crypto.randomBytes() כדי להבטיח ייחודיות בהסתברות מוחלטת.

צופן: AES-256-GCM
גודל מפתח: 256 סיביות
Nonce: 96 סיביות, אקראי לכל הודעה
תג אימות: תג GCM של 128 סיביות
נקודת הצפנה: בצד הלקוח, לפני השידור

היתרון של P2P

רוב אפליקציות הצ'אט המסורתיות מנתבות כל הודעה דרך שרת מרכזי. גם עם הצפנה מקצה לקצה, השרת הזה רואה את המטא-דאטה: מי שלח, מי קיבל, חותמת הזמן, כתובות ה-IP המעורבות, גודל ההודעה. מפעיל השרת יכול להיות מחויב למסור את זה, או שניתן לגנוב אותו בפריצה.

Backspace משתמש בארכיטקטורת עמית-לעמית הבנויה על Hyperswarm. הודעות עוברות ישירות בין עמיתים או דרך צמתי ממסר שמעבירים בלובים מוצפנים ללא כל יכולת לפענח אותם. אין שרת מרכזי שצובר תעבורה. אין נקודה יחידה לזמן לבית משפט, לפרוץ או ללחוץ עליה.

צמתי ממסר

צמתי ממסר ברשת Backspace הם מעבירים עיוורים. הם רואים מטענים מוצפנים ואסימוני ניתוב — לעולם לא טקסט גלוי, לעולם לא זהות שולח, לעולם לא תוכן הודעה. הם קיימים כדי לעזור לעמיתים למצוא זה את זה מעבר ל-NATs ו-firewalls, לא יותר.

ארכיטקטורה זו אומרת שאין "מפתח ראשי" שפותח את כל השיחות. אין מסד נתונים של הודעות היושב על שרת תאגידי. הרשת היא המשתמשים, וכשהם מתנתקים, הנתונים שלהם הולכים איתם.

עיצוב אפס מטא-דאטה

פרטיות היא לא רק הצפנת תוכן. מטא-דאטה — הנתונים על הנתונים שלך — יכולים להיות חושפניים באותה מידה. עם מי אתה מדבר ממפה את הגרף החברתי שלך. מתי אתה מדבר חושף את השגרה שלך. מאיפה אתה מתחבר עוקב אחרי התנועות שלך.

Backspace תוכנן לייצר כמה שפחות מטא-דאטה:

התוצאה: גם אם כל צומת ממסר ברשת היה נפרץ בו-זמנית, תוקף לא היה מקבל שום דבר שימושי. אין מה לאסוף.

TTL של 7 ימים

Backspace אוכף זמן חיים של 7 ימים על כל ההודעות כעניין של עיצוב. הודעות לא מאורכבות לצמיתות. הן קיימות במשך שבעה ימים ואז הן נעלמות — באמת נעלמות, לא "מסומנות כמחוקות" בזמן שהן יושבות בגיבוי איפשהו.

למה 7 ימים?

שבעה ימים זה מספיק ארוך כדי לשמור על רציפות השיחה ולאפשר למשתמשים לא מקוונים להתעדכן, אבל מספיק קצר כדי שמעקב היסטורי יהיה בלתי אפשרי. אין יומני צ'אט שמשתרעים על פני חודשים או שנים. אי אפשר לכרות את העבר בדיעבד.

זוהי בחירה ארכיטקטונית מכוונת, לא כפתור תכונה. אי אפשר לבטל את זה. המערכת אוכפת חולפות כי רשומות קבועות הן חבות — למשתמשים, למפעילים, לכולם.

הוכחת זמן פעילות

Backspace משתמש במנגנון קונצנזוס של הוכחת זמן פעילות (Proof of Uptime) עבור מערכת הטבעת השמות שלו. במקום לדרוש בזבוז חישובי (הוכחת עבודה) או נעילת הון (הוכחת החזקה), משתמשים מרוויחים את הזכות להטביע שם קריא לאדם על ידי תרומת זמן פעילות לרשת.

הפעל צומת, הישאר מחובר, העבר הודעות עבור אחרים — והרשת מתגמלת אותך עם היכולת לדרוש שם זהות קבוע. זה מיישר תמריצים: ככל שאתה נותן יותר לרשת, כך הרשת נותנת בחזרה יותר.

מנגנון: הוכחת זמן פעילות
תגמול: זכויות הטבעת שמות
דרישה: תרומה מתמשכת לרשת
אימות: הוכחות זמן פעילות מאומתות על ידי עמיתים

הזהות שלך נרכשת, לא נקנית. היא לא יכולה להיות מבוטלת על ידי רשות מרכזית כי רשות מרכזית לא קיימת.

קוד פתוח

כל טענה בדף זה ניתנת לאימות עצמאי. Backspace הוא קוד פתוח לחלוטין. מימוש ההצפנה, שכבת הרשת, לוגיקת הממסר, יצירת המפתחות — הכל מפורסם וניתן לביקורת.

אמון במערכת פרטיות חייב להיות מאומת, לא מונח. מסנג'רים בקוד סגור מבקשים ממך לקחת את המילה שלהם. Backspace מבקש ממך לקרוא את הקוד.

אמת בעצמך

קוד המקור המלא זמין ב-GitHub. סקור את מימוש הקריפטוגרפיה, בדוק את מחסנית הרשת, בחן את לוגיקת הממסר. אם אתה מוצא בעיה, פתח Pull Request. אבטחה היא מאמץ קהילתי.


מוכנים לשוחח בפרטיות?

ללא חשבונות. ללא מעקב. ללא מטא-דאטה. רק הודעות מוצפנות, עמית-לעמית שנעלמות כעניין של עיצוב.