Cum sunt definite stegulețele de utilizare GPG în lista de detalii cheie? (Unix, Gpg)

maxschlepzig a intrebat.
a intrebat.

Atunci când listez detaliile unei chei, obțin o ieșire de genul acesta:

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

Sau chiar usage: SCA pe o altă cheie (partea de cheie principală).

Ce înseamnă aceste abrevieri din câmpul de utilizare?

Eu pot să deduc că:

S -> for signing
E -> for encrypting

Dar ce se întâmplă cu C și A?

Și mai sunt și altele?

Și unde să caut chestii de genul ăsta ?

6 răspunsuri
maxschlepzig

Ok, manualul gpg nu pare să menționeze aceste abrevieri. Astfel, trebuie să ne uităm la sursă.

De exemplu, sub 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`

Din cod se poate obține următorul tabel:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Constant              Character
───────────────────────────────
PUBKEY_USAGE_SIG      S
PUBKEY_USAGE_CERT     C
PUBKEY_USAGE_ENC      E
PUBKEY_USAGE_AUTH     A
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Astfel, de exemplu, usage: SCA înseamnă că subcheia poate fi utilizată pentru semnare, pentru crearea unui certificat și în scopuri de autentificare.

Comentarii

  • într-adevăr undeva în documentație? –  > Por Jaime Hablutzel.
  • @JaimeHablutzel, ați găsit vreo documentație bună în acest sens? –  > Por Eric Fail.
  • Nu, îmi pare rău, dar sursa pare a fi un loc bun pentru a începe –  > Por Jaime Hablutzel.
  • nu vă încredeți niciodată în documentație. codul sursă este singurul și ultimul adevăr. –  > Por ratijas.
jeroentbt

Aranjamentul de --edit-key listarea nu este documentată (oricum, nu din câte am putut găsi). Abrevierile pe care le menționați însă sunt, undeva în paginile de informații (info gpg).

Am căutat S: și am constatat că, de fapt, voiam să caut usage:.

În „Opțiuni legate de cheia GPG”:

4.2.1 Cum se modifică configurația

Aceste opțiuni sunt utilizate pentru a modifica configurația și se găsesc, de obicei, în fișierul de opțiuni.

'--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.

Așadar, făcând gpg -k --list-options show-usage 1A3ABKEY vă va arăta ceva de genul acesta:

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]

Mai multe informații se găsesc în „Unattended Usage of GPG” (Utilizarea nesupravegheată a GPG).

Key-Usage: 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'.

Așadar, deși nu sunt vizibile imediat, informațiile se află acolo, undeva, pe sistemul dumneavoastră. Dacă man nu vă ajută, încercați man -k și/sau info.

Comentarii

  • Văd acest lucru pe pagina de manual pentru gpg 1.4.18, însă pare să lipsească din manualul pentru gpg 2.0.28. În plus, pe ambele versiuni, comanda „gpg -k –list-options show-usage 1A3ABKEY” produce „gpg: unknown option `show-usage'” –  > Por YoungFrog.
  • @YoungFrog. Vă mulțumim pentru comentariu. Am clarificat că am găsit informațiile în paginile de informații. În ceea ce privește comanda care nu funcționează, pentru mine funcționează pe gpg (2.1.8). Când încerc cu gpg1 (1.4.19), primesc și eu gpg: unknown option 'show-usage' gpg: invalid list options Cu toate că utilizarea sa este documentată în paginile de informații din gpg1… –  > Por jeroentbt.
AccidentalOps

Aceste indicatori de cheie sunt definiți în OpenPGP spec

5.2.3.21. Indicatori de cheie

(N octeți de steaguri)

Acest subpachet conține o listă de stegulețe binare care conțin informații despre o cheie. Este un șir de octeți, iar o implementare NU TREBUIE să presupună o dimensiune fixă. Acest lucru se face pentru ca acesta să poată crește în timp. În cazul în care o listă este mai scurtă decât se așteaptă o implementare, stegulețele nespecificate sunt considerate ca fiind zero. Stegulețele definite sunt următoarele:

   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.

Comentarii

  • Aceasta pare a fi o referință utilă, dar nu răspunde cu adevărat la întrebare. –  > Por G-Man spune „Reinstaurați-o pe Monica.
elboulangero

Îngropat adânc în GnuPG mailing-list

Ce înseamnă literele din dreapta cuvintelor „usage”?
(S,C,A,E) Pot doar să ghicesc |S|ign, |E|ncrypt, ….

(S)ign: semnează anumite date (cum ar fi un fișier)
(C)ertify: semnează o cheie (se numește certificare).
(A)uthenticate: a vă autentifica pe un computer (de exemplu, pentru a vă autentifica).
(E)ncrypt: criptarea datelor.

Claudius B

O altă sursă de informații este DETALII din fișierul distribuția GnuPG.

Secțiunea „Câmpul 12 – Capacități ale cheilor” precizează

The defined capabilities are:

e
Encrypt
s
Sign
c
Certify
a
Authentication
?
Unknown capability

A key may have any combination of them in any order. 
In addition to these letters, the primary key has uppercase 
versions of the letters to denote the usable capabilities of the entire 
key, and a potential letter ‘D’ to indicate a disabled key.

Meesha
  • 0x01 „C” Certificare cheie
  • 0x20 „A” Autentificare

Pentru mai multe informații despre aceste indicatoare de chei, a se vedea Subpachetul cu steaguri de cheie din secțiunea acest articol.

Comentarii

  • „Linkurile sunt fantastice, dar nu ar trebui să fie niciodată singura informație din răspunsul dumneavoastră.” –  > Por maxschlepzig.

Tags: