消息认证码
在信息发送和接收过程中,若攻击者能够得到信息,进行篡改,就能达到欺骗,诈骗,冒名顶替的作用。为了防止冒名诈骗,一个对策就是使用消息认证码——MAC: Message Authentication Code。
消息认证码,即确定消息真实性的认证程序。发件人将想要发送的信息和从哪个消息中生成的MAC值一起进行发送。收件人将受到的MAC值同消息中生成的MAC值进行比较,若两个MAC值一致,就可以确认,从发送人发出的消息没有被篡改。若MAC值不同,就可以认为消息被篡改了。
缺点及改进
消息认证码通过MAC值来确定来确定信息的正确性。但是和通用钥匙一样,会出现钥匙如何安全共有的问题。
消息认证码的两个缺陷:
① 无法认证发件人,发件人可以否定消息由自己发出
② 无法向第三方证明,A发消息给B,对于C来说,无法确定是由A发送给B,还是由B发送给A。
为了防止发件人对自己发出消息的否认,可以使用电子签名 Digital Signature。
电子签名的使用:发件人在被自己的私密钥匙加密过程中,加入签名,把签名和消息一起发送给接收人,接收人把发送人用公开钥匙加密的签名进行解密,才能得到消息,然后将经过解密的消息与发送过来的的另一个消息进行比较。若果两者一致,就可以认为消息是正确的,且可以确认发送人。