Australian National University
Faculty of Engineering and Information Technology
COMP3410
Information Technology in Electronic Commerce
Tutorial 4 - Security Issues in E-Commerce
The first part of this is a tutorial to enable you to better understand
the material covered in the lectures on security. The second part
is hands on and gets you to use some tools to do some encryption,
decryption, hashing and so on.
Tutorial
- What is symmetric cryptography? Describe its characteristics.
- What is asymmetric cryptography? Describe its characteristics.
- Define the terms integrity,
confidentiality, authentication and
non-repudiation in the context of computer security.
- How does RSA work? Given the RSA system, is DES of any use at all?
- What is a digital signature? What services can it provide?
- What is a public key certificate? How is it verified?
- A session key distribution protocol using symmetric key cipher
could be as follows:
(1) A -> B: A, Ek[Kab]
(2) B -> A: EKab[M]
where k is the secret key shared between A and B,
Kab is the session key, and Ek and
EKab stand for encryption with the secret key
k and session key Kab, respectively.
In the first step of the protocol, A says to B: "I am A, and
I want to talk to you securely. Please find our session key
encrypted with our secret key." In the second step, B replies
to A with message M encrypted using the session key. Is there
a security flaw in the protocol? What is it, if you can find one?
Lab
You will use two applications, md5sum and
gpg in the lab session. You will need to run these
from command line, so open up an xterm. Read the manual pages for
these commands (use the command man) to find
out about their usage.
-
Create a plain text file with some message in it. Use
md5sum to generate a hash for this. Generate the hash
again and make sure the two hashes are identical. Now change the
file a little by, say, adding an extra space. Generate the hash
again. Compare the two hashes.
-
Use
gpg to do the following:
-
Encrypt the file using symmetric key encryption. Decrypt the
file and make sure the two are identical (you can use the
diff command for this purpose).
-
Generate a public/private key pair. Add this to your key ring.
List information about this key and see what it contains.
-
Encrypt the file using public-key cryptography. Decrypt this
and check that the two are identical.
-
Sign your file. Create a detached signature file, as well as a
single file containing the message and the signature. Verify
that the signature is correct.
-
Exchange public keys with your friend. Encryt a message with
his/her public key, send it and ask him/her to decrypt it. And
vice versa. Do the same now, except that you encrypt the
message with your private key.
-
Send a signed message to your friend and get him/her to
verify it.
-
Now send a confidential, authenticated message to your friend
and ask him/her to verify it.
-
You can play around with removing a key from the key ring,
adding new keys, changing the level of trust and revoking
keys. Note that revoke permanently revokes the specified key
and that there is no way to undo this.
Last modified: Wed Aug 26 10:21:16 EST 2009
Ramesh Sankaranarayana