시스템 전체 알고리즘을 활성화한 후 OpenSSL TLS 툴킷을 사용하여 키 생성, 서명 서명, 서명 확인, ML-DSA post-quantum 알고리즘을 사용하여 X.509 인증서를 생성할 수 있습니다.
OpenSSL의 키에 ML-DSA 사용 예
$ OpenSSL genpkey -algorithm mldsa65 -out < mldsa-privatekey.pem>
-
ML-DSA-65 알고리즘을 사용하여 개인 키를 만듭니다.
$ OpenSSL pkey -in < mldsa-privatekey.pem > -pubout -out < mldsa-publickey.pem>
-
ML-DSA-65 암호화 개인 키를 기반으로 공개 키를 생성합니다.
$ openssl dgst -sign <mldsa-privatekey.pem> -out <signature_message>
-
개인 키를 사용하여 메시지에 서명합니다.
$ openssl dgst -verify <mldsa-publickey.pem> -signature <signature_message>
-
공개 키를 사용하여 ML-DSA-65 서명을 확인합니다.
openssl req \
-x509 \
-newkey mldsa65 \
-keyout <localhost-mldsa.key> \
-subj /CN=<localhost> \
-addext subjectAltName=DNS:<localhost> \
-days <30> \
-nodes \
-out <localhost-mldsa.crt>
$ openssl req \
-x509 \
-newkey mldsa65 \
-keyout <localhost-mldsa.key> \
-subj /CN=<localhost> \
-addext subjectAltName=DNS:<localhost> \
-days <30> \
-nodes \
-out <localhost-mldsa.crt>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
인증서 세트와 시스템이 DEFAULT:TEST-PQ
시스템 전체 암호화 정책에 구성된 상태에서 OpenSSL 서버 및 클라이언트는 쿼리 후 연결과 기존 알고리즘만 사용하는 연결을 설정할 수 있습니다.
예를 들어 PQC 키 교환 및 PQC 인증서로 연결을 설정합니다.
openssl s_server \
-cert <localhost-mldsa.crt> -key <localhost-mldsa.key> \
-dcert <localhost-rsa.crt> -dkey <localhost-rsa.key> >/dev/null &
openssl s_client \
-connect <localhost:4433> \
-CAfile <localhost-mldsa.crt> </dev/null \
|& grep -E '(Peer signature type|Negotiated TLS1.3 group)'
$ openssl s_server \
-cert <localhost-mldsa.crt> -key <localhost-mldsa.key> \
-dcert <localhost-rsa.crt> -dkey <localhost-rsa.key> >/dev/null &
$ openssl s_client \
-connect <localhost:4433> \
-CAfile <localhost-mldsa.crt> </dev/null \
|& grep -E '(Peer signature type|Negotiated TLS1.3 group)'
Peer signature type: mldsa65
Negotiated TLS1.3 group: X25519MLKEM768
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
post-quantum 암호화 알고리즘만 사용하는 연결을 설정합니다. 예를 들면 다음과 같습니다.
openssl s_client \
-connect <localhost:4433> \
-CAfile <localhost-rsa.crt> \
-sigalgs 'rsa_pss_pss_sha256:rsa_pss_rsae_sha256' \
-groups 'X25519:secp256r1:X448:secp521r1:secp384r1' </dev/null \
|& grep -E '(Peer signature type|Server Temp Key)'
$ openssl s_client \
-connect <localhost:4433> \
-CAfile <localhost-rsa.crt> \
-sigalgs 'rsa_pss_pss_sha256:rsa_pss_rsae_sha256' \
-groups 'X25519:secp256r1:X448:secp521r1:secp384r1' </dev/null \
|& grep -E '(Peer signature type|Server Temp Key)'
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
기존 인증서(RSA, ECDSA 및 EdDSA) 및 post-quantum 인증서를 동시에 사용하도록 서버를 구성할 수 있습니다. 서버는 클라이언트가 선호하고 지원하는 인증서(새 클라이언트의 경우 post-quantum) 및 기존 인증서를 자동으로 투명하게 선택합니다.
Red Hat Enterprise Linux 10의 모든 PQC 알고리즘은 기술 프리뷰 기능으로 제공됩니다. 패키지 및 시스템 전체 암호화 정책 이름은 요청 후 암호화가 기술 프리뷰 상태를 종료할 때 변경될 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.