Tại sao gpg trở nên khó chịu và làm thế nào để tôi dừng nó?


24

Gần đây tôi đã di chuyển từ một cài đặt Ubuntu sang một cài đặt khác và trong quá trình này đã thay đổi tên người dùng của tôi. Tôi đã nhập cặp khóa công khai / riêng của mình vào gpg và trong khi giải mã (sử dụng khóa riêng của tôi) hoạt động tốt, bất cứ khi nào tôi cố mã hóa thứ gì đó cho mình bằng khóa chung của mình, tôi nhận được thông báo cảnh báo sau:

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.

Sau đó, nó hỏi tôi có thực sự muốn sử dụng khóa không (tôi luôn trả lời "có", vì thực tế nó là chìa khóa duy nhất trong khóa của tôi và tôi biết nó đến từ đâu). Tôi có thể giải mã công cụ tốt, vậy tại sao gpg lại phù hợp bất cứ khi nào tôi cố gắng mã hóa thứ gì đó? Và làm thế nào tôi có thể ngăn tin nhắn này xuất hiện trở lại?


Có câu trả lời nào cho câu hỏi cũ hơn này tại stackoverflow không?: Stackoverflow.com/q/9460140/2422988
Paul

@Paul, vâng, liên kết đó đã giúp một chút. Tôi đặt mức độ "tin cậy" của khóa là tối thượng và điều đó dường như đã khắc phục được vấn đề. Nhưng những gì vấn đề? Tại sao điều này xảy ra, và tôi đã sửa nó hay chỉ làm giảm bớt các triệu chứng?
Fouric

Xin lỗi InkBlend, tôi sợ khả năng sàng lọc và so sánh kết quả tìm kiếm của tôi vượt quá kiến ​​thức về pgp của tôi trong trường hợp này, do đó tôi không cố gắng nhận đây là Câu trả lời. Dường như Garrett biết những gì đang xảy ra, mặc dù.
Paul

Câu trả lời:


16

Tôi quản lý để tái tạo vấn đề mà bạn đang gặp phải. Tôi đã làm như vậy:

$ 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>

$

Lưu ý rằng quá trình đánh dấu khóa là "đáng tin cậy cuối cùng".

Bây giờ tôi xuất các khóa:

$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

Bây giờ tôi nhập vào cơ sở dữ liệu gpg mới:

$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

Bây giờ nếu tôi cố mã hóa bằng cách sử dụng dây khóa mới, tôi nhận được:

$ 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.

Lý do cho điều này là mô hình "web của niềm tin". Theo mặc định, để khóa công khai được tin cậy, nó yêu cầu 1 chứng chỉ tin cậy "cuối cùng" (thường là nơi cá nhân bạn đã xác minh danh tính của những người liên quan) hoặc 3 chứng chỉ tin cậy "cận biên" (nơi ai đó bạn biết, ai biết ai đó bạn biết ... đã ký giấy chứng nhận).

Vì gpg là một ứng dụng bảo mật, nó sẽ cảnh báo bạn nếu bạn đang cố mã hóa thành một khóa không được liệt kê là đáng tin cậy. Lý do khóa riêng của bạn không đáng tin cậy trong trường hợp này là đơn giản. Đó là bởi vì bạn đã không xuất các mối quan hệ tin cậy từ phiên bản gpg trước đó. Để làm điều này, sử dụng các lệnh --export-ownertrust và --import-ownertrust.

Như mọi khi, hãy tham khảo trang người đàn ông .


1
Điều quan trọng là tất cả dữ liệu về sự tin cậy của khóa được lưu trữ riêng biệt với khóa (cả bí mật và công khai)! ~/.gnupg/trustdb.gpggiữ cơ sở dữ liệu tin cậy, pubring.gpgkhóa công khai và secring.gpgkhóa bí mật. Vui lòng tham khảo tài liệu GnuPG về điều này .
gertvdijk

28

Tôi gặp vấn đề tương tự tuy nhiên tôi không còn có quyền truy cập vào khóa cũ. Vì vậy, bạn có thể tạo lại niềm tin vào khóa cũ của mình bằng cách này:

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 đã làm điều này (lưu ý trong các ý kiến), nhưng thật tốt khi được nêu như một câu trả lời.
muru

7

Bạn có thể sử dụng --always-trustcờ để bỏ qua tin nhắn này.


1
Điều này là hoàn toàn đúng, nhưng đó chỉ là lấy đi các triệu chứng, không phải là bệnh. Giải pháp của bạn giống như uống aspirin vì bạn bị ung thư ...
Fabby

2
--always-trustlà một giải pháp tốt trong một số trường hợp , nhưng nếu chìa khóa trong câu hỏi thực sự là khóa riêng của người dùng, thì nó nên được trao niềm tin tối thượng.
Blacklight Shining

4
Bệnh của tôi là sự khăng khăng bướng bỉnh của GPG đối với việc khóa mã hóa mã hóa tệp lập trình của tôi và làm như vậy theo các cách khác nhau trên mỗi VM tôi cài đặt phần mềm.
bbozo

@BlacklightShining và nếu tôi chưa thể xác minh điều đó, Evolution không cho phép mã hóa thư đến địa chỉ đó. Không có lý do tại sao mã hóa một văn bản cho ai đó đòi hỏi sự tin tưởng tuyệt đối - và chỉ với niềm tin bên lề là không thể.
Izzy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.