在数字化时代,信息通信已成为人们生活工作的必需品。由于信息传递的虚拟特性,为了确保信息的真实性和可靠性,数字签名和数字证书成为合法权威的手段。
数字签名是利用密码学原理,将数字文件原文信息利用私钥进行加密,以确保信息的真实性、完整性和不可抵赖性。数字签名是一种数字化的身份认证手段,是为我们提供安全的电子交易服务的重要工具。
数字证书是一种可信任的数字标识,证明了数字信息的真实性和完整性。数字证书通常被用来认证用户身份,提供数据加密和身份验证功能。
数字签名和数字证书的概念很容易混淆,但是它们两者的应用场景略有不同。数字签名用于对数据的签名,以证明数字信息的完整性和真实性,而数字证书则更多的是用于证实某个主体(公司或个人)身份的真实性。
专业知识
数字签名的构成元素
数字签名的构成元素主要包括 原文信息、数字摘要、私钥和公钥。原文信息是签名对象,在签名过程中不会被修改。数字摘要是对原文信息进行处理后的结果,为了避免在数据传输过程中被篡改,使用散列算法(Hash)处理,而后再进行加密操作。私钥和公钥则是加密方式的不同,私钥用于数据加密,公钥用于数据解密。
数字证书的构成元素
数字证书的构成元素主要包括 证书主体、证书颁发者、公钥、证书有效期、数字签名等。其中,证书主体指证书所代表的主体身份,证书颁发者则是证书的签发者和管理者。公钥是数字证书的核心元素,并且公钥不变。证书有效期指数字证书的有效期限,在过期之后数字证书就会失效。数字签名则是证书的重要组成部分,数字证书的安全性和可信任性与数字签名息息相关。
数字证书的种类
数字证书可以分为自签名证书和公开信任证书,其中自签名证书由证书的持有者自己签发,而公开信任证书则是由专门机构颁发,实现公开信任。
数字签名作用一:验证这封信到底是谁发的
数字签名作用二:验证这封信是否被篡改过
1.鲍勃有两把钥匙,一把是公钥,另一把是私钥,公钥可以公开给别人,私钥一般只能自己持有
2.鲍勃把公钥送给他的朋友们,帕蒂、道格、苏珊----每人一把
3.苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,加密的密文很难破解只有私钥能打开,就可以达到保密的效果。
4.鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。
5.鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。摘要是为了保证数据的完整性
6.然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。是为了防止抵赖
7.鲍勃将这个签名,附在信件下面,一起发给苏珊。
8.苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。防止抵赖
9.苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。为什么不直接对 digest 进行解析?答:因为哈希函数具有单向性,所以没有办法根据 Hash 结果求解原始值。这里重新对信件内容使用 Hash 函数,通过比较新老 Hash 结果是否一致,来判断信件内容是否被篡改。
10.复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。
证书中心的英文是 certificate authority,简称 CA;数字证书的英文是 Digital Certificate 。
11.后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。
12.鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。
13.苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。
数字签名:
数字证书的基本架构是公开密钥PKI,即利用一对密钥实施加密和解密。其中密钥包括私钥和公钥,私钥主要用于签名和解密,由用户自定义,只有用户自己知道;公钥用于签名验证和加密,可被多个用户共享。
数字证书的基本工作原理主要体现在:
第一,发送方在发送信息前,需先与接收方联系,同时利用公钥加密信息,信息在进行传输的过程当中一直是处于密文状态,包括接收方接收后也是加密的,确保了信息传输的单一性,若信息被窃取或截取,也必须利用接收方的私钥才可解读数据,而无法更改数据,这也有利保障信息的完整性和安全性。
第二,数字证书的数据签名类似于加密过程,数据在实施加密后,只有接收方才可打开或更改数据信息,并加上自己的签名后再传输至发送方,而接收方的私钥具唯一性和私密性,这也保证了签名的真实性和可靠性,进而保障信息的安全性
将 报文按双方约定的HASH 算法计算得到一个固定位数的 报文摘要。在 数学上保证:只要改动报文中任何一位,重新计算出的 报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。
将该报文摘要值用发送者的私人密钥加密,然后连同原报文一起发送给接收者,而产生的报文即称数字签名
数字证书:
数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构-----CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
通俗理解:
数字证书相当于【身份证】 —— 确认你是谁
依照《电子签名法》的规定,从事电子认证业务需要行政许可,经许可的第三方认证机构即为通常所称的CA机构,而经CA机构认证并与当事人主体相关联的字符串,就是“数字证书”,电子认证的过程也就是数字证书的申请与颁发过程。
用于确认身份
数字签名相当于【持身份证进行签名】—— 作用对消息内容进行确认,确认的确是某人自愿签名,或是确实是某人发的消息
使用数字证书的签名也就是数字签名,根据全国人大《电子签名法释义》第十六条的解释,数字签名是指通过使用非对称密码加密系统对电子记录进行加密、解密变换来实现的一种电子签名。
可用于确认内容的可靠性,或用于确认签名的自愿性。
数字签名过程
签名过程:
发送方首先利用哈希函数对原数据生成信息摘要。
然后,使用自己的私钥对信息摘要进行加密,生成数字签名。
发送方将原数据和数字签名一同发送给接收方。
验证过程:
接收方收到数据后,利用相同的哈希函数对原数据生成信息摘要。
同时,使用发送方的公钥对数字签名进行解密,得到一个信息摘要。
比较这两个信息摘要。如果一致,则证明数据在传输过程中未被篡改,且数据确实来自签名的发送方。
软考信息摘要题目
(1)题目
信息摘要的主要用途是什么?
A. 加密数据
B. 提高数据传输速度
C. 验证数据完整性
D. 数据备份
哈希函数的哪项特性能确保信息摘要的唯一性?
A. 可逆性
B. 抗碰撞性
C. 高效性
D. 可扩展性
数字签名技术不包括下列哪个步骤?
A. 使用私钥加密信息摘要
B. 使用公钥加密原始数据
C. 使用哈希函数生成信息摘要
D. 使用公钥解密数字签名
使用数字签名验证数据完整性的过程中,接收方需要用到发送方的什么?
A. 私钥
B. 公钥
C. 原始数据
D. 信息摘要
数字签名技术能够保证的是数据的:
A. 可用性
B. 完整性和认证性
C. 保密性
D. 可访问性
哪种算法通常不用于生成信息摘要?
A. MD5
B. RSA
C. SHA-256
D. SHA-1
数字签名的验证失败可能表明:
A. 数据在传输中未被篡改
B. 数据在传输中被篡改
C. 使用了错误的私钥进行签名
D. 数据传输速度过快
为什么数字签名能够证明消息的发送者是真实的?
A. 因为任何人都可以访问发送者的私钥
B. 因为只有特定的接收者可以解密数字签名
C. 因为数字签名是用发送者的私钥创建的
D. 因为数字签名加密了整个消息内容
以下哪个不是哈希函数的特性?
A. 单向性
B. 无碰撞性
C. 可逆性
D. 固定输出长度
数字签名和电子签名的主要区别在于:
A. 数字签名更多用于法律文件
B. 电子签名不需要加密技术
C. 数字签名基于公钥基础设施
D. 电子签名使用的是哈希函数
(2)答案和解析
答案:C。解析:信息摘要的主要用途是验证数据的完整性,确保数据在传输或存储过程中未被篡改。
答案:B。解析:抗碰撞性是哈希函数的一项重要特性,它确保了从哈希函数生成的信息摘要具有唯一性。
答案:B。解析:数字签名技术的过程中不包括使用公钥加密原始数据,而是使用私钥加密信息摘要。
答案:B。解析:在数字签名验证数据完整性的过程中,接收方需要用到发送方的公钥。
答案:B。解析:数字签名技术能够保证数据的完整性和认证性,确保数据未被篡改且发送者身份的真实性。
答案:B。解析:RSA算法是一种非对称加密算法,通常不用于生成信息摘要,而是用于加密和签名。
答案:B。解析:数字签名的验证失败可能表明数据在传输过程中被篡改,或者使用的是错误的公钥进行验证。
答案:C。解析:数字签名是用发送者的私钥创建的,因此可以证明消息发送者的身份是真实的。
答案:C。解析:可逆性不是哈希函数的特性。哈希函数特点包括单向性、固定输出长度和抗碰撞性。
答案:C。解析:数字签名基于公钥基础设施(PKI),与电子签名的主要区别在于其使用了加密技术和公私钥对进行身份验证和数据完整性保护。