2.3 Summary
3.1.3 Challenges and Limitations
While these solutions do satisfy some of the requirements for assured deletion, they also have various limitations. These are discussed below.
Key Management: Some enterprises and users have struggled to adopt encryption tech- nology because of the overhead performance issues and key management issues. When using encryption, the client does not only need to deal with protecting the data but also needs to protect the encryption keys themselves. As a result, some users have adopted third-party key management systems. FADE and FADEVersion base their trust in a key escrow system to manage the encryption keys. However, if one cannot fully trust the cloud provider, should this not place the same doubt on these third-party services? These services are vulnerable to the same adversaries as the cloud providers (e.g., insider threats). Moreover, in practice, they may introduce some bottlenecks hence reducing performance. For instance, when using a third-party key manager, one has to first access the keys before they can access the data securely. Sometimes this process can delay and even affect the performance of the service.
Another challenge is deciding on the granularity of the keys, whether one key should be used for all or whether each file should have its own key. Mo et al. (2014b) and Rahumed et al. (2011) consider deletion granularity in their solutions, both solutions suggest that each
38 Assured Deletion Requirements and Challenges
file should have its own encryption key. Nonetheless, this increases the number of encryption keys one has to deal with and may be cumbersome to manage, leading to usability problems. Moreover, sharing encrypted data also becomes a problem, especially when more than one user needs to access the encrypted data. This problem is explained later in detail in the next sections. Nonetheless, key management systems are sometimes proprietary and support a limited number of cloud providers; cloud tenants may struggle to find an appropriate key management system.
Usability: Integration of encryption into systems has shown to have a negative impact on users (Whitten and Tygar 1999, Smith 2003, Furnell 2005). Research has shown that users struggle to use encryption systems and are likely to make mistakes, especially with encryption keys. It is possible that cloud users may make mistakes when deleting keys as part of assured deletion. For example, a user may delete a wrong key or forget to encrypt a file after use. Another concern is the issue of effort (i.e., the addition of extra steps into the process of completing a daily task). Extra steps often are circumvented by users when they get in the way of their daily activities (Adams and Sasse 1999). Moreover, users are not only required to understand why such solutions are in place but also, their responsibilities to make such solutions work effectively.
Limited Data Use: When data is encrypted outside the cloud, there is little to do with it in the cloud unless the keys are also shared with the cloud provider. Encryption limits data use. Current solutions do not mention how this issue will be addressed if the cloud tenant also uses the cloud to process data. Some cloud applications do not yet accommodate the use of encrypted data. When encrypted, data loses some of its properties such as the ability to be searched or sorted. A naive solution to circumvent this would be to download it first before performing such operations. Still, this can be burdensome on the client hence reducing productivity.
Though there have been some proposed solutions (Naehrig et al. 2011, Van Dijk et al. 2010, Curtmola et al. 2011) to tackle the issues mentioned above, most of them are still in their infancy and are not yet practical to be adopted in cloud applications. For example, most of the homomorphic encryption schemes that have been proposed only support a limited number of operations (Fan and Vercauteren 2012).
Data Sharing: Encryption makes sharing data difficult especially when all involved parties need to access the same data. Current cryptographic schemes depend on using a single set of secret keys, therefore, allowing access to a single user. In order to share data, users end up
3.1 Dishonest Cloud Provider 39
sharing encryption keys which can be costly during key revocations as it requires all the data to be re-encrypted (Dong et al. 2011). Moreover, sharing encryption keys leaves both the data and the keys vulnerable.
One of the benefits of cloud computing is high availability, the ability to access data regardless of location and time. However, with encryption in place, this can become a challenge as users may need to share encryption key between devices hence putting keys at risk.
Table 3.1 Summary: Open Research Areas
Emerging Solution Challenges
EM1- Homomorphic Encryption - Impractical for cloud applications. - Causes a lot of computational overhead.
EM2- Partial Homomorphic Encryption Support limited amount of datasets (Barhamgi et al. 2016b). - Does not support all queries.
- Causes a lot of computational overheads. EM3- Searchable Encryption - Does not support all queries.
- Causes a lot of computational overheads (Van Liesdonk et al. 2010).
EM4- Trusted Computing - Expensive
- User needs to transfer secret key to the trusted hardware (Barhamgi et al. 2016b).
- Compatibility with current infrastructures. - Verification and attestation (Santos et al. 2009)