System and method for upgrading a multiprocessor set-top box device with a monolithilic firmware image
View Patent ↗A system and method for downloading a code image at a set-top gateway host that includes an embedded set-top box and an embedded cable modem. The embedded set-top box and the embedded cable modem interact so that each leverages the resources of the other, thereby minimizing the functionality that must be built into each.
1. A method of downloading a monolithic code image at an embedded set-top box (eSTB), comprising:
determining at the eSTB whether a software upgrade is permitted;
receiving at the eSTB a request to validate a header of the monolithic code image;
validating the header of the monolithic code image;
sending validation results to a second device;
receiving the monolithic code image from the second device; and
validating the monolithic code image.
2. The method of claim 1 , wherein the step of validating the monolithic code image comprises validating a cyclic redundancy code (CRC) of the monolithic code image.
3. The method of claim 1 , further comprising:
locating a second device code image in the monolithic code image;
requesting that the second device authenticate the code image;
receiving a length of a digital signature of the code image from the second device; and
storing the length.
4. The method of claim 1 , further comprising:
receiving a signed code version table (CVT);
requesting an authentication of the signed CVT;
after authentication of the signed CVT, receiving a length of a digital signature of the signed CVT; and
finding the start of a CVT file in the CVT, using the length of the digital signature.
5. The method of claim 4 , further comprising:
receiving a Code Verification Certificate (CVC);
requesting the second device to validate settings of the CVC;
after validation of the settings, receiving a length of the CVC; and
using the length of the CVC to locate a next CVC in the CVT.
6. A method of downloading a monolithic code image to an embedded set-top box (eSTB) comprising:
starting a download of the monolithic code image at an embedded cable modem (eCM);
parsing out a download header;
requesting the eSTB to validate the download header;
receiving the validity results from the step of requesting the eSTB to validate the download header;
maintaining a Secure Hashing Algorithm (SHA) digest during the download;
authenticating the SHA digest after completion of the download;
requesting the eSTB to validate the monolithic code image;
receiving the validity results from the step of requesting the eSTB to validate the monolithic code image;
receiving a request from the eSTB to authenticate the monolithic code image;
retrieving the monolithic code image from the eSTB;
authenticating the monolithic code image; and
returning a length of a digital signal of the monolithic code image to the eSTB.
7. The method of claim 6 , further comprising:
receiving a request, from the eSTB, to authenticate a signed code version table CVT;
parsing a secure download header;
authenticating the signed CVT;
and
returning, to the eSTB, a length of a digital signature of the signed CVT;
performed before the step of starting a download of the monolithic code image at the (eCM).
8. The method of claim 7 , wherein the step of authenticating the signed CVT comprises authenticating the signed CVT using a security certificate.
9. A system for downloading a monolithic code image, comprising:
an embedded set-top box (eSTB) configured to receive a downloaded monolithic code image, the eSTB being further configured to:
determine whether a software upgrade is permitted;
receive a request to validate a header of the monolithic code image;
validate the header of the monolithic code image;
send validation results to a second device;
receive the monolithic code image from the second device; and
validate the monolithic code image.
10. The system of claim 9 , wherein the eSTB is further configured to validate a cyclic redundancy code (CRC) of the monolithic code image.
11. The system of claim 9 , wherein the eSTB is further configured to:
locate a code image in the monolithic code image;
request that the code image be authenticated;
receive a length of a digital signature of the code image; and
store the length.
12. The system of claim 9 , wherein the eSTB is further configured to:
receive a signed code version table (CVT);
request an embedded cable mdoem (eCM) to authenticate the signed CVT;
after authentication of the signed CVT by the eCM, receive a length of a digital signature of the signed CVT from the eCM; and
find the start of a CVT file in the CVT, using the length of the digital signature.
13. The system of claim 12 , wherein the eSTB is further configured to:
receive a code verification certificate (CVC);
request the eCM to validate settings of the CVC;
after validation of the settings, receive from the eCM a length of the CVC; and
use the length of the CVC to locate a next CVC in the CVT.
14. A system for downloading a monolithic code image, comprising:
an embedded set-top box (eSTB) configured to receive a downloaded monolithic cable image, the eSTB being further configured to:
start a download of the monolithic code image to the eSTB;
parse out a download header;
request the eSTB to validate the download header;
receive the validation results from the eSTB;
maintain a Secure Hashing Algorithm (SHA) digest during the download;
authenticate the SHA digest after completion of the download;
request the eSTB to validate the monolithic code image;
receive the validity results from the eSTB;
receive a request from the eSTB to authenticate the monolithic code image;
retrieve the monolithic code image from the eSTB;
authenticate the monolithic code image; and
return a length of a digital signal of the monolithic code image to the eSTB.
15. The system of claim 14 , further comprising an embedded cable modem (eCM) configured to:
receive a request, from the eSTB, to authenticate a signed code version table (CVT);
parse a secure download header;
authenticate the signed CVT;
maintain a secure hashing algorithm (SHA) digest; and
return, to the eSTB, a length of a digital signature of the signed CVT;
performed before the step of determining whether a software upgrade is permitted.
16. The system of claim 15 , wherein the eCM is further configured to authenticate the signed CVT using a security certificate.
17. The method according to claim 1 , further comprising:
receiving a signed code version table (CVT), requesting an authentication of the signed CVT, after authentication of the signed CVT, receiving a length of a digital signature of the signed CVT, and finding the start of a CVT file in the CVT, using the length of the digital signature before determining at the eSTB whether a software upgrade is permitted.
18. The method according to claim 4 , further comprising:
receiving a Code-Verification Certificate (CVC), requesting the second device to validate settings of the CVC, after validation of the settings, receiving a length of the CVC, and using the length of the CVC to locate a next CVC in the CVT, after finding the start of a CVT file in the CVT, using the length of the digital signature and before determining at the eSTB whether a software upgrade is permitted.
19. The system according to claim 12 , wherein the eSTB is further configured to:
receive a signed code version table (CVT), request the embedded cable modem (eCM) to authenticate the signed CVT, after authentication of the signed CVT, receive a length of a digital signature of the signed CVT from the eCM, and find the start of a CVT file in the CVT, using the length of the digital signature before determining whether a software upgrade is permitted.
20. The system of claim 12 , wherein the eSTB is further configured to:
receive a code verification certificate (CVC), request the eCM to validate settings of the CVC, after validation of the settings, receive from the eCM a length of the CVC, and use the length of the CVC to locate a next CVC in the CVT, before finding the start of a CVT file in the CVT, using the length of the digital signature and after determining whether a software upgrade is permitted.