服务器到服务器身份验证基础

时间:2013-06-18 08:04:37

标签: security

虽然我了解REST服务之间可用于服务器到服务器身份验证的各种选项,但我可以对每种方法的安全含义进行一些澄清。

我想要一项服务来验证收到的请求是否源自合法的呼叫远程服务。没有涉及的交互式用户,假设请求在呼叫服务启动时发生。通常提到的三种方法是:

  1. 使用虚假用户帐户并根据现有的身份验证系统验证客户端
  2. 使用共享密钥/ API密钥并签署请求
  3. 使用客户端证书(验证服务器不是优先级)3。
  4. 我缺少的部分是,似乎所有三种方法完全依赖于调用服务的主机(调用中的客户端)没有受到损害。在第一种方法中,这将泄露假用户密码,但在另外两种方法中,攻击者可以获得共享密钥或客户端证书,并像使用方法1一样轻松地模拟呼叫服务器...所以在哪方面是2& 3被认为更安全吗?

2 个答案:

答案 0 :(得分:0)

如果要检查呼叫服务器是否受到损害,您可能希望使用基于TPM的呼叫服务器验证,以防机器上有TPM。一旦确认它没有受到损害,上述3种方法中的任何一种都是安全的。(参考:http://en.wikipedia.org/wiki/Trusted_Platform_Module

答案 1 :(得分:0)

如果主机遭到入侵,游戏就已经结束了。您不能希望使用网络安全技术来提供有关终端系统的保证,这不是它们的意义所在。例如,考虑密码。当用户键入密码时,您所拥有的保证是输入密码的实体知道密码,即全部。设计为对受损主机的安全性就像尝试构建一个密码方案,只有在您是真人的情况下才授权您 - 您期望保证该机制不是为了提供而构建的。