Lewati ke konten
getnextpdf.com

Pro edisi

Security — Referensi Mendalam

Ini adalah referensi mendalam untuk permukaan keamanan NextPDF Pro: masking pada waktu pembuatan, deteksi PII lapisan-teks, sesi penandatanganan remote dan cloud-KMS, penandatanganan sekuensial multipihak, jalur ingest CAdES dan XAdES, level baseline PAdES B-B, serta dukungan penandatanganan PAdES B-T (sebuah tanda tangan B-B ditambah satu signature-time-stamp RFC 3161 pada nilai tanda tangan). Halaman ini menyatakan kontrak API publik, perilaku yang dapat diamati dari luar, dan batas B-LT/B-LTA Enterprise. Halaman ini berada pada tingkat perilaku; halaman ini tidak menyebut jalur implementasi internal apa pun.

Kapabilitas ini dikirimkan dalam NextPDF Pro (nextpdf/pro) dan diaktifkan dengan envelope lisensi tier Pro. Sebuah penerapan tanpa hak tersebut tidak memuat kelas-kelas kapabilitas ini. Bandingkan edisi dan dapatkan lisensi.

Core mengirimkan penanda tangan CMS perangkat lunak, klien tanda waktu RFC 3161, validasi jalur RFC 5280, serta pemeriksaan pencabutan OCSP dan CRL. Pro menambahkan masking, deteksi PII, permukaan penandatanganan remote dan cloud-KMS, serta dukungan penandatanganan PAdES B-T (yang menyusun tumpukan RFC 3161 Core untuk menambahkan signature-time-stamp) yang dijelaskan di sini. Flag kapabilitas untuk permukaan ini adalah pro: sebuah penerapan tanpa hak Pro yang aktif tidak memuat kelas-kelas ini, kontrak penandatanganan Core terus berfungsi tanpa perubahan, dan kode yang bergantung pada kontrak Core tidak rusak ketika hak tersebut tidak ada.

Terminal window
composer require nextpdf/pro:^3

Mesin masking menerapkan daftar aturan terurut pada teks sebelum halaman ditulis. Sebuah aturan mencocokkan pola PCRE dan menggantikan kecocokan dalam salah satu dari tiga mode:

  • BlackBox — menghapus teks yang cocok dari content stream dan mencadangkan area isian. Mode ini menghapus objek teks yang mendasarinya sebagaimana telah diuji.
  • Asterisks — menggantikan setiap karakter yang cocok dengan tanda bintang, mempertahankan jumlah karakter.
  • FixedLabel — menggantikan seluruh kecocokan dengan label yang dapat dikonfigurasi, secara default [REDACTED].

Sebuah aturan dibangun dari literal persis melalui MaskingRule::exactMatch (literal di-escape sebagai regex) atau dari pola PCRE kustom melalui MaskingRule::regex. MaskingConfig menampung daftar aturan terurut, sebuah mode default, dan warna isian. MaskingConfig::fromArray mengurai peta konfigurasi dan secara diam-diam membuang entri aturan yang tidak memiliki pola string yang dapat digunakan, alih-alih menggagalkan seluruh impor.

Permukaan PII mengekstrak lapisan teks PDF, lalu menerapkan pola bawaan untuk alamat email, nomor telepon, nomor Social Security Amerika Serikat, dan nomor kartu kredit. Permukaan ini mengembalikan hasil terstruktur: sebuah boolean untuk apakah ada kecocokan yang ditemukan, jumlah kecocokan, tampilan teks yang di-mask, dan daftar tipe yang dipindai. Pemanggil dapat membatasi pemindaian ke subset dari keempat tipe tersebut. Permukaan ini tidak menimpa glif halaman yang dirender; sebuah halaman terpindai tanpa lapisan teks tidak menghasilkan kecocokan. Perlakukan hasil sebagai deteksi pola lapisan-teks dari tipe yang dikonfigurasi, bukan sebagai penghapusan data pribadi yang lengkap dan bukan sebagai pernyataan kepatuhan regulasi.

Sesi penandatanganan bersifat dua fase. RemoteSigningSession::create membuka sebuah sesi. prepare menghitung digest dokumen atas kedua region ByteRange, lalu membangun atribut-tertanda CMS. complete memanggil strategi dan menyematkan hasilnya; suspend menserialisasi sesi sehingga sebuah worker dapat melanjutkannya nanti dengan resume dan completeWithRawSignature. Sesi merakit CMS SignedData dan menyimpannya berpenyandian DER di entri Contents dictionary tanda tangan — ISO 32000-2 §12.8.1. Ketika sertifikat X.509 yang dapat diurai disediakan, sesi memancarkan rangkaian atribut-tertanda wajib PAdES B-B yang lengkap: content-type, message-digest, signing-time, signing-certificate-v2, dan sebuah atribut algorithm-protection — RFC 5652 §5.3 dan RFC 5652 §5. Pemverifikasi menghitung ulang digest konten dan membandingkannya dengan atribut message-digest; perbandingan harus cocok agar tanda tangan valid — RFC 5652 §5.4.

Ketika level PAdES yang dikonfigurasi adalah B-T (RemoteSigningConfig::default->withLevel(SignatureLevel::PAdES_B_T), atau melalui SequentialSigner::withTimestamping) dan penyedia tanda waktu terhubung, sesi secara tambahan menyematkan tepat satu signature-time-stamp RFC 3161 sebagai atribut CMS tak-tertanda pada SignerInfo pertama. Sebuah signature-time-stamp adalah atribut tak-tertanda yang membawa satu token tanda waktu yang dihitung atas nilai tanda tangan digital untuk seorang penanda tangan — ETSI EN 319 122-1 §5.3; MessageImprint-nya adalah hash dari nilai field tanda tangan SignerInfo dengan tag dan panjang ASN.1 dikecualikan — ETSI EN 319 122-1 §5.3 dan RFC 3161 Appendix A (OID id-aa-timeStampToken = 1.2.840.113549.1.9.16.2.14). Karena tanda waktu adalah atribut tak-tertanda, atribut-tertanda B-B, message-digest, nilai tanda tangan SignerInfo, dan /ByteRange PDF identik byte dengan keluaran B-B; hanya CMS yang membesar oleh atribut tak-tertanda, dan ruang /Contents cadangan B-T dinaikkan agar pas. Token diminta dari penyedia tanda waktu yang dikonfigurasi (klien RFC 3161 Core default, atau penyedia yang disuplai pemanggil). Pada jalur penyedia default, digest imprint adalah SHA-256; bentuk legacy ESSCertID v1 yang terikat SHA-1 ditolak dan ESSCertIDv2 diwajibkan — RFC 5816 §1. Kesalahan TSA, permintaan yang ditolak, echo nonce atau message-imprint yang salah, token yang malformasi atau beralgoritma-tak-didukung, atau token yang gagal verifikasi kriptografis muncul sebagai eksepsi PadesBt bertipe dengan eksepsi Core asal dipertahankan sebagai throwable sebelumnya. NextPDF Pro mengimplementasikan dukungan penandatanganan PAdES B-T sesuai ETSI EN 319 122-1 §5.3, RFC 3161, RFC 5652, dan RFC 5816, serta telah diverifikasi-fixture; ini tidak menyatakan sertifikasi ETSI EN 319 142-1 independen dan tidak menyatakan validitas hukum dokumen.

SequentialSigner mengoordinasikan penandatanganan multipihak. Setiap penanda tangan adalah revisi incremental-update yang terpisah. Penanda tangan pertama dapat berupa tanda tangan sertifikasi dengan pembatasan DocMDP yang diatur melalui certifyFirst. PadesWrapper mencerna tanda tangan yang sudah ada: fromCades menyematkan struktur CMS secara langsung, fromXades mengurai dokumen XAdES dan menggunakan kembali materi tanda tangan intinya, dan detect memilih otomatis berdasarkan format. Jalur XAdES menggunakan kembali sertifikat, rantai, nilai tanda tangan, dan algoritma; jalur ini tidak mentransfer properti kualifikasi XAdES.

Terminal window
composer require nextpdf/pro:^3
TipeJenisPeranStabilitasSejak
RemoteSigningSessionclassSesi penandatanganan remote atau asinkron dua fasestable1.9.0
RemoteSigningConfigclassKonfigurasi sesi imutabel, termasuk level PAdES dan algoritmastable1.9.0
SequentialSignerclassPenandatanganan sekuensial multipihak dengan dukungan DocMDPstable1.9.0
SequentialSigningResultclassHasil eksekusi sekuensial: byte PDF, rantai, jumlah, kelengkapanstable1.9.0
SigningStrategyinterfaceKontrak mekanisme-penandatanganan yang dipanggil sesistable1.9.0
PadesWrapperclassMembungkus tanda tangan CAdES atau XAdES yang ada untuk penyematan PAdESstable1.9.0
KmsSignerInterfaceinterface (SPI)Kontrak driver HSM dan KMS pihak ketiga; memperluas kontrak penanda tangan HSM Corestable2.1.0
SignatureAlgorithmenumOID algoritma-tanda-tangan Pro dan nama digeststable2.1.0
GenerationTimeMaskerclassMasking yang digerakkan aturan, diterapkan sebelum halaman ditulisstable1.9.0
MaskingConfigclassKonfigurasi masking imutabelstable1.9.0
MaskingRuleclassSatu aturan masking (literal atau PCRE)stable1.9.0
MaskingModeenumBlackBox, Asterisks, FixedLabelstable1.9.0

Sebuah strategi beroperasi pada atribut-tertanda berpenyandian DER dan mengembalikan byte tanda tangan mentah. Sesi, bukan strategi, yang merakit CMS SignedData. Sebuah strategi mengekspos DER sertifikat penanda tangan, DER rantai yang terurut dari leaf ke root, OID algoritma-tanda-tangan, nama algoritma-digest, dan flag isAsync yang menandai strategi yang sesinya dapat diserialisasi dan dilanjutkan.

KmsSignerInterface memperluas kontrak penanda tangan HSM Core. Antarmuka ini menambahkan providerId yang stabil untuk pencarian registry, metode signWithVersion dengan parameter versi-kunci per-pemanggilan yang eksplisit, serta supportsAlgorithm dan supportedAlgorithms agar pemanggil menemukan kompatibilitas algoritma sebelum pemanggilan sign. Pengenal penyedia bawaan yang dicadangkan adalah aws-kms, azure-keyvault, gcp-kms, pkcs11, openssl-cli, dan openssl-engine. Sebuah driver pihak ketiga harus menamespace pengenalnya untuk menghindari kolisi. Semantik versi-kunci default bervariasi menurut penyedia: penyedia yang menyelesaikan alias menyelesaikan kunci aktif dari alias ketika versi bernilai null; penyedia yang memilih versi diaktifkan terbaru melakukannya melalui transportnya; penyedia yang tidak memiliki konsep versi-aktif sisi-server harus menggunakan versi yang dipatok dalam konfigurasinya, dan harus memunculkan galat manajemen-kunci ketika baik pemanggilan maupun konfigurasi tidak mematok versi. Sebuah versi yang tidak kosong mematok versi tersebut, dan penyedia harus memunculkan galat manajemen-kunci ketika versi tidak dikenal, dinonaktifkan, atau dicabut.

  • Tanda tangan yang diproduksi bukanlah tanda tangan yang terverifikasi. Validasi jalur berjalan di pemverifikasi dengan trust anchor dan pemeriksaan basic-constraint pemverifikasi tersebut — RFC 5280 §6.1. Produsen tidak dapat menyatakan hasilnya.
  • Sesi memiliki fallback tiga-atribut legacy untuk byte sertifikat sintetis non-X.509. Strategi produksi selalu menyuplai DER X.509 nyata, sehingga rangkaian atribut B-B lengkap adalah jalur produksi. Fallback ini hanya ada untuk permukaan uji mekanika-DER historis.
  • Struktur CMS harus pas dengan ruang Contents cadangan. SignedData B-B dengan rantai sertifikat lengkap memiliki ukuran; sesi memunculkan galat overflow ketika CMS yang dirakit melebihi ruang heksadesimal cadangan. Tetapkan ukuran ruang cadangan secara sesuai. Untuk B-T, token RFC 3161 yang disematkan (didominasi oleh rantai sertifikat TSA) memperbesar CMS; ruang cadangan B-T dinaikkan secara otomatis, dan ruang yang dikonfigurasi terlalu kecil gagal-tertutup dengan galat konfigurasi bertipe alih-alih memotong.
  • MaskingConfig::fromArray membuang entri yang tidak memiliki pola string yang dapat digunakan alih-alih menggagalkan impor. Validasi sumber konfigurasi jika pembuangan diam-diam tidak dapat diterima.
  • Mode black-box masking memancarkan pengganti kosong untuk rangkaian yang cocok dan menghapus teks yang mendasarinya. Sebuah aturan yang tidak cocok dengan suatu nilai tidak akan memask-nya; mesin tidak menyatakan bahwa semua konten sensitif ditemukan.
  • B-T membutuhkan penyedia tanda waktu yang terhubung. Pada jalur penyedia RFC 3161 Core default, digest imprint adalah SHA-256; sebuah digest imprint non-SHA-256 pada jalur tersebut ditolak dengan galat konfigurasi bertipe alih-alih diturunkan diam-diam, dan penyedia kustom yang disuplai pemanggil dapat secara sah menggunakan digest terotorisasi lain. Sebuah serialNumber tanda waktu unik per token dari Time-Stamping Authority tertentu, dan genTime adalah instan UTC saat token dibuat — RFC 3161 §2.4.1, §2.4.2. Materi validasi jangka panjang B-LT/B-LTA tetap menjadi urusan batas Enterprise; Pro tidak memproduksi DSS, VRI, maupun tanda waktu dokumen.
  • OCSP unknown bukanlah good, dan kesegaran status dibatasi oleh thisUpdate dan nextUpdate — RFC 6960 §2.2, §4.2.

Pro memilih algoritma dari algoritma tanda tangan yang dikonfigurasi dan strategi. Ketika dikonfigurasi terhadap KMS atau HSM tervalidasi FIPS, operasi kriptografis berjalan dalam batas tervalidasi tersebut, dan rangkaian algoritma adalah apa pun yang diizinkan batas itu. NextPDF Pro melakukan perakitan struktural CMS dan komputasi digest; ia bukan modul kriptografi tervalidasi FIPS dan tidak membuat klaim sertifikasi FIPS. Sebuah penerapan yang membutuhkan postur FIPS harus mengonfigurasi KMS atau HSM tervalidasi FIPS, dan profil kebijakan-kripto FIPS 140-3 adalah kapabilitas Enterprise.

Modul ini menyangkut fungsionalitas kriptografis; perlakukan sebagai sensitif-keamanan dalam tinjauan Anda sendiri.

NextPDF Pro memproduksi baseline B-B dan level B-T. Untuk B-B, sesi merakit CMS SignedData dengan rangkaian atribut-tertanda B-B dan tidak menerapkan tanda waktu. Untuk B-T, sesi menambahkan tepat satu signature-time-stamp RFC 3161 sebagai atribut CMS tak-tertanda yang dihitung atas nilai tanda tangan digital untuk seorang penanda tangan — ETSI EN 319 122-1 §5.3. NextPDF Pro mengimplementasikan ini sesuai ETSI EN 319 122-1 §5.3, RFC 3161, RFC 5652, dan RFC 5816, serta telah diverifikasi-fixture; ini tidak menyatakan sertifikasi, konformansi, atau kepatuhan ETSI EN 319 142-1 independen, dan tidak menyatakan validitas hukum dokumen.

Level B-LT dan B-LTA adalah kapabilitas Enterprise dan tidak diproduksi oleh Pro. B-LT dan B-LTA menambahkan Document Security Store dan tanda waktu dokumen untuk validasi arsip jangka panjang — ETSI EN 319 142-2 §5.5. Sebuah signature handler yang memproduksi level tersebut mendukung entri DSS dan tanda waktu dokumen — ETSI EN 319 142-2 §6.3.3.3. RemoteSigningConfig Pro dapat membawa level di atas B-T (B-LT atau B-LTA) yang meminta Document Security Store, tetapi Pro tidak mengirimkan produser tersebut dan tidak menindaklanjutinya; level seperti itu adalah nilai yang dideklarasikan-di-muka. Alur penandatanganan Core menyelesaikan produser jangka-panjang saat runtime melalui kontrak Core, dan produser itu dikirimkan dalam paket nextpdf/enterprise. Pada penerapan khusus-Pro, permintaan B-LT atau B-LTA gagal-tertutup dengan pesan yang menyebut komponen Enterprise yang hilang. Pro tidak memproduksi DSS, dictionary VRI, tanda waktu dokumen, maupun loop arsip, dan tidak membuat klaim validasi jangka-panjang (LTV). Kustodi kunci perangkat keras melalui PKCS#11, dan profil kebijakan-kripto FIPS 140-3, juga merupakan kapabilitas Enterprise. Halaman ini tidak mendokumentasikan implementasi validasi jangka-panjang Enterprise; halaman ini hanya menyatakan batas dan nama paket publik.

Level PAdESMenambahkanEdisi produser
B-BTanda tangan CMS dengan atribut-tertandaCore, Pro
B-TSatu atribut tak-tertanda signature-time-stamp RFC 3161 pada nilai tanda tanganCore, Pro
B-LTDocument Security Store dengan materi validasiEnterprise (nextpdf/enterprise)
B-LTATanda waktu dokumen untuk validitas arsipEnterprise (nextpdf/enterprise)

Halaman ini hanya mendokumentasikan perilaku yang dapat diamati dari luar dan permukaan API publik yang didukung. Jalur namespace internal, kelas helper, tabel mekanisme, nama berkas runbook, dan prefiks tiket berada di luar cakupan.

Sebuah penerapan tanpa hak Pro tetap mempertahankan kontrak penandatanganan Core. Kode yang bergantung pada kontrak SignerInterface Core terus menandatangani dengan penanda tangan CMS perangkat lunak pada baseline B-B. Strategi masking, deteksi PII, serta remote dan cloud-KMS tidak hadir tanpa paket Pro, dan pemanggilan ke tipe-tipe tersebut adalah galat ketergantungan keras, bukan no-op diam-diam.

Permukaan masking dan PII berjalan in-process. Tidak ada konten dokumen yang meninggalkan host untuk masking atau deteksi PII. Sebuah strategi cloud-KMS mengirim digest atribut-tertanda, bukan dokumen, ke penyedia untuk operasi penandatanganan. Deteksi PII dicocokkan-pola pada tipe yang dikonfigurasi dan menghapus objek teks yang mendasarinya untuk mode black-box sebagaimana telah diuji. Ini bukan jaminan penghapusan data pribadi yang lengkap dan bukan pernyataan kepatuhan regulasi.

Pustaka memunculkan eksepsi bertipe dengan pesan struktural. Pustaka tidak menulis konten dokumen atau nilai PII yang terdeteksi ke dalam pesan eksepsi atau log. Sebuah penerapan yang mencatat log di sekitar jalur penandatanganan harus mencatat field struktural, bukan byte dokumen.

KlaimStandarKlausa
Tanda tangan CMS disimpan berpenyandian DER di entri Contents dictionary tanda tangan.ISO 32000-2§12.8.1
Proses komputasi message digest; atribut-tertanda membawa content-type dan message-digest.RFC 5652§5.4
Pemverifikasi tidak boleh mengandalkan digest yang dihitung pengirim; ia menghitung ulang secara mandiri dan membandingkan (proses verifikasi tanda tangan).RFC 5652§5.6
SignerInfo membawa pengenal algoritma-digest dan blok atribut-tertanda.RFC 5652§5
Sebuah permintaan tanda waktu mengembalikan struktur TSTInfo.RFC 3161§2.4.1
Sebuah serialNumber tanda waktu unik per token dari TSA tertentu.RFC 3161§2.4.2
genTime tanda waktu adalah instan UTC saat token dibuat.RFC 3161§2.4.2
Sebuah signature-time-stamp PAdES B-T adalah atribut tak-tertanda yang membawa satu token tanda waktu yang dihitung atas nilai tanda tangan digital untuk seorang penanda tangan (Pro memproduksi B-T).ETSI EN 319 122-1§5.3
Imprint signature-time-stamp adalah hash dari nilai field tanda tangan SignerInfo dengan tag dan panjang ASN.1 dikecualikan.ETSI EN 319 122-1§5.3
Token signature-time-stamp menggunakan OID id-aa-timeStampToken; MessageImprint-nya adalah hash dari nilai field tanda tangan SignerInfo.RFC 3161Appendix A
Pada sisi verifikasi, NextPDF mengikat MessageImprint dari sebuah signature-time-stamp ke nilai tanda tangan SignerInfo dan gagal-tertutup pada ketidakcocokan, token yang hilang/terduplikasi, atau imprint SHA-1 (verifikasi ketat, bukan sertifikasi).RFC 3161Appendix A
ESSCertIDv2 menggantikan ESSCertID legacy yang terikat SHA-1; jalur B-T ketat mewajibkan ESSCertIDv2.RFC 5816§1
Validasi jalur sertifikasi memeriksa basic constraints dan input jalur ke trust anchor.RFC 5280§6.1
OCSP melaporkan certStatus sebagai good, revoked, atau unknown.RFC 6960§2.2
Kesegaran status OCSP dibatasi oleh thisUpdate dan nextUpdate.RFC 6960§4.2
B-LT dan B-LTA menambahkan Document Security Store dan tanda waktu dokumen untuk validasi jangka panjang (batas Enterprise).ETSI EN 319 142-2§5.5
Sebuah signature handler yang memproduksi level jangka-panjang mendukung entri DSS dan tanda waktu dokumen (batas Enterprise).ETSI EN 319 142-2§6.3.3.3

Semua klausa diparafrasa. NextPDF tidak mereproduksi teks normatif. Konsultasikan standar yang diterbitkan untuk redaksi otoritatif. NextPDF Pro mengimplementasikan dukungan penandatanganan PAdES B-T sesuai ETSI EN 319 122-1 §5.3 (signature-time-stamp), RFC 3161, RFC 5652, dan RFC 5816, serta telah diverifikasi-fixture. ETSI EN 319 142-1 (bagian level-baseline PAdES) berada di luar rangkaian bukti yang dikutip; NextPDF Pro oleh karena itu tidak menyatakan sertifikasi, konformansi, atau kepatuhan ETSI EN 319 142-1 independen, dan tidak menyatakan validitas hukum dokumen. Halaman ini menyatakan struktur yang diproduksi, standar yang diimplementasikan dukungan B-T, dan batas B-LT/B-LTA Enterprise, bukan level konformansi tersertifikasi.