Software registration system
Claim Score by NHIP
Abstract
There is described a computer network system in which a computer is in network communication with a server. In order to install a software package on the computer, installation software forming part of the software package is executed which requests entry of an email address for the user of the software package on the computer. The entered email address is then transmitted to the server, which in response sends an email to the email address including a Uniform Resource Locator (URL) addressing a local web server forming part of the software package, with installation information being appended to the URL. When the user of the computer accesses the URL using a web browser, the local web server automatically sends the installation information to the installation software. In this way, it is established that the user of the software package has access to the entered email address.

Term
4 yearsto projected expiry
Projected expiry 8 October 2030, counted from filing; an application has no term until it is granted.
- Priority and filed
- Published
- Today
- Projected expiry
19 claims: 4 independent, 15 dependent
- 1A computer network system comprising:a computer associated with the user of a software package, the computer having a web browser stored thereon and the software package including installation software and a local web server, wherein said installation software is operable, when executed, to send a network signal to the server conveying an electronic mail address associated with the user of the software package;and a server associated with a registration authority for the software package, wherein the server is operable, in response to receipt of the network signal conveying the email address associated with the user of the software package, to send an electronic mail message to said electronic mail address, the electronic mail message conveying a uniform resource locator addressing the local web server and conveying installation information, wherein in response to the web browser of the computer accessing the local web server using said uniform resource locator, the local web server is operable to convey said installation information to the installation software.
- 6A storage device storing a software package comprising a local web server and installation software, wherein the installation software comprises instructions for programming a programmable processing apparatus on which the software package is to be installed to send a network signal to a remote server conveying an email address associated with a user of the software package, and wherein the local web server comprises instructions for programming the programmable processing apparatus to, in response to being accessed by a web browser using a uniform resource locator conveying installation information, convey the installation information to the installation software.
- 11Broadest claimClaim Score 68, broad(NHIP)A signal conveying a software package comprising a local web server and installation software, wherein the installation software comprises instructions for programming a programmable processing apparatus on which the software package is to be installed to send a network signal to a remote server conveying an email address associated with a user of the software package, and wherein the local web server comprises instructions for programming the programmable processing apparatus to, in response to being accessed by a web browser using a uniform resource locator conveying installation information, convey the installation information to the installation software.
- 16A server associated with a registration authority for a software package, the server comprising:a network interface;a uniform resource locator generator operable to generate a uniform resource locator addressing a local web server and conveying installation information;and an electronic mail message generator operable, in response to a network signal received from a remote network apparatus via the network interface conveying an electronic mail address associated with a user of the software package, to generate an electronic mail message conveying said uniform resource locator and to send said generated electronic mail message to said electronic mail address associated with the user of the software package.
Independent claims4
105 paragraphs in 6 sections, as filed
FIELD OF THE INVENTION
0001This invention is concerned with the registration with a remote registration authority of software executed on a host computer. The invention particularly concerns the registration with the registration authority of an email address for the user of the software on the host computer.
BACKGROUND TO THE INVENTION
0002Many software applications now require to be registered with a registration authority, usually associated with the provider of the software, either prior to any use or prior to being able to utilise the full functionality of the software application. One piece of information which is commonly required by the registration authority is an email address for the user of the software. This may be required for the operation of the software application, to help prevent software piracy, or simply for marketing purposes. However, the verification of the submitted email address by the registration authority is a problem.
0003A software application for which it is important that the correct email address for the user is registered is an encrypted email application which utilises asymmetric encryption with the private and public keys for a user being calculated using the email address for the user. This allows a public key associated with the recipient of an electronic mail message to be used by the sender to encrypt the message. The resultant encrypted message can only be decrypted using a private key which is different from the corresponding public key, with access to the private key being controlled by the recipient of the electronic mail message.
0004As well as ensuring that a message is only read by a desired recipient, public key cryptography also enables the author of a message and the message content to be verified. In particular a digital signature can be added to the message, the digital signature being formed by encrypting a one-way hash of the message using the private key of the sender. The recipient of the message is then able to decrypt the digital signature using the public key of the sender and compare the result with a one-way hash of the received message to verify the identity of the sender and the content of the message.
SUMMARY OF THE INVENTION
0005An object of the present invention is to provide a software registration system which requires the user of the software to register an email address to which the user has access.
0006According to an aspect of the invention, there is provided a computer network system in which a computer is in network communication with a server. In order to install a software package on the computer, installation software forming part of the software package is executed which requests entry of an email address for the user of the software package on the computer. The entered email address is then transmitted to the server, which in response sends an email to the email address including a Uniform Resource Locator (URL) addressing a local web server forming part of the software package, with installation information being appended to the URL. When the user of the computer accesses the URL using a web browser, the local web server automatically sends the installation information to the installation software. In this way, it is established that the user of the software package has access to the entered email address.
0007In a preferred embodiment, the software package is an encryption program which performs asymmetric cryptography, and the installation information is used to establish a secure link which allows transmission of private keys to the computer.
BRIEF DESCRIPTION OF THE DRAWINGS
0008Various embodiments of the invention will now be described with reference to the attached Figures in which:
0009<figref idref="DRAWINGS">FIG. 1</figref> schematically shows the main components of a software registration system according to the invention;
0010<figref idref="DRAWINGS">FIG. 2</figref> schematically shows the main components of an encryption authority server forming part of the software registration system illustrated in <figref idref="DRAWINGS">FIG. 1</figref>;
0011<figref idref="DRAWINGS">FIG. 3</figref> schematically shows the main components of a client computer forming part of the software registration system illustrated in <figref idref="DRAWINGS">FIG. 1</figref>;
0012<figref idref="DRAWINGS">FIG. 4</figref> schematically shows the main program routines of an encryption plug-in to an email program forming part of the client computer illustrated in <figref idref="DRAWINGS">FIG. 3</figref>;
0013<figref idref="DRAWINGS">FIG. 5</figref> schematically shows a map of data associated with the encryption plug-in which is stored in the client computer illustrated in <figref idref="DRAWINGS">FIG. 3</figref>; and
0014<figref idref="DRAWINGS">FIGS. 6A and 6B</figref> show a flow chart schematically indicating the main steps performed to register the encryption plug-in with the encryption authority server.
DETAILED DESCRIPTION
System Overview
0015As shown in <figref idref="DRAWINGS">FIG. 1</figref>, in the illustrated embodiment a plurality of computers, of which only a sending computer <b>1</b><i>a </i>and a receiving computer <b>1</b><i>b </i>are shown in <figref idref="DRAWINGS">FIG. 1</figref> for ease of illustration, are connected to the Internet <b>3</b>. An encryption authority server <b>5</b> is also connected to the Internet <b>3</b>.
0016The sending computer <b>1</b><i>a </i>and the receiving computer <b>1</b><i>b </i>each have an email program with an encryption plug-in which enables the sending computer <b>1</b><i>a </i>to send an encrypted email to the receiving computer <b>1</b><i>b</i>. The encryption authority server <b>5</b> provides cryptographic keys for use by the encryption plug-in to the computers <b>1</b>.
0017In particular, in this embodiment the encryption authority server <b>5</b> issues a public key certificate providing a root public key K<sup>G</sup><sub>pub </sub>for the encryption algorithm described in WO 03/017559, the whole contents of which is incorporated herein by reference. According to this encryption algorithm, the public key K<sup>c</sup><sub>pub </sub>for a client having an electronic mail address “client_ID” is given by:
0000<br /><i>K</i><sub>pub</sub><sup>c</sup><i>=F</i>(client<sub>—</sub><i>ID,K</i><sub>pub</sub><sup>G</sup>)
0018where F is a publicly available function. In this way, the public key K<sup>c</sup><sub>pub </sub>associated with a client can be calculated by anyone knowing the email address of the client, the root public key K<sup>G</sup><sub>pub </sub>of the encryption authority and the function F (all of which are publicly available).
0019The private key associated with a client can only be calculated with knowledge of the root private key K<sup>G</sup><sub>pri</sub>, which is kept secret by the encryption authority administering the encryption authority server <b>5</b>. In particular, the private key K<sup>c</sup><sub>pri </sub>for a client having an electronic mail address “client_ID” is calculated by the encryption authority server <b>5</b> in accordance with the relation:
0000<br /><i>K</i><sub>pri</sub><sup>c</sup><i>=G</i>(client<sub>—</sub><i>ID,K</i><sub>pri</sub><sup>G</sup>)
0020where G is a function which is paired with F.
0021Throughout the remainder of this description, unless otherwise indicated reference to data being asymmetrically encrypted using a public key means that the data is encrypted using the asymmetric encryption algorithm described in WO 03/017559 with the public key forming the cryptographic key, and similarly reference to data being asymmetrically decrypted using a private key means that the data is decrypted using the asymmetric encryption algorithm described in WO 03/017559 with the private key forming the cryptographic key.
0022Reference will also be made throughout the description to data being symmetrically encrypted or decrypted using a symmetric key. Unless otherwise indicated, this refers to encryption or decryption of the data using the Advanced Encryption Standard (AES) algorithm using the symmetric key as the cryptographic key.
0023As the cryptographic keys are calculated using the email addresses of the users of the computers, the encryption authority wants to ensure that each private key is only distributed to someone who has legitimate access to the corresponding email address. In this embodiment, each email address has a corresponding transfer key which is used to symmetrically encrypt the private key for that email address when the private key is sent from the encryption authority server <b>5</b> to the computer <b>1</b> corresponding to the email address. During registration of an encryption plug-in, the transfer key is sent to the corresponding computer <b>1</b> in two parts, the first part being conveyed by a http signal to the computer <b>1</b> and the second part being conveyed in an email to the corresponding email address. In this way, the transfer key can only be recovered if the user of the computer <b>1</b> on which the encryption plug-in is loaded has access to the corresponding email address.
0024In this embodiment, the encryption plug-in includes a local web server and the email conveying the second part of the transfer key includes a Uniform Resource Locator (URL) addressing the local web server and conveying the second part of the transfer key. The user of the computer <b>1</b> simply has to enter the URL conveyed by the email into a conventional web browser program in order to initiate recovery of the transfer key by the encryption plug-in.
0025The encryption authority server <b>5</b> and the computers <b>1</b> will now be described in more detail.
The Encryption Authority Server
0026As shown in <figref idref="DRAWINGS">FIG. 2</figref>, the encryption authority server <b>5</b> has an operator interface <b>21</b>, a network interface <b>23</b>, a processor <b>25</b> and memory <b>27</b> interconnected by a bus system <b>29</b>.
0027The operator interface <b>21</b> includes a keyboard (not shown) for an operator to enter data into the encryption authority server <b>5</b> and a display (not shown) for allowing the operator to read data produced by the encryption authority server <b>5</b>. The operator interface <b>21</b> also includes a CD-ROM reader-writer (not shown) via which data stored on a CD-ROM <b>31</b> can be input into the encryption authority server <b>5</b> or data produced by the encryption authority server <b>5</b> can be written onto a recordable CD-ROM <b>31</b>.
0028The network interface <b>23</b> receives data from and outputs data to the Internet <b>3</b> in the form of network signals <b>33</b>.
0029The processor <b>25</b> performs processing operations in accordance with program routines stored in memory <b>27</b>. These program routines may be either stored during manufacture, or input to the encryption authority server <b>5</b> via the operator interface <b>21</b> or the network interface <b>23</b>. The program routines process data stored in the memory <b>27</b> and data received by the encryption authority server <b>5</b> via the operator interface <b>21</b> and the network interface <b>23</b>.
0030The memory <b>27</b> is formed by different types of memory having respectively different access times, and conventional processing techniques are employed to improve the speed of processing by caching data likely to be required into fast access time memory in advance.
0031The memory <b>27</b> includes a region <b>35</b> storing program routines used by the encryption authority server <b>5</b>, a region <b>37</b> storing data and a region <b>39</b> providing working memory.
0032In particular, the program routines memory region <b>35</b> stores:
0033a Master_Control routine <b>41</b>;
0034a Key_Maintenance sub-routine <b>43</b>;
0035a Register_Client sub-routine <b>45</b>;
0036a Supply_Private_Key sub-routine <b>47</b>; and
0037a Supply_Root_Public_Key sub-routine <b>49</b>.
0038The stored data memory region <b>37</b> stores:
0039a client database <b>51</b>; and
0040a key database <b>53</b>.
0041The Master_Control routine <b>41</b> co-ordinates the operations of the encryption authority server <b>5</b>. This includes executing the sub-routines when required.
0042It will be appreciated that the security of the user private keys is reliant on the root private key K<sup>G</sup><sub>pri </sub>remaining secret. As a precautionary measure, in this embodiment the Key_Maintenance sub-routine is periodically executed to generate new core public and private keys which are stored in the key database <b>53</b> along with the old public and private keys. In particular, the key database <b>53</b> stores data indicating core public and private key pairs and for each pair the time period for which that pair was active.
0043The Register_Client sub-routine <b>45</b> is initiated by the Master_Control sub-routine <b>41</b> in response to a registration request received by a prospective client. The Register_Client sub-routine <b>45</b> stores data, including an email address, relating to the client in the client database <b>51</b>, uses the Supply_Private_Key sub-routine <b>45</b> to calculate a client private key using the currently active core private key K<sup>G</sup><sub>pri </sub>corresponding to the email address for the client and supply the calculated client private key to the client. Subsequently, whenever the Key_Maintenance sub-routine <b>43</b> generates a new core private key K<sup>G</sup><sub>pri</sub>, the Key_Maintenance sub-routine <b>43</b> uses the Supply_Private_Key sub-routine <b>47</b> to calculate the new client private key for each client based on the new core private key, and supply the newly calculated client private keys to the clients.
0044The Supply_Root_Public_Key sub-routine <b>49</b> is initiated by the Master_Control routine <b>41</b> in response to a request for a root public key K<sup>G</sup><sub>pub</sub>, and supplies a public key certificate for the requested root public key K<sup>G</sup><sub>pub</sub>.
The Client Computers
0045The main components of a computer <b>1</b>, such as the sending computer <b>1</b><i>a </i>and the receiving computer <b>1</b><i>b</i>, will now be described with reference to <figref idref="DRAWINGS">FIGS. 3 to 5</figref>.
0046As shown in <figref idref="DRAWINGS">FIG. 3</figref>, a user computer <b>1</b> has an operator interface <b>61</b>, a network interface <b>63</b>, a processor <b>65</b> and memory <b>67</b> interconnected by a bus system <b>69</b>.
0047The operator interface <b>61</b> includes a keyboard (not shown) for an operator to enter data into the computer <b>1</b> and a display (not shown) for allowing the operator to read data produced by the computer <b>1</b>. The operator interface <b>61</b> also includes a CD-ROM reader-writer (not shown) via which data stored on a CD-ROM <b>71</b> can be input into the user computer <b>1</b> or data produced by the user computer <b>1</b> can be written onto a recordable CD-ROM <b>71</b>.
0048The network interface <b>63</b> receives data from and outputs data to the Internet <b>3</b> in the form of network signals <b>73</b>.
0049The processor <b>65</b> performs processing operations in accordance with program routines stored in the memory <b>67</b>. These program routines may be either stored during manufacture, or input to the user computer <b>1</b> via the operator interface <b>61</b> or the network interface <b>63</b>. The program routines process data stored in the memory <b>67</b> and data received by the computer <b>1</b> via the operator interface <b>61</b> and the network interface <b>63</b>.
0050The memory <b>67</b> is formed by different types of memory having respectively different access times, and conventional processing techniques are employed to improve the speed of processing by caching data likely to be required into fast access time memory in advance.
0051The memory <b>67</b> includes a region <b>75</b> storing program routines which may be executed by the computer <b>1</b>, a region <b>77</b> storing data and a region <b>79</b> providing working memory.
0052In particular, among other programs the program routines memory region <b>77</b> stores:
0053a conventional operating system <b>79</b> such as Microsoft Windows;
0054a conventional web browser <b>81</b> such as Microsoft Internet Explorer; and
0055an email program <b>83</b> including an encryption plug-in <b>85</b>.
0056Among other data, the stored data memory region stores:
0057user data <b>87</b>; and
0058encryption data <b>89</b> storing data associated with the encryption plug-in <b>85</b>.
0059<figref idref="DRAWINGS">FIG. 4</figref> shows in more detail the program routines of the encryption plug-in <b>85</b>. As shown, the encryption plug-in <b>85</b> includes:
0060a Master_Control routine <b>101</b>;
0061an Encrypt_Email sub-routine <b>103</b>;
0062a Decrypt_Email sub-routine <b>105</b>;
0063a Key_Maintenance sub-routine <b>107</b>;
0064a Registration sub-routine <b>109</b>; and
0065a local web server <b>111</b>.
0066<figref idref="DRAWINGS">FIG. 5</figref> shows in more detail the encryption data <b>89</b>. As shown, the encryption data <b>89</b> includes:
0067a current key store <b>121</b>;
0068a root public key store <b>123</b>;
0069a key archive <b>125</b>;
0070a future key store <b>127</b>; and
0071a transfer key <b>129</b>.
0072The Master_Control routines <b>101</b> controls the operations of the encryption plug-in <b>85</b>, using the sub-routines as required.
0073The Encrypt_Email sub-routine <b>103</b> is used when the user of the computer <b>1</b> wishes to send an encrypted email. In this embodiment, the Encrypt_Email sub-routine <b>103</b> generates a random session key for the message, and then symmetrically encrypts the message using the generated session key to form a DEM-part of the encrypted message. The Encrypt_Email sub-routine <b>103</b> then calculates the public key associated with each recipient for the message (using the email address of the recipient and the core public key K<sup>G</sup><sub>pub</sub>) and for each recipient asymmetrically encrypts the session key using the public key for that recipient. The Encrypt_Email sub-routine <b>103</b> then combines the resultant set of encrypted session keys with an encrypted session key formed by the session key encrypted using the public key associated with the sender (i.e. the user of the computer <b>1</b>) to form a KEM-part of the encrypted message. The Encrypt_Email sub-routine <b>103</b> then combines the KEM-part and the DEM-part to form the encrypted message.
0074The Decrypt_Email sub-routine <b>105</b> is used to decrypt an encrypted email. The Decrypt_Email sub-routine <b>105</b> extracts from the KEM-part of the encrypted email the encrypted session key which was encrypted using the public key for the user of the computer <b>1</b>. The Decrypt_Email sub-routine <b>105</b> then retrieves the user private key which was active at the time the message was sent, and asymmetrically decrypts the extracted encrypted session key using the retrieved user private key to recover the session key. The Decrypt_Email sub-routine <b>105</b> then decrypts the DEM-part of the received encrypted message using the recovered session key, and displays the decrypted message to the user.
0075Further details of the Encrypt_Email sub-routine <b>103</b> and the Decrypt_Email sub-routine <b>105</b> may be found in WO 2005/050908, the whole contents of which are hereby incorporated herein by reference.
0076The Key_Maintenance sub-routine periodically updates the root public key and the client public and private key pair in accordance with the updating of the root public and private key pair by the encryption authority. In particular, periodically the encryption authority server <b>5</b> sends a new client private key and a new root public key to the client computer <b>1</b>, and these new claims are stored in the future key store <b>127</b>. Then at a predetermined time the current cryptographic keys are shifted from the current key store <b>121</b> and root public key store <b>123</b> to the key archive <b>125</b>, and are replaced by the corresponding keys in the future key store <b>127</b>.
Client Registration
0077The Registration procedure will now be described with reference to <figref idref="DRAWINGS">FIGS. 6A and 6B</figref>.
0078In response to the user of the computer <b>1</b> requesting to activate the encryption plug-in <b>85</b>, the Master_Control sub-routine <b>101</b> starts, at S<b>1</b>, the Registration sub-routine <b>109</b>. The local web server <b>111</b> is then installed and the computer <b>1</b> identifies, at S<b>3</b>, a free port for use in communication with the local web server <b>111</b>. The computer <b>1</b> then displays, at S<b>5</b>, a registration form including an input field for receiving the email address of the user of the computer <b>1</b>.
0079After receiving, at S<b>7</b>, the user details input to the registration form including the user email address, the computer generates, at S<b>9</b>, a random session key and encrypts, at S<b>11</b>, the generated session key using a public key associated with the encryption authority server <b>5</b>. The computer <b>1</b> then sends, at S<b>13</b>, an http request signal conveying a Uniform Resource Locator (URL) of the form: <ul id="ul0001" list-style="none"><li id="ul0001-0001" num="0000"><ul id="ul0002" list-style="none"><li id="ul0002-0001" num="0080">http://www.ea.com/reg?mail=a@b.com?key=12AB7?port=8080</li></ul></li></ul>
0081where www.ea.com is network address information for the encryption authority server <b>5</b>, mail=a@b.com is a query conveying the email address input by the user, key=12AB7 is a query conveying the encrypted session key, and port=8080 is a query conveying the port identified for communication with the local web server <b>111</b>.
0082On receiving, at S<b>15</b>, the http signal from the computer <b>1</b>, the encryption authority server <b>5</b> initiates a web service which executes the Register_Client sub-routine <b>45</b>. The encryption authority server <b>5</b> decrypts the encrypted session key using a private key associated with the encryption authority to recover the session key, and then generates, at S<b>17</b>, a random transfer key. This random transfer key is used to encrypt using a symmetric encryption algorithm any client private key sent to the computer <b>1</b> for use with the input email address.
0083The encryption authority server <b>5</b> then splits, at S<b>19</b>, the transfer key into two parts and encrypts each part using the session key. The encryption authority server <b>5</b> then sends, at S<b>21</b>, the first encrypted transfer key part to the computer <b>1</b> in the form of a http response signal. On receiving, at S<b>23</b>, the http response signal, the computer <b>1</b> symmetrically decrypts the first encrypted transfer key part using the session key to recover the first transfer key part.
0084The encryption authority server <b>5</b> also sends, at S<b>25</b>, an email to the computer <b>1</b> conveying a URL which addresses the local web server <b>111</b> and conveying the second encrypted transfer key part. In particular, the URL is of the form: <ul id="ul0003" list-style="none"><li id="ul0003-0001" num="0000"><ul id="ul0004" list-style="none"><li id="ul0004-0001" num="0085">http://127.0.0.1:8080/?keypart=342A1</li></ul></li></ul>
0086where 127.0.0.1 is conventionally the network address of a local web server, 8080 is the port identified for communication with the local web server, and keypart=342A1 is a query conveying the second encrypted transfer key part.
0087After receiving, at S<b>27</b>, the email, the computer <b>1</b> waits, at S<b>29</b>, until the user opens the email and accesses the URL conveyed by the email. In this embodiment, the email program <b>83</b> allows the user to use the web browser <b>81</b> to access the URL simply by clicking on the text of the URL in the email. Alternatively, the user can copy the text into the address field for the web browser <b>81</b>. When the user accesses the URL, the local web server <b>111</b> supplies, at S<b>31</b>, the second encrypted transfer key part to the Registration sub-routine and supplies a web page to the web browser indicating that registration is complete.
0088The computer <b>1</b> then symmetrically decrypts, at S<b>33</b>, the second encrypted transfer key part using the session key to recover the second transfer key part, and combines the first transfer key part and the second transfer key part to recover the transfer key. The recovered transfer key is stored in the transfer key part <b>129</b> of the encryption data <b>89</b>.
0089As described above, in order to recover the transfer key the user must have access to both the computer <b>1</b> and the email address which is used to generate the public key. Further, the user of the local web server <b>111</b> to extract the second encrypted transfer key part from the email provides a convenient mechanism which reduces the chance of user error.
MODIFICATIONS AND FURTHER EMBODIMENTS
0090In the illustrated embodiment, the encryption authority appends part of a transfer key, used in the transmission of private keys, to a URL which is included in an email. This transfer key part is integral to the correct working of the encryption software.
0091In alternative embodiments, other types of installation information could be appended to the URL conveyed by the email. For example, the installation information may be a registration code issued by the registration authority which is required to activate a software package. In other embodiments, the computer on which the software package is being installed sends a random code to a server along with the user email address, the server appends the received random code to the URL, and the computer verifies that the received random code is the same as the sent random code. In all these cases, the computer is able to verify that the user of a software package on the computer has access to an email address which is requested by the software package during installation.
0092In the illustrated embodiment, the URL accesses a local web server. Those skilled in the art will be aware that such accessing is normally permitted by firewall software. When the web address for the local web server is accessed by a web browser, in addition to providing information required to complete installation of the software package to installation software, the local web server may supply data to the web browser for a web page displaying installation information to the user.
0093In the illustrated embodiment, the encryption authority server <b>5</b> generates a root private key and root public key pair. This generation involves some form of random number generation so that the generated keys are not predefined. Once the root private key is generated, the user private keys can be calculated from the root private key and some form of identifier for the user. Similarly, once the root public key is generated the user public keys can be calculated from the root public key and the identifier for the user. In particular, calculation of the user private and public keys does not require any random number generation and it is a repeatable calculation yielding the same result each time whenever and wherever it is performed.
0094In the illustrated embodiment, the asymmetric encryption algorithm discussed in WO 03/017559 is used. It will be appreciated that alternative algorithms with the same overall functionality could be used, for example the algorithm discussed in “ID based cryptosystems with pairing on elliptic curve” by R. Sakai and M. Kasahara, Cryptology ePrint archive, Report 2003/054 and the algorithm discussed in “An Efficient ID-KEM Based On the Sakai-Kasahara Key Construction” by Chen et al, Cryptology ePrint archive, Report 2005/224 (both of which publications are hereby incorporated herein by reference).
0095Further, the asymmetric encryption algorithm need not determine the public key for a client using the client identity, and any asymmetric encryption algorithm, for example the RSA algorithm, could be used.
0096While in the illustrated embodiment symmetric encryption is performed using the AES encryption algorithm, it will be appreciated that other symmetric encryption algorithms could be used, for example the DES algorithm.
0097In the illustrated embodiment, the user computers are conventional personal computers. It will be appreciated that such personal computers may be, for example, of the laptop or desktop variety. Further, the user computer could be formed by other types of computer apparatus such as a thin client or a personal digital assistant (PDA).
0098Although the illustrated embodiment of the invention comprises computer apparatus (such as personal computers and servers) and processes performed in the computer apparatus, the invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of source code, object code, a code intermediate source and object codes such as in a partially compiled form, or in any other form suitable for using the implementation of the processes according to the invention.
0099The carrier may be any entity or device capable of carrying the program. For example, the carrier may comprise a storage medium, such as a ROM, for example a CD-ROM or a semi-conductor ROM, or a magnetic recording medium, for example a floppy disk, or a hard disk. Further, the carrier may be a transmissible carrier such as an electronic or optical signal which may be conveyed via electrical or optical cable or by radio or other means.
0100When the program is embodied in a signal which may be conveyed directly by cable or other device or means, the carrier may be constituted by such cable or other device or means. Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant processes.
0101Although in the described embodiments the invention is implemented using software, it will be appreciated that alternatively the invention could be implemented using hardware devices, or a combination of hardware devices and software.
Contents6
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10587718B2 | Cited by | United States of America | Search report |
| US10764327B2 | Cited by | United States of America | Search report |
| CN108521349A | Cited by | China | Search report |
| US2018212994A1 | Cited by | United States of America | Search report |
| US2015007167A1 | Cited by | United States of America | Pre-grant |
| US10361867B2 | Cited by | United States of America | Search report |
| US2017075670A1 | Cited by | United States of America | Pre-grant |
| US10547444B2 | Cited by | United States of America | Search report |
| US11106445B2 | Cited by | United States of America | Search report |
| US2016241390A1 | Cited by | United States of America | Pre-grant |
| US10601795B2 | Cited by | United States of America | Search report |
| US9684499B2 | Cited by | United States of America | Search report |
| US10540161B2 | Cited by | United States of America | Search report |
| US9886256B2 | Cited by | United States of America | Search report |
| US11122144B2 | Cited by | United States of America | Search report |
| US10101983B2 | Cited by | United States of America | Search report |
| US2016132311A1 | Cited by | United States of America | Pre-grant |
| US11593083B2 | Cited by | United States of America | Applicant |
| US2003051172A1 | Cites | United States of America | Pre-grant |
| US2004187027A1 | Cites | United States of America | Pre-grant |
| US2006021057A1 | Cites | United States of America | Pre-grant |
| US2006173974A1 | Cites | United States of America | Pre-grant |
| US2008118070A1 | Cites | United States of America | Pre-grant |
| US2009034714A9 | Cites | United States of America | Pre-grant |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 58201706 | United States of America | A | |
| US20060582017 | – | – | – |
53 transactions on the USPTO file
Allowed after 2 non-final rejections, 2 final rejections, 1 RCE and 1 appeal.
- Non-final rejections
- 2
- Final rejections
- 2
- RCEs
- 1
- Appeals
- 1
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Entity status set to undiscounted (initial default setting or status change)BIG. | BIG. | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Interview Summary - Examiner InitiatedEXIE | EXIE | |
| Mail Applicant Initiated Interview SummaryMEXIA | MEXIA | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Interview Summary- Applicant InitiatedEXIA | EXIA | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Appeal Brief Review CompleteAPBR | APBR | |
| Appeal Brief FiledAP.B | AP.B | |
| Notice of Appeal FiledN/AP | N/AP | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Sent to Classification ContractorPGPC | PGPC | |
| Application Is Now CompleteCOMP | COMP | |
| Additional Application Filing FeesADDFLFEE | ADDFLFEE | |
| A statement by one or more inventors satisfying the requirement under 35 USC 115, Oath of the ApplicOATHDECL | OATHDECL | |
| Notice Mailed--Application Incomplete--Filing Date AssignedINCD | INCD | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
11 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20080091947
- Publication, DOCDB
- 2008091947
- Publication, EPODOC
- US2008091947
- Application
- 11582017
- Application, DOCDB
- 58201706
- Application, EPODOC
- US20060582017
Titles
- English
- Software registration system
Patent term adjustment
- A delay
- +986 daysthe office missed an examination deadline
- B delay
- +601 dayspendency past three years
- Overlap
- −63 daysdelays counted once
- Applicant delay
- −72 days
- Net adjustment
- 1,452 days
Classification
- CPC, 1
- H04L63/0442
- IPC, 1
- H04L9 32
- USPC, 1
- 713171000