메인 콘텐츠로 건너뛰기

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

OneKey avatar
작성자: OneKey
이번 주에 업데이트함

이 기사는 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 파일을 다운로드하십시오.

github release bin.png
  • 운영 체제에서 터미널을 엽니다 (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 소스 코드 체크섬 계산

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 파일의 이름으로 변경합니다.

  • 명령어를 실행하여 체크섬을 얻습니다.

4단계: 체크섬 비교

  • 3단계에서 수동으로 계산한 체크섬의 처음 7자리와 2단계에서 얻은 디바이스 체크섬을 비교하세요.

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

GitHub Release에서 OneKey 팀이 서명하고 배포한 펌웨어 파일이 OneKey GitHub 저장소에 공개된 해당 오픈 소스 코드와 일치하는지 확인하려면 이 기사를 참조하십시오.

답변이 도움되었나요?