理论教育 公钥密码技术实现的数字签名方法

公钥密码技术实现的数字签名方法

时间:2023-11-27 理论教育 版权反馈
【摘要】:数字签名的实现方法有许多,其中大多数是基于公钥密码技术的。

公钥密码技术实现的数字签名方法

3.2.1 密码技术

1.加密技术

加密是安全机制中最基本的一种技术,通信明文可以通过它被转换成密文,而且这些密文对于那些不知道密钥的人来说是完全不知所云、难以理解。只有知道了它的解密密钥,才能正确的恢复原来的通信明文。当然在加密的过程中也需要用到密钥,加密密钥和解密密钥相同时,就被称为是对称密钥密码算法;而非对称密钥密码算法则是加密密钥和解密密钥不相同的情况。

对称密钥密码系统要求保密通信双方必须事先共享一个秘密密钥,因此对称密钥密码系统也被称为单钥密码系统。在单钥密码系统中,通信双方都知道共享的密钥,这就带来了密钥的管理问题。单钥密码系统中的密码算法运算比较简单、容易实现,因而几乎所有的通信网络都采用单钥密码算法来保护通信信息安全,单钥密码算法又分为流密码算法和分组密码算法两种。流密码算法是对明文信息采用逐bit加密的形式,分组密码算法则是将明文信息分为不同的组,以组为单位分别进行加密运算。从实际操作的角度来比较,流密码算法要简单于分组密码算法,因而也更适用于计算资源有限的无线通信设备中。

在非对称密钥密码中,每个用户都拥有公开密钥和秘密密钥两种密钥。公开密钥顾名思义,是可以向所有人公开的,而秘密密钥只有用户自己掌握,就算知道了公开密钥也并不代表就能获得或者轻易获得秘密密钥的相关信息,因此非对称密钥系统也被称为公开密钥密码系统。公开密钥加密系统的工作流程是这样的:任何人都可以利用一个用户的公开密钥将信息加密后传送给该用户,该用户用自己的秘密密钥解密,得到传送的信息;其他人由于不知道该用户的秘密密钥,因此不能进行解密。公开密钥密码系统不要求通信双方共享秘密,很容易就解决了密钥的管理问题,但公开密钥密码系统大多建立在复杂的数学算法上,加解密都需要大量的数学运算,因而通常不适合于无线设备。

2.完整性检测技术

完整性检测技术是用于提供信息认证的安全机制。从定义上来看,完整性检测技术和数据通信中的校验位与循环校验和非常相似。在数据通信中,发送方通过通信协议生成一个信息的校验位或者循环校验和,并将它和信息附在一起传送给接收方,接收方在收到信息后重新计算出校验位或者循环校验和并将其与接收到的校验位或者循环校验和作比较,如果相同,则认为信息没有出错;如果不同,接收方就知道在信息传输过程中可能发生错误,接收方可以要求发送方重新发送信息或者利用纠错技术对错误信息进行纠正。

然而数据通信中的校验位或者循环校验和是为了检测因为通信信道噪声而造成的信息错误,而信息完整性检测技术是为了监测因为受到恶意攻击、篡改而造成的信息错误。监测恶意攻击并不适合采用数据通信中的校验位或者循环校验和的方法,因为攻击者篡改了信息后可以重新产生一个新的信息完整性码,这样接收方就无法发现信息被篡改。为了抵抗恶意攻击,信息完整性检测技术也需要加入秘密信息,攻击者不知道秘密信息,就不能生成有效的信息完整性码。

最典型的完整性检测技术就是消息认知码,就是将信息通过一个带密钥的杂凑函数来生成一个信息完整性码,并将它附在信息上一起传给接收方,接收方在收到信息后可以重新计算信息完整性码,并将其与接收到的信息完整性码作比较,如相同则证明信息没有被篡改;如不同,接收方就知道在传输的过程中信息被篡改了。

除此之外,还有一种完整性检测技术,它的工作过程分为两个阶段。首先通过杂凑函数生成信息杂凑值,并将杂凑值利用加密算法和秘密密钥进行加密,然后将信息和加密的杂凑值一起传送给接收方,接收方重新进行杂凑值计算,并与解密出来的杂凑值进行比较,如果相等,则表示信息没有被更改,反之则表示信息被更改了。

上面介绍的两种完整性检测技术实现都比较简单,易于实现于无线通信设备。

3.身份认证技术(www.daowen.com)

身份认证技术是提供通信双方身份认证的安全机制,它通过检测用户拥有或者知道的信息来确认用户的身份合法性。在日常生活中,人们进行身份认证时,通常需要出示护照或者身份证来证明其身份,这就是身份认证的例子。然而在网络通信系统中,通信双方很难进行实物认证,甚至通信一方或双方是机器而不是人,人机双方认证系统也可以采用实物认证的方法,例如检查人的个人特征——指纹、声纹、视网膜等,因为每个人的这些特征各不相同,因此可以利用它们来鉴别人的身份。

另一种身份认证的方法是通过检测用户知道的信息来证明用户的身份是否合法。比如说,在登陆邮箱中,用户需要输入用户名和密码,网络通过检查密码是否正确来确认用户的合法性。这种认证方法与上述方法不同的是它不需要依赖任何物理特征,因而适用的范围也就更加广泛,甚至可以实现机机之间的身份认证。密码学中的身份认证方法就是基于这种方法,验证方通过密码技术检验证明方是否知道某个秘密,比如证明方和验证方之间共享的秘密密钥或者证明方自己拥有的秘密密钥。

基于共享秘密的身份认证方法可以建立在运算简单的单钥密码算法和杂凑函数的基础上,所以更适合移动通信网络的特点。

4.数字签名

数字签名是用于提供服务的不可否认性的安全机制,类似于传统的手写签名,代表着签名者对合同内容或者服务业务的认同,因此它可以作为签名者违反合同或者否认服务业务时的证据,防止纠纷的产生。

然而数字签名又不同与传统的手写签名,具体如下:

(1)数字签名采用的是电子形式,容易在网络中传输;

(2)数字签名只有在知道秘密密钥的情况下生成,因而很难被伪造,而手写签名则相对比较容易被伪造;

(3)数字签名可以对整个信息进行签名,而且签名后信息不可以被篡改,而手写签名的文件则可以被改动。

数字签名的实现方法有许多,其中大多数是基于公钥密码技术的。在用户数字签名的过程中:用户利用秘密密钥将一个信息或该信息的杂凑值进行签名,然后将信息和签名一起传给验证方,验证方通过签名者传送过来的签名就可以鉴别签名的真伪。因为只有签名者才知道其秘密密钥,也只有他才能生成数字签名,所以签名者一旦对一个信息进行签名就很难抵赖。此外,验证方验证数字签名的真伪只需要知道签名者的公开密钥,因此所有人都可以验证数字签名。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈