티스토리 뷰

반응형

LUKS 디스크 암호화 사용법

 

Kali Linux 활용법 - LUKS 디스크 암호화 사용법 (How to use LUKS encrypted volume)

 

Windows Pro에 디스크를 암호화 시키는 BitLocker가 있다면 Linux에서는 BitLocker의 대안,  LUKS가 있습니다. 리눅스 운영체제에서 USB, 외장 HDD 등에 중요한 자료를 보관하는 경우, 그 디스크에 암호를 함께 설정하고 싶은 경우 이 LUKS를 활용해 보세요.

 

cryptsetup

 

cryptsetup man page

 

Kali Linux에는 LUKS를 기본적으로 사용할 수 있습니다. cryptsetup 명령어가 기본적으로 설치되어 있기 때문입니다.
자세한 사용법을 확인하시려면 man cryptsetup 명령어를 입력해서 명령어 사용법을 살펴보세요.

 

luksFormat 암호화 디스크 생성 및 암호 설정

 

luksFormat

 

cryptsetup luksFormat <장치명> 명령어는 디스크에 LUKS 파티션을 초기화하고 암호를 설정하는 단계입니다. Kali Linux에서 sudo fdisk -l 명령어로 연결된 장치명을 잘 확인하시고 암호화를 적용하려는 <장치명>을 잘 확인하시고 적용하셔야 합니다.

 

luksOpen 암호화 볼륨 open 및 mapper name 설정

 

open & close

 

cryptsetup에서는 LUKS 뿐만 아니라 trypt(veracrypt), bitlocker도 지원을 합니다. 따라서 기존 luksOpen 명령어 이외에 open <name> --type tcrypt 또는 --type bitlk 와 같이 veracrypt, bitlocker 컨테이너를 시험적으로 open 할 수 있습니다.
BitLocker는 아직 시험적 단계임. (Kali Linux에서는 cryptsetup 없이도 그냥 BitLocker를 마운트 할 수 있음)

 

luksOpen

 

filesystem format

 

file system 관련 명령어들

 

cryptsetup luksOpen 또는 open 명령어로 암호화 볼륨을  mapper name으로 open 한 이후에는, filesystem format하는 단계가 필요합니다.

mkfs.ext3 또는 mkfs.ext4가 적절 할 것 같습니다. 저는 윈도우, 맥 모두에 호환이 되는 mkfs.exfat로 테스트를 해보겠습니다. 아이패드와 Windows 운영체제에서도 마운트가 될 지...확인하려는 목적입니다.

 

LUKS encrypted volume 생성 단계별 진행

 

fdisk -l

 

sudo fdisk -l 명령어를 사용하여 암호화 시킬 장치의 Disk에 나오는 장치명을 확인합니다.
제 경우는 장치명은 /dev/sde 이며, 용량 1.92 Gib, Disk model: STORAGE DEVICE로 확인됩니다.

 

cryptsetup luksFormat

 

sudo cryptsetup luksFormat /dev/sde 명령어를 사용하여 /dev/sde를 LUKS Partition으로 생성하며 암호를 설정하게 됩니다. Are yo sure?에서는 yes를 대문자 YES로 선택해서 암호 설정 단계로 넘어갈 수 있습니다.

 

비밀번호(passphrase) 설정

 

이제 비밀번호 설정단계로 넘어가게 됩니다. 먼저 CAPS LK 이 꺼진 것을 확인하시고, 비밀번호를 입력합니다. 

 

luksOpen

 

sudo su - 명령어로 root 유저로 변경하고 다음 단계를 진행합니다.
cryptsetup luksOpen /dev/sde <name> 명령어로 luks 암호화 볼륨을 <name>으로 mapping을 합니다.
암호를 물어보게 되며 정확한 암호를 입력하게 되면 /dev/mapper/<name>으로 그 암호화 볼륨이 mapping 됩니다.

 

file system format

 

LUKS 암호화 볼륨을 luksOpen 또는 open 명령어를 사용하여 mapping 시킨 이후에 적절한 filesystem으로 포맷해 주는 단계를 진행해 주셔야 합니다. 리눅스를 주로 사용한다면 mkfs.ext3 또는 mkfs.ext4 로 진행하는 것이 적절할 것 같습니다.

mkfs.ext3 /dev/mapper/<name> 으로 입력하시면 mapping된 장치가 ext3 filesystem으로 format이 됩니다.
제 경우는 mkfs.exfat /dev/mapper/SDmount 명령어를 실행했습니다. 자신이 설정한 <name>을 잘 확인하시고 입력해 주세요.

 

 

format complete ! 가 나오면 이제 모든 준비작업이 끝난 상황입니다.
이제 마지막으로 /dev/mapper/<name>을 적절한 폴더에 마운트를 시켜주시면 됩니다.

Kali Linux를 USB에서 live booting으로 부팅을 하는 경우 /mnt/ 디렉토리에는 아무런 파일이나 디렉터리가 없습니다. 따라서 저는 그냥 mount /dev/mapper/SDmount /mnt 명령어를 사용하여 /mnt 디렉터리에 바로 마운트를 시켰습니다.

다른 마운트 포인트가 있다면 /mnt/ 디렉터리에 별도의 디렉터리를 만들어서 마운트 시키시면 됩니다.

 

암호화 볼륨 마운트

 

이제 /mnt 디렉토리로 이동해서 원하는 파일을 저장하시면 됩니다.

 

암호화 디스크에 파일 저장

 

umount LUKS volume

 

암호화 디스크에 파일을 잘 저장했다면 이제 안전하게 언마운트를 해주는 단계가 필요합니다. 

sudo umount /dev/mapper/<name> 또는 sudo umount /mnt 명령어를 사용해서 언마운트 시켜줍니다.

 

luksClose

 

마지막으로 sudo cryptsetup luksClose /dev/mapper/<name> 을 사용하여 mapping된 luks 암호화 볼륨을 닫아줍니다.
조금은 불편하지만 luksClose 또는 close 명령어를 사용하여 꼭 닫아주시는 것이 좋습니다.

 

암호화 디스크

 

LUKS 암호화 설정 및 filesystem format이 완료된 저장 장치는 이제 Kali Linux에 꽂으면 위 사진처럼 바로 인식되며 더블 클릭하게 되면 암호를 물어보는 창이 뜨게 됩니다. 암호를 입력하면 자동으로 Kali Linux에 마운트가 완료됩니다.

 

Windows에서 LUKS 암호화 디스크 연결시 에러

 

exfat 포맷은 Windows, Mac 모두에 호환되는 filesystem이지만 안타깝게도 Windows 운영체제에 LUKS 암호화 디스크를 연결하게 되면 "디스크를 사용하기 전에 포맷해야 합니다"라는 메시지가 뜨게 됩니다. ㅜ,.ㅜ

아이패드에도 연결해 보았는데, 정상적인 연결이 불가능했습니다. 리눅스 사용자라면 그냥 mkfs.ext3나 mkfs.ext4로 format 해서 사용하는 것이 적절할 것 같습니다. Mac OS는 가지고 있지 않아서 직접 확인해 보지 못했습니다.

 

반응형
댓글