Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

NOTE: The assessment in the spec screenshotted ( assessment 2 ) has already been done, this assessment is building on the previous one. Aims Develop

NOTE: The assessment in the spec screenshotted (assessment 2) has already been done, this assessment is building on the previous one.
Aims
Develop a secure networked application using TCP sockets
Identify security/privacy/trust issues and implement solutions to mitigate them
Develop a protocol to allow secure transfer of data
Introduction
The messaging system you developed in the previous project was insecure (e.g. no authorisation factors used to verify a user's identity, and all messages sent in plaintext). Your task in this assignment is to identify security issues in your solution to Project Assessment 2 and implement a secure system to take its place.
Protocol
Many of the security issues in the previous assignment were due to the protocol. Thus, while you are free to base your protocol on the previous version, you are given free reign to modify the protocol in any way to make the system more secure.
Functionality
As well as the functionality from assessment 2, your system should provide as much of the following functionality as possible:
Verify users when they log into the system to ensure they are who they say they are
Encrypt all communication between client and server
Allow users to send and receive messages between each other with the knowledge that all messages are authentic and can only be seen by the intended recipient
Allow users to know when messages they have sent have been read (to help ensure non-repuidiation)
Any other security enhancements you can think of
Details
You may use any programming language that runs on turing.une.edu.au to implement your solution. Your solution should be submitted through myLearn in a single .zip or .tgz file which, along with your source code and any instructions to compile your code, should also include two shell scripts:
startServer.sh which takes a port number as its only command-line parameter and attempts to start a server on that port. If the server is unable to be started (perhaps because that port is already in use), your program should exit with an appropriate error message.
startClient.sh which takes a host name as its first command-line parameter and a port number as its second command-line parameter and attempts to connect to the server with the given host name and port number. If the client is unable to connect, it should exit with an appropriate error message.
Your submission should also include two documents. The first, in a PDF file named protocol.pdf, should describe the protocol used by your system in enough detail to allow another developer to be able to implement your protocol by looking only at this document. The second, in a PDF file named report.pdf, should describe the security/privacy/trust issues that were present in your previous project submission, your approaches to mitigating those issues (which may refer to your protocol document), and how those approaches work (including any limitations). If you are unable to implement some mitigations (e.g., due to time constraints), it is recommended you still list them in the report, indicating why you were unable to implement them.
Screenshot of project assessment 2 spec to be based on attached.
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Advances In Knowledge Discovery In Databases

Authors: Animesh Adhikari, Jhimli Adhikari

1st Edition

3319132121, 9783319132129

More Books

Students also viewed these Databases questions