核心数据安全传输及存储方法

文档序号:8339922阅读:600来源:国知局
核心数据安全传输及存储方法
【技术领域】
[0001]本发明涉及网络数据安全技术,具体涉及核心数据安全传输及存储方法。
【背景技术】
[0002]如今,有些软件应用平台的服务对象涉及大型采购商企业、银行等各种金融机构。前述这类软件应用平台对一些敏感、核心数据(例如财务数据)的传输和存储都有一定的要求,尤其是安全、保密、防篡改等方面的要求。
[0003]现有技术中,为了便于数据的解析、存储和识别,往往会给数据对象定义一些含有特定意义的称谓,比如金额(amount)、净利润(net-profit)等。这些含有特殊意义的称谓使得所传输和存储的数据浅显易懂,便于实现数据的展示和再挖掘;但另一方面,也会导致一旦数据库出现一些非法的请求或者入侵,这些敏感数据就很容易被窃取,给软件应用平台的客户带来不必要的严重损失。

【发明内容】

[0004]本发明提供核心数据安全传输及存储方法,解决了现有技术中核心数据容易被窃取、安全性低的技术问题。
[0005]为解决上述技术问题,本发明方法采用如下技术方案:核心数据安全传输及存储方法,包括以下步骤:S1、将核心数据的存储经过数据库防注入加固处理;S2、根据不同的使用功能,把核心数据进行对象化封装;S3、采用加密方式传输核心数据,把加密后的字符串通过响应流返回给客户端。
[0006]优选地,所述步骤SI包括:对请求参数进行防注入检测:在客户端发起数据请求之后,接口程序获取所输入的请求参数,根据其使用类型做类型强校验。
[0007]优选地,所述步骤SI包括:把数据存储操作写成数据库存储过程,通过数据库存储过程调用数据库数据;限制数据库账户的权限,赋予每个数据库账户可正常使用的最小权限外,对执行不同数据库操作的账户赋予不同的权限。
[0008]所述类型强校验过程为:从请求参数中获取字符串类型的参数,通过使用正则匹配检查,把常见的可能会导致数据库入侵的关键词组合成正则表达式,去检验请求参数是否合法;若判断请求参数合法,根据该请求参数的实际使用类型,通过类型转换把字符串转换成实际使用类型,如果类型转换失败,则请求参数存在异常,转入异常处理。
[0009]优选地,所述步骤S2为:把大量复杂的数据按照不同的使用功能,细分并封装成不同的独立功能对象,每个功能对象对应一张数据库表,功能对象中的属性对应数据库表中的数据字段,数据字段在命名上使用无意义字段标识,从而对数据字段含义做隐藏。所述数据字段的命名方式为:字符加数字组合的命名方式。
[0010]优选地,所述步骤S3为:定义每个独立功能对象时,继承一个提供Json序列化处理的父类,所述父类中重载了一个Json序列化的方法;当客户端发起某个功能的数据请求时,先把从数据库中查询出来的数据实例化为对应的功能对象,通过调用重载父类的序列化方法,获取功能对象的Json序列化字符串,然后经过编码加密处理,把加密后的字符串通过响应流返回给客户端。
[0011]与现有技术相比,本发明具有如下优点和有益效果:
[0012]1、通过数据库防注入加固,调用数据库统一使用存储过程操作,传递给存储过程的参数采用准确类型定义,最大程度上保护了数据库的安全,同时通过修改数据库存储过程来调整数据提取逻辑,避免了大量的页面逻辑修改工作,大大提高了开发效率。
[0013]2、将数据进行对象化的封装,把大量复杂的数据按照不同的使用功能,细分并封装成不同的独立对象,便于项目的模块化组织和高效并行开发,同时对象化的数据也利于软件的后期维护,针对模块的修改不影响程序全局,大大降低了软件的维护成本,提高软件的二次开发能力和可重复利用性。
[0014]3、经过base64编码加密的Json字符串,在数据传递过程中,既能有效保护数据的安全性,又能通过约定好的数据字段定义文档,轻松对照解析得到所需要的数据。把核心数据含义从程序代码中剥离出来,最大限度的保护了数据的安全。
【附图说明】
[0015]图1为本发明的流程图。
【具体实施方式】
[0016]下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0017]实施例
[0018]参见图1,核心数据安全传输及存储方法包括以下步骤:
[0019]1、数据库防注入加固处理
[0020]在本实施例中,数据库防注入加固处理包括以下两个步骤:
[0021](I)、参数防注入检测。
[0022]首先对请求参数进行防注入检测:在客户端发起数据请求之后,接口程序获取所输入的请求参数(传递给存储过程的请求参数声明要准确),根据其使用类型做类型强校验。首先,从请求参数中获取字符串类型的参数,通过使用正则匹配检查,把常见的可能会导致数据库入侵的关键词组合成正则表达式,去检验请求参数是否存在被注入的风险,即判断请求参数是否合法。若判断请求参数合法,即为安全的字符串参数,根据该参数的实际使用类型,通过类型转换把字符串转换成实际使用类型,如果出现类型转换失败,则说明请求参数存在异常,转入异常处理。这样做的好处是能够把一些通过了正则匹配但是类型上不匹配的请求参数进一步排除掉。
[0023]匹配规则是根据对数据库入侵防范标准设计的,正则匹配之前先将请求参数中的单引号替换为双引号。其中,组合成正则表达式的关键词包括:exec、select、update、insert、create、alter、script、js、and、or、delete、from、drop、truncate、xp_、(、)、*、%s ;、=、-、master、declare、count、like、chr、char、mid 等。
[0024](2)、把数据存储操作写成数据库存储过程。
[0025]完成参数防注入检测之后,再把所有可能的数据存储操作都写成数据库存储过程,通过数据库存储过程来调用数据库数据。另一方面,严格限制数据库账户的权限,赋予每个账户可正常使用的最小权限外,对执行不同数据库操作的账户赋予不同的权限,以此来实现数据库的操作。
[0026]例如,对于用来执行查询的数据库账户,限制其权限。用不同的数据库账户执行查询、插入、更新、删除操作。隔离了不同数据库账户可执行的操作,防止了原本用于执行SELECT命令的地方却被用于执行INSERT、UPDATE或DELETE等命令。
[0027]2、核心数据对象化封装
[0028]首先把大量复杂的数据按照不同的使用功能,细分并封装成不同的独立功能对象,每个功能对象对应一张数据库表,功能对象中的属性对应数据库表中的数据字段,字段在命名上使用了无意义字段标识,通过简单字符加数字组合的命名方式,把字段含义做了隐藏。一旦数据库遭到非法入侵,由于入侵者无法获取到核心数据与功能对象的对应关系,也就不能识别窃取的数据字段的真实含义,从而保护了核心数据的安全。
[0029]虽然数据库遭到非法入侵后,入侵者可以获得数据库表,但数据
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1