Blog

Routing security, part 2

Routing protocols and their weaknesses

In order to communicate on the Internet at all, we must find a way to each other. I am not talking here about the path that ensures the perception of thoughts by the other party, although this is also a demanding discipline. I mean the path that ensures the delivery of packets or messages. This is based on routing algorithms that map the Internet. Or at least its immediate surroundings. Thanks to this, it is the routing protocols that govern the Internet. But their protection is currently dismal.

Authentication and integrity protection

However, the above overview describes the principles, not the protection of the trustworthiness of the transmitted data. Therefore, the following table provides an overview of the authentication mechanisms that are used to verify the sender of this information.

ProtocolIPv4IPv6OSI LayerAuthentizationIntegrityComments and RFC
RIP v1YesNoL3N/ANoRFC 1058
RIP v2YesNoL3MD5 / plaintextMD5RFC 2453, RFC 2082
RIPngNoYesL3Optional IPSecNo without IPSecRFC 2080
OSPFv2YesNoL3MD5 / passwordMD5,HMAC-SHARFC 2328
OSPFv3YesYesL3IPsec (ESP/AH)IPSecRFC 5340
IS-ISYesYesL2/L3 (CLNS)HMACHMAC-SHARFC 1195, RFC 5304, RFC 5310
IGRPYesNoL3N/ANoCisco proprietary, replaced by EIGRP
EIGRPYesYesL3MD5 / HMAC-SHAMD5,HMAC-SHARFC 7868
EGPYesNoL3/L4NoneNoRFC 904, replaced by BGP
BGPYesYesL4 (over L3)TCP-MD5 / TCP-AOTCP MD5, TCP-AORFC 4271, RFC 2385, RFC 5925
eBGP (BGP)YesYesL4 (over L3)TCP MD5, TCP-AOTCP MD5, TCP-AORFC 4271, RFC 2385, RFC 5925, between autonomous systems
iBGP (BGP)YesYesL4 (over L3)TCP MD5, TCP-AOTCP MD5, TCP-AORFC 4271, inside one autonomous system
mBGP/MP-BGP (BGP)YesYesL4 (over L3)TCP MD5, TCP-AOTCP MD5, TCP-AORFC 4760, supported multiple AFI/SAFI (IPv4, IPv6, VPN, multicast aka MBGP)
MBGP (BGP)YesYesL4 (over L3)TCP MD5, TCP-AOTCP MD5, TCP-AOVariant of MP-BGP for multicast
HSRP v1YesNoL3PasswordNoCisco proprietary
HSRP v2YesYesL3MD5 (vendor dependent)MD5Cisco proprietary
VRRP v2YesNoL3Plaintext / IPsecNoRFC 3768
VRRP v3YesYesL3Recommended IPSecRecommended IPSecRFC 5798
GLBPYesNoL3MD5MD5Cisco proprietary

This table shows that most protocols for routing communication use the MD5 algorithm (broken in 2005), or have no protection at all. The use of HMAC-SHA, TCP-AO or IPSec is relatively rare, so it is necessary to ensure the deployment of at least basic control mechanisms at the firewall level. It is even worse with integrity control.

What authentication algorithms can we actually use?

The following paragraphs discuss individual methods of verifying authentication mechanisms and possible comments on these technologies.

No authentication

Relying on the trustworthiness of the counterparty without any evidence. No further comments are possible.

  • No protection

Plaintext

The plaintext option is the simplest possible way of protection. The password is part of the transmission and both sides must have the same password. Unfortunately, due to the transmission of the password in an open form, the password is available to any user with the ability to monitor the traffic.

  • The password can be obtained by any user with the ability to monitor the network

Password

The password method is usually (but not always) different from plaintext. Password control can take various forms and some algorithms within the password method also offer the exchange of plaintext information. In other cases, a simple form of authentication is used, where a hash of the packet content is created, supplemented with a password. A typical example is OSPFv2. In the case of authentication using the password option, the biggest problem is probably trust in outdated and broken functions. In the case of MD5, it is relatively easy to find collisions that allow falsification of routing tables. At the same time, they only provide the illusion of security. The possible use of HMAC-MD5 will make the possibility of collision detection more difficult, but will not completely eliminate it.

  • Implementation specifies the level of security (plaintext, password hash, password-keyed hash)
  • It usually used MD5
  • Possibility of using collision detection to attack routing tables

MD5

Probably the best-known and oldest method of authentication is the use of the MD5 function. Unfortunately, this is the most complex description, which varies by protocol. The original, early forms of authentication using password hashing have been overcome. This was followed by the use of the password as a key for integrity checking, and before MD5 was broken, the use of HMAC. When mentioning authentication using MD5, it is difficult to determine which method was used. Due to these inconsistencies, but mainly for security reasons, this algorithm should no longer be used at all.
Authenticator=MD5(Password)
MAC=MD5(Password||Content)

  • MD5, broken 2005
  • Possibility to use collision detection to attack routing tables
  • MAC for integrity checking does not have to be used, usually only hash

TCP-MD5, RFC 2385

MD5 was a valid protocol at the time of its creation, and the effort to standardize its use corresponds to this. The algorithm does not transmit the password, but the password is used as part of an integrity check. Although the recipient does not know whether the password is incorrect or the data content has been compromised, the information is considered corrupted and must not be used.

MAC Algorithms:
MD5 hashes specific content and password. It does not use HMAC access, but a simple MAC. The key is appended to the end of the text. This approach is considered outdated and risky.
Authenticator=MD5(Source IP||Destination IP|| zero padded protocol number|| segment length|| TCP header|| TCP segment data|| password)

  • MD5, broken 2005
  • Possibility of using collision detection to attack routing tables

TCP Authentication Option (TCP-AO), RFC 5926

The breaking of the MD5 function and the development of other hash functions, together with the standardization of AES, led to the use of significantly more secure methods. An example is the use of functions based on SHA2, or the use of AES. Unfortunately, for AES, there is a limitation given by the transition to PQC, which requires at least a 192b encryption key, while this algorithm only accepts 128b encryption keys.

Baseline AlgorithmsKey Derivation Functions (KDFs):

  • KDF_HMAC_SHA1 (deprecated)
  • KDF_AES_128_CMAC (until 2030)

MAC Algorithms:
  • HMAC-SHA-1-96 (deprecated and limited)
  • AES-128-CMAC-96 (deprecated and limited)

Extended & Vendor-Supported Algorithms:
  • HMAC-SHA-1 (deprecated)
  • HMAC-SHA-256 (until 2030)
  • HMAC-SHA-384 (current)
  • HMAC-SHA-512 (current)
  • AES-128-CMAC / AES-CMAC-128 (until 2030)

IPSec authentication

Authentication using IPSec mainly uses the use of the AH header (Authentication Header). In this case, the ability of the protocol to create a checksum of the message is used, where the key for this checksum is the password itself. That is, there is no encryption, only the ability of IPSec to delay transmission is used. Alternatively, it is possible to encrypt the entire content in order to ensure not only integrity, but also confidentiality. The advantage in this case is the use of IPSec, which provides protection and at the same time separates the individual layers from each other.

Comparison of OSPFv2 and OSPFv3

OSPF protocol version 2 came with the concept of choosing the protection of routing information transmission. The following possible settings are part of the protocol:

  • Auth Type 0 – None
  • Auth Type 1 – Simple Password
  • Auth Type 2 – Cryptographic Authentication (originally MD5)

AuthenticationRFCProtectionComments
None (null)RFC 2328NoneNo passwords used
Plaintext RFC 2328LowSent in the clear; protects only against accidental misconfiguration
Keyed-MD5RFC 2328MediumTraditional cryptographic digest. Largely deprecated in favor of SHA.
  • MD5 (obsolete)
HMAC-SHARFC 5709HighPrevents unauthorized adjacencies.
  • SHA-1 (obsolete)
  • SHA-256
  • SHA-384
  • SHA-512

The OSPFv3 routing protocol uses a similar protection control principle as OSPFv2, but uses the IPSec protocol for these purposes.

AuthenticationRFCProtectionComments
No securityRFC 5340NoneIP Header||OSPFv3 Header + Data
Authentication onlyRFC 5340Based on algorithmIP Header||AH Header (Signature)||OSPFv3 Header||Data (Visible)
Encryption + AuthenticationRFC 5340Based on algorithmIP Header||ESP Header||Encrypted OSPFv3 Header||Data||ESP Tail/Auth

BGP protocol and rPKI

A specific feature of the BGP protocol is the possibility of authentication thanks to rPKI, which is often explained as authentication based on PKI. Unfortunately, this is not true. So what is the relationship between rPKI and mutual authentication?

The own rPKI (Resource PKI, RFC 6810) is used for authentication of routing information. More precisely, it allows IP address owners to publicly declare which autonomous system (AS) is authorized to advertise their network range to the Internet using the routing protocol. The declaration of these permissions is completely different from the authentication of counterparts and has a different purpose. The goal of rPKI is to provide verification of the authorization to publish this information. The actual publication is then provided by the AS (Autonomous System) within which the specified range is used.

The own authentication of counterparts is then provided by other protocols. It occurs both at the very beginning and throughout the duration of the BGP session. The role of TCP-MD5 or TCP-AO authentication. The verification occurs when the TCP handshake (SYN, SYN-ACK, ACK) is established and then for each sent TCP segment. If a router receives a BGP packet whose MD5/AO signature does not match, the TCP layer immediately discards it and the BGP process does not know about it at all. The fact that you are talking to the correct, authorized neighbor (peer) is authenticated here.

In short, while rPKI allows you to verify that the advertised route on the Internet belongs to the correct owner, TCP-MD5 or TCP-AO ensures that the messages themselves with this routing information, transmitted in BGP, have not been forged or modified by anyone along the way. Unfortunately, in the case of TCP-MD5, this evidence is weak and the MD5 algorithm should no longer be used.

Conclusion

Routing algorithms currently do not use current protection methods. A large number of algorithms, operating without protection or with protection using plaintext passwords or MD5, do not contribute to the high trustworthiness of these basic services. Ensuring confidentiality, integrity and authenticity of data is usually weak here, which creates a lot of room for attackers. A partial solution is to consistently assign permissions using ACLs so that they at least partially limit where the router can receive information from. It is also advisable to switch to modern protocols where this is at least somewhat possible. Unfortunately, in addition to security problems, routing algorithms also have their own technological problems. The mutual influence of network architecture and protocol options can limit the options for choosing when designing the network structure.

References:

  1. RIP Version 1.
    Source: https://www.rfc-editor.org/
  2. RIP Version 2.
    Source: https://www.rfc-editor.org/
  3. RIPng for IPv6.
    Source: https://www.rfc-editor.org/
  4. OSPF Version 1.
    Source: https://www.rfc-editor.org/
  5. OSPF Version 2.
    Source: https://www.rfc-editor.org/
  6. OSPFv3 for IPv6.
    Source: https://www.rfc-editor.org/
  7. IS-IS routing protocol.
    Source: https://www.rfc-editor.org/
  8. Cisco Interior Gateway Routing Protocol (IGRP) documentation.
    Source: https://www.cisco.com/
  9. Enhanced Interior Gateway Routing Protocol (EIGRP).
    Source: https://www.cisco.com/
  10. Exterior Gateway Protocol.
    Source: https://www.rfc-editor.org/
  11. Border Gateway Protocol Version 4.
    Source: https://www.rfc-editor.org/
  12. External BGP (BGP between autonomous systems).
    Source: https://www.rfc-editor.org/
  13. Internal BGP (BGP within one autonomous system).
    Source: https://www.rfc-editor.org/
  14. Multiprotocol Extensions for BGP-4 (MP-BGP / mBGP).
    Source: https://www.rfc-editor.org/
  15. Multicast BGP (MBGP).
    Source: https://www.rfc-editor.org/
  16. Hot Standby Router Protocol Version 1 (Cisco).
    Source: https://www.cisco.com/
  17. Hot Standby Router Protocol Version 2 (Cisco).
    Source: https://www.cisco.com/
  18. Virtual Router Redundancy Protocol Version 2.
    Source: https://www.rfc-editor.org/
  19. Virtual Router Redundancy Protocol Version 3.
    Source: https://www.rfc-editor.org/
  20. Gateway Load Balancing Protocol (Cisco).
    Source: https://www.cisco.com/

Autor článku:

Jan Dušátko
Jan Dušátko

Jan Dušátko has been working with computers and computer security for almost a quarter of a century. In the field of cryptography, he has cooperated with leading experts such as Vlastimil Klíma or Tomáš Rosa. Currently he works as a security consultant, his main focus is on topics related to cryptography, security, e-mail communication and Linux systems.

1. Introductory Provisions

1.1. These General Terms and Conditions are, unless otherwise agreed in writing in the contract, an integral part of all contracts relating to training organised or provided by the trainer, Jan Dušátko, IČ 434 797 66, DIČ 7208253041, with location Pod Harfou 938/58, Praha 9 (next as a „lector“).
1.2. The contracting parties in the general terms and conditions are meant to be the trainer and the ordering party, where the ordering party may also be the mediator of the contractual relationship.
1.3. Issues that are not regulated by these terms and conditions are dealt with according to the Czech Civil Code, i.e. Act No.89/2012 Coll.
1.4. All potential disputes will be resolved according to the law of the Czech Republic.

2. Creation of a contract by signing up for a course

2.1. Application means unilateral action of the client addressed to the trainer through a data box with identification euxesuf, e-mailu with address register@cryptosession.cz or register@cryptosession.info, internet pages cryptosession.cz, cryptosession.info or contact phone +420 602 427 840.
2.2. By submitting the application, the Client agrees with these General Terms and Conditions and declares that he has become acquainted with them.
2.3. The application is deemed to have been received at the time of confirmation (within 2 working days by default) by the trainer or intermediary. This confirmation is sent to the data box or to the contact e-mail.
2.4. The standard time for registration is no later than 14 working days before the educational event, unless otherwise stated. In the case of a natural non-business person, the order must be at least 28 working days before the educational event.
2.5. More than one participant can be registered for one application.
2.6. If there are more than 10 participants from one Client, it is possible to arrange for training at the place of residence of the intermediary or the Client.
2.7. Applications are received and processed in the order in which they have been received by the Provider. The Provider immediately informs the Client of all facts. These are the filling of capacity, too low number of participants, or any other serious reason, such as a lecturer's illness or force majeure. In this case, the Client will be offered a new term or participation in another educational event. In the event that the ordering party does not agree to move or participate in another educational event offered, the provider will refund the participation fee. The lack of participants is notified to the ordering party at least 14 days before the start of the planned term.
2.8. The contract between the provider and the ordering party arises by sending a confirmation from the provider to the ordering party.
2.9. The contract may be changed or cancelled only if the legal prerequisites are met and only in writing.

3. Termination of the contract by cancellation of the application

3.1. The application may be cancelled by the ordering party via e-mail or via a data mailbox.
3.2. The customer has the right to cancel his or her application for the course 14 days before the course takes place without any fees. If the period is shorter, the subsequent change takes place. In the interval of 7-13 days, an administrative fee of 10% is charged, cancellation of participation in a shorter interval than 7 days then a fee of 25%. In case of cancellation of the application or order by the customer, the possibility of the customer's participation in an alternative period without any additional fee is offered. The right to cancel the application expires with the implementation of the ordered training.
3.3. In case of cancellation of the application by the trainer, the ordering party is entitled to a full refund for the unrealized action.
3.4. The ordering party has the right to request an alternative date or an alternative training. In such case, the ordering party will be informed about all open courses. The alternative date cannot be enforced or enforced, it depends on the current availability of the course. If the alternative training is for a lower price, the ordering party will pay the difference. If the alternative training is for a lower price, the trainer will return the difference in the training prices to the ordering party.

4. Price and payment terms

4.1. By sending the application, the ordering party accepts the contract price (hereinafter referred to as the participation fee) indicated for the course.
4.2. In case of multiple participants registered with one application, a discount is possible.
4.3. The participation fee must be paid into the bank account of the company held with the company Komerční banka č. 78-7768770207/0100, IBAN:CZ5301000000787768770207, BIC:KOMBCZPPXXX. When making the payment, a variable symbol must be provided, which is indicated on the invoice sent to the client by the trainer.
4.4. The participation fee includes the provider's costs, including the training materials. The provider is a VAT payer.
4.5. The client is obliged to pay the participation fee within 14 working days of receipt of the invoice, unless otherwise stated by a separate contract.
4.6. If the person enrolled does not attend the training and no other agreement has been made, his or her absence is considered a cancellation application at an interval of less than 7 days, i.e. the trainer is entitled to a reward of 25% of the course price. The overpayment is returned within 14 days to the sender's payment account from which the funds were sent. Payment to another account number is not possible.
4.7. An invoice will be issued by the trainer no later than 5 working days from the beginning of the training, which will be sent by e-mail or data box as agreed.

5. Training conditions

5.1. The trainer is obliged to inform the client 14 days in advance of the location and time of the training, including the start and end dates of the daily programme.
5.2. If the client is not a student of the course, he is obliged to ensure the distribution of this information to the end participants. The trainer is not responsible for failure to comply with these terms and conditions.
5.2. By default, the training takes place from 9 a.m. to 5 p.m. at a predetermined location.
5.3. The trainer can be available from 8 a.m. to 9 a.m. and then from 17 a.m. to 6 p.m. for questions from the participants, according to the current terms and conditions.
5.4. At the end of the training, the certificate of absorption is handed over to the end users.
5.5. At the end of the training, the end users evaluate the trainer's approach and are asked to comment on the evaluation of his presentation, the manner of presentation and the significance of the information provided.

6. Complaints

6.1. If the participant is grossly dissatisfied with the course, the trainer is informed of this information.
6.2. The reasons for dissatisfaction are recorded in the minutes in two copies on the same day. One is handed over to the client and one is held by the trainer.
6.3. A statement on the complaint will be submitted by e-mail within two weeks. A solution will then be agreed within one week.
6.4. The customer's dissatisfaction may be a reason for discontinuing further cooperation, or financial compensation up to the price of the training, after deduction of costs.

7. Copyright of the provided materials

7.1. The training materials provided by the trainer in the course of the training meet the characteristics of a copyrighted work in accordance with Czech Act No 121/2000 Coll.
7.2. None of the training materials or any part thereof may be further processed, reproduced, distributed or used for further presentations or training in any way without the prior written consent of the trainer.

8. Liability

8.1. The trainer does not assume responsibility for any shortcomings in the services of any third party that he uses in the training.
8.2. The trainer does not assume responsibility for injuries, damages and losses incurred by the participants in the training events or caused by the participants. Such costs, caused by the above circumstances, shall be borne exclusively by the participant in the training event.

9. Validity of the Terms

9.1 These General Terms and Conditions shall be valid and effective from 1 October 2024.

Consent to the collection and processing of personal data

According to Regulation (EU) No 2016/679 of the European Parliament and of the Council on the protection of individuals with regard to the processing of personal data and on the free movement of such data and repealing Directive 95/46/EC (General Data Protection Regulation, hereinafter referred to as "the Regulation"), the processor xxx (hereinafter referred to as "the Controller") processes personal data. Individual personal data that are part of the processing during specific activities at this web presentation and in the course of trade are also broken down.
Although the collection of data is ubiquitous, the operation of this website is based on the right to privacy of each user. For this reason, the collection of information about users takes place to the extent absolutely necessary and only if the user decides to contact the operator. We consider any further collection and processing of data unethical.

Information about the records of access to the web presentation

This website does not collect any cookies. The site does not use any analytical scripts of third parties (social networks, cloud providers). For these reasons, an option is also offered for displaying the map in the form of a link, where the primary source is OpenStreet and alternatives then the frequently used Maps of Seznam, a.s., or Google Maps of Google LLC Inc. The use of any of these sources is entirely at the discretion of the users of this site. The administrator is not responsible for the collection of data carried out by these companies, does not provide them with data about users and does not cooperate on the collection of data.
Logging of access takes place only at the system level, the reason being the identification of any technical or security problems. Other reasons are overview access statistics. No specific data is collected or monitored in this area and all access records are deleted after three months.

Information about contacting the operator of the site

The form for contacting the operator of the site (administrator) contains the following personal data: name, surname, e-mail. These data are intended only for this communication, corresponding to the address of the user and are kept for the time necessary to fulfil the purpose, up to a maximum of one year, unless the user determines otherwise.

Information about the order form

In case of an interest in the order form, the form contains more data, i.e. name, surname, e-mail and contact details for the organisation. These data are intended only for this communication, corresponding to the address of the user and are kept for one year, unless the user determines otherwise. In the event that a business relationship is concluded on the basis of this order, only the information required by Czech law on the basis of business relations (company name and address, bank account number, type of course and its price) will continue to be kept by the administrator.

Information about the course completion document

Within the course, a course completion document is issued by the processor. This document contains the following data: student's name and surname, the name and date of the course completion and the employer's name. The information is subsequently used for the creation of a linear hash tree (non-modifiable record). This database contains only information about the provided names and company names, which may or may not correspond to reality and is maintained by the processor for possible re-issuance or verification of the document's issuance.

Rights of the personal data subject

The customer or visitor of this website has the possibility to request information about the processing of personal data, the right to request access to personal data, or the right to request the correction or deletion of any data held about him. In the case of deletion, this requirement cannot be fulfilled only if it is not data strictly necessary in the course of business. The customer or visitor of this website also has the right to obtain explanations regarding the processing of his personal data if he finds out or believes that the processing is carried out in violation of the protection of his private and personal life or in violation of applicable legislation, and the right to request removal of the resulting situation and to ensure the correction.
Furthermore, the customer/visitor of this website may request restriction of processing or object to the processing of personal data and has the right to withdraw his/her consent to the processing of personal data at any time in writing, without prejudice to the lawfulness of their processing prior to such withdrawal. For this purpose, the contact e-mail address support@cryptosession.cz is used.
The customer/visitor has the right to file a complaint against the processing of personal data with the supervisory authority, which is the Office for Personal Data Protection.