【发布时间】:2012-07-11 06:42:12
【问题描述】:
我正在设计一个 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”。
【问题讨论】:
-
是否需要在网址中包含抄送号码?
-
我不明白你为什么需要它。但是,如果您希望您的客户端使用公钥(来自服务器证书)进行加密,而服务器使用其私钥对其进行解密,那么here's an example in Python。
-
python 示例与我想做的类似。这是否被认为足够安全以用于大型项目?
-
@dpayne:v1 填充可能需要替换为 oaep 填充,这取决于整个使用场景。 Read this,它与 aes 有关,但同样的逻辑适用于 rsa。我同意杰里米的观点。可能可以保护 URL 中的数据,但如果您一开始就避免将敏感信息放在那里,那是不值得的......
-
... RESTful 设计建议您的客户端代码不应更改,即使您用随机 blob 替换您的 url(尽管它使初始实现更加复杂)。
标签: api rest encryption