SIXTH FRAMEWORK PROGRAMME PRIORITY 2 “Information Society Technologies”

advertisement
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
SIXTH FRAMEWORK PROGRAMME
PRIORITY 2
“Information Society Technologies”
Project acronym: SEINIT
Project full title: Security Expert INITiative
Proposal/Contract no.: IST-2002-001929-SEINIT
D3.1
Preliminary Implementation & Development Specification
Project Document Number: SEINIT/D3.1/PU/v0 (official version)
Project Document Date: 26/05/2004
Workpackage Contributing to the Project Document: WP3
Deliverable Type and Security: R-PU
Author(s): WP3
Abstract:
D3.1 is the first document of Work Package 3 (WP3) named Implementation of Components and Models.
This document is the report on preliminary implementation and development specification.
Components are distributed in 4 tasks:
- T3.1: Enhancements to IPv6 security mechanisms and v4-v6 transition mechanism,
- T3.2: Additional mobility support,
- T3.3: Supplementary Access Control functionality for Mobility,
- T3.4: Preliminary implementations to secure E2E service architecture.
For each component provided by the WP3 tasks, D3.1 document includes a description of the pre-existing
components, explaining their purpose, how they will be used or adapted and how they will interoperate with
the other components of the project. For new components needed and developed by the project, the
document specifies the required behaviour and interfaces.
Keywords: WP3, Components, Models, interfaces
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 1 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
History
Version
Date
Description, Author(s), Reviser(s)
0.1
07/04/2004
Document creation - P. Reymond (ALCA)
0.2
16/04/2004
Addition of sections DNSsec, Policy Management, CGA, Access Control
Infrastrucuture (AAA, PKI, Privilege Management Infrastructure, SAML, PANA)
- Antonio F. Gómez Skarmeta (UMU)
0.3
26/04/2004
Access Control managed with Credentials (SAML) - Antonio F. Gómez Skarmeta
(UMU)
0.4
28/04/2004
Template update - T. Legras (ALCA)
0.5
12/05/2004
Addition of section : IPSEC enhancements, Return Routeability, EAP - Gerhard
Gessler, Wolfgang Fritsche (IABG)
Addition of section : Security for IPv4/IPv6 transition mechanism, Return
Routeability, IPSec state of art in Alcatel - P. Reymond (ALCA)
Addition of section : Adaptative Contents in E2E security mechanisms chapter Arnaud Pierre, Frédérique Tastet (THC)
Addition of section : IP Signalling in E2E security mechanisms chapter Sandrine Masson, Vincent Maury, Frédérique Tastet (THC)
Addition of section on Honeypot - Maxime Feroul (KYOS)
0.6
14/05/2004
Addition to section on Honeypots - Wireless Honeypots, Steven Davy, John
Ronan (WIT)
Addition of Section: Snort IPv6 and Wireless IDS - Steven Davy, John Ronan
(WIT), Bruno Blumenthal (TELS)
0.7
24/05/2004
Modifications after Audio conference review 18/05/2004:
•
Transition Mechanism - P. Reymond (ALCA)
•
IPSEC enhancements - Gerhard Gessler (IABG)
•
Overall document organization - Thierry Legras (ALCA)
•
Dynamic IPv6 Honeypot - Maxime Feroul (KYOS)
Addition of section: Purpose & scope - Thierry Legras (ALCA)
Addition of sections: Routing Security, Distributed Infrastructures - Jordane
Hurier, Frédérique Tastet (THC)
0.8
26/05/2004
Modifications on NAT-PT in 2.1.3 and 2.1.5 chapter – P. Reymond (ALCA)
Minor modifications after final review – T. Legras (ALCA)
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 2 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
SEINIT Partners
Participant Name,
Short
Address & Web Site
Thales Communications S.A.
160, bld de Valmy, 92704 COLOMBES , FRANCE
www.thales-communications.com
ALCATEL S.A.
54, rue La Boétie, 75008 Paris, FRANCE
www.alcatel.com
British Telecom plc
81 Newgate Street, LONDON EC1A 7AJ, UNITED KINGDOM
www.bt.com
T-Systems Nova GmbH
Am Probsthof 10, 53121 BONN, GERMANY
www.t-systems.com
Groupe des Ecoles des Télécommunications - Ecole Nationale Supérieure des Télécommunications
(GET-ENST)
46, rue Barrault, 75634 PARIS, FRANCE
www.enst.fr
Industrieanlagen-Betriebsgesellschaft mbH (IABG)
Einsteinstrasse 20, 85521 OTTOBRUNN, GERMANY
www.iabg.de
KYOS SARL,
89, rue de la Servette, GENEVE, SWITZERLAND
www.kyos.ch www.kyos.ch
TELSCOM AG
Aarwilweg 20, 3074 MURI, SWITZERLAND
www.telscom.ch
Thales Research and Technology (UK) Limited
Dashwood Lang Road, Bourne Business Park, WEYBRIDGE KT15 2NX, UNITED KINGDOM
www.trt.uk
University College London
Gower Street, WC1E 6BT LONDON, UNITED KINGDOM
www.cs.ucl.ac.uk
Universidad de Murcia
Av. Teniente Flomesta s/n, 30001 MURCIA, SPAIN
www.um.es
Waterford Institute of Technology
Cork road, WATERFORD, IRELAND
www.tssg.org
Internet Society (ISOC)
4, rue des Falaises, 1205 GENEVE, SWITZERLAND
www.isoc.org
Name
THC
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
ALCA
BT
DT
ENST
IABG
KYOS
TELS
TRT
UCL
UMU
WIT
ISOC
Page 3 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Contents
Page
1
Introduction ............................................................................................................................ 8
1.1
1.2
1.3
1.4
2
Enhancements to IPv6 security mechanisms and v4-v6 transition mechanisms................... 11
2.1
2.1.1
2.1.2
2.1.3
2.1.4
2.1.5
2.1.6
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.3
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.4
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.5
2.5.1
2.5.2
2.5.3
2.5.4
2.5.5
2.6
2.6.1
2.6.2
2.6.3
2.6.4
2.6.5
3
Purpose and scope ...................................................................................................................... 8
Structure ..................................................................................................................................... 8
Definition .................................................................................................................................... 8
Abbreviation ............................................................................................................................... 9
Security for IPv4/IPv6 transition mechanisms .........................................................................11
Generalities...........................................................................................................................................11
Functional description ...........................................................................................................................11
State of art.............................................................................................................................................17
Purpose in SEINIT ................................................................................................................................19
Adaptation and use ................................................................................................................................20
Interaction with other components .........................................................................................................21
DNSsec .......................................................................................................................................22
Functional description ...........................................................................................................................22
State of art.............................................................................................................................................22
Purpose in SEINIT ................................................................................................................................23
Adaptation and use ................................................................................................................................23
Interaction with other components .........................................................................................................23
IPv6 routing security .................................................................................................................23
Functional description ...........................................................................................................................23
State of art.............................................................................................................................................24
Purpose in SEINIT ................................................................................................................................24
Adaptation and use ................................................................................................................................24
Interaction with other components .........................................................................................................25
IPsec enhancements ...................................................................................................................25
Functional description ...........................................................................................................................25
State of art.............................................................................................................................................25
Purpose in SEINIT ................................................................................................................................26
Adaptation and use ................................................................................................................................26
Interaction with other components .........................................................................................................27
Mobility in secure architectures (Return Routeability)............................................................27
Functional description ...........................................................................................................................27
State of art.............................................................................................................................................29
Purpose in SEINIT ................................................................................................................................29
Adaptation and use ................................................................................................................................29
Interaction with other components .........................................................................................................29
Access Control managed with CGA..........................................................................................29
Functional description ...........................................................................................................................29
State of art.............................................................................................................................................30
Purpose in SEINIT ................................................................................................................................30
Adaptation and use ................................................................................................................................30
Interaction with other components .........................................................................................................30
Supplementary Access Control functionality ........................................................................ 31
3.1
Access Control Infrastructure...................................................................................................31
3.1.1 AAA .....................................................................................................................................................31
3.1.1.1
Functional description...................................................................................................................31
3.1.1.2
State of art ....................................................................................................................................31
3.1.1.3
Purpose in SEINIT........................................................................................................................32
3.1.1.4
Adaptation and use........................................................................................................................32
3.1.1.5
Interaction with other components.................................................................................................32
3.1.2 PKI .......................................................................................................................................................33
3.1.2.1
Functional description...................................................................................................................33
3.1.2.2
State of art ....................................................................................................................................33
3.1.2.3
Purpose in SEINIT........................................................................................................................34
3.1.2.4
Adaptation and use........................................................................................................................34
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 4 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
3.1.2.5
Interaction with other components.................................................................................................34
3.1.3 Privilege Management Infrastructure .....................................................................................................34
3.1.3.1
Functional description...................................................................................................................34
3.1.3.2
State of art ....................................................................................................................................35
3.1.3.3
Purpose in SEINIT........................................................................................................................35
3.1.3.4
Adaptation and use........................................................................................................................36
3.1.3.5
Interaction with other components.................................................................................................36
3.1.4 Security Assertion Markup Language(SAML) .......................................................................................36
3.1.4.1
Functional description...................................................................................................................36
3.1.4.2
State of art ....................................................................................................................................36
3.1.4.3
Purpose in SEINIT........................................................................................................................36
3.1.4.4
Adaptation and use........................................................................................................................36
3.1.4.5
Interaction with other components.................................................................................................37
3.1.5 Protocol for Carrying Authentication for Network Access (PANA) ........................................................37
3.1.5.1
Functional description...................................................................................................................37
3.1.5.2
State of art ....................................................................................................................................37
3.1.5.3
Purpose in SEINIT........................................................................................................................37
3.1.5.4
Adaptation and use........................................................................................................................37
3.1.5.5
Interaction with other components.................................................................................................38
3.2
Access Control managed with Credentials ...............................................................................38
3.2.1 EAP Keying Framework........................................................................................................................38
3.2.1.1
Functional description...................................................................................................................38
3.2.1.2
State of art ....................................................................................................................................39
3.2.1.3
Purpose in SEINIT........................................................................................................................39
3.2.1.4
Adaptation and use........................................................................................................................39
3.2.1.5
Interaction with other components.................................................................................................39
3.2.2 SAML Access Control...........................................................................................................................40
3.2.2.1
Functional description...................................................................................................................40
3.2.2.2
State of art ....................................................................................................................................40
3.2.2.3
Adaptation and use........................................................................................................................40
3.2.2.4
Interaction with other components.................................................................................................40
4
Preliminary implementations to secure E2E service architectures ....................................... 41
4.1
E2E security mechanisms..........................................................................................................41
4.1.1 Distributed infrastructures .....................................................................................................................41
4.1.1.1
Functional description...................................................................................................................41
4.1.1.2
State of art ....................................................................................................................................41
4.1.1.3
Purpose in SEINIT........................................................................................................................42
4.1.1.4
Adaptation and use........................................................................................................................42
4.1.1.5
Interaction with other components.................................................................................................42
4.1.2 Adaptive content ...................................................................................................................................42
4.1.2.1
Functional description...................................................................................................................42
4.1.2.2
State of art ....................................................................................................................................42
4.1.2.3
Purpose in SEINIT........................................................................................................................43
4.1.2.4
Adaptation and use........................................................................................................................43
4.1.2.5
Interaction with other components.................................................................................................44
4.1.3 QoS.......................................................................................................................................................44
4.1.3.1
State of the art status of flowlabel definition ..................................................................................44
4.1.3.2
Network Architecture....................................................................................................................44
4.1.3.3
IPv6 Flow Label Specification.......................................................................................................45
4.1.3.4
Security issues related with the use of Flow label...........................................................................46
4.1.3.5
SEINIT relevance .........................................................................................................................47
4.1.4 Policy management ...............................................................................................................................47
4.1.4.1
Functional description...................................................................................................................47
4.1.4.2
State of art ....................................................................................................................................48
4.1.4.3
Purpose in SEINIT........................................................................................................................48
4.1.4.4
Adaptation and use........................................................................................................................49
4.1.4.5
Interaction with other components.................................................................................................49
4.2
Honeypot....................................................................................................................................49
4.2.1 Dynamic IPv6 honeypot ........................................................................................................................49
4.2.1.1
Functional description...................................................................................................................49
4.2.1.2
State of art ....................................................................................................................................51
4.2.1.3
Purpose in SEINIT........................................................................................................................52
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 5 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
4.2.1.4
Adaptation and use........................................................................................................................52
4.2.1.5
Interaction with other components.................................................................................................52
4.2.2 Wireless Honeypots...............................................................................................................................53
4.2.2.1
Functional description...................................................................................................................53
4.2.2.2
State of art ....................................................................................................................................53
4.2.2.3
Purpose in SEINIT........................................................................................................................53
4.2.2.4
Adaptation and use........................................................................................................................53
4.2.2.5
Interaction with other components.................................................................................................53
4.3
IDS .............................................................................................................................................53
4.3.1 Snort v6 and wireless IDS......................................................................................................................53
4.3.1.1
Functional Description ..................................................................................................................53
4.3.1.2
State of the Art..............................................................................................................................54
4.3.1.3
Purpose in SEINIT........................................................................................................................54
4.3.1.4
Adaptation and use........................................................................................................................54
4.3.1.5
Interaction with other components.................................................................................................55
5
Reference .............................................................................................................................. 56
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 6 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Figures
Figure 1: DSTM communications ...............................................................................................................12
Figure 2: Communication though manually configured tunnel.....................................................................13
Figure 3: 6to4 address.................................................................................................................................13
Figure 4: Communication between two 6To4 sites ......................................................................................14
Figure 5: Communication between a 6To4 and a native IPv6 site ................................................................14
Figure 6: ISATAP address ..........................................................................................................................15
Figure 7: ISATAP address allocation ..........................................................................................................15
Figure 8: NAT-PT communication from v6 to v4 ........................................................................................16
Figure 9: Teredo address.............................................................................................................................17
Figure 10: NAT-PT in SEINIT global architecture ......................................................................................21
Figure 11: Integration of DNSSEC and the UMU-PKIv6 ............................................................................22
Figure 12: Overview of the return routability process ..................................................................................28
Figure 13: UMU-PKIv6 components...........................................................................................................34
Figure 14: UMU-PMIv6 components ..........................................................................................................35
Figure 15: EAP overview............................................................................................................................38
Figure 16: SAML example..........................................................................................................................40
Figure 17: Detailed Architecture of a generic CAM.....................................................................................43
Figure 18: IPv6 network with QoS options..................................................................................................45
Figure 19: General View of the UMU-PBNM Architecture .........................................................................48
Figure 20: How Honeyd Works...................................................................................................................51
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 7 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
1 Introduction
1.1 Purpose and scope
For each component provided by the Work Package 3, this document includes a description of the preexisting components, explaining their purpose, how they will be used or adapted and how they will
interoperate with the other components of the project.
The first version of the document focus on the description of the preexisting components and gives some first
use cases for SEINIT.
A second version will be further delivered when SEINIT architecture will be completed in Work Package 2.
It will complete the sections related to existing components interfaces and adaptation for seinit; in addition it
will include the new components behavior and their interface description as well.
1.2 Structure
The components are classified into four sections:
• Enhancements to IPv6 security mechanisms and v4-v6 transition mechanisms
•
•
Supplementary Access Control functionality
Preliminary implementations to secure E2E service architectures
For each component the following information is detailed:
• Functional description
• State of art
• Purpose in SEINIT
• Adaptation and use
• Interaction with other components
1.3 Definition
Transition Mechanisms
DSTM Domain: the network areas on an Intranet where a DHCPv6 Server has access to IPv6 nodes
participating in DSTM for that network, and where IPv4 routing access is not necessary.
DSTM Border Router: a border router that accesses a DSTM domain and an IPv4-only cloud.
DSTM Host: a dual-stack host with DTI and DHCPv6 client processes.
DTI: a Dynamic tunneling interface, that encapsulates IPv4 packets into IPv6 packets.
TEP: the tunnel end point is the destination of IPv6 packets containing an IPv4 packet. In most cases, this
will be the DSTM border router.
6to4 host: it is an IPv6 host that has at least one 6to4 IP address.
6to4 router(or 6to4 border router): it is an IPv6 router supporting the 6to4 addressing. It is normally the
border router between an IPv6 site and a wide-area IPv4 network.
6to4 relay router: it is a router configured to support transit routing between 6to4 addresses and native IPv6
addresses.
Mobility
care-of address (CoA): Corresponds to a “unicast routable address associated with a mobile node while
visiting a foreign link”. A Mobile may have multiple care-of addresses at any given time (e.g., for different
subnet prefixes), the one registered with the mobile node's home agent for a given home address is called its
"primary" care-of address.
Home address: The static IP address allocated to a mobile node. It does not change (except home
address prefix expiration or replacement), no matter where the node accesses to the network from.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 8 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Home agent: A router on the home network of the mobile node that maintains current location
information for the node (CoA) and tunnels datagrams for delivery to the node when it is away from
home.
Correspondent Node: A host or a router sending packets to the Mobile Node.
Mobile Node: Host which is changing of sub-network. (ex: From Home Network to any other kind of
network).
IP Security
Security Association (SA): A Security Association is a one-way relationship between a sender and a
receiver that applies security services to the traffic carried on it. If a peer relationship is needed for two-way
secure exchange then two Security Associations are required.
Security Association Database (SAD): The Security Association Database is the collection of parameters
associated with SAs. Each SA has an entry in the SAD, specifying all the things necessary to perform IPsec
processing for the IP packet belonging to the SA.
Security Policy Database (SPD): The Security Policy Database contains the Security Policy requirements
established and maintained by a user or system administrator, or by an application operating within the
constraints established by either of the above. An SPD entry has two components, a set of selectors and an
action. The selectors map an IP packet onto an action. There are three possible actions: apply IPsec security
service, discard the IP packet or allow the IP packet to bypass IPsec processing. If the selected action is to
apply the IPsec security service, the details of the service (e.g. 3DES encryption and SHA-1 authentication)
are also stated in the policy entry.
Tunnel Mode SA: A Tunnel Mode SA is a Security Association between two hosts, a host and a security
gateway, or two security gateways. The original IP packet is encapsulated in another IP packet and then,
depending on the applicable SPD and SAD entries, ESP and / or AH is employed.
Transport Mode SA: A Transport Mode SA is a Security Association between two hosts. In the original IP
packet, depending on the applicable SPD and SAD entries, ESP and / or AH is employed.
ISAKMP SA: The ISAKMP Security Association is established between two IKE instances which agree on
how to protect further communication between them. Although called an SA, an ISAKMP SA is not to be
confused with an IPsec SA. An ISAKMP SA is bi-directional and does not actually apply to the IPsec traffic.
Protocol SA / IPsec SA: The IPsec Security Association is established between two IKE instances which
agree on how to protect further IP communication between the hosts or security gateways which they run on.
IPsec SAs are only uni-directional and are only applied to the IP traffic.
1.4 Abbreviation
AH
Authentication Header
DA
Destination Address
DHCP Dynamic Host Configuration Protocol
DNS Domain Name System
DSTM Dual Stack Transition Mechanism
DTI
Dynamic Tunneling Interface
E2E
End to End
EGP Exterior Gateway Protocol
ESP Encapsulation Security Payload
FTP
File Transfer Protocol
GUI
Graphical User Interface
IKE
Internet Key Exchange
IP
Internet Protocol
IPSec Internet Protocol Security
ISAKMP Internet Security Association and Key Management Protocol
ISATAP Intra-Site Automatic Tunnel Addressing Protocol
ISP
Internet Service Provider
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 9 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
MIB
Management Information Base
MP-BGP Multi Protocol BGP
NAPT-PT Network Address Port Translation-Protocol Translation
NAT-PT Network Address Translation-Protocol Translation
NLRI Network Layer Reachability Information
PKI
Public Key Infrastructure
PSK Pre-Shared Secret
RA
Router Advertisement
RFC Request For Comments
RR
Resource Record
RS
Router Solicitation
RSA Public-Key cryptography system for encryption and authentication (its name is derived from
the surnames of the three inventors Rives, Shamir, and Adleman)
SA
Security Association
SAD Security Association Database
SIIT
Stateless IP/ICMP Translation Algorithm
SPD Security Policy Database
TCP Transmission Control Protocol
TEP
Tunnel End Point
TLA
Top Level Aggregator
UDP User Datagram Protocol
VPN Virtual Private Network
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 10 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
2 Enhancements to IPv6 security mechanisms and v4-v6
transition mechanisms
2.1 Security for IPv4/IPv6 transition mechanisms
2.1.1 Generalities
The IPv4/IPv6 transition methods can be divided to:
- dual IPv4/IPv6 stack: it is specified in RFC 2893 updated in draft-ietf-v6ops-mech-v2-02.txt
- tunneling : Tunneling is a transition mechanism that requires dual IPv4/IPv6 stack functionality in the
encapsulating and decapsulating nodes. Basic tunneling alternatives are IPv6-in-IPv4 and IPv4-in-IPv6.
Tunneling can be static or dynamic. Static (configured) tunnels are fixed IPv6 links over IPv4, and they are
specified in [RFC2893] and updated in draft-ietf-v6ops-mech-v2-02.txt. Dynamic (automatic) tunnels are
virtual IPv6 links over IPv4 where the tunnel endpoints are not configured, i.e. the links are created
dynamically.
- protocol translators: A translator can be defined as an intermediate component between a native IPv4
node and a native IPv6 node to enable direct communication between them without requiring any
modifications to the end nodes. Header conversion is a translation mechanism. In header conversion, IPv6
packet headers are converted to IPv4 packet headers, or vice versa, and checksums are adjusted or
recalculated if necessary. NAT-PT (Network Address Translator / Protocol Translator) [RFC2766] using
SIIT [RFC2765] is an example of such a mechanism. Translators may be needed in some cases when the
communicating nodes do not share the same IP version; in others, it may be possible to avoid such
communication altogether. Translation can actually happen at Layer 3 (using NAT-like techniques), Layer 4
(using a TCP/UDP proxy) or Layer 7 (using application relays).
There are 2 types of scenarios:
- Communication between IPv6 islands via IPv4 clouds: Configured and automatic Tunneling, 6to4
Tunneling, ISATAP
- Communication between existing IPv4 and IPv6 clouds: DSTM, NAT-PT, SIIT
The ngtrans IETF working group status was concluded in Febrary 2003. The v6ops IETF working group is
now responsible for advancing the basic IPv6 transition mechanism RFCs: Transition Mechanisms (RFC
2893), SIIT (RFC 2765), NAT-PT (RFC 2766), 6to4 (RFC 3056 & 3068). The applicability of many valid
methods currently are not in v6ops working group chapter like DSTM, ISATAP and Teredo.
2.1.2 Functional description
DSTM
DSTM is dual IPv4/IPv6 stack. It is targeted to help the interoperation of IPv6 newly deployed networks
with existing IPv4 networks. DSTM only really works from IPv6 cloud to IPv4 cloud. DSTM purpose is to
provide to IPv6 nodes a global IPv4 address, for communication with IPv4-only nodes or IPv4 applications.
It provides :
- a method to assign temporary global IPv4 address to dual stack nodes over a native IPv6 site. This v4
address is taken from a pool of available addresses defined at the DSTM domain level.
- a method to create dynamic tunnels to carry IPv4 traffic over an IPv6 network
- a defined set of processes and architecture for the supporting infrastructure.
In the following figure, the new DHCPv6 option is represented and provides Tunnel End Point to DSTM
hosts. A custom DHCPv6 server must implement the mechanisms needed to maintain the related
configuration information. DSTM hosts should implement the DTI mechanism, which needs a DHCPv6
client for IPv4 address and TEP retrieval. Otherwise, DHCP could be replaced by a RS/RA mechanism to get
an address.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 11 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
The DSTM host named A initiates an IPv4 communication with B. DSTM Host “A” queries its DNSv6 for
an A resource record for “B”. The DNS answers and gives the IPv4 address of “B”.
The application running on DSTM host “A” sends the IPv4 packet which is directed to the DTI interface.
Since it’s the first use of the DTI, A needs a temporary v4 address and queries the DHCPv6 server for one.
The DHCPv6 server locates the client and provides him a temporary IPv4 global address, and advertises the
DSTM border router address as the TEP address.
The IPv4 packet is encapsulated in an IPv6 packet, which destination is the TEP.
The router decapsulates the IPv6 packet and sends its IPv4 content to B. It also caches the association
between both v4 and v6 addresses of DSTM host “A”.
Host “B” receives the packet. It then responds with a packet which destination is the IPv4 address allocated
to A.
The packet from B reaches the DSTM Border router. As the IPv4 destination address is associated with an
IPv6 address, the router tunnels the IPv4 packet over IPv6 to host A.
The DTI interface decapsulates the IPv6 packet and forwards the IPv4 content to the Application Layer.
IPv6
IPv4
V4@
DHCP6+
A DSTM Host
Dual stack
DNS
DNS
DSTM Border router
B
Figure 1: DSTM communications
Manually Configured tunnel
Manually Configured tunnel is a static tunneling transition method. This transition mechanism is equivalent
to a permanent link between two IPv6 domains over an IPv4 backbone. At each end of the tunnel, you
configure the IPv4 and IPv6 addresses of the dual-stack router on the tunnel interface. Each tunnel exists
between only two routers and is independently managed.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 12 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Dual stack router
Dual stack router
IPv4 cloud
Ipv6 cloud
IPv6 cloud
IPv6
IPv6
Host AA
Host
R1
Tunnel: IPv6
in IPv4 packet
IPv4
SAv4 = R1
IPv4
Header
DAv4 = R2
IPv6
SAv6 = A
DAv6 = B
IPv6
IPv6
Host B
Host
A
R2
IPv6
SAv6 =A
IPv6
Header
IPv6
SAv6 = A
IPv4
Payload
DAv6 = B
DAv6 =B
IPv6 Payload
IPv6 Payload
IPv6 Payload
traffic
Figure 2: Communication though manually configured tunnel
6to4
6to4 is an automatic tunneling transition method. Specific IPv6 addresses are needed for 6to4 and it is used
by 6to4 host, 6to4 router and 6to4 relay.
According to [RFC3056], the format of 6to4 prefix, defined by IANA, is illustrated as follows:
3 bits
FP 001
13 bits
TLA 0x0002
32 bits
IPv4 Addr
16 bits
SLA ID
64bits
Interface ID
Figure 3: 6to4 address
The 6to4 prefix 2002:IPv4::/48 can be advertised by 6to4 router as any other valid IPv6 prefix, for automatic
address assignment and discovery mechanisms and for native IPv6 routing. A 6to4 address is considered as a
global address and DNS resource records may be defined with it.
There are 2 main scenarios:
- communication between two 6to4 sites
- communication between a 6to4 and a native IPv6 site
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 13 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
In the first scenario, two 6to4 hosts are separated by an IPv4 cloud. Each site identifies a router to run Dual
Stack (R1 and R2) and 6to4 tunneling, ensuring both have global routable IPv4 addresses. A router-to-router
tunnel will then be created between them.
Firstly, host A wishes to send an IPv6 packet to host B. The default route of prefix 2002::/16 is R1, therefore
A forwards the packet to R1.
As the IPv6 packet destination has a 6to4 address, R1 adds an IPv4 header which destination address is
derived from 6to4 address of B (in this case, that is the IPv4 address of R2) to the IPv6 packet and sends the
datagram to R2. The source IPv4 address will be R1.
R2 receives the IPv4 packet, recognizes the Protocol field value of 41, so applies IPv4 security checks, then
removes the IPv4 header. R2 looks at the destination and sends the packet to B.
6to4 Dual Stack
Router R1
6to4 Dual Stack
Router R2
6to4 site
6to4 site
IPv4 Cloud
IPv6
Host A
Native IPv6
traffic
IPv6
IPv6 packets
encapsulated in
IPv4 packets
Native IPv6 Host
traffic
B
Figure 4: Communication between two 6To4 sites
In the second scenario, such a communication pattern requires the use of 6to4 relay routers, as shown on the
following figure. The 6to4 relay router advertises a route to 2002::/16 into the native infrastructure. The
native IPv6 network operators must filter out and discard any 6to4 prefix advertisement longer than /16. On
its 6to4 connection, the relay router advertises whatever native IPv6 routes its policies allows. The 6to4
router gets informed of these routes with either an EGP (as MP-BGP), or with a default route to the 6to4
relay.
6to4 Dual Stack
Relay Router
6to4 Dual Stack
Router
6to4 site
6to4 site
IPv4 Cloud
IPv6
Host A
Native IPv6
traffic
Native IPv6
traffic
IPv6 packets
encapsulated in
IPv4 packets
Native IPv6
traffic
Native IPv6 Site
IPv6
Host B
Figure 5: Communication between a 6To4 and a native IPv6 site
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 14 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
ISATAP
ISATAP is an automatic tunneling transition method to connect IPv6 hosts/routers over an IPv4 Network.
An ISATAP address format is compatible with 6to4 and is as follows:
3
FP
13
8
TLA ID
RES
24
NLA ID
16
SLA ID
32 bits
32
0000 5EFE
IPv4 Address
Identifies an ISATAP address
Figure 6: ISATAP address
The following schema shows how a node configures ISATAP addresses.
IPv4
IPv6
ISATAP Router
R3
A
R2
B
R1
Figure 7: ISATAP address allocation
Firstly, the node B constructs an ISATAP link local address for itself : fe80::0:5EFE:B4
The node B gets the IPv4 address of the ISATAP router (R2) from DNS; ISATAP adding a new RR for
DNS.
Then, node B sends a RS to the IPv6 “all-routers-multicast” address tunneled through the IPv4 infrastructure
to the ISATAP router’s IPv4 address. The addresses used in the IPv6 and IPv4 headers are:
SAv4 = B4
DAv4 = R2-4
SAv6 = PREFIX::0:5EFE:B4
DAv6 = FF02::2
Upon receiving the tunneled RS, the ISATAP router sends a unicast RA to B by tunneling the RA through
IPv4. This RA advertises a PREFIX::/64. PREFIX is any routable prefix that the network administrator
chooses. The addresses used in the IPv6 and IPv4 headers are:
SAv4 = R2-4
DAv4 = B4
SAv6 = PREFIX::0:5EFE:R2-4
DAv6 = PREFIX::0:5EFE:B4
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 15 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Upon receiving the RA, the node creates a non link-local address, PREFIX::0:5EFE:B4/64. It also creates a
default route that points to the ISATAP router.
NAT-PT
NAT-PT (Network Address Translation - Protocol Translation) is described in [RFC2766].
The prefix PREFIX::/96 is advertised in the stub domain, and packets addressed to this PREFIX will be
routed to the NAT-PT (R2). PREFIX is any routable prefix that the network administrator chooses.
Each NAT-PT device retains a pool of globally routable IPv4 addresses which are used to be assigned to
IPv6 nodes on a dynamic basis as sessions are initiated across the IPv6/IPv4 boundary.
The basic NAT-PT translation device may additionally contain ALGs. For some applications where IP
addresses may be embedded within the payload, an ALG is necessary to look inside the payload and translate
those IP addresses. A DNS-ALG is an essential part of NAT-PT but other ALGs can be provided such as
FTP-ALG.
-When the communication is initiated by an IPv6 host A:
IPv6 host sends a packet with SA= A6 and DA=PREFIX:B4. The router NAT-PT receives the packet and
translates header v6 into header v4 using SIIT partly. Destination address v6 is translated into v4 address
removing PREFIX. Source address v6 is translated in v4 Address finding corresponding address in the pool.
Indeed, when translating the AAAA response into an A response, the NAT-PT device needs to allocate an
IPv4 address from the pool and create a mapping between this IPv4 address and the IPv6 address of host A.
- When the communication is initiated by an IPv4 host B:
IPv4 host sends an A request to DNS server v4 D2 on IPv6 host name. The request is forwarded to DNS
server v6 D1 via router NAT sending AAAA request. Router NAT R2 translates A request into AAAA
request using DNS-ALG. The answer from IPv6 DNS Server is forwarded to the IPv4 DNS Server via router
NAT which translate AAAA reply into A reply. Now IPv4 host is able to send an IPv4 packet to IPv6 host
via NAT router which translates header using SIIT partly.
IPv6
IPv4
D1
A
D2
R2
R1
R3
B
Figure 8: NAT-PT communication from v6 to v4
Teredo
Teredo, also known as IPv4 network address translator (NAT) traversal for IPv6, is a protocol translator that
provides address assignment and host-to-host automatic tunneling for unicast IPv6 connectivity when
IPv6/IPv4 hosts are located behind one or multiple IPv4 NATs. To traverse IPv4 NATs, IPv6 packets are
sent as IPv4-based User Datagram Protocol (UDP) messages.
Teredo communication is facilitated by Teredo servers and Teredo relays. A Teredo host-specific relay is an
IPv6/IPv4 host that does not use Teredo addresses, but can communicate with Teredo clients without having
to use a Teredo relay in the communication path.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 16 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
There are defined processes for obtaining a Teredo address, maintaining a NAT mapping, and performing
initial communications between Teredo clients, Teredo host-specific relays, and IPv6-only hosts. The initial
communication process in each case depends on whether the Teredo client is located behind a cone or
restricted NAT.
A cone NATs is a NAT in which the NAT translation table entry stores a mapping between an internal
address and port number and an external address and port number. Once the NAT translation table entry is in
place, inbound traffic to the external address and port number from any source address and port number is
translated.
A restricted NATs is NAT in which the NAT translation table entry stores a mapping between an internal
address and port number and an external address and port number, for either specific source addresses or
specific source address and port numbers. An inbound packet that matches the NAT translation table entry
for the external destination address and port number from an unknown external address or port number is
silently discarded.
The Teredo addresses are the following format:
Prefix
32 bits
Server IPv4
32 bits
Flags
16 bits
Port
16 bits
Client IPv4
3 bits
Figure 9: Teredo address
- Prefix: the 32 bit Teredo service prefix which is the same for all Teredo addresses. The Internet Assigned
Numbers Authority (IANA) has not yet defined this prefix.
- Server IPv4: the IPv4 address of a Teredo server contains the IPv4 public address of the Teredo server that
helped configure this Teredo address
- Flags: one flag defined is Cone flag which is set when the NAT connected to the Internet is a cone NAT.
The determination of whether the NAT connected to the Internet is a cone NAT occurs during the Teredo
client's initial configuration,
- Port: the obfuscated "mapped UDP port" of the Teredo service at the client
- Client IPv4: the obfuscated "mapped IPv4 address" of a client
2.1.3 State of art
DSTM
The last draft of DSTM is draft-ietf-ngtrans-dstm-07 and it has expired. Unfortunately DSTM is not yet
included in the v6ops charter, but there seems to be a reasonable deployment case for the technique, namely
an IPv6-only network with dual-stack hosts where translation techniques are not desirable for IPv4 access.
ENST, within the scope of RENATER in France, is the principal architect of DSTM, has contributed
significantly to the IETF ngtrans working group, and made a DSTM implementation available and tested
under Freebsd 4.3 and Linux.
There is not yet Windows implementation of DSTM, which is one platform where the technique would
potentially be most often required.
For these reasons explained above, DSTM is not selected in SEINIT project.
Configured tunnel
Configured tunnel is described in RFC2893: Transition Mechanisms for IPv6 Hosts and Routers. RCF2893
is being updated by draft-ietf-v6ops-mech-v2-02.txt.
In Kame Implementation, GIF (Generic InterFace) is a pseudo interface for configured tunnel. GIF covers
"configured tunnel" described in the RFC2893.
Alcatel implemented configured tunnel on Alcatel 7770 (now discontinued) which has been demonstrated at
ETSI IPv6 plug test.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 17 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
6to4
6to4 is described in RFC3056: Connection of IPv6 Domains via IPv4 Clouds called "6to4".
Kame implementation supports RFC3056.The pseudo interface "stf" implements it, see draft-itojun-ipv6transition-abuse-01.txt below before configuring it. Security issues are specifically considered in draft-ietfv6ops-6to4-security-02.txt written in March 2004.
ISATAP
- The last draft of ISATAP is in draft-ietf-ngtrans-isatap-21. It is as not yet been adopted by the IETF v6ops
working group.
- Linux implementation: Linux hosts can be used both as ISATAP servers and clients. For both uses ISATAP
functionality has to be added to the kernel along with the iproute2 package. Due to its on going
standardization process ISATAP has not yet been merged into the standard kernel. Therefore it has to be
added manually. USAGI has been developing IPv6 support for Linux for many years and includes ISATAP
in its kernel patches since 2002. The patches are available on FTP server,
- Cisco implementation: (Dualstack-)Cisco routers with an ISATAP supporting IOS version can be
configured as ISATAP servers. For that a tunnel interface has to be configured specifying the special tunnel
mode ipv6ip isatap,
- 6Wind implementation: Setting up a 6WIND machine (6WIND-Gate) as an ISATAP router is rather easy
and is mainly achieved with only two commands on CLI (Command Line Interface). This is structured in
different sections and subsections quite similar to for example the Cisco IOS,
- Windows XP dropped 6over4 support that was present in Windows 2000 and replaced it with ISATAP for
host and router,
- UNINETT is testing an ISATAP deployment under Linux, having deployed an ISATAP router. DFN is
also deploying ISATAP, so there are now multiple ISATAP routers within 6NET, running both Cisco
(router) and Linux (host and router) implementations,
- Kame implementation: ISATAP was implemented in January 2003 but was removed due to IPR issue,
- ISATAP is not selected for SEINIT project because v6ops does not maintain it and there is an Intellectual
Property Rights restriction.
NAT-PT
- As well as co-authoring the original standard for NAT-PT, BT Exact has implemented the most functional
version of the mechanism in its 'Ultima' interworking device. Ultima is installed and operational as part of
the UK6x IPv6 Internet Exchange point in London. The Ultima NAT-PT implementation was rigorously and
succesfully tested as part of the IPv6 network deployment for the IETF51 meeting in London. Within 6NET,
ULB is running the Ultima NAT-PT on a FreeBSD PC across the border of an IPv6-only network and the
Internet. The Ultima NAT-PT also has a tunnel to the native IPv6 network. MClab has also set up NAT-PT
at its site and some cooperative testing between the two sites has been successfully carried out. Southampton
University has also been running NAT-PT using the FreeBSD implementation from the KAME code. The
gateway has been used successfully to translate outbound IPv6 connections to IPv4, and vice-versa to allow
external IPv4 nodes to connect to IPv6 servers. UCL has been running a FreeBSD/KAME based NAT-PT
server on its IPv6 network. The gateway has been used successfully to translate outbound IPv6 connections,
from IPv6 only machines, to IPv4 servers.
- Ultima supports all the functionality specified in RFC2765 and RFC2766 as well as a DNS-ALG and a
proprietary tunneling mechanism. A flexible web-based management interface provides simplified
configuration of the address pool and DNS-ALG, as well as detailed reporting of operational statistics in
real-time.
- Kame supports SIIT [RFC2765] and part of RFC2766: Network Address Translation Protocol Translation
(NAT-PT). In RFC2766, the section 4.2 "V4 Address Assignment for Outgoing Connections (V6 to V4)" is
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 18 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
implemented by totd. But the Section 4.1 "V4 Address Assignment for Incoming Connections (V4 to V6)" is
not supported by Kame.
Teredo
The lastest draft is draft-huitema-v6ops-teredo-01.txt writen by C. Huitema (Microsoft). It will expire in
August 5.
There is no Teredo deployment in 6NET yet, but some partners are interested to do so when an
implementation becomes available, perhaps with IPv6 access for home users with IPv4 NAT over dial-up or
ADSL in mind,
It should be remembered that Teredo is presented as a “last resort” mechanism, and has yet to be adopted by
the IETF v6ops working group, so Teredo is not selected in SEINIT project.
MIPv6/MIPv4
There are two drafts expired concerning mobility and transition mechanism written within ngtrans working
group:
- draft-engelstad-ngtrans-6to4-v4v6-mobility-00.txt:
“This draft outlines how a 6to4-enabled host can be provided with transparent IPv4 and IPv6 connectivity
and mobility no matter if the host is located in a 6to4 network or is roaming an IPv4-only network.”,
- draft-engelstad-ngtrans-mipv4-over-mipv6-01.txt:
“This draft outlines how a dual stack mobile node can be reached and communicate by means of both IPv4
and IPv6, even in situations where the mobile node is in reach of only either IPv4 or IPv6 networks. A Dual
Stack Mobility Agent accommodates mobility and translates between IPv4 and IPv6 traffic. It may operate
as a mobility agent in its own right or as a module that relays traffic between existing single stack Mobile
IPv4 and Mobile IPv6 home agents.”,
As these drafts have not been discussed in v6ops, we propose to leave this search subject out seeing that
mobility itself is still draft status.
2.1.4 Purpose in SEINIT
Configured tunnel
This kind of tunnel is used for sites whose architecture does not change often. The interest of the Configured
tunnel is that this mechanism doesn’t require specific features for the host. In SEINIT, we could:
- introduce IPSec in configured tunnelling to protect data in IPv4 cloud.
- apply the check defined in draft-ietf-v6ops-mech-v2-02 to avoid that attack is able to know the source of
the tunnel and is able to spoof it. The purpose of the check is to avoid that an attacker spoofs IPv6 addresses
inside the IPv4 tunnel, by making sure that only a trusted source (i.e. the other endpoint) can send
encapsulated traffic, and having these trusted sources applying regular anti-spoofing protections, such as
ingress filtering.
6to4
Concerning security aspect of 6to4, threats are sorted by : spoofing, direct attack, attack by reflection, others.
The threat use for attack 6to4 routers, 6to4 relays, any IPv6 nodes and any 6to4 nodes. We propose:
- to perform security checks of the 6to4 router describe in draft-ieft-v6ops-6to4-security-02.
- ingress filtering in the native IPv6 networks to prevent packets with spoofed IPv6 source being transmitted.
It would, thus, make it easy to identify the source of the attack.
NAT-PT
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 19 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
The benefit of NAT-PT is that this mechanism doesn’t require dual stack but it has limitation in security:
compatibility problem with IPSec and IKE. See draft-okazaki-v6ops-natpt-security-00.txt and draft-abobanat-ipsec-04 for security aspect (breaking end to end security, DoS when exhausting the address pool, …).
We could propose a component to keep end to end security though several scenarios.
2.1.5 Adaptation and use
Configured tunnel
Configured tunnel could be adapted and use in SEINIT to permit more security and avoid some attacks.
Modifications consist in:
•
inserting AH or ESP header to authenticate or encrypt payload in tunnel mode,
IPv6 Header
•
AH / ESP
IPv4 Header
Payload
adding the check defined in draft-ietf-v6ops-mech-v2-02 to avoid spoof attack :
o IPv4 source address of the packet MUST be the same as configured for the tunnel end-point,
o IPv4 ingress filtering MAY be implemented to check that the IPv4 packets are received from an
expected interface,
o IPv6 packets with several, obviously invalid IPv6 source addresses MUST be discarded,
o IPv6 ingress filtering should be performed, to check that the IPv6 packets are received from an
expected interface.
6to4
6to4 could be adapted in SEINIT to increase security for this transition mechanism adding these following
features described in draft-ieft-v6ops-6to4-security-02 :
• Disallow traffic that has private, broadcast or reserved IPv4 addresses in tunnels, or the matching 6to4
prefixes,
• Disallow traffic from 6to4 routers where the IPv4 tunnel source address does not match the 6to4 prefix,
• Disallow traffic where the destination IPv6 address is not a global address; in particular, e.g. link-local
addresses, mapped addresses and such should not be used,
• Disallow traffic transmission to other 6to4 domains through 6to4 relay router or via some third party
6to4 router,
• Discard traffic received from other 6to4 domains via a 6to4 relay router,
•
Discard traffic received for prefixes other than your own 6to4 prefix(es).
NAT-PT
NAT-PT could be adapted to :
• manage NAT-PT and IPSec incompatibilities, for example NAT-PT cannot translate IP Header if it is
protected by AH,
•
try to not break security.
Due to the incompability between AH and IKE with NAT, a component SEINIT could be able to detect a
presence of NAT and could notify to other SEINIT components that IPSec AH tunnel is not supported.
Indeed, if NAT is present, ESP in transport mode and manual keying will be used to protect data. If NAT is
not present, authentication, encryption and IKE will be applied. An alternative solution would be to view the
NAT-PT translator as a trusted security proxy, and mediate IPsec SAs as part of the translation function.
Such a solution would benefit from integration with security policy management and authorisation
credentials.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 20 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
SEINIT can implement bi-directional translation scenarios using the Ultima NAT-PT device.
2.1.6 Interaction with other components
Configured tunnel
A Part of information of packets could be transmitted to the SEINIT components of decision module.
6to4
Since the 6to4 router assumes all the other 6to4 routers, and 6to4 relays are "on-link" it is possible to attack
the 6to4 router using ND messages from any node in the IPv4 network, unless a prior trust relationship has
been established. We could use SEND to protect 6to4 router against such attack.
NAT-PT
The NAT-PT adapted for SEINIT is well included in decision global architecture modules. NAT router gives
information “ NAT not compatible with IKE/NAT ” to decision module. The decision module takes a
decision following the logic rule: if NAT enabled then do ESP transport mode and manual keying if NAT
disabled then do AH ESP and IKE. Decision taken is sent to action module to apply chosen mechanisms.
DECISION module
ACTION
ACTION
INFORMATION
Use ESP, transport mode
Use manual keying
Use ESP, transport mode
Use manual keying
“device not compatible
with IKE nor AH”
Host
Host
NAT-PT
Figure 10: NAT-PT in SEINIT global architecture
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 21 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
2.2 DNSsec
2.2.1 Functional description
DNS Security (DNSSEC) technology is a set of extensions to the Domain Name System (DNS) protocol that
provide data integrity and data origin authentication to security aware resolvers and applications, mainly
through the use of public-key cryptography. In DNSSEC, each node in the DNS tree is associated with a
public key. Each message from DNS servers is signed under the corresponding private key associated with
the public key of the domain. It is assumed that one or more authenticated DNS root public keys are publicly
known. These keys are used to generate a digital signature that binds the identity information of each
top-level domain to the corresponding public key. The top-level domains sign the keys of their subdomains
and so on in a process where each parent signs the public keys of all its children in the DNS tree.
DNSSEC defines the following basic Resource Records (RRs):
• RRSIG. It is used to store digital signatures associated to a Resource Record Set (RRset).
• DNSKEY. It is used to store a public key. The key is associated with a DNS zone.
• NSEC. To be able to provide data origin authentication of a non-existent name or the nonexistence of a certain resource record type for a DNS name.
• DS. It refers to a DNSKEY RR and is used in the DNS DNSKEY authentication process. By
authenticating the DS record, a resolver can authenticate the DNSKEY RR to which the DS
record points.
Additionally, some other RRs are being defined to store cryptographic information:
• CERT. It is used to store certificates in the DNS. The types of certificates currently defined are
X.509, SPKI and PGP certificates. As the CERT record can contain a certificate, it is possible to
use DNS for storage of the certificates and CRLs issued by a public key infrastructure.
Regarding transaction security mechanisms, two different ones are defined:
• Transaction signatures (TSIGs) based on symmetric cryptography. TSIGs are created using
symmetric encryption methods, meaning that the parties involved in the communication need to
have a shared secret.
• Public-key signatures, SIG(0). It is similar to TSIG but employs public-key signatures. SIG(0)
may not be practical to use on a large scale but it is useful in case integrity protection and
authentication of the message as a whole are desired.
2.2.2 State of art
UMU has deployed and tested DNSSEC in two ways. On the one hand, UMU has deployed DNSSEC
scenarios establishing trust relationship between hierarchical secured DNS servers, using the TSIG
mechanism for exchanging data securely between zones, and using the DNSSEC-defined RRs in queries and
updates.
On the other hand, UMU has integrated DNSSEC with the UMU-PKIv6 solution, as shown in Figure 11,
allowing DNSSEC to act as a public key certificate repository using the new resource records (e.g. CERT)
defined by the protocol.
UMU-PKIv6
cert.request
DNSSec
Module
TSIG(cert/crl. publish)
get cert./crl
End User
get cert./crl
DNS/DNSSec
Server
Figure 11: Integration of DNSSEC and the UMU-PKIv6
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 22 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
The DNSSEC reference implementation is the ISC Bind Nameserver (Version 9.x). Bind9 supports DNSSEC
to sign zones and TSIG to sign DNS requests, while SIG(0) is partially supported to authenticate DNS
requests and access control (e.g. SIG(0) to sign multiple-message TCP streams is not supported).
Other tools can be found regarding DNSSEC applications (http://www.dnssec.net/software.php), like
dnsjava, DNSSec Resolver, DNSSec Toolkit¸ etc.
2.2.3 Purpose in SEINIT
DNSSEC is a new component that could be included in a secure domain. It could be used in SEINIT to
protect DNS transactions between the components of the domain and the zone transfer operations with other
secure domains. It could be also considered as a digital certificate repository (associated with a PKI, as the
UMU-PKIv6) to offer an easy way to locate other peer’s certificates before establishing secure
communications with them.
2.2.4 Adaptation and use
DNSSEC could be deployed in the SEINIT base scenario, allowing the interaction with other DNSSEC
servers and the publication and retrieval of digital certificates and CRLs. DNS servers and resolvers need to
be updated to support the new DNSSEC-defined RRs and to process the new format of DNS requests and
responses (which include digital signatures that must be validated by resolvers, for example).
2.2.5 Interaction with other components
Secure DNS transactions involve interactions between DNS servers and local resolvers; on the other hand,
using DNSSEC like a key repository involves applications using public/private key cryptography. For them,
it is an easy way to recover other entity’s keys; for example, DNSSEC key repository is used by
opportunistic encryption applications like a fast and scalable way to access other’s peers public key
certificates.
To store and manage keys in a DNS repository interaction with a PKI is needed; the UMU-PKIv6, presented
below (section 2.3.1.2), allows managing in a secure way (using secure channels) the interaction with
DNSSEC servers.
2.3 IPv6 routing security
2.3.1 Functional description
IPv6 routing is implemented using a distributed system composed of many routers, grouped into
administrative domains called Autonomous Systems (ASes). Routing information is exchanged between
ASes using Border Gateway Protocol (BGP) UPDATE messages.
OSPF is a link state protocol designed to be used in a single AS. Each router is responsible for meeting their
neighbors and learning their names. Every router constructs a packet known as Link State Advertisement
(LSA), which contains a list of the names of their neighbors and the link cost to the neighbors. These LSAs
are flooded to all other routers periodically, or whenever any new information is available. Each router uses
these LSAs to form the complete view of topology, and computes the route to each destination.
Those two routing protocols are not secured.
The BGP protocol has some security weaknesses, which can cause deception, disruption and disclosure of
routing message traffic. And OSPF routing protocol offers no mechanisms to confirm the source authenticity
and distributed routing information integrity. But some measures exist to minimize or eliminate those threats.
The digital signature is a security mechanism to protect the authenticity and integrity of the OSPF routing
information distribution.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 23 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
OSPF use several LSAs, which contain the addresses of the interface, of the network of the router, etc. Each
router discovers its neighbours via a Hello protocol and exchanges its routing information database. An LSA
is send through the network when the information carried changed.
The basic idea of a secure OSPF design is to add digital signature to OSPF LSA data, and to use a
neighbour-to-neighbour authentication algorithm, like MD5, to protect all protocol exchanges.
The sender of the information will sign it and this signature will travel via the OSPF flooding. This will
provide end-to-end integrity and authentication for LSA data. If a fake router distributes wrong routing
information, the signature will allow finding it.
When a router receives a LSA routing information, the signature should be verified using the current public
key of the sender. If there is no key stored for this sender, or if the signature verification fails, the LSA must
be discarded. If the signature verification is ok, the signed LAS will be stored for use in the routing
calculations. The computed routes will be put into the OSPF routing table.
Each router has a couple of keys: a private and a public key. The distribution of the public key and the
binding between that key and the router is very important to the system security. If key management and
distribution mechanisms independent of the routing protocol exist, they could be used to provide couple of
keys to external routers. The private key must be kept secret by one router and the public key must be
distributed to all the routers that will receive link state information from the signer. Creating a new LSA, the
Public Key LSA (PKLSA), and distributing it via the standard OSPF flooding procedure accomplish the
distribution. Flooding will ensure that a router public key is sent everywhere that the router’s signed LSAs
are sent. The design assumes that there is a trusted entity, which signs all routers certificate. Each router has
also the trusted entity public key to verify others routers certificates. A router which receive a PKLSA,
verifies the certificates using the trusted entity public key, and after verify the whole LSA using the router
public key contained in the certificate.
The BGP protocol has some security weaknesses too. For example, one of its vulnerabilities allows an
intruder to fabricate, modify or delete routing information. This can cause a denial of network services, a
disclosure of network traffic or an unavailability of the network resources. This attack exploits the lack of
access control, authentication, and integrity of BGP message contents.
Another vulnerability is that it is relatively easy for an intruder to gain access to routing traffic, including the
appropriate next hop to reach a destination and the path taken by traffic to different destinations. This attacks
exploits the lack of confidentiality of peer links, and the level of trust placed in BGP speakers.
A solution to secure BGP is to encrypt all BGP messages between peers using session keys exchanged at the
BGP link establishment time. This encryption provides integrity and authenticity of all path attributes and
confidentiality of all routing exchanges. To protect against replayed or delete messages, a message sequence
number is required. Same method to avoid the update messages replaying, with an update sequence number.
A solution must also allowed to digitally sign all unchanging update fields whose values are fixed on
creation by the BGP speaker originating or most recently aggregating the route, to provide integrity and
authenticity.
The peer-to-peer encryption and peer-to-peer sequence number are providing corruption detection,
sequencing, acknowledgement and retransmission mechanisms that are redundant to those provided by TCP.
They are required, due to the insecurity of TCP mechanism.
2.3.2 State of art
•
All the router of the THC test-bed platform are compliant with BGP.
2.3.3 Purpose in SEINIT
In SEINIT, those two principal routing protocols will be used and must be secured. We want to have a
visibility over the security deployed all along the transaction. Each routers will send back informations on
the security mecanism it apply to respect the negociated security policy. It mean that we must protect the
network against intruders and faulty routers participation.
2.3.4 Adaptation and use
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 24 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Before a transaction the sender and the receiver must find a common security policy, called “negociated
security policy”. The security policies requirements should be integrated in the OSPF LSA to become a
SEINIT compliant routing information.
2.3.5 Interaction with other components
In the case of OSPF, the digital signature implementation will required the use of a PKI. The secured BGP
allows a more decentralized and incremental security.
2.4 IPsec enhancements
2.4.1 Functional description
IPsec is designed to provide interoperable, high quality cryptographically-based security for IPv4 and IPv6.
A set of security services offered which includes connectionless integrity, access control, protection against
replays (a form of partial sequence integrity), data origin authentication, confidentiality (encryption), and
limited traffic flow confidentiality. These services are provided at the IP layer, offering protection for IP
and/or upper layer protocols and applications.
The security services as described above are met through the use of two traffic security protocols and
through the use of cryptographic key management procedures and protocols. The used security protocols are
the Authentication Header (AH) and the Encapsulating Security Payload (ESP). A possible cryptographic
key management procedure and protocol is the Internet Security Association and Key Management Protocol
(ISAKMP). The IPsec standards define a framework and protocols for usage, the context and ways in which
they are employed can be determined by the security and system requirements of users, applications, and/or
sites/organizations. The used mechanisms are designed to be algorithm-independent, i.e. this modularity
permits the selection of different sets of algorithms without affecting other parts of the protocols.
IPsec can operate two modes, host mode and security gateway mode. In host mode, it protects the
communication between two hosts or between a host and a security gateway where the host exchanges data
with systems behind the security gateway (e.g. mobile systems accessing company network via company
IPsec Gateway). In security gateway mode, it can protect the private communication between several private
networks, building a VPN, over public networks.
For negotiating Security Associations, exchanging and managing cryptographic keys, IPsec utilizes the
ISAKMP protocol. ISAKMP offers two "phases" of negotiation. In the first phase, two entities (e.g.
ISAKMP servers) agree on how to protect further negotiation traffic between them, establishing an ISAKMP
SA. This ISAKMP SA is then used to protect the negotiations for the Protocol SA being requested. Two
entities (e.g. ISAKMP servers) can negotiate (and have active) multiple ISAKMP SAs. The second phase of
negotiation is used to establish security associations for other security protocols. This second phase can be
used to establish many security associations. The security associations established by ISAKMP during this
phase can be used by a security protocol to protect many message/data exchanges. For system authentication,
several mechanisms can be used, starting from pre-shared secrets, to RSA public / private keys and X.509
certificates. Furthermore, enhancements exist which can also provide user authentication during the
ISAKMP negotiation.
2.4.2 State of art
•
IABG has already utilized IPsec in two ways. First, it was deployed in many scenarios where static
VPNs have been built to secure network to network communication over public infrastructure (utilizing
the security gateway mode). The VPN gateways used an IPv6 enhanced version of the Linux based IPsec
implementation FreeS/WAN and authenticated each other by pre-shared secrets, RSA public / private
keys, or X.509 certificates with a static, offline PKI solution.
The second deployment of IPsec was its usage in many scenarios where mobile systems (so called Road
Warriors) used IPsec to connect themselves to their security gateway (i.e. organization IPsec gateway) in
order to securely communicate with their private network (e.g. organization network) and use the
provided services of that network (e.g. Mail, FTP).
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 25 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
•
THC has deployed the IPSec protocol in its core test-bed platform. First, IPSec has been deployed
between two hosts' stations to test the protocol. Then, IPSec has been deployed in the edge router of the
THC platform to be able to create a VPN.
The Security Associations (SA) IPSec are dynamically managed by the IKE protocol. An internal PKI is
available to manage and deliver the certificates necessary for the entities authentication implicated in the
IKE exchanges.
THC global network security architecture (IPSec, IKE, PKI) enables to create VPN in their core network
and to transport data in a secure manner. The creation of the VPN is automated by using a policy
manager. Just by entering the policies in GUI software, the administrator is able to configure the core
network and to create the associated tunnel and security association.
The first tests on security have been done between two Linux PCs by using the Freeswan stack. Further
tests have been realised between 6WIND gate and Linux edge, showing the interoperability of the
different security stacks. Security APIs allows abstracting the notion of vendor and sending common
rules to different vendor's equipment. A minor adaptation level is needed to enforce the rules in the right
manner (Freeswan orders under Linux...) in each specific equipment.
Additional work has been realised on dynamic security; to provide persistent security services. The
secure tunnel is automatically rebuilt whatever the network constraints, even on link failure: verification
of the tunnel, detection of the failure, management entity alert, automatic response by deleting the past
tunnel and a new one using a new route.
•
Alcatel has implemented IPSec (RFC 2401), AH (RFC 2402) and ESP (RFC 2406) based on KAME
implementation in its Common IP Routing Stack. Both Transport and Tunnel mode are supported. The
key management is manual keying. Implementation has been intensively tested using TAHI IPv6
Conformance Test Suite: IPsec AH and ESP from IPv6 (Host and Router) enhanced with an exhaustive
set of home made test cases.
2.4.3 Purpose in SEINIT
IPsec is a well known component which could be included in usage scenarios of SEINIT which could require
strong authentication and strong security on the network layer for e.g. various transport protocols and
applications. It could be also considered as possible solution to provide secure communication of mobile
users to their company or private network, or to securely connect several private security domains over
public infrastructure.
2.4.4 Adaptation and use
IPsec could be deployed in the SEINIT base scenario, allowing the interaction with other IPsec instances to
generate ad hoc Security Associations by using either already distributed authentication resources or public
available authentication resources. The available IPsec implementations of IABG could be updated to
support dynamic security policy configuration and to make their current status (e.g. established Security
Association, currently trusted systems, used encryption algorithms, used authentication mechanisms /
algorithms) easier accessible by users or administrators. Furthermore, the available IPv6 enhanced
implementation of IPsec, which is currently based on Linux kernel 2.4.x and consists of a kernel
implementation of IPsec and a user space daemon for ISAKMP negotiations, could be examined for mapping
it on the new Linux kernel 2.6.x which already provides a basic kernel implementation of IPsec.
The following subsections describe possible adaptation and usage with respect to the interaction with other
component, support for mobile users, improved key management and robustness:
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 26 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Support for mobile users
For mobile users, it could be a possibility to utilize IPsec to secure their communication to their trusted home
network. This could mean that the used IPsec implementation could be enhanced in such a way that it detects
the movement of the mobile system to a new network and establishes a secure connection to the well known
IPsec gateway protecting the home network. It could also mean that SEINIT has a look at the public Open
Source implementations available at that time and which combine IPsec together with Mobile IPv6.
Improved key management
As the current IPsec standard, especially the ISAKMP protocol, is quite complex, effort is made by the
responsible standardization body and group to define a successor, which provides comparable strong
security, while being less complex for implementation and management. It could be interesting for SEINIT
to examine the new proposed protocols and possibly public available Open Source implementations with
respect to their effects on the SEINIT framework and architecture.
Robustness
When deploying IPsec services in a heterogeneous environment (as the SEINIT environment will by its
nature) robust interoperability between different implementations is a critical key feature. In SEINIT it could
be therefore interesting to investigate possible interoperability issues between the used different IPsec
implementations. Furthermore, as there is always the chance that the negotiation between two different IPsec
instances fails (i.e. due to lacking authentication material, mismatching security policies), with respect to
robustness of secure communication, it would be interesting to investigate the fail behavior of different IPsec
implementations and the resulting communication parameters (e.g. communication not permitted, clear text
communication, communication with lower security requirements as initially specified).
2.4.5 Interaction with other components
Utilization of IPsec involves the interaction of possibly different IPsec implementations for negotiating
Security Associations and to actually process the exchanged data. Furthermore, given the SEINIT approach
of dynamically establishing a certain level of trust to services and components in new visited environments,
the dynamic distribution / exchange of authentication material could be a new interaction of IPsec with other
components (e.g. DNSSec servers).
2.5 Mobility in secure architectures (Return Routeability)
2.5.1 Functional description
Within Mobile IPv6 the communication partners (or correspondent nodes) of a mobile node will be informed
about its current location by receiving mapping information from the mobile node, which map the IPv6
address the mobile node is usually using at its home network to the IPv6 address the mobile node is currently
using on its visited network. Knowing this mapping the correspondent nodes can exchange information with
the mobile node on the direct way, avoiding a detour by sending the information first to the mobile node’s
home network, from where it will be forwarded to the mobile node’s current location by the Home Agent.
This mapping information is transferred from the mobile node to the correspondent node within Binding
Updates, messages carried in the IPv6 Mobility Header.
It is obvious that these Binding Updates represent an ideal target for attackers. On behalf of a mobile node an
attacker could send a Binding Update to the correspondent node, using the mobile node’s home address, and
map it onto the current IPv6 address of the attacker. In this way the whole traffic from the correspondent
node to the mobile node would be re-directed to the attacker. Therefore it is necessary to provide an
appropriate authentication mechanism for the exchanged Binding Updates. The Mobile IPv6 protocols
foresees for this purpose the return routability mechanism depicted in Figure 12.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 27 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
visited
network
home
network
Internet
Mobile Node
Home Agent
Correspondent Node
Home Test Init (HoT cookie)
Care-of Test Init (CoT cookie)
Home Test (HoT cookie, home keygen token, home nonce index)
Care-of Test (CoT cookie, care-of keygen token, care-of nonce index)
Figure 12: Overview of the return routability process
- Care-of Test Init Message: A mobile node uses the Care-of Test Init (CoTI) message to initiate the
return routability procedure and request a care-of keygen token from a correspondent node.
- Home Test Init Message: A mobile node uses the Home Test Init (HoTI) message to initiate the
return routability procedure and request a home keygen token from a correspondent node.
- Home Test Message: The Home Test (HoT) message is a response to the Home Test Init message, and
is sent from the correspondent node to the mobile node.
- Care-of Test Message: The Care-of Test (CoT) message is a response to the Care-of Test Init
message, and is sent from the correspondent node to the mobile node.
During this return routability mechanism the mobile node and the correspondent node exchange 4 messages,
one message from the mobile node to the correspondent node sent via the Home Agent (Home Test Init) and
the respective reply belonging to it (Home Test), and another message sent direct from the mobile node to
the correspondent node (Care-of Test Init) and the respective reply belonging to it (Care-of Test). Within the
replies from the correspondent node, the Home Test and Care-of Test messages, two tokens, which are
generated by the correspondent node, are transmitted to the mobile node. The mobile node uses both tokens
and derives a key from them, which is in turn use for generating a Message Authentication Code for the
following Binding Updates.
If an attacker still wants to send Binding Updates on behalf of a mobile node, it would need to know both
tokens in order to be able to reproduce the key used for signing the Binding Updates. As both replies from
the correspondent node to the mobile node take different paths (via the home agent and directly),
consequently both tokens are sent on different paths, that is the attacker would need to be able to eavesdrop
both paths. This could be for example the case if an attacker is very close to either the mobile node, or the
correspondent node. The first case could be prevented by encrypting all information exchanged between
mobile node and home agent using IPsec ESP. This would leave for an attacker close to the mobile node
only the possibility to eavesdrop communication done directly with the correspondent node, which is
insufficient for intercepting both tokens. The latter case, that is an attacker close to the correspondent node,
cannot be prevented by the return routability mechanism so far. If such an attacker is able to eavesdrop
communication exchanged between the correspondent node and the mobile node directly, as well as via the
home agent, it will obtain both tokens, can re-produce the appropriate key, and use this for signing faked
Binding Updates.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 28 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
2.5.2 State of art
- The basic functionality of return routability has been part of the Mobile IPv6 draft version 17. The current
version 24 of the Mobile IPv6 draft specifies already a return routability mechanism, which is mature enough
for implementations.
- A first implementation for Linux is available from the Helsinki University of Technology.
- Alcatel has implemented draft-ietf-mobileip-ipv6-21.txt and draft-ietf-mobileip-mipv6-ha-ipsec-06.txt to
add security in mobility. Return Routability has been implemented and protection of HOT/HOTI with IPSEC
tunnel mode is supported. Implementation has been intensively tested using TAHI IPv6 Conformance Test
Suite enhanced with an exhaustive set of home made test cases.
2.5.3 Purpose in SEINIT
Return routability is used to secure the exchange of Binding Updates between mobile nodes and
correspondent nodes. This exchange is required in order to allow route optimization for mobile nodes, that is
to allow the direct communication between mobile node and any correspondent node without involving the
home agent.
One major aspect dealt within SEINIT is exactly security for mobile users in wireless network. In this
context Mobile IPv6 could be used for supporting the roaming of mobile nodes between different IPv6
subnetworks, e.g. between different segments of a WLAN hot spot. In order to secure this roaming, the
return routability mechanism can be used.
2.5.4 Adaptation and use
Return routability will be used in all SEINIT scenarios, in which Mobile IPv6 is selected to support the
mobility of mobile nodes. This could be for example the roaming between different IP subnets of a single or
of different WLAN hot spots.
2.5.5 Interaction with other components
The return routability mechanism is an integral part of the Mobile IPv6 protocol. Inside this Mobile IPv6
protocol return routability will mainly cause an interaction between mobile node and correspondent node.
Additionally the exchange of the Home Test Init and Home Test messages will involve the home agent,
however, the only task required of the home agent in this context is the interception of packets destined for a
mobile node’s address on the home link during the absence of the mobile node (proxy functionality) and the
forwarding of these intercepted packets to the current location of the mobile node.
Additionally the return routability mechanism should be integrated efficiently with the IPv6 Neighbor
Discovery mechanism. Before triggering the return routability mechanism the mobile node has to configure a
new address on the visited network and perform Duplicate Address Detection for it. First after completion of
the Neighbour Discovery process the return routability mechanism should be started. However, this
interaction is nowhere specified in detail, and therefore up to the implementations.
2.6 Access Control managed with CGA
2.6.1 Functional description
Cryptographically Generated Addresses (CGA) is a method for binding a public key to an IPv6 address. An
IPv6 address is divided in two parts, the leftmost 64 bits of a 128-bit address form the subnet prefix and the
rightmost 64 bits of the address form the interface identifier (IID). This IDD is generated by computing a
cryptographic one-way hash function from a public key and auxiliary parameters. This binding can be
verified by another part re-computing the hash value and comparing the hash with the interface identifier, so
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 29 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
the node sends the CGA parameters to the other part to make the verification. Messages sent from an CGA
address can be signed using the private key.
CGA themselves are not certified, an attacker can create a new CGA from any subnet prefix and its own
public key, but that the attacker cannot to do is to take a previously created CGA by someone else and sends
signed messages that appear to come from the owner of that address. That's why certificates are going to be
used to provide identification to hosts. The certificate’s public key will be used as key to generate CGA and
obviously the associated private key will be used to sign messages.
CGA is used with SEND (Securized Neighbour Discovery). SEND has introduced several options to
Neighbour Discovery Protocol (NDP) to protect NDP messages. These options are Certificate Chains (to
avoid “rogue” routers on an unsecured link), CGA (to verify CGA address by other node), Signature (to sign
messages with CGA public key), Timestamp and Nonce (to protect messages against replay attacks).
2.6.2 State of art
Nowadays, there is not an implementation of CGA and SEND. But it is should be considered to use it
because it provides solutions to actual security problems which exist in NDP. This problem is the lack of a
mechanism to secure signaling and SEND fixes it.
2.6.3 Purpose in SEINIT
SEND is used to provide a secure mechanism to discover each other's presence, to determine each other's
link-layer addresses, to find routers, and to maintain reachable information about the paths to active
neighbours. The purpose of CGAs is to prevent stealing and spoofing of existing IPv6 addresses. In addition,
“Certificates chains” helps us to prevent that a host can make a function which is not allowed, for example:
An answer from a hostile host to a “Router Discovery” message must be discard.
2.6.4 Adaptation and use
Certificates are used to generate CGA address, so SEND has to be modified to recover certificates from a
DNSsec by mean CGA address or from a LDAP repository and so it can check the host identity.
2.6.5 Interaction with other components
To verify the identity of a host with CGA, the certificate associated has to be recovered from a repository. A
DNSsec can be used for that where the certificate will be associated to the host by a CGA(IPv6). At first, the
certificates are stored in a PKI, so PKI certificates have to be copied to DNSsec and to be associated with
CGA address. In a mobile environment, the IPv6 address, in this case, CGA address, is going to be different
when a host changes the access point to the link, so in DNSsec the certificate has to be associated with the
new CGA address.
No additional security infrastructure, such as a public key infrastructure (PKI), certification authorities, or
other trusted servers, is needed.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 30 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
3 Supplementary Access Control functionality
3.1 Access Control Infrastructure
3.1.1 AAA
3.1.1.1 Functional description
Communications and networks have undergone a fast growth in last years. Due to the increase in the number
of users and the request for new services, Telecommunication Operators need mechanisms, protocols and
infrastructures that allow them to manage and control users. A framework providing a suitable support for
this is known as AAA (Authentication, Authorization and Accounting) framework. Service providers (SPs)
need a way to determine if a user that tries to use their resources is allowed to do it. It is carried out, firstly,
by executing an authentication process that allows SP to know user identity and if this one has a business
relationship with him; then an authorization process is fulfilled to determine whether a requesting entity will
be allowed to access to a resource and how. Furthermore, a process is needed to collect resource usage
information; it is known as accounting.
These three concepts include different infrastructures and protocols (AAA protocols) in order to support
Internet services with AAA requirements. However, this is not a novel idea due to the vast majority of
current SPs have deployed these infrastructures for years. The problem is these current infrastructures are
based on protocols as RADIUS and TACACS+, and they can be considered as antiquated as they were
designed to support a specific kind of user (dial-up PPP users) and access technology. But these ideas are
also important when we talk about mobility and roaming scenarios, because it is needed to be aware about
which user/users can connect to a foreign network and what things they can do inside these networks. Thus,
another kind of AAA protocol is needed to support new requirements raised by mobility: IETF’s and 3GPP
consortium’s solution has been the Diameter protocol.
In its base specification, Diameter protocol defines several entities that could be deployed in a AAA
infrastructure, namely:
• Relay agents, in charge of forwarding requests and responses to the AAA server that manages
information about a particular user.
• Proxy agents work similarly as relay agents; however these entities takes decisions about AAA
information routing based on policies relating to resource usage and provisioning, and the
destination domain.
• Redirect agents send information after a previous request about how to reach a AAA server
directly in a requested domain; these agents are deployed in order to reduce the configuration
information to reach different domains that would otherwise be necessary on all servers owned
by members of a roaming consortium.
• Translator agents that are in charge of translating requests/answers from RADIUS protocol into
Diameter requests/answers.
• Brokers they are intermediate elements shared between two or more administrative domains.
From a functional point of view, they could be proxy agents, simple relay agents or redirect
agents providing service to several domains.
• Authentication/Authorization server (AA server). It is the entity containing information about
end-users and controlling authentication and authorization functions.
• Accounting server. This entity registers and collects information about end-user’s service usage.
3.1.1.2 State of art
A Diameter base protocol implementation is needed in order to develop scenarios and AAA infrastructures
based on the Diameter protocol. Thus, UMU is jointly collaborating with Toshiba Research in the
development of new functionalities in a Diameter implementation (Open Diameter). It is mainly developed
by Toshiba Research team but we are helping by adding new features and improving the protocol. Open
Diameter implementation has several interesting features:
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 31 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
• It defines C++ API, which is well structured and extensible enough to be used for writing any
Diameter application.
• It is carefully designed to gain a great level of performance in multithreading environments and
is totally thread-safe.
• It is written by using modern C++ libraries such as ACE, which makes the source code portable
to various types of operating systems.
These three design philosophies archive the goals of extensibility, performance and portability,
without sacrificing any of them.
• It integrates an EAP state machine to develop new EAP methods.
• Diameter EAP Application has been developed
• In the same package, an implementation of PANA protocol has been included.
• Currently, UMU is developing new functionalities based on this implementation:
1.RADIUS – Diameter translator implementation: to allow to a smooth transition from old
RADIUS-based infrastructures to new Diameter-based AAA ones.
2.EAP-TLS method integrated with Open Diameter EAP state machine and with Diameter EAP
Application: it is useful to allow authentication based on X509 certificates.
3.1.1.3 Purpose in SEINIT
The main purposes of the Diameter in the SEINIT framework are both to manage and control users, and to
carry out processes related with authentication, authorization and accounting in intra- and inter-domain
scenarios.
3.1.1.4 Adaptation and use
Depending on requirements inside project, new Diameter applications could be needed and these
implementations and modules should be adapted to the Open Diameter implementation. For example,
currently EAP module has been developed, and MIPv4 application is on-going but more applications can be
added (i.e. MIPv6 application, NASREQ application etc…)
3.1.1.5 Interaction with other components
Diameter-based AAA infrastructures need to interact with other different protocols and infrastructures,
namely:
• PKI: to allow to certificate Diameter entities in infrastructure.
• EAP protocol: to allow to process authentication information.
• PANA protocol: to recover EAP packets transported by this protocol and to encapsulate them in
Diameter EAP application to carry out authentication/authorization process.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 32 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
3.1.2 PKI
3.1.2.1 Functional description
Public Key Infrastructures are defined to provide Public Key Certificate (PKC) management to the group of
security protocols designed to protect Internet. These protocols, for instance, IPsec, SSL, TLS or S/MIME,
use public key cryptography to provide services such as confidentiality, data integrity, data origin
authentication and non-repudiation. Users of public key-based systems need to trust in a PKC. A PKC is a
data structure, which binds a public key to the user identity and other information like certificate’s validity
period, serial number, issuer entity or extensions. This binding is achieved by having a trusted third party,
Certification Authority (CA), which verifies the subject identity and digitally sign each digital certificate.
A PKI includes software, policies, hardware, etc, allowing the creation, management, storage, distribution
and revocation of public key certificates. The main components of a generic PKI are: Certification
Authorities (CAs), which issue, validate, renew and revoke PKCs, Registration Authorities (RAs) to
authenticate off-line users and add certificate’s properties, PKI’s end users or systems, who can encrypt, sign
and validate digital documents from a known public key of a trusted CA, and public repositories, to make
available certificates and certificate revocation lists (CRLs).
3.1.2.2 State of art
The PKI designed by University of Murcia, named UMU-PKIv6, defines a complete group of certification
services for any secure domain that need to provide its clients of security mechanisms in their
communications. By means of their services, users will be able to carry out several operations: to request a
certificate, renew or revoke it, to look for another user certificate, etc. Moreover, it allows users to use smart
cards (which can be distributed by the own organization) to store cryptographic information, so that it
facilitates their mobility.
Main features:
• Users can issue, renew and revoke certificates.
• LDAPv6 directory supported to store users and CAs certificates and CRLs.
• Final users can carry out certification operations from their own navigator or through RAs.
• Users can storage cryptographic information (private key, certificate and CAs certificate) in
their smart cards
• Policy definition will establish the opportune restrictions inside an organization.
• PKIv6 has been developed completely in Java.
• It is based on standards specified by the IETF inside the PKIX work group.
• SCEP (Simple Certificate Enrolment Protocol) protocol supported for VPN Clients.
•
•
•
•
Certificate life-cycle mechanisms as CMC supported.
DNSSEC support, publishing of certificates, CRLs, etc. as presented above (section 2.1.2)
Cross-certification is allowed in two ways, peer-to-peer and hierarchical cross-certification.
It offers services of Time Stamping and certificate’s status on-line (OCSP).
• It supports advanced research PKI services, like self-revocation and re-issue of certificates.
• Communications between components can be based on IPv4 or IPv6.
The UMU-PKIv6’s main components are showed in the next figure:
• Certification Authorities (CAs) to issue, renew and revoke PKCs.
• Registration Authorities (RAs) authenticate off-line users and add certificate’s properties.
• PKI clients can encrypt and sign digital documents or establish secure connections.
• Request Server like an intermediate element between end users and RAs and the CA (only
outbound communcications).
• Public repositories to make available certificates and certificate revocation lists (CRLs). It can
be a DNSSEC server.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 33 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Cert/CRL Repository
SD
End User
Router
CA
RA
Requests Server
Figure 13: UMU-PKIv6 components
3.1.2.3 Purpose in SEINIT
Interaction with other components
The use of a Public Key Infrastructure is a key point in a secure domain based on public/private keys.
Cryptography material is the base for all the security mechanisms used in an environment like the SEINIT
project, so it is necessary a well-known, widely used and easily adaptable solution, as the PKI.
PKI will provide cryptography material for every entity inside the secure domain and it should also help
entities to manage the life cycle of these keys.
3.1.2.4 Adaptation and use
If PKI services should be available for every component in a secure domain, or components of foreign
domains, PKI has to be adapted to the characteristics of every different component; this adaptation includes
the use of a wide range of protocols and APIs to cover all the possible PKI’s clients.
With these access methods to the PKI, every entity can reach the PKI to manage its cryptography
information to establish secure channels with other components inside the same or different trusted domain.
These access points have to be based on specific standards, like the use of CMC or CMP protocols, offer
easy APIs with common protocols, like HTTP, FTP, SCP, SCEP, etc and APIs for system requiring a special
treatment.
3.1.2.5 Interaction with other components
The public and private keys issued by a PKI are used by the majority of the SEINIT components.
IPsec/SSL/TLS protocols usually need asymmetric keys to establish trusted secure channels. DNSSEC can
use public/private keys to secure DNS transactions and moreover, it can be used to store public key
certificates used, for example, by opportunistic encryption applications. AAA and EAP modules should be
used with asymmetric keys for authentication and authorization decisions, and CGA address can be
composed using public/private key pair.
Due to the high presence of the PKI in the secure domain, most of the SEINIT components will have to take
a public key certificate and the associated private key.
3.1.3 Privilege Management Infrastructure
3.1.3.1 Functional description
Privilege Management Infrastructures (PMIs) are defined to provide privilege information to users, and issue
and manage it by using X.509 Attribute Certificates. An Attribute Certificate (AC) may store privilege
information such as roles, group membership, etc. Usually, a PMI may be used as a role based access control
infrastructure through the user’s privilege management, data origin authentication or non-repudiation. A PMI
is to authorisation what a PKI is to authentication.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 34 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
The ACs need be bound to one identity which provides a strong authentication process during the
establishment of the holder’s identity. For this reason, an AC is bound to one PKC to provide this
authentication. The main components of a generic PMI are: Attribute Authorities (AAs), which issue and
revoke ACs, Access Points (APs) to authenticate off-line request user privileges, Clients to request an action
for which authorisation checks are to be made and Repositories (such as LDAP) to store and make available
Attribute Certificates.
3.1.3.2 State of art
The University of Murcia has developed a prototype of Privilege Management Infrastructure, UMU-PMIv6,
using Attribute Certificates. It defines a group of services for the clients that need to benefit from
authorization mechanisms through privilege information management.
By means of their services, a client can obtain the basic operations: to request an AC, revoke it, only retrieve
his ACs, etc.
Main features:
• Users can issue and revoke attribute certificates.
• LDAPv6 directory supported to store users and AAs attribute certificates and ACRLs.
• Policy definition will establish the opportune restrictions inside an organization.
• PMIv6 has been developed completely in Java.
• It is based on standards specified by the IETF inside the PKIX work group.
• It offers services of AC validation such as Simple Certificate Validation Protocol (SCVP).
• Communications between components can be based on either IPv6 or IPv4.
The UMU-PMIv6’s main components are depicted in the Figure 14. Note that the conceptual design is based
on the UMU-PKIv6 as both infrastructures have some similarities.
• Attribute Authorities (AAs) issue and revoke ACs.
• Access Points (APs) authenticate off-line users and add certificate’s properties.
• PKI clients can encrypt and sign digital documents or establish secure connections.
• Request Server like an intermediate element between end users and APs and the AA.
• Public repositories to make available ACs and ACRLs.
Figure 14: UMU-PMIv6 components
3.1.3.3 Purpose in SEINIT
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 35 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
A PMI is an interesting component within a security environment where intra-domain access (even
inter-domain access) can be related to several constraints or privileges associated to these users.
UMU-PMIv6 can issue and manage the life cycle of such privileges.
3.1.3.4 Adaptation and use
Currently, UMU-PMIv6 is only a prototype that needs some additional work. The IETF PKIX Working
Group is working in this area to provide the required standards for certificate status checking, retrieval, etc.
As the use of attribute certificates could benefit services and applications developed in the SEINIT
framework, some work could be required in them for being able to process and manage this kind of
certificates. It could be also the case of the software used by end users.
3.1.3.5 Interaction with other components
Mainly, the PMI will need to interact with the PKI to provide the necessary authentication process during the
establishment of the holder’s identity. Users, services and applications making use of attribute certificates
also need to interact with the PMI to request, validate and/or revoke an AC.
3.1.4 Security Assertion Markup Language(SAML)
3.1.4.1 Functional description
SAML is an OASIS standard designed to transport security information. It is an XML-based technology for
exchanging information about the authentication status of an user/terminal, the attributes of an user/terminal
and may include authorization information, e.g. to which resources an user/terminal has access-rights. This
standardized information is formed in XML and is called SAML assertion. SAML offers independence from
the used authentication mechanism: different authentication server in different domains can authenticate the
user/terminal using any authentication mechanism. After successful authentication, a standardized assertion
is generated. This assertion is used for exchanging security information in a standardized way. The entities
requiring authentication only need to support SAML and not all authentication mechanisms.
SAML supports digital signatures via the mechanism of XML Signatures. It supports encryption via XML
Encryption objects.
SAML is complemented with XACML (eXtended Access Control Markup Language) also an OASIS
standard to provide a language for standardized description of policies and the requests/responses for
authorization decisions. SAML is targeted at these use cases amongst others: Single-Sign On; B2B
transactions; Authorization (in a service environment).
3.1.4.2 State of art
UMU is deploying a SAML authority used to issue authentication and authorization credentials. This
authority is based on the SAML Open Source implementation and will offer a web interface to entities
requesting SAML credentials.
SAML Authority implementation will interact with public key infrastructures (UMU-PKIv6) and with AAA
server to be used in SSO scenarios and network access control, see below.
3.1.4.3 Purpose in SEINIT
SAML is a new standard for authentication and authorization and these are requirements that the SEINIT
secure domain should take into account. SAML can be used to offer security based on Identity, Roles,
Attributes, etc.
3.1.4.4 Adaptation and use
The use of SAML implies some components should be adapted to support assertions, components like AAA
server, application services or end user devices could require to understand the SAML language. Depending
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 36 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
of the king of authentication/authorization services defined in SENIT, components should be or not be
adapted.
3.1.4.5 Interaction with other components
An SAML authority could interact with a PKI to provide cryptographic material. It will be used by end
user’s web browsers, application services and AAA server. SAML authorization can also be use to get
access control based on 802.1x using EAP authentication like shows the above figure.
3.1.5 Protocol for Carrying Authentication for Network Access (PANA)
3.1.5.1 Functional description
PANA is a link-layer agnostic protocol to transport EAP protocol to enable network access authentication
between clients and access networks. Due to PANA can transport any EAP method, different authentication
methods are supported. PANA can work on any link that can carry IP.
PANA defines several entities:
• PANA Client (PaC): The client side of the protocol that resides in the host device, which is
responsible for providing the credentials to prove its identity for network access authorization.
• PANA Authentication Agent (PAA): The access network side entity of the protocol whose
responsibility is to verify the credentials provided by a PANA client and grant network access
service. In occasions, PAA may not have sufficient information to verify user’s credential and
need to forward it to another entity (Authentication Server).
• Authentication Server(AS): This entity owns information about users and it is able to verify
credentials sent by user through PAA
Enforcement Point (EP): A node on the access network where per-packet enforcement policies are applied.
These policies are applied by PAA after a good authentication.
3.1.5.2 State of art
A PANA implementation is being developed by the Open Diameter Team. The last one is based on version 3
of the draft. UMU is collaborating with this team in these aspects:
• Integration PAA with a Client-side Diameter EAP application. It allows to communicate PAA
with an AS based on Diameter.
• Integration EAP-TLS module with PaC, PAA and Diameter server to allow an authentication
based on X509 certificates.
3.1.5.3 Purpose in SEINIT
To allow flexible and homogeneous authentication regardless the network access technology in use (i.e.
DSL, wireless, etc…). Furthermore, there exists the possibility of interacting with another different
technologies currently used in network access (i.e. IEEE 802.1X).
3.1.5.4 Adaptation and use
Client side PANA protocol should be adapted to small devices. New EAP methods should be developed and
integrate them with PANA to allow different types of authentication. On the other hand, PAA
implementation should be integrated in access routers (as PANA framework draft states) though it will
depend on the final defined scenarios. Finally between PAA and EPs will be needed an interaction to carry
out authentication process. It could be done through an API (when PAA and EP are co-located) or another
protocol like SNMPv3 (PAA and EP are separated).
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 37 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
3.1.5.5 Interaction with other components
PANA deployment will interact with:
• PaC: to allow it to get network access and verify its credentials.
• PAA: to allow verifying PaC credentials. Communication with PaC will be carried out through
PANA protocol. In some cases, PAA must interact with deployed Diameter infrastructure to
verify these credentials.
• EP: to enable access to authenticated PaC.
• Diameter Infrastructure: where AS is placed on and where user’s information is stored.
3.2 Access Control managed with Credentials
3.2.1 EAP Keying Framework
3.2.1.1 Functional description
The EAP keying framework in principal performs the authentication of a client in order to get access to some
network resources. Additionally it can further support the derivation of keying material, which can be used
e.g. for encryption services.
Within the EAP keying framework two main functionalities have to be distinguished,
• the exchange of the required messages, which is done by the EAP basic protocol, and
• the authentication process itself, which is done within one of several possible EAP authentication
methods with different security properties. The information related to these EAP authentication
methods are exchanged within the EAP basic protocol.
As depicted in Figure 15 with the example of a WLAN hot spot, the EAP basic protocol principally
differentiates between 3 involved instances, the supplicant, the authenticator and the backend authentication
server.
Supplicant
Authenticator
Backend
Authentication Server
Figure 15: EAP overview
The supplicant is usually a PC client, which needs to be authenticated in order to gain access to the network.
It uses for its communication e.g. EAP over PPP or EAP Over LAN. The latter variant is currently deployed
in most WLAN networks.
The authenticator can have two different modes of operation. First it can act as the peer to the supplicant
concerning the EAP protocol, that is, the authenticator will have in this case full EAP functionality. A second
alternative for the authenticator is to act in a pass-through mode, that is it only passes the EAP messages
from the supplicant to the backend authentication server and vice versa, but blocks all other messages.
Authenticators could be switches or router, or as in the example case above WLAN access points.
As already mentioned above, the backend authentication server supports an authenticator, which runs in the
pass-through mode. In this case it exchanges EAP messages with the supplicant and performs the relevant
tasks required for the authentication of the client. A backend authentication server could typically be realized
by a RADIUS server.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 38 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
The basic EAP protocol therefore could run between supplicant and either authenticator or backend
authentication server. For this purpose EAP defines 4 different packet formats, EAP request, EAP response,
EAP success and EAP failure. While the first both packet formats are used to exchange authentication
material between the respective EAP peers, the last both indicate the successful or unsuccessful completion
of the authentication process.
Within this basic EAP protocol, different EAP authentication methods can be carried, like EAP MD5, EAP
TLS, EAP TTLS, EAP PEAP or EAP LEAP. Depending on the selected EAP authentication method a
different number of EAP request and response messages will be exchanged between the EAP peers, until the
EAP method either success or fails. It is exactly the selected EAP authentication method, which mainly
determines the strength of the authentication. For example using EAP MD5 no mutual authentication
between both EAP peers will be performed, but only the authenticator will authenticate the supplicant.
Furthermore with EAP MD5 no keying material will be derived on both sides. Using e.g. EAP TLS, a mutual
authentication based on certificates will be done between supplicant and authenticator. Furthermore keying
material can be derived on both sides and used e.g. for encryption services.
3.2.1.2 State of art
The EAP protocol is already supported by the majority of operating systems, and made its way also to many
WLAN products. As an open source implementation the Open Diameter project offers code for the EAP
client and the EAP authenticator. This source code should run on different UNIX versions as well as on
Windows operating systems with Adaptive Communication Environment (ACE) support.
3.2.1.3 Purpose in SEINIT
Authentication is a key technology required for the provision of secure services. Before being able to do any
kind of shared-key encryption between two partners they usually have to mutually authenticate their
identities in advance. In some scenarios the authentication of the peer identity itself is already the only
security service required, e.g. for the exchange of routing information or the provision of network access.
The EAP keying framework is frequently used today in order to provide this authentication, e.g. for the
provision of secure access to wireless LAN networks. Therefore EAP could be used in SEINIT for the secure
deployment of WLAN hot spots. As most EAP types like EAP TLS, EAP TTLS, EAP PEAP or EAP LEAP
support the derivation of keying material, EAP could also provide the basis for encryption service in wireless
LANs. Furthermore the PANA protocol currently developed for providing a network access authentication
service over IP makes use of the EAP keying framework.
3.2.1.4 Adaptation and use
EAP will be required in order to demonstrate the PANA functionality. PANA, a link layer agnostic transport
protocol for network access authentication information, makes use of EAP for performing the different
authentication methods, such as EAP MD5, EAP TLS or EAP TTLS. Furthermore EAP can be used directly
on the media like WLAN for doing a link layer dependent authentication, as it could be useful in secure
WLAN hot spots.
3.2.1.5 Interaction with other components
EAP just defines an authentication framework supporting different authentication methods. In order to
deploy EAP, it additionally requires a transport protocol for carrying the EAP packets. One solution
currently under standardisation is the PANA protocol, which run on top of UDP / IP and is therefore link
layer agnostic. Other potential transport protocols are PPP or EAP Over LAN, which is used in the majority
of WLANs.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 39 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
3.2.2 SAML Access Control
3.2.2.1 Functional description
SAML is widely being used in projects requiring entities authentication and/or authorization to access
resources. UMU is deployment a SAML authority to offer authentication/authorization services, this SAML
authority is based on HTTP and SOAP protocols and can be used to offer security to web services and access
control applications. An application example of this authority is described in the next figure:
AAA
EE
AP
LA N
SAML
Authz
router
W AN
Figure 16: SAML example
In this example an End Entity (EE) requests network access (the network is the resource to be granted by the
entity) sending its credential (X509 certificate or SAML assertion) to the Access Point (AP) which forwards
it to the AAA server (for example, using 802.1x/EAP-TLS). This server consults the SAML authority to
ensure the End Entity has the right permissions to grant access to the network. SAML provides the EE’s
assertions to the AAA server which take the decision to grant or deny the access.
This scenario can be improved using an already defined SAML profile. In this case, in a first step, the EE
accesses to the SAML Authority (and only to this entity, for example, using filtered VLANs). End entity
could now request SAML authorization statements that will present to the AAA server. AAA server can now
decide whether accept or reject the end entity’s request. Note that in this last case AAA server does not
interact with the SAML Authority, only end entities do it.
SAML authority can also be used to access other services than network access, for example, to deploy Single
Sing On scenarios or B2B secure applications. In this case, the EE requests a service which have to obtain
the user’s credential. The credential can be obtained from the own user or accessing to a SAML authority to
request them. Once the service has the user’s credential it can grant or deny access to the resource.
3.2.2.2 State of art
Actually, UMU is implementing the SAML Authority like a security service provider entity and deploying
the network access control like a example scenario which allows interaction of a wide group of technologies:
EAP, AAA, PKI, SAML, etc..
3.2.2.3 Adaptation and use
Once released, SAML authority will can be used to deploy security scenarios requiring authorization
mechanism like SSO federations, network access control points or advanced applications in access control
and security.
3.2.2.4 Interaction with other components
As previously commented, SAML authority could interact with a AAA server, acting like a authorization
client, must interact with a PKI to provide public key authentication and could be used by every service
requiring end user authorization inside a secure domain.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 40 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
4 Preliminary implementations to secure E2E service
architectures
4.1 E2E security mechanisms
4.1.1 Distributed infrastructures
4.1.1.1 Functional description
Within the Internet community, both resources and data are distributed in a wide networked area with
components administered locally and independently. Scientific applications, as grid computing, and
multimedia applications, as knowledge management, must share and coordinate the use of large quantities of
data and remote computational resources.
These real-time distributed software applications need a secured infrastructure providing guaranteed network
services as availability, reliability and scaled performance.
The E2E security mechanisms concern not only the relationship between the service providers and the enduser, but also the virtual community of service providers. The heterogeneity of resources and the dynamic
nature of processes increase the difficulties of security management of such applications.
A secured protocol is required to enable communication between applications.
Distributed applications can communicate using Remote Procedure Calls (RPC) between objects like DCOM
and CORBA, but security policies implemented in firewalls and proxy servers usually block such RPC
traffic.
A solution is to communicate over HTTP and use SOAP (Simple Object Access Protocol). SOAP is a simple
XML based protocol designed to let applications exchange information over HTTP. These applications can
run on different operating systems, with different technologies and programming languages.
4.1.1.2 State of art
The management of services access in a distributed infrastructure raises several issues due to the
heterogeneity of platforms, organisations and APIs.
The integration of the different features in a distributed infrastructure is generally performed through custom
solutions, that finally makes very tightly coupled applications. We face the lack of standard way to be able to
manage the execution of the different services provided by the platform.
THC has specified and developed in Java language an intermediation architecture for services access
management in a distributed infrastructure. This middleware offers relevant functionalities to match these
requirements:
Distributed services context
Easy accessibility to service
New service deploying assistance
Optimal services interoperability
Communications facilities
We use the standardised and widely used SOAP Protocol over HTTP for the control flow.
A scripting language has been developed, and also a processor for that language
A prototype has been developed as a proof of concepts for the application of SOAP, and scripting/processes
for the services access.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 41 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
4.1.1.3 Purpose in SEINIT
In WP5 - Adaptation & Integration of the Applications - we select distributed IPv6 enabled applications to
validate the SEINIT security framework. Distributed applications are distinguished from traditional clientserver applications by their complex communication structure and their large-scale, heterogeneous
environment. We need to provide specific security mechanisms to administrate and enable trusted peer
communications.
4.1.1.4 Adaptation and use
A distributed infrastructure for intermediation can be used to federate a set of web-services.
From the user point of view, this infrastructure provides services for multimedia support, virtual community
support and services execution management support.
From the administrator point of view, this infrastructure provides a distributed security model that fit
distributed environment security requirement and related service supervision and administration.
4.1.1.5 Interaction with other components
The modules dedicated to scripting/processes for the services access should interact with the policy
management system from the security domain.
The control flow messages exchanged in the distributed infrastructure should rely on the information
provided by the IPv6 routing security mechanisms and the IP signaling.
4.1.2 Adaptive content
4.1.2.1 Functional description
Exchanging information in a heterogeneous environment requires that information structure and content
must be flexible enough to be directly suitable for the terminal before being delivered to the person or
service addressed.
The goal of an adaptive content system is to avoid developing as many versions of a same application as
necessary to fit end user equipment requirements, network characteristics or user profiles. This system is a
middleware network infrastructure in charge of adapting the way to present and/or filter the content of the
information data flow by running routines on data flows according to configuration rules.
For example, we can adapt HTML pages to fit small screen size devices, modify the QoS level of a video
streaming transmission, filter information relevant only for a particular user profile.
The use of a policy-based implementation provides generic components and allows the end-user to define a
set of coherent rules to match his/her needs.
4.1.2.2 State of art
Adaptive content modules already exist inside applications, e.g. browser or mailing-box. The user is
provided with a set of options that he/she can configure to fit his/her needs.
We face two limits with such an implementation: the end-user is dependent from a software provider and the
network is crowed by unnecessary or unwanted data flows.
THC has developed in Java language a generic policy-based component to deliver adaptive content. This
component is called a content adaptation module (CAM). The CAM can be implemented on the end-user
device or on a remote service provider.
A first prototype is available and consists in a CAM plugged into a remote proxy that adapts the image size
and resolution according to the terminal screen.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 42 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
To simplify the treatment of the data flow, we define a single format representing an elementary block of
information content, called a cell. This capsule holds the information data itself and a set of properties, which
characterizes the nature and the state of the encapsulated content. On each cell, a specific service is applied
according to the rules edited in the policy.
The architecture of the CAM is detailed in Figure 17: Detailed Architecture of a generic CAM. The cell
structure and the policies are described using XML with a specific DTD.
Libraries of Resources
Cell
parsers
Policies
Services
Session Management
Session
Factory
External Communication
Events
generation
Messages
Management
CAM State Management
Session
Scheduler
CAM
State
Profile
Management
Process
Cell Management
Cell Capture
& Generation
Content
Extraction
Statistic Management
Statistic
Tools
Statistic
Engine
scheduler
Figure 17: Detailed Architecture of a generic CAM
4.1.2.3 Purpose in SEINIT
As explained previously, the content adaptation is generally processed at the application level, a domain
where the user cannot really define his/her security policy because of the pre-existing implementation from
the software providers.
In the context of the SEINIT project, we defined the concept of a virtual ring, a quarantine zone to filter the
data flow for a security domain. An adaptive content module with a security-oriented policy could manage
this security zone.
4.1.2.4 Adaptation and use
The adaptive content module should be flexible enough to be implemented in any devices in the SEINIT
framework (terminal, remote server, edge router…).
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 43 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
The first issue is to implement the adaptive content module into a set of basic building blocks (depending of
the data flow and the targeted devices).
The second issue is to specify the security-oriented policy and the cell structure depending of the selected
application.
4.1.2.5 Interaction with other components
As the content adaptation module is applying a set of rules from a pre-established policy, this module should
interact with the policy management system from the security domain.
To parse the data flow into a suite of relevant cells, the content adaptation module should rely on the
information provided by the IPv6 routing security mechanisms and the IP signaling.
4.1.3 QoS
Quality of Service in one of the critical function that cannot easily realised for the real time applications
across the IP networks. There are multiple schemes developed in the past such as intserv (RSVP) and
Diffserv. The latter is used for the aggregated traffic, in many cases, but RSVP is not a scalable protocol.
To improve the situation in IPv6 networks, the 20 bit flowlabel has been defined, to control the QoS at the
flow level of information stream.
Quality of Service is defined to mean that the Flow (flow or composite flow) defined by a Flow Label is
processed so as to achieve a particular rate, delay priority, precedence priority, and over-rate tolerance (burst
tolerance). This requires a discard and scheduling process within the routers that treats each Flow separately,
keeping a Flow in order, and maintaining as well as possible the requested QoS parameters (rate, delay,
precedence, and burst tolerance). Different Flows within a CoS may be treated differently to achieve the QoS
objectives. Typically, interactive streaming media like voice and video need QoS to achieve low delay
variance and no loss. Also, TCP Flows may benefit significantly from QoS rate control and feedback so that
the source can quickly get to and maintain high throughput over high delay or high bandwidth paths.
4.1.3.1 State of the art status of flowlabel definition
Though 20 bit flowlabel has been defined, there were no real discussions so far. However, with the technical
and market push for IPv6 networks, the standards work has been taken up recently to stadndardise this field
and develop specifications on how to use this field
This specification under development applies to any IPv6 network of routers. All the routers in the network
need not support this QoS option but those that do support the option must have routing information, either
manually configured or exchanged in a routing protocol that identifies those adjacent routers that do support
the specified option. These QoS capable routers can then identify routers that support this option and either
pass Flows that have a QoS option field to those routers that can support the option or else clear the QoS
field. This insures that a router that cannot support the QoS option will not pass the option along without
taking responsibility to support the QoS.
There may be gateways in the network (like encryption devices) that consolidate many Flows into one Flow
in order to reduce network complexity or to maintain traffic security. This specification applies between such
gateways and should also be used on the other side of such a gateway, from the source to the gateway or the
gateway to the destination. However, when such consolidation is done it should set the QoS request of the
composite Flow so as to support the QoS of all the incoming Flows.
4.1.3.2 Network Architecture
Any IPv6 network can use this QoS option from the end source to the end destination as shown in Figure 1.
In the figure the source is a server sending a stream or file to a terminal. The source adds the QoS option to
request the QoS desired with user selected guaranteed rate and/or network determined available rate. The
packet travels across the user’s local network (Area 1). There may then be an encryption device to separate
Area 1 from the general network. There are two QoS-capable options at the encryption device:
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 44 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
A new IPv6 packet header is added with the source address of the Encryptor, the destination address of the
Decryptor, a new flow label (either the original one or a translation of the original one), a QoS option field
(either the original one or a masked subset of the original one), and the encrypted original packet.
A new IPv6 packet header is added with the source address of the Encryptor, the destination address of the
Decryptor, a new flow label that stands for a group of incoming flows, a QoS option field that reflects the
combined requirements of the combined flows, and the encrypted original packet.
In case one, the flow will retain its individual QoS across the entire network. This will provide the maximum
capability to the end user and the maximum efficiency of the network. In case two, security may dictate that
many flows be combined into one stream. This will impact network efficiency and may be difficult to
administrate due to the necessity of allocating bandwidth at the Encryptor. Of course, the Encryptor could
eliminate the QoS option altogether, but then no QoS will be able to be setup across the network.
Internet
Router
Router
Area 2
Area 3
Encryptor
Encryptor
Area 1
Area 4
Router
Router
1 De
Source
Destinatio
Figure 18: IPv6 network with QoS options
After encryption, the packet traverses routers in Area 2, a network link, routers in Area 3, and arrive at a
second Encryptor for decryption. Here the original packet is decrypted with its original flow label and QoS
request and is passed on through Area 4 to the destination. The QoS request will have been processed by all
the routers in the path to determine what available rate can be assigned fairly to the flow and if the requested
guaranteed rate is available. The destination will receive the QoS request modified to what is available. It
returns a packet to the source with this information. The source then adds this confirmed QoS to its next
packet as a confirmation. This allows all the routers in the forward path to release any resources reserved.
The source then proceeds to send at the agreed rate for up to 128 packets. Then it must re-request its
available rate so the network can adjust quickly to load or capacity changes.
The entire process allows the establishment of flows at the maximum rate the network can support without
congestion packet losses.
4.1.3.3 IPv6 Flow Label Specification
The 20-bit Flow Label field in the IPv6 header is used by a source to label packets of a flow. A Flow Label
of zero indicates that there is no flow control with the associated packets. Packet classifiers use the triplet of
Flow Label, Source Address, and Destination Address fields to identify which flow a particular packet
belongs to. Packets are processed in a flow-specific manner by the nodes that have been set up with flowspecific state.
The Flow Label value set by the source is delivered unchanged to the destination node(s).
The use of the Flow Label field does not necessarily signal any requirement on packet reordering. If an IPv6
node is not providing flow-specific treatment, it will ignore the field when receiving or forwarding a packet.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 45 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Flow Labeling Requirements
To enable Flow Label based classification, source nodes assigns each unrelated transport connection and
application data stream to a new flow. The source node may take part in flow state establishment methods
that result in assigning certain packets to specific flows. If source node does not assign any Flow Label, the
default value is set to zero.
To enable applications and transport protocols to define what packets constitute a flow, the source node
provides means for the applications and transport protocols to specify the Flow Label values to be used with
their flows.
The source node selects unused Flow Label values for flows not requesting a specific value to be used.
A source node will not reuse Flow Label values it is currently using or has recently used when creating new
flows (during atleast next 120 seconds).
4.1.3.4 Security issues related with the use of Flow label
This security issues raised by the use of the Flow Label, primarily the potential for denial-of-service attacks,
and the related potential for theft of service by unauthorized traffic
Theft and Denial of Service
Since the mapping of network traffic to flow-specific treatment is triggered by the IP addresses and Flow
Label value of the IPv6 header, an adversary may be able to obtain better service by modifying the IPv6
header or by injecting packets with false addresses and/or labels. Taken to its limits, such theft-of-service
becomes a denial-of-service attack when the modified or injected traffic depletes the resources available to
forward it and other traffic streams.
Since the treatment of IP headers by nodes is typically unverified, there is no guarantee that flow labels sent
by a node are set according to the recommendations in this document. Therefore, any assumptions made by
the network about header fields such as flow labels should be limited to the extent that the upstream nodes
are explicitly trusted.
Since flows are identified by the 3-tuple of the Flow Label and the Source and Destination Address, the risk
of theft or denial of service introduced by the Flow Label is closely related to the risk of theft or denial of
service by address spoofing. An adversary who is in a position to forge an address is also likely to be able to
forge a label, and vice versa.
There are two issues with different properties: Spoofing of the Flow Label only, and spoofing of the whole 3tuple, including Source and Destination Address.
The former can be done inside a node which is using or transmitting the correct source address. The ability
to spoof a Flow Label typically implies being in a position to also forge an address, but in many cases,
spoofing an address may not be interesting to the spoofer, especially if the spoofer's goal is theft of service,
rather than denial of service.
The latter can be done by a host which is not subject to ingress filtering or by an intermediate router. Due to
its properties, such is typically useful only for denial of service. In the absence of ingress filtering, almost
any third party could instigate such an attack.
In the presence of ingress filtering, forging a non-zero Flow Label on packets that originated with a zero
label, or modifying or clearing a label, could only occur if an intermediate system such as a router was
compromised, or through some other form of man-in-the-middle attack. However, the risk is limited to
traffic receiving better or worse quality of service than intended.
Since flows are identified by the complete 3-tuple, ingress filtering will mitigate part of the risk. If the
source address of a packet is validated by ingress filtering, there can be a degree of trust that the packet has
not transited a compromised router, to the extent that ISP infrastructure may be trusted. However, this gives
no assurance that another form of man-in-the-middle attack has not occurred.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 46 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Applications with an appropriate privilege in a sending host will be entitled to set a non-zero Flow Label.
Mechanisms for this are operating system dependent. Related policy and authorization mechanisms may
also be required; for example, in a multi-user host, only some users may be entitled to set the Flow Label.
IPsec and Tunneling Interactions
The IPsec protocol does not include the IPv6 header's Flow Label in any of its cryptographic calculations.
Hence modification of the Flow Label by a network node has no effect on IPsec end-to-end security, because
it cannot cause any IPsec integrity check to fail. As a consequence, IPsec does not provide any defense
against an adversary's modification of the Flow Label (i.e., a man-in-the-middle attack).
IPsec tunnel mode provides security for the encapsulated IP header's Flow Label. A tunnel mode IPsec
packet contains two IP headers: an outer header supplied by the tunnel ingress node and an encapsulated
inner header supplied by the original source of the packet. When an IPsec tunnel is passing through nodes
performing flow classification, the intermediate network nodes operate on the Flow Label in the outer
header. At the tunnel egress node, IPsec processing includes removing the outer header and forwarding the
packet using the inner header. The IPsec protocol requires that the inner header's Flow Label not be changed
by this decapsulation processing to ensure that modifications to label cannot be used to launch theft- or
denial-of-service attacks across an IPsec tunnel endpoint.
When IPsec tunnel egress decapsulation processing includes a sufficiently strong cryptographic integrity
check of the encapsulated packet, the tunnel egress node can safely assume that the Flow Label in the inner
header has the same value as it had at the tunnel ingress node.
Security Filtering Interactions
The Flow Label does nothing to eliminate the need for packet filtering based on headers past the IP header, if
such filtering is deemed necessary for security reasons on nodes such as firewalls or filtering routers.
4.1.3.5 SEINIT relevance
Telscom has implemented a proprietory Flow Label mechanism, but does not follow the present version of
the standard. Hence, some additional work has to be done to conform to new standards taking into account
the security issues discussed above. These will be done by following the ongoing standards and
implementing the latest specifications.
4.1.4 Policy management
4.1.4.1 Functional description
The goal of policy-based management is to enable network, service and application control and management
on a high abstraction layer. The administrator specifies rules that describe domain-wide policies independent
of the implementation of the particular network node, service or application. It is then the policy
management architecture that provides support to transform and distribute the policies to each node and thus
to enforce a consistent configuration in all involved elements, which is a prerequisite for achieving
end-to-end security services, for example.
Use of policies is an intrinsically layered approach allowing several levels of abstraction. There can be, for
example, general policies expressing an abstract business goal, and on the other end there can be policies that
express a rather specific, device or service dependent rule.
Policy rules are independent of a specific device and implementation, but define in abstract terms a desired
behavior. They are stored and interpreted by the policy framework, which intent to provide a consistent
behavior in all affected policy enforcement points. The main functions of a policy management architecture
are:
• Monitoring: on-going active or passive examination of the network, its services and applications
for checking its status and whether policies are being satisfied or not
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 47 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
• Decision-making: to compare the current state of the communication system to a desired state
described by a policy (or a set of them) and to decide how the desired state can be achieved or
maintained
• Enforcement: to implement a desired policy state through a set of management commands
4.1.4.2 State of art
UMU has designed and implemented a first prototype of a policy-based management system, named
UMU-PBNM (University of Murcia Policy-Based Network Management). The UMU-PBNM system aims to
provide a security framework for the management of policies in IP networks. It is based on the use of IPsec
and public key cryptography as a way to deal with the security concerns associated with today’s networked
environments. It is also based on the IETF approach to network policies, which is attempting to define the
basis for a multi-vendor networking environment supporting policy control mechanisms.
The UMU-PBNM policy management framework is composed of two main elements: one XML policy
language based on the IETF PCIM standard information model, and one distributed policy management
architecture, as depicted in Figure 19.
Figure 19: General View of the UMU-PBNM Architecture
Figure 19 shows the different components of this architecture: policy consoles, policy management tools
PMT–, policy decision points –PDP–, policy enforcement points –PEP–, network devices and application
servers; it also shows the protocols in use: HTTPS, an UMU-defined PMT-PDP communication protocol
named PSIP –Policy Server Interchange Protocol–, COPS, COPS-PR, and SNMP or the proprietary interface
in use by the end node.
4.1.4.3 Purpose in SEINIT
In the context of the SEINIT project, the concept of policy plays an important role. In fact, the security
models being addressed in this project can be implemented through a policy paradigm, which could provide
the level of dynamicity, flexibility, and interoperability required by the SEINIT framework.
Moreover, the idea of different (private, semi-private, semi-public, etc.) infospheres matches well with the
concept of various policies to be applied in different environments by both the network providing services
and the users accessing to them.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 48 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
4.1.4.4 Adaptation and use
Although several kinds of security policies can be initially envisaged in the SEINIT framework, a policy
management architecture and a set of policy languages able to describe and manage at least the security
functionalities provided by the network, and the security requirements imposed by the end user (or the
application or service being used by him/her) could be considered as a first approach for the dynamic
provision of security policies in SEINIT.
Several components inside this management architecture need some additional work. It is the case of the
specification of the set of policy languages to be used inside SEINIT, and the design of procedures for policy
validation and refinement of high-level policies into device configurations, for example.
Moreover, the integration of the policy management architecture in a multi-domain environment could be
considered of interest. For this, the integration with some existing tools, such as the DVC (Dynamic VPN
Controller) developed by NRNS Inc. upon contract of Defence R&D Canada (DRDC), and the X-Bone
overlay manager from ISI, represents an interesting line to analyse.
4.1.4.5 Interaction with other components
A policy management system usually needs to interact with a public key infrastructure, which acts as its trust
management system. In this particular case, a certificate lifecycle management protocol, as CMC or CMP, is
required. Moreover, the definition of multi-domain scenarios may also require the establishment of trust
relationships (i.e. based either on a hierarchy, or peer-to-peer cross-certification, or the existence of a Bridge
CA) between different PKI implementations, and the existence of certificate path building and validation
services.
On the other hand, this system may also benefit with the integration with a privilege management
infrastructure (PMI), which can provide the required attribute certificates and/or SAML assertions required
by services, network administrators, and end users to prove, for example, their group membership (e.g. a
certain service can be accessed or not, depending on the group to which one particular user belongs).
4.2 Honeypot
4.2.1 Dynamic IPv6 honeypot
4.2.1.1 Functional description
« A honeypot is a security resource whose value lies in being probed, attacked or compromised »
Honeypots are a highly flexible tool that can be applied to a variety of different situations:
Use to deter attacks (sane goal as firewall).
Use to detect attacks (same goal as APS)
Use to capture and analyze Worms
Use to study blackhat community behaviour
Basically, regarding their purpose, they can be classified in two major categories:
Production honeypot: they protect an organisation
Research honeypot: they are used to learn
A dynamic honeypot learns from its environment and according to its security policy, it
automatically determines how many honeypots to deploy, how to deploy them, and what they
should look like to blend in with the environment. Even better, the deployed honeypots change and
adapt to your environment.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 49 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Several kind of components will be needed to achieve the targeted honeypot architecture describe in D2.3
Thus a honeypot can virtually be build we any kind of software, we propose to use the most popular tools
used by the honeynet project.
Although it is not an official standard, the honeynet community define a kind of charter to state the
definitions, requirements and standards for a Honeypot1, we used it as a basis (with minor modification) for a
first classification of honeypot components.
CATEGORY
Honeypot services : Simulate some fake service and behaviour to
lure the blackhats
Data control : Once a Honeypot is compromised, we have to contain
the activity and ensure the honeypots are not used to harm non
Honeypot systems. Data Control always takes priority over Data
Capture
Data capture : Capture all activity within the Honeypot and the
information that enters and leaves the Honeynet, without blackhats
knowing they are being watched
Data analysis : Analyse the collected using various algorithm and
define action according to some security policy
Dynamic configuration : the honeypot can “learn”from is
environnement (network, OS, application) and dynamically
configure itself using this information and its security policy
COMPONENT(S)
HONEYD
NETFILTER/IPTABLE
SNORTINLINE
SEINIT IDS
SEINIT IDS
SEINIT IDS
pOf, NMAP, SEINIT IDS
SEINIT HONEYPOT
CONFIGURATION MODULE
HONEYD
Honeyd is a small daemon that creates virtual hosts on a network. The hosts can be configured to run
arbitrary services, and their personality can be adapted so that they appear to be running certain operating
systems. Honeyd enables a single host to claim multiple addresses on a LAN for network simulation.
Honeyd supports service virtualization by executing Unix applications as subsystems running in the virtual
IP address space of a configured honeypot. This allows any network application to dynamically bind ports,
create TCP and UDP connections using a virtual IP address
Honeyd can be used to create a virtual honey net or for general network monitoring. It supports the creation
of a virtual network topology including dedicated routes and routers. The routes can be attributed with
latency and packet loss to make the topology seem more realistic
1
The Honeynet project : ### Honeynet Definitions, Requirements, and Standards ### - http://project.honeynet.org/alliance/requirements.html
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 50 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Figure 20: How Honeyd Works
NETFILTER / IPTABLE
Netfilter and Iptables are building blocks of a framework inside the Linux 2.4.x and 2.6.x kernel. This
framework enables packet filtering, network addresss [and port] translation (NA[P]T) and other packet
mangling.
Netfilter is the system compiled into the kernel which provides hooks into the IP stack which loadable
modules (iptables is one) can use to perform operations on packets.
Iptables is a generic table structure for the definition of rulesets. Each rule within an IP table consists out of
a number of classifiers (iptables matches) and one connected action (iptables target).
Iptables is split into two parts; The user-space tools and the kernel-space modules. The kernel-space modules
are distributed with the main kernel, and you compile them as you would any other module, be it sound
drivers, a filesystem or USB support. There is the main ip_tables module, as well as modules specifically for
NAT, logging, connection tracking and so on. These modules perform the appropriate function on the
packets which they get sent by netfilter, depending on the rules which they have in their rule-list, or chain.
The user-space iptables code comes in the form of a binary called ‘iptables’, which is distributed separately
from the main kernel tree, and is used to add, remove or edit rules for the modules.
4.2.1.2 State of art
HONEYD
Honeyd is open source software released under GNU General Public License. Honeyd is maintained and
developed by Niels Provos.
Actually honeyd is a well-known product in the honeynet community. It is a core component of numerous
honeynet project.
Kyos use this component in its honeynet architecture, the main actual limitation is that this component is not
fully ipv6 compliant.
NETFILTER / IPTABLE
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 51 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Iptables is a widely use firewall technology, available in all recent linux distribution . Around this
framework, there’s a lot of useful tools that are available to provide some better configuration capabilities
(like firewall builder), statistical analysis and so on.
Kyos use this framework in several area :
As a gateway in bridging mode, within our honeynet architecture
As an ipv6 compliant firewall gateway, for ipv6 testing activity
on stand alone critical hosts (like anti-spam gateway, dns or webserveur)
And thus we can provide several configuration file regarding various use of this component.
The actual main limitation is regarding access control at the application layer. Iptable can work with several
security proxies, like the TIS framework. However, this combination can degrade seriously the firewall's
performance.
4.2.1.3 Purpose in SEINIT
At this stage the scope is not to work on all the honeypot technologies and purpose, but only on what this
technology can bring to enhance the SEINIT architecture.
The honeypot will be used in its ability to improve intrusion detection capabilities. It will be build more like
a production honeypot (with less complexity and interaction than a research honeypot), with some
enhancement do became dynamic, reconfigurable, and available in heterogeneous environment
In other word, it will be a kind of lure or burglar alarm which help in defining a level of threat or give
interesting information to trust’s algorithm needed in some authentication scenario for example.
HONEYD
We’ll have to demonstrate several instantiations of honeypot depending on what the virtual ring defined in
WP2 is. In some case the honeypot should be a single application, in other case a host or even a network.
Honeyd with its ability to create virtual host and virtual network is a powerful component to cope with all
these scenarios.
NETFILTER / IPTABLE
The honeypot architecture defined in SEINIT will use this component as a basic framework for data control.
It can also be used for all the various network access control services needed within the SEINIT architecture
4.2.1.4 Adaptation and use
HONEYD
Honeyd will be used as major component to simulate fake service, host or networks.
Actually honeyd run well under linux and BSD.
The main adaptation consist of some port of the code to ipv6 and the addition of script specific to simulate
SEINIT network, operating system and application chosen for the scenario.
NETFILTER / IPTABLE
This component can be used with few adaptations; it is already ipv6 compliant and provides most of the
needed functionalities. The main addenda will be an interface with the SEINIT Policy Management
Framework.
4.2.1.5 Interaction with other components
This component will have to interact with most of the SEINIT IDS components to provide data capture and
data analysis functionalities.
It will also have the following interfaces and interactions:
An Interface do be activated by SEINIT DECISION or ACTION modules (SEINIT middleware )
An Interface to understand SEINIT security policy (SEINIT Policy Management Framework)
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 52 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
An Interface to send a message for the SEINIT decision engine (SEINIT middleware)
An interface to collaborate with other SEINIT compliant IDS or Honeypot on the SEINIT session
path
4.2.2 Wireless Honeypots
4.2.2.1 Functional description
A wireless honeypot is a wireless resource that waits for attackers or malevolent users / traffic to come
through on your wireless infrastructure. The idea would be to monitor and learn from the attack so steps can
be taken to secure / protect your network.
4.2.2.2 State of art
Honeypots are becoming more developed as new hacker techniques are being discovered. Wireless network
clients are a lot more accessible than wired clients, so the idea of a wireless honeypot will bring new
demands to this technology. At the moment a honeypot can be deployed on a wireless network using the
same software as used for wired networks, but because wireless networks are used differently and are
becoming more accessible, new techniques need to be developed in order to listen and record wireless based
activity and attacks. There are issues also to do with layer 2 detection where this layer is now more easily
accessible, where before direct access inside the Ethernet cabling was needed. There are a few useful tools
out at the moment, such as FakeAP that will simulate thousands of access points, so that the attacker must
attempt to attack all of them to find the real one.
4.2.2.3 Purpose in SEINIT
The wireless environment needs to be secure and gaining experience as to how these systems can be
compromised will help develop tactics to help counter attacks.
4.2.2.4 Adaptation and use
Honeyd and Snort-Inline can be modified to be usable in the wireless case to detect wireless specific attacks.
New rules will need to be created and some existing rulesets will have to be modified for the wireless case.
The scenarios we intend to investigate will vary depending on security requirements of the network
resources. Firstly unsecured wireless access points, with just one machine behind it, to detect very basic
attacks, then WEP-protected access points to provide a more realistic environment for experienced attackers,
then to a full network of machines behind the access point. This will allow for research into wireless
honeypot services to create more realistic environments.
4.2.2.5 Interaction with other components
Our wireless honeypot could be configured to report to the SEINIT Policy Management Framework system
where by results produced could in turn affect other security components characteristics. Our honeypot will
be deployed with interaction to the wired network IDS kept in mind. Work being done on IPv6 Honeypots
and dynamic Honeypots will tie directly into this component
4.3 IDS
4.3.1 Snort v6 and wireless IDS
4.3.1.1 Functional Description
An Intrusion Detection System is used to make security professionals aware of packets entering and leaving
the monitored network and give them a better understanding of activity on the network. Intrusion Detection
Systems come in a variety of forms, host based IDS, network based IDS and hybrid IDS which is a mixed
version. Host based IDS are installed on the client machines of a network and monitor traffic and system
activity directly effecting that machine, and can communicate with a central server. Network based IDS
monitor traffic flowing to and from all clients on the network and no upgrade to client machines is needed.
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 53 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
Snort v6
Snort is a misuse-based lightweight network intrusion detection system, capable of performing real-time
traffic analysis and packet logging on IP networks. It can perform protocol analysis, content
searching/matching and can be used to detect a variety of attacks and probes, such as buffer overflows,
stealth port scans, CGI attacks, SMB probes, OS fingerprinting attempts, and much more. Snort uses a
flexible rules language to describe traffic that it should collect or pass. Snort has a real-time alerting
capability as well, incorporating alerting mechanisms for syslog, a user specified file, a UNIX socket, or
WinPopup messages to Windows clients. This allows for many different possibilities in alerting a sysadmin
to suspicious activity taking place e.g. via SMS messages. Snort is signature based and it requires that
signatures are available in the public domain so that new threats can be quickly alerted to users.
Wireless IDS
For a wireless-IDS there are two types of attacks: IP-based and 802.11- or wireless-based. To cope with IPbased attacks, there is no special treatment in a wireless network. We may just add a NIDS behind our
wireless choke point. To detect 802.11-based attacks we need to analyze all 802.11 traffic including the
management frames. The Wireless IDS will look for misuse through MAC-spoofing, rouge Access Points,
DoS Attacks (i.e. DeAuth-Flood), active scanning and other abnormal traffic. For some Attacks, a state
similar to a stateful packet inspection must be kept. Since the 802.11 protocol has numerous security flaws,
there are many possible attacks already on Layer 2 and therefore an IDS which detects those kind of attacks
is very important for a complete security architecture.
4.3.1.2 State of the Art
Snort v6
Snort is at a very mature stage on IPv4 networks and is in beta development for IPv6 networks. With all
systems that are migrated to IPv6 there are new issues to be dealt with that are IPv6 specific, and new threats
need to be catered for. Currently Snort boasts a large amount of functionality, and the aim is to provide
similar functionality for IPv6 networks with added support for new threats and malicious activity that are
associated with IPv6 and IPv4 transition networks, such as tunnelled protocols, v6 tunnelled in v4, and v4
tunnelled in v6. Signatures for IPv6 threats are limited to a degree, and until there is more research done to
generate the signatures, comparable to that of IPv4, Snort v6 will still be in development.
Wireless IDS
As with most enterprise-critical components for wireless networks, the market of Wireless-IDS is still very
small and immature. There is one mature commercial system from Airdefense (www.airdefense.net), which
deals with attacks on Layer 2. Cisco has as part of their Structured Wireless-Aware Network (SWAN)
program a wireless IDS as well. Several other companies have recently released or have announced such
system. In the field of Wireless IDS, it is like in most areas of wireless networks, we have not yet products,
standards, or established best practice approaches for deploying and managing such systems.
There are also some efforts in the OpenSource community to build a wireless IDS. The popular wireless
Scanner/Sniffer Kismet (www.kismetwireless.net) has some limited IDS functionalities built-in. There is
also a Project which works on building a wireless IDS on the base of SNORT (www.snort-wireless.org).
Telscom are working on a Wireless Intrusion Detection and Management System (WimS), which will be an
appliance, based on some of those projects.
4.3.1.3 Purpose in SEINIT
An IDS is a very important element to any security system and its deployment to an IPv6 network is very
worthwhile. IDS in the SEINIT framework is therefore useful for adding security to defend against network
level threats.
4.3.1.4 Adaptation and use
Investigate as to how it can be deployed on general IPv6 infrastructures and SEINIT specific infrastructure
issues can be detected for and allowed for during development. The design of SEINIT specific rule sets to
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 54 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
tackle early-discovered threats to SEINIT infrastructure. Since the signature database so far is limited,
research needs to be done to make this database more substantial. Adapting Snort v6 to the wireless
environment creating a wireless IDS.
4.3.1.5 Interaction with other components
The IDS could be configured to report to the SEINIT Policy Management Framework where by results
produced could in turn reconfigure the Snort system to pay more attention in certain areas, such as increase
logging of certain activity or deny certain activity. There are a number of options for interaction here. Also
interaction with Wireless infrastructure will be an important aspect of this component. For transition
networks there must be mechanisms to detect and analyse the type of traffic being tunnelled, be it 6 in 4 or 4
in 6, this could be communicated to the IDS by way of policy telling it what to expect and what is should be
cautious of. Work done on transition detection will interact with components in section 2.1 Security for
IPv4/IPv6 transition mechanisms
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 55 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
5 Reference
Transition mechanism
[RFC 2893] R. Gilligan and E. Nordmark "Transition Mechanisms for IPv6 Hosts and Routers", RFC 2893,
August 2000
[RFC 2765] E. Nordmark, "Stateless IP/ICMP Translation Algorithm (SIIT)", RFC 2765, February 2000
[RFC 2766] G. Tsirtsis and P. Srisuresh, "Network Address Translation - Protocol Translation (NAT-PT)",
RFC 2766, February 2000
[RFC 3056] B. Carpenter, "Connection of IPv6 Domains via IPv4 Clouds", RFC 3056, February 2001
[RFC 3068] C. Huitema, "An Anycast Prefix for 6to4 Relay Routers", RFC 3068, June 2001
[RFC3053] Durand, A., Fasano, P., and I. Guardini. IPv6 Tunnel Broker. RFC 3053, January 2001
[RFC 3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney. "Dynamic Host
Configuration Protocol for IPv6 (DHCPv6)."RFC 3315, July 2003.
[MECH] E. Nordmark and R. E. Gilligan "Basic Transition Mechanisms for IPv6 Hosts and Routers", draftietf-v6ops-mech-v2-02, January 2004
[DSTM] Jim Bound, Laurent Toutain, Francis Dupont ..., "Dual Stack Transition Mechanism (DSTM)",
draft-ietf-ngtrans-dstm-07, Expires August 2002
[ISATAP] F. Templin, T. Gleeson ..., "Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)", draftietf-ngtrans-isatap-21, April 16, 2004
[TEREDO] C. Huitema, "Teredo: Tunneling IPv6 over UDP through NATs", draft-huitema-v6ops-teredo-01,
February 5, 2004 Work in progress
[Security Overview]P. Savola, “IPv6 Transition/Co-existence Security Considerations”, draft-savola-v6opssecurity-overview-02.txt, February 2004
[Security 6to4] C. Savola, P. Patel, “Security Considerations for 6to4”, draft-ietf-v6ops-6to4-security-02,
Mar 2004
[6to4] draft-itojun-ipv6-transition-abuse-01.txt
[Security NAT] Satomi Okazaki, “NAT-PT Security Considerations”, draft-okazaki-v6ops-natpt-security00.txt, Expires: January 2004
[IPSec NAT] Bernard Aboba , “IPsec-NAT Compatibility Requirements”, draft-aboba-nat-ipsec-04.txt, 30
May 2001
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 56 of 57
FP6 IP "SEINIT" - D3.1 Preliminary Implementation & Development Specification
[MIPv4MIPv6] P. Engelstad, "Transitional Integration of Mobile IPv4 and Mobile IPv6”, draft-engelstadngtrans-mipv4-over-mipv6-01.txt, Expires: February 9. 2002
[6to4 MIP] P. Engelstad, “IPv4 over 6to4 and 6to4 mobility”, draft-engelstad-ngtrans-6to4-v4v6-mobility00.txt, Expires: February 2002
IP Security
[SecArch] S. Kent and R. Atkinson, “Security Architecture for the Internet Protocol”, RFC2401
[IPAH] S. Kent, R. Atkinson, “IP Authentication Header”, RFC2402
[IPESP] S. Kent, R. Atkinson, “IP Encapsulating Security Payload (ESP)”, RFC2406
[DOIISAKMP] D. Piper, “The Internet IP Security Domain of Interpretation for ISAKMP”, RFC2407
[ISAKMP] D. Maughan, M. Schertler, M. Schneider, J. Turner, “Internet Security Association and Key
Management Protocol (ISAKMP)”, RFC2408
[IKE] D. Harkins, D. Carrel, “The Internet Key Exchange (IKE)”, RFC2409
[SecRM] R. Thayer, N. Doraswamy, R. Glenn, “IP Security Document Roadmap”, RFC2411
[OAKLEY] H. Orman, “The OAKLEY Key Determination Protocol”, RFC2412
[IKE2] Charlie Kaufman, Editor, “Internet Key Exchange (IKEv2) Protocol”, draft-ietf-ipsec-ikev2-13.txt,
Expires September 2004
QoS
[RFC3697] IPv6 Flow Label Specification
[NGNLAB] Deliverable D6: QoS section
IST-2002-001929-SEINIT - D3.1 v0 - 08/09/2004
Page 57 of 57
Download