cissp week 16
TRANSCRIPT
CryptographyDomain 5Pages 761-790Official CISSP CBK Third Edition
Tim JensenStaridLabs
CISSP Test Objectives
A CISSP candidate is expected to know:Public and private key algorithms in terms of their applications and uses
Algorithm construction
Key distribution and management
Methods of attack
The applications, construction, and use of digital signatures to provide authenticity of electronic transactions
Non-repudiation of the parties involved
What is Cryptography?
Cryptographic systems take a plaintext message and through a series of transpositions or substitutions convert it to ciphertext.
Historical Cryptography
Early Egyptian Encryption
The Egyptians used a simple substitution cipher to obscure the message.
Spartan Scytale
A leather belt was wrapped around a tapered dowel. A scribe would write across the dowel and then unwind the belt. Only a similar dowel would allow decoding.
Caesar Cipher
A simple substitution cipher that shifted the alphabet 3 positions.
Caesar Cipher
Caesar Ciphers are now a children's toy
The Mechanical Era
Confederate Army's Cipher Disk
Nazi Enigma Machine
Japanese Red and Purple Machines
Mechanical Math
A=0, B=1, C=3...Z=25
Precursor to the One Time Pad
Also now a childrens toy
Modern Cryptography
Computers allow very complex calculations
The majority of attacks against cryptosystems are caused by poor implementations rather than algorithm failures.
Emerging Technology
(Why show current technology first...who wrote this book)
Quantum Cryptography
Traditional Cryptography primarily uses difficult mathematical techniques
Quantum Cryptography uses physics to secure data.
Quantum Crypto uses Quantum Key Distribution (QKD
Example: The Werner Heisenberg uncertainty principle claims that a person cannot know both a particle's position and momentum with unlimited accuracy at the same time.
Quantum Crypto 2
Quantum Cryptography is a set of protocols, systems, and procedures by which it is possible to create and distribute secret keys. The keys are then used with traditional crypto algorithms and protocols.
Quantum cryptography is not used to encrypt data, transfer encrypted data, or store encrypted data
Nikon has a course on Quantum Crypto...
Still Quantum
Quantum Key Distribution is being designed to solve a current cryptography problem, primarily that a user needs a secure channel to setup a secure channel.
Quantum Key Distribution (QKD) allows for the exchange of keys between two remote parties with complete security, as dictated via the laws of physics.
Quantum-fu
Quantum Crypto has two unique channelsThe first is used for transmission of quantum key material via single-photon light pulses
The other is used to carry all message traffic
Within the laws of quantum physics, once a photon has been observed, its state is changed. This makes quantum cryptography perfect for security since any time someone tries to eavesdrop on a secure channel, the photons will be disturbed and the disturbance can easily be identified.
On Quantum Cryptography:
Nobody's ever actually has a working system...Nor is it likely in
the near future. The latest news this month is that they might have
designed a quantum network card. Even their card is theoretical and
hasn't been tested.
Crypto Core Principals
Cryptography attempts to provide integrity, confidentiality, and authenticity. Cryptography does not completely support availability
Availability Cryptography specifically limits availability to only authorized parties
Confidentiality The message is altered or hidden so that it cannot be understood by anyone but the intended recipient
Integrity Integrity checks allow a recipient to verify that a message has not been altered.Important: Cryptographic tools cannot prevent a message from being altered, but they can detect intentional or accidental modification of the message
Additional Features
Non-repudiation: Origin can be identified by which crytpo key was used.
Authentication: Ability to determine if someone or something is what it declares to be.
Data at Rest
Data stored on hard disks, backup tapes, offsite storage, password files, etc must be protected. Cryptography can be used to provide reasonable assurance that the data cannot be read by a 3rd party
Tim Note: Never use a stream cipher to encrypt hard disks, backup tapes, etc. Stream ciphers have integrity issues that are mitigated with transmission protocols. Used directly against a disk allows the data to be manipulated. For more details see: http://en.wikipedia.org/wiki/Disk_encryption_theory
Data in Transit
Data in transit could be intercepted by a 3rd party
Modern Cryptography provides secure and confidential methods to transmit data and allow the verification of the integrity of the message.
Link Encryption
Data can be encrypted on a network using link or end-to-end encryption.
Routing data is encrypted and as such each node must decrypt the data to continue routing.
If an attacker compromises a node in the network they may be able to see the message in the clear before it is re-encrypted.
End-To-End Encryption
End to End encryption is generally performed by an end user.
Data is encrypted at the start of the communications channel and remains encrypted until it is decrypted at the remote end.
Only the message is encrypted, the routing information is visible.
Definition Broken
A crytographic function or implementation is considered broken when one of the following conditions is met:For a hashing function:Collisions or hashes can be reliably reproduced in an economically feasible fashion without the original source
When an implementation of a hash function allows a side channel attack
For an encryption system:A cipher is decoded without access to the key in an economically feasible fashion.
When an implementation of an encryption system allows for the unauthorized disclosure of information in an economically feasible fashion.
Cryptography Grades
NIST 800-161A
Acceptable: Algorithm and key length is safe to use. No security risk is currently known
Deprecated: Use of algorithm and key length is allowed, but there is some risk
Restricted: Use of the algorithm or key length is deprecated and there are additional restrictions on use.
Legacy: Algorithm or key length may only be used to process already protected information but there may be risk in doing so.
Policies/procedures needed for cryptography transition
Approved cryptographic algorithms and key sizes
Transition plans for weakened or compromised algorithms and keys
Procedures for the use of cryptographic systems
Data classification what information requires what grade of encryption
Key generation, storage, and destruction
Incident reporting surrounding the loss of keys or system compromise
International Export Controls
Most countries have some regulations regarding the use or distribution of cryptographic systems. Mostly this is so law enforcement can do their jobs and to keep criminals from using strong encryption.
Cryptography is considered to be a weapon of war and is managed through laws used to control the distribution of military equipment.
In the US regulation is provided by the NSA, US Dept of State, and US Dept of Commerce
Most companies market two versions of their products: One with strong encryption and one with weaker encryption which is meant for overseas distribution.
http://msdn.microsoft.com/en-us/library/windows/apps/hh694069.aspx
Law Enforcement
Some countries do not allow the personal use of encryption, require weak keys, or require that an individual discloses their keys if law enforcement requires it.
Criminal methods are causing consumers to use stronger encryption which is making it more difficult for law enforcement to decrypt and analyze encrypted messages.
Encryption Concepts
Key Custering: When different encryption keys generate the same ciphertext from the same plaintext message.
Synchronous: Each encryption or decryption request is performed immediately
Asynchronous: Encrypt/Decrypt requests are processed in queues. Often used in hardware devices and multiprocessor systems.
Encryption Concepts 2
Hash: A one-way mathematical operation which reduces a message into a smaller fixed length output (hash value).
Digital Signatures: A message is hashed and the hash value is encrypted using the private key of the sender. This allows integrity verification (from the hash) and non-repudiation since you can identify who's private key was used to encrypt the hash.
Encryption Concepts 3
Asymmetric: Two different but mathematically related keys are used where one key is used to encrypt and another key is used to decrypt. Commonly referred to as Public Key Infrastructure (PKI)RSA, Diffie-Hellman(DH)
Symmetric: A message is encrypted with a key and decrypted with the same key. The key owner(s) must securely transmit the key somehow.AES, 3DES
Encryption Concepts 4
Digital certificate: Electronic Document containing: Name of organization or individual, business address, digital signature of the certificate authority, certificate holder's public key, a serial number, and the expiration date
Certificate Authority: An entity trusted by one or more users as an authority in a network that issues, revokes, and manages digital certificates
Registration Authority: Performs certificate registration services on behalf of a CA. An RA is responsible for the accuracy of the information contained in a certificate request. The RA is also expected to perform user validation before issuing a certificate request.
Encryption Concepts 5
Plaintext/Cleartext: The message in it's natural format, readable by anyone.
Ciphertext/Cryptogram: The altered form of a plaintext message so it is unreadable for anyone except the intended recipients.
Cryptosystem: Represents the entire cryptographic operation. This includes the algorithm, the key, and the key management functions.
Encryption Concepts 6
Encryption: The process of converting the message from its plaintext to ciphertext. Also known as enciphering.
Decryption: The reverse process of encryption. The ciphertext is converted back to the same plaintext.
Key/Cryptovariable: The input that controls the operation of the cryptographic algorithm. The key controls the reliability of the encryption and decryption of a message.
Encryption Concepts 7
Non-repudiation: Evidence is maintained so that the sender and recipient of data cannot deny having participated in the communication.
Algorithm: Mathematical function that is used in the encryption and decryption process.
Cryptanalysis: The study of techniques for attempting to defeat cryptographic techniques.
Cryptology: The science that deals with hidden, disguised, or encrypted communications.
Encryption Concepts 8
Collision: Occurs when a hash function generates the same output for different inputs.
Key Space: The total number of possible keys in a cryptographic algorithm or password. Example: a 20-bit key would have a keyspace of 1,048,567
Word Factor: Represents the time and effort required to break a protective measure.
Encryption Concepts 9
Initialization Vector (IV): A nonsecret binary vector used at initialization to add additional cryptographic variance and to synchronize equipment.
Encoding: Changing a message into another format through the use of code. Example is taking a plaintext message and converting it into a format which can be transmitted over radio. Used for integrity instead of secrecy. Morse code is an example.
Decoding: Reverse process from encoding converting the encoded message back to plaintext.
Encryption Concepts 10
Transposition/Permutation: Process of reordering the plaintext to hide the message
Encryption Concepts 11
Substitution: Process of exchanging one letter or byte for another
Encryption Concepts 12
SP-network: Process described by Claude Shannon1 and is used in most block ciphers. SP stands for Substitution and permutation, and most block ciphers do a series of repeated substitutions and permutations to add confusion and diffusion to the encryption process. An SP=network uses a series of S-boxes to handle the substitutions. Breaking a plaintext block into a subset of smaller S-boxes makes it easier to handle the computations
WTF is an S-box you ask?
What's an Example of an SP-Network?
Encryption Concepts 13
Confusion: Mixing the key values used during the repeated rounds of encryption. When the key is modified for each round, it provides added complexity that the attacker would encounter.
Diffusion: Mixing up the location of the plaintext through the ciphertext. Through transposition, the location of the first character of the plaintext may change several times during the encryption process
Avalanch Effect: Characteristic in cryptography where a minor change in either the key or the plaintext will have a significant change to the resulting ciphertext. It is also a feature of a strong hashing algorithm.
High Work Factor
The average amount of effort work work required to break an encryption system. This is measured in hours of computing time on a specific computer system (2,000 hours on a 486).
If the work factor is economically infeasible, then the encryption scheme is considered reliable.
Obviously this number changes over time as technology advances.
Methods of Cryptography
Stream Based Ciphers
Encryption is performed bit by bit.
Used in streaming applications such as voice and video.
WEP used a stream cipher (RC4) but was implemented incorrectly and is not considered secure since the encryption key can be easily exposed to the attacker.
The cryptographic operation for a stream cipher is to mix the plaintext with a keystream that is generated by the cryptosystem. This is generally done using an XOR.
What is an XOR and how does it work?
Stream Based Ciphers 2
A stream-based cipher relies primarily on substitution. One character or bit is substituted for another.
Stream Based Security Considerations
The keystream should not be linearly related to the cryptovariable IE: knowledge of the keystream output value does not disclose the cryptovariable.
Statistically unpredictable given n successive bits from the keystream it is not possible to predict the n + 1st bit with a probability different from
Statistically unbiased there should be as many 0's as 1's, as many 00's as 01's, 10's, 11's, etc.
Long periods without repetition.
Functional complexity each keystream bit should depend on most or all of the cryptovariable bits.
Block Ciphers
A block cipher operates on blocks or chunks of text. As plaintext is fed into the cryptosystem, it is divided into blocks of a preset value which is often multiples of ASCII character size (64, 128, 192, etc). Most block ciphers use a combination of substitution and transposition to perform their operations. This makes a block cipher relatively stronger than a stream based cipher but more computationally intensive.
Block ciphers are generally implemented in software whereas stream based can be implemented in hardware or software.
Initialization Vectors (IV)
Messages may be of varying length
Encrypting the same plaintext with the same key always produces the same ciphertext.
To provide confidentiality of arbitrary length several modes of operation were created to ensure that ciphertext will be different each time even when using the same key. These are Initialization Vectors
IV Modes ECB
Electronic Code Book
IV Modes CBC
Chain Block Chaining
IV Modes CFB
Cipher Feedback
IV Modes OFB
Output Feedback
IV Modes CTR
Counter
Key Length
The security of an algorithm is usually equal to the length of the key. If you increase the key length you increase the security. This is not the case in algorithms (3DES).
Increasing the key length makes the encryption and decryption process more computationally expensive and must be kept in mind. If you have a web server with a very large key, it won't be able to serve as many users as a system with a smaller key.
Block Size
Block size can also affect security. All blocks must be of the same size, so if the block isn't full then the algorithm pads the remainder.
Exceptionally wrong blocksize choices are computationally expensive and possibly reduce the statistical randomness.
Null Ciphers
Null ciphers are used when encryption isn't necessary.
Main uses are for testing/debugging, low security (public, static websites), or with authentication only communications.
(They are on by default on may webservers. Attackers can re-negotiate client sessions to disable encryption. Null ciphers should be disabled if not necessary)
Null Ciphers
Null ciphers are used when encryption isn't necessary.
Main uses are for testing/debugging, low security (public, static websites), or with authentication only communications.
(They are on by default on may webservers. Attackers can re-negotiate client sessions to disable encryption. Null ciphers should be disabled if not necessary)
Substitution Ciphers
Substitution ciphers substitute one letter for another based upon a cryptovariable
Caesar Cipher, ROT-13, Decoder Rings