security with noisy data - organisation - tu braunschweig · the hash of the password is usually...

37
Security with noisy Data Organisation Stephan Sigg March 30, 2011

Upload: others

Post on 03-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Security with noisy DataOrganisation

Stephan Sigg

March 30, 2011

Page 2: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Outline

Introduction

Lectures and Excercises

Conclusion

Stephan Sigg | Security with noisy Data | 2

Page 3: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Overview and Structure

Classification methods

Feature extraction

Features from audioFeatures from RF

Fuzzy Commitment

Fuzzy Extractors

Authentication with noisy data

Error correcting codes

Entropy

Physically unclonable functions

Stephan Sigg | Security with noisy Data | 3

Page 4: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Introduction

Nowadays, security is an important integral part of manyapplications and services

Passwords to authenticate at devices and servicesEncryption mechanisms to secure communication links, speech anddata

In order to increase security measures and to improve usability,biometric information is also utilised

FingerprintsIris scan

Stephan Sigg | Security with noisy Data | 4

Page 5: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Introduction

We distinguish between

Symmetric encryption techniquesAsymmetric encryption techniques

Stephan Sigg | Security with noisy Data | 5

Page 6: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Symmetric encryption

Symmetric encryption is a very old concept.

All participants in the communication have to know the commonsecret

A symmetric encryption function is applied

The encryption function is also utilised for decryption

Not well suited for distributed systems that communicate over aninsecure channel

Well suited for password creation

Unlikely that the secret is stolen during password creation

Stephan Sigg | Security with noisy Data | 6

Page 7: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Symmetric encryption

write read

message

encryptionkey k decryp

tion

key k

plaintext ciphertext

securechannel

insecurechannel

Encryptionalgorithm E

Decryptionalgorithm Dc=E(k)(m) m=D(k)(m)

key exchange

plaintext message

attacker

Stephan Sigg | Security with noisy Data | 7

Page 8: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Symmetric encryption

Typically, the password is not stored as plain text

Often, the hash of the password is stored

A one-way hash function is utilised

The hash function introduces a second layer of securityAn attacker that would gain access to the hash stored by the systemcan still not obtain the password easily

Stephan Sigg | Security with noisy Data | 8

Page 9: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Symmetric encryption

A hash function maps a large amountof data into a small datum

Usually a single integer

May serve as an index to an array

0000000100100011010001010110011110001001101010111100110111101111

000001010011100101110111

Stephan Sigg | Security with noisy Data | 9

Page 10: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Symmetric encryption

Example

Unix or Linux systems

The hash of the password is usually stored to /etc/passwd

When a user picks a password, it is encoded with a randomlygenerated value called the salt

This means that any particular password could be stored in 4096different ways

The salt value is then stored with the encoded password

Stephan Sigg | Security with noisy Data | 10

Page 11: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Symmetric encryption

Example

Unix or Linux systems

When a user logs in and supplies a password, the salt is firstretrieved from the stored encoded password.

Then the supplied password is encoded with the salt value,

and then compared with the encoded password.

If there is a match, then the user is authenticated.

Stephan Sigg | Security with noisy Data | 11

Page 12: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Symmetric encryption

Example

Unix or Linux systems

Computationally difficult to take a randomly encoded password andrecover the original password.

On a system with multiple users, at least some passwords arecommon words (or simple variations of common words).

Encrypt a dictionary of words and common passwords using allpossible 4096 salt values and compare the encoded passwords in/etc/passwd file with this database (dictionary attack).One of the most common methods for gaining or expandingunauthorized access to a system.

Stephan Sigg | Security with noisy Data | 12

Page 13: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Symmetric encryption

Example

Unix or Linux systems

/etc/passwd contains user and group ID’s for many programs

Therefore, it must remain world readable.

Stephan Sigg | Security with noisy Data | 13

Page 14: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Symmetric encryption

Example

Unix or Linux systems

This problem can be solved by using the shadow suite

Relocates passwords to another file (e.g. /etc/shadow)/etc/shadow cannot be read by just anyoneOnly root has read/write access to /etc/shadow

Programs that only need to verify passwords can either be run suidroot or a group shadow can be utilied that is allowed read onlyaccess to the /etc/shadow.

Stephan Sigg | Security with noisy Data | 14

Page 15: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Asymmetric encryption

public key

write read

message

encryptionkey (public)

decryp

tion

key (p

rivate

)

plaintext ciphertext

access public key

insecurechannel

Encryptionalgorithm E

Decryptionalgorithm Dc=E(k)(m) m=D(k)(m)

plaintext message

attacker

Stephan Sigg | Security with noisy Data | 15

Page 16: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Asymmetric encryption

Example

RSA key generation

1 Select two large random prime numbers p and q

2 Compute n = p · q3 Compute θ(n) = (p − 1) · (q − 1)

4 Select small odd integer e that is relatively prime to θ(n)

Stephan Sigg | Security with noisy Data | 16

Page 17: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Asymmetric encryption

Example

RSA key generation

5 Compute d as the multiplicative inverse of e mod θ(n)

6 Publish P = (e, n) as the RSA public key

7 Keep the secret pair S = (d , n) as the RSA secret key

Stephan Sigg | Security with noisy Data | 17

Page 18: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Asymmetric encryption

Example

RSA key generation8 Encrypt a message M

C = Me mod n

9 Decrypt a message C

M = C d mod n

Stephan Sigg | Security with noisy Data | 18

Page 19: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Asymmetric encryption

RSA key generation – example

Select two prime numbers p and q

p = 3; q = 11

Compute n = p · qn = 33

Compute θ(n) = (p − 1) · (q − 1)

θ(n) = 20

Stephan Sigg | Security with noisy Data | 19

Page 20: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Asymmetric encryption

RSA key generation – examplep = 3; q = 11; n = 33; θ(n) = 20

Select a small odd integer e that is relatively prime to θ(n)

e = 3

Compute d as the multiplicative inverse of e mod θ(n)

d = 7Test: 3 · 7 mod 20 = 21 mod 20 = 1

Stephan Sigg | Security with noisy Data | 20

Page 21: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Asymmetric encryption

RSA key generation – examplep = 3; q = 11; n = 33; θ(n) = 20; e = 3; d = 7

Publish P = (e, n) as the public key

Key pair: (3, 33)

Keep S = (d , n) as the RSA secret key

Secret key pair: (7, 33)

Stephan Sigg | Security with noisy Data | 21

Page 22: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Asymmetric encryption

RSA key generation – examplep = 3; q = 11; n = 33; θ(n) = 20; e = 3; d = 7P = (3, 33)S = (7, 33)

Encrypt the message ’3’:

C = Me mod nC = 33 mod 33 = 27 mod 33 = 27

Stephan Sigg | Security with noisy Data | 22

Page 23: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Asymmetric encryption

RSA key generation – examplep = 3; q = 11; n = 33; θ(n) = 20; e = 3; d = 7P = (3, 33)S = (7, 33)

Decrypt the message C = 27:

M = C d mod n

M = 277 mod 33

= 10460353203 mod 33

= 3

Stephan Sigg | Security with noisy Data | 23

Page 24: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Introduction

For the use of biometric information, we can not use the sameconcepts for the maintenance of the secret

It turns out that for biometric information nowadays the originalsample is often stored on the deviceHowever, concepts for security with noisy data have been developed

Stephan Sigg | Security with noisy Data | 24

Page 25: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Using biometric features for authentication

Increasingly, biometric features are utilised for authentication

FingerprintIris scan

In a similar manner, electronic devices can be identified

e.g. with small fluctuations in their current consumptionor with electromagnetic radiation pattern

Stephan Sigg | Security with noisy Data | 25

Page 26: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Using biometric features for authentication

When these patterns are utilised for authentication or encryption,the fingerprint has to be stored somehow on the device

Typically, authentication mechanisms with such features have to betolerant for noise end errors in the feature

Errors in the scanned fingerprintInaccurate scanning hardwareDiffering environmental circumstances

Stephan Sigg | Security with noisy Data | 26

Page 27: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Using biometric features for authentication

Therefore, it is not possible to only store the hash value of theoriginally sampled feature

When the feature is noisy, the hash function will produce a differinghash value at each application

It is therefore required that the original feature is somehow storedon the system

Stephan Sigg | Security with noisy Data | 27

Page 28: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Using biometric features for authentication

Fuzzy cryptography

It is possible to utilise error correcting codes to account for errors inan input sequence

The general idea is to utilise a function that maps from a featurespace to another, smaller key space

possible messages Xpossible codewords C

x c ′

DecodingEncoding

cC

Stephan Sigg | Security with noisy Data | 28

Page 29: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Introduction

We find noisy data in many typical application fields

Wireless sensor networksMobile communicationPUFsBiometric data

Stephan Sigg | Security with noisy Data | 29

Page 30: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Overview and Structure

Classification methods

Feature extraction

Features from audioFeatures from RF

Fuzzy Commitment

Fuzzy Extractors

Authentication with noisy data

Error correcting codes

Entropy

Physically unclonable functions

Stephan Sigg | Security with noisy Data | 30

Page 31: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Outline

Introduction

Lectures and Excercises

Conclusion

Stephan Sigg | Security with noisy Data | 31

Page 32: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Objectives

Acquire detailed knowledge on methods for secure communicationbased on noisy input data

General principleAlgorithms and implementationVarious input data sources

Practical experience of the lecture topics in hands-on projects

Stephan Sigg | Security with noisy Data | 32

Page 33: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Requirements and lecture material

Requirements to successfully complete the lecture :

InterestAbility to work self-employed but in teamsAsk !!! when you do not understand something

In the lectureIn the exerciseVia Email

Material :

http://www.ibr.cs.tu-bs.de/courses/ss11/noisy/

Lecture slidesAdditional information

Stephan Sigg | Security with noisy Data | 33

Page 34: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Organisation

Lecture : Tuesday, 13:15 - 14:45

Exercises : Tuesday, 15:00 - 16:30

Every two weeksFirst exercise on April, 12th, 2011

Oral examination : 29.08.2011 - 02.09.2011

August2011

Stephan Sigg | Security with noisy Data | 34

Page 35: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Outline

Introduction

Lectures and Excercises

Conclusion

Stephan Sigg | Security with noisy Data | 35

Page 36: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Questions?

Stephan [email protected]

Stephan Sigg | Security with noisy Data | 36

Page 37: Security with noisy Data - Organisation - TU Braunschweig · The hash of the password is usually stored to /etc/passwd When a user picks a password, it is encoded with a randomly

Introduction Lectures and Excercises Conclusion

Literature

P. Tulys, B. Skoric, T. Kevenaar, Security with Noisy Data – Onprivate biometrics, secure key storage and anti-counterfeiting,Springer, 2007.

. .

Stephan Sigg | Security with noisy Data | 37