JSON RPC over TLS是否足够安全?

Fab*_*sta 3 php security ssl json-rpc

我打算让一个PHP Web服务接受基于TLS(HTTPS)的JSON-RPC.每个客户端都有一个API密钥,我将用于识别目的.这是否足够安全,是否有JSON-RPC安全特定标准?

Tho*_*zco 5

这是一种很好的做事方式.以下是安全方案中要求和组件的概述:

清单

这是需要什么安全性的清单,以及如何解决它:

  • 第三方无法窃听您的通信.HTTPS提供此功能.
  • 第三方不能篡改您的通信.HTTPS也提供此功能.
  • 客户端可以验证服务器.HTTPS提供此(*).
  • 服务器可以验证客户端.

客户端验证

有很多方法可以验证客户端.这里有一些exaples:

  • 使用API​​密钥计算请求的HMAC,并在请求中包含HMAC作为标头.(**)最安全,但设置更复杂.关键优势是,如果您的服务器遭到入侵,API密钥将不会暴露.
  • 在请求中包含API密钥本身.设置更简单,可能具有足够的安全性,具体取决于您的要求.
  • ...

(*):只要客户端库可以.HTTPS要求您使用验证您的站点对应于域名的证书.不幸的是,许多HTTPS库默认不对此进行验证.
(**):您还应该使用随机数来防止重放攻击.