Psi mit GnuPG-Verschlüsselung einrichten

Aus Siduction Wiki DE
Wechseln zu: Navigation, Suche

Psi ist ein Messenger für das Jabber-Protokoll, der sehr Ressourcen sparend ist und denoch viele Funktionen bietet. Außerdem hält er sich zu 100% an die Standards der Jabber Software Foundation. Als zusätzliche Features bietet er u.a. die Möglichkeit die Verbindung mit SSL zu verschlüsseln und die Nachrichten können nochmals mit GnuPG verschlüsselt werden.

GnuPG ist ein Kryptographie-Programm, das zum Ver- und Entschlüsseln von Daten und zum Erzeugen und Prüfen von Signaturen dient. Es gibt mehrere Algorithmen für GnuPG und die Schlüssellänge ist zwischen 1024-bit und 4096-bit wählbar. Diese Algorithmen sind bislang zwar theoretisch knackbar, aber in der Praxis bräuchte man selbst mit Hochleistungsrechner bei einer Schlüssellänge von 1024-bit mehrere Jahrzente (selbst mit kompletten Rechennetzen würde die Berechnung noch Monate dauern). Bei einer Schlüssellänge von 4096-bit dauert das entsprechend länger. Aber je länger die Schlüssellänge ist, desto länger brauch auch der eigene Rechner um die Daten zu entschlüsseln und nebenbei wird die Datei dadurch auch größer. Gerade beim Chatten verursacht dies eine ziemlich hohe Latenz. Daher empfehle ich zum Chatten nur einen Schlüssel zu erstellen, der 1024-bit lang ist. Das ist eigentlich ausreichend und hält die Verzögerungen beim Chatten auf einem Minimum.

So, nachdem ihr nun ungefähr wisst was die Programme sind bzw machen, können wir loslegen. Wenn ihr mehr darüber wissen wollt, folgt den Links ganz unten. Zuerst einmal müsst ihr die Programme installieren, falls sie es noch nicht sind (benötigt root-Rechte):

# apt-get update && apt-get install psi gnupg


Anmerkung:

Es gibt bei GnuPG (und auch bei dem kommerziellen PGP) 2 Schlüssel. Das eine ist der Private Schlüssel (Secret oder Private Key) und das andere ist der öffentliche Schlüssel (Public Key). Den öffentlichen Schlüssel könnt ihr in der Welt verteilen. Dieser Schlüssel dient nur dazu Nachrichten, die an euch gehen zu verschlüsseln. Diese verschlüsselte Daten könnt ihr dann mit eurem Privaten Schlüssel wieder entschlüsseln.

Daher ist es sehr wichtig auf den Privaten Schlüssel gut aufzupassen und ihn nicht weiterzugeben!

Nun erstellt ihr zuerst einmal eure Schlüssel. Dazu müsst ihr als normaler User in der Konsole angemeldet sein, da sonst die Schlüssel für root generiert werden und nur er sie verwenden kann.

# gpg --gen-key


Am besten ihr wählt als Schlüssel DSA and Elgamal aus und gebt als Schlüssellänge 1024 ein. Damit der Schlüssel nie verfällt, müsst ihr die 0 auswählen und das ganze mit j bestätigen. Anschließend müsst ihr einen Namen und Email-Adresse (den Kommentar kann man weglassen) eingeben. Normalerweise gibt man hier seinen richtigen Namen + Email-Adresse an, signiert seinen öffentlichen Schlüssel und läd das auf einen Keyring-Server. Ihr könnt auch irgendetwas eingeben und den öffentlichen Schlüssel so weitergeben, an der Verschlüsselung selbst macht das nichts. Nur wird es dann schwer nachzuweisen, dass auch wirklich ihr das hinter dem Schlüssel seid und nicht irgendjemand versucht sich als euch auszugeben. Wie ihr das handhabt bleibt aber letztendlich euch überlassen.

Zum Schluß müsst ihr noch einen kompletten Passwort-Satz eingeben. Dieser sollte sehr lang sein, Sonderzeichen beinhalten (es können auch Leerzeichen drin vorkommen, daher "Passphrase") und sollte nicht erratbar sein. Denn wenn doch einmal euer geheimer Schlüssel in die Hände eines Anderen fallen sollte, is dies der letzte Schutz.

Nachdem nun euer Schlüssel erstellt ist, startet Psi und richtet euch ein neues Jabber-Konto ein. Dazu gebt ihr zuerst einmal einen Profilnamen ein (am besten euer Nick) und markiert das Kästchen

[x] Register new account

In dem nächsten Fenster müsst ihr eine Jabber-ID angeben und ein Passwort für euren Account. Die Jabber-ID setzt sich folgendermaßen zusammen:

nickname@jabberserver

Ich verwende den Jabber-Server des CCC (jabber.ccc.de). Es gibt aber auch ne Menge anderer Jabber-Server. Eine Liste mit allen Jabber-Servern findet ihr hier. Ich kann noch den Jabber-Server der Jabber Software Foundation empfehlen (jabber.org).

Eure ID sieht dann also so aus:

beispielname@jabber.org oder beispielname@jabber.ccc.de

Der Nickname muss auch einmalig sein, also 'Max' o.ä. ist wahrscheinlich schon vergeben.

Wenn die Registrierung erfolgreich war, seht ihr nun ein Fenster in dem ihr euer Profil einstellen könnt. Empfehlenswert sind folgende Optionen in dem Menü 'Account':

[x] Automatically connect on startup
[x] Automatically reconnect if disconnected
[x] Log message-history 


Im Menü Details klickt ihr im Feld OpenPGP auf Select Key und wählt euren vorher erstellten Schlüssel aus. Nun geht ihr weiter zum Menü Connection und setzt dort folgende Optionen:

[x] Use SSL encryption (to server)
[x] Ignore SSL warnings
[ ] Allow Plaintext Login
[x] Send "Keep-alive" packets (for NAT timeouts)
[ ] Manually Specify Server Host/Port


Das Menü Misc lassen wir so wie es ist. Nachdem nun alle Optionen gesetzt speichert ihr das ganze ab. Falls die Verbindung mit SSL-Verschlüsselung fehlschlägt braucht ihr noch 2 Pakete. Diese installiert ihr mit:

# apt-get install qca-tls libssl0.9.8


Nach dem installieren der Pakete müsst ihr Psi neustarten. So, nun könnt ihr euch mit Psi anonym und mit einer verschlüsselten Verbindung über das Jabber-Netzwerk unterhalten. Wenn ihr nun noch die Text-Nachrichten verschlüsseln möchtet müssen die jeweiligen Personen ihre Public-Keys austauschen. Dazu müsst ihr erstmal euren Public-Key exportieren:

# gpg --export -a UID > /Pfad/Dateiname 


Die UID ist der angegebene Name. Falls ihr nichtmehr wisst welchen Namen ihr bei der Erstellung angegeben habt könnt ihr euch euren Schlüsselbund anschauen:

# gpg --list-keys


Als Beispiel:

$ gpg --export -a name > /home/username/Desktop/psi_nick.pubkey.


Der Dateiname ist frei wählbar. Nachdem ihr euren öffentlichen Schlüssel exportiert habt gebt eurem Kommunikationspartner diesen Schlüssel und er gibt euch seinen. Speichert seinen Schlüssel ab (ich hab für die ganzen Public-Keys von anderen Leuten ein Ordner in meinem Home-Verzeichnis) und fügt ihn in euren Schlüsselbund ein:

# gpg --import /Pfad/Dateiname 


Wenn ihr nun eure Nachrichten noch mit GnuPG verschlüsseln wollt, klickt im jeweiligen Chatfenster unten rechts auf das Schloss-Symbol und wählt beim Senden den Schlüssel des Kommunikationpartners aus. Von da an müsst ihr bei dieser Person nur noch auf das Schloss-Symbol klicken und alle Nachrichten werden automatisch ver- und entschlüsselt.


Links:

http://de.wikipedia.org/wiki/Jabber

http://de.wikipedia.org/wiki/Psi_%28Instant_Messenger%29

http://de.wikipedia.org/wiki/Gnupg

http://www.jabber.org/

http://psi-im.org/

http://www.gnupg.org/

http://www.trust-us.ch/ds/80/007.htm