FIPS 140-2/3 kriptografik politika ve otomatik sınama
Bir bakışta
“Bir bakışta” başlıklı bölümNextPDF Enterprise, bir imzalama veya şifreleme işleminin kullanabileceği kriptografik seçimleri Federal Bilgi İşleme Standartları (FIPS) onaylı bir kümeyle sınırlar ve bu kümenin dışındaki her seçimi reddeder. Bir çalışma zamanı koruması, işlem yürütülmeden önce her özeti, imza algoritması tanımlayıcısını, şifreleme algoritmasını ve anahtar gücünü denetler. Süreç başlatıldığında açılış otomatik sınama dizisi bir kez çalıştırılır. Herhangi bir bilinen yanıt sınaması başarısız olursa modül hata durumuna geçer. Bu sayfa, politikanın neye izin verdiğini, korumanın neyi reddettiğini, otomatik sınamanın neyi kapsadığını ve açık sertifikasyon konumunu açıklar.
NextPDF Enterprise, uyumluluğa yardımcı olur. Sertifikalı bir kriptografik modül değildir. Açık sertifikasyon dışı konum için bkz. Güvenlik ve uyumluluk.
Ön bilgi bölümünde önkoşullar listelenir ve Önkoşullar bunları yineler.
Sürüm ve lisanslama
“Sürüm ve lisanslama” başlıklı bölümFIPS modu kripto politikası profili, çalışma zamanı koruması ve açılış otomatik sınama koruması nextpdf/enterprise paketiyle gelir ve enterprise lisans özellik bayrağını gerektirir. NextPDF Core ve NextPDF Pro, FIPS modu profili sağlamaz. Koruma ve otomatik sınama süreç içinde çalışır; politika denetimleri ve otomatik sınamalar belge içeriğini ana makinenin dışına göndermez. Sürümleri karşılaştırın.
Bu yetenek ne yapar
“Bu yetenek ne yapar” başlıklı bölümYetenek üç bölümden oluşur: bir kripto politikası, bir çalışma zamanı koruması ve bir açılış otomatik sınaması.
Kripto politikası kriptografik seçimleri onaylı bir kümeyle sınırlar ve iki ön ayar sunar:
- Strict (FIPS 140-3 kuşağıyla hizalı) — SHA-256, SHA-384 ve SHA-512 özetleri; bu özetlerle RSA ve ECDSA imza nesne tanımlayıcıları (OID’ler); AES-256-CBC şifrelemesi; ve en az RSA 2048 ile eliptik eğri 256 anahtar boyutları.
- Standard (FIPS 140-2 kuşağıyla hizalı) — strict ile aynıdır ve ayrıca eski sistemlerle birlikte çalışabilirlik için AES-128-CBC’ye izin verir.
İmza üretimi için NIST SP 800-131A Rev.2 §3, en az 2048 bitlik bir RSA anahtarını ve en az 224 bitlik bir ECDSA mertebesini kabul eder; strict ön ayarının 2048/256 alt sınırları bu en düşük değerleri karşılar veya aşar. Politika bilinmeyen bir anahtar türünü varsayılan olarak reddeder — tanınmayan bir türü sessizce kabul etmez.
Çalışma zamanı koruması politikayı sarmalar ve bir özet, bir imza OID’si, bir şifreleme algoritması ve bir anahtar gücü için assert benzeri yöntemler sunar. Bir seçime izin verilmediğinde, politikayı ve kural dışı öğeyi adlandıran türlenmiş bir ihlal oluşturur ve ardından işlemi durdurur. Bu yol güvenli biçimde başarısız olur: politika kendini hiçbir zaman gevşetmez ve hiçbir zaman daha zayıf bir algoritmayla değiştirme yapmaz. RSASSA-PSS imzası üretim kapısı, ileti özetini açıkça bağlar. Her PSS çeşidi tek bir imza OID’sini paylaşır; özet, OID’de değil PSS parametrelerinde bulunur. Tek başına bir OID izin listesi etkin özeti kanıtlayamaz; bu nedenle kapı, özetin FIPS onaylı (SHA-256/384/512) olduğunu doğrular. Özeti bilinmeyen veya onaylanmamış olan herhangi bir PSS belirtecini, örneğin SHA-1 PSS’yi, herhangi bir imzalayıcıya sevk edilmeden önce güvenli biçimde reddeder (FIPS 186-5 §5.4(b)).
Açılış otomatik sınaması süreç başlangıcında bilinen yanıt sınaması (KAT) dizisini bir kez çalıştırır. Dizi, onaylı özet, ileti kimlik doğrulama, şifreleme, kimlik doğrulamalı şifreleme, imza ve rastgele bit işlevlerini kapsar. ISO/IEC 19790:2025 §7.10.4.2 uyarınca, hesaplanan çıktı bilinen yanıta eşit olmadığında bilinen yanıt sınaması başarısız olur. Herhangi bir başarısızlıkta modül hata durumuna geçer ve kriptografik hizmetleri reddeder (ISO/IEC 19790:2025 §7.2.4.3). Hata durumu süreç düzeyinde kalıcıdır: süreçteki herhangi bir önyükleme koruması bir hata gözlemledikten sonra tüm süreç ömrü boyunca güvenli biçimde kapalı kalır. Yeni bir önyükleme koruması veya politika oluşturmak bunu temizleyemez. Daha sonra başarılı bir otomatik sınama yeniden çalıştırması, mandallanmış bir hatayı temizlemez — bunu yalnızca bir süreç yeniden başlatması (gerçek bir güç döngüsü) yapar; ISO/IEC 19790:2025 §7.10.2 uyarınca. Sonuç süreç ömrü boyunca önbelleğe alınır; bir yönetici uç noktası veya komut üzerinden isteğe bağlı yeniden çalıştırma yürütebilirsiniz, ancak bu, hata kurtarmaya değil dönemsel otomatik sınama yükümlülüğüne hizmet eder.
Politika, kimlik doğrulamalı şifreleme kullanımı için anahtar başına benzersiz bir başlatma vektörü (IV) gerektirir; NIST SP 800-38D §5.2.1 uyarınca.
Önkoşullar
“Önkoşullar” başlıklı bölüm- NextPDF Core ile Enterprise paketini kurun ve etkin bir Enterprise lisansı bulundurun.
- FIPS uyumlu çalışma iddiasında bulunmak için NextPDF uygulamasını FIPS doğrulamalı bir kriptografik sağlayıcıyla — örneğin FIPS doğrulamalı bir OpenSSL sağlayıcısıyla — ya da FIPS doğrulamalı bir donanım güvenlik modülüyle (HSM) yapılandırın. NextPDF Enterprise yapısal birleştirmeyi, özet hesaplamasını ve politika uygulamasını gerçekleştirir; altta yatan ilkel işlem, sizin sağladığınız doğrulanmış sınır içinde çalışır.
- Ön ayarı seçin: FIPS 140-3 ile hizalı uygulama için strict, ya da AES-128-CBC birlikte çalışabilirliğinin gerektiği durumda standard.
Yapılandırma
“Yapılandırma” başlıklı bölüm- Ön ayar — strict veya standard seçin. Strict yalnızca AES-256-CBC’ye izin verir; standard ayrıca AES-128-CBC’ye de izin verir.
- Koruma — korumayı seçilen politikayla oluşturun. Her kriptografik seçimi doğruladığınız sınır olarak korumayı kullanın.
- Otomatik sınama bağlantısı — önyükleme korumasını uygulama başlatması sırasında bağlayın; böylece çalışan her süreç kendi otomatik sınama döngüsünü çalıştırır. Her süreç örneği kendi açılış otomatik sınamasını çalıştırır.
Adım adım
“Adım adım” başlıklı bölüm- Uygulama başlatması sırasında, açılış otomatik sınamasını önyükleme koruması üzerinden çalıştırın ve modülün çalışır durumda olduğunu doğrulayın. Çalışır durumda değilse süreci durdurun.
- Korumayı strict veya standard politikayla oluşturun.
- Her kriptografik işlemden önce, özeti, imza OID’sini, şifreleme algoritmasını ve anahtar gücünü koruma üzerinden doğrulayın.
- Türlenmiş ihlali yakalayın, yapılandırılmış bir iletiyi günlüğe yazın ve işlemi reddedin. Daha zayıf bir seçime geri dönmeyin.
<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use NextPDF\Enterprise\Security\Fips\FipsBootGuard;use NextPDF\Enterprise\Security\Fips\FipsCryptoPolicy;use NextPDF\Enterprise\Security\Fips\FipsModeGuard;use NextPDF\Enterprise\Security\Fips\FipsSelfTest;use NextPDF\Enterprise\Security\Fips\FipsModuleErrorStateException;use Psr\Log\LoggerInterface;
/** * Run the power-on self-test, then build a guard on the strict policy. * * The self-test runs once per process. A known-answer failure raises a * module-error-state exception; the caller must stop rather than proceed * with an unverified crypto path. * * @param LoggerInterface $logger Structural diagnostics only — never secrets. * * @throws FipsModuleErrorStateException When a power-on known-answer test fails. * * @return FipsModeGuard A guard ready to assert each cryptographic choice. */function bootFipsGuard(LoggerInterface $logger): FipsModeGuard{ $bootGuard = new FipsBootGuard(new FipsSelfTest());
try { $bootGuard->assertOperational(); } catch (FipsModuleErrorStateException $e) { $logger->critical('FIPS power-on self-test failed; refusing crypto services.', [ 'reason' => $e->getMessage(), ]);
throw $e; }
return new FipsModeGuard(FipsCryptoPolicy::strict());}<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use NextPDF\Enterprise\Security\Fips\FipsModeGuard;use NextPDF\Enterprise\Security\Fips\FipsViolationException;use Psr\Log\LoggerInterface;
final readonly class FipsCheckedSigning{ public function __construct( private FipsModeGuard $guard, private LoggerInterface $logger, ) {}
/** * Assert the signing choices against the active policy before signing. * * A disallowed hash, signature OID, or key strength raises a typed * violation; the operation is refused rather than downgraded. * * @param string $hash The hash algorithm name (e.g. 'sha256'). * @param string $signatureOid The signature algorithm OID. * @param string $keyType The key type (e.g. 'rsa', 'ec'). * @param positive-int $keyBits The key length in bits. * * @throws FipsViolationException When any choice is not approved. */ public function assertApproved( string $hash, string $signatureOid, string $keyType, int $keyBits, ): void { try { $this->guard->assertHashAllowed($hash); $this->guard->assertSignatureAlgorithmAllowed($signatureOid); $this->guard->assertKeyStrengthAllowed($keyType, $keyBits); } catch (FipsViolationException $e) { $this->logger->error('FIPS policy violation', ['reason' => $e->getMessage()]);
throw $e; } }}Doğrulama
“Doğrulama” başlıklı bölüm- Açılış otomatik sınamasını çalıştırın ve çalışır durumda olduğunu bildirdiğini doğrulayın. Onaylı her algoritma sınıfını sınadığını doğrulayın — özet, ileti kimlik doğrulama, şifreleme, kimlik doğrulamalı şifreleme, imza ve rastgele bit.
- Onaylı bir seçimi, örneğin SHA-256, RSA 2048, doğrulayın ve geçtiğini onaylayın. İzin verilmeyen bir seçimi, örneğin SHA-1, RSA 1024, doğrulayın ve türlenmiş bir ihlal oluşturduğunu onaylayın.
- Otomatik sınamaya kasıtlı olarak bozuk bir özet veya rastgele kaynak enjekte edin ve modülün hata durumuna geçtiğini ve hizmetleri reddettiğini doğrulayın.
- Bilinmeyen bir anahtar türünün kabul edilmek yerine varsayılan olarak reddedildiğini doğrulayın.
Güvenlik ve uyumluluk
“Güvenlik ve uyumluluk” başlıklı bölüm- Güvenli biçimde başarısız olma. Bir kriptografik seçime izin verilmediğinde, koruma türlenmiş bir ihlal oluşturur ve işlemi durdurur. Politika kendini hiçbir zaman gevşetmez ve hiçbir zaman daha zayıf bir algoritmayla değiştirme yapmaz.
- Otomatik sınama uyuşmazlık durumunda reddeder. Bir bilinen yanıt sınaması başarısızlığı, modülü sürece bağlı kalıcı bir hata durumuna sokar. Tüm süreç güvenli biçimde kapalı kalır; yeni bir önyükleme koruması veya politika bunu kurtaramaz ve başarılı bir yeniden çalıştırma mandallanmış durumu kaldırmaz. Bunu yalnızca bir süreç yeniden başlatması temizler (ISO/IEC 19790:2025 §7.10.4.2; §7.10.2).
- Anahtar gücü. Strict ön ayarı, NIST SP 800-131A Rev.2 §3’teki kabul edilebilir alt sınırları karşılayan veya aşan RSA 2048 ile eliptik eğri 256 alt sınırlarını zorunlu kılar.
- IV benzersizliği. Kimlik doğrulamalı şifreleme kullanımı anahtar başına benzersiz bir IV gerektirir (NIST SP 800-38D §5.2.1).
Bu sayfa, kriptografik politikayla ilgili olduğu için export_control_class: legal-review-required olarak işaretlenmiştir. Her normatif kaynak başka sözcüklerle aktarılmıştır; hiçbir normatif metin birebir yeniden üretilmemiştir. publish bayrağı ayarlanmadan önce hukuki onay gereklidir.
NextPDF Enterprise FIPS doğrulamalı bir kriptografik modül değildir ve hiçbir FIPS sertifikasyon iddiasında bulunmaz. Yalnızca onu FIPS doğrulamalı bir kriptografik sağlayıcıyla — örneğin FIPS doğrulamalı bir OpenSSL sağlayıcısıyla — ya da FIPS doğrulamalı bir donanım güvenlik modülüyle (HSM) yapılandırdığınızda FIPS uyumlu modda çalışır. FIPS modu politikası uyumluluğa yardımcı olur; sertifikasyon ya da hukuki görüş yerine geçmez. Düzenleyici yükümlülükleriniz için kendi uyumluluk ve hukuk danışmanlarınıza başvurun.
Başarısızlık işleme
“Başarısızlık işleme” başlıklı bölüm- Önyüklemede otomatik sınama başarısızlığı. Önyükleme koruması bir modül hata durumu istisnası oluşturur. Süreci durdurun; doğrulanmamış bir kripto yoluyla devam etmeyin.
- Politika ihlali. Koruma, politikayı ve kural dışı öğeyi adlandıran türlenmiş bir ihlal oluşturur. İşlemi reddedin; daha zayıf bir seçeneğe düşürmeyin.
- Bilinmeyen anahtar türü. Politika bunu varsayılan olarak reddeder. Anahtar türünü yalnızca gerçekten onaylıysa belirtik biçimde eşleyin.
- Otomatik sınama yeniden çalıştırması. Bir yönetici uç noktası veya komut üzerinden isteğe bağlı bir yeniden çalıştırma kullanılabilir ve bu, dönemsel isteğe bağlı otomatik sınama yükümlülüğünü karşılar. Bu bir kurtarma düzeneği değildir: başarısız bir yeniden çalıştırma da süreci mandallar ve başarılı bir yeniden çalıştırma mevcut bir mandalı kaldırmaz. Hata durumundaki bir modülü kurtarmak için süreç yeniden başlatması gerekir.
Ticari bağlam
“Ticari bağlam” başlıklı bölümNextPDF Core, yazılım imzalayıcısını ve şifrelemeyi FIPS modu profili olmadan sunar. NextPDF Enterprise, FIPS modu kripto politikası profilini, çalışma zamanı korumasını ve açılış otomatik sınama korumasını ekler; böylece kriptografik seçimleri onaylı bir kümeyle kısıtlayabilir ve otomatik sınama uyuşmazlığında güvenli biçimde başarısız olabilirsiniz. İlkel işlemi FIPS doğrulamalı bir aygıt içinde çalıştırmak için bunu HSM imzalama ile birlikte kullanın. Sürümleri karşılaştırın.
Ayrıca bakınız
“Ayrıca bakınız” başlıklı bölüm- Güvenlik — NextPDF Enterprise — birleşik Enterprise güvenlik denetimleri.
- HSM imzalama — NextPDF Enterprise — Public-Key Cryptography Standards #11 (PKCS#11) donanım tabanlı anahtar saklama.
- İmza — NextPDF Enterprise — PDF Advanced Electronic Signatures (PAdES) B-LT ve B-LTA uzun vadeli imza üreticisi.
- Güvenlik — NextPDF Core — çekirdek şifreleme ve imza yüzeyi.
- FIPS modu · KAT · kimlik doğrulamalı şifreleme (AEAD) — sözlük terimleri.