保护内存中的REST令牌

时间:2014-12-15 04:05:34

标签: c# rest token

所以我有一个REST API。我有一个C#客户端,可以使用https上的用户名/密码登录。它将一个标记作为字符串返回。我存储该令牌,然后当我进行进一步的API调用时,我可以创建一个Authorization标头:

client.Headers.Add(“授权”,“承载”+令牌);

但是令牌被返回并作为字符串存储在内存中。这不会使令牌在内存转储中可见时出现安全问题吗?

2 个答案:

答案 0 :(得分:2)

如果此人可以读取计算机上的内存,您可能已经失去了任何安全性。他们将能够反编译您的客户端,以发现您用来模糊它的任何机制,并能够对它们进行反向工程。此外,他们可能能够收听网络请求并访问用户名/密码和任何令牌,然后才能采取任何措施来保护它。

最好还是假设令牌可能会受到损害。如果它落入坏人之手,使其有时间限制和可撤销,至少可以限制损害。您还应该像对待用户名/密码一样对待它,并根据已被授予令牌的人限制API的访问范围,而不是通过客户端进行访问。

答案 1 :(得分:0)

正如tvanfosson所说......如果有人可以访问您已经丢失的计算机上的内存。那就是说......你可以使用一些技巧来增强安全性。 oauth令牌只是一组加密的值。您可以加密令牌中的客户端IP地址,并在传递令牌时验证IP。