Dm-crypt/ko

dm-crypt는 리눅스 커널 암호화 API 프레임워크와 장치 매퍼 하위 시스템을 활용한 디스크 암호화 시스템입니다. 관리자는 dm-crypt로 전체 디스크, 논리 볼륨 파티션, 단일 파일을 암호화할 수 있습니다.

dm-crypt 하위 시스템은 암호화 데이터 접근에 다중키를 허용하며, 키를 다루기도 하는(키 변경, 암호 추가 등)리눅스 통합 키 설정(LUKS) 구조를 지원합니다. dm-crypt에서 비 LUKS 설정도 지원하지만, 이 글에서는 유연성, 관리성, 커뮤니티 규모의 광범위한 지원을 위한 LUKS 기능에 중점을 두었습니다.

설정
dm-crypt를 활용할 수 있기 전 준비해야 할 두가지 사항이 있습니다:


 * 1) 커널 설정
 * 2)  꾸러미 설치

커널 설정
dm-crypt를 사용하려면 설정해야 할 몇가지 사항이 있습니다.

먼저 device mapper 기반 구조 지원과 crypt target을 커널에 포함해야합니다:

다음, 관리자가 암호화 기능을 사용하려면 리눅스 커널에서 암호화 API 모음을 지원해야 합니다. "Cryptographic API" 섹션에서 찾아볼 수 있습니다:

마찬가지로 루트 파일 시스템을 암호화 했다면, 루트 파일 시스템을 마운트하기 전 루트 파일 시스템을 해독할 램 파일 시스템을 만들어야 합니다. 따라서, initramfs 지원도 필요합니다:

Cryptsetup 설치
꾸러미는 암호화 저장소를 열고 닫으며 이 저장소와 관련있는 암호문 또는 키를 관리하는 명령을 제공합니다.

키 파일 또는 암호문
암호화 저장소를 시작하려면, 관리자가 암호화 키를 사용하는 방법을 결정해야합니다. 에서는 암호문 또는 키 파일을 사용하는 선택 방안이 있습니다. 키 파일을 사용하는 경우에는 어떤 파일이라도 상관 없지만 제대로 보호한 임의 데이터(키 파일로의 접근은 암호화 데이터에 접근을 의미하는 것으로 가정)가 담겨있는 파일을 사용하시는 것이 좋습니다.

키 파일을 만든다면 명령을 사용할 수 있습니다:

다음 단락에서는 암호문, 키 파일 두 가지 경우에 대해 모든 명령 과정을 보여드리겠습니다. 물론 둘 중 한가지 방식만 필요합니다.

암호화 저장소 플랫폼 만들기
암호화 저장소 플랫폼(디스크, 파티션, 파일 등이 될 수 있음)을 만들려면 luksFormat 옵션과 함께 명령을 사용하십시오.

예를 들어, 암호화 데이터가 담긴 저장소 미디어 를 취하려면:

암호문 대신 키 파일을 사용하려면:

는 에게 실제 암호화 키를 사용할 키 길이를 알려줍니다(암호문 또는 키 파일과는 달리, 실제 암호화 키에 접근할 때 사용합니다).

암호화 저장소 열기
암호화 저장소(공개 해독 방식으로 실제 데이터에 접근할 수 있게 함)를 열려면, luksOpen 명령을 사용하십시오.

키 파일을 사용한다면 명령은 다음과 같습니다:

명령 처리가 끝나면 새  장치 파일을 사용할 수 있습니다. 이 장치 파일은 일반 저장소 위치와 같이 마운트할 수 있습니다:

암호화 저장소 닫기
암호화 저장소(공개 해독 방식으로 실제 데이터에 더이상 접근할 수 없게 함)를 닫으려면, luksClose 명령을 사용하십시오:

물론 해당 장치를 더 이상 사용하고 있지 않은지 확인하십시오.

LUKS 키 다루기
LUKS 는 실제 암호화 키에 접근할 때 사용합니다. (암호화) 파티션, 디스크, 파일의 헤더에 저장합니다.

슬롯 감청
luksDump 명령으로, 암호화 파티션, 디스크, 파일의 정보를 나타낼 수 있습니다. 이 정보에는 슬롯을 포함합니다:

위 예제에서, 두 슬롯을 사용했습니다. luksDump는 어떤 민감한 내용도 보여주지 않습니다. LUKS 헤더의 일부만 보여줍니다. luksDump를 호출한다고 해서 해독키를 보여주는건 아닙니다.

키 파일 또는 암호문 추가
암호화 저장소에 접근할 추가 키 파일 또는 암호문을 추가하려면, luksAccKey 옵션을 사용하십시오:

키 파일로 키 잠금을 해제하려면(그래도 암호문에 추가한다면):

키 파일(를 말함)을 추가했다면:

또는 메인키를 잠금 해제할 때 첫번째 키 파일을 사용한다면:

키 파일 또는 암호문 제거
luksRemoveKey 옵션으로 키 파일 또는 암호문을 제거할 수 있습니다(따라서 이들 요소를 더이상 저장소 해독 목적으로 사용할 수 없습니다):

또는 키 파일을 제거하려면:

데이터를 접근하는데 있어 최소한 한가지 방식은 두어야합니다. 사용할 암호문 또는 키 파일을 제거하면 다시 복구할 수 없습니다.

슬롯 비우기
Suppose the passphrase or keyfile is no longer known, then the slot can be freed. Of course, this does require prior knowledge of which slot that the passphrase or keyfile was stored in.

For instance, to empty out slot 2 (which is the third slot as slots are numbered starting from 0):

This command will ask for a valid passphrase before continuing. Or one can pass on the keyfile to use:

Additional resources

 * DM-Crypt LUKS on the Gentoo Wiki provides a more elaborate approach on using encrypted file systems for Gentoo Linux installations