Har*_*sha 3 security encryption wcf wcf-security
我想知道TransportWithMessageCredential Vs Message在WCF安全性方面的区别.
我所知道的是:
传输安全性: 用于在两个端点之间提供点对点安全性.
消息安全性:它提供端到端的安全性.因为消息安全性直接加密和签署消息,所以拥有中介不会破坏安全性.
如果我们使用TransportWithMessageCredential 模式,SOAP消息(Header和Body)是否加密?
我担心的是我希望在WCF服务器和我的WinForms客户端之间加密应用程序数据.
如果我们使用TransportWithMessageCredentials模式,是否加密了SOAP消息(Header和Body)?
是的,因为在TransportWithMessageCredential安全模式下,它是传输安全性,它为通过线路传输的消息提供机密性和完整性保护.在这种情况下,传输安全性还提供服务认证.例如,使用HTTP,安全套接字层(SSL)用于加密和签名通过安全HTTP(HTTPS)发送的数据包的内容.
使用TransportWithMessageCredential安全模式,客户端身份验证通过SOAP消息安全性提供,其中客户端凭据直接放在消息中.
当SOAP消息离开客户端进行服务时,它会被加密.但是,与传输安全性一样,它在两个端点(服务和客户端)之间提供点对点(而非端到端)安全性.因此,如果客户端和服务之间存在中间系统,则每个中间点必须通过新的安全连接转发消息.
每条评论更新
你说"当SOAP消息离开客户端进行服务时,它就被加密了"然后它应该是end -end security.为什么它只是点到点.
传输安全性是点对点的,因为消息在离开一个端点时会被加密并保持不变,直到它到达安全传输的另一个端点,然后消息被解密.在客户端和服务器直接相互通信的部署中,这会在整个过程中提供加密.但是,如果您的服务端点要将该邮件转发到目标收件人,则不再保证您的邮件从该点开始加密.
消息安全性直接对消息进行加密和签名,以便只有预期的接收者才能解密和读取消息的实际内容.因此,发件人和收件人之间保证安全,而不仅仅是端点之间.因此,消息安全性提供了端到端的安全性.
我能否得出结论:TransportWithMessageCredential提供安全点到点,消息级安全性提供端到端安全性.那么为什么WCF安全指南建议使用带有UserName的TransportWithMessageCredential当我们在Internet中使用WCF和Windows窗体客户端时.
对,那是正确的.TransportWithMessageCredential安全性提供点对点,Message安全性提供端到端的安全性.WCF安全指南建议将客户端凭据设置为,UserName因为这将用于验证客户端.在这种UserName情况下,我们将用户名和密码对直接放在SOAP消息中.除非客户端提供某种凭证,例如a UserName或Certificate对服务进行身份验证,否则您将拥有匿名客户端.匿名客户端意味着任何人都可以访问您的服务,因为客户端未经过身份验证.
如果邮件正文未使用TransportWithMessageCredential加密,那么为什么Microsoft称TransportWithMessageCredential是传输和邮件安全性的组合
与我原来的答案一样:SOAP消息由传输层加密和签名(例如HTTPS).TransportWithMessageCredential是传输和消息安全性的组合,因为传输安全性对消息进行加密和签名以及向客户端验证服务,并且消息安全性用于向服务验证客户端.