【发布时间】:2014-05-20 02:17:21
【问题描述】:
我开发了一个简单的应用程序,它不使用(至少一开始)任何第三方授权。我想创建一个 RESTful api 供 iOS/Android/任何客户端使用,所以我阅读了一堆有关 RESTful API 实现的信息。然而,实现它们的常用方法包括发送某种用于签署请求的安全“令牌”;这使得 API 容易受到中间人攻击,推荐的应对方法是使用 HTTPS。
但是,阅读所有这些内容让我想知道,为什么不使用私钥/公钥签名(如 RSA)来进行此操作。这样,客户端会根据密码生成私钥和公钥,在注册时发送公钥并将私钥保存在客户端,即使有人掌握了服务器和客户端之间的所有通信,他仍然不会不能冒充客户。
但是我对密码学和安全性几乎一无所知,所以我想不到为什么不使用这种方法,对吧?
【问题讨论】:
标签: api rsa restful-authentication signing