I am pretty new when it comes to information security. And before I move on with more specific things I wanted to ask if I understood the three main parts of IPsec correctly: authenticity, confidentiality & integrity.

My focus here lays on VPN connections and the general term of the three topics. I am going to write down what I - so far - understood and hope that you can help me by correcting wrong statements.

Maybe some facts to the background of this question. I was setting up an IPsec tunnel for test purposes and want do declare if I understood all parts correctly. So the general purpose of an IPsec (site to end / remote access) tunnel is, that e.g. a home office user is able to connect to a company network and therefore access resources that are located within this. The main focus of IPsec is to provide the three purposes of authenticity, confidentiality & integrity. But what does this mean?

Integrity: Integrity is used to make sure that nobody in between site A and B (for example) changed some parts of the shared information. Therefore a hash is calculated and added to a packet. This can be achieved by using hashing algorithms like MD5, SHA(1,2) and so on. To really make sure that no one is even able to modify the hash HMACs are used. This stands for hashed message authentication code. The main difference between a hash and a hmac is that in addition to the value that should be hashed (checksum calculated) a secret passphrase that is common to both sites is added to the calculation process. E.g. [Value that should be hashed] + [secret passhrase] -> Hashed value of this "two" inputs. Here comes my first question: Can this be compared with a "salt"? Or what exactly is the difference between a HMAC and a Hash + Salt? And what is Pepper, if a Hash + Salt equals a HMAC?

Confidentiality: Confidentiality is used to make sure that nobody in between site A and B is able to read what data or information is sent between the to sites. To achieve this encryption algorithms are used. There are two kinds of encryption algorithms, symmetric and also asymmetric ones. Symmetric algorithms allow encryption and decryption with the same key. With asymmetric algorithms you have to kinds of keys: a public one and also a private one. The public key is often available to the public while the private key is just available for "yourself" (if the mentioned keypair is yours). Everything that you encrypt with the public key can only be decrypted with the private one and vice versa. When it comes to confidentiality you often just use symmetric algorithms like DES, 3DES (both outdated) or AES. Asymmetric encryption is used to transfer a symmetric key and also to make sure that the other site is really who it seems to be (when it comes to SSL/TLS).

Authenticity: And this last sentence of the confidentiality part leads directly to the authenticity part. Authenticity is used to make sure that you really communicate with the partner you want to. To achieve these different kinds of techniques can be used, e.g. Pre-shared keys that are configured on both sites, Elliptic Curves or RSA as public/private key algorithms.

This is the part where I think that I misunderstood lots of aspects. Because I am not sure, where the exact difference between authenticity and confidentiality lays, as both seem to focus on de/encryption (except if you are using a PSK for authenticity). And I know that Diffie Hellman is used when it comes to an IPsec tunnel. As far as I know the Diffie Hellman algorithm is not an encryption algorithm, but it is used to transfer a symmetric encryption/decryption key over an unsecured network (like the internet). So is DH part of authenticity, because (e.g.) only site A and B are able to calculate and transfer a symmetric key? But how does this prove that e.g. site B is really site B and not an attacker?

Is it correct that I can compare the RSA or EC process with SSL/TLS with the exception that SSL/TLS adds digital certificates with digital signatures (HMACs) in addition?

  • The CIA triad has "Availability" as the "A". Where are you getting the "Authenticity" from? Knowing the domain of knowledge you are using will help with definitions. – schroeder Jan 12 '17 at 15:26
  • Yes, you are right - the CIA term stands for "Confidentaility, Integrity and Availability". But my question is mainly related to IPsec and not CIA. As far as I know IPsec deals (mostly) with authenticity, confidentiality & integrity to provide a secure connection between two parties. (Of course it also includes availability, as the CIA term is some kind of the "main background" when it comes to information security?) Please correct me if I am wrong with that. – m4ik Jan 12 '17 at 15:41
  • I just saw that you changed the title of this thread to focus the question what the difference between authenticity and confidentiality is. But that's just one part of this topic. In fact I want to be sure that what I wrote (everything) is correct and if not, what exactly is wrong. – m4ik Jan 12 '17 at 15:56
  • Then you might want to edit your first paragraph "the three main parts of most security backgrounds". I cannot find any reference anywhere to your version of the triad, and only see this note in wiki: en.wikipedia.org/wiki/IPsec#Encapsulating_Security_Payload And it says "origin authenticity". – schroeder Jan 12 '17 at 16:05
  • your rollback also undid all the spelling corrections and other improvements - you could have edited the title alone (which I made plural because you have a few questions) – schroeder Jan 12 '17 at 16:08

The difference between authenticity and integrity is this:

Suppose party A and B are talking to each other. Authenticity would mean that messages received by A are actually sent by B. Integrity means that on the route from B to A, the message has not changed in between.

In general, authenticity would imply integrity but integrity wouldn't imply authenticity. For example, the message may retain its integrity but it could have been sent by C instead of B.

So is DH part of authenticity, because (e.g.) only site A and B are able to caluclate and transfer a symmetric key? But how does this prove that e.g. site B is really site B and not an attacker?

DH is not part of the authentication process. In SSL/TLS you use the certificates of both parties for authentication. After you have authenticated the parties, you share a secret key for your symmetric encryption. This keys are exchanged using DH key exchange.

Keep in mind that authentication is different from authenticity. Authentication is establishing that you are talking to B while authenticity is establishing that the message actually came from B.

And a last question of mine is, is it correct that I can compare the RSA or EC process with SSL/TLS with the exception that SSL/TLS adds digital certificates with digital signatures (HMACs) in addition?

I am not sure what exactly do you mean here. RSA or eliptic curve are algorithms that are used for asymmetric encryption. SSL/TLS is a communication layer.

  • Thank you for the fast answer. First of all, sorry I didn't want to ask the difference between authenticity and integrity, I wanted to ask what the difference between authenticity and confidentiality is, as both seem to deal with en- and decryption. And yes, TLS uses certificares for authentication - but doesn't IPsec uses DH and also a PSK? Or are you able to also use certificates with IPsec to authenticate both parties? And to the last thing that you mentioned; with that I mean that RSA and EC are using a public/private key system, as well as TLS. But TLS uses digitals certs in addition...? – m4ik Jan 12 '17 at 15:34
  • Confidentiality is used to keep the data secret and authenticity is used to ensure that the message is sent by the same party. – Limit Jan 12 '17 at 15:40
  • As for DH, it comes into picture after the authentication is completed using the certificates. Keep in mind the difference between an algorithm and a protocol. That is the key to clearing your doubts – Limit Jan 12 '17 at 15:41

Looks like there are good answers here, but let me elaborate on the difference of availability versus authentication in the CIA triad. What the "A" stands for changes with context.

Authentication is used if we talk about hardware-based embedded security. When we discuss the crypto primitive functions of a secure element or a full TPM, the "A" stands for "authentication".

Availability is a cybersecurity/information-security(IS) construct. "Available" systems aim to remain available to users at all times, preventing or mitigating service disruptions due to power outages (power backup), hardware failures (redundancy), system upgrades and denial of service attacks.

Embedded security offers information to cybersecurity, which then decides how to act on that information, but any impact on availability from embedded security is, at very best, indirect. Therefore, talking about availability when discussing hardware-based functions, like IPsec, is incorrect.

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.