Passa al contenuto principale

4. Conformance Requirements (Requisiti di conformità)

4. Conformance Requirements (Requisiti di conformità)

Per garantire che tutte le implementazioni di IKEv2 (Internet Key Exchange Protocol Version 2) possano interoperare, esistono requisiti « MUST support » oltre a quelli elencati altrove. Naturalmente IKEv2 è un protocollo di sicurezza e una delle sue funzioni principali è consentire solo alle parti autorizzate di completare l'istituzione delle SA (Security Associations, associazioni di sicurezza). Una particolare implementazione può quindi essere configurata con varie restrizioni su algoritmi e autorità attendibili che impediranno un'interoperabilità universale.

IKEv2 è progettato per consentire implementazioni minime in grado di interoperare con tutte le implementazioni conformi. Le seguenti funzionalità possono essere omesse in un'implementazione minima:

  • Capacità di negoziare SA attraverso un NAT (Network Address Translation) e incapsulare la risultante SA ESP su UDP.

  • Capacità di richiedere (e rispondere a una richiesta di) un indirizzo IP temporaneo all'estremità remota di un tunnel.

  • Capacità di supportare l'autenticazione basata su EAP (Extensible Authentication Protocol).

  • Capacità di supportare dimensioni di finestra maggiori di uno.

  • Capacità di stabilire più SA ESP o AH (Authentication Header) all'interno di una singola SA IKE.

  • Capacità di rinnovare le chiavi delle SA (rekeying).

Per garantire l'interoperabilità, tutte le implementazioni DEVONO essere in grado di analizzare tutti i tipi di payload (se solo per saltarli) e di ignorare i tipi di payload non supportati a meno che il bit critical non sia impostato nell'intestazione del payload. Se il bit critical è impostato in un'intestazione di payload non supportata, tutte le implementazioni DEVONO rifiutare i messaggi che contengono tali payload.

Ogni implementazione DEVE essere in grado di eseguire scambi IKE_SA_INIT e IKE_AUTH di quattro messaggi che stabiliscono due SA (una per IKE, una per ESP o AH). Le implementazioni POSSONO essere solo iniziatrici o solo risponditrici se appropriato per la piattaforma. Ogni implementazione DEVE essere in grado di rispondere a uno scambio INFORMATIONAL, ma un'implementazione minima PUÒ rispondere a qualsiasi richiesta nello scambio INFORMATIONAL con una risposta vuota (nel contesto di una SA IKE, un messaggio « vuoto » consiste in un'intestazione IKE seguita da un payload crittografato senza payload interni). Un'implementazione minima PUÒ supportare lo scambio CREATE_CHILD_SA solo nella misura in cui riconosce le richieste e le rifiuta con un payload Notify di tipo NO_ADDITIONAL_SAS. Un'implementazione minima non deve necessariamente poter avviare scambi CREATE_CHILD_SA o INFORMATIONAL. Quando una SA scade (in base a valori configurati localmente di durata o ottetti trasmessi), un'implementazione PUÒ tentare di rinnovarla con uno scambio CREATE_CHILD_SA oppure PUÒ eliminare (chiudere) la vecchia SA e crearne una nuova. Se il risponditore rifiuta la richiesta CREATE_CHILD_SA con una notifica NO_ADDITIONAL_SAS, l'implementazione DEVE essere in grado invece di eliminare la vecchia SA e crearne una nuova.

Le implementazioni non sono tenute a supportare la richiesta di indirizzi IP temporanei né a rispondere a tali richieste. Se un'implementazione supporta l'invio di tali richieste e la sua politica richiede indirizzi IP temporanei, DEVE includere un payload CP (Configuration) nel primo messaggio dello scambio IKE_AUTH contenente almeno un campo di tipo INTERNAL_IP4_ADDRESS o INTERNAL_IP6_ADDRESS. Tutti gli altri campi sono facoltativi. Se un'implementazione supporta la risposta a tali richieste, DEVE analizzare il payload CP di tipo CFG_REQUEST nel primo messaggio dello scambio IKE_AUTH e riconoscere un campo di tipo INTERNAL_IP4_ADDRESS o INTERNAL_IP6_ADDRESS. Se supporta l'assegnazione di un indirizzo del tipo appropriato, DEVE restituire un payload CP di tipo CFG_REPLY contenente un indirizzo del tipo richiesto. Il risponditore può includere qualsiasi altro attributo correlato.

Affinché un'implementazione sia definita conforme a questa specifica, DEVE essere possibile configurarla per accettare quanto segue:

  • Infrastruttura a chiave pubblica X.509 PKIX (Public Key Infrastructure using X.509) con certificati contenenti e firmati da chiavi RSA di 1024 o 2048 bit, dove l'ID passato è uno tra ID_KEY_ID, ID_FQDN, ID_RFC822_ADDR o ID_DER_ASN1_DN.

  • Autenticazione a chiave condivisa dove l'ID passato è uno tra ID_KEY_ID, ID_FQDN o ID_RFC822_ADDR.

  • Autenticazione in cui il risponditore è autenticato con certificati PKIX e l'iniziatore con chiave condivisa.