Embedded ipsec vpn implementation f r low end embedded systeme
This presentation is the property of its rightful owner.
Sponsored Links
1 / 31

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


  • 92 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

embedded IPsec VPN Implementation für low-end embedded Systeme

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


Ipsecdev ipsec module

„ipsecdev“

ipsecdev / ipsec Module

9


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


Ipsec datenbank module

IPsec Datenbank Module

SPD und SAD

12


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


Ah esp crypto module

AH / ESP / Crypto - Module

AH und ESP

18


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


Authentication header

Authentication Header

20


Encapsulating security payload

Encapsulating Security Payload

21


Speicherverwaltung

Speicherverwaltung

22


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 gr sse

Crypto Library aufOpenSSL Basistotal 90kB

Protokolle und DBtotal 18kB

Ergebnisse: Grösse

  • Grösse

26


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


16 bit demo

16-Bit Demo

Demo

30


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


  • Login