数字签名FAQ

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/82831817

一 密文为什么能作为签名使用

问:

用私钥加密消息得到签名,然后再用公钥解密消息并验证签名,这个过程我理解,但是密文为什么能够具备签名的意义呢?

答:

虽说实际进行处理的内容是用私钥进行加密的,但这里的加密并非是为了保证机密性而进行的。

数字签名是利用了“没有私钥的人事实上无法生成使用该私钥所生成的密文”这一性质来实现的。这里所生成的密文并非用于保证机密性,而是用于代表一种只有持有该密钥的人才能够生成的信息。

这样的信息一般称为认证符号,消息认证码也是认证符号的一种,数字签名也是一样。数字签名是通过使用私钥进行加密来产生认证符号的。

二 数字签名不能保证机密性吗

问:

消息没有经过加密就发送出去了,这样不就无法保证消息的机密性了吗?

答:

的确如此,数字签名的作用本来就不是保证机密性。

如果需要保证机密性,则可以不直接发送消息,而是将消息进行加密之后发送。

三 这种签名可以随意复制吗

问:

数字签名只不过是计算机上的一种数据,貌似很容易被复制。但如果可以轻易复制出相同的内容,那还能用作签名吗?

答:

在现实世界中,签名的原件是独一无二的,用复印机复印出来的副本和原件是有区别的,但在计算机中的副本与原件是无法区别的,这也许是这一疑问产生的原因吧。然而,签名是不是原件并不重要,真正重要的是特定的签名者与特定的消息绑定在一起这一事实。

无论将签名复制多少份,“是谁对这条消息进行了签名”这一事实是不会发生任何改变的。

总之,签名可以被复制,但这并不代表签名会失去意义。

四 消息内容会不会被任意修改

问:

数字签名只不过是普通的数据,消息和签名两者都可以是任意修改的,这样的签名还有意义吗?

答:

的确,签名之后也可以对消息和签名进行修改,但是这样修改之后,验证签名就会失败,进行验证的人就能够发现这一修改行为。数字签名所要实现的并不是防止修改,而是识别修改。修改没有问题,但验证签名会失败。

问:

能不能同时修改消息和签名,使得验证签名能够成功呢?

答:

事实上是做不到的。

以对散列值签名为例,只要消息被修改1比特,重新计算散列值就会发生很大的变化,要拼凑出合法的签名,必须在不知道私钥的前提前对新产生的散列值进行加密,事实上这是无法做到的,因为不知道私钥匙无法生成用该私钥才能生成的密文。

五 签名会不会被重复使用

问:

如果得到某人的数字签名,应该就可以把签名的部分提取出来附加在别的消息后面,这样的签名还有效吗?

答:

的确,可以将签名部分提取出来并附加到别的消息后面,但是验证签名会失败。

将签名提取出来这一行为,就好像是现实世界中把纸质合同的签名拓下来一样。然而在数字签名中,签名和消息之间是具有对应关系的,消息不同签名内容也会不同,因此事实上时无法做到将签名提取出来重复使用的。

总之,将一份签名附在别的消息后面,验证签名会失败。

六 删除签名也无法“作废合同”吗

问:

如果是纸质数据,只要将原件撕毁就可以作废。但是带有数字签名的借据只是计算机文件,将其删除也无法保证确实已经作废,因为不知道其他地方是否还留有副本。无法作废的签名是不是非常不方便呢?

答:

的确,带有数字签名的借据即便删除也无法作废,要作废带有数字签名的借据,可以重新创建一份相对于收据的文件,并让对方在这份文书上加上数字签名。

七 如何防止否认

问:

消息认证码无法防止否认,为什么数字签名就能够防止否认呢?

答:

防止否认与“谁持有密钥”这一问题密切相关。

在消息认证码中,能够计算MAC值的密钥(共享密钥)是由发送者和接收者双方共同持有的,因此发送者和接收者中任何一方都能够计算MAC值,发送者也就可以声称“这个MAC值不是我计算的,而是接收者计算的”。

相对地,在数字签名中,能够生成签名的密钥(私钥)是只有发送者才持有的,只有发送者才能够生成签名,因此发送者也就没办法说“这个签名不是我生成的”。

八 数字签名真的能够代替签名吗

问:

纸质借据上如果不签名盖章的话,总觉得不太放心。数字签名真的能够有效代替现实世界中的签名和盖章吗?

答:

数字签名技术有很多优点,例如不需要物理交换文书就能够签订合同,以及可以对计算机上的任意数据进行签名等。然而,对于实际上能不能代替签名这个问题还是由一些不安的因素。其中一个很大的原因恐怕是签订合同,进行认证这样的行为是一种社会性的行为。

我们在对文件进行数字签名时,没有人会自己亲手去计算数字签名的算法,而只是在阅读软件给出提示信息后按下按钮或输入口令。

然而,这个软件真的值的信任吗?软件虽然会提示用户说“请对该文件签名”,但软件所提示的消息真的的是经过这个软件本身进行了签名吗?有没有可能这个软件本身就感染了病毒,而且病毒实际上对另外一份文件进行了签名呢?这样的危险我们还能够想到很多,而实际上它们确实有可能发生。

相关法律为将电子手段实现的签名与手写签名和盖章同等处理提供了法律基础。然而在实际应用中,很有可能会产生与数字签名相关的问题以及围绕数字签名有效性的诉讼。

数字签名技术在未来将发挥重要作用,但是单纯认为数字签名比普通盖章或手写签名更可信是很危险的。一种新技术只有先被人们广泛认知,并对各种问题制定相应的解决办法之后,才能被社会真正接受。

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/82831817