Term Project
Project objectives
-
Identify the privacy requirements of existing computer systems and infrastructures
-
Evaluate the criticize existing security and privacy controls
-
Design (or apply) solutions and technologies to enhance the data privacy on emerging computer systems and infrastructure
Type of projects
-
Detailed privacy assessment of existing national or international companies with artifacts that prove any claims
-
A theoretical model of a new privacy-preserving technology for an existing application
-
An implementation of an existing privacy-enhancing technology for a novel application
Deliverables
-
Project proposal (Week 8; 20/10/2020)
-
Proposal will be discussed and feedback will be provided
-
Project topic needs to be approved
-
Progress report (2-3 pages) (Week 11; 10/11/2020)
-
Final report: 5-10 pages (Week 15; 8/12/2020)
-
Presentations (Week 15)
- GDPR Compliance
- Implementation of Garbled Circuits
protocol In this project, you
will implement the garbled circuit protocol using any
programming language. You might restrict your implementation to
two parties. However, your implementation needs to support
arbitrary functions. For that, you need to develop a subroutine
that transforms any function to a Boolean circuit of AND, OR,
and NOT gates. Your implementation should clearly show the
output of each step at different parties using Socket
programming, i.e., Client-Server.
- Differentially Privacy K-means Clustering
- Implementation of an anonymous remailer
service
- Collaborative Homomorphic-based Texteditor
- Implementation of Privacy preserving IP Traceback
Resources
1.
PyDP: A Differential privacy Python
Wrapper
https://github.com/OpenMined/PyDP
2.
PySyft: A python library for MPC and
HE
https://github.com/OpenMined/PySyft
3.
SEAL: A homomorphic encryption
library
https://github.com/microsoft/SEAL
4.
A collection of Multi-party
Computation libraries
https://github.com/rdragos/awesome-mpc#software
5.
Stegano: A library for image
steganography
https://github.com/cedricbonhomme/Stegano
Example project
from previous semester (This list will be updated)
In this project,
you will choose a service provided by a local or international
company and study the compliance with the GPDR principles, e.g.,
data minimization, storage limitation, purpose limitation etc. Then,
you need to propose at least two privacy preserving mechanisms that
compliment any privacy issues in their services. You have to include
a detailed technical description of the provided service, the
compliance (or incompliance) with GDPR, and the proposed solutions.
References:
https://homepages.cwi.nl/~schaffne/courses/crypto/2014/presentations/Kostis_Yao.pdf
In this project,
you will implement a differentially private K-means clustering
algorithm. K-mean clustering is a popular unsupervised machine
learning algorithm used to cluster points into similar groups. An
efficient solution to K-means uses Lloyd algorithm, which is an
iterative algorithm that performs two phases repeatedly; in the
first phase, the center (mean) of the group is chosen; in the second
phase, the nearest points to that center is assigned.
https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0206832
https://ieeexplore.ieee.org/document/8005466
In this project,
you will implement an anonymous remailer, which is a is specialized
kind of mail server designed to send e-mail messages without
identifying the sender. There are multiple types of anonymous
remailers: Pseudonymous remailers (Type 0), Cypherpunk remailers
(Type I), Mixmaster remailers (Type II), and Mixminion remailers
(Type III). Each type has its own advantage and disadvantage. You
need to implement at least two types and study the pros/cons of each
one.
https://pdos.csail.mit.edu/papers/nymserver:ccs5.pdf
In this project,
you will implement a collaborative privacy-preserving Texteditor
using Homomorphic encryption. Your texteditor can support editing
text with command lines without the need of developing a graphical
user interface. For example, to add a sentence in the third line,
you can send a command (ADD LINE 3 "This is cool!"), or the command
(DEL 4) to delete line number 4. You can create your set of commands
that interactively edit the texts. Your command should be encrypted
using homomorphic encryption before sent to an untrusted third
party, which processes the command on the encrypted text. The third
party only executes the encrypted command without being able to
recognize what is the content of the ciphertext. The ciphertext is
then sent to all collaborative users, which in turn decrypted into a
plaintext including the changes done by the commands. Your
implementation should use Socket programming.
In this project, you will implement an
IP Traceback technique that preserves the privacy of users in the
network. In specific, IP Traceback allows to track the source of any
malicious packet within the network. However, such technique can
disclose all "benign" users in the network. Using privacy-preserving
technique, the implemented IP Traceback should allow to identify the
source of the malicious packets without exposing any information about
other users.