`
齐晓威_518
  • 浏览: 605804 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

表单数据的加密传输

 
阅读更多

一、表单数据的提交方式选择

       常用的与服务器进行的交互方式是GET和POST(关于两者的区别此处有详细的介绍),而一般在表单的数据提交中,都会选择POST方式,因为使用GET方法数据是通过URL传递的,在地址栏中会直接看到传递的数据,这样就缺少安全性。而使用POST传递时,是把提交的数据放置在HTTP包的包体中,地址栏不会看到数据。但是这样处理就能确保提交数据的安全性吗?

 

 

二、web数据传递的不安全性

        客户要浏览web网页,都是先连接web服务器,请求该网页文件,下载到本地再由浏览器解释执行最终看到丰富多彩的网页。http协议的这种工作模式,决定了web数据面向客户是开放的,实际http包在网络中也是通过明文传递的,通过一些抓包软件很容易捕捉到http包,自然也能得到用户提交的web数据。如右图是用wireshark抓到人人网登录时传递的数据包,从捕获的数据包中可以发现使用的是post方法提交数据,但从http包的包体中很容易找到提交的账号及密码,这样用户的信息在网络上进行传递时很容易被窃取。

三、用RSA加密web数据

      为了提高web数据传递的安全性,故在数据在网络上进行传递之前必须进行加密处理,如使用https进行web数据的完全加密传输,但是因为https是对所有的数据进行加密这样就影响了网页的浏览速率,况且有时只需对关键数据进行加密保护。这时就需要一些小规模的数据加密传输解决方法,此文提供了一种用RSA加密算法加密web数据,具体是在客户端用js脚本使用公钥加密数据,再在服务器端用PHP脚本程序使用私钥解密数据。在这为什么要使用非对称的加密算法RSA,为什么不使用加解密效率更快的对称加密算法如AES,DES,我个人认为是因为对称加密算法加密和解密使用的是同一密钥,而web文件都是下载到本地再解释执行的,这样再客户端的加密脚本程序很容易被用户看到同时也容易泄漏密钥,使用对称加密算法加密的数据也就丧失了安全性,但是使用非对称加密算法,只有私钥能解密出公钥加密的数据,所以只要确保私钥的保密性,就能确保经过公钥加密数据的安全性。

四、完善的加密传输方法

      如果使用RSA加密传输web数据,每次会话使用的都是同一密钥对,则可能存在非法用户冒充攻击,非法用户截获到用户向服务器提交的数据,虽是加密后的数据,但非法用户仍然可以直接向服务器POST截获到的加密后的数据,服务器端一但解密验证通过,则非法用户达到冒充合法用户的目的。这就是因为每次会话使用的是同一密钥,使每次登陆时提交的用户数据都是一样的,即使被加密,加密后的数据也是一样的,从而存在非法用户冒充合法用户的可能。解决这个问题的一个好的方法是没次会话使用不同的密钥对,这样即使非法用户再次提交加密后的数据,由于两次会话使用的是不同的密钥对,使得提交的数据在服务器端不能正确解密,从而验证出错。在用户登录时的具体实现是用户在提交数据前客户端先异步请求服务端生成本次会话密钥,并向客户端返回公钥,客户端再用公钥加密数据提交给服务端,服务端用私钥解密验证完后注销此次会话密钥。这样就确保用本次会话公钥加密的数据再次被提交到服务器端时服务端因使用的不是与之配对的私钥,不能解密出正确的数据从而验证失败,有效地避免了非法用户的冒充攻击。

分享到:
评论

相关推荐

    Unity 中通过UnityWebRequest POST传JSON格式的参数请求数据。

    Unity 中通过UnityWebRequest 以POST形式传JSON格式(键值对格式)的参数请求数据。

    java密码加密解密算法代码实现

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。 Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,...

    cryptoform:使用PGP加密的端到端加密Web表单

    含有序列化形式的数据和所有连接文件中的数据文件是压缩在一起成为使用单个压缩文件 (在存储器中,还未有任何上传) 使用或将zip文件加密为一个(或多个)公共PGP密钥zip文件将被丢弃,加密的zip文件将被传输到...

    C++使用 CHttpFile类,实现HTTP协议下请求数据,实现HTTP协议下多文件上传!VS2013开发,可直接运行!

    1:base64加密传输数据,解决宽字符,中文传输数据问题 2:模拟表单实现多类型文件上传 3:vs2013开发,完整项目上传,下载即可完整运行

    SecureBridge6.3.5.rar

    它使用SSH或SSL安全传输层协议和加密消息语法保护所有TCP流量,该协议为客户端和服务器提供身份验证,强大的数据加密和数据完整性验证。SecureBridge组件可以与数据访问组件结合使用,以防止在不受信任的网络中截获...

    SecureBridge For Delphi Xe10.3 Rio

    它使用SSH或SSL安全传输层协议和加密消息语法保护所有TCP流量,该协议为客户端和服务器提供身份验证,强大的数据加密和数据完整性验证。SecureBridge组件可以与数据访问组件结合使用,以防止在不受信任的网络中截获...

    Python爬虫抓取手机APP的传输数据

    大多数APP里面返回的是json格式数据,或者一堆加密过的数据 。这里以超级课程表APP为例,抓取超级课程表里用户发的话题。 1、抓取APP数据包 方法详细可以参考这篇博文:Fiddler如何抓取手机APP数据包 得到超级课程表...

    html登陆页面的完整代码

    当用户点击提交按钮时,表单数据将被提交到名为 "login.php" 的服务器端脚本。你可以根据需要修改表单的提交目标。 这是一个非常基础的登录页面,它只提供了用户名和密码的输入,并提交到服务器的 login.php 页面...

    基于Java + Uni-app 开发的新零售社交电商系统 CRMEB Java版

    5:标准RESTful 接口、标准数据传输,逻辑层次更明确,更多的提高api复用。 6:支持Redis队列,降低流量高峰,解除耦合,高可用。 7:无缝事件机制,行为扩展更方便,方便二次开发。 8:数据导出,方便个性化分析。 9:...

    B2C商城系统java语音开发

    4.标准RESTful 接口、标准数据传输,逻辑层次更明确,更多的提高api复用。 5.支持Redis队列,降低流量高峰,解除耦合,高可用。 6.数据导出,方便个性化分析。 7.数据统计分析,使用ECharts图表统计,实现用户、产品...

    CRMEB开源商城系统Java版 新零售社交电商系统/支持微信公众号、小程序、移动端

    5:标准RESTful 接口、标准数据传输,逻辑层次更明确,更多的提高api复用。 6:支持Redis队列,降低流量高峰,解除耦合,高可用。 7:无缝事件机制,行为扩展更方便,方便二次开发。 8:数据导出,方便个性化分析。 9:...

    CRMEB-java电商系统

    5:标准RESTful 接口、标准数据传输,逻辑层次更明确,更多的提高api复用。 6:支持Redis队列,降低流量高峰,解除耦合,高可用。 7:无缝事件机制,行为扩展更方便,方便二次开发。 8:数据导出,方便个性化分析。 9:...

    CRMEB开源商城系统Java版

    有产品、用户、购物车、订单、积分、优惠券、营销、余额、权限、角色、系统设置、组合数据、可拖拉拽的form表单等模块,大量的减少了二开的成本。系统代码全开源无加密,独立部署、二开方便,适用于企业新零售、分销...

    Crypto1Final-Bank:RPI 加密 I 类的最终项目

    ##Protocol 所有传输都使用一个 AES256 加密数据块。 未加密的规范在 spec.txt 中。 ATM 向银行发送请求,银行处理交易并发送响应。 不接受乱序包。 要强制断开与服务器的连接,请发送事务号为 255 的数据包和...

    Formularium:Formularium是FOSS,隐私至上且用户友好的工具包,适用于市政当局,以支持市政当局在线提供其公共服务

    配方α :warning: 配方奶粉仍在大力开发中:关于Formularium是... 只有管​​理人员才能在本地解密表单数据。 传输证明:申请人收到服务器已收到其表格的经过数字签名的收据。高层建筑相关项目项目设置npm install编

    CRMEB_开源打通版V4.6微信小程序公众号H5_App多语言分销商城源码.zip

    5:标准RESTful 接口、标准数据传输,逻辑层次更明确,更多的提高api复用。 6:支持Redis队列,降低流量高峰,解除耦合,高可用。 7:无缝事件机制,行为扩展更方便,方便二次开发。 8:数据导出,方便个性化分析。 9:...

    网站架构技术

    减少cookie传输, 静态资源使用独立域名访问 CDN加速 反向代理 应用服务器性能优化 分布式缓存 缓存的原理 合理使用缓存 频繁修改的数据 没有热点的访问 数据不一致和脏读 缓存可用...

    CRMEB_java电商系统.rar

    5:标准RESTful 接口、标准数据传输,逻辑层次更明确,更多的提高api复用。6:支持Redis队列,降低流量高峰,解除耦合,高可用。7:无缝事件机制,行为扩展更方便,方便二次开发。8:数据导出,方便个性化分析。9:数据...

Global site tag (gtag.js) - Google Analytics