cs 194: distributed systems security
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 PresentationTRANSCRIPT
![Page 1: CS 194: Distributed Systems Security](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/2.jpg)
2
Outline
Key Management Group management Authorization management Example: Kerberos
![Page 3: CS 194: Distributed Systems Security](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/5.jpg)
5
Components of a PKI
![Page 6: CS 194: Distributed Systems Security](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/14.jpg)
14
Outline
Key Management Group management Authorization management Example: Kerberos
![Page 15: CS 194: Distributed Systems Security](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/17.jpg)
17
Outline
Key Management Group management Authorization management Example: Kerberos
![Page 18: CS 194: Distributed Systems Security](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/18.jpg)
18
Outline
Key Management Group management Authorization management Example: Kerberos
![Page 19: CS 194: Distributed Systems Security](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/19.jpg)
19
Authorization Management
Granting authorization rights
Related with access control which verifies access rights (see book)
![Page 20: CS 194: Distributed Systems Security](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/21.jpg)
21
Capabilities (2)
Generation of a restricted capability from an owner capability
Owner
![Page 22: CS 194: Distributed Systems Security](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/23.jpg)
23
Delegation: Neuman Scheme
The general structure of a proxy as used for delegation:
![Page 24: CS 194: Distributed Systems Security](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/25.jpg)
25
Kerberos
Based on Needham-Schroeder authentication scheme
Developed at MIT
![Page 26: CS 194: Distributed Systems Security](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/56815b63550346895dc95142/html5/thumbnails/27.jpg)
27
Example: Kerberos
Setting up a secure channel in Kerberos: