Utilisateur:RylieDG/Brouillon
Le protocole TLS (Transport Layer Security) fournit la capacité sécuriser les communications à travers des réseaux. Cette comparaison des implémentations TLS traite plusieurs librairies les plus notables. Il y a plusieurs implémentations TLS qui sont des logiciels libres et source libre.
Toutes les catégories de comparaison utilisent la version stable de chaque mise en oeuvre qui est listée dans la section aperçue. La comparaison est limitée aux caractéristiques directement liées au protocole TLS.
Aperçu modifier
Voir les comparaisons des informations générales sur chaque implémentation.
Implementation | Developed by | Open source | Software license | Copyright owner | Written in | Latest stable version, release date | Origin |
---|---|---|---|---|---|---|---|
GnuTLS | GnuTLS project | Yes | GNU LGPLv2.1+ | Free Software Foundation | C | stable: 3.5.19 / July 16, 2018; 11 days ago[1]
stable-next: 3.6.3 / July 16, 2018; 11 days ago[2] |
EU (Greece and Sweden) |
OpenSSL | OpenSSL project | Yes | OpenSSL-SSLeay dual-license | Eric Young, Tim Hudson, Sun, OpenSSL project, and others | C, assembly | 1.1.0h (March 27, 2018; 3 months ago) [±]
1.0.2o (March 27, 2018; 3 months ago) [±] |
Australia/EU |
wolfSSL (previously CyaSSL) | wolfSSL[4] | Yes | GNU GPLv2+ and commercial license | wolfSSL Inc.[5] | C | 3.15.3 (June 22, 2018; 35 days ago)[6][±] | US |
Appui du protocole modifier
Plusieurs versions du protocole TLS existent. SSL 2.0 est une version obsolète[7] avec des faiblesses notables. SSL 3.0 (1996) et TLS 1.0 (1999) sont des successeurs avec deux faiblesses de CBC-padding qui était expliqués en 2001 par Serge Vaudenay.[8] TLS 1.1 a corrigé seulement l’un des problèmes par changement aux vecteurs d’initialisation randomisée de chiffrement par bloc CBC, tandis que l’utilisation plus problématique de cryptage mac-pad au lieu de l’option sécurisée était traitée avec RFC7366.[9] Relativement équivaut aux vecteurs d’initialisation randomisées de TLS 1.1, une solution de SSL 3.0 et TLS 1.0 était adoptée à grande échelle par plusieurs implémentations fin 2011. Du point de vue de la sécurité, toutes les versions existantes de TLS 1.0, 1.1 et 1.2 fournissent la force équivalent dans le protocole de base. De plus, elles sont adaptées à la sécurité 128 bit selon NIST SP800-57 au moins jusqu’à 2030. En 2014, la vulnérabilité POODLE de SSL 3.0 a été découverte en 2014 et fonctionne à tirer profit des vulnérabilités connues en CBC en plus d’une négociation d’une position de repli précaire utilisé aux navigateurs.[10]
TLS 1.2 (2008) est la version publiée la plus récemment du protocole de base. Ça présente le moyen pour identifier le hachage utilisé aux signatures numériques. Tout en permettant l’utilisation des fonctionnes du hachage plus solides aux signatures numériques dans l’avenir (rsa,sha256/sha384/sha512) au lieu du choix conservateur SSL 3.0, le changement du protocole à TLS 1.2 ont affaiblit les signatures numériques défauts et fournit (rsa,sha1), même (rsa,md5).[11]
Datagram Transport Layer Security (DTLS ou Datagramme TLS) 1.0 est une modification de TLS 1.1 pour une couche transport orientée paquet là où il faut que la perte de paquet et le réarrangement de paquet soit toléré. La révision DTLS 1.2 basée sur TLS 1.2 était publiée le 20 janvier.[12]
Il est à noter qu’il y a des vulnérabilités connues en SSL 2.0 et SSL 3.0. Avec l’exception des IVs prévisibles (pour lesquels il y a une solution facile), toutes les vulnérabilités connues affectent toutes les versions TLS 1.0 même 1.1 et 1.2.
Implementation | SSL 2.0 (insecure)[13] | SSL 3.0 (insecure)[14] | TLS 1.0[15] | TLS 1.1[16] | TLS 1.2[17] | TLS 1.3 (Draft)[18][19] |
DTLS 1.0[20] | DTLS 1.2[21] |
---|---|---|---|---|---|---|---|---|
GnuTLS | No | Disabled by default[22] | Yes | Yes | Yes | Yes | Yes | |
OpenSSL | No | Enabled by default | Yes | Yes[23] | Yes[23] | Yes | Yes | Yes[24] |
wolfSSL | No | Disabled by default[25] | Yes | Yes | Yes | Yes[26] | Yes | Yes |
National Security Agency (NSA) Suite B cryptographie modifier
Les composants nécessaires de NSA Suite B Cryptography (RFC 6460) sont :
- Advanced Encryption Standard (AES) avec les tailles de la clé 128 et 256 bits. Pour la circulation, il faut utiliser AES comme Counter Mode (CTR) dans le cas du trafic bande passante faible ou comme Galois/Counter Mode (GCM) dans le cas du trafic haute bande passante (voir Block cipher modes of operation) — le cryptage symétrique
- Elliptic Curve Digital Signature Algorithm (ECDSA) — les signatures numériques
- Elliptic Curve Diffie-Hellman (ECDH) — validation des clés
- Secure Hash Algorithm 2 (SHA-256 et SHA-384) — La synthèse de message
Selon CNSSP-15, la courbe elliptique 256 bit (spécifiée en FIPS 186-2), SHA-256 et AES avec des clés 128 bit suffisent pour protéger l’information classifiée jusqu’au niveau Secret. La courbe elliptique 384-bit (spécifiée en FIPS 186-2), SHA-384 et AES avec des clés 256 bit sont nécessaires à la protection des informations Top Secret.
Implementation | TLS 1.2 Suite B |
---|---|
GnuTLS | Yes |
OpenSSL | Yes[24] |
wolfSSL | Yes |
Certifications modifier
Implementation | FIPS 140-1, FIPS 140-2[27] | Common Criteria | Embedded FIPS Solution | |
---|---|---|---|---|
Level 1 | Level 2 | |||
GnuTLS[28] | Red Hat Enterprise Linux GnuTLS Cryptographic Module (#2780) | |||
OpenSSL[29] | OpenSSL FIPS Object Module: 1.0 (#624), 1.1.1 (#733), 1.1.2 (#918), 1.2, 1.2.1, 1.2.2, 1.2.3 or 1.2.4 (#1051) 2.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7 or 2.0.8 (#1747) |
|||
wolfSSL[30] | wolfCrypt FIPS Module: 3.6.0 (#2425) See details on NIST certificate for validated Operating Environments |
Oui |
L'algorithme d'échange de clés (certificat seulement) modifier
Cette section liste la fonctionnalité pour la vérification du certificat qui est disponible pour chaque mise en oeuvre.
Implementation | RSA[31] | RSA-EXPORT (insecure)[31] | DHE-RSA (forward secrecy)[31] | DHE-DSS (forward secrecy)[31] | ECDH-ECDSA[32] | ECDHE-ECDSA (forward secrecy)[32] | ECDH-RSA[32] | ECDHE-RSA (forward secrecy)[32] | GOST R 34.10-94, 34.10-2001[33] |
---|---|---|---|---|---|---|---|---|---|
GnuTLS | Yes | No | Yes | Disabled by default[34] | No | Yes | No | Yes | No |
OpenSSL | Modèle:Okay[35]| Yes | No[36] | Yes | Disabled by default[36] | Yes | Yes | Yes | Yes | Yes |
wolfSSL | Modèle:Okay| Yes | No | Yes | No | Yes | Yes | Yes | Yes | No |
L'algorithme d'échange de clés (l'échange de clés alternatif) modifier
Implementation | SRP[37] | SRP-DSS[38] | SRP-RSA[38] | PSK-RSA[39] | PSK[39] | DHE-PSK (forward secrecy)[39] | ECDHE-PSK (forward secrecy)[40] | KRB5[41] | DH-ANON[42] (insecure) | ECDH-ANON[43] (insecure) |
---|---|---|---|---|---|---|---|---|---|---|
GnuTLS | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Disabled by default | Disabled by default |
OpenSSL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[44] | Disabled by default[45] | Disabled by default[45] |
wolfSSL | No | No | No | No | Yes | No | Yes[46] | No | No | No |
La méthode de vérification du certificat modifier
Implementation | Application-defined | PKIX path validation[47] | CRL[48] | OCSP[49] | DANE (DNSSEC)[50] | Trust on First Use (TOFU) |
---|---|---|---|---|---|---|
GnuTLS | Yes | Yes | Yes | Yes | Yes | Yes |
OpenSSL | Yes | Yes | Yes | Yes | Yes | No |
wolfSSL | Yes | Yes | Yes | Yes | No | No |
Algorithme de cryptage modifier
Implementation | Block cipher with mode of operation | Stream cipher | None | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
AES GCM | AES CCM | AES CBC | Camellia GCM | Camellia CBC | ARIA GCM | ARIA CBC | SEED CBC | 3DES EDE CBC
(insecure)[57] |
GOST 28147-89 CNT | ChaCha20-Poly1305 | Null
(insecure)[n 2] | |
GnuTLS | Yes | Yes[60] | Yes | Yes | Yes | No | No | No | Disabled by default[61] | No | Yes | Disabled by default |
OpenSSL | Modèle:Okay[62]| Yes[63] | Disabled by default[36] | Yes | No | Disabled by default | Modèle:Okay[62]| No | No | Disabled by default[36] | Disabled by default[36] | Yes | Yes[36] | Disabled by default |
wolfSSL | Yes | Yes | Yes | No | Yes | No | No | No | Yes | No | Yes | Disabled by default |
- Notes
- This algorithm is not defined yet as TLS cipher suites in RFCs, is proposed in drafts.
- authentication only, no encryption
Les Algorithmes obsolètes modifier
Implementation | Block cipher with mode of operation | Stream cipher | ||||
---|---|---|---|---|---|---|
IDEA CBC | DES CBC
(insecure)[n 2] |
DES-40 CBC
(EXPORT, insecure)[n 3] |
RC2-40 CBC
(EXPORT, insecure)[n 3] |
RC4-128
(insecure)[n 4] |
RC4-40 | |
GnuTLS | No | No | No | No | Disabled by default[34] | No |
OpenSSL | Disabled by default[36] | Disabled by default | No[36] | No[36] | Disabled by default | No[36] |
wolfSSL | Disabled by default[46] | No | No | No | Disabled by default | No |
- Notes
- IDEA and DES have been removed from TLS 1.2.[64]
- Erreur de référence : Balise
<ref>
incorrecte : aucun texte n’a été fourni pour les références nomméesremoval_from_tls1.22
- 40 bits strength of cipher suites were designed to operate at reduced key lengths in order to comply with US regulations about the export of cryptographic software containing certain strong encryption algorithms (see Export of cryptography from the United States). These weak suites are forbidden in TLS 1.1 and later.
- The RC4 attacks weaken or break RC4 used in SSL/TLS. Use of RC4 is prohibited by RFC 7465.
- The RC4 attacks weaken or break RC4 used in SSL/TLS.
Courbes elliptiques soutenues modifier
Cette section liste les courbes elliptiques soutenues par chaque mis en oeuvre.
Implementation | sect163k1
NIST K-163 (1)[66] |
sect163r1
(2)[66] |
sect163r2
NIST B-163 (3)[66] |
sect193r1
(4)[66] |
sect193r2
(5)[66] |
sect233k1
NIST K-233 (6)[66] |
sect233r1
NIST B-233 (7)[66] |
sect239k1
(8)[66] |
sect283k1
NIST K-283 (9)[66] |
sect283r1
NIST B-283 (10)[66] |
sect409k1
NIST K-409 (11)[66] |
sect409r1
NIST B-409 (12)[66] |
sect571k1
NIST K-571 (13)[66] |
sect571r1
NIST B-571 (14)[66] |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GnuTLS | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
OpenSSL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
wolfSSL | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
Implementation | secp160k1
(15)[66] |
secp160r1
(16)[66] |
secp160r2
(17)[66] |
secp192k1
(18)[66] |
secp192r1
prime192v1NIST P-192(19)[66] |
secp224k1
(20)[66] |
secp224r1
NIST P-244 (21)[66] |
secp256k1
(22)[66] |
secp256r1
prime256v1NIST P-256(23)[66] |
secp384r1
NIST P-384 (24)[66] |
secp521r1
NIST P-521 (25)[66] |
arbitrary prime curves | arbitrary char2 curves |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GnuTLS | No | No | No | No | Yes | No | Yes | No | Yes | Yes | Yes | No | No |
OpenSSL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
wolfSSL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
Implementation | brainpoolP256r1
(26)[68] |
brainpoolP384r1
(27)[68] |
brainpoolP512r1
(28)[68] |
X25519[69] | Curve448
Ed448-Goldilocks[70] |
M221
Curve2213[71] |
E222 | Curve1174 | E382 | M383 | Curve383187 | Curve41417
Curve3617[71] |
M511
Curve511187[71] |
E521 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GnuTLS | No | No | No | Yes | No | No | No | No | No | No | No | No | No | No |
OpenSSL | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No |
wolfSSL | Yes | Yes | Yes | Yes[46] | No | No | No | No | No | No | No | No | No | No |
Intégrité des données modifier
Implementation | HMAC-MD5 | HMAC-SHA1 | HMAC-SHA256/384 | AEAD | GOST 28147-89 IMIT[72] | GOST R 34.11-94[72] |
---|---|---|---|---|---|---|
GnuTLS | Yes | Yes | Yes | Yes | No | No |
OpenSSL | Yes | Yes | Yes | Yes | Yes | Yes |
wolfSSL | Yes | Yes | Yes | Yes | No | No |
La compression modifier
C’est à noter que l’exploit de sécurité CRIME profit de la compression TLS lorsque les implémentations les plus prudentes ne permettent pas la compression au niveau TLS. La compression HTTP est exploitée par l’attaque BREACH bien qu’elle ne soit pas liée au CRIME.
Implementation | DEFLATE[73](insecure) |
---|---|
GnuTLS | Disabled by default |
OpenSSL | Disabled by default |
wolfSSL | Disabled by default |
Les extensions modifier
Cette section liste les extensions de chaque implémentation supportée.
Implementation | Secure Renegotiation | Server Name Indication | ALPN[76] | Certificate Status Request[75] | OpenPGP[77] | Supplemental Data | Session Ticket | Keying Material Exporter | Maximum Fragment Length | Truncated HMAC | Encrypt-then-MAC[80] | TLS Fallback SCSV | Extended Master Secret | ClientHello Padding | Raw Public Keys |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GnuTLS | Modèle:Okay| Yes | Yes | Yes[85] | Yes | Deprecated[86] | Yes | Yes | Yes | Yes | No | Yes[86] | Yes[86] | Yes[86] | Yes[86] | No |
OpenSSL | Yes | Yes | Yes[24] | Yes | No | No? | Yes | Yes? | No | No | No | Yes[87] | Yes[36] | Yes[88] | Unknown |
wolfSSL | Yes | Yes | Yes[46] | Yes | No | No | Yes | No | Yes | Yes | No | No | Yes | No | Unknown |
La cryptographie assistée modifier
Cette section liste la capacité connue d’une mise en oeuvre profiter des instructions CPU qui optimisent le cryptage, ou utilisent les appareils spécifiques aux systèmes qui permettent l’accès au matériel cryptographique sous-jacent pour l’accélération ou pour la séparation des données.
Implementation | PKCS #11 device | Intel AES-NI | VIA PadLock | ARMv8-A | Intel SGX | Intel QAT |
---|---|---|---|---|---|---|
GnuTLS | Yes | Yes | Yes | Yes[89] | No | No |
OpenSSL | Yes[90] | Yes | Yes | Yes[91] | No | |
wolfSSL | No | Yes | No | Yes | Yes | Yes[92] |
Backend du système spécifique modifier
Cette section liste la capacité d’une mise en oeuvre profiter des backends spécifiques aux systèmes d’exploitation qui sont disponibles, même les backends provisionnés par une autre mise en oeuvre.
Implementation | /dev/crypto | Windows CSP | CommonCrypto | OpenSSL engine |
---|---|---|---|---|
GnuTLS | Yes | No | No | No |
OpenSSL | Yes | No | No | Yes |
wolfSSL | No | Partial | No | No |
Module cryptographique / soutien du jeton modifier
Implementation | TPM support | Hardware token support | Objects identified via |
---|---|---|---|
GnuTLS | Yes | PKCS11 | RFC7512 PKCS #11 URLs[93] |
OpenSSL | Yes | PKCS11 (via 3rd party module) | RFC7512 PKCS #11 URLs[93] |
wolfSSL | No | No |
Dépendances de code modifier
Implementation | Dependencies | Optional
dependencies |
---|---|---|
GnuTLS | libc
nettle gmp |
zlib (compression)
p11-kit (PKCS #11) trousers (TPM) |
OpenSSL | libc | zlib (compression) |
wolfSSL | None | libc, zlib (compression) |
Environnement de développement modifier
Implementation | Namespace | Build tools | API manual | Crypto back-end | OpenSSL compatability Layer |
---|---|---|---|---|---|
GnuTLS | gnutls_* | Autoconf, automake, libtool | Manual and API reference (HTML, PDF) | External, libnettle | Yes (limited) |
OpenSSL | SSL_*
SHA1_* MD5_* EVP_* ... |
Makefile | Man pages | Included (monolithic) | N/A |
wolfSSL | CyaSSL_*
SSL_* |
Autoconf, automake, libtool, MSVC project workspaces, Xcode projects, CodeWarrior projects, MPLAB X projects, Keil, IAR, Clang, GCC | Manual and API Reference (HTML, PDF) | Included (monolithic) | Yes (about 10% of API) |
Problèmes de transport modifier
Implementation | Platform requirements | Network requirements | Thread safety | Random seed | Able to cross-compile | No OS (bare metal) | Supported operating systems |
---|---|---|---|---|---|---|---|
GnuTLS | C89 | POSIX send() and recv(). API to supply your own replacement. | Thread-safe, needs custom mutex hooks if neither POSIX nor Windows threads are available. | Platform dependent | Yes | No | Generally any POSIX platforms or Windows, commonly tested platforms include GNU/Linux, Win32/64, OS X, Solaris, OpenWRT, FreeBSD, NetBSD, OpenBSD. |
OpenSSL | C89? | ? | Needs mutex callbacks | Set through native API | Yes | No | Unix, DOS (with djgpp), Windows, OpenVMS, MacOS, NetWare, eCos |
wolfSSL | C89 | POSIX send() and recv(). API to supply your own replacement. | Thread-safe, needs mutex hooks if PThreads or WinThreads not available, can be turned off | Random seed set through wolfCrypt | Yes | Yes | Win32/64, Linux, OS X, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, embedded Linux, Haiku, OpenWRT, iPhone (iOS), Android, Nintendo Wii and Gamecube through DevKitPro, QNX, MontaVista, OpenCL, NonStop, TRON/ITRON/µITRON, Micrium's µC OS, FreeRTOS, SafeRTOS, Freescale MQX, Nucleus, TinyOS, HP/UX, Keil RTX, TI-RTOS |
Voir aussi modifier
Références modifier
- (en) « gnutls.org », sur www.gnutls.org (consulté le )
- (en) « gnutls.org », sur www.gnutls.org (consulté le )
- « wolfSSL product description » (consulté le )
- (en) « wolfSSL Embedded SSL Library », sur www.wolfssl.com (consulté le )
- « wolfSSL Embedded SSL/TLS » (consulté le )
- (en) « WOLFSSL CHANGELOG », sur www.wolfssl.com, (consulté le )
- (en) <>, Sean Turner et <>, Tim Polk, « Prohibiting Secure Sockets Layer (SSL) Version 2.0 », sur tools.ietf.org (consulté le )
- (en) Serge Vaudenay, « CBC Padding: Security Flaws in SSL, IPSEC, WTLS,... », EPFL, (lire en ligne)
- (en) Peter Gutmann <pgut001@cs.auckland.ac.nz>, « Encrypt-then-MAC for Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) », sur tools.ietf.org (consulté le )
- (en) « This Poodle Bites: Exploiting the SSL 3.0 Fallback », Google, (lire en ligne)
- (en) Tim Dierks <tim@dierks.org>, « The Transport Layer Security (TLS) Protocol Version 1.2 », sur tools.ietf.org (consulté le )
- (en) Rescorla, Eric et Modadugu, Nagendra, « Datagram Transport Layer Security Version 1.2 », sur tools.ietf.org (consulté le )
- « draft-hickman-netscape-ssl-00 », sur tools.ietf.org
- RFC 6101
- RFC 2246
- RFC 4346
- RFC 5246
- draft-ietf-tls-tls13-11 - The Transport Layer Security (TLS) Protocol Version 1.3
- « tlswg/tls13-spec branches », sur tlswg.github.io
- RFC 4347
- Erreur de référence : Balise
<ref>
incorrecte : aucun texte n’a été fourni pour les références nomméesRFC 6347
- (en) « [gnutls-devel] GnuTLS 3.4.0 released », sur lists.gnupg.org, (consulté le )
- (en) « OpenSSL 1.0.1 Branch Release notes », sur web.archive.org (consulté le )
- (en) « OpenSSL 1.0.2 Notes », sur web.archive.org (consulté le )
- (en) « wolfSSL 3.6.6 is Now Available », sur wolfssl.com, (consulté le )
- (en) « Support TLS v1.3 Draft 23 », sur GitHub.com, (consulté le )
- « Search - Cryptographic Module Validation Program - CSRC », sur csrc.nist.gov
- "While, as a free software project, we are not actively pursuing this kind of certification, GnuTLS has been FIPS-140-2 certified in several systems by third parties." GnuTLS 3.5.6 B.5 Certification
- « OpenSSL and FIPS 140-2 »
- « wolfCrypt FIPS 140-2 Information - wolfSSL Embedded SSL/TLS Library »
- RFC 5246
- RFC 4492
- draft-chudov-cryptopro-cptls-04 - GOST 28147-89 Cipher Suites for Transport Layer Security (TLS)
- (en) « [gnutls-devel] GnuTLS 3.4.0 released », sur lists.gnupg.org, (consulté le )
- Erreur de référence : Balise
<ref>
incorrecte : aucun texte n’a été fourni pour les références nomméesopenssl-1.1.0-note2
- (en) « OpenSSL 1.1.0 Series Release Notes », sur openssl.org (consulté le )
- (en) « Using the Secure Remote Password (SRP) Protocol for TLS Authentication », sur tools.ietf.org (consulté le )
- RFC 5054
- RFC 4279
- RFC 5489
- RFC 2712
- Erreur de référence : Balise
<ref>
incorrecte : aucun texte n’a été fourni pour les références nomméestls5
- Erreur de référence : Balise
<ref>
incorrecte : aucun texte n’a été fourni pour les références nomméesrfc44925
- « Changes between 0.9.7k and 0.9.7l », sur openssl.org, (consulté le )
- (en) « Changes between 1.0.1b and 1.0.1c », sur openssl.org, (consulté le )
- (en) « WOLFSSL CHANGELOG », sur wolfssl.com, (consulté le )
- RFC 5280
- RFC 3280
- RFC 2560
- RFC 6698, RFC 7218
- RFC 5288, RFC 5289
- RFC 6655, RFC 7251
- RFC 6367
- RFC 5932, RFC 6367
- RFC 6209
- RFC 4162
- « Sweet32: Birthday attacks on 64-bit block ciphers in TLS and OpenVPN », sur sweet32.info
- Erreur de référence : Balise
<ref>
incorrecte : aucun texte n’a été fourni pour les références nomméesgostlink6
- RFC 7905
- (en) « [gnutls-devel] GnuTLS 3.4.0 released », sur lists.gnupg.org, (consulté le )
- (en) « GnuTLS 3.6.0 released », sur lwn.net, (consulté le )
- Erreur de référence : Balise
<ref>
incorrecte : aucun texte n’a été fourni pour les références nomméesopenssl-1.1.0-note5
- (en) « openssl/CHANGES », sur GitHub.com (consulté le )
- RFC 5469
- https://sweet32.info
- (en) « Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS) », sur tools.ietf.org (consulté le )
- Negotiation of arbitrary curves has been shown to be insecure for certain curve sizes (en) Mavrogiannopoulos, Nikos and Vercautern, Frederik and Velichkov, Vesselin and Preneel, Bart, A cross-protocol attack on the TLS protocol. Proceedings of the 2012 ACM conference on Computer and communications security, , 62–72 p. (ISBN 978-1-4503-1651-4, lire en ligne)
- RFC 7027
- Josefsson, Simon, Nir, Yoav et Pégourié-Gonnard, Manuel, « Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS) Versions 1.2 and Earlier », sur tools.ietf.org
- Josefsson, Simon et Pégourié-Gonnard, Manuel, « Curve25519 and Curve448 for Transport Layer Security (TLS) », sur tools.ietf.org
- Josefsson, Simon et Pégourié-Gonnard, Manuel, « Additional Elliptic Curves for Transport Layer Security (TLS) Key Agreement », sur tools.ietf.org
- Erreur de référence : Balise
<ref>
incorrecte : aucun texte n’a été fourni pour les références nomméesgostlink7
- RFC 3749
- RFC 5746
- RFC 6066
- (en) « Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension », sur tools.ietf.org (consulté le )
- (en) « Using OpenPGP Keys for Transport Layer Security (TLS) Authentication », sur tools.ietf.org (consulté le )
- RFC 5077
- RFC 5705
- RFC 7366
- RFC 7507
- RFC 7627
- RFC 7685
- RFC 7250
- « Newsgroups: gmane.network.gnutls.general », sur gmane.org, (consulté le )
- (en) « [gnutls-devel] gnutls 3.5.9 », sur gnupg.org, (consulté le )
- (en) « OpenSSL Security Advisory », sur openssl.org, (consulté le )
- (en) « OpenSSL 1.0.1 Branch Release notes », sur web.archive.org (consulté le )
- (en) « [gnutls-devel] gnutls 3.5.5 », sur gnupg.org, (consulté le )
- (ru) « Подключаем Рутокен ЭЦП к OpenSSL », sur habr (consulté le )
- (en) « Engage ARMv8 AES support », sur git.openssl.org, (consulté le )
- (en) « wolfSSL Asynchronous Intel QuickAssist Support », sur wolfssl.com, (consulté le )
- (en) « The PKCS #11 URI Scheme », sur tools.ietf.org, (consulté le )