1 \JFC{Dire que c'est une synthèse du chapitre 22 de la thèse de Tof}
3 This section has focused on security with regards to probabilistic behaviors.
4 Next section studies it in the perspective of topological ones.
8 \section{Processus de marquage}
10 Par la suite, le message numérique qu'on cherche à embarquer est
11 noté $y$ et le support dans lequel se fait l'insertion est noté $x$.
13 Le processus de marquage est fondé sur les itérations unaires d'une fonction
14 selon une stratégie donnée. Cette fonction et cette stratégie
15 sont paramétrées par un entier naturel permettant à la méthode d'être
16 appliquable à un média de n'importe quelle taille.
17 On parle alors respectivement de \emph{mode} et d'\emph{adapteur de stratégies}
19 \subsection{Embarquement}
24 Soit $\mathsf{N}$ un entier naturel.
25 Un mode est une application de $\mathds{B}^{\mathsf{N}}$
31 \begin{Def}[Adapteur de Stratégie]
32 \label{def:strategy-adapter}
34 Un \emph{adapteur de stratégie} est une fonction $\mathcal{S}$
35 de $\Nats$ dans l'ensemble des séquences d'entiers
36 qui associe à chaque entier naturel
38 $S \in \llbracket 1, n\rrbracket^{\mathds{N}}$.
42 On définit par exemple l'adapteur CIIS (\emph{Chaotic Iterations with Independent Strategy})
43 paramétré par $(K,y,\alpha,l) \in [0,1]\times [0,1] \times ]0, 0.5[ \times \mathds{N}$
44 qui associe à chque entier $n \in \Nats$ la suite
45 $(S^t)^{t \in \mathds{N}}$ définie par:
47 \item $K^0 = \textit{bin}(y) \oplus \textit{bin}(K)$: $K^0$ est le nombre binaire (sur 32 bits)
48 égal au ou exclusif (xor)
49 entre les décompositions binaires sur 32 bits des réels $y$ et $K$
50 (il est aussi compris entre 0 et 1),
51 \item $\forall t \leqslant l, K^{t+1} = F(K^t,\alpha)$,
52 \item $\forall t \leqslant l, S^t = \left \lfloor n \times K^t \right \rfloor + 1$,
53 \item $\forall t > l, S^t = 0$,
55 où est la fonction chaotique linéaire par morceau~\cite{Shujun1}.
56 Les paramètres $K$ et $\alpha$ de cet adapteur de stratégie peuvent être vus
58 On remarque que cette stratégie est unaire.
63 On peut attribuer à chaque bit du média hôte $x$ sa valeur d'importance
64 sous la forme d'un réel.
65 Ceci se fait à l'aide d'une fonction de signification.
68 \begin{Def}[Fonction de signification ]
69 Une \emph{fonction de signification }
70 est une fonction $u$ qui a toute
71 séquence finie de bit $x$ associe la séquence
72 $(u^k(x))$ de taille $\mid x \mid$ à valeur dans les réels.
73 Cette fonction peut dépendre du message $y$ à embarquer, ou non.
76 Pour alléger le discours, par la suite, on nottera $(u^k(x))$ pour $(u^k)$
77 lorsque cela n'est pas ambigüe.
78 Il reste à partionner les bits de $x$ selon qu'ils sont
79 peu, moyennement ou très significatifs.
81 \begin{Def}[Signification des bits]\label{def:msc,lsc}
82 Soit $u$ une fonction de signification,
83 $m$ et $M$ deux réels t.q. $m < M$. Alors:
84 $u_M$, $u_m$ et $u_p$ sont les vecteurs finis respectivements des
85 \emph{bits les plus significatifs (MSBs)} de $x$,
86 \emph{bits les moins significatifs (LSBs)} de $x$
87 \emph{bits passifs} of $x$ définis par:
89 u_M &=& \left( k ~ \big|~ k \in \mathds{N} \textrm{ et } u^k
90 \geqslant M \textrm{ et } k \le \mid x \mid \right) \\
91 u_m &=& \left( k ~ \big|~ k \in \mathds{N} \textrm{ et } u^k
92 \le m \textrm{ et } k \le \mid x \mid \right) \\
93 u_p &=& \left( k ~ \big|~ k \in \mathds{N} \textrm{ et }
94 u^k \in ]m;M[ \textrm{ et } k \le \mid x \mid \right)
98 On peut alors définir une fonction de décompostion
99 puis de recomposition pour un hôte $x$:
102 \begin{Def}[Fonction de décomposition ]
103 Soit $u$ une fonction de signification,
104 $m$ et $M$ deux réels t.q $m < M$.
105 Tout hôte $x$ peut se décomposer en
106 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$
109 \item $u_M$, $u_m$, et $u_p$ construits comme à la définition~\label{def:msc,lsc},
110 \item $\phi_{M} = \left( x^{u^1_M}, x^{u^2_M}, \ldots,x^{u^{|u_M|}_M}\right)$,
111 \item $\phi_{m} = \left( x^{u^1_m}, x^{u^2_m}, \ldots,x^{u^{|u_m|}_m} \right)$,
112 \item $\phi_{p} =\left( x^{u^1_p}, x^{u^2_p}, \ldots,x^{u^{|u_p|}_p}\right) $.
114 La fonction qui associe $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$
115 pour chaque hôte $x$ est la \emph{fonction de décomposition}, plus tard notée
116 $\textit{dec}(u,m,M)$ puisqu'elle est paramétrée par
121 \begin{Def}[Recomposition]
123 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p}) \in
132 \item les ensembles $u_M$, $u_m$ et $u_p$ forment une partition de $[n]$;
133 \item $|u_M| = |\varphi_M|$, $|u_m| = |\varphi_m|$ et $|u_p| = |\varphi_p|$.
135 Soit la base canonique sur l'espace vectoriel $\mathds{R}^{\mid x \mid}$ composée des vecteurs
136 $e_1, \ldots, e_{\mid x \mid}$.
137 On peut construire le vecteur
140 \sum_{i=1}^{|u_M|} \varphi^i_M . e_{{u^i_M}} +
141 \sum_{i=1}^{|u_m|} \varphi^i_m .e_{{u^i_m}} +
142 \sum_{i=1}^{|u_p|} \varphi^i_p. e_{{u^i_p}}
144 La fonction qui associe $x$ à chaque sextuplet
145 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$ défini comme ci-dessus est appelée
146 \emph{fonction de recomposition}.
149 Un embarquement consiste à modifier les valeurs de
150 $\phi_{m}$ (de $x$) en tenant compte de $y$.
151 Cela se formalise comme suit:
153 \begin{Def}[Embarquement de message]
154 Soit une fonction de décomposition $\textit{dec}(u,m,M)$,
156 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$ son image par $\textit{dec}(u,m,M)$,
157 et $y$ un média numérique de taille $|u_m|$.
158 Le média $z$ résultant de l'embarquement d'$y$ dans $x$ est l'image de
159 $(u_M,u_m,u_p,\phi_{M},y,\phi_{p})$
160 par la fonction de recomposition $\textit{rec}$.
162 % $g : \Bool^{|u_m|} \times \Bool^{|u_m|} \to \Bool^{|u_m|} $
163 % est la fonction de modification des bits de $u_m$ selon $y$.
167 On peut étendre l'algorithme dhCI~\cite{gfb10:ip} d'embarquement de message comme suit:
169 \begin{Def}[Embarquement dhCI étendu]
171 Soit $\textit{dec}(u,m,M)$ une function de décomposition,
173 $\mathcal{S}$ un adapteur de stratégie,
175 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$
176 sont image par $\textit{dec}(u,m,M)$,
177 $q$ un entier naturel positif
178 et $y$ un média numérique de taille $l=|u_m|$.
180 L'algorithme d'embarquement de message associe à chaque
181 couple $(x,y)$ le média $z$ résultat de l'embarquement de
182 $\hat{y}$ dans $x$, t. q.:
185 \item le mode $f$ est instancié avec le paramètre $l=|u_m|$, engendrant la
186 fonction $f_{l}:\Bool^{l} \rightarrow \Bool^{l}$;
187 \item l'adapteur de stratégie $\mathcal{S}$ est intancié avec le paramètre
188 $y$, engendrant une stratégie $S_y \in [l]$;
189 \item on itère la fonction $G_{f_l}$ en prenant la configuration
190 initiale $(S_y,\phi_{m})$ selon le schéma défini
191 à l'équation~(\ref{eq:sch:unaire}).
192 \item $\hat{y}$ est le second membre du $q^{\textrm{ème}}$ terme obtenu.
197 La figure~\ref{fig:organigramme} synthétise la démarche.
201 %\includegraphics[width=8.5cm]{organigramme2.pdf}
202 \includegraphics[width=8.5cm]{organigramme22}
203 \caption{The dhCI dissimulation scheme}
204 \label{fig:organigramme}
210 \subsection{Détection d'un media marqué}\label{sub:wmdecoding}
212 On caractérise d'abord ce qu'est un média marqué selon la méthode énoncée
213 à la section précédente. On considère que l'on connaît
214 la marque à embarquer $y$, le support $x$ et que l'on a face à soit un média
218 \begin{definition}[Média marqué]
219 Soit $\textit{dec}(u,m,M)$ une fonction de décomposition
221 $\mathcal{S}$ un adapteur de stratégie
222 $q$ un entier naturel strictement positif,
223 $y$ un média digital et soit
224 $(u_M,u_m,u_p,\phi_{M},\phi_{m},\phi_{p})$ l'image par
225 $\textit{dec}(u,m,M)$ du média $x$.
226 Alors, $z$ est \emph{marqué} avec $y$ si l'image
227 par $\textit{dec}(u,m,M)$ of $z$ is
228 $(u_M,u_m,u_p,\phi_{M},\hat{y},\phi_{p})$, où
229 $\hat{y}$ est le second membre de $G_{f_l}^q(S_y,\phi_{m})$.
232 % Plusieurs stratégies peuvent être utilisées pour déterminer si une image $z$
233 % est marquée, en particulier si l'image a été attaquée entre temps.
234 % On s'intéressera aux mesures de similarité entre $x$ et $z$.
236 \section{Analyse de sécurité (probabilistes)}\label{sec:watermarking:security:probas}
239 Récemment~\cite{Cayre2005,Perez06} ont proposé des classes de sécurité pour le
240 marquage d'information. Parmis celles-ci, la stego-sécurité a été au centre
241 des travaux puisqu'elle représente la classe la plus élevée dans le contexte où
242 l'attaquant n'a accès qu'à l'hôte marqué $z$.
244 Cette définition probabiliste est rappelée ci-après.
245 Soit $\mathds{K}$ un ensemble de clefs, $p(X)$ un modèle porbabiliste
246 de $N_0$ hôtes, et $p(Y|K)$ le modèle probabiliste de $N_0$ contenus marqués avec la
247 même clé $K$ et le même algorithme d'embarquement.
249 \begin{definition}[Stégo-Sécurité~\cite{Cayre2008}]
250 \label{Def:Stego-security}
251 La fonction d'embarquement is \emph{stégo-sécure}
252 si la propriété $\forall K \in \mathds{K}, p(Y|K)=p(X)$ est établie.
255 Il a déjà été démontré~\cite{guyeuxphd,gfb10:ip}
256 que l'algorithme de marquage dont le mode est la fonction
257 négation est stégo-sécure.
258 Un des intérêts de l'algorithme présenté ici est qu'il est paramétré par un mode.
259 Lorsque celui-ci a les même propriétés que celles vues pour la création de PRNG (\textit{i.e.} graphe des itérations fortement connexes et matrice de Markov doublement
260 stochastique), on a un marquage qui peut être rendu stego-secure à $\epsilon$ pret,
261 ce que précise le théorème suivant:
263 \begin{theorem}\label{th:stego}
264 Soit $\epsilon$ un nombre positif,
265 $l$ un nombre de LSBs,
266 $X \sim \mathbf{U}\left(\mathbb{B}^l\right)$,
267 un adapteur de stratégie uniformémement distribué indépendant de $X$
268 $f_l$ un mode tel que
269 $\textsc{giu}(f_l)$ est fortement connexe et la
270 matrice de Markov associée à $f_l$ est doublement stochastique.
271 Il existe un nombre $q$ d'itérations tel que
272 $|p(Y|K)- p(X)| < \epsilon$.
277 \section{Analyse de sécurité (chaos)}\label{sec:watermarking:security:chaos}
278 On rappelle uniquement la définition de chaos-sécurité
279 introduite dans~\cite{guyeuxphd}.
282 \begin{definition}[Chaos-sécurité]
283 \label{DefinitionChaosSecure}
284 Un schéma de marquage $S$ est chaos-sécure sur un espace topologique
286 si sa version itérative
287 a un comprtement chaotique sur celui-ci.
290 Tout repose ainsi sur la capacité que l'on a à produire des fonctions
291 dont le graphe des itérations unaires sera fortement connexe.
292 Ceci a déjà été traité au chapitre~\ref{chap:carachaos}.
293 La seule complexité est l'adaptabilité de la fonction au nombre $l$ de LSBs.
295 On considère par exemple le mode
296 $f_l: \Bool^l \rightarrow \Bool^l$ t.q. le $i^{\textrm{ème}}$ composant
302 \overline{x_i} \textrm{ si $i$ est impair} \\
303 x_i \oplus x_{i-1} \textrm{ si $i$ est pair}
306 \end{equation}\label{eq:fqq}
308 on peut déduire imédiatement du théorème~\ref{th:Adrien} (chap.~\ref{chap:carachaos})
309 que le graphe $\textsc{giu}(f_l)$ est fortement connexe.
310 La preuve de double-stochasiticité de la matrice associée
311 à $f_l$ est donnée en annexes~\ref{anx:marquage:dblesto}.
312 On dispose ainsi d'un nouvel algorithme de marquage $\epsilon$-stego-secure et
315 \section{Applications aux domaines fréquentiels}
316 Le schéma d'algorithme présenté dans ce chapitre a été appliqué au marquage d'images
317 dans les coefficients DCT et les DWT.
319 \subsection{Fonction de signification pour l'embarquement dans les DCT}
321 On considère un hôte $x$ de taille $H \times L$ dans le domaine fréqentiel DCT.
322 Dans chaque bloc de taille $8\times 8$, à chaque bit
323 la fonction de signification $u$ associe
326 \item 1 si c'est un bit appraissant dans la représentation binaire de la valeur d'un coefficient dont les coordonnées appartiennent à $\{(1,1),(2,1),(1,2)\}$,
327 \item 1 si c'est un bit appraissant dans la représentation binaire de la valeur
328 d'un coefficient dont les
329 coordonnées appartiennent à $\{(3,1),(2,2),(1,3)\}$ et qui n'est pas un des trois
330 bits de poids faible de cette représentation,
331 \item -1 si c'est un bit appraissant dans la représentation binaire
332 de la valeur d'un coefficient dont les
333 coordonnées appartiennent à $\{(3,1),(2,2),(1,3)\}$ et qui est un des
334 des trois bits de poids faible de cette valeur,
337 Le choix de l'importance de chaque coefficient est défini grâce aux seuils
339 permetant d'engendrer les MSBs, LSBs, et bits passifs.
342 \subsection{Fonction de signification pour l'embarquement dans les DWT}
344 On considère un hôte dnas le domaine des DWT. La fonction de signification
345 se concentre sur les seconds niveaux de détail (\textit{i.e.}, LH2, HL2 et HH2).
346 Pour chaque bit, on dit qu'il est peu significatif si c'est un des trois bits de
347 poids faible d'un coefficient de LH2, HL2 ou de HH2.
348 Formellement à chaque bit
349 la fonction de signification $u$ associe
352 \item 1 si c'est un bit appraissant dans la représentation binaire de la valeur d'un coefficient de type LL2,
353 \item 1 si c'est un bit appraissant dans la représentation binaire de la valeur d'un coefficient de type LH2, HL2, HH2 et qui n'est pas un des trois
354 bits de poids faible de cette représentation,
355 \item 1 si c'est un bit appraissant dans la représentation binaire de la valeur d'un coefficient de type LH2, HL2, HH2 et qui est un des trois
356 bits de poids faible de cette représentation,
359 Le choix de l'importance de chaque coefficient est encore défini grâce aux seuils
361 permetant d'engendrer les MSBs, LSBs, et bits passifs.
364 \subsection{Etude de robustesse}
365 Cette partie synthétise une étude de robustesse de la démarche présentée ci-avant.
366 Dans ce qui suit, {dwt}(neg),
367 {dwt}(fl), {dct}(neg), {dct}(fl)
368 correpondent respectivement aux embarquements en fréquenciel
369 dans les domaines DWT et DCT
370 avec le mode de négation et celui issu de la fonction $f_l$
371 détaillé à l'équation~\ref{eq:fqq}.
373 A chaque série d'expériences, un ensemble de 50 images est choisi aléatoirement
374 de la base du concours BOSS~\cite{Boss10}. Chaque hôte est une image
375 en $512\times 512$ en niveau de gris et la marque $y$ est une suite de
377 La resistance à la robustesse est évaluée en appliquant successivement
378 sur l'image marquée des attaques de découpage, de compression, de
379 transformations géométriques.
380 Si les différences entre $\hat{y}$ and $\varphi_m(z)$.
381 sont en desous d'un seuil(que l'on définit),
382 l'image est dite marquée (et non marquée dans le cas contraire).
383 Cette différence exprimée en pourcentage est rappellée pour chacune des ataques
384 à la figure~\ref{fig:atq:dhc}.
389 \subfigure[Découpage]{
390 \includegraphics[width=0.5\textwidth]{atq-dec}\label{Fig:atq:dec:curves}
392 \subfigure[Compression JPEG]{
393 \includegraphics[width=0.45\textwidth]{atq-jpg}\label{Fig:atq:jpg:curves}
395 \subfigure[Compression JPEG 2000]{
396 \includegraphics[width=0.45\textwidth]{atq-jp2}\label{Fig:atq:jp2:curves}
398 \subfigure[Modification du contrast]{
399 % \includegraphics[width=0.45\textwidth]{atq-contrast.pdf}\label{Fig:atq:cont:curve}}
400 \includegraphics[width=0.45\textwidth]{atq-contrast}\label{Fig:atq:cont:curve}
402 \subfigure[Accentuation des bords]{
403 % \includegraphics[width=0.45\textwidth]{atq-flou.pdf}\label{Fig:atq:sh:curve}}
404 \includegraphics[width=0.45\textwidth]{atq-flou}\label{Fig:atq:sh:curve}
406 \subfigure[Rotation]{
407 % \includegraphics[width=0.45\textwidth]{atq-rot.pdf}\label{Fig:atq:rot:curve}}
408 \includegraphics[width=0.45\textwidth]{atq-rot}\label{Fig:atq:rot:curve}
410 \caption{Illustration de la robustesse}\label{fig:atq:dhc}
414 \subsection{Evaluation de l'embarquement}\label{sub:roc}
415 Pour évaluer le seuil qui permet de dire avec la plus grande précision
416 si une image est marquée ou non, nous avons appliqué la démarche suivante.
417 A partir d'un ensemble de 100 images du challenge BOSS, les trois
418 ensembles suivants sont construits: celui des images marquées $W$,
419 celui contenant des imges marquées puis attaquée $\textit{WA}$,
420 et celui des images uniquement attaquées $A$. Les attaques sont choisiés parmi
421 celles données ci dessus.
423 Pour chaque entier $t$ entre 5 et 55
424 et chaque image $x \in \textit{WA} \cup A$,
425 on calcule la différence entre $\hat{y}$ et $\varphi_m(z)$.
426 L'image est dite marquée si cette différence est en dessous du seuil $t$ considéré
428 \item si elle est dite marquée et si $x$ appartient à $\textit{WA}$
429 c'est un vrai cas positif (TP);
430 \item si elle est dite non marquée et si $x$ appartient cependant à $\textit{WA}$
431 c'est un faux cas négatif (FN);
432 \item si elle est dite marquée et si $x$ appartient cependant à $\textit{A}$
433 c'est un faux cas positif (FP);
434 \item enfin si elle est dite non marquée et si $x$ appartient à $\textit{A}$
435 c'est un vrai cas négatif (TN).
441 \includegraphics[width=7cm]{ROC}
443 \caption{Courbes ROC de seuils de détection}\label{fig:roc:dwt}
446 La courbe ROC construite à partir des points de coordonnées (TP,FP) issus
448 donnée à la figure~\ref{fig:roc:dwt}.
449 Pour la fonction $f_l$ et pour la fonction négation respectivement,
450 la détection est optimale pour le seuil de 45\% correspondant au point (0.01, 0.88)
451 et pour le seuil de 46\% correspondant au point (0.04, 0.85)
453 Pour les deux modes dans le domaine DCT,
454 la détection est optimale pour le seuil de 44\%
455 (correspondant aux points (0.05, 0.18) et (0.05, 0.28)).
456 On peut alors donner des intervales de confiance pour les attaques évaluées.
457 L'approche est résistante à:
459 \item tous les découpages où le pourcentage est inférieur à 85\%;
460 \item les compression dont le ratio est supérieur à 82\% dans le domaine
461 DWT et 67\% dans celui des DCT;
462 \item les modifications du contraste lorsque le renforcement est dans
463 $[0.76,1.2]$ dans le domaine DWT et $[0.96,1.05]$ dans le domaine DCT;
464 \item toutes les rotations dont l'angle est inférieur à 20 degrés dans le domaine DCT et
465 celles dont l'angle est inférieur à 13 degrés dans le domaine DWT.