Search

TEEvault

암호화폐 키관리 솔루션

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

TEEvault 소개 영상

특장점

TEE를 이용한 키의 안전한 사용

한 디바이스에서 일반실행환경(REE)과 신뢰실행환경(TEE)이라 불리는 두 개의 OS를 실행할 수 있습니다. 키를 다루는 모든 연산은 신뢰실행환경에서 일어나 해커가 침투할 수 없습니다.

임계 암호를 이용한 분산 저장

암호키를 여러 조각으로 나누는 임계 암호 (threshold signature) 기술을 활용하였습니다. 어느 디바이스도 온전한 키를 가지지 못하기 때문에 분실과 도난의 리스크를 분산시킬 수 있습니다.

블록체인 업계의 표준 준수

다양한 블록체인 프로토콜을 지원할 수 있도록 BIP-32, 39, 44 표준 및 ECDSA, Keccak 등의 암호 알고리즘을 지원합니다.

실시간 백업

TEEvault 내부의 키 저장소는 삼중으로 hot-backup됩니다. 일부 저장소의 장애에도 서비스의 중단없이 고가용성을 유지할 수 있습니다.

키의 생성 및 사용 이력에 대한 통합 관리

키는 TEEvault 밖으로 나가지 않는 대신 키에 대한 모든 이력은 TEEvault에 남게 됩니다. 이 로그를 보고 키가 언제 어디에서 누가 사용했는지 알 수 있습니다.

기존에 보유한 블록체인 키의 이전

다른 방식으로 관리하던 키를 TEEvault로 쉽게 옮길 수 있습니다. 전송 과정에서의 노출을 최소화하기 위하여 인증된 TEEvault만 열어볼 수 있도록 암호화하여 옮길 수도 있습니다.

시스템 구성도

Safe as much as you connect

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

Robustness tripled

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

Hardware-enforced security boundary

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

사용방법

1. 암호화폐를 오프라인에 저장 및 관리 (콜드 월렛)

거래소에서 보유한 대부분의 암호화폐 자산을 네트워크를 통한 해킹이 불가능한 오프라인 환경에 저장합니다. TEEvault를 사용하여 엔터프라이즈 수준의 콜드 월렛 구축이 가능합니다. 키가 여러 클러스터에 안전하게 분산 백업되어 있어 분실의 위험이 없고 악의적인 관리자가 디바이스에 접근하더라도 적법한 인증 절차를 거쳐야만 트랜잭션을 서명할 수 있기 때문에 인적 리스크를 최소화할 수 있습니다.

2. 온라인 서버에 저장된 암호화폐 키 보호 (핫 월렛)

거래소에서 외부로의 빠른 송금을 위해서 고객들의 자산 중 일부분은 온라인 서버에 저장하고 있어야 합니다. 키를 암호화해서 저장한다고 하더라도 트랜잭션을 서명하기 위해 암호화된 키가 복호화되어 사용되는데, 이 순간에는 키 아무런 보호를 받지 못하므로 해킹의 타겟 될 수 있습니다. TEEvault를 사용한다면 온라인에서 사용되는 키 또한 항상 보호할 수 있습니다. 키가 생성되어 저장될 때는 CPU의 고유한 키로 암호화되며, 트랜잭션을 서명할 때에는 TEE라는 격리된 공간에서 암호알고리즘이 실행되기 때문에 해커가 복호화된 키에 접근할 길을 원천 차단합니다.

3. 이더리움에 대해 스마트 컨트랙트 없이 멀티시그(Multisig) 지원

이더리움은 프로토콜 상에서 멀티시그 기능을 지원하지 않는 대신 스마트 컨트랙트를 이용해 멀티시그 지갑을 구현할 수 있도록 하고 있습니다. 그러나 Parity wallet의 사례에서 보듯 스마트 컨트랙트에 아주 작은 실수만 있어도 자산을 도난당하거나 사용할 수 없게 됩니다. TEEvault의 임계 서명 기술을 이용하면 키 하나로 트랜잭션 하나를 서명하는 과정을 멀티시그 형태로 바꿀 수 있습니다. 임계 서명이란 하나의 키를 n개의 조각으로 분산시켜 저장하고 그 중 k개 이상의 클러스터가 트랜잭션을 승인했을 때 최종적으로 트랜잭션이 서명될 수 있도록 하는 암호학적 기법입니다. 이더리움은 프로토콜 수준에서 멀티시그 기능을 지원하지 않으므로 TEEvault가 스마트 컨트랙트를 이용한 멀티시그 서명의 대안이 될 수 있습니다.