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.