การจัดเส้นทางแบบหัวหอม (อังกฤษ: onion routing) เป็นเทคนิคการสื่อสารแบบนิรนามผ่านเครือข่ายคอมพิวเตอร์ ในเครือข่ายหัวหอม ข้อความจะเข้ารหัสลับเป็นชั้น ๆ จึงอุปมาเหมือนกับชั้นหัวหอม ข้อมูลที่เข้ารหัสจะส่งผ่านโหนด/สถานีรีเลย์ในเครือข่ายที่เรียกว่า เราเตอร์หัวหอม (onion router) โดยแต่ละสถานีจะ "ปอก" ชั้นหนึ่งออกเพื่อเปิดเอาข้อมูลที่จะส่งต่อไป เมื่อชั้นสุดท้ายได้ถอดรหัสแล้ว ข้อความเดิมก็จะส่งไปยังระบบเป้าหมายจริง ๆ ผู้ส่งได้สภาวะนิรนามก็เพราะสถานีในระหว่าง ๆ จะรู้ที่อยู่/ตำแหน่งของโหนดก่อนหน้าและโหนดที่ส่งต่อไปเท่านั้น โดยไม่มีสถานีไหน ๆ ที่รู้ที่อยู่ของทั้งระบบต้นสายและระบบปลายทางทั้งสอง แม้ระบบปลายทางเองก็รู้เพียงแต่ที่อยู่ของสถานีสุดท้ายในเครือข่ายเท่านั้น แต่ก็มีวิธีที่สามารถทำลายสภาวะนิรนามของเทคนิคเช่นนี้ได้ เช่น การวิเคราะห์เวลา ถ้าสามารถดักฟังข้อมูลทั้งขาเข้าขาออกจากเครือข่ายได้
พัฒนาการและการทำให้เกิดผล
การจัดเส้นทางแบบหัวหอมได้พัฒนาขึ้นในกลางคริสต์ทศวรรษ 1990 ณ แล็บวิจัยกองทัพเรือสหรัฐโดยเจ้าหน้าที่คือ Paul Syverson, Michael G. Reed, และ David Goldschlag เพื่อป้องกันการสื่อสารราชการลับของสหรัฐออนไลน์ แล้วต่อมาจึงพัฒนายิ่งขึ้นโดยสำนักงานโปรเจ็กต์งานวิจัยก้าวหน้ากระทรวงกลาโหม (DARPA) แล้วจดสิทธิบัตรโดยกองทัพเรือในปี 1998
ต่อมาในปี 2002 นักวิทยาการคอมพิวเตอร์ รอเจอร์ ดิงเกิลไดน์ (Roger Dingledine) และนิก แม็ทธิวสัน (Nick Mathewson) จึงร่วมมือกับ Syverson เพื่อพัฒนาซอฟต์แวร์การจัดเส้นทางแบบหัวหอมในรูปแบบที่รู้จักกันดีที่สุด คือ ทอร์ (Tor) ซึ่งในเวลานั้นเรียกว่า The Onion Routing project หรือ TOR project (โปรเจ็กต์ทอร์) แล้วต่อมาในปี 2004 จึงได้ตีพิมพ์เอกสารการออกแบบของทอร์รุ่นสองในงานประชุม USENIX Security ครั้งที่ 13 ซึ่งกลายเป็นมูลฐานของการทำให้เกิดผลต่อมา
หลังจากที่แล็บวิจัยกองทัพเรือสหรัฐได้อนุญาตให้ใช้รหัสคำสั่งของทอร์ตามสัญญาเสรี ดิงเกิลไดน์ แม็ทธิวสัน และบุคลากรอื่น ๆ อีก 5 ท่านก็ได้จัดตั้งโปรเจ็กต์ทอร์เป็นองค์การไม่แสวงหาผลกำไรในปี 2006 โดยได้รับการสนับสนุนทางการเงินจากมูลนิธิชายแดนอิเล็กทรอนิก (EFF) และองค์กรอื่น ๆ
การดำเนินงาน
ให้สังเกตว่า การจัดเส้นทางแบบหัวหอมเป็นโพรโทคอลที่ดำเนินการและพัฒนาการขึ้นเรื่อย ๆ โดยโปรเจ็กต์ทอร์เป็นหลัก เนื่องจากไม่มีเอกสารที่รวมสรุปการทำให้เกิดผลดังที่ใช้ในปัจจุบันแบบง่าย ๆ นอกเหนือจากเอกสารกำหนดคุณลักษณะทางเทคนิกต่าง ๆ ข้อมูลในบทความนี้จึงมาจากบทความต่าง ๆ เริ่มตั้งแต่เอกสารแสดงแบบของโพรโทรคอลรุ่นสองของทอร์ในปี 2004 เนื้อความในบทความอาจจะจับใจความสำคัญต่าง ๆ ได้ แต่รายละเอียดบางอย่างอาจเคลื่อนคลาดจากดังที่ทำให้เกิดผลในปัจจุบัน
ศัพท์ | อังกฤษ | หมายเหตุ |
---|---|---|
พร็อกซีหัวหอม, ระบบผู้ใช้, ระบบต้นทาง, ระบบต้นสาย | onion proxy (OP) | ตัวต่อประสานโปรแกรมแบบ SOCKS ของผู้ใช้กับเครือข่าย ปฏิบัติการเพื่อให้โปรแกรมผู้ใช้สามารถสื่อสารอย่างนิรนามผ่านเครือข่ายได้ |
โหนด, สถานี | node | สถานีคือระบบบริการในเครือข่ายเพื่อให้สื่อสารได้อย่างนิรนาม เช่น สถานีส่งต่อเป็นต้น |
สถานีรีเลย์, รีเลย์, สถานีส่งต่อ, เราเตอร์, เราเตอร์หัวหอม | relay, onion router (OR) | สถานีส่งต่อในระหว่าง ๆ ในเครือข่ายเพื่อส่งข้อมูลไปยังระบบปลายทาง |
สถานีขาเข้า, สถานีแรก, สถานีหนึ่ง | entry node | สถานีส่งต่อที่ระบบผู้ใช้ติดต่อเป็นอันดับแรกในเครือข่าย เพื่อตั้งวงจรการสื่อสารและเพื่อสื่อสารผ่านเครือข่าย เป็นสถานีเดียวที่รู้ที่อยู่ไอพีของระบบผู้ใช้ |
สถานีกลาง, สถานีสอง | middle node | สถานีส่งต่อที่ระบบผู้ใช้เลือกเพื่อส่งต่อข้อมูลระหว่างสถานีขาเข้าและสถานีขาออก ปกติมีสถานีเดียว สถานีรู้ที่อยู่ไอพีของสถานีที่เชื่อมกันโดยตรงคือที่อยู่ก่อนและหลังตนเองในวงจรเท่านั้น |
สถานีขาออก, สถานีสาม | exit node | สถานีส่งต่อสุดท้ายภายในเครือข่าย ที่ทำหน้าที่ถอดรหัสลับชั้นสุดท้ายแล้วส่งข้อความเดิมไปยังระบบปลายทาง เป็นสถานีเดียวที่รู้ที่อยู่ของระบบปลายทางและสามารถเข้าถึงข้อมูลดั้งเดิมที่ส่งระหว่างระบบผู้ใช้กับระบบปลายทาง |
สถานียาม | entry guard | เซตย่อยของสถานีขาเข้าของเครือข่ายที่ระบบผู้ใช้เลือกโดยสุ่มแล้วใช้เป็นชั่วระยะเวลาหนึ่ง โดยปกติจะเปลี่ยนชุดทุก ๆ 30-60 วัน |
สถานีสะพาน | bridge relay, bridge | สถานีส่งต่อที่ไม่แสดงในสารบบ ปกติใช้ในการเชื่อมต่อกับเครือข่ายเมื่อสถานีส่งต่อที่ระบุในสารบบถูกบล็อกเนื่องกับการตรวจพิจารณาทางอินเทอร์เน็ต และสามารถใช้เพื่ออำพรางการใช้เครือข่าย |
โหนดสารบบ, ระบบบริการสารบบ | directory node/server | โหนดที่ได้ความเชื่อถือเพิ่มขึ้นและให้บริการทางสารบบคือแสดงรายการสถานีส่งต่อต่าง ๆ ภายในเครือข่ายพร้อมทั้งสถานะปัจจุบันของสถานีในรายการ โดยปี 2012 เครือข่ายมีโหนดสารบบ 8 สถานี ระบบผู้ใช้จะแจกจ่ายพร้อมกับรายการโหนดสารบบและกุญแจระบุตัว |
ระบบปลายทาง | ระบบบริการที่ผู้ใช้ต้องการสื่อสารด้วย เช่น ระบบบริการเว็บ เสิร์ชเอนจิน เป็นต้น | |
บริการซ่อน | hidden service/server (HS) | ระบบบริการภายในเครือข่ายที่ให้บริการแก่ผู้ใช้โดยไม่ต้องเปิดเผยที่อยู่ไอพีของตน สำหรับระบบบริการนี้ ระบบผู้ใช้ไม่ต้องสร้างวงจรการสื่อสารที่มีสถานีขาออกเพราะระบบอยู่ในเครือข่าย |
วงจร, วงจรการสื่อสาร, วงจรเสมือน | circuit | วงจรการสื่อสารคือลำดับโหนดในการส่งต่อข้อมูลระหว่างระบบผู้ใช้กับระบบปลายทาง ปกติจะมีสถานีส่งต่อในระหว่าง 3 สถานี วงจรการสื่อสารเป็นแบบสื่อได้สองทาง คือเมื่อตั้งขึ้นแล้ว สถานีแต่ละสถานีจะรู้ว่า ข้อมูลที่มาจากด้านหนึ่งต้องส่งไปยังอีกด้านหนึ่งโดยอาจต้องเข้าหรือถอดรหัสลับ และในนัยกลับกันก็เช่นกัน วงจรหนึ่ง ๆ อาจมีกระแสข้อมูลทีซีพีหลายกระแส ที่อาจต่อกับระบบบริการเดียวกันหรือหลายระบบ โดยเป็นกระแสข้อมูลของโปรแกรมอันเดียวกันหรือต่าง ๆ กัน ระบบผู้ใช้จะสร้างวงจรใหม่เพื่อกระแสทีซีพีใหม่ทุก ๆ 10 นาที |
เซลล์ | cell | หน่วยข้อมูลพื้นฐานที่ส่งภายในวงจร แต่ละหน่วยมีขนาดเท่ากันคือ 512 ไบต์ เซลล์ทั้งหมดจะเข้ารหัสลับด้วยกุญแจทีแอลเอสเมื่อสื่อสารผ่านการเชื่อมต่อแบบทีแอลเอสระหว่างระบบต่าง ๆ เริ่มตั้งแต่ระบบต้นทางจนถึงสถานีสุดท้ายในเครือข่าย |
เซลล์ควบคุม | control cell, link cell | เซลล์ที่ใช้สื่อสารกับสถานีที่อยู่ต่อกันเพื่อสร้างวงจรและยุติวงจรเป็นต้น |
เซลล์ส่งต่อ, เซลล์รีเลย์ | relay cell | เซลล์ที่ใช้เพื่อส่งข้อมูลการสื่อสารจากต้นจนถึงปลาย ส่วนข้อมูลของเซลล์จะเข้ารหัสด้วยกุญแจอายุสั้นเป็นชั้น ๆ |
ส่วนหัวของเซลล์ | cell header | ข้อมูลระบุวงจรและคำสั่งควบคุมเซลล์ |
ส่วนหัวรีเลย์ | relay header | ส่วนหัวที่มีเพิ่มขึ้นสำหรับเซลล์รีเลย์ (นอกเหนือจากส่วนหัวของเซลล์) ซึ่งแสดงสายข้อมูล ค่าแฮชเพื่อตรวจสอบบูรณภาพของข้อมูล ขนาดข้อมูล และคำสั่งรีเลย์ อยู่ต่อจากส่วนหัวของเซลล์ |
ข้อมูลรีเลย์ | relay data | ส่วนข้อมูลของเซลล์รีเลย์ อยู่ต่อจากส่วนหัวรีเลย์ |
ส่วนรีเลย์, ส่วนข้อมูล (ของเซลล์) | cell data | ข้อมูลที่ต่อจากส่วนหัวของเซลล์ซึ่งประกอบด้วยส่วนหัวรีเลย์และข้อมูลรีเลย์ เป็นส่วนที่เข้ารหัสเป็นชั้น ๆ คล้ายหัวหอม |
กุญแจทีแอลเอส | session key, TLS session key, connection key | กุญแจแบบสมมาตรที่ตั้งขึ้นเมื่อสร้างการเชื่อมต่อแบบทีแอลเอสระหว่างระบบต่าง ๆ เริ่มตั้งแต่ระบบผู้ใช้จนถึงสถานีขาออก เป็นกุญแจที่รู้กันในระหว่างระบบที่เชื่อมต่อกันโดยตรงภายในวงจร โดยระบบทั้งสองจะทิ้งกุญแจเมื่อการเชื่อมต่อสิ้นสุดลง การเข้ารหัสโดยใช้กุญแจนี้จะป้องกันการตรวจดูหรือเปลี่ยนข้อมูล ป้องกันการปลอมตัวของระบบอื่น ๆ ว่าเป็นระบบภายในวงจร และป้องกันไม่ให้ถอดรหัสข้อมูลในวงจรที่ดักเก็บไว้เพื่อถอดรหัสในอนาคต (เพราะกุญแจทิ้งไปแล้ว) |
กุญแจช่วงเวลา, กุญแจอายุสั้น | ephemeral key, session key, circuit session key | กุญแจแบบสมมาตรที่ตั้งขึ้นเมื่อสร้างวงจรเสมือนระหว่างระบบผู้ใช้กับสถานีส่งต่อในระหว่าง ๆ แต่ละสถานี โดยระบบทั้งสองจะทิ้งกุญแจเมื่อยุติการเชื่อมต่อในวงจร เป็นกุญแจที่ใช้เข้ารหัสส่วนข้อมูลของเซลล์เป็นชั้น ๆ เหมือนหัวหอม กุญแจนี้จะป้องกันไม่ให้ถอดรหัสข้อมูลในวงจรที่ดักเก็บไว้เพื่อถอดรหัสในอนาคต (เพราะกุญแจทิ้งไปแล้ว) ป้องกันไม่ให้สถานีส่งต่อยกเว้นสถานีท้ายสุด รู้ข้อมูลที่ส่งระหว่างต้นสายหรือปลายทางได้ |
กุญแจหัวหอม | onion key | กุญแจแบบอสมมาตรที่สถานีส่งต่อจะเปลี่ยนทุก ๆ อาทิตย์ เป็นกุญแจที่ใช้ถอดรหัสคำขอตั้งวงจรจากระบบผู้ใช้และเพื่อต่อรองสร้างกุญแจอายุสั้น |
กุญแจระบุตัว, กุญแจระบุสถานี, กุญแจระบุตัวระยะกลาง | identity key | กุญแจแบบอสมมาตรที่ใช้ระบุสถานีต่าง ๆ ในเครือข่ายรวมทั้งสถานีรีเลย์และโหนดสารบบ เป็นกุญแจที่ใช้ในระยะยาว สำหรับรีเลย์ นี่ใช้ระบุตัวและต่อรองสร้างกุญแจทีแอลเอส เมื่อระบบสองระบบเริ่มเชื่อมต่อกัน และใช้เซ็นข้อมูลเกี่ยวกับสถานีนั้น ๆ ในสารบบ สำหรับโหนดสารบบ นี่เป็นกุญแจที่เก็บออฟไลน์ (authority key) ที่ใช้เพื่อเซ็นกุญแจระบุตัวระยะกลาง (directory signing key) ซึ่งจะเปลี่ยนเป็นระยะ ๆ |
ปฏิปักษ์, ผู้โจมตี, ศัตรู | adversary, attacker | ผู้ทำการเพื่อเปิดเผยระบบต้นสายและปลายทางของวงจร หรือเปิดเผยข้อมูลในวงจรของเครือข่าย |
คำอธิบายคร่าว ๆ
การจัดเส้นทางแบบหัวหอม (onion routing) ทำให้เกิดผลโดยการเข้ารหัสลับในชั้นโปรแกรมประยุกต์ของโพรโทคอลสแตกทีซีพีที่ใช้ในการสื่อสาร โดยทำเป็นชั้น ๆ เหมือนกับของหัวหอม คือระบบผู้ใช้จะสร้างวงจรการสื่อสารเสมือนผ่านสถานี/โหนดส่งต่อต่าง ๆ 3 สถานีซึ่งเลือกโดยสุ่มเป็นลำดับ ๆ การสร้างจะเพิ่มสถานีทีละสถานี ๆ เข้าในวงจรด้วยการสื่อสารที่เข้ารหัสลับ โดยสถานีส่งต่อแต่ละสถานี จะรู้แต่เลขที่อยู่ไอพีขาเข้าและขาออกของตน ๆ เท่านั้น และไม่มีสถานีไหนในระหว่าง ที่รู้ทั้งที่อยู่ของต้นสายและของปลายทางทั้งสอง แม้ในมุมมองของระบบปลายทาง ก็จะดูเหมือนว่าการสื่อสารเริ่มมาจากสถานีขาออกของเครือข่าย เมื่อกำลังสร้างวงจร ระบบผู้ใช้จะแลกเปลี่ยนกุญแจเข้ารหัสลับแบบสมมาตรโดยเฉพาะ ๆ กับโหนดส่งต่อแต่ละสถานี เพื่อเมื่อส่งข้อมูลไปยังปลายทาง ระบบผู้ใช้ก็จะเข้ารหัสข้อมูลเป็นชั้น ๆ ด้วยกุญแจที่แลกเปลี่ยนเริ่มตั้งแต่สถานีขาออก (สถานีสุดท้าย) ย้อนลำดับกลับมาจะถึงสถานีขาเข้า เมื่อข้อมูลส่งไปถึงแต่ละสถานี ๆ สถานีก็จะสามารถถอดรหัสชั้นที่เข้ากุญแจซึ่งตนได้แลกเปลี่ยน แล้วทำการที่สมควรเช่นส่งข้อมูลนั้นต่อไปได้ โดยที่ไม่สามารถรู้ข้อมูลที่ส่งต่อเพราะเข้ารหัสด้วยกุญแจที่ตนไม่มี สถานีขาออกจะเป็นผู้ถอดรหัสชั้นสุดท้ายแล้วส่งข้อมูลดั้งเดิมไปยังระบบปลายทางต่อไป
เมื่อระบบปลายทางส่งข้อมูลกลับไปยังระบบผู้ใช้ ข้อมูลก็จะวิ่งผ่านวงจรการสื่อสารเดียวกันโดยกลับลำดับคือจากสถานีขาออกจนไปถึงสถานีขาเข้า โดยสถานีส่งต่อแต่ละสถานี ๆ จะเข้ารหัสลับข้อมูลด้วยกุญแจที่ตนใช้ร่วมกับระบบผู้ใช้ ดังนั้น เมื่อสถานีขาเข้าส่งข้อมูลกลับไปถึงระบบต้นทาง ข้อมูลเซลล์จะเข้ารหัสไว้เป็นสามชั้น ซึ่งระบบผู้ใช้จะถอดรหัสด้วยกุญแจที่ตนใช้ร่วมกันสถานีส่งต่อต่าง ๆ
เซลล์
เราเตอร์หัวหอมสื่อสารกับกันและกัน และกับระบบผู้ใช้ ผ่านการเชื่อมต่อกันด้วยทีแอลเอสและการเข้ารหัสด้วยกุญแจอายุสั้น ทีแอลเอสช่วยปกปิดข้อมูลในสายเชื่อมต่อให้เป็นความลับที่แม้เมื่อดักเก็บข้อมูลไว้ได้ ก็จะไม่สามารถถอดรหัสข้อมูลได้ในอนาคต (perfect forward secrecy) และป้องกันผู้โจมตีไม่ให้เปลี่ยนข้อมูลในสาย หรือปลอมตัวว่าเป็นเราเตอร์หัวหอม
ข้อมูลส่งผ่านเครือข่ายโดยมีหน่วยเป็นเซลล์ ซึ่งมีขนาดตายตัวคือ 512 ไบต์ และเมื่อเซลล์แต่ละเซลล์วิ่งผ่านวงจรเริ่มตั้งแต่ระบบผู้ใช้ เซลล์จะเข้ารหัสลับด้วยกุญแจทีแอลเอสของการเชื่อมต่อแบบทีแอลเอสในระหว่างระบบที่อยู่ต่อกันโดยตรง ส่วนหัวของแต่ละเซลล์มีข้อมูลคือ
- cirID บอกว่าเซลล์นี้สำหรับวงจรการสื่อสารไหน เพราะระบบสามารถมีวงจรวิ่งผ่านการเชื่อมต่อแบบทีแอลเอสเดียวกันหลายวงจร
- CMD เป็นคำสั่งว่าสถานีส่งต่อควรทำอะไรต่อเซลล์ เพราะเซลล์แบ่งเป็นสามอย่างคือ เซลล์ควบคุม (control cell) หรือเซลล์ส่งต่อ/เซลล์รีเลย์ (relay cell) หรือเซลล์ส่งต่อเบื้องต้น (early relay cell) เซลล์ควบคุมอาจใช้เพื่อขอให้สถานีต่อกันตั้งวงจรหรือยุติวงจรเป็นต้น เซลล์ส่งต่อจะใช้สำหรับส่งข้อมูลการสื่อสารผ่านวงจรโดยมีข้อมูลต่อจากส่วนหัวของเซลล์ และเซลล์ส่งต่อเบื้องต้น ซึ่งเพิ่มขึ้นในปี 2008 ใช้ป้องกันไม่ให้ระบบผู้ใช้สร้างวงจรยาวเกินเพราะสร้างปัญหาการติดขัดในเครือข่ายและสามารถช่วยทำลายสภาพนิรนามได้
เซลล์ควบคุมสามารถมีคำสั่งรวมทั้ง
- padding
- create หรือ created ที่ใช้ในการสร้างวงจร
- relay เพื่อกำหนดว่าเป็นเซลล์ส่งต่อ
- destroy เพื่อรื้อวงจร
- create fast หรือ created fast
- netinfo
- relay early เพื่อกำหนดเป็นเซลล์ส่งต่อที่อาจร่วมใช้กับ relay extend เพื่อป้องกันไม่ให้ระบบผู้ใช้สร้างวงจรยาวเกิน รีเลย์รุ่นหลังจาก 0.2.3.11-alpha จะปฏิเสธเซลล์ส่งต่อแบบ relay extend ที่ไม่มีคำสั่งเซลล์เป็น relay early ระบบผู้ใช้อาจส่งเซลล์ relay early ที่ไม่ใช่เซลล์ส่งต่อแบบ relay extend ในการส่งข้อมูลภายในเซลล์ต้น ๆ ของวงจรเพื่ออำพรางความยาวของวงจร
- create2 หรือ created2
- padding negotiate
สำหรับเซลล์ส่งต่อ ส่วนที่เป็นข้อมูลภายในเซลล์จะเข้ารหัสลับด้วยกุญแจอายุสั้นที่ร่วมใช้ระหว่างระบบผู้ใช้กับสถานีแต่ละสถานี ส่วนนี้ยังมีส่วนหัวรีเลย์ (relay header) ซึ่งอยู่ในลำดับต่อไปจากส่วนหัวของเซลล์ รวมทั้ง
- StreamID - วงจรหนึ่งอาจมีกระแสข้อมูลหลายสาย ซึ่งอาจเป็นกระแสข้อมูลทีซีพีจากโปรแกรมผู้ใช้เดียวกันหรือจากหลายโปรแกรม
- Digest เป็นผลรวมตรวจสอบ (checksum) ของข้อมูล ปกติใช้เช็คว่ามีการเปลี่ยนข้อมูลระหว่างระบบผู้รับและสถานีสุดท้ายในเครือข่ายหรือไม่
- Len ขนาดของส่วน DATA
- CMD เป็นคำสั่งรีเลย์สำหรับสถานีที่เป็นเป้าหมาย เช่น ให้ส่งส่วนที่เป็น DATA ต่อไปเป็นต้น
- DATA เป็นส่วนข้อมูล เช่น ที่ส่งต่อไปยังระบบเป้าหมายเป็นต้น
เซลล์ส่งต่อสามารถมีคำสั่งดังต่อไปนี้คือ
- relay data - ให้ส่งข้อมูล
- relay begin - ให้เปิดสายข้อมูล (stream)
- relay end - ให้ปิดสายข้อมูลโดยเรียบร้อย
- relay teardown - ให้ปิดสายข้อมูลที่เสีย
- relay connected - เพื่อแจ้งระบบผู้ใช้ว่า คำสั่ง relay begin ได้ทำสำเร็จแล้ว
- relay extend และ relay extended - ให้ต่อวงจรไปอีกหนึ่งสถานี และเพื่อแจ้งว่าต่อสำเร็จแล้ว
- relay truncate และ relay truncated - ให้รื้อส่วนหนึ่งของวงจร และเพื่อแจ้งว่ารื้อสำเร็จแล้ว
- relay sendme - ใช้ในการควบคุมสายข้อมูลที่ติดขัด (congestion)
- relay drop
การสร้างวงจรเสมือน
เพื่อสร้างวงจรเสมือนหนึ่ง ๆ ระบบผู้ใช้จะขอรายการสถานีส่งต่อจากโหนดสารบบ รายการที่ได้จะเซ็นชื่อโดยกุญแจระบุตัวระยะกลางของโหนดสารบบ และข้อมูลเกี่ยวกับสถานีจะเซ็นชื่อโดยกุญแจระบุตัวของสถานีที่สัมพันธ์กัน ระบบผู้ใช้ปกติจะเลือกสถานี 3 สถานีจากรายการเพื่อสร้างวงจร โดยมีการเลือกโหนดขาเข้าจากรายการสุ่มที่เลือกใช้นานเป็นพิเศษที่เรียกว่า สถานียาม (entry guards)
โหนดที่เลือกจะจับเรียงลำดับเป็น "โซ่" หรือ "วงจร" ที่จะส่งผ่านข้อมูล เพื่อรักษาสภาพนิรนามของผู้ส่ง ไม่มีโหนดไหนในวงจรที่รู้ทั้งที่อยู่ของต้นสายและของปลายทางทั้งสอง แม้ในมุมมองของระบบปลายทาง ก็จะดูเหมือนว่าการสื่อสารเริ่มมาจากสถานีขาออกของเครือข่าย เช่นกัน ไม่มีโหนดไหนในวงจรที่สามารถบอกว่ามีโหนดจำนวนเท่าไรในวงจรหรือรู้เส้นทางการส่งข้อมูลทั้งหมดภายในวงจร และโหนดสุดท้ายเท่านั้น ซึ่งเรียกว่าโหนดขาออก (exit node) จะสามารถกำหนดตำแหน่งตัวเองภายในลูกโซ่
เมื่อสร้างวงจร ระบบผู้ใช้จะต่อสถานีรีเลย์เข้ากับวงจรทีละสถานี ๆ ต่อ ๆ กัน โดยที่การสื่อสารระหว่างระบบต่าง ๆ จะทำผ่านทีแอลเอสอาศัยกุญแจระบุสถานีระยะยาวที่พบในสารบบ การต่อสถานีมีรายละเอียดคือคือ (ดูประกอบรูป)
- สำหรับสถานีแรก (OR1) ระบบผู้ใช้ขอให้สถานีสร้างวงจร (Create c1) โดยส่งข้อมูล (g^x1) ที่เข้ารหัสลับด้วยกุญแจหัวหอมของสถานีแรก ซึ่งเป็นส่วนแรกของโพรโทคอลต่อรองเพื่อกุญแจสมมาตรคือกุญแจอายุสั้น (ให้สังเกตว่า สถานีแรกรู้ที่อยู่ไอพีของระบบผู้ใช้ และสถานีแรกจะตอบสนองต่อคำขอได้ก็ต่อเมื่อรู้กุญแจหัวหอมส่วนตัวของตน)
- สถานีแรกส่งคำตอบยอมรับการสร้างวงจร (Created c1) พร้อมข้อมูลที่กำหนดกุญแจอายุสั้น (g^y1 เป็นต้น) ที่จะใช้เพื่อเข้ารหัสข้อมูลเซลล์ระหว่างระบบผู้ใช้กับสถานีแรก
- สำหรับสถานีสอง (OR2) ระบบผู้ใช้จะส่งคำขอให้ต่อวงจรเชื่อมกับสถานีที่สองไปยังสถานีแรก โดยรวมข้อมูลที่เข้ารหัสลับด้วยกุญแจหัวหอมของสถานีที่สอง (g^x2) ซึ่งเป็นส่วนแรกของโพรโทคอลต่อรองเพื่อกุญแจอายุสั้น พร้อมกับคำขอการต่อวงจร (Extend) ซึ่งระบุสถานีที่สองโดยเฉพาะ เข้าเป็นส่วนข้อมูลของเซลล์ แล้วเข้ารหัสลับส่วนข้อมูลด้วยกุญแจอายุสั้นที่ใช้ร่วมกับสถานีแรก (g^x1y1) ต่อจากนั้นจึงส่งคำขอให้ส่ง (Relay/Relay early) ไปยังสถานีแรก (ให้สังเกตว่า ถ้ามีใครสามารถถอดรหัสลับการสื่อสารโดยใช้ทีแอลเอสได้ แต่ไม่มีกุญแจอายุสั้นของสถานีแรก ก็จะไม่สามารถกำหนดได้ว่า เซลล์มีข้อมูลที่จะส่งต่อ หรือเป็นคำขอ/คำตอบรับ คือไม่สามารถรู้ว่าใครกำลังเดินเนินงานกิจกรรมอะไรจริง ๆ)
- สถานีแรกถอดรหัสส่วนข้อมูลของเซลล์ด้วยรหัสอายุสั้นที่ใช้ร่วมกับระบบผู้ใช้ (g^x1y1) แล้วพบคำขอให้ต่อวงจร (Extend) จึงขอให้สถานีสองสร้างวงจร (Create c2) โดยส่งคำขอพร้อมกับข้อมูลเข้ารหัสลับ (g^x2) ที่มาจากระบบผู้ใช้ ให้สังเกตว่า สถานีแรกรู้ที่อยู่ไอพีของสถานีสอง แต่ไม่รู้ส่วนข้อมูลที่เข้ารหัสลับด้วยกุญแจหัวหอมของสถานีสองจากระบบผู้ใช้ ข้อมูลซึ่งเป็นส่วนแรกของโพรโทคอลต่อรองเพื่อกุญแจสมมาตรคือกุญแจอายุสั้น สถานีสองจะตอบสนองต่อคำขอได้ก็ต่อเมื่อรู้กุญแจหัวหอมส่วนตัวของตน และจากมุมมองของสถานีสอง คำขอการสร้างวงจรเหมือนกับมาจากสถานีแรก จึงไม่สามารถบอกได้ว่า เป็นการเพิ่มต่อวงจรจากระบบผู้ใช้
- สถานีสองส่งคำตอบยอมรับการสร้างวงจร (Created c2) พร้อมข้อมูลที่กำหนดกุญแจอายุสั้น (g^y2 เป็นต้น) ที่จะใช้เพื่อเข้ารหัสส่วนข้อมูลของเซลล์ระหว่างระบบผู้ใช้และสถานีสอง โดยส่งไปยังสถานีหนึ่ง
- สถานีแรกรวมการยอมรับการต่อวงจร (Extended) พร้อมกับข้อมูลที่กำหนดกุญแจอายุสั้น (g^y2 เป็นต้น) เข้าในส่วนข้อมูลของเซลล์ แล้วเข้ารหัสลับด้วยกุญแจอายุสั้นที่ใช้ร่วมกับระบบผู้ใช้ ต่อจากนั้นจึงส่งข้อมูลกลับไปยังระบบผู้ใช้โดยเป็นคำขอให้ส่ง (Relay) (ให้สังเกตว่า ถ้ามีใครสามารถถอดรหัสลับการสื่อสารโดยใช้ทีแอลเอสได้ แต่ไม่มีกุญแจอายุสั้นของสถานีแรก ก็จะไม่สามารถกำหนดได้ว่า เซลล์มีข้อมูลที่จะส่งต่อ หรือเป็นคำขอ/คำตอบรับ คือไม่สามารถรู้ว่าใครกำลังเดินเนินงานกิจกรรมอะไรจริง ๆ)
ตัวอย่างนี้ เป็นการสร้างวงจรที่มีโหนดส่งต่อเพียงแค่สองสถานีเท่านั้น การสร้างวงจรเพิ่มเพื่อให้มีโหนดส่งต่อ 3 สถานีก็ทำได้โดยนัยเดียวกัน คือระบบผู้ใช้สามารถส่งคำขอการต่อวงจร (Extend) เชื่อมกับสถานีสามไปยังสถานีสองโดยส่งผ่านสถานีหนึ่ง คล้ายกับลำดับ 3 ที่กล่าวมาแล้ว แต่เข้ารหัสลับส่วนข้อมูลของเซลล์สองครั้งด้วยกุญแจอายุสั้นที่ใช้ร่วมกับสถานีสอง (g^x2y2) แล้วด้วยกุญแจอายุสั้นที่ใช้ร่วมกับสถานีหนึ่ง (g^x1y1)
เพื่อความกระจ่าง อาจกล่าวโดยอีกวิธีหนึ่งก็คือ
- โดยใช้การเข้ารหัสลับแบบกุญแจอสมมาตร ระบบผู้ใช้สามารถรับกุญแจสาธารณะ (identity key) เพื่อเริ่มการเชื่อมต่อแบบทีแอลเอสกับโหนดขาเข้า แล้วส่งข้อความผ่านทีแอลเอสซึ่งเข้ารหัสด้วยกุญแจทีแอลเอส เพื่อต่อรองสร้างกุญแจอายุสั้น (ephemeral key) อาศัยกุญแจหัวหอม (onion key) ของสถานี
- โดยใช้การเชื่อมต่อที่เข้ารหัสกับโหนดขาเข้า (ด้วยกุญแจทีแอลเอส และกุญแจอายุสั้นเพื่อเข้ารหัสส่วนข้อมูลของเซลล์อีกทีหนึ่ง) ระบบผู้ใช้ส่งคำขอให้ต่อสถานีสองเข้ากับวงจรไปยังสถานีแรก ซึ่งสถานีแรกทำกับสถานีสองคล้ายในขั้นตอนที่หนึ่ง แต่ใช้ข้อมูลการต่อรองสร้างกุญแจอายุสั้นที่ได้จากระบบผู้ใช้ (เพราะสถานีแรกจะไม่รู้กุญแจอายุสั้นของสถานีที่สอง) โดยมุมมองของสถานีที่สอง นี่เป็นเหมือนการขอสร้างวงจรจากสถานีแรก จึงไม่สามารถบอกได้ว่าเป็นการต่อวงจรที่เริ่มจากระบบผู้ใช้
- โดยใช้การเชื่อมต่อที่เข้ารหัสกับโหนดขาเข้า (ด้วยกุญแจทีแอลเอส และกุญแจอายุสั้นเพื่อเข้ารหัสส่วนข้อมูลของเซลล์อีกทีหนึ่ง) และการเชื่อมต่อที่เข้ารหัสกับโหนดกลาง (ด้วยกุญแจทีแอลเอสที่ใช้ร่วมกันระหว่างสถานีแรกและสอง และกุญแจอายุสั้นเพื่อเข้ารหัสส่วนข้อมูลของเซลล์อีกทีหนึ่ง) ระบบผู้ใช้ส่งคำขอให้ต่อสถานีสามเข้ากับวงจรไปยังสถานีสอง ซึ่งสถานีสองทำกับสถานีสามเหมือนในขั้นตอนที่หนึ่ง แต่ใช้ข้อมูลการต่อรองสร้างกุญแจอายุสั้นที่ได้จากระบบผู้ใช้ (เพราะสถานีสองจะไม่รู้กุญแจอายุสั้นของสถานีที่สาม) โดยมุมมองของสถานีที่สาม นี่เป็นเหมือนการขอสร้างวงจรจากสถานีสอง จึงไม่สามารถบอกได้ว่าเป็นการต่อวงจรที่เริ่มจากระบบผู้ใช้
เมื่อสร้างวงจรเสร็จแล้ว ระบบผู้ใช้ก็จะสามารถส่งข้อมูลผ่านอินเทอร์เน็ตไปยังระบบปลายทางอย่างนิรนามได้ สำหรับโปรแกรมผู้ใช้ที่ตั้งให้สื่อสารผ่านเครือข่ายหัวหอม ไม่ว่าจะเป็นโปรแกรมเดียว (เช่นทอร์เบราว์เซอร์) หรือหลายโปรแกรม สายข้อมูลทีซีพีต่าง ๆ ที่โปรแกรมผู้ใช้สร้างก็จะส่งผ่านวงจรเดียวกัน แต่ระบบผู้ใช้จะตั้งวงจรใหม่ทุก ๆ 10 นาที ดังนั้น สายข้อมูลใหม่ที่ตั้งขึ้นก็จะใช้วงจรใหม่ ส่วนสายข้อมูลเก่าที่ยังดำเนินการอยู่ก็จะคงอยู่ในวงจรเดิมจนกว่าจะเสร็จ ดังนั้น ในระบบผู้ใช้ อาจมีการส่งข้อมูลผ่านเครือข่ายหัวหอมเป็นหลายวงจร แต่ละวงจรอาจมีสายข้อมูลหลายสาย โดยอาจเป็นสายข้อมูลจากโปรแกรมชุดเดียวหรือหลายโปรแกรม การเปลี่ยนวงจรการสื่อสารเช่นนี้ โดยมีสถานีขาออกที่ต่าง ๆ กัน จะทำให้ระบบปลายทางสัมพันธ์การกระทำของผู้ใช้ที่เกิดในเวลาต่าง ๆ ได้ยากขึ้น
การส่งข้อมูล
เมื่อวงจรสร้างขึ้นแล้ว ระบบผู้ใช้สามารถเริ่มส่งรับข้อมูลผ่านเครือข่ายนิรนามที่เข้ารหัสลับด้วยกุญแจสองตัวคือ กุญแจอายุสั้นที่ใช้เข้ารหัสเพียงส่วนข้อมูลของเซลล์เป็นชั้น ๆ และกุญแจทีแอลเอสที่ใช้เข้ารหัสเซลล์ทั้งหมดเมื่อส่งผ่านเครือข่ายอินเทอร์เน็ตระหว่างสถานี ๆ โดยที่ไม่มีสถานีส่งต่อใด ๆ รวมทั้งระบบปลายทาง ที่สามารถรู้ทั้งที่อยู่ไอพีของระบบผู้ใช้และของระบบปลายทางทั้งสอง และมีสถานีทางออกเท่านั้น ที่สามารถเข้าถึงข้อมูลดั้งเดิมที่ส่งในระหว่างต้นสายและปลายทาง ยกเว้นถ้าผู้ใช้ใช้โปรแกรมที่เข้ารหัสข้อมูลจากต้นจนถึงปลาย เช่น ทอร์เบราว์เซอร์เมื่อสื่อสารผ่านเอชทีทีพีเอสเป็นต้น อนึ่ง เพราะกุญแจที่ใช้เข้ารหัสลับเป็นกุญแจชั่วคราว จึงหมายความว่า แม้ถ้ามีใครดักเก็บข้อมูลที่ส่งผ่านระหว่างระบบต่าง ๆ แล้วโจมตีเข้าถึงระบบเหล่านั้นได้ในภายหลัง ก็จะไม่สามารถถอดรหัสข้อมูลเหล่านั้นได้เพราะระบบได้ทิ้งกุญแจไปแล้ว
การรับส่งข้อมูลมีรายละเอียดคือ (ดูรูป)
- ระบบผู้ใช้สร้างเซลล์ส่งต่อพร้อมคำสั่งรีเลย์ relay begin โดยมีระบบปลายทางพร้อมหมายเลขช่องทาง (website:80) เป็นข้อมูลรีเลย์ แล้วเข้ารหัสส่วนข้อมูลของเซลล์ด้วยกุญแจอายุสั้นที่ใข้กับสถานีส่งต่อต่าง ๆ เริ่มจากสถานีขาออกกลับมาถึงสถานีขาเข้า แล้วส่งเซลล์รีเลย์ผ่านการเชื่อมต่อทีแอลเอส (และดังนั้นเข้ารหัสลับด้วยกุญแจทีแอลเอส) ไปยังสถานีขาเข้า
- สถานีขาเข้าถอดรหัสส่วนข้อมูลของเซลล์ที่ได้รับด้วยกุญแจอายุสั้นที่ตนใช้ร่วมกันระบบผู้รับ แล้วส่งข้อมูลต่อผ่านเซลล์ที่ตนสร้างผ่านการเชื่อมต่อแบบทีแอลเอสไปยังสถานีขาออก
- สถานีขาออกถอดรหัสส่วนข้อมูลของเซลล์ที่ได้รับด้วยกุญแจอายุสั้นที่ตนใช้ร่วมกันระบบผู้รับ แล้วพบคำสั่งรีเลย์ relay begin จึงเริ่มการเชื่อมต่อแบบทีซีพีกับระบบปลายทางผ่านช่องทาง 80 แล้วสร้างเซลล์ระบุคำตอบรับการเชื่อมต่อที่สำเร็จโดยเข้ารหัสลับส่วนข้อมูลด้วยกุญแจอายุสั้น แล้วส่งกลับไปยังสถานีขาเข้าผ่านทีแอลเอส
- สถานีขาเข้าสร้างเซลล์ส่งต่อโดยเข้ารหัสส่วนข้อมูลที่มาจากสถานีขาออกด้วยกุญแจอายุสั้นของตน แล้วส่งผ่านทีแอลเอสไปยังระบบผู้รับ
- ระบบผู้รับถอดรหัสส่วนข้อมูลเซลล์ที่ได้รับด้วยกุญแจสองตัวที่ใช้ร่วมกันสถานีส่งต่อทั้งสอง แล้วพบว่า การเชื่อมต่อแบบทีซีพีกับระบบปลายทางสำเร็จแล้ว และจึงดำเนินการสื่อสารกับระบบปลายทางในนัยเดียวกันต่อไป
วิธีการโจมตี
ผู้ออกแบบการจัดเส้นทางแบบหัวหอมได้พิจารณาการโจมตีและผลต่อระบบหลายอย่าง (ปี 2004) รวมทั้งที่จัดว่าเป็นการดักฟังเฉย ๆ (passive attack) และแบบต้องทำการอย่างแอ๊กถีฟ (active attack) ต่อไปนี้เป็นตัวอย่างของการโจมตีที่ได้พิจารณา
แบบดักฟังเฉย ๆ
การโจมตีแบบดักฟังเฉย ๆ (passive attack) รวมทั้ง
- การเฝ้าดูรูปแบบการสื่อสาร (observing user traffic patterns) เพราะข้อมูลการสื่อสารของวงจรเข้ารหัสลับอยู่ จึงไม่สามารถตรวจดูโดยตรงภายในวงจรได้ แต่สามารถวิเคราะห์รูปแบบการสื่อสารได้ ทั้งในการรับและส่งข้อมูล
- การตรวจดูข้อมูล (observing user content) แม้ข้อมูลทางด้านระบบผู้ใช้จะเข้ารหัสลับ แต่การสื่อสารจากสถานีขาออกกับระบบปลายทางอาจจะไม่ได้เข้ารหัส ถึงแม้การกรองข้อมูลที่ส่งเข้าเครือข่ายอาจไม่ใช่เป้าหมายของโปรเจ็กต์โดยตรง แต่ผู้ใช้อาจใช้โปรแกรมเสริมเช่น Prixvoxy ที่ช่วยกรองข้อมูล ไม่ให้ส่งข้อความซึ่งไม่ได้เข้ารหัสลับที่เปิดเผยตนได้
- รูปแบบการสื่อสารต่างกันเนื่องจากตั้งค่าไม่เหมือนกัน (option distinguishability) เนื่องจากพร็อกซีหัวหอมสามารถตั้งค่าต่าง ๆ กันได้ ผู้ใช้การตั้งค่าแบบที่มีจำนวนน้อยอาจเสียสภาพนิรนาม
- การสัมพันธ์เวลาระหว่างต้นกับปลาย (end-to-end timing correlation) ระบบสามารถปิดบังข้อมูลทางเวลาได้เพียงเล็กน้อยเท่านั้น ปฏิปักษ์ที่สามารถดูรูปแบบการสื่อสารทั้งที่ต้นสายและปลายทาง จะมีโอกาสยืนยันการสื่อสารระหว่างต้นสายปลายทางได้สูงมาก วิธีป้องกันดีสุดก็คือปิดบังการเชื่อมต่อกันระหว่างระบบผู้ใช้กับสถานีขาเข้า ซึ่งอาจทำได้โดยดำเนินการระบบผู้ใช้และสถานีรีเลย์ในคอมพิวเตอร์เดียวกัน หรือในคอมพิวเตอร์ต่างกันแต่อยู่หลังไฟร์วอลล์เดียวกัน ซึ่งทำให้การโจมตีระบบได้จะต้องแยกแยะการสื่อสารที่เริ่มมาจากที่อื่นหรือเริ่มมาจากระบบผู้ใช้ โดยผู้โจมตีซึ่งจะทำได้ก็คือผู้ที่สามารถทำการได้ทั่วโลก (เช่น หน่วยจารกรรมที่มีทรัพยากรมาก) แต่ผู้ที่มีทรัพยากรจำกัดไม่สามารถทำได้
- การสัมพันธ์ขนาดข้อมูลระหว่างต้นกับปลาย (end-to-end size correlation) คือการนับเพียงแค่แพ็กเกต (กลุ่มข้อมูล) ซึ่งส่งที่ต้นสายและรับ ที่ปลายทางก็อาจสามารถสัมพันธ์การสื่อสารได้แล้ว แต่การที่ระบบผู้ใช้สามารถสื่อสารออกนอกวงจรก่อนจะถึงสถานีสุดท้ายอาจช่วยลดระดับปัญหานี้ วิธีการป้องกันและลักษณะผู้โจมตีจะคล้ายกับในปัญหาการสัมพันธ์เวลาระหว่างต้นกับปลาย
- การระบุลักษณะเฉพาะของเว็บไซต์ (website fingerprinting) ผู้โจมตีอาจสร้างฐานข้อมูลของเว็บไซต์ต่าง ๆ ที่ระบุขนาดไฟล์ที่เข้าถึง และรูปแบบการสื่อสารเพื่อเข้าถึงไฟล์ แล้วสามารถยืนยันการสื่อสารกับเว็บไซต์ของระบบผู้ใช้โดยใช้ข้อมูลนั้น ๆ โดยมีผู้ชำนาญบางพวกที่วิเคราะห์ว่า ทำได้ยากเนื่องจากในโลกจริง ๆ ผู้โจมตีจะต้องสามารถแยกแยะหน้าเว็บเป็นจำนวนมากโดยอาศัยเพียงแค่รูปแบบการสื่อสาร
แบบแอ๊กถีฟ
การโจมตีแบบแอ๊กถีฟ (active attack) รวมทั้ง
- การได้กุญแจ (compromise key) ผู้โจมตีที่ได้กุญแจทีแอลเอสสามารถมองเห็นเซลล์ควบคุมและเซลล์รีเลย์ที่ยังเข้ารหัสลับอีกชั้นสำหรับวงจรทุก ๆ วงจรที่วิ่งผ่านการเชื่อมต่อแบบทีแอลเอสนั้น ๆ แต่จะดูข้อมูลที่เข้ารหัสในเซลล์รีเลย์ได้ก็จะต้องรู้กุญแจอายุสั้นต่าง ๆ ที่สมควรด้วย ซึ่งอาจเป็นเรื่องทำได้ยากโดยเฉพาะเมื่อกุญแจชั่วคราวเหล่านี้จะทิ้งไปเมื่อการเชื่อมต่อหรือวงจรยุติลง
- iterated compromise - ผู้โจมตีที่ทำการต่อระบบต่าง ๆ ต่อ ๆ กันได้ อาจเอาชนะการป้องกันของสถานีส่งต่อ ไม่ว่าจะโดยการแฮ็ก โดยกฎหมาย หรือโดยวิธีการนอกกฎหมาย ต่อ ๆ กันจนถึงระบบผู้ใช้ แต่ก็จะต้องทำการให้สำเร็จก่อนวงจรจะยุติลง ไม่เช่นนั้นแล้ว กุญแจที่เข้ารหัสการสื่อสารก็จะทิ้งไปหมดแล้ว นอกจากนั้น การสร้างวงจรเพื่อให้มีสถานีส่งต่อที่อยู่ในเขตกฎหมายต่าง ๆ กันก็จะทำให้การบังคับตามกฎหมายทำได้ยากขึ้น
- การดำเนินการระบบปลายทาง - ผู้โจมตีที่ดำเนินการระบบบริการเว็บไซต์สามารถรู้รูปแบบการสื่อสารกับระบบต้นทางได้ง่าย ๆ หรือสามารถตอบสนองโดยมีรูปแบบโดยเฉพาะ ๆ ซึ่งทำให้การโจมตีแบบจากต้นสายจนถึงปลายทางทำได้ง่ายขึ้น นอกจากนั้น ระบบอาจจะชักจูงให้ระบบต้นสายไม่ว่าจะโดยโพรโทคอลหรือผ่านการทำงานโปรแกรม ให้ส่งข้อมูลเปิดเผยตนเองได้ วิธีการป้องกันและลักษณะผู้โจมตีจะคล้ายกับในปัญหาการสัมพันธ์เวลาระหว่างต้นกับปลาย
- การดำเนินงานพร็อกซีหัวหอม - ในสถานการณ์ที่สถาบันต้องการควบคุมการใช้การจัดเส้นทางแบบหัวหอม แล้วให้ใช้พร็อกซีซึ่งดำเนินการในคอมพิวเตอร์ต่างหาก (แทนที่จะดำเนินการแบบปกติในคอมพิวเตอร์ของผู้ใช้) การแฮ็กระบบที่ดำเนินการพร็อกซีได้จะทำให้สามารถทำการต่าง ๆ ต่อการเชื่อมต่อผ่านพร็อกซีในอนาคตทั้งหมด
- การโจมตีสถานีที่ลอบฟังไม่ได้เพื่อให้บริการไม่ได้ (DoS non-observed nodes) ผู้โจมตีที่สามารถตรวจดูเครือข่ายเป็นบางส่วนจะได้ข้อมูลเพิ่มขึ้นถ้าโจมตีสถานีส่งต่ออื่น ๆ เพื่อไม่ให้ให้บริการได้ ทำให้ผู้ใช้มีโอกาสเพิ่มในการสร้างวงจรผ่านสถานีที่ผู้โจมตีควบคุมหรือสามารถตรวจดูการใช้ได้
- การดำเนินงานสถานีส่งต่อ - นอกจากจะสามารถตรวจดูข้อมูลที่ส่งผ่านสถานีของตน ผู้โจมตียังสามารถเปลี่ยนรูปแบบการสื่อสารผ่านสถานีอื่น ๆ แต่จะสามารถทำลายสภาพนิรนามได้ก็ต่อเมื่อเป็นสถานีส่งต่อแรกสุดและสุดท้าย โดยอาจเพิ่มโอกาสการเชื่อมต่อกับสถานีของตนโดยดำเนินการสถานีขาออกที่ให้บริการอย่างมีข้อจำกัดน้อย หรือทำลายความน่าเชื่อถือของสถานีอื่น ๆ
- การส่งเซลล์ต่อโดยมีกำหนดเวลาโดยเฉพาะ ๆ - เป็นการเพิ่มสมรรถภาพวิธีการตรวจดูเวลาของการส่งข้อมูลแบบดักฟังเฉย ๆ ดังที่ได้กล่าวมาแล้ว
- การโจมตีโดยการติดป้าย - สถานีโจมตีอาจติดป้ายเซลล์โดยเปลี่ยนข้อมูล แต่การตรวจดูบูรณภาพของข้อมูลก็จะป้องกันการโจมตีเยี่ยงนี้ได้
- การเปลี่ยนข้อมูลสำหรับโพรโทคอลที่ไม่พิสูจน์ตัวจริง - คือ สถานีขาออกที่อยู่ใต้การควบคุมของผู้โจมตีสามารถปลอมตัวเป็นระบบบริการปลายทาง ดังนั้น ผู้ใช้ควรเลือกใช้โพรโทคอลที่มีการพิสูจน์ตัวจริง (เช่น เอชทีทีพีเอสแทนที่จะใช้เอชทีทีพี)
- การโจมตีด้วยการเล่นซ้ำ (replay attack) - สำหรับโพรโทคอลของทอร์ การเริ่มจับมือโดยการเล่นซ้ำข้อมูลที่ดักเก็บมาก่อนจะมีผลให้สร้างกุญแจอายุสั้นที่ต่างกัน ทำให้ข้อมูลที่ได้ดักเก็บที่เหลือไม่สามารถใช้อีก
- การโจมตีทำลายชื่อเสียง - ผู้โจมตีสามารถใช้เครือข่ายทำการที่ไม่ชอบ เป็นการทำลายชื่อเสียง เพื่อบังคับให้ผู้ดำเนินงานหยุดปฏิบัติการ นโยบายของสถานีขาออกจะช่วยลดปัญหานี้ แต่โดยที่สุดแล้ว เครือข่ายต้องมีอาสาสมัครที่สามารถอดทนต่อความกดดันทางการเมือง/ทางกฎหมายได้
- การกระจายโปรแกรมที่ถูกบ่อนทำลาย - ผู้โจมตีสามารถหลอกให้ผู้ใช้หรือสถานีใช้ซอฟต์แวร์ที่ถูกแก้ไขไม่ให้รักษาสภาพนิรนาม ทอร์ใช้วิธีเซ็นชื่อซอฟต์แวร์ที่แจกจ่าย โดยมีรายการจากโหนดสารบบที่แสดงรุ่นของซอฟต์แวร์ที่เชื่อว่าปลอดภัย นอกจากนั้นเพื่อกันปัญหาจากภายในโปรเจ็กต์ทอร์เอง ยังเปิดให้ดูรหัสต้นทางทั้งหมด สนับสนุนให้มีการตรวจรหัสต้นทางบ่อย ๆ และเตือนผู้ใช้ไม่ให้เชื่อใจซอฟต์แวร์ที่ไม่เปิดเผยรหัสต้นทาง
จุดอ่อน
การวิเคราะห์เวลา
เหตุผลหนึ่งที่การเชื่อมต่ออินเทอร์เน็ตปกติจะไม่ได้สภาวะนิรนาม ก็เพราะผู้ให้บริการสามารถติดตามและลงบันทึกการเชื่อมต่อกันระหว่างคอมพิวเตอร์ ยกตัวอย่างเช่น เมื่อผู้ใช้เยี่ยมชมเว็บไซต์ ข้อมูลเองอาจจะปลอดภัยเพราะเชื่อมต่อด้วยเอชทีทีพีเอส ดังนั้น คนพวกอื่นจะไม่สามารถรู้รหัสผ่าน อีเมล และเนื้อความอื่น ๆ แต่ก็ยังมีบันทึกเกี่ยวกับการเชื่อมต่อเอง เช่น ต่อเมื่อไร มีข้อมูลส่งผ่านแค่ไหน
การจัดเส้นทางแบบหัวหอมจะสร้างทางที่คลุมเครือระหว่างคอมพิวเตอร์สองเครื่อง เพื่อไม่ให้ระบบผู้ใช้เชื่อมต่อกับเว็บไซต์โดยตรง แม้จะยังมีบันทึกการเชื่อมต่อกันระหว่างคอมพิวเตอร์และก็ยังสามารถวิเคราะห์การสื่อสารเนื่องกับบันทึกการเชื่อมต่อเช่นนั้น แล้วพยายามเชื่อมเวลาและการส่งข้อมูลกับการเชื่อมต่อไปยังผู้รับหนึ่ง ๆ ยกตัวอย่างเช่น อาจจะเห็นบุคคลส่งข้อมูล 51 กิโลไบต์ถ้วนไปยังคอมพิวเตอร์ที่ไม่รู้จัก 3 วินาทีก่อนคอมพิวเตอร์อีกเครื่องที่ไม่รู้จักก็ส่งข้อมูล 51 กิโลไบต์ถ้วนเช่นกันไปยังเว็บไซต์หนึ่งโดยเฉพาะ
ปัจจัยที่อาจช่วยให้วิเคราะห์การสื่อสารได้รวมทั้งโหนดขัดข้องแล้วออกจากเครือข่าย และโหนดส่งต่อที่ถูกแฮ็กให้เก็บบันทึกการเชื่อมต่อทุก ๆ ครั้งที่มีการสร้างวงจรใหม่
การจัดเส้นทางแบบกระเทียม (Garlic routing) เป็นการจัดเส้นทางแบบหัวหอมอีกอย่างหนึ่งที่ใช้ในเครือข่ายไอทูพี และเข้ารหัสลับข้อความหลายข้อความเข้าด้วยกันเพื่อทำการวิเคราะห์การสื่อสารเช่นนี้ให้ยากขึ้น และเพื่อเพิ่มความเร็วในการถ่ายโอนข้อมูล
โหนดขาออก (Exit node)
แม้ข้อความที่ส่งจะเข้ารหัสลับเป็นชั้น ๆ แต่หน้าที่ของโหนดขาออก (exit node) ที่เป็นโหนดท้ายสุดในโซ่ ก็คือการถอดรหัสลับชั้นสุดท้ายแล้วส่งข้อความไปให้ผู้รับ ดังนั้น โหนดขาออกที่ถูกแก้ก็อาจจะเก็บข้อมูลที่ส่ง ซึ่งอาจมีรหัสผ่าน ข้อความส่วนตัว เลขบัญชีธนาคาร หรือข้อมูลส่วนตัวอื่น ๆ ในปี 2007 นักวิจัยชาวสวีเดนได้ใช้การโจมตีคล้าย ๆ กันนี้แล้วสามารถเก็บรหัสผ่านของบัญชีอีเมลกว่า 100 บัญชีของสถานทูตประเทศต่าง ๆ
จุดอ่อนโหนดขาออกจะคล้ายกับที่พบในเครือข่ายไร้สายที่ไม่ได้ทำให้ปลอดภัย คือข้อมูลที่ส่งโดยผู้ใช้เครือข่ายอาจถูกดักฟังโดยผู้ใช้อีกคนหนึ่งหรือโดยผู้ดำเนินการเราเตอร์ โดยปัญหาทั้งสองนี้สามารถแก้ได้โดยใช้การเชื่อมต่อที่เข้ารหัสลับจากต้นถึงปลาย เช่น เอสเอสแอลหรือเอชทีทีพีเอส ซึ่งทำให้แม้แต่ผู้ส่งต่อลำดับสุดท้ายก็ไม่สามารถรู้ข้อความดั้งเดิมได้
ดูเพิ่ม
- วิทยาการเข้ารหัสลับ
- ตุ๊กตาแม่ลูกดก
- พร็อกซีเซิร์ฟเวอร์
- - การทำให้เกิดผลการจัดเส้นทางแบบหัวหอม
- - การทำให้เกิดผลการจัดเส้นทางแบบหัวหอม
เชิงอรรถและอ้างอิง
- "Tor: Overview". The Tor Project. สืบค้นเมื่อ 19 มิถุนายน 2018.
- Dingledine, Mathewson & Syverson (2004)
- "routing", ศัพท์บัญญัติอังกฤษ-ไทย, ไทย-อังกฤษ ฉบับราชบัณฑิตยสถาน (คอมพิวเตอร์) รุ่น ๑.๑ ฉบับ ๒๕๔๕ (CD-ROM). "(เทคโนโลยีสารสนเทศ) การจัดเส้นทาง".
- Goldschlag, D; Reed, M; Syverson, P (1999). "Onion Routing for Anonymous and Private Internet Connections" (PDF). onion-router.net.
- Soltani, Ramin; Goeckel, Dennis; Towsley, Don; Houmansadr, Amir (2017-11-27). "Towards Provably Invisible Network Flow Fingerprints". :1711.10079 [cs.NI].
- Reed MG, Sylverson PF, Goldschlag DM (1998). "Anonymous connections and onion routing". IEEE Journal on Selected Areas in Communications. 16 (4): 482–494. ISSN 0733-8716.
- US patent 6266704, Reed, Michael G. (Bethesda, MD) ; Syverson, Paul F. (Silver Spring, MD) ; Goldschlag, David M. (Silver Spring, MD), "Onion routing network for securely moving data through communication networks", assigned to The United States of America as represented by the Secretary of the Navy (Washington, DC)
- Levine, Yasha (16 กรกฎาคม 2014). "Almost everyone involved in developing Tor was (or is) funded by the US government". Pando Daily. สืบค้นเมื่อ 30 สิงหาคม 2014.
- Fagoyinbo, Joseph Babatunde (24 พฤษภาคม 2013). The Armed Forces: Instrument of Peace, Strength, Development and Prosperity. AuthorHouse. ISBN . สืบค้นเมื่อ 29 สิงหาคม 2014.
- Leigh, David; Harding, Luke (8 กุมภาพันธ์ 2011). WikiLeaks: Inside Julian Assange's War on Secrecy. PublicAffairs. ISBN . สืบค้นเมื่อ 29 สิงหาคม 2014.
- Dingledine, Roger (20 กันยายน 2002). "pre-alpha: run an onion proxy now!". or-dev (Mailing list). สืบค้นเมื่อ 17 กรกฎาคม 2008.
- "Tor FAQ: Why is it called Tor?". Tor Project. สืบค้นเมื่อ 1 กรกฎาคม 2011.
- "Tor: Sponsors". Tor Project. สืบค้นเมื่อ 1 ธันวาคม 2010.
- "Attacks Prompt Update for 'Tor' Anonymity Network". Washington Post. 8 สิงหาคม 2007.
- Dingledine, Mathewson & Syverson (2004), 4 The Tor Design
- Dingledine, Mathewson & Syverson (2004), 1 Overview
- Elahi, Tariq; Bauer, Kevin; AlSabah, Mashael; Dingledine, Roger; Goldberg, Ian (15 ตุลาคม 2012). "Changing of the Guards: A Framework for Understanding and Improving Entry Guard Selection in Tor". Proceedings of the Workshop on Privacy in the Electronic Society (WPES 2012). ACM Press. PDF (600 KB)
- "Tor: Bridges". Tor Project. สืบค้นเมื่อ 9 มกราคม 2011.
- "Tor FAQ: Is Tor like a VPN?". Tor Projects. สืบค้นเมื่อ 19 มิถุนายน 2018.
- "Tor FAQ: Tell me about all the keys Tor uses". Tor Projects. สืบค้นเมื่อ 19 มิถุนายน 2018.
- Dingledine, Mathewson & Syverson (2004), 6.3 Directory Servers
- Dingledine, Mathewson & Syverson (2004), 5 Rendezvous Points and hidden services
- Dingledine, Mathewson & Syverson (2004), 4.1 cells
- Dingledine, Roger (30 กรกฎาคม 2014). "Tor security advisory: "relay early" traffic confirmation attack". The Tor Project.
- Dingledine, Mathewson & Syverson (2004), 7 Attacks and Defenses: Active Attacks
- Dingledine & Mathewson (2018), 1.1. Keys and names, line 154-196
- "index : torspec : Tor directory protocol, version 3 (blob: bcb04a5e63beed9d8ae9ff54334f090321b3435d)". The Tor Project. 0.2. Goals of the version 3 protocol, line 87–113. สืบค้นเมื่อ 18 มิถุนายน 2018.
- Dingledine, Mathewson & Syverson (2004), 4.1 cells: Relay Cells "When an OR later replies to Alice with a relay cell, it encrypts the cell’s relay header and payload with the single key it shares with Alice, and sends the cell back toward Alice along the circuit. Subsequent ORs add further layers of encryption as they relay the cell back to Alice."
- Dingledine, Roger; Mathewson, Nick. "index : torspec : Tor Protocol Specification (blob: ea195ada02c325293dba8fe788862f19db4a20e3)". Tor Project. 3. Cell Packet format, line 412-495. สืบค้นเมื่อ 18 มิถุนายน 2018.
- Dingledine & Mathewson (2018), 5.6. Handling relay_early cells, line 1385-1403
- Mathewson, Nick (4 ตุลาคม 2012). "Top changes in Tor since the 2004 design paper (Part 1)". Tor Blog.
- Dingledine, Mathewson & Syverson (2004), 4.2 Circuits and streams: Figure 1
- "Tor FAQ: What are Entry Guards?". Tor Projects. สืบค้นเมื่อ 19 มิถุนายน 2018.
- Dingledine, Mathewson & Syverson (2004), 4.2 Circuits and streams: Constructing a circuit
- "Tor FAQ: How is Tor different from other proxies?". Tor Projects. สืบค้นเมื่อ 19 มิถุนายน 2018.
- Dingledine, Mathewson & Syverson (2004), 4.2 Circuits and streams: Relay cells
- Dingledine, Mathewson & Syverson (2004), 7 Attacks and Defenses
- Dingledine, Mathewson & Syverson (2004), 7 Attacks and Defenses: Passive Attacks
- Perry, Mike (7 พฤศจิกายน 2013). "A Critique of Website Traffic Fingerprinting Attacks". Tor Blog.
- Dingledine, Roger (31 กรกฎาคม 2015). "A technical summary of the Usenix fingerprinting paper".
- Shmatikov, Vitaly; Wang, Ming-Hsiu (18 กันยายน 2006). "Timing analysis in low-latency mix networks: attacks and defenses". Proceedings of the 11th European conference on Research in Computer Security. ESORICS'06: 18–33. doi:10.1007/11863908_2. S2CID 3113181.
- Dingledine, Roger. "Tor: The Second-Generation Onion Router". Tor Project. สืบค้นเมื่อ 24 ตุลาคม 2012.
- Wright, Matthew K; Adler, Micah; Levine, Brian Neil; Shields, Clay (พฤศจิกายน 2004). (PDF). ACM Transactions on Information and System Security. 7 (4): 489–522. คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 4 มีนาคม 2016. สืบค้นเมื่อ 10 กรกฎาคม 2018.
- "Common Darknet Weaknesses 2: Tor and I2P". Privacy PC. 28 มกราคม 2004. จากแหล่งเดิมเมื่อ 25 มกราคม 2018.
- Zantour, Bassam; Haraty, Ramzi A (มกราคม 2011). I2P Data Communication System. Proceedings of ICN 2011, The Tenth International Conference on Networks. IARIA. pp. 401–409. :10725/7119.
- "Security researcher stumbles across embassy e-mail log-ins". Arstechnica. 30 สิงหาคม 2007.
แหล่งข้อมูลอื่น
- Dingledine, Roger; Mathewson, Nick; Syverson, Paul (13 สิงหาคม 2004). "Tor: The Second-Generation Onion Router". Proc. 13th USENIX Security Symposium. San Diego, California. สืบค้นเมื่อ 17 พฤศจิกายน 2008. tor-design.pdf PDF (292 KB)
- Onion-Router.net - site formerly hosted at the Center for High Assurance Computer Systems of the U.S. Naval Research Laboratory
- Sylverson, P. F.; Goldschlag, D. M.; Reed, M. G. (1997). "Anonymous Connections and Onion Routing". IEEE Symposium on Security and Privacy. : 10.1.1.64.4829 - The original paper from the Naval Research Laboratory
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
karcdesnthangaebbhwhxm xngkvs onion routing epnethkhnikhkarsuxsaraebbnirnamphanekhruxkhaykhxmphiwetxr inekhruxkhayhwhxm khxkhwamcaekharhslbepnchn cungxupmaehmuxnkbchnhwhxm khxmulthiekharhscasngphanohnd sthanirielyinekhruxkhaythieriykwa eraetxrhwhxm onion router odyaetlasthanica pxk chnhnungxxkephuxepidexakhxmulthicasngtxip emuxchnsudthayidthxdrhsaelw khxkhwamedimkcasngipyngrabbepahmaycring phusngidsphawanirnamkephraasthaniinrahwang caruthixyu taaehnngkhxngohndkxnhnaaelaohndthisngtxipethann odyimmisthaniihn thiruthixyukhxngthngrabbtnsayaelarabbplaythangthngsxng aemrabbplaythangexngkruephiyngaetthixyukhxngsthanisudthayinekhruxkhayethann aetkmiwithithisamarththalaysphawanirnamkhxngethkhnikhechnniid echn karwiekhraahewla thasamarthdkfngkhxmulthngkhaekhakhaxxkcakekhruxkhayidemuxsngkhxmulipyngplaythang rabbphuich phrxksihwhxm onion proxy OP caekharhslbkhxmulepnchn odyichkuyaecekharhsaebbsmmatrthiidaelkepliynkbsthanirielyaetlasthaniinwngcrkarsuxsaresmuxnthiidsrangkhunkxnsngkhxmul epnkuyaecthismphnthkbsthanitang erimtngaetsthanikhaxxk sthanisudthay yxnladbklbmacnthungsthanikhaekha emuxkhxmulsngipthungaetlasthani sthanikcasamarththxdrhschnthiekhakuyaecsungtnidaelkepliyn aelwthakarthismkhwrechnsngkhxmulnntxipid odythiimsamarthrukhxmulthisngtxephraaekharhsdwykuyaecthitnimmi sthanikhaxxkcaepnphuthxdrhschnsudthayaelwsngkhxmuldngedimipyngrabbplaythangtxip intwxyangni rabbphuichcasngkhxmulphansthani A ipyng B ipsudthi C aelw C kcasngtxkhxmuledimipyngrabbplaythang dngnn rabbphuichcungekharhskhxmulthisngodyichkuyaecthismphnthkb C aelwekharhsdwykuyaecthismphnthkb B aelainthisudekharhsdwykuyaecthismphnthkb A dngnn emux A idrbkhxmul kcasamarththxdrhschnaerkodyichkuyaecthiidaelkepliynknemuxsrangwngcr aelasthanitx ipkhux B aela C kechnkn nxkcakcaxupmaehmuxnkbhwhxmthiepnchn karsngkhxmulaebbniyngehmuxnkbkhudxuomngkhphayinxuomngkh tunneling ephuxsngkhxmul sungmiswnkhlaykbkarichxuomngkhkhxngekhruxkhayswntwesmuxn VPN ephuxsngkhxmulipyngrabbxun aettangodyhlkephraaepnxuomngkhhlaychnphthnakaraelakarthaihekidphlkarcdesnthangaebbhwhxmidphthnakhuninklangkhristthswrrs 1990 n aelbwicykxngthpheruxshrthodyecahnathikhux Paul Syverson Michael G Reed aela David Goldschlag ephuxpxngknkarsuxsarrachkarlbkhxngshrthxxniln aelwtxmacungphthnayingkhunodysanknganoprecktnganwicykawhnakrathrwngklaohm DARPA aelwcdsiththibtrodykxngthpheruxinpi 1998 txmainpi 2002 nkwithyakarkhxmphiwetxr rxecxr dingekilidn Roger Dingledine aelanik aemththiwsn Nick Mathewson cungrwmmuxkb Syverson ephuxphthnasxftaewrkarcdesnthangaebbhwhxminrupaebbthiruckkndithisud khux thxr Tor sunginewlanneriykwa The Onion Routing project hrux TOR project oprecktthxr aelwtxmainpi 2004 cungidtiphimphexksarkarxxkaebbkhxngthxrrunsxnginnganprachum USENIX Security khrngthi 13 sungklayepnmulthankhxngkarthaihekidphltxma hlngcakthiaelbwicykxngthpheruxshrthidxnuyatihichrhskhasngkhxngthxrtamsyyaesri dingekilidn aemththiwsn aelabukhlakrxun xik 5 thankidcdtngoprecktthxrepnxngkhkarimaeswnghaphlkairinpi 2006 odyidrbkarsnbsnunthangkarengincakmulnithichayaednxielkthrxnik EFF aelaxngkhkrxun kardaeninnganihsngektwa karcdesnthangaebbhwhxmepnophrothkhxlthidaeninkaraelaphthnakarkhuneruxy odyoprecktthxrepnhlk enuxngcakimmiexksarthirwmsrupkarthaihekidphldngthiichinpccubnaebbngay nxkehnuxcakexksarkahndkhunlksnathangethkhniktang khxmulinbthkhwamnicungmacakbthkhwamtang erimtngaetexksaraesdngaebbkhxngophrothrkhxlrunsxngkhxngthxrinpi 2004 enuxkhwaminbthkhwamxaccacbickhwamsakhytang id aetraylaexiydbangxyangxacekhluxnkhladcakdngthithaihekidphlinpccubn sphththiichinbthkhwam sphth xngkvs hmayehtuphrxksihwhxm rabbphuich rabbtnthang rabbtnsay onion proxy OP twtxprasanopraekrmaebb SOCKS khxngphuichkbekhruxkhay ptibtikarephuxihopraekrmphuichsamarthsuxsarxyangnirnamphanekhruxkhayidohnd sthani node sthanikhuxrabbbrikarinekhruxkhayephuxihsuxsaridxyangnirnam echn sthanisngtxepntnsthaniriely riely sthanisngtx eraetxr eraetxrhwhxm relay onion router OR sthanisngtxinrahwang inekhruxkhayephuxsngkhxmulipyngrabbplaythangsthanikhaekha sthaniaerk sthanihnung entry node sthanisngtxthirabbphuichtidtxepnxndbaerkinekhruxkhay ephuxtngwngcrkarsuxsaraelaephuxsuxsarphanekhruxkhay epnsthaniediywthiruthixyuixphikhxngrabbphuichsthaniklang sthanisxng middle node sthanisngtxthirabbphuicheluxkephuxsngtxkhxmulrahwangsthanikhaekhaaelasthanikhaxxk pktimisthaniediyw sthaniruthixyuixphikhxngsthanithiechuxmknodytrngkhuxthixyukxnaelahlngtnexnginwngcrethannsthanikhaxxk sthanisam exit node sthanisngtxsudthayphayinekhruxkhay thithahnathithxdrhslbchnsudthayaelwsngkhxkhwamedimipyngrabbplaythang epnsthaniediywthiruthixyukhxngrabbplaythangaelasamarthekhathungkhxmuldngedimthisngrahwangrabbphuichkbrabbplaythangsthaniyam entry guard estyxykhxngsthanikhaekhakhxngekhruxkhaythirabbphuicheluxkodysumaelwichepnchwrayaewlahnung odypkticaepliynchudthuk 30 60 wnsthanisaphan bridge relay bridge sthanisngtxthiimaesdnginsarbb pktiichinkarechuxmtxkbekhruxkhayemuxsthanisngtxthirabuinsarbbthukblxkenuxngkbkartrwcphicarnathangxinethxrent aelasamarthichephuxxaphrangkarichekhruxkhayohndsarbb rabbbrikarsarbb directory node server ohndthiidkhwamechuxthuxephimkhunaelaihbrikarthangsarbbkhuxaesdngraykarsthanisngtxtang phayinekhruxkhayphrxmthngsthanapccubnkhxngsthaniinraykar odypi 2012 ekhruxkhaymiohndsarbb 8 sthani rabbphuichcaaeckcayphrxmkbraykarohndsarbbaelakuyaecrabutwrabbplaythang rabbbrikarthiphuichtxngkarsuxsardwy echn rabbbrikarewb esirchexncin epntnbrikarsxn hidden service server HS rabbbrikarphayinekhruxkhaythiihbrikaraekphuichodyimtxngepidephythixyuixphikhxngtn sahrbrabbbrikarni rabbphuichimtxngsrangwngcrkarsuxsarthimisthanikhaxxkephraarabbxyuinekhruxkhaywngcr wngcrkarsuxsar wngcresmuxn circuit wngcrkarsuxsarkhuxladbohndinkarsngtxkhxmulrahwangrabbphuichkbrabbplaythang pkticamisthanisngtxinrahwang 3 sthani wngcrkarsuxsarepnaebbsuxidsxngthang khuxemuxtngkhunaelw sthaniaetlasthanicaruwa khxmulthimacakdanhnungtxngsngipyngxikdanhnungodyxactxngekhahruxthxdrhslb aelainnyklbknkechnkn wngcrhnung xacmikraaeskhxmulthisiphihlaykraaes thixactxkbrabbbrikarediywknhruxhlayrabb odyepnkraaeskhxmulkhxngopraekrmxnediywknhruxtang kn rabbphuichcasrangwngcrihmephuxkraaesthisiphiihmthuk 10 nathiesll cell hnwykhxmulphunthanthisngphayinwngcr aetlahnwymikhnadethaknkhux 512 ibt esllthnghmdcaekharhslbdwykuyaecthiaexlexsemuxsuxsarphankarechuxmtxaebbthiaexlexsrahwangrabbtang erimtngaetrabbtnthangcnthungsthanisudthayinekhruxkhayesllkhwbkhum control cell link cell esllthiichsuxsarkbsthanithixyutxknephuxsrangwngcraelayutiwngcrepntnesllsngtx esllriely relay cell esllthiichephuxsngkhxmulkarsuxsarcaktncnthungplay swnkhxmulkhxngesllcaekharhsdwykuyaecxayusnepnchn swnhwkhxngesll cell header khxmulrabuwngcraelakhasngkhwbkhumesllswnhwriely relay header swnhwthimiephimkhunsahrbesllriely nxkehnuxcakswnhwkhxngesll sungaesdngsaykhxmul khaaehchephuxtrwcsxbburnphaphkhxngkhxmul khnadkhxmul aelakhasngriely xyutxcakswnhwkhxngesllkhxmulriely relay data swnkhxmulkhxngesllriely xyutxcakswnhwrielyswnriely swnkhxmul khxngesll cell data khxmulthitxcakswnhwkhxngesllsungprakxbdwyswnhwrielyaelakhxmulriely epnswnthiekharhsepnchn khlayhwhxmkuyaecthiaexlexs session key TLS session key connection key kuyaecaebbsmmatrthitngkhunemuxsrangkarechuxmtxaebbthiaexlexsrahwangrabbtang erimtngaetrabbphuichcnthungsthanikhaxxk epnkuyaecthirukninrahwangrabbthiechuxmtxknodytrngphayinwngcr odyrabbthngsxngcathingkuyaecemuxkarechuxmtxsinsudlng karekharhsodyichkuyaecnicapxngknkartrwcduhruxepliynkhxmul pxngknkarplxmtwkhxngrabbxun waepnrabbphayinwngcr aelapxngknimihthxdrhskhxmulinwngcrthidkekbiwephuxthxdrhsinxnakht ephraakuyaecthingipaelw kuyaecchwngewla kuyaecxayusn ephemeral key session key circuit session key kuyaecaebbsmmatrthitngkhunemuxsrangwngcresmuxnrahwangrabbphuichkbsthanisngtxinrahwang aetlasthani odyrabbthngsxngcathingkuyaecemuxyutikarechuxmtxinwngcr epnkuyaecthiichekharhsswnkhxmulkhxngesllepnchn ehmuxnhwhxm kuyaecnicapxngknimihthxdrhskhxmulinwngcrthidkekbiwephuxthxdrhsinxnakht ephraakuyaecthingipaelw pxngknimihsthanisngtxykewnsthanithaysud rukhxmulthisngrahwangtnsayhruxplaythangidkuyaechwhxm onion key kuyaecaebbxsmmatrthisthanisngtxcaepliynthuk xathity epnkuyaecthiichthxdrhskhakhxtngwngcrcakrabbphuichaelaephuxtxrxngsrangkuyaecxayusnkuyaecrabutw kuyaecrabusthani kuyaecrabutwrayaklang identity key kuyaecaebbxsmmatrthiichrabusthanitang inekhruxkhayrwmthngsthanirielyaelaohndsarbb epnkuyaecthiichinrayayaw sahrbriely niichrabutwaelatxrxngsrangkuyaecthiaexlexs emuxrabbsxngrabberimechuxmtxkn aelaichesnkhxmulekiywkbsthaninn insarbb sahrbohndsarbb niepnkuyaecthiekbxxfiln authority key thiichephuxesnkuyaecrabutwrayaklang directory signing key sungcaepliynepnraya ptipks phuocmti stru adversary attacker phuthakarephuxepidephyrabbtnsayaelaplaythangkhxngwngcr hruxepidephykhxmulinwngcrkhxngekhruxkhaykhaxthibaykhraw karsuxsarxyangnirnamphanekhruxkhayhwhxmkhaaepl Origen opraekrmphuich OP phrxksihwhxm rabbphuich Destino rabbplaythang thiehlux dusphth esnthangkarsuxsar naengin saykhxmulthisiphiphantwtxprasan SOCKS aedngthub karsngesllaebbsxngthangphanthiaexlexssungekharhslbodyekhruxkhay da karsuxsarphanthisiphisungimidekharhslbodyekhruxkhay karcdesnthangaebbhwhxm onion routing thaihekidphlodykarekharhslbinchnopraekrmprayuktkhxngophrothkhxlsaetkthisiphithiichinkarsuxsar odythaepnchn ehmuxnkbkhxnghwhxm khuxrabbphuichcasrangwngcrkarsuxsaresmuxnphansthani ohndsngtxtang 3 sthanisungeluxkodysumepnladb karsrangcaephimsthanithilasthani ekhainwngcrdwykarsuxsarthiekharhslb odysthanisngtxaetlasthani caruaetelkhthixyuixphikhaekhaaelakhaxxkkhxngtn ethann aelaimmisthaniihninrahwang thiruthngthixyukhxngtnsayaelakhxngplaythangthngsxng aeminmummxngkhxngrabbplaythang kcaduehmuxnwakarsuxsarerimmacaksthanikhaxxkkhxngekhruxkhay emuxkalngsrangwngcr rabbphuichcaaelkepliynkuyaecekharhslbaebbsmmatrodyechphaa kbohndsngtxaetlasthani ephuxemuxsngkhxmulipyngplaythang rabbphuichkcaekharhskhxmulepnchn dwykuyaecthiaelkepliynerimtngaetsthanikhaxxk sthanisudthay yxnladbklbmacathungsthanikhaekha emuxkhxmulsngipthungaetlasthani sthanikcasamarththxdrhschnthiekhakuyaecsungtnidaelkepliyn aelwthakarthismkhwrechnsngkhxmulnntxipid odythiimsamarthrukhxmulthisngtxephraaekharhsdwykuyaecthitnimmi sthanikhaxxkcaepnphuthxdrhschnsudthayaelwsngkhxmuldngedimipyngrabbplaythangtxip emuxrabbplaythangsngkhxmulklbipyngrabbphuich khxmulkcawingphanwngcrkarsuxsarediywknodyklbladbkhuxcaksthanikhaxxkcnipthungsthanikhaekha odysthanisngtxaetlasthani caekharhslbkhxmuldwykuyaecthitnichrwmkbrabbphuich dngnn emuxsthanikhaekhasngkhxmulklbipthungrabbtnthang khxmulesllcaekharhsiwepnsamchn sungrabbphuichcathxdrhsdwykuyaecthitnichrwmknsthanisngtxtang bn esllkhwbkhumthixacichtngwngcrhruxyutiwngcrepntn lang esllrielythixacichsngkhxmulcakrabbphuichipyngrabbplaythangepntnesll eraetxrhwhxmsuxsarkbknaelakn aelakbrabbphuich phankarechuxmtxkndwythiaexlexsaelakarekharhsdwykuyaecxayusn thiaexlexschwypkpidkhxmulinsayechuxmtxihepnkhwamlbthiaememuxdkekbkhxmuliwid kcaimsamarththxdrhskhxmulidinxnakht perfect forward secrecy aelapxngknphuocmtiimihepliynkhxmulinsay hruxplxmtwwaepneraetxrhwhxm khxmulsngphanekhruxkhayodymihnwyepnesll sungmikhnadtaytwkhux 512 ibt aelaemuxesllaetlaesllwingphanwngcrerimtngaetrabbphuich esllcaekharhslbdwykuyaecthiaexlexskhxngkarechuxmtxaebbthiaexlexsinrahwangrabbthixyutxknodytrng swnhwkhxngaetlaesllmikhxmulkhux cirID bxkwaesllnisahrbwngcrkarsuxsarihn ephraarabbsamarthmiwngcrwingphankarechuxmtxaebbthiaexlexsediywknhlaywngcr CMD epnkhasngwasthanisngtxkhwrthaxairtxesll ephraaesllaebngepnsamxyangkhux esllkhwbkhum control cell hruxesllsngtx esllriely relay cell hruxesllsngtxebuxngtn early relay cell esllkhwbkhumxacichephuxkhxihsthanitxkntngwngcrhruxyutiwngcrepntn esllsngtxcaichsahrbsngkhxmulkarsuxsarphanwngcrodymikhxmultxcakswnhwkhxngesll aelaesllsngtxebuxngtn sungephimkhuninpi 2008 ichpxngknimihrabbphuichsrangwngcryawekinephraasrangpyhakartidkhdinekhruxkhayaelasamarthchwythalaysphaphnirnamid esllkhwbkhumsamarthmikhasngrwmthngpadding create hrux created thiichinkarsrangwngcr relay ephuxkahndwaepnesllsngtx destroy ephuxruxwngcr create fast hrux created fast netinfo relay early ephuxkahndepnesllsngtxthixacrwmichkb relay extend ephuxpxngknimihrabbphuichsrangwngcryawekin rielyrunhlngcak 0 2 3 11 alpha captiesthesllsngtxaebb relay extend thiimmikhasngesllepn relay early rabbphuichxacsngesll relay early thiimichesllsngtxaebb relay extend inkarsngkhxmulphayineslltn khxngwngcrephuxxaphrangkhwamyawkhxngwngcr create2 hrux created2 padding negotiate sahrbesllsngtx swnthiepnkhxmulphayinesllcaekharhslbdwykuyaecxayusnthirwmichrahwangrabbphuichkbsthaniaetlasthani swnniyngmiswnhwriely relay header sungxyuinladbtxipcakswnhwkhxngesll rwmthngStreamID wngcrhnungxacmikraaeskhxmulhlaysay sungxacepnkraaeskhxmulthisiphicakopraekrmphuichediywknhruxcakhlayopraekrm Digest epnphlrwmtrwcsxb checksum khxngkhxmul pktiichechkhwamikarepliynkhxmulrahwangrabbphurbaelasthanisudthayinekhruxkhayhruxim Len khnadkhxngswn DATA CMD epnkhasngrielysahrbsthanithiepnepahmay echn ihsngswnthiepn DATA txipepntn DATA epnswnkhxmul echn thisngtxipyngrabbepahmayepntn esllsngtxsamarthmikhasngdngtxipnikhuxrelay data ihsngkhxmul relay begin ihepidsaykhxmul stream relay end ihpidsaykhxmulodyeriybrxy relay teardown ihpidsaykhxmulthiesiy relay connected ephuxaecngrabbphuichwa khasng relay begin idthasaercaelw relay extend aela relay extended ihtxwngcripxikhnungsthani aelaephuxaecngwatxsaercaelw relay truncate aela relay truncated ihruxswnhnungkhxngwngcr aelaephuxaecngwaruxsaercaelw relay sendme ichinkarkhwbkhumsaykhxmulthitidkhd congestion relay drop rabbphuich Alice tidtxkbohndsarbb Dave phankarechuxmtxthiekharhslb ephuxrbraykarsthanisngtxkhxngthxr Tor node odymunghmaysuxsarkbrabbplaythangkhux Jane aela Bob ehnuxesnpra phngaesdngkarsuxsarrahwangrabbphuich Alice kbsthanihnung OR1 aelasthanisxng OR2 ephuxtngwngcrkarsuxsarphan 2 sthanisngtxipyngplaythang itesnpra phngaesdngkarsuxsarrahwangrabbphuichkbrabbplaythangphansthanisngtx 2 sthani khaxthibaysylksn E x karekharhslbdwy RSA x karekharhslbdwy AES H x khaaehchdwy SHA1 ihsngektwa esllaebb Relay bangswnpccubnxacthaihekidphlodyepnesll Relay early dukhxmulekiywkbesllkhwbkhumdngthiklawaelw karsrangwngcresmuxnephuxsrangwngcresmuxnhnung rabbphuichcakhxraykarsthanisngtxcakohndsarbb raykarthiidcaesnchuxodykuyaecrabutwrayaklangkhxngohndsarbb aelakhxmulekiywkbsthanicaesnchuxodykuyaecrabutwkhxngsthanithismphnthkn rabbphuichpkticaeluxksthani 3 sthanicakraykarephuxsrangwngcr odymikareluxkohndkhaekhacakraykarsumthieluxkichnanepnphiessthieriykwa sthaniyam entry guards ohndthieluxkcacberiyngladbepn os hrux wngcr thicasngphankhxmul ephuxrksasphaphnirnamkhxngphusng immiohndihninwngcrthiruthngthixyukhxngtnsayaelakhxngplaythangthngsxng aeminmummxngkhxngrabbplaythang kcaduehmuxnwakarsuxsarerimmacaksthanikhaxxkkhxngekhruxkhay echnkn immiohndihninwngcrthisamarthbxkwamiohndcanwnethairinwngcrhruxruesnthangkarsngkhxmulthnghmdphayinwngcr aelaohndsudthayethann sungeriykwaohndkhaxxk exit node casamarthkahndtaaehnngtwexngphayinlukos emuxsrangwngcr rabbphuichcatxsthanirielyekhakbwngcrthilasthani tx kn odythikarsuxsarrahwangrabbtang cathaphanthiaexlexsxasykuyaecrabusthanirayayawthiphbinsarbb kartxsthanimiraylaexiydkhuxkhux duprakxbrup sahrbsthaniaerk OR1 rabbphuichkhxihsthanisrangwngcr Create c1 odysngkhxmul g x1 thiekharhslbdwykuyaechwhxmkhxngsthaniaerk sungepnswnaerkkhxngophrothkhxltxrxngephuxkuyaecsmmatrkhuxkuyaecxayusn ihsngektwa sthaniaerkruthixyuixphikhxngrabbphuich aelasthaniaerkcatxbsnxngtxkhakhxidktxemuxrukuyaechwhxmswntwkhxngtn sthaniaerksngkhatxbyxmrbkarsrangwngcr Created c1 phrxmkhxmulthikahndkuyaecxayusn g y1 epntn thicaichephuxekharhskhxmulesllrahwangrabbphuichkbsthaniaerk sahrbsthanisxng OR2 rabbphuichcasngkhakhxihtxwngcrechuxmkbsthanithisxngipyngsthaniaerk odyrwmkhxmulthiekharhslbdwykuyaechwhxmkhxngsthanithisxng g x2 sungepnswnaerkkhxngophrothkhxltxrxngephuxkuyaecxayusn phrxmkbkhakhxkartxwngcr Extend sungrabusthanithisxngodyechphaa ekhaepnswnkhxmulkhxngesll aelwekharhslbswnkhxmuldwykuyaecxayusnthiichrwmkbsthaniaerk g x1y1 txcaknncungsngkhakhxihsng Relay Relay early ipyngsthaniaerk ihsngektwa thamiikhrsamarththxdrhslbkarsuxsarodyichthiaexlexsid aetimmikuyaecxayusnkhxngsthaniaerk kcaimsamarthkahndidwa esllmikhxmulthicasngtx hruxepnkhakhx khatxbrb khuximsamarthruwaikhrkalngedineninngankickrrmxaircring sthaniaerkthxdrhsswnkhxmulkhxngeslldwyrhsxayusnthiichrwmkbrabbphuich g x1y1 aelwphbkhakhxihtxwngcr Extend cungkhxihsthanisxngsrangwngcr Create c2 odysngkhakhxphrxmkbkhxmulekharhslb g x2 thimacakrabbphuich ihsngektwa sthaniaerkruthixyuixphikhxngsthanisxng aetimruswnkhxmulthiekharhslbdwykuyaechwhxmkhxngsthanisxngcakrabbphuich khxmulsungepnswnaerkkhxngophrothkhxltxrxngephuxkuyaecsmmatrkhuxkuyaecxayusn sthanisxngcatxbsnxngtxkhakhxidktxemuxrukuyaechwhxmswntwkhxngtn aelacakmummxngkhxngsthanisxng khakhxkarsrangwngcrehmuxnkbmacaksthaniaerk cungimsamarthbxkidwa epnkarephimtxwngcrcakrabbphuich sthanisxngsngkhatxbyxmrbkarsrangwngcr Created c2 phrxmkhxmulthikahndkuyaecxayusn g y2 epntn thicaichephuxekharhsswnkhxmulkhxngesllrahwangrabbphuichaelasthanisxng odysngipyngsthanihnung sthaniaerkrwmkaryxmrbkartxwngcr Extended phrxmkbkhxmulthikahndkuyaecxayusn g y2 epntn ekhainswnkhxmulkhxngesll aelwekharhslbdwykuyaecxayusnthiichrwmkbrabbphuich txcaknncungsngkhxmulklbipyngrabbphuichodyepnkhakhxihsng Relay ihsngektwa thamiikhrsamarththxdrhslbkarsuxsarodyichthiaexlexsid aetimmikuyaecxayusnkhxngsthaniaerk kcaimsamarthkahndidwa esllmikhxmulthicasngtx hruxepnkhakhx khatxbrb khuximsamarthruwaikhrkalngedineninngankickrrmxaircring twxyangni epnkarsrangwngcrthimiohndsngtxephiyngaekhsxngsthaniethann karsrangwngcrephimephuxihmiohndsngtx 3 sthanikthaidodynyediywkn khuxrabbphuichsamarthsngkhakhxkartxwngcr Extend echuxmkbsthanisamipyngsthanisxngodysngphansthanihnung khlaykbladb 3 thiklawmaaelw aetekharhslbswnkhxmulkhxngesllsxngkhrngdwykuyaecxayusnthiichrwmkbsthanisxng g x2y2 aelwdwykuyaecxayusnthiichrwmkbsthanihnung g x1y1 ephuxkhwamkracang xacklawodyxikwithihnungkkhux odyichkarekharhslbaebbkuyaecxsmmatr rabbphuichsamarthrbkuyaecsatharna identity key ephuxerimkarechuxmtxaebbthiaexlexskbohndkhaekha aelwsngkhxkhwamphanthiaexlexssungekharhsdwykuyaecthiaexlexs ephuxtxrxngsrangkuyaecxayusn ephemeral key xasykuyaechwhxm onion key khxngsthani odyichkarechuxmtxthiekharhskbohndkhaekha dwykuyaecthiaexlexs aelakuyaecxayusnephuxekharhsswnkhxmulkhxngesllxikthihnung rabbphuichsngkhakhxihtxsthanisxngekhakbwngcripyngsthaniaerk sungsthaniaerkthakbsthanisxngkhlayinkhntxnthihnung aetichkhxmulkartxrxngsrangkuyaecxayusnthiidcakrabbphuich ephraasthaniaerkcaimrukuyaecxayusnkhxngsthanithisxng odymummxngkhxngsthanithisxng niepnehmuxnkarkhxsrangwngcrcaksthaniaerk cungimsamarthbxkidwaepnkartxwngcrthierimcakrabbphuich odyichkarechuxmtxthiekharhskbohndkhaekha dwykuyaecthiaexlexs aelakuyaecxayusnephuxekharhsswnkhxmulkhxngesllxikthihnung aelakarechuxmtxthiekharhskbohndklang dwykuyaecthiaexlexsthiichrwmknrahwangsthaniaerkaelasxng aelakuyaecxayusnephuxekharhsswnkhxmulkhxngesllxikthihnung rabbphuichsngkhakhxihtxsthanisamekhakbwngcripyngsthanisxng sungsthanisxngthakbsthanisamehmuxninkhntxnthihnung aetichkhxmulkartxrxngsrangkuyaecxayusnthiidcakrabbphuich ephraasthanisxngcaimrukuyaecxayusnkhxngsthanithisam odymummxngkhxngsthanithisam niepnehmuxnkarkhxsrangwngcrcaksthanisxng cungimsamarthbxkidwaepnkartxwngcrthierimcakrabbphuich emuxsrangwngcresrcaelw rabbphuichkcasamarthsngkhxmulphanxinethxrentipyngrabbplaythangxyangnirnamid sahrbopraekrmphuichthitngihsuxsarphanekhruxkhayhwhxm imwacaepnopraekrmediyw echnthxrebrawesxr hruxhlayopraekrm saykhxmulthisiphitang thiopraekrmphuichsrangkcasngphanwngcrediywkn aetrabbphuichcatngwngcrihmthuk 10 nathi dngnn saykhxmulihmthitngkhunkcaichwngcrihm swnsaykhxmulekathiyngdaeninkarxyukcakhngxyuinwngcredimcnkwacaesrc dngnn inrabbphuich xacmikarsngkhxmulphanekhruxkhayhwhxmepnhlaywngcr aetlawngcrxacmisaykhxmulhlaysay odyxacepnsaykhxmulcakopraekrmchudediywhruxhlayopraekrm karepliynwngcrkarsuxsarechnni odymisthanikhaxxkthitang kn cathaihrabbplaythangsmphnthkarkrathakhxngphuichthiekidinewlatang idyakkhun karsngkhxmul rabbphuich Alice idsrangwngcrphansthanisngtx 3 sthani Tor node ephuxsuxsarkbrabbplaythang Bob esnsiekhiywepnkarechuxmtxthiekharhslbodyekhruxkhay swnesnsiaedngpraimidekharhslbodyekhruxkhay emuxwngcrsrangkhunaelw rabbphuichsamartherimsngrbkhxmulphanekhruxkhaynirnamthiekharhslbdwykuyaecsxngtwkhux kuyaecxayusnthiichekharhsephiyngswnkhxmulkhxngesllepnchn aelakuyaecthiaexlexsthiichekharhsesllthnghmdemuxsngphanekhruxkhayxinethxrentrahwangsthani odythiimmisthanisngtxid rwmthngrabbplaythang thisamarthruthngthixyuixphikhxngrabbphuichaelakhxngrabbplaythangthngsxng aelamisthanithangxxkethann thisamarthekhathungkhxmuldngedimthisnginrahwangtnsayaelaplaythang ykewnthaphuichichopraekrmthiekharhskhxmulcaktncnthungplay echn thxrebrawesxremuxsuxsarphanexchthithiphiexsepntn xnung ephraakuyaecthiichekharhslbepnkuyaecchwkhraw cunghmaykhwamwa aemthamiikhrdkekbkhxmulthisngphanrahwangrabbtang aelwocmtiekhathungrabbehlannidinphayhlng kcaimsamarththxdrhskhxmulehlannidephraarabbidthingkuyaecipaelw karrbsngkhxmulmiraylaexiydkhux durup rabbphuichsrangesllsngtxphrxmkhasngriely relay begin odymirabbplaythangphrxmhmayelkhchxngthang website 80 epnkhxmulriely aelwekharhsswnkhxmulkhxngeslldwykuyaecxayusnthiikhkbsthanisngtxtang erimcaksthanikhaxxkklbmathungsthanikhaekha aelwsngesllrielyphankarechuxmtxthiaexlexs aeladngnnekharhslbdwykuyaecthiaexlexs ipyngsthanikhaekha sthanikhaekhathxdrhsswnkhxmulkhxngesllthiidrbdwykuyaecxayusnthitnichrwmknrabbphurb aelwsngkhxmultxphanesllthitnsrangphankarechuxmtxaebbthiaexlexsipyngsthanikhaxxk sthanikhaxxkthxdrhsswnkhxmulkhxngesllthiidrbdwykuyaecxayusnthitnichrwmknrabbphurb aelwphbkhasngriely relay begin cungerimkarechuxmtxaebbthisiphikbrabbplaythangphanchxngthang 80 aelwsrangesllrabukhatxbrbkarechuxmtxthisaercodyekharhslbswnkhxmuldwykuyaecxayusn aelwsngklbipyngsthanikhaekhaphanthiaexlexs sthanikhaekhasrangesllsngtxodyekharhsswnkhxmulthimacaksthanikhaxxkdwykuyaecxayusnkhxngtn aelwsngphanthiaexlexsipyngrabbphurb rabbphurbthxdrhsswnkhxmulesllthiidrbdwykuyaecsxngtwthiichrwmknsthanisngtxthngsxng aelwphbwa karechuxmtxaebbthisiphikbrabbplaythangsaercaelw aelacungdaeninkarsuxsarkbrabbplaythanginnyediywkntxipwithikarocmtiphuxxkaebbkarcdesnthangaebbhwhxmidphicarnakarocmtiaelaphltxrabbhlayxyang pi 2004 rwmthngthicdwaepnkardkfngechy passive attack aelaaebbtxngthakarxyangaexkthif active attack txipniepntwxyangkhxngkarocmtithiidphicarna aebbdkfngechy karocmtiaebbdkfngechy passive attack rwmthng karefadurupaebbkarsuxsar observing user traffic patterns ephraakhxmulkarsuxsarkhxngwngcrekharhslbxyu cungimsamarthtrwcduodytrngphayinwngcrid aetsamarthwiekhraahrupaebbkarsuxsarid thnginkarrbaelasngkhxmul kartrwcdukhxmul observing user content aemkhxmulthangdanrabbphuichcaekharhslb aetkarsuxsarcaksthanikhaxxkkbrabbplaythangxaccaimidekharhs thungaemkarkrxngkhxmulthisngekhaekhruxkhayxacimichepahmaykhxngoprecktodytrng aetphuichxacichopraekrmesrimechn Prixvoxy thichwykrxngkhxmul imihsngkhxkhwamsungimidekharhslbthiepidephytnid rupaebbkarsuxsartangknenuxngcaktngkhaimehmuxnkn option distinguishability enuxngcakphrxksihwhxmsamarthtngkhatang knid phuichkartngkhaaebbthimicanwnnxyxacesiysphaphnirnam karsmphnthewlarahwangtnkbplay end to end timing correlation rabbsamarthpidbngkhxmulthangewlaidephiyngelknxyethann ptipksthisamarthdurupaebbkarsuxsarthngthitnsayaelaplaythang camioxkasyunynkarsuxsarrahwangtnsayplaythangidsungmak withipxngkndisudkkhuxpidbngkarechuxmtxknrahwangrabbphuichkbsthanikhaekha sungxacthaidodydaeninkarrabbphuichaelasthanirielyinkhxmphiwetxrediywkn hruxinkhxmphiwetxrtangknaetxyuhlngifrwxllediywkn sungthaihkarocmtirabbidcatxngaeykaeyakarsuxsarthierimmacakthixunhruxerimmacakrabbphuich odyphuocmtisungcathaidkkhuxphuthisamarththakaridthwolk echn hnwycarkrrmthimithrphyakrmak aetphuthimithrphyakrcakdimsamarththaid karsmphnthkhnadkhxmulrahwangtnkbplay end to end size correlation khuxkarnbephiyngaekhaephkekt klumkhxmul sungsngthitnsayaelarb thiplaythangkxacsamarthsmphnthkarsuxsaridaelw aetkarthirabbphuichsamarthsuxsarxxknxkwngcrkxncathungsthanisudthayxacchwyldradbpyhani withikarpxngknaelalksnaphuocmticakhlaykbinpyhakarsmphnthewlarahwangtnkbplay karrabulksnaechphaakhxngewbist website fingerprinting phuocmtixacsrangthankhxmulkhxngewbisttang thirabukhnadiflthiekhathung aelarupaebbkarsuxsarephuxekhathungifl aelwsamarthyunynkarsuxsarkbewbistkhxngrabbphuichodyichkhxmulnn odymiphuchanaybangphwkthiwiekhraahwa thaidyakenuxngcakinolkcring phuocmticatxngsamarthaeykaeyahnaewbepncanwnmakodyxasyephiyngaekhrupaebbkarsuxsaraebbaexkthif karocmtiaebbaexkthif active attack rwmthng karidkuyaec compromise key phuocmtithiidkuyaecthiaexlexssamarthmxngehnesllkhwbkhumaelaesllrielythiyngekharhslbxikchnsahrbwngcrthuk wngcrthiwingphankarechuxmtxaebbthiaexlexsnn aetcadukhxmulthiekharhsinesllrielyidkcatxngrukuyaecxayusntang thismkhwrdwy sungxacepneruxngthaidyakodyechphaaemuxkuyaecchwkhrawehlanicathingipemuxkarechuxmtxhruxwngcryutilng iterated compromise phuocmtithithakartxrabbtang tx knid xacexachnakarpxngknkhxngsthanisngtx imwacaodykaraehk odykdhmay hruxodywithikarnxkkdhmay tx kncnthungrabbphuich aetkcatxngthakarihsaerckxnwngcrcayutilng imechnnnaelw kuyaecthiekharhskarsuxsarkcathingiphmdaelw nxkcaknn karsrangwngcrephuxihmisthanisngtxthixyuinekhtkdhmaytang knkcathaihkarbngkhbtamkdhmaythaidyakkhun kardaeninkarrabbplaythang phuocmtithidaeninkarrabbbrikarewbistsamarthrurupaebbkarsuxsarkbrabbtnthangidngay hruxsamarthtxbsnxngodymirupaebbodyechphaa sungthaihkarocmtiaebbcaktnsaycnthungplaythangthaidngaykhun nxkcaknn rabbxaccachkcungihrabbtnsayimwacaodyophrothkhxlhruxphankarthanganopraekrm ihsngkhxmulepidephytnexngid withikarpxngknaelalksnaphuocmticakhlaykbinpyhakarsmphnthewlarahwangtnkbplay kardaeninnganphrxksihwhxm insthankarnthisthabntxngkarkhwbkhumkarichkarcdesnthangaebbhwhxm aelwihichphrxksisungdaeninkarinkhxmphiwetxrtanghak aethnthicadaeninkaraebbpktiinkhxmphiwetxrkhxngphuich karaehkrabbthidaeninkarphrxksiidcathaihsamarththakartang txkarechuxmtxphanphrxksiinxnakhtthnghmd karocmtisthanithilxbfngimidephuxihbrikarimid DoS non observed nodes phuocmtithisamarthtrwcduekhruxkhayepnbangswncaidkhxmulephimkhunthaocmtisthanisngtxxun ephuximihihbrikarid thaihphuichmioxkasephiminkarsrangwngcrphansthanithiphuocmtikhwbkhumhruxsamarthtrwcdukarichid kardaeninngansthanisngtx nxkcakcasamarthtrwcdukhxmulthisngphansthanikhxngtn phuocmtiyngsamarthepliynrupaebbkarsuxsarphansthanixun aetcasamarththalaysphaphnirnamidktxemuxepnsthanisngtxaerksudaelasudthay odyxacephimoxkaskarechuxmtxkbsthanikhxngtnodydaeninkarsthanikhaxxkthiihbrikarxyangmikhxcakdnxy hruxthalaykhwamnaechuxthuxkhxngsthanixun karsngeslltxodymikahndewlaodyechphaa epnkarephimsmrrthphaphwithikartrwcduewlakhxngkarsngkhxmulaebbdkfngechy dngthiidklawmaaelw karocmtiodykartidpay sthaniocmtixactidpayesllodyepliynkhxmul aetkartrwcduburnphaphkhxngkhxmulkcapxngknkarocmtieyiyngniid karepliynkhxmulsahrbophrothkhxlthiimphisucntwcring khux sthanikhaxxkthixyuitkarkhwbkhumkhxngphuocmtisamarthplxmtwepnrabbbrikarplaythang dngnn phuichkhwreluxkichophrothkhxlthimikarphisucntwcring echn exchthithiphiexsaethnthicaichexchthithiphi karocmtidwykarelnsa replay attack sahrbophrothkhxlkhxngthxr karerimcbmuxodykarelnsakhxmulthidkekbmakxncamiphlihsrangkuyaecxayusnthitangkn thaihkhxmulthiiddkekbthiehluximsamarthichxik karocmtithalaychuxesiyng phuocmtisamarthichekhruxkhaythakarthiimchxb epnkarthalaychuxesiyng ephuxbngkhbihphudaeninnganhyudptibtikar noybaykhxngsthanikhaxxkcachwyldpyhani aetodythisudaelw ekhruxkhaytxngmixasasmkhrthisamarthxdthntxkhwamkddnthangkaremuxng thangkdhmayid karkracayopraekrmthithukbxnthalay phuocmtisamarthhlxkihphuichhruxsthaniichsxftaewrthithukaekikhimihrksasphaphnirnam thxrichwithiesnchuxsxftaewrthiaeckcay odymiraykarcakohndsarbbthiaesdngrunkhxngsxftaewrthiechuxwaplxdphy nxkcaknnephuxknpyhacakphayinoprecktthxrexng yngepidihdurhstnthangthnghmd snbsnunihmikartrwcrhstnthangbxy aelaetuxnphuichimihechuxicsxftaewrthiimepidephyrhstnthangcudxxnkarwiekhraahewla ehtuphlhnungthikarechuxmtxxinethxrentpkticaimidsphawanirnam kephraaphuihbrikarsamarthtidtamaelalngbnthukkarechuxmtxknrahwangkhxmphiwetxr yktwxyangechn emuxphuicheyiymchmewbist khxmulexngxaccaplxdphyephraaechuxmtxdwyexchthithiphiexs dngnn khnphwkxuncaimsamarthrurhsphan xieml aelaenuxkhwamxun aetkyngmibnthukekiywkbkarechuxmtxexng echn txemuxir mikhxmulsngphanaekhihn karcdesnthangaebbhwhxmcasrangthangthikhlumekhruxrahwangkhxmphiwetxrsxngekhruxng ephuximihrabbphuichechuxmtxkbewbistodytrng aemcayngmibnthukkarechuxmtxknrahwangkhxmphiwetxraelakyngsamarthwiekhraahkarsuxsarenuxngkbbnthukkarechuxmtxechnnn aelwphyayamechuxmewlaaelakarsngkhxmulkbkarechuxmtxipyngphurbhnung yktwxyangechn xaccaehnbukhkhlsngkhxmul 51 kiolibtthwnipyngkhxmphiwetxrthiimruck 3 winathikxnkhxmphiwetxrxikekhruxngthiimruckksngkhxmul 51 kiolibtthwnechnknipyngewbisthnungodyechphaa pccythixacchwyihwiekhraahkarsuxsaridrwmthngohndkhdkhxngaelwxxkcakekhruxkhay aelaohndsngtxthithukaehkihekbbnthukkarechuxmtxthuk khrngthimikarsrangwngcrihm karcdesnthangaebbkraethiym Garlic routing epnkarcdesnthangaebbhwhxmxikxyanghnungthiichinekhruxkhayixthuphi aelaekharhslbkhxkhwamhlaykhxkhwamekhadwyknephuxthakarwiekhraahkarsuxsarechnniihyakkhun aelaephuxephimkhwamerwinkarthayoxnkhxmul ohndkhaxxk Exit node aemkhxkhwamthisngcaekharhslbepnchn aethnathikhxngohndkhaxxk exit node thiepnohndthaysudinos kkhuxkarthxdrhslbchnsudthayaelwsngkhxkhwamipihphurb dngnn ohndkhaxxkthithukaekkxaccaekbkhxmulthisng sungxacmirhsphan khxkhwamswntw elkhbychithnakhar hruxkhxmulswntwxun inpi 2007 nkwicychawswiednidichkarocmtikhlay knniaelwsamarthekbrhsphankhxngbychixiemlkwa 100 bychikhxngsthanthutpraethstang cudxxnohndkhaxxkcakhlaykbthiphbinekhruxkhayirsaythiimidthaihplxdphy khuxkhxmulthisngodyphuichekhruxkhayxacthukdkfngodyphuichxikkhnhnunghruxodyphudaeninkareraetxr odypyhathngsxngnisamarthaekidodyichkarechuxmtxthiekharhslbcaktnthungplay echn exsexsaexlhruxexchthithiphiexs sungthaihaemaetphusngtxladbsudthaykimsamarthrukhxkhwamdngedimidduephimwithyakarekharhslb tuktaaemlukdk phrxksiesirfewxr karthaihekidphlkarcdesnthangaebbhwhxm karthaihekidphlkarcdesnthangaebbhwhxmechingxrrthaelaxangxing Tor Overview The Tor Project subkhnemux 19 mithunayn 2018 Dingledine Mathewson amp Syverson 2004 routing sphthbyytixngkvs ithy ithy xngkvs chbbrachbnthitysthan khxmphiwetxr run 1 1 chbb 2545 CD ROM ethkhonolyisarsneths karcdesnthang Goldschlag D Reed M Syverson P 1999 Onion Routing for Anonymous and Private Internet Connections PDF onion router net Soltani Ramin Goeckel Dennis Towsley Don Houmansadr Amir 2017 11 27 Towards Provably Invisible Network Flow Fingerprints 1711 10079 cs NI Reed MG Sylverson PF Goldschlag DM 1998 Anonymous connections and onion routing IEEE Journal on Selected Areas in Communications 16 4 482 494 ISSN 0733 8716 US patent 6266704 Reed Michael G Bethesda MD Syverson Paul F Silver Spring MD Goldschlag David M Silver Spring MD Onion routing network for securely moving data through communication networks assigned to The United States of America as represented by the Secretary of the Navy Washington DC Levine Yasha 16 krkdakhm 2014 Almost everyone involved in developing Tor was or is funded by the US government Pando Daily subkhnemux 30 singhakhm 2014 Fagoyinbo Joseph Babatunde 24 phvsphakhm 2013 The Armed Forces Instrument of Peace Strength Development and Prosperity AuthorHouse ISBN 9781477226476 subkhnemux 29 singhakhm 2014 Leigh David Harding Luke 8 kumphaphnth 2011 WikiLeaks Inside Julian Assange s War on Secrecy PublicAffairs ISBN 1610390628 subkhnemux 29 singhakhm 2014 Dingledine Roger 20 knyayn 2002 pre alpha run an onion proxy now or dev Mailing list subkhnemux 17 krkdakhm 2008 Tor FAQ Why is it called Tor Tor Project subkhnemux 1 krkdakhm 2011 Tor Sponsors Tor Project subkhnemux 1 thnwakhm 2010 Attacks Prompt Update for Tor Anonymity Network Washington Post 8 singhakhm 2007 Dingledine Mathewson amp Syverson 2004 4 The Tor Design Dingledine Mathewson amp Syverson 2004 1 Overview Elahi Tariq Bauer Kevin AlSabah Mashael Dingledine Roger Goldberg Ian 15 tulakhm 2012 Changing of the Guards A Framework for Understanding and Improving Entry Guard Selection in Tor Proceedings of the Workshop on Privacy in the Electronic Society WPES 2012 ACM Press PDF 600 KB Tor Bridges Tor Project subkhnemux 9 mkrakhm 2011 Tor FAQ Is Tor like a VPN Tor Projects subkhnemux 19 mithunayn 2018 Tor FAQ Tell me about all the keys Tor uses Tor Projects subkhnemux 19 mithunayn 2018 Dingledine Mathewson amp Syverson 2004 6 3 Directory Servers Dingledine Mathewson amp Syverson 2004 5 Rendezvous Points and hidden services Dingledine Mathewson amp Syverson 2004 4 1 cells Dingledine Roger 30 krkdakhm 2014 Tor security advisory relay early traffic confirmation attack The Tor Project Dingledine Mathewson amp Syverson 2004 7 Attacks and Defenses Active Attacks Dingledine amp Mathewson 2018 1 1 Keys and names line 154 196 index torspec Tor directory protocol version 3 blob bcb04a5e63beed9d8ae9ff54334f090321b3435d The Tor Project 0 2 Goals of the version 3 protocol line 87 113 subkhnemux 18 mithunayn 2018 Dingledine Mathewson amp Syverson 2004 4 1 cells Relay Cells When an OR later replies to Alice with a relay cell it encrypts the cell s relay header and payload with the single key it shares with Alice and sends the cell back toward Alice along the circuit Subsequent ORs add further layers of encryption as they relay the cell back to Alice Dingledine Roger Mathewson Nick index torspec Tor Protocol Specification blob ea195ada02c325293dba8fe788862f19db4a20e3 Tor Project 3 Cell Packet format line 412 495 subkhnemux 18 mithunayn 2018 Dingledine amp Mathewson 2018 5 6 Handling relay early cells line 1385 1403 Mathewson Nick 4 tulakhm 2012 Top changes in Tor since the 2004 design paper Part 1 Tor Blog Dingledine Mathewson amp Syverson 2004 4 2 Circuits and streams Figure 1 Tor FAQ What are Entry Guards Tor Projects subkhnemux 19 mithunayn 2018 Dingledine Mathewson amp Syverson 2004 4 2 Circuits and streams Constructing a circuit Tor FAQ How is Tor different from other proxies Tor Projects subkhnemux 19 mithunayn 2018 Dingledine Mathewson amp Syverson 2004 4 2 Circuits and streams Relay cells Dingledine Mathewson amp Syverson 2004 7 Attacks and Defenses Dingledine Mathewson amp Syverson 2004 7 Attacks and Defenses Passive Attacks Perry Mike 7 phvscikayn 2013 A Critique of Website Traffic Fingerprinting Attacks Tor Blog Dingledine Roger 31 krkdakhm 2015 A technical summary of the Usenix fingerprinting paper Shmatikov Vitaly Wang Ming Hsiu 18 knyayn 2006 Timing analysis in low latency mix networks attacks and defenses Proceedings of the 11th European conference on Research in Computer Security ESORICS 06 18 33 doi 10 1007 11863908 2 S2CID 3113181 Dingledine Roger Tor The Second Generation Onion Router Tor Project subkhnemux 24 tulakhm 2012 Wright Matthew K Adler Micah Levine Brian Neil Shields Clay phvscikayn 2004 PDF ACM Transactions on Information and System Security 7 4 489 522 khlngkhxmulekaekbcakaehlngedim PDF emux 4 minakhm 2016 subkhnemux 10 krkdakhm 2018 Common Darknet Weaknesses 2 Tor and I2P Privacy PC 28 mkrakhm 2004 cakaehlngedimemux 25 mkrakhm 2018 Zantour Bassam Haraty Ramzi A mkrakhm 2011 I2P Data Communication System Proceedings of ICN 2011 The Tenth International Conference on Networks IARIA pp 401 409 10725 7119 Security researcher stumbles across embassy e mail log ins Arstechnica 30 singhakhm 2007 aehlngkhxmulxunDingledine Roger Mathewson Nick Syverson Paul 13 singhakhm 2004 Tor The Second Generation Onion Router Proc 13th USENIX Security Symposium San Diego California subkhnemux 17 phvscikayn 2008 tor design pdf PDF 292 KB Onion Router net site formerly hosted at the Center for High Assurance Computer Systems of the U S Naval Research Laboratory Sylverson P F Goldschlag D M Reed M G 1997 Anonymous Connections and Onion Routing IEEE Symposium on Security and Privacy 10 1 1 64 4829 The original paper from the Naval Research Laboratory