모든 Ledger 장치는 온보딩 프로세스 중에, 또한 Ledger Live의 My Ledger에 연결될 때마다 정품 확인 과정을 거칩니다. 정품 Ledger 장치에는 제조 과정에서 설정된 시크릿 키가 있습니다. 정품 Ledger 장치만이 시크릿 키를 사용하여 Ledger의 보안 서버와 연결하는 데 필요한 암호학 증거를 제공할 수 있습니다.
고급 사용자는 추가적으로 Ledger 장치의 하드웨어 무결성을 확인하여 조작 여부를 확인할 수 있습니다. 이 글에는 장치 보안에 대한 자세한 기술 정보가 포함되어 있습니다.
중요 공지
- Ledger 장치를 열면 보증이 무효화 된다는 점에 유의해 주세요.
- Ledger 장치를 열면 더 이상 환불하거나 교환할 수 없습니다.
마이크로컨트롤러(MCU)
이 블로그 게시글에 설명된 대로 보안 칩은 부팅 시 전체 마이크로컨트롤러 플래시 메모리를 확인합니다. 보안 칩이 수정된 경우에는 부팅 시 경고를 받을 수 있습니다. 추가 확인 조치로 장치를 열어 칩이 추가되지 않았는지(첨부된 그림 참조) 확인할 수 있으며, MCU가 STM32WB55(버전 1, 2, 3) 또는 STM32WB35(버전 4)인지 확인할 수 있습니다.
하드웨어 버전
버전 4
- 그린 PCB
PCB 전면
PCB 후면
버전 3
- 블랙 PCB
PCB 전면
PCB 후면
버전 2
- 블랙 PCB
PCB 전면
PCB 후면
버전 1
- 블랙 PCB
PCB 전면
PCB 후면
보안 칩 증명
보안 칩 자체는 공장에서 Ledger가 해당 제품을 제조했음을 입증하는 증명서와 함께 맞춤화되었으며, 장치를 실행하여 이를 확인할 수 있습니다.
pip install --no-cache-dir ledgerblue
python -m ledgerblue.checkGenuineRemote --targetId 0x33000004
여기에 소스코드를 이용할 수 있습니다.
애플리케이션 인증
Ledger가 서명하지 않은 애플리케이션을 열 경우 비정품 경고가 표시됩니다. 사용자 인터네이스가 수정된 경우(https://github.com/LedgerHQ/nanos-ui 에서 확인 가능)에도 부팅시 경고 메시지가 나타납니다.
신뢰점(RoT)
현재 배치에 대한 신뢰점은 다음과 같은 secp256k1 공개 키입니다:
0490f5c9d15a0134bb019d2afd0bf2971497384597
06e7ac5be4abc350a1f818057224fce12ec9a65de18ec34
d6e8c24db927835ea1692b14c32e9836a75dad609
-여기(Genuine.py)서 확인 가능
마이크로컨트롤러(MCU)
이 블로그 게시글에 설명된 대로 보안 칩은 부팅 시 전체 마이크로컨트롤러 플래시 메모리를 확인하며, 보안 칩이 수정된 경우에는 부팅 시 경고를 받을 수 있습니다. 추가 확인 조치로 장치를 열어 칩이 추가되지 않았는지(첨부된 그림 참조) 확인할 수 있으며, MCU가 stm2f042k6(플래시 메모리가 더 큰 경우에 보안 칩 인증을 속이는 코드가 포함되어 있을 수 있으므로 32Kb 플래시 포함)인지 확인할 수 있습니다. 칩의 마킹이 다를 수는 있지만 '042K6'을 꼭 확인해야 합니다.
하드웨어 버전
버전 1
- 블루 PCB
- 블랙 접착제
버전 2
- 그린 PCB
- 블랙 또는 투명한 접착제 [그림 없음].
버전 3
- 블루 PCB
- 블랙 접착제
버전 4
- 블루 PCB
- PCB의 구멍
버전 5
- 블루 PCB
버전 5 bis
- 블루 PCB
버전 6
- 블루 PCB
버전 7
- 블루 PCB 또는 그린 PCB
- 얇은 디스플레이 케이블
보안 칩 증명
보안 칩 자체는 공장에서 Ledger가 해당 제품을 만들었음을 입증하는 증명서와 함께 맞춤화되었으며, 장치를 실행하여 이를 확인할 수 있습니다.
pip install --no-cache-dir ledgerblue
그런 다음 펌웨어 1.3.1이하에서
python -m ledgerblue.checkGenuineRemote --targetId 0x33000004
또는 펌웨어 1.4.1이상에서
python -m ledgerblue.checkGenuineRemote --targetId 0x33000004
여기에 소스코드를 이용할 수 있습니다.
애플리케이션 인증
Ledger가 앱에 서명하지 않은 애플리케이션을 열 경우 비정품 경고가 표시됩니다. 사용자 인터페이스가 수정된 경우 (https://github.com/LedgerHQ/nanos-ui 에서 확인 가능)에도 부팅시 경고 메시지가 나타납니다.
신뢰점(RoT)
현재 배치에 대한 신뢰점은 다음과 같은 secp256k1 공개 키입니다
0490f5c9d15a0134bb019d2afd0bf297
149738459706e7ac5be4abc350a1f818057224fce12ec9a65de18ec34d
6e8c24db927835ea1692b14c32e9836a75dad609
-여기(Genuine.py)서 확인 가능
마이크로컨트롤러(MCU)
이 블로그 게시글에 설명된 대로 보안 칩은 부팅 시 전체 마이크로컨트롤러 플래시 메모리를 확인합니다. 보안 칩이 수정된 경우에는 부팅 시 경고를 받게 됩니다. 추가 확인 조치로 장치를 열어 칩이 추가되지 않았는지(첨부된 그림 참조) 확인할 수 있으며, MCU가 STM32F042K6U6인지 확인할 수 있습니다.
하드웨어 버전
(PCB 전면)
(PCB 후면)
보안 칩 증명
보안 칩 자체는 Ledger가 해당 제품의 제조사임을 입증하는 증명서와 함께 공장에서 맞춤식으로 제작되었습니다. 다음을 실행하여 이를 확인할 수 있습니다.
pip install --no-cache-dir ledgerblue
python -m ledgerblue.checkGenuineRemote --targetId 0x33000004
여기에 소스코드를 이용할 수 있습니다.
애플리케이션 인증
Ledger가 앱에 서명하지 않은 애플리케이션을 열 경우 비정품 경고가 표시됩니다. 사용자 인터페이스가 수정된 경우 (https://github.com/LedgerHQ/nanos-ui 에서 확인 가능)에도 부팅시 경고 메시지가 나타납니다.
신뢰점(RoT)
현재 배치에 대한 신뢰점은 다음과 같은 secp256k1 공개 키입니다
0490f5c9d15a0134bb019d2afd0bf297
149738459706e7ac5be4abc350a1f818057224fce12ec9a65de18ec34d
6e8c24db927835ea1692b14c32e9836a75dad609
-여기(Genuine.py)서 확인 가능