Master’s Project Proposal Ensuring data integrity with tamper evident encryption of integers using keyed Hash Message Authentication Code Brad Baker September 28, 2009 Approved by: ________________________________________________________________ Advisor: Dr. Edward Chow Date ________________________________________________________________ Committee Member: Dr. Jugal Kalita Date ________________________________________________________________ Committee Member: Dr. Terrance Boult Date 1. Abstract This project will design and implement improvements to a Hash Message Authentication Code (HMAC) based encryption scheme presented in [1] “How to Construct a New Encryption Scheme Supporting Range Queries on Encrypted Database” presented by Dong Hyeok Lee, You Jin Song, Sung Min Lee, Taek Yong Nam and Jong Su Jang at the IEEE 2007 International Conference on Convergence Information Technology. The result will be a symmetric encryption scheme based on the HMAC operation using the SHA-1 hash algorithm which will have the ability to detect unauthorized updates to stored ciphertext data. In addition to tamper detection, efficiency improvements will be included in the encryption algorithm. This improved encryption scheme will be designed to process positive integer values and will decompose these values into buckets using modular arithmetic. The buckets will be encrypted using the HMAC-SHA1 function. The secret key will be expanded for each plaintext value using a specific transformation process. Data will be processed through block encryption and decryption, with the goal of implementing the scheme in a database system. Unauthorized changes to ciphertext values will be detected. The hash output of the HMAC function will serve as both the ciphertext and digest. Figure 1 shows the concept of the encryption algorithm. Figure 1 - Concept of the proposed project algorithm This paper is organized as follows: the background and motivation for the project are discussed in section two, the concepts for algorithm improvements are discussed in section three, and specific project details are discussed in section four. 2. Introduction and background This project relies on existing work including the Hash Message Authentication Code (HMAC) ([3], [8]) and a HMAC based encryption algorithm [1]. This section summarizes concepts from existing work that motivates this project. 2.1 General introduction Confidentiality and integrity of data are important and continuing goals in computing, particularly in database processing and communications. The amount and importance of sensitive data that computers store, process and transmit over networks is constantly increasing, as are the consequences of data breaches. Confidentiality ensures that sensitive data is not revealed to unauthorized individuals, and integrity ensures that sensitive data is not corrupted or updated by unauthorized individuals. Cryptography provides several processes to support confidentiality and integrity, including symmetric and asymmetric key algorithms for confidentiality and digest or signature algorithms for integrity. Generally, encryption algorithms such as AES or RSA provide strong confidentiality but don’t provide integrity and hash digest algorithms such as SHA or Whirlpool provide integrity without confidentiality. Traditional methods to obtain both confidentiality and integrity include combining encryption and digest algorithms, for example encrypting the plaintext data and computing a digest against the ciphertext. The recent emergence of embedded multimedia applications such as mobile, TV, video-messaging, and telemedicine have increased the impact of multimedia and its security on our personal lives. With the advent and consequent vast growth of the Internet, intellectual property has become vulnerable to a number of threats that range from information retrieval to destruction of the intellectual property. Hence one has found the extensive need to secure such intellectual property. Intellectual property in the form of multimedia data files has been under constant threat over the years. Given the fact that often files (including multimedia) would need to be communicated through possibly insecure channels where an imposter or an intruder may cause extensive damage to such intellectual property. It has become the need of the hour that methods are devised to ensure secure communication of such file. 2.2 Summary of Multimedia Encryption Multimedia encryption involves changing the multimedia data stream itself to ensure secure transmission of video data between client and server (or two nodes). It can be accomplished by means of standard symmetric key cryptography where multimedia bit stream is treated as a binary sequence and the whole data can be encrypted using conventional cryptosystem such as AES or DES. In general, when the application requirements are not dynamic (not a real-time streaming) we can treat bit stream as a regular binary data stream and use the conventional encryption techniques. Encrypting the entire multimedia stream using standard encryption methods is referred to as the naive algorithm. There are many practical constraints in case of multimedia which make such a scheme not practical in real-life scenario. Communication encryption of multimedia content is a problem beyond the application of established encryption algorithms, such as DES or AES, to its binary sequence. This is primarily due to the way multimedia is used commercially. Unlike data encryption, where we want to encrypt a complete bit stream, mobile multimedia encryption introduces several challenges. For example, the content providers want to ensure real-time streaming of videos. 2.1 Flexibility to perform selective encryption: In the frequency domain, it is easier to identify what parts of the data are critical for security purpose. This allows providing different levels of security and transparency. Encryption can be performed on just audio/video frames, when performance of the takes a major role. Thus selecting the part of the file, like just audio or just video, needs to be encrypted only the frames respective to the selection, are encrypted. This improves the performance of the encryption system, when we consider a large stream of video. Encryption can be performed on complete video stream, which encrypts both audio and video frames. 3. Algorithm This project will encrypt only the selected frames in multimedia, render the file playable. Each selected frames are encrypted separately. Multimedia Analyze to find out frames to be encrypted Selected Encrypt frames frames Remaining frames Encrypted multimedia Transmit Network Transmit Multimedia Unencrypted Analyze as to which frames to be decrypted frames Frames to be decrypted Decrypt frame Decrypted frames 3.1 High-level description of algorithm used to encrypt frames 1. Initial Round: a. Divide the stream in frames to 16 bytes of sub-frames, consider it as a 4x4 matrix. Each sub-frames are encrypted separately. 2. Rounds: a. Operate on the part of matrix: Divide the matrix as 2x2 matrix (each cell will be containing 2x2 matrix in it). Perform Xor operation on 1st part of the matrix with its next one. b. Operate with Key: Perform Xor operation on the 4x4 matrix with key of 16 bytes (considering the key as 4x4 matrix for the operation) c. Shift cells: shift the divided matrix cell values clockwise. 3. Final Round: a. Append the encrypted sub-frames. 4. Project plan The ultimate goal of this project is to define improvements to the HMAC encryption algorithm, implement and test those improvements. The end result will be a working tamper detection encryption algorithm. Additional goals include building the process into an add-on for a DBMS such as Postgresql, so the process can be easily used in a database environment. 4.1 Schedule This project is to be completed by the end of term, fall 2009. The following is a proposed schedule for the project: August 28, 2009 Completed final project proposal September 1, 2009 Begin project work October 1, 2009 Approved project proposal November 1, 2009 Completed project work and draft of report November 6, 2009 Completed final project report Before Nov 24, 2009 Completed project defense December 19, 2009 End of fall 2009 term 4.2 Deliverables There are several deliverables as goals for this project. These are presented in the order of highest to lowest priority. In the situation of technical problems, lower priority deliverables may not be realized. High priority – critical: o Project report, including: A complete discussion of the project and results o Improved encryption/decryption algorithm, including: The ability to detect tampering with ciphertext. Efficiency improvements. Central concepts of bucket based processing and key transformation. o Implementation of the improved algorithm for flat file processing, including: A program to encrypt and decrypt plaintext and ciphertext values stored in normal text files o Analysis of improved algorithm, including: Quantification of the strength of tamper protection Quantification of the strength of encryption Possibly comparison to AES encryption with block chaining mode or similar o Testing of improved algorithm and implementation, including: Efficiency testing and tamper detection testing. Thorough testing to validate the results. o Implementation of the improved algorithm as a DBMS add-on, including: A program to encrypt and decrypt plaintext and ciphertext values stored in database tables. Medium priority – goals: o Improved algorithm to handle additional challenges, pending feasibility This can include processing negative numbers, some real numbers, or other improvements that might become apparent 4.3 References Preliminary references relating to research done for this project proposal are listed below. [1] [2] [3] [4] [5] [6] [7] [8] Dong Hyeok Lee; You Jin Song; Sung Min Lee; Taek Yong Nam; Jong Su Jang, "How to Construct a New Encryption Scheme Supporting Range Queries on Encrypted Database," Convergence Information Technology, 2007. International Conference on , vol., no., pp.1402-1407, 21-23 Nov. 2007 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4420452&isnumber=4420217 Brad Baker, "Analysis of an HMAC Based Database Encryption Scheme," UCCS Summer 2009 Independent study July. 2009 URL: http://cs.uccs.edu/~gsc/pub/master/bbaker/doc/final_paper_bbaker_cs592.doc Wikipedia, July 2009. HMAC reference material. URI= http://en.wikipedia.org/wiki/Hmac Forouzan, Behrouz A. 2008. Cryptography and Network Security. McGraw Hill higher Education. ISBN 9780-07-287022-0 Gopalan Sivathanu, Charles P. Wright, and Erez Zadok, " Ensuring Data Integrity in Storage: Techniques and Applications," Workshop On Storage Security And Survivability - Proceedings of the 2005 ACM workshop on Storage security and survivability. 2005 URL: http://doi.acm.org/10.1145/1103780.1103784 Elbaz, R.; Torres, L.; Sassatelli, G.; Guillemin, P.; Bardouillet, M., "PE-ICE: Parallelized Encryption and Integrity Checking Engine," Design and Diagnostics of Electronic Circuits and systems, 2006 IEEE , vol., no., pp.141-142, 0-0 0 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1649595&isnumber=34591 Gene Itkis, " Cryptographic Tamper Evidence," Conference on Computer and Communications Security Proceedings of the 10th ACM conference on Computer and communications security table of contents. 2003 URL: http://doi.acm.org/10.1145/948109.948156 NIST, August 2009. FIPS Pub 198 HMAC specification. URI= http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf