zip -e를 사용할 때 어떤 암호화 암호가 사용됩니까?
클라이언트에 보내는 데 필요한 자격 증명을 암호화하는 크로스 플랫폼 방법을 찾고 있습니다.
암호화 된 zip 아카이브가 메타 데이터를 유출하고 변조 될 수 있다는 것을 알고 있지만 암호화 암호는 얼마나 강력합니까?
zip -ejr "/path/to/folder.zip" "/path/to/folder"
답변
zip 형식은 이전의 약한 암호화 방법과 AES 암호화 (128, 192 또는 256 비트 키)를 사용할 수 있습니다.
자세한 내용 은 AES 암호화 사양 을 참조하십시오.
명령 줄 zip 클라이언트는 거의 사용하고 싶지 않은 기존의 zip 암호화를 사용합니다.
나는 AES 암호화 파일을 보내는 비 기술적 사용자를 대상으로 할 때 솔루션을 좋아합니다.
- 일반적으로 사용자는 과거에 zip 파일을 사용했으며 익숙합니다. 당신은 "이상한 형식 사용을 고집"하지 않습니다.
- 보안 암호화 (AES)를 강제 할 수 있습니다 (암호화 된 zip을 다시 보내야하는 경우 문제가 될 수 있음).
- AES 암호화가 지원되지 않는 클라이언트를 사용하는 경우 "ZIP 파일 형식 XY를 열려면 최신 버전이 필요합니다"라는 오류 메시지가 명확하게 표시됩니다. 이것은 사용자에게 보낸 사람이 아닌 소프트웨어 문제를 가리 킵니다.
AES 암호화를 사용하여 zip 파일을 생성하는 방법으로 다음 과 같은 명령 줄에서 7-zip을 사용할 수 있습니다 ( 최소 버전 19.00 ).
7z a -p -mem = aes256 -tzip "/path/to/folder.zip" "/ path / to / folder"
이를 위해 간단한 셸 스크립트를 만들 수 있습니다.
#!/bin/sh
7z a -p -mem=aes256 -tzip "$@"
제한 사항 :
분명히 파일 이름, 파일 크기 (압축 전후), 타임 스탬프와 같은 메타 데이터가 유출 될 것입니다. 일부 자격 증명을 공유하는 것이 유일한 관심사라면 BEAST를 피하기 위해 콘텐츠 (저장 방법)를 압축하지 않는 것이 좋습니다. 정보 유출과 비슷하지만 이러한 문제는 그리 문제가되지 않는 것 같습니다. 하지만 여전히 zip 비밀번호를 고객과 안전하게 공유해야합니다. 그리고 그들이 데스크톱에 일반 텍스트 자격 증명으로 추출 된 파일을 저장하더라도 놀라지 않을 것입니다.
"클라이언트에 보내야하는 자격 증명을 암호화하는 크로스 플랫폼 방법을 찾고 있습니다."
"크로스 플랫폼"이 의미하는 바를 정의하지 않습니다. 가장 좋은 해결책은 * zip 을 사용하지 않는 것 입니다.
"크로스 플랫폼"이 "Windows 및 Mac"을 의미하는 경우 최상의 솔루션은 Microsoft Word의 암호화 또는 Adobe Acrobat을 사용하는 것입니다. 두 시스템 모두 가장 최근에 AES를 사용합니다.
"교차 플랫폼"이 "Windows, Mac 및 Linux"를 의미하는 경우 Acrobat을 사용하십시오.
두 경우 모두 문서의 높은 엔트로피 암호화 키를 클라이언트와 교환해야합니다. 즉, 암호화 키를 교환하려면 암호를 교환해야합니다. 물론 그렇게 할 수 있다면이 대역 외 메커니즘을 사용하여 자격 증명을 직접 보내는 것이 좋습니다.
그래서 정말로 하고 싶은 것은 공개 키 암호화를 사용하는 것입니다. 즉, 클라이언트가 S / MIME 인증서를 가동하고 Apple Mail, Microsoft Outlook 또는 Thunderbird 또는 S / MIME 사용을위한 기타 교차 플랫폼 접근 방식을 사용하여 클라이언트 암호화 메일을 보내도록하는 것이 가장 좋습니다. NIST SP800-177, "신뢰할 수있는 이메일"에서 자세한 내용을 확인할 수 있습니다.
다른 사람들은 PGP를 사용하도록 제안합니다. 사용하기가 너무 어렵 기 때문에하지 않습니다. 그러나 PGP를 사용하려면 시도해보십시오!
이 모든 것이 너무 많은 작업처럼 들리면 기술 수준이 낮고 자격 증명을 봉투에 넣고 봉투 뒷면에 서명하고 두 번째 봉투에 넣고 우편을 통해 고객에게 보낼 수 있습니다. .