You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

478 lines
18 KiB

  1. %% bare_conf.tex
  2. %% V1.3
  3. %% 2007/01/11
  4. %% by Michael Shell
  5. %% See:
  6. %% http://www.michaelshell.org/
  7. %% for current contact information.
  8. %%
  9. %% This is a skeleton file demonstrating the use of IEEEtran.cls
  10. %% (requires IEEEtran.cls version 1.7 or later) with an IEEE conference paper.
  11. %%
  12. %% Support sites:
  13. %% http://www.michaelshell.org/tex/ieeetran/
  14. %% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/
  15. %% and
  16. %% http://www.ieee.org/
  17. %%*************************************************************************
  18. %% Legal Notice:
  19. %% This code is offered as-is without any warranty either expressed or
  20. %% implied; without even the implied warranty of MERCHANTABILITY or
  21. %% FITNESS FOR A PARTICULAR PURPOSE!
  22. %% User assumes all risk.
  23. %% In no event shall IEEE or any contributor to this code be liable for
  24. %% any damages or losses, including, but not limited to, incidental,
  25. %% consequential, or any other damages, resulting from the use or misuse
  26. %% of any information contained here.
  27. %%
  28. %% All comments are the opinions of their respective authors and are not
  29. %% necessarily endorsed by the IEEE.
  30. %%
  31. %% This work is distributed under the LaTeX Project Public License (LPPL)
  32. %% ( http://www.latex-project.org/ ) version 1.3, and may be freely used,
  33. %% distributed and modified. A copy of the LPPL, version 1.3, is included
  34. %% in the base LaTeX documentation of all distributions of LaTeX released
  35. %% 2003/12/01 or later.
  36. %% Retain all contribution notices and credits.
  37. %% ** Modified files should be clearly indicated as such, including **
  38. %% ** renaming them and changing author support contact information. **
  39. %%
  40. %% File list of work: IEEEtran.cls, IEEEtran_HOWTO.pdf, bare_adv.tex,
  41. %% bare_conf.tex, bare_jrnl.tex, bare_jrnl_compsoc.tex
  42. %%*************************************************************************
  43. % *** Authors should verify (and, if needed, correct) their LaTeX system ***
  44. % *** with the testflow diagnostic prior to trusting their LaTeX platform ***
  45. % *** with production work. IEEE's font choices can trigger bugs that do ***
  46. % *** not appear when using other class files. ***
  47. % The testflow support page is at:
  48. % http://www.michaelshell.org/tex/testflow/
  49. % Note that the a4paper option is mainly intended so that authors in
  50. % countries using A4 can easily print to A4 and see how their papers will
  51. % look in print - the typesetting of the document will not typically be
  52. % affected with changes in paper size (but the bottom and side margins will).
  53. % Use the testflow package mentioned above to verify correct handling of
  54. % both paper sizes by the user's LaTeX system.
  55. %
  56. % Also note that the "draftcls" or "draftclsnofoot", not "draft", option
  57. % should be used if it is desired that the figures are to be displayed in
  58. % draft mode.
  59. %
  60. \documentclass[10pt,conference,compsocconf]{IEEEtran}
  61. %\documentclass[10pt]{IEEEtran}
  62. \usepackage{times}
  63. \usepackage{caption}
  64. \captionsetup{font=footnotesize,justification=centering,labelsep=period}
  65. % Add the compsoc option for Computer Society conferences.
  66. %
  67. % If IEEEtran.cls has not been installed into the LaTeX system files,
  68. % manually specify the path to it like:
  69. % \documentclass[conference]{../sty/IEEEtran}
  70. \usepackage{multirow}
  71. % Some very useful LaTeX packages include:
  72. % (uncomment the ones you want to load)
  73. % *** MISC UTILITY PACKAGES ***
  74. %
  75. %\usepackage{ifpdf}
  76. % Heiko Oberdiek's ifpdf.sty is very useful if you need conditional
  77. % compilation based on whether the output is pdf or dvi.
  78. % usage:
  79. % \ifpdf
  80. % % pdf code
  81. % \else
  82. % % dvi code
  83. % \fi
  84. % The latest version of ifpdf.sty can be obtained from:
  85. % http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/
  86. % Also, note that IEEEtran.cls V1.7 and later provides a builtin
  87. % \ifCLASSINFOpdf conditional that works the same way.
  88. % When switching from latex to pdflatex and vice-versa, the compiler may
  89. % have to be run twice to clear warning/error messages.
  90. % *** CITATION PACKAGES ***
  91. %
  92. %\usepackage{cite}
  93. % cite.sty was written by Donald Arseneau
  94. % V1.6 and later of IEEEtran pre-defines the format of the cite.sty package
  95. % \cite{} output to follow that of IEEE. Loading the cite package will
  96. % result in citation numbers being automatically sorted and properly
  97. % "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using
  98. % cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's
  99. % \cite will automatically add leading space, if needed. Use cite.sty's
  100. % noadjust option (cite.sty V3.8 and later) if you want to turn this off.
  101. % cite.sty is already installed on most LaTeX systems. Be sure and use
  102. % version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does
  103. % not currently provide for hyperlinked citations.
  104. % The latest version can be obtained at:
  105. % http://www.ctan.org/tex-archive/macros/latex/contrib/cite/
  106. % The documentation is contained in the cite.sty file itself.
  107. % *** GRAPHICS RELATED PACKAGES ***
  108. %
  109. \ifCLASSINFOpdf
  110. \usepackage[pdftex]{graphicx}
  111. % declare the path(s) where your graphic files are
  112. % \graphicspath{{../pdf/}{../jpeg/}}
  113. % and their extensions so you won't have to specify these with
  114. % every instance of \includegraphics
  115. % \DeclareGraphicsExtensions{.pdf,.jpeg,.png}
  116. \else
  117. % or other class option (dvipsone, dvipdf, if not using dvips). graphicx
  118. % will default to the driver specified in the system graphics.cfg if no
  119. % driver is specified.
  120. % \usepackage[dvips]{graphicx}
  121. % declare the path(s) where your graphic files are
  122. % \graphicspath{{../eps/}}
  123. % and their extensions so you won't have to specify these with
  124. % every instance of \includegraphics
  125. % \DeclareGraphicsExtensions{.eps}
  126. \fi
  127. % graphicx was written by David Carlisle and Sebastian Rahtz. It is
  128. % required if you want graphics, photos, etc. graphicx.sty is already
  129. % installed on most LaTeX systems. The latest version and documentation can
  130. % be obtained at:
  131. % http://www.ctan.org/tex-archive/macros/latex/required/graphics/
  132. % Another good source of documentation is "Using Imported Graphics in
  133. % LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or
  134. % epslatex.pdf at: http://www.ctan.org/tex-archive/info/
  135. %
  136. % latex, and pdflatex in dvi mode, support graphics in encapsulated
  137. % postscript (.eps) format. pdflatex in pdf mode supports graphics
  138. % in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure
  139. % that all non-photo figures use a vector format (.eps, .pdf, .mps) and
  140. % not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats
  141. % which can result in "jaggedy"/blurry rendering of lines and letters as
  142. % well as large increases in file sizes.
  143. %
  144. % You can find documentation about the pdfTeX application at:
  145. % http://www.tug.org/applications/pdftex
  146. % *** MATH PACKAGES ***
  147. %
  148. %\usepackage[cmex10]{amsmath}
  149. % A popular package from the American Mathematical Society that provides
  150. % many useful and powerful commands for dealing with mathematics. If using
  151. % it, be sure to load this package with the cmex10 option to ensure that
  152. % only type 1 fonts will utilized at all point sizes. Without this option,
  153. % it is possible that some math symbols, particularly those within
  154. % footnotes, will be rendered in bitmap form which will result in a
  155. % document that can not be IEEE Xplore compliant!
  156. %
  157. % Also, note that the amsmath package sets \interdisplaylinepenalty to 10000
  158. % thus preventing page breaks from occurring within multiline equations. Use:
  159. %\interdisplaylinepenalty=2500
  160. % after loading amsmath to restore such page breaks as IEEEtran.cls normally
  161. % does. amsmath.sty is already installed on most LaTeX systems. The latest
  162. % version and documentation can be obtained at:
  163. % http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/
  164. % *** SPECIALIZED LIST PACKAGES ***
  165. %
  166. %\usepackage{algorithmic}
  167. % algorithmic.sty was written by Peter Williams and Rogerio Brito.
  168. % This package provides an algorithmic environment fo describing algorithms.
  169. % You can use the algorithmic environment in-text or within a figure
  170. % environment to provide for a floating algorithm. Do NOT use the algorithm
  171. % floating environment provided by algorithm.sty (by the same authors) or
  172. % algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated
  173. % algorithm float types and packages that provide these will not provide
  174. % correct IEEE style captions. The latest version and documentation of
  175. % algorithmic.sty can be obtained at:
  176. % http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/
  177. % There is also a support site at:
  178. % http://algorithms.berlios.de/index.html
  179. % Also of interest may be the (relatively newer and more customizable)
  180. % algorithmicx.sty package by Szasz Janos:
  181. % http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/
  182. % *** ALIGNMENT PACKAGES ***
  183. %
  184. %\usepackage{array}
  185. % Frank Mittelbach's and David Carlisle's array.sty patches and improves
  186. % the standard LaTeX2e array and tabular environments to provide better
  187. % appearance and additional user controls. As the default LaTeX2e table
  188. % generation code is lacking to the point of almost being broken with
  189. % respect to the quality of the end results, all users are strongly
  190. % advised to use an enhanced (at the very least that provided by array.sty)
  191. % set of table tools. array.sty is already installed on most systems. The
  192. % latest version and documentation can be obtained at:
  193. % http://www.ctan.org/tex-archive/macros/latex/required/tools/
  194. %\usepackage{mdwmath}
  195. %\usepackage{mdwtab}
  196. % Also highly recommended is Mark Wooding's extremely powerful MDW tools,
  197. % especially mdwmath.sty and mdwtab.sty which are used to format equations
  198. % and tables, respectively. The MDWtools set is already installed on most
  199. % LaTeX systems. The lastest version and documentation is available at:
  200. % http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/
  201. % IEEEtran contains the IEEEeqnarray family of commands that can be used to
  202. % generate multiline equations as well as matrices, tables, etc., of high
  203. % quality.
  204. %\usepackage{eqparbox}
  205. % Also of notable interest is Scott Pakin's eqparbox package for creating
  206. % (automatically sized) equal width boxes - aka "natural width parboxes".
  207. % Available at:
  208. % http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/
  209. % *** SUBFIGURE PACKAGES ***
  210. %\usepackage[tight,footnotesize]{subfigure}
  211. % subfigure.sty was written by Steven Douglas Cochran. This package makes it
  212. % easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE
  213. % work, it is a good idea to load it with the tight package option to reduce
  214. % the amount of white space around the subfigures. subfigure.sty is already
  215. % installed on most LaTeX systems. The latest version and documentation can
  216. % be obtained at:
  217. % http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/
  218. % subfigure.sty has been superceeded by subfig.sty.
  219. %\usepackage[caption=false]{caption}
  220. %\usepackage[font=footnotesize]{subfig}
  221. % subfig.sty, also written by Steven Douglas Cochran, is the modern
  222. % replacement for subfigure.sty. However, subfig.sty requires and
  223. % automatically loads Axel Sommerfeldt's caption.sty which will override
  224. % IEEEtran.cls handling of captions and this will result in nonIEEE style
  225. % figure/table captions. To prevent this problem, be sure and preload
  226. % caption.sty with its "caption=false" package option. This is will preserve
  227. % IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later
  228. % (recommended due to many improvements over 1.2) of subfig.sty supports
  229. % the caption=false option directly:
  230. %\usepackage[caption=false,font=footnotesize]{subfig}
  231. %
  232. % The latest version and documentation can be obtained at:
  233. % http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/
  234. % The latest version and documentation of caption.sty can be obtained at:
  235. % http://www.ctan.org/tex-archive/macros/latex/contrib/caption/
  236. % *** FLOAT PACKAGES ***
  237. %
  238. %\usepackage{fixltx2e}
  239. % fixltx2e, the successor to the earlier fix2col.sty, was written by
  240. % Frank Mittelbach and David Carlisle. This package corrects a few problems
  241. % in the LaTeX2e kernel, the most notable of which is that in current
  242. % LaTeX2e releases, the ordering of single and double column floats is not
  243. % guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a
  244. % single column figure to be placed prior to an earlier double column
  245. % figure. The latest version and documentation can be found at:
  246. % http://www.ctan.org/tex-archive/macros/latex/base/
  247. %\usepackage{stfloats}
  248. % stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e
  249. % the ability to do double column floats at the bottom of the page as well
  250. % as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in
  251. % LaTeX2e). It also provides a command:
  252. %\fnbelowfloat
  253. % to enable the placement of footnotes below bottom floats (the standard
  254. % LaTeX2e kernel puts them above bottom floats). This is an invasive package
  255. % which rewrites many portions of the LaTeX2e float routines. It may not work
  256. % with other packages that modify the LaTeX2e float routines. The latest
  257. % version and documentation can be obtained at:
  258. % http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/
  259. % Documentation is contained in the stfloats.sty comments as well as in the
  260. % presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE
  261. % does not allow \baselineskip to stretch. Authors submitting work to the
  262. % IEEE should note that IEEE rarely uses double column equations and
  263. % that authors should try to avoid such use. Do not be tempted to use the
  264. % cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does
  265. % not format its papers in such ways.
  266. % *** PDF, URL AND HYPERLINK PACKAGES ***
  267. %
  268. %\usepackage{url}
  269. % url.sty was written by Donald Arseneau. It provides better support for
  270. % handling and breaking URLs. url.sty is already installed on most LaTeX
  271. % systems. The latest version can be obtained at:
  272. % http://www.ctan.org/tex-archive/macros/latex/contrib/misc/
  273. % Read the url.sty source comments for usage information. Basically,
  274. % \url{my_url_here}.
  275. % *** Do not adjust lengths that control margins, column widths, etc. ***
  276. % *** Do not use packages that alter fonts (such as pslatex). ***
  277. % There should be no need to do such things with IEEEtran.cls V1.6 and later.
  278. % (Unless specifically asked to do so by the journal or conference you plan
  279. % to submit to, of course. )
  280. \usepackage{listings}
  281. \usepackage{color}
  282. \lstset{
  283. language=c++,
  284. columns=flexible,
  285. basicstyle={\small\ttfamily},
  286. frame=tb,
  287. keepspaces=true,
  288. breaklines=true,
  289. breakatwhitespace=true,
  290. }
  291. % correct bad hyphenation here
  292. \hyphenation{op-tical net-works semi-conduc-tor}
  293. %\parskip 6pt plus 2pt minus 1pt
  294. \parskip 3pt plus 2pt minus 1pt
  295. \pagestyle{empty}
  296. \begin{document}
  297. \pagenumbering{gobble}
  298. %
  299. % paper title
  300. % can use linebreaks \\ within to get better formatting as desired
  301. \title{\textbf{\Large Implement Updates \textit{Over the Air} for \textit{ESP8266} microcontrollers}\\[0.2ex]}
  302. % \\[-1.5ex]
  303. % author names and affiliations
  304. % use a multiple column layout for up to three different
  305. % affiliations
  306. %\author{\IEEEauthorblockN{~\\[-0.4ex]\large Ngoc Khanh Truong\\[0.3ex]\normalsize}
  307. %\IEEEauthorblockA{Department of Applied Computer Science\\
  308. %Fulda University of Applied Sciences\\
  309. %Fulda, Germany\\
  310. %Email: {\tt Ngoc.K.Truong@cs.hs-fulda.de}}
  311. %\and
  312. %\IEEEauthorblockN{~\\[-0.4ex]\large Christian Pape\\[0.3ex]\normalsize}
  313. %\IEEEauthorblockA{Department of Applied Computer Science\\
  314. %Fulda University of Applied Sciences\\
  315. %Fulda, Germany\\
  316. %Email: {\tt christian.pape@cs.hs-fulda.de}}
  317. %\and
  318. %\IEEEauthorblockN{~\\[-0.4ex]\large Sebastian Rieger\\[0.3ex]\normalsize}
  319. %\IEEEauthorblockA{Department of Applied Computer Science\\
  320. %Fulda University of Applied Sciences\\
  321. %Fulda, Germany\\
  322. %Email: {\tt sebastian.rieger@cs.hs-fulda.de}
  323. %}}
  324. % conference papers do not typically use \thanks and this command
  325. % is locked out in conference mode. If really needed, such as for
  326. % the acknowledgment of grants, issue a \IEEEoverridecommandlockouts
  327. % after \documentclass
  328. % for over three affiliations, or if they all won't fit within the width
  329. % of the page, use this alternative format:
  330. %
  331. \author{\IEEEauthorblockN{Dustin Frisch\IEEEauthorrefmark{1},
  332. %Christian Pape\IEEEauthorrefmark{2},
  333. %Sebastian Rieger\IEEEauthorrefmark{2}
  334. }
  335. \IEEEauthorblockA{\IEEEauthorrefmark{1}Department of Applied Computer Science\\
  336. Fulda University of Applied Sciences,
  337. Fulda, Germany\\ Email: Dustin.Frisch@cs.hs-fulda.de}
  338. %\IEEEauthorblockA{\IEEEauthorrefmark{2}Department of Applied Computer Science\\
  339. %Fulda University of Applied Sciences,
  340. %Fulda, Germany\\ Email: \{christian.pape, sebastian.rieger\} @cs.hs-fulda.de}
  341. }
  342. % use for special paper notices
  343. %\IEEEspecialpapernotice{(Invited Paper)}
  344. % make the title area
  345. \maketitle
  346. \begin{abstract}
  347. Over the last years, a rapidly growing number of IoT devices is found on the market, especially in the area of the so-called smart home.
  348. These devices, which are deployed in vast numbers and frequently in use over many years, pose a risk to the internet as a whole if not provided regularly with security patches.
  349. Hence, a fully automated process for large-scale software updates of such embedded devices must be considered.
  350. In this article, we present an implementation of a durable and stable system for building and publishing cryptographically secure firmware updates for embedded devices based on \textit{ESP8266} microcontrollers.
  351. This includes mechanisms to build the updates from source and automatically sign, distribute and install them on the target devices.
  352. \end{abstract}
  353. % IEEEtran.cls defaults to using nonbold math in the Abstract.
  354. % This preserves the distinction between vectors and scalars. However,
  355. % if the conference you are submitting to favors bold math in the abstract,
  356. % then you can use LaTeX's standard command \boldmath at the very start
  357. % of the abstract to achieve this. Many IEEE journals/conferences frown on
  358. % math in the abstract anyway.
  359. % no keywords
  360. \begin{IEEEkeywords}
  361. Secure Updates, Over the Air, ESP8266.
  362. \end{IEEEkeywords}
  363. % For peer review papers, you can put extra information on the cover
  364. % page as needed:
  365. % \ifCLASSOPTIONpeerreview
  366. % \begin{center} \bfseries EDICS Category: 3-BBND \end{center}
  367. % \fi
  368. %
  369. % For peerreview papers, this IEEEtran command inserts a page break and
  370. % creates the second title. It will be ignored for other modes.
  371. \IEEEpeerreviewmaketitle
  372. \input{1-introduction}
  373. \input{2-related-work}
  374. \input{3-environment}
  375. \input{4-requirements}
  376. \input{5-implementation}
  377. \input{6-conclusion}
  378. % ************************************
  379. \bibliographystyle{IEEEtran}
  380. \bibliography{esper-ota}
  381. % that's all folks
  382. \end{document}