Modul 1 Basics in Cryptography

Transcrição

Modul 1 Basics in Cryptography
Hochschule
Bonn-Rhein-Sieg
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Modul 1
Basics in
Cryptography
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 1
Hochschule
Bonn-Rhein-Sieg
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Objectives of Cryptography
Privacy:
Assure confidentiality of information
Integrity:
Assure retention of information, i.e. no unauthorized modification
Authentication:
Identify for certain who is communicating with you resp. verify the origin
Accountability:
Assure identification who did what and when
No-repudiation:
The ability to provide proof of the origin or delivery of data
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 2
Hochschule
Bonn-Rhein-Sieg
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
One Time Pad
Random Numbers + linking by XOR
pros: provable safety
cons: Key exchange, there are no random numbers
Application case: TAN-method in the context of Home banking
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 3
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Hochschule
Bonn-Rhein-Sieg
Symmetric Cryptography
Alice
smart card
K
Bob
Bob and Alice are using
the same key K
smart card
K
----->
symmetric cryptography
INFO
encrypted
encrypted
INFO
INFO
Internet
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 4
INFO
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Hochschule
Bonn-Rhein-Sieg
Symmetric block encryption - symmetric cryptography
K
K
cyphertext
plaintext
plaintext
Let K be a Key and enc and dec a encryption function
such that
dec = enc-1
then
plaintext = dec( K, enc (K, plaintext ))
key space (set of all keys) has 2?64 ! elements
(this implies a key length up to log 2 (2 64?!) ≅ 10 21 bit)
there are approximately infinite methods to construct
a symmetric block encryption algorithm
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 5
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Hochschule
Bonn-Rhein-Sieg
The symmetric block encryption algorithm DES
8 Byte Key
8 Byte block
cipher text
8 byte block
plaintext
Currently DES is the most important symmetric block encryption algorithm.
To be honest: only 56 bit of the DES 8 Byte key is used.
A saver variant of DES is Triple-DES (112 bit key).
In the future the DES algorithm will be substituted by the recent AES
(Advanced Encryption Standard) algorithm.
DES is a very fast algorithm and it can easily be hardware-implemented in a
smart card (crypto processor unit)
Other block encryption algorithms:
IDEA (used by PGP, 128 key length), Blowfish, Twofish, RC2, RC5, RC6 ….
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 6
Hochschule
Bonn-Rhein-Sieg
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
DES and Triple-DES
DES key
k = (k1 ,... , k56 ) ∈ {0,1}56
DES encryption
E 1k : {0,1}64 → {0,1}64
DES decryption
D1 k : {0,1}64 → {0,1}64
formula
E 1 ( k1 ,... ,k56 ) = D 1 ( k56 ,... ,k1 )
Triple DES encryption
E 3k := E1kl o D1kr o E1kl
k = (kl , kr )
Triple DES decryption
D3k := D1kl o E1kr o D1kl
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 7
Hochschule
Bonn-Rhein-Sieg
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
AES (Advanced Encryption Standard)
in October 2000, the NIST (National Institute of Standards and Technology)
announced the approval of a new secret key cipher standard chosen among
15 candidates
block and key length of 128, 192 or 256
Very high encryption speed (200 MBit/sec using a 1GB-PC)
Very efficiently to implement (even on a 8-Bit smart card (math. calculation is
based on the Galois field (
8 bit numbers).
Universally applicable: One way hash, MAC, pseudo random number
generator
AES can also be used by smart cards
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 8
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Hochschule
Bonn-Rhein-Sieg
Operating Mode Electronic Code Book (ECB)
blockA (8 Byte)
s-Key
blockB (8 Byte)
s-Key
blockA' (8 Byte)
blockB' (8 Byte)
blockC (8 Byte)
s-Key
blockC' (8 Byte)
very simple
It is not very safe:
If block A equals block B then also the cipher blocks A' and B' are equal.
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 9
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Hochschule
Bonn-Rhein-Sieg
Operating Mode Cipher Block Chain (CBC) and Hashing
block (8 Byte)
block (8 Byte)
block (8 Byte)
Data
init-Vektor
(8 Byte)
s-Key
s-Key
Hash
s-Key
block (8 Byte)
block (8 Byte)
block (8 Byte)
trunc
XOR
CCS (4 B.)
Criptographic
Checksum
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 10
CCS
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Hochschule
Bonn-Rhein-Sieg
cipher block chaining (used by the BasicCard)
P = ( B1 , ... , Bl −1 , Bl )
(l ≥ 8)
blocking + padding
P' = ( P1 , ... , Pn −1 , Pn )
l + m = 8n
C i = E k (Ci −1 xor Pi )
(i = 1... n)
Pn
with
m
bytes
m
00 bytes
C0
truncate C n −1 by
init.vektor
(C1 , ... , C 'n −1 , Cn )
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
concatenate
Folie 11
C = ( B'1 , ... , B'l −1 , B'l )
Hochschule
Bonn-Rhein-Sieg
Public Key Cryptography
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Hochschule
Bonn-Rhein-Sieg
certificate
Public-Key-Kryptographie
A
assigned
to Alice
seal
smart card
A
A
Alice has two keys
• a secret key
(e.g. on a smart card)
• a public key
(not secret, can be stored
in a public directory or on
her homepage
Alice
To encrypt and decrypt information, you need both keys
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 13
Hochschule
Bonn-Rhein-Sieg
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Certificate
• Tuple (owner, public key,
SignatureCA(owner, public key))
• Additional data: Angabe des
eingesetzten Signaturverfahrens,
Beginn und Ende der Gültigkeit,
Seriennummer, Attribute, Namen der
ausstellenden Certification Authority,
Einschränkungen der Nutzung des
Signaturschlüssels
• Time Stamp
=SignatureCA (hash value, time)
• Standard: X509v3
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 14
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Hochschule
Bonn-Rhein-Sieg
Public Key Cryptography - The Concept of Confidentiality
smart card
A
public keys
(to be used by everyone)
A
smart card
B
B
Alice
Bob
B
B
INFO
INFO
INFO
Internet
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 15
INFO
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Hochschule
Bonn-Rhein-Sieg
Public Key Cryptography - The Concept of Digital Signatures
smart card
A
public keys
(to be used by everyone)
A
smart card
B
B
Alice
Bob
A
INFO
A
INFO
INFO
Internet
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 16
INFO
Hochschule
Bonn-Rhein-Sieg
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Public Key Algorithms
RSA
based on prime numbers
typical key length: 1024 bit
Elliptic functions
based on elliptic functions and finite fields
typical key length: 160 bit
Pro and cons of public key cryptography:
+ allows sophisticated key management
+ very high safety
- slow algorithms
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 17
Hochschule
Bonn-Rhein-Sieg
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
RSA
Method
public key = (e,n)
private key = (d,n), where d ≡ e-1 mod φ(n) with φ(n) = (p-1) * (q-1)
encryption: plain text M (<n)
cipher text C = Me mod n
decryption: cipher text C
plain text M = Cd mod n
no patent (since autumn 2000)
Convention:
pk: public key, encryption key
sk: signature key, secret key, private key, decryption key
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 18
Hochschule
Bonn-Rhein-Sieg
Hybrid Encryption
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Hochschule
Bonn-Rhein-Sieg
The Concept of Hybrid Encryption
Scenario: A (Alice) wants to encrypt a document INFO for B (Bob)
public key
of B
(arbitrary)
symmetric key
SK
SK
encrypted
INFO
INFO
06.10.2015 18:28:22
© M. Leischner
B
Sicherheit in Netzen
Folie 20
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Hochschule
Bonn-Rhein-Sieg
The Concept of Hybrid Decryption
Scenario: B (Bob) wants to read the document sent by A (Alice)
smart card
B
SK
symmetric key
SK
encrypted
INFO
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
INFO
Folie 21
Hochschule
Bonn-Rhein-Sieg
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
The Problem of Key Management
The problem of key management:
How to exchange the
common symmetric key
for hybrid encryption?
Two Solutions:
Solution 1: By sending an encrypted symmetric key
Solution 2: Using the Diffie-Hellman key exchange algorithm
--> next slide
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 22
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Hochschule
Bonn-Rhein-Sieg
Diffie-Hellman Key Exchange Algorithm
smart card
public keys
(to be used by everyone)
A
A
smart card
B
B
Alice
Bob
Diffie-Hellman
key exchange algorithm
this derived key is
often called
"a shared secret"
06.10.2015 18:28:22
© M. Leischner
SK
Sicherheit in Netzen
Diffie-Hellman
key exchange algorithm
These keys are equal !
Folie 23
SK
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Hochschule
Bonn-Rhein-Sieg
Standard Process for Hybrid Encryption (RSA / elliptic)
step 2:
step 1:
generate a
private and a
public key
step 3:
get the public
key of the
communicatio
n partner
Calculate
the shared
secret using
DiffieHellmann
PKI
Diffie-Hellmann
RSA / elliptic
step 4:
step 5:
Derive a
symmetric session
key from the
shared secret
use symmetric
encryption for
secure
communication
hash
sk1 PKI
pk1
DES / AES
pk2
sk2
man-inthe-middle
Dif.-Hell.
shared
secret
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Dif.-Hell.
==
shared
secret
Folie 24
Hochschule
Bonn-Rhein-Sieg
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
hash function (one way function)
plain text of arbitrary length is mapped to a hash value of fixed length
It is difficult to find any (x, y) with H(x) = H(y) (strong collision resistant)
Given x it is difficult to find a y such that H(x) = H(y) (weak collision
resistant)
MD5: 128 Bit hash value (used by PGP, not secure)
SHA-1: 160 Bit hash value (attacked 2005 , not secure)
SHA-2: set of hash functions (similar to SHA 1, secure)
SHA-3: set of hash functions (alternative, dissimilar to SHA 1/2)
RIPE-MD: 160 Bit hash value (is supposed to be very save)
Message Authentication Code (MAC) ist eine schlüsselabhängige EinwegHashfunktion ( Integrität + Authentizität der Nachricht), Realisierung durch
DES oder AES im CBC-Mode
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 25
Hochschule
Bonn-Rhein-Sieg
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
digital signature
Method:
Hash the document D , encrypt the hash value H using the secret key S
the signed document = (D, encS(H))
Standards for digital signetures:
DSA (Digital Signature Algorithm, diskreter Algorithmus, 1024-Bit Schlüssellänge,
NIST-Standard (National Institute of Standards and Technology)),
DSS (Digital Signature Standard, Nachfolger DSA, digitalen Beglaubigungsstandard
der US-Regierung), RSA (einfacher und beliebter)
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 26
Hochschule
Bonn-Rhein-Sieg
Prof. Dr. Martin Leischner
Netzwerksysteme und TK
Erzeugung von sicheren Zufallszahlen
Zufallszahlen werden zur Realisierung sicherer Protokolle benötigt
Die Erzeugung von echten Zufallszahlen ist schwierig und mit
algorithmischen Verfahren unmöglich:
John von Neumann:
Anyone who considers arithmetical methods of producing random digits is,
of course, in a state of sin.
jeder „Zufallszahlen“-Generator in einem Computer ist zwangsläufig
periodisch und damit nicht zufällig
Definition:
Ein Pseudozufallsbitgenerator ist ein deterministischer Algorithmus, der als
Eingabe eine echt zufällige Bitfolge (seed) erhält und daraus eine (längere)
Bitfolge erzeugt, die den Eindruck der Zufälligkeit erweckt.
Die Güte eines Pseudozufallsbitgenerator kann mathematisch gefasst
werden
kryptographisch sicherer Pseudozufallsbitgenerator
06.10.2015 18:28:22
© M. Leischner
Sicherheit in Netzen
Folie 27