Show how to construct a send-constrained channel from a receive-constrained channel, and vice versa. Hint: use a trusted node connected to the given channel.
What will be an ideal response?
Let rc be a receive-constrained channel. We shall show how to construct a channel s(rc), which is send- constrained.
We use a trusted node N. When it receives a message m, it uses the receive-constrained channel to return to the sender a signed hash sig{h(m, t)}, where t is the time by N's clock.
Let c be any (possibly unconstrained) channel connecting the parties that we wish to be able to communicate. We construct s(rc) from c and N. The rules for sending and receiving on s(rc) are as follows:
```
To send m on s(rc):
send m to N
receive < t, sig{h(m, t)}> from N over rc send
To receive m on s(rc):
receive
verify currency of t and freshness of h
Discard m if verification fails, else receive m.
```
We assume that the receivers' clocks are synchronised to N's clock. The timestamp (and hence state of the sender) is deemed current if it is within a given bound of the time on the receiver's clock. To prevent replay attacks, the receiver need remember the hashes for only a limited time: older messages will have a non-current timestamp.
In a similar fashion, we can implement a receive-constrained channel from a send-constrained channel. All messages are sent (over any channel) to a trusted node, which stores them. Receivers must use a particular send-constrained channel to reach that node, which responds with the next message for them.
You might also like to view...
The Help window can provide instructions and information related to the topic that you enter into the Help input box
Indicate whether the statement is true or false
Which of the following items are required to allow an application deployed on an EC2 instance to write data to a DynamoDB table? Assume that no security keys are allowed to be stored on the EC2 instance.
A. Create an IAM Role that allows write access to the DynamoDB table. B. Add an IAM Role to a running EC2 instance. C. Create an IAM User that allows write access to the DynamoDB table. D. Add an IAM User to a running EC2 instance. E. Launch an EC2 Instance with the IAM Role included in the launch configuration.