Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

portable biometric-based trust #2812

Closed
synctext opened this issue Feb 20, 2017 · 28 comments
Closed

portable biometric-based trust #2812

synctext opened this issue Feb 20, 2017 · 28 comments

Comments

@synctext
Copy link
Member

synctext commented Feb 20, 2017

Hacking Lab assignment TUDelft

Fingerprints are a fascinating way of identification. Biometric identification is a key primitive that is able to create trust in a large variety of scenarios. This project is focused on demonstrating that primitive in a specific practical scenario: a secure secret meeting.

The problem scenario is meeting people in a remote location and establishing their identity without the danger of an analog man-in-the-middle attack. Within this scenarios passports can’t be relied on, they can be falsified. You will hack together an Android app designed to identity people with extensive measures for tamper-resistance.

You will use the tamper-proof blockchain developed at TUDelft to store encrypted fingerprint images. You will design a procedure to arrange and securely identify members secure meeting members. You can assume, for instance, that encrypted fingerprints of all participants are stored beforehand on the Delft blockchain, Out-of-band trust may be assumed, encrypted fingerprints on the blockchain are authentic. An important danger is the easily duplication of fingerprint data. Once your fingerprint data leaks, you need new fingers. You can assume any modern smartphone has the storage capacity to download a complete replicate of all fingerprints and locally search fingerprint data. This portability and lack of traceability provides makes your Android app very generic. In general your app and usage procedures should provide portable trust with biometric validation.

You are required to use the TUDelft blockchain-lab.org software for storage. If your hack is operational we will arrange a presentation of your work to the State Agency for Identity Data, responsible for Dutch passports. Semi-random list of available software: https://github.com/rtshadow/biometrics
https://github.com/cloudmesh/example-project-nist-fingerprint-matching
https://github.com/Mauin/RxFingerprint

Use fingerprint scanner, etc

@ipsamiotis
Copy link

@Saminobi

@deactivated-acc
Copy link

Hello I am also in the group

@Roccy
Copy link

Roccy commented Feb 20, 2017

@Roccy
Copy link

Roccy commented Feb 20, 2017

@shashankpr

@synctext
Copy link
Member Author

tasks for next week:

  • Android fingerprint bitmap export
  • Feature extraction
  • database search

Existing software, compile it, and missing elements.

@synctext
Copy link
Member Author

synctext commented Feb 24, 2017

@jorenham
Copy link

@jorenham
Copy link

jorenham commented Feb 27, 2017

blockchain fingerprint 1
App flow:

  1. Read fingerprint and extract features
  2. Hash features and find match in the blockchain (in the image the 2nd hash)
  3. If found, continue, else, give feedback
  4. Extract ID from hash (first n bits)
  5. First k bits of ID is the position of the ID of the name
  6. Find the name hash in the blockchain
  7. Ask user to enter name
  8. Hash the name, check if match
  9. Give user feedback

@jorenham
Copy link

@synctext
Copy link
Member Author

synctext commented Mar 8, 2017

Task for final project prototype:

@jorenham
Copy link

jorenham commented Mar 8, 2017

@synctext
Copy link
Member Author

synctext commented Mar 8, 2017

https://github.com/noureldien/FingerprintRecognition
Does it already exists ???? evaluate & study their code in detail, or fork it. DOCS
image
• Fingerprint Recognition in runtime using images captured from mobile.

• Feature extraction using Gabor filter, redge orientation and SIFT. Feature matching using SIFT and RANSAC.

• This project is built using Java, Android and OpenCV. Also built in MATLAB.

• The project is done as a part of coursework for 'Advanced Computer Vision' subject, MSc Artificial Intelligence, University of Southampton.

@Roccy
Copy link

Roccy commented Mar 15, 2017

Screenshot Camera Preview Fingerblox app cropped

Using a fisheye/macro lens that can easily be put on a smartphone camera, a proper quality image can be taken of the fingerprint.

@synctext
Copy link
Member Author

synctext commented Mar 20, 2017

As discussed:

  • important to have a wow-factor demo
  • first step is camera focus problem (OK to really fix this with assembly hacking)
  • background versus skin detection
  • histogram equalization
  • use dataset to bypass the camera problem in upcoming 2-week sprint
  • extract phone capabilities, shown on screen
  • expose the FocusArea and OnFocusNotification details
  • use steps in the GUI, show intermediary results, instead of blocking for 6 seconds

From the existing app:

Raw fingerprint image
Make grayscale
Mask with ellipse
Histogram equalisation
Ridge orientation filter
Thresholding
Thinning
SIFT feature extraction
RANSAC matching

@jorenham
Copy link

@synctext
Copy link
Member Author

synctext commented Mar 24, 2017

Sorry, this unsigned release is not working for me. Please test on various phones and fix.
screenshot_20170323-182526

@synctext
Copy link
Member Author

Works!
The install procedure can hopefully be improved by bundling the lib. I successfully made a fingerprint picture of a round-shaped coffee cup. Impressive Zebra! Keep up this pace please..
screenshot_20170324-222307

screenshot_20170325-082540

@jorenham
Copy link

jorenham commented Apr 2, 2017

Biometric authentication on the blockchain apparently already exist:
https://humaniq.co/

@synctext
Copy link
Member Author

synctext commented Apr 2, 2017

Cool.
Surely they have a server in there somewhere for banking. good find.

'''
Our open source stack and APIs will be available for startups and other businesses to build services on our core technologies to stimulate the ecosystem and circular economy even further. The Ethereum Blockchain APIS ad makes it easy for any business to easily adapt their service and plug it into Humaniq’s network to reach a huge, untapped audience. We will also be starting a fund to help grow and accelerate some of our young startup partners.
'''

@synctext
Copy link
Member Author

synctext commented Apr 3, 2017

https://github.com/FingerJetFXOSE/FingerJetFXOSE
https://github.com/search?utf8=%E2%9C%93&q=Fingerprint+Feature&type=

  • progressive zebra processing
  • 1000+ image dataset peformance analysis
  • one finger from numerous angles
  • repeatable feature extraction
  • wow-factor animated GIF of user experience
  • replace generic feature extraction with human fingerprint feature extraction

@synctext
Copy link
Member Author

synctext commented Apr 24, 2017

wow-factor animated GIF of user experience

Re-use play store listing in report for easy-to-understand explanation.

Difficulty is how to easily make a wow-factor graph out of an operational app. Please be inspired by other publications in this area. Copy their experimental approach if possible.

Report: intro, problem description, algorithms, prototype, and experimental results + conclusion.

Quoting Article 12, put focus on science side?

@jorenham
Copy link

jorenham commented May 7, 2017

@synctext I can't seem to upload another version to the Play Store unless we have a privacy policy URL.
What should I enter there?

@synctext
Copy link
Member Author

Current report :
portable-biometric-based.pdf

@synctext
Copy link
Member Author

Published final article: https://arxiv.org/abs/1706.03744

@thinhtp
Copy link

thinhtp commented Mar 30, 2018

@synctext Hi sir,
We can use fingerBlox for detect fingerprint classification in 5 types Tent arch, Arch, Whorl, Ulnar loop, radial loop, for faster matching algorithm.
Can we do this, please?

@synctext
Copy link
Member Author

@thinhtp You are very much invited to build upon this work! Have fun.

@ichorid ichorid added this to To do in SSI via automation Jul 18, 2020
@synctext
Copy link
Member Author

Closing this issue for now, until new students are available to work on this topic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
SSI
  
Done
Development

No branches or pull requests

6 participants