A simple application to demonstrate how to use FIDO UAF protocol and NFC on physical access control
- This client got some codes from Daon Inc. Sample FIDO UAF App, eBay UAF open source project and Android Google Samples
You can use this application without a card reader if you only want to do tests about FIDO UAF Protocol. This application provides UI buttons that allow you to:
- Register a key at a FIDO UAF Demo Server
- Generate authentication requests to a FIDO UAF Demo Server
- DeRegister a key at a FIDO UAF Demo Server
Is it possible to use FIDO UAF Standard on an Android mobile + NFC to openning doors?
This project is a simple prototype to verify how FIDO could be used in this scenario (see FIDO Security Reference). This card reader uses NFC to communicate with a specific Android Opening Door App, that emulates a NFC card using Android's Host-based Card Emulation functionality.
This application depends of a third-party, called FIDO UAF RP Server.
Figure below shows all necessary components and the relation between them
- One Android mobile phone (with NFC) to acts like a card (Android OS >= 6 + Fingerprint sensor)
- Dummy FIDO UAF Client installed on the same mobile phone
- One computer to host FIDO UAF Demo Server
- One Android mobile phone (with NFC) to acts like a card reader (Android OS >= 5)
- If you prefer, there is a Docker container ready to use here: https://github.com/emersonmello/docker-fidouafserver
- Dummy FIDO UAF Client
- Opening Door Android App - You are already here!
- Start FIDO UAF Demo Server
- Install Dummy FIDO UAF Client and Opening Door Android App on your another Android phone
- On Opening Door Android App touch on "Settings" on the main application menu and update "server endpoint" field to the IP Address and PORT where you are running the FIDO UAF Demo Server
- On Opening Door Android App touch on "Whitelisting facetID" (to follow FIDO UAF specifications ).
- Or you can do it: On Opening Door Android App touch on "See app facetID" on the main application menu and insert the showed value in FIDO UAF Demo Server MySQL database. For instance:
INSERT INTO facets (fDesc) values ('android:apk-key-hash:Lir5oIjf552K/XN4bTul0VS3GfM')
- Or you can do it: On Opening Door Android App touch on "See app facetID" on the main application menu and insert the showed value in FIDO UAF Demo Server MySQL database. For instance:
- Install Door lock NFC card reader for Android
- On Door lock card reader for Android touch on "Settings" on the main application menu and update "server endpoint" field to the IP Address and PORT where you are running the FIDO UAF Demo Server
- Open Opening Door Android App and touch "Register" button
- Touch on "Do an authentication request"
- Follow the instructions provided by application (i.e. put your finger on the sensor, etc.) and you should see the message "Access Granted"