Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
2000-04-18
2003-04-01
Baderman, Scott (Department: 2184)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C714S051000, C714S049000, C717S126000, C717S127000
Reexamination Certificate
active
06543012
ABSTRACT:
FIELD OF THE INVENTION
This invention relates to a method of detecting incorrect sequences of code execution, and more particularly, to detecting execution of sequences of program code in a processor in an incorrect order.
BACKGROUND OF THE INVENTION
As is known, many computer programs have subroutines, or sequences of code, embedded therein, which are not necessarily provided at the point of the program where they are to be executed and which may need to be executed several times over the course of execution of the complete program. Thus, there may well be routines or subroutines, (hereinafter called “code sequences”) which need to be called to by the code sequence being executed, with, in some cases, subroutines calling other subroutines in a stacked fashion.
When the processor system executing the program is subjected to environmental stress, such as electromagnetic radiation, while it is in operation, the contents of the program counter, or stack pointer, which tracks which subroutines are being called, can become altered. This changes the normal sequence of execution and the behaviour of the system becomes unpredictable. Software errors can have the same result.
If an incorrect sequence of code execution continues after such an alteration or error, without detection, it might allow the system to perform sensitive operations that could compromise the security of the system. This is undesirable in many cases, especially, for example, in smartcards, where the cryptographic keys might be modified unintentionally.
Many methods of detecting such incorrect sequences of code execution are known, but most, if not all, have deficiencies in certain circumstances, or require a large amount of computational resources, which may be unavailable in some applications, for example smartcards.
BRIEF SUMMARY OF THE INVENTION
The present invention therefore seeks to provide a method of detecting incorrect sequences of code execution which overcomes, or at least reduces the above-mentioned problems of the prior art.
Accordingly, the invention provides a method of detecting illegal execution of code sequences, the method comprising the steps of: a) setting an active identifier to a first sequence identifier of a first code sequence; b) executing at least part of the first code sequence; c) calling, from the first code sequence, a second code sequence-having a second sequence identifier; d) providing, to the second code sequence, a caller sequence identifier and a callee sequence identifier; e) checking, in the second code sequence, whether the callee sequence identifier is the same as the second sequence identifier; f) checking, in the second code sequence, whether the caller sequence identifier is the same as the active identifier; and g) generating a signal when either of steps (e) or (f) provide incorrect results.
REFERENCES:
patent: 4074229 (1978-02-01), Prey
patent: 4571677 (1986-02-01), Hirayama et al.
patent: 4864569 (1989-09-01), DeLucia et al.
patent: 5278840 (1994-01-01), Cutler et al.
patent: 5341497 (1994-08-01), Younger
patent: 5455949 (1995-10-01), Conder et al.
patent: 5463745 (1995-10-01), Vidwans et al.
patent: 5751985 (1998-05-01), Shen et al.
patent: 5758060 (1998-05-01), Little et al.
patent: 5974529 (1999-10-01), Zumkehr et al.
patent: 5996092 (1999-11-01), Augsburg et al.
patent: 5999731 (1999-12-01), Yellin et al.
patent: 6044458 (2000-03-01), Rinkenberger et al.
patent: 6055650 (2000-04-01), Christie
patent: 6157999 (2000-12-01), Rossbach et al.
patent: 6243837 (2001-06-01), Zimmermann et al.
patent: 6253338 (2001-06-01), Smolders
patent: 6269478 (2001-07-01), Lautenbach-Lampe et al.
patent: 6351844 (2002-02-01), Bala
patent: 6353896 (2002-03-01), Holzmann et al.
patent: 6378064 (2002-04-01), Edwards et al.
Hetzel, Bill, “The Complete Guide to Software Testing-Second Edition”, 1988, John Wiley & Sons, pp.201-202.*
Marick, Brian, “The Craft of Software Testing”, 1995 Prenctice Hall PTR, pp. 435-437.
Chowdhary Dipendra
Viswanathan Dhiwakar
Baderman Scott
Damiano Anne
Motorola Inc.
LandOfFree
Method of detecting incorrect sequences of code execution does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method of detecting incorrect sequences of code execution, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method of detecting incorrect sequences of code execution will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3024283