Security Access¶
SecurityAccess (0x27) prevents unauthorized ECU modification. It uses a seed–key challenge-response flow.
How it works¶
- Tester requests a seed (
0x27odd subfunction). - ECU responds with a seed.
- Tester computes a key using an OEM algorithm.
- Tester sends the key (
0x27even subfunction).
Subfunction rules¶
- Odd = request seed (1, 3, 5, ...)
- Even = send key (2, 4, 6, ...)
Common key algorithms¶
OEMs typically use proprietary logic. Simple systems may use XOR or additive transforms; advanced systems use HMAC or crypto hardware.
Timing and lockouts¶
After multiple failures, ECUs often enforce a delay (NRC 0x37).
Common NRCs¶
0x35invalidKey0x36exceedNumberOfAttempts0x37requiredTimeDelayNotExpired
Annotated walkthrough¶
Request seed: 27 01
ECU response: 67 01 A3 F2 C1 09 ← seed = A3F2C109
Calculate key: [your algorithm]
Send key: 27 02 5C 0D 3E F6
ECU response: 67 02 ← access granted