Many companies use official stationery. Official stationery typically includes a printed letterhead of the company on good quality paper. Official stationery may also include an embedded watermark to establish origination. Official stationery is typically designated and used for “official communications” (e.g., memos, faxes, press releases, etc.), to present corporate “authority” in some manner. In some scenarios, however, official company stationery may be used for communications other than communications that the company would designate as “official”. For example, official company stationery is typically easily reproducible. As a result, a corporation may lose control of the number of pieces of official company stationery available to authorized and unauthorized users for use and distribution to others. Related to the simplicity of reproducing official corporate stationery, but also independent of this attribute, it may be possible for an individual to remove official company stationery from corporate control (e.g., take a stationery home, etc.), whereupon unauthentic, but “official-looking” documents might be produced, possibly even after the individual's termination of employment with the company.
Systems and methods for digitally certified stationery are described. In one aspect, a stationery granting authority (SGA) receives a request from a user to generate a document. If the user is authorized for the requested document, the SGA generates a certificate with credentialing information from data in the request. The SGA generates a first digital signature from some of the credentialing information. The SGA communicates the certificate to the user for editing and distribution as the document. A recipient of the document determines whether the document is “official” by contacting a specified service to provide certain information from the document. The verification service computes a second digital signature from the provided information for comparison to the first digital signature. If there is a match, the service notifies the recipient that the document is valid/official. Otherwise, the recipient is notified that the document is not valid.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
An Exemplary System
Although not required, systems and methods for digitally certified stationery are described in the general context of computer-executable instructions executed by a computing device such as a personal computer. Program modules generally include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. While the systems and methods are described in the foregoing context, acts and operations described hereinafter may also be implemented in hardware.
In this implementation, program modules 112 include, for example, stationery-granting authority 116 and “other program modules” 124 such as an Operating System (OS) to provide a runtime environment, a Web server to serve web pages to a requesting remote computing device 106, device drivers, cryptographic applications, and/or other applications. Stationery-granting authority 116 responds to request(s) from an authorized user to obtain an official stationery certificate(s) (template(s)) from which the user creates and distributes official stationery/documents to end-users/readers to communicate official information (e.g., text, images, etc.). As described below, recipients of such official documents contact the stationery granting authority to verify authenticity of the received documents.
For example, a user of remote device 106 sends a request 120 to stationery-granting authority 116 (“SGA 116”) to obtain an official stationery certificate 122 (template) from which the user can generate an official document 124 for distribution to recipient(s). Each request 120 includes, for example, one or more of a name or other identifier of the entity submitting the request (e.g., an employee number or other indicia mapped to the user), an indication of a particular number of pages of official stationery desired, an indication of the desired document type (e.g., a memo, a press release, company confidential communications, etc.), a suggested timeframe for which document(s) 124 generated from a template 122 will be used/distributed, etc. In one implementation, a user of remote computing device 106 interacts with a browser application to access a webpage served by SGA 116 (or a different application 120) to request an official template 122 from which the user can generate official document 124. For purposes of exemplary illustration, such a browser application is shown as a respective portion of applications 128 on remote computing device 106. In one implementation, for example, the webpage is served over an intranet (e.g., behind the company firewall or via a virtual private network connection into the intranet), over the Internet, etc. For purposes of exemplary illustration, an intranet and the Internet are collectively represented as respective portions of network 104.
Responsive to receiving a request 120, stationery-granting authority 116 accesses a database to establish identity and authority of the requesting user to use/distribute the requested stationery. Such a database is shown as a respective portion of “other program data” 130. Such identity establishment can be done in multiple different ways, for example, by verifying user login information and/or other auxiliary employee data such as the employee number (or other identifying indicia) in view of information in the database. Responsive to verifying the requesting user's identity authority to generate an official document, SGA 116 generates a certificate 122. In this implementation, a certificate 122 is a modifiable electronic document template (e.g., editable using a word processor) with a company letterhead.
Additionally, each certificate 122 is formatted with a set of credentialing information to define context(s) within which the certificate 122 can be used to generate an authentic official document 124. Such contexts include, for example, an author name, company name, a valid timeframe within which documents based on the certificate 122 can be considered valid, etc. The certificate is formatted such that a recipient of any document 124 generated from the certificate is presented with at least a subset of credentialing information to verify authenticity/validity of a document 124 generated from the certificate 122 (i.e., permission/authority of the author of the document to generate and/or distribute the document). In this implementation, credentialing information includes, for example one or more of:
In one implementation, the unique serial number portion of the credentialing information is a digital signature computed by SGA 116 from at least a subset of the credentialing information associated with the certificate 122. For example, the serial number is computed as a cryptographic hash of information (e.g., from one or more of a company name, date/timestamp information, name of requesting entity (e.g., a person, etc.), number of certificates 122 of the particular type issued to date, etc.) associated with the certificate 122. Techniques/schemes for computing cryptographic hashes of information are known. For example, in one implementation, signature-granting authority 116 generates the digital signature using known public key cryptographic techniques, wherein at least a subset of the credentialing information (metadata) is signed using a private key of the entity/company for which SGA 116 provides certificates 122 to generate official documents. In one implementation, SGA 116 generates the digital signature using known elliptic curve discrete log-based signature generating techniques, Boneh-Lynn-Shacham signature generating techniques, and/or so on.
Another possible implementation of signatures could be established using a database. The SGA 116 generates the signature by applying a keyed cryptographic hash function to the credentialing information. The keyed cryptographic hash cannot be computed by any other entity other than the SGA 116. Next, the SGA stores the issued signature in a database together with the credentialing information. At the minimum, the pair <Serial No, Keyed Hash> is stored by the SGA. At the time of authentication, the SGA verifies if the credentialing information sent by the verification requesting entity matches with the data stored in the database. If there is a match then the document is declared as a valid/official document.
After generating a particular certificate 122 from request 120, SGA 116 communicates the certificate 122 to the requesting user. (For purposes of exemplary illustration, such a communication is shown as response 130). Responsive to receiving a requested certificate 122 the requesting user opens the certificate using a word processor to view text, formatting, images, etc., and modifies (e.g., edit/insert/attach arbitrary data) the mutable portions of the document template issued by SGA 116. In one implementation, one or more portions of the template 122 are not editable. For example, in this implementation, credentialing information viewable to a recipient of certificate 122 or any official document 124 generated from certificate 122 is not editable. This is in contrast, for example, to different portion(s) of certificate 122 which are responsive to user data (e.g., text, image, etc.) input. An edited certificate 122 is shown as an official document 124 for electronic or paper distribution to recipient(s)/end user(s). (The user's document 124 is invalid if he/she modified the credentialing information portion of the document template (certificate 122)). If no changes were made to the certificate portion, then the document can be claimed as authentic and this claim can be verified by any recipient.) In one implementation, an official document 124 is distributed in a read-only format (e.g., a portable document format, a read-only word processing format, etc.).
Responsive to receiving an official document 124, a recipient prints or otherwise displays the document 124 (e.g., via a display device 132). As described above, SGA 116 formatted the certificate 122 used by an author (user) to generate document 124 so that at least a portion of the credential information associated with the certificate can be viewed by the recipient when displaying the document 124. In one implementation, the credentialing information presented to the user via document 124 includes at least: (a) that particular credentialing information used by SGA 116 to generate the serial number (i.e., the digital signature); and, (b) the contact information (e.g., a URL of a website, telephone number of a service, etc.) that the recipient can contact to determine whether the document is authentically “official”.
To verify whether an author had appropriate authority to present an official document 124, a recipient contacts the particular official document verification facilities identified in the “contact information” (e.g., a URL, telephone number, etc.) presented via the credential information specified by SGA 116. Please recall that the credential information was specified by SGA 116 during creation of a certificate 122 used as a template for the official document 124. In a scenario where the contact information identifies a URL to a website hosted by stationery authenticity verification logic 126 (“SAV 126”). A recipient of a document 124 interacts with a browser application to visit the website to download, present, and input certain information into one or more official stationery authentication verification webpages. (A browser is shown as a respective portion of applications 128. Such webpage(s) are shown as respective portions of “other data” 134.)
Independent of whether the contact information identifies a website, telephone number, etc., SAV 126 and/or a document 124 directs (e.g., via presented text, images, audio, etc.) the user to input at least a subset of the credential information presented to the recipient via document 124 to SAV 126. (How such information is requested by SAV 126 and subsequently entered by the user is arbitrary, being a function of the particular technique used to obtain the information from the user (e.g., via web page user interface controls, a touch tone telephone pad, etc.)). In one implementation, the document recipient is directed to provide/enter that particular information used by SGA 116 to generate the unique serial number (e.g., author name/identifier, date and timestamp information, and/or so on) for the corresponding certificate 122. Responsive to receiving the entered/provided information, SAV 126 generates a digital signature using the same technique (e.g., elliptic curve discrete log-based signature generating techniques, etc.) that SGA 116 used to generate the serial number of the corresponding certificate 122. SAV 126 then compares the computer digital signature to the serial number mapped to the certificate 122. If the newly computed digital signature matches the serial number, SAV 126 presents an indication (e.g., a pop-up message, an e-mail, and audible indication over the telephone, etc.) to the user indicating that the official document 124 is valid. Otherwise, SAV 126 indicates to the user that the official document 124 is not valid.
In one implementation, when the contact information is a URL identifying a website to verify authenticity of an official document 124, the user verifies credentials of the website represented via the webpage(s) prior to entering any information associated with the official document 124. Only when the website is verified as authentic does the user input any information associated with the official document 124. Techniques for verifying website credentials are known. For example, in one implementation, the user compares a website certificate to the name of the company indicated as issuing the official document 124 (such as indication is provided via document 124 displayed credential information.
Exemplary Procedures
Operations of block 202 receive a request 120 (
Operations of block 210 communicate the official stationery certificate(s) 122 to the requesting user for editing and distribution to other entities (i.e., recipients) as one or more official documents 124. Operations of block 212, receive a request 120 (e.g., from a recipient of an official document 124, or other entity) to verify authenticity of the official document 124. Responsive to receiving the request, operations of block 214 determine whether the official document 124 actually represents an official company communication. This is accomplished by using information provided by the request 120 to generate a digital signature/serial number for comparison to an archived digital signature/serial number of a certificate-122 used to generate the document 124. Operations of block 216 present an indication to the requesting user verifying whether the official document 124 represents an official company communication.
Operations of block 302 request a document (i.e., an official document 124) from an official company stationery granting authority 116. Operations at block 304, responsive to requesting the document, receive a template (an official stationery certificate 122) for the document from the official company stationery granting authority. Operations at block 306 modify the template to generate the document. Operations at block 308 distribute the document to a recipient. The document is formatted such that when the recipient views the document, credentialing information is presented to the recipient that allows the recipient to determine validity of the document. Such a validity determination is made by the recipient contacting a verification service (e.g., the official stationery granting authority or a different entity identified via the credentialing information). Once such a contact has been made, the recipient provides the verification service with at least a subset of the credentialing information presented to the recipient via the document. Responsive to receiving this information, the verification service performs a number of operations such as comparing multiple digital signatures to determine whether the document is valid (i.e., official).
Although digitally certified stationery has been described in language specific to structural features and/or methodological operations or actions, it is understood that the implementations presented in the appended claims are not necessarily limited to the specific features or actions described above. For example, although operations associated with stationery-granting authority 116 are shown as being implemented on a computing device 102 independent of a remote computing device 106 for a user to request an official stationery certificate 122, each of these and associated operations could be implemented on a single computing device 102 independent of the remote computing device 106. Additionally, although operations associated with stationery-granting authority 116 have been described as being implemented on a same computing device 102 as operations for stationery authenticity verification 126, these respective operations can be implemented in a distributed computing environment on different respective computing devices. Accordingly, the specific features and operations discussed above are disclosed as exemplary forms of implementing the following claimed subject matter.
Number | Name | Date | Kind |
---|---|---|---|
5157726 | Merkle et al. | Oct 1992 | A |
5544255 | Smithies et al. | Aug 1996 | A |
5712914 | Aucsmith et al. | Jan 1998 | A |
5765176 | Bloomberg | Jun 1998 | A |
5912974 | Holloway et al. | Jun 1999 | A |
5970252 | Buxton et al. | Oct 1999 | A |
6021202 | Anderson et al. | Feb 2000 | A |
6023509 | Herbert et al. | Feb 2000 | A |
6108788 | Moses et al. | Aug 2000 | A |
6138106 | Walker et al. | Oct 2000 | A |
6671804 | Kent | Dec 2003 | B1 |
6892947 | Jam et al. | May 2005 | B1 |
6907528 | Bunn | Jun 2005 | B1 |
6990585 | Maruyama et al. | Jan 2006 | B2 |
7073195 | Brickell et al. | Jul 2006 | B2 |
7092953 | Haynes | Aug 2006 | B1 |
7103572 | Kawaguchi et al. | Sep 2006 | B1 |
7117363 | Lincoln et al. | Oct 2006 | B2 |
7252222 | Finnerty et al. | Aug 2007 | B2 |
7328847 | Shen et al. | Feb 2008 | B1 |
7340611 | Alev et al. | Mar 2008 | B2 |
7353397 | Herbach | Apr 2008 | B1 |
7441121 | Cutter et al. | Oct 2008 | B2 |
7526642 | Hurtta et al. | Apr 2009 | B2 |
7581102 | Yasuda | Aug 2009 | B2 |
7581106 | Das et al. | Aug 2009 | B1 |
7647494 | Wray et al. | Jan 2010 | B2 |
20020012445 | Perry | Jan 2002 | A1 |
20020013899 | Faul | Jan 2002 | A1 |
20020026574 | Watanabe et al. | Feb 2002 | A1 |
20020101597 | Hoover | Aug 2002 | A1 |
20020103723 | Platner et al. | Aug 2002 | A1 |
20020129257 | Parmelee et al. | Sep 2002 | A1 |
20020166049 | Sinn | Nov 2002 | A1 |
20030004997 | Parker et al. | Jan 2003 | A1 |
20030012374 | Wu et al. | Jan 2003 | A1 |
20030018585 | Butler et al. | Jan 2003 | A1 |
20030078880 | Alley et al. | Apr 2003 | A1 |
20030204812 | Hayashi | Oct 2003 | A1 |
20040073446 | Snow | Apr 2004 | A1 |
20050019937 | Shiue et al. | Jan 2005 | A1 |
20050038756 | Nagel | Feb 2005 | A1 |
20060072781 | Harrington | Apr 2006 | A1 |
20060085634 | Jain et al. | Apr 2006 | A1 |
20060085646 | Cutter et al. | Apr 2006 | A1 |
20060161781 | Rice et al. | Jul 2006 | A1 |
20060265590 | DeYoung et al. | Nov 2006 | A1 |
20060271787 | DeYoung et al. | Nov 2006 | A1 |
20070073626 | Reeder et al. | Mar 2007 | A1 |
20070074029 | Yamamoto | Mar 2007 | A1 |
20070165261 | Someya | Jul 2007 | A1 |
20080046984 | Bohmer et al. | Feb 2008 | A1 |
Number | Date | Country |
---|---|---|
20040064780 | Jul 2004 | KR |
WO0237309 | May 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20080141330 A1 | Jun 2008 | US |