US20090287942A1 - Clock roll forward detection - Google Patents

Clock roll forward detection Download PDF

Info

Publication number
US20090287942A1
US20090287942A1 US12/120,146 US12014608A US2009287942A1 US 20090287942 A1 US20090287942 A1 US 20090287942A1 US 12014608 A US12014608 A US 12014608A US 2009287942 A1 US2009287942 A1 US 2009287942A1
Authority
US
United States
Prior art keywords
file
time
content
storage
tampering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US12/120,146
Other versions
US8769675B2 (en
Inventor
Pierre Betouin
Augustin J. Farrugia
Nicholas Sullivan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Priority to US12/120,146 priority Critical patent/US8769675B2/en
Assigned to APPLE, INC. reassignment APPLE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BETOUIN, PIERRE, FARRUGIA, AUGUSTIN J., SULLIVAN, NICHOLAS
Assigned to APPLE INC. reassignment APPLE INC. CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE COMPANY NAME PREVIOUSLY RECORDED ON REEL 021278 FRAME 0824. ASSIGNOR(S) HEREBY CONFIRMS THE COMPANY NAME SHOULD BE CORRECTED FROM APPLE, INC. TO APPLE INC. Assignors: BETOUIN, PIERRE, FARRUGIA, AUGUSTIN J., SULLIVAN, NICHOLAS
Publication of US20090287942A1 publication Critical patent/US20090287942A1/en
Application granted granted Critical
Publication of US8769675B2 publication Critical patent/US8769675B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/0084Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific time or date
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Definitions

  • This invention relates to computers, data security, and more specifically to controlling use of time-related digital content using Digital Rights Management.
  • DRM 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.
  • 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.
  • a local connection such as a USB (universal serial bus) connection
  • an associated playback-only device such as an audio or video media player
  • DRM Digital Rights Management
  • a user purchases the rights to access an item of content for a given period of time such as a month where typically the content is distributed as a digital file over the Internet but including tangible media such as DVDs, CDs, etc.
  • the role of DRM software in this situation is to allow the content to be accessed by the user during the agreed upon period of time and disallow access at any other time. See Vataja, U.S. Publication No. 2005/0204209, published Sep. 15, 2005 and McKune, U.S. Publication No. 2002/0169974, published Nov. 14, 2002, both incorporated herein by reference in their entirety.
  • DRM digital versatile disc read-only memory
  • the DRM software connects across a network (e.g., the Internet) to a secure time server and queries the current time. If the time returned over the network from the server is within the correct period, the DRM software allows playback.
  • a network e.g., the Internet
  • the DRM software allows playback.
  • This scheme has a major drawback; the user must be connected to the network at the time of content playback. This restriction is not feasible for certain mobile playback devices without network connectivity, in situations where content needs to be accessed offline and for platforms (playback devices) with no internal secure hardware clock.
  • the present inventors have found that a new solution is needed for enforcing content time restrictions on platforms that are not connected to a network and do not have a secure hardware clock.
  • the present solution is a process and system that checks the status of the host system (e.g., a user media playback device) with respect to the system clock. The expectation is that if the system's clock has been set backwards by a “hacker” (a person who wants to defeat the DRM), the associated host's file system will exhibit some telltale signs of this manipulation.
  • a “hacker” a person who wants to defeat the DRM
  • One problem with looking at the current state of a system is that the state of a system tends to realign itself. This is especially true if in the attack the system clock is only changed for a small period of time.
  • An attack here generally refers to altering of time to by-pass time protection associated with a content item.
  • the host system is e.g., a computer, personal digital assistant, media playback device, cellular telephone device with media playback capability, or other type of computing device.
  • the usual clock roll-forward attack involves the hacker choosing a specific time far in the future as the active time period for an asset (item of content protected by DRM). Access to the content is granted by moving the system clock forward to that date. Once the asset has been accessed by the hacker, the clock is returned by the hacker to the actual date and the system will realign itself. To access the asset again at a later date, the hacker sets the clock to a future date within the active time period of the asset.
  • the present approach detects this attack by an event detection mechanism using particular stored state information about the host system. Every time an asset is opened, time information is stored about a subset of system files. The present method then determines (detects) if the system has been subjected to a roll-forward attack by comparing the current time information of those files with the previously recorded time and the last time the files were scanned. If there has been a roll-forward attack, then access to the keys needed to decrypt the content item is denied by the DRM system. McKune, referred to above, also detects clock tampering by doing a comparison of current time with a stored time.
  • time stamp was not modified since the last time it was checked or the time stamp was modified after the last time checked it. If a file's time is older than the last scan time but different than the previous time it was checked, something has happened out of order. In this case, the clock likely has earlier been rolled back to before the previous scan time, or the clock has been set to a future date when the last scan occurred.
  • the present method detects when a file has been modified when the system clock has been rolled forward and also detects if the file's modification time has been tampered with to hide this modification.
  • 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.
  • 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.
  • 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.
  • FIG. 1 shows in a flowchart the present method.
  • the DRM system with this method added is designated at 10 and interacts with the conventional host system operating system 12 .
  • the database of files referred to above is secure, e.g., encrypted, and to be accessed its content is decrypted at 16 .
  • Next at 18 it is determined if every file listed in the database has been queried; if “yes” the database is updated as described above at 20 and the “sanity” check is deemed passed at 22 , whereupon access is granted to the content item. If “no” at 18 , next at 26 the next file in the database is queried.
  • the current digest e.g., hash
  • Digests of files may be replaced here by any file content identification technique.
  • a weak such technique is a sample of the first and last bytes, and a set of random offset bytes (of fixed length) and would improve performance over use of a hash by reducing computational time at the expense of weaker security.
  • a strong technique is using known hash algorithms as described above performed on the entire file content.
  • the file database would contain, e.g., entries for either all the files listed in a given directory, or for a sample of random files located in these directories. This sample approach would be useful for directories containing a large number of files (such as logs, mail cache, or a web browser cache).
  • Coding the software to carry out the present method would be routine in light of this disclosure.
  • a typical computer language for the source code software would be C, although usually only the compiled version (object code) of the software would be installed in the host device in a memory.
  • the method the memory medium in the host system holding the associated code, and the resulting host system programmed with the code so as to carry out the method.
  • FIG. 2 shows in a block diagram the environment of the FIG. 1 method and an associated apparatus 64 operating in that environment.
  • the conventional DRM server 56 and content server 58 are part of e.g. an on-line (Internet based) store for selling and/or renting audio and video content items (assets) which are stored in encrypted form on content server 58 and conventionally distributed over the Internet 62 to a playback device (host system) 64 which receives the encrypted or otherwise protected content and the associated DRM data from server 56 including usually decryption keys, at its port 68 .
  • the encrypted content is conventionally stored in device 64 content storage memory 72 and the DRM keys in storage 76 .
  • Device 64 also has conventionally its system clock 80 and file storage directory 86 .
  • This directory (or set of directories) is a directory to the files in storage 72 and is maintained conventionally by the host system's operating system 14 (shown in FIG. 1 but omitted from FIG. 2 for simplicity).
  • individual files listed in directory 86 are each subject to a hash function at hash calculator 88 and the resulting hash value and the current time as indicated by system clock 80 are encrypted at encryptor 92 and stored in the secure data base storage 96 in their encrypted form.
  • database 96 is accessed at 26 in FIG. 1 upon invocation of the present method, the associated entry in database 96 is decrypted at decryptor 98 to provide the relevant file identification value (the hash value) and the file system time.
  • This information is subject to the tests shown at 10 in FIG. 1 , using as the other input to logic tests 10 the current time as indicated by system clock 80 .
  • the output from test 10 is the database update shown at 20 , 34 in FIG. 1 , and if the logic test is passed an enable signal (shown at 22 in FIG. 1 ) is provided to enable key store 76 to provide its keys.
  • the keys are supplied then to conventional decryptor 102 to decrypt the associated content.
  • the decrypted content item is then passed to the conventional playback mechanism 106 for play.
  • operation of device 64 is conventionally under control of a processor (not shown) which executes the operating system 10 and the operations shown in FIG. 1 and FIG. 2 .
  • the present method and apparatus are applicable in number of contexts, including a host device coupled to a conventional computer network such as the Internet, and a personal area network (PAN) where a PAN is a computer network operating over a very short distance such as a few meters.
  • a host device coupled to a conventional computer network such as the Internet
  • PAN personal area network
  • a PAN is a computer network operating over a very short distance such as a few meters.

Abstract

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.

Description

    FIELD OF THE INVENTION
  • This invention relates to computers, data security, and more specifically to controlling use of time-related digital content using Digital Rights Management.
  • BACKGROUND OF THE INVENTION
  • 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.
  • One of the major challenges in Digital Rights Management is the implementation of time enforcement. There is a time-dependent factor in many applications of DRM, notably in the protection of rental content (such as video programs, movies, etc.). In this scenario, a user purchases the rights to access an item of content for a given period of time such as a month where typically the content is distributed as a digital file over the Internet but including tangible media such as DVDs, CDs, etc. The role of DRM software in this situation is to allow the content to be accessed by the user during the agreed upon period of time and disallow access at any other time. See Vataja, U.S. Publication No. 2005/0204209, published Sep. 15, 2005 and McKune, U.S. Publication No. 2002/0169974, published Nov. 14, 2002, both incorporated herein by reference in their entirety.
  • Many current DRM schemes have this functionality and enforce it by using a secure time server or hardware clock. When the user tries to access the content using his playback device, the DRM software connects across a network (e.g., the Internet) to a secure time server and queries the current time. If the time returned over the network from the server is within the correct period, the DRM software allows playback. This scheme has a major drawback; the user must be connected to the network at the time of content playback. This restriction is not feasible for certain mobile playback devices without network connectivity, in situations where content needs to be accessed offline and for platforms (playback devices) with no internal secure hardware clock.
  • SUMMARY
  • The present inventors have found that a new solution is needed for enforcing content time restrictions on platforms that are not connected to a network and do not have a secure hardware clock. The present solution is a process and system that checks the status of the host system (e.g., a user media playback device) with respect to the system clock. The expectation is that if the system's clock has been set backwards by a “hacker” (a person who wants to defeat the DRM), the associated host's file system will exhibit some telltale signs of this manipulation. One problem with looking at the current state of a system is that the state of a system tends to realign itself. This is especially true if in the attack the system clock is only changed for a small period of time. An attack here generally refers to altering of time to by-pass time protection associated with a content item.
  • The host system is e.g., a computer, personal digital assistant, media playback device, cellular telephone device with media playback capability, or other type of computing device.
  • The usual clock roll-forward attack involves the hacker choosing a specific time far in the future as the active time period for an asset (item of content protected by DRM). Access to the content is granted by moving the system clock forward to that date. Once the asset has been accessed by the hacker, the clock is returned by the hacker to the actual date and the system will realign itself. To access the asset again at a later date, the hacker sets the clock to a future date within the active time period of the asset.
  • The present approach detects this attack by an event detection mechanism using particular stored state information about the host system. Every time an asset is opened, time information is stored about a subset of system files. The present method then determines (detects) if the system has been subjected to a roll-forward attack by comparing the current time information of those files with the previously recorded time and the last time the files were scanned. If there has been a roll-forward attack, then access to the keys needed to decrypt the content item is denied by the DRM system. McKune, referred to above, also detects clock tampering by doing a comparison of current time with a stored time.
  • There are two possible results when checking a time stamp of a file on a computer system with a currently valid (non-tampered with) forward-moving clock: the time stamp was not modified since the last time it was checked or the time stamp was modified after the last time checked it. If a file's time is older than the last scan time but different than the previous time it was checked, something has happened out of order. In this case, the clock likely has earlier been rolled back to before the previous scan time, or the clock has been set to a future date when the last scan occurred. The present method detects when a file has been modified when the system clock has been rolled forward and also detects if the file's modification time has been tampered with to hide this modification.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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.
  • DETAILED DESCRIPTION
  • 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.
  • FIG. 1 shows in a flowchart the present method. The DRM system with this method added is designated at 10 and interacts with the conventional host system operating system 12. (Some media playback devices do not have a conventional operating system but do include equivalent functionality.) The database of files referred to above is secure, e.g., encrypted, and to be accessed its content is decrypted at 16. Next at 18 it is determined if every file listed in the database has been queried; if “yes” the database is updated as described above at 20 and the “sanity” check is deemed passed at 22, whereupon access is granted to the content item. If “no” at 18, next at 26 the next file in the database is queried. Then at 30 that file is checked as having a previous time and hash value. If “no” at 30, next at 34 a temporary database entry is created for that file with the currently time and the file time. If “yes” at 30, next at 38 the current file time is checked and if “yes” control passes to 34. If “no” at 38, control passes to 40 where the current time is checked against the previous time in the database for that file.
  • If “yes” at 40, control passes to 44 where the current digest (e.g., hash) value for that file is matched to the digest (e.g., hash) value for that file in the database. If “no” at 44, the check is failed at 48, as is the case for “no” at 40. If the test is failed, the current content item access is denied. No digest check is done if the file time is more recent than the last scan time, since then the file may have been altered for a valid reason since the time stamp has moved forward.
  • Digests of files (using, e.g., hash functions such as MD5, SHA-1, SHA-2 or others) may be replaced here by any file content identification technique. A weak such technique is a sample of the first and last bytes, and a set of random offset bytes (of fixed length) and would improve performance over use of a hash by reducing computational time at the expense of weaker security. A strong technique is using known hash algorithms as described above performed on the entire file content.
  • The file database would contain, e.g., entries for either all the files listed in a given directory, or for a sample of random files located in these directories. This sample approach would be useful for directories containing a large number of files (such as logs, mail cache, or a web browser cache).
  • Coding the software to carry out the present method would be routine in light of this disclosure. A typical computer language for the source code software would be C, although usually only the compiled version (object code) of the software would be installed in the host device in a memory. Hence contemplated here is the method, the memory medium in the host system holding the associated code, and the resulting host system programmed with the code so as to carry out the method.
  • FIG. 2 shows in a block diagram the environment of the FIG. 1 method and an associated apparatus 64 operating in that environment. The conventional DRM server 56 and content server 58 are part of e.g. an on-line (Internet based) store for selling and/or renting audio and video content items (assets) which are stored in encrypted form on content server 58 and conventionally distributed over the Internet 62 to a playback device (host system) 64 which receives the encrypted or otherwise protected content and the associated DRM data from server 56 including usually decryption keys, at its port 68. The encrypted content is conventionally stored in device 64 content storage memory 72 and the DRM keys in storage 76.
  • Device 64 also has conventionally its system clock 80 and file storage directory 86. This directory (or set of directories) is a directory to the files in storage 72 and is maintained conventionally by the host system's operating system 14 (shown in FIG. 1 but omitted from FIG. 2 for simplicity). As shown in FIG. 1, individual files listed in directory 86 are each subject to a hash function at hash calculator 88 and the resulting hash value and the current time as indicated by system clock 80 are encrypted at encryptor 92 and stored in the secure data base storage 96 in their encrypted form.
  • Then when database 96 is accessed at 26 in FIG. 1 upon invocation of the present method, the associated entry in database 96 is decrypted at decryptor 98 to provide the relevant file identification value (the hash value) and the file system time. This information is subject to the tests shown at 10 in FIG. 1, using as the other input to logic tests 10 the current time as indicated by system clock 80. The output from test 10 is the database update shown at 20, 34 in FIG. 1, and if the logic test is passed an enable signal (shown at 22 in FIG. 1) is provided to enable key store 76 to provide its keys. The keys are supplied then to conventional decryptor 102 to decrypt the associated content. The decrypted content item is then passed to the conventional playback mechanism 106 for play. Note that operation of device 64 is conventionally under control of a processor (not shown) which executes the operating system 10 and the operations shown in FIG. 1 and FIG. 2.
  • The present method and apparatus are applicable in number of contexts, including a host device coupled to a conventional computer network such as the Internet, and a personal area network (PAN) where a PAN is a computer network operating over a very short distance such as a few meters.
  • This disclosure is illustrative but not limiting; further modifications will be apparent to those skilled in the art in light of this disclosure and are intended to fall within the scope of the appended claims.

Claims (25)

1. A method for detecting tampering with timing in a system, wherein the system stores a plurality of files, comprising the acts of:
storing for each file a time;
storing for each file a content identification value;
subsequently accessing for each file the stored content identification value and the stored time;
determining for each file if its stored time is equal to or more recent than a current time, and otherwise indicating tampering;
and if the stored time is equal to the current time, determining for the file if the stored content identification value is the same as a current content identification value for the file and otherwise indicating tampering; and
allowing access to a content item if there is no indication of tampering.
2. The method of claim 1, further comprising, if there is no indication of tampering, storing a new current time for each file.
3. The method of claim 1, wherein the act of allowing access includes providing at least one key for decrypting the content item.
4. The method of claim 1, wherein the method is part of a Digital Rights Management system.
5. The method of claim 4, wherein the Digital Rights Management system sets a time period for access to the content item.
6. The method of claim 1, wherein the time is maintained by a clock associated with the system.
7. The method of claim 1, wherein the system is a computer, mobile telephone device, media playback device, or personal digital assistant.
8. The method of claim 1, wherein the system is not connected to a network during the method.
9. The method of claim 1, wherein the method detects a clock roll-forward attack on the system timing.
10. The method of claim 1, wherein the acts of storing store in a secure manner.
11. The method of claim 1, wherein the secure manner includes encryption.
12. The method of claim 1, wherein the acts of storing include arranging the time and content identification value for each file in a database.
13. The method of claim 1, wherein the content identification value is one of a digest or selected portions of the content of the file.
14. The method of claim 1, further comprising the acts of:
applying the method to all files in a directory.
15. The method of claim 1, further comprising the acts of:
applying the method only to selected files in a directory.
16. A computing device programmed to perform the method of claim 1.
17. A computer readable medium storing computer code for execution in a computing device to perform the method of claim 1.
18. A media playback apparatus comprising:
a playback mechanism;
a content storage storing a plurality of files and operatively coupled to the playback mechanism;
a system clock;
a second storage storing for each file a time as determined by the system clock and a content identification value;
a test logic operatively coupled to the system clock and to the file storage and which determines for each file identified in the second storage if its stored time is equal to or more recent than a current time from the system clock and otherwise indicating tampering;
and if the stored time is equal to the current time, determining for the file if the stored content identification value is the same as a current content identification value for the file and otherwise indicating tampering; and
allowing access to a content item in the content storage if there is no indication of tampering.
19. The apparatus of claim 18, wherein if there is no indication of tampering, the test logic stores in the second storage a new current time for each file.
20. The apparatus of claim 18, further comprising a key storage for storing keys for decrypting the content files, and wherein the test logic allows access by providing at least one of the stored keys.
21. The apparatus of claim 18, wherein the apparatus is a computer, mobile telephone device, media playback device or personal digital assistant.
22. The apparatus of claim 18, wherein the second storage is secure.
23. The apparatus of claim 22, wherein the data in the second storage is encrypted.
24. The apparatus of claim 18, wherein the second storage is arranged as a database.
25. The apparatus of claim 18, wherein the content indentification value is one of a digest or selected portions of the content of the file.
US12/120,146 2008-05-13 2008-05-13 Clock roll forward detection Active 2031-06-18 US8769675B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/120,146 US8769675B2 (en) 2008-05-13 2008-05-13 Clock roll forward detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/120,146 US8769675B2 (en) 2008-05-13 2008-05-13 Clock roll forward detection

Publications (2)

Publication Number Publication Date
US20090287942A1 true US20090287942A1 (en) 2009-11-19
US8769675B2 US8769675B2 (en) 2014-07-01

Family

ID=41317282

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/120,146 Active 2031-06-18 US8769675B2 (en) 2008-05-13 2008-05-13 Clock roll forward detection

Country Status (1)

Country Link
US (1) US8769675B2 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080307237A1 (en) * 2007-06-08 2008-12-11 Michael Holtzman Method for improving accuracy of a time estimate used to authenticate an entity to a memory device
US20080307508A1 (en) * 2007-06-08 2008-12-11 Conley Kevin M Method for using time from a trusted host device
US20100024000A1 (en) * 2007-06-08 2010-01-28 Michael Holtzman Method for improving accuracy of a time estimate used in digital rights management (DRM) license validation
US20110040976A1 (en) * 2009-08-17 2011-02-17 Rahav Yairi Method and Memory Device for Generating a Time Estimate
US20130004142A1 (en) * 2011-06-29 2013-01-03 Rovi Corp. Systems and methods for device authentication including timestamp validation
US20130091563A1 (en) * 2011-10-06 2013-04-11 Mspot, Inc. Method and apparatus for improved digital rights management
US8688924B2 (en) 2007-06-08 2014-04-01 Sandisk Technologies Inc. Method for improving accuracy of a time estimate from a memory device
US8863310B2 (en) 2011-10-06 2014-10-14 Samsung Information Systems America, Inc. Method and apparatus for improved digital rights management
US8938625B2 (en) 2011-06-29 2015-01-20 Sonic Ip, Inc. Systems and methods for securing cryptographic data using timestamps
US20150317478A1 (en) * 2014-05-05 2015-11-05 Citrix Systems, Inc. Clock Rollback Security
US10884059B2 (en) 2017-10-18 2021-01-05 Hand Held Products, Inc. Determining the integrity of a computing device
EP3905076A1 (en) * 2012-11-04 2021-11-03 Mining IP Limited Content protection
CN113628392A (en) * 2021-08-19 2021-11-09 上海擎朗智能科技有限公司 Time management method, device and storage medium
US11736497B1 (en) * 2018-03-19 2023-08-22 Bedrock Automation Platforms Inc. Cyber security platform and method

Citations (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757908A (en) * 1994-04-25 1998-05-26 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for utilizing an encryption header
US5883954A (en) * 1995-06-07 1999-03-16 Digital River, Inc. Self-launching encrypted try before you buy software distribution system
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6098054A (en) * 1997-11-13 2000-08-01 Hewlett-Packard Company Method of securing software configuration parameters with digital signatures
US6230064B1 (en) * 1997-06-30 2001-05-08 Kabushiki Kaisha Toshiba Apparatus and a method for analyzing time series data for a plurality of items
US6282175B1 (en) * 1998-04-23 2001-08-28 Hewlett-Packard Company Method for tracking configuration changes in networks of computer systems through historical monitoring of configuration status of devices on the network.
US20020019814A1 (en) * 2001-03-01 2002-02-14 Krishnamurthy Ganesan Specifying rights in a digital rights license according to events
US6393126B1 (en) * 1999-06-23 2002-05-21 Datum, Inc. System and methods for generating trusted and authenticatable time stamps for electronic documents
US20020120465A1 (en) * 2001-02-27 2002-08-29 International Business Machines Corporation Utilizing and delivering contents
US20020157002A1 (en) * 2001-04-18 2002-10-24 Messerges Thomas S. System and method for secure and convenient management of digital electronic content
US20020169974A1 (en) * 2001-03-01 2002-11-14 Microsoft Corporation Detecting and responding to a clock rollback in a digital rights management system on a computing device
US20020196940A1 (en) * 2000-06-05 2002-12-26 Iomega Corporation Method and system for providing secure digital music duplication
US20030120939A1 (en) * 2001-12-26 2003-06-26 Storage Technology Corporation Upgradeable timestamp mechanism
US20040024688A1 (en) * 2000-11-10 2004-02-05 Depeng Bi Digital content distribution and subscription system
US20040054894A1 (en) * 2000-10-11 2004-03-18 Lambert Martin R. Method for controlling access to protected content
US20040059813A1 (en) * 2002-09-19 2004-03-25 Bolder Ron Scott Methods and apparatus for configuration change management in communications networks
US20040162787A1 (en) * 2001-06-06 2004-08-19 Justin Madison System and method for controlling access to digital content, including streaming media
US20040187014A1 (en) * 2003-03-18 2004-09-23 Molaro Donald Joseph Method and system for implementing digital rights management
US20050132122A1 (en) * 2003-12-16 2005-06-16 Rozas Carlos V. Method, apparatus and system for monitoring system integrity in a trusted computing environment
US20050188222A1 (en) * 2004-02-24 2005-08-25 Covelight Systems, Inc. Methods, systems and computer program products for monitoring user login activity for a server application
US20050204209A1 (en) * 2004-01-21 2005-09-15 Nokia Corporation Method for utilizing intelligent clock controller in digital rights management
US20050289072A1 (en) * 2004-06-29 2005-12-29 Vinay Sabharwal System for automatic, secure and large scale software license management over any computer network
US20060008256A1 (en) * 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US20060015717A1 (en) * 2004-07-15 2006-01-19 Sony Corporation And Sony Electronics, Inc. Establishing a trusted platform in a digital processing system
US20060064762A1 (en) * 2004-09-15 2006-03-23 Makoto Kayashima System and method for managing expiration date for use of contents in removable media
US20060190535A1 (en) * 2003-11-18 2006-08-24 Nokia Corporation Method, subject terminal device, target terminal device, data content server, system and computer programs for maintaining and updating data contents
US7111026B2 (en) * 2004-02-23 2006-09-19 Hitachi, Ltd. Method and device for acquiring snapshots and computer system with snapshot acquiring function
US7124302B2 (en) * 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US20070143844A1 (en) * 2005-09-02 2007-06-21 Richardson Ric B Method and apparatus for detection of tampering attacks
US20070168484A1 (en) * 2005-09-23 2007-07-19 Widevine Technologies, Inc. Method for evolving detectors to detect malign behavior in an artificial immune system
US20070183742A1 (en) * 2002-07-29 2007-08-09 Sigmatel, Inc. Automated playlist generation
US20070204064A1 (en) * 2004-03-23 2007-08-30 David Mail Optimally adapting multimedia content for mobile subscriber device playback
US20080126773A1 (en) * 2006-06-30 2008-05-29 International Business Machines Corporation Method, system and program product for verifying configuration of a computer system
US20080134297A1 (en) * 2006-11-30 2008-06-05 Microsoft Corporation Advanced content authentication and authorization
US20080152146A1 (en) * 2005-01-24 2008-06-26 Koninklijke Philips Electronics, N.V. Private and Controlled Ownership Sharing
US20080229113A1 (en) * 2004-08-31 2008-09-18 Hitachi, Ltd. Trusted Time Stamping Storage System
US20080235666A1 (en) * 2004-09-09 2008-09-25 International Business Machines Corporation Generating sequence diagrams using call trees
US20080301457A1 (en) * 2007-05-30 2008-12-04 Hitachi, Ltd. Authentication system and apparatus
US7552148B2 (en) * 2006-02-28 2009-06-23 Microsoft Corporation Shutdown recovery
US20100031049A1 (en) * 2007-03-28 2010-02-04 Nec Corporation Time information distribution system, time distributing station, terminal, time information distribution method, and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766305B1 (en) 1999-03-12 2004-07-20 Curl Corporation Licensing system and method for freely distributed information
EP1055990A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company Event logging in a computing platform
EP1056010A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company Data integrity monitoring in trusted computing entity
FR2845494B1 (en) 2002-10-04 2005-08-19 Canal Plus Technologies SOFTWARE AND AUTHENTICATION METHOD THEREOF
EP1735943A4 (en) 2004-04-14 2010-10-06 Digital River Inc Geographic location based licensing system

Patent Citations (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757908A (en) * 1994-04-25 1998-05-26 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for utilizing an encryption header
US7124302B2 (en) * 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5883954A (en) * 1995-06-07 1999-03-16 Digital River, Inc. Self-launching encrypted try before you buy software distribution system
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6230064B1 (en) * 1997-06-30 2001-05-08 Kabushiki Kaisha Toshiba Apparatus and a method for analyzing time series data for a plurality of items
US6098054A (en) * 1997-11-13 2000-08-01 Hewlett-Packard Company Method of securing software configuration parameters with digital signatures
US6282175B1 (en) * 1998-04-23 2001-08-28 Hewlett-Packard Company Method for tracking configuration changes in networks of computer systems through historical monitoring of configuration status of devices on the network.
US6393126B1 (en) * 1999-06-23 2002-05-21 Datum, Inc. System and methods for generating trusted and authenticatable time stamps for electronic documents
US20020196940A1 (en) * 2000-06-05 2002-12-26 Iomega Corporation Method and system for providing secure digital music duplication
US20040054894A1 (en) * 2000-10-11 2004-03-18 Lambert Martin R. Method for controlling access to protected content
US20040024688A1 (en) * 2000-11-10 2004-02-05 Depeng Bi Digital content distribution and subscription system
US20020120465A1 (en) * 2001-02-27 2002-08-29 International Business Machines Corporation Utilizing and delivering contents
US20020169974A1 (en) * 2001-03-01 2002-11-14 Microsoft Corporation Detecting and responding to a clock rollback in a digital rights management system on a computing device
US20020019814A1 (en) * 2001-03-01 2002-02-14 Krishnamurthy Ganesan Specifying rights in a digital rights license according to events
US20020157002A1 (en) * 2001-04-18 2002-10-24 Messerges Thomas S. System and method for secure and convenient management of digital electronic content
US20040162787A1 (en) * 2001-06-06 2004-08-19 Justin Madison System and method for controlling access to digital content, including streaming media
US20030120939A1 (en) * 2001-12-26 2003-06-26 Storage Technology Corporation Upgradeable timestamp mechanism
US20070183742A1 (en) * 2002-07-29 2007-08-09 Sigmatel, Inc. Automated playlist generation
US20040059813A1 (en) * 2002-09-19 2004-03-25 Bolder Ron Scott Methods and apparatus for configuration change management in communications networks
US20040187014A1 (en) * 2003-03-18 2004-09-23 Molaro Donald Joseph Method and system for implementing digital rights management
US20060008256A1 (en) * 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US20060190535A1 (en) * 2003-11-18 2006-08-24 Nokia Corporation Method, subject terminal device, target terminal device, data content server, system and computer programs for maintaining and updating data contents
US20050132122A1 (en) * 2003-12-16 2005-06-16 Rozas Carlos V. Method, apparatus and system for monitoring system integrity in a trusted computing environment
US20050204209A1 (en) * 2004-01-21 2005-09-15 Nokia Corporation Method for utilizing intelligent clock controller in digital rights management
US7111026B2 (en) * 2004-02-23 2006-09-19 Hitachi, Ltd. Method and device for acquiring snapshots and computer system with snapshot acquiring function
US20050188222A1 (en) * 2004-02-24 2005-08-25 Covelight Systems, Inc. Methods, systems and computer program products for monitoring user login activity for a server application
US20070204064A1 (en) * 2004-03-23 2007-08-30 David Mail Optimally adapting multimedia content for mobile subscriber device playback
US20050289072A1 (en) * 2004-06-29 2005-12-29 Vinay Sabharwal System for automatic, secure and large scale software license management over any computer network
US20060015717A1 (en) * 2004-07-15 2006-01-19 Sony Corporation And Sony Electronics, Inc. Establishing a trusted platform in a digital processing system
US20080229113A1 (en) * 2004-08-31 2008-09-18 Hitachi, Ltd. Trusted Time Stamping Storage System
US20080235666A1 (en) * 2004-09-09 2008-09-25 International Business Machines Corporation Generating sequence diagrams using call trees
US20060064762A1 (en) * 2004-09-15 2006-03-23 Makoto Kayashima System and method for managing expiration date for use of contents in removable media
US20080152146A1 (en) * 2005-01-24 2008-06-26 Koninklijke Philips Electronics, N.V. Private and Controlled Ownership Sharing
US20070143844A1 (en) * 2005-09-02 2007-06-21 Richardson Ric B Method and apparatus for detection of tampering attacks
US20070168484A1 (en) * 2005-09-23 2007-07-19 Widevine Technologies, Inc. Method for evolving detectors to detect malign behavior in an artificial immune system
US7552148B2 (en) * 2006-02-28 2009-06-23 Microsoft Corporation Shutdown recovery
US20080126773A1 (en) * 2006-06-30 2008-05-29 International Business Machines Corporation Method, system and program product for verifying configuration of a computer system
US20080134297A1 (en) * 2006-11-30 2008-06-05 Microsoft Corporation Advanced content authentication and authorization
US20100031049A1 (en) * 2007-03-28 2010-02-04 Nec Corporation Time information distribution system, time distributing station, terminal, time information distribution method, and program
US20080301457A1 (en) * 2007-05-30 2008-12-04 Hitachi, Ltd. Authentication system and apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Herberg, "Integrity Check Value and Timestamp TLV Definitions for Mobile Ad Hoc Networks (MANETs)", 5/1/2012, Internet Society, pg. 1-21 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8869288B2 (en) 2007-06-08 2014-10-21 Sandisk Technologies Inc. Method for using time from a trusted host device
US20080307508A1 (en) * 2007-06-08 2008-12-11 Conley Kevin M Method for using time from a trusted host device
US20100024000A1 (en) * 2007-06-08 2010-01-28 Michael Holtzman Method for improving accuracy of a time estimate used in digital rights management (DRM) license validation
US20080307237A1 (en) * 2007-06-08 2008-12-11 Michael Holtzman Method for improving accuracy of a time estimate used to authenticate an entity to a memory device
US8688588B2 (en) 2007-06-08 2014-04-01 Sandisk Technologies Inc. Method for improving accuracy of a time estimate used in digital rights management (DRM) license validation
US8688924B2 (en) 2007-06-08 2014-04-01 Sandisk Technologies Inc. Method for improving accuracy of a time estimate from a memory device
US20110040976A1 (en) * 2009-08-17 2011-02-17 Rahav Yairi Method and Memory Device for Generating a Time Estimate
US8448009B2 (en) * 2009-08-17 2013-05-21 Sandisk Il Ltd. Method and memory device for generating a time estimate
US20130232308A1 (en) * 2009-08-17 2013-09-05 Rahav Yairi Method and Memory Device for Generating a Time Estimate
US8751855B2 (en) * 2009-08-17 2014-06-10 Sandisk Il Ltd. Method and memory device for generating a time estimate
US20130004142A1 (en) * 2011-06-29 2013-01-03 Rovi Corp. Systems and methods for device authentication including timestamp validation
US8938625B2 (en) 2011-06-29 2015-01-20 Sonic Ip, Inc. Systems and methods for securing cryptographic data using timestamps
US20130091563A1 (en) * 2011-10-06 2013-04-11 Mspot, Inc. Method and apparatus for improved digital rights management
US8863310B2 (en) 2011-10-06 2014-10-14 Samsung Information Systems America, Inc. Method and apparatus for improved digital rights management
US8793793B2 (en) * 2011-10-06 2014-07-29 Samsung Information Systems America, Inc. Method and apparatus for improved digital rights management
EP3905076A1 (en) * 2012-11-04 2021-11-03 Mining IP Limited Content protection
US20150317478A1 (en) * 2014-05-05 2015-11-05 Citrix Systems, Inc. Clock Rollback Security
US10114945B2 (en) * 2014-05-05 2018-10-30 Citrix Systems, Inc. Clock rollback security
US10884059B2 (en) 2017-10-18 2021-01-05 Hand Held Products, Inc. Determining the integrity of a computing device
US11736497B1 (en) * 2018-03-19 2023-08-22 Bedrock Automation Platforms Inc. Cyber security platform and method
CN113628392A (en) * 2021-08-19 2021-11-09 上海擎朗智能科技有限公司 Time management method, device and storage medium

Also Published As

Publication number Publication date
US8769675B2 (en) 2014-07-01

Similar Documents

Publication Publication Date Title
US8769675B2 (en) Clock roll forward detection
EP0895148B1 (en) Software rental system and method for renting software
CA2505477C (en) A system and method to proactively detect software tampering
US8838978B2 (en) Content access management using extracted watermark information
CN101894224B (en) Protecting content on client platforms
US8799651B2 (en) Method and system for encrypted file access
Dwoskin et al. Hardware-rooted trust for secure key management and transient trust
EP0895149B1 (en) Computer system for protecting a file and a method for protecting a file
US20050060568A1 (en) Controlling access to data
US20050021948A1 (en) Secure single drive copy method and apparatus
US20060149683A1 (en) User terminal for receiving license
US20070219917A1 (en) Digital License Sharing System and Method
KR20150011802A (en) Method and system for process working set isolation
GB2404536A (en) Protection of data using software wrappers
US9824231B2 (en) Retention management in a facility with multiple trust zones and encryption based secure deletion
US20070239617A1 (en) Method and apparatus for temporarily accessing content using temporary license
US20060253714A1 (en) Information processor, tamper-proof method, and tamper-proof program
US20050060544A1 (en) System and method for digital content management and controlling copyright protection
JP2007188445A (en) Information leakage prevention system and information leakage prevention method
KR101405915B1 (en) Method for writing data by encryption and reading the data thereof
CN113806785B (en) Method and system for carrying out security protection on electronic document
JP2006107305A (en) Data storage device
Liu et al. A license-sharing scheme in digital rights management

Legal Events

Date Code Title Description
AS Assignment

Owner name: APPLE, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BETOUIN, PIERRE;FARRUGIA, AUGUSTIN J.;SULLIVAN, NICHOLAS;REEL/FRAME:021278/0824

Effective date: 20080625

AS Assignment

Owner name: APPLE INC., CALIFORNIA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE COMPANY NAME PREVIOUSLY RECORDED ON REEL 021278 FRAME 0824;ASSIGNORS:BETOUIN, PIERRE;FARRUGIA, AUGUSTIN J.;SULLIVAN, NICHOLAS;REEL/FRAME:021370/0286

Effective date: 20080625

Owner name: APPLE INC., CALIFORNIA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE COMPANY NAME PREVIOUSLY RECORDED ON REEL 021278 FRAME 0824. ASSIGNOR(S) HEREBY CONFIRMS THE COMPANY NAME SHOULD BE CORRECTED FROM APPLE, INC. TO APPLE INC;ASSIGNORS:BETOUIN, PIERRE;FARRUGIA, AUGUSTIN J.;SULLIVAN, NICHOLAS;REEL/FRAME:021370/0286

Effective date: 20080625

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8