• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 23
    • 下载费用:30 金币  

    重庆时时彩杀后二合值: 一种网络信息系统中服务器端的个人隐私数据?;し椒?pdf

    关 键 词:
    一种 网络 信息系统 服务器端 个人隐私 数据 ?;?方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201410118012.4

    申请日:

    2014.03.27

    公开号:

    CN103973668A

    公开日:

    2014.08.06

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||著录事项变更IPC(主分类):H04L 29/06变更事项:申请人变更前:温州大学变更后:温州大学变更事项:地址变更前:325035 浙江省温州市茶山高教园区变更后:325027 浙江省温州市瓯海经济开发区东方南路38号温州市国家大学科技园孵化器|||实质审查的生效IPC(主分类):H04L 29/06申请日:20140327|||公开
    IPC分类号: H04L29/06; G06F17/30 主分类号: H04L29/06
    申请人: 温州大学
    发明人: 吴宗大; 卢成浪
    地址: 325035 浙江省温州市茶山高教园区
    优先权:
    专利代理机构: 杭州杭诚专利事务所有限公司 33109 代理人: 王江成
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201410118012.4

    授权公告号:

    |||||||||

    法律状态公告日:

    2017.02.01|||2016.12.21|||2014.09.03|||2014.08.06

    法律状态类型:

    授权|||著录事项变更|||实质审查的生效|||公开

    摘要

    本发明公开了一种网络信息系统中服务器端的个人隐私数据?;し椒?,意在提供一种能支持各类常见文本查询、查询性能高、且安全性好的一种网络信息系统中服务器端的个人隐私数据?;し椒?。通过在网络信息系统的客户端和服务器端之间铺设一层中间软件,负责实施本发明所提供的技术方法,以完成两项功能:一是将外部用户通过系统客户端输入的个人隐私数据进行加密后,存放到系统服务器端的后台数据库中,从而确保个人隐私信息在不可信服务器端的安全性;二是为个人隐私数据建立合适的索引,以支持精确查询、相似查询、范围查询等常见文本查询,从而确保密文查询的高效性。

    权利要求书

    权利要求书
    1.  一种网络信息系统中服务器端的个人隐私数据?;し椒?,其特征在于,在网络信息系统的客户端和服务器端之间布置一层中间软件,并且所述中间软件与客户端运行在同一台机单元上;在客户端的中间软件中设有一个“元数据”的内部数据结构单元,用于保存加密索引、查询转换、数据解密等过程中所需要的各类参数信息;
    中间软件的数据加密单元包括加密函数E和索引函数X,其中,加密函数E使用传统分组加密算法将用户通过客户端输入的各类隐私数据U转换为密文E(U),而索引函数X负责为隐私数据U建立合适的索引X(U),然后把密文E(U)连同相应的索引X(U)一起存放到服务器端数据库中;
    中间软件的查询转换单元将客户端所提交的定义在隐私数据U之上的数据库查询操作Q转化为能在服务器端数据库中相应的索引X(U)上正确执行的新查询QE,使得数据库能通过执行新查询QE来过滤掉数据表中大部分不满足数据库查询操作Q的非目标记录;
    中间软件的数据解密单元包括解密函数,数据解密单元负责解密服务器端所返回的密文E(U),并将密文E(U)解密后的隐私数据U存放到临时结果库中,作为数据筛选单元的输入;
    由中间软件的数据筛选单元重新执行客户端所提交的定义在隐私数据U上的原始查询Q,让数据库查询操作Q对存放到临时结果库中的隐私数据U重新进行一次筛选,进一步过滤掉不满足数据库查询 操作Q的非目标记录,从而得到精确的目标结果M,并把精确的目标结果M返回给客户端的用户。

    2.  根据权利要求1所述的一种网络信息系统中服务器端的个人隐私数据?;し椒?,其特征在于,在服务器端的数据库中,除了存储密文E(U)之外还附加存储了隐私数据U的索引X(U),用户在客户端提交的定义在明文隐私数据U上的原始查询Q是无法在密文E(U)上直接执行的,但可将定义在明文隐私数据U上的原始查询Q转换为定义在索引X(U)上的新查询QE,然后再提交给服务器端执行,该过程要求:新查询QE所返回的中间结果不仅包括原始查询Q的精确结果,还尽可能的接近精确结果,所以,如何把密文E(U)和索引X(U)存放到服务器端数据库中、如何为隐私数据U建立对应的密文E(U)和索引X(U)、如何将用户原始查询Q转换为新查询QE,以及如何通过执行新查询获取用户查询的精确结果,它们的解决方案如下:
    (1)把密文E(U)和索引X(U)存放到服务器端数据库中的方案为:首先要改造服务器端数据库中的原有关系模式R,以存储密文E(U)和索引X(U),假设在服务器端数据库中存在着一个原有关系模式R为R(A1,A2,...,Ar,...),其中,Ar存储的是隐私数据,因此,Ar是需要进行加密处理的敏感属性,则改造后的加密关系模式RE为其中:加密关系模式RE中的密文属性用于存储原有关系模式R中的敏感属性Ar加密后得到的密文E(U);在加密关系模式RE中新增的索引属性用来存储对应的索引XU),并且索引属性的类型与敏感属性Ar的类型保持一致,加密关系模式RE 中的其余属性与原有关系模式R中对应的原有属性保持一致;
    (2)为隐私数据U建立对应的密文E(U)和索引X(U)的方案为:在服务器端数据库中的加密关系模式RE建立完成后,数据加密单元运用加密函数E为隐私数据U建立对应的密文E(U),数据加密单元运用索引函数X为隐私数据U建立对应的索引X(U),并分别将密文E(U)和索引X(U)存储到加密关系模式RE中的密文属性和索引属性中;其中为隐私数据U建立对应的索引X(U)共需三个步骤:
    (步骤1)系统管理员预先离线手动设定的参数包括隐私数据U的单位值域和隐私数据U的安全系数μ,
    (步骤1.1)为各类隐私数据U设定单位值域的过程为:对于某类给定的隐私数据U,假定该隐私数据U最多包含个字符,则该类隐私数据U最多可以划分为n个字符单位,记作:
    (P1,P2,...,Pn),系统管理员需要为各个字符单位预先设定所有可能的取值,所有可能的取值即为隐私数据U的单位值域,记作:
    dom(P1),dom(P2),...,dom(Pn);
    (步骤1.2)为各类隐私数据U设定安全系数安全系数值越大,则表示生成的索引X(U)的安全性越好,安全系数的取值范围为:Πi=1n||dom(Pi)||≥μ≥1;]]>
    对于不同类别的隐私数据U需要分别设定单位值域和安全系数μ,并把单位值域和安全系数μ作为“元数据”保存在客户端;
    (步骤2)为各类隐私数据U自动构造索引函数X的过程为:首先确定隐私数据U各个字符单位的分区数,然后确定各个字符单位的 分区过程,最后为各个字符单位建立对应的分区分配标识,并把分区数、分区过程和分区分配标识的信息作为“元数据”保存在可信任的客户端中;
    (步骤2.1)根据为各类隐私数据U预先设定的单位值域和安全系数μ,为隐私数据U的各个字符单位Pi(i=1,2,...,n)自动分配一个分区数num(Pi),该分区数满足三个条件:
    一是各个字符单位的分区数必须为正整数,即
    二是各个字符单位的分区数必须小于其单位值域的大小,即||dom(Pi)||≥num(Pi);
    三是各个字符单位的分区数的连乘与安全系数μ的积,必须小于各个字符单位值域大小的连乘,即Πi=1n||dom(Pi)||≥μΠi=1nnum(Pi);]]>
    (步骤2.2)根据分区数num(Pi),按照近似等宽策略或近似等深策略的划分过程,将各隐私数据U的单位值域dom(Pi)划分成若干个子集,该子集即为分区,记作:该分区要求满足四个条件:
    一是各个分区不能为空,即
    二是各个分区互不相交,即

    三是所有分区的并集等于单位值域,即
    四是分区中任意元素的值大于分区中所有元素的值,即

    (步骤2.3)从划分得到的各个分区中分别分配一个字符值作为分区的标识,该标识要求满足两个条件:
    一是对于来自同一个单位值域的任意两个分区标识互不相等,即
    二是任意单位值域的任意分区的标识值均落在同一个取值范围,且满足:
    ,其中,θ为随机数;
    至此,步骤2实际上构造了n个映射函数:X(1),X(2),...,X(n),这些映射函数均能将任意给定的字符u映射为一个新的字符:

    (步骤3)对于用户通过客户端所提交的一条隐私数据U,其形式为:U=u1u2...um(m≤n),按照如下步骤将其映射为索引值;
    (步骤3.1)将隐私数据U中的各个字符ui(i=1,2,...,m),按照其在字符单位Pi中所属的分区,将其映射为一个新的字符:X(i)(ui);
    (步骤3.2)隐私数据U的索引值为:
    X(U)=X(1)(u1)X(2)(u2)...X(m)(um);
    (3)将用户原始查询Q转换为新查询QE的方案为:查询转换单元应用查询转换方案对用户原始查询Q进行转换,生成能够在服务器端的索引上正确执行的新查询QE;定义在文本型隐私数据上的原始查询Q的查询形式包括:精确查询、相似查询和范围查询,它们的转换过程如下:
    (3.1)精确查询条件转换;精确查询条件的形式一般为:R.Ai=U,其中,U为隐私数据的文本常量,R.Ai是涉及隐私数据U的敏感属性Ar,精确查询条件的转换过程需要使用相应的索引函数X对文本常量做变换,若文本常量是U=u1u2...um(m≤n),则精确查询条件转换为:
    trans(R.Ai=U)⇒RE.Aix=X(1)(u1)X(2)(u2)...X(m)(um);]]>
    其中,trans表示转换函数;
    (3.2)基于通配符“_”的相似查询条件转换;其一般形式为:
    R.AiLIKE U_V(其中,LIKE表示“相似”,为SQL关键字),若文本常量为:
    U=u1u2...um,V=v1v2...vz(m+z≤n-1;0≤z;0≤m),
    则相似查询条件转换为:
    trans(R.AiLIKEU_V)⇒RE.AixLIKEUE_VE,]]>
    其中:UE=X(1)(u1)X(2)(u2)...X(m)(um)VE=X(m+2)(v1)X(m+3)(v2)...X(m+z+1)(vz);]]>
    (3.3)基于通配符“[]”的相似查询条件转换,其一般形式为:R.AiLIKEU[L]V,若文本常量U=u1u2...um,V=v1v2...vz,字符列表 L=l1l2...lt,则相似查询条件转换为:
    trans(R.AiLIKEU[L]V)⇒RE.AixLIKEUE[LE]VE]]>
    其中:UE=X(1)(u1)X(2)(u2)...X(m)(um)LE=X(m+1)(l1)X(m+1)(l2)...X(m+1)(lt)VE=X(m+2)(v1)X(m+3)(v2)...X(m+z+1)(vz),]]>
    (3.4)基于通配符“%”的相似查询条件转换,其一般形式为:R.Ai LIKE U%V,若文本常量U=u1u2...um,V=v1v2...vz,则相似查询条件转换为:trans(R.AiLIKEU%V)⇒RE.AixLIKEUE_V1EOR,]]>
    RE.AixLIKEUE__V2EOR...OR,]]>

    其中:UE=X(1)(u1)X(2)(u2)...X(m)(um)V1E=X(m+2)(v1)X(m+3)(v2)...X(m+z+1)(vz)V2E=X(m+3)(v1)X(m+4)(v2)...X(m+z+2)(vz)...Vn-m-zE=X(n-z+1)(v1)X(n-z+2)(v2)...X(n)(vz),]]>
    特殊地,如果(z=0),则相似查询条件可简单地转换为:
    trans(R.AiLIKEU%)⇒RE.AixLIKEX(1)(u1)X(2)(u2)...X(m)(um)%,]]>
    特殊地,如果(m=0),则相似查询条件可简单地转换为:
    trans(R.AiLIKE%V)⇒RE.AixLIKE%X(n-z+1)(v1)X(n-z+2)(v2)...X(n)(vz),]]>
    (3.5)范围查询条件转换,范围查询条件的一般形式为:R.Ai≥U,若U=u1u2...um,记字符单位Pi(i=1,2,...,n)中,编码值最大字符为vi,即则范围查询条件转换为:
    trans(R.Ai≥U)⇒trans(R.AiLIKE[(u1+1)-v1]%)OR,]]>
    trans(R.Ai LIKE u1[(u2+1)-v2]%)OR,
    trans(R.Ai LIKE u1u2[(u3+1)-v3]%)OR...OR,
    trans(R.Ai LIKE u1u2...um-1[um-vm]%);
    (4)获取用户查询精确结果的方案通过两阶段数据查询过程实现:首先,在服务器端执行数据查询的粗糙查询,即让服务器端通过在后台数据库上执行查询转换单元所生成的新查询,过滤掉绝大部分的非目标记录,从而获得用户查询的一个粗糙结果集,并把粗糙结果集返回给系客户端;然后,数据解密单元基于保存在客户端中的“元数据”,对粗糙结果集进行解密,并将得到的明文记录集写入到临时结果库中;最后,在客户端执行数据查询的精确查询,即让数据筛选单元在临时结果库上再执行一次用户查询,把不符合条件的非目标记录进一步过滤掉,从而得到用户查询的精确结果集,并把精确结果集返回给用户。

    说明书

    说明书一种网络信息系统中服务器端的个人隐私数据?;し椒?
    技术领域
    本发明涉及网络个人隐私信息?;ぜ际趿煊?,尤其涉及一种网络信息系统中服务器端的个人隐私数据?;し椒?。
    背景技术
    随着网络技术以及信息技术的迅速发展,网络信息系统得到了越来越广泛的应用。然而,随着信息化进程的不断推进,网络信息系统的后台数据库中汇集了大量的个人隐私数据,如身份证号码、个人姓名、个人电话、银行帐号等。显然,这些数据信息是十分敏感而隐私的,如果不慎泄露,势必将对个人隐私数据安全构成严重威胁。
    图1展示了网络信息系统的总体框架结构,其中,网络信息系统的客户端被认为是可信的,因为已有的安全策略均可有效地阻止外部非法用户通过客户端访问到服务器端中的个人隐私数据。然而,网络信息系统的服务器端却是不可信的,例如,数据库管理员或者侵入服务器端的黑客均可毫无阻碍地访问到服务器端数据库中的个人敏感数据。据统计,频繁发生的个人隐私数据泄密事件均是由于网络信息系统内部工作人员的监守自盗而引起。网络信息系统的个人隐私数据的?;の侍?,引起人们普遍的关注。
    为了保证个人隐私数据的安全性,网络信息系统采用了很多数据 加密方法的安全策略,如用户身份认证和授权访问控制等。虽然这两类方法的安全策略均在很大程度上确保了网络信息系统中个人隐私数据的安全性。但是,所有这些方法的安全策略均只针对客户端的外部非法用户访问网络信息系统中的个人隐私数据,而这些方法的安全策略确无法阻止网络信息系统的服务器端的内部用户(数据库管理员)访问网络信息系统中的个人隐私数据。
    目前,国内外关于数据加密方法的安全策略研究很多,但是这些方法均不是针对网络信息系统的个人隐私数据的?;の侍舛派杓频?。它们中的绝大部分,在数据查询时,要求对密文进行解密,然后在解密后的数据上再执行查询,不能满足网络信息系统中的数据查询的性能要求。虽然也有一些数据加密方法支持密文查询,但均存在诸多缺陷,如安全性较差,或难以支持各类常见文本查询,因而难以直接运用它们解决网络信息系统中个人隐私数据的加密查询问题。
    发明内容
    本发明是为了解决现有网络信息系统中对个人隐私数据?;す讨写嬖谀岩灾С指骼喑<谋静檠?,查询性能差,安全性较差的不足,提供一种能支持各类常见文本查询、查询性能高、安全性好的一种网络信息系统中服务器端的个人隐私数据?;し椒?。
    为了实现上述目的,本发明采用以下技术方案:
    一种网络信息系统中服务器端的个人隐私数据?;し椒?,在网络信息系统的客户端和服务器端之间布置一层中间软件,并且所述中间软件与客户端运行在同一台机单元上;在客户端的中间软件中设有一 个“元数据”的内部数据结构单元,用于保存加密索引、查询转换、数据解密等过程中所需要的各类参数信息;
    中间软件的数据加密单元包括加密函数E和索引函数X,其中,加密函数E使用传统分组加密算法将用户通过客户端输入的各类隐私数据U转换为密文E(U),而索引函数X负责为隐私数据U建立合适的索引X(U),然后把密文E(U)连同相应的索引X(U)一起存放到服务器端数据库中;
    中间软件的查询转换单元将客户端所提交的定义在隐私数据U之上的数据库查询操作Q转化为能在服务器端数据库中相应的索引X(U)上正确执行的新查询QE,使得数据库能通过执行新查询QE来过滤掉数据表中大部分不满足数据库查询操作Q的非目标记录;
    中间软件的数据解密单元包括解密函数,数据解密单元负责解密服务器端所返回的密文E(U),并将密文E(U)解密后的隐私数据U存放到临时结果库中,作为数据筛选单元的输入;
    由中间软件的数据筛选单元重新执行客户端所提交的定义在隐私数据U上的原始查询Q,让数据库查询操作Q对存放到临时结果库中的隐私数据U重新进行一次筛选,进一步过滤掉不满足数据库查询操作Q的非目标记录,从而得到精确的目标结果M,并把精确的目标结果M返回给客户端的用户。
    本方案通过中间软件能支持各类常见文本查询、查询性能高、安全性好,并通过“元数据”的数据结构来保存各类隐私数据在存储、解密转换以及查询过程中的各类信息,使得本方案对常见文本数据的 查询性能高、查询准确高效且简单灵活、安全性好。
    作为优选,在服务器端的数据库中,除了存储密文E(U)之外还附加存储了隐私数据U的索引X(U),用户在客户端提交的定义在明文隐私数据U上的原始查询Q是无法在密文E(U)上直接执行的,但可将定义在明文隐私数据U上的原始查询Q转换为定义在索引X(U)上的新查询QE,然后再提交给服务器端执行,该过程要求:新查询QE所返回的中间结果不仅包括原始查询Q的精确结果,还尽可能的接近精确结果,所以,如何把密文E(U)和索引X(U)存放到服务器端数据库中、如何为隐私数据U建立对应的密文E(U)和索引X(U)、如何将用户原始查询Q转换为新查询QE,以及如何通过执行新查询获取用户查询的精确结果,它们的解决方案如下:
    (1)把密文E(U)和索引X(U)存放到服务器端数据库中的方案为:首先要改造服务器端数据库中的原有关系模式R,以存储密文E(U)和索引X(U),假设在服务器端数据库中存在着一个原有关系模式R为R(A1,A2,...,Ar,...),其中,Ar存储的是隐私数据,因此,Ar是需要进行加密处理的敏感属性,则改造后的加密关系模式RE为其中:加密关系模式RE中的密文属性用于存储原有关系模式R中的敏感属性Ar加密后得到的密文E(U);在加密关系模式RE中新增的索引属性用来存储对应的索引X(U),并且索引属性的类型与敏感属性Ar的类型保持一致,加密关系模式RE中的其余属性与原有关系模式R中对应的原有属性保持一致;
    (2)为隐私数据U建立对应的密文E(U)和索引X(U)的方案为: 在服务器端数据库中的加密关系模式RE建立完成后,数据加密单元运用加密函数E为隐私数据U建立对应的密文E(U),数据加密单元运用索引函数X为隐私数据U建立对应的索引X(U),并分别将密文E(U)和索引X(U)存储到加密关系模式RE中的密文属性和索引属性中;其中为隐私数据U建立对应的索引X(U)共需三个步骤:
    (步骤1)系统管理员预先离线手动设定的参数包括隐私数据U的单位值域和隐私数据U的安全系数μ,
    (步骤1.1)为各类隐私数据U设定单位值域的过程为:对于某类给定的隐私数据U,假定该隐私数据U最多包含个字符,则该类隐私数据U最多可以划分为n个字符单位,记作:
    (P1,P2,...,Pn),系统管理员需要为各个字符单位预先设定所有可能的取值,所有可能的取值即为隐私数据U的单位值域,记作:
    dom(P1),dom(P2),...,dom(Pn);
    (步骤1.2)为各类隐私数据U设定安全系数安全系数值越大,则表示生成的索引X(U)的安全性越好,安全系数的取值范围为:Πi=1n||dom(Pi)||≥μ≥1;]]>
    对于不同类别的隐私数据U需要分别设定单位值域和安全系数μ,并把单位值域和安全系数μ作为“元数据”保存在客户端;
    (步骤2)为各类隐私数据U自动构造索引函数X的过程为:首先确定隐私数据U各个字符单位的分区数,然后确定各个字符单位的分区过程,最后为各个字符单位建立对应的分区分配标识,并把分区数、分区过程和分区分配标识的信息作为“元数据”保存在可信任的 客户端中;
    (步骤2.1)根据为各类隐私数据U预先设定的单位值域和安全系数μ,为隐私数据U的各个字符单位Pi(i=1,2,...,n)自动分配一个分区数num(Pi),该分区数满足三个条件:
    一是各个字符单位的分区数必须为正整数,即
    二是各个字符单位的分区数必须小于其单位值域的大小,即||dom(Pi)||≥num(Pi);
    三是各个字符单位的分区数的连乘与安全系数μ的积,必须小于各个字符单位值域大小的连乘,即Πi=1n||dom(Pi)||≥μΠi=1nnum(Pi);]]>
    (步骤2.2)根据分区数num(Pi),按照近似等宽策略或近似等深策略的划分过程,将各隐私数据U的单位值域dom(Pi)划分成若干个子集,该子集即为分区,记作:该分区要求满足四个条件:
    一是各个分区不能为空,即
    二是各个分区互不相交,即

    三是所有分区的并集等于单位值域,即
    四是分区中任意元素的值大于分区中所有元素的值,即

    (步骤2.3)从划分得到的各个分区中分别分配一个字符值作为分区的标识,该标识要求满足两个条件:
    一是对于来自同一个单位值域的任意两个分区标识互不相等,即
    二是任意单位值域的任意分区的标识值均落在同一个取值范围,且满足:
    ,其中,θ为随机数;
    至此,步骤2实际上构造了n个映射函数:X(1),X(2),...,X(n),这些映射函数均能将任意给定的字符u映射为一个新的字符:

    (步骤3)对于用户通过客户端所提交的一条隐私数据U,其形式为:U=u1u2...um(m≤n),按照如下步骤将其映射为索引值;
    (步骤3.1)将隐私数据U中的各个字符ui(i=1,2,...,m),按照其在字符单位Pi中所属的分区,将其映射为一个新的字符:X(i)(ui);
    (步骤3.2)隐私数据U的索引值为:
    X(U)=X(1)(u1)X(2)(u2)...X(m)(um);
    (3)将用户原始查询Q转换为新查询QE的方案为:查询转换单元 应用查询转换方案对用户原始查询Q进行转换,生成能够在服务器端的索引上正确执行的新查询QE;定义在文本型隐私数据上的原始查询Q的查询形式包括:精确查询、相似查询和范围查询,它们的转换过程如下:
    (3.1)精确查询条件转换;精确查询条件的形式一般为:R.Ai=U,其中,U为隐私数据的文本常量,R.Ai是涉及隐私数据U的敏感属性Ar,精确查询条件的转换过程需要使用相应的索引函数X对文本常量做变换,若文本常量是U=u1u2...um(m≤n),则精确查询条件转换为:
    trans(R.Ai=U)⇒RE.Aix=X(1)(u1)X(2)(u2)...X(m)(um);]]>
    其中,trans表示转换函数;
    (3.2)基于通配符“_”的相似查询条件转换;其一般形式为:
    R.Ai LIKE U_V(其中,LIKE表示“相似”,为SQL关键字),若文本常量为:
    U=u1u2...um,V=v1v2...vz(m+z≤n-1;0≤z;0≤m),
    则相似查询条件转换为:
    trans(R.AiLIKEU_V)⇒RE.AixLIKEUE_VE,]]>
    其中:UE=X(1)(u1)X(2)(u2)...X(m)(um)VE=X(m+2)(v1)X(m+3)(v2)...X(m+z+1)(vz);]]>
    (3.3)基于通配符“[]”的相似查询条件转换,其一般形式为:R.Ai LIKE U[L]V,若文本常量U=u1u2...um,V=v1v2...vz,字符列表L=l1l2...lt,则相似查询条件转换为:
    trans(R.AiLIKEU[L]V)⇒RE.AixLIKEUE[LE]VE]]>
    其中.UE=X(1)(u1)X(2)(u2)...X(m)(um)LE=X(m+1)(l1)X(m+1)(l2)...X(m+1)(lt)VE=X(m+2)(v1)X(m+3)(v2)...X(m+z+1)(vz),]]>
    (3.4)基于通配符“%”的相似查询条件转换,其一般形式为:R.Ai LIKE U%V,若文本常量U=u1u2...um,V=v1v2...vz,则相似查询条件转换为:trans(R.AiLIKEU%V)⇒RE.AixLIKEUE_V1EOR,]]>RE.AixLIKEUE__V2EOR...OR,]]>

    其中:UE=X(1)(u1)X(2)(u2)...X(m)(um)V1E=X(m+2)(v1)X(m+3)(v2)...X(m+z+1)(vz)V2E=X(m+3)(v1)X(m+4)(v2)...X(m+z+2)(vz)...Vn-m-zE=X(n-z+1)(v1)X(n-z+2)(v2)...X(n)(vz),]]>
    特殊地,如果(z=0),则相似查询条件可简单地转换为:
    trans(R.AiLIKEU%)⇒RE.AixLIKEX(1)(u1)X(2)(u2)...X(m)(um)%,]]>
    特殊地,如果(m=0),则相似查询条件可简单地转换为:
    trans(R.AiLIKE%V)⇒RE.AixLIKE%X(n-z+1)(v1)X(n-z+2)(v2)...X(n)(vz),]]>
    (3.5)范围查询条件转换,范围查询条件的一般形式为:R.Ai≥U,若U=u1u2...um,记字符单位Pi(i=1,2,...,n)中,编码值最大字符为vi,即则范围查询条件转换为:
    trans(R.Ai≥U)⇒trans(R.AiLIKE[(u1+1)-v1]%)OR,]]>
    trans(R.Ai LIKE u1[(u2+1)-v2]%)OR,
    trans(R.Ai LIKE u1u2[(u3+1)-v3]%)OR...OR,
    trans(R.Ai LIKE u1u2...um-1[um-vm]%);
    (4)获取用户查询精确结果的方案通过两阶段数据查询过程实现:首先,在服务器端执行数据查询的粗糙查询,即让服务器端通过在后台数据库上执行查询转换单元所生成的新查询,过滤掉绝大部分的非目标记录,从而获得用户查询的一个粗糙结果集,并把粗糙结果集返回给系客户端;然后,数据解密单元基于保存在客户端中的“元数据”,对粗糙结果集进行解密,并将得到的明文记录集写入到临时结果库中;最后,在客户端执行数据查询的精确查询,即让数据筛选单元在临时结果库上再执行一次用户查询,把不符合条件的非目标记录进一步过滤掉,从而得到用户查询的精确结果集,并把精确结果集返回给用户。
    本方案通过改造服务器端数据库模式、通过为隐私数据U建立对应的密文E(U)和索引X(U)、通过数据查询转换和两阶段数据查询,使得本方案能够有效地支持各类常见的文本的查询,并且查询准确高效、简单灵活、安全性好。
    本发明能达到如下效果:
    1、本发明是在网络信息系统的客户端和服务器端之间布置一层中间软件,即隐私数据?;と砑?。该中间软件与可信的网络信息系统的客户端运行在同一台机单元上,负责实施本发明所提供的个人隐私数据?;な迪址椒?,本发明在网络信息系统中对个人隐私数据?;す讨?,能够支持各类常见文本查询,查询性能灵活,安全性好,还能够有效地解决网络信息系统的个人隐私?;の侍?,无需对原有系统进 行二次开发,且基本不影响原有系统的数据查询效率。
    2.本发明不同于传统加密算法,索引函数是多对一映射,即不同的隐私数据可被映射为同一索引值。因而,即使攻击者已经成功破解了索引函数,即攻击者成功获取保存在可信客户端中的所有“元数据”信息(实际上,破解索引函数也并不容易),也难以根据索引值恢复出原始的隐私数据,从而保证了索引数据的安全性,能很好地抵抗常见的外部攻击,如统计攻击、已知明文攻击等。因而,相比已有技术,具有更好的安全性。
    3.基于本发明所生成的索引,各类定义在隐私数据之上的原始文本查询均能够有效地转换成定义在相应索引上的新查询,从而,使得新查询可以在系统服务器端执行?;诒痉⒚魃杓频乃饕桨?,常见的文本查询均能正确转换为索引上的新查询,包括精确查询、相似查询和范围查询等。因而,相比已有技术,能够支持更多的文本查询,具有更好的查询有效性。
    4.本发明通过执行定义在索引上的新查询,服务单元能够过滤掉数据库中不满足条件的绝大部分非目标记录。根据实验,对于所有的精确查询,99%以上的非目标记录均能在服务器端被过滤掉;对于绝大多数的相似查询和范围查询,90%以上的非目标记录均能在服务器端被过滤掉。因为加密而导致的用户查询执行效率的下降比例,近似地反比于服务器端对非目标记录的过滤比例。因而,本发明具有较好的高效性。
    附图说明
    图1是现有网络信息系统的一种总体框架结构示意图。
    图2是本发明网络信息系统个人隐私数据?;し椒ǖ囊恢肿芴蹇蚣芙峁故疽馔?。
    图3是本发明一种敏感关系模式的改造过程示意图。
    具体实施方式
    下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
    实施例:一种网络信息系统中服务器端的个人隐私数据?;し椒?。参见图2所示,针对网络信息系统中个人隐私?;の侍?,本实施例所提供的解决方案为,在网络信息系统的客户端和服务器端之间布置一层中间软件,即个人隐私数据?;と砑?。该中间软件与可信的网络信息系统的客户端运行在同一台机单元上,负责实施本发明所提供的个人隐私数据?;な迪止?,以完成两项功能:
    一是将外部用户通过网络信息系统的客户端输入的隐私数据加密成密文后存放到网络信息系统的服务器端的后台数据库中,从而有效防止网络信息系统内部用户窃取后台数据库中的个人隐私数据,确保了个人隐私数据信息的安全性。
    二是为各类个人隐私数据建立合适的索引,并连同密文一起存放到服务器端数据库中,以支持各类个人隐私数据的查询。索引不同于密文,后台数据库可以在索引上直接执行各类个人隐私数据的查询,而无需解密密文,从而提高了网络中客户端外部用户对个人隐私数据的查询效率。本实施例中的隐私数据即为个人隐私数据。
    图2展示了本发明所提供的网络信息系统个人隐私?;し椒ǖ淖芴蹇蚣?。它主要由四大功能部件组成,即数据加密单元、查询转换单元、数据解密单元和数据筛选单元。
    1.数据加密单元:主要由加密函数E和索引函数X组成,其中,加密函数E使用传统分组加密算法将用户提交的隐私数据U转换为密文E(U),而索引函数X负责为隐私数据U据建立索引X(U)。最后密文E(U)连同相应的索引X(U)一起,存放到网络信息系统的服务器端的后台数据库中,存放到网络信息系统的服务器端的数据库服务器中。
    2.查询转换单元:主要负责将网络信息系统的客户端所提交的定义在隐私数据U之上的数据库查询操作Q(它为SQL查询)转化为能在服务器端数据库中相应的索引X(U)上正确执行的新查询QE,使得数据库可以通过执行新查询QE来过滤掉数据表中大部分的非目标记录(即不满足数据库查询操作Q的记录)。
    3.数据解密单元:主要由解密函数组成,负责解密网络信息系统的服务器端所返回的密文RE(密文RE由服务器端通过在索引上执行查询转换单元所生成的新查询QE而得到),并将解密后的隐私数据存放到临时结果库中,作为数据筛选单元的输入。
    4.数据筛选单元:重新执行客户端所提交的定义在隐私数据上的原始查询Q,对临时结果库中的隐私数据重新进行一次筛选,进一步过滤掉不满足数据库查询操作Q的非目标记录,从而得到精确的目标结果M,返回给网络信息系统的客户端的外部用户。
    此外,在系统客户端中,还需要一个“元数据”的内部数据结构,用于保存密文、索引、查询转换、数据解密等过程中所需要的各类参数信息。
    从图2可以看出,在网络信息系统的服务器端数据库中,除了存储密文之外,还附加存储了隐私数据的索引。在网络信息系统的服务器端,用户提交的定义在隐私数据之上的数据库查询操作Q是无法在密文上直接执行的,但可以转换为定义在索引之上的新查询QE来执行。为了保证查询有效性和高效性,要求:系统服务器端通过执行新查询QE所返回的中间结果不仅必须蕴含数据库查询操作Q的精确结果(以保证查询有效性),而且还应该尽可能地接近精确结果(以保证查询高效性)。
    因此,如何为网络信息系统中的各类隐私数据设计合理有效的加密索引过程,以及如何将定义在隐私数据上的各类查询操作正确转换为定义在索引上的新查询QE(即查询转换过程),以确保隐私数据的安全性和查询的高效性,是本发明的核心关键。本发明的主要内容正是围绕着两者而进行(即图2中的数据加密单元和查询转换单元)。
    (1)密文存储过程:
    首先,改造网络信息系统的服务器端后台数据库中的原有关系模式,以存储数据加密单元为个人隐私数据所生成的密文和索引。
    假设在网络信息系统的服务器端数据库中存在着一个关系模式
    R(A1,A2,...,Ar,...),
    其中,Ar存储个人隐私数据的密文,因而,是需要进行加密处理 的敏感属性。则改造后的加密关系模式为
    RE(A1,A2,...,ArE,ArX,...),]]>其中:
    1.加密关系模式RE中的密文属性(其类型为变长二进制型-VARBINARY)用于存储由R中的敏感属性Ar加密后得到的密文。
    2.加密关系模式RE中新增索引属性用于存储对应的索引(其类型与敏感属性Ar保持一致,一般为变长文本型-VARCHAR)。
    3.加密关系模式RE中其余属性与R中的原有属性保持一致。
    例子1)假设信息系统服务器端后台数据库中存在一个用户信息表:PERSONS(NO,PHONE,…),其中,属性PHONE涉及个人隐私,因而需要加密。则改造后的用户信息表为:PERSONS_E(NO,PHONE_E,PHONE_X,…),其中,属性PHONE E存储由敏感属性PHONE加密后得到的密文,而属性PHONE_X则存储相应的索引。具体请见图3所示。
    (2)数据加密索引过程:
    在网络信息系统后台数据库中的敏感关系模式改造完成后,数据加密单元负责实施个人隐私加密索引过程,运用加密函数E将存储有个人隐私信息的敏感属性Ar加密为密文并运用索引函数X为其建立索引
    数据加密单元的工作流程如下:在外部用户通过客户端提交个人隐私数据后,首先,数据加密单元对插入语句(INSERT语句)进行词法分析,提取其中的隐私数据;然后,调用加密函数和索引函数对隐私数据进行加密索引;最后,重新生成新的数据插入语句,提交给系统服务端,从而将密文和索引添加到后台数据库中。
    例子2)假定外部用户通过客户端提交了一条定义在用户信息表(PERSONS)上的数据插入语句,如下:
    INSERT INTO PERSONS(NO,PHONE,…)VALUES(1,‘13587898721’,…);
    则数据加密单元将重新构造生成一条定义在改造后的用户信息表(PERSONS_E)上的新的数据插入语句:
    INSERT INTO PERSONS_E(NO,PHONE_E,PHONE_X,…)
    VALUES(1,E(‘13587898721’),X(‘13587898721’)…)。
    因此,数据加密单元的核心组件是:为各类个人隐私数据,分别提供相应的加密函数和索引函数。加密函数可以直接采用传统的分组加密算法(如AES、DES算法等)。目前分组加密算法已非常成熟,可以很好地保证密文的安全性。
    为此,本发明主要着重索引函数的建立过程。为各类个人隐私数据,建立索引函数,需要三个步骤:
    步骤1.系统管理员为各类个人隐私数据,预先手动设定参数。
    步骤2.基于这些参数,为各类个人隐私数据,系统自动构造其索引函数。
    步骤3.对于用户给定的任意隐私数据,系统自动生成其对应的索引数据。
    其中,步骤1和步骤2是用户提交个人隐私数据之前,预先离线完成;而步骤3则是用户提交个人隐私数据之后,实时在线完成。以下详细说明这三个步骤。
    步骤1)系统管理员预先为各类个人隐私数据,手动设定两类参数:隐私数据单位值域和个人隐私安全系数。
    步骤1.1)为各类个人隐私数据,设定单位值域。对于某类给定的个人隐私数据,假定它最多包含个字符,则该类个人隐私数据最多可以划分为n个字符单位,记作:(P1,P2,...,Pn)。系统管理员需要为各个字符单位预先设定所有可能的取值(称作单位值域),记作:dom(P1),dom(P2),...,dom(Pn)。
    例子3)手机号码由11个字符构成,因而可划分成11个单位:(P1,P2,...,P11)。由于手机号码的起始两位字符只能是13、15或18,可设定各个字符单位的值域如下:
    dom(P1)={1};dom(P2)={3,5,8};
    dom(P3)=dom(P4)...=dom(P11)={0,1,2,...,9}。
    步骤1.2)为各类个人隐私数据,设定安全系数其值越大,则表示生成的索引的安全性越好。安全系数的取值范围为:Πi=1n||dom(Pi)||≥μ≥1.]]>
    例子4)对于手机号码,按照例子3所设定的单位值域,其隐私安全参数的取值范围为:1×3×109≥μ≥1,因而,可设定:μ=10。
    以上的参数设定过程,是在网络信息系统隐私?;す陶嬲诵兄坝上低彻芾碓痹は韧瓿?,并且对于不同类别的个人隐私数据,需要分别设定单位值域和安全系数(一般互不相同)。为了保证索引函数的正确性,系统管理员需要设定正确的参数。这些参数均作为“元数据”保存在系统客户端。
    步骤2)为各类个人隐私数据,自动构造索引函数。首先,确定隐私数据各个字符单位的分区数;然后,确定各单位的分区过程;最后,为各单位的各分区分配标识。
    步骤2.1)根据步骤1.1为个人隐私数据所设定的单位值域,以及步骤1.2所设定的安全系数,为隐私数据的各个字符单位Pi(i=1,2,...,n)自动分配一个分区数num(Pi),要求满足如下三个条件:
    1.各个字符单位的分区数必须为正整数,即
    2.各个字符单位的分区数必须小于其单位值域的大小,即||dom(Pi)||≥num(Pi)。
    3.各个字符单位的分区数的连乘与安全系数的积,必须小于各个字符单位值域大小的连乘,即Πi=1n||dom(Pi)||≥μΠi=1nnum(Pi).]]>
    例子5)对于手机号码,按照例子3的单位值域设定和例子4的安全系数设定,其十一个字符单位的分区数可分别设定如下:
    num(P1)=1;num(P2)=3;
    num(P3)=num(P4)=num(P5)=num(P6)=5;
    num(P7)=num(P8)=num(P9)=num(P10)=num(P11)=10。
    隐私数据各个字符单位分区数的设定过程并不是唯一的。本发明使用算法1为个人隐私数据的各个字符单位,自动设定分区数,见表1所示。
    表1:个人隐私数据的各个字符单位自动设定的分区数


    步骤2.2)根据步骤2.1为字符单位所设定的分区数,按照一定的划分策略(如近似等宽策略或近似等深策略)将各单位值域dom(Pi),划分成若干个子集(称作分区),记作:
    B1(i),B2(i),...,Bm(i)(m=num(Pi)),]]>要求满足如下四个条件:
    1.各个分区不能为空,即
    2.各个分区互不相交,即

    3.所有分区的并集等于单位值域,即
    4.分区中任意元素的值大于分区中所有元素的值,即

    例子6)按照例子5所设定的单位分区数,可以采用近似等宽策略将手机号码的十一个单位值域分别划分成一系列的分区,如表2所 示。
    表2:一种电话号码的单位分区过程和分区标识分配过程

    表3:设定个人隐私数据各个单位的分区


    步骤2.3)为步骤2.2划分得到的各个分区Bk(i)(k=1,2,...,num(Pi)),]]>分别分配一个字符值作为的标识,要求满足如下两个条件:
    1.对于来自同一个单位的任意两个分区,标识互不相等,即
    2.任意单位的任意分区的标识值均落在同一个取值范围,且满足
    ,其中,θ为随机数。
    例子7)对于手机号码,按照例子6为各个单位值域所确定的分区过程,可以为各个分区分配如表2所示的标识(见表列“标识”)。
    表4:设定个人隐私数据各个单位各个分区的标识


    个人隐私数据各个字符单位的分区过程以及分区标识的分配过程,均不是唯一的。本发明使用算法2为个人隐私数据的各个字符单位,自动设定分区,使用算法3为各个分区自动分配标识。这些分区信息和标识信息均作为“元数据”保存在系统客户端。
    至此,步骤2实际上构造了n个映射函数:X(1),X(2),...,X(n)。它们均可以将任意给定的字符u映射为一个新的字符:

    步骤3)对于用户通过客户端所提交的一条隐私数据:U=u1u2...um(m≤n),可以按照如下步骤将其映射为索引值。
    步骤3.1)将隐私数据中的各个字符ui(i=1,2,...,m),按照其在字符单位Pi中所属的分区,将其映射为一个新的字符:X(i)(ui)。
    步骤3.2)隐私数据的索引值为:X(U)=X(1)(u1)X(2)(u2)...X(m)(um)。
    例子8)对于给定的手机号码:U=13587898721,按照表2所设定的单位分区过程和分区标识分配过程,该手机号码被映射为索引值:
    X(13587898721)=X(1)(1)X(2)(3)X(3)(5)...X(11)(1)=90035961222。
    (3)数据查询转换过程:
    查询转换单元负责应用查询转换方案对用户查询进行转换,生成能够在服务器端的索引上正确执行的新查询。该过程要求:新查询在索引上的执行结果必须是用户查询精确结果的超集(即图2中步骤5所得到的密文记录集,必须包含所有的目标记录)。
    查询转换单元的工作流程如下:在外部用户通过客户端提交数据查询后,首先,对用户查询进行语法分析,提取所有基本查询条件;然后,对于各个基本查询条件,若它与敏感属性相关,则应用查询转换方案将它转换为定义在加密关系模式中相应索引属性上的新条件;最后,基于查询语句的语法结构,重新合并各个基本查询条件,生成新查询。
    例子9)假定外部用户通过客户端提交了一条定义在用户信息表(PERSONS)上的数据查询语句,如下:
    SELECT P.NO,P.PHONE FROM PERSONS P WHERE P.PHONE=‘13587898721’
    则查询转换单元重新生成一条新的定义在加密用户信息表上的数据查询语句:
    SELECT P.NO,P.PHONE_X FROM PERSONS_E P
    WHERE P.PHONE_X=‘90035961222’。
    因此,查询转换单元的核心组件是:一系列针对各种基本查询条件的转换过程。文本型数据(个人隐私数据为文本型)的基本查询形 式有:精确查询、相似查询和范围查询,它们的查询转换过程各不相同。但同样要求:对于服务器端数据库中的记录,若其敏感属性值满足原查询条件,则其索引属性值必须满足转换生成的新查询条件,使得新查询的结果是用户查询精确结果的超集?;诖艘?,以下分别给出它们的转换过程。
    1)精确查询条件转换过程:精确查询条件的形式一般为:R.Ai=U,其中,U为文本常量,R.Ai是涉及个人隐私的敏感属性。精确查询条件的转换过程比较简单,只需要使用相应的索引函数把对文本常量做变换即可。若文本常量U=u1u2...um(m≤n),则精确查询条件转换如下:
    trans(R.Ai=U)⇒RE.Aix=X(1)(u1)X(2)(u2)...X(m)(um)]]>
    例子10)假设存在一个定义在例子1给出的用户信息表上的精确查询条件如下:
    PERSONS.PHONE=‘13587898721’。
    按照表2所设定的单位分区过程和分区标识分配过程,转换后的新查询条件如下:
    PERSONS_E.PHONE_X=‘90035961222’。
    基于相似查询条件涉及的SQL通配符主要有三类:
    1.“%”(表示匹配任意多个字符)。
    2.“_”(表示仅匹配一个字符)。
    3.“[CharList]”(表示匹配字符列表CharList中的任何单一字符)。
    以下,分别给出基于它们的相似查询条件的转换过程。
    2)基于通配符“_”的相似查询条件转换。其一般形式为:R.Ai LIKE U_V,若文本常量U=u1u2...um,V=v1v2...vz(m+z≤n-1;0≤z;0≤mm),则查询条件转换如下:
    trans(R.AiLIKEU_V)⇒RE.AixLIKEUE_VE]]>
    其中:UE=X(1)(u1)X(2)(u2)...X(m)(um)VE=X(m+2)(v1)X(m+3)(v2)...X(m+z+1)(vz).]]>
    例子11)假设存在一个定义在例子1给出的用户信息表上的相似查询条件如下:
    PERSONS.PHONE LIKE‘1358789_721’。
    按照表2设定的子段分区过程和分区标识分配过程,转换后的新查询条件如下:
    PERSONS_E.PHONE_X LIKE‘9003596 222’。
    3)基于通配符“[]”的相似查询条件转换。其一般形式为:R.Ai LIKE U[L]V,若文本常量U=u1u2...um,V=v1v2...vz,字符列表L=l1l2...lt,则查询条件转换如下:
    trans(R.AiLIKEU[L]V)⇒RE.AixLIKEUE[LE]VE]]>
    其中:UE=X(1)(u1)X(2)(u2)...X(m)(um)LE=X(m+1)(l1)X(m+1)(l2)...X(m+1)(lt)VE=X(m+2)(v1)X(m+3)(v2)...X(m+z+1)(vz).]]>
    例子12)假设存在一个定义在例子1给出的用户信息表上的相似查询条件如下:
    PERSONS.PHONE LIKE‘13587898[789]21’。
    按照表2设定的子段分区过程和分区标识分配过程,则转换后的新查询条件如下:
    PERSONS_E.PHONE_X LIKE‘90035961[210]22’
    4)基于通配符“%”的相似查询条件转换。其一般形式为:R.Ai LIKE U%V,若文本常量U=u1u2...um,V=v1v2...vz,则查询条件转换如下:
    trans(R.AiLIKEU%V)⇒RE.AixLIKEUE_V1EOR]]>
    RE.AixLIKEUE__V2EOR...OR]]>

    其中:UE=X(1)(u1)X(2)(u2)...X(m)(um)V1E=X(m+2)(v1)X(m+3)(v2)...X(m+z+1)(vz)V2E=X(m+3)(v1)X(m+4)(v2)...X(m+z+2)(vz)...Vn-m-zE=X(n-z+1)(v1)X(n-z+2)(v2)...X(n)(vz).]]>
    特殊地,如果(z=0),则查询条件可简单地转换如下:
    trans(R.AiLIKEU%)⇒RE.AixLIKEX(1)(u1)X(2)(u2)...X(m)(um)%]]>
    特殊地,如果(m=0),则查询条件可简单地转换如下:
    trans(R.AiLIKE%V)⇒RE.AixLIKE%X(n-z+1)(v1)X(n-z+2)(v2)...X(n)(vz)]]>
    例子13)假设存在三个定义在例子1给出的用户信息表上的相似查询条件如下:
    1.PERSONS.PHONE LIKE‘135%’。
    2.PERSONS.PHONE LIKE‘%8721’。
    3.PERSONS.PHONE LIKE‘135%98721’。
    按照表2设定的子段分区过程和分区标识分配过程,则转换后的新查询条件如下:
    1.PERSONS_E.PHONE_X LIKE‘900%’。
    2.PERSONS_E.PHONE_X LIKE‘%1222’。
    3.PERSONS_E.PHONE_X LIKE‘900_89448’OR
    PERSONS_E.PHONE_X LIKE‘900__95971’OR
    PERSONS_E.PHONE_X LIKE‘900___61222’。
    5)范围查询条件转换。范围条件的一般形式为:R.Ai≥U。若U=u1u2...um,记字符单位Pi(i=1,2,...,n)中,编码值最大字符为vi,即∀u(u∈dom(Pi)→vi≥u),]]>则查询条件转换如下:
    trans(R.Ai≥U)⇒trans(R.AiLIKE[(u1+1)-v1]%)OR]]>
    trans(R.Ai LIKE u1[(u2+1)-v2]%)OR
    trans(R.Ai LIKE u1u2[(u3+1)-v3]%)OR...OR
    trans(R.Ai LIKE u1u2...um-1[um-vm]%)
    例子14)假设存在一个定义在例子1给出的用户信息表上的相似查询条件如下:
    PERSONS.PHONE>=‘13587’。
    按照表2设定的子段分区过程和分区标识分配过程,则转换后的新查询条件如下:
    PERSONS_X.PHONE_X LIKE‘9[79]%’OR
    PERSONS_X.PHONE_X LIKE‘90[59]%’OR
    PERSONS_X.PHONE_X LIKE‘900[3]%’OR
    PERSONS_X.PHONE_X LIKE‘9003[58]%’。
    (4)两阶段数据查询过程:
    本发明所采用的数据查询过程(针对图2的步骤5和6)比较简单,简要描述如下。
    步骤1)系统服务器端通过在后台数据库上,执行查询转换单元所生成的新查询,过滤掉绝大部分的非目标记录,从而获得用户查询的一个粗糙结果集,返回给系统客户端。
    步骤2)数据解密单元基于保存在客户端中“元数据”,对粗糙结果集进行解密,并将得到明文记录集写入到临时结果库中。
    步骤3)最后,数据筛选单元在临时结果库上再执行一次用户查询,把不符合条件的非目标记录进一步过滤掉,从而得到用户查询的精确结果集,返回给用户。
    整个过程共进行了两次查询操作,即在服务器端执行的粗糙查询和在客户端执行的精确查询,称作:两阶段数据查询。
    上面结合附图描述了本发明的实施方式,但实现时不受上述实施例限制,本领域普通技术人员可以在所附权利要求的范围内做出各种变化或修改。

    关于本文
    本文标题:一种网络信息系统中服务器端的个人隐私数据?;し椒?pdf
    链接地址://www.4mum.com.cn/p-6143851.html

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 六肖稳赚计划 七星彩app下载安装 金吊桶论坛稳赚包六肖下载 旺彩预测电脑版下载 3d彩票稳赚不亏的方法 北京pk赛车人工计划 3d万能五码组六走势图 双色球开奖软件哪个好 快速时时软件计划 北京pk赛全天人工计划 极速赛车六码怎么买 彩票免费计划软件 前三组选包胆规则 免费助赢计划软件手机版 pk10冠军稳杀一码 北京pk106码投注技巧