피드로 돌아가기
How to Auto-Unlock LUKS2 Encrypted Disks at Boot with Clevis and Tang
Dev.toDev.to
Security

JOSE/JWK 기반 Clevis-Tang 연동을 통한 Headless 서버 LUKS2 자동 언락 구현

How to Auto-Unlock LUKS2 Encrypted Disks at Boot with Clevis and Tang

Fatih Şennik2026년 5월 12일4intermediate

Context

Headless VM 환경의 Full Disk Encryption 적용 시 재부팅마다 발생하는 수동 Passphrase 입력 병목 현상 발생. 물리적 접근이 불가능한 원격 데이터센터 환경에서 보안성을 유지하며 자동 부팅을 실현하는 아키텍처 필요.

Technical Solution

  • JOSE/JWK Key Exchange 프로토콜을 활용하여 Passphrase 전송 없이 Disk Key를 복원하는 무상태(Stateless) 인증 구조 설계
  • Tang 서버를 네트워크 상의 독립적 Endpoint로 배치하여 물리적 서버 탈취 시 데이터 접근을 차단하는 Network-Bound Disk Encryption 구현
  • LUKS2의 Multi-keyslot 특성을 이용해 Clevis 전용 슬롯을 추가함으로써 기존 수동 복구 Passphrase의 가용성 보존
  • Initramfs 단계에서 네트워크 인터페이스 활성화 및 정적 IP/DHCP 설정을 강제하여 Root File System 마운트 전 Tang 서버 통신 보장
  • Tang 서버의 /adv 엔드포인트를 통한 Public Key Advertisement 방식으로 복잡한 설정 파일 없는 경량 시스템드 소켓 서비스 구축

- LUKS2 복구용 수동 Passphrase 슬롯을 별도로 유지하여 Tang 서버 장애 시 가용성 확보 - Initramfs-tools 설정을 통해 부팅 초기 단계의 네트워크 인터페이스 활성화 여부 검증 - Tang 서버 배치를 위한 별도의 격리된 네트워크 세그먼트 및 비표준 포트 적용으로 보안 강화 - Clevis luks unlock 명령어를 통한 재부팅 전 자동 언락 작동 여부 사전 테스트

원문 읽기