Enterprise sürüm
Adli analiz
Bir bakışta
“Bir bakışta” başlıklı bölümNextPDF Enterprise Forensics, bir PDF’in artımlı-güncelleme geçmişini okur ve revizyonların, sınıflandırılmış olayların ve nesne başına değişikliklerin yapılandırılmış, salt okunur bir raporunu üretir. Adli analiz iş akışlarını destekler. Kurcalamaya karşı korumalı bir mühür değildir ve bir belgenin gerçek veya değiştirilmemiş olduğunu ileri sürmez.
Kullanılabilirlik ve lisanslama
“Kullanılabilirlik ve lisanslama” başlıklı bölümBu yetenek NextPDF Enterprise (nextpdf/enterprise) ile sunulur ve bir Enterprise katmanı lisans zarfıyla etkinleşir. Bu hakka sahip olmayan bir dağıtım, yeteneğin sınıflarını yüklemez. Sürümleri karşılaştırın ve bir lisans alın.
Kurulum
“Kurulum” başlıklı bölümcomposer require nextpdf/enterprise:^3Kavramsal genel bakış
“Kavramsal genel bakış” başlıklı bölümBir PDF, yeniden yazmak yerine değişiklikleri dosyanın sonuna ekleyerek güncellenebilir. Her güncelleme yeni bir çapraz başvuru bölümü ve yeni bir trailer ekler ve orijinal baytlar yerinde bırakılır — ISO 32000-2:2020 §7.5.6. Bir nesne değiştirildiğinde güncelleme yeni bir kopya ekler ve güncellemenin çapraz başvuru bölümü, daha eski uzaklığı geçersiz kılan bir bayt uzaklığı kaydeder; bir okuyucu en yeni kopyayı çözümler — ISO 32000-2:2020 §7.5.6. İlk dosya yapısı sonraki güncellemelerle değiştirilebilir — ISO 32000-2:2020 §7.5.4. Bir güncellemenin çapraz başvuru bölümü, yalnızca o güncellemede eklenen, değiştirilen veya silinen nesneleri listeler — ISO 32000-2:2020 §7.5.5.
Çözümleyici bu katmanlı yapıyı okur. Her revizyonun çapraz başvuru tablosunu ayrıştırır, revizyon bayt sınırlarını türetir ve her nesneyi eklendi, değiştirildi veya silindi olarak sınıflandırmak için her revizyonun girdilerini bir sonraki daha eski revizyonla karşılaştırır. Ardından nesne değişikliklerini daha üst düzey olaylarda gruplar: bir imza eklendi, belge kataloğu güncellendi, bir şifreleme sözlüğü belirdi veya bir nesne kümesi eklendi, değiştirildi ya da kaldırıldı. Çıktı, bir revizyon sayısı, toplam boyut, revizyon başına bir özet listesi, sınıflandırılmış bir olay zaman çizelgesi ve nesne başına değişiklik listesi taşıyan tek bir rapor nesnesidir.
Çözümleyici salt okunurdur. Bir imza revizyonunun varlığını yapısal işaretleyicilerden algılar; herhangi bir imzayı doğrulamaz, herhangi bir özeti yeniden hesaplamaz veya herhangi bir sertifikayı denetlemez. İmza doğrulaması ayrı bir Core yeteneğidir. Üretilen bir rapor, ayrıştırıldığı şekliyle güncelleme geçmişinin yapısal bir açıklamasıdır; bir belgenin gerçek olduğunun, bir değişikliğin yetkisiz olduğunun veya her değişikliğin algılandığının bir belirlemesi değildir. Raporu, bir adli garanti veya mahkemede kabul edilebilir bir tasdik olarak değil, çözümleyicinin revizyon zincirine bakışına karşı sınanmış kurcalama-kanıtı algılaması olarak ele alın.
Neden bu şekilde çalışır
“Neden bu şekilde çalışır” başlıklı bölümÇözümleyici bilinçli olarak yapıda durur. Revizyon zincirinin ne içerdiğini raporlar ve bir değişikliğin yetkili ya da bir imzanın geçerli olduğunu asla ileri sürmez. Yapısal varlık ve kriptografik geçerlilik farklı iddialardır; bunları birleştirmek, bir çağıranın kurcalama-kanıtını bir garanti sanmasına yol açar. Bu nedenle imza geçerliliği, Forensics’in birlikte oluştuğu ancak çoğaltmadığı tek Core imzalama yüzeyinde kalır. Rapor, JSON serileştirilebilir yapısal meta veridir; böylece bir SIEM, belge içeriğine dokunmadan düzenleme geçmişini alır. Tasarım arka planı: Artımlı güncellemeler ve neden önemli oldukları.
API yüzeyi
“API yüzeyi” başlıklı bölüm| Tür | Çeşit | Rol | Kararlılık | Beri |
|---|---|---|---|---|
ForensicAnalyzer | sınıf | Bir PDF’i ayrıştırır ve bir adli rapor döndürür (statik analyze) | kararlı | 1.10.0 |
ForensicReport | sınıf | Çözümleme sonucu; SIEM dışa aktarımı için JsonSerializable | kararlı | 1.10.0 |
RevisionSummary | sınıf | Revizyon başına olgular: nesne sayısı, boyut, bayt sınırları, varlık bayrakları | kararlı | 1.10.0 |
ForensicEvent | sınıf | Etkilenen-nesne listesiyle bir sınıflandırılmış olay | kararlı | 1.10.0 |
ForensicEventType | enum | Olay kategorileri (imza eklendi, katalog güncellendi, nesneler eklendi ve diğerleri) | kararlı | 1.10.0 |
ObjectChange | sınıf | İki revizyon genelinde bir nesnenin değişiklik kaydı | kararlı | 1.10.0 |
ObjectChangeType | enum | Added, Modified veya Deleted | kararlı | 1.10.0 |
ForensicReport; hasIncrementalUpdates(), hasAnySignature(), getEventsByType(), getChangesForRevision() ve jsonSerialize() açığa çıkarır. Bir revizyon özetindeki hasSignature bayrağı, bir geçerlilik sonucu değil, yapısal bir varlık sinyalidir.
Kod örneği — hızlı başlangıç
“Kod örneği — hızlı başlangıç” başlıklı bölüm<?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(), yapıda bir imza revizyonunun mevcut olduğunu bildirir. İmzanın geçerli olduğunu belirtmez.
Kod örneği — üretim
“Kod örneği — üretim” başlıklı bölü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; } }}Günlük kaydı yalnızca sayıları ve boyutları taşır. Belge metni taşımaz. catch bloğu yeniden fırlatır; bir ayrıştırma hatasını yutmaz.
Uç durumlar ve tuzaklar
“Uç durumlar ve tuzaklar” başlıklı bölüm- Tek revizyonlu bir belgenin hiçbir artımlı geçmişi yoktur. Değişiklik listesi boştur; bu, gerçeklik kanıtı değildir.
- Bir
SignatureAddedolayı, bir imza revizyonunun yapısal olarak mevcut olduğu anlamına gelir. Bir imza-geçerliliği sonucu değildir. İmzayı Core imzalama yüzeyiyle doğrulayın. - Nesne yeniden kullanımı normaldir: güncellenen bir nesne, nesne numarasını korur ve yeni bir kopya eklenir. Çözümleyici bunu kaldırma ve yeniden oluşturma olarak değil,
Modifiedolarak raporlar. - Bir
Deletedsınıflandırması, çapraz başvuru zincirinde serbest-girdi geçişidir. Bir okuyucu, o nesnenin daha eski bir kopyasını yine de çözümleyebilir; yapı düzeyinde silme, garanti edilmiş geri alınamazlık değildir. - Çözümleyici, ayrıştırıcının gözlemlediğini raporlar. Bir ayrıştırıcıyı şaşırtmak için hazırlanmış bir belge, farklı bir aracın bakışıyla eşleşmeyen bir rapor verebilir. Rapor, her değişikliğin algılandığına dair bir iddia değildir.
- Girdi sınırlıdır. Aşırı büyük veya aşırı çok revizyonlu bir belge, sınırsız bellek tüketmek yerine türlenmiş bir ayrıştırma istisnasıyla fail-closed olur.
Performans
“Performans” başlıklı bölümÇözümleme maliyeti, işlenmiş sayfa karmaşıklığıyla değil, revizyon sayısı ve nesne sayısıyla ölçeklenir. 1500 ms duvar bütçesi, tipik bir çok revizyonlu iş belgesini kapsar. Yeniden üretilebilirlik profili structural şeklindedir: rapor belirli bir girdi için deterministiktir, ancak mutlak bayt uzaklıkları tam girdi dosyasını yansıtır ve yeniden kaydedilmiş kopyalar arasında taşınabilir değildir.
Güvenlik notları
“Güvenlik notları” başlıklı bölümÇözümleyici salt okunurdur ve girdiye asla yazmaz. Dönüşümsel değil, analitik bir yüzeydir. İmza ve şifreleme işaretleyicilerinin varlığını algılar ancak hiçbir kriptografik işlem gerçekleştirmez; bu nedenle hiçbir FIPS iddiasında bulunmaz. Bir rapor, ayrıştırılan güncelleme geçmişini açıklar; bir gerçeklik iddiası değildir ve kurcalamaya karşı korumalı, adli olarak garanti edilmiş veya mahkemede kabul edilebilir olarak sunulmamalıdır. Bir operatör sonuçlar çıkarır; kitaplık yapıyı raporlar.
Veri yerleşimi ve PII azaltmaları
“Veri yerleşimi ve PII azaltmaları” başlıklı bölümÇözümleme, PDF’i tutan ana makinede süreç içinde çalışır. Hiçbir belge içeriği ana makineden ayrılmaz. Rapor; nesne numaralarını, revizyon dizinlerini, boyutları, bayt sınırlarını ve olay kategorilerini taşır — belge metni veya algılanan kişisel veri değil, yapısal meta veri. Girdi PDF’inin veya raporun kendisinin kişisel veri içerip içermediği ve her birinin nerede saklandığı, kitaplığın sınırının dışında bir dağıtım sorumluluğudur.
Güvenli telemetri ve günlük temizleme
“Güvenli telemetri ve günlük temizleme” başlıklı bölümKitaplık, yapısal mesajlarla türlenmiş istisnalar yükseltir ve istisna metnine belge baytları yerleştirmez. Çözümleme çevresinde günlük kaydeden bir dağıtım, raporun sayılarını ve kategorilerini günlüğe kaydetmelidir — üretim örneğinde gösterildiği gibi — ve ham PDF yükünü günlüklere veya bir APM arka ucuna kaydetmemelidir. JSON rapor, bir SIEM’e iletilecek güvenli yapıttır.
FIPS modu davranışı
“FIPS modu davranışı” başlıklı bölümBu modülde hiçbir kriptografik işlem gerçekleşmez; bu nedenle FIPS moduna özgü hiçbir davranış yoktur. Kriptografik olan imza doğrulaması, ayrı bir Core yeteneğidir ve orada belgelenmiştir.
Uygunluk
“Uygunluk” başlıklı bölüm| İddia | Standart | Madde |
|---|---|---|
| Sonraki güncellemeler ek ögeleri dosyanın sonuna ekler; orijinal yapı sonraki güncellemelerle değiştirilir. | ISO 32000-2:2020 | §7.5.6 |
| Güncellenen bir nesne yeni bir kopya olarak eklenir ve güncellemenin çapraz başvuru girdisi önceki bayt uzaklığını geçersiz kılar; okuyucu en yeni kopyayı çözümler. | ISO 32000-2:2020 | §7.5.6 |
| İlk dosya yapısı sonraki güncellemelerle değiştirilebilir. | ISO 32000-2:2020 | §7.5.4 |
| Bir güncellemenin çapraz başvuru bölümü yalnızca eklenen, değiştirilen veya silinen nesneler için girdiler içerir. | ISO 32000-2:2020 | §7.5.5 |
| İmza sözlüğü, neyin imzalandığını kaydeder. | ISO 32000-2:2020 | §12.8.1 |
| ByteRange, imzanın kapsadığı bayt aralığını tanımlar (imza doğrulaması ayrı bir Core yeteneğidir). | ISO 32000-2:2020 | §12.8.1 |
| Bir Document Security Store, sonraki bir revizyonda uzun süreli doğrulama materyalini tutar. | ISO 32000-2:2020 | §12.8.4 |
Tüm maddeler başka sözcüklerle ifade edilmiştir. NextPDF normatif metni yeniden üretmez. Yetkili ifade için yayımlanmış standarda başvurun. NextPDF hiçbir adli-sertifikasyon iddiasında bulunmaz; rapor, belge bütünlüğünün sertifikalı bir belirlemesini değil, ayrıştırılan güncelleme yapısını açıklar.
Davranış sözleşmesi
“Davranış sözleşmesi” başlıklı bölüm- Çözümleyici salt okunurdur: girdi belgesine asla yazmaz ve hiçbir kriptografik işlem gerçekleştirmez.
- Her revizyonun çapraz başvuru tablosunu ayrıştırır, revizyon bayt sınırlarını türetir ve her nesneyi eklendi, değiştirildi veya silindi olarak sınıflandırır, ardından değişiklikleri sınıflandırılmış bir olay zaman çizelgesinde gruplar.
- Bir
SignatureAddedolayı, bir imza revizyonunun yapısal olarak mevcut olduğu anlamına gelir; bir imza-geçerliliği sonucu değildir — doğrulama ayrı bir Core yeteneğidir. - Tek revizyonlu bir belgenin boş bir değişiklik listesi vardır (gerçeklik kanıtı değildir); bir
Deletedsınıflandırması, garanti edilmiş geri alınamazlık değil, bir serbest-girdi geçişidir. - Girdi sınırlıdır: aşırı büyük veya aşırı çok revizyonlu bir belge, türlenmiş bir ayrıştırma istisnasıyla fail-closed olur. Rapor, bir adli garanti veya mahkemede kabul edilebilir tasdik değil, sınanmış kurcalama-kanıtı algılamasıdır.
Yayımlama sınırı
“Yayımlama sınırı” başlıklı bölümBu sayfa yalnızca dışarıdan gözlemlenebilir davranışı ve desteklenen genel API yüzeyini belgeler. Dahilî ad alanı yolları, yardımcı sınıflar, mekanizma tabloları, runbook dosya adları ve bilet önekleri kapsam dışıdır.
Core yedeği
“Core yedeği” başlıklı bölümNextPDF Core’un (Apache-2.0) hiçbir revizyon-geçmişi adli çözümleyicisi yoktur — hiçbiri; bu yeteneğin hiçbir Core katmanı eşdeğeri yoktur. Core, çözümleyicinin birlikte oluştuğu ancak değiştirmediği yetkili imza-doğrulama yüzeyini sağlar.
Pro yedeği
“Pro yedeği” başlıklı bölümNextPDF Pro’nun hiçbir revizyon-geçmişi adli çözümleyicisi yoktur — hiçbiri; bu yeteneğin hiçbir Pro katmanı eşdeğeri yoktur. Salt okunur revizyon ve nesne başına değişiklik raporlaması ile JSON serileştirilebilir SIEM raporu yalnızca nextpdf/enterprise paketinde sunulur.
Enterprise sınır notu
“Enterprise sınır notu” başlıklı bölümRevizyon ayrıştırıcısı, değişiklik sınıflandırması ve olay zaman çizelgesi, davranış düzeyinde açıklanmıştır. Ayrıştırıcı dahilîleri ve herhangi bir dahilî sınıflandırma ayrıntısı, genel yüzeyin kapsamı dışındadır. İmza geçerliliği burada bilinçli olarak kapsam dışıdır — bu, Core imzalama yüzeyinin sorumluluğundadır.
Dağıtım sınırı
“Dağıtım sınırı” başlıklı bölümÇözümleme, PDF’i tutan ana makinede süreç içinde çalışır; hiçbir belge içeriği ana makineden ayrılmaz. Girdi PDF’inin veya raporun kişisel veri içerip içermediği ve her birinin nerede saklandığı, kitaplığın sınırının dışında bir dağıtım sorumluluğudur. Operatör, rapordan sonuçlar çıkarır; kitaplık yapıyı raporlar ve belge gerçekliği ileri sürmez.
Hukuki uyumluluk sınırı
“Hukuki uyumluluk sınırı” başlıklı bölümForensics yüzeyine hiçbir ihracat denetimi kısıtlaması uygulanmaz. Rapor, kurcalamaya karşı korumalı, adli olarak garanti edilmiş veya mahkemede kabul edilebilir olarak sunulmamalıdır. Bu belge bir hukuki görüş değildir; kendi uyumluluk ve hukuk danışmanlarınıza başvurun.
Ayrıca bakınız
“Ayrıca bakınız” başlıklı bölüm- Forensics — Ayrıntılı Başvuru — revizyon-sınırı türetme ve nesne-değişikliği sınıflandırma kuralları.
- Core imzalama — yetkili imza-doğrulama yüzeyi.
- Kanıt paketleri — gözetim zinciri çıktı yapıtları.
- NextPDF Enterprise — tam Enterprise özellik yüzeyi.
- Core AST — ayrıştırılan belge modeli.
- Incremental update · Cross-reference table · DSS — sözlük terimleri.