你们中的一些人可能熟悉 aSSL 项目,它使用 AJAX/PHP 来模仿 SSL 协议。它使用 RSA 512 或 1024 作为密钥,使用 AES 作为实际数据。它在概念上让我印象深刻,但我很想知道你们是否看到任何明显的拦截可能/将揭示正在传递的密钥。众所周知,JS 到 PHP 的加密技术通常是无用的,因为密钥是公开传递给客户端的。这似乎是一种更高级的方法。
步骤如下: 1. 浏览器调用服务器启动进程。
服务器返回其 RSA 模数和公共指数。
浏览器生成一个随机交换 128 位密钥,使用服务器公钥对其进行加密,并将加密的交换密钥传递给服务器。
服务器接收到这个加密的 128 位交换密钥,用它的私钥对其进行解密,如果结果正常,则返回会话持续时间。
浏览器接收会话持续时间并设置超时以保持连接处于活动状态。
该项目的 URL 在这里: http ://assl.sullof.com/assl/
如果这有任何潜力,我对如何进一步改进握手并进一步保护客户端有一些想法。