Meydan okuma şifresi nedir?


170

Bir Ubuntu sunucusunda SSL kuruyorum. CSR'yi kurmanın bir parçası olarak istediği alanlardan biri "meydan okuma parolası" dır. O nedir? Varsayılan değer boştur. Bir taneye girmeme gerek var mı?

Yanıtlar:


152

CSR neslinin bir parçası olarak talep edilen "meydan okuma şifresi", gizli anahtarı şifrelemek için kullanılan paroladan farklıdır ( anahtar oluşturma zamanında veya düz metin şifresi daha sonra şifrelenmişse - ve ardından her SSL etkin olduğunda tekrar istenir) onu kullanan servis başlar ).

İşte üretilen bir anahtar ve üretilen anahtarın başı:

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

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

Bu anahtarın parolası yok. Yaratılışta birinden istenmedim ve bir tanesine girmedim. Şimdi şifreli bir anahtar oluşturalım:

$ 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

Bu nedenle, şifreli bir özel anahtarın (hangi apache'nin ya da herhangi bir SSL-etkin sunucunun, başlatıldığında bunun kilidini açması gerektiğinin) ve düz metin özel anahtarının (hizmet başlangıcında kilidini açmak zorunda değil) neye benzeyeceği açık olmalıdır. . Şimdi bir CSR oluştururuz ile gelen bir meydan okuma şifre şifresiz tuşu:

$ 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-----

Ve sadece anahtarın sihirli bir şekilde şifrelenmediğini göstermek için:

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

Bu yüzden tekrar söylüyorum: CSR neslinin bir parçası olarak talep edilen "meydan okuma şifresi" , gizli anahtarı şifrelemek için kullanılan bir şifre ile aynı şey değildir . "Mücadele şifresi", temelde, CSR’de yerleşik olan ve sertifika verenin gerekli kılmanız için kimliğinizi doğrulamak için kullanabileceği SSL sertifika veren (aka Sertifika Yetkilisi veya CA) arasında paylaşılan gizli bir durumdur. Bazı SSL sertifika verenleri bunu diğerlerinden daha net yapar; bak bu sayfanın altındaki aşağı onlar meydan şifre gereklidir söylemek nerede olduğunu görmek için - bu değil apache'yi yeniden başlattığınızda:

Bir meydan okuma şifresi girip kullanmayı seçerseniz, bu şifreyi güvenli bir yere kaydettiğinizden emin olmanız gerekir. Herhangi bir nedenle sertifikanızı yeniden yüklemeniz gerekirse, bu şifreyi girmeniz gerekecektir.


2
"SSL Veren" ile CA (Sertifika Yetkilisi) arasında bir fark var mı?
Jonathan

3
Teknik olarak SSL protokolünü kendisi değil, SSL uyumlu bir sertifika veriyorlar. SSL veren kuruluşun daha az net olduğunu düşünüyorum. SSL Sertifikasını Veren, benim düşünceme göre açık olacaktır.
Jonathan

6
IMHO'ya ihtiyaç duyulmadığında çok (çok) tam cevap. Sorulan soruya dayanarak, '' Parola Parolasının '' temelde paylaşılan gizli bir ahlaksızlık… 'olması dışında tüm cevabınızı ortadan kaldırabilirsiniz. Bunun, sorulan soruya, tamamen rahatsız edici olmayan bilgileri daha az rahatsız edici şekilde cevaplayacağına inanıyorum.
Joe,

3
@joe teşekkürler! Göremediğiniz şey (rep'iniz olmadığı için), çok yüksek oranda oy alan bir kullanıcının (bu durumda ne yazık ki, yanlış olan) kim tarafından silindiğinden daha önce yanıtlandığına yanıt vermemdi. noktadan noktaya bir çürütme. Yazarı tarafından yapılmayan bir sonraki silme işlemi benimkiler için biraz garip görünüyor, ama şimdiye kadar durmasına izin verdim. Görüşünüzü yeterince artırarak görüşünüzü destekleyecek kadar kişi varsa, cevabımı değiştiririm.
MadHatter

3
Bu aynı sorudan şaşırmıştım ve bu cevabı, konuyu sınırlı bir şekilde anlamama yardımcı olmadığımı (yazılma şeklinden dolayı) o kadar da faydalı bulmama rağmen, neyse ki cevabımı security.stackexchange.com/a/77082/67048
zagrimsan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.