Abstract:
A system and method for authenticating the source of, protecting the contents of, and ensuring the integrity of information. The information may be any digital information which can be stored in a computer file. The information is encapsulated in a computer file which also includes the biometrically verified identity of the person who packaged the information. The contents of the computer file are encrypted, and a unique message digest value is generated and stored in a secure central database. The message digest value functions as the digital signature of the encrypted information, and is used to ensure the integrity of the information.

Description:
SPECIFIC DATA RELATED TO THE INVENTION  
       [0001]     This application claims the benefit of U.S. Provisional Application No. 60/740,569 filed Nov. 29, 2005. 
     
    
     FIELD OF THE INVENTION  
       [0002]     The present invention relates to electronic commerce. More specifically, the present invention relates to a data source authentication and protection system using biometrics for openly exchanged computer files.  
       BACKGROUND OF THE INVENTION  
       [0003]     Electronic commerce has replaced a substantial portion of document exchange. In a number of applications, such document exchange has involved information that, if compromised, could create substantial adverse financial issues for the parties. One example of such exchange is the electronic transmission of property appraisals, where such appraisals are used by lending entities as the basis for authorizing funds to dispensed. If such appraisals are falsely submitted for higher than actual value of the property, the lending entity could dispense funds that are not supported by the property and the excess funds could be siphoned off illegally. This is a major issue with entities such as Housing and Urban Development Department (HUD) of the U.S. government. Accordingly, what is needed is a system and method for assuring that documents received via electronic transmission are from the actual person or entity stated in the transfer to be the originator of the document.  
       SUMMARY OF THE INVENTION  
       [0004]     The present invention is a system and method for authenticating the source of, protecting the contents of, and ensuring the integrity of information. The information may be any digital information which can be stored in a computer file. The information is encapsulated in a computer file which also includes the biometrically verified identity of the person who packaged the information. The contents of the computer file are encrypted, and a unique message digest value is generated and stored in a secure central database. The message digest value functions as the digital signature of the encrypted information, and is used to ensure the integrity of the information.  
         [0005]     The process of putting information into the computer file, providing biometrically verified identification credentials of the person packaging the information, and encrypting the contents of the computer file is called “wrapping”. The original computer file is referred to as the “Data File”. The product of the wrapping process is referred to as a “Wrapped File”. The identity of the person who wraps a file is verified using a combination of a username, a secret password and the user&#39;s biometric identifier. The present invention uses fingerprint matching technology to implement the biometric identification system.  
         [0006]     The Sender Application is used to perform the tasks of user authentication and authorization, encapsulation of information, encryption, and generation of the message digest value. The Sender Application communicates with a secure Web Service via encrypted XML messages to perform all required operations. The Sender Application includes functionality for user registration, fingerprint enrollment, license activation and other administrative tasks which can be performed by the user to create a Wrapped File from a Data File.  
         [0007]     The Receiver Application must be used to open a Wrapped File. The contents of a Wrapped File cannot be accessed without the use of the Receiver Application. The Receiver Application communicates with the secure Web Service via encrypted XML messages to perform all required operations. The Receiver Application generates the message digest value from the Wrapped File, and extracts other needed information. The Receiver Application encrypts the extracted information and sends a message to the secure Web Service to request processing. The successful processing of the request, including the processing of the message digest value, guarantees that the Wrapped File has not been altered in any way. The secure Web Service encrypts a Response Message which provides a decryption key and other required data to enable the Wrapped File to be opened and viewed or stored. The biometrically verified identity of the person who opened the Wrapped File may be optionally required.  
         [0008]     It is important to note that the present invention uses a licensing mechanism to control the wrapping and unwrapping of information. The default license is available to all activated users of the Sender and Receiver applications, and is called the Public license. A Data File which is wrapped without specifying a license uses the Public license by default. If the user of the Sender Application has another active license (not the Public license), it may be selected during the wrapping process. The user of the Receiver Application must have a license which is compatible with the one used by the Sender in order to unwrap the Wrapped File. The license processing which is performed by the web service during the wrapping Data Files and unwrapping of Wrapped Files ensures that all license rules are strictly enforced.  
         [0009]     The present invention provides multiple layers of security in all sensitive areas. The processes and procedures which have been defined for installation, registration, enrollment and activation help ensure that biometric identification credentials of users of the Sender Application cannot be falsified. These processes and procedures work together with layers of software security technology to ensure the integrity of the information being protected. The software technology used to implement the layers of protection include secure communication between the client applications and the web service, layered encryption, proprietary encryption key management, insertion of blocks of seemingly random data, information obfuscation, digital signature generation, and encryption based application security. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0010]     The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention that together with the following description serve to explain the principles of the invention.  
         [0011]      FIG. 1  illustrates the operational environment according to the present invention.  
         [0012]      FIG. 2  illustrates user registration according to the present invention.  
         [0013]      FIG. 3  illustrates user enrollment according to the present invention.  
         [0014]      FIG. 4  illustrates user activation according to the present invention.  
         [0015]      FIG. 5  illustrates license activation according to the present invention.  
         [0016]      FIG. 6  illustrates wrapping a computer file according to the present invention.  
         [0017]      FIG. 7  illustrates unwrapping a computer file according to the present invention.  
         [0018]      FIG. 8  illustrates the process of registering a user according to the present invention.  
         [0019]      FIG. 9  illustrates the process of a user logging in utilizing his/her password according to the present invention.  
         [0020]      FIG. 10  illustrates the process of installing a user according to the present invention.  
         [0021]      FIG. 11  illustrates the process of selecting a witness for a given license according to the present invention.  
         [0022]      FIG. 12  illustrates the process whereby a user logs into the system utilizing his/her user name, password and fingerprint according to the present invention.  
         [0023]      FIG. 13  illustrates the process of creating a user&#39;s fingerprint template for a given fingerprint sample according to the present invention.  
         [0024]      FIG. 14  illustrates the process of recording a user&#39;s fingerprint template according to the present invention.  
         [0025]      FIG. 15  illustrates the process of activating a user according to the present invention.  
         [0026]      FIG. 16  illustrates the process whereby the status of a given license key is ascertained according to the present invention.  
         [0027]      FIG. 17  illustrates the process of obtaining and storing particular information about a user according to the present invention.  
         [0028]      FIG. 18  illustrates the process of activating a license key according to the present invention.  
         [0029]      FIG. 19  illustrates the process of wrapping a computer file according to the present invention.  
         [0030]      FIG. 20  illustrates the process of unwrapping a wrap file according to the present invention.  
         [0031]      FIG. 21  illustrates the process whereby the user selects a specific computer file for presentation to the wrap process according to the present invention.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0032]     In a preferred environment of the present invention, the invention comprises Microsoft Windows based workstations with high speed internet connections for a Sender Application and a Receiver Application. The Sender workstations use a compatible fingerprint sensor (or other suitable biometric sensor) which captures biometric information from a user. The Receiver workstations may include a compatible fingerprint sensor (or other suitable biometric sensor), to capture the biometric information from the user, depending on business requirements. In this environment, the internet Web Service would be hosted on a Microsoft Windows Server and the central database would be hosted on a dedicated Microsoft Windows Server.  
         [0033]      FIG. 1  through  FIG. 21  illustrate the processes involved in the registration, enrollment, and activation of a user, as well as the processes involved in activating a license and wrapping a document. These processes are described in detail below. As described in the Summary above, a “user” is a person who is authorized to verify an electronic transmission, e.g., a user might be a real estate appraiser as described in the Background above. For a user to be authorized, he/she must be registered as an active Sender. Once registered, the user can then create a Data File and “wrap” the file for electronic transmission. Registration  
         [0034]     Referring to  FIG. 1 , in order to wrap a Data File  111 , the user must be an active Sender  112 , or Surrogate  115 . There are several steps involved in becoming active. Once the Sender  112  is activated then Surrogates  115  may be activated by the Sender. The first step towards becoming an active Sender  112  is the User Registration process  600 , illustrated in  FIG. 2 . The user  112  enters their personal, professional, and license information in step  1202 . The user  112  also selects their username and password for the system in step  1202 . The Sender Application  102  sends all of this registration information to the Web Service  101  in step  1204 . The Web Service  101  creates an installation key for the user in step  1206 . In step  1208 , the web service  101  validates the registration information and stores it in the central database  1210  along with the installation key and updated user status. The installation key is sent to the user  112  via email in step  1212 . If a license was entered by the user  112  its entry in the central database  1210  is updated in step  1214 . The web service  101  returns the registration status to the sender application  102  in step  1216 . A registered user may be referred to herein as a “Sender” since that entity will be recognized by the system as authorized to send electronic files.  
         [0000]     Biometric Enrollment  
         [0035]     Once a user  112  has successfully registered, their next step towards becoming an active Sender is the User Enrollment process  700  of  FIG. 3 .. To begin the User Enrollment process  700  the user  112  must first successfully login with password, step  710 . The details of step  710  are illustrated in  FIG. 9 . In step  1302 , the user  112  or  114  enters the username and password they selected during registration. The sender application  102  requests the web service  101  to verify the user  112  in step  1304 . The web service  101  reads the central database  1210  to verify that the username and password entered is valid in step  1306 . In step  1308 , the web service  101  returns the status of the user verification to the sender application  102 .  
         [0036]     After successfully logging in the next step in the User Enrollment process  700  is to install the user as a registered Sender, step  720 , which is illustrated in greater detail in  FIG. 10 . In step  1402 , the user  112  enters the installation key emailed to them by the web service  101  during registration. The installation key is sent to the web service  101  in step  1404 . In step  1406 , the web service  101  verifies the installation key matches the user&#39;s installation key stored in the central database  1210 . The web service  101  updates the user&#39;s status in the central database  1210  in step  1408  and returns the installation status to the sender application  102  in step  1410 .  
         [0037]     Senders  112 , unless registering with a license marked with ‘no registrar required’, must select a Registrar  114  to witness their fingerprint enrollment, step  730  of the Enrollment process  700  in the Select Registrar step. Users  112  that register with a license marked with ‘no registrar required’ that was pre-assigned to them do not require a Registrar  114  to witness their fingerprint enrollment in which case steps  730  and  740  are skipped. Step  730  is skipped for Surrogates  115  because the system automatically selects the Sender  112  as their fingerprint enrollment witness. The details of step  730  are illustrated in  FIG. 11 . In step  1502 , the user  112  enters the username of the Registrar  114  that will witness their fingerprint enrollment. The sender application  102  requests the web service  101  to check the Registrar  114  in step  1504 . In steps  1506  and  1508  the web service  101  reads the user&#39;s  112 ,  114  or  115  and witness&#39;s  112  or  114  license information from the central database  1210  to verify that the username selected is authorized to act as a witness for the user&#39;s enrollment. The web service  101  returns the witness status to the sender application  102  in step  1508 .  
         [0038]     Once selected, the Registrar  114  must login with password &amp; fingerprint, step  740  of the User Enrollment process  700 . The details of step  740  are illustrated in  FIG. 12 .. In step  1602  the selected Registrar  114  enters their username and password. The sender application  102  requests the web service  101  to verify the Registrar  114  in step  1604 . The web service  101  reads the central database  1210  to verify that the username and password entered is valid in step  1606 . In step  1608 , the web service  101  returns the witness status to the sender application  102 . Next, the sender application  102  requests the biometric templates of the Registrar  114  from the web service  101  in step  1610 . In step  1612  the web service  101  retrieves the Registrar  114  biometric templates from the central database  1210 . The web service  101  returns the biometric templates to the sender application  102  in step  1614 . In step  1616 , the biometric templates are loaded into the fingerprint sensor  1622 . The Registrar  114  places one of their fingers on the fingerprint sensor  1622  for verification in step  1618 . The fingerprint sensor  1622  returns the fingerprint verification results to the sender application  102  in step  1620 .  
         [0039]     The next step in the User Enrollment process  700  is to capture the user  112  fingerprints, step  750 .  FIG. 12  illustrates the details of step  750 . In step  1702 , the user  112  is prompted to place several of his/her fingers on the fingerprint sensor  1622 , one at a time, so the user  112  fingerprints could be captured by the fingerprint sensor  1622 . The fingerprint sensor  1622  sends the user&#39;s fingerprint templates to the sender application  102  in step  1704 .  
         [0040]     If a Registrar  114  is verifying this fingerprint enrollment then the Registrar  114  must login with password and fingerprint, step  760  of the User Enrollment process  700 . The details of step  760  are illustrated in  FIG. 9 , which was described previously. The Registrar  114  can approve the captured fingerprints by logging in or the Registrar  114  can reject the captured fingerprints and abort the User Enrollment process  700  by not logging in.  
         [0041]     The last step of the User Enrollment process  700  is to save the user&#39;s fingerprint templates, step  770 .  FIG. 14  illustrates the details of step  770 . In step  1802 , the sender application  102  sends the captured fingerprint templates and other enrollment information to the web service  101 . In step  1804 , the user/sender record is retrieved from the central database  1210 . The web service  101  creates an activation key for the user/Sender  112  in step  1806 . The web service  101  stores the user/sender activation key in the central database  1210  along with the captured templates and other enrollment information in step  1808 . In step  1810 , the web service  101  sends the activation key to the user/sender  112  via email. The enrollment status is returned to the sender application  102  in step  1812 .  
         [0000]     Activation  
         [0042]     The user&#39;s last step towards becoming an active Sender is the User Activation process  800 . The first step of the User Activation process  800  is for the user to login with password and fingerprint, step  810 . The details of step  810  are illustrated in  FIG. 12 , which was described previously.  
         [0043]     The last step of the User Activation process  800  is to activate the Sender, step  820 .  FIG. 15  illustrates the details of step  820 . In step  1902 , the Sender enters the activation key emailed to them by the web service  101  during the User Enrollment process  700 . The sender application  102  sends the activation key to the web service  101  in step  1904 . In step  1906 , the web service  101  verifies the activation key matches the Sender activation key stored in the central database  1210 . The web service  101  updates the Sender status in the central database  1210  in step  1908  and returns the activation status to the sender application  102  in step  1910 .  
         [0000]     Surrogate Registration  
         [0044]     The Surrogate Registration process is similar to the Sender registration process except that the witness can be the Registered Sender. Referring to  FIG. 2 , the Surrogate  115  enters their personal and professional data in step  1202 . A Surrogate  115  has no license information. The Surrogate  115  also selects their username and password for the system in step  1202 . The Sender Application  102  sends all of this registration information to the Web Service  101  in step  1204 . The Web Service  101  creates an installation key for the Surrogate  115  in step  1206 . In step  1208 , the web service  101  validates the registration information and stores it in the central database  1210  along with the installation key and updated Surrogate  115  status. The installation key is sent to the Surrogate  115  via email in step  1212 . The web service  101  returns the registration status to the sender application  102  in step  1216 .  
         [0000]     Surrogate Biometric Enrollment  
         [0045]     Once a Surrogate  115  has successfully registered, their next step towards becoming an active Surrogate  115  is the Enrollment process  710  of  FIG. 9 . To begin the Enrollment process the Surrogate  115  must first successfully login with password in step  1302 . The Surrogate  115  enters the username and password they selected during registration. The sender application  102  requests the web service  101  to verify the Surrogate  115  in step  1304 . The web service  101  reads the central database  1210  to verify that the username and password entered is valid in step  1306 . In step  1308 , the web service  101  returns the status of the Surrogate  115  verification to the sender application  102 .  
         [0046]     After successfully logging in the next step in the Enrollment process  700  is to install the Surrogate  115 , step  720 , which is illustrated in greater detail in  FIG. 10 . In step  1402 , the Surrogate  115  enters the installation key emailed to them by the web service  101  during registration. The installation key is sent to the web service  101  in step  1404 . In step  1406 , the web service  101  verifies the installation key matches the Surrogate&#39;s  115  installation key stored in the central database  1210 . The web service  101  updates the Surrogate&#39;s  115  status in the central database  1210  in step  1408  and returns the installation status to the sender application  102  in step  1410 .  
         [0047]     Step  730  of  FIG. 11  is skipped for Surrogates  115  because the system automatically selects the Sender  112  as their fingerprint enrollment witness. However, the Sender  112  must login with password &amp; fingerprint, step  740  of the Enrollment process as shown in  FIG. 12 . In step  1602  the Sender  112  enters their username and password. The sender application  102  requests the web service  101  to verify the Sender  112  in step  1604 . The web service  101  reads the central database  1210  to verify that the username and password entered is valid in step  1606 . In step  1608 , the web service  101  returns the Sender&#39;s status to the sender application  102 . Next, the sender application  102  requests the biometric templates of the Sender  112  from the web service  101  in step  1610 . In step  1612  the web service  101  retrieves the Sender&#39;s  112  biometric templates from the central database  1210 . The web service  101  returns the biometric templates to the sender application  102  in step  1614 . In step  1616 , the biometric templates are loaded into the fingerprint sensor  1622 . The Sender  112  places one of their fingers on the fingerprint sensor  1622  for verification in step  1618 . The fingerprint sensor  1622  returns the fingerprint verification results to the sender application  102  in step  1620 .  
         [0048]     The next step in the Enrollment process is to capture the Surrogate  115  fingerprints, step  750 ,  FIG. 13 . In step  1702 , the Surrogate  115  is prompted to place several of his/her fingers on the fingerprint sensor  1622 , one at a time, so the Surrogate&#39;s fingerprints can be captured by the fingerprint sensor  1622 . The fingerprint sensor  1622  sends the Surrogate&#39;s fingerprint templates to the sender application  102  in step  1704 .  
         [0049]     The last step of the Enrollment process  700  is to save the Surrogate&#39;s fingerprint templates, step  770 , illustrated in  FIG. 14 . In step  1802 , the sender application  102  sends the captured fingerprint templates and other enrollment information to the web service  101 . In step  1804 , the Surrogate  115  record is retrieved from the central database  1210 . The web service  101  creates an activation key for the Surrogate  115  in step  1806 . The web service  101  stores the Surrogate&#39;s activation key in the central database  1210  along with the captured templates and other enrollment information in step  1808 . In step  1810 , the web service  101  sends the activation key to the Surrogate  115  via email. The enrollment status is returned to the sender application  102  in step  1812 .  
         [0000]     Surrogate Activation  
         [0050]     The Surrogate&#39;s last step towards becoming active is the Activation process  800 . The first step of the Activation process  800  is for the Surrogate  115  to login with password and fingerprint, step  810  as described above and shown in  FIG. 12 . The last step of the Activation process  800  is to activate the Surrogate  115 , step  820  shown in  FIG. 15 . In step  1902 , the Surrogate  115  enters the activation key emailed to them by the web service  101  during the Enrollment process  700 . The sender application  102  sends the activation key to the web service  101  in step  1904 . In step  1906 , the web service  101  verifies the activation key matches the Surrogate&#39;s activation key stored in the central database  1210 . The web service  101  updates the Surrogate  115  status in the central database  1210  in step  1908  and returns the activation status to the sender application  102  in step  1910 .  
         [0000]     Registrar Registration  
         [0051]     The Registrar Registration process may be the same as for a user/sender and is therefore essentially the same as shown in  FIG. 2 . The Registrar  114  enters their personal, professional, and license information in step  1202 . The Registrar  114  also selects their username and password for the system in step  1202 . The Sender Application  102  sends all of this registration information to the Web Service  101  in step  1204 . The Web Service  101  creates an installation key for the Registrar  114  in step  1206 . In step  1208 , the web service  101  validates the registration information and stores it in the central database  1210  along with the installation key and updated Registrar  114  status. The installation key is sent to the Registrar  114  via email in step  1212 . If a license was entered by the Registrar  114  its entry in the central database  1210  is updated in step  1214 . The web service  101  returns the registration status to the sender application  102  in step  1216 .  
         [0000]     Registrar Biometric Enrollment  
         [0052]     Once a Registrar  114  has successfully registered, their next step towards becoming an active Registrar  114  is the Enrollment process  700  of  FIG. 10 . To begin the Enrollment process the Registrar  114  must first successfully login with password using the procedure set forth in  FIG. 9 . In step  1302 , the Registrar  114  enters the username and password they selected during registration. The sender application  102  requests the web service  101  to verify the Registrar  114  in step  1304 . The web service  101  reads the central database  1210  to verify that the username and password entered is valid in step  1306 . In step  1308 , the web service  101  returns the status of the user verification to the sender application  102 .  
         [0053]     After successfully logging in the next step in the Enrollment process is to install the Registrar  114 , step  720 , as detailed in  FIG. 10 . In step  1402 , the Registrar  114  enters the installation key emailed to them by the web service  101  during registration. The installation key is sent to the web service  101  in step  1404 . In step  1406 , the web service  101  verifies the installation key matches the Registrar&#39;s  114  installation key stored in the central database  1210 . The web service  101  updates the Registrar&#39;s  114  status in the central database  1210  in step  1408  and returns the installation status to the sender application  102  in step  1410 .  
         [0054]     The Registrar  114 , unless registering with a license marked with ‘no registrar required’, must select another Registrar  114  to witness their fingerprint enrollment, step  730  of the Enrollment process  700  in the Select Registrar step. Registrars  114  that register with a license marked with ‘no registrar required’ that was pre-assigned to them do not require a Registrar  114  to witness their fingerprint enrollment in which case steps  730  and  740  are skipped. If a witness is required, the process proceeds as set forth in  FIG. 11 . In step  1502 , the Registrar  114  enters the username of the other Registrar  114  that will witness their fingerprint enrollment. The sender application  102  requests the web service  101  to check the Registrar  114  in step  1504 . In steps  1506  and  1508  the web service  101  reads the Registrar&#39;s  114  and witnessing Registrar&#39;s  114  license information from the central database  1210  to verify that the username selected is authorized to act as a witness for the Registrar&#39;s  114  enrollment. The web service  101  returns the witness status to the sender application  102  in step  1508 .  
         [0055]     Once selected, the witnessing Registrar  114  must login with password &amp; fingerprint, step  740  of the Enrollment process as detailed in  FIG. 12 . In step  1602  the selected witnessing Registrar  114  enters their username and password. The sender application  102  requests the web service  101  to verify the witnessing Registrar  114  in step  1604 . The web service  101  reads the central database  1210  to verify that the username and password entered is valid in step  1606 . In step  1608 , the web service  101  returns the witness status to the sender application  102 . Next, the sender application  102  requests the biometric templates of the witnessing Registrar  114  from the web service  101  in step  1610 . In step  1612  the web service  101  retrieves the witnessing Registrar&#39;s  114  biometric templates from the central database  1210 . The web service  101  returns the biometric templates to the sender application  102  in step  1614 . In step  1616 , the biometric templates are loaded into the fingerprint sensor  1622 . The witnessing Registrar  114  places one of their fingers on the fingerprint sensor  1622  for verification in step  1618 . The fingerprint sensor  1622  returns the fingerprint verification results to the sender application  102  in step  1620 .  
         [0056]     The next step in the Enrollment process  700  is to capture the enrolling Registrar&#39;s  114  fingerprints, step  750 ,  FIG. 13 . In step  1702 , the enrolling Registrar  114  is prompted to place several of his/her fingers on the fingerprint sensor  1622 , one at a time, so the enrolling Registrar&#39;s  114  fingerprints could be captured by the fingerprint sensor  1622 . The fingerprint sensor  1622  sends the enrolling Registrar&#39;s  114  fingerprint templates to the sender application  102  in step  1704 .  
         [0057]     If a Registrar  114  is verifying this fingerprint enrollment then the witnessing Registrar  114  must login with password &amp; fingerprint, step  760  of the Enrollment process,  FIG. 12 . The witnessing Registrar  114  can approve the captured fingerprints by logging in or the witnessing Registrar  114  can reject the captured fingerprints and abort the Enrollment process  700  by not logging in.  
         [0058]     The last step of the Enrollment process  700  is to save the enrolling Registrar&#39;s  114  fingerprint templates, step  770 ,  FIG. 14 . In step  1802 , the sender application  102  sends the captured fingerprint templates and other enrollment information to the web service  101 . In step  1804 , the enrolling Registrar&#39;s  114  record is retrieved from the central database  1210 . The web service  101  creates an activation key for the enrolling Registrar  114  in step  1806 . The web service  101  stores the enrolling Registrar&#39;s  114  activation key in the central database  1210  along with the captured templates and other enrollment information in step  1808 . In step  1810 , the web service  101  sends the activation key to the enrolling Registrar  114  via email. The enrollment status is returned to the sender application  102  in step  1812 .  
         [0000]     Registrar Activation  
         [0059]     The Registrar&#39;s  114  last step towards becoming an active Registrar  114  is the Activation process  800 . The first step of the Activation process  800  is for the activating Registrar  114  to login with password and fingerprint, step  810 ,  FIG. 12 . The last step of the Activation process  800  is to activate the Registrar  114 , step  820 ,  FIG. 15 . In step  1902 , the activating Registrar  114  enters the activation key emailed to them by the web service  101  during the Enrollment process  700 . The sender application  102  sends the activation key to the web service  101  in step  1904 . In step  1906 , the web service  101  verifies the activation key matches the activating Registrar&#39;s  114  activation key stored in the central database  1210 . The web service  101  updates the activating Registrar&#39;s  114  status in the central database  1210  in step  1908  and returns the activation status to the sender application  102  in step  1910 . Licensing  
         [0060]     Users of the present invention can have zero, one, or more licenses. Licenses provide the following information: 
        Identification (e.g. registrar, sender, or receiver)     Classification (industry, group, and subgroup)     Capabilities     Security requirements        
 
         [0065]     A license can be assigned to any user, other than a surrogate  115 , when the user registers or anytime after the user has completed their installation by activating a license. The user can optionally provide additional information pertaining to the license that is stored in the license record in the central database  1210 . The information collected depends on the type of license being activated. Activating a license may require a witness to verify the user and approve any license information entered. The process of activation using a witness that is either a Registrar or a Registered Sender has been described above. For the purpose of the following description, the witness will be assumed to be the Registrar  114  of  FIG. 1  and may be referred to herein as the witness  114 .  
         [0066]     A registrar license allows a user to act as a witness  114  for a user who is enrolling or activating a license. There are two types of registrar licenses: restricted and unrestricted. A user with a restricted registrar license can act as a witness  114  for a user performing one of the following operations: 
        enrolling with a restricted registrar license with a compatible license classification     enrolling with an unrestricted registrar license with a compatible license classification enrolling with a restricted sender license with a compatible license classification enrolling with a restricted receiver license with a compatible license classification     enrolling with an unrestricted sender license with a compatible license classification     enrolling with an unrestricted receiver license with a compatible license classification     activating a restricted sender license with a compatible license classification     activating a restricted receiver license with a compatible license classification     activating an unrestricted sender license with a compatible license classification     activating an unrestricted receiver license with a compatible license classification        
 
         [0075]     A user with an unrestricted registrar license can act as a witness  114  for a user performing one of the following operations: 
        enrolling without a license     enrolling with a restricted registrar license with a compatible license classification     enrolling with a restricted sender license with a compatible license classification enrolling with a restricted receiver license with a compatible license classification enrolling with an unrestricted sender license     enrolling with an unrestricted receiver license     activating a restricted sender license with a compatible license classification     activating a restricted receiver license with a compatible license classification     activating an unrestricted sender license     activating an unrestricted receiver license        
 
         [0084]     Any user can wrap a document without a license, in this case a public license is assumed. A user with one or more sender licenses can wrap a document and specify which of their sender licenses to use.  
         [0085]     Any active user, other than a surrogate  115 , can activate a license using the License Activation process  900  of  FIG. 5 . The first step of the License Activation process  900  is for the user to login with password and fingerprint, step  910 . The details of step  910  are illustrated in  FIG. 12 .  
         [0086]     The second step of the License Activation process  900  is to check the license key, step  920 . The details of step  920  are illustrated in  FIG. 16 . In step  2002 , the user  112  enters the license key to be activated. The sender application  102  sends the license key to the web service  101  in step  2004 . In step  2006 , the web service  101  retrieves the records for the license to be activated from the central database  1210 . The web service  101  retrieves the records for all licenses already assigned to the user from the central database  1210  and verifies that the license can be activated by the user in step  2008 . In step  2010 , the web service  101  updates the license record in the central database  1210  to reserve the license for the user. The license key status is returned to the sender application  102  in step  2012 .  
         [0087]     Step  930  of the License Activation process  900  is the select witness step. Some licenses do not require a witness  114  to activate them in which case steps  930  and  940  are skipped. The details of step  930  are illustrated in  FIG. 11 . In step  1502 , the user enters the username of the witness  114  that will approve their license activation. The sender application  102  requests the web service  101  to check the witness  114  in step  1504 . In steps  1506  and  1508  the web service  101  reads the user&#39;s and witness&#39; license information from the central database  1210  to verify that the username selected is authorized to act as a witness  114  for the user&#39;s license activation. The web service  101  returns the witness status to the sender application  102  in step  1508 .  
         [0088]     Once selected, the witness  114  must login with password and fingerprint, step  940  of the License Activation process  900 . The details of step  940  are illustrated in  FIG. 12 , which was described previously.  
         [0089]     The next step in the License Activation process  900  is to enter the license information, step  950 .  FIG. 17  illustrates the details of step  950 . The user has the option of entering related license information in step  2102 . The type of information gathered is configurable based on the type of license being activated.  
         [0090]     If a witness  114  is approving this license activation then the witness login with password &amp; fingerprint, step  960  of the License Activation process  900 , must be performed. The details of step  960  are illustrated in  FIG. 12 , which was described previously. The witness  114  can approve the license activation by logging in or the witness  114  can reject the license activation and abort the License Activation process  900  by not logging in.  
         [0091]     The last step in the License Activation process  900  is to activate the license key, step  970 .  FIG. 18  illustrates the details of step  970 . In step  2202 , the sender application  102  sends the license information to the web service  101  in a request to activate the license. The license information is stored in the license record in the central database  1210  and the license is activated in step  2204 . The license activation status is returned to the sender application  102  in step  2206 .  
         [0000]     File Wrap  
         [0092]     During the file wrap process, as in other security sensitive operations, the Sender Application  102  monitors for user  112  or  115  inactivity. If a logged in user  112  or  115  leaves the application idle for a period of time which exceeds the maximum timeout period, an automatic logout is performed. The automatic logout is a security feature intended to prevent someone from logging in, and then leaving the application unattended, thus providing an opportunity for someone to wrap a file fraudulently, using the credentials of the logged-in Sender  112  or Surrogate  115 .  
         [0093]     The file wrap process begins with an active Sender  112  or Surrogate  115  starting the Sender Application  102 . The user locates and selects the Data File  111  to be wrapped via a file open dialog. The Sender Application  102  then launches the Login with Fingerprint process  740 .  
         [0094]     Following the successful processing of the Login with Password and Fingerprint  740 , the Sender Application  102  encrypts a message which is sent to the Web Service  101 . The purpose of the message is to request the creation of security components which provide highly secure communications between the Sender Application  102  and the Web Service  101 . The lifespan of these components is limited, and they are of no value after they expire. The Web Service  101  processes the message and creates the security components. Information is stored in the secure central database  1210  and added to the response message. The response is encrypted and returned to the Sender application  102 , where the file wrap processing continues.  
         [0095]     The Sender application  102  (see  FIG. 19 ) encrypts a key request message  2404  incorporating the security components. The encrypted key request  2404  is sent to the web service  101 . The web service validates the request by checking the validity of security components. If the request is validated, the encryption key and other information needed to wrap a file are created, and saved  2406  in the secure central database  1210 . The information is encrypted and returned  2408  to the Sender application  102 . The selected file is encrypted  2412  by the Sender application  102  using the encryption key, other information, proprietary processing and industry standard encryption algorithms.  
         [0096]     The application  102  displays a form to allow the Certified Sender  112  or Surrogate  115  to enter text  2410 , which could be a description of the file being wrapped, a message to the intended recipient, or any other information. The text  2410  entered here, if any, will be viewable in the Receiver application  103  when the file is unwrapped. If no text is entered, the Receiver application  103  will indicate that no information was provided. The Sender application  102  checks whether any active Sender or Restricted Sender licenses are assigned to the Certified Sender  112 . If suitable licenses are available, one license may be selected from a drop-down list before the file is wrapped. If no license is selected, the Public license is used by default.  
         [0097]     If the Certified Sender  112  or Surrogate  115  uses a non-public license to wrap a file, the License Processor will apply the rules defined for that license to control the unwrapping of the file. Rules are defined for each Sender or Restricted Sender license which are used to identify compatible Receiver licenses which can be used in the unwrap process. The information entered on the form by the Certified Sender  112  or Surrogate  115 , including some licensing information, is added to the package being wrapped.  
         [0098]     The Sender application  102  creates a request for sender and/or surrogate information, which is encrypted and sent to the web service  101 . The web service retrieves the required information from the secure central database  1210 . The information is encrypted and returned to the Sender application  102 . The information is added to the package being wrapped, and will be displayed in the Receiver Application  103  when the file is unwrapped. The information includes the name of the person who wrapped the file, the company, city, state and email address. If the person wrapping the document is a Surrogate, their own information is included, and the name, city and state of the Certified Sender  112  who authorized the Surrogate  115  are also included.  
         [0099]     The wrapped package, which already contains the encrypted file, file information, a block of random data, and sender/surrogate information, is encrypted again. A Globally Unique Identifier (GUID) is created and added to the wrapped package. A message digest hash is computed for the entire wrapped package. The GUID, license information and message digest value are encrypted and sent  2414  to the web service and stored in the secure database.  
         [0100]     The file save dialog opens, and the user saves the wrapped file  2422 .  
         [0000]     File Unwrap  
         [0101]     The file unwrap process begins by double-clicking on a Wrapped file, which launches the Receiver Application  103 . Alternatively, the Receiver Application can be started via the desktop icon, and using the file open dialog, the user  113  or  118  locates and selects the file  2502  to be unwrapped, see  FIG. 20 . The file is read  2503  into the Receiver Application  103 . The message digest hash is computed  2504  and the file identification information is extracted. If the Receiver is registered  118 , as opposed to being anonymous  113  the Receiver&#39;s username is included in a message  2507  requesting information needed to unwrap the file, which is encrypted and sent to the web service  101 .  
         [0102]     The web service  101  receives the request  2507  and decrypts the information sent by the Receiver application  103 . Information is retrieved  2510  from the secure central database. If the Receiver&#39;s  118  username was included in the request message  2507 , the capabilities and restrictions associated with the Receiver  2501  are provided to the License Processor  2509 , along with information about the active licenses held by the Receiver  2501 . Information about the license  2410  used during the file wrap process  FIG. 19  is provided to the License Processor  2509  and any required processing is performed. The message digest checks  2508 , license processing  2509  and other web service processing produces one of the following results:  
         [0103]     1) Login Required—login with password and fingerprint  740   
         [0104]     2) Success—no login required  
         [0105]     3) Denied—the unwrap criteria are not met by this Receiver  
         [0106]     4) Corrupted—the message digest comparison failed  
         [0107]     5) Failed—the system is unable to process the request  
         [0108]     The result returned by the web service determines the actions which follow.  
         [0109]     The results “Login Required” and “Success” return all of the information needed to unwrap the file, but the “Login Required” result also returns a value which is recognized by the Receiver Application  103  as a signal to launch the Login with Fingerprint process  740 .  
         [0110]     The “Denied” result indicates that a restriction exists on the Receiver  118  or the License Processor  2509  determined that a license rule prohibits the Receiver  118  from unwrapping the file. The web service  101  will not return the decryption key and other information needed to unwrap the file.  
         [0111]     The “Corrupted” result indicates that the message digest value  2504  which was supplied by the Receiver application  103  did not match the value computed when the file was wrapped. The web service  101  will not return the decryption key and other information needed to unwrap the file.  
         [0112]     The “Failed” result indicates that a processing error occurred in the web service  101  which prevented all of the required processing to be completed successfully. The web service  101  will not return the decryption key and other information needed to unwrap the file.  
         [0113]     If an unsuccessful response is returned by the web service  101 , a suitable message is displayed to the user, and processing ends.  
         [0114]     If the web service  101  returns “Login Required”, the Receiver application  103  launches the Login with Fingerprint process  740 . After a successful login, the Receiver application  103  uses the information returned by the web service  101  to unwrap the file. If the response was “Success”, the Receiver application  103  uses the information returned by the web service  101  to unwrap the file.  
         [0115]     If the user  118  is a Registered Receiver, rather than an anonymous Receiver, a message is encrypted and sent to the web service  101  to log the unwrapping of the file. The log record includes a link to the wrap key record, a link to the Receiver record and a timestamp.  
         [0116]     After successfully unwrapping a file, the identity of the person  112  who wrapped the file is displayed in the Receiver application  103 . If the person who wrapped the file was a Surrogate  115 , the identity of the Sender  112  who authorized the Surrogate  115  is also displayed. A description of the license which was used to wrap the file is also displayed. If descriptive text or a message to the Receiver  113  or  118  was entered when the file was wrapped, it is displayed to the user  113  or  118 .  
         [0117]     When a file is unwrapped, the Receiver Application  103  enables two buttons. The Save button opens a file save dialog, which allows the user to save a copy of the unwrapped file. The Open button will launch the appropriate application to view the file, if it is a viewable file type. For example, if the file which was wrapped is a Microsoft Word document, then the Open button will launch Microsoft Word and the unwrapped document will be displayed. If the original file was an Adobe PDF file, then Adobe Acrobat is launched and the unwrapped document is displayed. Please note that the application used for viewing the unwrapped file must be an installed application on the Receiver&#39;s PC.  
         [0000]     User Roles  
         [0000]     Sender  
         [0118]     The Sender is registered within the present invention as the main user of the Sender Application on a single PC. The Sender always has use of the default Public license, and may also hold one or more additional Licenses, depending on business requirements. The identity of the Sender is revealed when a file wrapped by that Sender is unwrapped. The Sender may designate up to  4  Surrogates who may wrap files on the Sender&#39;s PC.  
         [0000]     Surrogate  
         [0119]     The Surrogate is a person trusted and authorized by a Sender to wrap files on his/her behalf. The concept of the Surrogate allows the work of the Sender to be performed by a substitute when the Sender is not present. The fact that a file was wrapped by a Certified Surrogate is recorded in the secure central database and is revealed to the person who unwraps the file. The user of the Receiver application who unwraps the file sees the Surrogate&#39;s identity information as well as a notation indicating the Sender who authorized the Surrogate. Any file wrapped on behalf of the Sender must be processed only on the Sender&#39;s PC used in the registration process. Licenses are not issued to Surrogates, but the Surrogate can use most types of licenses issued to the Sender who authorized the Surrogate. The Surrogate may not use a Registrar license issued to the Sender to perform Registrar duties. See the following section for more information about the Registrar.  
         [0000]     Registrar  
         [0120]     The Registrar is actually a Sender who holds a special type of license which enables the Registrar to function in the role of a witness during biometric enrollment and license activation for potential Certified Senders and Receivers. The Registrar is responsible for verifying the potential Sender&#39;s identity, and then verifying that the Sender or Receiver submits only his/her own biometric samples (fingerprints) to the system according to the established enrollment process. The biometric information is critical in verifying the identity of a user, the enrollment process must be witnessed and certified by the Registrar, and the identity of the certifying Registrar is saved in the enrollee&#39;s record in the central database. Refer to the section on Biometric Enrollment for details.  
         [0000]     Receiver  
         [0121]     The present invention&#39;s licensing system provides a great deal of flexibility for the users of the system. A Receiver can be either unregistered or registered. An unregistered Receiver is anonymous, and may always unwrap files which were wrapped using the default Public license. The unregistered Receiver may also be able to unwrap files which were wrapped with other licenses. The licensing system allows processing rules to be designed for a license which determine who may unwrap a file which was wrapped using the license.  
         [0122]     A registered Receiver is not anonymous. The present invention is able to recognize a registered Receiver, and a registered Receiver may be issued one or more licenses, as needed to meet whatever business requirements exist.  
         [0000]     Security  
         [0123]     It is anticipated that the present invention will be subjected to attacks by persons or groups. The attacks may be intended to break into the wrapped file and alter the contents for the purpose of committing fraud. Other possible attacks could be the attempt to impersonate a legitimate user and provide falsified information in wrapped files which appear to be the work of the legitimate user, but are not.  
         [0124]     The architecture of the present invention has been carefully designed to make the system resistant to attacks on the technology and the processes. The present invention provides multiple layers of security in all sensitive areas. The processes and procedures which have been defined for installation, registration, enrollment and activation help ensure that biometric identification credentials of users of the present invention cannot be falsified. These processes and procedures work together with layers of software security technology to ensure the integrity of the information being protected. The software technology used to implement the layers of protection include secure communication between the client applications and the web service, layered encryption, proprietary encryption key management, insertion of blocks of seemingly random data, information obfuscation, digital signature generation, and encryption based application security.  
         [0000]     Secure Communication with Web Service  
         [0125]     The present invention incorporates a distributed processing architecture which divides processing tasks between the user&#39;s PC and secure web servers. The Sender and Receiver Applications perform processing, encrypt partial results, and pass the encrypted information to the web service, where processing continues. The results of the processing performed on the web server are encrypted and returned to the Sender or Receiver Application, where processing continues.  
         [0126]     All sensitive information is encrypted before being passed between the Sender and Receiver Applications and the web service. The encryption keys used to secure communications between the Sender and Receiver Applications and the web service are changed frequently during processing, and are independent of the encryption keys used to protect the contents of the wrapped file.  
         [0000]     Layered Encryption  
         [0127]     The present invention uses modem, industry standard encryption technology to protect the information being wrapped. The system uses several proprietary enhancements to the encryption technology to provide a higher level of security to the wrapped file. One of the techniques used in the protection scheme is that of layered encryption.  
         [0000]     Encryption Key Management  
         [0128]     The present invention uses modem, industry standard encryption technology to protect the information being wrapped. The system uses several proprietary enhancements to the encryption technology to provide a higher level of security to the wrapped file. One of the techniques used in the protection scheme is that of very strong encryption keys which are created and managed by a key management system. The key management system improves the security of the present invention by increasing the level of difficulty an attacker faces when trying to reverse engineer the key generation process.  
         [0000]     Blocks of Seemingly Random Data  
         [0129]     The present invention incorporates the use of blocks of seemingly random data to increase the level of difficulty encountered by a potential attacker when trying to defeat the protection schemes used by the system. Theses blocks are used as one of the inputs to the cryptographic algorithms. The inclusion of these blocks aid in preventing any recognizable patterns which could provide clues to an attacker about the operation of the present invention. The present invention this technique in many of the sensitive areas. The recipient of the protected data must know the location and, in some cases, the content of these blocks in order to make use of the protected data.  
         [0000]     Obfuscation  
         [0130]     Obfuscation, or the generation of hash values from data, is used to enhance security and conceal information during processing in both the user&#39;s PC and the web service. The present invention performs obfuscation of sensitive information in the Sender and Receiver Applications and in the web service, and processes the obfuscated values and other information to determine processing results.  
         [0000]     Application Security  
         [0131]     The Sender and Receiver Applications cannot be started directly. Additional encrypted information must be provided in order to startup and execute the applications correctly. The purpose of this requirement is to enhance the security of the applications. An attempt to bypass portions of the application will result in an unrecoverable error, preventing the attacker from successfully running the application using this strategy.  
         [0132]     While the invention has been described in what is presently considered to be a preferred embodiment, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the appended claims.