From 501d802b8ded081f5710083e82888eadd7fd3203 Mon Sep 17 00:00:00 2001 From: Alexey <247128645+axkurcom@users.noreply.github.com> Date: Sun, 1 Mar 2026 23:39:42 +0300 Subject: [PATCH] Create MIDDLE-END-KDF.de.md --- docs/MIDDLE-END-KDF.de.md | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docs/MIDDLE-END-KDF.de.md diff --git a/docs/MIDDLE-END-KDF.de.md b/docs/MIDDLE-END-KDF.de.md new file mode 100644 index 0000000..6483f7f --- /dev/null +++ b/docs/MIDDLE-END-KDF.de.md @@ -0,0 +1,40 @@ +# Middle-End Proxy + +## KDF-Adressierung — Implementierungs-FAQ + +### Benötigt die C-Referenzimplementierung sowohl externe IP-Adresse als auch Port für die KDF? + +Ja. + +In der C-Referenzimplementierung werden **sowohl IP-Adresse als auch Port in die KDF einbezogen** — auf beiden Seiten der Verbindung. + +In `aes_create_keys()` enthält der KDF-Input: + +- `server_ip + client_port` +- `client_ip + server_port` +- sowie Secret / Nonces + +Für IPv6: + +- IPv4-Felder werden auf 0 gesetzt +- IPv6-Adressen werden ergänzt + +Die **Ports bleiben weiterhin Bestandteil der KDF**. + +> Wenn sich externe IP oder Port (z. B. durch NAT, SOCKS oder Proxy) von den erwarteten Werten unterscheiden, entstehen unterschiedliche Schlüssel — der Handshake schlägt fehl. + +--- + +### Kann der Port aus der KDF ausgeschlossen werden (z. B. durch Port = 0)? + +**Nein!** + +Die C-Referenzimplementierung enthält **keine Möglichkeit, den Port zu ignorieren**: +- `client_port` und `server_port` sind fester Bestandteil der KDF +- Es werden immer reale Socket-Ports übergeben: + - `c->our_port` + - `c->remote_port` + +Falls ein Port den Wert `0` hat, wird er dennoch als `0` in die KDF übernommen. + +Eine „Port-Ignore“-Logik existiert nicht.