Cover image for CryptoGraphics : exploiting graphics cards for security
Title:
CryptoGraphics : exploiting graphics cards for security
Personal Author:
Series:
Advances in information security ; 20
Publication Information:
New York, NY : Springer-Verlag, 2006
ISBN:
9780387290157
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010150105 QA76.9.D314 C66 2006 Open Access Book Book
Searching...

On Order

Summary

Summary

Software that covertly monitors user actions, also known as spyware, has become a first-level security threat due to its ubiquity and the difficulty of detecting and removing it. This is especially so for video conferencing, thin-client computing and Internet cafes.

CryptoGraphics: Exploiting Graphics Cards for Security explores the potential for implementing ciphers within GPUs, and describes the relevance of GPU-based encryption to the security of applications involving remote displays. As the processing power of GPUs increases, research involving the use of GPUs for general purpose computing has arisen. This work extends such research by considering the use of a GPU as a parallel processor for encrypting data. The authors evaluate the operations found in symmetric and asymmetric key ciphers to determine if encryption can be programmed in existing GPUs. A detailed description for a GPU based implementation of AES is provided. The feasibility of GPU-based encryption allows the authors to explore the use of a GPU as a trusted system component. Unencrypted display data can be confined to the GPU to avoid exposing it to any malware running on the operating system.


Author Notes

An invited speaker at the 2005 RSA Conference, Cryptographers' Track, Debra Cook is a Ph.D. student in computer science at Columbia University in New York. Her research interests are focused in applied cryptography. She has a B.S. and M.S.E. in mathematical sciences from the Johns Hopkins University and an M.S. in computer science from Columbia. After graduating from Johns Hopkins, she was a senior technical staff member at Bell Labs and AT&T Labs before pursuing her Ph.D.

Angelos Keromytis is an Assistant Professor of Computer Science at Columbia University. His research interests include design and analysis of network and cryptographic protocols, software security and reliability, and operating system design. He received his Ph.D. in Computer Science from the University of Pennsylvania, and his B.S. in Computer Science from the University of Crete in Greece.


Table of Contents

List of Figuresp. ix
List of Tablesp. xi
Prefacep. xiii
Acknowledgmentsp. xv
1 Introductionp. 1
1.1 Overviewp. 1
1.2 GPUsp. 3
1.3 Motivationp. 3
1.4 Encryption in GPUsp. 4
1.5 Remotely Keyed CryptoGraphicsp. 5
1.6 Related Issuesp. 5
1.7 Extensionsp. 6
1.8 Conclusionsp. 6
2 Graphical Processing Unitsp. 9
2.1 Overviewp. 9
2.2 GPU Architecturep. 10
2.3 GPUs and General Purpose Programmingp. 15
2.4 APIsp. 17
2.5 OpenGL and Pixel Processingp. 19
2.6 Representing Data with Verticesp. 22
2.7 Non-Graphic Uses of GPUsp. 23
3 Motivationp. 25
3.1 Overviewp. 25
3.2 Accelerating Cryptographic Processingp. 25
3.2.1 Issuep. 25
3.2.2 Previous Approachesp. 26
3.2.3 Summary of the GPU-Based Approachp. 27
3.3 Malware and Spywarep. 28
3.3.1 Issuep. 28
3.3.2 Motivating Applicationsp. 28
3.3.3 Other Related Workp. 30
3.3.4 Summary of the GPU-Based Approachp. 33
3.4 Side Channel and Differential Fault Analysisp. 33
4 Encryption in GPUsp. 37
4.1 Overviewp. 37
4.2 Feasibility of Asymmetric Key Ciphersp. 38
4.3 Feasibility of Symmetric Key Ciphersp. 40
4.4 Modes of Encryptionp. 45
4.5 Example: AESp. 48
4.5.1 AES Backgroundp. 48
4.5.2 AES in OpenGLp. 53
4.5.3 AES Experimentsp. 58
4.5.4 Use of Parallel Processing in Attacksp. 64
4.6 GPUs and Stream Ciphersp. 64
4.6.1 Overviewp. 64
4.6.2 Experimentsp. 65
4.7 Conclusionsp. 67
5 Remotely Keyed Cryptographicsp. 69
5.1 Overviewp. 69
5.2 Keying of GPUsp. 69
5.3 Prototypep. 72
5.3.1 Purposep. 72
5.3.2 Architecturep. 72
5.3.3 Implementationp. 74
5.4 Design Decisionsp. 78
5.4.1 Remote Keyingp. 79
5.4.2 Decryption of Data in the GPUp. 80
5.5 Experimentsp. 82
5.6 Conclusionsp. 87
6 Related Issuesp. 89
6.1 Overviewp. 89
6.2 Protecting User Inputp. 89
6.3 Keying the GPUp. 90
6.4 Attacksp. 93
6.5 Trusted Platform Modulep. 95
6.6 Data Compressionp. 97
7 Extensionsp. 99
7.1 Overviewp. 99
7.2 Graphics-based Cipherp. 99
7.3 Encryption within DSPsp. 101
8 Conclusionsp. 103
8.1 Summaryp. 103
8.2 Suggested Projectsp. 105
Appendicesp. 107
A AES OpenGL Code for Encryptionp. 107
A.1 Overviewp. 107
A.2 Version Using the Red Pixel Component and the Back Bufferp. 107
A.3 Version Using the RGB Pixel Components and the Front Bufferp. 116
Referencesp. 131
Indexp. 139