4.10. 정책 기반 암호 해독을 사용하여 암호화된 볼륨의 자동 잠금 해제 구성
정책 기반 암호(Policy-Based Decryption)는 시스템에 연결된 사용자 암호,TPM(Trusted Platform Module) 장치, 예를 들어 스마트 카드 또는 특수 네트워크 서버의 지원과 같은 다른 방법을 사용하여 물리적 및 가상 머신에서 하드 드라이브의 암호화된 루트 및 보조 볼륨을 잠금 해제할 수 있는 기술 컬렉션입니다.
기술로 PBD를 사용하면 다른 잠금 해제 방법을 정책과 결합하여 동일한 볼륨을 다른 방식으로 잠금 해제할 수 있습니다. Red Hat Enterprise Linux에서 PBD의 현재 구현은 Clevis 프레임워크와 pins라는 플러그인으로 구성되어 있습니다. 각 핀은 별도의 잠금 해제 기능을 제공합니다. 현재 사용 가능한 두 개의 핀만 TPM 또는 네트워크 서버로 볼륨을 잠금 해제할 수 있는 핀입니다.
NBDE(Network Bound Disc Encryption)는 암호화된 볼륨을 특수 네트워크 서버에 바인딩할 수 있는 PBD 기술의 하위 범주입니다. Clevis의 현재 구현에는 Tang 서버 및 Tang 서버 자체에 대한 Clevis 핀이 포함되어 있습니다.
4.10.1. 네트워크 Bound 디스크 암호화
NBDE(Network-Bound Disk Encryption)를 사용하면 시스템을 다시 시작할 때 수동으로 암호를 입력하지 않고도 물리적 및 가상 머신에서 하드 드라이브의 루트 볼륨을 암호화할 수 있습니다.
Red Hat Enterprise Linux 7에서 KnativeServing는 다음과 같은 구성 요소 및 기술을 통해 구현됩니다.
그림 4.2. Clevis 및 Tang을 사용한 네트워크 Bound 디스크 암호화
Tang은 데이터를 네트워크 상에 바인딩하는 서버입니다. 시스템이 특정 보안 네트워크에 바인딩될 때 데이터를 포함하는 시스템을 사용할 수 있습니다. Tang은 상태 비저장이며 TLS 또는 인증이 필요하지 않습니다. 서버가 모든 암호화 키를 저장하고 사용된 모든 키에 대한 지식이 있는 에스크로 기반 솔루션과 달리 Tang은 클라이언트 키와 상호 작용하지 않으므로 클라이언트로부터 식별 정보를 얻을 수 없습니다.
Clevis 는 자동 암호 해독을 위한 플러그형 프레임워크입니다. KnativeServing에서 Clevis는 LUKS 볼륨의 자동 잠금을 해제하는 기능을 제공합니다. clevis 패키지는 기능의 클라이언트 쪽을 제공합니다.
Clevis PIN은 Clevis 프레임워크의 플러그인입니다. 이러한 핀 중 하나는 DASD 서버 - Tang과의 상호 작용을 구현하는 플러그인입니다.
Clevis 및 Tang은 네트워크 바인딩 암호화를 제공하는 일반 클라이언트 및 서버 구성 요소입니다. Red Hat Enterprise Linux 7에서는 LUKS와 함께 를 사용하여 네트워크 Bound 디스크 암호화를 수행하기 위해 루트 및 루트가 아닌 스토리지 볼륨을 암호화 및 암호 해독하는 데 사용됩니다.
클라이언트 및 서버 측 구성 요소 모두 José 라이브러리를 사용하여 암호화 및 암호 해독 작업을 수행합니다.
Clevis 프로비저닝을 시작할 때 Tang 서버의 Clevis 핀은 Tang 서버의 공개된 symmetric 키 목록을 가져옵니다. 또는 키가 symmetric이므로 Tang의 공개 키 목록을 대역에서 배포할 수 있으므로 클라이언트가 Tang 서버에 액세스하지 않고도 작동할 수 있습니다. 이 모드를 오프라인 프로비저닝 이라고 합니다.
Tang의 Clevis 핀은 공개 키 중 하나를 사용하여 고유하고 암호화 방식으로 암호화 키를 생성합니다. 이 키를 사용하여 데이터를 암호화하면 키가 삭제됩니다. Clevis 클라이언트는 이 프로비저닝 작업에서 생성한 상태를 편리한 위치에 저장해야 합니다. 데이터를 암호화하는 이 프로세스는 프로비저닝 단계입니다. Clevis의 프로비저닝 상태는 luksmeta 패키지를 활용하는 LUKS 헤더에 저장됩니다.
클라이언트가 데이터에 액세스할 준비가 되면 프로비저닝 단계에서 생성된 메타데이터를 로드하고 암호화 키를 복구할 수 있습니다. 이 과정은 회복 단계입니다.
Clevis는 자동으로 잠금 해제될 수 있도록 핀을 사용하여 LUKS 볼륨을 바인딩합니다. 바인딩 프로세스가 성공적으로 완료되면 제공된 Dracut unlocker를 사용하여 디스크의 잠금을 해제할 수 있습니다.
네트워크 연결이 설정되기 전에 시작해야 하는 파일 시스템이 포함된
/tmp
,/var
, /var 및 /usr/local/
디렉토리와 같은 모든 LUKS 암호화 장치는 루트 볼륨으로 간주됩니다. 또한 /var/log/
, var/log/audit/
또는 /opt
과 같이 네트워크가 실행되기 전에 실행되는 모든 마운트 지점을 루트 장치로 전환한 후 조기에 마운트해야 합니다. /etc/fstab
파일에 _netdev
옵션이 없는 상태에서 root 볼륨을 식별할 수도 있습니다.