SlideShare a Scribd company logo
TOR Browser
“THE ONION ROUTER”
By G. AbboudSeptember 2016
TOR BROWSER | SEPT 2016 2
I. INTRODUCTION
II. THE ONION ROUTING
III. BEHIND THE SCENES
I. HOW IT’S BUILT
II. HOW IT WORKS
III. TOR DESIGN
I. CELLS
II. CIRCUITS AND STREAMS
III. OPENING AND CLOSING STREAMS
IV. METRICS
V. STAYING ANONYMOUS
VI. DISADVANTAGES
VII. FUTURE DIRECTIONS
VIII.REFERENCES
TOR BROWSER | SEPT 2016 3
I. INTRODUCTION
TOR BROWSER | SEPT 2016 4
INTRODUCTION
What is Tor?
Tor is free software and an open network that helps you defend against traffic
analysis.
It prevents somebody watching your Internet connection from learning what sites
you visit, it prevents the sites you visit from learning your physical location, and it
lets you access sites which are blocked.
TOR BROWSER | SEPT 2016 5
INTRODUCTION
The Tor network is a group of volunteer-operated servers that allows people to
improve their privacy and security on the Internet. (more than 7000 relays)
Tor's users employ this network by connecting through a series of virtual tunnels
rather than making a direct connection.
TOR BROWSER | SEPT 2016 6
TOR BROWSER | SEPT 2016 7
INTRODUCTION
Developer(s) The Tor Project, Inc
Initial release 20 September 2002
Stable release 0.2.8.8(23 September 2016)
Development status Active
Written in C,Python
Operating system • Microsoft Windows
• Unix-like (Android,Linux, OS X)
Size 2–4 MB
Type Onion routing, Anonymity
License BSD
Website torproject.org
Repository gitweb.torproject.org/tor.git
Godfather Paul Syverson http://www.syverson.org/
TOR BROWSER | SEPT 2016 8
II. THE ONION ROUTING
TOR BROWSER | SEPT 2016 9
THE ONION ROUTING
Onion routing is a technique for anonymous communication over a computer
network.
In an onion network, messages are encapsulated in layers of encryption,
analogous to layers of an onion.
Onion routing is implemented by encryption in the application layer of a
communication protocol stack.
TOR BROWSER | SEPT 2016 10
THE ONION ROUTING
In this example onion, the source of the data
sends the onion to Router A, which removes a
layer of encryption to learn only where to send
it next and where it came from (though it does
not know if the sender is the origin or just
another node).
Router A sends it to Router B, which decrypts
another layer to learn its next destination.
Router B sends it to Router C, which removes
the final layer of encryption and transmits the
original message to its destination.
TOR BROWSER | SEPT 2016 11
III. BEHIND THE SCENES
TOR BROWSER | SEPT 2016 12
BEHIND THE SCENES >> HOW IT’S BUILT
The Tor Browser is based on Mozilla's Extended Support Release (ESR) Firefox
branch
It includes HTTPS-Everywhere
TOR BROWSER | SEPT 2016 13
BEHIND THE SCENES >> HOW IT WORKS
Tor distributes your transactions over several places on the Internet, so no single
point can link you to your destination
TOR BROWSER | SEPT 2016 14
BEHIND THE SCENES >> HOW IT WORKS
Instead of taking a direct route from source to destination, data packets on the Tor
network take a random pathway through several relays that cover your tracks.
No individual relay ever knows
the complete path that a data
packet has taken.
TOR BROWSER | SEPT 2016 15
BEHIND THE SCENES >> HOW IT WORKS
The circuit is extended one hop at a time, and each relay along the way knows only
which relay gave it data and which relay it is giving data to.
Tor client incrementally builds
a circuit of encrypted connections
through relays on the network.
The client negotiates a separate
set of encryption keys for each hop
to ensure that each hop can't
trace these connections as they
pass through.
TOR BROWSER | SEPT 2016 16
BEHIND THE SCENES >> TOR DESIGN
The Tor network is an overlay network; each onion router (OR) runs as a normal
user-level process without any special privileges.
Each onion router maintains a TLS connection to every other onion router.
Each user runs local software called an onion proxy (OP) to fetch directories,
establish circuits across the network, and handle connections from user
applications.
These onion proxies accept TCP streams and multiplex them across the circuits. The
onion router on the other side of the circuit connects to the requested destinations
and relays data.
TOR BROWSER | SEPT 2016 17
BEHIND THE SCENES >> TOR DESIGN
TOR BROWSER | SEPT 2016 18
BEHIND THE SCENES >> TOR DESIGN
Each onion router maintains a long-term identity key and a short-term onion key.
• The identity key is used to sign TLS certificates, to sign the OR’s router descriptor
(a summary of its keys, address, bandwidth, exit policy, and so on), and (by
directory servers) to sign directories.
• The onion key is used to decrypt requests from users to set up a circuit and
negotiate ephemeral keys*.
*A cryptographic key is called ephemeral if it is generated for each execution of a key establishment process
The TLS protocol also establishes a short-term link key when communicating
between ORs.
Short-term keys are rotated periodically and independently, to limit the impact of
key compromise.
TOR BROWSER | SEPT 2016 19
BEHIND THE SCENES >> TOR DESIGN >> CELLS
Onion routers communicate with one another, and with users’ OPs, via TLS
connections with ephemeral keys.
Traffic passes along these connections in fixed-size cells. Each cell is 512 bytes, and
consists of a header and a payload.
The header includes a circuit identifier (circID) that specifies which circuit the cell
refers to (many circuits can be multiplexed over the single TLS connection), and a
command to describe what to do with the cell’s payload.
TOR BROWSER | SEPT 2016 20
BEHIND THE SCENES >> TOR DESIGN >> CELLS
2 types of cells (Control cells and Relay cells)
Control cells: always interpreted by the node that receives them
Commands:
• Padding (currently used for keepalive, but also usable for link padding)
• Create or Created (used to set up a new circuit);
• Destroy (to tear down a circuit).
TOR BROWSER | SEPT 2016 21
BEHIND THE SCENES >> TOR DESIGN >> CELLS
2 types of cells (Control cells and Relay cells)
Relay cells: carry end-to-end stream data.
Commands:
• Relay data (for data flowing down the stream)
• Relay begin (to open a stream)
• Relay end (to close a stream cleanly)
• Relay teardown (to close a broken stream),
• Relay connected (to notify the OP that a relay begin has succeeded)
• Relay extend and relay extended (to extend the circuit by a hop, and to acknowledge)
• Relay truncate and relay truncated (to tear down only part of the circuit, and to
acknowledge)
• Relay sendme (used for congestion control)
• Relay drop (used to implement long-range dummies).
TOR BROWSER | SEPT 2016 22
BEHIND THE SCENES >> TOR DESIGN >> CELLS
2 types of cells (Control cells and Relay cells)
Relay cells: carry end-to-end stream data.
Relay cells have an additional header (the relay header) at the front of the payload,
containing a streamID (stream identifier: many streams can be multiplexed over a
circuit); an end-to-end checksum for integrity checking; the length of the relay
payload; and a relay command.
The entire contents of the relay header and the relay cell payload are encrypted or
decrypted together as the relay cell moves along the circuit, using the 128-bit AES
cipher in counter mode to generate a cipher stream.
TOR BROWSER | SEPT 2016 23
BEHIND THE SCENES >> TOR DESIGN >> CIRCUITS AND STREAMS
Onion Routing originally built one circuit for each TCP stream.
In Tor, each circuit can be shared by many TCP streams.
To limit linkability among their streams, users’ OPs build a new circuit periodically if
the previous ones have been used, and expire old used circuits that no longer have
any open streams.
OPs consider rotating to a new circuit once a minute.
Also, because circuits are built in the background, OPs can recover from failed
circuit creation without harming user experience.
TOR BROWSER | SEPT 2016 24
BEHIND THE SCENES >> TOR DESIGN >> CIRCUITS AND STREAMS
>> Constructing a circuit
To begin creating a new circuit,
the OP (Alice) sends a create cell
to the first node in her chosen
path (Bob). (She chooses a new
circID CAB not currently used on
the connection from her to Bob.)
Alice builds a two-hop circuit and begins fetching a web page.
TOR BROWSER | SEPT 2016 25
BEHIND THE SCENES >> TOR DESIGN >> CIRCUITS AND STREAMS
>> Constructing a circuit
The create cell’s payload contains
the first half of the Diffie-Hellman
handshake (gx), encrypted to the
onion key of the OR (Bob).
Bob responds with a created cell
containing gy along with a hash of
the negotiated key K = gxy.
Once the circuit has been established, Alice and Bob can send one another relay cells encrypted with the negotiated key.
TOR BROWSER | SEPT 2016 26
BEHIND THE SCENES >> TOR DESIGN >> CIRCUITS AND STREAMS
>> Constructing a circuit
To extend the circuit further,
Alice sends a relay extend cell to
Bob, specifying the address of
the next OR (call her Carol), and
an encrypted gx2 for her.
Bob copies the half-handshake
into a create cell, and passes it to
Carol to extend the circuit.
When Carol responds with a created cell, Bob wraps the payload into a relay extended cell
and passes it back to Alice.
Now the circuit is extended to Carol, and Alice and Carol share a common key K2 = gx2y2.
TOR BROWSER | SEPT 2016 27
BEHIND THE SCENES >> TOR DESIGN >> CIRCUITS AND STREAMS
>> Constructing a circuit
To extend the circuit to a third node or
beyond, Alice proceeds as above, always
telling the last node in the circuit to
extend one hop further.
This circuit-level handshake protocol
achieves unilateral entity authentication
and unilateral key authentication (Alice
and the OR agree on a key, and Alice
knows only the OR learns it).
TOR BROWSER | SEPT 2016 28
BEHIND THE SCENES >> TOR DESIGN >> OPENING & CLOSING
STREAMS
Closing a Tor stream is analogous to closing a TCP stream: it uses a two-step handshake for
normal operation, or a onestep handshake for errors.
If the stream closes abnormally, the adjacent node simply sends a relay teardown cell.
If the stream closes normally, the node sends a relay end cell down the circuit, and the other
side responds with its own relay end cell.
Because all relay cells use layered encryption, only the destination OR knows that a given relay
cell is a request to close a stream.
TOR BROWSER | SEPT 2016 29
IV. METRICS
TOR BROWSER | SEPT 2016 30
METRICS
Under https://metrics.torproject.org/ you can find interesting facts about the Tor
network, the largest deployed anonymity network to date
TOR BROWSER | SEPT 2016 31
V. STAYING ANONYMOUS
TOR BROWSER | SEPT 2016 32
STAYING ANONYMOUS
Tor can't solve all anonymity problems.
It focuses only on protecting the transport of data. You need to use protocol-
specific support software if you don't want the sites you visit to see your identifying
information. For example, you can use Tor Browser while browsing the web to
withhold some information about your computer's configuration.
Also, to protect your anonymity, be smart. Don't provide your name or other
revealing information in web forms. Be aware that, like all anonymizing networks
that are fast enough for web browsing, Tor does not provide protection against
end-to-end timing attacks: If your attacker can watch the traffic coming out of your
computer, and also the traffic arriving at your chosen destination, he can use
statistical analysis to discover that they are part of the same circuit.
TOR BROWSER | SEPT 2016 33
VI. DISADVANTAGES
TOR BROWSER | SEPT 2016 34
DISADVANTAGES
By using TOR network, you will be able to get anonymity while browsing but some
obvious drawbacks are there which are like:
• Performance will suffer, it's one of the major disadvantage.
• Low latency anonymizers are prone to traffic analysis.
• Exit nodes see your traffic in plain
If you don't use a secure protocol on top of Tor, the exit node can sniff your
passwords etc. Using SSL or SSH you should be fine, but be sure to validate the
certificate/fingerprints.
TOR BROWSER | SEPT 2016 35
VII. FUTURE DIRECTIONS
TOR BROWSER | SEPT 2016 36
FUTURE DIRECTIONS
Providing a usable anonymizing network on the Internet today is an ongoing
challenge.
Security and usability don't have to be at odds: As Tor's usability increases, it will
attract more users, which will increase the possible sources and destinations of
each communication, thus increasing security for everyone.
TOR is making progress, but need your help…
Please consider running a relay or volunteering as a developer.
TOR BROWSER | SEPT 2016 37
VIII. REFERENCES
TOR BROWSER | SEPT 2016 38
REFERENCES
https://www.torproject.org/about/overview.html.en
http://www.onion-router.net/
http://ntrg.cs.tcd.ie/undergrad/4ba2.05/group10/index
http://en.wikipedia.org/wiki/Onion_routing
Tor: The Second-Generation Onion Router research paper by
• Roger Dingledine The Free Haven Project arma@freehaven.net
• Nick Mathewson The Free Haven Project nickm@freehaven.net
• Paul Syverson Naval Research Lab syverson@itd.nrl.navy.mil

More Related Content

What's hot

Tor Presentation
Tor PresentationTor Presentation
Tor Presentation
Hassan Faraz
 
Hacking Tor ( How does Tor work ?)
Hacking Tor ( How does Tor work ?)Hacking Tor ( How does Tor work ?)
Hacking Tor ( How does Tor work ?)
Saprative Jana
 
ONION Routing - Jovial learning
ONION Routing - Jovial learningONION Routing - Jovial learning
ONION Routing - Jovial learning
Prasanna Shanmugasundaram
 
Tor browser
Tor browserTor browser
Tor browser
Akshit Arora
 
TOR: The Onion Router
TOR: The Onion RouterTOR: The Onion Router
TOR: The Onion Router
Volodymyr Ostapiv
 
Acpe 2014 Internet Anonymity Using Tor
Acpe 2014  Internet Anonymity Using TorAcpe 2014  Internet Anonymity Using Tor
Acpe 2014 Internet Anonymity Using Tor
Jack Maynard
 
Tor the onion router
Tor  the onion routerTor  the onion router
Tor the onion router
Ashly Liza
 
Tor Project and The Darknet
Tor Project and The DarknetTor Project and The Darknet
Tor Project and The Darknet
Ahmed Mater
 
How TOR works?
How TOR works?How TOR works?
How TOR works?
Onkar Badiger
 
Anonymous Connections And Onion Routing
Anonymous Connections And Onion RoutingAnonymous Connections And Onion Routing
Anonymous Connections And Onion Routing
Ali Habeeb
 
Darknets - Introduction & Deanonymization of Tor Users By Hitesh Bhatia
Darknets - Introduction &  Deanonymization of Tor Users By Hitesh BhatiaDarknets - Introduction &  Deanonymization of Tor Users By Hitesh Bhatia
Darknets - Introduction & Deanonymization of Tor Users By Hitesh Bhatia
OWASP Delhi
 
Introduction to anonymity network tor
Introduction to anonymity network torIntroduction to anonymity network tor
Introduction to anonymity network tor
Khaled Mosharraf
 
Onion routing and tor: Fundamentals and Anonymity
Onion routing and tor: Fundamentals and AnonymityOnion routing and tor: Fundamentals and Anonymity
Onion routing and tor: Fundamentals and Anonymity
anurag singh
 
TOR NETWORK
TOR NETWORKTOR NETWORK
TOR NETWORK
Rishikese MR
 
Tor: The Second Generation Onion Router
Tor: The Second Generation Onion RouterTor: The Second Generation Onion Router
Tor: The Second Generation Onion Router
Mohammed Bharmal
 
Tor - Using alternative networks to protect your online privacy, by Tobias Cl...
Tor - Using alternative networks to protect your online privacy, by Tobias Cl...Tor - Using alternative networks to protect your online privacy, by Tobias Cl...
Tor - Using alternative networks to protect your online privacy, by Tobias Cl...
Thoughtworks
 
Tor Network
Tor NetworkTor Network
Tor
TorTor

What's hot (18)

Tor Presentation
Tor PresentationTor Presentation
Tor Presentation
 
Hacking Tor ( How does Tor work ?)
Hacking Tor ( How does Tor work ?)Hacking Tor ( How does Tor work ?)
Hacking Tor ( How does Tor work ?)
 
ONION Routing - Jovial learning
ONION Routing - Jovial learningONION Routing - Jovial learning
ONION Routing - Jovial learning
 
Tor browser
Tor browserTor browser
Tor browser
 
TOR: The Onion Router
TOR: The Onion RouterTOR: The Onion Router
TOR: The Onion Router
 
Acpe 2014 Internet Anonymity Using Tor
Acpe 2014  Internet Anonymity Using TorAcpe 2014  Internet Anonymity Using Tor
Acpe 2014 Internet Anonymity Using Tor
 
Tor the onion router
Tor  the onion routerTor  the onion router
Tor the onion router
 
Tor Project and The Darknet
Tor Project and The DarknetTor Project and The Darknet
Tor Project and The Darknet
 
How TOR works?
How TOR works?How TOR works?
How TOR works?
 
Anonymous Connections And Onion Routing
Anonymous Connections And Onion RoutingAnonymous Connections And Onion Routing
Anonymous Connections And Onion Routing
 
Darknets - Introduction & Deanonymization of Tor Users By Hitesh Bhatia
Darknets - Introduction &  Deanonymization of Tor Users By Hitesh BhatiaDarknets - Introduction &  Deanonymization of Tor Users By Hitesh Bhatia
Darknets - Introduction & Deanonymization of Tor Users By Hitesh Bhatia
 
Introduction to anonymity network tor
Introduction to anonymity network torIntroduction to anonymity network tor
Introduction to anonymity network tor
 
Onion routing and tor: Fundamentals and Anonymity
Onion routing and tor: Fundamentals and AnonymityOnion routing and tor: Fundamentals and Anonymity
Onion routing and tor: Fundamentals and Anonymity
 
TOR NETWORK
TOR NETWORKTOR NETWORK
TOR NETWORK
 
Tor: The Second Generation Onion Router
Tor: The Second Generation Onion RouterTor: The Second Generation Onion Router
Tor: The Second Generation Onion Router
 
Tor - Using alternative networks to protect your online privacy, by Tobias Cl...
Tor - Using alternative networks to protect your online privacy, by Tobias Cl...Tor - Using alternative networks to protect your online privacy, by Tobias Cl...
Tor - Using alternative networks to protect your online privacy, by Tobias Cl...
 
Tor Network
Tor NetworkTor Network
Tor Network
 
Tor
TorTor
Tor
 

Similar to Tor

Anonymity in the web based on routing protocols
Anonymity in the web based on routing protocolsAnonymity in the web based on routing protocols
Anonymity in the web based on routing protocols
Biagio Botticelli
 
tor
tortor
OpenStack sdn
OpenStack sdnOpenStack sdn
Networking devices
Networking devicesNetworking devices
Networking devices
rehnuma rusha
 
Networks faq
Networks faqNetworks faq
Networks faq
albertspade
 
Control the tradeoff between performance and anonymity through end to-end t (2)
Control the tradeoff between performance and anonymity through end to-end t (2)Control the tradeoff between performance and anonymity through end to-end t (2)
Control the tradeoff between performance and anonymity through end to-end t (2)
IAEME Publication
 
Stp
StpStp
Lecture 07
Lecture 07Lecture 07
Lecture 07
Anwal Mirza
 
Networking questions
Networking questionsNetworking questions
Networking questions
rajujast
 
Onion Routing.ppt
Onion Routing.pptOnion Routing.ppt
Onion Routing.ppt
ssuserb1ba95
 
class12_Networking2
class12_Networking2class12_Networking2
class12_Networking2
T. J. Saotome
 
hotpets14-torpath
hotpets14-torpathhotpets14-torpath
hotpets14-torpath
Miles Richardson
 
(1) What is the purpose of a VLAN trunkAns) A trunk is a line or .pdf
(1) What is the purpose of a VLAN trunkAns) A trunk is a line or .pdf(1) What is the purpose of a VLAN trunkAns) A trunk is a line or .pdf
(1) What is the purpose of a VLAN trunkAns) A trunk is a line or .pdf
apnashop1
 
osint + python: extracting information from tor network and darkweb
osint + python: extracting information from tor network and darkweb osint + python: extracting information from tor network and darkweb
osint + python: extracting information from tor network and darkweb
Jose Manuel Ortega Candel
 
Frame relay design
Frame relay designFrame relay design
Frame relay design
Bhargav Amin
 
Networking in college
Networking in collegeNetworking in college
Networking in college
Harpreet Gaba
 
Module 1 slides
Module 1 slidesModule 1 slides
Module 1 slides
AnaniaKapala
 
Ospfv3 primer
Ospfv3 primerOspfv3 primer
Ospfv3 primer
Fred Bovy
 
CCNA question and answer
CCNA question and answer   CCNA question and answer
CCNA question and answer
AnamikaSinha57
 
internet protocols
internet protocolsinternet protocols
internet protocols
Srinivasa Rao
 

Similar to Tor (20)

Anonymity in the web based on routing protocols
Anonymity in the web based on routing protocolsAnonymity in the web based on routing protocols
Anonymity in the web based on routing protocols
 
tor
tortor
tor
 
OpenStack sdn
OpenStack sdnOpenStack sdn
OpenStack sdn
 
Networking devices
Networking devicesNetworking devices
Networking devices
 
Networks faq
Networks faqNetworks faq
Networks faq
 
Control the tradeoff between performance and anonymity through end to-end t (2)
Control the tradeoff between performance and anonymity through end to-end t (2)Control the tradeoff between performance and anonymity through end to-end t (2)
Control the tradeoff between performance and anonymity through end to-end t (2)
 
Stp
StpStp
Stp
 
Lecture 07
Lecture 07Lecture 07
Lecture 07
 
Networking questions
Networking questionsNetworking questions
Networking questions
 
Onion Routing.ppt
Onion Routing.pptOnion Routing.ppt
Onion Routing.ppt
 
class12_Networking2
class12_Networking2class12_Networking2
class12_Networking2
 
hotpets14-torpath
hotpets14-torpathhotpets14-torpath
hotpets14-torpath
 
(1) What is the purpose of a VLAN trunkAns) A trunk is a line or .pdf
(1) What is the purpose of a VLAN trunkAns) A trunk is a line or .pdf(1) What is the purpose of a VLAN trunkAns) A trunk is a line or .pdf
(1) What is the purpose of a VLAN trunkAns) A trunk is a line or .pdf
 
osint + python: extracting information from tor network and darkweb
osint + python: extracting information from tor network and darkweb osint + python: extracting information from tor network and darkweb
osint + python: extracting information from tor network and darkweb
 
Frame relay design
Frame relay designFrame relay design
Frame relay design
 
Networking in college
Networking in collegeNetworking in college
Networking in college
 
Module 1 slides
Module 1 slidesModule 1 slides
Module 1 slides
 
Ospfv3 primer
Ospfv3 primerOspfv3 primer
Ospfv3 primer
 
CCNA question and answer
CCNA question and answer   CCNA question and answer
CCNA question and answer
 
internet protocols
internet protocolsinternet protocols
internet protocols
 

Recently uploaded

Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Mobile app Development Services | Drona Infotech
Mobile app Development Services  | Drona InfotechMobile app Development Services  | Drona Infotech
Mobile app Development Services | Drona Infotech
Drona Infotech
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 

Recently uploaded (20)

Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Mobile app Development Services | Drona Infotech
Mobile app Development Services  | Drona InfotechMobile app Development Services  | Drona Infotech
Mobile app Development Services | Drona Infotech
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 

Tor

  • 1. TOR Browser “THE ONION ROUTER” By G. AbboudSeptember 2016
  • 2. TOR BROWSER | SEPT 2016 2 I. INTRODUCTION II. THE ONION ROUTING III. BEHIND THE SCENES I. HOW IT’S BUILT II. HOW IT WORKS III. TOR DESIGN I. CELLS II. CIRCUITS AND STREAMS III. OPENING AND CLOSING STREAMS IV. METRICS V. STAYING ANONYMOUS VI. DISADVANTAGES VII. FUTURE DIRECTIONS VIII.REFERENCES
  • 3. TOR BROWSER | SEPT 2016 3 I. INTRODUCTION
  • 4. TOR BROWSER | SEPT 2016 4 INTRODUCTION What is Tor? Tor is free software and an open network that helps you defend against traffic analysis. It prevents somebody watching your Internet connection from learning what sites you visit, it prevents the sites you visit from learning your physical location, and it lets you access sites which are blocked.
  • 5. TOR BROWSER | SEPT 2016 5 INTRODUCTION The Tor network is a group of volunteer-operated servers that allows people to improve their privacy and security on the Internet. (more than 7000 relays) Tor's users employ this network by connecting through a series of virtual tunnels rather than making a direct connection.
  • 6. TOR BROWSER | SEPT 2016 6
  • 7. TOR BROWSER | SEPT 2016 7 INTRODUCTION Developer(s) The Tor Project, Inc Initial release 20 September 2002 Stable release 0.2.8.8(23 September 2016) Development status Active Written in C,Python Operating system • Microsoft Windows • Unix-like (Android,Linux, OS X) Size 2–4 MB Type Onion routing, Anonymity License BSD Website torproject.org Repository gitweb.torproject.org/tor.git Godfather Paul Syverson http://www.syverson.org/
  • 8. TOR BROWSER | SEPT 2016 8 II. THE ONION ROUTING
  • 9. TOR BROWSER | SEPT 2016 9 THE ONION ROUTING Onion routing is a technique for anonymous communication over a computer network. In an onion network, messages are encapsulated in layers of encryption, analogous to layers of an onion. Onion routing is implemented by encryption in the application layer of a communication protocol stack.
  • 10. TOR BROWSER | SEPT 2016 10 THE ONION ROUTING In this example onion, the source of the data sends the onion to Router A, which removes a layer of encryption to learn only where to send it next and where it came from (though it does not know if the sender is the origin or just another node). Router A sends it to Router B, which decrypts another layer to learn its next destination. Router B sends it to Router C, which removes the final layer of encryption and transmits the original message to its destination.
  • 11. TOR BROWSER | SEPT 2016 11 III. BEHIND THE SCENES
  • 12. TOR BROWSER | SEPT 2016 12 BEHIND THE SCENES >> HOW IT’S BUILT The Tor Browser is based on Mozilla's Extended Support Release (ESR) Firefox branch It includes HTTPS-Everywhere
  • 13. TOR BROWSER | SEPT 2016 13 BEHIND THE SCENES >> HOW IT WORKS Tor distributes your transactions over several places on the Internet, so no single point can link you to your destination
  • 14. TOR BROWSER | SEPT 2016 14 BEHIND THE SCENES >> HOW IT WORKS Instead of taking a direct route from source to destination, data packets on the Tor network take a random pathway through several relays that cover your tracks. No individual relay ever knows the complete path that a data packet has taken.
  • 15. TOR BROWSER | SEPT 2016 15 BEHIND THE SCENES >> HOW IT WORKS The circuit is extended one hop at a time, and each relay along the way knows only which relay gave it data and which relay it is giving data to. Tor client incrementally builds a circuit of encrypted connections through relays on the network. The client negotiates a separate set of encryption keys for each hop to ensure that each hop can't trace these connections as they pass through.
  • 16. TOR BROWSER | SEPT 2016 16 BEHIND THE SCENES >> TOR DESIGN The Tor network is an overlay network; each onion router (OR) runs as a normal user-level process without any special privileges. Each onion router maintains a TLS connection to every other onion router. Each user runs local software called an onion proxy (OP) to fetch directories, establish circuits across the network, and handle connections from user applications. These onion proxies accept TCP streams and multiplex them across the circuits. The onion router on the other side of the circuit connects to the requested destinations and relays data.
  • 17. TOR BROWSER | SEPT 2016 17 BEHIND THE SCENES >> TOR DESIGN
  • 18. TOR BROWSER | SEPT 2016 18 BEHIND THE SCENES >> TOR DESIGN Each onion router maintains a long-term identity key and a short-term onion key. • The identity key is used to sign TLS certificates, to sign the OR’s router descriptor (a summary of its keys, address, bandwidth, exit policy, and so on), and (by directory servers) to sign directories. • The onion key is used to decrypt requests from users to set up a circuit and negotiate ephemeral keys*. *A cryptographic key is called ephemeral if it is generated for each execution of a key establishment process The TLS protocol also establishes a short-term link key when communicating between ORs. Short-term keys are rotated periodically and independently, to limit the impact of key compromise.
  • 19. TOR BROWSER | SEPT 2016 19 BEHIND THE SCENES >> TOR DESIGN >> CELLS Onion routers communicate with one another, and with users’ OPs, via TLS connections with ephemeral keys. Traffic passes along these connections in fixed-size cells. Each cell is 512 bytes, and consists of a header and a payload. The header includes a circuit identifier (circID) that specifies which circuit the cell refers to (many circuits can be multiplexed over the single TLS connection), and a command to describe what to do with the cell’s payload.
  • 20. TOR BROWSER | SEPT 2016 20 BEHIND THE SCENES >> TOR DESIGN >> CELLS 2 types of cells (Control cells and Relay cells) Control cells: always interpreted by the node that receives them Commands: • Padding (currently used for keepalive, but also usable for link padding) • Create or Created (used to set up a new circuit); • Destroy (to tear down a circuit).
  • 21. TOR BROWSER | SEPT 2016 21 BEHIND THE SCENES >> TOR DESIGN >> CELLS 2 types of cells (Control cells and Relay cells) Relay cells: carry end-to-end stream data. Commands: • Relay data (for data flowing down the stream) • Relay begin (to open a stream) • Relay end (to close a stream cleanly) • Relay teardown (to close a broken stream), • Relay connected (to notify the OP that a relay begin has succeeded) • Relay extend and relay extended (to extend the circuit by a hop, and to acknowledge) • Relay truncate and relay truncated (to tear down only part of the circuit, and to acknowledge) • Relay sendme (used for congestion control) • Relay drop (used to implement long-range dummies).
  • 22. TOR BROWSER | SEPT 2016 22 BEHIND THE SCENES >> TOR DESIGN >> CELLS 2 types of cells (Control cells and Relay cells) Relay cells: carry end-to-end stream data. Relay cells have an additional header (the relay header) at the front of the payload, containing a streamID (stream identifier: many streams can be multiplexed over a circuit); an end-to-end checksum for integrity checking; the length of the relay payload; and a relay command. The entire contents of the relay header and the relay cell payload are encrypted or decrypted together as the relay cell moves along the circuit, using the 128-bit AES cipher in counter mode to generate a cipher stream.
  • 23. TOR BROWSER | SEPT 2016 23 BEHIND THE SCENES >> TOR DESIGN >> CIRCUITS AND STREAMS Onion Routing originally built one circuit for each TCP stream. In Tor, each circuit can be shared by many TCP streams. To limit linkability among their streams, users’ OPs build a new circuit periodically if the previous ones have been used, and expire old used circuits that no longer have any open streams. OPs consider rotating to a new circuit once a minute. Also, because circuits are built in the background, OPs can recover from failed circuit creation without harming user experience.
  • 24. TOR BROWSER | SEPT 2016 24 BEHIND THE SCENES >> TOR DESIGN >> CIRCUITS AND STREAMS >> Constructing a circuit To begin creating a new circuit, the OP (Alice) sends a create cell to the first node in her chosen path (Bob). (She chooses a new circID CAB not currently used on the connection from her to Bob.) Alice builds a two-hop circuit and begins fetching a web page.
  • 25. TOR BROWSER | SEPT 2016 25 BEHIND THE SCENES >> TOR DESIGN >> CIRCUITS AND STREAMS >> Constructing a circuit The create cell’s payload contains the first half of the Diffie-Hellman handshake (gx), encrypted to the onion key of the OR (Bob). Bob responds with a created cell containing gy along with a hash of the negotiated key K = gxy. Once the circuit has been established, Alice and Bob can send one another relay cells encrypted with the negotiated key.
  • 26. TOR BROWSER | SEPT 2016 26 BEHIND THE SCENES >> TOR DESIGN >> CIRCUITS AND STREAMS >> Constructing a circuit To extend the circuit further, Alice sends a relay extend cell to Bob, specifying the address of the next OR (call her Carol), and an encrypted gx2 for her. Bob copies the half-handshake into a create cell, and passes it to Carol to extend the circuit. When Carol responds with a created cell, Bob wraps the payload into a relay extended cell and passes it back to Alice. Now the circuit is extended to Carol, and Alice and Carol share a common key K2 = gx2y2.
  • 27. TOR BROWSER | SEPT 2016 27 BEHIND THE SCENES >> TOR DESIGN >> CIRCUITS AND STREAMS >> Constructing a circuit To extend the circuit to a third node or beyond, Alice proceeds as above, always telling the last node in the circuit to extend one hop further. This circuit-level handshake protocol achieves unilateral entity authentication and unilateral key authentication (Alice and the OR agree on a key, and Alice knows only the OR learns it).
  • 28. TOR BROWSER | SEPT 2016 28 BEHIND THE SCENES >> TOR DESIGN >> OPENING & CLOSING STREAMS Closing a Tor stream is analogous to closing a TCP stream: it uses a two-step handshake for normal operation, or a onestep handshake for errors. If the stream closes abnormally, the adjacent node simply sends a relay teardown cell. If the stream closes normally, the node sends a relay end cell down the circuit, and the other side responds with its own relay end cell. Because all relay cells use layered encryption, only the destination OR knows that a given relay cell is a request to close a stream.
  • 29. TOR BROWSER | SEPT 2016 29 IV. METRICS
  • 30. TOR BROWSER | SEPT 2016 30 METRICS Under https://metrics.torproject.org/ you can find interesting facts about the Tor network, the largest deployed anonymity network to date
  • 31. TOR BROWSER | SEPT 2016 31 V. STAYING ANONYMOUS
  • 32. TOR BROWSER | SEPT 2016 32 STAYING ANONYMOUS Tor can't solve all anonymity problems. It focuses only on protecting the transport of data. You need to use protocol- specific support software if you don't want the sites you visit to see your identifying information. For example, you can use Tor Browser while browsing the web to withhold some information about your computer's configuration. Also, to protect your anonymity, be smart. Don't provide your name or other revealing information in web forms. Be aware that, like all anonymizing networks that are fast enough for web browsing, Tor does not provide protection against end-to-end timing attacks: If your attacker can watch the traffic coming out of your computer, and also the traffic arriving at your chosen destination, he can use statistical analysis to discover that they are part of the same circuit.
  • 33. TOR BROWSER | SEPT 2016 33 VI. DISADVANTAGES
  • 34. TOR BROWSER | SEPT 2016 34 DISADVANTAGES By using TOR network, you will be able to get anonymity while browsing but some obvious drawbacks are there which are like: • Performance will suffer, it's one of the major disadvantage. • Low latency anonymizers are prone to traffic analysis. • Exit nodes see your traffic in plain If you don't use a secure protocol on top of Tor, the exit node can sniff your passwords etc. Using SSL or SSH you should be fine, but be sure to validate the certificate/fingerprints.
  • 35. TOR BROWSER | SEPT 2016 35 VII. FUTURE DIRECTIONS
  • 36. TOR BROWSER | SEPT 2016 36 FUTURE DIRECTIONS Providing a usable anonymizing network on the Internet today is an ongoing challenge. Security and usability don't have to be at odds: As Tor's usability increases, it will attract more users, which will increase the possible sources and destinations of each communication, thus increasing security for everyone. TOR is making progress, but need your help… Please consider running a relay or volunteering as a developer.
  • 37. TOR BROWSER | SEPT 2016 37 VIII. REFERENCES
  • 38. TOR BROWSER | SEPT 2016 38 REFERENCES https://www.torproject.org/about/overview.html.en http://www.onion-router.net/ http://ntrg.cs.tcd.ie/undergrad/4ba2.05/group10/index http://en.wikipedia.org/wiki/Onion_routing Tor: The Second-Generation Onion Router research paper by • Roger Dingledine The Free Haven Project arma@freehaven.net • Nick Mathewson The Free Haven Project nickm@freehaven.net • Paul Syverson Naval Research Lab syverson@itd.nrl.navy.mil