(57)【要約】      （修正有）【課題】複数の情報端末装置の情報を同期するためにサーバ装置に保存する全ての情報を暗号化した状態で保存し、サーバ装置管理者がその情報にアクセスできないようにする。【解決手段】情報を同期すべき情報端末装置で、情報に対する変更により生じる差分情報もしくは差分情報の任意の集合を暗号化した暗号化変化情報を生成し、サーバ装置に送信し、サーバ装置は暗号化変化情報にリビジョン番号を関連づけて保存する。端末装置は暗号化変化情報に関連づけられたリビジョン番号を受け取り、差分情報もしくは差分情報の任意の集合と関連づけて保存する。サーバ装置と各情報端末装置の間で適宜に暗号化変化情報に関連づけられたリビジョン番号を交換しながら、コミットおよびアップデートをおこなうことで、情報を同期すべき情報端末装置間で一貫性を保った状態で情報を同期する。【選択図】図２
2009157737.tif 000002
【特許請求の範囲】
【請求項１】
情報端末装置の記憶装置に記憶された情報に対する変更操作によって生じる情報の変化を示す変化情報を前記情報端末装置が復号可能に暗号化した暗号化変化情報を受信する受信手段と、前記暗号化変化情報を記憶する記憶手段とを有することを特徴とするサーバ装置。
【請求項２】
前記変化情報は、前記変更操作の前に前記情報端末装置の記憶装置に記憶された情報と前記変更操作の後に前記情報端末装置の記憶装置に記憶された情報との差分情報であることを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記変化情報は、前記変更操作の後に前記情報端末装置の記憶装置に記憶される情報であることを特徴とする請求項１に記載のサーバ装置。
【請求項４】
前記記憶手段は、前記暗号化変化情報に、前記暗号化変化情報が受信手段により受信された順序を示すリビジョン情報を関連づけて記憶することを特徴とする請求項１から３のいずれか一に記載のサーバ装置。
【請求項５】
前記リビジョン情報を前記情報端末装置に送信する送信手段を有することを特徴とする請求項４記載のサーバ装置。
【請求項６】
前記暗号化変化情報と、前記暗号化変化情報に関連づけられた前記リビジョン情報と、を関連づけて送信する送信手段を有することを特徴とする請求項４記載のサーバ装置。
【請求項７】
前記情報端末装置により端末リビジョン情報として記憶されている前記送信されたリビジョン情報を受信する受信手段と、
前記受信された端末リビジョン情報と前記送信されたリビジョン情報とを比較する演算手段と、
前記端末リビジョン情報の示す順序が前記リビジョン情報の示す順序より小さいものである場合には、前記リビジョン情報に関連づけられた前記暗号化変化情報を前記情報端末に送信する送信手段を有することを特徴とする請求項５または６記載のサーバ装置。
【請求項８】
前記受信手段は、複数の情報端末装置から前記暗号化変化情報を受信可能であることを特徴とする請求項１から３のいずれか一に記載のサーバ装置。
【請求項９】
前記受信手段が受信する前記暗号変化情報は、前記複数の情報端末装置が共有する共有鍵で復号可能であることを特徴とする請求項８記載のサーバ装置。
【請求項１０】
前記受信手段が前記複数の情報端末装置から受信する前記暗号変化情報は、前記複数の情報端末装置が共有する秘密鍵と対をなす公開鍵で暗号化されていることを特徴とする請求項８記載のサーバ装置。
【請求項１１】
前記記憶手段は、前記複数の情報端末装置から受信した前記暗号化変化情報に、その暗号化変化情報が受信手段により受信された順序を示すリビジョン情報を関連づけて記憶することを特徴とする請求項８記載のサーバ装置。
【請求項１２】
複数の前記リビジョン情報の中の特定のリビジョン情報を、その特定のリビジョン情報が関連づけられた暗号化変化情報の送信元である情報端末装置に対して送信する送信手段を有することを特徴とする請求項１１記載のサーバ装置。
【請求項１３】
複数の前記リビジョン情報の中の特定のリビジョン情報と、その特定のリビジョン情報に関連づけられた暗号化変化情報とを、その暗号化変化情報の送信元である情報端末に対して送信することを特徴とする請求項１１記載のサーバ装置。
【請求項１４】
前記共有鍵が記憶されていないことを特徴とする請求項９記載のサーバ装置。
【請求項１５】
前記公開鍵が記憶されていないことを特徴とする請求項１０記載のサーバ装置。
【請求項１６】
復号鍵を記憶する鍵記憶手段と、
サーバ装置により受信され送信された情報であり前記復号鍵により復号可能に暗号化された暗号化情報と前記暗号化情報が前記サーバ装置に受信された順序を示すリビジョン情報とを受信する受信手段と、
前記受信した暗号化情報を復号化して平文情報を生成する復号化手段と、
前記受信したリビジョン情報と前記生成された平文情報とを関連づけて記憶する記憶手段を有することを特徴とする情報端末装置。
【請求項１７】
前記平文情報を記憶する記憶手段と、
前記平文情報に対する変更操作によって生じる情報の変化を示す変化情報を、前記サーバ装置以外で復号可能に暗号化した暗号化変化情報を生成する暗号化手段と、
前記生成された暗号化変化情報を送信する送信手段と、
を有することを特徴とする請求項１６記載の情報端末装置。
【請求項１８】
前記変化情報は、前記変更操作の前に記憶されていた情報と前記変更操作の後に記憶されている情報との差分情報であることを特徴とする請求項１６記載の情報端末装置。
【請求項１９】
前記変化情報は、前記変更操作の後に記憶されている情報であることを特徴とする請求項１６記載の情報端末装置。
【請求項２０】
前記鍵記憶手段は他の情報端末装置と共有する共有鍵を記憶し、
前記受信手段が受信する暗号化変更情報は前記他の情報端末装置も受信し、
前記復号化手段は、前記共有鍵を用いて前記受信した暗号化情報を復号化することを特徴とする請求項１６に記載の情報端末。
【請求項２１】
他の情報端末装置と共有する秘密鍵を記憶する記憶手段を有し、
前記受信手段は前記他の情報端末装置も受信する暗号化情報を受信し、
前記復号化手段は、前記秘密鍵を用いて前記受信した暗号化情報を復号化することを特徴とする請求項１６に記載の情報端末。
【請求項２２】
他の情報端末装置と共有する共有鍵を記憶する記憶手段を有し、
前記暗号化手段は前記共有鍵を用いて暗号化を行うことを特徴とする請求項１７、１８または１９に記載の情報端末。
【請求項２３】
他の情報端末装置と共有する秘密鍵を記憶する記憶手段を有し、
前記暗号化手段は前記秘密鍵と対を成す公開鍵を用いて暗号化を行うことを特徴とする請求項１７、１８、または１９に記載の情報端末。
【請求項２４】
他の情報端末装置と共有する秘密鍵を記憶する記憶手段を有し、
前記受信手段は、前記秘密鍵を共有しない別の情報端末装置が、前記秘密鍵と対を成す公開鍵によって暗号化された暗号化情報を受信する請求項１６に記載の情報端末装置。
【請求項２５】
サーバ装置と複数の情報端末装置とからなる情報共有システムであって、
前記情報端末装置は、
平文にて情報を記憶する記憶手段と
前記記憶された情報に対する変更操作によって生じる情報の変化を示す変化情報を、自身を含む情報端末装置が復号可能に暗号化した暗号化変化情報を生成する暗号化手段と、
前記生成された暗号化変化情報を送信する送信手段と、
他の情報端末装置から送信された暗号化変化情報を前記サーバ装置経由で受信する受信部と、
前記受信された暗号化変化情報を復号化する復号化手段と、
前記復号化された暗号化変化情報に基づいて前記記憶された平文情報を更新する更新手段と、
を有し、
前記サーバ装置は、
前記情報端末装置から送信される暗号化変化情報を受信する受信手段と、
前記受信された暗号化変化情報を記憶する記憶手段と、
前記暗号化情報を送信した情報端末装置以外の情報端末装置へ前記暗号化情報を送信する送信手段と、
を有することを特徴とする情報共有システム。
【請求項２６】
サーバ装置と複数の平文にて情報を記憶する情報端末装置とによる情報共有方法であって、
前記情報端末装置にて、
前記記憶された情報に対する変更操作によって生じる情報の変化を示す変化情報を、自身を含む情報端末装置が復号可能に暗号化した暗号化変化情報を生成して送信し、
他の情報端末装置から送信された暗号化変化情報を前記サーバ装置経由で受信し、
前記受信された暗号化変化情報を復号化し、
前記復号化された暗号化変化情報に基づいて前記記憶された情報を更新し、
前記サーバ装置にて、
暗号化変化情報を受信し、
前記受信された暗号化変化情報を記憶し、
前記暗号化情報を送信した情報端末装置以外の情報端末装置へ前記暗号化情報を送信することを特徴とする情報共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報端末装置が記憶する情報の一貫性を保ちつつ同期を実現する技術に関する。
【背景技術】
【０００２】
近年、インターネットなどに代表される通信技術の発展により、パーソナルコンピュータやＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）などの多数の情報端末装置がネットワークに接続されるようになってきた。そして、ネットワークに接続されたサーバ装置がこれらの情報端末装置にサービスを提供するようになっている。そしてそのサービスとしては、これらの情報端末装置に対して種々の情報の管理手段を提供するものがある。その一例としては、複数の人がスケジュールを共有するカレンダーサービスが知られている。また他の一例としては、一人の人が所有する複数の情報端末装置間で住所録を共有するサービスも知られている。
【０００３】
このように多数の情報端末装置の間で共有される情報としては、上述のように、スケジュールや住所録といったような個人的な情報が含まれる。かかる情報を、インターネットを通じて他人や他の情報端末装置とやりとりを行うためには、現状では電子メールの送受信を行って情報の開示、入手が一般的である（例えば、特許文献１参照。）。しかし、電子メールの送受信では入手した情報の管理に手間がかかり、複数の情報端末装置の間で情報の同期がとれなくなるという問題がある。
【０００４】
また、ネットワークで互いに接続された複数の情報端末装置間で情報を共有する状況下では、情報端末装置の各々で任意の時刻で任意の情報が追加、更新または削除され、すべての情報端末装置の保存する情報を同期することが困難でもある。さらに、情報を共有する複数の情報端末装置の各々は、常にネットワークに接続されているとは限らない。すなわち、任意の時刻にネットワークに接続され、接続が切断される場合が多い。この場合、情報を共有すべきすべての情報端末装置間で、情報の一貫性を保って同期することは容易ではなくなる。
【０００５】
この問題を解決する一つの技術として、ウェブサーバ装置上での情報の開示及び同期を行う技術が知られている（例えば、特許文献２参照。）。
【０００６】
【特許文献１】米国特許第６，６６５，８３７号
【特許文献２】米国特許第７，０８０，１０４号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、ウェブサーバ装置などのサーバ装置を用いて情報端末装置の間での情報の同期を行うためには、ウェブサーバ装置にデータベースが設けられる。そして、情報端末装置の間で同期するべき情報がこの主データベースに格納される。そして、データベースには情報が、平文で、あるいは暗号化されるにしても、サーバ装置またはそれに設けられたデータベースの所有者または運営者が復号可能な暗号化が施される。そうしなければその所有者または運営者は従来の技術では管理不能に陥るからである。
【０００８】
情報端末装置の間で同期するべき情報の所有者が、サーバ装置またはそれに設けられた主データベースの所有者または運営者と異なる場合において、データベースには平文あるいはデータベースの所有者または運営者が復号可能な暗号化した状態で情報を格納するのではなく、各情報端末装置の所有者でしか復号化できない状態で暗号化して格納したいという要求を満たす技術は本願の出願人が知る限り知られていない。各情報端末装置の所有者でしか復号化できない状態でデータベースに情報を格納しつつ、かつこれら複数の情報端末装置の記憶装置にある情報の一貫性を維持したまま各情報端末装置の間で情報の同期を行うことは、従来のデータベース分野において知られている技術では上述のように実現不可能であるからである。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、サーバ装置にネットワーク経由で接続された複数の情報端末装置において、各情報端末装置に任意の時間に加えられる情報の追加、削除および変更などに関し、サーバ装置のデータベース上ですべての情報が暗号化された状態で保存され、かつ、これに接続された複数の情報端末装置の情報が一貫性を維持したまま同期するための技術を開示することを目的とする。
【課題を解決するための手段】
【００１０】
かかる目的を達成するために、本願では、情報端末装置の記憶装置に記憶された情報に対する変更操作によって生じる情報の変化を示す変化情報を前記情報端末が復号化可能に暗号化した暗号化変化情報を受信する受信手段と、前記暗号化変化情報を記憶する記憶手段とを有することを特徴とするサーバ装置について開示する。
【００１１】
また、本願では、復号可能に暗号化された暗号化情報と前記暗号化情報のリビジョン情報とを受信する受信手段と、前記受信した暗号化情報を復号化して平文を生成する復号化手段と、前記受信したリビジョン情報と前記生成された平文とを関連づけて記憶する記憶手段を有することを特徴とする情報端末装置について開示する。
【発明の効果】
【００１２】
本発明により、各情報端末装置の所有者でしか復号化できない状態で主データベースに情報を格納しつつ数の情報端末装置の記憶装置にある情報の一貫性を維持したまま各情報端末装置に記憶される情報の同期を行うことができる。
【発明を実施するための最良の形態】
【００１３】
以下に本発明を実施するための現在考えられる最善の形態について説明する。本発明の範囲は、添付特許請求の範囲によって明確に定義されているため、この説明は限定的な意味に解釈すべきではなく、単に発明の一般原理を例示する目的で行う。
【００１４】
図１は、本発明の一実施形態が実施されるシステムの構成例を示す。そのシステムは、サーバ装置１１０と、複数の情報端末装置１０１、１０２、１０３、１０４とからなる。複数の情報端末装置間の情報の一貫性を保ち同期するためには、原則として常にネットワークに接続されたサーバ装置１１０を設置し、さらにこのサーバ装置１１０に主データベース１１１を設ける。そして、この主データベース１１１が設けられたサーバ装置１１０に対して各情報端末装置が、情報に対する更新情報を送信し、また、この主データベースに格納された情報に対する変更操作によってその情報の変化を示す変化情報をサーバ装置から各端末装置に送信する。以下では、情報端末装置からサーバ装置へ変化情報を送信することを「コミット」、またサーバ装置から情報端末装置へ変化情報を送信することを「アップデート」と呼ぶ。
【００１５】
図１において、情報端末装置の記憶装置に記憶された情報が変更される様子の一例が示されている。初期状態では、サーバ装置の主データベース１１１に格納されている情報と、各情報端末装置の記憶装置１０５，１０６、１０７、および１０８に記憶されている情報は同じものであるとする。いま、時刻ｔ０に情報端末装置１０１の記憶装置１０５に記憶されている情報に対して変更が加えられたとする。次に時刻ｔ１に情報端末装置１０２の記憶装置１０６に記憶されている情報に対して変更が加えられたとする。次に時刻ｔ２に情報端末装置１０１からサーバ装置１１０に対して、時刻ｔ０に変更された情報の変化情報がコミットされ、主データベース１１１に格納されている情報のうち、時刻ｔ０に変更された情報に相当する部分を更新したとする。次に時刻ｔ３には、サーバ装置１１０の記憶装置に記憶されている情報のうち、時刻ｔ０に変更された情報を示す変化情報が情報端末装置１０２へアップデートされ、記憶装置１０６記憶されている情報のうち、時刻ｔ０に変更された情報に相当する部分が更新されたとする。次に時刻ｔ４に情報端末装置１０３の記憶装置１０７に記憶されている情報に対して変更が加えられたとする。次に時刻ｔ５に、報端末装置１０３からサーバ装置１１０に対して記憶装置１０７に記憶されている情報の一部又は全ての変化情報がコミットされ、主データベース１１１に格納されている情報のうち、時刻ｔ４に変更された情報に相当する部分を更新したとする。次に時刻ｔ６には、サーバ装置１１０の記憶装置に記憶されている情報うち、時刻ｔ１に更新された情報、および時刻ｔ４に更新された情報の変化情報が情報端末装置１０１にアップデートされ、記憶装置１０５に記憶されたとする。次に時刻ｔ７に、情報端末装置１０４からサーバ装置１１０に対して、時刻ｔ１に変更された情報の変化情報がコミットされ、主データベース１１１に格納されている情報のうち、時刻ｔ１に変更された情報に相当する部分を更新したとする。
【００１６】
この一例が示すように、サーバ装置は、情報を同期して記憶するべき各情報端末装置からコミット時に受け取った変化情報にしたがって、主データベースに格納された情報を更新する。またサーバ装置は、各情報端末装置に対して、サーバ装置の持つ情報をアップデートする。以下に開示される技術では、サーバ装置１１０は、サーバ装置１１０の持つ情報と各情報端末装置の持つ情報のリビジョンを管理及び比較することによって、サーバ装置１１０および各情報端末装置の間の情報の一貫性を保って同期する。
【００１７】
さらにこのようなサーバ装置上のデータベースシステムは、データベースマネジメントシステムで一般に用いられている、トランザクション管理手段、同時実行制御手段、障害回復手段、機密保持手段を備える。
【００１８】
情報の一貫性を維持しながら複数の情報端末装置が記憶する情報を同期するには、上述のようにサーバ装置に設けられた主データベースには平文あるいは主データベースの管理者が復号化できる状態で情報を格納し、各情報端末装置からコミット時に送信された変化情報に従って更新を行うことが考えられる。なぜならば、主データベースに格納された情報が復号化できなかったり、あるいは復号できない情報をサーバ装置が受信したりしても、主データベースを構成するフィールドやレコードを変更することができないからである。
【００１９】
もっとも、各情報端末装置とサーバ装置の間の通信では暗号化を用いた通信が利用することはできる。これは、各情報端末装置とサーバ装置とはネットワークで接続されているため、盗聴、なりすまし、中間一致攻撃などの様々な攻撃が起こり得るからである。通信経路の暗号化の一例においては、例えば情報端末装置１０１からサーバ装置１１０に情報をコミットする場合、情報端末装置１０１とサーバ装置１１０とが共通の暗号化と復号化の鍵を持ち、情報端末装置１０１の演算装置がコミットする情報をこの鍵で暗号化してサーバ装置１１０に送信する。しかし、サーバ装置１１０ではその演算装置が情報端末装置１０１から受信した情報をその鍵で復号化した上で、主データベース１１１に平文で格納する。また通信経路を暗号するには、情報端末装置１０１の演算装置が、コミットする情報をサーバ装置１１０の公開鍵で暗号化してサーバ装置１１０に送信し、サーバ装置１１０はその秘密鍵でこれを復号化した上で主データベース１１１に格納することも考えられるが、この場合もコミットされた変化情報に従って、平文もしくは主データベースには平文主データベースの管理者が復号化できる状態で格納されている情報が更新される。
【００２０】
さらに図１に示される情報端末装置の群以外から、この情報端末装置の群の中の情報端末装置に対して任意の時刻に情報の更新が行われる場合も考えられる。たとえば図１に示した例では、時刻ｔ４に情報端末装置１０３が記憶している情報に対して行われた変更が、情報端末装置１０３が情報端末装置１０１、１０２，１０３および１０４以外の端末装置からネットワークを通じて受信した情報により引き起こされた変更かもしれない。情報端末装置に対してその操作者から直接入力される変更だけでなく、ネットワークを通じて同期すべき情報端末装置群以外からの情報変更が任意の時刻に行われることによって、これら情報端末装置群における情報の一貫性を維持した同期はさら難しくなる。
（実施形態１）
【００２１】
図２に、本発明が実現されるサーバ装置、情報端末装置、およびシステムの構成要素の一例を示す。なお、図２では、本発明に直接関係しない構成要素は省略してある。例えば、サーバ装置、情報端末装置には、入出力機器としてのディスプレイやキーボードが接続されていても良いが、省略してある。サーバ装置２１０は、記憶手段２１１、リビジョン管理手段２１２、および送受信手段２１３を有する。また、情報端末装置２２０は送受信手段２２１、復号化手段２２２、暗号化手段２２３、リビジョン管理手段２２４、記憶手段２２５、および演算手段２２６を有する。同様に、情報端末装置２３０は送受信手段２３１、復号化手段２３２、暗号化手段２３３、リビジョン管理手段２３４、記憶手段２３５、および演算手段２３６を有する。図２の一例ではサーバ装置２１０が、ネットワーク２００を経由して、情報端末装置２２０および情報端末装置２３０と接続されている。これらの手段についての動作については後に説明される。
【００２２】
図２に示す例では、２台の情報端末装置の間で情報一貫性を保ち同期する情報を保持する構成が示されているが、情報端末装置の数はこれに限定されず何台でもよい。記憶手段２２５および記憶手段２３５には、暗号化および復号化に用いる鍵が記憶されている。この鍵は、情報端末装置２２０および情報端末装置２３０の間で共有される共有鍵でもよいし、あるいは情報端末装置２２０および２３０で共有される公開鍵と秘密鍵の対でもよい。ただし、サーバ装置２１０装置の記憶手段２１１には、いずれの鍵も記憶されていないし、共有鍵または秘密鍵を入力する手段は必須とされない。
【００２３】
図３を参照して、本実施形態において２台の情報端末装置上の情報の一貫性を維持するための処理を説明する。図３は、サーバ装置２１０の記憶手段２１１の内容、情報端末装置２２０の記憶手段２２５の内容、および情報端末装置２３０の記憶手段２３５の内容を時間の経過とともに表したものである。図３において時間は上から下に向かって経過し、ｔｎが時刻を表す。ここでは、ｔｎで表す時刻は、瞬間を意味するのではなく、一定の期間を表すものとする。このため、複数のイベントが同じｔｎにおいて発生することがある。図３を参照して、情報ａ０が情報端末装置２２０に入力され、時刻ｔ１にその記憶手段２２５に記憶されるとする（３０１）。同様に、情報ａ１が情報端末装置２３０に入力され、時刻ｔ３にその記憶装置２３５に記憶されるとする（３０２）。さらに情報ａ２が情報端末装置２２０に入力され、時刻ｔ４にその記憶装置２２５に記憶されるとする（３０３）。
【００２４】
図３において、情報ａ０（３０１）、ａ１（３０２）、ａ２（３０３）が四角形の内部に示されているのは、この時点で各々の情報端末装置の記憶手段に記憶されたことを表している。また、図３において括弧で囲まれている｛ａ０｝、｛ａ１｝および｛ａ２｝等は、ａ０、ａ１、ａ２のそれぞれが暗号化されていることを表している。またこの括弧で囲まれていないａ０、ａ１およびａ２は、平文であることを表している。さらに、｛ａ０｝＋｛ａ１｝という表記は情報ａ０と情報ａ１が別に暗号化された後に結合、並置、または関連づけられていることを示している。｛ａ０＋ａ１｝という表記は、情報ａ０と情報ａ１が結合、並置、または関連づけられた後に全体を暗号化していることを示している。これらの暗号化に用いられる暗号化方式は、ＤＥＳ、三重ＤＥＳ、ＡＥＳのような共有秘密鍵による暗号化でも、Ｒｉｖｅｓｔ、Ｓｈａｍｉｒ及びＡｄｌｅｍａｎらによるＲＳＡアルゴリズムのような公開鍵による暗号化でもよい。後に参照される図５および図８の情報ａ０（５０１）、ａ１（５０２）、ａ２（５０３）、ｂ０（８０１）、ｂ１（８０２）およびａ２（８０３）などについても同様である。
【００２５】
図３において、四角で囲まれたａ０（３０１）、ａ１（３０２）およびａ２（３０３）が、記憶手段２２５に記憶されている情報に対して加えられた変更操作によって生じる情報の変化を示す変化情報である。例えば、住所録に新たにＡｌｉｃｅの住所を追加した場合には、Ａｌｉｃｅの名前と住所などを表す情報が追加されたことを示す情報である。そして、これを暗号化した｛ａ０｝、｛ａ１｝および｛ａ２｝は暗号化変化情報とよぶ。また後に参照される図５においては、ａ０＋ａ２をまとめて暗号化した｛ａ０＋ａ２｝が暗号化変化情報となる。さらに、図８においては、四角で囲まれたｂ０（３０１）およびａ２（３０３）が、記憶手段２２５に対して加えられた変更における変化情報である。そして、これを暗号化した｛ｂ０｝および｛ａ２｝は暗号化変化情報となる。図３、図５および図８の一例では、各々の情報端末装置の記憶手段にある変化情報は２個以下であるが、変化情報が３個以上である場合には、任意の変化情報を組み合わせて暗号化してもよく、この場合には任意の変化情報を組み合わせて暗号化したものが暗号化変化情報となる。
【００２６】
なお、図３、図５、図８では変化情報としては、情報が記憶手段に追加された例を用いているが、変化情報は情報が削除されたことを示す情報であってよい。もし追加および削除が混在するようなシステムにおいては、変化情報に追加又は削除を認識するためのフラグ情報を含んでもよい。例えば、Ｂｏｂの住所が変更された場合には、変化情報は、追加を認識するためのフラグ情報とＢｏｂの名前と変更後の住所に表す情報となる。また、Ｄａｖｉｄに関する情報を削除した場合には、変化情報は、削除を認識するためのフラグ情報とＤａｖｉｄに関する情報を一意に特定するための情報（例えば、Ｄａｖｉｄに与えられた個人識別情報）である。この例のように、変化情報が、情報の変化の前後の違いを示す場合、その変化情報は、前後の差分を示す差分情報となる。
【００２７】
共有鍵を用いる場合には、情報端末装置２２０の記憶手段２２５および情報端末装置２３０の記憶手段２３５は同じ鍵を共有している。サーバ装置に送られる情報は、暗号化手段２２３または２３３においてこの共有鍵で暗号化され、送受信手段がサーバ装置２１１に対して送信する。またサーバ装置から暗号化された情報が情報端末装置２２０に送られてきた場合には、送受信手段２２１が受信し、復号化手段２２２において復号化して平文の状態にて記憶手段２２５に記憶される。
【００２８】
もし、公開鍵を用いる暗号化／復号化を用いる場合には、情報端末装置２２０および情報端末装置２３０で共有される鍵の対である公開鍵と秘密鍵の対を使う必要がある。すなわち、この対の中の秘密鍵は情報端末装置２２０の記憶手段２２５および情報端末装置２３０の記憶手段２３５に記憶されている。たとえば、情報端末装置２２０で情報を暗号化してサーバ装置２１０に送る場合には、以下のようなステップをとる。まず、情報端末装置２２０は公開鍵をネットワークに接続されている他のサーバ装置または情報端末装置などから取得し、その記憶手段２２５に記憶する。あるいは情報端末装置の演算手段２２６で公開鍵と秘密鍵の対を生成した上で記憶手段２２５に記憶しておいてもよい。次に、記憶手段２２５に記憶された公開鍵を用いて、サーバ装置に送る情報を暗号化手段２２３が暗号化し、送受信手段２２１がサーバ装置に送信する。サーバ装置から暗号化された情報が情報端末装置２２０に送られてきた場合には、送受信手段２２１が受信し、復号化手段２２２において復号化し、平文にて記憶手段２２５に記憶される。
【００２９】
次に図２、図３、および図４を参照して、サーバ装置２１０、情報端末装置２２０、２３０の間で情報の一貫性を保ちつつ同期する処理の一例を説明する。この場合、サーバ装置２１０の記憶手段２１０ではすべての情報が暗号化されて記憶され、サーバ装置２１０は暗号化された情報を復号化することができない。図３に示す例では、時刻ｔ０における初期状態では、サーバ装置２１０も記憶手段２１１、情報端末装置２２０の記憶手段２２０、および情報端末装置２３０の記憶手段２３５の内容はすべて空集合Φで表されるとする。ここで空集合Φは、サーバ装置２１０、情報端末装置２２０、２３０の間で同じ情報が共有されているとする。また、サーバ装置２１０のリビジョン管理手段のリビジョン値記憶領域４１２に記憶されているリビジョン番号は０（４１３）であるとする。同様に、情報端末装置２２０のリビジョン管理手段２２４に記憶されているリビジョン値記憶領域のリビジョン番号（４２３）および、情報端末装置２３０のリビジョン管理手段２３４に記憶されているリビジョン番号（４３３）も０であるとする。
【００３０】
まず時刻ｔ１に、情報ａ０（３０１）が記憶手段２２５に平文にて記憶される。次に情報端末装置２２０は情報ａ０を暗号化した上で、暗号化変化情報｛ａ０｝をサーバ装置２１０にコミットする（３１１）。ここに、情報ａ０は時刻ｔ１にて情報端末装置２２０に記憶されている情報に対する操作が行われる前と後との差分と考えることもできる。
【００３１】
次に時刻ｔ２に、前記暗号化変化情報｛ａ０｝がサーバ装置２１０の記憶手段２１１に記憶される。この際、リビジョン管理手段２１２は次のリビジョン番号として１を生成し、この暗号化変化情報｛ａ０｝とリビジョン番号である１（４１４）とを関連づけて記憶する。さらにサーバ装置２１０は情報端末装置２２０に対して、受領した暗号化変化情報｛ａ０｝のリビジョン番号が１であるという情報を通知する。この通知を受け取った情報端末装置２２０は、そのリビジョン管理手段２２４にあるリビジョン値記憶領域４２２に、平文情報ａ０と関連づけて前記サーバ装置より受信したリビジョン番号である１（４２４）を記憶する。この時点で、サーバ装置２１０と情報端末装置２２０の記憶しているリビジョン番号は同じとなり、サーバ装置２１０と情報端末装置２２０の情報が同期する。
【００３２】
次に時刻ｔ３に、情報ａ１（３０２）が記憶手段２３５に平文にて記憶される。図３に示す例では、情報端末装置２３０は時刻ｔ６までサーバ装置２１０に対するコミットをおこなっていない。時刻ｔ３では情報端末装置２３０のリビジョン管理手段２３４が記憶する情報は変更されず、Φにリビジョン番号としての０が関連づけられた状態である。
【００３３】
次に時刻ｔ４に、情報ａ２（３０３）が記憶手段２２５に平文にて記憶される。したがって、この時点での記憶手段２２５が記憶する情報の内容はａ０およびａ２となる。次に情報端末装置２２０はまだコミットされていない情報ａ２を暗号化した上で、暗号化変化情報｛ａ２｝をサーバ装置２１０にコミットする（３１２）。
【００３４】
次に時刻ｔ５に、前記暗号化変化情報｛ａ２｝がサーバ装置２１０の記憶手段２１１に記憶された。この際、リビジョン管理手段２１２はこの暗号化変化情報｛ａ２｝と、次のリビジョン番号として現在のリビジョン番号を１増やしたリビジョン番号２（４１５）とを関連づけて記憶する。さらにサーバ装置２１０は情報端末装置２２０に対して、受信した暗号化変化情報｛ａ２｝のリビジョン番号は２であるという情報を通知する。この通知を受け取った情報端末装置２２０は、そのリビジョン管理手段２２４が有するリビジョン値記憶領域４２２に、平文情報ａ２と関連づけて前記サーバ装置より受信したリビジョン番号２（４２５）を記憶する。この時点で、サーバ装置２１０と情報端末装置２２０の記憶しているリビジョン番号は同じとなり、サーバ装置２１０と情報端末装置２２０の情報が再び同期する。
【００３５】
続いてサーバ装置２１０は、情報端末装置２３０に対してアップデートをおこなう（３１３）。この際、まずサーバ装置２１０は、情報端末装置２３０に対して現在のリビジョン番号を問い合わせ、情報端末装置２３０はそのリビジョン管理手段２３４にあるこの時点でのリビジョン番号である０（４３３）をサーバ装置２１０に返信する。次にサーバ装置２１０のリビジョン管理手段は、この時点でのリビジョン値記憶領域４１２の最新のリビジョン番号である２（４１５）を参照し、前記情報端末装置２３０から受け取ったリビジョン番号である０との比較を行う。２と０とは異なり、２の方が０よりも大きいので、この比較結果に基づいて、サーバ装置２１０の記憶手段２１１に記憶されているが、情報端末装置２３０の記憶手段２３５には記憶されていない情報の存在が検出される。すなわち、そのような情報に相当する暗号化変化情報｛ａ０｝および暗号化変化情報｛ａ２｝を、送受信手段２１３を通じて情報端末装置２３０に送る（３１３）。このとき、暗号化変化情報｛ａ０｝にはサーバ装置２１０のリビジョン管理手段２１２で関連づけられたリビジョン番号１を、また暗号化変化情報｛ａ２｝にはリビジョン管理手段２１２で関連づけられたリビジョン番号２をそれぞれ関連づけて情報端末装置２３０に送る。情報端末装置２３０は、サーバ装置２１０から受け取った暗号化変化情報｛ａ０｝および暗号化変化情報｛ａ２｝を復号化手段２３２で復号化する。その後平文となったａ０およびａ２を記憶手段２３５に記憶する。この時点で、情報端末装置２３０の記憶手段２３５には時刻ｔ３で記憶されたａ１に加えて、ａ０およびａ２が記憶された。ここでリビジョン管理手段２３４のリビジョン値記憶領域では、平文情報ａ０と関連づけられてリビジョン番号１が、平文情報ａ２と関連づけられてリビジョン番号２がそれぞれ記憶される。なお、時刻ｔ６では、情報端末装置２３０のリビジョン管理手段２３４に記憶されている最新のリビジョン番号が０から２へと２つ増えている。このように、一度のコミットまたはアップデートでリビジョン番号が複数段階の値分増えてもよいし、リビジョン番号が１増えるごとにコミットまたはアップデートをおこなってもよい。
【００３６】
次に、情報端末装置２３０は、記憶手段２３５にあり未だコミットしていない平文情報ａ１を暗号化手段２３３で暗号化し、その暗号化変化情報｛ａ１｝をサーバ装置２１０にコミットする（３１４）。
【００３７】
次に時刻ｔ７に、前記暗号化変化情報｛ａ１｝がサーバ装置２１０の記憶手段２１１に記憶される。この際、リビジョン管理手段２１２は、この暗号化変化情報｛ａ１｝と、１増やしたリビジョン番号３（４１６）とを関連づけて記憶する。さらにサーバ装置２１０は情報端末装置２３０に対して、受領した暗号化変化情報｛ａ１｝のリビジョン番号は３である旨の情報を通知する。この情報を受け取った情報端末装置２３０は、そのリビジョン管理手段２３４にあるリビジョン記憶領域４３２に、平文情報ａ１と関連づけて前記サーバ装置より受信したリビジョン番号３（４３６）を記憶する。この時点で、サーバ装置２１０と情報端末装置２３０の記憶しているリビジョン番号は同じとなり、サーバ装置２１０と情報端末装置２３０の情報が同期する。
【００３８】
次にサーバ装置２１０は、情報端末装置２２０に対してアップデートをおこなう（３１５）。この際、まずサーバ装置２１０は、情報端末装置２２０に対して現在のリビジョン番号を問い合わせ、情報端末装置２２０はそのリビジョン管理手段２２４に記憶されている最新のリビジョン番号である２（４２５）をサーバ装置２１０に返信する。次にサーバ装置２１０のリビジョン管理手段は、この時点でのリビジョン値記憶領域４１２のリビジョン番号３を参照し、前記情報端末装置２２０から受け取ったリビジョン番号である２との比較をおこなう。この比較結果に基づいて、サーバ装置２１０の記憶手段２１１に記憶されているが、情報端末装置２２０の記憶手段２２５にはない、暗号化変化情報｛ａ１｝を、送受信手段２１３を通じて情報端末装置２３０に送る（３１５）。このとき、暗号化変化情報｛ａ１｝にはサーバ装置２１０のリビジョン管理手段２１２で関連づけられたリビジョン番号３を関連づけて情報端末装置２３０に送る。情報端末装置２２０は、サーバ装置２１０から受け取った暗号化変化情報｛ａ１｝を復号化手段２３２で復号化する。その後平文となったａ１を記憶手段２２５に記憶する。この時点で、情報端末装置２２０の記憶手段２２５には、以前記憶された平文情報時刻ａ０、ａ２に加えてａ１が記憶される。ここでリビジョン管理手段２２４のリビジョン値記憶領域では、平文情報ａ１と関連づけられてリビジョン番号３が記憶される。
【００３９】
このようにして、サーバ装置２１０を介して、情報端末装置２２０の記憶手段２２５と、情報端末装置２３０の記憶手段２３５が同期される。
【００４０】
図３で示したコミットおよびアップデートのシーケンスは一例である。また、図３では、簡単のために、初期状態である時刻ｔ０においては、サーバ装置２１０、情報端末装置２２０および情報端末装置２３０の各々の記憶手段に記憶されている情報の内容は同じであり、また初期状態である時刻ｔ０においては、リビジョン番号が０であるという特別な例を用いて説明した。しかし本発明による方法では、初期状態について、サーバ装置およびすべての端末装置が記憶している情報は同期している必要があるわけではなく、サーバ装置の初期状態および各情報端末装置初期状態は任意の組み合わせであってよい。
【００４１】
本発明による方法によれば、このようにして各情報端末装置が随時ネットワークに接続されたり、ネットワークから切断されたりする状況においても、サーバ装置に記憶される情報がサーバ装置で復号化されることなく、サーバ装置を介して情報端末装置の記憶装置に記憶される情報の一貫性を保ち同期をすることができる。
（実施形態２）
【００４２】
図５および図６を参照して、本発明による他の実施形態の一例について説明する。なお、本実施形態２における、情報端末間の情報の同期のための各ステップのうちの大部分は、前記実施形態１における各ステップと同じである。以下の本実施形態２の説明において、前記実施形態１と同じステップについては、省略する。
【００４３】
図５において、時刻ｔ０から時刻ｔ３までの、サーバ装置２１０、情報端末装置２２０、および情報端末装置２３０における処理は、前記実施形態１のそれと全く同じである。
【００４４】
時刻ｔ４に、情報ａ２が記憶手段２２５に記憶されるとする（５０３）。したがって、この時点での記憶手段２２５の記憶する内容は、ａ０およびａ２となる。次に情報端末装置２２０の暗号化手段２２３は、情報ａ０と情報ａ２を結合、並置または関連づけた状態で、全体を暗号化して暗号化変化情報｛ａ０＋ａ２｝を作成する。そしてこの暗号化変化情報｛ａ０＋ａ２｝をサーバ装置２１０に対してコミットする（５１２）。
【００４５】
次に時刻ｔ５に、前記暗号化変化情報｛ａ０＋ａ２｝がサーバ装置２１０の記憶手段２１１に記憶された。この際、リビジョン管理手段２１２は、この暗号化変化情報｛ａ０＋ａ２｝とリビジョン番号２（６１５）を関連づけて記憶する。さらにサーバ装置２１０は情報端末装置２２０に対して、受信した暗号化変化情報｛ａ０＋ａ２｝のリビジョン番号は２である旨の情報を通知する。この情報を受け取った情報端末装置２２０は、そのリビジョン管理手段２２４にあるリビジョン番号記憶素領域６２２に平文情報ａ０＋ａ２と関連づけて前記サーバ装置より受信したリビジョン番号２（６２５）を記憶する。この時点で、サーバ装置２１０と情報端末装置２２０の記憶するリビジョン番号は同じとなり、サーバ装置２１０と情報端末装置２２０の情報が同期する。
【００４６】
次にサーバ装置２１０は、情報端末装置２３０に対してアップデートをおこなう（５１３）。この際、まずサーバ装置２１０は、情報端末装置２３０に対して現在のリビジョン番号を問い合わせ、情報端末装置２３０はそのリビジョン管理手段２３４に記憶されている最新のリビジョン番号である０（６３３）をサーバ装置２１０に返信する。次にサーバ装置２１０のリビジョン管理手段は、この時点での最新のリビジョン値記憶領域６１２のリビジョン番号２（６１５）を参照し、前記情報端末装置２３０から受け取ったリビジョン番号である０との比較をおこなう。この比較結果に基づいて、サーバ装置２１０の記憶手段２１１にあり、情報端末装置２３０の記憶手段２３５には記憶されていない情報の存在が検出される。そこで、暗号化変化情報｛ａ０＋ａ２｝を、送受信手段２１３を通じて情報端末装置２３０に送る（５１３）。このとき、暗号化変化情報｛ａ０＋ａ２｝にはサーバ装置２１０のリビジョン管理手段２１２で関連づけられたリビジョン番号２を関連づけて情報端末装置２３０に送る。情報端末装置２３０は、サーバ装置２１０から受け取った暗号化変化情報｛ａ０＋ａ２｝を復号化手段２３２で復号化する。その後、平文となったａ０＋ａ２からａ０とａ２分離し、これらを記憶手段２３５に記憶する。ここでリビジョン管理手段２３４のリビジョン値記憶領域では、平文情報ａ０＋ａ２と関連づけられてリビジョン番号２が記憶される。この時点で、サーバ装置２１０と情報端末装置２２０の記憶装置は同期する。
【００４７】
次に、情報端末装置２３０は、記憶手段２３５にあり未だコミットしていない平文情報ａ１を暗号化手段２３３で暗号化し、その暗号化変化情報｛ａ１｝をサーバ装置２１０にコミットする（３１４）。
【００４８】
次に時刻ｔ７に、前記暗号化変化情報｛ａ１｝がサーバ装置２１０の記憶手段２１１に記憶される。この際、リビジョン管理手段２１２は、この暗号化変化情報｛ａ１｝と、リビジョン番号を１増やしたリビジョン番号である３（６１６）とを関連づけて記憶する。この時点で、サーバ装置の記憶手段２１３には、暗号化変化情報｛ａ０＋ａ２｝と暗号化変化情報｛ａ１｝が記憶されている次にサーバ装置２１０は情報端末装置２３０に対して、受領した暗号化変化情報｛ａ１｝のリビジョン番号は３であるという情報を通知する。この情報を受け取った情報端末装置２３０は、そのリビジョン管理手段２３４にあるリビジョン記憶領域６３２に、平文情報ａ１と関連づけて前記サーバ装置より受信したリビジョン番号３（６３６）を記憶する。この時点で、サーバ装置２１０と情報端末装置２３０の記憶するリビジョン番号は同じとなり、サーバ装置２１０と情報端末装置２３０の情報が同期する。
【００４９】
次にサーバ装置２１０は、情報端末装置２２０に対してアップデートをおこなう（５１５）。この際、まずサーバ装置２１０は、情報端末装置２２０に対して現在のリビジョン番号を問い合わせ、情報端末装置２２０はそのリビジョン管理手段２２４にあるこの時点でのリビジョン番号である２（６２５）をサーバ装置２１０に返信する。次にサーバ装置２１０のリビジョン管理手段は、この時点でのリビジョン値記憶領域６１２の値３（６１６）を参照し、前記情報端末装置２２０から受け取ったリビジョン番号である２との比較をおこなう。この比較結果に基づいて、サーバ装置２１０の記憶手段２１１にあるが、情報端末装置２２０の記憶手段２２５にはない情報の存在が検出される。その情報である暗号化変化情報｛ａ１｝を、送受信手段２１３を通じて情報端末装置２３０に送る（５１５）。このとき、暗号化変化情報｛ａ１｝にはサーバ装置２１０のリビジョン管理手段２１２で関連づけられたリビジョン番号３を関連づけて情報端末装置２３０に送る。情報端末装置２２０は、サーバ装置２１０から受け取った暗号化変化情報｛ａ１｝を復号化手段２３２で復号化する。その後平文となったａ１を記憶手段２２５に記憶する。この時点で、情報端末装置２２０の記憶手段２２５には、以前記憶された平文情報ａ０、ａ２に加えてａ１が記憶された。ここでリビジョン管理手段２２４のリビジョン値記憶領域では、平文情報ａ１と関連づけられてリビジョン番号３（６２６）が記憶される。これでサーバ装置と情報端末装置２２０の記憶する情報の同期が完了する。
【００５０】
以下に、実施形態１と実施形態２の違いと実施形態２の利点について説明する。実施形態１では、情報ａ０、ａ１、ａ２などはすべて、情報端末で各々個別に暗号化され、暗号化変化情報｛ａ０｝、｛ａ１｝、｛ａ２｝としてサーバ装置２１０に送られた。サーバ装置ではこれら各々の暗号化情報にリビジョン番号を関連づけることで、情報端末間の情報の一貫性を保っていた。一方、本実施形態２では、情報端末装置が暗号化変化情報をコミットする際、実施形態１とは異なる情報を送信する場合がある。すなわち、コミットにおいて、情報端末装置にある平文の変化情報のすべて、または一部を結合、並置または関連づけた上で、その全体を暗号化した後、暗号化変化情報をサーバ装置に送る。
【００５１】
実施形態１では、以下のような問題の発生があり得る。すなわち、各情報端末装置への情報の追加、更新、削除などが続くと、サーバ装置の記憶手段に記憶される暗号化変化情報の数が増える。またこれにあわせて、リビジョン管理手段が管理するリビジョンの管理のためのテーブルの規模が大きくなることがある。加えて、コミットまたはアップデートの時間間隔よりも、各情報端末装置への情報の追加、更新、削除などの時間間隔が短い場合、多くの小さな暗号化変化情報を、ネットワーク経由で送受信しなければならなくなり、通信効率が落ちることがある。これに対して、実施形態２では、情報端末装置に記憶されている平文情報をまとめて、一つの暗号化変化情報としてサーバ装置に送ったり、サーバ装置から情報端末装置に送ったりできるため、サーバ装置に記憶される暗号化変化情報の数や、リビジョン管理手段のテーブルサイズの増大を抑え、またネットワークを通じた暗号化変化情報の送受信の効率を高めることができる。
【００５２】
実施形態２においては、各情報端末装置の差分情報をどのように組み合わせてまとめて暗号化し、暗号化変化情報としてサーバ装置に送信する方法として、当業者は様々な方法を挙げることができる。したがって、実施形態２においては、情報端末装置間の同期において、最も効率の高い方法を選択することができるという利点がある。
【００５３】
（実施形態３）
上述の実施形態１および実施形態２において、情報端末装置２２０および情報端末装置２３０の各々の記憶手段２２５および２３５の情報が更新される場合として、これら２つの記憶手段２２５および２３５に記憶された情報を同期する方法を説明した。以下では、図７、図８および図９を参照して、本発明の実施形態３の概要について説明する。ここでは、これらの情報端末装置２２０および情報端末装置２３０を、情報を同期する端末装置群Ａ７０２と呼ぶ。実施形態３ではさらに、情報を同期する端末装置群Ａに対して、前記端末装置群Ａの各端末装置で復号化できる状態で暗号化された情報を送る情報端末装置またはサーバ装置Ｂ７０１が存在する。この情報端末装置またはサーバ装置Ｂ７０１は、端末装置群Ａの公開鍵で暗号化された情報を端末装置群Ａの中の情報端末装置に送信する。また、情報端末装置またはサーバ装置Ｂ７０１は、サーバ装置２１０に、端末装置群Ａの公開鍵で暗号化された情報を送信してもよい。
【００５４】
図７を参照する。実施形態３では、時刻ｔ１に情報端末装置２２０が前記情報端末装置またはサーバ装置Ｂ７０１から送られた暗号化された情報｛ｂ０｝を受信しこれを復号化手段２２２で復号化し、平文ｂ０で記憶手段２２５に記憶する（８０１）。この時点で、平文情報ｂ０が、情報端末装置の記憶手段２２５における差分情報となる。次にｂ０を暗号化手段２２３で暗号化した上、暗号化差分情報として｛ｂ０｝をサーバ装置２１０にコミットする（８１１）。
【００５５】
次に時刻ｔ２に、前記暗号化変化情報｛ｂ０｝がサーバ装置２１０の記憶手段２１１に記憶される。この際、リビジョン管理手段２１２はこの暗号化変化情報｛ｂ０｝とリビジョン番号１（９１４）とを関連づけて記憶する。さらにサーバ装置２１０は情報端末装置２２０に対して、受領した暗号化変化情報｛ｂ０｝のリビジョン番号が１であるという情報を通知する。この情報を受け取った情報端末装置２２０は、そのリビジョン管理手段２２４にあるリビジョン値記憶領域４２２に、平文情報ｂ０と関連づけて前記サーバ装置より受信したリビジョン番号１（９２４）を記憶する。この時点で、サーバ装置２１０と情報端末装置２２０の記憶するリビジョン番号は同じとなり、サーバ装置２１０と情報端末装置２２０の情報が同期する。
【００５６】
次に、情報端末装置またはサーバ装置Ｂ７０１から暗号化された情報｛ｂ１｝が情報端末装置２３０に送られ、復号化手段２３２で復号化され、時刻ｔ３にその記憶手段２３５に平文で記憶される（８０２）。図８に示す一例では、情報端末装置２３０は時刻ｔ６までサーバ装置２１０にコミットをおこなっていない。時刻ｔ３では、情報端末装置２３０のリビジョン管理手段２３４は変化せず、Φにリビジョン番号０が関連づけられた状態である。
【００５７】
次に時刻ｔ４に、情報端末装置２３０に直接入力された情報ａ２が記憶手段２２５に平文で記憶された（３０３）。したがって、この時点での記憶手段２２５の内容はｂ０およびａ２となる。次に情報端末装置２２０はまだコミットしていない情報ａ２を暗号化した上で、暗号化変化情報｛ａ２｝をサーバ装置２１０にコミットする（８１２）。
【００５８】
次に時刻ｔ５に、前記暗号化変化情報｛ａ２｝がサーバ装置２１０の記憶手段２１１に記憶された。この際、リビジョン管理手段２１２はこの暗号化変化情報｛ａ２｝と、最新のリビジョン番号を１増やしたリビジョン番号である２（９１５）とを関連づけて記憶する。さらにサーバ装置２１０は情報端末装置２２０に対して、受信した暗号化変化情報｛ａ２｝のリビジョン番号は２であるという情報を通知する。この情報を受け取った情報端末装置２２０は、そのリビジョン管理手段２２４にあるリビジョン値記憶領域４２２に、平文情報ａ２と関連づけて前記サーバ装置より受信したリビジョン番号２（９２５）を記憶する。この時点で、サーバ装置２１０と情報端末装置２２０の記憶するリビジョン番号は同じとなり、サーバ装置２１０と情報端末装置２２０の情報が再び同期する。
【００５９】
続いてサーバ装置２１０は、情報端末装置２３０に対してアップデートをおこなう（３１３）。この際、まずサーバ装置２１０は、情報端末装置２３０に対して現在のリビジョン番号を問い合わせ、情報端末装置２３０はそのリビジョン管理手段２３４に記憶されているこの時点での最新のリビジョン番号である０（９３３）をサーバ装置２１０に返信する。次にサーバ装置２１０のリビジョン管理手段は、この時点でのリビジョン値記憶領域４１２に記憶されている最新のリビジョン番号である値２（９１５）を参照し、前記情報端末装置２３０から受け取ったリビジョン番号である０との比較を行う。この比較結果に基づいて、サーバ装置２１０の記憶手段２１１にあり、情報端末装置２３０の記憶手段２３５にはない情報の存在が検出される。その情報である暗号化変化情報｛ｂ０｝および暗号化変化更情報｛ａ２｝を、送受信手段２１３を通じて情報端末装置２３０に送る（８１３）。このとき、暗号化変化情報｛ｂ０｝にはサーバ装置２１０のリビジョン管理手段２１２で関連づけられたリビジョン番号１を、また暗号化情報｛ａ２｝にはリビジョン管理手段２１２で関連づけられたリビジョン番号２をそれぞれ関連づけて情報端末装置２３０に送る。情報端末装置２３０は、サーバ装置２１０から受け取った暗号化変化情報｛ｂ０｝および暗号化変化情報｛ａ２｝を復号化手段２３２で復号化する。その後平文となったｂ０およびａ２を記憶手段２３５に記憶する。この時点で、情報端末装置２３０の記憶手段２３５には平文情報時刻ｔ３で記憶されたｂ１に加えて、ｂ０およびａ２が記憶される。ここでリビジョン管理手段２３４のリビジョン値記憶領域では、平文情報ｂ０と関連づけられてリビジョン番号１が、平文情報ａ２と関連づけられてリビジョン番号として２がそれぞれ記憶される。時刻ｔ６では、情報端末装置２３０のリビジョン管理手段２３４に記憶されているリビジョン番号が０から２へと２つ増えている。このように、一度のコミットまたはアップデートでリビジョン番号が複数増えてもよいし、リビジョン番号が１増えるごとにコミットまたはアップデートをおこなってもよい。
【００６０】
次に、情報端末装置２３０は、記憶手段２３５にあり未だコミットしていない平文情報ｂ１を暗号化手段２３３で暗号化し、これを暗号化変化情報｛ｂ１｝としてサーバ装置２１０にコミット（８１４）する。
【００６１】
次に時刻ｔ７に、前記暗号化変化情報｛ｂ１｝がサーバ装置２１０の記憶手段２１１に記憶される。この際、リビジョン管理手段２１２は、この暗号化変化情報｛ｂ１｝と、１増やしたリビジョン番号３（９１６）とを関連づけて記憶する。さらにサーバ装置２１０は情報端末装置２３０に対して、受領した暗号化変化情報｛ｂ１｝のリビジョン番号は３であるという情報を通知する。この情報を受け取った情報端末装置２３０は、そのリビジョン管理手段２３４にあるリビジョン記憶領域４３２に、平文情報ｂ１と関連づけて前記サーバ装置より受信したリビジョン番号３（９３６）を記憶する。この時点で、サーバ装置２１０と情報端末装置２３０の記憶するリビジョン番号は同じとなり、サーバ装置２１０と情報端末装置２３０の情報が同期する。
【００６２】
次にサーバ装置２１０は、情報端末装置２２０に対してアップデート８１５をおこなう。この際、まずサーバ装置２１０は、情報端末装置２２０に対して現在のリビジョン番号を問い合わせ、情報端末装置２２０はそのリビジョン管理手段２２４にあるこの時点での最新のリビジョン番号である２（９２５）をサーバ装置２１０に返信する。次にサーバ装置２１０のリビジョン管理手段は、この時点での最新のリビジョン値記憶領域４１２のリビジョン番号３を参照し、前記情報端末装置２２０から受け取ったリビジョン番号である２との比較をおこなう。この比較結果に基づいて、サーバ装置２１０の記憶手段２１１にあるが、情報端末装置２２０の記憶手段２２５にはない情報が検出される。その情報である暗号化変化情報｛ｂ１｝を、送受信手段２１３を通じて情報端末装置２３０に送る（８１５）。このとき、暗号化変化情報｛ｂ１｝にはサーバ装置２１０のリビジョン管理手段２１２で関連づけられたリビジョン番号３を関連づけて情報端末装置２３０に送る。情報端末装置２２０は、サーバ装置２１０から受け取った暗号化変化情報｛ｂ１｝を復号化手段２３２で復号化する。その後平文となったｂ１を記憶手段２２５に記憶する。この時点で、情報端末装置２２０の記憶手段２２５には、以前記憶された平文情報時刻ｂ０、ａ２に加えてｂ１が記憶された。ここでリビジョン管理手段２２４のリビジョン値記憶領域では、平文情報ｂ１と関連づけられてリビジョン番号３が記憶される。
【００６３】
このようにして、情報端末装置またはサーバ装置Ｂ７０１から情報を同期する端末装置群Ａ７０２に送られた暗号化情報｛ｂ０｝と｛ｂ１｝、および情報端末装置２２０に直接入力されその記憶手段に記憶された平文情報ａ２を含めて、情報端末装置２２０の記憶手段２２５と、情報端末装置２３０の記憶手段２３５が同期する。
【００６４】
実施形態３では、情報端末装置２２０または情報端末装置２３０に対してその利用者などから直接入力された情報と、情報を同期する情報端末装置２２０または情報端末装置２３０に対して暗号化情報を送る端末装置またはサーバ装置から送られる暗号化情報が、情報端末装置２２０または情報端末装置２３０の記憶手段に記憶されるという場合、情報端末装置２２０の記憶手段にある情報と情報端末装置２３０の記憶手段にある情報とを、一貫性を保って同期させることができる。なおかつ実施形態１および実施形態２と同様に、このときサーバ装置２１０では情報端末装置に記憶される情報が復号化されることを防止できる。。
【００６５】
実施形態３では、図７に示す、情報を同期する端末装置群Ａに暗号化情報を送る情報端末装置またはサーバ装置Ｂ７０１は複数あってもよい。また情報を同期する端末装置群Ａに暗号化情報送る情報端末装置が複数あり、かつこれら端末装置が本発明の方法によって情報を同期する端末装置群であってもよい。
【００６６】
さらに、実施形態３の場合にも、実施形態２で説明したように、任意の差分情報を結合、並置、または関連づけたものの全体を暗号化し、暗号化変化情報としてコミットする方法でもよい。
【００６７】
実施形態３はたとえば、グループウェアにおいて、個人Ａが所有する複数の端末装置が図７における情報を同期する端末装置群Ａ７０２であり、これに対して個人Ｂが情報を開示するような場合に相当する。この実施形態３に示す方法によれば、個人Ｂが所有する端末装置から開示される情報も、個人Ａが自ら所有する端末装置に入力する情報も、個人Ａが所有する複数の端末装置間で同期させることができる。
【図面の簡単な説明】
【００６８】
【図１】本発明の一実施形態において情報端末装置とサーバ装置との間で行われる通信の様子の一例図である。
【図２】本発明の一実施形態における情報端末装置とサーバ装置の構成図である。
【図３】本発明の一実施形態において情報端末装置に記憶される情報の一貫性を維持するための処理を説明するための図である。
【図４】本発明の一実施形態においてサーバ装置と情報端末装置の管理する情報の一例図である。
【図５】本発明の一実施形態において情報端末装置に記憶される情報の一貫性を維持するための処理を説明するための図である。
【図６】本発明の一実施形態においてサーバ装置と情報端末装置の管理する情報の一例図である。
【図７】本発明の一実施形態における情報端末装置とサーバ装置の構成図である。
【図８】本発明の一実施形態において情報端末装置に記憶される情報の一貫性を維持するための処理を説明するための図である。
【図９】本発明の一実施形態において情報端末装置に記憶される情報の一貫性を維持するための処理を説明するための図である。
【符号の説明】
【００６９】
２１０  サーバ装置
２１１  記憶手段
２１２  リビジョン管理手段
２１３  送受信手段
２１４  ネットワーク
２２０  情報端末装置
２２１  送受信手段
２２２  復号化手段
２２３  暗号化手段
２２４  リビジョン管理手段
２２５  記憶装置
２３０  情報端末装置
２３１  送受信手段
２３２  復号化手段
２３３  暗号化手段
２３４  リビジョン管理手段
２３５  記憶装置
【図３】
2009157737.tif 000003
【図４】
2009157737.tif 000004
【図５】
2009157737.tif 000005
【図６】
2009157737.tif 000006
【図８】
2009157737.tif 000007
【図９】
2009157737.tif 000008
【図１】
2009157737.tif 000009
【図２】
2009157737.tif 000010
【図７】
2009157737.tif 000011