PGP/GPG와 Keybase
PGP/GPG와 Keybase (PGP/GPG & Keybase)
Vault는 PGP/GPG 및 Keybase를 이용해 봉인 해제 키 조각과 초기화 결과, 재암호화 키 조각을 안전하게 암호화해 전달·보관할 수 있게 지원합니다. 이를 통해 봉인 해제 키가 네트워크나 화면에 평문으로 노출되는 것을 방지하고, 각 운영자의 공개 키로 암호화된 형태로만 배포할 수 있습니다.
출처: 문서
본문
PGP/GPG 사용
Vault operator init 시 -pgp-keys 옵션에 각 운영자의 PGP 공개 키를 지정하면, 봉인 해제 키 조각이 해당 공개 키로 암호화되어 출력됩니다. 출력된 암호문은 각 운영자가 자신의 개인 키로 복호화할 수 있습니다.
$ vault operator init -pgp-keys="key1.asc,key2.asc,key3.asc,-" -key-shares=3 -key-threshold=2
-pgp-keys에 공개 키 파일 경로를 쉼표로 구분해 나열합니다.-를 사용하면 해당 조각은 암호화하지 않고 평문으로 출력합니다.- 기본적으로 PGP 키 수는
-key-shares수와 일치해야 합니다.
Keybase 사용
Keybase 사용자의 공개 키를 keybase:<username> 형식으로 지정할 수 있습니다. Keybase ID를 사용하면 별도 키 파일 없이 해당 사용자의 공개 키로 암호화됩니다.
$ vault operator init -pgp-keys="keybase:alice,keybase:bob" -key-shares=2 -key-threshold=2
재암호화 (Rekey)
vault operator rekey에서도 동일한 PGP/Keybase 옵션을 사용할 수 있습니다. 새 봉인 해제 키 조각을 지정한 키들로 암호화해 받습니다.
$ vault operator rekey -pgp-keys="keybase:alice,keybase:bob" -key-shares=2 -key-threshold=2
주의사항
- PGP 조각은 평문 키를 암호화해 보호하지만, 키 조각(유니시얼 키) 백업과 분실 대비는 여전히 신중하게 관리해야 합니다.
- PGP 암호화는 출력 시점을 보호합니다. 암호화된 조각을 안전하게 보관·배포하는 절차는 별도로 마련해야 합니다.
- PGP/GPG 키 형식 및 Vault 지원 버전에 따라 동작이 다를 수 있으니 공식 문서를 확인하세요.