Apa itu ID kunci OpenPGP / GnuPG?

22

Saya memahami kegunaan blok kunci itu sendiri, dan hash kunci, tetapi saya tidak tahu mengapa informasi tambahan akan diperlukan, jadi saya tidak bisa mulai menebak kegunaan sedikit informasi tambahan.

Secara khusus,

  • Apa artinya ini,
  • dimana itu digunakan, dan
  • (bagaimana) dapat ditentukan dengan diberikan blok kunci publik?

Ini cenderung disebutkan secara tangensial dan sepintas lalu, yang mengarah pada kebingungan sejak jelas spacewalk mengenali perbedaan antara sidik jari dan ID , sementara beberapa dokumentasi GPG dikeluarkan oleh Fedora termasuk frasa

Untuk KEYNAME, gantilah ID kunci atau sidik jari dari kunci utama Anda,

yang membuatnya seolah-olah keduanya memiliki tujuan yang sama; tetapi itu tidak masuk akal karena jika itu masalahnya mengapa Anda perlu keduanya untuk memulai?

Parthian Shot
sumber
Utilitas gpg memungkinkan Anda menentukan sebagai kenyamanan bagi Anda. Jika Anda menentukan sidik jari, sidik jari akan dicari dan jika Anda menentukan ID, sidik jari itu akan mencari ID yang sama atau berisi string yang Anda tentukan. ID sering merupakan pengenal yang dapat dibaca manusia untuk kunci tersebut. Sidik jari secara umum dijelaskan pada en.wikipedia.org/wiki/Public_key_fingerprint . Apa masalah yang sebenarnya Anda alami?
Jason C
@JasonC Spacewalk ingin ID serta sidik jari dan URL untuk blok kunci, tetapi repo (mis. EPEL ) hanya menyediakan blok kunci. Sekarang, saya tahu saya bisa mendapatkan sidik jari hanya dengan mengambil hash dari blok kunci, tetapi saya tidak tahu apakah saya seharusnya mendapatkan ID dari tempat lain, memutuskan satu dan memuatnya ke dalam database sebelum saya memberi tahu spacewalk tentang hal itu, atau hanya menebusnya untuk spacewalk. Pada dasarnya, ini masalah angkasa yang jauh lebih mudah begitu saya tahu lebih banyak tentang bagaimana ID GPG digunakan.
Parthian Shot
@JasonC Lebih ringkas: Saya akan mengunduh RPM yang telah ditandatangani, dan yang saya miliki adalah blok kunci, jadi saya perlu tahu apakah saya memutuskan ID atau penerbit memutuskan ID.
Parthian Shot
Apakah Anda mengikuti petunjuk instalasi EPEL / Spacewalk dari fedorahosted.org/spacewalk/wiki/HowToInstall#EPELrepository atau wiki.centos.org/HowTos/PackageManagement/… dan apakah Spacewalk benar-benar gagal mengelola paket dari EPEL? Aku s access.redhat.com/site/solutions/308983 relevan?
Jason C
1
Jika berfungsi tanpa Anda mengisinya, maka ia tahu cara mengelola tanpa Anda tentukan, dan mengisinya tidak membantu. Namun, periksa web.archive.org/web/20130821232554/http://centosforge.com/node/… yang memberi tahu Anda cara mendapatkan sidik jari dan ID untuk Spacewalk. Instruksi serupa di darkoperator.com/blog/2011/12/16/… . Info lebih lanjut di google.com/search?q=spacewalk%20package%20key%20id
Jason C

Jawaban:

24

Dari RFC 4880 :

Sidik jari V4 adalah hash SHA-1 160-bit dari oktet 0x99,   diikuti oleh panjang paket dua oktet, diikuti oleh keseluruhan   Paket Public-Key dimulai dengan bidang versi. ID Kunci adalah   64-bit sidik jari pesanan rendah.

Untuk kunci V3, perhitungannya serupa, tetapi panjang kunci dihilangkan.

Dengan kata lain, sidik jari dihitung dari konstanta, panjang paket, dan akhirnya bagian dari paket kunci publik. Penjelasan lebih lanjut tentang apa yang disertakan (dan bagaimana cara menghitungnya) dalam RFC tertaut.

ID kunci (panjang) diwakili oleh 64 bit terendah, dan digunakan karena sidik jari penuh adalah nilai yang tidak berguna dan panjang. Bahkan lebih sering, id kunci pendek yang dibentuk oleh 32-bit urutan terendah digunakan. Ini ID kunci pendek sering dianggap memiliki peluang tabrakan terlalu tinggi dan penggunaan setidaknya ID panjang, jika sidik jari bahkan tidak disarankan.

Dirangkum dalam beberapa kata:

Sidik jari adalah nilai hash yang dihitung dari paket kunci publik. ID kunci adalah bagian dari sidik jari:

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

Terkadang, ID diawali oleh 0x karena mereka nilai hex.

Jens Erat
sumber
1
Tautan yang sangat berguna untuk informasi tentang tabrakan, terima kasih. Anda mungkin ingin mengubah jawaban untuk mengatakan bahwa bahkan tombol yang panjang dapat ditempa dan karenanya tidak direkomendasikan.
zkilnbqi
Sementara ID kunci pendek dibuat dengan sangat mudah, ID kunci panjang 2 ^ 32 kali lebih sulit untuk bertabrakan dan masih dianggap tepat. Bahkan sidik jari bisa dipalsukan, hanya saja bahkan genap lebih sulit untuk dipalsukan (karena luas jumlah kemungkinan sidik jari).
Jens Erat
1
Saya yakin dengan tautan yang Anda masukkan dalam jawaban Anda. Sekarang tanda tangan saya mengatakan "[email protected] pgp.mit.edu ID pada 2015-03-22" Lebih masuk akal. Jika seseorang ingin mengirimi Anda pesan terenkripsi atau memverifikasi bahwa Anda telah menandatanganinya, mereka tetap harus menemukan kunci publik Anda di server kunci, jadi tidak ada keuntungan menggunakan ID kunci.
zkilnbqi