Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
1
Network Security
2
Security Attacks and Services
3
Security Attacks
• Any action that compromises the security of information.
• Four types of attack:1. Interruption2. Interception3. Modification4. Fabrication
• Basic model:
DSource Destination
S
4
• Interruption:– Attack on availability
• Interception:– Attack on confidentiality
S D
S D
I
5
• Modification:– Attack on integrity
• Fabrication:– Attack on authenticity
S D
S D
I
I
6
Passive and Active Attacks
• Passive attacks– Obtain information that is being transmitted
(eavesdropping).– Two types:
• Release of message contents:- It may be desirable to prevent the opponent from learning the contents of the transmission.
• Traffic analysis:- The opponent can determine the location and identity of communicating hosts, and observe the frequency and length of messages being exchanged.
– Very difficult to detect.
7
• Active attacks– Involve some modification of the data stream or
the creation of a false stream.– Four categories:
• Masquerade:- One entity pretends to be a different entity.• Replay:- Passive capture of a data unit and its
subsequent retransmission to produce an unauthorized effect.
• Modification:- Some portion of a legitimate message is altered.
• Denial of service:- Prevents the normal use of communication facilities.
8
Security Services
• Confidentiality • Authentication • Integrity • Non-repudiation • Access control • Availability
– Denial of Service Attacks– Virus that deletes files
9
Network Access Security Model
10
Cryptography: Basic Concepts
11
Introduction
• Most important concept behind network security is encryption.
• Two forms of encryption are in common use:– Private (or Symmetric)
• Single key shared by sender and receiver.• Examples: DES, AES, IDEA
– Public-key (or Asymmetric)• Separate keys for sender and receiver.• Examples: RSA, Diffie-Hellman
12
Some Terminologies
• Plaintext: – the data that is to be encrypted
• Ciphertext: – the encrypted form of the data
• Encryption/Decryption algorithm– the algorithm used to carry out the transformation.
• Key– Usually a secret entity.– Used as parameter to the encryption/decryption
algorithm.
13
Private Key Cryptography
14
Simplified Model of Conventional Encryption
EncryptionAlgorithm
Decryption Algorithm
PlaintextP
PlaintextP
Ciphertext C
Shared Key K Shared Key K
15
Classical Techniques
• Broadly falls under two categories:1. Substitution ciphers
• Each letter of group of letters of the plaintext are replaced by some other letter or group of letters, to obtain the ciphertext.
2. Transposition ciphers• Letters of the plaintext are permuted in some
form.
16
Substitution Ciphers
1. Caesar Cipher– Earliest known substitution cipher.– Replace each letter of the alphabet with the letter
three places after that alphabet.– Alphabets are assumed to be wrapped around
(Z is followed by A, etc.).
P: H A P P Y N E W Y E A RC: K D S S B Q H Z B H D U
17
– We can generalize the idea by replacing each letter by the kth following letter.
– If we assign a number to each letter (A=1, B=2, etc), then
C = E (P) = (P + k – 1) % 26 + 1P = D (C) = (C – k + 25) % 26 + 1
– Drawback:• Brute force attack is easy• Try out all the 25 possible keys
18
2. Mono-alphabetic Cipher– Allow any arbitrary substitution.– There can be 26! or 4x1026 possible keys.– A typical key may be:
(ZAQWSXCDERFVBGTYHNMJUIKLOP)– Drawback:
• We can make guesses by observing the relative frequency of letters in the text.
• Compare it with standard frequency distribution charts in English (say).
• Also look at the frequency of digrams and trigrams, for which tables are also available.
• Easy to break in general.
19
3. Poly-alphabetic Cipher– Use different mono-alphabetic substitutions as
we proceed through the plaintext message.– Vigenere cipher is the best known cipher of
this class.• Consists of 26 Caesar ciphers, with shifts of 0 to 25.• Each cipher is denoted by a key letter, which is the
ciphertext letter that substitutes for the plaintext letter ‘a’.
• To encrypt a message, a key is needed that is as long as the message (usually, a repeating keyword).
• Decryption is just the reverse.
20
– Drawback:• Key and the plaintext share the same
frequency distribution of letters.• The best thing would have been to use a
keyword which is as large as the plaintext, and has no statistical relationship to it.
21
Transposition Cipher
• Many techniques were proposed under this category.
• A simple scheme:– Write out the plaintext in a rectangle, row by row,
and read the message column by column, by permuting the order of the columns.
– Order of the column becomes the key.
22
• An exampleP: we have enjoyed the workshop in jadavpur
Key: 4 3 1 2 5 6 7w e h a v e en j o y e d th e w o r k sh o p i n j ad a v p u r -
C: howpv ayoip ejeoa wnhhd vernu edkjr etsa-
23
– Drawback:• The ciphertext has the same letter frequency
as the original plaintext.• Guessing the number of columns and some
probable words in the plaintext holds the key.
24
Some Important Issues
• Security of the scheme– Depends entirely on the secrecy of the key. – Does not depend on the secrecy of the algorithm.
(Has to be public for criticism!)• So, the assumptions that we make:
– Algorithms for encryption/decryption are known to the public.
– Keys used are kept secret.
25
What is meant by What is meant by ““Security lies in the KeysSecurity lies in the Keys””
2.15 milliseconds232 = 4.3 x 10932
5.9 x 1030 years2168 = 3.7 x 1050168
5.4 x 1018 years2128 = 3.4 x 1038128
10 hours256 = 7.2 x 101656
Time required at 106
decryptions / µsNumber of
Alternative KeysKey Size
(bits)
26
Practical Encryption Algorithms
• Data Encryption Standard (DES)– Block size is 64 bits.– Key is 56 bits.
• IDEA– Block size is 64 bits.– Key size is 128 bits.
• Advanced Encryption Standard (AES)– Also known as Rijndael cryptosystem.– Block size can be 128, 192, or 256 bits.– Key size can be 128, 192, or 256 bits.
27
Block Encryption Algorithms
• Data Encryption Standard (DES)– The most widely used encryption scheme.– Known as the Data Encryption Algorithm (DEA).– It is a block cipher.
• The plaintext is 64-bits in length.• The key is 56-bits in length.• Longer plaintexts are processed in 64-bit blocks.
28
Initial Permutation
Round 1
Round 2
Round 16
32-bit Swap
Reverse InversePermutation
Permuted Choice 2
Permuted Choice 2
Permuted Choice 2
Permuted Choice 1
Left circular shift
Left circular shift
Left circular shift
P (64-bit)
C (64-bit)
K (56-bit)
General Schematicof DES Algorithm
K16
K1
K2
29
Single Iteration of DES Algorithm
30
DES
• The overall processing at each iteration:Li = Ri-1
Ri = Li-1 ⊕ F(Ri-1, Ki)
• Concerns about:– The algorithm and the key length (56-bits).– Longer key lengths essential for critical
applications.
Fiestel Structure
31
Problems with DES
• 56-bit key size considered to be too small for providing acceptable level of security for most applications.
• Broken by various cryptanalysis groups.
32
Hence, Triple DES!• Use three keys and three executions of
the DES algorithm (encrypt-decrypt-encrypt).
C = EK3 [DK2 [EK1 [P]]]
– C = ciphertext– P = Plaintext– EK[X] = encryption of X using key K– DK[Y] = decryption of Y using key K
• Effective key length of 168 bits.
33
Triple DES: Illustration
E D E
D E D
P
P
C
C
K1
K1
K2
K2
K3
K3
X Y
Y X
34
Some Points to Observe
• Key distribution problem of secret key systems:– Establish key before communication.– Need n(n-1)/2 keys with n different parties.
A
B E
DC
35
Key Distribution
• Two parties A and B trying to communicate.– A key could be selected by A and physically
delivered to B.– A third party could select the key and physically
deliver it to both A and B.– If A and B have previously used a key, one party
could transmit the new key to the other, encrypted using the old key.
– If A and B each have an encrypted connection to a third party C, C could deliver a key on the encrypted links to A and B.
36
Key Distribution (contd.)
• Session key:– Data encrypted with a one-time session key.– At the conclusion of the session the key is
destroyed.• Permanent key:
– Used between entities for the purpose of distributing session keys.
37
Public Key Cryptography
38
Basic Concept
• Uses two keys for every simplex logical communication link.
a) Public keyb) Private key
• Every communication node will have a pair of keys.– For n number of nodes, total number of keys
required is 2n.
39
Encryption using Public Key System
EncryptionAlgorithm
Decryption Algorithm
PlaintextP
PlaintextP
Ciphertext C
A B
B’s public key KUB B’s private key KRB
40
Authentication using Public Key System
EncryptionAlgorithm
Decryption Algorithm
PlaintextP
PlaintextP
Ciphertext C
A B
A’s private key KRA A’s public key KUA
41
Applications
• Three categories:a) Encryption/decryption:
• The sender encrypts a message with the recipient’s public key.
b) Digital signature / authentication: • The sender signs a message with its private key.
c) Key exchange: • Two sides cooperate to exhange a session key.
42
Requirements
• Computationally easy for a party B to generate a key pair– Public key KUB
– Private key KRB
• Easy for sender to generate ciphertext: C = E (M, KUB)
• Easy for the receiver to decrypt ciphertext using private key:
M = D (C, KRB) = D (E (M, KUB), KRB)
43
• Computationally infeasible to determine KRB knowing KUB.
• Computationally infeasible to recover message M, knowing KUB and ciphertext C.
• Either of the two keys can be used for encryption, with the other used for decryption:
M = D (E (M, KUB), KRB) = D (E (M, KRB), KUB)
44
The RSA Public Key Algorithm
• RSA Algorithm– Developed by Ron Rivest, Adi Shamir and Len
Adleman at MIT, in 1977.– A block cipher.– The most widely implemented.
45
The RSA Algorithm – Key Generation
1. Select p,q p and q both prime2. Calculate n = p x q3. Calculate 4. Select integer e5. Calculate d6. Public Key KU = {e,n}7. Private key KR = {d,n}
)1)(1()( −−=Φ qpn)(1;1)),(gcd( neen Φ<<=Φ
)(mod1 ned Φ= −
φ(n) is the number of positive numbers less than nand relatively prime to n (called Euler totient).
46
The RSA Algorithm - Encryption
• Plaintext: M < n
• Ciphertext: C = Me (mod n)
47
The RSA Algorithm - Decryption
• Ciphertext: C
• Plaintext: M = Cd (mod n)
48
Example
• Select two prime numbers, p=7 and q=17.• Calculate n = pq = 7×17 = 119.• Calculate φ(n) = (p-1)(q-1) = 96.• Select e such that e is relatively prime to φ(n)=96,
and less than φ(n).– In this case, e=5.
• Determine d such that de = 1 (mod 96) and d<96.– d=77, because 77×5 = 385 = 4×96+1.
• Public key KU = {5,119}• Private key KR = {77,119}
49
Example (contd.)
50
The Security of RSA
• RSA is secure since– We use large number of bits in e and d.– The problem of factoring n into two prime factors is
computationally very difficult.• Knowing p and q will allow us to know Φ(n).• This will help an intruder to know the values of e and d.• Until recently, this was felt to be infeasible for numbers in the
range of 100 decimal digits or so (approximately 300 bits).• A worldwide team cooperating over the internet and using
1600 computers recently cracked the code in eight months.• Currently, a 1024-bit key size (about 300 decimal digits) is
considered strong enough for virtually all applications.– Key sizes in the range of 1024 to 2048 bits seems safe.
51
Private and Public Key Systems: a Comparison
• Symmetric encryption/decryption is much faster than asymmetric encryption/ decryption:
RSA: kilobits/secondDES: megabits/second
⇓DES is about 100 times faster than RSA
52
Diffie-Hellman Key Exchange
• Proposed in 1976.• Allows group of users to agree on secret
key over insecure channel.• Cannot be used to encrypt and decrypt
messages.• Depends for its effectiveness on the
difficulty of computing discrete logarithms.
53
D-H Algorithm
• A and B want to agree on shared secret key.– They agree on two large numbers n and g, such
that 1<g<n.– A choose random x, computes X=gx mod n, and
sends X to B.– B chooses random y, computes Y=gy mod n, and
sends Y to A.– A computes k1= Yx mod n .– B computes k2= Xy mod n .
• Note: k1 = k2 = gyx mod n .
54
B
X=gx mod n
Y=gy mod n
Choose x Choose y
Compute Yx mod n Compute Xy mod n
A
55
D-H Algorithm: contd.
• Requires no prior communication between A and B.
• Security depends on difficulty of computing x, given X = gx mod n .
• Choices for g and n are critical.– Both n and (n-1)/2 should be prime.– n should be large.
• Susceptible to intruder-in-the-middle (man-in-the-middle) attack.– Active intruder.
56
A B
Intruder
Man-in-the-Middle Attack
57
A Comparison• Symmetric encryption/decryption is much
faster than asymmetric encryption/ decryption:
RSA: kilobits/secondDES: megabits/second
⇓DES is about 100 times faster than RSA
• Key size:– RSA: selected by user– DES: 56 bits
58
Message Authenticationand
Hash Functions
59
Approaches to Message Authentication
• Authentication using conventional encryption– Only the sender and receiver should share a key.
• Message authentication without message encryption– An authentication tag is generated and appended to
each message.• Message authentication code (MAC)
– Calculate the MAC as a function of the message and the key
MAC = F(M, K)
60
Basic Idea of MAC
• Generate a small hash code (usually of fixed size) from a message of arbitrary size.– Transmit the hash code along with the message.– Common algorithms: MD5, SHA-0, SHA-1.
M
H MAC
M
MAC
61
62
Hash Functions: Classification
• Unkeyed hash function– Also known as modification detection code (MDC).– Used to preserve integrity of message.
• Keyed hash function– Also known as message authentication code (MAC)– Used to authenticate the source of a message in
addition to preserving integrity of the message.
63
Hash Functions: Desirable Properties
• Collision: – A hash function H maps an infinite set to a finite
one.– So there must exist messages x and x′ such that
H(x) = H(x′). Such a pair (x,x′) of messages is called a collision for H.
• First preimage resistance: – Except for few hash values y, it should be difficult
to find a message x such that H(x) = y.
64
• Second preimage resistance: – Given a message x, it should be difficult to find
another message x′ with the property that H(x) = H(x′).
• Collision resistance: – It should be difficult to find two messages x and x′
with H(x) = H(x′).
65
Secure HASH Functions
• Purpose of the HASH function is to produce a fingerprint.
• Desirable properties of a HASH function H:– H can be applied to a block of data at any size.– H produces a fixed length output.– H(x) is easy to compute for any given x.– For any given block x, it is computationally infeasible to find
x such that H(x) = h.– For any given block x, it is computationally infeasible to find
some y, with H(y) = H(x), x ≠ y.– It is computationally infeasible to find any pair (x, y) such
that H(x) = H(y), x ≠ y.
66
Hash Functions: Examples
• Custom-designed hash functions work based on the general principle described earlier.
• The MD family: MD2, MD4 and MD5 (128-bit hash).
• The SHA family: SHA-1 (160-bit), SHA-256 (256-bit), SHA-384 (384-bit) and SHA-512 (512-bit).
• RIPEMD-128 (128-bit), RIPEMD-160 (160-bit).
67
One-way HASH function
68
One-way HASH function
• Secret value is added before the hash and removed before transmission.
69
Message Digest Generation Using SHA-1
70
SHA-1 Processing of single 512-Bit Block
71
Other Secure HASH functions
160 (5 paired rounds of 16)
64 (4 rounds of 16)
80 (4 rounds of 20)
Number of steps
264-1 bitsMaximum message size
512 bits512 bits512 bitsBasic unit of processing
160 bits128 bits160 bitsDigest length
RIPEMD-160MD5SHA-1
∞ ∞
72
HMAC
• Use a MAC derived from a cryptographic hash code, such as SHA-1.
• Motivations:– Cryptographic hash functions executes faster in
software than encryption algorithms such as DES.– Library code for cryptographic hash functions is
widely available.– No export restrictions from the US.
73
• HMAC (a keyed hash function)• Notations:
M = the message to be hashedH = an unkeyed hash functionK = key for HMACP,Q = short padding blocks (not secret).
HMAC(M) = H (K || P || H (K || Q || M))
• HMAC involves two calls of H.• HMAC is efficient, since the outer call involves
computation of hash of a short message.
74
HMAC Structure
75
Hash Function: Attacks
• Birthday attack: – Let H be a hash function that produce n-bit hash values. If
about 2n/2 random messages are hashed by H, then it is highly probable that we have found two messages x and x′satisfying H(x) = H(x′).
– The bit-size n of hash values should be at least as large as 128. The values greater than or equal to 160 are recommended.
• Other attacks:– Attacks on the compression function– Chaining attacks– Attacks on the underlying block cipher
76
Digital Signatures
77
Digital Signatures: Introduction
• Digital equivalent of hand-written signatures.• Bind pieces of digital data with particular entities.• Based on public-key technology.• Signing:
– The signer uses his private key ‘d’ to sign.• Difficulty of forging:
– An entity without knowledge of this private key ‘d’cannot generate a valid signature on a new piece of data.
78
• Verifying: – Anybody having access to the signer’s public key
‘e’ can verify the signature.• Non-repudiation:
– An entity should not be allowed to deny valid signatures made by him.
79
Digital Signatures: Classification
• Signature with appendix:– A representative H(M) of the message M is computed. The
signing transformation is applied on H(M). Verification requires the message M.
– Signature generation:• m = H(M)
s = fs(m,d)Output the signed message (M,s).
– Signature verification:• Compute m = H(M)
Compute m′ = fv(s,e)If (m=m′) output “signature verified” else output “signature not verified”
80
• Signature with message recovery: – The signing transformation is applied to the message itself.
The verification transformation retrieves the message.– Signature generation:
• Compute the signature s = fs(M,d)– Signature verification:
• Recover the message M′ = fv(s,e)If M′ looks like a valid message,
output “signature verified”else
output “signature not verified”
81
Digital Signatures: Classification
• Deterministic signatures: – For a given message the same signature is generated on
every occasion the signing algorithm is executed.• Probabilistic signatures:
– On different runs of the signing algorithm different signatures are generated, even if the message remains the same.
• Probabilistic signatures offer better protection against some kinds of forgery.
• Deterministic signatures are of two types:– Multiple-use signatures:
• Slow. Parameters are used multiple times.– One-time signatures:
• Fast. Parameters are used only once.
82
Digital Signatures: Examples
• RSA with appendix
– Parameter selection:• Select two large primes p and q.
Compute n = pq and f(n) = (p - 1)(q - 1).Select a random integer e with gcd(e,f(n)) = 1.Compute an integer d satisfying ed = 1 (mod f(n)).
Publish (e,n) as the verification key.Keep d secret as the signing key.
83
• Signature generation:– Generate the short representative m = H(M) of M.
Sign m as s = md (mod n).Output (M,s) as the signed message.
• Signature verification:– Generate the short representative m = H(M) of M.
Invert signature as m’ = se (mod n).If (m = m’), output “signature verified”,else output “signature not verified”.
• Forging: – If any key other than d is used to sign m, the equality m = m’ will
not be satisfied. So forging RSA signatures is as difficult as knowing d.
84
Digital Signatures: Examples
• RSA with message recovery– Parameter selection: Same as before.
• Signature generation:– Compute s = Md (mod n).
Output the signature s.• Signature verification:
– Compute M’ = se (mod n).If M’ is a valid message, output “signature verified”,else output “signature not verified”.
• Forging:– If any key other than d is used to generate s, the recovered
message M’ will almost certainly look like a meaningless sequence of symbols.
85
Digital Signatures: Blind Signatures
• The signer is not allowed to know the message to sign. Still hisactive participation is necessary for signing.
• Blind RSA signature:
Parameter generation: As before.
Signature generation:
– A generates a random integer k coprime to n.A blinds m as m* = mke (mod n).B signs s* = (m*)d (mod n).A retrieves B’s signature s = s*k-1 (mod n).
• Signature verification: As before.
86
Digital Signatures: Undeniable Signatures
• An active participation of the signer is necessary during signature verification.
• A signer is not allowed to deny a legitimate signature made by him.
• An undeniable signature comes with a denial or disavowal protocol that generates one of the following three outputs:– Signature verified– Signature forged– The signer is trying to deny his signature by not properly
participating in the protocol.
87
Digital Signatures: Attacks
• Total break: – An attacker knows the signing key or has a
function that is equivalent to the signature generation transformation.
• Selective forgery: – An attacker can generate signatures (without the
participation of the legitimate signer) on a set of messages chosen by the attacker.
• Existential forgery: – The attacker can generate signatures on certain
messages over which the attacker has no control.
88
Digital Signatures: Attacks
• Key-only attack: – The attacker knows only the verification (public)
key of the signer. This is the most difficult attack to mount.
• Known-message attack: – The attacker knows some messages and the
signatures of the signer on these messages.• Chosen-message attack:
– This is similar to the known-message attack except that the messages for which the signatures are known are chosen by the attacker.
89
• Adaptive chosen-message attack: – The messages to be signed are adaptively chosen
by the attacker.
90
Digital Certificates
91
Digital Certificates: Introduction
• Bind public-keys to entities.• Required to establish the authenticity of public keys.• Guard against malicious public keys.• Promote confidence in using others’ public keys.• Require a Certification Authority (CA) whom every
entity over a network can believe. Typically, a government organization or a reputed company can be a CA.
• In case a certificate is compromised, one requires to revoke it.
• A revoked certificate cannot be used to establish the authenticity of a public key.
92
Digital Certificates: Contents
• A digital certificate contains particulars about the entity whose public key is to be embedded in the certificate. It contains:– Name, address and other personal details of the entity.– The public key of the entity. The key pair may be
generated by either the entity or the CA. If the CA generates the key pair, then the private key is handed over to the entity by trusted couriers.
• The certificate is digitally signed by the private key of the CA.
• If signatures are not forgeable, nobody other than the CA can generate a valid certificate for an entity.
93
Digital Certificates: Revocation
• A certificate may become invalid due to several reasons:– Expiry of the certificate– Possible or suspected compromise of the entity’s private
key• An invalid certificate is revoked by the CA.• The CA maintains a list of revoked certificates — the
Certificate Revocation List (CRL).• An entity A willing to use B’s public key looks up the
certificate for B’s public key. If the CA’s signature is verified on this certificate and if the certificate is not found in the CRL, then A gains the desired confidence to use B’s public key.
94
Network Security Principles in Use
95
Authentication Application:: KERBEROS
• Users wish to access services on servers.• Three threats exist:
– User pretend to be another user.– User alter the network address of a computer.– User eavesdrop on exchanges and use a replay
attack.
96
• Provides a centralized authentication server (AS) to authenticate users to servers and servers to users.
• Relies on conventional encryption.– Makes no use of public-key encryption.
• Two versions: version 4 and 5.• Version 4 makes use of DES.
97
98
Electronic Mail Security:: Pretty Good Privacy (PGP)
• PGP provides a confidentiality and authentication service that can be used for electronic mail and file storage applications.
• Why popular?– It is available free on a variety of platforms.– Based on well known algorithms.– Wide range of applicability.
99
• Summary of PGP services:
Radix-64 ConversionEmail Compatibility
ZIPCompression
CAST or IDEA or 3-key Triple DES with Diffie-Hellman or RSA
Message Encryption
DSS/SHA or RSA/SHA
Digital Signature
Algorithm UsedFunction
100
Authentication Only Service
MH EP || Z
KRA
Z-1M
DP
KUA
H
=?
Sour
ce A
Des
tinat
ion
B
101
Confidentiality Only Service
MZ EC ||
EP
KUB
KS
DP
KRB
DC Z-1M
KS
Sour
ce A
Des
tinat
ion
B
102
PGP Cryptographic Functions
103
Secure Socket Layer (SSL)
• SSL was first used by Netscape.– To ensure security of data sent through HTTP,
LDAP or POP3.• Uses TCP to provide reliable end-to-end
secure service.• In general, SSL can be used for secure data
transfer for any network service running over TCP/IP.
104
HTTP LDAP POP3
SSL
TCP/IP
Application Layer
Network Layer
105
• The main objectives of SSL are:– Authenticate the client and server to each other.– Ensure data integrity.– Ensure data privacy.
• Required for both the protocol data and also the application data.
106
SSL Architecture
• SSL consists of two layers of protocols:– SSL Record Protocol
• Ensures data security and integrity.– Protocols required to establish SSL connection.
• Three protocols used in this layer: SSL Handshake ProtocolSSL ChangeCipherSpec ProtocolSSL Alert Protocol
107
SSL Handshake
Protocol
SSL ChangeCipherSpec
Protocol
SSL Alert
Protocol
Application Protocol
(HTTP, etc.)
SSL Record Protocol
TCP
IP
108
SSL Record Protocol
• Mainly responsible for data encryption and integrity.
• Basic function:– Take an application message to be sent.– Fragment the application message data.
• 16 Kbytes or smaller.– Encapsulate it with appropriate headers and
create an object called a record.– Encrypt the record and forward it to TCP.
109
Application Data
Fragments
Compressed data
Add MACMAC
Encrypt data
HTCP packetH: SSL record
header
110
The Higher Layer Protocols
• SSL Alert Protocol– Used to send session messages associated with
data exchange and functioning of the protocol.– Each message consists of two bytes:
• First byte is either 1 (warning) or 2 (fatal). If “fatal”, the SSL session is terminated.
• Second byte contains one of the defined error codes.
111
• SSL ChangeCipherSpec Protocol– Consists of a single message that carries the
value of 1.– Purpose of this message is to cause the pending
session state to be established as a fixed state.• Define the set of protocols to be used.• Must be sent from client to server, and vice versa.
112
• SSL Handshake Protocol– Used to initiate a session between the server and
the client.– Within the application data, algorithms and keys
used for data encryption can be negotiated.– Provides mutual authentication.– Process of negotiation divided into four phases.
113
– Client sends to the server• SSL version• Random (used to protect key exchange)• Session ID• CipherSuite
– Server sends back• SSL version• Random (a different number is generated)• Session ID• CipherSuite
114
Transport Layer Security (TLS)
• Extension of SSL.• Aim is to provide security and data integrity
features at the transport layer between two web applications.
• Supported my most web servers and browsers today.
115
Secure Shell (SSH)
• Originally developed in 1995.– As a secure replacement for telnet, rlogin, rcp,
etc.– Allows port forwarding (tunneling over SSH).– Built-in support for proxies/firewalls.
• Widely used nowadays.
116
• In SSHv1 protocol, the server uses two keys:– Long-term server identification key.
• Binds the connection to the server.• 1024 bit RSA.
– Short-term encryption key, changed every hour.• Makes later recovery impossible.• Short-term keys are regenerated as a background task.• 768 bit RSA.
117
• Multiple authentication mechanisms– Straight passwords (protected by SSH encryption).– RSA based authentication.
• Client decrypts a challenge from the server; returns the hash to the server.
– Plug-in mechanisms (biometrics, smartcard, etc.).
118
IP Security (IPSec)
• Security built into the IP layer.– Provides host-to-host (or firewall-to-firewall)
encryption and authentication.– Required for IPv6, but optional for IPv4.
• Consists of two parts:– IPSec proper (for encryption and authentication).– IPSec key management.
119
IPSec
• Provides two modes of protection– Tunnel Mode– Transport Mode
• Authentication and Integrity• Confidentiality• Replay Protection
120
• Protection in Tunnel Mode– Encapsulates the entire IP packet within IPSec
protection.– Tunnels can be created between several different
node types:• Firewall to firewall• Host to firewall• Host to host
121
• Protection in Transport Mode– Encapsulates only the transport layer information
within IPSec protection.– Can only be created between host nodes.
• Authentication and Integrity– Verifies the origin of data.– Assures that data sent is the data received.– Assures that the network headers have not
changed since the data was sent.
122
• Confidentiality– Encrypts data to protect against eavesdropping.– Can hide data source when encryption is used
over a tunnel.• Replay Prevention
– Causes transmitted packets to be dropped.
123
• Problems with IPSec– Excessively complex and difficult to use.– Does now allow use of NAT.– Routers need to be made IPSec aware.
124
Secure HTTP (S-HTTP)
• An extension to the HTTP protocol to support sending data securely over the web.
• Difference from SSL:– SSL is designed to establish a secure connection
between two hosts.– s-HTTP is designed to send individual messages
securely.
125
• Some Features:– Provides a variety of security mechanisms to HTTP
clients and servers.– Does not require client-side public certificates (or
public keys), as it supports symmetric key-only operation modes.
– Provides full flexibility of cryptographic algorithms.• s-HTTP and HTTPS are not the same.• HTTPS is an alternative to s-HTTP.
– HTTP runs on top of SSL or TSL.
126
Penetration Testing and Ethical Hacking
127
What is a Penetration Test?
• A process of actively evaluating the information security measures in an organization.
• Most common procedure:– The security measures are actively analyzed for
design weaknesses, technical flaws and vulnerabilities.
– Results are delivered in a comprehensive report.
128
Ethical Hacking ….
• Definition of ethical hacking– A situation where a computer and network expert
attacks a security system on behalf of its owners, seeking vulnerabilities that a malicious hacker could exploit.
– To test a security system, ethical hacking uses the same methods as their less principled counterparts (hackers), but report problems instead of taking advantage of them.
• Also called penetration testing.
129
Why is it Required?
• There are several reasons why organizations choose to perform a penetration test.– To identify the threats facing the information
assets of the organization.– Reduce the IT security costs by identifying and
resolving vulnerabilities and weaknesses.– Provide the organization with information
assurance.– Gain and maintain certification to an industry
regulation (BS7789, HIPAA, etc.).
130
Types of Tests
1. External Penetration Testing– This is the traditional approach.– The testing is focused on servers, infrastructure,
and the underlying software (OS, database, etc.).– Two broad approaches:
• Black box testing: performed with no prior knowledge of the infrastructure to be tested.
• White box testing: performed with full disclosure of the topology and the environment.
131
– This basically involves the following:• Comprehensive analysis of publicly available
information about the target.• Identification and analysis of the target hosts.• Analysis of the behavior of security devices like
screening routers and firewalls.• Identification and analysis of the vulnerabilities within
the target hosts.
132
2. Internal Penetration Testing– Follows a methodology similar to external
testing.– Provides a more complete view of the site
security.– Testing is typically carried out from a number of
network access points, representing each logical and physical segment.• Can include DMZ, VPNs, subnets, etc.
133
3. Application Security Assessment– To identify and assess threats to the organization
through proprietary applications or systems.– The application must not expose the underlying
servers and software to attack.– A malicious user should not be able to access,
modify, or destroy data or services within the system.
– Even in a well-deployed and secured infrastructure, a weak application can expose the organization’s assets to risk.
134
4. Remote Access Security Assessment– This addresses the security risks associated
with an increasingly mobile workforce.• Working from home• Broadband always-on Internet access• 802.11 wireless networking
– Increased exposure by extending the traditional perimeter of the organization.
135
Some of the Typical Areas
• Network Security– Network surveying– Port scanning– System identification– Services identification– Router testing– Firewall testing– Intrusion detection system testing– Trusted systems testing– Password cracking– Denial of service testing
136
• Wireless Security– Wireless networks testing– WEP security testing– Infrared systems testing– Cordless communications testing
Other areas include “Information Security”, “Social Engineering”, “Physical Security”, etc.
137
About the Tools to be Used
• Tools are essential for automating the penetration testing process.
• Where to find the tools?– A number of commercial tools are available.
• They work by using sets of thousands of pre-defined signatures that can identify vulnerabilities in a system.
• Signatures need to be updated on a regular basis.– Open-source tools that are freely available.
• Also called “hacker tools”, and are often made available on “hacker” web sites.
138
• May range from very professionally developed and maintained tools, to poorly documented scripts meant to perform specific tasks.
• Special care must be taken to ensure that the tools themselves do not contain virus or any other malicious contents.
– Specialist penetration testing providers can develop their own tools.
• Because available tools are mostly incomplete, and multiple tools need to be used.
• Many vulnerabilities are not covered by them.
139
Hacker Web SItes
• Some pointers …. there are many many morehttp://www.hackthissite.org/http://www.happyhacker.org/http://www.2600.com/http://hackaday.com/
140
141
142
143
144
References
1. Cryptography and Network Security: Principles and Practice, 2nd
Edition, William Stallings, Prentice Hall, New Jersey, 1999.2. Network Security Essentials: Applications and Standards, William
Stallings, Pearson Education Asia, 2000.3. Applied Cryptography, B. Schneier, Wiley, New York, 1996.4. Internet Cryptography, R. Smith, Addison Wesley, MA, 1997.5. Handbook of Applied Cryptography, A.J. Menezes, et al.
http://www.cacr.math.uwaterloo.ca/hac/6. Journals
– IEEE Transactions on Information Theory– Computer Security– Communications of the ACM– IEEE Communications Magazine– Computer Communications Review
7. The Internet
145