ID khóa OpenPGP / GnuPG là gì?


25

Tôi hiểu tiện ích của chính khối khóa và hàm băm của khóa, nhưng tôi không biết tại sao cần thêm thông tin, vì vậy tôi không thể bắt đầu đoán tiện ích của một chút thông tin bổ sung.

Đặc biệt,

  • Nó biểu thị cái gì
  • nó được sử dụng ở đâu và
  • (làm thế nào) nó có thể được xác định cho khối khóa công khai?

Nó có xu hướng được đề cập một cách tiếp tuyến và thông qua, điều này dẫn đến sự nhầm lẫn vì không gian vũ trụ rõ ràng nhận ra sự khác biệt giữa dấu vân tay và ID , trong khi một số tài liệu GPG do Fedora đưa ra bao gồm cụm từ

Đối với KEYNAME, thay thế ID khóa hoặc dấu vân tay của cặp khóa chính của bạn,

mà làm cho có vẻ như cả hai có chung một mục đích; Nhưng điều đó không có ý nghĩa bởi vì nếu đó là trường hợp tại sao bạn cần cả hai để bắt đầu?


Tiện ích gpg cho phép bạn chỉ định một cách thuận tiện cho bạn. Nếu bạn chỉ định dấu vân tay, nó sẽ tra cứu dấu vân tay và nếu bạn chỉ định ID, nó sẽ tìm ID bằng hoặc chứa chuỗi bạn chỉ định. ID thường là mã định danh có thể đọc được cho khóa. Dấu vân tay nói chung được mô tả tại en.wikipedia.org/wiki/Public_key_fingerprint . Vấn đề bạn đang thực sự gặp phải là gì?
Jason C

@JasonC Spacewalk muốn có ID cũng như dấu vân tay và URL cho khối khóa, nhưng repos (ví dụ EPEL ) chỉ cung cấp khối khóa. Bây giờ, tôi biết rằng tôi có thể lấy dấu vân tay chỉ bằng cách lấy hàm băm của khối khóa, nhưng tôi không biết liệu tôi có nên lấy ID từ nơi khác không, quyết định một và tải nó vào cơ sở dữ liệu trước khi tôi nói spacewalk về nó, hoặc chỉ tạo một cho spacewalk. Về cơ bản, đó là một vấn đề về không gian trở nên dễ dàng hơn rất nhiều một khi tôi biết thêm về cách sử dụng ID GPG.
Bắn Parthian

@JasonC Ngắn gọn hơn: Tôi sẽ tải xuống các RPM đã ký và tất cả những gì tôi có là khối chính, vì vậy tôi cần biết liệu tôi có quyết định ID hay nhà phát hành quyết định ID hay không.
Bắn Parthian

Bạn đã làm theo hướng dẫn cài đặt EPEL / Spacewalk từ fedorahosted.org/spacewalk/wiki/HowToInstall#EPELreposeective hoặc wiki.centos.org/HowTos/PackageManloyment/ của Spacewalk thực sự không quản lý được các gói từ EPEL? Là access.redhat.com/site/solutions/308983 có liên quan?
Jason C

1
Nếu nó hoạt động mà không cần bạn điền vào, thì nó biết cách quản lý mà không cần bạn chỉ định, và điền nó vào là không hữu ích. Tuy nhiên, hãy xem web.archive.org/web/20130821232554/http://centosforge.com/node/ gợi ý cho bạn cách lấy dấu vân tay và ID cho Spacewalk. Hướng dẫn tương tự tại darkoperator.com/blog/2011/12/16/õ . Thông tin thêm tại google.com/search?q=spacewalk%20package%20key%20id
Jason C

Câu trả lời:


29

Từ RFC 4880 :

Dấu vân tay V4 là hàm băm SHA-1 160 bit của octet 0x99, tiếp theo là độ dài gói hai octet, tiếp theo là toàn bộ gói Khóa công khai bắt đầu với trường phiên bản. ID chính là 64 bit thứ tự thấp của dấu vân tay.

Đối với các khóa V3, tính toán tương tự, nhưng độ dài khóa bị bỏ qua.

Nói cách khác, dấu vân tay được tính từ một hằng số, độ dài gói và cuối cùng là một phần của gói khóa công khai. Giải thích thêm về những gì được bao gồm (và do đó làm thế nào để tính toán nó) trong RFC được liên kết.

Id khóa (dài) được biểu thị bằng 64 bit thấp nhất và được sử dụng làm dấu vân tay đầy đủ là một giá trị không đẹp và dài. Thậm chí thường xuyên hơn, id khóa ngắn được hình thành bởi 32 bit có thứ tự thấp nhất được sử dụng. Các ID khóa ngắn này thường được coi là có khả năng va chạm và sử dụng ít nhất là ID dài, nếu không nên sử dụng dấu vân tay đầy đủ.

Tóm lại trong một vài từ:

Dấu vân tay là giá trị băm được tính từ gói khóa công khai. ID chính là một phần của dấu vân tay:

Fingerprint: 0D69 E11F 12BD BA07 7B37  26AB 4E1F 799A A4FF 2279
Long key ID:                                4E1F 799A A4FF 2279
Short key ID:                                         A4FF 2279

Đôi khi, ID có tiền tố 0xlà giá trị hex.


1
Liên kết rất hữu ích với các thông tin về va chạm, cảm ơn. Bạn có thể muốn thay đổi câu trả lời để nói rằng ngay cả các phím dài cũng được tha thứ và do đó không được khuyến khích.
zkilnbqi

Mặc dù ID khóa ngắn được giả mạo rất dễ dàng, ID khóa dài khó va chạm hơn 2 ^ 32 lần và vẫn được coi là phù hợp. Ngay cả dấu vân tay cũng có thể bị giả mạo, chúng thậm chí còn khó rèn hơn (do số lượng lớn dấu vân tay có thể có).
Jens Erat

1
Tôi đã bị thuyết phục bởi các liên kết bạn bao gồm trong câu trả lời của bạn. Bây giờ chữ ký của tôi nói "harold@foo.com pgp.mit.edu ID kể từ 2015-03-22" Có ý nghĩa hơn nhiều. Nếu ai đó muốn gửi cho bạn một tin nhắn được mã hóa hoặc xác minh rằng bạn đã ký, họ sẽ phải tìm khóa công khai của bạn trên máy chủ khóa, vì vậy không có lợi thế nào khi sử dụng ID khóa.
zkilnbqi
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.