US 11,681,513 B2
Controlled scope of authentication key for software update
Barak Cherches, Ramat Ha'Kovesh (IL); and Eric Thierry Jean Peeters, Frisco, TX (US)
Assigned to Texas Instmments Incorporated, Dallas, TX (US)
Filed by TEXAS INSTRUMENTS INCORPORATED, Dallas, TX (US)
Filed on May 14, 2020, as Appl. No. 15/931,794.
Prior Publication US 2021/0357198 A1, Nov. 18, 2021
Int. Cl. H04L 9/32 (2006.01); G06F 9/44 (2018.01); G06F 8/65 (2018.01); G06F 21/57 (2013.01); G06F 21/64 (2013.01); G06F 21/33 (2013.01); G06F 8/654 (2018.01); G06F 21/50 (2013.01); G06F 8/71 (2018.01)
CPC G06F 8/65 (2013.01) [G06F 21/572 (2013.01); H04L 9/3247 (2013.01); H04L 9/3268 (2013.01); G06F 8/654 (2018.02); G06F 8/71 (2013.01); G06F 21/33 (2013.01); G06F 21/50 (2013.01); G06F 21/57 (2013.01); G06F 21/577 (2013.01); G06F 21/64 (2013.01); G06F 2221/033 (2013.01); H04L 9/3236 (2013.01); H04L 9/3239 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method for updating a client device, comprising:
receiving, by the client device, a software update and a certificate associated with the software update, wherein the software update includes update code;
verifying, by the client device, the certificate associated with the software update based on a stored public key of the client device;
obtaining a version value of the update code of the software update;
obtaining a current version number stored on the client device;
comparing, in a first comparison, the version value of the update code against the current version number;
extracting a version scope value from the certificate;
comparing, in a second comparison, the version value of the update code against the version scope value extracted from the certificate;
accessing scope-based data from the certificate;
accessing an identifier stored on the client device;
verifying, in a third comparison, that the scope-based data from the certificate matches the identifier stored on the client device; and either:
applying the software update based on the first, second, and third comparisons; or
rejecting the software update based on the first, second, and third comparisons.