5.4.3. FADE - policy-based deletion

FADE: introduction 1/6

(from   : 1  )

Background

  • two key encryption similar to Time-based solutions
  • data encrypted using data key
  • data key is secured by (encrypted or distributed according to) control key
  • control key may be time-based

Idea

  • each file associated with file access policy
  • each policy may be Boolean combination of atomic policies
  • each atomic policy is associated with control key (may be time-based), controlled by key manager
  • when policy is revoked the corresponding key is removed from key manager
  • when the policy combination associated with a file is revoked, the data key (hence the encrypted content) cannot be recovered with the control keys of the policies -- we say the file is deleted

FADE: protocol participants

Data owner
- entity that originates file data to be stored on the cloud. It may be a file system of a PC, a user-level program, a mobile device, or even in the form of a plug-in of a client application.
Key manager
- maintains the policy-based control keys that are used to encrypt data keys. It responds to the data owner'ss requests by performing encryption, decryption, renewal, and revocation to the control keys. Quorum of managers and introducing secret sharing is optional in order to improve the robustness of the key manager service to being compromised, however such modification increases the overhead of keys.
Storage cloud
- maintained by a third-party cloud provider and keeps the data on behalf of the data owner. There are no protocol and implementation changes needed on the storage cloud to FADE system. Even a naive storage service that merely provides file upload/download operations is suitable to cooperate with FADE.

FADE: Upload and download of the files 2/6

Fig. 5.4.3/1: Example from   : 1 

Fade: policy composition 3/6

Conjunctive Policies:
If file \(F\) is associated with policies \(P_1\wedge \dots \wedge P_m\), data owner has to generate data key \(K\) and keys \(S_1, \dots, S_m\) Key \(K\) is encrypted using all \(S_i\) keys, namely: \(\lbrace \lbrace K\rbrace_{S_1}\rbrace_{S_2}\cdots _{S_m}\) and together with \(\lbrace F \rbrace_K\) and \(S_1^{e_1},\dots,S_m^{e_m}\) is stored in the cloud. In similar manner, during download the owner sends to the key manager \((S_1 R)^{e_1},\dots,(S_m R)^{e_m}\) and after response recovers \(S_1,\dots,S_m\), hence \(K\) and \(F\).

Disjunctive Policies:
If file \(F\) is associated with policies \(P_1\vee \dots \vee P_m\), data owner has to generate data key \(K\) and keys \(S_1, \dots, S_m\) Key \(K\) is encrypted separately by each \(S_i\) key, namely: \(\lbrace K\rbrace_{S_1}, \dots \lbrace K\rbrace_{S_m}\) and together with \(\lbrace F \rbrace_K\) and \(S_1^{e_1},\dots,S_m^{e_m}\) is stored in the cloud. In order to recover \(F\) owner may use any of the policies.

Policy Reneval

Important is that the old policy will always be revoked first before the new policy is revoked. If the new policy is revoked first, then the file version that is protected with the old policy may still be accessible when the control keys of the old policy are compromised, meaning that the file is not assuredly deleted. A straightforward approach of implementing policy renewal is to combine the file upload and download operations, but without retrieving the encrypted file from the cloud.

Procedures summary

The procedures can be summarized as follows:

  • download all encrypted keys from the storage cloud,
  • send them to the key manager for decryption,
  • recover the data key,
  • re-encrypt the data key with the control keys of the new policies,
  • send the newly encrypted keys back to the cloud.

Fade: metadata 4/6

  • File metadata: contains two pieces of information -- file size and HMAC. FADE uses HMAC-SHA1 for integrity checking. The file metadata is of fixed size (with 8 bytes of file size and 20 bytes of HMAC) and is attached at the beginning of the encrypted file.
  • Policy metadata: includes the specification of the Boolean combination of policies and the corresponding encrypted cryptographic keys. Each single policy is specified by a unique 4-byte integer identifier. To represent a Boolean combination of policies '*' and '+' are used to denote the AND and OR operators. Policy metadata is uploaded as a separate file in order to allow easy policy changes.

Fade: architecture 5/6

Key manager functionality

  • Creating policy - the key manager creates a new policy and returns the corresponding public control key.
  • Retrieving the public control key of a policy - if the policy is accessible, then the key manager returns the public control key. Otherwise, an error is returned.
  • Decrypting a key with respect to a policy - if the policy is accessible, then the key manager decrypts the (blinded) key. Otherwise, an error is returned.
  • Revoking a policy - the key manager revokes the policy and removes the corresponding keys.

Data owner and Storage cloud interface

  • Upload(file,policy) - input file is encrypted using given policy and transfered to the cloud along with metadata. FADE uses 128-bit AES with CBC.
  • Download(file) - data owner retrieves the file and the policy metadata from the cloud, checks the integrity of the file, and decrypts the file.
  • Delete(policy) - data owner tells the key manager to permanently revoke the specified policy. All files associated with the policy will be assuredly deleted.
  • Renew(file,newpolicy) - data owner first fetches the policy metadata for the given file from the cloud, then updates the policy metadata with the new policy. Finally, sends the policy metadata back to the cloud.

Fade: performance 6/6

Results presented by the authors in   : 1  show that overhead caused by using FADE is not significant.
The results of the experiments are presented below.

Experiment 1. Performance of upload/download operations

File sizeTotal timeData transmisionAES+HMACKey managment
File(%)Policy(%)Time(%)Time(%)
1KB1.260s0.724s57.4%0.537s42.6%0.000s0.0%0.000s0.0%
10KB1.552s1.020s65.7%0.532s34.3%0.001s0.0%0.000s0.0%
100KB2.452s1.903s77.6%0.546s22.3%0.002s0.1%0.001s0.0%
1MB4.194s3.646s86.9%0.527s12.6%0.022s0.5%0.000s0.0%
10MB16.275s15.463s95.0%0.595s3.7%0.218s1.3%0.000s0.0%
Table 1a. Upload

File sizeTotal timeData transmisionAES+HMACKey managment
File(%)Policy(%)Time(%)Time(%)
1KB0.843s0.485s57.5%0.355s42.1%0.000s0.0%0.003s0.4%
10KB0.912s0.615s67.4%0.294s32.2%0.000s0.0%0.003s0.3%
100KB1.968s1.682s85.5%0.282s14.3%0.002s0.1%0.002s0.1%
1MB4.696s4.360s92.8%0.317s6.7%0.017s0.4%0.002s0.1%
10MB33.746s33.182s98.3%0.395s1.2%0.166s0.5%0.002s0.0%
Table 1b. Download

Experiment 2. Performance of policy updates

We do not show the AES+HMAC time as it is not involved in policy renewal.

File sizeTotal timeData transmisionKey managment
Download(%)Upload(%)Time(%)
1KB0.923s0.315s34.1%0.605s65.5%0.004s0.4%
10KB0.805s0.266s33.0%0.536s66.6%0.004s0.4%
100KB0.821s0.271s33.0%0.546s66.5%0.004s0.5%
1MB0.813s0.273s33.5%0.537s66.0%0.003s0.4%
10MB0.832s0.266s32.0%0.562s67.6%0.004s0.5%
Table 2.

Bibliography 1/1

1

Tang, Y., Lee, P.P.C., Lui, J.C.S., Perlman, R.: Secure overlay cloud storage with access control and assured deletion.

IEEE Trans. Dependable Secur. Comput. 9(6) (2012) 903-916. http://dx.doi.org/10.1109/TDSC.2012.49




Projekt Cloud Computing – nowe technologie w ofercie dydaktycznej Politechniki Wrocławskiej (UDA.POKL.04.03.00-00-135/12)jest realizowany w ramach Programu Operacyjnego Kapitał Ludzki, Priorytet IV. Szkolnictwo wyższe i nauka, Działanie 4.3. Wzmocnienie potencjału dydaktycznego uczelni w obszarach kluczowych w kontekście celów Strategii Europa 2020, współfinansowanego ze środków Europejskiego Funduszu Społecznego i budżetu Państwa