Reference no: EM131004253
Assignment: Needham-Schroeder Protocol
The purpose of this assignment is to give you experience formalising requirements in the Z notation. The case study is a simplified version of the Needham-Schroeder protocol in which agents send each other encrypted messages, where the messages are encrypted (and decrypted) using keys supplied by a trusted server. The widely used Kerberos computer network authentication protocol is based on the Needham-Schroeder protocol.
Task description
Your task is to complete the missing declarations and predicates in the following partial Z specification of the Needham- Schroeder protocol. A template LaTeX document of this partial specification is available on the Blackboard site. A demonstration of using TeXstudio to produce LaTeX documents, and CZT to type-check Z specifications in LaTeX will be given in the first lecture slot of Week 4.
A pdf file of your completed assignment must be submitted via Blackboard by the due date.
Partial Z specification
Let the given sets
[Message, EncryptedMessage]
denote the set of all possible messages and encrypted messages, respectively. The actual way a message or encrypted message is internally structured is of no concern. Then a key can be thought of as a function that takes an element of type message and converts it into an encrypted message. Hence we can define the set of all keys by
Key == Message → EncryptedMessage
Suppose the agents and server are identified via their names, and we have the given set
[Name]
of all possible names.
The following functions allow us to extract information from messages. For a request message sent to a server, this returns the name of the agent which sent the message, and other returns the name of the agent with which it wants to communicate. For a message with a key, key returns the key, and other returns the agent that can be communicated with using that key.
this : Message → Name key : Message →› Key
other : Message → Name
dom this ∩ dom key = ∅
dom this ∪ dom key = Message
The predicate states that no message is both a request message (in the domain of this) and a key message (in the domain of key). Also, all messages are either request or key messages.
An agent is modelled as having a name, the name of the server (which is not an agent), and a table whose entries map names of other agents and the server to the key used to communicate with them.
Agent
name, serverName : Name
table : Name →
Key
name ƒ= serverName
Initially, the table contains a single key for communication between the agent and the server.
Init
Agent
. . .
An agent may request a key for communication with another agent for which it does not already have a key. This request is sent to the server via a non-encrypted message containing the agent's name and that of the other agent.
RequestKey
An agent may receive a key via an encrypted message from the server and add it to its table. This message also contains the name of the other agent with which the agent can communicate using the received key. A second encrypted message is also received from the server, decrypted and its further encrypted content is sent to the other agent.
ReceiveKeyFromServer
An agent may receive a key via an encrypted message from another agent (but encrypted with the agent's key for communication with the server) and add it to its table. The message also contains the name of the other agent with which the agent can communicate using the received key.
ReceiveKeyFromAgent
How much must the company receive each year in revenue
: HydroKlean, LLC, an environmental soil cleaning company, borrowed $3.5 million to finance start- up costs for a site reclamation project. How much must the company receive each year in revenue to earn a rate of return of 20% per year for the 5-yea..
|
Determining the amount of fed assets
: Since the beginning of the financial crisis in 2007, the amount of Fed's assets has increased from $800 billion to over $4 trillion now. The increase has been as a result of three rounds of Quantitative Easing (QE) by the Fed, which has in turn in..
|
How much could the military afford to spend on the robot
: The U.S. Navy's robotics lab at Point Loma Naval Base in San Diego is developing robots that will follow a soldier's command or operate autonomously. If one robot would prevent injury to soldiers or loss of equipment valued at $1.5 million, how mu..
|
What is the present worth of the contract
: A maker of microelectromechanical systems can reduce product recalls by 10% if it purchases new packaging equipment. If the cost of the new equip- ment is expected to be $40,000 four years from now, how much could the company afford to spend now (..
|
Complete the missing declarations
: Your task is to complete the missing declarations and predicates in the following partial Z specification of the Needham- Schroeder protocol. A template LaTeX document of this partial specification is available on the Blackboard site.
|
Calculate the partial sum of the given series
: Calculate the partial sum Sn of the series. Calculate the limit of the partial sum limn→∞Sn, then conclude about the convergence of the series.
|
Determine the activation energy and the constant
: The diffusion coefficient for Cr+3 in Cr2O3 is 6E-15 cm2/s at 727 C and is 1 E -9 cm2/s at 1400 C. Determine the activation energy and the constant Do
|
Develop a prototype of the proposed website
: Propose a website of your own interest and develop a prototype of the proposed website and proposal must give the reasoning about the design objects (i.e., HTML elements, Website structure, visual effects, interactive functions, and scripting langu..
|
What is the equivalent amount now
: The buyer can pay the total contract price of $2,100,000 two years from now (when the turbines will be needed) or an equivalent amount now. At an interest rate of 15% per year, what is the equivalent amount now?
|