Answered step by step
Verified Expert Solution
Question
1 Approved Answer
For this project, you will be writing a client/server application to implement a somewhat secure brokerage service using TCP s ockets. Secure communication between a
For this project, you will be writing a client/server application to implement a somewhat secure brokerage service using TCP sockets. Secure communication between a client and the broker will be through a four-way handshake using RSA public key encryption (PKE). A third-party program will act as the public-key manager. All communication between client and broker will be secured using RSA PKE.
Assumptions: All principals (clients and brokers) know the Key Manager's IP address and port number. All clients know the IP address and port number of all brokers. Clients requests to buy/sell stocks do not need to identify which stock. Assume a default stock. (Students may add this field in the struct definition, but it will increase the size of the message that need to be encrypted. . Client (1) Register(Client ID, K(Client, pub)) Key Manager Broker (1) Register Broker ID, KBroker, pub)) (2) Request_keylBroker) (3) Key(Broker, pub) (4) P Buy Clien t ID, Trans ID Num_Stocks) C Encrypt P, K(Broker, publ] (5) Decrypt[C, KBroker, priv)] P Confirm(Client ID, Traris_ID, Num_Stocks) C Encrypt[P, KiClient, pub)] (6) Decrypt|C, K(Client, priv)l 6) Request keyiClient) P- Verify Client_ID, Trans_ID Num_Stocks) Ccrypt[P, KiClient, priv)] (7) Key(Client, pub) (8) Decrypt[C, KClient, pub)] P Done(Client_ID, Trans ID Num Stocks) C Encrypt[P, K(Broker, priv)] 9 Decrypt[C, K/Broker, pub)] Assumptions: All principals (clients and brokers) know the Key Manager's IP address and port number. All clients know the IP address and port number of all brokers. Clients requests to buy/sell stocks do not need to identify which stock. Assume a default stock. (Students may add this field in the struct definition, but it will increase the size of the message that need to be encrypted. . Client (1) Register(Client ID, K(Client, pub)) Key Manager Broker (1) Register Broker ID, KBroker, pub)) (2) Request_keylBroker) (3) Key(Broker, pub) (4) P Buy Clien t ID, Trans ID Num_Stocks) C Encrypt P, K(Broker, publ] (5) Decrypt[C, KBroker, priv)] P Confirm(Client ID, Traris_ID, Num_Stocks) C Encrypt[P, KiClient, pub)] (6) Decrypt|C, K(Client, priv)l 6) Request keyiClient) P- Verify Client_ID, Trans_ID Num_Stocks) Ccrypt[P, KiClient, priv)] (7) Key(Client, pub) (8) Decrypt[C, KClient, pub)] P Done(Client_ID, Trans ID Num Stocks) C Encrypt[P, K(Broker, priv)] 9 Decrypt[C, K/Broker, pub)]Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started