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 Figures | p. ix |
List of Tables | p. xi |
Preface | p. xiii |
Acknowledgments | p. xv |
1 Introduction | p. 1 |
1.1 Overview | p. 1 |
1.2 GPUs | p. 3 |
1.3 Motivation | p. 3 |
1.4 Encryption in GPUs | p. 4 |
1.5 Remotely Keyed CryptoGraphics | p. 5 |
1.6 Related Issues | p. 5 |
1.7 Extensions | p. 6 |
1.8 Conclusions | p. 6 |
2 Graphical Processing Units | p. 9 |
2.1 Overview | p. 9 |
2.2 GPU Architecture | p. 10 |
2.3 GPUs and General Purpose Programming | p. 15 |
2.4 APIs | p. 17 |
2.5 OpenGL and Pixel Processing | p. 19 |
2.6 Representing Data with Vertices | p. 22 |
2.7 Non-Graphic Uses of GPUs | p. 23 |
3 Motivation | p. 25 |
3.1 Overview | p. 25 |
3.2 Accelerating Cryptographic Processing | p. 25 |
3.2.1 Issue | p. 25 |
3.2.2 Previous Approaches | p. 26 |
3.2.3 Summary of the GPU-Based Approach | p. 27 |
3.3 Malware and Spyware | p. 28 |
3.3.1 Issue | p. 28 |
3.3.2 Motivating Applications | p. 28 |
3.3.3 Other Related Work | p. 30 |
3.3.4 Summary of the GPU-Based Approach | p. 33 |
3.4 Side Channel and Differential Fault Analysis | p. 33 |
4 Encryption in GPUs | p. 37 |
4.1 Overview | p. 37 |
4.2 Feasibility of Asymmetric Key Ciphers | p. 38 |
4.3 Feasibility of Symmetric Key Ciphers | p. 40 |
4.4 Modes of Encryption | p. 45 |
4.5 Example: AES | p. 48 |
4.5.1 AES Background | p. 48 |
4.5.2 AES in OpenGL | p. 53 |
4.5.3 AES Experiments | p. 58 |
4.5.4 Use of Parallel Processing in Attacks | p. 64 |
4.6 GPUs and Stream Ciphers | p. 64 |
4.6.1 Overview | p. 64 |
4.6.2 Experiments | p. 65 |
4.7 Conclusions | p. 67 |
5 Remotely Keyed Cryptographics | p. 69 |
5.1 Overview | p. 69 |
5.2 Keying of GPUs | p. 69 |
5.3 Prototype | p. 72 |
5.3.1 Purpose | p. 72 |
5.3.2 Architecture | p. 72 |
5.3.3 Implementation | p. 74 |
5.4 Design Decisions | p. 78 |
5.4.1 Remote Keying | p. 79 |
5.4.2 Decryption of Data in the GPU | p. 80 |
5.5 Experiments | p. 82 |
5.6 Conclusions | p. 87 |
6 Related Issues | p. 89 |
6.1 Overview | p. 89 |
6.2 Protecting User Input | p. 89 |
6.3 Keying the GPU | p. 90 |
6.4 Attacks | p. 93 |
6.5 Trusted Platform Module | p. 95 |
6.6 Data Compression | p. 97 |
7 Extensions | p. 99 |
7.1 Overview | p. 99 |
7.2 Graphics-based Cipher | p. 99 |
7.3 Encryption within DSPs | p. 101 |
8 Conclusions | p. 103 |
8.1 Summary | p. 103 |
8.2 Suggested Projects | p. 105 |
Appendices | p. 107 |
A AES OpenGL Code for Encryption | p. 107 |
A.1 Overview | p. 107 |
A.2 Version Using the Red Pixel Component and the Back Buffer | p. 107 |
A.3 Version Using the RGB Pixel Components and the Front Buffer | p. 116 |
References | p. 131 |
Index | p. 139 |