DS08 — Bảng chữ ký và neo Hash

Điểm kích hoạt S4, phần tiếp theo

Đồ họa được định vị (DS07) hiển thị bản vẽ — chứ không chứng minh nó. Bằng chứng đến từ bảng chữ ký: khối mã hóa nhìn thấy được, nơi liên kết chứng thư số, hash và dấu thời gian vào tệp PDF. E1 hỏi: Đồ họa được gắn vào tài liệu về mặt mật mã như thế nào — và làm sao điều này vẫn xác minh được ngay trong repo?

Giải phẫu bảng chữ ký

Bảng chữ ký (Signature Plate, kiểu DocuSign) là một trường hiển thị trong PDF, nằm cạnh đồ họa:

┌──────────────────────────────────────────────┐
│ ____________________________DS                │
│ [Facsimile-Grafik, height=40]                 │
│ Erich Mustermann                    │
│ Geschäftsführer, handelnd für …               │
│ ─────────────────────────────────────────────│
│ ▒ SIGNATURPLATTE (PAdES)                      │
│ Zertifikat: CN=Erich Mustermann (E1)       │
│   SHA-1-Fingerprint: a1b2c3… (angezeigt)      │
│   Aussteller: …                               │
│   Gültigkeit: 2026-09-13 … 2028-09-13         │
│ Dokument-Hash (SHA-256): 3f9a…e21b            │
│ Zeitstempel (TSA): 2026-09-13T15:20:00Z       │
│ Signatur-Format: PAdES-B-T                    │
└──────────────────────────────────────────────┘

Ba điểm neo

1. Hash tài liệu (Tính toàn vẹn)

Chữ ký mật mã (PAdES) liên kết với SHA-256 của nội dung tài liệu PDF (Byte-Range-Hash). Mọi thay đổi sau đó trên PDF sẽ làm mất hiệu lực chữ ký — tiêu chí (b) của eIDAS được đáp ứng.

2. Chứng thư số (Gán nguồn gốc)

Chứng thư chữ ký liên kết khóa ký với một danh tính (CN, đơn vị tổ chức, có thể thuộc loại đủ điều kiện). Tiêu chí (a) của eIDAS được đáp ứng. Chứng thư được hiển thị (Fingerprint, bên phát hành) — người kiểm tra có thể đọc được danh tính mà không cần công cụ mật mã.

3. Dấu thời gian (Tính thời gian)

Một dấu thời gian TSA (Trust Service Provider) gắn thời điểm ký với một nguồn thời gian độc lập — quan trọng cho Long-Term-Validation (LTV). Dấu thời gian uuidV7 trong tài liệu chữ ký (Phần I) vẫn là bằng chứng thời gian nguyên sinh trong repo; TSA là bằng chứng thời gian chính thức.

Chuỗi Hash: Tài liệu nguồn → Tài liệu chữ ký → PDF

Trọng tâm của việc gắn nối là một chuỗi Hash được neo xuyên suốt mọi tầng:

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR A["Quell-Dokument (MD)
sha256 T"] --> B["Signatur-Doc
target.sha256 = T"] B --> C["[FES](../../glossar.html#fes "Fortgeschrittene elektronische Signatur — Glossar")-Dienst
rendert PDF aus Quell-Dokument"] C --> D["PDF (PAdES)
Byte-Range-Hash P"] D --> E["Signaturplatte
zeigt P + Zertifikat + TSA"] B --> F["Envelope-Report (DS09)
sha256(P) = verifiziert"]

Xác minh (nguyên sinh trong repo):

# 1. Quell-Dokument unverändert?
sha256sum source.md                          # = T
# 2. PDF-Hash stimmt mit Envelope-Report?
sha256sum fes-output.pdf                     # = P (im Report)
# 3. PDF-Signatur kryptographisch intakt? (externes Tool)
pdfsig fes-output.pdf                        # VALID, PAdES-B-T

Định dạng chữ ký: PAdES

Định dạng Nền tảng mang Cách dùng trong GitCover
PAdES PDF Tiêu chuẩn cho quy trình FES với Facsimile-Layer (Phần II)
XAdES XML Không điển hình trong ngữ cảnh repo
CAdES generic Các dịch vụ FES với cấu trúc Envelope riêng

Các cấp PAdES (liên quan đến Saga):

Facsimile và liên kết mật mã: phân công vai trò

Tầng Nền tảng mang Chức năng chứng minh
Đồ họa hiển thị (Facsimile) SVG/PNG trong Layer Làm dấu nhận biết (§ 126b (3), § 371a ZPO: kèm tên)
Chữ ký mật mã PAdES-Byte-Range-Hash Tính toàn vẹn (eIDAS (b), (d))
Chứng thư số Bảng chữ ký Gán nguồn gốc (eIDAS (a))
Dấu thời gian TSA Bảng chữ ký Tính thời gian (eIDAS LTV)
Chuỗi repo Tài liệu chữ ký + Events Tài liệu quy trình, thủ tục xác minh (DS04)

Không một yếu tố đơn lẻ nào tự mình gánh vác — sự kết hợp giữa đồ họa, mật mã và chuỗi repo mới là giá trị chứng minh. Đó là thông điệp cốt lõi của Saga: GitCover không thay thế DocuSign, mà neo giữ nó.

Manifest xác minh

Container GCPN (DS05) nhận một manifest verification tổng hợp tất cả các hash:

{
  "verification": {
    "ur_doc_sha256": "T",
    "signature_doc_sha256": "…",
    "events_sha256": ["…", "…"],
    "facsimile_sha256": "8fcffe0b…1006",
    "facsimile_guid": "01a09b48-4580-76f9-b789-024691b989c5",
    "pdf_sha256": "P",
    "pdf_signature_format": "PAdES-B-T",
    "tsa_timestamp": "2026-09-13T15:20:00Z",
    "verified_at": "2026-09-13T16:00:00Z",
    "verified_by": "E1"
  }
}

Tóm tắt


Đã tạo: 260913 | Phần II, bài DS08 | Loạt bài: digital-signage