+Le but de ce laboratoire est de définir les algorithmes cryptographiques et leurs paramètres afin de sécuriser des données médicales. Une donnée médicale est représentée par un fichier qui devra être sécurisé au sein d'un container dont le format sera défini par nos soins. Une implémentation sera ensuite proposée.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{Niveaux de sécurité}
+
+\subsection{Quel est le niveau de sécurité que l'on souhaite atteindre ?}
+
+Le niveau souhaité est de 128 bits. Cela implique l'utilisation d'une clef \emph{AES} de 128 bits et de clefs \emph{RSA} de 3072 bits d'après \emph{Wikipedia}~\cite{wiki-key-size}.
+
+Les éléments de sécurité suivants sont requis :
+
+\begin{itemize}
+ \item Confidentialité : les données chiffrées ne doivent pas pouvoir être décryptées par un attaquant.
+ \item Authenticité : un attaquant ne doit pas pouvoir forger un container. Une signature est réalisée à l'aide d'une paire de clefs \emph{RSA} publique-privée.
+ \item Intégrité : il ne faut pas que les données chiffrées aient pu être altérées par un attaquant.
+\end{itemize}
+
+
+\subsection{Comment s'assure-t-on que les données sont stockées de manière confidentielle ? En particulier en ce qui concerne les méta-données ?}
+
+Les méta-données ainsi que les données sont chiffrées ensemble. Voir le format du container décrit à la section~\ref{sec:format_container}.
+
+
+\subsection{Comment s'assure-t-on que les données stockées sont authentiques ? Quels sont les risques à prendre en compte ?}
+
+L'empreinte des données chiffrées est signée à l'aide d'une clef privée donnée en paramètre de l'\emph{API} : ceci représente la signature qui est placée dans le container. Lors du déchiffrement, la clef publique correspondante est fournie puis utilisée pour vérifier la signature avec l'empreinte des données chiffrées.
+
+
+\subsection{Comment s'assure-t-on que les données stockées sont intègres ?}
+
+Cela est réalisé avec un \emph{MAC}, dans notre cas nous utilisons \emph{HMAC-SHA256} sur l'ensemble des données chiffrées (\emph{Encrypt-then-MAC}).
+
+
+\subsection{Quels sont les clefs cryptographiques requises qu'il est nécessaire de gérer ?}
+
+\subsubsection{Clefs externes}
+
+Concerne les clefs externes à l'\emph{API}.
+
+\begin{itemize}
+ \item Une paire de clefs \emph{RSA-3072} pour la signature.
+ \item Une paire de clefs \emph{RSA-3072} pour le chiffrement des clefs \emph{AES} et \emph{HMAC}.
+\end{itemize}
+
+
+\subsubsection{Clefs internes}
+
+Concerne les clefs gérées à l'intérieur du container.
+
+\begin{itemize}
+ \item Une clef de 128 bits pour \emph{AES}.
+ \item Une clef de 256 bits pour \emph{HMAC}.
+\end{itemize}
+
+Ces clefs sont générées aléatoirement à chaque création d'un container.
+
+