throbber
United States Patent 19
`Weiss
`
`54
`
`76)
`
`21
`22
`
`63
`
`51
`52)
`
`58
`
`56
`
`METHOD AND APPARATUS FOR
`SYNCHRONZNG GENERATION OF
`SEPARATE, FREE RUNNING, TIME
`DEPENDENT EQUIPMENT
`Inventor: Kenneth P. Weiss, 15 Dwight St.,
`Boston, Mass. 02109
`Appl. No.: 802,579
`Filed:
`Nov. 27, 1985
`Related U.S. Application Data
`Continuation-in-part of Ser. No. 676,626, Nov. 30,
`1984, Pat. No. 4,720,860.
`Int. Cl'............................................... HO4L 9/OO
`U.S. C. ........................................ 380/48; 380/23;
`380/25; 380/28; 235/382; 340/825.31;
`340/825.34
`Field of Search ....................... 364/200, 900, 571;
`235/382, 380; 37.5/110; 370/104, 103; 368/46,
`47; 380/23-25, 28, 48; 178/22,08, 22.09, 22.17;
`340/825.31, 825.34
`References Cited
`U.S. PATENT DOCUMENTS
`3,764,742 10/1973 Abbott et al. ......................... 380/2.3
`3,789,653 2/1974 Brejand ................................. 368/47
`3,306,874 4/1974 Ehrat ........
`... 178/2.2.08
`3,886,451 5/1975 Chu et al............................. 364/571
`3,900,867 8/1975 Wagner ................................. 342/45
`3,995,111 11/1976 Tsuji et al. .......................... 370/104
`4,104,694 8/1978 Hargrove .....
`... 34.0/825.31
`4,126,761 11/1978 Groupe et al......................... 380/48
`4,145,568 3/1979 Ehrat ................
`... 178/2.2.17
`4,145,569 3/1979 Ehrat ....................
`... 178/2.2.17
`4,185,166 1/1980 Kinch, Jr. et al. .................... 380/43
`4,193,073 3/1980 Kohnen ................................. 342/56
`4,320,387 3/1982 Powell ............................ 340/825.34
`4,326,098 4/1982 Bouricius et al...................... 380/25
`4,494,211 1/1985 Schwartz .............................. 368/47
`4,543,657 9/1985 Wilkinson .....
`... 375/1
`4,582,434 4/1986 Plangger et al. .
`368/47
`4,589,066 5/1986 Lam et al.....
`... 364/200
`4,599,489 7/1986 Cargile.
`a
`- - 380/4
`4,609,777 9/1986 Cargile .................................... 380/4
`4,636,583 1/1987 Bidell et al............................ 380/48
`4,641,322 2/1987 Hasegawa ............................... 375/1
`4,677,617 6/1987 O'Connor et al. ................. 375/1 X
`
`11
`45
`
`Patent Number:
`Date of Patent:
`
`4.885,778
`Dec. 5, 1989
`
`4,720,860 l/1988 Weiss .................................... 380/23
`FOREIGN PATENT DOCUMENTS
`0010496 4/1980 European Pat. Off. .
`0140013 5/1985 European Pat. Off. .
`OTHER PUBLICATIONS
`IBM Tech. Discl. Bull, (vol. 26; No. 7A; 12/83; pp.
`3292-3293).
`IBM Tech. Discl. Bulli (vol. 28; No. 7A; 12/83; pp.
`3286-3288).
`Primary Examiner-Stephen C. Buczinski
`Assistant Examiner-Bernarr Earl Gregory
`Attorney, Agent, or Firm-M. Lawrence Oliverio
`57
`ABSTRACT
`An apparatus and method for synchronizing the time
`definition of the dynamic variables by (a) calculating a
`first non-predictable code according to a secret prede
`termined algorithm, the algorithm generating the first
`non-predictable code on the basis of a first dynamic
`variable and a unique static variable; (b) automatically
`defining the first dynamic according to a first interval in
`which the static variable is input into the algorithm, the
`first interval of time having a predetermined duration;
`(c) calculating two or more second non-predictable
`codes according to the predetermined algorithm, the
`algorithm generating the second non-predictable codes
`on the basis of the two or more second dynamic vari
`ables and the unique static variable, (d) automatically
`defining the two or more second dynamic variables
`according to two or more cells of a second interval of
`time in which the static variable is input into the algo
`rithm of the second computer, the second interval of
`time comprising a central cell of time having a predeter
`mined duration and one or more cells of time bordering
`the central cell of time, each bordering cell of time
`having a predetermined duration; (e) comparing the
`first non-predictable code with the second non-predict
`able codes to determine a match, and (f) automatically
`synchronizing the clock mechanisms which define the
`first and second dynamic variables upon comparison
`and matching of the first non-predictable code with one
`of the second non-predictable codes.
`
`26 Claims, 5 Drawing Sheets
`
`
`
`
`
`is NON
`predictase
`o
`
`PRErase
`Oce
`
`3.
`
`s
`NAM
`WARIA
`
`ASSESS
`C&Rol
`&seats
`or Host
`c
`s o
`
`
`
`2 as
`YN a
`WaRae
`
`coMPArts
`NONrprettas
`codes
`
`80
`
`Clearance
`
`Access
`
`so
`
`APPLE 1006
`
`

`

`U.S. Patent Dec. 5, 1989
`
`Sheet 1 of 5
`
`4.885,778
`
`Fixed
`CODE - O
`
`CARD
`PN
`
`45
`
`C
`
`O
`
`2O
`
`st
`S
`COMPUTER
`
`O2
`
`St NON
`PREDCTABLE
`CODE
`
`2nd NON
`PRED CTABLE
`CODE
`
`d
`
`
`
`st
`DYNAMIC
`VARABLE
`
`ACCESS
`CONTROL
`MEANS
`OR HOST
`
`2nd
`DYNAMIC
`VARABLE
`
`
`
`COMPAR SON
`OF
`NON-PREDICTABLE
`CODES
`
`8 O
`
`
`
`CLEARANCE
`O R
`ACCESS
`
`9O
`
`FG.
`
`

`

`U.S. Patent Dec. 5, 1989
`
`Sheet 2 of 5
`
`4.885,778
`
`st
`COMPUTER
`
`
`
`
`
`st NON
`PREDCTABLE
`CODE
`
`
`
`
`
`
`
`
`
`St
`DYNAMIC
`VARABLE
`
`
`
`
`
`
`
`ACCESS
`CONTROL
`MEANS
`OR HOST
`
`
`
`
`
`2nd
`DYNAMC
`VARABLE
`
`CEARANCE
`OR
`ACCESS
`
`
`
`FG.2
`
`

`

`U.S. Patent Dec. 5, 1989
`
`Sheet 3 of 5
`
`4.885,778
`
`CARD (2O
`(2O)
`
`O
`
`CARD
`SEED / 4o
`CARD
`RESULTANT
`CODE
`
`HOST (5O)
`
`OO
`TEMPORARLY
`STORE CARD
`DATA
`
`CARD
`PN
`45
`
`
`
`DENY NO
`ACCESS
`
`O
`
`
`
`COMPARE
`CARD P N AND
`HOST PN
`MATCH
`
`DENY
`ACCESS
`
`
`
`NO
`
`COMPARE
`CARD SEED WITH
`HOST L. BRARY OF
`SEEDS, MATCH a
`
`
`
`
`
`
`
`YES
`TEMPORARLY RECORD DATE
`AND T ME OF ENTRY
`WITH USE OF HOST CLOCK
`
`
`
`
`
`
`
`ZERO
`CELLTIME
`
`PERMAN ENT
`HOST
`MEMORY
`2OO
`
`
`
`HOST LIBRARY
`OF SEEDS
`
`
`
`
`
`STORED TIME
`OFFSET PECULAR
`TO CARD SEED
`
`COMPARE TEMPORARLY STORED
`DATE WITH STORED DATE OF
`LAST ACCESS
`
`STORED DATE
`OF LAST GRANT
`OF ACCESS
`
`
`
`6 O
`COMPUTE NUMBER OF MONTHS X BETWEEN
`DATE OF LAST ACCESS AND TEMPOR
`STORED DATE
`
`FIG 3A
`
`

`

`U.S. Patent Dec. 5, 1989
`
`Sheet 4 of 5
`
`4.885,778
`
`65
`
`ADD X
`PLUS Y
`
`
`
`
`
`67
`Y S AN AUTOMATICALLY
`FIXED AND STORED
`F
`HOST CLOCK S RESET
`PROR TO PRESENT
`TRANSACON
`
`COMPUTE ZERO CELL, HOST
`RESULTANT CODE ON BASS
`OF ZERO CELL TIME
`
`
`
`COMPUTE THE LESSER OF 4 - X-Y OR O
`ADDITIONAL HOST RESULTANT CODES,
`i e THE WINDOW
`
`DENY
`ACCESS
`
`NO
`
`
`
`
`
`
`
`COMPARE
`CARD RESULIANT
`CODE WITH ALL COMPUTED
`HOST RESULTANT CODES.
`ANY MATCH
`p
`
`
`
`GRANT ACCESS
`
`
`
`PERMANENTLY STORE
`TEMPORARLY SORED DATE
`
`
`
`
`
`
`
`
`
`COMPUTE NEW T ME OFFSET PECULAR TO CARD
`SEED BY COMPARNG HOST ZERO CELLTIME WITH
`CELLTIME OF MATCH ING HOST RESULTING CODE
`AND ADD NG OR SUBTRACTING PREVIOUSLY STORED
`TME OFFSET
`
`
`
`PERMANENTLY STORE
`NEW T ME OFFSET
`
`FIG 3 B
`
`

`

`U.S. Patent Dec. 5, 1989
`
`Sheet 5 of 5
`
`4.885,778
`
`O
`(REAL TIME)
`O
`CARD CLOCK
`OOOO HOST CLOCK
`- 2 - O + +2 (REAL TIME)
`(-2)(-) (O) (+) (+2) (HOST WINDOW)
`
`O
`
`(REAL TIME)
`CARD COCK
`OOO HOST CLock
`+ i + 2 + 3 (REAL TIME)
`(-2) (-) O (+) (+2) (HOST WINDOW)
`
`FG4.
`
`FIG.5
`
`-
`
`( REAL TIME)
`CARD CLOCK
`OOD HOST CLock
`-2 - O + i + 2 (REAL TIME)
`(-2) (-) (O) (+) (+2) (HOST WINDOW)
`
`-
`
`(REAL TIME)
`CARD CLOCK
`OOO HOST CLOCK
`- 3 -2 -
`O
`(REAL TIME)
`(-2) ( - ) (O) () (2) (ADJUSTED
`WINDOW)
`
`FG.6
`
`FIG 7
`
`-3
`
`(REAL TIME)
`CARD CLOCK
`OOOOOOOO HOST CLOCK
`it
`+ 2 + 3 + 4 +5 (REAL TIME)
`(-2) (-) (O) (+) (+2) (HOST WINDOW)
`
`FG.8
`
`-3
`
`(REAL TIME)
`CARD CLOCK
`OOOOOOOOOOOOOOOOO Host cock
`5 - 4 - 3 - 2 -
`O
`2 3 4 5 6 7 8 9
`O II ( REAL TIME)
`(-8) (-7) (-6)(-5) (-4) (-3)(-2) (-) O ( ) (2) (3) (4) (5) (6) (7) (8) (OPENED
`WINDOW)
`N-y-mm-H1
`FG.9
`
`

`

`'N,
`
`1.
`
`METHOD AND APPARATUS FOR
`SYNCHRONIZING GENERATION OF SEPARATE,
`FREE RUNNING, TIME DEPENDENT
`EQUIPMENT
`
`CROSS-REFERENCE TO OTHER
`APPLICATION(S)
`This is a continuation-in-part of U.S. Ser. No. 676,626
`10
`filed Nov. 30, 1984, Applicant: Kenneth Weiss, now
`U.S. Pat. No. 4,720,860, issued Jan. 19, 1988.
`BACKGROUND OF THE INVENTION
`The present invention relates to an apparatus and
`15
`method for the electronic generation of variable, non
`predictable codes and the validation and comparison of
`such codes for the purpose of positively identifying an
`authorized individual or user of an apparatus or system
`and thereafter giving clearance to carry out a privileged
`20
`transaction or access to a protected system or facility.
`There often arises a need to prevent all but selected
`authorized persons from being able to carry out some
`defined transaction (such as granting of credit) or to
`gain access to electronic equipment or other system,
`25
`facility or data (hereinafter "clearance or access').
`Prior methods for preventing unauthorized clearance or
`access typically involve devices which limit access to
`the subject data, facility, or transaction to those who
`possess a unique physical device, such as a key or who
`30
`know a fixed or predictable (hereinafter "fixed”) secret
`code. The problem inherent in relying on a fixed code
`or unique physical device as the means to gain such
`selective clearance or access is that would-be unautho
`35
`rized users need only obtain possession of the fixed code
`or unique device to gain such clearance or access. Typi
`cal instances of fixed codes include card numbers, user
`numbers or passwords issued to customers of computer
`data retrieval services.
`The principal object of the invention is to synchro
`nize the generation of time-dependent non-predictable
`codes which are independently generated on the basis
`of date and time information which are generated on
`separate devices which over time may deviate out of
`45
`time synchrony with each other. A further object of the
`invention is to provide a practical approach to generat
`ing identification codes which are unique to the user
`and which change periodically without user interven
`tion but which provide a readily verifiable means of
`50
`identification for providing clearance or access at any
`time.
`
`4,885,778
`2
`results in the generation of constantly changing non
`predictable codes.
`In accordance with the invention, in a system for
`comparing and matching non-predictable codes gener
`ated by separate computers on the basis of dynamic
`variables defined by separate clock mechanisms accord
`ing to time, there is provided an apparatus for synchro
`nizing the time definition of the dynamic variables com
`prising: a first computer for calculating a first non
`predictable code according to a predetermined algo
`rithm, the algorithm generating the first non-predicta
`ble code on the basis of a first dynamic variable and a
`unique static variable; a first clock mechanism for auto
`matically defining the first dynamic variable according
`to a first interval of time in which the static variable is
`input into the algorithm, the first interval of time having
`a first predetermined duration; a second computer for
`calculating two or more second non-predictable codes
`according to the predetermined algorithm, the algo
`rithm generating the second non-predictable codes on
`the basis of the two or more second dynamic variables
`and the unique static variable; a second clock mecha
`nism for automatically defining the two or more second
`dynamic variables according to two or more cells of a
`second interval of time in which the static variable is
`input into the algorithm of the second computer, the
`second interval of time comprising a central cell of time
`having a predetermined duration and one or more cells
`of time bordering the central cell of time, each border
`ing cell of time having a predetermined duration; a
`mechanism for comparing the first non-predictable
`code with the second non-predictable codes to deter
`mine a match; and, a mechanism for automatically syn
`chronizing the first clock mechanism and the second
`clock mechanism upon comparison and matching of the
`first non-predictable code with one of the second non
`predictable codes.
`The central cell of time typically comprises the date
`and the minute in which the unique static variable is
`input into the second computer as defined by the second
`clock mechanism; and the bordering cells of time may
`comprise a cell of time comprising the date and the
`minute immediately preceding the central cell.
`Preferably the mechanism for synchronizing com
`prises: a counting mechanism for counting the differ
`ence in time between a central cell of time and a border
`ing cell of time from which a matching second non
`predictable code may be generated; a summing mecha
`nism connected to the counting mechanism for sum
`ming successive differences in time counted by the
`counting mechanism; a storage mechanism connected
`to the summing mechanism for storing the output of the
`summing mechanism; and, a shifting mechanism con
`nected to the storage mechanism for shifting a central
`cell and bordering cells of time by the output of the
`summing mechanism stored in the storage mechanism.
`The bordering cells of time may comprise a selected
`number of cells of time immediately preceding the cen
`tral cell and a selected number of cells of time immedi
`ately following the central cell; and the central and
`bordering cells of time are typically selected to be one
`minute in duration.
`Preferably, the mechanism for synchronizing further
`comprises: a second storage mechanism connected to
`the comparison mechanism for storing the date of the
`most recent comparison and matching by the compari
`son mechanism; a second counting mechanism con
`nected to the second storage mechanism for counting
`
`55
`
`SUMMARY OF THE INVENTION
`The present invention eliminates the relatively easy
`access afforded to someone who copies or otherwise
`misappropriates a secret "fixed' code by periodically
`generating identification codes by using fixed codes,
`variable data, and a predetermined algorithm which is
`unknown in advance and unknowable outside the ad
`ministration of the security system even to authorized
`users of the apparatus utilizing the fixed secret code.
`The predetermined algorithm constantly generates new
`unique and verifiable non-predictable codes, which are
`derived from the fixed data and at least one dynamic
`65
`variable, such as the time of day (including the date) by
`the predetermined algorithm. The constant changes in
`the dynamic variables when processed by the algorithm
`
`

`

`4,885,778
`3
`4.
`tral cell of time and a bordering cell of time from which
`the difference in time between the date stored and the
`date of present entry into the second computer; a divid
`a matching second non-predictable code may be gener
`ing mechanism connected to the second counting mech
`ated; summing successive differences in time counted
`anism for dividing the difference in time counted by the
`during the step of counting; storing the summed succes
`second counting mechanism by a selected value and
`sive differences in time; and, shifting the central and
`prescribing the output as a first window opening num
`bordering cells of time by the summed successive differ
`ber; a window opening mechanism connected to the
`ences in time.
`dividing mechanism and the comparison mechanism for
`Most preferably, the step of synchronizing further
`calculating as many extra second non-predictable codes
`comprises the steps of storing the date of the most
`on the basis of as many extra bordering cells of time
`recent comparison and determination of a match; count
`10
`immediately preceding and following the selected num
`ing the difference in time between the date stored and
`ber of bordering cells as prescribed by the first window
`the date of present entry into the second computer;
`opening number.
`dividing the difference in dates counted by a selected
`Most preferably, the mechanism for synchronizing
`value and prescribing the output as a first window open
`further comprises: a sensing mechanism connected to
`ing number; and, calculating as many extra second non
`15
`the second clock mechanism for sensing a re-setting of
`predictable codes on the basis of as many extra border
`ing cells of time immediately preceding and following
`the second clock mechanism; a third storage mechanism
`connected to the sensing mechanism prescribing and
`the selected number of bordering cells as prescribed by
`storing the occurrence of a sensed re-setting of the
`the first window opening number.
`Most preferably, the step of synchronizing further
`second clock mechanism as a selected second window
`20
`opening number; and, a second window opening mech
`comprises the steps of: sensing a re-setting of the second
`anism connected to the third storage mechanism for
`clock mechanism; prescribing and storing the occur
`calculating as many additional second non-predictable
`rence of a sensed re-setting of the second clock mecha
`codes on the basis of an many additional bordering cells
`nism as a second selected window opening number; and,
`of time immediately preceding and following the extra
`calculating as many additional second non-predictable
`25
`bordering cells of time as prescribed by the second
`codes on the basis of as many additional bordering cells
`window opening number.
`of time immediately preceding and following the extra
`The first computer typically comprises a micro
`bordering cells of time as prescribed by the second
`processor wherein the algorithm is stored in volatile
`window opening number.
`dynamic memory encapsulated with an energizing
`The volatile dynamic memory included in either or
`mechanism which when interrupted destroys all data
`both of the first computer, the access control means, the
`including at least the algorithm and the static variable.
`host computer and the means for comparing preferably
`Most preferably, the algorithm of the second com
`stores and maintains all programs such as the predeter
`puter is stored in volatile dynamic memory encapsu
`mined algorithm, system operating programs, code
`comparison and matching programs, and the like; and
`lated with an energizing mechanism which when inter
`35
`rupted destroys all data including at least the algorithm
`the volatile dynamic memory further preferably stores,
`and the static variable.
`maintains and makes available for use all data and re
`In a method for comparing non-predictable codes
`sults of operations such as fixed codes, resultant codes,
`generated by separate computers on the basis of dy
`dynamic variables and the like.
`namic variables defined by separate clock mechanisms
`BRIEF DESCRIPTION OF THE DRAWINGS
`according to time wherein the codes match when the
`dynamic variables match, there is also provided a
`Other objects, features and advantages will be appar
`method for synchronizing the time definition of the
`ent from the following detailed description of preferred
`dynamic variables comprising the steps of inputting a
`embodiments thereof taken in conjunction with the
`static variable into a first computer including a prede
`accompanying drawings in which:
`45
`termined algorithm; employing the algorithm of the
`FIG. 1 is a block diagram of a basic apparatus and
`first computer to calculate a first non-predictable code
`method according to the invention for generating and
`comparing non-predictable codes;
`on the basis of the static variable and a first dynamic
`variable defined by a first interval of time in which the
`FIG. 1A is a block diagram of a preferred apparatus
`step of inputting occurred according to a first clock
`and method for generating and comparing non-predict
`50
`mechanism; putting the static variable and the first non
`able codes where a means for comparing non-predicta
`predictable code into a second computer independently
`ble codes is included in a calculator which generates a
`including the predetermined algorithm; using the algo
`non-predictable code;
`rithm of the second computer to independently calcu
`FIG. 2 is a front isometric view of a credit card sized
`late two or more second non-predictable codes on the
`calculator for calculating a first non-predictable code
`55
`basis of the static variable and two or more second
`for use in gaining clearance or access according to the
`dynamic variables defined by two or more cells of a
`invention;
`second interval of time in which the step of putting
`FIGS. 3A and 3B are a flow chart demonstrating a
`occurred according to a second clock mechanism, the
`most preferred series of steps carried out by an appara
`second interval of time comprising a central cell of time
`tus according to the invention and/or in a method ac
`and one or more bordering cells of time; comparing the
`cording to the invention; and,
`first non-predictable code with the second non-predict
`FIGS. 4-9 are diagrammatic representations of series
`able codes to determine a match; and, synchronizing the
`of resultant code cells separately generated by separate
`computers according to exemplary situations described
`first clock mechanism and the second clock mechanism
`upon comparison and matching of the first non-predict
`herein; each diagram sets forth the relationship vis a vis
`65
`able code with one of the second non-predictable codes.
`real time between resultant codes generated on the basis
`The step of synchronizing preferably comprises the
`of time as kept by separate clock mechanisms in the
`steps of: counting the difference in time between a cen
`separate computers generating the resultant codes ac
`
`30
`
`

`

`5
`
`O
`
`4,885,778
`6
`5
`cording to the corresponding exemplary conditions
`0.07 inches. In addition or as an alternative to providing
`microprocessor 20 with a liquid crystal display 45 for
`described with reference to each figure.
`visual observation of the first non-predictable code 40,
`DETALED DESCRIPTION OF THE
`computer 20 may include means for machine reading
`INVENTION
`the first non-predictable (or card resultant) code 40
`The following discussion describes the most pre
`and/or pin 45 to the ACM or host 50, or may include
`sound producing or other means for personally sensing
`ferred embodiments of the invention.
`the first non-predictable code 40.
`In accordance with the invention an authorized per
`son is provided with a fixed secret code or card seed 10,
`With reference to FIG. 3A, after the card and host
`pins are compared and found to match, step 110, the
`FIGS. 1, 1A, 2, 3A, typically a number, which is unique
`card seed 10 is typically compared against a library of
`to that individual. In the case of a credit or bank/cash
`card 20, FIG. 2, that number 10 may be printed on the
`card seeds stored in the host or ACM memory in order
`to determine whether there is a match, step 120, FIG.
`card itself such that if the authorized owner of the card
`forgets the number, it can be quickly retrieved by refer
`3A. If the card seed 10 input into the host or ACM 50
`ence to the card or other premanently printed form of 15
`does not match up with one of the seeds stored in the
`host library, access or clearance is denied, "no' step
`the fixed code 10. Where the fixed code/card seed 10 is
`provided in permanent printed form on or in close con
`120, FIG. 3A.
`For purposes of initial explanation the discussion
`nection with the apparatus of the invention there is also
`preferably provided an additional portion of the fixed
`which follows with reference to FIGS. and 1A as
`code 10, a so-called pin 45 (personal identification num
`sumes an embodiment of the invention whereby a single
`20
`resultant code 70 is generated by the host or ACM 50.
`ber), which the authorized user memorizes in order to
`further guard against misappropriation of the fixed
`The most preferred embodiment of the invention
`wherein the clock mechanisms which generate the re
`code/card seed 10. The fixed code/card seed 10 or pin
`45 may alternatively be used to identify an authorized
`Sultant codes 40 and 70, are synchronized and wherein
`terminal which has been issued by the authority presid
`the host or ACM preferably generates a series of resul
`25
`tant, non-predictable codes, as opposed to a single code
`ing over the granting of clearance or access.
`Such a fixed and/or memorized code (commonly
`70, is described hereinafter with reference to FIGS. 49.
`referred to as a pin 45, FIG. 3A or personal identifica
`In addition to using the seed 10 and/or pin 45 as static
`variables the predetermined algorithm is designed to
`tion number) is input into an access control module
`(“ACM') or host computer 50, FIGS. 1, 1A, 3 together
`utilize a second variable, a dynamic variable 30, 60,
`30
`with the unique static variable 10 and temporarily
`FIGS. 1, 1A, to calculate the non-predictable codes 40,
`70 which may ultimately give access or clearance 90 to
`stored within the memory of the host or ACM, step 100,
`the user. A dynamic variable may comprise any code,
`FG, 3A.
`Preferably once the card seed 10 and pin 45 are input
`typically a number, which is defined and determined by
`into the host or ACM 50, each is separately compared
`the interval of time in which the card seed 10 and/or pin
`35
`against a library of authorized card pins, step 110, FIG.
`45 is put into the algorithm of either the card computer
`3A, and a library of authorized card seeds, step 120,
`20 or the host or ACM 50. A dynamic variable is most
`FIG. 3A, stored in the host or ACM memory to deter
`preferably defined by the date and the minute in which
`the static variable is input into the predetermined algo
`mine whether there is a match. If either of the pin 45 or
`card seed 10 which the user inputs into the host or
`rithm. A dynamic variable thus defined can be seen to
`change every minute. The dynamic variable could alter
`ACM does not produce a match, clearance or access is
`natively be defined according to any interval of time,
`denied and the card user must start over in order to gain
`e.g., 2 minutes, 5 minutes, 1 hour and the like. A dy
`access or clearance.
`In order to generate a non-predictable code 40,
`namic variable thus defined would alternatively change
`FIGS. 1-3, which will ultimately give the user clear
`every 1 minute, 2 minutes, 5 minutes, 1 hour or with the
`45
`passage of any other predetermined interval of time.
`ance or access, the fixed code or seed 10 and/or pin 45
`must be input into a predetermined algorithm which
`With reference to FIG. 1 the most preferred means of
`manipulates the seed 10 and/or pin 45 as a static vari
`establishing such a dynamic variable is via a time keepe
`able. The algorithm is typically provided to the user in
`ing means, such as an electronic digital clock, which by
`conventional means automatically inputs, steps a1 or c1,
`the form of a calculator 20, FIG. 2, which is loaded
`50
`with a program for carrying out the predetermined
`the date and specific interval of time (e.g., l minute, 2
`algorithm. The calculator 20 preferably comprises an
`minutes, 5 minutes, etc.) into the predetermined algo
`electronic computer and most preferably comprises a
`rithm of the card 20 or host or ACM 50 in response to
`microprocessor having a sufficient amount of volatile
`the input, step a or c, of the static variable 10 and/or pin
`dynamic memory to store and carry out the functions of 55
`45. The date and time thus generated by the time keep
`the predetermined algorithm. The computer 20 is most
`ing means may itself be independently manipulated
`preferably provided in a card 20, FIG. 2, having the
`according to another predetermined algorithm prior to
`input into the first predetermined algorithm of the dy
`appearance and approximate size of a credit card.
`Such credit card sized computer 20, FIG. 2, also
`namic variable. The fact that the dynamic variable 30 or
`preferably includes a conventional liquid crystal display
`60 being input into the predetermined algorithm con
`44 for displaying the ultimate non-predictable code 40
`stantly changes in absolute value with passage of suc
`generated by the algorithm (referred to in FIG. 3A as
`cessive intervals of time of predetermined duration
`"card resultant code'). The non-predictable code 40
`means that the card code 40 or host or ACM code 70
`thus generated may be visually observed by the user for
`generated according to the predetermined algorithm is
`eventual input into a host computer or ACM50, FIGS.
`also constantly changing with successive intervals of
`time and is thereby completely non-predictable.
`1, 1A. 3. As shown in FIG. 2, the preferred form of card
`computer 20 has a length L of about 3.3 inches, a width
`The non-predictability of the codes 40, 70, FIG. 1,
`W of about 2.1 inches and a depth D of less than about
`generated in the manner described above may be en
`
`65
`
`

`

`4,885,778
`7
`expressed mathematically as f(x1, x2, ..
`hanced by the fact that the predetermined algorithm
`yn)=C.
`(together with the static variable 10 and/or pin 45 and
`dynamic variable 30 input thereinto) are preferably
`The specific form of the algorithm only assumes spe
`cial importance as part of the invention, therefore, when
`stored in the calculator 20 (and/or host or ACM 50) in
`the algorithm is capable of being discovered by would
`volatile dynamic electronic memory which is encapsu
`lated with an energizing means which destroys the algo
`be unauthorized users. In the most preferred embodi
`ment of the invention where the algorithm is com
`rithm, the card seed 10, and the dynamic variable 30 (or
`pletely undiscoverable by virtue of its storage in a vola
`60) when the electronic memory is invaded, interrupted
`tile dynamic electronic memory which destroys the
`or violated in any way. The predetermined algorithm
`algorithm upon attempted invasion of the encapsulated
`thus stored in such volatile dynamic memory cannot be
`10
`memory, the specific form of the algorithm comprises
`discovered by a would-be thief because the entire mem
`ory including the predetermined algorithm is destroyed
`only an incidental part of the invention. The mere fact
`of the use of some algorithm to manipulate the fixed
`upon invasion of the memory.
`code and the dynamic variable does, however, comprise
`In a preferred embodiment of the invention therefor
`a necessary part of the invention insofar as such an
`15
`the card seed 10 is stored in such volatile dynamic nem
`algorithm generates the ultimately important non
`ory and by conventional means is automatically input
`predictable code.
`step a, FIGS. 1, 1A, into the algorithm of the first com
`As the term "fixed code' or "card seed' or 'seed' is
`puter 20 at regular intervals of time. Such automatic
`used herein such terms include within their meaning
`inputting of the card seed 10 may thereby work in con
`numbers, codes, or the like which are themselves ma
`20
`junction with the automatic definition and inputting of
`nipulated or changed, mathematically or otherwise, in
`the first dynamic variable 30 into the predetermined
`some non-dynamic manner prior to or during the gener
`algorithm of the first computer 20 to effect completely
`ation of a second non-predictable code 40, FIG. 3A.
`automatic generation of the first non-predictable or
`The first 20 or second computer 50 may, for example, be
`resultant code 40 at regular intervals of time.
`provided with a static program/algorithm utilizing the
`25
`The invention most preferably contemplates provid
`fixed code or seed as a variable and generating a new
`ing authorized personnel with a card computer 20, FIG.
`fixed code or seed which is ultimately input as the fixed
`2, only, but not with knowledge of the predetermined
`code or seed 10 variable in the secret algorithm which
`algorithm included in the computer 20. Authorized
`generates the non-predictable codes. For example, for
`personnel are, therefore, provided with a computer 20
`purposes of added security, a fixed code or seed 10 may
`30
`capable of carrying out an algorithm which is unknown
`be first added to another number and the result thereof
`to such authorized personnel.
`used as the fixed code or seed 10 used to generate the
`In the most preferred embodiment of the invention
`non-predictable codes. Thus, the term fixed code or
`where the predetermined algorithm provided to autho
`seed includes within its meaning the result of any non
`rized users is stored in a volatile dynamic memory en
`dynamic operation performed on any fixed code or
`35
`capsulated with an energizing means which destroys the
`seed. It can be seen, therefore, that essentially any algo
`algorithm upon invasion of the memory, the only means
`rithm or operation may be performed on the fixed code
`of gaining unauthorized clearance or access is to misap
`10 to generate another fixed code or seed, the algorithm
`propriate possession of the original computer 20 itself
`or operation most preferably comprising a static algo
`and knowledge of the fixed code/car

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket