Patent Publication Number: US-5633932-A

Title: Apparatus and method for preventing disclosure through user-authentication at a printing node

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS 
     One of the named inventors of the present application has filed U.S. patent applications entitled &#34;Apparatus and Method for Providing Secured Communications&#34;, application Ser. No. 08/251,486, filed May 31, 1994, now U.S. Pat. No. 5,539,828; &#34;Roving Software License for a Hardware Agent&#34;, application Ser. No. 08/303,084, filed Sep. 7, 1994now U.S. Pat. No. 5,473,692; and &#34;Method for Providing a Roving Software License in a Hardware Agent-Based System&#34;, application Ser. No. 08/472,951, filed Jun. 7, 1995, now U.S. Pat. No. 5,568,552. These applications are owned by the same assignee of the present Application. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to the field of data security. More particularity, the present invention relates to a system and method for preventing a printing node from outputting confidential information until confirmation that an authorized recipient of the confidential information is proximate to the printing node. 
     2. Description of Art Related to the Invention 
     With the continual emergence of smaller, faster and more powerful computers, many businesses are currently implementing &#34;distributed&#34; networks (e.g., local area networks and the like). These networks are advantageous in that each user has control over his or her own personal computer. Moreover, for economic reasons, multiple users can be connected to less frequently used hardware equipment such as printing nodes located in a public area accessible to all users. For the scope of this application, a &#34;printing node&#34; is defined as a stand-alone hardware device which can receive, temporarily store, and print or otherwise display data from a personal computer or any other transmission device. For example, a printing node may be represented as a printer, a printer operating in combination with a print server, a facsimile machine, a plotter, a remote monitor and the like. 
     A frequent problem experienced by distributed networks involves protecting confidential or proprietary information within documents (hereinafter referred to as &#34;sensitive&#34; documents) from being mistakenly or intentionally read by unauthorized persons. Since the printing node is positioned in a public area, upon transmission of a print job to the printing node, the sender must immediately walk or run over to the printing node to pick up the sensitive document in order to protect the confidentiality of the information contained therein. In the event that the printing node is experiencing a temporary problem (e.g., jammed, out of paper, low on toner, etc.) or is queued with other print jobs, the sender must wait at the printing node for the problem to be corrected or for the print job to be performed. 
     Alternatively, if available, the sender could return to his or her computer and cancel the print job associated with the sensitive document. But, of course, there is a risk that the document will be printed or displayed during the sender&#39;s return to his or her computer. However, if the print job is mistakenly sent to a different printing node, perhaps an off-site printing node, there are relatively few available options to protect the sensitive document from being printed or displayed and possibly read by an unauthorized individual if the sending error is detected after the print job has begun. 
     Regardless of whether print jobs may or may not be canceled, for distributed networks, persons waste valuable work time waiting around the printing nodes for sensitive documents. Such waste adversely affects the productivity of the sender and his or her company. 
     Another problem experienced by distributed networks is protecting confidential information in sensitive documents from public view when printed for another person (e.g., a co-worker) at another site. Of course, the sensitive document could be electronically mailed to the co-worker in an encrypted format. Sometimes, however, it may be undesirable to electronically send a sensitive document because of the possibility that it could be altered and/or electronically forwarded to unintended recipients. Of course, the document could be printed and mailed to the co-worker but there exist obvious disadvantages such as time delay, mail security, etc. Thus, it would also be advantageous to create a system and method which eliminates the inefficiencies associated with protecting sensitive information printed from a printing node intended for the sender or another intended recipient. 
     SUMMARY OF THE INVENTION 
     The present invention relates to a system and method for preventing a copy of a document from being output (printed, displayed, etc.) by a printing node until the printing node locally authenticates the intended recipient. The system includes a sending node, a printing node and a communication link coupling these nodes together in a network fashion. The sending node has access to a public key of the printing node and uses this public key to encrypt a header and document before transmission to the printing node over the communication link. The printing node has access to its private key to decrypt the header to ascertain whether the document is &#34;sensitive&#34; (i.e., requires recipient authentication before priority). If so, the printing node locally buffers the document until it receives authorization to output the document. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The features and advantages of the present invention will become apparent from the following detailed description of the present invention in which: 
     FIG. 1 is a simplified block diagram of a distributed, secure network system comprising a sending node and a printing node. 
     FIGS. 2a and 2b are block diagrams of a network system using different verification methods concerning the public key of the printing node and both transferring an encrypted header and document from the sending node to the printing node. 
     FIG. 3 is a flowchart illustrating the method for ensuring that a sensitive document tagged as containing confidential information will not be output until the recipient is present. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The present invention relates to an apparatus and method for preventing the printing of a sensitive document at a printing node until the intended recipient authorizes such printing to occur. Although numerous details are set forth in order to provide a thorough understanding of the present invention, it is apparent to a person of ordinary skill in the art that the present invention may be practiced through many different embodiments in addition to that embodiment illustrated without deviating from the spirit and scope of the present invention. In other instances, well-known circuits, elements and the like are not set forth in detail in order to avoid unnecessarily obscuring the present invention. 
     In the detailed description, a number of cryptography-related terms are frequently used to describe certain characteristics or qualities which is defined herein. A &#34;key&#34; is an encoding and/or decoding parameter for a conventional cryptographic algorithm. More specifically, the key is a sequential distribution (&#34;string&#34;) of binary data being &#34;n&#34; bits in length, where &#34;n&#34; is an arbitrary number. A &#34;document&#34; is generally defined as a predetermined amount of data such as one or more pages of data being transferred in a sequence of bus cycles. A &#34;digital certificate&#34; is defined as a set of any digital information cryptographically bound together through use of a private key by a widely known trusted authority (e.g., bank, governmental entity, trade association, equipment manufacturer, company security, system administration, etc.). A &#34;digital signature&#34; is a similar technique used to assure integrity of a message, using the private key of the message originator. 
     Referring to FIG. 1, a simplified version of a distributed, secure network system configured to prevent sensitive documents from being mistakenly printed is shown. The secure network system 100 includes at least one sending node 110 coupled through communication lines 120 to a printing node 130. Although not shown, more than one sending node could be coupled to the printing node 130 through shared or independent communication similar to lines 120. As secure network systems gain greater commercial acceptance, a document will generally be encrypted within the sending node 110 before it is placed on the communication line(s) 120. This will protect against an interloper gaining access to the confidential information as it is transmitted to the printing node 130. Thus, the printing node 130 preferably includes software or hardware, such as disclosed in the above cited cross-referenced applications, to decrypt the document before outputting. 
     Referring now to FIGS. 2a-2b, illustrative embodiments of the network system using an asymmetric key technique adopted by the sending and printing nodes 110 and 130 are shown. This asymmetric technique uses two separate keys (referred to as a &#34;public key&#34; and &#34;private key&#34;) for encryption and decryption purposes. To establish unidirectional communications from the sending node 110 to the printing node 130, the public key of a printing node (&#34;PUK&#34;) should be initially accessible to the sending node 110 through any one of several verification methods such as through a network-based printer-key server, through an initialization of all network nodes with relevant printer public keys as they are added to the network, or through any other conceivable method. Each of these possible methods may use one or more digital certificates issued by at least one trusted authority to obtain PUK and substantiate its authenticity of the printer node. 
     One method of obtaining and verifying PUK is shown in FIG. 2a. A trusted authority such as a printing node manufacturer 225 produces the printing node 130 having a public key (&#34;PUK&#34;) 210 and a private key (&#34;PRK&#34;) 211 within a non-volatile storage element 205 implemented within the printing node 130. In addition, the manufacturer 225 stores a printing node certificate (&#34;PNCert&#34;) 215 within the non-volatile storage element 205. The printing node certificate PNCert 215 is equivalent to at least PUK 210 encrypted with a private key (&#34;PRKM&#34;) 226 of the manufacturer 225. After verification and storage of PUK in a non-volatile storage element 235 of the sending node 110, the PNCert 215 may also be stored in the non-volatile storage element 235. Such storage is optional because PNCert 215 would not be needed again unless PUK 210 is corrupted or accidentally removed from sending node 110. 
     After connecting the printing node to a network and distributing PNCert 215 to the sending node 110 coupled to the network, the sending node 110 can use PNCert 215 to verify (i) the authenticity of the printer node&#39;s public key (&#34;PUK&#34;) at its initial distribution and (ii) the characteristics of the printing node (i.e., whether it is able to enforce recipient authentication procedures). Such verification may be accomplished by a local trusted authority 230 (e.g., a system administrator or security office of an entity owning the printing node) issuing a verification certificate (&#34;VCert&#34;) 240 being the public key of the manufacturer (&#34;PUKM&#34;) 227 encrypted with the private key of the local trusted authority (&#34;PRKLTA&#34;) 231. The public key of the local trusted authority (&#34;PUKLTA&#34;) 232 would be widely available to the users of the network. The verification certificate 240 may be decrypted to obtain PUKM 207 which can be used to obtain PUK 210 by decrypting PNCert 215. 
     Another example of a method which can obtain as well as verify PUK is shown in FIG. 2b in which the local trusted authority 230 internally certifies PUK 210 before providing it to the sending node 110. As shown, the local trusted authority 230 obtains PUK 210 from the printing node 130 by decrypting PNCert 215 using the public key of the printing node manufacturer &#34;PUKM&#34; 227. Thereafter, the local trusted authority 230 creates a locally generated verification certificate (&#34;LVCert&#34;) 245 and sends LVCert 245 to the sending node 110. Similar to PNCert of FIG. 2a, LVCert 245 may be stored in the non-volatile storage element 235 after verification of PUK 210 if desired. The sending node 110 decrypts LVCert 245 using PUKLTA 231 which is widely available. As a result, the sending node 110 obtains PUK 210 which is subsequently stored in the non-volatile storage element 235. 
     As shown in both FIGS. 2a and 2b, after the public key &#34;PUK&#34; 210 of the priority node 130 is available to the sending node 110, the sending node 110 can encrypt a document 250 under an asymmetric &#34;Rivest Shamir Adlemann&#34; (&#34;RSA&#34;) algorithm using PUK 210. This forms an encrypted document 255 to be transmitted to the printing node 130. Additionally, a header 260 for the document is encrypted using the public key &#34;PUK&#34; 210 of the targeted printing node 130 producing an encrypted header 265. As an alternative to RSA encryption of the print job, &#34;header&#34; may contain a &#34;session key&#34; that is then used by both the sender and receiver to perform the required cryptographic operations on the document. It is well-known that a &#34;header&#34; is a common technique to reduce the computational performance normally associated with public key cryptography, especially for large data sets. However, for this invention, the header 260 includes control information which allows the printing node 130 to support various functions. 
     For example, the header 260 may include control information indicating that the document is a &#34;sensitive&#34; document by selecting the document to have a certain &#34;confidentiality&#34; level thereby requiring on-site authentication of the intended recipient before printing if the confidentiality level exceeds a predetermined (or normal) level. Another example is for the header 260 to include a public key of the intended recipient of a printed copy of sensitive document. Thus, before printing the &#34;sensitive&#34; document, the printing node 130 would confirm that the recipient is present through one of a number of authentication techniques (discussed below) using the public key of the intended recipient. A further example is that the control information may include tag information such as a &#34;print only&#34; tag. This tag would allow the &#34;sensitive&#34; document 250 to be printed from the printing node 130 but would not allow the document 250 to be stored in its text format in memory. A logical extension of this &#34;print only&#34; tag is the control information including a parameter which indicates the number of times the &#34;sensitive&#34; document could be printed. 
     In a preferred embodiment, a print job being a concatenation of the encrypted header 265 and the encrypted document 255 is transferred through a public domain 270 and into the printing node 130. The printing node 130 first decrypts the encrypted header 265 using PRK 211 to ascertain whether the encrypted document 255 contains confidential information requiring the printing node 130 to refrain from at least printing the document 250 until the intended recipient is present at the printing node 130. Thus, the document 250 is temporarily stored in buffer memory (not shown) within the printing node 130 preferably, but not necessarily, in its encrypted format. Upon receiving confirmation that the intended recipient is present, the encrypted document 250 is (i) retrieved from the buffer memory, (ii) decrypted, and (iii) printed. 
     It is contemplated that there may exist conditions when the document is not retrieved or the buffer memory becomes full. In these and other related conditions, it may be necessary to &#34;flush&#34; (i.e., delete from memory) certain unretrieved documents from the buffer memory thereby freeing up memory space. This may be performed automatically through software and/or hardware or manually by a system administrator, users of the network and the like. 
     There are a number of authentication techniques to confirm that the intended recipient is present at the printing node. One technique is to await a personal identification number (&#34;PIN&#34;) of the intended recipient to be entered through a keyboard and number pad on the printing node before starting a print job of a sensitive document. In this case, the printing node may contain memory storing PINs associated with each recognized public key or the PIN may be transmitted to the printing node through the header. 
     Another technique is to enter a &#34;release code&#34; through the keyboard. The release code is job-specific being generated by the sending node at print-time and included in the header. The release code is displayed on the display monitor of the computer for a brief period of time to provide the user sufficient information to retrieve the print job. If the intended recipient is not the sending user, the sending user may communicate the release code through a telephone call, electronic mail, or any other means to the intended recipient. 
     Yet another technique is to use some type of authenticating token such as a PCMCIA identifier card or smart card which can be inserted into the printing node. Instead of requiring the printing node to maintain a record of token identifications, the public key of the token would be included in the header and transmitted to the printing node preferably in an encrypted format. Thus, the printing node would need to simply match the public key of the token to the public key previously received in the header of the print job and execute a standard challenge/response protocol with the token. Such a challenge/response protocol ensures that the token is authentic by proving the token is in possession of the private key corresponding to the header-specified public key. 
     A fourth technique is to utilize an access control technique called &#34;biometrics&#34; which uses a capturing device primarily for facility security (e.g., buildings, rooms, etc.). Biometrics involves sensing a characteristic of the user (e.g., finger print, iris, retina, etc.) to capture a single frame of data (generally referred to as &#34;data frame&#34;) or more likely multiple data frames of the characteristic and comparing the captured data frames with a previously stored master. If each of the captured data frames compare correctly to the stored master, the user is identified and authenticated. 
     Referring now to FIG. 3, a flowchart illustrating the operations of the network system are shown. First, the document must be identified as a &#34;sensitive&#34; document or a normal document depending on whether confidential and/or proprietary information is contained in the document (Step 300). If a normal document, upon transmitting the document to a printing node, the sending node creates a header including disclosure protection information such as &#34;print-only&#34; tags which restrict the document to only be printed, mitigating any chances to modify the document (Steps 305-310). Thereafter, the header and document are encrypted before being transmitted to the printing node. 
     However, if the document is &#34;sensitive&#34;, upon transmitting the document to a printing node, the sending node creates a header including information necessary to authenticate the intended recipient (public key, tokens and the like) and any information needed for additional disclosure protection (Steps 305, 315). If the authentication information is a release code, the release code must be displayed on a display monitor of the sending node to enable the intended recipient to instruct the printing node to begin printing the sensitive document (Step 320 and 325). Thereafter, the header and document are encrypted forming a print job and the print job is transmitted to the printing node (Step 330). 
     Upon receiving the print job, the printing node decrypts the header to determine whether the document is a &#34;sensitive document&#34; (Step 335 and 340). If the document is a normal document, the printing node decrypts the document (Step 355) and subsequently prints the document (Step 360). However, if a sensitive document, the printing node stores the encrypted document in an internal buffer memory (Step 345) and awaits authentication by the intended recipient that he or she is near the printing node (Step 350). Upon receiving authentication through providing a PIN, release code, an authentication token and the like, the printing node decrypts the document and thereafter prints the document (Steps 355 and 360). It is contemplated that the sensitive document may be decrypted prior to Step 345 so that once the intended recipient is identified, the sensitive document is queued for printing and printed (Step 360). 
     The invention described herein may be designed in many different methods and using many different configurations. While the present invention has been described in terms of various embodiments, other embodiments may come to mind to those skilled in the art without departing from the spirit and scope of the present invention. The invention should, therefore, be measured in terms of the claims which follows.