[发明专利]基于签名的SQL防篡改保护方法有效
申请号: | 201510232967.7 | 申请日: | 2015-05-08 |
公开(公告)号: | CN104821949B | 公开(公告)日: | 2018-01-26 |
发明(设计)人: | 楼方鑫 | 申请(专利权)人: | 杭州平民软件有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 杭州求是专利事务所有限公司33200 | 代理人: | 邱启旺 |
地址: | 310012 浙江省杭州市西湖区文*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 签名 sql 篡改 保护 方法 | ||
技术领域
本发明属于网络安全技术领域,尤其涉及一种基于签名的SQL防篡改保护方法。
背景技术
在应用程序和数据库之间用SQL进行交互时,因为应用程序和数据库之间属于不同的软件系统,并且使用网络协议进行通信。使用开源软件时,黑客也会知道网络协议,从而可以截获通信的数据包,比如包含SQL指令的数据包,并对数据包进行修改,数据库端只要SQL是合法的,都可以执行,无法识别到数据包是否与应用程序发过来的原始数据包相一致,导致数据被非常篡改,给企业带来损失。
在正常情况下,应用程序和数据库/防火墙之间的通信结构如图1所示(箭头代表SQL指令包的流向,虚线代表SQL指令包的来源和目的地)。当黑客植入程序后,应用程序和数据库/防火墙之间的通信结构如图2所示(箭头代表SQL指令包的流向,虚线代表SQL指令包的来源和目的地)。
目前的解决方案是通过加密的方法,采用加密后的,应用程序和数据库/防火墙之间的通信结构如图3所示(实线箭头代表SQL指令包的流向,虚线代表SQL指令包的来源和目的地)。在现有加密方案下,黑客植入程序后,应用程序和数据库/防火墙之间的通信结构如图4所示(箭头代表SQL指令包的流向,虚线代表SQL指令包的来源和目的地)。只要后门程序知道了加解密的算法,可以看到一样可以进行透明的SQL篡改,虽然增加了难度,但仍旧有极大的风险。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于签名的SQL防篡改保护方法。
本发明的目的是通过以下技术方案来实现的:一种基于签名的SQL防篡改保护方法,包括以下步骤:
(1)应用程序向数据库或防火墙发送签名信息;所述签名指通过特定的算法,对一串信息进行处理后得到一个特征串或数字,根据得到的特征串或数字不能反推出完整的信息,同样的信息经处理后得到同样的特征串或数字;
(2)当数据库或防火墙收到SQL的签名后,应用程序向数据库或防火墙发送SQL指令;
(3)数据库或防火墙收到SQL指令后,进行签名检查,如果签名匹配则执行SQL,如果不匹配则拒绝执行SQL,并报告数据库或防火墙受到攻击。
本发明的有益效果是:本发明方法增加了黑客修改SQL数据包的难度,在第一次发送签名时,因为还未发送SQL语句,所以无法提前修改答名;当发送SQL时,签名已经无法修改;由于无法从签名信息反向得到完整的原信息,使用篡改SQL数据包变得无效。本发明方法在现有方案之上多了一层保护机制,并不是去完全替换现有的加密机制。即使不用现有的加密方案,也极大地增加了SQL篡改的难度,提高了数据库的安全级别。本发明与现有通用的加密机制无冲突,通过事先发送签名的方法进一步提高了SQL篡改的技术难度,从而达到SQL防篡改的目标。
附图说明
图1为传统应用程序和数据库/防火墙之间的通信结构;
图2为黑客植入程序后应用程序和数据库/防火墙之间的通信结构;
图3为采用加密后的应用程序和数据库/防火墙之间的通信结构;
图4为现有加密方案下,黑客植入程序后应用程序和数据库/防火墙之间的通信结构;
图5为本发明发送签名信息的通信结构;
图6为本发明发送SQL指令的通信结构;
图7为应用程序与数据库/防火墙之间的交互流程,(a)为现有的交互步骤,(b)为采用本发明后的交互步骤。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细说明。本发明方法可以使用任何计算机语言实现,且对于软件与硬件没有特殊要求。
本发明一种基于签名的SQL防篡改保护方法,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州平民软件有限公司,未经杭州平民软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510232967.7/2.html,转载请声明来源钻瓜专利网。