Tribler / tribler

Privacy enhanced BitTorrent client with P2P content discovery
https://www.tribler.org
GNU General Public License v3.0
4.86k stars 451 forks source link

portable biometric-based trust #2812

Closed synctext closed 4 years ago

synctext commented 7 years ago

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 commented 7 years ago

@Saminobi

deactivated-acc commented 7 years ago

Hello I am also in the group

Roccy commented 7 years ago

@jorenham @luHub @jrauhamaa @Roccy

Roccy commented 7 years ago

@shashankpr

synctext commented 7 years ago

tasks for next week:

Existing software, compile it, and missing elements.

synctext commented 7 years ago

Please ignore the blockchain part for now, suggest focus on core fingerprint matters first. Blockchain solution by TUDelft:

jorenham commented 7 years ago

Repo: https://github.com/jorenham/fingerblox

jorenham commented 7 years ago

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 commented 7 years ago

https://www.google.nl/search?q=bluetooth+fingerprint+scanner+android

ipsamiotis commented 7 years ago

Fingerprint Extraction:

synctext commented 7 years ago

Task for final project prototype:

jorenham commented 7 years ago

Https://github.com/jorenham/fingerblox

synctext commented 7 years ago

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 commented 7 years ago

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 commented 7 years ago

As discussed:

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 commented 7 years ago

https://github.com/jorenham/fingerblox/releases/tag/V0.1

synctext commented 7 years ago

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

synctext commented 7 years ago

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 commented 7 years ago

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

synctext commented 7 years ago

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 commented 7 years ago

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

synctext commented 7 years ago

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 commented 7 years ago

@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 commented 7 years ago

Current report : portable-biometric-based.pdf

synctext commented 7 years ago

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

thinhtp commented 6 years ago

@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 commented 6 years ago

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

synctext commented 4 years ago

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