원래 질문
저는 GPG와 하위 키 사용에 대해 배웠습니다. 하위 키를 사용하고 기본 키를 오프라인으로 유지하는 것의 이점을 잘 이해했다고 생각하지만 이러한 키 중 어떤 키를 게시해야 하는지에 대한 정보가 부족합니다. 내 질문:
어떤 키를 게시해야 합니까?
기본 키, 하위 키, 아니면 모두 게시해야 합니까? 각각의 장단점은 무엇입니까?
내 친구들은 어떤 키에 서명해야 하나요?
내 친구가 자신의 키링에 나를 추가하는 경우 내 기본 키, 하위 키, 아니면 모든 키를 추가합니까? 새 하위 키를 설정하면 해당 하위 키가 내 기본 키와 연결되어 있는지 어떻게 확인할 수 있나요?
하위 키는 기본 키와 정확히 어떻게 "연결"됩니까?
연관되어 있다는 기사는 많지만, 어떻게 연관되어 있는지는 나와 있지 않습니다. 공유된 수학적 속성이 포함되어 있나요?
이 점을 이해하기를 기대하며 제공될 수 있는 모든 설명에 크게 감사하겠습니다.
업데이트
좀 더 조사한 결과, 나는 다음과 같은 흥미로운 기사를 발견했습니다.GPG 키 분석. 이 기사에 포함된 정보로 판단하면, 적어도 공개 키를 볼 때 하위 키는 문자 그대로 마스터 키 내에 포함되어 있는 것처럼 보입니다. 내가 원래 이해하지 못했던 것은 PGP 키에는 키의 실제 숫자 값보다 더 많은 메타 정보가 포함되어 있다는 것입니다.
내가 가지고 있는 것만이 있다고 이해하는 것이 옳은가?하나공개 키?
나에게는 공개 키가 하나만 있는 것 같습니다. 공개 키는 내가 게시하고 내 친구들이 서명하는 것입니다. 이것이 내 하위 키를 연결하고 모든 사람에게 내 하위 키가 실제로 내 것임을 알려주는 것입니다.
내 하위 키를 다른 장치에 복사하면 전체 공개 키도 가져가나요?
아니면 하위 키에 자체 하위 공개 키가 있나요?
답변1
이것부터 시작하세요:
공개 키가 하나만 있다는 것을 이해하는 것이 맞습니까?
나에게는 공개 키가 하나만 있는 것 같습니다. 공개 키는 내가 게시하고 내 친구들이 서명하는 것입니다. 이것이 내 하위 키를 연결하고 모든 사람에게 내 하위 키가 실제로 내 것임을 알려주는 것입니다.
예, 아니오. 그것은 다음 중 어느 것에 달려 있습니다.'공개 키'에 대한 여러 정의당신이 사용하고 싶어.
공개가 1개 있습니다.키블록, 어느대부분의 사람들일반적인 의미에서는 "PGP 공개 키"라고 부릅니다. ("인증서"라고도 합니다.) 링크된 기사에서 본 것처럼 이 공개 키 블록은 여러 패킷으로 구성됩니다.
your "primary" public key parameters (the cryptographic values for RSA/DSA/etc)
├─ metadata for that public key (creation/expiry time, etc)
├─ a list of userids (name+email labels)
│ └─ each userid followed by a list of signatures (certifications)
└─ a list of "subkey" public key parameters (RSA numbers, etc)
└─ each subkey followed by a list of self-signatures (self-certifications)
그러나 암호화 측면에서 "하나의 공개 키"와는 다릅니다.여러 세트실제 RSA/DSA 등공개 매개변수그 안에.
하위 키는 기본 키와 정확히 어떻게 "연결"됩니까?
연관되어 있다는 기사는 많지만, 어떻게 연관되어 있는지는 나와 있지 않습니다. 공유된 수학적 속성이 포함되어 있나요?
기본 키로 만든 서명(자체 인증)과 함께 저장됩니다. 그러나 수학적으로는 완전히 독립적이며 다른 알고리즘에 대해 생성될 수 있습니다.
어떤 키를 게시해야 합니까?
기본 키, 하위 키, 아니면 모두 게시해야 합니까? 각각의 장단점은 무엇입니까?
이 모든 것이 단일 장치(keyblock)입니다.
각각의 개별 키는 자체 작업에 필요합니다. 기본 키는 다른 사람의 키(사용자 ID)와 자신의 하위 키 및 사용자 ID에 대한 서명(인증)을 확인하는 데 필요하므로 공개되어야 합니다. 다른 사람이 실제로 메시지를 암호화하려면 암호화 하위 키가 공개되어야 합니다. 등등.
내 친구들은 어떤 키에 서명해야 하나요?
사용자 인터페이스에서 서명 프로세스는 기본 키(ID 또는 지문 기준)를 지정하여 시작됩니다. 그러면 소프트웨어가 올바른 작업을 수행합니다.
기술적으로 어떤 키도 서명되지 않습니다. 다른 사람들이 귀하의 서명에 서명합니다.사용자 ID,이는 기본 키와 연결된 텍스트 레이블(이름+이메일)입니다. 다른 사람의 키에 서명하는 목적은 키와 이름+이메일 간의 바인딩을 보증하는 것입니다. 키에만 서명하는 것은 쓸모가 없습니다.
내 친구가 자신의 키링에 나를 추가하는 경우 내 기본 키, 하위 키, 아니면 모든 키를 추가합니까?
친구들은 기본 키, 하위 키, 사용자 ID 등 전체 키 블록을 추가합니다.
새 하위 키를 설정하면 해당 하위 키가 내 기본 키와 연결되어 있는지 어떻게 확인할 수 있나요?
귀하의 하위 키와 사용자 ID는 "자체 인증"됩니다. 즉, 생성하자마자 기본 키에 의해 자동으로 서명됩니다. 이것이 바로 기본 키의 지문을 배포하는 것만으로도 충분하며 검증 루트 역할을 하는 이유입니다.