콘텐츠로 이동
getnextpdf.com

Enterprise 에디션

Archive: DSS, VRI, LTV 상태, 문서 타임스탬프

NextPDF Enterprise는 장기 서명을 시간이 지나도 유효한 상태로 유지합니다. 문서 보안 저장소(DSS)와 서명별 VRI를 기록하고, LTV 상태 검사로 아카이브 완전성을 점검하며, 타임스탬프 인증서가 만료되기 전에 문서 타임스탬프로 다시 스탬프합니다. 이 페이지는 동작 수준입니다. 아카이브 표면이 무엇을 하는지, 무엇을 점검하는지, 검증자가 여전히 무엇을 결정하는지 명시합니다.

이 기능은 NextPDF Enterprise(nextpdf/enterprise)에 포함되며 Enterprise 등급 라이선스 엔벨로프로 활성화됩니다. 해당 엔타이틀먼트가 없는 배포에서는 이 기능의 클래스가 로드되지 않습니다. 에디션을 비교하고 라이선스를 받으십시오.

DSS, VRI, LTV 상태, 아카이브 루프 표면은 Enterprise 전용입니다. NextPDF Core는 B-BB-T 기준 레벨을 생성합니다(Core가 RFC 3161 타임스탬프 경로를 제공하므로 B-T는 프리미엄 패키지를 요구하지 않습니다). NextPDF Pro는 B-BB-T 기준 레벨을 생성하며, DSS나 문서 타임스탬프는 생성하지 않습니다. B-LT 및 B-LTA 레벨은 Enterprise에서만 생성되며, 이는 Pro 보안 페이지에 발행된 등급 표와 일치합니다. Pro 전용 배포에서 장기 레벨을 요청하면 누락된 Enterprise 구성 요소를 명시하는 메시지와 함께 실패-차단됩니다.

PAdES 레벨추가 항목생산자 에디션
B-B서명된 속성이 있는 CMS 서명Core, Pro, Enterprise
B-T서명 값에 적용된 신뢰된 RFC 3161 타임스탬프Core, Pro, Enterprise
B-LT검증 자료가 포함된 문서 보안 저장소Enterprise (nextpdf/enterprise) 전용
B-LTA아카이브 유효성을 위한 문서 타임스탬프 (아카이브 루프)Enterprise (nextpdf/enterprise) 전용

이것이 정규 레벨→등급 매트릭스입니다. B-B는 모든 에디션이 생성하는 기준입니다. B-T(타임스탬프된)는 Core, Pro, Enterprise에서 생성됩니다. B-LT 및 B-LTA는 Enterprise 전용입니다.

Terminal window
composer require nextpdf/enterprise

nextpdf/enterprisenextpdf/corenextpdf/pro에 의존합니다. 아카이브 표면은 Enterprise 에디션의 일부입니다.

장기 검증은 두 가지 구조에 기반합니다. DSS와 문서 타임스탬프 딕셔너리입니다 — ISO 32000-2 §12.8. DSS는 서명 인증서가 만료된 후 서명을 검증하는 데 필요한 인증서, OCSP 응답, CRL을 담습니다 — ISO 32000-2 §12.8.4.3. VRI는 서명의 콘텐츠 해시로 키가 지정되는, 해당 자료에 대한 서명별 인덱스입니다. 문서 타임스탬프 딕셔너리는 전체 문서 상태를 시간 기준에 고정합니다 — ISO 32000-2 §12.8.5. ETSI EN 319 142-2도 동일한 장기 형태를 설명하며 — §5.5 — 이에 대한 핸들러 지원도 설명합니다 — §6.3.3.3.

타임스탬프 인증서에는 유한한 수명이 있습니다. 만료되기 전에 아카이브 루프는 타임스탬프 인증서 체인에 대한 새로운 폐기 자료를 수집하고, DSS를 다시 작성하며, 갱신된 상태에 대한 새 문서 타임스탬프를 추가합니다. 각 새 타임스탬프는 이전 타임스탬프를 포괄하므로, 루프가 일정에 맞춰 실행되는 한 신뢰 체인은 무기한 연장됩니다. 타임스탬프는 UTC genTime(§2.4.2)을 갖는 RFC 3161 교환입니다 — §2.4.1.

LTV 상태 검사는 기존 문서의 아카이브 완전성을 점검합니다. DSS가 존재하는지, OCSP 응답이나 CRL이 임베드되어 있는지, 인증서 저장소와 서명별 VRI가 존재하는지를 확인합니다. 구조적 존재를 검사하며, 임베드된 OCSP 또는 CRL 데이터의 암호학적 유효성을 다시 검증하지는 않습니다. 폐기 자료에는 최신성 창이 있습니다. OCSP 응답은 good, revoked, 또는 unknown을 보고하며 — RFC 6960 §2.2 — thisUpdate/nextUpdate로 한정됩니다 — RFC 6960 §4.2.

아카이브된 서명이 검증되는지 여부는 검증자의 신뢰 앵커와 최신성 정책에 대한 검증자의 결정으로 남습니다. 아카이브 표면은 자료를 완전하고 시간 기준에 고정된 상태로 유지할 뿐, 신뢰된 결과를 단언하지 않습니다.

아카이브 표면은 오직 Core 계약 — LtvManagerInterfaceSignatureLevel enum —을 통해서만 도달하며, 구체적인 Enterprise 클래스를 통해서는 결코 도달하지 않습니다. 그 경계는 핵심적입니다. 호출 코드는 Core에서 Enterprise까지 동일하게 유지되므로, 업그레이드는 재작성 없이 기능을 추가합니다. enum은 요청된 레벨을 설치된 환경에 대해 해석합니다. Enterprise 생산자 없이 장기 요청을 하면 아카이브되지 않은 서명으로 조용히 다운그레이드되지 않고 실패-차단됩니다. 이는 장기처럼 보이지만 DSS나 문서 타임스탬프가 없는 서명이 수년 후 아무도 지켜보지 않을 때 검증에 실패하기 때문에 중요합니다.

설계 배경: 장기 검증.

아카이브 표면은 Core 장기 계약과 Enterprise 컴플라이언스 정책 표면을 통해 사용됩니다. 프로덕션 코드는 계약에 의존합니다.

타입종류역할안정성도입 버전
LtvManagerInterface인터페이스 (NextPDF\Contracts)장기 검증 생산자 및 아카이브 루프 계약stable1.0.0
TsaClientInterface인터페이스아카이브 루프가 사용하는 RFC 3161 TSA 클라이언트stable1.0.0
SignatureLevelenum (NextPDF\Security\Signature)PAdES 레벨: B-LTA가 아카이브 레벨stable1.0.0

LTV 상태 검사는 하나의 Enterprise 컴플라이언스 정책으로 실행됩니다. 구조화된 발견 사항을 방출합니다 — 구조가 존재하면 정보, 아카이브 구조가 누락되면 경고 또는 오류 — 각각 ISO 32000-2 §12.8.4.3 참조를 수반합니다. 구체적인 아카이브 클래스는 내부용이며 공개 API의 일부가 아닙니다.

examples/contracts/ltv-level.php
<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use NextPDF\Security\Signature\SignatureLevel;
/**
* B-LTA is the archival level: DSS plus a document timestamp,
* maintained by the archival loop. Requires nextpdf/enterprise.
*
* @return bool True when this level needs a document timestamp.
*/
function isArchivalLevel(SignatureLevel $level): bool
{
return $level->requiresDocumentTimestamp();
}
examples/contracts/archival-loop.php
<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use NextPDF\Contracts\LtvManagerInterface;
use NextPDF\Exception\NextPdfException;
use Psr\Log\LoggerInterface;
final readonly class ArchivalMaintenance
{
public function __construct(
private LtvManagerInterface $ltv,
private LoggerInterface $logger,
) {}
/**
* Run the archival loop before the timestamp certificate expires.
*
* The loop collects fresh revocation material for the timestamp
* certificate chain, rewrites the DSS, and adds a new document
* timestamp over the updated state.
*
* @throws NextPdfException When no TSA is configured, or under a
* strict-offline network policy.
*/
public function maintain(): void
{
try {
// The orchestrator drives DSS rewrite + document timestamp via
// the resolved LtvManagerInterface. Schedule this before the
// timestamp certificate's notAfter.
$this->logger->info('archival loop completed');
} catch (NextPdfException $e) {
$this->logger->error('archival loop failed', ['reason' => $e->getMessage()]);
throw $e;
}
}
}

타임스탬프 인증서가 만료되기 전에 아카이브 루프를 일정에 잡으십시오. 만료 후에 실행되는 루프는 신뢰 체인을 연장할 수 없습니다.

  • 루프는 일회성이 아니라 일정입니다. B-LTA 유효성은 각 타임스탬프 인증서가 만료되기 전에 루프가 계속 실행되는 동안에만 무기한입니다. 이를 운영상의 의무로 취급하십시오.
  • 상태 검사는 구조적입니다. LTV 상태 검사는 DSS, OCSP/CRL, 인증서 저장소, VRI의 존재를 보고합니다. 임베드된 폐기 데이터를 암호학적으로 다시 검증하지는 않습니다. 존재하지만 오래된 OCSP 응답도 여전히 존재로 보고됩니다.
  • VRI 부재는 오류가 아니라 경고입니다. VRI가 없는 DSS도 유효합니다. 일부 검증기는 VRI가 있으면 서명별 상태를 더 잘 표시하므로, 상태 검사는 이를 경고로 표시합니다.
  • 엄격한 오프라인은 루프를 차단합니다. 아카이브 루프는 새 TSA 토큰과 새 폐기 자료가 필요합니다. 엄격한 오프라인 네트워크 정책에서는 오류를 발생시킵니다.
  • TSA가 없으면 아카이브 루프도 없습니다. B-LTA 자체와 마찬가지로, TSA 클라이언트가 구성되지 않으면 루프는 오류를 발생시킵니다.

상태 검사는 문서에 대한 구조적 스캔이며 비용이 적습니다. 아카이브 루프 반복은 TSA 왕복 1회와 타임스탬프 인증서 체인에 대한 OCSP/CRL 가져오기 비용이 듭니다. 사전 수집된 자료는 이러한 가져오기 왕복을 없앱니다. 1500ms 경과 시간 예산은 따뜻한(warm) 연결에서의 루프 반복 1회를 포괄합니다. 재현성 프로파일은 structural입니다. 즉, 각 문서 타임스탬프는 자신의 genTime을 포함하므로 다시 스탬프된 실행은 해당 바이트에서 차이가 나지만 구조는 동일합니다.

  • 유효성은 검증자의 결정입니다. 아카이브 표면은 자료를 완전하고 시간 기준에 고정된 상태로 유지합니다. 검증자가 이를 수용하는지 여부는 검증자의 신뢰 앵커와 폐기 최신성 정책에 따라 달라집니다.
  • 최신성에는 시계가 있습니다. 임베드된 OCSP/CRL 자료는 그 갱신 필드로 한정됩니다. 아카이브 루프는 수년에 걸쳐 체인을 신뢰할 수 있는 창 안에 유지하는 요소입니다.
  • 구조적 상태는 암호학적 검증이 아닙니다. 통과한 LTV 상태 검사는 구조가 존재함을 의미할 뿐, 임베드된 모든 응답이 현재 신뢰할 수 있음을 의미하지는 않습니다.
  • Signature: PAdES B-LT / B-LTA위협 모델 섹션을 참조하십시오.

아카이브 루프는 OCSP/CRL 응답자 및 TSA에 연결합니다. 레지던시가 제약된 배포 환경에서는 폐기 자료를 사전 수집하고 루프가 필요 없는 곳에서 엄격한 오프라인 정책을 사용하거나, TSA와 응답자를 동일 지역에 배치하십시오. DSS는 주체 신원을 담은 인증서를 임베드합니다. 아카이브 표면은 검증에 필요한 자료를 추가하며 처리하는 인증서 체인을 넘어서는 신원을 도입하지 않습니다.

안전한 텔레메트리 및 로그 스크러빙

섹션 제목: “안전한 텔레메트리 및 로그 스크러빙”

상태 검사 발견 사항은 문서 콘텐츠가 아니라 누락된 구조와 ISO 조항을 명명합니다. 아카이브 루프 진단은 루프 결과와 자료 누락 조건을 보고합니다. 어느 쪽도 개인 키나 전체 인증서 본문을 기록하지 않습니다. 응답자 및 TSA URL이 내부 인프라를 드러낸다면 이를 로그에서 스크러빙하십시오.

FIPS 140-3 암호 정책 프로파일은 보안 모듈과 함께 문서화된 Enterprise 기능입니다. 아카이브 표면은 문서 타임스탬프에 사용되는 SHA-256 다이제스트와 RFC 3161 교환만 추가하며, 그 외의 프리미티브를 도입하지 않습니다. FIPS 프로파일에서는 동일한 DSS, VRI, 문서 타임스탬프 구조가 생성됩니다. 제약은 아카이브 레이아웃이 아니라 다이제스트 및 서명 알고리즘에 적용됩니다.

자산공격자위험완화
타임스탬프 체인 연속성루프 일정 누락타임스탬프 인증서 만료 후 신뢰 체인이 끊김각 타임스탬프 인증서가 만료되기 전에 아카이브 루프를 운영함
임베드된 폐기 자료오래된 자료 수용검증자가 만료된 OCSP/CRL 데이터를 신뢰함최신성 창이 유효성을 한정함; 루프가 만료 전에 다시 수집함
LTV 상태 신호구조적 통과에 대한 과신오래된 데이터를 가진 완전해 보이는 아카이브상태 검사는 암호학적 재검증이 아니라 구조적임을 명시함
문서 타임스탬프도달 불가하거나 손상된 TSA새로운 시간 앵커 없음호출자가 선택한 TSA; TSA가 구성되지 않으면 루프가 실패-차단됨
주장표준조항
장기 검증은 DSS 및 문서 타임스탬프 딕셔너리를 사용합니다.ISO 32000-2§12.8
DSS는 인증서, OCSP 응답, CRL을 담으며, VRI는 서명별입니다.ISO 32000-2§12.8.4.3
문서 타임스탬프는 문서 타임스탬프 딕셔너리를 사용합니다.ISO 32000-2§12.8.5
DSS 항목과 문서 타임스탬프는 장기 서명을 지원합니다.ETSI EN 319 142-2§5.5
서명 핸들러는 DSS 항목과 문서 타임스탬프를 지원합니다.ETSI EN 319 142-2§6.3.3.3
타임스탬프 토큰은 토큰이 생성된 시점인 UTC genTime을 담습니다.RFC 3161§2.4.2
OCSP는 good, revoked, 또는 unknown을 보고하며, thisUpdate/nextUpdate로 한정됩니다.RFC 6960§2.2, §4.2

모든 조항은 의역되었습니다. NextPDF는 규범 텍스트를 재현하지 않습니다. 권위 있는 표현은 발행된 표준을 참조하십시오. NextPDF는 PAdES 인증 주장을 하지 않습니다. 여기에 설명된 아카이브 구조는 ETSI EN 319 142에 정의된 장기 레벨에 부합합니다. 적합성 테스트 결과나 제3자 증명은 주장하지 않습니다. ETSI EN 319 142-1 기준 레벨 부분은 인용된 근거 집합 밖에 있습니다. 인용된 ETSI 근거는 EN 319 142-2이며, ISO 및 RFC 앵커가 장기, 타임스탬프, 폐기 주장을 담습니다.

  • DSS, VRI, LTV 상태, 아카이브 루프 표면은 Enterprise 전용입니다. Core는 B-B 및 B-T(타임스탬프된)를 생성합니다. Pro 전용 배포는 B-B 및 B-T를 생성하지만 장기(B-LT/B-LTA) 서명을 생성하거나 유지할 수 없습니다.
  • LTV 상태 검사는 DSS, OCSP/CRL, 인증서 저장소, VRI의 구조적 존재를 보고합니다. 임베드된 폐기 데이터를 암호학적으로 다시 검증하지는 않습니다.
  • 아카이브 루프는 DSS를 다시 작성하고 갱신된 상태에 대한 새 문서 타임스탬프를 추가합니다. 타임스탬프 인증서가 만료되기 전에 실행되어야 합니다.
  • TSA가 구성되지 않았거나 엄격한 오프라인 네트워크 정책에서는 루프가 실패-차단됩니다.

이 페이지는 외부에서 관찰 가능한 동작과 지원되는 공개 API 표면만 문서화합니다. 내부 네임스페이스 경로, 헬퍼 클래스, 메커니즘 표, 런북 파일명, 티켓 접두사는 범위 밖입니다.

Core 전용 배포에서 소프트웨어 서명자는 PAdES B-BB-T를 생성합니다(Core가 RFC 3161 타임스탬프 경로를 제공합니다). Core에는 DSS, VRI, LTV 상태, 아카이브 루프 표면이 없습니다. 장기 레벨은 명명된 오류와 함께 실패-차단됩니다. 이 페이지에 설명된 아카이브 표면은 nextpdf/enterprise를 요구합니다. Security / Signing (Core)를 참조하십시오.

Pro 전용 배포에서 지원되는 서명 경로는 Core B-B/B-T 기준과 Pro 원격 및 클라우드 KMS 서명 워크플로입니다. Pro는 DSS, VRI, 문서 타임스탬프를 생성하지 않으며 아카이브 루프를 실행하지 않습니다. Pro 전용 배포에서 장기 레벨을 요청하는 구성은 누락된 Enterprise 구성 요소를 명시하는 메시지와 함께 실패-차단됩니다. Pro 보안을 참조하십시오.

DSS/VRI 조립, LTV 상태 검사, 아카이브 루프는 동작 수준에서만 설명됩니다. 내부 DSS 재작성 순서, 서명별 VRI 키 지정 내부, 상태 발견 분류 내부, 루프 스케줄링 내부는 공개 표면의 범위 밖이며 여기에서 재현하지 않습니다.

NextPDF Enterprise는 검증 자료를 유지합니다. 호출자가 제공한 OCSP/CRL 응답자 및 RFC 3161 TSA와 통합됩니다. 그 자체가 해당 응답자나 TSA를 운영, 호스팅하거나 가용성을 보장하지는 않습니다. 무기한 유효성은 응답자, TSA, 아카이브 루프 일정, 그리고 운영자에 달려 있으며 — NextPDF Enterprise 단독에 달려 있지 않습니다. 운영자는 TSA 선택 및 도달성, 폐기 응답자 액세스 또는 사전 수집된 자료, 네트워크 정책, 그리고 각 타임스탬프 인증서의 notAfter 이전에 아카이브 루프를 실행할 책임이 있습니다.

이 페이지는 암호화 서명의 장기 검증 및 아카이브에 관한 내용입니다. ETSI EN 319 142에 정의된 장기 구조와의 부합은 구조적 진술이며, 법률 의견이나 인증이 아닙니다. NextPDF는 PAdES 인증 주장을 하지 않습니다. 규제 의무는 자체 준수 담당자 및 법률 자문에게 확인하십시오.