Versatile Storage System - City University of Hong Kong

advertisement
A Versatile Storage System for
Future Networking Architecture
Prof. Xiaohua Jia
City University of Hong Kong
1
Outline
o Motivations and Objectives
o System Architecture
o System Design and Implementation
o Conclusion
2
Motivations
Giant Application Service Providers (ASPs) monopolize the
markets based on
◦ Users’ data
◦ Users’ social relations
Data
Relations
Data
Relations
Data
Relations
3
Motivations
What are the consequences?
o Users’ data and social relations are locked in ASPs. ASPs win
users not by their QoS, but by users’ data and social relations
o Small and medium companies are denied of opportunities to
enter the business
o User’s social relations are fragmented on multiple ASPs, and
publish-subscribe of user’s data is limited within the scope of
an ASP
o ……
4
System Background
o Many ICN (Information Centric Networks) projects, e.g., NDN, NetInf,
PURSUIT, etc., cache the data in routers along the path it travels
o New effort of NFV (Network Function Virtualization) replaces traditional
routers by general purpose computer servers
o There are huge amount of under-utilized storage and computing powers
on routers all over the Internet
o Our aim: build a versatile storage infrastructure for users
5
Design Objectives
o Decouple users' data from ASPs
The infrastructure stores users data and provides content services to ASPs.
o Decouple users’ social relations from ASPs
The information of users social relations is integrated into the infrastructure for data
publish-subscribe.
o Support general data communications
The infrastructure can support data networking services, such as online video chat.
6
System Architecture
Presentation Layer
ASPs or APPs: use data from VSS
to provide advanced services to
end users.
ASPs
User-to-Network Interface (UNI)
...
VSS
VSS Domain 1
VSS Domain 2
VSS Domain N
Information Layer
VSS (Versatile Storage System):
responsible for content storage,
access control publishing/
subscribing, and distribution.
7
Example: decouple users social relations
from ASPs
- Manage social relations of users
- Support content publish-subscribe services: access control, publishing
and subscribing, ……
Alice
Bob
1. Alice sends a “friend” request
to Bob in Facebook app
Facebook Client App
2. Bob sees Alice become his
follower in Weibo app, then
Bob “follows” Alice back.
Weibo Client App
3. Bob becomes Alice’s friend
in Facebook app
Data
Relations
8
Example: decouple users data
from ASPs
4. Alice posts a
message to “Friends”
in Facebook app
Alice
Bob
5. Bob can see the
message in Weibo app
Facebook Client App
Weibo Client App
Data
Relations
9
Vertical and Horizontal Interfaces
o Vertical interface
- Any ASPs can provide content services based on the information layer of VSS
- Provide standard APIs User-Network Interface (UNI) to all ASPs
ASPs
User-to-Network Interface (UNI)
...
VSS
VSS Domain 1
VSS Domain 2
VSS Domain N
o Horizontal interface
- VSS consists of multiple autonomous service domains
- Interconnected by “thin” Network-Network Interface (NNI)
inter-domain interface
inter-domain interface
Domain 1 (China)
Domain 2 (UK)
Domain 3 (USA)
10
Support of data networking
and communications
o Data communication based on file systems
- Integrate data service with networking service
- Support general data communication
o Real-time communication
- Support inter-person real-time communication
11
System Designs
o
o
o
o
Management of user data
Management of users social relations
Roaming of users
Security and privacy
12
Management of User Data
VSS is currently implemented on top of HBase
User-to-Network Interface Network-to-Network Interface
Access Control
Indexing
Middleware
Users’ relations
Users’ Data (Files)
HBase
VSS
Network
communication
Distributed File
System
HDFS
13
Management of User Data
Users can use either a client application or a web interface (web
browser) to upload local files to or download files from the VSS system.
User
Client Application
User
Web Interface
14
Management of social relations
VSS manages basic social relations of users
o VSS manages the contact lists and contact groups, decoupling
users’ social relations from ASPs
o ASPs calls VSS to get social relations of users for content publishing
Contact-1
Stars
Twitter
Contact-2
Family
Sina Weibo
Contact-3
Classmates
Facebookk
Colleagues
Personal E-mail
Stranger
Work E-mail
Contact-n
15
Modeling of social relations
VSS models general types of user social relations on the
Internet
o 1-way friendship: Weibo, Twitter, address book, contact list
o 2-way friendship: QQ, WeChat, Line, WhatsApp, Skype, Facebook
o Workgroups / teams: Dropbox shared folder, SkyDrive Groups, QQ
/ WeChat group chat
16
Example: ASP-independent
information publication
o Alice (in China) shares a photo to her friends Bob and Cathy
o VSS China domain stores the photo and sends the notifications to the
home domains of Bob and Cathy respectively
o Bob & Cathy can see the photo via any application
o Once the photo is deleted by Alice, all references to this photo is
removed from the entire system
Bob @ USA
USA Domain
Alice @ China
China Domain
UK Domain
Cathy @ UK
17
Implementation of real-time
inter-person communication
o Using shared files as communication medium
o The sender writes data to a file and informs the receiver by placing a token in
receiver’s space
o The receiver checks the token at fixed interval and reads the data from the file
when the data becomes available
o The synchronization frequency depends on the real-time requirement
o Demo
File
Alice
Client App
Client App
Bob
18
Handling of user roaming
The data accessed by a roaming user shall be transferred from its home
domain to the destination domain.
Alice @
Domain 1
Domain 3
Domain 1
Domain 2
Domain 4
Bob @
Domain 3
Domain 5
Bob @
Domain 3
Roaming
19
Handling of user roaming
Why consider user roaming?
o A user’s information is stored and managed by his home domain
Requirements of roaming handling
o Remote authentication of users
There shall be a simple and efficient method to authenticate a roaming user
so that the access permission can be assigned to the user
o Local & remote execution of commands
Some commands can only be executed locally (or passed back to the home
domain for execution if the user is in a remote domain) for security reasons
or performance reasons
o Caching and data pre-fetch
The domain shall be able to utilize its local cache to improve users’ roaming
experience
20
Uniform security and privacy
scheme
Security issues
o Storage security: all stored data can be auto-encrypted (if users wish)
o Security for cross-domain: interoperation and communications
Secure both the data storage and the communication channels!
Inter-domain channel
21
Privacy-preserving publishsubscribe in multi-domains
o Privacy protection of communication parties
- Hide sender’s ID from the receiver’s domain
- Hide receiver’s ID from the sender’s domain
o Privacy protection of subscriber and publishers
- Hide subscriber’s details from the foreign domain when subscribing
information from a foreign domain
- Hide publisher’s details from subscriber’s domain when the
publisher is in a foreign domain
Subscriber@China
China Domain
USA Domain
Publisher@USA
Secure content publishsubscribe in VSS
o Content publish-subscribe: privacy against VSS
o ASPs use VSS platform to publish content to users but do not want to
disclose the content to VSS
o Asymmetric encryption is not applicable because it requires a trusted third
party to verify the true identities of all the involved parties
o No key-exchange can be done through VSS
o No need for users (subscribers) to manage too many keys for publishers
Banks
Subscriber
Subscriber
Clubs
Personal health
care company
23
Protocol design (1):
subscription
o Step 1: Subscription
o Subscriber sends subscription request and key material Ysub
o Ysub = gRsub mod p,
// g and p are public parameters in Diffie-Hellman code
o Rsub= PRNG(SKsub , IDpub) , // Sksub is the secret key of subscriber, IDpub the ID of
publisher, PRNG a pseudo random number generator.
Subscriber
YSUB
Sub_request
Publisher
24
Protocol design (2): publishing
o Step 2. Publishing
o For ith publication, publisher generates a new key Ki and key material Ypub
o Ki = YsubRi mod p
o Ypub = gRi mod p
// Ri is a random number for ith publication
o Publisher encrypts data by Ki and sends the ciphertext and Ypub to VSS
o VSS cannot recover Ki or decrypt the data, even with the key materials
Ysub and Ypub (it doesn’t know Rsub and Ri)
25
Protocol design (3): content
delivery
o Step 3. VSS delivers the ith ciphertext and Ypub to subscriber
o Subscriber generates the decryption key on the fly:
1. Restore the same random number as in step 1: Rsub=PRNG(SKsub , IDpub)
2. Generate decryption key Ki’ = YpubRsub mod p
3. Note: Ki’ = YpubRsub mod p = g Ri * Rsub mod p = YsubRi mod p = Ki
o A subscriber only needs to keep its own secret key SKsub for all ASPs
and it does NOT need to manage many Rsub of publishers
26
Conclusion
o VSS decouples ASPs from users' data and users' social
relations. ASPs have to rely on better quality services to
win user groups.
o VSS integrates file services with traditional networking
services. It can be used as universal communication
platform.
o VSS provides uniform security / privacy scheme, making
users’ data and communication more secure.
27
Demo
Demo settings:
o 3 end users
- Alice
- Bob
- Cathy
Alice
Bob
Cathy
FaceBlog
SinaBlog
NetDrive
o 3 ASPs / APPs
- FaceBlog
- SinaBlog
- NetDrive
o 2 domains
- Domain @ USA
- Domain @ China
VSS Domain (USA)
VSS Domain (China)
28
Thank You!
29
Download