WO2006020096A2 - Method, system and device for authentication and identification for computerized and networked systems - Google Patents

Method, system and device for authentication and identification for computerized and networked systems Download PDF

Info

Publication number
WO2006020096A2
WO2006020096A2 PCT/US2005/025252 US2005025252W WO2006020096A2 WO 2006020096 A2 WO2006020096 A2 WO 2006020096A2 US 2005025252 W US2005025252 W US 2005025252W WO 2006020096 A2 WO2006020096 A2 WO 2006020096A2
Authority
WO
WIPO (PCT)
Prior art keywords
array
characters
user
key
password
Prior art date
Application number
PCT/US2005/025252
Other languages
French (fr)
Other versions
WO2006020096A3 (en
Inventor
Moshe Steinmetz
Original Assignee
Scribocel, Inc.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Scribocel, Inc. filed Critical Scribocel, Inc.
Publication of WO2006020096A2 publication Critical patent/WO2006020096A2/en
Publication of WO2006020096A3 publication Critical patent/WO2006020096A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment 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/347Passive cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • G07C9/21Individual registration on entry or exit involving the use of a pass having a variable access code
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • G07C9/22Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder
    • G07C9/23Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder by means of a password
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms 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/10Mechanisms 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
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms 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/10Mechanisms 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/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms 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/10Mechanisms 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/1025Identification of user by a PIN code
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms 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/10Mechanisms 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/1025Identification of user by a PIN code
    • G07F7/1058PIN is checked locally
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms 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/10Mechanisms 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/1025Identification of user by a PIN code
    • G07F7/1058PIN is checked locally
    • G07F7/1066PIN data being compared to data on card
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • G09C1/02Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system by using a ciphering code in chart form
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • G09C1/04Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system with sign carriers or indicators moved relative to one another to positions determined by a permutation code, or key, so as to indicate the appropriate corresponding clear or ciphered text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Definitions

  • the present invention relates generally to authentication systems and more specifically, to a method, system and device for authentication that maximizes Internet security for both the corporate industry and the business to consumer market.
  • Authentication is the process of reliably verifying the identity of an individual who is attempting to access a network. Authentication determines a user's identity, as well as the information that the user is authorized to access, such as a financial database or a support knowledge base, etc.
  • Another example occurs when a person shopping in a store chooses to pay by credit card.
  • the customer In order to complete the payment transaction, the customer is required to show the actual credit card as well as to provide a signature.
  • the cashier then authenticates the transaction by assuming that, if the customer possesses the credit card and the customer's signature is identical to the signature on the card, then the customer must, in fact, be the authorized user of the card. Occasionally, the cashier may ask for additional identification, such as a driver's license.
  • a third example is when a user attempts to withdraw money from a bank Automated Teller Machine (ATM). The customer must first insert a bank card or credit card and then provide a PIN code in order to begin the transaction.
  • ATM Automated Teller Machine
  • a device such as a software-based key that has unique and encrypted information (e.g., a digital certificate), a one-time password token, a challenge-response list or a Smart Card, that is used to authenticate a transaction; and
  • biometrics wherein a physical feature of the user, such as a fingerprint, retina or voice pattern, etc., is measured and recognized by the computer for authentication purposes.
  • the most common form of authentication is a user name and password, although it is the least secure form of authentication and consists of only one of the above-mentioned mechanisms (i.e., knowledge). It is considered good practice to combine at least two of the three major authentication systems, since each authentication system, by itself, may be easily compromised. For example, a user-owned device is susceptible to ordinary theft, while passwords or PIN's known to the user may be compromised by Internet or "over the shoulder" sniffing. As a result, most presently-used systems combine these approaches.
  • a Smart Card which requires the user to enter a PIN, is a combination of an "ownership” device (i.e., the Smart Card itself) and a “knowledge” device (i.e., the PIN).
  • an "ownership” device i.e., the Smart Card itself
  • a “knowledge” device i.e., the PIN
  • ATM's use a combination of two of the above- mentioned systems (i.e., a card and a PIN).
  • Figure 1 shows examples of authentication devices that are currently being used, including RSA SecureID (Figure IA), Vasco Digipass (Figure IB), and Activecard smart card and card reader (Figure 1C), which are used in the corporate market.
  • Some of these applications provide the advantages of strong authentication and portability.
  • their disadvantages include that their costs of production, deployment and maintenance are very high, that they are disposable after two to three years, that they are breakable, that they are based on disposable batteries, that they are susceptible to frequent malfunctions, that they are likely to be lost and/or broken, and that they are thick and bulky and thus difficult to carry.
  • these tokens cannot be used in the business to consumer market because they are not designed to be deployed to the public at large.
  • U.S. Patent No. 5,251,259 to Mosley discusses a system for varying a password or PIN, wherein a group of seven PIN's are assigned to each card holder for use in a specific sequence changing each calendar day.
  • a 7x7 grid of randomly selected numbers and letters allows the user to access seven three-digit codes that must be used in the correct sequence, as determined by the number of uses per calendar day. If a PIN is used out of sequence, then access to the charge or credit card is denied.
  • U.S. Patent No. 5,742,035 to Kohut discloses a device for aiding a user to recall a PIN in the form of a label containing a geometric matrix that is applied to the surface of a bank or credit card.
  • a sequential pattern is chosen within the matrix, and the PIN is installed into the sequential pattern in a predetermined order, with the remaining spaces within the matrix being filled-in with other numbers or characters.
  • U.S. Patent No. 4,016,404 to Appleton discusses a method of verifying a credit card use, wherein a matrix of holes formed in a predetermined order through the credit card stores information.
  • a processing unit pre-programmed to determine the matrix bit positions and the sequence of a user code from the information matrix as a function of the numerical value of a scrambler code, reads the information matrix from the credit card and, by comparison of the encoded information with a code manually entered by a user, determines whether the credit card use is authorized.
  • this system is useful for authenticating credit cards used during point of sale transactions only, and is not usable for remote transactions, such as over the Internet.
  • U.S. Patent No. 5,488,664 to Shamir a method for protecting visual information against unauthorized access and modification using a printed cryptographic watermark is discussed.
  • a first array of shapes is printed on a first sheet of material to be protected, and a second array of different shapes is printed on a transparent medium to form a developer.
  • a watermark which is not visible in either of the sheets alone, is encoded.
  • the watermark is encoded by preparing each array using black and white pixels that have been split into a first collection of sub-pixels that appears in the first array and a second collection of sub-pixels that appears in the second array.
  • the two printed sheets are placed directly over each other, the first sheet of material can be seen through the second, transparent sheet, making the watermark (the combined image) visible.
  • U.S. Patent No. 6,728,376 to Dean et al. a system for encrypting documents with stencils is discussed, providing a way to decrypt original image content in two passes. An encrypted image is partially recorded through a stencil to a first recording medium, and then the image is partially recorded through a complement of the stencil to a second recording medium. The two mediums are then stacked together to fully decrypt the original image content.
  • U.S. Patent No. 6,095,566 to Yamamoto, et al. discusses an image recording system used to superimpose additional information. The superimposed image is used for certification, and this method is used as a personal identification product to prevent falsification and forgery of identification cards.
  • An image recording system superimposes on an original image an additional image that is the same as any one of visible characters, symbols or numerals on a recorded product and records the superimposed image on the recorded product as an image for certification.
  • the additional image superimposed on the recorded product cannot visually be recognized and is visible only through a universal optical filter.
  • U.S. Patent Application Publication No. 2003/0070078 Al to Nosrati et al. discusses a method and apparatus for adding security to online transactions using ordinary credit cards. This method increases the level of security over the regular use of ordinary credit and debit cards. However, the user is required to carry an electronic identification device in order to be authenticated by the financial institution.
  • Temporary codes are also used in the Matrix-Card, shown in Figure ID, which is currently used by VP Bank of Liechtenstein to authenticate its Internet banking users.
  • the user possesses a matrix card that contains a number of preset 4-digit alpha-numeric codes, e.g., 64 or 128 codes, arranged in rows and columns, and at each e-banking login the system identifies, by row and column, the location on the matrix card of a specific code that the user must enter.
  • the system stores in memory the various codes and, upon the user's entry of the correct code from within matrix, authenticates the user for the transaction.
  • NextID is a system and method of validation for transactions between a user terminal and a server using a card (called a key) that allows a user to correlate the position of a point on a visual display or on the key with the position of a second point on the same display by holding the card key against the display.
  • a key a card that allows a user to correlate the position of a point on a visual display or on the key with the position of a second point on the same display by holding the card key against the display.
  • the user is provided with a PIN code and a key, on which a series of elements is printed, with a view through window next to each element.
  • the server challenges the user with a displayed elements, and the user must hold the key against the displayed elements and, using the PIN as an index locator on the displayed elements, match every element in the displayed elements to the elements on the key, and enter the correspondents elements from the key.
  • U.S. Patent No. 6,406,062 to Brooks discloses a hidden image game piece and a method by which a hidden image game piece is produced and used (although not for authentication purposes).
  • a first hidden image game piece is formed on a transparent or translucent substrate, and a second hidden image game piece is formed electronically, and optionally printed or, alternatively, saved and distributed in electronic format.
  • the hidden image game piece using color filtering techniques, can be used to derive demographic information from recipients, to drive them to web sites or retail outlets, and to provide a means for distributing advertising.
  • PIN personal identification number
  • the present invention is preferably comprised of the following physical components: a key card and a network access device.
  • the invention is preferably also characterized by a key-sequence, a matrix, an algorithm, a one-time password and a challenge response.
  • the network access device can be any known communications device, e.g., computer, PDA, cell phone, ATM, etc., that preferably can be used to perform online transactions.
  • the network access device enables connections to the server for the authentication procedure and preferably also comprises a monitor or screen for displaying information to the user.
  • a uniquely hole-punched or printed key is preferably used to authenticate and identify a cardholder when used in online transactions.
  • the card can preferably be made of any material, e.g., typically plastic, and is preferably in the size and shape of a credit card, although it may also be made of other materials and/or be sized or shaped differently.
  • the card may be associated with a user account, whereby it contains each user's unique credentials (e.g., username and password/PIN) by any standard mechanism, e.g., a magnetic strip, or it may be used without user credentials.
  • the card when held over a series of numbers, symbols or characters that are displayed or printed in a specific format, layout or array, generically called a matrix, such as by being held against the monitor on which is displayed (or printout on which is printed) the displayed matrix, so as to cover at least portions of the matrix, the card reveals a dynamic, one-time password (OTP) that is unique for each authentication transaction.
  • OTP dynamic, one-time password
  • Every card is uniquely identified by a sequence of randomly generated numbers or characters called a key-sequence.
  • the key-sequence is represented as a series of two-dimensional cell locations (i.e., vectors) formed on or through the surface of the card.
  • the length of the key- sequence may vary in accordance with the optimal tradeoff between user friendliness and the required strength of security.
  • the key-sequence determines which portions of the matrix are used to reveal the one-time password for that transaction.
  • a matrix, layout or array is a series of data (numerical or character), represented in two- dimensional format, such as by rows and columns, which together create cells representing specific values.
  • matrix the array of data
  • the server of the network access device uses an algorithm to present a scrambled and randomly-generated matrix to the user on the monitor or other display or printout in a predetermined format or orientation.
  • algorithms may be utilized with the present invention, although the algorithms detailed herein are based on matrices and key-sequences.
  • An OTP is derived from a randomly generated matrix sent by the server and displayed on the user's monitor.
  • the user derives the OTP by holding the card against the matrix that is displayed on the monitor, or covering the matrix wherever it is displayed or printed, such that only certain portions of the matrix are revealed, based upon the card's unique key-sequence.
  • the revealed portions of the matrix form the OTP, which the user enters into the computer (or other device) in order to authenticate the transaction.
  • the OTP is different for each online transaction.
  • the server challenges the user and the user responds.
  • the user provides his/her user name and password and, after the server successfully verifies the user name and password, the server challenges the user by displaying a scrambled and preferably randomly generated matrix.
  • the user responds by covering the displayed matrix with his/her key card and typing in the OTP.
  • the system verifies whether the entered OTP is correct. If the OTP entered is correct, the transaction is authenticated.
  • Figure 1 shows examples of prior art hardware-based and card-based authentication devices that are currently being used
  • Figure 2 shows an embodiment of the hardware system for operation of the present invention
  • Figure 3 shows a typical flow of an online transaction
  • Figure 4 shows one example of a matrix that may be used in the present invention
  • Figure 5 shows the matrix of Figure 4 in scrambled form
  • Figure 6 shows a first embodiment of the card as used in the present invention
  • Figure 7 shows a second embodiment of the card as used in the present invention
  • Figure 8 shows a first example of a randomly generated result for an eight vector key- sequence, using a matrix of 50 cells
  • Figure 9 shows a second example of a randomly generated result for a different, eight vector key-sequence, using a matrix of 50 cells
  • Figure 10 shows an example of an unscrambled matrix and its use in conjunction with the card of Figure 6 to derive an OTP;
  • Figure 11 shows an example of a scrambled matrix and its use in conjunction with the card of Figure 6 to derive an OTP;
  • Figure 12 shows an example of a computer screen before the user introduces the card in an online transaction
  • Figure 13 shows an example of a computer screen after the user introduces the card in an online transaction
  • Figure 14 shows a side-by-side comparison of the cells of a 5x10 matrix before and after scrambling
  • Figure 15 shows an example of how the server matches the user-entered OTP with the key-sequence stored in its database
  • Figure 16 shows examples of unscrambled and scrambled, mixed matrices
  • Figure 17 shows a basic matrix and its corresponding card key-sequence
  • Figure 18 shows two alternative layouts of a basic matrix
  • Figures 19A and 19B shows a two embodiments of a twisted matrix and their corresponding card key-sequences
  • Figure 26 shows an example of a card containing consecutively placed vectors
  • Figure 27 shows an illustration of simple unscrambled and scrambled matrices demonstrating order does not matter for OTP combinations
  • Figure 28 shows an example of a card that indicates its order template type
  • Figure 29 shows an example of a card that indicates the OTP entry order
  • Figure 30 shows a comparison between a 40-cell, scrambled, two-dimensional unique vector matrix and a 40-cell, scrambled, repeat- vectors matrix
  • Figure 31 shows another example of a scrambled repeat- vectors matrix
  • Figure 32 shows a card after having been placed over the 40-cell, scrambled, repeat- vectors matrix of Figure 31 with the OTP entry order indicated on the front;
  • Figure 33 shows another example of a repeat- vectors matrix that is larger than its corresponding card
  • Figure 34 shows an example of a card that indicates an OTP arithmetic operation and operand
  • Figure 35 shows another example of a card that indicates an OTP arithmetic operation and operand
  • Figure 36 shows a flowchart of a typical process for issuing a new card
  • Figure 37 shows an option for rendering the size of the matrix window according to the dot size of the monitor and /or the displayed resolution
  • Figure 38 shows an example of a re-sizeable frame
  • Figure 39 shows an option for rendering a variety of frame sizes for which the user chooses the best fit.
  • Figure 40 shows an option for leafing through different sized frames to find the best fit.
  • the present invention provides a high level authentication system that maximizes Internet and network security during online transactions.
  • the system is a generic solution, applicable to all industries. It is user friendly, inexpensive to produce and maintain, portable, free of complicated, electronic hardware devices, and is easily supplied to the general public.
  • the invention can be used with any type of computer or handheld device, with any operating system, and from any location (home, office, Internet cafes, airports, etc.).
  • the method and system of identification and authentication of the present invention is based upon the generation of a one-time password for each transaction that the user provides to the system to which access is desired.
  • the one-time password is provided to the user preferably through the use of a uniquely punched or printed card that is held over a randomly generated and scrambled array of characters, known as a matrix, that is displayed, such as on a monitor or printout, thereby revealing a sequence of numbers, symbols or characters that comprises the one ⁇ time password.
  • FIG. 2 shows an example of a preferred hardware system on which the present invention may be operated to perform online transactions.
  • the system has at least a client end 2 and a server end 4, which are electronically linked for communications through an electronic network 6, such as the Internet.
  • the server end 4 comprises the computer that runs the server end application and may include a combination of software components, such as a database, the application server, a web server and more.
  • the server 4 is hosted in the data center of the enterprise (e.g., bank, merchant, corporate network, etc.).
  • the client end 2 is the application that displays a matrix, layout or array of data characters (numerical or otherwise), preferably in two-dimensional format to the user, accepts the user's inputs (such as username, password/PIN and OTP), and sends all the information to the server 4.
  • all communications between client end 2 and server end 4 should be encrypted, such as by using an encryption method such as SSL (Secured Sockets Layer).
  • the client end 2 might be a Browser-based application (html) or software that must be installed on the client's computer (e.g., a Virtual Private Network client, etc.).
  • a client end network access device 3 can be any known communications device, e.g., computer, Personal Digital Assistant (PDA), cell phone, ATM, etc., using any operating system and from any location (e.g., home, office, Internet cafes, airports, etc.), that preferably can be used to perform online transactions.
  • PDA Personal Digital Assistant
  • the client end network access device 3 enables connections to server 4 for the authentication procedure and preferably comprises a monitor, screen or other display device, often known generically as the monitor or screen, for displaying information to the user.
  • the client end network access device 3 can have any type of monitor, including touch screen monitors, such a those used in ATM machines or point-of-sale devices.
  • the display device could utilize a printer that prints the display to the user in two-dimensional format.
  • the client end network access device 3 can use a keyboard, touch screen, mouse, telephone, voice recognition or handwriting recognition for input of information.
  • Figure 3 represents a typical flow of an online transaction in accordance with a preferred embodiment of this invention.
  • the user connects to a web site/protected application or a network gateway and types in his/her username and password/PIN intro the client end network access device 3 (step 1).
  • the server validates the username and password/PIN and, if they are correct, fetches from the database the user's key-sequence (and matrix template, as discussed below, if applicable).
  • the server then scrambles a matrix and challenges the user by displaying the scrambled matrix on the monitor or printout (step 2).
  • the user places his key card over the displayed matrix to reveal the OTP for this transaction, and enters the revealed OTP (step 3).
  • the server verifies the OTP and, if it is correct, depending on the application, either approves the transaction, displays the protected application to the user, or logs the user in to the protected network (step 4).
  • server 4 uses a specific algorithm to generate a scrambled array or matrix that is displayed on the monitor of the client end network access device 3.
  • the matrix is preferably a series of data (such as letters, numbers, symbols or other characters, colors or shapes) that is represented in two-dimensional format.
  • the matrix is comprised of rows (x) and columns (y), which together create cells (x,y), whereby each cell represents a specific value.
  • a matrix of twelve can be represented as 1x12 (one row and twelve columns), as 2x6 (two rows and six columns), as 3x4 (three rows and four columns), as 4x3 (four rows and three columns), as 6x2 (six rows and two columns) or as 12x1 (twelve rows and one column).
  • the matrix may have alternative shapes, such as a diamond, triangle, trapezoid, etc., while still maintaining the row-column format, or not be row-column based at all, such as circular or spiral formats.
  • Figure 4 shows an embodiment of an unscrambled matrix, which in this case is made up of five rows and ten columns and contains a total of 50 cells in 5x10 format, with each cell containing numbers that are consecutively numbered, preferably from left to right in each row, from the top row to the bottom row.
  • the matrix in Figure 4 is rectangular in shape because this is substantially the same shape as a credit card, which is familiar to most people. It should be noted, however, that, in order to vary the amount of display space on the matrix and thus have more possible characters in the OTP, matrices with different shapes, with more or fewer cells and/or with larger or smaller font sizes may be used.
  • the server When a user begins an online transaction by entering his/her username and password/ PIN, the server will then display a scrambled matrix on the computer monitor, wherein every cell displayed is a different number.
  • a unique, scrambled matrix will preferably be displayed on the user's screen each time a user attempts to log in to a protected site or to perform an online transaction.
  • the server of the network access device uses an algorithm to present a scrambled and randomly-generated matrix to the user on the monitor.
  • Many types of algorithms may be utilized with the present invention, although the algorithms detailed herein are based on matrices and key-sequences. However, any other algorithms may also be employed and utilized with the present invention.
  • the server Before displaying the matrix, the server, chooses a scrambling key from a pool of keys and, using an algorithm, scrambles the basic matrix and then displays the scrambled matrix to the user. For each transaction, the server temporarily holds the scrambled matrix in its memory, until the transaction is completed.
  • Figure 4 shows the matrix of Figure 3, in this example a 5x10 matrix, in scrambled form.
  • N N factorial
  • Each user of the system is issued a uniquely punched or printed key that is used as a hard token to identify and authenticate that user during online transactions, e.g., over the Internet or any other local network system, local computer or application, ATM, etc.
  • the key can preferably be made of any appropriate material, e.g., cardboard, hard plastic (similar to a credit card) or a thin plastic film.
  • the key should preferably be of a size and shape that will enable easy and convenient portability by the user.
  • the key is in the size and rectangular shape of a credit card, although it may be sized or shaped differently to better fit computerized devices with limited display space.
  • the key may be sized and shaped differently to fit PDA's, cell phones, ATM's or other devices with monitors or LCD displays, depending upon the size of the monitor that displays the matrix.
  • the key will hereinafter generally be referred to as a "card”.
  • the card when held over the displayed scrambled matrix, such as when held against the monitor and over a scrambled matrix that is displayed thereon, selectively indicates or reveals specific portions of the scrambled matrix, which indicated or revealed portions comprise a dynamic, one-time password (OTP) that is unique for each authentication transaction.
  • OTP dynamic, one-time password
  • the card should have some physical indication to advise the user which portions, e.g., characters, of the matrix that lie beneath the card are to be used for the OTP.
  • the card 7 has selected viewing portions 9 that are formed in or through a non-viewing portion 8.
  • the non- viewing portion 8 can be formed from any opaque material, and the selected viewing portions 9 are see-through, to allow the user to see through the opaque blocking portion 8 at only selected areas.
  • the selected viewing portions 9 may be a series of physical holes punched through the card or may be a series of small transparent areas, e.g., "holes", that are formed in the card, and may be circular, square or any other shape.
  • the user is able to see through the viewing portions 9, but not the rest of the card, i.e., the non-viewing blocking portion 8, which is formed of or is covered with an opaque material.
  • the card is entirely see-through or transparent, such that the user is able to view the entire matrix through the card.
  • the card possesses certain markings to indicate to the user the portions of the matrix that are to be used for the OTP.
  • the indicating portions of the card i.e., the selected viewing portions 9, could be shaded while the non-viewing portion 8 could be non-shaded, or reverse, or the selected viewing portions 9 could have markings around them, such as circles, squares or some other shape, in order to differentiate them from the non-viewing portion 8.
  • Each card that is issued may be associated with a specific user account, whereby it contains or is linked to and checks that user's unique credentials (e.g., user name and password/PIN) prior to authentication.
  • a card may be used for both Internet and point-of-sale applications, and may bear additional data.
  • linkage may be by any standard mechanism or technology, e.g., a magnetic strip or Smart Card chip.
  • the card may be generic, i.e., unassociated with any specific user, and used as a stand-alone authentication apparatus only or for Internet-only authentication.
  • every card be uniquely identified by the server via a sequence of randomly generated letters, numbers, characters or symbols called a key-sequence, which identify specific cell locations or positions within the array, called vectors. Because each key-sequence is randomly generated, each and every card is unique.
  • the key-sequence for each newly issued card is stored in encrypted format in the server database under the user's account and is used to derive the OTP, which the user must enter in order to authenticate an online transaction.
  • the key-sequence is translated into graphical form and is preferably corresponds to or is represented as a series or pattern of cell positions or locations on the card (i.e., vectors).
  • the key-sequence pattern can either be printed on the card 7 (e.g., when the card is made of thin plastic film), such as via selected viewing portions 9 that are formed in or through a non-viewing blocking portion 8, or it can be holes 9 punched through an opaque card 8 (e.g., when the card is made of plastic or other similar materials).
  • the pattern of holes 9 on the card preferably represents the key-sequence for that particular card, i.e., the vectors.
  • the key-sequence determines which portions of the matrix are used to reveal the one-time password for that transaction.
  • each vector preferably reveals one number, letter, symbol or other character from within the matrix. It should be noted that, since every vector in the key-sequence represents the actual, two-dimensional (x,y) location of its corresponding cell on the matrix itself, a vector in the key-sequence cannot appear more than once (unless it is for a different type of matrix).
  • the length of the key-sequence may vary in accordance with the optimal tradeoff between user friendliness and the required strength of security.
  • the strength of the key-sequence is derived from the number of cells making up the key-sequence (key-sequence length). For example, a key- sequence length of 4 vectors or cells is user friendly but is a weaker key; while a key-sequence length of 20 vectors or cells is a stronger key, but is longer and more difficult for the user to enter.
  • the card shown in Figure 6 represents a typical card with a key-sequence length of eight (8) vectors, based upon the 50-cell matrix of Figures 4 and 5.
  • a key-sequence with a length of eight (8) vectors might be, for instance: 4-6-8-11-15-23-42-47, which happens to be the 8-vector key sequence of the card shown in Figure 6, as discussed below.
  • a key-sequence is generated by randomly choosing the desired number of vectors from the matrix of a specified size. For example, in the typical 5x10 matrix example considered herein, eight vectors, or cells, are randomly chosen from within the 5x10 matrix. Of course, more or fewer vectors may be chosen from that matrix or from a matrix of larger or smaller dimensions.
  • the randomly generated result for the eight vector key- sequence is: 5-9-12-24-30-33-36-48.
  • the direction of numbering of the cells on the matrix in this case is sequentially left to right across the rows and from top row to bottom row, from the top, leftmost cell position to the bottom, rightmost cell position. Therefore, a cell that is located under column number 9 in row number 1 will be represented as "9", whereas a cell that is located in row number 2 under column number 2 will be represented as "12”.
  • the randomly generated result for the eight vector key-sequence is: 7-12-23-25-28-43-47- 50.
  • the cells in matrices with alternate layouts can also be identified sequentially, such that a key- sequence of vectors for any matrix can be randomly generated.
  • a card that is produced based upon a particular key-sequence will have holes, or viewing portions 9 as discussed with respect to Figure 6, formed in the card at the exact physical locations corresponding to the locations of the cells in the matrix that match the vectors of the particular key- sequence.
  • the holes, or viewing portions 9, formed in the actual cards produced for the key-sequences in Figures 8 and 9 will be located at different areas of the card, since they depend on the indicated vector locations.
  • the user derives the OTP by placing his/her card over the matrix, which thereby reveals a number of matrix characters that show through the holes of the card.
  • Figures 9 and 10 show unscrambled and scrambled matrices and show how they are used in conjunction with the card depicted in Figure 6 to derive an OTP.
  • Figure 10 shows an example of an unscrambled matrix and its use in conjunction with the card of Figure 6 to derive an OTP.
  • the left side of Figure 10 shows an unscrambled 5x10 matrix
  • the right side of Figure 10 shows a view of the unscrambled matrix with the card placed over it, revealing the OTP characters 4-6-8-11-15-23-42-47.
  • the user would need to enter the OTP characters 4-6-8-1 1-15-23-42-47 in order to complete the authentication process for this transaction.
  • the number sequence is simple, i.e., it is the key-sequence of the card, because the matrix has not yet been scrambled.
  • Figure 1 1 shows a scrambled 5x10 matrix
  • the right side shows a view of the scrambled matrix with the card of Figure 6 placed over it, revealing the OTP characters 23-14-47-12-26-28-19-49.
  • the user presenting the same card as used in Figure 10 but for a different online transaction (where a different, scrambled matrix is displayed), would be required to enter the sequence of characters 23-14-47-12-26-28-19-49 as the OTP in order to complete the authentication process for this transaction.
  • the OTP is sent back to the server.
  • the server uses the scrambled matrix retained temporarily in its memory, then calculates the key-sequence of the card from the characters entered by the user and compares the key- sequence of the card as entered with the key-sequence that is stored in its database under the user's account, as discussed below. If the server recognizes a match of the translated OTP to the stored key-sequence, it authenticates the transaction.
  • Figures 12 and 13 show a preferred embodiment of the appearance of the user's monitor during the typical "Challenge-Response" sequence in which the server authenticates a transaction with the OTP.
  • the server challenges the user and the user responds in order to gain authentication.
  • the computer monitor (or any other output device such as handheld or printer output) may be utilized as a transportation hardware device for the challenge-response.
  • FIG. 12 shows an example of the computer screen displaying a scrambled matrix before the user introduces the card in an online transaction. For simplicity, Figure 12 shows the scrambled matrix of Figure 5.
  • Figure 13 shows the computer screen of Figure 12 after the user has introduced the card in an online interaction.
  • Figure 13 also shows the scrambled matrix of Figure 5 but with the card of Figure 6 placed over it as is shown in Figure 1 1 , revealing the characters sequence 23-14-47-12-26-28-19-49 as the OTP.
  • the user enters this OTP into the area on the screen provided by the server, and the server in turn determines whether the OTP entered by the user is correct, using the key-sequence for the card stored by the server. If the OTP is correctly entered, the user is authenticated and is permitted to proceed with the desired transaction.
  • the sequence of entries described above may vary, depending on the specific implementation.
  • the monitor is a touch screen monitor and the user places the card onto the scrambled matrix on the touch screen monitor. Rather than entering the OTP vectors into a separate space provided, the user merely touches the screen through the card's holes with his/her fingertip or stylus. The client's application will capture the vector values and then submit them to the server, either with or without first displaying them to the user in the manner shown in Figure 13.
  • Figure 14 demonstrates how the server authenticates the OTP that it receives from the user with regard to the key-sequence for the user's account that is stored in the database.
  • a 5x10 unscrambled matrix and the corresponding, randomly scrambled matrix are laid out side by side, in two separate columns, for comparison purposes. As can be seen from this layout, each number in the scrambled matrix has a corresponding number in the unscrambled matrix.
  • This comparison chart essentially shows how the server generated the scrambled matrix, and how the OTP that the user sees, as filtered by the card, can be translated back into the card's unique key- sequence.
  • Figure 15, as derived from Figure 12, further shows that, using the key-sequence for the card shown in Figure 6, as also shown in Figures 10 and 11, the specific key-sequence 4-6-8-11-15-23-42-47 (Figure 15, first line) that has been stored in the database for this card corresponds to the characters sequence 23-14-47-12-26-28-19-49 ( Figure 15, second line) in the scrambled matrix. This is actually the expected OTP for this scrambled matrix using this card (Figure 15, third line), as seen on the right side of Figure 11.
  • the server compares the OTP characters as entered to the corresponding sequence in the unscrambled matrix ( Figure 15, fourth line). Since the server temporarily retains the scrambled matrix until the transaction is complete, the server can convert every number from the OTP entered by the user to its corresponding character in the unscrambled matrix, using the lookup table in Figure 14, and then compare those corresponding characters with the key-sequence stored in the database for that card. As demonstrated in Figure 15, there is a match between the actual key-sequence stored in the database for that card and the OTP's corresponding characters. In this case, the user's identity is authenticated, and the transaction is permitted to proceed.
  • the server will be unable to authenticate the transaction because the OTP's corresponding characters will not match the key-sequence for that card.
  • the incorrect entry by the user of "48" as the last number of the OTP will cause the server to interpret the corresponding characters sequence as 4-6-8-11-15-23-42-24, since "48" in the scrambled matrix corresponds to position no. 24 in the unscrambled matrix.
  • the server will to attempt to match this corresponding character sequence 4-6-8-11-15-23-42-24 to the stored key-sequence for that card 4-6-8-11-15-23-42-47. Because the server will be unable to match this corresponding character sequence to the card's correct key- sequence, the transaction will be rejected.
  • the OTP which is the actual sequence of numbers that is revealed by the holes of the card when the card is held up to the matrix displayed on a computer monitor, is a unique sequence of numbers or characters for each transaction. Because the OTP is derived from a randomly scrambled matrix sent by the server and temporarily displayed on the user's monitor, it is called a dynamic OTP. [00126] The strength of the OTP thus is two-fold. First, in contrast to a static password that remains the same for all online transactions, the dynamic OTP is different for every single transaction, thereby making it very difficult for an outsider to guess.
  • the OTP provides an additional layer of security as the second in the two-pronged requirement for authentication ⁇ because the OTP is derived by using a physical card, it is "something the user possesses", in addition to the static password used in the present invention, which is "something the user remembers" and is assumed to be known only to the user. In this way, a high security level is provided. If the static password is known to someone other than the cardholder, the user will still need the physical card in order to derive the OTP and perform an online transaction. Similarly, in the opposite case, if the card were stolen, the thief would be unable to complete an on-line transaction without knowing the static password.
  • the matrix may instead include different forms of numbers, letter characters (A,B,C,....Z) in various languages, various symbols (e.g., @,#,$,+,%, ⁇ ,l
  • the matrix may be mixed, i.e., it may be any combinations of numbers, letter characters, symbols, shapes or colors.
  • the matrix may have multiple numbers, letters, symbols, shapes or colors, or combinations thereof, even within individual cells.
  • Figure 16 shows one example of a 4x9 mixed matrix, composed of individual characters and numbers.
  • each number or character represents a unique, two-dimensional x,y matrix location corresponding to the cells on the actual card.
  • y 8 (1,8)
  • the right side of Figure 16 shows the mixed matrix of the left side of Figure 16 in scrambled form.
  • the format of the matrix dictates the physical layout of the key-sequence vectors on the card, i.e., the actual location of the punched/printed viewing areas on the card.
  • the basic matrix is comprised of rows and columns that are oriented orthogonally with respect to each other, i.e., they intersect at 90° angles.
  • Figure 17 shows the standard format of a basic rectangular 5x10 matrix, wherein five rows of ten cells each cross at right angles, and one example of a resulting card format, in this case the physical format of a card whose key-sequence, based upon the matrix at the left side of Figure 17, is 7-12-23-25-28-43-47-50.
  • the graphical layout of a matrix can vary.
  • Figure 18 shows two alternative layouts of a basic matrix, wherein the rows and columns are still oriented orthogonally with respect to each other, although the format of the matrix is not rectangular. On the left side of Figure 18, the matrix is triangular shaped, and on the right side of Figure 18 the matrix is somewhat diamond shaped.
  • the matrix may be "twisted".
  • the rows and/or columns may be shifted in order to change the layout of the key-sequence on the card, such that the rows and columns are no longer necessarily oriented orthogonally with respect to each other.
  • Figure 19A shows a first preferred embodiment of a twisted 5x10 matrix and its corresponding card key-sequence, wherein every other row is shifted to the right by half a cell from the standard, i.e., straight, format shown in Figure 17, i.e., the cells are not aligned so as to intersect at 90° angles.
  • the card has the key-sequence 7-12-23-25-28-43-47-50, just as in the basic embodiment shown in Figure 17.
  • the card corresponding to this twisted matrix looks slightly different than the does the basic matrix card having that same key-sequence shown in Figure 17.
  • Figure 19B shows a second preferred embodiment of a twisted 5x10 matrix and its corresponding card key-sequence, wherein every other column is shifted down by half a cell from the standard format shown in Figure 17.
  • the card in this embodiment has the key-sequence 7-12-23-25-28-43-47-50, just as in the basic embodiment shown in Figure 17 and in the first embodiment of the twisted matrix shown in Figure 18.
  • the card corresponding to this twisted matrix looks slightly different than the does the card having that same key-sequence that corresponds to the basic matrix shown in Figure 17 and slightly different than the does the card having that same key-sequence that corresponds to the first embodiment of the twisted matrix shown in Figure 18.
  • Figure 20 shows two additional preferred examples of twisted matrices that can be utilized, one on the left side and one on the right side of Figure 20.
  • additional embodiments of twisted matrices can be contemplated, by varying the positions or layout of the cells of the matrix. Twisted matrices are preferably implemented in the present invention using an algorithm that shifts the positions of the cells in successive rows, and such algorithms are well known to those of ordinary skill in the art.
  • the array of characters that make up the matrix need not be oriented in row/column format, orthogonally oriented or not, but can also be arranged in other non-linear formats.
  • the characters may be arranged in a spiral configuration, such as a circle or ellipse, with characters arranged in concentric circles or spirals, each of which can be considered a row.
  • the characters may be arranged in a spiral configuration, such as a circle or ellipse, with characters spiraling outward from a central location or node.
  • the key sequence would take an appropriate set of values, based for example upon the sequential positions of the characters from the node, with viewing portions formed at appropriate locations along the spiral.
  • Many other types of orientations may be utilized without departing from the essence of the invention.
  • the card is preferably to be matched against the displayed matrix to reveal the OTP when introduced during an online transaction.
  • twisted matrices which create different visual looks for different cards, can preferably be used in order to make it even more difficult (and indeed almost impossible) to visually map the exact order of the cells on the card and determine the key- sequence.
  • the server when displaying a matrix to a user, may choose from among many different possible formats, e.g., different sizes (numbers of rows and columns) or key- sequence length, non-mixed/mixed, straight/twisted, etc., the server needs a way to determine the format of the matrix to display for each particular user.
  • a user with a card whose 8- vector key-sequence is determined based upon a 5x10 straight numbers-only matrix would never be authenticated for transactions if the user were presented with a matrix having any other property, e.g., a different number of rows or columns, mixed content or twisted, or requiring a different number of characters in the OTP.
  • a matrix template can be associated with each user's account or with a group of user accounts, such that whenever a user attempts to log in, the server presents that user with a matrix layout as determined by that user's template.
  • the template used to produce the matrix can be stored in the server database under a specific account record or group of records.
  • the server will display the scrambled matrix in the predetermined layout that is relevant for that user, so that there can be a match between the actual card of that user and the displayed matrix.
  • the server will expect entry by the user of an OTP in the predetermined form and with the correct number of characters that is relevant for that user, so that there can be a match between the format and number of characters of the OTP that the user has entered and the predetermined key-sequence for that user's matrix template.
  • Matrix templates can be employed to determine the type or form of the matrix (e.g., standard or twisted), the size of the matrix (i.e., how many rows and columns), the content of the matrix (e.g., numbers, letters, characters or mixed), the numbers of characters per cell and/or the number of vectors in the key-sequence.
  • one group of cards/matrices can be produced using a matrix template that has only numbers
  • another group of cards/matrices can be produced using a mixed matrix template
  • a third group of cards/matrices can be produced using a combination of a mixed matrix and a twisted matrix.
  • the server will anticipate entry of by the user of the OTP in a particular format, such as the predetermined number of vectors in the key-sequence and the number of characters per key- sequence, and will refuse to authenticate a user that does not provide the OTP as expected.
  • matrix templates which dictate the format in which the matrix will appear or be presented to a particular user and the number of vectors in the key-sequence, provide an alternative and optional way to increase the number of combinations and/or permutations of the scrambled matrix and/or the key-sequence, thereby increasing the strength of the key-sequence and the OTP.
  • the number of available vectors measured by the size of the matrix, i.e., the number of rows and columns, will have a direct effect on the strength of the authentication process. This is because the number of possible key-sequence combinations for a particular matrix means that each OTP for that matrix has a higher chance of being non-repeatable, i.e., unique. Moreover, whether or not the characters of the OTP are required to be entered in a specific order will also impact upon the strength of the authentication process. In other words, the strength of the key-sequence and the OTP will be determined, in part, by the number of vectors of the matrix that are revealed by the holes of the card and whether or not the user is required to enter the revealed vectors in a particular sequence.
  • the order of entry of the characters of the OTP is NOT required, and the user may enter the revealed vectors in whatever order desired.
  • the number of combinations available for choosing K objects out of N objects is represented by the following formula, where the variable N stands for the number of cells in the matrix, and the variable K stands for the length of the key-sequence (the number of vectors):
  • Every vector in the key-sequence represents a physical, two-dimensional (x,y) location on the card.
  • the locations of cell numbers 1 through 8 would be punched/printed on the card.
  • the key-sequence 2-5-1-8-6-3-7-4 would result in a card with the same physical appearance, because every vector represents the same physical location on the card (i.e., punched/printed holes that are in the same physical locations as in the previous key-sequence).
  • the physical cards all combination of specific vectors will be identical.
  • the value C(n,k) represents the number of different and unique cards that may be produced using the matrix with N cell locations.
  • Figures 21 -24 demonstrate the number of combinations, i.e., unique cards, that are available for different sized matrices and key-sequence lengths.
  • An example of a key-sequence for each set of variables is shown in each of Figures 21-24.
  • Figures 21 and 22 show examples of key- sequences for 5x10 matrices (with 50 cell locations) having 8 and 10 vectors, which have 536,878,650 and 10,272,278,170 possible key-sequence combinations, respectively.
  • Figures 23 and 24 show examples of key-sequences for 8x13 matrices (having 104 cell locations) having 8 and 10 vectors, which have 257,575,523,205 and 26,100,986,351 ,440 possible key-sequence combinations, respectively.
  • a different number of combinations is derived if the size of the matrix is reduced but the number of vectors in the key-sequence is increased.
  • the 4x9 mixed matrix shown in Figure 16 along with a key-sequence length of twelve (12) vectors, provides 1,251,677,700 combinations, which is more than the number of possible combinations for an 8-vector key- sequence in a larger, 5x10 matrix having 50 cell locations, as discussed above.
  • a randomly generated key-sequence may be: 5-V-K-9-Y-R-D-3-X-7-F-8.
  • a sample 12- vector card is shown on the left side of Figure 25, and the card, after being placed over the scrambled matrix appearing on the monitor, is shown on the right side of Figure 25.
  • This combination of numbers and letters in a 4x9 matrix size provides a fairly strong key-sequence, yet still reserves additional space on the card for an optional magnetic strip (in a combined card implementation) and for printed information (e.g., cardholder's name, expiration date, etc.), as seen in Figure 25.
  • Table 3 shows additional combinations of the variables N and K and the resulting number of possible key-sequence combinations, where the order is not required. Table 3 demonstrates that a matrix of 40 cells, with a key-sequence length of 16 vectors, provides quite a robust key of 62,852,101,650 possible key-sequence combinations (over 62 billion, 852 million possible combinations).
  • the key-sequence 1-3-5-7 is sorted in ascending order.
  • the key-sequence that is stored in the database must be sorted, because the server does not "know" in which order the user will type in the OTP. Therefore, after the server converts the OTP to its corresponding key-sequence numbers, the result must be sorted, as discussed below, in order to ensure that the transaction is not incorrectly rejected and that a match takes place.
  • a key-sequence that is generated for a new account needs to be sorted.
  • the user is permitted to enter the OTP in any order desired.
  • the server then converts the OTP into the corresponding numbers of the unscrambled matrix and sorts the result. For example, with reference to the example of Figure 27, if the user typed in 6-8-5-7 as the OTP, the server would convert the OTP to 3-7-1-5. This result would then be sorted by the server to 1-3-5-7, a result which matches the key-sequence.
  • the strength of the OTP alone is measured by the probability that any specific OTP will be repeated. In the present invention, this translates into the chance that an outsider might guess the OTP for a certain transaction.
  • the probability that an outsider will be able to guess the OTP, where the order is not required is represented by the formula 1/C(N,K). With reference to Table 3 above, which presents examples of the resulting combinations for different sized matrices (N) and different key-sequence lengths (K), Table 4 below shows the probability of someone guessing any one of the combinations resulting in Table 3.
  • One way to further strengthen the OTP is the second embodiment, wherein a specific order of entry of the OTP characters IS required, i.e., that the server requires the user to enter the characters in a particular order in order for the OTP to be accepted as valid.
  • the number of permutations available for choosing K objects out of N objects is represented by the following formula, where the variable N stands for the number of cells in the matrix, and the variable K stands for the length of the key-sequence (number of vectors):
  • the value K! does not appear in the denominator. Therefore, in pragmatic terms, adding the dimension of the order multiplies the number of possible combinations of characters of the OTP by K!.
  • the number of OTP combinations in a matrix of 36 cells and a key-sequence length of 8 vectors when the order is NOT required is 30,260,340, as set forth above.
  • the number of OTP combinations is:
  • This probability is significantly smaller than in the first embodiment, where the selection order of the vectors is not important.
  • a greater number of combinations, and a smaller probability of guessing the OTP, is provided if the user is instructed to enter the OTP in one specific order, for example from left to right along the rows, and from top row to bottom row.
  • the server sorts the OTP in order for it to match to the key-sequence.
  • making the order of entry of the OTP characters important provides even stronger protection to the user by increasing the possible number of combinations of the OTP and thus a smaller chance to guess it.
  • the server will NOT sort the OTP. Instead, when a new card is created, the key-sequence is created in a specific order, the server will not sort the key-sequence before storing it in the database, as described previously for the previous embodiment.
  • a key-sequence that is generated for a new account first needs to be sorted. Then, the user is requested to enter the OTP in a specific order (e.g., from left to right along each row, and from top row to bottom row). In effect, by entering the OTP in a specific order, the user himself performs the sort that the server performs in the first embodiment, and a match can take place.
  • a specific order e.g., from left to right along each row, and from top row to bottom row.
  • the server sorts the key-sequence at the time of creation of the card prior to storing it in the database, e.g., in ascending order, as 4-6-8-11-15-23-42-47, and the user may then enter the OTP characters in any order. After OTP entry, the server would re-sort the matrix and generate the result 4-6-8-11-15-23-42-47. Thus, in such a situation, this is actually the only one key-sequence.
  • the probability of guessing an OTP can be made smaller by increasing the possible number of permutations, or orders, for each combination of vectors in a key-sequence.
  • order templates which dictate the sequence in which the characters of an OTP must be entered by a user in order to be accepted by the server, wherein a specific order is associated with a specific user's account or with a group of users' accounts.
  • each user would preferably have an "order template" associated with his account.
  • the order template type is preferably stored in the database of the server under the user's account, for example: Type-00, 01, 02, ... 99.
  • the order template for a new user can be randomly chosen from a pool of predefined templates when generating a new account.
  • the server will expect entry by the user of an OTP in the predetermined order according to the order template that is relevant for that user. If the OTP characters are entered in the predetermined order according to the order template, there is then a match between the format or order of the OTP entered and the predetermined key-sequence for that user's matrix template. If not, the transaction is not authenticated
  • the user may be required to enter the order template type along with the OTP.
  • the order template type can be either memorized by the user or can be printed on the card itself.
  • Figure 28 shows an embodiment of the card wherein the order type, in this case the number 78, is printed on the card, in this case at the top-right-hand corner thereof.
  • the card itself may inform the user the specific order in which to enter the matrix characters to form the OTP.
  • Figure 29 illustrates a card, the same card as in Figure 3, having printed on thereon the OTP character entry order.
  • the order entry is provided in the form of sequential characters, such as numbers or letters, printed next to the key- sequence vector viewing areas (holes) to inform the user of the order in which he/she is required to type in the OTP.
  • the card contains the number "1" next to the view area for vector location 11, to instruct the user that, when the card is placed on the displayed matrix, the number revealed in cell number 1 1 should be typed in first.
  • the card contains the number "2" next to the view area for vector location 23, to instruct the user that, when the card is placed on the displayed matrix, the number revealed in cell number 23 should be typed in second, etc.
  • the order in which the OTP characters are to be entered is 11-23-42-4-8-6-47-15 (using the unscrambled matrix as shown in Figure 10 for reference), which is in effect the key-sequence. If the user enters the characters of the OTP in an order other than the order dictated by the numbers printed next to the holes, the OTP will not be recognized by the server.
  • the user can be issued a card that is to be used on one of the two sides, i.e., either front or back.
  • a single card will yield a different OTP when placed over the same matrix, depending upon which way the card is facing when placed over the displayed scrambled matrix. Accordingly, each card will have one key-sequence when used from the front and another, different key-sequence when used from the back.
  • each card would have two different key-sequences, one for when the front of the card is used and one for when the back of the card is used.
  • the server would instruct the user to place the card over the matrix either front side up or front side down, and, when the user enters the revealed OTP, the server would use the appropriate side's key-sequence for verification of the OTP.
  • the server would have a "side template" for each user and only the user would know whether the card is to be used from the front or from the back. In this embodiment, the server knows the appropriate key-sequence for each side of the card.
  • this invention also provides for solutions to attacks intended to compromise key-sequence security.
  • a hacker is somehow able to copy a displayed matrix and to spoof the OTP in the same transactional session, he/she can easily calculate the key- sequence by matching the OTP to the matrix.
  • the OTP for the card used to log a user into a bank in Figure 13, as shown against a scrambled matrix in Figure 11, is: 23-14-47-12-26-28- 19-49. Every characters from the OTP can be easily mapped to its actual location on the unscrambled matrix, as shown in Figure 10.
  • the resulting key-sequence derived is: 4-6-8-11- 15-23-42-47.
  • a dynamic vector Another preferred embodiment of this invention that provides for solutions to attacks intended to compromise key-sequence security is called a dynamic vector.
  • the matrix displays groups of identical characters scattered among the matrix's two- dimensional locations, such that each character in the matrix repeats a specific number of times. This type of configuration "breaks" the one-to-one linkage, wherein every key-sequence vector represents a unique two-dimensional location in the matrix, and allows multiple key-sequence vectors to represent the same matrix character.
  • a 40-cell, scrambled, two-dimensional unique vector matrix is shown on the left
  • a 40-cell, scrambled, repeat-vectors matrix is shown on the right.
  • each number is unique in that it represents a two-dimensional location of the cell in the matrix and appears only once, whereby, in the repeat-vectors matrix, there are eight numbers, and every number repeats five times at random locations within the forty two-dimensional matrix locations.
  • the server might pick any sequence of random numbers, with any number of repetitions. For instance, the server randomly could choose ten numbers, with every number repeating four times.
  • the numbers randomly chosen by the server as repeating characters for the matrix are 3, 9, 12, 14, 33, 46, 55, 63, 78, 91, and the scrambled matrix may appear as shown in Figure 31.
  • the key-sequence is randomly generated by the server and stored, as is, in the database.
  • a number is printed next to each view portion printed on or punched through the physical card. This number represents the sequence in which the user should enter as the OTP the matrix characters viewed through the view portions of the card (the characters revealed by the card's vectors, in the order designated by the printed numbers, determine the OTP).
  • Figure 32 shows a card with viewing portions at the appropriate key-sequence vector locations.
  • the card also bears the number "1" printed or imprinted adjacent to the view area for vector location 16, as shown on the card in Figure 32, to instruct the user that, when the card is placed on the displayed matrix, the character revealed in cell number 16 should be typed in first.
  • the card contains the number "2" adjacent to the view area for vector location 7, as shown on the card in Figure 32, to instruct the user that, when the card is placed on the displayed matrix, the character revealed in cell number 7 should be typed in second, etc.
  • this method may be used with or without the typing order printed on the card itself.
  • the same algorithm might be used as explained previously. When the order is required, the number of combinations is greater.
  • a unique algorithm must be employed on the server side.
  • a new, randomly generated key-sequence is stored "as is" in the database.
  • the key-sequence is then converted into a graphical representation that defines the physical, two-dimensional layout of the viewing areas on the card.
  • a number that represents the typing order is printed.
  • the OTP is sent to the server.
  • the server reads the key-sequence for the specific user from the database and applies the following algorithm:
  • Fetch key-sequence (specific for the current user) from the database; 2 Scan the key-sequence in a loop and, for every vector, obtain the number from the scrambled matrix, where the current vector represents an index locator (1 through 40) on the matrix;
  • the matrix may be larger than the size of the matrix that matches the card.
  • the matrix may be several times the size of the card.
  • a matrix of 160 cells in 20x8 format is used.
  • the server randomly generates twenty numbers, and every number repeats eight times.
  • the numbers randomly generated are: 46, 55, 78, 14, 3, 91, 33 63, 5, 77, 86, 99, 41, 7, 53, 48, 23, 19, 76, 34, each of which numbers repeats eight times.
  • the user may decide where on the matrix to place the card, and the OTP is generated according to the specific location within the matrix where the user places the card.
  • the card in Figure 33 appears similar to that in Figure 32, i.e., it has the viewing areas at the same vector locations.
  • the order of OTP entry is printed on the card, as shown in Figure 33, by way of a number printed adjacent to each vector viewing area in the card.
  • the card in this example has the key-sequence: 35-16-40-3-19-33-7-27.
  • the OTP to be typed in is: 91, 77, 34, 63, 55, 63, 55, 14.
  • the server will scan all possible options of where that card might be placed on the matrix. In this example, there will be more than one possible matching OTP, and the server will accept any OTP that results for any location on the matrix where the card may be placed.
  • the number of acceptable OTPs for a specific card on a specific matrix is represented by the formula (M x -C x + l)*(M y -C y +l), where: M x represents the number of horizontal cells in the matrix; M y represents the number of vertical cells in the matrix; C x represents the number of horizontal cells in the card; and C y represents the number of vertical cells in the card.
  • the card contains an indication of an arithmetic adjustment that the user is required to make to the characters of the matrix that are seen by the user through the card's viewing portions in order to derive the OTP.
  • This arithmetic adjustment "hides" the one-to-one linkage between the two-dimensional location that every vector represents for every cell in the matrix and the typed in OTP.
  • a number and required arithmetic action will be printed adjacent to every viewing area ("hole") on the card, in addition or in place of the order entry indication.
  • the number and arithmetic action instruct the user as to the required action that is to be taken on the matrix characters revealed by the card's viewing portions.
  • the user when the user holds the card against the matrix, before typing the revealed characters as the OTP, the user must first make some minor calculations by applying the arithmetic action to the printed number (the operand) and the revealed character in the specific vector.
  • the sequence of characters that results from all the arithmetic actions that are taken is the OTP for that transaction.
  • the arithmetic actions might be anything like: '+' (add), '-' (subtract), '*' (multiply), V (divide) or any other action.
  • the card shown has the key-sequence vectors 3,7,16,19,27,33,35,40.
  • adjacent to vector 3 is the arithmetic operation '+' and the number (operand) 4, which means that the user is to add 4 to the matrix character that is revealed through that vector.
  • adjacent to vector 7 is the arithmetic operation '-' and the number (operand) 2, which means that the user is to subtract 2 from the matrix character that is revealed through that vector.
  • the remaining vectors 16, 19, 27, 33, 35, 40 of the key-sequence likewise have adjacent arithmetic operations and operands that instruct the user as to the operations to be taken on the respectively revealed matrix characters.
  • the card could bear both.
  • the order entry digits could be printed adjacent to the key-sequence vector viewing area on one side
  • the arithmetic operations and the arithmetic operands could be printed adjacent to the key-sequence vector viewing area on the other side. This indicates to the user the arithmetic operation that is to be taken on the revealed matrix character ion order to derive the OTP character, and the order in which the derived OTP characters are to be entered by the user.
  • the printed numbers and arithmetic actions can be randomly generated by the server for every new card prepared, and will be saved under the user's account. In that way, the server will apply exactly the same arithmetic actions on the key-sequence vectors and will compare it to the typed in OTP.
  • An alternative version of this embodiment is to assign for every card a one or two digit code that is to be the operand for every arithmetic operation taken with respect to that card. That operand could be printed on the card itself or could be memorized by the user. In addition, in this embodiment, only the arithmetic operation is printed on the card, adjacent to its respective key- sequence vector viewing area.
  • the card has the key-sequence vectors 3,7,16,19,27,33,35,40.
  • the user's code i.e., the operand, '8' is printed at the top right hand corner of the card.
  • adjacent to vector 3 is the arithmetic operation '+', which means that the user is to add 8 to the matrix character that is revealed through that vector.
  • adjacent to vector 7 is the arithmetic operation '-', which means that the user is to subtract 8 from the matrix character that is revealed through that vector.
  • the remaining vectors 16, 19, 27, 33, 35, 40 of the key-sequence likewise have adjacent arithmetic operations that instruct the user as to the operations to be taken on the respectively revealed matrix characters using the operand 8.
  • Still another referred way to protect against key-sequence attack is to use a blank matrix.
  • every vector in the matrix is assigned a specific value (e.g., numerical, character, etc., as usual), and, rather than displaying the values, the server will display a blank matrix instead.
  • the value of each vector will be hidden from the user, and every cell will be able to accept mouse or touch-screen events. In this way, the user will place the card on the monitor inside the matrix frame and click the mouse or touch the screen (e.g., using a finger or a stylus) over every key-sequence hole.
  • the clicks of the mouse or screen touches into the card holes serve as entry by the user of the OTP, and the mouse clicks or screen touches can even be entered according to the order template for that user.
  • the client side application will translate the mouse-click or screen touch events into their hidden vector values and submit the OTP to the server.
  • the server will then calculate the key-sequence from the OTP in the usual manner.
  • Yet another preferred method for protecting against a key-sequence attack is to employ a certain algorithm that involves clock or time sync between the server and the client. In this way, the user, for example, will have to recall a constant that might represent a unique time stamp that was applied to the account at the time the account was created.
  • this algorithm even if a hacker has spoofed the OTP, the hacker would still have to know additional data that is known only to the user and would have to input this information at the time of the transaction.
  • a new card must preferably be issued for each new or existing account that is added to the system.
  • a user's account is created when the account, along with the user's personal information (e.g., name, phone number, mailing address, e-mail address, password/PIN, etc.) and the user's credentials are stored in the server database.
  • personal information e.g., name, phone number, mailing address, e-mail address, password/PIN, etc.
  • password/PIN password/PIN, etc.
  • a key-sequence is randomly created and stored encrypted in the server database under the user's account (step 1). If various algorithms such as matrix templates and/or key-sequence order templates are applied, this information must be stored as well.
  • the key-sequence is then translated into a two-dimensional, graphics based pattern based upon a standard matrix or upon the matrix template (step 2).
  • a new physical card is produced (step 3) by forming selected viewing portions through an opaque view-blocking material, as discussed previously with regard to Figure 6, such as by printing a graphical pattern on a plastic film, portions of which are transparent, or by punching holes through an opaque card (such as a credit card). Placement directions, which illustrate to the user the correct way to place the card on the monitor, can be printed on the actual card, as well.
  • the card is then mailed to the user (step 4), and the user activates the card prior to using it (step 5), such as by telephone or on-line.
  • each card should preferably have an expiration date, after which a new card with a new key-sequence and a new pattern of holes must be issued for that user. Similar to resetting of a user's password/PESf, this lowers the risk that the key-sequence of the card or its pattern of holes will be compromised.
  • a timeout-lock mechanism should preferably be set for every transaction, whereby, for each transaction, the server will trigger a timeout clock that allows a preset amount of time during which the user must complete the log-in.
  • the OTP must be entered by the user and returned to the server within the time allotted, e.g., 60 seconds, or else the transaction will be rejected.
  • This mechanism helps to prevent a potential hacker from "stealing" a specific transaction session and tampering with the transferred data.
  • a retries-lock mechanism should preferably also be set for every transaction.
  • the server will cancel the current transaction and re-challenge the user by displaying a new scrambled matrix.
  • a pre-determined number of times e.g., three
  • the server will lock the account.
  • This mechanism is intended to prevent a "brute force" attack by a potential hacker, who runs a program that feeds the server with a large number of possible OTP combinations and repeatedly tries combinations of numbers in an attempt to guess the OTP.
  • the hacker will, in a preferred embodiment, have only a limited number of attempts, after which the server will temporarily lock the account.
  • An additional basic security measure that may preferably be taken is the encryption of communications between the client and the server in order to prevent a potential hacker from determining the key-sequence through interception of communications.
  • the matrix may be converted, preferably into a bitmap image or Flash-based application in run time, at the server side, prior to displaying it to the user.
  • the key-sequence should preferably be stored hashed/encrypted in the database, and the OTP should be hashed/encrypted on the client side before it is transmitted from the client's computer to the server.
  • the card in the preferred embodiments of the present invention may be used from any setting and from any computer or monitor. Therefore, in order for the user to be able to properly use the card, there must be an exact match between the matrix displayed on the user's monitor and the physical card, regardless of the size of the monitor, the monitor's dot pitch or the monitor's display resolution. If such a match between the card and the matrix is not achieved, the numbers, letters or characters of the scrambled matrix might not be revealed through the holes of the card or might be revealed incorrectly, causing the user to enter the wrong OTP. [00204] There are several ways in which to achieve a complete match between the card and the displayed matrix.
  • a computer monitor displays text or graphics as a series of illuminated dots in a certain resolution.
  • a typical monitor has a physical dot size, which is the smallest physical display unit of the monitor's screen, the most common of which are 0.28 mm, 0.25 mm and 0.23 mm.
  • a display resolution is defined as the number of pixels per inch (ppi).
  • a pixel is a logical display unit of the monitor's screen and (depending on the displayed resolution) might be composed of one or more physical dots.
  • Monitors usually support resolutions of from about 640x280 to about 1280x1024 ppi.
  • One preferred way in which to achieve a match between the card and the displayed matrix is to use programming tools/technologies on the client's end application to provide a rendering of the actual size of a window in run time, according to the dot size of the monitor and/or the displayed resolution. For example, if the server has programmed that the size of the user's card is 85x60 mm, the application will display an exact 85x60 mm framed matrix onto which the user places his/her card. This is shown in Figure 37, wherein the card is shown bound by frame 15 that matches the size of the card, such that the characters of the matrix are displayed within the holes of the card.
  • FIG. 38 Another preferred way in which to achieve a match between the card and the displayed matrix is to use a re-sizable frame.
  • the user will need to adjust the frame's size to match the size of his/her card, as necessary.
  • Figure 38 wherein the user uses his mouse or other means, such as arrow 16, to adjust the size of frame 15 so that frame 15 matches the size of the card and so that the characters of the matrix are displayed within the holes of the card.
  • a further preferred way in which to achieve a match between the card and the displayed matrix is to display more than one frame on the screen, with each frame representing a different common dot size, as shown in Figure 39. Based on the differing dot sizes and considering the currently displayed resolution, the client side application will render the exact framed matrix in run time. The user will then place his/her card on the frame that best fits the card.
  • the client end instead of displaying all the frames on the screen, the client end will display only one frame at a time. As shown in Figure 40, the user will is then able to leaf through the available frames, for example by clicking on a "Next Frame” mouse button 17, until a frame whose size best matches that of card is displayed. The user will then place his/her card on that selected frame.
  • Macromedia ® Flash ® (www.macromedia.com) can be used as an optional application for window rendering, and different font sizes and graphical design may be applied in order to achieve the desired result when displaying a framed matrix.
  • online payments and debits e.g., Internet shopping or bill payments
  • online check payments e.g., filling and signing online check orders
  • - managing medical records e.g., logging in to web based applications that allow users to view and manage their medical records, choose medical services, doctors etc.;
  • Hot Spots e.g., wireless connections to the Internet from various locations (Internet cafes, airports, coffee houses, central transportation stations etc.);
  • the software installation package will contain a card according to the present invention that the user will be required to use to register the software online in order to prevent illegal copying of software;
  • networks such as: home office secure connection, client login to Internet sites, protected Virtual Private Networks over IPsec VPN and SSL VPN for users that are connected from home, distant geographical locations, while roaming etc., or the wireless Local Area Network (LAN) of a corporation; and
  • LAN Local Area Network

Abstract

The invention consists of a method, system and device for authentication of transactions using a uniquely punched or printed key, often in the form of a card, that is used to identify and authenticate a user during online transactions. The computer randomly generates an array of characters, such as numbers, letters or symbols, which is displayed to the user, e.g., on a computer monitor, or printed, such as in matrix format. When held over the displayed matrix, the key allows the user to view only certain portions of the matrix, which portions together form the user's one­time-password, which is unique for each authentication transaction. The user is then authenticated by utilizing both the actual key and a password or personal identification number. This two­pronged requirement for authentication insures the high security level provided by the system.

Description

METHOD, SYSTEM AND DEVICE FOR AUTHENTICATION AND IDENTIFICATION FOR COMPUTERIZED AND NETWORKED SYSTEMS
FIELD OF THE INVENTION
[0001] The present invention relates generally to authentication systems and more specifically, to a method, system and device for authentication that maximizes Internet security for both the corporate industry and the business to consumer market.
BACKGROUND OF THE INVENTION
[0002] Authentication is the process of reliably verifying the identity of an individual who is attempting to access a network. Authentication determines a user's identity, as well as the information that the user is authorized to access, such as a financial database or a support knowledge base, etc.
[0003] Most people pass through authentication processes while barely noticing them. For example, an individual who calls a bank to inquire about his/her balance is asked by the bank representative over the phone to provide personal identification information, such as the last four digits of his/her social security number, phone number, birth date, address, etc. Upon hearing the correct response, the bank representative is able to authenticate the caller by assuming that, if the caller knows the answers to the questions, the caller must, in fact, be authorized to inquire about the account.
[0004] Another example occurs when a person shopping in a store chooses to pay by credit card. In order to complete the payment transaction, the customer is required to show the actual credit card as well as to provide a signature. The cashier then authenticates the transaction by assuming that, if the customer possesses the credit card and the customer's signature is identical to the signature on the card, then the customer must, in fact, be the authorized user of the card. Occasionally, the cashier may ask for additional identification, such as a driver's license.
[0005] A third example is when a user attempts to withdraw money from a bank Automated Teller Machine (ATM). The customer must first insert a bank card or credit card and then provide a PIN code in order to begin the transaction.
[0006] The problem of personal identification has become extremely crucial as use of the Internet has grown and become a standard part of our lives. Millions of people throughout the world can sit behind computer screens anywhere and perform billions of online transactions (Internet shopping, bill payments, online banking, accessing highly protected networks, and more), thus creating an enormous potential risk for fraud. Unfortunately, the Internet has also allowed anyone to hide his/her true identity and pretend to be someone else. As a result, identity theft has become one of the biggest problems society must cope with in the Internet era.
[0007] Many business to consumer based organizations, such as banks, credit card companies, governments, merchants, service providers and more, have opened their services to the general public via the Internet. However, these organizations need to protect their businesses from identity hijackers, hackers, defrauders, masqueraders and other criminals who find the Internet a comfortable place to commit their crimes. Organizations like these are losing tremendous amounts of money and time because of these threats, while spending huge amounts of money and time to develop and maintain authentication and security systems.
[0008] Furthermore, as the Internet has become increasingly accessible to individuals in various settings (at homes, in hotels or at airports), many corporations and enterprises have opened their protected networks to the Internet, to enable employees to access internal networks as needed. This increases productivity and efficiency, as people can now work from home or telecommute, and road warriors like salespeople and support staff can access the network at any time and from any place. However, security remains a chief concern.
[0009] From the perspective of network security, authentication is the most difficult challenge to overcome. There are three major ways through which authentication may take place on the Internet and networked systems:
- knowledge, wherein the user knows or remembers a password or personal identification number (PIN) that the user uses to authenticate a transaction;
- ownership, wherein the user owns a device, such as a software-based key that has unique and encrypted information (e.g., a digital certificate), a one-time password token, a challenge-response list or a Smart Card, that is used to authenticate a transaction; and
- biometrics, wherein a physical feature of the user, such as a fingerprint, retina or voice pattern, etc., is measured and recognized by the computer for authentication purposes.
[0010] The most common form of authentication is a user name and password, although it is the least secure form of authentication and consists of only one of the above-mentioned mechanisms (i.e., knowledge). It is considered good practice to combine at least two of the three major authentication systems, since each authentication system, by itself, may be easily compromised. For example, a user-owned device is susceptible to ordinary theft, while passwords or PIN's known to the user may be compromised by Internet or "over the shoulder" sniffing. As a result, most presently-used systems combine these approaches. For example, a Smart Card, which requires the user to enter a PIN, is a combination of an "ownership" device (i.e., the Smart Card itself) and a "knowledge" device (i.e., the PIN). Similarly, ATM's use a combination of two of the above- mentioned systems (i.e., a card and a PIN).
[0011] Many authentication tools and methods, both hardware and software based, have been developed in order to address the need for strong authentication in the B2C and other markets. Some of the currently available hardware tools are: credit and debit card readers (devices that connect to a computer and allow the user to "swipe" his/her card), smart cards and their reader devices, biometric devices such as fingerprint readers, retina scanners and voice recognition devices, and USB tokens. While these tools and methods provide reliable authentication, they have many disadvantages, among which are that the hardware tools all require a device or card reader to be physically connected to a computer, that their costs of production and maintenance are very high (~$50-$100 per unit), that they are disposable, that they are impossible to deploy to the masses, and that they are difficult to install and cumbersome to use.
[0012] Software authentication tools, such as Digital Certificates, are also available. However, they too are costly, difficult to deploy and maintain, and are not at all portable.
[0013] Because of the stated difficulties, the above solutions have generally failed, and, due to lack of a better alternative, the B2C market has adopted the most common, yet the least secure, method of authentication - the Password method.
[0014] The corporate and enterprise industry is different from the business to consumer market. Unlike the business to consumer market, corporations and other enterprises have more control over their organizations and their users. A corporation consisting of tens, or even thousands, of users can dictate and deploy the authentication method to be used by its employees or contractors.
[0015] As a result, many hardware-based authentication tools and tokens have been developed for this market. Most of these applications are electronic token devices that maintain a synchronization algorithm with the authentication server. In most cases, the user must physically retain the hard token. Additional hardware tools and tokens, such as those mentioned above, and software-based applications are also used in the corporate market.
[0016] Figure 1 shows examples of authentication devices that are currently being used, including RSA SecureID (Figure IA), Vasco Digipass (Figure IB), and Activecard smart card and card reader (Figure 1C), which are used in the corporate market. Some of these applications provide the advantages of strong authentication and portability. However, their disadvantages include that their costs of production, deployment and maintenance are very high, that they are disposable after two to three years, that they are breakable, that they are based on disposable batteries, that they are susceptible to frequent malfunctions, that they are likely to be lost and/or broken, and that they are thick and bulky and thus difficult to carry. Furthermore, these tokens cannot be used in the business to consumer market because they are not designed to be deployed to the public at large.
[0017] Like the B2C market, many enterprises have also adopted the most common, yet the least secure, password method because of the difficulties in deploying hardware token-based authentication systems, such as those shown in Figure 1.
[0018] A number of methods and devices have been proposed to overcome the difficulties discussed by using matrices or cards to help the user remember or derive his pass code or PIN. For example, in U.S. Patent No. 5,246,375 to Goede, a transparent card aids a user to remember a PIN with a matrix of numbers disposed thereon. The user memorizes an (x,y) location on the matrix at which a recording sheet is registered, and when the recorded sheet member is disposed under the substrate at the user defined location, the personal identification number is shown.
[0019] U.S. Patent No. 5,251,259 to Mosley discusses a system for varying a password or PIN, wherein a group of seven PIN's are assigned to each card holder for use in a specific sequence changing each calendar day. A 7x7 grid of randomly selected numbers and letters allows the user to access seven three-digit codes that must be used in the correct sequence, as determined by the number of uses per calendar day. If a PIN is used out of sequence, then access to the charge or credit card is denied.
[0020] U.S. Patent No. 5,742,035 to Kohut discloses a device for aiding a user to recall a PIN in the form of a label containing a geometric matrix that is applied to the surface of a bank or credit card. A sequential pattern is chosen within the matrix, and the PIN is installed into the sequential pattern in a predetermined order, with the remaining spaces within the matrix being filled-in with other numbers or characters. By recognizing a single sequential pattern within the matrix, the authorized user can recall a PIN for any card bearing such a matrix label, without jeopardizing the intended security associated with PIN use.
[0021] While these devices help a user to remember a PIN or pass code, or to derive a preset PIN or pass code, they do not involve the physical use of any card to derive a dynamic password or to authenticate a transaction. Other systems use the card to authenticate a transaction.
[0022] For example, U.S. Patent No. 4,016,404 to Appleton discusses a method of verifying a credit card use, wherein a matrix of holes formed in a predetermined order through the credit card stores information. A processing unit, pre-programmed to determine the matrix bit positions and the sequence of a user code from the information matrix as a function of the numerical value of a scrambler code, reads the information matrix from the credit card and, by comparison of the encoded information with a code manually entered by a user, determines whether the credit card use is authorized. Unfortunately, however, this system is useful for authenticating credit cards used during point of sale transactions only, and is not usable for remote transactions, such as over the Internet.
[0023] In U.S. Patent No. 5,488,664 to Shamir, a method for protecting visual information against unauthorized access and modification using a printed cryptographic watermark is discussed. A first array of shapes is printed on a first sheet of material to be protected, and a second array of different shapes is printed on a transparent medium to form a developer. When the transparent developer is placed over the first sheet, a watermark, which is not visible in either of the sheets alone, is encoded. The watermark is encoded by preparing each array using black and white pixels that have been split into a first collection of sub-pixels that appears in the first array and a second collection of sub-pixels that appears in the second array. When the two printed sheets are placed directly over each other, the first sheet of material can be seen through the second, transparent sheet, making the watermark (the combined image) visible.
[0024] In "Visual Cryptography", by Moni Naor and Adi Shamir, Advances in Cryptology - Eurocrypt '94 Proceeding, Workshop on the Theory and Application of Cryptographic Techniques, Perugia, Italy, May 1994, Lecture Notes in Computer Science, Vol. 950, Springer- Verlag, 1995, pages 1-12, a secure cryptographic scheme that can decode concealed images without any cryptographic computations is disclosed.
[0025] In "Visual Cryptography II: Improving the Contrast Via the Cover Base", by Moni Naor and Adi Shamir, Security Protocols, International Workshop, Cambridge, United Kingdom, April 1996, Lecture Notes in Computer Science, Vol. 1189, Springer- Verlag, 1997, pages 197-202, an alternative model that enables the achievement of a better contrast than in the previously discussed scheme is proposed.
[0026] In "Visual Authentication and Identification", by Moni Naor and Benny Pinkas, Advances in Cryptology - Crypto '97 Proceedings, 17th Annual International Cryptology Conference, Santa Barbara, USA, California, August 1997, Lecture Notes in Computer Science, Vol. 1294, Springer- Verlag, 1997, pages 322-36, the authors discuss various authentication and identification methods for human users using visual cryptography. The methods are easy to use and implement using "low tech" technology.
[0027] In U.S. Patent No. 6,728,376 to Dean et al., a system for encrypting documents with stencils is discussed, providing a way to decrypt original image content in two passes. An encrypted image is partially recorded through a stencil to a first recording medium, and then the image is partially recorded through a complement of the stencil to a second recording medium. The two mediums are then stacked together to fully decrypt the original image content. [0028] U.S. Patent No. 6,095,566 to Yamamoto, et al. discusses an image recording system used to superimpose additional information. The superimposed image is used for certification, and this method is used as a personal identification product to prevent falsification and forgery of identification cards. An image recording system superimposes on an original image an additional image that is the same as any one of visible characters, symbols or numerals on a recorded product and records the superimposed image on the recorded product as an image for certification. The additional image superimposed on the recorded product cannot visually be recognized and is visible only through a universal optical filter.
[0029] U.S. Patent Application Publication No. 2003/0070078 Al to Nosrati et al. discusses a method and apparatus for adding security to online transactions using ordinary credit cards. This method increases the level of security over the regular use of ordinary credit and debit cards. However, the user is required to carry an electronic identification device in order to be authenticated by the financial institution.
[0030] International Patent Application Publication No. WO 02/065411 A2 to Benedetti discusses a method and system for making a commercial transaction secure with the use of a smart card. The proposed method uses the following steps: a user enters identification data and a PIN code, a third party server (which authorizes the transaction for the merchant site) sends to the user at least two variables defining an authentication key in a matrix printed on a material medium available to the user, the user then transmits to the third party server the authentication key using the input variables received from the server, and the server finally verifies the authentication key transmitted by the client if it corresponds to the key defined by the authentication table stored in the third party server database.
[0031] Others devices enable the use of temporary, or dynamic, codes that are valid only for the specific transaction in progress. In U.S. Patent No. 6,246,769 to Kohut, a temporary code is randomly selected by the system and displayed to the user encoded within a completely filled geometric matrix along with other non-code characters. The user must recall a single, predetermined sequential pattern within the matrix in order to obtain the access code. If the entered access code matches the transaction specific code in system memory, access to the protected resource is granted and the transaction is allowed to proceed.
[0032] Temporary codes are also used in the Matrix-Card, shown in Figure ID, which is currently used by VP Bank of Liechtenstein to authenticate its Internet banking users. The user possesses a matrix card that contains a number of preset 4-digit alpha-numeric codes, e.g., 64 or 128 codes, arranged in rows and columns, and at each e-banking login the system identifies, by row and column, the location on the matrix card of a specific code that the user must enter. The system stores in memory the various codes and, upon the user's entry of the correct code from within matrix, authenticates the user for the transaction.
[0033] In addition, temporary codes are used with IdentityGuard, by Entrust of Addison, Texas, shown in Figure IE. In this system, users are provided with a card on which an assortment of characters is printed in row/column format. At each login, the system identifies, by row and column, several locations on the matrix card, and the user must successfully enter the correct characters at the identified locations in order to demonstrate that he is in possession of the appropriate card. The system stores in memory the various codes and, upon the user's entry of the correct characters from within matrix, authenticates the user for the transaction.
[0034] International Application Publication No. WO 02/17556 Al , to CMX Technologies PTY Ltd., of Australia, discloses a system known commercially as NextID, which is a system and method of validation for transactions between a user terminal and a server using a card (called a key) that allows a user to correlate the position of a point on a visual display or on the key with the position of a second point on the same display by holding the card key against the display. In a commercial embodiment, as shown in Figure IF, the user is provided with a PIN code and a key, on which a series of elements is printed, with a view through window next to each element. In order to validate a transaction, the server challenges the user with a displayed elements, and the user must hold the key against the displayed elements and, using the PIN as an index locator on the displayed elements, match every element in the displayed elements to the elements on the key, and enter the correspondents elements from the key.
[0035] U.S. Patent No. 6,406,062 to Brooks discloses a hidden image game piece and a method by which a hidden image game piece is produced and used (although not for authentication purposes). A first hidden image game piece is formed on a transparent or translucent substrate, and a second hidden image game piece is formed electronically, and optionally printed or, alternatively, saved and distributed in electronic format. The hidden image game piece, using color filtering techniques, can be used to derive demographic information from recipients, to drive them to web sites or retail outlets, and to provide a means for distributing advertising.
SUMMARY OF THE INVENTION
[0036] Accordingly, it is one object of the present invention to provide a new and improved authentication system that maximizes Internet and network security.
[0037] It is another object of the present invention to provide a new and improved authentication system that is generic and applicable to all industries. [0038] It is a further object of the present invention to provide a new and improved authentication that is user friendly, inexpensive to produce and maintain, portable, free of complicated, electronic hardware devices, and easily deployed to the general public.
[0039] It is still another object of the present invention to provide a new and improved authentication system that requires the user to both physically possess and use an article, as well as to remember a password or personal identification number (PIN), thereby maximizing the level of security for online transactions.
[0040] It is still a further object of the present invention to provide a new and improved authentication system that requires the user to enter a completely new and randomly different password for each transaction
[0041] In accordance with these and other objects of the invention, the present invention is preferably comprised of the following physical components: a key card and a network access device. The invention is preferably also characterized by a key-sequence, a matrix, an algorithm, a one-time password and a challenge response.
[0042] The network access device can be any known communications device, e.g., computer, PDA, cell phone, ATM, etc., that preferably can be used to perform online transactions. The network access device enables connections to the server for the authentication procedure and preferably also comprises a monitor or screen for displaying information to the user.
[0043] A uniquely hole-punched or printed key, generally in the form of a card, is preferably used to authenticate and identify a cardholder when used in online transactions. The card can preferably be made of any material, e.g., typically plastic, and is preferably in the size and shape of a credit card, although it may also be made of other materials and/or be sized or shaped differently. The card may be associated with a user account, whereby it contains each user's unique credentials (e.g., username and password/PIN) by any standard mechanism, e.g., a magnetic strip, or it may be used without user credentials. In a preferred embodiment of the invention, when held over a series of numbers, symbols or characters that are displayed or printed in a specific format, layout or array, generically called a matrix, such as by being held against the monitor on which is displayed (or printout on which is printed) the displayed matrix, so as to cover at least portions of the matrix, the card reveals a dynamic, one-time password (OTP) that is unique for each authentication transaction.
[0044] Every card is uniquely identified by a sequence of randomly generated numbers or characters called a key-sequence. The key-sequence is represented as a series of two-dimensional cell locations (i.e., vectors) formed on or through the surface of the card. The length of the key- sequence may vary in accordance with the optimal tradeoff between user friendliness and the required strength of security. The key-sequence determines which portions of the matrix are used to reveal the one-time password for that transaction.
[0045] A matrix, layout or array is a series of data (numerical or character), represented in two- dimensional format, such as by rows and columns, which together create cells representing specific values. In the present invention, the preferred way to derive the unique, one-time passwords that users enter in order to authenticate online transactions is through the use of the array of data, herein generically termed "matrix". The server of the network access device uses an algorithm to present a scrambled and randomly-generated matrix to the user on the monitor or other display or printout in a predetermined format or orientation. Many types of algorithms may be utilized with the present invention, although the algorithms detailed herein are based on matrices and key-sequences.
[0046] An OTP is derived from a randomly generated matrix sent by the server and displayed on the user's monitor. The user derives the OTP by holding the card against the matrix that is displayed on the monitor, or covering the matrix wherever it is displayed or printed, such that only certain portions of the matrix are revealed, based upon the card's unique key-sequence. The revealed portions of the matrix form the OTP, which the user enters into the computer (or other device) in order to authenticate the transaction. Preferably, because the matrix is randomly generated and is not stored, but rather only is displayed to the user, the OTP is different for each online transaction.
[0047] In a typical Challenge-Response sequence, the server challenges the user and the user responds. The user provides his/her user name and password and, after the server successfully verifies the user name and password, the server challenges the user by displaying a scrambled and preferably randomly generated matrix. The user responds by covering the displayed matrix with his/her key card and typing in the OTP. The system verifies whether the entered OTP is correct. If the OTP entered is correct, the transaction is authenticated.
BRIEF DESCRIPTION OF THE DRAWINGS
[0048] The above and other objects and advantages of the invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which the reference characters refer to like parts throughout and in which:
[0049] Figure 1 shows examples of prior art hardware-based and card-based authentication devices that are currently being used;
[0050] Figure 2 shows an embodiment of the hardware system for operation of the present invention;
[0051] Figure 3 shows a typical flow of an online transaction; [0052] Figure 4 shows one example of a matrix that may be used in the present invention; [0053] Figure 5 shows the matrix of Figure 4 in scrambled form; [0054] Figure 6 shows a first embodiment of the card as used in the present invention; [0055] Figure 7 shows a second embodiment of the card as used in the present invention;
[0056] Figure 8 shows a first example of a randomly generated result for an eight vector key- sequence, using a matrix of 50 cells;
[0057] Figure 9 shows a second example of a randomly generated result for a different, eight vector key-sequence, using a matrix of 50 cells;
[0058] Figure 10 shows an example of an unscrambled matrix and its use in conjunction with the card of Figure 6 to derive an OTP;
[0059] Figure 11 shows an example of a scrambled matrix and its use in conjunction with the card of Figure 6 to derive an OTP;
[0060] Figure 12 shows an example of a computer screen before the user introduces the card in an online transaction;
[0061] Figure 13 shows an example of a computer screen after the user introduces the card in an online transaction;
[0062] Figure 14 shows a side-by-side comparison of the cells of a 5x10 matrix before and after scrambling;
[0063] Figure 15 shows an example of how the server matches the user-entered OTP with the key-sequence stored in its database;
[0064] Figure 16 shows examples of unscrambled and scrambled, mixed matrices; [0065] Figure 17 shows a basic matrix and its corresponding card key-sequence; [0066] Figure 18 shows two alternative layouts of a basic matrix;
[0067] Figures 19A and 19B shows a two embodiments of a twisted matrix and their corresponding card key-sequences;
[0068] Figure 20 shows two further embodiments of twisted matrices; [0069] Figure 21 shows a key-sequence and the number of combinations for N=50, K=8; [0070] Figure 22 shows a key-sequence and the number of combinations for N=50, K=IO; [0071] Figure 23 shows a key-sequence and the number of combinations for N= 104, K=8; [0072] Figure 24 shows a key-sequence and the number of combinations for N=104, K=IO; [0073] Figure 25 shows a card, with a key-sequence length of 12, before and after being placed over a 4x9 mixed matrix;
[0074] Figure 26 shows an example of a card containing consecutively placed vectors;
[0075] Figure 27 shows an illustration of simple unscrambled and scrambled matrices demonstrating order does not matter for OTP combinations;
[0076] Figure 28 shows an example of a card that indicates its order template type; [0077] Figure 29 shows an example of a card that indicates the OTP entry order;
[0078] Figure 30 shows a comparison between a 40-cell, scrambled, two-dimensional unique vector matrix and a 40-cell, scrambled, repeat- vectors matrix;
[0079] Figure 31 shows another example of a scrambled repeat- vectors matrix;
[0080] Figure 32 shows a card after having been placed over the 40-cell, scrambled, repeat- vectors matrix of Figure 31 with the OTP entry order indicated on the front;
[0081] Figure 33 shows another example of a repeat- vectors matrix that is larger than its corresponding card;
[0082] Figure 34 shows an example of a card that indicates an OTP arithmetic operation and operand;
[0083] Figure 35 shows another example of a card that indicates an OTP arithmetic operation and operand;
[0084] Figure 36 shows a flowchart of a typical process for issuing a new card;
[0085] Figure 37 shows an option for rendering the size of the matrix window according to the dot size of the monitor and /or the displayed resolution;
[0086] Figure 38 shows an example of a re-sizeable frame;
[0087] Figure 39 shows an option for rendering a variety of frame sizes for which the user chooses the best fit; and
[0088] Figure 40 shows an option for leafing through different sized frames to find the best fit.
DETAILED DESCRIPTION OF THE INVENTION
[0089] As discussed herein, the present invention provides a high level authentication system that maximizes Internet and network security during online transactions. The system is a generic solution, applicable to all industries. It is user friendly, inexpensive to produce and maintain, portable, free of complicated, electronic hardware devices, and is easily supplied to the general public. The invention can be used with any type of computer or handheld device, with any operating system, and from any location (home, office, Internet cafes, airports, etc.).
[0090] The method and system of identification and authentication of the present invention is based upon the generation of a one-time password for each transaction that the user provides to the system to which access is desired. The one-time password is provided to the user preferably through the use of a uniquely punched or printed card that is held over a randomly generated and scrambled array of characters, known as a matrix, that is displayed, such as on a monitor or printout, thereby revealing a sequence of numbers, symbols or characters that comprises the one¬ time password.
[0091] Figure 2 shows an example of a preferred hardware system on which the present invention may be operated to perform online transactions. The system has at least a client end 2 and a server end 4, which are electronically linked for communications through an electronic network 6, such as the Internet. The server end 4 comprises the computer that runs the server end application and may include a combination of software components, such as a database, the application server, a web server and more. Usually, the server 4 is hosted in the data center of the enterprise (e.g., bank, merchant, corporate network, etc.).
[0092] The client end 2 is the application that displays a matrix, layout or array of data characters (numerical or otherwise), preferably in two-dimensional format to the user, accepts the user's inputs (such as username, password/PIN and OTP), and sends all the information to the server 4. Preferably, all communications between client end 2 and server end 4 should be encrypted, such as by using an encryption method such as SSL (Secured Sockets Layer). Depending on the application, the client end 2 might be a Browser-based application (html) or software that must be installed on the client's computer (e.g., a Virtual Private Network client, etc.). A client end network access device 3 can be any known communications device, e.g., computer, Personal Digital Assistant (PDA), cell phone, ATM, etc., using any operating system and from any location (e.g., home, office, Internet cafes, airports, etc.), that preferably can be used to perform online transactions.
[0093] The client end network access device 3 enables connections to server 4 for the authentication procedure and preferably comprises a monitor, screen or other display device, often known generically as the monitor or screen, for displaying information to the user. The client end network access device 3 can have any type of monitor, including touch screen monitors, such a those used in ATM machines or point-of-sale devices. Alternatively, the display device could utilize a printer that prints the display to the user in two-dimensional format. The client end network access device 3 can use a keyboard, touch screen, mouse, telephone, voice recognition or handwriting recognition for input of information.
[0094] Figure 3 represents a typical flow of an online transaction in accordance with a preferred embodiment of this invention. First, depending on the implementation, the user connects to a web site/protected application or a network gateway and types in his/her username and password/PIN intro the client end network access device 3 (step 1). Then, the server validates the username and password/PIN and, if they are correct, fetches from the database the user's key-sequence (and matrix template, as discussed below, if applicable). The server then scrambles a matrix and challenges the user by displaying the scrambled matrix on the monitor or printout (step 2). Next, the user places his key card over the displayed matrix to reveal the OTP for this transaction, and enters the revealed OTP (step 3). Finally, the server verifies the OTP and, if it is correct, depending on the application, either approves the transaction, displays the protected application to the user, or logs the user in to the protected network (step 4).
[0095] As discussed more fully below, server 4 uses a specific algorithm to generate a scrambled array or matrix that is displayed on the monitor of the client end network access device 3. The matrix is preferably a series of data (such as letters, numbers, symbols or other characters, colors or shapes) that is represented in two-dimensional format. In one preferred embodiment, the matrix is comprised of rows (x) and columns (y), which together create cells (x,y), whereby each cell represents a specific value. For example, a matrix of twelve can be represented as 1x12 (one row and twelve columns), as 2x6 (two rows and six columns), as 3x4 (three rows and four columns), as 4x3 (four rows and three columns), as 6x2 (six rows and two columns) or as 12x1 (twelve rows and one column). The matrix may have alternative shapes, such as a diamond, triangle, trapezoid, etc., while still maintaining the row-column format, or not be row-column based at all, such as circular or spiral formats.
[0096] Figure 4 shows an embodiment of an unscrambled matrix, which in this case is made up of five rows and ten columns and contains a total of 50 cells in 5x10 format, with each cell containing numbers that are consecutively numbered, preferably from left to right in each row, from the top row to the bottom row. The matrix in Figure 4 is rectangular in shape because this is substantially the same shape as a credit card, which is familiar to most people. It should be noted, however, that, in order to vary the amount of display space on the matrix and thus have more possible characters in the OTP, matrices with different shapes, with more or fewer cells and/or with larger or smaller font sizes may be used.
[0097] When a user begins an online transaction by entering his/her username and password/ PIN, the server will then display a scrambled matrix on the computer monitor, wherein every cell displayed is a different number. In accordance with the present invention, a unique, scrambled matrix will preferably be displayed on the user's screen each time a user attempts to log in to a protected site or to perform an online transaction. The server of the network access device uses an algorithm to present a scrambled and randomly-generated matrix to the user on the monitor. Many types of algorithms may be utilized with the present invention, although the algorithms detailed herein are based on matrices and key-sequences. However, any other algorithms may also be employed and utilized with the present invention.
[0098] Before displaying the matrix, the server, chooses a scrambling key from a pool of keys and, using an algorithm, scrambles the basic matrix and then displays the scrambled matrix to the user. For each transaction, the server temporarily holds the scrambled matrix in its memory, until the transaction is completed. Figure 4 shows the matrix of Figure 3, in this example a 5x10 matrix, in scrambled form.
[0099] The number of different combinations in which the cells of a matrix can be placed (i.e., scrambling the matrix) is represented by N! ("N factorial"), where N is the number of cells in the matrix. Thus, in a matrix of N=50, the number of combinations is:
50! = 3.0414093201713378043612608166065e+64 (3 and 64 zeros to the right), meaning that, in a matrix of 50 cells, there are 3.0414093201713378043612608166065e+64 different ways in which to scramble the cells. Accordingly, for every single transaction, the chance that any specific matrix displayed will be repeated is calculated as:
1 -, which is 3xlO"64 or
3.0414093201713378043612608166065e+64 0.00000000000000000000000000000000000000000000000000000000000000003. While this number is not complete zero (0), it definitely approaches zero, meaning that the chance of a scrambled matrix being repeated is practically infinitesimal and statistically insignificant.
[00100] Each user of the system is issued a uniquely punched or printed key that is used as a hard token to identify and authenticate that user during online transactions, e.g., over the Internet or any other local network system, local computer or application, ATM, etc. The key can preferably be made of any appropriate material, e.g., cardboard, hard plastic (similar to a credit card) or a thin plastic film. The key should preferably be of a size and shape that will enable easy and convenient portability by the user. In a preferred embodiment, the key is in the size and rectangular shape of a credit card, although it may be sized or shaped differently to better fit computerized devices with limited display space. For example, the key may be sized and shaped differently to fit PDA's, cell phones, ATM's or other devices with monitors or LCD displays, depending upon the size of the monitor that displays the matrix. However, for simplicity, the key will hereinafter generally be referred to as a "card". [00101] In a preferred embodiment of the invention, the card, when held over the displayed scrambled matrix, such as when held against the monitor and over a scrambled matrix that is displayed thereon, selectively indicates or reveals specific portions of the scrambled matrix, which indicated or revealed portions comprise a dynamic, one-time password (OTP) that is unique for each authentication transaction. Accordingly, the card should have some physical indication to advise the user which portions, e.g., characters, of the matrix that lie beneath the card are to be used for the OTP.
[00102] One preferred embodiment of such a card, is depicted in front view in Figure 6. The card 7 has selected viewing portions 9 that are formed in or through a non-viewing portion 8. The non- viewing portion 8 can be formed from any opaque material, and the selected viewing portions 9 are see-through, to allow the user to see through the opaque blocking portion 8 at only selected areas. The selected viewing portions 9 may be a series of physical holes punched through the card or may be a series of small transparent areas, e.g., "holes", that are formed in the card, and may be circular, square or any other shape. Thus, the user is able to see through the viewing portions 9, but not the rest of the card, i.e., the non-viewing blocking portion 8, which is formed of or is covered with an opaque material.
[00103] In another preferred embodiment, the card is entirely see-through or transparent, such that the user is able to view the entire matrix through the card. However, the card possesses certain markings to indicate to the user the portions of the matrix that are to be used for the OTP. For example, the indicating portions of the card, i.e., the selected viewing portions 9, could be shaded while the non-viewing portion 8 could be non-shaded, or reverse, or the selected viewing portions 9 could have markings around them, such as circles, squares or some other shape, in order to differentiate them from the non-viewing portion 8.
[00104] Each card that is issued may be associated with a specific user account, whereby it contains or is linked to and checks that user's unique credentials (e.g., user name and password/PIN) prior to authentication. Such a card may be used for both Internet and point-of-sale applications, and may bear additional data. Such linkage may be by any standard mechanism or technology, e.g., a magnetic strip or Smart Card chip. A preferred embodiment of such a card 7, depicted in back view and having a magnetic strip 10 in addition to holes 9 punched therethrough, is shown in Figure 7. Alternatively, the card may be generic, i.e., unassociated with any specific user, and used as a stand-alone authentication apparatus only or for Internet-only authentication.
[00105] It is preferred that every card be uniquely identified by the server via a sequence of randomly generated letters, numbers, characters or symbols called a key-sequence, which identify specific cell locations or positions within the array, called vectors. Because each key-sequence is randomly generated, each and every card is unique. The key-sequence for each newly issued card is stored in encrypted format in the server database under the user's account and is used to derive the OTP, which the user must enter in order to authenticate an online transaction.
[00106] The key-sequence is translated into graphical form and is preferably corresponds to or is represented as a series or pattern of cell positions or locations on the card (i.e., vectors). As shown in Figure 6, the key-sequence pattern can either be printed on the card 7 (e.g., when the card is made of thin plastic film), such as via selected viewing portions 9 that are formed in or through a non-viewing blocking portion 8, or it can be holes 9 punched through an opaque card 8 (e.g., when the card is made of plastic or other similar materials).
[00107] In Figure 6, the pattern of holes 9 on the card preferably represents the key-sequence for that particular card, i.e., the vectors. The key-sequence determines which portions of the matrix are used to reveal the one-time password for that transaction. When the card is held against the matrix that is displayed on the computer monitor, each vector preferably reveals one number, letter, symbol or other character from within the matrix. It should be noted that, since every vector in the key-sequence represents the actual, two-dimensional (x,y) location of its corresponding cell on the matrix itself, a vector in the key-sequence cannot appear more than once (unless it is for a different type of matrix).
[00108] The length of the key-sequence may vary in accordance with the optimal tradeoff between user friendliness and the required strength of security. The strength of the key-sequence is derived from the number of cells making up the key-sequence (key-sequence length). For example, a key- sequence length of 4 vectors or cells is user friendly but is a weaker key; while a key-sequence length of 20 vectors or cells is a stronger key, but is longer and more difficult for the user to enter.
[00109] For simplicity purposes, most of the examples set forth herein will present a matrix of fifty (50) vectors and a key-sequence length of eight (8) vectors. For example, the card shown in Figure 6 represents a typical card with a key-sequence length of eight (8) vectors, based upon the 50-cell matrix of Figures 4 and 5. A key-sequence with a length of eight (8) vectors might be, for instance: 4-6-8-11-15-23-42-47, which happens to be the 8-vector key sequence of the card shown in Figure 6, as discussed below.
[00110] A key-sequence is generated by randomly choosing the desired number of vectors from the matrix of a specified size. For example, in the typical 5x10 matrix example considered herein, eight vectors, or cells, are randomly chosen from within the 5x10 matrix. Of course, more or fewer vectors may be chosen from that matrix or from a matrix of larger or smaller dimensions.
[00111] In the example shown in Figure 8, the randomly generated result for the eight vector key- sequence is: 5-9-12-24-30-33-36-48. The direction of numbering of the cells on the matrix in this case is sequentially left to right across the rows and from top row to bottom row, from the top, leftmost cell position to the bottom, rightmost cell position. Therefore, a cell that is located under column number 9 in row number 1 will be represented as "9", whereas a cell that is located in row number 2 under column number 2 will be represented as "12". Similarly, in the example shown in Figure 9, the randomly generated result for the eight vector key-sequence is: 7-12-23-25-28-43-47- 50. The cells in matrices with alternate layouts can also be identified sequentially, such that a key- sequence of vectors for any matrix can be randomly generated.
[00112] A card that is produced based upon a particular key-sequence will have holes, or viewing portions 9 as discussed with respect to Figure 6, formed in the card at the exact physical locations corresponding to the locations of the cells in the matrix that match the vectors of the particular key- sequence. As a result of the fact that the vectors in the each of the two matrices shown in Figures 8 and 9 are located at different locations, the holes, or viewing portions 9, formed in the actual cards produced for the key-sequences in Figures 8 and 9 will be located at different areas of the card, since they depend on the indicated vector locations.
[00113] Once the scrambled matrix is displayed on the monitor, the user derives the OTP by placing his/her card over the matrix, which thereby reveals a number of matrix characters that show through the holes of the card. Figures 9 and 10 show unscrambled and scrambled matrices and show how they are used in conjunction with the card depicted in Figure 6 to derive an OTP.
[00114] Figure 10 shows an example of an unscrambled matrix and its use in conjunction with the card of Figure 6 to derive an OTP. The left side of Figure 10 shows an unscrambled 5x10 matrix, and the right side of Figure 10 shows a view of the unscrambled matrix with the card placed over it, revealing the OTP characters 4-6-8-11-15-23-42-47. Thus, in Figure 10, the user would need to enter the OTP characters 4-6-8-1 1-15-23-42-47 in order to complete the authentication process for this transaction. It should be noted that, in this example, the number sequence is simple, i.e., it is the key-sequence of the card, because the matrix has not yet been scrambled.
[00115] In Figure 1 1 , however, the left side shows a scrambled 5x10 matrix, and the right side shows a view of the scrambled matrix with the card of Figure 6 placed over it, revealing the OTP characters 23-14-47-12-26-28-19-49. In this example, the user, presenting the same card as used in Figure 10 but for a different online transaction (where a different, scrambled matrix is displayed), would be required to enter the sequence of characters 23-14-47-12-26-28-19-49 as the OTP in order to complete the authentication process for this transaction.
[00116] In a preferred embodiment of the invention, once the user enters the OTP that is revealed by the card, i.e., the sequence of characters that shows through holes 9, the OTP is sent back to the server. The server, using the scrambled matrix retained temporarily in its memory, then calculates the key-sequence of the card from the characters entered by the user and compares the key- sequence of the card as entered with the key-sequence that is stored in its database under the user's account, as discussed below. If the server recognizes a match of the translated OTP to the stored key-sequence, it authenticates the transaction.
[00117] Figures 12 and 13 show a preferred embodiment of the appearance of the user's monitor during the typical "Challenge-Response" sequence in which the server authenticates a transaction with the OTP. In this method, the server challenges the user and the user responds in order to gain authentication. The computer monitor (or any other output device such as handheld or printer output) may be utilized as a transportation hardware device for the challenge-response.
[00118] The following are the preferred steps of the challenge-response. First, the user enters his/her username and password. Next, after the username and password are successfully verified by the server, the server challenges the user by displaying a scrambled matrix. Figure 12 shows an example of the computer screen displaying a scrambled matrix before the user introduces the card in an online transaction. For simplicity, Figure 12 shows the scrambled matrix of Figure 5.
[00119] Then, the user responds to the challenge by the server by placing his/her card over the displayed matrix to reveal the OTP for the transaction. Figure 13 shows the computer screen of Figure 12 after the user has introduced the card in an online interaction. Figure 13 also shows the scrambled matrix of Figure 5 but with the card of Figure 6 placed over it as is shown in Figure 1 1 , revealing the characters sequence 23-14-47-12-26-28-19-49 as the OTP. The user enters this OTP into the area on the screen provided by the server, and the server in turn determines whether the OTP entered by the user is correct, using the key-sequence for the card stored by the server. If the OTP is correctly entered, the user is authenticated and is permitted to proceed with the desired transaction. Of course, the sequence of entries described above may vary, depending on the specific implementation.
[00120] In an alternate embodiment, the monitor is a touch screen monitor and the user places the card onto the scrambled matrix on the touch screen monitor. Rather than entering the OTP vectors into a separate space provided, the user merely touches the screen through the card's holes with his/her fingertip or stylus. The client's application will capture the vector values and then submit them to the server, either with or without first displaying them to the user in the manner shown in Figure 13.
[00121] Figure 14 demonstrates how the server authenticates the OTP that it receives from the user with regard to the key-sequence for the user's account that is stored in the database. In Figure 14, a 5x10 unscrambled matrix and the corresponding, randomly scrambled matrix are laid out side by side, in two separate columns, for comparison purposes. As can be seen from this layout, each number in the scrambled matrix has a corresponding number in the unscrambled matrix. This comparison chart essentially shows how the server generated the scrambled matrix, and how the OTP that the user sees, as filtered by the card, can be translated back into the card's unique key- sequence.
[00122] Figure 15, as derived from Figure 12, further shows that, using the key-sequence for the card shown in Figure 6, as also shown in Figures 10 and 11, the specific key-sequence 4-6-8-11-15-23-42-47 (Figure 15, first line) that has been stored in the database for this card corresponds to the characters sequence 23-14-47-12-26-28-19-49 (Figure 15, second line) in the scrambled matrix. This is actually the expected OTP for this scrambled matrix using this card (Figure 15, third line), as seen on the right side of Figure 11.
[00123] Once the user enters this OTP, the server compares the OTP characters as entered to the corresponding sequence in the unscrambled matrix (Figure 15, fourth line). Since the server temporarily retains the scrambled matrix until the transaction is complete, the server can convert every number from the OTP entered by the user to its corresponding character in the unscrambled matrix, using the lookup table in Figure 14, and then compare those corresponding characters with the key-sequence stored in the database for that card. As demonstrated in Figure 15, there is a match between the actual key-sequence stored in the database for that card and the OTP's corresponding characters. In this case, the user's identity is authenticated, and the transaction is permitted to proceed.
[00124] However, if the user types in a slightly different character sequence as the OTP, for example: 23-14-47-12-26-28-19-48, instead of 23-14-47-12-26-28-19-49, then the server will be unable to authenticate the transaction because the OTP's corresponding characters will not match the key-sequence for that card. In this instance, the incorrect entry by the user of "48" as the last number of the OTP will cause the server to interpret the corresponding characters sequence as 4-6-8-11-15-23-42-24, since "48" in the scrambled matrix corresponds to position no. 24 in the unscrambled matrix. The server will to attempt to match this corresponding character sequence 4-6-8-11-15-23-42-24 to the stored key-sequence for that card 4-6-8-11-15-23-42-47. Because the server will be unable to match this corresponding character sequence to the card's correct key- sequence, the transaction will be rejected.
[00125] Therefore, the OTP, which is the actual sequence of numbers that is revealed by the holes of the card when the card is held up to the matrix displayed on a computer monitor, is a unique sequence of numbers or characters for each transaction. Because the OTP is derived from a randomly scrambled matrix sent by the server and temporarily displayed on the user's monitor, it is called a dynamic OTP. [00126] The strength of the OTP thus is two-fold. First, in contrast to a static password that remains the same for all online transactions, the dynamic OTP is different for every single transaction, thereby making it very difficult for an outsider to guess. Second, the OTP provides an additional layer of security as the second in the two-pronged requirement for authentication ~ because the OTP is derived by using a physical card, it is "something the user possesses", in addition to the static password used in the present invention, which is "something the user remembers" and is assumed to be known only to the user. In this way, a high security level is provided. If the static password is known to someone other than the cardholder, the user will still need the physical card in order to derive the OTP and perform an online transaction. Similarly, in the opposite case, if the card were stolen, the thief would be unable to complete an on-line transaction without knowing the static password.
[00127] In an embodiment of the invention alternative to that shown in Figures 4-15, wherein the matrix contained a series of consecutive numbers (1,2,3, N), the matrix may instead include different forms of numbers, letter characters (A,B,C,....Z) in various languages, various symbols (e.g., @,#,$,+,%,Λ,l|, &,*, etc.), shapes or colors. In another alternative embodiment, the matrix may be mixed, i.e., it may be any combinations of numbers, letter characters, symbols, shapes or colors. In still another alternative embodiment, the matrix may have multiple numbers, letters, symbols, shapes or colors, or combinations thereof, even within individual cells.
[00128] For example, Figure 16 shows one example of a 4x9 mixed matrix, composed of individual characters and numbers. In this example, each number or character represents a unique, two-dimensional x,y matrix location corresponding to the cells on the actual card. For example, as shown in the unscrambled matrix on the left side of Figure 16, the number "1" represents the location x=l, y=l (1,1), the number "8" represents the location x=l, y=8 (1,8), the character "D" represents the location x=2, y=4 (2,4), etc. The right side of Figure 16 shows the mixed matrix of the left side of Figure 16 in scrambled form.
[00129] As can be seen from the embodiment of the invention shown in Figures 4-15, there is a close relationship between the format of the matrix and the key-sequence of the card and, as a result, the physical appearance of the card. Thus, the format of the matrix dictates the physical layout of the key-sequence vectors on the card, i.e., the actual location of the punched/printed viewing areas on the card. In the embodiments of the invention previously discussed, the basic matrix is comprised of rows and columns that are oriented orthogonally with respect to each other, i.e., they intersect at 90° angles. Figure 17 shows the standard format of a basic rectangular 5x10 matrix, wherein five rows of ten cells each cross at right angles, and one example of a resulting card format, in this case the physical format of a card whose key-sequence, based upon the matrix at the left side of Figure 17, is 7-12-23-25-28-43-47-50. [00130] However, the graphical layout of a matrix can vary. For example, Figure 18 shows two alternative layouts of a basic matrix, wherein the rows and columns are still oriented orthogonally with respect to each other, although the format of the matrix is not rectangular. On the left side of Figure 18, the matrix is triangular shaped, and on the right side of Figure 18 the matrix is somewhat diamond shaped.
[00131] Furthermore, in an alternative embodiment, the matrix may be "twisted". In a twisted matrix, the rows and/or columns may be shifted in order to change the layout of the key-sequence on the card, such that the rows and columns are no longer necessarily oriented orthogonally with respect to each other. Figure 19A shows a first preferred embodiment of a twisted 5x10 matrix and its corresponding card key-sequence, wherein every other row is shifted to the right by half a cell from the standard, i.e., straight, format shown in Figure 17, i.e., the cells are not aligned so as to intersect at 90° angles. In this embodiment, the card has the key-sequence 7-12-23-25-28-43-47-50, just as in the basic embodiment shown in Figure 17. However, as a result of the shifting of the rows, the card corresponding to this twisted matrix looks slightly different than the does the basic matrix card having that same key-sequence shown in Figure 17.
[00132] Figure 19B shows a second preferred embodiment of a twisted 5x10 matrix and its corresponding card key-sequence, wherein every other column is shifted down by half a cell from the standard format shown in Figure 17. The card in this embodiment has the key-sequence 7-12-23-25-28-43-47-50, just as in the basic embodiment shown in Figure 17 and in the first embodiment of the twisted matrix shown in Figure 18. Again, however, as a result of the shifting of the columns, the card corresponding to this twisted matrix looks slightly different than the does the card having that same key-sequence that corresponds to the basic matrix shown in Figure 17 and slightly different than the does the card having that same key-sequence that corresponds to the first embodiment of the twisted matrix shown in Figure 18.
[00133] Figure 20 shows two additional preferred examples of twisted matrices that can be utilized, one on the left side and one on the right side of Figure 20. Of course, additional embodiments of twisted matrices can be contemplated, by varying the positions or layout of the cells of the matrix. Twisted matrices are preferably implemented in the present invention using an algorithm that shifts the positions of the cells in successive rows, and such algorithms are well known to those of ordinary skill in the art.
[00134] Alternatively, the array of characters that make up the matrix need not be oriented in row/column format, orthogonally oriented or not, but can also be arranged in other non-linear formats. For example, the characters may be arranged in a spiral configuration, such as a circle or ellipse, with characters arranged in concentric circles or spirals, each of which can be considered a row. Furthermore, the characters may be arranged in a spiral configuration, such as a circle or ellipse, with characters spiraling outward from a central location or node. In this instance, the key sequence would take an appropriate set of values, based for example upon the sequential positions of the characters from the node, with viewing portions formed at appropriate locations along the spiral. Many other types of orientations may be utilized without departing from the essence of the invention.
[00135] In all cases of twisted or non-linear matrices, similar to the standard matrix, the card is preferably to be matched against the displayed matrix to reveal the OTP when introduced during an online transaction. Although it would be very difficult for a thief to deduce the key-sequence of a particular card simply by examining an actual card, twisted matrices, which create different visual looks for different cards, can preferably be used in order to make it even more difficult (and indeed almost impossible) to visually map the exact order of the cells on the card and determine the key- sequence.
[00136] Of course, because the server, when displaying a matrix to a user, may choose from among many different possible formats, e.g., different sizes (numbers of rows and columns) or key- sequence length, non-mixed/mixed, straight/twisted, etc., the server needs a way to determine the format of the matrix to display for each particular user. In other words, a user with a card whose 8- vector key-sequence is determined based upon a 5x10 straight, numbers-only matrix would never be authenticated for transactions if the user were presented with a matrix having any other property, e.g., a different number of rows or columns, mixed content or twisted, or requiring a different number of characters in the OTP.
[00137] Accordingly, in a preferred embodiment, a matrix template can be associated with each user's account or with a group of user accounts, such that whenever a user attempts to log in, the server presents that user with a matrix layout as determined by that user's template. The template used to produce the matrix can be stored in the server database under a specific account record or group of records. In this way, in a preferred embodiment, each time a user performs an online transaction, the server will display the scrambled matrix in the predetermined layout that is relevant for that user, so that there can be a match between the actual card of that user and the displayed matrix. Likewise, the server will expect entry by the user of an OTP in the predetermined form and with the correct number of characters that is relevant for that user, so that there can be a match between the format and number of characters of the OTP that the user has entered and the predetermined key-sequence for that user's matrix template.
[00138] Matrix templates can be employed to determine the type or form of the matrix (e.g., standard or twisted), the size of the matrix (i.e., how many rows and columns), the content of the matrix (e.g., numbers, letters, characters or mixed), the numbers of characters per cell and/or the number of vectors in the key-sequence. For example, in certain embodiments, one group of cards/matrices can be produced using a matrix template that has only numbers, another group of cards/matrices can be produced using a mixed matrix template, while a third group of cards/matrices can be produced using a combination of a mixed matrix and a twisted matrix. In addition, the server will anticipate entry of by the user of the OTP in a particular format, such as the predetermined number of vectors in the key-sequence and the number of characters per key- sequence, and will refuse to authenticate a user that does not provide the OTP as expected.
[00139] As a result, matrix templates, which dictate the format in which the matrix will appear or be presented to a particular user and the number of vectors in the key-sequence, provide an alternative and optional way to increase the number of combinations and/or permutations of the scrambled matrix and/or the key-sequence, thereby increasing the strength of the key-sequence and the OTP.
[00140] Similarly, as discussed previously, the number of available vectors, measured by the size of the matrix, i.e., the number of rows and columns, will have a direct effect on the strength of the authentication process. This is because the number of possible key-sequence combinations for a particular matrix means that each OTP for that matrix has a higher chance of being non-repeatable, i.e., unique. Moreover, whether or not the characters of the OTP are required to be entered in a specific order will also impact upon the strength of the authentication process. In other words, the strength of the key-sequence and the OTP will be determined, in part, by the number of vectors of the matrix that are revealed by the holes of the card and whether or not the user is required to enter the revealed vectors in a particular sequence.
[00141] In a first embodiment, the order of entry of the characters of the OTP is NOT required, and the user may enter the revealed vectors in whatever order desired. In this case, the number of combinations available for choosing K objects out of N objects is represented by the following formula, where the variable N stands for the number of cells in the matrix, and the variable K stands for the length of the key-sequence (the number of vectors):
C(n'k) = (ki ^n-k)!)
[00142] Every vector in the key-sequence represents a physical, two-dimensional (x,y) location on the card. Thus, in this embodiment where entry of a specific selection order is not required, for the key-sequence 1-2-3-4-5-6-7-8, for example, the locations of cell numbers 1 through 8 (all eight cells) would be punched/printed on the card. In the same manner, the key-sequence 2-5-1-8-6-3-7-4 would result in a card with the same physical appearance, because every vector represents the same physical location on the card (i.e., punched/printed holes that are in the same physical locations as in the previous key-sequence). Thus, where entry of vectors in a specific order is not required, the physical cards all combination of specific vectors will be identical.
[00143] In practical terms, therefore, the value C(n,k) represents the number of different and unique cards that may be produced using the matrix with N cell locations. Figures 21 -24 demonstrate the number of combinations, i.e., unique cards, that are available for different sized matrices and key-sequence lengths. An example of a key-sequence for each set of variables is shown in each of Figures 21-24. Figures 21 and 22 show examples of key- sequences for 5x10 matrices (with 50 cell locations) having 8 and 10 vectors, which have 536,878,650 and 10,272,278,170 possible key-sequence combinations, respectively. Figures 23 and 24 show examples of key-sequences for 8x13 matrices (having 104 cell locations) having 8 and 10 vectors, which have 257,575,523,205 and 26,100,986,351 ,440 possible key-sequence combinations, respectively.
[00144] A different number of combinations is derived if the size of the matrix is reduced but the number of vectors in the key-sequence is increased. For example, for the 4x9 mixed matrix shown in Figure 16, along with a key-sequence length of twelve (12) vectors, provides 1,251,677,700 combinations, which is more than the number of possible combinations for an 8-vector key- sequence in a larger, 5x10 matrix having 50 cell locations, as discussed above. For this mixed matrix, a randomly generated key-sequence may be: 5-V-K-9-Y-R-D-3-X-7-F-8. A sample 12- vector card is shown on the left side of Figure 25, and the card, after being placed over the scrambled matrix appearing on the monitor, is shown on the right side of Figure 25. This combination of numbers and letters in a 4x9 matrix size provides a fairly strong key-sequence, yet still reserves additional space on the card for an optional magnetic strip (in a combined card implementation) and for printed information (e.g., cardholder's name, expiration date, etc.), as seen in Figure 25.
[00145] In general, in order to increase the number of possible key-sequence combinations for a given key-sequence length, the size, i.e., the number of cells, of the matrix could be increased. Table 1 below shows the increase in the number of combinations (C(N,K)), where the order is not required, for a fixed key-sequence length (K=8), as the number of cells in the matrix (N) increases. Table 1:
Figure imgf000026_0001
[00146] Similarly, in order to increase the number of possible key-sequence combinations for a given matrix, the number of vectors in the key-sequence could also be increased. Table 2 shows the increase in the number of combinations (C(N,K)) , where the order is not required, for a fixed number of cells in the matrix (N=50), as the key-sequence length (K) increases:
Table 2:
Figure imgf000026_0002
[00147] Table 3 shows additional combinations of the variables N and K and the resulting number of possible key-sequence combinations, where the order is not required. Table 3 demonstrates that a matrix of 40 cells, with a key-sequence length of 16 vectors, provides quite a robust key of 62,852,101,650 possible key-sequence combinations (over 62 billion, 852 million possible combinations).
Table 3:
Figure imgf000026_0003
[00148] However, there are certain combinations of vectors that, for practical reasons, should be excluded. For example, in order to prevent weakening or physical deterioration of the structure of the card itself due to the requirements of the key-sequence, it is preferred that certain combinations of vectors should be excluded, e.g., combinations that would cause holes on the card to be located adjacent to each other, such as shown in Figure 26. Such combinations, such as those that would cause four or more holes are located adjacent to each other and which could weaken the physical structure of the card, may in certain embodiments be excluded.
[00149] The determination of the number of combinations available for choosing K objects out of N objects discussed above is valid only when the selection order is not important. In this case, the order of selection does not matter because each vector in the scrambled matrix represents a specific x,y value (vector) in the unscrambled matrix. Therefore, no matter what value is assigned to a specific vector when the matrix is scrambled (i.e., the order of the matrix is changed), the corresponding vectors in the unscrambled matrix (the key-sequence) will always stay the same.
[00150] For example, this can be demonstrated using the key-sequence 1,3,5,7 and the simple unscrambled and scrambled matrices shown in Figure 27. In this example, suppose that, using his card, the user sees on the monitor the characters: 5-6-7-8. These characters are then entered by the user as the OTP, and they converted by the server to 1-3-5-7, which matches the key-sequence. In one preferred embodiment of the present invention, wherein the sequence of digits of the OTP is not important, even if the user enters 6-5-7-8, the transaction will still not be rejected, since the actual key-sequence (as embodied by the "holes" on the card) is the same in either case.
[00151] Note that in this example, the key-sequence 1-3-5-7 is sorted in ascending order. In fact, the key-sequence that is stored in the database must be sorted, because the server does not "know" in which order the user will type in the OTP. Therefore, after the server converts the OTP to its corresponding key-sequence numbers, the result must be sorted, as discussed below, in order to ensure that the transaction is not incorrectly rejected and that a match takes place.
[00152] In order to accomplish a complete match between the key-sequence stored in the database and the OTP that is entered by the user where the order of entry of the OTP characters is not required, the following steps are necessary. First, a key-sequence that is generated for a new account needs to be sorted. Second, the user is permitted to enter the OTP in any order desired. Third, the server then converts the OTP into the corresponding numbers of the unscrambled matrix and sorts the result. For example, with reference to the example of Figure 27, if the user typed in 6-8-5-7 as the OTP, the server would convert the OTP to 3-7-1-5. This result would then be sorted by the server to 1-3-5-7, a result which matches the key-sequence.
[00153] In general, the strength of the OTP alone (independent of the static password) is measured by the probability that any specific OTP will be repeated. In the present invention, this translates into the chance that an outsider might guess the OTP for a certain transaction. [00154] The probability that an outsider will be able to guess the OTP, where the order is not required, is represented by the formula 1/C(N,K). With reference to Table 3 above, which presents examples of the resulting combinations for different sized matrices (N) and different key-sequence lengths (K), Table 4 below shows the probability of someone guessing any one of the combinations resulting in Table 3.
Table 4:
Figure imgf000028_0002
[00155] Similarly, in a matrix of 36 cells and an even shorter key-sequence length of 8 vectors, the probability of guessing an OTP is:
1 1 1 1
= 0.000000033
C(n,k) (n!/(k!*(n-k)!)) (36!/(8!*28!)) 30,260,340
Although this is a rather miniscule and statistically insignificant probability, there are various ways to make it significantly even smaller, at differing levels of tradeoff between security and user friendliness, as discussed below.
[00156] One way to further strengthen the OTP is the second embodiment, wherein a specific order of entry of the OTP characters IS required, i.e., that the server requires the user to enter the characters in a particular order in order for the OTP to be accepted as valid. In this second situation, where the selection order of the key-sequence vectors entered by the user as the OTP IS important, the number of permutations available for choosing K objects out of N objects is represented by the following formula, where the variable N stands for the number of cells in the matrix, and the variable K stands for the length of the key-sequence (number of vectors):
Figure imgf000028_0001
When compared to the formula set forth previously for the number of combinations when the selection order is not important, in this formula the value K! does not appear in the denominator. Therefore, in pragmatic terms, adding the dimension of the order multiplies the number of possible combinations of characters of the OTP by K!. [00157] For comparison purposes, the number of OTP combinations in a matrix of 36 cells and a key-sequence length of 8 vectors when the order is NOT required is 30,260,340, as set forth above. However, when the order of vectors IS required, the number of OTP combinations is:
C(36,8) = , 36\ — = 1,220,096,908,800, which is 30,260,340*8!. (36-8)!)
[00158] Thus, adding the importance of the selection order makes the probability of guessing an OTP much smaller, because the k! is no longer exists in the denominator. Thus, in a matrix of 36 cells and an even shorter key-sequence length of 8 vectors, the probability of guessing an OTP in this situation is much smaller, represented by the formula:
1 - l l ~ 8.196070269397932e-13
C(n,k) (361/(36-8)!) 30,260,340*8!
This probability is significantly smaller than in the first embodiment, where the selection order of the vectors is not important. A greater number of combinations, and a smaller probability of guessing the OTP, is provided if the user is instructed to enter the OTP in one specific order, for example from left to right along the rows, and from top row to bottom row.
[00159] In the first embodiment, the order in which the user types in the OTP was not important, and the server sorts the OTP in order for it to match to the key-sequence. However, making the order of entry of the OTP characters important provides even stronger protection to the user by increasing the possible number of combinations of the OTP and thus a smaller chance to guess it. In the second embodiment, the server will NOT sort the OTP. Instead, when a new card is created, the key-sequence is created in a specific order, the server will not sort the key-sequence before storing it in the database, as described previously for the previous embodiment.
[00160] In order to accomplish a complete match between the key-sequence stored in the database and the OTP that is entered by the user where the order of entry of the OTP characters is required, a key-sequence that is generated for a new account first needs to be sorted. Then, the user is requested to enter the OTP in a specific order (e.g., from left to right along each row, and from top row to bottom row). In effect, by entering the OTP in a specific order, the user himself performs the sort that the server performs in the first embodiment, and a match can take place.
[00161] Consider again the example of Figure 27. If the sequence order of the digits entered as the OTP were important, then entry by the user of the OTP characters 5-6-7-8 in a different order would not yield an authenticated transaction because the resulting key-sequence would not match the stored key-sequence. Thus, if the user entered an OTP with exactly the same characters but in a different order, such as 6-5-7-8, the server would convert the OTP to the key-sequence 3-1-5-7, which is a different result than the actual key-sequence 1-3-5-7, and this transaction would be rejected.
[00162] For further illustration, consider the example as shown in Figure 13, wherein the same individual vectors can yield two different key-sequences, if the required order of entry is different. When the order is not required, the server sorts the key-sequence at the time of creation of the card prior to storing it in the database, e.g., in ascending order, as 4-6-8-11-15-23-42-47, and the user may then enter the OTP characters in any order. After OTP entry, the server would re-sort the matrix and generate the result 4-6-8-11-15-23-42-47. Thus, in such a situation, this is actually the only one key-sequence.
[00163] However, when the order is required, the user is required to enter the OTP characters in a specific order. If the user were required to enter the OTP characters from left-to-right and then top- to-bottom according to what is seen through the card in Figure 13, he would be required to enter the OTP characters in the following order: 23-14-47-12-26-28-19-49. If the user were required to enter the OTP characters from top-to-bottom and then left-to-right according to what is seen through the card in Figure 13, he would be required to enter the OTP characters in the following order: 12-19-28-23-26-14-49-47. As a result, these two combinations would be two different OTPs, even though the individual vectors are the same.
[00164] Thus, the probability of guessing an OTP can be made smaller by increasing the possible number of permutations, or orders, for each combination of vectors in a key-sequence. When the dimension of sort order is added to the number of OTP combinations, the number of new combinations is represented by the formula: Combinations = O*C(n, k), wherein O represents the number of different sort orders available and C(n,k) represents the number of OTP character combinations, the formula for which is set forth above.
[00165] In the previous example, using a matrix of 36 cells and a key-sequence length of eight vectors, there were 30,260,340 possible OTP combinations where the order was not considered. However, if two different orders are employed, e.g., ascending and descending, the number of combinations will be doubled and will increase from 30,260,340 to 60,520,680. Similarly, if there are four different orders, e.g., ascending, descending, first odd and then even numbers once in ascending and once in descending order, the number of combinations will be quadrupled and there would be 4*30,260,340 = 121,041,360 combinations. Table 5 below illustrates these four different orders for an OTP with a key-sequence of 15-9-30-5-35-2-7-16: Table 6:
Figure imgf000031_0001
[00166] Many different, arbitrary orders can be implemented in the same manner, as needed. For example, as discussed before with regard to Figure 13, from left-to-right and then top-to-bottom, or from top-to-bottom and then left-to-right. A total of one hundred different orders would bring the number of possible OTP combinations to 100*30,260,340 = 3,026,034,000, and the probability of guessing such an OTP would then be 1/3,026,034,000 = 0.00000000033. In essence, by applying 100 different orders to the key-sequence, the number of OTP combinations is easily increased one hundred-fold
[00167] These different orders can be employed in further preferred embodiments of the invention to increase the security of the key-sequence by using "order templates", which dictate the sequence in which the characters of an OTP must be entered by a user in order to be accepted by the server, wherein a specific order is associated with a specific user's account or with a group of users' accounts. In this embodiment, similar to the use of a matrix template discussed above, each user would preferably have an "order template" associated with his account. When creating a new account, the order template type is preferably stored in the database of the server under the user's account, for example: Type-00, 01, 02, ... 99. In one embodiment, the order template for a new user can be randomly chosen from a pool of predefined templates when generating a new account.
[00168] Then, in a preferred embodiment of the invention, each time a user performs an online transaction, the server will expect entry by the user of an OTP in the predetermined order according to the order template that is relevant for that user. If the OTP characters are entered in the predetermined order according to the order template, there is then a match between the format or order of the OTP entered and the predetermined key-sequence for that user's matrix template. If not, the transaction is not authenticated
[00169] In further preferred embodiments, the user may be required to enter the order template type along with the OTP. In a still further embodiment, the order template type can be either memorized by the user or can be printed on the card itself. Figure 28 shows an embodiment of the card wherein the order type, in this case the number 78, is printed on the card, in this case at the top-right-hand corner thereof. [00170] In a further embodiment, the card itself may inform the user the specific order in which to enter the matrix characters to form the OTP. Figure 29 illustrates a card, the same card as in Figure 3, having printed on thereon the OTP character entry order. In this embodiment, the order entry is provided in the form of sequential characters, such as numbers or letters, printed next to the key- sequence vector viewing areas (holes) to inform the user of the order in which he/she is required to type in the OTP. For example, as shown in Figure 29, the card contains the number "1" next to the view area for vector location 11, to instruct the user that, when the card is placed on the displayed matrix, the number revealed in cell number 1 1 should be typed in first. Similarly, the card contains the number "2" next to the view area for vector location 23, to instruct the user that, when the card is placed on the displayed matrix, the number revealed in cell number 23 should be typed in second, etc. In the embodiment shown in Figure 29, the order in which the OTP characters are to be entered is 11-23-42-4-8-6-47-15 (using the unscrambled matrix as shown in Figure 10 for reference), which is in effect the key-sequence. If the user enters the characters of the OTP in an order other than the order dictated by the numbers printed next to the holes, the OTP will not be recognized by the server.
[00171] In a still further but somewhat simpler embodiment, the user can be issued a card that is to be used on one of the two sides, i.e., either front or back. As can be seen from the arrangement of viewing portions 9 on the cards shown in Figures 6 and 7, which show the same card and its holes but from opposite sides, a single card will yield a different OTP when placed over the same matrix, depending upon which way the card is facing when placed over the displayed scrambled matrix. Accordingly, each card will have one key-sequence when used from the front and another, different key-sequence when used from the back. Thus, in order to further confound potential hackers, in this embodiment, each card would have two different key-sequences, one for when the front of the card is used and one for when the back of the card is used. In one embodiment, the server would instruct the user to place the card over the matrix either front side up or front side down, and, when the user enters the revealed OTP, the server would use the appropriate side's key-sequence for verification of the OTP. In another embodiment, the server would have a "side template" for each user and only the user would know whether the card is to be used from the front or from the back. In this embodiment, the server knows the appropriate key-sequence for each side of the card.
[00172] In preferred embodiments, this invention also provides for solutions to attacks intended to compromise key-sequence security. In the event that a hacker is somehow able to copy a displayed matrix and to spoof the OTP in the same transactional session, he/she can easily calculate the key- sequence by matching the OTP to the matrix. For example, the OTP for the card used to log a user into a bank in Figure 13, as shown against a scrambled matrix in Figure 11, is: 23-14-47-12-26-28- 19-49. Every characters from the OTP can be easily mapped to its actual location on the unscrambled matrix, as shown in Figure 10. Thus, the resulting key-sequence derived is: 4-6-8-11- 15-23-42-47.
[00173] Another preferred embodiment of this invention that provides for solutions to attacks intended to compromise key-sequence security is called a dynamic vector. In a preferred embodiment, rather than displaying a unique character at each two-dimensional vector location on the matrix, the matrix displays groups of identical characters scattered among the matrix's two- dimensional locations, such that each character in the matrix repeats a specific number of times. This type of configuration "breaks" the one-to-one linkage, wherein every key-sequence vector represents a unique two-dimensional location in the matrix, and allows multiple key-sequence vectors to represent the same matrix character.
[00174] In the following examples of this embodiment, we will refer to the vectors that represent unique two-dimensional locations on the matrix as "two-dimensional unique vectors" and the vectors that repeat as "repeat- vectors".
[00175] In the first example, shown in Figure 30, a 40-cell, scrambled, two-dimensional unique vector matrix is shown on the left, and a 40-cell, scrambled, repeat-vectors matrix is shown on the right. It should be noted that, in the two-dimensional unique vectors matrix, each number is unique in that it represents a two-dimensional location of the cell in the matrix and appears only once, whereby, in the repeat-vectors matrix, there are eight numbers, and every number repeats five times at random locations within the forty two-dimensional matrix locations.
[00176] In the creation of a repeat- vectors matrix, the server might pick any sequence of random numbers, with any number of repetitions. For instance, the server randomly could choose ten numbers, with every number repeating four times. In one example, the numbers randomly chosen by the server as repeating characters for the matrix are 3, 9, 12, 14, 33, 46, 55, 63, 78, 91, and the scrambled matrix may appear as shown in Figure 31. As discussed below, when the repeat-vectors matrix embodiment is used by a customer, a potential hacker that was able to overcome the difficulties and was able to "sniff the OTP that was typed in, as well as to snap the displayed matrix in the same transactional session, will still be unable to match the OTP to the matrix (and thereby, to compromise the key-sequence), since there are many options for each specific match.
[00177] As usual, the key-sequence is randomly generated by the server and stored, as is, in the database. When used with the embodiment of the invention discussed previously wherein the order of OTP entry is printed on the card, as shown in Figure 29, a number is printed next to each view portion printed on or punched through the physical card. This number represents the sequence in which the user should enter as the OTP the matrix characters viewed through the view portions of the card (the characters revealed by the card's vectors, in the order designated by the printed numbers, determine the OTP).
[00178] For example, for the key-sequence 16, 7, 35, 3, 19, 40, 27, 33, Figure 32 shows a card with viewing portions at the appropriate key-sequence vector locations. In Figure 32, the card also bears the number "1" printed or imprinted adjacent to the view area for vector location 16, as shown on the card in Figure 32, to instruct the user that, when the card is placed on the displayed matrix, the character revealed in cell number 16 should be typed in first. Similarly, the card contains the number "2" adjacent to the view area for vector location 7, as shown on the card in Figure 32, to instruct the user that, when the card is placed on the displayed matrix, the character revealed in cell number 7 should be typed in second, etc. And so on for numbers 3-8 printed adjacent to the view area for vector locations 35, 3, 19, 40, 27 and 33. For this specific transaction, when the card in Figure 32 having the key-sequence 16, 7, 35, 3, 19, 40, 27, 33 is used with the matrix of Figure 31, the OTP to be typed in is: 12-46-78-63-91-91-3-46.
[00179] Here, a potential hacker would be trying to match the OTP: 12-46-78-63-91-91-3-46 to the matrix, since the hacker does not have the physical card. In the case of a two-dimensional unique vectors matrix, the match would be obvious to the potential hacker, since the hacker might have already been able to snap the displayed matrix. However, with a repeat-vectors matrix, there are many combinations of vectors on the displayed matrix that could combine to compose the same OTP, and the hacker does not know which cell in the matrix is the match for a specific character or digit from the OTP. Moreover, the hacker does not know what the typing order should be, because this information is printed on the card itself.
[00180] It should be noted that this method may be used with or without the typing order printed on the card itself. In one preferred embodiment, where the order is not printed on the card, the same algorithm might be used as explained previously. When the order is required, the number of combinations is greater.
[00181] In order to accomplish the method discussed, a unique algorithm must be employed on the server side. In summary, for the described embodiment, a new, randomly generated key-sequence is stored "as is" in the database. The key-sequence is then converted into a graphical representation that defines the physical, two-dimensional layout of the viewing areas on the card. Next to each hole, a number that represents the typing order is printed. When a user types in the OTP, the OTP is sent to the server. In order for the server to find the correct match between the OTP and the key- sequence, the server reads the key-sequence for the specific user from the database and applies the following algorithm:
1. Fetch key-sequence (specific for the current user) from the database; 2 Scan the key-sequence in a loop and, for every vector, obtain the number from the scrambled matrix, where the current vector represents an index locator (1 through 40) on the matrix;
3. Add the number to a temporary string array storage (in the computer memory);
4. If end of key-sequence, go to next step, otherwise, go to the next vector; and
5. Compare the result to the OTP.
[00182] In another preferred embodiment of the repeating vectors embodiment, the matrix may be larger than the size of the matrix that matches the card. For example, the matrix may be several times the size of the card. For example, in the embodiments shown in Figure 33, a matrix of 160 cells in 20x8 format is used. In this example, for instance, the server randomly generates twenty numbers, and every number repeats eight times. The numbers randomly generated are: 46, 55, 78, 14, 3, 91, 33 63, 5, 77, 86, 99, 41, 7, 53, 48, 23, 19, 76, 34, each of which numbers repeats eight times. In such an embodiment, the user may decide where on the matrix to place the card, and the OTP is generated according to the specific location within the matrix where the user places the card.
[00183] In this example, the card in Figure 33 appears similar to that in Figure 32, i.e., it has the viewing areas at the same vector locations. In addition, in this example, similar to the embodiment shown in Figure 32, the order of OTP entry is printed on the card, as shown in Figure 33, by way of a number printed adjacent to each vector viewing area in the card. As a result, the card in this example has the key-sequence: 35-16-40-3-19-33-7-27. As shown in Figure 33, when this card is used with the matrix of Figure 33 and placed in one specific location within the matrix, the OTP to be typed in is: 91, 77, 34, 63, 55, 63, 55, 14.
[00184] In order for the server to match the typed in OTP, the server will scan all possible options of where that card might be placed on the matrix. In this example, there will be more than one possible matching OTP, and the server will accept any OTP that results for any location on the matrix where the card may be placed. In fact, the number of acceptable OTPs for a specific card on a specific matrix is represented by the formula (Mx-Cx+ l)*(My-Cy+l), where: Mx represents the number of horizontal cells in the matrix; My represents the number of vertical cells in the matrix; Cx represents the number of horizontal cells in the card; and Cy represents the number of vertical cells in the card.
[00185] Thus, the number of acceptable OTP's in the example shown in Figure 33 is: (Mx-Cx+l)*(My-Cy+l) = (20-8+l)*(8-4 +1) = 13*5 = 65. It should be notes that having such a large number of acceptable OTPs weakens the OTP for any particular card. However, on the other hand, using a repeating vector embodiment certainly strengthens the security of the key-sequence against Trojan-Horse and Key-Logger attacks.
[00186] In another preferred embodiment that protects against attacks intended to compromise key-sequence security, the card contains an indication of an arithmetic adjustment that the user is required to make to the characters of the matrix that are seen by the user through the card's viewing portions in order to derive the OTP. This arithmetic adjustment "hides" the one-to-one linkage between the two-dimensional location that every vector represents for every cell in the matrix and the typed in OTP.
[00187] In a preferred embodiment, as shown in Figure 34, adjacent to every viewing area ("hole") on the card, in addition or in place of the order entry indication, a number and required arithmetic action will be printed. The number and arithmetic action instruct the user as to the required action that is to be taken on the matrix characters revealed by the card's viewing portions. Thus, when the user holds the card against the matrix, before typing the revealed characters as the OTP, the user must first make some minor calculations by applying the arithmetic action to the printed number (the operand) and the revealed character in the specific vector. The sequence of characters that results from all the arithmetic actions that are taken is the OTP for that transaction.
[00188] The arithmetic actions might be anything like: '+' (add), '-' (subtract), '*' (multiply), V (divide) or any other action. For example, in Figure 34, the card shown has the key-sequence vectors 3,7,16,19,27,33,35,40. However, adjacent to vector 3 is the arithmetic operation '+' and the number (operand) 4, which means that the user is to add 4 to the matrix character that is revealed through that vector. Similarly, adjacent to vector 7 is the arithmetic operation '-' and the number (operand) 2, which means that the user is to subtract 2 from the matrix character that is revealed through that vector. The remaining vectors 16, 19, 27, 33, 35, 40 of the key-sequence likewise have adjacent arithmetic operations and operands that instruct the user as to the operations to be taken on the respectively revealed matrix characters.
[00189] In the case of Figure 34, reading from left to right and top to bottom along the key- sequence vectors 3,7,16,19,27,33,35,40, the revealed characters are: 63,46,12,91,3,46,78,91. Using the appropriate arithmetic operations and operands corresponding to each key-sequence vector, the OTP to be typed in by the user will be: 67,44,13,96,2,44,81,95 (based on the following arithmetic operations: 63+4, 46-2, 12+1, 91+5, 3-1, 46-2, 78+3, 91+4).
[00190] In the case where the order entry numbers are also desired, the card could bear both. For example, the order entry digits could be printed adjacent to the key-sequence vector viewing area on one side, and the arithmetic operations and the arithmetic operands could be printed adjacent to the key-sequence vector viewing area on the other side. This indicates to the user the arithmetic operation that is to be taken on the revealed matrix character ion order to derive the OTP character, and the order in which the derived OTP characters are to be entered by the user.
[00191] The printed numbers and arithmetic actions can be randomly generated by the server for every new card prepared, and will be saved under the user's account. In that way, the server will apply exactly the same arithmetic actions on the key-sequence vectors and will compare it to the typed in OTP.
[00192] An alternative version of this embodiment is to assign for every card a one or two digit code that is to be the operand for every arithmetic operation taken with respect to that card. That operand could be printed on the card itself or could be memorized by the user. In addition, in this embodiment, only the arithmetic operation is printed on the card, adjacent to its respective key- sequence vector viewing area.
[00193] Thus, as shown in Figure 35, as in Figure 34, the card has the key-sequence vectors 3,7,16,19,27,33,35,40. However, the user's code, i.e., the operand, '8' is printed at the top right hand corner of the card. In this case, adjacent to vector 3 is the arithmetic operation '+', which means that the user is to add 8 to the matrix character that is revealed through that vector. Similarly, adjacent to vector 7 is the arithmetic operation '-', which means that the user is to subtract 8 from the matrix character that is revealed through that vector. The remaining vectors 16, 19, 27, 33, 35, 40 of the key-sequence likewise have adjacent arithmetic operations that instruct the user as to the operations to be taken on the respectively revealed matrix characters using the operand 8.
[00194] In the case of Figure 35, reading from left to right and top to bottom along the key- sequence vectors 3,7,16,19,27,33,35,40, the revealed characters are: 63,46,12,91,3,46,78,91. Using the appropriate arithmetic operations corresponding to each key-sequence vector and the operand 8, the OTP to be typed in by the user will be: 71, 38, 20, 99, 11 , 38, 86, 99 (based on the following arithmetic operations: 63+8, 46-8, 12+8, 91+8, 3+8, 46-8, 78+8, 91+8).
[00195] Still another referred way to protect against key-sequence attack is to use a blank matrix. In this method, every vector in the matrix is assigned a specific value (e.g., numerical, character, etc., as usual), and, rather than displaying the values, the server will display a blank matrix instead. Preferably, the value of each vector will be hidden from the user, and every cell will be able to accept mouse or touch-screen events. In this way, the user will place the card on the monitor inside the matrix frame and click the mouse or touch the screen (e.g., using a finger or a stylus) over every key-sequence hole. The clicks of the mouse or screen touches into the card holes serve as entry by the user of the OTP, and the mouse clicks or screen touches can even be entered according to the order template for that user. The client side application will translate the mouse-click or screen touch events into their hidden vector values and submit the OTP to the server. The server will then calculate the key-sequence from the OTP in the usual manner. By employing this algorithm, even if a hacker has spoofed the OTP, the hacker could still not snap the matrix and match the OTP to it to calculate the key-sequence.
[00196] Yet another preferred method for protecting against a key-sequence attack is to employ a certain algorithm that involves clock or time sync between the server and the client. In this way, the user, for example, will have to recall a constant that might represent a unique time stamp that was applied to the account at the time the account was created. By employing this algorithm, even if a hacker has spoofed the OTP, the hacker would still have to know additional data that is known only to the user and would have to input this information at the time of the transaction.
[00197] In general, a new card must preferably be issued for each new or existing account that is added to the system. A user's account is created when the account, along with the user's personal information (e.g., name, phone number, mailing address, e-mail address, password/PIN, etc.) and the user's credentials are stored in the server database. A number of methods for creating user accounts and managing passwords are available in the market, depending on the application.
[00198] In order to create a new card, a typical process for which is depicted in Figure 36, several steps must preferably be taken. First, a key-sequence is randomly created and stored encrypted in the server database under the user's account (step 1). If various algorithms such as matrix templates and/or key-sequence order templates are applied, this information must be stored as well. The key-sequence is then translated into a two-dimensional, graphics based pattern based upon a standard matrix or upon the matrix template (step 2). Depending on the desired format and implementation, a new physical card is produced (step 3) by forming selected viewing portions through an opaque view-blocking material, as discussed previously with regard to Figure 6, such as by printing a graphical pattern on a plastic film, portions of which are transparent, or by punching holes through an opaque card (such as a credit card). Placement directions, which illustrate to the user the correct way to place the card on the monitor, can be printed on the actual card, as well. The card is then mailed to the user (step 4), and the user activates the card prior to using it (step 5), such as by telephone or on-line.
[00199] Because the card is meant to provide security for transactions over the Internet and protected networked systems, however, some basic security measures must be taken into account. First, because a card becomes increasingly likely to be compromised the longer it is physically possessed by one user, each card should preferably have an expiration date, after which a new card with a new key-sequence and a new pattern of holes must be issued for that user. Similar to resetting of a user's password/PESf, this lowers the risk that the key-sequence of the card or its pattern of holes will be compromised.
[00200] In addition, a timeout-lock mechanism should preferably be set for every transaction, whereby, for each transaction, the server will trigger a timeout clock that allows a preset amount of time during which the user must complete the log-in. Thus, the OTP must be entered by the user and returned to the server within the time allotted, e.g., 60 seconds, or else the transaction will be rejected. This mechanism helps to prevent a potential hacker from "stealing" a specific transaction session and tampering with the transferred data.
[00201] Similarly, a retries-lock mechanism should preferably also be set for every transaction. In this case, if a user enters an incorrect OTP repeatedly, i.e., for a pre-determined number of times, e.g., three, the server will cancel the current transaction and re-challenge the user by displaying a new scrambled matrix. After another pre-determined number of retries, e.g., six, the server will lock the account. This mechanism is intended to prevent a "brute force" attack by a potential hacker, who runs a program that feeds the server with a large number of possible OTP combinations and repeatedly tries combinations of numbers in an attempt to guess the OTP. Thus, if a hacker has stolen a user name and its associated PIN code from an individual owning a card and tries to guess the OTP by typing in different combinations, the hacker will, in a preferred embodiment, have only a limited number of attempts, after which the server will temporarily lock the account.
[00202] An additional basic security measure that may preferably be taken is the encryption of communications between the client and the server in order to prevent a potential hacker from determining the key-sequence through interception of communications. Furthermore, in order to prevent a potential hacker from scanning the displayed vectors in a matrix, the matrix may be converted, preferably into a bitmap image or Flash-based application in run time, at the server side, prior to displaying it to the user. In addition, the key-sequence should preferably be stored hashed/encrypted in the database, and the OTP should be hashed/encrypted on the client side before it is transmitted from the client's computer to the server.
[00203] In general, the card in the preferred embodiments of the present invention may be used from any setting and from any computer or monitor. Therefore, in order for the user to be able to properly use the card, there must be an exact match between the matrix displayed on the user's monitor and the physical card, regardless of the size of the monitor, the monitor's dot pitch or the monitor's display resolution. If such a match between the card and the matrix is not achieved, the numbers, letters or characters of the scrambled matrix might not be revealed through the holes of the card or might be revealed incorrectly, causing the user to enter the wrong OTP. [00204] There are several ways in which to achieve a complete match between the card and the displayed matrix. Typically, a computer monitor displays text or graphics as a series of illuminated dots in a certain resolution. A typical monitor has a physical dot size, which is the smallest physical display unit of the monitor's screen, the most common of which are 0.28 mm, 0.25 mm and 0.23 mm. A display resolution is defined as the number of pixels per inch (ppi). A pixel is a logical display unit of the monitor's screen and (depending on the displayed resolution) might be composed of one or more physical dots. Monitors usually support resolutions of from about 640x280 to about 1280x1024 ppi.
[00205] One preferred way in which to achieve a match between the card and the displayed matrix is to use programming tools/technologies on the client's end application to provide a rendering of the actual size of a window in run time, according to the dot size of the monitor and/or the displayed resolution. For example, if the server has programmed that the size of the user's card is 85x60 mm, the application will display an exact 85x60 mm framed matrix onto which the user places his/her card. This is shown in Figure 37, wherein the card is shown bound by frame 15 that matches the size of the card, such that the characters of the matrix are displayed within the holes of the card.
[00206] Another preferred way in which to achieve a match between the card and the displayed matrix is to use a re-sizable frame. When the re-sizeable frame is displayed, the user will need to adjust the frame's size to match the size of his/her card, as necessary. This is shown in Figure 38, wherein the user uses his mouse or other means, such as arrow 16, to adjust the size of frame 15 so that frame 15 matches the size of the card and so that the characters of the matrix are displayed within the holes of the card.
[00207] A further preferred way in which to achieve a match between the card and the displayed matrix is to display more than one frame on the screen, with each frame representing a different common dot size, as shown in Figure 39. Based on the differing dot sizes and considering the currently displayed resolution, the client side application will render the exact framed matrix in run time. The user will then place his/her card on the frame that best fits the card.
[00208] Alternatively, in another preferred embodiment, instead of displaying all the frames on the screen, the client end will display only one frame at a time. As shown in Figure 40, the user will is then able to leaf through the available frames, for example by clicking on a "Next Frame" mouse button 17, until a frame whose size best matches that of card is displayed. The user will then place his/her card on that selected frame.
[00209] Of course, the methods discussed above may be combined in order to provide the desired result. In addition, Macromedia® Flash® (www.macromedia.com) can be used as an optional application for window rendering, and different font sizes and graphical design may be applied in order to achieve the desired result when displaying a framed matrix.
[00210] Some of the applications that may be implemented using the present invention for authentication of users are:
- online financial transactions, e.g., logging into a web-based banking application in order to retrieve individual account information and activities, give money transfers orders, order checks and other activities related to account management, including trading of stocks and bonds;
- E-commerce transactions, including online payments and debits, e.g., Internet shopping or bill payments, and online check payments, e.g., filling and signing online check orders;
- online gambling;
- managing medical records, e.g., logging in to web based applications that allow users to view and manage their medical records, choose medical services, doctors etc.;
- logging in to protected web sites (individual or corporate) for access to e-mail accounts or confidential or protected data, including downloading music and video;
- connecting to the Internet via a dialup service through an Internet Service Provider;
- online elections;
- encryption of confidential information online or offline;
- Hot Spots, e.g., wireless connections to the Internet from various locations (Internet cafes, airports, coffee houses, central transportation stations etc.);
- any type of Browser based or non-Browser based applications that require user authentication;
- software protection and registration, wherein the software installation package will contain a card according to the present invention that the user will be required to use to register the software online in order to prevent illegal copying of software;
- remote access to networks such as: home office secure connection, client login to Internet sites, protected Virtual Private Networks over IPsec VPN and SSL VPN for users that are connected from home, distant geographical locations, while roaming etc., or the wireless Local Area Network (LAN) of a corporation; and
- access to a local PC/computer or to a local or remote, protected network domains, in a corporate like Windows Domain Controller, local and internal Intranet web sites that provide general corporate information, documentation, supply orders, timesheets, etc. [00211] Thus, a method and system of authentication and identification for computerized and networked systems has been provided. One skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments, which are presented for purposes of illustration and not limitation.

Claims

WHAT IS CLAIMED IS:
1. A method of authenticating a user for a transaction, comprising: providing to the user a key having a plurality of view areas, said key being uniquely associated with a predetermined code, and said plurality of view areas being arranged on said key in accordance with said predetermined code; displaying to the user an array of characters; accepting entry by the user of a password, said password comprising selected characters from said array, said selected characters having been revealed to the user by said plurality of view areas of said key when said key is placed over said displayed array; correlating said entered password with said predetermined code; and authenticating said transaction for the user if said entered password correlates to said predetermined code, and denying authentication of said transaction for the user if said entered password does not correlate to said predetermined code.
2. The method of claim 1 wherein said step of providing a key comprises providing a substantially two-dimensional body, said plurality of view areas being capable of revealing to the user said selected characters of said array when said key is placed over said displayed array.
3. The method of claim 2 wherein said body is opaque and said plurality of view areas comprise a plurality of transparent regions, such that said plurality of view areas reveal the selected characters of said array by allowing the user to view said selected characters of said array through said transparent regions when said key is placed over said displayed array.
4. The method of claim 2 wherein said plurality of view areas comprise a plurality of apertures formed through said body, such that said plurality of view areas reveal the selected characters of said array by allowing the user to view said selected characters of said array through said plurality of apertures when said key is placed over said displayed array.
5. The method of claim 2 wherein said body is transparent and said plurality of view areas comprise a plurality of areas having a distinctive indication, such that said distinctive indications reveal the selected characters of said array by allowing the user to distinguish said selected characters of said array from non-selected characters of said array when said key is placed over said displayed array.
6. The method of claim 2 wherein said step of displaying an array comprises displaying an array that is substantially of the same physical dimensions as said key, such that there is only one position in which said key may be placed over said displayed array wherein selected characters of said array are revealed to the user.
7. The method of claim 2 wherein said step of displaying an array comprises displaying an array that is of larger physical dimensions than said key, such that there are more than one position in which said key may be placed over said displayed array wherein selected characters of said array are revealed to the user.
8. The method of claim 1 wherein said step of displaying to the user an array of characters comprises displaying to the user a series of characters arranged within a two-dimensional shape.
9. The method of claim 8 wherein said step of displaying to the user a series of characters arranged within a two-dimensional shape comprises displaying to the user a series of characters arranged in a format of at least one row and at least one column oriented orthogonally with respect to each other.
10. The method of claim 8 wherein said step of displaying to the user a series of characters arranged within a two-dimensional shape comprises displaying to the user a series of characters arranged in a format of at least one row and at least one column oriented non-orthogonally with respect to each other.
11. The method of claim 8 wherein said step of displaying to the user a series of characters arranged within a two-dimensional shape comprises displaying to the user a series of characters arranged in a spiral or circular formation with at least one concentric spiral or circular row of characters.
12. The method of claim 8 wherein said step of displaying to the user a series of characters arranged within a two-dimensional shape comprises displaying to the user a series of characters arranged in a spiral or circular formation with said characters spiraling outward from a central node.
13. The method of claim 1 wherein said step of displaying to the user an array of characters comprises displaying to the user a series of characters arranged in a format determined in accordance with said unique predetermined code.
14. The method of claim 1 wherein said predetermined code comprises a plurality of vectors that indicate a plurality of specific positions in said array, and said plurality of view areas correspond to said plurality of specific positions in said array.
15. The method of claim 14 wherein each vector comprises at least one number or character that identifies a position in said array.
16. The method of claim 15 wherein said characters of said array are arranged among a plurality of positions that are sequentially identified from first position in said array to second position in said array.
17. The method of claim 14 wherein said step of displaying to the user an array of characters comprises the steps of: creating an array of said characters in a predetermined format; determining for said array the identities of said characters within said plurality of specific positions; storing in a memory the identities of said characters within said plurality of specific positions; scrambling said array such that the characters within said plurality of specific positions whose identities have been stored may or may not be in the same positions in said array as they were prior to scrambling; and displaying to the user the scrambled array.
18. The method of claim 17 wherein said step of correlating said entered password with said predetermined code comprises the steps of: deriving the specific positions of said selected characters in said scrambled array which have been revealed by said plurality of view areas and which have been entered by the user; determining the identities of the characters in the unscrambled array at the same specific positions derived; and matching the identities of the characters in the unscrambled array just determined with the identities of said characters stored in said memory.
19. The method of claim 18 wherein the identities of said characters are stored in said memory in a specific sequence, and said selected characters in said scrambled array have been entered by the user in a specific sequence, said step of matching the identities further comprises determining whether the sequence of said characters in the unscrambled array just determined based upon the selected characters in said scrambled array entered by the user matches the sequence of said characters stored in said memory.
20. The method of claim 1 wherein said step of displaying an array or characters comprises randomly generating an array of characters prior to display of said array to the user such that said array in a first transaction has a statistically insignificant chance of being repeated in a second transaction.
21. The method of claim 20 wherein said step of accepting entry of a password comprises accepting entry by the user of a password that in a first transaction has a statistically insignificant chance of being the same password as entered in a second transaction.
22. The method of claim 21 wherein the chance of said entered password being the same in a first transaction as in a second transaction decreases as the number of character positions present in said array increases.
23. The method of claim 1 wherein said step of displaying to the user an aπay of characters comprises creating an array wherein said characters comprise numbers, letters, symbols or a combination of two or more thereof.
24. The method of claim 23 wherein said step of displaying to the user an array of characters comprises creating an array of said characters wherein each character appears only once in said array.
25. The method of claim 23 wherein said step of displaying to the user an array of characters comprises creating an array of said characters wherein at least one character appears more than once in said array.
26. The method of claim 1 wherein said step of accepting entry of a password comprises accepting entry by the user of selected characters from said array in a predetermined order of entry.
27. The method of claim 1 wherein said step of accepting entry of a password comprises accepting entry by the user of selected characters from said array in a specific order of entry that is indicated to the user on said key.
28. The method of claim 27 wherein said specific order of entry is indicated to the user on said key in the form of a plurality of sequential characters, each of which is provided adjacent to a specific one of said plurality of selective viewing regions.
29. The method of claim 1 wherein said step of accepting entry of a password comprises accepting entry by the user of a set of characters that are derived from arithmetic modifications of the selected characters from said array.
30. The method of claim 29 wherein said arithmetic modifications of the selected characters from said array is indicated to the user on said key in the form of a plurality of arithmetic operation indicators and a plurality of operands, one of each of which is provided adjacent to a specific one of said plurality of selective viewing regions to indicate the arithmetic operation to be taken and the operand to be used with respect to the selected character from said array that is revealed through said respective selective viewing region so as to derive a respective one of said password characters.
31. The method of claim 29 wherein said arithmetic modifications of the selected characters from said array is indicated to the user on said key in the form of a plurality of arithmetic operation indicators, one of each of which is provided adjacent to a specific one of said plurality of selective viewing regions to indicate the arithmetic operation to be taken with respect to an operand and the selected character from said array that is revealed through said respective selective viewing region so as to derive a respective one of said password characters.
32. The method of claim 31 wherein said operand is indicated to the user on said key.
33. A method of authentication of a transaction by a user, comprising: viewing a display of an array of characters; placing a key over said array, said key being uniquely associated with a predetermined code and having a plurality of view areas that are arranged on said key in accordance with said predetermined code; viewing through said plurality of view areas a plurality of selected characters from said array; and providing a password, said password comprising said plurality of selected characters from said array; such that authentication of the transaction is permitted for the user if the entered password correlates to said predetermined code, and authentication of the transaction is denied for the user if said entered password does not correlate to said predetermined code.
34. The method of claim 33 wherein said step of placing a key comprises placing a substantially two-dimensional body over said array, said selected characters of said array being capable of being viewed through said plurality of view areas when said key is placed over said array.
35. The method of claim 34 wherein said body is opaque and said plurality of view areas comprise a plurality of transparent regions, and said step of viewing through said plurality of view areas only a plurality of selected characters from said array comprises viewing said selected characters of said array through said transparent regions when said key is placed over said displayed array.
36. The method of claim 34 wherein said plurality of view areas comprise a plurality of apertures formed through said body, and said step of viewing through said plurality of view areas only a plurality of selected characters from said array comprises viewing said selected characters of said array through said plurality of apertures when said key is placed over said displayed array.
37. The method of claim 34 wherein said body is transparent and said plurality of view areas comprise a plurality of areas having a distinctive indication, and said step of viewing through said plurality of view areas a plurality of selected characters from said array comprises using said distinctive indications to distinguish said selected characters of said array from non-selected characters of said array when said key is placed over said displayed array.
38. The method of claim 34 wherein said array is substantially of the same physical dimensions as said key, such that said step of placing a key over said array comprises placing said key in the only position in which said key may be placed over said array wherein selected characters from said array may be viewed.
39. The method of claim 34 wherein said array that is of larger physical dimensions than said key, such that said step of placing a key over said array comprises placing said key in one of at least two positions in which said key may be placed over said array wherein selected characters from said array may be viewed.
40. The method of claim 33 wherein said step of viewing a display of an array of characters comprises viewing an array wherein said characters comprise numbers, letters, symbols or a combination of two or more thereof.
41. The method of claim 40 wherein said step of viewing a display of an array of characters comprises viewing an array of said characters wherein each character appears only once in said array.
42. The method of claim 33 wherein said step of viewing a display of an array of characters comprises viewing an array of said characters wherein at least one character appears more than once in said array.
43. The method of claim 33 wherein said step of viewing a display of an array of characters comprises viewing an array comprising a series of characters arranged within a two-dimensional shape.
44. The method of claim 43 wherein said step of viewing an array comprising a series of characters arranged within a two-dimensional shape comprises viewing an array comprising a series of characters arranged in a format of at least one row and at least one column oriented orthogonally with respect to each other.
45. The method of claim 43 wherein said step of viewing an array comprising a series of characters arranged within a two-dimensional shape comprises viewing an array comprising a series of characters arranged in a format of at least one row and at least one column oriented non- non-orthogonally with respect to each other.
46. The method of claim 43 wherein said step of viewing an array comprising a series of characters arranged within a two-dimensional shape comprises viewing an array comprising a series of characters arranged in a spiral or circular formation with at least one concentric spiral or circular row of characters.
47. The method of claim 43 wherein said step of viewing an array comprising a series of characters arranged within a two-dimensional shape comprises viewing an array comprising a series of characters arranged in a spiral or circular formation with said characters spiraling outward from a central node.
48. The method of claim 33 wherein said step of viewing an array comprising a series of characters arranged within a two-dimensional shape comprises viewing an array comprising a series of characters arranged in a format determined in accordance with said unique predetermined code.
49. The method of claim 33 wherein said predetermined code comprises a plurality of vectors that indicate a plurality of specific positions in said array, and said plurality of view areas correspond to said plurality of specific positions in said array.
50. The method of claim 49 wherein each vector comprises at least one number or character that identifies a position in said array.
51. The method of claim 50 wherein said characters of said array are arranged among a plurality of positions that are sequentially identified from first position in said array to second position in said array.
52. The method of claim 49 wherein said step of viewing an array comprising a series of characters comprises viewing a scrambled array, said scrambled array having been created through the steps of: creating an array comprising a series of said characters in a predetermined format; determining for said array the identities of said characters within said plurality of specific positions; storing in a memory the identities of said characters within said plurality of specific positions; scrambling said array such that the characters within said plurality of specific positions whose identities have been stored may or may not be in the same positions in said array as they were prior to scrambling.
53. The method of claim 52 wherein said authentication of the transaction is permitted for the user through the steps of: deriving the specific positions of said plurality of selected characters in said scrambled array which were viewed through said plurality of view areas and were provided as a password; determining the identities of the characters in the unscrambled array at the same specific positions derived; and matching the identities of the characters in the unscrambled array just determined with the identities of said characters stored in said memory.
54. The method of claim 52 wherein said step of storing in a memory comprises storing identities of said characters within said plurality of specific positions in a specific sequence, said step of providing a password comprises providing said plurality of selected characters from said array in a specific sequence, and said step of matching the identities further comprises determining whether the sequence of said characters in the unscrambled array just determined based upon the selected characters in said password provided matches the sequence of said characters stored in said memory.
55. The method of claim 33 wherein said step of providing a password comprises providing a password that in a first transaction has a significantly small chance of being the same password as entered in a second transaction.
56. The method of claim 55 wherein the chance of said password being the same in a first transaction as in a second transaction decreases as the number of character positions present in said array increases.
57. The method of claim 33 wherein said step of providing a password comprises entering said selected characters from said array in a predetermined order.
58. The method of claim 33 wherein said step of providing a password comprises entering said selected characters from said array in a specific order of entry that is indicated to the user on said key.
59. The method of claim 58 wherein said specific order of entry is indicated to the user on said key in the form of a plurality of sequential characters, each of which is provided adjacent to a specific one of said plurality of selective viewing regions.
60. The method of claim 33 wherein said step of providing a password comprises entering a set of characters that are derived from arithmetic modifications of the selected characters from said array.
61. The method of claim 60 wherein said arithmetic modifications of the selected characters from said array is indicated to the user on said key in the form of a plurality of arithmetic operation indicators and a plurality of operands, one of each of which is provided adjacent to a specific one of said plurality of selective viewing regions to indicate the arithmetic operation to be taken and the operand to be used with respect to the selected character from said array that is revealed through said respective selective viewing region so as to derive a respective one of said password characters.
62. The method of claim 60 wherein said arithmetic modifications of the selected characters from said array is indicated to the user on said key in the form of a plurality of arithmetic operation indicators, one of each of which is provided adjacent to a specific one of said plurality of selective viewing regions to indicate the arithmetic operation to be taken with respect to an operand and the selected character from said array that is revealed through said respective selective viewing region so as to derive a respective one of said password characters.
63. The method of claim 62 wherein said operand is indicated to the user on said key.
64. A system for authenticating a user for a transaction, comprising: means for generating, from among a set of characters, a scrambled set of characters, in an array format; a key having a plurality of view areas, said key being uniquely associated with a predetermined code, and said plurality of view areas being arranged on said key in accordance with said predetermined code; an input means for allowing the user to input a password, said password comprising selected characters from said scrambled array, said selected characters having been revealed to the user by said key when said key is placed over said scrambled array; and means for correlating said password with said predetermined code; whereby the user is authenticated for the transaction if said entered password correlates to said predetermined code, and the user is not authenticated for the transaction if said entered password does not correlate to said predetermined code.
65. The system of claim 64 wherein said array format of characters comprises characters arranged within a two-dimensional shape.
66. The system of claim 65 wherein said array format of characters comprises at least one row and at least one column oriented orthogonally with respect to each other.
67. The system of claim 65 wherein said array format of characters comprises at least one row and at least one column oriented non-orthogonally with respect to each other.
68. The system of claim 65 wherein said array format of characters comprises a spiral or circular formation with at least one concentric spiral or circular row of characters.
69. The system of claim 65 wherein said array format of characters comprises a spiral or circular formation with said characters spiraling outward from a central node.
70. The system of claim 64 wherein said array format of characters is determined in accordance with said predetermined code.
71. The system of claim 64 wherein said set of said characters comprises numbers, letters, symbols or a combination of two or more thereof, and wherein said scrambled set of characters comprises a subset of said set of characters.
72. The system of claim 71 wherein each character in said scrambled set of characters appears only once in said scrambled array.
73. The system of claim 71 wherein each character in said scrambled set of characters may appear more than once in said scrambled array.
74. The system of claim 64 wherein said key comprises a substantially two-dimensional body.
75. The system of claim 74 wherein said key is substantially opaque and said plurality of view areas comprise a plurality of transparent regions, said selected characters of said scrambled array being revealed to the user through said transparent regions when said key is placed over said scrambled array.
76. The system of claim 74 wherein said plurality of view areas comprise a plurality of apertures formed through said body, said selected characters of said scrambled array being revealed to the user through said plurality of apertures when said key is placed over said scrambled array.
77. The system of claim74 wherein said key is substantially transparent and said plurality of view areas comprise a plurality of areas having a distinctive indication, said selected characters of said scrambled array being revealed to the user through said distinctive indications when said key is placed over said scrambled array.
78. The system of claim 64 wherein said key further comprises a memory for storage of data.
79. The system of claim 64 further comprising a display device for presenting to the user said array of scrambled characters.
80. The system of claim 79 wherein said display device is a screen or monitor.
81. The system of claim 79 wherein said display device is a printer.
82. The system of claim 79 wherein said display device presents said scrambled array in substantially the same physical dimensions as said key, such that there is only one position in which said key may be placed over said presented scrambled array wherein selected characters of said scrambled array are revealed to the user.
83. The system of claim 79 wherein said display device presents said scrambled array in larger physical dimensions than said key, such that there is more than one position in which said key may be placed over said presented scrambled array wherein selected characters of said scrambled array are revealed to the user.
84. The system of claim 83 wherein the identities of said selected characters from said scrambled array that comprise said password are dependent upon the position in which said key is placed over said presented scrambled array, such that the number of different passwords correspond to the number of different positions in which said key may be placed over said presented scrambled array, wherein said means for correlating correlates each of the number of different passwords with said predetermined code to allow the user to be authenticated for the transaction.
85. The system of claim 79 wherein said key has a size and shape that are determined in accordance with the size and shape of said display device.
86. The system of claim 64 wherein said input means comprises a keyboard, touch screen, mouse, telephone, voice recognition or handwriting recognition, or combinations thereof.
87. The system of claim 86 wherein said input means comprises a touch screen, said system further comprising means for recognizing pressure or heat variations on said touch screen and means for correlating a pressure or heat variation on said touch screen to the character from said scrambled array most proximate to the pressure or heat variation.
88. The system of claim 87 further comprising a display device for presenting to the user the array format but not the characters in said scrambled array.
89. The system of claim 86 wherein said input means comprises a mouse and screen, said system further comprising means for recognizing mouse clicks on said screen and means for correlating a mouse click on said screen to the character from said scrambled array most proximate to the mouse click.
90. The system of claim 89 further comprising a display device for presenting to the user the array format but not the characters in said scrambled array.
91. The system of claim 64 wherein said predetermined code is uniquely associated with the user.
92. The system of claim 64 wherein said predetermined code comprises a plurality of vectors that indicate a plurality of specific positions in said scrambled array, and said plurality of view areas in said key correspond to said plurality of specific positions in said scrambled array.
93. The system of claim 92 wherein each vector comprises at least one number or character that identifies a position in said scrambled array.
94. The system of claim 93 wherein said characters of said scrambled array are arranged among a plurality of positions that are sequentially identified from a first position in said array to a last position in said array.
95. The system of claim 92 wherein said means for generating a scrambled set of characters in an array format comprises a processing device and software operative to perform the steps of: creating an array of said characters in a predetermined format; determining for said array the identities of said characters within said plurality of specific positions; storing in a memory the identities of said characters within said plurality of specific positions; scrambling said array such that the plurality of specific positions of said characters whose identities have been stored may or may not be the same in said scrambled array as they were in said array prior to scrambling; and presenting to the user said array of scrambled characters.
96. The system of claim 95 wherein said means for correlating said password with said predetermined code comprises a processing device and software operative to perform the steps of: deriving, from said password input by the user and from said scrambled array, the specific positions in said scrambled array of said selected password characters which were input by the user; determining the identities of the characters in the unscrambled array at the same positions as the specific positions just derived; and matching the identities of the characters in the unscrambled array just determined with the identities of said characters stored in said memory.
97. The system of claim 96 wherein the identities of said characters are stored in said memory in a specific sequence, and said selected characters in said scrambled array have been input by the user in a specific sequence, and wherein said software of said means for correlating said password is operative to perform the further step, in said step of matching the identities, of determining whether the sequence of said characters in the unscrambled array just determined based upon the selected characters in said scrambled array input by the user matches the sequence of said
' characters stored in said memory.
98. The system of claim 64 wherein said means for generating a scrambled set of characters is adapted to randomly generate for a first transaction a scrambled array of characters that has a statistically insignificant chance of being repeated for a second transaction.
99. The system of claim 98 wherein the chance of said scrambled array of characters being the same for a first transaction as for a second transaction decreases as the number of character positions present in said array increases.
100. The system of claim 64 wherein said means for generating a scrambled set of characters is adapted to randomly generate for a first transaction a scrambled array of characters such that said selected characters comprising the password have a statistically insignificant chance of being repeated for a second transaction.
101. The system of claim 100 wherein the chance of said selected characters comprising the password being the same for a first transaction as for a second transaction decreases as the number of character positions present in said array increases.
102. The system of claim 100 wherein the chance of said selected characters comprising the password being the same for a first transaction as for a second transaction decreases as the number of character positions present in said password increases.
103. The system of claim 64 wherein said key comprises an indication of the order in which the characters of said password are to be input by the user.
104. The system of claim 103 wherein said indication of the order of password input comprises a plurality of sequential characters, each of which is provided adjacent to a specific one of said plurality of view areas in said key.
105. The system of claim 64 wherein said key comprises an indication of arithmetic modification that are to be made to said selected characters from said scrambled array by the user prior to input of said password.
106. The system of claim 105 wherein said indication of arithmetic modification comprises a plurality of arithmetic operation indicators and a plurality of operands, one of each of which is provided adjacent to a specific one of said plurality of view areas to indicate the arithmetic operation to be taken and the operand to be used with respect to the selected character from said scrambled array that is revealed through said respective view area so as to derive a respective one of said password characters.
107. The system of claim 105 wherein said indication of arithmetic modification comprises a plurality of arithmetic operation indicators, one of each of which is provided adjacent to a specific one of said plurality of view areas to indicate the arithmetic operation to be taken with respect to an operand and the selected character from said array that is revealed through said respective view area so as to derive a respective one of said password characters.
108. The system of claim 107 wherein said key comprises an indication of said operand.
109. The system of claim 64 wherein said means for generating is located remote from said input means and is linked thereto via an electronic network.
110. The system of claim 64 wherein said means for correlating is located remote from said input means and is linked thereto via an electronic network.
111. A device for use in authenticating a user for a transaction, said device comprising: a substantially planar body, said substantially planar body being sized so as to partially or completely cover a displayed array of characters; a plurality of view areas arranged on said body, the arrangement of said selective view areas on said body being uniquely associated with a predetermined code and being in accordance with said predetermined code; and said plurality of view areas being arranged such that only selected characters from said array of characters are indicated by said view areas, said selected characters when input by the user as a password enable the user to be authenticated if the password correlates with said predetermined code and do not enable the user to be authenticated if the password does not correlate with said predetermined code.
112. The device of claim 111 wherein said substantially planar body is sized to partially or completely cover a displayed array of characters arranged in at least one row and at least one column oriented orthogonally with respect to each other.
113. The device of claim 111 wherein said substantially planar body is sized to partially or completely cover a displayed array of characters arranged in at least one row and at least one column oriented non-orthogonally with respect to each other.
114. The device of claim 111 wherein said substantially planar body is sized to partially or completely cover a displayed array of characters arranged in a spiral or circular formation with at least one concentric spiral or circular row of characters.
115. The device of claim 111 wherein said substantially planar body is sized to partially or completely cover a displayed array of characters arranged in a spiral or circular formation with said characters spiraling outward from a central node.
116. The device of claim 111 wherein substantially planar body is sized to partially or completely cover a displayed array of characters arranged in a format that is determined in accordance with said predetermined code.
117. The device of claim 111 wherein said planar body is substantially opaque and said plurality of view areas comprise a plurality of transparent regions, said selected characters of said displayed array being indicated to the user through said transparent regions when said planar body is placed over said displayed array.
118. The device of claim 111 wherein said plurality of view areas comprise a plurality of apertures formed through said body, said selected characters of said displayed array being indicated to the user through said plurality of apertures when said planar body is placed over said displayed array.
119. The device of claim 111 wherein said planar body is substantially transparent and said plurality of view areas comprise a plurality of areas having a distinctive indication, said selected characters of said displayed array being indicated to the user through said distinctive indications when said planar body is placed over said displayed array.
120. The device of claim 111 further comprising a memory for storage of data.
121. The device of claim 111 wherein said array of characters is displayed on a display, and said planar body has a size and shape that are determined in accordance with the size and shape of said display.
122. The device of claim 111 wherein said planar body is configured to allow said password to be input by the user through said planar body.
123. The device of claim 111 wherein said predetermined code comprises a plurality of vectors that indicate a plurality of specific positions in said array, and said plurality of view areas in said key correspond to said plurality of vectors.
124. The device of claim 111 wherein said predetermined code is uniquely associated with the user.
125. The device of claim 111 further comprising an indication of the order in which the selected characters from said array of characters are to be input by the user as a password, wherein the user is authenticated for the transaction only if said selected characters are input in the indicated order.
126. The device of claim 125 wherein said indication of the order comprises a plurality of sequential characters, each of which is provided adjacent to a specific one of said plurality of view areas.
127. The device of claim 111 further comprising at least one indication of arithmetic modification that is to be made to at least one of said selected characters from said array of characters by the user prior to input of said selected characters by the user as a password, wherein the user is authenticated for the transaction only if each of said at least one arithmetic modification is made to each respective one of said selected characters prior to being input as a password.
128. The device of claim 127 wherein said indication of arithmetic modification comprises a plurality of arithmetic operation indicators and a plurality of operands, one of each of which is provided adjacent to a specific one of said plurality of view areas to indicate the arithmetic operation to be taken and the operand to be used with respect to the respective selected character that is indicated by said respective view area so as to derive a respective password character.
129. The device of claim 127 wherein said indication of arithmetic modification comprises a plurality of arithmetic operation indicators, one of each of which is provided adjacent to a specific one of said plurality of view areas to indicate the arithmetic operation to be taken with respect to an operand and the selected character that is indicated by said respective view area so as to derive a respective password character.
130. The device of claim 129 further comprising an indication of said operand.
131. A key for use in authenticating a user for a transaction, comprising: a card of sufficient size to at least partially cover a randomly generated array of characters displayed for the user; a plurality of character selection indications arranged on said card, the arrangement of said character selection indications being uniquely associated with a predetermined code; and said plurality of character selection indications being arranged such that only selected characters from said array of characters are indicated by said character selection indications, said selected characters when input by the user as a password enable the user to be authenticated if the password correlates with said predetermined code and do not enable the user to be authenticated if the password does not correlate with said predetermined code.
132. The key of claim 131 wherein said plurality of character selection indications are arranged on said card to correspond to an array of characters arranged in at least one row and at least one column oriented orthogonally or non-orthogonally with respect to each other.
133. The key of claim 131 wherein said plurality of character selection indications are arranged on said card to correspond to an array of characters arranged in a spiral or circular formation.
134. The key of claim 131 wherein said plurality of character selection indications are arranged on said card to correspond to an array of characters arranged in a format that is determined in accordance with said predetermined code.
135. The key of claim 131 wherein said card is substantially opaque and said plurality of character selection indications comprise a plurality of transparent regions that indicate only said selected characters when said card is placed over said array.
136. The key of claim 131 wherein said plurality of character selection indications comprise a plurality of apertures that indicate only said selected characters when said card is placed over said array.
137. The key of claim 131 wherein said card is substantially transparent and said plurality of character selection indications comprise a plurality of areas having a distinctive marking that indicate only said selected characters when said card is placed over said array.
138. The key of claim 131 further comprising a memory for storage of data.
139. The key of claim 131 wherein said predetermined code is uniquely associated with the user.
140. The key of claim 131 further comprising an indication of the order in which the selected characters are to be input by the user as a password, wherein the user is authenticated for the transaction only if said selected characters are input in the indicated order.
141. The key of claim 140 wherein said indication of the order comprises a plurality of sequential characters, each of which is provided adjacent to a specific one of said plurality of character selection indications.
142. The key of claim 131 further comprising at least one indication of arithmetic modification that is to be made to at least one of said selected characters by the user prior to input of said selected characters by the user as a password, wherein the user is authenticated for the transaction only if each of said at least one arithmetic modification is made to each respective one of said selected characters prior to being input as a password.
143. The key of claim 142 wherein said indication of arithmetic modification comprises an arithmetic operation indicator and an operand adjacent to at least one of said plurality of character selection indications to indicate the arithmetic operation to be taken and the operand to be used with respect to the respective selected character that is indicated by said respective character selection indication.
144. The key of claim 142 wherein said indication of arithmetic modification comprises an arithmetic operation indicator adjacent to a specific one of said plurality of character selection indications to indicate the arithmetic operation to be taken with respect to an operand and the selected character that is indicated by said respective character selection indication.
145. The key of claim 145 further comprising an indication of said operand.
PCT/US2005/025252 2004-07-20 2005-07-18 Method, system and device for authentication and identification for computerized and networked systems WO2006020096A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US58953404P 2004-07-20 2004-07-20
US60/589,534 2004-07-20
US65642705P 2005-02-24 2005-02-24
US60/656,427 2005-02-24

Publications (2)

Publication Number Publication Date
WO2006020096A2 true WO2006020096A2 (en) 2006-02-23
WO2006020096A3 WO2006020096A3 (en) 2006-08-10

Family

ID=35907940

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/025252 WO2006020096A2 (en) 2004-07-20 2005-07-18 Method, system and device for authentication and identification for computerized and networked systems

Country Status (2)

Country Link
US (3) US20060031174A1 (en)
WO (1) WO2006020096A2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008056605A1 (en) 2008-11-10 2010-05-12 Borchert, Bernd, Dr. Method for manipulation-secure transmission of e.g. password, from client to server via computer network, for online-banking, involves reconstructing code word, and declining execution of transaction by server
DE102008062872A1 (en) 2008-12-17 2010-06-24 Universität Tübingen Method for bi-directional transmission of click position information of smart card between server of bank and personal computer system of bank customer in online banking process, involves determining symbols associated to line surface
DE102009007277A1 (en) 2009-02-03 2010-08-05 Borchert, Bernd, Dr. Method for manipulation-proof transmitting of character string from clients to server in bank via computer network for online accounts, involves transmitting inputted characters to server, and testing inputted characters by server
DE102010031960A1 (en) 2010-07-22 2012-01-26 Bernd Borchert Method for transmitting secret image information to receiver, involves magnifying viewing angle corresponding to respective portions of image with respect to eye of viewer is magnified by refraction effect of transparent medium
WO2014051518A1 (en) * 2012-09-25 2014-04-03 Temasek Polytechnic Security film for revealing a passcode
US8739261B2 (en) 2011-08-31 2014-05-27 International Business Machines Corporation Dynamically providing algorithm-based password/challenge authentication

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899753B1 (en) 2002-03-25 2011-03-01 Jpmorgan Chase Bank, N.A Systems and methods for time variable financial authentication
US9281945B2 (en) * 2003-12-30 2016-03-08 Entrust, Inc. Offline methods for authentication in a client/server authentication system
US9191215B2 (en) 2003-12-30 2015-11-17 Entrust, Inc. Method and apparatus for providing authentication using policy-controlled authentication articles and techniques
US7734929B2 (en) * 2004-04-30 2010-06-08 Hewlett-Packard Development Company, L.P. Authorization method
US20080141363A1 (en) * 2005-01-27 2008-06-12 John Sidney White Pattern Based Password Method and System Resistant to Attack by Observation or Interception
US20070011738A1 (en) * 2005-07-08 2007-01-11 Doss Brian L Memory aid for remembering passwords
US10474807B2 (en) * 2005-08-01 2019-11-12 Danilo E. Fonseca Password/encryption protection
CA2524971A1 (en) * 2005-10-14 2006-09-22 Timur Medjitov Personal passwords management system
EP1943605A1 (en) * 2005-11-04 2008-07-16 Christian Hogl Method and system for transmitting data from a first data processing device to a second data processing device
US8190087B2 (en) * 2005-12-31 2012-05-29 Blaze Mobile, Inc. Scheduling and paying for a banking transaction using an NFC enabled mobile communication device
US8290433B2 (en) * 2007-11-14 2012-10-16 Blaze Mobile, Inc. Method and system for securing transactions made through a mobile communication device
WO2007095265A2 (en) * 2006-02-10 2007-08-23 Rsa Security Inc. Method and system for providing a one time password to work in conjunction with a browser
US7347366B2 (en) * 2006-03-14 2008-03-25 Verisign, Inc. Method and apparatus to provide authentication using an authentication card
JP2007249805A (en) * 2006-03-17 2007-09-27 Internatl Business Mach Corp <Ibm> Electronic authentication method and electronic authentication system
JP3939736B1 (en) * 2006-03-27 2007-07-04 株式会社シー・エス・イー User authentication system and method
US20080059235A1 (en) * 2006-08-14 2008-03-06 Critical Medical Information, Llc Medical Information Storage and Access Device, and Method of Using the Same
US8167214B2 (en) * 2006-09-07 2012-05-01 Matthew Walker Method and device for visual code transaction verification
WO2008028215A1 (en) * 2006-09-07 2008-03-13 Matthew Walker Visual code transaction verification
JP4267019B2 (en) * 2006-10-13 2009-05-27 株式会社コナミデジタルエンタテインメント Card identification device, card identification method, and program
JP5121212B2 (en) * 2006-11-17 2013-01-16 キヤノン株式会社 Management device, control method of management device, and computer program for causing computer to execute the control method
US7992005B2 (en) * 2006-12-06 2011-08-02 International Business Machines Corporation Providing pattern based user password access
GB2442249B (en) * 2007-02-20 2008-09-10 Cryptomathic As Authentication device and method
FR2913162B1 (en) * 2007-02-26 2011-04-22 Sagem Comm METHOD OF VERIFYING A CODE IDENTIFYING A BEARER, CHIP CARD AND TERMINAL RESPECTIVELY PROVIDED FOR IMPLEMENTING SAID METHOD.
DE102007018802B3 (en) * 2007-04-20 2008-08-28 Universität Tübingen Method for tap-proof transmission of character string from client to server through computer network, involves producing shadow image on screen through server according to visual cryptography process
CN101803272B (en) * 2007-06-26 2013-08-14 豌豆制造技术有限公司 Authentication system and method
DE102007052734B4 (en) 2007-06-27 2010-12-30 Universität Tübingen Device and method for tapping and tamper-proof encryption for online accounts
DE102007043843A1 (en) 2007-07-21 2009-01-22 Borchert, Bernd, Dr. Character string tap-proof transmitting method for e.g. on-line bank account, involves providing information with image to position client, and inputting reconstruction of character string by client using server
BRPI0703261A8 (en) * 2007-08-03 2016-09-13 Scopus Solucoes Em Ti S A METHOD TO PRESENT PASSWORD CODES ON MOBILE DEVICES FOR AUTHENTICATION OF A USER TO A PROTECTED INSTITUTION
KR101497742B1 (en) * 2007-08-06 2015-03-03 몬세이그낫 베르나르드 드 System and method for authentication, data transfer, and protection against phising
US7948376B2 (en) 2007-08-15 2011-05-24 Gilbarco Inc. Fuel dispenser
WO2009043661A1 (en) * 2007-10-04 2009-04-09 International Business Machines Corporation Authentication method and system
TW200926809A (en) * 2007-10-05 2009-06-16 Nxp Bv Method, system and apparatus for extended rate/range communication over a communication network
US20090106138A1 (en) * 2007-10-22 2009-04-23 Smith Steven E Transaction authentication over independent network
US7921454B2 (en) 2007-10-22 2011-04-05 International Business Machines Corporation System and method for user password protection
US20090132425A1 (en) * 2007-11-20 2009-05-21 Hogan Peter P Methods and systems for financial transaction card security
US8838803B2 (en) * 2007-12-20 2014-09-16 At&T Intellectual Property I, L.P. Methods and apparatus for management of user presence in communication activities
US8646040B2 (en) * 2007-12-31 2014-02-04 International Business Machines Corporation Method and system for securing access to an unsecure network utilizing a transparent identification member
DE102008053219A1 (en) 2008-02-05 2009-08-06 Borchert, Bernd, Dr. Character string e.g. transaction authentication number, transmission method for online bank accounts, involves transmitting information to server, and reconstructing character string, inputted by client, by server
US20090220075A1 (en) * 2008-02-28 2009-09-03 Akros Techlabs, Llc Multifactor authentication system and methodology
US8201227B2 (en) * 2008-05-06 2012-06-12 International Business Machines Corporation System and method for authenticating an end user
US8347380B1 (en) * 2008-06-30 2013-01-01 Symantec Corporation Protecting users from accidentally disclosing personal information in an insecure environment
US7659869B1 (en) * 2008-11-21 2010-02-09 Inernational Business Machines Corporation System and method for authenticating an end user
US8260717B2 (en) 2008-11-28 2012-09-04 International Business Machines Corporation System and method for authenticating an end user
US8260718B2 (en) 2008-11-28 2012-09-04 International Business Machines Corporation System and method for authenticating an end user
DE102009018725A1 (en) * 2009-04-27 2010-10-28 Ronny Schran Method for encoding preset start-up sequence from e.g. numbers, utilized for user identification in automated teller machine, involves replacing character of start-up sequence by alphanumeric substitute character based on allocation rule
US20100317431A1 (en) * 2009-06-15 2010-12-16 Kuan Yi-Hui Game card and game playing method
WO2010148448A1 (en) * 2009-06-24 2010-12-29 Asia Capital Services Limited Method and system for generating a visual key
US8713647B2 (en) * 2009-08-21 2014-04-29 International Business Machines Corporation End-of-session authentication
US20110113487A1 (en) * 2009-11-11 2011-05-12 Miller Conrad A Icon card verification system
US8799668B2 (en) * 2009-11-23 2014-08-05 Fred Cheng Rubbing encryption algorithm and security attack safe OTP token
CN102104484A (en) * 2009-12-22 2011-06-22 鸿富锦精密工业(深圳)有限公司 Electronic equipment and password protection method
US8392846B2 (en) * 2010-01-28 2013-03-05 Gilbarco, S.R.L. Virtual pin pad for fuel payment systems
US20110208670A1 (en) * 2010-02-19 2011-08-25 Jpmorgan Chase Bank, N.A. Execution Optimizer
US8352354B2 (en) * 2010-02-23 2013-01-08 Jpmorgan Chase Bank, N.A. System and method for optimizing order execution
WO2011135587A1 (en) * 2010-04-29 2011-11-03 Rakesh Thatha Authentication system and method using arrays
KR101897085B1 (en) * 2011-01-27 2018-10-22 삼성전자주식회사 Apparatus and method for generating a realtime password and storage medium
JP2013020609A (en) * 2011-06-13 2013-01-31 Kazunori Fujisawa Authentication system
WO2012176082A1 (en) * 2011-06-22 2012-12-27 International Business Machines Corporation Mobile touch-generating device and communication with a touchscreen
US9117061B1 (en) * 2011-07-05 2015-08-25 Symantec Corporation Techniques for securing authentication credentials on a client device during submission in browser-based cloud applications
US20140052632A1 (en) * 2011-08-05 2014-02-20 Ivason J. Galloway Financial card for online fund transfer and method therefor
JP2013045214A (en) * 2011-08-23 2013-03-04 Ntt Comware Corp Authentication key card, authentication information input system and authentication system
KR101267229B1 (en) 2011-09-07 2013-05-23 오상호 Method and system for authenticating using input pattern
US8819428B2 (en) * 2011-10-21 2014-08-26 Ebay Inc. Point of sale (POS) personal identification number (PIN) security
DE102011085538A1 (en) * 2011-11-01 2013-05-02 Bundesdruckerei Gmbh Document, Method for authenticating a user, in particular for activating a chip card function, and computer system
CN104321735A (en) * 2011-12-16 2015-01-28 T-触摸国际有限公司 Touch-sensitive data carrier and method
US9230087B2 (en) * 2011-12-19 2016-01-05 Henry Oksman Optical filter security
US8819802B2 (en) * 2012-04-10 2014-08-26 The Boeing Company User authentication
US20130301830A1 (en) * 2012-05-08 2013-11-14 Hagai Bar-El Device, system, and method of secure entry and handling of passwords
US9047602B2 (en) * 2012-06-08 2015-06-02 GM Global Technology Operations LLC In-vehicle mobile transactions
US9053312B2 (en) * 2012-06-19 2015-06-09 Paychief, Llc Methods and systems for providing bidirectional authentication
US8997184B2 (en) 2012-06-22 2015-03-31 Paychief Llc Systems and methods for providing a one-time authorization
GB201212878D0 (en) 2012-07-20 2012-09-05 Pike Justin Authentication method and system
US8892697B2 (en) 2012-07-24 2014-11-18 Dhana Systems Corp. System and digital token for personal identity verification
JP2015534138A (en) * 2012-07-25 2015-11-26 ファイナンシャル・サービシーズ/インフォメーション・シェアリング・アンド・アナリシス・センターFinancial Services/Information Sharing & Analysis Center Method and system for secure authentication and information sharing and analysis
US8997215B2 (en) * 2012-09-10 2015-03-31 Samsung Electronics Co., Ltd. Authentication using multi-tier multi-class objects
AT12913U3 (en) * 2012-09-11 2014-02-15 Res Ind Systems Engineering Rise Forschungs Entwicklungs Und Grosprojektberatung Gmbh Method for the secure verification of a transaction signature using the same TAN receive and return device ("TANsquare", "TAN²" or "TANgible" method)
EP2722739A1 (en) 2012-10-22 2014-04-23 Cartamundi Turnhout N.V. System comprising a card and a device comprising a touch sensor
KR101354388B1 (en) * 2012-12-12 2014-01-23 신한카드 주식회사 Generating method for one time code
DE102013102092B4 (en) * 2013-03-04 2015-08-20 Christian Palm Method and device for authenticating people
US9514316B2 (en) * 2013-04-30 2016-12-06 Microsoft Technology Licensing, Llc Optical security enhancement device
US9418215B2 (en) * 2013-04-30 2016-08-16 Microsoft Technology Licensing, Llc Optical security enhancement device
GB2514419B (en) * 2013-05-24 2016-05-04 Barclays Bank Plc Improved user authentication system and method
US9235564B2 (en) 2013-07-19 2016-01-12 International Business Machines Corporation Offloading projection of fixed and variable length database columns
US9275168B2 (en) 2013-07-19 2016-03-01 International Business Machines Corporation Hardware projection of fixed and variable length columns of database tables
US9299020B2 (en) * 2014-03-19 2016-03-29 TheCARD LLC Financial transaction card with cutout pattern representing symbolic information
JP2016015107A (en) * 2014-05-01 2016-01-28 バンクガード株式会社 Server system, communication system, communication terminal device, program, recording medium, and communication method
US9443241B2 (en) * 2014-07-10 2016-09-13 Bank Of America Corporation Dynamic card validation using periodically communicated cell identifiers
US9489675B2 (en) * 2014-07-10 2016-11-08 Bank Of America Corporation Dynamic card validation using randomly determined cell identifiers
US9460439B2 (en) * 2014-07-10 2016-10-04 Bank Of America Corporation Dynamic card validation using user requested cell identifiers
US9245268B1 (en) * 2014-07-10 2016-01-26 Bank Of America Corporation Dynamic card validation
US9576123B2 (en) * 2015-03-27 2017-02-21 Ca, Inc. Pattern-based password with dynamic shape overlay
JP6387887B2 (en) * 2015-04-08 2018-09-12 京セラドキュメントソリューションズ株式会社 Authentication device, authentication program, and authentication system
US10284371B2 (en) 2015-05-19 2019-05-07 Workday, Inc. Brute force attack prevention system
US9787696B2 (en) * 2015-05-19 2017-10-10 Workday, Inc. Brute force attack prevention system
GB201520760D0 (en) 2015-05-27 2016-01-06 Mypinpad Ltd And Licentia Group Ltd Encoding methods and systems
US10541996B1 (en) 2015-06-15 2020-01-21 National Technology & Engineering Solutions Of Sandia, Llc Methods and systems for authenticating identity
KR102460069B1 (en) * 2015-09-30 2022-10-28 삼성전자주식회사 Security certification apparatus using biometric information and security certification method
KR20170052808A (en) * 2015-11-04 2017-05-15 삼성디스플레이 주식회사 Backlight unit and display device having the same
CN106034135B (en) * 2016-01-21 2019-06-28 李明 Identity card cloud authentication device
KR101817306B1 (en) * 2016-06-03 2018-01-11 (주)투비스마트 Appratus and method for authentication using visual cryptography
EP4131038A1 (en) * 2016-07-25 2023-02-08 Apple Inc. System for and method of authenticating a component of an electronic device
CN107944303A (en) * 2017-11-13 2018-04-20 苏州亿科赛卓电子科技有限公司 A kind of smart mobile phone cipher-code input method and device
US10642966B2 (en) 2017-11-30 2020-05-05 International Business Machines Corporation Passwords defined using sequences of images
US11354396B2 (en) * 2018-07-20 2022-06-07 North Carolina Agricultural And Technical State University Authentication systems using sequences of tile selections from a grid
FR3090934A1 (en) * 2018-12-21 2020-06-26 Orange Method and system for securing operations, and associated user station
US20200226581A1 (en) * 2019-01-11 2020-07-16 Capital One Services, Llc Systems and methods for touch screen interface interaction using a card overlay
KR20200100481A (en) * 2019-02-18 2020-08-26 삼성전자주식회사 Electronic device for authenticating biometric information and operating method thereof
CN110062354B (en) * 2019-04-10 2022-03-15 南京信息工程大学 Key agreement method for data sharing of Internet of vehicles based on identity and mathematical structure
US11500431B2 (en) * 2020-03-23 2022-11-15 Ppip, Llc Secure local application communication bridge
CN112907434B (en) * 2021-03-25 2023-10-13 绍兴聚量数据技术有限公司 Blind watermark hiding, extracting and tampering detection method based on cellular grid matrix

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3947661A (en) * 1972-07-17 1976-03-30 Daniel Silverman Access authenticating system
WO2002017556A1 (en) * 2000-08-22 2002-02-28 Cmx Technologies Pty Ltd Validation of transactions
US6487301B1 (en) * 1998-04-30 2002-11-26 Mediasec Technologies Llc Digital authentication with digital and analog documents

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4016404A (en) * 1975-08-05 1977-04-05 Frank Appleton Credit card verifier
US5246375A (en) * 1991-09-23 1993-09-21 Wouter Goede Memory aiding device
US5401031A (en) * 1994-02-14 1995-03-28 Wayne Kuna & Associates Strategy attack game
JPH11149454A (en) * 1997-09-10 1999-06-02 Fujitsu Ltd Authenticating device, user authenticating method, card for authenticating user and recording medium
US6246769B1 (en) * 2000-02-24 2001-06-12 Michael L. Kohut Authorized user verification by sequential pattern recognition and access code acquisition
AUPQ958400A0 (en) * 2000-08-22 2000-09-14 Cmx Technologies Pty Ltd Validation of transactions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3947661A (en) * 1972-07-17 1976-03-30 Daniel Silverman Access authenticating system
US6487301B1 (en) * 1998-04-30 2002-11-26 Mediasec Technologies Llc Digital authentication with digital and analog documents
WO2002017556A1 (en) * 2000-08-22 2002-02-28 Cmx Technologies Pty Ltd Validation of transactions

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008056605A1 (en) 2008-11-10 2010-05-12 Borchert, Bernd, Dr. Method for manipulation-secure transmission of e.g. password, from client to server via computer network, for online-banking, involves reconstructing code word, and declining execution of transaction by server
DE102008062872A1 (en) 2008-12-17 2010-06-24 Universität Tübingen Method for bi-directional transmission of click position information of smart card between server of bank and personal computer system of bank customer in online banking process, involves determining symbols associated to line surface
DE102009007277A1 (en) 2009-02-03 2010-08-05 Borchert, Bernd, Dr. Method for manipulation-proof transmitting of character string from clients to server in bank via computer network for online accounts, involves transmitting inputted characters to server, and testing inputted characters by server
DE102010031960A1 (en) 2010-07-22 2012-01-26 Bernd Borchert Method for transmitting secret image information to receiver, involves magnifying viewing angle corresponding to respective portions of image with respect to eye of viewer is magnified by refraction effect of transparent medium
US8739261B2 (en) 2011-08-31 2014-05-27 International Business Machines Corporation Dynamically providing algorithm-based password/challenge authentication
US8745712B2 (en) 2011-08-31 2014-06-03 International Business Machines Corporation Dynamically providing algorithm-based password/challenge authentication
WO2014051518A1 (en) * 2012-09-25 2014-04-03 Temasek Polytechnic Security film for revealing a passcode

Also Published As

Publication number Publication date
US20060018467A1 (en) 2006-01-26
US20060031174A1 (en) 2006-02-09
US20060020559A1 (en) 2006-01-26
WO2006020096A3 (en) 2006-08-10

Similar Documents

Publication Publication Date Title
US20060031174A1 (en) Method of authentication and indentification for computerized and networked systems
US8947197B2 (en) Method and apparatus for verifying a person&#39;s identity or entitlement using one-time transaction codes
US8150034B2 (en) Method and system for transmitting data from a first data processing device to a second data processing device
US9224272B2 (en) Method of secure data communication
US8176332B2 (en) Computer security using visual authentication
CN100588156C (en) Method and apparatus for providing electronic message authentication
US20050144449A1 (en) Method and apparatus for providing mutual authentication between a sending unit and a recipient
GB2433147A (en) A method for verifying a person&#39;s identity or entitlement using one-time transaction codes
US7181433B2 (en) Validation of transactions
WO2006095203A1 (en) A method of secure data communication
CA2420239A1 (en) Validation of transactions
US20170103395A1 (en) Authentication systems and methods using human readable media
AU2006200653A1 (en) A digital wallet
Joshi Session passwords using grids and colors for web applications and PDA
Walanjkar et al. User authentication using graphical password scheme: a more secure approach using Mobile Interface
Chaum Numbers can be a better form of cash than paper
AU2001281586B2 (en) Validation of transactions
AU2001281586A1 (en) Validation of transactions
AU2012202723A1 (en) A Method of Secure Data Communication

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase