Abstract:
A flash programmable microprocessor-based control module is operated in a manner to protect the integrity of event data stored in the programmable memory of the module while permitting authorized manufacturing and field alteration of the programmable memory with a Download and Execute routine. The Download and Execute routine is resident in a designated sector of the module's read-only memory, and download access to the module's random access memory after module manufacture has been completed is denied. During manufacture of the module, and during field programming of the controller prior to the writing of event data, the programmable memory may be externally altered by an authorized service tool by transferring the Download and Execute routine from read-only memory to random access memory for execution by the module's microprocessor, and downloading the new data or code over a data link coupling the service tool to the module. After event data has been written to the programmable memory, external requests to alter the programmable or read-only memories are denied, and the transfer of the Download and Execute routine to random access memory is not permitted.
Abstract:
A system for remotely controlling a desired door locking or other function in a vehicle or other protected environment has a transmitter and receiver for communicating a message including a sequence number, the code of a selected function to be performed and an authenticator. An algorithm in the transmitter and in the receiver has a cryptographic key and a seed code. Each algorithm generates the authenticator as a function of both the seed code and the function code; if the authenticators are equal, the message is valid. Upon each transmission the seed code is updated and the sequence number is incremented. The receiver updates its seed code according to the transmitted sequence number to keep the algorithm in synchronism. Upon manufacture the transmitter sends the initial seed code and key to the receiver to program the receiver. This data is sent without delay when the battery is first installed but later a time delay is imposed to prevent sending inadvertent program messages. Resynch messages are also sent after a delay.