작성자: 익명
본 문서는 K210 개발 보드를 사용하여 크럭스 서명기를 제작하는 방법과 크럭스의 특징 및 사용 경험을 간단히 소개합니다.

크럭스 서명기 소개
크럭스는 K210 칩 기반 개발 보드를 비트코인(BTC) 하드웨어 서명기로 전환할 수 있는 오픈 소스 펌웨어입니다. K210 칩은 오픈 소스 RISC-V 명령어 세트를 기반으로 설계된 칩 표준으로, 이는 크럭스 하드웨어 제작에 있어 사용자에게 상당한 선택의 폭을 제공합니다. 크럭스 설명서의 장치 페이지에는 크럭스 펌웨어를 설치할 수 있는 7개의 하드웨어가 나열되어 있습니다.
다른 자체 제작 서명기와 마찬가지로, 크럭스는 시드사이너와 제이드-DIY와 개념적으로 유사하지만, 사용 경험에서는 많은 차이점이 있습니다:
- 크럭스의 많은 하드웨어는 터치 스크린을 지원하며, 이는 시드사이너와 제이드-DIY에서는 지원되지 않습니다.
- 크럭스의 다국어 지원이 다른 두 제품보다 더 우수합니다. 크럭스는 중국어도 지원합니다.
- 크럭스는 모든 하드웨어에 카메라를 요구하며, 이는 기본적으로 카메라-디스플레이(QR 코드 스캔-표시) 기반의 에어갭 경험을 제공함을 의미합니다. 하지만 제이드-DIY의 여러 하드웨어는 카메라가 없습니다(다만, 이는 제이드-DIY가 항상 최저 제작 비용을 달성할 수 있음을 의미하기도 합니다).
- 크럭스는 키 저장에 더 많은 선택지를 제공합니다. 이 부분은 후에 자세히 다루겠습니다.
전반적으로, 터치 스크린은 크럭스의 사용 경험에서 특별한 점입니다. 또한, 사용하는 여러 하드웨어가 간단한 케이스를 자체적으로 제공하여 조립이 더 편리하며(시드사이너처럼 불가피하게 3D 프린트 케이스를 사용할 필요가 없음), 가격 면에서도 더 저렴한 선택지가 있습니다.
주제 전환
"언어" 메뉴와 같은 수준의 메뉴에 "인터페이스" 옵션이 있어 인터페이스의 색상 테마를 선택할 수 있습니다. 선택 가능한 테마는 5가지입니다.
(펌웨어 계층) 보안 특성
"언어" 메뉴와 같은 수준의 메뉴에 "보안" 옵션이 있어 펌웨어 수준의 보안 특성과 관련된 옵션을 포함하고 있습니다. 전체 설명은 이 페이지에서 확인할 수 있으며, 여기서는 두 가지 핵심 특성을 간단히 소개합니다:
- 니모닉 단어 숨기기. 이 기능을 활성화하면 사용자가 가져온 시드 단어(니모닉 단어)에 대해 Krux는 시드 단어/개인 키의 모습을 표시하지 않고 백업 도구도 표시하지 않습니다.
- 변조 방지 체크섬/부팅 시 TC 플래시 해시. 이 두 기능은 서로 연계되어 있으며, 장치의 Krux 펌웨어 변조를 방지하는 역할을 합니다. 사용자는 먼저 "변조 방지 체크섬"을 설정한 후, 장치는 사용자에게 카메라로 사진을 찍어 충분한 임의의 데이터를 생성하여 저장 공간을 채우도록 요구합니다. 그런 다음 해당 체크섬은 전체 저장 공간을 해시하는 데 사용되며, TC 플래시 해시 기능으로 저장 공간의 변조 여부를 확인합니다.
- "부팅 시 TC 플래시 해시"는 장치가 부팅할 때마다 이러한 변조 검사를 수행할지 여부와 관련됩니다.
- 단, 변조 방지 체크섬은 다른 사람이 장치를 사용하는 것을 막을 수 있지만, USB를 통한 저장 공간 접근이나 플래싱을 방지할 수는 없습니다. 즉, 자신이 이 기능을 활성화했는지 반드시 기억해야 합니다. 만약 활성화했는데 장치 부팅 시 체크섬 입력을 요구하지 않거나 잘못된 체크섬을 입력해도 작동에 영향을 주지 않는다면, 장치가 전체적으로 변조되어 체크섬이 취소된 것입니다.
시드 단어 생성
Krux는 시드 단어를 생성하는 네 가지 방법을 제공합니다(흥미롭게도, 이들은 모두 장치 자체의 엔트로피 소스를 사용하지 않습니다):
- "카메라를 통해". 사진 촬영으로 엔트로피 소스를 얻습니다.
- "단어를 통해". 주의: 이 방법의 올바른 사용법은 다음과 같습니다. BIP39 단어 목록을 인쇄하고, 한 줄씩 잘라(동일한 길이로) 항아리(상자)에 균일하게 섞은 후 11개/23개의 단어를 선택합니다(자세한 과정은 이 웹사이트 참조). 필요한 수의 단어를 얻은 후 이 기능을 사용하여 하나씩 입력하면 Krux가 유효한 마지막 단어를 생성해 줍니다.
- 위의 무작위성 생성 절차를 절대로 우회하지 말고, 자신의 느낌으로 11개 단어를 입력하면 안 됩니다. 이는 안전하지 않습니다.
- "D6를 통해". 6면 주사위를 사용하여 시드 단어를 생성합니다. 결과가 나올 때마다 한 번 입력합니다. 화면에 생성 진행 상황이 표시됩니다. 12개 단어의 시드 단어를 생성하려면 최소 50번 던져야 합니다(매우 가치 있는 작업입니다!).
- "D20를 통해". 20면 주사위를 사용하여 시드 단어를 생성합니다.
시드 단어의 암호화 저장
Krux는 패스프레이즈 사용을 지원하며, SD 카드나 장치 플래시 메모리에 시드 단어를 암호화하여 저장하거나 QR 코드로 인쇄할 수 있습니다. 이러한 기능을 사용할 때는 매우 신중해야 하며 백업 문제를 충분히 고려해야 합니다.
시드 단어 생성/가져오기 후 메뉴
시드 단어를 생성하거나 가져온 후 다음 네 가지 인터페이스 중 하나를 만날 수 있습니다(확실히 혼란스러울 수 있습니다):
- "지갑 로드", "패스프레이즈", "사용자 정의", "돌아가기" 옵션을 포함하는 메뉴(이하 인터페이스 1로 지칭)
- "시드 단어 백업", "확장 공개 키", "지갑", "주소", "서명", "재시작"(장치 재부팅) 옵션을 포함하는 메뉴(인터페이스 2)
- "지갑 설명", "패스프레이즈", "사용자 정의", "돌아가기" 옵션을 포함하는 메뉴(이하 인터페이스 3으로 지칭)
- "네트워크", "정책 유형", "스크립트 유형", "계정" 옵션을 포함하는 메뉴(이하 인터페이스 4로 지칭)
새 시드 단어를 생성하면 인터페이스 순서는 1에서 4로 진행될 수 있으며, 시드 단어를 가져오면 반대 순서(4에서 1)로 진행됩니다. 구체적으로:
- 인터페이스 1에서 "지갑 로드"를 선택하면 인터페이스 2로 이동합니다.
- 인터페이스 2에서 "지갑"을 선택하면 인터페이스 3으로 이동합니다.
- 어떤 인터페이스에서든 "사용자 정의"를 선택하면 인터페이스 4로 이동합니다.
하지만 이러한 옵션의 기능을 이해하면 사용 순서를 쉽게 파악할 수 있습니다:
- 인터페이스 2에는 지갑의 기본 기능(예: 확장 공개 키 내보내기, 주소 보기 및 서명)이 포함되어 있습니다.
- 인터페이스 3의 "지갑 설명"은 "지갑 설명자(descriptor)"를 가져와 해당 지갑에서 사용하는 구체적인 스크립트를 설명합니다. 인터페이스 4와 일부 대체 관계가 있습니다.
- 인터페이스 4에 포함된 설정은 시드/지갑 사용 환경에 대한 세부 설정입니다. 예를 들어, 테스트넷에서 다중 서명 지갑을 사용하려면 "네트워크"와 "정책 유형"에서 설정해야 합니다. 마찬가지로 "정책 유형"에서 "Single-sig(단일 서명)"를 선택한 후 "스크립트 유형"(P2PKH 또는 P2WPKH)을 조정할 수 있습니다.
요약하면:
- 패스프레이즈를 설정한 경우 최대한 빨리 가져와야 합니다.
- 인터페이스 3과 인터페이스 4의 설정은 실제 사용 요구에 따라 보완해야 합니다. 더 포괄적인 정보는 사용에 도움이 될 것입니다(예: 장치에서 전송되는 공개 키 정보를 더 정확하게 만들고, 소프트웨어 지갑에서 스캔한 정보를 올바르게 표시할 수 있습니다).
(끝)


