2

我正在设计一个 REST Api,我们正在尝试决定如何进行加密。我们目前对所有请求/响应使用 https,但是各种日志(dns、浏览器……)将记录纯文本 url。当我们在 URL 中发送敏感数据时,这会引发一个问题,例如“www.mysite.com/user/credit-card-number/”。有没有办法利用 SSL/TLS 公钥/私钥来加密路径参数?例如,“www.mysite.com/user/credit-card-number/”变成了“www.mysite.com/encryptedstring”。

4

2 回答 2

2

我强烈建议您不要将敏感数据放在 URL 中。如果您需要识别某些东西,您至少可以使用随机生成的 String/UUID/token/whatever 映射到正在识别的任何内容。

处理手动加密/解密将取决于您使用的语言/框架。例如,如果您使用的是 Java,那么在 JSSE 上进行一些谷歌搜索,这是 Java 的 SSL/TLS 框架。

如果您正在寻找自动为您进行加密/解密的东西,我认为这也取决于您使用的框架。

于 2012-07-10T22:32:45.010 回答
0

如果我理解正确,您是在询问 url 是否通过 SSL/TLS 通道加密。正如这个 SO question指出的那样,答案是肯定的。通过 TLS,客户端和服务器之间的所有内容都被加密,除了目标服务器的 IP 地址和端口。(这也包括http 标头。)

编辑:再次阅读后,我发现您有兴趣停止正在记录的 URL。我很确定这样做的唯一方法是更改​​服务器上的 url。帮助不大,但我的建议是不要将 cc 号码放在 url 中或使用某种派生密钥。

于 2012-07-10T22:42:12.970 回答