양자내성암호(PQC) 지원 기능

Prev Next

Hardware Security Module(HSM) 서비스는 Thales Luna HSM을 기반으로 합니다. Luna HSM Firmware 7.9.0부터 NIST 표준 양자내성암호(PQC) 알고리즘이 어플라이언스 펌웨어에 내장되었으며, 이후 펌웨어/클라이언트 버전에서 상태 유지형 해시 기반 서명(HSS/LMS)까지 지원 범위가 확장되었습니다.

이 문서는 Hardware Security Module에서 사용 가능한 PQC 관련 기능을 한눈에 정리하고, 목적에 맞는 상세 가이드(Java 예제, C++ 예제)로 안내하는 개요 문서입니다.

참고

지원 환경

지원 환경을 설명합니다.

지원 버전

Hardware Security Module 서비스는 2026년 7월 3일 기준 펌웨어 버전 7.9.3을 제공합니다.

구성 요소 버전 비고
HSM 클라이언트(Luna Client) 10.9.3 Luna Client 설치 가이드
JDK (Java 예제 사용 시) OpenJDK 또는 Oracle JDK 24 이상 (LTS는 25 이상) Luna HSM Client 10.9.1 Customer Release Notes에 명시된 지원 버전

PQC 기능

Hardware Security Module 서비스에서 사용 가능한 PQC 관련 기능과 각각의 사용 방법은 다음과 같습니다.

알고리즘/기능 분류 용도 사용 방법
ML-KEM (FIPS 203) 키 캡슐화(KEM) ML-KEM을 이용한 키 캡슐화·역캡슐화 mechanism(CKM_ML_KEM)이며, FIPS 203에 정의되어 있습니다. Java(LunaProvider) 코드 또는 C++(Cryptoki) 코드: Java 예제, C++ 예제
ML-DSA (FIPS 204) 전자서명 ML-DSA를 이용한 서명 생성·검증 mechanism(CKM_ML_DSA)이며, FIPS 204에 정의되어 있습니다. Luna HSM Firmware 7.9.0 이상에서 사용할 수 있습니다. Java(LunaProvider) 코드 또는 C++(Cryptoki) 코드: Java 예제, C++ 예제
HSS/LMS (NIST SP 800-208) 전자서명(상태 유지형) RFC 8554 및 NIST SP 800-208에 정의된 상태 유지형 해시 기반 서명 생성·검증 방식 C++(Cryptoki) 코드만, Java Provider 미노출: C++ 예제
주의

HSS/LMS는 상태를 유지하는(stateful) 서명 방식으로, 개인키가 남은 서명 가능 횟수를 내장하고 매 서명마다 소진됩니다. Thales 공식 문서에 따르면 HSS 개인키는 복제(clone)할 수 없어 백업/복원이 불가능하고 HA(고가용성) 그룹에도 포함시킬 수 없으므로, 백업 스크립트나 HA 파티션 구성에 HSS 키를 포함시키지 않도록 주의하십시오. 자세한 제약 사항은 C++ 예제를 참조해 주십시오.

가이드 선택

사용하려는 알고리즘과 언어에 따라 아래 가이드를 참조해 주십시오.

알고리즘/기능 Java C++
ML-KEM (키 캡슐화) Java 예제 C++ 예제
ML-DSA (전자서명) Java 예제 C++ 예제
HSS/LMS (상태 유지형 전자서명) 미지원 C++ 예제
참고

HSS/LMS는 Java Provider로 노출되지 않아 PKCS#11(Cryptoki) C++ 예제로만 제공됩니다.