Web与电子邮件安全_第1页
Web与电子邮件安全_第2页
Web与电子邮件安全_第3页
Web与电子邮件安全_第4页
Web与电子邮件安全_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验五Web与电子邮件平安一、实验目的:了解在Web和电子邮件中实现平安的方法,学会相关软件工具的使用。二、实验要求:使用SSL/TSL协议实现平安的Web访问。使用PGP工具包发送平安电子邮件。实验内容:1、在Web中实现平安的方法:随着互联网技术的飞速开展,作为信息系统的核心设备,效劳器的平安提升到了一个新的高度。效劳器中存储和处理的大量核心业务数据,其平安性愈显重要,传统防病毒系统、防火墙、IDS等设备无法保证效劳器系统高度保密和信息完整性要求。多核效劳器的平安保障难度再增高,采用新的平安机制来提供Web效劳器抵抗黑客和恶意代码攻击尤为重要。Web应用必须有80和443端口,恶意用户正是利用了这两个端口执行各种恶意操作:偷窃、操控、破坏Web应用中重要信息。针对Web网站点的入侵事件不断发生,现有的防火墙、IDS等设备都不能有效防止入侵者篡改网站中的网页、盗取重要信息等攻击,提出了Web效劳器平安较完备机制,从核心层保证Web站点中的网页不会被黑客篡改,恶意代码在系统中不会肆意发作。该机制重构了操作系统核心层权限访问控制模型,对操作系统文件、注册表、进程和网络等资源采用白名单规那么,并采用多机制相结合的方式提高Web效劳器的抗攻击能力。2、在电子邮件中实现平安的方法:近年来,伴随Internet的迅猛开展,电子邮件以其使用方便、快捷等特点已经成为Internet上最普及的应用。但是,由于电子邮件在Internet上未加任何保密措施的情况下,均以不加密的可读文件被传输,这样就存在邮件被人偷窥、篡改、截获、以及身份被人伪造等假设干不平安因素,由此限制了电子邮件在重要信息传递与交换领域的应用。以下方法实现的功能:收发邮件、转发邮件、答复邮件等标准邮件客户端功能;为防止邮件被窃听,自动加密邮件;防止邮件被篡改及伪冒、发送方抵赖,自动执行数字签名;为保证私钥高度平安,支持本地产生RSA密钥;地址簿除方便易用,还具有许多特殊的如公钥环管理等功能;支持从文件中导入及自动从邮件中获取公钥或数字证书;支持BIG5与GB2312的内码转换以及UUEncode编码方式;支持多帐户以及口令保护;支持拨号上网以及打印功能。〔1〕平安电子邮件系统结构图:〔2〕个人密钥管理:个人密钥管理模块完成产生RSA密钥对、平安地保存私钥、发布公钥、作废公钥的功能。根据用户提供的信息〔密钥长度、随机数种子、保护口令以及含用户名的根本信息〕,采用RSA算法生成模块产生公钥、私钥对。采用MD5和IDEA加密算法对RSA私钥、用户口令以及随机数种子进行加密,实现平安保存。本系统提供两种方式实现公钥的发布。一是基于信任模式下的方式:将公钥发送到文件或者通过E-mail发送;另一种是基于层次结构证书认证机构的认证方式:申请数字证书。作废密钥也提供两种方式:本地删除和申请作废证书。后一种适用于公钥发布选择第二种方式的用户。〔3〕发送邮件发送邮件模块完成撰写邮件、格式化邮件、SMTP协议的实现功能。撰写邮件由邮件编辑器完成。格式化邮件严格按MIME协议来进行,对普通邮件直接发送,而对平安邮件按照MOSS协议对邮件执行数字签名和加密:采用MD5对格式化后的邮件M生成数字摘要,用RSA私钥采用RSA算法对数字摘要进行数字签名,数子签名与M合成签名后的邮件;然后用随机生成的会话密钥采用IDEA算法对签名后的邮件进行加密,并且用收件人的公钥采用RSA算法对会话密钥加密。SMTP协议的实现程序是基于WindowsSockets来开发的,本文采用CAsyncSocket(非阻塞)来封装WinSockAPI。〔4〕接收邮件接收邮件实现了POP3协议、解析邮件的功能。解析邮件完成对邮件解密以及对数字签名验证的功能:将接收到的平安邮件依照MOSS协议拆分为两局部,加密的会话密钥局部通过口令验证后取得私钥来恢复会话密钥。另一局部签名邮件通过从公钥环中取出发件人的公钥来验证数字签名,最后提示验证结果。〔5〕地址簿地址簿模块除完成了普通地址簿管理功能外,主要实现了平安电子邮件系统地址簿的特殊功能:接收公钥、发送公钥、删除公钥,下载最新作废证书列表〔CRL〕。有三种方式接收公钥:从文件中接收、从电子邮件中获取、下载数字证书。将接收到的公钥信息都存放到地址簿的公钥环文件中,而从地址簿中发送公钥可发送到文件也可以通过电子邮件发送。3、SSL/TSL协议(1)SSL/TSL简介:目前,随着Internet的快速开展,人们在使用互联网的场地越来越多,范围越来越广泛,互联网上的信息平安越来越引起人们的关注。特别是近年来网上银行、电子商务和电子政务的快速开展,如何保证用户的传输信息,特别是交易信息的保密性、完整性已成为迫切需要解决的问题。为此人们研究越来越多的措施来保护用户的信息,所以有了很多的平安协议。SSL和TSL,它们分别是平安套接层(SecureSocketLayer)和传输层平安〔TransportSecurityLayer〕的缩写,是为网络通信提供平安及数据完整性的一种平安协议TSL与SSL,在传输层对网络连接进行加密。SSL首先由网景公司提出,最初是为了保护Web平安,最终却为提高传输层平安提供了一个通用的解决方案。在SSL获得了广泛应用之后,IETF斟于SSLv3,制定TSL标准。TSLv1与SSLv3几乎完全一致。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供平安支持。SSL协议可分为两层:SSL记录协议〔SSLRecordProtocol〕:它建立在可靠的传输协议〔如TCP〕之上,为高层协议提供数据封装、压缩、加密等根本功能的支持。SSL握手协议〔SSLHandshakeProtocol〕:它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。(2)SSL工作原理SSL的工作原理:当一个使用者在Web上用Netscape浏览器漫游时,浏览器利用协议与Web效劳器沟通。例如,浏览器发出一个GET命令给效劳器,想下载一个首页的HTML档案,而效劳器会将档案的内容传送给浏览器来响应。GET这个命令的文字和HTML档案的文字会通过会话层〔Socket〕的连接来传送,Socket使两台远程的计算机能利用Internet来通话。通过SSL,资料在传送出去之前就自动被加密了,它会在接收端被解密。对没有解密钥的人来说,其中的资料是无法阅读的。SSL采用TCP作为传输协议提供数据的可靠传送和接收。SSL工作在Socket层上,因此独立于更高层应用,可为更高层协议,如Telnet、FTP和提供平安业务。SSL提供的平安业务和TCP层一样,采用了公开密钥和私人密钥两种加密体制对Web效劳器和客户机〔选项〕的通信提供保密性、数据完整性和认证。在建立连接过程中采用公开密钥,在会话过程中使用私人密钥。加密的类型和强度那么在两端之间建立连接的过程中判断决定。在所有情况下,效劳器通过以下方法向客户机证实自身:给出包含公开密钥的、可验证的证明;演示它能对用此公开密钥加密的报文进行解密。为了支持客户机,每个客户机都要拥有一对密钥,这要求在Internet上通过Netscape分配。由于Internet中的效劳器数远少于客户机数,因此能否处理签字及密钥管理的业务量是很重要的,并且与客户联系比给商家以同样保证更重要。〔3〕SSL协议提供的效劳a.用户和效劳器的合法性认证使得用户和效劳器能够确信数据将被发送到正确的客户机和效劳器上。客户机和效劳器都有各自的识别号,由公开密钥编排。为了验证用户,平安套接层协议要求在握手交换数据中做数字认证,以此来确保用户的合法性。b.加密数据以隐藏被传送的数据平安套接层协议采用的加密技术既有对称密钥,也有公开密钥。具体来说,就是客户机与效劳器交换数据之前,先交换SSL初始握手信息。在SSL握手信息中采用了各种加密技术,以保证其机密性和数据的完整性,并且经数字证书鉴别,这样就可以防止非法用户破译。c.维护数据的完整性平安套接层协议采用密码杂凑函数和机密共享的方法,提供完整信息性的效劳,来建立客户机与效劳器之间的平安通道,使所有经过平安套接层协议处理的业务,在传输过程中都能完整、准确无误地到达目的地。(4)SSL记录层协议SSL记录层协议限定了所有发送和接收数据的打包,它提供了通信、身份认证功能,它是一个面向连接的可靠传输协议,如TCP/IP提供平安保护。在SSL中所有数据被封装在记录中。一个记录由两局部组成:记录头和非零长度的数据。记录头可以是2字节或3字节〔当有填充数据时使用〕。SSL握手层协议的报文要求必须放在一个SSL记录层的记录里,但应用层协议的报文允许占用多个SSL记录来传送。(5)SSL握手协议a.握手协议工作过程①客户〔client〕端发送ClientHello信息给效劳器〔Server〕端,Server答复ServerHello。这个过程建立的平安参数包括协议版本、“佳话〞标识、加密算法、压缩方法。另外,还交换两个随机数:C1ientHello.Random和ServerHello.Random,用于计算机“会话主密钥〞。②Hello消息发送完后,Server端会发送它的证书和密钥交换信息。如果Server端被认证,它就会请求Client端的证书,在验证以后,Server就发送HelloDone消息,以示达成了握手协议,即双方握手接通。③Server请求Client证书时,Client要返回证书或返回没有证书的指示,这种情况用于单向认证,即客户端不装有证书。然后,Client发送密钥交换消息。④效劳器Server此时要答复“握手完成〞消息〔Finished〕,以示完整的握手消息交换已经全部完成。⑤握手协议完成后,Client端即可与Server端传输应用加密数据,应用数据加密一般是用第②步密钥协商时确定的对称加/解密密钥,如DES、3DE等。目前,商用加密强度为128位,非对称密钥一般为RAS,商用强度为1024位,用于证书的验证。完整的握手协议消息交换过程如下:其中,带*号的命令是可选的,或依据状态而发的消息,而改变加密算法协议〔ChangeCipherSpec〕并不在实际的握手协议之中,它在第③步与第④步之间,用于Client与Server协商新的加密数据包时而改变原先的加密算法。b.握手协议的作用SSL中的握手协议,将公钥加密技术与对称密钥加密技术的应用有效、巧妙地结合在一起,有机地组成了互联网〔或其他网络〕上信息平安传输的通道。这种信息平安通道,有其实用价值,比方,利用对称加密技术比公钥加密技术对大容量信息的加/解密速度要快,而公钥技术却提供了更好的身份认证技术。SSL的握手协议可以非常有效地让客户与效劳器之间完成身份认证。通过SSL客户端与效劳器传送自己的数字证书,互验合法性,特别是验证效劳器的合法性,可以有效地防止互联网上虚假网站的网上钓鱼事件;同时,效劳器端也可以严格验证客户端的真实身份。其作用如下:①客户端的浏览器向效劳器传送客户端SSL协议的版本号、加密算法的种类、产生的随机数,以及其他效劳器和客户端之间通信所需要的各种信息。②效劳器向客户端传送SSL协议的版本号、加密算法的种类、随机数及其他相关信息,同时,效劳器还将向客户端传送自己的证书。③客户利用效劳器传过来的信息验证效劳器的合法性。效劳器的合法性包括:证书是否过期,发行效劳器证书的CA是否可靠,发行者证书的公钥能否正确解开效劳器证书的“发行者的数字签名〞,效劳器证书上的域名是否和效劳器的实际域名相匹配。如果合法性验证没有通过,那么通信将断开;如果合法性验证通过,那么将继续进行第④步。④客户端随机产生一个用于后面通信的“对称密码〞,然后用效劳器的公钥〔从步骤②中效劳器的证书中获得〕对其加密,再将加密后的“预主密码〞传给效劳器。⑤如果效劳器要求客户的身份认证〔在握手过程中为可选〕,用户那么可以建立一个随机数,然后对其进行数字签名,将这个含有签名的随机数和客户自己的证书,以及加密过的“预主密码〞一起传给效劳器。⑥如果效劳器要求客户的身份认证,效劳器那么必须检验客户证书和签名随机数的合法性。具体的合法性验证包括:客户的证书使用日期是否有效,为客户提供证书的CA是否可靠,发行CA的公钥能否正确解开客户证书的发行CA的数字签名,检查客户的证书是否在证书撤销列表〔CRL〕中。检验如果没有通过,那么通信立刻中断;如果验证通过,那么效劳器将用自己的私钥解开加密的“预主密码〞,然后执行一系列步骤来产生主通信密码〔客户端也将通过同样的方法产生相同的主通信密码〕。⑦效劳器和客户端用相同的主密码,即“通话密码〞,一个对称密钥用于SSL协议的平安数据通信的加/解密通信。同时,在SSL通信过程中还要完成数据通信的完整性,以防止数据通信中的任何变化。⑧客户端向效劳器端发出信息,指明后面的数据通信将使用步骤⑦中的主密码为对称密钥,同时通知效劳器客户端的握手过程结束。⑨效劳器向客户端发出信息,指明后面的数据通信将使用步骤⑦中的主密码为对称密钥,同时通知客户端效劳器端的握手过程结束。⑩SSL的握手局部结束,SSL平安通道的数据通信开始,客户和效劳器开始使用相同的对称密钥进行数据通信,同时进行通信完整性的检验。4、使用SSL/TSL协议实现平安的Web访问现今SSL平安协议广泛地用在Internet和Intranet的效劳器产品和客户端产品中,用于平安地传送数据,集中到每个WEB效劳器和浏览器中,从而来保证来用户都可以与Web站点平安交流。以下将详细介绍SSL平安协议及在WEB效劳器平安的应用。〔1〕SSL平安协议在WEB效劳器中的应用我们为提供具有真正平安连接的高速平安套接层SSL〕交易,可以将PCI卡形式的SSL卸载〔offloading〕设备直接安装到Web效劳器上,这种做法的好处是:a.从客户机到平安Web效劳器的数据平安性;b.由于卸载工具执行所有SSL处理过程并完成TCP/IP协商,因此大大提高了吞吐量;c.简化了密钥的管理和维护。平安性加大在实现向电子商务和其它平安Web站点的效劳器增加SSL加速和卸载设备的结果是提高了交易处理速度。但是由于设备是作为应用被安装在网络上的,因此设备与平安效劳器之间的数据是未加密的。将SSL卸载设备作为PCI扩展卡直接安装在平安效劳器上,保证了从浏览器到效劳器的连接平安性。SSL可以用于在线交易时保护象信用卡号以及股票交易明细这类敏感信息。受SSL保护的网页具有“s〞前缀,而非标准的“〞前缀。〔2〕新型专用网络设备SSL加速器可以使Web站点通过在优化的硬件和软件中进行所有的SSL处理来满足性能和平安性的需要。当具有SSL功能的浏览器〔Navigator、IE)与Web效劳器(Apache、IIS)通信时,它们利用数字证书确认对方的身份。数字证书是由可信赖的第三方发放的,并被用于生成公共密钥。当最初的认证完成后,浏览器向效劳器发送48字节利用效劳器公共密钥加密的主密钥,然后Web效劳器利用自己的私有密钥解密这个主密钥。最后,浏览器和效劳器在会话过程中用来加解密的对称密钥集合就生成了。加密算法可以为每次会话显式地配置或协商,最广泛使用的加密标准为"数据加密标准"〔DES〕和RC4。一旦完成上述启动过程,平安通道就建立了,保密的数据传输就可以开始了。尽管初始认证和密钥生成对于用户是透明的,但对于Web效劳器来说,它们远非透明。由于必须为每次用户会话执行启动过程,因而给效劳器CPU造成了沉重负担并产生了严重的性能瓶颈。据测试,当处理平安的SSL会话时,标准的Web效劳器只能处理1%到10%的正常负载。应做的处理密码在加解密数据时,使用两种类型的密钥。私有密钥被发给各实体并且永远不向外透露,公共密钥可以任意分发。这两种密钥对于认证过程是必不可少的。使用公钥加密的数据不能使用同一个密钥进行解密,必须使用私有密钥进行解密。SSL使用复杂的数学公式进行数据加密和解密,这些公式的复杂性根据密码的强度不同而不同。高强度的计算会使多数效劳器停顿,导致性能下降。多数Web效劳器在执行SSL相关任务时,吞吐量会显著下降,性能比在只执行1.0连接时的速度慢50多倍。而且由于SSL复杂的认证方案和加/解密算法,SSL需要大量地消耗CPU资源,从而造成Web效劳器性能很大的下降。它所造成的效劳器瓶颈使Web站点的速度慢如蜗牛爬行,这无疑会失去在线客户。为解决这种性能上的损失,我们可以通过安装SSL加速器和卸载器来减少SSL交易中的时延。加速器通过执行一局部SSL处理任务来提高交易速度,同时依靠平安Web效劳器软件完成其余的任务。卸载器承当所有SSL处理任务并且不需要平安Web效劳器软件,从而使Web效劳器可以以同样的高速度提供平安和非平安的效劳。由于密钥管理和维护过程不依靠对应用软件的手工配置,因此使用卸载器效率会更高一些。多数这类设备作为网络应用被安装在机架式或小底座网络设备上,由于它们为整个网络提供加解密效劳,因此设备与Web效劳器之间的数据是未加密的。通过直接在效劳器上安装SSL卸载器,可以解决速度和平安性问题。加密的数据由客户机经过Internet和网络直接传送到一台效劳器上。安装在这台效劳器上的卸载器对数据进行解密并将其沿PCI总线直接传送到处理器。这样做的结果是宿主效劳器在保证客户机与效劳器之间传输时数据平安性的同时,以非平安交易效劳同样的速度提供了平安交易效劳。SSL加速设备的出现就是为了解决对CPU资源过量需求的SSL协议所造成的性能问题,这类设备是一些用以在不增加Web效劳器负担的条件下处理SSL任务的特殊的网络部件。通过优化硬件和软件,专用SSL加速器处理SSL会话的速度为标准Web效劳器的10到40倍。此外,SSL加速器解放了效劳器资源,使这些资源可以真正用于处理应用逻辑和数据库查询,从而加快了整个站点的速度。将SSL设备集成到网络中很简单,第4层到第7层交换机或负载均衡设备被配置为将所有的443端口〔s〕请求改向传送到SSL设备。这时,这台设备承当所有的SSL处理任务,因而立即解脱了Web效劳器的负载。随着平安传输流容量的增加,在不增加不必要的管理负担的条件下,可以再部署其他SSL设备。最近,SSL加速器功能已经被集成到象效劳器端缓存〔即所谓的"效劳器加速器"〕这类Web内容提交产品中了。这种作法的主要好处是,效劳器加速器进行SSL处理和对象提交。配置SSL功能的效劳器加速器使广泛地将SSL用于Web根底设施上的平安内容交换成为可能,平安网页将快速地得到提交,平安交易也将迅速地完成。〔4〕如何实现WEB和Internet平安我们在安装好CertificateServer后,给自己的WebServer发一张证书,平安站点已经建立起来了,在IIS管理器中翻开平安通道〔先不要接受客户证书验证,如果没有浏览器证书的话〕,把改为s后访问的站点,怎么系统提示效劳器证书有问题?记得在浏览器中安装的根证书了?要不就是效劳器证书过期了,如果没有在浏览器中安装根证书,就要安装它,同时其他人通过Internet访问站点如果没有安装根证书,需要将根证书放在网上让别人下载。用IE安装根证书很简单,浏览器提示用户翻开或保存时选择翻开,会看到根证书信息然后按安装证书就可以了。但可能会发现Netscap无法安装根证书,SSL协议是由Netscape首先提出并实现的,Netscape使用MIME类型application/x-x509-ca-cert来表示CA证书,IE3.1以后开始支持SSL,起初Windows系统的数字证书文件〔.crt和.cer〕也采用相同的MIME类型,IE5.0以后MIME类型被改为application/pkix-cert这就造成Netscape安装根证书困难。不过这个问题好解决,只要在IIS里新注册application/x-x509-ca-cert的MIME类型就可以了。刚发的证书浏览器有时也会显示证书过期,这是因为浏览器判断证书有效是从证书有效起始时间的后一天开始,此外数字证书中的日期大都是GMT时间而不是本地时间,所以通常将本机时间向后调整一天这个问题就能解决,所以证书过期不仅仅可能表示太晚也可能表示太早。一切都已经就绪,进入平安网页了,在IE的状态栏里应该有一个小锁,双击这个小锁能看到站点证书信息,同时也能看到整个证书链。现在也许会问"那么现在我怎么用SSL加密我的数据呢?",实际上现在浏览器和Web效劳器之间交换的所有信息都已经被加密,SSL是工作在网络层与会话层之间的协议,它在TCP/IP和之间增加了一个加密层,所以对于工作在协议以上的用户而言,加密是完全透明的,所以请忘记"用SSL加密"这句话,除非直接在Socket上开发,比方写个网络蚂蚁之类的。现在想用SSL实现更多的东西,不仅仅是加密。是申请浏览器〔客户〕证书的时候了,申请客户证书过程也不复杂,除了相同的名称,国家之类的还多一个EMail地址,如果用IE申请证书可能会有许多项选择项,其中有两个比拟有意义,"允许私钥被导出"对与不在固定机器上上网的人比拟有用,如果在一台机器上申请了证书,导出证书和私钥并安装到其他机器上就可以在其他机器上使用了。"用户保护"会让浏览器在使用的私钥时提示,这通常发生在加密和签名过程之前。证书安装过程通常都是自动的,安装完成后可以欣赏一下,在IE中翻开Internet选项,选择内容一栏,按"证书"按钮",在个人一栏内应该有客户证书。现在在IIS管理器中设置站点要求客户证书,然后访问站点,浏览器会弹出一个对话框,让选择要使用的客户证书,然后就进去了,也没什么不同。那么怎么样利用SSL实现身份认证呢?首先可以在IIS管理器中启用客户证书映射,将客户证书影射到NT帐号,可以映射某张证书,也可以映射所有根证书所签发的客户证书,如果在签发者列表中找不到根证书,需要运行SSLCA.exe〔IIS4.0以上〕,以后的事就属于NT管理员的范畴了。如果不想用NT的平安机制,就需要获取对方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论