使用SSL进行Rest API加密

时间:2012-07-10 22:04:10

标签: api rest encryption

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

2 个答案:

答案 0 :(得分:2)

我强烈建议您不要在网址中放入敏感数据。如果您需要识别某些内容,您至少可以使用随机生成的字符串/ UUID /令牌/任何映射到正在识别的内容。

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

如果您正在寻找能够自动为您执行加密/解密的内容,我认为这也取决于您使用的框架。

答案 1 :(得分:0)

如果我理解正确,您会询问网址是否通过SSL / TLS频道加密。答案是肯定的,因为this SO question指出。在TLS上,除了目标服务器的IP地址和端口之外,所有内容都在客户端和服务器之间进行加密。 (这也包括http headers。)

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