gpg를 사용하여 파일(및 대칭 암호화 키)을 암호화하는 것이 *nix 세계에서는 일반적인 일입니까?

gpg를 사용하여 파일(및 대칭 암호화 키)을 암호화하는 것이 *nix 세계에서는 일반적인 일입니까?

gpg를 사용하여 이메일을 암호화하는 방법에 대해 많이 읽었지만 이를 사용하여 일부 파일(주로 *.isos 묶음)을 암호화하고 싶습니다. 나는 당신이 나에게 총을 쏘거나 몇 가지 제안을 추가할 수 있도록 내가 무엇을 할 것이라고 생각하는지 설명할 것입니다.

나는 그것을 할 것이다

tar -cvjf myiso.iso.tar.bz2 myiso.iso

나는 gpg 생성 키를 사용하여 이 myisio.tar.bz2를 암호화할 계획입니다(정확히 어떻게 해야 할지 모르겠습니다. 매뉴얼 페이지를 읽어보겠습니다). 그들은 생성된 암호화에 사용되는 GPG 키를 플래시 드라이브에 저장하고 대칭 키를 사용하여 키 자체를 인코딩합니다.

위한 것인가?미친?

답변1

GPG를 사용하면 비밀번호( )를 사용하여 파일을 대칭적으로 암호화할 수 있습니다 gpg -c. 암호의 엔트로피가 충분하면 키를 생성하는 추가 단계가 필요하지 않습니다. "충분한 엔트로피"란 무엇을 의미합니까? 암호화는 공격자가 하드웨어가 허용하는 한 빨리 암호화를 해독하려고 시도할 수 있는 오프라인 공격을 견뎌야 합니다. 소규모 PC 팜의 경우 공격자는 초당 수천억 번, 즉 10년에 약 2^69번의 시도를 할 수 있습니다. 따라서 엔트로피가 2^70이면 안전합니다. 즉, 비밀번호가 완전히 임의의 문자(소문자 또는 대문자)와 숫자로 구성된 경우 길이는 12자여야 합니다.

이제 이 비밀번호를 저장하려면 GPG와 공통 키 쌍을 사용할 수 있습니다. 하나 이상의 키 쌍으로 대용량 파일을 암호화하는 데 사용되는 gpg --gen-key키 쌍을 생성하고 비밀번호를 암호화하는 데 사용됩니다 .gpg -e

ps다음은 암호화를 수행하는 방법에 대한 간략한 설명 입니다. 명령이 실행되는 동안 출력을 보고 다른 사용자가 암호를 찾을 수 없도록 명령줄이나 환경에 암호를 입력하지 마십시오 .

passphrase=$(pwgen -s 12 -1)
echo "The passphrase for myiso.iso.gpg is: $passphrase" |
gpg -e -r somebody -r somebodyelse >passphrase.gpg
echo "$passphrase" | gpg -c --passphrase-fd 3 3<&0 <myiso.iso >myiso.iso.gpg

그리고 해독하는 방법은 다음과 같습니다.

passphrase=$(gpg -d <passphrase.gpg)
echo "$passphrase" | gpg -d --passphrase-fd 3 3<&0 <myiso.iso.gpg >myiso.iso

직접 암호화가 아닌 비밀번호(공유비밀)를 사용하는 이유는 여러 사람이 파일을 공유할 수 있기 때문이다. 수신자를 추가하려는 경우 작은 암호만 다시 암호화하면 됩니다. 수신자를 제거하는 것은 수신자가 일반 텍스트에 액세스할 수 없고 어쨌든 암호 텍스트를 다시 인코딩해야 한다는 것을 알고 있는 경우에만 의미가 있습니다.

관련 정보