Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
151 words
Apparatus for receiving an executable application transmitted in modules including a Directory Module containing information about further modules, said Directory Module having at least an encrypted hash value over the Directory Module and an encrypted certificate appended, which certificate includes an identity of the application provider, said apparatus characterized by: a memory (88) a detector (84) for detecting transmitted said modules and storing detected modules in memory; means (89, µPC) for separating said certificate from a detected Directory Module; a decryptor (97) for decrypting said certificate and said encrypted hash value; a hash function element (96) for hashing detected said Directory Modules to produce a further hash value; a processor (µPC) programmed for authenticating decrypted said certificate, and comparing decrypted said hash value with said further hash value, and if decrypted said hash value and said further hash value are equal and said certificate is authentic, permitting execution of said program.
Claim 2
Dependent Claim
109 words
The apparatus set forth in claim 1 wherein said Directory Module further includes hash values of further program modules, and said apparatus further characterized by: means for accessing said hash values of further program modules from detected said Directory Module; means for applying respective said further program modules to said hash function element for generating hash values over said further program modules; and wherein said processor is conditioned to compare said hash values of further program modules accessed from said Directory Module with corresponding hash values produced by said hash function element, and permitting execution of said program if at least predetermined ones of corresponding hash values are equal.
Claim 3
Dependent Claim
32 words
The apparatus set forth in claim 1 characterized in that transmitted said Directory Module is encrypted, and said decryptor is conditioned to decrypt said Directory Module with said application provider's public key.
Claim 4
Dependent Claim
28 words
The apparatus set forth in claim 2 characterized in that said processor includes means to delete from said memory, modules for which corresponding hash values are not identical.
Claim 5
Dependent Claim
22 words
The apparatus set forth in claim 1 characterized in that said decryptor and said hash function element are subsumed in said processor.
Claim 6
Dependent Claim
17 words
The apparatus set forth in claim 1 characterized in that said detector includes forward error correcting circuitry.
Claim 7
Dependent Claim
77 words
The apparatus set forth in claim 1 characterized in that transmitted said executable application is transmitted in transport packets, each of which includes a service channel identifier, SCID, and scrambling flags, and said detector includes: a programmable SCID detector for selecting transport packets having predetermined SCID's from a multiplexed stream of transport packets; and said apparatus further includes a descrambler responsive to said scrambling flags, for descrambling respective packets according to respective states of said scrambling flags.
Claim 8
Dependent Claim
26 words
The apparatus set forth in claim 1 further characterized by means for causing a display to indicate detection of signal provided by an unauthorized application provider.
Claim 9
Dependent Claim
62 words
The apparatus set forth in claim 1 further characterized by: a source of a digital version of predetermined text; apparatus for preceding at least one of said modules, including the Directory Module, with said digital version of predetermined text, and wherein said hash function element is conditioned to hash said at least one module preceded with said digital version of predetermined text.
Claim 10
Dependent Claim
15 words
The apparatus set forth in claim 9 characterized in that said predetermined text is OPENTV(TM).
Claim 11
Dependent Claim
64 words
The apparatus set forth in claim 1 characterized in that said Directory Module includes a signature S calculated using a RSA algorithm with modulus N and exponent e, and includes quotients Q1, Q2 derived from the signature S by division by the modulus N, and said processor is conditioned to verify said signature S using the quotients Q1 and Q2 without performing arithmetic division.
Claim 12
Independent Claim
157 words
A method of processing executable applications which are transmitted as modules, in multiplexed packet format, said modules including a Directory Module containing information linking respective further application modules, said Directory Module having an encrypted certificate attached which contains information about the provider of the application, and which certificate is encrypted by a system provider's private key, said method characterized by; detecting and selecting packets including a desired application, and storing payloads of respective packets as respective modules; selecting a Directory Module with encrypted certificate attached; decrypting the certificate with the system provider's public key; Comparing information in decrypted said certificate with corresponding stored data; hashing ones of said application modules to produce module hash values; comparing said module hash values with corresponding module hash values transmitted in said Directory Module; and executing an application if corresponding produced and transmitted hash values are identical and decrypted information contained in said certificate is equivalent to said corresponding stored data.
Claim 13
Dependent Claim
96 words
The method set forth in claim 12 wherein said certificate includes an application providers public key and said Directory Module has a hash value of said Directory Module attached, which hash value is encrypted with said application provider's private key, and said method further characterized by the steps of: extracting said application provider's public key from decrypted said certificate and separating encrypted said hash value from said Directory Module; decrypting encrypted said hash value using said application provider's public key; and comparing decrypted said encrypted hash value with a hash value of detected said Directory Module.
Claim 14
Dependent Claim
42 words
The method set forth in claim 12 further characterized by appending a digital form of the text OpenTv(Tm) to said Directory Module prior too hashing said Directory Module, and hashing said Directory Module with said digital form of the text OpenTv(tm) appended.
Claim 15
Dependent Claim
152 words
Apparatus for transmitting executable applications characterized by; a processor (10,11,12) for generating an executable application, and forming said application into modules containing portions of said application and a Directory Module containing information linking modules in an application; a hash function element (29,30) for performing one-way hash functions on modules of said application to produce corresponding hash values, and cooperating with said processor for inserting said hash values in said Directory Module; a source (10) of an application provider's public key and a certificate signed with a private key of a system controller and including, an application provider's identifier, and a time stamp related to one of the time of generation and the time of expiration of the certificate; means (11,12) for attaching said application provider's public key and said certificate to said Directory Module; and a transport processor (14,16) for forming a time division multiplexed signal with said modules of said application.
Claim 16
Dependent Claim
52 words
The apparatus set forth in claim 15 further characterized by: encryption apparatus for encrypting a hash value of said Directory Module containing hash values of said application modules, with a private key of said application provider; and means for attaching encrypted said hash value of said Directory Module to said Directory Module.
Claim 17
Dependent Claim
85 words
The apparatus set forth in claim 15 characterized in that ones of said modules are Data Modules in which data is expected to change during execution of said application, and said processor applies version numbers to respective modules, and changes the version number of a module when such module changes; said hash function element hashes each changed version of a module to produce a new hash value and cooperates with said processor to attach said new hash value to the module to which it corresponds.
Claim 18
Dependent Claim
55 words
The apparatus set forth in claim 15 further characterized by: a source of a digital version of predetermined text; a multiplexer for multiplexing said digital version of predetermined text with said Directory Module, wherein said hash function element is conditioned to hash the combination of said digital version of predetermined text and the Directory Module.
Claim 19
Independent Claim
83 words
A method of transmitting executable applications characterized by: generating an executable application and segmenting it into modules; forming a Directory Module including information linking respective application modules; hashing respective modules with a one way hash function to generate hash values for respective modules; including hash values for respective modules in said Directory Module; accessing a certificate including an application provider's identity which certificate is encrypted with a system controller's private key; and attaching the certificate to said Directory Module, and transmitting said application.
Claim 20
Dependent Claim
43 words
The method set forth in claim 19 further characterized by: hashing the directory Module with hash values included therein, to generate a Directory Module hash value; encrypting the Directory Module hash value; attaching encrypted said Directory Module hash value to said Directory Module;
Claim 21
Dependent Claim
41 words
The method set forth in claim 19 further characterized by: generating a further certificate including identification of a third party provider; encrypting the further certificate with the application provider's private key; and attaching encrypted said further certificate to said Directory Module.
Claim 22
Dependent Claim
34 words
The method set forth in claim 20 further characterized by: encrypting said Directory Module with an application provider's private key, and transmitting said encrypted Directory Module; and transmitting remaining application modules in plain text.
Claim 23
Dependent Claim
77 words
The method set forth in claim 19 characterized in that the step of including hash values in said Directory Module includes respective hash values of 128 bit length; and the step of attaching the certificate to said Directory Module includes attaching a Certificate including: a 32 bit certificate descriptor or flags, a 32 bit ID, a 32 bit lifetime expiration descriptor, a 32 bit file storage limit, a 128 bit name, and a 32 bit public key.