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.




Mittwoch, 5. November 2014

Elliptic Curve Cryptography

Heute beschäftigen wir uns mit der Elliptischen-Kurven-Kryptographie. Diese zählt zu den asymmetrischen Kryptosysteme, welche Operationen auf elliptischen Kurven über endlichen Körpern verwendet. Die Sicherheit dieser Verfahren basiert auf der Schwierigkeit der Berechnung des diskreten Logharithmus in der Gruppe der Punkte der elliptischen Kurve.

Funktionsweise:




Bei der Verschlüsselung mittels elliptischer Kurven werden die Elemente der zu verschlüsselnden Nachricht (d.h. die einzelnen Bits) auf irgendeine Weise den Punkten einer elliptischen Kurve zugeordnet. Dann wird die Verschlüsselungsfunktion P->nP mit einer natürlichen Zahl n>1 angewendet. Zur hohen Sicherheit muss die Entschlüsselungsfunktion nP->P schwer zu berechnen sein.
Damit gibt es auf diesen Kurven ein Analogon zum Diskreter-Logarithmus-Problem (DLP) in multiplikativen Gruppen, das ebenfalls DLP genannt wird.





Welche Vorteile gibt es gegenüber dem RSA-Kryptosystem?

Vorteil gegenüber RSA-Kryptographie:


Eine Implementierung von dem Elliptisch-Kurven-Kryptographie-Verfahren besitzt eine höhere Effizienz und gilt langfristig als sicher. Dadurch hat deren Anwendung zunehmend an Bedeutung gewonnen. Viele infrastrukturelle Probleme, wie z.B. die Schlüsselgenerierung, sind wesentlich eleganter und schneller gelöst, als dies im derzeit eingesetzen RSA-Verfahren der Fall ist.
Wenn man die ECC-Verfahren verwendet, ist das Problem mit wachsenden Schlüssellängen bei steigenden Sicherheitsanforderungen viel besser zu handhaben. Wo im Falle von RSA über eine Verdopplung der Schlüssellänge nachgedacht werden muss, reichen im Fall von ECC wenige Bit mehr aus, um die Sicherheit des Systems deutlich zu erhöhen.

Ein weiterer Vorteil von der Elliptisch-Kurven-Kryptographie liegt in der schnellen Verschlüsselung. Zu dem weisen sie eine größere Flexibilität auf. Man kommt mit deutlich geringeren Parameterlängen aus, ohne Einbußen bei der Sicherheit zu haben. Dies wirkt sich besonders beim Einsatz in Situationen aus, wo Speicher- oder Rechenkapazität knapp sind, wie z.B. bei Smartcards und anderen Small Devices. 

Zusammengefasst:

  • Wesentlich kürzere Schlüssellängen
  • Hohe kryptographische Sicherheit relativ zur Schlüssellänge
  • Hohe Geschwindigkeit
  • Geringe Speicheranforderungen
  • Kürzere Signaturen
  • Kostenersparnis

Wo wird Elliptic Curve Cryptography heutzutage eingesetzt?

Einsatz und Anwendung:


Bereich:
  • Verschlüsselung
  • Digitale Signatur
  • Digitale Zertifikate

Geräte:
  • Smartcards
  • Mobile Geräte: Handys und Handheldcomputer
  • ISDN Verschlüsselungsgerät
  • Drahtlose Datenübertragung (WAP/WTLS)


Quelle: