Bagaimana flag penggunaan GPG didefinisikan dalam daftar detail kunci?

58

Ketika saya mencantumkan detail kunci saya mendapatkan output seperti ini:

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

Atau bahkan usage: SCApada tombol lain (bagian kunci utama).

Apa arti singkatan ini di bidang penggunaan?

Saya bisa mendapatkan itu:

S -> for signing
E -> for encrypting

Tapi bagaimana dengan Cdan A?

Dan apakah masih ada lagi?

Dan di mana mencari barang-barang seperti ini?

maxschlepzig
sumber

Jawaban:

59

Ok, manual gpg sepertinya tidak menyebutkan singkatan ini. Jadi, kita harus melihat sumbernya.

Misalnya di bawah 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`

Dari kode ini dapat diperoleh tabel berikut:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Karakter Konstan
─────────────────────────────
PUBKEY_USAGE_SIG S
PUBKEY_USAGE_CERT C
PUBKEY_USAGE_ENC E
PUBKEY_USAGE_AUTH A
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Jadi, misalnya, usage: SCAberarti bahwa sub-kunci dapat digunakan untuk penandatanganan, untuk membuat sertifikat dan tujuan otentikasi.

maxschlepzig
sumber
7
benar-benar dimanapun dalam dokumen?
Jaime Hablutzel
@JaimeHablutzel, apakah Anda menemukan dokumentasi yang bagus tentang ini?
Eric Fail
Tidak, maaf, tapi sumbernya sepertinya tempat yang bagus untuk memulai
Jaime Hablutzel
15

Tata letak --edit-keydaftar tidak didokumentasikan (bukan berarti saya bisa menemukannya). Singkatan yang Anda sebutkan adalah di suatu tempat di halaman info ( info gpg).

Saya mencari S:dan menemukan bahwa saya sebenarnya ingin mencari usage:.

Dalam "Opsi terkait GPG Key":

4.2.1 Cara mengubah konfigurasi

Opsi ini digunakan untuk mengubah konfigurasi dan biasanya ditemukan dalam file opsi.

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

Jadi, melakukan gpg -k --list-options show-usage 1A3ABKEYakan menampilkan sesuatu seperti ini:

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]

Beberapa info lebih lanjut ditemukan di "Penggunaan Tanpa pengawasan 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'.

Jadi, sementara tidak segera terlihat, info ada di sana, di suatu tempat, di sistem Anda. Jika mantidak membantu Anda, coba man -kdan / atau info.

jeroentbt
sumber
Saya dapat melihat ini di manual untuk gpg 1.4.18, namun sepertinya tidak ada dalam manual untuk gpg 2.0.28. Selain itu, pada kedua versi, perintah "gpg -k --list-options show-use 1A3ABKEY" outputs "gpg: opsi tidak diketahui` show-use '"
YoungFrog
@YoungFrog. Terima kasih atas komentarnya. Saya mengklarifikasi saya menemukan info di halaman info. Sedangkan untuk perintah tidak berfungsi, bagi saya itu bekerja pada gpg (2.1.8). Ketika saya mencoba gpg1 (1.4.19) saya juga mendapatkan gpg: unknown option 'show-usage' gpg: invalid list optionsMeskipun penggunaannya didokumentasikan di halaman info gpg1 ...
jeroentbt
5

Bendera kunci ini didefinisikan dalam spesifikasi OpenPGP

5.2.3.21. Bendera Kunci

(N oktet bendera)

Subpacket ini berisi daftar flag biner yang menyimpan informasi tentang kunci. Ini adalah serangkaian oktet, dan implementasi TIDAK HARUS menganggap ukuran tetap. Ini agar bisa tumbuh seiring waktu. Jika daftar lebih pendek dari yang diharapkan implementasi, bendera yang tidak dinyatakan dianggap nol. Bendera yang ditentukan adalah sebagai berikut:

   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.
AccidentalOps
sumber
5
Ini terlihat seperti referensi yang bermanfaat, tetapi tidak benar-benar menjawab pertanyaan.
G-Man Mengatakan 'Reinstate Monica'
2

Terkubur dalam-dalam milis GnuPG ...

Apa arti huruf di sebelah kanan kata "penggunaan"?
(S, C, A, E) Saya hanya bisa menebak | S | ign, | E | ncrypt, ....

(S) ign: menandatangani beberapa data (seperti file)
(C) ertify: menandatangani kunci (ini disebut sertifikasi)
(A) uthenticate: otentikasi diri Anda ke komputer (misalnya, masuk)
(E) ncrypt: enkripsi data

elboulangero
sumber
2

Sumber info lain adalah file RINCIAN dalam distribusi GnuPG .

Bagian "Bidang 12 - Kemampuan utama" menyatakan

Kemampuan yang didefinisikan adalah:

e
Enkripsi
s
Tanda
c
Menyatakan
Sebuah
Otentikasi
?
Kemampuan tidak dikenal

Kunci dapat memiliki kombinasi mereka dalam urutan apa pun. 
Selain huruf-huruf ini, kunci utama memiliki huruf besar 
versi surat untuk menunjukkan kemampuan yang dapat digunakan dari keseluruhan 
kunci, dan huruf potensial 'D' untuk menunjukkan kunci yang dinonaktifkan.
Claudius B
sumber