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 |
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.
|