SSL 速度:128 位与 256 位

2024-05-22

我决定使用 SSL 加密我的整个网站,即使实际上只有部分网站是必要的。最终结果是该网站现在有点慢。所以,我的问题是:

  1. 我是否应该只加密网站的会员部分(请记住我在首页上有登录表单)?
  2. 我是否应该将加密降低到 128 位?

如果站点总体较小,速度差异是否显着?


有几个不同的因素会影响 SSL 速度。

  1. 服务器负载。通过加密所有流量,您将增加服务器的 CPU 工作负载。然而,特别是在现代硬件上,除了流量非常高的网站之外,这不会导致真正明显的差异。

  2. 对称加密的密钥大小。我认为这就是您所说的将加密减少到 128 位的意思。可能这不是整体速度的重要因素。您可以通过运行例如来对 openssl 进行基准测试openssl speed aes。您可能会发现 AES 256 并不比 AES 128 慢多少。

  3. SSL 握手速度。 SSL 握手在客户端和服务器之间引入了一些普通 HTTP 中不需要的额外往返。这意味着,特别是在高延迟链接上,您开始从服务器获取任何数据之前需要更长的时间。为了缓解这种情况,您可以做一些不同的事情:

    A。使用 2048 位 RSA 私钥。这是当前推荐的大小,作为安全性和速度之间的权衡。较大的密钥将需要更长的时间在客户端和服务器之间传输,并且会稍微增加 CPU 密集度。 (看openssl speed rsa2048 rsa4096.)

    b.确保您使用 HTTP keepalive 和 SSL 会话恢复。 HTTP keepalive 将允许客户端重复使用与服务器的现有连接来进行多个请求,从而避免再次建立连接的需要。 SSL 会话恢复允许客户端和服务器使用先前商定的 SSL 参数更快地启动新会话,从而减少新请求所需的往返数据包数量。

当只有部分页面通过 SSL 提供服务时,获得正确的保护可能会很困难。您肯定会希望通过 HTTPS 提供登录表单及其发布到的页面。您还应该设置Secure http://en.wikipedia.org/wiki/HTTP_cookie#Secure_and_HttpOnly标记会话 cookie,否则与服务器的任何明文通信都将包含 cookie,并允许窃听者冒充用户的会话。

但总的来说,考虑到加密所有内容是多么容易,尝试找出哪些页面需要受到保护可能不值得。为了获得最佳安全性,您还应该确保您已经设置了 Web 服务器,以便它可以通过SSL服务器测试 https://www.ssllabs.com/ssltest/index.html来自 Qualys SSL 实验室。

好的基准测试工具可能取决于您的平台。如果你使用的是linux,你可以尝试abapache自带的命令:http://en.wikipedia.org/wiki/ApacheBench http://en.wikipedia.org/wiki/ApacheBench.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SSL 速度:128 位与 256 位 的相关文章

  • 改进绩效反思 - 我应该考虑哪些替代方案?

    我需要动态地设置对象上的一堆或属性的值 将其称为传输对象 将在短时间内创建相当数量的此类传输对象并设置其属性 我想避免使用反射 还有其他选择吗 如果是的话 有我可以查看的示例实现吗 Use Delegate CreateDelegate h
  • SQL 中的 JOIN 成本有多高?和/或,性能和标准化之间的权衡是什么?

    我发现了一个类似的线程 但它并没有真正抓住我想要问的本质 所以我创建了一个新线程 我知道规范化和性能之间存在权衡 我想知道划定这条线的最佳实践是什么 在我的特定情况下 我有一个消息传递系统 它具有三个不同的表 messages thread
  • RMI 有多快?

    我看到过这样的问题 两个独立的 Java 桌面应用程序之间的通信 https stackoverflow com questions 1680898 communication between two separate java deskt
  • 有效地从 2 个数据帧中查找日期时间范围的重叠

    关于查找日期或时间范围的重叠存在一些问题 例如 https stackoverflow com questions 9044084 efficient date range overlap calculation in python 我用这
  • 如何加快编辑距离计算速度

    我正在尝试运行模拟来测试平均值编辑距离 http en wikipedia org wiki Levenshtein distance之间随机 二进制字符串 我的程序是用 python 编写的 但我正在使用这个C扩展 https githu
  • 将旧密码转移到新的哈希算法?

    我正在将站点切换到 Rails 这是一个拥有超过 5 万用户的大型网站 问题是 现有的密码哈希方法是极其虚弱的 我有两个选择 1 切换到新算法 为每个人生成随机密码 然后通过电子邮件将这些密码发送给他们 并要求立即更改 2 实现新算法 但使
  • 为什么在我的例子中 For 循环比 Map、Reduce 和 List 理解更快

    我编写了一个简单的脚本来测试速度 这就是我发现的结果 实际上 for 循环在我的例子中是最快的 这真的让我感到惊讶 请查看下面 正在计算平方和 这是因为它在内存中保存列表还是有意为之 谁能解释一下这一点 from functools imp
  • 您可以从 MethodInfo 对象获取 Func (或类似的)吗?

    我意识到 一般来说 使用反射会对性能产生影响 实际上 我本人根本不喜欢反思 这纯粹是学术问题 假设存在一些如下所示的类 public class MyClass public string GetName return My Name 请耐
  • 无法添加 laravel/homestead 盒子。 “SSL 证书问题..”。视窗

    我已经在另外两台机器上安装了 laravel homestead 以前从未见过这个问题 我搜索了又搜索 实施了大量建议的修复方案 但没有任何效果对我有用 我已经安装了 virtual box 和 vagrant 但我陷入了第一个障碍 vag
  • Nuxt.js 使用 https 调用服务器端 API 的问题

    当我使用 HTTP 时 我遇到 nuxt 服务器端 API 调用问题S 在客户端 一切都很好 当我通过链接在客户端切换页面时 API 可以工作 但是当我按下 Ctrl f5 并且数据将在服务器端预取时 实际上没有 API 调用 也没有提供数
  • isinstance(foo,types.GeneratorType)还是inspect.isgenerator(foo)?

    Python中似乎有两种方法来测试一个对象是否是生成器 import types isinstance foo types GeneratorType or import inspect inspect isgenerator foo 本着
  • 如何将指纹添加到密钥库

    我在写入 SSL 套接字时遇到以下异常 javax net ssl SSLHandshakeException sun security validator ValidatorException PKIX path validation f
  • python:PyPi公共模块:如何确定是否安全?

    我已经完成了我的 python 3 应用程序 它正在使用 PyPi 的多个公共模块 然而 在我将其部署到我公司的企业 将处理客户的凭据并访问第 3 方 API 之前 我需要尽职调查确保它们既安全又安全 我必须执行哪些步骤 验证 PyPi 模
  • 具有特定协议版本的 SSL 连接

    我正在尝试使用特定协议版本执行 SSL 连接 使用以下 JAVA 代码 System out println Locating socket factory for SSL SSLSocketFactory sslsocketfactory
  • 使用map.get()时使用java Map.containsKey()是多余的

    一段时间以来 我一直想知道在最佳实践中是否允许避免使用containsKey 方法上java util Map而是对结果进行空检查get 我的理由是 两次查找值似乎是多余的 首先是查找containsKey 然后再次为get 另一方面 大多
  • AWS ACM 证书管理 删除正在使用的证书

    我想删除 AWS Certificate Manager 中正在使用的 AWS 证书 为此 我使用建议的 AWS CLI 和以下命令 aws iam delete server certificate server certificate
  • 如何让 Sinatra 通过 HTTPS/SSL 工作?

    正如标题所示 谷歌没有提供任何与此相关的有用信息 如何为 Sinatra 应用程序设置和配置 HTTPS SSL 如何创建 HTTPS 路由 我以前从未在我的应用程序中使用过 HTTPS 也没有调整 Rack 其他内容的经验 所以我很欣赏详
  • 了解 ASP.NET 应用程序文件夹

    ASP NET 中的应用程序文件夹用于存储对运行网站至关重要的各种元素 我想更深入地了解这些文件夹 特别是文件夹的可访问性 根据有关的文章ASP NET 网站布局 http msdn microsoft com en us library
  • Java 不提供双向 SSL 客户端证书?

    我正在尝试使用相互 SSL 从 Java Spring Boot 应用程序连接到 NetScaler 端点 我可以使用以下命令通过 OpenSSL 在命令行上按预期进行连接 openssl s client connect xxxx xxx
  • 当 ssl 和 http2 打开时,Nginx 似乎忽略 server_name

    我有这个 nginx 配置 server listen 80 default server listen 80 default server server name www example com return 301 https www

随机推荐