APP下载

基于Web应用的安全密码方案分设计

2019-12-07◆李

网络安全技术与应用 2019年12期
关键词:二叉树密钥加密

◆李 烛 刘 璟

基于Web应用的安全密码方案分设计

◆李 烛 刘 璟通讯作者

(云南大学软件学院 云南 650504)

在Web安全通信中,安全问题经常发生,Web应用漏洞数量仅少于应用程序漏洞,Web中附带的数据价值越来越高,数据的范围从个人生活数据到企业数据,甚至包括一些私密信息,大量黑客瞄准了这一个巨大的黑色市场,一些企业为了节省时间开销,往往会降低安全需求,导致一些Web安全问题发生。自密码学技术诞生以来,加密后的数据能够有效防止被窃取和爆破,本文结合密码学的方案与二叉树协议树形结构的方案,设计了一个基于树形结构的混合加密的方案,该方案经过两次加密,主要针对对给服务器响应的请求所发送的内容进行解析。

Web安全;二叉树;密码学;混合加密;

服务器[1]具有响应Web请求、发送数据和鉴别用户等功能,假设进入的用户并不会立刻退出,进入N个用户时,生成了一棵具有N个叶子节点的树,使用树型结构代替传统的链式结构,当用户加入、退出时,仅需要回溯改变叶子节点这一层,时间复杂度为O(log(N)),而传统的链式结构,当用户数量过多时,当用户加入、退出时,需要对其他大部分成员进行操作,时间复杂度为O(N),二叉树为快速查找提供了可行的解决方案。

在密码学中,有两种常见的密码:第一种,对称密码算法[2],对称密码算法又叫传统密码算法,加密和解密的密钥是使用同一个密钥,常见的对称加密算法有DES、AES等,对称加密算法的优点显而易见,加密速度快,效率高,对称性加密通常在消息发送方需要加密较大数据时使用,其加密速度和加密效率较高,但是其缺点非常致命,在进行数据传输之前,双方都需要保存好密钥,如果一方密钥被泄露,那么加密信息就不安全了。第二种,非对称密码算法[3]:密钥对由公钥和私钥构成,公钥加密数据能被私钥解密。私钥加密的数据可以被公钥解密,比如说用于数字签名,能够确定发送者的身份,其缺点是速度较慢,但是其安全性高于对称加密算法。

互联网迅速发展,信息的安全性受到广泛重视,Web应用[3]会有很多的用户进入服务器,给GC带来大量开销,黑客使用抓包工具,对包进行修改,尝试欺骗服务器获得服务器权限,同时,也做好准备将Web应用的数据库拖下来,俗称“脱裤”,在进入大量的用户服务器的可能性上,本文结合密码学方案和二叉树形结构能够有效降低通信开销基础上,设计并实现了一个Web应用的安全密码方案。

1 相关研究

随着Web应用的发展,越来越多的漏洞被曝光,为厂家及安全人员提供了泄漏点,进行技术革新,目前主要的Web安全攻击方式有如下几种:

1.1 SQL注入

SQL注入通过给Web服务传入一些特殊字符,例如:一般测试是有安全防护产品 and 1=1 ,order by等,若未采取过滤措施,数据库隐患较大。SQL 注入漏洞属于后端的问题,在前端进入数据库之前,也可以通过代码进行过滤防御。

1.2 XSS 攻击

XSS攻击全称跨站脚本攻击(Cross-Site Scripting),在目标网站注入一串js可执行代码,或者是其他可执行代码,获取用户的重要信息XSS攻击主要在前端应用,通过插入恶意代码,让浏览器执行这些代码,可以通过这种方式,打到用户的cookie,从而欺骗服务器。

1.3 CSRF 攻击

CSRF 攻击全称跨站请求伪造(Cross-site Request Forgery),攻击者可以盗用使用者的身份,然后再次访问,通过所访问原站点所创建的HTTP请求,伪造出是该站的合法用户,造成这个现象的原因:首先分析一个简单的攻击流程:(1)用户登录A站,并留下Cookie。(2)黑客引诱用户访问了B站。(3)B向A发送了一个请求,浏览器一般默认才有用户的Cookie,A收到请求后,确认是用户的信息,黑客可以在不知情的情况下冒用了受害者的信息。通常可以采取钓鱼的方式,钓取管理员信息然后在冒充管理员访问。

1.4 其他漏洞

目录遍历漏洞[4]:可以通过./或者编码,通过纵向方式,跨级访问其父亲目录。

文件上传漏洞:对上传文件过滤不严,使其上传了可执行的代码,上传的文件类型未做限制,包括后门攻击文件,通过远程连接,获取了网站的shell。

目前,有两种比较流行的加密方案:基于对称密码的加密方案和基于公钥的加密方案。在增加HTTP[5]请求建立稳定的基础上,本文结合树结构高效分发密钥的特别与混合密码体制安全性较高的特点,设计并实现了一个基于Web应用的安全密码方案,该方案实现了树结构与混合密码体制高安全性之间的平衡。

2 混合加密方案

(1)生成会话密钥,会话密钥是指为本次通信而生成的临时密钥。

(2)对消息使用会话密钥进行对称加密,由于对称加密速度较快,因此加密较大的数据和信息选择对称加密较为合适,但安全性没有非对称加密方式高。

(3)加密该会话密钥,首先产生两个2048字节公私钥对,使用覆盖子集用户其自身的公钥使用公钥算法加密该会话密钥,生成一个加密的信息。

2.1 二叉树建立

HTTP建立链接集合为n,数目n为固定值,首先生成一棵树,树在初始化后不在变动,在树中,使叶子节点与进入的成员关联,成员节点包含报头的信息,报头信息内部含有对称密码算法加密的加密信息,每一个报文在传输之前,通过RSA算法进行加密,如图1所示。

2.2 二叉树的混合加密方案

这个方案是一个树型[6]结构,浏览器传递回消息前,浏览器首先对报文内敏感消息进行对称加密[6],生成一个会话密钥,用会话密钥对消息进行对称加密,得到加密后的密文,储存此会话密钥,此处使用的对称加密的算法为DES算法。每一个会话密钥存储于报头请求信息内,整个请求信息在发过去应用服务端之前,使用RSA算法进行加密,这样,请求信息在到达Web服务端之前,经过了两次加密,每一个到达服务器端的请求信息,成为二叉树的叶子节点,悬挂在二叉树上。每一个节点都拥有编号,从0开始,左子树每个节点编号加0,右子树每个节点编号加1,每个节点拥有其独立的编号。树初始化以后,叶子节点数目固定,在一定时间内生成一棵树,瞬时进入用户数量过多时,可以生成多棵树。

图1 生成二叉树

3 性能分析

通过仿真实验分析该方案的存储开销,通信开销之间的关系,这个仿真实验针未一定时间段内用户进入的问题,未考虑用户退出问题,仿真实验采用phython程序语言编写,仿真平台使用PyCharm.

3.1 存储开销

在该方案中,GC需要存储整棵二叉树,GC需要最大的成员数目n建立密钥树,密钥树的节点总数为2^(n+1)-1,GC构造一颗二叉树,通过叶子节点存储二叉树,消耗内存较多,与链式方式相比,链式结构需构造n个节点,代表n个用户进入GC,故链式结构消耗内存较小,如图2所示。

图2 存储开销对比

3.2 通信开销

二叉树中,通信开销主要包含悬挂点的ID及会话密钥加密后的密文信息和通信白名单[7],首先要生成悬挂点,当悬挂点越多,生成的子集合越大,通信开销越大。二叉树在一定的组成员数目下,当用户数目增加时,通信开销减少,能够快速寻找到自己需要的报文信息。通信开销随着用户的增多而增加,会话密钥加密后的密文信息,具体的开销更具文件的大小确定,文件越大,耗费时间越长。链式结构,初始化后,针对每一个或多个请求信息,需要先从结构内遍历,遍历到需要的请求信息后,标记请求信息,选出需要的请求信息。其需要的遍历次数增加,通信开销增加,假设请求信息数目为n,不需要挑选的请求信息数目为r,需要的请求信息数目为n-r,遍历至少n-r次能够确定用户是否为请求者,当不需要的请求信息越多时,其通信开销越多。

4 结束语

本文首先介绍了一些基本的安全问题,然后为了解决安全性和通信开销的问题,结合二叉树插入用户,移动用户方便的特点和混合加密安全性高的特点,设计并实现了一个Web安全的密码学方案。该方案存储开销较大,寻找请求信息效率较高。该方案为应用程序寻找相关的请求信息的速率和请求信息收发的安全性提供了安全性选择。

[1]李晓天,陈建华.一种更安全的匿名的三因子多服务器身份认证协议的研究[J/OL].计算机应用研究:1-9[2019-09-03].https://doi.org/10.19734/j.issn.1001-3695.2019.03.0034.

[2]刘倍雄,肖巧玲,张毅,陈孟祥.基于优化对称加密算法的网络密码安全传输研究[J].信息与电脑(理论版),2018(22):55-59.

[3]Nieves Lajara,Jose Luis Espinosa-Aranda,Oscar Deniz,Gloria Bueno. Optimum web viewer application for DICOM whole slide image visualization in anatomical pathology[J]. Computer Methods and Programs in Biomedicine,2019:179.

[4]李清华.基于Web应用的渗透测试系统的设计与实现[D].北京邮电大学,2016.

[5]赵琦,蒋朝惠,周雪梅,宋紫华.一种基于HTTP协议的隐蔽隧道及其检测方法[J].计算机与现代化,2019(06):16-23+29.

[6]石博文,苑海朝,路慧泽,闫英娜.基于二叉树和一维数组的哈夫曼编码[J].通信技术,2017,50(05):867-872.

[7]陈万志,李东哲.结合白名单过滤和神经网络的工业控制网络入侵检测方法[J].计算机应用,2018,38(02):363-369.

国家自然科学基金资助项目(61363084)。

猜你喜欢

二叉树密钥加密
基于双向二叉树的多级菜单设计及实现
基于故障二叉树的雷达发射机故障诊断*
幻中邂逅之金色密钥
幻中邂逅之金色密钥
二叉树创建方法
密码系统中密钥的状态与保护*
一种基于SVM 的多类文本二叉树分类算法∗
保护数据按需创建多种加密磁盘
电力安全防护加密装置
TPM 2.0密钥迁移协议研究