对于硬盘上的randseed.bin文件则采用和邮件同样强度的加密,这有效地防止了他人从randseed.bin文件中分析出加密实际密钥的规律来。
存在许多著名的对PGP的攻击,主要有暴力攻击、对私钥环的攻击和对公钥环的攻击等。
10.了解什么是PEM,和PGP有何异同?
PEM(Privacy Enhanced Mail)是为电子邮件提供安全的一个Internet标准建议草案,一般不与SMTP结合使用。PEM可以广泛用于X.400,PEM的意图是使密钥管理方法有广泛的适用性,一般采用公开密钥体制来实现。
PEM具有广泛的适用性和兼容性,还可以在Compuserve、America Online和许多公告网上采用。PEM在应用层上实现端对端服务,适用于各种软件或硬件平台上实现。具有机密性、数据源认证、消息完整性和不可抵赖性。
报文在使用PEM之前先要经过规范形式的处理,接着使用MD2或MD5得出报文摘要,与报文拼接在一起后,用DES加密。加密后的报文可再用base64编码,然后发送给收信人。
和PGP类似,每个报文都是使用一次一密的方法进行加密,并且密钥也是放在报文中一起在网络上传送。当然对密钥还必须用RSA加密。
PEM有比PGP更加完善的密钥管理机制。由证书管理机构CA发布证书,由策略管理机构PCA来证明这些证书,由统一IPRA来证明这些PCA。
PEM与PGP相比,前者像一个OSI的标准,后者则像一个Internet的软件包。
11.S/MIME的来源是什么,和PGP有何不同?
S/MIME是从PEM和MIME发展而来的。同PGP一样,S/MIME也利用单向散列算法和公钥加密体系。两者的不同之处主要有两点:
首先,它的认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,最上一级的组织的证书(根证书)则依靠组织之间相互认证,整个信任关系基本是树状结构,就是所谓的Tree of Trust;
其次,S/MIME将信件内容加密签名后作为待殊的附件传送,其证书格式采用X.509规范,但与SSL证书有一定差异,支持的厂商也比较少。
12.S/MIME如何保证消息本身的安全?
S/MIME不只是用于Internet的标准,它还能用在专用网络上,但是它对Internet电子邮件最有效。因为Internet电子邮件在到达目的地之前,可能要经过多个服务器,要实现安全的通道是不可能的,所以就必须保证消息本身是安全的。
1)使用加密可以保证信件内容不被偷窥。S/MIME采用了一种混合方法,叫做数字信封。消息本身仍使用对称密码进行加密,然后用非对称密码加密所使用的对称密钥,加密后的对称密钥和经对称加密的消息一起发送,对称密钥的编码解码的速度要比用非对称方法加密整个消息快得多。
2)S/MIME能够防止篡改,方法类似于校验和。它使用单向散列算法把消息的内容浓缩成一个惟一的摘要,然后把这个摘要加密后和消息一起发送。
3)S/MIME还能够防止仿造,方法是通过数字签名,或者说使用私钥进行加密。多数S/MIME程序为了保护私钥,在用户使用私钥前会要求用户输入口令。
当今最权威证书授权机构是VeriSign,它的公钥实际上已经预置在多数S/MIME程序
45
里,所以验证VeriSign的签名实际上很容易做到。由Veri-Sign私钥签过名的用户公钥则为该用户的证书。
13.在服务器端和用户端各有哪些方式防范垃圾邮件?
在服务器端,应该设置发信人身份认证,以防止自己的邮件服务器被选做垃圾邮件的传递者。现在包括不少国内知名电子邮件提供者在内的诸多邮件服务器被国外的拒绝垃圾邮件组织列为垃圾邮件来源。结果是:所有来自该服务器的邮件全部被拒收! 在用户端,防范垃圾邮件有如下方式:
1)不随便公开自己的电子邮件地址,防止其被收入垃圾邮件的发送地址列表。因为有很多软件可以自动收集这些新闻组文章或者论坛中出现过的电子邮件地址。一旦被收入这些 垃圾邮件的地址列表中,一些不怀好意的收集者将出售这些电子邮件地址牟利,然后,很不幸地,这个地址将可能源源不断地收到各种垃圾邮件。
2)尽量采用转发的方式收信,避免直接使用ISP提供的信箱。申请一个转发信箱地址,结合垃圾邮件过滤,然后再转发到自己的真实信箱。实践证明,这的确是一个非常有效的方法。只有结合使用地址过滤和字符串特征过滤才能取得最好的过滤效果。 3)不要回复垃圾邮件,这是一个诱人进一步上当的花招。
46
12 Web与电子商务的安全
一、选择题
1. SSL产生会话密钥的方式是(C)。 A. 从密钥管理数据库中请求获得 B. 每一台客户机分配一个密钥的方式
C. 随机由客户机产生并加密后通知服务器 D. 由服务器产生并分配给客户机 2. (C)属于Web中使用的安全协议。
A. PEM、SSL B. S-HTTP、S/MIME C. SSL、S-HTTP D. S/MIME、SSL
3. 传输层保护的网络采用的主要技术是建立在(A)基础上的(A)。 A. 可靠的传输服务,安全套接字层SSL协议 B. 不可靠的传输服务,S-HTTP协议 C. 可靠的传输服务, S-HTTP协议
D. 不可靠的传输服务,安全套接字层SSL协议
二、问答题
1. 讨论一下为什么CGI出现的漏洞对Web服务器的安全威胁最大?
相比前面提到的问题,CGI可能出现的漏洞很多,而被攻破后所能造成的威胁也很大。程序设计人员的一个简单的错误或不规范的编程就可能为系统增加一个安全漏洞。一个故意放置的有恶意的CGI程序能够自由访问系统资源,使系统失效、删除文件或查看顾客的保密信息(包括用户名和口令)。
3. 比较JavaApplet和ActiveX实现安全性的不同。
JavaApplet就是活动内容的一种。它使用Java语言开发,可以实现各种各样的客户端应用。这些Applet随页面下载下来,只要浏览器兼容Java,它就可在客户机上自动运行。Java使用沙盒(Sandbox)根据安全模式所定义的规则来限制JavaApplet的活动。
ActiveX是另一种活动内容的形式,可以用许多程序设汁语言来开发,但它只能运行在安装Windows的计算机上。ActiveX在安全性方面不如JavaApplet。一旦下载,它就能像其他程序一样执行,能访问包括操作系统代码在内的所有系统资源,这是非常危险的。
4. 详细阐述Java的三个版本中实现安全性的区别。
1)在Java 1.0中,所有独立Java应用程序默认为可信任,能无限制地访问系统资源。通过网络装入的JavaAppet默认为不可信任,不允许访问本地文件系统和其他程序。此外,Applet只能与装入它们的主机之间建立网络连接。
2)在Java1.1中,沙盒在保持1.0版本中安全性特性的同时,允许指定某些Applet为可信任Applet。可信任Applet可以访问超出沙盒范围的系统资源。当一个Applet被签名,并在装入前验证其是由信任方签名,并且在签名后未被修改的话,它就是可信任的。 这样的设计,使得Applet的开发者可以增加许多有用功能,它的缺点在于安全性上只有两种极端情况,Applet或者不可信任,受到沙盒限制;或者可信任,而不受任何限制,
47
破坏了最低权限原则。根据最低权限原则,可信任Applet和应用程序也要限制允许的权限。
3)Java 2中引入了能够实现最低权限原则的安全体系结构。这个安全体系结构可以支持安全策略的定制,根据Applet和应用程序的来源和签名者标识确定Applet和应用程序允许的访问权限。
4. 试以图形方式来形象描述SSL的握手过程。
5. 说明SSL的概念和功能。
安全套接层协议SSL主要是使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,但它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输。它是Netscape公司提出的基于Web应用的安全协议,它包括服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。SSL通过在浏览器软件和Web服务器之间建立一条安全通道,实现信息在Internet中传送的保密性。
在TCP/IP协议族中,SSL位于TCP层之上、应用层之下。这使它可以独立于应用层,从而使应用层协议可以直接建立在SSL之上。SSL协议包括以下一些子协议;SSL记录协议、SSL握手协议、SSL更改密码说明协议和SSL警告协议。SSL记录协议建立在可靠的传输协议(例如TCP)上,用来封装高层的协议。SSL握手协议准许服务器端与客户端在开始传输数据前,能够通过特定的加密算法相互鉴别。
6. 说明TLS和SSL的异同点。
传输层安全TLS是建立在SSL 3.0协议基础之上。在传输层上,TLS在源和目的实体间建立了一条安全通道,提供基于证书的认证、信息完整性和数据保密性。在TLS和SSL 3.0之间存在显著差别(加密算法不同),两者不能兼容。
7. 了解SSH的基本概念,以及和SSL的不同。
安全外壳SSH是一种介于传输层和应用之间的加密通道协议,它原本是设计用于替代rlogin、rsh这类不安全的r-协议集的,现在也可以支持Telnet、POP3、FTP、X11等这些传统上并不安全的应用协议。
SSH提供一种安全的身份认证及数据加密机制,还可以对传输的数据进行压缩,能够有效地防止网络嗅探、IP欺骗、DNS欺骗等攻击行为。SSH1最大好处是对最终用户和商
48