Network Defense Ch 5
Feistel Network
- A cryptographic primitive that forms the basis of many symmetric algorithms. - combine multiple rounds of repeated operations, such as processing cleartext input with XOR functions. A key schedule is used to produce different keys for each round.
X.509
- An International Telecommunication Union standard for PKI that specifies standard formats for public key certificates, a strict hierarchical system for CAs issuing certificates, and standards for certificate revocation lists. - certificates use RSA for key generation and encryption, and MD5 hashes to verify the certificate's integrity
Hashing Algorithms
- Sets of instructions applied to variable-length input (the message) that generate a fixed-length message digest representing the input. - do not provide confidentiality because they do not encrypt the message contents, but they do provide verification that a message has not been altered.
Countermeasures Against Random Number Generator Attacks
-Combine hardware-generated random numbers with the output of a secure stream cipher. XOR functions are typically used for this method. -Consider using open-source software for encryption systems. Vendors often do not explain how proprietary products generate random numbers or provide a method to audit the process. Without a way to audit the process, there is no way to assess its security. -Make sure that physical security for the system is strong. -Use off-the-shelf hardware for security systems, and do not announce their intended use (such as in online help forums) to prevent potential attackers from knowing what equipment you are using. -Use a true random source for password generation. Ideally, use a random password/ passphrase generator instead of allowing users to choose their own. In practice, this method might be difficult, especially when users must remember their passwords. At a minimum, use the tools provided with your operating system to enforce strong password policies and reduce the possibility of weak passwords
Cryptography Goals
-Confidentiality of Information -Integrity of Data -Authentication -Nonrepudiation
Passive Attack
-Cryptanalysts simply observe data being transmitted, to gather information -eavesdropping
Rivest, Shamir, Adelman
-Developed RSA for public key encryption -uses a public key that is freely shared and a private key that is kept secret
Side Channel Attacks: Thermal Imaging Attacks
-If the surface of the CPU can be seen, infrared images can be taken that provide clues about the code.
Substitution Box (S-box) Function
A cryptographic primitive that transforms a number of input bits into a number of output bits and produces a fixed or dynamic lookup table.
IPsec Components
-Internet Security Association Key Management Protocol (ISAKMP)—ISAKMP enables two computers to agree on security settings and establish an SA so that they can exchange keys by using Internet Key Exchange. -Internet Key Exchange (IKE)—This protocol enables computers to exchange keys to make an SA. By default, IKE uses UDP port 500 on both the client and server. Other configurations might use different ports. -Oakley—This protocol enables IPsec to use the Diffie-Hellman encryption algorithm to create keys. -IPsecurity Policy Management—This service runs on Windows computers. It retrieves IPsec security policy settings from Active Directory and applies them to computers in the domain that use IPsec. -IPsec driver—This software handles the tasks of encrypting, authenticating, decrypt- ing, and checking packets.
Side Channel Attacks: Radiation Monitoring
-Leaked radiation provides plaintext or other information that can be used to launch an attack. Electrical current fluctuations generate electromagnetic radiation waves, which can occur in patterns. The patterns can be recorded and analyzed to gain information about associated hardware, and sometimes bits of data can be captured.
Key Size in Encryption Algorithms
-The longer the length, the harder it is to break the encryption -provide more protection against brute-force attacks
Side Channel Attacks: Power Monitoring Attacks
-These attacks examine hardware's varying power consumption during computations. Watching the power input to the CPU during computations reveals information that can be used to determine the algorithm.
Side Channel Attacks
-does not attack the cipher directly -attacks the underlying systems that leak information, which can be used to compromise the data being stored, processed, or transmitted -leaks are unintentional signals that could expose information being processed
Side Channel Attacks: Acoustic Cryptanalysis
-exploits the sound that computations produce. The current that powers hardware produces heat, which is leaked into the atmosphere. The fluctuations of heating and cooling (thermodynamics) produce low-level acoustic noise that can be examined for clues about the underlying system.
Rivest Cipher Family
-is a popular stream cipher in Web browsers that use Secure Sockets Layer (SSL), Wired Equivalent Privacy (WEP), Wi-Fi Protected Access (WPA), and Transport Layer Security (TLS). -uses an XOR function to combine a pseudorandomly generated stream of bits (the keystream) with the plaintext and produce ciphertext.
Blowfish
-lock cipher composed of a 16-round Feistel network and key-dependent S-box functions. -unpatented cipher used worldwide has a variable key size from 32 to 448 bits. The default key size is 128 bits. -is fast in encryption and decryption operations, but its 64-bit block size is now considered too short and makes it vulnerable to some attack
Twofish
-the successor to Blowfish, is a 128-bit symmetric block cipher com- posed of a 16-round Feistel network and key-dependent S-box functions. Twofish also has a complicated key schedule and a variable key size of 128, 192, or 256 bits. -Like Blowfish, it is publicly licensed, but it has not been used as much as its predecessor. Although some theoretical work on cryptanalysis methods against it has been published, it has not been broken.
Exclusive OR (XOR) Function
A cryptographic primitive based on binary bit logic and used as a linear mixing function, combining values for use in further computations.
Cryptographic Protocol
A detailed description that incorporates standardized requirements and guidelines for key generation and management, authentication, encryption, hashing functions, nonrepudiation methods, and other aspects of message security.
Secure Hash Algorithm (SHA)
A hashing algorithm that the NSA designed as a replacement for MD5. SHA-1 produces a 160-bit message digest.
Message Authentication Code (MAC)
A hashing algorithm that uses a shared secret key to generate a MAC tag for a message.
Digital Signature
A method of verifying non-repudiation and integrity in messages
Encryption Algorithm
A precise set of instructions that provides an encoding function for a cryptographic system or generates output for use in additional operations.
Transport Layer Security (TLS)
A protocol designed to provide additional security for Internet communication. TLS uses a hashed message authentication code (HMAC) to combine the hashing algorithm with a shared secret key. TLS splits input data in half, processes each half with a different hashing algorithm, and recombines them with an XOR function.
Internet Protocol Security (IPsec)
A set of standard procedures that the Internet Engineering Task Force (IETF) developed for enabling secure communication on the Internet.
Public Key Cryptography Standards (PKCSs)
A set of standards that RSA developed to provide standardization guidelines for cryptography. Many of these 15 standards have moved into the IETF standards track.
Block Cipher
A type of encryption algorithm that encrypts groups of cleartext characters.
Stream Cipher
A type of encryption algorithm that encrypts one bit at a time.
Symmetric
A type of mathematical formula in which the key for encrypting cleartext is the same key for decrypting ciphertext.
Asymmetric Algorithm
A type of mathematical formulas that generates a key pair; ciphertext generated by one key can only be decrypted by the other key.
Key Management
A way to prevent keys from being discovered and used to decipher encrypted messages. One form of key management is to change keys frequently.
Message Digest 5 (MD5)
A widely used hashing algorithm that produces a 128-hash value displayed as a 32-character hexadecimal number.
Triple DES (3DES)
An enhanced variation of DES that uses three 64-bit keys to process data. See also Data Encryption Standard (DES).
Data Encryption Standard (DES)
An older protocol composed of a 16-round Feistel network with XOR functions, permutation functions, 6×4 S-box functions, and fixed key schedules. DES generates 64 bits of ciphertext from 64 bits of plaintext by using a 56-bit key.
Permutation Functions
Bit-Shuffling cryptographic primitives that reorder sets of objects randomly
Pseudorandom Number Generators (PRNGs)
Cryptographic primitives used to generate sequences of numbers that approximate random values.
Public Key Exchange
In asymmetric cryptography, two keys are required: the public key and the private key. The public key used to encrypt the message is shared freely. The private key used to decrypt the message is kept secret.
Private Key Exchange
In symmetric cryptography, the same key is used to encrypt and decrypt a message. Public-key Infrastructure is often used for private key exchange.
Random Number Generator Attacks
Modern cryptographic systems require random values for many operations, and hardware or software components that generate or use random numbers can be compromised if attackers can gain access to them via a random number generator attack.
Crytographic Primitives
Modular mathematical functions that perform one task reliably. They form the basic building blocks of modern cryptography. - include encryption algorithms, hashing functions, pseudorandom number generators, and basic logical functions. -Cannot provide data integrity, confidentiality, non-repudiation, and authentication -can only accomplish one of the goals and must be used with other primitives
Hashing Functions
Processes that a computer runs to verify message integrity by generating a hash value (also known as a message digest), which is a fixed-size string representing the original input's contents. Hashing functions are also used for error detection.
Plaintext
Readable text, programs that execute, and graphics you can view.
Advanced Encryption Standard (AES)
The current U.S. government standard for cryptographic protocols, AES uses the Rijndael algorithm with key sizes of 128, 192, or 256 bits and a fixed block size of 128 bits.
Rijndael
The encryption algorithm used in AES; a symmetric block cipher composed of 10 to 14 rounds of S-box and XOR functions. It supports 128-bit, 192-bit, or 256-bit keys and block sizes. - applies 10 rounds for 128-bit keys, 12 rounds for 192-bit keys, and 14 rounds for 256-bit keys.
Cryptography
The process of converting plaintext into ciphertext by using an encoding function.
Cryptoanalysis
The study of breaking encryption methods. Some common attack methods against cryptographic systems include differential and integral cryptanalysis, random number generator attacks, side channel attacks, and XSL attacks.
Side Channel Attacks: Tunnel Attacks
These attacks are based on measuring how much time computations take to perform. For example, a timing attack might watch data move in and out of the CPU or memory. Watching how long it takes to transfer key information can yield clues about key length or eliminating certain key lengths.
Ciphertext
Unreadable text, programs that do not execute, and graphics you cannot view.
Differential Cryptanalysis
applies mainly to block ciphers but can also be used against stream ciphers and hashing functions. Generally, it examines how differences in input affect the output. In block ciphers, it is used to discover where the cipher has nonrandom behavior.
Cryptographic Primitives
are modular mathematical functions that include encryption algorithms, hashing functions, pseudorandom number generators, and basic logical functions.
Related Key Attacks
is a form of cryptanalysis in which attackers can observe a cipher's operation by using several different keys. Initial values for these keys are unknown, but a mathematical relationship connecting the keys is known
XSL Attacks
is a method of block cipher cryptanalysis based on complex mathematical func- tions (multivariate quadratic equations) that uses an extended sparse linearization algorithm. The researchers who developed the algorithm claim that it can potentially break Rijndael (AES) as well as other block algorithms, such as Camellia and Serpent. This claim is a cause for concern because AES is used in government agencies and many commercial organizations.
Authentication Header
is an IPsec component that authenticates TCP/IP packets to ensure data integrity.
Integral Cryptanalysis
is applicable to block ciphers that use a substitution-permutation network, including Rijndael, Twofish, and IDEA, among others. This attack uses sets of chosen plaintext messages that share a common constant.