9.3.2.6.1 The Vulnerability Flag. The Vulnerability Flag is a single byte in the node
’s calibration area. The
node shall remain unlocked as long as the Vulnerability Flag equals $FF. Any value other than $FF will cause
the node to lock if this is the only security system bypass mechanism (see section below on the Manufacturers
Enable Counter). This use of the Vulnerability Flag is optional but it is shown in the pseudo code of each of the
applicable diagnostic services within this specification. Nodes which do not implement this variable can follow
the path in the pseudo code as if the value were other than $FF. The Vulnerability Flag shall only be used to
bypass a node
’s security system during the development process. All fully programmed (SPS_TYPE_A)
production ECUs that implement the Vulnerability Flag shall have its value set to something other than $FF to
ensure that the security system is enabled once the MEC is set to $00.
9.3.2.6.2 The Manufacturers Enable Counter (MEC). The MEC shall be supported during ECU development
and production by all nodes which implement the SecurityAccess ($27) service. The MEC is a single byte in
permanent (EEPROM or equivalent) memory which allows a node to remain unlocked as long as its value is
not $00. When the value of the MEC becomes $00, security shall be enabled (provided that the Vulnerability
Flag is not $FF) and the SecurityAccess ($27) service shall be required to access security.
Production ECUs shipped to the vehicle assembly plants shall have the value of the MEC initialized by the
ECU supplier to a value specified in a CTS, SSTS, or supplemental diagnostic specification referenced by a
CTS or SSTS. Service Replacement ECUs shall be shipped to the dealerships with the MEC already set to
$00.
The MEC must be programmed to $00 at some point in the vehicle assembly plant process (typically, the MEC
is programmed to $00 at the conclusion of a passed Dynamic Vehicle Test).
Note: The MEC is programmed with the WriteDataByIdentifier ($3B) service. Refer to Appendix C to determine
the Data Identifier (DID) number for the MEC.
A node shall not allow the value of the MEC to change once it becomes $00, unless SecurityAccess ($27) is
successfully initiated. The ability to allow writing a new value to the MEC for any specific ECU which supports
the MEC shall be negotiated by representatives from Service and Assembly Verification, and the responsible
DRE, and documented in the CTS. The platforms should employ a backup mechanism to ensure that a node
will lock itself in the event that the vehicle somehow manages to make its way out of the assembly plant with
one or more nodes unlocked.