最新系统安全认证可行性分析方案.docx
- 文档编号:13930730
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:16
- 大小:626.77KB
最新系统安全认证可行性分析方案.docx
《最新系统安全认证可行性分析方案.docx》由会员分享,可在线阅读,更多相关《最新系统安全认证可行性分析方案.docx(16页珍藏版)》请在冰点文库上搜索。
最新系统安全认证可行性分析方案
文档目录
第1章.系统安全认证概述
本文档重点讨论WCF系统安全的身份认证和WEB应用程序系统安全的身份认证。
WCF系统的身份认证体系与其相关的通讯协议紧密联系,有些通讯协议只能采用证书认证或Windows身份认证等方式。
本文档重点讨论阐述基于wsHttpBinding通讯协议的WCF安全认证。
WEB应用程序系统安全采用以WEB服务器证书身份验证和客户端即浏览器身份验证方式。
第2章.WCF通讯协议
2.1.WCF与以往技术的比较
从表格中我们可以看出,WCF似乎等于前面几项技术之和,但事实并非如此,它既整合了原来的多项技术,而且拥有着自己得天独厚的优点,如下:
◆统一性(Integration)
◆互操作性
◆安全可靠(SecureandReliable)
◆兼容性
2.2.WCF在安全性方面的改进
为了保证数据通讯的安全,WCF提供了三种保护措施:
1)机密性(Confidentiality)2)完整性(Integrity)3)可验证性(Authentication),这三种措施联合起来被称为CIA。
并且这些措施在WCF中是默认支持的。
机密性能保证传输的数据是经过加密的,不被非法监听(eavesdrop),而完整性利用数字签名技术防止数据在传输过程中被注入(injected)或篡改(tampered),而验证(Authentication)可以采用灵活的策略来处理达到的客户端请求,比如用户名密码验证,客户端证书验证等。
2.3.WCF在性能方面的改进
大家都知道,越复杂,结构层次越多的框架一般效率也越低,WCF是以往其他分布式技术的集成者,它结构相对复杂,且由于默认支持安全传输,在性能上应该不如XmlWebService技术,更不用和.NetRemoting等比较,这是一个有框架设计经验和架构师们都明白的简单道理,但是事实怎么样呢?
wcf比xmlwebservice性能到底是高还是底,低要低多少?
这些问题很值得大家的研究和讨论,其实已经有人在此方面做了很详细的对比,msdn上便有一篇专门介绍此方面知识的文章:
WCFPerformanceComparison,对wcf性能感兴趣的同学,可以到这文章中学习。
很详尽。
限于条件的限制,我这里只在我一台机器上作一个简单的对比,仅供参考。
分别测试循环1000次对wcf和xmlwebservice相同功能方法的调用,得到如下的数据:
2.4.WCF开发模型和以往的其他分布式技术的区别
WCF不仅仅在功能上集成了以往的分布式开发技术,而且在编程模型中充分吸取原来技术的优点,如xmlwebservice的声明性编程(declareable),和.netremoting中的配置(configuration)和wse中的安全策略声明性配置方法,这样WCF虽然功能强大,而且学习简单,便于推广。
在vs2008中还集成了WCFTestClient,开发服务的时候,甚至不需要再开发测试客户端就能用WCFTestClient来进行调用,简单之极,示例程序更是无需更改以行代码,便可以运行。
上面这些是说了WCF编程的简单易学性,我总结出来,主要包括以下几种特性:
◆基于声明性编程模型;
◆充分利用配置来实现框架的灵活;
◆使用配置的同时,仍保留代码编程的模型,使得框架更加丰富,便于控制;
◆默认的CIA支持,极大地简化了安全控制。
2.5.Binding类型比较
2.6.WCF实例会话模型
◆>>Per-Call:
每次的客户端请求分配一个新的服务实例。
类似于NetRemoting的Single-Call模式,在这种方式下,程序的扩展性是最强的,在事务编程与队列服务中优势更为明显。
但是由于频繁地创建与销毁实例,会对性能造成一定的影响。
◆>>Per-Session:
服务端需要保持客户端的状态,为每次客户端连接分配一个服务实例,客户端的每次调用,会使用到同一个实例,如果实例销毁,客户端的调用会抛出异常。
类似于NetRemoting的客户端激活模式;这是wcf的默认支持方式.由于每个客户端都需要维护一个会话,需要占用较多的资源来保存服务会话状态。
如果存在多个独立的客户端,则创建专门的服务实例的代价太大。
◆>>Singleton:
所有客户端而言,都只有一个服务实例,当服务端被host的时候,就会创建,有且仅有一个服务实例来响应客户端服务调用的请求,在多个客户端请求下,服务端只会处理一个客户端的请求,其他的排队等候处理。
因此在系统的吞吐量、相应效率、系统服务性能上都存在严重的瓶颈,好处是,可以共享数据。
第3章.证书认证体系
3.1.WCF身份验证机制
绑定协议和客户端验证方式在transport模式下的对应关系:
3.2.传输安全模式之匿名客户端身份验证
SSL安全套接字层一个数据传输加密机制,它可以确保在客户机与服务器之间传输的数据仍然是安全与隐密的。
传输安全(HTTPS)确保保密性和完整性。
使用安全套接字层(SSL)证书对服务器进行身份验证,并且客户端必须信任服务器的证书。
对客户端不通过任何机制进行身份验证,因此是匿名的。
SSL广泛用于Internet中,以便向客户端证明服务的身份,并且随后向通道提供保密性(加密)。
这里要经过三次握手以后,客户端和服务端建立安全套接字连接。
在握手期间,服务还将其SSL证书发送到客户端。
该证书包含一些信息,例如证书的到期日期、颁发机构以及网站的统一资源标识符(URI)。
客户端将该URI与它原来联系的URI进行比较,以确保二者匹配,并且对日期和颁发机构进行检查。
客户机和服务器对它们将要为此会话使用的密钥及加密方法达成一致。
客户机使用服务器证书验证服务器。
握手之后,SSL被用来加密和解密HTTPS(组合SSL和HTTP的一个独特协议)请求和服务器响应中的所有信息。
这个就是为什么WCF传输安全需要使用证书的原因,客户端可以不进行身份验证。
但是要有一个服务器证书来保证客户端和服务器之间能够建立SSL安全套接字连接。
证书注册与查询
输入:
makecert-srlocalmachine-ssMy-nCN=WCFServerPK-skyexchange-pe-r
输入:
makecert-srlocalmachine-ssMy-nCN=WCFClientPK-skyexchange-pe–r
httpcfgsetssl-i0.0.0.0:
9001-h9174185b2860b6d5ec3de133d5fcc4e1419b09e5
httpcfgdeletessl-i0.0.0.0:
9001-h9174185b2860b6d5ec3de133d5fcc4e1419b09e5
httpcfgqueryssl
3.3.传输安全模式之基本身份验证(Windows帐户验证)
传输安全模式之基本身份验证需要服务器需要一个有效的可用于安全套接字层(SSL)的X.509证书,并且客户端必须信任此服务器证书。
如果不信任此证书会导致建立SSL传输连接失败,因为客户端会认为服务端是一个非法的服务端,从而导致建立SSL安全套接层失败。
客户端建立SSL安全套接层以后,会使用商定的密码对消息签名,客户端使用证书加密数据,服务端使用证书解密数据,保证数据的安全和机密性,消息签名防止被篡改。
这个链接是唯一的。
通信结束以后会关闭连接。
3.4.传输安全模式之自定义用户名密码身份验
传输安全模式之基本身份验证需要服务器需要一个有效的可用于安全套接字层(SSL)的X.509证书,并且客户端必须信任此服务器证书。
这里使用https协议。
客户端提供有效的UserName和Password。
客户端建立SSL安全套接层以后,会使用商定的密码对消息签名,客户端使用证书加密数据,服务端使用证书解密数据,保证数据的安全和机密性,消息签名防止被篡改。
这个链接是唯一的。
通信结束以后会关闭连接。
3.5.传输安全模式之Windows身份验证
Windows域验证:
KerberosV5和域控制器KerberosV5服务安装在每个域控制器上,而KerberosV5客户机则安装在每个WindowsServer2003工作站和服务器上。
WindowsServer2003系统使用域名服务(DNS)查询定位最近的可用域控制器。
该域控制器则会在用户登录期间对该用户起首选KDC的作用。
如果首选KDC失效,则Windows2003Server系统将确定由另一个KDC提供验证。
KerberosV5验证过程是按以下步骤工作的:
(1)客户机中的用户,使用口令或智能卡向KDC(KeyDistributionCenter)发出验证请求。
(2)KDC向客户机发出一个特别的授权票证(TicketGrantingTicket,简称TGT)。
客户机系统使用该TGT访问售票服务(TicketGrantingService,简称TGS),它是域控制器中KerberosV5验证机制的一部分。
(3)然后,TGS向客户机发布一个服务票证(ServiceTicket),客户机使用服务票证来请求网络服务。
服务票证用来证明服务和用户的身份。
传输安全模式之Windows身份验证需要服务器不需要一个服务器提供有效的可用于安全套接字层(SSL)的X.509证书。
这里使用Tcp协议来保证数据传输安全。
客户端提供有效的Windows用户名和密码。
验证有域服务器完成。
3.6.传输安全模式之Certificate证书身份验证
传输安全模式之Certificate证书身份验证需要服务器需要一个有效的可用于安全套接字层(SSL)的X.509证书,并且客户端必须信任此服务器证书。
这里使用https协议。
客户端提供有效的Certificate证书。
服务器通过证书来检验客户端身份的有效性。
客户端首先要提供自己的证书,服务器对此进行验证,有效后,服务器会和客户端尝试建立SSL安全套接层,会使用商定的密码对消息签名,客户端使用证书加密数据,服务端使用证书解密数据,保证数据的安全和机密性,消息签名防止被篡改。
这个链接是唯一的。
通信结束以后会关闭连接。
3.7.传输安全模式之自定义X509Certificate证书身份验证
传输安全模式之基本身份验证需要服务器需要一个有效的可用于安全套接字层(SSL)的X.509证书,并且客户端必须信任此服务器证书。
这里使用https协议。
客户端提供有效的自定义X509Certificate证书。
客户端建立SSL安全套接层以后,会使用商定的密码对消息签名,客户端使用证书加密数据,服务端使用证书解密数据,保证数据的安全和机密性,消息签名防止被篡改。
这个链接是唯一的。
通信结束以后会关闭连接。
(1)验证HTTPS客户端证书
当使用HTTPS在客户端和服务间通信时,客户端用于向服务进行身份验证的证书必须支持链信任。
也就是说,它必须链至受信任的根证书颁发机构。
否则,HTTP层将引发WebException,并显示消息“远程服务器返回错误:
(403)禁止。
”WCF将此异常包装为MessageSecurityException。
(2)验证HTTPS服务证书
当使用HTTPS在客户端和服务间通信时,服务器身份验证使用的证书默认情况下必须支持链信任。
也就是说,它必须链至受信任的根证书颁发机构。
不会执行任何在线检查来查看证书是否已吊销。
可以通过注册RemoteCertificateValidationCallback回调来重写此行为,如以下代码所示。
其中,ValidateServerCertificate的签名如下:
publicstaticboolValidateServerCertificate(
objectsender,
X509Certificatecertificate,
X509Chainchain,
SslPolicyErrorssslPolicyErrors)。
实现ValidateServerCertificate可以执行客户端应用程序开发人员认为在验证服务证书时有必要进行的任何检查。
3.8.消息安全模式之匿名客户端身份验
消息安全模式之匿名客户端身份验证需要服务器需要一个有效的可用于TLS加密和向客户端验证服务身份的X.509证书,并且客户端必须信任此服务器证书。
这里使用http协议。
建议安全上下文以后,使用共享安全上下文对SOAP消息进行加密和签名。
但是不采用任何客户端身份验证。
也就是任何客户端都可以访问此服务。
客户端建立TLS安全上下文以后,会使用商定的密码对消息签名,客户端使用证书加密数据,服务端使用证书解密数据,保证数据的安全和机密性,消息签名放置被篡改。
3.9.消息安全模式之UserName客户端身份验证
消息安全模式之UserName客户端身份验证需要服务器需要一个有效的可用于TLS加密和向客户端验证服务身份的X.509证书,并且客户端必须信任此服务器证书。
这里使用http协议。
建议安全上下文以后,使用共享安全上下文对SOAP消息进行加密和签名。
但是采用UserName客户端身份验证。
也就是客户端提供用户名和密码才可以访问此服务。
客户端建立TLS安全上下文以后,会使用商定的密码对消息签名,客户端使用证书加密数据,服务端使用证书解密数据,保证数据的安全和机密性,消息签名放置被篡改。
3.10.消息安全模式之NetTcpBinding客户端身份验证
消息安全模式之NetTcpBinding客户端身份验证不需要服务器证书。
这里的客户端和服务器的验证由DC来完成。
这里使用TCP协议。
建议安全上下文以后,使用共享安全上下文对SOAP消息进行加密和签名。
但是采用Windows身份验证。
也就是客户端提供Windows域账号和密码才可以访问此服务。
客户端建立TLS安全上下文以后,会使用商定的密码对消息签名,保证数据的安全和机密性,消息签名放置被篡改。
这里客户端提供的是有效的Windows域账号和密码,进行验证。
服务器也在Windows域中。
不需要证书。
3.11.消息安全模式之自定义用户名密
消息安全模式下的UserNamePassword身份验证方式,基于WSHttpBinding绑定协议。
3.12.消息安全模式之证书客户端身份验证
消息安全模式之证书身份验证需要服务器需要一个有效的可用于TLS加密和向客户端验证服务身份的X.509证书,并且客户端必须信任此服务器证书。
而客户端同样要提供一个有效的证书,来证明自己的身份。
这里使用http协议。
建议安全上下文以后,使用共享安全上下文对SOAP消息进行加密和签名。
使用证书对客户端和服务进行身份验证。
也就是客户端提供有效证书才可以访问此服务。
客户端建立TLS安全上下文以后,会使用商定的密码对消息签名,客户端使用证书加密数据,服务端使用证书解密数据,保证数据的安全和机密性,消息签名放置被篡改。
3.13.消息安全模式之自定义证书客户端身份验证
消息安全模式之自定义证书身份验证需要服务器需要一个有效的可用于TLS加密和向客户端验证服务身份的X.509证书,并且客户端必须信任此服务器证书。
而客户端同样要提供一个有效的证书,来证明自己的身份。
这里使用http协议。
建议安全上下文以后,使用共享安全上下文对SOAP消息进行加密和签名。
使用证书对客户端和服务进行身份验证。
也就是客户端提供有效证书才可以访问此服务。
客户端建立TLS安全上下文以后,会使用商定的密码对消息签名,客户端使用证书加密数据,服务端使用证书解密数据,保证数据的安全和机密性,消息签名放置被篡改。
第4章.证书载体论述
加密狗等。
由莫键填写。
【答案】B
C.可包含查询表的所有字段,也可只包含查询表部分字段
30.在VisualFoxpro6.0中,建立查询可用________方法
991301操作系统
A、广播地址B、回环地址C、本地链路地址D、网络地址
clea
第5章.可行性分析报告
?
"maxtomin:
",max1,max2,min(a,b,c)重点解决WCF传输安全模式下的自定义证书验证和WCF消息安全模式下的自定义证书验证。
第6章.
第7章.【答案】BWEB应用程序证书认证体系
ifa=0
input"请输入圆环的内半径:
"tor1服务器端和客户都配置安装证书,在客户端请求访问页面时,将获取客户端方证书,进行证书的身份标识验证,如果通过,则对消息进行加密传输。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 系统安全 认证 可行性 分析 方案