I need an answer to this asap! Thank you (ntwrk security) The use of PKC and pub
ID: 3668959 • Letter: I
Question
I need an answer to this asap! Thank you (ntwrk security) The use of PKC and public-Key certificates to distribute secret keys is a simple and secure method. Without PKC, We can also use symmetric-key encryption algorithms to distribute secret keys using a key distribution center (KDC). A KDC is a trusted organization. Each user of a KDC must first register with the KDC and establish a master key with the KDC. When Alice wants to communicate with Bob confidentially. Alice first requests her KDC to generate a session key. After receiving such a request from Alice. KDC generates a session key, encrypts it using the master key shared with Alice, and sends it back to Alice. (a) Devise a secure session key distribution protocol for a KDC. *(b) Improve your protocol in (a) so that it can resist man-in-thc-middle attacks and message replay attacks and allows Alice and Bob to authenticate each other's identity. Moreover, your protocol should cut down communication overhead as much as possible and incorporate TCP three-way handshake protocol to establish a protected connection between Alice and Bob.(c)How docs the KDC manage all the master keys? Is a secret-key ring data structure useful in this application? (d)Before using the KDC. each user must first register with the KDC. prove his identity to the KDC, and then establish a shared master key. Without using PKC. how can this be done? (e)A KDC can easily become a bottleneck when it has to handle many requests from many users in a short period of time. Design a hierarchical KDC system to heln solve this problem. (f) Analyze the pros and cons of using a KDC to distribute seeret session keys.Explanation / Answer
Let’s say we have a large number of people, processes, or systems that want to communicate with one another in a secure fashion. Let’s further add that this group of people/processes/systems is not static, meaning that the individual entities may join or leave the group at any time. • A simple-minded solution to this problem would consist of each party physically exchanging an encryption key with every one of the other parties. Subsequently, any two parties would be able to establish a secure communication link using the encryption key they possess for each other. This approach is obviously not feasible for large groups of people/processes/systems, especially when group membership is ever changing. • A more efficient alternative consists of providing every group member with a single key for securely communicate with a key distribution center (KDC). This key would be called a master key. When A wants to establish a secure communication link with B, A requests a session key from KDC for communi- 3 Computer and Network Security by Avi Kak Lecture 10 cating with B. • In implementation, this approach must address the following issues: – Assuming that A is the initiator of a session-key request to KDC, when A receives a response from KDC, how can A be sure that the sending party for the response is indeed the KDC? – Assuming that A is the initiator of a communication link with B, how does B know that some other party is not masquerading as A? – How does A know that the response received from B is indeed from B and not from someone else masquerading as B? – What should be the lifetime of the session key acquired by A for communicating with B? • The next section presents how the Needham-Schroeder protocol addresses the issues listed above. A more elaborate version of this protocol, known as the Kerberos protocol, will be presented in Section 10.3. 4 Computer and Network Security by Avi Kak Lecture 10 10.2: THE NEEDHAM-SCHROEDER KEY DISTRIBUTION PROTOCOL A party named A wants to establish a secure communication link with another party B. Both the parties A and B possess master keys KA and KB, respectively, for communicating privately with a key distribution center (KDC). [In a university setting, there is almost never a need for user-to-user secure communication links. So for folks like us in a university, all we need is a password to log into the computers. (We may think of such a password as our master key.) But consider an organization like the State Department of the U.S. Government where people may have a need for user-to-user secure communication links. Now, in addition to the master key, a user named A may request a session key for establishing a direct communication link with another user named B. This session key, specific to one particular communication link, would be valid only for a limited time duration. This is where Needham-Schroeder protocol can be useful.] Now A engages in the following protocol: • Using the key KA for encryption, user A sends a request to KDC for a session key intended specifically for communicating with user B. • The message sent by A to KDC includes A’s network address (IDA), B’s network address (IDB), and a unique session identifier. The session identifier is a nonce — short for a “number used once” — and we will denoted it N1. The primary 5 Computer and Network Security by Avi Kak Lecture 10 requirement on a nonce — a random number — is that it be unique to each request sent by A to KDC. The message sent by A to KDC can be expressed in shorthand by E(KA, [IDA, IDB , N1]) where E(., .) stands for encryption of the second-argument data block with a key that is in the first argument. • KDC responds to A with a message encrypted using the key KA. The various components of this message are – The session-key KS that A can use for communicating with B. – The original message received from A, including the nonce used by A. This is to allow A to match the response received from KDC with the request sent. Note that A may be trying to establish multiple simultaneous sessions with B. – A “packet” of information meant for A to be sent to B. This packet of information, encrypted using B’s master key KB includes, again, the session key KS, and A’s identifier IDA. (Note that A cannot look inside this packet because A does not have access to B’s master key KB. We will sometimes refer to this packet of information as a ticket that A receives for sending to B. 6 Computer and Network Security by Avi Kak Lecture 10 • The message that KDC sends back to A can be expressed as E(KA, [KS, IDA, IDB , N1, E(KB, [KS, IDA]) ]) • Using the master key KA, A decrypts the message received from KDC. Because only A and KDC have access to the master key KA, A is certain that the message received is indeed from KDC. • A keeps the session key KS and sends the packet intended for B to B. This message is sent to B unencrypted by A. But note that it was previously encrypted by KDC using B’s master key KB. Therefore, this first contact from A to B is protected from eavesdropping. • B decrypts the message received from A using the master key KB. B compares the IDA in the decrypted message with the sender identifier associated with the message received from A. By matching the two, B makes certain that no one is masquerading as A. • B now has the session key for communicating securely with A. • Using the session key KS, B sends back to A a nonce N2. A responds back with N2 + 1, using, of course, the same session key KS. This serves as a confirmation that the session key KS works 7 Computer and Network Security by Avi Kak Lecture 10 for the ongoing session — this requires that what A encrypts with KS be different from what B encrypted with KS. This part of the handshake also ensures that B knows that it did not receive a first contact from A that A is no longer interested in. An additional benefit of this step is that it provides some protection against a replay attack. [A replay attack takes different forms in different contexts. For example, in the situation here, if A was allowed to send back to B the same nonce that it received from the latter, then B could suspect that some other party C posing as A was merely “replaying” back B’s message that it had obtained by, say, eavesdropping. In another version of the replay attack, an attacker may repeatedly send an information packet to a victim hoping to elicit from the latter variations on the response that the attacker may then analyze for some vulnerability in the victim’s machine. The PTW attack on WEP that you saw in Section 9.8.3 of Lecture 9 is an example of that form of a replay attack.] The message sent by B back to A can be expressed as E(KS, [N2]) And A’s response back to B as E(KS, [N2 + 1]) • This exchange of message is shown graphically in Figure 1. A most important element of this exchange is that what the KDC sends back to A for B can only be understood by B. 8 Computer and Network Security by Avi Kak Lecture 10 KDC Party B A E( K , [ ID , ID , N1 ] ) A B Party A E( K , [K , ID ] ) B S A E( K , N2 ) S E( K , N2 + 1 ) S 1 E( K , [ K , ID , ID , N1, E( K , [ K , ID ] ) ] ) A S A B B S A 2 3 As encrypted by KDC for delivery to B 4 5 Figure 1: A pictorial depiction of the Needham-Schroder protocol. (This figure is from Lecture 10 of “Computer and Network Security” by Avi Kak) 9 Computer and Network Security by Avi Kak Lecture 10 10.2.1: Some Variations on the KDC Approach to Key Distribution • It is not practical to have a single KDC service very large networks or network of networks. • One can think of KDC’s organized hierarchically, with each local network serviced by its own KDC, and a group of networks serviced by a more global KDC, and so on. • A local KDC would distribute the session keys for secure communications between users/processes/systems in the local network. But when a user/process/system desires a secure communication link with another user/process/system in another network, the local KDC would communicate with a higher level KDC and request a session key for the desired communication link. • Such a hierarchy of KDCs simplifies the distribution of master keys. A KDC hierarchy also limits the damage caused by a faulty or subverted KDC. • Before ending this section, it is important to point out that for small networks there does exist an alternative to the KDC based 10 Computer and Network Security by Avi Kak Lecture 10 approach to session-key generation. The alternative consists of storing at every node of a network the “master” keys needed for communicating privately with each of the other N nodes in a network. Therefore, each node will store N 1 such keys. If the messages shuttling back and forth in the network are short, you may use these keys directly for encryption. However, when the messages are of arbitrary length, a node A in the network can use the master key for another node B to first set up a session key and subsequently use the session key for the actual encryption of the messages.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.