728x90
Firmware update는 요즘 전자 기기라면 당연히 제공하는 기능임
특히 자동차 OTA(Over The Air)의 경우 Firmware update 시
Binary 데이터 무결성, 출처 신뢰성이 중요
Hash와 Digital signature(디지털 서명)이 이를 가능하게 하는 핵심 기술
Hash (Fingerprint)
✔️ 데이터 무결성 (유실, 변조)
사용 예로 이해해보면,
- Firmware File에 대해 해시 함수(SHA-256)적용해 고유 해시 값(A) 생성
- Firmware 배포 시 Binary 파일과 고유 해시 값(A) 함께 배포
- 다운로드 한 Firmware에 같은 해시 함수(SHA-256) 적용해 새로운 해시 값(B) 생성
- A와 B가 같으면 데이터 무결함 증명!
Digital Signature
✔️ 출처 신뢰성
✔️ Hash 값을 한 번 더 암호화 하여 Binary 출처 및 무결성 확인
NOTE
- Private key : 엔지니어가 소유하며 Hash 값으로 부터 디지털 서명 생성
- Public key : 디바이스 내 들어있으며 디지털 서명으로 부터 Hash 값 복원
사용 예로 이해해보면,
- Firmware에 대해 해시 함수(SHA-256)적용해 해시 값(A) 생성
- Private key로 해시 값(A) 암호화하여 디지털 서명 생성
- Firmware 배포 시 Binary 파일과 디지털 서명 함께 배포
- 다운로드 한 Firmware에 해시 함수(SHA-256)적용해 해시 값(B) 생성
- 장치에 내장 된 Public key로 디지털 서명 복호화해 해시 값 (A) 생성
- A와 B 비교 후 같으면 통과!
정리하면,
Digital signature를 사용하여 파일에 대한 데이터 무결성, 출처 신뢰성을 확인하며
이 과정에서 Hash가 쓰임을 알 수 있음
728x90
'TIL > 2025' 카테고리의 다른 글
| [Error] Your branch and 'origin/feature-1' have diverged (0) | 2025.12.10 |
|---|---|
| Requirement yogi의 traceability (0) | 2025.12.10 |
| Confluence 문서 상태 관리 feat. Comala (0) | 2025.11.07 |
| [cpp] type_traits (0) | 2025.09.24 |
| [cpp] Request and Suppress (=default, =delete) (1) | 2025.09.08 |