网站安全登录 web应用安全登录 密码 防截获

声明:我对这一块非常不熟悉,这里提出的方案只是小弟一个想法而已,希望各方高手帮忙指出问题所在。

难题:

平时web应用,网站,一般都有用户登录这个功能,那么登录的话,肯定涉及到密码。怎么保证用户的密码不会被第三方不法之徒获取到呢?

不法之徒的途径肯定多了,高级点的,直接挂马啊,客户端木马啊。但这里不考虑这么多,就假设网页和客户端都是安全的,那么怎么防止网络中被截获呢?

原始方法:

一般如果是企业内部应用,没什么安全要求,就直接不管了。账号和明文密码发送~~了事~~

安全方法1:

post之前,先把密码用DES加密,到服务器解密。

问题:一旦被截获了key,很可能密码还是被人解密出来~~~

安全方法2:

数据库存的是密码的MD5散列值,每次post前先MD5散列。这样就可以避免被人解密密码了。

问题:好吧,我不解密你密码了。我直接重放攻击,你发什么给服务器,我就发什么到服务器,还不一样可以假冒你登陆。

安全方法3(暂时我想到比较安全的):

1、数据库存的是密码的MD5散列值(防止被人直接通过数据库入手)

2、每次打开登陆页面,随机给用户一个RSA公钥(为了保证效率,可以先生成几百个KEY对)

3、用户post密码前,用公钥加密。(即使被截获了公钥,密文也无法破解,数学证明的~~~嘿嘿。同时,即使不法者重放攻击,发送同样的密文到服务器,因为每次的公钥不一样,所以还是无法登陆)

4、由于只有几百个KEY,为了防止不法者不断的尝试,也许会碰巧遇上同一个公钥。那么还需要加入5次登陆失败就封账号30分钟的措施~~~(嘿,看你怎么试。当然,如果可以保证每次key都不一样,那么这里也可以跳过了)

5、服务器拿到公钥加密后的密码密文,用私钥解密,再散列,匹配数据库的密码MD5值~~完成·~

一些可用资源:

http://www.jcryption.org/

http://www.michalfranc.com/articles/jcryption.html

搞掂~~

参考一下HTTPS的原理:(http://zhenggm.iteye.com/blog/558785)

HTTPS通信过程的时序图如下:

图3 HTTPS通信时序图

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5656
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2717
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

32210
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2617
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4055
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

7068
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2606
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4878
来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2665

扫码关注云+社区