首页 > 代码库 > WCF之安全

WCF之安全

  • 传输安全.
    • 点对点,对整个消息进行加密,性能损失,当中间者不安全时,消息也就不安全了.
    • WCF中支持传输安全和消息安全模式。
    • 通过配置和绑定来设置。<Security Mode =Transction/Message/TranandMess>.
  • 消息安全.
    • 对消息的最终接受者保证安全,即使中间者不安全,消息不受影响,可选择对部分消息进行加密.
    • 数据处理效率低于传输安全.
  • 保护级别.
    • 默认是EncryptAndSign,但需要绑定的支持.
    • C/S间级别不同时,协商并使用两者的最小者进行保护.
  • 证书.
    • 由于密码不是很安全,密码过短,易破解。过长,不容易记忆。对于程序与程序间的交互,使用密码,缺乏规范。带来混乱。所以使用证书.
    • 在企业内网内,使用令牌,不会使用身份扮演.
    • Intenet上,由于用户过多,记住他们太大,所以使用少量的用户名来扮演。
    • Intranet上,用户数量少,且可确定,所以不使用扮演.
    • 使用身份扮演,也是一种安全机制,可以使得用户扮演为一个权限较低的角色,来限制访问的资源.
  • 非内网,但是可信。数量有限。所以使用颁发证书的方法。互认证.
    • Peer Trust: Peer to Peer的信任。当没有权威的CA时。证书的来源不可靠。但是由于业务伙伴被我们信任。所以可以认为证书在没有CA时,仍然可信.
    • 在线撤销:在整个认证流程中。系统对证书的细节进行检查。不合法时,撤销它.
    • C/S在传输前要进行协商。
    • 一次登陆,N次使用时也要使用协商.
  • 对于多次调用才能完成请求的,要使用安全会话。
    • 降低开销. 单次调用,不需要使用安全会话.
    • Internet上无法使用令牌(无法知道客户来之那里,是否属于域)。证书对于有些用户没法要求其安装。只能使用用户名密码.
  • 基于角色的授权.
    • 系统基于角色来授权,而不直接与用户进行交互。
    • 对于一个调用栈,向上递归检查是否有权限进行调用,直到查到某一次调用有权限时终止.
    • 但是当移植到第3方时,可能无法映射到某个角色上,就事论人.
  • 基于许可的授权.
    • 为系统中的每一个操作特性都创建许可,然后两者关联。新特性,创建新许可。
    • 非内建,当跨平台时,出现问题。
    • 2个系统的许可的交互当名字不同时会产生权限分配上的问题,当名字一样儿权限不同时,更有问题.
  • 基于声明的授权:.
    • 对于各种的凭证类型,都被归为一种验证。
    • 声明能够包含很多的有用信息。由发布者保证信任关系.
  • 安全令牌:可以跨平台。
    • 由于其被保存到SOAP的消息安全头中.安全令牌被WCF映射到声明中.