피드로 돌아가기
Dev.toSecurity
원문 읽기
OpenSSL이 Engine API를 통해 외부 HSM과 YubiKey 같은 하드웨어 보안 모듈에 암호화 작업을 위임함으로써 FIPS 140-2 Level 3 준수 환경에서 개인키 노출 위험 제거
What Is the OpenSSL Engine API? Integrating Cloud HSMs and YubiKeys with OpenSSL
AI 요약
Context
코드 서명용 개인키 유출 사건이 반복되면서(예: 2022년 Nvidia 사건) 2023년 6월 1일부터 FIPS 140-2 Level 2 이상의 하드웨어에 개인키 저장을 강제하는 산업 규제가 도입되었다. OpenSSL은 기본적으로 로컬 메모리에서만 암호화 작업을 수행하므로 규제 준수를 위해 외부 하드웨어와의 통합 메커니즘이 필요했다.
Technical Solution
- Engine API 도입: OpenSSL이 기본 암호화 연산(암호화, 서명) 대신 외부 하드웨어로 작업 위임 가능하게 플러그인 구조 제공
- PKCS#11 인터페이스 표준화: pkcs11 engine 플러그인을 통해 PKCS#11을 구현한 모든 암호화 장치에 접근 가능하게 추상화
- Google Cloud HSM 연동: Google PKCS #11 Cloud KMS Library를 사용해 Google Cloud HSM의 암호화 작업을 OpenSSL에서 투명하게 호출
- YubiKey 하드웨어 연동: YKCS11 라이브러리로 YubiKey에 저장된 비대칭 개인키를 사용한 작업 실행
- 개인키 로컬 미보관: HSM 하드웨어에 개인키를 저장 유지한 채로 서명 등 암호화 작업 수행
Key Takeaway
OpenSSL Engine API는 암호화 작업의 외부 위임을 표준화하여 개인키 보호 규제를 기술적으로 충족 가능하게 만들었으며, PKCS#11 같은 표준 인터페이스의 채택으로 다양한 HSM 벤더와의 호환성을 제공한다.
실천 포인트
코드 서명 인증서를 발급하거나 관리하는 조직에서 OpenSSL Engine API와 PKCS#11 인터페이스를 구현한 HSM(Google Cloud HSM, YubiKey 등)을 통합하면 FIPS 140-2 준수 요구사항을 충족하면서도 OpenSSL의 기존 워크플로우를 유지할 수 있다.