포스트

비밀번호는 어디에 보관할까? SOPS+age, Bitwarden, 1Password

암호화 파일과 비밀번호 관리자의 차이를 PC 교체·키 분실 상황에서 비교하고, 용도에 맞는 보관 방식을 고른다.

비밀번호는 어디에 보관할까? SOPS+age, Bitwarden, 1Password

암호화한 비밀번호 파일을 Git에 보관하면 PC를 바꿔도 파일은 다시 받을 수 있다. 하지만 복호화에 필요한 키가 이전 PC에만 있었다면 파일을 받아도 내용을 읽지 못한다. 파일의 백업과 파일을 여는 수단의 백업은 별개이기 때문이다.

이때 물어야 할 것은 “어느 제품이 가장 안전한가”보다 “무엇을 보관하고, 새 PC에서 무엇으로 다시 열 것인가”다. SOPS+age, Bitwarden, 1Password는 모두 비밀값을 보관할 수 있지만, 첫 번째는 암호화된 설정 파일을 관리하는 도구, 나머지 둘은 사람이 비밀번호를 찾아 쓰는 관리자다.

비교 기준: 새 PC에서 다시 열 수 있는가

선택지새 PC에서 필요한 것사전 복구 준비
SOPS+age암호화 파일과 age 개인키 또는 다른 복호화 권한개인키 백업 또는 다른 recipient
Bitwarden계정 비밀번호와 설정한 2단계 인증 수단마스터 비밀번호 보관, 2단계 인증 복구 코드
1Password계정 비밀번호와 Secret Key, 설정한 2단계 인증 수단Emergency Kit, 미리 생성한 복구 코드

세 방식 모두 사전에 준비하지 않은 복구 수단을 분실 후에 만들어 낼 수는 없다. 다른 점은 무엇을 따로 보관해야 하는지, 새 기기에서 비밀번호를 꺼내는 과정이 얼마나 간단한지다.

SOPS+age: Git에 넣을 설정 파일이라면

SOPS는 YAML 등의 값은 암호화하고 키 이름과 구조는 남긴다. age는 그 파일을 여는 데 필요한 암호화 키를 보호하는 수단이다. Git에 SOPS 파일을 올려두면 암호화된 파일은 다시 내려받을 수 있지만, age 개인키까지 Git에 넣어서는 안 된다. 개인키는 별도로 백업하거나 다른 복호화 권한을 미리 마련해야 한다.

이 방식은 배포 설정, 환경별 설정값처럼 파일의 형태로 버전을 관리할 대상에 적합하다. 반면 서버 비밀번호를 급히 찾아 수동 입력하려는 사람에게는 복호화 도구, 개인키, 파일 경로를 모두 챙겨야 해서 번거롭다. SSH 설정 역시 SOPS 파일을 자동으로 읽거나 비밀번호를 채워 주지 않는다.

개인키를 잃었다고 서버의 실제 비밀번호가 무효가 되는 것은 아니다. 읽을 방법을 잃은 것과 로그인 자격 증명이 변경된 것은 별개다. SOPS의 구성·명령·키 교체 절차는 Devkit SOPS 치트시트에 정리했다.

Bitwarden: 무료로 시작하는 비밀번호 관리자

Bitwarden은 보관함을 계정으로 동기화한다. PC가 바뀌어도 계정에 로그인해 항목을 찾을 수 있고, 기본적인 개인용 비밀번호 관리는 무료로 시작할 수 있다. 한 PC의 로컬 키 파일에만 의존하지 않는 것이 급할 때 조회하려는 용도에서 장점이다.

하지만 동기화가 곧 무조건적인 복구는 아니다. 마스터 비밀번호를 잊었다면 Bitwarden은 이를 알려 주거나 초기화해서 보관함을 돌려줄 수 없다. 2단계 인증을 켰다면 그 복구 코드는 인증 수단을 잃었을 때 쓰는 것이지, 잊어버린 마스터 비밀번호를 되찾는 코드가 아니다. 마스터 비밀번호와 복구 코드를 보관함 안에만 두지 말고, PC 밖의 안전한 곳에 복구 계획을 마련해야 한다.

1Password: Secret Key와 복구 코드를 함께 생각하기

1Password 역시 계정으로 여러 기기에서 비밀번호를 조회하는 유료 관리자다. 새 기기에서 로그인할 때 필요한 Secret Key는 계정 비밀번호와 다른 값이다. 1Password의 Emergency Kit에는 Secret Key 등 로그인 정보가 담기므로, 이를 이전 PC 안에만 두면 PC 교체 때 곤란해질 수 있다.

개인·가족 계정에서는 미리 생성한 복구 코드와 계정 이메일 접근 권한으로 계정 비밀번호와 Secret Key를 새로 설정할 수 있다. 복구 코드가 자동으로 모든 계정에 준비되어 있다고 가정해서는 안 된다. 또 복구 절차 후에도 기존 2단계 인증 설정은 유지되므로, 해당 인증 수단의 백업도 따로 확인해야 한다. 가족·팀 계정의 관리자 복구와 개인 계정의 복구 코드는 다른 경로다.

어떻게 고를까

  • 사람이 다른 기기에서 비밀번호를 찾아 입력한다면 비밀번호 관리자를 고른다. 비용 없이 시작하려면 Bitwarden, 1Password의 사용성과 계정 방식을 선호한다면 1Password가 후보가 된다.
  • 애플리케이션 설정 파일을 암호화해 Git으로 관리한다면 SOPS+age를 쓴다. 이때 파일뿐 아니라 복호화 권한의 백업도 설계한다.
  • SSH 접속 자체라면 가능할 때 비밀번호 대신 SSH 키 인증을 사용한다. SSH 키도 분실에 대비한 백업 또는 재등록 절차가 필요하다.

이미 읽을 수 없는 SOPS 파일이 있다면 바로 삭제하지 말자. 이전 키나 다른 복호화 수단을 나중에 찾을 수 있다. 끝내 복구할 수 없다면 필요한 계정의 비밀번호를 서비스에서 재설정해 새 보관함에 등록한다. 새 age 키를 만들거나 비밀번호 관리자를 설치하는 것만으로 과거 암호문이 열리지는 않는다.

결론은 제품의 우열보다 보관 대상과 복구 경로의 일치다. 비밀번호 조회에는 비밀번호 관리자, 버전 관리할 암호화 설정에는 SOPS. 어느 쪽을 택하든 새 PC에서 열 때 필요한 수단을 PC 밖에 준비해 두어야 한다.

참고 자료

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.