SPKI analysis in strand space

advertisement
SPKI analysis
in
strand space
Alex Vidergar, 1Lt, USAF
Air Force Institute of Technology
Graduate School of Computer Science & Engineering
Thesis Advisor: Robert Graham, Maj, USAF
Overview

SPKI
• what it is and why we use it

Strand Space
• How this tool was used effectively

Example Analysis
• Transport Layer Security (TLS)

Conclusions about new security properties
• Authorizations
Simple Public Key Infrastructure




Championed by Ron Rivest (RSA) and
Carl Ellison (Intel)
Simple Distributed Security Infrastructure (SDSI)
and SPKI merged in the 90s
Developed to overcome shortcoming in the
currently deployed PKI (X.509)
Two types of certificates Name & Authorization
X.509 Shortcomings

Unrealistic Goals
• Global reach of the x.500 directory
• Single global standard
• Unique names in one namespace

Privacy
• Participation in the network may unwillingly
revealing details about organization

Lack of Flexibility
• Updated information impossible
• Multiple keys unsupported
SPKI Solutions

Egalitarian Design
• Every Principal acts as Certificate Authority
(CA)
• Local Names


Humans tend to relate well to things they name
themselves
Local name space
• Allows unique names to be applied as
understood by the principals that will be using
them
• Fully qualified names act globally

Alice’s Bob’s Charlie ≠ Allison’s Bob’s Charlie
SPKI Solutions

Delegation of Authority
• Delegation bit
• University Example
University Enrollment
 Course Enrollment

• Department
 School
- student
SPKI: Authorization Tags

Customized to applications
• Once again not standardized
• Flexibility

Security through obscurity?
• What is access of 10 mean?
• More importantly, meaningful to the
issuers of access to a resource
SPKI: Flexibility or Meager Design?

Constant theme of Flexibility
• Very Vague Specification

Highly customizable
• Requires diligence in implementation


Easily integrated into a system
Potential security issues may arise
Solution: Strand space analysis
Strand Space

Existing Strand Space Model
• Public Key Protocol



Diffie-Hellman
Injective hash function
Signatures in addition to encryptions
• Mixed Strand Space



Disparate protocols operating in the same space
Respect
Disjoint Encryption
Strand Space : Merge

Mixed PKI Strand Space
• Amalgamation of needed features of
previous strand space models
• Ideal environment for testing SPKI
protocols being integrated into other
systems
TLS : Analysis

Ideal analysis protocol:
Transport Layer Security


Arguably the most widely used Internet
protocol for secure transactions
Intrinsic use of certificates
• Uses x.509

Layered protocol execution
• TLS > DH > Resume
TLS : modifications

TLS uses x.509 certificates
• Mayweh implements SSL with SPKI



Substitute x.509 for SPKI name certs
Functionally identical
Limited Network security
• Assumed operating in secure environment
TLS : the sweet Onion

TLS is a layer of protocols
• TLS itself is a shell

Arranges for other protocols to run
• Does not provide security

Security provided by sub protocols
• Diffie-Hellman
• RSA
TLS : Primary Protocols
Server
Authentication
Protocol

Client unauthenticated
TLS : Primary Protocols
Server & Client
Authentication
Protocol

Both principals
authenticated
Mixed Strand Space : Resume
Resume Protocol



Inherently
uninteresting
Provides only a
recount of a
previously executed
session
Relies on message
digest for coordination
and agreement
Mixed Strand Space :
Certificate Chain Discovery


Certificate Chain Discovery Protocol
Designed from the ground up with TLS in mind
• establish authentication of CA
• validation of certificate
• maintain security of primary protocol
Mixed Strand Space :
Certificate Chain Discovery

Possible to assume
disjoint set of keys
• therefore disjoint
encryption is trivial

Message formats
designed disjointly
• once again simple
proof of respect if
designed properly
Analysis

Respect
• Concept born in paper Mixed Strand Spaces
• Supplemented

Method for defining respect
• Characterize test components
• Identify sets of messages

Applied to Diffie-Hellman
• Protocol design based on Respect

SPKI Certificate Chain Discovery
• Disjoint Encryption
• Respect of primary protocol’s test components
• Necessary to Prove for each protocol as
primary?
Analysis
Disjoint Encryption
• Protocol Independence through Disjoint Encryption
• Better Refined concept of respect → Independence


Disjoint set of test components
Previous notion of Respect
• covers naïve case of disjoint sets

Allows more complex secondary protocols to be designed
• In the CCD Protocol Design Case

CCD design from respect is indeed Disjoint Encryption
• Disjoint Outbound
• Disjoint Inbound
simple case: no shared terms
• Visual representation of mixed strand spaces

Problematic with entwined sub-protocols
Simple and Powerful

Signed statements are certifications

An authority is an authority
• Certificate Authorities traditionally are simply
name authorities


Does not have to be limited to names
Authorizations are thus provided by an
authorization principal
• Already incorporated with authorization
certificates in SPKI standard

Explicit Rely-Guarantee Functionality
Summary

SPKI
• Vague specification makes it flexible


Requires diligence in implementation
Strand Space
• Mixed-PKI strand space

TLS
• Ideal testing ground for SPKI analysis

Authorization
• Intrinsic to SPKI standard
• CA are trusted to provide
Questions
Download