아주 흔한 상황을 생각해 봅시다. 누군가에게 비밀번호를 알려줘야 하는데, 그냥 이메일로 보내면 받는 사람의 메일함에 영원히 남고, 나중에 그 계정이 해킹당하면 비밀번호도 고스란히 노출됩니다. 긴 메모를 공유하고 싶은데 같은 이유로 이메일 사용이 꺼려질 수도 있습니다. 상대방에게 기록이 남지 않기를 원하고, 제3자가 가로챌 가능성도 차단하고 싶으니까요. 혹은 파일을 안전하게 전달하면서, 상대방이 받은 후에는 바로 삭제할 수 있는 방법이 필요할 수도 있습니다.
어떤 상황이든 활용할 수 있도록 데이터를 안전하고 프라이버시 있게 전달하는 검증된 방법들을 정리했습니다. 물론 완벽한 보안이라는 것은 없지만(그런 게 존재하기는 할까요?), 평문(plain text)으로 그냥 보내는 것보다는 훨씬 낫습니다.
비밀번호와 텍스트 공유
이 글을 읽고 나서 가장 중요하게 실천해야 할 한 가지는, 비밀번호를 평문 이메일로 보내는 습관을 끊는 것입니다. 진심입니다. 그 비밀번호에 조금이라도 미련이 있다면 절대 하지 마세요. 어떤 사람은 서비스 이름까지 함께 보내곤 합니다("내 eBay 비밀번호는…") — 말할 것도 없이 위험한 행동입니다. 심지어 서비스 정보 없이 비밀번호만 따로 보내더라도, 제3자는 문맥을 통해 어디에 쓰이는 비밀번호인지 추리할 수 있습니다. 예컨대 Gmail은 채팅 기록도 메일과 함께 저장합니다. Google Talk에서 누군가와 비밀번호를 논의하다가 "나중에 이메일로 보낼게"라고 언급했다면, 공격자는 금방 두 정보를 연결해 낼 수 있습니다.
즉, 암호화된 텍스트 전송이나 안전한 파일 공유는 '있으면 좋은' 기능일 수 있지만, 비밀번호의 안전한 공유만큼은 선택이 아니라 필수입니다.
올드스쿨 방식: 사전 합의 전치 암호(Transposition Cipher)
사실 소프트웨어 없이도 이메일로 비밀번호를 꽤 안전하게 보내는 방법이 있습니다. 예를 들어 이런 경우입니다.
여기 "maeflrfyt"라는 문자열을 이메일로 받았다고 가정해 봅시다. 하지만 이것은 진짜 비밀번호가 아닙니다. 글자 위치를 살짝 바꿔 놓은 것입니다. 보내는 사람과 받는 사람은 미리 다른 채널(예: Skype 통화나 전화)에서 어떻게 섞었는지 약속해 두었기 때문에 해독할 수 있지만, 공격자는 글자가 바뀌었다는 사실 자체를 모릅니다. 애초에 비밀번호는 단어나 문장이 아닌 경우가 많아 의심할 이유조차 없죠. 결국 공격자는 "maeflrfyt"로 로그인을 시도하다 실패하고 발길을 돌립니다.
정답을 알려드리면, 원래 문구는 "makeuseof"였습니다. 어떻게 풀어냈을까요? 글쓴이가 Colemak이라는 대체 키보드 배치를 사용한다는 점을 활용해, QWERTY 기준의 키 위치를 Colemak 배열로 입력한 것입니다. 예를 들어 QWERTY에서 "k"가 있는 자리는 Colemak에서는 "e"입니다.
Colemak 배열표가 있는 사람이라면 누구나 이 암호를 쉽게 읽을 수 있습니다. 물론 굳이 대체 키보드를 쓸 필요는 없습니다. 단순히 각 글자를 두 칸씩 밀기로 약속하는 것만으로도(a → c, z → b), 평문으로 보내는 것보다 훨씬 안전해집니다. 이 방식의 매력은 별도 프로그램 없이 머리만 있으면 된다는 점입니다.
계정 없이: Burn Note
하지만 조금 더 긴 내용을 공유해야 한다면 어떨까요? 손으로 일일이 글자를 치환하기엔 비현실적입니다. 그리고 여기에 한 가지 조건이 더 붙는다면? 추가 비밀 보호를 위해 어디에도 계정을 만들고 싶지 않고, 메시지와 나 자신이 연결되는 흔적조차 남기고 싶지 않은 경우입니다. 이럴 때 딱 맞는 것이 Burn Note입니다. 이 간단한 서비스는 비밀번호로 보호되는 노트를 만들 수 있게 해주며, 열어본 후 자동으로 소멸됩니다(기본적으로 받는 사람에게 180초의 열람 시간이 주어짐). 복사 방지 설정까지 가능합니다.
노트 작성 화면은 간단합니다. Send 버튼을 누르면 짧은 링크가 생성되는데, 이 짧은 링크가 은근히 유용합니다. 굳이 텍스트로 링크를 보내지 않고 전화로 구두로 불러주는 것만으로도 전달할 수 있기 때문입니다.
받는 사람이 메시지를 열면, 열람 가능 시간이 제한되어 있다는 안내가 표시됩니다. 그리고 가장 인상적인 기능은 Spyglass 모드(보내는 사람이 지정 가능)입니다. 마우스 커서가 원형으로 바뀌고, 그 원을 화면 위로 움직인 부분만 텍스트가 드러납니다. 처음엔 장난처럼 느껴지지만 사실상 천재적인 설계입니다. 받는 사람이 텍스트를 복사·붙여넣기할 수 없을 뿐 아니라, 캡처 화면으로도 메시지를 온전히 담을 수 없습니다. 누군가 상당히 깊은 고민을 하며 만든 서비스라는 게 느껴집니다. 민감한 텍스트를 계정 생성 없이 안전하게 공유할 수 있는 진정으로 훌륭한 방법입니다.
계정 사용: SafeGmail [현재 서비스 종료]
Burn Note는 계정 없이 쓰기에 훌륭하지만, 계정 하나쯤은 개의치 않으면서 빠르게 이메일을 암호화하는 방법을 찾는 분도 있을 겁니다. Gmail 사용자라면 SafeGmail이라는 무료 Chrome 확장 프로그램이 답이었습니다. Gmail 웹 인터페이스에 연동되어 메일 작성 시 암호화 체크박스가 생겼습니다.
사용법은 간단합니다. 받는 사람에게 보여줄 질문과 답을 정하면, SafeGmail이 PGP 방식으로 메시지를 암호화합니다. 받는 사람에게는 코드 덩어리와 링크만 보이고(사용된 알고리즘은 매우 안전합니다), 링크를 클릭해 SafeGmail 인터페이스로 이동한 뒤 질문에 답하고 암호문을 붙여넣으면 원본 메일이 나타나는 구조였습니다.
가장 큰 장점은 암호화가 Gmail과 자연스럽게 통합된다는 점이었습니다. 복호화까지 동일하게 통합되었다면 더 좋았겠지만, 암호화된 정보를 자주 이메일로 주고받는다면 충분히 유용한 서비스였습니다. 참고로 SafeGmail은 현재 더 이상 이용할 수 없으며, 대안으로 Gmail의 기밀 모드(Confidential Mode)나 Mailvelope 같은 PGP 확장 프로그램을 고려해 볼 수 있습니다.
유료 계정으로: LastPass
마지막으로 소개할 것은 클라우드 기반 비밀번호 관리자 LastPass의 유료 버전입니다. 무료 버전으로도 내 비밀번호 관리는 가능하지만, LastPass Premium에는 다른 사람과 비밀번호를 안전하게 공유할 수 있는 기능이 포함되어 있어 팀 단위 협업 환경에서 특히 유용합니다.
파일 공유
지금까지 텍스트를 안전하게 공유하는 세 가지 방법을 살펴봤으니, 이제 파일 전송 이야기로 넘어가겠습니다. 요즘 파일 공유 서비스가 워낙 흔해서 이쪽은 더 간단합니다.
계정 없이: Ge.tt
계정 만들기 없이 파일을 업로드하고 링크만 공유할 수 있는 서비스는 많지만, 안타깝게도 대부분은 광고 투성이에 스팸성 느낌이 강합니다. 그런 와중에 깔끔하고 세련된 무료 서비스가 바로 Ge.tt입니다.
사용법은 정말 단순합니다. 브라우저 창(Chrome 기준)에 파일을 끌어다 놓기만 하면 업로드가 시작되고, 공유용 짧은 링크가 즉시 생성됩니다. 이 링크를 원하는 사람에게 보내기만 하면 됩니다. 이후 같은 링크에 다시 접속하면(브라우저 쿠키를 지우거나 컴퓨터를 바꾸지 않았다면) 몇 명이 파일을 다운로드했는지 확인할 수 있고, 필요하면 파일을 바로 삭제할 수도 있습니다. 쉽고, 무료이고, 매끄럽기까지 합니다.
계정 사용: Dropbox, Google Drive, OneDrive
너무 뻔한 방법이지만 언급할 가치가 있습니다. 특정인에게 파일을 공유하는 가장 안전한 방법은 아마 Dropbox, Google Drive, OneDrive(구 SkyDrive) 같은 클라우드 스토리지를 활용하는 것입니다. Dropbox와 Google Drive는 모두 2단계 인증(2FA)을 선택적으로 지원하므로, 관련 당사자들이 2단계 인증을 켜고 강력한 비밀번호를 사용한다면 매우 안전하고 프라이버시가 보장되는 전송 수단이 됩니다.
마무리 thoughts: 보내는 방식이 곧 보안입니다
이 글이 비밀번호 공유 습관이나 정보 전달 방식을 다시 생각해 보는 계기가 되었길 바랍니다. Burn Note 같은 자기소멸형 메모는 실용적이라고 보십니까, 아니면 재미 요소일 뿐이라고 보십니까? 또 놓친 훌륭한 프라이버시 공유 방법이 있다면 댓글로 알려주세요.
마지막으로 한 가지 당부드립니다. 오늘부터라도 최소한 비밀번호만큼은 절대 평문으로 보내지 마세요. 작은 습관 하나가 여러분의 디지털 자산을 지켜줍니다.