Web服务器作为TLS的Byte-for-Byte代理

时间:2016-08-19 15:13:26

标签: javascript security ssl web proxy

考虑从某个地方获取某些数据的Web服务器(HTTP),并将其作为方便的HTML显示给用户。

还要考虑提取过程涉及机密数据,如用户的用户名/密码。一个例子是我们的HTTP服务器联系流行电子邮件服务的SMTP服务器,如gmail,yahoo等。

使用TLS会很聪明,因为我们不希望机密数据暴露给中间人。

所以,目前的模型是:

[end user] <-TLS-> [our HTTP server] <-TLS-> [other SMTP server]

这里的问题是我们的HTTP服务器可以明确地访问最终用户的机密数据。

最终用户的浏览器可以直接启动与其他SMTP服务器的连接,这真是太好了。

这两个问题是:

  1. 浏览器只能在网络级别了解HTTP
  2. XMLHttpRequest通常不允许跨域请求
  3. 我提出的一个想法是让最终用户的浏览器表现得像是要创建与其他SMTP服务器的TLS连接,而不是将连接转换到其他SMTP服务器,只需发送Byte-for - 将其发送到我们的HTTP服务器的所有数据(可能通过WebSockets),并且HTTP服务器将“代理”TLS加密数据与其他SMTP服务器进行“代理”。

    我已经知道在服务器端要做什么,但我想知道在客户端实现这一点的最佳做法。

    此外,这似乎不是一个在安全领域相对受欢迎的功能吗?我给出的示例是针对SMTP的,但它同样适用于任何其他可以使用TLS的协议。我觉得会有标准的JavaScript方法等。

0 个答案:

没有答案