이 기사는 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
체크섬을 계산하려는 펌웨어 버전을 찾으십시오.
자산에서 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 저장소에 공개된 해당 오픈 소스 코드와 일치하는지 확인하려면 이 기사를 참조하십시오.