TLS 클라이언트에서 openSSL을 사용하여 SSL_CTX_set_cipher_list()로 고유한 암호 제품군을 지정했습니다.
Wireshark를 사용하여 메시지를 볼 때 Client Hello 메시지에서 허용되는 암호화 제품군이 내가 지정한 암호 제품군임을 확인합니다.
그러나 Extension: 서명 알고리즘을 보면 클라이언트가 MD5와 같이 나에게 별로 안전해 보이지 않는 일부 알고리즘을 포함하여 많은 수의 알고리즘을 수락하는 것 같습니다.
이 동작을 어떻게 바꿀 수 있나요?
답변1
(다른 것을 조사한 결과 보안이 더 나을지, 아니면 SO가 더 좋을지 모르겠습니다.)
SSL_[CTX_]set1[_client]_sigalgs[_list]
릴리스 1.0.2(만)에는 이에 대한 새로운 기능이 있습니다 . 아직 어떤 릴리스에서도 문서를 본 적이 없지만 웹사이트의 "마스터"(즉, 개발 "트렁크")에 있는 것 같습니다.https://www.openssl.org/docs/manmaster/ssl/SSL_CTX_set1_sigalgs.html따라서 아마도 향후 릴리스에 포함될 것입니다.
이전 버전에서는 확인 콜백을 설정하거나 결과 체인을 확인하고 MD5, RSA<=1024, NSA 백도어로 의심되는 곡선을 사용하는 ECC 또는 CA와 같이 마음에 들지 않는 다른 것을 사용하여 모든 인증서나 체인을 거부할 수 있습니다. '우리는 고양이를 싫어한다'는 정책이다.