根据《中华人民共和国电子签名法(2019修正)》法律的定义,电子签名,是指数据电文中以电子形式所含、所附用于识别签名人身份并表明签名人认可其中内容的数据。换句话说,就是电子形式的用户签字数据,在电子合同或电子文件中的作用是识别签名人的身份和表明签名人认可该电子合同。在互联网上,合同和文件以电子文件为载体,无法进行传统的签字和盖章,故需要采用电子签名。
电子签名技术能够保证,在互联网签约中签署双方身份的真实和文件不被篡改,即使签约没见到本人也能确认是本人签署的。而且电子签名法规定了可靠电子签名与传统签字盖章具有同等的法律效力。
电子印章,是一种由电子印章制章者数字签名的安全数据,它由印章信息、制章者证书、签名算法标识、签名值等部分组成,用于安全签署电子文件。
电子签章是指使用电子印章签署电子文件的过程。电子签章可以实现与纸质文件盖章操作相似的可视化效果,可保障数据来源的真实性、数据完整性以及签名人行为的不可否认性。电子签章数据由签章信息、签章者证书、签名算法标识、签名值、时间戳等组成。
换句话说,电子签章既保留了传统形式上的物理印章的视觉效果,又带有电子签名技术来保证签名人的身份。因此电子签章实际上有两部分,一部分是显示于文件上的签字图形或盖章图形,另一部分则是隐藏于文件内的电子签名数据。
数字签名是一种采用了非对称加密算法的签名技术,是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名与在纸质文件上的物理签名相似,不同之处在于它作用于电子文件。一套数字签名通常定义了两种互补的运算,一个用于签名,另一个用于验证。这也是它必须采用非对称加密算法的原因,签名人拥有一对公/私密钥:其中私钥用于签名,公钥用于验证签名。
签名人的公钥也需要安全机制。举个例子,甲要给乙发送一份电子合同,步骤是这样的:
第1步:甲写好电子合同,文件存档
第2步:甲对存档文件使用哈希算法,生成文件的摘要
第3步:甲对此摘要使用私钥加密,生成数字签名
第4步:甲将数字签名和存档文件一起发给乙(可以是电子邮件)
第5步:乙收到后,用甲的公钥(事前先提供)对收到的数字签名进行解密,得到文件摘要数据
第6步:乙对收到的存档文件使用哈希算法计算,得到另一份文件摘要数据
第7步:乙比较两份文件摘要数据是否相同。如果相同,就表示文件未改动,是原版。
这里存在一些风险。设想有一个丙,想诈骗乙,偷偷使用乙的电脑,将甲的公钥替换为自己(丙)的公钥,然后就可以冒充甲给乙发电子合同。
要确定公钥的真实归属,于是就有了CA(证书机构)。当用户需要使用电子签名时,向CA机构提出申请,CA机构通过一系列措施和步骤验证用户的身份信息是否合法、真实、有效,然后向验证通过的用户颁发数字证书。数字证书具有唯一性,它包含证书持有者的姓名、证书持有者的公钥、公钥有效期、颁发数字证书的机构、数字证书的序列号等信息,用以确保签名者身份的真实性。
于是,上面例子中的问题解决了,乙可以通过CA的公钥解开数字证书,获得甲真实的公钥。然后就能证明数字签名是否为甲签署的。
2020年初,国家发布了电子签章技术的国家标准:GB/T 38540-2020《信息安全技术 安全电子签章密码技术规范》,此标准于2020年10月1日正式实施。此标准对电子印章、电子签章等术语进行了定义;规定了安全算法为SM2(一种椭圆曲线密码算法)或SM3(一种杂凑算法);规定了电子印章和电子签章的数据结构;还规定了电子印章和电子签章的生成流程和验证流程。