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:





Dienstag, 28. Oktober 2014

RSA-Kryptosystem

In der heutigen Übung behandeln wir das RSA-Kryptosystem. Das RSA (Rivest, Shamir und Adleman) ist ein asymmetrisches kryptographisches Verfahren. Es kann sowohl zur Verschlüsselung als auch zur digitalen Signatur verwendet werden. Es verwendet hierbei zwei Schlüssel, ein privater Schlüssel, zum Entschlüsseln oder Signieren von Daten und einem öffentlichen Schlüssel, mit dem man verschlüsselt oder Signaturen prüft.

Erzeugung des öffentlichen und privaten Schlüssels
Der öffentliche Schlüssel (public key) ist ein Zahlenpaar (e, N) und der private Schlüssel (private key) ein Zahlenpaar (d, N). N ist bei beiden Schlüsseln gleich. N wird das RSA-Modul genannt, e ist der Verschlüsselungsexponent und d wird als Entschlüsselungsexponent bezeichnet.

Erzeugung der Zahlen am Beispiel Alice und Bob:


  1. Alice wählt zwei verschiedene Primzahlen p und q. Diese sollen die gleiche Größenordnung haben, aber nicht zu nah beieinander liegen.
  2. Alice berechnet das RSA-Modul: N = p*q
  3. Zusätzlich die Eulersche φ-Funktion von N: φ(N) = (p-1)*(q-1)
  4. Alice wählt eine Zahl e, die zu φ(N) teilerfremd ist
  5. Alice berechnet den Entschlüsselungsexponenten d 


Verschlüsseln einer Nachricht:

Um eine Nachricht m zu verschlüsseln, verwendet der Absender (in unserem Fall Bob) die Formel
c = me (mod N)
und erhält so aus der Nachricht m den Geheimtext c. Die Zahl m muss dabei kleiner sein als der RSA-Modul N.

Entschlüsseln von Nachrichten:

Der Geheimtext c kann durch modulare Exponentiation wieder zum Klartext m entschlüsselt werden. Der Empfänger also Alice benutzt die Formel
M = cd (mod N)

mit dem nur ihm bekannten Wert d sowie N.



Beispiel:


Nun wird ein einfaches Bespiel gezeigt. Dabei wird die Zahl 17 von Bob verschlüsselt.

Als Erstes Alice wählt zwei Primzahlen z.B. 11 und 23 und berechnet das RSA-Modul N.
N = p*q = 11 *23 = 253

Zusätzlich rechnet Alice die Eulersche φ-Funktion von N aus.
φ(N) = (p-1)*(q-1) = (11-1)*(23-1)=10*22= 220

Alice wählt eine Zahl e, die zu φ(N) teilerfremd ist. Es ist eine zufällige Zahl.
z.B. e=81

Um eine Nachricht m zu verschlüsseln, verwendet der Absender, also Bob die Formel:
c = me (mod N) = 1781 mod 253 = 61

Das Ergebnis des Verschlüsselns der Zahl 17 ergibt in Bobs Fall 61. Alice muss nun den berechneten Entschlüsselungsexponenten d anwenden, um die verschlüsselten Zahl zu entschlüsseln. Dies geschieht mit der oben genannten Formel M = cd (mod N). Nun weiß Alice die von Bob gesendete geheime Zahl.




Wo wird dieses Kryptosystem eingesetzt?

 Anwendungsgebiete:

  • Internet- und Telefonie-Infrastruktur: X.509-Zertifikate
  • Übertragungs-Protokolle: IPSec, TLS, SSH, WASTE
  • E-Mail-Verschlüsselung: PGP, S/MIME
  • Authentifizierung französischer Telefonkarten
  • Kartenzahlung: EMV
  • RFID Chip auf dem deutschen Reisepass
  • Electronic Banking: HBCI


Wie steht es mit der Verschlüsselungsgeschwindigkeit gegenüber AES? Was wird gemacht, um die Geschwindigkeit zu erhöhen?

Verschlüsselungsgeschwindigkeit: 


RSA ist im Vergleich zu Verfahren wie 3DES und AES mindestens um den Faktor 1000 langsamer. In der Praxis wird RSA daher meist nur zum Austausch eines Schlüssels für die symmetrische Verschlüsselung benutzt. Für die Verschlüsselung der Daten werden dann symmetrische Verfahren eingesetzt. Damit sind die Vorteile beider Systeme vereint: einfacher Schlüsselaustausch und effiziente Verschlüsselung. Diese Verfahren nennt man Hybride Verfahren.


Quelle:
http://sourceblogging.de/einfuehrung-in-die-verschluesselung/


Wie lange müssen die Schlüssel sein, damit das Verfahren nach derzeitigem Wissen sicher ist?

Schlüssellängen:

Es gibt unterschiedliche Aussagen zum Sicherheitsniveau bestimmter Schlüssellängen. Eine Mindestlänge von 1976 Bit ist laut Bundesnetzagentur für RSA-basierte Signaturen bis 2020 geeignet. Empfohlen wird eine Länge von 2048 Bit.  

Quelle:

Samstag, 4. Oktober 2014

Asymmetrische Kryptosysteme

In der heutigen Aufgabe beschäftige ich mich mit den asymmetrischen Kryptosystemen. Diese Gruppe von Kryptosystemen unterscheidet sich von den symmetrischen Verfahren insofern, als dass zum Entschlüsseln einer anderer Schlüssel benötigt wird.

Funktion: 

Wie funktioniert genau das Senden einer verschlüsselten Nachricht von Alice an Bob mit einem asymmetrischen Kryptosystem?

Alice verschlüsselt ihre Nachricht mit dem öffentlichen Schlüssel (Public Key). Dieser Schlüssel ist jedem bekannt und öffentlich zugänglich. Dann sendet sie die verschlüsselte Nachricht zu Bob, der sie mit seinem privaten Schlüssel (Private Key) wieder entschlüsselt.

Wieviele Schlüssel sind notwendig? Wer hat welche und wer erzeugt sie?
Mit welchem Schlüssel wird verschlüsselt?

Es sind dabei zwei Schlüssel notwendig. Ein Schlüssel ist öffentlich und von der ganzen Welt bekannt. Der andere Schlüssel wird nur von einer Person privat verwendet und ist geheim. 

Wenn Alice eine geheime Nachricht sendet, wird sie mit dem Public Key verschlüsselt. Bob entschlüsselt die Nachricht dann mit seinem eigenem Private Key.




Warum werden nicht ausschließlich asymmetrische Verfahren eingesetzt?

Nachteile:

Trotz vieler Vorteile haben asymmetrische auch beachtliche Nachteile. So arbeiten die asymmetrischen Algorithmen sehr langsam, nämlich ca. 10 000 Mal langsamer als symmetrische Kryptosysteme. Sie benötigen eine hohe Rechenzeit.
Zudem werden große Schlüssellängen benötigt. 
Außerdem gibt es Probleme bei mehreren Empfänger einer verschlüsselten Nachricht, da jedes Mal die Nachricht extra verschlüsselt werden muss. Daher ist es ein erhöhter Aufwand.
Durch den für jeden zugänglichen Public Key entsteht auch ein Sicherheitsrisiko. Dies wird in der Man
in the Middle Attack ausgenutzt. Die Funktion dieser Attacke ist im nächsten Absatz genauer erläutert.

Was passiert bei einer "(wo)man in the middle attack", d.h. zwischen Alice und Bob ist Mallory dazwischengeschaltet?

Man-in-the-middle-attack/Mittelsmann-Angriff:

Bei dieser Attacke stellt sich eine Mittelsmann (Mallory) zwischen die Kommunikation zweier Personen (in diesem Fall Bob und Allice). Dabei täuscht er seinen eignen Public Key als den des eigentlichen Empfänger vor. Anschließend entschlüsselt er mit seinem eigenen Private Key und verschlüsselt die Nachricht schließlich mit dem eigentlichen Public Key des eigentlichen Empfängers und schickt die Nachricht weiter. Kommunikationspartner merken wahrscheinlich davon gar nicht, aber ihre Nachricht wurde erfolgreich gelesen.

Um diese Angriffe zu verhindern, muss gewährleistet sein, dass der erhaltene Public Key auch wirklich authentisch, also dem gewünschten Empfänger zugehörig ist. Dazu werden Zerifikationsstellen verwendet, mit denen man die Authenzität prüfen kann. Dort werden die Public Keys hinterlegt. 




Nennen Sie Vertreter von asymmetrischen Verfahren und vergleichen Sie die Schlüssellängen mit symmetrischen Verfahren.

Vetreter der asymmetrischen Kryptosysteme:
  •    Elliptische-Kurven-Verfahren - Basis sind elliptische Kurven / Ähnelt Elgamal
  •   Merkle/Hellman - basierend auf dem Tornister-Problem 
  •   LUC - ähnlich RSA, Bildung der Lucas-Folge
  •   MNLN - wie RSA, aber das Polynom xe durch »Dickson-Polynom« ersetzt
  •   Digital Signature Algorithm (DSA) - basiert auf dem Diskreten Logarithmus- Problem und benutzt die Kryptosysteme von Schnorr und ElGamal


Quelle: http://www.kryptowissen.de/asymmetrische-verschluesselung.html
http://www.philipphauer.de/info/info/asymmetrische-verschluesselung/#nachteile_asymmetrisch
            https://www.youtube.com/watch?v=I2eQYXzCPzU


Montag, 29. September 2014

Symmetrische Verschlüsselverfahren


Im heutigen Post beschäftige ich mich mit den symmetrischen Verschlüsselungsverfahren. Ein typisches Beispiel dafür wäre das Caeser Cipher, welches in der letzten Stunde behandelt wurde. Wie nun bekannt ist, gehört es zur Gruppe der symmetreischen Kryptosysteme, dass heißt Empfänger und Sender brauchen für die Zusammenarbeit den selben Schlüssel.

Nennen Sie die wichtigsten Vertreter der symmetrischen Kryptosysteme.

Wichtigste Vertreter

  • AES (Advanced Encryption Standard) oder Rijndael: ist ein US-amerikanischer Verschlüsselungsstandard und Nachfolger von DES. Ein von Joan Daemen und Vincent Rijmen entwickeltes Blockverschlüsselungsverfahren.
  • DES (Data Encryption Standard) oder Lucifer: war bis zum Oktober 2000 der Verschlüsselungstandard der USA. Das Verfahren Lucifer wurde 1974 von IBM entwickelt. Für Privatanwender heißt die Version Data Encryption Algorithm (DEA).
  • Triple-DES: ist eine Weiterentwicklung des DES-Verfahren. Es ist zwar dreimal langsamer, aber um Größenordnungen sicherer. 
  • IDEA (International Data Encryption Algorithm): das Blockverschlüsselungsverfahren wurde 1990 an der ETH Zürich entwickelt. Ascom Systec besitzt das Software Patent für das Verfahren; Anwendung in PGP.
  • Blowfish: ein 1993 von Bruce Schneider entwickeltes Blockverschlüsselungsverfahren. Für dieses Verfahren gibt es kein Patent. 
  • QUISCI (Quick Stream Cipher): ist ein sehr schnelles Stromverschlüsselungsverfahren von Stefan Müller. Es wurde 2001 entwickelt und es gibt kein Patent.
  • Twofish: ein Blockverschlüsselungsverfahren von Counterpane Team. Es wir vor allem in Microsoft Windows eingesetzt.
  •  CAST-128, CAST-256: Ein unpatentiertes Blockverschlüsselungsverfahren von Carlisle M.Adams
  • RC2, RC4, RC5, RC6 ("Rivest Cipher"): mehrere Verschlüsselungsverfahren von Ronals L. Rivest.
  • Serpent: Ein unpatentiertes Blockverschlüsselungsverfahren von Ross Anderson, Eli Biham und Lars Knudsen.

Wie lange sind die Schlüssel bei AES?

AES (Advanced Encryption Standard)


Das National Institute of Standards and Technology (NIST) entwickelt in Zusammenarbeit mit Industrie-Unternehmen seit Jahren den Verschlüsselungsstandard Advanced Encryption Standard (AES). Die Entwickler sind Joan Daemen und Vincent Rijmen und daher wird er auch Rijndael-Algorithmus genannt. Diese symmetrische Verschlüsselung soll die DES-Verschlüsselung ablösen. Die AES-Verschlüsselung spezifiziert drei verschiedene Schlüssellängen mit 128, 192 und 256 Bit. Rijndael ist sehr sicher, denn erst nach mehr als 10 Jahren nach seiner Standardisierung wurde der erste theoretisch, praktisch aber nicht relevante Angriff gefunden. Der Algorithmus ist frei verfügbar und kann von jedem verwendet werden. Nur AES-192 und AES-256 sind in den USA für staatliche Dokumente mit höchster Geheimhaltungsstufe zugelassen. 

Skizzieren Sie grob die Funktionsweise von AES.

Arbeitsweise


Bei Rijndal handelt es sich um eine Substitutions-Permutations-Netzwerk enworfene Blockchiffre.Bei Rijndael können Blocklänge und Schlüssellänge unabhängig voneinander die Werte 128, 160, 192, 224 oder 256 Bits erhalten, während bei AES die Einschränkung der festgelegten Blockgröße von 128 Bit und der Schlüsselgröße von 128, 192 oder 256 Bit gilt. Zunächst wird jeder Block in eine zweidimensionale Tabelle mit vier Zeilen geschrieben. Deren Zellen sind ein Byte groß. Die Anzahl der Spalten variiert somit je nach Blockgröße von 4 (128 Bits) bis 8 (256 Bits). Jeder Block wird nun nacheinander bestimmten Transformationen unterzogen. Aber anstatt jeden Block einmal mit dem Schlüssel zu verschlüsseln, wendet Rijndael verschiedene Teile des erweiterten Originalschlüssels nacheinander auf den Klartext-Block an.Die Anzahl (r) dieser Runden variiert und ist von der Schlüssellänge (k) und der Blockgröße (b) abhängig. Bei AES hängt es also nur von der Schlüssellänge ab.


Zudem kommt eine sogenannte Subtituionsbox (S-Box verwendet. Sie ist meist als Array implementiert und gibt an, wie in jeder Runde jedes Byte eines Blocks durch einen anderen Wert zu ersetzen ist. Sie ist dazu da die Beziehung zwischen Klar- und Geheimtext zu verwischen. Die S-Box besteht aus 256 Bytes, die konstruiert werden, indem zunächst jedes Byte außer der Null, aufgefasst als Vertreter des endlichen Körpers, durch sein multiplikatives Inverses ersetzt wird. Die Konstruktion des S-Box unterliegt bestimmten Designkriterien.

Ablauf

  • Schlüsselexpansion
  • Vorrunde
    • AddRoundKey(Rundenschlüssel[0])
  • Verschlüsselungsrunden (r = 1 bis R-1)
    • SubBytes(): Am Anfang jeder Runde wird für jedes Byte ein Äquivalent in der S-Box gesucht.
    • ShiftRows(): Da der Block in einer zweidimensionalen Tabelle liegt werden hier die Zeilen um                               eine bestimmte Anzahl von Spalten nach links verschoben. Überlaufende Zellen                                werden von rechts fortgesetzt.
    • MixColumns():  Hier werden die Daten innerhalb der Spalten vermischt.
    • AddRoundKey(Rundenschlüssel[r]): In der Vorrunde und am Ende jeder         Verschlüsselungsrunde wird eine KeyAddition ausgeführt. Hier wird eine bitweise XOR-Verknüpfung zwischen dem Block und dem aktuellen Rundenschlüssel vorgenommen
  • Schlussrunde
    • SubBytes()
    • ShiftRows()
    • AddRoundKey(Rundenschlüssel[R])
(Die Schlussrunde zählt auch als Runde, also R = Anzahl Verschlüsselungsrunden + 1 Schlussrunde)


Wo wird AES eingesetzt?

Anwendung


AES wird u. a. vom Verschlüsselungsstandard IEEE 802.11i für Wireless LAN und seinem Wi-Fi-Äquivalent WPA2, bei IEEE802.16 m (WiMAX), sowie bei SSH und bei IPsec genutzt. Auch in der IP-Telefonie kommt AES sowohl in offenen Protokollen wie SRTP oder proprietären Systemen wie Skype zum Einsatz. Mac OS X benutzt AES als Standardverschlüsselungsmethode für Disk-Images, außerdem verwendet der Dienst FileVault AES. Ebenso verwendete die transparente Verschlüsselung EFS in Windows XP ab SP 1 diese Methode. Außerdem wird der Algorithmus zur Verschlüsselung diverser komprimierter Dateiarchive verwendet, z. B. bei 7-Zip und RAR. In PGP und GnuPG findet AES ebenfalls einen großen Anwendungsbereich.


Nennen Sie Angriffe auf AES.

Angriffe


Ein Angriff war Biclique-Angriff. Auf der Rump-Session der Konferenz CRYPTO im August 2011 fand der erste Angriff auf den vollen Algorithmus statt. Der Angriff ist bei den verschiedenen Schlüssellängen im Schnitt um den Faktor 4 schneller als ein vollständiges Durchsuchen des Schlüsselraumes. Damit zeigt er die prinzipielle Angreifbarkeit von AES, ist aber für die praktische Sicherheit nicht relevant. Bei dem Angriff wir der geheime Schlüssel von AES berechnet. 


Quelle: http://de.wikipedia.org/wiki/Advanced_Encryption_Standard#Arbeitsweise 
             http://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem
             https://www.youtube.com/watch?v=H2LlHOw_ANg
             http://www.itwissen.info/definition/lexikon/advanced-encryption-standard-AES-AES-Verschluesselung.html

Mittwoch, 17. September 2014

Ziele der Informationssicherheit


Der Zugriff auf Daten und Informationen sollte beschränkt und kontrolliert ablaufen. Dabei ist es wichtig, dass nur autorisierte Benutzer oder Programme auf diese Informationen zugreifen dürfen. Das Ziel der Informationssicherheit ist der Schutz von Daten vor beabsichtigten Angriffen. Diese umfassen die folgenden Punkte:
  • Identität
  • Vertraulichkeit
  • Integrität
  • Verfügbarkeit
  • Authentizität
  • Verbindlichkeit
  • Zurechenbarkeit
  • Anonymität

Verfügbarkeit


Damit ist gemeint, dass der Zugriff auf Daten nur für berechtigte Benutzer immer möglich ist. Mögliche Ursachen für Nichtverfügbarkeit der Daten können z.B. sein, dass ein Programm auf einem nicht läuft, der Server selbst nicht läuft, der Netzzugang nicht möglich ist oder keine Internetverbindung nicht gewährleistet ist.

Vertraulichkeit


Der Zugriff auf Informationen darf nur von berechtigten Personen erstattet werden. Die personenbezogenen Daten oder wichtige und geheime Daten für Unternehmen dürfen nicht in falsche Hände gelangen. Ursachen für den Verlust der Vertraulichkeit können z.B. weitergegebene oder schlechte Passwörter, fehlerhafte Zugriffsberechtigungen, Hackerangriffe, Virenbefall, unbedachte Antworten auf Phishing-Mails oder KeyLogger- sein.

Integrität


Dies bedeutet, dass die Daten unverfälscht sind. Dabei ist die Authentizität ein Teilbereich der Integrität. Einem anderen Benutzer ist es nicht möglich, die geschützten Daten unautorisiert und unbemerkt zu manipulieren.

Authentizität


Damit wird sichergestellt, dass die kommunizierenden Partner, auch wirklich die sind, die sie vorgeben zu sein. Der Benutzer ist also nach einer eindeutigen Identität und charakteristischen Eigenschaft überprüfbar.

Quelle: http://de.wikipedia.org/wiki/Informationssicherheit#Begriffsdefinitionen_zur_Thematik_IT-Sicherheit 
            https://www.uni-giessen.de/cms/fbz/svc/hrz/svc/sicherheit/itsec-ziele


Caesar Cipher


Die Caesar-Verschlüsselung ist ein einfaches symmetrisches Verschlüsselungsverfahren. Es ist eines der  ersten und einfachsten Verfahren. Damit können die Grundprinzipien der Kryptologie anschaulich dargestellt werden. Caesar Cipher gehört zur Gruppe der symmetrisches Kryptosysteme , d.h. der Sender und der Empfänger benötigen zur Zusammenarbeit denselben Schlüssel.


Bei diesem Kryptgraphieverfahren verschiebt man ein Zeichen eines geordneten Alphabets um eine bestimmte Anzahl zyklisch nach rechts. Die Anzahl der verschobenen Zeichen bildet den Schlüssel, der für die gesamte Verschlüsselung unverändert bleibt.



Verschlüsselungsbeispiel mit dem Schlüssel 9:


"Fischers Fritz fischt frische Fische

"Orblqnab Oarci orblqc oarblqn Orblqn"


Da das Verfahren sehr simpel ist, kann es leicht entziffert werden, wenn viele gleiche Buchstaben enthalten sind. Häufig vorkommende Buchstaben, wie das „E“ im Deutschen, können leicht erkannt werden. Dies stellt eine gravierende Angriffsmöglichkeit dar. Zudem beträgt die Größe des Schlüsselraums nur 25, was einer „Schlüssellange“ von nicht einmal 5 Bit entspricht. Damit liegt nach dem Ausprobieren spätestens nach dem 25. Versuch der Klartext vor.



Dienstag, 16. September 2014

Seit den NSA-Enthüllungen von Edward Snowden sieht die IT-Welt ein wenig anders aus als früher und es hat sich das Bewußtsein bezüglich Daten geändert.
In diesem Blog geht es daher um die Informationssicherheit.