我正在提供RESTful API。此API由第三方桌面应用程序使用。 API目前使用基本身份验证进行保护。这不是很安全,因为凭证必须存储在客户端应用程序中。桌面应用程序和API之间的通信也很容易被截获。
桌面应用程序还与第三方服务器通信(由桌面应用程序的发布者运行)
我无法弄清楚如何以良好的方式保护API。想法?
答案 0 :(得分:1)
您似乎在这里有两个独立的问题:(1)客户端上的凭据存储,以及(2)与服务的通信。
您可以通过在SSL下运行服务来解决服务通信(并阻止流拦截)。整个通信流都是加密的。
客户端上的凭据存储超出了API的范围 - 您无法控制某人使用凭据执行的操作。如果您还负责部署和维护调用API的桌面客户端,那么有一些策略可以在客户端上保留凭据(取决于操作系统。)否则,您最安全的选择很简单 - 不要存储凭据,要求user为每个会话提供uid / pwd参数。同样,它完全依赖于主机操作系统和客户端应用程序。