210 likes | 305 Views
Authentication System with Resource Management. Gregory Geosits Todd Little. Overview. Authentication Server Provide a means for a client to prove authenticity Provide a means for a resource manager to verify a client’s authenticity Implement a secure encryption algorithm. Overview.
E N D
Authentication SystemwithResource Management Gregory Geosits Todd Little
Overview • Authentication Server • Provide a means for a client to prove authenticity • Provide a means for a resource manager to verify a client’s authenticity • Implement a secure encryption algorithm
Overview • Resource Manager • Provide a resource for an authentic client • Be able to verify a client’s authenticity
Overview • Client • Connect to an authentication server and verify authentication • Connect to a resource manager, prove authentication, and obtain a resource
Design Decisions • Communications via Java RMI • Each component of the system must be a different host • DES private-key encryption for authentication • 1-hour time window before authentication must be re-verified • 1 Interface for the Server and RM to share
Security Attributes • Data Encryption Standard • Private Key Based • Implementation taken from ECE5477 • Method Usage • DES d = new DES(key); • Long e_value = d.encrypt(value); • Long d_value = d.decrypt(e_value);
Code Specifics • Server • Resource Manager • Client
Server • Main ( ) Method • Set up RMI host • Bind host to RMI port 8182 • Create registry on that port • Initialize client names and private keys
Server • Client_Connect ( ) Method • Parameters: String name, long e_key • Return Value: long encrypted_HOD
Server • Resource_Connect ( ) Method • Parameters: String name, long e_data • Return Value: Boolean authenticated
Server • Get_Hour ( ) Method • Parameters: none • Return Value: integer HOD
Server • Resource_Deliver_Message ( ) Method • Parameters: String name, long data • Return Value: String message • Dummy Method
Resource Manager • Main ( ) Method • Initialize RMI host • Bind host to RMI port 8183 • Create registry on that port
Resource Manager • Resource_Deliver_Message ( ) Method • Parameters: String name, long data • Return Value: String message
Resource Manager • Resource_Connect ( ) Method • Dummy Method • Client_Connect ( ) Method • Dummy Method
Client • Main ( ) Method • Set up two RMI connections • Encrypt its own key • Authenticate to server • Retrieve message from Resource Manager • Display message
Running the System • Server • Java Server • Resource Manager • Java Resource • Client • Java Client
System Testing • 4 Scenarios • (Failure) Incorrect Name, Correct Key • (Failure) Correct Name, Incorrect Key • (Failure) Incorrect Name, Incorrect Key • (Success) Correct Name, Correct Key
Enhancements • Private Key Transmission via Public Key Algorithm • Additional Resource Manager Functionality • Implementation in TCP
Demonstration Thank You