Patent ID: 8037317

Claim:
A computer-implemented method for authenticating and executing a program, the method comprising: downloading, from a predetermined server, a program made up of at least one data file, in a directory structure, which requires tamper checking, according to information identifying a storage location of the program, authenticating the downloaded at least one data file requiring tamper checking, and storing the program into a broadcast receiver, the information being specified in a transport stream, the server being connected to a network; and executing the authenticated program, wherein the authenticating and storing includes executing authentication operations that include: verifying whether two hash values match, one of the hash values being calculated from each of the data files requiring tamper checking and an other hash value being stored in the hash file listing the data file; verifying a validity of a certificate file included in the program; and verifying whether a decrypted value and a hash value match, the decrypted value being obtained by decrypting a signature value of a signature file included in the program using a public key of a leaf certificate included in the certificate file of the program, the hash value being calculated from a hash file located in a top directory of the program; and authenticating the program and storing the authenticated program, when all of the following are satisfied: the two hash values are verified to be matching; the certificate file is verified to be valid; and the decrypted value and the hash value are verified to be matching, executing the authenticated program includes: verifying whether the certificate file included in the stored program is valid, and during said executing, the stored program is authenticated again and executed only when the certificate file included in the stored program is verified to be valid during verifying whether the certificate file included in the stored program is valid, and wherein the authenticating and storing includes executing all of the authentication operations without executing the program, and the executing the authenticated program includes executing at least one and less than all of the authentication operations.