Difference between revisions of "Integrated Fingerprint Reader"

From ThinkWiki
Jump to: navigation, search
(links to USB IDs...)
 
(151 intermediate revisions by 66 users not shown)
Line 1: Line 1:
{| width="100%"
+
[[Image:fingerprintreader.jpg|thumb|IBM Integrated Fingerprint Reader]]  
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:fingerprintreader.jpg|IBM Integrated Fingerprint Reader]] __NOTOC__
+
 
|style="vertical-align:top" |
 
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;">
 
 
===Integrated Fingerprint Reader===
 
===Integrated Fingerprint Reader===
IBM released a second generation of T42 models in autumn 2004 featuring Intel Pentium M 765 processors and an integrated fingerprint reader.
+
IBMs second generation of T42 models (released in Autumn 2004) was the first to feature an integrated fingerprint reader. Various models since then have had this feature, actually implemented with a number of different devices, all of which appear on the USB bus. Some are just scanners, others do the recognition in the device itself.  
 
 
The fingerprint reader is produced by a company called UPEK, which is specialized to fingerprint readers.
 
 
 
It seems to be integrated as a USB device.
 
  
Furthermore, IBM states that there's an interface with the [[Embedded Security Subsystem]].
+
{| class="wikitable"
</div>
+
! USB ID !! Reader !! Software
 +
|-
 +
|{{USBID|0483|2016}}
 +
| [http://reactivated.net/fprint/wiki/Upekts UPEK/Thomson]  || thinkfinger or fprint
 +
|-
 +
|{{USBID|147e|1000}}
 +
| UPEK TCS4C || unsupported ??
 +
|-
 +
|{{USBID|147e|1002}}
 +
| UPEK || unsupported ??
 +
|-
 +
|{{USBID|147e|2016}}
 +
| [http://www.reactivated.net/fprint/wiki/Upeksonly Upeksonly] || [https://bugzilla.redhat.com/show_bug.cgi?id=504399 fprint patches]
 +
|-
 +
|{{USBID|147e|2020}}
 +
| Upek / Authentec || [http://darkblue.homeip.net/fingerprint/Forum/topic.php?TopicId=271&Posts=7 Forum discussion and howto for 32-bit, using non-free drivers] Seems to be supported as of 2013-01-15 (Works for Me (TM)). On Ubuntu, use PPA at https://launchpad.net/~fingerprint
 +
|-
 +
|{{USBID|08ff|1600}}
 +
| [http://reactivated.net/fprint/wiki/Aes1610 Authentec AES1610] || fprint
 +
|-
 +
|{{USBID|08ff|2580}}
 +
| [http://reactivated.net/fprint/wiki/Aes2501 Authentec AES2501] || fprint
 +
|-
 +
|{{USBID|08ff|2810}}
 +
| Authentec 2810 || supported by libfprint v0.5.0 onwards, released December 2012
 +
|-
 +
|{{USBID|138a|0017}}
 +
| Validity Sensors, Inc. Fingerprint Reader || (to test) Driver Patch  as [http://thinkpadmint.blogspot.fr/2014/02/getting-t440s-validity-vfs5011.html use case with T440] or [https://gist.github.com/foosel/3abd45bc1b6ae121965b gist sample]
 +
Supported by libfprint v0.6.0
 +
|-
 +
|{{USBID|138a|0090}}
 +
| Validity Sensors || [https://github.com/nmikhailov/Validity90 RE work for validity90 fingerprint reader], [https://launchpad.net/~3v1n0/+archive/ubuntu/libfprint-vfs0090 Ubuntu PPA] and [https://aur.archlinux.org/packages/libfprint-vfs0090-git/ AUR package] for WIP libfprint driver
 
|}
 
|}
  
==Linux Support==
+
Read more about the various models of reader on the [http://reactivated.net/fprint/wiki/Supported_devices libfprint wiki]
A closed source driver is expected from the vendor in September 2005. Details on the driver are unknown at this time. See [[#Related Links|links below]] for more information.
 
  
Upek released the second beta-version of their driver for the BioAPI 1.10 framework. [http://www.qrivy.net/~michael/blua/upek-bsp.html www.qrivy.net/~michael/blua/upek-bsp.html]
+
Also check the [https://launchpad.net/~fingerprint/+archive/fingerprint-gui Fingerprint-GUI PPA] which has a detailed list of supported devices. Be aware this PPA includes non-free software as indicated in [http://www.n-view.net/Appliance/fingerprint/about.php the About page] of the project.
  
==HowTo==
+
The UPEK device is supported by thinkfinger. Those devices and Authentec ones are supported by libfprint.
  
 +
However: The fingerprint reader is an INSECURE device and gives a false sense of security! There has been quite a bit of research by a hacker named Starbug, a member of the Chaos Computer Club, Berlin, Germany. He outlined in two very good talks how to forge each and every available fingerprint sensor available at the cost of a few euros, using materials from your local hardware store, a digicam and a laser printer! Here's some links:
 +
* [http://www.ccc.de/updates/2007/umsonst-im-supermarkt?language=en  Fingerprint recognition in supermarkets]
 +
* [ftp://ftp.ccc.de/pub/documentation/Fingerabdruck_Hack/fingerabdruck.mpg?language=en Video tutorial for forging fingerprints]
 +
Remember, using fingerprints for authentication is much similar to having a password which is written on anything you touch.
  
Disclaimer: This is how I got the fingerprint reader on my T43 to work. It can _NOT_ yet be used to log me into the system. Working on that,
+
== Software support ==
 +
See [[How to enable the integrated fingerprint reader]].
  
This is on ubuntu breezy.
+
==Models featuring this Technology==
 +
{| class="wikitable"
 +
! USB ID !! Reader !! ThinkPad models !! Software notes
 +
|-
 +
|{{USBID|0483|2016}}
 +
|UPEK Touchstrip (model?)
 +
|
 +
*ThinkPad {{R52}}, {{R60}}, {{R61i}}
 +
*ThinkPad {{T42}}, {{T42p}}, {{T43}}, {{T43p}}, {{T60}}, {{T60p}}, {{T61}}, {{T61p}}
 +
*ThinkPad {{X41}}, {{X41 Tablet}}, {{X60}}, {{X60s}}, {{X60 Tablet}}, {{X61 Tablet}}, {{X300}}
 +
*ThinkPad {{Z61t}}, {{Z61p}}, {{Z61m}}
 +
|
 +
|-
 +
|{{USBID|147e|1000}}
 +
|UPEK Touchchip TCS4C
 +
|
 +
*ThinkPad {{SL300}}, {{SL400}}, {{SL500}}
 +
|
 +
|-
 +
|{{USBID|147e|1002}}
 +
|UPEK - TouchStrip Fingerprint Sensor
 +
|
 +
*ThinkPad Edge E425
 +
|
 +
|-
 +
|{{USBID|147e|2016}}
 +
|UPEK Touchstrip TCRD4C
 +
|
 +
*ThinkPad {{R61}}, {{R61i}}
 +
*ThinkPad {{Edge 14"}}, {{Edge 15"}}
 +
*ThinkPad {{L412}}, {{L512}}
 +
*ThinkPad {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}}, {{T510}}, {{T510i}}
 +
*ThinkPad {{W510}}, {{W701}}, {{W701ds}}
 +
*ThinkPad {{X201}}, {{X201i}}, {{X201s}}, {{X201 Tablet}}, {{X220}}, {{X1}}
 +
|
 +
|-
 +
|{{USBID|147e|2020}}
 +
|Upek TouchChip Fingerprint Coprocessor
 +
|
 +
*ThinkPad {{T430}}, {{T430s}}, {{T530}}, {{W530}}, {{X230}}
 +
|
 +
|-
 +
|{{USBID|08ff|1600}}
 +
|Authentec AES1610
 +
|
 +
*Lenovo V100, V200
 +
|
 +
|-
 +
|{{USBID|08ff|2580}}
 +
|Authentec AES2501
 +
|
 +
*Lenovo N100, N200
 +
|
 +
|-
 +
|{{USBID|08ff|2810}}
 +
|Authentec AES2810
 +
|
 +
*ThinkPad {{R400}}, {{R500}}
 +
*ThinkPad {{T400}}, {{T500}}
 +
*ThinkPad {{W500}}, {{W700}}, {{W700ds}}
 +
*ThinkPad {{X200}}, {{X200s}}, {{X200 Tablet}}, {{X301}}
 +
|
 +
|-
 +
|{{USBID|138a|0017}}
 +
|Validity Sensors VFS5011
 +
|
 +
* ThinkPad {{T460}}, {{T460s}}
 +
* Thinkpad {{T440}}
 +
|
 +
|-
 +
|{{USBID|138a|0090}}
 +
|Validity Sensors VFS7500
 +
|
 +
* ThinkPad {{X1Yoga}}, {{T460s}}
 +
|
 +
|-
 +
|{{USBID|06cb|00bd}}
 +
|Synaptics Prometheus MIS Touch Fingerprint Reader
 +
|
 +
* Thinkpad {{P14s}}, {{T14s}}
 +
|
 +
|-
 +
|}
  
get all required devel libs and tools (gcc, g++, pam-dev, etc.)
+
== Links ==
I could not compile bioapi with the graphical Qt tools
 
wget http://www.qrivy.net/~michael/blua/bioapi/bioapi-1.2.2.tar.bz2
 
tar xjf bioapi-1.2.2.tar.bz2
 
cd bioapi-1.2.2
 
./configure --with-Qt-dr=no
 
make
 
then as root
 
make install
 
beware that checkinstall will not work!
 
go to http://www.qrivy.net/~michael/blua/upek-bsp.html and download TFMESS_BSP_LIN_1.0beta2.zip
 
unzip it into a seperate folder, as it will not create one
 
 
 
as root
 
sh install.sh
 
chmod 777 -R /usr/local/var/bioapi/
 
actually this depends on where you installed, if you did as i wrote, it should work otherwise you probably know what you're doing anyways :)
 
touch /var/log/BSP.log && chmod 666 /var/log/BSP.log
 
chmod 666 /proc/bus/usb/`lsusb | grep "0483:2016" | sed -e "s/Bus\ \(.*\)\ Device\ \(.*\):\ .*/\1\/\2/"`
 
It might be nessecary to put the above line into a startup script somewhere.
 
 
 
now go to the folder where you extracted TFMESS_BSP_LIN_1.0beta2.zip
 
cd NonGUI_Sample
 
./Sample
 
Now i hope it works, otherwise mail me: t43fingerprint (at) badcode.de
 
 
 
Another thing i got to work: gdm login with pam_bioapi *freu*
 
 
 
what i did:
 
 
 
wget http://www.qrivy.net/~michael/blua/pam_bioapi/pam_bioapi-0.2.1.tar.bz2
 
tar xjf pam_bioapi-0.2.1.tar.bz2
 
./configure && make
 
as root
 
make install
 
 
 
now use the sample tool from the fingerprint reader to create <username>.bir
 
<username> _must_ be the username you want to login with, gdm broke for me for any login name that had no .bir file
 
 
 
try:
 
BioAPITest | grep -A2 Fingerprint | tail -n1 | cut -b 12-
 
it should print something like
 
{5550454b2054464d2f45535320425350}
 
if it does:
 
mkdir /etc/bioapi1.10/pam`BioAPITest | grep -A2 Fingerprint | tail -n1 | cut -b 12-`
 
cp <username>.bir /etc/bioapi1.10/pam`BioAPITest | grep -A2 Fingerprint | tail -n1 | cut -b 12-`
 
 
 
now comes a distribution specific part. on ubuntu i can modify /etc/pam.d/common-auth to look like this:
 
 
 
#
 
# /etc/pam.d/common-auth - authentication settings common to all services
 
#
 
# This file is included from other service-specific PAM config files,
 
# and should contain a list of the authentication modules that define
 
# the central authentication scheme for use on the system
 
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
 
# traditional Unix authentication mechanisms.
 
#
 
auth    sufficient      pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi1.10/pam
 
auth    required        pam_unix.so nullok_secure
 
 
 
and pam immediatelly starts to use the fingerprint reader to do local authorization (e.g. sudo/gdm use the fingerprint reader)
 
I found this out by try and success, if this is plain wrong, wikorrect me :)
 
Now my gdm pops up a (ugly) image to swipe my finger and... magic I can login without a password
 
 
 
I'd be glad to help out if you have questions.
 
t43fingerprint (at) badcode.de
 
 
 
==Related Links==
 
* [http://www.upek.com/customers/ct_notebook_ibm.asp UPEK customer report about the deal with IBM]
 
 
* [http://www.trustedreviews.com/article.aspx?page=1643&head=36 Review from TrustedReviews of the fingerprint scanner]
 
* [http://www.trustedreviews.com/article.aspx?page=1643&head=36 Review from TrustedReviews of the fingerprint scanner]
* [http://biomark.org.ru/en/ A (Russian) project that provides support for a (different model) of fingerprint scanner] (also a USB device, though)
+
* [http://www.upek.com/support/pdf/UPEK_flyer_TCS3_TCD4.pdf TouchStrip TCS3/TCD4 spec sheet]
* [http://linuxbiometrics.com/modules/newbb/viewtopic.php?topic_id=8&forum=1 Discussion of the T42/T24p fingerprint scanner on the Linux Biometrics site]
 
* [http://linuxbiometrics.com/modules/news/article.php?storyid=16 UPEK announcement (planned, closed-source) support for BioAPI on Linux] The first release is currently scheduled for September 2005.
 
 
 
==Models featuring this Technology==
 
*ThinkPad {{T42}}, {{T42p}}, {{T43}}, {{T43p}}
 
*ThinkPad {{X41}}, {{X41T}}
 
*ThinkPad {{Z60m}}, {{Z60t}}
 
 
 
 
 
[[Category:Glossary]]
 

Latest revision as of 18:24, 2 February 2022

IBM Integrated Fingerprint Reader

Integrated Fingerprint Reader

IBMs second generation of T42 models (released in Autumn 2004) was the first to feature an integrated fingerprint reader. Various models since then have had this feature, actually implemented with a number of different devices, all of which appear on the USB bus. Some are just scanners, others do the recognition in the device itself.

USB ID Reader Software

0483:2016

UPEK/Thomson thinkfinger or fprint

147e:1000

UPEK TCS4C unsupported ??

147e:1002

UPEK unsupported ??

147e:2016

Upeksonly fprint patches

147e:2020

Upek / Authentec Forum discussion and howto for 32-bit, using non-free drivers Seems to be supported as of 2013-01-15 (Works for Me (TM)). On Ubuntu, use PPA at https://launchpad.net/~fingerprint

08ff:1600

Authentec AES1610 fprint

08ff:2580

Authentec AES2501 fprint

08ff:2810

Authentec 2810 supported by libfprint v0.5.0 onwards, released December 2012

138a:0017

Validity Sensors, Inc. Fingerprint Reader (to test) Driver Patch as use case with T440 or gist sample

Supported by libfprint v0.6.0

138a:0090

Validity Sensors RE work for validity90 fingerprint reader, Ubuntu PPA and AUR package for WIP libfprint driver

Read more about the various models of reader on the libfprint wiki

Also check the Fingerprint-GUI PPA which has a detailed list of supported devices. Be aware this PPA includes non-free software as indicated in the About page of the project.

The UPEK device is supported by thinkfinger. Those devices and Authentec ones are supported by libfprint.

However: The fingerprint reader is an INSECURE device and gives a false sense of security! There has been quite a bit of research by a hacker named Starbug, a member of the Chaos Computer Club, Berlin, Germany. He outlined in two very good talks how to forge each and every available fingerprint sensor available at the cost of a few euros, using materials from your local hardware store, a digicam and a laser printer! Here's some links:

Remember, using fingerprints for authentication is much similar to having a password which is written on anything you touch.

Software support

See How to enable the integrated fingerprint reader.

Models featuring this Technology

USB ID Reader ThinkPad models Software notes

0483:2016

UPEK Touchstrip (model?)

147e:1000

UPEK Touchchip TCS4C

147e:1002

UPEK - TouchStrip Fingerprint Sensor
  • ThinkPad Edge E425

147e:2016

UPEK Touchstrip TCRD4C

147e:2020

Upek TouchChip Fingerprint Coprocessor

08ff:1600

Authentec AES1610
  • Lenovo V100, V200

08ff:2580

Authentec AES2501
  • Lenovo N100, N200

08ff:2810

Authentec AES2810

138a:0017

Validity Sensors VFS5011

138a:0090

Validity Sensors VFS7500

06cb:00bd

Synaptics Prometheus MIS Touch Fingerprint Reader

Links