Many security articles discuss about adding an extra layer of security at the link layer by either

  1. authenticating the data at the link layer
  2. authenticating and encrypting it.

If we have encryption enabled at the application layer, what is the point of using authenticated encryption at the link layer vs only having authentication. I see the point of encryption useless at this point as it adds additional delays and adds some burden to the processor.

What is your say on this?


I can think of a few benefits of authenticated encryption at the link layer over pure authenticity:

  • Enforces confidentiality on any traffic you might have forgotten to use application-level crypto on, e.g. database connections.
  • An additional level of hardening against replay attacks (harder to select target packets)
  • Hides sensitive information in higher-level protocols, such as sequence numbers in TCP.
  • Helps hide network topology when enabled network-wide, as IP addresses are hidden.

Keep in mind that these are rather tenuous though, and application-layer encryption should be sufficient when you've got link-layer authenticity enabled.

  • Also, if you do not authenticate the far end of the encrypted channel, you are just securely talking to the attacker. – atk Sep 8 '14 at 11:33

Encryption only provides confidentiality. Authentication only can ensure integrity as it prevents illegal modification of data. Encryption + authentication offers both confidentiality and integrity.
Now the question comes why confidentiality alone is not enough or integrity alone is not enough. Encryption is usually done in various modes such as ECB, CBC, OFB, CFB etc. Each mode has some own advantages as well as limitations.
As a first step, consider ECB. This is the simplest mode. As an attacker you can easily remove some encrypted blocks and the receiver will not know this. (Although it is not so simple but just as an example). Consider the following sentence and assume each word is a block which will be encrypted in ECB mode.

I am not coming today

. If the attacker removes


" block, the receiver will receive

I am coming today

. Now consider CBC mode. In this case, cipher output of one block is used as an input in the next block. Now if you as an attacker want to remove one of those blocks although the next block will need the removed block but only few bits will be affected and the error will not propogate to the next block. This can be exploited by attackers to launch cut and paste attacks.

On the other hand, in case only authentication is applied, confidentiality cannot be ensured. Even if application layer encryption is applied, it means that only that original data packet is encrypted but not the additional header attached to that data in each successive layer. Data link layer encryption provides confidentiality for that additional information present in the headers.

  • I'm confused by your answer. The OP asked whether auth + encrypt is better than auth alone, not whether auth + encrypt is better than encrypt alone. You seem to be focusing on the authentication part, which is a given anyway as both options are authenticated. – Polynomial Sep 8 '14 at 13:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.