← Back to Patent Explorer
US5557686A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for verification of a computer user's identification, based on keystroke characteristics

Assignee: Benhov GmbH LLC
•
Filing: 1993-01-13
•
Granted: 1996-09-17
•
Expires: 2013-01-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for determining whether a user of a system is an authorized user or an imposter by examining the keystroke characteristics of the user. The authorized user initially enters a number of user training samples on a keyboard. The user training samples are then purified to eliminate training samples which are different from other training samples. The purification can be performed by a self-organizing neural network which has input thereto, authorized user training samples, or both authorized training samples and imposter training samples. The purified user training samples are then compared to a sample to be tested to determine whether the sample is from an authorized user or an imposter. The comparison of the purified samples with the sample to be tested can be performed by a neural network such as a back propagation trained network, an ADALINE unit, a distance method or a linear classifier, discriminate function, or piecewise linear classifier. The result of this testing step indicates whether the user is authorized or an imposter and the user can be granted or denied access to the system.

Inventors

  • 👤 Marcus E. Brown
  • 👤 Samuel J. Rogers

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 14:15
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/30; G06F21/31; G06F21/316; G07; G07C; G07C9/00; G07C9/30; G07C9/32; G07C9/33

Claims Analysis

Total Claims: 57
Claim 1
Independent Claim 138 words
A method for verifying whether a user of a system is authorized using keystroke information, comprising the steps: creating user training signals from keystroke characteristics of the user, each of said user training signals including a plurality of different portions constructed from keystrokes; purifying said user training signals by determining variances of the portions of the user training signals, and discarding a same portion of each of said user training signals when the variance of said same portion is above a predetermined threshold; inputting a signal to be tested containing keystroke data; determining a similarity between the input signal to be tested and the purified user training signals; and allowing access to the system if said input signal to be tested and said purified user training signals are determined to have at least a predetermined threshold of similarity.
Claim 2
Independent Claim 138 words
A method for verifying whether a user of a system is authorized using keystroke information, comprising the steps: creating user training signals from keystroke characteristics of the user, each of said user training signals including a plurality of different portions constructed from keystrokes; purifying said user training signals by determining variances of the portions of the user training signals, and discarding a same portion of each of said user training signals when the variance of said same portion is above a predetermined threshold; inputting a signal to be tested containing keystroke data; determining a similarity between the input signal to be tested and the purified user training signals; and allowing access to the system if said input signal to be tested and said purified user training signals are determined to have at least a predetermined threshold of similarity.
Claim 3
Dependent Claim 53 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 1, further comprising the step: creating imposter training signals from a keystroke source; and wherein the purifying step examines both said imposter training signals and said user training signals to purify said user training signals.
Claim 4
Dependent Claim 45 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 2, wherein the purifying step uses a self-organizing neural network to group said imposter training signals and said user training signals into clusters having similar keystroke characteristics.
Claim 5
Dependent Claim 55 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 2, further comprising the step of: training an ADALINE processing element using said purified signals and said imposter signals; and wherein said step of determining a similarity uses the trained ADALINE processing element to determine said similarity.
Claim 6
Dependent Claim 57 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 2, further comprising the step of: training a back propagation neural network using said purified signals and said imposter signals; and wherein said step of determining a similarity uses the trained back propagation neural network to determine said similarity.
Claim 7
Dependent Claim 68 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 1, wherein the determining step uses a distance method to determine a distance between a vector representative of the signal to be tested and a vector representative of at least one user training signal and if said determined distance is less than a predetermined distance, allowing access to the system.
Claim 8
Dependent Claim 51 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 1, further comprising the step of: determining time periods between keystrokes used to create said user training and input signals; and wherein each of said signals comprises information relating to said timing periods.
Claim 9
Dependent Claim 29 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 7, wherein each of said signals comprises digraph latency time information.
Claim 10
Dependent Claim 30 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 8, wherein each of said signals further comprises key hold time information.
Claim 11
Dependent Claim 52 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 1, further comprising the step: prohibiting access to the system if said input signal to be tested and said purified user training signals are determined to have less than said predetermined threshold of similarity.
Claim 12
Dependent Claim 55 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 1, further comprising the step: updating a profile of the purified user training signals by adjusting the profile using the input signal when the input signal is determined to have at least said predetermined threshold of similarity.
Claim 13
Independent Claim 170 words
An apparatus for verifying whether a user of a system is authorized using keystroke information, comprising: a keyboard; means for creating user training samples from keystroke characteristics of the user, including at least one of a timer for determining timing characteristics of keystrokes and pressure sensors for detecting pressure characteristics of keystrokes, each of said user training samples including a plurality of different portions constructed from keystrokes; means for purifying said user training samples by determining variances of the portions of the user training samples, and discarding a same portion of each of said user training samples when the variance of said same portion is above a predetermined threshold; means for inputting a sample to be tested containing keystroke characteristics; means for determining a similarity between the input sample to be tested and the purified user training samples; and means for allowing access to the system if said input sample to be tested and said purified user training samples are determined to have at least a predetermined threshold of similarity.
Claim 14
Independent Claim 170 words
An apparatus for verifying whether a user of a system is authorized using keystroke information, comprising: a keyboard; means for creating user training samples from keystroke characteristics of the user, including at least one of a timer for determining timing characteristics of keystrokes and pressure sensors for detecting pressure characteristics of keystrokes, each of said user training samples including a plurality of different portions constructed from keystrokes; means for purifying said user training samples by determining variances of the portions of the user training samples, and discarding a same portion of each of said user training samples when the variance of said same portion is above a predetermined threshold; means for inputting a sample to be tested containing keystroke characteristics; means for determining a similarity between the input sample to be tested and the purified user training samples; and means for allowing access to the system if said input sample to be tested and said purified user training samples are determined to have at least a predetermined threshold of similarity.
Claim 15
Dependent Claim 47 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 12, further comprising: means for creating imposter training samples from a keystroke source; and wherein the purifying means examines both said imposter training samples and said user training samples.
Claim 16
Dependent Claim 45 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 13, wherein the purifying means comprises a self-organizing neural network for grouping said imposter training samples and said user training samples into clusters having similar keystroke characteristics.
Claim 17
Dependent Claim 51 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 13, further comprising: means for training an ADALINE processing element using said purified samples and said imposter samples; and wherein said determining means uses the trained ADALINE processing element to determine said similarity.
Claim 18
Dependent Claim 53 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 13, further comprising: means for training a back propagation neural network using said purified samples and said imposter samples; and wherein said determining means uses the trained back propagation neural network to determine said similarity.
Claim 19
Dependent Claim 69 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 12, wherein the determining means uses a distance determining method to determine a distance between a vector representative of the sample to be tested and a vector representative of at least one user training sample and if said determined distance is less than a predetermined distance, allowing access to the system.
Claim 20
Dependent Claim 38 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 12, wherein said means for creating user training samples create said user training samples to have digraph latency time information.
Claim 21
Dependent Claim 38 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 18, wherein said means for creating user training samples creates said user training samples to have key hold time information.
Claim 22
Dependent Claim 52 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 12, further comprising: means for prohibiting access to the system if said input sample to be tested and said purified user training samples are determined to have less than said predetermined threshold of similarity.
Claim 23
Dependent Claim 55 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 12, further comprising: means for updating a profile of the purified user training samples by adjusting the profile using the input sample when the input sample is determined to have at least said predetermined threshold of similarity.
Claim 24
Independent Claim 173 words
A method for verifying whether a user of a system is authorized using keystroke information, comprising the steps: creating user training signals from keystroke characteristics of the user, each of said user training signals including a plurality of different portions constructed from keystrokes; creating imposter training signals from a keystroke source; purifying said user training signals by determining variances of the portions of the user training signals, and discarding a same portion of each of said user training signals when the variance of said same portion is above a predetermined threshold; training an ADALINE processing element using said user training signals and said imposter training signals; inputting a signal to be tested contain keystroke data; determining a similarity between the input signal to be tested and the purified user training signals using said trained ADALINE processing element; and allowing access to the system if said input signal to be tested and said purified user training signals are determined to have at least a predetermined threshold of similarity using said trained ADALINE processing element.
Claim 25
Independent Claim 173 words
A method for verifying whether a user of a system is authorized using keystroke information, comprising the steps: creating user training signals from keystroke characteristics of the user, each of said user training signals including a plurality of different portions constructed from keystrokes; creating imposter training signals from a keystroke source; purifying said user training signals by determining variances of the portions of the user training signals, and discarding a same portion of each of said user training signals when the variance of said same portion is above a predetermined threshold; training an ADALINE processing element using said user training signals and said imposter training signals; inputting a signal to be tested contain keystroke data; determining a similarity between the input signal to be tested and the purified user training signals using said trained ADALINE processing element; and allowing access to the system if said input signal to be tested and said purified user training signals are determined to have at least a predetermined threshold of similarity using said trained ADALINE processing element.
Claim 26
Dependent Claim 45 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 22, wherein the purifying step uses a self-organizing neural network to group said imposter training signals and said user training signals into clusters having similar keystroke characteristics.
Claim 27
Dependent Claim 44 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 22, wherein the purifying step performs a statistical analysis to eliminate at least one user training signal which is statistically different from other user training signals.
Claim 28
Dependent Claim 47 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 22, further comprising the step of: determining time periods between keystrokes used to create said signals; and wherein each of said signals comprises information relating to said time signals.
Claim 29
Dependent Claim 29 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 22, wherein each of said signals comprises digraph latency time information.
Claim 30
Dependent Claim 30 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 26, wherein each of said signals further comprises key hold time information.
Claim 31
Dependent Claim 52 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 22, further comprising the step: prohibiting access to the system if said input signal to be tested and said purified user training signals are determined to have less than said predetermined threshold of similarity.
Claim 32
Dependent Claim 55 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 22, further comprising the step: updating a profile of the purified user training signals by adjusting the profile using the input signal when the input signal is determined to have at least said predetermined threshold of similarity.
Claim 33
Independent Claim 225 words
An apparatus for verifying whether a user of a system is authorized using keystroke information, comprising: a keyboard; means for creating user training samples from keystroke characteristics of the user, including at least one of a timer for determining timing characteristics of keystrokes, pressure sensors for detecting pressure characteristics of keystrokes, and accelerometers for detecting acceleration characteristics of keystrokes, each of said user training samples including a plurality of different portions constructed from keystrokes; means for creating imposter training samples from a keystroke source; means for purifying said user training samples by determining variances of the portions of the user training samples, and discarding a same portion of each of said user training samples when the variance of said same portion is above a predetermined threshold; means for training an ADALINE processing element using said user training samples and said imposter training samples; means for inputting a sample to be tested containing keystroke characteristics; means for determining a similarity between the input sample to be tested and the purified user training samples, said means for determining including said trained ADALINE processing element; and means for allowing access to the system if said input sample to be tested and said purified user training samples are determined to have at least a predetermined threshold of similarity by said means for determining including said trained ADALINE processing element.
Claim 34
Independent Claim 225 words
An apparatus for verifying whether a user of a system is authorized using keystroke information, comprising: a keyboard; means for creating user training samples from keystroke characteristics of the user, including at least one of a timer for determining timing characteristics of keystrokes, pressure sensors for detecting pressure characteristics of keystrokes, and accelerometers for detecting acceleration characteristics of keystrokes, each of said user training samples including a plurality of different portions constructed from keystrokes; means for creating imposter training samples from a keystroke source; means for purifying said user training samples by determining variances of the portions of the user training samples, and discarding a same portion of each of said user training samples when the variance of said same portion is above a predetermined threshold; means for training an ADALINE processing element using said user training samples and said imposter training samples; means for inputting a sample to be tested containing keystroke characteristics; means for determining a similarity between the input sample to be tested and the purified user training samples, said means for determining including said trained ADALINE processing element; and means for allowing access to the system if said input sample to be tested and said purified user training samples are determined to have at least a predetermined threshold of similarity by said means for determining including said trained ADALINE processing element.
Claim 35
Dependent Claim 45 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 30, wherein the purifying means comprises a self-organizing neural network for grouping said imposter training samples and said user training samples into clusters having similar keystroke characteristics.
Claim 36
Dependent Claim 44 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 30, wherein the purifying means performs a statistical analysis to eliminate at least one user training sample which is statistically different from other user training samples.
Claim 37
Dependent Claim 38 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 30, wherein said means for creating user training samples creates said user training samples to have digraph latency time information.
Claim 38
Dependent Claim 39 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 33, wherein said means for creating user training samples creates said user training samples to further have key hold time information.
Claim 39
Dependent Claim 52 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 30, further comprising: means for prohibiting access to the system if said input sample to be tested and said purified user training samples are determined to have less than said predetermined threshold of similarity.
Claim 40
Dependent Claim 55 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 30, further comprising: means for updating a profile of the purified user training samples by adjusting the profile using the input sample when the input sample is determined to have at least said predetermined threshold of similarity.
Claim 41
Independent Claim 176 words
A method for verifying whether a user of a system is authorized using keystroke information, comprising the steps: creating user training signals from keystroke characteristics of the user, each of said user training signals including a plurality of different portions constructed from keystrokes; creating imposter training signals from a keystroke source; purifying said user training signals by determining variances of the portions of the user training signals, and discarding a same portion of each of said user training signals when the variance of said same portion is above a predetermined threshold; training a back propagation neural network using said user training signals and said imposter training signals; inputting a signal to be tested containing keystroke characteristics; determining a similarity between the input signal to be tested and the purified user training signals using said trained back propagation neural network; and allowing access to the system if said input signal to be tested and said purified user training signals are determined to have at least a predetermined threshold of similarity using said trained back propagation neural network.
Claim 42
Independent Claim 176 words
A method for verifying whether a user of a system is authorized using keystroke information, comprising the steps: creating user training signals from keystroke characteristics of the user, each of said user training signals including a plurality of different portions constructed from keystrokes; creating imposter training signals from a keystroke source; purifying said user training signals by determining variances of the portions of the user training signals, and discarding a same portion of each of said user training signals when the variance of said same portion is above a predetermined threshold; training a back propagation neural network using said user training signals and said imposter training signals; inputting a signal to be tested containing keystroke characteristics; determining a similarity between the input signal to be tested and the purified user training signals using said trained back propagation neural network; and allowing access to the system if said input signal to be tested and said purified user training signals are determined to have at least a predetermined threshold of similarity using said trained back propagation neural network.
Claim 43
Dependent Claim 45 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 37, wherein the purifying step uses a self-organizing neural network to group said imposter training signals and said user training signals into clusters having similar keystroke characteristics.
Claim 44
Dependent Claim 44 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 37, wherein the purifying step performs a statistical analysis to eliminate at least one user training signal which is statistically different from other user training signals.
Claim 45
Dependent Claim 47 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 37, further comprising the step of: determining time periods between keystrokes used to create said signals; and wherein each of said signals comprises information relating to said time periods.
Claim 46
Dependent Claim 29 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 40, wherein each of said signals comprises digraph latency time information.
Claim 47
Dependent Claim 30 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 41, wherein each of said signals further comprises key hold time information.
Claim 48
Dependent Claim 52 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 37, further comprising the step: prohibiting access to the system if said input signal to be tested and said purified user training signals are determined to have less than said predetermined threshold of similarity.
Claim 49
Dependent Claim 55 words
A method for verifying whether a user of a system is authorized using keystroke information according to claim 37, further comprising the step: updating a profile of the purified user training signals by adjusting the profile using the input signal when the input signal is determined to have at least said predetermined threshold of similarity.
Claim 50
Independent Claim 221 words
An apparatus for verifying whether a user of a system is authorized using keystroke information, comprising: a keyboard; means for creating user training samples from keystroke characteristics of the user including at least one of a timer for determining timing characteristics of keystrokes and pressure sensors for detecting pressure characteristics of keystrokes, each of said user training samples including a plurality of different portions constructed from keystrokes; means for creating imposter training samples from a keystroke source; means for purifying said user training samples by determining variances of the portions of the user training samples, and discarding a same portion of each of said user training samples when the variance of said same portion is above a predetermined threshold; means for training a back propagation neural network using said user training samples and said imposter training samples; means for inputting a sample to be tested containing keystroke characteristics; means for determining a similarity between the input sample to be tested and the purified user training samples, said means for determining including said trained back propagation neural network; and means for allowing access to the system if said input sample to be tested and said purified user training samples are determined to have at least a predetermined threshold of similarity by said means for determining including said trained back propagation neural network.
Claim 51
Independent Claim 221 words
An apparatus for verifying whether a user of a system is authorized using keystroke information, comprising: a keyboard; means for creating user training samples from keystroke characteristics of the user including at least one of a timer for determining timing characteristics of keystrokes and pressure sensors for detecting pressure characteristics of keystrokes, each of said user training samples including a plurality of different portions constructed from keystrokes; means for creating imposter training samples from a keystroke source; means for purifying said user training samples by determining variances of the portions of the user training samples, and discarding a same portion of each of said user training samples when the variance of said same portion is above a predetermined threshold; means for training a back propagation neural network using said user training samples and said imposter training samples; means for inputting a sample to be tested containing keystroke characteristics; means for determining a similarity between the input sample to be tested and the purified user training samples, said means for determining including said trained back propagation neural network; and means for allowing access to the system if said input sample to be tested and said purified user training samples are determined to have at least a predetermined threshold of similarity by said means for determining including said trained back propagation neural network.
Claim 52
Dependent Claim 45 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 45, wherein the purifying means comprises a self-organizing neural network for grouping said imposter training samples and said user training samples into clusters having similar keystroke characteristics.
Claim 53
Dependent Claim 44 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 45, wherein the purifying means performs a statistical analysis to eliminate at least one user training sample which is statistically different from other user training samples.
Claim 54
Dependent Claim 38 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 45, wherein said means for creating user training samples creates said user training samples to have digraph latency time information.
Claim 55
Dependent Claim 39 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 48, wherein said means for creating user training samples creates said user training samples to further have key hold time information.
Claim 56
Dependent Claim 52 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 45, further comprising: means for prohibiting access to the system if said input sample to be tested and said purified user training samples are determined to have less than said predetermined threshold of similarity.
Claim 57
Dependent Claim 55 words
An apparatus for verifying whether a user of a system is authorized using keystroke information according to claim 45, further comprising: means for updating a profile of the purified user training samples by adjusting the profile using the input sample when the input sample is determined to have at least said predetermined threshold of similarity.

References Cited (Backward Citations)

US4410957A Cited
US4621334A Cited
US4998279A Cited
US4805222A Cited
US4937778A Cited
US5056141A Cited
US4962530A Cited
US5048100A Cited
US5040134A Cited
US5113483A Cited
US5131054A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-09-17 2000-03-18 2000-09-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-09-17 2004-03-18 2004-09-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-09-17 2008-03-18 2008-09-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag