glossary.txt 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. Glossary
  2. The Tor Project
  3. This document aims to specify terms, notations, and phrases related
  4. to Tor, as used in the Tor specification documents and other documentation.
  5. This glossary is not a design document; it is only a reference.
  6. This glossary is a work-in-progress; double-check its definitions before
  7. citing them authoritatively. ;)
  8. 0. Preliminaries
  9. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
  10. NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
  11. "OPTIONAL" in this document are to be interpreted as described in
  12. RFC 2119.
  13. 1.0 Commonly used Tor configuration terms
  14. ORPort - Onion Router Port
  15. DirPort - Directory Port
  16. 2.0 Tor network components
  17. 2.1 Relays, aka OR (onion router)
  18. [Style guide: prefer the term "Relay"]
  19. 2.1.1 Specific roles
  20. Exit relay: The final hop in an exit circuit before traffic leaves
  21. the Tor network to connect to external servers.
  22. Non-exit relay: Relays that send and receive traffic only to
  23. other Tor relays and Tor clients.
  24. Entry relay: The first hop in a Tor circuit. Can be either a guard
  25. relay or a bridge, depending on the client's configuration.
  26. Guard relay: A relay that a client uses as its entry for a longer
  27. period of time. Guard relays are rotated more slowly to prevent
  28. attacks that can come from being exposed to too many guards.
  29. Bridge: A relay intentionally not listed in the public Tor
  30. consensus, with the purpose of circumventing entities (such as
  31. governments or ISPs) seeking to block clients from using Tor.
  32. Currently, bridges are used only as entry relays.
  33. Directory cache: A relay that downloads cached directory information
  34. from the directory authorities and serves it to clients on demand.
  35. Any relay will act as a directory cache, if its bandwidth is high enough.
  36. Rendezvous point: A relay connecting a client to a hidden service.
  37. Each party builds a three-hop circuit, meeting at the
  38. rendezvous point.
  39. 2.2 Client, aka OP (onion proxy)
  40. [Style: the "OP" and "onion proxy" terms are deprecated.]
  41. 2.3 Authorities:
  42. Directory Authority: Nine total in the Tor network, operated by
  43. trusted individuals. Directory authorities define and serve the
  44. consensus document, defining the "state of the network." This document
  45. contains a "router status" section for every relay currently
  46. in the network. Directory authorities also serve router descriptors,
  47. extra info documents, microdescriptors, and the microdescriptor consensus.
  48. Bridge Authority: One total. Similar in responsibility to directory
  49. authorities, but for bridges.
  50. Fallback directory mirror: One of a list of directory caches distributed
  51. with the Tor software. (When a client first connects to the network, and
  52. has no directory information, it asks a fallback directory. From then on,
  53. the client can ask any directory cache that's listed in the directory
  54. information it has.)
  55. 2.4 Hidden Service:
  56. A hidden service is a server that will only accept incoming
  57. connections via the hidden service protocol. Connection
  58. initiators will not be able to learn the IP address of the hidden
  59. service, allowing the hidden service to receive incoming connections,
  60. serve content, etc, while preserving its location anonymity.
  61. 2.5 Circuit:
  62. An established path through the network, where cryptographic keys
  63. are negotiated using the ntor protocol or TAP (Tor Authentication
  64. Protocol (deprecated)) with each hop. Circuits can differ in length
  65. depending on their purpose. See also Leaky Pipe Topology.
  66. Origin Circuit -
  67. Exit Circuit: A circuit which connects clients to destinations
  68. outside the Tor network. For example, if a client wanted to visit
  69. duckduckgo.com, this connection would require an exit circuit.
  70. Internal Circuit: A circuit whose traffic never leaves the Tor
  71. network. For example, a client could connect to a hidden service via
  72. an internal circuit.
  73. 2.6 Edge connection:
  74. 2.7 Consensus: The state of the Tor network, published every hour,
  75. decided by a vote from the network's directory authorities. Clients
  76. fetch the consensus from directory authorities, fallback
  77. directories, or directory caches.
  78. 2.8 Descriptor: Each descriptor represents information about one
  79. relay in the Tor network. The descriptor includes the relay's IP
  80. address, public keys, and other data. Relays send
  81. descriptors to directory authorities, who vote and publish a
  82. summary of them in the network consensus.
  83. 3.0 Tor network protocols
  84. 3.1 Link handshake
  85. The link handshake establishes the TLS connection over which two
  86. Tor participants will send Tor cells. This handshake also
  87. authenticates the participants to each other, possibly using Tor
  88. cells.
  89. 3.2 Circuit handshake
  90. Circuit handshakes establish the hop-by-hop onion encryption
  91. that clients use to tunnel their application traffic. The
  92. client does a pairwise key establishment handshake with each
  93. individual relay in the circuit. For every hop except the
  94. first, these handshakes tunnel through existing hops in the
  95. circuit. Each cell type in this protocol also has a newer
  96. version (with a "2" suffix), e.g., CREATE2.
  97. CREATE cell: First part of a handshake, sent by the initiator.
  98. CREATED cell: Second part of a handshake, sent by the responder.
  99. EXTEND cell: (also known as a RELAY_EXTEND cell) First part of a
  100. handshake, tunneled through an existing circuit. The last relay
  101. in the circuit so far will decrypt this cell and send the
  102. payload in a CREATED cell to the chosen next hop relay.
  103. EXTENDED cell: (also known as a RELAY_EXTENDED cell) Second part
  104. of a handshake, tunneled through an existing circuit. The last
  105. relay in the circuit so far receives the CREATED cell from the
  106. new last hop relay and encrypts the payload in an EXTENDED cell
  107. to tunnel back to the client.
  108. Onion skin: A CREATE/CREATE2 or EXTEND/EXTEND2 payload that
  109. contains the first part of the TAP or ntor key establishment
  110. handshake.
  111. 3.3 Hidden Service Protocol
  112. 3.4 Directory Protocol
  113. 4.0 General network definitions
  114. Leaky Pipe Topology: The ability for the origin of a circuit to address
  115. relay cells to be addressed to any hop in the path of a circuit. In Tor,
  116. the destination hop is determined by using the 'recognized' field of relay
  117. cells.
  118. Stream: A single application-level connection or request, multiplexed over
  119. a Tor circuit. A 'Stream' can currently carry the contents of a TCP
  120. connection, a DNS request, or a Tor directory request.
  121. Channel: A pairwise connection between two Tor relays, or between a
  122. client and a relay. Circuits are multiplexed over Channels. All
  123. channels are currently implemented as TLS connections.