Bruce Schneier | |||||||||||
Schneier on SecurityA blog covering security and security technology. « NIST Hash Workshop Liveblogging (5) | Main | Using Security Arguments to Further Agenda » November 2, 2005Authenticating People by their Typing PatternThe University of Regensburg in Germany has released authentication software that makes use of the fact that each person's typing behavior is unique. It works by requesting that the person who seeks access to a computer or a password-protected file type a short passage on an ordinary keyboard: the longer the passage, the more reliable the authentication. Posted on November 2, 2005 at 8:06 AM • 53 Comments To receive these entries once a month by e-mail, sign up for the Crypto-Gram Newsletter. David Frier • November 2, 2005 8:57 AM If it works, could this be the one biometric that really can't be spoofed? stacy • November 2, 2005 9:08 AM There is a company flogging a product that uses this idea. Erik Ableson • November 2, 2005 9:09 AM An interesting idea, although there's one area where this breaks down and that's in the international arena where you run across different keyboard layouts. As an anglophone transplanted in France, I'm just starting to get my touch typing speeds back up to where I find them reasonable, and I'm now ruined as a typist on US layout keyboards. Switching back and forth from the english at the house and french at the office has definitely changed my psycho-motor profile for typing. Just something to keep in mind for highly mobile professionals - they'll need about 6 months of acclimatization before they can rekey their typing pattern with any degree of consistency. Tim Vail • November 2, 2005 9:09 AM Perhaps it cannot be spoofed, but it is easily subject to DOS attack. Do something to the person that makes them unable to type like they used to. Aaron • November 2, 2005 9:12 AM For a web application you could have a little java code that runs on the client side that just records the key timings and sends that back to the server side where the code would decide if it matched the user's profile. You could do a hack to replace the client java code but if you don't know the key timing profile you have to match, how does that do you any good? stacy • November 2, 2005 9:17 AM @ Daivd I'm sure it could be spoofed if you have the ability to eavesdrop on the typing. The technique described in http://www.schneier.com/blog/archives/2005/09/... would give you all the information you need. I am sure that there are people around who could listen to the rythm of someone typing and be able to replicate it. Bill P. Godfrey • November 2, 2005 9:18 AM For a replay attack, you'd a hardware keylogger that can replay typing by an external signal (not a command entered by the keyboard) with the same timing as when it was recorded. And physical access to the keyboard port. Arik • November 2, 2005 9:20 AM Heh. This takes me back. I've actually done that way back in the late 1980's on my old trusty Apple ][e, in Applesoft BASIC and some 6502 machine code. I had the user type 3 words and time the keystrokes. The false positive rate was pretty high, as I didn't apply a very sophisticated algorithm for the detection, but for my purposes it was enough. I think I still have the source and my data file on a 180KB 5.25" floppy Matthew Friend • November 2, 2005 9:20 AM I had the opportunity to test this at the Systems in Munich. The system requires the user type in a specific phrase. Unfortunatly (As I understood) the phrase was set globaly and is not really a Password that the user can set. I think this is a weakness since is makes the methode the primary means of security. Spoofing the system would be quite easy... The acustice pattern of the person logging in could easily be gotten from the cubical next store without having line of sight with the keyboard. A person could probably use a low tech approach and simply "practice" with an MP3 player until the rythum fits. Additionaly since it is implemented as a Windows/Linux login or an Applet for Web Apps it still does nothing to protect against key loggers. Now on the posative side... I have a pretty inconsitant "hunt and peck" typing style and I had about a 60/40 success rate. I actualy found this to be quite good for my inconsistant way of typing. I think combining this technologie with a long password, unique to each user would increases security over the password alone. For applications such as Network Appliances that use a web interface this kind of Biometrics is very interesting since is can be used with any Applet capable web Browser. No card reader, fingerprint or DNA analysing hardware needed :-) PS: This post is a natural product. Any misspelled words or gramatical errors cannot be avoided and enhance its natural beauty. Bill P. Godfrey • November 2, 2005 9:23 AM @Me (Bill P. Godfrey) "(not a command entered by the keyboard)" Or, commanded by a keypress that the keylogger does not pass along to the recipient. (Oops) jayh • November 2, 2005 9:27 AM @mathew Friend "60/40" is ok for novelty but can hardly be used for real world authentication. Add to that many users may not be touch typists, may be typing on an unfamiliar keyboard, or in distracting surroundings, or standing vs sitting and it's really just a parlor trick. Eli • November 2, 2005 9:32 AM I'm a touch typist, so that's how I enter passwords, etc. Unless I'm holding my daughter in one arm... then I'm hunt-n-pecking with whichever hand is free. Neat idea. Bad idea. Yvan Boily • November 2, 2005 9:38 AM I wonder how the software compensates for the fact that the more frequently someone types the same phrase, the more efficiently they can type it? One would think that eventually the software will train the users out of a 'pattern' useful for authentication, and furthermore, eventually all users will start to fall into reasonably broad groups of typing speeds. Its a nice experiment, and interesting to note that typing patterns are that personal, but this is snake oil. David Frier • November 2, 2005 9:51 AM @ Bill P Godfrey: Replay attack won't work, you get different challenge text each time. Frank Ch. Eigler • November 2, 2005 9:58 AM "the fact that each person's typing behavior is unique" is stretching. "typing behavior uniqueness" is not a fact just because a self-promotional web page so claims. RSaunders • November 2, 2005 10:10 AM @ Yvan & Frank: I think that the whole question of stability is unexplored by folks advocating this. Typing is a learned behavior, and it requires practice to maintain. That's good evidence that it is not a biometric function of finger bone geometry or something else that is stable. My son is taking a keyboard class in school, and it's made a dramatic improvement in his proficiency in two months. What happens when you take three weeks vacation, or jamb a finger playing basketball after work? This sounds like movie plot security. Bruce Schneier • November 2, 2005 10:10 AM "Replay attack won't work, you get different challenge text each time." But if I can monitor your typing patterns, I can spoof them. This system has the same problems as all biometric systems: you need to trust the path from the biometric -- the fingerprint, the fingers on the keyboard, whatever -- to the verification system. Phillip • November 2, 2005 10:10 AM The replay attacks could be eliminated by requiring a different phrase be typed each time. This would require a longer learning period as the system would have to learn and be able to calculate much about the person's typing habits. For example. It may take me longer to type a "p" if the proceeding character was an "e" than if the proceeding character was an "o". Just my $.02 Anonymous • November 2, 2005 10:49 AM Hey at least that means that hired goons wont be breaking your fingers if they want to get into your computer!! Otto • November 2, 2005 10:59 AM @Phillip, etc. If an attacker already has the ability to record, with high granularity, the inter-keystroke timings, then they probably also have the ability to record what's being typed. With sufficient data, it shouldn't be too hard to inject the correct timing frequencies even if the phrases change for each authentication. All in all, I can't see this being of much use unless the whole system is tamper evident (e.g. an ATM machine). If it is based on commodity PC parts, then a dongle inserted between the keyboard and the PC could record timings and keystrokes easily that could then be incorporated into the hacking tool. The hacking tool would just read the challenge statements and "type" them back using the timings of the target user. Pat Cahalan • November 2, 2005 11:30 AM > Hey at least that means that hired goons wont be breaking your fingers if They'll just break your wife's fingers. People who circumvent security measures in the classic "rubber-hose" sense (do it or I'll break your leg) are pretty good at getting around technical security countermeasures, because they attack the human interface. Alfred Thompson • November 2, 2005 11:31 AM I seem to remember reading several times that trained telegraph operators used to be able to recognize people by the way they transmitted code on the telegraph. During world war II this was seen as a valuable skill for making it harder for imposters to send falsified messages. Not 100% of course and I doubt that any such system could be reliable enough as a sole system for giving access. I don't think I'd trust it. Lally Singh • November 2, 2005 11:37 AM so... how does the system handle me being hung over one day and hypercaffeinated the next? Jim • November 2, 2005 11:44 AM I had previously considered this to be an effective biometric property that could augment traditional authentication. Password + Typing Pattern = authentication. Replay attacks are a problem. The biggest issue in my mind is that if I break one arm, my typing pattern changes and I do not get authenticated. Pat Cahalan • November 2, 2005 12:01 PM @ Barry From a theoretical standpoint, it'd be interesting to see an N-factor authentication system, where you need to pass N-M tests in order to gain access. Someone needs to figure out the optimal values of N and M, though. This is, after all, how we normally identify people -> if someone shaves off a beard, but otherwise sounds and looks like someone I know (and has speech-recognition patterns, etc), then I identify him appropriately, even though he fails one of his biometrics. A schmantzy version would require a challenge on each of the M failures (you sound like Bill, but Bill has a beard, where is your beard?), with some sort of analysis provided on the M failures to predict the likelihood that the target is actually who they claim to be... Yvan Boily • November 2, 2005 12:47 PM @Otto As an extension of what you have said; if the ability to exists to record interstroke timings, it should be reasonably possible based on statistical analysis to determine which keys are being pressed, especially with a technique like this because the ability to use typing abilities as a metric it must be using materials that are on average, consistent with normal typing (i.e. blocks of text in a business unit, lines of codes in development unit, etc). Rhandir • November 2, 2005 1:27 PM @Pat Cahalan Most of the scenarios I see discussed on this blog are single challenge-response events. Keystroke analysis that runs continuously could report to a server a running rating of the likelihood that the person typing is the same user that was authenticated at the beginning of the transaction.* Here's a common scenario: Bob needs to get his secretary onto a network share that he/she isn't authorized to be on, to do some mundane task. Naturally, Bob goes and logs in, turns it over to his secretary, and gets lunch. Given keystroke profiling, Jack the system admin could get an email from the server alerting him that Bob's session doesn't really match up with his usual profile, he can wander down the hall and take a peek at who's sitting at Bob's desk. I guess my point is, that here's a tool that supplys a measure for the "hinky-ness" of someone's behavior, which is probably more valuable than yet another challenge-response setup. If I read Bruce correctly, he's much in favor of evaluating situations for relative levels of "hinky". Dave Friant • November 2, 2005 2:00 PM I have enjoyed reading this morning’s Blog on Keystroke Recognition. My name is Dave Friant and I am with BioPassword. Everyone has raised good questions throughout the discussion this morning. BioPassword has addressed all of the questions that have been raised with management features of our technology including Internet authentication, different types/styles of keyboards, keystroke replay attacks we throw out exact replicas and the input must come from the keyboard interrupt, etc. If anyone is interested in learning more about the technology please feel free to visit the BioPassword website at, www.biopassword.com. If you would like to learn more about the technology please feel free to contact us. BioPassword has patents on Keystroke Recognition technology and the technology can be used with any device where data is input by touching, tapping or typing. This biometric is the perfect biometric for logical access applications. With a false accept rate (FAR) of 0.4% (4 in 1000 attempts), combined with good IT security policies of locking someone out after 3 or 4 unsuccessful attempts, this biometric is virtually un-spoofable. It is the only software-only biometric, it does not require a special device or sensor, user’s do not have to change their behavior to use it or be trained how to use it, it is easy to deploy and manage, it has a very low total-cost-of-ownership and it is the only biometric that can be seamlessly deployed over the Internet. We make MSFT Windows and the Citrix environment secure. We also solve the Internet’s biggest problem of Phishing, Pharming, identity theft and account-hijacking. [comment edited at user's request -- Moderator] PJB • November 2, 2005 2:31 PM I have no idea how well the BioPassword approach works, but one Canadian company has already incorporated this technology into its digital music distribution system see: http://www.musicrypt.com/technology.asp# Koray Can • November 2, 2005 3:29 PM Why is this not "snake oil" ? Look at this claim: "The typing behaviour is a significant and personally individual feature, which cannot be copied." What proof do they have that it is truly unique for each individual ? I know this is not proven for fingerprints or retinas, either, but what is the statistical threshold for acceptance of such a method ? jammit • November 2, 2005 3:31 PM @Dave Friant Rob Mayfield • November 2, 2005 3:48 PM @Dave Friant : "In fact, if you do gain access to my account, BioPassword will give you $10,000. Enough said. Any takers?" Then why not post the password here ? I'm sure plenty of people would be happy to test it. Of course, any decent system wont give away hints as to what failed - "the content" or "the way it was typed" - so theres probably no way of knowing that you'd be testing the way it was typed, it could just be you gave out the wrong password ... jammit • November 2, 2005 4:07 PM @Bruce Schneier Dave Friant • November 2, 2005 4:14 PM Our technology is simply one part of a comprehensive security solution. We simply provide a match score, based on a live typing sample compared with a previously enrolled template, and then a decision is made whether or not to allow access based on the value of the score. Also, a person needs to cooperate with this technology in order for it to verify a person is who they say they are. If you enroll into a system using two hands sitting down you must authenticate using two hands sitting down. The false rejection rate will vary based on a user's level of cooperation. I hope this helps clarify a few of the previous postings. Dave Friant • November 2, 2005 4:19 PM To clarify, the BioPassword $10K challenge is a face-to-face challenge. We ONLY do this at trade shows. This is not something that is done over the Internet online. I do not want to mislead someone regarding this challenge. If you run into us at a trade show please stop by our booth and we will be glad to let you try it. Thanks. 9387t • November 3, 2005 4:03 AM I have heard a talk about keystroke dynamics some 5 years ago. Apparently, the system needed a quite long learning phase to work, but after that worked quite well both for touch-typists and hunt-and-peckers. The systems used static (typos) and dynamic properties (relative timings of pairs and triplets of letters). If you wanted it to be challenge response, the learning period was longer. Replay attacks with the challenge response are possible, of course, but would need a long learning-period and would have to real-time. Sounds difficult to me. jammit • November 3, 2005 10:54 AM Yep, I post again. When will I ever shut up? It seems that the authentication is actually the same learning curve that's needed to hack the system. It's sort of like trying to pass a written signature to an expert who knows how you write. I personally believe it's a decent idea, but only if it's used with another device. I think everybody here can agree that two part authentication is pretty good, but only as good as the security of both authentications. How about having many different ways of authentication, and the computer asks for two different ones? Every time you fail it, the computer asks for two different methods. Yvan Boily • November 3, 2005 1:44 PM @Dave Friant Unfortunatley the offer of $10,000 reward under those conditions is of little value; you have set a specific time constraint (trade show duration), you specify the usage of the technology, and you have a narrow environment for testing (equipment furnished by BioPassword). The majority of research done by security professionals is done with open time constraints, in testing environments, and where the attacker controls all of the variables. This is the only way perform proper research because it not only allows you to verify success, it also allows you to verify failure. What you are proposing is a very constrained penetration test, which is held for marketing purposes, and holds no real value to a researcher, and certainly that type of claim would do little to bolster the confidence of a security professional in your product. Please note that this is not an attack on you, your company, or your product, simply a perspective on the value of offering awards for 'testing' of a security control. No one will dispute the value of defense in depth, but the issue is that this seems to be a highly dubious, closed security control. That sort of thing doesn't sit well with security people. Alen Peacock • November 4, 2005 12:15 PM I am one of the authors of the "Identifying Users from their Typing Patterns" chapter in the recently published 'Security and Usability' O'Reilly book, which is a basic overview of this technology covering the last 30 years or so. Alfred Thompson is right -- some of the original researchers in this area cited telegraph operators' abilities to "authenticate" one another as inspiration, and there are lots of other individual examples of prior art, as Arik illustrated. We also reviewed several of the patents covering this area. Note that BioPassword is aggressive in enforcing them (I'm somewhat surprised that the University of Regensburg has been able to publish their tool). We published a similar survey paper in September 2004 in IEEE Security & Privacy Magazine: Special Issue on Usability and Security. DarkFire • November 7, 2005 12:51 PM How does the system cope with users who are tired and therefore potentially type more slowly or with less accuracy? I know that my accuracy tends to suffer greatly when I'm tired, in a rush etc. The Psylock Team • November 14, 2005 7:21 AM Hello! We are from the Psylock team of the University of Regensburg in Germany. We are doing research on the subject of recognizing people based on their typing behaviour since 1992 and we have already put a lot of effort into our methods. Psylock (Psychometric Locking) is a patented method and is being used for 2 years now by about 20 of my colleagues in their daily work. So far it has never occurred that a user was locked out of his/her account and could not authenticate by means of typing behaviour, despite several sport injuries and things like quitting to smoke. In the following we will comment on what we consider the main questions raised in this thread. Spoofing: The way of hacking Psylock would logically seem a keylogger that would record the user’s typing pattern while authenticating. One way to make such an attack more difficult is to challenge the user with a random sentence every time he/she tries to authenticate, to bring in an element that is not contained in the keylogger’s data. Changes in the typing behaviour: Most evident is the fact that ones’ typing behaviour is naturally fluctuating depending on the mood, the time of day, or other factors. Psylock is checking not only dynamic factors of typing behaviour like the time span between keystrokes, but also stable parameters like the precise order of key-down and key-up events, typical typing mistakes or the way you correct them. This way, the common fluctuations are tolerated by Psylock. After a successful login, Psylock indicates the user the matching score that he/she has reached, so that he/she gets a feedback on how large that fluctuation was. Sometimes, however, it happens that the typing behaviour changes drastically, e.g. as a consequence of an injury. Here, we have several fallback mechanisms. In case the injury is slight, like a cut finger, the program still recognises the user thanks to the afore mentioned stable parameters. In case the injury is harder, like a broken hand, a fallback mechanism can be activated and the user will access the system by means of a special password or another authentication mechanism for some time, and then returns to the Psylock authentication as soon as his hand is cured. In the last case, when the user suffers an injury that will affect his/her typing behaviour for good, the administrator has the possibility of resetting the typing profile, and then the user trains Psylock anew. Of course, even if the user’s hand is not injured he/she can provide the system with additional learning samples whenever he/she wants. Other changes in the typing behaviour can occur in connection with an improvement in typing skills, for example. This is not a problem for Psylock, as its neural network is “learning��? every time the user authenticates. As the user does not learn to type fast within a day, the program will simply follow his/her progresses and keep the profile up to date. Different keyboards do, of course, affect the authentification results. If the keyboards are not too different Psylock would recognise the user with a little bit lower matching score, and then update his/her profile accordingly. This is e.g. usually the case when switching from a standard PC keyboard to a Notebook keyboard. If the keyboards are too different, like metal keyboards in a bank, or language specific keyboards, the user may keep up a separate profile for every type of keyboard. Online demo: Roger • November 14, 2005 6:42 PM A small aside, inspired by Alfred Thompson's remark. I had also heard of WW2 radiotelegraph operators recognising, for example, SOE agents in the field by their keying pattern -- known as their "fist". However until reading "Between Silk and Cyanide" I hadn't realised how sophisticated the process was. A grossly different operator could be recognised by sound alone, but in most cases they used an electromechanical device which automatically plotted a graph (polar, if I recall correctly) as the signal was received. These formed rosette-like patterns unique for each operator and fairly stable, which could then be compared by vgrep against file copies taken while the operator was in training. The system could not detect an agent acting under duress (a problem for many biometrics, of course), but was otherwise extremely difficult to fool, so it at least encouraged the Gestapo to keep the operators alive. Roy Maxion • November 20, 2005 11:41 AM The claims made by both BioPassword and PSYlock are attractive, but I wonder Roy Maxion • November 20, 2005 11:42 AM The claims made by both BioPassword and PSYlock are attractive, but I wonder Daria Ganitcheva • November 26, 2005 2:55 PM @ Roy Maxion: I am part of the Psylock research team. Psylock is the result of almost 13 years of throrough research and extensive field tests, which gives us a vast quantity of data on almost any statistics possible. Carl Weber • November 29, 2005 1:52 AM The method of identifying users by their typing pattern is old. It is availablwe since 1991 by: Daria Ganitcheva, Team Psylock • November 30, 2005 10:31 AM Hello! Mary C • January 18, 2006 9:04 PM I am working on a keystroke recognition system for my doctoral dissertation. This discussion has been very helpful. Dave Kirby • October 4, 2007 4:43 PM I know that this discussion is a little old, but I thought that it would be useful to add that when a key-stroke pattern recognizer is used as part of the authentication process anyone who tries to enter an account by using either the correct or incorrect password will leave a type of personal identifier (their pattern of typing). This residue of the attack might be helpful in locating and prosecuting this common type of intruders. The likelihood of this info being useful for prosecution grows when you consider how frequently those who are trying to break into an account work at the same institution as the person whose account they are trying to use. In this case the intruder's own keying pattern signature will be on file at the institution and can be used to help identify the intruder.
Post a comment
Powered by Movable Type. Photo at top by Geoffrey Stone.
Schneier.com is a personal website. Opinions expressed are not necessarily those of BT. |
|
Comments