İçeriğe geç
getnextpdf.com

Enterprise sürümkararlılık: Deneysel

Kuantum sonrası HSM imzalama (PQS) önizleme yeteneği durumu

Önizleme yeteneği durumu. Katılımlı, varsayılan olarak kapalı, hata durumunda kapalı. Bu, HSM’e devredilen kuantum sonrası imzalamanın bir önizlemesidir. Genel kullanıma sunulmuş değildir, AdES-uyumlu değildir, FIPS-doğrulanmış değildir ve hiçbir sertifikasyon ya da uygunluk iddiasında bulunmaz. Önizleme, siz katılana kadar kapalıdır; kapalıyken imzalama çağrısı türlenmiş bir istisna ile hata durumunda kapalı kalır.

NextPDF Enterprise, ML-DSA (FIPS 204) ve SLH-DSA (FIPS 205) imzalamasını bir PKCS#11 donanım belirteci üzerinden süren deneysel bir kuantum sonrası imza (PQS) yüzeyi açığa çıkarır. Yol Pkcs11Signer::signPqs()’tir; açık bir imzalayıcı başına katılımın ($enablePostQuantum) ve ayrıca süreç düzeyinde bir env bayrağının (NEXTPDF_FEATURE_PREVIEW_PQS_HSM) arkasında kapılanmıştır. İkisi de varsayılan olarak kapalıdır.

Bu sayfa dürüst sınırdır. Önizlemenin ne yaptığını — gerçek bir kuantum sonrası imzalama işlemini belirtece devreder — ve eşit dürüstlükle ne olmadığını belirtir: GA değildir, AdES değildir, FIPS-doğrulanmış değildir ve FIPS, OASIS ya da ETSI’ye karşı bir uygunluk iddiası değildir. Bir kuantum sonrası PDF imzasını uzun vadeli arşivleme için birlikte çalışabilir kılacak standartlar henüz gelmedi (bkz. Standartlar sınırı).

Bu yetenek NextPDF Enterprise’da (nextpdf/enterprise) sevk edilir ve bir Enterprise katmanı lisans zarfı ile etkinleşir. Bu yetkilendirmeye 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 edinin.

Enterprise PKCS#11 donanım-belirteci imzalayıcısı üzerine kurulur — bkz. HSM imzalama. Klasik (RSA / ECDSA) PKCS#11 imzalama yolu, desteklenen, kararlı Enterprise yeteneğidir; burada açıklanan kuantum sonrası yol, onun üzerine katmanlanmış deneysel bir önizlemedir. NextPDF Enterprise, Pro özellik kümesini içerir.

Önizleme gerçek bir imzalama işlemini sürer: etkinleştirildiğinde signPqs(), belirteçteki aday PKCS#11 v3.1 kuantum sonrası mekanizmaya gönderir, özel anahtar belirteç sınırından asla ayrılmaz ve döndürülen baytlar, kabul edilmeden önce seçilen parametre kümesi için FIPS’in zorunlu kıldığı imza uzunluğuna karşı uzunluk denetiminden geçirilir.

Aynı zamanda bir önizlemedir ve genel kullanıma sunulmuş bir ürün yeteneği değildir:

  • PKCS#11 kuantum sonrası mekanizma ve parametre-kümesi tanımlayıcıları geçicidir — OASIS PKCS#11 v3.1 bir kuantum sonrası mekanizma kayıt defterini kesinleştirmemiştir; bu nedenle kullanılan değerler geçici olarak izlenir ve HSM operatörleri, etkinleştirmeden önce belirteçlerinin PQ firmware’inin bunlarla eşleştiğini doğrulamalıdır.
  • NextPDF’te hiçbir kuantum sonrası doğrulama yolu yoktur ve hiçbir ETSI takımı AdES uzun vadeli arşivleme için bir kuantum sonrası imza kaydetmez; bu nedenle burada üretilen bir imza henüz birlikte çalışabilir değildir ve çoğu PDF görüntüleyici onu doğrulama sırasında reddedecektir.
  • Bir eşlik tanımlayıcısı, PqsCapabilityStatus, bu olguları makine-okunabilir bir biçimde bildirir. Her olumlu iddia mantıksal değeri — generallyAvailable, adesCompliant, verificationAvailable, conformanceClaimed — sabit kodlu false’tur ve önizleme bayrağı açıkken bile false kalır; hiçbir yapılandırma birini açamaz. (Ayrıca, sabit kodlu true olan bir recognitionOnly bayrağı da taşır; bu, algoritma tanımanın asla bir uygunluk hükmü olmadığını kaydeder; yüzeyin imzalayamayacağı anlamına gelmez — imzalama, yukarıda açıklandığı gibi signPqs() aracılığıyla gerçekleşir.)

NextPDF, belirteç aracılığıyla gerçek bir ML-DSA ya da SLH-DSA imzasını hâlihazırda hesaplayabilir. Yine de her uygunluk mantıksal değeri, iki varsayılan olarak kapalı kapının arkasında sabit kodlu false kalır. Bir imza, ancak onu daha sonra doğrulayabilme yeteneği kadar değerlidir. Kuantum sonrası için henüz hiçbir doğrulama yolu, kayıtlı hiçbir ETSI AdES takımı ve FIPS-doğrulanmış hiçbir HSM gidiş-dönüşü yoktur. Bunu genel kullanıma sunulmuş olarak sevk etmek, hiçbir görüntüleyicinin doğrulayamayacağı ve hiçbir arşivin güvenemeyeceği imzalar çıkarırdı. Bu nedenle tasarım, baytları üretmeyi, herhangi birinin bunlara güvenebileceğini iddia etmekten ayırır ve hiçbir önizleme bayrağı bu çizgiyi bulanıklaştıramaz.

Tasarım arka planı: Uzun vadeli doğrulama.

signPqs(), algoritmayı ve parametre kümesini Pkcs11PqsAlgorithm enum’u aracılığıyla seçer. Her durum, bir NIST parametre kümesini geçici bir PKCS#11 mekanizma / parametre-kümesi tanımlayıcısına ve derinlemesine-savunma uzunluk denetimi için kullanılan FIPS’in zorunlu kıldığı imza bayt uzunluğuna eşler.

ML-DSA — FIPS 204 (modül-kafes). Gösterilen NIST güvenlik-gücü kategorilerinde öne sürülen üç parametre kümesi:

Parametre kümesiNIST kategorisiİmza uzunluğu (bayt)
ML-DSA-4422420
ML-DSA-65 (önerilen varsayılan)33309
ML-DSA-8754627

SLH-DSA — FIPS 205 (durumsuz karma tabanlı). SHA2 / SHAKE x 128 / 192 / 256 x küçük (s) / hızlı (f) olarak oluşturulan on iki parametre kümesi. s çeşitleri imza boyutunu en aza indirir; f çeşitleri imzalama gecikmesini en aza indirir:

Parametre kümesi ailesiNIST kategorisiİmza uzunluğu (bayt)
SLH-DSA-{SHA2,SHAKE}-128s17856
SLH-DSA-{SHA2,SHAKE}-128f117088
SLH-DSA-{SHA2,SHAKE}-192s316224
SLH-DSA-{SHA2,SHAKE}-192f335664
SLH-DSA-{SHA2,SHAKE}-256s529792
SLH-DSA-{SHA2,SHAKE}-256f549856

İki bağımsız kapının her ikisi de açık olmalıdır. İkisi de varsayılan olarak kapalıdır.

  1. Süreç kapısı. Süreç başlatılmadan önce (ya da durum okunmadan önce putenv() ile) NEXTPDF_FEATURE_PREVIEW_PQS_HSM=1 ayarlayın. 1 dizesine katı eşitlik gereklidir; başka herhangi bir değer — 0, true, yes ya da boş dahil — kapalı olarak ele alınır.
  2. İmzalayıcı başına katılım. Pkcs11Signer yapıcısına $enablePostQuantum: true geçirin.
use NextPDF\Enterprise\Security\Signature\Hsm\Pkcs11Signer;
use NextPDF\Enterprise\Security\Signature\Hsm\Pkcs11PqsAlgorithm;
use NextPDF\Enterprise\Security\Signature\Hsm\PqsCapabilityStatus;
use NextPDF\Enterprise\Security\Signature\Hsm\PqsPreviewFeature;
// 1. Open the process-level preview gate (default-off).
putenv(PqsPreviewFeature::ENV_PREVIEW_PQS_HSM . '=1');
// 2. The capability status is honest even with the gate open:
// generallyAvailable / adesCompliant / verificationAvailable stay false.
$status = PqsCapabilityStatus::current();
// 3. Construct the PKCS#11 signer with the per-signer opt-in.
$signer = new Pkcs11Signer(
libraryPath: '/usr/lib/softhsm/libsofthsm2.so',
slotId: 0,
pin: '1234',
certLabel: 'my-pqc-signing-cert',
enablePostQuantum: true,
);
// 4. Sign with a chosen parameter set. The returned bytes are length-checked
// against Pkcs11PqsAlgorithm::signatureLength() before being accepted.
$signature = $signer->signPqs(
data: $tbsBytes,
algorithm: Pkcs11PqsAlgorithm::MlDsa65,
);

isPostQuantumEnabled(), imzalayıcı başına katılımın ayarlanıp ayarlanmadığını bildirir ve PqsCapabilityStatus::current(), süreç düzeyindeki durumu artı dürüst iddia mantıksal değerlerini bildirir.

Yüzey hata durumunda kapalıdır ve hataları sessiz bir geri dönüş yerine adlandırılmış, türlenmiş istisnalar aracılığıyla bildirir:

  • Katılım yok. signPqs(), $enablePostQuantum false iken çağrılırsa, HsmOperationException fırlatır. Hiçbir imzalama gerçekleşmez.
  • Bağlam çok uzun. 255 bayttan uzun bir imzalama bağlamı sekizli dizesi, herhangi bir belirteç çağrısından önce (FIPS 204 / FIPS 205 bağlam sınırı gereği) InvalidArgumentException fırlatır.
  • Anahtar yok. Belirteçte yapılandırılan etiketle eşleşen bir özel anahtar yoksa, signPqs() HsmOperationException fırlatır.
  • Uzunluk uyumsuzluğu. Belirteç, bayt uzunluğu parametre kümesi için FIPS’in zorunlu kıldığı uzunluğa eşit olmayan bir imza döndürürse, signPqs() HsmOperationException fırlatır — bozuk biçimli (kesik ya da fazla boyutlu) bir imza, CMS SignedData kodlamasına ulaşamadan reddedilir.
  • Belirteç hatası. Altta yatan herhangi bir PKCS#11 hatası HsmOperationException içine sarılır.

Süreç düzeyindeki env bayrağı bu sınırla ilgili hiçbir şeyi değiştirmez: bayrak açıkken bile yetenek mantıksal değerleri false kalır ve imzalama yolu uzunluk denetimli ve hata durumunda kapalı kalır.

Aşağıdaki iddialar bu yüzey için yapılmaz ve ondan türetilen hiçbir belgede, kullanıcı arayüzünde ya da pazarlamada görünmemelidir:

  • “GA” / “genel kullanıma sunulmuş”.
  • “AdES” / “PAdES-uyumlu” — hiçbir ETSI takımı uzun vadeli arşivleme için bir kuantum sonrası imza kaydetmez.
  • “FIPS-doğrulanmış” — bu yol için FIPS-140-3 doğrulanmış bir kuantum sonrası HSM gidiş-dönüşü oluşturulmamıştır.
  • FIPS, OASIS PKCS#11 v3.1 ya da ETSI’ye karşı “sertifikalı” ya da “uygun”.
  • “üretime hazır”.

Yüzeyin dürüstçe ne olduğu: ML-DSA / SLH-DSA’yı bir PKCS#11 belirteci üzerinden süren ve sonucu uzunluk denetiminden geçiren, HSM’e devredilen kuantum sonrası imzalamanın katılımlı, varsayılan olarak kapalı, hata-durumunda-kapalı bir önizlemesi. Ne olmadığı: genel kullanıma sunulmuş, AdES-uyumlu, FIPS-doğrulanmış ya da sertifikalı bir imzalama yeteneği.

İlgili standartlar dış kurumlar tarafından sürdürülür ve önizleme, bunların hiçbirine uygunluk konusunda hiçbir tutum almaz:

  • Algoritma parametre kümeleri ve imza uzunlukları FIPS 204 (ML-DSA) ve FIPS 205 (SLH-DSA) izler.
  • Belirteç mekanizma tanımlayıcıları OASIS PKCS#11 izler; PKCS#11 v3.1’deki kuantum sonrası mekanizma kayıt defteri henüz kesinleştirilmemiştir; bu nedenle NextPDF geçici tanımlayıcılar kullanır.
  • PDF-imzası uzun-vadeli-arşivleme profilleri ETSI EN 319 142-2 (PAdES genişletilmiş profilleri, CMS SignerInfo üzerine kurulu) ve kriptografik-takımlar kataloğu ETSI TS 119 312’dir; bunlar şu anda yalnızca RSA ve ECDSA’yı profillendirir — CAdES/PAdES için hiçbir kuantum sonrası takım kayıtlı değildir. Bu nedenle bugün üretilen bir kuantum sonrası PDF imzası, arşivleme için henüz AdES-uyumlu değildir.

Bu sayfada hiçbir standart metin olduğu gibi aktarılmaz.

Bir önizleme bir güvenlik denetimi değildir. Bu yolla üretilen bir kuantum sonrası imzanın varlığı AdES geçerliliği oluşturmaz, güvenilir bir anahtar ima etmez ve NextPDF tarafından doğrulanabilir değildir (kuantum sonrası bir doğrulama yolu yoktur). İmza güvencesi için bu önizlemeye güvenmeyin ve AdES-uyumlu ya da FIPS-doğrulanmış bir imzanın gerekli olduğu yerlerde onu dağıtmayın. Standartlar gelene kadar üretimde her iki kapıyı da kapalı tutun.

SimgeRol
Pkcs11Signer::signPqs()PKCS#11 üzerinden HSM’e devredilen, katılımlı, hata-durumunda-kapalı kuantum sonrası imzalama. Devre dışı olduğunda, anahtar yokken ya da imza-uzunluğu uyumsuzluğunda HsmOperationException fırlatır.
Pkcs11Signer::isPostQuantumEnabled()İmzalayıcı başına $enablePostQuantum katılımının ayarlanıp ayarlanmadığı.
Pkcs11PqsAlgorithmML-DSA (FIPS 204) ve SLH-DSA (FIPS 205) parametre kümeleri enum’u; her birini geçici bir mekanizma kimliğine ve FIPS’in zorunlu kıldığı imza uzunluğuna eşler.
PqsPreviewFeatureSüreç düzeyinde, varsayılan olarak kapalı env kapısı (NEXTPDF_FEATURE_PREVIEW_PQS_HSM).
PqsCapabilityStatusDürüst, makine-okunabilir durum: her olumlu iddia mantıksal değeri (genel-kullanım, AdES, doğrulama, uygunluk), önizleme bayrağından bağımsız olarak sabit kodlu false’tur.
HsmOperationExceptionHata-durumunda-kapalı yollarda yükseltilen türlenmiş istisna.

Bu sayfa yalnızca dışarıdan gözlemlenebilir davranışı ve desteklenen genel API yüzeyini belgeler. Dahili ad alanı yolları, yardımcı sınıflar, mekanizma tabloları, runbook dosya adları ve bilet önekleri kapsam dışıdır.