Assignment 2 (Ungraded)

COMPSCI 725 Software Security

 

Clark Thomborson

Computer Science Department, University of Auckland

4th May, 2001

 

Instructions:  This assignment will not be graded.  It is designed to give you some practical experience with the X.509 standard and its applications.  You may work alone or in teams, and you may ask help from anyone in the world.  I will give you feedback on your completed assignment.

1.      Send me a very short email message, signed by an X.509 certificate, from your University email account.  Your message should not be encrypted.  I suggest you start by examining the “help” files in your favourite email client, to discover how to obtain and use a free or inexpensive X.509 certificate.  If your email client is not X.509-aware, you will have to use a different email client to complete this assignment.  Hint: you may obtain a “free personal email certificate” from Thawte Digital Certificate Services (http://www.thawte.com).

2.      Examine my encrypted response to your signed message.  My email message to you will be encrypted with your public key.  Discover a way to prepare a textfile containing my complete response message, in both its encrypted and cleartext forms, and send this textfile back to me by email.

3.      Many of you have off-campus email accounts as well as University ones.  Design or discover (by internet or literature search) a protocol that would allow such students to communicate their off-campus email addresses to me, so that I can easily and safely maintain an “email alias” list for my students who prefer to use off-campus email for University work.  Your protocol should have the following attributes:

·        Efficiency (ideally your protocol would consist of a single, short, self-explanatory email message which asks an instructor to add or delete an alias)

·        Convenience from the student’s perspective (ideally your protocol would be easily explained to any postgraduate computer science student, who could then execute your protocol in a few minutes after they obtain an X.509 certificate)

·        Convenience from the instructor’s perspective (ideally your protocol would be easily used by any computer science instructor, who wouldn’t have to spend more than a few seconds to add or delete an “email alias” for a student)

·        Integrity (only a student with access to a University email account should be able to convince an instructor to add or delete an off-campus alias)

·        Auditability (both the student and the instructor should be able to conduct a “security audit” which will have some chance of discovering attacks on the security of your protocol)

·        Non-repudiation (an instructor could show a student a transcript of the messages requesting changes to their alias list.  Unless the underlying cryptography is “broken”, this transcript would prove one of two things: either the student lost control of their X.509 signature authority, or the student actually did request the changes shown in the transcript.)

I cannot promise to give you a complete security analysis of your protocol, however I will comment on any protocols I receive.  If you work in teams on this problem, please submit as a team so that I do not waste time commenting on the same protocol more than once.