Considerazioni sulla selezione del cifrario HTTPS [chiuso]

4

Ho esaminato vari documenti online, ad es. Best practice per la distribuzione SSL e TLS , in merito alla selezione "giusta" di suite di crittografia per un sito Web. L'immagine allegata mostra la mia selezione di suite di crittografia con priorità più bassa dall'alto al basso, ad es. ECDHE-ECDSA-CHACHA20-POLY1305 ha la massima priorità. Di seguito, spiego questa selezione e mi piacerebbe avere il tuo feedback.

Ho ricevuto le cifre con il seguente comando, fornito da LibreSSL 2.4.1:

openssl ciphers -v | grep -i dhe | grep -i -e ecdsa -e rsa | grep -i -v camellia | grep -i -v rc4 | grep -i -v 3des | grep -i -v ChaCha20-Poly1305-Old

I miei motivi per la selezione:

  • dhe: consenti solo le cifrature che supportano la segretezza avanzata
  • ecdsa / rsa: disabilita le cifrature DSA / DSS deboli
  • camelia: non tanto testato come AES?!? Brevetto!
  • rc4: debole
  • 3des: debole
  • ChaCha20-Poly1305-Old: bozza di codice

Successivamente ho ordinato le cifre con sicurezza in mente:

  1. Per prima cosa ho scelto i cipher che supportano AEAD, tra gli altri:

    "You should rely chiefly on the AEAD suites ..." (SSLLABS best practices)

  2. Quindi, i codici ECDSA sono preferiti rispetto a RSA. RSA1024 è debole, RSA2048 va bene per ora, ma RSA3072 e superiori mettono troppo carico sul server (IMHO).
  3. ECDH è favorito. DH con 2048 bit e sopra è sicuro per ora. Tuttavia, le vulnerabilità sono note per chiavi di lunghezza inferiore. D'altra parte, secp256r1 (NIST P-256), che è l'ECC maggiormente supportato, non è sicuro secondo Bernstein (URL: safecurves.cr.yp.to). Inoltre secp256r1 viene da NIST! Cosa ne pensi? Utilizza DH con vulnerabilità note per chiavi di lunghezza brevi o ECDH con secp256r1 provenienti da NIST e insicure secondo Bernstein?

Dopo aver effettuato la mia selezione in base alla forza del cipher, ho ulteriormente definito la priorità in base al rendimento .

  1. In primo luogo, ho effettuato la mia selezione in base all'algoritmo di crittografia presumendo che abbia un impatto maggiore sulle prestazioni rispetto all'algoritmo di hash scelto. Ho ragione o torto?
  2. Con PC e laptop in genere più performanti rispetto ai dispositivi mobili, ho focalizzato l'attenzione sui dispositivi mobili e ho scelto prima le crittografie basate su ChaCha20, eseguite su dispositivi mobili basati su ARM più rapidamente di AES a causa del supporto AES-NI mancante (URL : blog.cloudflare.com/do-the-chacha-better-mobile-performance-with-cryptography/). I PC moderni invece hanno il supporto AES-NI e funzionano più velocemente con AES.
  3. Le ulteriori scelte (AES128 su AES256 e SHA1- > SHA256- > SHA384) sono autoesplicative. HMAC-SHA1 non rappresenta un rischio AFAIK. O mi sbaglio?

A proposito, non mi importa problemi di connettività con Windows XP e altri vecchi sistemi. ECDSA e RSA saranno disponibili sul mio webserver contemporaneamente. Nginx supporta più certificati a partire dalla versione 1.11.0, mentre Apache lo supporta per un periodo più lungo. Utilizzerò il pulitore LibreSSL, che ha già ChaCha20.

    
posta user2486134 19.06.2016 - 01:30
fonte

0 risposte

Leggi altre domande sui tag