Enterprise phiên bản
Pháp y số
Tổng quan nhanh
Phần tiêu đề “Tổng quan nhanh”NextPDF Enterprise Forensics đọc lịch sử cập nhật tăng dần của một PDF và tạo ra một báo cáo có cấu trúc, chỉ đọc về các phiên bản, các sự kiện đã phân loại, và các thay đổi theo từng đối tượng. Nó hỗ trợ các quy trình phân tích pháp y. Nó không phải là một dấu niêm phong chống giả mạo và không khẳng định rằng một tài liệu là xác thực hay chưa bị thay đổi.
Tính khả dụng & cấp phép
Phần tiêu đề “Tính khả dụng & cấp phép”Năng lực này đi kèm trong NextPDF Enterprise (nextpdf/enterprise) và kích hoạt bằng một phong bì giấy phép bậc Enterprise. Một triển khai không có quyền sử dụng đó sẽ không nạp các lớp của năng lực này. So sánh các phiên bản và nhận giấy phép.
Cài đặt
Phần tiêu đề “Cài đặt”composer require nextpdf/enterprise:^3Tổng quan khái niệm
Phần tiêu đề “Tổng quan khái niệm”Một PDF có thể được cập nhật bằng cách nối các thay đổi vào cuối tệp thay vì ghi lại nó. Mỗi lần cập nhật thêm một cross-reference section mới và một trailer mới, còn các byte gốc được giữ nguyên tại chỗ — ISO 32000-2:2020 §7.5.6. Khi một đối tượng bị thay đổi, lần cập nhật nối một bản sao mới và cross-reference section của lần cập nhật ghi lại một byte offset thay thế offset cũ hơn; một trình đọc phân giải bản sao gần nhất — ISO 32000-2:2020 §7.5.6. Cấu trúc tệp ban đầu có thể bị các lần cập nhật sau sửa đổi — ISO 32000-2:2020 §7.5.4. Cross-reference section của một lần cập nhật chỉ liệt kê các đối tượng đã được thêm, sửa, hoặc xóa trong lần cập nhật đó — ISO 32000-2:2020 §7.5.5.
Trình phân tích đọc cấu trúc phân lớp này. Nó phân tích bảng cross-reference của mỗi phiên bản, suy ra các ranh giới byte của phiên bản, và so sánh các mục của mỗi phiên bản với phiên bản cũ hơn kế tiếp để phân loại mọi đối tượng là đã thêm, đã sửa, hoặc đã xóa. Sau đó nó nhóm các thay đổi đối tượng thành các sự kiện ở mức cao hơn: một chữ ký đã được thêm, document catalog đã được cập nhật, một encryption dictionary đã xuất hiện, hoặc một tập đối tượng đã được thêm, sửa, hoặc loại bỏ. Đầu ra là một đối tượng báo cáo mang theo một số đếm phiên bản, tổng kích thước, một danh sách tóm tắt theo từng phiên bản, một dòng thời gian sự kiện đã phân loại, và danh sách thay đổi theo từng đối tượng.
Trình phân tích là chỉ đọc. Nó phát hiện sự tồn tại của một phiên bản chữ ký từ các dấu hiệu cấu trúc; nó không xác thực bất kỳ chữ ký nào, không tính lại bất kỳ bản băm nào, hay kiểm tra bất kỳ chứng chỉ nào. Việc xác thực chữ ký là một năng lực riêng của Core. Một báo cáo được tạo ra là một mô tả cấu trúc của lịch sử cập nhật như đã được phân tích; nó không phải là một sự xác định rằng một tài liệu là xác thực, rằng một thay đổi là trái phép, hay rằng mọi sửa đổi đều được phát hiện. Hãy coi báo cáo là việc phát hiện dấu vết giả mạo như được kiểm thử so với góc nhìn của trình phân tích về chuỗi phiên bản, không phải một bảo đảm pháp y hay một chứng thực được tòa án chấp nhận.
Vì sao nó hoạt động theo cách này
Phần tiêu đề “Vì sao nó hoạt động theo cách này”Trình phân tích cố ý dừng lại ở cấu trúc. Nó báo cáo những gì chuỗi phiên bản chứa, và không bao giờ khẳng định rằng một thay đổi là hợp lệ hay một chữ ký hợp lệ. Sự hiện diện về cấu trúc và tính hợp lệ về mật mã là những tuyên bố khác nhau; gộp chúng lại sẽ khiến một bên gọi nhầm dấu vết giả mạo thành một bảo đảm. Vì vậy tính hợp lệ của chữ ký vẫn thuộc về bề mặt ký duy nhất của Core, thứ mà Forensics kết hợp với chứ không nhân bản. Báo cáo là siêu dữ liệu cấu trúc có thể tuần tự hóa JSON, nên một SIEM nhập lịch sử chỉnh sửa mà không chạm vào nội dung tài liệu. Bối cảnh thiết kế: Cập nhật tăng dần và vì sao chúng quan trọng.
Bề mặt API
Phần tiêu đề “Bề mặt API”| Kiểu | Loại | Vai trò | Độ ổn định | Từ |
|---|---|---|---|---|
ForensicAnalyzer | class | Phân tích một PDF và trả về một báo cáo pháp y (analyze tĩnh) | ổn định | 1.10.0 |
ForensicReport | class | Kết quả phân tích; JsonSerializable để xuất sang SIEM | ổn định | 1.10.0 |
RevisionSummary | class | Các dữ kiện theo từng phiên bản: số đối tượng, kích thước, ranh giới byte, các cờ hiện diện | ổn định | 1.10.0 |
ForensicEvent | class | Một sự kiện đã phân loại với một danh sách đối tượng bị ảnh hưởng | ổn định | 1.10.0 |
ForensicEventType | enum | Các loại sự kiện (chữ ký được thêm, catalog được cập nhật, đối tượng được thêm, và các loại khác) | ổn định | 1.10.0 |
ObjectChange | class | Bản ghi thay đổi của một đối tượng qua hai phiên bản | ổn định | 1.10.0 |
ObjectChangeType | enum | Added, Modified, hoặc Deleted | ổn định | 1.10.0 |
ForensicReport phơi bày hasIncrementalUpdates(), hasAnySignature(), getEventsByType(), getChangesForRevision(), và jsonSerialize(). Cờ hasSignature trên một bản tóm tắt phiên bản là một tín hiệu hiện diện về cấu trúc, không phải một kết quả về tính hợp lệ.
Mẫu mã — Bắt đầu nhanh
Phần tiêu đề “Mẫu mã — Bắt đầu nhanh”<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Enterprise\Forensics\ForensicAnalyzer;
/** * Produce a forensic report from PDF bytes. * * @param string $pdfData Raw PDF file bytes. * * @return array{revisions: int, incremental: bool, signedRevisionPresent: bool} */function inspect(string $pdfData): array{ $report = ForensicAnalyzer::analyze($pdfData);
return [ 'revisions' => $report->revisionCount, 'incremental' => $report->hasIncrementalUpdates(), 'signedRevisionPresent' => $report->hasAnySignature(), ];}hasAnySignature() báo cáo rằng một phiên bản chữ ký hiện diện trong cấu trúc. Nó không nêu rằng chữ ký là hợp lệ.
Mẫu mã — Sản phẩm
Phần tiêu đề “Mẫu mã — Sản phẩm”<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Enterprise\Forensics\ForensicAnalyzer;use NextPDF\Enterprise\Forensics\ForensicEventType;use Psr\Log\LoggerInterface;
final readonly class RevisionAuditor{ public function __construct(private LoggerInterface $logger) {}
/** * Analyze a document and emit a structural JSON record for the SIEM. * * @param string $pdfData The PDF bytes to inspect. * * @return string A JSON forensic report (no document content). */ public function audit(string $pdfData): string { try { $report = ForensicAnalyzer::analyze($pdfData);
$this->logger->info('Forensic analysis complete', [ 'revisions' => $report->revisionCount, 'sizeBytes' => $report->totalSizeBytes, 'signatureAddedEvents' => count( $report->getEventsByType(ForensicEventType::SignatureAdded), ), ]);
return json_encode($report, JSON_THROW_ON_ERROR); } catch (\Throwable $e) { $this->logger->error('Forensic analysis failed', ['error' => $e->getMessage()]);
throw $e; } }}Bản ghi nhật ký chỉ mang theo các số đếm và kích thước. Nó không mang theo văn bản tài liệu. Khối catch ném lại; nó không nuốt một lỗi phân tích.
Trường hợp biên & điều cần lưu ý
Phần tiêu đề “Trường hợp biên & điều cần lưu ý”- Một tài liệu một-phiên-bản không có lịch sử tăng dần. Danh sách thay đổi rỗng; đây không phải là bằng chứng về tính xác thực.
- Một sự kiện
SignatureAddednghĩa là một phiên bản chữ ký hiện diện về cấu trúc. Nó không phải là một kết quả về tính hợp lệ của chữ ký. Hãy xác thực chữ ký bằng bề mặt ký của Core. - Việc tái sử dụng đối tượng là bình thường: một đối tượng được cập nhật giữ số đối tượng của nó và một bản sao mới được nối thêm. Trình phân tích báo cáo điều này là
Modified, không phải loại bỏ và tạo lại. - Một phân loại
Deletedlà một chuyển tiếp free-entry trong chuỗi cross-reference. Một trình đọc vẫn có thể phân giải một bản sao cũ hơn của đối tượng đó; việc xóa ở mức cấu trúc không bảo đảm tính không thể khôi phục. - Trình phân tích báo cáo những gì trình phân tích đã quan sát. Một tài liệu được chế tạo để gây nhầm lẫn cho một trình phân tích có thể cho ra một báo cáo không khớp với góc nhìn của một công cụ khác. Báo cáo không phải là một tuyên bố rằng mọi sửa đổi đều được phát hiện.
- Đầu vào bị giới hạn. Một tài liệu quá lớn hoặc có quá nhiều phiên bản sẽ fail closed với một ngoại lệ phân tích có kiểu thay vì tiêu thụ bộ nhớ không giới hạn.
Hiệu năng
Phần tiêu đề “Hiệu năng”Chi phí phân tích tỷ lệ với số phiên bản và số đối tượng, không phải với độ phức tạp của trang được kết xuất. Ngân sách thời gian thực thi 1500 ms bao gồm một tài liệu nghiệp vụ nhiều phiên bản điển hình. Hồ sơ khả năng tái lập là structural: báo cáo là tất định cho một đầu vào nhất định, nhưng các byte offset tuyệt đối phản ánh chính tệp đầu vào và không di động được qua các bản sao đã lưu lại.
Lưu ý bảo mật
Phần tiêu đề “Lưu ý bảo mật”Trình phân tích là chỉ đọc và không bao giờ ghi vào đầu vào. Nó là một bề mặt phân tích, không phải một bề mặt biến đổi. Nó phát hiện sự tồn tại của các dấu hiệu chữ ký và mã hóa nhưng không thực hiện thao tác mã hóa nào, nên nó không đưa ra tuyên bố FIPS nào. Một báo cáo mô tả lịch sử cập nhật đã được phân tích; nó không phải là một khẳng định về tính xác thực và không được trình bày như một thứ chống giả mạo, được bảo đảm về mặt pháp y, hay được tòa án chấp nhận. Một người vận hành rút ra các kết luận; thư viện báo cáo cấu trúc.
Lưu trú dữ liệu & biện pháp giảm thiểu PII
Phần tiêu đề “Lưu trú dữ liệu & biện pháp giảm thiểu PII”Việc phân tích chạy trong tiến trình trên máy chủ giữ PDF. Không có nội dung tài liệu nào rời khỏi máy chủ. Báo cáo mang theo các số đối tượng, các chỉ số phiên bản, các kích thước, các ranh giới byte, và các loại sự kiện — siêu dữ liệu cấu trúc, không phải văn bản tài liệu hay dữ liệu cá nhân được phát hiện. Việc liệu PDF đầu vào hay chính báo cáo có chứa dữ liệu cá nhân không, và mỗi thứ được lưu ở đâu, là một trách nhiệm triển khai nằm ngoài ranh giới của thư viện.
Đo từ xa an toàn & làm sạch nhật ký
Phần tiêu đề “Đo từ xa an toàn & làm sạch nhật ký”Thư viện phát sinh các ngoại lệ có kiểu với các thông điệp cấu trúc và không đặt các byte tài liệu vào văn bản ngoại lệ. Một triển khai ghi nhật ký quanh việc phân tích nên ghi nhật ký các số đếm và loại của báo cáo — như trong mẫu sản phẩm — và không được ghi nhật ký payload PDF thô vào nhật ký hay một backend APM. Báo cáo JSON là tạo phẩm an toàn để chuyển tiếp tới một SIEM.
Hành vi ở chế độ FIPS
Phần tiêu đề “Hành vi ở chế độ FIPS”Không có thao tác mã hóa nào diễn ra trong module này, nên không có hành vi đặc thù theo chế độ FIPS. Việc xác thực chữ ký, vốn là mã hóa, là một năng lực riêng của Core và được ghi tài liệu ở đó.
Tính phù hợp
Phần tiêu đề “Tính phù hợp”| Tuyên bố | Tiêu chuẩn | Điều khoản |
|---|---|---|
| Các lần cập nhật sau nối thêm các phần tử bổ sung vào cuối tệp; cấu trúc gốc bị các lần cập nhật sau sửa đổi. | ISO 32000-2:2020 | §7.5.6 |
| Một đối tượng được cập nhật được nối thêm dưới dạng một bản sao mới và mục cross-reference của lần cập nhật thay thế byte offset cũ; trình đọc phân giải bản sao gần nhất. | ISO 32000-2:2020 | §7.5.6 |
| Cấu trúc tệp ban đầu có thể bị các lần cập nhật sau sửa đổi. | ISO 32000-2:2020 | §7.5.4 |
| Cross-reference section của một lần cập nhật chỉ chứa các mục cho các đối tượng đã thêm, sửa, hoặc xóa. | ISO 32000-2:2020 | §7.5.5 |
| Signature dictionary ghi lại những gì được ký. | ISO 32000-2:2020 | §12.8.1 |
| ByteRange xác định khoảng byte mà chữ ký bao trùm (việc xác thực chữ ký là một năng lực riêng của Core). | ISO 32000-2:2020 | §12.8.1 |
| Một Document Security Store chứa tài liệu xác thực dài hạn trong một phiên bản sau. | ISO 32000-2:2020 | §12.8.4 |
Mọi điều khoản đều được diễn giải lại. NextPDF không sao chép nguyên văn văn bản quy phạm. Hãy tham khảo tiêu chuẩn đã xuất bản để có câu chữ chính thức. NextPDF không đưa ra tuyên bố chứng nhận pháp y nào; báo cáo mô tả cấu trúc cập nhật đã được phân tích, không phải một sự xác định đã chứng nhận về tính toàn vẹn của tài liệu.
Hợp đồng hành vi
Phần tiêu đề “Hợp đồng hành vi”- Trình phân tích là chỉ đọc: nó không bao giờ ghi vào tài liệu đầu vào và không thực hiện thao tác mã hóa nào.
- Nó phân tích bảng cross-reference của mỗi phiên bản, suy ra các ranh giới byte của phiên bản, và phân loại mọi đối tượng là đã thêm, đã sửa, hoặc đã xóa, rồi nhóm các thay đổi thành một dòng thời gian sự kiện đã phân loại.
- Một sự kiện
SignatureAddednghĩa là một phiên bản chữ ký hiện diện về cấu trúc; nó không phải là một kết quả về tính hợp lệ của chữ ký — việc xác thực là một năng lực riêng của Core. - Một tài liệu một-phiên-bản có một danh sách thay đổi rỗng (không phải bằng chứng về tính xác thực); một phân loại
Deletedlà một chuyển tiếp free-entry, không bảo đảm tính không thể khôi phục. - Đầu vào bị giới hạn: một tài liệu quá lớn hoặc có quá nhiều phiên bản sẽ fail closed với một ngoại lệ phân tích có kiểu. Báo cáo là việc phát hiện dấu vết giả mạo như được kiểm thử, không phải một bảo đảm pháp y hay một chứng thực được tòa án chấp nhận.
Ranh giới công bố
Phần tiêu đề “Ranh giới công bố”Trang này chỉ ghi tài liệu cho hành vi có thể quan sát được từ bên ngoài và bề mặt API công khai được hỗ trợ. Các đường dẫn namespace nội bộ, các lớp trợ giúp, các bảng cơ chế, các tên tệp runbook, và các tiền tố ticket nằm ngoài phạm vi.
Phương án dự phòng Core
Phần tiêu đề “Phương án dự phòng Core”NextPDF Core (Apache-2.0) không có trình phân tích pháp y lịch sử phiên bản — hoàn toàn không; năng lực này không có phương án tương đương ở bậc Core. Core cung cấp bề mặt xác thực chữ ký có thẩm quyền, vốn được trình phân tích kết hợp nhưng không thay thế.
Phương án dự phòng Pro
Phần tiêu đề “Phương án dự phòng Pro”NextPDF Pro không có trình phân tích pháp y lịch sử phiên bản — hoàn toàn không; năng lực này không có phương án tương đương ở bậc Pro. Việc báo cáo thay đổi theo phiên bản và theo từng đối tượng chỉ đọc và báo cáo SIEM có thể tuần tự hóa JSON chỉ đi kèm trong gói nextpdf/enterprise.
Lưu ý về ranh giới Enterprise
Phần tiêu đề “Lưu ý về ranh giới Enterprise”Trình phân tích phiên bản, việc phân loại thay đổi, và dòng thời gian sự kiện được mô tả ở mức hành vi. Chi tiết nội bộ của trình phân tích và mọi chi tiết phân loại nội bộ nằm ngoài phạm vi của bề mặt công khai. Tính hợp lệ của chữ ký được chủ ý đặt ngoài phạm vi ở đây — đó là trách nhiệm của bề mặt ký của Core.
Ranh giới triển khai
Phần tiêu đề “Ranh giới triển khai”Việc phân tích chạy trong tiến trình trên máy chủ giữ PDF; không có nội dung tài liệu nào rời khỏi máy chủ. Việc liệu PDF đầu vào hay báo cáo có chứa dữ liệu cá nhân không, và mỗi thứ được lưu ở đâu, là một trách nhiệm triển khai nằm ngoài ranh giới của thư viện. Người vận hành rút ra các kết luận từ báo cáo; thư viện báo cáo cấu trúc và không khẳng định tính xác thực của tài liệu.
Ranh giới tuân thủ pháp lý
Phần tiêu đề “Ranh giới tuân thủ pháp lý”Không có hạn chế kiểm soát xuất khẩu nào áp dụng cho bề mặt Forensics. Báo cáo không được trình bày như một thứ chống giả mạo, được bảo đảm về mặt pháp y, hay được tòa án chấp nhận. Tài liệu này không phải là một ý kiến pháp lý; hãy tham vấn các cố vấn tuân thủ và pháp lý của riêng bạn.
Xem thêm
Phần tiêu đề “Xem thêm”- Forensics — Tài liệu tham chiếu chuyên sâu — các quy tắc suy ra ranh giới phiên bản và phân loại thay đổi đối tượng.
- Core signing — bề mặt xác thực chữ ký có thẩm quyền.
- Evidence bundles — các tạo phẩm đầu ra theo chuỗi giám hộ.
- NextPDF Enterprise — toàn bộ bề mặt tính năng Enterprise.
- Core AST — mô hình tài liệu đã được phân tích.
- Incremental update · Cross-reference table · DSS — các thuật ngữ bảng chú giải.