密码存储和传输安全性探析

密码存储和传输安全性探析

ID:5944094

大小:27.00 KB

页数:6页

时间:2017-12-29

密码存储和传输安全性探析_第1页
密码存储和传输安全性探析_第2页
密码存储和传输安全性探析_第3页
密码存储和传输安全性探析_第4页
密码存储和传输安全性探析_第5页
资源描述:

《密码存储和传输安全性探析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、密码存储和传输安全性探析  摘要:近年来,密码的安全越来越被人们所重视。本文详细探讨了密码存储的几种方式、密码传输过程中的安全保护,最后通过一个安全实例进行讲解。关键词:存储安全传输安全盐值不可逆中中图分类号:TP393.08文献标识码:A文章编号:1007-9416(2012)12-0152-01近年来,在互联网领域,密码安全越来越受到重视,特别是在去年CSDN密码泄露事件发生以后。在本文中,我们将详细讨论密码的存储安全与传输安全。作为软件开发者,我们有责任,有义务保护用户的个人信息,保障用户密码的安全。因为用户在使用我们产品的时候,只能选择信任我们。1、存储安全1.1在不到

2、万不得已的时候,不建议自己存储用户的密码可以考虑使用OAuth的提供者例如QQ互联、腾讯微博、新浪微博等。如果构建企业内部的应用,可以考虑使用已有的内部认证服务。无论你的系统是面向公众还是面向企业内部,用户都会更喜欢这种认证方式,同时也少了受黑客攻击的危险。61.2不存储明文密码在必须要存储用户密码的时候,不要使用明文进行密码的存储。将用户密码进行加密后存储,即使数据库泄露,黑客也无法获取用户的原始密码。1.3选择合适的算法即使对用户密码进行了加密存储,若选择的加密算法不够强壮,黑客也可以通过解密轻易的破解出用户的密码。所以,在选择加密算法的时候,我们可以遵循以下原则:1.3.

3、1不使用过时的哈希算法,如MD5在互联网上,有人构建了一个超大的md5库来反向的查询出明文。对于普通的MD5哈希值,秒级时间内便可以查出明文。1.3.2使用不可逆的加密算法使用不可逆加密算法,可以确保在数据库发生泄露后,不会泄露用户的明文密码。1.4使用盐值加密对于普通的哈希算法,虽然是不可逆的(如MD5),但因为其对同一个明文密码计算的结果是唯一的,所以可以使用“字典攻击”的方式来攻破系统。为了解决这个问题,我们可以使用盐值加密“salt-source”。6通常情况下,我们把为明文密码使用相同Hash算法而产生不同Hash值的手段叫做盐化,而在盐化的过程中,我们通常使用的方法

4、是添加盐值。所谓盐值,就是在盐化过程中所添加的额外地随机值。对于盐值的使用,我们可以遵循以下原则:(1)不直接存储盐值。盐值由某种算法产生,但需要对算法进行保密。(2)在必须要存储的情况,不把盐值与Hash值存储在相同表中。对于需要进行盐值存储的情况,我们不要把盐值和密码存储在相同的位置。2、传输安全一个安全的系统,我们还需要考虑如何保障传输的安全。2.1使用HTTPS进行传输在认证过程中,我们可以使用HTTPS进行认证信息的传输。HTTPS即SecureHypertextTransferProtocol,中文名称叫做安全超文本传输协议。HTTPS实际上应用了Netscape的

5、完全套接字层(SSL)作为HTTP应用层的子层。HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL。SSL即SecureSocketLayer,为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。只要3.0版本以上之I.E.或Netscape浏览器即可支持SSL。6当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。SSL协议位于TCP/IP协议与各种应用层协议之间,为数

6、据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSLRecordProtocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSLHandshakeProtocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。SSL协议提供的服务主要有:(1)认证用户和服务器,确保数据发送到正确的客户机和服务器;(2)加密数据以防止数据中途被窃取;(3)维护数据的完整性,确保数据在传输过程中不被改变。2.2在传输中使用不可逆的加密算法可以在密码传输前

7、,进行不可逆的加密,再将加密后的密码,传送到服务器端,由服务器端来判断用户的密码是否正确。但是该方法也存在一个漏洞,即黑客可以使用加密后的数据与服务器进行验证,骗取服务器的信任。所以,我们可以使用下面的方法进行系统安全设计。2.3在传输前使用盐值进行加密6在加密时,我们可以使用盐值来保证传输的加密密文只能使用一次。3、使用实例由于HTTPS使用与否,不会改变实例的设计,所以在此例中,我们不考虑HTTPS。(1)传输前使用盐值和不可逆算法进行数据加密.此处,不可逆算法我们使用两次md5的结果加

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。