반응형
<서버>
1. 서버 인증서 구축.
oqs-provider 0.8.0 - 사용 중단 통지
이는 Kyber 및 Dilithium(3라운드 버전) 사용자에게 각각 ML-KEM(FIPS 203 최종 버전) 및 ML-DSA(FIPS 204 최종 버전)로 전환하도록 알리기 위한 것이며, 두 가지 모두에 대한 지원이 oqsprovider의 다음 릴리스와 함께 제거될 것이기 때문입니다.
#CA (인증 기관) 인증서 생성
openssl req -x509 -new -newkey mldsa44 -keyout mldsa44_CA.key -out mldsa44_CA.crt -nodes -subj "/CN=test CA" -days 365 -config /opt/homebrew/etc/openssl@3/openssl.cnf
#서버용 개인 키 생성
openssl genpkey -algorithm mldsa44 -out mldsa44_srv.key
#서버의 CSR(인증서 서명 요청, Certificate Signing Request) 생성
openssl req -new -newkey mldsa44 -keyout mldsa44_srv.key -out mldsa44_srv.csr -nodes -subj "/CN=test server" -config /opt/homebrew/etc/openssl@3/openssl.cnf
#서버의 인증서를 CA로 서명하여 발급
openssl x509 -req -in mldsa44_srv.csr -out mldsa44_srv.crt -CA mldsa44_CA.crt -CAkey mldsa44_CA.key -CAcreateserial -days 365
## 사용하는 버전이 0.8.0이기 때문에 kyber가 아닌 mldsa로 서명 키 생성
- oqs-provider에 알고리즘 리스트를 보고 원하는 알고리즘으로 선택하면 됨.
2.
#TLS 포트 번호가 보통 443이기 때문에 443으로 지정
openssl s_server -accept 443 -cert mldsa44_srv.crt -key mldsa44_srv.key -www -tls1_3 -groups mlkem768:frodo640shake
- 443 포트 번호는 인터넷에서 HTTPS(Hypertext Transfer Protocol Secure) 트래픽을 처리하는 기본 포트
- 웹 사이트가 HTTPS(SSL/TLS 암호화)를 사용할 때 기본적으로 443 포트를 통해 통신
- 예 : 브라우저에서 https://examples.com을 입력하면 내부적으로 443포트가 사용
- 상황에 따라 포트 번호를 정해서 443으로 꼭 사용하지 않아도 됨.
#결과

반응형
<클라이언트>
1.
openssl s_client -connect <서버 ip 주소>:<포트 번호> -groups frodo640shake
- 저는 frodo640shake를 사용했지만, oqs-provider 라이브러리 리스트를 보고 원하는 알고리즘을 설정하면 됩니다.
#결과 :verify error 나는 이슈는 아직 해결 못함.



반응형
'tls' 카테고리의 다른 글
Ubuntu 20.04에서 OpenSSL 3.2.0으로 업데이트 (0) | 2025.02.17 |
---|---|
알파인 리눅스에서 PQ TLS 1.3 handshake 실습 (0) | 2025.02.15 |
PQ TLS 1.3 handshake 실습 1: oqs-provider 라이브러리를 openssl에 확장 (0) | 2025.02.14 |
NGINX를 Kyber 지원하게 컴파일 성공하신분 계시나요? (0) | 2025.02.13 |
Open Quantum Safe (OQS) 프로젝트의 라이브러리 : liboqs와 oqs-provider (0) | 2025.02.12 |