\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}
