피드로 돌아가기
Node.js 24.7.0 (Current)
Node.js BlogNode.js Blog
Security

Node.js 24.7.0이 양자컴퓨팅 위협 대응을 위해 NIST 양자내성암호 표준(ML-KEM, ML-DSA)을 crypto 모듈에 통합

Node.js 24.7.0 (Current)

2025년 8월 27일6intermediate

Context

양자컴퓨팅의 발전으로 기존 RSA, ECDSA 등 공개키 암호 알고리즘이 위협받고 있으며, 이에 대응하기 위해 애플리케이션을 미리 양자내성 암호로 전환할 필요성이 대두되었다.

Technical Solution

  • ML-KEM(FIPS 203) 지원: crypto.encapsulate()와 crypto.decapsulate() 새로운 메서드 추가로 키 캡슐화 메커니즘 제공
  • ML-DSA(FIPS 204) 지원: 기존 crypto.sign()과 crypto.verify() 메서드에 모듈 격자 기반 디지털 서명 표준 통합
  • Web Cryptography API 확장: globalThis.crypto.subtle에 AES-OCB, ChaCha20-Poly1305, ML-DSA, ML-KEM, SHA-3, SHAKE 알고리즘 및 subtle.getPublicKey(), SubtleCrypto.supports() 메서드 추가
  • 단일 실행파일 애플리케이션 설정 확장: execArgv 필드로 실행 인자 지정, execArgvExtension 필드로 런타임 확장 방식 제어(none, cli, env)

Key Takeaway

Node.js 커뮤니티가 NIST 표준을 조기 채택하여 양자컴퓨팅 위협에 선제적으로 대응하며, 개발자는 코어 암호화 라이브러리를 변경하지 않고도 양자내성 알고리즘으로 전환 가능한 기초를 제공했다.


TLS 1.3 이상을 사용하는 Node.js 기반 서비스에서 ML-KEM과 ML-DSA를 적용하려면 crypto.encapsulate()/decapsulate()와 crypto.sign()/verify()의 알고리즘 파라미터로 해당 FIPS 표준을 명시하면, 현재의 암호화 방식과 양자내성 암호 방식을 병행하여 향후 양자컴퓨팅 공격에 대비할 수 있다.

원문 읽기