Pertanyaan Apa itu kata sandi tantangan?


Saya sedang menyiapkan SSL di server Ubuntu. Salah satu bidang yang diminta sebagai bagian dari pengaturan CSR adalah "kata sandi tantangan". Apa itu? Standarnya kosong. Apakah saya perlu memasukkan satu?


155
2018-05-04 14:34






Jawaban:


"Kata sandi tantangan" yang diminta sebagai bagian dari generasi CSR, berbeda dengan kata sandi yang digunakan untuk mengenkripsi kunci rahasia (diminta pada waktu pembuatan kunci, atau ketika kunci plaintext kemudian dienkripsi - dan kemudian diminta lagi setiap kali layanan SSL-enabled yang menggunakannya dimulai).

Berikut kunci yang dihasilkan, dan awal kunci yang dihasilkan:

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

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

Kunci ini tidak memiliki passphrase. Saya tidak diminta untuk satu di kreasi, dan belum memasukkan satu. Sekarang, mari buat kunci terenkripsi:

$ 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

Jadi harus jelas apa kunci pribadi yang dienkripsi (yang apache, atau server SSL-enabled lainnya, akan perlu membuka kunci untuk itu ketika mulai) dan kunci pribadi plaintext (yang tidak memerlukan unlocking pada waktu layanan mulai) terlihat seperti . Sekarang saya akan menghasilkan CSR dengan kata sandi tantangan dari tidak terenkripsi kunci:

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

Dan hanya untuk menunjukkan bahwa kunci tidak secara ajaib menjadi terenkripsi:

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

Jadi saya katakan lagi: "kata sandi tantangan" yang diminta sebagai bagian dari generasi CSR tidak hal yang sama seperti passphrase yang digunakan untuk mengenkripsi kunci rahasia. "Kata sandi tantangan" pada dasarnya adalah rahasia rahasia bersama antara Anda dan penerbit sertifikat SSL (alias Otoritas Sertifikasi, atau CA), yang tertanam dalam CSR, yang dapat digunakan oleh penerbit untuk mengautentikasi Anda jika diperlukan. Beberapa penerbit sertifikat SSL membuatnya lebih jelas daripada yang lain; melihat di bagian bawah halaman ini untuk melihat di mana mereka mengatakan kata sandi tantangan diperlukan - itu tidak ketika Anda me-restart apache:

Jika Anda memilih untuk memasukkan dan menggunakan kata sandi tantangan, Anda akan membutuhkannya   untuk memastikan bahwa Anda menyimpan kata sandi itu di tempat yang aman. Jika kamu   pernah perlu menginstal ulang sertifikat Anda untuk alasan apa pun, Anda akan   diperlukan untuk memasukkan kata sandi itu.


138
2018-05-04 15:29



Apakah ada perbedaan antara "Penerbit SSL" dan CA (Otoritas Sertifikat)? - Jonathan
Secara teknis mereka tidak mengeluarkan protokol SSL itu sendiri, melainkan sertifikat SSL yang kompatibel. Saya merasa seperti penerbit SSL kurang jelas. Penerbit Sertifikat SSL akan jelas, menurut pendapat saya. - Jonathan
Jawaban yang sangat (sangat) lengkap, ketika seseorang tidak diperlukan IMHO. Berdasarkan pertanyaan yang diajukan, Anda dapat menghilangkan semua jawaban Anda kecuali bahwa mengikuti kata sandi "The" tantangan "pada dasarnya adalah rahasia rahasia ...". Saya yakin itu akan menjawab pertanyaan yang ditanyakan sama sekali, dengan informasi yang kurang relevan. - joe
@joe terima kasih! Apa yang tidak dapat Anda lihat (karena Anda tidak memiliki perwakilan) adalah bahwa saya menanggapi jawaban yang sudah dihapus sejak lama oleh pengguna yang sangat dinilai tinggi (yang dalam hal ini, sayangnya, salah) sehingga harus melakukan bantahan point-by-point. Penghapusan berikutnya, yang tidak dilakukan oleh pengarangnya, membuat saya terlihat agak aneh, tetapi sampai sekarang saya telah memilih untuk membiarkannya berdiri. Jika cukup banyak orang mendukung sudut pandang Anda dengan menaikkan komentar Anda, saya akan mengubah jawaban saya. - MadHatter
Saya bingung dengan pertanyaan yang sama ini, dan menemukan jawaban ini tidak begitu membantu untuk pemahaman saya tentang subjek yang terbatas (karena cara itu ditulis), tetapi untungnya menemukan jawaban saya dari security.stackexchange.com/a/77082/67048 - zagrimsan