תיעוד / 08
ראו כיצד הראיות פועלות
הודעה עשויה להשתנות. התיעוד של מה שצפית בו צריך להישאר ניתן לאימות.
התנסו בשני ניסויים קטנים המוצגים להלן. הם משתמשים בהודעות פיקטיביות, פועלים בתוך הדפדפן שלכם ואינם מתחברים ל-Telegram בשום שלב.
הודעה אחת, שלוש תובנות
כאשר Telegram מעבירה הודעה חדשה, הודעת עריכה או הודעת מחיקה, האפליקציה האוספת מוסיפה שלוש הערות נפרדות. העריכה אינה מחליפה את הרישום הראשון. הודעת מחיקה אינה מוחקת אותו.
ההודעה נעלמה מתצוגת הצ'אט.
- 01✓
message.newנפגש בשעה 10:00
- 02✓
message.editedנפגש בשעה 11:00
- 03✓
message.deletedהודעת מחיקה עבור #42
כל שלושת התצפיות שהתקבלו נשמרות ביומן.
הודעת מחיקה אינה מספקת לא את זמן המחיקה האמין ולא את זהות האדם שמחק את ההודעה. השמירת ערכים אלה כבלתי ידועים שומרת על ההבחנה בין תצפית לניחוש.
שנה רשומה. עקוב אחר ה-hash.
כל רשומה מכילה את ה-hash של הרשומה הקודמת. ה-hash שלה מכסה את שדות האירוע, כולל קישור זה. נקודת ביקורת הנשמרת באופן חיצוני קובעת אורך יומן ספציפי ו-hash ראשי.
h₁ = SHA-256(e₁)קישורים ל-64 אפסיםh₂ = SHA-256(e₂)כולל h₁h₃ = SHA-256(e₃)כולל h₂h₃השוו את הגבול הקבוע הזה ליומן שסופק.שינוי אירוע משנה את ה-hash שלו. בנייה מחדש של השרשרת משנה את הראש שלה. הסרת הזנב מקצרת אותה כך שתהיה קצרה יותר מנקודת הבדיקה שנשמרה.
בדקו את הרשומה 2 ואת ההאשים המלאים
זהו ה-JSON המדויק ב-UTF-8 שעבר תהליך hashing בדוגמה זו. הערכים הם פיקטיביים; תשעת השדות והסידור תואמים לפורמט היומן.
- הרשומה השמורה 2 hash
- חישוב מחדש של ה-hash של הרשומה 2
הכללים עצמם, בכמה שורות
hi = hex(SHA-256(C(ei)))
σi = Ed25519.Sign(sk, unhex(hi))
C ממיר את תשעת שדות האירוע לפורמט JSON ב-UTF-8: מפתחות ממוינים, ללא רווחים מיותרים, ללא בריחה מ-ASCII וללא NaN/אינסוף. ה-previous_hash של האירוע הוא hi−1. ה-h0 המוצג פירושו 64 תווי אפס; החתימות מכסות את 32 בתים הגולמיים של התמצית.
תשעת השדות הם seq, observed_at, source_at, kind, chat_id, message_id, actor_id, payload ו-previous_hash. זוהי קידוד ה-JSON המתועד של TgWitness; ההאש והחתימה עצמם אינם שדות קלט להאש.
hexport[Ncheckpoint] = Hcheckpoint
אמתו את חתימת נקודת הבדיקה תחת מפתח האספן המוצמד, ולאחר מכן השוו את גבולותיה ליומן המאומת. ייצוא מאוחר יותר עשוי להכיל רשומות נוספות; הוא עדיין חייב להתאים לנקודת הבדיקה המוקדמת יותר.
שלוש שאלות, שלוש בדיקות שונות
אמת את ה-hash והחתימות מול מפתח מהימן נפרד.
02 / המשכיותמה נשמר קודם לכן?השוו ייצוא חתום לנקודות ביקורת שנשמרו על ידי עד נפרד.
03 / מסירההאם אירועי הבדיקה הללו התקבלו?התאמת פעולות שליחה, עריכה ומחיקה מבוקרות מול יומן כל חשבון.
שרשרת האש התואמת מספקת מענה לשאלת תקינות הנתונים. היא אינה מאשרת מסירה מלאה של ההודעה ב-Telegram, את אמיתות ההודעה או את זמן התצפית המהימן באופן עצמאי.
עקבו אחר חקירת החשבון במלואו, החל מהשגתו ועד להרכבת תיק החקירה.