数字签名和验签是UKEY通信中最重要的步骤,只有经过验签的数据才能确保数据的完整性和保密性。那么什么事签名,什么又叫做验签呢。
首先要明确谁来进行签名,谁来进行验签才能保证通信的完整性和保密性。进行签名和验签的密钥对是非对称密钥对,通常情况下在每次通信建立中,通信双方都拥有对方的数字证书,和自己证书对应的私钥
例如:甲方:拥有甲的签名私钥,乙的数字证书(CA颁发)
乙方:拥有乙的签名私钥,甲的数字证书(CA颁发)
通信过程:
甲发送:首先甲用会话密钥对原始数据加密形成密文,然后对密文进行摘要运算(HASH);在用签名私钥对摘要结果进行加密,加密后的数据就是数字签名。然后 把会话密钥加密后的密文和数字签名一起发送给乙;注意,这里的会话密钥会有乙的公钥加密。
已接收:已接收到甲发来的数据后,首先在CA中得到甲的公钥,然后用甲的公钥对乙发送的数字签名进行解密,得到数据摘要;然后再对对称密钥加密后的数据进行摘要运 算,比对两个摘要是否相同,相同则验签正确;然后用自己的私钥解密加密后的对称密钥,在用对称密钥解密数据得到数据原文,