CN100418068C - 数据库系统、允许/禁止信息采集的检查系统、信息采集方法 - Google Patents
数据库系统、允许/禁止信息采集的检查系统、信息采集方法 Download PDFInfo
- Publication number
- CN100418068C CN100418068C CNB2004800230968A CN200480023096A CN100418068C CN 100418068 C CN100418068 C CN 100418068C CN B2004800230968 A CNB2004800230968 A CN B2004800230968A CN 200480023096 A CN200480023096 A CN 200480023096A CN 100418068 C CN100418068 C CN 100418068C
- Authority
- CN
- China
- Prior art keywords
- data
- information
- database
- computing machine
- request
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Abstract
本发明提供一种数据库系统、允许/禁止信息采集的检查系统、信息采集方法。在判断应用程序对保存在数据库中的信息的访问是否满足预定标准的时候,快速进行信息采集。数据库系统包括:处理个人信息的应用程序(10);保存个人信息的个人信息DB(20);根据个人信息保护策略,进行基于策略的检查的策略服务器(30);和隐私保护模块(40)。当从应用程序(10)接收到保存在个人信息DB(20)中的个人信息的读取请求时,隐私保护模块(40)从个人信息数据库(20)读出个人信息。当隐私保护模块(40)从应用程序(10)接收到读出的个人信息中的特定个人信息的传送请求时,它询问策略服务器(30)所述传送请求是否基于个人信息保护策略。当响应指示所述请求基于所述策略时,所述特定的个人信息被传送给应用程序(10)。
Description
技术领域
本发明涉及具有确定应用程序对保存在数据库(下面称为DB)中的信息的访问是否满足预定标准的能力的数据库系统。
背景技术
对于诸如个人信息之类的敏感信息,可建立诸如个人信息保护策略(例如P3P策略,下面简称为“策略”),以便允许个人信息的公开。如果用这样的标准保护保存在DB中的信息,那么在可把所述信息提供给应用程序之前,检查应用程序对所述信息的访问,以了解访问是否满足所述标准。只有当访问满足所述标准时,信息才被提供给应用程序。按照惯例,在保存于DB中的信息被物理访问时,做出关于访问是否满足标准的决定(例如参见非专利文献1)。
非专利文献1描述一种确定对个人信息的访问是否遵守个人信息保护策略的方法。具体程序如下。
首先,应用程序按照常规方式获得DB连接,并向DB发出SQL查询。在DB中提供策略遵守的逻辑,其中SQL查询转换成遵从策略的查询。即,当执行转换后的SQL查询时,作为查询的结果,只能获得遵守策略的信息。查询的结果被原样提供给应用程序,不遵守策略的信息不被提供给应用程序。
[非专利文献1]Rakesh Agrawal,Jerry Kiernan,RamakrishnanSrikant,Yirong Xu:″Hippocratic Databases″,in proceedings ofinternational Conference on Very Large Data Bases(VLDB)2002:PP.143-154,Springer,2002。
但是,非专利文献1中描述的技术要求在查询结果可被提供给应用程序之前,检查访问的所有各条信息,以确定访问是否遵守策略。例如,如果试图访问1000人的个人信息,那么在查询结果可被提供给应用程序之前,必须进行关于1000人的策略遵守检查。从而,该技术存在对DB访问的响应较慢的问题,因为应用程序必须等待,直到完成关于所有个人信息的策略遵守检查为止。
此外,可能对应用程序实际并不使用的个人信息进行策略遵守检查。例如,即使应用程序访问1000人的个人信息,但是应用程序可能只使用这些信息中的100人的信息。这意味着不必要地检查了900人的个人信息的策略遵守。
为了克服上述技术问题,做出了本发明,本发明的目的是有效地确定应用程序对保存在DB中的信息的访问是否满足预定标准。
发明内容
为了实现该目的,根据本发明,当从应用程序接收到获得访问的结果的请求时,而不是在应用程序物理访问DB中的某一记录时,确定应用程序对保存在DB中的信息的访问是否满足预定的标准。即,根据本发明的数据库系统,包括:保存受保护数据的数据存储装置;数据处理装置,利用保存在所述数据存储装置中的所述数据进行预定处理;和数据保护装置,响应于接收到的所述数据处理装置读取保存在所述数据存储装置中的所述数据的请求,从所述数据存储装置读取所述数据,并响应于从所述数据处理装置接收到传送所述数据中的特定数据的请求,在所述传送请求满足预定标准的条件下,把所述特定数据传送给所述数据处理装置。
此外,根据本发明,在使用信息时,通过询问策略服务器,确定对保存在DB中的信息的访问是否满足预定标准。即,本发明的检查是否允许获得信息的系统,包括利用保存在数据库中的数据的第一计算机和管理所述数据的使用标准的第二计算机,其中:所述第一计算机读取保存在所述数据库中的所述数据,当所述数据内的特定数据被使用时,把关于所述特定数据的使用的信息发送给所述第二计算机;所述第二计算机在接收到关于所述特定数据的使用的所述信息时,根据所述标准,确定所述第一计算机是否被允许使用所述特定数据,并把确定结果返回给所述第一计算机;和所述第一计算机在接收到指示允许所述第一计算机使用所述特定数据的信息时,使用所述特定数据;其中:所述第一计算机响应于从预定的应用程序接收到读取保存在所述数据库中的所述数据的请求,从所述数据库读取所述数据,并响应于从所述应用程序接收到传送所述数据内的特定数据的请求,把关于所述传送请求的信息发送给所述第二计算机;所述第二计算机响应于接收到关于所述传送请求的信息,根据所述标准,确定所述特定数据是否被允许传送给所述应用程序,并把确定结果返回给所述第一计算机;和所述第一计算机根据从所述第二计算机返回的结果,把所述特定数据传送给所述应用程序。
此外,本发明可被看作一种从DB获得信息的信息获取方法。本发明的获取信息的方法,包括下述步骤:当从应用程序接收到读取保存在所述数据库中的数据的请求时,从所述数据库读取所述数据;当从所述应用程序接收到传送所述读取的数据内的特定数据的请求时,确定所述传送请求是否满足预定的标准;和如果确定所述传送请求满足所述预定的标准,那么把所述特定数据传送给所述应用程序。
在另一方面,本发明可被看作一种实现从DB获取信息的功能的计算机程序。根据本发明的程序使计算机实现下述功能:当接收到应用程序读取保存在数据库中的数据的请求时,从所述数据库读取所述数据;当从所述应用程序接收到传送所述读取的数据内的特定数据的请求时,确定所述传送请求是否满足预定的标准;和如果确定所述传送请求满足所述预定的标准,那么把所述特定数据传送给所述应用程序。
根据本发明,能够有效地确定应用程序对保存在DB中的信息的访问是否满足预定标准。
附图说明
图1是表示根据本发明的实施例的数据库系统的整体结构的方框图;
图2表示保存在根据本发明的实施例的个人信息中的信息的例子;
图3表示在根据本发明的实施例的策略服务器中管理的信息的例子;
图4表示保存在根据本发明的实施例中的SQL信息存储部分中的信息的例子;
图5是表示当执行根据本发明的实施例的隐私保护模块时进行的操作的流程图;
图6是表示当执行根据本发明的实施例的隐私保护模块时进行的操作的流程图。
具体实施方式
下面参考附图,详细说明本发明的一个实施例。本实施例中假定“个人信息”是要保护的信息,“个人信息保护策略”是访问必须满足的标准。
把注意力集中到访问DB中的个人信息的时机不同于应用程序使用个人信息的时机的事实,本发明通过在稍后的时机进行策略遵守检查(延迟后的评估),解决了该问题。
具体地说,代替在把查询结果返回给应用程序之前,检查所有个人信息的策略遵守,向应用程序返回具有策略遵守检查的功能的“受控查询结果”。当应用程序实际使用个人信息时,应用程序向“受控查询结果”请求个人信息。“受控查询结果”此时进行策略遵守检查,并根据检查的结果,返回所请求的个人信息。
图1表示了根据本实施例的数据库系统的整个结构。
如图1中所示,数据库系统包括应用程序10,个人信息DB 20,策略服务器30和隐私保护模块40。
应用程序10是使用保存在个人信息DB 20中的个人信息来进行各种处理的程序。例如,应用程序可以是搜索个人信息DB 20,寻找个人信息,并把结果显示在显示器上的程序。
个人信息DB 20是保存个人信息的DB。例如,如图2中所示的数据被保存在个人信息DB 20中。
策略服务器30是管理个人信息保护策略,响应策略遵守检查请求,根据个人信息保护策略进行策略遵守检查,并返回检查结果的服务器。策略服务器30管理个人信息保护策略,例如图3中所示的个人信息保护策略。图3中的表被用于以P3P策略为基础的策略遵守检查。具体地说,它表示东京地区的销售人员只能出于销售活动的目的,访问其地址包含东京的人的姓名、地址和电话号码。
隐私保护模块40是当从应用程序10接收到检索个人信息的请求时,检索保存在个人信息DB 20中的个人信息,当接收到传送检索到的个人信息的特定子集的请求时,请求策略服务器30进行策略遵守检查,只有当指示该请求遵守策略的响应被返回时,才把特定的个人信息提供给应用程序10的程序。虽然图1中独立于应用程序10提供隐私保护模块40,不过隐私保护模块40可以是充当应用程序10的组成部分的模块。
隐私保护模块40包括控制部分41,访问信息存储部分42,SQL信息存储部分43,SQL构建部分44,列识别部分45,数据库访问部分46,策略遵守询问部分47,和询问结果存储部分48。
控制部分41充当与应用程序10的接口,并控制整个流程。例如,控制部分41充当隐私保护模块40中的应用程序接口流程控制逻辑。应用程序10只能通过控制部分41访问个人信息DB 20。
访问信息存储部分42保存访问个人信息DB 20所需的信息(下面称为“访问信息”)。访问信息的例子包括访问个人信息DB 20所需的用户ID和口令。隐私保护模块40管理这些信息项,从而控制应用程序10对个人信息DB 20的访问。
SQL信息存储部分43保存关于可被发送给个人信息DB 20而不会导致问题的SQL语句的信息(下面称为“SQL信息”)。如果应用程序10被允许独自构成SQL语句,并把它们发送给个人信息DB 20,那么应用程序10可发送破坏保存在个人信息DB 20中的信息的SQL语句。为了避免这种情况,隐私保护模块40管理构成可被发送给个人信息DB 20而不会导致问题的SQL语句所需的信息。如果在SQL信息存储部分43中提供可被发送给个人信息DB 20而不会导致问题的所有SQL语句,那么SQL语句的数目会很大。于是,管理包含可用输入参数替换的变量的SQL语句模板(下面称为“SQL语句模板”)。
图4表示保存在SQL信息存储部分43中的信息的例子。在图4中,作为唯一地识别每个SQL语句模板的识别信息的SQL-ID被分配给SQL语句模板。
另外在图4中,受保护列信息和数据所有者ID列信息与每个SQL语句模板相关。这里,受保护列信息是识别通过利用由SQL语句模板构成的SQL语句而检索出的各列中的某一列的信息,该列被指定为要受到保护的列。数据所有者ID列信息是识别通过利用由SQL语句模板构成的SQL语句检索的各列中,为了知道每项数据的所有者,所要参考的一列的信息。
SQL构建部分44是检索保存在SQL信息存储部分43中的SQL语句模板中与应用程序10输入的SQL-ID相关的一个SQL语句模板,并把应用程序10输入的参数嵌入变量中,从而构成SQL语句的部分。SQL构建部分44等同于隐私保护模块40中的SQL构建逻辑。
列识别部分45是根据保存在SQL信息存储部分43中的信息,识别与应用程序10输入的SQL-ID相关的保护列和数据所有者ID列的部分。列识别部分45等同于隐私保护模块40中的列识别逻辑。
策略遵守询问部分47是向策略服务器30发出有关策略遵守的询问,并接收和返回询问结果的部分。具体地说,策略遵守询问部分47等同于隐私保护模块40中的策略遵守询问逻辑。
设置询问结果存储部分48,以便降低与策略服务器30通信的成本和策略遵守检查产生的负载。询问结果存储部分48充当保存发给策略服务器30的询问结果的高速缓冲存储器。
典型计算机系统的硬件配置可被用作本实施例中的数据库系统的硬件配置。具体地说,执行应用程序10的计算机,管理个人信息DB 20的计算机,策略服务器30执行隐私保护模块40的计算机中的任意之一可以是包括通过总线与外部存储器连接的中央处理器(CPU)和主存储器的计算机。外部存储器可以是诸如硬盘、软磁盘、MO(磁光盘)或CD-ROM之类的存储器。
在执行应用程序10的计算机中,应用程序10被保存在外部存储器中,由中央处理器(CPU)装入主存储器中并由中央处理器(CPU)执行,从而实现数据处理装置,未示出。
在管理个人信息DB 20的计算机中,外部存储器实现个人信息DB 20。个人信息DB 20一般可被看作数据存储装置。
在策略服务器30中,进行策略遵守检查的计算机程序被保存在外部存储器中,中央处理器(CPU)把计算机程序装入主存储器中,从而实现策略遵守检查的功能。策略遵守检查中参考的策略可被包含在计算机程序中,或者可独立于计算机程序被保存在外部存储器中。
在执行隐私保护模块40的计算机中,隐私保护模块40被保存在外部存储器中,由中央处理器(CPU)装入主存储器中并由中央处理器(CPU)执行,从而实现隐私保护装置,未示出。作为包含在隐私保护模块40中的程序逻辑的控制部分41,访问信息存储部分42,SQL信息存储部分43,SQL构建部分44,列识别部分45,数据库访问部分46,策略遵守询问部分47和询问结果存储部分48分别把控制部分41,访问信息存储部分42,SQL信息存储部分43,SQL构建部分44,列识别部分45,数据库访问部分46,策略遵守询问部分47和询问结果存储部分48实现为计算机的功能。
执行隐私保护模块40的计算机可执行应用程序10或者可管理个人信息DB 20。此外,策略服务器30的策略遵守检查功能可包含在隐私保护模块40的策略遵守询问部分47中,或者可作为在执行隐私保护模块40的计算机上运行的独立程序被包括。应注意如果策略遵守检查功能由策略服务器30实现,策略服务器30是一个独立的服务器计算机,那么能够灵活地着手对策略的修改。
此外,根据本实施例的数据库系统中的每个计算机具有与之连接的诸如键盘和指示装置之类的输入装置,或者具有与之连接的诸如显示器之类的输出装置。
下面说明根据本实施例的数据库系统的操作。在下面的操作说明中,术语控制部分41,访问信息存储部分42,SQL信息存储部分43,SQL构建部分44,列识别部分45,数据库访问部分46,策略遵守询问部分47和询问结果存储部分48把组件称作计算机的功能。
图5是响应来自应用程序10的请求,由隐私保护模块40执行的从个人信息DB 20检索数据的操作的流程图。
首先,隐私保护模块40读取用于后续处理的文件(步骤501)。具体地说,隐私保护模块40把保存在外部存储器中的访问信息读入主存储器中由访问信息存储部分42管理的区域中,把保存在外部存储器中的SQL信息读入主存储器中由SQL信息存储部分43管理的区域中。
随后,隐私保护模块40中的控制部分41把在步骤501读取的SQL信息提供给应用程序10,以便构成可被发送给个人信息DB 20而不会导致问题的SQL语句(步骤502)。据此,应用程序10在显示器上显示SQL-ID和SQL语句模板之间的联系,从而提示用户选择要向个人信息DB 20提交的SQL语句。
当用户通过输入SQL语句模板(根据该SQL语句模板,构成用户想向个人信息DB 20发送的SQL语句)的SQL-ID,要被嵌入SQL语句模板中的变量中的参数以及访问的目的,对此作出响应时,应用程序10把输入的SQL-ID,参数和访问的目的提供给隐私保护模块40。应用程序10还借助诸如在登录应用程序10期间输入的用户ID之类的信息,识别访问用户,并把访问者ID提供给隐私保护模块40。
在隐私保护模块40中,控制部分41接收这些信息项(步骤503),并把SQL-ID和参数提供给SQL构建部分44。
一般来说,SQL信息被提供给应用程序10开发人员,开发人员根据SQL信息开发应用程序10。这种情况下,应用程序10可输入SQL-ID,提供SQL信息的步骤502可被省略。根据这种典型实现方式,隐私保护模块40从应用程序10接收SQL-ID和参数,如果SQL-ID无效(例如,如果指定了不存在的SQL-ID),那么向应用程序返回出错信息。只有当SQL-ID有效时,隐私保护模块40才执行下述处理。
SQL构建部分44从SQL信息存储部分43检索与提供的SQL-ID相关的SQL语句模板,并把提供的参数嵌入该SQL语句模板中,从而构成将被发送给个人信息DB 20的SQL语句(步骤504),随后将其返回给控制部分41。
例如,如果提供SQL-ID“S001”和参数“TDL”,那么SQL构建部分44产生SQL语句“SELECT id,name,tel,hobby FROM pii_tableWHERE department=″TDL″”。
控制部分41还把SQL-ID提供给列识别部分45。
列识别部分45查阅SQL信息存储部分43,以识别利用与提供的SQL-ID相关的SQL语句检索到的各列中要保护的一列(步骤505)。例如,当发出与SQL-ID“S001”相关的SQL语句时,列“id”、“name”、“tel”和“hobby”被返回。列识别部分45查阅SQL信息存储部分43,知道这些列中,列“name”和“tel”是要受到保护的列,于是通知控制部分41,这些列是要受到保护的列。
列识别部分45查阅SQL信息存储部分43,以识别利用与提供的SQL-ID相关的SQL语句检索到的各列中,指示数据所有者ID的一列(步骤506)。例如,对于与SQL-ID“S001”相关的SQL语句,列“id”、“name”、“tel”和“hobby”被返回。通过查阅SQL信息存储部分43,列识别部分45可知道列“id”是数据所有者的ID列,于是向控制部分41指出这一点。
作为上述处理的结果,除了访问个人信息DB 20所需要的访问信息和将被发送给个人信息DB 20的SQL语句之外,控制部分41还保持确定传送所检索数据的请求是否遵守个人信息保护策略的信息。
具体地说,为了保护个人信息,需要指示“谁”为了“何种目的”访问“谁的信息”和“何种信息”的信息。在这些信息项中,指示“谁”访问和为了“何种目的”的信息已在步骤503被提供给控制部分41。指示“谁的信息”被访问的信息将由应用程序10指定,如后参考图6中的流程图所述。用于确定对该人的信息的访问是否遵守个人信息保护策略的数据所有者ID列信息已在步骤506被提供给控制部分41。另外,“何种信息”被访问也将由应用程序10指定,如后所述。用于确定对该信息的访问是否遵守个人信息保护策略的受保护列信息已在步骤505被提供给控制部分41。
随后,控制部分41产生数据库访问部分46(DB连接)(步骤507),并把保持的访问信息和SQL语句提供给数据库访问部分46,指令它访问个人信息DB 20。响应该指令,数据库访问部分46使用访问信息访问个人信息DB 20,并发出SQL语句(步骤508)。应用程序10对个人信息DB 20的访问只能通过隐私保护模块40。从而,与数据库访问相关的类别被隐私保护模块40隐藏,从而避免应用程序10毫无约束地访问个人信息DB 20。
随后,数据库访问部分46获得查询的结果,并保存所述结果(步骤509)。
如果SQL语句“SELECT id,name,tel,hobby FROM pii_talbeWHERE department=″TDL″”被发送给个人信息DB 20,那么获得其“department”为“TDL”的人的信息中的“ID”、“name”、“TEL”和“hobby”。具体地说,在图2中所示的例子中,检索到诸如“0001,TaroYamada,03-xxxx-xxxx,yyy”和“0003,Hanako Sato,090-xxxx-xxxx,YYY”之类的信息项。
随后,数据库访问部分46通知控制部分41,它已获得查询的结果,控制部分41随后将其通报给应用程序10(步骤510)。
在中,通过指定记录的序数和包含要获得的信息的列的序数,并从保持查询结果的类别(ResultSet)接收信息,能够获得DB中的信息。于是,得到通知的应用程序10指示实际要使用的记录和列,借此请求隐私保护模块40传送数据。
具体地说,如果应用程序10是顺序列举包括在查询结果中的个人信息中的“name”信息的程序,那么应用程序10利用第一传送请求,请求第一记录中的“name”信息,利用第二传送请求,请求第二记录中的“name”信息。它重复这样的请求,直到用户输入停止列举信息的指令为止。如果用户在每次能够显示多达50人的信息的显示屏幕上显示的50人信息中,找到了所需的信息,那么用户可在发出对全部信息的请求之前,输入停止显示的指令。
下面说明响应来自应用程序10的传送请求,隐私保护模块40进行的传送从个人信息DB 20检索到的数据的操作。
图6是该操作的流程图。如上所述,在步骤510把查询结果的采集通知应用程序10之后,应用程序10请求隐私保护模块40逐项地传送数据。这里将说明响应来自应用程序10的关于某项特定数据的传送请求,隐私保护模块40执行的操作。
在隐私保护模块40中,控制部分41首先从应用程序10接收记录和列的指定(步骤601)。
响应所述指定,控制部分41从数据库访问部分46保持的查询结果中,获得指定列中的指定记录中的信息(步骤602)。
例如,如果在步骤509获得的查询结果是“0001,Taro Yamada,03-XXXX-XXXX,YYY”,“0003,Hanako Sato,090-XXXX-XXXX,YYY”等等,并且应用程序10请求第二列(“name”)中的第一条记录中的信息,那么控制部分41取回信息“Taro Yamada”。
随后,控制部分41根据在步骤505识别的受保护列信息,确定所请求的列是否要受保护(步骤603)。
如果所请求的列不是受保护的列,那么控制部分41把获得的信息原样返回给应用程序10(步骤610)。例如,如果列“name”和“TEL”被指定为受保护的列,并且列“hobby”被请求,那么控制部分41把检索到的信息原样返回给应用程序10,因为该列不是要保护的列。
另一方面,如果所请求的列是受保护的列,那么控制被转给策略遵守询问部分47,策略遵守询问部分47随后确定询问结果是否已保存在询问结果存储部分48中(步骤604)。如果询问结果被保存在询问结果存储部分48中,那么策略遵守询问部分47从询问结果存储部分48检索询问结果(步骤608);否则,策略遵守询问部分47关于策略遵守向策略服务器30进行询问(步骤605)。例如,列“name”和“TEL”被指定为受保护的列,并且列“name”被请求,那么策略服务器30进行这样的策略遵守检查,因为列“name”是要保护的列。
随后,策略服务器30进行策略遵守检查,并把结果返回给策略遵守询问部分47。策略遵守询问部分47接收询问的结果,并将其返回给控制部分41(步骤606),同时,将其高速缓存在询问结果存储部分48中(步骤607)。
具体地说,进行下述处理。这里假定作为步骤503的处理的结果,控制部分41持有访问者ID“E0001”(东京地区销售人员)和访问目的“销售活动”,另外作为步骤505的处理的结果,还持有指示列“name”和“tel”是受保护列的信息,并且作为步骤506的处理的结果,持有指示列“id”是数据所有者ID列的信息。另外还假定在步骤509已获得下述查询结果:第一条记录中的“0001,Taro Yamada,03-XXXX-XXXX,YYY”和第二条记录中的“0003,Hanako Sato,090-XXXX-XXXX,YYY”。策略服务器30持有图3中所示的个人信息保护策略,该策略定义“只有当地址包括东京”的条件。假定策略遵守询问部分47于是知道当请求策略遵守检查时,它应发送地址信息。另外这里还假定询问结果存储部分48并不持有关于策略遵守的检查结果。
假如在上述情况下,应用程序10请求传送包括在查询结果中的第一条记录中的第二列。控制部分41随后通过策略遵守询问部分47,把作为指示“谁”正在访问的信息的访问者ID“E0001”,作为指示“何种目的”的信息的访问目的“销售活动”,作为指示“谁的信息”的信息的数据所有者ID“S0001”,和作为指示“何种信息”的信息的列“name”提供给策略服务器30。它还把作为数据所有者的地址的“东京”提供给策略服务器30。响应于此,策略服务器30返回“OK”作为策略遵守检查的结果,因为指示“东京地区销售人员”的“E0001”出于“销售活动”的目的,正在请求传送其“地址包括东京”的“S001”的“name”,从而该请求遵守图3中的策略。
另一方面,假如应用程序10请求传送查询结果中的第二条记录中的第二列。随后,控制部分41随后通过策略遵守询问部分47,把作为指示“谁”正在访问的信息的访问者ID“E0001”,作为指示“何种目的”的信息的访问目的“销售活动”,作为指示“谁的信息”的信息的数据所有者ID“S0003”,和作为指示“何种信息”的信息的列“name”提供给策略服务器。它还把作为数据所有者的地址的“千叶”提供给策略服务器30。据此,策略服务器30返回“NG”作为策略遵守检查的结果,因为指示“东京地区销售人员”的“E0001”出于“销售活动”的目的,正在请求传送其“地址包括千叶”的“S003”的“name”,从而该请求不遵守图3中的策略。
虽然在该具体例子中,数据所有者的地址从策略遵守询问部分47发送给策略服务器30,不过如果策略服务器持有每个所有者的地址,那么可为策略遵守检查单独发送数据所有者ID。
如果请求遵守策略(步骤609中YES),那么控制部分41把在步骤602获得的个人信息返回给应用程序10(步骤610)。另一方面,如果请求不遵守策略(步骤609中NO),那么控制部分41不把在步骤602获得的个人信息返回给应用程序10,而是向应用程序10返回指示隐私权遵守异常(privacy compliance exception)的出错消息,例如“侵犯隐私!”。
从而,结束根据本实施例的操作。
如果用实现本实施例,那么创建包装(wrap)用于保持查询结果的对象“.sql.ResultSet”的类别,并用该包装类别实现进行策略遵守检查的逻辑。此外,.sql.ResultSet可被用作包装类别的接口,从而使应用程序10能够完全按照和使用标准ResultSet相同的方式访问隐私受保护的个人信息。
虽然在上面的说明中,如图4中所示提供了用作构成要发送给个人信息DB 20的SQL语句的基础的SQL语句模板,以致输入参数可被嵌入,不过如果使用的SQL语句模式的数目较小,那么可以提供SQL语句本身,以致可通过应用程序10提出SQL语句。
虽然在本实施例中,如图4中所示,通过利用SQL信息,分别在步骤505和506识别受保护的列和数据所有者ID列,不过本发明并不局限于此。即,可在步骤603之前的任意时刻识别要受到保护的列,并且可根据任何信息来识别。另外,可在步骤605之前的任意时刻识别数据所有者ID列,并且可根据任何信息来识别。
根据本实施例,能够避免对数据库的访问期间的负载集中,因为如上所述,在应用程序使用保存在数据库中的信息的时候,关于是否遵守策略检查所述信息。例如,如果应用程序被设计成每次在显示器上显示从个人信息DB 20检索到的信息中的50人的信息,那么每次只需要关于是否遵守策略检查这50人的信息。
此外,能够避免不必要的策略遵守检查,因为在应用程序使用保存在DB中的信息的时候进行策略遵守检查。例如,在扫描命中的1000人的信息中的50人的信息之后,可能实际上完成了预期的处理。这种情况下,避免不必要的策略遵守检查的益处是显著的。
根据常规的技术,必须提供特殊的数据库,该数据库具有把接收的SQL查询变换成作为该查询的结果,只获得与策略相符的那些信息的SQL的机构。相反,本实施例并不需要这种特殊的数据库。
此外,根据常规的技术,如果使用诸如谁出于何种目的访问信息之类的信息,那么必须使用扩展SQL来进行策略遵守检查。相反,根据本实施例,不需要扩展SQL,因为在隐私保护模块中解决了这种信息。
Claims (14)
1. 一种数据库系统,包括:
保存受保护数据的数据存储装置;
数据处理装置,利用保存在所述数据存储装置中的所述数据进行预定处理;和
数据保护装置,响应于接收到的所述数据处理装置读取保存在所述数据存储装置中的所述数据的请求,从所述数据存储装置读取所述数据,并响应于从所述数据处理装置接收到传送所述数据中的特定数据的请求,在所述传送请求满足预定标准的条件下,把所述特定数据传送给所述数据处理装置。
2. 按照权利要求1所述的数据库系统,其中所述数据处理装置只能通过所述数据保护装置访问所述数据存储装置;和
所述数据保护装置保持访问所述数据存储装置所需的访问信息,在从所述数据存储装置读取所述数据时,使用所述访问信息访问所述数据存储装置。
3. 按照权利要求1所述的数据库系统,其中所述数据保护装置保持用于读取保存在所述数据存储装置中的所述数据的多个数据库操作语句,并响应于接收到从所述多个数据库操作语句中选择特定数据库操作语句作为读取所述数据的请求,使用所述特定数据库操作语句从所述数据存储装置读取所述数据。
4. 按照权利要求1所述的数据库系统,其中所述数据保护装置保持读取保存在所述数据存储装置中的所述数据所需的多个信息项,并响应于接收到所述多个信息项中的特定信息项的选择和参数的输入作为读取所述数据的请求,根据所述特定信息项和所述参数构成数据库操作语句,并使用所述数据库操作语句从所述数据存储装置读取所述数据。
5. 按照权利要求1所述的数据库系统,其中响应于从所述数据处理装置接收到传送所述特定数据的请求,如果所述特定数据是受保护的数据,那么所述数据保护装置确定所述传送请求是否满足所述预定标准。
6. 按照权利要求1所述的数据库系统,其中:
响应于从所述数据处理装置接收到传送所述特定数据的请求,所述数据保护装置识别所述特定数据的所有者,并使用关于所述所有者的信息来确定所述传送请求是否满足所述预定标准。
7. 按照权利要求1所述的数据库系统,其中:
响应于从所述数据处理装置接收到传送所述特定数据的请求,所述数据保护装置把关于所述传送请求的信息发送给另一计算机,所述另一计算机管理用于确定所述特定数据是否被允许传送给所述数据处理装置的标准,并根据来自所述另一计算机的响应,确定所述传送请求是否满足所述标准。
8. 按照权利要求1所述的数据库系统,其中在所述传送请求不满足所述预定标准的条件下,所述数据保护装置向所述数据处理装置返回指示所述传送请求不满足所述预定标准的响应。
9. 一种检查是否允许获得信息的系统,包括利用保存在数据库中的数据的第一计算机和管理所述数据的使用标准的第二计算机的系统,其中:
所述第一计算机读取保存在所述数据库中的所述数据,当所述数据内的特定数据被使用时,把关于所述特定数据的使用的信息发送给所述第二计算机;
所述第二计算机响应于接收到关于所述特定数据的使用的所述信息,根据所述标准,确定所述第一计算机是否被允许使用所述特定数据,并把确定结果返回给所述第一计算机;和
所述第一计算机响应于从所述第二计算机接收到指示允许所述第一计算机使用所述特定数据的信息,使用所述特定数据;
其中:
所述第一计算机响应于从预定的应用程序接收到读取保存在所述数据库中的所述数据的请求,从所述数据库读取所述数据,并响应于从所述应用程序接收到传送所述数据内的特定数据的请求,把关于所述传送请求的信息发送给所述第二计算机;
所述第二计算机响应于接收到关于所述传送请求的信息,根据所述标准,确定所述特定数据是否被允许传送给所述应用程序,并把确定结果返回给所述第一计算机;和
所述第一计算机根据从所述第二计算机返回的结果,把所述特定数据传送给所述应用程序。
10. 一种获取信息的方法,包括下述步骤:
在接收到应用程序读取保存在数据库中的数据的请求时,从所述数据库读取所述数据;
响应于从所述应用程序接收到传送所述读取的数据内的特定数据的请求,确定所述传送请求是否满足预定标准;和
如果确定所述传送请求满足所述预定标准,那么把所述特定数据传送给所述应用程序。
11. 按照权利要求10所述的获取信息的方法,其中从所述数据库读取所述数据的所述步骤包括下述步骤:
从预定的存储设备读取访问所述数据库所需的访问信息;和
利用所述读取的访问信息,访问所述数据库。
12. 按照权利要求10所述的获取信息的方法,其中从所述数据库读取所述数据的所述步骤包括下述步骤:
从用于读取保存在所述数据库中的所述数据的多个数据库操作语句中读取特定的数据库操作语句;和
利用所述选择的特定数据库操作语句,从所述数据库读取所述数据。
13. 按照权利要求10所述的获取信息的方法,其中从所述数据库读取所述数据的所述步骤包括下述步骤:
从预定的存储设备读取为读取保存在所述数据库中的所述数据而需要的多个信息项中的特定信息项;
接收参数的输入;和
根据所述选择的特定信息项和所述输入的参数,构成数据库操作语句,并使用所述数据库操作语句从所述数据库读取所述数据。
14. 按照权利要求10所述的获取信息的方法,其中确定所述传送请求是否满足预定标准的所述步骤包括下述步骤:
响应于从所述应用程序接收到传送所述特定数据的请求,把关于所述传送请求的信息发送给另一计算机,所述另一计算机管理确定所述特定数据是否被允许传送给所述应用程序的标准;和
根据来自所述另一计算机的响应,确定所述传送请求是否满足所述标准。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003303908 | 2003-08-28 | ||
JP303908/2003 | 2003-08-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1836218A CN1836218A (zh) | 2006-09-20 |
CN100418068C true CN100418068C (zh) | 2008-09-10 |
Family
ID=34269252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800230968A Expired - Fee Related CN100418068C (zh) | 2003-08-28 | 2004-08-04 | 数据库系统、允许/禁止信息采集的检查系统、信息采集方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7836312B2 (zh) |
JP (1) | JP5430819B2 (zh) |
CN (1) | CN100418068C (zh) |
WO (1) | WO2005022391A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7970746B2 (en) * | 2006-06-13 | 2011-06-28 | Microsoft Corporation | Declarative management framework |
JP5320637B2 (ja) * | 2008-03-31 | 2013-10-23 | 株式会社Jsol | データ検索システム、システム、プログラム、およびデータ検索方法 |
CN102215229B (zh) * | 2011-06-01 | 2013-12-11 | 宇龙计算机通信科技(深圳)有限公司 | 控制应用程序访问终端外部的方法和终端 |
CN103686688B (zh) * | 2012-09-12 | 2017-09-08 | 中国电信股份有限公司 | 移动终端用户通讯录的保护处理方法与装置、移动终端 |
CN103152556A (zh) * | 2013-03-15 | 2013-06-12 | 云南大学 | 一种用于隐私保护的监控视频加密方法 |
CN103491532B (zh) * | 2013-09-24 | 2016-08-10 | 北京大学 | 一种基于Android平台的协作式隐私保护方法及系统 |
CN104200175A (zh) * | 2014-08-27 | 2014-12-10 | 华为技术有限公司 | 一种信息保护的方法和设备 |
CN104200137A (zh) * | 2014-09-04 | 2014-12-10 | 成都卫士通信息产业股份有限公司 | 一种保护java程序自身安全的方法 |
CN104281666A (zh) * | 2014-09-25 | 2015-01-14 | 烽火通信科技股份有限公司 | 一种Android系统下的联系人及其分组处理方法 |
CN105844168B (zh) * | 2015-01-14 | 2018-12-28 | 清华大学 | 用于群智感知的隐私保护方法及装置 |
JP2016201043A (ja) * | 2015-04-13 | 2016-12-01 | 株式会社日立製作所 | アクセス制御装置、およびアクセス制御方法 |
JP5894319B1 (ja) * | 2015-06-26 | 2016-03-23 | 株式会社日本デジタル研究所 | 個人情報管理システム、個人情報管理方法及びプログラム |
CN105631356B (zh) * | 2015-12-21 | 2018-09-28 | 福建星网锐捷通讯股份有限公司 | 一种基于隐私策略的通讯录信息过滤方法及系统 |
CN110443059A (zh) * | 2018-05-02 | 2019-11-12 | 中兴通讯股份有限公司 | 数据保护方法及装置 |
CN111031035B (zh) * | 2019-12-12 | 2022-04-19 | 支付宝(杭州)信息技术有限公司 | 一种敏感数据访问行为监控方法及装置 |
CN111291409B (zh) * | 2020-02-03 | 2022-12-20 | 支付宝(杭州)信息技术有限公司 | 一种数据监控方法及装置 |
CN113886584A (zh) * | 2020-11-10 | 2022-01-04 | 支付宝(杭州)信息技术有限公司 | 一种应用程序的信息检测方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0860763A1 (en) * | 1997-02-19 | 1998-08-26 | Hitachi, Ltd. | Information registration method and document information processing apparatus |
CN1349187A (zh) * | 2000-10-12 | 2002-05-15 | 株式会社日立制作所 | 电子数据检索系统和方法 |
JP2002149652A (ja) * | 2000-11-07 | 2002-05-24 | Hitachi Ltd | データベース検索処理方法及びその実施装置並びにその処理プログラムを記録した記録媒体 |
US20020073072A1 (en) * | 2000-12-13 | 2002-06-13 | Keiji Fukumoto | Method of controlling access to database, database device, method of controlling access to resource, information processing device, program, and storage medium for the program |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5235642A (en) * | 1992-07-21 | 1993-08-10 | Digital Equipment Corporation | Access control subsystem and method for distributed computer system using locally cached authentication credentials |
JPH06274401A (ja) * | 1993-03-18 | 1994-09-30 | Nec Corp | 分散データベース制御方式 |
JPH06348575A (ja) * | 1993-06-11 | 1994-12-22 | Pfu Ltd | データベース制御装置 |
JPH10111821A (ja) * | 1996-10-04 | 1998-04-28 | Railway Technical Res Inst | クライアント・サーバー・システム |
JP3698851B2 (ja) | 1997-02-20 | 2005-09-21 | 株式会社日立製作所 | データベースのセキュリティ管理方法及びシステム |
JP3546787B2 (ja) * | 1999-12-16 | 2004-07-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アクセス制御システム、アクセス制御方法、及び記憶媒体 |
CA2343263A1 (en) * | 2001-04-05 | 2002-10-05 | Alexis Smirnov | Privacy framework |
US6957261B2 (en) * | 2001-07-17 | 2005-10-18 | Intel Corporation | Resource policy management using a centralized policy data structure |
US7266699B2 (en) * | 2001-08-30 | 2007-09-04 | Application Security, Inc. | Cryptographic infrastructure for encrypting a database |
US6901417B2 (en) * | 2002-01-11 | 2005-05-31 | International Business Machines Corporation | Method, system, and program for updating records in a database when applications have different version levels |
-
2004
- 2004-08-04 US US10/570,298 patent/US7836312B2/en not_active Expired - Fee Related
- 2004-08-04 WO PCT/JP2004/011149 patent/WO2005022391A1/ja active Application Filing
- 2004-08-04 CN CNB2004800230968A patent/CN100418068C/zh not_active Expired - Fee Related
- 2004-08-04 JP JP2005513412A patent/JP5430819B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0860763A1 (en) * | 1997-02-19 | 1998-08-26 | Hitachi, Ltd. | Information registration method and document information processing apparatus |
CN1349187A (zh) * | 2000-10-12 | 2002-05-15 | 株式会社日立制作所 | 电子数据检索系统和方法 |
JP2002149652A (ja) * | 2000-11-07 | 2002-05-24 | Hitachi Ltd | データベース検索処理方法及びその実施装置並びにその処理プログラムを記録した記録媒体 |
US20020073072A1 (en) * | 2000-12-13 | 2002-06-13 | Keiji Fukumoto | Method of controlling access to database, database device, method of controlling access to resource, information processing device, program, and storage medium for the program |
Also Published As
Publication number | Publication date |
---|---|
JPWO2005022391A1 (ja) | 2007-11-22 |
WO2005022391A1 (ja) | 2005-03-10 |
US20070005155A1 (en) | 2007-01-04 |
CN1836218A (zh) | 2006-09-20 |
JP5430819B2 (ja) | 2014-03-05 |
US7836312B2 (en) | 2010-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100418068C (zh) | 数据库系统、允许/禁止信息采集的检查系统、信息采集方法 | |
US8312516B1 (en) | Security permissions with dynamic definition | |
KR101153064B1 (ko) | 데이터베이스에 대한 안전한 액세스를 용이하게 하는 컴퓨터로 구현된 시스템, 데이터 액세스 방법, 안전한 액세스를 용이하게 하는 방법, 및 컴퓨터 판독가능 저장 매체 | |
Zhang et al. | Privacy-preserving data mining systems | |
US8521768B2 (en) | Data storage and management system | |
JP2010533915A (ja) | データマスキングを用いた保安システムおよびそのデータ保安方法 | |
CN101483804B (zh) | 用于移动设备中的区域相关内容的方法和装置 | |
JP2021519958A5 (zh) | ||
CN101751452A (zh) | 信息处理装置和信息处理方法 | |
US20110314088A1 (en) | System and method for controlling and monitoring access to data processing applications | |
CN106598881A (zh) | 页面处理方法及装置 | |
JP2008243172A (ja) | アクセス権限制御システム | |
US5692179A (en) | Information retrieving apparatus | |
US20020040364A1 (en) | Access controlling method, its execution apparatus and record medium recording its operational program | |
JP4550087B2 (ja) | 検索仲介システム | |
JP4191239B2 (ja) | アクセス権限制御システム | |
JP5422639B2 (ja) | データ蓄積システムとそのデータアクセス制御方法 | |
US10394835B1 (en) | Rapid access information database (RAID) system and method for generalized data aggregation for a plethora of data types and users | |
CA3055993C (en) | Database access, monitoring, and control system and method for reacting to suspicious database activities | |
JP4005120B1 (ja) | アクセス権限制御システム | |
JPWO2009016700A1 (ja) | 更新管理プログラム、更新管理システム、更新管理装置および更新管理方法 | |
JP4900469B2 (ja) | 検索仲介システム | |
Anciaux et al. | Implanting life-cycle privacy policies in a context database | |
JP6783335B2 (ja) | 口座管理装置、方法、プログラム、およびシステム | |
JP2003296174A (ja) | リアルタイムでデータを参照更新するための装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080910 Termination date: 20200804 |