May 22

This is an idea that occured to me around about 1992. It’s probably safe to suggest I will never implement it.

By catching all keydown events (importantly, including shift and ctrl), the “flavour” of someone’s typing can be recorded. We have a set of pairs of keys, and the delay between them. These results can be stored in a matrix (a naive illustratoin is below, for having typed “Steve” )

keymatrix.png

 

(oops, ignore the excel cursor)

By maintaining an average over the last, say, 1000 keystrokes, we may be able to identify a person’s typing signature. We can summarise this by a textual signature, e.g. extract the 10 letter sequence containing the fastest transition and having the fastest total time of all possible 10-letter sequences containing that transition. The signature of the above would be somethings like Stevevevev, but I can imagine that over time my signature might be “printherer” or might even contain my low-security password!

By maintaining a short-term average and comparing with a database of matrixes (is a Kohonen net useful here?) we should be able to detect when a user’s typing signature has changed. This might not only reflect user but also task. Desktop wallpaper and quick launch bar could be tailored according to the user’s typing pattern. Remembered passwords can be cleared or re-locked if the machine detects a probability that the user has changed.


7 comments so far...

  • Me Said on May 22nd, 2008 at 09:39:

    After the last few days I suspect that for me it would simply be detecting different moods throughout the day:

    It’s too early. Ooh caffeine. The boss has turned up. Arrrgghhh, one of these days I’m going to remember when it is that they test the fire alarm. What the bleep have those idiots done to my code this time? Is it lunch time yet? Oh no, more documentation to write. Ooh I just figured out how to solve that problem. I have to get this done before I go home.

    Could it be adapted to adjust for known activities throughout the day, like the trying to stay awake after lunch time frame?

  • sweavo Said on May 22nd, 2008 at 11:03:

    Good call, Me. It would be interesting to see how many signatures a person generated and how they correlated with task, time, season, public holidays, etc.

    There could be a lot of factors to normalize for if you wanted reliable identification of an actual user.

    How long until your keyboard driver notices you’re typing slowly and pops up a starbucks advert? Or that you’re making lots of typos and pops up a casino advert…

  • Alistair Said on May 22nd, 2008 at 11:16:

    hmm, jolly clever and all that, but as a security system I think it’s fairly poor.
    I’d lose my rag if firefox forgot all my passwords just cause I was watching TV so typing slower or whatever.

    my favourite user detecty hack is the one where you pair the bluetooth in your phone (if you have one, I don’t) with your computer, and have it unlock your account when you are within range. An ingenious misuse of technology… :)

    fingerprint scanners are better of course, but make sure you follow the advice in the manual :)

    from the section of my laptop manual covering fingerprint scanner option (which I also don’t have)
    “Note that it is STRONGLY recommended that you enroll MORE THAN ONE finger in case of injury” :)

  • sweavo Said on May 22nd, 2008 at 11:55:

    I certainly don’t mean to claim that it’s an adequate security system. It’s certainly inadequate for authentication purposes. It might however be a useful heuristic for de-authentication.

  • rich Said on May 22nd, 2008 at 16:45:

    Interesting concept. It would be fascinating to collect some empirical data from it to see how much the concerns raised in the previous comments are realised.

    (matrices)

  • Around the world with Bilious Blog » So Much For Probability Said on May 23rd, 2008 at 00:02:

    [...] out it wasn’t safe to suggest I would never implement [...]

  • mshacklady Said on May 23rd, 2008 at 19:50:

    Concentrating on typing speed, rather than typing signatures - Could you tie it together to processing speed?

    Set the ‘normal’ level of processor to be 66% and under normal conditions the computer would draw less power and assist novice/child/disabled users by allowing them time to see what’s changing (e.g. a screen just wouldn’t appear instantly, it would slowly expand on to the screen, or fade in), scrolling would be slowed down etc.

    If the computer detected you typing extra fast then it would call up the reserves and up the speed to 100% - giving you that boost to make the computer run at the speed your mind (and fingers) are working.

leave a reply

You must be logged in to post a comment.

 

May 2008
S M T W T F S
« Apr   Jun »
 123
45678910
11121314151617
18192021222324
25262728293031

Archives

Meta