First commit.
[crypto_lab2.git] / rapport / main.tex
1 \documentclass[a4paper,10pt]{article}
2
3 \usepackage[francais]{babel}
4 \usepackage[utf8]{inputenc}
5 \usepackage[T1]{fontenc}
6 \usepackage{lmodern}
7
8 \usepackage{graphicx}
9 \usepackage{listings}
10 \usepackage{url}
11 \usepackage{upquote}
12 \usepackage{color}
13
14 \title{ICR - Labo \#2 : \textit{Conception et implémentation d'un container sécurisé pour des données médicales}}
15 \author{G.Burri}
16
17 \lstdefinelanguage{FSharp}%
18 {morekeywords={let, new, match, with, rec, open, module, namespace, type, of, member, %
19 and, for, while, true, false, in, do, begin, end, fun, function, return, yield, try, %
20 mutable, if, then, else, cloud, async, static, use, abstract, interface, inherit, finally },
21 otherkeywords={ let!, return!, do!, yield!, use!, var, from, select, where, order, by },
22 keywordstyle=\color{blue}\bfseries,
23 sensitive=true,
24 basicstyle=\ttfamily,
25 breaklines=true,
26 xleftmargin=\parindent,
27 aboveskip=\bigskipamount,
28 tabsize=4,
29 morecomment=[l][\color{greencomments}]{///},
30 morecomment=[l][\color{greencomments}]{//},
31 morecomment=[s][\color{greencomments}]{{(*}{*)}},
32 morestring=[b]",
33 showstringspaces=false,
34 literate={`}{\`}1,
35 stringstyle=\color{redstrings},
36 }
37
38 \begin{document}
39
40 \nocite{*}
41
42 \maketitle
43
44
45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 \section{Introduction}
47
48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49 \section{processus}
50
51 \subsection{chiffrement}
52
53 \subsection{déchiffrement}
54
55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 \section{format du container}
57
58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59 \section{Niveaux de sécurité}
60
61 \subsection{Quel est le niveau de sécurité que l'on souhaite atteindre ?}
62
63 \begin{itemize}
64 \item Confidentialité : les données chiffrées ne doivent pas pouvoir être décryptées par un attaquant.
65 \item Authentification : un attaquant ne doit pas pouvoir forger un container, une signature est réalisée à l'aide d'une paire de clef publique-privée.
66 \item Intégrité : il ne faut pas que les données chiffrée aient pu être altérées par un attaquant.
67 \end{itemize}
68
69
70 \subsection{Comment s'assure-t-on que les données sont stockées de manière confidentielle ? En particulier ce qui concerne les méta-données}
71
72 Les méta-données ainsi que les données sont chiffrées ensemble. Voir le format du container décrit précédemment.
73
74
75 \subsection{Comment s'assure-t-on que les données stockées sont authentiques ? Quels sont les risques à prendre en compte ?}
76
77 L'empreinte des donné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 donnée puis utilisée pour déchiffrer l'empreinte qui est comparée à l'empreinte des données.
78
79
80 \subsection{Comment s'assure-t-on que les données stockées sont intègres ?}
81
82 Cela est réalisé avec un \emph{MAC}, dans notre nous utilisons \emph{HMAC-SHA256} sur les données chiffrées (\emph{Encrypt-then-MAC}).
83
84
85 \subsection{}
86
87
88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
89 \section{Conclusion}
90
91 % http://stephenhaunts.com/2013/03/04/cryptography-in-net-advanced-encryption-standard-aes/
92 % http://stephenhaunts.com/2013/03/26/cryptography-in-net-rsa/
93 % http://en.wikipedia.org/wiki/Digital_signature
94 %\bibliographystyle{plain}
95 %\bibliography{main}
96
97 \end{document}