# OpenSSL 4.0.0 릴리스

> Clean Markdown view of GeekNews topic #28564. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=28564](https://news.hada.io/topic?id=28564)
- GeekNews Markdown: [https://news.hada.io/topic/28564.md](https://news.hada.io/topic/28564.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-04-16T07:33:12+09:00
- Updated: 2026-04-16T07:33:12+09:00
- Original source: [github.com/openssl](https://github.com/openssl/openssl/releases/tag/openssl-4.0.0)
- Points: 5
- Comments: 2

## Topic Body

- 다수의 **신규 기능과 비호환 변경**이 포함된 대규모 릴리스  
- **ECH(Encrypted Client Hello, RFC 9849)** 지원이 내장되어, TLS 클라이언트 프라이버시 보호를 위한 별도 구현 불필요  
- **SSLv2 Client Hello 및 SSLv3, 엔진(engine)** 코드가 완전 삭제되어, 레거시 프로토콜과의 단절 확정  
- **RFC 8998** 기반 SM2 서명(`sm2sig_sm3`), 키 교환(`curveSM2`), 포스트퀀텀 그룹 `curveSM2MLKEM768` 지원 추가  
- **cSHAKE**(SP 800-185), **ML-DSA-MU** 다이제스트, SNMP KDF, SRTP KDF 등 새로운 암호 기능 추가  
- TLS 1.2에서 **RFC 7919 기반 FFDHE 키 교환** 협상 지원  
- FIPS 모듈 설치 시 `-defer_tests` 옵션으로 **FIPS 자체 테스트 지연 실행** 가능  
- 다수 API 함수 시그니처에 **`const` 한정자 추가**, `ASN1_STRING` 불투명화 등 API 현대화  
- `X509_cmp_time()` 등 deprecated 함수를 **`X509_check_certificate_times()`로 대체** 권고  
- `PKCS5_PBKDF2_HMAC`의 FIPS 프로바이더 사용 시 **하한값 검사 강제**, CRL 검증에 추가 검사 항목 보강  
- deprecated된 커스텀 `EVP_CIPHER`, `EVP_MD`, `EVP_PKEY` 메서드, 고정 SSL/TLS 버전 함수, `c_rehash` 스크립트, `BIO_f_reliable()` 등 **레거시 기능 대규모 정리**  
- `darwin-i386`, `darwin-ppc` 등 **구형 Apple 빌드 타겟 제거**  
- Windows에서 **정적/동적 VC 런타임 링크 선택** 지원  
- 이번 릴리스는 OpenSSL의 **보안·표준 호환성 강화를 위한 전환점**

## Comments



### Comment 55750

- Author: kaydash
- Created: 2026-04-18T13:49:53+09:00
- Points: 1

1.1.1 쓰던때가 어제같은데

### Comment 55526

- Author: neo
- Created: 2026-04-16T07:33:13+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=47768788) 
- 드디어 **Encrypted Client Hello(ECH)** 지원이 추가됨에 기쁨을 표현함  
  - 지금 바로 활성화할 수 있는 기능인지, 아니면 브라우저와 서버가 지원하기까지 또 **오랜 시간**이 걸릴지 궁금함  
  - 그리고 **QUIC**도 함께 언급함  
  - 다만 대부분의 네트워크에서는 이런 트래픽을 **차단**할 가능성이 높음을 경고함  

- [HAProxy 블로그의 SSL 스택 현황 글](https://www.haproxy.com/blog/state-of-ssl-stacks)을 인용하며, 이제는 **v3를 사용하지 말아야 함**을 강조함  
  - OpenSSL이 작년에야 개발자들이 QUIC을 직접 구현할 수 있도록 API를 제공하기 시작한 점을 긍정적으로 평가함  
    예전에는 OpenSSL을 사용하면 QUIC 구현도 강제로 OpenSSL의 스택을 써야 했음  
    QUIC은 UDP 위에 TCP 기능을 재구현한 프로토콜로, **HTTP/3의 기반**이 됨  
    하지만 OpenSSL의 QUIC 구현이 마음에 들지 않아도 다른 선택지가 없었음  
    예를 들어 curl이 OpenSSL에 링크되어 있다면, curl도 자동으로 OpenSSL의 QUIC을 써야 했음  
    이에 대해 curl의 Daniel Stenberg가 [비판적인 블로그 글](https://daniel.haxx.se/blog/2026/01/17/more-http-3-focus-one...)을 썼다고 소개함  

- OpenSSL의 현재 상태를 묻는 질문에서, 예전 **Heartbleed 사건** 이후로 보안 측면은 크게 개선되었음을 언급함  
  - Heartbleed 이후 OpenSSL의 보안 관리 체계가 강화되었고, 지금은 인터넷에서 가장 활발히 연구되는 보안 타깃 중 하나가 되었음  
    하지만 **소프트웨어 품질**은 오히려 퇴보했다는 평가가 많음  
    OpenSSL 3.0의 설계가 성능 면에서 후퇴했고, pyca/cryptography 같은 주요 프로젝트들이 OpenSSL을 **대체하려는 움직임**을 보이고 있음  
  - 다른 사용자는 OpenSSL 3가 성능과 복잡성, 개발자 경험 모두에서 **큰 실망**이었다고 평가함  
    OpenSSL 3의 핵심 연산은 1.1.1보다 훨씬 느리고, [HAProxy의 SSL 스택 분석 글](https://www.haproxy.com/blog/state-of-ssl-stacks)과 [Python cryptography 팀의 성명](https://cryptography.io/en/latest/statements/state-of-openss...)을 인용함  
    OpenSSL 3는 많은 요소를 동적으로 바꾸면서 **락(lock)** 이 남발되었고, API도 OSSL_PARAM 방식으로 바뀌어 성능 저하와 코드 복잡도를 초래했다고 설명함  

- OpenSSL 3와 비교하면 이번 전환은 매우 **매끄럽게 진행**되었음을 언급함  
  Fedora에서는 “Engines” 제거 외에는 큰 문제 없이 대부분의 의존성이 수정되었음  

- 수동 **opt-out 절차**가 점점 더 큰 마찰 요소가 되고 있음을 지적함  
  커뮤니티의 반발이 있어야만 기본 설정이 개선되는 현실을 비판하며, **신뢰는 쌓기 어렵고 잃기 쉽다**는 점을 강조함  

- “suckerpinch video” 타이밍에 맞춰 릴리스된 것 같다고 농담 섞인 반응을 보임  

- 비전문가로서, 이번 변경이 꽤 **깔끔한 정리**로 보이지만 호환성 깨짐은 항상 부담임을 언급함  
  OpenSSL 3.x가 그리 사랑받지 못했던 기억을 떠올림  
  - 그래서 이번이 **버전 4**라는 말로 응수함  

- 메이저 버전 업이라 느려질까 걱정하지만, 실제 벤치마크에서는 평균 **10% 정도의 성능 저하**만 있었다고 함  
  인터넷 환경 전체로 보면 큰 문제는 아니라고 덧붙임  

- 코드에서 **const 사용이 늘어난 점**을 반가워함  
  임베디드 환경에서는 직접 const를 추가해야 하는 경우가 많았는데, 이제 기본적으로 적용되는 방향이 마음에 든다고 함  

- 마지막으로, **리눅스 배포판 패키지 관리자들의 비명**을 상상하며 농담을 던짐
