DS04 — Lập mục lục Sidecar và chuỗi xác minh
Điểm kích hoạt S2, tiếp theo
Người kiểm tra ngồi trước màn hình — không có Git-Client, không có quyền truy cập repo vào lịch sử, chỉ có thư mục làm việc của repo tenant (hoặc một bản xuất của nó). Cần kiểm tra: Tài liệu có xác thực không, ai đã ký nó, chuỗi có nguyên vẹn không?
Bộ xác minh
Trong thư mục của vụ việc có:
260825-shareholder-meeting-resolution.md (Quell-Dokument)
260825-shareholder-meeting-resolution.md.gc.md (Sidecar Quell-Dokument)
260913_signature-doc.json (Signatur-Doc, DS02)
260913_signature-doc.json.gc.md (Sidecar Signatur-Doc)
260913_event-accepted.json (Event 1, DS03)
260913_event-signed.json (Event 2, DS03)
260913_event-signed.json.gc.md (Sidecar Events)
E1.Signature.transparent.FES.svg ([Facsimile](../../glossar.html#facsimile "Facsimile-Unterschrift — Glossar")-Grafik)
E1.Signature.transparent.FES.svg.gc.md (Sidecar Grafik)
Quy trình xác minh
Bước 1: Tính toàn vẹn của tài liệu nguồn
sha256sum 260825_GVB_*.md
# → muss mit .sha256 im Sidecar 260825_*.md.gc.md übereinstimmen
jq -r '.sha256' 260825_*.md.gc.md
Sai lệch = tài liệu nguồn đã bị thay đổi sau khi tạo Sidecar → chuỗi bị phá vỡ.
Bước 2: Tham chiếu Signatur-Doc
jq -r '.target.sha256' 260913_signature-doc.json
# → muss mit der Quell-Dokument-SHA (Schritt 1) übereinstimmen
Signatur-Doc gắn với một phiên bản cụ thể — không phải với "tài liệu theo kiểu nào đó".
Bước 3: Chuỗi Event
for f in 260913_event-*.json; do
jq -r '"\(.event) | \(.uuidV7) | prev=\(.prev_event_sha256)"' "$f"
done
# Kette prüfen: prev von ev2 == sha256(ev1)?
Bước 4: Đồ họa Facsimile
sha256sum E1.Signature.transparent.FES.svg
# → muss mit evidence.facsimile_ref.sha256 im Signatur-Doc und im Event übereinstimmen
# → muss mit der Tabelle in PARTNER-ORG-repo/top/signature-block.md übereinstimmen
Hash SHA-256 LÀ bằng chứng về tính nguyên bản — không phải dấu GUID. SHA-256 nhận diện đồ họa luôn luôn và ở mọi nơi: tài liệu nguồn (và đồ họa) có thể di chuyển (tệp được dịch chuyển, sao chép, lưu dưới tên khác) — việc nhận diện vẫn tồn tại qua mã SHA-256, vì nó được tính từ nội dung và độc lập với đường dẫn/tên. Ngược lại, dấu GUID (01a09b48-4580-76f9-b789-024691b989c5) chỉ là một thuộc tính đính kèm: có thể tái tạo tất định từ ts+sha (gc-v7guid gen-doc) và hữu ích như một tham chiếu được ghi lại — nhưng tính nguyên bản và việc nhận diện chỉ do SHA-256 (và chuỗi SHA-256 của các artefact) đảm nhiệm, không phải dấu GUID.
Bước 5: Lập mục lục Sidecar
jq -r '.v7g_taxonomy[].taxonomy' *.gc.md | sort | uniq
# → Klassen der beteiligten Artefakte (SIGNATURE_DOC, SIGNATURE_EVENT, SIGNATURE_GRAPHIC)
jq -r '.obsolescence.status' *.gc.md
# → alle "active"? Abweichung = Artefakt ist obsolete/superseded
Chuỗi xác minh dưới dạng sơ đồ
sha256 T"] --> B["Sidecar Quell-Dokument
sha256(T)"] A --> C["Signatur-Doc
target.sha256 = T"] C --> D["Sidecar
sha256(C)"] C --> E["Event offered
prev=null"] E --> F["Event accepted
prev=sha(E)"] F --> G["Event signed
prev=sha(F)"] G --> H["Facsimile-Grafik
sha256 + guid-Stempel"] D -.-> I["Prüfer: sha256sum + jq
alle Referenzen prüfen"] B -.-> I H -.-> I style I fill:#e8eef7,stroke:#2c5282
Tại sao không có lịch sử Git?
Ba lý do để kiểm tra độc lập với lịch sử:
- Kịch bản xuất — người kiểm tra nhận được bản sao thư mục (ZIP, gói container, DS10), không phải repo. Lịch sử sẽ không có trong đó.
- Khả năng truy xuất GoBD — chuỗi bằng chứng phải vẫn tồn tại ngay cả khi công cụ không còn phổ biến sau 10 năm nữa. SHA-256, JSON và Markdown bền vững theo thời gian.
- Tính độc lập của các cấp bằng chứng — lịch sử Git là bằng chứng bổ sung, không phải duy nhất. Chuỗi (Sidecar + Event + đồ họa) tự đứng vững.
Các dạng lỗi và ý nghĩa của chúng
| Phát hiện | Ý nghĩa | Hệ quả |
|---|---|---|
| SHA-256 của tài liệu nguồn ≠ Sidecar | Tài liệu nguồn bị thay đổi về sau | Chuỗi bị phá vỡ; tài liệu nguồn không hợp lệ cho chữ ký này |
| Signatur-Doc tham chiếu SHA tài liệu nguồn sai | Chữ ký gắn với phiên bản sai | Signatur-Doc không hợp lệ (phiên bản mới → Signatur-Doc mới) |
| Chuỗi Event bị thiếu (prev thiếu/không nhất quán) | Vụ việc chưa đầy đủ | Giá trị bằng chứng bị giảm; thiếu bằng chứng về trạng thái trung gian |
| SHA đồ họa ≠ bảng trong SIGNATURE_BLOCK.md | Đồ họa sai/bị thao túng | Facsimile không hợp lệ — ảnh hưởng đến cấp chữ ký |
Sidecar obsolescence.status ≠ active |
Artefact đã obsolete/superseded | Người kiểm tra kiểm tra artefact kế nhiệm (superseded_by) |
Tóm tắt
- Quy trình xác minh độc lập với lịch sử (sha256sum + jq là đủ) và bền vững theo thời gian (JSON, SHA-256, V7GUID — không phụ thuộc công cụ).
- Mỗi sai lệch của một mắt xích trong chuỗi đều có ý nghĩa và hệ quả được định nghĩa.
- SHA-256 là bằng chứng về tính nguyên bản và việc nhận diện — luôn luôn và ở mọi nơi, ngay cả khi tài liệu nguồn/đồ họa di chuyển (độc lập với đường dẫn/tên); dấu guid chỉ là một thuộc tính tham chiếu được ghi lại, có thể tái tạo tất định.
- Bài viết tiếp theo (DS05): container chữ ký GCPN gói tất cả các artefact.
Đã tạo: 260913 | Phần I, Bài DS04 | Chuỗi: digital-signage