WO2007034373A2 - Time-controlled operation - Google Patents
Time-controlled operation Download PDFInfo
- Publication number
- WO2007034373A2 WO2007034373A2 PCT/IB2006/053255 IB2006053255W WO2007034373A2 WO 2007034373 A2 WO2007034373 A2 WO 2007034373A2 IB 2006053255 W IB2006053255 W IB 2006053255W WO 2007034373 A2 WO2007034373 A2 WO 2007034373A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- output signal
- pseudo random
- initial state
- states
- physical output
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000008859 change Effects 0.000 claims description 9
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 1
- 230000006866 deterioration Effects 0.000 claims 1
- 230000001960 triggered effect Effects 0.000 claims 1
- 230000005236 sound signal Effects 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 2
- 102100038023 DNA fragmentation factor subunit beta Human genes 0.000 description 1
- 101100277639 Homo sapiens DFFB gene Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/66—Substation equipment, e.g. for use by subscribers with means for preventing unauthorised or fraudulent calling
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
- Selective Calling Equipment (AREA)
Abstract
The present invention relates to a method and an device for enabling time- controlled operation of an object. A basic idea of the present invention is to control, in a deterministic manner, operation time of an object, e.g. an electronic appliance such as a mobile phone or a computer, a software program such as an echo-cancellation algorithm implemented in a mobile phone or a piece of executable code implemented on a computer, etc., resulting in a physical output signal. The manner in which the operation time is controlled should be obfuscated such that a malicious intruder cannot identify the control function that determines the operation time of the object by means of probing and/or reverse engineering the object to eliminate, remove or bypass the control function. Preferably, the actual control should be made as indistinguishable as possible from 'normal' processing.
Description
Time-controlled operation
The present invention relates to a method and a device for enabling time- controlled operation of an object.
Time-controlled operation is a feature that typically is required and implemented in various electronic devices that are delivered to potential customers for demonstration purposes. For example, a mobile phone delivered for demonstration purposes will be programmed in such a manner that it only will be up-and-running for a predetermined time period. When the period expires, the mobile phone will be turned off or in some other appropriate way be controlled to change its behavior such that it becomes useless. For instance, time-controlled operation may be used in a GSM speech enhancing demonstration program to be run on a mobile phone. When a predetermined time period of e.g. 30 seconds has expired, the program terminates. However, by employing reverse engineering, a hacker or malicious third party may disable or bypass the time-controlled operation such that usage of the electronic device can be continued.
In the prior art, time-controlled operation may e.g. be implemented by means of continuously checking a clock value in an electronic appliance to see if the predetermined clock value has expired or to use a counter that for instance counts the number of software instructions that have been processed. These methods of implementing time-controlled operation have the disadvantage that they are relatively easy to discover and manipulate by an intruder to eliminate or bypass the operation control and thus continue to use the electronic appliance.
An object of the present invention is to mitigate the previously mentioned problems in the prior art and to hamper elimination or bypassing of time-controlled operation in an electronic appliance.
This object is attained by a method of enabling time-controlled operation of an object in accordance with claim 1 and a device for enabling time-controlled operation of an object in accordance with claim 10.
In a first aspect of the present invention, there is provided a method comprising the steps of setting an initial state of a pseudo random function, setting the object in an operating mode, wherein the object generates a physical output signal, advancing through states of the pseudo random function until a final state is reached, wherein the states of said function are arranged such that the time it takes to advance from the initial state to the final state corresponds to a predetermined time period and initiating a mode change for the object, wherein the object generates a physical output signal which differs from the output signal generated in the operating mode.
In a second aspect of the present invention, there is provided a device comprising means for setting an initial state of a pseudo random function, means for setting the object in an operating mode, wherein the object generates a physical output signal, means for advancing through states of the pseudo random function until a final state is reached, wherein the states of said iunction are arranged such that the time it takes to advance from the initial state to the final state corresponds to a predetermined time period and means for initiating a mode change for the object, wherein the object generates a physical output signal which differs from the output signal generated in the operating mode. A basic idea of the present invention is to control, in a deterministic manner, operation time of an object, e.g. an electronic appliance such as a mobile phone or a computer, a software program such as an echo-cancellation algorithm implemented in a mobile phone or a piece of executable code implemented on a computer, etc., resulting in a physical output signal. The manner in which the operation time is controlled should be obiuscated such that a malicious intruder cannot identify the control function that determines the operation time of the object by means of probing and/or reverse engineering the object to eliminate, remove or bypass the control function. Preferably, the actual control should be made as indistinguishable as possible from "normal" processing. For instance, if a digital processing function such as codec is to be controlled, the control preferably appears to be embodied as a codec software module.
A pseudo random function is employed to control the operation of the object for a predetermined time period. By setting the pseudo random function - implemented by means of e.g. a linear feedback shift register (LFSR) - in an initial state when the object is set in an operating mode, it is possible to maintain the object in its operating mode for a
predetermined time period. For instance, the object to be controlled is a mobile phone, and the resulting output signal may be an audio signal coming out of the mobile phone earpiece, which audio signal is dependent on mobile phone gain. When the phone is set in operating mode, a nominal value of the gain is set, and the mobile phone operates in its "normal" operating mode.
After the function is set in its initial state, pseudo random iunction states are advanced until a final state is reached. When the final state is reached, a mode change is initiated for the object. This mode typically implies that the object is set in a non-operating mode; it may for instance be set in an idle mode or even be turned off. It is also possible that it is set in a mode where its performance is degraded, or where an error report is issued. A skilled person realizes that there exist a great number of operating modes in which the object may be set, depending on what type of object is to be controlled. For instance, in accordance with the mobile phone example given in the above, the mobile phone gain is set to a nominal value in the operating mode. When the final state of the pseudo random iunction is reached, the mobile phone is set in a non-operating mode. For example, the gain is rapidly increased (or decreased or oscillated). At this point, the volume of the audio signal coming out of the mobile phone earpiece increases (or decreases or oscillates) rapidly. Hence, it is possible to maintain the mobile phone in "normal" operating mode, i.e. keep its output signal at the nominal value, for a predetermined time period. When the period has expired, the output signal deteriorates to such an extent that the object cannot be used.
By arranging the number of states (and the length of each state) of the function such that the time it takes to advance from the initial state to the final state corresponds to the predetermined time period for which the object is to be set in its operating mode, it is possible to deterministically control the operation time. The present invention is advantageous for a number of reasons. First, by employing a pseudo random function such as an LFSR, the time-controlled operation appears to be non-deterministic even though it actually is deterministic. This is also an easy and cost- effective way of implementing the time-controlled operation. Second, the number of states of the function required to attain the predetermined time period is not implemented as a parameter which may be read by a hacker. Third, the initial state and the final state, which are implemented as numerical state values, can be chosen at random and is as such similar in appearance to other digital processing parameters. Fourth, the test of checking whether the final state has been reached is similar to other digital processing threshold tests. As can be seen, the time-controlled operation may be "hidden" in data processing blocks instead of
hiding it in control processing blocks, as is typically done in prior art. Since the time- controlled operation of the present invention mimics other typical signal processing computation steps, the operation control is difficult to identify.
The invention may advantageously be implemented in embedded realizations of digital processing functions such as DSP algorithms, codec's, etc. Algorithms that are to be considered as valuable intellectual property blocks and that are delivered to third parties for demonstrations purposes in embedded devices may advantageously be protected by means of the present invention.
It should further be noted that the object to be controlled may comprise a software module which produces a physical output signal when set in an operating mode, and which is rendered inoperative when a mode change is initiated in that the physical output signal is changed in such a manner that usage of the software module no longer is meaningful.
Further features of, and advantages with, the present invention will become apparent when studying the appended claims and the following description. Those skilled in the art realize that different features of the present invention can be combined to create embodiments other than those described in the following.
A detailed description of exemplifying embodiments of the present invention will be given in the following with reference made to the accompanying drawing.
Fig. 1 shows an example of a pseudo random function in the form of a 3-bit linear feedback shift register (LFSR) which advantageously may be employed to realize the present invention.
Figure 1 shows an example of a pseudo random function in the form of a 3-bit linear feedback shift register (LFSR) which advantageously may be employed to realize the present invention. In practice, the number of bits employed is considerably higher than illustrated in Figure 1. An LFSR is a shift register that, when clocked, advances a signal through the register from one output to a next most-significant output. Some of the outputs, in this particular example outputs FF2 OUT, FF3 OUT of second and third flip-flops DFF2, DFF3, are combined in an exclusive-OR gate to form a signal that is fed back to an input D of first flip-flop DFFl. When the outputs of the flip-flops are loaded with an initial value, i.e.
the flip-flops are set in an initial state, and when the LFSR is clocked by applying a (square- wave) signal to a clock input CLK of each flip-flop, it will generate a pseudorandom pattern of Is and 0s. Table 1 shows different states of this particular LFSR when loaded with a given initial value. Table 1. LFSR states
Initial state
As can be seen in Table 1, it takes 7 clock cycles to reach the final state from the initial state. Hence, if the clock is set to have a frequency of e.g. 1 MHz, it takes 7 μs to complete one full cycle of the LFSR. A pseudo random function implemented with the LFSR of Figure 1 cycles through 7 different states without repetition. On the 8th clock pulse, a cycle is completed, and the LFSR is set in its initial state once again. If an operation time of e.g. 12 μs is required, the clock frequency should be set to 583 kHz, given that a 3 -bit LFSR is employed.
The pseudo random function may for example be implemented in an electronic appliance such as a mobile phone to control a speech enhancing algorithm. Initialization of the algorithm may be undertaken at power on of the mobile phone, wherein an initial state of the LFSR is set and the algorithm is started. Then, the states of the LFSR are advanced by clocking the registers. At the same time, one or more operations defined by algorithm are performed. When the final state of the LFSR is reached, whereby a predetermined time period has expired, the algorithm is terminated. Hence, operation of the algorithm is controlled for the predetermined time period it takes to complete a full cycle of the LFSR. Typically, the LFSR is coupled to a microprocessor (not shown) or some other device with computing capabilities. The LFSR may be implemented by means of discrete components, but may also be implemented by means of an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a complex programmable logic device (CPLD) or
some other appropriate hardware device. The LFSR may alternatively be implemented by means of a software program which performs the pseudo random function.
It should be noted that a number of objects in the form of software programs or electronic appliances may be controlled with the same LFSR, and the predetermined time period may be shifted in time by choosing different initial states and corresponding
(different) final states: one object may be controlled by applying the initial state and final state of Table 1, while another object may have an initial state of 001 and a final state of 011, i.e. be shifted in time by two states, and hence still be controlled with a time period of 7 clock cycles. Even though the invention has been described with reference to specific exemplifying embodiments thereof, many different alterations, modifications and the like will become apparent for those skilled in the art. The described embodiments are therefore not intended to limit the scope of the invention, as defined by the appended claims.
Claims
1. A method of enabling time-controlled operation of an object resulting in a physical output signal, which method comprises the steps of: setting an initial state of a pseudo random function; setting the object in an operating mode, wherein the object generates a physical output signal; advancing through states of the pseudo random function until a final state is reached, wherein the states of said function are arranged such that the time it takes to advance from the initial state to the final state corresponds to a predetermined time period; and initiating a mode change for the object, wherein the object generates a physical output signal which differs from the output signal generated in the operating mode.
2. The method of claim 1, wherein advancement from the initial state to the final state should be performed without repeating any states of the pseudo random function.
3. The method according to claim 1 , wherein the object to be controlled is an electronic appliance.
4. The method according to claim 1, wherein the object to be controlled is a software program.
5. The method according to claim 1, wherein the step of setting an initial state is triggered by an object event.
6. The method according to claim 5, wherein the object event comprises a start- up of the object.
7. The method according to claim 1 , wherein the step of initiating a mode change comprises the step of setting the object in a non-operating mode.
8. The method according to claim 1, wherein the pseudo random function comprises a linear feedback shift register.
9. The method according to claim 1, wherein the physical output signal generated at the mode change is arranged such that it reflects a deterioration in performance of the object.
10. A device for enabling time-controlled operation of an object resulting in a physical output signal, which device comprises: means for setting an initial state of a pseudo random function; means for setting the object in an operating mode, wherein the object generates a physical output signal; means for advancing through states of the pseudo random function until a final state is reached, wherein the states of said function are arranged such that the time it takes to advance from the initial state to the final state corresponds to a predetermined time period; and means for initiating a mode change for the object, wherein the object generates a physical output signal which differs from the output signal generated in the operating mode.
11. A computer program product comprising computer-executable components for causing a device to perform the steps recited in claim 1 when the computer-executable components are run on a processing unit included in the device.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05108580 | 2005-09-19 | ||
EP05108580.1 | 2005-09-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2007034373A2 true WO2007034373A2 (en) | 2007-03-29 |
WO2007034373A3 WO2007034373A3 (en) | 2008-08-21 |
Family
ID=37889198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2006/053255 WO2007034373A2 (en) | 2005-09-19 | 2006-09-13 | Time-controlled operation |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2007034373A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2008717A2 (en) | 2007-06-28 | 2008-12-31 | Sony Corporation | Reaction device with accurate temperature control |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5383143A (en) * | 1994-03-30 | 1995-01-17 | Motorola, Inc. | Self re-seeding linear feedback shift register (LFSR) data processing system for generating a pseudo-random test bit stream and method of operation |
WO1997024894A1 (en) * | 1995-12-29 | 1997-07-10 | Stx Corporation | Nonreusable cellular telephone |
US6057719A (en) * | 1998-06-05 | 2000-05-02 | International Business Machines Corporation | Programmable, self-resetting divider |
-
2006
- 2006-09-13 WO PCT/IB2006/053255 patent/WO2007034373A2/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5383143A (en) * | 1994-03-30 | 1995-01-17 | Motorola, Inc. | Self re-seeding linear feedback shift register (LFSR) data processing system for generating a pseudo-random test bit stream and method of operation |
WO1997024894A1 (en) * | 1995-12-29 | 1997-07-10 | Stx Corporation | Nonreusable cellular telephone |
US6057719A (en) * | 1998-06-05 | 2000-05-02 | International Business Machines Corporation | Programmable, self-resetting divider |
Non-Patent Citations (1)
Title |
---|
ZANGER L M: "Law Review-still no agreement on repossession issues" IEEE SOFTWARE USA, vol. 9, no. 3, May 1992 (1992-05), pages 97-98, XP002432957 ISSN: 0740-7459 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2008717A2 (en) | 2007-06-28 | 2008-12-31 | Sony Corporation | Reaction device with accurate temperature control |
Also Published As
Publication number | Publication date |
---|---|
WO2007034373A3 (en) | 2008-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6616471B2 (en) | Stochastic processing | |
US8150900B2 (en) | Random number generation based on logic circuits with feedback | |
US7206797B2 (en) | Random number slip and swap generators | |
Golic | New methods for digital generation and postprocessing of random data | |
EP1782181B1 (en) | Method and apparatus for generating random data | |
JP3732188B2 (en) | Pseudo random number generator | |
TWI374649B (en) | Digital random number generator based on digitally-controlled oscillators | |
CN110413257B (en) | Random number generating circuit | |
JP5165755B2 (en) | Cryptographic random number generator using finite field operations | |
US20040076293A1 (en) | Random number generator using compression | |
KR20110074878A (en) | System and method to execute a linear feedback-shift instruction | |
WO2007034373A2 (en) | Time-controlled operation | |
JP5150642B2 (en) | Efficient data integrity protection | |
KR100871221B1 (en) | Pseudorandom binary sequence generation method and apparatusin a communication system using linear feedback shift register | |
JP5119417B2 (en) | Pseudo random number generator | |
KR100446317B1 (en) | System for protecting data of code ROM in code ROM test | |
JPH10340183A (en) | Random number generating circuit | |
JP2002521771A (en) | Clock-controlled integrated semiconductor circuit and method of operating the integrated semiconductor circuit | |
Singh et al. | FPGA Implementation of Chaos based Pseudo Random Number Generator | |
JP2004157168A (en) | Random number generator | |
JP6386904B2 (en) | Random number generation apparatus and random number generation method | |
JP4114722B2 (en) | State circuit | |
Monisha et al. | Implementation of RNG in FPGA using efficient resource utilization | |
KR20030093197A (en) | Random number generator using compression | |
JPH05327427A (en) | Random pulse generator and random pulse generating method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase in: |
Ref country code: DE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 06809292 Country of ref document: EP Kind code of ref document: A2 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06809292 Country of ref document: EP Kind code of ref document: A2 |