|
Computer Science & Software Engineering Computer and Network Security (CITS3231) - 2008 project |
|
||
Computer and Network Security (CITS3231) - 2008 projectAlso check the project clarifications and project resources webpages. Digital signatures are increasingly used to verify the authenticity of electronic documents. A cryptographic hash is taken of the document, and that hash is encrypted with the signer's private key. The recipient of the document may consider it to be authentic or safe (depending on the context) if they can verify the digital signature. Digital certificates are then used to verify the identity of the individual presenting the public key with which a digital signature may be verified. Digital certificates are, themselves, verified by following a hierarchical chain of trust from the original certificate to a root authority. The root authority "earns" their trust through both being an early member of the "certification marketplace", and through their continued survival in that competitive marketplace. An alternative to the hierarchical certificate model is provided by a ring of trust in which we believe that a signed document is authentic, or safe, if it has been signed by someone whose digital certificate has been signed by someone, whose digital certificate has been signed by someone, ...., until we locate a closed ring of people who each vouch for each other. No definitive root authority is required. Instead, trust is earned if the closed ring is simply long enough, or if it contains one of more people whom you definitively trust and is long enough (but probably containing fewer people).
AimThe aim of the project is to develop a secured file storage facility, named thevault, whose contents are protected by a "ring of trust". The files being stored are to be stored within a standard Linux file-system, but all activities involving the files, such as adding, removing, fetching, and verifying, are to be performed by a network accessible service.The storage facility is to be accessed through a command-line program named thevault, which is to support the following command-line options:
All communication between the thevault client application and thevault server must be secured by secure socket layer (SSL) channels. A significant part of this project requires you to determine under what circumstances, and in what combinations, the above command-line options are reasonable and necessary. For example, you'll need to identify and answer questions such as "how and where are certificates managed?", "how and where are the files signed?", and "how is a ring of trust maintained, determined, and reported?". In addition, you may need to support additional command-line arguments, or exchange additional information between the thevault client application and thevault server. Your project must run on the CSSE Linux lab machines and may be written in either:
There is a lot of relevant well-written code and tutorial documents available on the web. Pointers to these will be added a project resources webpage. You will need to devote time to reading and understanding this material, but you will not need to develop significant amounts of new code. Deadline and project submissionThe project is due at 12noon, Friday 24th October 2008 (week 12) and is worth 30% of your mark in CITS3231 this year.By the deadline all source code, digital certificates, and scripts that you wish to be assessed should also be submitted using cssubmit. You are welcome to undertake the project on your home or laptop computers. Please note, however, that all materials submitted for marking must be working on our School's Linux machines by the due date.
Project demonstrationYour team must also arrange a demonstration of your software, for up to 30 minutes, in week 13. A booking sheet will be provided, soon. During the demonstration, your team should:
Working in groups of up to threeThe project may to be undertaken in groups of up to three students. The motivation working in small groups is to enhance communication skills amongst students, and to enable you to attempt a project considered of greater difficulty than would normally be reasonable for the time available. It is anticipated that this project will require 15-25 hours of study by each member of the three-person groups.The project is worth 30% of your mark in CITS3231 this year, and the distribution of marks within your group (typically 50/50 or 60/40) must be agreed to by both members of your group. Only one group member needs submit files using cssubmit. Ensure that all students' names and student number are on, or in, all submitted materials.
Anyone needing to find a project partner should read
partners.html
as soon as possible, so that individuals may be paired up.
ClarificationsPlease post requests for clarification about any aspect of the project to help3231 so that all students may remain equally informed.Clarifications will be also added to the project clarifications webpage. Additional materials will also be addded to the project resources webpage. Good luck,
Chris McDonald
| |||||||||||||||||||||