Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
INFO2222 Project
1 Security Part Description
Design and implement a secure end to end messaging tool.
Basic exemplary flow:
1. In a page, user A logs in, typing username, pwd
2. If successfully log in, showing friend list, could contain just one; if log in fail, show failure reason.
3. After both A,B log in (in two pages, assuming they are “friends” in the chat), A sends a message
(the personalized testing message will be notified before the deadline) to B securely, showing at B’s
side.
Template. We have provided a website template so that you can run a server and show corresponding
sites with the prepared the html pages. While the control functions are located at the corresponding
Python files. You can just modify and add function in corresponding Python files. You may want extra
package to use advanced libraries.
Examine criteria:
1. Properly store passwords on the server —– 15 points
2. When log in, first check server’s certificate (e.g., you can manually create one using a hardcoded
CA public key in your code) — 15 points
3. Securely transmitting a pwd to server (leveraging secure protocols or design the secure transmission
properly) — 10 points
4. Properly check whether password is correct (at least use the simple method that defends against
offline pre-computation attacks) —– 10 points
5. Securely transmitting the message from A to B, even the server who can forward communication
transcript cannot read the message, or modify the ciphertext (leveraging secure protocols or design
the authenticated secure transmission properly) — 40 points
6. Clarify of the report. — 10 points
There are also 20 points bonus if done well or extra functionalities are added, and for adjustment on
single-member team.
Reporting requirement.
1. explain in one or two sentence how you address each of above items
2. show screenshot as evidence, if you can demonstrate intermediate executions in extra page, would
be even better.
1
3. clear identify how group members divide the tasks.
4. no explicit word requirement
Submission deadlines. The milestone report about the security part (and corresponding code) will
be due on Saturday mid-night of W8.
Remark 1 The template and code were just an example, if you prefer to do it in other framework, or
using other language, it is OK. Just to make sure you can demonstrate that you properly implement the
security features listed above.
2 Usability Part Description
Expand the basic web based E2EE (secure messaging) to be a website of support system for undergraduate
School of Computer Science University of Sydney students to share experiences and seek the necessary
help (if needed) for their academic studies. It should also have a knowledge repository where students can
share reading or learning materials that they found useful to understand challenging computing concepts.
You already have an account and messaging service that allows pair-wise communication among
students themselves and to specific academic/administrative staff.
Besides the Login, Register, Messaging (view, send), Regular User role, your website should also have
functionalities like following (to be assessed in last activity)
• Data/Info hierarchy – how you organize user generated contents
• Admin Role - delete/mute user, delete a course guide
• One specific user function – depending on your user investigation.
In this part of the project, you are required to design the website with usability and accessibility in
mind. A series of recommended activities will be provided in this document as a guide for your team’s
action plan and discussion. It is advisable that you pace yourself and utilize the practical session to collect
feedback on your project from your tutors and peers through the mini-presentation session. Starting from
Week 8, you can use the lab to do mini-presentation to collect feedback from both tutors and peers on
pieces of work that have been produced. It is not necessary for presentation slides to be used.
Hint: Think about the type of feedback that you would like to get and select the results and work
to be presented. you will need to prepare a prototype of the website to conduct a usability test of your
website to the tutor and peers in labs. During this presentation session, you will need to demonstrate
a typical scenario in which your website will be used by your intended user(s) together with the core
requirements.
Submission deadline. The final report about the usability part (and corresponding code) will be
due on Weds mid-night of W11.