I'm not sure if "services" is the correct word. But I mean to ask, what are all the possible ways of adding security to traffic.

For instance, to prevent eavesdroppers from hearing your traffic, you can apply Confidentiality services (encryption).

Or another one, to prevent people manipulating your traffic in transit, you can apply Integrity services (hashing, hmac, mac, etc).

Here are the six I could come up with:

  • Confidentiality (via Symmetric Encryption)
  • Integrity (via Hashing/HMAC/MAC)
  • Authentication (via Certificates, or Pre-Shared-Keys)
  • Anti-Replay (via Sequence numbers, or CBC)
  • Non Repudiation (via valid Certificate Chains and Asymmetric Encryption)
  • Message Signing (although, this might fall under the previous one, since it also uses Asymmetric Encrypton)

What other security "services" (as described above) exist? Or, are these six the only possible ones?

For the sake of this question, I'm not concerned with how to implement Encryption, or Hashing, or what have you.... just what all possible methods/services exist for the purpose of securing traffic between two parties.

  • If you down-voted my question, please consider leaving a comment explaining why. I tried to be as specific as I could, and thought this was the right stack exchange for this question. – Eddie Sep 14 '15 at 23:43
  • The "what are all the possible ways" question is extremely broad. – Vilican Sep 22 '15 at 18:51
  • 1
    @Vilican Thx for the comment. It is broad, but it is within a confined limit. If I asked what are all the directions find on a compass, there are only four, north south east west. Again, I indicated I didn't care about the different methods of encryption (des, 3des, aes, etc), just 'encryption' as a category. Or, how would you rephrase that part to be less broad? – Eddie Sep 22 '15 at 19:01
  • 1
    Eddie, your example is HUGELY flawed. There aren't just four items that can answer that question. There are 65,536 ports for a reason. There are 7 different layers. Encryption can occur on several. All possible methods and services is a HUGE book. When we say it's too much for this format, it is. – Everett Sep 24 '15 at 18:35
  • 1
    What about authorization? – Everett Sep 24 '15 at 18:38

If we want to avoid being bogged down into byzantine terminology disputes, then we should classify things logically instead of exhaustively.

So let's start with what we mean by "traffic": this is a transfer of some data element between two or more parties. The "parties" are in different space-time positions (e.g. the two parties may be "you, now" and "you, next month", the traffic being then an encrypted file on your hard disk).

There are two main categories of security services at that point:

  • Confidentiality: outsiders must not learn some attributes of the data element. This category includes (at least) the following sub-categories:

    • Content confidentiality: making data unreadable for third parties that know that the message exist and are able to observe the encoding elements that convey it. This is where encryption is a useful tool. Note that data length is typically not well hidden by encryption, and can still reveal a lot.

    • Metadata: this is about countering traffic analysis and also maintaining privacy. Tor is here.

    • Existence: when the confidentiality feature that is being sought is to prevent outsiders from even noticing that a traffic is taking place, then this is called steganography.

  • Integrity: any alteration to the traffic shall be reliably detected by (at least) the parties that are supposed to receive the data. In this category, we will find the following:

    • Message authenticity: the receiver shall be able to ascertain that whatever it receives really is the genuine data. Note that this raises a question of definition: what makes some data "genuine" ? In particular, if the definition of "genuine" implies "being sent by a specific, named entity", then this category includes sender authentication. Conversely, if you take the example of some HTTPS Web server, the client is (at the SSL level) unauthenticated, but the SSL layer is still providing message authenticity with the following notion: the server does not know who it is talking to, but it knows that it was the same client all along the session.

      Message authenticity can be further sub-divided based on who can verify it. Notably, when digital signatures are used, message authenticity can be verified by a party that does not otherwise have the power to create such messages. This opens the road to third-party validation and, ultimately, may help in achieving non-repudiation (that concept is more legal than mathematical, but for the part which is still in the world of computers, digital signatures are a powerful tool).

    • Traffic flow guarantees: integrity of individual messages is not enough; "traffic" in general consists in several messages sent at different positions in space-time. A receiver should, barring any attack, receive a given set of messages in a specific order (not necessarily a complete order); relevant to that category are replay attacks, dropped messages, reordered messages...

      A sub-category includes attempts at surviving such alterations, rather than merely detecting them; this is the notion known as availability. See for instance this answer that discusses resistance of a country-sized network with regards to nuclear attacks.

The classification above is arbitrary, and other people have come up with other classifications. For instance, the "CIA triad" has been coined as "Confidentiality, Integrity and Authenticity" -- whereas my classification would put authenticity as a sub-case of integrity. Some other people have re-coined the "CIA" acronym as "Confidentiality, Integrity and Availability"; in my classification, availability is also a sub-case of integrity, albeit not the same sub-case.

Predictably enough, since some people were trying to educate crowds to the importance of the "CIA triad" (for any variant thereof), it has been one-upped, or, in that case, three-upped, into the Parkerian hexad that classifies information security into six categories: confidentiality, possession, integrity, authenticity, availability and utility.

Really down to the core, it all depends on what you call "data", "traffic" or "security".

| improve this answer | |

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.