diff options
Diffstat (limited to 'content/vortraege/bis2018/gnupg.html')
| -rw-r--r-- | content/vortraege/bis2018/gnupg.html | 506 |
1 files changed, 506 insertions, 0 deletions
diff --git a/content/vortraege/bis2018/gnupg.html b/content/vortraege/bis2018/gnupg.html new file mode 100644 index 0000000..e89dd35 --- /dev/null +++ b/content/vortraege/bis2018/gnupg.html @@ -0,0 +1,506 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<title>GNU Privacy Guard - Eine freie Alternative zu PGP</title> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +</head> +<body> +<!-- BEGIN Content //--> +<div id="content"> +<h1 align="CENTER">GNU Privacy Guard +<br>- Eine freie Alternative zu PGP - +<br> +<br><table width="263" summary=""> +<tr><td> +<br><i>Das Briefgeheimnis sowie das Post- und Fernmeldegeheimnis sind +unverletzlich.</i> +<br> +<div align="RIGHT"><font size="-1"><font size="-1">Grundgesetz, Artikel 10, Abs 1. +</font></font></div></td></tr> +</table></h1> +<p align="CENTER"><strong>Achim D. Brucker +<br><tt>brucker@freiburg.linux.de</tt></strong></p> +<p align="CENTER"><strong>19. November 1999</strong></p> +<h2><a name="SECTION00010000000000000000"> +Inhalt</a> +</h2> +<!--Table of Contents--> +<ul> +<li><a name="tex2html30" + href="gnupg.html#SECTION00020000000000000000">Einführung</a> +<ul> +<li><a name="tex2html31" + href="gnupg.html#SECTION00021000000000000000">Was ist der GNU Privacy Guard - <tt>gnupg</tt></a> +<li><a name="tex2html32" + href="gnupg.html#SECTION00022000000000000000">Warum Verschlüsseln</a> +</ul> +<li><a name="tex2html33" + href="gnupg.html#SECTION00030000000000000000">Private Key Verfahren - Symmetrische Verfahren</a> +<li><a name="tex2html34" + href="gnupg.html#SECTION00040000000000000000">Verschlüsselungs- und Authentifizierungsverfahren</a> +<ul> +<li><a name="tex2html35" + href="gnupg.html#SECTION00041000000000000000">Public Key Verfahren - Asymmetrische Verfahren</a> +<li><a name="tex2html36" + href="gnupg.html#SECTION00042000000000000000">Hybride Verfahren</a> +<li><a name="tex2html37" + href="gnupg.html#SECTION00043000000000000000">Hash Verfahren - Fingerprints und Signaturen</a> +</ul> +<li><a name="tex2html38" + href="gnupg.html#SECTION00050000000000000000">Warum braucht die Welt GnuPG</a> +<ul> +<li><a name="tex2html39" + href="gnupg.html#SECTION00051000000000000000">Warum eine <i>freie</i> OpenPGP notwendig ist</a> +<li><a name="tex2html40" + href="gnupg.html#SECTION00052000000000000000">Ausflug: Softwarepatente</a> +<li><a name="tex2html41" + href="gnupg.html#SECTION00053000000000000000">Aktuell: 1999-11-15</a> +</ul> +<li><a name="tex2html42" + href="gnupg.html#SECTION00060000000000000000">GnuPG im Alltag</a> +<ul> +<li><a name="tex2html43" + href="gnupg.html#SECTION00061000000000000000">Verfügbarkeit und Anwendung</a> +<li><a name="tex2html44" + href="gnupg.html#SECTION00062000000000000000">Die wichtigsten Merkmale</a> +<li><a name="tex2html45" + href="gnupg.html#SECTION00063000000000000000">GnuPG für PGP 2.x Anwender</a> +</ul> +<li><a name="tex2html46" + href="gnupg.html#SECTION00070000000000000000">Ausblick</a> +<li><a name="tex2html47" + href="gnupg.html#SECTION00080000000000000000">Referenzen</a> +<li><a name="tex2html48" + href="gnupg.html#SECTION00090000000000000000">Über dieses Dokument ...</a> +</ul> +<!--End of Table of Contents--> +<h1><a name="SECTION00020000000000000000"> +Einführung</a> +</h1> +<h2><a name="SECTION00021000000000000000"> +Was ist der GNU Privacy Guard - <tt>gnupg</tt></a> +</h2> +<blockquote> +<div align="CENTER"> +GnuPG ist ein Programm zur sicheren offline Kommunikation. Es kann als freier +Ersatz für das ursprünglich von Phil Zimmermann entwickelte Pretty Good +Privacy (PGP) dienen. +</div> +</blockquote> +<h2><a name="SECTION00022000000000000000"> +Warum Verschlüsseln</a> +</h2> +<blockquote> +<div align="CENTER"> +Das Verschlüsseln von Nachrichten ist ein im Grundgesetz verbürgtes +Recht. +</div> +</blockquote> +<ul> +<li>Emails sind wie Postkarten, jeder kann sie lesen. Trotzdem werden oft +private Daten unverschlüßelt als Email versendet. +</li> +<li>Signaturen und Verschlüsselung dienen der Authentifizierung der Absender + und Empfänger. Sie ersetzen die Unterschrift. +</li> +<li>Nur die Datenverschlüsselung kann die Rechten und Pflichten, die sich +aus dem Datenschutz ergeben, umsetzen. +</li> +</ul> +<h1><a name="SECTION00030000000000000000"> +Private Key Verfahren - Symmetrische Verfahren</a> +</h1> +<ul> +<li>Symmetrische Verfahren verwenden denselben Schlüssel zum ver- und +entschlüsseln. +</li> +<li>Sender und Empfänger müssen den Schlüssel kennen und ihn geheim halten. +</li> +<li>einfaches Beispiel, die XOR-Verschlüsselung: +<div align="CENTER"> +<table cellpadding="3" border="1" summary=""> +<tr><td align="LEFT">Daten:</td> +<td align="CENTER">10100111001</td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +</tr> +<tr><td align="LEFT">Schlüssel:</td> +<td align="CENTER">10101001010</td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +</tr> +<tr><td align="LEFT">verschlüsselte Daten:</td> +<td align="CENTER">00001110011</td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +<td align="CENTER"> </td> +</tr> +</table> +</div> +</li> +</ul> +<ul> +<li>Der Suchraum wächst exponentiell mit der Schlüssellänge. DES verwendet +z.B. 56 Bit Schlüssel. Mit einer Brute Force Attacke müssten +<br><p></p> +<div align="CENTER"> +<!-- MATH + \begin{displaymath} +2^{56}=72.057.594.037.927.936\approx 72\cdot 10^{15} +\end{displaymath} + --> +1#1 +</div> +<br clear="ALL"> +<p></p> +Schlüssel ausprobiert werden. +</li> +<li>Schlüssellängen unter 64 Bit gelten heute nicht mehr als sicher, +empfohlen werden Längen von 128 Bit: +<p></p> +<div align="CENTER"> +<!-- MATH + \begin{eqnarray*} +&&2^{128}\ +&=&340.282.366.920.938.463.463.374.607.431.768.211.456\ +&\approx& 34\cdot 10^{37} +\end{eqnarray*} + --> +2#2 +<br clear="ALL"></div><p></p> +<br clear="ALL"><p></p> +<br clear="ALL"><p></p> +</li> +</ul> +<ul> +<li>Verfahren: Enigma, DES, 3DES, Blowfish, Twofish, IDEA +</li> +<li>PGP verwendet IDEA für die Datenverschlüsselung. +</li> +<li>Nachteile symmetrischer Verfahren: +<ul> +<li>Der Schlüsselaustausch ist schwierig. +</li> +<li>Wenn 3#3 Personen privat untereinander kommunizieren wollen, + sind <!-- MATH + $\frac{n(n-1)}{2}$ + --> +4#4 Schlüsselpaare notwendig. +</li> +</ul> +</li> +</ul> +<h1><a name="SECTION00040000000000000000"> +Verschlüsselungs- und Authentifizierungsverfahren</a> +</h1> +<h2><a name="SECTION00041000000000000000"> +Public Key Verfahren - Asymmetrische Verfahren</a> +</h2> +<ul> +<li>Jeder Teilnehmer hat einen privaten und einen öffentlichen Schlüssel: +<ul> +<li>Mit dem öffentliche Schlüssel werden Nachrichten an den Besitzer +verschlüsselt. +</li> +<li>Mit dem privaten Schlüssel kann der Besitzer an ihn gesendete +Nachrichten entschlüsseln. +</li> +<li>Verfahren: RSA, ElGamal, Rabin +</li> +<li>PGP verwendet RSA, GnuPGP ElGamal +</li> +<li>Die Verschlüsselung basiert auf ,,trapdoor``-Funktionen. +</li> +</ul> +</li> +</ul> +<ul> +<li>Eine ,,trapdoor``-Funktion ist eine one-way``-Funktionen +mit einer ,,Hintertüre``. +<br> +Meist basiert die Funktion auf der Primfaktorzerlegung. Ist eine große Zahl gegeben, die das +Produkt zweier Primzahlen darstellt ist es sehr schwer die beiden Primfaktoren +zu bestimmen. Kennt man allerdings die Hintertüre (einen Primfaktor) ist es sehr +leicht möglich, den zweiten Faktor zu berechnen. +</li> +<li>Die Schlüssellänge von symmetrischen und asymmetrischen Verfahren kann +nicht direkt verglichen werden. Bei einem asymmetrischen Verfahren mit einer +512 Bit Schlüssellänge muß ein Angreifer eine Binärzahl mit 512 Bit +(entsprechend einer Dezimalzahl bis 155 Stellen) in ihre Primzahlen zerlegen. +</li> +<li>Es wird eine Schlüssellänge von 1024 Bit empfohlen. +</li> +</ul> +<h2><a name="SECTION00042000000000000000"> +Hybride Verfahren</a> +</h2> +<ul> +<li>Leider sind asymmetrische Verfahren kein Allheilmittel. +</li> +<li>Meistens sind symmetrische Verfahren sicherer als asymmetrische Verfahren. +</li> +<li>Hybride Verfahren verwenden sowohl ein symmetrisches als auch ein +asymmetrisches Verfahren (wie GnuPG und PGP es verwenden): +<ul> +<li>Der Schlüssel für das symmetrische Verfahren wird mit + dem asymmetrischen Verfahren verschlüsselt. +</li> +<li>Die Nachricht wird mit dem symmetrischen Verfahren + verschlüsselt. +</li> +<li>Der Emfpänger entschlüsselt mit seinem privaten + Schlüssel den ,,session key``, mit dem die Nachricht + entschlüsselt werden kann. +</li> +</ul> +</li> +<li>Ein hyprides Verfahren ist <i>nicht</i> stärker als das verwendete +symmetrische oder asymmetrische Verfahren. <i>Aber:</i> Wenn ein Angreifer +einen ,,session key`` entschlüsselt, so kann er nur eine Nachricht +lesen. +</li> +</ul> +<h2><a name="SECTION00043000000000000000"> +Hash Verfahren - Fingerprints und Signaturen</a> +</h2> +<ul> +<li>Eine Hash-Funktionen zerlegt den Urbildraum in Teilmengen, die auf +dasselbe Element im Zielraum abgebildet werden, z.B.: +<br><p></p> +<div align="CENTER"> +<!-- MATH + \begin{displaymath} +f(x)= x mod 37 +\end{displaymath} + --> +5#5 +</div> +<br clear="ALL"> +<p></p> +</li> +<li>Eine digitale Signatur ist das Ergebnis des Anwenden einer Hashfunktion +auf ein Dokument. +</li> +<li>Hash-Funktionen für Signaturen müssen zwei Bedingen erfüllen: +<ul> +<li>Es muss <i>schwer</i> sein, zwei Dokumente mit demselben Hash-Wert zu +finden +</li> +<li>Es muss <i>schwer</i> sein, aus dem Hash-Wert das Dokument zu +rekonstruieren. +</li> +</ul> +</li> +<li>Um die Echtheit zu garantieren, wird der Hash-Wert mit dem privaten +Schlüssel des signierenden verschlüsselt. Somit kann jeder mit dem +öffentlichen Schlüssel die Echtheit überprüfen. +</li> +<li>Verwendet werden z.B. SHA oder MD5 +</li> +</ul> +<h1><a name="SECTION00050000000000000000"> +Warum braucht die Welt GnuPG</a> +</h1> +<h2><a name="SECTION00051000000000000000"> +Warum eine <i>freie</i> OpenPGP notwendig ist</a> +</h2> +<ul> +<li>Freie Software (public domain, GPL) unterliegt nicht dem Waasenar +Abkommen +</li> +<li>RSA und IDEA sind patentiert und damit für freie Software nicht +einsetzbar. +</li> +<li>,,no security by obscurity`` +</li> +<li>PGP 5.x und 6.x erfüllen nicht den OpenPGP Standard +</li> +<li>PGP 5.x konnte ,,plötzlich`` Message Recovery +</li> +</ul> +<h2><a name="SECTION00052000000000000000"> +Ausflug: Softwarepatente</a> +</h2> +<ul> +<li>RSA: +<ul> +<li>patentiert in den USA, außerhalb kann RSA uneingeschränkt genutzt +werden +</li> +<li>In den USA nur als (langsame) Referenzimplementierung vom MIT ohne +Lizenz möglich. Genauer Status unklar. +</li> +<li>Patent läuft im September 2000 aus +</li> +</ul> +</li> +<li>IDEA: +<ul> +<li>Weltweit (soweit möglich) patentiert. +</li> +<li>für nichtkomerzielle Nutzung frei +</li> +<li>Patent läuft am im Jahr 2011 aus. +</li> +</ul> +</li> +</ul> +<h2><a name="SECTION00053000000000000000"> +Aktuell: 1999-11-15</a> +</h2> +<blockquote> +<div align="CENTER"> +Mit dem Konzept von GPG könnte ein + Werkzeug geschaffen werden, das als 'public +domain'-Software ohne Einschränkungen für alle + Benutzerschichten - Behörden, kommerzielle +Nutzer und Privatbenutzer eingeschlossen - frei und + unentgeltlich verfügbar ist. +</div> +Hubertus Soquat, Referent für IT-Sicherheit im BMWi. +</blockquote> +Die Entwickler von GnuPG unter Leitung Werner Koch werden vom +Bundesministeriums für Wirtschaft und Technologie (BMWi) mit 250.000 DM +unterstützt. Nächstes Jahr sollen weitere Gelder folgen. +<h1><a name="SECTION00060000000000000000"> +GnuPG im Alltag</a> +</h1> +<h2><a name="SECTION00061000000000000000"> +Verfügbarkeit und Anwendung</a> +</h2> +<ul> +<li>Verfügbar unter Linux und den meisten Unixen, sowie Windows +</li> +<li>Integration in diverse Mailer (z.B. mutt, xfmail, Mailcrypt) +</li> +<li>durch Wrapper auf der Kommandozeile zu PGP 2.x kompatibel +</li> +<li>Frontends für Gnome (GnomePGP) und KDE (Geheimniss) verfügbar +</li> +</ul> +<h2><a name="SECTION00062000000000000000"> +Die wichtigsten Merkmale</a> +</h2> +<ul> +<li>verwendet keine patentierten Algorithmen +</li> +<li>verwendet GPL, komplett neu geschrieben +</li> +<li>implementiert die OpenPGP-Spezifikation +</li> +<li>kompatibel zu PGP 5.x +</li> +<li>mit Erweiterung kompatibel zu PGP 2.x +</li> +<li>Unterstützt: DSA, 3DES, Blowfish, Twofish, CAST5, MD5, SHA-1, +RIPE-MD-160 und TIGER +</li> +<li>Schlüssel können ablaufen +</li> +<li>unterstützt Key-Server +</li> +</ul> +<h2><a name="SECTION00063000000000000000"> +GnuPG für PGP 2.x Anwender</a> +</h2> +<ul> +<li>PGP 2.x verwendet die patentierten Verfahren RSA und IDEA. +</li> +<li>Um zu PGP 2.x kompatibel zu sein, müssen die Referenzimplementierungen +von IDEA und RSA als Modul zur verfügung gestellt werden. +</li> +<li>Nachdem die Module RSA und IDEA GnuPG zur verfügung stehen, kann es +problemlos als PGP 2.x Ersatz genutzt werden. +</li> +<li>Obwohl der alte PGP 2.x Key benutzt werden kann, sollte man sich einen +neuen GnuPG Key generieren. +</li> +<li>Für Debian gibt es entsprechende Pakete. +</li> +</ul> +<h1><a name="SECTION00070000000000000000"> +Ausblick</a> +</h1> +<blockquote> +<div align="CENTER"> +Mit GnuPG 1.0 steht dem Anwender ein ausgereiftes freies +Verschlüsselungsprogramm zur Verfügung, dessen Weiterentwicklung sogar durch +Steuergelder gesichert ist. GnuPG ist ein vollwertiger Ersatz für das +kommerzielle PGP. +</div> +</blockquote> +Weiter Vorträge: +<ul> +<li>Verschlüsselte Dateisysteme unter Linux. +</li> +<li>Betrachtung von Verschlüsselungsalgorithmen mit ihren Stärken und +Schwächen. +</li> +<li>GnuPG step by step mit Key-signing Party. +</li> +<li>Anekdoten über Enigma, DES und RSA. +</li> +</ul> +<h1><a name="SECTION00080000000000000000"> +Referenzen</a> +</h1> +<ul> +<li>GnuPG: <tt><a name="tex2html1" + href="http://www.gnupg.org">http://www.gnupg.org</a></tt> +</li> +<li>PGP: <tt><a name="tex2html2" + href="http://www.pgpi.com">http://www.pgpi.com</a></tt> +</li> +<li>GnuPG Dokumentation: <tt><a name="tex2html3" + href="http://http://www.gnupg.org/gph/en/manual/book1.html">http://http://www.gnupg.org/gph/en/manual/book1.html</a></tt> +</li> +<li>GnuPG Mini Howto (deutsch): <tt><a name="tex2html4" + href="http://www.stud.uni-goettingen.de/~s070674/GnuPGMiniHowto/GPGMiniHowto.html">http://www.stud.uni-goettingen.de/~s070674/GnuPGMiniHowto/GPGMiniHowto.html</a></tt> +</li> +<li>PGP2x nach GnuPG <tt><a name="tex2html5" + href="http://www.gnupg.org/gph/en/pgp2x/t1.html">http://www.gnupg.org/gph/en/pgp2x/t1.html</a></tt> +</li> +<li>PGP5x nach GnuPG <tt><a name="tex2html6" + href="http://technocage.com/~caskey/gpg/pgp2gnupg.html">http://technocage.com/~caskey/gpg/pgp2gnupg.html</a></tt> +</li> +<li>Krypto Links: <tt><a name="tex2html7" + href="http://www.informatik.uni-freiburg.de/~luca/securitylinks.html">http://www.informatik.uni-freiburg.de/~luca/securitylinks.html</a></tt> +</li> +<li>RFC 2440: <tt><a name="tex2html8" + href="http://www.gnupg.org/rfc2440.html">http://www.gnupg.org/rfc2440.html</a></tt> +</li> +</ul> +</div> +<!-- END Content //--> +<hr style="display:none"> +<!-- BEGIN Footer //--> +<div id="footer" align="right"> + Seite erstellt/aktualisiert: 2000-04-30 + durch <em><<acronym title='Ersetze ":at:" durch "@"'>brucker:at:freiburg.linux.de</acronym>></em> + <br> +Seite zuletzt generiert: +2010-05-16 +</div> +<!-- END Footer //--> +</body> +</html> |
