UPDATED. 2021-03-05 17:00 (금)
황 교수의 보안 365 암호화폐 지갑 솔루션
상태바
황 교수의 보안 365 암호화폐 지갑 솔루션
  • 블록체인투데이
  • 승인 2018.11.09 18:11
이 기사를 공유합니다

▲ ⓒ블록체인투데이

파산으로 이어진거래소 해킹 문제
암호화폐 거래소는 연일 생겨나고 있다. 하지만 해킹으로 인한 파산소식도 적지 않게 들려온다. 마운트곡스Mt.Gox, 민트팔Mintpal, 크립시Cryptsy, 엠씨엑스나우mcxNOW 등 기존 유명 거래소들이 줄지어 파산한 케이스로 남아있다. 올해 6월 국내 암호화폐 거래소 빗썸(Bithumb)이 해킹으로 350억 원 규모 암호화폐를 도난당했다. 국내 거래소 해킹은 이번이 네 번째다. 빗썸은 대책으로 회원 자산을 안전한 콜드 월렛(COLD WALLET)’으로 옮겨 놓았다고 밝혔다. 이처럼 거래소 해킹이 반복되면서 지갑에 대한 관심이 높아지는 것은 당연한 일이다. 해킹으로 돈을 잃었다는 말은 지갑이 해킹되었다는 의미와 같다. , 대부분의 거래소 이용자는 지갑을 거래소에서 발급 받고 공유하기 때문에 거래소가 해킹되는 순간 지갑도 함께 해킹된다. 만일 사용자가 지갑을 다른 누구와도 공유하지 않고, 혼자 소지하고 있었다면 거래소가 해킹되어도 암호화폐를 잃지 않았을 것이다.

암호화폐가 해킹되는 이유는? 개인키 유출 때문!
암호화폐 지갑은 자산을 보호하는 핵심 수단으로 어떤 유형의 지갑이라도 모두 개인키를 사용해야 한다. 비로소 개인키를 사용하는 사람이 그 지갑의 주인이 되는 것이기 때문이다. 결국 거래소 해킹과 관련한 복잡한 설명은 모두 개인키가 어떻게 유출되었느냐에 대한 설명이다. 다시 말해서, 고객들의 개인키를 어디에 보관하였고 그것이 어느 경로에 사용되었으며, 그 경로에 악성코드가 어떻게 진입했는가에 대한 설명이다. 강조돼야 할 부분인 지갑 안전성의 핵심은 개인키를 어디에서 발급하고 어디에 보관하고, 어디에서 사용하느냐이다.

, 개인키의 노출 위치가 어디인지가 핵심 문제다. 만일 지갑 사용자가 직접 개인키를 만들어 사용하되 그 개인키를 어디에도 노출시키지 않는다면, 개인키를 입력하지 않고도 송금을 할 수 있다면 그 누구에게도 도난당할 수 없다. 하지만 일반인들은 개인키를 만드는 방법을 잘 모르고, 만들었다고 해도 수십, 수백 개가 넘는 문자와 숫자 조합인 개인키를 외울 수도 없어서 어딘가 저장해야만 한다.

그래서 인터넷을 통해 거래소가 만들어 준 개인키를 받는다든가 개인키를 만드는 프로그램을 다운로드하고 컴퓨터에서 자동 생성하여 사용하고 있다. 바로 이 개인키의 생성, 전달, 보관, 사용하는 과정에서 해킹이 일어나는 것이다. 개인키가 노출되는 경로가 너무 많으므로 지갑의 종류도 많고 해킹의 종류도 많고 그만큼 도난도 많이 일어나는 것이다.

OTP 토큰과 암호화폐 지갑
현재 제도권에서의 금융거래 방법 중 가장 안전한 것은 OTP를 이용하는 것이다. OTP나 공인인증서를 사용하여도 해킹이 발생하지만, 암호화폐 해킹처럼 자주 일어나지 않는다. 왜 그럴까. 혹자는 제도권의 보안 시스템(방화 벽, 네트워크 보안, 백신 등)이 안전하기 때문이라고 말한다. 그 말도 맞다. 하지만 보다 핵심적인 이유는 비밀번호의 사용과 관련이 있다. 근본적으로 제도권에서 사용하는 OTP 토큰(발생기)과 암호화폐 지갑의 기능은 어떤 거래 요청 메시지의 주인이 바로 그 계정의 소유자임을 확인한다는 점에서 같다.

, 사용자가 자기 계좌에서 얼마를 빼 누구에게 주라는 거래 요청 메시지를 은행 또는 거래소가 받았을 때 그 메시지가 진짜 본인이 한 것인지를 증명하는 코드(암호)OTP(일회용 비밀번호)이고 암호화폐의 경우는 개인키로 암호화한 코드이다. 다만 OTP는 사용자가 직접 숫자를 확인할 수 있지만, 암호화폐 지갑에서 개인키로 암호화한 코드는 대개 사용자 모르게 자동으로 처리되어 전송되므로 사용자는 개인키를 볼 수는 있어도 전송되는 메시지는 보지 못한다. 다른 차이가 있다면 OTP는 짧고(보통 6자리) 암호화폐 암호 메시지는 매우 길다는 점이다.

, OTP는 개인키가 OTP 토큰 안에 이미 들어 있으므로 별도로 입력하지 않고도 생성될 수 있지만, 현재의 암호화폐 지갑은 개인키를 입력하는 과정이 필요하다. 또한, 사용자는 잘 알지 못하지만, 현재 사용되는 OTP의 개인키는 대칭 키라는 점과 암호화폐에서 사용하는 개인키는 주소(공개키)와 쌍을 이루는 비대칭 키라는 점이 다르다.

거래소 해킹과 관련한 가장 중요한 차이
금융거래 시 대부분 사용자는 OTP 토큰을 사용하고 있지만, 암호화폐 거래 시 하드웨어 지갑을 사용하는 사람은 아직 적기 때문에 해킹이 쉽다는 점에서 큰 차이가 있다. 해커의 경우 감시망이 철저한 제도권 금융거래 해킹과 비교하면 거래소 해킹은 발각될 염려가 매우 적고, 걸려도 암호화폐를 재산으로 봐야 하는지조차 불투명하므로 처벌 규정이 미비하다는 점이다.

이상적인 암호화폐 지갑
지갑(Wallet)은 블록체인에 접속해서 자신의 잔액과 거래 기록 확인 및 송금을 관리하는 프로그램이다. 암호화폐 지갑에는 핫 월렛 HOT WALLET, 콜드 월렛 COLD WALLET, 웹 지갑, 하드웨어 지갑, 온라인 지갑, 오프라인 지갑 등 그 분류 방법과 종류가 많지만, 크게는 핫 월렛과 콜드 월렛으로 나뉜다. 핫 월렛이란 온라인에 연결돼 있어 바로 입출금, 송금이 가능한 암호화폐 지갑이다. 웹 지갑, 온라인 지갑처럼 언제나 연결되어있어 편리하고 빠르지만, 해킹에 취약하다. 반면 콜드 월렛은 오프라인에서 개인키를 만들고 보관하는 지갑을 의미하며, 하드웨어 지갑, USB 보관, 종이 지갑 등이 있다. 콜드 월렛은 인터넷에 연결되어있지 않은 지갑을 의미하므로 그 형태가 USB, 종이든, 토큰형이든, 카드 타입이든, 심지어 인터넷을 사용하지 않는 컴퓨터든 뭐든 모두 콜드 월렛이다. 해커가 해당 지갑 자체를 소유하고 있지 않은 이상 해킹은 거의 불가능하다.

착각하기 쉬운 용어로 오프라인 지갑이란 분류가 있는데 이는 온라인 지갑과 대비되는 것이 아니라, 접속 프로그램을 의미하는 네트워크 지갑과 비교해 이르는 용어로 서명 전용 지갑을 말하며 그만큼 중요하기 때문에 콜드 월렛 형태로 오프라인으로 보관하는 것이 보통이다.

이 중에서도 가장 이상적인 지갑은 개인키가 노출되지 않는 지갑이다. , 개인키의 생성, 사용, 보관의 전 과정이 노출되지 않아야 하므로 지갑은 접속과 메시지 송수신의 역할을 하는 네트워크 지갑의 역할을 하고, 결정적인 본인 확인은 개인키로 하지 않고, 개인키로 암호화한 일회용 코드를 사용토록 하면 되는 것이다. 문제는 송금할 때 반드시 개인키를 지갑에 입력해야 하는 것이어서 아예 개인키를 지갑 안에 보관하거나 할 수도 있다. , 지갑 안에는 개인키가 없을 수도 있지만, 송금하기 위해 개인키를 입력할 때 개인키가 노출이 되는 것이다. 그러므로 지갑 안에 키를 보관하지 않는 한 지갑 자체는 해킹이 되어도 안전하다. 문제는 개인키가 어디에 보관되어 있고 언제 어디에서 노출이 되느냐이다.

이 개인키로 암호화한 일회용 코드를 만드는 작업 역시 오프라인에서 해야 하고, 그렇게 처리해 주는 방식을 하드웨어 지갑이라고 한다. 해당 방식을 지원하기 위해 거래소나 플랫폼의 지갑 매뉴얼을 수정해 주는 추세이다. 다만 현재 하드웨어 지갑은 발전 도상 단계여서, 구매 가격이 $100 정도로 비싸고, 소지와 사용이 매우 불편한 점과 접속 단말기(PC 또는 모바일)가 감염된 경우 해킹 우려가 발생한다. 하드웨어 지갑을 분실하는 경우 개인키도 분실되기 때문에 자신의 계정을 찾을 수 없는 문제를 해결해야 한다. 조만간 감염된 단말기에서도 안전한 사용과 분실을 해도 계정을 되찾을 수 있는 저렴하면서도 소지와 사용이 편리한 카드 타입의 하드웨어 지갑이 출현할 것으로 기대한다.


오하영 기자

더 빠른 정보를 받고 싶거나
다이렉트 문의를 원하시면
공식 SNS로 문의 바랍니다.
오픈카톡: https://open.kakao.com/o/gc1wwdS
공식밴드: https://band.us/band/67061288?invitation_url_id=afaaX8K3Uet0w
텔레그램: https://t.me/BlockChaintodayMagazine


주요기사
이슈포토