HTML5 Keygen 元素的优点和缺点是什么?

信息安全 加密 证书 html 网页浏览器 html-5
2021-08-16 04:01:17

截至 2013 年 1 月,HTML5 Keygen 元素的潜在优点和缺点是什么?

1个回答

优点

  • 它可以提高身份验证时的安全性(除了多因素设备)

  • 如果用作“客户端证书”,它可以使 MITM 攻击更加困难

  • Keygen 标签在大多数非 IE 浏览器中都实现,使其非常容易实现

  • 无论管理员权限如何,都可以工作。使用 IE 可以禁用 Active X 控件,并且 IE 和浏览器设置可以在严格控制的系统上使密钥生成成为不可能。在这种情况下,非 IE 浏览器中的当前 Keygen 通常是生成和使用客户端证书的唯一无错误方法

缺点和不足

  • 证书不容易在系统之间移植(对某些人来说,这是“专业人士”)

  • 私钥未存储在标准位置

  • 用户界面混乱且难以理解

  • 要求用户从列表中选择适当的密钥长度。大多数用户没有能力做出这个决定。

  • 提示用户下载证书时用户体验不佳。更好的方法是将密钥提交和证书响应集成到同一控件中。在 SO 上可能的解决方案

  • <keygen> 不提供管理证书到期的机制

  • 没有跨浏览器实现的标准密钥长度或散列

  • 缺少算法支持(RSA、DSA、ECC 等)

  • Keysize 选择应该来自表单,而不是用户可选择的。

  • 签名基于 MD5(可以通过基于时间的质询来缓解

  • 缺少不可导出的注册机标志

  • 缺少硬件保护的注册机标志

  • 缺少所需的密码保护

  • 该证书仅限于基于 RSA 的应用程序

  • HTML 表单可以在本地修改,密钥生成安全性相应降低

  • 如果注册到 Microsoft 证书服务器,则唯一受支持的 CertType 是 通过DCOM API的“服务器”

  • 所使用的格式不是标准的,仅提供已建立协议的子集,如PKCS10CMCCRMF这可以防止支持基于非 RSA 的证书、附加客户端信息的扩展和密钥托管

  • 由于更好的支持以及此处描述的问题,在 IE 中不受支持CertEnroll