에어갭 서명 장치 보안
서명 장치는 개인키로 거래에 서명하는 도구입니다. 네트워크와 직접 연결하지 않는 에어갭 방식의 원리와 보안을 강화하기 위한 조건을 정리했습니다.
아래 본문은 Athena Alpha의 에어갭 서명 장치 글(본문 날짜: 2024년 1월 12일)을 번역하고 사이트 용어에 맞춰 다듬은 내용입니다. 본문의 ‘우리’는 원저자인 Athena Alpha를 가리키며, 기기별 보안 기능과 추천은 당시 저자의 평가입니다.
이 글은 약간 논란을 일으킬 수도 있습니다. 많은 사람들이 에어갭 서명 장치를 사용하면 설정이 매우 안전하고 해킹에 거의 무적이라고 생각하는데, 사실 그렇지 않기 때문입니다.
사람들이 보안에서 실패하는 가장 흔한 이유 중 하나는 어떤 것이 안전하다고 생각하는 것... 그러나 실제로는 그렇지 않은 경우입니다. 오늘 우리는 에어갭 하드웨어 서명 장치가 무엇인지 설명하고, 하드웨어 서명 장치 공급업체들이 광고하는 종종 부정확하거나 오해를 불러일으키는 마케팅을 파헤쳐 여러분이 보호받을 수 있도록 하겠습니다.
에어갭이란 무엇인가?
에어갭 장치는 외부 네트워크에 연결된 유/무선 네트워크 인터페이스가 없는 장치입니다.
많은 컴퓨터가 유선 네트워크에 연결되지 않더라도 무선 네트워크 인터페이스 컨트롤러(예: WiFi)가 있어 인터넷에 연결되어 소프트웨어를 업데이트합니다. 이는 보안 취약점을 나타내므로 에어갭 컴퓨터는 무선 인터페이스 컨트롤러가 영구적으로 비활성화되거나 물리적으로 제거됩니다. (출처: Wikipedia)
데이터를 USB 케이블이나 Wi-Fi를 통해 전송하는 대신, 데이터를 microSD 카드, USB 플래시 드라이브, HDD 등에 직접 기록하고 에어갭 장치로 물리적으로 이동시켜야 합니다.
이렇게 하는 이유는 장치 사이에 물리적 격차(에어갭)를 만들어 모든 데이터 흐름을 완전히 통제하기 위함입니다. 데이터는 데이터를 물리적으로 이동시키는 사람이 승인받았고, 적절히 검토된 경우에만 전송됩니다.
사무실에서 직원 컴퓨터와 보안이 잘 보호된 서버 같은 전통적인 IT 환경에서는 외부 해커가 민감한 데이터를 탈취하지 못하도록 이러한 보안 조치가 최상위로 여겨집니다.
에어갭 컴퓨터는 일반 직원이 있는 낮은 보안 지역(사무실)과 엄격하게 잠긴 서버룸 등 높은 보안 지역을 구분해 보안 강화를 위해 추가적으로 더 많은 잠금 장치와 보안 요원을 두어 접근을 제한하는 경우가 많습니다.
에어갭 서명 장치란?
에어갭의 개념을 이해한 후, 이를 하드웨어 서명 장치의 세계에서 어떻게 사용하는지 살펴보겠습니다.
비트코인 도구에서 에어갭 서명 장치는 보통 인터넷과 같은 네트워크나 컴퓨터에 완전히 연결되지 않은 서명 장치를 말합니다. 이 서명 장치는 컴퓨터에 연결되지 않으며, 대신 microSD 카드를 주고받거나 QR 코드를 스캔하는 방식으로 통신합니다.
에어갭 거래 서명을 지원하는 하드웨어 서명 장치의 대표적인 예는 COLDCARD Mk4입니다. 중요한 점은 에어갭 서명 장치라고 주장하는 많은 하드웨어 서명 장치들이 여전히 가끔 인터넷에 연결된 컴퓨터에 플러그를 꽂아야 한다는 것입니다.
비트코인 보안 가이드에서 설명한 바와 같이, 보안 위험을 방지하는 최선의 방법은 해당 위험을 완전히 제거하는 것입니다. 하지만 에어갭 서명 장치를 사용한다고 해킹 위험이 완전히 사라지지 않습니다. 사실 잘못 구현되면 보안을 악화시킬 수 있습니다.
비트코인을 보내기 위해 에어갭 서명 장치를 어떻게 사용하는가?
하드웨어 서명 장치가 인터넷이나 다른 컴퓨터와 완전히 분리되어 있어도, 비트코인을 쓰려면 하드웨어 서명 장치와 컴퓨터 간에 데이터가 오가야 합니다. 하드웨어 서명 장치는 장치 안에서 다루는 개인키로 거래에 서명하고, 컴퓨터는 서명된 거래를 네트워크에 전파합니다.
microSD 카드를 사용하는 경우의 거래 생성·서명·전파 과정은 다음과 같습니다:
- 거래 생성: 컴퓨터가 미서명 거래와 서명에 필요한 정보를 BIP174의 PSBT 형식으로 준비합니다. PSBT는 부분 서명된 비트코인 거래를 전달하는 형식으로, 아직 서명이 없는 상태도 담을 수 있습니다.
- PSBT 저장: 이 PSBT 거래 데이터를 microSD 카드에 저장합니다.
- PSBT 전송: microSD 카드를 컴퓨터에서 하드웨어 서명 장치로 옮깁니다.
- PSBT 서명: 하드웨어 서명 장치가 개인 키를 사용하여 PSBT에 서명합니다.
- 서명된 거래 전송: 다시 microSD 카드를 컴퓨터로 이동합니다.
- 서명된 거래 전파: 완전히 서명된 거래를 컴퓨터가 비트코인 네트워크에 전파합니다.
에어갭 하드웨어 서명 장치가 생각만큼 보안을 강화하지 않는 이유
"연결되지 않았다"는 것이 표면적으로 논리적이고 해킹 불가능해 보이지만, 데이터는 여전히 "신뢰할 수 없는 컴퓨터"와 에어갭 하드웨어 서명 장치 사이에 전달됩니다.
단지 USB 케이블이 아닌 microSD 카드를 사용하고, 전송 매개체로 사용자가 그 역할을 할 뿐입니다. 중요한 것은 하드웨어 서명 장치의 보안은 데이터가 어떻게 전송되는지가 아니라, 전송된 데이터의 무결성을 점검하고 데이터를 안전하게 처리하는지에 달려 있다는 점입니다.
감염된 컴퓨터에서 microSD 카드로 옮긴 데이터에도 악성 데이터가 포함될 수 있습니다. 에어갭 하드웨어 서명 장치도 전달받은 데이터를 검증하고 안전하게 처리해야 합니다. 전송 방식만으로 안전성을 판단할 수는 없으며, 어떤 데이터를 받았고 이를 어떻게 검증하는지가 중요합니다.
하드웨어 서명 장치에 데이터를 전송하는 다양한 방법이 있습니다:
- USB 케이블: 전통적인 데이터 전송 방법
- USB 드라이브 / microSD 카드: microSD 카드를 이용한 데이터 전송
- NFC: 근거리 무선통신을 이용한 데이터 전송
- QR 코드: 데이터를 QR 코드로 인코딩하여 하드웨어 서명 장치가 이를 촬영
- 블루투스: 휴대폰 서명 장치에서 인기 있는 블루투스 표준을 이용한 데이터 전송
QR 코드, microSD 카드 또는 더 일반적인 USB 연결을 통해 데이터를 하드웨어 서명 장치로 전송하는 경우에도 여전히 데이터는 양방향으로 이동합니다. 컴퓨터가 감염되어 소프트웨어 서명 장치를 장악한 사람이 있다면, 악성으로 생성된 거래 데이터가 하드웨어 서명 장치로 전송되는 방법은 중요하지 않습니다.
중요한 것은 하드웨어 서명 장치가 데이터를 어떻게 받아 검증하고 처리하는지입니다. 제대로 수행되지 않으면 에어갭 하드웨어 서명 장치도 해킹될 수 있습니다. 따라서 "에어갭"이라고 해서 완벽하게 해킹 불가하다고 생각해서는 안 됩니다.
다른 보안 유형과 마찬가지로, 에어갭 서명 장치를 사용하는 것만으로 비트코인 보관이 "해킹 불가"가 되지는 않습니다. 원저자는 2010년 이란의 우라늄 농축 시설을 겨냥한 스턱스넷 악성 코드를 에어갭 환경의 공격 사례로 듭니다.
에어갭 서명 장치가 실제로 보안을 강화하는 방법
우리가 제시하는 엄격한 에어갭 운영 기준을 충족하려면, 소프트웨어 서명 장치와 컴퓨터가 있는 위치와 완전히 별개의 위치에서 사용이 가능해야 합니다.
예를 들어 하드웨어 서명 장치가 파라데이 백에 보관되고, 금고에 잠기며, 집 안의 더 튼튼하고 잠긴 문 뒤에 숨겨진 공간에 있어야 합니다. 방에는 창문도 없고, 카메라도 없으며, 다른 컴퓨터도 없습니다. 하드웨어 서명 장치는 이 높은 보안 지역에서만 유지되며 절대 그 외부로 이동하지 않습니다.
초기 설정, 키 생성·가져오기·복원, 수신 주소 표시, 거래 서명, 펌웨어 업그레이드 등을 모두 이 높은 보안 지역 안에서 수행할 수 있어야 합니다.
USB 없음
USB는 오래된 표준으로, 복잡성으로 인해 많은 시간과 기술, 비용이 필요합니다. 이를 적절히 테스트하고 안전하게 유지하는 것이 어렵기 때문에, 제조업체에는 USB 통신을 안전하게 구현하고 검증하는 부담이 있습니다.
원저자는 USB 통신의 보호 수단으로 종단간 암호화(E2EE)를 강조합니다.
USB는 하드웨어 서명 장치의 정보(ID)를 노출시킬 수도 있습니다. 컴퓨터가 Ledger 1234를 연결했다고 인식하면, 공격자도 이를 알게 되어 서명 장치 소유자에게 피해를 입힐 수 있습니다.
QR 코드, NFC, 블루투스 없음
QR 코드는 카메라 하드웨어 및 소프트웨어 라이브러리가 필요합니다.
NFC와 블루투스 역시 보안 위험을 초래하는 추가 장치 및 프로토콜이 필요합니다. 원저자는 NFCdrip을 데이터 유출 경로의 사례로 듭니다.
블루투스는 라이브러리 의존성이 추가되고 보안 위험을 증가시키는 블루투스 장치가 원거리에서 데이터를 방송할 수 있습니다.
물리적 보안
에어갭 하드웨어 서명 장치가 가장 큰 이점을 제공하는 부분은 추가 물리적 보안입니다.
하드웨어 서명 장치가 보안이 낮은 구역에서 계속 이동하면 더 많이 노출되고 정보가 유출될 위험이 커집니다. 예를 들어 서명 장치를 책상에 두거나, 누군가 창문을 통해 사용하는 모습을 보거나, 감염된 웹캠이 이를 포착하거나, 이동 중에 서명 장치를 분실할 수도 있습니다. 나쁜 가능성은 무수히 많습니다.
완전한 에어갭은 하드웨어 서명 장치가 높은 보안 구역을 벗어나지 않게 하여 보안 위험을 줄일 수 있습니다. 이는 수백만 또는 수십억 원의 자산을 관리하는 기업이나 개인이 은행급 보안 시설, 무장 경비, 봉인된 금고 등에서 하드웨어 서명 장치를 관리하게 하여 더 높은 보안성을 제공합니다.
에어갭 서명 장치가 보안을 약화시키는 이유
보안은 결코 완벽하지 않으며, 에어갭 서명 장치에도 보안을 약화시키는 요소가 존재합니다.
잘못된 보안감
완전한 에어갭 기능을 구현하지 못한 하드웨어 서명 장치를 에어갭이라고 홍보하면 사용자가 기기를 100% 안전하다고 착각할 수 있습니다.
주로 마케팅 부서가 “에어갭”의 의미를 제대로 설명하지 않고 과장하여 제품을 홍보하는 것이 문제입니다. 예를 들어, 하드웨어 서명 장치를 인터넷에 연결된 컴퓨터에 계속 플러그를 꽂아 펌웨어를 업데이트하거나 블루투스를 통해 거래를 서명해야 하는 경우, 이를 에어갭 하드웨어 서명 장치로 볼 수는 없습니다. 그러나 이러한 방식으로 광고되는 경우가 많습니다.
기술적으로 익숙하지 않은 사람들은 이러한 광고를 보고 자신이 안전하다고 생각하다가, 휴대폰이 감염되었을 때 하드웨어 서명 장치가 올바르게 유효성을 검사하지 못하여 자금을 모두 잃는 상황을 맞이할 수 있습니다.
안티-클레프토(반-절도) 보호 부족
안티-클레프토(anti-klepto)는 악성 서명 장치가 서명에 비밀키 정보를 숨겨 유출하는 공격을 막기 위한 프로토콜입니다. BitBox의 기술 설명처럼 컴퓨터와 서명 장치가 추가로 데이터를 주고받아 서명에 쓰이는 난수 생성에 함께 참여합니다.
이로 인해 이미 느린 작업 절차가 더 복잡해집니다. 원저자는 2024년 1월 당시 에어갭 하드웨어 서명 장치에서 이를 구현한 제품이 없다고 평가했습니다. USB로 연결된 경우, 하드웨어 서명 장치와 소프트웨어 서명 장치가 원활하게 상호 작용하여 이 프로토콜을 따를 수 있습니다. 예를 들어 BitBox02는 이러한 보호 기능을 제공하지만, 다른 많은 서명 장치는 그렇지 않습니다.
낮은 사용성
에어갭 서명 장치는 기본적으로 추가적인 단계들이 필요해 사용성을 낮춥니다. 이로 인해 사용자 오류가 발생할 가능성이 있습니다. 아무리 주의하더라도 우리는 모두 인간이며 주의 부족, 게으름 또는 단순히 귀찮음으로 인해 단계가 누락되거나 잘못 수행될 수 있습니다.
보안은 복잡성과 반비례하는 경우가 많으며, 더 많은 단계와 더 많은 microSD 카드를 사용하면 특히 기술에 익숙하지 않은 사용자에게 실수와 자금 손실의 위험이 커집니다.
예를 들어, 에어갭 하드웨어 서명 장치와 데이터 전송에 사용하는 microSD 카드에 개인 이름과 주소가 포함된 개인 문서를 저장하다가 이를 잃어버릴 경우, 공격자는 서명 장치 정보와 주소를 알게 될 수 있습니다.
이 상황이 웃길 수도 있지만, 많은 사람들이 여전히 모니터에 암호를 적어 놓는 포스트잇을 사용합니다. 사람들은 완벽하지 않습니다. USB 연결이 몇 가지 방식으로 덜 안전할 수 있지만, 단순한 클릭만으로 여러 단계를 줄일 수 있어 오히려 더 안전할 수도 있습니다.
아테나 평가
대다수 사용자에게는 서명 장치가 에어갭 기능을 지원하느냐 여부가 큰 차이를 만들지 않을 가능성이 큽니다. 오히려 소스 코드를 검토할 수 있는지, 적절한 시드 생성 및 저장을 지원하는지와 같은 요소가 더 중요합니다. 우리가 선정한 상위 서명 장치들은 이러한 핵심 기능과 그 이상을 제공하여 대부분의 사용자에게 훌륭한 선택이 됩니다.
결국, 우리는 평생 은행 금고 안에 잠긴 상태에서도 모든 주요 기능을 수행할 수 있는 하드웨어 서명 장치가 USB 연결이 필요한 서명 장치보다 더 안전하다고 판단하지만, USB 전용 BitBox02와 같은 서명 장치가 나쁜 하드웨어 서명 장치라는 뜻은 아닙니다.
또한 하드웨어 서명 장치 제조업체가 제품이 "에어갭"이라고 주장한다고 해서 반드시 해킹 불가하거나 완전한 에어갭 장치가 되는 것은 아닙니다. 에어갭 서명 장치의 제대로 된 사용을 원하는 몇몇 사용자에게는 아래와 같은 조건을 충족해야 한다고 추천합니다:
- 파라데이 백에 보관하고 금고에 잠그며 집 안의 잠긴 공간에 보관하는 등, 고보안 구역에서 평생 보관 및 운영할 수 있는 서명 장치여야 합니다. 보안 카메라, 경비원, 잠금장치 및 강철 구조물이 많을수록 좋습니다.
- 장치를 높은 보안 구역에 두고 외부로 반출하지 않아야 합니다.
- microSD 카드를 통해 연결 없이 모든 기능을 수행할 수 있어야 합니다.
- 마이크로SD 카드를 통해 제공된 정보(거스름돈 주소, 펌웨어 키, 수신 주소 등)를 올바르게 확인하고 검증할 수 있어야 합니다.
- 잘 알려진 브랜드의 무작위로 구입한 microSD 카드만 사용하고, 다른 용도로 사용하지 않아야 합니다.
- 우리의 평가 방법론에 기재된 보안 및 프라이버시 테스트 기준을 최대한 많이 충족해야 합니다.
위에서 보듯이, 제대로 된 에어갭 운영은 광고에서 주장하는 것보다 훨씬 더 복잡합니다. 이러한 불편함이 보안을 높이긴 하지만, 위와 같은 방식으로 운영할 계획이 없다면 에어갭이 필요하지 않을 수도 있습니다. 그래도 괜찮습니다.
우리는 좋은 하드웨어 서명 장치는 사용자의 필요에 따라 점차 이러한 운영 모드를 지원할 수 있어야 한다고 믿습니다. 하지만 에어갭이 없다고 해서 나쁜 장치가 되는 것은 아니며, 같은 물리적 보안 조건에서 에어갭 운영이 추가 보호층을 제공한다는 것이 우리의 평가입니다.
보안은 개인 키를 보호하기 위한 여러 보호층을 만드는 것입니다. 하나의 보호벽이 무너져도, 대기하고 있는 다른 10개의 보호벽이 있어야 합니다. 에어갭 모드로 운영하는 것은 이러한 방어층 중 하나가 될 수 있지만, 다른 9개의 방어층도 갖추지 않으면 에어갭이 있더라도 위험에 처할 수 있습니다!
편집자 정리: 에어갭 외에도 본문에서 강조한 올바른 시드 생성·보관과 데이터 검증을 함께 살펴야 합니다. 사용 절차가 복잡해 중요한 단계를 놓치지 않도록, 자신에게 맞는 사용 편의성도 고려해야 합니다.