36
Wireless (LAN) Security

Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

Wireless (LAN) Security

Page 2: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

Outline

• What’s Wireless LAN (WLAN)

• History of WLAN Security

• Wired Equivalent Privacy (WEP)

• WLAN Security Enhancement

• Summary

Page 3: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

Wireless LAN (WLAN)

• IEEE ratified 802.11 in 1997

• Also known as Wireless Fidelity (Wi-Fi)

• WLAN at 1Mbps & 2Mbps

• Wireless Ethernet Compatibility Alliance (WECA)

• Promoted interoperability

• Now Wi-Fi Alliance

• 802.11 focused on Physical & Data Link Layer (OSI layer 1

& 2)

Page 4: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

WLAN Mode

• Infrastructure mode

• Most common in corporate LANs

• Basic Set Service (BSS)

• Single Access Point (AP), with all connected wireless stations (STAs)

• Extended Service Set (ESS)

• Two (or more) BSSs forming a single subnet

• Ad-hoc mode

• Independent BSS (IBSS)

• Set of STA that communicate directly without an AP

• Useful for quick & easy wireless network

Page 5: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

Infrastructure mode

• Service Set IDentifier

(SSID) attached to all

packets belonging to a

BSS

• multiple APs with same

SSID form ESS

Page 6: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

WLAN Security

Page 7: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

History of WLAN Security

• WLAN uses radio signal

• Attacker needs equipment capable of:

• Monitoring (passive attacks) & transmitting (active attacks) of encrypted traffic

• Passive attacks can be carried out using off-the-shelf equipment by modifying driver settings

• Active attacks are more difficult, but not beyond reach and easy when firmware (e.g. orinocco) of PCMCIA cards can be upgraded

• Prudent to assume that motivated attackers have full access to link layer for passive and active attacks

Page 8: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

802.11b security service

• Authentication

• Open System Authentication

• Shared Key Authentication

• Confidentiality, Access Control, Data Integrity

• Wired Equivalent Privacy (WEP)

Page 9: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

Open System Authentication

• Authentication request = station_id (mac address)

• Authentication response

= success or failure

• On success, both stations

mutually authenticated

Page 10: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

Shared Key Authentication

• STA requests association with AP

• AP sends random number (challenge)

• STA encrypts random number (the challenge) using RC4, sends to AP

• AP decrypts received message, uses RC4

• If number match, STA & AP has shared secret key

Page 11: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

Wired Equivalent Privacy (WEP)

• Shared key, between all:

• stations

• an access point

• in ESS:

• all AP will have, usually, same shared key

• Usually, no key management

• Shared key entered manually, into:

• stations

• AP

• Key management is a nightmare in large wireless LAN

Page 12: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

Ron’s Code no. 4 (RC4) • RC4

• Symetric encryption

• RSA Security Inc.

• Designed in 1987, by Ronald L.

Rivest

• Trade secret, until leaked in 1994

• Can use key sizes from 1Byte to

256Bytes

• Supports:

• RC4-KSA (Key Scheduling

Algorithm): translate key of length

1Bytes to 256Bytes to initial

permutations of number 0 to 255

• RC4-PRNG: generate stream of

pseudo random using initial

permutation numbers

• XORed with plaintext to create chipertext

Page 13: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

RC4 Pseudocode

i, j = 0;

while (true){

i=(i + 1) mod 8;

j=(j + S[i]) mod 8;

swap (S[i], S[j]);

t=(S[i] + S[j]) mod 8;

k=S[t];

}

Page 14: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

WEP, sending & encryption

• Compute Integrity Check Vector (ICV)

• 32bit CRC

• Appended to message to create plaintext

• Provide integrity

• Plaintext encrypted via RC4

• Provide confidentiality

• Plaintext XORed with long key stream of pseudo

random bits

• Key stream is function of

• 40bits secret key (vendor extended to 104bits)

• 24bits Initialization Vector (IV)

• Ciphertext is transmitted

Page 15: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

WEP, receiving

• Ciphertext received

• Ciphertext decrypted using RC4

• Ciphertext XORed with long key stream of pseudo random bits

• key stream of:

• 40bits (or 104bits) secret key

• 24bits IV

• Check ICV

• Use plaintext and separate ICV from message

• Compute ICV for message

• Compare received ICV

Page 16: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

Static WEP encryption key

• 64bits ← 24bits IV + 40bits static key

• 128bits ← 24bits IV + 104bits static key

• IV sent in cleartext, different on every frame

• Static key can be hex char (0-9A-F) or ASCII

• Key must match on both AP & client

• Not all clients or AP support both hex & ASCII

Page 17: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

How WEP works (1)

• WEP runs a cyclic redundancy check (CRC) on the plaintext data that is to be encrypted and then appends the Integrity Check Value (ICV) to the end of the plaintext data.

• A 24-bit cleartext Initialization Vector (IV) is then generated and combined with the static secret key.

• WEP then uses both the static key and the IV as seeding material through a pseudo-random algorithm that generates random bits of data known as a keystream.

• The pseudo-random bits in the keystream are then combined with the plaintext data bits using a Boolean XOR process.

• The end result is the WEP ciphertext, which is the encrypted data. The encrypted data is then prefixed with the cleartext IV.

Page 18: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

WEP Flaws, Passive Attacks (1)

Page 19: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

WEP Flaws, Passive Attacks (2)

• Attacker collects all traffic

• Attacker could collect two messages:

• Encrypted with same key and same IV

• XORing two ciphertexts causes keystream to cancel out, and

result is the XOR of two plaintexts

• Each of the XORed plaintexts can be calculated when there is

partial knowledge of some part of the palintext:

• Statistical attack to reveal plaintext

Page 20: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

WEP Flaws, IV Flaws

• Fuhler, Mantin, Shamir (FMS), 2001

• Passive attacks on WEP able to retrieve entire secret key in relatively small

amount of time (4,000,000 packets)

• Get information about all key bytes when PRNG input is known:

• Capture packets with weak IV (specific IV values that easy calculation of a key byte

when previous key bytes are known)

• First output byte ciphertext per IV is known:

• Every wireless frame has reliable and known first byte

• Sub-nework access protocol (SNAP) header used in LLC, upper sub-layer of data link layer

• First bye is 0xAA

Page 21: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

WEP Flaws, Active Attacks

• If attacker knows plaintext and ciphertext pair

• Keystream for IV values is known

• Plaintex XOR ciphertext = Keystream

• Build decryption dictionaries as tables of: keystream value ↔ IV value

• Attacker can create correctly encrypted messages

• Keystream XOR plainext = ciphertext

• Ciphertext sent together with known IV

• AP is deceived into accepting messages

• Message Authentication using CRC checksum not secure enough, e.g.

bitflipping, for integrity check:

• Flip a bit in ciphertext

• Bit difference in CRC-32 can be computed due to liniear properti

Checksum(M XOR Diff) = checksum(M) XOR cheksum(Diff)

Page 22: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

Enhanced WLAN Security Wi-Fi Protected Access (WPA)

Page 23: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

WLAN Security Enhancement

• Defines security framework in upper OSI layers to provide compatible

authentication and authorization for IEEE 802 LAN

• Distribute keys for 802.11 and enabling authentication and encryption

between AP and STA

• Main components:

• Supplicant (STA)

• Authenticator (AP)

• Authentication server (Radius or Diameter)

• Extensible Authentication Protocol (EAP) (RFC 2284 →RFC 3748→RFC 5247):

• MD5, TLS, Tunneled TLS (TTLS), protected EAP (PEAP), EAP SIMs

• Only supplicant & authentication server need to understand authentication mechanism

• EAP over LAN (EAPOL): encapsulated EAP messages between supplicant &

Authenticator

Page 24: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

IEEE 802.1X, port-based network access

control

Page 25: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

Wi-Fi Protected Access (WPA)

• pre-shared mode: home env., use Pre-Shared Key (PSK)

• Enterprise mode

• 802.1X authentication and management

• EAP & Radius/Diameter

• Encryption:

• TKIP (Temporal Key Integrity Protocol) or WEP2

• 128bits secret key

• RC4 session-based dyn. encryption keys, with 32 CRC as IV

• Use 48bits TKIP sequence counter (TSC) to generate IV

• Avoid replay attack (verify seq. order of MPDU); reset to 0 on new key and

increment

• Prevent reuse of IV by changing WEP key on IV recycling

• Michael 8 byte key: a non-linear message integrity code (MIC) in

addition to 32 CRC

• Longer IV + per-packet key mixing → per-packet WEP key + MIC

Page 26: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

Temporal Key Integrity Protocol (TKIP)

• Designed as a wrapper around WEP

• can be implemented in software

• Reuse existing WEP hardware

• Runs WEP as a sub-component

• Meets criteria for a good standard: everyone unhappy with it

• Design challenges:

• Mask WEP’s weakness

• Prevent data forgery

• Prevent replay attack

• Prevent encryption misuse

• Prevent key reuse

• ..on existing AP hardware

• 33 or 25 MHz ARM7 or i486 already running at 90% CPU utilization before TKIP

• Utilize existing WEP off-load hardware

• Software/firmware upgrade only

• Don’t unduly degrade performance

Page 27: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

TKIP MPDU Format

Page 28: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

TKIP Keys

• One 128bits encryption keys

• AP and STA use the same key

• KIP’s per-packet key construction makes this kosher

• Two 64-bit data integrity keys

• AP, STA use different keys for transmit

Page 29: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

TKIP Design (1) --Michael

Protect against forgeries

• Must be cheap: CPU budget ≤ 5

instructions/byte

• unfortunately is weak: a 229 message attacks

exists

• Computed over MSDUs, while WEP is over

MPDUs

• Uses two 64bits keys, one in each link direction

• Requires countermeasures: re-key on active

attack, rate limit re-keying

DA SA Payload 8 byte

MIC

Michael Michael

Au

the

nti

ca

tio

n K

ey

Page 30: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

TKIP Countermeasures

• Check CRC, ICV, and IV before verifing MIC

• Minimizes chance of false positif

• If MIC failure, almost certain active attack underway

• If an atttack detected:

• Stop using keys

• Rate limit generation to 1 per-menit

Page 31: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

TKIP Design (3)

Protect against replay

• Reset packet sequence # to 0 on re-key

• Increment sequence # by 1 on each packet

• Drop any packet received out of sequence

Page 32: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

TKIP Design (4)

Stop WEP’s encryption abuse

• Build a better per-packet encryption key

• .. By preventing weak-key attacks and de-correlating WEP IV and per-

packet key

• Must be efficient on existing hardware

Phase 2

Mixer

Phase 1

Mixer

Intermediate key

Per-packet key Transmit Address:

00-A0-C9-BA-4D-5F

Base key

Packet Sequence #

4 msb

2 lsb

Page 33: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

WPA, block diagram

http://www.cs.berkeley.edu/~daw/papers/wireless-cacm.pdf

Page 34: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

WPA • Key management and establishment

• Manual

• Automatic: 802.1X used for support key

management:

• After 802.1X Supplicant & Authentication server using Master Key (MK) obtain independently the Pairwise Master Key (PMK)

• Authentication Server sends PMK to Authenticator

• Supplicant & Authenticator use PMK & more.., to generate each:

• Pairwise Transient Key (PTK) using

four way handshake, consists of:

• EAPOL-Key Confirmation Key (KCK)

• EAPOL-Key Encryption Key (KEK)

• Temporal Key (TK 1 & 2) used for encrypting wireless traffic; TK is further computed using MAC address and IV to produce unique security key per

wireless station and per packet

• Group Transient Key (GTK) for

encrypting broadcast message

Page 35: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

How WPA Addresses the WEP Vulnerability

• WPA wraps RC4 cipher engine in four (4) new algorithms

1. Extended 48bits IV and IV sequencing rules

• 248 is a large number!! More than 500trillion

• Sequencing rules specify how IV are selected and verified

2. A Message Integrity Code (MIC) called Michael

• Designed for deployed hardware

• Requires use of active countermeasures

3. Key derivation and distribution

• Initial random number exchanges defeat Man-In-The-Middle (MITM) attacks

4. Temporal Key Integrity Protocol generates per-packet keys

Page 36: Wireless (LAN) Security - WordPress.com · to produce unique security key per wireless station and per packet • Group Transient Key (GTK) for encrypting broadcast message . How

Practical WPA Attacks

• Dictionary attack on pre-shared key mode

• CoWPAtty, Joshua Wright

• http://www.securiteam.com/tools/6L00F0ABPC.html

• Denial of Service attack

• If WPA equipment sees two packets with good ICV check and invalid

MICs check in 1 minute:

• All clients are disassociated

• All activity stopped for one minute

• Access Point rekeys TKIP session key