Despite the ease of communication provided by the IP network, facsimile transmission continues to be a popular method for sending documents. A significant reason for this is a document that has been faxed can still be used as a legal document, while some forms of Internet-based communication may not. This difference allows the signing of documents by a single party by faxing the document back and forth. In many cases, a digital signature can also be used to legally sign a document.
Figure 1: Digital Signature (DS) Generation
Figure 2: Digital Signature (DS) Verification
The simultaneous signature method utilizes the Digital Signature Algorithm (DSA) to authenticate the users and ensure the document’s integrity throughout the dialog. To generate a digital signature for an image, the image is first hashed using a suitable cryptographic hash function (such as one from the SHA-2 family.) The hash is then encrypted using the private key of the user generating the digital signature. To verify the digital signature, the public key of the signer is obtained from a trusted source, such as an X.509 Certificate Authority. The digital signature is then decrypted with the signer’s public key to obtain the stored hash value. The verifier applies the same cryptographic hash function to the image and compares the two hashes. If they match, the digital signature is valid. Images and additional cryptographic material are sent to the participants using any transport protocol that will not introduce errors into the data, such as TCP/IP or T.30 fax with Error Correction Mode (ECM) enabled.
Figure 3: Document to be Signed
Figure 4: Multiple Signature Document
Figure 5 shows the simultaneous signature procedure. In this figure, DS(x) is the digital signature of x, and E(x, y) is y encrypted with the key specified by x. The originating user first sends a document along with its digital signature and an encrypted list of the parties that must sign the document to the Notary Authority. If the Notary Authority accepts the digital signature, it creates the document to be signed along with that document’s digital signature and a unique document identifier, and sends that information to all the signers (including the originating user.) This document consists of the original document with an appended section to be signed (the “signature block”), separated by a divider. This divider allows location of the signature block if the document has been printed and scanned. It must be coded to allow error correction, so that noise from the scanning of the signed image does not corrupt the divider. When a participant receives a document to be signed, they first verify the document’s digital signature. If it is valid, either an electronic signature is created for the document, or the document is printed, physically signed, and scanned. After scanning, a digital signature is generated for the signed document, which is sent along with the document and the document identifier back to the Notary Authority.
When the Notary Authority receives a signed document, it verifies the digital signature and saves the signed copy if valid. If it is known that the document has not been printed and scanned, the original content in the signed document can be hashed and compared to the original content that was sent to the user. After all signed copies of the document have been received, the signatures on each signed copy of the document are located and appended to the original document to form the completed, fully signed document. A notary public’s signature is added if desired, and then the completed document is digitally signed by the Notary Authority and made available for request. A user can then request the completed document using the document’s unique identifier, and the Notary Authority responds with the completed document and its digital signature.
Figure 5: Multiple Signature Procedure
When used with fax technologies, this solution to the multiple signature problem imposes some requirements on the T.30 protocol. All parties must support sending and receiving unlimited length faxes. Also, all parties involved must support any optional T.30 functionality used. For instance, if T.6 is used to encode the document, all signers and the central processing location must be able to receive documents with T.6 encoding. The use of error correction mode (ECM) with T.30 is required, as this will ensure that the document does not get corrupted in transit.