Hashicorp의 Vault 도입을 2, 3년부터 관련 이슈가 있을 때마다 검토했는데 결국 기술보다는 실제 서비스를 관리하는 주체인 사람과 정책 그리고 시스템이 문제였다.
하지만 더 현실적으로 생각해 보자. 이런 작업을 한두 번 해보는 게 아니지 않은가! 5명이 이 키를 나누어 가진 뒤 어떻게 보관하게 할 것이냐 하는 문제를 제쳐놓고 지금까지의 경험으로 보건대 초기화를 하고 이 5개의 키를 한꺼번에 관리할 가능성이 훨씬 크다. 탈취당하는 경우보다 운영하면서 unseal 하는 경우가 많을 텐데 어떻게 이 5명 중 3번을 매번 찾겠는가.
그래서 Vault는 초기화를 PGP로 암호화하는 방법을 제공하고 있고 사용상의 편의를 위해서 keybase.io를 직접 이용할 수 있도록 해놓았다. 다음과 같이
-pgp-keys
로 keybase의 계정명을 제공하면 이 공개키로 초기화를 하게 되고 unseal을 할 때는 이 사람들의 비밀키를 제공하면 unseal을 할 수 있다.
키 관리 이슈에 국한해서 생각해보더라도 keybase.io와 PGP를 이용하면 상황은 조금 개선될 뿐이다. PGP를 무엇인지 아는 사람이 적고 PGP가 뭔지 잘 알더라도 불편함을 감수하고 이를 실생활에서 계속 쓰려는 사람도 적다. 게다가 vault에서 credentials을 제공받도록 서비스의 모든 구성요소를 수정하자고 설득하는 것도 보통 일이 아니다.
모든 불편함과 자원 소모를 고려하더라도 보안이 압도적으로 중요한 이슈임을 합의하고 정책으로 이를 뒷받침할 때에야 의미 있는 결과를 성취해내지 싶다.