embedded ipsec vpn implementation f r low end embedded systeme
Download
Skip this Video
Download Presentation
embedded IPsec VPN Implementation für low-end embedded Systeme

Loading in 2 Seconds...

play fullscreen
1 / 31

embedded IPsec VPN Implementation für low-end embedded Systeme - PowerPoint PPT Presentation


  • 135 Views
  • Uploaded on

embedded IPsec VPN Implementation für low-end embedded Systeme. „D&E - Tag der Entwickler“ - M,O,C München, 07. Juli 2004. “Tag der Entwickler” – 7. Juli 2004 – M,O,C, München Christian Scheurer. 1. Übersicht. Hintergrund, Motivation und Ziele Design und Implementation Testen

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' embedded IPsec VPN Implementation für low-end embedded Systeme' - ward


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
embedded ipsec vpn implementation f r low end embedded systeme
embedded IPsec VPN Implementation fürlow-end embedded Systeme

„D&E - Tag der Entwickler“ - M,O,C München, 07. Juli 2004

“Tag der Entwickler” – 7. Juli 2004 – M,O,C, München Christian Scheurer

1

bersicht
Übersicht
  • Hintergrund, Motivation und Ziele
  • Design und Implementation
  • Testen
  • Ergebnisse

2

hintergrund
Hintergrund
  • 2003: Sicherheit für vernetzte Systeme: Passwort
  • 2004: Zahlreiche Angebote zum Thema Fernwartung über GSM
  • 200x: Vernetzt über öffentliche Netze

3

motivation
Motivation
  • Offene IPsec Implementation ausgelegt für low-end embedded Systeme
  • Interoperabilität mit andern IPsec Systemen

4

vorbereitung verst ndnis
Vorbereitung: Verständnis
  • IPsec verstehen
    • Literatur
      • Big Book of IPsec RFCs(Peter Loshin, Morgan Kaufmann 2000)
      • Netzsicherheit(Günter Schäfer, dpunkt Verlag 2003)
  • Praktische Tests- Linux Kernel 2.6

- FreeS/WAN (jetzt OpenS/WAN, StrongS/WAN)

5

vorbereitung arbeitsplatz
Vorbereitung: Arbeitsplatz
  • Entwicklungsumgebung
    • PC mit Keil uVision IDE und Sniffer
    • VMware Workstation (oder PC) mit FreeS/WAN und Linux Kernel 2.6 IPsec
    • C167-Board
    • 10Mbit Ethernet Hub

6

design
Design

embedded IPsecModule

7

implementation der module
Implementation der Module

Reihenfolge Implementation:

1.) Anbindung an TCP/IP Stack

2.) Konfigurationsdatenbanken

3.) Crypto Funktionen

4.) AH Protokoll

5.) ESP Protokoll

6.) AntiReplay, ...

8

lwip tcp ip stack

TCP/IP Stack

CS8900 Driver

lwIP TCP/IP Stack

lwIP – a light weight TCP/IP Stack

10

ipsec integration

IPsec Driver

IPsec Library

IPsec Integration

Traffic

Interception

11

security policy database
Security Policy Database
  • Welche Pakete werden verarbeitet?
    • DISCARD 
    • BYPASS 
    • APPLY 

13

security policy database1
Security Policy Database

Beispiel einer SPD Konfiguration

14

security association database
Security Association Database
  • Wie werden Pakete verarbeitet?
    • Tunnel oder Transport Mode
    • AH oder ESP
    • Algorithmen und Keys
    • Security Parameter Index

15

security association database1
Security Association Database

Beispiel einer SAD Konfiguration

16

outbound processing

SA

Outbound Processing

Datenfluss beiOutbound Processing

17

crypto library
Crypto - Library
  • 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

19

testen
Testen
  • Test-Konzept

3.

2.

1.

23

structural tests
Structural Tests
  • Structural Tests

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)

24

functional tests
Functional Tests
  • Functional Tests

25

ergebnisse performance

1280 Bytes

Ohne: 13 mSAH-MD5: 165 mS

ESP-3DES: 851 mS

512 Bytes

Ohne: 8 mSAH-MD5: 38 mS

ESP-3DES: 351 mS

64 Bytes

Ohne: 5 mSAH-MD5: 19 mS

ESP-3DES: 60 mS

Ergebnisse: Performance
  • Performance

27

einsatzgebiete
Einsatzgebiete
  • Einsatzgebiete
    • Vernetzte Sensoren
    • Gebührenzähler

28

interoperabilit t
Interoperabilität

Aus Linux Kernel 2.6.7 (./net/ipv4/esp4.c):

..

esph = (struct ip_esp_hdr*)skb->data;

iph = skb->nh.iph;

/* Get ivec. This can be wrong, check against another impls. */

if (esp->conf.ivlen)

crypto_cipher_set_iv(esp->conf.tfm, esph->enc_data,

crypto_tfm_alg_ivsize(esp->conf.tfm));

{

u8 nexthdr[2];

...

  • Interoperabilität

29

versuchs aufbau
Versuchs-Aufbau

16-Bit (Infineon C167)

Laptop (grau)

Hub

192.168.1.3

192.168.1.5

192.168.1.4

Laptop (schwarz)

8-Bit (ATMEL AVR)

192.168.1.21

192.168.1.20

31

ad