492 / 691CK-RNG

COLDCARD RNG Incident (2026)

COLDCARD 지갑의 난수 생성 사고

공개된 통합 오류로 시드 생성이 의도한 하드웨어 소스 대신 예측 가능한 소프트웨어 생성기로 연결됐습니다. 수정 펌웨어는 앞으로의 생성을 바꾸지만, 기존에 영향을 받은 시드는 별도 평가와 최신 지침에 따른 이전이 필요합니다.

COLDCARD RNG Incident (2026)은 2026년 7월 공개된 비밀값 생성 결함과 그 시정을 뜻합니다. 시드 생성 당시 모델, 펌웨어 계열과 버전, 시드의 출처 및 독립적인 엔트로피가 중요합니다. 장치 원격 탈취나 Bitcoin 합의 결함은 아니었습니다.

손실 보고 이후 Coinkite와 Block은 2026년 7월 30일 초기 분석을 공개했습니다. 제조사가 설명하는 것은 공격자가 약한 개인키를 오프라인에서 도출한 것으로, 장치를 원격 조종한 것이 아닙니다. 지갑 브랜드만으로 개별 손실의 원인을 확정할 수 없습니다. 기술 기록과 후속 지침은 각각의 개정 날짜와 함께 읽어야 합니다. [Coinkite — COLDCARD Security Advisory] [Block — Predictable RNG Fallback and 32-Bit Reseed]

libNgU로 전환한 뒤 ngu.random.bytes 호출이 MicroPython의 rng_get과 Yasmarang 생성기에 도달했습니다. MICROPY_HW_ENABLE_RNG 값은 0이었지만 #ifndef는 매크로의 존재만 확인했으며 하드웨어 경로 활성화 여부를 검사하지 않았습니다. 의도한 TRNG 코드가 바이너리에 있어도 시드 생성에서 사용되지 않을 수 있었습니다. 실행 중 하드웨어 고장 때문에 비상 fallback이 작동한 것은 아닙니다. [Coinkite — Technical Deep Dive into the Entropy Issue]

소프트웨어 상태는 장치 데이터, 타이머 및 호출 이력에서 나왔습니다. Mk4, Mk5, Q에 대해 Block은 추가 reseed가 32비트로 제한되어 나머지 상태가 고정되면 구별되는 스트림이 최대 2^32개라고 설명합니다. Coinkite는 Mk2/Mk3 약 40비트, 신형 모델 약 72비트라는 잠정적 전체 추정을 제시했습니다. 이 수치는 전제가 다르므로 보편적인 공격 비용이나 모든 지갑을 즉시 깰 수 있다는 결론을 낼 수 없습니다. [Block — Predictable RNG Fallback and 32-Bit Reseed] [Coinkite — Technical Deep Dive into the Entropy Issue]

공식 지침은 Mk2/Mk3 4.0.1–4.1.9를 명시합니다. Block의 초기 분석은 이미 4.0.0과 2021년 3월 변경을 포함하며, 이 기록 차이를 명시적으로 남깁니다. 시드 출처가 불명확하면 이전 가이드는 신중한 이전 절차를 권고합니다. Mk4/Mk5와 Q도 해당 계열의 수정 전에는 영향을 받았습니다. 첫 분석의 모든 양산 버전이라는 옛 표현은 현재 수정 릴리스를 설명하지 않습니다. [Coinkite — COLDCARD Security Advisory] [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]

최소 수정 버전은 Mk2/Mk3 4.2.0, Mk4/Mk5 Standard 5.6.0, Q Standard 1.5.0Q, Mk4/Mk5 Edge 6.6.0X, Q Edge 6.6.0QX입니다. 서로 다른 계열의 버전 번호를 하나의 수열로 비교하면 안 됩니다. 이번 검토 시점의 상태 페이지는 Mk4/Mk5에 Standard 5.6.2, Q에 1.5.2Q를 권장합니다. 설치 전 최신 공식 페이지와 릴리스 해시 및 서명을 확인해야 하며, 다른 계열의 더 큰 번호만으로는 충분하지 않습니다. [COLDCARD — Current Security Status]

결정적 해싱은 출력 모양을 바꿀 수 있지만 가능한 입력 집합을 늘리지 못합니다. BIP39 Checksum 역시 부족한 엔트로피를 추가하지 않습니다. 외부에서 안전하게 만든 시드는 COLDCARD로 가져왔다는 이유만으로 이 사고의 취약성을 갖게 되지 않습니다. 반대로 영향을 받은 시드는 다른 장치에 복원해도 그대로이며, 업데이트·복제·전송 기능이 새 시드를 만들지는 않습니다. [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]

제조사의 예외는 원래 Add Dice Rolls 절차에서 공정하고 독립적이며 비공개인 주사위 결과를 최소 50회 입력하고, 추가 후 표시된 최종 단어를 사용한 경우입니다. 횟수가 적거나 불확실하면 이전을 권고합니다. 강하고 고유한 BIP39 Passphrase는 장벽을 추가하지만 약한 시드를 고치지 않으며, 제조사는 그 사용자에게도 이전을 권고합니다. PIN은 passphrase가 아닙니다. 현재 새 시드 생성 요구 사항과 이 과거 예외를 구분해야 합니다. [Coinkite — COLDCARD Security Advisory]

현재 가이드는 백업 검증, 적절한 수정 설치, 실제로 새로운 시드 생성, 장치에서 fingerprint와 수신 주소 확인, 소액 테스트 거래로 이어집니다. 새 목적지를 확인한 뒤에만 나머지 자금을 옮깁니다. 이전이 완전히 확인될 때까지 옛 백업을 보관하고 자금이 있는 모든 계정, passphrase 지갑, 파생 자식 지갑, multisig 정책을 점검해야 합니다. 불일치하면 아무것도 지우거나 보내지 말아야 하며 비밀 복구 자료는 웹 양식에 입력하지 않습니다. [COLDCARD — Seed migration guide]

Multisig는 자동 예외가 아닙니다. 충분한 서명 키가 손상되면 기존 정책의 임계값을 충족할 수 있습니다. 남은 안전한 키를 평가하고 대체 정책을 검증해야 합니다. Block은 독립적인 paper-wallet 키와 일부 임시 암호화 키처럼 같은 난수를 사용하는 다른 기능도 지적합니다. 심각도는 구체적인 프로토콜과 이용 가능한 데이터에 따라 달라지며, 모든 기능에 같은 영향이 있다는 뜻은 아닙니다. [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]

상태 페이지는 실제 Mk4의 하드웨어 RNG 테스트, 소스 검토, 특정 수정 버전의 재현 빌드를 구분합니다. 경로와 메커니즘에 한정된 검사이며 모든 바이너리의 완전한 감사나 모든 결함의 부재를 증명하지 않습니다. 현재 Standard는 사용자 엔트로피 기여도 요구하므로 항상 선택 사항이라는 옛 설명은 오해를 부릅니다. 별도의 상세 기술 사후 보고서는 여전히 준비 중으로 표시됩니다. [COLDCARD — Current Security Status]

예시 · CK-RNG

새 펌웨어지만 여전히 원래 시드

사용자가 직접 주사위를 던지지 않고 Mk3 4.1.9에서 시드를 만들었습니다. 나중에 4.2.0을 설치하고 같은 단어를 다른 장치에 복원했지만 시드 출처는 변하지 않았습니다. 이전 가이드에 따라 새롭고 안전하게 생성한 시드, 검증한 백업과 주소, 테스트 송금, 그다음 나머지 송금 순으로 시정을 평가합니다. 모든 자금이 확인될 때까지 기존 백업을 보관합니다.

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Cryptographic Entropy, Deterministic RNG, Seed Generation, BIP39 checksum, BIP39 passphrase, Dice Roll Entropy.

01펌웨어 업데이트나 새 지갑 구매만으로 충분한가요?

아닙니다. 어느 쪽도 기존 시드를 바꾸지 않습니다. 어디서 어떻게 생성했는지가 중요합니다. 영향을 받은 자금은 이전 지침과 독립적인 주사위 예외의 정확한 조건에 따라 처리해야 하며, 같은 단어를 복원하는 것만으로 문제는 사라지지 않습니다.

0232비트라는 수치는 모든 모델의 공격 난도가 같다는 뜻인가요?

아닙니다. Block 분석에서는 나머지 상태와 호출 이력이 고정된 추가 reseed의 제한입니다. 장치 데이터나 타이밍을 모르면 공격자의 작업량이 달라집니다. 이 추정은 보편적인 벤치마크도, 특정 영향받은 시드가 안전하다는 증명도 아닙니다.

DOC · 001Coinkite — Technical Deep Dive into the Entropy Issue1차 출처 ↗DOC · 002Coinkite — COLDCARD Security Advisory1차 출처 ↗DOC · 003Block — Predictable RNG Fallback and 32-Bit Reseed1차 출처 ↗DOC · 004COLDCARD — Current Security Status1차 출처 ↗DOC · 005COLDCARD — Seed migration guide문서 ↗
1차 출처 우선 · 투자 조언이 아닙니다