비밀번호 관리는 참으로 어려운 일이다. 사용하기도 어느 정도 편하면서 보안도 유지되어야 하는데 이 둘을 한꺼번에 관리하기가 만만치 않다. 정확한 가이드는 없지만, 영문 대소문자, 숫자, 특수기호를 다 조합해서 최소한 10자 이상(많을수록 좋지만)의 비밀번호를 사이트마다 다르게 관리하면 아주 좋을 것이지만 이렇게 관리하기는 거의 어렵다. 비밀번호도 실제 존재하지 않는 단어가 좋겠지만 외우기가 어렵다. 그래서 사이트마다 어떤 룰을 만들어서 비밀번호를 관리하는 팁들도 있긴 하지만 사용하기 어려운 건 마찬가지다.
비밀번호를 민감하게 관리하는 편은 아니다가 어느 날 문득 Gmail을 털리는 순간 대부분 계정이 다 털리겠구나 하는 생각이 들었다. 그래서 지금은 1Password를 사용하고 있다. 이전에도 비밀번호 관리 프로그램들을 좀 써봤지만 그리 만족도가 높지 않았고 1Password에 대한 소문은 어느 정도 들어봤지만, 선뜻 구매하기는 어려웠다. 맥용이 49.99달러, 윈도우가 49.99달러, iOS 용이 8.99달러다.(이제 보니 안드로이드용은 무료인가?) 어쨌든 다 사려면 10여만 원이 필요하고 맥용과 iOS용만 사도 6만 원 정도는 든다. 1Password는 세일을 제법 자주 하는 편이라(지금도 Heartbleed 보안 이슈 때문에 세일중이다.) 1년 정도의 시간을 주고 하나씩 구매를 했다.
1Password
여기서 프로그램 사용법을 일일이 설명하긴 좀 힘들고 내가 써보면서 좋았던 점은...
- 브라우저 익스텐션을 통해서 로그인할 때마다 비밀번호를 저장할 수 있다. 처음 새로운 프로그램을 사용할 때 불편한 점이 기존에 사용하던 계정을 일일이 입력하는 부분인데 이 귀차니즘을 크게 해결해 준다. 중요 계정만 입력해 놓고 계속 사용하다 보면 하나씩 새로 추가할 수 있고 시간이 지날수록 종종 가는 사이트들은 대부분 1Password를 통해서 관리할 수 있게 된다.
- 비밀번호 자동입력을 지원한다. 1Password에 계정을 관리하기 시작하면 로그인 페이지에 접속했을 때 1Password mini를 단축키로 열면 자동으로 최상단에 현재 사이트가 나타나고 바로 아이디와 비밀번호를 입력해주고 로그인을 한다.
- 비밀번호를 외우고 있을 필요가 없다. 1Password를 통해서 계정을 관리하기 시작하면 굳이 비밀번호를 외우고 있을 필요가 없어진다.(저장해 놓고 불러와서 로그인하면 되니까...) 그래서 사이트마다 다른 비밀번호를 부여할 수 있고 외울 수도 없는 특수기호와 대소문자가 섞인 20~40자짜리 비밀번호를(중요도에 따라서..) 비밀번호로 사용할 수 있다. 1Password내에 비밀번호 생성기가 있어서 글자 수에 따라서 복잡한 비밀번호를 자동으로 만들어 준다. 읽을 수도 없는 20자짜리 비밀번호를 외울 수는 없으니 이를 비밀번호로 사용하기가 현실적으로 무리인데 1Password를 사용하면 이 부분이 해결되니 비밀번호 자체로도 크게 안심이 된다.
- 비밀번호를 언제든지 바꿀 수 있다. 이전에는 비밀번호를 어느 정도 공통으로 사용하려니 오래 비밀번호를 사용해서 한번 바꾸려면 보통 큰일이 아니고 실제로 다 바꾸기도 어렵다. A 사이트가 보안을 무척 잘 관리하는 사이트라고 하더라도 허술한 B 사이트에서 비밀번호가 해킹돼서 같은 계정으로 A 사이트에 접속해서 계정을 터는 일은 흔한 일이다. 이번에 SSL Hearbleed같은 이슈로 갑자기 비밀번호를 변경해야 할 때 무척 귀찮은 일이지만 사이트마다 비밀번호를 다르게 관리하고 있었다면 걱정이 많이 줄어들고 중요한 사이트만 한 번씩 바꿔주면 될 일이다. 어차피 외우고 있지도 않았으므로 그냥 비밀번호 새로 생성해서 변경하면 된다.
- 데이터베이스를 로컬에서 파일로 관리한다. 이전에 사용하던 대부분 서비스는 데이터베이스가 웹에 올라가 있었다. 웹에 올라가 있으니 어디서나 접근할 수 있어서 편리한 점이 있기는 하지만 솔직히 불안한 점도 있다. 하지만 1Password는 이 데이터베이스가 내 로컬에 있으므로 내 로컬파일만 잘 관리하면 유출될 걱정이 없으므로 꽤 안심된다. 다른 곳에서도 사용하고 싶다면 Dropbox나 iCloud로 동기화를 할 수도 있다. 이쪽도 웹에 올라가 있는 건 같지만 1Password와 직접 의존성이 있는 서비스도 아니고 사용자의 선택에 따른 것이므로 훨씬 좋은 접근이라고 본다.
물론 한곳에서 관리하므로 1Password가 털리면 다 털린다는 단점이 있기는 하다. 그리고 1Password가 없으면 로그인을 할 수 없다는 문제가 있기는 한데 나는 iOS도 사서 보고 입력한다. 비밀번호가 복잡해서 입력할 때 귀찮기는 하지만 내 맥북외에서 로그인하는 경우가 많지도 않고 안전하다고 생각하면 참아줄 만한 불편함이다.
Authy
1Password로 비밀번호의 보안을 높이면 털릴 염려가 많이 줄어들기는 하지만 그래도 일단 털리면 무척 피곤한 사이트들이 있다. 예를 들어 나 같은 경우 각종 서비스에 등록된 Gmail이나 개인 사생활과 연결된 Twitter, Facebook 혹은 프로그래밍 관련 작업들이 있는 Github나 서버 호스팅 같은 경우 털리면 타격이 무척 크다. 그래서 이런 곳에는 2단계 인증을 사용하고 있다. 2단계 인증이란 것은 보통 은행해서 사용하는 OTP를 얘기하는데 나는 Authy라는 앱을 사용하고 있다.
OTP에 대해서 자세히는 모르는데 어떤 표준이 있는 건지 각 사이트가 Authy랑 계약을 한 것인지 잘 모르겠지만, Gmail, Facebook, Github, Dropbox, Digital Ocean 등의 사이트 대부분이 Authy를 통해서 2단계 인증을 할 수가 있다. 사이트마다 약간씩 다르지만 각 사이트의 보안 부분에서 2단계 인증을 사용하기로 하면 QR코드가 나타나는데 이를 Authy로 찍으면 자동으로 OTP가 등록되고 이후로는 OTP 코드를 Authy 앱에서 확인할 수 있다.(Twitter 2단계 인증은 메커니즘이 좀 달라서 안 된다.)
그래서 중요사이트에 로그인할 때는 1Password로 로그인을 하고 Authy로 2단계 인증을 하니까 웬만한 유출사건이 발생해도 크게 걱정이 되지 않는다. 2단계 인증은 입력할 때 무척 귀찮기는 한데 대부분 자주 사용하는 기기는 등록해서 2단계 인증을 안 받게 할 수 있는 옵션을 제공하고 다른 곳에서 할 때만 2단계 인증을 요청하므로 보안에 대한 안심은 크게 높이면서 적당한 불편함으로 사용할 수 있다. 모바일에서 로그인할 때 상당히 귀찮기는 하지만 여러 달 사용하는 중인데 아직 만족도가 꽤 높다.(Authy는 사용자는 무료로 사용할 수 있다.) 특히 요즘처럼 하루가 멀다 하고 개인정보 유출사건이 터지는 때에는 2단계 인증을 사용하길 잘했다는 생각을 하고 있다.
"1Password로 로그인을 하소 Authy로 2단계 인증을" 오타!
오타킬러!! ㅋㅋㅋ 땡큐