สถานะการใช้งานของ GPG มีการกำหนดไว้อย่างไรในรายการรายละเอียดหลัก


58

เมื่อฉันแสดงรายละเอียดของคีย์ฉันจะได้ผลลัพธ์ดังนี้:

$ gpg --edit-key SOMEID
pub [..] created: [..] expires: [..]   usage:SC
[..]
sub [..] created: [..] expires: [..]   usage: E

หรือแม้กระทั่งusage: SCAในคีย์อื่น (ส่วนมาสเตอร์คีย์)

ตัวย่อเหล่านี้ในฟิลด์การใช้งานหมายถึงอะไร

ฉันสามารถสืบมาได้ว่า:

S -> for signing
E -> for encrypting

แต่สิ่งที่เกี่ยวCและA?

และมีอีกไหม?

และสถานที่ที่จะมองสิ่งเช่นนี้ขึ้นมา?

คำตอบ:


59

ตกลงคู่มือ gpg ดูเหมือนจะไม่พูดถึงตัวย่อเหล่านี้ ดังนั้นหนึ่งต้องดูแหล่งที่มา

ตัวอย่างเช่นภายใต้ Debian / Ubuntu:

$ apt-get source gnupg2
$ cd gnupg2-2.0.17
$ cscope -bR
$ grep 'usage: %' . -r --exclude '*po*'
$ vim g10/keyedit.c
jump to usage: %
jump to definition of `usagestr_from_pk`

จากรหัสหนึ่งสามารถสืบตารางต่อไปนี้:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ตัวละครคงที่
───────────────────────────────
PUBKEY_USAGE_SIG S
PUBKEY_USAGE_CERT C
PUBKEY_USAGE_ENC E
PUBKEY_USAGE_AUTH A
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ตัวอย่างเช่นusage: SCAหมายความว่าสามารถใช้คีย์ย่อยสำหรับการลงนามเพื่อสร้างใบรับรองและการตรวจสอบสิทธิ์


7
ที่ไหนก็ได้ในเอกสาร?
Jaime Hablutzel

@JaimeHablutzel คุณพบเอกสารที่ดีเกี่ยวกับเรื่องนี้หรือไม่?
Eric Fail

ไม่ขอโทษ แต่แหล่งข่าวดูเหมือนจะเป็นจุดเริ่มต้นที่ดี
Jaime Hablutzel

15

เค้าโครงของ--edit-keyรายชื่อไม่ได้รับการบันทึกไว้ (ไม่ใช่สิ่งที่ฉันสามารถหาได้) อย่างไรก็ตามตัวย่อที่คุณพูดถึงอยู่ที่ไหนสักแห่งในหน้าข้อมูล ( info gpg)

ฉันค้นหาS:และพบว่าฉันต้องการค้นหาusage:จริงๆ

ใน "ตัวเลือกที่เกี่ยวข้องกับคีย์ GPG":

4.2.1 วิธีเปลี่ยนการกำหนดค่า

ตัวเลือกเหล่านี้ใช้เพื่อเปลี่ยนการกำหนดค่าและมักจะพบในไฟล์ตัวเลือก

'--list-options parameters'

 show-usage

      Show usage information for keys and subkeys in the standard
      key listing.  This is a list of letters indicating the allowed
      usage for a key ('E'=encryption, 'S'=signing,
      'C'=certification, 'A'=authentication).  Defaults to no.

ดังนั้นการทำgpg -k --list-options show-usage 1A3ABKEYจะแสดงให้คุณเห็นดังนี้:

pub   rsa4096/1A3ABKEY 2015-01-25 [SC]
uid         [ultimate] Some Key
sub   rsa4096/4B907KEY 2015-09-19 [S]
sub   rsa4096/F9A41KET 2015-09-19 [E]

พบข้อมูลเพิ่มเติมบางอย่างใน "การใช้ GPG แบบอัตโนมัติ"

การใช้คีย์: USAGE-LIST

 Space or comma delimited list of key usages.  Allowed values are
 'encrypt', 'sign', and 'auth'.  This is used to generate the key
 flags.  Please make sure that the algorithm is capable of this
 usage.  Note that OpenPGP requires that all primary keys are
 capable of certification, so no matter what usage is given here,
 the 'cert' flag will be on.  If no 'Key-Usage' is specified and the
 'Key-Type' is not 'default', all allowed usages for that particular
 algorithm are used; if it is not given but 'default' is used the
 usage will be 'sign'.

ดังนั้นในขณะที่ไม่ปรากฏชัดแจ้งข้อมูลจะมีอยู่ในระบบของคุณ ถ้าmanไม่ช่วยให้คุณลองและman -k / หรือinfo


ฉันเห็นสิ่งนี้บน manpage สำหรับ gpg 1.4.18 แต่ดูเหมือนว่าจะหายไปจากคู่มือสำหรับ gpg 2.0.28 นอกจากนี้ในทั้งสองเวอร์ชันคำสั่ง "gpg -k --list-options แสดงการใช้งาน 1A3ABKEY" เอาต์พุต "gpg: ตัวเลือกที่ไม่รู้จัก` show-
use

@YoungFrog ขอบคุณสำหรับความคิดเห็น ฉันชี้แจงฉันพบข้อมูลในหน้าข้อมูล สำหรับคำสั่งไม่ทำงานสำหรับฉันมันใช้งานได้กับ gpg (2.1.8) เมื่อฉันลอง gpg1 (1.4.19) ฉันยังได้รับgpg: unknown option 'show-usage' gpg: invalid list optionsแม้ว่าการใช้งานจะถูกบันทึกไว้ในหน้าข้อมูล gpg1 ...
jeroentbt

5

ค่าสถานะคีย์เหล่านี้ถูกกำหนดในข้อมูลจำเพาะ OpenPGP

5.2.3.21 ธงกุญแจ

(ไม่มีออคเตตธง)

แพ็กเกจย่อยนี้ประกอบด้วยรายการของแฟล็กไบนารีที่เก็บข้อมูลเกี่ยวกับคีย์ มันเป็นสตริงของอ็อตเท็ตและการนำไปใช้ต้องไม่ถือว่ามีขนาดคงที่ นี่คือเพื่อให้สามารถเติบโตได้ตลอดเวลา หากรายการสั้นกว่าการนำไปปฏิบัติคาดว่าแฟล็กที่ไม่ได้จัดอันดับจะถูกพิจารณาว่าเป็นศูนย์ ธงที่กำหนดมีดังนี้:

   First octet:

   0x01 - This key may be used to certify other keys.

   0x02 - This key may be used to sign data.

   0x04 - This key may be used to encrypt communications.

   0x08 - This key may be used to encrypt storage.

   0x10 - The private component of this key may have been split
          by a secret-sharing mechanism.

   0x20 - This key may be used for authentication.

   0x80 - The private component of this key may be in the
          possession of more than one person.

5
ดูเหมือนว่าข้อมูลอ้างอิงที่มีประโยชน์ แต่ไม่ได้ตอบคำถามจริงๆ
G-Man

2

ฝังลึกในรายชื่อผู้รับจดหมาย GnuPG ...

ตัวอักษรทางด้านขวาของคำว่า "การใช้งาน" หมายถึงอะไร
(S, C, A, E) ฉันสามารถเดาได้เท่านั้น | S | ign, | E | ncrypt, ....

(S) ign: ลงชื่อเข้าใช้ข้อมูลบางส่วน (เช่นไฟล์)
(C) ertify: ลงชื่อกุญแจ (ซึ่งเรียกว่าการรับรอง)
(A) uthenticate: รับรองความถูกต้องของตัวคุณเองกับคอมพิวเตอร์ (ตัวอย่างเช่นการเข้าสู่ระบบ)
(E) ncrypt: เข้ารหัส ข้อมูล


2

แหล่งที่มาของข้อมูลก็คือรายละเอียดการยื่นในการกระจาย GnuPG

มาตรา"สนามที่ 12 - ความสามารถที่สำคัญ"รัฐ

ความสามารถที่กำหนดคือ:

อี
การเข้ารหัสลับ
s
สัญญาณ
ค
สอบ

การรับรอง
?
ความสามารถที่ไม่รู้จัก

รหัสอาจมีการรวมกันของพวกเขาในลำดับใด ๆ 
นอกจากตัวอักษรเหล่านี้แล้วคีย์หลักจะเป็นตัวพิมพ์ใหญ่ 
ตัวอักษรเวอร์ชันต่างๆเพื่อแสดงถึงความสามารถในการใช้งานทั้งหมด 
คีย์และตัวอักษรที่เป็นไปได้ 'D' เพื่อระบุคีย์ที่ถูกปิดใช้งาน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.