You are on page 1of 30

Distributed Systems

Fundamentals Stream Session : Security


CSC 253 Gordon Blair, Franois Taani

Overview of the Session


Security vulnerabilities in distributed systems Security mechanisms

Encryption, digital signatures, authentication, authorisation, auditing

The role of cryptography

Symmetric cryptosystems
Asymmetric cryptosystems Symmetric and asymmetric solutions

Implementing the various security mechanisms

Security management

Focus on key distribution using the Needham Schroeder protocol From Needham Schroeder to Kerberos

Associated Reading: Tanenbaum and van Steen, chapter 8 (pp.413-491)


CSC253 / 2005-06 G. Blair/ F. Taiani 2

Introducing Security

A historical perspective
CSC253 / 2005-06 G. Blair/ F. Taiani 3

Security Vulnerabilities in Distributed Systems


1. Eavesdropping Aha, Ive just found your password

CSC253 / 2005-06

G. Blair/ F. Taiani

Security Vulnerabilities in Distributed Systems


2. Masquerading

I am amazon.com, honest, so please send me your credit card details

CSC253 / 2005-06

G. Blair/ F. Taiani

Security Vulnerabilities in Distributed Systems


3. Tampering Please credit my account with 1m, not 1

CSC253 / 2005-06

G. Blair/ F. Taiani

Security Vulnerabilities in Distributed Systems


4. Replaying Lets have that one again

CSC253 / 2005-06

G. Blair/ F. Taiani

Security Mechanisms
Encryption

To implement confidentiality of messages

Digital signatures

To prevent tampering

Authentication

To verify claimed identities of all parties

Cryptography

Authorisation

To define access rights of a given verified party

Auditing

For the analysis of security breaches

CSC253 / 2005-06

G. Blair/ F. Taiani

Where Should Mechanisms be Applied?


In the network?

E.g. in routers to encrypt/ decrypt packets in transit

At the transport layer?

E.g. Using Secure Sockets Layer (SSL) to securely send messages over a TCP connection

In middleware

Offering a range of services from secure RPC through to authentication and authorisation

Saltzers End to End Argument


CSC253 / 2005-06 G. Blair/ F. Taiani 9

Introduction to Cryptography
To encrypt a message M with key k

Plain text, M Encryption Algorithm

FK Key

Cipher text, C = FK(M)

Insecure Channel

To decrypt the coded message C = FK(M),

need the decryption key K, perform the inverse process to recover M.

CSC253 / 2005-06

G. Blair/ F. Taiani

10

Styles of Cryptosystems
Symmetric cryptosystems The same key is used to both encrypt and decrypt messages Also referred to as secret-key (or shared-key) systems Sender & receiver must share knowledge of key P=Dk(Ek(P))
Asymmetric cryptosystems The keys for encryption and decryption are different but together form a unique pair Also referred to as public-key systems One key is kept private and the other key is made public P=Dkd(Eke(P))

CSC253 / 2005-06

G. Blair/ F. Taiani

11

Notation Used in the Rest of the Lecture


Notation KA, B Description Secret key shared by A and B Public key of A Private key of A

K A K A

CSC253 / 2005-06

G. Blair/ F. Taiani

12

Symmetric Cryptosystems: DES

CSC253 / 2005-06

G. Blair/ F. Taiani

13

Asymmetric Cryptosystems: RSA

Rivest, Shamir, Adleman (1978)


Based on factors of very large prime numbers Computationally infeasible to reverse
CSC253 / 2005-06 G. Blair/ F. Taiani 14

Alternative Cryptosystems
Triple-DES - more complex (slower) than DES 4 Fenced DES - nearly as fast as DES
AES - new standard replacing DES [2001]

+ others including IDEA, Blowfish, RC4, SEAL, ...

PGP - Pretty Good Privacy


Uses RSA for key transport, IDEA for bulk encryption Gaining popularity, freeware program Often used on internet

CSC253 / 2005-06

G. Blair/ F. Taiani

15

Achieving Encryption: Using Secret Keys

CSC253 / 2005-06

G. Blair/ F. Taiani

16

Achieving Encryption: Using Public Keys

CSC253 / 2005-06

G. Blair/ F. Taiani

17

Achieving Digital Signatures: Using Public Keys

See also solutions based on message digests

CSC253 / 2005-06

G. Blair/ F. Taiani

18

Achieving Authentication: Using Secret Keys

CSC253 / 2005-06

G. Blair/ F. Taiani

19

Flaw in this Protocol: The Reflection Attack

CSC253 / 2005-06

G. Blair/ F. Taiani

20

Achieving Authentication: Using Public Keys

CSC253 / 2005-06

G. Blair/ F. Taiani

21

Achieving Authorisation: Access Control

CSC253 / 2005-06

G. Blair/ F. Taiani

22

Access Control Matrix

Comparison between ACLs and capabilities for protecting objects. a) Using an ACL b) Using capabilities.

CSC253 / 2005-06

G. Blair/ F. Taiani

23

Protection Domains: Hierarchical Organisation

See also role based access control


CSC253 / 2005-06 G. Blair/ F. Taiani 24

Security Management
Need for security management

So far, we have seen a series of mechanisms for achieving encryption, authentication, etc Still many things missing

E.g. where do the keys come from?

Aspects of security management

Key management

Key establishment Key distribution Key revocation

Authorisation management

<pic needed>

Granting access rights Delegating access rights

CSC253 / 2005-06

G. Blair/ F. Taiani

25

Achieving Key Distribution: Secret Key Solution


Needham and Schroeders protocol (1978)

Relies on a key distribution centre (KDC) KDC is part of the trusted computing base

Has knowledge of secret keys of all participants in the system Must manage N keys (instead on N(N-1)/2 in a decentralised solution)

Solves two key problems

Distribution of a shared secret key Mutual authentication

Are you who you say you are?

CSC253 / 2005-06

G. Blair/ F. Taiani

26

Needham and Schroeders Protocol


Key Distribution Centre, KDC
1. I am A and want to talk to B; here is a unique message ID: 1 A, B, ID1 2. I acknowledge your message with the given ID; here is a new key to talk to B together with a ticket you should pass to B, all encrypted with your secret key: [ID1, B, K(A,B), ticket]K(A)

2
3. A decrypts reply & sends ticket to B: ticket

3
5

4. The ticket contains [K(A,B), A]K[B) (i.e. encrypted in Bs secret code). B decrypts it and sends A a unique ID encrypted in K(A, B): [ID2]K(A,B)

5. A returns an agreed transformation of Bs ID encrypted with K(A,B): [ID2 - 1]K(A,B)


CSC253 / 2005-06 G. Blair/ F. Taiani 27

From Needham Schroeder to Kerberos

Left as an exercise to the reader!


CSC253 / 2005-06 G. Blair/ F. Taiani 28

Additional Reading
The Code Book: The Secret History of

Codes and Code-breaking by Simon Singh


in which you learn why Mary Stuart could have avoided being executed by her cousin Elisabeth 1rst had she attended a computer security class and how British scientists broke the German code during WW2 http://www.simonsingh.com/The_Code_Book.html

CSC253 / 2005-06

G. Blair/ F. Taiani

29

Expected Learning Outcomes


At the end of this session:
You should have an in-depth understanding of the threats to security as

faced in modern distributed systems


You should have a clear understanding of the five key security

mechanisms used to implement security policies in distributed systems, i.e. encryption, digital signatures, authentication, authorisation and auditing
You should have a general appreciation of symmetric and asymmetric

cryptosystems and also how such cryptosystems can be used to realise encryption, digital signatures and authentication
You should also have a general understanding for the key design

choices in implementing access control (authorisation)


You should have a broad understanding for the need of security

management and also a more detailed understanding of the goal of key distribution and how it is achieved using the Needham Schroeder protocol
CSC253 / 2005-06 G. Blair/ F. Taiani 30

You might also like