
나는 20년 넘게 PGP를 사용한 다음 GnuPG를 사용해 왔으며 가장 오래된 키는 1996년 이후 여전히 MIT 서버에 있습니다. (하위 키가 없는 RSA 1024...)
시간이 지나면서 키는 기본 키와 하위 키의 쌍이 되었습니다. 이 세월 동안한 번도 하위 키가 필요하지 않았습니다기능. 또한 개인적으로 그것을 사용한 사람을 아는 사람도 없습니다.
하위 키를 "사용해야 하는" 이유에 대한 "타당한 이유"를 모두 읽었을 것입니다. 그러나 이러한 이유 중 어느 것도 나에게 적용되지 않았습니다.
예를 들어 암호화 키가 손상되었을 때 하위 키가 유용합니다!!! 하지만 내 암호화 키는 한 번도 손상된 적이 없습니다. 열쇠를 갖고 있는 사람도 나도 모릅니다.
또는 하나의 기본 키가 여러 암호화 키와 연결되어 있는 조직에 적합할 수도 있습니다. 나는 본적이 없습니다. 이 우주 어디에나 그런 조직이 존재하는지 궁금합니다. 내가 본 모든 것에서 하위 키 아이디어는 다음과 같은 경우인 것 같습니다.과도한 엔지니어링실생활에서는 전혀 사용되지 않거나 매우 드물게 사용됩니다. 아마도 이 아이디어는 DSA/elGamal 체계를 합리화한 것일 수도 있습니다.
어쨌든 저는 하위 키가 활용되지 않는 일부 소프트웨어를 작업하고 있습니다. 또한 내 키가 RetroShare(하위 키 없이 단일 키만 사용하는 안전한 p2p IM 채팅 및 파일 교환)와 호환되기를 원합니다.
하위 키 없이 키를 생성하는 방법이 있는지 아는 사람이 있습니까? --edit-key 메뉴에서 하위 키를 제거하는 옵션만 알고 있습니다. 키가 없어도 키를 생성할 수 있는지 모르겠습니다. 방법이 있나요? 이 문제를 더 잘 이해하는 데 도움을 주셔서 감사합니다.
답변1
하위 키 사용의 장점
하위 키를 더 잘 사용한다는 사고방식은 과도한 엔지니어링처럼 보일 수 있지만 몇 가지 강력한 주장이 있습니다. DSA와 같은 서명 전용 알고리즘과 함께 사용할 때의 필요성은 명백합니다(논의되지 않음). 개인 기본 키를 오프라인으로 설정하고 분실 위험을 줄이는 기능과 키 순환을 더 쉽게 만드는 기능은 신뢰 웹에 크게 의존하지 않는 경우 매우 중요해 보일 수 있습니다. 그러나 다른 이유도 있습니다. 사용을 분리하면 암호화와 서명을 모두 사용할 때 위험이 줄어들 수 있습니다. 예를 들어, 잘못된 난수와 DSA 키에 결함이 있었던 적이 있었는데, 여기서 여러 개의 서명을 발행하면 개인 키가 공개되었습니다. 해당 키가 암호화에도 사용되었다면 귀하의 비공개 통신도 공개되었을 것입니다. 물론 DSA 키할 수 없었다암호화에 사용되었지만 RSA에서는 유사한 문제가 발생하지 않을 것이라고 알려줍니다.
또 다른 예: OpenSSH에는 개인 SSH 키를 키 서버에 공개할 수 있는 몇 가지 문제가 있었습니다. 저는 Monkeysphere와 함께 OpenPGP 인증 하위 키를 사용하고 있습니다. 이 경우 내 기본 키가 아닌 인증 하위 키가 공개되었을 것입니다. 인증 하위 키를 롤링하는 데는 5분이 걸렸고, 완전히 새로운 키를 배포하는 데는 1시간(또는 그 이상)이 걸렸습니다.
하위 키로 인해 약간의 복잡성이 추가될 수 있지만 실제로는 볼 수 있고 제대로 작동합니다. 계산 및 저장 오버헤드는 무시할 수 있으며 추가적인 수동 작업이 없습니다. 그냥 "무료"로 몇 가지 (가능한) 추가 혜택을 누리는 것이 어떨까요?
어쨌든 사용하지 않음
이유가 있을 수도 있겠네요~ 아니다하위 키를 사용합니다. 아마도 OpenPGP 인프라의 일부에만 의존하고 신뢰 관리 및 기타 사항에는 전혀 관심을 두지 않을 수도 있습니다. 다른 사람을 위해 소프트웨어를 만드는 경우 사용자를 제한하지 않는 것을 고려하세요. 완전히 관련되지 않은 키 쌍을 만드는 대신 단순히 하위 키를 제공하는 것이 합리적일 수도 있습니다.
하위 키 없이 키를 생성하려면 RSA는 지원하지만 DSA는 지원하지 않는 암호화와 서명을 모두 지원하는 알고리즘을 사용해야 합니다. 하위 키 없이 "범용" 기본 키를 생성하려면 --expert
키 생성 메뉴를 사용해야 합니다 .
gpg --expert --gen-key
그런 다음 선택(8) RSA(자신만의 기능 설정). C
기본 키에 (인증)이 필요한 경우 S
(서명), E
(암호화) 및 A
(인증)을 임의로 선택할 수 있습니다. 나머지 어시스턴트를 완료하면 선택한 기능이 포함된 하위 키 없이 기본 키를 받게 됩니다.
답변2
@jens-erat 답변 감사드립니다. 저도 같은 것을 찾고 있었습니다. 기록에 대한 한 가지 세부 사항은 다음과 같습니다.
gpg --expert --gen-key
나에게 적합하지 않았습니다 (GPG 2.2.4). 이것은 효과가 있었습니다:
gpg --expert --full-generate-key