CN104657675A - 核心数据安全传输及存储方法 - Google Patents
核心数据安全传输及存储方法 Download PDFInfo
- Publication number
- CN104657675A CN104657675A CN201510075701.6A CN201510075701A CN104657675A CN 104657675 A CN104657675 A CN 104657675A CN 201510075701 A CN201510075701 A CN 201510075701A CN 104657675 A CN104657675 A CN 104657675A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- core data
- storage means
- safe transmission
- 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.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了核心数据安全传输及存储方法,包括以下步骤:S1、将核心数据的存储经过数据库防注入加固处理;S2、根据不同的使用功能,把核心数据进行对象化封装;S3、采用加密方式传输核心数据,把加密后的字符串通过响应流返回给客户端。本发明通过数据库防注入加固、加密传输,最大程度上保护了数据库的安全;将数据进行对象化的封装,便于项目的模块化组织和高效并行开发,同时对象化的数据也利于软件的后期维护,提高软件的二次开发能力和可重复利用性;解决了现有技术中核心数据容易被窃取、安全性低的技术问题。
Description
技术领域
本发明涉及网络数据安全技术,具体涉及核心数据安全传输及存储方法。
背景技术
如今,有些软件应用平台的服务对象涉及大型采购商企业、银行等各种金融机构。前述这类软件应用平台对一些敏感、核心数据(例如财务数据)的传输和存储都有一定的要求,尤其是安全、保密、防篡改等方面的要求。
现有技术中,为了便于数据的解析、存储和识别,往往会给数据对象定义一些含有特定意义的称谓,比如金额(amount)、净利润(net-profit)等。这些含有特殊意义的称谓使得所传输和存储的数据浅显易懂,便于实现数据的展示和再挖掘;但另一方面,也会导致一旦数据库出现一些非法的请求或者入侵,这些敏感数据就很容易被窃取,给软件应用平台的客户带来不必要的严重损失。
发明内容
本发明提供核心数据安全传输及存储方法,解决了现有技术中核心数据容易被窃取、安全性低的技术问题。
为解决上述技术问题,本发明方法采用如下技术方案:核心数据安全传输及存储方法,包括以下步骤:S1、将核心数据的存储经过数据库防注入加固处理;S2、根据不同的使用功能,把核心数据进行对象化封装;S3、采用加密方式传输核心数据,把加密后的字符串通过响应流返回给客户端。
优选地,所述步骤S1包括:对请求参数进行防注入检测:在客户端发起数据请求之后,接口程序获取所输入的请求参数,根据其使用类型做类型强校验。
优选地,所述步骤S1包括:把数据存储操作写成数据库存储过程,通过数据库存储过程调用数据库数据;限制数据库账户的权限,赋予每个数据库账户可正常使用的最小权限外,对执行不同数据库操作的账户赋予不同的权限。
所述类型强校验过程为:从请求参数中获取字符串类型的参数,通过使用正则匹配检查,把常见的可能会导致数据库入侵的关键词组合成正则表达式,去检验请求参数是否合法;若判断请求参数合法,根据该请求参数的实际使用类型,通过类型转换把字符串转换成实际使用类型,如果类型转换失败,则请求参数存在异常,转入异常处理。
优选地,所述步骤S2为:把大量复杂的数据按照不同的使用功能,细分并封装成不同的独立功能对象,每个功能对象对应一张数据库表,功能对象中的属性对应数据库表中的数据字段,数据字段在命名上使用无意义字段标识,从而对数据字段含义做隐藏。所述数据字段的命名方式为:字符加数字组合的命名方式。
优选地,所述步骤S3为:定义每个独立功能对象时,继承一个提供Json序列化处理的父类,所述父类中重载了一个Json序列化的方法;当客户端发起某个功能的数据请求时,先把从数据库中查询出来的数据实例化为对应的功能对象,通过调用重载父类的序列化方法,获取功能对象的Json序列化字符串,然后经过编码加密处理,把加密后的字符串通过响应流返回给客户端。
与现有技术相比,本发明具有如下优点和有益效果:
1、通过数据库防注入加固,调用数据库统一使用存储过程操作,传递给存储过程的参数采用准确类型定义,最大程度上保护了数据库的安全,同时通过修改数据库存储过程来调整数据提取逻辑,避免了大量的页面逻辑修改工作,大大提高了开发效率。
2、将数据进行对象化的封装,把大量复杂的数据按照不同的使用功能,细分并封装成不同的独立对象,便于项目的模块化组织和高效并行开发,同时对象化的数据也利于软件的后期维护,针对模块的修改不影响程序全局,大大降低了软件的维护成本,提高软件的二次开发能力和可重复利用性。
3、经过base64编码加密的Json字符串,在数据传递过程中,既能有效保护数据的安全性,又能通过约定好的数据字段定义文档,轻松对照解析得到所需要的数据。把核心数据含义从程序代码中剥离出来,最大限度的保护了数据的安全。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
参见图1,核心数据安全传输及存储方法包括以下步骤:
1、数据库防注入加固处理
在本实施例中,数据库防注入加固处理包括以下两个步骤:
(1)、参数防注入检测。
首先对请求参数进行防注入检测:在客户端发起数据请求之后,接口程序获取所输入的请求参数(传递给存储过程的请求参数声明要准确),根据其使用类型做类型强校验。首先,从请求参数中获取字符串类型的参数,通过使用正则匹配检查,把常见的可能会导致数据库入侵的关键词组合成正则表达式,去检验请求参数是否存在被注入的风险,即判断请求参数是否合法。若判断请求参数合法,即为安全的字符串参数,根据该参数的实际使用类型,通过类型转换把字符串转换成实际使用类型,如果出现类型转换失败,则说明请求参数存在异常,转入异常处理。这样做的好处是能够把一些通过了正则匹配但是类型上不匹配的请求参数进一步排除掉。
匹配规则是根据对数据库入侵防范标准设计的,正则匹配之前先将请求参数中的单引号替换为双引号。其中,组合成正则表达式的关键词包括:exec、select、update、insert、create、alter、script、js、and、or、delete、from、drop、truncate、xp_、(、)、*、%、;、=、-、master、declare、count、like、chr、char、mid等。
(2)、把数据存储操作写成数据库存储过程。
完成参数防注入检测之后,再把所有可能的数据存储操作都写成数据库存储过程,通过数据库存储过程来调用数据库数据。另一方面,严格限制数据库账户的权限,赋予每个账户可正常使用的最小权限外,对执行不同数据库操作的账户赋予不同的权限,以此来实现数据库的操作。
例如,对于用来执行查询的数据库账户,限制其权限。用不同的数据库账户执行查询、插入、更新、删除操作。隔离了不同数据库账户可执行的操作,防止了原本用于执行SELECT命令的地方却被用于执行INSERT、UPDATE或DELETE等命令。
2、核心数据对象化封装
首先把大量复杂的数据按照不同的使用功能,细分并封装成不同的独立功能对象,每个功能对象对应一张数据库表,功能对象中的属性对应数据库表中的数据字段,字段在命名上使用了无意义字段标识,通过简单字符加数字组合的命名方式,把字段含义做了隐藏。一旦数据库遭到非法入侵,由于入侵者无法获取到核心数据与功能对象的对应关系,也就不能识别窃取的数据字段的真实含义,从而保护了核心数据的安全。
虽然数据库遭到非法入侵后,入侵者可以获得数据库表,但数据库中的数据字段是通过撰写好的数据库设计文档去对照开发使用的,即使入侵者入侵数据库后窃取了数据,但由于缺少数据库设计文档,因此入侵者很难去破解出数据库表所存储的数据字段的真实含义,从而保护了核心数据的安全。
3、数据加密传输
每个独立功能对象在定义的时候,都继承了一个提供Json序列化处理的父类,该父类中重载了一个Json序列化的方法。当客户端发起某个功能的数据请求时(例如Request A),先把从数据库中查询出来的数据实例化为对应的功能对象(例如Object A),通过调用重载父类的序列化方法,获取功能对象Object A的Json序列化字符串,然后经过base64编码加密处理,把编码后的字符串通过响应流返回给客户端。在客户端前台页面使用这样的数据时,把数据按base64的解码方式解码,得到易于使用的Json格式数据。
从这个过程可以看到,当发生数据请求时,经过参数安全检测,数据查询逻辑封装,再到数据加密传输,我们的数据在存储,使用和传递过程中都是安全的。
下面举一个实例,来更具体和详细说明本发明对核心数据的传输及存储过程。核心数据为《银行授信涵信息表》,名称=tab_01,则
tab_01中的字段包括:
(1)银行名称=tab_01.d1
(2)授信企业=tab_01.d2
(3)授信额度=tab_01.d3
(4)授信期限=tab_01.d4
(5)颁发日期=tab_01.d5
对应的数据对象定义为:名称=T01
T01中的属性定义:
(1)银行名称=T01.d1
(2)授信企业=T01.d2
(3)授信额度=T01.d3
(4)授信期限=T01.d4
(5)颁发日期=T01.d5
数据库存储的是tab_01及其字段d1、d2、d3、d4及d5。当数据库被入侵时,入侵者获得tab_01,但并不会知道这是《银行授信函信息表》,更不会知道其中d1、d2等数据字段实际代表的数据含义。同样的,当我们定义的数据对象T01在数据请求传递的过程中被非法截获的时候,由于传递的是T01及其属性d1、d2、d3、d4和d5所组成的Json加密字符串,截获者无法识别出该数据的实际意义,数据安全性得到了保护。而我们的开发人员通过数据库设计文档,能很容易获悉数据库表和数据对象的含义。
上述实施例为本发明的一种实施方式,但本发明的实施方式并不限定与此,从事该领域技术人员在未背离本发明精神和原则下所做的任何修改、替换、改进,均包含在本发明的保护范围内。
Claims (10)
1.核心数据安全传输及存储方法,其特征在于,包括以下步骤:
S1、将核心数据的存储经过数据库防注入加固处理;
S2、根据不同的使用功能,把核心数据进行对象化封装;
S3、采用加密方式传输核心数据,把加密后的字符串通过响应流返回给客户端。
2.根据权利要求1所述的核心数据安全传输及存储方法,其特征在于,所述步骤S1包括:
对请求参数进行防注入检测:在客户端发起数据请求之后,接口程序获取所输入的请求参数,根据其使用类型做类型强校验。
3.根据权利要求2所述的核心数据安全传输及存储方法,其特征在于,所述类型强校验过程为:从请求参数中获取字符串类型的参数,通过使用正则匹配检查,把常见的可能会导致数据库入侵的关键词组合成正则表达式,去检验请求参数是否合法;若判断请求参数合法,根据该请求参数的实际使用类型,通过类型转换把字符串转换成实际使用类型,如果类型转换失败,则请求参数存在异常,转入异常处理。
4.根据权利要求3所述的核心数据安全传输及存储方法,其特征在于,所述正则匹配的规则根据对数据库入侵防范标准设计,正则匹配之前先将请求参数中的单引号替换为双引号。
5.根据权利要求3所述的核心数据安全传输及存储方法,其特征在于,所述组合成正则表达式的关键词包括:exec、select、update、insert、create、alter、script、js、and、or、delete、from、drop、truncate、xp_、(、)、*、%、;、=、-、master、declare、count、like、chr、char和mid。
6.根据权利要求1所述的核心数据安全传输及存储方法,其特征在于,所述步骤S1包括:
把数据存储操作写成数据库存储过程,通过数据库存储过程调用数据库数据;限制数据库账户的权限,赋予每个数据库账户可正常使用的最小权限外,对执行不同数据库操作的账户赋予不同的权限。
7.根据权利要求6所述的核心数据安全传输及存储方法,其特征在于,所述步骤S1中,用不同的数据库账户执行查询、插入、更新和删除操作。
8.根据权利要求1所述的核心数据安全传输及存储方法,其特征在于,所述步骤S2为:把大量复杂的数据按照不同的使用功能,细分并封装成不同的独立功能对象,每个功能对象对应一张数据库表,功能对象中的属性对应数据库表中的数据字段,数据字段在命名上使用无意义字段标识,从而对数据字段含义做隐藏。
9.根据权利要求8所述的核心数据安全传输及存储方法,其特征在于,所述数据字段的命名方式为:字符加数字组合的命名方式。
10.根据权利要求1所述的核心数据安全传输及存储方法,其特征在于,所述步骤S3为:
定义每个独立功能对象时,继承一个提供Json序列化处理的父类,所述父类中重载了一个Json序列化的方法;当客户端发起某个功能的数据请求时,先把从数据库中查询出来的数据实例化为对应的功能对象,通过调用重载父类的序列化方法,获取功能对象的Json序列化字符串,然后经过编码加密处理,把加密后的字符串通过响应流返回给客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510075701.6A CN104657675A (zh) | 2015-02-12 | 2015-02-12 | 核心数据安全传输及存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510075701.6A CN104657675A (zh) | 2015-02-12 | 2015-02-12 | 核心数据安全传输及存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104657675A true CN104657675A (zh) | 2015-05-27 |
Family
ID=53248783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510075701.6A Pending CN104657675A (zh) | 2015-02-12 | 2015-02-12 | 核心数据安全传输及存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104657675A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595968A (zh) * | 2018-04-20 | 2018-09-28 | 北京数字认证股份有限公司 | 一种数据保护方法、装置及设备 |
CN111310221A (zh) * | 2020-03-26 | 2020-06-19 | 北京百度网讯科技有限公司 | 持久层数据的加解密方法、装置、设备及存储介质 |
CN115001665A (zh) * | 2022-08-01 | 2022-09-02 | 北京安盟信息技术股份有限公司 | 基于数据隔离交换场景的数据加固方法及数据传输系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1509434A (zh) * | 2000-08-07 | 2004-06-30 | 国际商业机器公司 | 调用存储过程和访问存储的过程数据的方法、系统以及程序 |
CN102053966A (zh) * | 2009-10-27 | 2011-05-11 | 上海杉达学院 | 基于对象的数据库访问方法 |
CN102346774A (zh) * | 2011-09-26 | 2012-02-08 | 深圳市信游天下网络科技有限公司 | 一种数据库操作方法及装置 |
CN102833270A (zh) * | 2012-09-18 | 2012-12-19 | 山石网科通信技术(北京)有限公司 | Sql注入攻击的检测方法、装置和具有该装置的防火墙 |
CN103338208A (zh) * | 2013-07-16 | 2013-10-02 | 五八同城信息技术有限公司 | 一种sql注入防御的方法和系统 |
-
2015
- 2015-02-12 CN CN201510075701.6A patent/CN104657675A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1509434A (zh) * | 2000-08-07 | 2004-06-30 | 国际商业机器公司 | 调用存储过程和访问存储的过程数据的方法、系统以及程序 |
CN102053966A (zh) * | 2009-10-27 | 2011-05-11 | 上海杉达学院 | 基于对象的数据库访问方法 |
CN102346774A (zh) * | 2011-09-26 | 2012-02-08 | 深圳市信游天下网络科技有限公司 | 一种数据库操作方法及装置 |
CN102833270A (zh) * | 2012-09-18 | 2012-12-19 | 山石网科通信技术(北京)有限公司 | Sql注入攻击的检测方法、装置和具有该装置的防火墙 |
CN103338208A (zh) * | 2013-07-16 | 2013-10-02 | 五八同城信息技术有限公司 | 一种sql注入防御的方法和系统 |
Non-Patent Citations (3)
Title |
---|
BY-3KS: "《http://www.cnblogs.com/by-3ks/》", 17 November 2014 * |
DEVELOPERSWORKS中国: "《https://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0607wasserman/》", 11 September 2006 * |
FREEMAN983: "《http://freeman983.iteye.com/category/11090》", 20 August 2011 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595968A (zh) * | 2018-04-20 | 2018-09-28 | 北京数字认证股份有限公司 | 一种数据保护方法、装置及设备 |
CN111310221A (zh) * | 2020-03-26 | 2020-06-19 | 北京百度网讯科技有限公司 | 持久层数据的加解密方法、装置、设备及存储介质 |
CN115001665A (zh) * | 2022-08-01 | 2022-09-02 | 北京安盟信息技术股份有限公司 | 基于数据隔离交换场景的数据加固方法及数据传输系统 |
CN115001665B (zh) * | 2022-08-01 | 2022-11-15 | 北京安盟信息技术股份有限公司 | 基于数据隔离交换场景的数据加固方法及数据传输系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220006642A1 (en) | System and method for content storage and ownership verification | |
CN109074562B (zh) | 基于区块链的合并式数据传输控制方法和系统 | |
US9400735B2 (en) | Defect analysis system for error impact reduction | |
US10410018B2 (en) | Cryptographic assurances of data integrity for data crossing trust boundaries | |
US20190095909A1 (en) | Method and system for controlling the performance of a contract using a distributed hash table and a peer-to-peer distributed ledger | |
US7996373B1 (en) | Method and apparatus for detecting policy violations in a data repository having an arbitrary data schema | |
CN106487775A (zh) | 一种基于云平台的业务数据的处理方法和装置 | |
US20160283728A1 (en) | Database server and client for query processing on encrypted data | |
CN117278224A (zh) | 用于验证身份属性信息的方法和系统 | |
CN112464212B (zh) | 基于成熟复杂业务系统的数据权限控制改造方法 | |
CN103473501B (zh) | 一种基于云安全的恶意软件追踪方法 | |
Ghafarian | A hybrid method for detection and prevention of SQL injection attacks | |
Ferreira Torres et al. | The eye of horus: Spotting and analyzing attacks on ethereum smart contracts | |
CN105683990A (zh) | 用于保护动态库的方法和装置 | |
CN103150647B (zh) | 报表文件处理方法、服务器和系统 | |
US20200117745A1 (en) | Dynamic data movement using application relationships with encryption keys in different environments | |
Choi et al. | Forensic recovery of SQL server database: Practical approach | |
WO2019094234A1 (en) | Online determination of result set sensitivity | |
CN104657675A (zh) | 核心数据安全传输及存储方法 | |
Abdallah et al. | Assessing blockchain challenges in the maritime sector | |
Aliero et al. | Classification of Sql Injection Detection And Prevention Measure | |
Gonzalez et al. | Database SQL injection security problem handling with examples | |
Li et al. | Research on blockchain smart contracts vulnerability and a code audit tool based on matching rules | |
Abawajy | SQLIA detection and prevention approach for RFID systems | |
Rani et al. | Data-flow analysis-based approach of database watermarking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150527 |
|
WD01 | Invention patent application deemed withdrawn after publication |