Architecture Considerations for Massively Parallel Hardware Security Platform
Cryptography as a service (CaaS) provides means for executing sensitive cryptographic operations when the primary computing platform does not offer the required level of trust and security. Instead of executing operations like document signing directly by an application running in untrusted environment, the operation keys are only present in trusted environment used by CaaS. Once the operation keys are put in place, the applications use a CaaS interface to obtain results of sensitive operations - document signatures - executed by CaaS. A typical scenario is the use of virtual computing platform in the cloud. Use of CaaS reduces impact of the potential compromise of this virtual platform and simplifies subsequent recovery. The attacker will not learn the value of sensitive keys (e.g., signing keys) and is only able to use the keys for a limited time. The CaaS is enabling technology for a large number of use cases where security is important. The concept of scalable and universally available CaaS has also far-reaching usability, security, legal, and economics consequences of cloud use. In this position paper, we focus on requirements for building a CaaS platform – what are the options and challenges to build hardware and software components for CaaS suitable for usage scenarios with different load patterns and user requirements. We propose a suitable architecture for CaaS that can be shared by a large number of concurrent users, i.e., providing access to a large number of cryptographic keys. We also provide practical results from our prototype implementation.
Unable to display preview. Download preview PDF.
- 1.CryptLib++ project, http://www.cryptlib.com/ (July 12, 2015)
- 2.OpenSSL project, https://openssl.org (July 12, 2015)
- 3.NVIDIAs next generation CUDA compute architecture: Fermi. NVIDIA (2009)Google Scholar
- 4.Amazon AWS. CloudHSM, https://aws.amazon.com/cloudhsm/ (July 12, 2015)
- 6.Chow, R., Golle, P., Jakobsson, M., Shi, E., Staddon, J., Masuoka, R., Molina, J.: Controlling data in the Cloud: Outsourcing computation without outsourcing control. In: ACM Workshop on Cloud Computing Security (CCSW 2009), pp. 85–90. ACM (2009)Google Scholar
- 9.Initiative for open authentication (OATH), http://www.openauthentication.org/ (July 12, 2015)
- 10.Gentry, C.: Fully homomorphic encryption using ideal lattices. In: 41st ACM Symposium on Theory of Computing (STOC), pp. 169–178. ACM (2009)Google Scholar
- 11.Jang, K., Han, S., Han, S., Moon, S., Park, K.: SSLSshader: cheap SSL acceleration with commodity processors. In: 8th USENIX Conference on Networked Systems and Implementation, NSDI 2011. USENIX Association (2011)Google Scholar
- 14.M’Raihi, D., Bellare, M., Hoornaert, F., Naccache, D., Ranen, O.: HOTP: An HMAC-based one-time password algorithm. In: RFC 4226. IETF (2005)Google Scholar
- 15.OpenVZ. VirtualHSM project, https://openvz.org/virtual_hsm (July 12, 2015)
- 16.Rankl, W., Effing, W.: Smart Card Handbook. Wiley (2004) ISBN 9780470856680Google Scholar
- 17.Robinson, P.: Cryptography as a service. In: RSAConference Europe 2013 (2013)Google Scholar
- 18.Švenda, P.: JCAlgTester project, http://www.fi.muni.cz/~xsvenda/jcsupport.html (July 12, 2015)