JP5327552B2 - 情報処理システム、プログラム、データ中継方法 - Google Patents

情報処理システム、プログラム、データ中継方法 Download PDF

Info

Publication number
JP5327552B2
JP5327552B2 JP2010519018A JP2010519018A JP5327552B2 JP 5327552 B2 JP5327552 B2 JP 5327552B2 JP 2010519018 A JP2010519018 A JP 2010519018A JP 2010519018 A JP2010519018 A JP 2010519018A JP 5327552 B2 JP5327552 B2 JP 5327552B2
Authority
JP
Japan
Prior art keywords
relay
data
confidential
information processing
transmission destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010519018A
Other languages
English (en)
Other versions
JPWO2010001797A1 (ja
Inventor
将 川北
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010519018A priority Critical patent/JP5327552B2/ja
Publication of JPWO2010001797A1 publication Critical patent/JPWO2010001797A1/ja
Application granted granted Critical
Publication of JP5327552B2 publication Critical patent/JP5327552B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Description

本発明は、情報処理システムに関する。特に、本発明は、所定の処理を実行するプロセス間の通信を管理する情報処理システムに関する。
一般的なコンピュータシステムにおけるプロセスの生起方法には、主に2通りある。1つ目は、図1に示されるように、親プロセス(プロセスA101)が、直接、子プロセス(プロセスB102)を生起する方法である。親プロセス(プロセスA101)と子プロセス(プロセスB102)との間でデータを共有する場合には、新規プロセスの生起直後からデータ共有が必要となる。ここで、共有されるデータと子プロセスの生起命令は、親プロセスから、子プロセスの生起の主体となるプロセスに同時に渡されなければならない、という制約がある。図1の例では、親プロセス(プロセスA101)が、子プロセス(プロセスB102)の生起命令と同時に、当該子プロセス(プロセスB102)に共有データを渡す。
2つ目のプロセス生起方法は、常駐している第3者プロセスに親プロセスから命令を発し、かかる命令を受けた第3者プロセスによって子プロセスを代理生起する方法である。例えば、コンピュータシステムで「遠隔手順呼び出し(RPC: Remote Procedure Call)」を実施する際に、呼び出し先プロセスが存在しない場合には、RPCを統括する第3者プロセスが、呼び出し先プロセスの生起を、呼び出し元プロセスに代わって行う。
上記代理生起に係るRPCの手順を、図2を参照して説明する。まず、親プロセス(プロセスA201)が、第3者プロセス203に、子プロセス(プロセスB202)の生起を要求する。このとき、子プロセス(プロセスB202)が生起当初から必要なデータがあれば、親プロセス(プロセス)A201)はそれを第3者プロセス203に預託する。そして、第3者プロセス203は、この要求を受理すると、子プロセス(プロセスB202)を代理生起し、預託されたデータを子プロセス(プロセスB202)に渡す。その後、親プロセス(プロセスA201)と子プロセス(プロセスB202)は、どちらか一方がRPCの終了を宣言するまでの間、二者だけで継続してRPCを実行する。そして、第3者プロセス203は、両者のRPCを見守り、途中で予期しない通信断が発生した場合、両方のプロセスにエラーを返すなどの例外処理を行う。
なお、関連技術として、特開平7−253943号公報(特許文献1)、特開2004−295898号公報(特許文献2)が知られている。特許文献1には、RPCサーバ・クライアント間に中継機械を備えた構成のシステムが開示されている。特許文献2には、RPCにおける処理を拡張する方式が開示されている。
特開平7−253943号公報 特開2004−295898号公報
しかしながら、上述の技術では、機密にすべきデータが第3者プロセスを介して漏えいする、という問題点があった。これについて詳しく説明する。上述の制約が存在する環境下で、親子関係のあるプロセス間でのみ共有すべき機密データが存在する場合を考える。この場合、図1で示された1つ目の方法であれば、子プロセスは親プロセスから直接、機密データを受信可能である。ところが、図2で示された2つ目の方法の場合、親子プロセス間でのみ共有すべき機密データを、一度第3者プロセスに預託しなければならない。従って、機密データを第3者プロセスに預託する時に、当該第3者プロセスを介して機密データが漏えいする、という問題が生じる。特に、第3者プロセスが、オペレーティングシステムに実装された一般的な機能にて構成されている場合には、このような第3者プロセスからの情報漏洩の問題は深刻である。
本発明の1つの目的は、上述のような情報処理システムにおける情報漏洩を抑制し、セキュリティを向上させることにある。
本発明の1つの観点において、情報処理システムが提供される。その情報処理システムは、第1プロセス、第2プロセス、管理プロセス、及び中継プロセスを備える。第1プロセスは、所定の処理を実行し、また、他のプロセスと通信する。第2プロセスは、第1プロセスからの起動要求に応答して起動され、所定の処理を実行する。管理プロセスは、第1プロセスと第2プロセスとの間の通信を管理する。中継プロセスは、第1プロセスから、第2プロセスに対する起動要求と第1プロセス及び第2プロセスで使用される使用データとを受けとる。更に、中継プロセスは、第2プロセスを代理起動し、第2プロセスに使用データを渡し、第2プロセスを起動した旨を管理プロセスに通知する。
本発明の他の観点において、コンピュータに次のプロセスを実現させるプログラムが提供される。当該プロセスは、第1プロセス、第2プロセス、管理プロセス、及び中継プロセスを備える。第1プロセスは、所定の処理を実行し、また、他のプロセスと通信する。第2プロセスは、第1プロセスからの起動要求に応答して起動され、所定の処理を実行する。管理プロセスは、第1プロセスと第2プロセスとの間の通信を管理する。中継プロセスは、第1プロセスから、第2プロセスに対する起動要求と第1プロセス及び第2プロセスで使用される使用データとを受けとる。更に、中継プロセスは、第2プロセスを代理起動し、第2プロセスに使用データを渡し、第2プロセスを起動した旨を管理プロセスに通知する。
本発明の更に他の観点において、情報処理システムにおけるデータ中継方法が提供される。その情報処理システムは、第1プロセス、第2プロセス、管理プロセス、及び中継プロセスを備える。第1プロセスは、所定の処理を実行し、また、他のプロセスと通信する。第2プロセスは、第1プロセスからの起動要求に応答して起動され、所定の処理を実行する。管理プロセスは、第1プロセスと第2プロセスとの間の通信を管理する。データ中継方法は、(a)中継プロセスが、第1プロセスから、第2プロセスに対する起動要求と第1プロセス及び第2プロセスで使用される使用データとを受け取るステップと、(b)中継プロセスが、第2プロセスを代理起動するステップと、(c)中継プロセスが、第2プロセスに使用データを渡すステップと、(d)中継プロセスが、第2プロセスを起動した旨を管理プロセスに通知するステップと、を含む。
本発明によれば、情報処理システムにおける情報漏洩を有効に抑制し、セキュリティを向上させることが可能となる。
上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施の形態により明らかになるであろう。
図1は、親プロセスが、直接、子プロセスを生起する方法を説明するための図である。 図2は、RPCを伴う場合に第3者プロセスを用いて子プロセスを生起する方法を説明するための図である。 図3は、本発明の実施の形態に係るコンピュータシステムの構成を示す機能ブロック図である。 図4は、本発明の実施の形態に係るコンピュータシステムの動作を示すフローチャートである。 図5は、本発明の実施の形態に係るコンピュータシステムの構成の他の例を示す機能ブロック図である。
本発明に係る情報処理システムは、データを処理するプロセスとは無関係のプロセスに当該データが通知されることを抑制する。これにより、情報漏洩が有効に抑制され、セキュリティが向上する。
本発明の1つの観点において、情報処理システムが提供される。その情報処理システムは、第1プロセス、第2プロセス、管理プロセス、及び中継プロセスを備える。第1プロセスは、所定の処理を実行し、また、他のプロセスと通信する。第2プロセスは、第1プロセスからの起動要求に応答して起動され、所定の処理を実行する。管理プロセスは、第1プロセスと第2プロセスとの間の通信を管理する。中継プロセスは、第1プロセスから、第2プロセスに対する起動要求と第1プロセス及び第2プロセスで使用される使用データとを受けとる。更に、中継プロセスは、第2プロセスを代理起動し、第2プロセスに使用データを渡し、第2プロセスを起動した旨を管理プロセスに通知する。
上記発明によれば、第1プロセスが第2プロセスを起動する際、第1プロセスは、第2プロセスに対する起動要求と第1プロセス及び第2プロセスで使用される使用データとを、中継プロセスに送信する。それに応答して、中継プロセスは、要求された第2プロセスを起動し、また、受け取った使用データを第2プロセスに渡す。これにより、第2プロセスは起動し、受け取った使用データを用いて所定の処理を実行する。また、中継プロセスは、第2プロセスを起動したことを、プロセス間の通信管理を行う管理プロセスに通知する。
このように、第1プロセスから第2プロセスに渡される使用データは、プロセス間の通信管理を行う管理プロセスに通知されない。従って、使用データの漏えいが有効に抑制される。その結果、情報処理システムのセキュリティが向上する。
情報処理システムは、第1プロセスから第2プロセスに対するデータの送信先を、中継プロセスに設定する送信先設定手段を更に備えてもよい。
管理プロセスは、あるプロセスから別のプロセスの起動要求を受け取り、別のプロセスを代理起動する機能を備える。この場合、送信先設定手段は、第1プロセスから第2プロセスに対するデータの送信先を、管理プロセスから中継プロセスに変更する。
情報処理システムは、第1プロセスを起動し、第1プロセスに使用データを渡すプロセス起動手段を更に備えてもよい。プロセス起動手段による第1プロセスの起動時に、送信先設定手段は、第1プロセスから第2プロセスに対するデータの送信先を、中継プロセスに設定する。
管理プロセスは、情報処理システムにインストールされたオペレーティングシステムに予め実装されている機能にて実現されてもよい。
これにより、第1プロセスから第2プロセスへのデータは、常に中継プロセスに送信される。そのため、上述したように、中継プロセスによって第2プロセスが代理起動され、かつ、当該第2プロセスに使用データが渡される。つまり、予めオペレーティングシステムに実装されている機能などで実現されている管理プロセスは、プロセスを代理起動する機能を有していても、上記第2プロセスを第1プロセスに代わって起動することはない。その結果、第1プロセスと第2プロセスで使用される使用データが管理プロセスに漏洩することが有効に抑制され、セキュリティが更に向上する。
中継プロセスは、第1プロセスから受け取った第2プロセスに対するデータが第2プロセスに対する起動要求を含むか否かを、予め設定された判断基準情報に基づいて判断してもよい。当該データが第2プロセスに対する起動要求を含む場合、中継プロセスは第2プロセスを代理起動する。
第1プロセスから受け取った第2プロセスに対するデータが第2プロセスに対する起動要求を含まない場合、中継プロセスは、第1プロセスからのデータを第2プロセスに中継送信する。
本発明の他の観点において、コンピュータに次のプロセスを実現させるプログラムが提供される。当該プロセスは、第1プロセス、第2プロセス、管理プロセス、及び中継プロセスを備える。第1プロセスは、所定の処理を実行し、また、他のプロセスと通信する。第2プロセスは、第1プロセスからの起動要求に応答して起動され、所定の処理を実行する。管理プロセスは、第1プロセスと第2プロセスとの間の通信を管理する。中継プロセスは、第1プロセスから、第2プロセスに対する起動要求と第1プロセス及び第2プロセスで使用される使用データとを受けとる。更に、中継プロセスは、第2プロセスを代理起動し、第2プロセスに使用データを渡し、第2プロセスを起動した旨を管理プロセスに通知する。このプログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
このプログラムは、第1プロセスから第2プロセスに対するデータの送信先を、中継プロセスに設定する送信先設定手段を更にコンピュータに実現させてもよい。
このプログラムは、第1プロセスを起動し、第1プロセスに使用データを渡すプロセス起動手段を更にコンピュータに実現させてもよい。この場合、プロセス起動手段による第1プロセスの起動時に、送信先設定手段は、第1プロセスから第2プロセスに対するデータの送信先を、中継プロセスに設定する。
本発明の更に他の観点において、情報処理システムにおけるデータ中継方法が提供される。その情報処理システムは、第1プロセス、第2プロセス、管理プロセス、及び中継プロセスを備える。第1プロセスは、所定の処理を実行し、また、他のプロセスと通信する。第2プロセスは、第1プロセスからの起動要求に応答して起動され、所定の処理を実行する。管理プロセスは、第1プロセスと第2プロセスとの間の通信を管理する。データ中継方法は、(a)中継プロセスが、第1プロセスから、第2プロセスに対する起動要求と第1プロセス及び第2プロセスで使用される使用データとを受け取るステップと、(b)中継プロセスが、第2プロセスを代理起動するステップと、(c)中継プロセスが、第2プロセスに使用データを渡すステップと、(d)中継プロセスが、第2プロセスを起動した旨を管理プロセスに通知するステップと、を含む。
データ中継方法は、第1プロセスから第2プロセスに対するデータの送信先を、中継プロセスに設定するステップを更に含んでもよい。
データ中継方法は、第1プロセスを起動し、第1プロセスに使用データを渡すステップを更に含んでもよい。この場合、第1プロセスの起動時に、第1プロセスから第2プロセスに対するデータの送信先が、中継プロセスに設定される。
以上に説明されたプログラム又はデータ中継方法も、上記情報処理システムと同様の作用を有し、上述した本発明の目的を達成することができる。
<第1の実施の形態>
以下、図3〜図5を参照して、本発明の第1の実施の形態を説明する。図3は、本実施の形態に係るコンピュータシステム1の構成を示す機能ブロック図である。図4は、本実施の形態に係るコンピュータシステム1の動作を示すフローチャートである。また、図5は、本実施の形態に係るコンピュータシステム1の他の構成を示す機能ブロック図である。
[構成]
図3に示されるコンピュータシステム1(情報処理システム)は、演算処理装置及び記憶装置(例:ハードディスクドライブ、フラッシュメモリ)を含むハードウェア11を備える一般的なコンピュータ(情報処理装置)である。尚、コンピュータシステム1は、1台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。
コンピュータシステム1は、更に、オペレーティングシステム12と複数のプロセスとを備えている。オペレーティングシステム12は、演算装置にプログラムが組み込まれることによって構築される。各プロセスは、オペレーティングシステム12上で稼働して、所定の処理を実行する。より詳細には、オペレーティングシステム12上で稼動する複数のプロセスは、通常プロセスA41、通常プロセスB42、第3者プロセス43、機密プロセスA21、機密プロセスB22、及び中継プロセス23を含んでいる。更に、コンピュータシステム1は、オペレーティングシステム12上で稼働するプロセスとして、通信インタフェース仕様取得部31と機密プロセス生起部32を備えている。以下、各構成について詳述する。
オペレーティングシステム12は、コンピュータシステム1全体の基本動作を管理する基本ソフトウェアである。オペレーティングシステム12は、通信インタフェース仕様を参照する機能を有している。つまり、上述の各プロセスや各部といった任意のプログラムが、通信インタフェース仕様を利用及び理解することができる。尚、通信インタフェース仕様は、コンピュータシステム1で遠隔手順呼び出し(RPC: Remote Procedure Call)を実施する際における送信データのフォーマットを規定する。また、RPCは、プロセス間における通信、つまり、あるプロセスが他のプロセスに対して、例えば起動要求など命令や所定のデータを送信することを言う。
通常プロセスA41(所定のプロセス)と通常プロセスB42(別のプロセス)とは、互いに親子関係を有する。具体的には、通常プロセスA41は、通信インタフェース41aを用い、RPCにて通常プロセスB42の起動(生起)を要求することができる。通常プロセスB42は、通常プロセスA41からのRPCによる起動要求を、通信インタフェース42aで受けて、起動する。
同様に、機密プロセスA21(第1プロセス)と機密プロセスB22(第2プロセス)とは、互いに親子関係を有する。具体的には、機密プロセスA21は、通信インタフェース21aを用い、RPCにて機密プロセスB22の起動(生起)を要求することができる。機密プロセスB22は、機密プロセスA21からのRPCによる起動要求を、通信インタフェース22aで受けて、起動する。
また、機密プロセスA21及びB22は共に、機密とされた共有データ(使用データ、機密データ)を用いて処理を実行する。機密プロセスA21は、機密プロセスB22に、起動要求のRPCと共にこの共有データを送信する機能を有している。尚、上記通常プロセスA41、B42や機密プロセスA21、B22は、例えば、文書作成アプリケーションや表計算アプリケーション等の所定の処理を実行するアプリケーションである。
通信インタフェース仕様取得部31は、オペレーティングシステム12に登録されている任意の通信インタフェース仕様を読みだす。そして、通信インタフェース仕様取得部31は、後述される機密プロセス生起部32及び中継プロセス23に対して、通信インタフェース仕様の内容を伝達する。この通信インタフェース仕様は、例えば、RPC判断基準情報を含んでいる。RPC判断基準情報は、後述される中継プロセス23にて、RPCが機密プロセスを生起する起動要求であるか否かを判断する際に用いられる。
機密プロセス生起部32は、ユーザから入力された操作指令や処理対象となるデータなどに応じて、上記機密プロセスA21を起動すると同時に、上記共有データを機密プロセスA21に渡す機能(プロセス起動手段)を有する。尚、機密プロセス生起部32によって起動される機密プロセスA21は、図3中の点線で示されるように、機密グループに分類される。また、機密の使用データを保持することができる中継プロセス23及び機密プロセスB22も、機密グループに分類される。それ以外の通常プロセスA41、通常プロセスB42、第3者プロセス43は、通常グループに分類される。
更に、機密プロセス生起部32は、起動した機密プロセスA21の通信インタフェース21aを用いたRPCの送信先を、予め設定された第3者プロセス43から、中継プロセス23に変更設定する機能(送信先設定手段)を有する。これにより、機密プロセスA21から機密プロセスB22に対して送信される起動要求を含むRPCとプロセス間で共有される共有データとが、常に、中継プロセス23に送信されることとなる。
中継プロセス23は、オペレーティングシステム12の稼働開始と同時に常駐プロセスとして起動し、稼動する。この中継プロセス23は、機密プロセスA21から送信されたRPCを受信し、その宛先として設定されている機密プロセスB22にRPCを中継送信する機能を有する。より詳細には、中継プロセス23は、受信したRPCの中身を読み出して、その内容を確認する。中継プロセス23は、当該RPCが第3者プロセス43を用いた新規の機密プロセスB22の起動を要求する情報を含んでいる場合に、第3者プロセスに代わって機密プロセスB22を生起する機能を有する。また、中継プロセス23は、機密プロセスB22の起動に伴い、上記RPCと共に機密プロセスA21から送信されてきた共有データを、機密プロセスB22に渡す機能を有する。更に、中継プロセス23は、その後、機密プロセスB22を生起した旨を第3者プロセス43に通知する機能を有する。
また、中継プロセス23は、上記通信インタフェース仕様取得部31から通信インタフェース仕様を受け取る。この通信インタフェース仕様に基づいて、中継プロセス23は、機密プロセスA21から受信したRPCに含まれる情報が、機密プロセスB22を起動する要求であるか否かを判断する。つまり、中継プロセス23は、通信インタフェース仕様に含まれているRPC判断基準情報に基づいて、実際に機密プロセスA21から送信されたRPCを判定する。そして、RPCが起動要求である場合には、中継プロセス23は、上述したように、機密プロセスB22を生起し、共有データを機密プロセスB22に渡す(機密プロセス生起部23a)。一方、RPCが起動要求でない場合には、中継プロセス23は、当該RPCの内容に応じて、機密プロセスA21と機密プロセスB22との通信を中継する(RPC中継部23b)。
第3者プロセス43(管理プロセス)は、例えば、一般的なコンピュータシステムに備わっている常駐プロセスである。第3者プロセス43は、RPCの通信先プロセスを通信元プロセスの要請に応じて生起する機能(通常プロセス生起部43a)を有する。図3の例では、第3者プロセス43は、通常プロセスA41から送信された通常プロセスB42の起動要求を受け取って、当該通常プロセスB42を生起する。
また、第3者プロセス43は、すべてのプロセス間で実行されるRPCを管理する機能(RPC管理部43b)を有する。従って、第3者プロセス43は、通常プロセスA41と通常プロセスB42との間の対話を継続させ、予期しない通信断時には双方のプロセスへ例外を通知する。更に、第3者プロセス43は、機密グループのプロセス間で実行されるRPCをも管理する。すなわち、第3者プロセス43のRPC管理部43bは、中継プロセス23から機密プロセスB22の生起完了通知を受け取り、機密プロセスA21と機密プロセスB22との間の対話を継続させ、予期しない通信断時には双方のプロセスへ例外を通知する。
以上に説明されたように、中継プロセス23と第3者プロセス43とは、親プロセス(機密プロセスA21、通常プロセスA41)から起動要求された新たな子プロセス(機密プロセスB22、通常プロセスB42)を生起する機能を有する点では一致する。しかしながら、中継プロセス23と第3者プロセス43とは、次の点で異なっている。すなわち、中継プロセス23は、機密の共有データが関与する機密プロセスB22の生起は行うものの、その共有データが関与しない通常プロセスB42の生起は行わない。その一方で、第3者プロセス43は、通常プロセスB42の生起を行う。
[動作]
次に、図4のフローチャートを参照して、本実施の形態に係るコンピュータシステム1の動作を説明する。
ステップS1:
まず、コンピュータ1は、オペレーティングシステム12の起動と同時に、中継プロセス23を起動する。
ステップS2(プロセス起動ステップ):
コンピュータシステム1内に、第3者プロセス43を用いて新規の機密プロセスB22を生起するようプログラムされた機密プロセスA21が存在するとする。この場合、機密プロセス生起部32は、その機密プロセスA21を起動する。このとき、機密プロセス生起部32は、機密プロセス間でのみ共有すべきであり、かつ、それら機密プロセスで起動直後から利用される機密の共有データを有している。機密プロセス生成部32は、機密プロセスA21の起動と同時に、その共有データを機密プロセスA21に渡す。
ステップS3(送信先変更ステップ):
機密プロセス生起部32は、起動した機密プロセスA21に設定されているRPCプログラムの通信インタフェース21aの設定を変更する。具体的には、機密プロセスA21内の処理テーブルにおいてRPCの送信先が第3者プロセス43となっているが、機密プロセス生起部32は、その送信先を第3者プロセス43から中継プロセス23へと変更する。
ステップS4:
その後、機密プロセスA21は起動を開始する。すると、機密プロセスA21は、プログラムに従い、通信インタフェース21aを用いて第3者プロセス43宛てにRPCを実行し、通信相手となる新規の機密プロセスB22を生起しようとする。このとき、通常プロセスであれば、第3者プロセス43が通信相手となるプロセスの生起を代行する。ところが、上述したように、機密プロセスA21からのRPCの相手先が中継プロセス23に変更されている。従って、その中継プロセス23が、機密プロセスA21からのRPCを受け取ることになる。
ステップS5:
続いて、中継プロセス23は、機密プロセスA21から受信したRPCの内容を、通信インタフェース仕様取得部31から受信した通信インタフェース仕様と照合する。そして、中継プロセス23は、当該RPCが機密プロセスB22の生起に関わるもの、つまり、起動要求であるかどうかを判定する。
ステップS6(中継ステップ):
機密プロセスA21からの受信したRPCが機密プロセスB22の起動要求である場合(ステップS5;Yes)、中継プロセス23は、機密プロセスB22を生起し、また、共有データを機密プロセスB22に渡す。これにより、機密プロセスB22は、機密の共有データを稼働直後から利用可能となる。
ステップS7:
更に、中継プロセス23は、プロセス間通信つまりRPCを管理する第3者プロセス43に、機密プロセスB22が生起完了したことを通知する。その通知を受けた第3者プロセス43は、その後の機密プロセスA21,B22間のRPCを管理することができる。
ステップS8:
その後、中継プロセス23は、機密プロセスA21と中継プロセス23との間のRPCを切断する。そして、中継プロセス23は、ステップS4にて、再び機密プロセスA21がRPCを発呼するのを待つ。
ステップS9:
一方、ステップS5において、機密プロセスA21から受信したRPCが機密プロセスB22の起動要求ではない場合(ステップS5;No)、中継プロセス23は、機密プロセスA21と機密プロセスB22との間でRPCを行うよう、単なる通信データの中継を実行する。
ステップS10:
中継後は、中継プロセス23は、機密プロセスA21と機密プロセスB22との間のRPCを切断する。
尚、2つのプロセス間でRPCが行われる場合、それが中継プロセスを介したものであるならば、相手先プロセスが存在しないか、あるいは相手先プロセスが秘密のデータを有していない場合に、すべてのRPCに先行して、相手先プロセスを生起し、稼働前に秘密のデータを渡す処理を実行する。
以上に説明されたように、本実施の形態に係るコンピュータシステム1によれば、機密プロセスA21から機密プロセスB22に渡される共有データは、プロセス管理を行う第3者プロセス43には通知されない。従って、機密の共有データの漏えいが抑制される。その一方で、第3者プロセス43には、機密プロセスB22が起動した旨が中継プロセス23から通知される。従って、プロセス管理も実現される。
[変形例]
本実施の形態に係るコンピュータシステム1は、図5に示されるような構成を有していてもよい。図5において、コンピュータシステム1は、上述の機密プロセスA21、機密プロセスB22、中継プロセス23、及び第3者プロセス43を備えている。このような構成であっても、機密プロセスA21から機密プロセスB22へのRPCや共有データは、常に中継プロセス23によって中継される。従って、第3者プロセス43に共有データを通知することなく、プロセスの生起及び共有データの共有を実現できる。また、第3者プロセス43は、機密プロセスB22の生起完了通知を受けるため、プロセスの管理も行うことができる。
<第2の実施の形態>
次に、本発明の第2の実施の形態を説明する。第2の実施の形態では、上記第1の実施の形態で示されたコンピュータシステム1の更なる具体例を説明する。
本実施の形態のコンピュータシステム1は、オペレーティングシステム12としてWindows(登録商標)を搭載したパーソナルコンピュータである。Windows(登録商標)は、「RPCSS(Remote Procedure Call Server Service)」と呼ばれるRPC管理サービスを搭載している。この「RPCSS」は、RPCの送信元の要求に応じて、送信先のプロセスを起動する機能を有しており、上述した第3者プロセス43として機能する。
上記機密プロセスA21は、文書作成を行うワープロソフトである。上記機密プロセスB22は、表計算ソフトである。更に、コンピュータシステム1は、通信インタフェース仕様取得部31、機密プロセス生起部32、中継プロセス23など、第1の実施の形態で説明した各構成を備えている。
コンピュータシステム1のハードディスク上に、あらかじめ暗号化された複数の文書と、それらを暗号化および復号するために必要な「鍵」が記録されているとする。これら文書と鍵は、他のコンピュータなどから得たものであってもよい。但し、鍵は、コンピュータシステム1にて厳重に保管されており、機密プロセス生起部32だけがその鍵をハードディスクから取り出し可能である。鍵さえ有していれば、任意のプロセスが、文書を暗号化および復号できる。この「鍵」が、上述の機密の共有データ(使用データ)である。
機密プロセス生起部32は、文書の閲覧に必要なワープロソフト(機密プロセスA21)を起動し、当該ワープロソフトに「鍵」を渡す。その結果、ワープロソフトは、その鍵を用いて、読み込んだ文書を復号化することができる。また、ワープロソフトは、文書保存時に文書を暗号化することができる。尚、ワープロソフトの起動時に、機密プロセス生起部32によって、ワープロソフト(機密プロセスA21)の通信インタフェース21aの設定は変更されている。その結果、ワープロソフトからの生起命令つまりRPCは、中継プロセス23へ伝達される。
一般的な文書には、文章のほか、表などが埋め込まれている場合がある。ワープロソフトが文章を表示する機能しか有さないときには、表の閲覧・編集を行うにあたっては、表計算ソフト(機密プロセスB22)が用いられる。ワープロソフト(機密プロセスA21)は、文書内に埋め込まれた表を検出すると、第3者プロセス43へ表計算ソフト(機密プロセスB22)を生起するRPCを行う。
上述の通り、ワープロソフト(機密プロセスA21)の通信インタフェース21aの設定は変更されている。そのため、RPCつまり表計算ソフト(機密プロセスB22)の生起命令は、中継プロセス23へ伝達される。中継プロセス23は、受け取ったRPCの内容を調べる。具体的には、中継プロセス23は、予め通信インタフェース仕様取得部31から取得した情報に基づいて、当該RPCがプロセス生起命令(起動要求)であるか否かを判断する。プロセス生起命令である場合、中継プロセス23は、表計算ソフト(機密プロセスB22)を代理起動する。このとき、中継プロセス23は、「鍵(共有データ)」も一緒に表計算ソフト(機密プロセスB22)に渡す。その結果、表計算ソフトは、起動直後から文書内容を暗号化・復号化可能となる。更に、中継プロセス23は、表計算ソフトが起動された旨を、RPCSS(第3者プロセス43)に通知する。これにより、RPCSSは、各ソフトのRPCを管理することができる。
その後、ワープロソフト(機密プロセスA21)と表計算ソフト(機密プロセスB22)との間で、表示すべき表の情報などをRPCにより中継プロセス23を介してやりとりする。その結果、表計算ソフトが出力した表が表示される。
以上に説明されたように、機密の共有データである「鍵」は、第3者プロセス43に通知されることがない。従って、無関係のプロセスに鍵が漏えいすることが抑制される。すなわち、機密データの漏えいが有効に抑制される。その結果、情報処理システムにおけるセキュリティが向上する。
本発明は、プロセス間でRPCを行うと共に、共有データを処理する複数のプロセスを装備したコンピュータシステムに利用でき、産業上の利用可能性を有する。
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
本出願は、2008年7月4日に出願された日本国特許出願2008−175457を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (13)

  1. 所定の処理を実行する第1プロセスと、
    前記第1プロセスからの起動要求に応答して起動され、所定の処理を実行する第2プロセスと、
    前記第1プロセスと前記第2プロセスとの間の通信を管理する管理プロセスと、
    前記第1プロセスから前記第2プロセスに対する前記起動要求と前記第1プロセス及び前記第2プロセスで使用される使用データとを受け取り、前記第2プロセスを代理起動し、前記第2プロセスに前記使用データを渡し、前記第2プロセスを起動した旨を前記管理プロセスに通知する中継プロセスと
    を備え
    前記第1プロセスと前記第2プロセスと前記中継プロセスとは機密グループに属し、
    前記管理プロセスは通常グループに属する
    情報処理システム。
  2. 前記第1プロセスから前記第2プロセスに対するデータの送信先を、前記中継プロセスに設定する送信先設定手段
    を更に備える
    請求項1に記載の情報処理システム。
  3. 前記管理プロセスは、所定のプロセスから別のプロセスの起動要求を受け取り、前記別のプロセスを代理起動する機能を備え、
    前記所定のプロセスと前記別のプロセスとは通常グループに属し、
    前記送信先設定手段は、前記第1プロセスから前記第2プロセスに対するデータの送信先を、前記管理プロセスから前記中継プロセスに変更する
    請求項2に記載の情報処理システム。
  4. 前記第1プロセスを起動し、前記第1プロセスに前記使用データを渡すプロセス起動手段
    を更に備え、
    前記プロセス起動手段による前記第1プロセスの起動時に、前記送信先設定手段は、前記第1プロセスから前記第2プロセスに対するデータの送信先を、前記中継プロセスに設定する
    請求項2又は3に記載の情報処理システム。
  5. 前記管理プロセスは、情報処理システムにインストールされたオペレーティングシステムに予め実装されている機能にて実現されている
    請求項2乃至4のいずれか一項に記載の情報処理システム。
  6. 前記中継プロセスは、前記第1プロセスから受け取った前記第2プロセスに対するデータが前記第2プロセスに対する前記起動要求を含むか否かを、予め設定された判断基準情報に基づいて判断し、
    前記データが前記第2プロセスに対する前記起動要求を含む場合、前記中継プロセスは前記第2プロセスを代理起動する
    請求項1乃至5のいずれか一項に記載の情報処理システム。
  7. 前記中継プロセスは、前記第1プロセスから受け取った前記第2プロセスに対するデータが前記第2プロセスに対する前記起動要求を含まない場合に、前記第1プロセスからの前記データを前記第2プロセスに中継送信する
    請求項6に記載の情報処理システム。
  8. コンピュータ読み取り可能な記録媒体に記録されたプログラムであって、
    機密グループに属し、所定の処理を実行する第1プロセスと、
    前記機密グループに属し、前記第1プロセスからの起動要求に応答して起動され、所定の処理を実行する第2プロセスと、
    通常グループに属し、前記第1プロセスと前記第2プロセスとの間の通信を管理する管理プロセスと、
    前記機密グループに属し、前記第1プロセスから前記第2プロセスに対する前記起動要求と前記第1プロセス及び前記第2プロセスで使用される使用データとを受け取り、前記第2プロセスを代理起動し、前記第2プロセスに前記使用データを渡し、前記第2プロセスを起動した旨を前記管理プロセスに通知する中継プロセスと
    をコンピュータに実現させる
    プログラム。
  9. 前記第1プロセスから前記第2プロセスに対するデータの送信先を、前記中継プロセスに設定する送信先設定手段
    を更に前記コンピュータに実現させる
    請求項8に記載のプログラム。
  10. 前記第1プロセスを起動し、前記第1プロセスに前記使用データを渡すプロセス起動手段
    を更に前記コンピュータに実現させ、
    前記プロセス起動手段による前記第1プロセスの起動時に、前記送信先設定手段は、前記第1プロセスから前記第2プロセスに対するデータの送信先を、前記中継プロセスに設定する
    請求項9に記載のプログラム。
  11. 情報処理システムにおけるデータ中継方法であって、
    前記情報処理システムは、
    所定の処理を実行する第1プロセスと、
    前記第1プロセスからの起動要求に応答して起動され、所定の処理を実行する第2プロセスと、
    前記第1プロセスと前記第2プロセスとの間の通信を管理する管理プロセスと、
    中継プロセスと
    を備え、
    前記第1プロセスと前記第2プロセスと前記中継プロセスとは機密グループに属し、
    前記管理プロセスは通常グループに属し、
    前記データ中継方法は、
    前記中継プロセスが、前記第1プロセスから、前記第2プロセスに対する前記起動要求と前記第1プロセス及び前記第2プロセスで使用される使用データとを受け取るステップと、
    前記中継プロセスが、前記第2プロセスを代理起動するステップと、
    前記中継プロセスが、前記第2プロセスに前記使用データを渡すステップと、
    前記中継プロセスが、前記第2プロセスを起動した旨を前記管理プロセスに通知するステップと
    を含む
    データ中継方法。
  12. 前記第1プロセスから前記第2プロセスに対するデータの送信先を、前記中継プロセスに設定するステップ
    を更に含む
    請求項11に記載のデータ中継方法。
  13. 前記第1プロセスを起動し、前記第1プロセスに前記使用データを渡すステップ
    を更に含み、
    前記第1プロセスの起動時に、前記第1プロセスから前記第2プロセスに対するデータの送信先が、前記中継プロセスに設定される
    請求項12に記載のデータ中継方法。
JP2010519018A 2008-07-04 2009-06-25 情報処理システム、プログラム、データ中継方法 Active JP5327552B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010519018A JP5327552B2 (ja) 2008-07-04 2009-06-25 情報処理システム、プログラム、データ中継方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008175457 2008-07-04
JP2008175457 2008-07-04
PCT/JP2009/061573 WO2010001797A1 (ja) 2008-07-04 2009-06-25 情報処理システム、プログラム、データ中継方法
JP2010519018A JP5327552B2 (ja) 2008-07-04 2009-06-25 情報処理システム、プログラム、データ中継方法

Publications (2)

Publication Number Publication Date
JPWO2010001797A1 JPWO2010001797A1 (ja) 2011-12-22
JP5327552B2 true JP5327552B2 (ja) 2013-10-30

Family

ID=41465894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010519018A Active JP5327552B2 (ja) 2008-07-04 2009-06-25 情報処理システム、プログラム、データ中継方法

Country Status (3)

Country Link
US (1) US8464274B2 (ja)
JP (1) JP5327552B2 (ja)
WO (1) WO2010001797A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009740B2 (en) * 2011-07-13 2015-04-14 Adobe Systems Incorporated Invocation of additional processing using remote procedure calls
US9588813B1 (en) * 2013-06-07 2017-03-07 Amazon Technologies, Inc. Determining cost of service call
CN104850462B (zh) * 2015-05-04 2018-12-14 联想(北京)有限公司 一种信息处理方法及电子设备
JP2023063811A (ja) * 2021-10-25 2023-05-10 ジェイズ・コミュニケーション株式会社 アクセス制御システム
CN117742807A (zh) * 2022-09-13 2024-03-22 华为技术有限公司 一种进程启动方法、进程管理方法以及管理装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332834A (ja) * 1993-05-25 1994-12-02 Hitachi Ltd リモートプロシジャコール方法
JPH07253943A (ja) * 1993-12-31 1995-10-03 Bull Sa クライアントアーキテクチャからサーバアーキテクチャをシミュレートする方法
JPH1074149A (ja) * 1996-08-30 1998-03-17 Oki Tsushin Syst Kk ソフトウェア間のデータ通信方法
JP2002108631A (ja) * 2000-09-27 2002-04-12 Toshiba Corp 分散処理環境システム、分散処理環境方法及び記憶媒体
JP2004094845A (ja) * 2002-09-04 2004-03-25 Nippon Hoso Kyokai <Nhk> オブジェクト間通信方法、オブジェクト間通信装置およびオブジェクト間通信プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566302A (en) * 1992-12-21 1996-10-15 Sun Microsystems, Inc. Method for executing operation call from client application using shared memory region and establishing shared memory region when the shared memory region does not exist
US7200676B2 (en) 2003-03-26 2007-04-03 Microsoft Corporation Transmitting and receiving messages through a customizable communication channel and programming model
US8255921B2 (en) * 2007-05-30 2012-08-28 Google Inc. Method and apparatus that enables a web-based client-server application to be used offline
US20090288098A1 (en) * 2008-05-13 2009-11-19 Google Inc. Separate Plug-In Processes In Browsers and Applications Thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332834A (ja) * 1993-05-25 1994-12-02 Hitachi Ltd リモートプロシジャコール方法
JPH07253943A (ja) * 1993-12-31 1995-10-03 Bull Sa クライアントアーキテクチャからサーバアーキテクチャをシミュレートする方法
JPH1074149A (ja) * 1996-08-30 1998-03-17 Oki Tsushin Syst Kk ソフトウェア間のデータ通信方法
JP2002108631A (ja) * 2000-09-27 2002-04-12 Toshiba Corp 分散処理環境システム、分散処理環境方法及び記憶媒体
JP2004094845A (ja) * 2002-09-04 2004-03-25 Nippon Hoso Kyokai <Nhk> オブジェクト間通信方法、オブジェクト間通信装置およびオブジェクト間通信プログラム

Also Published As

Publication number Publication date
JPWO2010001797A1 (ja) 2011-12-22
US20110191792A1 (en) 2011-08-04
WO2010001797A1 (ja) 2010-01-07
US8464274B2 (en) 2013-06-11

Similar Documents

Publication Publication Date Title
WO2019105290A1 (zh) 数据处理方法、可信用户界面资源数据的应用方法及装置
US9117087B2 (en) System and method for creating a secure channel for inter-application communication based on intents
US9027108B2 (en) Systems and methods for secure file portability between mobile applications on a mobile device
US9461819B2 (en) Information sharing system, computer, project managing server, and information sharing method used in them
US8589671B2 (en) Security implementation within a browser
CN103488954B (zh) 一种文件加密系统
JP5327552B2 (ja) 情報処理システム、プログラム、データ中継方法
JP2007233704A (ja) 仮想マシンを利用した情報処理装置および情報処理システム、並びに、アクセス制御方法
US8639941B2 (en) Data security in mobile devices
WO2023046207A1 (zh) 一种数据传输方法、装置及计算机非易失性可读存储介质
JP2010072916A (ja) データ保護システム及びデータ保護方法
JP5399268B2 (ja) 暗号化された制御によるドキュメントへのアクセス
JP2011039679A (ja) 画像処理装置及びその制御方法
US8276187B2 (en) Information processing system
WO2017112236A1 (en) Mitigating bot scans of sensitive communications
Giretti Understanding the gRPC Specification
US11615198B2 (en) Computing device compatible encryption and decryption
CN112257092A (zh) 数据传输控制方法、密钥管理方法、配置方法及相关装置
JPWO2017104060A1 (ja) 暗号化方法および暗号化装置
JP2005199627A (ja) 機密印刷データの出力認証機能を有する画像処理装置
JP7302404B2 (ja) 情報処理装置およびプログラム
JP5480786B2 (ja) 情報共有システム、方法、バーチャルマシン管理サーバ及びそのプログラム
JP2014085855A (ja) ファイル自動暗号化システムおよびプログラム
JP6674296B2 (ja) 暗号化メール処理装置、暗号化メール処理方法およびプログラム
JP2024032191A (ja) サーバ装置、ファイル共有プログラム及びファイル共有システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130710

R150 Certificate of patent or registration of utility model

Ref document number: 5327552

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150