รหัสคีย์ OpenPGP / GnuPG คืออะไร


25

ฉันเข้าใจประโยชน์ของตัวบล็อกคีย์และแฮชของคีย์ แต่ฉันไม่ทราบว่าทำไมข้อมูลเพิ่มเติมจึงมีความจำเป็นดังนั้นฉันจึงไม่สามารถคาดเดาประโยชน์ของบิตข้อมูลเพิ่มเติมได้

โดยเฉพาะอย่างยิ่ง

  • มันหมายถึงอะไร
  • มันใช้ที่ไหนและ
  • (อย่างไร) สามารถกำหนดให้บล็อกสาธารณะได้หรือไม่

มันมีแนวโน้มที่จะได้รับการกล่าวถึงเป็นรูปธรรมและผ่านซึ่งนำไปสู่ความสับสนเนื่องจากspacewalkอย่างชัดเจนตระหนักถึงความแตกต่างระหว่างลายนิ้วมือและ IDในขณะที่เอกสาร GPG ที่ Fedora นำออกมานั้นมีวลี

สำหรับ KEYNAME ให้แทนที่รหัสคีย์หรือลายนิ้วมือของคู่คีย์หลักของคุณ

ซึ่งทำให้ดูเหมือนว่าทั้งสองมีจุดประสงค์เดียวกัน แต่นั่นก็ไม่สมเหตุสมผลเพราะถ้าเป็นเช่นนั้นทำไมคุณต้องเริ่มด้วยกันทั้งคู่?


ยูทิลิตี gpg ให้คุณระบุว่าสะดวกสบายสำหรับคุณ หากคุณระบุลายนิ้วมือระบบจะค้นหาลายนิ้วมือและหากคุณระบุ ID ระบบจะค้นหา ID ที่เท่ากับหรือมีสตริงที่คุณระบุ ID มักเป็นรหัสที่มนุษย์อ่านได้สำหรับคีย์ ลายนิ้วมือโดยทั่วไปมีการอธิบายที่en.wikipedia.org/wiki/Public_key_fingerprint คุณมีปัญหาอะไรจริงๆ
Jason C

@JasonC Spacewalk ต้องการ ID เช่นเดียวกับลายนิ้วมือและ URL สำหรับบล็อกหลัก แต่ repos (เช่นEPEL ) มีเพียงบล็อกหลักเท่านั้น ตอนนี้ฉันรู้ว่าฉันจะได้รับลายนิ้วมือเพียงแค่ทำการแฮชของตัวบล็อคคีย์ แต่ฉันไม่รู้ว่าฉันควรจะได้รับ ID จากที่อื่นตัดสินใจเลือกหนึ่งและโหลดลงในฐานข้อมูลก่อนที่ฉันจะบอก spacewalk เกี่ยวกับมันหรือเพียงแค่ทำอย่างใดอย่างหนึ่งสำหรับ spacewalk โดยทั่วไปแล้วมันเป็นปัญหาของ spacewalk ที่ง่ายขึ้นมากเมื่อฉันรู้เพิ่มเติมเกี่ยวกับการใช้ GPG ID
คู่ปรับ Shot

@ JasonC เพิ่มเติมโดยสังเขป: ฉันจะดาวน์โหลด RPM ที่ลงนามแล้วและสิ่งที่ฉันมีคือบล็อคหลักดังนั้นฉันจำเป็นต้องรู้ว่าฉันตัดสินใจเลือก ID หรือผู้ออกบัตรตัดสินใจเลือกรหัสใด
คู่ปรับ Shot

คุณทำตามคำแนะนำในการติดตั้ง EPEL / Spacewalk จากfedorahosted.org/spacewalk/wiki/HowToInstall#EPELrepositoryหรือwiki.centos.org/HowTos/PackageManagement/หรือไม่และ Spacewalk ไม่สามารถจัดการแพคเกจจาก EPEL ได้จริงหรือ คือaccess.redhat.com/site/solutions/308983ความเกี่ยวข้องหรือไม่
Jason C

1
หากมันทำงานได้โดยที่คุณไม่ต้องกรอกมันก็จะรู้วิธีจัดการโดยที่คุณไม่ได้ระบุและการกรอกข้อมูลนั้นจะไม่เป็นประโยชน์ อย่างไรก็ตามตรวจสอบweb.archive.org/web/20130821232554/http://centosforge.com/node/…ซึ่งบอกวิธีรับลายนิ้วมือและ ID สำหรับ Spacewalk คำแนะนำใกล้เคียงที่darkoperator.com/blog/2011/12/16/... ข้อมูลเพิ่มเติมที่google.com/search?q=spacewalk%20package%20key%20id
Jason C

คำตอบ:


29

จากRFC 4880 :

V4 fingerprint คือแฮช SHA-1 160 บิตของ octet 0x99 ตามด้วยความยาวของแพ็กเก็ตสอง octet ตามด้วยแพ็กเก็ต Public-Key ทั้งหมดที่เริ่มต้นด้วยฟิลด์เวอร์ชั่น Key ID เป็นลายนิ้วมือ 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 เท่าและยังถือว่าเหมาะสม แม้แต่ลายนิ้วมือก็สามารถปลอมแปลงได้ แต่มันก็ยิ่งยากกว่าที่จะปลอมแปลง (เนื่องจากมีลายนิ้วมือจำนวนมากที่เป็นไปได้)
Jens Erat

1
ฉันเชื่อมั่นในลิงค์ที่คุณรวมไว้ในคำตอบของคุณ ตอนนี้ลายเซ็นของฉันบอกว่า "harold@foo.com pgp.mit.edu ID ตั้งแต่วันที่ 2015-03-22" มีเหตุผลมากกว่านี้ หากมีคนต้องการส่งข้อความที่เข้ารหัสหรือตรวจสอบว่าคุณได้ลงนามแล้วพวกเขาจะต้องค้นหากุญแจสาธารณะของคุณบน keyserver ต่อไปดังนั้นจึงไม่มีข้อได้เปรียบในการใช้รหัสคีย์
zkilnbqi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.