OneKey에서 공개한 오픈 소스 코드와 펌웨어 파일의 일관성 인증 방법

OneKey 하드웨어 지갑은 완전히 오픈 소스 펌웨어를 특징으로 합니다. OneKey의 GitHub 저장소에서 관련 제품의 오픈 소스 펌웨어 코드를 확인할 수 있습니다. 대량 생산을 위한 펌웨어 파일이 공식적으로 출시되기 전에, OneKey 팀은 GitHub의 빌드 자동화 도구(GitHub CI)를 사용하여 각 펌웨어 저장소에서 펌웨어 소스 코드를 컴파일하고 빌드합니다. 그런 다음 OneKey 팀은 파일에 서명한 후 공식적으로 출시합니다.

이 기사에서는 체크섬(Checksums)을 비교하여 공식 팀의 다중 서명 전후의 파일을 비교하는 방법을 통해 펌웨어 파일과 오픈 소스 코드 간의 일관성을 검증하는 방법을 제공합니다.

SHA-256 암호화 해시 함수(체크섬 비교)를 사용하여 다양한 파일의 소스 데이터를 검증하는 방법에 대한 자세한 내용은 이 기사를 참조하십시오.

오픈 소스 펌웨어 저장소

OneKey Pro
OneKey Classic 1S
OneKey Classic
OneKey Touch
OneKey Mini

펌웨어 출시 프로세스

공식 표준 펌웨어 또는 블루투스 펌웨어가 출시 준비가 되었을 때, OneKey 팀은 해당 저장소의 액션을 실행하여 오픈 소스 코드를 컴파일합니다. 컴파일이 성공하면 파일은 GitHub 아티팩트 저장소에 업로드되어, 팀의 내부 다중 서명이 완료될 때까지 대기합니다. 그런 다음 OneKey CDN에 파일이 게시되며, config.json 파일 업데이트 후 OneKey 앱과 OneKey 펌웨어 업데이트 웹사이트를 통해 업데이트 알림이 사용자에게 전송됩니다. 아래 다이어그램에서 특정 프로세스를 참조하십시오.

onekey github verifiy.png

목표

  1. "OneKey 팀 서명된 펌웨어 파일"이 OneKey 오픈 소스 저장소의 "GitHub CI 사전 서명된 펌웨어 파일"에서 파생된 것임을 확인합니다.
  2. "OneKey 팀 서명된 펌웨어 파일"과 "OneKey 공식 CDN 저장 펌웨어 파일" 간의 일관성을 확인합니다.
    전제 조건

전제 조건

시스템 펌웨어 블루투스 펌웨어
✔  GitHub CI 사전 서명된 펌웨어 파일(서명되지 않음) 다운로드

github action.png

  • 아티팩트 아래에 있는 펌웨어 이름을 클릭하여 다운로드합니다(로그인 필요).

2.png

✔  OneKey 팀 서명된 펌웨어 파일(서명됨) 다운로드
  • 공식 OneKey 하드웨어 펌웨어 GitHub 릴리스: https://github.com/OneKeyHQ/firmware/releases 로 이동합니다.
  • 검증하려는 펌웨어 버전을 찾습니다.
  • Assets 아래의 bin 파일을 클릭하여 다운로드합니다.

github release bin.png

✔  OneKey 공식 CDN 저장 펌웨어 파일(서명됨) 다운로드
  • OneKey CDN 파일: https://data.onekey.so/config.json 로 이동합니다.
  • 검증하려는 펌웨어 버전을 찾습니다.
  • "url" 필드 아래의 링크를 복사합니다.
  • 새 브라우저 창에서 열어 bin 파일을 자동으로 다운로드합니다.

3.png

단계

아래는 이전에 설정한 두 목표를 검증하는 단계입니다:

시스템 펌웨어 블루투스 펌웨어
목표 1 (시스템) 검증 프로세스
  • 터미널을 엽니다.
  • 아래 명령어를 실행합니다 (OneKey 팀 서명된 펌웨어 파일):
    • tail -c +1024 /path/to/(file path) | shasum -a 256
  • 아래 명령어를 실행합니다 (GitHub CI 사전 서명된 펌웨어 파일):
    • tail -c +1024 /path/to/(file path) | shasum -a 256
  • 두 명령어로 생성된 체크섬을 비교합니다. 결과가 일치하면 "OneKey 팀 서명된 펌웨어 파일"이 OneKey 오픈 소스 저장소의 "GitHub CI 사전 서명된 펌웨어 파일"에서 파생된 것임을 확인할 수 있습니다.

7.png

시스템 펌웨어의 경우 CI 버전의 펌웨어에 1024 바이트 서명 결과가 추가되며, 이는 장치 시작 시 부트로더에 의해 검증됩니다.

목표 2 (시스템) 검증 프로세스
  • 터미널을 엽니다.
  • 아래 명령어를 실행합니다 (OneKey 팀 서명된 펌웨어 파일):
    • shasum -a 256 (file path)
  • 아래 명령어를 실행합니다 (OneKey 공식 CDN 저장 펌웨어 파일):
    • shasum -a 256 (file path)
  • 두 명령어로 생성된 체크섬을 비교합니다. 결과가 일치하면 두 펌웨어 파일의 코드 일관성이 확인됩니다.

6.png

도움이 되었습니까?
1명 중 1명이 도움이 되었다고 했습니다.