Skip to content

A simple application to demonstrate how to use FIDO UAF protocol and NFC on physical access control (Door lock systems)

License

Notifications You must be signed in to change notification settings

emersonmello/openingdoor

Repository files navigation

Door lock NFC card for Android mobile phone

A simple application to demonstrate how to use FIDO UAF protocol and NFC on physical access control

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:

Motivation

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

alt text

Requirements

  1. One Android mobile phone (with NFC) to acts like a card (Android OS >= 6 + Fingerprint sensor)
  2. Dummy FIDO UAF Client installed on the same mobile phone
  3. One computer to host FIDO UAF Demo Server

Optional

  1. One Android mobile phone (with NFC) to acts like a card reader (Android OS >= 5)

Getting necessary codes

  1. FIDO UAF Demo Server
  1. Dummy FIDO UAF Client
  2. Opening Door Android App - You are already here!

Optional

  1. Door lock NFC card reader for Android

Setting up

  1. Start FIDO UAF Demo Server
  2. Install Dummy FIDO UAF Client and Opening Door Android App on your another Android phone
  3. 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
  4. On Opening Door Android App touch on "Whitelisting facetID" (to follow FIDO UAF specifications ).
    1. 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')

Optional

  1. Install Door lock NFC card reader for Android
  2. 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

Testing

  1. Open Opening Door Android App and touch "Register" button
  2. Touch on "Do an authentication request"
  3. Follow the instructions provided by application (i.e. put your finger on the sensor, etc.) and you should see the message "Access Granted"

UML Sequence Diagram

alt text

About

A simple application to demonstrate how to use FIDO UAF protocol and NFC on physical access control (Door lock systems)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages