Mendeteksi Kompromi Tanda Tangan

Mendeteksi Kompromi Tanda Tangan

Mendeteksi Kompromi Tanda Tangan

SignaturesCompromiseDetector adalah titik masuk untuk panduan ini: ia memeriksa riwayat revisi dokumen yang ditandatangani untuk indikator bahwa konten ditambahkan setelah tanda tangan terakhir diterapkan, dan melaporkan apa yang ditemukannya sebagai CompromiseCheckResult. Ini adalah area keamanan yang dicakup oleh kumpulan basis pengetahuan ini — tidak mencakup pembuatan atau penerapan tanda tangan, atau enkripsi dokumen; hanya memeriksa tanda tangan yang sudah ada pada dokumen.


Menjalankan Pemeriksaan Kompromi

Bangun SignaturesCompromiseDetector dengan dokumen yang ingin Anda periksa, lalu panggil SignaturesCompromiseDetector.check(). Pemeriksaan ini menelusuri setiap tanda tangan yang sudah ada pada dokumen dan mencari byte yang tidak ditandatangani yang ditambahkan setelah revisi yang terakhir ditandatangani — sebuah tanda bahwa konten mungkin telah ditumpuk setelahnya — sambil mentolerir materi validasi jangka panjang yang sah (seperti penyimpanan keamanan dokumen atau cap waktu arsip) yang ditambahkan oleh tanda tangan penutup yang lebih baru.


Menafsirkan Hasil

SignaturesCompromiseDetector.check() mengembalikan CompromiseCheckResult dengan empat properti:

  • CompromiseCheckResult.has_compromised_signatures — True jika ada tanda tangan yang menunjukkan indikator gangguan.
  • CompromiseCheckResult.compromised — mencerminkan CompromiseCheckResult.has_compromised_signatures, disediakan sebagai alias kenyamanan hanya-baca.
  • CompromiseCheckResult.signatures_coverage — jumlah tanda tangan yang diperiksa detektor pada dokumen.
  • CompromiseCheckResult.reasons — daftar string pendek yang menjelaskan mengapa dokumen ditandai, ketika itu terjadi.

Dokumen tanpa tanda tangan, atau tidak ada dokumen sama sekali, dilaporkan tidak terkompromi, dengan CompromiseCheckResult.signatures_coverage sama dengan 0.


Tips dan Praktik Terbaik

  • Anggap CompromiseCheckResult.compromised dan CompromiseCheckResult.has_compromised_signatures sebagai dapat dipertukarkan — keduanya selalu melaporkan nilai yang sama.
  • Periksa CompromiseCheckResult.signatures_coverage sebelum mempercayai hasil False: cakupan 0 berarti detektor tidak menemukan tanda tangan untuk diperiksa, bukan bahwa tanda tangan yang ada diverifikasi tetap utuh.
  • Baca CompromiseCheckResult.reasons ketika CompromiseCheckResult.has_compromised_signatures adalah True — daftar tersebut menjelaskan heuristik mana yang dipicu, yang berguna saat mencatat atau menampilkan hasil kepada peninjau.
  • SignaturesCompromiseDetector memeriksa riwayat revisi untuk indikator manipulasi; ia tidak memvalidasi integritas tanda tangan kriptografis secara langsung, jadi padukan dengan hasil validasi tanda tangan dokumen sendiri di mana hal itu penting bagi alur kerja Anda.

Masalah Umum

MasalahPenyebabPerbaikan
CompromiseCheckResult.signatures_coverage adalah 0 untuk dokumen yang Anda ketahui telah ditandatanganiSignaturesCompromiseDetector dibangun tanpa dokumen, atau objek dokumen tidak memiliki tanda tangan yang dapat diaksesPastikan dokumen yang diberikan ke SignaturesCompromiseDetector menampilkan tanda tangannya sebelum memanggil SignaturesCompromiseDetector.check()
CompromiseCheckResult.reasons kosong meskipun Anda mengharapkan penjelasanCompromiseCheckResult.has_compromised_signatures adalah False untuk dokumen iniAlasan hanya diisi ketika indikator kompromi benar-benar ditemukan; daftar kosong pada hasil bersih diharapkan
PDF yang sah diperbarui (misalnya yang memiliki cap waktu validasi jangka panjang yang ditambahkan) ditandai sebagai terkompromiPenambahan selanjutnya tidak sepenuhnya ditutupi oleh tanda tangan berikutnya atau tidak dikenali sebagai materi hanya validasiJalankan kembali pemeriksaan setelah memastikan pembaruan dilakukan oleh tanda tangan atau cap waktu penutup yang tepat, dan periksa CompromiseCheckResult.reasons untuk pemicu spesifik

FAQ

Apa yang sebenarnya diperiksa oleh CompromiseCheckResult.compromised?

Ini melaporkan nilai yang sama dengan CompromiseCheckResult.has_compromised_signatures: apakah SignaturesCompromiseDetector.check() menemukan indikator manipulasi pada tanda tangan dokumen.

Apakah signatures_coverage dengan 0 berarti dokumen aman?

Tidak — artinya tidak ada tanda tangan yang ditemukan untuk diperiksa. SignaturesCompromiseDetector tidak dapat melaporkan tanda tangan yang tidak dapat dilihatnya, sehingga cakupan 0 merupakan hasil “tidak ada yang diperiksa”, bukan konfirmasi integritas.

Apakah SignaturesCompromiseDetector dapat membuat atau memverifikasi tanda tangan kriptografis?

Tidak. Ini hanya memeriksa riwayat revisi dokumen yang ada untuk indikator bahwa konten ditambahkan setelah tanda tangan terakhir. Membuat, menerapkan, atau memvalidasi tanda tangan secara kriptografis berada di luar apa yang dilakukan kelas ini.

Apakah menambahkan cap waktu yang sah setelah penandatanganan selalu memicu temuan kompromi?

Tidak selalu. Detektor dirancang untuk menoleransi penambahan kemudian yang sendiri tercakup oleh tanda tangan berikutnya, atau yang hanya menambahkan materi validasi bukan konten baru. Periksa CompromiseCheckResult.reasons jika Anda melihat temuan yang tidak terduga.


API Reference Ringkasan

Kelas/MetodeDeskripsi
SignaturesCompromiseDetectorMemeriksa dokumen yang ditandatangani untuk indikator manipulasi setelah tanda tangan terakhir
SignaturesCompromiseDetector.check()Menjalankan pemeriksaan dan mengembalikan sebuah CompromiseCheckResult
CompromiseCheckResultHasil dari pemeriksaan kompromi
CompromiseCheckResult.compromisedAlias hanya-baca untuk CompromiseCheckResult.has_compromised_signatures
CompromiseCheckResult.has_compromised_signaturesApakah indikator gangguan ditemukan
CompromiseCheckResult.signatures_coverageJumlah tanda tangan yang diperiksa
CompromiseCheckResult.reasonsString pendek yang menjelaskan setiap temuan

Lihat Juga

 Bahasa Indonesia