**디스크 암호화**(Disk encryption)는 인증되지 않은 사람은 쉽게 해독할 수 없는 코드로 변환하여 정보를 보호하는 기술이다. 디스크 암호화는 디스크 암호화 소프트웨어 또는 하드웨어를 사용하여 디스크 또는 디스크 볼륨에 있는 모든 데이터 비트를 암호화한다. 디스크 암호화는 데이터 저장소에 대한 무단 액세스를 방지하는 데 사용된다.

전체 디스크 암호화 (FDE)는 디스크의 모든 항목을 암호화하지만 운영 체제 로드 시퀀스를 시작하는 코드가 있는 부팅 가능한 디스크의 마스터 부트 레코드 (MBR) 또는 유사한 영역은 암호화되지 않는다. 일부 하드웨어 기반 전체 디스크 암호화 시스템은 MBR을 포함한 전체 부팅 디스크를 실제로 암호화할 수 있다.

투명한 암호화
-------

**투명한 암호화**(Transparent encryption), 또는 **실시간 암호화**(real-time encryption)는 몇몇 디스크 암호화 소프트웨어에서 사용하는 방법이다. "투명"이란 데이터가 로드되거나 저장될 때 자동으로 암호화되거나 해독된다는 사실을 나타낸다.

투명한 암호화를 사용하면 키가 제공되는 즉시 파일에 액세스할 수 있으며 일반적으로 전체 볼륨이 실제 드라이브인 것처럼 마운트되어 암호화되지 않은 파일과 마찬가지로 파일에 액세스할 수 있다. 암호화된 볼륨에 저장된 데이터는 올바른 비밀번호/키 파일 또는 올바른 암호화 키를 사용하지 않고는 읽을 수 (복호화할 수) 없다. 볼륨 내의 파일 이름, 폴더 이름, 파일 내용 및 기타 메타데이터를 포함하여 전체 파일 시스템이 암호화된다.

최종 사용자에게 투명하게 공개하기 위해 투명한 암호화는 일반적으로 암호화 프로세스를 활성화하기 위해 장치 드라이버를 사용해야 한다. 이러한 드라이버를 설치하려면 일반적으로 관리자 액세스 권한이 필요하지만 암호화된 볼륨은 일반적으로 이러한 권한이 없는 일반 사용자가 사용할 수 있다.

일반적으로 사용자 및 응용 소프트웨어가 프로세스를 인식하지 못하는 방식으로 데이터를 쓸 때 매끄럽게 암호화되고 읽을 때 해독되는 모든 방법을 투명한 암호화라고 할 수 있다.

디스크 암호화 vs. 파일 시스템 수준 암호화
-------------------------

디스크 암호화가 모든 상황에서 파일 암호화를 대체하지는 않는다. 디스크 암호화는 더 안전한 구현을 제공하기 위해 파일 시스템 수준 암호화와 함께 사용되기도 한다. 디스크 암호화는 일반적으로 전체 드라이브를 암호화하는 데 동일한 키를 사용하기 때문에 시스템이 실행될 때 모든 데이터를 해독할 수 있다. 그러나 일부 디스크 암호화 솔루션은 여러 키를 사용하여 서로 다른 볼륨을 암호화한다. 공격자가 런타임에서 컴퓨터에 액세스할 수 있는 경우 공격자는 모든 파일에 액세스할 수 있다. 대신 기존 파일 및 폴더 암호화를 사용하면 디스크의 다른 부분에 대해 서로 다른 키를 사용할 수 있다. 따라서 공격자는 여전히 암호화된 파일 및 폴더에서 정보를 추출할 수 없다.

디스크 암호화와 달리 파일 시스템 수준 암호화는 일반적으로 디렉터리 구조, 파일 이름, 수정 타임스탬프 또는 크기와 같은 파일 시스템 메타데이터를 암호화하지 않는다.

디스크 암호화와 신뢰 플랫폼 모듈
------------------

신뢰 플랫폼 모듈 (TPM)은 하드웨어 장치를 인증하는 데 사용할 수 있는 메인보드에 내장된 보안 암호화 프로세서이다. 각 TPM 칩은 특정 장치에 고유하므로 플랫폼 인증을 수행할 수 있다. 액세스하려는 시스템이 예상하는 시스템인지 확인하는 데 사용할 수 있다.

몇몇 디스크 암호화 솔루션이 TPM을 지원한다. 이러한 구현은 TPM으로 암호 해독 키를 래핑하여 하드 디스크 드라이브 (HDD)를 특정 장치에 연결할 수 있다. HDD를 해당 특정 장치에서 제거하고 다른 장치에 장착하면 암호 해독 프로세스가 실패한다. 복호화 비밀번호 또는 토큰으로 복구할 수 있다.

이렇게 하면 장치에서 디스크를 제거하지 못한다는 장점이 있지만 암호화에서 단일 장애점을 만들 수 있다. 예를 들어, TPM이나 메인보드에 문제가 발생하면 별도의 복구 키를 가지고 있지 않는 한 하드 드라이브를 다른 컴퓨터에 연결하여 데이터에 액세스할 수 없다.

구현
--

 이 부분의 본문은 디스크 암호화 소프트웨어의 비교, 디스크 암호화 하드웨어 및 디스크 암호화 이론입니다.
시중에 디스크를 암호화할 수 있는 여러 가지 도구가 있지만 기능과 보안 면에서 큰 차이가 있다. 크게 소프트웨어 기반, 저장 장치 내 하드웨어 기반, 다른 하드웨어 기반 (예: CPU 또는 호스트 버스 어댑터)의 세 가지 종류로 나뉜다. 저장 장치 내의 하드웨어 기반 전체 디스크 암호화를 자체 암호화 드라이브라고 하며 성능에 전혀 영향을 미치지 않는다. 또한 미디어 암호화 키는 장치 자체에 있지 않으므로 운영 체제의 어떤 바이러스도 사용할 수 없다.

신뢰 컴퓨팅 그룹 오팔 스토리지 사양은 자체 암호화 드라이브에 대해 업계에서 인정하는 표준화를 규정한다. 외부 하드웨어는 소프트웨어 기반 솔루션보다 훨씬 빠르지만 CPU 버전은 여전히 성능에 영향을 미칠 수 있고 미디어 암호화 키도 제대로 보호되지 않는다.

부팅 드라이브의 모든 솔루션에는 여러 공급업체의 모든 유형의 솔루션에 사용할 수 있는 사전 부팅 인증 구성 요소가 필요하다. 대칭 암호화가 일반적으로 강력하기 때문에 인증 자격 증명이 일반적으로 주요 잠재적 약점이 된다는 것이 모든 경우에 중요하다.

비밀번호/데이터 복구 메커니즘
----------------

기업 내 모든 디스크 암호화 솔루션을 대규모로 구축하려면 안전한 복구 메커니즘이 필수적이다. 솔루션은 사용자가 예고 없이 퇴사하거나 비밀번호를 잊어버렸을 경우에 대비하여 가장 중요한 데이터인 비밀번호를 복구할 수 있는 쉽고 안전한 방법을 마련해야 한다.

### 질문-응답 암호 복구 메커니즘

질문-응답 비밀번호 복구 메커니즘을 통해 비밀번호를 안전한 방식으로 복구할 수 있다. 일부 디스크 암호화 솔루션에서 제공한다.

질문-응답 비밀번호 복구의 몇 가지 이점은 다음과 같다.

1. 사용자가 복구 암호화 키가 있는 디스크를 휴대할 필요가 없다.
2. 복구 프로세스 중에는 비밀 데이터가 교환되지 않는다.
3. 정보를 스니핑할 수 없다.
4. 네트워크 연결이 필요하지 않다. 즉, 원격 위치에 있는 사용자에게 적합하다.

### 응급 복구 정보 (ERI)-파일 비밀번호 복구 메커니즘

응급 복구 정보 (ERI) 파일은 소규모 기업의 헬프데스크 직원 비용 또는 구현 문제로 인해 질문-응답 메커니즘을 사용할 수 없는 경우 복구하기 위한 대안이다.

ERI 파일 복구의 몇 가지 이점은 다음과 같다.

1. 소규모 회사에서는 구현의 어려움 없이 사용할 수 있다.
2. 복구 프로세스 중에 비밀 데이터가 교환되지 않는다.
3. 정보를 스니핑할 수 없다.
4. 네트워크 연결이 필요하지 않다. 즉, 원격 위치에 있는 사용자에게 적합하다.

보안 문제
-----

대부분의 전체 디스크 암호화 체계는 이미 운영 체제를 실행 중인 시스템을 콜드 부팅한 다음 데이터가 사라지기 전에 메모리 내용을 덤프하여 암호화 키를 훔칠 수 있는 콜드 부팅 공격에 취약하다. 이 공격은 컴퓨터 메모리의 데이터 잔존 속성에 의존하며, 데이터 비트는 전원이 꺼진 후 성능이 저하되는 데 몇 분 정도 걸릴 수 있다. 신뢰 플랫폼 모듈 (TPM)도 운영 체제가 디스크에 액세스하기 위해 암호 해독 키를 메모리에 저장해야 하기 때문에 공격에 효과적이지 않다.

전체 디스크 암호화는 절전 모드에서 컴퓨터를 도난당한 경우에도 취약하다. 깨우기에는 BIOS 부팅 시퀀스를 거치지 않기 때문에 일반적으로 FDE 암호를 묻지 않는다. 반면 최대 절전 모드는 BIOS 부팅 시퀀스를 거치기 때문에 안전하다.

모든 소프트웨어 기반 암호화 시스템은 음성 암호 해독 및 하드웨어 키로거와 같은 다양한 부채널 공격에 취약하다. 반대로 자체 암호화 드라이브는 하드웨어 암호화 키가 디스크 컨트롤러에만 존재하기 때문에 이러한 공격에 취약하지 않다.

또한 대부분의 전체 디스크 암호화 체계는 데이터 변조(또는 비트 부패와 같은 데이터 손상)로부터 보호하지 못한다. 즉, 프라이버시만 제공하며 무결성은 제공하지 않는다. 전체 디스크 암호화에 사용되는 블록 암호 기반 암호화 모드는 인증 태그에 필요한 스토리지 오버헤드 문제로 인해 자체적으로 인증된 암호 방식이 아니다. 따라서 디스크 상의 데이터를 변조할 경우, 읽었을 때 데이터가 깨진 랜덤 데이터로 복호화되며 어떤 데이터가 변조되었는지에 따라 OS 메타데이터의 경우 파일 시스템에 의해, 파일 데이터의 경우 파일을 처리할 해당 프로그램에 의해 오류 메시지가 표시될 수 있다. 이러한 문제를 완화하는 방법 중 하나는 전체 디스크 암호화 외에도 체크섬을 통해 전체 데이터 무결성 검사를 수행하는 파일 시스템(예: Btrfs 또는 ZFS)을 사용하는 것이다.

전체 디스크 암호화
----------

### 이점

전체 디스크 암호화는 일반 파일 또는 폴더 암호화 또는 암호화된 금고에 비해 몇 가지 이점이 있다. 다음은 디스크 암호화의 몇 가지 이점이다.

1. 스왑 공간과 임시 파일을 포함한 거의 모든 것이 암호화된다. 중요한 기밀 데이터가 노출될 수 있으므로 이러한 파일을 암호화하는 것이 중요하다. 그러나 소프트웨어 구현에서는 부트스트랩 코드를 암호화할 수 없다. 예를 들어, 비트락커 드라이브 암호화는 운영 체제가 포함된 볼륨을 완전히 암호화하고 부팅에 사용할 암호화되지 않은 볼륨을 남겨둔다.
2. 전체 디스크 암호화를 사용하면 암호화할 개별 파일의 결정을 사용자의 재량에 맡기지 않는다. 이는 사용자가 중요한 파일을 암호화하는 것을 원하지 않거나 잊어버릴 수 있는 상황에 중요하다.
3. 단순히 암호화 키를 파괴하는 것과 같은 즉각적인 데이터 파괴(암호 파쇄)는 포함된 데이터를 쓸모없게 만든다. 그러나 향후 공격에 대한 보안이 우려되는 경우 제거 또는 물리적 파괴가 권장된다.

### 부팅 키 문제

전체 디스크 암호화에서 해결해야 할 한 가지 문제는 OS가 부팅되기 전에 운영 체제가 저장된 블록을 해독해야 한다는 것이다. 즉, 비밀번호를 묻는 사용자 인터페이스가 있기 전에 키를 사용할 수 있어야 한다. 대부분의 전체 디스크 암호화 솔루션은 사전 부팅 커널의 무결성을 확인하기 위해 시스템 변수와 비교하여 엄격하게 잠기고 해시되는 작고 보안이 높은 운영 체제를 로드하여 사전 부팅 인증을 사용한다. 비트락커 드라이브 암호화와 같은 일부 구현에서는 신뢰 플랫폼 모듈(TPM)과 같은 하드웨어를 사용하여 부팅 환경의 무결성을 보장하고 수정된 버전으로 교체된 부트 로더를 대상으로 하는 공격을 무력화시킬 수 있다. 이것은 부트킷이 사전 부트 암호 해독을 방해하는 데 사용될 가능성 없이 제어된 환경에서 인증이 이루어질 수 있도록 한다.

사전 부팅 인증 환경에서는 외부 키가 시스템에 입력될 때까지 데이터를 암호화하는 데 사용되는 키가 해독되지 않는다.

외부 키를 저장하는 솔루션은 다음과 같다.

* 사용자 이름 또는 비밀번호
* PIN과 함께 스마트카드 사용
* 지문과 같은 생체인증 방법 사용
* 사용자가 랩톱에서 동글을 도난당하지 않도록 하거나 동글도 암호화되어 있다고 가정할 때 동글을 사용하여 키를 저장
* 사용자에게 비밀번호를 요청할 수 있는 부팅 시간 드라이버 사용
* PXE 부팅의 일부로 네트워크 교환을 사용하여 키 복구
* TPM을 사용하여 암호 해독 키 저장, 암호 해독 키에 대한 무단 액세스 또는 부트 로더 파괴 방지
* 위의 여러 가지 조합 사용

이 모든 솔루션들은 각기 다른 보안 수준을 가지고 있다. 그러나 대부분은 암호화되지 않은 디스크보다 낫다.

더 읽기
----

* Casey, Eoghan; Stellatos, Gerasimos J. (2008). "The impact of full disk encryption on digital forensics". 《Operating Systems Review》 **42** (3): 93–98. doi:10.1145/1368506.1368519. S2CID 5793873.