encryption - 仅在登录时使用 ssl?或整个网站?

标签 encryption ssl

我目前正在为一家公司构建一个基于 Web 的文件上传/下载中心,该公司希望通过一种简单的方式将文件发送给客户。

我的问题围绕着网站的哪些部分确实需要进行 SSL 加密。仅对登录表单进行加密,而不对网站的其他部分(如文件传输过程)进行加密是否是一种好的做法?

这些员工中有一些在外国酒店工作,那里的线路嗅探器很常见。我肯定会使用 SSL 登录表单,只是为了防止有人窃取登录信息和删除文件或其他东西。但是,由于文件不敏感(此系统上从未使用过敏感文件),与 SSL 相关的速度成本是否会严重影响上传/下载速度?

感谢任何输入!

最佳答案

任何要求用户进行身份验证的请求都应通过 HTTPS 提供。换句话说,任何包含 session 标识符的请求都必须加密。

在身份验证过程中,大多数系统会设置一个 cookie 以在后续请求中识别用户。如果通过未加密的 channel 发送 session 标识符,中间人可以窥探它,就像他们可以窥探密码一样。如果他们包含这个被盗的 session 标识符,服务器就无法区分攻击者的伪造请求和实际用户的请求。

SSL 的开销相对于其他操作通常很小,即便如此,它也主要发生在 SSL 握手的 key 协商阶段。通过确保将服务器设置为使用允许在后续请求中跳过协商的 SSL session ,可以避免大多数请求出现这种情况。

关于encryption - 仅在登录时使用 ssl?或整个网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3780582/

相关文章:

java - 从 KeyStore 传输私钥,在带有 JNI 的 OpenSSL 中使用

ssl - openssl参数和 key 生成的基本使用

encryption - Qpdf 没有密码无法加密

maven-2 - 记录 Jetty SSL 客户端证书问题

Java 等效于使用 curl 命令行实用程序对带有证书的 https url 进行 rest 调用

java - android AES/CTR/NoPadding 中的解密和密码问题

javascript - Meteor 中的加密

ssl - Websockets + TLS 的 Mosquitto 配置

java - 对 CXF 服务器的 C/C++ SSL 请求

linux - 打开VPN错误: TLS Error: TLS key negotiation failed to occur within 60 seconds