• No results found

Integrating Security, Mobility, and Multi-Homing in a HIP way

N/A
N/A
Protected

Academic year: 2021

Share "Integrating Security, Mobility, and Multi-Homing in a HIP way"

Copied!
25
0
0

Loading.... (view fulltext now)

Full text

(1)

Integrating

Security, Mobility, and Multi-Homing

in a HIP way

Pekka Nikander

Ericsson Research Nomadiclab &

(2)

Outline

• The problem: TCP/IP is getting old

• Locators and Host Identifiers • Combined locator–identifiers

• A Solution: Change the Architecture • The Basic Idea of HIP

• Socket bindings revisited • Protocol walkthrough

• End-host Mobility & Multi-homing

• End-Host Mobility & End-Host Multi-Homing • Virtual Interfaces

• Implementation status • Summary

(3)

The problem: TCP/IP is getting old

• Computers are getting more mobile and more connected

• E.g. a PDA with GSM / UMTS / WLAN / BlueTooth • Internet addresses still are addresses,

• bound to places in network topology

• but working less well as host identifiers

• Proving mobility and multi-homing has turned to be hard • Maybe it is a time to rethink the situation?

• Host Identity Payload (HIP) is a concrete attempt to

provide a new approach — we may be right, we may be wrong, but we try, and hopefully we learn

(4)

Locators and Host Identifiers

• IP addresses are bound to network topology

• In the old network class (A / B / C) based system it was less so, but hosts were still bound to networks • Today, keeping the routing tables manageable

requires CIDR and hierarchical address prefixes

• Therefore the globally routable IP addresses are sometimes called as Provider Assigned (PA) addresses

→ IP addresses act as a locators (names of locations) • Network connections are bound to IP addresses

• TCP / UDP sockets are identified with IP addresses

• SCTP is an exception to this, and indeed a competitor to HIP

• DNS gives out addresses for new connections

(5)

Combined locator–identifiers

• IP addresses are combined locators and host identifiers • Good from security point-of-view

• Packet sent to Alice’s address is indeed sent to Alice • Why? Because Alice is identified by the address!

• The routing system is assumed to be secure in the sense that it either delivers the packets to their destination or not at all

• This limits the potential attackers to those topological paths that make it possible to eavesdrop packets sent to a particular address

• Bad from mobility / multi-homing point-of-view

• Host changes its location → must change its identity • Leads to the Home Address / Care-of-Address design in Mobile IP

• Multi-homed must have multiple identities • Leads to multi-address sessions like in SCTP

• Managing multiple / dynamic addresses becomes harder than necessary

(6)

A Solution: Change the Architecture

• Separate locators from host identifiers

• Let IP address continue to function as locators • No changes to the routing infrastructure

• Mobile host still needs to keep changing its address • Multi-homed host still has multiple addresses

• Create a new name space for host identifiers • Use public keys as primary identifiers

• How to get a host’s public key is beyond our current scope

• Provide a secure binding between a host’s public key and its IP address(es)

• Sign the address(es), optionally use CGA

• Check that the key is available at the address(es)

(7)

The Basic Idea of HIP

• A new layer

• A new Name Space: Host Identifiers

• Public keys

• Represented as key hashes,

Host ID Tags (HIT) • Sockets bound to

the Host IDs, not IP addresses

• Kernel translates

outgoing HI into an real IP address

• cf. Bellovin’s Host NAT Link (network) layer

Link layer addrs Ethernet addresses Internetworking layer IP addresses

(ARP or ND) Transport layer <HI, port> pairs

Process

sockets

Host identity layer Host identifiers translation

(8)

Socket bindings revisited

Bindings in the Process Socket IP address Bindings in the HI End-point dynamic binding

current architecture new architecture

Location

Process Socket

IP address End-point

(9)

Protocol walkthrough

• A new key management daemon

• New IPsec transformation type: HIP transform Client application Server application HIP daemon HIP daemon IPsec policy IPsec SAs IPsec SAs IPsec policy userspace kernel socket interface socket interface

(10)

Protocol walkthrough

• Client application connects to a server

connect(dst = server’s Host Identity) Client application Server application HIP daemon HIP daemon IPsec policy IPsec SAs IPsec SAs IPsec policy userspace kernel socket interface socket interface connect dst=HI

(11)

Protocol walkthrough

• IPsec policy engine traps the Host Identity

• Since there is no SA, a PF_KEY ACQUIRE is passed Client application Server application HIP daemon HIP daemon IPsec policy IPsec SAs IPsec SAs IPsec policy userspace kernel socket interface socket interface PF_KEY ACQUIRE

(12)

Protocol walkthrough

• The HIP daemon initiates a key negotiation • I1: HITI HITR

Client application Server application HIP daemon HIP daemon IPsec policy IPsec SAs IPsec SAs IPsec policy userspace kernel socket interface socket interface I1

(13)

Protocol walkthrough

• Responder replies with a canned R1

R1: HITI SIGNR(HITR Puzzle gx params HIR)

Client application Server application HIP daemon HIP daemon IPsec policy IPsec SAs IPsec SAs IPsec policy userspace kernel socket interface socket interface R1

(14)

Protocol walkthrough

• Initiator solves the puzzle and sends I2

I2: SIGNI(HITI HITR Result gy ENCsess(HII))

Client application Server application HIP daemon HIP daemon IPsec policy IPsec SAs IPsec SAs IPsec policy userspace kernel socket interface socket interface I2

(15)

Protocol walkthrough

• The key negotiation is completed with R2 • R2: SIGNR(HITR HITI SPI)

Client application Server application HIP daemon HIP daemon IPsec policy IPsec SAs IPsec SAs IPsec policy userspace kernel socket interface socket interface R2

(16)

Protocol walkthrough

• HIP mode IPsec SAs are established

• (Actually, the server does this before sending R2) Client application Server application HIP daemon HIP daemon IPsec policy IPsec SAs IPsec SAs IPsec policy userspace kernel socket interface socket interface PF_KEY ADD

(17)

Protocol walkthrough

• The queued packet is sent over the ESP connection • The SA replaces the server HI with a real IP address

Client application Server application HIP daemon HIP daemon IPsec policy IPsec SAs IPsec SAs IPsec policy userspace kernel socket interface socket interface dst=IPaddr dst=HI ESP packet

(18)

Protocol walkthrough

• The recipient SA replaces address with HI • The packet is passed to the application

Client application Server application HIP daemon HIP daemon IPsec policy IPsec SAs IPsec SAs IPsec policy userspace kernel socket interface socket interface dst=IPaddr dst=HI dst=HI

(19)

End-host Mobility & Multi-homing

• HIP seems to solve end-host mobility and multi-homing problems almost trivially

• Mobility and multi-homing become duals of each other • A mobile host has multiple addresses serially

• A multi-homed host has multiple addresses parallelly

(20)

End-host Mobility

Topologically

slowly changing

internetwork

Points-of-attachment

Mobile hosts

A host in transit

(21)

End-host Multi-Homing

Points of attachment

Singly-homed hosts

(22)

Virtual Interfaces

Physical interfaces

Forwarding paths ("tunnels")

Virtual interfaces

Forw. agent

Forw. agent

(23)

Implementation status

• Four independent implementation efforts

• Ericsson Research: NetBSD kernel

• Helsinki Univ. of Tech.: Linux IPv6 kernel • Boeing Phantom Works: Linux IPv4 kernel • Andrew McGregor: Python user level

• All aim for an alpha version around the next IETF

• Some versions already available, but with lacking functionality and small interoperability problems • Interoperability testing to happen at San Francisco

(24)

Summary

• A concrete, down-to-earth attempt to "fix" the Internet • Deployment can start at end-points

• No changes required to routers

• Can be made to work with firewalls

• Supports NAT, but requires HIP-capable NAT boxes • Backwards compatibility can be provided with proxies • Integrates IPsec key negotiation, end-host mobility, and

end-host multihoming • Work in progress

• First usable implementations available soon

(25)

More information

• The "official" HIP site (slightly outdated)

homebase.htt-consult.com/HIP.html • HIP mailing list

lists.freeswan.org/mailman/listinfo/hipsec/ • Ericsson Research HIP project

www.hip4inter.net

• Helsinki University of Technology student project gaijin.tky.hut.fi/hipl/

• Boeing Phantom Works Linux implementation

Available upon request, see mailing list • Andrew McGregor’s Python implementation

Available as a download, see mailing list • These slides: www.tml.hut.fi/~pnr/presentations/

References

Related documents

The second type is the ‘419’ business solicitation, where the receiver is urged to invest (e.g. in gold) in South Africa or Burkina Faso with a profit- sharing formula to be decided.

Fractionation of eroded sediment by settling velocity shows that aggregation of source soil has a clear potential to af- fect the movement of sediment fractions and thus the fate of

Enseñanzas de los Maestros Ascendidos.. Cómo trabajar Con

[email protected], [email protected], Panneau- [email protected], [email protected], Panneau-

The insensitivity to motion noise in maintaining the swarm connectivity may be attributed to the factor that each mobile robot is able to update its positional information and

Our work has shown the use of single nearest charger algorithm, shared charger algorithm and granuloma formation algorithm for self-healing mecha- nism in swarm robotic systems

12  We investigated whether levels of cardiovascular risk factors, cholesterol, HbA 1c, systolic and 13 diastolic blood pressure associated with adverse clinical outcomes

With a two-party oblivious transfer protocol, OKS allows the user to retrieve the plain data containing the keyword of his choice while the supplier learns nothing about the