存储加密的https查询字符串代替用户凭据?

时间:2013-07-24 08:16:44

标签: https credentials

我正在构建一个应用程序,我需要为第三方服务存储用户的登录凭据。与第三方服务的通信是通过https GET请求完成的。

从我所看到的,看this one这样的帖子,对于这样做的最佳实践没有明确的答案,并且该帖子中讨论的具体方法至少都有所不足。

所以有人认为我可能通过“预加密”第三方请求的查询字符串并将加密数据存储在我的数据库中而不是存储用户来解决问题。凭证直接。这样我就可以以加密的形式存储凭证,但不用担心密钥被泄露,因为它是由第三方持有的,而不是我。如果我的数据库遭到入侵,那么入侵者就无法获得比通过数据包嗅探获得的更多内容。

我似乎无法找到任何人做这样的事情的例子,所以我想要反馈社区是否认为这是一种合理的方法。除此之外,对如何做到这一点的一点帮助将是伟大的。我正在node.js / express中构建我的应用程序,目前我只是使用https模块来处理与第三方的通信,但显然我必须在较低级别进行以便采取这种方式方法

基本过程是:

  1. 执行与https.request相同的操作,以便与第三方建立ssl / tls连接并加密包含用户凭据的查询字符串
  2. 不要将加密数据实际发送给第三方,而是将其存储在我的数据库中
  3. 稍后,使用存储的数据“重建”https连接并将其发送给第三方,处理响应,赢取

1 个答案:

答案 0 :(得分:0)

那不行,抱歉。 HTTPS renegotiates new session key each time,因此每条新请求的数据都会有所不同。