1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
\begin{tikzpicture}[
-latex,
entity/.style = {
draw = gray!30,
thick,
rounded rectangle,
fill = white,
minimum width = 2cm,
font = \fontsize{8}{8}\selectfont,
text = white,
},
relation/.style = {
draw = none,
font = \fontsize{6}{6}\selectfont,
},
path/.style = {
draw,
thick,
-latex,
},
]
\node[entity, fill=darkBlue] (Log) at (0,0) { Log };
\node[entity, fill=darkGreen, below=1.5cm of Log] (Browser) {Browser};
\node[entity, fill=darkOrange, left=1.5cm of Log] (CA) {CA};
\node[entity, fill=darkRed, below=1.5cm of CA] (Website) {Website};
% Logging
\path[path] (CA) edge[bend left]
node[relation,right,below]{Certificate}
(Log);
\path[path] (Log) edge[bend left]
node[relation,left,above]{Proofs}
(CA);
% Distribution
\path[path] (CA) --
node[relation, below, sloped]{%
\begin{tabular}{c}
Certificate\\
Proofs \\
\end{tabular}
}
(Website);
% Serve
\path[path] (Website) --
node[relation, below] {
\begin{tabular}{c}
Certificate\\
Proofs \\
\end{tabular}
}
(Browser);
% Monitor
\path[path, dashed] (Website.15) --
node[relation]{%
\includegraphics[width=.8cm]{img/magnify}
}
(Log.290);
% Verify
\path[path, rounded corners]
(Browser.0) -|
($ (Browser) + (1.25,.75) $)
node[relation, above]{
Verify
} -|
(Browser.30);
\end{tikzpicture}
|