웹사이트 검색

Linux에서 DM-Crypt LUKS로 파티션을 암호화하는 방법


TrueCrypt는 더 이상 존재하지 않으며 이 게시물의 목적은 dm-crypt luks를 사용한 간단한 파티션 암호화를 보여주는 것입니다.

DM-Crypt는 물리적 블록 장치를 상위 수준의 가상 블록 장치에 매핑하기 위한 장치 매퍼 프레임워크의 일부이자 커널 모듈인 투명한 드라이브 암호화이며 커널 암호화 API의 암호화 루틴을 사용합니다. 간단히 말해서 커널 "linux" 암호화 API에서 제공하는 장치 매핑 암호화입니다.

데이터가 없는 파티션이 하나 이상 있는지 확인하십시오. 사용 가능한 파티션이 없는 경우 parted, gparted 또는 원하는 프로그램을 사용하여 기존 파티션을 축소하고 새 파티션을 만드십시오.

/dev/sda3라는 파티션을 사용하고 첫 번째 작업은 포렌식 조사로부터 사용자를 보호하기에 충분한 임의의 데이터로 해당 파티션을 3번 덮어쓰는 것입니다. 20GB 파티션을 3번 덮어쓰는 데 거의 30분이 걸렸습니다.

shred --verbose --random-source=/dev/urandom --iterations=3 /dev/sda3

LUKS 암호화 모드에서 암호화 장치 매퍼 장치 생성:

cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random luksFormat /dev/sda3

다음과 같은 질문을 받게 됩니다.

WARNING!
========
This will overwrite data on /dev/sda3 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
Command successful

파티션을 잠금 해제하십시오. 여기서 "루트"는 장치 매퍼 이름입니다. 레이블로 생각하십시오.

cryptsetup open --type luks /dev/sda3 root

장치 매퍼 이름(레이블)을 통해 액세스할 수 있는 암호화된 데이터를 작성하려면 파일 시스템을 만들어야 합니다.

mkfs.ext4 /dev/mapper/root

기기를 마운트하고 모든 데이터를 전송합니다.

mount -t ext4 /dev/mapper/root /mnt

완료되면 장치를 마운트 해제하고 닫습니다.

umount /mnt

cryptsetup 루트 닫기

마지막으로 복사 및 캐시 버퍼를 지웁니다.

sysctl --write vm.drop_caches=3

그것이 바로 간단하고 직접적인 암호화였습니다. 지금부터 해야 할 일은 장치 잠금 해제, 마운트, 데이터 전송, 마운트 해제 및 닫기입니다.

몇 시간의 여유와 실험이 있다면 다음 페이지를 자유롭게 읽으십시오.

링크 7

전체 디스크 암호화를 원하는 경우 /boot 파티션을 보호하십시오. 모든 것은 위의 링크에서 수행하는 방법에 대해 자세히 설명되어 있습니다.

편집 후: LUKS 암호화된 CD 및 DVD 디스크를 구울 수 있다는 사실을 방금 알게 되면서 상황이 더욱 좋아졌습니다.

드라이브 파티션을 사용하는 대신 dd와 가짜 엔트로피로 초기 파일을 채울 커널 난수 생성기 /dev/urandom을 통해 파일을 생성합니다.

단일 파일 내에서 파일 시스템으로 사용할 500MB 파일을 만듭니다.

dd if=/dev/urandom of=encrypted.volume bs=1MB count=500

이 게시물(shred)의 첫 번째 명령을 dd 명령으로 바꾸고 나머지 명령을 그대로 입력하십시오.

이제 아무도 LUKS 암호화의 전체 파일 시스템인 단일 파일 내에서 굽는 데이터를 지나치지 않도록 할 수 있습니다. 디스크에 굽기 전에 encryption.volume을 마운트 해제하고 닫으십시오.