1 bienvenue! herzlich willkommen! welcome! christian scheurer ingenieur fh in informatik embedded...

35
1 Bienvenue ! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

Upload: josef-lehmann

Post on 06-Apr-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

1

Bienvenue!Herzlich willkommen!

Welcome!

Christian ScheurerIngenieur FH in InformatikEmbedded World Conference

Nürnberg, 17. Februar 2004

Page 2: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

2

• Motivation und Ziele• Design und Implementation• Testen• Ergebnisse

Inhalt

Page 3: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

3

Motivation & Ziele

Page 4: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

4

• Offene IPsec Implementation ausgelegt für low-end embedded Systeme

• Interoperabilität mit andern IPsec Systemen

Motivation & Ziele

Page 5: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

5

Design & Implementation

Page 6: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

6

• IPsec verstehen– Literatur: Big Book of IPsec RFCs– Praktische Tests mit FreeS/WAN

• Entwicklungsumgebung– PC mit Keil uVision IDE und Sniffer– PC mit Debian Linux und FreeS/WAN– C167-Board und 10Mbit Ethernet Hub

Vorbereitung

Page 7: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

7

3DES CBC encrypt3DES CBC decrypt

HMAC-MD5HMAC-SHA1

AH encapsulate

AH check

ESP decapsulate

ESP encapsulate

SAD lookupSPD lookupSPD lookup

IPsec Output

IPsec Input

cs8900 outputcs8900 input

IP input

IP output

IPsec I/O

SAD

ESP

AH

Cryptolibrary

SPD

IPsecDeviceDriver

TCP/IPStack

cs8900NetworkDriver

Design

embedded IPsecModule

Page 8: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

8

• Reihenfolge Implementation:1.) Anbindung an TCP/IP Stack2.) Konfigurationsdatenbanken3.) Crypto Funktionen4.) AH Protokoll5.) ESP Protokoll6.) AntiReplay, ...

Design

Page 9: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

9

3DES CBC encrypt3DES CBC decrypt

HMAC-MD5HMAC-SHA1

AH encapsulate

AH check

ESP decapsulate

ESP encapsulate

SAD lookupSPD lookupSPD lookup

IPsec Output

IPsec Input

cs8900 outputcs8900 input

IP input

IP output

IPsec I/O

SAD

ESP

AH

Cryptolibrary

SPD

IPsecDeviceDriver

TCP/IPStack

cs8900NetworkDriver

ipsecdev/ipsec - Module

„ipsecdev“

Page 10: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

10

lwIP TCP/IP Stack

lwIP – a light weight TCP/IP Stack

TCP/IP Stack

CS8900 Driver Device Driver

I P Layer

cs8900_ input() cs8900_output()

ip_ input() ip_output()

input output

Ethernet

Page 11: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

11

1.) Anbindung an TCP/IP Stack

TrafficInterception

I Pseclibrary

Device Driver

I P Layer

I Psec Driveripsecdev_ input() ipsecdev_output()

cs8900_ input() cs8900_output()

ip_ input() ip_output()

input output

ipse

c_in

put(

)

ipse

c_ou

tput

()

Ethernet

IPsec LibraryIPsec Driver

Page 12: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

12

3DES CBC encrypt3DES CBC decrypt

HMAC-MD5HMAC-SHA1

AH encapsulate

AH check

ESP decapsulate

ESP encapsulate

SAD lookupSPD lookupSPD lookup

IPsec Output

IPsec Input

cs8900 outputcs8900 input

IP input

IP output

IPsec I/O

SAD

ESP

AH

Cryptolibrary

SPD

IPsecDeviceDriver

TCP/IPStack

cs8900NetworkDriver

Datenbank - Module

SPD und SAD

Page 13: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

13

2.) SAD und SPD

Network Interface

Inbound

SPD

SAD

embedded IPsec

11

11

Outbound

SPD

SAD

11

11

1

*1

1 1 1

Page 14: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

14

Security Policy Database

• Welche Pakete werden verarbeitet?– DISCARD

– BYPASS

– APPLY

Page 15: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

15

Security Policy Database

Beispiel einer SPD Konfiguration

Page 16: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

16

Security Association Database

• Wie werden Pakete verarbeitet?– Tunnel oder Transport Mode – AH oder ESP – Algorithmen und Keys– Security Parameter Index

Page 17: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

17

Security Association Database

Beispiel einer SAD Konfiguration

Page 18: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

18

Outbound Processing

Datenfluss beiOutbound Processing

SPDlookup

encapsulateIPsec packet

device driveroutput

BYPASS

DISCARD

audi

tabl

e ev

ents

ipsecdev_output()

cs8900_output()

IP output

APPLYip_output()SA

Page 19: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

19

3DES CBC encrypt3DES CBC decrypt

HMAC-MD5HMAC-SHA1

AH encapsulate

AH check

ESP decapsulate

ESP encapsulate

SAD lookupSPD lookupSPD lookup

IPsec Output

IPsec Input

cs8900 outputcs8900 input

IP input

IP output

IPsec I/O

SAD

ESP

AH

Cryptolibrary

SPD

IPsecDeviceDriver

TCP/IPStack

cs8900NetworkDriver

AH/ESP/Crypto - Module

AH und ESP

Page 20: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

20

• Crypto Funktionen von OpenSSL– DES, 3DES– HMAC-MD5-96, HMAC-SHA1-96

• Für MCU optimierte Versionen– Dmitry Basko‘s DES

• http://www.dbasko.com – Graham Cole‘s MD5

• http://www.programmersheaven.com/zone5/cat27/index.htm

3.) Crypto Library

Page 21: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

21

4.) Authentication Header

unencrypted IP packet

IP header IP payloadfree headroom

free tailroom

one contiguous block of RAM

authenticated IP packetfree headroom

free tailroomIC

V

Nex

t hea

der,

Leng

th,

SP

I,S

eq N

r

deca

psul

atio

n

new

IPhe

ader

encapsulation

AH in IP packet (tunnel mode)

AHheader

AH payload

Page 22: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

22

5.) Encapsulating Security Payload

unencrypted IP packet

IP header IP payloadfree headroom

free tailroom

one contiguous block of RAM

encrypted and padded IP packetfree headroom

free tailroomIVS

PI

Seq

Nr.

ICV

Pad

ding

,P

add.

Len

,ne

xt H

eade

r

decr

yptio

n /

deca

psul

atio

n

new

IPhe

ader

encryption /encapsulation

ESP in IP packet (tunnel mode)

ESPheader

ESP payload

Page 23: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

23

Speicherverwaltung

free memoryspace

free memoryspace

lengthpayload

p bufhe ade r

pbufdata space

IP header

TCP header

payload

len gth

next

free memoryspace

free memoryspace

lengthpayload

pbufhe ade r

pbufdata space

le n gth

next

IPsec header

outer I P header

inner packet

padding & ICV

Page 24: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

24

Testen

Page 25: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

25

• Test-Konzept

Testen

IPsec ModuleImplementation

Functional Test

Structural Test

Sample Application

Automated TestScripts

embedded IPsecRelease Version

1.

2.

3.

Page 26: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

26

• Structural Tests

Testen

TST sa_test_sad_lookup() : SUCCESS : TST sa_test_sad_get_spi(): SUCCESS : TST sa_test_spd_flush() : NOT IMPL. : TST sa_test_sad_flush() : NOT IMPL. :

TST test_esp_decapsulate : SUCCESS : TST test_esp_encapsulate : SUCCESS :

MSG main : structural testing finished:MSG main : o 100.00% correct (92 of 92 tests passed)MSG main : o 82.61% complete (19 of 23 functions implemented)

Page 27: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

27

• Functional Tests

Testen

IP layer

IPsec driver

Network Driver

Transport Layer

Application Layer

IP layer

IPsec driver

Network Driver

Transport Layer

Application LayerInject applicationdata: e.g webpage

Compare withexpected result

Inject IPsecpackets

Compare withexpected result

Bottom

-up Test

Top-dow

n Test

Page 28: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

28

Ergebnisse

Page 29: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

29

• Grösse

Ergebnisse

05'000

10'00015'00020'00025'00030'00035'00040'000

size

[by

tes]

IPSE

CIP

SECD

EV AH ESP SA D

ESM

D5

SHA1

UTI

L

RAMROMCode

Protokolle und DBtotal 18kB

Crypto Library aufOpenSSL Basistotal 90kB

Page 30: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

30

• Performance

Ergebnisse

0

200

400

600

800

1000

1200

64 128 256 512 768 1024 1280Payload size [bytes]

Roun

d-tr

ip ti

me

[ms]

non-IPsecAH HMAC-MD5AH HMAC-SHA1ESP 3DESESP 3DES HMAC-MD5ESP 3DES HMAC-SHA1

64 BytesOhne: 5 mS

AH-MD5: 19 mSESP-3DES: 60 mS

512 BytesOhne: 8 mS

AH-MD5: 38 mSESP-3DES: 351 mS

1280 BytesOhne: 13 mS

AH-MD5: 165 mSESP-3DES: 851 mS

Page 31: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

31

• Einsatzgebiete– Vernetzte Sensoren– Gebührenzähler

Ergebnisse

Protokoll Round-Trip Time[1024 Bytes] Durchsatz Anwendung

AH-MD5 60 mS ca. 25 kB/s DatenESP-3DES 685 mS ca. 2.5 kB/s HTMLESP-3DES-MD5 733 mS ca. 2 kB/s Email

Page 32: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

32

• Interoperabilität

Ergebnisse

Page 33: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

33

• Arbeitsaufwand ca. 1‘000h

Ergebnisse

0

10

20

30

40

50

60

70

1 2 3 4 5 6 7 8Zeit (Wochen)

Auf

wan

d (S

tund

en)

AdminCodeTestsDocTotal

Page 34: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

34

• Weitergeführt als Projekt

– Niklaus Schildhttp://www.hta-bi.bfh.ch/Projects/ipsec/

– Christian Scheurerhttp://www.christianscheurer.ch

Zukunft

Page 35: 1 Bienvenue! Herzlich willkommen! Welcome! Christian Scheurer Ingenieur FH in Informatik Embedded World Conference Nürnberg, 17. Februar 2004

35

Merci! Es folgt die Demo