Elom Tsiagbey
Cryptanalysis of Cloud based
computing
Overview
•
Introduction
•
Recent threats to cloud computing
•Key Management models
What is Cloud Computing ?
Shared resources, software, and data provided to computers and other devices as a service over a network
How safe is the cloud?
•
In 2008, Heartland Payments hacked to steal 100 million credit card
information
•
In 2009, Zeus keylogger Trojan found on Amazon cloud linked to $100
million bank fraud
•
In 2011, Sony PlayStation network hacked to gain sensitive data of 77
million subscribers stored in Amazon’s EC2 Cloud
How is Encryption and Key
Management handled?
Leading Key Management models
•
Key management through a centralized cloud service
•Key management through a trusted client-side authority
Centralized cloud service key management
• Based on Identity Based Encryption (IBE)
• Cloud is central authority and manages a single key store servicing users.
• Cloud acts as an authenticator with the help of “Controller” based on Access Control List
• Data on the cloud is divided into data partitions that are each encrypted with a different key
Centralized Key Management – Bilinear Maps
• Let G1, G2, and GT be groups of the same order p • A bilinear map from G1 x G2 to GT is a function
e : G1 × G2 → GT such that for all u ∈ G1, v ∈ G2 , a, b ∈
Centralized Key Management – Key generation
Public Key Generator (PKG) is the Cloud Provider which specifies: • Group generator, g produces groups G and F of prime order q • Bilinear pairing, e : G x G → F
• Random hash functions, H1 and H2 H1 : {0,1}* → G
H2 : F → {0,1}l , where l is the length of the plaintext
• Random master secret key SKM ∈ Z*q
• A public master key, PKMis then calculated from SKMand shared with all users PKM= SKM x g
• PKG also shares the key-related parameters G, F, H1, H2 and PKM to the authorized user set.
Centralized Key Management – Encryption
•
Alice obtains PK
Mfrom the cloud provider
•
Suppose A wants to share a particular data partition in the cloud,
Alice also requests global identifier ID
Pfor that partition
•
Alice then encrypts her message, m
∈
{0,1)
linto ciphertext, C
p
using
combinations of PK
M, ID
Pand a random integer, r.
U = rg
V = H
2(e(Q
ID, PK
M)
r)
⊕
m
where Q
ID= H
1(ID
P)
•
Alice then uploads the ciphertext, C
P= (U,V) to the cloud
provider.
Centralized Key Management – Decryption
• Bob authenticates with the cloud provider and requests secret key SKP to a data partition.
SKP = SKM x QID where QID = H1(IDP )
• Bob then downloads the message and decrypts it using SKP obtained above M = V ⊕ H2(e(SKP , U))
Centralized Key Management – Benefits
•Relatively straight forward – Communication between just the cloud provider and user. No additional networks required.
•Unnecessary and expensive pre-distribution of authenticated keys is avoided as the cloud generates the keys
Centralized Key Management – Challenges
• Trust - Cloud generates and stores all private keys hence has the ability to decrypt all data
• Cloud based authenticator is critical point of failure if attacked or power failure. Eg. Twitter outage in Feb 2008
• Clients data compromised through law enforcement or court order without knowledge/consent
• Lot’s of computational tasks (key generation, authentication, key requests)
Multi-level Key management
• A dedicated directory stores the key parameters used to generate secret keys. This aids a readier
dissemination to users
• Key store is managed by users which are segmented into groups
• A trusted intermediary called a manager is
responsible for user authentication within each group. Using ACL to verify group membership
Multi-level Key Management – Key Generation
• The Manager constructs an Access Control Polynomial A(x)
∏ ∈ ,
where = secret key assigned to each member in group UP h(SKi , r)= hash function with random integer, r
• A public polynomial key P(x) is then calculated from a random group key SKP P(x) = A(x) + SKP
For eg. Alice, A and Bob, B in group UP with secret keys(issued by manager) SKA and SKB PUP(x) = (x-h(SKA, r))(x-h(SKB, r)) + SKP
• Manager then uploads the tuple (r, PUP(x)), representing the key parameters, to the cloud and stores it in the public directory
Multi-level Key Management – Encryption
• Alice has access to data partition, P and reads the tuple from it
• Alice then generates the partition access key. SKP by computing the hash function of her own secret key SKA and substituting it into the public polynomial
SKP = PUP(h(SKA, r))
• Alice then encrypts the message with SKP, authenticates with the cloud and stores the ciphertext in partition P
Multi-level Key Management – Decryption
• Bob generates the partition access key, SKP, using the same approach as Alice SKP = PUP(h(SKB , r))
Multi-level Key Management – Key re-generation
• Assume 3rd user, Charlie, joins group U
P, a new, modified ACP, A’(x) is created
A’(x) = A(x) (x-h(SKC, r))
P’UP(x) = A’(x) + SKP
New tuple (r, P’UP(x)) is uploaded to cloud.
• A and B are already in possession of SKP hence they don’t need to obtain tuple above
• Suppose C leaves the group UP. A new random group key, S’KP and integer r’ is selected
P’’UP(x) = A’(x) + S’KP
New tuple (r’, P’’UP(x)) is uploaded to cloud.
• The manager needs to re-encrypt all existing data for new authorized users to gain access using S’KP
Multi-level key management – Benefits
• Trusted managers that are outside of the cloud domain manage the keys • Each manager handles authentication for a limited set of users hence
communication with the cloud is reduced
• Use of symmetric keys allows users to perform quicker encryption operations on cloud data
• Efficiently handles changes in group membership through parameter directory
Multi-level key management – Challenges
• Origin and authenticity of message cannot be guaranteed
• Does not cater for re-encryption of data when a user’s access rights are revoked
Conclusion– Proposed key model
• A new key management model is proposed
• The highly scalable cloud is leveraged to perform required re-encryption task • The manager still exists in the scenario, playing the role of key coordinator to
current users and the secret group key is never shared with the cloud.
• A re-encryption key based on the latest version of private partition key is generated by the manager and provided to the cloud for re-encryption