챌린지 비밀번호는 무엇입니까?


170

우분투 서버에서 SSL을 설정하고 있습니다. CSR 설정의 일부로 요구되는 필드 중 하나는 "도전 암호"입니다. 그게 뭐야? 기본값은 비어 있습니다. 하나를 입력해야합니까?

답변:


152

CSR 생성의 일부로 요청 된 "도전 암호"는 비밀 키를 암호화하는 데 사용되는 암호 ( 키 생성시 요청되거나 나중에 일반 텍스트 키가 암호화 된 후 SSL 사용 가능마다 다시 요청 됨)와 다릅니다. 그것을 사용하는 서비스가 시작됩니다 ).

생성 된 키와 생성 된 키의 시작은 다음과 같습니다.

$ openssl genpkey -algorithm rsa -out foo.key
............++++++
...++++++

$ head -3 foo.key
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S
eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt

이 키에는 암호가 없습니다. 나는 창조 할 때 묻지 않았고 아직 들어 가지 않았다. 이제 암호화 된 키를 생성 해 봅시다 :

$ openssl genpkey -algorithm rsa -des3 -out bar.key
...........................................++++++
.....................................++++++
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

$ head -3 bar.key
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQInfwj1iv3icMCAggA
MBQGCCqGSIb3DQMHBAizMHBklBexiwSCAoDtRKf1WtMiVMH7HraGTIG0rlQS6Xuj

따라서 암호화 된 개인 키 (아파치 또는 다른 SSL 사용 서버는 시작할 때 잠금을 해제해야 함)와 일반 텍스트 개인 키 (서비스 시작시 잠금을 해제하지 않아도 됨)가 어떤지 명확해야합니다. . 이제 암호화되지 않은 키 에서 챌린지 암호를 사용하여 CSR 생성합니다 .

$ openssl req -new -key foo.key
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:asdfasdf
An optional company name []:
-----BEGIN CERTIFICATE REQUEST-----
MIIBmzCCAQQCAQAwQjELMAkGA1UEBhMCWFgxFTATBgNVBAcMDERlZmF1bHQgQ2l0
eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDCBnzANBgkqhkiG9w0BAQEF
AAOBjQAwgYkCgYEAn2M0Abg2jL/+v9J54r+ASAY5XQFmbQJiaBJAaPg/o3dwmw+U
awbzSopPFMXCgSJeczcFV4GkN1eEYq2Cmam3tH6t8mVDh0/UryJSWBsaFm9mh9RF
gIpP0hEkYZTf/0X+X06ukt9S/Id9Z/tVgPsZA3TcNjNhJfVaTm81/4ykq8UCAwEA
AaAZMBcGCSqGSIb3DQEJBzEKDAhhc2RmYXNkZjANBgkqhkiG9w0BAQUFAAOBgQCa
ivuDRBlHOhBjg6wPbH9NvCnvEnxeEAkYi0Sl/Grdo/WCk17e+sv9wgqEW1QSIdbV
XzMeWidurv4AtcATwhfk9tBcYBCTxANkTONzhJG7Yk9OAz8g8Ljo8EEvPf4oHqpw
tBg10DCD2op0lCwL2LBdPO3RG20f/HD6fEXPVxZdOQ==
-----END CERTIFICATE REQUEST-----

그리고 키가 마술처럼 암호화되지 않았다는 것을 보여주기 위해 :

$ head -3 foo.key
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S
eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt

CSR 생성의 일부로 요청 된 "도전 암호" 는 비밀 키를 암호화하는 데 사용되는 암호와 동일 하지 않습니다 . "도전 암호"는 기본적으로 CSR에 포함 된 SSL 인증서 발급자 (인증 기관 또는 CA) 사이의 공유 비밀 암호이며 발급자가 필요할 때 사용자를 인증하는 데 사용할 수 있습니다. 일부 SSL 인증서 발급 기관은 다른 SSL 인증서 발급 기관을 명확하게합니다. 볼 이 페이지의 하단에 아래로 그들이 도전 암호가 필요 말할 위치를 확인 - 그것의 하지 당신이 아파치를 다시 시작할 때 :

챌린지 암호를 입력하고 사용하기로 선택한 경우 해당 암호를 안전한 장소에 저장해야합니다. 어떤 이유로 든 인증서를 다시 설치해야하는 경우 해당 비밀번호를 입력해야합니다.


2
"SSL 발급자"와 CA (인증 기관)간에 차이가 있습니까?
Jonathan

3
기술적으로 그들은 SSL 프로토콜 자체를 발행하는 것이 아니라 SSL 호환 인증서를 발행합니다. SSL 발급자가 명확하지 않은 것 같습니다. 내 소견으로는 SSL Certificate Issuer가 명확 할 것입니다.
Jonathan

6
IMHO가 필요하지 않은 매우 (매우) 완전한 대답. 질문 된 질문에 따라 ''도전 비밀번호 '는 기본적으로 공유 비밀 nonce ...'를 제외하고 모든 답변을 제거 할 수 있습니다. 나는 적절하지 않은 정보를 덜 산만하게하여 질문에 완전히 대답했을 것이라고 생각합니다.
joe

3
@ 조 감사합니다! 당신이 볼 수없는 것은 (당신이 담당자가 없기 때문에) 매우 높은 등급의 사용자 (이 경우 불행히도 잘못된 사람)에 의해 삭제 된 이전 답변에 응답했기 때문에해야했습니다. 포인트 별 반박. 저자가 수행하지 않은 후속 삭제로 인해 조금 이상해 보이지만 지금까지는 그대로 두었습니다. 귀하의 의견을 표명하여 다른 사람들이 귀하의 견해를 뒷받침 할만한 충분한 답변이 있으면 답변을 수정하겠습니다.
MadHatter

3
나는이 똑같은 질문에 당황 하여이 답변이 주제에 대한 제한된 이해에 도움이되지는 않지만 (답변 작성 방법으로 인해) 안타깝게도 security.stackexchange.com/a/77082/67048
zagrimsan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.