it-swarm-vi.com

Tôi nên phân phối khóa công khai của mình như thế nào?

Tôi mới bắt đầu sử dụng GPG và tạo khóa công khai. Thật là vô nghĩa nếu không ai biết về nó. Tôi nên phân phối nó như thế nào? Tôi có nên đăng nó trên hồ sơ của mình trên Facebook và LinkedIn không? Làm thế nào về blog của tôi? Những rủi ro là gì?

193
Roger C S Wernersson

Cách tốt nhất để phân phối khóa của bạn là sử dụng một trong các máy chủ chính có sẵn, chẳng hạn như Keyserver.ubfox.com , pgp.mit.ed hoặc keyerver.pgp.com .

Nếu bạn sử dụng Seahorse (trình quản lý khóa mặc định trong Ubuntu), nó sẽ tự động đồng bộ hóa các khóa của bạn với một trong những máy chủ này. Người dùng sau đó có thể tra cứu khóa của bạn bằng địa chỉ email hoặc keyid của bạn.

Nếu bạn muốn đăng khóa công khai của mình trên LinkedIn hoặc blog của mình, bạn có thể tải khóa lên máy chủ của mình hoặc chỉ cần liên kết đến trang cho khóa của bạn trên một trong những trình điều khiển ở trên. Cá nhân, tôi sẽ tải nó lên một trong các trình điều khiển và liên kết với nó, vì sẽ dễ dàng cập nhật nó ở một nơi hơn, thay vì để tệp ở nhiều vị trí khác nhau. Bạn cũng có thể chia sẻ keyid của mình với mọi người và sau đó họ có thể nhận khóa của bạn bằng cách sử dụng gpg --recv-keys.

Nếu bạn muốn đăng khóa công khai của mình lên Facebook, có một trường để đặt nó dưới phần Thông tin liên hệ trong hồ sơ của bạn. Bạn cũng có thể thay đổi cài đặt bảo mật Facebook của mình để sử dụng cùng khóa công khai này để mã hóa email của họ cho bạn.

Ví dụ: đây khóa công khai của tôi .

Theo hiểu biết của tôi, không có rủi ro liên quan đến việc xuất bản khóa công khai của bạn.

107
Mark Davidson

Không có rủi ro lộ khóa riêng của bạn hoặc làm mất hiệu lực khóa công khai của bạn, bằng cách xuất bản khóa chung của bạn theo cách bạn và @Mark mô tả. Như @pboin đã nêu, nó được thiết kế để có sẵn cho thế giới.

Tuy nhiên, có một vấn đề khác ... Một trong những mục đích cốt lõi của việc có và xuất bản khóa công khai của bạn (thực sự, đây có thể là mục đích CHÍNH), là để xác thực chính mình với người dùng khác, cho phép họ xác minh tính xác thực của bất kỳ tin nhắn hoặc dữ liệu bạn ký và chỉ bảo vệ/mã hóa dữ liệu cho mắt của bạn.
[.__.] Nhưng làm thế nào để những người dùng đó biết rằng đó thực sự là khóa công khai của BẠN? Ví dụ: nếu tôi muốn gửi một tin nhắn riêng tư tới @Mark Davidson, sử dụng khóa được xuất bản của anh ấy tại http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE493B06DD070AFC8 , Làm thế nào để tôi biết rằng đó là [~ # ~] thật [~ # ~] Mark Davidson đã xuất bản khóa đó hoặc chỉ tôi ở đó?
[.___.] Sẽ rất tầm thường khi tôi xuất bản khóa công khai OWN của mình, trên mit.edu, trên LinkedIn, Facebook, v.v., và chỉ đơn giản gọi tôi là Bill Clinton (hoặc Bill Gates). Làm thế nào bạn có thể biết khác?
[.__.] Hơn nữa, nếu bằng cách nào đó Tôi biết đây thực sự là người phù hợp (ví dụ: tôi muốn liên hệ với một blogger ẩn danh, qua pk được xuất bản trên blog của mình - Tôi không quan tâm anh ấy thực sự là ai, chủ sở hữu của trang web - và do đó, nhà xuất bản pk - dù sao cũng là người chính xác) - điều gì để đảm bảo khóa công khai không bị giả mạo trên đường? Tất cả các liên kết và trang web được đề cập cho đến nay (ok, ngoại trừ máy chủ khóa PGP) là HTTP - tức là không có bảo vệ kênh, tức là có thể dễ dàng thay đổi giữa máy chủ và trình duyệt.

Khi sử dụng mô hình X.509/PKI, luôn có ai đó đáng tin cậy đó là chứng từ cho bạn. Ví dụ. Cơ quan cấp chứng chỉ nổi tiếng (đáng tin cậy vì các nhà cung cấp trình duyệt đã kiểm tra họ và thêm chứng chỉ gốc của họ vào Cửa hàng gốc đáng tin cậy trong trình duyệt) đã xác minh danh tính của bạn và đã ký khóa/chứng chỉ công khai của bạn. Do đó, bất cứ ai muốn xác minh bạn là ai, bạn chỉ cần kiểm tra chữ ký và sau đó kiểm tra danh tính của bất kỳ ai đang chứng nhận cho bạn (và sau đó lặp lại cho đến khi tìm thấy CA gốc đáng tin cậy nổi tiếng).

Tuy nhiên, trong mô hình PGP, thường có không trung tâm, cơ quan đáng tin cậy (mặc dù các phiên bản hiện tại DO cho phép điều này). Thay vào đó, PGP dựa trên mô hình web tin cậy, trong đó nếu bạn tin tưởng ai đó, họ có thể lần lượt xác nhận danh tính của người khác.

Bất kể, chỉ đưa khóa công khai của bạn ra đó không giúp ai xác minh danh tính của bạn, cũng không đảm bảo rằng những tin nhắn được mã hóa sẽ chỉ có thể được xem bởi người chính xác.

Bạn có thể làm gì:

  • Xuất bản khóa công khai của bạn, giống như bạn và @Mark đã nói - nhưng sau đó cung cấp khóa chung mã thông báo (về cơ bản là băm của khóa chung, như dấu vân tay) thông qua kênh bảo mật. Ví dụ. Điều này bây giờ đủ ngắn để đọc qua điện thoại nếu anh ấy biết cá nhân bạn ... Tôi thậm chí đã từng thấy ai đó đặt mã thông báo pk của mình vào danh thiếp của mình, đưa ra một hội nghị (phải thừa nhận đây là từ một nhà cung cấp).
  • Bắt đầu ký email của bạn, sau đó xác minh với người nhận rằng đó là chữ ký của bạn thông qua kênh ngoài băng tần (ví dụ qua điện thoại hoặc gặp trực tiếp ( gasp !!))
  • Làm phức tạp tình hình, nhận chứng chỉ X.509 tiêu chuẩn và triển khai SSL (tốt nhất là EV) trên trang web của bạn, sau đó bất kỳ ai cũng có thể tải xuống pk của bạn an toàn với kiến ​​thức rằng nó đến từ bất kỳ ai sở hữu tên miền đó ... (Được rồi, có thể nó hoạt động tốt hơn cho các công ty lớn ...)
    [.__.] Hãy xem Microsoft thực hiện ...

Mặc dù vậy, nó thực sự phụ thuộc vào việc pk này dùng để làm gì - nếu đó chỉ là để làm cho mẹ bạn ngạc nhiên, thì đừng bận tâm với tất cả những điều đó :)
[.__.] Mặt khác, nếu bạn có thông tin liên lạc thực sự nhạy cảm hoặc với các khách hàng có ý thức bảo mật, thì tất cả những điều trên quan trọng ...

79
AviD

Một giải pháp chung là tải nó lên keyerver . Một ý tưởng hay khác có thể là tạo một mục tại Biglumber . Điều này giúp liên lạc với những người khác và có thể ký tên cho nhau.

Hơn nữa, bạn nên xem qua hộp thư đến của mình và tìm kiếm những người liên hệ đã ký email của họ. Bạn có thể gửi cho họ một thư không chính thức, bây giờ bạn có một khóa và trỏ chúng đến một tài nguyên.

Một mục blog về chìa khóa của bạn cũng tốt. Bạn nên cung cấp một liên kết để tải về chìa khóa của bạn.

Nếu bạn sử dụng chữ ký trong thư của mình, bạn có thể trỏ đến khóa mới của mình và tất nhiên là ký mỗi thư .

Nhắc nhở rằng bạn không thể xóa khóa của mình sau khi được tải lên máy chủ khóa (và được phân phối giữa chúng). Tất nhiên, bạn có thể thu hồi nó. Hơn nữa, người ta cho rằng những kẻ gửi thư rác tìm kiếm những địa chỉ email đó và gửi cho bạn một số "Ưu đãi hấp dẫn". Khi bạn thực hiện gõ phím và tải lên các chữ ký mới, chữ ký sẽ hiển thị nơi bạn đã đến vào một ngày cụ thể.

27
qbi

Xin lưu ý, mọi địa chỉ email trên khóa của bạn sẽ được hiển thị trên các giao diện web công cộng. Tôi nhận được rất nhiều thư rác trong email trên khóa của mình, vì vậy nó không đưa địa chỉ email hiện tại của tôi vào khóa.

11
allo

Câu trả lời đơn giản cho câu hỏi "phân phối" của bạn là bạn nên sử dụng bất kỳ phương pháp nào hoạt động thuận tiện cho bạn và người nhận dự định của bạn và đáp ứng nhu cầu của bạn về quyền riêng tư. Ví dụ. một máy chủ khóa có thể được sử dụng một cách thuận tiện để phân phối cho nhiều người nhận, nhưng như ubi lưu ý, một máy chủ khóa thông thường sẽ phơi bày uid (thường có địa chỉ email của bạn) cho người gửi thư rác mọi lúc.

Câu hỏi khó hơn nhiều là làm thế nào để người nhận của bạn xác minh rằng họ có chìa khóa phù hợp với bạn, thay vì thứ gì đó giả mạo tạo điều kiện cho một cuộc tấn công? Bạn có thể muốn trao đổi một dấu vân tay của khóa với người khác "ngoài băng", ví dụ: qua điện thoại. Hoặc bạn có thể dựa vào "web tin cậy": một chuỗi chữ ký của những người bạn tin tưởng cho mục đích này. Xem những câu hỏi này để biết thêm lời khuyên:

7
nealmcb

Việc phân phối khóa công khai vẫn là một vấn đề mở với PGP/GPG.

Tải lên máy chủ khóa công khai

  • những người khác có thể ký tên công khai khóa của bạn bằng một văn bản hoặc nội dung xúc phạm mà bạn không muốn thấy liên quan đến khóa của bạn
  • nhiều người dùng quên mật khẩu hoặc mất khóa thu hồi và thay đổi địa chỉ thư của họ và không thể xóa khóa cũ nữa.
  • gần như không thể, để xóa khóa hoặc chữ ký từ các máy chủ này
  • công cụ khai thác dữ liệu để phân tích dữ liệu từ máy chủ khóa tồn tại
  • người ta nhận được nhiều thư rác hơn đến các địa chỉ trên máy chủ khóa công cộng vì chúng dễ cắt và rất thú vị vì chúng hỗ trợ rất nhiều siêu dữ liệu: Chẳng hạn như tên, thư, bạn bè, dấu thời gian.
  • ... nhưng mọi người đều có thể tải khóa công khai của bạn lên máy chủ khóa. Điều này có thể xảy ra do cố ý, hoặc tình cờ. Hầu hết các công cụ PGP đều hỗ trợ tải lên các khóa công khai đã nhập và nếu bạn đợi đủ lâu, ai đó sẽ tải nó lên và ký vào khóa mà không biết bạn.

Tải lên trang web của riêng

  • người dùng có thể loại bỏ hoặc thay đổi phím
  • tải xuống một khóa từ một trang web đáng tin cậy của người nhận có thể là một chỉ báo khác cho một khóa xác thực
  • nhiều người dùng PGP chuyên nghiệp cũng chọn phương pháp này
  • đặt chìa khóa bên cạnh số liên lạc trên trang web của bạn quảng cáo việc sử dụng PGP

Cuộc họp cá nhân

Để đọc thêm xem

6
Jonas Stein

Để phân phối, nó thực sự phụ thuộc vào khán giả của bạn. Người lạc quan trong tôi hy vọng rằng mọi người sẽ háo hức sử dụng khóa của tôi để mã hóa tin nhắn và kiểm tra chữ ký của tôi. Thực tế là việc quản lý nó đã không thành vấn đề. Tôi đã làm rất tốt bằng cách cung cấp nó trên blog của tôi và theo yêu cầu.

Đối với các rủi ro, nó được thiết kế để có sẵn cho thế giới. Tập trung những mối quan tâm vào việc bảo vệ khóa riêng. Đặt một mật khẩu xung quanh nó, và bảo vệ nó một cách cẩn thận.

6
pboin

Trong Linux, bạn có thể sử dụng lệnh:

$ gpg --keyserver hkp://keyserver.ubuntu.com --send-key "your key_index or email"
$ gpg --keyserver hkp://pgp.mit.edu --send-key "your key_index or email"
$ gpg --keyserver hkp://pool.sks-keyservers.net --send-key "your key_index or email"

Và gửi nó đến các máy chủ khác nhau. Họ sẽ tuyên truyền chìa khóa của bạn.

4
John