先加密后签名是否安全
先签名后加密是指先对消息进行签名,然后对消息的签名值和消息一起进行加密。如果采用先加密后签名的方式,接收方只能知道该消息是由签名者发送过来的,但并不能确定签名者是否是该消息的创建者。比如在发送一个认证凭据时采用先加密后签名的方式,消息在发送过程中就有可能被第三方截获并将认证凭据密文的签名值修改为自己的签名,然后发送给接收方。第三方就有可能在不需知道认证凭据的情况下通过这种方式来通过认证获取权限。
采用先签名后加密方式可以避免这类问题的发生,因为只有在知道消息明文的情况下才能对其进行签名。
如果存在一个中间人Mallory可以拦截Alice和Bob的消息,在不篡改消息明文和密文的情况下,使用Mallory的私钥对消息密文进行签名,并替换Alice原始的签名,最后篡改后的消息传输给接收方Bob,Bob仍然可以成功解密明文,同时用Mallory的公钥成功验证签名,最终这条消息会被Bob认为是Mallory发送的合法消息。
“先加密后签名”一定不安全吗
从上面的演示来看,“先加密后签名”似乎一定不安全,是这样吗?中间人Mallory针对“先加密后签名”进行替换签名攻击得手的前提条件:
1、 接收方Bob根据签名内容中的证书ID找到对应的Mallory公钥来验证签名。
2、 接收方Bob仅使用公钥验签来识别发送方的身份。
只要打破上面的任意一个前提,“先加密后签名”也是安全的。
转自:
https://www.cnblogs.com/huaweiyun/p/13969307.html
posted on 2021-10-12 15:45 TrustNature 阅读(243) 评论(0) 编辑 收藏 举报