安全基础:数字信封、数字签名、数字证书(加签验签,加密解密)

数字签名的作用:完整性 没有被篡改;不可抵赖性,用自己私钥 签名的明文(签名是独有的 私自的),只有用自己的公钥才能解密。
数字信封的作用:用接收方的公钥加密形成信封(信封的内容是公开的);保证数据传输的真实性和不可窥探性(确保客户端随机生成的对称秘钥 加密安全传输)

在互联网安全通信中,“非对称加密和数字签名”以及“数字信封和对称密钥”都是非常常见的安全技术,它们各自在保护数据的机密性、完整性和认证性方面发挥着关键作用,但是否能称为“最常见”的,可能需要根据不同的应用场景来判断。
非对称加密和数字签名:

  • 非对称加密使用一对公钥和私钥,其中公钥用于加密信息,私钥用于解密。这种方式确保了信息只能被拥有对应私钥的接收者解密,保护了信息的机密性。
  • 数字签名则利用私钥对消息进行签名,任何持有公钥的人可以验证该签名以确认信息的来源和完整性,增强了信息的不可否认性和真实性。
  • 这一组合广泛应用于HTTPS、SSL/TLS协议、电子邮件加密(如PGP)、软件签名等领域,确保了网络通信的安全性。

数字信封和对称密钥:

  • 数字信封是一种结合了非对称加密和对称密钥加密的方法。首先,使用接收者的公钥加密一个随机生成的对称密钥,然后用这个对称密钥加密实际的数据内容。这样,只有拥有私钥的接收者才能打开“信封”,获取到对称密钥并进一步解密数据,既保证了数据的机密性,又解决了非对称加密处理大量数据效率低的问题。
  • 混合加密系统中,即首先使用非对称加密来安全地交换对称密钥,然后利用对称密钥进行高效的数据加密和解密
  • 该场景(混合加密系统)是对称密钥使用的一个非常典型且广泛的应用实例。在混合加密系统(也称为公钥基础设施PKI和对称密钥加密的结合)中,非对称加密算法(如RSA、ECC等)因其计算效率相对较低但能提供密钥交换的安全性而被用于安全地传输对称密钥。一旦对称密钥被安全地交换,双方就可以使用这个对称密钥进行快速的数据加密和解密,因为对称加密算法(如AES、DES等)在处理大量数据时效率更高。

这样的混合模式结合了两种加密方法的优点:

  • 非对称加密确保了密钥交换的安全性,解决了密钥分发的问题,即如何在不安全的通道上安全地共享密钥。
  • 对称加密则因为其加密和解密速度快,适合于实际数据的加解密过程,提高了数据传输或存储的效率。
  • 因此,您提到的确实是对称密钥一个非常常见且重要的应用场景,在很多现代安全通信协议和系统中都有应用,比如HTTPS、SSL/TLS协议、IPSec以及各种端到端加密通讯应用中。
  • 对称密钥加密因其加解密速度快,常用于大量数据的快速加密,如文件加密、数据库加密等场景。
  • 这种方式在云存储、大数据传输、即时通讯等需要高效加密大量数据的场景中非常常见。

综上所述,这两种技术都是现代互联网安全通信的基础,广泛应用于各种场景中,可以说是极为重要且常见的安全措施。不过,是否能冠以“最常见”还需依据具体统计数据和应用领域来定,但它们的重要性无可置疑。

非对称加密和数字签名(加签和验签)
如果需要保护报文的机密性,通常会在加签之前先对原始报文进行加密。也就是说,先加密(使用接收方的公钥),再对加密后的密文进行哈希并加签。这样,接收方需要先用自己的私钥解密,再验证签名,以确保内容的完整性和来源的真实性——请详细描述一下这个case的具体流程。在这个场景中,我们使用非对称加密和数字签名技术来确保报文的机密性、完整性和来源的真实性。具体流程如下:
1. 发送方准备报文
原始报文准备:发送方首先准备好需要发送的信息,即原始报文。
2. 加密报文
使用接收方公钥加密:发送方查找接收方的公钥(这通常通过安全的渠道事先获取或通过公钥基础设施PKI获得)。使用接收方的公钥,发送方对原始报文进行加密。这一过程保证了只有拥有相应私钥的接收方才能解密信息,确保了报文的机密性。
3. 对加密后密文进行哈希并加签
计算哈希值:在加密之后,发送方对加密后的密文计算一个哈希值。这个哈希值是对加密文本的数字指纹,可以确保数据的完整性。
使用发送方私钥加签:然后,发送方使用自己的私钥 对计算出的哈希值进行数字签名。这个步骤验证了报文的来源和完整性,因为只有拥有对应私钥的发送方才可能生成有效的签名,且任何对密文的篡改都会导致接收方验证签名时失败。
4. 发送报文及签名
打包发送:发送方将加密后的密文和数字签名一起发送给接收方。
5. 接收方处理报文
使用私钥解密:接收方首先使用自己的私钥(与发送方用于加密的公钥配对)解密接收到的密文,恢复出原始报文的加密形式。
验证签名
计算接收到的密文的哈希值:接收方对接收到的已解密的密文再次计算哈希值。使用发送方公钥验证签名:接着,接收方使用发送方的公钥(通常也是通过安全渠道事先获得)来验证随报文一同收到的数字签名。这包括检查签名是否与根据接收到的密文重新计算的哈希值匹配。如果匹配,说明报文在传输过程中没有被篡改,并且确实来自拥有对应私钥的发送方。
6. 解析原始报文
如果上述所有验证步骤都成功,接收方就可以确信报文的机密性、完整性和来源的真实性,进而安全地解析和使用原始报文中的信息。整个过程结合了非对称加密的保密性和数字签名的认证性,为数据通信提供了高级别的安全保障。
https://cloud.tencent.com/developer/article/1665989
假设现在有A公司,要接入C公司的转账系统。在一开始呢,C公司把自己的公钥寄给A公司,自己收藏好私钥;A把自己的公钥寄给C公司,自己藏好私钥。
A公司这边的商户,发起转账时,A公司先用C公司的公钥,对请求报文加密;
A公司:「加签」:
用Hash函数(如MD5)把加密的报文生成报文摘要,
然后用A的私钥对这个摘要进行加密,就得到这个报文对应的数字签名(A的私钥加密 得到A的签名)。
通常来说呢,请求方会把「数字签名和加密的报文」一并发送给接收方C公司。
C公司:接收方C拿到加密的报文和数字签名后
用C的公钥对 「加密的报文」进行解密得到原始报文
用「同一个Hash函数」从报文中生成摘要Z1。另外,用对方提供的公钥对数字签名进行解密,得到摘要Z2,对比Z1和Z2是否相同,就可以得知报文有没有被篡改过。
C公司收到报文后,对数字签名 拿A的公钥进行验签(解密)得到摘要,如果原始报文的摘要和数字签名的摘要内容不一致,那就是报文被篡改啦
公司C公钥与私钥是用来加密与加密的,「加签与验签是用来证明身份」,以免被篡改的。

参考博客:https://www.cnblogs.com/wxdlut/p/17789444.html

 

posted @ 2024-11-21 10:25  郭慕荣  阅读(4)  评论(0编辑  收藏  举报