CA2171345C - Personal identification systems - Google Patents
Personal identification systems Download PDFInfo
- Publication number
- CA2171345C CA2171345C CA002171345A CA2171345A CA2171345C CA 2171345 C CA2171345 C CA 2171345C CA 002171345 A CA002171345 A CA 002171345A CA 2171345 A CA2171345 A CA 2171345A CA 2171345 C CA2171345 C CA 2171345C
- Authority
- CA
- Canada
- Prior art keywords
- user
- password
- store
- pointer
- specific code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
- G06Q20/3415—Cards acting autonomously as pay-media
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/385—Payment protocols; Details thereof using an alias or single-use codes
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1025—Identification of user by a PIN code
Abstract
In personal identification systems which compare passwords in a verification computer to identify a user, successive passwords are generated, or retrieved from a stored list in the verification computer in response to each entry of a public username into the verification computer. A user device carried by the user retrieves the next successive password from a stored list in response to a command from the user and displays the password. The user then reads this password and offers it to the verification computer via a keyboard entry to be compared with the password already generated or retrieved in response to the username (the expected password).
Description
PERSONAL IDENTIFICATION SYSTEMS
The present invention relates to personal identification systems, and to user devices and verification computers for use therein.
A personal identification system is used to identify a person as having authority to access the entity or facility that is guarded by the system. Examples of such access include logging on to a computing system, control system or database, possibly via a telecommunications link, and entry to a room or building. Upon identifying a person, commonly called a user, the verification computer enables an access control means specific to the particular application.
It is known, for example from US patent No. 4,720,860, to generate passwords in accordance with a predetermined algorithm having a time dependent variable input provided by a digital clock which defines the variable as a function of the date and a predetermined interval of time. Thus the value of the variable input will change for each successive interval of time and in accordance with the actual value of time at, say, the start of each interval. Passwords are continually generated in a user device carried by an authorised user, the device having an internal clock which is initially synchronised with the internal clock of a verification computer. To gain a desired access via the verification computer, the user provides a public username to the verification computer followed by the password currently being generated by his user device. If this password matches a corresponding password generated by the verification computer in response to a recognised username and in accordance with its internal clock, the user is recognised or identified, and the access control means is enabled.
It is also known from US patent No. 5,130,519 for a user to enter his personal identification number (PIN) into his user device and then place the user device into an authorisation terminal. The terminal scans the user device to read the account number stored in it and transmits the account number to a central computer. The computer retrieves a stored PIN associated with the account number, generates a pseudo-random number using time of day as a seed for a generator, transmits the pseudo-random number to the user device via the terminal, and generates an expected password (referred to as a computer generated image of the PIN) using an encryption algorithm having the retrieved PIN
and the generated pseudo-random number as inputs. The user device contains the same encryption algorithm and generates an offered password by applying the entered PIN and the received pseudo-random number as inputs to the encryption algorithm, and transmits the offered password to the computer which compares it with the expected password.
According to a first aspect of the present invention there is provided a verification computer for use in a personal identification system, comprising:
input means for receiving a character string, first storage means comprising sets of associated stores for storing user-related data, each set comprising username, user-specific code, and pointer;
second storage means having a plurality of locations for storing numbers;
control means responsive to receipt via the input means of a first character string which matches a stored username, to retrieve the contents of the user-specific code store and the pointer store associated with the matched username, to retrieve the contents of the location of said second storage means corresponding to the retrieved pointer, to generate an expected password by applying the retrieved user-specific code as a first input of a predetermined algorithm and applying the retrieved number as a second input of said predetermined algorithm, said control means being also responsive to the receipt via the input means of a second character string, constituting an offered password, to compare the offered and expected passwords and, in the event of a match, to provide an indication and to increment the contents of the corresponding pointer store.
When a computer as described in the preceding paragraph is for use when the user-specific code is stored in the form of a PIN-modified user-specific code which has been generated by applying the user-specific code as a first input of a second predetermined algorithm and applying a PIN as a second input of said second predetermined algorithm, preferably the control means is responsive to receipt of a third character string to apply the received third character string as a first input of the inverse of said second predetermined algorithm, to retrieve the contents of the user-specific code store corresponding to the input username and apply the retrieved contents as a second input of said inverse of said second predetermined algorithm and to apply the output of said inverse of said second predetermined algorithm as the first input of said predetermined algorithm.
There may be included output means for outputting character strings, and said control means may be arranged to respond to said indication to generate the next following expected password corresponding to the current username and to supply said next following expected password to the putput means.
According to a second aspect of the present invention there is provided a method of identifying a user comprising the steps of communicating to a verification computer a public username and an offered password, the offered password being provided by a user device in the possession of the user, utilising in the verification computer the communicated username to identify a respective pointer store and a respective user-specific code store associated with the communicated username, retrieving a stored pointer from said respective pointer store, retrieving a member of a stored list of numbers in accordance with said retrieved pointer, retrieving a stored user-specific code from said respective user-specific code store, generating an expected password with a predetermined algorithm having a first input formed by said retrieved user-specific code and a second input formed by the retrieved member, comparing the communicated offered password with the expected password, and, upon the occurrence of a match, treating the user as identified and incrementing the contents of said respective pointer store.
The present invention relates to personal identification systems, and to user devices and verification computers for use therein.
A personal identification system is used to identify a person as having authority to access the entity or facility that is guarded by the system. Examples of such access include logging on to a computing system, control system or database, possibly via a telecommunications link, and entry to a room or building. Upon identifying a person, commonly called a user, the verification computer enables an access control means specific to the particular application.
It is known, for example from US patent No. 4,720,860, to generate passwords in accordance with a predetermined algorithm having a time dependent variable input provided by a digital clock which defines the variable as a function of the date and a predetermined interval of time. Thus the value of the variable input will change for each successive interval of time and in accordance with the actual value of time at, say, the start of each interval. Passwords are continually generated in a user device carried by an authorised user, the device having an internal clock which is initially synchronised with the internal clock of a verification computer. To gain a desired access via the verification computer, the user provides a public username to the verification computer followed by the password currently being generated by his user device. If this password matches a corresponding password generated by the verification computer in response to a recognised username and in accordance with its internal clock, the user is recognised or identified, and the access control means is enabled.
It is also known from US patent No. 5,130,519 for a user to enter his personal identification number (PIN) into his user device and then place the user device into an authorisation terminal. The terminal scans the user device to read the account number stored in it and transmits the account number to a central computer. The computer retrieves a stored PIN associated with the account number, generates a pseudo-random number using time of day as a seed for a generator, transmits the pseudo-random number to the user device via the terminal, and generates an expected password (referred to as a computer generated image of the PIN) using an encryption algorithm having the retrieved PIN
and the generated pseudo-random number as inputs. The user device contains the same encryption algorithm and generates an offered password by applying the entered PIN and the received pseudo-random number as inputs to the encryption algorithm, and transmits the offered password to the computer which compares it with the expected password.
According to a first aspect of the present invention there is provided a verification computer for use in a personal identification system, comprising:
input means for receiving a character string, first storage means comprising sets of associated stores for storing user-related data, each set comprising username, user-specific code, and pointer;
second storage means having a plurality of locations for storing numbers;
control means responsive to receipt via the input means of a first character string which matches a stored username, to retrieve the contents of the user-specific code store and the pointer store associated with the matched username, to retrieve the contents of the location of said second storage means corresponding to the retrieved pointer, to generate an expected password by applying the retrieved user-specific code as a first input of a predetermined algorithm and applying the retrieved number as a second input of said predetermined algorithm, said control means being also responsive to the receipt via the input means of a second character string, constituting an offered password, to compare the offered and expected passwords and, in the event of a match, to provide an indication and to increment the contents of the corresponding pointer store.
When a computer as described in the preceding paragraph is for use when the user-specific code is stored in the form of a PIN-modified user-specific code which has been generated by applying the user-specific code as a first input of a second predetermined algorithm and applying a PIN as a second input of said second predetermined algorithm, preferably the control means is responsive to receipt of a third character string to apply the received third character string as a first input of the inverse of said second predetermined algorithm, to retrieve the contents of the user-specific code store corresponding to the input username and apply the retrieved contents as a second input of said inverse of said second predetermined algorithm and to apply the output of said inverse of said second predetermined algorithm as the first input of said predetermined algorithm.
There may be included output means for outputting character strings, and said control means may be arranged to respond to said indication to generate the next following expected password corresponding to the current username and to supply said next following expected password to the putput means.
According to a second aspect of the present invention there is provided a method of identifying a user comprising the steps of communicating to a verification computer a public username and an offered password, the offered password being provided by a user device in the possession of the user, utilising in the verification computer the communicated username to identify a respective pointer store and a respective user-specific code store associated with the communicated username, retrieving a stored pointer from said respective pointer store, retrieving a member of a stored list of numbers in accordance with said retrieved pointer, retrieving a stored user-specific code from said respective user-specific code store, generating an expected password with a predetermined algorithm having a first input formed by said retrieved user-specific code and a second input formed by the retrieved member, comparing the communicated offered password with the expected password, and, upon the occurrence of a match, treating the user as identified and incrementing the contents of said respective pointer store.
Preferably, for obtaining the offered password, the user device performs the steps of retrieving a stored pointer from a pointer store, retrieving a member from a stored list of previously generated passwords in accordance with said retrieved pointer, the retrieved member constituting said offered password, and incrementing the contents of said pointer store.
There may be included the prior steps of:
storing a respective username for a new user, storing a respective user-specific code in the associated user-specific code store for the new user, generating an initial pointer and storing the initial pointer in the associated pointer store for the new user, generating with said predetermined algorithm the respective list of passwords to be stored in a user device to be issued to the new user, retrieving an initial member of a stored list of numbers in accordance with said initial pointer, applying said respective user-specific code as said first input, said retrieved initial member as said second input and producing subsequent values for said second input by repeated incrementing of said initial pointer, entering the generated list of passwords into a store in the user device with the first password so generated being stored in the first location of the store, and issuing the user device to the new user.
There may be further included the steps of:
modifying the user-specific code in accordance with ac first personal identification number (PIN) and a second predetermined algorithm, storing the resulting PIN-modified user-specific code in said associated user-specific code store, communicating from the user a second PIN to the verification computer, and utilising the second PIN and the inverse of the second predetermined algorithm to produce a user-specific code for use as said first input to said predetermined algorithm, the correct user-specific code being produced only when the second PIN is the same as the first PIN.
There may be included, for identifying the verification computer to the user, the steps of providing the next following expected password upon the occurrence of matching passwords, and comparing the next following expected password with the next following offered password provided by the user device.
A method as described in the preceding paragraph preferably includes the steps of:
communicating the next following expected password directly to the user device, comparing it with the next following offered password in the user device and providing an indication of a match to the user.
According to a third aspect of the present invention there is provided a user device for use in a personal identification system, the device comprising:
actuation means for providing a command signal upon actuation by a user;
a pointer store for storing a pointer;
a password store for storing a list of passwords;
means responsive to receipt of said command signal to retrieve a stored pointer from said pointer store, to _ 7 _ retrieve a stored password from a location of said password store in accordance with the retrieved pointer and to increment the contents of said pointer store; and means to provide the retrieved password to a verification computer of the system.
Preferably, said means responsive to receipt of a command signal is arranged to respond to receipt of a password by the user device in the same way as receipt of said command signal so as to retrieve a further password from the password store, to compare the received password and said retrieved further password, and to provide an indication of a match.
Embodiments of personal identification systems in accordance with the present invention will now be described by way of example with reference to the drawings, in which:
Figure 1 is a schematic diagram of a first embodiment of a personal identification system of the present invention;
Figure 2 is a schematic diagram of a second embodiment of a personal identification system of the present invention; and Figure 3 is a schematic diagram of a modified form of the user device of the personal identification system of Figure 1.
In Figure 1 a personal identification system comprises a user device 10 having a pressure sensitive keypad 12 for numeric input and an LCD display 14, and a verification computer 16 having a keyboard 18 for alphanumeric input and an LCD display 20. User device 10 has substantially the same dimensions as those of a present-day credit card-sized calculator and further comprises a processor 22 with _ g _ associated stores 2~ and 26 containing a secret user-specific code (USC) and a sequence number, respectively.
The verification computer 16 comprises a corresponding processor 28 with corresponding associated stores 30 and 32 containing respective USCs and sequence numbers for the users to be identified by the system.
Upon communication of a user's username (UN) to the verification computer 16, in this embodiment by the user keying in his UN on the keyboard 18, the processor 28 checks the UN against a store of authorised UNs, and if the UN is recognised, reads from stores 30 and 32 the respective USC and sequence number corresponding to the input UN, and processes them as static variable inputs in accordance with a predetermined algorithm (also referred to as a process) to produce an expected password. As used herein the term "password" does not imply that a password has to be kept secret, since each is used once only and the next following password cannot be generated from a current password unless the impersonator knows at least the algorithm,_the user-specific code and the current value of the static variable. Furthermore, the term "username" means any combination of alphanumeric characters, i.e. letters and/or numbers, which the verification computer will recognise as being associated with a purported known user.
Where the user device is to be used in conjunction with, for example, a credit card, the username can be the user's account number.
Upon actuation of a predetermined one of the keys (a NEXT key) of keypad 12 by the user (i.e. providing a command signal), the processor 22 reads the contents of stores 24 and 26, processes them in accordance with the same predetermined stored algorithm to produce a password, and displays the password on the LCD display 14. This password will be referred to as an offered password.
The user reads the offered password displayed on his user device and keys this into the verification computer 16 via the keyboard 18 following the input of his UN. The verification computer 16 now makes a comparison of the expected and offered passwords using comparator 34 which provides an enabling signal on its output if the two l0 passwords are identical, thus signifying that the user has been identified as having authority for the access that the personal identification system is guarding, and the enabling signal will be coupled to an appropriate access control means 36.
The predetermined algorithm is arranged such that after the sequence number has been read from store 26 (and 32), the number is incremented and written back into the store 26 (and 32) to replace the stored sequence number.
It will be understood that one of the necessary conditions for identical expected and offered passwords is that the respective sequence numbers must be identical. If a user actuates his user device 10 and does not make a corresponding entry for his UN into the verification computer 16, say through accidental actuation of the user device 10, the sequence number in store 26 will be greater than that in store 32. To allow for this possibility, if the comparator 34 does not provide the enabling signal upon comparison of the expected and offered passwords, the processor 28 proceeds to increment the sequence number in store 32 and perform another comparison with the offered password. If there has been no successful comparison . CA 02171345 1999-06-02 (match) for five successive increments of the sequence number processor 28 will decrement the sequence number five times to restore the sequence number in store 32 to. its original value. On the other hand, if there is a match then processor 28 simply increments the current sequence number to re-synchronise the user device 10 and verification computer 16.
Instead of incrementing and decrementing the sequence number in store 32 in the event of no match, the sequence number can be written into a further store for the purpose of incrementing and trying a new comparison. If there is a match then the value in the further store is written into store 32 and then incremented. If there is no match then the processor leaves the stores as they are because at the next ~~no match~~ the value in store 32 will overwrite the va7_ue in the further store.
In Figure 2, which shows an alternative embodiment of a personal identification system of the present invention, a user device 38 comprises the same elements as user device 10 except that : store 24 is replaced by a large capacity store 40 containing a list of passwords previously generated in accordance with the predetermined algorithm, the USC, and a series of consecutive sequence numbers;
store 26 contains a pointer to the next password location to be read; and processor 22, upon actuation of the user device 10, reads the pointer value from store 26, reads the password from the corresponding location in store 40, displays this on the LCD display 14 as the offered password, increments the value of the pointer and writes this into store 26. In this embodiment processor 22 does not process any inputs in accordance with a stored _ CA 02171345 1999-06-02 algorithm but merely reads a stored password and displays it.
The number of passwords stored in store 40 will depend on the expected lifetime of the user device, including unintentional actuations, and can be several thousands.
Also shown in Figure 2, is a verification computer 42 which similarly comprises the same elements as verification computer 16 with the exception that store 30 is replaced by a large capacity store 44 containing for each user to be identified a respective list of passwords previously generated in accordance with the predetermined algorithm, the respective USC, and a series of consecutive sequence numbers, that store 32 contains respective current pointers for the users, and that processor 28, upon communication of a recognised UN, reads the respective pointer value from store 32, reads the corresponding password from the coi:responding location in store 44 (the expected password), and passes it to the comparator 34, and increments the va3_ue of the pointer and writes this into store 32.
Processor 28 similarly does not have a stored algorithm for processing a USC and sequence number.
When a person first becomes an authorised user, the verification computer generates a random number which it enters as the newly authorised user's respective pointer~in store 32. This random number is also entered into store 26 of a user device before it is issued to the newly authorised user whereby the user device and the verification computer start in synchronism, because they both have the same initial value of pointer.
The list stored in store 40 need not have been generated starting with the lowest (first) value of the sequence numbers. Instead, and preferably, the list can be generated taking into account the random number (offset) assigned to the new user such that the first of the previously generated passwords, i.e. that corresponding to use of the offset as the static variable, will be stored in location number 1 of store 24. The previously generated list of passwords can be downloaded into store 40 in any suitable manner as is known in the art. By starting this previous generation using the offset,store 26 does not have the offset stored in it, but starts with the number 1. Thus upon first actuation, processor 22 retrieves this from store 26 and uses it as an address pointer to retrieve the password from the first location in store 40. The number in store 26 is then incremented to point to the second location, ready for the next actuation. Alternatively, the processor 22 can be arranged to increment the store 26 upon actuation rather than after retrieval of a password from store 40. In this case the store 26 can start empty.
WhJ_chever method is used in the user device, if a system has (as mentioned below) a verification computer 16, this wi7_1 start' with the offset in the respective location in store 32 and increment the offset after it has been used to generate the first password, and similarly increment it after each such generation.
It will be appreciated that user device 10 can be used in conjunction with verification computer 42, and that user device 38 can be used in conjunction with verification computer 16.
Instead of the communication of the offered password from user device 10, 38 being indirect via the user and keyboard 18, it may be direct by means of contacts 46 or a i transmitter 48 (rf, acoustic, using DTMF tones, or ultrasonic), shown in dashed lines in Figure 2.
Verification computer 42 will have corresponding contacts 46' or receiver 48' instead of or in addition to the keyboard 18.
In the modified user device 10~ in Figure 3, there is a further store 52 and a comparator 54. When the user first receives the user device 10~ he has to input via the keypad 12 a personal identification number (PIN) which is stored in store 52. The output of comparator 54 is used to inhibit the response of the processor 22 to the signal from the NEST key until the correct PIN is input . In alternative arrangements, the output of comparator 54 is used to ixihibit the LCD display 14, or the sending of the offered password to the display 14, and/or it is used to provide the offered password whereby the entering of the correct PIN constitutes a command signal for the user device.
The further store 52 and comparator 54 could be included in the user device 38, if desired.
In a modification of the above systems, the verification computer 16, 42 requires the receipt of a PIN
which it checks against a respective stored value of PIN
for the input UN, and actuation of the access control means 36 requires the correct PIN and the correct offered password. The user can enter this PIN at the keyboard 18.
In a variant this PIN is held in storage in the user device 10, 10~, 38 and communicated directly or indirectly from it to the verification computer 16, 42. In a further modification processor 22 combines a stored PIN with the enerated or retrieved password in accordance with a combining algorithm to produce a PIN-modified offered password. In the verification computer 16, 42 processor 28 combines the value pf the stored PIN with the expected password in accordance with the same combining algorithm to produce a PIN-modified expected password and the two passwords are compared by comparator 34. In a variant of the verification computer 16, 42 the processor 28 processes the received PIN-modified offered password to produce the offered PIN and the offered password which are then respectively compared with the stored PIN and the expected password. The stored PIN can be the same as or different from the PIN used to enable the user device 10~.
In a modification of the user device 10' , store 52 is arranged to store a first PIN for normal use, and a second PIN for abnormal use (e.g. use under duress), and the processor 22 is arranged to combine the matched first or second PIN with the generated password. The verification computer will detect whether the first (normal) PIN is used,~or whether the user has input the second (duress) PIN
to alert the verification computer to the situation and actuate an alarm. The processor is also arranged to respond to any PIN other than the first and second PINS by providing the next password in sequence from a predetermined set f passwords (e. g. twenty special passwords) which the verification computer will recognise as unauthorised use of the user device. The processor takes a progressively longer time to provide the password as more unauthorised attempts are made, e.g. several minutes, so as to inconvenience the unauthorised user. When he verification computer recognises any of the special passwords it takes no action.
The above described identification method can be extended such that after the verification computer 16, 42 has identified (authenticated) the user, it then generates or retrieves the next password and communicates it to the user via the LCD display 20 for mutual authentication. The user actuates his user device 10, 10~, 38 to obtain the next offered password (or reads the next password from user device 56) and mentally checks that they are the same.
Where a user device can communicate an offered password directly to the verification computer, say by contacts, the mutual authentication process can be automatic if the processor 22 is arranged to receive the next password from the verification computer via the contacts to perform a comparison and to display a predetermined group of characters on the LCD display 14 to indicate the result of the mutual verification process.
Depending on the programming of processor 22 the characters can be alphanumeric or numeric. Alternatively, or additionally, authentication of the verification computer can be indicated to the user by an acoustic signal.
The above described personal identification systems can be used to guard access to computer terminals in a wide variety of circumstances where secure access is required.
The access can be remote via a telecommunications link, via modems if required. The systems can be used to guard access to buildings, rooms and the like, in this case the access control means 36 is arranged to unlock a door or the like to give the user access to the guarded property.
In alternative embodiments of systems in accordance with the present invention the processor 28 in verification computer 42 is arranged to respond to the input of a UN to convert, in accordance with a further algorithm (preferably a pseudo random number generator), the value of the running total of successful UN inputs (i.e. those which result in a match of offered and expected passwords) into a substitute value to be used as the pointer and write it into store 32.
The verification computer obtains the expected stored password from the store location corresponding to the pointer stored in store 32.
Instead of generating the substitute value for the pointer in response to the input of the UN, the processor 28 can generate and store the substitute value at the conclusion of a password match, and merely respond to the UN input by reading store 32.
It will be understood that in such embodiments the substitute value for the pointer in the verification computer can be previously generated and held in store or can be generated in real time, independently of whether the expected passwords are previously generated and held in store or are generated in real time. Similarly, in user devices which utilise a running total of received command signals a corresponding substituted pointer value can be previously generated by the further algorithm and held in store or can be generated in real time by the further algorithm, independently of whether the offered passwords are previously generated and held in store or are generated in real time.
It will be appreciated that a username can be any combination of alphanumeric characters, as is known in the art, and that if desired actuation of the user device~can be by entering a username, keypad 12 being arranged for alpha characters as well as or instead of numeric characters, as the case may be, and that if a lower level _ of security is acceptable, then the USC input to the predetermined algorithm can be omitted.
Instead of generating, or retrieving, a password in response to a UN input or a command signal, the processor in the user device and/or the verification computer can generate or retrieve the next expected/offered password and put it into a store in readiness for the next access attempt.
It will be appreciated that the abovedescribed methods are not limited to identifying the user at an initial point of entry to a system etc., but can also be used to identify the user to a remote destination, for example the password can be appended to the end of an electronic message to verify to the recipient the alleged sender of the message, the verification being performed by the destination terminal.
It is expected that the user will usually be human, but it is envisaged that non-human forms, for example robotic forms and intelligent terminals, can use such a method to identify themselves.
In the above described embodiments the verification computer compares two independently obtained passwords each of which is or has been generated by use of the same predetermined algorithm. The present invention also embraces methods and systems in which the verification computer processes the received offered password in accordance with the inverse of the algorithm with which it was generated and thus obtains the values) of the inputs) used in the generation of the offered password and makes a comparison with an expected values) for such input(s).
As described above, the verification computer generates a static variable input for the predetermined algorithm as a sequence number, preferably by incrementing a running total, the sequence in this case being a series of natural numbers. The increment need not be the unity value, and the step between adjacent numbers in the sequence can be two or three, or any suitable value. In the general case, the verification computer stores a value associated with the last match and generates the next expected value from it in accordance with a predetermined algorithm, for example the running total of matches or the generation of a random number from the running total using a pseudo random number generator, which may be in the form of a series of shift registers with feedback as is known in the art or in the form of a stored list of numbers which themselves may have been generated by such an arrangement or may have been obtained by a truly random process, this last form of random numbers being appropriate where the passwords for the user device are previously generated and stored in the device. Where the predetermined algorithm is a linear function then the next expected value can be considered to be obtained directly from the value for the last match, but where the algorithm includes a non-linear function such as the random number generator then the expected value can be considered to be obtained indirectly from the value for the last match.
The username may be stored in the user device and provided directly to the verification computer in conjunction with the offered password.
There may be included the prior steps of:
storing a respective username for a new user, storing a respective user-specific code in the associated user-specific code store for the new user, generating an initial pointer and storing the initial pointer in the associated pointer store for the new user, generating with said predetermined algorithm the respective list of passwords to be stored in a user device to be issued to the new user, retrieving an initial member of a stored list of numbers in accordance with said initial pointer, applying said respective user-specific code as said first input, said retrieved initial member as said second input and producing subsequent values for said second input by repeated incrementing of said initial pointer, entering the generated list of passwords into a store in the user device with the first password so generated being stored in the first location of the store, and issuing the user device to the new user.
There may be further included the steps of:
modifying the user-specific code in accordance with ac first personal identification number (PIN) and a second predetermined algorithm, storing the resulting PIN-modified user-specific code in said associated user-specific code store, communicating from the user a second PIN to the verification computer, and utilising the second PIN and the inverse of the second predetermined algorithm to produce a user-specific code for use as said first input to said predetermined algorithm, the correct user-specific code being produced only when the second PIN is the same as the first PIN.
There may be included, for identifying the verification computer to the user, the steps of providing the next following expected password upon the occurrence of matching passwords, and comparing the next following expected password with the next following offered password provided by the user device.
A method as described in the preceding paragraph preferably includes the steps of:
communicating the next following expected password directly to the user device, comparing it with the next following offered password in the user device and providing an indication of a match to the user.
According to a third aspect of the present invention there is provided a user device for use in a personal identification system, the device comprising:
actuation means for providing a command signal upon actuation by a user;
a pointer store for storing a pointer;
a password store for storing a list of passwords;
means responsive to receipt of said command signal to retrieve a stored pointer from said pointer store, to _ 7 _ retrieve a stored password from a location of said password store in accordance with the retrieved pointer and to increment the contents of said pointer store; and means to provide the retrieved password to a verification computer of the system.
Preferably, said means responsive to receipt of a command signal is arranged to respond to receipt of a password by the user device in the same way as receipt of said command signal so as to retrieve a further password from the password store, to compare the received password and said retrieved further password, and to provide an indication of a match.
Embodiments of personal identification systems in accordance with the present invention will now be described by way of example with reference to the drawings, in which:
Figure 1 is a schematic diagram of a first embodiment of a personal identification system of the present invention;
Figure 2 is a schematic diagram of a second embodiment of a personal identification system of the present invention; and Figure 3 is a schematic diagram of a modified form of the user device of the personal identification system of Figure 1.
In Figure 1 a personal identification system comprises a user device 10 having a pressure sensitive keypad 12 for numeric input and an LCD display 14, and a verification computer 16 having a keyboard 18 for alphanumeric input and an LCD display 20. User device 10 has substantially the same dimensions as those of a present-day credit card-sized calculator and further comprises a processor 22 with _ g _ associated stores 2~ and 26 containing a secret user-specific code (USC) and a sequence number, respectively.
The verification computer 16 comprises a corresponding processor 28 with corresponding associated stores 30 and 32 containing respective USCs and sequence numbers for the users to be identified by the system.
Upon communication of a user's username (UN) to the verification computer 16, in this embodiment by the user keying in his UN on the keyboard 18, the processor 28 checks the UN against a store of authorised UNs, and if the UN is recognised, reads from stores 30 and 32 the respective USC and sequence number corresponding to the input UN, and processes them as static variable inputs in accordance with a predetermined algorithm (also referred to as a process) to produce an expected password. As used herein the term "password" does not imply that a password has to be kept secret, since each is used once only and the next following password cannot be generated from a current password unless the impersonator knows at least the algorithm,_the user-specific code and the current value of the static variable. Furthermore, the term "username" means any combination of alphanumeric characters, i.e. letters and/or numbers, which the verification computer will recognise as being associated with a purported known user.
Where the user device is to be used in conjunction with, for example, a credit card, the username can be the user's account number.
Upon actuation of a predetermined one of the keys (a NEXT key) of keypad 12 by the user (i.e. providing a command signal), the processor 22 reads the contents of stores 24 and 26, processes them in accordance with the same predetermined stored algorithm to produce a password, and displays the password on the LCD display 14. This password will be referred to as an offered password.
The user reads the offered password displayed on his user device and keys this into the verification computer 16 via the keyboard 18 following the input of his UN. The verification computer 16 now makes a comparison of the expected and offered passwords using comparator 34 which provides an enabling signal on its output if the two l0 passwords are identical, thus signifying that the user has been identified as having authority for the access that the personal identification system is guarding, and the enabling signal will be coupled to an appropriate access control means 36.
The predetermined algorithm is arranged such that after the sequence number has been read from store 26 (and 32), the number is incremented and written back into the store 26 (and 32) to replace the stored sequence number.
It will be understood that one of the necessary conditions for identical expected and offered passwords is that the respective sequence numbers must be identical. If a user actuates his user device 10 and does not make a corresponding entry for his UN into the verification computer 16, say through accidental actuation of the user device 10, the sequence number in store 26 will be greater than that in store 32. To allow for this possibility, if the comparator 34 does not provide the enabling signal upon comparison of the expected and offered passwords, the processor 28 proceeds to increment the sequence number in store 32 and perform another comparison with the offered password. If there has been no successful comparison . CA 02171345 1999-06-02 (match) for five successive increments of the sequence number processor 28 will decrement the sequence number five times to restore the sequence number in store 32 to. its original value. On the other hand, if there is a match then processor 28 simply increments the current sequence number to re-synchronise the user device 10 and verification computer 16.
Instead of incrementing and decrementing the sequence number in store 32 in the event of no match, the sequence number can be written into a further store for the purpose of incrementing and trying a new comparison. If there is a match then the value in the further store is written into store 32 and then incremented. If there is no match then the processor leaves the stores as they are because at the next ~~no match~~ the value in store 32 will overwrite the va7_ue in the further store.
In Figure 2, which shows an alternative embodiment of a personal identification system of the present invention, a user device 38 comprises the same elements as user device 10 except that : store 24 is replaced by a large capacity store 40 containing a list of passwords previously generated in accordance with the predetermined algorithm, the USC, and a series of consecutive sequence numbers;
store 26 contains a pointer to the next password location to be read; and processor 22, upon actuation of the user device 10, reads the pointer value from store 26, reads the password from the corresponding location in store 40, displays this on the LCD display 14 as the offered password, increments the value of the pointer and writes this into store 26. In this embodiment processor 22 does not process any inputs in accordance with a stored _ CA 02171345 1999-06-02 algorithm but merely reads a stored password and displays it.
The number of passwords stored in store 40 will depend on the expected lifetime of the user device, including unintentional actuations, and can be several thousands.
Also shown in Figure 2, is a verification computer 42 which similarly comprises the same elements as verification computer 16 with the exception that store 30 is replaced by a large capacity store 44 containing for each user to be identified a respective list of passwords previously generated in accordance with the predetermined algorithm, the respective USC, and a series of consecutive sequence numbers, that store 32 contains respective current pointers for the users, and that processor 28, upon communication of a recognised UN, reads the respective pointer value from store 32, reads the corresponding password from the coi:responding location in store 44 (the expected password), and passes it to the comparator 34, and increments the va3_ue of the pointer and writes this into store 32.
Processor 28 similarly does not have a stored algorithm for processing a USC and sequence number.
When a person first becomes an authorised user, the verification computer generates a random number which it enters as the newly authorised user's respective pointer~in store 32. This random number is also entered into store 26 of a user device before it is issued to the newly authorised user whereby the user device and the verification computer start in synchronism, because they both have the same initial value of pointer.
The list stored in store 40 need not have been generated starting with the lowest (first) value of the sequence numbers. Instead, and preferably, the list can be generated taking into account the random number (offset) assigned to the new user such that the first of the previously generated passwords, i.e. that corresponding to use of the offset as the static variable, will be stored in location number 1 of store 24. The previously generated list of passwords can be downloaded into store 40 in any suitable manner as is known in the art. By starting this previous generation using the offset,store 26 does not have the offset stored in it, but starts with the number 1. Thus upon first actuation, processor 22 retrieves this from store 26 and uses it as an address pointer to retrieve the password from the first location in store 40. The number in store 26 is then incremented to point to the second location, ready for the next actuation. Alternatively, the processor 22 can be arranged to increment the store 26 upon actuation rather than after retrieval of a password from store 40. In this case the store 26 can start empty.
WhJ_chever method is used in the user device, if a system has (as mentioned below) a verification computer 16, this wi7_1 start' with the offset in the respective location in store 32 and increment the offset after it has been used to generate the first password, and similarly increment it after each such generation.
It will be appreciated that user device 10 can be used in conjunction with verification computer 42, and that user device 38 can be used in conjunction with verification computer 16.
Instead of the communication of the offered password from user device 10, 38 being indirect via the user and keyboard 18, it may be direct by means of contacts 46 or a i transmitter 48 (rf, acoustic, using DTMF tones, or ultrasonic), shown in dashed lines in Figure 2.
Verification computer 42 will have corresponding contacts 46' or receiver 48' instead of or in addition to the keyboard 18.
In the modified user device 10~ in Figure 3, there is a further store 52 and a comparator 54. When the user first receives the user device 10~ he has to input via the keypad 12 a personal identification number (PIN) which is stored in store 52. The output of comparator 54 is used to inhibit the response of the processor 22 to the signal from the NEST key until the correct PIN is input . In alternative arrangements, the output of comparator 54 is used to ixihibit the LCD display 14, or the sending of the offered password to the display 14, and/or it is used to provide the offered password whereby the entering of the correct PIN constitutes a command signal for the user device.
The further store 52 and comparator 54 could be included in the user device 38, if desired.
In a modification of the above systems, the verification computer 16, 42 requires the receipt of a PIN
which it checks against a respective stored value of PIN
for the input UN, and actuation of the access control means 36 requires the correct PIN and the correct offered password. The user can enter this PIN at the keyboard 18.
In a variant this PIN is held in storage in the user device 10, 10~, 38 and communicated directly or indirectly from it to the verification computer 16, 42. In a further modification processor 22 combines a stored PIN with the enerated or retrieved password in accordance with a combining algorithm to produce a PIN-modified offered password. In the verification computer 16, 42 processor 28 combines the value pf the stored PIN with the expected password in accordance with the same combining algorithm to produce a PIN-modified expected password and the two passwords are compared by comparator 34. In a variant of the verification computer 16, 42 the processor 28 processes the received PIN-modified offered password to produce the offered PIN and the offered password which are then respectively compared with the stored PIN and the expected password. The stored PIN can be the same as or different from the PIN used to enable the user device 10~.
In a modification of the user device 10' , store 52 is arranged to store a first PIN for normal use, and a second PIN for abnormal use (e.g. use under duress), and the processor 22 is arranged to combine the matched first or second PIN with the generated password. The verification computer will detect whether the first (normal) PIN is used,~or whether the user has input the second (duress) PIN
to alert the verification computer to the situation and actuate an alarm. The processor is also arranged to respond to any PIN other than the first and second PINS by providing the next password in sequence from a predetermined set f passwords (e. g. twenty special passwords) which the verification computer will recognise as unauthorised use of the user device. The processor takes a progressively longer time to provide the password as more unauthorised attempts are made, e.g. several minutes, so as to inconvenience the unauthorised user. When he verification computer recognises any of the special passwords it takes no action.
The above described identification method can be extended such that after the verification computer 16, 42 has identified (authenticated) the user, it then generates or retrieves the next password and communicates it to the user via the LCD display 20 for mutual authentication. The user actuates his user device 10, 10~, 38 to obtain the next offered password (or reads the next password from user device 56) and mentally checks that they are the same.
Where a user device can communicate an offered password directly to the verification computer, say by contacts, the mutual authentication process can be automatic if the processor 22 is arranged to receive the next password from the verification computer via the contacts to perform a comparison and to display a predetermined group of characters on the LCD display 14 to indicate the result of the mutual verification process.
Depending on the programming of processor 22 the characters can be alphanumeric or numeric. Alternatively, or additionally, authentication of the verification computer can be indicated to the user by an acoustic signal.
The above described personal identification systems can be used to guard access to computer terminals in a wide variety of circumstances where secure access is required.
The access can be remote via a telecommunications link, via modems if required. The systems can be used to guard access to buildings, rooms and the like, in this case the access control means 36 is arranged to unlock a door or the like to give the user access to the guarded property.
In alternative embodiments of systems in accordance with the present invention the processor 28 in verification computer 42 is arranged to respond to the input of a UN to convert, in accordance with a further algorithm (preferably a pseudo random number generator), the value of the running total of successful UN inputs (i.e. those which result in a match of offered and expected passwords) into a substitute value to be used as the pointer and write it into store 32.
The verification computer obtains the expected stored password from the store location corresponding to the pointer stored in store 32.
Instead of generating the substitute value for the pointer in response to the input of the UN, the processor 28 can generate and store the substitute value at the conclusion of a password match, and merely respond to the UN input by reading store 32.
It will be understood that in such embodiments the substitute value for the pointer in the verification computer can be previously generated and held in store or can be generated in real time, independently of whether the expected passwords are previously generated and held in store or are generated in real time. Similarly, in user devices which utilise a running total of received command signals a corresponding substituted pointer value can be previously generated by the further algorithm and held in store or can be generated in real time by the further algorithm, independently of whether the offered passwords are previously generated and held in store or are generated in real time.
It will be appreciated that a username can be any combination of alphanumeric characters, as is known in the art, and that if desired actuation of the user device~can be by entering a username, keypad 12 being arranged for alpha characters as well as or instead of numeric characters, as the case may be, and that if a lower level _ of security is acceptable, then the USC input to the predetermined algorithm can be omitted.
Instead of generating, or retrieving, a password in response to a UN input or a command signal, the processor in the user device and/or the verification computer can generate or retrieve the next expected/offered password and put it into a store in readiness for the next access attempt.
It will be appreciated that the abovedescribed methods are not limited to identifying the user at an initial point of entry to a system etc., but can also be used to identify the user to a remote destination, for example the password can be appended to the end of an electronic message to verify to the recipient the alleged sender of the message, the verification being performed by the destination terminal.
It is expected that the user will usually be human, but it is envisaged that non-human forms, for example robotic forms and intelligent terminals, can use such a method to identify themselves.
In the above described embodiments the verification computer compares two independently obtained passwords each of which is or has been generated by use of the same predetermined algorithm. The present invention also embraces methods and systems in which the verification computer processes the received offered password in accordance with the inverse of the algorithm with which it was generated and thus obtains the values) of the inputs) used in the generation of the offered password and makes a comparison with an expected values) for such input(s).
As described above, the verification computer generates a static variable input for the predetermined algorithm as a sequence number, preferably by incrementing a running total, the sequence in this case being a series of natural numbers. The increment need not be the unity value, and the step between adjacent numbers in the sequence can be two or three, or any suitable value. In the general case, the verification computer stores a value associated with the last match and generates the next expected value from it in accordance with a predetermined algorithm, for example the running total of matches or the generation of a random number from the running total using a pseudo random number generator, which may be in the form of a series of shift registers with feedback as is known in the art or in the form of a stored list of numbers which themselves may have been generated by such an arrangement or may have been obtained by a truly random process, this last form of random numbers being appropriate where the passwords for the user device are previously generated and stored in the device. Where the predetermined algorithm is a linear function then the next expected value can be considered to be obtained directly from the value for the last match, but where the algorithm includes a non-linear function such as the random number generator then the expected value can be considered to be obtained indirectly from the value for the last match.
The username may be stored in the user device and provided directly to the verification computer in conjunction with the offered password.
Claims (11)
1. A verification computer for use in a personal identification system, comprising:
input means for receiving a character string, first storage means comprising sets of associated stores for storing user-related data, each set comprising username, user-specific code, and pointer;
second storage means having a plurality of locations for storing numbers;
control means responsive to receipt via the input means of a first character string which matches a stored username, to retrieve the contents of the user-specific code store and the pointer store associated with the matched username, to retrieve the contents of the location of said second storage means corresponding to the retrieved pointer, to generate an expected password by applying the retrieved user-specific code as a first input of a predetermined algorithm and applying the retrieved number as a second input of said predetermined algorithm, said control means being also responsive to the receipt via the input means of a second character string, constituting a offered password, to compare the offered and expected passwords and, in the event of a match, to provide an indication and to increment the contents of the corresponding pointer store.
input means for receiving a character string, first storage means comprising sets of associated stores for storing user-related data, each set comprising username, user-specific code, and pointer;
second storage means having a plurality of locations for storing numbers;
control means responsive to receipt via the input means of a first character string which matches a stored username, to retrieve the contents of the user-specific code store and the pointer store associated with the matched username, to retrieve the contents of the location of said second storage means corresponding to the retrieved pointer, to generate an expected password by applying the retrieved user-specific code as a first input of a predetermined algorithm and applying the retrieved number as a second input of said predetermined algorithm, said control means being also responsive to the receipt via the input means of a second character string, constituting a offered password, to compare the offered and expected passwords and, in the event of a match, to provide an indication and to increment the contents of the corresponding pointer store.
2. A computer as claimed in claim 1, for use when the user-specific code is stored in the form of a PIN-modified user-specific code which has been generated by applying the user-specific code as a first input of a second predetermined algorithm and applying a PIN as a second input of said second predetermined algorithm, wherein:
the control means is responsive to receipt of a third character string to apply the received third character string as a first input of the inverse of said second predetermined algorithm, to retrieve the contents of the user-specific code store corresponding to the input username and apply the retrieved contents as a second input of said inverse of said second predetermined algorithm and to apply the output of said inverse of said second predetermined algorithm as the first input of said predetermined algorithm.
the control means is responsive to receipt of a third character string to apply the received third character string as a first input of the inverse of said second predetermined algorithm, to retrieve the contents of the user-specific code store corresponding to the input username and apply the retrieved contents as a second input of said inverse of said second predetermined algorithm and to apply the output of said inverse of said second predetermined algorithm as the first input of said predetermined algorithm.
3. A computer as claimed in either claim 1 or claim 2, including:
output means for outputting character strings, and wherein said control means is arranged to respond to said indication to generate the next following expected password corresponding to the current username and to supply said next following expected password to the output means.
output means for outputting character strings, and wherein said control means is arranged to respond to said indication to generate the next following expected password corresponding to the current username and to supply said next following expected password to the output means.
4. A method of identifying a user comprising the steps of:
communicating to a verification computer a public username and an offered password, the offered password being provided by a user device in the possession of the user, utilizing in the verification computer the communicated username to identify a respective pointer store and a respective user-specific code store associated with the communicated username, retrieving a stored pointer from said respective pointer store, retrieving a member of a stored list of numbers in accordance with said retrieved pointer, retrieving a stored user-specific code from said respective user-specific code store, generating an expected password with a predetermined algorithm having a first input formed by said retrieved user-specific code and a second input formed by the retrieved member, comparing the communicated offered password with the expected password, and, upon the occurrence of a match, treating the user as identified and incrementing the contents of said respective pointer store.
communicating to a verification computer a public username and an offered password, the offered password being provided by a user device in the possession of the user, utilizing in the verification computer the communicated username to identify a respective pointer store and a respective user-specific code store associated with the communicated username, retrieving a stored pointer from said respective pointer store, retrieving a member of a stored list of numbers in accordance with said retrieved pointer, retrieving a stored user-specific code from said respective user-specific code store, generating an expected password with a predetermined algorithm having a first input formed by said retrieved user-specific code and a second input formed by the retrieved member, comparing the communicated offered password with the expected password, and, upon the occurrence of a match, treating the user as identified and incrementing the contents of said respective pointer store.
5. A method as claimed in claim 4, wherein for obtaining the offered password the user device performs the steps of retrieving a stored pointer from a pointer store, retrieving a member from a stored list of previously generated passwords in accordance with said retrieved pointer, the retrieved member constituting said offered password, and incrementing the contents of said pointer store.
6. A method as claimed in claim 5, including the prior steps of:
storing a respective username for a new user, storing a respective user-specific code in the associated user-specific code store for the new user, generating an initial pointer and storing the initial pointer in the associated pointer store for the new user, generating with said predetermined algorithm the respective list of passwords to be stored in a user device to be issued to the new user, retrieving an initial member of a stored list of numbers in accordance with said initial pointer, applying said respective user-specific code as said first input, said retrieved initial member as said second input and producing subsequent values for said second input by repeated incrementing of said initial pointer, entering the generated list of passwords into a store in the user device with the first password so generated being stored in the first location of the store, and issuing the user device to the new user.
storing a respective username for a new user, storing a respective user-specific code in the associated user-specific code store for the new user, generating an initial pointer and storing the initial pointer in the associated pointer store for the new user, generating with said predetermined algorithm the respective list of passwords to be stored in a user device to be issued to the new user, retrieving an initial member of a stored list of numbers in accordance with said initial pointer, applying said respective user-specific code as said first input, said retrieved initial member as said second input and producing subsequent values for said second input by repeated incrementing of said initial pointer, entering the generated list of passwords into a store in the user device with the first password so generated being stored in the first location of the store, and issuing the user device to the new user.
7. A method as claimed in claim 6, including the steps of modifying the user-specific code ire accordance with a first personal identification number (PIN) and a second predetermined algorithm, storing the resulting PIN-modified user-specific code in said associated user-specific code store, communicating from the user a second PIN to the verification computer, and utilising the second PIN and the inverse of the second predetermined algorithm to produce a user-specific code for use as said first input to said predetermined algorithm, the correct user-specific code being produced only when the second PIN is the same as the first PIN.
8. A method as claimed in any one of claims 4 to 7, together with the further steps, for identifying the verification computer to the user, of providing the next following expected password upon the occurrence of matching passwords, and comparing the next following expected password with the next following offered password provided by the user device.
9. A method as claimed in claim 8, further including:
communicating the next following expected password directly to the user device, comparing it with the next following offered password in the user device and providing an indication of a match to the user.
communicating the next following expected password directly to the user device, comparing it with the next following offered password in the user device and providing an indication of a match to the user.
10. A user device for use in a personal identification system, the device comprising:
actuation means for providing a command signal upon actuation by a user;
a pointer store for storing a pointer;
a password store for storing a list of passwords;
means responsive to receipt of said command signal to retrieve a stored pointer from said pointer store, to retrieve a stored password from a location of said password store in accordance with the retrieved pointer and to increment the contents of said pointer store; and means to provide the retrieved password to a verification computer of the system.
actuation means for providing a command signal upon actuation by a user;
a pointer store for storing a pointer;
a password store for storing a list of passwords;
means responsive to receipt of said command signal to retrieve a stored pointer from said pointer store, to retrieve a stored password from a location of said password store in accordance with the retrieved pointer and to increment the contents of said pointer store; and means to provide the retrieved password to a verification computer of the system.
11. A user device as claimed in claim 10, wherein said means responsive to receipt of a command signal is arranged to respond to receipt of a password by the user device in the same way as receipt of said command signal so as to retrieve a further password from the password store, to compare the received password and said retrieved further password, and to provide an indication of a match.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9321357.7 | 1993-10-15 | ||
GB939321357A GB9321357D0 (en) | 1993-10-15 | 1993-10-15 | Personal identification systems |
PCT/GB1994/002250 WO1995010823A1 (en) | 1993-10-15 | 1994-10-14 | Personal identification systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2171345A1 CA2171345A1 (en) | 1995-04-20 |
CA2171345C true CA2171345C (en) | 2000-02-08 |
Family
ID=10743650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002171345A Expired - Lifetime CA2171345C (en) | 1993-10-15 | 1994-10-14 | Personal identification systems |
Country Status (10)
Country | Link |
---|---|
US (1) | US5606614A (en) |
EP (1) | EP0740819B1 (en) |
JP (1) | JPH09503877A (en) |
CA (1) | CA2171345C (en) |
DE (1) | DE69409972T2 (en) |
ES (1) | ES2117303T3 (en) |
GB (1) | GB9321357D0 (en) |
HU (1) | HUT74344A (en) |
SG (1) | SG49729A1 (en) |
WO (1) | WO1995010823A1 (en) |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960024874A (en) * | 1994-12-30 | 1996-07-20 | 김광호 | Password setting device and password setting method of display device using micom |
US5818936A (en) * | 1996-03-15 | 1998-10-06 | Novell, Inc. | System and method for automically authenticating a user in a distributed network system |
US5892828A (en) * | 1996-10-23 | 1999-04-06 | Novell, Inc. | User presence verification with single password across applications |
FI115686B (en) | 1997-08-27 | 2005-06-15 | Teliasonera Finland Oyj | Method of using a service in a telecommunication system and telecommunication system |
US6636833B1 (en) | 1998-03-25 | 2003-10-21 | Obis Patents Ltd. | Credit card system and method |
US20040117631A1 (en) * | 1998-06-04 | 2004-06-17 | Z4 Technologies, Inc. | Method for digital rights management including user/publisher connectivity interface |
US6044471A (en) * | 1998-06-04 | 2000-03-28 | Z4 Technologies, Inc. | Method and apparatus for securing software to reduce unauthorized use |
US20040225894A1 (en) * | 1998-06-04 | 2004-11-11 | Z4 Technologies, Inc. | Hardware based method for digital rights management including self activating/self authentication software |
US6799277B2 (en) | 1998-06-04 | 2004-09-28 | Z4 Technologies, Inc. | System and method for monitoring software |
US6986063B2 (en) | 1998-06-04 | 2006-01-10 | Z4 Technologies, Inc. | Method for monitoring software using encryption including digital signatures/certificates |
US20040117663A1 (en) * | 1998-06-04 | 2004-06-17 | Z4 Technologies, Inc. | Method for authentication of digital content used or accessed with secondary devices to reduce unauthorized use or distribution |
US20040107368A1 (en) * | 1998-06-04 | 2004-06-03 | Z4 Technologies, Inc. | Method for digital rights management including self activating/self authentication software |
US20040117664A1 (en) * | 1998-06-04 | 2004-06-17 | Z4 Technologies, Inc. | Apparatus for establishing a connectivity platform for digital rights management |
US20040117644A1 (en) * | 1998-06-04 | 2004-06-17 | Z4 Technologies, Inc. | Method for reducing unauthorized use of software/digital content including self-activating/self-authenticating software/digital content |
US20040117628A1 (en) * | 1998-06-04 | 2004-06-17 | Z4 Technologies, Inc. | Computer readable storage medium for enhancing license compliance of software/digital content including self-activating/self-authenticating software/digital content |
FR2790854A1 (en) * | 1998-12-01 | 2000-09-15 | Philippe Baron D | Device for securing computer data exchanges of payment or remote payment has inaccessible area in secret memory in which primary codes of list may be used as preference for secure exchange |
FR2796742A1 (en) * | 1998-12-01 | 2001-01-26 | Philippe Baron D | Security data exchange supports and system for payments and tele-payments |
FR2788154A1 (en) * | 1998-12-01 | 2000-07-07 | Philippe Baron D | Secure data exchange for electronic or internet payments |
FR2788620B1 (en) * | 1998-12-01 | 2006-12-22 | Philippe Baron D | SUPPORTS AND SYSTEMS FOR SECURE DATA EXCHANGE, IN PARTICULAR FOR PAYMENTS AND TELEPAIEMENTS |
GB9828208D0 (en) * | 1998-12-21 | 1999-02-17 | Gardner Richard M | Secure payment card |
US6324526B1 (en) * | 1999-01-15 | 2001-11-27 | D'agostino John | System and method for performing secure credit card purchases |
EP1153375B1 (en) | 1999-02-18 | 2003-01-15 | Orbis Patents Limited | Credit card system and method |
EP1035524A3 (en) * | 1999-03-10 | 2003-12-10 | Denis Philippe Baron | IC cards and secure data exchange systems, in particular for payments |
WO2000062259A1 (en) * | 1999-04-13 | 2000-10-19 | Orbis Patents Limited | Person-to-person, person-to-business, business-to-person, and business-to-business financial transaction system |
DE19924232C2 (en) * | 1999-05-27 | 2003-07-24 | Giesecke & Devrient Gmbh | Method and device for storing and retrieving PIN codes |
US7127088B1 (en) | 1999-07-19 | 2006-10-24 | Mandylion Research Labs, Llc | Method of authenticating proper access to secured site and device for implementation thereof |
WO2001011575A1 (en) * | 1999-08-09 | 2001-02-15 | Wow Company S.A. | Portable certification device with acoustic coupling |
FR2803961B1 (en) * | 2000-01-19 | 2002-03-15 | Ghislain Moret | SYSTEM FOR SECURING TRANSACTIONS DURING CORRESPONDENCE PURCHASES |
JP2001209614A (en) * | 2000-01-25 | 2001-08-03 | Nec Corp | Authentication system and its method |
US6834270B1 (en) * | 2000-02-28 | 2004-12-21 | Carlo Pagani | Secured financial transaction system using single use codes |
TW550477B (en) | 2000-03-01 | 2003-09-01 | Passgate Corp | Method, system and computer readable medium for Web site account and e-commerce management from a central location |
US7865414B2 (en) * | 2000-03-01 | 2011-01-04 | Passgate Corporation | Method, system and computer readable medium for web site account and e-commerce management from a central location |
WO2001079959A2 (en) * | 2000-04-04 | 2001-10-25 | Myers, Drewfus, Young, Jr. | System and method for the protection of electronic communications and data using multiple, single-use key codes |
US20010047335A1 (en) * | 2000-04-28 | 2001-11-29 | Martin Arndt | Secure payment method and apparatus |
EP1162581A1 (en) * | 2000-06-07 | 2001-12-12 | Richard Mervyn Gardner | Secure payment card and system with apparatus for remote authentication |
FR2810179B1 (en) * | 2000-06-09 | 2005-02-18 | Sami Atig | METHOD FOR MAKING TRANSACTIONS USING SECRET CODE CARDS SECRET |
AU2000267243A1 (en) * | 2000-08-08 | 2002-02-18 | Davide Martignon | Safety method and system for circulating confidential data on public-access communication means |
DE10043554C2 (en) * | 2000-09-01 | 2002-10-24 | Otfried Rumberg | Data network based identification procedure |
US7392388B2 (en) * | 2000-09-07 | 2008-06-24 | Swivel Secure Limited | Systems and methods for identity verification for secure transactions |
US10592901B2 (en) * | 2001-06-04 | 2020-03-17 | Orbis Patents, Ltd. | Business-to-business commerce using financial transaction numbers |
JP3707407B2 (en) | 2001-08-28 | 2005-10-19 | セイコーエプソン株式会社 | Projector that projects password |
US7293071B2 (en) | 2002-05-27 | 2007-11-06 | Seiko Epson Corporation | Image data transmission system, process and program, image data output device and image display device |
US7055749B2 (en) * | 2002-06-03 | 2006-06-06 | Symbol Technologies, Inc. | Re-configurable trigger assembly |
WO2004043037A1 (en) * | 2002-11-06 | 2004-05-21 | International Business Machines Corporation | Providing a user device with a set of access codes |
JP2004287160A (en) | 2003-03-24 | 2004-10-14 | Seiko Epson Corp | Image display system, projector, image display method, projector control method, image display program, and projector control program |
JP2005107668A (en) * | 2003-09-29 | 2005-04-21 | Animo:Kk | Biometrics method and program and apparatus |
US7948938B2 (en) | 2004-04-30 | 2011-05-24 | Research In Motion Limited | Wireless communication device with duress password protection and related method |
JP4681873B2 (en) * | 2004-12-22 | 2011-05-11 | オリンパス株式会社 | External information recording medium and RFID system using the same |
US7707626B2 (en) * | 2005-06-01 | 2010-04-27 | At&T Corp. | Authentication management platform for managed security service providers |
US20070016940A1 (en) * | 2005-07-08 | 2007-01-18 | Jdi Ventures, Inc. D/B/A Peak Performance Solutions | Identification and password management device |
US7665146B2 (en) * | 2005-07-14 | 2010-02-16 | Research In Motion Limited | Password methods and systems for use on a mobile device |
US20070080217A1 (en) * | 2005-10-06 | 2007-04-12 | Richard Brabant | Alarm password for triggering a security response |
JP5040341B2 (en) | 2006-04-04 | 2012-10-03 | セイコーエプソン株式会社 | Projector system |
US20080077795A1 (en) * | 2006-09-25 | 2008-03-27 | Macmillan David M | Method and apparatus for two-way authentication without nonces |
DE102006050315B4 (en) * | 2006-10-25 | 2019-12-24 | Carl Zeiss Ag | Head mounted display system and display method for a head mounted display system |
US9003531B2 (en) * | 2009-10-01 | 2015-04-07 | Kaspersky Lab Zao | Comprehensive password management arrangment facilitating security |
GB2475292A (en) * | 2009-11-13 | 2011-05-18 | Vaughan Thomas | PIN system providing supplementary codes |
US8949954B2 (en) | 2011-12-08 | 2015-02-03 | Uniloc Luxembourg, S.A. | Customer notification program alerting customer-specified network address of unauthorized access attempts to customer account |
AU2012100460B4 (en) | 2012-01-04 | 2012-11-08 | Uniloc Usa, Inc. | Method and system implementing zone-restricted behavior of a computing device |
AU2012100462B4 (en) | 2012-02-06 | 2012-11-08 | Uniloc Usa, Inc. | Near field authentication through communication of enclosed content sound waves |
AU2013100355B4 (en) | 2013-02-28 | 2013-10-31 | Netauthority, Inc | Device-specific content delivery |
KR101462784B1 (en) * | 2013-05-29 | 2014-12-04 | 황운규 | System of auto-changing password and method of auto-changing password for authentication type equipment therefor |
WO2016036661A1 (en) * | 2014-09-05 | 2016-03-10 | Utc Fire & Security Corporation | System and method for access authentication |
CN105976471B (en) * | 2016-05-18 | 2018-07-20 | 北京千丁互联科技有限公司 | A kind of access control equipment, caller management method and system |
US20180145957A1 (en) * | 2016-11-22 | 2018-05-24 | Ca, Inc. | User-defined dynamic password |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3764742A (en) * | 1971-12-23 | 1973-10-09 | Ibm | Cryptographic identification system |
JPS56111967A (en) * | 1980-02-07 | 1981-09-04 | Omron Tateisi Electronics Co | Transaction process system |
FR2496294B1 (en) * | 1980-12-15 | 1987-01-02 | Thomson Csf | PROTECTED DEVICE FOR AUTHENTICATING USERS OF A MESSAGE TRANSMISSION TERMINAL AND TRANSACTION SYSTEM COMPRISING SUCH DEVICES |
US4605820A (en) * | 1983-11-10 | 1986-08-12 | Visa U.S.A. Inc. | Key management system for on-line communication |
US4630201A (en) * | 1984-02-14 | 1986-12-16 | International Security Note & Computer Corporation | On-line and off-line transaction security system using a code generated from a transaction parameter and a random number |
DE3411570A1 (en) * | 1984-03-29 | 1985-11-07 | Kübler, Monika, 7032 Sindelfingen | Self-generating two-key system for data access protection |
US4614861A (en) * | 1984-11-15 | 1986-09-30 | Intellicard International, Inc. | Unitary, self-contained card verification and validation system and method |
US4998279A (en) * | 1984-11-30 | 1991-03-05 | Weiss Kenneth P | Method and apparatus for personal verification utilizing nonpredictable codes and biocharacteristics |
US4720860A (en) | 1984-11-30 | 1988-01-19 | Security Dynamics Technologies, Inc. | Method and apparatus for positively identifying an individual |
US5168520A (en) * | 1984-11-30 | 1992-12-01 | Security Dynamics Technologies, Inc. | Method and apparatus for personal identification |
US4885778A (en) * | 1984-11-30 | 1989-12-05 | Weiss Kenneth P | Method and apparatus for synchronizing generation of separate, free running, time dependent equipment |
US4856062A (en) * | 1984-11-30 | 1989-08-08 | Kenneth Weiss | Computing and indicating device |
JPH0734215B2 (en) * | 1985-02-27 | 1995-04-12 | 株式会社日立製作所 | IC card |
US4802217A (en) * | 1985-06-07 | 1989-01-31 | Siemens Corporate Research & Support, Inc. | Method and apparatus for securing access to a computer facility |
FR2600188A1 (en) * | 1986-06-16 | 1987-12-18 | Bull Cp8 | Method of accrediting an external environment by a portable object associated with this environment |
DE3889481D1 (en) * | 1987-03-04 | 1994-06-16 | Siemens Nixdorf Inf Syst | Circuit arrangement for securing access to a data processing system using a chip card. |
CH675169A5 (en) * | 1988-02-22 | 1990-08-31 | Asea Brown Boveri | |
US5060263A (en) * | 1988-03-09 | 1991-10-22 | Enigma Logic, Inc. | Computer access control system and method |
FR2651347A1 (en) * | 1989-08-22 | 1991-03-01 | Trt Telecom Radio Electr | SINGLE NUMBER GENERATION METHOD FOR MICROCIRCUIT BOARD AND APPLICATION TO COOPERATION OF THE BOARD WITH A HOST SYSTEM. |
US5097505A (en) * | 1989-10-31 | 1992-03-17 | Securities Dynamics Technologies, Inc. | Method and apparatus for secure identification and verification |
US5130519A (en) | 1990-01-16 | 1992-07-14 | George Bush | Portable pin card |
JPH06507277A (en) * | 1990-10-19 | 1994-08-11 | アールエスエイ セキュリティー インコーポレイテッド | Personal authentication method and device |
US5163097A (en) * | 1991-08-07 | 1992-11-10 | Dynamicserve, Ltd. | Method and apparatus for providing secure access to a limited access system |
FR2681165B1 (en) * | 1991-09-05 | 1998-09-18 | Gemplus Card Int | METHOD FOR TRANSMITTING CONFIDENTIAL INFORMATION BETWEEN TWO CHIP CARDS. |
GB2261538B (en) * | 1991-11-13 | 1995-05-24 | Bank Of England | Transaction authentication system |
US5317636A (en) * | 1992-12-09 | 1994-05-31 | Arris, Inc. | Method and apparatus for securing credit card transactions |
US5478994A (en) * | 1994-07-13 | 1995-12-26 | Rahman; Sam | Secure credit card which prevents unauthorized transactions |
-
1993
- 1993-10-15 GB GB939321357A patent/GB9321357D0/en active Pending
-
1994
- 1994-10-14 HU HU9600809A patent/HUT74344A/en unknown
- 1994-10-14 SG SG1996004445A patent/SG49729A1/en unknown
- 1994-10-14 JP JP7511490A patent/JPH09503877A/en active Pending
- 1994-10-14 EP EP94929597A patent/EP0740819B1/en not_active Expired - Lifetime
- 1994-10-14 ES ES94929597T patent/ES2117303T3/en not_active Expired - Lifetime
- 1994-10-14 CA CA002171345A patent/CA2171345C/en not_active Expired - Lifetime
- 1994-10-14 DE DE69409972T patent/DE69409972T2/en not_active Expired - Lifetime
- 1994-10-14 WO PCT/GB1994/002250 patent/WO1995010823A1/en active IP Right Grant
-
1996
- 1996-04-19 US US08/635,281 patent/US5606614A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH09503877A (en) | 1997-04-15 |
US5606614A (en) | 1997-02-25 |
GB9321357D0 (en) | 1993-12-22 |
HUT74344A (en) | 1996-12-30 |
DE69409972T2 (en) | 1998-09-10 |
DE69409972D1 (en) | 1998-06-04 |
EP0740819B1 (en) | 1998-04-29 |
WO1995010823A1 (en) | 1995-04-20 |
ES2117303T3 (en) | 1998-08-01 |
CA2171345A1 (en) | 1995-04-20 |
EP0740819A1 (en) | 1996-11-06 |
HU9600809D0 (en) | 1996-05-28 |
SG49729A1 (en) | 1998-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2171345C (en) | Personal identification systems | |
US5428349A (en) | Nondisclosing password entry system | |
US5367572A (en) | Method and apparatus for personal identification | |
US5168520A (en) | Method and apparatus for personal identification | |
US5023908A (en) | Method and apparatus for personal identification | |
US4720860A (en) | Method and apparatus for positively identifying an individual | |
US5107258A (en) | Wireless remote control high security system permitting the opening or theft-proof closing of relays actuating systems such as locks | |
US4856062A (en) | Computing and indicating device | |
US5163097A (en) | Method and apparatus for providing secure access to a limited access system | |
US5657388A (en) | Method and apparatus for utilizing a token for resource access | |
US4890323A (en) | Data communication systems and methods | |
US5528231A (en) | Method for the authentication of a portable object by an offline terminal, and apparatus for implementing the process | |
US5233655A (en) | Data access verification system | |
US7065786B2 (en) | Password generation and verification system and method therefor | |
US6130621A (en) | Method and apparatus for inhibiting unauthorized access to or utilization of a protected device | |
US4800590A (en) | Computer key and computer lock system | |
US5097504A (en) | Method and device for qualitative saving of digitized data | |
US6035406A (en) | Plurality-factor security system | |
US20040054929A1 (en) | System and method for user authentication with enhanced passwords | |
JPS63139440A (en) | Key management system for public communication | |
JPH0652518B2 (en) | Security system and its management method | |
CN108711209A (en) | dynamic password generation and verification method and system | |
AU649190B2 (en) | Method and apparatus for personal identification | |
EP0781427A1 (en) | Secure computer network | |
KR20060098412A (en) | Timely variable password formation module and a floating password application method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20141014 |