4
$\begingroup$

Security through obscurity is the reliance on the secrecy of the design or implementation as the main method of providing security for a system or component of a system.

Kerckhoffs's second principle:

  1. "It should not require secrecy, and it should not be a problem if it falls into enemy hands"

As stated here in the section "Security through obscurity":

"It helps, I think, to go back to Kerckhoffs's second principle, translated as "The system must not require secrecy and can be stolen by the enemy without causing trouble," [...]. Kerckhoffs said neither "publish everything" nor "keep everything secret"; rather, he said that the system should still be secure even if the enemy has a copy."

But isn't the practice of security through obscurity still violating Kerckhoffs's second principle per definition?

And why are people even practicing security through obscurity if it, as stated, doesn't provide more security?

$\endgroup$
7
$\begingroup$

"It should not require secrecy, and it should not be a problem if it falls into enemy hands"

Where "it" is the algorithm design itself, and not an input to it...

But isn't the practice of security through obscurity still violating Kerckhoffs's second principle per definition?

Yes. Obscurity is hardly a defense that demands prohibitive computational cost from an attacker to work around. It makes the problem inconvenient, rather than computationally intractable.

However, it should be noted that "Security through obscurity" and "Security plus obscurity" are not the same thing.

Using algorithms that would be secure even if the adversary knew all about them, but additionally declining to let the adversary know about them is not worse than using a secure algorithm by itself. It is debatable if it is any better, as there is no such thing as "more secure" if it is already "secure".

And why are people even practicing security through obscurity if it, as stated, doesn't provide more security?

Even the naive realize that secrecy is critical for cryptography to function. But:

  • They almost certainly don't have the knowledge that has been painstakingly gathered by years of failure and research (history of cryptography and modern research).
    • e.g. that security through obscurity is not sufficient
  • They may have never heard of Kerckhoff's principle
  • They probably have not heard of/do not understand linear/differential cryptanalysis/number theory/group theory and other modern analysis techniques.
  • They clearly don't understand that concentrating secrecy into a key is far more effective than keeping an entire algorithm a secret.
    • For a meatspace analogy: Your front door is not secure because attackers don't know that it is locked or what it is locked with, but because they don't have the key*.
  • They probably don't have the kind of confidence in their setup that comes about as a result of thorough research and analysis.
    • If you examine the work of a successful cryptographer, for example Daniel J Bernstein, then you will find no obscurity anywhere. All of the details of the designs and implementations are publicly available.

*Disregarding real-world details such as lock picks and lock models that are keyed alike.

$\endgroup$
  • $\begingroup$ Re. para beginning "Yes. Obscurity is hard..." Is it possible to exactly reverse engineer an unknown cipher inside a black box? shows that obscurity can indeed be intractable. $\endgroup$ – Paul Uszak Oct 18 '18 at 11:57
  • 1
    $\begingroup$ @PaulUszak Except that your "black box only" model there is completely non-applicable to the real world. For data at rest: Your black box must be available to the device securing+storing the data, so having access to the encrypted data (which is on the device) implies access to the device, which implies access to the algorithm (as it is on the device). Additionally, you would require an algorithm to generate a secret algorithm per user, and you'll quickly run out of options that aren't "AES with a secret key" (which doesn't need to be kept secret anyways and does not benefit from it). $\endgroup$ – Ella Rose Oct 18 '18 at 16:24
  • $\begingroup$ For data in transit: The situation is worse, as each participant in the communication must have a copy of the algorithm, and you cannot rely on providing each with a black box hw device (you would just use QKD if you could do that). Also, you cannot ensure that each participant will not reverse engineer the device, and also will not leak the device and/or it's workings (intentionally or non-intentionally). Also, please refrain from selectively mis-quoting me in the future. $\endgroup$ – Ella Rose Oct 18 '18 at 16:26
  • $\begingroup$ Some good and some bad points. But judging by the number of words you employed to make them, the inference is that Kerchoffs(2) can only apply with serious caveats and in limited circumstances. The other 5 axioms are clearly moot. That's kinda the sentiment of the 1st line of my answer. I see no cause for re-edits yet. $\endgroup$ – Paul Uszak Oct 18 '18 at 23:28

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.