Method and system for secure form delivery

A system, for secure form delivery, may include a detector to detect a request to submit an electronic form that includes associated application data; an encryption module to respond to the request to submit the electronic form by automatically accessing an encryption key, determining destination information, and encrypting the associated application data, utilizing the encryption key; and a submit module to submit the electronic form to a destination, utilizing the destination information.

DETAILED DESCRIPTION

A method and system are described to provide secure delivery of electronic form data. In an example embodiment, an encryption key may be embedded in an electronic form. When a user fills out the electronic form in order to provide electronic form data to a forms collector, no special actions are required to be performed by the user in order to encrypt the electronic form data prior to submitting the filled out form. It will be noted, that, for the purposes of this description, the terms “form” and “electronic form” may be used interchangeably.

An electronic form may, in one example embodiment, embody a complex “application packaged as a document” that may utilize a template-based grammar where the template associated with an electronic form defines presentation, calculations and interaction rules, while the content of the electronic form comprises the application data of a user. One example of an architecture that distinguishes between an electronic form template and electronic form content is the eXtensible Markup Language (XML) Forms Architecture (XFA). XFA provides a template-based grammar and a set of processing rules that may allow the implementing of interactive electronic forms. A template-based grammar may define fields, in which a user provides data, thereby permitting the user to interact with the electronic form by supplying values and selecting options.

An electronic form may be useful for collecting information from a group of people in an organized manner. For example, a blank electronic form that does not have any associated content (an original form) may be distributed to a number of recipients with a request to fill out the form and to return the filled out form to a particular destination designated as a forms collector. A person or a process that initiates a workflow of a form, e.g., by distributing the form to one or more recipients, may be referred to as an originator. It will be noted that, in one example embodiment, the originator and the forms collector may be the same person or may be represented by the same destination. The original form may include a control, e.g., a control button, to permit a user to send the filled out form to the forms collector destination simply by pressing the control button (a so-called submit button).

In one example embodiment, the original form that is designed to be used for collecting data from a recipient may be configured to include a mechanism for encrypting the collected data, an encryption key, and a built-in instruction to trigger an automatic encryption process in response to a predetermined event. A predetermined event may be, for example, an activation of the submit button on the form by a user or a request to save the form by a user. The encryption key, in one example embodiment, may be the public key from a key pair associated with the forms collector. Because the private key from the key pair may be under exclusive control of the forms collector, any data encrypted with the public key embedded in the original form would only be accessible by the holder of the corresponding private key, the forms collector in this case.

The original form, in one example embodiment, includes a destination address associated with the forms collector. The destination address is, for example, an electronic mail (email) address or a web site designation. The destination address may be incorporated into the functionality of a submit button mentioned above. In effect, a user (e.g., a recipient of the original form) may only be required to click on the submit button in order to send the filled out form to the forms collector, while the form data is being encrypted prior to being transmitted over a network in a process that may be transparent to the user.

In some embodiments, a user may send the filled-out form to the forms collector by utilizing an email client and attaching the filled-out form to an email message. In this embodiment, the original form provided to the recipient may not include a submit button or a destination address. The automatic encryption process may be triggered by a save operation initiated by the recipient.

In one example embodiment, in order to enhance security of the form distribution process, the electronic form that is being delivered to one or more recipients may be a certified form. Certification of an electronic document typically indicates that the document has been preserved to comply with the author's intent. In an architecture that distinguishes between an electronic form template and electronic form content, a certificate (e.g., a certifying signature) may be associated with the form's template, but not necessarily with any of the form field data. For example, an originator may certify a template and distribute an associated certified electronic form, but nonetheless permit recipients to fill out the form fields with data without invalidating the certificate. An example architecture of a system for secure form delivery is illustrated inFIG. 1.

FIG. 1shows an example architecture100, within which a method and system for secure form delivery may be implemented. In the context of the architecture100an original electronic form110created by form creation logic120is distributed, utilizing distribution logic130, to a group of recipients, e.g., to recipients1through N. The original form may be certified, e.g., utilizing certification logic122, prior to the distribution, in order to provide an assurance to the recipient that the original form110has not been manipulated in a manner that is contrary to the intent of the author of the form.

A recipient, e.g., recipient1, may load the original form utilizing an appropriate user application, such as Adobe® Acrobat®. The recipient may then fill out the original form utilizing form data generation operations140. When the recipient finishes filling out the form, the recipient may initiate a submit request to return the filled out form back to the originator or to some other predetermined forms collection destination. A submit request from the recipient may automatically trigger an encryption process150. The resulting encrypted form160may then be delivered to a forms collection destination170. The data generation operations140and the encryption process150may be performed for all recipients1through N, such that a plurality of the encrypted forms160may be delivered to the forms collection destination170.

In one example embodiment, an encrypted form160may be submitted to the forms collection destination170as an encrypted attachment to an email message. An example system to utilize automatic encryption functionality is described below with reference toFIG. 2.

FIG. 2shows a block diagram illustrating an example system200. The system200may include a forms creator210, a distribution module220, a communications module230, and a forms collector240.

The forms creator210, in one example embodiment, may be configured to permit a user to generate an electronic form having automatic encryption capability. A user (e.g., an originator) may choose to add the automatic encryption capability to an electronic form utilizing an automatic encryption selector212. The distribution module220may be configured to provide an electronic form generated by the forms creator210, e.g., an electronic form in Portable Document Format (PDF), to one or more recipients. A certification selector214may be configured to certify the electronic form if the originator chooses to provide an assurance to recipients that the electronic form that they received is free from tampering. The certification selector214may be configured to certify any created electronic form automatically.

It will be noted that, in one example embodiment, the automatic encryption selector212and the certification selector214may be included as part of the forms creator210. In other embodiments, either one or both of the automatic encryption selector212and the certification selector214may be configured as modules that are separate from the forms creator210. In yet another embodiment, the functionality of either one or both of the automatic encryption selector212and the certification selector214may be incorporated in the distribution module220, such that the automatic encryption option and the certification option may be selected by the originator at distribution time.

The distribution module220may be configured to cooperate with the communications module230, which, in turn, may be configured to send an electronic form designated for distribution to a predetermined group of recipients. When a recipient returns a filled out form, the filled out form may be received and further processed by the forms collector240via the communications module230. Various operations performed by the system200, according to an example embodiment, may be described with reference toFIG. 3.

FIG. 3is a flow chart illustrating a method300to utilize automatic encryption functionality, in accordance with an example embodiment. The method300may be performed by processing logic that may comprise hardware (e.g., dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. It will be noted, that, in an example embodiment, the processing logic may reside in any of the modules shown inFIG. 2.

As shown inFIG. 3, the method300commences with the forms creator210ofFIG. 2receiving a request, at operation302, to create an electronic form. The forms creator210creates the electronic form in response to the request. The only data in the newly created electronic form, which may be termed an original form, may be default values defined in the template.

At operation304, the automatic encryption selector212may configure the original form to include automatic encryption functionality. The automatic encryption selector212may include an encryption key, e.g., a public key associated with the forms collector240ofFIG. 2, into the template definition of the original form. In one example embodiment, the template definition of the original form may include additional security data, such as, for example, a certificate associated with the author of the original form.

The automatic encryption selector212may provide a destination address with the template definition of the original form. The destination address may indicate where the electronic form is to be submitted by a recipient. The destination address may be represented, for example, by an email address of a network user or a web site destination. If the destination address is an email address of a network user, the template definition of the original form may also include a subject line and a body text for an email message that would include a submission of the filled out original form.

At operation306, the certification selector214certifies the original form. The distribution module220distributes the certified original form to at least one recipient in order to obtain the recipient's data at operation308. The recipient's data associated with the original form, e.g., by virtue of having been entered into the data fields of the original form may be termed the application data of the recipient.

The forms collector240receives the original form together with the application data of the recipient at operation310. The application data of the recipient may be encrypted utilizing the automatic encryption mechanism that has been incorporated into the original form via the automatic encryption selector212.

The example method300may be utilized advantageously, for example, in a scenario where data is being sent over the network. In the context of magazine subscriptions, for example, a person who fills out the subscription form may enter her credit card number along with other information required to subscribe. The subscription request with the credit card number that is submitted electronically via a system with automatic encryption functionality may have all user data, including the credit card number, encrypted and therefore secure from any misuse by malicious interceptors. An example system corresponding to an electronic form configured to include automatic encryption functionality is discussed below with reference toFIG. 4.

FIG. 4is a block diagram illustrating an example system400to automatically encrypt application data associated with an electronic form. The system400, in one example embodiment, comprises an event detector410and an encryptor420. The event detector410may be configured to detect an event that has been designated as an event that may trigger encryption operations applied to recipient's application data associated with the electronic form data. The encryption operations may be performed by the encryptor420. It will be noted that the system400may be hosted on a recipient's machine (e.g., associated with an application that may be used by a recipient to fill out an electronic form). In some example embodiments, the system400may reside on a system that is remote with respect to a recipient.

An event that may trigger encryption operations may be, for example, a request from a recipient to submit the filled-out original form to a forms collector. In one embodiment, the encryptor420may perform the encryption operations in response to the event detector410detecting a request from a recipient to save the filled-out form. The encryptor420may be configured to access an encryption key440that may be embedded in the original electronic form that may be represented by the system400. It will be noted that, in some example embodiments, an original form corresponding to the system400may include further embedded security information, in addition to the encryption key440. Such additional information may include, for example, information regarding the source of the original form.

The encryptor420may utilize the embedded encryption key440to encrypt the filled-out form. It will be noted that the encrypting of the filled out form may include encrypting the content of the form, e.g., encrypting the data entered into the form fields by the recipient.

The system400may further include a submit module430. The submit module430may be configured to assess a destination address450that may be embedded in the in the original form represented by the system400. The submit module430may then send the encrypted filled out form to the form collection destination170ofFIG. 1, utilizing the destination address450. The destination address450may be, in one embodiment an email address of the originator of the electronic form or an email address of an email address of an electronic mailbox to collect filled out forms from recipients. In some embodiments, where the filled out forms from recipients may be collected via a web site, the destination address450may be a designation of a web site.

After the submit module430submits the encrypted filled out form to the form collection170destination, the system400may pass the control to a notification module460. The notification module460, in one example embodiment, may be configured to notify the recipient that a secure version of the filled out form has been sent to the form collection destination170.

The system400may further include an encryption key extractor470. The encryption key extractor470may be configured to extract the encryption key440embedded in the electronic form and to save the extracted encryption key440. The saved encryption key440may then be used by the recipient to encrypt other communications to the form collection destination170. Various operations performed by the system400, according to an example embodiment, may be described with reference toFIG. 5.

FIG. 5is a flow chart illustrating an example method500to automatically encrypt application data associated with an electronic form. The method500may be performed by processing logic that may comprise hardware (e.g., dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. It will be noted, that, in an example embodiment, the processing logic may reside in any of the modules shown inFIG. 4.

As shown inFIG. 5, the method500commences with the submit module430ofFIG. 4receiving a request, at operation502, to submit an electronic form to the form collection destination170. In response to the submit request, the encryptor420accesses an encryption key embedded in the electronic form at operation504, accesses form data at operation506, and encrypts the form data utilizing the encryption key, at operation508, to generate an encrypted electronic form.

The encrypted electronic form is then submitted, at operation512, to the form collection destination170. At operation514, the notification module460may notify the recipient that an encrypted version of the electronic form has been submitted to the form collection destination170.

It will be noted that, while the operations of the method500have been described to be performed in a particular order, in some embodiments, the operations of the method500may be performed in a different order or in parallel. For example, the operations of accessing the encryption key and accessing of the form data may be performed in a reverse order or in parallel.

As mentioned above, an original form may be designed to include a control button to permit a user to submit the form to the form collection destination170by merely pressing a so-called submit button. In one example embodiment, a secure submit button may be implemented in XFA as shown below.

In one example embodiment, when a recipient clicks on a secure submit button, a so-called electronic envelope is created in a manner that is transparent to the recipient. The filled-out original form may be added as an encrypted attachment to the electronic envelope. The electronic envelope may then submitted to the form collection destination170. For the purposes of this description, the term “electronic envelope” will be understood to include a variety of techniques to communicate information over a network.

It will be noted, that a variety of security schemes may be utilized advantageously for delivering electronic documents (e.g., electronic forms). For example, an electronic form may be configured to include a mechanism, such that when a recipient fills out an electronic form and activates a submit control, a password protection may be automatically added to the form and the form be emailed to the originator. A password scheme may be defined by the originator and embedded in the electronic form.

The example computer system600includes a processor602(e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory604and a static memory606, which communicate with each other via a bus608. The computer system600may further include a video display unit610(e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system600also includes an alphanumeric input device612(e.g., a keyboard), a user interface (UI) navigation device614(e.g., a mouse), a disk drive unit616, a signal generation device618(e.g., a speaker) and a network interface device620.

The disk drive unit616includes a machine-readable medium622on which is stored one or more sets of instructions and data structures (e.g., software624) embodying or utilized by any one or more of the methodologies or functions described herein. The software624may also reside, completely or at least partially, within the main memory604and/or within the processor602during execution thereof by the computer system600, the main memory604and the processor602also constituting machine-readable media.

The software624may further be transmitted or received over a network626via the network interface device620utilizing any one of a number of well-known transfer protocols (e.g., Hyper Text Transfer Protocol (HTTP)).

The embodiments described herein may be implemented in an operating environment comprising software installed on a computer, in hardware, or in a combination of software and hardware.

Thus, a method and system for secure form delivery have been described. Although embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.