21
HOST IDENTITY PROTOCOL 1

HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Embed Size (px)

Citation preview

Page 1: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

HOST IDENTITY PROTOCOL

1

Page 2: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

What is HIP● A multi-addressing and mobility solution for

the Internet● Also a security protocol for authentication and

encryption● Add a new layer to separate transport and

network layers● The new layers maps host identifiers to network

address and vice versa

2

Page 3: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

History•1999 : Idea discussed briefly at the IETF

•2001: Two BoFs, no WG created at that time

•02-03: development at the corridors

•2004: WG and RG created

• 2007 : first stable version

3

Page 4: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Achievements Mobility Multi-Homing Security NAT / IPv4 / IPv6 traversals

5

Page 5: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Host Identify Tag (HIT)● A public key is used to identify an end-host● A 128-bit host identify tag (HIT) is used for

system call● HIT is a hash on public key and has a global

scope● A 32-bit local scope identifier (LSI) is used for

IPv4 compatibility

6

Page 6: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

WHY● To overcome the shortcoming of existing

Internet, namely

○ The dual role of IP as both host identifier and locator

○ The lack of security with IP

● To make end-host mobility and multi-homing very easy to implement

7

Page 7: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

How it works● HIP introduces host identity layer between

transport and network layers● HIP uses base exchange to perform

authentication and establish session keys before communication.

● Communication data are protected using IPsec ESP

● HIP provides a readdressing mechanism to support IP changes with mobility and multi-homing

8

Page 8: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Architecture

9

Page 9: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Architecture● Transport layer communication is bound to host

identity instead of IP● The binding between host identity and IP is

dynamic and can have a one-to-many relationship

● A host layer protocol is developed to make HIP work

10

Page 10: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Host Layer Protocol

● A signal protocol between the communicating end-points

● Perform mutual end-to-end authentication● It creates IPsec ESP Security Associations for

integrity protection and encryption● Perform reachability verification● Consists of 7 message types, four of which are

dedicated to the base exchange

11

Page 11: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Protocol overviewInitiator Responder

I1: HITI, HIT

R or NULL

R1: HITI, [HIT

R, puzzle, DH

R, HI

R]sig

I2: [HITI, HIT

R, solution, DH

I, {HI

I}]

sigR2: [HIT

I, HIT

R, authenticator]

sigUser data messagesUser data messages

Con

trol

Con

trol

Dat

aD

ata

13

Page 12: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Base Exchange● Step 1: Initiator (I) sends the first I1 packet, which contains own

HIT and the HIT of the responder to the responder (R)

● Step 2: R relies with message R1, which contains the HITs of I and itself as well as a puzzle based challenge for I to solve

● Step 3: I solves the puzzle and sends in I2 the HITs of itself and R as well as the solution to the puzzle, and performs the authentication

● Step 4: R now commits itself to the communication, and respond with HITs of I and itself, and performs the authentication.

● After this, I and R have performed the mutual authentication and established Security Associations for ESP 15

Page 13: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Mobility with HIP● HIP provides dynamic binding between a Host ID

and IP addresses.

● A mobile node sends REA (readdressing) package to its peer to inform the change of address

● The peer verifies the reachbility of the mobile node with the new address

16

Page 14: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Mobility with HIP

17

Page 15: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Multi-homing

A host can have multiple network interfaces

18

Page 16: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Multihoming with HIP● HIP provides one-to-many binding between a

Host ID and IP● A multi-homing can send a series of available

address to its peer and designate a preferred address

● The peer host can choose communication address in case failover or based on load balance consideration

● An update message is enough to make it work

19

Page 17: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Multihoming with HIP

20

Page 18: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Implementation● Involves kernel level programming since the host

layer protocol works under the transport layer● Only base exchange is implemented in a HIPL

project● HIP is implemented as a kernel module, which

uses a user space daemon for cryptographic operations

21

Page 19: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Using HIP with ESP

HIP daemon HIP daemonHIP daemon

Server appServer app

socket APIsocket API socket APIsocket API

IPsecSADIPsecSAD

IPsecSPDIPsecSPD

IPsecSPDIPsecSPD

IPsecSADIPsecSAD

TCP SYN

to HITS

DNS query

ESP protected TCP SYN

to IPaddrS

convert HITs to IP addresses convert IP addresses to HITs

TCP SYN

from HITC

DNS serverDNS serverDNS replyClient appClient app

HITDNS libraryDNS library

HIT ----- >  {IP addresses}connect(HIT

S)

22

Page 20: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

HIP as the new waist of TCP/IP

v4 app

TCPv4

IPv4

Link layer

TCPv6

IPv6

v6 app v4 app

TCPv4

IPv4

Link layer

TCPv6

IPv6

v6 app

Host identity Host identity

23

Page 21: HOST IDENTITY PROTOCOL 1. What is HIP ● A multi-addressing and mobility solution for the Internet ● Also a security protocol for authentication and encryption

Thanks

25