(Diposting ke ServerFault bukan StackOverflow karena saya merasa ini menyangkut konfigurasi OS lebih dari kode pemrograman).
Saat ini saya bertanggung jawab untuk memelihara sistem yang terhubung ke layanan web pihak ketiga. Layanan web ini memerlukan sertifikat autentikasi klien, yang cukup adil, tetapi layanan web itu sendiri dijamin dengan sertifikat yang ditandatangani sendiri yang dibuat oleh sertifikat otoritas sertifikasi root yang dibuat sendiri - root yang sama yang menciptakan sertifikat autentikasi klien.
Cukup dengan menambahkan sertifikat layanan saat ini ke daftar tepercaya yang diketahui dan mengabaikan sertifikat otoritas yang dibuat sendiri, sayangnya sertifikat layanan berubah secara teratur sehingga sertifikat otoritas harus dipercaya untuk memastikan aplikasi tidak rusak ketika aplikasi sertifikat layanan diperbarui.
Namun saya tidak (secara pribadi) mempercayai sertifikat CA berdasarkan pengalaman saya dengan perusahaan yang menjalankan layanan web - itu tidak akan mengejutkan saya jika itu akan bocor ke web - dan khawatir CA sertifikat tidak memiliki batasan penggunaan kunci ditempatkan pada itu (sementara serangan MITM eksternal adalah suatu kemungkinan, meskipun jauh, saya lebih khawatir tentang sertifikat bocor yang digunakan untuk penandatanganan kode, misalnya).
Apakah mungkin bagi saya untuk memberi tahu komputer saya (saat ini kotak server, tetapi dalam kotak klien desktop biasa di masa depan) untuk mempercayai CA tetapi hanya untuk satu set penggunaan kunci dan sekelompok kecil kemungkinan nama subjek (nama domain) )?
Server saat ini adalah Windows Server 2012 R2, tetapi bisa dijalankan pada kotak Linux - meskipun mesin desktop semuanya kotak Windows.
Jawaban:
Ya itu mungkin. Dalam kasus Windows, ada fitur yang disebut Cross-Certification atau Qualified Subordinasi.
Idenya adalah Anda menandatangani sertifikat CA dari pihak ketiga di lingkungan Anda. Akibatnya sertifikat SSL jarak jauh dirantai ke sertifikat CA root Anda sendiri. Untuk melindungi diri dari kemungkinan sertifikat jahat, Anda menerapkan
Name Constraints
ekstensi sertifikat tempat Anda menentukan daftar nama yang dapat diterima. Jika CA pihak ketiga mengeluarkan sertifikat untuk nama lain (tidak ditentukan secara eksplisit dalam ekstensi Name Constraints), itu akan secara otomatis ditolak oleh penyedia CryptoAPI Anda.Selain batasan nama, Anda dapat menjelaskan batasan Penggunaan Kunci yang Ditingkatkan dengan menentukan
Application Policies
ekstensi sertifikat dalam sertifikat silang. Jadi, penyedia kepercayaan Anda akan berhasil memvalidasi hanya penggunaan yang ditentukan dalamApplication Policies
ekstensi.Informasi lebih lanjut: Merencanakan dan Menerapkan Sertifikasi Silang dan Subordinasi Berkualitas dengan Menggunakan Windows Server 2003
ps meskipun, artikel ini ditulis terhadap Windows Server 2003, artikel tersebut masih berlaku untuk versi Windows Server terbaru.
sumber