Category Archive: Master Project

Current proposals Master projects. These proposals are only for students of the Université Libre de Bruxelles (ULB).

Mar 09

Side-channel Attack Step-by-Step Tutorial

Cryptography is used in order to ensure security of various IT systems, designer of these systems use encryption algorithms to provide data confidentiality. Nowadays we have some very strong encryption algorithms that could be efficiently implemented in software and in hardware. These algorithms could be used in embedded systems such as microcontrollers (e.g. embedded in a smartcard).

Unfortunately, when a strong and secure algorithm is implemented in a real device the implementation might be insecure which would allow an attacker to extract secret information from the target cryptographic system. There are several types of attacks that exploit physical properties (e.g. power consumption or execution time) of a real physical implementations in order to break the algorithm. These attacks are called side-channel attacks.

The goal of this project is to implement one side channel attack and to create a step-by-step tutorial that goes from the hardware setup and data acquisition to the analysis and the secret key recovery.

There exists several different side-channel attacks, this project proposal holds for all of them and could be chosen by several students (for different types of attacks).

Contacts: Olivier Markowitch and Nikita Veshchikov

Jan 08

Echange de fichiers de manière sécurisée

Le but du projet est l’implémentation d’un système d’échange de fichiers de manière sécurisée entre deux ordinateurs.
Le système sera composé de 2 parties :

  • Une partie regroupant des fonctions de bases telles que la génération de clés RSA-2048, la génération de clés AES-128, le chiffrement et le déchiffrement avec l’algorithme RSA-2048, la création de signature et sa vérification avec l’algorithme RSA-2048, le chiffrement et le déchiffrement avec l’algorithme AES-128 et la création d’une empreinte d’un message avec l’algorithme SHA3.
  • Une partie graphique permettant l’échange de fichiers à travers un protocole sécurisé.

Le protocole permettant l’échange de fichiers (de manière sécurisé) se résume en trois étapes :

  1. Soit une personne (nommée Alice) voulant envoyer un fichier (symbolisé par FILE) à une personne (nommée Bob). Pour cela, Alice crée une clé aléatoire à usage unique de 128 bits (appelée clé de session, symbolisée par SESSION_KEY et assurant la propriété de “forward secrecy“). Cette clé combinée avec un horodatage (permettant entre autre de relier l’ensemble des message de la même instance du protocole), le nom d’Alice et de Bob sera chiffrée par Alice avec la clé publique RSA-2048 de Bob. Par la suite, le chiffré sera envoyé à Bob par Alice.Plus formellement, Alice envoie le message E_K_AB=RSA-2048_{clé publique de Bob}(Alice||Bob||SESSION_KEY||timestamp) à Bob
    • M1||M2 représente la concaténation des messages M1 et M2
    • RSA-2048_{K}(M) représente le chiffrement du message M avec la clé publique K et l’algorithme RSA-2048.
  2. La deuxième étape est le chiffrement du fichier FILE, que Alice aimerait envoyer à Bob, et de l’horodatage avec la clé de session SESSION_KEY. Ce message chiffré, qui sera aussi envoyé à Bob, est nommé E dans la suite.Plus formellement, Alice envoie à Bob le deuxième message E=AES-128_{SESSION_KEY}(timestamp||FILE) où
    • AES-128_{K}(M) représente le chiffrement du message M avec la clé secrète K et l’algorithme AES-128.
  3. Enfin, l’empreinte de la concaténation du nom d’Alice, de celui de Bob, de l’horodatage, du message E_K_AB et du fichier FILE sera signée avec la clé secrète de Alice par Alice pour être envoyé à Bob, i.e. Alice envoie à Bob sign=RSAsign-2048_{clé privée d’Alice}(SHA3(timestamp||Alice||Bob||E_K_AB||FILE)) où
    • RSAsign-2048_{K}(M) représente la signature du message M avec la clé secrète K et l’algorithme RSA-2048
    • SHA3(M) représente l’empreinte du message M avec l’algorithme de hashage SHA3.

Afin d’être multiplateforme, le système sera écrit en python3.

Pour obtenir plus de détails sur le projet, nous vous invitons à contacter Liran Lerman.

 

Supervisor : Liran Lerman

Director : Olivier Markowitch