我的wcf应用程序中是否存在安全漏洞?

时间:2011-08-04 12:08:37

标签: c# .net wcf security

我对我的SOA应用程序进行了wcf用户名/密码身份验证。安全模型是Message,密钥是加密RSA 4096位的x509证书。每个客户端在配置文件中都有相同的密钥

<certificate encodedValue="VeryVeryBigRsaKey />

我很好奇,例如,一个具有VeryVeryBigRsaKey的应用程序用户可以嗅探共享相同密钥(VeryVeryBigRsaKey)的其他用户的数据包。如果是,我认为这是一个非常严重的问题,我必须将安全模型更改为TransportWithMessageCredential 修改
我使用pluralsight self cert生成了我的密钥,并将其导出为带有Base 64编码的* .cer文件。并用记事本打开生成* .cer,这给了我一个rsa键(VeryVeryBigRsaKey):)

3 个答案:

答案 0 :(得分:3)

我认为您的意思是您使用UserName凭据类型和&lt;证书&gt;用于标识服务器,以便客户端可以信任它从正确的服务器获取消息。

如果另一个用户想要嗅探包,他需要的服务器证书只能由真实服务器拥有。

因此,您的担忧是没有理由的。

答案 1 :(得分:2)

我认为您在端点标识元素中引用的配置。如果是,则表示服务的标识,客户端堆栈在与服务器通信之前将检查该标识。因此,每个客户都必须如此。

用于保护邮件流量的密钥来自客户端凭据。基于这种证书身份的恐惧是毫无根据的。

答案 2 :(得分:1)

我确定WCF中存在安全漏洞,但事实并非如此。

证书用于

a)验证服务器
b)加密客户端生成的对称密钥并将其发送到服务器

另一位客户不能闯入这个。