1. Homepage
  2. Programming
  3. CSCI968 Advanced Network Security Summer 2022 - Assignment1: Remote Login Protocol

CSCI968 Advanced Network Security Summer 2022 - Assignment1: Remote Login Protocol

Engage in a Conversation
UOWUniversity of WollongongCSCI968Advanced Network SecurityCSCI468JavaC/C++Remote Login ProtocolCSCI 968

CSCI968 Advanced Network Security Summer 2022 CourseNana.COM

Assignment 1 (15 Marks) Submission Due: 29 Jul 2022 23:30 CourseNana.COM

Part 1: Programming CourseNana.COM

Write (Java or C/C++) UDP programs to implement a remote login protocol. For simplicity, let us call the programs “Host” and “Client”, which are executed by Alice and Bob, respectively. CourseNana.COM

Alice and Bob share a common password PW, which contains 8 alphanumeric characters. Alice stores the password in a hashed form in a password file. Alice also has a public and privacy key pair (pk, sk) for the plain RSA encryption and Bob stores the public key digest H(pk) where H is the SHA-1 hash function. CourseNana.COM

Alice wants to authenticate Bob for every remote connection request from Bob. This is done through the following identification protocol: CourseNana.COM

1.     1:  B A: Username CourseNana.COM

2.     2:  AB:pk,NA CourseNana.COM

3.     3:  B A: RSA(pk, OTP) CourseNana.COM

4.     4:  A B: Success/Fail CourseNana.COM

In the above protocol, NA is a 128-bit random string, OTP is a one-time password which is computed as follows: CourseNana.COM

where H is the SHA-1 hash function. CourseNana.COM

Implementation guidelines CourseNana.COM

OTP = H(H(pw), NA) CourseNana.COM

·       Place Host and Client in two separate directories: Alice and Bob. Create a password file in Alice’s directory. For simplicity, we assume the password file contains only 1 record (Bob, H(PW)). CourseNana.COM

·       Generate a public and private key pair for the Alice, and store the generated public and private key pair (pk, sk) in a key file under Alice’s directory. Also, store H(pk) in a key file under Bob’s directory. CourseNana.COM

·       Alice executes Host. CourseNana.COM

- Host is running and waiting for connection. CourseNana.COM

Bob executes Client. CourseNana.COM

·       -  Client asks for input for username and password from user. CourseNana.COM

·       -  Bob inputs the username and password via keyboard. CourseNana.COM

Client and Host perform the identification protocol as outline above. CourseNana.COM

·       -  Client sends the first message containing Bob’s identity to Host CourseNana.COM

·       -  Host generates NA and sends the 2nd message to Client CourseNana.COM

·       -  Client checks whether H(pk) matches the stored value in Bob’s key file; if not, terminate the communication; otherwise, compute OTP and send the 3rd message CourseNana.COM

·       -  Host decrypts OTP, verifies its value and sends the notification to Client CourseNana.COM

How to run? CourseNana.COM

Your programs should run according to the protocol. Host and Client should be executed on different windows. For convenience of marking, please use the local IP: 127.0.0.1 with different port numbers for Host and Client for the submitted version. For simplicity, there is no GUI required in this assignment. CourseNana.COM

You can choose to use existing library functions or open source code to implement UDP sockets, RSA and SHA-1. You should provide a reference if you use a downloaded code. CourseNana.COM

Mark distribution: CourseNana.COM

1.     Protocol setup: 2 marks CourseNana.COM

2.     Identification protocol implementation: 6 marks CourseNana.COM

3.     Proper message display: 2 marks CourseNana.COM

The code that cannot be compiled or executed will receive a zero mark. CourseNana.COM

Part 2: Protocol analysis CourseNana.COM

1.     Explain the purpose of using the nonce NA in the protocol. CourseNana.COM

2.     Explain the purpose of checking H(pk) by the client, i.e., is there any attack if no such checking is CourseNana.COM

performed in the protocol? (2 marks) CourseNana.COM

3.     Is there any advantage if we replace the plain RSA encryption by a randomised public-key encryption CourseNana.COM

scheme (e.g., the ElGamal encryption)? CourseNana.COM

Files to be submitted: CourseNana.COM

All source codes (Do not submit any executable).
A readme file (text/ACSII only): instructions about how to compile and run your code. Your answers (in a word/pdf file) for Part 2.
CourseNana.COM

Submission CourseNana.COM

(2 marks) CourseNana.COM

Compress all the files to be submitted into a zip file and submit it via the submission link provided in the Moodle site. CourseNana.COM

Late Submission: Penalty is 25% deduction per day (including weekends), unless Academic Consideration is granted. CourseNana.COM

Plagiarism CourseNana.COM

A plagiarised assignment will receive a zero mark and be penalised according to the university rules. Plagiarism detection software may be used. CourseNana.COM

(1 mark) CourseNana.COM

  CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
UOW代写,University of Wollongong代写,CSCI968代写,Advanced Network Security代写,CSCI468代写,Java代写,C/C++代写,Remote Login Protocol代写,CSCI 968代写,UOW代编,University of Wollongong代编,CSCI968代编,Advanced Network Security代编,CSCI468代编,Java代编,C/C++代编,Remote Login Protocol代编,CSCI 968代编,UOW代考,University of Wollongong代考,CSCI968代考,Advanced Network Security代考,CSCI468代考,Java代考,C/C++代考,Remote Login Protocol代考,CSCI 968代考,UOWhelp,University of Wollongonghelp,CSCI968help,Advanced Network Securityhelp,CSCI468help,Javahelp,C/C++help,Remote Login Protocolhelp,CSCI 968help,UOW作业代写,University of Wollongong作业代写,CSCI968作业代写,Advanced Network Security作业代写,CSCI468作业代写,Java作业代写,C/C++作业代写,Remote Login Protocol作业代写,CSCI 968作业代写,UOW编程代写,University of Wollongong编程代写,CSCI968编程代写,Advanced Network Security编程代写,CSCI468编程代写,Java编程代写,C/C++编程代写,Remote Login Protocol编程代写,CSCI 968编程代写,UOWprogramming help,University of Wollongongprogramming help,CSCI968programming help,Advanced Network Securityprogramming help,CSCI468programming help,Javaprogramming help,C/C++programming help,Remote Login Protocolprogramming help,CSCI 968programming help,UOWassignment help,University of Wollongongassignment help,CSCI968assignment help,Advanced Network Securityassignment help,CSCI468assignment help,Javaassignment help,C/C++assignment help,Remote Login Protocolassignment help,CSCI 968assignment help,UOWsolution,University of Wollongongsolution,CSCI968solution,Advanced Network Securitysolution,CSCI468solution,Javasolution,C/C++solution,Remote Login Protocolsolution,CSCI 968solution,