Top Banner
 Host Identity Protocol Miika Komu <[email protected]> Helsinki Institute for Information Technology 16.11.2009
29

Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

May 28, 2018

Download

Documents

vuongquynh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Host Identity Protocol

Miika Komu <[email protected]>Helsinki Institute for Information Technology

16.11.2009

Page 2: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Table of Contents

● Introduction● Naming and Layering● Control Plane● Data Plane

Page 3: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Introduction

Page 4: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Motivation

● Why do I need screen for IRC session?● Why youtube video stops when I switch from 

3G to WLAN?● Why do I need to pinhole my NAT box to reach 

my home server?● Why do I use SSH instead of telnet?● Why do we have NFSv4?● Why passwords for WLAN?

Page 5: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Identity­Locator Split

● Identity­locator split separates the “who” from “where”

– Application and transport layer sees the “who”– Network layer sees “where”

● Benefits of id­loc split– Realized e.g. in HIP, LISP, SHIM6– Isolates upper layers from network changes– Useful for mobile devices

● Disadvantage: indirection introduces complexity

Page 6: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Host Identity Protocol● Protects and/or authenticates application data

– IPsec or S­RTP can be used● Mobility and multihoming for transport layer

– Works in IPv4 and IPv6 networks

● End­to­end NAT traversal– Connect to home server without pinholing 

● Backwards compatible (TCP, UDP, IPv4 and IPv6)

● IPv4 applications can talk with IPv6 apps

Page 7: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Standardization

● Work split to two working groups– Internet Engineering Task Force (IETF)– Internet Research Task Force (IRTF)

● RFC5201­5201, RFC4423, RFC5338– Experimental track– Moving to standards track (6­12 months)

● Major change in RFC5201– Cryptoagility

Page 8: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Naming and Layering

Page 9: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Layering

Transport Layer

HIP Layer

HIT, port

HI

IP address

FQDN

HIT (or LSI), port and protoApplication Layer

User Interface

Network Layer

Page 10: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Socket Bindings

P r o c e s s

E n d p o i n t

L o c a t i o n

S o c k e t

I P a d d r e s s

P r o c e s s

E n d p o i n t

L o c a t i o n

S o c k e t

I P a d d r e s s

H o s t I d e n t i t y

D y n a m i c B i n d i n g

Page 11: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

APIs

IPv4 API IPv6 API

Ethernet

HIP

HIP API

IPv6

TCP UDP

Socket

ApplicationApplication

TransportLayer

Layer

Layer

HIPLayer

NetworkLayer

LinkLayer

IPv4

Page 12: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Client­Side Name Look Up Example

DNS

Network

5.

6. HIT

7. connect(HIT)

1. getaddrinfo(hostname)

2. hostname 3. <HIT, IP>

Socket Layer

Transport

HIP

IPsec

9. ESP protectedapplication data

4. <HIT, IP>

Resolver orDNS Proxy

8. base exchange

PeerHost

Application

Page 13: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

HIP Name Translation

● #1 LD_PRELOAD getaddrinfo()● #2 Local DNS Proxy

– #2a Snoop DNS requests with iptables– #2b Replace the nameserver to /etc/resolv.conf

● Note: LSIs for applications requesting A records● #3 No changes to DNS interaction

– Implement lower in the stack (opp. mode)– Implemented in router (HIP proxy)

Page 14: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

GUI / End­user Firewall

● An optional GUI can be used for managing all collecting HITs

● The GUI can prompt the user to accept incoming or outgoing connections

– Similar to end­user firewalls

● Screenshot: HIPL

Page 15: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Control Plane

Page 16: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

The Base Exchange

R 1 : p u z z le , D - H , k e y , s ig n a tu r e

I 1 : t r ig g e r b a se e x c h a n g e

I 2 : p u z z le so lu t io n , D - H , k e y , s ig n a tu r e

R 2 : sig n a tu r e

P

I

ITI

A

TOR

RES

ON

DER

N

Page 17: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Opportunistic Mode

● I1 sent to an unknown HIT● Less secure than normal HIP

– “Leap of faith”– Subsequent connections can be cached

● Does not require public keys in DNS● Convenient for

– Service registration– HIP­aware applications

● Problematic for NAT traversal

Page 18: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Handover (UPDATE)

1 ) U P D : E S P _ I N F O , L O C A T O R , S E Q [ , D - H ]

2 ) U P D : E S P _ I N F O , A C K , S E Q , E _ R Q [ , D - H ]

M N C N

4 ) U P D : E S P _ I N F O , E _ R S

5 ) [ c r e a t e S A ]

3 ) [ c r e a t e S A ]

Page 19: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

NAT Traversal using HIP and ICE

NAT

NAT

ServerRelayHIP

ESPRelayServer

Initiator Responder

3. connectivity tests

4. ESP

1. base exchangewith locators

2. 2.pair up locatorspair up locators

Page 20: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

NAT Traversal using Teredo

● Teredo vs. ICE– Plenty of free Teredo servers available– Teredo requires an IPv6 application (+socket opt), 

but the “magic” happens outside the application– ICE is more intrusive for the application because 

requires changing the protocol semantics

● NAT traversal with HIP– HIP­ICE: ICE changes hidden within HIP software– HIP­Teredo: no changes to the HIP software

Page 21: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

IPv4­IPv6 Interoperability

● Network layer– Identity­locator split hides underlying access 

technology from applications– Crossfamily handovers from IPv4 to IPv6 and 

vice versa become trivial

● Application layer– HITs for applications requesting IPv6– LSIs for applications requesting Ipv4– IPv4 apps can talk with IPv6 apps! 

Page 22: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Data Plane

Page 23: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

HIP and IPsec● Currently BEET mode ESP is the default

– Protocol allows to negotiate others (S­RTP)– Implemented in the Linux and BSD kernel– Linux and Windows can use userspace impl.

● Public­key protected data plane (hiccups)– Avoids the base exchange and use of Ipsec– Data protected with public key signatures– Switch to IPsec by sending an R1

Page 24: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

HIP Proxy

● Proxy support on an intermediary host– Benefit: no changes at client or server side

● Can be implemented on different layers– ARP level proxy: Tofino security product– IP level proxy: client and/or server­side proxy– HTTP proxy: HIP between the client and proxy

● Can use different naming or routing methods– Normal or opportunistic mode– Normal IP routing or overlays (e.g. Tofino)

Page 25: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Wicked Cool Extensions

● HIP is too fat?– RFID version of HIP– HIP Diet Exchange

● PISA Wifi Sharing– Authenticates people sharing WLANs with HIP

● Mobile proxy– Handover delegation to a middlebox

● HIP­based Virtual Private LAN service– Connects transparently separate networks

Page 26: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Questions?

Miika Komu <[email protected]>

Documentation and software for HIPL:http://hipl.hiit.fi/

Interested in contributing? Contact us:https://launchpad.net/hipl

Other two HIP implementations:http://www.openhip.org/http://www.hip4inter.net/

Page 27: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Literature 1/3

● RFC5201­5206

● RFC4423, Host Identity Protocol Architecture,  Moskowitz et al, May 2006

● RFC5338: Using the Host Identity Protocol with Legacy Applications, Henderson et al, Sep 2008

● Integrating Mobility, Multi­homing and Security in a HIP way, Pekka Nikander et al, Feb 2003

● Using DNS as an Access Protocol for Mapping Identifiers to Locators, Ponomarev et al, November 2007

● Basic Socket Interface Extensions to Host Identity Protocol, Komu et al, Sep 2009

Page 28: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Literature 2/3

● Overview and Comparison Criteria for Host Identity Protocol and Related Technologies, Koponen et al, Feb 2005

● Leap­of­faith security is Enough for IP mobility, Komu et al, Jan 2009

● HIP­based Virtual Private LAN, Henderson et al, Aug 2010

● Enterprise Network Packet Filtering for Mobile Cryptographic Identities, Janne Lindqvist et al, June 2007

● Basic HIP Extensions for Traversal of Network Address Translators, Keränen et al, Oct 2009

● Host Identity Protocol (HIP), Connectivity, Mobility, Multihoming, Security and Privacy over IPv4 and IPv6 Networks, Nikander et al, 2010

Page 29: Host Identity Protocol - Aalto University · NAT Traversal using Teredo Teredo vs. ICE – Plenty of free Teredo servers available – Teredo requires an IPv6 application (+socket

   

Literature 3/3

● Secure and Efficient IPv4/IPv6 Handovers using Host­based Identifier­Locator Split, Varjonen et al, September 2009

● HIP Immediate Carriage and Conveyance of Upper­Layer Protocol Signaling (hiccups), Nikander et al, Oct 2009

● Host Identity Protocol Proxy, Salmela et al, Nov 2007

● Backwards Compatibility Experimentation with Host Identity Protocol and Legacy Software and Networks, master thesis, Finez, Dec 2008

● HIP Support for RFIDs, Urien et al, June 2010

● HIP Diet Exchange, Moskowitz, July 2010

● HIP­based Mobile Proxy, Melen et al, Aug 2009