安全密钥大小的选择和散列算法

算法,密钥大小和数字证书


摘要:

从表面上看,数字证书并不像人们偶尔认为的那样复杂。受信任的公共机构--证书颁发机构(CA),如GlobalSign,验证特定详细的相关信息,以产生电子身份,供将来展示,表明已对个人或组织进行了身份验证。

数字证书包含有关证书颁发给谁以及颁发证书的认证机构的信息。此外,一些认证机构本身可能由一个或多个认证机构的层次结构认证,并且该信息也是证书链的一部分。例如,当使用数字证书对文档和软件进行签名时,该信息以安全和可验证的格式与签名项一起存储,以便可以向用户显示以建立信任关系。

通常情况下,当深入研究时,机制并不那么简单。就数字证书而言,还有许多其他因素。第三方的资格是什么,他们的做法是什么,以及他们使用了哪些加密算法来生成数字证书?

通常情况下,当深入研究时,机制并不那么简单。就数字证书而言,还有许多其他因素。第三方的资格是什么,他们的做法是什么,以及他们使用了哪些加密算法来生成数字证书?

当涉及到加密算法和密钥长度在这个不断变化的行业中是可接受的决策时,这个选择是正确的。幸运的是您不需要成为密码学家就可以在这个主题上做出正确的决定,但您需要基本了解历史、未来的可用性,并仔细考虑目前在安全市场上运行的多个证书颁发机构提供的算法。

历史:

数字签名由两种不同的算法组成,一种是散列算法(例如SHA-1),另一种是签名算法(例如RSA)。随着时间的推移,这些算法或它们使用的参数需要更新以提高安全性。

RSA的强度与密钥大小直接相关,密钥越大,签名越强。密码分析的进步推动了该算法使用的密钥大小的增加。虽然这需要一些额外的计算能力,但微处理器已经跟上了这个需求,对创建或验证签名的实体影响最小。每次我们将RSA密钥的大小增加一倍,解密操作所需的处理能力就会增加6-7倍。

因此,自2011年1月以来,证书颁发机构一直致力于遵守NIST(国家标准与技术研究所)的建议,确保所有新的RSA证书的密钥长度为2048位或更长。GlobalSign是最早在其CA根证书中实现2048位密钥强度的证书颁发机构之一,早在1998年,其他证书颁发机构就根据这些新要求效仿了。

随着计算能力的增加,散列算法开始变得容易受到散列冲突的影响。MD5使用了多年,直到2004年发现它有一个安全缺陷,这为SHA-1奠定了基础。哈希算法采用可变长度输入字符串,并将其缩减为通常较短的固定长度输出(SHA-2为160位),其目标是为该输入提供唯一标识符。需要理解重要的一点是,散列算法可能容易受到冲突的影响,密码分析的进步使其更有可能产生这种冲突。问题是没有可调整的参数,解决这个问题的唯一方法是更改用于生成哈希的算法。在这种情况下,下一个进化步骤是SHA-2算法家族中的一个。

未来:

在过去十年左右的时间里,使用两种新算法来解决以上说的进步,SHA-2和ECC,进展缓慢且稳定。ECC在不降低安全性的情况下比RSA具有显著的性能优势,而SHA-2提供了三个版本,每个版本的长度逐渐变长,这有助于解决当前的风险并提供一定的持久性

虽然CA/浏览器论坛尚未在其基线要求中指定SHA-256,但微软和谷歌正在推动行业发展,到2017年1月,他们将不再信任根据公共根颁发的所有SHA-1证书。GlobalSign随时跟踪CA和浏览器行业以及安全表单的状态,并在2014年3月积极采取步骤支持SHA-256 SSL证书。

总结思考:

配置SSL的主要目标是使用户能够安全地通过Internet进行通信。组织和个人需要能够以最少的麻烦、最低的成本和遵守任何相关标准来完成这项工作。

在做出决策时,合规性是另一个重要的驱动因素,无论是支付卡行业/数据安全标准(PCI)、联邦信息处理标准(FIPS)还是您需要满足的其他标准,都需要考虑到这一点。

因此,全球各组织的CISO可以放心,使用SHA2算法和RSA 2048位密钥强度的第三方提供商在未来十年左右将是安全的,但在做出选择提供商的关键决策时,当他们采用这种安全级别时,也值得考虑一下。在NIST提出建议之前的10年中,GlobalSign一直是行业内领先的CA机构之一。