Applications of Cryptography Flashcards
FIPS Standards
FIPS 140: Cryptographic Modules
FIPS 186: Digital Signatures
FIPS 197: AES
FIPS 201: Identity Verification
Digital Signatures
Encryption of a message digest with the sender’s private key. Provides:
- Authentication
- Integrity
- Non-repudation
Digital Certificate
A digital document that contains a public key and some information to allow your system to verify where that key came from.
Uesd for web servers, Cisco Secure phones, E-Commerce.
PKI (Public Key Infrastructure)
Uses asymmetric key pairs and combines software, encryption and services to provide a means of protecting the security of business communication and transactions.
PKCS (Public Key Cryptography Standards)
Put in place by RSA to ensure uniform certificate management throughout the internet.
Trusted Third Party (TTP)
Certificate, a digital representation of the information that identifies you as a relevant entity.
CA (Certification Authority)
An entity trusted by one or more users to manage certificates.
RA (Registration Authority)
Used to take the burden off of a CA by handling verification prior to certificates being issued. Acts as a proxy between user and CA. Receives request, authenticates it and forwards it to the CA.
CP (Certificate Policy)
A set of rules that defines how a certificate may be used.
X.509
The most widely used digital certificate standard. First issued July 3, 1988. It is a digital document that contains a public key signed by the trusted third party, which is known as a Certificate Authority, or CA. Relied on by S/MIME. Contains your name, info about you, and a signature of a person who issued the certificate.
X.509 Certificate Content
Version Certificate holder's public key Serial number Certificate's validity period Unique name of certificate issuer Digital signature of issuer Signature algorithm identifier
X.509 Certificate File Extensions
.pem .cer, .crt., .der .p7b, .p7c .p12 .pfx
.pem
Privacy Enhanced Mail, a Base64 encoded DER certificate, enclosed between “—–BEGIN CERTIFICATE—–” and “—–END CERTIFICATE—–”
.cer, .crt, .der
Usually in binary DER form, but Base64-encoded certificates are common also (see .pem).
.p7b, .p7c
PKCS#7 SignedData structure without data, just certificate(s) or CRL(s).
.p12
PKCS#12, may contain certificate(s) (public) and private keys (password protected).
.pfx
Predecessor of PKCS#12 (usually contains data in PKCS#12 format, e.g., w/ PFX files generated in IIS).
Certificate Authority (CA)
The primary role of this is to digitally sign and publish the public key bound to a given user. It is an entity trusted by one or more users to manage certificates. Verisign is an example.
Certificate Authority - Verisign - Class 1
For individuals, intended for email
Certificate Authority - Verisign - Class 2
For organizations for which proof of identity is required
Certificate Authority - Verisign - Class 3
For servers and software signing, for which independent verification and checking of identity and authority is done by the issuing CA
Certificate Authority - Verisign - Class 4
For online business transactions between companies
Certificate Authority - Verisign - Class 5
For private organizations or governmental security
Registration Authority (RA)
Used to take the burden off of a CA by handling verification prior to certificates being issued. Acts as a proxy between the user and the CA. Receives request, authenticates it, and forwards it to the CA.
Public Key Infrastructure (PKI)
)
Distributes digital certificates that contain public keys. A network of trusted certificate authority servers. An arrangement that binds public keys with user identities by means of a CA.
Certificate Revocation List (CRL)
A list of certificates that have been revoked.
Online Certificate Status Protocol (OCSP)
A real time protocol for verifying certificates (and a newer method than CRL)
Server-based Certificate Validation Protocol (SCVP)
An Internet protocol for determining the path between a X.509 digital certificate and a trusted root (Delegated Path Discovery) and the validation of that path (Delegated Path Validation) according to a particular validation policy.
Digital Certificate Management
Two types of systems:
Centralized key-management systems
Decentralized key-management systems
Three phases of key life cycle (Digital Certificate Management)
Setup and initialization
Administration
Cancellation
Setup and Initialization Phase (Digital Certificate Management, 3 phases)
Process components:
Registration
Key pair generation
Certificate Generation Certificate Dissemination
Cancellation and History Phase (Digital Certificate Management, 3 phases)
Expiration Renewal Revocation Suspension Destruction
Administration Phase (Digital Certificate Management, 3 phases)
Key Storage
Certificate retrieval and validation
Backup or escrow
Recovery
Update and Patch Vulnerabilities (Digital Certificate Management)
- Person who can recover keys from the keystore on behalf of a user
- Highly trusted person
- Issue recovery agent
·EFS recovery agent certificate
·Key recovery agent cert
Hierarchical Trust Model
Certificate Authority is at the top
Intermediate CAs are the next level
Users are the bottom level
Single Authority Trust Model
Certificate Authority is at the top
Users are directly below the CA
Web of Trust - Trust Model
Users all trust each other
Password Authentication Protocol (PAP)
One of the most basic authentication protocols. Passwords are sent over the network in clear text. The basic authentication feature built into HTTP uses this.
Shiva Password Authentication Protocol (S-PAP)
This is a proprietary version of PAP. Encrypts username and password as it is sent across network.
Challenge-Handshake Authentication Protocol (CHAP)
Authenticator sends a “challenge” message to the peer after link establishment. Peer responds with a value using a “one-way hash” function. Authenticator checks the response against its own calculation of the hash value. Authenticator sends new challenges to the peer at random intervals.
Kerberos
Widely used, particularly with Microsoft operating systems.
Created by MIT and derives its name from the mythical three headed dog. The is a great deal of verification for the tickets and the tickets expire quickly. Client authenticates to the Authentication Server once using a long term shared secret and receives back a Ticket-Granting Server. Client can reuse this ticket to get additional tickets without reusing the shared secret. These tickets are used to prove authentication to the Service Server.
Principal (Components of Kerberos System)
A server or client that Kerberos can assign tickets to.
Authentication Server (AS) - (Components of Kerberos System)
Server that authorizes the principal and connects them to the Ticket Granting Server.
Ticket Granting Server (TGS) - (Components of Kerberos System)
Provides tickets.
Key Distribution Center (KDC) - (Components of Kerberos System)
A server that provides the initial ticket and handles TGS requests. Often runs as TGS services.
Realm (Components of Kerberos System)
A boundary within an organization. Each realm has its own AS and TGS.
Remote Ticket Granting Server (RTGS) - (Components of Kerberos System)
A TGS (Ticket Granting Server) in a remote realm.
Ticket Granting Ticket (TGT) - (Components of Kerberos System)
The ticket that is granted during the authentication process.
Ticket (Components of Kerberos System)
Used to authenticate to the server. Contains identity of client, session key, timestamp, and checksum. Encrypted with servers key.
Session key (Components of Kerberos System)
Temporary encryption key.
Authenticator (Components of Kerberos System)
Proves session key was recently created. Often expires within 5 minutes.
Type cryptography Kerberos uses and the port number
Uses symmetric cryptography and UDP port 88.
Pretty Good Privacy (PGP)
Created by Phillip Zimmerman in early 1990’s. Not itself an algorithm but uses other symmetric and asymmetric algorithms. Open source software for making encryption and decryption readily usable by end users. Most often associated with email encryption. Uses certificates that contain multiple signatures but they are self-signed so they can’t be validated with a CA.
PGP Certificates
Defines it own format. A single certificate can contain multiple signatures. Includes:
Version Number
Certificate holder’s public key
Certificate holder’s information
Digital signature of certificate owner
Certificates validity period
Preferred symmetric encryption algorithm for the key
Wired Equivalent Privacy (WEP)
Uses the RC4 stream cipher to secure the data and a CRC-32 checksum for error checking. Standard version uses a 40bit key with a 24bit initialization vector to form 64bit encryption. 128bit version uses 104bit key with 24bit IV. Because RC4 is a stream cipher, the same traffic key must never be used twice. 24bit IV is not enough prevent repetition on a busy network. Vulnerable to related key attack.
WPA - WiFi Protected Access
Uses Temporal Key Integrity Protocol (TKIP). Dynamically generates a new key for each packet.
WPA-Personal (can be known as WPA-PSK mode)
Uses pre-shared key mode. Designed for home and small networks. Doesn’t require authentication server. Each wireless device authenticates using the same 256bit key.
WPA-Enterprise (can be called WPA-802.1x mode)
Designed for enterprise networks. Requires a RADIUS server for authentication. Extensible Authentication Protocol (EAP) is used for authentication. (EAP-TLS and EAP-TTLS)
WPA2
Based on IEEE 802.11i and provides:
- Advanced Encryption Standard (AES) using the Counter Mode-Cipher Block Chaining (CBC)-Message Authentication Code (MAC) Protocol (CCMP) that provides data confidentiality, data origin authentication, and data integrity for wireless frames.
- Optional use of Pairwise Master Key (PMK) caching and opportunistic PMK caching. (caches results of 802.1x authentications to improve access time)
- Optional use of pre-authentication that allows WPA2 wireless client to authenticate with other wireless access points in range.
SSL
Developed by Netscape and has been replaced by TLS. It was the preferred method used with secure websites (i.e. https)
How SSL Works
- The browser asks the web server to prove its identity.
- The server sends back a copy of its SSL certificate.
- The browser checks to see if the certificate is from a CA it trusts.
- The server sends back a digitally signed acknowledgement and a session is started.
TLS (Transport Layer Security)
A protocol for encrypting transmissions. A client and server negotiate a connection by using a handshaking procedure. The server sends back its identification as a X.509 certificate. The client contacts the CA to confirm the validity of the certificate before proceeding. This protocol also supports secure bilateral connection mode.
VPN
A way to use the internet to create a virtual connection between a remote user or site and a central location. Packets are encrypted making the network private. Emulates a direct network connection.
Point-to-Point Tunneling Protocol (PPTP) - (often used for VPNs)
Oldest of the three protocols used in VPNs. Designed as a secure extension to the Point-to-Point Protocol (PPP). Adds the feature of encrypting packets and authenticating users to PPP. Works at the data link layer of the OSI model.
PPTP VPN
Can use two different methods of authenticating the user:
EAP and CHAP
Layer 2 Tunneling Protocol (L2TP) VPN
Designed as an enhancement to PPTP Like PPTP, works at the data link layer Offers many modes of authentication: CHAP, EAP, PAP, SPAP, and MS-CHAP Can work on X.25 networks (phone) Uses IPSec for its encryption
Internet Protocol Security (IPSec) VPN
Latest of the three VPN protocols
Encrypts not only the packet data, but also the header information
Has protection against unauthorized re-transmission of packets
SSL/TLS VPN
VPN setup through a web browser, portal that uses SSL/TLS to secure traffic. Gives user access to the target network.
Encrypting File System (EFS)
Since Windows 2000, this has been used along with NTFS. Allows a simple way to encrypt and decrypt files/folders. Simply right-click, choose properties, then advanced. Encrypted files will appear in green and are tied to the user who encrypted them.
BitLocker
Introduced with Windows 7. Can encrypt partitions or entire drives. Startup key only. Key information is stored on a flash drive or TPM. Uses AES with 128bit key.
VeraCrypt
Software for maintaining an on-the-fly-encrypted volume. Data is automatically encrypted right before it is saved, then decrypted right after it is loaded, all w/o user intervention.
Common Cryptography Mistakes
- Using a standard modulus in RSA (modulus e=216+1=65537)
- Using seeds for symmetric algorithms that are not random enough
- Hard coded cryptographic secrets/elements
- Using too short of a key
- Re-using keys
- Unsecure Key Escrow
- Unsecure cryptographic mode (ECB mode)
- Proprietary cryptographic algorithms
Steganography
The art and science of writing hidden messages so that no one suspects the existence of the message, a type of security through obscurity. Message can be hidden in picture or audio file for example. Uses least significant bits in a file to store data.
Payload (Steganography Terms)
The data to be covertly communicated, the message you wish to hide.
Carrier (Steganography Terms)
The signal, stream, or data file into which the payload is hidden.
Channel (Steganography Terms)
The type of medium used. This may be still photos, video, or sound files.
Steganography Details
In every file, there are a certain number of bits per unit of the file. For example, an image file in Windows is 24bits per pixel. With Least Certificate Bit (LSB) replacement, some bits can be replaced without altering the file much.
Steganophony
Hiding messages in sound files. Can be done via LSB and Echo Hiding
Video Steganography
Hiding messages in video files. Can be done via Discrete Cosine Transform
Steganographic File Systems
Stores data in seemingly random files. Proposed by Ross Anderson, Roger Needham, and Adi Shamir. Also something about ‘vectors’ and ‘decrypt all lower levels’. Sorry. I was tired when making this card.
Steganography Implementations
QuickStego - easy to use but limited
Invisible Secrets - robust, has free and commercial versions
MP3Stego - MP3 files
Stealth File 4 - Sound files, video files, and image files
Snow - Hides data in whitespace
StegVideo - Hides data in a video sequence
Steganalysis
Detecting steganography and extracting the hidden information. Done with software. By analyzing changes in an images close color pairs, the steganalyst can determine if LSB was used. Close color pairs consist of two colors whose binary values differ only in the LSB.
Steganalysis - Raw Quick Pair
A method to analyze an image to detect hidden messages. Based on statistics of the number of unique colors and close-color pairs in a 24bit image. Analyzes the pairs of colors created by LSB embedding. Countermeasure- Maintaining the color palette w/o creating new colors.
Steganalysis - Chi-Square Analysis
Calculates the average LSB and builds a table of frequencies and Pair of Values. Performs a test on the two tables. It measures the theoretical vs. calculated population difference.
Steganalysis - Audio Steganalysis
Examines noise distortion in the carrier file. Noise distortion could indicate the presence of a hidden signal.
Steganography Detection Tools
StegSpy
Stegdetect
StegSecret
Suite A (How the NSA classifies cryptography)
This classification of algorithms are not published. Algorithms are classified.
Suite B (How the NSA classifies cryptography)
This classification of algorithms are published.
How the NSA classifies cryptography
Also classified as Type 1, 2, 3, or 4, with 1 being the highest ranking.
NSA Suite A Cryptography Algorithms
That’s CLASSIFIED!
NSA Suite B Cryptography Algorithms
- AES w/ key sizes of 128 and 256bits
- For traffic, AES should be used w/ the Galois/Counter Mode (GCM) mode of operation - symmetric encryption
- Elliptic-Curve Digital Signature Algorithm (ECDSA) - digital signatures
- Elliptic-Curve Diffie-Hellman (ECDH) - key agreement
- Secure Hash Algorithm 2 (SHA-256 and SHA-384) - message digest
NSA Type 1 Algorithms
Highest level of encryption algorithms. Used for classified or sensitive U.S. government information. Includes: JUNIPER - Block Cipher MAYFLY - Asymmetric FASTHASH - Hashing WALBURN - High bandwidth link encryption PEGASUS - Satellite telemetry
NSA Type 2 Algorithms
Used for unclassified cryptographic equipment, assemblies, or components. Endorsed by the NSA for use in telecommunications and automated information systems for the protection of national security information. These include:
Skipjack (a block cipher)
KEA (Key Exchange Algorithm - Asymmetric)
NSA Type 3 Algorithms
Type 3 product is a device for use with Sensitive But Unclassified (SBU) information on non-national security systems. Algorithms include:
DES
3DES
SHA
AES (some implementations of AES are type 1)
NSA Type 4 Algorithms
Algorithms that are registered by NIST but not FIPS published. Also, unevaluated commercial cryptographic equipment, assemblies, or components that neither NSA nor NIST certify for any government usage.
One Time Pad (OTP)
The only unbreakable encryption. Has a separate substitution for each character making the key as long as the text. No substitution is used more than once. Key is used one time then destroyed. Impractical for most situations.