메인 콘텐츠로 건너뛰기

OneKey 하드웨어 지갑 기기에 설치된 펌웨어의 오픈 소스 코드 검증 방법

오늘 업데이트함

본 문서는 OneKey 하드웨어 지갑 기기에 설치된 펌웨어가 GitHub의 오픈 소스 코드와 일치하는지 확인하는 단계별 가이드를 제공합니다.

중요

OneKey 하드웨어 지갑에 내장된 보안 칩은 제조 시 공식 멀티 시그니처로 서명됩니다. 해커에 의해 지갑 펌웨어가 악의적으로 변조된 경우, 시작 시 '공식 펌웨어가 아님(Unofficial Firmware Detected)'이라는 메시지가 표시됩니다.

검증 과정

시스템 펌웨어 블루투스 펌웨어

1단계: 최신 펌웨어 다운로드 및 설치

  • 공식 OneKey 펌웨어 업데이트 웹사이트를 방문하십시오.

  • USB 케이블을 통해 OneKey 하드웨어 지갑을 컴퓨터에 연결하십시오.

  • 하드웨어 지갑 기기가 감지되면 웹사이트에서 지갑 정보를 확인할 수 있습니다.

  • 하드웨어 지갑의 최신 펌웨어 버전을 선택하여 다운로드하십시오.

  • 웹사이트의 지침을 따르고 OneKey 하드웨어 지갑에서 승인하여 펌웨어를 설치하십시오.

2단계: OneKey 하드웨어 지갑에서 체크섬(Checksum) 확인

  • OneKey 하드웨어 지갑에서 "기기 정보(About Device)"로 이동하십시오.

  • OneKey 하드웨어 지갑 기기의 상세 펌웨어 정보를 찾으십시오.

  • 펌웨어 정보에서 기기 펌웨어 체크섬의 앞 7자리를 얻을 수 있습니다.

    • 예시: 4.9.0[fccbac8-5ff2c88]

    • "fccbac8"은 기기 펌웨어의 버전 ID입니다.

    • "5ff2c88"은 기기 펌웨어 체크섬의 앞 7자리입니다.

3단계: GitHub 소스 코드의 체크섬 계산

  • OneKey 펌웨어 GitHub 릴리스 웹사이트를 방문하십시오: https://github.com/OneKeyHQ/firmware/releases

  • 체크섬을 계산하려는 펌웨어 버전을 찾으십시오.

  • Assets 섹션 아래의 bin 파일을 클릭하여 다운로드하십시오.

github release bin.png
  • 운영체제에서 터미널을 여십시오 (macOS/Linux 필수).

  • OneKey 하드웨어 지갑 모델에 따라 아래 해당 명령어를 선택하여 실행하고 체크섬을 계산하십시오.

    • OneKey Classic 및 OneKey Mini:

    • tail -c +1025 /path/to/(파일 경로) | shasum -a 256 -b

    • OneKey Touch:

    • tail -c +2561 /path/to/(파일 경로) | shasum -a 256 -b

4단계: 체크섬 비교

  • 3단계에서 수동으로 계산한 체크섬의 앞 7자리와 2단계에서 얻은 기기 체크섬을 비교하십시오.

  • 두 값이 일치하면, 설치된 펌웨어가 GitHub의 오픈 소스 코드와 일치함을 의미합니다.

1단계: 최신 블루투스 펌웨어 다운로드 및 설치

  • 공식 OneKey 펌웨어 업데이트 웹사이트를 방문하십시오.

  • USB 케이블을 통해 OneKey 하드웨어 지갑을 컴퓨터에 연결하십시오.

  • 하드웨어 지갑 기기가 감지되면 웹사이트에서 지갑 정보를 확인할 수 있습니다.

  • 하드웨어 지갑의 최신 블루투스 펌웨어 버전을 선택하여 다운로드하십시오.

  • 웹사이트의 지침을 따르고 OneKey 하드웨어 지갑에서 승인하여 펌웨어를 설치하십시오.

2단계: OneKey 하드웨어 지갑에서 체크섬(Checksum) 확인

  • OneKey 하드웨어 지갑에서 "기기 정보(About Device)"로 이동하십시오.

  • OneKey 하드웨어 지갑 기기의 상세 펌웨어 정보를 찾으십시오.

  • 블루투스 정보에서 기기 펌웨어 체크섬의 앞 7자리를 얻을 수 있습니다.

    • 예시: 2.3.1[96bb143-5affc8f]

    • "96bb143"은 기기 블루투스 펌웨어의 버전 ID입니다.

    • "5ff2c8f"은 기기 펌웨어 체크섬의 앞 7자리입니다.

3단계: GitHub 소스 코드의 체크섬 계산

pro-bluetooth-firmware-github-release-signed.png
  • 다운로드한 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 파일 이름으로 변경하십시오.

  • 명령어를 실행하여 체크섬을 얻으십시오.

checksum-github-release.png

4단계: 체크섬 비교

  • 3단계에서 수동으로 계산한 체크섬의 앞 7자리와 2단계에서 얻은 기기 체크섬을 비교하십시오.

  • 두 값이 일치하면, 설치된 펌웨어가 GitHub의 오픈 소스 코드와 일치함을 의미합니다.

OneKey 팀이 GitHub 릴리스에 서명하여 게시한 펌웨어 파일과 OneKey GitHub 리포지토리에 공개적으로 저장된 오픈 소스 코드 간의 일관성을 검증하려면 이 문서를 참조하십시오.

답변이 도움되었나요?