This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. P2007-336507, filed on Dec. 27, 2007, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a technique for realizing synchronization of information stored in a plurality of information terminal devices while maintaining the consistency of the plurality of information.
2. Description of the Related Art
In recent years, multiple information terminal devices such as personal computers, PDAs (Personal Digital Assistance), etc. can be connected to a network owing to the development of the Internet Communication Technology. The server unit connected to a network provides services to these information terminal devices. As a part of such services, the management of various information for these information terminal devices is provided. One such example is a calendar service that is known for sharing a schedule between multiple people. Another such example is a service that is known for sharing an address book owned by one person among multiple information terminal devices.
In this way, personal information such as schedule and address book mentioned above is included as information shared among multiple information terminal devices. At present, as described in the U.S. Pat. No. 6,665,837, information is disclosed and obtained by sending and receiving e-mails in order to exchange related information with another person or another information terminal device through the internet. However, there is a problem in that the process of managing the information obtained by sending and receiving e-mails is time-consuming and information among multiple information terminal devices cannot be synchronized.
Since various information is added, updated, or deleted at any time on every information terminal device under the conditions in which the information is shared among multiple information terminal devices connected to each other over a network, it is difficult to synchronize the information to be stored in all information terminal devices. Moreover, multiple information terminal devices sharing the information are not always connected to the network. This is because each information terminal is connected to the network at one moment, but may be disconnected at the next moment. In such a case, it is not easy to synchronize the information between all information terminal devices where information is to be shared while maintaining consistency of the information.
As a technology for resolving the problem mentioned above, a technology is disclosed, for example by the U.S. Pat. No. 7,080,104, in which disclosure and synchronization of information on a web server unit is realized.
In order to synchronize information among information terminal devices using a server unit such as a web server unit, a database is stored on the web server unit. Further, the information that should be synchronized among information terminal devices is stored in this main database. While the information in the database may be in the plain text format, the information is generally encrypted. The encryption is, however, done so that the encrypted information can be decrypted by the server unit or the owner of its database. Otherwise, its owner or the service provider may not be able to manage the information with the conventional techniques.
As mentioned above, in the conventional techniques, when the owner of the information, which should be synchronized among information terminal devices, is not the owner or the operator of the server unit or its main database, then the information is stored in the database either in the plain text format or in the encrypted format so that it can be decrypted by the operator or owner of the database. As far as the inventors of the present invention are aware, any technique that fulfils the requirement of encrypting and storing the information so that it can be decrypted only by the owner of each information terminal device, is not known. The synchronization of information among all information terminal devices while maintaining consistency of the information stored in the storage devices of multiple information terminal devices, with the information stored in the main database under a condition where it can be decrypted only by the owner of respective information terminal devices, is necessary because it can not be implemented by using the known techniques in the conventional database field.
One embodiment of the present invention provides a server device comprising: a reception device for receiving encrypted change information which shows a change in information stored in a storage device of an information terminal device, the change being caused by a change operation on the stored information, the encrypted change information being encrypted so that the information terminal device can decrypt the encrypted change information, and; a storage device which stores the encrypted change information.
Another embodiment of the present invention provides an information terminal device comprising: a key storage device which stores a decryption key; a reception device which receives encrypted information which can be decrypted by the decryption key, and revision information which shows an order in which the encrypted information is received by a server device; a decryption device which decrypts the received encryption information, and; a storage device which correlates the decrypted information with the received revision information.
Still another embodiment of the present invention provides an information sharing system comprising a server and a plurality of information terminal devices, each of the plurality of information devices including: a storage device which stores information in plain format, an encryption device which encrypts change information which shows a change in information caused by a change operation on the stored information, the change information being encrypted so that the plurality of information terminal devices can decrypt the encrypted change information, a transmission device which transmits the encrypted change information to the server, a reception part which receives the encrypted change information transmitted from another information terminal device among the plurality of information terminal devices via the server device, a decryption device which decrypts the received encrypted change information, and an updating device which updates the stored information in plain format based on the decrypted encrypted change information; and the server device including: a reception device which receives encrypted change information transmitted from one of the plurality of information terminal devices, a storage device which stores the received encrypted change information, and a transmission device which transmits the encrypted change information to another of the plurality of information terminal devices other than the information terminal device which transmit the encrypted change information.
a-4c shows an example of information stored in the information terminal devices and the server unit of one embodiment of the present invention.
a-6c shows an example of information stored in the information terminal devices and the server unit of one embodiment of the present invention.
a-9c shows an example of information stored in the information terminal devices and the server unit of one embodiment of the present invention.
The best modes for implementing the present invention are disclosed below. Since the scope of the present invention is defined clearly by the claims, the disclosure in the present description should not be interpreted to be restricted to the embodiment described below and the disclosure simply aims to illustrate the general principles of the present invention.
As is shown in the example above, the server unit modified the information stored in the main database based on change information received at the time of the Commit operation from each information terminal device in which the synchronized information is to be stored. Moreover, the server unit updates the stored information for each information terminal device. In the technique disclosed below, the server unit 110 manages and compares the revision of information stored in the server unit 110 and each information terminal device, and synchronizes the information by maintaining consistency of information among the server unit 110 and each information terminal device.
Moreover, the database system in the server unit may be arranged with transaction management means, concurrent control means, failure recovery means and security protection means, which are generally used in a conventional database management system.
To synchronize the information stored in multiple information terminal devices along with maintaining the consistency of the information, the information may be stored in the main database located on the server unit as mentioned above in the form of plain text or in the form that can be decrypted by the administrator of the main database, and it is updated based on the change information sent when committed from each information terminal device. This is because the fields or the records that configure the main database cannot be modified when the information stored in the main database can not be decrypted or change information which cannot be decrypted is received by the server unit.
Communication with encryption can be, however, used for communication among multiple information terminal devices and the server unit. This is because there is a possibility of various attacks such as bugging, spoofing, man-in-the-middle attack etc. since each information terminal device and the server unit are connected to the network. In an example of the encryption on the communication route, in the case where information from the information terminal device 101 commits to the server unit 110, the information terminal device 101 and the server unit 110 have a common encryption and decryption key, the arithmetic and logic unit (ALU) of the information terminal device 101 encrypts the information to be committed by using this key and sends the information to the server unit 110. However, the arithmetic and logic unit (ALU) of the server unit 110 decrypts the information received from the information terminal device 101 by using this key and stores the information in the plain text format in the main database 111. In another example of the encryption on the communication route, the ALU of the information terminal device 101 encrypts the information to be committed by using the public key of the server unit 110 and sends the encrypted information to the server unit 110. Then the server unit 110 decrypts the information with its secret key and stores the information in the main database 111. Even in this case, the information stored in the main database in the form of the plain text or in a form that can be decrypted by the administrator of the main database is updated based on the committed change information.
In some cases, the information is updated at any time for the information terminal devices within the group of these information terminal devices by the group of information terminal devices other than shown in
Referring to
In
In
When a common key is to be used, the storage device 225 of the information terminal device 220 and the storage device 235 of the information terminal device 230 share the same common key. Information, sent to the server unit, is encrypted by the encryption devices 223 or 233 by using this common key, and then the transmission/reception device sends the information to the server unit 210. Further, when encrypted information is sent from the server unit to the information terminal device 220, the transmission/reception device 221 receives the information, then the information is decrypted by the decryption device 222 and then the information is stored in the storage device 225 in the plain text format.
While encrypting or decrypting the information using a public/secrete key scheme, it is necessary to use a pair of a public key and a secret key, which is shared by the information terminal devices 220 and 230. In other words, the secret key in this pair has been stored in the storage device 225 of the information terminal device 220 and the storage device 235 of the information terminal device 230. For example, the following steps are performed to send the information to the server unit 210 after the information is encrypted in information terminal device 220. First, the information terminal device 220 acquires a public key from another server unit or the information terminal device connected to the network, and then stores the key in the storage device 225. Or, it is also possible to generate a pair of public key and a secret key in the calculation device 226 of an information terminal device and store the keys in the storage device 225. Further, the encryption device 223 encrypts the information, which is to be sent to the server unit, by using the public key stored on the storage device 225, and then the transmission/reception device 221 sends the information to the server unit. When the encrypted information is sent from the server unit to information terminal device 220, the transmission/reception device 221 receives the information, and then the encrypted information is decrypted by decryption device 222 and stored in the storage device 225 in the plain text format.
Referring to
First, the information a0 (301) is stored in the plain text format in the storage device 225 at t1. Then, the information terminal device 220 encrypts the information a0 and then commits the encrypted change information {a0} to the server unit 210. In other words, a0 is difference information of the information stored on the information terminal device 220 between before and after executing the operation at t1.
Next, the encrypted change information {a0} is stored in the storage device 211 of the server unit 210 at t2. In this case, the revision management device 212 generates 1 as the next revision number and stores this encrypted change information {a0} and the revision number 1 (414) by correlating them with each other. Moreover, the server unit 210 notifies the information terminal device 220 with the information that the revision number of received encrypted change information {a0} is 1. The information terminal device 220, which receives this notification, stores 1 (424), which is the revision number received from the server unit by correlating with the plain text information a0, in the revision value storage area 422 of the revision management device 224. At this point, the revision number stored in the server unit 210 and the information terminal device 220 becomes the same, and the information in the server unit 210 and the information in terminal device 220 is synchronized.
Further, the information a1 (302) is stored in the storage device 235 in the plain text format at t3. In the example shown in
The information a2 (303) is stored in the storage device 225 in the plain text format at t4. Consequently, the information a0 and a2 are stored at this point of time in the storage device 225. The information terminal device 220 encrypts the information a2, which has not been committed yet, and then commits (312) the information to the server unit 210.
Next, the encrypted changed information {a2} is stored in the storage device 211 of the server unit 210 at t5. In this case, the revision management device 212 stores this encrypted change information {a2} by correlating with revision number 2 (415) obtained by incrementing the current revision number by 1 as the next revision number. Moreover, the server unit 210 notifies to the information terminal device 220 that the revision number of the received encrypted change information {a2} is 2. The information terminal device 220, which receives this notification, stores information a2 in the plain text format correlated with revision number 2 (425), which is received from the server unit, in the revision value storage area 422 of the revision management device 224. At this point, the revision number stored in the server unit 210 and the information terminal device 220 becomes the same, and the information in the server unit 210 and the information terminal device 220 is synchronized again.
Subsequently, the server unit 210 updates the information for information terminal device 230 (313). In this case, the server unit 210 inquires the current revision number for the information terminal device 230, and the information terminal device 230 returns the revision number 0 (433) stored at this point of time in its revision management device 234 to the server unit 210. Further, the revision management device of the server unit 210 refers to the latest revision number 2 (415) in the revision value storage area at that time and compares it with the revision number 0 that is received from the information terminal device 230. 2 and 0 are different, and since 2 is greater than 0, the information, which is stored in the storage device 211 of the server unit 210, but not stored in the storage device 235 of information terminal device 230 is detected based on this comparison result. In other words, this information i.e. the encrypted change information {a0} and {a2} are sent to the information terminal device 230 through the transmission/reception device 213 (313). At this time, the revision number 1 correlated by the revision management device 212 of the server unit 210 is correlated with the encrypted change information {a0}, and the revision number 2 correlated by the revision management device 212 is correlated with the encrypted change information {a2} and are sent to the information terminal device 230. Information terminal device 230 decrypts the encrypted change information {a0} and {a2} received from the server unit 210 by using the decryption device 232. After that, the information a0 and a2 is stored in the plain text format in the storage device 235. At this point, the information a0 and a2 are stored in the storage device 235 of the information terminal device 230 at t6 in addition to a1. Here, the revision number 1 correlated with the information a0 in the plain text format, and the revision number 2 correlated with the information a2 in the plain text format are stored respectively in the revision value storage area of revision management device 234. Further, the latest revision number stored in the revision management device 234 of the information terminal device 230 is incremented from 0 to 2 at t6. In this way, the revision number can be incremented by more than 1 by executing the Commit operation or the Update operation once, or the Commit operation or the Update operation may be executed every time the revision number is incremented by 1.
Further, by using the encryption device 233, the information terminal device 230 encrypts the plain text information a1, which is stored in the storage device 235 and has not been committed yet, and then commits it to the server unit 210 (314).
Further, the encrypted change information {a1} is stored in the storage device 211 of the server unit 210 at t7. In this case, the revision management device 212 stores this encrypted change information {a1} and the revision number 3 (416), which is incremented by 1, by correlating them with each other. Moreover, the server unit 210 notifies to the information terminal device 230 that the revision number of the received encrypted change information {a1} is 3. The information terminal device 230, which receives this information, stores 3 (436), which is the revision number received from the server unit by correlating with information a1 in the plain text format, in the revision value storage area 432 of the revision management device 234. At this point, the revision number stored in the server unit 210 and the information terminal device 230 becomes the same, and the information in the server unit 210 and the information terminal device 230 is synchronized.
Subsequently, the server unit 210 updates the information to the information terminal device 220 (315). In this case, the server unit 210 inquires the current revision number to the information terminal device 220 and the information terminal device 220 returns the latest revision number, i.e. 2 (425) stored in its revision management device 224 to the server unit 210. Further, the revision management device of the server unit 210 refers to the revision number 3 in the revision value storage area 412 at that time and compares it with the revision number 2, which is received from the information terminal device 220. Based on this comparison result, the encrypted change information {a1}, which is stored in the storage device 211 of the server unit 210, but not stored in the storage device 225 of the information terminal device 220 is sent to the information terminal device 220 through the transmission/reception device 213 (315). At this time, the revision number 3 correlated by the revision management device 212 of the server unit 210 is correlated with the encrypted change information {a1} and is sent to the information terminal device 230. Information terminal device 220 decrypts the encrypted change information {a1} received from the server unit 210 by using the decryption device 232. After that, the information a1 in the plain text format is stored in the storage device 225. At this point, a1 is stored in the storage device 225 of the information terminal device 220 in addition to a0 and a2. Here, the revision number 3 correlated with the plain text information a1 is stored in the revision value storage area of the revision management device 224.
Thus, the storage device 225 of the information terminal device 220 and the storage device 235 of the information terminal device 230 are synchronized through the server unit 210.
According to one embodiment of the present invention, even in the conditions where each information terminal device is connected to or disconnected from a network at any time, the synchronization can be maintained while maintaining consistency in the information stored in the storage device of a information terminal device through a server unit without decrypting the information stored in the server unit at the server unit.
An example of another embodiment related to the present invention is explained with reference to
In
It is assumed here that the information a2 is stored in the storage device 225 at t4 (503). Consequently, the contents to be stored in the storage device 225 at this point of time are a0 and a2. Further, the encryption device 223 of the information terminal device 220 combines the information a0 and a2, then creates the encrypted change information {a0+a2} by encrypting all the information after it is combined, concatenated, or correlated. Then, this encrypted change information {a0+a2} is committed to the server unit 210 (512).
Further, the encrypted change information {a0+a2} is stored in the storage device 211 of the server unit 210 at t5. In this case, the revision management device 212 stores this encrypted change information {a0+a2} and the revision number 2 (615) by correlating them with each other. Moreover, the server unit 210 notifies that the revision number of received encrypted change information {a0+a2} is 2, to the information terminal device 220. The information terminal device 220, which receives this information, stores 2 (625), which is the revision number received from the server unit by correlating with the plain text information a0+a2, in revision value storage area 622 of the revision management device 224. At this point, the revision number stored in the server unit 210 and information terminal device 220 becomes the same, and the information in the server unit 210 and information terminal device 220 is synchronized.
Subsequently, the server unit 210 updates the information to the information terminal device 230 (513). In this case, the server unit 210 inquires the current revision number to the information terminal device 230, and the information terminal device 230 returns the latest revision number i.e. 0 (633) stored in its revision management device 234 to the server unit 210. Further, the revision management device of the server unit 210 refers to the latest revision value 2 (615) in the revision value storage area 612 at that time and compares it with the revision number 0 that is received from the information terminal device 230. Based on this comparison result, the information, which is stored in the storage device 211 of the server unit 210, but not stored in the storage device 235 of the information terminal device 230, is detected. In other words, the encrypted changed information {a0+a2} is sent to the information terminal device 230 through the transmission/reception device 213 (513). At this time, the revision number 2 correlated by the revision management device 212 of the server unit 210 is correlated with the encrypted change information {a0+a2} and is sent to the information terminal device 230. The information terminal device 230 decrypts the encrypted change information {a0+a2} received from the server unit 210 by using the decryption device 232. After that, the information a0+a2 in the plain text format is split into a0 and a2, and a0 and a2 are stored in the storage device 235. Here, the revision number 2 associated with the plain text information a0+a2 is stored in the revision value storage area of the revision management device 234. At this point, the information in the storage device of the server unit 210 and the information terminal device 220 is synchronized.
Further, by using the encryption device 233, the information terminal device 230 encrypts the plain text information a1 stored in the storage device 235, which has not been committed yet, and then commits it to the server unit 210 (314).
Further, the encrypted changed information {a1} is stored in the storage device 211 of the server unit 210 at t7. In this case, the revision management device 212 stores this encrypted change information {a1} and the revision number 3 (616), which is incremented by 1 by correlating them with each other. At that point, the encrypted change information {a0+a2} and {a1} are stored in the storage device 213 of the server unit. Moreover, the server unit 210 notifies that the revision number of the received encrypted change information {a1} is 3, to the information terminal device 230. The information terminal device 230, which receives this information, stores 3 (636), which is the revision number received from the server unit by correlating with the plain text information a1, in revision value storage area 632 of the revision management device 234. At this point, the revision number stored in the server unit 210 and the information terminal device 230 becomes the same, and the information in the server unit 210 and the information terminal device 230 is synchronized.
Subsequently, the server unit 210 updates the information to the information terminal device 220 (515). In this case, the server unit 210 inquires the current revision number to the information terminal device 220, and the information terminal device 220 returns the revision number i.e. 2 (625) stored in its revision management device 224 at that time to the server unit 210. Further, the revision management device of the server unit 210 refers to the value 3 (616) stored in the revision value storage area 612 at that time and compares it with the revision number 2, which is received from the information terminal device 220. Based on this comparison result, the information, which is stored in the storage device 211 of the server unit 210, but not stored in the storage device 225 of the information terminal device 220, is detected. The encrypted change information {a1} is sent to the information terminal device 230 through the transmission/reception device 213 (515). At this time, the revision number 3 correlated by the revision management device 212 of the server unit 210 is correlated with the encrypted changed information {a1} and is sent to the information terminal device 230. The information terminal device 220 decrypts the encrypted change information {a1} received from the server unit 210 by using the decryption device 232. After that, the information a1 in the plain text format is stored in the storage device 225. At this point, a1 is stored in the storage device 225 of the information terminal device 220 in addition to the plain text information a0 and a2. Here, the revision number 3 (626) correlated with the plain text information a1 is stored in the revision value storage area of the revision management device 224. Here, the synchronization of the information stored in the server unit and the information terminal device 220 is complete.
The difference between the embodiment 1 and the embodiment 2 as well as the merits of the embodiment 2 is described below. In the embodiment 1, all the information i.e. a0, a1, and a2 are encrypted individually by the information terminal and are sent to the server unit 210 as the encrypted change information {a0}, {a1}, {a2}. In the server unit, the consistency of information between the information terminals is maintained by associating a revision number to each encrypted information. When the information terminal device commits the encrypted change information in the embodiment 2, there are cases where the information which is different from the embodiment 1 is sent. In other words, by the Commit operation, all or a part of change information in the plain text format stored in the information terminal device is encrypted after it is combined, concatenated, or correlated, and then the encrypted change information is sent to the server unit.
The following problems may occur in the embodiment 1. If several modification operations such as the addition, the update, deletion, etc. of information to and from each information terminal device are continued one after another, then the number of encrypted change information to be stored in the storage device of the server unit increases. Consequently, the size of the table required for revision management, which is managed by the revision management device, also increases. Further, when the time interval of adding, updating, deleting etc. the information to and from each information terminal device is less than the time interval of the Commit operation or the Update operation, then the large amount of small encrypted change information must be sent and received through the network and thus transmission efficiency declines. On the other hand, in the embodiment 2, since the plain text information stored in the information terminal device can be collectively sent to the server unit as a single encrypted change information, and the information can be sent from the server unit to an information terminal device, it is possible to control the number of encrypted change information stored in the server unit and the increase in the table size of revision management table. It is also possible to increase the efficiency of the transmission/reception of the encrypted change information through the network.
In the embodiment 2, a person skilled in the art can provide several methods for combining, concatenating, or correlating and collectively encrypting the difference information of each information terminal device, and a method for sending this encrypted change information to the server unit. Consequently, the embodiment 2 may have an advantage wherein a highly efficient method can be adopted to achieve synchronization between the information terminal devices.
In the embodiments 1 and 2 stated above, methods are described to synchronize the information stored in two storage devices 225 and 235 of information terminal devices 220 and 230 respectively when updating this information. Below an outline is given of the embodiment 3 with reference to
Referring to
Further, the encrypted changed information {b0} is stored in the storage device 211 of the server unit 210 at t2. The revision management device 212 stores this encrypted change information {b0} by correlating it with revision number 1 (914). The server unit 210 notifies that the revision number of the received encrypted change information {b0} is 1 to the information terminal device 220. The information terminal device 220, which has received this information, stores the revision number 1 (924) received from the server unit by correlating it with the plain text information b0, in revision value storage area 422 of the revision management device 224. At this point, the revision number stored in the information terminal device 220 and the server unit 210 becomes the same, and the information in the information terminal device 220 and the server unit 210 is synchronized.
Further, the encrypted information {b1} is sent from the information terminal device or the server unit B 701 to the information terminal device 230. The encrypted information is then decrypted by the decryption device 232 and is stored in the plain text format in the storage device 235 at t3 (802). As shown in the example in
At t4, the information a2, which may be directly input to the information terminal device 230, is stored in the plain text format in the storage device 225 (303). At that time, the contents of storage device 225 are b0 and a2. Further, the information terminal device 220 encrypts the information a2, which is not yet committed, and then commits the encrypted change information {a2} to the server unit 210 (812).
Further, the encrypted changed information {a2} is stored in the storage device 211 of the server unit 210 at t5. In this case, the revision management device 212 stores this encrypted change information {a2} and the revision number 2 (915) obtained by incrementing the latest revision number by 1, by correlating them with each other. Moreover, the server unit 210 notifies that the revision number of the received encrypted change information {a2} is 2, to the information terminal device 220. The information terminal device 220, which receives this information, stores 2 (925), which is the revision number received from the server unit by correlating with the plain text information a2, in the revision value storage area 422 of the revision management device 224. At this point, the revision number stored in the server unit 210 and the information terminal device 220 becomes the same, and the information in the server unit 210 and the information terminal device 220 is synchronized again.
Subsequently, the server unit 210 updates the information to information terminal device 230 (813). In this case, the server unit 210 inquires the current revision number to the information terminal device 230, and the information terminal device 230 returns the latest revision number i.e. 0 (933) stored in its revision management device 234 to the server unit 210. Further, the revision management device of the server unit 210 refers to the latest revision value 2 (915) stored in the revision value storage area 412 at that time and compares it with the revision number 0 that is received from the information terminal device 230. Based on this comparison result, the information, which is stored in the storage device 211 of the server unit 210, but not stored in the storage device 235 of the information terminal device 230, is detected. This information i.e. the encrypted change information {b0} and {a2} are sent to the information terminal device 230 through the transmission/reception device 213 (813). At this time, the revision number 1 correlated by the revision management device 212 of the server unit 210 is correlated with the encrypted changed information {b0}, and the revision number 2 correlated by the revision management device 212 is correlated with the encrypted information {a2}, and are sent to the information terminal device 230. Information terminal device 230 decrypts the encrypted change information {b0} and {a2} received from the server unit 210 by using the decryption device 232. After that, the information b0 and a2 in the plain text format are stored in the storage device 235. At this point, b0 and a2 are stored in the plain text format at t6 in storage device 235 of the information terminal device 230 in addition to b1. Here, the revision number 1 correlated with the plain text information b0 and revision number 2 correlated with the plain text information a2 are stored respectively in the revision value storage area of the revision management device 234. At t6, the revision number stored in the revision management device 234 of the information terminal device 230 is incremented from 0 to 2. In this way, the revision number can be incremented several times by the Commit operation or the Update operation, or it is also possible to execute the Commit operation or the Update operation each time while incrementing the revision number by 1.
Further, by using encryption device 233, the information terminal device 230 encrypts the plain text information b1 stored in the storage device 235, which has not been committed yet, and then commits the plain text information b1 to the server unit 210 as encrypted changed information {b1} (814).
Further, the encrypted changed information {b1} is stored in the storage device 211 of the server unit 210 at t7. In this case, the revision management device 212 stores this encrypted change information {b1} and the revision number 3 (916), which is incremented by 1, by correlating them with each other. Moreover, the server unit 210 notifies that the revision number of received encrypted change information {b1} is 3, to the information terminal device 230. The information terminal device 230, which receives this information, stores 3 (936), which is the revision number received from the server unit by correlating with the plain text information b1, in revision value storage area 432 of the revision management device 234. At this point, the revision number stored in the server unit 210 and the information terminal device 230 becomes the same, and the information in the server unit 210 and the information terminal device 230 is synchronized.
Subsequently, the server unit 210 updates the information to the information terminal device 220 (815). In this case, the server unit 210 inquires the current revision number to the information terminal device 220, and the information terminal device 220 returns the latest revision number i.e. 2 (925) stored in its revision management device 224 to the server unit 210. Further, the revision management device of the server unit 210 refers to the revision number 3 stored in the revision value storage area 412 at that time and compares it with the revision number 2 that is received from the information terminal device 220. Based on this comparison result, the information, which is stored in the storage device 211 of the server unit 210 but not stored in the storage device 225 of information terminal device 220, is detected. This information i.e. the encrypted change information {b1} is sent to the information terminal device 230 through the transmission/reception device 213 (815). At this time, the revision number 3 associated by the revision management device 212 of the server unit 210 is correlated with the encrypted changed information {b1} and is sent to the information terminal device 230. The information terminal device 220 decrypts the encrypted change information {b1} received from the server unit 210 by using the decryption device 232. After that, the information b1 in the plain text format is stored in the storage device 225. At this point, b1 is stored in the storage device 225 of the information terminal device 220 in addition to the plain text information b0 and a2, which are stored previously. Here, the revision number 3 correlated with the plain text information b1 is stored in the revision value storage area of the revision management device 224.
Thus, the information in the storage device 225 of the information terminal device 220 and the storage device 235 of the information terminal device 230 is synchronized including the plain text information a2, which may have been directly input to the information terminal device 220 and stored in its storage device, and the encrypted information {b0} and {b1} sent to the group A 702 of terminal devices that synchronizes the information received from the information terminal device or the server unit B 701.
In the embodiment 3, when the information, which may be directly input by the user to the information terminal device 220 or 230, and the encrypted information sent by a terminal device or the server unit to the information terminal device 220 or 230 that synchronizes the information, is stored in the storage device of the information terminal 220 or 230, then the information stored in the storage device of the information terminal devices 220 and 230 can be synchronized by maintaining consistency. At that time, the decryption of the information stored in the information terminal device can be prevented from being done in the server unit 210 as in the embodiment 1 and the embodiment 2.
In the embodiment 3, as shown in
Further, even in the case of embodiment 3, as explained in the embodiment 2, the method can be used whereby any difference information is encrypted after it is combined, concatenated, or correlated and it is committed as the encrypted changed information.
In the embodiment 3, for example, in a groupware, multiple terminal devices owned by person A is the group A 702 of terminal devices, which synchronizes the information as shown in
As described above, the present invention enables the synchronization of information stored in each information terminal device while maintaining the consistency of the information stored in a storage device of each of multiple information terminal devices, with the information stored in the main database in a state where such information can be decrypted only by the owner of the respective information terminal device.
Number | Date | Country | Kind |
---|---|---|---|
P2007-336507 | Dec 2007 | JP | national |