\begin{tikzpicture}
  \node[minimum size=1cm,businessman] (GM) {Group manager};
  \node[right=2.5cm of GM,bob, minimum size=1cm] (User) {};
  \node[right=0cm of User] {User $i$};
  \node[right=2.5cm of User, police, minimum size=1cm] (OA) {};
  \node[right=0cm of OA] {Opening authority};
  \node[below=2.5cm of User] (M) {$\sigma$, M};
  \node[right=2.5cm of M, maninblack, minimum size=1cm] (Other) {};
  \node[below=0cm of Other] {Anyone};
  \node[above=2.5cm of User] (Setup) {Trusted Setup};

  \draw[<->, thick] (GM) -- node[anchor=south] {\textsf{Join}} node[anchor=north] {$\crt_i$} (User);
  \draw[->, thick] (User) -- node[anchor=north east] {$\Sign$} (M);
  \draw[<-, thick] (Other) -- node[anchor=north] {$\Verify$} (M);
  \draw[<-, thick] (OA) -- node[anchor=west, yshift=-5pt] {$\Open$} (M);
  \draw[->, thick, dashed] (Setup) -- node[xshift=-0.7cm] {$\mathcal S_\GM$} (GM);
  \draw[->, thick, dashed] (Setup) -- node[xshift=0.7cm] {$\mathcal S_\OA$} (OA);
\end{tikzpicture}
