User authentication & Signing,Verifying

advertisement
Signing and verifying files, User Authentication.
1 Objective
CS681 & CS392 Computer Security
Fall 2005
Due 13/06/2005
October 06, 2005
The objectives of this assignment are 1) Design and implement file signing and verification
features for FEAU using MD5. 2) Design and develop a user authentication mechanism for
FEAU.
2 User Authentication
Read more about user authentication from the following:
Chapter 12 from the class text book.
http://www.informit.com/content/images/013026332X/samplechapter/013026332X.pdf
2.1 FEAU User Authentication System
In this assignment you will design and build a user authentication mechanism for FEAU.
Your mechanism must at-least have the following attributes:
User information file must be secured such that it is inaccessible even if FEAU is offline.
Must generate RSA private and public key pairs upon user creation and when a user is
removed her key must be removed.
Users RSA private keys must be protected, such that even an administrator cannot
access them.
A user should be able to share a different set of his files with different set of users. For
e.g. he should be able to share file1 with users A, B and file2 with users B, C, D.
A login mechanism as soon as the FEAU is started up.
Some method to reset user’s password, in case they forget it.
Hint: This means that you will have new functions like createUser, createGroup, changePasswd,
givePerms, revokePerms etc in your FEAU. You will also have to have a pre-installed admin who
can create other users.
3 MD5
You should be familiar with the MD5 algorithm. This was covered extensively in class this week.
You can learn more about MD5 from: http://www.freesoft.org/CIE/RFC/1321/3.htm
Use the MD5 code that came with RSA code that you used in the previous lab.
Get familiarized with MD5 sample code.
3.1 Warm Up
Answer the following questions:
1. You have learnt that a good cryptographic function can also work as a hash function, so can a
hash function be used for encryption and decryption? If so, explain.
2. What would be the advantages and disadvantages for doing the above? Explain in terms of
local laws, computational complexity, and cryptographic strength.
3.2 File Signing and Verification
Design and implement the file signing and sign verification commands using MD5. Please note: a
user should be able to sign both encrypted and non-encrypted files.
Snfl - Sign files
Synopsis - snfl [file...]
Description snfl signs both encrypted and plain file with current users private key.
vfy - Verify file integrity
Synopsis - vfy [files...]
Description vfy check file integrity.
4 What and how to Handin
Handin: You should submit assignment through my.poly drop box no later then 12 AM midnight
on the due date.
You must zip all files related to the assignments and use the following convention to name the zip
file:
<First Name>_<Last Name>_<Lab#>.zip
Submit using the name of only one of the members in your group.
REMEMBER IF YOU DO NOT USE THIS NAMING CONVENTION YOUR ASSIGNMENT WILL
NOT BE GRADED AND YOU WILL NOT RECEIVE ANY CREDIT.
PLEASE SUBMIT HOMEWORK ON TIME.
Download