aboutsummaryrefslogtreecommitdiff
path: root/spec/tor-spec
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2023-11-08 09:35:33 -0500
committerNick Mathewson <nickm@torproject.org>2023-11-09 16:42:47 -0500
commit01d59d7c29ba27aaae1b635243853260581384a1 (patch)
treed6fc2ab75b6103f830c2f65e2be289f9ba35207d /spec/tor-spec
parenteab09d4a520b6d7d44fa73d120a5be889fdc9e51 (diff)
downloadtorspec-01d59d7c29ba27aaae1b635243853260581384a1.tar.gz
torspec-01d59d7c29ba27aaae1b635243853260581384a1.zip
Add a sequence diagram for channel handshake
Diffstat (limited to 'spec/tor-spec')
-rw-r--r--spec/tor-spec/negotiating-channels.md20
1 files changed, 19 insertions, 1 deletions
diff --git a/spec/tor-spec/negotiating-channels.md b/spec/tor-spec/negotiating-channels.md
index c328e12..1184fd8 100644
--- a/spec/tor-spec/negotiating-channels.md
+++ b/spec/tor-spec/negotiating-channels.md
@@ -22,7 +22,7 @@ In brief:
to establish clock skew and IP addresses.
- The initiator checks whether the CERTS cell is correct,
and decides whether to authenticate.
- - If the initiator does not wants to authenticate,
+ - If the initiator does not wants to authenticate,
it sends a [NETINFO cell](#NETINFO-cells).
- If the initiator wants to authenticate,
it sends a [CERTS cell](#CERTS-cells),
@@ -38,6 +38,24 @@ except for VPADDING cells.
by scanning-resistance designs.
It is not specified here.)
+```mermaid
+sequenceDiagram
+ Initiator --> Responder: TLS Handshake
+
+ Note over Initiator,Responder: The rest is encrypted
+
+ Initiator ->> Responder: VERSIONS
+ Responder ->> Initiator: VERSIONS, CERTS, AUTH_CHALLENGE, NETINFO
+
+ opt if the initiator wants to authenticate
+ Initiator ->> Responder: CERTS, AUTHENTICATE
+ end
+
+ Initiator ->> Responder: NETINFO
+```
+
+
+
## The TLS handshake {#tls}
<span id="in-protocol">The