JP2008269625A - Database access control method and program - Google Patents

Database access control method and program Download PDF

Info

Publication number
JP2008269625A
JP2008269625A JP2008129713A JP2008129713A JP2008269625A JP 2008269625 A JP2008269625 A JP 2008269625A JP 2008129713 A JP2008129713 A JP 2008129713A JP 2008129713 A JP2008129713 A JP 2008129713A JP 2008269625 A JP2008269625 A JP 2008269625A
Authority
JP
Japan
Prior art keywords
access
database
processing unit
proxy
user
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.)
Granted
Application number
JP2008129713A
Other languages
Japanese (ja)
Other versions
JP4391568B2 (en
Inventor
Takayoshi Endo
公誉 遠藤
Tetsuya Yamamoto
哲也 山本
Hisafumi Imaeda
尚史 今枝
Joji Nakayama
丈二 中山
Kenichiro Shimokura
下倉健一朗
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008129713A priority Critical patent/JP4391568B2/en
Publication of JP2008269625A publication Critical patent/JP2008269625A/en
Application granted granted Critical
Publication of JP4391568B2 publication Critical patent/JP4391568B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To prevent a malicious access when a proxy agent accesses a database, by simple technique. <P>SOLUTION: An intermediary agent has an access request method which is called out from the proxy agent and cannot be changed from the proxy agent, and receives a database access request from a user to the proxy agent. The intermediary agent generates an access object, sets authentication information not to allow an access from the proxy agent, and transfers the access object to the proxy agent. The proxy agent accesses the database, using the access object received from the intermediary agent. An access result is stored in the access object. The proxy agent acquires the access object, transfers it to the intermediary agent, and the intermediary agent transfers the access result to the user. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、データベースのアクセス制御技術に関し、詳しくは、ユーザの代理として代理エージェントがデータベースへアクセスを行う際のデータベースアクセス制御方法及びそのプログラムに関する。   The present invention relates to a database access control technique, and more particularly to a database access control method and a program therefor when a proxy agent accesses a database as a user's proxy.

一般にデータベースには、複数のユーザがデータを保存しているため、どのユーザがどのデータを登録、参照、更新、削除できるかはデータベースのアクセス制御機構によって制御されている。以下、データベースへのデータの登録、参照、更新、削除をまとめてデータベースへのアクセスと呼ぶことにする。例えば、データベースのアクセス制御機構では、ユーザAのデータにはユーザBはアクセスできず、またユーザBのデータにはユーザAはアクセスできないようにアクセス制御が行われる。   In general, since a plurality of users store data in a database, which user can register, refer to, update, and delete which data is controlled by a database access control mechanism. Hereinafter, registration, reference, update, and deletion of data in the database are collectively referred to as access to the database. For example, in the database access control mechanism, access control is performed so that user B cannot access user A's data and user A cannot access user B's data.

このデータベースのアクセス制御方法としては、従来から、ユーザがデータベースに対して渡すユーザIDとパスワードの組等の認証情報を、データベースのアクセス制御機構にあらかじめ登録してある認証情報と比較することによりアクセスしようとしているユーザを特定し、次に特定されたユーザに対してどのデータにアクセスして良いかが設定されているアクセス制御リスト(Access Control List)に基づいて各データのアクセスに対しての許可、不許可を決定するという方式がある。これは既存の多くのデータベースに用いられている方法であり、データベースをアクセスするための言語の規格であるSQL92ではgrant文、revoke文によってアクセス制御リストにアクセス権限の情報を追加、削除することにより、ユーザに対するデータへのアクセス権限の付与、取り消しを行うよう規定されている。   As a database access control method, conventionally, authentication information such as a user ID and password pair that a user passes to the database is compared with authentication information registered in advance in the database access control mechanism. Permission for access to each data based on the access control list that specifies the user who is trying to access and which data can be accessed for the next specified user There is a method of determining non-permission. This is a method used in many existing databases. In SQL92, which is a language standard for accessing a database, access authority information is added to or deleted from an access control list by a grant statement or a revoke statement. It is stipulated that the access authority to the data is granted to the user and revoked.

上記のアクセス制御方式はデータベースへのアクセスがデータベースにデータを格納しているユーザのみの場合のものである。一方、それとは異なる形態として、データベースへのアクセスをデータを格納しているユーザではなく、ユーザの代わりにデータベースへのアクセスを行う代理エージェントが行う場合がある。これはユーザが代理エージェントにデータベースへのアクセスを依頼するという方法で行われる。これは、例えばデータを加工処理する機能を代理エージェントが提供しており、ユーザはデータベースに保存してあるデータを代理エージェントに加工処理してもらい、ユーザはその処理結果を受け取るような場合である。   The above access control method is for the case where only the user who stores data in the database accesses the database. On the other hand, as a different form, access to the database may be performed by a proxy agent that accesses the database on behalf of the user instead of the user storing the data. This is done in such a way that the user requests the proxy agent to access the database. This is the case, for example, when the proxy agent provides a function for processing data, and the user has the data stored in the database processed by the proxy agent, and the user receives the processing result. .

ユーザの代理として代理エージェントがデータベースへアクセスを行う場合に考慮すべきことは、代理エージェントが依頼主のユーザのアクセス権限に基づいてデータベースへのアクセスを行うようにしなければならないという点がある。例えば、あるユーザAが代理エージェントに対してデータベースへのアクセスを依頼するときに、代理エージェントはユーザAに対してアクセスが許可されているデータしかアクセスできないようにアクセス制御されなければならない。すなわちユーザAの依頼にもかかわらず、代理エージェントがユーザAに許可されていないユーザBのデータにアクセスし、その情報をユーザAに返すようなことはあってはならない。代理エージェントが依頼主のユーザのアクセス権限に基づいてデータベースにアクセスすることをユーザから代理エージェントへのアクセス権限の委譲と呼ぶ。   What should be considered when the proxy agent accesses the database on behalf of the user is that the proxy agent must access the database based on the access authority of the client user. For example, when a certain user A requests a proxy agent to access a database, the proxy agent must be controlled so that only data that is permitted to be accessed by the user A can be accessed. That is, in spite of the request from the user A, the proxy agent should not access the data of the user B not authorized by the user A and return the information to the user A. Accessing the database by the proxy agent based on the access authority of the requester's user is called delegation of access authority from the user to the proxy agent.

上記のような条件を満たすアクセス制御方法のもっとも単純なものとしては、ユーザが代理エージェントに対しデータベースにアクセスするための自分のユーザIDやパスワード等の認証情報を渡し、代理エージェントがその認証情報を利用してデータベースにアクセスしてそのユーザのデータを取得するという方法がある。   The simplest access control method that satisfies the above conditions is that the user passes authentication information such as his / her user ID and password for accessing the database to the proxy agent, and the proxy agent receives the authentication information. There is a method of acquiring the user's data by accessing the database using it.

また、別の方法としては、デジタル署名技術や暗号通信技術を利用して、ユーザによる代理エージェントへのアクセス権限の委譲が正しいものかどうかをデジタル証明書やデジタル署名、暗号化や一方向関数を用いて確認するものがある(例えば、特許文献1、特許文献2参照)。   Another method is to use digital signature technology or cryptographic communication technology to check whether the user's delegation of access rights to the proxy agent is correct by using a digital certificate, digital signature, encryption, or one-way function. There is what is confirmed by using (see, for example, Patent Document 1 and Patent Document 2).

特開2001−101054号公報JP 2001-101054 A 特開2002−163235号公報JP 2002-163235 A

しかし、ユーザが代理エージェントへ自分の認証情報を渡し、代理エージェントがその認証情報を利用してデータベースへアクセスする方法は、一般に代理エージェントはユーザとは異なる第三者の実体であり、ユーザは代理エージェントを必ずしも信頼することができない。そのため、例えばユーザAが代理エージェントにユーザIDとパスワード等の認証情報を渡してしまうと、代理エージェントはその認証情報を内部に保持しておき、他ユーザであるユーザBがアクセスしたときにその保持しておいた認証情報を使ってユーザAになりすまし、ユーザBには許可されていないはずのユーザAのデータにアクセスを許してしまうというような悪意を持った処理を代理エージェントが行わないと否定できず、ユーザは代理エージェントに処理を依頼することができない。   However, the method in which the user passes his / her authentication information to the proxy agent and the proxy agent accesses the database using the authentication information is generally a third party entity different from the user. The agent cannot always be trusted. Therefore, for example, when the user A passes authentication information such as a user ID and a password to the proxy agent, the proxy agent holds the authentication information inside and holds it when the user B who is another user accesses it. If the proxy agent does not perform malicious processing such as impersonating the user A using the authentication information that has been stored and allowing the user B to access the data of the user A that should not be permitted The user cannot request processing from the proxy agent.

また、デジタル署名技術や暗号通信技術を利用してアクセス権限の委譲等を確認する方法では、デジタル証明書やデジタル署名、暗号化、一方向関数など複雑な処理を行わなければならず、またユーザ、代理エージェント、データベース間で鍵情報や認証情報などのやりとりを何ステップも行わなければならない。またこれらの方法はアクセス権限を委譲するための方式に関してのみであり、委譲されたアクセス権限に基づいてデータベースにアクセスした結果が委譲もとのユーザに確実に返されることは保証されておらず、ユーザがデータベースのアクセスを依頼する代理エージェントへの適用には適切でない。   In addition, in the method of confirming the delegation of access authority using digital signature technology or cryptographic communication technology, complicated processing such as digital certificate, digital signature, encryption, one-way function, etc. must be performed. There are many steps to exchange key information and authentication information between the proxy agent and the database. In addition, these methods are only related to a method for delegating access authority, and it is not guaranteed that the result of accessing the database based on the delegated access authority is surely returned to the user who is delegating, It is not appropriate for application to proxy agents where users request database access.

そこで、本発明は、ユーザの代理として代理エージェントがデータベースアクセスを行う際に、代理エージェントが悪意を持ってデータベースにアクセスすることが不可能な仕組みを簡易な手法で提供することを目的とする。   Therefore, an object of the present invention is to provide a mechanism by which a proxy agent cannot access a database maliciously when the proxy agent performs database access on behalf of a user by a simple method.

本発明は、ユーザの代理として代理エージェントがデータベースへアクセスを行うデータベースアクセス制御装置に、代理エージェント機能の他に仲介エージェント機能を用意する。仲介エージェントは、データベースのアクセス制御の管理主体と同一とし、ユーザは仲介エージェントを信頼できるものとする。   The present invention provides a mediation agent function in addition to the proxy agent function in a database access control device in which a proxy agent accesses a database as a user's proxy. The mediation agent is the same as the database access control management entity, and the user can trust the mediation agent.

ユーザからの代理エージェントへのデータベースアクセス要求を仲介エージェントが受け取る。仲介エージェントは、データベースにアクセスするためのアクセスオブジェクトを生成し、ユーザからのアクセス依頼を代理エージェントに渡すと同時に生成したアクセスオブジェクトを代理エージェントに渡す。代理エージェントは、仲介エージェントから受け取ったアクセスオブジェクトを用いてデータベースにアクセスを行う。データベースをアクセスした結果はアクセスオブジェクトに格納される。代理エージェントがそのアクセスオブジェクトを取得し、該アクセスオブジェクトあるいはアクセスオブジェクトに格納されたアクセス結果を仲介エージェントに渡し、仲介エージェントがそのアクセス結果をユーザに渡す。   The mediation agent receives a database access request from the user to the proxy agent. The mediation agent generates an access object for accessing the database, and passes an access request from the user to the proxy agent and simultaneously passes the generated access object to the proxy agent. The proxy agent accesses the database using the access object received from the mediation agent. The result of accessing the database is stored in the access object. The proxy agent acquires the access object, passes the access object or the access result stored in the access object to the mediation agent, and the mediation agent passes the access result to the user.

仲介エージェントは、代理エージェントから呼び出される、代理エージェントから変更できないようにしたアクセス依頼メソッドをもち、ユーザからの代理エージェントへのアクセス依頼を受け取る。これにより、代理エージェントが、ユーザからアクセス依頼を受け取る仲介エージェントのアクセス依頼メソッドをオーバーライドするためのメソッドを作成して処理を横取りすることを防ぐ。   The mediation agent has an access request method that is called from the proxy agent and cannot be changed by the proxy agent, and receives an access request from the user to the proxy agent. This prevents the proxy agent from intercepting the process by creating a method for overriding the access request method of the mediation agent that receives the access request from the user.

仲介エージェントは、ユーザから仲介エージェントに渡されたユーザIDやパスワード等の認証情報を仲介エージェントが生成するアクセスオブジェクトに埋め込む。この認証情報は代理エージェントから参照できないように隠蔽しておくことにより、代理エージェントはユーザの認証情報にアクセスできないため、ユーザの認証情報を盗むことはできず、また認証情報をかいざんして違うユーザからのアクセスと偽ってデータベースにアクセスすることも不可能になる。   The mediation agent embeds authentication information such as a user ID and password passed from the user to the mediation agent in an access object generated by the mediation agent. By concealing this authentication information so that it cannot be referred to by the proxy agent, the proxy agent cannot access the user authentication information, so the user authentication information cannot be stolen, and the authentication information cannot be stolen. It becomes impossible to access the database by deceiving it as an access from.

また、データベースへアクセスした結果はアクセスオブジェクトに格納され、代理エージェントはユーザに直接アクセスオブジェクト内に格納されているアクセス結果を返すことはできず、仲介エージェントにそのアクセス結果を返却し、仲介エージェントがそのアクセス結果をユーザに返却するので、代理エージェントが依頼したユーザ以外の他ユーザにアクセス結果を返すということも不可能になる。   The result of accessing the database is stored in the access object, and the proxy agent cannot directly return the access result stored in the access object to the user, but returns the access result to the mediation agent. Since the access result is returned to the user, it is impossible to return the access result to a user other than the user requested by the proxy agent.

これにより、代理エージェントは依頼を受けたユーザのアクセス権限でデータベースにアクセスし、また依頼を受けたユーザにしか処理結果を返すことができないため、悪意を持った処理を行うことが不可能になり、ユーザは安心して代理エージェントに自分のデータをアクセスさせる処理を依頼することが可能になる。   As a result, the proxy agent can access the database with the access authority of the requested user, and can only return the processing result to the requested user, making it impossible to perform malicious processing. The user can safely request the proxy agent to access his / her data.

本発明によれば、代理エージェントは依頼主のユーザ以外のアクセス権限でデータベースにアクセスできず、またアクセス結果も依頼主のユーザにしか返すことができないため、ユーザは悪意を持った行為を行われることを心配することなく、データベースを検索する処理、またその検索結果を加工処理する代理エージェントを利用することが可能になる。それにより、ユーザは第三者が用意する様々な有用な処理を行う代理エージェントを利用することが可能になる。   According to the present invention, since the proxy agent cannot access the database with access authority other than the requester's user, and the access result can be returned only to the requester's user, the user can perform a malicious act. Without worrying about this, it is possible to use a database search process and a proxy agent that processes the search result. Thereby, the user can use a proxy agent that performs various useful processes prepared by a third party.

以下、本発明の一実施の形態を図面により詳しく説明する。
図1に本発明が適用されるシステム全体の構成図を示す。図1において、100は各ユーザの利用者端末装置、200はインターネット等のネットワーク、300は本発明にかかるデータベースアクセス制御装置、400は複数のユーザで共用されるデータベースである。データベース400は、ユーザのデータ、あらかじめ登録されたユーザの認証情報等を保持する。さらに、データベース400はアクセス制御機構を内蔵するが、図1では省略する。このデータベースアクセス制御装置300とデータベース400との間は直接接続あるいはネットワークを介しての接続のいずれでもよい。
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
FIG. 1 shows a configuration diagram of an entire system to which the present invention is applied. In FIG. 1, 100 is a user terminal device of each user, 200 is a network such as the Internet, 300 is a database access control device according to the present invention, and 400 is a database shared by a plurality of users. The database 400 holds user data, user authentication information registered in advance, and the like. Furthermore, although the database 400 incorporates an access control mechanism, it is omitted in FIG. The database access control apparatus 300 and the database 400 may be either directly connected or connected via a network.

データベースアクセス制御装置300は、後述するように、代理エージェント機能としての代理処理部310、仲介エージェント機能としての仲介処理部320、及び、アクセスオブジェクト機能としてのアクセス処理部330から構成される。   As will be described later, the database access control apparatus 300 includes a proxy processing unit 310 as a proxy agent function, a mediation processing unit 320 as a mediation agent function, and an access processing unit 330 as an access object function.

データベースアクセス制御装置300の実体はコンピュータであり、CPUやメモリ等のハードウエア資源の環境下で、ソフトウエアとしてのプログラムが動作して所望の処理を実行する。ここでは、ユーザの代理としてデータベース400へアクセスし、該当ユーザの利用者端末100へアクセス結果を渡す処理を実行する。   The entity of the database access control apparatus 300 is a computer, and a program as software operates and executes desired processing under the environment of hardware resources such as a CPU and a memory. Here, the database 400 is accessed on behalf of the user, and a process of passing the access result to the user terminal 100 of the corresponding user is executed.

以下では、データベースアクセス制御装置300の代理処理部310、仲介処理部320、アクセス処理部330をそれぞれ代理エージェント、仲介エージェント、アクセスオブジェクトと呼び、オブジェクト指向のプログラミング言語によるプログラムとして実施した例を説明する。代理エージェント310は仲介エージェント320を拡張したクラスとして実現する。   Hereinafter, an example will be described in which the proxy processing unit 310, the mediation processing unit 320, and the access processing unit 330 of the database access control device 300 are referred to as a proxy agent, a mediation agent, and an access object, respectively, and are implemented as programs in an object-oriented programming language. . The proxy agent 310 is realized as an extended class of the mediation agent 320.

図2に本実施例の全体処理シーケンス例を示す。また、図3に代理エージェント310の処理フロー例、図4に仲介エージェント320の処理フロー例を示す。   FIG. 2 shows an example of the entire processing sequence of this embodiment. FIG. 3 shows a processing flow example of the proxy agent 310, and FIG. 4 shows a processing flow example of the mediation agent 320.

ユーザは利用者端末装置100から代理エージェント310に対してアクセス依頼メソッドまたは関数(以下、メソッドと省略)を呼び出すことにより、データベース400へのアクセスの依頼を行う。ただし、代理エージェント310は仲介エージェント320を拡張したクラスであり、ユーザが呼び出すメソッドはスーパークラスの仲介エージェントクラスにあるメソッドとしておくことにより、結果的に代理エージェント310ではなく仲介エージェント320のメソッドが呼び出される(図2の手続き1)。また、その際、拡張したクラスである代理エージェント310でそのメソッドをオーバーライドできないようにしておく。例えばJava言語であればアクセス依頼メソッドにfinalize修飾子をつける。これにより代理エージェント310が、ユーザからアクセスの依頼を受ける仲介エージェント320のアクセス依頼メソッドをオーバーライドする偽のメソッドを作成して処理を横取りすることを防ぐようにする。また、ユーザが仲介エージェント320のメソッドを呼び出すときに、その引数などで検索条件及びユーザIDとパスワードなどのユーザの認証情報を渡す。   The user requests access to the database 400 by calling an access request method or function (hereinafter abbreviated as a method) from the user terminal device 100 to the proxy agent 310. However, the proxy agent 310 is a class that extends the mediation agent 320, and the method that the user calls is a method in the mediation agent class of the super class, so that the method of the mediation agent 320, not the proxy agent 310, is called as a result. (Procedure 1 in FIG. 2). At that time, the proxy agent 310, which is an extended class, is set so that the method cannot be overridden. For example, in the Java language, add the finalize modifier to the access request method. This prevents the proxy agent 310 from intercepting the process by creating a fake method that overrides the access request method of the mediation agent 320 that receives an access request from the user. Further, when the user calls the method of the mediation agent 320, the search condition and the user authentication information such as the user ID and password are passed by the argument.

仲介エージェント320は、ユーザからアクセス依頼を受け取ると(図4の2001)、アクセスを依頼したユーザを認証、特定し、その認証情報を保持しておく(図4の2002)。このユーザを認証、特定する方法としては、WWWアプリケーションで用いられているセッションIDを用いて行う方法がある。次に、仲介エージェント320は、ユーザからのアクセス依頼を代理エージェント310に渡す(図2の手続き2、図4の2003)。この時、仲介エージェント320は、ユーザからの検索条件は代理エージェント320へ渡すが、認証情報を渡すことはしない。   Upon receiving an access request from the user (2001 in FIG. 4), the mediation agent 320 authenticates and identifies the user who requested the access, and holds the authentication information (2002 in FIG. 4). As a method for authenticating and specifying the user, there is a method of using a session ID used in a WWW application. Next, the mediation agent 320 passes the access request from the user to the proxy agent 310 (procedure 2 in FIG. 2, 2003 in FIG. 4). At this time, the mediation agent 320 passes search conditions from the user to the proxy agent 320, but does not pass authentication information.

ユーザからのアクセス依頼を仲介エージェント320から代理エージェント310に渡すことにより、代理エージェント310の処理が開始する。代理エージェント310は、アクセス依頼を受け取ると(図3の1001)、ユーザの検索条件を保持し(図3の1002)、仲介エージェント320に対してデータベース400を検索するためのアクセスオブジェクトの生成を依頼する(図2の手続き3、図3の1003)。アクセスオブジェクトの生成を依頼された仲介エージェント320は、アクセスオブジェクト330を生成し(図4の2004、2005)、先に保持したデータベースへのアクセスを行うためのユーザID、パスワード等の認証情報(データベース認証情報)をアクセスオブジェクト330内に設定する(図4の2006)。図5にアクセスオブジェクトの構成例を示す。最初はデータベース認証情報、アクセス結果情報はNULLである。このアクセスオブジエクト内のデータベース認証情報は代理エージェント310からは参照できないようにしておく。例えばJava言語であれば、認証情報を格納した変数のスコープを可視性修飾子をつけないデフォルトスコープに設定し、代理エージェントクラスを異なるパッケージとすれば、代理エージェントクラスから認証情報を格納した変数にアクセスすることを防ぐことができる。仲介エージェント320は、生成したアクセスオブジェクト330を代理エージェント310に渡す(図2の手続き4、図4の2007)。   By passing the access request from the user from the intermediary agent 320 to the proxy agent 310, the processing of the proxy agent 310 starts. Upon receiving the access request (1001 in FIG. 3), the proxy agent 310 holds the user search conditions (1002 in FIG. 3), and requests the mediation agent 320 to generate an access object for searching the database 400. (Procedure 3 in FIG. 2 and 1003 in FIG. 3). The mediation agent 320 requested to generate the access object generates the access object 330 (2004 and 2005 in FIG. 4) and authentication information (database) such as a user ID and a password for accessing the previously held database. Authentication information) is set in the access object 330 (2006 in FIG. 4). FIG. 5 shows a configuration example of the access object. Initially, the database authentication information and the access result information are NULL. The database authentication information in the access object cannot be referenced from the proxy agent 310. For example, in the case of the Java language, if the scope of the variable that stores the authentication information is set to the default scope without the visibility modifier, and the proxy agent class is set to a different package, the proxy agent class will be changed to the variable that stores the authentication information. Access can be prevented. The mediation agent 320 passes the generated access object 330 to the proxy agent 310 (procedure 4 in FIG. 2, 2007 in FIG. 4).

次に、仲介エージェント320からアクセスオブジェクト330を受け取った代理エージェント310は、該アクセスオブジェクト330を用いて、次のようにしてデータベース400のアクセスを実行する。代理エージェント310は、仲介エージェント320からアクセスオブジェクト330を受け取ると(図3の1004)、アクセスオブジェクト330に検索条件などを設定して(図3の1005)、データベースの検索や更新等のアクセスを依頼する(図2の手続き5、図3の1006)。どのようなアクセスを依頼するかの指定方式としては、SQL文を渡す方式、アクセスオブジェクト330が用意したデータベースアクセスメソッドを利用する方式がある。例えば、図5の場合では、データベースアクセスメソッドの引数として検索条件などを設定してアクセスを依頼する。   Next, the proxy agent 310 that has received the access object 330 from the mediation agent 320 uses the access object 330 to access the database 400 as follows. Upon receiving the access object 330 from the mediation agent 320 (1004 in FIG. 3), the proxy agent 310 sets a search condition or the like in the access object 330 (1005 in FIG. 3), and requests access such as database search or update. (Procedure 5 in FIG. 2, 1006 in FIG. 3). As a method of specifying what kind of access is requested, there are a method of passing an SQL sentence and a method of using a database access method prepared by the access object 330. For example, in the case of FIG. 5, a search condition or the like is set as an argument of the database access method to request access.

代理エージェント310からデータベース400のアクセス依頼(起動)を受けたアクセスオブジェクト330は、内部に保持されたデータベース認証情報を用いて、データベース400に接続し、データベース400へのアクセスを行う(図2の手続き6)。データベース400のアクセス制御機構は、アクセスオブジェクト330から渡されるデータベース認証情報を、あらかじめ登録してある認証情報と比較することにより、アクセスを行おうとしているユーザを特定し、そのユーザに許可されているデータの範囲のみを対象として、依頼されたアクセス処理を行い、アクセス結果をアクセスオブジェクト330に返す(図2の手続き7)。データベース400からアクセス結果を受け取ったアクセスオブジェクト330は、そのアクセス結果を内部に格納し、代理エージェント310へ返す(図2の手続き8)。   The access object 330 that has received an access request (startup) of the database 400 from the proxy agent 310 connects to the database 400 using the database authentication information held therein and accesses the database 400 (procedure of FIG. 2). 6). The access control mechanism of the database 400 compares the database authentication information passed from the access object 330 with the authentication information registered in advance to identify the user who is trying to access and is permitted to that user. The requested access processing is performed only for the data range, and the access result is returned to the access object 330 (procedure 7 in FIG. 2). The access object 330 that has received the access result from the database 400 stores the access result therein and returns it to the proxy agent 310 (procedure 8 in FIG. 2).

代理エージェント310は、データベース3400へのアクセス処理を終えたアクセスオブジェクト330を受け取ると(図3の1007)、そのアクセスオブジェクトを仲介エージェント320に返す(手続き9、図3の1008、1010)。また、代理エージェント310は、受け取ったアクセスオブジェクト330をそのまま仲介エージェント320に返すのではなく、アクセスオブジェクト内に格納されたアクセス結果を取り出し、加工、編集、計算などの処理を行い、その処理結果を再びアクセスオブジェクト330に格納し、それを仲介エージェント320に返すということもありうる(図3の1008、1009、1010)。また、代理エージェント310は、仲介エージェント320にアクセスオブジェクト330をそのまま返すのではなく、アクセスオブジェクト330から取り出したアクセス結果またはそれに対する処理結果を返すということもありうる。この時点で、代理エージェント310の処理は終了となる。   When the proxy agent 310 receives the access object 330 that has completed the access processing to the database 3400 (1007 in FIG. 3), it returns the access object to the mediation agent 320 (procedure 9, 1008, 1010 in FIG. 3). Further, the proxy agent 310 does not return the received access object 330 to the mediation agent 320 as it is, but takes out the access result stored in the access object, performs processing such as processing, editing, and calculation, and uses the processing result as a result. It is also possible to store it again in the access object 330 and return it to the mediation agent 320 (1008, 1009, 1010 in FIG. 3). Further, the proxy agent 310 may return the access result extracted from the access object 330 or the processing result for the access object 330 instead of returning the access object 330 to the mediating agent 320 as it is. At this point, the processing of the proxy agent 310 ends.

仲介エージェント320は、代理エージェント310からアクセスオブジェクト330を受け取ると(図4の2008)、依頼主のユーザの利用者端末100へ、この受け取ったアクセスオブジェクト、またはそのアクセスオブジェクトから取り出したデータを返す(図2の手続き10図4の2009)。これにより、ユーザは代理エージェント310に依頼したデータベース400へアクセスした結果を得ることができる。   Upon receiving the access object 330 from the proxy agent 310 (2008 in FIG. 4), the mediation agent 320 returns the received access object or data extracted from the access object to the user terminal 100 of the requesting user ( Procedure 10 in FIG. 2 (2009 in FIG. 4). As a result, the user can obtain the result of accessing the database 400 requested by the proxy agent 310.

上記した代理エージェント310と仲介エージェント320はデザインパターンのテンプレートメソッドを用いて実現することができる(テンプレートメソッドに関しては、例えば、結城浩著「Java言語で学ぶデザインパターン入門」ソフトバンク社 pp.31「第3章Template Method」に詳しい)。すなわち、仲介エージェント320がスーパークラスとなり、ユーザを認証する処理、アクセスオブジェクト330を生成する処理、代理エージェント310からアクセス結果を受け取りユーザに返却する処理などの共通のテンプレートとなる処理を記述し、一方、代理エージェント310がサブクラスとなり、データベース400への具体的な検索処理やアクセス結果に所望処理を行う処理などのそれぞれの代理エージェント固有の具体的な処理を記述する。   The above-mentioned proxy agent 310 and mediation agent 320 can be realized by using a template method of a design pattern (for example, for example, Hiroshi Yuki “Introduction to Design Patterns Learned in Java Language”, Softbank, pp. 31 “No. (See Chapter 3, Template Method). That is, the mediation agent 320 becomes a super class, and describes a process that becomes a common template, such as a process for authenticating a user, a process for generating an access object 330, and a process for receiving an access result from the proxy agent 310 and returning it to the user. The proxy agent 310 is a subclass and describes specific processing unique to each proxy agent, such as specific search processing for the database 400 and processing for performing desired processing on the access result.

なお、アクセスオブジェクトは、例えばメモリ内に記述して、代理エージェント310及び仲介エージェント320が該メモリをアクセスして所定の処理を行うことも可能である。この場合、代理エージェント310からは認証情報の格納領域をアクセスできないようにする。また、アクセス処理部330がアクセスオブジェクトの処理機能の実体として、該アクセス処理部330がアクセスオブジェクトのデータベースアクセスメソッドに基づいてデータベース400を実際にアクセスする。   The access object can be described in a memory, for example, and the proxy agent 310 and the mediation agent 320 can access the memory and perform a predetermined process. In this case, the proxy agent 310 is prevented from accessing the authentication information storage area. In addition, the access processing unit 330 actually accesses the database 400 based on the database access method of the access object as an entity of the access object processing function.

上述したように、図1で示したデータベースアクセス制御装置における各部の一部もしくは全部の処理機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、あるいは、図2、図3、図4で示した処理手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもない。また、コンピュータでその処理機能を実現するためのプログラム、あるいは、コンピュータにその処理手順を実行させるためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えば、FD、MO、ROM、メモリカード、CD、DVD、リムーバブルディスクなどに記録して、保存したり、提供したりすることができるとともに、インターネット等のネットワークを通してそのプログラムを配布したりすることが可能である。   As described above, a part or all of the processing functions of each unit in the database access control apparatus shown in FIG. 1 can be configured by a computer program, and the program can be executed using the computer to realize the present invention. Alternatively, it is needless to say that the processing procedures shown in FIGS. 2, 3, and 4 can be configured by a computer program and the program can be executed by the computer. In addition, a computer-readable recording medium such as an FD, MO, ROM, memory card, CD, or the like is stored in the computer. In addition, the program can be recorded and stored on a DVD, a removable disk, etc., and the program can be distributed through a network such as the Internet.

本発明が適用されるシステム全体の構成図である。It is a block diagram of the whole system to which this invention is applied. 本発明による処理シーケンス例である。It is a processing sequence example by this invention. 代理エージェントの処理フロー例である。It is an example of a processing flow of a proxy agent. 仲介エージェントの処理フロー例である。It is an example of the processing flow of a mediation agent. アクセスオブジェクトの構成例である。It is a structural example of an access object.

符号の説明Explanation of symbols

100 利用者端末
200 ネットワーク
300 データベースアクセス制御装置
310 代理処理部(代理エージェント)
320 仲介処理部(仲介エージェント)
330 アクセス処理部(アクセスオブジェクト)
400 データベース
DESCRIPTION OF SYMBOLS 100 User terminal 200 Network 300 Database access control apparatus 310 Proxy processing part (proxy agent)
320 Mediation processing unit (mediation agent)
330 Access processing unit (access object)
400 database

Claims (4)

利用者端末に接続され、ユーザの代理としてデータベースへアクセスを行う代理処理部と、前記代理処理部の仲介を行う仲介処理部を備えたデータベースアクセス制御装置におけるデータベースアクセス制御方法であって、
前記代理処理部は前記仲介処理部を拡張したクラスとしておき、
さらに、前記仲介処理部クラスにあるアクセス依頼メソッドにfinalize修飾子をつけておき、
前記仲介処理部は、前記利用者端末からのアクセス依頼を受け取るステップと、データベースにアクセスするためのアクセスオブジェクトを生成するステップと、前記代理処理部へデータベースへのアクセスを依頼するステップと、前記代理処理部から受け取ったアクセス結果ないし処理結果を前記利用者端末に送出するステップとを有し、
前記代理処理部は前記アクセスオブジェクトを用いてデータベースアクセスを行い、アクセス結果が格納されたアクセスオブジェクトを取得するステップと、該アクセス結果ないし処理結果を前記仲介処理部へ返却するステップとを有する、
ことを特徴とするデータベースアクセス制御方法。
A database access control method in a database access control apparatus comprising a proxy processing unit connected to a user terminal and accessing a database as a user's proxy, and a mediation processing unit that mediates the proxy processing unit,
The proxy processing unit is a class that extends the mediation processing unit,
Furthermore, the finalize qualifier is attached to the access request method in the mediation processing unit class,
The intermediary processing unit receives an access request from the user terminal, generates an access object for accessing the database, requests the proxy processing unit to access the database, and the proxy Sending the access result or the processing result received from the processing unit to the user terminal,
The proxy processing unit has a step of performing database access using the access object, obtaining an access object in which an access result is stored, and returning the access result or the processing result to the mediation processing unit.
A database access control method.
請求項1記載のデータベースアクセス制御方法において、
前記アクセスオブジェクト内の、データベース認証情報を格納する変数のスコープを可視性修飾子をつけないデフォルトコープに設定しておき、
さらに、代理処理部クラスを異なるパッケージとしておき、
前記仲介処理部は、前記アクセスオブジェクトにデータベース認証情報を設定するステップをさらに有する、
ことを特徴とするデータベースアクセス制御方法。
The database access control method according to claim 1,
Set the scope of the variable that stores the database authentication information in the access object to a default corp without a visibility modifier,
Furthermore, the proxy processing part class is set as a different package,
The mediation processing unit further includes setting database authentication information in the access object.
A database access control method.
利用者端末に接続され、ユーザの代理としてデータベースへアクセスを行う代理処理部と、前記代理処理部の仲介を行う仲介処理部を備えたデータベースアクセス制御装置としてのコンピュータで実行可能なプログラムであって、
前記代理処理部は前記仲介処理部を拡張したクラスとしておき、
さらに、前記仲介処理部クラスにあるアクセス依頼メソッドにfinalize修飾子をつけておき、
コンピュータに、
前記仲介処理部が、前記利用者端末からのアクセス依頼を受け取るステップ、データベースにアクセスするためのアクセスオブジェクトを生成するステップ、前記代理処理部へデータベースへのアクセスを依頼するステップ、前記代理処理部から受け取ったアクセス結果ないし処理結果を前記利用者端末に送出するステップ、
前記代理処理部が、前記アクセスオブジェクトを用いてデータベースアクセスを行い、アクセス結果が格納されたアクセスオブジェクトを取得するステップ、該アクセス結果ないし処理結果を前記仲介処理部へ返却するステップ、
を実行させるためのプログラム。
A computer executable program connected to a user terminal and having a proxy processing unit that accesses a database as a user's proxy and a mediation processing unit that mediates the proxy processing unit. ,
The proxy processing unit is a class that extends the mediation processing unit,
Furthermore, the finalize qualifier is attached to the access request method in the mediation processing unit class,
On the computer,
The intermediary processing unit receives an access request from the user terminal, generates an access object for accessing the database, requests the proxy processing unit to access the database, from the proxy processing unit Sending the received access result or processing result to the user terminal;
The proxy processing unit performs database access using the access object, obtains an access object in which an access result is stored, and returns the access result or processing result to the mediation processing unit.
A program for running
請求項3記載のプログラムにおいて、
前記アクセスオブジェクト内の、データベース認証情報を格納する変数のスコープを可視性修飾子をつけないデフォルトコープに設定しておき、
さらに、代理処理部クラスを異なるパッケージとしておき、
コンピュータに、
前記仲介処理部が、前記アクセスオブジェクトにデータベース認証情報を設定するステップ、
をさらに実行させるためのプログラム。
The program according to claim 3,
Set the scope of the variable that stores the database authentication information in the access object to a default corp without a visibility modifier,
Furthermore, the proxy processing part class is set as a different package,
On the computer,
The mediation processing unit sets database authentication information in the access object;
A program for further execution.
JP2008129713A 2008-05-16 2008-05-16 Database access control method Expired - Lifetime JP4391568B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008129713A JP4391568B2 (en) 2008-05-16 2008-05-16 Database access control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008129713A JP4391568B2 (en) 2008-05-16 2008-05-16 Database access control method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003045921A Division JP4183072B2 (en) 2003-02-24 2003-02-24 Database access control method and program

Publications (2)

Publication Number Publication Date
JP2008269625A true JP2008269625A (en) 2008-11-06
JP4391568B2 JP4391568B2 (en) 2009-12-24

Family

ID=40048951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008129713A Expired - Lifetime JP4391568B2 (en) 2008-05-16 2008-05-16 Database access control method

Country Status (1)

Country Link
JP (1) JP4391568B2 (en)

Also Published As

Publication number Publication date
JP4391568B2 (en) 2009-12-24

Similar Documents

Publication Publication Date Title
JP4186987B2 (en) Database access control method, database access control device, database access control program, and recording medium storing the program
JP4390911B2 (en) Permission to control access to services in a protected memory system
US6754829B1 (en) Certificate-based authentication system for heterogeneous environments
JP4164855B2 (en) Server support method and system for pluggable authorization system
KR101278786B1 (en) Resource based dynamic security authorization
JP4756817B2 (en) Method for providing access control, recording medium, and system for controlling access
JP5635978B2 (en) Authenticated database connection for applications without human intervention
JP6286034B2 (en) Process authentication and resource permissions
JP5620374B2 (en) Allow protected content for application sets
US8756429B2 (en) Tunable encryption system
US9959395B2 (en) Hybrid digital rights management system and related document access authorization method
KR20140026451A (en) Binding applications to device capabilities
US20200322169A1 (en) Accountable identities on the internet
JP2005149121A (en) Security securement support program, server apparatus executing the program, and storage medium stored with the program
JP2007257426A (en) Collaborative authentication method and system corresponding to servers different in authentication intensity
JP2008502251A (en) Computer apparatus having a keystore using process and method of operating computer apparatus
CN112632164A (en) Universal cross-chain programming interface method for realizing trusted authority access
WO2016190949A1 (en) Authorization in a distributed system using access control lists and groups
US8171530B2 (en) Computer access security
Peng et al. A multilevel access control scheme for data security in transparent computing
CN113992415B (en) Unified authentication and authorization method based on OAuth2 protocol
JP4391568B2 (en) Database access control method
JP4183072B2 (en) Database access control method and program
US20210226944A1 (en) Method to bind a user and its devices: context fusion
JP2006260002A (en) Single sign-on system, server device, single sign-on method and program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090821

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: 20090930

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091007

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4391568

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131016

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term