54
1 PalGov © 2011 فلسطينيةلكترونية الديمية الحكومة ا أكاThe Palestinian eGovernment Academy www.egovacademy.ps Security Tutorial Session 3

E gov security_tut_session_3

Embed Size (px)

Citation preview

Page 1: E gov security_tut_session_3

1PalGov © 2011

أكاديمية الحكومة اإللكترونية الفلسطينية

The Palestinian eGovernment Academy

www.egovacademy.ps

Security Tutorial

Session 3

Page 2: E gov security_tut_session_3

2PalGov © 2011

About

This tutorial is part of the PalGov project, funded by the TEMPUS IV program of the

Commission of the European Communities, grant agreement 511159-TEMPUS-1-

2010-1-PS-TEMPUS-JPHES. The project website: www.egovacademy.ps

University of Trento, Italy

University of Namur, Belgium

Vrije Universiteit Brussel, Belgium

TrueTrust, UK

Birzeit University, Palestine

(Coordinator )

Palestine Polytechnic University, Palestine

Palestine Technical University, PalestineUniversité de Savoie, France

Ministry of Local Government, Palestine

Ministry of Telecom and IT, Palestine

Ministry of Interior, Palestine

Project Consortium:

Coordinator:

Dr. Mustafa Jarrar

Birzeit University, P.O.Box 14- Birzeit, Palestine

Telfax:+972 2 2982935 [email protected]

Page 3: E gov security_tut_session_3

3PalGov © 2011

© Copyright Notes

Everyone is encouraged to use this material, or part of it, but should properly

cite the project (logo and website), and the author of that part.

No part of this tutorial may be reproduced or modified in any form or by any

means, without prior written permission from the project, who have the full

copyrights on the material.

Attribution-NonCommercial-ShareAlike

CC-BY-NC-SA

This license lets others remix, tweak, and build upon your work non-

commercially, as long as they credit you and license their new creations

under the identical terms.

Page 4: E gov security_tut_session_3

4PalGov © 2011

Tutorial 5:

Information Security

Session 3: Authentication

Session 3 Outline:

• Session 3 ILO’s.

• Authentication (symmetric and

asymmetric)

• One time password)

• Introduction to LDAP

Page 5: E gov security_tut_session_3

5PalGov © 2011

Tutorial 5:

Session 3: Authentication

This session will contribute to the following

Tutorial 5 ILOs:• A: Knowledge and Understanding

• a2: Define security standards and policies.

• B: Intellectual Skills• b3: Design end-to-end secure and available systems.

• b5: Design user authentication and authorization services.

• C: General and Transferable Skills• d2: Systems configurations.

• d3: Analysis and identification skills.

Page 6: E gov security_tut_session_3

6PalGov © 2011

Tutorial 5:

Information Security

Session 3: Authentication

Session 3 Outline:

• Session 3 ILO’s.

• Authentication (Symmetric and

Asymmetric and 1 Time

Password)

• Introduction to LDAP

Page 7: E gov security_tut_session_3

7PalGov © 2011

Authentication (Symmetric, Asymmetric and OTP)

• Fundamental security block

– Forms basis of access control & user

accountability

• Is the process of verifying an identity.

• Has two steps:

– Identification

– Verification

Page 8: E gov security_tut_session_3

8PalGov © 2011

Means of User Authentication

• Four means of authenticating user's identity

– Based on something the individual • knows

• possesses

• is (static biometrics)

• does (dynamic biometrics)

– All can provide user authentication (one or multifactor)

Page 9: E gov security_tut_session_3

9PalGov © 2011

Password Authentication

• Widely used user authentication method

– User provides name/login and password

– System compares password with that saved for

specified login

• Authenticates ID of user logging and

– that the user is authorized to access system

– Determines the user’s privileges

– Is used in discretionary access control

• The password file is a hashed file.

Page 10: E gov security_tut_session_3

10PalGov © 2011

Password Vulnerabilities

• Password Attacks and Guessing

– Exploiting user mistakes

– Specific account attack

– Offline dictionary attack

– Workstation hijacking

– Multiple password use

– Password guessing against single user

– Monitoring

– Other attacks…

Page 11: E gov security_tut_session_3

11PalGov © 2011

Countermeasures / Policies and Training

• Password policies

– Length, Character set, Period of use, Frequency of re-use

• Login policies

– Timeout period, Session period, Lockout policy (attempts, period, re-instatement)

• Countermeasures against different vulnerabilities: • Prevent unauthorized access to the password file,

• Intrusion detection measures to identify a compromise,

• Rapid re-issuance of passwords should the password file be compromised;

• Account lockout mechanism.

Page 12: E gov security_tut_session_3

12PalGov © 2011

Use of Hashed Passwords

Page 13: E gov security_tut_session_3

13PalGov © 2011

UNIX Implementation

• Original scheme

– 8 character password form 56-bit key

– 12-bit salt used to modify DES encryption into a one-way hash function

– 0 value repeatedly encrypted 25 times

– output translated to 11 character sequence

– The file is called the shadow file.

Page 14: E gov security_tut_session_3

14PalGov © 2011

Improved Implementations

• Have other, stronger, hash/salt variants

• Many systems now use MD5

– with 48-bit salt

– password length is unlimited

– is hashed with 1000 times inner loop

– produces 128-bit hash

Page 15: E gov security_tut_session_3

15PalGov © 2011

Password Cracking

• Dictionary attacks

– try each word then obvious variants in large dictionary

against hash in password file

• Rainbow table attacks

– precompute tables of hash values for all salts

– a mammoth table of hash values

– e.g. 1.4GB table cracks 99.9% of alphanumeric Windows

passwords in 13.8 secs

– not feasible if larger salt values used

• The “salt” is useful for remote attackers, but useless if the

attacker can get the shadow file. This is because the salt is not

encrypted.

Page 16: E gov security_tut_session_3

16PalGov © 2011

Password Choices Policies

• users may pick short passwords– e.g. 3% were 3 chars or less, easily guessed

– system can reject choices that are too short

• users may pick guessable passwords– so crackers use lists of likely passwords

– e.g. one study of 14000 encrypted passwords guessed nearly 1/4 of them

– would take about 1 hour on fastest systems to compute all variants, and only need 1 break!

– Recent review by SplashData in 2011 showed two most common passwords on the Internet are:

• password

• 123456

Page 17: E gov security_tut_session_3

17PalGov © 2011

Token Authentication

• Object user possesses to authenticate,.

– Embossed card (with engraved characters)

– Magnetic stripe card ( like ATM cards)

– Memory card (like phone cards)

– Smartcard (advanced cards)

Page 18: E gov security_tut_session_3

18PalGov © 2011

Memory Card

• Store but do not process data

• Magnetic stripe card, e.g. bank card

• Electronic memory card

• Used alone for physical access

• Drawbacks of memory cards include:

– user dissatisfaction

– need special reader

– loss of token issues

Page 19: E gov security_tut_session_3

19PalGov © 2011

Smartcard

• like Credit-card issued by

Banks

• Has own processor, memory,

I/O ports

– wired or wireless access by

reader

– may have crypto co-processor

– ROM, EEPROM, RAM memory

• Executes protocol to

authenticate with

reader/computer

• Also may have USB dongles

Page 20: E gov security_tut_session_3

20PalGov © 2011

Remote User Authentication

• Very Important for e- gov applications:

– Protects against a number of attacks

– Authentication over network more complex• problems of eavesdropping, replay

– Better to use challenge-response• user sends identity

• host responds with random number

• user computes f(r,h(P)) and sends the result back

• host compares value from user with own computed value, if match user authenticated

Page 21: E gov security_tut_session_3

21PalGov © 2011

Security Issues with Authentication

• Problems with Client attacks

• Host/Server attacks

• Eavesdropping while communicating

• Replay attacks

• Denial-of-service attacks

Page 22: E gov security_tut_session_3

22PalGov © 2011

Practical Application (ATM Machines)

• An ATM Machine are programmed with

a Terminal Identification Number (aka

"TID").

• The ATM connects to the ATM

networks.

• After the bank or processing network

approves the transaction the ATM

receives the authorization and

dispenses the cash requested.

Page 23: E gov security_tut_session_3

23PalGov © 2011

Distributed Systems and Password

Authentication

• How can I gain access to multiple computer systems if password based authentication is used?

Multiple passwords, one for each system

Use same password in each system

Single sign-on application that stores the passwords for each system and has one for itself

Single sign-on where password is stored in just one system and other systems trust this one to perform the authentication properly (e.g. Microsoft Passport, Shibboleth)

Page 24: E gov security_tut_session_3

24PalGov © 2011

The Multiple Passwords Problem

• I have over 50 passwords to remember, for my Internet accounts such as: google, gmail, birzeit, amazon,

PPU, yahoo, palgov, arab bank etc.

• We are working towards Single Sign On (SSO) schemes for the e-gov applications

Page 25: E gov security_tut_session_3

25PalGov © 2011

The Mutual Authentication Problem

• How can two people authenticate each other using passwords?

• Its OK if talking to the correct person, since he already knows my password and I know his, but what if it is not the correct person? – Then give the impersonator my password,

– too late to take any action.

• You need “zero knowledge password proof” – One can compare secrets without giving them away.

– Needham-Schroeder and Kerberos are examples of such a scheme.

Page 26: E gov security_tut_session_3

26PalGov © 2011

Kerberos

ticket = (Username+validity+KeyAS)EncTG Server

Page 27: E gov security_tut_session_3

27PalGov © 2011

User-AS-TGS Processing

• User sends a request to the Kerberos authentication server

(enclosing its name and a random number). • AS returns to the user the random

number plus a one-off session key to be used for encrypting subsequent messages with the TG server.

Page 28: E gov security_tut_session_3

28PalGov © 2011

User-AS-TGS Processing

• The random number and session key

are symmetrically encrypted by the

Authentication Server using the user's

hashed password as the secret key. • The user decrypt this message in

order to obtain the session key, and the user can only do this if he/she knows their own password.

Page 29: E gov security_tut_session_3

29PalGov © 2011

Kerberos Key Server (TGS)

ticket2 = (Username+validity+KeyAB)Enc

KeyApp B

Page 30: E gov security_tut_session_3

30PalGov © 2011

User-TGS processing

•The AS encrypts the session key into a ticket

using the symmetric key of the TG server,

•The ticket is sent to the user (contains the

name of the user, the validity time of the

ticket and the session key).

•The user passes the ticket to the TG server.

•The TG server can decrypt the ticket, to get

the session key and the user’s name, and

with this can decrypt the user’s message.

Page 31: E gov security_tut_session_3

31PalGov © 2011

User-TGS processing

•The TG server then generates a new session

key to be used by the user and the application.

• It returns this new session key to the user,

encrypted using the old session key.

•It also give the user a ticket for granting

access to the chosen application, this ticket

containing the name of the user and the new

session key for talking to the application,

encrypted with the secret key of the

application.

Page 32: E gov security_tut_session_3

32PalGov © 2011

TGS-User-Application processing

• A sends "Key for Application B" to TGS, enciphered using Key AS plus ticket from authentication server containing key AS

• TGS generates Key AB (session key for user and application B)

• TGS sends "Key AB " to A, enciphered using Key AS and a ticket2 for B

• A sends message to B, enciphered using Key AB, plus ticket2

Page 33: E gov security_tut_session_3

33PalGov © 2011

Kerberos Disadvantages

• Authentication server and TGS are single points of failure.

• Servers and application hosts must be time synchronised

• Not originally scalable. – Users could only login to their own realms

• Kerberos only provides authentication but not authorizations

• Does not prevent attacks– dictionary

Page 34: E gov security_tut_session_3

34PalGov © 2011

One-time passwords-Hardware

•An increasingly

common

authentication method

is the use of one-time

password cards.

These contain a chip

capable of making

cryptographic

calculations. •challenge response

mechanism

•synchronised clocks.

Page 35: E gov security_tut_session_3

35PalGov © 2011

Challenge Response OTP

•The user logs into the remote server across the internet (usually

via a firewall), and the server passes the user a challenge, usually

in the form of a numeric string.

•The user responds to the challenge with a one-time password

that is computed from the string by his card (hardware/software)

according to a pre-defined encryption algorithm that is also known

to the remote server.

• One such system (Securenet from digital pathways) relies on the

user having a one-time password card the size of a credit card

that is capable of computing the passwords.

•The card has a digital display, and requires a pin number

/password to be entered before it can be used. Thus it is two

factor authentication, since the user must know the PIN and

possess the card.

Page 36: E gov security_tut_session_3

36PalGov © 2011

Clock Synchronised OTP

Both the card and the server compute a new password

every 60 seconds, according to a pre-defined encryption

algorithm which uses the date and time, and a shared

secret. (e.g. SecureID from RSA Security),

This eliminates the need for a challenge string.

With the secureid system, the user must transfer a PIN

number plus the computed password, so that if the card

is stolen it cannot be used by anyone else. This

mechanism is two factor authentication, as it is based on

something I possess (the card) and something I know

(the PIN).

Early versions of secureid used to fail as the clocks in

the card and server became out of sync.

Page 37: E gov security_tut_session_3

37PalGov © 2011

Example: Grid Cards

• A unique OTP card containing a grid of characters

• Select specific characters from card for authentication

• Site can return different characters from user’s card for mutual authentication

• Provides two factor authentication:– something you know (PW)

– something you posses (grid card)

Page 38: E gov security_tut_session_3

38PalGov © 2011

Mobile Phone Authentication

Page 39: E gov security_tut_session_3

39PalGov © 2011

Private Key Storage Techniques

• In an encrypted file, protected by a password

• In a smart card, protected by a password or PIN

• What About Mobile Phones (Discussion!!)

Page 40: E gov security_tut_session_3

40PalGov © 2011

Tutorial 5:

Information Security

Session 3: Authentication

Session 3 Outline:

• Session 3 ILO’s.

• Authentication (Symmetric and

Asymmetric and 1 Time Password)

• Introduction to LDAP

Page 41: E gov security_tut_session_3

41PalGov © 2011

Introduction to LDAP

• Directory Model

• X.500 Information Model

• LDAP Protocol

• Use of LDAP for Security

Page 42: E gov security_tut_session_3

42PalGov © 2011

The X.500 Model of the Directory

Page 43: E gov security_tut_session_3

43PalGov © 2011

Server to Client Referrals

Page 44: E gov security_tut_session_3

44PalGov © 2011

X.500/LDAP Naming

• Entry has a Distinguished Name

• SEQUENCE of Relative Distinguished

Name

• SET of {Attribute Type, Attribute Value}

comprised of

comprised of

Page 45: E gov security_tut_session_3

45PalGov © 2011

X.500/LDAP Naming

RDN of Entry X.500 Distinguished

Name of Entry

{null} {null)

{C=GB} {C=GB}

{O=Big PLC}{C=GB,

O=Big PLC}

{O=Sales+

L=Swindon}

{C=GB,O=Big PLC,OU=Sales+L=Swindon}

LDAP

Distinguished

{null)

Name of Entry

{C=GB}

{O=Big PLC,

C=GB}

{OU=Sales+L=Swindon,O=Big PLC,

C=GB}

Example Directory Information Tree

(DIT)

Page 46: E gov security_tut_session_3

46PalGov © 2011

Relative Distinguished Name (RDN)

• Each LDAP entry is assigned an RDN when

created.

• All children of an entry must have unique

RDNs

• Attribute value(s) forming the RDN are called

the distinguished attribute values

• Entries in different parts of the DIT can have

the same RDNs

Page 47: E gov security_tut_session_3

47PalGov © 2011

LDAP Protocol

• Connection oriented protocol on top of TCP/IP

• Subset of X.500 Directory Access Protocol

• Two versions - LDAPv2, LDAPv3– LDAPv2 published first – RFC 1777

– LDAPv3 has added referrals and other extensions to LDAPv2 – RFC 2251

– LDAPv2 has ceased to be standardized, but still is used prevalently

• Client issues a request, Server usually gives a response

• Each request elicits one response except Abandon (none), Unbind (none) and Search (multiple)

• Requests can be asynchronous or synchronous

Page 48: E gov security_tut_session_3

48PalGov © 2011

Basic LDAP Protocol Operations

• Most protocol messages are sent as ASCII

strings

– ModifyDN Request, ModifyDN Response

– Bind Request, Bind Response

– Unbind Request, Abandon Request

– Search Request, Search Response

– Compare Request, Compare Response

– Modify Request, Modify Response

– Add Request, Add Response

– Delete Request, Delete Response

Page 49: E gov security_tut_session_3

49PalGov © 2011

LDAPv3 Return Result

• Every response contains a Result component

• Result comprises 4 elements• Result Code - an integer signifying success or an error

code

• Matched DN - name of lowest DN matching a request

that has a naming error; or null

• Error Message - human readable error diagnostic

• Referral (optional)

Page 50: E gov security_tut_session_3

50PalGov © 2011

Using LDAP for Security

• Three main uses:

– To store user’s passwords in their entries for authentication. The login server contacts LDAP with a Compare operation asking if this entry contains this password. If true it lets the user login

– To store user’s attributes that can be used for authorisation

– To store Public Key Certificates and Attribute Certificates for strong security

Page 51: E gov security_tut_session_3

51PalGov © 2011

Public key certificates and CRLs

• Certificates can be held within X.500/LDAP directory entries as attributes of type

– userCertificate - holds a user’s certificates

– cACertificate - holds a CA’s self issued certificates

– crossCertificatePair - holds CA cross certificates

• CRLs can be held within X.500/LDAP directory entries as attributes of type

– certificateRevocationList - for user certificates

– authorityRevocationList - for CA certificates

– deltaRevocationList - for delta CRLs

Page 52: E gov security_tut_session_3

52PalGov © 2011

Bibliography

• Computer Security: Principles and Practice, by William Stallings and Lawrie Brown. Published by Pearson/Prentice Hall, © 2008. ISBN: 0-13-600424-5.

• Cryptography and Network Security, by Behrouz A. Forouzan. Mcgraw-Hill, ©2008. ISBN: 978-007-126361-0.

• Lecture Notes by David Chadwick 2011, True-Trust Ltd.

• (ebook) Wiley - Internet Security-Cryptographic Principles, Algorithms and Protocols, 2003 (Man Young Rhee)

Page 53: E gov security_tut_session_3

53PalGov © 2011

Summary

• In this session we discussed the

following:

– introduced user authentication

• using passwords

• using tokens

• using biometrics

– remote user authentication issues

• LDAP protocols and standards

Page 54: E gov security_tut_session_3

54PalGov © 2011

Thanks

Radwan Tahboub