Introduction
A public organisation OpenServe
would like to encourage its staff to have a say on the approval of its major
strategic decisions. To facilitate the staff in freely expressing their views
on the approval or disapproval of a major decision without worrying about
improper behaviour against them and distorted reporting on their views,
OpenServe is recommended to use a transparent, accountable and privacy-
preserving online voting system. For voting on a decision, the system should
allow the staff to see all the participants in the voting for the purpose of
transparency, verify each submitted vote for accountability, but gain no
information on who has submitted which vote to protect the staff’s privacy.
To develop the above voting
system, OpenServe has set out the following requirements:
For each major decision to be
voted, a particular IT administrator is appointed by OpenServe to coordinate
the voting process, including setting up a voting group.
Each member of the staff invited
for the voting must register with the administrator in order to join the voting
group. This is to prevent uninvited people from participation. Each registered
group member is allowed to see all other participants in the group for the
voting.
Each group member can send their
vote on the approval or disapproval of the decision to all the other group
members anonymously. This is done by anonymously creating a unique pseudo name
computer account with a password for each group member in such a way that no
single party (a group member, a system or the administrator) can link the real
identity of any group member to their pseudonym. Every group member can then
send out their vote to the group under their pseudo name.
The votes sent out by the group
members need to be secured to allow only the group members to view them for
confidentiality purposes.
The votes submitted by the group
member must be authenticated to prevent vote forgery or alternation.
Due to licence and cost issues,
OpenServe has ruled out the use of any available system/application such as
Kerberos for the above voting system and decided to go for the development of
an in-house solution.
Learning
Outcome to be assessed
1. Identify and analyse particular
security problems for a given application.
1. Demonstrate advanced knowledge of
security protocols and mechanisms for the provision of security services needed
for secure networked applications.
Detail of the task
You are required to design the
transparent, accountable and privacy-preserving voting system described above
(you can assume the availability of any crypto algorithms you need for the
design), and document all the results obtained from each of the following
tasks:
Anonymous creation of pseudo user name computer accounts for registered
group members: Design a communication protocol for the above anonymous account
creation, and describe what assumptions you have made and how the protocol
operates. This account creation protocol should consist of messages transferred
step by step between different parties/entities involved, where the details of
all the data items sent in each message must be clearly defined.
Analyse how the designed protocol achieves both authenticity and
anonymity.
You can
assume that there exists a trusted server for assistance in the anonymous
account creation process, but the server must not be able to link a pseudo user
name to the real identity of any registered group member.
Secure voting dissemination: Design a communication protocol for a
registered group member to send their authenticated vote to all the other group
members, and describe what assumptions you have made and how the protocol
operates. Again, the details of all the data items sent in each message of this
voting protocol must be clearly defined.
Analyse how the proposed voting protocol achieves both confidentiality
and authenticity.
What you should hand in
You need to
hand in a written report on results of all the tasks specified in the above
section ‘Detail of the task’, in which all descriptions and diagrams must be
word-processed.
There are no length limit and
no report format requirement as long as you present your results precisely and
concisely.
All the data
items in each message of the protocols must be clearly defined, e.g. in a style
similar to the one used by the Kerberos protocols.