Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Concept of TLS Authentication from a security point of view

    Scheduled Pinned Locked Moved OpenVPN
    4 Posts 3 Posters 948 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      geek00990
      last edited by

      I have been trying to find the answer to this, but most searches on the internet or this forum gives information about TLS errors.

      Why do we need to use TLS key in openvpn. Isnt the server / client certificate verification between the server -> client enough?

      And what would be the implications of disabling it.

      1 Reply Last reply Reply Quote 0
      • R
        reggie14
        last edited by

        I've wondered this, too. I'll be curious to see if anyone has a good explanation for this.

        As I understand it, the TLS Authentication key is used to HMAC packets send during the TLS handshake.  You really shouldn't need to do that, since the TLS handshake itself includes an integrity check over the packets sent during the handshake (this integrity check occurs towards the end of the handshake).

        But, I guess including this means that you can't even start a TLS handshake with an OpenVPN server unless you have the TLS authentication key. The only benefits that come to mind are: 1) you can knock out people trying to DoS your OpenVPN server before you start doing computationally intensive public key operations, and 2) you can block people from trying to exploit bugs/vulnerabilities that may be present in handshake code.

        For example, think about Apple's Goto Fail vulnerability in their TLS implementation.  I think the TLS authentication key would have prevented a MiTM from exploiting a vulnerability like that in a OpenVPN server or client implementation.

        1 Reply Last reply Reply Quote 0
        • C
          cmb
          last edited by

          Primarily it's for preventing DoS conditions, as it ensures the resource-heavy crypto operations are only done for clients with a valid TLS key. Explained here.
          https://community.openvpn.net/openvpn/wiki/Hardening#Useof–tls-auth

          It has another potential benefit in protecting against certain types of security vulnerabilities. The only one where that was applicable in our 11 year history was Heartbleed, but that's a big one. With TLS auth enabled, Heartbleed couldn't be exploited by anyone without a valid key.

          1 Reply Last reply Reply Quote 0
          • G
            geek00990
            last edited by

            Thanks!

            1 Reply Last reply Reply Quote 0
            • First post
              Last post
            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.