WEB上用户口令安全传输的研究与实现精编版[27页].docx
《WEB上用户口令安全传输的研究与实现精编版[27页].docx》由会员分享,可在线阅读,更多相关《WEB上用户口令安全传输的研究与实现精编版[27页].docx(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、最新资料推荐目录第一章 引言.1第二章 网络安全.2第三章 加密技术.5第四章 MD5工作原理.8第五章 MD5算法.10结束语13致谢14参考文献15附录 源代码.16最新精品资料整理推荐,更新于二二一年一月十八日2021年1月18日星期一17:52:16WEB上用户口令安全传输的研究与实现数学计算机科学学院摘 要:主要阐述利用MD5加密算法来保证WEB上用户口令的安全传输。首先利用MD5对用户口令进行一次加密,然后再利用MD5对该密文和一个随机数组成的信息进行加密,形成网络上传输的用户口令,避免用户口令以明文的形式在WEB上进行传输,从而有效地提高认证系统中口令传输的安全性。关键词:口令;
2、MD5算法;网络安全The study and implementation of the Secure Transfer of Users Password on WEBSchool of Mathematics and Computer ScienceAbstract: In this paper,we mainly expound how to transfer our password in security on WEB by means of MD5.Firstly,we encrypt the password with MD5 and add a random number t
3、o the encrypted password to form a new message. Then encrypt the message with MD5 again to have a new encrypted password that is to be transferred on WEB. Enhances the security of authentication system based on WEB effectively.Key words: password;MD5 algorithm ;network security第一章 引言 随着计算机网络的发展,网络安全
4、问题受到越来越大的关注。网络安全一直是Internet的一个薄弱环节,因为当初设计TCP/IP时并没有考虑网络的安全机制。如Telnet、Ftp、Email和基于WEB的应用系统等都是明文方式传输数据包,其中就有用户的帐号和口令等非常重要的数据。而这些数据包很容易被人通过特定的软件或硬件工具截取,通过分析数据包的内容,从而可以获得用户的帐号和口令,然后进行一些非法的活动。因此,用户ID和口令的安全传输的问题越来越受到人们的关注。 Web程序使用一种称为会话状态管理(session state management)的技术来跟踪浏览器与服务器之间的交互,正如超文本传输协议所规定的那样,每个浏览器
5、的请求都独立于其他浏览器,一个Web程序必须使用一些技巧,如cookie,隐藏的表格字段,或URL重写,来识别其与特定的浏览器的特定的会话。大多数服务器端开发环境如ASP,PHP,ColdFusion等使用cookie。使用会话状态管理的问题是从根本上说它是不安全的,一个黑客可以在服务器和用户浏览器之间截取用来管理会话状态的cookie,表格字段值,或是URL,一旦得手,他就可以利用这些信息来接管用户的会话。大多数服务器端的脚本开发环境允许你减少这种危险,例如你可以指定cookie的极短失效时间,使用难预测的会话状态信息。然而最安全的还是使用安全套接层(SSL),购买它后,你就可以不仅保护用户
6、口令,还可以保护会话状态管理信息。如果你不使用SSL,让用户在你的程序中的安全敏感页面中每次都重新认证是个好主意,但是从用户角度出发,这实在是太麻烦了。最后,你必须考虑你和你的用户究竟愿意承担多大的风险。如果密码口令被曝光的危险很高,还是用SSL来构建你的程序吧,如果你不能使用SSL,那么就使用基于MD5的登陆过程。这至少能保护你的用户的口令。此外,选择一种允许保护会话状态信息的服务器端脚本技术。通常,当用户不使用SSL(即普通HTTP)登陆时,他(她)的口令从离开浏览器起至到达服务器为止始终是以明文状态暴露的。然而,利用一种称为单向函数的数学函数的帮助,我们可以设计一种并不暴露用户口令的登陆
7、计划。一个函数是一种将集合A的元素映射到集合B的方法,每个集合A中的元素都对应于集合B中的一个确定元素。而一个单向函数的作用就是使逆向的推算非常困难,即,给定集合B的一个元素,很难从集合A中决定哪个元素(如果存在的话)是映射到B集合中的这个元素的。用户试图登陆到一个Web应用程序时,服务器端脚本提供用户一个包含有从数十亿可能值中产生的随机数的表格,当用户在此登陆表格中输入她们的ID和口令,客户端的脚本将这个随机数值添加到口令后并加以MD5单向运算。通过MD5算法对用户口令进行加密,可以有效提高用户口令在WEB上传输的安全性。第二章 网络安全2.1网络安全原则最初的计算机应用程序通常没有或很少安
8、全性,这种情况一直持续了多年,知道人们真正认识到数据的重要性之前,人们虽然知道计算机数据有用,却没有加以保护。开发处理财务和个人数据的计算机应用程序时,对安全性产生了前所未有的需求。人们认识到,计算机数据是现代生活的重要方面。因此,安全的不同领域开始受到重视。网络安全原则包括保密性、完整性、鉴别、不可抵赖、访问控制和可用性等原则。保密性原则要求做到只有发送人和所有的接收人才能访问消息内容。如果非法人员能够访问消息内容,则破坏了保密性原则。鉴别机制可以建立身份证明,鉴别过程保证正确标识电子消息或文档来源。消息内容在发送方发出后和到达所有接受方之前发生改变时,就会失去消息的完整性。不可抵赖性是不允
9、许发送消息者拒绝承认发送消息。访问控制原则确定谁能访问什么。可行性原则指定要随时向授权方提供资源。2.2 网络面临的安全威胁计算机网络上的通信面临以下的4种威胁:(1) 截获:攻击者从网络上窃听听人的通信内容。(2) 中断:攻击者有意中断他人在网络上的通信。(3) 篡改:攻击者故意篡改网络上传送的报文。(4) 伪造:攻击者伪造信息在网络上传送。 这些攻击又分为主动攻击和被动攻击。1. 被动攻击 被动攻击的攻击者只是窃听或监视数据传输,即取得中途的信息。这里的被动攻击者不对数据进行任何修改。事实上,这也使被动攻击很难被发现。因此,处理被动攻击的一般方法是防止而不是探测与纠正。 图2.1又把被动攻
10、击分成两类,分别是消息内容泄露和通信量分析。 被动攻击(截获) 通信量分析 消息内容泄露图2.1 被动攻击消息内容泄露很容易理解。当发送保密电子邮件消息时,我们只希望对方才能访问,否则消息内容会被别人看到。利用某种安全机制,可以防止消息内容泄露。但是,如果传递许多这类消息,则攻击者可以猜出某种模式的相似性,从而猜出消息内容。2. 主动攻击与被动攻击不同的是,主动攻击以某种方式修改消息内容或生成假消息。这些攻击很难防止。但是,这时可以发现和恢复的。这些攻击包括中断、修改和伪造。在主动攻击中,会以某种方式修改消息内容。 中断攻击又称为伪装攻击。 修改攻击又可以分为重放攻击和改变消息。 伪造会产生拒
11、绝服务。图2.2显示了这个分类。 主动攻击 伪造(拒绝服务) 修改 中断(伪装) 重放攻击 改变消息攻击图2.2 主动攻击2.3 口令安全性分析口令攻击是一个一般性的术语,它描述各种行为,包括任何解密、破译以及删除口令的行为,或者任何绕道口令安全机制的其他方法。在计算机的安全行方面,口令攻击时比较原始的。事实上,口令解密是任何电脑网络攻击者新手和解密者首先要学习的内容,这主要是因为口令解密只需要很少的技术和经验。在大多数情况下,一个脆弱的口令安全机制会危及整个系统的安全。攻击在开始时只获得有限次的访问权,通过攻击不弱的口令安全机制,所获得的访问权迅速扩大。通常情况下,仅仅通过口令的攻击,攻击者
12、就可以获得登录的访问权,并且夺得对多个主机的控制权。网络攻击者为了获得目标系统的口令文件,试图以离线的方式破解口令。他们首先猜一个口令,然后,用于源文件系统中一样的加密算法来加密此口令,将加密的结果与文件中的加密口令比较,若相同则猜对了。因为很少有用户使用随即组合的数字和字母来做口令,许多用户使用的口令都可在 一个特殊的黑字典中找到。在这种口令攻击中,入侵者并不穷举所有的字母数字的排列组合来猜测口令,而仅仅用网络攻击者字典中的单词来尝试。网络攻击者们已经构造了这样的字典,不仅包括了英语或其他语言中的常见单词,还包括了网络攻击者词语、拼写有误的单词和一些人名。已有的网络攻击字典包括了大约2000
13、00多个单词,用来猜测口令非常成功,而对现代的计算机来说,尝试所有200000多个单词是很轻松的事。网络攻击者只要获得一个用户的口令,尤其是特权用户的口令,就可以为所欲为了。防范的方法很简单,只要是自己的口令不在英语字典中,且不可能被别人猜测出就可以了。2.4 口令攻击手段口令安全是保卫自己系统安全的第一道防线。人们总是试图通过猜测合法用户的口令来获得没有授权的访问。两个通行的做法,一是从存放了许多常用口令的数据库中选取一些“口令”来尝试,另一个做法是设法偷走口令文件,然后通过口令翻译工具来破译这些加密的口令。通常情况下,网络攻击者都喜欢等到一个系统的口令文件。在许多UNIX系统中,要得到口令
14、文件并不是那么容易,因为口令文件只有超级用户可以读写。因此,口令文件如果能够被盗走,在绝大多数情况下,说明系统的超级用户的权限,在某种特定情况下,可以被攻击者直接或者地行使。攻击者之所以想到的系统存放口令的文件,是因为他们可以从口令文件中,破译出一些口令来,以便以后能够以合法的用户访问这台机器。因此,当超级用户发现系统中的口令文件被非法访问过时,一定要更换所有的用户的口令。当一个攻击者得到了初始的访问权时,就会到处查看,寻找系统中的其他安全漏洞,希望得到进一步的特权。因此,使系统安全的第一步便是是那些未被授权的用户不能进入系统。这就要教育用户懂得什么事口令安全并遵守安全规定。防止入侵者读取口令
15、文件,可以减少他们登录进入系统的可能性。这需要人们知道的是,取得口令文件并不一定要登录进系统,而没有登录进系统照样可以进行许多攻击活动。口令攻击的主要有以下几种手段。1、社会工程学(Social Engineering),通过人际交往这一非技术手段以欺骗、套取的方式来获得口令。避免此类攻击的对策是加强用户意识。2、猜测攻击。首先使用口令猜测程序进行攻击。口令猜测程序往往根据用户定义口令的习惯猜测用户口令,像名字缩写、生日、宠物名、部门名等。在详细了解用户的社会背景之后,黑客可以列举出几百种可能的口令,并在很短的时间内就可以完成猜测攻击。3、字典攻击。如果猜测攻击不成功,入侵者会继续扩大攻击范围
16、,对所有英文单词进行尝试,程序将按序取出一个又一个的单词,进行一次又一次尝试,直到成功。据有的传媒报导,对于一个有8万个英文单词的集合来说,入侵者不到一分半钟就可试完。所以,如果用户的口令不太长或是单词、短语,那么很快就会被破译出来。4、穷举攻击。如果字典攻击仍然不能够成功,入侵者会采取穷举攻击。一般从长度为1的口令开始,按长度递增进行尝试攻击。由于人们往往偏爱简单易记的口令,穷举攻击的成功率很高。如果每千分之一秒检查一个口令,那么86%的口令可以在一周内破译出来。5、混合攻击,结合了字典攻击和穷举攻击,先字典攻击,再暴力攻击。第三章 加密技术3.1几种常见的加密技术加密技术包括两个元素:算法
17、和密钥。算法是将普通的文本(或者可以理解的信息)与一串数字(密钥)的结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解码的一种算法。在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络的信息通讯安全。密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种。相应地,对数据加密的技术分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。对称加密以数据加密标准算法为典型代表,非对称加密通常以RSA(Rivest Shamir Ad1eman)算法为代表。对称加密的加密密钥和解密密钥相同,而非对称加密的加密密钥和解密密钥不同,加密密钥可以公开而解密密钥需要保密。1.计算
18、机对称密钥加密算法对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又称为传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信性至关重要。几种常见的对称密钥加密算法:DES、IDEA、RC5、Blowfish等。以上几种算法的具体工作原理本文就不作详细解析了。2.计算机非对称密钥加密算法与
19、对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称密钥加密的工作原理如下:(1) A将这A要给B发消息时,A用B的公钥加密信息,因为A知道B的公钥。(2) A将这个信息发给B(已经用B的公钥加密信息)(3) 用自己的私钥解密的信息。注意,只有知道自己的私钥。另外,这个消息只能用的私钥解密,而不能用别的密钥解密。
20、因此,别人都无法看懂这个信息,即使他能够截获这个信息。这是因为入侵者不知道的私钥,而这个信息只能用的私钥解密。几种常见的非对称密钥加密算法:RSA、Elgamal、背包算法、Rabin、D-H、ECC。下面来具体介绍RSA算法。RSA算法基于这样的数学事实:两个大素数很容易相乘,而得到的积因子则很难。RSA中的私钥和公钥基于大素数(100位以上),算法本身很简单,但实际难度在于RSA选择和生成私钥和公钥。下面看看如何生成私钥和公钥,如何用其进行加密和解密。整个过程如图3.1所示。(1) 选择两个大素数P、Q(2) 计算NPQ(3) 选择一个公钥(即加密密钥)E,使其不是(P-1)与(Q-1)的
21、因子(4) 选择私钥(即解密密钥)D,满足下列条件:(DE)mod(P-1)(Q-1)1(5) 加密时,从明文PT计算密文CT如下:CTPTE mod N(6) 将密文CT发送给接收方。(7) 解密时,从密文CT计算明文PT如下PTCTD mod N图3.1 RSA算法3.2 消息摘要消息摘要也成为散列,是指消息的指印或汇总,类似于纵向冗余校验和循环冗余校验。用于验证数据完整性(即保证信息在发送之后和接受之前没有被篡改)。下面举一个LRC示例。图3.2显示了发送方的LRC计算,纵向冗余校验将位块组成列表(行)。例如,如果要发送32位,则把其排成四行,然后计算每个列(共8列)有多少个1位(如果1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 27页 WEB 用户 口令 安全 传输 研究 实现 精编 27
限制150内