본문으로 건너뛰기

콜드 스토리지와 하드웨어 서명 장치

큰 금액을 오래 보관하려면 편리함보다 키를 인터넷에서 분리하는 일이 중요해질 수 있습니다. 휴대폰이나 컴퓨터의 소프트웨어 서명 장치는 인터넷에 연결될 가능성이 있어 악성 프로그램이나 가짜 앱에 노출될 수 있기 때문입니다.

이때 함께 언급되는 개념이 하드웨어 서명 장치와 콜드 스토리지입니다. 두 개념은 관련이 있지만 완전히 같은 뜻은 아닙니다.

하드웨어 서명 장치와 콜드 스토리지의 차이​

하드웨어 서명 장치는 개인키를 전용 기기 안에서 관리하고, 거래에 서명하는 작업도 그 기기 안에서 처리하도록 설계된 장치입니다. 기기 안에 보안 기능과 화면이 들어 있는 형태가 대표적이지만, 내부 설계와 물리적 공격에 대한 저항성은 제품마다 다릅니다.

콜드 스토리지는 특정 제품의 이름이 아니라, 키의 생성·보관·서명 과정에서 온라인 노출을 피하는 보관 방식을 가리킵니다. 하드웨어 서명 장치나 인터넷에 연결하지 않은 컴퓨터로 서명하는 방식이 여기에 해당할 수 있습니다.

복구 문구를 종이에 적어 두는 것만으로 기존 온라인 서명 장치가 콜드 스토리지로 바뀌는 것은 아닙니다. 그 문구가 이미 온라인 기기에서 생성·표시·입력되었거나 온라인 사본이 남아 있다면 해당 키의 온라인 노출 가능성은 그대로입니다. 콜드 스토리지라고 부르려면 키의 생성과 보관, 서명 과정에서 온라인 노출을 피하고 필요한 사본도 온라인 기기에 남기지 않아야 합니다.

따라서 하드웨어 서명 장치는 콜드 스토리지를 구현하는 한 가지 방법이고, 콜드 스토리지는 키를 온라인에서 분리하는 보관 원칙이라고 볼 수 있습니다.

금고 속 결재 도장으로 이해하기​

회사에서 결재 도장은 금고에 보관하고, 결재할 서류는 금고 밖에서 만듭니다. 서류에 도장을 찍을 때만 금고를 열지만 도장 자체는 금고 밖으로 나오지 않습니다.

하드웨어 서명 장치도 이와 비슷합니다. 컴퓨터에서 보낼 거래를 만들고, 서명할 거래만 하드웨어 서명 장치로 전달합니다. 하드웨어 서명 장치 안에서 키로 서명한 뒤에는 서명이 붙은 거래만 컴퓨터로 돌아갑니다. 정상적인 서명 과정에서 개인키는 기기 밖으로 나오지 않도록 설계됩니다.

작은 화면에서 거래를 확인하는 이유​

컴퓨터 화면에 표시되는 거래 내용은 악성 프로그램에 의해 바뀔 수 있습니다. 받는 주소가 통째로 바뀌어 있어도 컴퓨터 화면만 보면 알아채기 어려울 수 있습니다.

그래서 일부 하드웨어 서명 장치에는 별도의 화면이 있습니다. 서명하기 전에 그 화면에서 받는 사람의 주소와 금액을 직접 확인합니다. 내용이 맞을 때 기기의 버튼을 눌러 서명합니다.

이 확인 절차는 컴퓨터가 잘못된 내용을 보여 주더라도 마지막 단계에서 다시 살펴볼 기회를 줍니다. 하드웨어 서명 장치를 사용하면서도 기기 화면의 내용을 확인하지 않는다면, 전용 화면이 제공하는 의미를 충분히 활용하지 못하는 셈입니다.

키가 기기 밖으로 나오지 않는 구조​

하드웨어 서명 장치는 정상적인 서명 과정에서 개인키를 외부로 내보내지 않도록 설계됩니다. 키를 저장하는 부품과 외부 인터페이스, 펌웨어 구조와 물리적 공격에 대한 보호 수준은 제품마다 다르므로, 특정 칩이 모든 공격이나 키 추출을 막는다고 단정할 수는 없습니다.

기기와 컴퓨터 사이를 오가는 것은 서명할 거래와 서명이 끝난 거래입니다. 컴퓨터에서 거래를 만들고, 하드웨어 서명 장치 안에서 서명한 뒤, 서명이 붙은 거래를 다시 전송하는 구조입니다. 복구 문구의 노출이나 악성 펌웨어, 잘못된 주소 확인과 같은 위험까지 하드웨어 서명 장치가 자동으로 없애 주는 것은 아닙니다.

콜드 스토리지는 기기만 뜻하지 않는다​

콜드 스토리지는 특정 제품의 이름이 아닙니다. 핵심은 키의 생성·보관·서명 과정에서 온라인 노출을 피하는 것입니다.

인터넷에 연결하지 않은 컴퓨터로 서명하는 방식이 한 예입니다. 하드웨어 서명 장치는 이 원칙을 전용 기기와 화면을 통해 구현하는 대표적인 방법입니다. 반면 온라인 서명 장치에서 이미 생성한 복구 문구를 종이에 백업하는 것만으로는 그 서명 장치의 키가 콜드 스토리지에 보관된다고 볼 수 없습니다.

반대로 휴대폰이나 컴퓨터의 앱처럼 인터넷에 연결될 수 있는 기기에 키를 보관하는 방식은 뜨거운 서명 장치라고 부릅니다. 콜드 스토리지와 뜨거운 서명 장치는 서로를 완전히 대신하기보다 쓰임에 따라 나누어 사용할 수 있습니다.

기기를 잃어버리면 비트코인도 사라질까​

하드웨어 서명 장치를 잃어버려도 비트코인의 거래 기록은 네트워크의 전체장부에 남습니다. 복구 문구와 필요한 설정 정보를 안전하게 보관하고 있다면 다른 호환 기기에서 키를 복원해 자금에 다시 접근할 수 있습니다.

따라서 기기의 가격보다 복구 문구의 보관이 앞섭니다. 복구 문구를 잃거나 다른 사람에게 노출하면 기기 자체가 안전해도 자금에 대한 접근 권한을 지키기 어렵습니다.

기기만 사면 안전이 완성될까​

하드웨어 서명 장치를 구매하는 것만으로 안전이 완성되지는 않습니다. 다음과 같은 원칙을 함께 지켜야 합니다.

  • 제조사에서 직접 구매하고, 포장에 손댄 흔적이 없는지 확인합니다.
  • 처음 켰을 때 복구 문구를 직접 생성합니다.
  • 미리 적혀 온 복구 문구가 있는 제품은 사용하지 않습니다.
  • 복구 문구를 사진으로 찍거나 온라인에 저장하지 않습니다.
  • 처음에는 소액을 보내고 키 복원 절차를 확인합니다.
  • 서명하기 전에 하드웨어 서명 장치 화면의 주소와 금액을 확인합니다.

중고 제품이나 이미 개봉된 제품은 누군가가 기기나 복구 문구를 미리 준비했을 가능성을 배제하기 어렵습니다. 복구 문구는 반드시 자신의 기기에서 직접 생성해야 합니다.

부품으로 직접 조립하는 서명 장치​

앞 절의 원칙은 완제품을 사는 경우를 전제로 합니다. 오픈소스 서명 장치인 시드사이너(SeedSigner)는 범용 부품을 사서 직접 조립하는 다른 방식이어서, 통신 부품이 없는 보드를 고르는 일과 소프트웨어를 공식 배포처에서 받는 일이 그 원칙에 해당하는 확인 지점이 됩니다. 아래는 2024년 3월에 공개된 영상에서 발언자가 부품 구입부터 조립, 소프트웨어 준비까지 직접 해 본 경험입니다. 영상 시점의 이야기이므로 부품과 소프트웨어는 이후 달라졌을 수 있습니다.

발언자는 서명 장치를 직접 만드는 이유가 개인키를 인터넷에 노출하지 않기 위해서라고 말합니다. 그래서 와이파이와 블루투스 모듈이 없어 기기 자체로는 통신할 수 없는 라즈베리파이 제로 v1.3을 고르는 것이 중요하다고 설명합니다. 이름에 W가 붙은 모델은 무선 모듈이 들어 있으므로 혼동하지 말아야 하고, 그 모델을 샀다면 모듈을 물리적으로 부수거나 뽑아서 통신하지 않는 상태로 만들어야 한다고 합니다.

필요한 부품으로 발언자가 꼽은 것은 다음과 같습니다.

  • 라즈베리파이 제로용 카메라 모듈: 영상은 OV5647 계열의 번호를 기억해 두라고 말합니다. 카메라 모듈 크기에 따라 맞는 케이스가 다르므로, 케이스를 출력하거나 살 때 모듈 크기를 함께 확인해야 합니다.
  • 해상도 240x240의 1.3인치 LCD 확장 보드: 조이스틱과 버튼 세 개가 달려 있습니다. 128x128 제품도 있으니 해상도 숫자를 확인하고 사야 한다고 합니다.
  • 40핀 GPIO 핀 헤더, 케이스, 마이크로SD 카드

핀 헤더는 구입 전에 확인할 점이 있습니다. 끝이 평평한 일반형은 납땜이 필요하고, 납땜 없이 망치로 끼우는 형태도 따로 있습니다. 발언자는 이 차이를 모른 채 일반형을 샀다가 직접 납땜하게 되었다고 말합니다. 첫 납땜이 어설퍼서 전원이 잘 들어오지 않았고, 핀 부위를 깔끔하게 덮도록 다시 납땜해서 해결했다고 합니다. 납땜할 때는 환기를 하고, 납이 녹으며 나오는 연기를 들이마시지 않도록 주의하라고 당부합니다.

조립에서 발언자가 짚은 곳은 두 군데입니다. 카메라 케이블은 기판 커넥터의 검은 잠금 부분을 손톱으로 살짝 빼서 틈을 벌리고, 케이블을 끼운 뒤 다시 눌러 고정합니다. 케이스 세트에 든 황동 기둥은 LCD 보드의 높이와 균형을 맞춰 줍니다. 기둥이 없으면 한쪽만 들뜬다고 설명합니다. 발언자는 케이스를 3D 프린터로 출력해 썼습니다.

소프트웨어는 시드사이너 공식 사이트에서 안내하는 저장소의 최신 릴리스에서 받는다고 합니다. 파일이 라즈베리파이 종류별로 나뉘어 있으므로 제로용 이미지를 골라야 하고, W 모델용이나 파이 2, 파이 4용을 받으면 안 됩니다. 이 이미지를 플래싱 프로그램으로 마이크로SD 카드에 담은 뒤 기기에 꽂고 전원을 넣으면 됩니다. 발언자는 처음 쓴 플래싱 프로그램에서는 이유를 모른 채 계속 실패했고, 다른 프로그램으로 바꾸어 성공했다고 말합니다.

켜면 스캔 화면이 나타나고, 조이스틱으로 움직이며 누르면 선택됩니다. 발언자는 카메라가 QR 코드를 인식하는 것까지 확인했고, 이 QR 코드로 에어갭 거래를 한다고 설명합니다. 발언자에 따르면 대부분의 하드웨어 서명 장치는 개인키를 기기 안에 저장하지만, 시드사이너는 저장하지 않습니다. 복구 문구(니모닉)를 담은 QR을 보관해 두었다가, 서명할 때 기기로 읽어 들여 서명하는 방식입니다. 이 점은 앞서 본 "키가 기기 밖으로 나오지 않는 구조"와 대비됩니다. 기기 안에 키가 남지 않으므로, 이 방식에서는 복구 문구 QR을 보관하는 일이 곧 키를 보관하는 일이 됩니다.

발언자는 이렇게 하면 비교적 저렴하게 서명 장치를 마련할 수 있다며, 자가보관을 생각하는 사람이라면 시드사이너에 관심을 가져 볼 만하다고 권합니다.

여러 키를 요구하는 방식​

더 큰 금액을 관리할 때는 여러 키가 있어야 거래가 승인되도록 설정하는 방법도 있습니다. 한 키만으로는 서명 요건을 충족하지 못하도록 설정하면, 기기 하나를 탈취한 사람도 그 키만으로 자금을 움직일 수 없습니다. 키 하나를 잃었을 때 복구할 수 있는지는 남은 키로 필요한 서명 수를 채울 수 있는지에 달려 있습니다.

대신 설정과 보관이 복잡해집니다. 키를 여러 장소에 나누어 보관해야 하고, 복구 절차도 더 신중하게 관리해야 합니다. 금액과 자신이 감당할 수 있는 운영 복잡성을 기준으로 선택해야 합니다.

콜드 스토리지의 핵심은 특정 기기를 구매하는 일이 아니라 키의 생성·보관·서명 과정에서 인터넷 노출을 피하고, 거래를 서명할 때 필요한 확인 절차를 마련하는 것입니다. 하드웨어 서명 장치는 그 원칙을 실천하는 한 가지 도구입니다.

관련 개념은 소프트웨어 서명 장치에서 이어서 볼 수 있습니다.

영상​

원본 영상: 시드사이너 구입부터 조립까지 (공개일: 2024-03-11)

링크 복사하기X에 공유페이스북에 공유쓰레드에 공유