Skip to content

Proof-of-Concept for the Ph.D. Dissertation "Software-Defined Location-Enhanced, Multi-Factor Authentication with Attribute-Based Encryption

Notifications You must be signed in to change notification settings

locksmithone/authenticationService

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

AuthenticationService

Authentication Service proof-of-concept (PoC) system for Ph.D. dissertation.

This Proof-of-Concept implements:

  • The Location Service (LocAuth) and its key functionalities.
  • Databases to store Location Service data, such as entities, keys, key types, etc. The system includes three databases:
    • one for Location Service;
    • one for ABE Authorities (Relying Parties, RPs);
    • and one for users. All databases have the same construction, but might contain different data.
  • The LOCATHE location-enabled authentication protocol in the form of two agents that run the protocol on behalf of entities.
    • The Location Service agent, which is also named Service or Responder (r).
    • The User agent, also named the Initiator (i).

Directories

AuthenticationService/authenticationservice/. contains the modules for the Location Service and database management.

AuthenticationService/authenticationservice/test contains unit test files, the protocol simulator (locathesimulator.py) and agent simulators (locationserviceagentsimulator.py, useragentsimulator.py). We will probably transfer these protocol-specific files to the parent directory here, as they are more simulators than test files.

AuthenticationService/authenticationservice/evaluation/ contains the actual evaluation code that runs the proof-of-concept. The main subdirectory contains the main code with a simulation of the protocol, and the other subdirectories contain simulations of specific attack scenarios.

Running the PoC

For a vizualization of the LOCATHE protocol at work, run locathesimulator.py. This code will instantiate the peer agent objects, the appropriate Location Service, Authentication, User objects, will populate the databases with necessary data for the simulation and start both Location Service and User agent peers in their own independent processes within the same localhost.

The agents will then engage into the LOCATHE exchange and complete the protocol, either successfully or not, depending on the options that were chosen for the simulation (to either forcefully fail or not).

Unit Tests

The majority of modules are unit tested, and the tests are under AuthenticationService/authenticationservice/test. Functions in the LOCATHE simulator/agents are mostly integration tested due to the necessity of network communications with the other peer.

About

Proof-of-Concept for the Ph.D. Dissertation "Software-Defined Location-Enhanced, Multi-Factor Authentication with Attribute-Based Encryption

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages