Clock roll forward detection
AssigneeApple Inc.
InventorsPierre Betouin, Augustin J. Farrugia, Nicholas Sullivan
Life of this patent
Estimating the term…
Loading patent…
AssigneeApple Inc.
InventorsPierre Betouin, Augustin J. Farrugia, Nicholas Sullivan
Estimating the term…
Method and apparatus to detect clock roll-forward attacks in a computing device or similar system. This protects against hackers who tamper with the system clock of, for instance, a digital media playback device in order to access a content item which has been rented for a limited time. By detecting clock roll-forward tampering, the present method and system prevent such hackers from accessing the content item outside its authorized rental time period.
A method for detecting tampering with timing in a system before allowing access to a piece of protected content, wherein the time is maintained by a clock associated with the system, the method comprising:
A computing device comprising:
A non-transitory machine readable medium for storing a computer program for execution in a computing device, the computer program comprising sets of instructions for:
Dependencies are inferred from the claim text.
From the US filing history. Foreign family members aren’t listed.
Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity: protecting distributed…
Generating or distributing clock signals or signals derived directly therefrom: time supervision arrangements, e.g. real time clock
Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems: certifying or…
In cryptographic circuits: operating on a secure reference time value
About 4 years 8 months of term left · ends 18 Jun 2031 (estimated)
This invention relates to computers, data security, and more specifically to controlling use of time-related digital content using Digital Rights Management.
This disclosure relates to Digital Rights Management (DRM) for protection of audio and/or video data in a playback device such as a computer or computing device or audio or video media player. DRM refers to standards and proprietary systems where a content item has associated data that specifies user rights. The protection of digital content transferred between computers over a network and transferred from a computer or other host device or a server to an associated playback device is important for many organizations. The DRM process often involves encrypting the pieces of content (e.g., encrypting the binary form of the content) to restrict usage to those who have been granted a right to the content, which is typically pieces of music or video programs.
Cryptography is the traditional protection method, but for many digital file transfer situations, a party that legitimately receives the content might try to break the DRM protection scheme, so as to give illicit access to third parties or himself. Hence, an identified weak link in the DRM security is in the overall process, rather than the encryption scheme. For instance, one of the more successful DRM schemes distributes music and video content via the Internet. The DRM system distributes to a user's computer content that has been encrypted. The user's computer then decrypts the received content, generates local keys for encrypting the content, and uses the local keys to re-encrypt the content. Typically, the content in encrypted form may also be downloaded, via a local connection such as a USB (universal serial bus) connection, to an associated playback-only device such as an audio or video media player, which similarly decrypts and re-encrypts the content before playing same.
FIG. 1 is a flowchart of the present method.
FIG. 2 is a block diagram of a host system to carry out the FIG. 1 method.
The first time the present method is called by the DRM system in the host system, the present method records the current file system time (the system clock time) of several specifically selected files and stores each of the file system times in a secure database associated with the DRM in the host system. These files are typically content files, system files, user preference files or cache files. Secure here means difficult for a hacker to tamper with, such as encrypted. A digest is taken of the content of each of these files and also stored in the database. This digest may be computed using a hash function, or otherwise. Hash functions are well known in the data security field; they are one-way functions which generate a value from digital data, where the data cannot be (practically) generated from its hash function value. Hash functions are often used for verification and authentication of data. This establishes an initial state for the host system.
Subsequently, when the present method is again called by the DRM system, the secure database is accessed and the system times of the files listed in the database are queried. The method is called when verifying system integrity, usually at playback time of an item of content. The present method is typically implemented in software (as is the rest of the DRM system) and called (invoked) as a routine or software module by the DRM system. A “sanity” check of the returned values from the query is performed by the method. This means that the time of a file is judged valid if it has not changed since the last such check or it has changed to a value more recent than that of the last such check. Failing this check indicates that the file has been modified, accessed or changed by the hacker while the system clock was in an unnatural state as a result of the hacker's tampering.
Furthermore, if the file itself has been modified, then its digest by definition will be different. If the time of last modification of the file has not changed, but the file's digest is different, this indicates that the last modification time of the file has been tampered with. If this check is passed, then the current time is added to the database under “last scan time” and the modification time and current digest of each file is added to the database.