Digital signatures are seen as the most important development in public-key cryptography. Sun Developer Network states, "A digital signature is a string of bits that is computed from some data (the data being "signed") and the private key of an entity. The signature can be used to verify that the data came from the entity and was not modified in transit" (The Java Tutorial, n.d.). Digital signatures should have the properties of author verification, verification of the date and time of the signature, authenticate the contents at the time of the signature, as well as be verifiable by a third party in order to resolve disputes. Based on these properties, there are several requirements for a digital signature. The first of these requirements is that the signature must be a bit pattern that depends on the message being signed. The next requirement is declared in order to prevent forgery and denial. It states that the signature must use some information that is unique to the sender. The third requirement is that it must be fairly easy to generate the digital signature. Being relatively easy to recognize and verify the digital signature is another requirement. The fifth requirement states that it must be computationally infeasible to forge a digital signature, either by constructing a new message for an existing digital signature or by constructing a fraudulent digital signature for a given message. The last requirement is that it must be practical to store a copy of the digital signature. Many approaches for the implementation of digital signatures have been proposed, and they fall into the direct and arbitrated digital signature approaches (Stallings, 2003).
The direct digital signature involves only communication between the source and destination parties, and the arbitrated digital signature schemes include the use of an arbitrator. The direct digital signature is created by encrypting the entire message or a hash code of the message with the sender's private key. Further confidentiality can be provided by encrypting the message in its entirety and adding signature using either the receiver's public key or a secret key shared between the sender and receiver. One weakness in the direct signature scheme is that a sender can later deny having sent a message. Another weakness is the threat of a private key being stole and sending a message using the signature. Both weaknesses are the primary reason for the arbitrated digital signature scheme. In arbitrated scheme, a sender's message must first go through an arbiter that runs a series of tests to check the origin and content before it is sent to the receiver. Because the arbiter plays such a crucial role, the sender and receiver must have a significant amount of trust in this arbitrator. This trust in the arbiter ensures the sender that no one can forge his signature and assures the receiver that the sender cannot disown his signature (Stallings, 2003).
The issue of replay attacks is a main concern when dealing with mutual authentication when both parties are confirming the other's identity and exchanging session keys. The primary issues with mutual authentication lies in the key exchange: confidentiality and timelines. Timelines are susceptible to replay attacks that disrupt operations by presenting parties with messages that appear genuine but are not. One type of replay attack is suppress-reply attack that can occur in the Denning protocol. The Denning protocol uses a timestamps to increase security. The issue here revolves around the reliance on clocks that are synchronized throughout the network. It is stated, "...that the distributed clocks can become unsynchronized as a result of sabotage on or faults in the clocks or the synchronization mechanism" (Stallings, 2003 p. 387). Li Gong states, "...the recipient remains vulnerable to accepting the message as a current one, even after the sender has detected its clock error and resynchronized the clock, unless the postdated message has meanwhile been somehow invalidated," which is unlikely. If the clock of the sender is ahead of the receivers and the message is intercepted, the opponent can replay the message when the timestamp becomes current. This type of attack is known as suppress-replay attack.
In order to address the concern of suppress-replay attack, an improved protocol was presented. Here are the detailed steps.
1. "A initiates the authentication exchange by generating a nonce, Na, and sending that plus its identifier to B in plaintext. This nonce will be returned to A in an encrypted message that includes the session key, assuring A of its timelines.
2. B alerts the KDC that a session key is needed. Its message to the KDC includes its identifier and a nonce, Nb. This nonce will be returned to B in an encrypted message that includes the session key, assuring B of its timeliness. B's message to the KDC also includes a block encrypted with the secret key shared by B and the KDC. This block is used to instruct the KDC to issue credentials to A; the block specifies the intended recipient of the credentials, a suggested expiration time for the credentials, and the nonce received from A.
3. The KDC passes on to A B's nonce and a block encrypted with the secret key by A for subsequent authentications, as will be seen. The KDC also sends A a block encrypted with the secret key shared by A and the KDC. This block verifies that B has received A's initial message (IDB) and that this is a timely message and not a replay (Na), and it provides A with a session key (KS) and the time limit on its use (Tb).
4. A transmits the ticket to B, together with the B's nonce, the latter encrypted with the session key. The ticket provides B with the secret key that is used to decrypt EKS[Nb] to recover the nonce. The fact that B's nonce is encrypted with the session key authenticates that the message came from A and is not a replay" (Stallings, 2003 pgs. 387-388).
This protocol is not vulnerable to suppress-replay attacks due to the fact that the nonces the recipient will choose in the future are unpredictable to the sender (Gong, n.d.).
In conclusion, digital signatures are seen as the most important development in public-key cryptography and include direct and arbitrated digital signature approaches. The direct digital signature involves only communication between the source and destination parties, and the arbitrated digital signature schemes include the use of an arbitrator. Suppress-replay attacks can occur if the clock of the sender is ahead of the receivers and the message is intercepted. This allows the opponent to replay the message when the timestamp becomes current. This issue is overcome by the implementation of a protocol that uses timestamps that do not require synchronized clocks because the receiver B checks only self-generated timestamps (Stallings, 2003).
Gong, Li (n.d.). A Security Risk of Depending on Synchronized Clocks. ORA Corporation and Cornell University. Retrieved November 5, 2005, from https://portal.acm.org
Stallings, William. (2003). Cryptography and Network Security: Principles and Practices. New Jersey: Pearson Education, Inc.
The Java Tutorial (n.d.). Sun Developer Network. Retrieved November 5, 2005, from http://java.sun.com/docs/books/tutorial/index.html