왜 gpg가 화를 내고 중지합니까?


24

최근에 한 우분투 설치에서 다른 설치로 마이그레이션했으며 그 과정에서 내 사용자 이름이 변경되었습니다. 공개 / 개인 키 쌍을 gpg로 가져 왔으며 해독 (개인 키 사용)은 정상적으로 작동하지만 공개 키로 무언가를 암호화하려고 할 때마다 다음 경고 메시지가 표시됩니다.

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

그 후 실제로 키를 사용할 것인지 묻는 메시지가 표시됩니다 (실제로 키 링 의 유일한 키이고 키의 출처를 알기 때문에 항상 "예"라고 대답합니다 ). 나는 물건을 잘 해독 할 수 있으므로 gpg가 무언가를 암호화하려고 할 때 왜 히스 티를 던지는가? 이 메시지가 다시 나타나지 않게하려면 어떻게해야합니까?


stackoverflow help 에서이 이전 질문에 대한 답변이 있습니까? : stackoverflow.com/q/9460140/2422988
Paul

@Paul, 예, 그 링크가 약간 도움이되었습니다. 내 키의 "신뢰"수준을 궁극적으로 설정했는데 문제가 해결 된 것 같습니다. 그러나 이었다 문제는? 왜 이런 일이 발생했으며, 문제를 해결했거나 증상을 완화 했습니까?
fouric

죄송합니다, InkBlend,이 경우 검색 결과를 선별하고 비교할 수있는 능력이 pgp에 대한 나의 지식을 능가하는 것을 두려워합니다. 그래도 개럿은 무슨 일이 일어나고 있는지 알고 있습니다.
Paul

답변:


16

나는 당신이 겪고있는 문제를 재현했습니다. 나는 다음과 같이했다 :

$ gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --gen-key

<specified parameters and let it do its thing>

gpg: key 58018BFE marked as ultimately trusted
public and secret key created and signed.

<snip>

$

이 프로세스는 키를 "궁극적으로 신뢰할 수있는"것으로 표시했습니다.

이제 키를 내 보냅니다.

$gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --export-secret-keys -a >private.key

$gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --export -a > public.key

이제 새로운 gpg 데이터베이스로 가져옵니다.

$gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file --import public.key

$gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file --import private.key

이제 새로운 열쇠 고리를 사용하여 암호화하려고하면 다음과 같은 결과가 나타납니다.

$ gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file -r Fake -e
gpg: AE3034E1: There is no assurance this key belongs to the named user

pub  1024R/AE3034E1 2013-06-13 Fake User <fake@example.com>
 Primary key fingerprint: AD4D BAFB 3960 6F9D 47C1  23BE B2E1 67A6 5801 8BFE
      Subkey fingerprint: 58F2 3669 B8BD 1DFC 8B12  096F 5D19 AB91 AE30 34E1

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

그 이유는 "신뢰의 웹"모델입니다. 공개 키를 신뢰할 수 있으려면 기본적으로 1 개의 "최종"신뢰 인증서 (일반적으로 관련 사용자의 신원을 직접 확인한 경우) 또는 3 개의 "최소"신뢰 인증서 (아는 사람, 당신이 알고있는 누군가를 알고있는 사람은 ... 인증서에 서명했습니다).

gpg는 보안 응용 프로그램이므로 신뢰할 수없는 것으로 나열되지 않은 키로 암호화하려고하면 경고합니다. 이 경우 자신의 키를 신뢰할 수없는 이유는 간단합니다. 이전 gpg 인스턴스에서 트러스트 관계를 내 보내지 않았기 때문입니다. 이렇게하려면 --export-ownertrust 및 --import-ownertrust 명령을 사용하십시오.

항상 그렇듯이 맨 페이지를 참조하십시오 .


1
중요한 것은 키 트러스트에 대한 모든 데이터가 키링 (비밀 및 공개)과 별도로 저장된다는 것입니다! ~/.gnupg/trustdb.gpg트러스트 데이터베이스, pubring.gpg공개 키 및 secring.gpg비밀 키를 보유합니다 . 이에 대한 GnuPG 문서를 참조하십시오 .
gertvdijk

28

나는 같은 문제에 부딪 쳤지 만 더 이상 이전 키에 액세스 할 수 없었습니다. 따라서 다음을 사용하여 이전 키에 대한 신뢰를 다시 만들 수 있습니다.

gpg --edit-key YOUR@KEY.ID
gpg> trust
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y

OP는 (의견에 언급 된)이 작업을 수행했지만 답변으로 언급하는 것이 좋습니다.
muru

7

--always-trust플래그를 사용 하여이 메시지를 건너 뛸 수 있습니다 .


1
이것은 절대적으로 사실이지만 질병이 아닌 증상을 없애는 것입니다. 당신의 해결책은 암에
걸렸기

2
--always-trust좋은 솔루션입니다 경우에 따라서는 , 그러나 문제의 핵심은 실제로 사용자 자신의 키의 경우, 그것은 단지 궁극적 인 신뢰를 부여해야합니다.
Blacklight Shining

4
내 질병은 프로그래밍 방식의 파일 암호화를 망쳐 놓고 소프트웨어를 설치하는 모든 VM에서 다른 방식으로 그렇게하는 GPG의 완고한 주장입니다.
bbozo

@BlacklightShining에서 아직 확인할 수없는 경우 Evolution은 해당 주소로 메일을 암호화 할 수 없습니다. 텍스트를 누군가에게 암호화하는 데 절대적인 신뢰 가 필요한 이유는 전혀 없으며, 약간의 신뢰 만으로는 불가능합니다.
Izzy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.