Skip to content

Commit 87887a7

Browse files
tomato42mattcaswell
authored andcommitted
backport changes to ciphers(1) man page
Backport of the patch: add ECC strings to ciphers(1), point out difference between DH and ECDH and few other changes applicable to the 1.0.1 code base. * Make a clear distinction between DH and ECDH key exchange. * Group all key exchange cipher suite identifiers, first DH then ECDH * add descriptions for all supported *DH* identifiers * add ECDSA authentication descriptions * add example showing how to disable all suites that offer no authentication or encryption * backport listing of elliptic curve cipher suites. * backport listing of TLS 1.2 cipher suites, add note that DH_RSA and DH_DSS is not implemented in this version * backport of description of PSK and listing of PSK cipher suites * backport description of AES128, AES256 and AESGCM options * backport description of CAMELLIA128, CAMELLIA256 options
1 parent 5a0d057 commit 87887a7

File tree

1 file changed

+173
-22
lines changed

1 file changed

+173
-22
lines changed

doc/apps/ciphers.pod

Lines changed: 173 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ SSL v2 and for SSL v3/TLS v1.
3636

3737
=item B<-V>
3838

39-
Like B<-V>, but include cipher suite codes in output (hex format).
39+
Like B<-v>, but include cipher suite codes in output (hex format).
4040

4141
=item B<-ssl3>
4242

@@ -116,8 +116,8 @@ specified.
116116
=item B<COMPLEMENTOFDEFAULT>
117117

118118
the ciphers included in B<ALL>, but not enabled by default. Currently
119-
this is B<ADH>. Note that this rule does not cover B<eNULL>, which is
120-
not included by B<ALL> (use B<COMPLEMENTOFALL> if necessary).
119+
this is B<ADH> and B<AECDH>. Note that this rule does not cover B<eNULL>,
120+
which is not included by B<ALL> (use B<COMPLEMENTOFALL> if necessary).
121121

122122
=item B<ALL>
123123

@@ -165,21 +165,58 @@ included.
165165
=item B<aNULL>
166166

167167
the cipher suites offering no authentication. This is currently the anonymous
168-
DH algorithms. These cipher suites are vulnerable to a "man in the middle"
169-
attack and so their use is normally discouraged.
168+
DH algorithms and anonymous ECDH algorithms. These cipher suites are vulnerable
169+
to a "man in the middle" attack and so their use is normally discouraged.
170170

171171
=item B<kRSA>, B<RSA>
172172

173173
cipher suites using RSA key exchange.
174174

175+
=item B<kDHr>, B<kDHd>, B<kDH>
176+
177+
cipher suites using DH key agreement and DH certificates signed by CAs with RSA
178+
and DSS keys or either respectively. Not implemented.
179+
175180
=item B<kEDH>
176181

177-
cipher suites using ephemeral DH key agreement.
182+
cipher suites using ephemeral DH key agreement, including anonymous cipher
183+
suites.
178184

179-
=item B<kDHr>, B<kDHd>
185+
=item B<EDH>
180186

181-
cipher suites using DH key agreement and DH certificates signed by CAs with RSA
182-
and DSS keys respectively. Not implemented.
187+
cipher suites using authenticated ephemeral DH key agreement.
188+
189+
=item B<ADH>
190+
191+
anonymous DH cipher suites, note that this does not include anonymous Elliptic
192+
Curve DH (ECDH) cipher suites.
193+
194+
=item B<DH>
195+
196+
cipher suites using DH, including anonymous DH, ephemeral DH and fixed DH.
197+
198+
=item B<kECDHr>, B<kECDHe>, B<kECDH>
199+
200+
cipher suites using fixed ECDH key agreement signed by CAs with RSA and ECDSA
201+
keys or either respectively.
202+
203+
=item B<kEECDH>
204+
205+
cipher suites using ephemeral ECDH key agreement, including anonymous
206+
cipher suites.
207+
208+
=item B<EECDHE>
209+
210+
cipher suites using authenticated ephemeral ECDH key agreement.
211+
212+
=item B<AECDH>
213+
214+
anonymous Elliptic Curve Diffie Hellman cipher suites.
215+
216+
=item B<ECDH>
217+
218+
cipher suites using ECDH key exchange, including anonymous, ephemeral and
219+
fixed ECDH.
183220

184221
=item B<aRSA>
185222

@@ -194,30 +231,39 @@ cipher suites using DSS authentication, i.e. the certificates carry DSS keys.
194231
cipher suites effectively using DH authentication, i.e. the certificates carry
195232
DH keys. Not implemented.
196233

234+
=item B<aECDH>
235+
236+
cipher suites effectively using ECDH authentication, i.e. the certificates
237+
carry ECDH keys.
238+
239+
=item B<aECDSA>, B<ECDSA>
240+
241+
cipher suites using ECDSA authentication, i.e. the certificates carry ECDSA
242+
keys.
243+
197244
=item B<kFZA>, B<aFZA>, B<eFZA>, B<FZA>
198245

199246
ciphers suites using FORTEZZA key exchange, authentication, encryption or all
200247
FORTEZZA algorithms. Not implemented.
201248

202-
=item B<TLSv1>, B<SSLv3>, B<SSLv2>
203-
204-
TLS v1.0, SSL v3.0 or SSL v2.0 cipher suites respectively.
249+
=item B<TLSv1.2>, B<TLSv1>, B<SSLv3>, B<SSLv2>
205250

206-
=item B<DH>
207-
208-
cipher suites using DH, including anonymous DH.
251+
TLS v1.2, TLS v1.0, SSL v3.0 or SSL v2.0 cipher suites respectively. Note:
252+
there are no ciphersuites specific to TLS v1.1.
209253

210-
=item B<ADH>
254+
=item B<AES128>, B<AES256>, B<AES>
211255

212-
anonymous DH cipher suites.
256+
cipher suites using 128 bit AES, 256 bit AES or either 128 or 256 bit AES.
213257

214-
=item B<AES>
258+
=item B<AESGCM>
215259

216-
cipher suites using AES.
260+
AES in Galois Counter Mode (GCM): these ciphersuites are only supported
261+
in TLS v1.2.
217262

218-
=item B<CAMELLIA>
263+
=item B<CAMELLIA128>, B<CAMELLIA256>, B<CAMELLIA>
219264

220-
cipher suites using Camellia.
265+
cipher suites using 128 bit CAMELLIA, 256 bit CAMELLIA or either 128 or 256 bit
266+
CAMELLIA.
221267

222268
=item B<3DES>
223269

@@ -251,6 +297,10 @@ cipher suites using MD5.
251297

252298
cipher suites using SHA1.
253299

300+
=item B<SHA256>, B<SHA384>
301+
302+
ciphersuites using SHA256 or SHA384.
303+
254304
=item B<aGOST>
255305

256306
cipher suites using GOST R 34.10 (either 2001 or 94) for authenticaction
@@ -277,6 +327,9 @@ cipher suites, using HMAC based on GOST R 34.11-94.
277327

278328
cipher suites using GOST 28147-89 MAC B<instead of> HMAC.
279329

330+
=item B<PSK>
331+
332+
cipher suites using pre-shared keys (PSK).
280333

281334
=back
282335

@@ -423,7 +476,100 @@ Note: these ciphers can also be used in SSL v3.
423476
TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA EXP1024-DHE-DSS-RC4-SHA
424477
TLS_DHE_DSS_WITH_RC4_128_SHA DHE-DSS-RC4-SHA
425478

426-
=head2 SSL v2.0 cipher suites.
479+
=head2 Elliptic curve cipher suites.
480+
481+
TLS_ECDH_RSA_WITH_NULL_SHA ECDH-RSA-NULL-SHA
482+
TLS_ECDH_RSA_WITH_RC4_128_SHA ECDH-RSA-RC4-SHA
483+
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA ECDH-RSA-DES-CBC3-SHA
484+
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA ECDH-RSA-AES128-SHA
485+
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA ECDH-RSA-AES256-SHA
486+
487+
TLS_ECDH_ECDSA_WITH_NULL_SHA ECDH-ECDSA-NULL-SHA
488+
TLS_ECDH_ECDSA_WITH_RC4_128_SHA ECDH-ECDSA-RC4-SHA
489+
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA ECDH-ECDSA-DES-CBC3-SHA
490+
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA ECDH-ECDSA-AES128-SHA
491+
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA ECDH-ECDSA-AES256-SHA
492+
493+
TLS_ECDHE_RSA_WITH_NULL_SHA ECDHE-RSA-NULL-SHA
494+
TLS_ECDHE_RSA_WITH_RC4_128_SHA ECDHE-RSA-RC4-SHA
495+
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA ECDHE-RSA-DES-CBC3-SHA
496+
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA ECDHE-RSA-AES128-SHA
497+
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA ECDHE-RSA-AES256-SHA
498+
499+
TLS_ECDHE_ECDSA_WITH_NULL_SHA ECDHE-ECDSA-NULL-SHA
500+
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA ECDHE-ECDSA-RC4-SHA
501+
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA ECDHE-ECDSA-DES-CBC3-SHA
502+
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA ECDHE-ECDSA-AES128-SHA
503+
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA ECDHE-ECDSA-AES256-SHA
504+
505+
TLS_ECDH_anon_WITH_NULL_SHA AECDH-NULL-SHA
506+
TLS_ECDH_anon_WITH_RC4_128_SHA AECDH-RC4-SHA
507+
TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA AECDH-DES-CBC3-SHA
508+
TLS_ECDH_anon_WITH_AES_128_CBC_SHA AECDH-AES128-SHA
509+
TLS_ECDH_anon_WITH_AES_256_CBC_SHA AECDH-AES256-SHA
510+
511+
=head2 TLS v1.2 cipher suites
512+
513+
TLS_RSA_WITH_NULL_SHA256 NULL-SHA256
514+
515+
TLS_RSA_WITH_AES_128_CBC_SHA256 AES128-SHA256
516+
TLS_RSA_WITH_AES_256_CBC_SHA256 AES256-SHA256
517+
TLS_RSA_WITH_AES_128_GCM_SHA256 AES128-GCM-SHA256
518+
TLS_RSA_WITH_AES_256_GCM_SHA384 AES256-GCM-SHA384
519+
520+
TLS_DH_RSA_WITH_AES_128_CBC_SHA256 Not implemented.
521+
TLS_DH_RSA_WITH_AES_256_CBC_SHA256 Not implemented.
522+
TLS_DH_RSA_WITH_AES_128_GCM_SHA256 Not implemented.
523+
TLS_DH_RSA_WITH_AES_256_GCM_SHA384 Not implemented.
524+
525+
TLS_DH_DSS_WITH_AES_128_CBC_SHA256 Not implemented.
526+
TLS_DH_DSS_WITH_AES_256_CBC_SHA256 Not implemented.
527+
TLS_DH_DSS_WITH_AES_128_GCM_SHA256 Not implemented.
528+
TLS_DH_DSS_WITH_AES_256_GCM_SHA384 Not implemented.
529+
530+
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 DHE-RSA-AES128-SHA256
531+
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 DHE-RSA-AES256-SHA256
532+
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
533+
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 DHE-RSA-AES256-GCM-SHA384
534+
535+
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 DHE-DSS-AES128-SHA256
536+
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 DHE-DSS-AES256-SHA256
537+
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 DHE-DSS-AES128-GCM-SHA256
538+
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 DHE-DSS-AES256-GCM-SHA384
539+
540+
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 ECDH-RSA-AES128-SHA256
541+
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 ECDH-RSA-AES256-SHA384
542+
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 ECDH-RSA-AES128-GCM-SHA256
543+
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 ECDH-RSA-AES256-GCM-SHA384
544+
545+
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 ECDH-ECDSA-AES128-SHA256
546+
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 ECDH-ECDSA-AES256-SHA384
547+
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 ECDH-ECDSA-AES128-GCM-SHA256
548+
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 ECDH-ECDSA-AES256-GCM-SHA384
549+
550+
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 ECDHE-RSA-AES128-SHA256
551+
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ECDHE-RSA-AES256-SHA384
552+
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256
553+
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDHE-RSA-AES256-GCM-SHA384
554+
555+
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 ECDHE-ECDSA-AES128-SHA256
556+
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 ECDHE-ECDSA-AES256-SHA384
557+
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 ECDHE-ECDSA-AES128-GCM-SHA256
558+
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 ECDHE-ECDSA-AES256-GCM-SHA384
559+
560+
TLS_DH_anon_WITH_AES_128_CBC_SHA256 ADH-AES128-SHA256
561+
TLS_DH_anon_WITH_AES_256_CBC_SHA256 ADH-AES256-SHA256
562+
TLS_DH_anon_WITH_AES_128_GCM_SHA256 ADH-AES128-GCM-SHA256
563+
TLS_DH_anon_WITH_AES_256_GCM_SHA384 ADH-AES256-GCM-SHA384
564+
565+
=head2 Pre shared keying (PSK) cipheruites
566+
567+
TLS_PSK_WITH_RC4_128_SHA PSK-RC4-SHA
568+
TLS_PSK_WITH_3DES_EDE_CBC_SHA PSK-3DES-EDE-CBC-SHA
569+
TLS_PSK_WITH_AES_128_CBC_SHA PSK-AES128-CBC-SHA
570+
TLS_PSK_WITH_AES_256_CBC_SHA PSK-AES256-CBC-SHA
571+
572+
=head2 Deprecated SSL v2.0 cipher suites.
427573

428574
SSL_CK_RC4_128_WITH_MD5 RC4-MD5
429575
SSL_CK_RC4_128_EXPORT40_WITH_MD5 EXP-RC4-MD5
@@ -452,6 +598,11 @@ strength:
452598

453599
openssl ciphers -v 'ALL:!ADH:@STRENGTH'
454600

601+
Include all ciphers except ones with no encryption (eNULL) or no
602+
authentication (aNULL):
603+
604+
openssl ciphers -v 'ALL:!aNULL'
605+
455606
Include only 3DES ciphers and then place RSA ciphers last:
456607

457608
openssl ciphers -v '3DES:+RSA'

0 commit comments

Comments
 (0)