파일 이름 암호화를 사용하여 디렉터리를 압축하는 방법은 무엇입니까?

파일 이름 암호화를 사용하여 디렉터리를 압축하는 방법은 무엇입니까?

명령줄을 사용하면 다음을 사용하여 디렉터리를 암호화할 수 있다는 것을 알고 있습니다.

zip -er Directory.zip /path/to/directory

그러나 이는 파일 이름 자체를 암호화하지 않습니다. 누군가가 실행하는 경우:

unzip Directory.zip

잘못된 비밀번호를 반복적으로 입력하면 unzip 명령은 올바른 비밀번호가 입력될 때까지 포함된 모든 파일 이름을 반복합니다. 예제 출력:

unzip Directory.zip 
Archive:  Directory.zip
   creating: Directory/
[Directory.zip] Directory/sensitive-file-name-1 password: 
password incorrect--reenter: 
password incorrect--reenter: 
   skipping: Directory/sensitive-file-name-1  incorrect password
[Directory.zip] Directory/sensitive-file-name-2 password: 
password incorrect--reenter: 
password incorrect--reenter: 
   skipping: Directory/sensitive-file-name-2  incorrect password
[Directory.zip] Directory/sensitive-file-name-3 password: 
password incorrect--reenter: 
password incorrect--reenter: 
   skipping: Directory/sensitive-file-name-3  incorrect password

등.

명령줄을 사용하여 파일 이름 자체를 암호화하거나 숨기면서 압축된 디렉터리를 암호화하는 방법이 있습니까?

감사해요.

답변1

zip 파일에서는 파일 내용만 암호화됩니다. 파일 이름을 포함한 파일 메타데이터는 암호화되지 않습니다. 이는 파일 형식의 제한 사항입니다. 각 항목은 개별적으로 압축되며 암호화된 경우 개별적으로 암호화됩니다.

당신은 그것을 사용할 수 있습니다7개의 지퍼대신에. ( -mhe=onLinux 명령줄을 통해) 메타데이터 암호화를 지원합니다 .

7z a -p -mhe=on Directory.7z /path/to/directory

모든 주요 운영 체제와 대부분의 보조 운영 체제에는 7zip 구현이 있지만 추가 소프트웨어를 설치해야 할 수도 있습니다(IIRC Windows는 요즘 암호화된 zip 파일의 압축을 직접 풀 수 있습니다). 암호 해독을 위해 7z가 필요한 것이 문제인 경우 zip을 사용하여 먼저 zip을 사용하여 디렉터리를 단일 파일로 압축한 다음 해당 파일을 암호화할 수 있습니다. 이렇게 하면 개별 파일에 대한 압축을 끄고 외부 zip에 zip 파일을 압축하도록 지시하면 전체 압축 비율이 더 좋아집니다.

zip -0 -r Directory.zip /path/to/directory
zip -e -n : encrypted.zip Directory.zip

답변2

선호하는 도구를 사용하여 아카이브를 생성한 다음 이를 사용하여 bcrypt암호화/암호 해독을 수행할 수 있습니다.

ㅏ)암호화된 파일을 생성하려면:

tar -czf Directory.tgz /path/to/directory
bcrypt Directory.tgz

그러면 Blowfish 암호화 파일이 제공됩니다.Directory.tgz

둘)이 과정을 되돌리려면:

bcrypt Directory.tgz.bfe
tar -xf Directory.tgz

답변3

현재로서는 어떻게 사용하는지에 대한 엄격한 답변이 없기 때문에압축파일 이름 목록과 파일 내용을 암호화하려면 다음 중 하나를 사용하세요. 다른 답변에서 언급했듯이 zip 암호화는 사용 중인 버전에 따라 안전할 수도 있고 안전하지 않을 수도 있습니다. 어쨌든 기술적인 관점에서는 tar 및 gpg와 같은 도구가 더 좋지만 문제가 있는 경우가지다기술적인 지식이 없는 사용자를 위한 휴대용 아카이브를 만드는 간단한 해결 방법(예: zip만 사용하면 7-zip을 설치할 수 없거나 설치하지 않을 수도 있습니다...)은 중간에 순수 zip을 사용하여 암호화된 zip을 만드는 것입니다. 일반적으로 추가 헤더에 대해 약 200바이트만 추가합니다.

% zip -r directory.zip secret-stuff
% zip -e -r directory-encrypted.zip directory.zip

그런 다음 누군가 파일 이름을 나열하려고 하면(또는 비밀번호 추측 중에 파일 이름을 공개하려고 하면) 다음과 같은 내용이 표시됩니다.

% unzip -l directory-encrypted.zip
Archive:  directory-encrypted.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
  1747768  2023-02-14 04:45   directory.zip
---------                     -------
  1747768                     1 file

외부 지퍼를 연 후가운데그런 다음 다음을 나열할 수 있습니다.

% unzip -l directory.zip # unencrypted intermediate archive
Archive:  directory.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2023-02-14 03:50   secret-stuff/
        0  2023-02-06 21:36   secret-stuff/really/
        0  2023-02-06 21:36   secret-stuff/really/totally/
  1844742  2023-02-06 19:44   secret-stuff/really/totally/uh-oh.pdf
    72279  2023-02-06 19:45   secret-stuff/really/totally/another-one.pdf
        0  2023-02-14 03:50   secret-stuff/really/oops/
      225  2023-02-14 03:50   secret-stuff/really/oops/file-list.txt
---------                     -------
  1917246                     7 files

관련 정보