Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Fujitsu PalmSecure vascular biometric

Status
Not open for further replies.

freko

Newbie level 4
Joined
Sep 25, 2008
Messages
6
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,281
Activity points
1,337
palmsecure in ubuntu

Hi Everybody, i am doing a reversing engineer project of a driver for the vascular pattern sensor of Fujitsu PalmSecure, i use LibUSB and the OS is Linux (Ubuntu), if anyone has information about this protocol or want information about it i am glade to share it.
If you don't know this biometric check this link:
https://www.fujitsu.com/us/services/biometrics/palm-vein/
 

Have you succeed on it?
I am starting work on PalmSecure with Linux on MID (ARM).
 
Hello!
I just got one of these, and I'm also trying to have it working on a linux ARM board.

Did any of you succeed in making a libusb driver or something similar?

Thanks
 

i am also working with libusb to access capture data ,open and close for palm secure device.

can you make it ?

kindly tellme any one how i proceed!!!!!!!!!

thanks
 

It's working fine for me, both on Windows and Linux, on multiple platforms.

I'm afraid I cannot post the source codes, but I can give you the basic idea and save your time with some of the tricks.

You'll use a USB sniffer to monitor the communication with the device while you're using Fujitsu's software, and reproduce those with libusb.

At first, there is a somewhat long initialization. I got no idea what each message does, but the device behaves pretty nicely all times, giving always the same responses.
One of the messages will be a long 307200-bytes package. I've got no idea of it's meaning, but it seems important =)
If you find out what it is, please let me know. hard-coding it is taking too much space ;)

Then, you start the main-loop. You'll use some control messages to check the "built-in-hand-detector", or whatever they call it. It's a clever trick: The device casts 4 spots of light in your hand, and automatically detects their positions in the image. Based on this, it calculates the distance of your hand to the device.

The first thing to do in the main loop is to retrieve this information. I can't remember the format, but I use only 4 bytes of the package, which indicates the calculated distance of each spot.

With this information, you can show messages like "Place your hand, Too far, Too near, inclinated to left, etc".
You can also use this information to estimate the resolution of the image, which is proportional to 1/distance.
I suppose that you could apply perspective correction on the image too, in case the hand is inclinated, but I didn't go that far.

When you find the values to be in a nice range, you ask the device to capture the image.

It can capture 3 kinds of image. In the application I sniffed, all of them were retrieved always, but it will work fine if you choose to retrieve just one:
- The light-spot: The whole image is dark, and the 4 spots and be seem clearly over your hand. This image is 640*240, If I'm not mistaken
- Camera, without leds: Captures a single 640*480 frame of video. But, since the infrared leds are off, you can't see the veins.
- Camera, with leds: Captures a single 640*480 frame of video. Leds are now on, and you can see the veins. Unfortunately, this is the only image encrypted.

Luckily, the encryption is pretty simple: A simple XOR beetwen the actual image and a fixed mask. Also, just the middle 240 lines are affected.

To recovery the mask, all I had to do was capturing a strong light. Since it's "too-white", all the pixels go to 0xFF, and the mask will be the NOT of the data returned.


The only problem is: I have just one device to test. It works all the times with the same xor-mask, but I'm afraid this mask might be device-specific.

Other possibility I see is that the mask is related to the big 307200-bytes package sent during initialization. If that's the case, it would be nice to generate a initialization package so that applying the XORs isn't needed.
Even better, being able to generate these would save me ~500K of data.

If you find something else about it, please tell me.
Regards
Paulo
 

hi,

i am hang up with kernel version because pamsecure supports kernel version and my board linux supports different one,any solution for that can i use ubntu which version and sdk can help me by fujitsu.

thanks for your help,
 

How can I get/buy the sdk or the sensors?

I looked all over the fujitsu site and found nothing. :(

does anyone know how the sensor works? (eg: infrared, etc)
 

Hello,


I have some questions regarding the post of paulo_raca.

I am using the palmSecure sensor for one of my projects.
I tried to understand how this sensor work so studied it in a hardware point of view.
But software isn't that much my field.

So could you tell me what are the softwares you use to "sniff" the communication with the device and how you use them?

Regards
 

Hi paulo,

You mentioned you have written driver for Fujitsu PalmSecure sensor, what OS does you driver support. If driver support Linux, It is OK to use it in Ubuntu?

Fun
 

Re: palmsecure in ubuntu

Hi Everybody, i am doing a reversing engineer project of a driver for the vascular pattern sensor of Fujitsu PalmSecure, i use LibUSB and the OS is Linux (Ubuntu), if anyone has information about this protocol or want information about it i am glade to share it.
If you don't know this biometric check this link:


Hi freko,

You post a message here at dsd’s weblog
It is true that you have successfully developed PalmSecure driver for ubuntu?
Can you share with me?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top