22
Security Protocols in Automation Dwaine Clarke [email protected] MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd Mills, Andrew Maywah, Srinivas Devadas, Ronald Rivest

Security Protocols in Automation Dwaine Clarke [email protected] MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Embed Size (px)

Citation preview

Page 1: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Security Protocols in Automation

Dwaine [email protected]

MIT Laboratory for Computer Science

January 8, 2002

With help from: Matt Burnside, Todd Mills, Andrew Maywah, Srinivas Devadas, Ronald Rivest

Page 2: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

• Problem Description• SPKI/SDSI Introduction

• Name Certificate• Authorization Certificate

• Proxy-to-Proxy protocol• Examples• Status • Questions

Overview

Page 3: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Problem: Proxy to Proxy Security

K21ProxyScripting

K21

VCR Proxy

SPKI/SDSIOver SSL/TLS

SPKI/SDSIOver SSL/TLS

RoutingName Resolution

All proxies talk to each other with the same protocol

Page 4: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

SPKI/SDSI Introduction(Simple Public-Key Infrastructure/Simple Distributed Security Infrastructure)

• Build secure distributed computing systems

• Access control over the network

• Simple, flexible, trust policy model with specific authorizations

• Fine-grained access control

• Scalable infrastructure

Page 5: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

SPKI/SDSI Introduction(Simple Public-Key Infrastructure/Simple Distributed Security Infrastructure)

• Designed by Ron Rivest, Butler Lampson and Carl Ellison

• Each public key is a CA

• Name certificate: defines a name in issuer’s name space

• Authorization certificate: grants a specific authorization from issuer to subject

Page 6: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

SPKI/SDSI: Name Certificates

• Local name spaces

• Groups

Traditional: {MIT Dave_Brown, KDB}K

MIT

SPKI/SDSI: {Kc friends, Kd}K

{Kc friends, Ke}K

{Kc friends, Kf}K

If ‘Kc friends’ is on an ACL, Kd, Ke and Kf are allowed to access the object.

c

c

c

Page 7: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

SPKI/SDSI: Name Certificate(cert (issuer (name (public-key (rsa-pkcs1-md5 (e #23#) (n |AMMgMuKpqK13pHMhC8kuxaSeCo+yt8TadcgnG8bEo+erdrSBveY3C MBkkZqrM0St4KkmMuHMXhsp5FX71XBiVW1+JGCBLfI7hxWDZCxGTMg bR4Fk+ctyUxIv3CQ93uYVkg9ca6awCxtS0EI7sLuEB+HKuOLjzTsH+ +Txw9NAHq4r|))) friends)) (subject (public-key (rsa-pkcs1-md5 (e #23#) (n |AKg3tOzoJ5PGQ5q9jzxzwxE8o6bIZ6/cE8gEL+1xJa23viE3bz68ru hpD5muqJ+uyDCNxgAZ0JVXJazmX1QjiGudj9kEmuni8gJRLZRu0T5E3 K7OU2dodu0kdDg32kym7+ooZNe/F0zWGekfESeezyQ25kvNO3XQvMHX afWcYjRw|)))))

Page 8: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

SPKI/SDSI: Authorization Model

• Simple trust policy model

• Authorizations specified in flexible, user-defined tags

• Authorizations can be defined as specific or as general as the user desires

• Delegation (specific)

Page 9: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

SPKI/SDSI: Authorization Certificate

(cert (issuer (public-key (rsa-pkcs1-md5 (e #23#) (n |AMMgMuKpqK13pHMhC8kuxaSeCo+yt8TadcgnG8bEo+erdrSBveY3C MBkkZqrM0St4KkmMuHMXhsp5FX71XBiVW1+JGCBLfI7hxWDZCxGTMg bR4Fk+ctyUxIv3CQ93uYVkg9ca6awCxtS0EI7sLuEB+HKuOLjzTsH+ +Txw9NAHq4r|)))) (subject (public-key (rsa-pkcs1-md5 (e #23#) (n |AKg3tOzoJ5PGQ5q9jzxzwxE8o6bIZ6/cE8gEL+1xJa23viE3bz68ru hpD5muqJ+uyDCNxgAZ0JVXJazmX1QjiGudj9kEmuni8gJRLZRu0T5E3 K7OU2dodu0kdDg32kym7+ooZNe/F0zWGekfESeezyQ25kvNO3XQvMHX afWcYjRw|)))) (tag (http (* set GET POST) (* prefix http://ostrich.lcs.mit.edu/demo/))) (propagate))

Page 10: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

(tag

(http

(* set GET POST)

(* prefix http://ostrich.lcs.mit.edu/demo/)))

SPKI/SDSI: Tag

Intuitively, a tag is a set of requests.

Page 11: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Proxy to Proxy

Alice (Client Proxy) Bob (Server Proxy)

Da (private key)Ea (public key)Alice’s client certsList of CA certs

Db (private key)Eb (public key)ACLServer certs

Set up SSL connection:Server authSession key for privacyFreshnessProtection from MIM

Initialization:

Page 12: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Proxy to ProxyCase 1: user’s key is directly on the ACL

Alice (Client) Bob (Server)

Da (private key)Ea (public key)Alice’s client certsList of CA certs

Db (private key)Eb (public key)ACLServer certs

[tag]Da

Response

ACL: {Ec,

Eb,

Ea}

Page 13: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Proxy to Proxy

Alice (Client Proxy) Bob (Server Proxy)

Da (private key)Ea (public key)Alice’s client certsList of CA certs

Db (private key)Eb (public key)ACLServer certs

[tag]Da

Rejected:

[tag]Da, certs

ACL

Case 2: user’s key is “indirectly” on the ACL

Client performs certificate chain discovery.

Server verifiescertificate chain.

ACL: {‘Eb friends’}

Page 14: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Certificate Chaining Example

• Bob’s ACL says only MIT faculty are allowed to access his server.

• Alice’s first request is simply signed with Alice’s key, and Bob rejects this request.

• Alice’s second request contains a chain consisting of the following certificates:– A certificate saying she is an LCS Professor– A second certificate saying LCS Professors are MIT

faculty

Page 15: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Certificate Chain Discovery(Client Proxy)

• Derive certificate chains

• Input: device’s ACL, requestor’s public key, requestor’s set of signed certificates, tag

• Output: a chain of certificates leading from an entry on the ACL to the requestor’s public key.(The certificate chain consists of signed certificates. It proves that the requestor is authorized to perform the tag’s operations on the device.)

* Recall, intuitively, a tag is a set of requests.

Page 16: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Certificate Chain Verification (Server Proxy)

• Verify certificate chains

• Input: device’s ACL, requestor’s public key, requestor’s certificate chain, tag

• Output: 1 if certificate chain proves that the public key is authorized to perform the tag’s operations on the device; 0 otherwise.

Page 17: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Proxy to Proxy

Alice (Client Proxy) Bob (Server Proxy)

Da (private key)Ea (public key)Alice’s client certsList of CA certs

Db (private key)Eb (public key)ACLServer certs

[tag]Da

Rejected:

[tag]Da, certs

ACL

Case 2 revisiteduser’s key is “indirectly” on the ACL

• Signed request provides proof of authenticity of the request

• Certificate chain provides proof that the request is authorized

Page 18: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Example: Public resourceMary wants to turn on/off a public light switch.

1. Mary sends request (either signed or unsigned) via her proxy to the light switch’s proxy.

[tag]Dm

Light switch’s proxy may require requests to be signed for auditing purposes.

“ok”

2. Light switch’s proxy has no ACL. It honors Mary’s request.

Page 19: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Example: user’s key directly on ACL Mary wants to log into an account on a dialup machine.

ACL: {Ec,

Ef,

Em}

1. Mary sends signed request via her proxy to the dialup’s proxy.

[tag]Dm

“ok”

2. Dialup’s proxy has an ACL which contains Mary’s public-key. It checks the signature on Mary’s request, and honors Mary’s request to login if the signature verifies.

Page 20: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Example:user’s key is indirectly on ACLMary wants to play music on John’s speaker.

ACL: {‘Ej friends’}

1. Mary sends signed request via her proxy to John’s speaker’s proxy.

[tag]Dm

“ok”

4. John’s speaker’s proxy verifies second request.

[tag]Dm, cert chain

3. Mary’s proxy uses the Cert Chain Discovery Algorithm to derive a chain of certificates proving that Mary is a member of the group John’s friends. Mary sends the certificate chain and signed request to John’s speaker’s proxy.

ACL

2. John’s speaker’s proxy rejects first request, and returns the ACL.

Page 21: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Summary:Issues we are dealing with

• Specifying, granting, delegating and revoking authorizations

• Creating, maintaining and auditing groups

• Attribute searching• Facilitating scalability• Designing simple, user-friendly systems

Page 22: Security Protocols in Automation Dwaine Clarke declarke@mit.edu MIT Laboratory for Computer Science January 8, 2002 With help from: Matt Burnside, Todd

Questions?