기타배경지식

니모닉, 시드구문, 백업구문 안전하게 보관하는 방법

스리포터 2021. 6. 14. 02:22

현재 시중에는 메타마스크(Metamask), 카이카스(Kaikas), 트러스트 월렛(Trust Wallet) 등 다양한 전자지갑들이 있습니다. 서로 다른 지갑이지만 주소를 생성할때면 공통적으로 거쳐야하는 과정이 하나 있습니다. 바로 백업(backup) 구문 저장입니다. 백업 구문 외에도 지갑에 따라서 시드(seed) 구문, 니모닉(mnemonic) 등 다양한 이름으로 불리지만 이들은 12개의 영단어로 이루어져 있고 지갑 로그인에 사용되는 공통의 역할을 지니고 있습니다. 

메타마스크 비밀 백업 구문 확인 화면.

 

한가지 자주 혼동하시는 것이 비밀번호와 백업 구문(니모닉, 시드 구문)의 역할인데요. 비밀번호와는 별개로 백업 구문이 존재합니다. 비밀번호는 지갑을 새로 설치할때마다 백업 구문만 입력한다면 다시 설정할 수 있습니다. 즉, 백업 구문이 있다면 비밀 번호를 모르더라도 로그인이 가능합니다. 그러나 백업구문이 없을 경우 지갑을 새로 설치했을 때 내 지갑 주소를 불러올 수 없습니다. 따라서 백업 구문은 절대 남에게 유출되서는 안되며 잃어버리지 않게 잘 보관해야 합니다.

카이카스 시드 구문 백업 화면

 

여기 Whale, June, Blue, Rose, Water, Brush, Delegate, Volcano, Nasty, Door, Separate, Adorable 라는 열두개의 단어로 이루어진 백업 구문이 있다고 해봅시다. 랜덤으로 생성된 열두개의 영단어를 순서까지 제대로 기억하기란 불가능에 가깝습니다. 컴퓨터나 휴대폰 메모장에 적어두자니 해킹의 위험이 있고, 그렇다고 수첩이나 종이에 적어 보관하자니 분실의 위험이 있습니다. 그렇다면 어떻게 보관해야 안전할까요? 

 

첫번째는 분산입니다. 12개의 단어중 일부는 컴퓨터에, 일부는 휴대폰에, 일부는 종이에 적어 보관하는 것입니다. 예를 들어 12개의 단어중 네개는 컴퓨터에 저장하고 다른 네개는 노트에 보관한다면 나머지 네 단어는 암기하는 것도 가능할 것입니다. 이 경우 한 곳에 열두단어를 한꺼번에 보관하는 것 보다 훨씬 안전할 것입니다. 꼭 네개씩 할 필요 없습니다. 네 단어를 외우는 것도 일이므로 한단어만 암기하고 나머지를 나눠 저장해도 됩니다.

분산 저장하기.

 

두번째는 재배치입니다. 백업구문을 입력할 때면 단어들의 순서도 정해진대로 입력해야 하는데요. 컴퓨터에 보관할 때 나만 아는 순서로 일부 변경하여 저장한다면 보안성을 높일 수 있습니다. 예를 들어 앞 여섯 단어와 뒤 여섯 단어를 순서를 바꿔 저장하는 것입니다. 

순서 재배치하기.

 

세번째는 추가입니다. 12개의 단어에 의도적으로 가짜 단어들을 섞어 넣어 13개, 14개 혹은 그 이상의 단어들을 적어두는 것입니다. 이때 어떤 것이 추가 단어인지 헷갈리지 않으려면  본인에게 의미있는 단어를 추가단어로 선정하는 것이 좋을 것 같습니다.

의도적으로 다른 단어 추가하기.

 

마지막으로 위 세가지 경우를 모두 섞어 응용해보겠습니다. 이때 어느정도 규칙을 가지고 변경해야 나중에 알아보기 쉬울 것입니다. 본인이 못알아보면 아무 의미 없으니까요. 아래는 하나의 예시일 뿐, 이 방법대로 해야하는 것은 아닙니다. 복잡할수록 보안성은 좋으나 본인도 알아보기 힘드므로 기능성은 떨어질 것입니다. 이 둘 사이에 적절한 균형을 찾아 안전하게 보관하세요.

분산, 재배치, 추가.

또, 내 계좌에 1원 보내며 입금자 명에 단어 하나씩 적어 보내기, 철판에 각인시켜 금고에 보관하기 등 다양한 방법들이 사용되고 있습니다.

왼쪽 부터 통장에 단어 하나씩 적어 보내 기록하기, 철판에 각인시켜 보관하기.

 

위의 예시는 설명을 드리기 위해 다소 복잡한 감이 있습니다. 당장 두 단어만 추가하여 14단어를 보관해도 해커 입장에서는 경우의 수가 급격하게 증가합니다. 나머지 열두단어가 모두 진짜이고, 순서대로 정렬되어 있다는 가정하에 열 네개중 두개의 가짜 단어를 골라내는 경우의 수는 14x13=182가지 입니다. 여기에 순서를 섞고 더 많은 가짜 단어를 추가하며 진짜 단어 하나는 누락시켜 내 머릿속에만 저장한다면 해커 입장에서는 매우 난감하겠지요. 작은 노력하나만으로도 보안성을 높일 수 있다는 점을 기억하시기 바랍니다. 여러분만의 방법이 있다면 댓글로 공유해주세요. 

 

*이 블로그는 블록체인 기술에 대한 깊이 있는 이해를 추구합니다.

 더 많은 글을 읽고 싶다면 구독하기 버튼을 눌러주세요.