1 \documentclass[a4paper,
10pt
]{article
}
3 \usepackage[francais
]{babel
}
4 \usepackage[utf8
]{inputenc}
5 \usepackage[T1]{fontenc}
14 \title{ICR - Labo \
#2 :
\textit{Conception et implémentation d'un container sécurisé pour des données médicales
}}
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,
26 xleftmargin=
\parindent,
27 aboveskip=
\bigskipamount,
29 morecomment=
[l
][\color{greencomments
}]{///
},
30 morecomment=
[l
][\color{greencomments
}]{//
},
31 morecomment=
[s
][\color{greencomments
}]{{(*}{*)}},
33 showstringspaces=false,
35 stringstyle=
\color{redstrings
},
45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 \section{Introduction
}
48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 \subsection{chiffrement
}
53 \subsection{déchiffrement
}
55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 \section{format du container
}
58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59 \section{Niveaux de sécurité
}
61 \subsection{Quel est le niveau de sécurité que l'on souhaite atteindre ?
}
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.
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
}
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.
75 \subsection{Comment s'assure-t-on que les données stockées sont authentiques ? Quels sont les risques à prendre en compte ?
}
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.
80 \subsection{Comment s'assure-t-on que les données stockées sont intègres ?
}
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
}).
88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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}