首页 > 其他分享 >PKI

PKI

时间:2023-07-25 16:46:58浏览次数:25  
标签:公钥 加密 数字签名 信息 哈希 私钥 PKI

PKI

PKI概念

PKI(Public Key Infrastructure):公钥基础设施

PKI由公钥加密技术、数字证书、认证机构(CA)、注册机构(RA)、证书撤销列表(CRL)以及验证和密钥管理系统组成,

一般通过加密技术和数字签名来保证信息的安全。


信息安全三要素(CIA)

  • 机密性:保证信息不泄露给未经授权的用户。

  • 完整性:保证信息从真实的发信者传送到真实的收信者手中,传送过程中没有被非法用户添加、删除、替换等。

  • 可用性:保证授权用户能对数据进行及时可靠的访问。


公钥加密技术

对称加密算法

原理:加密方与解密方使用同一钥匙(秘钥)。

问题之一:很难将秘钥传输给对方,容易泄露。

算法:DES、3DES、IDEA、AES、SM1、SM4。

非对称加密算法

特点:

  • 公钥和私钥不可相互逆推。

  • 公钥和私钥互为加解密关系。

个人理解:双方都有一对公钥和私钥(甲公、甲私、乙公、乙私)。公钥是公开的(私钥自己才有),因此甲公和乙公双方互相知道。甲将自己的信息用乙的公钥加密,传输给乙,乙用自己的私钥进行解密。

问题之一:复杂度高,生成的密文大

算法:RSA、DSA、ECC、DH。


联合应用之一:

使用非对称加密算法 加密 对称加密算法中的密钥,然后再使用对称加密算法对文件进行加密。

数字签名

数字签名:用自己的私钥对摘要加密得出的密文。

哈希算法

哈希算法可用于验证信息的完整性。

个人理解:

普通使用哈希算法:
将信息使用哈希算法计算出一个哈希值(摘要),对方收到信息后使用同样的哈希算法计算出一个哈希值(摘要),用以验证信息的完整性,一般不用于加密。

安全中的应用:

  1. 甲先用哈希函数生成信息的摘要,并用乙的公钥对信息进行加密。
  2. 甲用私钥把摘要加密(即生成数字签名)。
  3. 乙收到密文后,先用甲的公钥解密摘要(保证了信是甲发出的)。
  4. 再用自己的私钥打开信息。
  5. 最后对信息使用哈希函数计算哈希值,确保信息完整性。

然而还有问题。数字签名过程,以及前面的这个问题和接下来的数字证书可参考文章:aHR0cHM6Ly93d3cud29zaWduLmNvbS9OZXdzL25ld3NfMjAxODEwMTEwMS5odG0=
(网址呢?)


认证机构(CA)

CA(Certificate Authority):认证机构

证书中心用自己的私钥,对刚刚的甲的公钥和一些相关信息一起加密。生成数字证书。

数字证书

数字证书:Digital Certificate,由CA签发。

证书用于保证公密钥的合法性

证书格式遵循X.509标准

数字证书内容:

使用者的公钥值

使用者标识信息(如名称和电子邮件地址)

有效期(证书的有效时间)

颁发者标识信息

颁发者的数字签名


文章许多地方是自己理解的内容,如有错误,欢迎指出!

标签:公钥,加密,数字签名,信息,哈希,私钥,PKI
From: https://www.cnblogs.com/xhzccy/p/17580165.html

相关文章

  • pkill
    pkill可以按照进程名杀死进程补充说明pkill命令可以按照进程名杀死进程。pkill和killall应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill来杀掉。语法pkill(选项)(参数)选项-o:仅向找到的最小(起始)进程号发送信号;-n:仅向找到的最大(结束)进程号发送信号......
  • Zipkin链路监控实践
    Zipkin是一种开源的分布式链路追踪系统,可以用于监控和跟踪微服务架构中的请求调用链。它可以帮助定位和解决分布式系统中的延迟问题,提供对请求的可视化跟踪和监控。一、引入依赖      使用项目来启动Zipkin,创建一个springbootweb项目添加zipkin依赖1<groupId>co......
  • springcloud - zipkin链路调用
     通过sleuth,开启zipkin可通过访问localhost:9411/zipkin开启web界面查看链路调用traceid就是一个服务idparentid就是调用者的id原始服务parentid=null服务提供者provider导入依赖     <!--包含了sleuth+zipkin-->     <dependency>   ......
  • 高并发监控-Sleuth 与 Zipkin 服务链路追踪
    一、Sleuth概念为什么需要SpringCloudSleuth#微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调用复杂性,决定......
  • 链路跟踪zipkin
    之前是自己搭建一个zipkin服务,现在推荐的是在服务器上直接运行一个微服务去启动zipkin过程是,下载zipkin的微服务jar包,然后启动下载地址https://zipkin.io/pages/quickstart.html启动之后访问:服务器的ip加上后缀,我的是http://192.168.86.196:9411/zipkin/就可以访问,到zipki......
  • Vulnhub: Mission-Pumpkin v1.0: PumpkinGarden靶机
    kali:192.168.111.111靶机:192.168.111.130信息收集端口扫描nmap-A-sC-v-sV-T5-p---script=http-enum192.168.111.130在1515网站的img目录下的hidden_secret/目录中存在clue.txtbase64解密后得到scarecrow:5Qn@$y使用用户:scarecrow,密码:5Qn@$y,登录目标sshsshs......
  • zipkin
    微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调用复杂性,决定了问题难以定位。所以微服务架构中,必须实现分布式......
  • day09-SpringCloud Sleuth+Zipkin-链路追踪
    SpringCloudSleuth+Zipkin-链路追踪官网:spring-cloud/spring-cloud-sleuth:Distributedtracingforspringcloud(github.com)分布式链路追踪之SpringCloudSleuth+Zipkin最全教程!-bucaichenmou-博客园(cnblogs.com)1.Sleuth+Zipkin是什么在微服务框架中,一个由客户......
  • linux上杀死进程命令:kill、pkill、killall杀死进程
    1kill:根据进程号(PID)杀死进程在linux上,一般常用的杀死进程的命令是kill,但是也有缺陷,下面说1、查看指定名称的进程,如下我查看运行python程序的进程pythonaux|greppython2、根据进程号(PID)杀死进程:第二列显示的就是进程号killPID3、强制杀死进程,有些进程可能杀不死,就加个-9参数......
  • Zipkin使用实践
    Zipkin是一个开源的分布式追踪系统,用于收集、存储和查询跨多个服务的分布式请求链路信息。它可以帮助开发人员定位和解决分布式系统中的性能问题和故障。下面是Zipkin的介绍以及使用Java代码实现的入门示例:Zipkin的介绍:Zipkin是一个分布式追踪系统,它通过跟踪和记录请求在分布式......