Network Security Y
Network Security Y
Security Requirements
Confidentiality
Integrity
Availability
Passive Attacks
Eavesdropping on transmissions
To obtain information
Release of message contents
Outsider learns content of transmission
Traffic analysis
By monitoring frequency and length of
messages, even encrypted, nature of
communication may be guessed
Difficult to detect
Can be prevented
Active Attacks
Masquerade
Pretending to be a different entity
Replay
Modification of messages
Denial of service
Easy to detect
Detection may lead to deterrent
Hard to prevent
Symmetric Encryption
(Simplified)
Ingredients
Plain text
Encryption algorithm
Secret key
Cipher text
Decryption algorithm
Attacking Encryption
Crypt analysis
Relay on nature of algorithm plus some
knowledge of general characteristics of plain
text
Attempt to deduce plain text or key
Brute force
Try every possible key until plain text is
achieved
Algorithms
Block cipher
Process plain text in fixed block sizes
producing block of cipher text of equal size
Data encryption standard (DES)
Triple DES (TDES)
Advanced Encryption Standard
US standard
64 bit plain text blocks
56 bit key
Broken in 1998 by Electronic Frontier
Foundation
Special purpose machine
Less than three days
DES now worthless
Triple DEA
ANSI X9.17 (1985)
Incorporated in DEA standard 1999
Uses 3 keys and 3 executions of DEA
algorithm
Effective key length 112 or 168 bit
Slow
Block size (64 bit) too small
AES Description
Assume key length 128 bits
Input is single 128-bit block
Depicted as square matrix of bytes
Block copied into State array
Modified at each stage
AES
Encryption
and
Decryption
Simple structure
For both encryption and decryption, cipher begins with Add Round
Key stage
Followed by nine rounds,
Each includes all four stages
Link Encryption
Each communication link equipped at both
ends
All traffic secure
High level of security
Requires lots of encryption devices
Message must be decrypted at each switch
to read address (virtual circuit number)
Security vulnerable at switches
Particularly on public switched network
Key Distribution
Key selected by A and delivered to B
Third party selects key and delivers to A
and B
Use old key to encrypt and transmit new
key from A to B
Use old key to transmit new key from third
party to A and B
Permanent key
Used for distribution of keys
Traffic Padding
Produce cipher text continuously
If no plain text to encode, send random
data
Make traffic analysis impossible
Message Authentication
Protection against active attacks
Falsification of data
Eavesdropping
Authentication Using
Encryption
Assumes sender and receiver are only
entities that know key
Message includes:
error detection code
sequence number
time stamp
Authentication Without
Encryption
Authentication tag generated and
appended to each message
Message not encrypted
Useful for:
Messages broadcast to multiple destinations
Have one destination responsible for authentication
Using
One
Way
Hash
SHA-1
Secure Hash Algorithm 1
Input message less than 264 bits
Processed in 512 bit blocks
Ingredients
Plain text
Encryption algorithm
Public and private key
Cipher text
Decryption algorithm
Steps
User generates pair of keys
User places one key in public domain
To send a message to user, encrypt using
public key
User decrypts using private key
Digital Signature
Sender encrypts message with their
private key
Receiver can decrypt using sneders public
key
This authenticates sender, who is only
person who has the matching key
Does not give privacy of data
Decrypt key is public
RSA Algorithm
RSA Example
SSL Architecture
SSL uses TCP to provide reliable end-to-end
secure service
SSL two layers of protocols
Record Protocol provides basic security
services to various higher-layer protocols
In particular, HTTP can operate on top of SSL
Session
Association between client and server
Created by Handshake Protocol
Define set of cryptographic security parameters
Used to avoid negotiation of new security parameters for each
connection
Message Integrity
Handshake Protocol defines shared secret key
Used to form message authentication code (MAC)
Alert Protocol
Convey SSL-related alerts to peer entity
Alert messages compressed and encrypted
Two bytes
First byte warning(1) or fatal(2)
If fatal, SSL immediately terminates connection
Other connections on session may continue
No new connections on session
Handshake Protocol
Authenticate
Negotiate encryption and MAC algorithm
and cryptographic keys
Used before any application data sent
Handshake Protocol
Phase 1 Initiate Connection
Version
Highest SSL version understood by client
Random
Client-generated random structure
32-bit timestamp and 28 bytes from secure random number generator
Used during key exchange to prevent replay attacks
Session ID
Variable-length
Nonzero indicates client wishes to update existing connection or create
new connection on session
Zero indicates client wishes to establish new connection on new session
CipherSuite
List of cryptographic algorithms supported by client
Each element defines key exchange algorithm and CipherSpec
Compression Method
Compression methods client supports
Handshake Protocol
Phase 2, 3
Client waits for server_hello message
Same parameters as client_hello
Phase 3
Upon receipt of server_done, client verifies certificate if
required and check server_hello parameters
Client sends messages to server, depending on
underlying public-key scheme
Handshake Protocol
Phase 4
Completes setting up
Client sends change_cipher_spec
Copies pending CipherSpec into current CipherSpec
Not considered part of Handshake Protocol
Sent using Change Cipher Spec Protocol
Handshake
Protocol
Action
IPSec Scope
Authentication header
Encapsulated security payload
Key exchange
RFC 2401,2402,2406,2408
Security Association
One way relationship between sender and
receiver
For two way, two associations are required
Three SA identification parameters
Security parameter index
IP destination address
Security protocol identifier
SA Parameters
Path MTU
Authentication Header
ESP Packet
Required Reading
Stallings chapter 21
Web sites on public/private key encryption
RFCs mentioned
www.rfc-editor.org