Enterprise 에디션
Signature — 심층 참조
한눈에 보기
섹션 제목: “한눈에 보기”이것은 NextPDF Enterprise 장기 생산자에 대한 심층 참조입니다. 즉, B-LT 또는 B-LTA 서명이 어떻게 조립되는지, 폐기 자료가 어떻게 수집되고 적용되는지, 문서 타임스탬프가 어떻게 문서를 고정하는지, 그리고 Pro 경계가 어떻게 적용되는지입니다. 이는 동작 수준이자 계약 수준입니다. 구체적인 Enterprise 구현 타입은 여기에서 의도적으로 명명하지 않습니다. 이 페이지는 공개 패키지와 Core 계약 표면만 참조합니다.
가용성 및 라이선스
섹션 제목: “가용성 및 라이선스”이 역량은 NextPDF Enterprise(nextpdf/enterprise)로 제공되며 Enterprise 등급 라이선스 봉투로 활성화됩니다. 해당 자격이 없는 배포는 이 역량의 클래스를 로드하지 않습니다. 에디션 비교 및 라이선스 받기.
정규 레벨→등급 매트릭스: B-B는 Core, Pro, Enterprise가 생성하는 기준입니다. B-T(타임스탬프된)는 Core, Pro, Enterprise가 생성합니다 — Core가 RFC 3161 타임스탬프 경로를 제공하므로 B-T는 프리미엄 패키지를 요구하지 않습니다. B-LT 및 B-LTA(DSS, VRI, 문서 타임스탬프)는 Enterprise 전용으로 생성됩니다. Pro 전용 배포에서 B-LT 또는 B-LTA를 요청하면 실패-차단됩니다. Enterprise 장기 생산자가 없을 때 Core SignatureLevel::isAvailableInEnvironment가 false를 반환하며, Core 오케스트레이터는 레벨을 조용히 격하하지 않고 명명된 오류를 발생시킵니다.
| PAdES 레벨 | 추가 항목 | 생산자 에디션 |
|---|---|---|
| B-B | 서명된 속성이 있는 CMS 서명 | Core, Pro, Enterprise |
| B-T | 서명 값에 대한 신뢰된 RFC 3161 타임스탬프 | Core, Pro, Enterprise |
| B-LT | 검증 자료가 포함된 문서 보안 저장소 | Enterprise 전용 |
| B-LTA | DSS에 대한 문서 타임스탬프(아카이브 루프) | Enterprise 전용 |
개념 모델
섹션 제목: “개념 모델”B-LT 서명은 B-T 서명에 문서 보안 저장소를 더한 것입니다. DSS는 서명 인증서가 만료된 후 검증자가 필요로 하는 인증서, OCSP 응답, CRL 스트림을 담는 Catalog 수준의 딕셔너리입니다 — ISO 32000-2 §12.8.4.3. 장기 검증은 두 가지 딕셔너리 유형 — DSS와 문서 타임스탬프 딕셔너리 — 을 사용합니다 — ISO 32000-2 §12.8. CMS 서명 자체는 /Contents에 DER로 인코딩되어 저장됩니다 — ISO 32000-2 §12.8.1.
B-LTA 서명은 DSS를 포함한 전체 문서 상태에 대한 문서 타임스탬프를 추가하며, 이는 문서 타임스탬프 딕셔너리를 통해 기록됩니다 — ISO 32000-2 §12.8.5. ETSI EN 319 142-2도 동일한 장기 구성 — §5.5 — 과 핸들러 지원 — §6.3.3.3 — 을 설명합니다.
생산자 워크플로
섹션 제목: “생산자 워크플로”- 체인을 빌드합니다. 서명자 인증서에 호출자가 제공한 모든 중간 인증서를 더해 체인을 구성하며, 서명자가 먼저, 신뢰 앵커 방향으로 이어집니다 — RFC 5280 §6.1.
- 폐기 자료를 수집합니다. 각 비루트 인증서에 대해 생산자는 먼저 OCSP에 질의합니다. OCSP 응답은
good,revoked, 또는unknown을 보고하며 — RFC 6960 §2.2 —thisUpdate/nextUpdate로 시간 한정됩니다 — RFC 6960 §4.2. OCSP를 사용할 수 없으면 delta-CRL 지원과 함께 CRL로 폴백합니다. 기준 CRL과 선택적 delta가 별개의 DSS 항목으로 추가됩니다. - DSS를 기록합니다. 인증서, OCSP 응답, CRL은 개별 PDF 스트림 객체로 기록됩니다. 중복은 콘텐츠 해시로 제거됩니다. DSS 딕셔너리는
/Certs,/OCSPs,/CRLs를 통해 이를 참조합니다. - 서명별 VRI(옵트인). 서명의
/Contents값의 대문자 해시로 키가 지정된 VRI 항목은 해당 서명의 특정 인증서/OCSP/CRL을 색인하며, 선택적 검증 시점 항목을 포함합니다. VRI는 기본적으로 꺼져 있습니다. ETSI EN 319 142-1 V1.2.1 §5.4는 새 문서의 경우 DSS에 VRI를 두지 않을 것을 권고합니다. 일부 검증기는 VRI가 있으면 장기 상태를 더 잘 표시하므로 호출자가 활성화할 수 있습니다. - 문서 타임스탬프(B-LTA). DSS가 기록된 후, ByteRange와
/Contents자리 표시자가 있는/SubFilter /ETSI.RFC3161딕셔너리가/DocTimeStamp로 추가됩니다. 전체 파일이 조립된 후 생산자는 ByteRange에 대한 SHA-256 다이제스트를 계산하고, RFC 3161 토큰을 요청하며 — §2.4.1 — DER 토큰을 포함합니다.genTime은 UTC 토큰 생성 시점입니다 — §2.4.2.
폐기 적용
섹션 제목: “폐기 적용”생산자는 다음 우선순위로 적용 모드를 해석합니다. 명시적인 구조화된 적용 모드가 우선합니다. 그렇지 않으면 명시적(지원 중단된) 불리언이 strict 또는 permissive로 매핑됩니다. 그렇지 않으면 기본값은 strict(실패-차단) 입니다.
strict 적용 하에서, 비루트 인증서의 OCSP 응답 누락과 CRL 누락은 경고만 내보내는 것이 아니라 오류를 발생시킵니다. 실패-차단 기본값은 “B-LT” PDF가 DSS에 폐기 자료 없이 생성되면서도 여전히 장기 레벨을 표방하는 일을 방지하기 위해 존재합니다. 허용적(경고 전용) 워크플로는 명시적으로 옵트인해야 합니다. 엄격한 오프라인 네트워크 정책에서는 OCSP/CRL 가져오기가 수행되지 않으며, DSS에 포함된 자료만 사용되고, 자료 누락 조건은 동일한 적용 규칙으로 처리됩니다.
아카이브 루프
섹션 제목: “아카이브 루프”B-LTA 문서 타임스탬프는 자체적으로 만료되는 TSA 인증서에 의해 고정됩니다. 해당 만료 전에 실행되는 아카이브 루프는 TSA 인증서 체인에 대한 신선한 폐기 자료를 수집하고, DSS를 다시 기록하며, 선택적으로 TSA 인증서 해시로 키가 지정된 VRI 항목을 추가하고, 업데이트된 상태에 대한 새 문서 타임스탬프를 추가합니다. 각 새 타임스탬프는 이전 것들을 포괄합니다. 루프를 일정에 맞춰 실행하는 것은 운영상의 의무입니다. TSA가 구성되지 않았거나 엄격한 오프라인 정책 하에서 루프가 요청되면 생산자는 오류를 발생시킵니다. 전체 아카이브 표면은 Archive 심층 참조에 문서화되어 있습니다.
API 표면 (공개 계약만)
섹션 제목: “API 표면 (공개 계약만)”| 타입 | 종류 | 역할 | 안정성 | 도입 |
|---|---|---|---|---|
SignerInterface | interface (NextPDF\Contracts) | Core 서명 계약 | stable | 1.0.0 |
LtvManagerInterface | interface (NextPDF\Contracts) | 런타임에 해석되는 장기 생산자 + 아카이브 루프 계약 | stable | 1.0.0 |
TsaClientInterface | interface | 생산자가 호출하는 RFC 3161 TSA 클라이언트 | stable | 1.0.0 |
SignatureLevel | enum (NextPDF\Security\Signature) | B-B, B-T, B-LT, B-LTA 선택자 및 가용성 프로브 | stable | 1.0.0 |
SignatureLevel::requiresDss → B-LT, B-LTA에 대해 true. requiresDocumentTimestamp → B-LTA에 대해서만 true. requiresTimestamp → B-T, B-LT, B-LTA에 대해 true. 프로덕션 코드는 이러한 계약에 의존합니다. 구체적인 Enterprise 구현 클래스는 내부용이며 공개 API의 일부가 아닙니다.
적합성
섹션 제목: “적합성”| 주장 | 표준 | 조항 |
|---|---|---|
서명/타임스탬프는 /Contents에 DER로 인코딩되어 저장됩니다. | ISO 32000-2 | §12.8.1 |
| LTV는 DSS와 문서 타임스탬프 딕셔너리를 사용합니다. | ISO 32000-2 | §12.8 |
| DSS는 문서 카탈로그의 DSS 키 값인 딕셔너리이며, Certs, OCSPs, CRLs를 담습니다. | 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 |
| RFC 3161 요청은 TSTInfo를 반환합니다. genTime은 UTC 생성 시점입니다. | RFC 3161 | §2.4.1, §2.4.2 |
| OCSP good/revoked/unknown은 thisUpdate/nextUpdate로 한정됩니다. | RFC 6960 | §2.2, §4.2 |
| 신뢰 앵커로의 경로 검증 입력. | RFC 5280 | §6.1 |
모든 조항은 의역되었습니다. NextPDF는 규범 텍스트를 재현하지 않습니다. NextPDF는 PAdES 인증 주장을 하지 않습니다. 생산자는 ETSI EN 319 142에 정의된 B-LT 및 B-LTA 레벨에 부합하는 구조를 기록합니다. 적합성 테스트 결과나 제3자 증명은 주장하지 않습니다. ETSI EN 319 142-1 기준 레벨 부분은 인용된 근거 집합 밖에 있으므로, 인용된 ETSI 앵커는 EN 319 142-2이며 ISO/RFC 앵커가 장기 및 타임스탬프 주장을 담습니다 — Core 서명 참조와 동일한 공개 태세입니다. 생성된 서명이 검증되는지 여부는 검증자의 신뢰 앵커 및 폐기 최신성 정책에 대한 검증자의 결정입니다. 생산자는 자료를 포함할 뿐 신뢰된 결과를 단언하지 않습니다.
엣지 케이스 및 FIPS 모드 동작
섹션 제목: “엣지 케이스 및 FIPS 모드 동작”엣지 케이스
섹션 제목: “엣지 케이스”- DSS는 문서 타임스탬프보다 먼저 기록되어야 합니다. DSS 이전에 기록된 타임스탬프는 검증 자료를 포괄하지 않습니다.
- strict 적용(기본값)은 비루트 인증서의 폐기 자료가 누락될 때 오류를 발생시킵니다. permissive는 옵트인입니다.
- TSA가 구성되지 않은 B-LTA는 B-LT를 생성하지 않고 오류를 발생시킵니다.
- 엄격한 오프라인 정책: OCSP/CRL/TSA 네트워크 액세스가 없습니다. B-LTA는 엄격한 오프라인 상태에서 도달할 수 없습니다.
- 문서 타임스탬프 토큰에는 한정된 예약 공간이 있습니다. 이를 초과하는 토큰은 잘라내지 않고 오류를 발생시킵니다.
FIPS 모드 동작
섹션 제목: “FIPS 모드 동작”FIPS 140-3 암호 정책 프로파일은 보안 모듈과 함께 문서화된 Enterprise 역량입니다. 장기 생산자는 문서 타임스탬프에 사용되는 SHA-256 다이제스트와 RFC 3161 교환만 추가합니다. 서명 프리미티브는 Core 서명자의 것입니다. FIPS 프로파일 하에서 동일한 DSS, VRI, 문서 타임스탬프 구조가 생성됩니다. 제약은 DSS 레이아웃이 아니라 서명 및 다이제스트 알고리즘에 적용됩니다. PKCS#11을 통한 하드웨어 키 보관은 보안 모듈과 함께 문서화되어 있으며 이 페이지의 범위 밖입니다.
동작 계약
섹션 제목: “동작 계약”- Core는 B-B와 B-T를 생성합니다(B-T는 서명 값에 RFC 3161 타임스탬프를 추가함). Pro는 동일한 Core 스택을 통해 B-B와 B-T를 생성합니다. B-LT 및 B-LTA는 Enterprise 전용으로 생성됩니다.
- 생산자는 DSS(B-LT)와 DSS에 대한 문서 타임스탬프(B-LTA)를 기록합니다. 검증 자료를 포함하며, 신뢰된 검증 결과를 단언하지 않습니다.
- 실패-차단 폐기 적용 기본값은 호출자가 허용적 워크플로를 옵트인하지 않는 한 비루트 인증서의 폐기 자료가 누락될 때 오류를 발생시킵니다.
- B-LTA는 구성된 TSA를 요구합니다. 없으면 B-LTA 단계는 B-LT로 격하되지 않고 오류를 발생시킵니다.
Core 폴백
섹션 제목: “Core 폴백”Core 전용 배포에서 소프트웨어 서명자는 SignerInterface를 통해 PAdES B-B 및 B-T를 생성합니다. Core가 RFC 3161 타임스탬프 경로를 제공하므로 B-T는 프리미엄 패키지가 필요 없습니다. Core에는 DSS, VRI, 문서 타임스탬프 생산자가 없습니다. B-LT 또는 B-LTA 요청은 SignatureLevel::isAvailableInEnvironment가 false를 반환하여 실패-차단됩니다.
Pro 폴백
섹션 제목: “Pro 폴백”Pro 전용 배포에서 서명 경로는 B-B/B-T 기준에 원격 및 클라우드 KMS 서명 워크플로를 더한 것입니다. Pro는 DSS나 문서 타임스탬프를 생성하지 않습니다. RemoteSigningConfig는 Core SignatureLevel enum을 담지만, 장기 레벨(B-LT/B-LTA)은 Pro가 처리하지 않는 전방 선언(forward-declared) 값입니다. 장기 생산자는 Core 계약을 통해 런타임에 해석되며 nextpdf/enterprise에 포함됩니다.
Enterprise 경계 참고
섹션 제목: “Enterprise 경계 참고”내부 메커니즘 세부 사항은 소스 저장소의 내부 문서에 남아 있으며 이 매뉴얼의 범위 밖입니다.
배포 경계
섹션 제목: “배포 경계”NextPDF Enterprise는 검증 자료를 포함합니다. 호출자가 제공한 OCSP/CRL 응답자 및 RFC 3161 TSA와 통합됩니다. 그 응답자나 TSA를 운영, 호스팅하거나 가용성을 보장하지는 않습니다. 장기 유효성은 응답자, TSA, 아카이브 루프 일정, 그리고 운영자에 따라 달라지며 — NextPDF Enterprise 단독에 달려 있지 않습니다. 운영자는 TSA 선택 및 도달성, 폐기 응답자 액세스 또는 사전 수집된 자료, 네트워크 정책, 그리고 각 타임스탬프 인증서가 만료되기 전에 아카이브 루프를 실행하는 책임을 소유합니다.
게시 경계
섹션 제목: “게시 경계”이 페이지는 외부에서 관찰 가능한 동작과 지원되는 공개 API 표면만 문서화합니다. 내부 네임스페이스 경로, 헬퍼 클래스, 메커니즘 표, 런북 파일명, 티켓 접두사는 범위 밖입니다.
법률 준수 경계
섹션 제목: “법률 준수 경계”ETSI EN 319 142에 정의된 B-LT 및 B-LTA 구조와의 부합은 구조적 진술이며, 법률 의견이나 인증이 아닙니다. NextPDF는 PAdES 인증 주장을 하지 않습니다. 생성된 서명이 검증되는지 여부는 검증자의 신뢰 앵커 및 폐기 최신성 정책에 대한 검증자의 결정입니다.
함께 보기
섹션 제목: “함께 보기”- Signature (역량 개요)
- Archive 심층 참조 — DSS/VRI 유지보수, LTV 상태, 아카이브 루프.
- Security / Signing (Core) — CMS, RFC 3161, RFC 5280, OCSP/CRL.
- Pro security — B-B 기준과 Enterprise 경계.
- PAdES 기준 매핑