- Overview:
- Windows身份验证
- 用户名/密码
- 证书验证
- 发布口令
1.1 身份验证:WCF中提供多种身份验证方式:
1.2 授权:WCF支持多种角色库,比如Windows 组、LDAP、ASP.NET Provider
1.3 保密性:传输过程
1.4 完整性:在发送过程中没有被恶意篡改。
1.5 凭据:WCF用于创建已声明的标识或功能的数据。凭据多种形式:用户标记和X.509证书
- 传输的安全性
- 消息完整性。
- 消息保密性。通常用公钥/私钥进行数据加密实现
- 消息双方的身份认证
- None模式是指的不采用任何传输安全机制。
- Transport:WCF将依靠传输通道来实现完整性,机密性,相互验证性的功能。可以提供安全传输通道的协议包括HTTP、TCP、IPC、MSMQ
- Message:对消息本身进行加密。来保证完整性、机密性、和互相验证性
- Mixed:结合Transport和Message安全模式
- Both:
2.1 传输安全三要素:
2.2 WCF支持的传输安全模式
2.3 传输安全模式的配置
<basicHttpBinding>
<binding name="basicHttpBinding_FPService" openTimeout="00:20:00"
receiveTimeout="00:20:00" sendTimeout="00:20:00" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="TransportCredentialOnly">
<transport clientCredentialType=" " />
</security>
</binding>
</basicHttpBinding>
2.4 Transport安全模式下凭证
用户名/密码,windows安全口令、x.509整数、windows凭证等。
2.5 Message安全模式下的凭证
- 局域网内Windows平台系统的安全性
3.1 场景分析:由于是局域网内的系统,一般会采用基于TCP、IPC或者MSMQ协议的绑定,由于采用基于WCF服务,所以选择NetTcpBinding、NetNamePipeBinding、或者NetMSMQBinding
3.2 服务定义:采用了默认的安全模式
3.3 身份认证
3.4 授权:可以采用PrincipalPermission特性进行授权
- 跨Internet系统的安全性(略)