27
1 CS 194: Distributed Systems Security Scott Shenker and Ion Stoica Computer Science Division artment of Electrical Engineering and Computer Scie University of California, Berkeley Berkeley, CA 94720-1776

CS 194: Distributed Systems Security

  • Upload
    yamin

  • View
    43

  • Download
    0

Embed Size (px)

DESCRIPTION

CS 194: Distributed Systems Security. Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776. Outline. Key Management Group management Authorization management - PowerPoint PPT Presentation

Citation preview

Page 1: CS 194: Distributed Systems Security

1

CS 194: Distributed SystemsSecurity

Scott Shenker and Ion Stoica Computer Science Division

Department of Electrical Engineering and Computer SciencesUniversity of California, Berkeley

Berkeley, CA 94720-1776

Page 2: CS 194: Distributed Systems Security

2

Outline

Key Management Group management Authorization management Example: Kerberos

Page 3: CS 194: Distributed Systems Security

3

Security Management

Problem: how do you get keys in the first place?

Key distribution: securely associate an entity with a key- Example: Public Key Infrastructure (PKI)

Key establishment: establish session keys- Use public key cryptography (we already know ho to do it)

- Diffie-Hellman key exchange

Page 4: CS 194: Distributed Systems Security

4

Public Key Infrastructure (PKI)

System managing public key distribution on a wide-scale Trust distribution mechanism Allow arbitrary level of trust

Page 5: CS 194: Distributed Systems Security

5

Components of a PKI

Page 6: CS 194: Distributed Systems Security

6

Digital Certificate

Signed data structure that binds an entity (E) with its corresponding public key (KE

+)- Signed by a recognized and trusted authority, i.e.,

Certification Authority (CA)

- Provide assurance that a particular public key belongs to a specific entity

How?- CA generates KCA

-(E, KE+)

- Everyone can verify signature using KCA+

Page 7: CS 194: Distributed Systems Security

7

Certification Authority (CA)

People, processes responsible for creation, delivery and management of digital certificates

Organized in an hierarchy (use delegation – see next)

CA-1 CA-2

Root CA

Page 8: CS 194: Distributed Systems Security

8

Registration Authority

People, processes and/or tools that are responsible for

- Authenticating the identity of new entities (users or computing devices)

- Requiring certificates from CA’s.

Page 9: CS 194: Distributed Systems Security

9

Certificate Repository

A database which is accessible to all users of a PKI, contains:

- Digital certificates,

- Certificate revocation information

- Policy information

Page 10: CS 194: Distributed Systems Security

10

Example

Alice generates her own key pair.

public keyAlice

private keyAlice

Bob generates his own key pair.

Both sent their public key to a CA and receive a digital certificate

public keyBob

private keyBob

Page 11: CS 194: Distributed Systems Security

11

Example

Alice gets Bob’s public key from the CA

private keyAlice

public key

Bob

private keyBob

public keyAlice

Bob gets Alice’s public key from the CA

Page 12: CS 194: Distributed Systems Security

12

Certificate Revocation

Process of publicly announcing that a certificate has been revoked and should no longer be used.

Approaches:- Use certificates that automatically time out

- Use certificate revocation list

Page 13: CS 194: Distributed Systems Security

13

Key Establishment: Diffie-Hellman Key Exchange

Agree on two numbers n, g; both number can be made public! Alice and Bob pick two secret numbers x and y Similar to public-key cryptography

- Example: For Alice, KA-=x, KA

+ = gx mod n

Page 14: CS 194: Distributed Systems Security

14

Outline

Key Management Group management Authorization management Example: Kerberos

Page 15: CS 194: Distributed Systems Security

15

Secure Group Management

Motivation: offer high availability for security services

How: replicate services

Problem: how to add a new replica to a group without compromising the integrity of the group?

Page 16: CS 194: Distributed Systems Security

16

Securely admitting a new group member

join request

New

pro

cess

Pro

cess

in g

roup

G

CKG: secret key used for communication within group KG

+,KG-: public-private key pair to communicate with non-group

members KP,G: secret key RP: reply pad T: local time Notation: [X]Y: X was signed by Y

group admittance

Page 17: CS 194: Distributed Systems Security

17

Outline

Key Management Group management Authorization management Example: Kerberos

Page 18: CS 194: Distributed Systems Security

18

Outline

Key Management Group management Authorization management Example: Kerberos

Page 19: CS 194: Distributed Systems Security

19

Authorization Management

Granting authorization rights

Related with access control which verifies access rights (see book)

Page 20: CS 194: Distributed Systems Security

20

Capabilities (1)

Capability: - Unforgeable data structure for a specific resource R

- Specify access right the holder has with respect to R

Capability in Amoeba:

48 bits 24 bits 8 bits 48 bits

Server port Object Rights Check

Page 21: CS 194: Distributed Systems Security

21

Capabilities (2)

Generation of a restricted capability from an owner capability

Owner

Page 22: CS 194: Distributed Systems Security

22

Delegation

A wants to delegate an operation on a resource to B

Problem: how does A delegates its access rights to B?

Solutions: A signs (A, B, R)

If B wants to delegate operation to C, C needs to contact A- Avoid this problem using a proxy (Neuman scheme)

- Proxy: a token allowing its owner to operate with the same or rstricted rights as the entity granting the token

Page 23: CS 194: Distributed Systems Security

23

Delegation: Neuman Scheme

The general structure of a proxy as used for delegation:

Page 24: CS 194: Distributed Systems Security

24

Delegation: Neuman Scheme

Using a proxy to delegate and prove ownership of access rights

In practice S+proxy, S-

proxy can be a public-private key pair and N can be a nonce

Page 25: CS 194: Distributed Systems Security

25

Kerberos

Based on Needham-Schroeder authentication scheme

Developed at MIT

Page 26: CS 194: Distributed Systems Security

26

Example: Kerberos

Authentication in Kerberos- AS: Authentication server

- TGS: Ticket Granting Service

- T: timestamp used to avoid replay attacks of message 6

Page 27: CS 194: Distributed Systems Security

27

Example: Kerberos

Setting up a secure channel in Kerberos: