最近跟财务同事聊到了银行经常用的“数字签名”技术,也在思考,“数字签名”能否在集团内部使用?当然,这是后话的事,其实在前面《数据库数据防篡改加密之我见》一文中,也提到了数字签名的相关技术内容和应用构想。今天本文的主题是了解“数字签名”,只有对它非常了解,才能对它应用自如,其实“数字签名”没有那么神秘。
“数字签名”有什么用
在当下互联网时代,网络数据传输安全是非常重要的安全领域,而“数字签名”技术就是保障网络数据安全的一种加密技术手段,保证网络传输数据的真实性、完整性、机密性、不可否认性,即简单理解就是解决伪造、抵赖、冒充、篡改等安全问题。我个人理解,数字签名就是解决不可否认性,即唯一性。
目前数字签名应用非常广泛,如在商业、金融、教育、医疗、政府等各领域都在应用,以电子合同举例,当我们与银行、证券金融机构有资金使用需求时,通常要签订网络合同,在相关平台完成电子合同、身份识别验证、数字签名等过程,过程完成及确认后,合同即签署生效,那你在平台上的签名就属于“数字签名”。
对称加密、非对称加密
加密技术有两种模式:对称加密和非对称加密。数字签名属于非对称加密技术范畴。
对称加密就是加密与解密过程都用同样的密钥。优点是简单、快速、效率高,缺点是秘钥的安全性问题,与算法无关,如果秘钥管理和分配工作没有到位,造成秘钥泄露,安全性为零。
非对称加密就是解决对称加密的秘钥管理安全性问题,一次产生一对秘钥:公钥、私钥。公钥公开发给需要的相关人员,私钥由发送者安全保管。公钥、私钥都可以进行加密,即如果公钥加密,则需要私钥解密,反之亦然。比如你与银行沟通信息,银行提供给你公钥,你用公钥加密信息数据发送给银行,银行则用私钥解密你发送的信息数据,这样安全性大大提高,同时也方便快捷。
“数字签名”是非对称加密技术的一种应用
非对称加密有两种加密过程:用公钥加密,用私钥加密。数字签名就是私钥加密过程。
大致过程是:发送者用私钥对数据进行加密,形成数字签名和数据合在一起的发送包,利用网络发送传输给接收者,接收者收到后用公钥进行解密并核对信息摘要是否一致,判断数据的有效性。
详细过程见下图:
常见的PKI非对称加密技术有哪些?
数字签名是PKI的核心,常用于证书领域,如SSL、TLS、S/MIME等。
我们常见的PKI非对称加密应用有:web安全(https)、VPN(IPsec等)、电子邮件SSL等。
数字签名与数字加密有什么区别
数字签名也是一种加密过程,属于PKI非对称加密范畴,秘钥是采用私钥加密,有公钥的人员就可以解密,并验证数字签名的正确性。
数字加密可以是对称加密技术,如winrar、7-zip等软件就是采用对称加解密技术。也可以是非对称加密技术,常用的是采用公钥对数据进行加密,此时只有唯一拥有私钥的人员才能对数据解密。
数字加密还可以同时采用对称加密和非对称加密相结合的方法。如https应用,对称加密用于数据实际传输过程,非对称加密用于SSL握手时验证公钥/私钥的所有权。
电子签名与数字签名
电子签名我认为是一种泛概念,相对于纸质文件等线下手动签名的一种对应线上签名的概念,即“签名”电子化。由于“签名”电子化、线上化,需要许多技术措施保障,比如保障签名的有效性、唯一性、真实性等,即防伪防篡改等,于是产生了“数字签名”加密技术。
由于大家平常使用中不是专业人员,也没有过于深入理解区别,加上“数字签名”被广泛应用,见得多了,于是大家都认为“电子签名”就是“数字签名”,逐渐形成了一个误区。