np237 ([info]np237) wrote,
@ 2007-12-05 10:25:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Won’t people ever learn?
Introducing biometric authentication in our systems is a very good idea. It is the key to two-factor authentication which, while not solving all security issues, can bring a giant leap in terms of security when done correctly.

Everything is in the correctly.

And I can’t say I’m impressed with the way people are developing fingerprint authentication systems. Let’s look at the currently emerging standard, fprint, and its security notes:
In it's current state, fprint is not a very secure system: this data is stored on disk in unencrypted form. This data is not readable by other users, however it is possible that the super-user can access it, and also someone with local access could move the disk to another system in order to gain access to the whole disk.
This statement is followed by considerations on how to protect this data from being read, much like passwords are protected by MD5 hashes.

Wait… Yes, they are treating biometrical data like a password. Password-based security relies on the fact it isn’t easy to obtain your password without spying on you or torturing you. But obtaining your fingerprint? Unless you’ve been wearing gloves for years, this is absolutely trivial. And this is how people focus on the wrong issues.

Biometric data is not a password, and it requires a radically different approach to authentication. You can’t just expect the person in front of the computer to provide some data corresponding to the fingerprint. You have to ensure that the person in front of the computer is the one with the correct fingerprint. Biometric devices manufacturers have made impressive efforts to ensure fake fingers or cut fingers can’t be used, but there is still a giant hole in the security model. While you can now be reasonably sure that the device will only return data corresponding to the person in front of it, you also need to ensure the data processed by the computer comes from the device.

Guess what? These devices are USB-based. And given how USB works, there is nothing that prevents an attacker to plug a custom device in the USB port and send the data he wants to the authentication system. Good job, guys. While you’re busy hiding easily available data, the house’s door is still wide open.



(Post a new comment)

Nothing new
[info]jldugger
2007-12-05 10:49 pm UTC (link)
I've always advocated to users that fingerprinting is mostly security theater. Still, it's good for protecting some things: password sniffers / spyware get stopped (until fprint is popular enough that sniffers start sniffing USB). Treating a fingerprint as the only authentication mechanism is insecure, yes. I see it a lot on tablet devices where an onscreen keyboard may be equal parts insecure and unusable.

Take my device, a UPEK also found in the ThinkPad, driven by the Debian package thinkfinger. Nobody's sure what's in the data, but the docs suggest that it's encrypted on a per device basis. You register a fingerprint, and the device outputs some data that is stored on disk. Later, when PAM is invoked, the device is given that user's data, and prompts the user to swipe a finger.

However, I'm not clear on how the UPEK device itself is authenticated as a valid tool. It would be amusing to use a challenge-response system to validate the reader, but I'm not aware of any scheme in place today. As you say, a custom USB device can be plugged in to use in an attack. Of course, this _should_ require local access to pull off in almost every case. Thinkfinger uses uinput for terrible reasons and requires giving users write permissions to uinput to get gnome-screensaver working. Suddenly anyone who can gain access to a user account remotely can emulate a USB device!

(Reply to this)


[info]dsdrake
2007-12-09 07:00 pm UTC (link)
As you can probably tell from that page, I don't really have any experience in security, and my interest is currently on making fprint useful for those situations when security is not so critical.

If you do have any suggestions how my software could be made better from a security standpoint, I'm all ears.

(Reply to this) (Thread)


[info]np237
2007-12-10 03:31 pm UTC (link)
Well, you have a start point then: stop focusing on hiding information that can easily be found, and try to build a complete chain of authentication that makes sure of the user's identity.

(Reply to this) (Parent)


Create an Account
Forgot your login?
Login w/ OpenID
English • Español • Deutsch • Русский…