US20130086387A1 - Method for Certifying and Verifying Digital Web Content Using Public Cryptography - Google Patents
Method for Certifying and Verifying Digital Web Content Using Public Cryptography Download PDFInfo
- Publication number
- US20130086387A1 US20130086387A1 US13/688,817 US201213688817A US2013086387A1 US 20130086387 A1 US20130086387 A1 US 20130086387A1 US 201213688817 A US201213688817 A US 201213688817A US 2013086387 A1 US2013086387 A1 US 2013086387A1
- Authority
- US
- United States
- Prior art keywords
- item
- digital content
- verifying
- computer
- displayable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012795 verification Methods 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 abstract description 7
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 4
- 241000282326 Felis catus Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
- G06F2211/008—Public Key, Asymmetric Key, Asymmetric Encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2115—Third party
Definitions
- This invention relates generally to methods of, computer programs for, and apparatus for providing and accessing digital content. More particularly, this invention relates to, but is not limited to, a method of and computer programs for transmitting, making available for transmission, accessing, or receiving content over a public data network such as the Internet.
- PKI Public key infrastructure
- FIG. 1 is a schematic diagram of the prior art system used by Microsoft AuthenticodeTM for distributing executable code.
- the diagram shows three main parties: a publisher 100 an end user 300 and a certificate authority 200 .
- publisher 100 To publish software over the Internet using Microsoft AuthenticodeTM, publisher 100 must first apply to certificate authority 200 for a private and public key pair and for a certificate.
- Certificate authorities such as Verisign Inc., are in the business of providing private and public key pairs to receiving parties. Moreover, they are responsible for checking the bona fides of their receiving parties and for providing digital certificates which may be provided as proof that the public key belongs to the receiving party and not a third party.
- publisher 100 is provided with a private key 102 and a certificate 104 by certificate authority 200 .
- Certificate 104 contains the name 106 of the publisher, a public key 108 provided to the publisher and a digital signature 110 from certificate authority 200 computed over both name 106 and public key 108 .
- Certificate authority 200 generates digital signature 110 using its own private key 202 , of which the corresponding public key 204 is made widely available to end users by being pre-installed in browsers such as Netscape NavigatorTM and Microsoft Internet ExplorerTM.
- This digital signature 110 serves to confirm that public key 108 contained in certificate 104 belongs to publisher 100 .
- Internet Cryptography by Richard E. Smith, 1997, published by Addison Wesley Longman, Inc., in particular chapter 12.
- publisher 100 encrypts the software using his/her private key 102 to generate an encrypted version 114 .
- Unencrypted software 112 , encrypted software 114 and certificate 104 are then bundled together to form a package 116 .
- This package is made available for downloading by placing it on a web server 118 .
- End user 300 who downloads package 116 from web server 118 , is able to authenticate software 112 as follows. Pre-installed in the end user's browser is public key 204 belonging to certificate authority 200 . Using this, the end user is able to confirm that public key 108 contained in certificate 104 belongs to publisher 100 .
- the browser is able to decrypt digital signature 110 using public key 204 and compare the result with name 106 and public key 108 and because certificate 104 was signed by certificate authority 200 , which the browser trusts.
- public key 108 obtained from certificate 104
- the browser is able to decrypt encrypted version 114 of software 112 and compare it to the unencrypted version of the software also provided. If the two match, the browser knows that software 112 originates from publisher 100 and, furthermore, that it has not been modified since being encrypted. Thus, end user 300 is able to authenticate the source and integrity of software 112 .
- One disadvantage with the approach taken by Microsoft AuthenticodeTM is that it does not offer security from the program code provider directly—i.e. it does not allow the program code provider to act as a sole certificate authority or a low level certificate authority within a hierarchical certification system (see below for an explanation of these terms).
- One result of this disadvantage is that it does not allow the program code provider to arrange a level of security appropriate for its own purposes, the type of program code provided or the requirements of its receiving parties.
- a further result is that it does not engender trust of the program code provider directly since the authentication process appears to the receiving party to bear no relation to the program code provider but rather to MicrosoftTM.
- XP 002138803 describes a system for downloading content over an untrusted network, such as the Internet, and for controlling its use on a client device, content is stamped using digital signatures and analysed by a stamped content usage system to verify the identity of the creator of the content and to verify that it has not been modified.
- the present invention addresses in general the security problems of providing content over the Internet identified above as well as the particular disadvantages of the approach taken by Microsoft AuthenticodeTM identified above.
- One objective of the present invention is to provide an easy to use system for providing verifiable content over a public data network such as the Internet.
- a further or alternate objective of the present invention is to provide a system for the provision of a news service over a public data network such as the Internet.
- a method of verifying an item of digital content comprising the steps of:
- the verifying program presenting a message to a user indicating whether the item of digital content is verified or not;
- the user provides, at a second time earlier than the first time, a data item to the verifying program, the verifying program stores the data item, and the data item, or data derived from the data item, is included in the message to indicate to the user that the item of digital content was verified by the verifying program.
- a computer program for verifying an item of digital content the computer program being arranged to:
- the computer program is arranged to query, at a second time earlier than the first time, a user for a data item, and to store the data item, and in that the data item, or data derived from the data item, is included in the message to indicate to the user that the item of digital content was verified by the computer program.
- a method of providing a user with a verifiable item of digital content comprising the following steps:
- a user interface operable by a user of the client device to commence execution, at the client device, of a computer program for verifying the item of digital content.
- one or more data packages comprising:
- the one or more data packages comprise data representing a user interface, displayable on the display of the client device, and operable by a user of the client device to commence execution, at the client device, of a computer program for verifying the item of digital content.
- FIG. 1 is a schematic diagram showing the functioning of an authentication system of the prior art.
- FIG. 2 is a schematic diagram showing the functioning of the verification system of the present invention.
- FIG. 3 is a print out of a web page showing a news item and means for commencing execution of the verification program of the present invention.
- FIG. 4 is a flow diagram representing the procedure followed by the verifying program of the present invention.
- FIG. 5 is a print out of a web page showing the news item and a message verifying the news item according to the present invention.
- FIG. 6 is a print out of a web page showing a bogus news item and a message indicating that the news item has been modified according to the present invention.
- FIG. 7 is a print out of a web page showing the original unmodified news item according to the present invention.
- PKI techniques are well known to those skilled in the art and generally depend on the fact that certain mathematical computations that are easy to compute in one direction are extremely difficult to compute in the other direction.
- the present invention is based on the algorithm developed by Ron Rivest, Adi Shamir, and Len Adelman of the Massachusetts Institute of Technology, known by those skilled in the art as the RSA algorithm, which relies on the fact that it can be relatively easy to multiply large prime numbers together but almost impossible to factor the resulting product.
- PKI techniques such as the RSA algorithm, allow pairs of keys to be generated which can be used to encrypt data or to digitally sign data.
- One of the keys is called a “public key” and the other a “private key”.
- the private key is kept secret whereas the public key can be distributed freely.
- Data encrypted using the public key can only be decrypted by using the private key. This provides a mechanism whereby data can be transmitted over public networks in secret and can only be decrypted by the holder of the private key.
- data encrypted using the private key can be decrypted by anyone holding the public key, but, crucially, any data which can be decrypted by the public key can only have been encrypted using the private key.
- FIG. 2 is a schematic diagram of a first embodiment of the present invention.
- a news provider 400 first applies to a certificate authority 200 to be provided with a private key 402 and a digital certificate 404 containing the name 406 of the news provider 400 , the public key 408 corresponding to private key 402 , and the digital signature 410 of certificate authority 200 , as has been described above.
- News provider 400 generates a plain text news item, stored on a news server (not shown), and presents it in a browser-readable page of a format such as hyper-text mark-up language (HTML) or extensible mark-up language (XML) to form marked-up news item 412 .
- News provider 400 encrypts the news item using its private key 402 thus generating an encrypted version 414 of the news item.
- HTML hyper-text mark-up language
- XML extensible mark-up language
- Unencrypted news item 412 , encrypted version 414 and certificate 404 are then bundled together to form a package 416 which is posted to a web server 418 for access by receiving parties. Also posted to web server 418 is a verifying program 420 , the function of which is described in detail below.
- a receiving party 500 who wishes to access news item 412 , first downloads package 416 from web server 418 . The receiving party may then make use of the unencrypted news item without any verification if he/she desires. However, receiving party 500 may wish to verify that news item 412 was generated by news provider 400 and that it has not been modified. To do this, the receiving party downloads verifying program 420 from web server 418 and stores it locally, if he/she has not already done so in respect of a previous news item accessed.
- Receiving party 500 downloads package 416 containing news item 412 using a browser application such as Netscape NavigatorTM or Microsoft Internet ExplorerTM.
- the browser-readable page includes a link or other suitable means for downloading and launching verifying program 420 .
- this takes the form of a part of the browser-readable page comprising the text “Click here to verify” which when clicked on by the receiving party activates executable code embedded in the browser-readable page which first checks whether verifying program 420 has already been downloaded. If it has, execution of verifying program 420 is commenced immediately. If not, verifying program 420 is first downloaded from web server 418 before commencing execution.
- the executable code embedded in the browser-readable page is implemented using a JavaTM applet or Java ScriptTM.
- FIG. 3 shows a web page 700 as displayed using a browser which comprises a news item 702 and a link 704 for downloading and/or launching verifying program 420 .
- verifying program 420 takes the form of a plug-in which interoperates with the receiving party's browser.
- the plug-in verifying program 420 is implemented as an ActiveXTM control or component.
- the verifying program is stored locally to the receiving party browser and generally needs only to be downloaded once, i.e. when the receiving party user first requests verification of the news item 412 .
- the verifying program 420 is itself downloaded in a verifiable manner using digital signature techniques for distributing program code such as Microsoft AuthenticodeTM described above with reference to FIG. 1 .
- Verifying program 420 is separate from news item 412 and package 416 and, further, that it is downloaded independently. This is because a third party attempting to impersonate news provider 300 may create a browser-readable page containing its own news item together with a bogus verifying element which gives the illusion that the news item originates from the trusted news provider and that it has not been modified. However, despite having downloaded verifying program 420 independently of package 416 , there remains the possibility that a third party impersonating news provider 400 makes a browser-readable page available to receiving party 500 , which contains a bogus verifying link resembling the news provider's link for launching or downloading verifying program 420 .
- the third party may have arranged for the bogus link to provide a false verification of the news item.
- the bogus link may cause the execution of an embedded JavaTM applet or JavaTM script which mimics the operation of verification program 420 but which obviously, does not and cannot perform a bona fide verification.
- an extra level of security is provided. This extra level of security is provided by requiring receiving party 500 to enter a shared secret 502 at the request of verifying program 420 before it is first used to verify the news item.
- the shared secret can be any form of information, data or code entered by the receiving party user and is stored locally to the client device, preferably in an encrypted format. It is a shared secret in the sense that it is secret to and shared between the receiving party and the verifying program. Verifying program 420 displays shared secret 502 to the receiving party upon verification of the news item to prove that it is the original verifying program and not a bogus link in a page made available by a third party.
- a bogus link in a page provided by a third party cannot fool a receiving party that it is the original verifying program because it will not know of or have access to shared secret 502 . Even if the third party is aware that shared secrets are used, the bogus link, when implemented as an embedded JavaTM applet or JavaTM script will, generally, not have access to the client device where shared secret 502 is stored. In any event, it will not have the key necessary to decrypt the encrypted shared secret.
- package 416 contains one or more certificates (not shown) in addition to certificate 404 .
- These additional certificates are part of a certification hierarchy in which certificate authority 200 is at the top level and provides the root public key, i.e. public key 204 and certificate 404 is at the lowest level and provides the public key necessary for verification—i.e. public key 408 .
- Public key 204 is used by verifying program 420 to validate an additional certificate at one level lower in the hierarchy, which certificate may itself contain a public key for validating a further additional certificate, and so on down the hierarchy.
- the penultimate certificate contains the public key for validating certificate 404 .
- certificate 404 contains public key 408 corresponding to private key 402 which belongs to news provider 400 .
- news item 412 is encrypted using this private key to generate encrypted version 414
- verifying program 420 uses public key 408 to decrypt encrypted version 414 when performing its verification.
- news provider 400 is itself a certificate authority and generates its own provate key 402 , public key 408 and certificate 404 for use as described above. Furthermore, news provider 400 also owns private key 202 , which it uses to sign certificate 404 , and public key 204 which is installed in client devices for validating certificate 404 .
- FIG. 4 is a flow diagram representing the procedure followed by verifying program 420 for verifying news item 412 provided in package 416 according to all the embodiments described above.
- the procedure starts at step 600 .
- the verifying program determines whether receiving party 500 has provided a shared secret which is still valid. If not, at step 604 receiving party 500 is queried for a shared secret and the verifying program continues to step 606 .
- the receiving party may enter ‘The cat sat on the mat’ as his/her shared secret.
- known methods of managing passwords are used to by verifying program 420 to manage shared secrets.
- shared secrets remain valid for a predetermined period after which a new shared secret is required from the receiving party.
- shared secret 502 remains valid for the lifetime of verifying program 420 .
- verifying program 420 proceeds to step 606 at which the certificate at the top level in the certificate hierarchy is checked using the root public key installed in the receiving party browser. In the first and third embodiments, there will be only one certificate provided in package 416 —i.e. certificate 404 —and this will thus be the toop level certificate.
- the verifying program checks whether the certificate is valid. The process of validating the top level certificate involves decrypting the digital signature of the certificate using root public key 204 and comparing the results obtained with the name and public key contained in the certificate. If they do not match, verifying program 420 proceeds to step 610 at which a message is displayed indicating the inability to verify the news item due to an invalid certificate. The verifying program then terminates a step 612 .
- step 614 determines whether there are further certificates provided in package 416 . This will be the case according to the second and fourth embodiments of the present invention. If there are further certificates, the verifying program proceeds to step 616 at which the certificate at the next level down in the certificate hierarchy is checked using the public key obtained from the previous certificate. The verifying program returns to step 608 to check the validity of the certificate and the process continues as described above until there are no further certificates to check and all the certificates have been validated at which point the verifying program proceeds to step 618 .
- verifying program 420 decrypts the encrypted version of the news item provided in the package 416 using public key 408 obtained from the lowest level certificate, i.e. certificate 404 .
- the verifying program checks whether the decrypted version of the news item matches the unencrypted version of the news item. If it does, the verifying program displays a message at step 622 confirming that the news item has been verified and also displays shared secret 502 to confirm its identity to receiving party 500 .
- FIG. 5 shows a web page 710 comprising the news item 702 of FIG. 3 together with confirmation of verification and shared secret 502 ‘The cat sat on the mat’ 712 . The verifying program then terminates at step 624 of FIG. 4 .
- the verifying program displays a message at step 626 indicating that the news item has been modified and also displays the decrypted version of the news item.
- FIG. 6 shows a web page 720 comprising a bogus news item 722 together with a message indicating that the original news item has been modified 724 .
- FIG. 7 shows a web page 730 comprising the decrypted version of the news item 702 .
- Verifying program 420 then terminates at step 624 of FIG. 4 .
- verifying program 420 displays shared secret 502 at step 626 when displaying a message indicating that the news item has been modified.
- no unencrypted version of news item 412 is included in package 416 .
- verifying program 420 In these four embodiments, verification by receiving party 500 is necessary to obtain an unencrypted version news item 412 . Thus, verifying program 420 must be used. Furthermore, verifying program 420 does not perform a match at step 620 , but displays the decrypted version of the news item together with the shared secret and then terminates.
- news item 412 is not encrypted in full.
- encrypted version 414 is a digital signature which enables verification but cannot be used to recover the original news item.
- verifying program 420 does not perform a decryption at step 618 , but checks the validity of unencrypted news item 412 using encrypted version 414 . If news item 412 is valid, a message is displayed confirming that the confirming that the news item is valid together with shared secret 502 . If not, a message is displayed indicating that the news item has been modified and verifying program 420 terminates.
- the term “content” and cognate terms denote information, data or code of any kind whatsoever which is transmissible using digital technology.
- the term “verifying” and cognate terms denote the process of verifying the identity of a provider of content or verifying that the content provided has not been modified since being digitally signed by the content provider.
- the term “digitally signing” and cognate terms denote the process of adapting or adding data to content so that the identity of a provider of content and the integrity of the content itself can be verified.
- the terms “Internet client device” or “client device” and cognate terms denote a computer or other digital equipment capable of accessing or receiving content transmitted over a public data network.
- Internet server denotes a computer or other digital equipment capable of transmitting content or making content available for transmission over a public data network.
- content provider and cognate terms denote a party transmitting content or making content available for transmission over a public data network.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
- Radar Systems Or Details Thereof (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
- This is a U.S. National Phase Application under 35 U.S.C. §371. Applicants claim the benefit of PCT/GB01/00345 filed Jan. 29, 2001, published in English under PCT Article 21(2), which claims priority to Great Britain Application 0003365.4, which was filed Feb. 14, 2000. The entire contents of PCT/GB01/00345 and 0003365.4 are incorporated herein by reference.
- This invention relates generally to methods of, computer programs for, and apparatus for providing and accessing digital content. More particularly, this invention relates to, but is not limited to, a method of and computer programs for transmitting, making available for transmission, accessing, or receiving content over a public data network such as the Internet.
- Public key infrastructure (PKI) decryption and verification capabilities are built into commercially available browsers such as Netscape Navigator™ and Microsoft Internet Explorer™. Microsoft Authenticode™ is a prior art system for securing the distribution of program code over the Internet which uses PKI (see “Software Publisher Digital IDs for Microsoft Authenticode Technology” at http://www.verisign.com/rsc/gd/dev/authenticode/intro.html). The functioning of Microsoft Authenticode™ will be discussed in detail below with reference to
FIG. 1 . -
FIG. 1 is a schematic diagram of the prior art system used by Microsoft Authenticode™ for distributing executable code. The diagram shows three main parties: apublisher 100 anend user 300 and acertificate authority 200. To publish software over the Internet using Microsoft Authenticode™,publisher 100 must first apply tocertificate authority 200 for a private and public key pair and for a certificate. Certificate authorities, such as Verisign Inc., are in the business of providing private and public key pairs to receiving parties. Moreover, they are responsible for checking the bona fides of their receiving parties and for providing digital certificates which may be provided as proof that the public key belongs to the receiving party and not a third party. On successful application,publisher 100 is provided with aprivate key 102 and acertificate 104 bycertificate authority 200.Certificate 104 contains thename 106 of the publisher, apublic key 108 provided to the publisher and adigital signature 110 fromcertificate authority 200 computed over bothname 106 andpublic key 108.Certificate authority 200 generatesdigital signature 110 using its ownprivate key 202, of which the correspondingpublic key 204 is made widely available to end users by being pre-installed in browsers such as Netscape Navigator™ and Microsoft Internet Explorer™. Thisdigital signature 110 serves to confirm thatpublic key 108 contained incertificate 104 belongs topublisher 100. For a detailed explanation of certificate authorities and digital certificates see “Internet Cryptography” by Richard E. Smith, 1997, published by Addison Wesley Longman, Inc., in particular chapter 12. - Having developed
software 112,publisher 100 encrypts the software using his/herprivate key 102 to generate an encryptedversion 114.Unencrypted software 112, encryptedsoftware 114 andcertificate 104 are then bundled together to form apackage 116. This package is made available for downloading by placing it on aweb server 118.End user 300, who downloadspackage 116 fromweb server 118, is able to authenticatesoftware 112 as follows. Pre-installed in the end user's browser ispublic key 204 belonging tocertificate authority 200. Using this, the end user is able to confirm thatpublic key 108 contained incertificate 104 belongs topublisher 100. This is because the browser is able to decryptdigital signature 110 usingpublic key 204 and compare the result withname 106 andpublic key 108 and becausecertificate 104 was signed bycertificate authority 200, which the browser trusts. Usingpublic key 108 obtained fromcertificate 104, the browser is able to decrypt encryptedversion 114 ofsoftware 112 and compare it to the unencrypted version of the software also provided. If the two match, the browser knows thatsoftware 112 originates frompublisher 100 and, furthermore, that it has not been modified since being encrypted. Thus,end user 300 is able to authenticate the source and integrity ofsoftware 112. - One disadvantage with the approach taken by Microsoft Authenticode™ is that it does not offer security from the program code provider directly—i.e. it does not allow the program code provider to act as a sole certificate authority or a low level certificate authority within a hierarchical certification system (see below for an explanation of these terms). One result of this disadvantage is that it does not allow the program code provider to arrange a level of security appropriate for its own purposes, the type of program code provided or the requirements of its receiving parties. A further result is that it does not engender trust of the program code provider directly since the authentication process appears to the receiving party to bear no relation to the program code provider but rather to Microsoft™.
- N Islam et al ‘A Flexible Security Model for Using Internet Content’ IBM Thomas J. Watson Research Center Publication, 28 Jun. 1997, XP 002138803 describes a system for downloading content over an untrusted network, such as the Internet, and for controlling its use on a client device, content is stamped using digital signatures and analysed by a stamped content usage system to verify the identity of the creator of the content and to verify that it has not been modified.
- The present invention addresses in general the security problems of providing content over the Internet identified above as well as the particular disadvantages of the approach taken by Microsoft Authenticode™ identified above. One objective of the present invention is to provide an easy to use system for providing verifiable content over a public data network such as the Internet. A further or alternate objective of the present invention is to provide a system for the provision of a news service over a public data network such as the Internet.
- A method of verifying an item of digital content, the method comprising the steps of:
- providing, at a first time, an item of digital content to a verifying program;
- the verifying program performing verification of the item of digital content; and
- the verifying program presenting a message to a user indicating whether the item of digital content is verified or not;
- characterised in that:
- the user provides, at a second time earlier than the first time, a data item to the verifying program, the verifying program stores the data item, and the data item, or data derived from the data item, is included in the message to indicate to the user that the item of digital content was verified by the verifying program.
- According to a second aspect of the present invention, there is provided a computer program for verifying an item of digital content, the computer program being arranged to:
- receive, at a first time, an item of digital content;
- verify the item of digital content; and
- present a message to the user indicating whether the item of digital content is verified or not;
- characterised in that:
- the computer program is arranged to query, at a second time earlier than the first time, a user for a data item, and to store the data item, and in that the data item, or data derived from the data item, is included in the message to indicate to the user that the item of digital content was verified by the computer program.
- According to a third aspect of the present invention, there is provided a method of providing a user with a verifiable item of digital content, the method comprising the following steps:
- displaying, on a display of a client device, an item of digital content; characterised by:
- displaying, on the display of the client device, a user interface, operable by a user of the client device to commence execution, at the client device, of a computer program for verifying the item of digital content.
- According to a fourth aspect of the present invention, there is provided one or more data packages comprising:
- data representing an item of digital content, capable of being displayed on the display of a client device;
- characterised in that:
- the one or more data packages comprise data representing a user interface, displayable on the display of the client device, and operable by a user of the client device to commence execution, at the client device, of a computer program for verifying the item of digital content.
- Because news is essentially factual content which, although of limited currency, is often of significant economic value, fraudulent third parties are often known to attempt to make financial or other gain from the dissemination of false news. As the perceived value of news depends much on its source, a third party may gain most by the impersonation, modification or substitution of content from a trusted news service. For instance, with the provision of financial news, such as stock market news, third parties may gain by disseminating misleading or false information whilst masquerading as the trusted news service. On the other hand, susceptibility to this kind of fraudulent activity could have damaging consequences for the reputation of a provider of news service. The above aspects of the invention are intended to provide ways to reduce such risks.
- There now follows, by way of example only, a detailed description of preferred embodiments of the present invention in which:
-
FIG. 1 is a schematic diagram showing the functioning of an authentication system of the prior art. -
FIG. 2 is a schematic diagram showing the functioning of the verification system of the present invention. -
FIG. 3 is a print out of a web page showing a news item and means for commencing execution of the verification program of the present invention. -
FIG. 4 is a flow diagram representing the procedure followed by the verifying program of the present invention. -
FIG. 5 is a print out of a web page showing the news item and a message verifying the news item according to the present invention. -
FIG. 6 is a print out of a web page showing a bogus news item and a message indicating that the news item has been modified according to the present invention. -
FIG. 7 is a print out of a web page showing the original unmodified news item according to the present invention. - PKI techniques are well known to those skilled in the art and generally depend on the fact that certain mathematical computations that are easy to compute in one direction are extremely difficult to compute in the other direction. The present invention is based on the algorithm developed by Ron Rivest, Adi Shamir, and Len Adelman of the Massachusetts Institute of Technology, known by those skilled in the art as the RSA algorithm, which relies on the fact that it can be relatively easy to multiply large prime numbers together but almost impossible to factor the resulting product.
- PKI techniques, such as the RSA algorithm, allow pairs of keys to be generated which can be used to encrypt data or to digitally sign data. One of the keys is called a “public key” and the other a “private key”. The private key is kept secret whereas the public key can be distributed freely. Data encrypted using the public key can only be decrypted by using the private key. This provides a mechanism whereby data can be transmitted over public networks in secret and can only be decrypted by the holder of the private key. Conversely, data encrypted using the private key can be decrypted by anyone holding the public key, but, crucially, any data which can be decrypted by the public key can only have been encrypted using the private key. This provides a mechanism whereby the holder of the private key can digitally sign data for transmission over a public network in such a way that anyone who holds the public key can verify that the data originates from the holder of the private key and that the data has not been modified since encryption. For a detailed explanation of PKI techniques and the RSA algorithm, see “Internet Cryptography” by Richard E. Smith, 1997, published by Addison Wesley Longman, Inc., in particular chapter 9. The computer programs of the present invention have been developed using application program interfaces (APIs) providing PKI, namely, the Baltimore PKI-Plus™ develops toolkit (see http://www.baltimore.com).
-
FIG. 2 is a schematic diagram of a first embodiment of the present invention. Anews provider 400 first applies to acertificate authority 200 to be provided with aprivate key 402 and adigital certificate 404 containing thename 406 of thenews provider 400, thepublic key 408 corresponding toprivate key 402, and thedigital signature 410 ofcertificate authority 200, as has been described above.News provider 400 generates a plain text news item, stored on a news server (not shown), and presents it in a browser-readable page of a format such as hyper-text mark-up language (HTML) or extensible mark-up language (XML) to form marked-upnews item 412.News provider 400 encrypts the news item using itsprivate key 402 thus generating anencrypted version 414 of the news item. -
Unencrypted news item 412,encrypted version 414 andcertificate 404 are then bundled together to form apackage 416 which is posted to aweb server 418 for access by receiving parties. Also posted toweb server 418 is averifying program 420, the function of which is described in detail below. A receivingparty 500, who wishes to accessnews item 412,first downloads package 416 fromweb server 418. The receiving party may then make use of the unencrypted news item without any verification if he/she desires. However, receivingparty 500 may wish to verify thatnews item 412 was generated bynews provider 400 and that it has not been modified. To do this, the receiving partydownloads verifying program 420 fromweb server 418 and stores it locally, if he/she has not already done so in respect of a previous news item accessed. - Receiving
party 500downloads package 416 containingnews item 412 using a browser application such as Netscape Navigator™ or Microsoft Internet Explorer™. The browser-readable page includes a link or other suitable means for downloading and launchingverifying program 420. Preferably, this takes the form of a part of the browser-readable page comprising the text “Click here to verify” which when clicked on by the receiving party activates executable code embedded in the browser-readable page which first checks whether verifyingprogram 420 has already been downloaded. If it has, execution of verifyingprogram 420 is commenced immediately. If not, verifyingprogram 420 is first downloaded fromweb server 418 before commencing execution. The executable code embedded in the browser-readable page is implemented using a Java™ applet or Java Script™.FIG. 3 shows aweb page 700 as displayed using a browser which comprises anews item 702 and alink 704 for downloading and/or launchingverifying program 420. - Preferably, verifying
program 420 takes the form of a plug-in which interoperates with the receiving party's browser. With Microsoft Internet Explorer™, the plug-inverifying program 420 is implemented as an ActiveX™ control or component. The verifying program is stored locally to the receiving party browser and generally needs only to be downloaded once, i.e. when the receiving party user first requests verification of thenews item 412. Preferably, theverifying program 420 is itself downloaded in a verifiable manner using digital signature techniques for distributing program code such as Microsoft Authenticode™ described above with reference toFIG. 1 . - Verifying
program 420 is separate fromnews item 412 andpackage 416 and, further, that it is downloaded independently. This is because a third party attempting to impersonatenews provider 300 may create a browser-readable page containing its own news item together with a bogus verifying element which gives the illusion that the news item originates from the trusted news provider and that it has not been modified. However, despite having downloaded verifyingprogram 420 independently ofpackage 416, there remains the possibility that a third party impersonatingnews provider 400 makes a browser-readable page available to receivingparty 500, which contains a bogus verifying link resembling the news provider's link for launching or downloadingverifying program 420. The third party may have arranged for the bogus link to provide a false verification of the news item. For instance, the bogus link may cause the execution of an embedded Java™ applet or Java™ script which mimics the operation ofverification program 420 but which obviously, does not and cannot perform a bona fide verification. - To prevent this type of activity fooling receiving parties into believing they have received bona fide news from a trusted news provider, an extra level of security is provided. This extra level of security is provided by requiring receiving
party 500 to enter a shared secret 502 at the request of verifyingprogram 420 before it is first used to verify the news item. The shared secret can be any form of information, data or code entered by the receiving party user and is stored locally to the client device, preferably in an encrypted format. It is a shared secret in the sense that it is secret to and shared between the receiving party and the verifying program. Verifyingprogram 420 displays shared secret 502 to the receiving party upon verification of the news item to prove that it is the original verifying program and not a bogus link in a page made available by a third party. A bogus link in a page provided by a third party cannot fool a receiving party that it is the original verifying program because it will not know of or have access to sharedsecret 502. Even if the third party is aware that shared secrets are used, the bogus link, when implemented as an embedded Java™ applet or Java™ script will, generally, not have access to the client device where shared secret 502 is stored. In any event, it will not have the key necessary to decrypt the encrypted shared secret. - The process of verifying
news item 412 using the verifying program will be described in detail later in this document. - According to a second embodiment of the present invention, which is a variant of the first embodiment described above,
package 416 contains one or more certificates (not shown) in addition tocertificate 404. These additional certificates are part of a certification hierarchy in whichcertificate authority 200 is at the top level and provides the root public key, i.e.public key 204 andcertificate 404 is at the lowest level and provides the public key necessary for verification—i.e.public key 408.Public key 204 is used by verifyingprogram 420 to validate an additional certificate at one level lower in the hierarchy, which certificate may itself contain a public key for validating a further additional certificate, and so on down the hierarchy. The penultimate certificate contains the public key for validatingcertificate 404. As with the first embodiment,certificate 404 containspublic key 408 corresponding toprivate key 402 which belongs tonews provider 400. Again, as with the first embodiment,news item 412 is encrypted using this private key to generateencrypted version 414, and verifyingprogram 420 usespublic key 408 to decryptencrypted version 414 when performing its verification. - According to third and fourth embodiments of the present invention, which are, respectively, variants of the first and second embodiments described above,
news provider 400 is itself a certificate authority and generates itsown provate key 402,public key 408 andcertificate 404 for use as described above. Furthermore,news provider 400 also ownsprivate key 202, which it uses to signcertificate 404, andpublic key 204 which is installed in client devices for validatingcertificate 404. -
FIG. 4 is a flow diagram representing the procedure followed by verifyingprogram 420 for verifyingnews item 412 provided inpackage 416 according to all the embodiments described above. The procedure starts atstep 600. Atstep 602, the verifying program determines whether receivingparty 500 has provided a shared secret which is still valid. If not, atstep 604 receivingparty 500 is queried for a shared secret and the verifying program continues to step 606. For example the receiving party may enter ‘The cat sat on the mat’ as his/her shared secret. Preferably, known methods of managing passwords are used to by verifyingprogram 420 to manage shared secrets. In one variation of the embodiments of the present invention, shared secrets remain valid for a predetermined period after which a new shared secret is required from the receiving party. In another variation, shared secret 502 remains valid for the lifetime of verifyingprogram 420. - If receiving
party 500 has provided a shared secret which is still valid, verifyingprogram 420 proceeds to step 606 at which the certificate at the top level in the certificate hierarchy is checked using the root public key installed in the receiving party browser. In the first and third embodiments, there will be only one certificate provided inpackage 416—i.e.certificate 404—and this will thus be the toop level certificate. Atstep 608 the verifying program checks whether the certificate is valid. The process of validating the top level certificate involves decrypting the digital signature of the certificate using rootpublic key 204 and comparing the results obtained with the name and public key contained in the certificate. If they do not match, verifyingprogram 420 proceeds to step 610 at which a message is displayed indicating the inability to verify the news item due to an invalid certificate. The verifying program then terminates astep 612. - If the certificate is
valid verifying program 420 proceeds to step 614 at which point it determines whether there are further certificates provided inpackage 416. This will be the case according to the second and fourth embodiments of the present invention. If there are further certificates, the verifying program proceeds to step 616 at which the certificate at the next level down in the certificate hierarchy is checked using the public key obtained from the previous certificate. The verifying program returns to step 608 to check the validity of the certificate and the process continues as described above until there are no further certificates to check and all the certificates have been validated at which point the verifying program proceeds to step 618. - At
step 618, verifyingprogram 420 decrypts the encrypted version of the news item provided in thepackage 416 usingpublic key 408 obtained from the lowest level certificate, i.e.certificate 404. Atstep 620 the verifying program checks whether the decrypted version of the news item matches the unencrypted version of the news item. If it does, the verifying program displays a message atstep 622 confirming that the news item has been verified and also displays shared secret 502 to confirm its identity to receivingparty 500.FIG. 5 shows aweb page 710 comprising thenews item 702 ofFIG. 3 together with confirmation of verification and shared secret 502 ‘The cat sat on the mat’ 712. The verifying program then terminates atstep 624 ofFIG. 4 . - If the news item does not match, the verifying program displays a message at
step 626 indicating that the news item has been modified and also displays the decrypted version of the news item.FIG. 6 shows aweb page 720 comprising abogus news item 722 together with a message indicating that the original news item has been modified 724.FIG. 7 shows aweb page 730 comprising the decrypted version of thenews item 702. Verifyingprogram 420 then terminates atstep 624 ofFIG. 4 . - In one variant of embodiments of the present invention, verifying
program 420 displays shared secret 502 atstep 626 when displaying a message indicating that the news item has been modified. - According to the fifth to eighth embodiments of the present invention, which are, respectively, variants of the first to fourth embodiments described above, no unencrypted version of
news item 412 is included inpackage 416. - In these four embodiments, verification by receiving
party 500 is necessary to obtain an unencryptedversion news item 412. Thus, verifyingprogram 420 must be used. Furthermore, verifyingprogram 420 does not perform a match atstep 620, but displays the decrypted version of the news item together with the shared secret and then terminates. - According to the ninth to twelfth embodiments of the present invention, which are, respectively, variants of the first to fourth embodiments described above,
news item 412 is not encrypted in full. Instead,encrypted version 414 is a digital signature which enables verification but cannot be used to recover the original news item. - In these four embodiments, a full unencrypted version of
news item 412 cannot be obtained fromencrypted version 414. Thus, verifyingprogram 420 does not perform a decryption atstep 618, but checks the validity ofunencrypted news item 412 usingencrypted version 414. Ifnews item 412 is valid, a message is displayed confirming that the confirming that the news item is valid together with sharedsecret 502. If not, a message is displayed indicating that the news item has been modified andverifying program 420 terminates. - In this document, the term “content” and cognate terms denote information, data or code of any kind whatsoever which is transmissible using digital technology. The term “verifying” and cognate terms denote the process of verifying the identity of a provider of content or verifying that the content provided has not been modified since being digitally signed by the content provider. The term “digitally signing” and cognate terms denote the process of adapting or adding data to content so that the identity of a provider of content and the integrity of the content itself can be verified. The terms “Internet client device” or “client device” and cognate terms denote a computer or other digital equipment capable of accessing or receiving content transmitted over a public data network. The terms “Internet server”, “web server”, “server” and cognate terms denote a computer or other digital equipment capable of transmitting content or making content available for transmission over a public data network. Further, the term “content provider” and cognate terms denote a party transmitting content or making content available for transmission over a public data network.
- It will be appreciated that the embodiments described above are not intended to be limiting. Modifications and variants may be employed without departing from the scope of the present invention, which is defined in the accompanying claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/688,817 US20130086387A1 (en) | 2000-02-14 | 2012-11-29 | Method for Certifying and Verifying Digital Web Content Using Public Cryptography |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0003365A GB2359156B (en) | 2000-02-14 | 2000-02-14 | Methods of computer programs for and apparatus for providing and accessing digital content |
GB0003365.4 | 2000-02-14 | ||
PCT/GB2001/000345 WO2001060020A1 (en) | 2000-02-14 | 2001-01-29 | Method for certifying and verifying digital web content using public cryptography |
US10/203,743 US8352379B2 (en) | 2000-02-14 | 2001-01-29 | Method for certifying and verifying digital web content using public cryptography |
US13/688,817 US20130086387A1 (en) | 2000-02-14 | 2012-11-29 | Method for Certifying and Verifying Digital Web Content Using Public Cryptography |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB2001/000345 Continuation WO2001060020A1 (en) | 2000-02-14 | 2001-01-29 | Method for certifying and verifying digital web content using public cryptography |
US10/203,743 Continuation US8352379B2 (en) | 2000-02-14 | 2001-01-29 | Method for certifying and verifying digital web content using public cryptography |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130086387A1 true US20130086387A1 (en) | 2013-04-04 |
Family
ID=9885560
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/203,743 Expired - Lifetime US8352379B2 (en) | 2000-02-14 | 2001-01-29 | Method for certifying and verifying digital web content using public cryptography |
US13/688,817 Abandoned US20130086387A1 (en) | 2000-02-14 | 2012-11-29 | Method for Certifying and Verifying Digital Web Content Using Public Cryptography |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/203,743 Expired - Lifetime US8352379B2 (en) | 2000-02-14 | 2001-01-29 | Method for certifying and verifying digital web content using public cryptography |
Country Status (8)
Country | Link |
---|---|
US (2) | US8352379B2 (en) |
EP (1) | EP1256224B1 (en) |
AT (1) | ATE378763T1 (en) |
AU (1) | AU3036201A (en) |
DE (1) | DE60131373T2 (en) |
GB (1) | GB2359156B (en) |
TW (1) | TWI246293B (en) |
WO (1) | WO2001060020A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017058967A1 (en) * | 2015-09-30 | 2017-04-06 | Microsoft Technology Licensing, Llc | Code signing service |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203838B1 (en) | 1999-09-09 | 2007-04-10 | American Express Travel Related Services Company, Inc. | System and method for authenticating a web page |
US9843447B1 (en) | 1999-09-09 | 2017-12-12 | Secure Axcess Llc | Authenticating electronic content |
AU7116800A (en) * | 1999-09-09 | 2001-04-10 | American Express Travel Related Services Company, Inc. | System and method for authenticating a web page |
GB9928722D0 (en) * | 1999-12-03 | 2000-02-02 | Pope Nicholas H | Validation system for secure electronic commerce |
US7694332B2 (en) | 2000-07-28 | 2010-04-06 | Verisign, Inc. | Digital receipt for a transaction |
US8452986B2 (en) * | 2004-07-02 | 2013-05-28 | Nxp B.V. | Security unit and protection system comprising such security unit as well as method for protecting data |
CA2490645A1 (en) * | 2004-12-16 | 2006-06-16 | Ibm Canada Limited - Ibm Canada Limitee | Data-centric distributed computing |
US10764264B2 (en) * | 2005-07-11 | 2020-09-01 | Avaya Inc. | Technique for authenticating network users |
US7574479B2 (en) * | 2006-01-24 | 2009-08-11 | Novell, Inc. | Techniques for attesting to content |
WO2008091716A1 (en) | 2007-01-26 | 2008-07-31 | Nitto Denko Corporation | Systems and methods for improving the performance of a photorefractive device |
CA2607537A1 (en) * | 2007-10-22 | 2009-04-22 | Ibm Canada Limited - Ibm Canada Limitee | Software engineering system and method for self-adaptive dynamic software components |
US8195692B2 (en) * | 2008-12-11 | 2012-06-05 | International Business Machines Corporation | System and method for managing semantic and syntactic metadata |
DE102011107795A1 (en) | 2011-07-15 | 2013-01-17 | Fresenius Medical Care Deutschland Gmbh | Method and device for remote monitoring and control of medical fluid management devices |
US20150220893A1 (en) * | 2014-02-05 | 2015-08-06 | Andrew Dale Jouffray | Software marketing and trade |
US9935945B2 (en) * | 2015-11-05 | 2018-04-03 | Quanta Computer Inc. | Trusted management controller firmware |
US10623188B2 (en) * | 2017-04-26 | 2020-04-14 | Fresenius Medical Care Holdings, Inc. | Securely distributing medical prescriptions |
US20210111902A1 (en) * | 2019-10-11 | 2021-04-15 | Qualcomm Incorporated | System information protection at a network function in the core network |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5894519A (en) * | 1996-04-09 | 1999-04-13 | France Telecom | Process for the dissimulaton of a secret code in a data authentication device |
US5933498A (en) * | 1996-01-11 | 1999-08-03 | Mrj, Inc. | System for controlling access and distribution of digital property |
US5948103A (en) * | 1996-06-26 | 1999-09-07 | Wacom Co., Ltd. | Electronic document security system, affixed electronic seal security system and electronic signature security system |
US6006322A (en) * | 1996-10-25 | 1999-12-21 | Sharp Kabushiki Kaisha | Arithmetic logic unit and microprocessor capable of effectively executing processing for specific application |
US6006332A (en) * | 1996-10-21 | 1999-12-21 | Case Western Reserve University | Rights management system for digital media |
US6327656B2 (en) * | 1996-07-03 | 2001-12-04 | Timestamp.Com, Inc. | Apparatus and method for electronic document certification and verification |
US20020059364A1 (en) * | 1999-02-08 | 2002-05-16 | Christopher M Coulthard | Content certification |
US6505179B1 (en) * | 1999-06-02 | 2003-01-07 | Kara Technology Incorporated | Verifying the authenticity of printed documents on universally available paper stock |
US7203838B1 (en) * | 1999-09-09 | 2007-04-10 | American Express Travel Related Services Company, Inc. | System and method for authenticating a web page |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5109413A (en) * | 1986-11-05 | 1992-04-28 | International Business Machines Corporation | Manipulating rights-to-execute in connection with a software copy protection mechanism |
US5136647A (en) * | 1990-08-02 | 1992-08-04 | Bell Communications Research, Inc. | Method for secure time-stamping of digital documents |
JP3073590B2 (en) * | 1992-03-16 | 2000-08-07 | 富士通株式会社 | Electronic data protection system, licensor's device and user's device |
GB9211648D0 (en) * | 1992-06-02 | 1992-07-15 | Racal Datacom Ltd | Data communication system |
IL110891A (en) * | 1993-09-14 | 1999-03-12 | Spyrus | System and method for data access control |
US6135646A (en) * | 1993-10-22 | 2000-10-24 | Corporation For National Research Initiatives | System for uniquely and persistently identifying, managing, and tracking digital objects |
WO1996002993A2 (en) * | 1994-07-19 | 1996-02-01 | Bankers Trust Company | Method for securely using digital signatures in a commercial cryptographic system |
US5715403A (en) * | 1994-11-23 | 1998-02-03 | Xerox Corporation | System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar |
US5629980A (en) * | 1994-11-23 | 1997-05-13 | Xerox Corporation | System for controlling the distribution and use of digital works |
US5613012A (en) * | 1994-11-28 | 1997-03-18 | Smarttouch, Llc. | Tokenless identification system for authorization of electronic transactions and electronic transmissions |
US5615268A (en) * | 1995-01-17 | 1997-03-25 | Document Authentication Systems, Inc. | System and method for electronic transmission storage and retrieval of authenticated documents |
US6367013B1 (en) * | 1995-01-17 | 2002-04-02 | Eoriginal Inc. | System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents |
US5748738A (en) * | 1995-01-17 | 1998-05-05 | Document Authentication Systems, Inc. | System and method for electronic transmission, storage and retrieval of authenticated documents |
US6237096B1 (en) * | 1995-01-17 | 2001-05-22 | Eoriginal Inc. | System and method for electronic transmission storage and retrieval of authenticated documents |
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5602933A (en) * | 1995-03-15 | 1997-02-11 | Scientific-Atlanta, Inc. | Method and apparatus for verification of remotely accessed data |
US5765152A (en) * | 1995-10-13 | 1998-06-09 | Trustees Of Dartmouth College | System and method for managing copyrighted electronic media |
US5963649A (en) * | 1995-12-19 | 1999-10-05 | Nec Corporation | Message authorization system for authorizing message for electronic document |
US5673316A (en) * | 1996-03-29 | 1997-09-30 | International Business Machines Corporation | Creation and distribution of cryptographic envelope |
US5815657A (en) * | 1996-04-26 | 1998-09-29 | Verifone, Inc. | System, method and article of manufacture for network electronic authorization utilizing an authorization instrument |
IL148925A0 (en) * | 1996-07-22 | 2002-09-12 | Cyva Res Corp | Personal information security and exchange tool |
US5765176A (en) * | 1996-09-06 | 1998-06-09 | Xerox Corporation | Performing document image management tasks using an iconic image having embedded encoded information |
JPH10133576A (en) * | 1996-10-31 | 1998-05-22 | Hitachi Ltd | Open key ciphering method and device therefor |
US6021202A (en) * | 1996-12-20 | 2000-02-01 | Financial Services Technology Consortium | Method and system for processing electronic documents |
US5872848A (en) * | 1997-02-18 | 1999-02-16 | Arcanvs | Method and apparatus for witnessed authentication of electronic documents |
US6005945A (en) * | 1997-03-20 | 1999-12-21 | Psi Systems, Inc. | System and method for dispensing postage based on telephonic or web milli-transactions |
US6370249B1 (en) * | 1997-07-25 | 2002-04-09 | Entrust Technologies, Ltd. | Method and apparatus for public key management |
US6330549B1 (en) * | 1997-10-30 | 2001-12-11 | Xerox Corporation | Protected shareware |
US5991399A (en) * | 1997-12-18 | 1999-11-23 | Intel Corporation | Method for securely distributing a conditional use private key to a trusted entity on a remote system |
US6151676A (en) * | 1997-12-24 | 2000-11-21 | Philips Electronics North America Corporation | Administration and utilization of secret fresh random numbers in a networked environment |
NL1007944C2 (en) * | 1997-12-31 | 1999-07-01 | Hadewe Bv | Registration of documents. |
JPH11212455A (en) * | 1998-01-22 | 1999-08-06 | Hitachi Ltd | Method and system for proving identity of original ordinary text from plural cipher texts |
US6226618B1 (en) * | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
WO2000011619A1 (en) * | 1998-08-21 | 2000-03-02 | Peha John M | Methods for generating a verifiable audit record and performing an audit |
GB2346460A (en) * | 1999-02-02 | 2000-08-09 | Rue De Int Ltd | Authenticating an item |
AU3360600A (en) * | 1999-02-08 | 2000-08-25 | Geotrust, Inc. | Content certification |
US6580683B1 (en) * | 1999-06-23 | 2003-06-17 | Dataplay, Inc. | Optical recording medium having a master data area and a writeable data area |
US6356937B1 (en) * | 1999-07-06 | 2002-03-12 | David Montville | Interoperable full-featured web-based and client-side e-mail system |
US6289455B1 (en) * | 1999-09-02 | 2001-09-11 | Crypotography Research, Inc. | Method and apparatus for preventing piracy of digital content |
-
2000
- 2000-02-14 GB GB0003365A patent/GB2359156B/en not_active Expired - Lifetime
-
2001
- 2001-01-18 TW TW090101193A patent/TWI246293B/en not_active IP Right Cessation
- 2001-01-29 EP EP01902504A patent/EP1256224B1/en not_active Expired - Lifetime
- 2001-01-29 WO PCT/GB2001/000345 patent/WO2001060020A1/en active IP Right Grant
- 2001-01-29 AU AU30362/01A patent/AU3036201A/en not_active Abandoned
- 2001-01-29 AT AT01902504T patent/ATE378763T1/en not_active IP Right Cessation
- 2001-01-29 DE DE60131373T patent/DE60131373T2/en not_active Expired - Lifetime
- 2001-01-29 US US10/203,743 patent/US8352379B2/en not_active Expired - Lifetime
-
2012
- 2012-11-29 US US13/688,817 patent/US20130086387A1/en not_active Abandoned
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933498A (en) * | 1996-01-11 | 1999-08-03 | Mrj, Inc. | System for controlling access and distribution of digital property |
US5894519A (en) * | 1996-04-09 | 1999-04-13 | France Telecom | Process for the dissimulaton of a secret code in a data authentication device |
US5948103A (en) * | 1996-06-26 | 1999-09-07 | Wacom Co., Ltd. | Electronic document security system, affixed electronic seal security system and electronic signature security system |
US6327656B2 (en) * | 1996-07-03 | 2001-12-04 | Timestamp.Com, Inc. | Apparatus and method for electronic document certification and verification |
US6006332A (en) * | 1996-10-21 | 1999-12-21 | Case Western Reserve University | Rights management system for digital media |
US6006322A (en) * | 1996-10-25 | 1999-12-21 | Sharp Kabushiki Kaisha | Arithmetic logic unit and microprocessor capable of effectively executing processing for specific application |
US20020059364A1 (en) * | 1999-02-08 | 2002-05-16 | Christopher M Coulthard | Content certification |
US6505179B1 (en) * | 1999-06-02 | 2003-01-07 | Kara Technology Incorporated | Verifying the authenticity of printed documents on universally available paper stock |
US7203838B1 (en) * | 1999-09-09 | 2007-04-10 | American Express Travel Related Services Company, Inc. | System and method for authenticating a web page |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017058967A1 (en) * | 2015-09-30 | 2017-04-06 | Microsoft Technology Licensing, Llc | Code signing service |
US10574459B2 (en) | 2015-09-30 | 2020-02-25 | Microsoft Technology Licensing, Llc | Code signing service |
Also Published As
Publication number | Publication date |
---|---|
US20030158823A1 (en) | 2003-08-21 |
ATE378763T1 (en) | 2007-11-15 |
GB2359156A (en) | 2001-08-15 |
GB2359156B (en) | 2004-10-13 |
US8352379B2 (en) | 2013-01-08 |
DE60131373T2 (en) | 2008-10-16 |
EP1256224B1 (en) | 2007-11-14 |
AU3036201A (en) | 2001-08-20 |
WO2001060020A8 (en) | 2001-12-20 |
GB0003365D0 (en) | 2000-04-05 |
EP1256224A1 (en) | 2002-11-13 |
DE60131373D1 (en) | 2007-12-27 |
TWI246293B (en) | 2005-12-21 |
WO2001060020A1 (en) | 2001-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130086387A1 (en) | Method for Certifying and Verifying Digital Web Content Using Public Cryptography | |
US7716243B2 (en) | Provisions for validating content using a content registration authority | |
US9673984B2 (en) | Session key cache to maintain session keys | |
US6430688B1 (en) | Architecture for web-based on-line-off-line digital certificate authority | |
US6424718B1 (en) | Data communications system using public key cryptography in a web environment | |
US7568114B1 (en) | Secure transaction processor | |
US20070118732A1 (en) | Method and system for digitally signing electronic documents | |
US20090006842A1 (en) | Sealing Electronic Data Associated With Multiple Electronic Documents | |
US8271788B2 (en) | Software registration system | |
JP2004023796A (en) | Selectively disclosable digital certificate | |
JP2004304304A (en) | Electronic signature generating method, electronic signature authenticating method, electronic signature generating request program and electronic signature authenticate request program | |
US20090003588A1 (en) | Counter Sealing Archives of Electronic Seals | |
JP2007072608A (en) | Device information transmission program, service control program, device information transmission apparatus, service control device, and method for transmitting device information | |
KR20010040248A (en) | Method and system for transient key digital time stamps | |
US7370206B1 (en) | Self-signing electronic documents | |
US7171000B1 (en) | Simplified addressing for private communications | |
JP2001331104A (en) | Method and device for digital signature | |
JP2010191801A (en) | Authentication system and authentication method | |
US9231941B1 (en) | Secure data entry | |
CN111314059B (en) | Processing method, device and equipment for account authority proxy and readable storage medium | |
US7330969B2 (en) | Method and apparatus for data validation | |
JPH11215121A (en) | Device and method for authentication | |
WO2009101478A2 (en) | Sealing electronic data | |
Weeks et al. | CCI-Based Web security: a design using PGP | |
Nützel et al. | Towards trust in digital rights management systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: REUTERS LIMITED, ENGLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FULTON, NICHOLAS;BUTLER, JAMES MATTHEW;CURTIS, MARK ANTHONY;AND OTHERS;SIGNING DATES FROM 20030221 TO 20030423;REEL/FRAME:038899/0655 |
|
AS | Assignment |
Owner name: THOMSON REUTERS GLOBAL RESOURCES, SWITZERLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:REUTERS LIMITED;REEL/FRAME:039011/0419 Effective date: 20150619 Owner name: REUTERS LIMITED, UNITED KINGDOM Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THOMSON REUTERS GLOBAL RESOURCES;REEL/FRAME:039011/0542 Effective date: 20150720 |
|
AS | Assignment |
Owner name: THOMSON REUTERS GLOBAL RESOURCES, SWITZERLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:REUTERS LIMITED;REEL/FRAME:040137/0502 Effective date: 20161025 |
|
AS | Assignment |
Owner name: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY Free format text: CHANGE OF NAME;ASSIGNOR:THOMSON REUTERS GLOBAL RESOURCES;REEL/FRAME:044298/0971 Effective date: 20161121 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA Free format text: SECURITY AGREEMENT;ASSIGNOR:THOMSON REUTERS (GRC) INC.;REEL/FRAME:047185/0215 Effective date: 20181001 Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH Free format text: SECURITY AGREEMENT;ASSIGNOR:THOMSON REUTERS (GRC) INC.;REEL/FRAME:047185/0215 Effective date: 20181001 |
|
AS | Assignment |
Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:THOMSON REUTERS (GRC) INC.;REEL/FRAME:047187/0316 Effective date: 20181001 Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AG Free format text: SECURITY AGREEMENT;ASSIGNOR:THOMSON REUTERS (GRC) INC.;REEL/FRAME:047187/0316 Effective date: 20181001 |
|
AS | Assignment |
Owner name: THOMSON REUTERS (GRC) INC., NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY;REEL/FRAME:048553/0154 Effective date: 20181126 |
|
AS | Assignment |
Owner name: THOMSON REUTERS (GRC) LLC, NEW YORK Free format text: CHANGE OF NAME;ASSIGNOR:THOMSON REUTERS (GRC) INC.;REEL/FRAME:047955/0485 Effective date: 20181201 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
AS | Assignment |
Owner name: REFINITIV US ORGANIZATION LLC, NEW YORK Free format text: CHANGE OF NAME;ASSIGNOR:THOMSON REUTERS (GRC) LLC;REEL/FRAME:048676/0377 Effective date: 20190228 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.), NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS, AS NOTES COLLATERAL AGENT;REEL/FRAME:055174/0811 Effective date: 20210129 Owner name: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.), NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:055174/0836 Effective date: 20210129 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |