에어갭 지갑 보안
에어갭 지갑이란 무엇이고, 보안을 강화하려면 어떤 것을 고려해야 할 것인지 정리했습니다.
이 글은 약간 논란을 일으킬 수도 있습니다. 많은 사람들이 에어갭 지갑을 사용하면 설정이 매우 안전하고 해킹에 거의 무적이라고 생각하는데, 사실 그렇지 않기 때문입니다.
사람들이 보안에서 실패하는 가장 흔한 이유 중 하나는 어떤 것이 안전하다고 생각하는 것... 그러나 실제로는 그렇지 않은 경우입니다. 오늘 우리는 에어갭 하드웨어 지갑이 무엇인지 설명하고, 하드웨어 지갑 공급업체들이 광고하는 종종 부정확하거나 오해를 불러일으키는 마케팅을 파헤쳐 여러분이 보호받을 수 있도록 하겠습니다.
에어갭이란 무엇인가?
에어갭 장치는 외부 네트워크에 연결된 유/무선 네트워크 인터페이스가 없는 장치입니다.
많은 컴퓨터가 유선 네트워크에 연결되지 않더라도 무선 네트워크 인터페이스 컨트롤러(예: WiFi)가 있어 인터넷에 연결되어 소프트웨어를 업데이트합니다. 이는 보안 취약점을 나타내므로 에어갭 컴퓨터는 무선 인터페이스 컨트롤러가 영구적으로 비활성화되거나 물리적으로 제거됩니다. (출처: Wikipedia)
데이터를 USB 케이블이나 Wi-Fi를 통해 전송하는 대신, 데이터를 microSD 카드, USB 플래시 드라이브, HDD 등에 직접 기록하고 에어갭 장치로 물리적으로 이동시켜야 합니다.
이렇게 하는 이유는 장치 사이에 물리적 격차(에어갭)를 만들어 모든 데이터 흐름을 완전히 통제하기 위함입니다. 데이터는 데이터를 물리적으로 이동시키는 사람이 승인받았고, 적절히 검토된 경우에만 전송됩니다.
사무실에서 직원 컴퓨터와 보안이 잘 보호된 서버 같은 전통적인 IT 환경에서는 외부 해커가 민감한 데이터를 탈취하지 못하도록 이러한 보안 조치가 최상위로 여겨집니다.
에어갭 컴퓨터는 일반 직원이 있는 낮은 보안 지역(사무실)과 엄격하게 잠긴 서버룸 등 높은 보안 지역을 구분해 보안 강화를 위해 추가적으로 더 많은 잠금 장치와 보안 요원을 두어 접근을 제한하는 경우가 많습니다.
에어갭 지갑이란?
에어갭의 개념을 이해한 후, 이를 하드웨어 지갑의 세계에서 어떻게 사용하는지 살펴보겠습니다.
암호화폐 지갑의 세계에서 에어갭 지갑은 보통 인터넷과 같은 네트워크나 컴퓨터에 완전히 연결되지 않은 지갑을 말합니다. 이 지갑은 컴퓨터에 연결되지 않으며, 대신 microSD 카드를 주고받거나 QR 코드를 스캔하는 방식으로 통신합니다.
에어갭 거래 서명을 지원하는 하드웨어 지갑의 대표적인 예는 COLDCARD Mk4입니다. 중요한 점은 에어갭 지갑이라고 주장하는 많은 하드웨어 지갑들이 여전히 가끔 인터넷에 연결된 컴퓨터에 플러그를 꽂아야 한다는 것입니다.
비트코인 보안 가이드에서 설명한 바와 같이, 보안 위험을 방지하는 최선의 방법은 해당 위험을 완전히 제거하는 것입니다. 하지만 에어갭 지갑을 사용한다고 해킹 위험이 완전히 사라지지 않습니다. 사실 잘못 구현되면 보안을 악화시킬 수 있습니다.
비트코인을 보내기 위해 에어갭 지갑을 어떻게 사용하는가?
하드웨어 지갑이 인터넷이나 다른 컴퓨터와 완전히 분리되어 있어도, 비트코인을 쓰려면 하드웨어 지갑과 컴퓨터 간에 데이터가 오가야 합니다. 이는 하드웨어 지갑이 거래를 서명하고 비트코인을 소유하고 있음을 증명하는 역할을 하기 때문입니다.
대부분의 에어갭 암호화폐 지갑이 비트코인 거래를 생성하고 전파하는 과정은 다음과 같습니다:
- 거래 생성: 컴퓨터가 BIP174로 정의된 미서명 비트코인 거래(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를 사용하는 하드웨어 지갑을 안전하게 사용할 수 없습니다.
데이터 전송 시 종단간 암호화(E2EE)를 사용하는 것이 중요합니다. E2EE가 없으면 프로그램이나 웹사이트가 USB를 통해 전송되는 데이터를 보고 실시간으로 변경할 수 있습니다.
USB는 하드웨어 지갑의 정보(ID)를 노출시킬 수도 있습니다. 컴퓨터가 Ledger 1234를 연결했다고 인식하면, 공격자도 이를 알게 되어 지갑 소유자에게 피해를 입힐 수 있습니다.
QR 코드, NFC, 블루투스 없음
QR 코드는 카메라 하드웨어 및 소프트웨어 라이브러리가 필요합니다.
NFC와 블루투스 역시 보안 위험을 초래하는 추가 장치 및 프로토콜이 필요합니다. 특히 NFCdrip이라는 취약점을 통해 NFC는 예기치 않게 최대 100미터까지 데이터를 전송할 수 있습니다.
블루투스는 라이브러리 의존성이 추가되고 보안 위험을 증가시키는 블루투스 장치가 원거리에서 데이터를 방송할 수 있습니다.