MAS短信认证功能的研究与应用.doc

上传人:仙人指路1688 文档编号:4015400 上传时间:2023-04-01 格式:DOC 页数:44 大小:395KB
返回 下载 相关 举报
MAS短信认证功能的研究与应用.doc_第1页
第1页 / 共44页
MAS短信认证功能的研究与应用.doc_第2页
第2页 / 共44页
MAS短信认证功能的研究与应用.doc_第3页
第3页 / 共44页
MAS短信认证功能的研究与应用.doc_第4页
第4页 / 共44页
MAS短信认证功能的研究与应用.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《MAS短信认证功能的研究与应用.doc》由会员分享,可在线阅读,更多相关《MAS短信认证功能的研究与应用.doc(44页珍藏版)》请在三一办公上搜索。

1、成 果 报 告 成果名称 MAS短信认证功能的研究与应用 完成单位 中国移动通信集团上海有限公司 集团客户部 中国移动通信集团上海有限公司摘 要在现在的大型应用系统中,随着网络技术的飞速发展,网络安全问题也越来越突出。顺应这一趋势,涌现出了许多的网络安全技术,如网络防火墙、病毒检测、密码技术、身份认证等。但是,即使如此,还是有很多用户的信息及应用系统服务器传输的信息被截取和到盗用。手机短信经过了长时间的发展,已经到了一个非常成熟的阶段。作为一种非常重要的沟通方式,被广大用户所接受和广泛使用。而且也被越来越多的企业所重视及应用。本文介绍是的基于手机短信作为传输媒介来发送应用系统的登陆验证码,为应

2、用系统和用户提供方便灵活的、即时安全的验证交流。关键词: 短信、认证码、应用系统目 录摘 要1目 录21.引 言11.1.研究背景11.1.1.手机短信发展介绍11.1.2.互联网发展问题21.2.研究的目的及意义21.2.1.研究目的21.2.2.研究的意义31.3.本章小结32.系统分析52.1.系统目标52.2.可行性分析52.3.课题研究方法52.4.需求分析62.5.本章小结73.系统流程论述83.1.通道认证方式83.1.1.认证技术93.1.2.认证方式153.2.加密算法及流程163.2.1.加密算法的论述173.2.2.加密方式253.2.3.参数选择263.2.4.加密流程

3、273.2.5.反向认证283.3.本章小结294.系统协议及接口设计304.1.接口的选择304.2.协议的分类314.3.协议承载方式324.4.IAMDM-SS协议344.5.IAMDM-SC协议364.5.1.软件管理协议设计374.5.2.配置管理协议设计394.6.IAMDM-CC协议404.6.1.应用控制协议设计404.6.2.应用数据获取协议设计414.7.本章小结425.身份认证的应用435.1.应用前景和发展方向435.2.身份认证的应用简述445.3.本章小结496.结 论501. 引 言1.1. 研究背景1.1.1. 手机短信发展介绍自从2000年我国正式开通推广短信

4、服务以来,手机短信在近几年取得了长足发展,用户数量也直线上升。随着3G手机的出现和移动互联技术的成熟,手机对媒体的渗透日益深入,已成为一个重要媒介,“拇指经济”已深入人心。手机短信体现了几点特征: (1)定位受众准确 可发送一对一的个人化信息。除了某些直接邮寄的广告,传统的媒体都是把完全相同的广告信息传递给所有人。但是通过短信,我们可以向不同的人传送不同的信息,使发送内容更具说服力、吸引力。 (2)到达率高 手机已经成为亿万人每日接触次数最多的物品,无论何时何地用户都可以查看到通过手机传递给他(她),以便帮企业实施本地化推广。 (3)时效性长 用户总是和手机绑定在一起,许多用户很少更换手机,那

5、么在手机上内嵌的一些内容可以被这些用户长期反复蒯读到。 (4)可信度高 手机可以说足一种“亲媒体”,作为一种随身携带的终端,用户总是一个人独立使用用户对手机上的内容总是会产生一种“亲近”的可以信赖的感觉,似乎这些内容是专为某个用户定制的。 (5)传播速度快。当手机成为媒体时,信息传播速度之快就像计算机病毒蔓延一般。虽然手机短信具有以上优势,但其在媒介应用领域的发展仍处于初始阶段。1.1.2. 互联网发展问题在21世纪这个日新月异的发展时代,信息的传播非常重要。可以说人们每天都离不开信息的传播和沟通。互联网的产生使得信息的传播发生了翻天覆地的变化,也给人们的生活和工作带来很大的改变,很难设想离开

6、了互联网,我们的生活会变得怎样。虽然互联网的应用也就是十来年的时间,但它已经与我们的生活方式、学习方式、工作方式乃至于思维方式都紧密地融合在一起了。但在以互联网为代表的信息社会里,信息要有效到达个人变得越来越困难。然而手机短信具有其他媒体所没有的优势,如即时性、定向传播、互动性等,这些特征决定了手机短信具有传统媒体无法比拟的传播效果。手机短信是一种半强制性的通讯媒体,手机短信直达个人,几乎可保证100%的阅读率。同时,手机具有其他媒体所没有的优势,它可无线移动,随身携带,还有一个遍布全球运行稳定的GPRS网络,保证了它更大程度上的自由。手机短信用户无论身处何地,何种状态都可以接收短信,关机也不

7、会遗失信息,从而最大限度地摆脱了物质媒介工具可能对传播活动带来的限制。把手机短信和互联网进行有效应用及结合,这样使得消息的传播和通讯更加的迅速、更加方便。既有广度、又能直达用户。1.2. 研究的目的及意义1.2.1. 研究目的基于以上分析,本文的研究目标是使手机短信和应用系统业务联系起来。通过短信通讯方式,来发送web应用系统用户登陆验证码。使得短信通讯能够更好的应用于互联网。在本课题中我们主要研究本系统平台与web应用系统之间如何更好的进行相互的认证及接口通讯;如何把通道和接口设计得更加的便于扩展,做到跨平台、易移植。使易用性和便利性能够很好的展现。重点研究验证码和传输数据的加密及解密方式及

8、通道认证流程,使得传输的信息更加安全、可靠。1.2.2. 研究的意义本课题通过对手机短信和应用系统业务的结合研究及开发,通过 (1)对数据加密算法的研究,使得用户的信息数据得到了即时的、可靠的传输,即保证用户的利益又维护了应用系统的安全性。(2) 对于短信通道和应用系统通道接口的研究,方便多种的业务的扩展,也保证应用系统资源可以利用短信优势得以更好的推广。(3)短信业务和互联网的紧密融合,表明了通信信息和网络资源的有效结合。使得短信业务不单单应用于个人和企业,而是达到了一个新的领域,向着更加广阔的空间迈进。综上所述,通过研究和开发本系统,催化了“软件十通信行业+互联网”的紧密结合,同时也对这个

9、新的产业链条如何走向良性循环,给出了一个很好的定义。1.3. 本章小结本章节首先介绍手机短信的发展和互联网信息交互面临的问题,阐明了本次研究的背景,并由此引出本论文的研究背景和研究目标。如何结合短信方式和手机的特性寻找应用系统信息认证的方法。2. 系统分析2.1. 系统目标基于短信的应用系统验证码系统的终极目标是根据web应用系统提供的业务类型及用户信息来生成随机的验证码,通过数据的加密手段及通道接口把数据准确地、安全的传达给对应应用系统,并把验证码通过手机短信发送用户,方便用户登陆web的应用系统系统,浏览网络资源。2.2. 可行性分析1)业务可行性:本课题是基于短信的web应用而产生的,短

10、信虽然已经很普及,但是对于web的应用领域还很缺乏,应该说还在初级阶段,所以具有很好推广性和应用环境,应用场景十分广阔。2) 技术可行性:在这个互联网和信息飞速的时代,IT技术也快速增长着,对于数据通信和信息交互已经应用的非常广泛。所以对实现课题的设计研究提供了参考及使用。3) 目标可行性:积极推广集团客户使用此系统,此课题的研究及实施,更好的推广了集团客户的使用。2.3. 课题研究方法1)调查研究:首先进行调查此课题的应用场景和应用的环境,不用的web应用系统有不用应用场景。对于类似的场景和环境的应用都归于同一类。2)个案研究:对于不同的应用进行个案研究,区分出它们共有的特点和不同之处,针对

11、不同之处进行区别对待。3)实验研究:参考目前流行的趋势及以往应用的经验,进行整体的设计,可以采用多种方案来进行测试,分析每种方案的优劣势,并选择最为合适的方案。4)行动研究:对选出的最为合适的方案进行深入研究和分析。并进行具体的行动实施,最后实现为最终的项目成果。2.4. 需求分析本课题根据网络需求、用户需求、短信通信需求三个角度来确定,通过短信服务与web应用系统相结合来实现发送验证码业务,使得短信服务和web互联网有效的结合,满足了企业的需求,提高企业应用的效率。 1)web应用系统为了自身的安全需要用户注册和登陆时采用不同的验证码登陆,而且需要保证验证码的时效性。并且需要把数据以点对点的

12、方式传达给使用的用户。并保证数据的可靠和安全。2)用户需要的只是针对于自己的数据,并且只是需要自己知道,不会泄露数据,而且用户更加需要的是验证码获取的即时性和易用性,使自己更快更方便的使用网络资源。3)手机短信和wab应用系统之间进行数据传输时,如何保证数据传输的保密性,网络传输的成功率,接口业务的扩展性。 功能流程图12.5. 本章小结本章首先简述了系统主要的目标是用个性化信息来生成验证码,然后对系统的三大可行性进行了分析并确认了课题的研究方法。最后,对系统的具体需求进行了阐述,表明了系统主要实现的功能。3. 系统流程论述系统和web应用系统进行数据信息传输和交互,那么需要保证网络传输的数据

13、安全,即网络安全网络安全应具有以下五个方面的特征: 1) 保密性:信息不泄露给非授权用户、实体或过程,或供其利用的特性。 2) 完整性:数据未经授权不能进行改变的特性。即信息在存储或传输过程中保持不被修改、不被破坏和丢失的特性。 3) 可用性:可被授权实体访问并按需求使用的特性。即当需要时能否存取所需的信息。例如网络环境下拒绝服务、破坏网络和有关系统的正常运行等都属于对可用性的攻击; 4) 可控性:对信息的传播及内容具有控制能力。 5) 可审查性:出现的安全问题时提供依据与手段。下面我们重点研究本系统和web应用系统的通道之间的认证方式、验证码的加密算法和加密方式。3.1. 通道认证方式服务平

14、台要和web应用系统进行信息传输和数据交互,需要定制公共约定的接口,建立传输的通道。为了保障在Internet上数据传输的安全,需要双方进行身份认证。 3.1.1. 认证技术l 静态口令认证传统的认证技术主要采用基于口令的认证方法。当被认证对象要求访问提供服务的系统时,提供服务的认证方要求被认证对象提交该对象的口令,认证方收到口令后,将其与系统中存储的用户口令进行比较,以确认被认证对象是否为合法访问者。这种认证方法的优点在于简单实用。然而,基于口令的认证方法存在下面几点不足:(1)用户每次访问系统时都要以明文方式输入口令,这时很容易泄密。(2)口令在传输过程中可能被截获。(3)系统中所有用户的

15、口令以文件形式存储在认证方,攻击者可以利用系统中存在的漏洞获取系统的口令文件。(4)用户在访问多个不同安全级别的系统时,都要求用户提供口令,用户为了记忆的方便,往往采用相同的口令。而低安全级别系统的口令更容易被攻击者获得,从而用来对高安全级别系统进行攻击。(5)只能进行单向认证,即系统可以认证用户,而用户无法对系统进行认证。攻击者可能伪装成系统骗取用户的口令。 l 用户名/密码方式 用户名/密码是最简单也是最常用的身份认证方法,它是基于“what you know”的验证手段。每个用户的密码是由这个用户自己设定的,只有他自己才知道,因此只要能够正确输入密码,计算机就认为他就是这个用户。 然而实

16、际上,由于许多用户为了防止忘记密码,经常会采用容易被他人猜到的有意义的字符串作为密码,这存在着许多安全隐患,极易造成密码泄露。即使能保证用户密码不被泄漏,由于密码是静态的数据,并且在验证过程中,需要在计算机内存中和网络中传输,而每次验证过程使用的验证信息都是相同的,很容易被驻留在计算机内存中的木马程序或网络中的监听设备截获。因此用户名/密码方式是一种极不安全的身份认证方式。 l IC卡认证 IC卡是一种内置了集成电路的卡片,卡片中存有与用户身份相关的数据,可以认为是不可复制的硬件。IC卡由合法用户随身携带,登录时必须将IC卡插入专用的读卡器中读取其中的信息,以验证用户的身份。IC卡认证是基于“

17、what you have”的手段,通过IC卡硬件的不可复制性来保证用户身份不会被仿冒。 然而由于每次从IC卡中读取的数据还是静态的,通过内存扫描或网络监听等技术还是很容易能截取到用户的身份验证信息。因此,静态验证的方式还是存在着根本的安全隐患。 l 动态口令 动态口令技术是一种让用户的密码按照时间或使用次数不断动态变化,每个密码只使用一次的技术。它采用一种称之为动态令牌的专用硬件,密码生成芯片运行专门的密码算法,根据当前时间或使用次数生成当前密码。用户使用时只需要将动态令牌上显示的当前密码输入客户端计算机,即可实现身份的确认。 由于每次使用的密码必须由动态令牌来产生,只有合法用户才持有该硬件

18、,所以只要密码验证通过就可以认为该用户的身份是可靠的。而动态口令技术采用一次一密的方法,也有效地保证了用户身份的安全性。但是如果客户端硬件与服务器端程序的时间或次数不能保持良好的同步,就可能发生合法用户无法登录的问题,这使得用户的使用非常不方便。 l 生物特征认证 生物特征认证是指采用每个人独一无二的生物特征来验证用户身份的技术,常见的有指纹识别、虹膜识别等。从理论上说,生物特征认证是最可靠的身份认证方式,因为它直接使用人的物理特征来表示每一个人的数字身份,几乎不可能被仿冒。 不过,生物特征认证是基于生物特征识别技术的,受到现在的生物特征识别技术成熟度的影响,采用生物特征认证还具有较大的局限性

19、:首先,生物特征识别的准确性和稳定性还有待提高;其次,由于研发投入较大而产量较小的原因,生物特征认证系统的成本非常高。 l USB Key认证 基于USB Key的身份认证方式是一种方便、安全、经济的身份认证技术,它采用软硬件相结合、一次一密的强双因子认证模式,很好地解决了安全性与易用性之间的矛盾。 USB Key是一种USB接口的硬件设备,它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书,利用USB Key内置的密码学算法实现对用户身份的认证。基于USB Key身份认证系统主要有两种应用模式:一是基于冲击/响应的认证模式;二是基于PKI体系的认证模式。l 数字证书数字证书是一个经证书授

20、权中心(也叫认证中心,简称CA)数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循ITUX.509国际标准6。当用户向某一服务器提出访问请求时,服务器要求用户提交数字证书。收到用户的证书后,服务器利用CA的公开密钥对CA的签名进行解密,获得信息的散列码。然后服务器用与CA相同的散列算法对证书的信息部分进行处理,得到一个散列码,将此散列码与对签名解密所得到的散列码进行比较,若相等则表明此证书确实是CA签发的,而且是完整的未被篡改

21、的证书。这样,用户便通过了身份认证。服务器从证书的信息部分取出用户的公钥,以后向用户传送数据时,便以此公钥加密,对该信息只有用户可以进行解密。数字证书是一个经证书授权中心(也叫认证中心,简称CA)数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循ITUX.509国际标准6。当用户向某一服务器提出访问请求时,服务器要求用户提交数字证书。收到用户的证书后,服务器利用CA的公开密钥对CA的签名进行解密,获得信息的散列码。然后服务器用

22、与CA相同的散列算法对证书的信息部分进行处理,得到一个散列码,将此散列码与对签名解密所得到的散列码进行比较,若相等则表明此证书确实是CA签发的,而且是完整的未被篡改的证书。这样,用户便通过了身份认证。服务器从证书的信息部分取出用户的公钥,以后向用户传送数据时,便以此公钥加密,对该信息只有用户可以进行解密。基于X.509证书的认证技术适用于开放式网络环境下的身份认证,该技术己被广泛接受,许多网络安全程序都可以使用X.509证书(如:IPSec, SSL, SET等)。 由于这种认证技术中采用了非对称密码体制,CA和用户的私钥都不会在网络上传输,避免了基于口令的认证中传输口令所带来的问题。攻击者即

23、使截获了用户的证书,但由于无法获得用户的私钥,也就无法解读服务器传给用户的信息。 基于X.509证书的认证实际上是将人与人之间的信任转化为个人对组织机构的信任,因此这种认证系统需要有CA的支持。CA在确信用户的身份后才为用户签发证书,而CA对用户身份的确认则遵循CA自己定义的称为CPS(Certification Practice Statement)的规则,CA通过这些规则来判定用户是否存在和有效。证书将用户的唯一名称与用户的公钥关联起来。但这种关联是否合法,却不属于X.509所涉及的范畴。X.509规定:凡是与语义或信任相关的所有问题都依赖于CA的证书常规声明CPS,即关联的合法性取决于C

24、A自己定义的CPS规则。显然,这种做法会导致各个CA对用户的确认方法和确认的严格程度上的差异。因此,建立全球性的统一的认证体系以及相关的规范就显得非常必要。l SSL协议 SSL(Secure socket Layer)即安全套接层协议,指使用公钥和私钥技术组合的安全网络通讯协议。SSL协议是网景公司(Netscape)推出的在网络传输层之上提供的一种用基于浏览器和WEB服务器之间的安全连接技术。 SSL协议采用数字证书及数字签名进行双端实体认证,用非对称加密算法进行密钥协商,用对称加密算法将数据加密后进行传输以保证数据的保密性,并且通过计算数字摘要来验证数据在传输过程中是否被篡改和伪造,从而

25、为敏感数据在Internet上的传输提供了一种安全保障手段。 身份认证是指计算机及网络系统确认操作者身份的过程。访问控制是指控制访问服务器的用户以及访问者所访问的内容,限制访问者对重要资源的访问。基于SSL协议的身份认证和访问控制的实现原理将根据系统的架构不同而有所不同。对于B/S架构,将采用利用Web服务器对SSL技术的支持,可以实现系统的身份认证和访问控制安全需求。而对于C/S架构,将采用签名及签名验证的方式,来实现系统的身份认证和访问控制需求。 基于B/S架构的SSL身份认证和访问控制是利用数字证书来实现的。目前,SSL技术已被大部份的Web Server及Browser广泛支持和使用。

26、采用SSL技术,在用户使用浏览器访问Web服务器时,会在客户端和服务器之间建立安全的SSL通道。在SSL会话产生时:首先,服务器会传送它的服务器证书,客户端会自动的分析服务器证书,来验证服务器的身份。其次,服务器会要求用户出示客户端证书(即用户证书),服务器完成客户端证书的验证,来对用户进行身份认证。对客户端证书的验证包括验证客户端证书是否由服务器信任的证书颁发机构颁发、客户端证书是否在有效期内、客户端证书是否有效(即是否被篡改等)和客户端证书是否被吊销等。验证通过后,服务器会解析客户端证书,获取用户信息,并根据用户信息查询访问控制列表来决定是否授权访问。要利用SSL技术,在Web服务器上必需

27、安装一个Web服务器证书,用来表明服务器的身份,并对Web服务器的安全性进行设置。服务器证书由CA认证中心颁发,在服务器证书内表示了服务器的域名等证明服务器身份的信息、Web服务器端的公钥以及CA对证书相关域内容的数字签名。服务器证书都有一个有效期,Web服务器需要使用SSL功能的前提是必须拥有服务器证书,利用服务器证书来协商、建立安全SSL安全通道。 这样,用户使用浏览器访问Web服务器,发出SSL握手时,Web服务器将配置的服务器证书返回给客户端,通过验证服务器证书来验证他所访问的应用系统是否真实可靠。 3.1.2. 认证方式认证方式可以采用交互式认证和网络身份认证。成功的用户身份认证取决

28、于这两个过程。1. 交互式认证交互式认证过程向域账户或本地计算机确认用户的身份。这一过程根据用户账户的类型而不同。 使用域账户:用户可以通过存储在Active Directory目录服务中的单一注册凭据使用密码或智能卡登录到网络。如果使用域账户登录,被授权的用户可以访问该域及任何信任域中的资源;如果使用密码登录到域账户,将使用Kerberos V5进行身份认证;如果使用智能卡,则将结合使用Kerberos V5身份认证和证书。使用本地计算机账户:用户可以通过存储在安全账户管理器(本地安全账户数据库,SAM)中的凭据登录到本地计算机。任何工作站或成员服务器均可以存储本地用户账户,但这些账户只能用

29、于访问该本地计算机。2. 网络身份认证网络身份认证向用户尝试访问的任何网络服务确认用户的身份证明。为了提供这种类型的身份认证,安全系统支持多种不同的身份认证机制,包括Kerberos V5、安全套接字层/传输层安全性 (SSL/TLS),以及为了与 Windows NT 4.0兼容而提供的NTLM。 网络身份认证对于使用域账户的用户来说不可见。使用本地计算机账户的用户每次访问网络资源时,必须提供凭据(如用户名和密码),而使用域账户,则用户就具有了可用于单一登录的凭据。3.2. 加密算法及流程加密和解密技术是本课题的重中之重,我们这里会重点研究通道和验证码的加密和解密技术以及加密的流程。3.2.

30、1. 加密算法的论述为了保证传输数据的安全性,除了对通道的身份认证以外,还需要对传输的原始数据信息进行加密。下面我们重点对传输数据的加密算法和URL通道地址可信的加密方式进行论述。主要讨论加密的方式、加密算法以及加密技术。对于数据的安全保密所采用的方式,是利用技术手段把重要的数据变为乱码加密再传送,到达目的地后再用相同或不同的手段还原解密。加密就是将文字转换成不能直接阅读的形式(即密文)的过程。解密就是将密文转换成能够直接阅读的文字(即明文)的过程称为解密。这样的技术手段我们可以称为加密技术。加密技术包括两个元素:算法和密钥。算法是将普通的文本(或者可以理解的信息)与一窜数字(密钥)的结合,产

31、生不可理解的密文的步骤,密钥是用来对数据进行编码和解码的一种算法。在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络的信息通讯安全。密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种。相应地,对数据加密的技术分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难。 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥和私有密。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加

32、密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。由于加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。下面来研究加密算法: 一个加密系统S可以用数学符号描述如下: S=P, C, K,

33、E, D ,其中 P明文空间,表示全体可能出现的明文集合,C密文空间,表示全体可能出现的密文集合,K密钥空间,密钥是加密算法中的可变参数,E加密算法,由一些公式、法则或程序构成,D解密算法,它是E的逆。 当给定密钥kÎK时,各符号之间有如下关系: C = Ek(P), 对明文P加密后得到密文CP = Dk(C) = Dk(Ek(P), 对密文C解密后得明文P 如用E-1 表示E的逆,D-1表示D的逆,则有: Ek = Dk-1且Dk = Ek-1 ;因此,加密设计主要是确定E,D,K。常见加密算法概述:MD5算法MD5的全称是Message-Digest Algorithm 5(信

34、息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被压缩成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑。M

35、D5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。 在MD5算法中,首先需要对信息进行填充,使其位长度对512求余的结果等于448。因此,信息的位长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,再在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,现在的信息字节长度=N*512+

36、448+64=(N+1)*512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。 MD5中有四个32位被称作链接变量(Chaining Variable)的整数参数,他们分别为:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。 当设置好这四个链接变量后,就开始进入算法的四轮循环运算。循环的次数是信息中512位信息分组的数目。DES(Data Encryption Standard)数据加密标准,速度较快,适用于加密大量数据的场合; 是否对称加密的典型代表。算法方式:使用一个 56 位的密钥以及附加的 8 位奇

37、偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。安全性:DES是安全性比较高的一种算法,目前只有一种方法可以破解该算法,那就是穷举法.如采用64位密钥技术,实际只有56位有效,8位用来校验的.有这样的一台PC机器,它能每秒计算一百万次,那么256位空间它要穷举的时间为2285年.所以这种算法还是比较安全的一种算法.特点:

38、速度较快,适用于加密大量数据的场合。 缺点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。应用场景:适用于金融数据的安全中,通常自动提款机ATM都适用DES.3DES(Triple DES)3DES是DES加密算法的一种模式,它使用3条56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年被ANSI组织规范为ANSI X.3.92。DES使用56位密钥和密码块的方法,而在密码块的方法中,文本被分成64位大小的文本块然后再进行加密。比起最初的DES,3DES更为安全。 3DES(即Triple DES)是DES向AES过渡

39、的加密算法(1999年,NIST将3-DES指定为过渡的加密标准),是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加密算法,其具体实现如下:设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,P代表明文,C代表密表,这样, 3DES加密过程为:C=Ek3(Dk2(Ek1(P) 3DES解密过程为:P=Dk1(EK2(Dk3(C)如图:三层加密方式RC2对称算法RC2是由著名密码学家Ron Rivest设计的一种传统对称分组加密算法,它可作为DES算法的建议替代算法。它的输入和输出都是64比特。密钥的长度是从8字节到128字节可变。用变长

40、密钥对大量数据进行加密RC4对称算法RC4加密算法是大名鼎鼎的RSA三人组中的头号人物Ron Rivest在1987年设计的密钥长度可变的流加密算法簇。之所以称其为簇,是由于其核心部分的S-box长度可为任意,但一般为256字节。该算法的速度可以达到DES加密的10倍左右,且具有很高级别的非线性。 RC4算法的原理很简单,包括初始化算法(KSA)和伪随机子密码生成算法(PRGA)两大部分。假设S-box长度和密钥长度均为为n。先来看看算法的初始化部分(用类C伪代码表示)IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密

41、钥提供非常强的安全性;类似于DES,IDEA算法也是一种数据块加密算法,它设计了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。与DES的不同处在于,它采用软件实现和采用硬件实现同样快速。64-位数据分组被分成4个16-位子分组:xl,X2,x3,x4。这4个子分组成为算法的第一轮的输入,总共有8轮。在每一轮中,这4个子分组相列相异或,相加,相乘,且与6个16-位子密钥相异或,相加,相乘。在轮与轮间,第二和第:个子分组交换。最后在输出变换中4个子分组与4个子密钥进行运算。RSA(Rivest Shamir Ad1eman)非对称加密加密的代表, RSA 公司发明,是一个支持变

42、长密钥的公共密钥算法,需要加密的文件块的长度也是可变的。公钥和私钥都是两个大素数(大于100个十进制位)的函数。安全性:RSA的安全性依赖于大数分解。从提出到现在已近二十年,经历了各种攻击的考验,普遍认为是目前最优秀的公钥方案之一。特点:由于进行的都是大数计算,使得RSA最快的情况也比DES慢上100倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。应用场景:RSA 可用于数字签名。AES(Advanced Encryption Standard)密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法

43、,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。AES的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位。AES加密数据块大小最大是256bit,但是密钥大小在理论上没有上限。AES加密有很多轮的重复和变换。大致步骤如下:1、密钥扩展(KeyExpansion),2

44、、初始轮(Initial Round),3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、最终轮(Final Round),最终轮没有MixColumns。BLOWFISH算法Blowfish是一个64位分组及可变密钥长度的分组密码算法,算法由两部分组成:密钥扩展和数据加密。密钥扩展把长度可达到448位的密钥转变成总共4168字节的几个子密钥。 数据加密由一个简单函数迭代16轮,每一轮由密钥相关的置换,密钥相关和数据相关的代替组成。所有的运算都是32位字的加法和异或,仅有的另一个运算是每轮的四个查表。 Blowfi

45、sh使用了大量的子密钥,这些密钥必须在加密及解密之前进行预计算。 3.2.2. 加密方式1) 链路加密方式 采用链路加密方式,从起点到终点,要经过许多中间节点,在每个节点地均要暴露明文(节点加密方法除外),如果链路上的某一节点安全防护比较薄弱,那么按照木桶原理(木桶水量是由最低一块木板决定),虽然采取了加密措施,但整个链路的安全只相当于最薄弱的节点处的安全状况。 链路加密,每条物理链路上,不管用户多少,可使用一种密钥。在极限情况下,每个节点都与另外一个单独的节点相连,密钥的数目也只是n*(n-1)/2 种。这里n是节点数而非用户数,一个节点一般有多个用户。2) 节点对节点加密方式节点加密能给网

46、络数据提供较高的安全性,但它在操作方式上与链路加密是类似的两者均在通信链路上为传输的消息提供安全性;都在中间节点先对消息进行解密,然后进行加密。因为要对所有传输的数据进行加密,所以加密过程对用户是透明的。 然而,与链路加密不同,节点加密不允许消息在网络节点以明文形式存在,它先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,这一过程是在节点上的一个安全模块中进行。 节点加密要求报头和路由信息以明文形式传输,以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击者分析通信业务是脆弱的。3) 端对端加密方式采用端-端加密方式,只是发送方加密报文,接收方解密报文,中间节点不必加、解密,也就不需要密码装置。此外,加密可采用软件实现,使用起来很方便。在端-端加密方式下,每对用户之间都存在一条虚拟的保密信道,每对用户应共享密钥(传统密码保密体制,非公钥体制下),所需的密钥总数等于用户对的数目。对于几个用户,若两两通信,共需密钥n*(n-1)/2种,每个用户需(n-1)种。这个数目将随网上通信用户的增加而增加。为安全起见,每隔一段时间还要更换密钥,有时甚至只能使用一次密钥,密钥的用量很大。3.2.3. 参数选择各类加密方式和技术都需要选择一些用来加密的参数,目前常用的方式是系统在选取了标准的加密参数后,再提供给客户端的加

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号