PKI 体系

PKI 体系PKI简介公开密钥基础建设(英语:PublicKeyInfrastructure,缩写:PKI),又称公开密钥基础架构、公钥基础建设、公钥基础设施、公开密码匙基础建设或公钥基础架构,是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字证书。(PKI体系(一)-PKI介绍-简书)概念对称加密特点:加解密使用相同密钥,加解密过程速度快 算法:DES、3DES、AES非对称加密特点:加解密各用密钥对其中之一,密钥对公开的部

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

PKI简介

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

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

概念

对称加密

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

非对称加密

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

PKI解决的问题

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

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

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

PKI 体系

 

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

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

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

PKI 体系

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

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

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

PKI 体系 

 

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

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

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

PKI 体系

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • django笔记_django 异步

    django笔记_django 异步前言Django是一个开放源代码的Web应用框架,由Python写成,最初用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站,即CMS(内容管理系统)软件,于2005年7月在BSD许可证下发布,这

    2022年7月31日
    8
  • SQL分页查询方案的性能对比[通俗易懂]

    SQL分页查询方案的性能对比[通俗易懂]作者|中国农业银行吴海存责编|晋兆雨头图|CSDN下载自视觉中国导读本文主要介绍了基于ROWNUM、主键列/非空唯一性列、分析函数、OFFSET-FETCHNEXT机制的…

    2022年6月26日
    24
  • 如何使用Docker Compose安装Drupal

    如何使用Docker Compose安装DrupalTheauthorselectedUnitedNationsFoundationtoreceiveadonationaspartoftheWriteforDOnationsprogram.作者选择联合国基金会作为WriteforDOnations计划的一部分接受捐赠。TheoriginalWordPressversionofthistut…

    2022年7月20日
    20
  • 用html设计一个动漫网站_javascript登录

    用html设计一个动漫网站_javascript登录1.前端三门技术学习Web前端技术需要掌握三门基本技术:HTML,CSS,JavaScript:HTML:HTML是网页内容的载体。内容就是网页制作者放在页面上想要用户浏览的信息,可以包含文件、图片、视频等CSS:CSS样式是表现,就像网页的外衣比字体、颜色变化等JavaScript:JavaScript用来实现网页上的特效效果。比如鼠标滑过弹出下拉菜单、鼠标滑过北京颜色改变等本次项目主要是介绍海贼王主题的简介,使用html+css+javascript来制作网站,实现项目的效果;index.h

    2022年8月23日
    8
  • log4j2配置文件详解_log4j升级到log4j2

    log4j2配置文件详解_log4j升级到log4j2Log4j的配置文件用来设置记录器的级别、输出目的地和布局,可以是log4j.properties或log4j.xml。以下讲解以log4j.properties的配置方式进行。配置文件的基本格式基本格式如下:#配置根Loggerlog4j.rootLogger=[level],appenderName1,appenderName2,……#配置日志信息输出目的地(Appe…

    2022年9月30日
    3
  • vs2015安装失败怎么卸载_vs2013怎么卸载

    vs2015安装失败怎么卸载_vs2013怎么卸载使用微软自带的程序安装卸载工具有时候无法完全卸载VS2005,导致想重新安装VS2005时提示“此计算机上已安装了试用版本。必须先卸载以前安装的试用版本后才能安装另一个试用版”。此时可以下载专用工具“VS2005卸载工具”进行彻底删除,此具工在本人的博客资源中有下载。如果这样彻底删除后还不能安装,则可以进入注册表,找到如下注册键,把它删除:删除HKEY_LOCAL_MACHINE\SOFTW

    2022年9月23日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号