python & 라즈베리파이

[ubuntu]eCryptFS를 사용하여 파일 및 디렉터리 암호화

진아사랑해 2023. 11. 10. 15:58
반응형

key 관리를 하기 위해 우분트에서 특정 디렉터리를 암호화할 필요가 생겼습니다.

이 과정을 위해 eCryptFS를 사용하기로 하였습니다.

eCryptFS 사용과정

1. sudo apt install ecryptfs-utils -y
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료        
다음의 추가 패키지가 설치될 것입니다 :
  keyutils libecryptfs1 libtspi1

 

2. 원하는 디렉터리를 암호화하기

예제에서는 ~/mydocuments 입니다.

sudo mount -t ecryptfs ~/mydocuments/ ~/mydocuments/
Select key type to use for newly created files: 
 1) passphrase
 2) tspi
Selection: 1
Passphrase: 
Select cipher: 
 1) aes: blocksize = 16; min keysize = 16; max keysize = 32
 2) blowfish: blocksize = 8; min keysize = 16; max keysize = 56
 3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24
 4) twofish: blocksize = 16; min keysize = 16; max keysize = 32
 5) cast6: blocksize = 16; min keysize = 16; max keysize = 32
 6) cast5: blocksize = 8; min keysize = 5; max keysize = 16
Selection [aes]: 
Select key bytes: 
 1) 16
 2) 32
 3) 24
Selection [16]: 
Enable plaintext passthrough (y/n) [n]: 
Enable filename encryption (y/n) [n]: 
Attempting to mount with the following options:
  ecryptfs_unlink_sigs
  ecryptfs_key_bytes=16
  ecryptfs_cipher=aes
  ecryptfs_sig=66a6eea0726b940c
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
it looks like you have never mounted with this key 
before. This could mean that you have typed your 
passphrase wrong.

Would you like to proceed with the mount (yes/no)? : yes
Would you like to append sig [66a6eea0726b940c] to
[/root/.ecryptfs/sig-cache.txt] 
in order to avoid this warning in the future (yes/no)? : yes
Successfully appended new sig to user sig cache file
Mounted eCryptfs

 

3. 잘 마운트가 되었는지 확인입니다.

sudo mount | grep mydocuments
/home/hgwc/mydocuments on /home/hgwc/mydocuments type ecryptfs (rw,relatime,ecryptfs_sig=66a6eea0726b940c,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs)

 

4. ~/mydocuments 디렉터리 안에 파일을 만듭니다.

cat '새로운 5.txt' 
test message

plain text로 출력이 됩니다.

 

5. ~/mydocuments 디렉터리 안에 파일 내용이 암호호 변경되도록 마운트를 끊습니다.

혹시 문제가 있으면 사용하던 테미널을 닫고 새로운 터미널을 열어 명령을 실행하시면 됩니다.

sudo umount ~/mydocuments 

위 명령을 실행 후 cat '새로운 5.txt'를 하면 아래처럼 암호화된 내용이 나옵니다.

�|�ǿ@n�-q����|ӗs�ʌB�����r)��c=�vKh�><4}xA&@qlrZ}i&��e�fԿh���ȇJlG�Y6���L��cP��:A�~�9����_^�3N�.*dН��Z�^|���݀�<���A=M�2N���Y"�`įM�W�uë�;����8a��7���h�({����݃9��n�a2�\w�
                                                 ��
                                                   �|���(T�}��"�f�!u�����Jp���!��=��k�%��lu:����3�#6�
 0����"��;)��IX�N�r(��� xi������-v��<�@��f�ȳxA��������_�s�����ic
                                                                �Š�ӽ��(�v�E�]�g�a#}gL-Ui�A�e
�E�������9�b�1�^��ur��;�$[��tI�A�o�!�b(�!J������9�=��m����Ƙߑ��8��U��h��aH#��r��U�Җ��p�%���L1dM�m�� ����TB@,��?�k���O�O���h %�\��k���

 

6. 평문(Plain Text)을 보고 싶으시면 다시 마운트를 하시기 바랍니다.( 2번을 다시 수행)

혹시 문제가 있으면 사용하던 터미널을 닫고 새로운 터미널을 열어 명령을 실행하시면 됩니다.

 

좀 더 자세한 내용은 아래를 참조해 주시기 바랍니다.

https://kifarunix.com/encrypt-files-and-directories-with-ecryptfs-on-ubuntu-20-04/?expand_article=1

 

Encrypt Files and Directories with eCryptFS on Ubuntu 20.04 - kifarunix.com

In this tutorial, you will learn how to encrypt files and directories with eCryptFS on Ubuntu 20.04. Encryption is the process in which a plain text data, a

kifarunix.com

 

반응형