commit e128940de8f94c85f4d398fd9203bf1449db722d Author: Quentin Dufour Date: Mon Mar 14 15:59:17 2022 +0100 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..91e8b46 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +*.aux +*.fdb_latexmk +*.fls +*.log +*.toc +*.bbl +*.bcf +*.blg +*.out +*.run.xml +*.swp +manuscrit.pdf +tikzcache/ +main.pdf diff --git a/citations.bib b/citations.bib new file mode 100644 index 0000000..5517f0b --- /dev/null +++ b/citations.bib @@ -0,0 +1,102 @@ +@article{felber_pulp:_2012, + title = {Pulp: An adaptive gossip-based dissemination protocol for multi-source message streams}, + volume = {5}, + pages = {74--91}, + number = {1}, + journaltitle = {Peer-to-Peer Networking and Applications}, + author = {Felber, Pascal and Kermarrec, Anne-Marie and Leonini, Lorenzo and Riviere, Etienne and Voulgaris, Spyros}, + date = {2012} +} + +@misc{detat_conseil_nodate, + title = {Conseil d'{Etat}, 16 octobre 2019, {Plan} d'action de la {CNIL} en matière de publicité ciblée}, + language = {fr}, + urldate = {2021-02-17}, + journal = {Conseil d'État}, +} + + +@techreport{solove_ive_2007, + %address = {Rochester, NY}, + type = {{SSRN} {Scholarly} {Paper}}, + title = {'{I}'ve {Got} {Nothing} to {Hide}' and {Other} {Misunderstandings} of {Privacy}}, + %url = {https://papers.ssrn.com/abstract=998565}, + %abstract = {In this short essay, written for a symposium in the San Diego Law Review, Professor Daniel Solove examines the nothing to hide argument. When asked about government surveillance and data mining, many people respond by declaring: "I've got nothing to hide." According to the nothing to hide argument, there is no threat to privacy unless the government uncovers unlawful activity, in which case a person has no legitimate justification to claim that it remain private. The nothing to hide argument and its variants are quite prevalent, and thus are worth addressing. In this essay, Solove critiques the nothing to hide argument and exposes its faulty underpinnings.}, + %language = {en}, + %number = {ID 998565}, + %urldate = {2020-08-05}, + %institution = {Social Science Research Network}, + author = {Solove, Daniel J.}, + month = jul, + year = {2007}, + %keywords = {privacy, surveillance, data mining, nothing to hide}, + %file = {Snapshot:/home/quentin/Seafile/zotero/storage/ZZ8HHAEW/papers.html:text/html} +} + + +@book{gilliom_supervision_2013, + address = {Chicago}, + title = {{SuperVision}: an introduction to the surveillance society}, + shorttitle = {{SuperVision}}, + publisher = {The University of Chicago Press}, + author = {Gilliom, John and Monahan, Torin}, + year = {2013}, + keywords = {Electronic surveillance, Information technology, Privacy, Right of, Social aspects}, + annote = {My cell, my self -- It's in the cards -- Lives online -- Surveillance in schools -- Watching you work -- Security at any cost?} +} + + +@article{rouvroy_algorithmic_2013, + title = {Algorithmic governmentality and prospects of emancipation}, + %volume = {No 177}, + %issn = {0751-7971}, + %url = {https://www.cairn-int.info/article-E_RES_177_0163--algorithmic-governmentality-and-prospect.htm}, + %abstract = {Algorithmic governmentality is characterized primarily by the following dual movement: a) abandoning all forms of 'scale', 'benchmark', or hierarchy, in favour of an immanent normativity evolving in real time, from which a 'dual statistics' of the world emerges and which seems to do away with the old hierarchies devised by normal or average people; and b) avoiding all confrontation with individuals, whose opportunities for subjectification have become increasingly scarce. This dual movement seems to be the fruit of contemporary statistics' focus on relations. We seek to assess the extent to which these two aspects of the 'algorithmic governmentality' thereby outlined, with its sole reliance on relations, could facilitate, first, processes of individuation through relations (Simondon) and, second, the emergence of new forms of life through the plane of immanence overtaking the plane of organization (Deleuze-Guattari). Through this comparison with the main contemporary philosophies of relations, it thus appears that thinking about the evolution and processes of individuation through relations necessarily pertains to the 'disparate' - a heterogeneity of orders of magnitude, a multiplicity of regimes of existence - which algorithmic governmentality precisely incessantly suppresses by enclosing (digitized) reality on itself. Algorithmic governmentality tends rather to foreclose such emancipation perspectives by centring individuation processes on the subjective monad.}, + %language = {en}, + %number = {1}, + %urldate = {2021-02-18}, + journal = {Reseaux}, + author = {Rouvroy, Antoinette and Berns, Thomas and Libbrecht, Elizabeth}, + month = oct, + year = {2013}, + %note = {Publisher: La Découverte}, + %pages = {163--196}, + %file = {Full Text PDF:/home/quentin/Seafile/zotero/storage/KHG2YDAZ/Rouvroy et al. - 2013 - Algorithmic governmentality and prospects of emanc.pdf:application/pdf;Snapshot:/home/quentin/Seafile/zotero/storage/HWL2JSFH/article-E_RES_177_0163--algorithmic-governmentality-and-prospect.html:text/html} +} + + +@book{zuboff_age_2019, + %address = {New York}, + %edition = {First edition}, + title = {The age of surveillance capitalism: the fight for a human future at the new frontier of power}, + %isbn = {978-1-61039-569-4}, + shorttitle = {The age of surveillance capitalism}, + %abstract = {"Shoshana Zuboff, named "the true prophet of the information age" by the Financial Times, has always been ahead of her time. Her seminal book In the Age of the Smart Machine foresaw the consequences of a then-unfolding era of computer technology. Now, three decades later she asks why the once-celebrated miracle of digital is turning into a nightmare. Zuboff tackles the social, political, business, personal, and technological meaning of "surveillance capitalism" as an unprecedented new market form. It is not simply about tracking us and selling ads, it is the business model for an ominous new marketplace that aims at nothing less than predicting and modifying our everyday behavior--where we go, what we do, what we say, how we feel, who we're with. The consequences of surveillance capitalism for us as individuals and as a society vividly come to life in The Age of Surveillance Capitalism's pathbreaking analysis of power. The threat has shifted from a totalitarian "big brother" state to a universal global architecture of automatic sensors and smart capabilities: A "big other" that imposes a fundamentally new form of power and unprecedented concentrations of knowledge in private companies--free from democratic oversight and control"--}, + publisher = {PublicAffairs}, + author = {Zuboff, Shoshana}, + year = {2019}, + keywords = {Information technology, Social aspects, Consumer behavior, Consumer profiling, Data processing} +} + +@article{chaum1981untraceable, + title={Untraceable electronic mail, return addresses, and digital pseudonyms}, + author={Chaum, David L.}, + journal={Communications of the ACM}, + year={1981}, +} + +@misc{noauthor_wetransfer_nodate, + title = {{WeTransfer} {Case} {Study}}, + url = {https://aws.amazon.com/solutions/case-studies/wetransfer/}, + language = {en-US}, + urldate = {2020-06-04}, + journal = {Amazon Web Services, Inc.}, +} + +@inproceedings{bauer_optimal_nodate, + title={On the optimal path length for Tor}, + author={Bauer, Kevin and Juen, Joshua and Borisov, Nikita and Grunwald, Dirk and Sicker, Douglas and McCoy, Damon}, + booktitle={HotPets in conjunction with PETS 2010}, +} + + diff --git a/conclusion.tex b/conclusion.tex new file mode 100644 index 0000000..29e8d39 --- /dev/null +++ b/conclusion.tex @@ -0,0 +1,114 @@ + +\begin{frame}{Future Work: Donar and SAFE} + + +\begin{columns}[t] +\begin{column}{0.5\textwidth} +\normalsize \underline{For Donar} + + \Large + QoE\\ + \normalsize +Large scale experiment\\ +to collect users feedback + + + \Large + White Box\\ + \normalsize +Use information from the daemon +to enrich scheduling +\end{column} + + + +\begin{column}{0.5\textwidth} +\normalsize \underline{For SAFE} + + \Large + Deploy at scale\\ + \normalsize +a network to study performance gains + + \Large + Build Live Metrics\\ + \normalsize +about security and performance based on public data +\end{column} +\end{columns} + +\end{frame} + + +\begin{frame}{Future Work: Synergies} + \begin{center} + \Large Create \underline{synergies} between our systems + \end{center} + \vspace{0.5cm} + \begin{figure} +\tikzsetnextfilename{fw} +\begin{tikzpicture}[scale=1] + \coordinate (extr1) at (0,0); + \coordinate (extr2) at (3,0); + \coordinate (extr3) at (1.5,-2.6); + \node[above left=0cm of extr1] (t1) {\Large \textbf{CHEPIN}}; + \node[above right=0cm of extr2] (t2) {\Large \textbf{DONAR}}; + \node[below=0cm of extr3] (t3) {\Large \textbf{SAFE}}; + \node[text width=2cm,align=center] (t1t2) at (1.5,1) {Voice\\Conference}; + \node[text width=2cm,align=center] (t2t3) at (3.5,-1.3) {Optimize\\Routing\\Delays}; + \node[text width=2cm,align=center] (t3t1) at (-0.5,-1.3) {Group\\File\\Sharing}; + \draw (extr1) -- (extr2) -- (extr3) -- (extr1); +\end{tikzpicture} + \end{figure} +\end{frame} + + + + +\begin{frame}{Conclusion} + \begin{center} + \Large We contributed 2 \textcolor{purple}{privacy}-first systems\\ + \normalsize and 1 gossip system + \end{center} + + \begin{figure} +\tikzsetnextfilename{concl} +\begin{tikzpicture}[scale=1] + \node[text width=5cm,anchor=north west,draw=black,color=black] (c) at (0,0) { + \Large + \textbf{DONAR}\\ + \normalsize + \textcolor{purple}{Real-time} usages + + }; + \node[below=0.5cm of c.south west,text width=5cm,anchor=north west,draw=black,color=black] (d) { + \Large + \textbf{SAFE} \\ + \normalsize + \textcolor{purple}{High-throughput} usages + }; + \node[below=0.5cm of d.south west,text width=5cm,anchor=north west,draw=gray,color=gray] (e) { + \Large + \textbf{CHEPIN} \\ + \normalsize + Fast group communications + }; + + \node[text width=5cm, anchor=north west,align=center] (f) at (5.5,-0.8) { + \normalsize + with a focus on \\ + \Large + \textcolor{purple}{onion networks} + + }; + + \node[text width=5cm,below=0.5cm of f,align=center] (h) { + \normalsize + to cover usages of \\ + \Large + \textcolor{purple}{everyone} + }; +\end{tikzpicture} + \end{figure} +\end{frame} + diff --git a/donar.tex b/donar.tex new file mode 100644 index 0000000..cc2e2bd --- /dev/null +++ b/donar.tex @@ -0,0 +1,672 @@ +\begin{frame}{What are voice calling requirements?} + \tikzsetnextfilename{rtapp} + \begin{tikzpicture}[scale=1] + \node (micro) at (0,0) {\includegraphics{img/microphone.pdf}}; + \node (speaker) at (9,0) {\includegraphics{img/speaker.pdf}}; + \draw[->, solid, black,line width=1mm] (micro) edge node[sloped,anchor=north,text width=7cm]{ + \Large Call Requirements \\ + \normalsize + \textbf{Delay:} $99^{th}$-perc delay $<$ 360 ms \\ + \textbf{Drop:} Dropped calls $<$ 2\% \\ + \textbf{Duration:} avg: 5 min \& up to: 90 min \\ + \textbf{Anonymity:} 2-way anonymity\\ + \small Alice is anonymous to Bob,\\Bob is anonymous to Alice + } (speaker); + \end{tikzpicture} + + +\begin{center} + \Large \includegraphics[scale=0.6]{img/question.pdf} \color{blue} Which Tor configuration should we use? \\ + \Large \includegraphics[scale=0.6]{img/question.pdf} \color{blue} Can Tor satisfy these requirements? +\end{center} +\end{frame} + + +\begin{frame}[t]{Which Tor configuration should we use?} + +\small +\underline{For 2-way anonymity: Onion Services} + +\begin{figure} +\tikzsetnextfilename{os1ss} +\begin{tikzpicture} + +\node (j0) at (4,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[left=0cm of j0] (j0t) {Alice}; +\node (j4) at (8.5,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[right=0cm of j4] (j4t) {Bob}; +\draw[-, solid, black, line width=0.2mm] (j0) edge (j4); +\draw[fill=black] (5,5) circle(1mm); +\draw[fill=black] (5.5,5) circle(1mm); +\draw[fill=black] (6,5) circle(1mm); +\draw[fill=black] (6.5,5) circle(1mm); +\draw[fill=black] (7,5) circle(1mm); +\draw[fill=black] (7.5,5) circle(1mm); + +\node (lock) at (2,5) {\includegraphics[scale=0.4]{img/shield.pdf}}; +\node (lt) at (2,4.5) {\emph{Security-first}}; + +\node (aaa) at (6.25,4.5) {\emph{6 relays, 3-hop circuits}}; + +\end{tikzpicture} +\end{figure} + +\small +\underline{To reduce latency: Reduce circuits length} + +2-hops circuits have been discussed as a possible optimization\footnotemark[2] +\begin{figure} +\tikzsetnextfilename{os2ss} +\begin{tikzpicture} +\node (j0) at (4,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[left=0cm of j0] (j0t) {Alice}; +\node (j4) at (8.5,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[right=0cm of j4] (j4t) {Bob}; +\draw[-, solid, black, line width=0.2mm] (j0) edge (j4); +\draw[fill=black] (5.5,5) circle(1mm); +\draw[fill=black] (6,5) circle(1mm); +\draw[fill=black] (6.5,5) circle(1mm); +\draw[fill=black] (7,5) circle(1mm); + +\node (aaa) at (6.25,4.5) {\emph{4 relays, 2-hop circuits}}; +\node (lock) at (2,5) {\includegraphics[width=0.5cm]{img/gauge.pdf}}; +\node (lt) at (2,4.5) {\emph{Performance-first}}; + +\end{tikzpicture} +\end{figure} + + \footnotetext[2]{\fullcite{bauer_optimal_nodate}} +\end{frame} + +\begin{frame}[t]{How do we test Tor?} +\normalsize +\underline{2 Tor Configurations} + +\begin{figure} +\tikzsetnextfilename{os3ss} +\begin{tikzpicture} + +\node (j0) at (4,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[left=0cm of j0] (j0t) {Alice}; +\node (j4) at (8.5,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[right=0cm of j4] (j4t) {Bob}; +\draw[-, solid, black, line width=0.2mm] (j0) edge (j4); +\draw[fill=black] (5,5) circle(1mm); +\draw[fill=black] (5.5,5) circle(1mm); +\draw[fill=black] (6,5) circle(1mm); +\draw[fill=black] (6.5,5) circle(1mm); +\draw[fill=black] (7,5) circle(1mm); +\draw[fill=black] (7.5,5) circle(1mm); +\node (lock) at (2,5) {\includegraphics[scale=0.4]{img/shield.pdf}}; +\end{tikzpicture} +\tikzsetnextfilename{os4ss} +\begin{tikzpicture} +\node (j0) at (4,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[left=0cm of j0] (j0t) {Alice}; +\node (j4) at (8.5,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[right=0cm of j4] (j4t) {Bob}; +\draw[-, solid, black, line width=0.2mm] (j0) edge (j4); +\draw[fill=black] (5.5,5) circle(1mm); +\draw[fill=black] (6,5) circle(1mm); +\draw[fill=black] (6.5,5) circle(1mm); +\draw[fill=black] (7,5) circle(1mm); + +\node (lock) at (2,5) {\includegraphics[width=0.5cm]{img/gauge.pdf}}; +\end{tikzpicture} +\end{figure} + +\underline{Simulated Calls}\\ +5-minute and 90-minute calls\\ +Each configuration is repeated 64 times\\ + +\underline{Questions}\\ +Do Onion Service meet latency requirements?\\ +Do Onion Service are stable enough?\\ +Get insights on Onion Services' latency +\end{frame} + + + +\begin{frame}{Do onion services meet latency requirements?} + +\begin{figure} +\tikzsetnextfilename{petitschema1} +\begin{tikzpicture} + +\node (j0) at (4,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[left=0cm of j0] (j0t) {Alice}; +\node (j4) at (8.5,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[right=0cm of j4] (j4t) {Bob}; +\draw[-, solid, black, line width=0.2mm] (j0) edge (j4); +\draw[fill=black] (5,5) circle(1mm); +\draw[fill=black] (5.5,5) circle(1mm); +\draw[fill=black] (6,5) circle(1mm); +\draw[fill=black] (6.5,5) circle(1mm); +\draw[fill=black] (7,5) circle(1mm); +\draw[fill=black] (7.5,5) circle(1mm); +\node (lock) at (2,5) {\includegraphics[scale=0.4]{img/shield.pdf}}; + +\end{tikzpicture} +\end{figure} +\begin{columns} +\begin{column}{0.5\textwidth} +\includegraphics[width=\textwidth]{img/x1.pdf} +\end{column} +\begin{column}{0.5\textwidth} +\normalsize \underline{Acceptable 5-minute calls}\\ +\Large \textcolor{red}{9\%} + +\vspace{0.5cm} + +\normalsize \underline{Acceptable 90-minute calls}\\ +\Large \textcolor{red}{3\%} + +\end{column} +\end{columns} + +\begin{center} +\Large \includegraphics[scale=0.4]{img/stop.pdf} \color{red} Onion Services' delays are too high +\end{center} +\end{frame} + +\begin{frame}{Even with onion service using 2-hop circuits?} + +\begin{figure} +\tikzsetnextfilename{petitschema2} +\begin{tikzpicture} + +\node (j0) at (4,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[left=0cm of j0] (j0t) {Alice}; +\node (j4) at (8.5,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[right=0cm of j4] (j4t) {Bob}; +\draw[-, solid, black, line width=0.2mm] (j0) edge (j4); +\draw[fill=black] (5.5,5) circle(1mm); +\draw[fill=black] (6,5) circle(1mm); +\draw[fill=black] (6.5,5) circle(1mm); +\draw[fill=black] (7,5) circle(1mm); + +\node (lock) at (2,5) {\includegraphics[width=0.5cm]{img/gauge.pdf}}; + +\end{tikzpicture} +\end{figure} + + +\begin{columns} +\begin{column}{0.5\textwidth} +\includegraphics[width=\textwidth]{img/x2.pdf} +\end{column} +\begin{column}{0.5\textwidth} +\normalsize \underline{Acceptable 5-minute calls}\\ +\Large \textcolor{red}{44\%} + +\vspace{0.5cm} + +\normalsize \underline{Acceptable 90-minute calls}\\ +\Large \textcolor{red}{23\%} + +\end{column} +\end{columns} + +\begin{center} +\Large \includegraphics[scale=0.4]{img/stop.pdf} \color{red} With 2-hop circuits, delays are still too high +\end{center} +\end{frame} + + + +\begin{frame}{Do onion services are stable enough for calls?} + +\begin{figure} +\tikzsetnextfilename{os3ss} +\begin{tikzpicture} + +\node (j0) at (4,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[left=0cm of j0] (j0t) {Alice}; +\node (j4) at (8.5,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[right=0cm of j4] (j4t) {Bob}; +\draw[-, solid, black, line width=0.2mm] (j0) edge (j4); +\draw[fill=black] (5,5) circle(1mm); +\draw[fill=black] (5.5,5) circle(1mm); +\draw[fill=black] (6,5) circle(1mm); +\draw[fill=black] (6.5,5) circle(1mm); +\draw[fill=black] (7,5) circle(1mm); +\draw[fill=black] (7.5,5) circle(1mm); +\node (lock) at (2,5) {\includegraphics[scale=0.4]{img/shield.pdf}}; +\end{tikzpicture} +\tikzsetnextfilename{os4ss} +\begin{tikzpicture} +\node (j0) at (4,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[left=0cm of j0] (j0t) {Alice}; +\node (j4) at (8.5,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[right=0cm of j4] (j4t) {Bob}; +\draw[-, solid, black, line width=0.2mm] (j0) edge (j4); +\draw[fill=black] (5.5,5) circle(1mm); +\draw[fill=black] (6,5) circle(1mm); +\draw[fill=black] (6.5,5) circle(1mm); +\draw[fill=black] (7,5) circle(1mm); + +\node (lock) at (2,5) {\includegraphics[width=0.5cm]{img/gauge.pdf}}; +\end{tikzpicture} +\end{figure} + + +\begin{columns} +\begin{column}{0.45\textwidth} +\includegraphics[width=\textwidth]{img/x3.pdf} +\end{column} +\begin{column}{0.5\textwidth} +\normalsize \underline{Dropped 5-minute calls}\\ +\Large \textcolor{red}{5\%} \normalsize for 2 hops \\ +\Large \textcolor{red}{10\%} \normalsize for 3 hops + +\vspace{0.5cm} + +\normalsize \underline{Dropped 90-minute calls}\\ +\Large \textcolor{red}{10\%} \normalsize for 2 hops\\ +\Large \textcolor{red}{17\%} \normalsize for 3 hops + +\end{column} +\end{columns} + +\begin{center} +\Large \includegraphics[scale=0.4]{img/stop.pdf} \color{red} Calls are dropped too often +\end{center} +\end{frame} + + +\begin{frame}{Understanding Latency Spike Properties} + +\includegraphics[width=\textwidth]{img/circuit.pdf} + + +\begin{center} +For most circuits,\\ +\Large +\includegraphics[scale=0.4]{img/stop.pdf} \color{red} the $99^{th}$ latency is too high, \\ +\includegraphics[scale=0.4]{img/ok.pdf} \color{black!50!green} the median latency is acceptable:\\ +\includegraphics[scale=0.6]{img/question.pdf} \color{blue} Tor has latency spikes but is able to deliver some packets on time +\end{center} + +\end{frame} + + +\begin{frame}{Our contribution} + + \normalsize \underline{Our goal:} + + \Large Building a communication abstraction to provide stable low-latency packet delivery\\over the existing Tor network + + %by leveraging on link diversity, scheduling and redundancy. + + + \vspace{0.5cm} + + \normalsize \underline{Our proposal's codename:} + + \Large Donar (the other name of Thor) +\end{frame} + +\begin{frame}{Donar Overview} + +\Large Donar is a set of \textbf{multipath} components \\ + \underline{Alternate}, \underline{Double Send} and \underline{Path Ranking} + +\vspace{0.7cm} + +We make 2 flavors with them: + +\vspace{0.5cm} + + \begin{columns} + \begin{column}{0.45\textwidth} +\normalsize +\underline{Anticipate Failures} + +\Large Donar Alternate + +\Large Donar Double Send + \end{column} + \begin{column}{0.45\textwidth} +\normalsize +\underline{React to Failures} + +\Large + Path Ranking + +\Large + Path Ranking + \end{column} + \end{columns} +\end{frame} + + +\begin{frame}[t]{Alternate Strategy} +\tikzsetnextfilename{padding} +\begin{tikzpicture}[scale=1] + \node (alice) at (1,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of alice] (alicet) {Alice}; + \node (bob) at (10,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of bob] (bobt) {Bob}; + \node[circle,fill=black,minimum size=1mm,right=0cm of alice] (j0) {}; + \node[circle,fill=black,minimum size=1mm,left=0cm of bob] (j4) {}; + \coordinate (a1) at (3,6.5) {}; + \coordinate (a2) at (3,5.5) {}; + \coordinate (a3) at (3,4.5) {}; + \coordinate (a4) at (3,3.5) {}; + \coordinate (b1) at (8,6.5) {}; + \coordinate (b2) at (8,5.5) {}; + \coordinate (b3) at (8,4.5) {}; + \coordinate (b4) at (8,3.5) {}; + \coordinate (a5) at (3,2.5) {}; + \coordinate (a6) at (3,7.5) {}; + \coordinate (b5) at (8,2.5) {}; + \coordinate (b6) at (8,7.5) {}; + \draw[-, solid, black] (j0) -- (a1) -- (b1) -- (j4); + \draw[-, solid, black] (j0) -- (a2) -- (b2) -- (j4); + \draw[-, solid, black] (j0) -- (a3) -- (b3) -- (j4); + \draw[-, solid, black] (j0) -- (a4) -- (b4) -- (j4); + \draw[-, solid, black] (j0) -- (a5) -- (b5) -- (j4); + \draw[-, solid, black] (j0) -- (a6) -- (b6) -- (j4); + + + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p11) at (7,5.5) {1}; + \node[rectangle,draw=black,fill=black,minimum width=5mm] (p11p) at (6.5,5.5) {\color{black}1}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p13) at (4.6,3.5) {3}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p13p) at (4.1,3.5) {2}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p22) at (5.8,4.5) {2}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p22p) at (5.3,4.5) {1}; + \node[text width=10cm,align=center] (expl) at (5.5, 1.0) {\Large + \textbf{Alternate} schedule packets across links and leverages Tor's padding + }; +\end{tikzpicture} +\end{frame} + +\begin{frame}[t]{Donar Double Send} +\tikzsetnextfilename{doublesend} +\begin{tikzpicture}[scale=1] + \node (alice) at (1,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of alice] (alicet) {Alice}; + \node (bob) at (10,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of bob] (bobt) {Bob}; + \node[circle,fill=black,minimum size=1mm,right=0cm of alice] (j0) {}; + \node[circle,fill=black,minimum size=1mm,left=0cm of bob] (j4) {}; + \coordinate (a1) at (3,6.5) {}; + \coordinate (a2) at (3,5.5) {}; + \coordinate (a3) at (3,4.5) {}; + \coordinate (a4) at (3,3.5) {}; + \coordinate (b1) at (8,6.5) {}; + \coordinate (b2) at (8,5.5) {}; + \coordinate (b3) at (8,4.5) {}; + \coordinate (b4) at (8,3.5) {}; + \coordinate (a5) at (3,2.5) {}; + \coordinate (a6) at (3,7.5) {}; + \coordinate (b5) at (8,2.5) {}; + \coordinate (b6) at (8,7.5) {}; + \draw[-, solid, black] (j0) -- (a1) -- (b1) -- (j4); + \draw[-, solid, black] (j0) -- (a2) -- (b2) -- (j4); + \draw[-, solid, black] (j0) -- (a3) -- (b3) -- (j4); + \draw[-, solid, black] (j0) -- (a4) -- (b4) -- (j4); + + \draw[-, solid, black] (j0) -- (a5) -- (b5) -- (j4); + \draw[-, solid, black] (j0) -- (a6) -- (b6) -- (j4); + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p11) at (7,5.5) {1}; + \node[rectangle,draw=black,fill=black,minimum width=5mm] (p11p) at (6.5,5.5) {\color{black}1}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p13) at (4.6,3.5) {3}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p13p) at (4.1,3.5) {2}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p22) at (5.8,4.5) {2}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p22p) at (5.3,4.5) {1}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p31) at (7,7.5) {1}; + \node[rectangle,draw=black,fill=black,minimum width=5mm] (p31p) at (6.5,7.5) {\color{black}1}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p33) at (4.6,2.5) {3}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p33p) at (4.1,2.5) {2}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p42) at (5.8,6.5) {2}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p42p) at (5.3,6.5) {1}; + \node[text width=10cm,align=center] (expl) at (5.5, 1.0) {\Large +\textbf{Double Send} extends Alternate by adding on-wire duplication +\normalsize + }; +\end{tikzpicture} +\end{frame} + + +\begin{frame}[t]{Path Ranking} +\tikzsetnextfilename{scheduling} +\begin{tikzpicture}[scale=1] + \node (alice) at (1,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of alice] (alicet) {Alice}; + \node (bob) at (10,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of bob] (bobt) {Bob}; + \node[circle,fill=black,minimum size=1mm,right=0cm of alice] (j0) {}; + \node[circle,fill=black,minimum size=1mm,left=0cm of bob] (j4) {}; + \coordinate (a1) at (3,6.5) {}; + \coordinate (a2) at (3,5.5) {}; + \coordinate (a3) at (3,4.5) {}; + \coordinate (a4) at (3,3.5) {}; + \coordinate (b1) at (8,6.5) {}; + \coordinate (b2) at (8,5.5) {}; + \coordinate (b3) at (8,4.5) {}; + \coordinate (b4) at (8,3.5) {}; + \draw[-, dashed, black] (j0) -- (a1) -- (b1) -- (j4); + \draw[-, dashed, black] (j0) -- (a2) -- (b2) -- (j4); + \draw[-, dashed, black] (j0) -- (a3) -- (b3) -- (j4); + \draw[-, dashed, black] (j0) -- (a4) -- (b4) -- (j4); + + \coordinate (a5) at (3,2.5) {}; + \coordinate (a6) at (3,7.5) {}; + \coordinate (b5) at (8,2.5) {}; + \coordinate (b6) at (8,7.5) {}; + \draw[-, dashed, black] (j0) -- (a5) -- (b5) -- (j4); + \draw[-, dashed, black] (j0) -- (a6) -- (b6) -- (j4); + + \node[below=0cm of a6] (a6t) {~A}; + \node[below=0cm of a1] (a1t) {~B}; + \node[below=0cm of a2] (a2t) {~C}; + \node[below=0cm of a3] (a3t) {~D}; + \node[below=0cm of a4] (a4t) {~E}; + \node[below=0cm of a5] (a5t) {~F}; + + \only<1> { + \draw[-, solid, black] (j0) -- (a2) -- (b2) -- (j4); + \draw[-, solid, black] (j0) -- (a3) -- (b3) -- (j4); + \draw[-, solid, black] (j0) -- (a1) -- (b1) -- (j4); + \draw[-, solid, black] (j0) -- (a6) -- (b6) -- (j4); + + + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p11) at (5.8,5.5) {1}; + \node[rectangle,draw=black,fill=black,minimum width=5mm] (p11p) at (5.3,5.5) {\color{black}1}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p13) at (4.1,5.5) {3}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p13p) at (3.6,5.5) {2}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p22) at (6.3,4.5) {2}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p22p) at (5.8,4.5) {1}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p31) at (6.5,7.5) {1}; + \node[rectangle,draw=black,fill=black,minimum width=5mm] (p31p) at (6,7.5) {\color{black}1}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p33) at (4.6,7.5) {3}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p33p) at (4.1,7.5) {2}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p42) at (7,6.5) {2}; + \node[rectangle,draw=black,fill=white,minimum width=5mm] (p42p) at (6.5,6.5) {1}; + + + \node[text width=10cm,align=left] (expl) at (5.5, 1.2) {\Large + \Large \includegraphics[scale=0.6]{img/question.pdf} \color{blue} We want to schedule only on fastest links \\ + }; + } + + \only<2> { + \draw[-, solid, black!50!red, line width = 0.4mm] (j0) -- (a2) -- (b2) -- (j4); + \draw[-, solid, black!50!green, line width = 0.4mm] (j0) -- (a3) -- (b3) -- (j4); + \draw[-, solid, black!50!green, line width = 0.4mm] (j0) -- (a1) -- (b1) -- (j4); + \draw[-, solid, black!50!green, line width = 0.4mm] (j0) -- (a6) -- (b6) -- (j4); + \node[below=0cm of bobt, text width=3cm] (bobr) { + \textbf{Path Ranking}\\ + \textcolor{black!50!green}{1. B}\\ + \textcolor{black!50!green}{2. D}\\ + \textcolor{black!50!green}{3. A}\\ + \textcolor{black!50!red}{4. C} + }; + \node[text width=8cm,align=center] (expl) at (4, 1.2) {\Large + Bob ranks paths and informs Alice that stops using the slowest ones + }; + } + + \only<3> { + \draw[-, solid, black!30!cyan, line width = 0.4mm] (j0) -- (a5) -- (b5) -- (j4); + \draw[-, solid, black] (j0) -- (a3) -- (b3) -- (j4); + \draw[-, solid, black] (j0) -- (a1) -- (b1) -- (j4); + \draw[-, solid, black] (j0) -- (a6) -- (b6) -- (j4); + \node[below=0cm of bobt, text width=3cm] (bobr) { + \textbf{Path Ranking}\\ + 1. ...\\ + 2. ...\\ + 3. ...\\ + 4. ... + }; + \node[text width=8cm,align=center] (expl) at (4, 1.2) {\Large + Alice selects a new path + }; + } + + \only<4> { + \draw[-, solid, black!50!green, line width = 0.4mm] (j0) -- (a5) -- (b5) -- (j4); + \draw[-, solid, black!50!green, line width = 0.4mm] (j0) -- (a3) -- (b3) -- (j4); + \draw[-, solid, black!50!red, line width = 0.4mm] (j0) -- (a1) -- (b1) -- (j4); + \draw[-, solid, black!50!green, line width = 0.4mm] (j0) -- (a6) -- (b6) -- (j4); + \node[below=0cm of bobt, text width=3cm] (bobr) { + \textbf{Path Ranking}\\ + \textcolor{black!50!green}{1. F}\\ + \textcolor{black!50!green}{2. A}\\ + \textcolor{black!50!green}{3. D}\\ + \textcolor{black!50!red}{4. B} + }; + \node[text width=8cm,align=center] (expl) at (4, 1.2) {\Large + Ranking is re-computed regularly + }; + } + +\end{tikzpicture} +\end{frame} + +\begin{frame}[t]{Evaluation Setup} +\underline{Configurations \& Goals:} Same as our preliminary analysis + +\underline{Our algorithms} + + +\normalsize +\textbf{Donar Alternate}\\ +Alternate + Ranking (6/12 active paths) + +\textbf{Donar Double Send}\\ +Double Send + Ranking (6/12 active paths) + +\scriptsize Implemented in \texttt{C}, notable API/lib: \texttt{epoll}, \texttt{gstreamer}, \texttt{glib} + +\normalsize + +\underline{State of the Art algorithms} + +\textbf{Simple:} Baseline introduced in the preliminary analysis \\ +%Same data consumption as Donar Alternate +\textbf{Torfone:} Duplicates packets on 2 paths \\ +%Same data consumption as Donar Double Send + + +\end{frame} + +\begin{frame}{Does Donar reduce latency enough with 2-hop circuits?} +\begin{figure} +\tikzsetnextfilename{petitschema4} +\begin{tikzpicture} +\node (j0) at (4,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[left=0cm of j0] (j0t) {Alice}; +\node (j4) at (8.5,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[right=0cm of j4] (j4t) {Bob}; +\draw[-, solid, black, line width=0.2mm] (j0) edge (j4); +\draw[fill=black] (5.5,5) circle(1mm); +\draw[fill=black] (6,5) circle(1mm); +\draw[fill=black] (6.5,5) circle(1mm); +\draw[fill=black] (7,5) circle(1mm); + +\node (lock) at (2,5) {\includegraphics[width=0.5cm]{img/gauge.pdf}}; +\end{tikzpicture} +\end{figure} + +\begin{columns} +\begin{column}{0.5\textwidth} +\includegraphics[width=\textwidth]{img/x5.pdf} +\end{column} +\begin{column}{0.5\textwidth} +\normalsize \underline{Acceptable 90-minute calls}\\ +\large \textcolor{black!50!green}{87\%} \normalsize for Donar Alternate\\ +\large \textcolor{black!50!green}{95\%} \normalsize for Donar Double Send\\ +\large \textcolor{red}{25\%} \normalsize for Torfone\\ +\large \textcolor{red}{23\%} \normalsize for Simple (our baseline)\\ + +\end{column} +\end{columns} + +\begin{center} +\large \includegraphics[scale=0.4]{img/ok.pdf} \color{black!50!green} Both Donar variants succeed most of their calls +\end{center} + +\end{frame} + + + + +\begin{frame}{Does Donar reduce latency enough?} +\begin{figure} +\tikzsetnextfilename{petitschema33} +\begin{tikzpicture} + +\node (j0) at (4,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[left=0cm of j0] (j0t) {Alice}; +\node (j4) at (8.5,5) {\includegraphics[scale=0.1]{img/computer.pdf}}; +\node[right=0cm of j4] (j4t) {Bob}; +\draw[-, solid, black, line width=0.2mm] (j0) edge (j4); +\draw[fill=black] (5,5) circle(1mm); +\draw[fill=black] (5.5,5) circle(1mm); +\draw[fill=black] (6,5) circle(1mm); +\draw[fill=black] (6.5,5) circle(1mm); +\draw[fill=black] (7,5) circle(1mm); +\draw[fill=black] (7.5,5) circle(1mm); + +\node (lock) at (2,5) {\includegraphics[scale=0.4]{img/shield.pdf}};\end{tikzpicture} +\end{figure} + +\begin{columns} +\begin{column}{0.5\textwidth} +\includegraphics[width=\textwidth]{img/x4.pdf} +\end{column} +\begin{column}{0.5\textwidth} +\normalsize \underline{Acceptable 90-minute calls}\\ +\large \textcolor{red}{58\%} \normalsize for Donar Alternate\\ +\large \textcolor{black!50!green}{87\%} \normalsize for Donar Double Send\\ +\large \textcolor{red}{31\%} \normalsize for Torfone\\ +\large \textcolor{red}{3\%} \normalsize for Simple (our baseline)\\ + +\end{column} +\end{columns} + +\begin{center} +\large \includegraphics[scale=0.4]{img/stop.pdf} \color{red} Even with Donar Alternate, many calls still fail\\ +\large \includegraphics[scale=0.4]{img/ok.pdf} \color{black!50!green} With Donar Double Send, most calls succeed +\end{center} +\end{frame} + +\begin{frame}{Does Donar maintain calls over time?} +\includegraphics[width=\textwidth]{img/call_drop.pdf} + +\begin{center} +\Large \includegraphics[scale=0.4]{img/ok.pdf} \color{black!50!green} Donar provides stable calls +\end{center} +\end{frame} + +\begin{frame}{Conclusion} +\underline{We contributed} + +\Large Foundations \\ +\normalsize to build a Tor softphone with stable latency + +\Large Insights \\ +\normalsize +to understand delays on Tor +from a real-time perspective +\end{frame} diff --git a/img/Adwaita Icon Template.svg b/img/Adwaita Icon Template.svg new file mode 100644 index 0000000..9df4d46 --- /dev/null +++ b/img/Adwaita Icon Template.svg @@ -0,0 +1,118 @@ + + + Adwaita Icon Template + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + GNOME Design Team + + + + + Adwaita Icon Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/Bitcoin.svg b/img/Bitcoin.svg new file mode 100644 index 0000000..b3fd9e3 --- /dev/null +++ b/img/Bitcoin.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/img/Gnome-emblem-new.svg b/img/Gnome-emblem-new.svg new file mode 100644 index 0000000..e80c8f0 --- /dev/null +++ b/img/Gnome-emblem-new.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Lapo Calamandrei + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/Gnome-emblem-unreadable.svg b/img/Gnome-emblem-unreadable.svg new file mode 100644 index 0000000..b964a2f --- /dev/null +++ b/img/Gnome-emblem-unreadable.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Lapo Calamandrei + + + + + Read-only + + + emblem + read-only + no-read + locked + lock + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/Gnome-face-sad.svg b/img/Gnome-face-sad.svg new file mode 100644 index 0000000..2a927fe --- /dev/null +++ b/img/Gnome-face-sad.svg @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Sad + + + Lapo Calamandrei + + + + + + emoticon + emote + smiley + smile + sad + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/Gnome-process-stop.svg b/img/Gnome-process-stop.svg new file mode 100644 index 0000000..d097eff --- /dev/null +++ b/img/Gnome-process-stop.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Stop Process + December 2006 + + + Jakub Steiner + + + + + Andreas Nilsson + + + + + + stop + halt + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/alice.pdf b/img/alice.pdf new file mode 100644 index 0000000..a0b8aa3 Binary files /dev/null and b/img/alice.pdf differ diff --git a/img/anet.pdf b/img/anet.pdf new file mode 100644 index 0000000..5605fae Binary files /dev/null and b/img/anet.pdf differ diff --git a/img/anonymous.pdf b/img/anonymous.pdf new file mode 100644 index 0000000..5145185 Binary files /dev/null and b/img/anonymous.pdf differ diff --git a/img/anonymous.svg b/img/anonymous.svg new file mode 100644 index 0000000..3f53130 --- /dev/null +++ b/img/anonymous.svg @@ -0,0 +1,492 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + Start Here + To be replaced by vendor/distribution branding. + + + start + applications + launchers + + + + + Garrett LeSage + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/arelay.pdf b/img/arelay.pdf new file mode 100644 index 0000000..526380f Binary files /dev/null and b/img/arelay.pdf differ diff --git a/img/audio-input-microphone.svg b/img/audio-input-microphone.svg new file mode 100644 index 0000000..d31409c --- /dev/null +++ b/img/audio-input-microphone.svg @@ -0,0 +1,501 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + Microphone + + + mic + mike + microphone + input + audio + record + voice + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/bad.pdf b/img/bad.pdf new file mode 100644 index 0000000..5583c22 Binary files /dev/null and b/img/bad.pdf differ diff --git a/img/bad.svg b/img/bad.svg new file mode 100644 index 0000000..e4846a3 --- /dev/null +++ b/img/bad.svg @@ -0,0 +1,426 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Face - Devil Grin + + + emoticon + emote + smiley + laugh + grin + >:-D + >:D + + + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + + Tuomas Kuosmanen + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/bitcoin.jpg b/img/bitcoin.jpg new file mode 100644 index 0000000..e979889 Binary files /dev/null and b/img/bitcoin.jpg differ diff --git a/img/bitcoin.png b/img/bitcoin.png new file mode 100644 index 0000000..b166928 Binary files /dev/null and b/img/bitcoin.png differ diff --git a/img/bob.pdf b/img/bob.pdf new file mode 100644 index 0000000..ff1b782 Binary files /dev/null and b/img/bob.pdf differ diff --git a/img/book.pdf b/img/book.pdf new file mode 100644 index 0000000..5e985b2 Binary files /dev/null and b/img/book.pdf differ diff --git a/img/building.pdf b/img/building.pdf new file mode 100644 index 0000000..bae2034 Binary files /dev/null and b/img/building.pdf differ diff --git a/img/building.svg b/img/building.svg new file mode 100644 index 0000000..e186fe4 --- /dev/null +++ b/img/building.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/business.pdf b/img/business.pdf new file mode 100644 index 0000000..e7780f2 Binary files /dev/null and b/img/business.pdf differ diff --git a/img/call_drop.pdf b/img/call_drop.pdf new file mode 100644 index 0000000..c2af4e5 Binary files /dev/null and b/img/call_drop.pdf differ diff --git a/img/cd.pdf b/img/cd.pdf new file mode 100644 index 0000000..7a22b6c Binary files /dev/null and b/img/cd.pdf differ diff --git a/img/chat.pdf b/img/chat.pdf new file mode 100644 index 0000000..b80bfb2 Binary files /dev/null and b/img/chat.pdf differ diff --git a/img/circuit.pdf b/img/circuit.pdf new file mode 100644 index 0000000..6343763 Binary files /dev/null and b/img/circuit.pdf differ diff --git a/img/cloud.pdf b/img/cloud.pdf new file mode 100644 index 0000000..0afe686 Binary files /dev/null and b/img/cloud.pdf differ diff --git a/img/comparison.pdf b/img/comparison.pdf new file mode 100644 index 0000000..8f6778a Binary files /dev/null and b/img/comparison.pdf differ diff --git a/img/computer+mail+blue.png b/img/computer+mail+blue.png new file mode 100644 index 0000000..b944525 Binary files /dev/null and b/img/computer+mail+blue.png differ diff --git a/img/computer+mail+blue.svg b/img/computer+mail+blue.svg new file mode 100644 index 0000000..1c20f37 --- /dev/null +++ b/img/computer+mail+blue.svg @@ -0,0 +1,1975 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Lapo Calamandrei + + + + + + + + + Jakub Steiner +Luca Ferretti <elle.uca@libero.it> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/computer+mail+bluered.png b/img/computer+mail+bluered.png new file mode 100644 index 0000000..1427080 Binary files /dev/null and b/img/computer+mail+bluered.png differ diff --git a/img/computer+mail+bluered.svg b/img/computer+mail+bluered.svg new file mode 100644 index 0000000..398b7e9 --- /dev/null +++ b/img/computer+mail+bluered.svg @@ -0,0 +1,2116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Lapo Calamandrei + + + + + + + + + Jakub Steiner +Luca Ferretti <elle.uca@libero.it> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/computer+mail+blueredyellow.png b/img/computer+mail+blueredyellow.png new file mode 100644 index 0000000..38c93e9 Binary files /dev/null and b/img/computer+mail+blueredyellow.png differ diff --git a/img/computer+mail+blueredyellow.svg b/img/computer+mail+blueredyellow.svg new file mode 100644 index 0000000..4df3534 --- /dev/null +++ b/img/computer+mail+blueredyellow.svg @@ -0,0 +1,2258 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Lapo Calamandrei + + + + + + + + + Jakub Steiner +Luca Ferretti <elle.uca@libero.it> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/computer+mail+blueyellow.png b/img/computer+mail+blueyellow.png new file mode 100644 index 0000000..bece53c Binary files /dev/null and b/img/computer+mail+blueyellow.png differ diff --git a/img/computer+mail+blueyellow.svg b/img/computer+mail+blueyellow.svg new file mode 100644 index 0000000..e4085ca --- /dev/null +++ b/img/computer+mail+blueyellow.svg @@ -0,0 +1,2116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Lapo Calamandrei + + + + + + + + + Jakub Steiner +Luca Ferretti <elle.uca@libero.it> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/computer+mail+red.png b/img/computer+mail+red.png new file mode 100644 index 0000000..71eb5af Binary files /dev/null and b/img/computer+mail+red.png differ diff --git a/img/computer+mail+red.svg b/img/computer+mail+red.svg new file mode 100644 index 0000000..5d7d7d0 --- /dev/null +++ b/img/computer+mail+red.svg @@ -0,0 +1,1932 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Lapo Calamandrei + + + + + + + + + Jakub Steiner +Luca Ferretti <elle.uca@libero.it> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/computer+mail+redyellow.png b/img/computer+mail+redyellow.png new file mode 100644 index 0000000..53e24ff Binary files /dev/null and b/img/computer+mail+redyellow.png differ diff --git a/img/computer+mail+redyellow.svg b/img/computer+mail+redyellow.svg new file mode 100644 index 0000000..58a950d --- /dev/null +++ b/img/computer+mail+redyellow.svg @@ -0,0 +1,2263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Lapo Calamandrei + + + + + + + + + Jakub Steiner +Luca Ferretti <elle.uca@libero.it> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/computer-broken.png b/img/computer-broken.png new file mode 100644 index 0000000..9cf1d82 Binary files /dev/null and b/img/computer-broken.png differ diff --git a/img/computer-broken.svg b/img/computer-broken.svg new file mode 100644 index 0000000..db969c9 --- /dev/null +++ b/img/computer-broken.svg @@ -0,0 +1,1875 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Lapo Calamandrei + + + + + + + + + Jakub Steiner +Luca Ferretti <elle.uca@libero.it> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/computer-new.png b/img/computer-new.png new file mode 100644 index 0000000..c6ea63c Binary files /dev/null and b/img/computer-new.png differ diff --git a/img/computer-new.svg b/img/computer-new.svg new file mode 100644 index 0000000..deb394a --- /dev/null +++ b/img/computer-new.svg @@ -0,0 +1,1930 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Lapo Calamandrei + + + + + + + + + Jakub Steiner +Luca Ferretti <elle.uca@libero.it> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/computer-sad.png b/img/computer-sad.png new file mode 100644 index 0000000..c3017f0 Binary files /dev/null and b/img/computer-sad.png differ diff --git a/img/computer-sad.svg b/img/computer-sad.svg new file mode 100644 index 0000000..83eedbf --- /dev/null +++ b/img/computer-sad.svg @@ -0,0 +1,2074 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Lapo Calamandrei + + + + + + + + + Jakub Steiner +Luca Ferretti <elle.uca@libero.it> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/computer.pdf b/img/computer.pdf new file mode 100644 index 0000000..758b3a1 Binary files /dev/null and b/img/computer.pdf differ diff --git a/img/computer.png b/img/computer.png new file mode 100644 index 0000000..acd8ccc Binary files /dev/null and b/img/computer.png differ diff --git a/img/computer.svg b/img/computer.svg new file mode 100644 index 0000000..87ef09b --- /dev/null +++ b/img/computer.svg @@ -0,0 +1,1786 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Lapo Calamandrei + + + + + + + + + Jakub Steiner +Luca Ferretti <elle.uca@libero.it> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/document.pdf b/img/document.pdf new file mode 100644 index 0000000..134e56c Binary files /dev/null and b/img/document.pdf differ diff --git a/img/down.png b/img/down.png new file mode 100644 index 0000000..63650bb Binary files /dev/null and b/img/down.png differ diff --git a/img/down.svg b/img/down.svg new file mode 100644 index 0000000..02d27c1 --- /dev/null +++ b/img/down.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Go down + August 2006 + + + Andreas Nilsson + + + + + Jakub Steiner + + + http://www.gnome.org + + + down + arrow + go + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/emblem-system.svg b/img/emblem-system.svg new file mode 100644 index 0000000..8bfdf70 --- /dev/null +++ b/img/emblem-system.svg @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + Emblem System + + + emblem + system + library + crucial + base + + + + + + + + + + + + + + + + + diff --git a/img/eye.pdf b/img/eye.pdf new file mode 100644 index 0000000..70729d4 Binary files /dev/null and b/img/eye.pdf differ diff --git a/img/eye.svg b/img/eye.svg new file mode 100644 index 0000000..5b24758 --- /dev/null +++ b/img/eye.svg @@ -0,0 +1,16 @@ + + + + Master slide + + + + + + + + + + + + \ No newline at end of file diff --git a/img/face-smile-big.svg b/img/face-smile-big.svg new file mode 100644 index 0000000..e0fbd57 --- /dev/null +++ b/img/face-smile-big.svg @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Face - Laughing + + + emoticon + emote + smiley + laughing + :-D + :D + + + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + + + + + + + + + + + + + + + + + diff --git a/img/face-wink.svg b/img/face-wink.svg new file mode 100644 index 0000000..54ac00b --- /dev/null +++ b/img/face-wink.svg @@ -0,0 +1,270 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Face - Wink + + + emoticon + emote + winkie + wink + ;) + ;-) + + + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + + + Corey Woodworth + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/fail.pdf b/img/fail.pdf new file mode 100644 index 0000000..af0d117 Binary files /dev/null and b/img/fail.pdf differ diff --git a/img/fail.png b/img/fail.png new file mode 100644 index 0000000..7c85fce Binary files /dev/null and b/img/fail.png differ diff --git a/img/fail.svg b/img/fail.svg new file mode 100644 index 0000000..4281fe6 --- /dev/null +++ b/img/fail.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Jakub Steiner + + + + + Andreas Nilsson + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/fast.png b/img/fast.png new file mode 100644 index 0000000..70f2983 Binary files /dev/null and b/img/fast.png differ diff --git a/img/fb.png b/img/fb.png new file mode 100644 index 0000000..b413edc Binary files /dev/null and b/img/fb.png differ diff --git a/img/gauge.pdf b/img/gauge.pdf new file mode 100644 index 0000000..5131dcc Binary files /dev/null and b/img/gauge.pdf differ diff --git a/img/gauge.svg b/img/gauge.svg new file mode 100644 index 0000000..ec76752 --- /dev/null +++ b/img/gauge.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + \ No newline at end of file diff --git a/img/good.pdf b/img/good.pdf new file mode 100644 index 0000000..0d83f05 Binary files /dev/null and b/img/good.pdf differ diff --git a/img/good.svg b/img/good.svg new file mode 100644 index 0000000..84ac543 --- /dev/null +++ b/img/good.svg @@ -0,0 +1,360 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Face - Angel + + + emoticon + emote + smiley + angel + 0:) + 0:-) + + + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + + + Corey Woodworth + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/home.pdf b/img/home.pdf new file mode 100644 index 0000000..7158329 Binary files /dev/null and b/img/home.pdf differ diff --git a/img/home.svg b/img/home.svg new file mode 100644 index 0000000..4f16958 --- /dev/null +++ b/img/home.svg @@ -0,0 +1,445 @@ + +image/svg+xmlGo HomeJakub Steinerhttp://jimmac.musichall.czhomereturngodefaultuserdirectoryTuomas Kuosmanen + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/howmuch.jpg b/img/howmuch.jpg new file mode 100644 index 0000000..9ef7540 Binary files /dev/null and b/img/howmuch.jpg differ diff --git a/img/internet-group-chat.svg b/img/internet-group-chat.svg new file mode 100644 index 0000000..8e8945e --- /dev/null +++ b/img/internet-group-chat.svg @@ -0,0 +1,312 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Group Chat + + + Jakub Steiner + + + + + + + + + + + group + chat + IRC + internet + network + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/internet-web-browser.svg b/img/internet-web-browser.svg new file mode 100644 index 0000000..d2366a9 --- /dev/null +++ b/img/internet-web-browser.svg @@ -0,0 +1,982 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Globe + + + Jakub Steiner + + + + + Tuomas Kuosmanen + + + + http://jimmac.musichall.cz + + + globe + international + web + www + internet + network + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/journey.pdf b/img/journey.pdf new file mode 100644 index 0000000..6f2d1a7 Binary files /dev/null and b/img/journey.pdf differ diff --git a/img/kafka.jpg b/img/kafka.jpg new file mode 100644 index 0000000..313a0a8 Binary files /dev/null and b/img/kafka.jpg differ diff --git a/img/key-blue.pdf b/img/key-blue.pdf new file mode 100644 index 0000000..8e41fe9 --- /dev/null +++ b/img/key-blue.pdf @@ -0,0 +1,69 @@ +%PDF-1.5 +% +4 0 obj +<< /Length 5 0 R + /Filter /FlateDecode +>> +stream +x]Qm1S ı\FJV#Hҿ)Z`lKCqҔL|TzW'uh4DVqV 2zc.Ϭ;Od'Zij\DՉTF%o}ħy(CAAफhI3" d\#6 14ThAs@}9X'|8rvEI sÔղ3i[m9b*?Ci5tO쵕NQfit0Xkc \htlsH=z~Cn/̀ +endstream +endobj +5 0 obj + 295 +endobj +3 0 obj +<< + /ExtGState << + /a0 << /CA 1 /ca 1 >> + >> +>> +endobj +2 0 obj +<< /Type /Page % 1 + /Parent 1 0 R + /MediaBox [ 0 0 672.675049 768 ] + /Contents 4 0 R + /Group << + /Type /Group + /S /Transparency + /I true + /CS /DeviceRGB + >> + /Resources 3 0 R +>> +endobj +1 0 obj +<< /Type /Pages + /Kids [ 2 0 R ] + /Count 1 +>> +endobj +6 0 obj +<< /Producer (cairo 1.16.0 (https://cairographics.org)) + /Creator + /CreationDate (D:20210219194526+01'00) +>> +endobj +7 0 obj +<< /Type /Catalog + /Pages 1 0 R +>> +endobj +xref +0 8 +0000000000 65535 f +0000000706 00000 n +0000000481 00000 n +0000000409 00000 n +0000000015 00000 n +0000000387 00000 n +0000000771 00000 n +0000001054 00000 n +trailer +<< /Size 8 + /Root 7 0 R + /Info 6 0 R +>> +startxref +1106 +%%EOF diff --git a/img/key-green.pdf b/img/key-green.pdf new file mode 100644 index 0000000..7665802 --- /dev/null +++ b/img/key-green.pdf @@ -0,0 +1,74 @@ +%PDF-1.5 +% +4 0 obj +<< /Length 5 0 R + /Filter /FlateDecode +>> +stream +x]QAn0 +>Pjc3 U6 +8VU0@I[P/(TyXHFfxUQbt(ʠlCHeF6s۲ + 9[Ƃ6G '2ia)}ӣ:bTn|vM>Kr9I mP ++4mp̨}:*Yg9) p¤4taY\.s +Gڱ|9Fz@ Rs,s4:pO.Z e9.^$Z׿ +endstream +endobj +5 0 obj + 298 +endobj +3 0 obj +<< + /ExtGState << + /a0 << /CA 1 /ca 1 >> + >> +>> +endobj +2 0 obj +<< /Type /Page % 1 + /Parent 1 0 R + /MediaBox [ 0 0 672.675049 768 ] + /Contents 4 0 R + /Group << + /Type /Group + /S /Transparency + /I true + /CS /DeviceRGB + >> + /Resources 3 0 R +>> +endobj +1 0 obj +<< /Type /Pages + /Kids [ 2 0 R ] + /Count 1 +>> +endobj +6 0 obj +<< /Producer (cairo 1.16.0 (https://cairographics.org)) + /Creator + /CreationDate (D:20210219194514+01'00) +>> +endobj +7 0 obj +<< /Type /Catalog + /Pages 1 0 R +>> +endobj +xref +0 8 +0000000000 65535 f +0000000709 00000 n +0000000484 00000 n +0000000412 00000 n +0000000015 00000 n +0000000390 00000 n +0000000774 00000 n +0000001057 00000 n +trailer +<< /Size 8 + /Root 7 0 R + /Info 6 0 R +>> +startxref +1109 +%%EOF diff --git a/img/key-red.pdf b/img/key-red.pdf new file mode 100644 index 0000000..0a2e264 --- /dev/null +++ b/img/key-red.pdf @@ -0,0 +1,70 @@ +%PDF-1.5 +% +4 0 obj +<< /Length 5 0 R + /Filter /FlateDecode +>> +stream +x]QAn0 +>Pl3*RwCKgWUxÄ450Zte{Vthhs}5,s1WM:$HETHeT%~=P &p@OR_Y vI iB4O0uW"gcQoPdlp3UxX??2i78l?V:qVaeЁ#}"Ŏ]9k1xH%+?!n +endstream +endobj +5 0 obj + 296 +endobj +3 0 obj +<< + /ExtGState << + /a0 << /CA 1 /ca 1 >> + >> +>> +endobj +2 0 obj +<< /Type /Page % 1 + /Parent 1 0 R + /MediaBox [ 0 0 672.675049 768 ] + /Contents 4 0 R + /Group << + /Type /Group + /S /Transparency + /I true + /CS /DeviceRGB + >> + /Resources 3 0 R +>> +endobj +1 0 obj +<< /Type /Pages + /Kids [ 2 0 R ] + /Count 1 +>> +endobj +6 0 obj +<< /Producer (cairo 1.16.0 (https://cairographics.org)) + /Creator + /CreationDate (D:20210219194459+01'00) +>> +endobj +7 0 obj +<< /Type /Catalog + /Pages 1 0 R +>> +endobj +xref +0 8 +0000000000 65535 f +0000000707 00000 n +0000000482 00000 n +0000000410 00000 n +0000000015 00000 n +0000000388 00000 n +0000000772 00000 n +0000001055 00000 n +trailer +<< /Size 8 + /Root 7 0 R + /Info 6 0 R +>> +startxref +1107 +%%EOF diff --git a/img/key.svg b/img/key.svg new file mode 100644 index 0000000..6002b40 --- /dev/null +++ b/img/key.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/img/latency.png b/img/latency.png new file mode 100644 index 0000000..6b737b8 Binary files /dev/null and b/img/latency.png differ diff --git a/img/lifetime.pdf b/img/lifetime.pdf new file mode 100644 index 0000000..832c9c3 Binary files /dev/null and b/img/lifetime.pdf differ diff --git a/img/linkfailure.pdf b/img/linkfailure.pdf new file mode 100644 index 0000000..2f07708 Binary files /dev/null and b/img/linkfailure.pdf differ diff --git a/img/links.pdf b/img/links.pdf new file mode 100644 index 0000000..441244e Binary files /dev/null and b/img/links.pdf differ diff --git a/img/lock.pdf b/img/lock.pdf new file mode 100644 index 0000000..875e72b Binary files /dev/null and b/img/lock.pdf differ diff --git a/img/mail-blue.svg b/img/mail-blue.svg new file mode 100644 index 0000000..fecb0dd --- /dev/null +++ b/img/mail-blue.svg @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Lapo Calamandrei + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/mail-red.svg b/img/mail-red.svg new file mode 100644 index 0000000..14c2c19 --- /dev/null +++ b/img/mail-red.svg @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Lapo Calamandrei + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/mail-simple.svg b/img/mail-simple.svg new file mode 100644 index 0000000..f1fa69f --- /dev/null +++ b/img/mail-simple.svg @@ -0,0 +1,349 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Lapo Calamandrei + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/mail.pdf b/img/mail.pdf new file mode 100644 index 0000000..669e1ff Binary files /dev/null and b/img/mail.pdf differ diff --git a/img/mail.svg b/img/mail.svg new file mode 100644 index 0000000..320bde0 --- /dev/null +++ b/img/mail.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Lapo Calamandrei + + + + Mail stuff + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/meh.png b/img/meh.png new file mode 100644 index 0000000..8ffa73e Binary files /dev/null and b/img/meh.png differ diff --git a/img/meh.svg b/img/meh.svg new file mode 100644 index 0000000..c0189bc --- /dev/null +++ b/img/meh.svg @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Plain + + + Lapo Calamandrei + + + + + + emoticon + emote + smiley + smile + plain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/micro.pdf b/img/micro.pdf new file mode 100644 index 0000000..d607001 Binary files /dev/null and b/img/micro.pdf differ diff --git a/img/microphone.pdf b/img/microphone.pdf new file mode 100644 index 0000000..12e9e0d Binary files /dev/null and b/img/microphone.pdf differ diff --git a/img/network-provider.pdf b/img/network-provider.pdf new file mode 100644 index 0000000..c7d19fd Binary files /dev/null and b/img/network-provider.pdf differ diff --git a/img/network-wireless-encrypted.svg b/img/network-wireless-encrypted.svg new file mode 100644 index 0000000..623a0a6 --- /dev/null +++ b/img/network-wireless-encrypted.svg @@ -0,0 +1,1288 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + Novell AppArmor + + + apparmor + novell + + + + + Garrett LeSage + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/news.jpg b/img/news.jpg new file mode 100644 index 0000000..3efeec6 Binary files /dev/null and b/img/news.jpg differ diff --git a/img/ok.pdf b/img/ok.pdf new file mode 100644 index 0000000..d77b719 Binary files /dev/null and b/img/ok.pdf differ diff --git a/img/ok.png b/img/ok.png new file mode 100644 index 0000000..abd4128 Binary files /dev/null and b/img/ok.png differ diff --git a/img/ok.svg b/img/ok.svg new file mode 100644 index 0000000..a322296 --- /dev/null +++ b/img/ok.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Emblem Urgent + + + Jakub Steiner + + + + + Andreas Nilsson + + + + + + generic + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/onionshare.png b/img/onionshare.png new file mode 100644 index 0000000..e2948b0 Binary files /dev/null and b/img/onionshare.png differ diff --git a/img/orwell.jpg b/img/orwell.jpg new file mode 100644 index 0000000..dab7ee1 Binary files /dev/null and b/img/orwell.jpg differ diff --git a/img/packets.png b/img/packets.png new file mode 100644 index 0000000..72ab230 Binary files /dev/null and b/img/packets.png differ diff --git a/img/predictors.pdf b/img/predictors.pdf new file mode 100644 index 0000000..efe2def Binary files /dev/null and b/img/predictors.pdf differ diff --git a/img/proba_redundant.png b/img/proba_redundant.png new file mode 100644 index 0000000..bebe1e2 Binary files /dev/null and b/img/proba_redundant.png differ diff --git a/img/question.pdf b/img/question.pdf new file mode 100644 index 0000000..cdc416e Binary files /dev/null and b/img/question.pdf differ diff --git a/img/question.svg b/img/question.svg new file mode 100644 index 0000000..b7897d1 --- /dev/null +++ b/img/question.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/relayAS.png b/img/relayAS.png new file mode 100644 index 0000000..76e6c85 Binary files /dev/null and b/img/relayAS.png differ diff --git a/img/reseaux.jpg b/img/reseaux.jpg new file mode 100644 index 0000000..6cfc1c0 Binary files /dev/null and b/img/reseaux.jpg differ diff --git a/img/safe2.pdf b/img/safe2.pdf new file mode 100644 index 0000000..d3baa9a Binary files /dev/null and b/img/safe2.pdf differ diff --git a/img/safe2a.pdf b/img/safe2a.pdf new file mode 100644 index 0000000..3d42cdf Binary files /dev/null and b/img/safe2a.pdf differ diff --git a/img/safe2b.pdf b/img/safe2b.pdf new file mode 100644 index 0000000..899e008 Binary files /dev/null and b/img/safe2b.pdf differ diff --git a/img/safe3.pdf b/img/safe3.pdf new file mode 100644 index 0000000..1f5ea5d Binary files /dev/null and b/img/safe3.pdf differ diff --git a/img/scandals.jpg b/img/scandals.jpg new file mode 100644 index 0000000..aee6b95 Binary files /dev/null and b/img/scandals.jpg differ diff --git a/img/sel.pdf b/img/sel.pdf new file mode 100644 index 0000000..920b159 Binary files /dev/null and b/img/sel.pdf differ diff --git a/img/service-provider.pdf b/img/service-provider.pdf new file mode 100644 index 0000000..d919bef Binary files /dev/null and b/img/service-provider.pdf differ diff --git a/img/service-provider.svg b/img/service-provider.svg new file mode 100644 index 0000000..3587d2b --- /dev/null +++ b/img/service-provider.svg @@ -0,0 +1,1016 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Server + + + Jakub Steiner + + + http://jimmac.musichall.cz + + + + server + daemon + comupetr + lan + service + provider + + + + + Garrett LeSage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/shield.pdf b/img/shield.pdf new file mode 100644 index 0000000..beaea14 Binary files /dev/null and b/img/shield.pdf differ diff --git a/img/speaker.pdf b/img/speaker.pdf new file mode 100644 index 0000000..e5bfd97 Binary files /dev/null and b/img/speaker.pdf differ diff --git a/img/speaker.svg b/img/speaker.svg new file mode 100644 index 0000000..0d8e47a --- /dev/null +++ b/img/speaker.svg @@ -0,0 +1,645 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Volume - High + + + Jakub Steiner + + + + + Lapo Calamandrei + + + + + + http://www.tango-project.org + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/stability.png b/img/stability.png new file mode 100644 index 0000000..159358e Binary files /dev/null and b/img/stability.png differ diff --git a/img/state.pdf b/img/state.pdf new file mode 100644 index 0000000..1c73c64 Binary files /dev/null and b/img/state.pdf differ diff --git a/img/state.svg b/img/state.svg new file mode 100644 index 0000000..2e71f18 --- /dev/null +++ b/img/state.svg @@ -0,0 +1,878 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + Locale Preferences + + + locale preferences + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/stop.pdf b/img/stop.pdf new file mode 100644 index 0000000..894f2d3 Binary files /dev/null and b/img/stop.pdf differ diff --git a/img/stop.png b/img/stop.png new file mode 100644 index 0000000..5da6f4e Binary files /dev/null and b/img/stop.png differ diff --git a/img/system-lock-screen.svg b/img/system-lock-screen.svg new file mode 100644 index 0000000..e7d9f1b --- /dev/null +++ b/img/system-lock-screen.svg @@ -0,0 +1,680 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Lock Screen + + + + Jakub Steiner + + + + + video + display + lock + screen + password + session + screensaver + + + + http://jimmac.musichall.cz/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/tor.pdf b/img/tor.pdf new file mode 100644 index 0000000..a0c8bea Binary files /dev/null and b/img/tor.pdf differ diff --git a/img/tor.svg b/img/tor.svg new file mode 100644 index 0000000..84fd9b4 --- /dev/null +++ b/img/tor.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/torb.png b/img/torb.png new file mode 100644 index 0000000..6cff0a5 Binary files /dev/null and b/img/torb.png differ diff --git a/img/torbw.pdf b/img/torbw.pdf new file mode 100644 index 0000000..44de1bf Binary files /dev/null and b/img/torbw.pdf differ diff --git a/img/transaction.png b/img/transaction.png new file mode 100644 index 0000000..8e75357 Binary files /dev/null and b/img/transaction.png differ diff --git a/img/transaction.svg b/img/transaction.svg new file mode 100644 index 0000000..e45e0c0 --- /dev/null +++ b/img/transaction.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Lapo Calamandrei + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/we.pdf b/img/we.pdf new file mode 100644 index 0000000..40f55d9 Binary files /dev/null and b/img/we.pdf differ diff --git a/img/we.svg b/img/we.svg new file mode 100644 index 0000000..7ada3de --- /dev/null +++ b/img/we.svg @@ -0,0 +1,17 @@ + + + + + + image/svg+xml + + + + + + + + + + + \ No newline at end of file diff --git a/img/weather-overcast.svg b/img/weather-overcast.svg new file mode 100644 index 0000000..35fb4a4 --- /dev/null +++ b/img/weather-overcast.svg @@ -0,0 +1,3036 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + weather-overcast + January 2006 + + + Ryan Collier (pseudo) + + + + + http://www.tango-project.org + + + http://www.pseudocode.org + + + weather + applet + notify + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/wiki.pdf b/img/wiki.pdf new file mode 100644 index 0000000..17f2ef3 Binary files /dev/null and b/img/wiki.pdf differ diff --git a/img/wiki.svg b/img/wiki.svg new file mode 100644 index 0000000..ed7ae00 --- /dev/null +++ b/img/wiki.svg @@ -0,0 +1,633 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/x-office-address-book.svg b/img/x-office-address-book.svg new file mode 100644 index 0000000..55ddaa3 --- /dev/null +++ b/img/x-office-address-book.svg @@ -0,0 +1,369 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Addess Book + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + + address + contact + book + office + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/x-office-document.svg b/img/x-office-document.svg new file mode 100644 index 0000000..b3c5d96 --- /dev/null +++ b/img/x-office-document.svg @@ -0,0 +1,578 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Office Document + + + rich + text + document + pdf + openoffice + word + rtf + + + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/x1.pdf b/img/x1.pdf new file mode 100644 index 0000000..77f0b10 Binary files /dev/null and b/img/x1.pdf differ diff --git a/img/x10.pdf b/img/x10.pdf new file mode 100644 index 0000000..87e499b Binary files /dev/null and b/img/x10.pdf differ diff --git a/img/x12.pdf b/img/x12.pdf new file mode 100644 index 0000000..9b25601 Binary files /dev/null and b/img/x12.pdf differ diff --git a/img/x2.pdf b/img/x2.pdf new file mode 100644 index 0000000..3783959 Binary files /dev/null and b/img/x2.pdf differ diff --git a/img/x3.pdf b/img/x3.pdf new file mode 100644 index 0000000..c8c6d2b Binary files /dev/null and b/img/x3.pdf differ diff --git a/img/x4.pdf b/img/x4.pdf new file mode 100644 index 0000000..6dbf287 Binary files /dev/null and b/img/x4.pdf differ diff --git a/img/x5.pdf b/img/x5.pdf new file mode 100644 index 0000000..9cb1bbf Binary files /dev/null and b/img/x5.pdf differ diff --git a/img/x9.pdf b/img/x9.pdf new file mode 100644 index 0000000..bd787ad Binary files /dev/null and b/img/x9.pdf differ diff --git a/img/zuboff.jpg b/img/zuboff.jpg new file mode 100644 index 0000000..5a76734 Binary files /dev/null and b/img/zuboff.jpg differ diff --git a/introduction.tex b/introduction.tex new file mode 100644 index 0000000..4df5ea7 --- /dev/null +++ b/introduction.tex @@ -0,0 +1,91 @@ +\begin{frame}[t]{Privacy concerns} + \begin{figure} + \includegraphics[width=0.8\textwidth]{img/scandals.jpg} + \end{figure} + \begin{center} + \Large Privacy issues have lot of \underline{different faces} + \end{center} +\end{frame} + +\begin{frame} + \frametitle{The impact of our technological choices} + + \begin{figure}[h] + \tikzsetnextfilename{actors} + \begin{tikzpicture}[scale=1] + \node (cp1) at (0,0) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below = 0cm of cp1] (cp1t) {Alice}; + \node (np1) at (2.4,0) {\includegraphics[scale=1]{img/network-provider.pdf}}; + \node[below = 0.1cm of np1, text width = 2cm,align=center] (cp1t) {Network Provider}; + \node (sp) at (4.75,0) {\includegraphics[scale=1]{img/service-provider.pdf}}; + \node[below = 0.1cm of sp, text width = 2cm,align=center] (spt) {Service Provider}; + \node (np2) at (7.1,0) {\includegraphics[scale=1]{img/network-provider.pdf}}; + \node[below = 0.1cm of np2, text width = 2cm,align=center] (spt) {Network Provider}; + \node (cp2) at (9.5,0) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below = 0cm of cp2] (cp2t) {Bob}; + \draw[<->, solid, black, line width=1mm] (cp1) edge (np1); + \draw[<->, solid, black, line width=1mm] (np1) edge (sp); + \draw[<->, solid, black, line width=1mm] (sp) edge (np2); + \draw[<->, solid, black, line width=1mm] (np2) edge (cp2); + \node[above=-1.2cm of np1] (snp1) {\includegraphics[scale=0.10]{img/eye.pdf}}; + \node[above=-1.2cm of sp] (ssp) {\includegraphics[scale=0.10]{img/eye.pdf}}; + \node[above=-1.2cm of np2] (snp2) {\includegraphics[scale=0.10]{img/eye.pdf}}; + \end{tikzpicture} + + \vspace{1cm} + \Large The underlying Internet \underline{infrastructure} allows the collection of communication metadata. + + \end{figure} +\end{frame} + +\begin{frame}{Building a privacy-aware network} + \tikzsetnextfilename{anonintro2} + \begin{tikzpicture}[scale=1] + \node (cp1) at (0,0) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below = 0cm of cp1] (cp1t) {Alice}; + \node (np1) at (2.4,0) {\includegraphics[scale=1]{img/network-provider.pdf}}; + \node[below = 0.1cm of np1, text width = 2cm,align=center] (cp1t) {Network Provider}; + \draw[<->, solid, black, line width=1mm] (cp1) edge (np1); + + \node (anet) at (4.75,0) {\includegraphics[scale=0.16]{img/tor.pdf}}; + \draw[<->, solid, black, line width=1mm] (np1) edge (anet); + \node[below = 0cm of anet, text width = 2cm,align=center] (anett) {Tor}; + \node (qs) at (9.5,0) {\includegraphics[scale=1.3]{img/question.pdf}}; + \draw[<->, solid, black, line width=1mm] (anet) edge (qs); + \node[below = 0cm of qs, text width = 2cm,align=center] (qst) {Unknown\\Destination}; + \node[above=-1.4cm of np1] (cloud1) {\includegraphics[scale=0.8]{img/cloud.pdf}}; + \end{tikzpicture} + \begin{center} + \normalsize \emph{"[A] system to hide who a participant communicates with [...] in spite of an \underline{unsecured telecommunication system}"}~\footnotemark[1] + + \Large With 2M+ users, \underline{Tor} is the biggest privacy-aware network + \end{center} + + + + \footnotetext[1]{\fullcite{chaum1981untraceable}} +\end{frame} + + +\begin{frame}{Tor's limitation} + + \begin{columns} + \begin{column}{0.5\textwidth} + \begin{figure} + \includegraphics[width=\textwidth]{img/fast.png} + \end{figure} + \end{column} + \begin{column}{0.5\textwidth} + \begin{figure} + \includegraphics[width=\textwidth]{img/torb.png} + \end{figure} + \end{column} + \end{columns} + + \begin{center} + \Large \underline{Performance} + hinders Tor's adoption + \end{center} + +\end{frame} + diff --git a/main.auxlock b/main.auxlock new file mode 100644 index 0000000..323417a --- /dev/null +++ b/main.auxlock @@ -0,0 +1 @@ +\def \tikzexternallocked {0} diff --git a/main.nav b/main.nav new file mode 100644 index 0000000..ba2b905 --- /dev/null +++ b/main.nav @@ -0,0 +1,125 @@ +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {1}{1}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {2}{2}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {0}{0}{3}{3/3}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {3}{3}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {0}{0}{4}{4/4}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {4}{4}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {0}{0}{5}{5/5}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {5}{5}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@sectionpages {1}{5}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@subsectionpages {1}{5}} +\defcounter {refsection}{0}\relax +\headcommand {\sectionentry {1}{\Large Stable\nobreakspace {}low\nobreakspace {}latency\nobreakspace {}communication \\ \small to make phone calls over legacy Tor}{6}{\Large Stable\nobreakspace {}low\nobreakspace {}latency\nobreakspace {}communication \\ \small to make phone calls over legacy Tor}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{1}{6/6}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {6}{6}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{2}{7/7}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {7}{7}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{3}{8/8}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {8}{8}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{4}{9/9}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {9}{9}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{5}{10/10}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {10}{10}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{6}{11/11}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {11}{11}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{7}{12/12}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {12}{12}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{8}{13/13}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {13}{13}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{9}{14/14}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {14}{14}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{10}{15/15}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {15}{15}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{11}{16/16}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {16}{16}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{12}{17/17}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {17}{17}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{13}{18/21}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {18}{21}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{14}{22/22}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {22}{22}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{15}{23/23}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {23}{23}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{16}{24/24}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {24}{24}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{17}{25/25}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {25}{25}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {1}{0}{18}{26/26}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {26}{26}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@sectionpages {6}{26}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@subsectionpages {6}{26}} +\defcounter {refsection}{0}\relax +\headcommand {\sectionentry {2}{Future Work \& Conclusion}{27}{Future Work \& Conclusion}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {2}{0}{1}{27/27}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {27}{27}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {2}{0}{2}{28/28}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {28}{28}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {2}{0}{3}{29/29}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {29}{29}} +\defcounter {refsection}{0}\relax +\headcommand {\slideentry {2}{0}{4}{30/30}{}{0}} +\defcounter {refsection}{0}\relax +\headcommand {\beamer@framepages {30}{30}} +\headcommand {\beamer@partpages {1}{30}} +\headcommand {\beamer@subsectionpages {27}{30}} +\headcommand {\beamer@sectionpages {27}{30}} +\headcommand {\beamer@documentpages {30}} +\headcommand {\gdef \inserttotalframenumber {24}} diff --git a/main.pdfpc b/main.pdfpc new file mode 100644 index 0000000..4ae037f --- /dev/null +++ b/main.pdfpc @@ -0,0 +1 @@ +{"pdfpcFormat":1,"duration":45,"startTime":"45","savedSlide":0,"disableMarkdown":false,"noteFontSize":20,"pages":[{"idx":0,"label":"0","overlay":0,"note":" - good afternoon/morning all depending timezone\n - next 45min my phd work entitled ...\n - want to start by convincing you that privacy is important"},{"idx":1,"label":"1","overlay":0,"note":" - often people say nothing to hide\n - not the point, example fb ca\n - 2014: quizz collect info you+friend\n - 2016: targeted ad us-elections & more\n - 2018: facebook ceo us congress \n - 3 pts: collection, reuse, influence\n - nothing with hiding something wrong"},{"idx":2,"label":"2","overlay":0,"note":" - not isolated case"},{"idx":3,"label":"3","overlay":0,"note":"- why so many privacy issues?\n- because infra\n- encryption not enough: protect content\n- who, when, how often, with whom is enough\n- say a lot about you\n- can we fix the internet?"},{"idx":4,"label":"4","overlay":0,"note":"- not easily but build overlays\n- providers see only anon net\n- not a new concept: 1981\n- read definition\n- most well-known: tor\n- 2M+ -> why not more? "},{"idx":5,"label":"5","overlay":0,"note":"- naive speed test\n- my browser + tor browser\n- low bandwidth\n- high latency\n- ok for web browsing\n- not ok for many other things\n- not cover all usages\n- can we improve perf?"},{"idx":6,"label":"6","overlay":0,"note":"- 2 about improving perf. OR\n- 1 about improving group coms \n - time reason\n- about onion routing\n- one to enable voice calling\n- another one for file transfer\n- let's start with voice calling"},{"idx":7,"label":"6","overlay":1,"note":" - voip requires stable low\n - need to understand exact requirements"},{"idx":8,"label":"7","overlay":0,"note":" - requirements derived from ITU\n - international telecomunication union\n - delay -> too important, walkie talkie mode, hard to discuss\n - dropped calls -> no one like to be interrupted\n - how long does a call last, important for testing\n - privacy for everyone : 2 way anonymity"},{"idx":9,"label":"8","overlay":0,"note":" - 2 way anon -> onion service\n - tor defaults are considered secure\n - tor 3 hop circuits, onion service connects 2 circuits, 6 relays\n - many properties are kept reducing circuits to 2 hops\n - already discussed, we consider both\n - user trade off security / performance "},{"idx":10,"label":"9","overlay":0,"note":" - preliminary analysis\n - we have defined 2 config for tor\n - run 5 minutes and 90 minutes\n - each couple repeated 64 times for variabality\n - 3 questions"},{"idx":11,"label":"10","overlay":0,"note":"- privacy-first conf\n- ECDF, x, y, bar. \n- left bar = ok\n- right = not ok"},{"idx":12,"label":"11","overlay":0,"note":"- performance-first conf\n- way better\n- far from enjoyable calls: 1 call over 2 "},{"idx":13,"label":"12","overlay":0,"note":" - build abstraction of circuits with lat spikes?\n - without modifying tor\n - readily available\n - we tried!\n"},{"idx":14,"label":"13","overlay":0,"note":"- describe graph\n- median and small percentiles are OK most circuits\n- but there is no stable circuit with low maximum latency\n- spikes\n- can we still use Tor's circuits for voice calling?"},{"idx":15,"label":"14","overlay":0,"note":""},{"idx":16,"label":"15","overlay":0,"note":""},{"idx":17,"label":"16","overlay":0,"note":""},{"idx":18,"label":"17","overlay":0,"note":""},{"idx":19,"label":"18","overlay":0,"note":""},{"idx":20,"label":"18","overlay":1,"note":""}]} \ No newline at end of file diff --git a/main.snm b/main.snm new file mode 100644 index 0000000..e69de29 diff --git a/main.tex b/main.tex new file mode 100644 index 0000000..ba0999a --- /dev/null +++ b/main.tex @@ -0,0 +1,84 @@ +\documentclass{beamer} +\usetheme{metropolis} % Use metropolis theme + +\usepackage[utf8]{inputenc} +\usepackage{tikz} +\usepackage{subfig} +\usepackage{graphicx} +\usepackage{xcolor} +\usepackage{blkarray} +\usepackage{biblatex} +\usepackage{anyfontsize} +\usepackage{pdfpages} +\usepackage{helvet} +\usepackage[duration=45,overridenote]{pdfpc} + +\addbibresource{citations.bib} + +\usetikzlibrary{positioning} +\usetikzlibrary{shapes,snakes} +\usetikzlibrary{external} +\usetikzlibrary{calc} + +\tikzset{external/only named=true} +\tikzset{ +diagonal fill/.style 2 args={fill=#2, path picture={ +\fill[#1, sharp corners] (path picture bounding box.south west) -| + (path picture bounding box.north east) -- cycle;}} +} + +\makeatletter +\newcommand*{\overlaynumber}{\number\beamer@slideinframe} +\tikzset{ + beamer externalizing/.style={% + execute at end picture={% + \tikzifexternalizing{% + \ifbeamer@anotherslide + \pgfexternalstorecommand{\string\global\string\beamer@anotherslidetrue}% + \fi + }{}% + }% + }, + external/optimize=false +} +\let\orig@tikzsetnextfilename=\tikzsetnextfilename +\renewcommand\tikzsetnextfilename[1]{\orig@tikzsetnextfilename{#1-\overlaynumber}} +\makeatother + +\tikzset{every picture/.style={beamer externalizing}} + +\tikzexternalize[prefix=tikzcache/] + +\newcommand{\nothing}{} +\newcommand{\comp}{\includegraphics[scale=0.13]{img/computer.png}} +\newcommand{\compnew}{\includegraphics[scale=0.13]{img/computer-new.png}} +\newcommand{\compbrok}{\includegraphics[scale=0.13]{img/computer-broken.png}} +\newcommand{\compsad}{\includegraphics[scale=0.13]{img/computer-sad.png}} +\newcommand{\compmailb}{\includegraphics[scale=0.13]{img/computer+mail+blue.png}} +\newcommand{\compmailr}{\includegraphics[scale=0.13]{img/computer+mail+red.png}} +\newcommand{\compmailbr}{\includegraphics[scale=0.13]{img/computer+mail+bluered.png}} +\newcommand{\compmailby}{\includegraphics[scale=0.13]{img/computer+mail+blueyellow.png}} +\newcommand{\compmailry}{\includegraphics[scale=0.13]{img/computer+mail+redyellow.png}} +\newcommand{\compmailbry}{\includegraphics[scale=0.13]{img/computer+mail+blueredyellow.png}} +\pgfdeclareimage{np}{img/network-provider.pdf} + + +\newcommand\compatfont{\fontsize{9}{7.2}\selectfont} + + +\title{Donar: Anonymous VoIP over Tor} +\date{April 4, 2022} +\author{Yérom-David Bromberg, \underline{Quentin Dufour}, Davide Frey, Etienne Rivière} +\institute{Univ Rennes, Inria, CNRS, IRISA - UCLouvain, Belgium} +\begin{document} + \maketitle + +\input{introduction.tex} + +\section{\Large Stable~low~latency~communication \\ \small to make phone calls over legacy Tor} +\input{donar.tex} + +\section{Future Work \& Conclusion} +\input{conclusion.tex} + +\end{document} diff --git a/naive-tikz b/naive-tikz new file mode 100755 index 0000000..18f5dec --- /dev/null +++ b/naive-tikz @@ -0,0 +1,49 @@ +#!/usr/bin/scheme -q + +(define (get-random-nodes start stop) + (let [(x (- (random 10.0) 5)) (y (- (random 5.0) 2.5))] + (cond + ((= start stop) '()) + ((< (sqrt (+ (* x x) (* y y))) 1.5) (get-random-nodes start stop)) + (#t (cons (list start x y) (get-random-nodes (+ start 1) stop)))))) + +(define (print-node node type) + (let [(id (car node)) (x (cadr node)) (y (caddr node))] + (format #t "\\node (~a) at (~a, ~a) {\\~a};~%" id x y type))) + +(define (print-nodes nodes type) + (map (lambda (node) (print-node node type)) nodes)) + +(define (select-nodes nodes start stop) + (filter (lambda (node) (and (>= (car node) start) (< (car node) stop))) nodes)) + +(define-syntax only + (syntax-rules () + [(_ count body ...) + (begin + (format #t "\\only<~a> {~%" count) + body ... + (format #t "}~%"))])) + +(let* + [(starting-nodes (get-random-nodes 0 100)) + (still-healthy (select-nodes starting-nodes 0 80)) + (broken (select-nodes starting-nodes 80 100)) + (new (get-random-nodes 100 120))] + + (format #t "\\clip (-5.5, 3) rectangle (5.5, -3.5);") + (format #t "\\node (origin) at (0, 0) {\\compmailr};~%") + + (print-nodes still-healthy "compmailr") + (print-nodes broken "compbrok") + (print-nodes new "compnew") + (map (lambda (node) (format #t "\\draw[->, black!60!green] (origin.center) edge (~a.center);~%" (car node))) starting-nodes) + (print-nodes still-healthy "compmailr") + (print-nodes broken "compbrok") + (print-nodes new "compnew") + + (format #t "\\node (fail1) at (-2.9, -3.3) {\\includegraphics[scale=0.3]{img/fail.png} BANDWIDTH};") + (format #t "\\node (fail2) at (0, -3.3) {\\includegraphics[scale=0.3]{img/fail.png} COVERAGE};") + (format #t "\\node (fail3) at (2.4, -3.3) {\\includegraphics[scale=0.3]{img/fail.png} DELAY};")) + (format #t "\\node (origin) at (0, 0) {\\compmailr};~%") +(exit) diff --git a/on.tex b/on.tex new file mode 100644 index 0000000..32de5ee --- /dev/null +++ b/on.tex @@ -0,0 +1,651 @@ +\begin{frame}{Toward Anonymous Communications} + \tikzsetnextfilename{anonintro2} + \begin{tikzpicture}[scale=1] + \node (cp1) at (0,0) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below = 0cm of cp1] (cp1t) {Alice}; + \node (np1) at (2.4,0) {\includegraphics[scale=1]{img/network-provider.pdf}}; + \node[below = 0.1cm of np1, text width = 2cm,align=center] (cp1t) {Network Provider}; + \draw[<->, solid, black, line width=1mm] (cp1) edge (np1); + + %\only<1> { + % \node (sp) at (4.75,0) {\includegraphics[scale=1]{img/service-provider.pdf}}; + % \node[above=-1.2cm of sp] (ssp) {\includegraphics[scale=0.10]{img/eye.pdf}}; + % \node[below = 0.1cm of sp, text width = 2cm,align=center] (spt) {Service Provider}; + % \draw[<->, solid, black, line width=1mm] (np1) edge (sp); + % \draw[<->, solid, black, line width=1mm] (sp) edge (np2); + %} + + %\only<1,2> { + % \node[above=-1.2cm of np1] (ssp1) {\includegraphics[scale=0.10]{img/eye.pdf}}; + % %\node[above=-1.2cm of np2] (ssp2) {\includegraphics[scale=0.10]{img/eye.pdf}}; + % \node (np2) at (7.1,0) {\includegraphics[scale=1]{img/network-provider.pdf}}; + % \node[below = 0.1cm of np2, text width = 2cm,align=center] (spt) {Network Provider}; + % \node (cp2) at (9.5,0) {\includegraphics[scale=0.26]{img/computer.pdf}}; + % \node[below = 0cm of cp2] (cp2t) {Bob}; + % \draw[<->, solid, black, line width=1mm] (np2) edge (cp2); + % \node[above=-1.2cm of np2] (ssp2) {\includegraphics[scale=0.10]{img/eye.pdf}}; + + %} + + %\only<2> { + % \draw[<->, solid, black, line width=1mm] (np1) edge (np2); + %} + + %\only<3> { + \node (anet) at (4.75,0) {\includegraphics[scale=1]{img/anet.pdf}}; + \draw[<->, solid, black, line width=1mm] (np1) edge (anet); + \node[below = 0cm of anet, text width = 2cm,align=center] (anett) {Anonymization\\Network}; + \node (qs) at (9.5,0) {\includegraphics[scale=1.3]{img/question.pdf}}; + \draw[<->, solid, black, line width=1mm] (anet) edge (qs); + \node[below = 0cm of qs, text width = 2cm,align=center] (qst) {Unknown\\Destination}; + \node[above=-1.4cm of np1] (cloud1) {\includegraphics[scale=0.8]{img/cloud.pdf}}; + %} + \end{tikzpicture} +\begin{center} +%\only<1> { +% \Large All Providers eavesdrop\\on communications +%} +%\only<2> { +% \Large Network Providers can still eavesdrop\\on direct communications +%} + +%\only<3> { + \emph{"[A] system to hide who a participant communicates with [...] in spite of an \underline{unsecured telecommunication system}"}~\footnotemark[4] +\footnotetext[4]{\fullcite{chaum1981untraceable}} +%} +\end{center} +\end{frame} + +\begin{frame}[t]{Preliminary Definitions} +\tikzsetnextfilename{onsch} +\begin{tikzpicture}[scale=1] + \node (anet) {\includegraphics[scale=2]{img/anet.pdf}}; + \node[right = 0cm of anet,text width=9cm,align=left] (anett) {\Large \underline{Onion Routing} is a type of\\anonymization network \\ + \normalsize It favors \underline{performances}\\over \underline{resistance} to global attackers}; + + \node[below=0cm of anet] (reli) {\includegraphics[scale=2]{img/arelay.pdf}}; + \node[right = 0cm of reli, text width=9cm] (relit) {\Large \underline{Relays} constitutes the network \\ + \normalsize Relays are \underline{generic} servers executing a \underline{daemon}. They are often run by \underline{volunteers}.}; + + \node[below = 0cm of reli] (tor) {\includegraphics[scale=0.3]{img/tor.pdf}}; + \node[right = 0cm of tor,text width=9cm,align=left] (tort) {\Large \underline{Tor} is an onion routing software \\ + \normalsize Tor counts \underline{6k relays} to serve \underline{2M+ users}\\(values are approximations)}; + + +\end{tikzpicture} +\end{frame} + +\begin{frame}[t]{Circuits: Transporting Data in the Network} +\tikzsetnextfilename{circuits} +\begin{tikzpicture}[scale=1] + \node (arel1) at (3.3,3) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel3) at (3.8,5.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel4) at (3,7.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel5) at (5.3,3.3) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel6) at (4.9,4.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel8) at (5,6.8) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel10) at (7.6,4.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel11) at (6.8,5.5) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel12) at (7.3,7.0) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel2) at (3.1,4.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel7) at (5.8,5.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel9) at (7.1,2.9) {\includegraphics[scale=1]{img/arelay.pdf}}; + + \node (alice) at (1,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of alice] (alicet) {Alice}; + \node (q) at (10,5) {\includegraphics[scale=1]{img/question.pdf}}; + \node[below=0cm of q] (qt) {Destination}; + + \node[circle,fill=black,minimum size=1mm,right=0cm of alice] (j0) {}; + \node[circle,fill=black,minimum size=1mm,left=0cm of q] (j4) {}; + +\only<1> { + \node[circle,fill=red,minimum size=1mm] (j1) at (3.1,4.2) {}; + \node[circle,fill=red,minimum size=1mm] (j2) at (5.8,5.6) {}; + \node[circle,fill=red,minimum size=1mm] (j3) at (7.1,2.9) {}; + \draw[-, solid, red, line width=1mm] (j0) edge (j1); + \draw[-, solid, red, line width=1mm] (j1) edge (j2); + \draw[-, solid, red, line width=1mm] (j2) edge (j3); + \draw[-, dashed, black, line width=1mm] (j3) edge (j4); + + \node (circd) at (5.5,1.7) {\Large Data is carried through \textcolor{red}{\underline{Circuits}}}; + \node[below=0cm of circd, text width=10cm,align=center] (circdd) {Circuits are \underline{3-relay-long} over Tor\\Relays are chosen by \underline{Alice}: this is Alice's circuit}; +} + +\only<2> { + \node[circle,fill=blue,minimum size=1mm] (j1) at (3.1,4.2) {}; + \node[circle,fill=green,minimum size=1mm] (j2) at (5.8,5.6) {}; + \node[circle,fill=magenta,minimum size=1mm] (j3) at (7.1,2.9) {}; + \draw[-, solid, red] (j0) edge (j1); + \draw[-, solid, red] (j1) edge (j2); + \draw[-, solid, red] (j2) edge (j3); + \draw[-, dashed, black] (j3) edge (j4); + \draw[->, solid, blue,line width=1mm] (j1) edge[bend right] (j0); + \draw[->, solid, blue,line width=1mm] (j1) edge[bend left] (j2); + \draw[->, solid, green,line width=1mm] (j2) edge[bend left] (j1); + \draw[->, solid, green,line width=1mm] (j2) edge[bend right] (j3); + \draw[->, solid, magenta,line width=1mm] (j3) edge[bend right] (j2); + \draw[->, solid, magenta,line width=1mm] (j3) edge[bend left] (j4); + + \node[text width=10cm,align=center] (circd) at (5.5,1.3) {\Large Relays know only their \underline{neighbors} \\ + \normalsize \textcolor{blue}{Relay} \tikz\node[circle,fill=blue,minimum size=1mm] (j1) at (0,0) {}; knows Alice but not the destination \\ + \textcolor{magenta}{Relay} \tikz\node[circle,fill=magenta,minimum size=1mm] (j1) at (0,0) {}; knows the destination but not Alice }; +} + +\end{tikzpicture} +\end{frame} + +\begin{frame}[t]{Exit Mode} +\tikzsetnextfilename{exitmode} +\begin{tikzpicture}[scale=1] + \node (arel1) at (3.3,3) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel3) at (3.8,5.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel4) at (3,7.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel5) at (5.3,3.3) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel6) at (4.9,4.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel8) at (5,6.8) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel10) at (7.6,4.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel11) at (6.8,5.5) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel12) at (7.3,7.0) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel2) at (3.1,4.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel7) at (5.8,5.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel9) at (7.1,2.9) {\includegraphics[scale=1]{img/arelay.pdf}}; + + \node (alice) at (1,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of alice] (alicet) {Alice}; + \node (wiki) at (10,5) {\includegraphics[scale=1]{img/service-provider.pdf}}; + \node[below = 0.1cm of wiki, text width = 2cm,align=center] (spt) {Service Provider}; + + \node[circle,fill=red,minimum size=1mm] (j1) at (3.1,4.2) {}; + \node[circle,fill=red,minimum size=1mm] (j2) at (5.8,5.6) {}; + \node[circle,fill=red,minimum size=1mm] (j3) at (7.1,2.9) {}; + \node[circle,fill=black,minimum size=1mm,left=0cm of wiki] (j4) {}; + + +\only<1> { + \node[circle,fill=black,minimum size=1mm,right=0cm of alice] (j0) {}; + \node (circd) at (5.5,1.7) {\Large Alice connects \underline{directly} her circuit to her target}; + \node[below=0cm of circd, text width=10cm,align=center] (circdd) {This is Tor's default mode, we name it \underline{Exit Mode}}; + \draw[-, solid, red, line width=1mm] (j0) edge (j1); + \draw[-, solid, red, line width=1mm] (j1) edge (j2); + \draw[-, solid, red, line width=1mm] (j2) edge (j3); + \draw[-, solid, black, line width=1mm] (j3) edge (j4); +} + +\only<2> { + \node[circle,fill=blue,minimum size=1mm,right=0cm of alice] (j0) {}; + \draw[-, solid, red] (j0) edge (j1); + \draw[-, solid, red] (j1) edge (j2); + \draw[-, solid, red] (j2) edge (j3); + \draw[-, solid, black] (j3) edge (j4); + \draw[->, solid, blue, line width=1mm] (j0) edge[bend left=60] (j4); + \draw[->, solid, blue, line width=1mm] (j0) edge[bend right] (j1); + \draw[->, solid, blue, line width=1mm] (j0) edge[bend left] (j2); + \draw[->, solid, blue, line width=1mm] (j0) edge[bend right=60] (j3); + \node (circd) at (5.5,1.7) {\Large Alice knows all the relays and her target}; + \node[below=0cm of circd, text width=10cm,align=center] (circdd) { + Only Alice is anonymous: \underline{1-way anonymity}}; +} +\end{tikzpicture} +\end{frame} + + +\begin{frame}[t]{Onion Service Mode} +\tikzsetnextfilename{osmode} +\begin{tikzpicture}[scale=1] + \node (arel1) at (3.3,3) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel3) at (3.8,5.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel4) at (3,7.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel5) at (5.3,3.3) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel6) at (4.9,4.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel8) at (5,6.8) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel10) at (7.6,4.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel11) at (6.8,5.5) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel12) at (7.3,7.0) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel2) at (3.1,4.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel7) at (5.8,5.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel9) at (7.1,2.9) {\includegraphics[scale=1]{img/arelay.pdf}}; + + \node (alice) at (1,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of alice] (alicet) {Alice}; + \node (bob) at (10,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of bob] (bobt) {Bob}; + \node[below=0cm of arel5] (rdv) {RDV}; + + \node[circle,fill=black,minimum size=1mm,right=0cm of alice] (j0) {}; + \node[circle,fill=red,minimum size=1mm] (j1) at (3.1,4.2) {}; + \node[circle,fill=red,minimum size=1mm] (j2) at (5.8,5.6) {}; + \node[circle,fill=red,minimum size=1mm] (j3) at (7.1,2.9) {}; + \node[circle,fill=black,minimum size=1mm,left=0cm of bob] (j4) {}; + \node[circle,fill=orange,minimum size=1mm] (j5) at (7.3,7.0) {}; + \node[circle,fill=orange,minimum size=1mm] (j6) at (3,7.2) {}; + \node[circle,fill=orange,minimum size=1mm] (j7) at (5.3,3.3) {}; + + + \draw[-, solid, red, line width=1mm] (j0) edge (j1); + \draw[-, solid, red, line width=1mm] (j1) edge (j2); + \draw[-, solid, red, line width=1mm] (j2) edge (j3); + \draw[-, solid, red, line width=1mm] (j3) edge (j7); + \draw[-, solid, orange, line width=1mm] (j7) edge (j6); + \draw[-, solid, orange, line width=1mm] (j6) edge (j5); + \draw[-, solid, orange, line width=1mm] (j5) edge (j4); + + \node (circd) at (5.5,1.7) {\Large Alice connects her circuit to Bob's one}; + \node[below=0cm of circd, text width=10cm,align=center] (circdd) {This feature is named \underline{Onion Service Mode} \\ + Both Alice and Bob are anonymous: \underline{2-way anonymity}}; +\end{tikzpicture} +\end{frame} + +\begin{frame}[t]{Sending Cells over Circuits} +\tikzsetnextfilename{cells} +\begin{tikzpicture}[scale=1] +\only<1> { + \node (arel1) at (3.3,3) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel3) at (3.8,5.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel4) at (3,7.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel5) at (5.3,3.3) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel6) at (4.9,4.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel8) at (5,6.8) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel10) at (7.6,4.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel11) at (6.8,5.5) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel12) at (7.3,7.0) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel2) at (3.1,4.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel7) at (5.8,5.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel9) at (7.1,2.9) {\includegraphics[scale=1]{img/arelay.pdf}}; +} + + \node (alice) at (1,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of alice] (alicet) {Alice}; + \node (wiki) at (10,5) {\includegraphics[scale=1]{img/service-provider.pdf}}; + \node[below = 0.1cm of wiki, text width = 2cm,align=center] (spt) {Service Provider}; + + \node[circle,fill=black,minimum size=1mm,right=0cm of alice] (j0) {}; + \node[circle,fill=black,minimum size=1mm,left=0cm of wiki] (j4) {}; + + \node[circle,fill=red,minimum size=1mm] (j1) at (3.1,4.2) {}; + \node[circle,fill=red,minimum size=1mm] (j2) at (5.8,5.6) {}; + \node[circle,fill=red,minimum size=1mm] (j3) at (7.1,2.9) {}; + \draw[-, solid, red, line width=1mm] (j0) edge (j1); + \draw[-, solid, red, line width=1mm] (j1) edge (j2); + \draw[-, solid, red, line width=1mm] (j2) edge (j3); + \draw[-, solid, black, line width=1mm] (j3) edge (j4); + +\only<2-17> { + \node (kr) at (0.5,6.2) {\includegraphics[scale=0.03]{img/key-red.pdf} $K_{1,2,3}$}; + \node (kr2) at (3.1,3.5) {\includegraphics[scale=0.03]{img/key-red.pdf} $K_1$}; + \node (kg2) at (5.8,6.1) {\includegraphics[scale=0.03]{img/key-red.pdf} $K_2$}; + \node (kb2) at (7.1,2.2) {\includegraphics[scale=0.03]{img/key-red.pdf} $K_3$}; +} + +\only<2-5> { + \node (doc) at (1.2,0) {\includegraphics[scale=1]{img/document.pdf}}; + \node[circle,fill=cyan,minimum size=1.2mm,right=0cm of alice] (j0) {}; +} +\only<3-5> { + \draw[color=black!30!blue] let \p1 = (doc.north east) in (doc.south west) rectangle ($(\x1,\y1) + (0.3,0)$); + \path let \p1 = (doc.north east) in node (kb3) at ($(\x1,0) + (0.2,0)$) {\includegraphics[scale=0.03]{img/key-blue.pdf}}; +} +\only<4-5> { + \draw[color=black!30!green] let \p1 = (doc.north east), \p2 = (doc.south west) in ($(\x2,\y2) - (0.2,0.2)$) rectangle ($(\x1,\y1) + (1,0.2)$); + \path let \p1 = (doc.north east) in node (kg3) at ($(\x1,0) + (1,0)$) {\includegraphics[scale=0.03]{img/key-green.pdf}}; +} +\only<5> { + \draw[color=black!30!red] let \p1 = (doc.north east), \p2 = (doc.south west) in ($(\x2,\y2) - (0.4,0.4)$) rectangle ($(\x1,\y1) + (1.8,0.4)$); + \path let \p1 = (doc.north east) in node (kr3) at ($(\x1,0) + (1.8,0)$) {\includegraphics[scale=0.03]{img/key-red.pdf}}; +} +\only<6> { + \node (doc) at (3.1,0) {\includegraphics[scale=1]{img/document.pdf}}; + \node[circle,fill=cyan,minimum size=1.2mm] (j1) at (3.1,4.2) {}; + \draw[color=black!30!blue] let \p1 = (doc.north east) in (doc.south west) rectangle ($(\x1,\y1) + (0.3,0)$); + \path let \p1 = (doc.north east) in node (kb3) at ($(\x1,0) + (0.2,0)$) {\includegraphics[scale=0.03]{img/key-blue.pdf}}; + \draw[color=black!30!green] let \p1 = (doc.north east), \p2 = (doc.south west) in ($(\x2,\y2) - (0.2,0.2)$) rectangle ($(\x1,\y1) + (1,0.2)$); + \path let \p1 = (doc.north east) in node (kg3) at ($(\x1,0) + (1,0)$) {\includegraphics[scale=0.03]{img/key-green.pdf}}; +} +\only<7> { + \node (doc) at (5.8,0) {\includegraphics[scale=1]{img/document.pdf}}; + \node[circle,fill=cyan,minimum size=1.2mm] (j2) at (5.8,5.6) {}; + \draw[color=black!30!blue] let \p1 = (doc.north east) in (doc.south west) rectangle ($(\x1,\y1) + (0.3,0)$); + \path let \p1 = (doc.north east) in node (kb3) at ($(\x1,0) + (0.2,0)$) {\includegraphics[scale=0.03]{img/key-blue.pdf}}; +} +\only<8> { + \node (doc) at (7.1,0) {\includegraphics[scale=1]{img/document.pdf}}; + \node[circle,fill=cyan,minimum size=1.2mm] (j3) at (7.1,2.9) {}; +} +\only<9> { + \node (doc) at (10,0) {\includegraphics[scale=1]{img/document.pdf}}; + \node[circle,fill=cyan,minimum size=1.2mm,left=0cm of wiki] (j4) {}; +} + +\only<10> { + \node (doc) at (10,0) {\includegraphics[scale=1]{img/ok.pdf}}; + \node[circle,fill=cyan,minimum size=1.2mm,left=0cm of wiki] (j4) {}; +} +\only<11> { + \node (doc) at (7.1,0) {\includegraphics[scale=1]{img/ok.pdf}}; + \node[circle,fill=cyan,minimum size=1.2mm] (j3) at (7.1,2.9) {}; + \draw[color=black!30!blue] let \p1 = (doc.north east) in (doc.south west) rectangle ($(\x1,\y1) + (0.3,0)$); + \path let \p1 = (doc.north east) in node (kb3) at ($(\x1,0) + (0.2,0)$) {\includegraphics[scale=0.03]{img/key-blue.pdf}}; +} +\only<12> { + \node (doc) at (5.8,0) {\includegraphics[scale=1]{img/ok.pdf}}; + \node[circle,fill=cyan,minimum size=1.2mm] (j2) at (5.8,5.6) {}; + \draw[color=black!30!blue] let \p1 = (doc.north east) in (doc.south west) rectangle ($(\x1,\y1) + (0.3,0)$); + \path let \p1 = (doc.north east) in node (kb3) at ($(\x1,0) + (0.2,0)$) {\includegraphics[scale=0.03]{img/key-blue.pdf}}; + \draw[color=black!30!green] let \p1 = (doc.north east), \p2 = (doc.south west) in ($(\x2,\y2) - (0.2,0.2)$) rectangle ($(\x1,\y1) + (1,0.2)$); + \path let \p1 = (doc.north east) in node (kg3) at ($(\x1,0) + (1,0)$) {\includegraphics[scale=0.03]{img/key-green.pdf}}; +} +\only<13> { + \node (doc) at (3.1,0) {\includegraphics[scale=1]{img/ok.pdf}}; + \node[circle,fill=cyan,minimum size=1.2mm] (j1) at (3.1,4.2) {}; + \draw[color=black!30!blue] let \p1 = (doc.north east) in (doc.south west) rectangle ($(\x1,\y1) + (0.3,0)$); + \path let \p1 = (doc.north east) in node (kb3) at ($(\x1,0) + (0.2,0)$) {\includegraphics[scale=0.03]{img/key-blue.pdf}}; + \draw[color=black!30!green] let \p1 = (doc.north east), \p2 = (doc.south west) in ($(\x2,\y2) - (0.2,0.2)$) rectangle ($(\x1,\y1) + (1,0.2)$); + \path let \p1 = (doc.north east) in node (kg3) at ($(\x1,0) + (1,0)$) {\includegraphics[scale=0.03]{img/key-green.pdf}}; + \draw[color=black!30!red] let \p1 = (doc.north east), \p2 = (doc.south west) in ($(\x2,\y2) - (0.4,0.4)$) rectangle ($(\x1,\y1) + (1.8,0.4)$); + \path let \p1 = (doc.north east) in node (kr3) at ($(\x1,0) + (1.8,0)$) {\includegraphics[scale=0.03]{img/key-red.pdf}}; +} +\only<14-17> { + \node (doc) at (1.2,0) {\includegraphics[scale=1]{img/ok.pdf}}; + \node[circle,fill=cyan,minimum size=1.2mm,right=0cm of alice] (j0) {}; +} +\only<14-16> { + \draw[color=black!30!blue] let \p1 = (doc.north east) in (doc.south west) rectangle ($(\x1,\y1) + (0.3,0)$); + \path let \p1 = (doc.north east) in node (kb3) at ($(\x1,0) + (0.2,0)$) {\includegraphics[scale=0.03]{img/key-blue.pdf}}; +} +\only<14-15> { + \draw[color=black!30!green] let \p1 = (doc.north east), \p2 = (doc.south west) in ($(\x2,\y2) - (0.2,0.2)$) rectangle ($(\x1,\y1) + (1,0.2)$); + \path let \p1 = (doc.north east) in node (kg3) at ($(\x1,0) + (1,0)$) {\includegraphics[scale=0.03]{img/key-green.pdf}}; +} +\only<14> { + \draw[color=black!30!red] let \p1 = (doc.north east), \p2 = (doc.south west) in ($(\x2,\y2) - (0.4,0.4)$) rectangle ($(\x1,\y1) + (1.8,0.4)$); + \path let \p1 = (doc.north east) in node (kr3) at ($(\x1,0) + (1.8,0)$) {\includegraphics[scale=0.03]{img/key-red.pdf}}; +} + +\end{tikzpicture} +\end{frame} + +\begin{frame}[t]{Telescoping Circuit Building} + \begin{figure} + \tikzsetnextfilename{telescope} + \begin{tikzpicture}[scale=1] + \node (alice) at (1,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of alice] (alicet) {Alice}; + \node[circle,fill=black,minimum size=1mm,right=0cm of alice] (j0) {}; + + \node[circle,fill=red,minimum size=1mm] (j1) at (4,5) {}; + \node[circle,draw=red,minimum size=1mm] (j2) at (7,5) {}; + \node[circle,draw=red,minimum size=1mm] (j3) at (10,5) {}; + + \draw[-, solid, red, line width=1mm] (j0) edge (j1); + \draw[-, solid, magenta, line width=1mm] (j1) edge (j2); + + \node[above=0cm of j1] (j1t) {\includegraphics[height=0.5cm]{img/key-blue.pdf} $(sk_A, pk_A)$}; + \node[above=0cm of j2] (j2t) {\includegraphics[height=0.5cm]{img/key-blue.pdf} $(sk_B, pk_B)$}; + \node[above=0cm of j3] (j3t) {\includegraphics[height=0.5cm]{img/key-blue.pdf} $(sk_C, pk_C)$}; + \node[above=0cm of j1t] (j1tt) {\includegraphics[height=0.5cm]{img/key-red.pdf} $K_1$}; + \node[above=0cm of alice] (kl) {\includegraphics[height=0.5cm]{img/key-red.pdf} $K_1$}; + + \node (alpt) at (2,4.5) {}; + \node (rpt) at (7,4.5) {}; + + \only<1> { + \node[text width=10cm,align=center] (expl) at (5.5, 2) { + \Large + Tor circuits provide \underline{Perfect Forward Secrecy} + \\ + \normalsize + Its \underline{Telescoping} protocol builds circuits one relay at a time\\ + For each relay, it runs the \underline{Tor Authentication Protocol} + }; + } + \only<2> { + + \node[above=0cm of kl] (kl2) {\includegraphics[height=0.5cm]{img/business.pdf} \color{magenta}$a$}; + \draw[->, solid, magenta, line width=0.4mm] (alpt) edge node[sloped,anchor=north]{$Enc(pk_{B},g^a)$} (rpt); + + \node[text width=10cm,align=center] (expl) at (5.5, 2) { + \Large + Based on a Diffie-Hellman Key Exchange + \\ + \normalsize + Alice and relays agreed on a base $g$\\ + Alice generates $a$\\ + Alice sends $g^a$ to the configured relay + }; + } + + \only<3> { + \node[above=0cm of kl] (kl2) {\includegraphics[height=0.5cm]{img/business.pdf} a}; + \node[above=0cm of j2t] (j2tt) {\includegraphics[height=0.5cm]{img/business.pdf} \color{magenta}$g^a, b$}; + \draw[<-, solid, magenta, line width=0.4mm] (alpt) edge node[sloped,anchor=north]{$g^b$} (rpt); + + \node[text width=10cm,align=center] (expl) at (5.5, 2) { + \Large + Based on a Diffie-Hellman Key Exchange + \\ + \normalsize + Relay generates $b$\\ + Relay sends $g^b$ to Alice + }; + } + \only<4> { + \node[above=0cm of kl,text width=2cm] (kl2) {\includegraphics[height=0.5cm]{img/business.pdf}$a,$ \color{magenta}$g^b$ \\ $\implies g^{ba}$}; + \node[above=0cm of j2t,text width=2cm] (j2tt) {\includegraphics[height=0.5cm]{img/business.pdf} $g^a, b$ \\ \color{magenta}$\implies g^{ab}$}; + \node[text width=10cm,align=center] (expl) at (5.5, 2) { + \Large + Based on a Diffie-Hellman Key Exchange + \\ + \normalsize + Alice and Bob have a shared secret $g^{ab} = g^{ba}$\\ + The secret has not been sent on wire + }; + + } + + \only<5> { + \draw[-, solid, red, line width=1mm] (j1) edge (j2); + \draw[-, solid, magenta, line width=1mm] (j2) edge (j3); + \node[circle,fill=red,minimum size=1mm] (j2) at (7,5) {}; + \node[above=0cm of j2t] (j2tt) {\includegraphics[height=0.5cm]{img/key-red.pdf} $K_2$}; + \node[above=0cm of kl] (kl2) {\includegraphics[height=0.5cm]{img/key-red.pdf} $K_2$}; + \node[text width=10cm,align=center] (expl) at (5.5, 2) { + \Large + The $2^{nd}$ relay has been configured \\ + \normalsize + The $3^{rd}$ can now be configured + }; + } + \end{tikzpicture} +\end{figure} + +\end{frame} + +\begin{frame}[t]{Correlation Attacks} +\tikzsetnextfilename{coratt} +\begin{tikzpicture}[scale=1] +\only<1> { + \node (arel1) at (3.3,3) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel3) at (3.8,5.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel4) at (3,7.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel5) at (5.3,3.3) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel6) at (4.9,4.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel8) at (5,6.8) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel10) at (7.6,4.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel11) at (6.8,5.5) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel12) at (7.3,7.0) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel2) at (3.1,4.2) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel7) at (5.8,5.6) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (arel9) at (7.1,2.9) {\includegraphics[scale=1]{img/arelay.pdf}}; + \node (desc) at (5.5,1.5) {\Large Anyone can run relays without prior authorization}; +} +\only<2-4> { + \node (arel1) at (3.3,3) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel3) at (3.8,5.6) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel4) at (3,7.2) {\includegraphics[scale=0.8]{img/bad.pdf}}; + \node (arel5) at (5.3,3.3) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel6) at (4.9,4 .6) {\includegraphics[scale=0.8]{img/bad.pdf}}; + \node (arel8) at (5,6.8) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel10) at (7.6,4.2) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel11) at (6.8,5.5) {\includegraphics[scale=0.8]{img/bad.pdf}}; + \node (arel12) at (7.3,7.0) {\includegraphics[scale=0.8]{img/bad.pdf}}; + \node (arel2) at (3.1,4.2) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel7) at (5.8,5.6) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel9) at (7.1,2.9) {\includegraphics[scale=0.8]{img/good.pdf}}; +} + + \node (alice) at (1,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of alice] (alicet) {Alice}; + \node (wiki) at (10,5) {\includegraphics[scale=1]{img/service-provider.pdf}}; + \node[below = 0.1cm of wiki, text width = 2cm,align=center] (spt) {Service Provider}; + + \node[circle,fill=black,minimum size=1mm,right=0cm of alice] (j0) {}; + \node[circle,fill=black,minimum size=1mm,left=0cm of wiki] (j4) {}; + + \only<1-2> { + \node[circle,fill=red,minimum size=1mm] (j1) at (3.1,4.2) {}; + \node[circle,fill=red,minimum size=1mm] (j2) at (5.8,5.6) {}; + \node[circle,fill=red,minimum size=1mm] (j3) at (7.1,2.9) {}; + \draw[-, solid, red, line width=1mm] (j0) edge (j1); + \draw[-, solid, red, line width=1mm] (j1) edge (j2); + \draw[-, solid, red, line width=1mm] (j2) edge (j3); + \draw[-, solid, black, line width=1mm] (j3) edge (j4); + } + + \only<2> { + \node[text width=10cm,align=center] (desc) at (5.5,1.5) {\Large + Attacker run multiple relays \\ + \normalsize + and make them \underline{collude} to de-anonymize Alice + }; + } + + \only<3> { + \node[circle,fill=red,minimum size=1mm] (j1) at (arel4.center) {}; + \node[circle,fill=red,minimum size=1mm] (j2) at (arel6.center) {}; + \node[circle,fill=red,minimum size=1mm] (j3) at (arel11.center) {}; + \draw[-, solid, red, line width=1mm] (j0) edge (j1); + \draw[-, solid, red, line width=1mm] (j1) edge (j2); + \draw[-, solid, red, line width=1mm] (j2) edge (j3); + \draw[-, solid, black, line width=1mm] (j3) edge (j4); + \node (dea) at (5.5,1.5) {\color{red} \Large Alice is de-anonymized}; + \node[left=0cm of dea] (dead) {\includegraphics{img/fail.pdf}}; + + } + + \only<4> { + \node[circle,fill=red,minimum size=1mm] (j1) at (arel6.center) {}; + \node[circle,fill=red,minimum size=1mm] (j2) at (arel8.center) {}; + \node[circle,fill=red,minimum size=1mm] (j3) at (arel12.center) {}; + \draw[-, solid, red, line width=1mm] (j0) edge (j1); + \draw[-, solid, red, line width=1mm] (j1) edge (j2); + \draw[-, solid, red, line width=1mm] (j2) edge (j3); + \draw[-, solid, black, line width=1mm] (j3) edge (j4); + \node[text width=7cm,align=center] (dea) at (5.5,1.5) {\Large \color{red} + Alice is still de-anonymized \\ + \normalsize + It suffices to corrupt the first and last relay + }; + \node[left=0cm of dea] (dead) {\includegraphics{img/fail.pdf}}; + } + +\end{tikzpicture} +\end{frame} + + +\begin{frame}[t]{The Need for Guards} +\tikzsetnextfilename{guards} +\begin{tikzpicture}[scale=1] + \node (arel1) at (3.3,3) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel3) at (3.8,5.6) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel4) at (3,7.2) {\includegraphics[scale=0.8]{img/bad.pdf}}; + \node (arel5) at (5.3,3.3) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel6) at (4.9,4 .6) {\includegraphics[scale=0.8]{img/bad.pdf}}; + \node (arel8) at (5,6.8) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel10) at (7.6,4.2) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel11) at (6.8,5.5) {\includegraphics[scale=0.8]{img/bad.pdf}}; + \node (arel12) at (7.3,7.0) {\includegraphics[scale=0.8]{img/bad.pdf}}; + \node (arel2) at (3.1,4.2) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel7) at (5.8,5.6) {\includegraphics[scale=0.8]{img/good.pdf}}; + \node (arel9) at (7.1,2.9) {\includegraphics[scale=0.8]{img/good.pdf}}; + + \coordinate (c1) at (3.3,3); + \coordinate (c3) at (3.8,5.6); + \coordinate (c4) at (3,7.2) ; + \coordinate (c5) at (5.3,3.3); + \coordinate (c6) at (4.9,4.6) ; + \coordinate (c8) at (5,6.8) ; + \coordinate (c10) at (7.6,4.2); + \coordinate (c11) at (6.8,5.5) ; + \coordinate (c12) at (7.3,7.0) ; + \coordinate (c2) at (3.1,4.2) ; + \coordinate (c7) at (5.8,5.6) ; + \coordinate (c9) at (7.1,2.9) ; + + \node (alice) at (1,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of alice] (alicet) {Alice}; + \node (wiki) at (10,5) {\includegraphics[scale=1]{img/service-provider.pdf}}; + \node[below = 0.1cm of wiki, text width = 2cm,align=center] (spt) {Service Provider}; + +\only<1> { + \node[circle,fill=black,minimum size=1mm,right=0cm of alice] (j0) {}; + \node[circle,fill=black,minimum size=1mm,left=0cm of wiki] (j4) {}; + \draw[-, solid, magenta,line width=1mm] (j0) -- (c1) -- (c8) -- (c9) -- (j4); + \draw[-, solid, cyan,line width=1mm] (j0) -- (c4) -- (c6) -- (c12) -- (j4); + \draw[-, solid, green,line width=1mm] (j0) -- (c6) -- (c9) -- (c11) -- (j4); + \draw[-, solid, orange,line width=1mm] (j0) -- (c3) -- (c5) -- (c10) -- (j4); + + \node[text width=9cm,align=center] (desc) at (6.5,1.1) {\Large + \color{red} + \underline{Over a long time}, Alice will inevitably\\end up de-anonymized}; + \node[left=0cm of desc] (illu) {\includegraphics{img/stop.pdf}}; + } + + \only<2> { + \node[circle,fill=black,minimum size=1mm,right=0cm of alice] (j0) {}; + \node[circle,fill=black,minimum size=1mm,left=0cm of wiki] (j4) {}; + \draw[-, solid, magenta,line width=1mm] (j0) to [bend left=10] (c1) -- (c8) -- (c9) -- (j4); + \draw[-, solid, cyan,line width=1mm] (j0) to [bend left=10] (c3) -- (c6) -- (c12) -- (j4); + \draw[-, solid, green,line width=1mm] (j0) to [bend right=10] (c1) -- (c9) -- (c11) -- (j4); + \draw[-, solid, orange,line width=1mm] (j0) to [bend right=10] (c3) -- (c5) -- (c10) -- (j4); + \node[below=0.5cm of c1] (g1) {\textcolor{blue}{Guard 1}}; + \node[above=0.5cm of c3] (g2) {\textcolor{blue}{Guard 2}}; + + \node[text width=10cm,align=center] (desc) at (5.5,1.1) {\Large Alice always picks the same two first relays\\They are her \textcolor{blue}{\underline{Guards}}}; + } +\end{tikzpicture} +\end{frame} + + + + +\iffalse +\only<5-9> { + \node (alice) at (1,5) {\includegraphics[scale=0.26]{img/computer.pdf}}; + \node[below=0cm of alice] (alicet) {Alice}; + \node (wiki) at (10,5) {\includegraphics[scale=0.5]{img/wiki.pdf}}; +} + +\only<5> { + \node (aliwiki) at (5.5,1.5) {\Large \underline{1 way anonymity}: only Alice is anonymous}; + \node[below=0cm of aliwiki] (aliwikid) {Alice wants to post an article \includegraphics[scale=0.3]{img/document.pdf} on Wikipedia}; +} + +\only<6> { + \node[below=-1.6cm of arel2] (arel2s) {\includegraphics[scale=1]{img/sel.pdf}}; + \node (alisel) at (5.5,1) {\Large Alice selects 3 relays randomly}; + \node[below=0cm of alisel] (aliseld) {Some constraints apply on the selection}; +} + +\only<6-7> { + \node[below=-1.6cm of arel7] (arel7s) {\includegraphics[scale=1]{img/sel.pdf}}; +} + +\only<6-8> { + \node[below=-1.6cm of arel9] (arel9s) {\includegraphics[scale=1]{img/sel.pdf}}; +} + +\only<7> { + \node (alico1) at (5.5,1) {\Large Alice connects to the 1st one}; + +} +\fi diff --git a/prez.sh b/prez.sh new file mode 100644 index 0000000..c8b0fce --- /dev/null +++ b/prez.sh @@ -0,0 +1,2 @@ +export GDK_BACKEND=x11 +pdfpc -d 45 -g ./main.pdf diff --git a/r/plot.pdf b/r/plot.pdf new file mode 100644 index 0000000..a741c95 Binary files /dev/null and b/r/plot.pdf differ