METHOD FOR CERTIFYING AND VERIFYING DIGITAL WEB CONTENT USING PUBLIC CRYPTOGRAPHY

Abstract: There is provided a method of, computer programs for and apparatus for providing and accessing digital content such as a news item. A news provider generates a news item, creates a digitally signed version of the news item and packages them together with a digital certificate issued by a certificate authority containing the public key required to decrypt the digitally signed version. The package is posted to a server and is transmitted, or made available or transmission, over a public data network together with a computer program for verifying the news item. A receiving party receives, over the public data network, the package at a client device and is provided with means for launching, and if necessary first downloading, the verifying program. The verifying program uses the public key contained in the certificate to verify the digitally signed news item. Before being first used to verify a news item, the verifying program receives a shared secret from the receiving party which is stored locally to the client device and is used by the verifying program to confirm that it performed the verification process.

Description: METHOD FOR CEPTIFYING AND VERIFYING DIGITAL WEB CONTENT USING PUBLIC CRYPTOGRAPHY Technical Field 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. Background 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.vensign.com/rsc/gd/dev/authenticode/intro.html). The functioning of Microsoft Authenticode™ will be discussed in detail below with reference to Figure 1. Figure 1 is a schematic diagram of the prior art system used by Microsoft Authenticode™ for distributing executable code. The diagram shows three main parties: a publisher 100 an end user 300 and a certificate authority 200. To publish software over the Internet using Microsoft Authenticode™, publisher 100 must first appl / to certificate authority 200 for a private and public key pair and for a certificate. Certificate authorities, such as Nerisign 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 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 1 10 from certificate authority 200 computed over both name 106 and public key 108. Certificate authority 200 generates digital signature 1 10 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 Navigator™ and Microsoft Internet Explorer™. This digital signature 1 10 serves to confirm that public key 108 contained in certificate 104 belongs to publisher 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 1 12, publisher 100 encrypts the software using his/her private key 102 to generate an encrypted version 1 14. Unencrypted software 1 12, encrypted software 1 14 and certificate 104 are then bundled together to form a package 1 16. 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. This is because the browser is able to decrypt digital signature 1 10 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. Using public key 108 obtained from certificate 104, the browser is able to decrypt encrypted version 1 14 of software 1 12 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 1 12. 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™. 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. Summary of the Invention According to a first aspect of the present invention, there is provided a method of verifying content using a computer program, wherein said verifying program receives data from a user and said data is used by the verifying program to indicate to the user that the content was verified by the verifying program. According to a second aspect of the present invention, there is provided a computer program for verifying content, wherein said computer program is adapted to receive data from a user and to use said data to indicate to the user that the content was verified by the computer program. According to a third aspect of the present invention, there is provided a method of providing, over a public data network, content and a computer program for verifying the content, wherein said verifying program receives data from a user and said data is used by the verifying program to indicate to the user that the content was verified by the verifying program. According to a fourth aspect of the present invention, there is provided a method of displaying, on a display of a client device, content and means for commencing execution, at the client device, of a computer program for verifying the content, said means being operable by a user of the client device. According to a fifth aspect of the present invention, there is provided a data package comprising content and means for commencing execution of a computer program for verifying the content, said means being operable by a user of a client device receiving the data package. According to a sixth aspect of the present invention, there is provided a method of providing a news item over a public data network comprising the following steps: a) producing a news item, b) digitally signing the news item, c) transmitting the signed news item over the public data network, or making the signed news item available for transmission over the public data network According to a seventh aspect of the present invention, there is provided a method of accessing a news item over a public data network comprising the following steps a) receiving a digitally signed ne\ r s item at a client device, b) verifying the news item using a computer program. According to an eighth aspect of the present invention, there is provided a method of providing content over a public data network comprising the following steps a) producing the content; b) digitally signing the content, c) transmitting the signed content over the public data network, or making the signed content available tor transmission over the public data network; d) transmitting a computer program for verifying the content over the public data network, or making the verifying program available for transmission over the public data network, said verifying program being separate from and transmissible independently of the signed 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: Brief Description of the Drawings 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. Detailed Description of the Preferred Embodiments PKI techniques i-re 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 v/hich 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., which is incorporated herein by reference, 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™ developers toolkit (see http //www baltimore.com). First Embodiment Figure 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 ol 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. 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. lso 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 i ews 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 Navigator™ or Microsoft Internet Explorer™. The browser-readable page includes a link or other suitable means for downloading and launching verifying 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 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 Java™ applet or Java Script™. 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. 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-in verifying 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 the news item 412. Preferably, the verifying 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 to Figure 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 For instance, the bogus link may cause the execution of an embedded Java™ applet or Java™ script which mimics the operation of verification 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 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. Nerifying 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 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. Second Embodiment 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 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. As with the first embodiment, certificate 404 contains public key 408 corresponding to private key 402 which belongs to news provider 400. Again, as with the first embodiment, news item 412 is encrypted using this private key to generate encrypted version 414, and verifying program 420 uses public key 408 to decrypt encrypted version 414 when performing its verification. Third and Fourth Embodiments 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 it. elf a certificate authority and generates its own private 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 tor validating certificate 404. Figure 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 At step 602, 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. Fore 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 by verifying program 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 verifying program 420. If receiving party 500 has provided a shared secret which is still valid, 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 top level certificate. At step 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 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. If the certificate is valid verifying program 420 proceeds to step 614 at which point it 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. At 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. At step 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 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. 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 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. Nerifying program 420 then terminates at step 624 of Fig 4. In one variant of embodiments of the present invention, verifying program 420 displays shared secret 502 at step 626 when displaying a message indicating that the news item has been modified. Fifth to Eighth Embodiments 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 in package 416. 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 Ninth to Twelfth Embodiments 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 from encrypted version 414. Thus, 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. 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 sιn;e being digitally signed by the content provider. The term "digitally signini " 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 netwoik. 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 fiom the scope of the present invention, which is defined in the accompanying claims

Claims: Claims 1. A method of verifying content using a computer program, wherein said verifying program receives data from a user and said data is used by the verifying program to indicate to the user that the content was verified by the verifying program. 2. A method according to claim 1 , wherein the verifying program is received over a public data network by a client device and said verifying program is executed on said client device. 3. A method according to claim 2, wherein the content is received over a public data network by the client device together with means for commencing execution of the verifying program. 4. A method according to any of claims 2 to 3, wherein the content is displayed by the client device using a browser, and the verifying program is a plug-in for said browser. 5. A method according to any of claims 2 to 4. wherein the data is stored locally to the client device. 6. A method according to any of claims 1 to 5, wherein the data is stored in an encrypted format. 7. A method according to any of claims 1 to 6, wherein the content comprises a news item. 8. A method according to any of claims 1 to 7, wherein the verifying program uses a digital signature to verify the content. 9. A computer program for verifying content, wherein said computer program is adapted to receive data from a user and to use said data to indicate to the user that the content was verified by the computer program. 10. A computer program according to claim 9, wherein the computer program is adapted to be received over a public data network by a client device and to be executed on said client device. 1 1. A computer program according to claim 10, wherein said computer program is adapted to be executed when the content is received over a public data network by the client device together with means for commencing execution of the computer program. 12. A computer program according to any of claims 10 to 1 1 , wherein the content is displayed by the client device using a browser, and the computer program is a plug-in for said browser. 13. A computer program according to any of claims 10 to 12, wherein said computer program is adapted to store said data locally to the client device 14 A computer program according to any of claims 9 to 13, wherein said data is stored in an encrypted format. 15. A computer program according to any of claims 9 to 14, wherein the computer program uses a digital signature to verify the content 16. A method of providing, over a public data network, content and a computer program for verifying the content, wherein said verifying program receives data from a user and said data is used by the verifying program to indicate to the user that the content was verified by the verifying program 17. A method according to claim 16, wherein the content and verifying program are transmitted independently, or made available for transmission independently, over the public data network 18. A method according to claims 16 or 17, wherein the verifying program is received over the public data network by a client device and said verifying program is executed on said client device 19 A method according to claim 18, wherein the content is received over the public data network by the client device together with means for commencing execution of the verifying program 20 A method according to claim 18 or 19, wherein the content is displayed by the client device using a browser, and the verifying program is a plug-in for said browser. 21 A method according to any of claims 18 to 20, wherein the data is stored locally to the client device 22. A method according to any of claims 16 to 21, wherein the data is stored in an encrypted format. 23. A method according to any of claims 16 to 22, wherein the content comprises a news item 24. A method according to any of claims 16 to 23, wherein the verifying program uses a digital signature to verify the content. 25. A method of displaying, on a display of a client device, content and means for commencing execution, at the client device, of a computer program for verifying the content, said means being operable by a user of the client device. 26. A method according to claim 25, wherein the means for commencing execution of the verifying program comprises means for first checking whether the verifying program is already stored locally to the client device and, if not, means for arranging for the retrieval, over a public data network, of the verifying program at the client device. 27. A method according to claim 25 or 26, wherein said verifying program receives data from a user of said client device and said data is used by the verifying program to indicate to the user that the content was verified by the verifying program. 28. A method according to any of claims 25 to 27, wherein the content comprises a news item. 29. A method accorling to any of claims 25 to 28, wherein the means for execution comprises an element of a display screen including, or associated with, said content. 30. A data package comprising content and means for commencing execution of a computer program for verifying the content, said means being operable by a user of a client device receiving the data package. 31. A data package according to claim 30, wherein the means for commencing execution of the verifying program comprises means for first checking whether the verifying program is already stored locally to the client device and, if not, means for receiving, over a public data network, the verifying program at the client device. 32. A data package according to claim 30 or 31, wherein said verifying program receives data from a user of the client device and said data is used by the verifying program to indicate to the user that the content was verified by the verifying program. 33. A data package according to any of claims 30 to 32, wherein the content comprises a news item. 34. A method of providing a news item over a public data network comprising the following steps: a) producing a news item, b) digitally signing the news item, c) transmitting the signed news item over the public data network, or making the signed news item available for transmission over the public data network. 35 A method according to claim 34, comprising the further step. d) transmitting the over the public data network, or making available for transmission over the public data network, a computer program for verifying the news item. 36. A method according to claim 35 wherein said verifying program receives data from a user and said data is used by the verifying program to indicate to the user that the news item was verified by the verifying program 37. A method according to claim 36, wherein the news item and verifying program are transmitted independently, or made available for transmission independently, over the public data network 38. A method according to claims 36 or 37, wherein the verifying program is received over the public data network by a client device and said verifying program is executed on said client device. 39. A method according to claim 40, wherein the news item is received over the public data network by the client device together with means for commencing execution of the verifying program. 40. A method according to claim 38 or 39, wherein the news item is displayed by the client device using a browser, and the verifying program is a plug-in for said browser. 41. A method according to any of claims 38 to 40, wherein the data is stored locally to the client device. 42. A method according to any of claims 36 to 41 , wherein the data is stored in an encrypted format. 43. A method of accessing a news item over a public data network comprising the following steps: a) receiving a digitally signed news item at a client device; b) verifying the news item using a computer program. 44. A method according to claim 43 wherein the verifying program is received at said client device prior to performing step b), and said verifying program is executed on said client device. 45. A method according to claim 44, wherein said verifying program receives data from a user and said data is used by the verifying program to indicate to the user that the content was verified by the verifying program. 46. A method according to any of claims 43 to 45, wherein the content is received by the client device together with means for commencing execution of the verifying program. 47. A method according to any of claims 43 to 46, wherein the content is displayed by the client device using a browser, and the verifying program is a plug-in for said browser. 48. A method of providing content over a public data network comprising the following steps: a) producing the content; b) digitally signing the content; c) transmitting the signed content over the public data network, or making the signed content available for transmission over the public data network; d) transmitting a computer program for verifying the content over the public data network, or making the verifying program available for transmission over the public data network, said verifying program being separate from and transmissible independently of the signed content.

Inventors: BUTLER JAMES MATTHEW, CURTIS MARK ANTHONY, FULTON NICHOLAS GRANT, PARROTT DAVID JOHN, WHITEHEAD MILES JONATHAN, WU HUI, BUTLER, JAMES, MATTHEW, CURTIS, MARK, ANTHONY, FULTON, NICHOLAS, GRANT, PARROTT, DAVID, JOHN, WHITEHEAD, MILES, JONATHAN, WU, HUI
Applicants: BUTLER JAMES MATTHEW, CURTIS MARK ANTHONY, FULTON NICHOLAS GRANT, PARROTT DAVID JOHN, REUTERS LTD, WHITEHEAD MILES JONATHAN, WU HUI, BUTLER, JAMES, MATTHEW, CURTIS, MARK, ANTHONY, FULTON, NICHOLAS, GRANT, PARROTT, DAVID, JOHN, REUTERS LIMITED, WHITEHEAD, MILES, JONATHAN, WU, HUI
Application year: 2001
Main classification: H04L29
IPC codes: G06F1, G06F21