580 likes | 762 Views
Network Security: Broadcast and Multicast, Mobile IPv6. Tuomas Aura. Outline. Broadcast and multicast Receiver access control (i.e. data confidentiality) Multicast authentication DoS protection Mobile IPv6 Spoofed bindings, bombing attack Return routability test.
E N D
Network Security: Broadcast and Multicast, Mobile IPv6 Tuomas Aura
Outline Broadcast and multicast • Receiver access control (i.e. data confidentiality) • Multicast authentication • DoS protection Mobile IPv6 • Spoofed bindings, bombing attack • Return routability test
Broadcast and multicast • Unicast = send to one receiver • Traditional IP routing • TCP, HTTP, video and audio streaming • Server sends a separate copy to each receiver • Broadcast = send to everyone • Terrestrial radio and television, satellite • Link-layer broadcast on Ethernet or WLAN, flood-fill through an overlay network • Multicast = send to a group of receivers • IP multicast, overlay streaming , IPTV • Can save bandwidth by routing through a tree
IP multicast • Internet group management protocol (IGMP) in IPv4 and Multicast listener discovery (MLD) in IPv6 between clients and the gateway router • Clients use to connect to a local multicast router • Protocol-independent multicast (PIM) within larger networks • PIM sparse mode (PIM-SM) or dense mode (PIM-DM) used closed routing domains • Inter-domain protocols: Multicast Source Discovery Protocol (MSDP) and MBGP • Still experimental • The multicast routing protocols do not provide security in themselves
Future of multicast and broadcast? • Multicast tree vs. P2P overlay multicast protocols • Youtube and unicast
Security goals • Applications: satellite and cable TV, Internet TV, peer-to-peer content distribution, GPS/Galileo, teleconference • Access control to multicast and broadcast data • Data authentication • DoS protection — access control for senders • Privacy — confidentiality of subscriber identities (which channel is my neighbor watching?)
Access control to data • Goal: allow only authorized access to data • Encrypt data, distribute keys to authorized recipients (= multicast group) • Key distribution issues: • Revocation speed • Amount of communication and computation per joining or leaving node • Scalability (teleconference vs. satellite TV broadcast) • Possible packet loss when session keys are replaced • Sharing keys to unauthorized parties is easier than sharing data
Group key distribution • Various efficient protocols for distributing keys to a multicast group • Typical solution: unicast key distribution to individual subscribers • Ok for small groups (e.g. teleconference) or slow updates (e.g. IPTV subscription) • Can piggyback individual key updates on multicast data • Does not require separate unicast channel • Ok for slow updates (e.g. satellite TV) • Advanced protocols • Typically log(N) communication to revoke one receiver out of N
Multicast data authentication • Security goals: • Integrity, data-origin authentication • Sometimes non-repudiation • Early dropping of spoofed data • Other constraints: • Loss tolerance vs. reliable transmission • Real-time requirements • Small groups could use a shared key and MACs • Every member can spoof data • Won’t work for large or mutually distrusting groups • Asymmetric crypto seems the right tool • One sender and many receivers
Hash chaining • Forward chaining • Amortize the cost of a signature over many data packets • Sender can send in real time • Receiver should buffer data and consume only after signature received • Received vulnerable to DoS from spoofed packets • Backward chaining • Received can authenticate and consume data immediately • Sender must buffer data before sending and signing
Loss tolerant chaining • Redundant hash chains • Efficient multi-chained stream signature (EMSS) • E.g. 1-3-7 chaining sequence tolerates bursty losses of up to 7 packets: • Redundant signatures costly • Random chaining sequence shown to be efficient • Alternative: forward error correction code
Guy Fawkes protocol (1) • Delayed authentication [Ross Anderson 1997] • Initially, receiver knows Y = hash(X) • To authenticate message M: • Sender publishes Z= MACX(M) • Sender reveals M, X • Z is a commitment that binds the message M and the secret X. Revealing X later authenticates M • Critical detail: • The commitment Z must be received before X is revealed • In the Guy Fawkes protocol, Z is published in a news paper = broadcast medium with guaranteed latest delivery time
Guy Fawkes protocol (2) • Out-of-band initialization: • Sender selects a random X0 and computes Y0 = hash(X0) • Sender publishes Y0 via an authenticate channel • Protocol round i=1,2,3,…: • Sender selects a random Xi and computes Yi = hash(Xi) • Sender publishes in a newspaper Zi= MACXi-1 (Mi, Yi) • Sender reveals Mi, hash(Xi), Xi-1 • Zi is a commitment that binds the message Mi and the secret Xi-1. Revealing Xi-1 later authenticates Mi • The next key Yi is authenticated together with Mi • Critical: • Each Zi must be received before Xi-1 revealed
Lamport hash chain • [Leslie Lamport 1981] • One-time passwords for client-server authentication • Initialization: • Random number X0 • Hash chain Xi = h(Xi-1), i=1…n • Server stores Xn • Client reveals hashes in reverse order: Xn–1, Xn-2,… • Protects against password sniffing • Cannot be replayed like a normal password • Better than real random passwords> takes less storage space and the serve password database (/etc/password) can be public • Entity authentication only; no key exchange
TESLA (1) • Time efficient stream loss-tolerant authentication [Perrig et al. 2000][RFC 4082] • After initialization, secret-key crypto (cryptographic hash and MACs) only • Delayed authentication: broadcast sender commits to MAC keys and reveals them after a fixed delay • Authentication delay at least one round-trip time (RTT) • MAC keys come from a hash chain • Requires loose clock synchronization • Authentication delay must be set to > maximum clock skew • No buffering of data at sender; buffering for a fixed period at the receiver • Tolerates packet loss • Scales to any number of receivers • No non-repudiation
TESLA (2) • Initialization: • Sender commits to the key chain and release schedule by signing: k0, start time T1, interval duration Tint, disclosure delay d∙Tint • Time periods start at T1, others Ti+1=Ti+Tint • MAC keys k’1, k’2, k’3,… • Used for message authentication in periods starting from T1, T2, T3… • ki revealed d periods later (revealing ki reveals all kj, j≤i) • Sender and receiver must have loosely synchronized clocks
TESLA (3) • Packets received in period i will be authenticated in period i+d • If a packet that belongs to the period [Ti ,Ti+1] is received after Ti+1, it cannot be authenticated • Ok to have silent periods but dummy packets may be needed to avoid long authentication delays • Next key chain can be initialized by sending the new k0 in the last packets of the previous chain (cf. Guy Fawkes)
Access control for senders • Multicast is a mechanism for traffic amplification → can be used for DoS attacks to consume bandwidth • One-root solution: the root node of the multicast tree authenticates senders and checks for authorization • Ok for satellite broadcast • No such root in IP multicast in the Internet, in many-to-many communication, or in peer-to-peer content distribution • Authentication of data at each router needed to avoid insertion of false data → maybe too expensive • Reverse path forwarding: each router checks the routing table for the source address and decides whether the packet came from the right direction • Prevents some spoofing attacks • Needed to prevent routing loops anyway
Non-crypto access control for receivers • A multicast receiver could subscribe to a large number of multicast streams • Packet flood to the location of the receiver • Either free, unencrypted streams or streams of encrypted packets it cannot decrypt • Need some way of limiting subscriptions at the receiver end
Exercises • Combine backward and forward chaining to divide the buffering requirement between sender and receiver • How could a criminal organization use cryptography to make a series of anonymous but plausible threats? (Hint: Guy Fawkes was a 17th century terrorist) • If the receiver has no capability for public-key operations, how would you initialize TESLA?
Network-layer mobility protocol Developed since 1991; now standardized by the Internet Engineering Task Force (IETF) Mobile IP(v4) [RFC 3344], IPv6 [RFC 3775] History: Mobile IPv6 standardization halted in 2000 because of security concerns Security protocol proposed by us in 2001 became a part of the standard. Major security problems fixed Next, we'll go through the threat analysis and security protocol design step by step Mobile IPv6
Mobile IPv6 and addresses • The mobile node (MN) has two IPv6 addresses • Home address (HoA): • Subnet prefix of the home network • Used as address when MN is at home. Used as node identifier when MN is roaming in a foreign network • Home network may be virtual – MN never at home. • Care-of address (CoA): • MN’s current point of attachment to the Internet • Subnet prefix of the foreign network • Correspondent node (CN) can be any Internet host (Note: MN and CN are hosts, not routers.)
Mobility Correspondent node (CN) • How to communicate after MN leaves its home network and is roaming in a foreign network? (HoA, CN and CoA are IPv6 addresses) Home Network Home address(HoA) Mobile node (MN) Foreign Network Care-of address (CoA)
Mobile IPv6 goals • Mobility goals: • MN is always reachable at HoA as long as it is connected to the Internet at some CoA • Connections don’t break when CoA changes • Performance goals (different levels): • Roaming (transparent access to VPN, email and web while away from home) has low QoS requirements • Mobile multimedia (real-time voice and sound while constantly moving) requires delays < 200 ms • Security goals: • As secure as the current Internet without mobility
Mobile IPv6 tunnelling Home Network CN • Home agent (HA) is a router at the home network that forwards packets to and from the mobile • MN always reachable at HoA source = CNdestination = HoA Home agent HA at HoA source = HAdestination = CoA tunnel Encapsulatedpacket source = CNdestination = HoA MN at CoA
Tunneled packets on the wire • IPsec ESP tunnel between HA and MN • HA uses its own IPv6 address as the tunnel endpoint • MN uses the CoA as the tunnel endpoint → both SPD and SAD must be updated at HA when the mobile moves • Packet from CN to HoA:IP[CN,HoA] | Payload (intercepted by HA) Forward tunnel from HA to CoA:IP[HA,CoA] | ESP | IP[CN,HoA] | Payload • Reverse tunnel from MN to HA: IP[CoA,HA] | ESP | IP[HoA,CN] | Payload Packet forwarded from HA to CN: IP[HoA,CN] | Payload • Note: no problems with ingress filtering because all source addresses are topologically correct
Route optimization (RO) CN 1. First packet HA at HoA 3. Followingpackets 2. Binding Update (BU) source = CoAdestination = CNThis is HoAI'm at CoA source = CNdestination = CoAFor HoA tunnel Routing header (RH) source = CoAdestination = CNFrom HoA MN at CoA Home addressoption (HAO)
Route-optimized packets on the wire • Packet from CN to MN:IP[CN,CoA] | RH[HoA] | Payload(RH = Routing header Type 1, “for HoA”) • Packet from MN to CN:IP[CoA,CN] | HAO[HoA] | Payload(HAO = Home address option, “from HoA”) • Again, all source addresses are topologically correct
Route optimization • Important optimization: • Normally, only the first packet sent via home agent (HA). Binding udpate (BU) triggered when MN receives a tunneled packet. All following packets optimized • But, if CN does not support BU or decides to ignore them, then all packets are tunneled via HA • MN may send the BU at any time • In principle, IP layer is stateless and does not know whether there was previous communication
Binding update • Originally, a 2-message protocol: • Binding update (BU) from CoA to CN • Binding acknowledgement (BA) from CN to MN Now a much more complex protocol, for security reasons that we'll soon explain • CN caches the HoA–CoAbinding in its binding cache for a few minutes • MN may send a new BU to refresh the cache or to update its location • CN may send a binding request (BR) to MN to ask for a cache refresh
Who are MN, CN? • Any IPv6 host may be the correspondent • Any IPv6 address can become mobile, even though most never do • By looking at the address, CN cannot know whether home address (HoA) belongs to a mobile node → Security flaws in Mobile IPv6 may be used to attack any Internet node
Threats and protectionmechanisms All weaknesses shown here have been addresses in the RFC
Attack 1: false binding updates • A, B and C can be anyIPv6 nodes (i.e. addresses) on the Internet A B False BU source = Cdestination = BThis is AI'm at C Stolen data C Attacker
Attacker could highjack old connections or open new A, B and C can be any Internet nodes Connection hijacking A B False BU source = Cdestination = BThis is AI'm at C Stolen data source = C destination = BFrom A Spoofed data Attacker C
Man-in-the-middle attack A B False BU False BU This is BI'm at C This is AI'm at C Attacker C
If no security measures added • Attacker anywhere on the Internet can hijack connection between any two Internet nodes, or spoof such a connection • Attacker must know the IPv6 addresses of the target nodes, though
BU authentication • MN and HA trust each other and can have a secure tunnel between them. Authenticating BUs to CN is the problem • The obvious solution is strong cryptographic authentication of BUs • Problem:there is no global system for authenticating any Internet node
Authentication without infrastructure? • How authenticate messages between any two IPv6 nodes, without introducing new security infrastructure? • Set requirements to the right level: Internet with Mobile IPv6 deployed must be as secure as before it → no general-purpose strong authentication needed • Some IP-layer infrastructure is available: • IPv6 addresses • Routing infrastructure • Surprisingly, both can be used for BU authentication: • Cryptographically generated addresses (CGA) • Routing-based “weak” authentication, called return routability
BU Authentication – v.1 • CN sends a key in plaintext to HoA 2. K HAat HoA CN accept BU 1. BU securetunnel 3. BU, MACK(BU) MNat CoA
Is that good enough? • “Weak”, routing-based authentication, but it meets the stated requirement • Attacker has to be on the path between CN and HA to break the authentication and hijack connections • This is true even if the MN never leaves home, so mobility does not make the Internet less secure • Not possible for any Internet node to hijack any connection → significantly reduced risk • K is not a general-purpose session key! Only for authenticating BUs from MN to CN • Anything else? • The weak authentication, CAM, and other protocols discourage lying about who you are • Still possible to lie about where you are!
Attack 2: bombing attack • Attacker can flood the target by redirecting data streams bbc.co.uk Attacker Video stream B A source = Cdestination = BThis is AI'm at C False BU Unwanted video stream Target C
Bombing attack - ACKs Attacker bbc.com False BU • Attacker participated in the transport-layer handshake → can spoof TCP ACKs or similar acknowledgements • Attacker only needs to spoof one ACK per sender window to keep the stream going • Target will not even send a TCP Reset! A A B source = Cdestination = BThis is AACK Falseacknowledgments Unwanted video stream Target C