This invention generally relates to electronic devices that require an independent knowledge of time.
Electronic digital media devices referred herein as media devices are digital devices that include digital media storage. Some examples are mobile phones, multimedia players and flash drives. Some of these digital devices contain software and digital content such as audio files. Some can receive new digital content or software.
In some cases there exists a requirement to protect digital data in various ways such as duplication in the case of copyrighted digital data. In some cases digital data is protected with a policy based on time, such as the ability to use the digital data for a specified amount of time or until a specified time is reached. In these cases the device is required to know the current time or to tell when a specified time has elapsed in order to enforce these time based policies.
Digital devices that make use of protected digital data usually have a means to measure time. The user of the digital device can usually change the device set time. In other cases the user can remove the power source of the device, causing the time measuring module to stop functioning. In such cases, some connection to an external server may be required in order to set the time. However requiring a connection to an external entity such as a secure server or an external appliance is not always possible and is therefore a disadvantage for the user.
In some devices, an internal battery powered clock may be embedded. This however is more costly, and battery may run out at some point.
There is thus a widely recognized need for a digital device to be able to independently enforce data usage policies based on time, and it would be highly advantageous to have such a system devoid of the above limitations.
According to one aspect of the present invention there is provided an autonomous digital device comprising:
According to a second aspect of the present invention there is provided a method of enforcing time dependent usage policies on data resources within a digital device without having a continuous power source, the method comprising:
According to a third aspect of the present invention there is provided a method of enforcing time dependent usage policies for downloadable content in a digital device without having a continuous power source, the method comprising:
According to a fourth aspect of the present invention there is provided a time measuring apparatus, capable of measuring time duration without continuous supply of power comprising:
Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The materials, methods, and examples provided herein are illustrative only and not intended to be limiting.
Implementation of the method and system of the present invention involves performing or completing certain selected tasks or steps manually, automatically, or a combination thereof. Moreover, according to actual instrumentation and equipment of preferred embodiments of the method and system of the present invention, several selected steps could be implemented by hardware or by software on any operating system of any firmware or a combination thereof. For example, as hardware, selected steps of the invention could be implemented as a chip or a circuit. As software, selected steps of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system. In any case, selected steps of the method and system of the invention could be described as being performed by a data processor, such as a computing platform for executing a plurality of instructions.
The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings, in which:
It will be appreciated that, for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to obscure the present invention.
The present invention includes several embodiments that can be realized using an autonomous digital device described herein. In this disclosure an autonomous digital device is described where the device can independently protect content enclosed within device according to time-based policy rules. Digital device can independently protect content with time-based policy rules without requiring a connection to an external entity and without requiring an continuous internal power source.
In the description herein below, the term “non-volatile storage” refers to storage media that remains unchanged when power is shut off. For example, flash memory and hard-drive magnetic media.
In the description below, the term “independent time estimation unit” refers to a unit able to estimate the duration of a passing period of time within a certain range of accuracy, without a continuous power source. Examples of such a unit is presented in
Reference is now made to
In some embodiments, digital appliance 110 may include a clock and report its current time to the media device 100 through I/O module 108. The time received from digital appliance 110 could be false and is not trusted automatically. The time received from digital appliance 110 is checked to be within the accepted range of internal independent determined time. If the time reading from digital appliance is consistent with internal independent determined time, then time reading may be accepted as the updated current time. Otherwise media device may ignore external reading or limit device protected files, for example until a secure connection to a trusted server is established.
The determined internal current time is stored in secure non-volatile storage 103. Secure non-volatile storage 103 cannot be accessed from digital appliance and is protected from being tampered with. During device operation, independent measuring unit 102 may be reset to prepare for the next device power down, while an internal powered clock (not shown in
With independent time measuring unit and secure non-volatile memory, media device may independently calculate the current time or have a knowledge of the minimum time that has passed from a past trusted time measurement. With this knowledge of time, media device may enforce time-based policies for content having time based policies. For example, access control unit 109 may limit data usage within non-volatile memory 106, based on policies stated in secure non-volatile memory 103. The enforcement of the time-dependent policies is made with the prior knowledge of the limitations and approximations of the independent time measuring module 102. Please note that controller 104 may have access to various types of volatile and non-volatile memory such as RAM, ROM, FLASH, EPROM, Magnetic Disk media etc, not included in the drawing for clarity. Please note that other modules may be included in the media device not included in the drawing for clarity.
In some embodiments the media device 100 may not be a separate entity from a digital appliance 110 as illustrated in
Reference is now made to
In step 201 user requests to download content from a secure server into media device. The downloaded content is restricted and can be used according to a downloaded time limiting policy, to be used until a certain time is reached for example. The content restriction is made with the use of access control unit 109. During download process initial trusted time is received from server in a secure communication between media device and server. The secure time is stored in secure non-volatile memory 103 within media device.
In step 202 user turns off the device. Some examples for this may be disconnecting a media device with no independent power source such as a flash drive from a PC, turning off a portable device and removing its batteries etc. This means that any powered clock requiring continuous supply of power cannot be used to determine the current time.
In step 203 user turns on media device. Some examples for this may be connecting a media device with no independent power source to a PC, turning on a portable device etc. The user now requests to use a protected file with a time limiting policy.
In step 204 an independent time measuring unit 102 capable of operating without a continuous power supply within a given accuracy range, makes a time measurement outputting minimum and maximum time to media device. Previous trusted time range is incremented by these values to present current trusted time accuracy range.
In step 205 media device optionally receives a time readings from external digital appliance such as a PC. If the received time falls within current trusted time range calculated by step 204, the external time becomes the current trusted time. Otherwise this time can be ignored or other action may be taken, for example locking protected files until a connection to a trusted server is made and trusted time is once again received.
In step 206 the current determined time range as calculated in steps 204 and 205 is stored in secure non-volatile storage 103. This time measurement will be used as the trusted time of step 204 following the next time device is turned off and on again. At this time independent time measuring unit 103 may be reset to start timing once again.
In step 207 media device checks protected file time restriction policy with independently determined time and can accordingly allow or disallow file usage in an independent manner. The file usage access can be controlled through the access control unit 109.
This series of steps of
Reference is now made to
The description herein describes module 302 and applies to all modules 302 to 330. The charging of a capacitor 310 in module 302, is made while the media device is operational and connected to a digital appliance 110 in this example. In this case power supply is available from the digital appliance and Switch 312 closes, in which case capacitor 310 is charged through the resistor 308 by a DC voltage source 304, 306. The capacitor is charged at the rate of V(t)=V0(1−Eˆ−t/RC) referred to herein as Equation 1, where V0 is the DC voltage source 304, 306; t stands for time, R is the resistance of resistor 308, C is the capacitor 210 E is the natural exponential function. We will refer to tau=R*C as the Time Constant. The process of charging the capacitor 310 to five times the Time Constant can be made quickly, depending on values of resistor 308. While power supply no longer exists and/or Switch 312 is switched off, the capacitor 310 discharges through virtual resistor 314 according to equation V(t)=V0*Eˆ−t/RC referred to herein as Equation 2, where V0 is the Initial voltage across the capacitor 310 once power is removed from capacitor 310. (switch 312 is disconnected and/or power is terminated). t stands for time from when capacitor 310 was removed from power source, R is the resistance of virtual resistor 314, C is the capacitor 310 E is the natural exponential function. As power is connected (switch 312 switched off and/or no power is supplied through 304, 306), switch 318 is closed and voltmeter 316 measures the voltage across capacitor 310. According to the voltage reading V(t), V0 calculation, resistance of virtual resistor 314 and capacitor 310, the time duration t that the module 302 has not been connected to a power source, can be measured according to equation 2. The fact that Equation 2 never fully discharges, and the fact that very sensitive voltmeters exist today, along with very efficient capacitors, it is possible to measure time durations which media device was not connected to a power source, up to limitations of voltmeter 316. It is always possible to tell at worst case that media device has been disconnected from a digital appliance 110 for at least a certain period of time, based on the limitation of the measuring voltmeter 316. Suppose measuring voltmeter 316 minimum reading is VL and the reading falls under that limitation. It is possible to state that the capacitor 310 has not been connected to power source for at least t=RC*ln(Vo/VL) where R is the resistance of virtual resistor 314, C is capacitor 310, Vo initial voltage across capacitor.
The voltage across capacitor 310 may vary dramatically between orders of magnitude of the DC power source 304, 306 to very small values with time according to equation 2. For this reason several modules 302 to 330 are presented, each with a voltmeter with a different sensitivity range for measuring different ranges of voltages. An example for applying a measurement is to first attempt to measure voltage across the capacitor 310 with less sensitive voltmeter 316 in circuit 302, until a valid measurement is reached or until the most sensitive voltmeter 324 is reached.
In some embodiments, the capacitors in each circuit may be different.
In some embodiments a Super Capacitor such as of NEC TOKIN corporation (http://www.nec-tokin.com) may be used as the capacitor(s) in
In some embodiments a capacitor may be used to power an internal clock. This clock may be used to give a precise time measurements for a certain period of time. In some embodiments this clock powered by a capacitor may be used in conjunction with another capacitor such as in
In some embodiments one or more circuits may be left uncharged in order to check for hardware tampering. More than a single circuit may be left uncharged.
In some embodiments a single circuit may be used with a single voltmeter; In some embodiments a voltmeter with adjustable sensitivity may be used; In some embodiments different types of capacitors, resistors and/or other components may be used.
In some embodiments a different type of time measuring method may be used, electrical, chemical, physical and so forth. This invention relates to a module that does not require an external power supply while time is being measured and that the mechanism is time dependent so that the elapsed time may be calculated. The use of the RC circuit above is just one simple example among other examples that may be utilized for the purpose of telling how much time (or how much minimum time) has elapsed since power has been removed from media device. One such electrical example is related to the manner in which flash memory operates. This example is explained in
In some embodiments an RC circuit can be used among a series of circuits, which at a certain voltage across the capacitor level triggers a mechanism to start another discharge. This may occur even with another power source or rechargeable source. This invention may be used in addition to other technologies.
Reference is now made to
In step 401 modules of
In step 402 the read voltage in step 401 is checked against the range of the next voltmeter in the next module. If the read voltage is larger than the next voltmeter range in the next module, or if the last module has been reached, step 404 follows. Otherwise, step 403 follows.
In step 403 the next module is chosen and step 401 is repeated for this following module. In this manner finer readings can be made.
In step 404 a check is made whether the final voltmeter reading is greater than zero. If the reading is not greater than zero, this is referred to as reaching the limitation of the voltmeter measurement. If this is reached, step 405 follows. Otherwise, step 406 follows.
In step 405 the voltmeter is not sensitive enough to make a measurement. In this case a minimum time is set to have passed. This minimum time is calculated during device manufacturing and is measured as the minimum time that must have elapsed, in order to discharge the capacitor to this state. Since more time could have actually passed from the minimum time, a flag referred to as Total Discharge Flag is raised, to indicate that significantly more time than estimated may have passed. Accordingly relevant action may follow if required.
In step 406 a minimum and maximum time range is set according to voltmeter reading and factory measurements of the properties of the precision of that reading and accuracy range of the capacitor virtual resistance 314.
This series of steps displays how the time period a media device has not been connected to a power source may be determined or approximated. This period of time may be represented by a time range, or by a minimum elapsed time value.
Reference is now made to
In step 501 the time duration that media device has been without a power supply is received. This can be made by method as in
In step 502 the previous recorded time the device was active is retrieved from secure non-volatile storage 103. The minimum and maximum times of the time range of step 501 are added respectively to the previous recorded time to result in the current time range. In case the Total Discharge Flag is set, a minimum current time is determined.
In step 503 the current time is optionally received from digital appliance 110. If no such device exists, step 506 follows.
In step 504 a consistency check is made between the possible current time range from step 502 and the current time reported in step 503. If the result is consistent, step 510 follows. If the result is not consistent, or time from step 503 is not available, step 506 follows.
In step 510 the reported time 503 is accepted as the current time. This time is then updated to secure non-volatile storage 103. In the case where the Total Discharge Flag is set, some of the features of the device may optionally be locked until an authorized trusted server reports the current time in a secure and trusted manner. At this point the independent time measure module 102 may be initialized and prepared for the next power shutdown.
In step 506 the minimum time of step 502 is taken to be the current time. The new current time is updated to secure non-volatile storage 103.
In some embodiments, when current time received from digital appliance 110 is available but does not fall in the expected range of results 502 some limitations may be imposed on the user since this may indicate possible hacking. As an option, some of the features of the device may be locked until a connection to an authorized trusted server is made. Another option is to request the user to enter the current time and/or warn the user. Another alternative is to take no action further than step 506.
This series of steps displays how the current time, may be determined by media device using the time range of
Reference is now made to
In some embodiments a series of cells of
Reference is now made to
It may be appreciated by those skilled in the art of the present invention that the following advantages exist in this invention, over the existing mechanisms:
Accordingly, the reader will see that the closure of this invention provides a method for a media device to independently enforce time dependent usage policies even when a device does not include an internal power supply to be used for keeping time while device is off. This means that time-dependent models can be introduced to digital content on devices, which do not include an internal power source with an internal clock. These time-dependent models can be introduced to withstand hackers who may attempt to tamper with the time reported to the device, attempting to bypass time-dependent usage policies of the device-protected content.
Furthermore the media device with independent enforcement of time based policies has additional advantages in that:
Although the description above contains many specifications, these should not be constructed as limiting the scope of the invention but as merely providing illustrations of some exemplary embodiments of this invention.
For example, a different manner of measuring the time that has passed may be used to the RC circuit presented in
While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.
This application claims the benefit of U.S. Provisional Patent Ser. No. 60/672,954, filed Apr. 20, 2005 by the present inventor.
Number | Date | Country | |
---|---|---|---|
60672954 | Apr 2005 | US |