11. Considerazioni sulla Sicurezza
Se questo meccanismo deve essere utilizzato con DNS-over-TLS, allora questi messaggi sono soggetti agli stessi vincoli di qualsiasi altro messaggio DNS-over-TLS e NON DEVONO essere inviati in chiaro prima che la sessione TLS sia stabilita.
Il campo dati del TLV "Encryption Padding" (Riempimento crittografia) potrebbe essere utilizzato come canale nascosto.
Quando si progettano nuovi TLV DSO, il potenziale utilizzo dei dati nel TLV come identificatore di tracciamento dovrebbe essere preso in considerazione e dovrebbe essere evitato quando non richiesto.
Se utilizzato senza TLS o protezione crittografica simile, un'entità dannosa potrebbe essere in grado di iniettare un messaggio DSO Retry Delay unidirezionale dannoso nel flusso di dati, specificando un RETRY DELAY irragionevolmente grande, causando un attacco denial-of-service contro il client.
L'istituzione di sessioni DSO ha un impatto sul numero di connessioni TCP aperte su un server DNS. Di conseguenza, potrebbero essere utilizzate risorse aggiuntive sul server. Tuttavia, poiché il server può limitare il numero di sessioni DSO stabilite e può anche chiudere le sessioni DSO esistenti secondo necessità, il denial of service o l'esaurimento delle risorse non dovrebbero essere una preoccupazione.
11.1. Considerazioni su TLS Zero Round-Trip
DSO consente l'operazione zero round-trip utilizzando TCP Fast Open con early data TLS 1.3 [RFC8446] per ridurre o eliminare i round trip nell'istituzione della sessione. TCP Fast Open è consentito solo in combinazione con early data TLS 1.3. Nel resto di questa sezione, ci riferiamo agli early data TLS 1.3 in un messaggio di handshake iniziale TLS zero round-trip, indipendentemente dal fatto che siano inclusi o meno in un pacchetto TCP SYN con early data utilizzando l'opzione TCP Fast Open, come "early data".
Un messaggio DSO può o non può essere autorizzato a essere inviato come early data. La definizione per ogni TLV che può essere utilizzato come TLV Primario è tenuta a dichiarare se quel TLV è consentito o meno come early data. Solo i messaggi che richiedono risposta sono mai consentiti come early data, e solo i client sono autorizzati a inviare un messaggio DSO come early data a meno che non vi sia una sessione DSO implicita (vedere Sezione 5.1).
Per i messaggi DSO che sono consentiti come early data, un client PUÒ includere uno o più di tali messaggi come early data senza dover attendere una risposta DSO al primo messaggio di richiesta DSO per confermare l'avvenuta istituzione di una sessione DSO.
Tuttavia, a meno che non vi sia una sessione DSO implicita, un client NON DEVE inviare messaggi DSO unidirezionali fino a quando una sessione DSO non è stata reciprocamente stabilita.
Allo stesso modo, a meno che non vi sia una sessione DSO implicita, un server NON DEVE inviare messaggi di richiesta DSO fino a quando non ha ricevuto un messaggio di richiesta DSO che richiede risposta da un client e ha trasmesso una risposta NOERROR riuscita per quella richiesta.
È necessario prestare attenzione per garantire che i messaggi DSO inviati come early data siano idempotenti o siano altrimenti immuni a qualsiasi problema che potrebbe derivare dalla riproduzione involontaria che può verificarsi con l'operazione zero round-trip.
Sarebbe possibile aggiungere un TLV che richieda al server di svolgere un lavoro significativo e inviarlo al server come dati iniziali in un pacchetto TCP SYN. Un'inondazione di tali pacchetti potrebbe essere utilizzata come attacco DoS sul server. Nessuno dei TLV definiti qui ha questa proprietà.
Se viene specificato un nuovo TLV che ha questa proprietà, quel TLV deve essere specificato come non consentito nei messaggi zero round-trip. Ciò impedisce che il lavoro venga svolto fino a quando non si è verificato un round trip dal server al client per verificare che l'indirizzo di origine del pacchetto sia raggiungibile.
I documenti che definiscono nuovi TLV devono dichiarare se ogni nuovo TLV può essere inviato come early data. Tali documenti devono includere un'analisi delle minacce nella sezione considerazioni sulla sicurezza per ogni TLV definito nel documento che può essere inviato come early data. Questa analisi delle minacce dovrebbe essere effettuata sulla base dei consigli forniti nelle Sezioni 2.3, 8 e Appendice E.5 della specifica TLS 1.3 [RFC8446].