Validation of software residing on remote computing devices

Inventors

Lattin, William L. • Upton, Jimmy R.

Assignees

Integrity Security Services LLC

Interested in licensing this patent?

MTEC can help explore whether this patent might be available for licensing for your application.

Publication Number

US-11080387-B1

Patent

Publication Date

2021-08-03

Expiration Date


Abstract

A system can include a processor that can execute computer-readable instructions that include operations that include obtaining an authentic copy of the software of the remote computing device and sending a validation request comprising a random data string to the remote computing device. The operations can also include receiving a remote check value from the remote computing device, wherein the remote check value is generated by the remote computing device based on the random data string and the software on the remote computing device. Furthermore, the operations include computing a local check value based on the authentic copy of the software for the remote computing device and the random data string and determining whether the remote computing device has authentic software based on a comparison of the received remote check value and the local check value.

Core Innovation

The invention validates existing software on an electronic control unit (ECU) by obtaining an authentic copy of the ECU software during an initialization phase of the ECU. The authentic copy is a last known authorized software of the ECU and is stored in a trusted repository. The validation relies on a challenge provided to the ECU using a random data string included in a validation request.

During operation, the system sends the validation request comprising the random data string to the ECU and receives a remote check value from the ECU. The remote check value is generated by the ECU based on the random data string and the existing software on the ECU. In parallel, the system computes a local check value based on the authentic copy and the random data string.

The system determines whether the existing software is authentic by comparing the received remote check value and the local check value. When the comparison indicates that the existing software is not authentic, the system modifies operation of one or more of the ECU and the overall system incorporating the ECU in response to the determination.

The authenticity of existing ECU software is established by comparing a remote check value generated by the ECU from a random data string and existing software against a local check value computed from a last known authorized authentic copy stored in a trusted repository.

Claims Coverage

The patent includes four independent claims that share a core validation flow: an authentic copy in a trusted repository, a validation request with a random data string, comparison of a remote check value and a local check value, and modifying ECU/system operation when the existing software is not authentic. The inventive features mainly differ by implementation framing and by whether the trusted repository is located separately from the remote computing device or from the ECU.

Validating ecu existing software using trusted authentic copy and random data validation

obtaining an authentic copy of software of the ECU during an initialization phase of the ECU, wherein the authentic copy is a last known authorized software of the ECU and is stored in a trusted repository; sending a validation request comprising a random data string to the ECU; receiving a remote check value from the ECU, wherein the remote check value is generated by the ECU based on the random data string and the existing software on the ECU; computing a local check value based on the authentic copy and the random data string; determining whether the existing software is authentic based on a comparison of the received remote check value and the local check value; and modifying operation of one or more of the ECU and the overall system incorporating the ECU in response to a determination that the existing software is not authentic.

Computer-implemented validation of ecu existing software with remote/local check value comparison

obtaining an authentic copy of software of the ECU during an initialization phase of the ECU, wherein the authentic copy is a last known authorized software of the ECU and is stored in a trusted software repository; sending a validation request comprising a random data string to the ECU; receiving a remote check value from the ECU, wherein the remote check value is generated by the ECU based on the random data string and the existing software; computing a local check value based on the authentic copy and the random data string; determining whether the existing software is authentic based on a comparison of the received remote check value and the local check value; and modifying operation of the ECU and the overall system incorporating the ECU in response to a determination that the existing software is not authentic.

Secure server validating ecu software using separate trusted repository

obtaining an authentic copy of software of the ECU during an initialization phase of the ECU, the authentic copy being stored in a trusted software repository located separately from the remote computing device, wherein the authentic copy is a last known authorized software of the ECU; sending a validation request comprising a random data string to the ECU; receiving a remote check value from the ECU, wherein the remote check value is generated by the ECU based on the random data string and the existing software on the ECU; computing a local check value based on the authentic copy and the random data string; determining whether the existing software is authentic based on a comparison of the received remote check value and the local check value; and modifying operation of one or more of the ECU and the overall system incorporating the ECU in response to a determination that the existing software is not authentic.

Computer-implemented validation with trusted repository separate from the ecu

obtaining an authentic copy of software of the ECU during an initialization phase of the ECU, the authentic copy being stored in a trusted software repository located separately from the ECU, wherein the authentic copy is a last known authorized software of the ECU; sending a validation request comprising a random data string to the ECU; receiving a remote check value from the ECU wherein the remote check value is generated by the ECU based on the random data string and the existing software on the ECU; computing a local check value based on the authentic copy and the random data string; determining whether the existing software is authentic based on a comparison of the received remote check value and the local check value; and modifying operation of one or more of the ECU and the overall system incorporating the ECU in response to a determination that the existing software is not authentic.

Across the independent claims, authenticity of existing ECU software is established by comparing a remote check value generated by the ECU from a random data string and existing software against a local check value computed from a last known authorized authentic copy stored in a trusted repository. Each independent claim includes modifying ECU/system operation in response to a determination that the existing software is not authentic, with differences focused on the implementation framing and repository location.

Stated Advantages

Enables determining whether existing software is authentic based on comparison of received remote check value and computed local check value.

Triggers modifying operation of the ECU and the overall system incorporating the ECU when existing software is not authentic.

Documented Applications

Validating existing software on an electronic control unit (ECU) during an initialization phase of the ECU.

Secure server validating existing software on an ECU using a trusted software repository located separately from the remote computing device.

Validating existing software on an ECU using a trusted software repository located separately from the ECU.

JOIN OUR MAILING LIST

Stay Connected with MTEC

Keep up with active and upcoming solicitations, MTEC news and other valuable information.