<!doctype html>
<html lang="de">
		<meta charset="utf-8">

		<title>Verschlüsselung mit GnuPG</title>

		<meta name="description" content="Verschlüsselung mit GnuPG ">
		<meta name="author" content="Daniel Schubert">

		<meta name="apple-mobile-web-app-capable" content="yes">
		<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">

		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

		<link rel="stylesheet" href="css/reveal.css">
		<link rel="stylesheet" href="css/theme/league.css" id="theme">
		
		<link rel="icon" href="img/openlogo-nd-25.png" type="img/png">

		<!-- Theme used for syntax highlighting of code -->
		<link rel="stylesheet" href="lib/css/zenburn.css">

		<!-- Printing and PDF exports -->
		<script>
			var link = document.createElement( 'link' );
			link.rel = 'stylesheet';
			link.type = 'text/css';
			link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
			document.getElementsByTagName( 'head' )[0].appendChild( link );
		</script>
		<style type="text/css">
			.reveal img{ max-height: 60vh}
		</style>

	</head>

	<body>
		<div class="reveal">
			<!-- Any section element inside of this container is displayed as a slide -->
			<div class="slides">


				<section data-transition="slide" data-background="#4d7e65" data-background-transition="convex">
					<h1>Verschlüsselung mit GnuPG</h1>
				</section>

				<section>
					<h3>Geschichte</h3>
					<ul>
						<li class="fragment">1991 - Phil Zimmermann - Pretty Good Privacy ( PGP ).</li>
						<li class="fragment">Exportbeschränkungen der USA verhinderten Internationale Verbreitung</li>
						<li class="fragment">Der Quellcode wurde 1995 als Buch „PGP Source Code and Internals“ exportiert ;-) </li>
						<li class="fragment">1997 - Aufkauf durch McAffee: Quellcode wurde nicht mehr offengelegt</li>
						<li class="fragment">1997 - OpenPGP Standard</li>
						<li class="fragment">1997 - Werner Koch veröffentlicht GnuPG unter der GPL</li>
					</ul>
				</section>

				<section>
					<h3>Funktionsweise</h3>
					<h4>Key Generierung</h4>
					<img style="max-height: 50vh" src="img/Orange_blue_public_private_keygeneration_de.svg">
				</section>
				<section>
					<h4>Verschlüsselung</h4>
					<img src="img/Orange_blue_public_key_cryptography_de.svg">
				</section>

				<section>
					<h4>Signierung</h4>
					<img src="img/Orange_blue_digital_signature_de.svg">
				</section>

				<section>
					<h4>Verschlüsselung für jmd. Anderen</h4>
					<img src="img/Public_key_encryption.svg">
				</section>

				<section>
					<h4>Schlüsselaustausch</h4>
					<ul>
						<li class="fragment ">über Schlüsselserver</li>
						<li class="fragment ">direkt ( per mail oder USB-Stick )</li>
						<li class="fragment ">->dann sollte der Fingerprint verifiziert werden</li>
					</ul>

					<p class="fragment ">Der Private Schlüssel muss sicher verwahrt sein, sonst nützt alles nix.
				</section>

				<section>
					<h4>KeyServer</h4>
					<ul>
						<li class="fragment ">zur Veröffentlichung d. öffentlichen Keys</li>
						
						<li class="fragment ">Obacht: einmal veröffentlicht nicht mehr entfernbar</li>
						<li class="fragment ">öffentlicher Key kann widerrufen werden</li>
						<li class="fragment "> ->Widerrufszertifikat</li>
					</ul>
				</section>

				<section>
					<h4>Zusammenfassung - Verschlüsselung</h4>
					<ol>
						<li class="fragment ">Schlüsselpaar generieren: <br>Öffentlichen u. Privaten Key</li>
						<li class="fragment "><span class="fragment highlight-red">Öffentlichen Key</span> weitergeben</li>
						<li class="fragment "><span class="fragment highlight-blue">Privaten Key</span> sicher verwahren</li>
						<li class="fragment ">Verschlüsselung d. Nachricht m. öffentlichem Schlüssel  </li>
						<li class="fragment ">Entschlüsselung d. Nachricht m. privatem Schlüssel</li>
						<li class="fragment ">Mit dem <span class="fragment highlight-red">öffentlichen Schlüssel</span> verschlüsseltes kann nur mit dem <span class="fragment highlight-blue">privaten Schlüssel</span> entschlüsselt werden </li>

					</ol>
				</section>

				<section>
					<h4>Zusammenfassung - Signierung</h4>

					<ul>
						<li class="fragment ">Signierung garantiert dass die Nachricht unverändert ankam</li>
						<li class="fragment ">Signierung mit <span class="fragment highlight-blue">privatem Key</span></li>
						<li class="fragment ">überprüfung d. Signierung mit <span class="fragment highlight-red">öffentlichem Key</span></li>
					</ul>
				</section>

				<section>
					<h4>WOT - Web of Trust</h4>

					<ul>
						<li class="fragment ">Nutzer signieren ihre <span class="fragment highlight-red">öffentlichen</span> Schlüssel gegenseitig</li>
						<li class="fragment ">Ausdruck des Vertrauens, dass ein Schlüssel einer best. Person gehört</li>
					</ul>
				</section>

				<section>
					<h4>Programme die GnuPG unterstützen:</h4>
					<table><tbody><tr><td> <a href="https://wiki.ubuntuusers.de/Evolution/#GnuPG" class="internal">Evolution</a> </td><td> E-Mail </td></tr><tr><td> <a href="https://wiki.ubuntuusers.de/Thunderbird/Enigmail/" class="internal">Thunderbird</a> </td><td> E-Mail </td></tr><tr><td> <a href="https://wiki.ubuntuusers.de/KMail/Verschl%C3%BCsselung/" class="internal">KMail</a> </td><td> E-Mail </td></tr><tr><td> <a href="https://wiki.ubuntuusers.de/Claws_Mail/Plugins/#OpenPGP-Verschluesselung-mit-GnuPG" class="internal">Claws Mail</a> </td><td> E-Mail </td></tr><tr><td> <a href="https://wiki.ubuntuusers.de/Gajim/#c2c-Verschluesselung" class="internal">Gajim</a> </td><td> Jabber/Instant Messenger </td></tr><tr><td> <a href="https://wiki.ubuntuusers.de/Psi/#Verschluesselung" class="internal">Psi</a> </td><td> Jabber/Instant Messenger </td></tr><tr><td> <a href="https://wiki.ubuntuusers.de/Kopete/#Module" class="internal">Kopete</a> </td><td> Jabber/Instant Messenger </td></tr><tr><td><a href="https://gpg4win.de/index-de.html">GPG4Win</a> </td><td> Tools für Windows </td></tr></tbody></table>
				</section>
				<section>
					<h3>Mit-Mach-Teil</h3>
					Schlüsselpaar generieren
					<pre><code>~$ gpg --full-gen-key </code></pre>
					<p>Ausgabe:
					<pre><code>Bitte wählen Sie, welche Art von Schlüssel Sie möchten:
   (1) RSA und RSA (voreingestellt)
   (2) DSA und Elgamal
   (3) DSA (nur unterschreiben/beglaubigen)
   (4) RSA (nur signieren/beglaubigen)
Ihre Auswahl?</code></pre>
				</section>

				<section>
					<p>Liste öffentliche Schlüssel
					<pre><code>~$ gpg --list-keys
gpg -k </code></pre>
					<p>Liste private Schlüssel
					<pre><code>~$ gpg --list-secret-keys
gpg -K 
					</code></pre>
					
				</section>

				<section>
					<h4>Wiederrufszertifikat</h4>
					<pre><code>~$ gpg --output Widerruf_Kennung.asc --gen-revoke Kennung  </code></pre>
					<p>Dieses Zertifikat einfach in den Keyring importieren -> Schlüssel ungültig
				</section>

				<section>
					<h4>Schlüssel exportieren</h4>
					<p>öffentlicher Key
					<pre><code>~$ gpg -a --output gpg-key.asc --export KEY-ID</code></pre>
					<p>Privater Key
					<pre><code>~$ gpg -a --output gpg-secret-key.asc --export-secret-keys KEY-ID </code></pre>
				</section>

				<section>
					<h4>Schlüssel suchen</h4>
					<pre><code>~$ gpg --search-keys "Vorname Nachname"</code></pre>
					<p>Schlüssel runterladen
						<pre><code>~$ gpg --recv-keys Key_Id</code></pre>
				</section>

				<section>
					GUI Frontend dafür: Seahorse

					<pre><code>~$ sudo apt install seahorse</code></pre>
				</section>


				<section>
					<span style="color: orange">Aufgabe:</span><p> Tauscht eure öffentlichen Schlüssel; <br>Sendet euch verschlüsselte Emails; <br>signiert gegenseitig eure Schlüssel; <br>Verschlüsselt eine Datei mit gpg.<br>
						Sucht meinen Schlüssel und sendet mir verschlüsselte emails ;-)<br> mail@schubertdaniel.de
				</section>
				
		   	
			
			</div>
		</div>

		<script src="lib/js/head.min.js"></script>
		<script src="js/reveal.js"></script>

		<script>

			// More info https://github.com/hakimel/reveal.js#configuration
			Reveal.initialize({
				controls: true,
				progress: true,
				history: true,
				center: true,

				transition: 'slide', // none/fade/slide/convex/concave/zoom

				// More info https://github.com/hakimel/reveal.js#dependencies
				dependencies: [
					{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
					{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
					{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
					{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
					{ src: 'plugin/search/search.js', async: true },
					{ src: 'plugin/zoom-js/zoom.js', async: true },
					{ src: 'plugin/notes/notes.js', async: true }
				]
			});

		</script>

	</body>
</html>