
다음과 같이 대칭 암호화를 사용하여 파일을 암호화했습니다.
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를 알고 있으며 그것들이 안전하다는 것을 알고 있습니다.
- 무결성을 위해 보호되지 않는 이유는 무엇입니까?
- 게다가 이 문제를 어떻게 해결하나요?
답변1
배경
캐스트-5GnuPG가 처음 생성되었을 때 AES가 아직 존재하지 않았기 때문에 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
이렇게 하면 파일의 무결성을 확인할 수 있을 뿐만 아니라 파일 수신자가 원본을 확인할 수도 있습니다. 파일을 변경하면 서명 확인이 실패하게 됩니다.