(57)【特許請求の範囲】
【請求項１】
情報処理を行う複数の装置を含む計算システムであって、
前記複数の装置は、計算装置と第１外部装置と第２外部装置とを含み、
前記計算装置は、
前記第１外部装置から出力された処理要求を受け付ける入力部と、
前記処理要求が所定のセキュリティレベルを満たすと判定されるまで、前記処理要求に基づく処理のうち、前記第２外部装置への情報出力を伴わない第１処理を実行する第１処理部と、
前記処理要求が前記セキュリティレベルを満たすと判定された後に、前記処理要求に基づく処理のうち、前記第２外部装置への情報出力を伴う第２処理を実行する第２処理部と、
前記第１処理でエラーが発生した場合であっても、前記処理要求が前記セキュリティレベルを満たすと判定されるまで、前記第１外部装置に対して処理の取り消しを要求する第２処理要求を出力せず、前記第１処理でエラーが発生し、かつ、前記処理要求が前記セキュリティレベルを満たすと判定された後に、前記第２処理要求を前記第１外部装置に出力する取り消し処理部と、
を有する計算システム。
【請求項２】
請求項１の計算システムであって、
前記第２処理は、所定の時間が経過する前に前記処理要求が前記セキュリティレベルを満たすと判定された場合に実行される、計算システム。
【請求項３】
請求項１または２の計算システムが有する計算装置。
【請求項４】
情報処理を行う複数の装置を含む計算システムの計算方法であって、
前記複数の装置は、計算装置と第１外部装置と第２外部装置とを含み、
前記計算方法は、
前記計算装置の入力部が、前記第１外部装置から出力された処理要求を受け付けるステップと、
前記計算装置の第１処理部が、前記処理要求が所定のセキュリティレベルを満たすと判定されるまで、前記処理要求に基づく処理のうち、前記第２外部装置への情報出力を伴わない第１処理を実行するステップと、
前記計算装置の第２処理部が、前記処理要求が前記セキュリティレベルを満たすと判定された後に、前記処理要求に基づく処理のうち、前記第２外部装置への情報出力を伴う第２処理を実行するステップと、
前記計算装置の取り消し処理部が、前記第１処理でエラーが発生した場合であっても、前記処理要求が前記セキュリティレベルを満たすと判定されるまで、前記第１外部装置に対して処理の取り消しを要求する第２処理要求を出力せず、前記第１処理でエラーが発生し、かつ、前記処理要求が前記セキュリティレベルを満たすと判定された後に、前記第２処理要求を前記第１外部装置に出力するステップと、
を有する計算方法。
【請求項５】
請求項３の計算装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報セキュリティ技術に関し、特に、複数の装置によって情報処理を行う技術に関する。
【背景技術】
【０００２】
複数の装置によって情報処理を行う技術（例えば、クラウドコンピューティングによる分散計算）が知られている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】千田浩司,濱田浩気，五十嵐大，高橋克巳，“軽量検証可能３パーティ秘匿関数計算の再考”，ＣＳＳ２０１０，２０１０．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような技術において、装置間で不正な情報の受け渡しが行われると、処理やその結果が不正となったり、情報が漏えいしたりする可能性がある。一方、装置間で受け渡された情報が正当であることが確認できるまで処理を停止したのでは処理速度が低下してしまう。
【０００５】
本発明の課題は、高速かつ安全に、複数の装置によって情報処理を行うことである。
【課題を解決するための手段】
【０００６】
計算装置が処理要求を受け付け、当該処理要求が所定のセキュリティレベルを満たすと判定されるまで、当該処理要求に基づく処理のうち、外部装置への情報出力を伴わない第１処理を実行し、当該処理要求がセキュリティレベルを満たすと判定された後に、当該処理要求に基づく処理のうち、外部装置への情報出力を伴う第２処理を実行する。
【発明の効果】
【０００７】
これにより、高速かつ安全に、複数の装置によって情報処理を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】図１は実施形態の計算システムの構成を例示したブロック図である。
【図２】図２は実施形態の計算装置の構成を例示したブロック図である。
【図３】図３は実施形態の計算方法を例示したフロー図である。
【図４】図４は実施形態の処理を例示するためのシーケンス図である。
【図５】図５は実施形態の処理を例示するためのシーケンス図である。
【図６】図６は実施形態の処理を例示するためのシーケンス図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施形態を説明する。
［第１実施形態］
まず、第１実施形態を説明する。
＜構成＞
図１に例示するように、本形態の計算システム１は端末装置１１およびＮ個の計算装置１２−１〜１２−Ｎを有し、これらは安全ではないネットワーク１３を通じて通信可能に構成されている。ただし、Ｎは２以上の整数である。図２に例示するように、本形態の計算装置１２−ｎ（ただし、ｎ∈｛１，・・・，Ｎ｝）は、記憶部１２１−ｎ、入力部１２２−ｎ、出力部１２３−ｎ、安全性判定部１２４−ｎ、第１処理部１２５−ｎ、第２処理部１２６−ｎ、および取り消し処理部１２９−ｎを有する。各装置は、例えば、通信装置、ならびにＣＰＵ（central processing unit）等のプロセッサ（ハードウェア・プロセッサ）、ＲＡＭ（random-access memory）およびＲＯＭ（read-only memory）等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは１個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めＲＯＭ等に記録されていてもよい。また、ＣＰＵのようにプログラムが読み込まれることで機能構成を実現する電子回路（circuitry）ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、１個の装置を構成する電子回路が複数のＣＰＵを含んでいてもよい。
【００１０】
＜処理＞
本形態では、端末装置１１が秘密計算等の暗号プロトコルに則った処理を要求するクエリを出力し、計算装置１２−１〜１２−Ｎはこの要求に対して並列非同期な処理を行う。クエリを受け取った計算装置１２−ｉ（ただし、ｉ∈｛１，・・・，Ｎ｝）は、当該クエリ（処理要求）に基づく処理を実行し、必要であれば他の計算装置１２−ｊ（ただし、ｊ∈｛１，・・・，Ｎ｝）にメッセージを送信する。メッセージ（処理要求）を受け取った計算装置１２−ｊは当該メッセージに基づく処理を実行する。すなわち、各計算装置１２−ｎ（ただし、ｎ∈｛１，・・・，Ｎ｝）は、クエリまたはメッセージの入力を引き金として各処理を実行する。計算装置１２−１〜１２−Ｎ間では改ざんが行われる可能性があるものとし、以下のように対処する。
【００１１】
図３に例示するように、計算装置１２−ｎ（図２）の入力部１２２−ｎにクエリまたはメッセージが入力され（入力部１２２−ｎが処理要求を受け付け）、記憶部１２１−ｎに格納される（ステップＳ１２２−ｎ）。これを引き金とし、安全性判定部１２４−ｎは、入力されたクエリまたはメッセージが所定のセキュリティレベルを満たすか否かを判定する安全性判定を開始する。クエリまたはメッセージが所定のセキュリティレベルを満たすか否かを判定するための方法に限定はない。例えば、「クエリまたはメッセージが所定のセキュリティレベルを満たす」とは、当該クエリまたはメッセージが信頼される装置（端末装置１１または計算装置１２−ｎ）から送信されたものであることであってもよいし、ビザンチン合意アルゴリズムなどに基づいて当該クエリまたはメッセージの正当性を満たすことであってもよいし、当該クエリまたはメッセージが所定個以上の装置が合意した処理に基づくものであることであってもよい。また、「メッセージが所定のセキュリティレベルを満たす」とは、当該メッセージが信頼されるクエリに関する正当なメッセージであることであってもよい。この安全性判定は、当該クエリまたはメッセージに付された電子署名を検証するなどの通信を伴わないローカルな処理によって行われてもよいし、ビザンチン合意アルゴリズムなどの通信を伴う処理によって行われてもよい（ステップＳ１２４１−ｎ）。
【００１２】
安全性判定部１２４−ｎは、安全性判定が終了したかを監視する（ステップＳ１２４２−ｎ）。第１処理部１２５−ｎは、安全性判定が終了し、当該クエリまたはメッセージが所定のセキュリティレベルを満たすと判定されるまで、当該クエリまたはメッセージに基づく処理（当該クエリまたはメッセージが引き金となる処理）のうち、「外部装置」への情報出力を伴わない「第１処理」のみを実行する。「外部装置」とは、端末装置１１または何れかの計算装置１２−ｍ（ただし、ｍ∈｛１，・・・，Ｎ｝、ｍ≠ｎ）を意味する。当該クエリまたはメッセージが所定のセキュリティレベルを満たすと判定されるまで、「外部装置」への情報出力（例えば、メッセージまたは演算結果の出力）を伴う処理は実行されない。「第１処理」の例は、当該クエリまたはメッセージに基づく処理（例えば、秘密計算処理、暗号化処理、復号化処理、署名生成処理、または鍵共有処理など）のうち通信を伴わないローカルな処理、当該クエリまたはメッセージに基づく「保管情報」を記憶部１２１−ｎに格納する処理などである。「保管情報」は、当該クエリまたはメッセージそのものであってもよいし、それに対応する情報であってもよいし、クエリまたはメッセージに基づくローカルな処理によって得られた演算結果またはエラー結果（エラーが起きたことを表す情報）でもよいし、当該演算結果またはエラー結果に対応する情報であってもよいし、「外部装置」に送信するメッセージであってもよい（ステップＳ１２５−ｎ）。
【００１３】
安全性判定部１２４−ｎによって、安全性判定が終了し、当該クエリまたはメッセージが所定のセキュリティレベルを満たすと判定された後（ステップＳ１２４３−ｎ）、第２処理部１２６−ｎが、当該クエリまたはメッセージに基づく処理のうち、「外部装置」への情報出力（メッセージまたは処理結果）を伴う「第２処理」を実行する。「第２処理」の例は、「第１処理」で記憶部１２１−ｎに格納された「保管情報」に基づく処理である。例えば「第２処理」は、「保管情報」またはそれに基づく演算結果を「外部装置」に送信する処理であってもよいし、その他の演算結果、エラー結果、またはメッセージを「外部装置」に送信する処理であってもよい。また「第１処理」でエラーが発生した場合、改ざんが原因となっている可能性があることから、ステップＳ１２２−ｎで入力されたクエリまたはメッセージに基づく計算装置１２−ｎでの内部処理（例えば「第１処理」）を取り消すとともに、当該クエリまたはメッセージに対応するすべての「外部処理」の取り消しを要求するメッセージ（第２処理要求）を出力する「第２処理」が実行されてもよい。なお「外部処理」とは「外部装置」で実行された処理を意味する。例えば、ステップＳ１２２−ｎでメッセージが入力部１２２−ｎに入力され、当該メッセージ（処理要求）がクエリ（処理開始要求）に基づく「外部処理」の何れかに由来する場合、これらすべての「外部処理」の取り消しを要求するメッセージを出力する「第２処理」が実行されてもよい。クエリに基づく「外部処理」とは、当該クエリが入力された「外部装置」が当該クエリに基づいて行った処理Ｐ１、および処理Ｐｗに基づいて出力されたメッセージが入力された「外部装置」が当該メッセージに基づいて行った処理Ｐｗ＋１を意味する（ただし、ｗは１以上の整数）。その他の契機により、入力部１２２−ｎに入力されたクエリまたはメッセージに対応するすべての「外部処理」の取り消しを要求するメッセージを出力する「第２処理」が実行されてもよい。「第２処理」で出力されるメッセージや演算結果等は、出力部１２３−ｎから何れかの「外部装置」に対して送信される（ステップＳ１２６−ｎ）。
【００１４】
一方、安全性判定部１２４−ｎが、クエリまたはメッセージが所定のセキュリティレベルを満たさないと判定した場合、取り消し処理部１２９−ｎが、ステップＳ１２２−ｎで入力されたクエリまたはメッセージに基づく計算装置１２−ｎでの内部処理（例えば「第１処理」）を取り消す（取り消し処理）。この場合、記憶部１２１−ｎに格納された「保管情報」が削除されてもよいし、エラーを表すメッセージが出力されてもよい。このメッセージは、出力部１２３−ｎから何れかの「外部装置」に対して送信される。また、クエリ（処理開始要求）に基づく「外部処理」の何れかに由来するメッセージ（処理要求）が上述のセキュリティレベルを満たさないと判定された場合、取り消し処理部１２９−ｎが、すべての当該「外部処理」の取り消しを要求するメッセージ（第２処理要求）を出力してもよい。このメッセージは、出力部１２３−ｎから当該「外部処理」を実行した「外部装置」に対して送信される（ステップＳ１２９−ｎ）。
【００１５】
≪全体処理の例１≫
図４の例では、端末装置１１から出力されたクエリが計算装置１２−１に入力される（図３：ステップＳ１２２−１）。計算装置１２−１は、当該クエリがセキュリティレベルを満たすと判定されるまで、当該クエリに基づく処理のうち、「外部装置」への情報出力を伴わない「第１処理」のみを実行し（ステップＳ１２５−１）、当該クエリがセキュリティレベルを満たすと判定された後に、当該クエリに基づく処理のうち、「外部装置」への情報出力を伴う「第２処理」を実行する（ステップＳ１２６−１）。ステップＳ１２６−１の「第２処理」に基づき、計算装置１２−１から計算装置１２−２〜１２−Ｎに対してメッセージが送信され、計算装置１２−ｚ（ただし、ｚ∈｛２，・・・，Ｎ｝）に入力される（ステップＳ１２２−ｚ）。計算装置１２−ｚは、当該メッセージがセキュリティレベルを満たすと判定されるまで、当該メッセージに基づく処理のうち、「外部装置」への情報出力を伴わない「第１処理」を実行し（ステップＳ１２５−ｚ）、当該メッセージがセキュリティレベルを満たすと判定された後に、当該メッセージに基づく処理のうち、「外部装置」への情報出力を伴う「第２処理」を実行する（ステップＳ１２６−ｚ）。ステップＳ１２６−ｚの「第２処理」に基づき、計算装置１２−ｚから何れかの計算装置１２−ｙ（ｙ∈｛１，・・・，Ｎ｝，ｙ≠ｚ）に対してメッセージが送信される。その後、同様な処理が行われ、計算装置１２−１が処理の結果を出力し、端末装置１１に入力される。
【００１６】
≪全体処理の例２≫
図５の例では、上述と同様に、計算装置１２−Ｎにメッセージが入力され（ステップＳ１２２−Ｎ）、当該メッセージがセキュリティレベルを満たすと判定されるまで、当該メッセージに基づく処理のうち、「外部装置」への情報出力を伴わない「第１処理」のみが実行される（ステップＳ１２５−Ｎ）。しかしながら、その後に当該メッセージがセキュリティレベルを満たさない判定され、計算装置１２−Ｎでの「第１処理」の取り消し処理が実行され、エラーメッセージが計算装置１２−１に送信される。
【００１７】
≪全体処理の例３≫
図６の例では、上述と同様に、計算装置１２−Ｎにメッセージが入力され（ステップＳ１２２−Ｎ）、当該メッセージがセキュリティレベルを満たすと判定されるまで、当該メッセージに基づく処理のうち、「外部装置」への情報出力を伴わない「第１処理」のみが実行される（ステップＳ１２５−Ｎ）。ただし、この「第１処理」でエラーが発生したとする。その後、当該メッセージがセキュリティレベルを満たすと判定された後に、計算装置１２−Ｎが、端末装置１１から出力されたクエリに基づくすべての「外部処理」の取り消しを要求するメッセージを出力する「第２処理」を実行する。計算装置１２−Ｎは内部処理の取り消しを実行し、計算装置１２−１〜１２−（Ｎ−１）は、取り消しを要求するメッセージに基づいてそれぞれの内部処理の取り消しを実行する。
【００１８】
≪全体処理の例４≫
あるいは図６の例において、計算装置１２−Ｎにメッセージが入力され（ステップＳ１２２−Ｎ）、当該メッセージがセキュリティレベルを満たすと判定されるまで、当該メッセージに基づく処理のうち、「外部装置」への情報出力を伴わない「第１処理」のみが実行され（ステップＳ１２５−Ｎ）、この「第１処理」でエラーが発生しなかったとする。その後、当該メッセージがセキュリティレベルを満たさない判定された場合、第２処理は実行されず、計算装置１２−Ｎは、端末装置１１から出力されたクエリに基づくすべての「外部処理」の取り消しを要求するメッセージを出力する（ステップＳ１２９−Ｎ）。計算装置１２−Ｎは内部処理の取り消しを実行し、計算装置１２−１〜１２−（Ｎ−１）は、取り消しを要求するメッセージに基づいてそれぞれの内部処理の取り消しを実行する。
【００１９】
＜本形態の特徴＞
本形態では、クエリまたはメッセージが所定のセキュリティレベルを満たすと判定されるまで「外部装置」への情報出力を伴う「第２処理」が実行されない。そのため、当該クエリまたはメッセージが不正であった場合でも、それを引き金として行われた不正な処理に基づくメッセージ等が「外部装置」に送信されることはない。これにより、不正なクエリまたはメッセージに基づく影響が拡大することを阻止できる。一方、クエリまたはメッセージが上記のセキュリティレベルを満たすと判定されるまで「外部装置」への情報出力を伴わない「第１処理」は実行される。これにより、不正なクエリまたはメッセージに基づく影響を「外部装置」に拡大しない範囲で処理を進めておくことができ、上記の判定による処理遅延を抑制できる。すなわち、不正なクエリまたはメッセージに基づく影響が拡大しない安全な範囲で、最も早い処理開始タイミングを提供できる。これにより、高速かつ安全に、複数の装置によって情報処理を行うことができる。
【００２０】
入力されたクエリまたはメッセージが上述のセキュリティレベルを満たすと判定された場合であっても、「第１処理」でエラーが発生する場合がある。この場合、入力されたクエリまたはメッセージの不正が発見できないにもかかわらず、当該クエリまたはメッセージに対応する「外部処理」が不正であった可能性がある。一方、「外部処理」は正当であるにもかかわらず、「第１処理」の引き金となったクエリまたはメッセージが不正であるために「第１処理」でエラーが発生する場合もある。例えば、正当な「外部処理」を故意に取り消すために、不正なクエリまたはメッセージが入力された可能性もある。「外部処理」での処理のみで最終的な結果を得られる場合もある。そのため、本形態では「第１処理」でエラーが発生した場合であっても、クエリまたはメッセージが上記のセキュリティレベルを満たすと判定されるまでは、当該クエリまたはメッセージに対応する「外部処理」の取り消しを要求するメッセージは送信されない。これにより、不正なクエリまたはメッセージによって、不正に「外部処理」が取り消されることを防止できる。一方、クエリまたはメッセージが上記のセキュリティレベルを満たすと判定された後に、エラーが発生した「第１処理」の引き金となったクエリまたはメッセージに対応するすべての「外部処理」の取り消しが要求される（第２処理）。これにより、不正な取り消し要求ではないことが確認できた最も早いタイミングで、不正な処理を含む可能性のある「外部処理」を取り消すことができる。
【００２１】
「外部装置」に入力されたクエリまたはメッセージが上述のセキュリティレベルを満たすと誤って判定された場合、または、上述のセキュリティレベルを満たすと偽られた場合、当該「外部装置」から計算装置１２−ｎに不正なメッセージが入力される場合もある。計算装置１２−ｎに入力されたメッセージが上述のセキュリティレベルを満たさないと判定した場合に、このようなメッセージに対応するすべての「外部処理」の取り消しを行うことで、このような「外部装置」の処理を取り消すことができる。
【００２２】
［第２実施形態］
本形態は第１実施形態の変形例であり、所定の時間が経過する前にクエリまたはメッセージがセキュリティレベルを満たすと判定された場合に「第２処理」が実行されるものである。以下では、これまで説明した事項との相違点を中心に説明し、既に説明した事項を共通する事項については既に用いた参照番号を用いて説明を簡略化する。
【００２３】
＜構成＞
図１に例示するように、本形態の計算システム２は端末装置１１およびＮ個の計算装置２２−１〜２２−Ｎを有し、これらは安全ではないネットワーク１３を通じて通信可能に構成されている。図２に例示するように、本形態の計算装置２２−ｎ（ただし、ｎ∈｛１，・・・，Ｎ｝）は、記憶部１２１−ｎ、入力部１２２−ｎ、出力部１２３−ｎ、安全性判定部２２４−ｎ、第１処理部１２５−ｎ、第２処理部１２６−ｎ、および取り消し処理部１２９−ｎを有する。
【００２４】
＜処理＞
図３に例示するように、第１実施形態で説明したステップＳ１２２−ｎおよびＳ１２４１−ｎが実行され、安全性判定部２２４−ｎは、安全性判定が終了したか、および所定時間が経過したかを監視する（ステップＳ１２４２−ｎ，Ｓ２２７−ｎ）。第１処理部１２５−ｎは、所定の時間が経過したと判定されるか、または、安全性判定が終了し、当該クエリまたはメッセージが所定のセキュリティレベルを満たすと判定されるまで、当該クエリまたはメッセージに基づく処理のうち、「外部装置」への情報出力を伴わない「第１処理」のみを実行する（ステップＳ１２５−ｎ）。
【００２５】
安全性判定部２２４−ｎが、所定の時間が経過する前に安全性判定が終了し、当該クエリまたはメッセージが上記のセキュリティレベルを満たすと判定した場合（ステップＳ１２４２−ｎ，ステップＳ１２４３−ｎ）、第１実施形態で説明した「第２処理」が実行される（ステップＳ１２６−ｎ）。一方、所定の時間が経過したと判定された場合（ステップＳ２２７−ｎ）、または、所定の時間が経過する前に安全性判定が終了し、当該クエリまたはメッセージが所定のセキュリティレベルを満たさない判定された場合（ステップＳ１２４２−ｎ，ステップＳ１２４３−ｎ）、第１実施形態で説明した「取り消し処理」が実行される（ステップＳ１２９−ｎ）。
【００２６】
＜本形態の特徴＞
本形態では、所定の時間が経過する前に安全性判定が終了しなかった場合にも「取り消し処理」を実行する。そのため、不正なクエリまたはメッセージによって安全性判定が長期化し、結果として処理が遅延してしまうことを防止できる。一方で、当該所定の時間が経過したと判定されるか、または、安全性判定が終了し、当該クエリまたはメッセージが所定のセキュリティレベルを満たすと判定されるまでの間に「第１処理」を実行しておく。当該所定の時間が経過する前に当該クエリまたはメッセージがセキュリティレベルを満たすと判定された場合には「第２処理」を実行する。これにより、高速かつ安全に、複数の装置によって情報処理を行うことができる。
【００２７】
［その他の変形例］
なお、本発明は上述の実施の形態に限定されるものではない。例えば、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、物理的には同一の装置であってもよい。また、用途によってはＮ＝１であってもよい。
【００２８】
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００２９】
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な（non-transitory）記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【００３０】
このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００３１】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。
【００３２】
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
【産業上の利用可能性】
【００３３】
上述の技術は、例えば、クラウドコンピューティングによる並列非同期処理（秘密計算での分散計算等）、暗号化データベースの更新処理、匿名通信などに適用できる。
【符号の説明】
【００３４】
１，２  計算システム
１２−ｎ，２２−ｎ  計算装置
【要約】      （修正有）【課題】高速かつ安全に、複数の装置によって情報処理を行う計算装置、その方法、およびプログラムを提供する。【解決手段】計算装置が処理要求を受け付け、当該処理要求が所定のセキュリティレベルを満たすと判定されるまで、当該処理要求に基づく処理のうち、外部装置への情報出力を伴わない第１処理Ｓ１２５−ｎを実行し、当該処理要求がセキュリティレベルを満たすと判定された後に、当該処理要求に基づく処理のうち、外部装置への情報出力を伴う第２処理Ｓ１２６−ｎを実行する。【選択図】図３【図１】
0006023858.tif 000002
【図２】
0006023858.tif 000003
【図３】
0006023858.tif 000004
【図４】
0006023858.tif 000005
【図５】
0006023858.tif 000006
【図６】
0006023858.tif 000007