General-Purpose computing on a Graphics Processing Unit (GPGPU) involves leveraging commodity GPUs as massively parallel processing units. GPGPU is an emerging computing paradigm for high-performance and data-intensive computations such as cryptographic operations. Although GPGPU is an attractive solution for accelerating modern cryptographic operations, the security challenges that stem from utilizing commodity GPUs remain an unresolved problem. In this dissertation, we investigate the protection of a cryptographic key during the acceleration of cryptographic operations on commodity GPUs under a broad range of GPU vulnerabilities and threats to the underlying host system. We show that the GPU cache can be used as a securely isolated place to store security-sensitive code and secret keys, where access is denied even to attackers with kernel privileges. Moreover, by carefully manipulating the GPU memory hierarchy, part of the GPU cache can be used exclusively for the secret key.
Second, we present an On-demand Bootstrapping Mechanism for Isolated cryptographic operations (OBMI). By leveraging System Management Mode (SMM), a privileged execution mode provided by x86 architectures, OBMI implements a program and a secret key into the GPU such that they are securely isolated during the acceleration of cryptographic operations, even in the presence of compromised kernels. Our approach does not require an additional hardware-abstraction layer, and it does not entail modifying the GPU driver. An evaluation of the proposed OBMI demonstrated that even adversaries with kernel privileges cannot gain access to the secret key, and it also showed that the proposed mechanism incurs negligible performance degradation for both the CPU and GPU. Finally, we suggest the utilization of SMM which enables the isolated cryptographic operations on commodity x86 processor. We show how SMM can achieve the efficient cryptographic operations, moreover, how it can make synergy with suggested GPGPU-based isolated cryptographic operations.
GPGPU는 범용 가속기를 이용하여 암호화 연산과 같은 고성능의 데이터 집약적 계산을 가능하게 하는 컴퓨팅 패러다임이다. GPGPU를 이용한 암호화 연산은 성능적인 이점을 가지고 있지만, 범용 가속기를 사용함에 의해 파생되는 보안 난제들을 가지고 있다. 본 학위 논문은 가속기에서 암호화 연산을 수행할 때, 키를 보호하는 방안을 제시한다. 첫번째로, 민감한 코드나 키를 가속기 캐시에 안전하게 저장할 수 있음을 보여주었다. 가속기 취약점 및 호스트 공격에서도 안전함을 보여주었으며, 캐시에 키만을 저장할 수 있는 방법을 제시하였다. 두번째로, x86 아키텍쳐의 권한 실행 모드인 SMM을 활용하여 프로그램과 키를 GPU에 안전하게 올릴 수 있는 메커니즘을 제시하였다. 이 메커니즘은 추가적인 하드웨어 추상화 레이어를 필요로 하지 않으며 가속기 드라이버의 수정도 필요로 하지 않는다. 보안 분석 결과 커널 권한을 가진 공격자도 키를 획득할 수 없었으며, CPU 와 GPU 의 성능 저하도 거의 유발하지 않았다. 마지막으로, SMM을 활용하여 x86 프로세서에서의 효율적인 암호화 연산을 가능하게 하였다.