Internet DRAFT - draft-chunzhe-idr-protection-md5
draft-chunzhe-idr-protection-md5
Hu Chunzhe
Huawei Technologies
Internet Draft: Deng Qiulin
Document: Huawei Technologies
draft-chunzhe-idr-protection-md5-00.txt Ni Hui
Expiration Date: February 2003 Huawei Technologies
Li Defeng
Huawei Technologies
BGP Sessions Protection via MD5 Authentication
draft-chunzhe-idr-protection-md5-00.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance
with all provisions of Section 10 of RFC2026 [RFC-2026], except
that the right to produce derivative works is not granted.
Internet-Drafts are working documents of the Internet
Engineering Task Force (IETF), its areas, and its working
groups. Note that other groups may also distribute working
documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet-
Drafts as reference material or to cite them other than as
"work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed
at http://www.ietf.org/shadow.html.
Abstract
This draft describes a BGP Extension to protect the route
information on the basis of authentication on the BGP message
between BGP speakers,In this mechanism,an addtional Capabilty
option(Authentication Code) and random number used for
authentication are added to OPEN message,and the Authentication
Capability is negotiated between BGP speakers,when they pass the
negotiation and setup the Established relationship, all the
successive message will be authenticated using MD5 algorithm,with
the Marker field in the BGP message substituted with the MD5 digest
of the combination including message body.This mechanism can guard
against that the BGP message be intercepted and tampered by the
attacker.
1.0 Introduction
The security of BGP connection is relatively not very robust,this
problem can be understood by investigating the format of BGP OPEN
message as following:
Hu & Deng & Ni BGP Sessions Protection via MD5 Authentication [Page 1]
Internet Draft draft-huawei-idr-protection-md5-00.txt August 2002
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ +
| Marker |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | Type | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+--+
| Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| My Autonomous System |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Hold Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BGP Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opt Parm Len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Optional Parameters |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
In normal situation(without any authentication),all the message
headers are composed of the 16-octets all-one Marker.
These messages are vulnerable to attack when the man-in-the-middle
intercept and capture the TCP message between two BGP peers,parse
off the all-one field and get the BGP messages,then he(she)
can destroy the Routing System through handling messages as
follows:
(1)Get the BGP route information and attack the system on the
basis of the route information in BGP update messages;
(2)Get the BGP information,and change the route information and
reput it into the TCP connection,if reput an error message such
as message with the wrong length or disordered message,then the
BGP error process procedure will disconnect the BGP connection,
which will result in a route flapping or break-off.If reput an
wrong route which will cause the route blackhole, or increase the
traffic of some routers, make them reset or even worse.
Such problems can be addressed by authentication on the
per-message basis between BGP peers utilizing MD5 Arithmetic and
increasing the Authentication Code and the relevant 16-octets
random number in Option field of message of OPEN message.The
realization procedure is as follows:
Hu & Deng & Ni BGP Sessions Protection via MD5 Authentication [Page 2]
Internet Draft draft-huawei-idr-protection-md5-00.txt August 2002
(1)In section 4.1 of rfc 1771, Optional Parameters field may
contain a list of optional parameters, where each parameter is
encoded as a <Parameter Type, Parameter Length, Parameter Value>
triplet.
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...
| Parm. Type | Parm. Length | Parameter Value (variable)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...
This paper provides Authentication Information in this parameter,
Parameter Type is defined as 1,the Parameter Value field contains
a 1-octet Authentication Code followed by a variable length
Authentication Data.
0 1 2 3 4 5 6 7 8
+-+-+-+-+-+-+-+-+
| Auth. Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Authentication Data |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2)This paper define Auth. Code as 1(can TBD) to specify the
authentication mechanism on the basis of MD5 Algorithm,and
Authentication Data field is 16-octets fixed-length random number
produced by the BGP speaker which send the OPEN message during BGP
peer establishment(BGP speaker1 in figure 1),and this 16-octets
random number is used in the succeeding authentications on the
per-message basis.
(3)BGP speaker receiving the OPEN message with Authentication
Information(BGP speaker2 in figure 1) will determine that if the
message Authentication Capability based on MD5 algorithm can be
supported,the normal KEEPALIVE message(the Marker field of the
messageis composed of 16 octets all-one) will be send to BGP
speaker1 if such Capability is supported.
(4)If the message Authentication Capability based on MD5 algorithm
can't be supported by BGP speaker2,BGP speaker1 will receive the
normal NOTIFICATION message(the Marker field of the messageis
composed of 16 octets all-one) with the Error Subcode set to
Unsupported Optional Parameter. In this case the BGP speaker1
shouldn't attempt to re-establish a BGP connection with the BGP
speaker2.
(5)In situation specified in (3),the two BGP speakers will reach
Established state,there will be some message exchanges between
them, before BGP speaker1 send the message to BGP speaker2, it will
compute the 16 octets MD5 digest of combination of such fields as
message type(OPEN,value:1),password(shared between BGP speaker1,
BGP speaker2),16 octets random Authentication Data and MSG1(the part
in the message to be sent excluding 16-octets marker):
Hu & Deng & Ni BGP Sessions Protection via MD5 Authentication [Page 3]
Internet Draft draft-huawei-idr-protection-md5-00.txt August 2002
MD5 digest1 = MD5(message type(OPEN)+ password + 16 octets
Authentication Data + MSG1 ).
then BGP speaker1 then replace the 16 octets marker with the MD5
digest1 derived above,After received the message sent by BGP
speaker1,BGP speaker2 will compute MD5 digest with the same
combination(message type(OPEN,value:1),password(shared between
BGP speaker1, BGP speaker2),16 octets random Authentication Data
and MSG2(the part in the message received excluding 16-octets
marker))
MD5 digest2 = MD5(message type(OPEN)+ password + 16 octets
Authentication Data + MSG2 ).
If the 16 octets MD5 digest2 equals the 16 octets marker in the
received message, then the message pass the authentication,
otherwise will drop the message and logging this message is
proposed for attack analysis.If the passwords of both sides are
configured differently,all the messages can't pass the
authentication all the time,BGP FSM will consider that no message
is received. Then after Hold Timer,BGP speaker will disconnect the
BGP neighbor,release the relevant resource,transition the
neighbor's state to IDLE.
In the light of MD5 Algorithm,only the condition that the password
when computing MD5 digest2 is the same as the password computing
MD5 digest1 AND the condition that MSG1 is the same as MSG2 are
both meeted,MD5 digest1 will be the same as MD5 digest2
+-+-+-+--+ OPEN message:capability negotiation +-+-+-+--+
| | and carry Authentication Word | |
| | ----------------------------------------------> | BGP |
| | KEEPALIVE message:Acknowledge the capability | |
| BGP | of message-based Authentication |speaker2|
| | <---------------------------------------------- | |
|speaker1| UPDATE/KEEPALIVE/NOTIFICATION message | |
| | with replaced message header | |
| | ---------------------------------------------->| |
| | | |
+-+-+-+--+ +-+-+-+--+
Figure 1: BGP neighbor establishment with MD5 authentication in
OPEN message.
The above procedure is stressed on one side of Authentication,where
BGP speaker2 is authentication side,and BGP speaker1 is to be
authenticated. In practical implementation,such procedure is the
same to the situation vice versa.
The primary motivation for this Authentication Option is to allow
BGP Speaker to protect itself against the introduction of spoofed
BGP messages from the peers into the connection stream.To spoof any
message between BGP speakers using the scheme described in this
paper, an attacker would not only have to guess 16 octets random
Hu & Deng & Ni BGP Sessions Protection via MD5 Authentication [Page 4]
Internet Draft draft-huawei-idr-protection-open-00.txt August 2002
numbers in Optional Parameter, but would also have had to obtain the
password included in the MD5 digest.This password never appears in
the connection stream, and the actual form of the password is up to
the configuration where password can be shown with encrypt form,that
is out of the scope of this paper.With the Marker Field replaced
with 16-octets digest1,it is difficult for the attacker to find out
what is the beginning of BGP message.
2.0 Some Implications
2.1 Message Authentication period
The procedure specified by section 1.0 is valid only during BGP FSM
state transition period after OPEN message is sent from a BGP
speaker,and if the BGP session is reset, the Authentication
procedure is invalid until another session.
2.2 Performance
The cost in calculating digests of authentication
information and 16-byte compare isn't that much,so the impact
of BGP message process efficiency is slim.So the performance of
such BGP session protection based on OPEN message is presentable.
2.3 OPEN message Header Size
The least OPEN message Header Size is 29 octets when there is no
Optional Parameter,in the situation this paper concerned, The
total Optional Parameter length is 19 octets (1 octet(Parm. Type)+
1 octet(Parm. Length)+1 octet(Auth. Code)+16 octets Authentication
Data),so the least OPEN message Header Size is 48 octets.
2.4 Password configuration
It should be noted that the Password configuration mechanism of
routers may restrict the possible passwords that may be used
between peers. It is strongly recommended that an implementation
be able to support at minimum a password composed of a string of
printable ASCII of 80 bytes or less, as this is current practice.
3.0 Security Considerations
This BGP extension mechanism provides an simple but efficient
method to protect the security of BGP route information,compared
with other methods which encrypt the whole BGP message,the impact
to the performance of route protocol will be sustainable,and in
contrast to the existing BGP security mechanism such as RFC2385,
which is from the perspective of the transport layer ,this
mechanism takes measure on the application layer and do nothing to
the transport layer.
4.0 References
[RFC1321] Rivest, R., "The MD5 Message-Digest Algorithm," RFC 1321,
April 1992.
Hu & Deng & Ni BGP Sessions Protection via MD5 Authentication [Page 5]
Internet Draft draft-huawei-idr-protection-md5-00.txt August 2002
[RFC2385] Andy Heffernan, "Protection of BGP Sessions via the TCP
MD5 Signature Option", RFC 2385, August 1998.
[RFC2842] Ravi Chandra, "Capabilities Advertisement with BGP-4",
RFC 2842, May 2000.
5.0 Author's Address
Hu Chunzhe
C401 ,HuaWei Bld. No3 Xinxi Rd.
Shang-Di Information Industry Base,
Hai-Dian District BeiJing P.R.China
Zip : 100085
Email : huchunzhe@huawei.com
Deng Qiulin
C401 ,HuaWei Bld. No.3 Xinxi Rd.
Shang-Di Information Industry Base,
Hai-Dian District BeiJing P.R.China
Zip : 100085
Email : kevin_deng@huawei.com
Ni Hui
C401 ,HuaWei Bld. No.3 Xinxi Rd.
Shang-Di Information Industry Base,
Hai-Dian District BeiJing P.R.China
Zip : 100085
Email : nihui@huawei.com
Li Defeng
D201 ,HuaWei Bld. No.3 Xinxi Rd.
Shang-Di Information Industry Base,
Hai-Dian District BeiJing P.R.China
Zip : 100085
Email : lidefeng@huawei.com
Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and
furnished to others, and derivative works that comment on or
otherwise explain it or assist in its implementation may be
prepared, copied, published and distributed, in whole or in
part, without restriction of any kind, provided that the above
copyright notice and this paragraph are included on all such
copies and derivative works. However, this document itself may
not be modified in any way, such as by removing the copyright
notice or references to the Internet Society or other Internet
organizations, except as needed for the purpose of developing
Internet standards in which case the procedures for copyrights
defined in the Internet Standards process must be followed, or
as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will
not be revoked by the Internet Society or its successors or
assigns.
Hu & Deng & Ni BGP Sessions Protection via MD5 Authentication [Page 6]