[发明专利]安全的数据库搜索在审
| 申请号: | 201280067738.9 | 申请日: | 2012-11-23 |
| 公开(公告)号: | CN104106075A | 公开(公告)日: | 2014-10-15 |
| 发明(设计)人: | 西蒙·伊恩·贝恩 | 申请(专利权)人: | 商业合伙有限公司 |
| 主分类号: | G06F21/62 | 分类号: | G06F21/62 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王萍;尹莹莹 |
| 地址: | 英国*** | 国省代码: | 英国;GB |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 安全 数据库 搜索 | ||
技术领域
本发明涉及保护数据库和在这种被保护的数据库中的搜索。
背景技术
数据库和其他数字记录存储可以由密码、防火墙和其他安全机制来保护。然而,一旦这样的安全措施被突破,那么数据可以被自由地访问。因此,加密可以用于保护数据库记录中的特定属性、字段或列。
例如,在SQL插入程序以将记录添加到数据库期间,某些列可以被定义为加密的。在数据被添加之前,加密算法可以应用于去往这样的列的值。当这样的数据被检索时,在数据呈现给调用函数之前,相应的解密函数可以应用于加密属性或值。
在这样的示例中,用户可以用诸如以下SQL语句将记录放入数据集:
INSERT INTO dataset(creditCardNumber,cardType,expiryDate,emailAddress,postalAddress)VALUES(‘1234 4321 1234 4321’,‘VISA’,’00-00-00’,‘someone@somewhere.com’,‘1The Street,Postal Town,Somewhere’)(插入INTO数据集(信用卡编号,卡类型,有效期,邮箱地址,邮寄地址)值(‘1234 4321 1234 4321’,‘VISA’,’00-00-00’,‘someone@somewhere.com’,‘1街道,通邮市镇,某地’))
数据库可以被配置成对字段creditCardNumber和expiryDate进行加密。当上面的语句由数据库管理系统处理时,值1234 4321 1234 4321和00-00-00在被存储之前将自动地被加密。
由于不能使搜索结果(即SELECT查询中的WHERE子句)匹配加密的字段、列或属性,记录中的至少一些字段必须是纯文本的以方便检索。因此,经常是某一商业数据形式的至少一些数据(即非主要关键数据)必须以纯文本存储。
这种妥协允许搜索和检索,但是会降低数据库的整体安全性。对数据库的未授权访问会导致访问一些纯文本信息。入侵者可以使用该未加密的信息来确定最有价值的加密记录,并且将任何实质性攻击集中在这种更高价值的记录上。换句话说,当对整个数据库进行解密可能是不切实际或不可能的时候,识别能在合理时限内解密的高价值记录的小子集相对来说没那么重要。
如果数据库中所有的列被加密,则这样的集中攻击将更难以进行,但是这将阻碍数据的合法搜索和检索。
因此,需要有克服这些问题的系统和方法。
发明内容
在此背景下,根据第一方面,提供一种在数据库中安全地存储数据的方法,包括以下步骤:
接收待存储的数据;
将数据分成多个元素;
用加密函数对多个元素的每个元素进行加密;以及
结合加密的元素以形成数据属性;以及
在数据库中存储数据属性。这提供了一种安全地存储数据的方法,同时保留了搜索加密的列、数据属性或字段的能力。元素可以是数组元素或其他数据类型。可以在执行其他步骤之后进行存储步骤。每个元素可以包含一个或更多个字符或单元。
可选择地,该方法还可以包括在数据库中存储数据属性之前从数据属性除去以下项的步骤:
所有数字字符;
所有非数字字符;或者
所有非字母数字字符。这提供了改进可搜索性和性能的标准化水平。标准化步骤诸如替换字符类型可以在数据被存储之前进行。
可选择地,该方法还可以包括用以下替换除去的字符的步骤:
字母字符;和/或
字母数字字符。这改进了字段中数据类型的分布且有助于性能。值或字符的除去和/或替换可以在数据被分开时或在数据被结合之后进行。例如,可以根据方案选择替换字符。
可选择地,该方法还可以包括在数据库中存储记录之前将第二加密函数应用到记录的步骤。这通过降低发动基于频率或统计的加密攻击以及隐藏可能出现的任何模式诸如由替换步骤或程序引起的模式的能力来改进了安全性。加密函数或算法可以与应用于数组元素的加密函数或算法相同或不同。密钥也可以是不同的。可以在数据元素被结合之前但在字符的任何替换或其他标准化步骤之前或之后应用第二加密函数或算法。该第二加密函数因此可以以与第一加密函数类似的方式应用于单独的字符或元素。
根据另一方面,提供了一种根据任一所述方法填充的数据库。
根据第二方面,提供了一种搜索具有加密数据属性的数据库的方法,该方法包括以下步骤:
接收搜索项;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于商业合伙有限公司,未经商业合伙有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280067738.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:带腋下网布的工作服
- 下一篇:一种用于井下施工用的可溶解金属材料





