2010-01-21 4 views
2

SSL/TLS 핸드 셰이크 중에 클라이언트는 지원되는 암호 그룹 목록을 보내고 서버는 대화에 사용할 암호를 선택합니다. Windows에는 우선 순위가 지정된 암호 그룹 목록 (레지스트리를 통해 구성 가능)이 있으며 클라이언트가 지원하는 해당 목록에서 첫 번째 제품군을 선택합니다. 허용되는 암호 목록이 암호 모음 플래그를 사용하여 만들어지면 OpenSSL이 서버로 작동 할 때 암호 모음을 선택하기 위해 사용하는 알고리즘은 무엇입니까? OpenSSL 설명서에서 대답을 찾을 수 없습니다.OpenSSL 서버 암호 선택

+0

Thomas Pornin이 정답입니다. 나는 왜 당신이 다른 하나를 받아들이는지 확신하지 못합니다 ... – Jumbogram

답변

0

this manpage을 살펴보십시오.

cipherlist 명령은 OpenSSL 암호 목록을 순서가 지정된 SSL 암호 우선 순위 목록으로 변환합니다. 적절한 암호 목록을 확인하는 테스트 도구로 사용할 수 있습니다.

+3

이것은 '서버가 암호 군 목록을 어떻게 형성합니까?'라고 묻는 질문에 대답하지 않습니다. '서버가 어떤 암호 군을 사용할 것인지를 어떻게 결정합니까? 연결.' – Jumbogram

20

클라이언트가 보낸 암호 스위트 목록이 정렬됩니다. 목록의 첫 번째 제품군은 클라이언트가 가장 선호하는 제품군입니다. 일반적으로 서버로서의 OpenSSL은 클라이언트 환경 설정을 존중합니다. 클라이언트와 서버가 모두 지원하는 스위트 목록 중에서 클라이언트가 가장 선호하는 제품군을 선택합니다.

OpenSSL에는 2002 년 말에 릴리스 된 이후로 서버 기본 설정을 적용하는 SSL_OP_CIPHER_SERVER_PREFERENCE라는 프로그래밍 방식의 플래그가 있습니다. 서버에서 지원하는 암호화 제품군 목록도 기본 설정에 따라 정렬되며 서버 클라이언트와 서버가 모두 지원하는 서버 중에서 서버 자체가 가장 선호하는 제품군을 선택합니다. 이 플래그는 ssl.h 인클루드 파일에 설명되어 있습니다.

명령 줄 "s_server"명령에서 "-serverpref"옵션을 사용하여 SSL_OP_CIPHER_SERVER_PREFERENCE 플래그를 활성화합니다.