CWNP CWSP – Module 05 – Dynamic Encryption Key Generation

  1. Dynamic Encryption Key Generation

So in this module, we’re going to talk a look at how we can create dynamic encryption keys that we want to use for security. So, believe it or not, we’re going to go back to Web, but talk about dynamic Web being able to create dynamic keys. And then we’re going to move forward with this idea of the RSN, the robust security network. We’ll talk about the different ways in which they exchange information through what they call an information element. I think we’ve talked about that when I mentioned things like the management frames. We’ll take a look at authentication and key management that we call AKM, which leads to kind of a hierarchy of how keys are made.

And so when we take a look at RSN, the robust security network, we’re going to talk about the RSN A, which is just adding the word associations when it comes to really the enrollee or the client getting keys from some other location. We’ll talk about how that works. We’ll look at the group handshakes, we’ll look at the peer key handshakes. That means we’re going to get into that four way handshake that I was promised to you from other parts of the course. We’ll get into a passphrase to presaged key mapping and what that means for us, and also take a look at how we deal with roaming and dynamic keys.

  1. Dynamic WEP

So far we’ve really only talked about static keys. Remember I said that was a key that was generated as a hexadecimal value. Usually you had four keys so you could try to distribute them out. But we really had no way of being able to verify who used which key. And in some cases everybody used the same key. So we had problems, right, that people could give out the keys, they could type it in for somebody else. It wasn’t set up up to work strictly with a particular system. So now what we’re going to do is look at how we can use dynamic keys. Now, dynamic keys, all right, so we’ve already said, and I don’t know how many times we’ve said it, WEP is bad, only bad because it’s old and easy to crack. And even with dynamic keys, if you’re connected for enough time, somebody could still figure out for that particular session what your key is. The good news is you unassociate, you reassociate it, you get another dynamic key. But not many of us like to keep doing that.

So it can still be cracked quickly, but less chance of social engineering, which is pretty much what we want to look at. And as I said, now we don’t have a set of static keys. Every user will have a different key. It was considered a nonstandard, often proprietary solution. And like I said, the keys are generated per session every time you make an association, not per user. So again, if you were, for whatever reason to drop your connection, maybe you go to lunch, come back, reassociate, you’d have a new key, that’s a part of what we’re trying to look at. So that’s at least the idea of dynamic web. Now, we’ve already talked about methods and we’re going to talk later about methods using different types of encryption, but exchanging or creating keys through the extensible authentication protocol. But again, the basic idea there is that we wanted to have dynamic keys.

So if we look back historically, when we think about the advantages of dynamic keys historically with the 800 and 211, I going all the way back to 2004. That amendment was ratified, talking about having stronger encryption and better authentication. And it is now a part of the 2007 standard that we’ve come up with. And hopefully we’ve talked already about the different types of encryption that we’re going to use. But the idea again is that we have to have a method of getting authentication and that’s what EEP was really good at. It let us authenticate the user and then once the user could prove their identity, then keys could be created per user through this process of a four way handshake. That’s not quite the same as what Web does, but we are going to talk about, at least I’m going to try to illustrate dynamic web for you.

So let’s take a look at that process. We start off with the laptop, the one that we often call the Supplicant. And then we have my famous drawing of an access point that we call the authenticator. And let’s take a look at it for dynamic web with having what we call the authentication server or the as. So there’s several steps that are going to go on. The first step is going to be a mutual authentication between the Supplicant and the authentication server. Now through that process, we are going to create what they call seeding material. Seeding material is what we use to help generate some randomness and dynamic aspects to the key.

Now, we’re not going to get into exactly what we do with the seating material or how that’s generated, but it is important to know that they are going to agree on as a part of that exchange of information, that they have something that we can uniquely help identify that particular user and that station and that connection based on what we do. Now, the next thing we’re going to do is we have to use that seating material to create what we call I called step two, which is a unicast key. So we’re going to have a key. And by the way, I’m really poor at drawing keys, so I make what looks like a skeleton key. So both sides should, with that seating material, be able to come up with a unicast key.

And then in step three, what we’re going to do is that that unicast key is going to be delivered as a Radius packet and so it’s going to be sent basically to the access point through Radius and then another key is going to be created step four, which is the broadcast key. You might remember that we talked about different types of keys, one for unicost, one for broadcast. So now we have a broadcast key. Maybe I’ll put a B in front of that one at that point. And again, that’s going to be randomly generated. It could be manually configured if you want to. But the broadcast key has to be sent to all the Supplicants so that they have basically already created their unicast key.

And then we use the broadcast key, which is encrypted by the fact that we had a unicast key, to be able to create that session rather nicely. And that would be kind of like step five where we’re using EEP over the land EEP ball and we’re sending actually two different key frames on that step. So the result is everybody has the broadcast key. Let me see if I can make that key look more like my skeleton key. Again, there we go. Everybody knows what that broadcast key is and the access point knows what your unicast key is because again, that was sent through Radius. And so now the Supplicant can use that unicast key to encrypt encrypt that information. And then every user can have their own unicast key, which makes it different for each one and still can share the same broadcast key.

  1. RSN

So we’re going to talk about the RSN and we want to talk a lot about the idea of a robust security network. Let’s say that that should be your goal when you’re implementing a wireless local area network. And so again, we have that definition in the 800 and 211 I for not only the robust security network, but also for the robust security network associations. What it is, is kind of a set of policies and keys that we’re going to use to be able to try to protect this particular type of network and information that are being sent back and forth. Now, regardless of how we put it together, we define these devices with radios as stations or 800 and 211 stations. So this station over here, when we get into this diagram, we’d probably call that our laptop and we use what’s called a four way handshake to help set up the way in which this works. And like I said, I’m going to take you through it here. I’m just getting some of the terms out of the way. Now one of the things, and don’t worry, we will talk about the four way handshake. One of the things is that we mandate the use of CCMP and AES encryption. That means no RC four like we did with Web. We want the best of the options. And the reason for the four way handshake is because we use it to help create what we call a pairwise transient key or PTK which is the one we use for unicast traffic.

And we also create the GroupWise transient key which is the one that we use for the broadcast. Now, when we look at this and we talk about this step by step process, what’s important to look at here is that the access points are going to send a field in the management frame to identify that it is capable of doing RSN. So now that management stuff is happening way before we ever get to the point of starting RSN, what we’re seeing basically as we communicate back and forth with management frames, is I’m going to basically make a list of what type of security I use, which ones I prefer, and the station is going to send a list of what it can do. And let’s just face it, if the station’s list has some options that don’t match the access point options at all, then there’s not even going to be an attempt to get through the authentication of the association because we’re basically going to say you’re just not compatible with the requirements of the access point.

So it is important again that you’re up to date in software. So it may be worry if you’re running Windows XP. It’s an older unsupported operating system by Windows. A lot of people are using it. They have their own software for the zero configuration wizard. But I can’t guarantee you that it would be able to support some of the current types of encryption models that we have when we are talking about a robust security network. Now there could be solutions, you could download some third party software to that machine to be able to set up the back and forth communications. But that also becomes kind of an administrative nightmare when you are talking about potentially hundreds or maybe thousands of users that are out there and whether or not you’re going to let the user set it up or how are you going to push it out. But that becomes a network operating system issue, something that we don’t want to necessarily deal with here. So when we take a look at the four way handshake and eventually we will talk about this four way handshake, it’s just kind of a nice illustration about the back and forth. What you’re going to notice is that they’re going to start sending some random values, some things that we’ll later talk about in more detail like the A nonce and the S nots plus the Michael or the Mic. And both sides are going to construct a pairwise transient key that the access point is going to keep on file for this particular station. So that’s key A, let’s say key A is stored on this machine and now another user connects and they create another key that’d be key B.

So the access point would have those unicast or PTKs for each of the clients. And of course what you’re going to see is that the access point will generate the group wise transient key and from that deliver it to everybody. So everybody would have the same GTK because the idea of a broadcast is it’s meant from for one to everybody or multicast, which is almost the same thing. Now we have seen here the example of what we call the Basic Service set where we have a single access point, don’t have any others. So we’re not into the process about how we do this over roaming. But it is possible if you were to say set up what we call an independent basic Service set, some of you call it ad hoc, that we can still have a way to be able to exchange these pairwise and GroupWise keys back and forth with each other. Again, it is an association RSNA, an association of two or more stations.

Now in the IBSS, what is different is that we don’t have really a central storage. It just kind of depends on how we’re connecting. So we actually end up with different GTKs for each connection, unlike the access point being kind of that middle person to take care of storing those and distributing them. So you’d see a lot more key combinations where each computer has their own unicast pairwise transient key that they would have to share with each of the machines that they want to talk to as well as having their own GTK that they share between each of the machines. And again, that’s in this ad hoc or IBSS type of network. Now, I want to add one more note.

We are talking about an RSN, a robust security network, but we may be faced with a legacy network that we haven’t completely transitioned. So they do have this definition of what we call a TSN or a transition security network, meaning that we’re still doing a combination of the old legacy and the new RSN. And so it defines kind of the process as we slowly try to, let’s call it upgrade everyone into the RSN. So we do have, again, in the 800 and 211 I, we have a definition of that process of going from maybe the old method, like I said, to the new method.

img