מהי הצפנה מקצה לקצה
כשאתם שולחים הודעה ב־KolChat, המכשיר שלכם נועל אותה עוד לפני שהיא יוצאת ממנו. רק במכשירים של המשתתפים באותה שיחה נמצאים המפתחות שפותחים וקוראים את ההודעה. השרתים שלנו מעבירים את הנתונים הנעולים הלאה בלי להחזיק במפתח.
הצפנה מקצה לקצה פועלת כברירת מחדל בשיחות פרטיות, בשיחות קבוצתיות, בהודעות קוליות, בתמונות, בקבצים ובשיחות רגילות. נניח שנועה שולחת מ־iPhone בכפר סבא חוזה בקובץ PDF לאיתי בחיפה. לא KolHive ולא אף גורם אחר ברשת יכולים לקרוא את ההודעה שלה או לפתוח את הקובץ.
פרסומים בערוצים ציבוריים פועלים אחרת. מאחר שכל אחד יכול לקרוא ערוץ ציבורי, הפרסומים האלה נשמרים בשרת שלנו ואינם מוצפנים מקצה לקצה.
מה השרתים שלנו רואים ומה הם לעולם לא רואים
כדי להעביר הודעות ולהפעיל קבוצות, השרתים שלנו זקוקים למידע ניתוב. אין להם גישה לתוכן של השיחות או ההודעות המוצפנות שלכם.
| מה השרת שלנו רואה | מה השרת שלנו לעולם לא רואה |
|---|---|
| מי מדבר עם מי ומתי | טקסט של הודעות |
| שמות של קבוצות, תמונות קבוצה ורשימות חברים | תמונות, קבצים והודעות קוליות |
| כתובות IP של מכשירים | שמע ווידאו של שיחות ותמלולי פגישות |
| טקסט מוצפן במעבר | מפתחות ההצפנה או שאילתות החיפוש שלכם |
איך בנויה ההצפנה
ההצפנה ב־KolChat מבוססת על תכנון פרוטוקול Signal. היא משתמשת ב־X3DH ליצירת סשן, במנגנון Double Ratchet עבור כל הודעה, וב־Sender Keys עבור שיחות קבוצתיות. כתבנו את המימוש הזה ישירות מהמפרטים הפומביים בשפת Dart טהורה, ולא באמצעות ספריית libsignal.
הקריפטוגרפיה מבוססת על רכיבים סטנדרטיים: X25519, Ed25519, HKDF-SHA256, HMAC-SHA256, AES-256-GCM ו־SHA-256/512. לכל אחד מהמכשירים שלכם יש מפתחות משלו, ומפתח החשבון חותם על התעודה של כל מכשיר.
כשאתם מצרפים תמונה או מסמך, המכשיר מצפין את הקובץ במקטעים באמצעות AES-256-GCM לפני ההעלאה. כל קובץ מקבל מפתח אקראי משלו שהשרת שלנו לעולם לא מחזיק, והעותקים המוצפנים בשרת הממסר נמחקים אחרי 30 יום. לגבי קבצים שנשמרים מחוץ לצ'אט, קראו על איך KolHive מגינה על הקבצים שלכם.
על המכשיר שלכם, השיחות נשמרות במסד נתונים מוצפן נפרד לכל חשבון, שבו כל שורה נעולה ב־AES-256-GCM. המפתח נשמר ברכיב האחסון המאובטח של מערכת ההפעלה, ובדפדפן במפתח Web Crypto שאינו ניתן לחילוץ. חיפוש בהודעות, גם לפי מילת מפתח וגם לפי משמעות, רץ רק על המכשיר שלכם לאחר הורדה חד־פעמית של מודל המשמעות. שום אינדקס חיפוש, וקטור או שאילתה לא מגיעים לשרתים שלנו.
אימות אנשי קשר ומכשירים
כשאתם מוסיפים טלפון או מחשב חדש, אתם מאשרים אותו ממכשיר שכבר מחובר לחשבון שלכם. מקלידים את הקוד שמופיע במכשיר החדש כדי לאשר שהוא שייך לכם. השלבים המלאים מופיעים במדריך בנושא העברת KolChat לטלפון חדש.
אפשר גם לוודא שאף גורם לא נמצא בתווך ביניכם לבין איש קשר על ידי השוואת מספרי אבטחה. לדוגמה, דנה בירושלים ויוסי בבאר שבע יכולים להקריא זה לזו את מספרי האבטחה שלהם במהלך שיחה. אם המספרים תואמים, אף אחד לא נמצא בתווך.
אם איש קשר מתקין מחדש את האפליקציה או מחליף טלפון, מופיעה בשיחה הודעה על כך שקוד האבטחה השתנה. אם אימתתם בעבר את מספר האבטחה של אותו איש קשר, KolChat חוסמת שליחת הודעות אליו עד שתאשרו את הקוד החדש.
איך שיחות וקישורים לפגישות נשארים פרטיים
שיחות קוליות, שיחות וידאו ושיתוף מסך מהמחשב מוצפנים מקצה לקצה. בטלפון אפשר גם לחזור לאנשי קשר ישירות מרשימת השיחות האחרונות של המכשיר.
שיחות עוברות ישירות בין המכשירים כשהרשת מאפשרת זאת. כשחיבור ישיר אינו אפשרי, שרת ממסר מעביר את זרם המדיה המוצפן בלי יכולת לפתוח אותו. מכיוון שהמדיה מוצפנת מקצה לקצה, אין חיוג טלפוני לפגישה ואין הקלטה או ערבול שמע בשרת.
כשאתם יוצרים קישור לפגישה, מפתח ההצפנה נמצא אחרי הסימן # בסוף הכתובת. דפדפנים לעולם לא שולחים לשרת את החלק שמופיע אחרי הסימן #, גם כשאורחים מצטרפים מהדפדפן. מארחים יכולים להפעיל חדר המתנה, לנעול את הפגישה, להוסיף סיסמה, להסיר משתתפים או להעביר את הניהול למארח שותף.
איך פועלים כלי ה־AI והדיווחים על שיחות
השימוש ב־AI ב־KolChat הוא לבחירתכם, ואתם בוחרים איזה מודל AI יענה. רק ההודעות שסימנתם נשלחות לאותו ספק, תשובה אחת בכל פעם, ורק אחרי שלחצתם על כפתור השליחה. אם אתם מריצים מודל AI מקומי באמצעות Ollama או LM Studio, הכל נשאר על המכשיר שלכם; לפרטים נוספים קראו על בחירת מודל ה־AI שלכם.
מאחר ששיחות עם AI ב־KolChat מצטטות הודעות שמוצפנות מקצה לקצה, הן לא נשמרות בהיסטוריית ה־AI של החשבון שלכם בשרת שלנו. הן מסתנכרנות רק בין המכשירים שלכם בתוך ערוץ עצמי מוצפן מקצה לקצה, שבו אנחנו שומרים ומעבירים טקסט מוצפן בלבד. ב־KolChat אין פרסומות, ואנחנו לא משתמשים בהודעות שלכם לפרסום או לאימון מודלים של AI.
אם אתם מדווחים על שיחה פוגענית, המכשיר שלכם שולח אלינו את חמש ההודעות האחרונות באותה שיחה. אנחנו מקבלים את חמש ההודעות האלה רק ברגע שליחת הדיווח.
הודעות נעלמות ומחיקה אצל כולם
אפשר להגדיר טיימר להודעות נעלמות בכל שיחה בנפרד, או לקבוע ברירת מחדל לשיחות חדשות. האפשרויות הן כבוי, 24 שעות, 7 ימים או 90 יום. הגדרת הזמן עוברת בתוך ההודעה המוצפנת, וכל מכשיר מוחק את ההודעה לפי השעון שלו.
אפשר גם למחוק הודעה אצל כל המשתתפים בשיחה. פקודת המחיקה אצל כולם נשלחת כהודעה מוצפנת, והמכשירים המקבלים מבצעים אותה רק בחלון זמן של עד 60 שעות.
מגבלות
- מימוש ההצפנה טרם עבר מבדק אבטחה עצמאי.
- עדיין אין הגנת הצפנה פוסט־קוונטית.
- מטא־דאטה כמו מי מדבר עם מי, מתי מתקיימת השיחה, כתובות IP של מכשירים, וכן שמות, תמונות וחברי קבוצות גלויים לשרת שלנו.
- ההצפנה אינה יכולה למנוע מהצד השני בשיחה לשמור עותק או לצלם מסך של מה ששלחתם.
שאלות נפוצות
האם KolChat יכולה לקרוא את ההודעות שלי?
לא. הודעות פרטיות וקבוצתיות, הודעות קוליות, תמונות, קבצים ושיחות ננעלים במכשיר שלכם לפני שהם יוצאים ממנו, והשרת שלנו לעולם לא מחזיק במפתחות. הדברים היחידים שאנחנו יכולים לקרוא הם פרסומים בערוצים ציבוריים וחמש ההודעות האחרונות בשיחה שבחרתם לדווח עליה.
מה הקשר בין האבטחה של KolChat לזו של Signal?
KolChat בנויה לפי תכנון פרוטוקול Signal ומשתמשת ב־X3DH, Double Ratchet ו־Sender Keys יחד עם רכיבים קריפטוגרפיים סטנדרטיים. כתבנו את המימוש שלנו בשפת Dart טהורה מתוך המפרטים הפומביים, ולא באמצעות ספריית libsignal. ההצפנה שלנו טרם עברה מבדק אבטחה עצמאי ועדיין אינה כוללת הגנה פוסט־קוונטית.
האם שיחות קוליות ושיחות וידאו מוצפנות?
כן. שיחות קוליות, שיחות וידאו ושיתוף מסך מהמחשב מוצפנים מקצה לקצה כברירת מחדל. השיחות מתחברות ישירות בין המכשירים כשאפשר, או עוברות דרך שרת ממסר שאינו יכול לפתוח את המדיה המוצפנת.
מה קורה כשאני מדווח על שיחה?
דיווח על שיחה שולח מהמכשיר שלכם לצוות שלנו את חמש ההודעות האחרונות באותה שיחה כדי שנוכל לבדוק את הפנייה. שום תוכן לא נשלח אלא אם דיווחתם על השיחה, והודעות ישנות יותר באותה שיחה נשארות לא קריאות עבורנו.
בחינם ל־iPhone, ל־Android, ל־Mac, ל־Windows ול־Linux.
הורדת KolChat