Title: An Architecture for a Secure Service Discovery Service
1An Architecture for a Secure Service Discovery
Service
- Steven Czerwinski, Todd Hodes, Ben Zhao,Anthony
Joseph, Randy Katz - UC Berkeley
- Internet Scale Research Group
2Outline
- Intro
- Architecture
- Security
- Wide Area
- Conclusion
3Supporting Ubiquitous Computing
- Ubiquitous Computing envisions
- Billions of computers and devices available to
users - Devices seamlessly interact with all others
- Networks and computers as an unobtrusive utility
- One problem Locating servers and devices
- How can you locate a light bulb among billions?
- Solution must be scalable, fault-tolerant,
self-configuring, secure, and support wide-area - Existing solutions dont adequately address needs
4A Secure Service Discovery Service
The Idea
A secure directory tool which tracks services in
the network and allows authenticated users to
locate them through expressive queries
- Services are applications/devices running in the
network - One piece of the puzzle
- Helps manage explosive growth of services
- Aids in configuration by providing indirection
- Aids in protecting user and services by providing
security
5Berkeley Service Discovery Service
The SDS
Service Description
Where is a color printer?
XML Query
443 Phaser
443 Phaser
czerwin_at_cs
ltservicegt ltnamegt 443 Phaser lt/namegt lttypegt
io.printer lt/typegt ltlocationgt Soda/443
lt/locationgt ltcolorgt yes lt/colorgt
ltpostscriptgt yes lt/colorgt ltcontactgt
lturlgt rmi//batman.cs lt/urlgt
lt/contactgt lt/servicegt
ltquerygt lttypegt io.printer lt/typegt ltcolorgt yes
lt/colorgt lt/querygt
6Discovery Services
- Discovery/Directory services are not new
- Provide a mapping of attribute values to domain
specific addresses - Examples Telephone book, card catalogs, etc..
- Computer network discovery services
- DNS
- NIS
- SAP
- Globe
- LDAP
- Jini LookUp service
7Differentiating Discovery Services
- Query Routing
- Implicitly specified by the query (DNS, globe)
- Queries
- Query grammar complexity (LDAP vs. DNS)
- Push (advertisements) versus pull (queries)
- Pull only (DNS) vs. Push Only (SAP modulo
caching) - Update rate
- Short for mobility vs. long for efficient caching
8Discovery Services Cont.
- Bootstrapping
- Well-known local name (www.)
- List of unicast addresses (DNS)
- Well-known global/local multicast address (SAP,
SLP) - Soft state vs. hard state
- Implicit recovery vs. guaranteed persistence
- Service data
- Reference (globe) vs. content (SAPSDP)
- Security
- Privacy and authentication
9Features of the Berkeley SDS
- Hierarchical network of servers
- Multiple hierarchies based on query types
- Queries
- Use XML for service descriptions and queries
- Bootstrapping via Multicast announcements
- Listen on well-known global channel for all
parameters - Soft-state approach
- State rebuilt by listening to periodic
announcements - Secure
- Use certificates/capabilities to authenticate
10The Berkeley SDS Architecture
Services
Capability Manager
SDS Servers
Converter
UC Berkeley
SDS Server
Printer
Certificate Authority
Jukebox
Soda Hall
Cory Hall
Printer
Client
Room 466
Room 464
czerwin_at_cs
11The Berkeley SDS Architecture
Services
Capability Manager
SDS Servers
Converter
UC Berkeley
SDS Server
Printer
Certificate Authority
Jukebox
Soda Hall
Cory Hall
Printer
Client
Room 466
Room 464
czerwin_at_cs
- SDS Servers
- Create hierarchy for query routing
- Store service information and process requests
- Advertise existence for bootstrapping
12The Berkeley SDS Architecture
Capability Manager
SDS Servers
Converter
UC Berkeley
SDS Server
Printer
Certificate Authority
Jukebox
Soda Hall
Cory Hall
Printer
Client
Room 466
Room 464
czerwin_at_cs
13The Berkeley SDS Architecture
Services
Capability Manager
SDS Servers
Converter
UC Berkeley
SDS Server
Printer
Certificate Authority
Jukebox
Soda Hall
Cory Hall
Printer
Client
Room 466
Room 464
czerwin_at_cs
- Clients
- The users of the system
- Perform look up requests via SDS server
14The Berkeley SDS Architecture
Services
Capability Manager
SDS Servers
Converter
UC Berkeley
SDS Server
Printer
Certificate Authority
Jukebox
Soda Hall
Cory Hall
Printer
Client
Room 466
Room 464
czerwin_at_cs
- Certificate Authority
- Provides a tool for authentication
- Distributes certificates to other components
15The Berkeley SDS Architecture
Services
Capability Manager
SDS Servers
Converter
UC Berkeley
SDS Server
Printer
Certificate Authority
Jukebox
Soda Hall
Cory Hall
Printer
Client
Room 466
Room 464
czerwin_at_cs
- Capability Manager
- Maintains access control rights for users
- Distributes capabilities to other components
16How the Pieces Interact...
SDS Server
Backup SDS Server
Client
Music Server
Printer
17Security Goals
- Access control
- Authentication of all components
- Encrypted communication
18Security Goals
- Access control
- Services specify which users may discover them
- Authentication of all components
- Protects against masquerading
- Holds components accountable for false
information - Encrypted communication
- Authentication meaningless without encryption
- Hides sensitive information (service
announcements) - No protection against denial of service attacks
19Security Hazards
SDS Server
Backup SDS Server
Client
- All components
- Use certificates for authentication
Music Server
Printer
20Secure One-Way Broadcasts
Service Description
Service KPrivate
Signing (DSA)
KSession
Asymmetric Encryption (RSA)
Symmetric Encryption (Blowfish)
Server EKPublic
KSession Signed Description
EKPublic Session Key
Key idea Use asymmetric algorithm to encrypt
symmetric key
21Secure One-Way Broadcasts
Asymmetric Encryption (RSA)
Symmetric Encryption (Blowfish)
Server EKPrivate
KSession
Signed Service Description
(Cache it)
- To decode, only intended server can decrypt
session key - Use session to retrieve service description
- Cache session key to skip later asymmetric
operations
22Wide Area
Root
Kinkos
UC Berkeley
Stanford U
UCB Physics
UCB CS
Kinkos 123
CS
Physics
ISRG
IRAM
Mobile People
Room 443
- Hierarchy motivation
- Divide responsibility among servers for
scalability - The big question
- How are queries routed between servers?
23The Wide Area Strategy
- Build hierarchies based upon query criteria
- Administrative domain
- Network topology
- Physical location
- Aggregate service descriptions (lossy)
- Route queries based on aggregation tables
- Parent Based Forwarding (PBF)
24Service Description Aggregation
- Hash values of tag subsets of service description
used as description summary - Hash list compressed with Bloom Filter Bloom70
- Fixed-size aggregation tables prevent explosion
at roots - Guarantees no false negatives
- Can have false positives, probability affected by
table size - Algorithm
- To add service, compute description tag subsets,
insert into Bloom Filter table - To query, compute query tag subsets, examine
corresponding entries in Bloom Filter table for
possible matches
25Multiple Hierarchies
Root
Kinkos
UC Berkeley
Stanford U
UCB Physics
UCB CS
Kinkos 123
CS
Physics
ISRG
IRAM
Mobile People
Room 443
Administrative Hierarchy
26Multiple Hierarchies
Northern California
Root
Stanford, US
Berkeley, US
Kinkos
UC Berkeley
Stanford U
Hearst St
UCB Physics
Soda Hall
Kinkos 123
CS
Physics
ISRG
IRAM
Mobile People
Room 443
Physical Location Hierarchy
27Query Routing in Action
Berkeley, US
UC Berkeley
Hearst St
UCB Physics
Soda Hall
Kinkos 123
lttypegtfax lt/typegt ltcolorgtyeslt/colorgt?
ISRG
IRAM
Color Fax
SDS servers
Services
Room 443
Clients
czerwin_at_cs
28Query Routing in Action
Berkeley, US
UC Berkeley
Hearst St
UCB Physics
Soda Hall
Kinkos 123
lttypegtfax lt/typegt ltcolorgtyeslt/colorgt?
ISRG
IRAM
Color Fax
SDS servers
Services
Room 443
Room 443
Clients
czerwin_at_cs
Room 443 server examines its data and tables,
routes to parent
29Query Routing in Action
Berkeley, US
Hearst St
UC Berkeley
Soda Hall
UCB Physics
Kinkos 123
lttypegtfax lt/typegt ltcolorgtyeslt/colorgt?
ISRG
IRAM
Color Fax
SDS servers
Services
Room 443
Clients
czerwin_at_cs
Each server checks aggregation tables, Hearst
sees possible hit
30Query Routing in Action
Berkeley, US
UC Berkeley
Hearst St
Kinkos 123
UCB Physics
Soda Hall
lttypegtfax lt/typegt ltcolorgtyeslt/colorgt?
ISRG
IRAM
Color Fax
SDS servers
Services
Room 443
Clients
czerwin_at_cs
Kinkos 123 finds match, returns service
description
31Conclusion
- A tool for other applications
- Provides a listing of services in the network
- XML descriptions allow for flexibility
- Well defined security model
- Fault tolerant, scalable
- Releasing local area implementation as part of
Ninja - Ongoing work
- Experimenting with wide area strategy and caching
- For more information
- sds_at_iceberg.cs.berkeley.edu