주요 세부 사항 목록에서 GPG 사용 플래그는 어떻게 정의됩니까?


58

키의 세부 정보를 나열하면 다음과 같이 출력됩니다.

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

또는 usage: SCA다른 키 (마스터 키 부분)에서도 가능합니다.

사용법 필드에서 이러한 약어는 무엇을 의미합니까?

나는 그것을 이끌어 낼 수 있습니다 :

S -> for signing
E -> for encrypting

그러나 약 CA?

그리고 더 있습니까?

그리고 이런 것들을 어디에서 볼 수 있습니까?

답변:


59

좋아, gpg 매뉴얼에는 이러한 약어가 언급되어 있지 않습니다. 따라서 소스를 살펴 봐야합니다.

예를 들어 데비안 / 우분투에서 :

$ 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

아니, 미안하지만 소스가 시작하기에 좋은 장소 보인다
제이미 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.


gpg 1.4.18의 맨 페이지에서 이것을 볼 수 있지만 gpg 2.0.28에 대한 매뉴얼에는없는 것 같습니다. 또한 두 버전 모두에서 "gpg -k --list-options show-usage 1A3ABKEY"명령은 "gpg : 알 수없는 옵션`show-usage '"
YoungFrog

@YoungFrog. 의견 감사합니다. 정보 페이지에서 정보를 찾았습니다. 명령이 작동하지 않으면 gpg (2.1.8)에서 작동합니다. gpg1 (1.4.19)을 사용해도 gpg: unknown option 'show-usage' gpg: invalid list optionsgpg1 정보 페이지에 사용법이 설명되어 있지만 ...
jeroentbt

5

이 키 플래그는 OpenPGP 사양에 정의되어 있습니다

5.2.3.21. 키 플래그

(N 옥텟의 플래그)

이 서브 패킷에는 키에 대한 정보를 보유하는 이진 플래그 목록이 포함되어 있습니다. 옥텟의 문자열이며 구현은 고정 된 크기를 가정해서는 안됩니다. 시간이 지남에 따라 성장할 수 있습니다. 구현이 예상 한 것보다 목록이 짧은 경우, 통계되지 않은 플래그는 0으로 간주됩니다. 정의 된 플래그는 다음과 같습니다.

   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 : (이이 인증이라고합니다) 키를 서명
uthenticate은 (A) : (로그인, 예를 들어) 컴퓨터에 자신을 인증
(E) ncrypt : 암호화 데이터


2

또 다른 정보 소스는 GnuPG 배포판DETAILS 파일입니다 .

"필드 (12) - 주요 기능" 상태

정의 된 기능은 다음과 같습니다.

이자형
암호화
에스
기호
씨
인증
에이
입증
?
알 수없는 기능

키는 어떤 순서로든 조합 할 수 있습니다. 
이 문자 외에도 기본 키는 대문자입니다. 
문자의 버전은 전체의 사용 가능한 기능을 나타냅니다 
비활성화 된 키를 나타내는 잠재적 문자 'D'.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.