리눅스에서 Shufflecake로 숨겨진 파일 시스템 만들기

노트북 키보드 위에 자물쇠가 있는 사진.

Shufflecake는 리눅스를 위한 간단하면서도 매우 강력한 파일 시스템 암호화 유틸리티입니다. 전통적인 디스크 암호화 방식과 달리 Shufflecake는 파일 시스템 내부의 데이터를 암호화할 뿐만 아니라 시스템 자체에서 숨기는 방식으로 작동합니다. 이 문서에서는 Ubuntu에 Shufflecake를 설치하여 리눅스에서 숨겨진 암호화된 파일 시스템을 생성하고 유지하는 방법을 보여줍니다.

목차

  • Shufflecake 설치하기
  • Shufflecake용 더미 볼륨 만들기
  • 숨겨진 Shufflecake 볼륨 초기화하기
  • 숨겨진 볼륨 마운트 해제 및 전환하기
  • 숨겨진 볼륨의 비밀번호 변경하기

Shufflecake 설치하기

Shufflecake를 얻기 위한 첫 번째 단계는 시스템에 종속성을 설치하는 것입니다. 이를 위해 다음 명령어를 실행하세요:

sudo apt install linux-headers-$(uname -r) libdevmapper-dev libgcrypt-dev makegcc

프로젝트의 Codeberg 페이지에서 최신 릴리스 tarball을 가져옵니다.

개발자의 Codeberg 페이지에서 Shufflecake의 tarball 다운로드 스크린샷.

컴퓨터의 다운로드 디렉토리로 이동한 후, Tar를 사용하여 릴리스 아카이브를 추출합니다:

tar xzf ./Downloads/v0.4.4.tar.gz

참고: 그래픽 및 터미널 기반 도구를 사용하여 리눅스에서 Tar 파일을 압축 해제하는 방법을 알아보세요.

Shufflecake 소스 코드 폴더를 열고, 다음 명령어를 실행하여 시스템에서 바이너리를 컴파일합니다:

cd ./Downloads/shufflecake-c  
make

참고: Shufflecake 컴파일은 컴퓨터의 시스템 리소스에 따라 2~5분 정도 걸릴 수 있습니다.

Shufflecake를 릴리스 폴더에서 컴퓨터의 바이너리 경로로 복사합니다:

cp ./shufflecake /usr/bin/

시스템 경로에서 Shufflecake가 제대로 실행되는지 확인합니다:

shufflecake --help

Shufflecake용 더미 볼륨 만들기

대부분의 경우 Shufflecake는 모든 종류의 블록 저장 장치에서 작동할 수 있습니다. 여기에는 물리적 디스크와 논리적 파티션이 포함됩니다. 이는 암호화된 파일 시스템을 가진 외부 디스크를 생성하면서도 일반 장치로 접근할 수 있게 해줍니다.

더미 볼륨을 만들기 위해 애플리케이션 실행기에서 Gnome Disks 유틸리티를 열고, 포맷할 디스크를 선택합니다.

숨겨진 Shufflecake 볼륨을 수용할 외부 디스크를 강조하는 스크린샷.

창의 오른쪽 상단 모서리에 있는 점선 버튼을 클릭한 후 디스크 포맷…을 선택합니다.

외부 디스크에 대한 Gnome Disks 유틸리티에서

지우기: 레이블 옆의 드롭다운 목록을 클릭한 후 기존 데이터를 0으로 덮어쓰기(느림)을 선택합니다.

포맷…을 선택하여 포맷 프로세스를 시작합니다.

완료되면 + 아이콘을 클릭하여 디스크에 새 파티션을 만듭니다.

디스크에서 새 파티션을 추가하기 위한

전체 디스크 공간의 1/4 크기를 파티션 크기로 제공합니다. 이는 Shufflecake 없이 접근할 수 있는 디스크의 비암호화된 공간으로 사용됩니다.

Gnome Disks 유틸리티에서 외부 디스크의 파티션 크기 슬라이더 스크린샷.

디스크 유틸리티에서 남은 여유 공간 블록을 선택한 후 +를 클릭하여 새 파티션을 만듭니다.

외부 디스크의 남은 여유 공간을 강조하는 스크린샷.

전체 여유 디스크 공간을 더미 파티션에 할당합니다. 이렇게 하면 Shufflecake 디스크 내에 여러 개의 숨겨진 볼륨을 생성할 수 있습니다.

알아두면 좋은 점: 리눅스에서 사용자 정의 파티션을 만드는 방법을 알아보세요.

숨겨진 Shufflecake 볼륨 초기화하기

이제 시스템의 바이너리 폴더에 Shufflecake가 있고 더미 디스크 파티션이 있습니다. 이를 통해 암호화된 파일 시스템을 생성하려면 Shufflecake에서 초기화해야 합니다.

릴리스 폴더로 이동한 후, 컴퓨터에서 Shufflecake 커널 모듈을 로드합니다:

cd ./Downloads/shufflecake-c  
sudo insmod dm-sflc.ko

lsblk를 실행하여 Shufflecake를 설치할 디스크의 이름을 찾습니다. 제 경우에는 더미 파티션 “/dev/sda2”에 숨겨진 볼륨을 생성할 것입니다.

lsblk에서 sda2 더미 파티션을 보여주는 스크린샷.

다음 명령어를 실행하여 더미 파티션에 대해 Shufflecake를 초기화합니다:

sudo shufflecake init /dev/sda2

참고: Shufflecake는 비시스템 디스크에서만 작동합니다. 기본 디스크에서 Shufflecake를 실행하면 운영 체제가 부팅되지 않습니다.

이 명령은 Shufflecake가 숨겨진 볼륨의 세부 정보를 요청하는 마법사 프롬프트를 실행합니다. “5”를 입력한 후 Enter를 눌러 다섯 개의 숨겨진 볼륨을 생성합니다.

각 숨겨진 볼륨의 비밀번호를 제공한 후 Enter를 누릅니다. Shufflecake 마법사가 입력을 숨기지 않으므로 입력하기 전에 개인 장소에 있는지 확인하세요.

초기화된 숨겨진 볼륨 각각의 비밀번호를 보여주는 스크린샷.

참고: 초기화 과정은 파티션의 크기에 따라 5~10분 정도 걸릴 수 있습니다.

숨겨진 볼륨을 위한 파일 시스템 만들기

완료되면 숨겨진 볼륨을 위한 파일 시스템을 만듭니다. 이를 위해 다음 명령어를 사용하여 포맷할 숨겨진 볼륨을 엽니다:

sudo shufflecake open /dev/sda2

이렇게 하면 열고자 하는 볼륨의 비밀번호를 요청받습니다.

숨겨진

lsblk를 실행하여 Shufflecake가 숨겨진 볼륨을 제대로 로드했는지 확인합니다.

시스템에서 숨겨진

숨겨진 볼륨에 설치할 파일 시스템을 만듭니다. 예를 들어, mkfs.fat를 실행하면 “볼륨 2” 내부에 FAT 파일 시스템이 생성됩니다:

sudo mkfs.fat -F32/dev/mapper/sflc_0_2

참고: Shufflecake 볼륨은 컴퓨터 내부의 가상 장치로 작동합니다. 따라서 항상 숨겨진 볼륨을 “/dev”가 아닌 “/dev/mapper/sflc_0_n” 아래에서 찾을 수 있습니다.

그 후, Ubuntu는 현재 세션에 새 숨겨진 볼륨을 자동으로 마운트해야 합니다. 접근하려면 바탕화면 왼쪽 사이드바의 드라이브 아이콘을 클릭합니다.

새로 포맷된 숨겨진

파일이나 폴더를 내부에 생성하여 파일 시스템이 제대로 작동하는지 테스트합니다.

숨겨진 볼륨 마운트 해제 및 전환하기

일반 디스크와 달리 Shufflecake 볼륨을 꺼내려면 가상 드라이브의 마운트를 해제하고 Shufflecake 연결을 종료해야 합니다. 이를 위해 Ubuntu 작업 표시줄에서 드라이브 아이콘을 오른쪽 클릭한 후 마운트 해제를 선택합니다.

새 터미널 세션을 열고, 다음 명령어를 실행합니다:

sudo shufflecake close /dev/sda2

또한 sudo shufflecake open /dev/sda2를 다시 실행하여 Shufflecake 디스크의 다른 섹션으로 전환할 수 있으며, 숨겨진 볼륨의 적절한 비밀번호를 제공해야 합니다.

숨겨진 볼륨의 비밀번호 변경하기

숨겨진 볼륨을 생성하고 로드하는 것 외에도 Shufflecake 유틸리티는 기존 볼륨의 비밀번호를 수정할 수 있습니다. 이를 위해 새 터미널 세션을 열고 다음 명령어를 실행합니다:

sudo shufflecake changepwd /dev/sda2

이렇게 하면 수정하려는 숨겨진 볼륨의 비밀번호를 요청하는 마법사가 시작됩니다. 비밀번호를 제공한 후 Enter를 누릅니다.

마법사는 숨겨진 볼륨의 새 비밀번호를 요청합니다. 새 비밀번호를 입력한 후 Enter를 눌러 변경 사항을 적용합니다.

마지막으로, testpwd 하위 명령어를 실행하여 볼륨의 새 비밀번호가 제대로 작동하는지 확인합니다:

sudo shufflecake testpwd /dev/sda2

외부 드라이브에서 숨겨진 파일 시스템을 생성하고 유지하는 것은 데이터 보안 및 개인 정보 보호의 세계를 탐험하는 첫 번째 단계일 뿐입니다. Tomb을 사용하여 파일 시스템에서 암호화된 파일을 만드는 방법을 알아보세요.

이미지 출처: FlyD via Unsplash, Shufflecake 개발자 및 Wikimedia Commons. 모든 수정 및 스크린샷은 Ramces Red에 의해 작성되었습니다.