Come deve essere configurato IPSec per fornire una protezione almeno equivalente alla mia attuale configurazione Stunnel?

3

In una rete privata (come in uno spazio di indirizzi IP privato) presso un provider cloud, altri clienti hanno accesso alla stessa rete privata. Ho assicurato la comunicazione tra molti host e servizi con TLS fornito da Stunnel.

Sfondo: configurazione Stunnel corrente

Per semplificare la situazione attuale, concentriamoci sulla comunicazione tra due nodi, A (indirizzo IP IP_A ) e B ( IP_B ). Un esempio di Stunnel, dall'host A:

; [ This config only shows the crypto-relevant parts ]

; Disable support for insecure SSLv2 protocol and low-strength ciphers
ciphers = TLSv1.2:TLSv1.1:TLSv1:SSLv3:!SSLv2:!SSLv1:!LOW:!eNULL:!aNULL:!ADH:!EXP:!MD5@STRENGTH
sslVersion = TLSv1

; The following options provide additional security at some performance penalty
; Default ECDH/DH parameters are strong/conservative, so it is quite safe to
; comment out these lines in order to get a performance boost
options = SINGLE_ECDH_USE
options = SINGLE_DH_USE

verify = 2

[my-service-B]
client = yes
accept = 127.0.0.1:15674
connect = IP_B:15675
CApath = /etc/stunnel/ssl/my-service/certs
CRLfile = /etc/stunnel/ssl/my-service/ca-crl.pem
cert = /etc/stunnel/ssl/my-service/certs/my-service-cert.pem
key = /etc/stunnel/ssl/my-service/private/my-service-key.pem

La configurazione Stunnel sull'host B è identica, tranne per il fatto che la sezione del servizio è stata sostituita da:

[my-service-localhost]
client = no
accept = IP_B:15675
connect = localhost:15674
; [ … the key and certificates are the same … ]

I certificati utilizzano una chiave RSA a 2048 bit. Quando includo il debug dell'output nel log, i report Stunnel

Could not load DH parameters from /etc/stunnel/ssl/my-service/certs/my-service-cert.pem
Using hardcoded DH parameters
DH initialized with 2048-bit key
ECDH initialized with curve prime256v1

durante l'avvio. Inoltre, quando l'host A si connette, il registro include le voci

SSL accepted: new session negotiated
Negotiated TLSv1/SSLv3 ciphersuite: ECDHE-RSA-AES256-SHA (256-bit encryption)

IPSec

Ora, mi chiedo quale configurazione IPSec fornirà lo stesso livello di sicurezza del trasporto della suddetta configurazione TLS / Stunnel, sia rispetto agli algoritmi di crittografia e chiavi utilizzate per le intestazioni di autenticazione IPSec (AH), che incapsulano il carico utile di sicurezza (ESP), e politiche di sicurezza? So che IPSec protegge tutto il traffico di rete tra gli host interessati, mentre TLS protegge solo il traffico per le porte / applicazioni configurate, quindi non è quello che sto chiedendo.

In base alla pagina man di setkey(8) , gli algoritmi di autenticazione disponibili per AH sono:

algorithm       keylen (bits)
hmac-md5        128             ah: rfc2403
                128             ah-old: rfc2085
hmac-sha1       160             ah: rfc2404
                160             ah-old: 128bit ICV (no document)
keyed-md5       128             ah: 96bit ICV (no document)
                128             ah-old: rfc1828
keyed-sha1      160             ah: 96bit ICV (no document)
                160             ah-old: 128bit ICV (no document)
null            0 to 2048       for debugging
hmac-sha256     256             ah: 96bit ICV
                                (draft-ietf-ipsec-ciph-sha-256-00)
                256             ah-old: 128bit ICV (no document)
hmac-sha384     384             ah: 96bit ICV (no document)
                384             ah-old: 128bit ICV (no document)
hmac-sha512     512             ah: 96bit ICV (no document)
                512             ah-old: 128bit ICV (no document)
hmac-ripemd160  160             ah: 96bit ICV (RFC2857)
                                ah-old: 128bit ICV (no document)
aes-xcbc-mac    128             ah: 96bit ICV (RFC3566)
                128             ah-old: 128bit ICV (no document)
tcp-md5         8 to 640        tcp: rfc2385 (tcp-md5 support only on BSD)

e gli algoritmi di crittografia disponibili per ESP sono:

algorithm       keylen (bits)
des-cbc         64              esp-old: rfc1829, esp: rfc2405
3des-cbc        192             rfc2451
null            0 to 2048       rfc2410
blowfish-cbc    40 to 448       rfc2451
cast128-cbc     40 to 128       rfc2451
des-deriv       64              ipsec-ciph-des-derived-01
3des-deriv      192             no document
rijndael-cbc    128/192/256     rfc3602
twofish-cbc     0 to 256        draft-ietf-ipsec-ciph-aes-cbc-01
aes-ctr         160/224/288     draft-ietf-ipsec-ciph-aes-ctr-03
camellia-cbc    128/192/256     rfc4312

Note that the first 128 bits of a key for aes-ctr will be used as AES
key, and the remaining 32 bits will be used as nonce.

Naturalmente, nel caso in cui diverse combinazioni di algoritmi AH ed ESP e lunghezze di chiavi forniscano un livello di sicurezza equivalente alla precedente configurazione di STunnel, vorrei ottimizzare per una maggiore larghezza di banda e un minore utilizzo della CPU.

Inoltre, esiste un elenco di coppie di configurazioni (approssimative e lunghezze chiave) equivalenti (approssimativamente) TLS e IPSec?

Aggiornamento

Quando ho scritto "livello di sicurezza" sopra, probabilmente avrei dovuto essere più specifico e riferito a un concetto come "forza di sicurezza" o "bit di sicurezza", come definito dall'Istituto nazionale degli standard e della tecnologia statunitense ( NIST) in Pubblicazione speciale NIST 800-57: Raccomandazione per la gestione delle chiavi - Parte 1: Generale ( Revisione 3) :

A number associated with the amount of work (that is, the number of operations) that is required to break a cryptographic algorithm or system. In this Recommendation, the security strength is specified in bits and is a specific value from the set {80, 112, 128, 192, 256}

Tuttavia, tieni presente che i bit di sicurezza non sono (necessariamente) uguali alla lunghezza della chiave utilizzata per un particolare codice. Inoltre, nella sezione "5.6.1 Potenziali algoritmi comparabili", annotano (enfasi aggiunta da me):

[...] two algorithms are considered to be of comparable strength for the given key sizes (X and Y) if the amount of work needed to “break the algorithms” or determine the keys (with the given key sizes) is approximately the same using a given resource. The security strength of an algorithm for a given key size is traditionally described in terms of the amount of work it takes to try all keys for a symmetric algorithm with a key size of "X" that has no short cut attacks (i.e., the most efficient attack is to try all possible keys).

Pertanto, quando ho chiesto quale configurazione IPSec fornirà lo stesso livello di sicurezza del trasporto della precedente configurazione TLS / Stunnel, la risposta dovrebbe probabilmente dipendere dalla forza di crittografia del cifrario negoziato da Stunnel, come menzionato sopra, combinato con qualsiasi conoscenza su come il modello di sicurezza IPSec rispetto al modello di sicurezza TLS possa influire sull'efficacia del cifrario e / o sulla sicurezza generale del trasporto.

    
posta Martin Thorsen Ranang 09.02.2014 - 23:46
fonte

1 risposta

1

Now, I wonder what IPSec configuration will provide the same level of transport security as the above TLS/Stunnel configuration, both with respect to

Alla ricerca di "lo stesso livello" tra due tecnologie completamente diverse è più o meno un'opinione - non sono a conoscenza di una serie unica e completa di misurazioni significative che esistono, tanto meno di una che ha anche una possibilità di dare un risultato identico.

encryption algorithms and keys used for IPSec authentication headers (AH),

Dalla lista che hai fornito, ho intenzione di indovinare che l'ECDHE-RSA-AES256-SHA di stunnel è probabilmente il più equivalente a hmac-sha1. Consiglierei di passare almeno a hmac-sha256.

encapsulating security payload (ESP)

Dall'elenco che hai fornito, l'ECDHE-RSA-AES256-SHA di stunnel è più equivalente a aes-ctr con una lunghezza di 288. Se ti trovi in Europa o in Giappone, dovresti probabilmente sostituire camellia-cbc con una lunghezza di 256, come le varianti di camelia sono i loro standard.

and security policies?

Non posso rispondere a questa parte, mi dispiace, perché di solito uso OpenVPN.

    
risposta data 10.02.2014 - 00:14
fonte

Leggi altre domande sui tag