JP2015059984A - Information concealing method in cloud computing - Google Patents
Information concealing method in cloud computing Download PDFInfo
- Publication number
- JP2015059984A JP2015059984A JP2013191966A JP2013191966A JP2015059984A JP 2015059984 A JP2015059984 A JP 2015059984A JP 2013191966 A JP2013191966 A JP 2013191966A JP 2013191966 A JP2013191966 A JP 2013191966A JP 2015059984 A JP2015059984 A JP 2015059984A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- cloud
- request
- unit
- business program
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、クラウドコンピューティングでの情報秘匿方法に関する。 The present invention relates to an information concealment method in cloud computing.
従来、クラウドコンピューティングによるサービスであって、不特定多数のユーザによって利用されるパブリッククラウドサービスが多くの企業によって提供されている。パブリッククラウドサービスを利用するにあたり、ユーザはストレージ装置の保守作業等を意識せずとも良く、種々のデータをアップロードしておき、必要なときに必要なファイルをダウンロードして使用することができる。またこのようなデータを利用、加工するトランザクション処理等もパブリッククラウドサービスを利用して行うことで、データベース管理ソフトウェア等の保守作業等からも解放される。このようなパブリッククラウドサービスは、個人利用に留まらず、企業等が顧客データや営業データ等を管理するために利用するケースも多くなってきている。このようなパブリッククラウドサービスにおいて、その利便性の更なる向上を図る技術が種々開示されている。 2. Description of the Related Art Conventionally, a public cloud service that is a cloud computing service and is used by an unspecified number of users has been provided by many companies. When using the public cloud service, the user does not need to be aware of maintenance work of the storage device, but can upload various data and download and use necessary files when necessary. Also, transaction processing that uses and processes such data is performed using public cloud services, thereby freeing from maintenance work such as database management software. Such public cloud services are used not only for personal use but also for companies and the like to manage customer data, sales data, and the like. Various technologies for further improving the convenience of such public cloud services have been disclosed.
例えば特許文献1では、上記のようなクラウドを複数に跨って一連のクラウドコンピューティングを行う際の仲介装置となるSDP(サービス デリバリー プラットフォーム)が開示されている。また、特許文献2では複数のクラウドの状態を判別し、異常の生じたクラウドを回避してデータの更新を行い、また異常から回復した場合、正常に更新されたクラウドの情報を復帰したクラウドへ時系列順に反映することを可能とするサービス中継装置が開示されている。
For example,
しかしながら、上記特許文献1及び特許文献2の構成では、クラウドサービス提供者が第三者である場合、クラウドによって管理するデータは平文のままであり、秘匿すべき情報をクラウドに預けるにはセキュリティ上大きな問題となり、クラウドを利用する企業などは、このリスクをクラウドの利便性と天秤にかけて利用する必要がある。
However, in the configurations of
そこで本発明では、クラウドコンピューティングでのデータの情報秘匿を可能とし、既存の業務プログラムを改修せずとも、セキュリティ性を向上させて情報漏洩やデータ改竄を防止することを可能とするクラウドコンピューティングでの情報秘匿方法を提供することを目的とする。 Therefore, in the present invention, cloud computing enables data concealment in cloud computing, and can improve information security and prevent information leakage and data tampering without modifying existing business programs. The purpose is to provide an information concealment method in the Internet.
本発明のクラウドコンピューティングでの情報秘匿方法は、データベースを備えるクラウドと、クラウド宛のデータベース処理要求を行う業務プログラムと、前記クラウドと前記業務プログラムの間に介在し、両者と通信可能に接続するクラウドポータルシステムと、からなるクラウドコンピューティングシステムであって、前記クラウドポータルシステムは、前記業務プログラムからの前記クラウド宛の要求に含まれる情報を暗号化する暗号化部と、前記クラウドからの前記業務プログラムに返却する処理結果を復号化する復号化部と、暗号化鍵及び復号化鍵を管理すると共に、前記クラウド宛の処理要求及び前記クラウドからの処理結果について、何れの処理を何れの暗号化鍵又は復号化鍵を用いて暗号化又は復号化を試行するのかを設定する暗号化ポリシー保持部と、を備え、前記業務プログラムから前記クラウドのデータベース処理要求がなされた際、当該データベース処理要求に使用する暗号化鍵を前記暗号化ポリシー保持部に基づいて選択して暗号化した上で前記クラウドへ暗号化済みのデータベース処理要求を送出し、前記クラウドから前記業務プログラムへ処理結果が返却された際、当該処理結果に用いる復号化鍵を前記暗号化ポリシー保持部に基づいて選択して復号化した上で前記業務プログラムへ復号化済みの処理結果を返却するよう構成したことを特徴とする。 An information concealment method in cloud computing according to the present invention includes a cloud provided with a database, a business program that makes a database processing request addressed to the cloud, and the cloud and the business program. A cloud computing system comprising: a cloud portal system, wherein the cloud portal system encrypts information included in a request addressed to the cloud from the business program; and the business from the cloud The decryption unit that decrypts the processing result to be returned to the program, and manages the encryption key and the decryption key. Sets whether to attempt encryption or decryption using a key or decryption key An encryption policy holding unit that selects and encrypts an encryption key to be used for the database processing request based on the encryption policy holding unit when the cloud database processing request is made from the business program. The encrypted database processing request is sent to the cloud, and when the processing result is returned from the cloud to the business program, the decryption key used for the processing result is based on the encryption policy holding unit. The decryption process result is returned to the business program after being selected and decrypted.
本発明によれば、業務プログラムとクラウドの間にクラウドポータルシステムを介し、業務プログラムから送出されたデータベース処理要求を暗号化することができ、また暗号化されて蓄積されるクラウド上のデータが処理結果として返却された場合これを復号化して業務プログラムに返却することができるため、業務プログラム側でセキュリティ性を担保せずともクラウドに蓄積する情報を秘匿することができる。 According to the present invention, it is possible to encrypt a database processing request sent from a business program via a cloud portal system between the business program and the cloud, and process data stored in the cloud after being encrypted. When returned as a result, it can be decrypted and returned to the business program, so that the information stored in the cloud can be concealed without securing security on the business program side.
本発明を実施するための形態を以下に説明する。もちろん、本発明は、その発明の趣旨に反しない範囲で、本実施形態において説明した以外の構成のものに対しても容易に適用可能なことは説明を要するまでもない。 The form for implementing this invention is demonstrated below. Of course, it is needless to say that the present invention can be easily applied to configurations other than those described in the present embodiment without departing from the spirit of the invention.
本実施例について、図1乃至6に基づいて説明する。尚、本実施例において、説明の簡略化のため、利用するパブリッククラウドサービスの数を2として説明する。 The present embodiment will be described with reference to FIGS. In this embodiment, the number of public cloud services to be used is assumed to be 2 for the sake of simplicity.
事業者300は、セキュアデータセンター100を介してパブリッククラウドサービス(以降単にパブリッククラウドと称呼する)P1、P2が備えるデータベースPD1及びPD2を利用する。セキュアデータセンター100はクラウドポータルシステム200と、事業者300向けの業務プログラムa1、業務プログラムa2を備えており、事業者300は当該業務プログラムa1及びa2にアクセスし、クラウドポータルシステム200を介してパブリッククラウドP1、P2を利用する。
The
クラウドポータルシステム200は、業務プログラムからのパブリッククラウド宛の処理要求の受け付け及びパブリッククラウドからの処理結果の返却を行う要求受付/結果返却部210、業務プログラムからパブリッククラウド宛の処理要求の待ち行列管理の機能を有するキューゲートウェイ部220、複数パブリッククラウドのデータベース更新を含む一連の複数の処理要求を、1つの処理要求の単位(グローバルトランザクション)として実行する機能を有するトランザクションゲートウェイ部230、当該暗号化された情報をパブリッククラウドから得た際にこれを復号化する機能を担うセキュアゲートウェイ部240、業務プログラムからパブリッククラウド宛の処理要求をパブリッククラウドに送出し、また、パブリッククラウドから処理要求の結果を受領する機能を有する要求送出/結果受領部250、以上大きく分類して5つの構成から成る。
The
キューゲートウェイ部220について詳述する。キューゲートウェイ部220は、業務プログラムからのパブリッククラウド宛の処理要求の待ち行列管理を担うものであり、これによってパブリッククラウドで処理要求のリアルタイムな処理が不可能な場合の遅延処理、一括バッチ処理及び後述のグローバルトランザクション処理を実現可能とするものである。図2に示すように、キューゲートウェイ部220は、リアルタイム処理部221、処理待ちキュー保持部222、遅延処理部223、遅延処理ポリシー保持部224から構成される。
The
リアルタイム処理部221は、業務プログラムからパブリッククラウド宛ての処理要求を実行するものである。この処理要求を実行する際、何らかの要因によってその処理の実行を完遂できない場合、当該要求をパブリッククラウド毎に用意された処理待ちキューに要素として編入し、後述の遅延処理ポリシーに従って遅延処理スクリプトを作成し、更にこの遅延処理スクリプトに従って後述の遅延処理部を起動させる設定を行う。 The real-time processing unit 221 executes a processing request addressed to a public cloud from a business program. When executing this processing request, if the execution of the processing cannot be completed for some reason, the request is incorporated as an element in the processing queue prepared for each public cloud, and a delay processing script is created according to the delay processing policy described later Further, a setting for starting a later-described delay processing unit is performed according to the delay processing script.
処理待ちキュー保持部222は、パブリッククラウド毎に具備する処理待ちキュー(222a、222b、・・・)を蓄積するためのものである。処理待ちキューとは、業務プログラムから各々のパブリッククラウドに宛てた処理要求を格納する待ち行列である。
The processing
処理待ちキュー保持部222に保持される処理待ちキュー222a、222bの構造は、図15に示すような構造からなる。各業務プログラム又はキューゲートウェイ部220のリアルタイム処理部221によって、パブリッククラウドP1またはP2宛てのデータベース更新処理要求を受け付け順に並べて管理する機能と、遅延処理ポリシー若しくは遅延処理スクリプトのリトライ間隔に応じた経過時間の到達の際にこれをパブリッククラウド宛に送出する機能と、及び遅延処理部223からのキュー要素の削除指示を受けて処理待ちキューから該当するキュー要素を削除する機能を有する。
個々のキュー要素には、データベース更新処理要求の具体的な内容(例えばSQL文やデータファイル等)がキュー要素として格納される。
The structure of the
In each queue element, specific contents of the database update processing request (for example, an SQL statement or a data file) are stored as queue elements.
遅延処理部223はクラウドポータルシステム200内部からの呼び出しや、予めセットされたタイマー満了をトリガーとして起動され、前述の遅延処理スクリプトに従い、障害に起因する要求再送出等、処理待ちキューに編入された要素(即ち処理要求)に対する遅延処理や、編入された要素の処理待ちキューからの削除処理を担う。また、日次バッチ等の一括処理指定がされた要素のバッチ処理や、後述のグローバルトランザクション処理の際にも当該機能を用いる。
The
遅延処理ポリシー保持部224には、業務プログラム毎の遅延処理ポリシーが格納される。遅延処理ポリシーとは、業務プログラム毎に予め定義され、何らかの要因によって、処理要求の宛先であるパブリッククラウドが利用不可能な場合やデータベース更新処理が失敗した場合の対処法が記述されており、図12に示すようなデータ構造からなる。「一括処理オプション」とは、パブリッククラウド宛の複数の要求の一括処理の是非、並びに処理に失敗した際の遅延処理又はロールバックとエラーの返却等の設定値である。「リトライ回数」とは、処理失敗の際の再試行回数の設定値である。0が指定された場合は再試行を行わずに直ちにエラーを返却する。「リトライ間隔」は再試行を行う間隔、即ち再試行するまでの待機時間の設定値であり、単位を秒とする。「要求先変更タイミング」とは、所定の回数再試行が行われても処理に失敗する場合に処理先のパブリッククラウドを変更する際の試行回数の閾値である。要求先変更タイミングに1が設定された場合、処理の失敗時に直ちに要求先を変更する。「変更後要求先」には処理の再試行回数が要求先変更タイミングに設定された閾値に到達した場合の他のパブリッククラウドを一意に特定するための識別子が設定される。
The delay processing
トランザクションゲートウェイ部230について詳述する。図3に示すようにトランザクションゲートウェイ部230は、業務プログラムからのグローバルトランザクションとしての処理要求があった場合、複数のパブリッククラウド宛のデータベース更新要求を、1つの処理単位(グローバルトランザクション)として実行するためのものであり、トランザクションゲートウェイ部230は、グローバルトランザクション毎に、グローバルトランザクション未成立時の扱いとしてロールバック又は遅延コミットの何れかを指定することができる。トランザクションゲートウェイ部230は、データベース更新要求処理部231とコミット処理部232とで構成される。
The
データベース更新要求処理部231は、業務プログラムからのデータベース更新要求を前述のキューゲートウェイ部220が具備するリアルタイム処理部221に伝達するものである。また、コミット処理部232は、データベース更新要求処理部231を介してパブリッククラウドに送出された処理要求の確定処理を行うためのものである。
The database update
セキュアゲートウェイ部240について詳述する。図4に示すように、セキュアゲートウェイ部240は、秘匿したい情報の暗号化を行う暗号化部241と、パブリッククラウドから送出される暗号化された情報の復号化を行う復号化部242、更に、予め業務プログラム毎に設定される暗号化ポリシーと、同じく予め登録される暗号化鍵及び復号化鍵が記録される暗号化/復号化情報保持部243a、243bとで構成される。尚、暗号化ポリシーとは、どの業務プログラムからの何れの情報を如何様に暗合化するか、もしくは暗号化そのものを行わないかを記述したものである。
The
続いて、キューゲートウェイ部220が具備するリアルタイム処理部221の動作について、図7に基づいて説明する。業務プログラムからのデータベース更新要求を受けてデータベース更新要求処理部231は当該データベース更新要求をパラメータとしてリアルタイム処理部221を起動する。その際、リアルタイム処理部221は、遅延処理ポリシーを取得する(S701)。この遅延処理ポリシーは、予め読み込んでおいても良いし、データベース更新要求処理部231がパラメータとして渡すよう構成しても良い。取得した遅延処理ポリシーに「一括処理」の指定があるかを判別する(S702)。一括処理指定が無い場合は直ちにデータベースの更新を要求されたものとし、要求送出/結果受領部250に対し、データベース更新要求の宛先となるパブリッククラウドに宛てて、データベース更新要求を送出する(S703)。パブリッククラウド側にて当該データベース更新要求が正しく受信され、更新処理が成功したか否かを判別し(S704)、更新処理が成功した場合はその結果の受領を持ってデータベース更新要求処理部231に処理成功を通知し、処理を終了する。更新処理に失敗した場合、当該データベース更新要求をキュー要素として更新先のパブリッククラウドに対応する処理待ちキューに編入する(S705)。続いて遅延処理ポリシーに従って、後述の遅延処理スクリプトを作成し(S706)、遅延処理スクリプトに従って遅延処理部223の起動タイマーをセットする(S707)。
Next, the operation of the real-time processing unit 221 included in the
データベース更新処理要求に一括処理指定がある場合(ステップS702 YES)、一括処理に対応する遅延処理スクリプトが作成済みであるか否かを検索し、作成されていない場合(S708 YES)、遅延処理ポリシーに従って一括処理用の遅延処理スクリプトを作成する(S709)。作成済み、もしくは作成が完了した後、当該データベース更新要求をキュー要素として更新先のパブリッククラウドに対応する処理待ちキューに編入する(S710)。また、処理待ちキューに編入したキュー要素を指し示すポインタを、遅延処理スクリプトの処理単位リストの末尾に追加する(S711)。 If there is a batch processing designation in the database update processing request (step S702 YES), it is searched whether or not a delay processing script corresponding to the batch processing has been created, and if it has not been created (S708 YES), a delay processing policy A delay processing script for batch processing is created according to (S709). After creation or completion of creation, the database update request is transferred to a processing queue corresponding to the update destination public cloud as a queue element (S710). In addition, a pointer indicating the queue element incorporated into the processing queue is added to the end of the processing unit list of the delay processing script (S711).
遅延処理スクリプトについて以下に詳述する。遅延処理スクリプトのデータ構造を図13に示す。遅延処理スクリプトはリアルタイム処理部221によってリアルタイムに更新を行わない若しくは行えない場合の遅延処理のスケジュール管理に必要な情報を格納したスクリプトである。「残りリトライ回数」は遅延ポリシーのリトライ回数を初期値とし、再試行が行われる毎に1ずつ減算されるものである。「リトライ間隔」は遅延処理ポリシーのそれと同義であり、更新処理に失敗し次の再試行が行われるまでの待機時間が格納される。このリトライ間隔に従って遅延処理部223の起動タイマーが設定される。「要求先変更までの残りリトライ回数」は、初期値を遅延処理ポリシーの「要求先変更タイミング」を初期値とし、「残りリトライ回数」と同様に再試行が行われる毎に1ずつ減算される。「変更後要求先」は遅延処理ポリシーの「変更後要求先」と同値とし、識別子に応じたパブリッククラウドが割り当てられ、要求先変更タイミングが0となった場合にデータベース更新処理要求の宛先を変更先のパブリッククラウドへ変更する。「遅延処理対象の処理要求へのポインタ」にはキュー要素として格納されたデータベース更新処理要求が、処理待ちキューの何れに位置するかのポインタが格納されており、これを参照することで遅延処理スクリプトによって遅延処理を行うデータベース更新処理要求を一意に特定することを可能とする。
The delay processing script will be described in detail below. The data structure of the delay processing script is shown in FIG. The delay processing script is a script that stores information necessary for schedule management of delay processing when the real-time processing unit 221 does not update or cannot update in real time. The “remaining retry count” is the initial value of the delay policy retry count, and is decremented by 1 each time a retry is performed. “Retry interval” is synonymous with that of the delay processing policy, and stores a waiting time until the update processing fails and the next retry is performed. The activation timer of the
尚、「遅延処理対象の処理要求へのポインタ」には「処理単位リスト」を格納することができる。「処理単位リスト」とは複数のデータベース更新処理要求を1つのトランザクションとして扱うためのリストであり、複数のキュー要素(即ちデータベース更新処理要求)へのポインタを一覧として格納するものである。例えば、日次バッチ処理で更新を行うと指定された複数のデータベース更新処理要求がなされた場合、前述のリアルタイム処理部221の動作を示すフローチャートに従って、「一括処理指定」が成された複数のデータベース更新処理要求は、一括処理するための同一の遅延処理スクリプトが割り当てられ、当該遅延処理スクリプトの「遅延処理対象の処理要求へのポインタ」に格納される「処理単位リスト」には、一括処理指定がされたデータベース更新処理要求を格納するキュー要素へのポインタが順次追加されていくことになる。 Note that a “processing unit list” can be stored in the “pointer to the processing request subject to delay processing”. The “processing unit list” is a list for handling a plurality of database update processing requests as one transaction, and stores pointers to a plurality of queue elements (that is, database update processing requests) as a list. For example, when a plurality of database update processing requests designated to be updated in daily batch processing are made, a plurality of databases for which “batch processing designation” is made according to the flowchart showing the operation of the real-time processing unit 221 described above. The same delay processing script for batch processing is assigned to the update processing request, and the batch processing specification is specified in the “processing unit list” stored in the “pointer to the processing request of the delay processing target” of the delay processing script. The pointers to the queue elements that store the database update processing requests that have been performed are sequentially added.
続いて、遅延処理部223の動作について、図8〜図11に基づいて説明する。遅延処理ポリシーを取得する(S801)。リアルタイム処理部221と同様、遅延処理ポリシーを記憶部等から読み出し、パラメータとして渡される等、適宜手段を用いて読み出しができればその手段は問わない。遅延処理ポリシーの「一括処理」の指定の有無を判別する(S802)。「一括処理」の指定が無い場合(S802 NO)、遅延処理スクリプトを取得する(S803)。遅延処理スクリプトに従い、「遅延処理対象の処理要求へのポインタ」が指し示す処理待ちキュー内のキュー要素に格納されるデータベース更新要求を、更新先のパブリッククラウド宛に送出するよう、要求送出/結果受領部250に指示する(S804)。尚、このとき「要求先変更タイミング」が0の場合は、更新先のパブリッククラウドを「変更後要求先」に格納された識別子に応じて変更する。要求送出/結果受領部250にて更新先のパブリッククラウドから更新の成否を受領して更新処理の成否を判別し、失敗した場合(S805 NO)は、遅延処理スクリプトの「リトライ回数」と「要求先変更タイミング」を減算し(S806)、遅延処理スクリプトの「リトライ間隔」に従って遅延処理部223の起動タイマーをセットして処理を終了する(S807)。パブリッククラウドの更新処理に成功した場合(S805)、「遅延処理対象の処理要求へのポインタ」に格納される処理待ちキューへのポインタを参照し、該当するキュー要素を処理待ちキューから削除し(S808)、当該遅延処理スクリプトを削除して処理を終了する(S809)。
Next, the operation of the
ステップS802にて、遅延処理ポリシーにおいて一括処理指定がなされている場合(S802 YES)の処理を図9に基づいて説明する。遅延処理スクリプトを取得し(S901)、「遅延処理対象の処理要求へのポインタ」に格納される処理単位リストを読み出し、その先頭のデータを選択する(S902)。処理単位リストが終端か否かを判別し(S903)、終端でない場合は処理単位リストが処理済みでないとし、選択中のポインタが指し示す処理待ちキューのキュー要素に格納されたデータベース更新処理要求を、遅延処理スクリプトに従ってパブリッククラウド宛に送出するよう、要求送出/結果受領部250に指示する(S904)。パブリッククラウドからの更新処理成功が通知され、要求送出/結果受領部250がこれを受領した場合(S905 YES)、処理単位リストのポインタを次のデータへと更新し(S906)、以降処理単位リストが終端となるまでステップS903〜ステップS906を繰り返す。
The processing when batch processing is designated in the delay processing policy in step S802 (S802: YES) will be described with reference to FIG. A delay processing script is acquired (S901), a processing unit list stored in “pointer to processing request for delay processing” is read, and the head data is selected (S902). It is determined whether or not the processing unit list is at the end (S903). If the processing unit list is not at the end, it is determined that the processing unit list has not been processed, and the database update processing request stored in the queue element of the processing waiting queue indicated by the selected pointer is The request sending /
続いて、処理単位リストが終端である場合(ステップS903 YES)の動作について、図10に基づいて説明する。処理単位リストの先頭のデータを再度選択する(S1001)。処理単位リストが終端か否かを判別し、終端でない場合(S1002 NO)は処理単位リストが処理済みでないとし、選択中のポインタが指し示す処理待ちキューのキュー要素に格納されたデータベース更新処理要求に対するコミット要求を、当該データベース更新処理要求の宛先となるパブリッククラウドへ送出するよう、要求送出/結果受領部250に指示する(S1003)。コミット指示を送出したデータベース更新要求を格納するキュー要素を処理待ちキューから削除する(S1004)。これを繰り返し処理単位リストが終端となったら(S1002 YES)、遅延処理スクリプトを削除して処理を終了する(S1005)。
Next, the operation when the processing unit list is at the end (YES in step S903) will be described with reference to FIG. The top data in the processing unit list is selected again (S1001). It is determined whether or not the processing unit list is at the end. If the processing unit list is not at the end (NO in S1002), it is determined that the processing unit list has not been processed, and the database update processing request stored in the queue element of the processing waiting queue indicated by the selected pointer The request sending /
続いて、更新処理に失敗した場合(ステップS905 NO)の動作について、図11に基づいて説明する。更新に成功した全てのデータベース更新処理要求に対してロールバック処理を行う(S1101)。遅延処理ポリシーの一括処理オプションが2、即ち「一括処理し、一括処理不可の場合、ポリシーに従ってリトライする」であるかを判別し、2以外の場合(ステップS1102 NO)、処理単位リストを参照し処理単位リストが指し示す全てのキュー要素を処理待ちキューから一括削除し(S1103)、当該遅延処理スクリプトを削除して処理を終了する(S1104)。遅延処理ポリシーの一括処理オプションが2である場合(ステップS1102 YES)は、遅延処理スクリプトの「リトライ回数」と「要求先変更タイミング」を減算し(S1105)、遅延処理スクリプトの「リトライ間隔」に従って遅延処理部223の起動タイマーをセットして処理を終了する(S1106)。
Subsequently, an operation when the update process has failed (NO in step S905) will be described with reference to FIG. Rollback processing is performed for all database update processing requests that have been successfully updated (S1101). If the batch processing option of the delay processing policy is 2, that is, “if batch processing and batch processing is impossible, retry according to the policy” is determined. If it is not 2 (NO in step S1102), the processing unit list is referred to. All the queue elements pointed to by the processing unit list are collectively deleted from the processing queue (S1103), the delay processing script is deleted, and the processing is terminated (S1104). If the batch processing option of the delay processing policy is 2 (YES in step S1102), the “retry count” and “request destination change timing” of the delay processing script are subtracted (S1105), and according to the “retry interval” of the delay processing script. The activation timer of the
続いて業務プログラムからパブリッククラウドの更新を行う際のクラウドポータルシステムの動作について説明する。図17は、複数の更新要求を行う業務プログラムAの具体的な処理内容を、疑似的なプログラムコードとして表記したものを示している。業務プログラムAは、第1に複数の更新を1つのまとまった処理とするために、当該処理をグローバルトランザクションとして宣言する。以降、パブリッククラウドP1のデータベースPD1の更新要求及びパブリッククラウドP2のデータベースPD2の更新要求を2回ずつ行い、これら4つの更新要求に対してコミット処理を行ってプログラムを終了する、という内容となっている。 Next, the operation of the cloud portal system when updating the public cloud from a business program will be described. FIG. 17 shows the specific processing contents of the business program A that makes a plurality of update requests expressed as pseudo program codes. The business program A first declares the processing as a global transaction in order to make a plurality of updates into a single processing. Thereafter, the update request of the database PD1 of the public cloud P1 and the update request of the database PD2 of the public cloud P2 are performed twice, the commit process is performed on these four update requests, and the program is terminated. Yes.
まず、グローバルトランザクションの開始が宣言される。このとき、業務プログラムAからの処理要求を要求受付/結果返却部210が受け付け、これに基づきトランザクションゲートウェイ部230のデータベース更新要求処理部231が当該グローバルトランザクション用の遅延処理スクリプトを生成する。
First, the start of a global transaction is declared. At this time, the request reception /
続いて、業務プログラムAから各パブリッククラウドのデータベースPD1、PD2の更新要求がなされる。4つのデータベース更新要求の各々はトランザクションゲートウェイ部230のデータベース更新要求処理部231を介して、キューゲートウェイ部220のリアルタイム処理部221によって、図7のフローチャートの一括処理指定有のルートに基づいて、データベース更新要求の宛先となるパブリッククラウドに対応する処理待ちキュー保持部222a又は222bにキュー要素として編入される。更にリアルタイム処理部221は、当該グローバルトランザクション用の遅延処理スクリプトを更新する。出来上がった遅延処理スクリプトの「遅延処理対象の処理要求へのポインタ」には図16に概念的に示されるキュー要素へのポインタリストたる「処理単位リスト」が作成され格納される。
Subsequently, the business program A makes an update request for each of the public cloud databases PD1 and PD2. Each of the four database update requests is processed by the real-time processing unit 221 of the
続いて、コミット処理がなされる。以降、上記4つの更新要求が全て成功しデータベースの更新を正しく終えることができたケース(ケース1)、一部更新処理が失敗し且つ業務プログラムAの遅延ポリシーに「処理中止」が指定されているケース(ケース2)、一部更新処理に失敗し且つ業務プログラムAの遅延ポリシーに「遅延コミット(一定時間間隔でリトライ)」が指定されているケース(ケース3)のそれぞれについて説明する。 Subsequently, commit processing is performed. Thereafter, when all of the above four update requests have succeeded and the database update has been successfully completed (case 1), the partial update process has failed and “Process Cancel” is specified in the delay policy of the business program A A case (case 2) in which a partial update process has failed and “delay commit (retry at a fixed time interval)” is specified in the delay policy of the business program A will be described.
最初に、上記4つの更新要求が全て成功しデータベースの更新を正しく終えることができたケース1について説明する。業務プログラムAからのグローバルトランザクションの終了宣言を要求受付/結果返却部210が受け付け、トランザクションゲートウェイ部230のコミット処理部232は遅延処理部223を起動し、図8〜図11に示すフローチャートに従って処理を行う。即ち、キューゲートウェイ部220の遅延処理部223に対して、当該グローバルトランザクション用の遅延処理スクリプトの「遅延処理対象の処理要求へのポインタ」に処理単位リストとして格納されるポインタが示すキュー要素たるデータベース更新処理要求の全てを、対応するパブリッククラウド宛に送出するよう指示し、要求送出/結果受領部250はこれを送出し、パブリッククラウドから全ての更新処理が成功した旨の通知を受領し、これを受けて遅延処理部223によって当該グローバルトランザクションに関連する全てのキュー要素を処理待ちキューから削除し、対応する遅延処理スクリプトを削除する。以上のような手順によって処理がなされる。
First,
次に、一部更新処理が失敗し且つ業務プログラムAの遅延処理ポリシーに「1:一括処理し、一括処理不可の場合、全ての処理をロールバックする。」が指定されているケース2について説明する。上記成功例と同様に、業務プログラムAからのグローバルトランザクションの終了宣言を要求受付/結果返却部210が受け付け、キューゲートウェイ部220の遅延処理部223に対して、当該グローバルトランザクション用の遅延処理スクリプトの「遅延処理対象の処理要求へのポインタ」に格納される処理単位リストが指し示すポインタに対応するキュー要素たるデータベース更新要求を、パブリッククラウド宛に送出するよう指示し、要求送出/結果受領部250はこれを送出する。このとき、パブリッククラウドの更新について4つあるうちの最後の1つの更新処理が何らかの原因によって失敗した場合を想定する。このとき、続く処理は図9のフローチャートのステップS905の更新処理の成否判別のNOのルート、即ち図11のフローチャートに従って行われる。まず、遅延処理部223に対して成功した3つの更新処理を取り消すために各パブリッククラウドのデータベースに対してロールバックを行うよう要求する。続いて遅延処理ポリシーに「1」が指定されていることから、ステップS1102の遅延コミット指定の判別はNOのルートとなり、当該グローバルトランザクションに関連する全てのデータベース更新処理要求を処理待ちキューから削除し、対応する遅延処理スクリプトを削除する。以上のように、グローバルトランザクション処理であって複数のパブリッククラウド宛ての更新処理において一部で成功した更新処理があったとしても、同一のグローバルトランザクション内の他の更新処理で1つでも更新に失敗した場合は、全てロールバックされる。
Next, a
続いて、一部更新処理に失敗し且つ業務プログラムAの遅延処理ポリシーに「2:一括処理し、一括処理不可の場合、ポリシーに従ってリトライする。」が指定されているケース3について説明する。上述の例と同様4番目の更新処理、つまりプライベートクラウドP2のデータベースPD2への更新が失敗したものとして説明する。図8のフローチャートのステップS1102の判別まではケース2と同様に処理される。遅延処理ポリシーには「2」が指定されていることから、ステップS1102の遅延コミット指定の判別はYESのルートとなる。遅延処理スクリプトに従って、処理待ちキュー保持部242a及び242bに保持される各パブリッククラウドに対応する処理待ちキューから当該グローバルトランザクションに関連するキュー要素として格納される未実行の更新要求、この場合4番目のプライベートクラウドP2のデータベースPD2への更新要求に対応するキュー要素のポインタを、処理単位リストとして遅延処理スクリプトの「遅延処理対象の処理要求へのポインタ」に更新し、遅延処理スクリプトの残りリトライ回数を減算し、リトライ間隔に格納された設定値に応じて遅延処理部223を起動するようタイマーをセットする。当然、「変更後要求先」が設定されているのであれば、「要求先変更までの残りリトライ回数」についても減算する。
Next, a
これによって失敗した4番目の更新要求を再試行することができ、再試行の結果更新に成功した場合は、ケース1と同様に処理待ちキュー保持部222a及び222bの処理待ちキューから当該グローバルトランザクションに関連するキュー要素を全て削除し、遅延処理スクリプトを削除する。また、再試行の結果更新処理に失敗をし、その回数が遅延処理スクリプトに設定された「リトライ回数」に達した場合は、ケース2と同様に遅延処理部223に対して成功した3つの更新処理を取り消すために各パブリッククラウドのデータベースに対してロールバックを行うよう要求すると共に、当該グローバルトランザクションに関連する全てのキュー要素を処理待ちキューから削除し、対応する遅延処理スクリプトを削除する。
As a result, the failed fourth update request can be retried, and if the update is successful as a result of the retry, the global transaction is transferred from the processing queue of the processing
続いて、セキュアゲートウェイ部の動作について説明する。図14(a)に示すように、パブリッククラウドサービスを活用する以前の業務プログラムは、閉鎖されたネットワーク上に設けられた処理システム及びデータベースから構成されることから、各々の処理要求は返却された結果などは平文でやり取りされている。この業務プログラムで用いるデータの管理にパブリッククラウドを用いるよう図14(b)のように構成しようとすると、業務プログラムはパブリッククラウド処理システムが予め具備する暗号化機能にそのセキュリティポリシーとセキュリティ施策を委ねることになる。往々にしてパブリッククラウドのセキュリティポリシーとセキュリティ施策は明確に可視化されることはなく、ユーザはパブリッククラウドの業務プログラムによる利用の際には、パブリッククラウド側のセキュリティポリシーに合わせて、秘匿しなくてもよい情報のみをパブリッククラウドへ、秘匿すべき情報は別途セキュアデータセンターに蓄積するといった構成する必要がある。しかしながら、それを行うには業務プログラム側でセキュリティポリシーの異なる2以上のデータベースにアクセスするよう構築し直す必要があり、更に何れのデータベースにどの情報を管理するかを分類する必要がある。大規模な業務プログラムであると、このような作業を行うには多大な工数が必要となり、パブリッククラウドを業務プログラムにて利用することの大きな障害となっている。しかしながら業務プログラムにとって、例えば障害発生時のデータ破損等データ維持に関する堅牢性や、大きなエリアで展開する端末からのアクセスの容易性等において強力なメリットを有するパブリッククラウドのメリットは計り知れないものがある。 Next, the operation of the secure gateway unit will be described. As shown in FIG. 14 (a), since the business program before using the public cloud service is composed of a processing system and a database provided on a closed network, each processing request is returned. Results are exchanged in clear text. If the public cloud is used to manage the data used in the business program as shown in FIG. 14B, the business program entrusts its security policy and security measures to the encryption function provided in advance in the public cloud processing system. It will be. Often, public cloud security policies and security measures are not clearly visualized, and users do not need to conceal them in accordance with public cloud security policies when using public cloud business programs. It is necessary to configure such that only good information is stored in the public cloud and information that should be kept secret is stored separately in a secure data center. However, in order to do so, it is necessary to restructure the business program to access two or more databases having different security policies, and it is necessary to classify which information is managed in which database. A large-scale business program requires a large amount of man-hours to perform such work, which is a major obstacle to using a public cloud in the business program. However, for business programs, for example, there are immeasurable benefits of a public cloud that has strong merits in maintaining data, such as data corruption in the event of a failure, and ease of access from terminals deployed in large areas. .
そこで本実施例では図1及び図4に示すように、業務プログラムAとパブリッククラウドP1及びP2の間に配されるセキュアデータセンター100のクラウドポータルシステム200に、セキュアゲートウェイ部240を設け、業務プログラムAから更新要求が成される平文である値を暗号化部241によって暗号化し、暗号化された値によってデータベース更新要求を生成し、パブリッククラウドP1、P2のデータベースPD1、PD2の更新を行うよう構成する。更に業務プログラムAからの要求によってパブリッククラウドのデータベースPD1またはPD2から暗号化された値を取得し、復号化部242を介して復号化して平文の値を業務プログラムAに返却するよう構成する。その際、業務プログラム毎に暗号化ポリシー保持部243a、243b・・・を具備し、暗号化及び復号化のポリシー、暗号化鍵及び復号化鍵を業務プログラム毎に個別に設定登録する。
Therefore, in this embodiment, as shown in FIGS. 1 and 4, a
このように構成することで、図14(c)に示すように業務プログラムには特別な改修をせずとも、業務プログラム固有のセキュリティポリシーに従った値の暗号化を行った上でパブリッククラウドに登録することができ、暗号化された値をパブリッククラウドから取得した際も容易に復号化を行うことができる。また業務プログラム毎に暗号化/復号化のポリシー、暗号化鍵及び復号化鍵を設定することができるので、例えばセキュリティポリシーの異なる業務プログラムであっても同一のクラウドポータルシステムにて管理し、パブリッククラウドの利用を可能とする。従ってセキュアデータセンター100内にて複数事業者の業務プログラムを稼働させたとしても、事業者ごと、業務プログラム毎に個別のセキュリティポリシーを適用することが可能となる。
By configuring in this way, as shown in FIG. 14C, the business program is encrypted in the public cloud after encryption according to the security policy specific to the business program without special modification. It can be registered and can be easily decrypted when an encrypted value is obtained from the public cloud. Also, encryption / decryption policies, encryption keys, and decryption keys can be set for each business program. For example, business programs with different security policies can be managed by the same cloud portal system and public Enable cloud usage. Therefore, even if the business programs of a plurality of business operators are operated in the
以上のようなクラウドポータルシステムによれば、一般に公開されたパブリッククラウドサービスを利用する場合であっても、パブリッククラウドサービス側に送信するデータであって秘匿性を確保する必要があるデータに対しては暗号化を行って送信し、また当該暗号化されたデータを受信する際にはクラウドポータルシステムによって復号化して受信するので、ユーザはデータの暗号化及び復号化を意識せずに行うことができ、パブリッククラウドサービスの利便性を確保しつつ信頼性を著しく向上させることができる。 According to the cloud portal system as described above, even when using a public cloud service that is open to the public, data transmitted to the public cloud service side that needs to be kept confidential Is encrypted and transmitted, and when the encrypted data is received, it is decrypted and received by the cloud portal system, so the user can do it without being aware of the encryption and decryption of the data. In addition, reliability can be significantly improved while ensuring the convenience of public cloud services.
また、業務プログラムからの処理要求が何らかの要因で失敗した場合であっても、遅延処理部による更新要求のリトライ機能によって自動的に更新処理の再試行を行うことができ、利便性の向上を図ることができる。 In addition, even when a processing request from a business program fails for some reason, the update processing can be automatically retried by the update request retry function by the delay processing unit, thereby improving convenience. be able to.
更に、複数のパブリッククラウドサービスに対して一括処理にて更新を行うようなクラウドコンピューティングが必要なケースであっても、個別のパブリッククラウドサービスへの更新の成否を人的な運用などで判別する必要がなく、グローバルトランザクション処理を可能とし、システムの利便性及び信頼性が著しく向上する。 Furthermore, even in cases where cloud computing is required to update multiple public cloud services in a batch process, the success or failure of updating to an individual public cloud service is determined by human operation, etc. This eliminates the need for global transaction processing and improves the convenience and reliability of the system.
上述したクラウドポータルシステム100に別途記憶部を設け、パブリッククラウドへの更新内容と同一の内容を当該記憶部に更新することでパブリッククラウドのミラーリングを行うことで、若しくはパブリッククラウドから定期的に全データを取得して記憶部に記憶することで、バックアップとするよう構成することで、クラウドポータルシステム100の更なる堅牢性、信頼性の向上を図ることも可能である。
The
以上、本発明の実施例について詳述したが、本発明は前記実施例に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。例えば業務プログラムをAの1種、パブリッククラウドサービスをP1及びP2の2種のケースとして説明したが、これに限定するものではなく、これ以上の業務プログラム及びパブリッククラウドサービスを複数組み合わせて用いたとしても何ら問題なく、業務プログラムの数もパブリッククラウドの数も任意に変更することができる。また遅延処理ポリシー及び遅延処理スクリプトは、図12及び図13に限定するものではなく、利便性等を勘案して適宜設定すればよい。また、遅延処理を担うキューゲートウェイ部220と、グローバルトランザクション機能を担うトランザクションゲートウェイ部230、暗号化/復号化機能を担うセキュアゲートウェイ部240はそれぞれ個別に利用することができ、また任意の組み合わせにて運用することもできることは言うまでもない。例えば、とあるファイルを1乃至複数暗号化してパブリッククラウドサービスに登録したい場合はセキュアゲートウェイ部240のみを利用すればよく、そのファイルの登録の際に失敗した場合再試行を自動化したいのであればキューゲートウェイ部220を用いるよう設定すればよいし、また、グローバルトランザクションを用いた複数のパブリッククラウド宛の更新においても、セキュアゲートウェイ部240を介した上でキューゲートウェイ部220やトランザクションゲートウェイ部230の処理を行うことで、複数のパブリッククラウドに対して自動的に暗号化したデータによって更新処理を行うことができ、また処理結果についても業務プログラムに返却する以前に復号化を終えておくことができるので、業務プログラム側が特に意識することなく、高度なセキュリティ性を実現することが可能となる。
As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to the said Example, A various deformation | transformation implementation is possible within the range of the summary of this invention. For example, the business program has been described as one type of A and the public cloud service as two types of P1 and P2. However, the present invention is not limited to this, and it is assumed that a plurality of business programs and public cloud services are used in combination. There is no problem, and the number of business programs and the number of public clouds can be changed arbitrarily. The delay processing policy and the delay processing script are not limited to those shown in FIGS. 12 and 13 and may be set as appropriate in consideration of convenience and the like. In addition, the
100 セキュアデータセンター
A 業務プログラム
200 クラウドポータルシステム
210 要求受付/結果返却部
220 キューゲートウェイ部
221 処理待ちキュー作成部
222a、b 処理待ちキュー保持部
223 遅延処理部
224a、b 遅延処理ポリシー保持部
230 トランザクションゲートウェイ部
231 データベース(DB)更新処理要求部
232 コミット処理部
240 セキュアゲートウェイ部
241 暗号化部
242 復号化部
243a、b 暗号化/復号化情報保持部
250 要求送出/結果受領部
P1、P2 パブリッククラウドサービス
PS1、PS2 処理システム
PD1、PD2 データベース
100 Secure Data Center
Claims (1)
クラウド宛のデータベース処理要求を行う業務プログラムと、
前記クラウドと前記業務プログラムの間に介在し、両者と通信可能に接続するクラウドポータルシステムと、
からなるクラウドコンピューティングシステムであって、
前記クラウドポータルシステムは、
前記業務プログラムからの前記クラウド宛の要求に含まれる情報を暗号化する暗号化部と、
前記クラウドからの前記業務プログラムに返却する処理結果を復号化する復号化部と、
暗号化鍵及び復号化鍵を管理すると共に、前記クラウド宛の処理要求及び前記クラウドからの処理結果について、何れの処理を何れの暗号化鍵又は復号化鍵を用いて暗号化又は復号化を試行するのかを設定する暗号化ポリシー保持部と、を備え、
前記業務プログラムから前記クラウドのデータベース処理要求がなされた際、当該データベース処理要求に使用する暗号化鍵を前記暗号化ポリシー保持部に基づいて選択して暗号化した上で前記クラウドへ暗号化済みのデータベース処理要求を送出し、
前記クラウドから前記業務プログラムへ処理結果が返却された際、当該処理結果に用いる復号化鍵を前記暗号化ポリシー保持部に基づいて選択して復号化した上で前記業務プログラムへ復号化済みの処理結果を返却するよう構成したことを特徴とするクラウドコンピューティングでの情報秘匿方法。 A cloud with a database,
A business program that makes database processing requests to the cloud;
A cloud portal system that intervenes between the cloud and the business program and communicates with both;
A cloud computing system comprising:
The cloud portal system
An encryption unit for encrypting information included in the request addressed to the cloud from the business program;
A decryption unit for decrypting a processing result to be returned to the business program from the cloud;
Manages the encryption key and decryption key, and attempts to encrypt or decrypt the processing request addressed to the cloud and the processing result from the cloud using any encryption key or decryption key. An encryption policy holding unit for setting whether to perform,
When the cloud database processing request is made from the business program, the encryption key used for the database processing request is selected and encrypted based on the encryption policy holding unit, and then encrypted to the cloud. Send database processing request,
When a processing result is returned from the cloud to the business program, a decryption key used for the processing result is selected and decrypted based on the encryption policy holding unit, and then decrypted into the business program An information concealment method in cloud computing, which is configured to return results.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013191966A JP2015059984A (en) | 2013-09-17 | 2013-09-17 | Information concealing method in cloud computing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013191966A JP2015059984A (en) | 2013-09-17 | 2013-09-17 | Information concealing method in cloud computing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015059984A true JP2015059984A (en) | 2015-03-30 |
Family
ID=52817595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013191966A Pending JP2015059984A (en) | 2013-09-17 | 2013-09-17 | Information concealing method in cloud computing |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015059984A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10133879B2 (en) | 2015-11-03 | 2018-11-20 | International Business Machines Corporation | Technique used in text analysis in a safe manner |
US10623396B2 (en) * | 2016-01-26 | 2020-04-14 | Canon Kabushiki Kaisha | System and method for controlling system |
-
2013
- 2013-09-17 JP JP2013191966A patent/JP2015059984A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10133879B2 (en) | 2015-11-03 | 2018-11-20 | International Business Machines Corporation | Technique used in text analysis in a safe manner |
US10769308B2 (en) | 2015-11-03 | 2020-09-08 | International Business Machines Corporation | Technique used in text analysis in a safe manner |
US10623396B2 (en) * | 2016-01-26 | 2020-04-14 | Canon Kabushiki Kaisha | System and method for controlling system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103930879B (en) | Projection storage gateway | |
JP2015060285A (en) | Global transaction processing method in cloud computing | |
US11683451B2 (en) | Self-healing video surveillance system | |
US10685141B2 (en) | Method for storing data blocks from client devices to a cloud storage system | |
US11327846B2 (en) | System and method for backup and recovery of services in a cloud computing environment | |
JP5020857B2 (en) | Computer system and terminal | |
CN103765406A (en) | Methods and apparatus for remotely updating executing processes | |
CN107710164B (en) | Disaster recovery as a service | |
US11496893B2 (en) | Secure computation system and relay device, and method, program, and recording medium thereof | |
US11627122B2 (en) | Inter-system linking method and node | |
JP2015060286A (en) | Delay processing method in cloud computing | |
US10204021B2 (en) | Recovery of an infected and quarantined file in a primary storage controller from a secondary storage controller | |
CN110362984B (en) | Method and device for operating service system by multiple devices | |
US9575977B1 (en) | Data management system | |
US11626986B1 (en) | Method and system of rescinding access to blockchain data | |
WO2020255382A1 (en) | Content transaction system, content transaction method, key management device, and key management program | |
JP2015059984A (en) | Information concealing method in cloud computing | |
EP3568798B1 (en) | Data filing method and system | |
JP2004341961A (en) | Storage system and storage program | |
JP2011198325A (en) | Method and system for performing safe bringing-out of file data to outside | |
JP6492731B2 (en) | Storage system, storage control device, and storage control program | |
US10340036B2 (en) | Data management mechanism for wide-area distributed medical information network | |
CN115499228A (en) | Key protection method, device, equipment and storage medium | |
JP2023078577A (en) | Information processing system, information processing method, and program | |
US20240364504A1 (en) | Reliable On-Demand Destruction of Cryptographic Keys |