The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Sep. 28, 1993

Filed:

Feb. 03, 1993
Applicant:
Inventors:

Roy A Griffin, III, Oceanside, CA (US);

James N Esserman, San Diego, CA (US);

Steven E Anderson, La Jolla, CA (US);

Steven R Hart, Encinitas, CA (US);

Ron D Katznelson, San Diego, CA (US);

Assignee:

General Instrument Corporation, Chicago, IL (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F / ;
U.S. Cl.
CPC ...
395650 ; 364D / ; 3642618 ; 3642715 ; 3642642 ;
Abstract

Compromise of a predetermined secure data processing routine by a procedure known as a 'clock attack' is prevented by a method that inhibits synchronization with externally generated instructions by preventing determination of the time of execution predetermined data processing routine in relation to occurrence of an externally observable event that precedes the execution of the predetermined routine. The method includes the step of (a) randomly varying the duration between the occurrence of the externally observable event and the execution of the predetermined routine. Step (a) includes the steps of (b) executing one or more interim data processing routines between the occurrence of the externally observable event and the execution of the predetermined routine; and (c) randomly varying the duration of said interim routines. Steps (b) and (c) may include the step of (d) randomly assembling m said interim routines for said execution from a group of n stored routines having different durations, wherein m and n are integers, with n being greater than m. Step (d) may include either the step of (e) randomly accessing said m interim routines from a secure memory; or the steps of (f) randomly accessing pointers for said m interim routines from a secure memory; and (g) accessing said m interim routines from a memory in response to said pointers. Step (c) includes the step of (h) randomly varying the duration of the interim routines in response to dynamically processed data that does not repetitively recur each time said interim routines are accessed. The method further includes the steps of (i) monitoring said interim routines to detect whether said interim routines are being tampered with; and (j) preventing the execution of said predetermined routine in response to detecting that said interim routines are being tampered with.


Find Patent Forward Citations

Loading…