[Share]SHA-2 vs. SHA-1

RSSBus Connect™ 的 Drummond® 认证包括2012年推出的可选 SHA-2 配置文件,以确保与使用 SHA-2 证书和签名的合作伙伴的互操作性,SHA-2 证书和签名比 SHA-1 证书和签名更安全。 本文解答有关 SHA-1 和 SHA-2 之间的常见问题。

什么是 SHA-2?

SHA-2 是一组哈希算法,用于替换 SHA-1。 SHA-2 实际上由 SHA-224 ,SHA-256 ,SHA-384 和 SHA-512 算法组成,其中 SHA-256 是该标准中最常见的算法。

什么是散列算法,以及为什么使用 SHA-2 代替 SHA-1 ?

SHA-2 和 SHA-1 表示数据的单向哈希。即使单个字节的数据发生更改,哈希值也会完全改变,但同一组数据会产生完全相同的结果。这个函数只发生在一个方向上,但是不能单独看成一个散列,也不能明确说明用什么数据来创建散列(散列通常比原始数据短)。

您可以公开比较两组数据,检查它们是否相同,并且不向任何人泄露看到的数据。两组数据使用相同的已知算法分别计算哈希值,然后比较两个结果。如果第三方篡改了原始数据的单个字节,那么哈希值完全不同。 因为这些散列是单向散列,所以有可能组装随机排列的字节并产生具有相同结果的散列(称为冲突)。这是非常不可能的、困难且耗时的,但是在现有技术的限制内,产生 SHA-1 的冲突在理论上是可能存在的。 SHA-2 哈希更安全,使用了改进的算法和更大的散列。

什么是 SHA-2 证书?

证书是一个文件存储库,其中包含由密钥的签发者签署的密钥。如果您在 Windows 中打开检查证书的 Details 选项,则可以看到用于签署密钥的签名算法。 SHA-2 证书是一个使用 SHA- 2算法(如 SHA-256 )签名密钥的证书。

这与使用证书创建 SHA-2 签名有什么区别?

证书是向您的交易伙伴呈现公钥的方法,但密钥在通信过程中执行额外的加密操作。可以使用专用私钥为合作伙伴签名消息,但是该操作选择的签名算法与创建证书的签名算法无关。通过这种方式,上图所示的 SHA-1 证书可以使用SHA-2 对消息进行签名,同样, SHA-2 证书也可以使用 SHA-1 对消息进行签名。

那么应用程序版本支持哪种?

AS2连接器的早期版本(EDI AS2 连接器的第7版和 AS2 连接器的第2版)不支持创建或验证 SHA-2 签名,但 SHA-2 证书可以在应用程序中配置。 Windows 将验证证书的签名,应用程序仅仅访问证书的密钥。 从 AS2 连接器的第3版(RSSBus Connect™)开始,该应用程序同时支持SHA-2证书的配置以及SHA-2签名的创建和验证。请注意,SHA-2 签名是 AS2 中的可选协议,并非所有的 AS2 解决方案都支持使用 SHA-2 签名创建的传输。

文章分类 Share, 知识库