WCF - 使用证书使用Message Security对客户端进行身份验证

时间:2011-06-21 16:08:14

标签: wcf security certificate

希望是一个快速的问题。

我希望保护将由已知方使用的WCF服务。我们的组织信任他们,反之亦然。

此服务已受IP地址限制,因此我们知道来电者必须来自他们的网络。

但是,我希望它能够在该组织内受到针对恶意开发人员的保护。从理论上讲,他们可以编写一个Bad App并将其安装在该网络的任何地方,并调用我们的服务,这将返回数据。

我认为解决这个问题的方法是使用客户端证书,这些证书将使用Peer Trust进行验证。每个请求都会发送此证书,我们将在WCF服务上验证,并发送回数据。

我的问题 - 这是否可以防范上面列出的恶意开发者情景?我们知道请求必须来自安装了客户端证书的服务器(对吗?) - 我想恶意开发人员应该很难在那里获得Bad App。遗憾的是,我们无法将其与客户端应用程序完全联系起来 - 或者我们可以吗?

任何帮助表示赞赏 - 只是想确保我理解这一点!

2 个答案:

答案 0 :(得分:1)

如果客户端已使用特定证书进行身份验证,您可以检查服务端。您也可以根据自己的需要编写Custom Certificate Validator并验证证书。但是,如果您认为攻击者可能在您的环境中使用受信任证书的私钥,那么我猜您可能认为攻击者基本上可以做任何事情而且您无法保证您的服务安全。

答案 1 :(得分:1)

如果您将根据特定的传入客户端证书授予对服务的访问权限,则它应该与该证书的私钥一样安全。也就是说,如果私钥在其他组织中保持安全,那么您的服务将是安全的(就加密方面的证书的公钥/私钥对安全)。

如果私钥在其他组织中受到攻击,例如,攻击者可以在远程服务器上访问该私钥,或者能够将其复制到另一个远程服务器,则该攻击者可以访问您的服务。因为,一旦他们拥有私钥,他们就可以使用客户端证书使用SSL连接进行连接,然后他们只需要通过IP地址检查。保护客户端证书的私钥。