C++ 未保留与服务器的连接时使用SSL

C++ 未保留与服务器的连接时使用SSL,c++,ios,iphone,networking,ssl,C++,Ios,Iphone,Networking,Ssl,我有一个简单的问题-显然SSL是一个额外的开销和处理时间,因为在连接、握手等过程中会有很多事情发生在幕后 当连接建立且安全时,您就可以开始了,但是当您不能(不想)简单地保留连接时,架构又如何呢 想象一下,客户机连接到服务器,发送请求,获得响应并立即断开连接 在这种类型的体系结构中,当连接/断开与每个客户端请求的连接时,SSL可能会增加非常大的开销 请解释一下,我遗漏了什么,还有什么可能的选择 根据评论进行更新,以明确: 我希望有一个聪明的解决方案,比如会话可能会被“记住”,而在下一个请求中,并非

我有一个简单的问题-显然SSL是一个额外的开销和处理时间,因为在连接、握手等过程中会有很多事情发生在幕后

当连接建立且安全时,您就可以开始了,但是当您不能(不想)简单地保留连接时,架构又如何呢

想象一下,客户机连接到服务器,发送请求,获得响应并立即断开连接

在这种类型的体系结构中,当连接/断开与每个客户端请求的连接时,SSL可能会增加非常大的开销

请解释一下,我遗漏了什么,还有什么可能的选择

根据评论进行更新,以明确: 我希望有一个聪明的解决方案,比如会话可能会被“记住”,而在下一个请求中,并非所有的初始事情都需要从头开始。因此,我希望找到一种不保留连接的SSL使用优化方法

提前谢谢大家

(在此之前,RFC4507)为TLS“票证”提供了一个扩展,允许在客户端和服务器之间进行快捷方式重新协商。初始连接时,服务器可以返回一个票证,用于以后的连接

客户机和/或服务器可能不支持这一点,因此在这种情况下,您每次都会退回到完全协商

(在此之前,RFC4507)为TLS“票证”提供了一个扩展,允许在客户端和服务器之间进行快捷方式重新协商。初始连接时,服务器可以返回一个票证,用于以后的连接


客户机和/或服务器可能不支持这一点,因此在这种情况下,您每次都会退回到完全协商

SSL具有会话功能,这意味着多个连接可以使用第一个连接协商的会话。重新加入时的握手比初始握手(或创建新会话的重新握手)便宜得多。

SSL具有会话功能,这意味着多个连接可以使用第一个连接协商的会话。重新加入时的握手要比初始握手(或创建新会话的重新握手)便宜得多。

您似乎没有遗漏任何东西。我不太确定你的问题是什么-你希望免费获得类似SSL安全级别的东西吗?+1作为一个好的评论。我希望这里能做些聪明的事。显然,在当今的移动规模下,使用不保留连接的架构是合理的。我希望有一个聪明的解决方案,比如会话可能会被“记住”,而在下一个请求中,并非所有的初始事情都需要从头开始。因此,我希望找到一种不保留连接的SSL使用优化方法——简言之,您似乎没有遗漏任何东西。我不太确定你的问题是什么-你希望免费获得类似SSL安全级别的东西吗?+1作为一个好的评论。我希望这里能做些聪明的事。显然,在当今的移动规模下,使用不保留连接的架构是合理的。我希望有一个聪明的解决方案,比如会话可能会被“记住”,而在下一个请求中,并非所有的初始事情都需要从头开始。因此,我希望找到一种不保留连接的SSL使用优化方法——简言之,感谢您的回答,这似乎就是我希望看到的SSL实现。我们可以假设服务器和客户端都在我的控制之下,所以我应该能够为两者添加票务支持。你知道怎么做吗?我希望OpenSSL将完成所有工作。还有什么你不熟悉的性能指标吗?比如票务和全面谈判。在进一步研究之后,我会将此标记为答案。再次感谢你的回答!检查OpenSSL的SSL_OP_NO_TICKET,我相信它在默认情况下是打开的,但是一些库(例如libCURL)在其默认选项集中禁用了它。我们在这方面做了一些测量,吞吐量的提高是相当明显的。很高兴知道,完全回答。我会尝试玩它,如果有什么需要分享的话,我会更新它。再次感谢。感谢您的回答,这似乎是我希望看到的SSL实现。我们可以假设服务器和客户端都在我的控制之下,所以我应该能够为两者添加票务支持。你知道怎么做吗?我希望OpenSSL将完成所有工作。还有什么你不熟悉的性能指标吗?比如票务和全面谈判。在进一步研究之后,我会将此标记为答案。再次感谢你的回答!检查OpenSSL的SSL_OP_NO_TICKET,我相信它在默认情况下是打开的,但是一些库(例如libCURL)在其默认选项集中禁用了它。我们在这方面做了一些测量,吞吐量的提高是相当明显的。很高兴知道,完全回答。我会尝试玩它,如果有什么需要分享的话,我会更新它。再次感谢,谢谢你的回答。看看这里:比起会话ID,票务更受欢迎,因为使用票务服务器不需要维护服务器端的现金。我知道这一点。您需要知道,会话ID内置于TLS中,并且受到大多数实现的支持。RFC5077是一个扩展,没有几个主要的实现支持。谢谢你的回答。看看这里:比起会话ID,票务更受欢迎,因为使用票务服务器不需要维护服务器端的现金。我知道这一点。您需要知道,会话ID内置于TLS中,并且受到大多数实现的支持。RFC5077是一个扩展,不受几个主要实现的支持。