210 likes | 309 Vues
This system by Gregory Geosits and Todd Little provides secure authentication and resource management. The authentication server and resource manager ensure client authenticity through DES encryption. Communication is via Java RMI, and interface design decisions focus on security attributes sharing.
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