METHOD AND APPARATUS FOR ADJUSTING DECRYPTION KEYS
In a digital cinema system, a Secure Clock can drift over time, possibly presenting the ability to playout a digital cinema presentation near the end of the validity interval of a decryption key. To accommodate for the drift in the Secure Clock, the validity interval of the decryption key is adjusted in accordance with the time difference between a secure time value and a present time value.
This invention relates to keys used to decrypt content, such as a digital cinema presentation.
BACKGROUND ARTToday, a growing number of motion picture theaters now display content in digital form, rather than in analog form (e.g., film). A typical digital cinema system in an exhibition venue (e.g., a motion picture theater) comprises a Media Block for decrypting digital motion picture content for subsequent display. The Media Block performs the decryption using decryption keys associated with the content. The Society of Motion Picture and Television Engineers (SMPTE) has published Standard 430-1 Digital Cinema Operations Key Distribution Message (KDM) that describes a KDM message that serves as a key for decrypting previously encrypted digital cinema content. The KDM message has a validity interval defined by entries in the NotValidBefore and NotValidAfter fields whose entries are repeated for non-authoritative human readability in the ContentKeysNotValidBefore and ContentKeysNotValidAfter elements.
The Media Block includes a Secure Clock set at the time of manufacture. The Secure Clock should not drift by more than 5 minutes per year, the presently allowed threshold. The Secure Clock of the Media Block serves as the mechanism for evaluating the usability of keys with respect to their validity interval. If the current time and date, as determined by the Secure Clock within the Media Block, lies outside the validity interval of the key, then the Media Block will refuse to use that key to decrypt content. (The Media Block can use another key to decrypt the same content, even if the key has a different validity interval, as long as the that validity interval remains current, that is, the interval overlaps the present time.)
At times near the beginning and end of a key's validity interval, the accuracy of the Secure Clock becomes critically important. If the Secure Clock has drifted by fifteen or twenty minutes several years after manufacture, the Media Block could lack the ability to successfully deliver a performance of a newly released movie at a given time. For example, assume that a theater has a scheduled screening of a particular digital cinema presentation at midnight and possesses a key whose validity expires just after that time. Thus, a show scheduled to start at 12:01 AM, even with ten or fifteen minutes of trailers, probably would not undergo playout at 12:15 AM, disrupting the scheduled performance.
Thus, a need exists for a technique that accommodates for the drift of a Secure Clock in a Media Block.
BRIEF SUMMARY OF THE INVENTIONBriefly, in accordance with a preferred embodiment of the present principles, there is provided a method for accommodating for the drift in the Secure Clock of a Media Block in a Digital Cinema System. The method comprises the step of adjusting a validity interval of a key for decrypting content in accordance with the time difference between a secure time value and a present time value.
Screen Server 110 accesses encrypted content from a Database 116, which can exist internally within the screen server or external thereto as shown in
A Key Generator 150 produces the key(s) employed by the Media Block 112 necessary for the presentation of encrypted content 116 in response to a order entry generated by an Order Entry Device 156, which can take the form of a human-operated terminal or an automated order collection and generation system. In practice, the Key generator 150 does not reside at the exhibition venue. The order entry received by the Key Generator 150 typically has a validity interval specified in the local time of the exhibition theatre, which defines when the key becomes effective and when the key expires. Normally, the Key Generator 150 generates keys whose validity interval is expressed in Greenwich Mean Time (GMT). To assure the proper offset from the local exhibition time contained in the order entry, the Key generator 150 typically accesses a Screen Server Database 132 over a connection 152, which is preferably secure, to determine the time zone offset associated with the target exhibition theatre.
Delivery of keys from the Key generator 150 to the Screen Server 110 for receipt by the Media Block 112 occurs over a Delivery Channel 154. The Delivery Channel 154 can take one of several different forms. In practice, the Delivery Channel 154 can comprise a wired link (including, but not limited to, metallic and/or fiber conductors) and/or a wireless link. The delivery channel 154 could also comprise a common carrier for delivery of one or more key-containing memories physically shipped to the exhibition theatre. A Theatre Management System (not shown) can comprise part of key delivery channel 154. Preferably, the Key Delivery Channel 154 comprises a network connection that traverses the Internet 140 or an alternate communication channel (not shown). Preferably, such a network connection takes the form of a Virtual Private Network (VPN) between the Key Generator 150 and the exhibition theatre. Alternatively, the Theater Management System can serve as an intermediary between the delivery of keys, regardless of delivery method, and the Screen Server 110.
In accordance with an illustrative embodiment of the present principles, a Secure Clock Monitor 130 monitors the Secure Clock 114 via a Clock Monitor Channel 134. As with the Key Delivery Channel 154, the Clock Monitor Channel 134 preferably comprises a network connection, which can pass through the Theater Management System to relay information about the Secure Clock 114 to the Secure Clock monitor 130. The Secure Clock Monitor 130 compares the time value of the Secure Clock 114 against the time value provided by a Reference Clock 142. In place of, or in addition to the Secure Clock Monitor 130 monitoring the Reference clock 142, the Secure Clock 114, the Screen Server 110, and/or the Theater Management System (not shown), could perform such monitoring.
Rather than comprise a single clock, the Reference Clock 142 could comprise a plurality of synchronized clocks. Access to the Reference Clock 142 can occur using the Network Time Protocol (NAP) to provide good quality synchrony of local clocks (not shown) when used as a proxy for the Reference Clock 142. Access to the Reference clock 142 typically exists through the Internet 140 via a connection 144. Those skilled in the art will recognize that a local clock maintaining synchronism with a Reference Clock (e.g., through NTP) can serve as the basis for comparison of the Secure Clock 114 to the Reference Clock 142. The Secure Clock Monitor 130 transmits the result of such a comparison over a link 136 to the Screen Server Database 132 for storage.
The Secure clock Monitor 130 preferably restricts the values entered into Screen Server database 132 by reading stored information concerning prior monitored values of Secure Clock 114. Such a restriction rule preferably includes a limitation such that a change in the offset to the Secure Clock 114 should not exceed a pre-determined equivalent drift rate since the last update for the same clock. For example, assume that the anticipated maximum drift rate R will not exceed 300 seconds (five minutes) per year, and a policy P allows resetting the Secure Clock by up to 200% of the anticipated maximum drift rate. Then, if the time T since the last update is 1/12 of a year (one month), a maximum allowable change in the current offset for Secure Clock 114 should not exceed the value given by R*P*T=300*2.0* 1/12 which equals 50 seconds. An attempt to violate a restriction rule preferably gives rise to a warning, which an operator can override, but a record of the warning will remain.
The Secure Clock Monitor 130 also preferably tracks an identifier unique to the Media Block 112 or the Secure Clock 114, for instance, a cryptographic certificate. In this way, upon replacement of the Server 110 or the Media Block 112, the Secure Clock Monitor 130 can detect the presence of a different Secure Clock 114 and that a different rule might apply with regard to changing the offset of that clock in the digital cinema system 100.
Preferably, monitoring of the Secure Clock 114 by the Secure Clock Monitor 130 occurs over a network connection using the secure Simple Network Management Protocol version 3 (SNMPv3). Using this protocol allows the Media Block 112 or the Secure Clock 114 to authenticate responses to queries regarding the current time. However, those skilled in the art will recognize that numerous other protocols exist that provide authenticated communication suitable for ensuring that the Secure Clock 114 provides the reported time. Alternatively, if the response for the current time from the Secure Clock 114 lacks authentication but previous, trusted results reside in the Screen Server database 132, then a non-authenticated report can serve to update the Screen Server Database, provided the current reading does not violate any rules or policies for update, such as the examples given above.
In another embodiment, especially suitable for use if the Digital Cinema System 100 lacks a connection to the Internet 140 or other communication network, the Clock Monitor Channel 134 could comprise a human operator interrogating the Secure Clock 114 and reporting its value to Secure Clock Monitor 130 or a remote operator having an interface (not shown) and access to the Secure Clock Monitor. As before, so long as previous, trusted results reside in the Screen Server Database 132, then a manually provided report could serve to update the Screen Saver Database, provided the report does not violate any rules or policies for update. Preferably, the Secure Clock 114 can provide a terse, human readable report, for example to control panel 124, that includes a checksum that incorporates information regarding both the current reading and the Media Block 112 or Secure. Clock 114 identity, to provide detectability of a mis-entered or mis-attributed entry through the Control Panel 124. Note that manual updates provided to the Secure Clock Monitor 130 through the control panel 124 likely will have poorer accuracy than automatically gathered readings. Different rules can exist for such lower accuracy readings as compared to those for automatic readings.
In an alternate embodiment (not shown), a Theater Management System could have responsibility for managing multiple digital cinema systems, for example all digital cinema systems at a single exhibition theatre. Under such circumstances, the Theater Management System would have access to each Secure Clock 114 for which it is responsible. Subsequently, the Theater Management System would interact with the Secure Clock Monitor 130 of each digital cinema system and transfer information concerning the accuracy and drift of each Secure Clock 114. Further, the Theater Management System MS could have direct or indirect access to the Reference Clock 142, for example using NTP, and could report to the Secure Clock Monitor 103 the current offset of each Secure Clock 114 relative to the Reference Clock 142.
The Secure Clock Monitoring Process 200 commences upon initiation (e.g., start-up) of the Secure Clock Monitor 130 of
During step 208, the difference between offset of the Secure Clock 114 relative to the Reference Clock 142 is determined and the value is stored in Screen Server database 132 in conjunction with the reading of the Reference Clock 142 obtained during step 204. Alternatively, the reading of the Secure Clock 114 obtained during step 206 can undergo storage instead of the offset value since the offset value can be calculated at a later time.
During step 210, the rate of drift of the Secure Clock 114 of
where sn and rn are the current values of the Secure Clock 114 and the Reference Clock 142, respectively, at corresponding readings n, respectively. If the values of s and r are in seconds, then the drift is measured in seconds of drift per second elapsed, which should not exceed ±0.158 μS per second (i.e., 5 seconds per year).
During step 212 of
Initiation of the Key Adjustment Process 250 commences upon execution of step 252 which occurs upon receipt of outstanding orders exist for key generation from the Order Entry device 156 of
During step 258, an authoritative offset for Secure Clock 114 of
The foregoing describes a process for both updating a secure clock, and for updating a key for content decryption in accordance with the secure clock offset.
Claims
1. A method comprising the step of:
- adjusting a validity interval of a key for decrypting content in accordance with a time difference between a secure time value and a current time value.
2. The method according to claim 1 wherein the adjusting step further comprises the steps of:
- reading a secure clock to obtain the secure time value; and
- comparing the secure to the current time value.
3. The method according to claim 1 wherein the adjusting step further comprises the steps of:
- determining a time zone offset for a desired exhibition location; and
- converting the validity interval from Greenwich Mean Time to local time in accordance with the time zone offset.
4. The method of claim 1 wherein adjustment of the validity interval of the key commences upon acceptance of an order to generate a key for content decryption.
5. The method according to claim 1 further comprising the step of distributing the key following validity adjustment to media block that decrypts the content in accordance with the key.
6. A method comprising the step of:
- adjusting a validity interval of a content decryption key in accordance with a time difference between a secure time value and a current time value; and
- decrypting an encrypted digital cinema presentation in accordance with the content decryption key.
7. The method according to claim 6 wherein the adjusting step further comprises the steps of:
- reading a secure clock to obtain the secure time value; and
- comparing the secure to the current time value.
8. The method according to claim 6 wherein the adjusting step further comprises the steps of:
- determining a time zone offset for a desired exhibition location; and
- converting the validity interval from Greenwich Mean Time to local time in accordance with the time zone offset.
9. The method of claim 6 wherein adjustment of the validity interval of the key commences upon acceptance of an order to generate a key for content decryption.
10. The method according to claim 9 further comprising the step of distributing the key following validity adjustment to a screen server.
11. Digital cinema apparatus comprising:
- a secure clock for providing a secure time value for determining the time validity of a decryption key;
- a reference clock for providing a current time value; and
- a secure clock monitor for establishing a time difference value between a secure time value and a current time value for adjusting a validity interval associated with the decryption key.
12. The apparatus according to claim 11 further comprising a database for storing the time difference value.
13. The apparatus according to claim 11 further comprising a key generator for adjusting the decryption key in accordance with the time difference value stored in the database.
Type: Application
Filed: May 8, 2007
Publication Date: Apr 29, 2010
Inventor: Redmann William Gibbens (Glendale, CA)
Application Number: 12/450,533