Firefox 33이 웹 서버에서 GCM을 사용하지 않는 이유는 무엇입니까?

Firefox 33이 웹 서버에서 GCM을 사용하지 않는 이유는 무엇입니까?

apache2 2.2.22-1ubuntu1.7이 설치된 웹 서버(Ubuntu 12.04)가 있습니다.

클라이언트에서 openssl 사용:

$ echo QUIT | openssl s_client -connect OURSERVER:8080 2>/dev/null | egrep "Cipher is|Protocol"
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384
    Protocol  : TLSv1.2
$ 

정상적으로 연결할 수 있지만 Ubuntu 14.04의 Firefox 33은 최대 연결만 가능합니다.

TLS_DHE_RSA_WITH_AES_256_CBC_SHA

하지만 동일한 Firefox 33을 사용하여 다른 웹사이트를 방문하면 GCM을 사용할 수 있다는 것을 알 수 있습니다!

질문:GCM을 사용하여 웹 서버에 연결할 수 없는 이유는 무엇입니까? Firefox가 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 등을 사용하지 않는 이유는 무엇입니까?

우리의 아파치 구성은 다음과 같습니다:

SSLCipherSuite "HIGH"
SSLProtocol -ALL +TLSv1
SSLHonorCipherOrder on

답변1

"암호 모음"은 HIGH암호 모음 세트입니다. 분명히 이러한 암호 모음의 순서에 대한 기대는 기본값과 다릅니다.

다음 명령 출력에서 ​​볼 수 있듯이 openssl ciphersDHE-RSA-AES256-SHA256암호화 제품군은 기대하는 GCM 암호화 제품군보다 우수합니다.

$ openssl 비밀번호 -V 높음 \
> grep -nC1 'DHE-RSA-AES256-SHA256\|ECDHE-RSA-AES128-GCM-SHA256' |열-t
11- 0x00,0x9F - DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD
12: 0x00,0x6B -  DHE-RSA-AES256-SHA256          TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256
13- 0x00,0x6A - DHE-DSS-AES256-SHA256 TLSv1.2 Kx=DH Au=DSS Enc=AES(256) Mac=SHA256
--
33- 0x00,0x8D - PSK-AES256-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=AES(256) Mac=SHA1
34: 0xC0,0x2F -  ECDHE-RSA-AES128-GCM-SHA256    TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD
35- 0xC0,0x2B - ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128) Mac=AEAD

특정 순서를 강제로 적용하려면 다음과 같이 제품군을 명시적으로 지정하세요.

SSLCipherSuite "EECDH+AESGCM+AES128 EECDH+AESGCM DH+AESGCM+AES128 DH+AESGCM+AES EECDH+AES128 EECDH+AES DH+AES128 DH+AES RSA+AESGCM+AES128 RSA+AESGCM+AES RSA+AES128 RSA+AES RSA+3DES !MD5:!aNULL"

Apache 버전은 다음과 같습니다.너무 오래된ECDH 암호 제품군을 지원합니다. 또한 을 사용하면 SSLProtocol -ALL +TLSv1최신 버전의 Apache에서 TLSv1.1 및 TLSv1.2의 사용이 제외됩니다. 대신 이것을 사용하고 웹 서버를 업그레이드하는 것이 좋습니다 SSLProtocol ALL -SSLv2 -SSLv3.

참고로 여기는SSL 서버 테스트SSLCipherSuite HIGHUbuntu 12.04에서 실행되는 Apache 2.22를 사용하여 얻은 출력은 다음과 같습니다 SSLProtocol ALL -SSLv2 -SSLv3.

Supported versions: TLSv1.0 TLSv1.1 TLSv1.2
Deflate compression: no
Supported cipher suites (ORDER IS NOT SIGNIFICANT):
  TLSv1.0
     RSA_WITH_3DES_EDE_CBC_SHA
     DHE_RSA_WITH_3DES_EDE_CBC_SHA
     DH_anon_WITH_3DES_EDE_CBC_SHA
     RSA_WITH_AES_128_CBC_SHA
     DHE_RSA_WITH_AES_128_CBC_SHA
     DH_anon_WITH_AES_128_CBC_SHA
     RSA_WITH_AES_256_CBC_SHA
     DHE_RSA_WITH_AES_256_CBC_SHA
     DH_anon_WITH_AES_256_CBC_SHA
     RSA_WITH_CAMELLIA_128_CBC_SHA
     DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
     DH_anon_WITH_CAMELLIA_128_CBC_SHA
     RSA_WITH_CAMELLIA_256_CBC_SHA
     DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
     DH_anon_WITH_CAMELLIA_256_CBC_SHA
  (TLSv1.1: idem)
  TLSv1.2
     RSA_WITH_3DES_EDE_CBC_SHA
     DHE_RSA_WITH_3DES_EDE_CBC_SHA
     DH_anon_WITH_3DES_EDE_CBC_SHA
     RSA_WITH_AES_128_CBC_SHA
     DHE_RSA_WITH_AES_128_CBC_SHA
     DH_anon_WITH_AES_128_CBC_SHA
     RSA_WITH_AES_256_CBC_SHA
     DHE_RSA_WITH_AES_256_CBC_SHA
     DH_anon_WITH_AES_256_CBC_SHA
     RSA_WITH_AES_128_CBC_SHA256
     RSA_WITH_AES_256_CBC_SHA256
     RSA_WITH_CAMELLIA_128_CBC_SHA
     DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
     DH_anon_WITH_CAMELLIA_128_CBC_SHA
     DHE_RSA_WITH_AES_128_CBC_SHA256
     DHE_RSA_WITH_AES_256_CBC_SHA256
     DH_anon_WITH_AES_128_CBC_SHA256
     DH_anon_WITH_AES_256_CBC_SHA256
     RSA_WITH_CAMELLIA_256_CBC_SHA
     DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
     DH_anon_WITH_CAMELLIA_256_CBC_SHA
     TLS_RSA_WITH_AES_128_GCM_SHA256
     TLS_RSA_WITH_AES_256_GCM_SHA384
     TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
     TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
     TLS_DH_anon_WITH_AES_128_GCM_SHA256
     TLS_DH_anon_WITH_AES_256_GCM_SHA384
----------------------
Server certificate(s):
  d975495633785b152215100eb449c57bee391e98: CN=ubuntu
----------------------
Minimal encryption strength:     strong encryption (96-bit or more)
Achievable encryption strength:  strong encryption (96-bit or more)
BEAST status: vulnerable
CRIME status: protected

관련 정보