Mittwoch, 17. Dezember 2014

Pretty Good Privacy (PGP) / GNU Privacy Guard(GPG)

What is PGP?

PGP:


Pretty Good Privacy (PGP) ist ein von Phil Zimmermann entwickeltes Programm zur Verschlüsselung und zum Unterschreiben von Daten. Es benutzt dabei ein sogenanntes Public-Key-Verfahren, in dem es ein eindeutig zugeordnetes Schlüsselpaar gibt.

What is PGP mainly used for?

Hauptsächlich wird PGP zur Verschlüsselung von E-Mails verwendet. Im Internet erreichen die E-Mails den Empfänger systembedingt nicht direkt sondern über oft zahlreiche Zwischenstufen. Bei jedem der beteiligten Server besteht prinzipiell eine Mitlesemöglichkeit, da E-Mails im Klartext übermittelt werden. Um das Mitlesen zu verhindern, muss die E-Mail verschlüsselt werden.


How does PGP work?

Funktionsweise:


Man kann mit PGP wahlweise eine Nachricht nur signieren, nur verschlüsseln oder sowohl signieren als auch verschlüsseln. Die Signatur dient dazu, die Echtheit der Nachricht zu garantieren, also dass sie vom behaupteten Absender ist (Authentizität) und nach der Signierung nicht verändert wurde (Integrität). In der Praxis wird man Nachrichten, wenn man sie verschlüsselt, zumeist auch signieren.


Das PGP-System verwendet asymmetrische Schlüssel. Jeder Benutzer besitzt ein Schlüsselpaar. Mit dem einen kann man verschlüsseln und mit dem anderen entschlüsseln. Jeder hat Zugriff auf den öffentlichen Schlüssel. Der den öffentlichen Schlüssel einer Person besitzt, kann dieser Person verschlüsselte E-Mails schicken, aber er kann damit keine verschlüsselte E-Mail wieder lesbar machen. 

Entschlüsseln kann man ausschließlich mit dem privaten Schlüssel. Den privaten Schlüssel darf man keinesfalls weitergeben, sondern sollte ihn sicher aufbewahren. Die Verschlüsselungsmethode zusammen mit der Schlüssellänge gilt als so sicher, daß auch staatliche Organe wie z.B. Geheimdienste PGP-verschlüsselte eMails nicht knacken können. 




What is the web of trust?

Netz des Vertrauens (web of trust):


Das Netz des Vertrauens (web of trust) ist die Idee in der Kryptologie, die Echtheit von digitalen Schlüsseln durch ein Netz von gegenseitigen Bestätigungen (Signaturen), kombiniert mit dem individuell zugewiesenen Vertrauen in die Bestätigungen der anderen („Owner Trust“), zu sichern. Dieses Konzept wird bei PGP, GnuPG und anderen OpenPGP-kompatiblen Systemen angewendet. Es stellt eine dezentrale Alternative zum hierarchischen PKI-System dar.



How and why are certificates used? What is a certificate good for?

Zertifikate:


Zertifikate dienen hauptsächlich zum Überprüfen der Identität einer Person oder eines Geräts, zum Authentifizieren eines Diensts oder zum Verschlüsseln von Dateien. 


What's the difference between PGP and GPG?

Unterschied PGP und GPG:


PGP ist ein kommerzielles Tool zur Verschlüsselung. Proprietäre Software und der Quelltext liegt nicht offen und daher kann man auch nicht sicher sein, dass es in der Software kein Hintertürchen für Entwickler oder Geheimdienste gibt.
Deswegen kam es zur Entwicklung des GnuPrivacyGuard (GPG) als quellenoffene Alternative. Beide Varianten sind nahezu kompatibel zueinander. GPG ist im Gegensatz zu PGP auf fast allen Betriebssystemen der Welt lauffähig.

Which other methods can be used to encrypt E-Mails (see http://en.wikipedia.org/wiki/Email_encryption)?

Diese Tools bieten weitere Optionen die E-Mails sicher zu verschlüsseln:


  • DataMotion, Inc.
  • Echoworx
  • Email authentication 
  • Email privacy
  • Enigmail-Thunderbird Plug-In
  • Entrust
  • Galaxkey-iOS,Android, Windows, BlackBerry und Outlook Plug-In
  • GPGMail-OS X Mail.app Plug-In
  • HTTP Secure 
  • Hushmail
  • avabit
  • Mail1Click
  • MyKolab
  • Secure Messaging
  • Dark Mail Alliance

How can PGP/GPG be used in popular E-Mail services (c)?

Verwendung:


Das folgende Video auf YouTube zeigt, wie man PGP/GPG Verschlüsselung bei populären E-Mail Services (Gmail, Yahoo-mail, Outlook ) verwenden kann.


In diesem Video wird die Verwendung eines Tools namens Mailvelope beschrieben. Mailvelops ist ein Opensource-Projekt, dass eine Erweiterung des Chrome Browsers ist. Es implementiert PGP-Verschlüsselung und ist mit Gmail, Outlook.com, Yahoo mail sowie weiteren E-Mail Services kompatibel. Es ist eines der simpelsten E-Mail-Verschlüsselungsprogramme.
Quelle:






Mittwoch, 26. November 2014

Digitale Signature

Im heutigen Thema beschäftigen wir uns mit dem Thema der digitalen Signatur. Die elektronische Signatur gehört im elektronischen Datenaustausch und Handel zu einer immer wichtiger werdenden Größe, um verbindliche Transaktionen zu ermöglichen und Vertrauen in elektronische Kommunikation über potentiell unsichere Netzwerke zu ermöglichen.

What is authentication and integrity?

Authentizität und Integrität:


Authentizität bedeutet die Sicherstellung der Echtheit von Informationen bzw. der Echtheit der behaupteten Identität. Es muss einerseits sichergestellt sein, dass Informationen wirklich aus der angegebenen Quelle stammen (Nachrichtenauthentizität) bzw. dass die vorgegebene Identität, etwa eines Benutzers oder eines an der Kommunikation beteiligten Systems (Teilnehmerauthentizität), korrekt ist. Dieser notwendige Beweis kann durch unterschiedliche Mittel erbracht werden.

Integrität bedeutet die Sicherstellung der Korrektheit (Unversehrtheit, Richtigkeit und Vollständigkeit) von Informationen (Datenintegrität) bzw. der korrekten Funktionsweise von Systemen (Systemintegrität). An verarbeiteten, übertragenen oder gespeicherten Daten dürfen Modifikationen nur mit entsprechender Berechtigung und in beabsichtigter Weise vorgenommen werden, und sie müssen in betriebswirtschaftlicher Hinsicht, mit Geschäftswerten und -erwartungen übereinstimmen.


What are the applications of digital signatures, when are they used?

Anwendungen von digitalen Signaturen:


Als Organisation geht man weg von Papierdokumenten mit gezeichneten Unterschriften oder Echtheitsstempel. Digitale Signaturen können eine zusätzliche Versicherung sein, dass die Herkunft, die Identität und Status des elektronischen Dokuments stimmen, sowie eine Zustimmung des Unterzeichners beinhalten. Sie werden in vielen Bereichen schon verwendet, wie Universitäten, Banken und Regierungen.

Es kommt in PGP-Systemen zum Einsatz.  PGP ist selbst kein Verschlüsselungsalgorithmus, sondern ein Softwareprodukt, das viele, zum Teil recht komplexe, Verfahren zur symmetrischen und asymmetrischen Verschlüsselung sowie zur elektronischen Signatur zusammenfasst.

Zudem wird es in zertifikatbasierten Systemen eingesetzt. In diesen Systemen erhält jeder Benutzer ein digitales Zertifikat, welches Angaben zu seiner Identität und den öffentlichen Schlüssel enthält. Jedes Zertifikat ist von einer ausgebenden Stelle beglaubigt, die ihrerseits wieder von höheren Stellen beglaubigt sein kann.

How do they work, how is message signed and verified?


Verifizierung und Signierung: 


Dabei wird mittels einer speziellen Einweg-Hash-Funktion der sogenannte digitale Fingerabdruck (Message Digest) einer Nachricht ermittelt. Der Fingerabdruck (hash) wird anschließend mit dem privaten Schlüssel des Senders verschlüsselt und zusammen mit der (ebenfalls verschlüsselten) Nachricht übertragen. Der Empfänger entschlüsselt nun den Fingerabdruck mit dem öffentlichen Schlüssel des Senders, wodurch die Authentizität des Senders gewährleistet wird. Anschließend berechnet er aus der erhaltenen Nachricht einen eigenen Fingerabdruck und vergleicht diesen mit dem von dem Empfänger erhaltenen. Stimmen beide überein, verfügen Sender und Empfänger über dieselbe Nachricht.
Die Verifikation muss den Empfänger von der Integrität und der Authentizität des Absenders überzeugen.




What is the hash of a message? Which hash functions are the most popular ones?


Hash-Funktion:


Hashing oder eine Hashfunktion dient also dazu, digitale Zusammenfassungen von Daten zu
erstellen. Diese Zusammenfassungen nennt man auch Message Digests oder kryptografische
Prüfsummen. Sie haben üblicherweise eine Länge von 128 bis 160 Bit und enthalten ein
eindeutiges und individuelles digitales Identifizierungsmerkmal für jede Nachricht. Das heißt:
nur identische Nachrichten haben denselben Hashwert. Jede noch so kleine Änderung an der
Nachricht liefert einen veränderten Hashwert. Bereits eine Änderung von einem Bit reicht
hier aus.

Zwei der am weitesten verbreiteten Algorithmen für die Erstellung von Message Digests sind
heute MD5 und SHA-1. MD5 berechnet einen Message Digest von 128-Bit Länge und
wurde von der RSA Data Security Inc. entwickelt. SHA-1 hat eine Länge von 160 Bit und
wurde von der National Security Agency, dem Geheimdienst der USA, entwickelt. Wegen
des längeren Hashwerts wird allgemein angenommen, dass der SH1-Algorithmus eine
größere kryptografische Sicherheit als MD5 bedeutet. Darüber hinaus ist SH1 nicht anfällig
für einige Angriffe, die auf MD5 geführt werden können.


What's the difference to an electronic signature?


Unterschied zu der elektronischen Signatur:


Eine elektronische Signatur ist jede Art von elektronischen Anhängen in Form von Symbolen oder Prozessen an vorhandenen Daten. Allerdings werden keine genauen biometrischen oder ähnliche Merkmale festgesetzt.

Unter einer „digitalen Signatur“ versteht man eine rechtgültige Willenserklärung einer Person, erstellt in elektronischer Form. Es geht nicht darum eine handschriftliche Unterschrift auf elektronische Weise darzustellen, sondern um ein Verschlüsslungsprinzip, das die Daten des Dokuments verifizieren.


Name some digital signature algorithms.

einige Arten von digitalen Signaturalgorythmus:



  • RSA-basierte Signatursysteme, wie zum Beispiel RSA-PSS
  • DSA und seine elliptische Kurvenvariante ECDSA
  • ElGamal Signatursysteme
  • Rabin Signatur Algorithmus
  • Pairing-basierte Systeme wie BLS
  • Undeniable signatures
  • Aggregate signature 
  • Signatures with efficient protocols 


Which additional security precautions can be used?


Weitere Sicherheitsmaßnahmen: 


Alle öffentlichen Schlüssel / Private Key-Kryptosysteme richten sich ganz auf die Geheimhaltung des privaten Schlüssels. Ein privater Schlüssel kann auf dem Computer des Benutzers gespeichert werden, und durch eine lokale Passwort geschützt, aber dies hat zwei Nachteile:


  • der Benutzer kann nur an diesem Computer ein Dokument unterzeichnen
  • die Sicherheit des privaten Schlüssels hängt ganz von der Sicherheit des Computers ab

Eine sicherere Alternative ist, den privaten Schlüssel auf einer Chipkarte zu speichern. Viele Chipkarten sind so konzipiert, manipulationssicheren zu sein.



Quelle:



Dienstag, 18. November 2014

Diffie–Hellman Schlüsselaustausch

Das heutige Thema ist der Diffie-Hellman-Schlüsselaustausch oder auch Diffie-Hellman-Merkle-Schlüsselaustausch. Dies ist ein Schlüsselaustauschprotokoll.

What's the purpose of this algorithm, when is it used?

Zweck des Algorithmus:


Mit diesem Protokoll erzeugen zwei Kommunikationspartner einen geheimen Schlüssel. Diesen kennen nur sie. Dieser Schlüssel wird üblicherweise verwendet, um verschlüsselte Nachrichten mittels eines symmetrischen Kryptosystems zu übertragen.


What is a one way function?

Einwegfunktion:


Eine „one way function“ (zu Deutsch Einwegfunktion) ist eine mathematische Funktion, die zwar „leicht” zu berechnen ist, aber „schwer” umzukehren. In einem erweiterten Sinn werden auch Funktionen so bezeichnet, zu denen bisher keine in angemessener Zeit praktisch ausführbare Umkehrung bekannt ist. Sie bilden die Grundlage in vielen Verschlüsselungsverfahren in der Kryptologie.


How does the algorithm work?

Funktionsweise:

Anhand des Beispiels Alice und Bob wird nun die Funktionsweise erklärt. Die zwei Kommunikationspartner Alice und Bob wollen über ein unsicheres Medium, etwa eine Kabel- oder Funkverbindung, verschlüsselt kommunizieren. Dazu soll ein symmetrisches Kryptosystem eingesetzt werden, für das beide jedoch zunächst einen gemeinsamen geheimen Schlüssel benötigen. Über den Diffie-Hellman-Schlüsselaustausch gelangen sie beide zu einem solchen Schlüssel.
  1. Die Kommunikationspartner einigen sich zunächst auf eine zyklische Gruppe primer Ordnung p und einen Erzeuger g dieser Gruppe. Diese Parameter brauchen nicht geheim zu bleiben und können daher auch über ein unsicheres Medium übertragen werden.
  2. Beide Kommunikationspartner erzeugen jeweils eine geheimzuhaltende Zufallszahl a bzw. b aus der Menge {1,…,p-1}a und b werden nicht übertragen, bleiben also dem jeweiligen Kommunikationspartner, aber auch potenziellen Lauschern, unbekannt.
  3. Die Kommunikationspartner berechnen A=ga modp bzw. B=gb modp. Nun werden A und B über das unsichere Medium übertragen.
  4. Die Kommunikationspartner berechnen nun K=Ba modp bzw. K=Ab modp. Das Ergebnis K ist für beide Partner gleich und kann als Schlüssel für die weitere Kommunikation verwendet werden.

Dass beide Kommunikationspartner denselben Wert für K berechnen, zeigen die folgenden beiden Gleichungen:
K=Ba modp = (gb modp)a modp = gba modp = gab modp
K= Ab modp = (gb modp)a modp = gab modp




What is clock arithmetic, which characteristics does it have?

Clock Arithmetik:


Die “clock arithmetic” (in Deutsch Kongruenz) ist in der Zahlentheorie eine Beziehung zwischen ganzen Zahlen.  Man nennt zwei Zahlen kongruent bezüglich eines Moduls (eine weitere Zahl), wenn sie bei Division durch den Modul denselben Rest haben. Das ist genau dann der Fall, wenn sie sich um ein ganzzahliges Vielfaches des Moduls unterscheiden. Stimmen die Reste nicht überein, so nennt man die Zahlen inkongruent bezüglich des Moduls.

Zwei Zahlen a und b heißen kongruent modulo m, wenn m die Differenz a –b teilt.
Zwei Zahlen a und b heißen inkongurent modulo m, wenn m die Differenz a – b nicht teilt.


What is the discrete logarithm problem?

Das Diskreter-Logarithmus-Problem:


Während die Exponentialfunktion mit Hilfe entsprechender Verfahren sehr effizient berechnet werden kann, ist die Berechnung diskreter Logarithmen bei geeigneter Wahl der relevanten Größen ein schwer zu lösender Problem (Diskreter-Logarithmus-Problem, kurz DLP). Für dieses ist bis heute kein effizienter Algorithmus bekannt. Aufgrund dieser Asymmetrie findet der diskrete Logarithmus in der Kryptografie vielfach Verwendung.
Das Diffie-Hellman-Verfahren stellt eine anschauliche Anwendungsmöglichkeit des DLP (Diskreter-Logarithmus-Problem) dar. Das DLP  wird verwendet, den sicheren Austausch des geheimen Schlüssels durchzuführen. Die Sicherheit des Diffie-Hellman-Verfahren beruht auf der Schwierigkeit, derartige Logarithmen bei geeigneter Wahl der Zahlenwerte zu berechnen. Ist ein Angreifer in der Lage, das DLP zu lösen, kann er den geheimen Schlüssel berechnen. Bisher ist die Lösung des DLP die einzige bekannte anwendbare Methode, um das Diffie-Hellman-Problem zu lösen und damit den geheimen Schlüssel zu erfahren.


Calculate the private shared key, when Alice selects 56 and Bob selects 23 as a random number.

Beispiel:


Nun wird der Private Schlüssel anhand des Beispiels von Alice und Bob berechnet. Es werden sehr kleine Zahlen benutzt. In der tatsächlichen Anwendung werden Zahlen mit mehreren hundert Stellen benutzt.

  1. Alice und Bob einigen sich auf p=71 und g=2.
  2. Alice wählt die Zufallszahl a=56. Bob wählt die Zufallszahl b=23.
  3. Alice berechnet A = ga modp = 25 und sendet A an Bob.
  4. Bob berechnet B = gb modp = 29 und sendet B an Alice.
  5. Alice berechnet K = Ba modp = 5.
  6. Bob berechnet K = Ab modp = 5.
  7. Beide erhalten das gleiche Ergebnis K = 5.


Ein eventuell vorhandener Mittelsmann oder Lauscher könnte zwar die Zahlen 71, 2, 25 und 29 mithören, das eigentliche gemeinsame Geheimnis von Alice und Bob K = 5 bleibt ihm aber verborgen. K = 5 kann somit als Schlüssel für die nachfolgende Kommunikation verwendet werden.



What is authentication? Does the Diffie-Hellman key exchange provide authentication?

Authentifizierung: 


Der Begriff Authentifizierung ist vom Englischen Verb authenticate abgeleitet, was auf Deutsch sich als echt erweisen, sich verbürgen, glaubwürdig sein bedeutet.

Das Diffie-Hellman-Protokoll sieht keine Authentisierung der Partner vor. Daher ist es anfällig für die Man-In-The-Middle-Attack.  Ist ein Angreifer in der Lage, sich aktiv in die Kommunikation zwischen den beiden Partnern einzuschleifen, so kann er gegenüber beiden vorgeben, der jeweils andere Partner zu sein und so selbst mit beiden ein gemeinsames Geheimnis vereinbaren. Daher wird in der Praxis bei diesem Verfahren immer zusammen mit einem zusätzlichen Authentisierungsverfahren verwendet, in der Regel auf Basis von digitalen Signaturen.