热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

HTTP网络协议五:混合加密、数字签名、证书学习总结

混合加密(HybridCryptosystem)对称加密(SymmetricCryptography)对称加密:加密解密使用的是同一个密钥产生的问题:一定会遇到密钥配送的问题,密钥
混合加密(Hybrid Cryptosystem)

对称加密(Symmetric Cryptography)

  • 对称加密:加密解密使用的是同一个密钥
    产生的问题:一定会遇到密钥配送的问题,密钥会被劫持

非对称加密

非对称加密可以解决密钥的配送问题

  • 非对称加密:密钥分为加密密钥解密密钥2种,他们并不是同一个密钥
    • 加密密钥:一般是公开的,因此该密钥被成为公钥(Public Key)
    • 解密密钥:由消息接收者自己保管,不能公开,因此也成为私钥(Private Key)
  • 公钥、私钥的特点:
    • 一对公钥和私钥统成为密钥对(Key pair)
    • 由公钥加密的密文,必须由该公钥对应的私钥才能解密
    • 由私钥加密的密文,必须使用与私钥对应的公钥才能解密

非对称加密解决密钥配送的过程

  1. 由消息接受者,生成一对公钥、私钥
  2. 将公钥发给发送者
  3. 消息的发送者使用公钥加密消息

新的问题:非对称加密解密的速度比对称加密要慢

混合密码系统:Hybrid Cryptosystem

  • 混合密码系统:是将对称加密和非对称加密的优势结合的方法
    • 解决了非对称加密速度慢的问题
    • 并通过非对称加密解决了对称加密的密钥配送问题

混合加密 – 加密、解密的流程

混合加密 – 加密流程

  • 会话密钥(session key)
    • 为本次通信随机生成的临时密钥
    • 作为对称加密的密钥,用于加密消息,提高速度
  • 混合加密的流程
    • 加密步骤(发送消息)
    1. 首先,消息发送者要拥有消息接收者的公钥
    2. 生成会话密钥,作为对称加密的密钥,加密消息、
    3. 用消息接收者的公钥,加密会话密钥
    4. 将前两步生成的加密结果,一并发送给消息接收者
  • 发出去的内容包括
    • 用会话密钥加密的消息(加密方法:对称加密)
    • 用公钥加密的会话密钥(加密方法:非对称加密)
      《HTTP网络协议五 :混合加密、数字签名、证书学习总结》

混合加密 – 解密流程
1. 消息接收者用自己的私钥解密出会话密钥
2. 在用解密出的会话密钥,解密消息
《HTTP网络协议五 :混合加密、数字签名、证书学习总结》

公钥的合法性

问题:如果遭到中间人攻击,那么公钥将可能是伪造的
解决:证书可以验证公钥的合法性
《HTTP网络协议五 :混合加密、数字签名、证书学习总结》

数字签名
  • 加密的问题解决了:
    • 新的问题:
      • 在消息发送的过程中如何确定是确定的发送者发送的如何识别篡改、伪装、否认?
    • 解决办法:
      • 数字签名

数字签名技术

  • 生成签名:由消息发送者完成,通过签名密钥生成
  • 验证签名:由消息接收者完成,通过验证密钥验证

用消息发送者的私钥进行签名,就能保证这个签名是消息发送者自己签的

数字签名的说明

  • 数字签名不是为了保证机密行,仅仅是为了能够识别内容有没有被篡改
    • 确保消息的完整性
    • 识别消息是否被篡改
    • 防止消息发送人否认

数字签名的流程图:
《HTTP网络协议五 :混合加密、数字签名、证书学习总结》

证书
  • 共钥证书(Publick-key Certificate PKC)
    • 包含姓名、邮件、个人信息、此人的共钥
    • 由认证机构(Certificate Authority、CA)施加数字签名

证书的流程
《HTTP网络协议五 :混合加密、数字签名、证书学习总结》
证书的注册和下载
《HTTP网络协议五 :混合加密、数字签名、证书学习总结》


推荐阅读
  • 深入解析HTTPS:保障Web安全的加密协议
    本文详细探讨了HTTPS协议在保障Web安全中的重要作用。首先分析了HTTP协议的不足之处,包括数据传输过程中的安全性问题和内容加密的缺失。接着介绍了HTTPS如何通过使用公钥和私钥的非对称加密技术以及混合加密机制,确保数据的完整性和机密性。最后强调了HTTPS的安全性和可靠性,为现代网络通信提供了坚实的基础。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • Nginx不仅是一款轻量级的高性能Web服务器,还具备出色的负载均衡和反向代理功能。它支持复杂的正则匹配规则、动静内容分离以及灵活的URL重写功能,使得配置和管理更加便捷高效。此外,Nginx提供了多种负载均衡算法,如轮询、加权轮询、最少连接数等,以满足不同应用场景的需求。 ... [详细]
  • 在iOS开发中,基于HTTPS协议的安全网络请求实现至关重要。HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer)是一种旨在提供安全通信的HTTP扩展,通过SSL/TLS加密技术确保数据传输的安全性和隐私性。本文将详细介绍如何在iOS应用中实现安全的HTTPS网络请求,包括证书验证、SSL握手过程以及常见安全问题的解决方法。 ... [详细]
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
  • Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战?
    Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战? ... [详细]
  • 本文深入解析了Java 8并发编程中的`AtomicInteger`类,详细探讨了其源码实现和应用场景。`AtomicInteger`通过硬件级别的原子操作,确保了整型变量在多线程环境下的安全性和高效性,避免了传统加锁方式带来的性能开销。文章不仅剖析了`AtomicInteger`的内部机制,还结合实际案例展示了其在并发编程中的优势和使用技巧。 ... [详细]
  • 本文详细解析了微信服务端示例类的功能与应用。其中,`ClientResponseHandler` 类主要用于处理微信支付所需的响应数据,而 `TenpayHttpClient` 则是对 HTTP 请求(包括 GET 和 POST 方法)进行了封装,以便在内部调用时更加便捷和高效。这些工具类在实际开发中起到了关键作用,开发者无需深入了解其底层实现细节,即可轻松集成微信支付功能。 ... [详细]
  • 当前物联网领域十大核心技术解析:涵盖哪些关键技术?
    经过近十年的技术革新,物联网已悄然渗透到日常生活中,对社会产生了深远影响。本文将详细解析当前物联网领域的十大核心关键技术,包括但不限于:1. 军事物联网技术,该技术通过先进的感知设备实现战场环境的实时监测与数据传输,提升作战效能和决策效率。其他关键技术还包括传感器网络、边缘计算、大数据分析等,这些技术共同推动了物联网的快速发展和广泛应用。 ... [详细]
  • 易语言程序加密的基本原则涉及多种技术和策略。早期的加密方法主要是在软盘上创建非标准磁道,并在这些磁道中存储关键数据,例如解密密钥等。现代加密技术则更加注重算法的安全性和数据的完整性,以确保程序在运行过程中不被轻易破解。 ... [详细]
  • 本文作为探讨PHP依赖注入容器系列文章的开篇,将首先通过具体示例详细阐述依赖注入的基本概念及其重要性,为后续深入解析容器的实现奠定基础。 ... [详细]
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • 本文详细探讨了MySQL并发参数的优化与调整方法,旨在帮助读者深入了解如何通过合理配置这些参数来提升数据库性能。文章不仅介绍了常见的并发参数及其作用,还提供了实际操作中的调整策略和最佳实践,适合希望提高数据库管理技能的技术人员阅读。 ... [详细]
  • 字节跳动深圳研发中心安全业务团队正在火热招募人才! ... [详细]
author-avatar
wuke85394
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有