
현재 OpenSSL 버전
OpenSSL 1.1.1d 10 Sep 2019 (Library: OpenSSL 1.1.1g 21 Apr 2020)
현재 openssl.cnf
구성
파일 상단에
openssl_conf = default_conf
파일 하단에
[default_conf]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
MinProtocol = TLSv1.2
CipherString = DEFAULT@SECLEVEL=1
Ciphersuites
지시문이 설정되지 않았습니다 .
지원되는 암호 목록이 구성과 다릅니다.
그러나 를 사용하여 활성화된 암호를 요청하면 openssl ciphers -s -v
다음과 같은 암호를 얻습니다.
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
ECDHE-ECDSA-AES128-SHA TLSv1 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA1
ECDHE-RSA-AES128-SHA TLSv1 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA1
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
설정 을 정의해야 합니까 Ciphersuites
, 아니면 openssl ciphers -s -v
어떤 면에서는 신뢰할 수 없습니까?
선적 서류 비치
-에스지원되는 암호(보안 수준과 일치하는 암호, 최소 및 최대 프로토콜 버전)만 나열합니다.
SecLevel 1은 SSLv3 및 TLSv1을 허용하지만 MinProtocol은 허용하지 않습니다.
출처 :
답변1
대부분의 암호 제품군은 둘 이상의 프로토콜과 호환됩니다.
완전히 분리된 TLS 1.3과 수십 년 동안 중단되어 더 이상 OpenSSL 1.1.0(2016) 이상에서 구현되지 않는 SSL 2를 제외하고 대부분의 SSL/TLS 암호화 제품군은 둘 이상의 프로토콜 버전에서 사용할 수 있습니다. 연대순으로 발생한 것으로 생각하면, 이상한 정부 암호화폐(Fortezza)를 제외하고 SSL 3에 정의된 모든 암호화 제품군은 여전히 TLS 1.0에서 사용되며, 여기에 1.0(주로 EC)에 정의된 새로운 암호화 제품군과 함께 의도적으로 약화된 ' 내보내기' 제품군(2006년에 이미 더 이상 사용되지 않음)은 1.1에서 계속 사용되며 새로운 제품군을 정의하지 않습니다. 1.2는 2008년 이전에 손상된 것으로 간주되었던 단일 DES와 많은 새로운 제품군(AEAD 및/또는 SHA2 사용)을 제외하고 1.1의 제품군 대부분을 유지합니다.
에 명시된 바와 같이SSL_CIPHER_description 매뉴얼 페이지이는 암호의 경우와 연결됩니다.
<프로토콜 버전>
TLSv1.2와 같이 암호화 제품군이 지원하는 최소 프로토콜 버전입니다. 일부 암호 모음은 이전 프로토콜 버전과 역호환되기 때문에 암호 모음이 처음 정의된 프로토콜 버전과 항상 동일하지는 않습니다.
'최소'에 주목하세요. DHE-RSA-AES256-SHA
SSL3 TLS1.0 TLS1.1 및 TLS1.2에서 사용할 수 있으므로 최소 버전은 SSL3입니다.
1.2의 이전 제품군을 사용하는 것은~ 아니다우선의또는 모범 사례특히 AEAD(첫 번째 GCM 및 CCM, 그 다음 ChaCha/Poly)를 사용하는 새로운 제품군은 적어도 2014년까지 게시되지 않았고 널리 구현되지 않은 encrypt-then-mac(RFC7366)이 없는 경우 더 나은 보안 속성을 갖기 때문입니다. AEAD는 이미 있었지만 OpenSSL에서 허용 및 지원되며 명령 출력에 ciphers
이를 반영합니다.
그렇습니다. 1.2가 필요하다면 호환성이 거의 줄어들지 않고 암호화 제품군을 AEAD로 제한할 수도 있습니다.일부구현(예: 1.2를 지원하지만 새로운 AEAD 제품군이 아닌 이전 제품군에서만 지원되는 Java 7).