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 :

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

[51]

AES CCM

[52]

AES CBC Camellia GCM

[53]

Camellia CBC

[54]

ARIA GCM

[55]

ARIA CBC

[55]

SEED CBC

[56]

3DES EDE CBC

(insecure)[57]

GOST 28147-89 CNT

(proposed)[58][n 1]

ChaCha20-Poly1305

[59]

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
  1. This algorithm is not defined yet as TLS cipher suites in RFCs, is proposed in drafts.
  2. authentication only, no encryption

Les Algorithmes obsolètes modifier

Implementation Block cipher with mode of operation Stream cipher
IDEA CBC

[n 1](insecure)[65]

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

(EXPORT, insecure)[n 5][n 3]

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
  1. IDEA and DES have been removed from TLS 1.2.[64]
  2. Erreur de référence : Balise <ref> incorrecte : aucun texte n’a été fourni pour les références nommées removal_from_tls1.22
  3. a b et c 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.
  4. The RC4 attacks weaken or break RC4 used in SSL/TLS. Use of RC4 is prohibited by RFC 7465.
  5. 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

(0xFF01)[66][67]

arbitrary char2 curves

(0xFF02)[66][67]

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

[71]

Curve1174

[71]

E382

[71]

M383

[71]

Curve383187

[71]

Curve41417

Curve3617[71]

M511

Curve511187[71]

E521

[71]

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

[74]

Server Name Indication

[75]

ALPN[76] Certificate Status Request[75] OpenPGP[77] Supplemental Data Session Ticket

[78]

Keying Material Exporter

[79]

Maximum Fragment Length

[75]

Truncated HMAC

[75]

Encrypt-then-MAC[80] TLS Fallback SCSV

[81]

Extended Master Secret

[82]

ClientHello Padding

[83]

Raw Public Keys

[84]

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

  • SCTP — avec DTLS support
  • DCCP — avec DTLS support
  • SRTP — avec DTLS support (DTLS-SRTP) et Secure Real-Time Transport Control Protocol (SRTCP)

Références modifier

  1. (en) « gnutls.org », sur www.gnutls.org (consulté le )
  2. (en) « gnutls.org », sur www.gnutls.org (consulté le )
  3. « wolfSSL product description » (consulté le )
  4. (en) « wolfSSL Embedded SSL Library », sur www.wolfssl.com (consulté le )
  5. « wolfSSL Embedded SSL/TLS » (consulté le )
  6. (en) « WOLFSSL CHANGELOG », sur www.wolfssl.com, (consulté le )
  7. (en) <>, Sean Turner et <>, Tim Polk, « Prohibiting Secure Sockets Layer (SSL) Version 2.0 », sur tools.ietf.org (consulté le )
  8. (en) Serge Vaudenay, « CBC Padding: Security Flaws in SSL, IPSEC, WTLS,... », EPFL,‎ (lire en ligne)
  9. (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 )
  10. (en) « This Poodle Bites: Exploiting the SSL 3.0 Fallback », Google,‎ (lire en ligne)
  11. (en) Tim Dierks <tim@dierks.org>, « The Transport Layer Security (TLS) Protocol Version 1.2 », sur tools.ietf.org (consulté le )
  12. (en) Rescorla, Eric et Modadugu, Nagendra, « Datagram Transport Layer Security Version 1.2 », sur tools.ietf.org (consulté le )
  13. « draft-hickman-netscape-ssl-00 », sur tools.ietf.org
  14. RFC 6101
  15. RFC 2246
  16. RFC 4346
  17. RFC 5246
  18. draft-ietf-tls-tls13-11 - The Transport Layer Security (TLS) Protocol Version 1.3
  19. « tlswg/tls13-spec branches », sur tlswg.github.io
  20. RFC 4347
  21. Erreur de référence : Balise <ref> incorrecte : aucun texte n’a été fourni pour les références nommées RFC 6347
  22. (en) « [gnutls-devel] GnuTLS 3.4.0 released », sur lists.gnupg.org, (consulté le )
  23. a et b (en) « OpenSSL 1.0.1 Branch Release notes », sur web.archive.org (consulté le )
  24. a b et c (en) « OpenSSL 1.0.2 Notes », sur web.archive.org (consulté le )
  25. (en) « wolfSSL 3.6.6 is Now Available », sur wolfssl.com, (consulté le )
  26. (en) « Support TLS v1.3 Draft 23 », sur GitHub.com, (consulté le )
  27. « Search - Cryptographic Module Validation Program - CSRC », sur csrc.nist.gov
  28. "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
  29. « OpenSSL and FIPS 140-2 »
  30. « wolfCrypt FIPS 140-2 Information - wolfSSL Embedded SSL/TLS Library »
  31. a b c et d RFC 5246
  32. a b c et d RFC 4492
  33. draft-chudov-cryptopro-cptls-04 - GOST 28147-89 Cipher Suites for Transport Layer Security (TLS)
  34. a et b (en) « [gnutls-devel] GnuTLS 3.4.0 released », sur lists.gnupg.org, (consulté le )
  35. Erreur de référence : Balise <ref> incorrecte : aucun texte n’a été fourni pour les références nommées openssl-1.1.0-note2
  36. a b c d e f g h i j et k (en) « OpenSSL 1.1.0 Series Release Notes », sur openssl.org (consulté le )
  37. (en) « Using the Secure Remote Password (SRP) Protocol for TLS Authentication », sur tools.ietf.org (consulté le )
  38. a et b RFC 5054
  39. a b et c RFC 4279
  40. RFC 5489
  41. RFC 2712
  42. Erreur de référence : Balise <ref> incorrecte : aucun texte n’a été fourni pour les références nommées tls5
  43. Erreur de référence : Balise <ref> incorrecte : aucun texte n’a été fourni pour les références nommées rfc44925
  44. « Changes between 0.9.7k and 0.9.7l », sur openssl.org, (consulté le )
  45. a et b (en) « Changes between 1.0.1b and 1.0.1c », sur openssl.org, (consulté le )
  46. a b c et d (en) « WOLFSSL CHANGELOG », sur wolfssl.com, (consulté le )
  47. RFC 5280
  48. RFC 3280
  49. RFC 2560
  50. RFC 6698, RFC 7218
  51. RFC 5288, RFC 5289
  52. RFC 6655, RFC 7251
  53. RFC 6367
  54. RFC 5932, RFC 6367
  55. a et b RFC 6209
  56. RFC 4162
  57. « Sweet32: Birthday attacks on 64-bit block ciphers in TLS and OpenVPN », sur sweet32.info
  58. Erreur de référence : Balise <ref> incorrecte : aucun texte n’a été fourni pour les références nommées gostlink6
  59. RFC 7905
  60. (en) « [gnutls-devel] GnuTLS 3.4.0 released », sur lists.gnupg.org, (consulté le )
  61. (en) « GnuTLS 3.6.0 released », sur lwn.net, (consulté le )
  62. a et b Erreur de référence : Balise <ref> incorrecte : aucun texte n’a été fourni pour les références nommées openssl-1.1.0-note5
  63. (en) « openssl/CHANGES », sur GitHub.com (consulté le )
  64. RFC 5469
  65. https://sweet32.info
  66. a b c d e f g h i j k l m n o p q r s t u v w x y z et aa (en) « Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS) », sur tools.ietf.org (consulté le )
  67. a et b 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)
  68. a b et c RFC 7027
  69. 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
  70. Josefsson, Simon et Pégourié-Gonnard, Manuel, « Curve25519 and Curve448 for Transport Layer Security (TLS) », sur tools.ietf.org
  71. a b c d e f g h et i Josefsson, Simon et Pégourié-Gonnard, Manuel, « Additional Elliptic Curves for Transport Layer Security (TLS) Key Agreement », sur tools.ietf.org
  72. a et b Erreur de référence : Balise <ref> incorrecte : aucun texte n’a été fourni pour les références nommées gostlink7
  73. RFC 3749
  74. RFC 5746
  75. a b c et d RFC 6066
  76. (en) « Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension », sur tools.ietf.org (consulté le )
  77. (en) « Using OpenPGP Keys for Transport Layer Security (TLS) Authentication », sur tools.ietf.org (consulté le )
  78. RFC 5077
  79. RFC 5705
  80. RFC 7366
  81. RFC 7507
  82. RFC 7627
  83. RFC 7685
  84. RFC 7250
  85. « Newsgroups: gmane.network.gnutls.general », sur gmane.org, (consulté le )
  86. a b c d et e (en) « [gnutls-devel] gnutls 3.5.9 », sur gnupg.org, (consulté le )
  87. (en) « OpenSSL Security Advisory », sur openssl.org, (consulté le )
  88. (en) « OpenSSL 1.0.1 Branch Release notes », sur web.archive.org (consulté le )
  89. (en) « [gnutls-devel] gnutls 3.5.5 », sur gnupg.org, (consulté le )
  90. (ru) « Подключаем Рутокен ЭЦП к OpenSSL », sur habr (consulté le )
  91. (en) « Engage ARMv8 AES support », sur git.openssl.org, (consulté le )
  92. (en) « wolfSSL Asynchronous Intel QuickAssist Support », sur wolfssl.com, (consulté le )
  93. a et b (en) « The PKCS #11 URI Scheme », sur tools.ietf.org, (consulté le )