[ubuntu]eCryptFS를 사용하여 파일 및 디렉터리 암호화
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