GPG 대칭 암호화를 사용할 때 "경고 : 메시지가 무결성 보호되지 않았습니다"를 어떻게 수정합니까?


45

다음과 같이 대칭 암호화를 사용하여 파일을 암호화했습니다.

gpg --symmetric myfile

파일이됩니다 myfile.gpg.

좋구나. 이제 파일을 다시 해독하자 :

gpg -o myfile --decrypt myfile.gpg

입력 한 암호를 묻는 메시지가 표시됩니다.

gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: WARNING: message was not integrity protected

첫 번째 줄과 마지막 줄에 대해 잘 모르겠습니다.

  • CAST5 암호 란 무엇이며 안전합니까? 나는 3DES와 AES를 알고 그것들이 안전하다는 것을 알고 있습니다.
  • 무결성을 위해 보호되지 않는 이유는 무엇입니까?
  • 또한이 문제를 어떻게 해결합니까?

그러나 gpg -c myfile암호화 및 gpg myfile.gpg암호 해독 만하면 출력이 myfile기본적 으로 암호 해독 됩니다.
cprn

1
@CyprianGuerra gpg myfile.gpg는 암호 해독 된 출력을 내 시스템의 stdout으로 전송합니다.
gertvdijk

흥미 롭군 나는 그것을 기본값으로 가지고 있습니다 ...
cprn

여기에서 GUI를 다운로드하고 그것을 사용하여 파일을 해독했습니다. 효과가 있었다! pgptool.github.io
Iftikhar Ahmad Dar

답변:


69

배경

CAST-5는 AES가 아직 다시 GnuPG는 처음에 생성 된 시간에 존재하지 않았기 때문에 GnuPG에 의해 사용되는 오래된 암호화 알고리즘 소스를 . 호환성 이유로 GnuPG를 제외하고는 널리 사용되지 않습니다.

WARNING: message was not integrity protected이 기능의 암호화시에 기본적으로 설정되지 않기 때문이다. 이것이 켜져 있으면 GnuPG는 파일이 전송 중에 변경되었는지 알 수 있습니다.

업데이트 : Ubuntu / Debian과 함께 제공되는 최신 버전의 GnuPG에는 이제 기본적으로 MDC가 활성화되어 있으며이 새로운 버전으로 서명 된 항목에 대해서는이 메시지가 다시 표시되지 않습니다.

솔루션

보다 강력한 AES-256을 사용하려면 명령 줄 또는 구성 파일에서 지정해야합니다.

  • 명령 줄 : --cipher-algo AES256암호화 할 전체 줄이되도록 옵션 추가

    gpg -o myfile.gpg --cipher-algo AES256 --symmetric myfile
    
  • 구성 파일 (권장) : 구성 파일에 다음 줄을 추가 ~/.gnupg/gpg.conf하십시오.

    cipher-algo AES256
    

    이 사용자 계정에서 향후 모든 GPG 작업에 사용되므로이 방법을 권장합니다.

사용자가 파일을 해독하기 위해 변경할 사항이 없습니다. GnuPG가이를 자동으로 감지합니다.

AES-256 암호를 사용하면 메시지가 무결성을 위해 자동으로 보호됩니다. CAST-5와 같이 활성화되지 않은 다른 암호에 대해 무결성 보호를 수동으로 활성화하려면 --force-mdc암호화시 옵션을 추가하십시오 .

더 나은 : 서명!

더 좋은 방법은 키 쌍으로 파일에 서명하는 것입니다 (있는 경우). 다음 --sign과 같이 옵션을 암호화 명령에 추가하십시오 .

gpg -o myfile.gpg --cipher-algo AES256 --sign --symmetric myfile

이렇게하면 파일의 무결성을 확인할 수있을뿐만 아니라 파일 수신자가 원본을 확인할 수 있습니다. 파일을 변경하면 서명 확인이 실패합니다.


서명 할 인증서가 필요하지 않습니까?
bilal fazlani

@bilalfazlani에 서명하려면 GnuPG 키 쌍이 필요합니다. 원하지 않는 경우 공개 할 필요가 없습니다. 암호화 된 파일을 공유하는 피어와 공개 키를 공유하기 만하면 키의 지문을 확인해야합니다.
gertvdijk

자세한 답변 감사합니다. 키 페어 사용법에 대해 더 자세히 설명해 주시겠습니까?
ben-Nabiy Derush

"메시지가 무결성을 보호하지 못했습니다"가받는 쪽에서 발생하고 보낸 사람 쪽에서이 문제를 해결하는 방법을 알려줍니다. 문제는 (enigmail에서) 오래된 메시지를 해독 할 수 있도록받는 쪽의 문제를 무시하는 방법
ensonic

@ ben-NabiyDerush이 두 기사는 공개 및 개인 키 쌍을 사용하는 방법과 이유에 대한 질문을 해결합니다. 공개 키 암호화 . Web of Trust
jpaugh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.