One of the three major security objectives is confidentiality, or, keeping information secret. One can imagine that, if a system gets hacked, this is rather difficult. However, given all those nice encryption algorithms out there: how hard can it be to keep secrets in communication?

If you are a parent, you probably know it when your children lie to you. They may tell a completely sound story that gives a very plausible explanation how the dog broke your expensive vase. Nevertheless, you just know they where chasing each other through the living room and ended up knocking over the cabinet that once belonged to your grandmother including the vase that was standing on it.

Comparably, poker players always look for the “tell”. Everyone gives a lie away, whether it is by a blink of the eyes or a touch of the nose. For example, those who like watching TV series may remember the show Lie to Me that revolved around this theme. Of course, that show is fiction. Nevertheless, there still is truth in the concept, albeit a little less exciting and suspenseful.

Deduction: Your Actions Tell Your Secrets
The way you act give away more about yourself than you would imagine. For example, a schoolboy might turn red when he talks to his crush. Even when you can keep your emotions to yourself, this still holds. The bus stop you use gives a quite good indication on where you are headed, or where you are coming from.

Keeping secrets in communication suffers from the same problem: the way you act gives away what you are hiding. Imagine using a web shop. All your communication with this shop may be secured in some way, but when you are suddenly connecting to PayPal’s servers, it is still clear that you have bought something. The same goes for encrypted e-mail messages. It is still clear who is the addressee, as it still needs to be delivered.

Watch the Side-Channels!
What we are doing here is looking at the so-called side-channels. Officially, side-channel attacks refer to abusing physical implementations of cryptographic systems. For example, you may be amazed how much you can learn by looking at the power consumption or electromagnetic leaks of a credit card. However, we can extrapolate this concept to abstracting information about the main communication by looking at all signals that are sent on the side (officially, we are talking about interference).

In this interpretation, the little blink during a poker game is a little hint on the side-channel. As is a parent’s gut feeling. And, watching to which servers a computer connects is, indeed, listening to the side-channels. One could imagine how many little details may, combined, give away the complete picture, when they are perceived.

Stopping the Leakage is Not as Simple as It Seems
The catch is that it is very hard to eliminate side-channels. For example, if we look at the example concerning PayPal, we would need to connect to PayPal in every single transaction to prevent the information leakage. In the case of e-mail encryption, we would have to jump through even more hoops, e.g. we could send the message to a large amount of random addresses besides the intended receiver.

One can imagine that, to really prevent side-channels from existing, performance needs to be gravely sacrificed. Therefore, when we are concerned with internet banking or credit cards, it may be worth it, but very often, the investment seems to be way too high. The addition of numerous connections to hide the real ones is just very expensive.

Is It Really That Bad?
It depends on the situation how bad some information leakage is. Most people probably do not mind when some less trivial information is leaked. After all, when one goes out shopping, these things are also revealed. Nevertheless, attackers are creative and seem to be able to use small details to get the full picture.

We can conclude that it is very hard to keep something completely secret, because there is always a tell. Therefore, from application to application we have to decide for ourselves whether we care enough to make the investments to prevent this. And, in the end, trying to find a good side-channel attack or to use interference for the deduction of information is just a very challenging and interesting job for security experts.

3 Responses to Keeping Secrets in Communication: How Hard Can It Be?

  1. Jeroen says:

    Dear Verberkt Bsc,

    Interesting post, I’d like to contribute an example. When concerned with SQL injection it could be that on succes the page is not displayed (since for example php could not handle the output). Even now it is possible to drop the hole database since we could formulate queries that if they hold crash the output and if the don’t hold don’t contribute to the full query (and / or ‘a’=’a’). Now the trick is to enumerate tables / information in an intelligent way.

    Let me show you how this could be done in log(n) time. SQL supportes string manipulation functions so the first comparision: and (chr(system.tables.table1.name[0]) < 15).

    This small leakage makes it possible to dump the hole database with intentially just giving a way one bit of entropy.

    Of course you allready know this example from the software security glass teached by Erik Poll but it is always nice to read again.

    Kind regards,
    Jeroen

  2. Henk says:

    Dear Verberkt Bsc,

    Nice analogy.

    @Jeroen: Could you please explain to me why your method runs in log(n) time?

    Kinds regards,
    Henk

  3. Ingrid says:

    Henk,

    I think Jeroen means O( log(n) ) since the binary search algorithm he uses runs in this complexity time.

    cheerz

Leave a Reply

Your email address will not be published. Required fields are marked *