Lewati ke konten

Profil baseline PAdES

Spec: ETSI EN 319 142-1 Spec: ISO 32000-2, §12.8 Spec: RFC 3161 Evidence: Standard-backed

PAdES mendefinisikan empat tingkat baseline — B-B, B-T, B-LT, B-LTA — yang dibangun secara bertingkat. Setiap tingkat menambahkan satu jenis bukti tertentu. Halaman ini menjelaskan progresi tersebut dan membantu Anda memilih tingkat terendah yang tetap memenuhi kewajiban, bukan tingkat tertinggi yang kebetulan Anda kenal namanya.

Orang cenderung memilih “B-LTA” karena terdengar paling menyeluruh, atau “B-B” karena tampak paling sedikit usahanya. Keduanya hanyalah tebakan. Yang menentukan tingkat yang Anda butuhkan bukan preferensi, melainkan satu pertanyaan: berapa lama tanda tangan ini harus tetap dapat diverifikasi, dan oleh siapa? Jika memilih terlalu rendah, tanda tangan yang sah pada hari penandatanganan menjadi tidak dapat diverifikasi ketika sebuah sertifikat kedaluwarsa. Jika memilih terlalu tinggi, Anda menanggung otoritas penanda waktu serta infrastruktur material validasi yang sebenarnya tidak Anda butuhkan, ditambah kewajiban pengarsipan yang harus terus Anda penuhi. Tim yang tidak dapat mengubah tingkat di kemudian hari akan menanggung biaya dari pilihan yang salah.

  • Keempat tingkat ini bersifat kumulatif. Setiap tingkat adalah tingkat sebelumnya ditambah satu elemen.
  • B-B — tanda tangan beserta atribut tertandatangani yang wajib. Membuktikan siapa dan apa.
  • B-TB-B ditambah penanda waktu tepercaya pada tanda tangan. Membuktikan kapan, tanpa bergantung pada jam penanda tangan.
  • B-LTB-T ditambah material validasi tertanam (sertifikat dan data pencabutan). Dokumen membawa sendiri bukti bahwa sertifikat tersebut sah pada saat penandatanganan.
  • B-LTAB-LT ditambah penanda waktu dokumen, yang diulang dari waktu ke waktu. Menjaga keseluruhannya tetap dapat diverifikasi selama puluhan tahun dan melewati perubahan algoritma.
  • Pilih tingkat berdasarkan masa berlaku kewajiban, bukan berdasarkan apa yang terlihat paling aman.

NextPDF memodelkan tingkat sebagai pilihan yang eksplisit dan berurutan, serta tidak berpura-pura. Anda meminta sebuah tingkat. Mesin menghasilkan persis tingkat itu atau gagal dengan kesalahan yang dapat ditindaklanjuti. Mesin tidak diam-diam menandatangani pada tingkat yang lebih rendah lalu membiarkan catatan kepatuhan mengeklaim tingkat yang lebih tinggi. Desain ini sengaja dibuat untuk mencegah penurunan diam-diam dari permintaan B-LTA menjadi B-T ketika infrastrukturnya tidak ada. Persyaratan setiap tingkat dikodekan sebagai predikat: apakah penanda waktu diperlukan, apakah material validasi tertanam diperlukan, apakah penanda waktu dokumen diperlukan. Mesin menelusuri predikat-predikat tersebut lalu memenuhinya atau berhenti.

Progresi di bawah ini sama dengan progresi yang ditegakkan oleh mesin dan didefinisikan oleh standar.

TingkatTambahan dari tingkat sebelumnyaPertanyaan yang dijawabnyaKebutuhan deployment Anda
B-BAtribut tertandatangani: content-type, message-digest, signing-time, signing-certificate-v2Siapa yang menandatangani, dan byte persis mana?Sebuah kunci penandatanganan dan sertifikat
B-TPenanda waktu tepercaya atas nilai tanda tanganKapan ini ditandatangani, dan dapat dibuktikan?Sebuah Time-Stamp Authority (TSA)
B-LTSertifikat tertanam + data pencabutan (sebuah DSS)Apakah sertifikat sah pada saat penandatanganan — dan dapat dibuktikan kemudian?TSA + akses ke data pencabutan pada saat penandatanganan
B-LTAPenanda waktu dokumen, yang dapat diperbarui dari waktu ke waktuApakah ini masih dapat diverifikasi dalam puluhan tahun?TSA + proses pengarsipan yang melakukan penandaan waktu ulang

Lompatan yang paling penting adalah dari B-T ke B-LT. B-T membuktikan kapan. B-LT membuat dokumen mandiri dari sisi kepercayaan: dokumen tidak lagi bergantung pada otoritas sertifikat yang masih harus dapat dijangkau dan menjawab pertanyaan bertahun-tahun kemudian.

  1. Step 1 of 4: ISO 32000-2 §12.8 — signatures, LTV, document timestamp
  2. Step 2 of 4: ETSI EN 319 142-1 PAdES baseline levels B-B…B-LTA
  3. Step 3 of 4: RFC 3161 Timestamp token (introduced at B-T)
  4. Step 4 of 4: RFC 6960 OCSP revocation evidence (embedded at B-LT)
Standar di balik progresi PAdES: ISO 32000-2 mendefinisikan bagaimana tanda tangan dan material validasi berada di dalam PDF; ETSI EN 319 142-1 mendefinisikan tingkat-tingkat baseline; RFC 3161 mendefinisikan penanda waktu yang diperkenalkan oleh B-T; RFC 6960 mendefinisikan bukti pencabutan yang ditanamkan oleh B-LT.

Evidence: Standard-backed Definisi tingkat berasal dari ETSI. Spec: ETSI EN 319 142-1 mendefinisikan tingkat-tingkat baseline PAdES tersebut; Spec: ETSI EN 319 142-2, §5.3 menunjukkan signature-time-stamp sebagai elemen opsional yang keberadaannya membedakan tingkat yang diberi penanda waktu dari B-B, dan Spec: ETSI EN 319 142-2, §6.3.2.2 menyatakan bahwa penanda waktu tepercaya harus diterapkan segera setelah tanda tangan dibuat, sehingga waktu yang tercatat berada sedekat mungkin dengan waktu penandatanganan yang sebenarnya. Spec: ETSI EN 319 142-2, §5.5 menyatakan bahwa perilaku jangka panjang memerlukan baik sebuah Document Security Store maupun penanda waktu dokumen — yaitu tambahan B-LT dan B-LTA.

Dari sisi kontainer, acuannya adalah Spec: ISO 32000-2, §12.8.3.3 : tanda tangan PAdES merupakan profil CAdES CMS yang dipadukan dengan validasi jangka panjang (§12.8.4) dan kamus penanda waktu dokumen (§12.8.5), persis seperti yang dijelaskan ETSI EN 319 142-1. Alasan B-LT penting terlihat pada Spec: RFC 6960, §4.4.4 : bukti pencabutan yang diarsipkan membantu validator menilai keandalan tanda tangan pada waktu produksi, bahkan setelah sertifikat yang digunakan untuk validasi telah kedaluwarsa. Itulah inti dari penanamannya.

Mesin NextPDF mengodekan setiap tingkat sebagai predikat persyaratan dan menghasilkan tingkat yang diminta atau gagal — mesin tidak mengeklaim tingkat yang tidak dibangunnya.

API mencerminkan progresi ini: Anda menyebutkan tingkatnya, dan mesin memperlakukannya sebagai kontrak.

<?php
declare(strict_types=1);
use NextPDF\Security\Signature\SignatureLevel;
// The level is an explicit, ordered choice — not a flag you hope is honoured.
$level = SignatureLevel::PAdES_B_T;
// The level itself tells you what it requires, before you sign:
$level->requiresTimestamp(); // B-T and above → true
$level->requiresDss(); // B-LT and above → true
$level->requiresDocumentTimestamp(); // B-LTA only → true
// Ask for B-LTA only if the deployment can actually fulfil it.
// The engine produces exactly the requested level or fails with an
// actionable error — it never silently signs lower and reports higher.

Jika Anda meminta B-LTA dan deployment tidak dapat menyediakan apa yang dibutuhkan B-LTA, perilaku standarnya adalah gagal dan memberi tahu Anda tingkat tertinggi yang dapat dicapainya — bukan diam-diam mengembalikan berkas B-T yang dilabeli B-LTA.

Jebakannya adalah “B-LTA itu hanya yang terbaik, selalu pilih saja.” B-LTA tidak lebih baik secara abstrak; ia lebih banyak, dan tambahan itu membawa kewajiban. Ia memerlukan otoritas penanda waktu, material pencabutan yang dikumpulkan pada saat penandatanganan, dan proses pengarsipan berkelanjutan yang melakukan penandaan waktu ulang pada dokumen sebelum algoritma pelindung atau sertifikat penanda waktunya melemah. Berkas B-LTA yang tidak pernah ditanda-waktui ulang oleh siapa pun tidak siap menghadapi masa depan — ia adalah berkas B-LT dengan prosedur tambahan. Sebaliknya, B-B untuk kontrak yang harus bertahan satu dekade bukanlah “ringan”; ia adalah tanda tangan yang akan gagal validasi pada hari sertifikatnya kedaluwarsa. Tingkat yang tepat adalah tingkat yang dibutuhkan oleh kewajiban, tidak lebih tinggi dan tidak lebih rendah.

NextPDF menghasilkan tingkat PAdES yang diminta; ia tidak menyediakan pihak-pihak yang menjadi sandaran tingkat tersebut. Otoritas penanda waktu, rantai sertifikat, jangkar kepercayaan, dan konektivitas untuk mengambil data pencabutan pada saat penandatanganan adalah tanggung jawab deployment. Mesin mengimplementasikan struktur dan menegakkan kontrak tingkat; ia tidak dapat membuat sebuah TSA menjadi tepercaya atau sebuah sertifikat menjadi sah. Struktur yang dihasilkan membawa elemen-elemen yang dibutuhkan tingkat tersebut, diverifikasi melalui pengujian mesin itu sendiri dan klausa-klausa yang dikutip. Ini bukanlah sertifikasi kesesuaian pihak ketiga, dan halaman ini tidak menyatakan efek hukum eIDAS, yang bergantung pada sertifikat, penanda tangan, dan yurisdiksi. Pembahasan tentang apakah waktu penandatanganan dipercaya secara independen ada dalam Penanda waktu dan waktu tepercaya; bagaimana bukti jangka panjang menjaga sebuah tanda tangan tetap dapat diverifikasi dibahas dalam Validasi jangka panjang.

Beberapa batasan berikut menetapkan ekspektasi secara tepat:

  • B-LT dan B-LTA menghasilkan struktur validasi jangka panjang, bukan putusan kesesuaian. Yang ditulis mesin adalah kamus Document Security Store ditambah revisi penanda waktu dokumen — sebuah kamus tanda tangan dengan Type = DocTimeStamp sesuai Spec: ISO 32000-2, §12.8 . Struktur tersebut tidak dinyatakan di sini sebagai telah teruji kesesuaian profil; pemeriksaan profil ETSI EN 319 142-1 menjadi gerbang rilis pada jalur CI Pro dan Enterprise, sehingga halaman ini tidak mengeklaim kesesuaian ETSI EN 319 142-1 untuk berkas yang dihasilkan.
  • Dokumen terenkripsi gagal-tertutup untuk B-LT dan B-LTA. Permintaan tingkat jangka panjang pada dokumen terenkripsi berhenti dengan kesalahan yang dapat ditindaklanjuti alih-alih menulis revisi jangka panjang yang parsial.

Ketersediaan tier untuk setiap level — keempatnya dijangkau melalui seam tingkat tinggi yang sama, setSignature($cert, SignatureLevel::PAdES_B_LTA, $tsaClient)->save():

PAdES baseline level — edition availability
Edition Availability
Core

PAdES B-B — baseline atribut-tertandatangani; seam Core.

Pro

Menambahkan PAdES B-T — penanda waktu tepercaya pada nilai tanda tangan, yang digerakkan oleh sebuah TsaClient.

Enterprise

Menambahkan PAdES B-LT dan B-LTA — material validasi tertanam (DSS) dan loop pengarsipan penanda waktu dokumen yang dapat diperbarui. Keduanya berjalan melalui seam tingkat tinggi yang sama, tetapi hanya ketika kedua paket Pro dan Enterprise terpasang; jika salah satu tidak ada, panggilan gagal-tertutup alih-alih menulis revisi jangka panjang yang parsial.

  • PAdES — PDF Advanced Electronic Signatures; seri ETSI EN 319 142 yang menetapkan profil tanda tangan CMS untuk PDF.
  • Tingkat baseline — salah satu dari B-B, B-T, B-LT, B-LTA; sekumpulan elemen tanda tangan wajib yang terdefinisi dan kumulatif.
  • B-B — tanda tangan baseline beserta atribut tertandatangani yang wajib.
  • B-TB-B ditambah penanda waktu tepercaya pada nilai tanda tangan.
  • B-LTB-T ditambah material validasi jangka panjang tertanam (sebuah DSS).
  • B-LTAB-LT ditambah penanda waktu dokumen yang dapat diperbarui untuk keabsahan arsip.
  • DSS — Document Security Store; struktur PDF yang menyimpan sertifikat tertanam dan data pencabutan.
  • TSA — Time-Stamp Authority; layanan tepercaya yang menerbitkan token penanda waktu RFC 3161.