Implementation of FPGA Bitstream Encryption and Authentication Using CCM and EAX Modes of Operation

Total Page:16

File Type:pdf, Size:1020Kb

Implementation of FPGA Bitstream Encryption and Authentication Using CCM and EAX Modes of Operation Implementation of FPGA Bitstream Encryption and Authentication using CCM and EAX Modes of Operation Milind M. Parelkar Introduction: Current generation of FPGAs use bitstream encryption as a means of security. Although bitstream encryption prevents unauthorized cloning of the bitstream, there are a few other security scenarios which necessitate adding bitstream authentication to FPGAs in addition to encryption [3,4]. The goal of this project is to extend the already existing research work done in this field. Previous work in this field by this author includes hardware implementation of HMACs using Hash functions. Hash functions implemented were SHA-1, SHA-256 and SHA-512. One of the drawbacks of the used approach is that encryption and authentication both require a pass through different algorithms to ensure security. The solution to this problem is to implement Authenticated Encryption schemes which provide both encryption and authentication using the same block cipher core[1,2]. Authenticated Encryption Schemes: Authenticated encryption schemes can be divided into 2 types; single pass and double pass schemes[2]. In a single pass scheme, only one iteration through a block cipher core provides both encryption and authentication. These schemes include IAPM, OCB and XCBC. Two pass schemes acknowledge the fact that not all data needs to be protected. For example, packet headers etc. can be sent in the clear as long as they are authenticated. Amongst the two-pass schemes put forward, CCM has enjoyed rapid success and is a required mechanism for wireless LANs and personal area networks[1]. EAX is an improvement over CCM taking into consideration a number of factors. For example, CCM is not online; the length of the data must be known beforehand in order to compute the ciphertext and the signature. EAX improves over this property of CCM. The developers of EAX claim that CCM has unnecessary parameterization [2] which leads to inefficient implementation. Project Goals: The goal of this project is to implement CCM and EAX mode using AES as the block cipher core. The results of hardware implementations of these modes will be compared for different implementation platforms. Targeted platforms include FPGA and ASIC. An already existing implementation of AES will be used as the starting point. CCM mode: CCM stands for Counter with CBC-MAC. It is only defined for use with 128-bit block ciphers like AES. For a detailed description of the mode, please refer to [1]. A few parameters are explained here for clarity. There are 2 parameter choices, the size of the authentication field (M) and the size of the length field (L). Both L and M are specified in terms of number of octets. The mode also utilizes a Nonce (N) of 15-L octets. Nonce acts as an Initialization Vector (IV). The mode also supports transmission of some additional data which is not encrypted but authenticated. A block diagram for the top level entity of CCM mode is presented here. The signals included in the top level entity might change depending upon further design considerations and implementation efficiency. A list of interface signals is listed below. Signal Name Mode Bus Width Function Key IN Equal to the width of The secret key is input through the corresponding port this port. of the AES core. Nonce IN 8 bits. Since the size of The Nonce is input through this the Nonce is 15-L port. The Nonce acts as the IV octets, it will always be for this mode. a multiple of 8 bits. M IN 3 bits M indicates the number of octets in the authentication field. L IN 3 bits L indicates the number of octets in the length field. Message IN Equal to the width of The message which has to the corresponding port encrypted and authenticated is of the AES core. input through this port. Additional IN Equal to the width of Additional data (like packet Authenticated Data the message port. headers etc.) which is to be authenticated but not encrypted is input through this port. Input FIFO IN (Not yet designed) Interface signals include signals Interface Signals which are required to perform handshaking operations with the input FIFO. Ciphertext Output OUT Equal to the width of The encrypted output data is the corresponding port available on this port. of the AES core. Authentication OUT Depends upon The message signature is Output parameter M available on this port. Output Valid OUT 1 bit. Output Flag indicating that outputs are valid. Output FIFO OUT (Not yet designed) Interface signals include signals Interface Signals which are required to perform handshaking operations with the output FIFO. Reset IN 1 bit. Master Reset EAX Mode: A block diagram for EAX mode is shown below. The goal is to design the top-level entity such that it is similar to the top-level entity for CCM mode. The main difference is that the number of parameters specified for CCM mode is more than EAX mode [2]. Hence the top-level entity for EAX mode has fewer signals than CCM mode. All signals in the EAX mode correspond to table entries for corresponding signals in the CCM mode. Additional Authenticated Data in CCM mode is denoted by Header in EAX mode. Language and Tools: Language: VHDL Tools: • Simulator: Aldec Active HDL v6.2, ModelSim • ASIC Synthesis Tools: Synopsys Design Compiler and related tools • FPGA Synthesis Tools: Synplify Pro v7.6, Xilinx XST v6.x • FPGA Implementation Tool: Xilinx ISE 6.x Testing: A VHDL testbench will be used to test the operation of the design. Test vectors are provided in the specifications for the modes of operation [1,2]. Optimization Criteria: One of the optimization criteria would be minimum area. Since the authentication core would consume some real estate on the FPGA, it should not lead to a large area overhead. Maximizing the throughput would also be an important criterion. Hence the aim would be to achieve the maximum throughput to area ratio. Possible Changes in the Specification: A possible change would be the addition of some extra control signals in the top level entity of the design. Since the circuit has not been completely designed at this stage, it is difficult to accurately include all possible control signals. References: 1. Counter with CBC-MAC (CCM), Submission to NIST, CryptoToolkit, available at http://csrc.nist.gov/CryptoToolkit/modes/proposedmodes/ccm/ccm.pdf 2. EAX mode Specifications, Available at http://www.cs.ucdavis.edu/~rogaway/papers/eax.pdf 3. Is Your FPGA Design Secure? – XCell Journal Online, available at http://www.xilinx.com/publications/xcellonline/xcell_47/xc_secure47.htm 4. Security Scenarios, available at http://www.actel.com/documents/SecurityScenarios.pdf 5. Design Security in Nonvolatile Flash and Antifuse FPGAs, available at www.actel.com/documents/DesignSecurity.pdf 6. A Whitepaper of SRAM FPGA Security, Ray Schouten, available at http://www.fpga.com.cn/advance/skill/SRAM_Security_whitepaper.pdf .
Recommended publications
  • The EAX Mode of Operation
    A preliminary version of this papers appears in Fast Software Encryption ’04, Lecture Notes in Computer Science, vol. ?? , R. Bimal and W. Meier ed., Springer-Verlag, 2004. This is the full version. The EAX Mode of Operation (A Two-Pass Authenticated-Encryption Scheme Optimized for Simplicity and Efficiency) ∗ † ‡ M. BELLARE P. ROGAWAY D. WAGNER January 18, 2004 Abstract We propose a block-cipher mode of operation, EAX, for solving the problem of authenticated-encryption with associated-data (AEAD). Given a nonce N, a message M, and a header H, our mode protects the privacy of M and the authenticity of both M and H. Strings N, M, and H are arbitrary bit strings, and the mode uses 2|M|/n + |H|/n + |N|/n block-cipher calls when these strings are nonempty and n is the block length of the underlying block cipher. Among EAX’s characteristics are that it is on-line (the length of a message isn’t needed to begin processing it) and a fixed header can be pre-processed, effectively removing the per-message cost of binding it to the ciphertext. EAX is obtained by first creating a generic-composition method, EAX2, and then collapsing its two keys into one. EAX is provably secure under a standard complexity-theoretic assumption. The proof of this fact is novel and involved. EAX is an alternative to CCM [26], which was created to answer the wish within standards bodies for a fully-specified and patent-free AEAD mode. As such, CCM and EAX are two-pass schemes, with one pass for achieving privacy and one for authenticity.
    [Show full text]
  • Efficient & Secure Cipher Scheme with Dynamic Key-Dependent Mode Of
    Efficient & secure cipher scheme with dynamic key-dependent mode of operation Hassan Noura, Ali Chehab, Raphael Couturier To cite this version: Hassan Noura, Ali Chehab, Raphael Couturier. Efficient & secure cipher scheme with dynamic key- dependent mode of operation. Signal Processing: Image Communication, Elsevier, 2019, 78, pp.448 - 464. hal-02366798 HAL Id: hal-02366798 https://hal.archives-ouvertes.fr/hal-02366798 Submitted on 16 Nov 2019 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Efficient & Secure Cipher Scheme with Dynamic Key-Dependent Mode of Operation Hassan N. Nouraa, Ali Chehaba, Rapha¨elCouturierb a Electrical and Computer Engineering American University of Beirut (AUB) Beirut, Lebanon bUniv. Bourgogne Franche-Comt´e(UBFC), FEMTO-ST Institute, CNRS, Belfort, France Abstract Security attacks are constantly on the rise leading to drastic consequences. Several secu- rity services are required more than ever to prevent both passive and active attacks such as Data Confidentiality (DC). A DC security service is typically based on a strong symmetric cipher algorithm. However, some of today's applications, such as real-time applications and those running on constrained devices, require efficient lightweight cipher schemes that can achieve a good balance between the security level and system performance.
    [Show full text]
  • Modes of Operation Module No: CS/CNS/1
    e-PGPathshala Subject : Computer Science Paper: Cryptography and Network Security Module: Modes of Operation Module No: CS/CNS/18 Quadrant 1 – e-text Cryptography and Network Security Module 18- Modes of Operation Learning Objectives To understand the Overview of Modes of Operation Discuss about each mode of operation such as EBC, CBC, CFB, OFB, CTR To Compare different modes and to discuss remarks over them 18.1. INTRODUCTION So far we have seen the basic working of block ciphers. In this section, we discuss about modes of operation of block ciphers. Basically the lengthy plain text is divided into number of blocks in block ciphers. Block ciphers encrypt fixed size blocks eg. DES encrypts 64-bit blocks, with 56-bit key. But in actual scenario, the file size which has to be encrypted may not be the multiple of the block size. That is in practise, we usually need to handle arbitrary amounts of data, which may be available in advance (in which case a block mode is appropriate), and may only be available a bit/byte at a time (in which case a stream mode is used). A mode of operation describes the process of encrypting each of these blocks under a single key. A mode of operation describes the process of encrypting each of these blocks under a single key. Some modes may use randomised addition input value. We can apply a particular mode of operation in this situation. Basic modes of operations such as Electronic Code Book(ECB), Cipher Block Chaining(CBC), Cipher Feed Back (CFB), Output Feed Back (OFB), Counter (CTR) modes are considered here.
    [Show full text]
  • Authenticated Encryption Mode IAPM Using SHA-3'S Public Random
    Authenticated Encryption Mode IAPM using SHA-3’s Public Random Permutation Charanjit Jutla IBM T. J. Watson Research Center New York 10598 Abstract. We study instantiating the random permutation of the block- cipher mode of operation IAPM (Integrity-Aware Parallelizable Mode) with the public random permutation of Keccak, on which the draft stan- dard SHA-3 is built. IAPM and the related mode OCB are single-pass highly parallelizable authenticated-encryption modes, and while they were originally proven secure in the private random permutation model, Kurosawa has shown that they are also secure in the public random per- mutation model assuming the whitening keys are uniformly chosen with double the usual entropy. In this paper, we show a general composabil- ity result that shows that the whitening key can be obtained from the usual entropy source by a key-derivation function which is itself built on Keccak. We stress that this does not follow directly from the usual indifferentiability of key-derivation function constructions from Random Oracles. We also show that a simple and general construction, again employing Keccak, can also be used to make the IAPM scheme key- dependent-message secure. Finally, implementations on modern AMD-64 architecture supporting 128-bit SIMD instructions, and not supporting the native AES instructions, show that IAPM with Keccak runs three times faster than IAPM with AES. 1 Introduction Symmetric key encryption of bulk data is usually performed using either a stream cipher or a block cipher. A long message is divided into small fixed-size blocks and encryption is performed by either a stream-cipher mode or a block-cipher mode employing a cryptographic primitive that operates on blocks.
    [Show full text]
  • The Design and Evolution Of
    J Cryptol (2021) 34:36 https://doi.org/10.1007/s00145-021-09399-8 The Design and Evolution of OCB Ted Krovetz Computer Science Department, California State University, 6000 J Street, Sacramento, California 95819, USA [email protected] Phillip Rogaway Department of Computer Science, Kemper Hall of Engineering, University of California, Davis, California 95616, USA [email protected] Communicated by Tetsu Iwata. Received 20 December 2019 / Revised 26 August 2020 / Accepted 14 September 2020 Abstract. We describe OCB3, the final version of OCB, a blockcipher mode for au- thenticated encryption (AE). We prove the construction secure, up to the birthday bound, assuming its underlying blockcipher is secure as a strong-PRP. We study the scheme’s software performance, comparing its speed, on multiple platforms, to a variety of other AE schemes. We reflect on the history and development of the mode. Keywords. AEAD, Authenticated encryption, CAESAR competition, Cryptographic standards, Fast software encryption, Modes of operation, OCB. 1. Introduction Schemes for authenticated encryption (AE) symmetrically encrypt a message in a way that ensures both its confidentiality and authenticity. OCB is a well-known algorithm for achieving this aim. It is a blockcipher mode of operation, the blockcipher usually being AES. There are three main variants of OCB. The first, now called OCB1 (2001) [39], was mo- tivated by Charanjit Jutla’s IAPM [24]. A second version, now called OCB2 (2004) [18, 38], added support for associated data (AD) [37] and redeveloped the mode using the idea of a tweakable blockcipher [30]. OCB2 was recently found to have a disastrous bug [17].
    [Show full text]
  • Parallelizable Encryption Mode With
    Parallelizable Encryption Mo de with Almost Free Message Integrity Charanjit S. Jutla IBM T. J. Watson Research Center, Yorktown Heights, NY 10598-704 1 Intro duction In this do cument we prop ose a new mo de of op eration for symmetric key blo ck cipher algorithms. The main feature distinguishing the prop osed mo de from existing mo des is that along with providing confdentiality of the message, it also provides message integrity. In other words, the new mo de is not just a mo de of op eration for encryption, but a mo de of op eration for authenticated encryption. As the title of the do cument suggests, the new mo de achieves the additional prop erty with little extra overhead, as will b e explained b elow. The new mo de is also highly parallelizable. In fact, it has critical path of only two blo ck cipher invocations. By one estimate, a hardware implementation of this mo de on a single b oard (housing 1000 blo ck cipher units) achieves terabits/sec 12 (10 bits/sec) of authenticated encryption. Moreover, there is no p enalty for doing a serial implementation of this mo de. The new mo de also comes with pro ofs of security, assuming that the under- lying blo ck ciphers are secure. For confdentiality, the mo de achieves the same provable security b ound as CBC. For authentication, the mo de achieves the same provable security b ound as CBC-MAC. The new parallelizable mo de removes chaining from the well known CBC mo de, and instead do es an input whitening (as well an output whitening) with a pairwise indep endent sequence.
    [Show full text]
  • H244 Cryptography and Network Security
    New developments in cryptology Prof. Bart Preneel COSIC Bart.Preneel(at)esatDOTkuleuven.be http://homes.esat.kuleuven.be/~preneel © Bart Preneel. All rights reserved Outline • 1. Cryptology: protocols – identification/entity authentication – key establishment • 2. Public Key Infrastructures • 3. Secure Networking protocols – Internet Security: email, web, IPSEC, SSL • 4. Using cryptography well • 5. New developments in cryptology Outline • Modes of operation • The hash function disaster • How to encrypt using RSA • Algorithm: secure design and implementation • Obfuscation • SPAM fighting How to use cryptographic algorithms • Modes of operation • Padding and error messages • Authenticated encryption • How to encrypt with RSA How NOT to use a block cipher: ECB mode P1 P2 P3 block block block cipher cipher cipher C1 C2 C3 An example plaintext Encrypted with substitution and transposition cipher Encrypted with AES in ECB and CBC mode How to use a block cipher: CBC mode P1 P2 P3 IV AES AES AES C1 C2 C3 CBC mode decryption P1 P2 P3 IV AES-1 AES-1 AES-1 C1 C2 C3 What if IV is constant? P1 P2‟ P3‟ IV AES AES AES C1 C2‟ C3‟ Repetition in P results in repetition in C: information leakage need random and secret IV CBC with incomplete plaintext (1) Plaintext length 1 byte in bytes P1 P2 P3|| 0000..0 IV AES AES AES C1 C2 C3 CBC with incomplete plaintext (2) Plaintext length in bytes + 1100110011||0000….000 P1 P2 P3|| 1000..0 IV AES-1 AES-1 AES-1 C1 C2 C3 + 1100110011||0000….000 CBC with incomplete plaintext (3) Plaintext length in bytes + 1100110011||0000….000
    [Show full text]
  • Report on the Symmetric Key Block Cipher Modes of Operation Workshop October 20, 2000 Sponsored by the National Institute of Standards and Technology (NIST)
    Report on the Symmetric Key Block Cipher Modes of Operation Workshop October 20, 2000 Sponsored by the National Institute of Standards and Technology (NIST) A workshop was held to discuss the modes of operation for symmetric key block cipher algorithms on October 20, 2000 at the Baltimore Convention Center in Baltimore Maryland. 1. Welcome and Overview of Intent Elaine Barker extended a welcome to the workshop attendees and served as the workshop moderator. Elaine stated that the purpose of this workshop was to discuss the modes for protecting data using symmetric key block cipher techniques such as the Advanced Encryption Standard (AES). NIST plans to develop a new modes standard that is written to be independent of specific key or block sizes for specific algorithms, and to include the four DES modes (ECB, CBC, ECB, OFB) that were originally defined in Federal Information Processing Standard (FIPS) 81. Since FIPS 81 was written to be specific to DES and its key and block size, a new standard is needed that will address other symmetric key block cipher algorithms such as AES. Since the world has advanced beyond the world of the 1980s, other modes for protecting data for applications using these technologies are required. The intent of this workshop was to discuss additional modes, the security they afford and their applications. NIST would like to minimize the number of additional modes in order to avoid unnecessary implementation costs and promote interoperability. 2. Presentations Several papers were provided to NIST prior to the workshop as public comments. These papers and the associated presentations are provided on the NIST modes web page (http://www.nist.gov/modes), along with other comments received.
    [Show full text]
  • On the Security of CTR + CBC-MAC NIST Modes of Operation – Additional CCM Documentation
    On the Security of CTR + CBC-MAC NIST Modes of Operation { Additional CCM Documentation Jakob Jonsson? jakob [email protected] Abstract. We analyze the security of the CTR + CBC-MAC (CCM) encryption mode. This mode, proposed by Doug Whiting, Russ Housley, and Niels Ferguson, combines the CTR (“counter”) encryption mode with CBC-MAC message authentication and is based on a block cipher such as AES. We present concrete lower bounds for the security of CCM in terms of the security of the underlying block cipher. The conclusion is that CCM provides a level of privacy and authenticity that is in line with other proposed modes such as OCB. Keywords: AES, authenticated encryption, modes of operation. Note: A slightly different version of this paper will appear in the Proceedings from Selected Areas of Cryptography (SAC) 2002. 1 Introduction Background. Block ciphers are popular building blocks in cryptographic algo­ rithms intended to provide information services such as privacy and authenticity. Such block-cipher based algorithms are referred to as modes of operation. Exam­ ples of encryption modes of operation are Cipher Block Chaining Mode (CBC) [23], Electronic Codebook Mode (ECB) [23], and Counter Mode (CTR) [9]. Since each of these modes provides privacy only and not authenticity, most applica­ tions require that the mode be combined with an authentication mechanism, typically a MAC algorithm [21] based on a hash function such as SHA-1 [24]. For example, a popular cipher suite in SSL/TLS [8] combines CBC mode based on Triple-DES [22] with the MAC algorithm HMAC [26] based on SHA-1.
    [Show full text]
  • GCM) of Operation
    The Security and Performance of the Galois/Counter Mode (GCM) of Operation David A. McGrew† and John Viega‡ † Cisco Systems, Inc., [email protected] ‡ Secure Software [email protected] Abstract. The recently introduced Galois/Counter Mode (GCM) of op- eration for block ciphers provides both encryption and message authenti- cation, using universal hashing based on multiplication in a binary finite field. We analyze its security and performance, and show that it is the most efficient mode of operation for high speed packet networks, by using a realistic model of a network crypto module and empirical data from studies of Internet traffic in conjunction with software experiments and hardware designs. GCM has several useful features: it can accept IVs of arbitrary length, can act as a stand-alone message authentication code (MAC), and can be used as an incremental MAC. We show that GCM is secure in the standard model of concrete security, even when these fea- tures are used. We also consider several of its important system-security aspects. 1 Introduction The Galois/Counter Mode (GCM) of operation for block ciphers was designed to meet the need for an authenticated encryption mode that can efficiently achieve speeds of 10 gigabits per second and higher in hardware, can perform well in software, and is free of intellectual property restrictions. It was recently submit- ted to several standards venues, including the NIST Modes of Operation process [18], IEEE 802.1AE Link Security [21], where it is the mandatory-to-implement cryptoalgorithm in the current draft standard, and IPsec [24]. In the following, we consider its performance and security.
    [Show full text]
  • Authenticated Ciphers D. J. Bernstein University of Illinois at Chicago
    Authenticated ciphers D. J. Bernstein University of Illinois at Chicago Joint work with: Tanja Lange Technische Universiteit Eindhoven Advertisement: SHARCS 2012 (Special-Purpose Hardware for Attacking Cryptographic Systems) is right before FSE+SHA-3. 2012.01.23 deadline to submit extended abstracts. 2012.sharcs.org Multiple-year SHA-3 competition has produced a natural focus for security analysis and performance analysis. Community shares an interest in selecting best hash as SHA-3. Intensive analysis of candidates: hash conferences, hash workshops, active SHA-3 mailing list, etc. Would have been harder to absorb same work spread over more conferences, more time. Focus improves community's understanding and confidence. This is a familiar pattern. June 1998: AES block-cipher submissions from 50 people ) community focus. April 2005: eSTREAM stream- cipher submissions from 100 people ) community focus. October 2008: SHA-3 hash- function submissions from 200 people ) community focus. This is a familiar pattern. June 1998: AES block-cipher submissions from 50 people ) community focus. April 2005: eSTREAM stream- cipher submissions from 100 people ) community focus. October 2008: SHA-3 hash- function submissions from 200 people ) community focus. NESSIE was much less focused and ended up in more trouble: e.g., only two MAC submissions. The next community focus What's next after block ciphers, stream ciphers, hash functions? Proposal: authenticated ciphers. Basic security goal: two users start with a shared secret key; then want to protect messages against espionage and forgery. The usual competition: maximize security subject to performance constraints; i.e.: maximize performance subject to security constraints. \Isn't authenticated encryption done already?" \Isn't authenticated encryption done already?" FSE 2011 Krovetz{Rogaway cite EtM, RPC, IAPM, XCBC, OCB1, TAE, CCM, CWC, GCM, EAX, OCB2, CCFB, CHM, SIV, CIP, HBS, BTM; and propose OCB3.
    [Show full text]
  • Side Channel Analyses of CBC Mode Encryption
    Side Channel Analyses of CBC Mode Encryption Arnold K. L. Yau Thesis submitted to the University of London for the degree of Doctor of Philosophy Information Security Group Department of Mathematics Royal Holloway, University of London 2009 Declaration These doctoral studies were conducted under the supervision of Professor Kenneth G. Paterson and Professor Chris J. Mitchell. The work presented in this thesis is the result of original research carried out by myself, in collaboration with others, whilst enrolled in the Department of Mathematics as a candidate for the degree of Doctor of Philosophy. This work has not been submitted for any other degree or award in any other university or educational establishment. Arnold K. L. Yau 2 Acknowledgements It was my great fortune to have met my supervisor Kenny Paterson during my undergrad- uate studies, who introduced to me the fascinating world of cryptography and security, and who subsequently encouraged me to pursue a doctorate in the subject. Over the course of my studies, his guidance, patience and encouragement have been invaluable and indeed indispensable. His uncompromising pursuit of conducting quality and thorough research has not only helped me to develop as a researcher, but has also taken the result of our research much further than I had anticipated. His depth and breath of knowledge in information security has been inspirational and influential for my career development. I wish to express my deepest gratitude to Kenny. I am also grateful to my academic advisor Chris Mitchell whose knowledge and expe- rience in international standards have given me a level of access to the standardisation process that would otherwise have been unavailable.
    [Show full text]