Signito
블로그

복구 코드로 계정을 되찾으면 대화도 돌아올까

  • 복구 코드
  • 보안 메신저

전화번호도 이메일도 받지 않는 서비스에서 비밀번호를 잊으면 어떻게 될까. 문자로 인증해 되찾아 주는 절차가 성립하지 않으니 다른 장치가 필요하다. 그 자리에 있는 것이 가입할 때 한 번 보여주는 복구 코드다.

여기까지는 여러 곳에 적혀 있다. 그런데 그 코드를 실제로 썼을 때 무엇이 돌아오고 무엇이 돌아오지 않는지는 잘 알려져 있지 않다. 기대하는 것과 실제로 벌어지는 일이 꽤 다르다.

열쇠가 두 개다

종단간 암호화 메신저에는 열쇠가 두 종류 있다. 하나는 계정의 문을 여는 열쇠다. 아이디와 비밀번호가 여기 해당하고 복구 코드는 그 문의 예비 열쇠다.

다른 하나는 대화를 여는 열쇠다. 이쪽은 기기 안에서 만들어지고 기기 밖으로 나가지 않는다. 서버에도 없고 회사에도 없다.

복구 코드는 앞의 문만 연다. 그래서 복구를 마치면 계정은 그대로 돌아온다. 아이디도 닉네임도 친구 목록도 채팅방 목록도 있던 자리에 있다. 다만 그 방을 열면 지난 대화가 보이지 않는다. 메시지는 암호문 그대로 서버에 남아 있는데 그 암호문을 여는 열쇠가 새 기기에 없기 때문이다. 폰을 잃어버렸을 때와 같은 이유다.

계정을 되찾는 일과 대화를 되찾는 일은 다르다. 두 가지를 한 번에 해 주는 서비스가 있다면 회사가 대화 열쇠를 갖고 있다는 뜻이다.

복구는 되찾는 동시에 끊어 내는 일이다

복구 코드를 예비 비밀번호쯤으로 여기기 쉬운데 하는 일이 더 많다. 코드 확인이 끝나면 한 번에 이런 일이 벌어진다.

비밀번호가 새것으로 바뀐다. 복구 코드도 새로 발급되고 방금 쓴 코드는 그 자리에서 죽는다. 그리고 그 계정에 로그인되어 있던 기기가 전부 지워진다. 그 순간 켜져 있던 연결까지 끊긴다.

마지막 항목이 중요하다. 남이 내 계정에 들어와 있었다면 복구 한 번으로 전부 쫓겨난다. 복구 코드는 비밀번호를 잊었을 때만 쓰는 물건이 아니라 계정이 남의 손에 넘어갔다고 판단했을 때 쓰는 퇴거 절차이기도 하다.

끝나면 새 기기 하나만 남는다. 그 기기가 자기 열쇠를 올리면 같은 방에 있던 사람들이 그 열쇠를 받아들이고 그때부터 오가는 대화는 다시 읽힌다.

복구 코드는 계정의 문을 여는 예비 열쇠다. 대화를 여는 열쇠는 기기 안에서 따로 만들어지므로 새 기기에는 없다.

서버는 복구 코드를 모른다

“이 코드는 다시 표시되지 않습니다”라는 안내를 보면 회사가 알면서 안 보여주는 것처럼 느껴진다. 그렇지 않다.

복구 코드는 만들어지는 순간 한 번 보여주고 서버에는 그 코드로 계산한 값만 남는다. 계산은 한쪽으로만 흘러서 남은 값으로 원래 코드를 되돌릴 수 없다. 그 값은 나중에 입력한 코드가 맞는지 확인하는 데만 쓰인다.

그래서 서버가 통째로 털려도 거기서 복구 코드를 읽어 낼 수 없다. 같은 이유로 회사가 다시 알려 줄 수도 없다. 안 보여주는 것이 아니라 가지고 있지 않다.

복구를 누르기 전에

여기까지 읽으면 복구가 꽤 거친 동작이라는 것이 보인다. 그래서 누르기 전에 확인할 것이 하나 있다. 비밀번호를 알고 있다면 복구를 쓸 이유가 없다.

비밀번호가 찜찜해서 바꾸고 싶은 것뿐이라면 비밀번호 변경이 맞는 길이다. 그쪽은 기기를 끊지 않고 복구 코드도 그대로 두고 대화도 건드리지 않는다. 비밀번호는 접속을 유지하는 값이나 대화 열쇠와 묶여 있지 않아서 로그인에 쓰는 값만 바뀐다.

복구는 두 경우에 쓴다. 비밀번호를 정말 모를 때와 계정에 남이 들어와 있다고 판단해 전부 끊어 내야 할 때다. 둘 다 아니라면 비밀번호 변경으로 충분하다.

어디에 보관하나

  • 스크린샷으로 갤러리에 두지 않는다. 갤러리는 여러 앱이 들여다보는 곳이고 클라우드로 자동 백업되는 경우가 많다.
  • 비밀번호 관리자나 종이에 옮긴다. 종이는 촌스러워 보이지만 네트워크에 붙어 있지 않다는 장점이 분명하다.
  • 복구한 뒤에 다시 보관한다. 복구를 마치면 코드가 새것으로 바뀌어 있다. 옛 코드를 그대로 두면 다음번에 쓰지 못한다.
  • 나머지 설정도 함께 점검한다. 복구 코드는 챙겨 둘 아홉 가지 중 하나다.

자주 묻는 질문

복구 코드로 지난 대화를 되살릴 수 있나요

되살릴 수 없다. 복구 코드는 계정의 문을 여는 열쇠이고 대화를 여는 열쇠는 기기 안에 따로 있다. 복구하면 계정과 채팅방은 그대로 돌아오지만 그전에 주고받은 메시지는 새 기기에서 열리지 않는다.

복구 코드를 잃어버리면 어떻게 되나요

비밀번호까지 함께 잊었다면 계정으로 들어갈 방법이 없다. 전화번호나 이메일을 받지 않았으니 본인임을 확인해 줄 다른 수단이 없기 때문이다. 익명으로 쓰는 대가가 여기에 있다.

복구하면 다른 기기는 어떻게 되나요

전부 로그아웃된다. 그 순간 켜져 있던 연결도 함께 끊긴다. 계정이 남의 손에 있다고 판단했을 때는 이 동작이 방어 장치가 된다.

비밀번호를 바꾸면 다른 기기도 로그아웃되나요

되지 않는다. 비밀번호는 접속을 유지하는 값과 분리되어 있어서 바꿔도 로그인된 기기는 그대로 남고 복구 코드도 유지된다. 기기를 전부 끊고 싶을 때 쓰는 것은 복구 쪽이다.

복구 코드는 한 번 쓰면 끝인가요

방금 쓴 코드는 그 자리에서 무효가 되고 새 코드가 발급된다. 그러니 복구를 마치자마자 새 코드를 다시 보관해야 한다. 옛 코드를 적어 둔 곳에 그대로 두면 다음번에 쓰지 못한다.