Що таке ідентифікатор ключа OpenPGP / GnuPG?


25

Я розумію корисність самого блоку ключів та хеш-ключа, але не знаю, чому потрібна додаткова інформація, тому я не можу почати здогадуватися про корисність додаткового біта інформації.

Зокрема,

  • Що це означає,
  • де воно використовується, і
  • (як) це можна визначити за блоком відкритого ключа?

Це, як правило, згадується дотично і попутно, що призводить до плутанини, оскільки чітко пробіг визнає різницю між відбитками пальців і ідентифікатором , тоді як деяка документація GPG, викладена Fedora, включає фразу

Для KEYNAME замініть ідентифікатор ключа або відбиток пальця основного ключа,

через що здається, що вони поділяють одну і ту ж мету; але це не має сенсу, тому що якщо так було, то для чого вам потрібно було б і для початку?


Утиліта gpg дозволяє вам вказати як зручність для вас. Якщо ви вкажете відбиток пальця, він буде шукати відбиток пальця, а якщо ви вкажете ідентифікатор, він буде шукати ідентифікатор, що дорівнює або містить рядок, який ви вказуєте. Ідентифікатор часто є читабельним людиною ідентифікатором для ключа. Відбиток пальця загалом описаний на en.wikipedia.org/wiki/Public_key_fingerprint . Яка проблема у вас є насправді?
Джейсон C

@JasonC Spacewalk хоче ідентифікатор, а також відбиток пальця та URL-адресу для блоку ключів, але репост (наприклад, EPEL ) надає лише блок ключа. Тепер я знаю, що я можу отримати відбиток пальців, просто взявши хеш-клавішу блоку, але я не знаю, чи повинен я отримати ідентифікатор з іншого місця, визначитися з ним і завантажити його в базу даних, перш ніж я скажу прогуляти про це, або просто доповнити простір. По суті, це проблема космодрому, яка стає набагато легшою, коли я дізнаюся більше про те, як використовуються ідентифікатори GPG.
Парфянський розстріл

@JasonC Більш коротко: я буду завантажувати підписані RPM, і все, що у мене є, є ключовим блоком, тому мені потрібно знати, чи я приймаю рішення про ідентифікатор, чи емітент вирішує питання про ідентифікатор.
Парфянський розстріл

Чи дотримувалися ви інструкцій із встановлення EPEL / Spacewalk з fedorahosted.org/spacewalk/wiki/HowToInstall#EPELrepository або wiki.centos.org/HowTos/PackageManagement/… та чи насправді Spacewalk не вдається керувати пакетами з EPEL? Чи релевантний access.redhat.com/site/solutions/308983 ?
Джейсон C

1
Якщо він працює, не заповнивши його, то він знає, як керувати, не уточнюючи вас, і заповнення його не є корисним. Однак перегляньте web.archive.org/web/20130821232554/http://centosforge.com/node/…, який розповідає про те, як отримати відбиток пальця та ідентифікатор для Spacewalk. Аналогічні інструкції на darkoperator.com/blog/2011/12/16/… . Більше інформації на google.com/search?q=spacewalk%20package%20key%20id
Jason C

Відповіді:


29

Від RFC 4880 :

Відбиток V4 - це 160-бітний хеш SHA-1 октету 0x99, за яким слід двооктетна довжина пакета, а потім весь пакет відкритого ключа, починаючи з поля версії. Ідентифікатор ключа - це 64 біт низького порядку відбитка пальця.

Для клавіш V3 розрахунок аналогічний, але довжина ключа опущена.

Іншими словами, відбиток пальця обчислюється з постійної, довжини пакета і, нарешті, частини пакета відкритого ключа. Подальше пояснення щодо того, що включено (і, таким чином, як його обчислити) у пов'язаному RFC.

(Довгий) ідентифікатор ключа представлений найнижчими 64 бітами, і він використовується, оскільки повний відбиток пальців - це незмінне і довге значення. Ще частіше використовується короткий ідентифікатор клавіш, утворений 32 бітами нижнього порядку. Ці короткі ідентифікатори ключів часто вважаються занадто високими шансами зіткнення та використання принаймні довгого ідентифікатора, якщо не рекомендується навіть повний відбиток пальця.

Укладено декількома словами:

Відбиток пальців - це хеш-значення, обчислене з пакету відкритого ключа. Ключові ідентифікатори є частиною відбитка пальця:

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

Іноді ідентифікатори отримують префікс, 0xоскільки вони є шістнадцятковими значеннями.


1
Дуже корисне посилання на інформацію про зіткнення, дякую. Ви можете змінити відповідь, щоб сказати, що навіть довгі клавіші підробляються, тому їх не рекомендується.
zkilnbqi

Хоча короткі ідентифікатори ключів підробляються дуже легко, довгі ідентифікатори ключів стикаються в 2 ^ 32 рази важче і все ще вважаються доцільними. Навіть відбитки пальців можна підробити, їх просто навіть важче підробити (через велику кількість можливих відбитків пальців).
Єнс Ерат

1
Мене переконало посилання, яке ви включили у свою відповідь. Тепер на моєму підписі написано "ідентифікатор harold@foo.com pgp.mit.edu станом на 22.03.2015" має набагато більше сенсу. Якщо хтось хоче надіслати вам зашифроване повідомлення або підтвердити, що ви його підписали, він все одно повинен буде знайти ваш відкритий ключ на сервері клавіш, тому переваги у використанні ідентифікатора ключа немає.
zkilnbqi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.