
הטקסט המלא של הדקות הראשונות בהרצאה «איך עובד הדארקנט - Darknet חלק 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
מה קורה כשאני רוצה לפרסם אתר אינטרנט חדש בניתי איזשהו אתר במקרה שלי בניתי אותו בכלל על מודול של פייתון http.server port 81 במציאות הייתי יכול לעשות אותו בתוכנות אחרות כמו אפאצ'י כמו engine x כמו ה-IS של מייקרוסופט זה לא משנה כל עוד השרת מדבר בשפת http בפורט 81 ועונה לבקשות זה מה שאני צריך שהוא יאזין
בפורט מסוים וידבר שפת http עם הלקוחות ברגע שהקמתי את האתר הזה ואני רוצה לפרסם אותו ברשת של תור, אני צריך בקובץ שנקרא תור C, אני צריך בקובץ ההגדרות הזה להוריד הערה משתי שורות.
שורה איפה לרשום את הנתונים של הסרוויס ובאיזה פורט להזין כלפי חוץ ולאן להעביר את הבקשות כלפי פנים. זה הכל. ברגע שאני עושה את זה, הוא מפרסם לי את הסרוויס. אבל מה הוא עושה? מה הוא עושה מאחורי הקלעים כשאני מפרסם את השירות הזה?
סרוויס של תור בוחר מתוך 7,000 רילאים, מתוך 7,000 נתבים, שלושה, ומבקש מהם להיות אינטרודקשן פוינט. אינטרודקשן פוינט זה נקודת הפרסום כלפי חוץ. זאת אומרת שאם מישהו בעתיד ירצה לפנות לשרת שלי, הוא יוכל לדבר עם האינטרודקשן פוינט, והאינטרודקשן פוינט יעביר אליי בקשות.
כאילו זה הנציג שלי, ויש לי שלושה כאלו, וכדי שהנציג לא יסגיר אותי, אני מגיע אליו דרך שלוש קפיצות. זאת אומרת אני בוחר שלושה נתבים, עושה את כל הסיפור הזה של סירקט, זה אומר מצפין תקשורת מול אחד ובפנים שם הצפנה לשני, ובשני אני מצפין עם המפתח שרק השלישי יודע, הוא מעביר לשלישי, השלישי פותח אותו, את הפאקט, ורואה פתאום שמבקשים ממנו להיות אינטרודקשן פוינט,
הוא אומר וואלה אני מסכים אין לי בעיה ומחזיר את התשובה, זאת אומרת שהאינטרודקשן פוינט יודע שהוא מייצג מישהו אבל הוא לא יודע בדיוק איך להגיע אליו ישירות הוא שולח פאקט חזרה לשני והשני שולח לראשון והראשון מחזיר את זה אליי הראשון חושב שאני סתם גולש ברשת של תור השני חושב שאני סתם גולש ברשת של תור השלישי יודע שביקשת ממנו להיות הנציג שלי
אבל הוא לא יודע בדיוק איפה אני נמצא הוא יודע רק להעביר את הפאקט בחזרה לשני השני מעביר לראשון והראשון מעביר אליי בקיצור מתוך 7,000 ריליים אני בוחר שלושה לכל אחד מאלו אני בוחר עוד שתיים ואז אני עובר דרך שתיים ושלישי מגלה שהוא הנציג שלי.
זה השלב הראשון שבו אוניון סרוויס או הידן סרוויס קובע מי יהיו אינטרודקשן פוינט שלו, נקודות הייצוג שלו כלפי חוץ. בקיצור רק האינטרודקשן פוינט יודע להגיע לשרת המקורי וגם זה דרך קפיצות בדרך והקפיצות בדרך האלו לא יודעות מה קורה, הוא לא יכול להסגיר אותי בעצם.
ועכשיו נעבור לשלב השני, בשלב השני ה-Hidden Service או ה-Onion Service בשמו החדש, מפרסם את ה-Descriptor שלו, Descriptor זה קובץ טקסט שיש בתוכו רשימה של Introduction Points של שרתים שיודעים להגיע אליי, וגם ה-Public Key שלי יושב שמה בתוך ה-Descriptor הזה, זה נקרא Authentication Keys, ואני חותם על הרשימה הזאת עם ה-Private Key שלי.
בקיצור, אני הולך לפרסם את ה-Descriptor, קובץ שמתאר אותי, ואיך אני מתאר את עצמי? רשימה של introduction points שיודעים להגיע אליי וה-Public Key שלי.
וכדי שלא תזייפו את זה, זה חתום עם ה-Private Key שלי, כמו חתימה דיגיטלית רגילה. וה-Service Descriptor שלי עולה לטבלה המשותפת של כל הסרוויסים.
כדי שמישהו לא יאסוף מידע מהטבלה הזאת, הטבלה הזאת היא Distributed, מפוזרת בין הרבה ריליים, ואי אפשר סתם בצורה ישירה להגיד תביא לי את כל הטבלה אני רוצה לדעת את כל השירותים המוחבאים כדי לקבל את הסרוויס דיסקריפטור שלי את המידע עליי מתוך הטבלה הזאת צריך לדעת את הכתובת
המדויקת של האתר שלי אם אתה לא יודע את הכתובת המדויקת של האתר אתה לא תוכל לקבל את הדיסקריפטור זאת אומרת שגם הכתובת שלי זה דבר שהוא סודי כמובן שבזמן שאני מעלה את הסרוויס