Passa al contenuto principale

7. Security Considerations (Considerazioni sulla sicurezza)

Le descrizioni di sessione SDP non costituiscono di per sé un protocollo di trasporto e DEVONO essere usate insieme a un protocollo di trasporto per consegnare la descrizione di sessione ai partecipanti. Questa sezione discute le considerazioni di sicurezza nell'uso di SDP.

Riservatezza (Confidentiality)

Le descrizioni di sessione possono contenere informazioni sensibili, tra cui:

  • Informazioni sull'identità dei partecipanti
  • Informazioni di contatto (e-mail, numeri di telefono)
  • Chiavi di cifratura
  • Informazioni sulla topologia di rete (indirizzi IP, porte)
  • Orari e argomenti della sessione

Si raccomanda di usare meccanismi di cifratura appropriati, come TLS o S/MIME, per proteggere la riservatezza della descrizione di sessione durante il trasporto.

Integrità e autenticità (Integrity and Authenticity)

Le descrizioni di sessione DEVONO essere protette da modifiche non autorizzate. Modificando una descrizione di sessione, un attaccante potrebbe:

  • Reindirizzare flussi multimediali verso server malevoli
  • Inserire attributi malevoli
  • Modificare chiavi di cifratura
  • Cambiare gli orari della sessione

Si raccomanda di usare firme digitali o Message Authentication Code (MAC) per verificare l'integrità e l'autenticità della descrizione di sessione.

Denial of Service (Denial of Service)

Un attaccante potrebbe sfruttare descrizioni di sessione per avviare attacchi Denial of Service:

  • Inviando un grande numero di annunci di sessione falsificati
  • Creando descrizioni di sessione molto grandi che consumano le risorse del parser
  • Puntando a indirizzi inesistenti per consumare risorse di rete

Le implementazioni DOVREBBERO limitare dimensione e complessità delle descrizioni di sessione e gestire in modo appropriato gli errori di parsing.

Distribuzione delle chiavi di cifratura (Encryption Key Distribution)

Sebbene SDP fornisca un meccanismo per comunicare chiavi di cifratura (il campo "k="), in molti casi trasferire chiavi tramite una descrizione di sessione può non essere sicuro. Si raccomanda di usare protocolli dedicati di gestione delle chiavi, come MIKEY o ZRTP, oppure metodi di scambio delle chiavi fuori banda.

Considerazioni sulla privacy (Privacy Considerations)

Il campo "o=" contiene il nome utente e l'indirizzo IP del creatore della sessione, e ciò può rivelare informazioni private. Negli scenari in cui è richiesta la privacy, possono essere usati un nome utente arbitrario e un indirizzo privato, purché non venga compromessa l'unicità globale del campo.

Network Address Translation (NAT) e firewall

Gli indirizzi IP e le informazioni sulle porte contenuti in SDP possono diventare non validi quando attraversano NAT o firewall. Le applicazioni DOVREBBERO usare meccanismi come Interactive Connectivity Establishment (ICE) per gestire queste situazioni.