mirror of
https://github.com/telemt/telemt.git
synced 2026-10-31 12:52:19 +03:00
45 lines
1.8 KiB
Markdown
45 lines
1.8 KiB
Markdown
# 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.
|
|
|
|
### Wie wählt Telemt die KDF-Quelle bei SOCKS?
|
|
|
|
Gültige öffentliche SOCKS-Werte `BND.ADDR/BND.PORT` mit einem Port ungleich null liefern das vollständige KDF-Quelltupel vor konfigurierten/ermittelten NAT-Daten. Die Familie muss dem logischen ME-Ziel entsprechen, unabhängig von der TCP-Familie zur SOCKS-Verbindung. IPv4-mapped IPv6-Ziele gelten als IPv4 und erfordern ein natives IPv4-BND-Tupel; IPv4-compatible Ziele bleiben IPv6. `strict` weist fehlendes/ungültiges BND ab, `compat` behält den bisherigen Fallback. KDF-Felder und Ports, SOCKS-CONNECT-Zielcodierung, Prüfung öffentlicher Adressen und STUN bleiben unverändert.
|