An Electronic Commerce Protocol
Commercial use of the Internet is becoming more and more common, with an increasing variety of goods becoming available for purchase over the Net. Clearly, we want such purchases to be carried out securely: a customer wants to be sure of what (s)he's buying and the price (s)he's paying; the merchant wants to be sure of receiving payment; both sides want to end up with evidence of the transaction, in case the other side denies it took place; the act of purchase should not leak secrets, such as credit card details, to an eavesdropper.
The aim of this project is to find out more about the protocols that are used for electronic commerce, and to implement a simple e-commerce protocol. In more detail:
Understand the requirements of e-commerce protocols;
Specify an e-commerce protocol, both in terms of its functional and security requirements;
- Understand cryptographic techniques;
- Understand how these cryptographic techniques can be combined together to create a secure protocol - and understand the weaknesses that allow some protocols to be attacked;
- Design a protocol to meet the requirements identified;
- Implement the protocol.
A variant of this project would be to implement a protocol for voting on the web (which would have a different set of security properties).
Prerequisites for this project include good program design and implementation skills, including some experience of object-oriented programming, and a willingness to learn about protocols and cryptography. The courses on concurrency and distributed systems provide useful background for this project.
1 Jonathan Knudsen, Java Cryptography, O'Reilly, 1998.