前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PKI 体系

PKI 体系

作者头像
全栈程序员站长
发布2022-09-23 10:11:22
6410
发布2022-09-23 10:11:22
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

PKI简介

公开密钥基础建设(英语:Public Key Infrastructure,缩写:PKI),又称公开密钥基础架构、公钥基础建设、公钥基础设施、公开密码匙基础建设或公钥基础架构,是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字证书。

(PKI体系(一)-PKI介绍 – 简书)

概念

对称加密

  • 特点:加解密使用相同密钥,加解密过程速度快
  • 算法:DES、3DES、AES

非对称加密

  • 特点:加解密各用密钥对其中之一,密钥对公开的部分为公钥,所有人都可以获取,另一个作为私钥,不公开
  • 使用:公钥加&密私钥解密用于传输数据,私钥加密公钥解密用于做校验
  • 算法:RSA、ECC(椭圆加密算法)

PKI解决的问题

问题一:网络环境下,用户A、B想互相通信,不希望通信内容被第三方知道

方案:使用对称加密方式保护数据

  • 用户A在向B发送数据前,将内容使用对称加密方式加密(私密性)
  • 用户B接收数据后,使用相同的密钥解密数据
PKI 体系
PKI 体系

问题二:用户A怎么将密钥告知B?怎么保证第三方不会从网络中获取到这个密钥?

方案:使用非对称加密方式保护密钥传输

  • 用户A使用B的公钥加密数据密钥,与加密后的通信内容一块发送给B
  • 用户B向使用私钥解密获取数据的加密密钥,再解密通信内容
PKI 体系
PKI 体系

问题三:用户A怎么在网络环境下获取B的公钥?如何证明公钥不会是攻击者发送的?

方案:引入CA作为公信机构

  • 所有通信方都通过安全的方式获取CA的证书(如浏览器内置了一些机构的证书),证书中包含了CA的公钥及身份信息
  • 用户B向CA提交一个证书申请,提交的信息包含用户B的身份信息及公钥等内容
  • CA审批通过后,使用私钥为B签发证书,该证书包括了B的公钥及身份信息(身份唯一性),还有CA使用私钥对这些信息作的签名(完整性)
  • 用户A从B获取证书,先通过CA的公钥验证该证书是否有效,再看身份信息是否属于B。验证通过后,获取证书中B的公钥以通信
PKI 体系
PKI 体系

问题四:证书是公开的,用户B收到数据后,怎么判断该数据是A发送而不是C冒充发送的?或者A发送了该数据后不认账怎么办?

方案:通信双方都使用证书

  • 用户A将发送的内容的hash值用私钥签名,一起发送出去(不可抵赖性)
  • 用户B获取A的证书,使用证书中的公钥校验接收内容的签名,校验通过证明数据确实是A发送的
PKI 体系
PKI 体系

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171997.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PKI简介
  • 概念
    • 对称加密
      • 非对称加密
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档