The principle of open design.
This is the best known of the design principles,
and it's also the least understood.
If you look at the next slide,
open design simply says security should not depend
upon secrecy of design or implementation. That's it.
Programs the security does depend on,
this are often called security by obscurity.
It's very bad because that means
if the secret is perceived as broken,
you're wide-open, you're completely vulnerable.
Now, this applies to design or implementation.
This does not mean you should publish cryptographic keys.
So keeping small pieces of information secret is fine,
like a password or a cryptographic key.
It's when you hide the design or
the implementation that uses
those keys that things are bad.
Now, one other thing,
it's popularly believed or widely believed that
this means source code should be
made public or things should be made public.
No. All this is saying is that
your security should not depend
solely on secrecy of design or implementation.
It's perfectly fair to have that as
one of a number of characteristics.
But you need to be sure that if someone does
discover the design or the implementation,
that you're so secure.
That's all it means.
There's a wonderful story illustrating this,
involving the DVD Copyright Control Association.
If you ever looked at a DVD,
you know it's encrypted.
It's protected by what's called the Content
Scrambling System or CSS.
Now, this was secret.
Part of the reason for being secret was
because they didn't want anyone to know how it was done.
So people couldn't break it and so forth.
Here's how it works.
First of all, the disc has the layout that's shown there,
K_a hash, K_d, and so forth.
Now, when it starts up,
the first thing the player does
is it checks the authentication key to read that in.
Now, embedded in the player key,
rather embedded in the player,
is its own key.
This is unique by manufacturer.
So then if you look at the third block on,
you'll see that the K_d,
which is the disc key,
is enciphered using a large number of
player keys from the third to the one at the bottom,
next to last one.
So what the system does is it
goes to the slot that it's been assigned,
uses the player key to decipher the K_d, the disc key.
What it does then is
hash that and compare it to the hash.
In some versions, what they'll simply do is go
down all of the encrypted data keys,
find the associated disc key,
hash that and compare it to the hash.
When there's a match, they've got the right key.
You then use the K_d on the last, the very bottom,
you take that, and you use that to decrypt K_t,
which is the title key.
Then you can play your DVD.
Well, the algorithm to do this is complex.
What happened was in 1999,
a group in Norway derived an algorithm
that was completely compatible with CSS.
They did this because up until then,
you could not play DVDs on
Linux or encrypt the DVDs on Linux.
By doing this, they were able to come up with
an algorithm that would allow you to play DVDs on Linux.
The software started spreading rapidly,
and the DVD Copyright Control Association sued in
the US courts to prevent further distribution.
Basically, they wanted it not distributed within the US.
They were also suing in Norway for something similar.
In order to do this, they had to show that
the program of the code that
the Norwegian people developed,
the Norwegians developed was in fact the CSS.
So what they did was they filed
an affidavit containing the source code
to the CSS and said,
"Look, these are the same."
But their source code,
the DVD Copyright Control Association source code
was a trade secret.
They filed it with the court in Santa Clara, California.
That court at the time was experimenting with
putting pleadings and information on the web.
So it went right out on the web like everything else.
One day later, the lawyers realize that they hadn't
asked it be sealed as they should for trade secrets.
So they went to the court and asked it be sealed.
It was sealed. So no one
except the lawyers could read it.
The affidavit was pulled off the web.
But it had been up there for one day.
It had been downloaded roughly 20,000 times too.
So this was needless to say,
spread among a lot of people.
The cryptographers had a field day
because the cipher is incredibly weak.
So as a result,
there were a number of breaks to it.
Now you can find the code.
It's fairly widely distributed on the Internet.
In fact, you can even download
programs that will play encrypted DVDs.
That's a good example where
the Copyright Control Association apparently relied on
secrecy of the crypto algorithm
in order to protect their security.
Good idea, very tempting to do, very common mistake.
The problem is humans are fallible.
The lawyer slipped up.
As a result, the secrecy was gone.
You also have to be careful about aggregation,
pulling different pieces of
information together for this.
As an example, during the Gulf War,
the Associated Press was looking at
various US defense contractors sites,
and suddenly realized that there
was a lot of information on
those sites that they could use to
figure out where troops were located.
So they went out and looked at
a number of websites, and from that,
we're able to construct the location of
many US military bases in Iraq.
That information was very, very secret.
So the first thing they did was they
went to the defense contractors and said,
" Do you know we can do this."
The contractors were horrified,
and they pulled the information right off the Internet.
Then the AP published its story.
My point here is that
this information may become
available in ways you don't expect.
So don't rely on secrecy.
It can be one step,
but it can't be the only step.
On that note, let's go onto
the next video for this lesson.