Apa yang terjadi pada kode tanda sertifikat ketika ketika root CA kedaluwarsa?

9

Sejauh ini jelas bagi saya: Jika sertifikat tanda kode itu sendiri kedaluwarsa, kode yang ditandatangani akan diverifikasi / diterima jika ditandatangani dengan stempel waktu. Jika tidak, kode yang ditandatangani juga kedaluwarsa.

Tapi apa yang terjadi jika CA saya sendiri kedaluwarsa (root CA dan CA yang mengeluarkan)?

  • Apakah kode masih akan diterima jika timestamped?
  • Haruskah sertifikat Root dan Penerbitan CA yang kedaluwarsa tetap ada (misalnya di root store sertifikat tepercaya)? Ini adalah asumsi saya, meskipun CA dapat diturunkan, klien yang mengeksekusi yang ditandatangani masih harus mempercayai CA? Kalau tidak, rantai kepercayaan akan rusak, kan?
  • Apakah kekurangan CRL atau AIA akan menimbulkan masalah?
dr_pepper285
sumber

Jawaban:

12

Tapi apa yang terjadi jika CA saya sendiri kedaluwarsa (root CA dan CA yang mengeluarkan)?

Secara harfiah, tidak ada. Mari kita jelaskan sedikit lebih detail.

Jika tanda tangan tidak diberi cap waktu, tanda tangan berlaku selama:

  • data tidak dirusak
  • sertifikat penandatanganan adalah waktu yang valid
  • tidak satupun sertifikat dalam rantai dicabut
  • sertifikat root tepercaya

Setelah sertifikat penandatanganan kedaluwarsa, dicabut atau menjadi tidak valid dengan satu atau lain cara, tanda tangan dianggap tidak valid. Polos dan sederhana.

Tujuan cap waktu dalam tanda tangan digital adalah untuk memberikan kepercayaan yang diperluas untuk konten yang ditandatangani. Sertifikat penandatanganan berlaku untuk jangka waktu pendek dan pengaturan dasar kepercayaan tidak cocok untuk penandatanganan jangka panjang (mungkin, diarsipkan). Biasanya (tanpa stempel waktu), Anda harus membuat ulang tanda tangan setiap kali sertifikat penandatanganan diperbarui. Ini adalah cara ke mana-mana.

Dengan menambahkan stempel waktu ke tanda tangan digital, kondisi kepercayaan diubah ke daftar berikut:

  • data tidak dirusak
  • sertifikat penandatanganan * adalah * waktu berlaku pada waktu penandatanganan: waktu penandatanganan adalah dalam keabsahan sertifikat penandatanganan
  • Tidak ada sertifikat yang dicabut * sebelum * pembuatan tanda tangan
  • baik, penandatanganan dan sertifikat stempel waktu rantai ke CA akar tepercaya (terlepas dari validitas waktu mereka, hanya harus di toko kepercayaan).

Apa yang berubah di sini: tanda tangan tetap berlaku setelah kedaluwarsa sertifikat yang terlibat. Artinya, seluruh rantai untuk penandatanganan dan sertifikat stempel waktu mungkin kedaluwarsa (bersama dengan sertifikat root) dan itu tidak akan merusak kepercayaan. Sertifikat dalam rantai dapat dicabut. Satu-satunya persyaratan: jika ada sertifikat yang dicabut, waktu pencabutan (diperoleh dari CRL) harus diatur ke waktu setelah tanda tangan dibuat (waktu penandatanganan diidentifikasi oleh stempel waktu). Kalimat sebelumnya berarti harus ada CRL yang ditandatangani untuk membuktikan bahwa tidak ada sertifikat yang dicabut pada saat penandatanganan.

Ini adalah alasan mengapa sistem Windows modern mengirim sertifikat root yang sudah kadaluwarsa. Mereka masih digunakan untuk memvalidasi tanda tangan lama dan yang diberi cap waktu.

Beberapa waktu yang lalu saya menulis posting blog yang menjelaskan subjek secara lebih rinci: Tanda tangan digital dan cap waktu

Crypt32
sumber
Posting blog Anda adalah artikel yang sangat bagus tentang masalah ini!
ThoriumBR
Saya menemukan topik ini sangat membingungkan di IT Pro (dan pengembang) dan mencoba untuk menyelesaikannya di posting blog.
Crypt32
Tetapi poin dengan CRL tidak sepenuhnya jelas bagi saya. Jadi saya masih perlu memiliki CRL (terakhir) CA kadaluarsa yang tersedia?
dr_pepper285
Ya, CRL diperlukan. Tidak perlu yang terakhir, itu harus dipublikasikan ( ThisUpdatebidang) setelah waktu penandatanganan. CRL ini dapat membuktikan bahwa tidak ada sertifikat di kedua rantai (penandatanganan dan stempel waktu) dicabut pada saat penandatanganan.
Crypt32