20-CS-6053 Network Security Spring 2017
Lab 1

Secret Key, Public Key, Hash Algorithms, IPSec, Kerberos, Authentication, more

 
Communicating with a Monitor

Due: January 30, 2017 (submit instructions: here)

Rationale:
    To write basic code for communicating with a monitor. Gain familiarity with the design and use of elementary protocols. Prepare for necessary components of the course project.
 
Lab Problem:
Write C++ or Java code to support communication with a Monitor. The Monitor listens for connection requests on port 8180 of helios.ececs.uc.edu. A request for a connection is made by a Client who also supplies a port and host containing the Client's Server. The Monitor then authenticates itself to the Client by sending a secret to the Client's Server over the specified channel. Details of the protocol, including all commands and directives you need to support, are given here.

We provide sample Java code which is the beginning of an Active Client, a Client's Server, and the means to start them. Here is skeleton for the MessageParser class.