임베디드 면접 용어 사전
자동차 표준seed/key

Security Access

UDS 0x27 서비스. ECU가 준 seed에 대해 진단기가 key를 계산해 보내야 보호된 기능이 열린다.

아무나 펌웨어를 덮어쓰지 못하게 막는 관문이다.

절차

진단기 ──27 01──►            "seed 주세요"
       ◄──67 01 A3 5F 21──   ECU가 난수 seed 를 준다
진단기 ──27 02 <key>──►      약속된 알고리즘으로 계산한 key
       ◄──67 02──           일치하면 잠금 해제

홀수 하위기능은 seed 요청, 짝수는 key 전송이라는 규칙을 쓴다.

무엇을 막고 무엇은 못 막나

  • 막는 것 — 규격을 모르는 도구의 임의 플래시, 실수로 인한 접근
  • 못 막는 것 — 알고리즘과 상수가 유출되면 그대로 뚫린다. 대칭키를 양쪽에 심어 두는 구조라 근본적으로 비밀 유지에 의존한다

그래서 전통적인 seed/key는 보안이라기보다 정품 진단기 확인에 가깝다.

실패에 대한 방어

무차별 대입을 막기 위해 두 가지를 함께 쓴다.

0x36  exceedNumberOfAttempts        허용된 시도 횟수를 넘겼다
0x37  requiredTimeDelayNotExpired   재시도 대기 시간이 아직 안 지났다

전원을 껐다 켜도 지연이 유지되도록 만드는 것이 보통이다.

요즘 흐름

무선 업데이트가 늘면서 인증서·비대칭 서명 기반의 Authentication(0x29) 로 옮겨가고 있다. 펌웨어 자체에 서명을 붙여 부트로더가 검증하는 방식(시큐어 부트)과 함께 쓴다.

함께 보면 좋은 용어

노트에서 맥락과 함께 보기 — 자동차 임베디드 표준 — AUTOSAR·ISO 26262(ASIL)·MISRA·UDS/ISO-TP·E2E