이 기사는 OneKey 하드웨어 지갑 장치에 설치된 펌웨어의 일관성을 GitHub의 해당 오픈 소스 코드와 인증하는 단계별 가이드를 제공합니다.
중요사항
OneKey 하드웨어 지갑에 내장된 보안 칩은 제조 시 공식 다중 서명으로 서명됩니다. 만약 하드웨어 지갑의 펌웨어가 해커에 의해 악의적으로 변조되면, 시작 시 'Unofficial Firmware Detected' 메시지가 표시됩니다.
절차
1단계: 최신 펌웨어 다운로드 및 설치
- 공식 OneKey 펌웨어 업데이트 웹사이트를 방문하십시오.
- USB 케이블을 통해 OneKey 하드웨어 지갑을 컴퓨터에 연결하십시오.
- 하드웨어 지갑 장치가 감지되면 웹사이트에 지갑 정보가 표시됩니다.
- 하드웨어 지갑 펌웨어의 최신 버전을 선택하여 다운로드하십시오.
- 웹사이트에서 제공되는 지침을 따라 펌웨어를 설치하고 OneKey 하드웨어 지갑에서 확인하십시오.
2단계: OneKey 하드웨어 지갑에서 체크섬 확인
- OneKey 하드웨어 지갑에서 "About Device 장치 정보"로 이동하십시오.
- OneKey 하드웨어 지갑 장치에서 자세한 펌웨어 정보를 찾으십시오.
- 장치 펌웨어 정보에서 펌웨어의 체크섬 첫 7자리 숫자를 확인할 수 있습니다.
- 예: 4.9.0[fccbac8-5ff2c88]
- "fccbac8"는 장치 펌웨어의 버전 ID입니다.
- "5ff2c88"는 장치 펌웨어의 체크섬 첫 7자리 숫자입니다.
3단계: GitHub 소스 코드 체크섬 계산
- OneKey 펌웨어 GitHub 릴리즈 웹사이트를 방문하십시오: https://github.com/OneKeyHQ/firmware/releases
- 체크섬을 계산하려는 펌웨어 버전을 찾으십시오.
- 자산에서 bin 파일을 다운로드하십시오.
- 운영 체제에서 터미널을 엽니다 (macOS/Linux 필요).
- OneKey 하드웨어 지갑 모델에 따라 아래 명령을 선택하고 실행하여 체크섬을 계산하십시오.
- OneKey Classic & OneKey Mini:
-
tail -c +1025 /path/to/(file path) | shasum -a 256 -b
- OneKey Touch:
-
tail -c +2561 /path/to/(file path) | shasum -a 256 -b
4단계: 체크섬 비교
- 3단계에서 수동으로 계산한 체크섬의 처음 7자리와 2단계에서 얻은 디바이스 체크섬을 비교하세요.
- 두 값이 일치하면 설치된 펌웨어가 GitHub의 오픈 소스 코드와 일치함을 나타냅니다.
1단계: 최신 펌웨어 다운로드 및 설치
- 공식 OneKey 펌웨어 업데이트 웹사이트를 방문하십시오.
- USB 케이블을 통해 OneKey 하드웨어 지갑을 컴퓨터에 연결하십시오.
- 하드웨어 지갑 장치가 감지되면 웹사이트에 지갑 정보가 표시됩니다.
- 하드웨어 지갑 펌웨어의 최신 버전을 선택하여 다운로드하십시오.
- 웹사이트에서 제공되는 지침을 따라 펌웨어를 설치하고 OneKey 하드웨어 지갑에서 확인하십시오.
2단계: OneKey 하드웨어 지갑에서 체크섬 확인
- OneKey 하드웨어 지갑에서 "About Device 장치 정보"로 이동하십시오.
- OneKey 하드웨어 지갑 장치에서 자세한 펌웨어 정보를 찾으십시오.
- 장치 펌웨어 정보에서 펌웨어의 체크섬 첫 7자리 숫자를 확인할 수 있습니다.
- 예: 2.3.1[96bb143-5affc8f]
- "96bb143"는 장치 펌웨어의 버전 ID입니다.
- "5affc8f"는 장치 펌웨어의 체크섬 첫 7자리 숫자입니다.
3단계: GitHub 소스 코드 체크섬 계산
- 공식 OneKey 블루투스 펌웨어 GitHub 릴리스로 이동합니다.
- OneKey Classic & Classic 1S: https://github.com/OneKeyHQ/bluetooth-firmware-classic/releases
- OneKey Pro: https://github.com/OneKeyHQ/bluetooth-firmware-pro/releases
- OneKey Touch: https://github.com/OneKeyHQ/bluetooth-firmware-touch/releases
- 체크섬을 계산하려는 펌웨어 버전을 찾으십시오.
- 자산에서 bin 파일을 다운로드하십시오.
- 다운로드한 bin 파일이 있는 동일한 폴더에서 터미널을 엽니다 (macOS/Linux 필요).
- 아래 명령어로 Python을 실행합니다:
python3
. (Python은 여기에서 다운로드 할 수 있습니다) - 아래의 명령어를 복사합니다:
exec("""\nimport struct, hashlib\nwith open("ota.bin", mode="br") as f:\n f.seek(0x0C)\n codelen = struct.unpack("i", f.read(4))[0] - 512\n f.seek(0x600)\n print("".join(format(x, "02x") for x in hashlib.sha256(f.read(codelen)).digest()))\n""")
- 위 명령어에서 ota.bin 을 다운로드한 bin 파일의 이름으로 변경합니다.
- 명령어를 실행하여 체크섬을 얻습니다.
4단계: 체크섬 비교
- 3단계에서 수동으로 계산한 체크섬의 처음 7자리와 2단계에서 얻은 디바이스 체크섬을 비교하세요.
- 두 값이 일치하면 설치된 펌웨어가 GitHub의 오픈 소스 코드와 일치함을 나타냅니다.
GitHub Release에서 OneKey 팀이 서명하고 배포한 펌웨어 파일이 OneKey GitHub 저장소에 공개된 해당 오픈 소스 코드와 일치하는지 확인하려면 이 기사를 참조하십시오.