英特尔的工程师提出了一种新的 HTTPA 协议(HTTPS Attestable),扩展了 HTTPS,为所执行的计算的安全性提供了额外的保证。 HTTPA 可以保证服务器上处理用户请求的完整性,并确保 Web 服务是可信的,并且服务器上 TEE 环境(可信执行环境)中运行的代码没有因黑客攻击或攻击而被更改。管理员的破坏。
HTTPS 可在网络传输过程中保护传输的数据,但无法防止其完整性因服务器攻击而受到破坏。 使用 Intel SGX(软件防护扩展)、ARM TrustZone 和 AMD PSP(平台安全处理器)等技术创建的隔离飞地可以保护敏感计算并降低终端节点上敏感信息泄露或修改的风险。
为了保证传输信息的可靠性,HTTPA 允许您使用 Intel SGX 中提供的证明工具,该工具可确认执行计算的 enclave 的真实性。 从本质上讲,HTTPA 扩展了 HTTPS,能够远程证明 enclave,并允许您验证它是否在真正的 Intel SGX 环境中运行以及 Web 服务是否可信。 该协议最初被开发为通用协议,除了 Intel SGX 之外,还可以用于其他 TEE 系统。
除了为 HTTPS 建立安全连接的正常过程之外,HTTPA 还需要协商可信的会话密钥。 该协议引入了一种新的 HTTP 方法“ATTEST”,它允许您处理三种类型的请求和响应:
- “preflight”检查远程端是否支持 enclave 证明;
- “attest”用于就证明参数达成一致(选择加密算法、交换会话特有的随机序列、生成会话标识符并将 enclave 的公钥传输给客户端);
- “可信会话”- 生成用于可信信息交换的会话密钥。 会话密钥是基于客户端使用从服务器接收到的 TEE 公钥生成的先前商定的会话前秘密以及各方生成的随机序列而形成的。
HTTPA 意味着客户端是值得信赖的,而服务器则不然,即客户端可以使用该协议来验证TEE环境中的计算。 同时,HTTPA 并不保证 Web 服务器运行过程中执行的、未在 TEE 中执行的其他计算不受到损害,这需要使用单独的方法来开发 Web 服务。 因此,HTTPA 主要针对对信息完整性要求较高的专业服务,例如金融和医疗系统。
对于必须为服务器和客户端确认 TEE 中的计算的情况,提供了 mHTTPA (Mutual HTTPA) 协议的变体,该协议执行双向验证。 由于需要为服务器和客户端双向生成会话密钥,因此该选项更加复杂。
来源: opennet.ru