Slashdot Mirror


New Authentication Scheme Proposed

jerel brings us a story about a prototype authentication system which approaches security from an atypical angle. It focuses on hiding identity challenges from attackers in addition to the responses. The system, Undercover [PDF], "uses a combination of visual and tactile signals in the authentication process." "The system displays a set of images to the user and asks if any belongs to the image portfolio that the user had previously selected. At the same time, the trackball sends the user a signal that maps each button on the case to a certain answer. The user's hand must cover the trackball for it to operate, so a sneaky observer wouldn't be able to see his or her selections, or answers. So a would-be attacker can't 'see' the tactile challenge presented by the trackball and therefore doesn't get the user's authentication data, even though he or she could see the image challenge on the display."

102 comments

  1. And within a month by dreamchaser · · Score: 1, Insightful

    And within a month, someone will figure out a way to crack it. It's inevitable.

    1. Re:And within a month by morgan_greywolf · · Score: 2, Informative

      And within a month, someone will figure out a way to crack it. It's inevitable. Obvious. It's vulnerable to some of the same techniques that passwords are vulnerable -- sniffing (assuming no encryption was also used), man-in-the-middle, keyboard (mouse) sniffer, malicious code, etc.
    2. Re:And within a month by Yetihehe · · Score: 1

      Maybe using directional microphone to listen for characteristic noise of vibrating trackball? See, you didn't have to wait whole month.

      --
      Extreme Programming - Redundant Array of Inexpensive Developers
    3. Re:And within a month by poopdeville · · Score: 1

      On the other hand, it has it's uses. There's not much reason why I should have to press my PIN into a publicly visible terminal when I use an ATM.

      --
      After all, I am strangely colored.
    4. Re:And within a month by morgan_greywolf · · Score: 1

      On the other hand, it has it's uses. There's not much reason why I should have to press my PIN into a publicly visible terminal when I use an ATM. Thieves could just setup a digital camera at a commonly-used ATM, and then capture all the pictures. Eventually they'd figure out which ones belonged to which users.

    5. Re:And within a month by tkinnun0 · · Score: 1

      If you have one, you can use your wallet to cover your hand and the keypad.

    6. Re:And within a month by Sancho · · Score: 1

      I do this. My right hand types in my PIN, while my left hand provides cover. I get funny looks from people who are nearby, but that just justifies me.

      Then again, I'm pretty paranoid about ATM use. Typically, I only go to the one at my bank, and I check it for signs of tampering before I use it. I'm familiar with the machine, so I'm hoping that if an outer casing was placed on top of it, I'd notice.

    7. Re:And within a month by sempernoctis · · Score: 1

      Hasn't this problem been solved already with two-factor authentication? You have a token that has a short numeric code that changes every minute or so, and your password is a combination of a secret PIN and the number on the device. Or, for the poor-man's-version, you have a series of one-time PINs written down (or printed out) so that the credentials you use to authenticate yourself can only be used once. I have been using a system like this on one of my servers for a couple years now. One major limitation to the proposed system is that you have to have a specialized hardware device attached to whatever system you're authenticating with (and the software needs direct access to it). Biometrics (like the fingerprinting mentioned in another response) are another form of two-factor authentication that would work in situations where specialized hardware is not a problem.

    8. Re:And within a month by mrxak · · Score: 1

      They still need to steal your card though, and unless you're pretty careless you'll notice when they do, and then you can call your bank and have your card deactivated. This strikes me as a little less secure than an ATM.

  2. Perfect solution. by v(*_*)vvvv · · Score: 1

    For all those hackers lined up behind me, looking into my monitor!

  3. Not only is it obvius how to crack it ... by tomhudson · · Score: 0, Offtopic

    ... but I HATE trackballs!

  4. Re:This is the way to use a blog properly by Xiph · · Score: 1

    For some obscure reason, i accidentally posted this in the wrong thread... please mod parent down (off topic) thank you :/

    ps. Also, i left out the "profit" step

    --
    Blah blah sig blah blah blah irony blah blah
  5. Re:This is the way to use a blog properly by dreamchaser · · Score: 1

    That's ok, you didn't get first post anyways.

    (I did the same thing once btw, don't feel bad :-) )

  6. What I`d like to see by Anonymous Coward · · Score: 0

    .. is some kind of RSA Keyfob-esq authentication at the ATM. Someone sees my pin.. no biggie.. it's invalid as soon as I use it!

  7. For increased portability... by sakdoctor · · Score: 5, Funny

    ...I suggest a booth with a dance dance revolution mat inside.
    When the user is asked to enter their password they enter the booth, shut the door and strut their funky password.

    1. Re:For increased portability... by Tolkien · · Score: 2, Funny

      Employer: Is your password really that long? Come on! Hurry up and finish already.
      Me(from within the booth after 5 minutes of dancing): Ssssh, I'm trying to concentrate - this is the best part!

  8. 3 factor authentication and one time pad by Depili · · Score: 2, Informative

    Why oh why develop new fancy ways to authenticate that still rely on a one factor (the image portfolio) when 3 factor authentication (eg. username + password + one time pad with challenge and response codes) just works, as snooping the username and pw doesn't give you the one time pad with challenges and responses, and stealing the pad doesn't give you the username and pw.

    That is the principal method of authentication used by web banks atleast in Finland and other sensible countries :)

    1. Re:3 factor authentication and one time pad by Anonymous Coward · · Score: 2, Informative

      Wouldn't that only be two factor authentication? Username and password only count as one factor (something you know) and the pad is the second factor (something you have.) In order to be three factor you would also need something you are.

    2. Re:3 factor authentication and one time pad by mollymoo · · Score: 1

      This is for ATMs, so the "thing you have" is the card rather than a one-time-pad, but otherwise and it works pretty much as you describe. The need for a different "password" entry system is that it's trivial to shoulder-surf a PIN and then obtain the card by distracting the person and taking their card as it is ejected from the machine, picking their pocket, stealing their bag, beating the crap out of them...

      --
      Chernobyl 'not a wildlife haven' - BBC News
    3. Re:3 factor authentication and one time pad by Sancho · · Score: 1

      This is why a security fob would be useful.

      Enter your PIN on the fob, get a code. Swipe your card, enter your card's PIN, enter the PIN from your fob, and you're in. To make it easier on the user, allow them to enter the PINs in any order.

      Most users will use the same PIN for both devices--that's their fault. Some users will enter their fob PIN in full view of the security camera--again, their fault. At least people who care about their information will be capable of doing it securely, unlike the current system.

  9. Keypad by mpickut · · Score: 5, Interesting

    I've seen keypads with digital readout on the keys used in jails (my job takes me in and out of jails frequently). The keypad scrambles the digits each time and there is a prism-type covering over the keys so that unless you are looking directly at it you cannot see the numbers on each key. In order to see the numbers you need to stand in such a way that no one else can see them (your head blocks their view from the only angle the numbers are readable from).

    I tried to get the code by watching as the guards let me in and out, just to see how effective it was, and can say that I never succeeded in even getting close. What was even better is that from talking to the offenders I learned that they thought they knew the codes by watching the patterns the keys were pressed by the guards -- I didn't have the heart to tell them that using the pattern they had watched would actually punch in a different code than the one the guards used. I did make sure one of the guards knew about it though.

    --
    Sigs are for losers.
    1. Re:Keypad by anothy · · Score: 5, Funny

      my job takes me in and out of jails frequently
      yeah, that and the early burnout are the two big problems with a career in the narcotics trade.

      on the upside, you get to set your own hours.
      --

      i speak for myself and those who like what i say.
    2. Re:Keypad by MrMonty · · Score: 1

      I bet some of those guards say the numbers to themselves as they type them in and wouldn't be too tough to read their lips. That idea came to me in a matter of seconds. Now imagine you're in jail and have practically all day to think of other, more creative methods of getting the code.
      Telling you they thought they knew the code was stupid... unless it was misdirection to cause the guards to change their behavior because they knew you'd tell the guards.

    3. Re:Keypad by Eternauta3k · · Score: 1

      (my job takes me in and out of jails frequently)
      Burglar?
      --
      Yeah. Would you choose a neurosurgeon who pokes around people's brains in his spare time? I wouldn't.
    4. Re:Keypad by RationalRoot · · Score: 1

      They brought them in to my college (more than a few years ago)

      They lasted less than a month. We had quite a few blind students who really didn't like the system.

      Of course if you had dynamic brail buttons...
      D

      --
      http://davesboat.blogspot.com/
    5. Re:Keypad by rickb928 · · Score: 1

      Hey, he (?) may not be a drug dealer. He might be a lawy...

      Never mind, you were pretty much on the right track...

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    6. Re:Keypad by mpickut · · Score: 4, Funny

      Don't you dare call me a lawyer! We heroin addicts have enough of a image problem without being linked to those soulless drains upon society. At least if you made heroin legal we would stop stealing and stay to ourselves.

      --
      Sigs are for losers.
    7. Re:Keypad by mpickut · · Score: 1

      No, they were just stupid.

      By and large I've found that the reason we say crime doesn't pay is that we only catch the dumb ones.

      As I like to say, "crime doesn't pay, but only because when it does we call it politics."

      --
      Sigs are for losers.
    8. Re:Keypad by Anonymous Coward · · Score: 0

      The keypads you're talking about are Hirsch ScramblePads. They're expensive, but they require basically no user training and completely solve the problem of having a numeric code compromised by an unauthorized observer.

      They're used in a lot of different locations. I've seen them on military bases, in airports, and even in a nearby shopping center.

    9. Re:Keypad by jafac · · Score: 1

      Yes; I know of a keypad like that, used at a former employer, as well. Very secure.

      Except that they gave everybody and their brother the code.

      And over the two years I was there, it was never changed.

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
  10. Small sample size by ssjx · · Score: 2, Interesting

    They seem to have big plans for this yet have only tested it with 38 users?

    --
    Visit ssjx.co.uk
  11. !security by shadoelord · · Score: 1

    What stops someone from installing a 'keylogger' (albeit for a track ball)? Its a cute idea, but slight of hand only goes so far.

    --
    this is my sig, there are many like it, but this one is mine.
  12. Image Portfolio? Err..... by Anonymous Coward · · Score: 0

    "The system displays a set of images to the user and asks if any belongs to the image portfolio that the user had previously selected"

    Heh, finally a use for all that porn I've amassed.

    Hm, combined with tactile feedback too? This could be very interesting.

  13. Re:The classic Encryption communication turned aro by thomasdz · · Score: 3, Funny

    Aww crap... sorry... I thought TFA was about Encryption, not Authentication... so instead of a potential +5 Funny, I get a -1 Irrelevant.
    That's what I get for posting at 5:30am before I've had my caffeine.

    --
    Karma: Excellent. 15 moderator points expire sometime.
  14. This would NEVER work out by brunes69 · · Score: 2, Insightful

    It is a cool idea, that is for sure, but it would never leave the lab. Why? Because these guys are obviously not usability engineers. The idea that the function of a button changes based on some random event, and the system will tell you which button means what before you click it, is not usable.

    I would like to see a formal usability study done on this thing I don't think it would get very far. I see they had some informal study going on where they had participation and error rates, but no data on what kind of users.

  15. Bandwidth by Anonymous Coward · · Score: 0

    Seems to me that having the ATM download a set of images every time someone logs in is gonna suck bandwidth wise.

  16. Rotating keypad by mindflow · · Score: 1

    How about having a rotating keypad on the computer screen? So when typing your pin, you must map the number on your numberpad to the one on the screen? So the actual input is different from your pin all the way.

    1. Re:Rotating keypad by apathy+maybe · · Score: 1

      Screen recorder.

      If your attacker can install software on the machine (e.g. keylogger), then they can just install a screen recorder and set it to run whenever certain software is run (such as your rotating keypad program). (That would be to limit the amount of crap that has to be saved).

      Oh well.

      --
      I wank in the shower.
    2. Re:Rotating keypad by somersault · · Score: 1

      If you have managed to install a program on an ATM then I don't think you need to bother with any program other than one to operate the bit where the money comes out..? I have been saddened and amused before upon seeing ATMs with BSODs, and one with a Windows desktop on it. I thought that they'd use custom systems..

      --
      which is totally what she said
  17. Overly complicated by ddrichardson · · Score: 3, Insightful

    The problem with this type of system is that in order to protect the data you are asking the user to go through much more of a rigmarole than entering a password. Here in lies the problem, users will hate this, I mean good security practice is a balance of securing against likely threats and practicality.

    I can't see what this does that a fingerprint scanner doesn't. I could be wrong but I can't think of a way to use a keylogger to capture it and it certainly stops someone looking over your shoulder.

    --
    A thistle is a fat salad for an ass's mouth...
    1. Re:Overly complicated by mollymoo · · Score: 1

      I can't see what this does that a fingerprint scanner doesn't.

      For one thing, I don't think you could could fool this with a gummy bear.

      --
      Chernobyl 'not a wildlife haven' - BBC News
  18. This isn't that new... by Dr.+Smoove · · Score: 1

    My bank has been doing this for about a half a year now. It's just a slight spin off from CAPTCHA or whatever the hell the acronym is.

    --
    "If you plant ice, you're gonna harvest wind."
    1. Re:This isn't that new... by Dr.+Smoove · · Score: 1

      I mean, Minus the trackball hiding part. I guess that's what makes this new?

      --
      "If you plant ice, you're gonna harvest wind."
  19. Lego Mindstorm? by sjaguar · · Score: 1

    Okay, I guess that is slightly more useful than what I've used my Mindstorm kit for.

    --
    If at first you don't succeed, call it version 1.0.
  20. GrIDsure Re:Keypad by rapoZa · · Score: 1

    Someone I know has developed a similar system that uses a standard, fixed position keypad: The screen (ATM, mobile phone, point-of-sale etc) displays a grid and superimposes jumbled up and repeated numbers over the spaces. Using your secret _pattern_ that is known to the authentication service, you type in the corresponding numbers. Even if someone sees the numbers you type, it is difficult to determine your secret pattern because of duplicate positions for the same number. It's called GrIDsure.

  21. Yeah, but the real question is... by Prototerm · · Score: 4, Funny

    Would I be able to still fit my password on that yellow sticky note I keep on the monitor?

    --
    "My country, right or wrong; if right, to be kept right; and if wrong, to be set right." --Senator Carl Schurz (1872)
  22. The problem with authentication is authentication by naasking · · Score: 2, Insightful

    Authentication is a broken concept. Anybody who knows anything about security knows this. Focusing on authorization, not authentication, is the only way to secure anything.

  23. Similar work by jihadi_neu · · Score: 0

    CAPTCHAs can also be used to hide input from hackers: http://ece.uprm.edu/~andre/publications/Khap_scientia.pdf

  24. Re:The classic Encryption communication turned aro by thePowerOfGrayskull · · Score: 1

    Nonetheless, a smooth recovery...

  25. Redundant? by Anonymous Coward · · Score: 0

    Interesting that a first post can be redundant...

  26. Re:The problem with authentication is authenticati by Psiren · · Score: 3, Insightful

    Authentication is a broken concept. Anybody who knows anything about security knows this. Focusing on authorization, not authentication, is the only way to secure anything. How can your authorize something, unless you know who you're authorizing? The two go hand in hand, I can't see how you can have one without the other.
  27. Re:slashdottagsmakemesmile by sam_paris · · Score: 0, Offtopic

    I was the person who tagged this "slashdottagsareamystery" and it showed up as a tag. I assume I was the only person who tagged it as this.. I guess i'm just special.. :)

  28. Re:slashdottagsmakemesmile by rickb928 · · Score: 1

    You ARE special.

    Just like everybodyu else.

    --
    deleting the extra space after periods so i can stay relevant, yeah.
  29. This idea is stupid. by rickb928 · · Score: 1

    A trackball? Multiple keys? Sure, they got a great idea for selling lots of mouse replacements. And really just for authentication.

    How about a biometric scanner? Oh, wait, that's beatable. Iris scanner? Too expensive. And strong passwords really don't work - just have someone steal the database.

    It's just stupid.

    --
    deleting the extra space after periods so i can stay relevant, yeah.
  30. Re:The problem with authentication is authenticati by naasking · · Score: 3, Informative

    How can your authorize something, unless you know who you're authorizing?

    You've asked the right question. You can find an intro here. That article links to arguably the best authorization scheme: capability-based security, where authorization is combined with designation. This results in many useful security properties that aren't achievable via authentication schemes.

  31. Just use Crypto by Strilanc · · Score: 1

    It's about time we start applying better crypto techniques. There is no need to reveal your entire PIN when you use an ATM. For example your PIN could increase by [1 to 32] every time you use it. Now someone needs to observe you twice in a row to get the PIN.

    The obvious limitation is the human capacity for math.

  32. Re:The problem with authentication is authenticati by Psiren · · Score: 1

    Interesting, but I still don't see how that makes authentication unnecessary, at best it just seems another name for it. And I don't really see how it's applicable to everyday tasks such as, for example, access control on buildings or online banking.

  33. Re:The problem with authentication is authenticati by gandhi_2 · · Score: 1
    "Anyone who knows security knows this"

    ...should be read as "anyone who agrees with me knows this".

  34. eye tracking would defeat this by Anonymous Coward · · Score: 0

    I didn't RTFA, but it seems as if simply observing the direction of the user's gaze (either informally or possibly with more sophisticated and automated means) could easily betray which of the images is familiar to the user.

  35. Re:The problem with authentication is authenticati by mea37 · · Score: 1

    This is interesting material, and I'm hoping to find time to research the concepts further.

    I have to say, though, that this article doesn't answer such questions as "when I approach a machine, how do I establish the capabilities I need for my tasks to be performed?"

    In other words, I can see how this would reduce the roll of authentication during a session of activity, but I do not see in most common use cases how you could start a session without an authentication step. If you can persist your system's capabilities in a way that is portable (with the user) and maintains integrity, that would allow your "session" to be arbitrarily long, but:

    1) It would still seem that the decision to initially hand the capability to the user has to be made with knowledge of who the user is, and

    2) I'm curious how you would go about restoring security were such a persisted capability stolen.

  36. Re:The problem with authentication is authenticati by naasking · · Score: 1

    Let me ask you this: what use is authentication without identity? Identity is generally irrelevant when making authorization decisions, particularly when using capabilities. Identity-based access control is the single cause of our vulnerable computing infrastructure. Identity-based security can be locked down somewhat, with Polaris being the epitome of what's achievable on Windows, but it has fundamental limits associated with the amount of information available to make appropriate authorization decisions.

    Capabilities change the whole security game, as they enable principle of least authority designs to be easily constructed. Identity-based controls are not composable, so fine-grained permissions are simply impossible.

    Capabilities are not the only authorization-based access control of course, but they are perhaps the most well-known. You can even start playing with capabilities today.

  37. Re:The problem with authentication is authenticati by naasking · · Score: 1

    "Anyone who knows security knows this" ...should be read as "anyone who agrees with me knows this". ...should be read as "I'm too ignorant on the subject to comment constructively, so I'll just be flippant".

  38. Perhaps an overstated case... by mea37 · · Score: 1

    This seems to provide two thigns:

    1) It provides a limited degree of authentication of the machine to the user. This is lacking in, say, ATM transactions today (in the U.S. at least), which is one of the concerns the article talks about. However, while this system has the "side effect" of providing the user with some chance of noticing a fake machine (depending on details of how the system were implemented and deployed), it would be better to approach a design with the specific goal of validating the machine.

    2) The point they advertise -- it makes it hard to learn anything by watching the person enter the "password".

    I see some challenges, and there are definitely some things it doesn't prevent.

    Where do the images come from? Each bank (or other institution using this system) has to come up with a library of images for its users, with each image clearly distinct from the others? But wait -- sometimes I use another bank's ATM. So either (1) the machine will have to start by identifying which bank to use and downloading the appropriate images, which reduces the protection against fake machines; or (2) there will have to be a single library of images for all banks.

    In a large-scale deployment, there are additional usability questions that aren't captured by a small-scale trial. If someone sets up different passwords for different systems, will they be able to reliably remember which pictures to use where? What if the systems have similar but different images in their libraries? Keep in mind, human associative memory and visual processing interact in very strange ways sometimes.

    How will the visually impaired interact with this system? I think I could use it in spite of my eyesight (barring a really poor implementation), but there are others who can't. I expect that to pretty much end the discussion for me.

  39. work around by White+Yeti · · Score: 1

    My soon-to-be-patented device will banish your arguments one by one: the USB ouija board!

    Okay, so I mostly just add "on a network of electronic devices" to existing work. ("USB ouija" return 12 hits on Google!)

  40. Re:The problem with authentication is authenticati by Psiren · · Score: 1

    I'm sorry, I still don't get it. If person A needs access to some files, and person B must not have access, whatever mechanism is used must be able to differentiate between the two when those files are requested. How do we stop person B imitating person A? Maybe the examples on wikipedia are poorly written, but it still looks like it needs authentication to me.

  41. Directional microphone by Anonymous Coward · · Score: 0

    Do you think this system is also prone to that attack?

    1. Re:Directional microphone by Yetihehe · · Score: 1

      Yes. You need to see characters on screen. Then you are making input so that the character which you are seeing the most is your input character. If I can see your screen, I can see what you selected. Only secure method to implement this: user sees screen through some peephole. But then he can simply choose letter from randomized position, like in current "secure virtual keypads".

      --
      Extreme Programming - Redundant Array of Inexpensive Developers
  42. Re:The problem with authentication is authenticati by naasking · · Score: 2, Interesting

    1) It would still seem that the decision to initially hand the capability to the user has to be made with knowledge of who the user is, and

    You pose some good questions which I intend to address, but first there are a number of assumptions in this one statement which has lead people astray in the past, so I want to address those first.

    The User: just about every single access control discussion, particularly informal ones like this thread, start by talking about "users". Talking about "users" quite naturally dovetails into discussions of identities, then authentication, and finally the natural access control abstractions end up looking identity-based like Unix/Windows. The problem with this approach is, users generally aren't a threat. The real threats are from programs.

    Access control is mainly about maintaining the integrity of a system in the presence of malicious programs. When viewed this way, identity-based access control starts to look meaningless. The "identities" of programs is a much fuzzier concept than the identities of users, but this is the right way to view access control. You can deal with program identities ala Polaris, and the resulting system is usable, but it's far simpler to eschew identities entirely.

    Once you eschew identities, dealing with authorizations as distinct entities looks more natural. The more fine-grained the authorization, the better. Since programs are the only entities handling these authorizations, it doesn't matter how fine-grained we make them. Most of the heavy-lifting is done behind the scenes, hidden from users. When accessing a resource, you have to name it, then provide the authorization token demonstrating you have permission access to it. Then you start to wonder why the designation and the authorization can't be combined into a single handle for convenience. They can! They're called capabilities. Some other designs maintain this separation, but I can't find the reference to the paper at the moment.

    Now comes the question: where do these capabilities come from, and how do we get them? The simple answer is: initial conditions. Just like the Big Bang, the universe of objects inside a computer is constructed at installation time. The installer constructs the primordial storage manager, user manager, shell, etc. from which the primordial user can allocate more storage to create other users, and endow them with capabilities, and so on.

    At this stage, I've only been talking about programs all contained within a single computer. Now we come full circle to your question: how does someone outside the computer get (re)connected to their session which exists inside the computer? Note first that this is only a problem for a computer shared amongst multiple users.

    To maintain the security properties, you need: portable sessions, as you suggested, a portable authorization token, or some form of secure authentication. This is the only authentication step needed, and even then it's not necessarily required.

    Your comment seems to imply that an authentication is needed for every interaction with a new object, when you only need to authenticate with one computer, your own, and if you can carry that computer with you (pda, cellphone, etc.), then no further authentication is ever needed. A portable authorization token can be a USB key or a secure card that holds a cryptographically-secure hash designating your session. I prefer the last option, as its the most user friendly, and the most secure.

    2) I'm curious how you would go about restoring security were such a persisted capability stolen.

    This is a long-standing fear of system administrators everywhere. "Capabilities grant you flexibility and POLA, but you lose control!" There is a thread going on right now on the cap-talk mailing list about this actually. There are many possible ways to address this concern actually, and the only answer t

  43. Re:slashdottagsmakemesmile by Anonymous Coward · · Score: 0

    Just like everybodyu else. Your pidgin Japanese is shit. It should have been "ah, justu lika evelybodyu elsu"
  44. Anybody who knows anything about security.... by mattpalmer1086 · · Score: 1

    You think authentication is a "broken concept"?

    Authentication - providing proof of a claimed identity
    Authorization - managing permissions bound to an identity

    See why you need both? You clearly have no idea what you're talking about, whoever you are.

    1. Re:Anybody who knows anything about security.... by naasking · · Score: 1

      Then perhaps you should get a better dictionary. There is more in heaven and earth Horatio, than is dreamt of in your philosophy...

    2. Re:Anybody who knows anything about security.... by mattpalmer1086 · · Score: 1

      Well, as I've said above, I know capability based access control very well. I nearly did my MSc degree dissertation on it, specifically the work of Mark Miller on the E language and distributed capabilities. But your original statement about authentication is still wrong. You still need good authentication in a capability based system. Authentication and authorization are not alternatives to one another!

    3. Re:Anybody who knows anything about security.... by mattpalmer1086 · · Score: 1

      I will concede that "managing permissions bound to an identity" isn't a great definition. The permissions themselves don't need to be bound to an identity, as capability systems demonstrate very well. A better definition might be "managing the association of permissions with an identity". Taking a very granular view, in an object based capability model, each object has an identity. Regardless of how they are bound, would you agree that authorization is about moving permissions around things that have identities.

    4. Re:Anybody who knows anything about security.... by Follis · · Score: 1

      I think what you may be overlooking is this fundamental question. What's the difference, to a computer, between me, and a program which acts _exactly_ like me? The answer is: none. Therefore the dichotomy between users and processes is, from the above perspective, false. It has already been well established that you can "clone" processes. The combination of the two makes "identity" a relatively useless concept. Alternately you can view "authorization" as an easily forged (read useless) capability. Concatenate the address of the machine, the questions, and the responses into a single entity, and you have a location, and the ability to perform an action. IE, a capability.

    5. Re:Anybody who knows anything about security.... by naasking · · Score: 1

      I never said they were alternatives, I said you didn't need authentication, and that authorization was sufficient. I'm not a shmuck who's been drinking too much of the capability kool-aid; I know authentication can be quite useful in some situations, and is an integral part of many existing systems. However, I believe authentication draws far too much attention when it's really a trivial problem. We know 10,001 ways to authenticate anything, but it doesn't help because authentication is not the problem.

      Even passwords are a sufficient authentication mechanism as long as users only have to remember one. That's all they should need to remember, and then we can make the password fairly strong. And that's only for users: authentication for programs really is completely useless. And even for users, I suggested an authorization technique to replace an authentication. You can argue that the example is also an authentication, and that example does blur the line, but from the user's perspective, it behaves like an authorization, and that's what matters.

      I never questioned your credentials, but one should always be careful in claiming that something is impossible. :-)

    6. Re:Anybody who knows anything about security.... by mattpalmer1086 · · Score: 1

      Well, you are always just a process to the computer! One that represents you. The point of authentication is to prove your (the process that represents you) right to use a user-account to the computer in a way that only you could. This could be a secret (something you know), a token (something you have), or a biometric (something you are). Identity is definitely a slippery concept when you get down to it, but it's not a useless one. Of course, your slashdot password and username doesn't really identify *you*... but you're not going to post them on here are you?

      As far as cloned processes go, you have to trust that the computer won't actively try to subvert its own security processes; this is the trusted computing base. If you don't have trust in the TCB, then as you say, it's game over. Of course, why you would want to authenticate to a machine you didn't trust at all is beyond me...

      I don't understand your point about authorisation being "easily forged" - if authorisation could be easily forged, it wouldn't be a very good mechanism! A capability is the binding of a permission to do something to the designation of an object: designation + action = capability. However, I'm afraid that I don't understand how concatenating a machine address, questions and responses forms a location, nor what the action you mention is.

    7. Re:Anybody who knows anything about security.... by Follis · · Score: 1

      Sorry, I should have been a bit more clear. Authorization is easily forged compared to say a really large random number space. As far as authentication being a weak capability, the address of the machine represents the object, under authorization the action(s) you can perform are the challenges + your responses.

  45. This is an interesting idea... by ChoppedBroccoli · · Score: 1

    that has been explored in previous research covering similar ideas (they used a stylus input and pressure to hide input): http://www.discover.uottawa.ca/publications/EH2006.pdf

    I think the principle of this CMU system is sound. Obfuscating the output and the input for an authentication system is a good approach to limit vulnerabilities to observation. The key is to be able to do it without annoying the user. This scheme seems to be able to make some headway in this regard. However, one aspect I don't like is that it requires a separate hardware solution (i.e. all ATMs would have to have this trackball). If such an investment is going to be made by banks, I figure they would be more inclined to try something else like biometrics. I personally believe this type of input obfuscation can be accomplished with the devices we already have (keypads) and software (I am currently researching this), and thus there would be no added costs (at least additional hardware costs) to implement such a system.

  46. Re:The problem with authentication is authenticati by mattpalmer1086 · · Score: 1

    Even in capability-based security, you need strong authentication. Or someone could just log-in as you (the authentication bit) and use your capabilities.

    It is true that capabilities bind a permission to an object, so knowledge of the subject by the system is not required to use a capability. This has certain benefits - it's performant, it allows easy delegation or permissions to other subjects, and it avoids the Confused Deputy problem. There are also some downsides to this form of access control - it's hard to contain the spread of permissions outside of a trusted computing base, and it's harder (but not impossible) to revoke permissions once granted.

    But this has nothing to do with authentication! You still need it in a capability based system!

  47. Re:The problem with authentication is authenticati by mattpalmer1086 · · Score: 1

    I know the work of Mark Miller, Jonathon Shapiro, the E language, Waterken, etc. very well. It's really good stuff, and it has the potential to make more secure systems. However, I'm sorry to say, you've become a "true believer" and this is leading you into making vastly overreaching statements.

    Authentication is not a broken concept. Authentication refers to the act of *proving* a claimed identity. Regardless of the authorization model that follows, you have to authenticate at the beginning. Doesn't matter if it's capabilities, access control lists, mandatory access control, whatever. You start with authentication.

  48. Re:The problem with authentication is authenticati by naasking · · Score: 1
    Being used to identity-based access control, it's difficult to imagine another way. I just posted this elaborate response to another question, but perhaps it's a little too abstract. I'll assume you're a programmer. I'll further assume that you're familiar with Java.

    Assume that we're in a Java-like language with no static fields or methods. All we have are object instances, and instance methods. Now, let's assume a simple filesystem API for our OS:

    package Filesystem;
     
    public abstract class Entry {
      public string getName();
      public void Delete();
    }
    public class Directory : Entry {
      public Entry[] getEntries();
      public Entry getEntry(string name);
    }
    public class File : Entry {
      public FileStream openStream();
    }
    This package provides very basic filesystem-like services: we can traverse a directory tree, look up names, retrieve subdirectories or files, and open a stream for reading and writing data to files. Let's suppose that the on-disk filesystem looks like this:

    /etc
    /home
    /home/A
    /home/B
    Now let's suppose that person A and B are modeled by two threads in our OS. We can start thread A with a Directory object which references "/home/A", and we start thread B with a Directory referencing "/home/B". Now show me a sequence of method calls where A can access files under "/home/B", or even the files under "/etc".

    Spoiler: no such attack is possible. Our Java-like language is memory safe, so you can't forge a reference to another directory without being given that reference. Object references are capabilities. There is no "getParent()" on a Directory, so a thread, or person, cannot escape out of their home directories. Each directory tree is a private namespace. So how do we enable sharing and document exchange? We map documents into that namespace.

    Documents under "/home/B", like "/home/B/homework.doc" look like "/homework.doc" to B. B thinks he's working out of the root directory, and has no knowledge of anything outside of that. Even if he did gain outside knowledge, there's no way to exploit that knowledge. He's constrained by what capabilities he holds, ie. by what references he has. He can only access the objects to which he has references.

    For a simple answer to document exchange, let's say we add "/home/A/shared/B", then add a directory entry under "/home/B/A" that points to it. Now A and B have an indirect communication path. Note that we have no notion of "identities", and no separate notion of "permissions" on the files, so your question about impersonation is actually meaningless. If you hold a reference to the object, you can operate on it, no ifs, ands or buts. If you don't have a capability to the object, directly or indirectly, you cannot cause changes to that object. This is capability security. I hope that clarifies things.
  49. Re:The problem with authentication is authenticati by naasking · · Score: 1

    Identity is meaningless in a capability system, so it all depends how far down your capabilities go.

  50. Re:The problem with authentication is authenticati by naasking · · Score: 1

    Let me pose a hypothetical: consider a capability OS a suspended shell session. Your OS stored a cryptographic token which directly designates that session on a USB key, or a secure crypto card of some sort. Plugging your key into the computer automatically reconnects you to your session. Do you consider this an authentication or an authorization?

  51. Re:The problem with authentication is authenticati by Anonymous Coward · · Score: 0

    "Anyone who knows security knows this" ...should be read as "anyone who agrees with me knows this". ...should be read as "I'm too ignorant on the subject to comment constructively, so I'll just be flippant" is an excellent example of "nested bitching".

  52. mod parent up ... by jimbojw · · Score: 1

    up down down right right-left up-down!

  53. 200 BPM Password == Bad Idea by Anonymous Coward · · Score: 0

    Why did I have to pick a high-security 200 BPM password :-(

    If I miss one more step, I'll be locked out for a week!

  54. Huh? by Anonymous Coward · · Score: 0

    This sounds ridiculously overcomplicated. Where is the innovation in this idea? To me it sounds like any other challenge-response scheme with a layer of arbitrary obfuscation added.

  55. Re:The problem with authentication is authenticati by mea37 · · Score: 1

    Thanks for the reply; quite informative.

    My next round of questions and comments would revolve around the proposition that "the user is generally not a threat". I'd divide the world into two types of system:

    The Easy Cases: For some systems, I'd say it's clearly and demonstrably true that programs, not users, are the threat. For example, the WinXP desktop sitting in my office at home isn't under threat from any malicious users (and indeed I don't have it set up to take a password), while systems like it are forever being compromised by malicious programs; so that would seem to be the ideal example for the type of system you describe.

    The Interesting Cases: I'm guessing that multi-user networked systems probably present the most interesting (and complicated) discussion. These would include a wide range of cases, from sensitive government/military, to business of various sorts, to research and other university systems. Part of the challenge (at least on the surface) is that in the case of an incoming network connection, the distinction between a "user" and a "program" seems a bit abstract.

    I wno't try to go too far into those questions without first checking through the resources you've pointed to, which will take me some time. I would note, though, that many industries operate under regulations that require authentication. This may partially be due to bad assumptions on the part of regulators. However, it also points toward a second reason why people use authentication: Sometimes it's not enough to know that an action is authorized; sometimes you have to keep track of who took each action.

    In the simplest case, an employer might grant capabilities to a group of employees so that they can do their jobs. But sometimes trust is misplaced, and maybe one of the employees abuses those capabilities for personal gain (some sort of fraud or theft, etc.). You may not be able to stop him from doing it whether by authentication or by controlling capabilities; the question is, how do you investigate after the fact? The traditional answer is to keep an audit trail -- log that Employee X performed actions A, B, and C at such-and-such time.

    So, while you can decouple authentication from authorization to a point, I would still think you'd sometimes have to state "user has provided accurate identification" as a prerequisite of authorization (even if the authorization process isn't looking for any particular identity).

    Initially, I was going to call out ATM's as an example of a third category in which the user simply couldn't be trusted; but on reflection, I think this is a matter of perspective. Arguably in the age of electronic transactions PIN's, CC#'s, account/routing numbers, etc. are somewhere between authentication instruments and capabilities as it is; the real question then seems to be what form(s) the authorizing information should take and what means should be used to protect it.

    That said, I do think these make up a third category in this sense: Although they may be good candidates for a capability-based system, it remains true that I wouldn't generally "trust" a user as far as I could throw him.

    In any case, I plan to look into some of the systems you mention, time permitting.

  56. Obligatory LOTR reference by Anonymous Coward · · Score: 0

    One insecure password to rule them all!

  57. Re:The problem with authentication is authenticati by SilverJets · · Score: 1

    I think you've gone past the point the other poster was trying to get at. You're talking about a program running on a system. The other poster (and myself now as well) is questioning how does capability authorization allow a user onto a system, in the first place, without authentication. There still has to be some way of identifying the bag of meat that is sitting at the terminal or shelling in remotely.

  58. Re:slashdottagsmakemesmile by Anonymous Coward · · Score: 0
    You ARE special.

    Just like everybodyu else.

    ... on the short bus.

  59. Re:The problem with authentication is authenticati by naasking · · Score: 1

    Hmm, from my reading, the poster asked an access control question, not an authentication question. To answer your questions, you connect that bag of meat to his session the same way you connect any other piece of software to another remote piece of software: carry an authorization token. I explained one way to make this easy here.

  60. Re:The problem with authentication is authenticati by naasking · · Score: 2, Interesting

    I'm guessing that multi-user networked systems probably present the most interesting (and complicated) discussion.

    If by "multi-user networked systems" you mean systems which host multiple competing interests which are mutually suspicious, then I agree. The vast majority of systems are computer programs communicating with other computer programs, some at the behest of a single user or multiple users, some based on a schedule, etc. If you can solve the problem of safe collaboration among mutually suspicious programs, then any other interaction I can think of falls out as a special case.

    Part of the challenge (at least on the surface) is that in the case of an incoming network connection, the distinction between a "user" and a "program" seems a bit abstract.

    Exactly, because there is no tangible distinction. Any "user" is communicating with you via some program, presumably under his control. It's programs all the way down.

    I wno't try to go too far into those questions without first checking through the resources you've pointed to, which will take me some time.

    A good start is Mark Miller's thesis, Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control.

    I would note, though, that many industries operate under regulations that require authentication. This may partially be due to bad assumptions on the part of regulators.

    Obviously I can't comment on any specifics without researching further, so you could be right. I would be disappointed if such legislation mandated a specific strategy to track information, rather than simply mandate that certain information be available should it be needed.

    However, it also points toward a second reason why people use authentication: Sometimes it's not enough to know that an action is authorized; sometimes you have to keep track of who took each action.

    Agreed! Delegation control and responsibility tracking are very important, which is why some capability folks designed Horton, which can be viewed as a sort of identity framework built on top of pure capabilities. Identities should only be used for reactive measures however, in case of abuse to identify the offending party and throttle or terminate abuse.

    So, while you can decouple authentication from authorization to a point, I would still think you'd sometimes have to state "user has provided accurate identification" as a prerequisite of authorization (even if the authorization process isn't looking for any particular identity).

    Whether the user/program intentionally or accidentally leaked his capability, you still have to revoke it to prevent abuse. I'm not sure what authentication gains you here. Identifying the capability is typically straightforward.

    That said, I do think these make up a third category in this sense: Although they may be good candidates for a capability-based system, it remains true that I wouldn't generally "trust" a user as far as I could throw him.

    Yes, there are no doubt other categories of systems. For instance, the KeyKOS capability operating system was used in early ATM systems starting in the 80s. I'm sure it had something to say on the subject. I hope you have time to research the rich literature of capability access control. :-)

  61. Re:The problem with authentication is authenticati by bzipitidoo · · Score: 1

    Something I've been considering is the traditional login dialog, where a person is asked 2 questions: username and password, and always in that order. It's so ubiquitous it seems people don't think twice about it, and for some time now have been confusing the purposes of the two. I looked into the history of the login dialog, and learned this practice of asking for both username and password goes all the way back to the very first multiuser operating system, CTSS, in the early 1960s. You'll see solemn assertions that you have to keep your username secret to maintain your security. And, sadly, that's true. A trick that the security folks have been playing on users is bolstering weak passwords by using the username in an authentication process. As another person put it, it's annoying to have your password entry broken into two fields. That seemingly makes authentication more secure, but the price has been confusion as demonstrated by all this advice about keeping your username a big secret, and all these uses of the username that require that to be public knowledge. I've also seen quite a few systems that suggest users should use their email address for their username. And there is also confusion in that probably just about everyone unthinkingly assumes authentication is required to make access secure. So in some cases they've kinda worked around the problems by in effect giving everyone 2 identities. Messy. I think systems should be designed so that to login, users enter a password only. Of course, the system would have to generate at least part of all passwords, to guarantee that they are all unique.

    For those who write authentication programs, a basic security mistake that shouldn't be a mistake is the idea of rejecting a login attempt after a username but before a password is entered. Well of course a password shouldn't be rejected before the entire thing is entered.

    You don't identify yourself to a car, you simply use a key (password), the car doesn't care who you are, nor does it need to. You can give out copies of the keys or loan the keys to someone else so they can drive your car. Same goes for the combination to a combination padlock for a bicycle-- the lock doesn't care who anyone is. Have I understood what you're getting at, naasking? Capability based security is much like password only access? Like keys to a car?

    --
    Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
  62. Re:The problem with authentication is authenticati by mattpalmer1086 · · Score: 1

    That is a more interesting thought experiment. I would say the user authenticates to the system using the token - something the user has. The purpose is only to (indirectly) identify the user (as opposed to any other user), to allow them to keep using their session.

    Having said that, you are using a capability authorization mechanism to perform authentication. Which demonstrates how flexible and useful this mechanism is - but I still say the process looks like authentication, and behaves like authentication, therefore...

    The example does blur the line quite nicely though. Thanks for posting it.

  63. Re:The problem with authentication is authenticati by naasking · · Score: 1

    You don't identify yourself to a car, you simply use a key (password), the car doesn't care who you are, nor does it need to. You can give out copies of the keys or loan the keys to someone else so they can drive your car. Same goes for the combination to a combination padlock for a bicycle-- the lock doesn't care who anyone is. Have I understood what you're getting at, naasking? Capability based security is much like password only access? Like keys to a car?

    You pretty much have it. The "capabilities as keys" analogy has been used extensively before, and its accurate to a first approximation. Capabilities have stronger security properties than keys though, so don't take the metaphor too far. Here's a paper discussing the various forms of capabilities and debunking the myths promulgated about them over the years.

    And using only a password to authenticate is also a good idea, provided the password is a cryptographically secure identifier.

  64. Re:The problem with authentication is authenticati by naasking · · Score: 1

    I would say the user authenticates to the system using the token - something the user has.

    But if this token were a YURL, ala Waterken web-calculus, then it's actually considered a capability. I think the correct way to look at it, is an authorization with an authentication step. Whatever system you plug it into must validate the token to ensure it names a resource on the current system (a sort of authentication), then invoke that resource to resume the session. YURLs go through this same process, as all services must validate data from untrusted sources. I think the important property is that it behaves like a capability to the user, so I'm not sure that it behaves like an authentication as you say.

  65. Re:The problem with authentication is authenticati by mattpalmer1086 · · Score: 1

    Well, we're clearly coming from different perspectives on this one. I don't deny that it *is* a capability - but I would assert that it is being used as part of an authorization process, which is how the security it provides would be judged.

    In terms of a security risk analysis of this system, I would want to know the strength of protection that this system allows for its users and the content being protected. The system gives two "authorization" paths to access the resources of a user: (1) log in with a password (2) use the USB key to recover a session. From my perspective, I don't care about the underlying mechanisms - I want to know that all the paths meet a minimum security standard.

    Taking this experiment a bit further: the username / password combination is probably cryptographically less secure than the random token (assuming it using a random "swiss" number of sufficient length). However, most username/password authentication mechanisms will lock out the user after several wrong attempts. The cryptographic token doesn't do this, allowing for online, rather than off-line brute force attacks. We may conclude that this doesn't really matter. Further, we may ask: is it acceptable that mere possession of the token is sufficient to access the session? Many token-based authentication mechanisms also provide for a PIN or "something you know", to prevent accidental loss or theft of a physical item compromising everything. If we want this facility to comply with our security standards, then you will have to add this mechanism to your capability - maybe the session capability merely gives you a capability to enter a PIN, which if correct (say 3 guesses allowed), will unlock the session. So we can still use a capability mechanism - but note that we are designing an authentication mechanism.

    All of this security analysis is done on the basis that what is being provided is an authentication process The underlying mechanism is irrelevant to the consideration of the risks and how it will be viewed in any real-world implementation.

  66. Re:The problem with authentication is authenticati by mattpalmer1086 · · Score: 1

    Freudian slips! "but I would assert that it is being used as part of an authorization process, which is how the security it provides would be judged." and "The system gives two "authorization" paths"

    I meant to say "an authentication process" and "authentication paths"!