검수요청.png검수요청.png

티볼트

위키원
shenghao (토론 | 기여)님의 2020년 9월 11일 (금) 13:49 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색
티볼트(TEEvault)
티볼트(TEEvault)
곽노현(Kwak No Hyun)

티볼트(TEEvault)는 ㈜티이이웨어에서 제공하는 암호화폐 키관리 솔루션 서비스이다. 티볼트 솔루션을 이용하여 핫월렛, 콜드월렛 등 암호화폐 지갑 서비스를 만들 수 있다.

2019년 해시넷 블록체인 콘퍼런스 GIF 배너.gif
이 그림에 대한 정보
티볼트가 2019년 해시넷 블록체인 콘퍼런스에 참가했습니다.

개요

티볼트는 엔터프라이즈 환경에서 암호화폐를 안전하게 보관하고 관리할 수 있는 키관리 솔루션이다. 암호화폐 개인키의 생성, 백업, 서명의 전 과정은 격리된 신뢰실행환경(Trusted Execution Environment,TEE)에서 처리되기 때문에 해킹과 물리적인 공격이 있어도 키가 유출되지 않는다. 티볼트의 임계 암호(threshold cryptography) 기술을 활용하면 암호화폐 키를 나누어 각기 다른 장소에 저장할 수 있으므로 리스크가 분산되고 재해로부터 즉시 복구할 수 있다.

특징

시스템 구성

티볼트는 한 대만으로도 서버로 사용할 수 있다. 하지만 티볼트 여러 대를 하나의 클러스터로 구성하여 사용할 경우 임계 암호 기술을 이용하여 더욱더 안전하게 키를 보호할 수 있다. 임계 암호를 이용하면 클러스터 내 n개의 티볼트 중 t개만 작동한다면 전자서명이 가능하다. 예를 들어, 6개의 티볼트가 있는 클러스터에서 3-of-6으로 구성한다면, 6개의 티볼트 중 3개가 고장나도 아무런 문제 없이 정상적으로 동작한다. 티볼트를 서울, 부산처럼 지리적으로 멀리 떨어진 곳에 배치하여 클러스터를 구성한다면 한 곳에 자연재해가 발생하더라도 서비스를 중단할 필요가 없다. 이더리움처럼 멀티시그(multisig)를 기본으로 지원해주지 않는 블록체인에도 이용 가능하다.

티볼트는 내부적으로 TEE를 지원하는 3개의 시스템이 삼중으로 동기화되는 구조이다. 시스템의 핵심 요소인 TEE는 매우 안전하게 설계되어서 하나의 시스템에서 사용하던 데이터는 다른 시스템에서 읽을 수 없다. 따라서 철저한 관리를 하지 않을 경우 데이터를 잃을 수 있는 위험성이 있다. 티볼트는 이러한 위험으로부터 소중한 자산을 보호하기 위해 시스템을 다중으로 백업할 수 있는 구조를 설계하고 구현했다. 하지만 이런 백업시스템을 잘못 설계할 경우 공격자가 자신의 시스템에 백업을 요청하면 티볼트 내의 키가 유출될 경우가 있다. 티볼트는 관리자가 인증한 기기끼리만 서로 동기화하는 구현을 통해 인증되지 않은 기기로의 데이터 유출을 보호할 수 있다. 또한 3개의 시스템 모두 키보관뿐만 아니라 서명 등의 서비스가 가능하므로 로드밸런스를 통해 성능 향상이 가능하다.

TEE는 CPU에서 제공하는 가장 강력한 보안기능 중 하나이다. CPU는 TEE와 REE 두 가지 환경을 완벽하게 격리한다. REE는 사용자가 컴퓨터를 사용하면서 이메일도 보고 웹서핑도 하고 워드 작업도 하는 일반적인 환경이다. 따라서 REE는 피싱 공격이나 드라이브 바이 다운로드(drive-by-download) 등을 통한 컴퓨터 해킹 등 다양한 위협에 노출될 수도 있다. 하지만 해커가 운영체제까지 장악하더라도 TEE에서 보호되는 데이터는 접근이 절대 불가능하다. 이것이 가능한 이유는 바로 CPU마다 고유한 하드웨어 키가 CPU 회로 안에 존재하기 때문이다. TEE에서 사용되는 데이터는 하드웨어 키로 암호화되어있기 때문에 하드웨어 키에 접근이 불가능한 REE에서는 암호화된 데이터의 복호화가 불가능하다. 하드웨어 키를 해커가 알아내기 위해서는 해커가 CPU를 물리적으로 탈취한 이후에 CPU의 회로를 전자현미경으로 한땀한땀 분석하는 고된 작업이 필요하므로 현실적인 공격 시나리오라고 보기 어렵다. 이렇게 하드웨어에서 회로적으로 구현된 안전한 키를 통해 TEE 환경을 안전하게 보호할 수 있다.

사용방법

  • 암호화폐를 오프라인에 저장 및 관리(콜드월렛)
거래소에서 보유한 대부분의 암호화폐 자산을 네트워크를 통한 해킹이 불가능한 오프라인 환경에 저장한다. 티볼트를 사용하여 엔터프라이즈 수준의 콜드월렛 구축이 가능하다. 키가 여러 클러스터에 안전하게 분산 백업되어 있어 분실의 위험이 없고 악의적인 관리자가 디바이스에 접근하더라도 적법한 인증 절차를 거쳐야만 트랜잭션을 서명할 수 있기 때문에 인적 리스크를 최소화할 수 있다.
  • 온라인 서버에 저장된 암호화폐 키 보호(핫월렛)
거래소에서 외부로의 빠른 송금을 위해서 고객들의 자산 중 일부분은 온라인 서버에 저장하고 있어야 한다. 키를 암호화해서 저장한다고 하더라도 트랜잭션을 서명하기 위해 암호화된 키가 복호화되어 사용되는데, 이 순간에 키는 아무런 보호를 받지 못하므로 해킹의 타겟이 될 수 있다. 티볼트를 사용한다면 온라인에서 사용되는 키 또한 항상 보호할 수 있다. 키가 생성되어 저장될 때는 CPU의 고유한 키로 암호화되며, 트랜잭션을 서명할 때에는 TEE라는 격리된 공간에서 암호 알고리즘이 실행되기 때문에 해커가 복호화된 키에 접근할 길을 원천 차단한다.
  • 이더리움에 대해 스카트 계약 없이 멀티시그 지원
이더리움은 프로토콜 상에서 멀티시그 기능을 지원하지 않는 대신 스마트 계약을 이용해 멀티시그 지갑을 구현할 수 있도록 하고 있다. 그러나 패리티지갑(parity wallet)의 사례에서 보듯 스마트 계약에 아주 작은 실수만 있도 자산을 도난당하거나 사용할 수 없게 된다. 티볼트의 임계 서명 기술을 이용하면 키 하나로 트랜잭션 하나를 서명하는 과정을 멀티시그 형태로 바꿀 수 있다. 임계 서명이란 하나의 키를 n개의 조각으로 분산시켜 저장하고 그 중 k개 이상의 클러스터가 트랜잭션을 승인했을 때 최종적으로 트랜잭션이 서명될 수 있도록 하는 암호학적 기법이다. 이더리움은 프로토콜 수준에서 멀티시그 기능을 지원하지 않으므로 티볼트가 스마트 계약을 이용한 멀티시그 서명이 대안이 될 수 있다.

장점

티볼트의 장점은 다음과 같다.

  • TEE를 이용한 키의 안전한 사용 : 한 디바이스에서 일반실행환경(REE)과 신뢰실행환경(TEE)이라 불리는 두 개의 운영체제를 실행할 수 있다. 키를 다루는 모든 연산은 신뢰실행환경에서 일어나 해커가 침투할 수 없다.
  • 임계 암호를 이용한 분산 저장 : 암호키를 여러 조각으로 나누는 임계 암호 기술을 활용하였다. 어느 디바이스도 온전한 키를 가지지 못하기 때문에 분실과 도난의 리스크를 분산시킬 수 있다.
  • 블록체인 업계의 표준 준수 : 다양한 블록체인 프로토콜을 지원할 수 있도록 BIP-32, 39, 44 표준 및 ECDSA, Keccak 등의 암호 알고리즘을 지원한다.
  • 실시간 백업 : 키관리 솔루션 내부의 키 저장소는 삼중으로 핫백업(hot backup) 된다. 일부 저장소의 장애에도 서비스의 중단없이 고가용성을 유지할 수 있다.
  • 키의 생성 및 사용 이력에 대한 통합 관리 : 키는 티볼트 밖으로 나가지 않는 대신 키에 대한 모든 이력은 티볼트에 남게된다. 이 로그를 보고 키가 언제 어디에서 누가 사용했는지 알 수 있다.
  • 기존에 보유한 블록체인 키의 이전 : 다른 방식으로 관리하던 키를 티볼트로 쉽게 옮길 수 있다. 전송 과정에서의 노출을 최소화하기 위하여 인증된 티볼트만 열어볼 수 있도록 암호화하여 옮길 수 있다.

동영상

참고자료

같이 보기


  검수요청.png검수요청.png 이 티볼트 문서는 암호화폐 지갑에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.