uniform structure for practical settings: webservers, VPN, IM,
[ach-master.git] / src / applied-crypto-hardening.tex
1 %%% LaTeX Template: Two column article
2 %%%
3 %%% Source: http://www.howtotex.com/
4 %%% Feel free to distribute this template, but please keep to referal to http://www.howtotex.com/ here.
5 %%% Date: February 2011
6
7 %%% Preamble
8 \documentclass[ DIV=calc,%
9                                 paper=a4,%
10                                 fontsize=9pt,%
11                                 %onecolumn]{scrartcl}                                           % KOMA-article class
12                                 onecolumn]{scrreprt}                                            % KOMA-article class
13                                 %onecolumn]{report}                                             % KOMA-article class
14
15 \usepackage{lipsum}                                                                                                     % Package to create dummy text
16
17
18
19 \usepackage[english]{babel}                                                                             % English language/hyphenation
20 \usepackage[utf8]{inputenc}                                                                             % UTF-8 as input-encoding
21 \usepackage[protrusion=true,expansion=true]{microtype}                          % Better typography
22 \usepackage{amsmath,amsfonts,amsthm}                                    % Math packages
23 \usepackage[pdftex]{graphicx}                                           % Enable pdflatex 
24 %\usepackage[svgnames]{xcolor}                                                                  % Enabling colors by their 'svgnames'
25 \usepackage[hang, small,labelfont=bf,up,textfont=it,up]{caption}        % Custom captions under/above floats
26 \usepackage{epstopdf}                                                                                           % Converts .eps to .pdf
27 \usepackage{subfig}                                                                                                     % Subfigures
28 \usepackage{booktabs}                                                                                           % Nicer tables
29 \usepackage{fix-cm}                                                                                                     % Custom fontsizes
30
31 \usepackage[usenames,dvipsnames]{color}
32 \usepackage{float}
33 \usepackage{subfig}
34 %\usepackage{tikz}
35 \usepackage{acronym}
36 \usepackage{amsthm}
37 \usepackage{fancyvrb}
38 \usepackage{upquote}                                                                                            % For correct single quotes in listings
39 \usepackage{listings}
40 \usepackage{longtable}
41
42 %% Epigraph patching
43 \usepackage{epigraph}
44 % \epigraphsize{\small}% Default
45 \setlength\epigraphwidth{8cm}
46 \setlength\epigraphrule{0pt}
47 \usepackage{etoolbox}
48 \makeatletter
49 \patchcmd{\epigraph}{\@epitext{#1}}{\itshape\@epitext{#1}}{}{}
50 \makeatother
51
52
53
54 \usepackage{gitinfo}
55
56 % custom changes:
57 \usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
58 \usepackage{placeins}
59 \usepackage{draftwatermark}
60
61 % human tables
62 \usepackage{booktabs}
63 \renewcommand{\arraystretch}{1.25}
64
65 % side box
66 \usepackage{wrapfig}
67 %\usepackage{tcolorbox}
68 \newenvironment{WrapText}[1][r]
69   {\wrapfigure{#1}{0.5\textwidth}\tcolorbox}
70   {\endtcolorbox\endwrapfigure}
71
72 % Add text symbols
73 \usepackage{pifont}
74 \newcommand{\yes}{\textcolor{green}{\ding{51}}}
75 \newcommand{\no}{\textcolor{red}{\ding{55}}}
76
77 % human tables
78 \usepackage{booktabs}
79
80 \renewcommand{\arraystretch}{1.25}
81
82 \definecolor{green}{RGB}{32,113,10}
83 \definecolor{orange}{RGB}{251,111,16}
84 \definecolor{red}{RGB}{247,56,0}
85 \definecolor{blue}{RGB}{0,28,128}
86 \definecolor{lightgreen}{RGB}{187,218,216}
87 \definecolor{intersectgreen}{RGB}{103,133,155}
88 \definecolor{darkblue}{RGB}{76,87,117}
89
90 \bibliographystyle{alphalink}
91
92 \definecolor{Brown}{cmyk}{0,0.81,1,0.60}
93 \definecolor{OliveGreen}{cmyk}{0.64,0,0.95,0.40}
94 \definecolor{CadetBlue}{cmyk}{0.62,0.57,0.23,0}
95 \definecolor{lightlightgray}{gray}{0.9}
96
97 \usepackage{titlesec}
98 %\allsectionsfont{\color{darkblue}\itshape\underline}
99 %\sectionfont{\color{darkblue}\itshape\selectfont}
100 %\subsectionfont{\color{darkblue}\itshape\selectfont}
101 \renewcommand*\sectfont{\sffamily\color{darkblue}\mdseries}
102 %\renewcommand*\sectfont{\rmfamily\mdseries\itshape}
103
104
105 % makes default font sans-serif
106  \renewcommand{\familydefault}{\sfdefault}
107
108 % make font Open Sans
109 % \usepackage{opensans}
110 \usepackage[defaultsans]{opensans}
111
112 % changes font encoding to T1
113 % \usepackage[T1]{fontenc}
114 % \usepackage{textcomp}
115
116 % This block is for listings
117 \usepackage[framemethod=TikZ]{mdframed} % mdframed is used to draw a grey box
118 \mdfdefinestyle{listingstyle}{
119   backgroundcolor=black!10,outerlinewidth=0,outerlinecolor=black,
120   innerleftmargin=0,innerrightmargin=0,innertopmargin=0pt,innerbottommargin=0pt
121 }
122 \usepackage{amssymb}% for \curvearrowright
123 % Insert a grey box behind the listing for uniform background color (The \cipherstring would the listing and the background would turn white)
124 \BeforeBeginEnvironment{lstlisting}{\vspace{0.2cm}\begin{mdframed}[style=listingstyle]}
125 \AfterEndEnvironment{lstlisting}{\end{mdframed}}
126 \lstset{
127 %language=Bash,                             % Code langugage
128 basicstyle=\ttfamily,                   % Code font, Examples: \footnotesize, \ttfamily
129 keywordstyle=\color{OliveGreen},        % Keywords font ('*' = uppercase)
130 commentstyle=\color{gray},              % Comments font
131 %numbers=left,                           % Line nums position
132 %numberstyle=\tiny,                      % Line-numbers fonts
133 %stepnumber=1,                           % Step between two line-numbers
134 %numbersep=5pt,                          % How far are line-numbers from code
135 backgroundcolor=\color{lightlightgray}, % Choose background color
136 frame=none,                             % A frame around the code
137 tabsize=2,                              % Default tab size
138 captionpos=b,                           % Caption-position = bottom
139 breaklines=true,                        % Automatic line breaking?
140 breakatwhitespace=false,                % Automatic breaks only at whitespace?
141 showspaces=false,                       % Dont make spaces visible
142 showstringspaces=false,
143 showtabs=false,                         % Dont make tabls visible
144 columns=fullflexible,                   % Column format: no spaces are inserted for monospaced appearance
145 morekeywords={__global__, __device__},  % 
146 escapeinside={\%*}{*)},                 % Escape TeX commands inside %* and *)
147 prebreak=\mbox{$\curvearrowright$},     % Disply curved arrow before linebreak
148 xrightmargin=1.8pt,
149 }
150
151
152 %% \todo{} command.
153 %
154 % Outputs red TODOs in the document. Requires \usepackage{color}.
155 %
156 % Usage: \todo{Document the TODO command.}
157 %
158 % Comment out second line to disable.
159 \newcommand{\todo}[1]{}
160 \renewcommand{\todo}[1]{{\color{Red} TODO: {#1}}}
161
162
163 %%% Custom sectioning (sectsty package)
164 \usepackage{sectsty}                                                                                                    % Custom sectioning (see below)
165 \allsectionsfont{%                                                                                                                      % Change font of al section commands
166         \usefont{OT1}{phv}{b}{n}%                                                                               % bch-b-n: CharterBT-Bold font
167         }
168
169 \sectionfont{%                                                                                                                          % Change font of \section command
170         \usefont{OT1}{phv}{b}{n}%                                                                               % bch-b-n: CharterBT-Bold font
171         }
172
173 % use more of the page
174 \usepackage{fullpage}
175
176 %%% Headers and footers
177 \usepackage{fancyhdr}                                                                                           % Needed to define custom headers/footers
178         \pagestyle{fancy}                                                                                                               % Enabling the custom headers/footers
179 \usepackage{lastpage}   
180
181 % Header (empty)
182 \lhead{}
183 \chead{}
184 \rhead{}
185 % Footer (you may change this to your own needs)
186 \lfoot{\footnotesize Applied Crypto Hardening \textbullet ~Draft revision\gitVtags: \gitAbbrevHash{} (\gitCommitterIsoDate) \gitCommitterName}
187 \cfoot{}
188 \rfoot{\footnotesize page \thepage\ of \pageref{LastPage}}      % "Page 1 of 2"
189 \renewcommand{\headrulewidth}{0.0pt}
190 \renewcommand{\footrulewidth}{0.4pt}
191
192
193
194 %%% Creating an initial of the very first character of the content
195 \usepackage{lettrine}
196 \newcommand{\initial}[1]{%
197      \lettrine[lines=3,lhang=0.3,nindent=0em]{
198                                 \color{darkblue}
199                                 {\textsf{#1}}}{}}
200
201
202
203 %%% Title, author and date metadata
204 \usepackage{titling}                                                                                                                    % For custom titles
205
206 \newcommand{\HorRule}{\color{darkblue}%                 % Creating a horizontal rule
207                                                                                 \rule{\linewidth}{1pt}%
208                                                                         }
209
210
211 \pretitle{\vspace{-30pt} \begin{flushleft} \HorRule 
212                                 \fontsize{36}{36}  \color{darkblue} \selectfont 
213                                 }
214                         \title{Applied Crypto Hardening}% \\ \vskip 0.5em \large www.bettercrypto.org}
215 \posttitle{\par\end{flushleft}\vskip 0.5em}
216
217 \preauthor{\begin{flushleft}
218                                         \large \lineskip 0.5em  \color{intersectgreen}}
219
220                                         \author{Wolfgang Breyha, David Durvaux, Tobias Dussa, L. Aaron
221                                         Kaplan, Florian Mendel, Christian Mock, Manuel Koschuch, Adi
222                                         Kriegisch, Ulrich Pöschl, Ramin Sabet, Berg San, Ralf Schlatterbeck, 
223                                         Thomas Schreck, Aaron Zauner, Pepi Zawodsky}
224 %\institute{
225 %FH Campus Wien
226 %\and
227 %VRVis
228 %\and
229 %CERT.at
230 %\and
231 %Karlsruhe Institute of Technology
232 %}
233
234
235 \setlength{\parindent}{0cm}
236
237 \postauthor{\footnotesize  \color{Black} 
238 \\ \vskip 0.5em  (University of Vienna, CERT.be, KIT-CERT, CERT.at, IAIK, coretec.at, FH Campus Wien, VRVis, MilCERT Austria, A-Trust, , Runtux.com, Friedrich-Alexander University Erlangen-Nuremberg, azet.org, maclemon.at)
239                                         \par\end{flushleft}\HorRule}
240
241 \date{\today}
242
243 % hyperref needs to be the last package you load.
244 \usepackage[pdftex,breaklinks,colorlinks,linkcolor=darkblue,citecolor=blue,urlcolor=blue]{hyperref}
245
246 % CIPHERSTRING
247 \usepackage{seqsplit} % Use Sequence split. Basically it inserts between every character pair a box with zero width to allow linebreaks everywhere. Better solution wanted, but is there any better?
248 \newcommand{\cipherstringB}{\seqsplit{EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA}}
249
250 %%% Begin document
251 \begin{document}
252 \maketitle
253
254 \thispagestyle{fancy}                   % Enabling the custom headers/footers for the first page 
255 % The first character should be within \initial{}
256 %\initial{H}\textbf{ere is some sample text to show the initial in the introductory paragraph of this template article. The color and lineheight of the initial can be modified in the preamble of this document.}
257
258 \input{neboltai}
259 \input{acknowledgements}
260 \input{abstract}
261 \tableofcontents
262 \chapter{Introduction}
263 \label{chapter:Intro}
264 \input{whoshouldread}
265 \input{related_publications}
266 \input{howtoread}
267 \input{disclaimer}
268 \input{motivation}
269 \input{methods}
270 %%
271 \chapter{Practical recommendations}
272 \label{chapter:PracticalSettings}
273 \input{practical_settings}
274 %%
275 \chapter{Theory}
276 %\epigraph{``Number theorists are like lotus-eaters - having tasted this food they can never give it up.''}{-- Leopold Kronecker}
277 \label{chapter:Theory}
278 \input{theory}
279 \chapter{Appendix}
280 \input{tools}
281 \input{links}
282 \input{suggested_reading}
283 \input{cipher_suite_names}
284 \input{further_research}
285 %\input{reviewers}
286 \input{bib}
287
288 \end{document}