이 가이드에서 다루는 내용
위협을 생각하기
위협 모델 없이 하는 보안은 추측에 가깝습니다. 대책을 선택하기 전에 무엇으로부터 보호하는지 이해해야 합니다.
세 가지 손실 범주
1. 접근을 잃는다. 키가 파괴되거나 잊혀지거나 접근할 수 없게 됩니다. 당신을 포함해 누구도 비트코인을 사용할 수 없습니다.
2. 다른 사람이 접근을 얻는다. 공격자가 해킹, 도난, 기만으로 키를 얻습니다. 당신이 막기 전에 비트코인을 사용합니다.
3. 강요당한다. 물리적 위협, 법적 강제, 조작으로 비트코인 전송을 강요받습니다.
서로 다른 대책은 서로 다른 범주를 보호합니다. 강철 백업은 화재(범주 1)에는 강하지만, 도둑이 찾는 경우(범주 2)에는 약합니다. 복잡한 패스프레이즈는 도난을 막지만 잊어버릴 위험(범주 1)을 만듭니다.
상황에 맞는 보안
위협 모델은 다음에 따라 달라집니다:
- 보유 금액. 금액이 클수록 더 높은 복잡성이 정당화됩니다.
- 기술 역량. 정교한 구성은 올바르게 운영할 수 있을 때만 안전합니다.
- 물리적 환경. 안전한 보관 장소가 있나요? 자주 이동하나요?
- 사회적 환경. 누가 비트코인을 보유한다는 사실을 알고 있나요?
- 시간 범위. 10년을 위한 보안은 한 달을 위한 보안과 다릅니다.
보편적인 최선의 구성은 없습니다. 자신의 상황에 적합한 구성만 있습니다.
기본적으로는 생각보다 단순하게 시작하고, 유지할 수 있을 때만 구조를 추가하세요:
- 배우는 단계라면, 정교한 기능보다 명확한 백업과 복구를 우선합니다.
- 금액이 의미 있다면, 단일 실패 지점을 제거합니다(멀티시그나 협업 커스터디가 일반적).
- 상속인이 관련된다면, 비밀성뿐 아니라 실행 가능성을 중심으로 설계합니다.
보안과 사용성의 트레이드오프
사용하기 어려운 보안 대책은 실패하기 쉽습니다. 절차를 잊고, 지름길을 택하며, 압박 속에서 실수합니다.
목표는 최대 보안이 아닙니다. 실제로 유지할 수 있는 최대 보안입니다. 올바르게 사용하는 단순한 구성이, 회피하거나 실패하는 복잡한 구성보다 안전합니다.
핵심 용어
- 개인 키: 비트코인 지출을 승인하는 비밀입니다. 키를 가진 누구나 비트코인을 이동할 수 있습니다.
- 시드 문구(복구 문구): 지갑을 복구할 수 있는 단어 목록입니다. 마스터 키처럼 다루세요.
- 하드웨어 지갑: 키를 일반 컴퓨터에 노출하지 않고 거래에 서명하는 장치입니다.
- 멀티시그: 여러 키가 있어야 거래를 승인하는 지갑(예: 2-of-3). 멀티시그 참조.
- 2FA: 추가 로그인 요소. 인증 앱이나 하드웨어 키를 사용하고, 고액 계정에서는 SMS를 피하세요.
키 관리의 기본
비트코인 보안은 키 관리에 달려 있습니다. 개인 키를 어떻게 생성하고, 저장하고, 백업하고, 사용하는지입니다.
지갑 인터페이스와 자산을 분리하세요. 지갑 앱은 도구이며, 통제는 키에 있습니다.
시드 문구
대부분의 지갑은 시드 문구를 사용합니다. 12개 또는 24개 단어로 개인 키를 인코딩합니다. 이 문구를 가진 누구나 비트코인을 사용할 수 있습니다.
생성이 중요합니다. 시드 문구는 신뢰할 수 있는 소프트웨어나 하드웨어에서 적절한 난수로 생성되어야 합니다. 다른 사람이 준 시드 문구를 사용하지 마세요. 스스로 만든 패턴으로 생성하지 마세요.
물리적 백업은 필수입니다. 종이에 적거나 금속에 각인하세요. 해킹될 수 있는 디지털 저장은 피하세요.
보관 위치가 중요합니다. 집에 둔 백업은 집이 불타면 쓸모가 없습니다. 은행 금고의 백업은 위기 상황에서 접근이 불가능할 수 있습니다.
패스프레이즈
패스프레이즈(종종 “25번째 단어”)는 추가 비밀을 더합니다. 패스프레이즈가 있으면 시드 문구가 발견되어도 비트코인에 접근할 수 없습니다.
대신, 패스프레이즈를 잊으면 비트코인은 사라집니다. 강한 기억 습관이나 안전한 보관이 가능한 사람에게 적합하며, 잊기 쉬운 사람에게는 위험합니다.
백업의 역설
백업은 분실에 대한 안전성을 높이지만 도난 위험을 증가시킵니다. 복사본이 많을수록 공격자가 찾을 수 있는 장소가 늘고, 적을수록 총손실 위험이 커집니다.
올바른 개수는 위협 모델에 달려 있습니다. 물리적 재난과 도난 중 무엇이 더 가능성이 높은가? 위치를 얼마나 신뢰할 수 있는가?
콜드 스토리지와 하드웨어 지갑
콜드 스토리지는 인터넷에 연결되지 않는 장치에 키를 보관하는 것을 의미합니다. 이는 가장 큰 공격 범주인 원격 해킹을 제거합니다.
콜드 스토리지가 효과적인 이유
대부분의 비트코인 도난은 원격에서 발생합니다. 공격자는 악성코드, 피싱, 취약점으로 컴퓨터를 침해합니다. 지갑 파일과 시드 문구를 찾고, 핫 지갑이 열리는 순간을 기다립니다.
콜드 스토리지는 원격 공격 경로의 대부분을 제거합니다. 키가 인터넷 연결 장치에 닿지 않으면 원격 공격자는 이를 직접 추출할 수 없습니다.
하드웨어 지갑
하드웨어 지갑은 콜드 스토리지용 전용 장치입니다. 안전한 칩에 키를 보관하고, 컴퓨터에 키를 노출하지 않고 거래에 서명합니다.
- 제조사에서 직접 구매하세요. 제3자 유통 제품은 조작될 수 있습니다.
- 정품 여부를 확인하세요. 대부분의 제조사가 검증 절차를 제공합니다.
- 펌웨어를 최신으로 유지하세요. 취약점은 발견되고 패치됩니다.
- 서명 내용을 확인하세요. 수신 주소와 금액은 컴퓨터가 아니라 장치 화면에서 확인합니다.
하드웨어 지갑은 완벽하지 않습니다. 분실, 도난, 고장이 발생할 수 있습니다. 하나의 층일 뿐, 완전한 해결책은 아닙니다.
운영상의 과제
콜드 스토리지는 주변 절차가 전부입니다. 시드 문구를 인터넷에 연결된 컴퓨터에 “한 번만” 입력해도 목적이 사라집니다.
간단한 규칙: 시드 문구는 오프라인에 보관하고, 서명 전에 신뢰할 수 있는 화면에서 주소와 금액을 확인하세요.
멀티시그 보안
멀티시그 구성은 거래를 승인하기 위해 여러 키를 요구합니다. 2-of-3 멀티시그는 세 개 중 두 개 키가 필요합니다.
멀티시그가 중요한 이유
멀티시그는 단일 실패 지점을 제거합니다:
- 단일 키의 유출이 치명적이지 않습니다. 한 키를 얻어도 지출할 수 없습니다.
- 한 사람이 단독으로 행동할 수 없습니다. 내부자 위험과 강요 취약성을 줄입니다.
- 키 하나를 잃어도 자금을 잃지 않습니다. 2-of-3이면 하나를 잃어도 복구할 수 있습니다.
장기 보유의 큰 금액에는 멀티시그가 단일 키 구성으로는 불가능한 보안을 제공합니다.
일반적인 구성
2-of-3이 표준입니다. 서로 다른 위치에 보관한 세 개의 키를 모두 통제하며, 그중 두 개로 지출할 수 있습니다. 단일 키 분실과 도난에 대비합니다.
3-of-5는 더 많은 중복성을 제공합니다. 두 개를 잃어도 복구할 수 있으며, 매우 큰 금액이나 조직에 적합합니다.
협업 커스터디는 제3자가 하나 이상의 키를 보유하여, 단독 통제 없이 복구 지원을 제공합니다.
멀티시그의 복잡성
멀티시그는 설정과 운영이 더 복잡합니다:
- 여러 키를 안전하게 생성하고 보관해야 합니다.
- 키뿐 아니라 지갑 구성도 보존해야 합니다.
- 지출에는 서로 다른 위치에 있는 여러 키의 조율이 필요합니다.
멀티시그 보안은 이를 정당화할 금액에 가치가 있습니다. 소액에서는 복잡성이 오히려 위험을 키울 수 있습니다.
운영 보안
기술적 대책은 운영 관행이 약하면 실패합니다. 성공한 공격 대부분은 암호학적 취약점이 아니라 인간 행동을 노립니다.
정보 보안
무엇을 공개하는지가 보안에 영향을 줍니다:
- 보유 금액을 공개하지 마세요. 알려진 사람이 적을수록 표적이 되기 어렵습니다.
- 안전한 통신. 이메일과 SMS는 안전하지 않다고 가정하세요. 민감한 대화는 암호화 메시지를 사용하세요.
- 정찰 징후 주의. 보유 자산이나 보안에 대한 이상한 질문은 경고 신호입니다.
물리적 보안
디지털 보안은 물리적 보안에 의해 제한됩니다:
- 백업을 어디에 보관하나요? 누가 접근할 수 있나요?
- 분실 또는 도난될 수 있는 장치나 백업 자료를 휴대하고 있나요?
- 침입자가 집에서 30분 동안 혼자 있을 때 접근할 수 있는 것을 고려하세요.
사회공학 방어
사회공학 공격은 사용자를 조작하여 스스로 보안을 무너뜨리게 합니다:
- 피싱. 키를 공개하거나 비트코인을 보내게 만드는 가짜 사이트/메시지.
- 사칭. 지원 담당자, 친구, 기관을 가장한 공격자.
- 긴급성 조작. 신중한 판단을 막기 위해 시간 압박을 만드는 행위.
방어에는 회의적인 태도가 필요합니다. 독립된 경로로 요청을 확인하고, 긴급한 요청에도 시간을 두고 판단하세요. 키나 시드 문구를 요구하는 사람은 공격자라고 가정해야 합니다. 합법적인 서비스는 이를 요구하지 않습니다.
일반적인 공격 벡터
공격 방식 이해는 방어 우선순위를 정하는 데 도움이 됩니다.
| 공격 | 작동 방식 | 방어 |
|---|---|---|
| 피싱 | 가짜 사이트가 시드 문구를 탈취 | 공식 출처에서만 다운로드 |
| 악성코드 | 지갑 파일 탐색, 클립보드 감시 | 하드웨어 지갑, 전용 장치 |
| SIM 스와핑 | 통신사가 번호를 공격자에게 이전 | 인증 앱, SMS 금지 |
| 물리적 도난 | 장치나 백업에 접근 | PIN, 패스프레이즈, 안전한 장소 |
| 5달러 렌치 공격 | 물리적 강요 | 보유 사실을 알리지 않기, 듀레스 지갑 |
피싱 및 가짜 소프트웨어
가장 흔한 공격은 사용자가 스스로 키를 넘기게 만드는 것입니다:
- “설정” 과정에서 시드 문구를 수집하는 가짜 지갑 사이트
- 수신 주소를 바꾸는 악성 브라우저 확장
- 계정 “확인”을 이유로 시드 문구를 요구하는 가짜 지원
- 악성코드를 포함한 손상된 소프트웨어 다운로드
방어: 공식 소스에서 다운로드하고 체크섬을 확인하세요. 웹사이트에 시드 문구를 입력하지 마세요.
악성코드
악성코드는 다음을 할 수 있습니다:
- 디지털로 저장된 지갑 파일과 시드 문구를 검색
- 클립보드를 감시해 비트코인 주소를 바꿔치기
- 비밀번호 입력 시 키 입력 기록
- 지갑이 열리면 자금을 빼내려 시도
방어: 시스템을 최신으로 유지하고 신뢰할 수 없는 출처에서 설치하지 마세요. 하드웨어 지갑을 사용하고 주소 바꿔치기를 경계하세요. 신뢰 가능한 디스플레이에서 확인하세요.
SIM 스와핑
공격자는 통신사를 설득해 번호를 자신들의 SIM으로 옮기고, SMS 복구로 계정에 접근합니다.
방어: 중요한 계정에는 SMS 2FA를 사용하지 마세요. 인증 앱이나 하드웨어 키를 사용하세요.
물리적 도난
누군가 물리적 접근을 얻는다면:
- 하드웨어 지갑을 도난당할 수 있음(PIN이 일부 보호)
- 시드 문구 백업을 사진 찍거나 복사할 수 있음
- 컴퓨터가 제대로 암호화되지 않았다면 접근 가능
방어: PIN과 패스프레이즈를 사용하고, 장치를 암호화하며, 보관 장소를 안전하게 하세요.
5달러 렌치 공격
물리적 강요로 비트코인을 넘기게 만듭니다.
가장 방어하기 어렵습니다. 가능한 완화책:
- 보유 사실을 알리지 않기(최선의 방어는 표적이 되지 않는 것)
- 듀레스 지갑(소액이 든 미끼 지갑)
- 시간 잠금 인출
- 키의 지리적 분산
커스터디 보관의 보안
커스터디를 사용한다면 보안은 일부는 그들의 관행에, 일부는 당신의 관행에 달려 있습니다.
커스터디 평가
- 핫 월렛 노출과 통제. 온라인에 얼마나 보관하며 접근을 어떻게 제한하나요?
- 멀티시그 또는 분산 제어. 여러 승인이 필요한가요?
- 보험. 어떤 보장이 있나요?
- 보안 이력. 침해된 적이 있나요? 어떻게 대응했나요?
- 투명성. 관행을 공개하나요? 독립 감사를 하나요?
계정 보안
안전한 커스터디라도 계정이 침해될 수 있습니다:
- 강력하고 고유한 비밀번호. 비밀번호 재사용 금지.
- 2단계 인증. 인증 앱이나 하드웨어 키, SMS는 피하세요.
- 출금 주소 확인. 큰 출금 전에는 여러 경로로 확인하세요.
- 활동 모니터링. 알림을 설정하세요.
- 의심하기. 커스터디에서 온 연락인지 확인하세요.
트레이드오프
커스터디 보관은 자가 보관 위험을 상대방 위험으로 바꿉니다. 키 분실의 걱정은 줄지만, 커스터디의 보안과 정직성에 의존합니다.
많은 보유자에게 답은 둘 다입니다. 통제를 위해 일부는 자가 보관, 단순함을 위해 일부는 신뢰할 수 있는 커스터디.
심층 방어 구축
심층 방어는 서로 독립적인 여러 겹의 보호를 의미합니다. 한 층이 실패해도 다른 층이 보호합니다.
계층 보안 예시
의미 있는 자가 보관 자산의 경우:
- 하드웨어 지갑: 키가 일반 컴퓨터에 닿지 않음
- 멀티시그: 여러 키가 필요하며 서로 다른 위치에 보관
- 패스프레이즈: 시드 문구를 찾는 것만으로는 부족
- 지리적 분산: 한 장소에 충분한 금액이 모이지 않음
- 운영 규율: 일관된 절차와 무지름길
공격자는 여러 층을 동시에 무너뜨려야 합니다.
단일 실패 지점 피하기
보안을 점검하세요. 단일 실패 지점은 단 하나의 실패로 손실을 초래하는 구성 요소입니다:
- 침해되면 모든 접근이 가능한 장치가 있나요?
- 접근되면 모든 백업이 노출되는 위치가 있나요?
- 침해되거나 강요되면 모두를 가져갈 수 있는 사람이 있나요?
- 잊어버리면 영구히 접근이 불가능한 정보가 있나요?
각 “예”는 해결해야 할 약점입니다.
유지보수와 문서화
보안은 시간이 지나며 약화됩니다. 하드웨어는 고장 나고, 소프트웨어는 취약점을 갖게 되며, 상황은 변합니다.
정기적으로 점검하고, 백업이 작동하는지 확인하고, 소프트웨어를 업데이트하며, 구성이 여전히 상황에 맞는지 재검토하세요.
자세한 내용을 잊어도 복구할 수 있고, 신뢰할 수 있는 사람이 도움을 줄 수 있으며, 사후에 상속인이 접근할 수 있도록 설정을 명확하게 문서화하세요.
문서는 설명하는 키와 분리해 보관하세요.
추가 읽을거리
- 커스터디를 무너뜨리는 것. 커스터디 실패의 일반적인 패턴.
- 완전 준비금 커스터디. 1:1 준비금이 커스터디 보안에 중요한 이유.
- 보안 표준. 기관 보안에 대한 우리의 접근.
- 비트코인 커스터디 가이드. 커스터디의 더 넓은 맥락.
추가 출처
- BIP32: 계층적 결정성 지갑. HD 키 파생의 핵심 표준.
- BIP39: 결정성 키 생성을 위한 니모닉 코드. 시드 문구 표준.
- Bitcoin Core 보안 권고. 책임 있는 공개와 권고.