网站建设服务领域,WordPress自定义信息登记,项目建设表态发言稿,建造自己的网站PKI 公钥基础设施
https 基于 PKI 技术。PKI#xff08;Public Key Infrastructure#xff0c;公钥基础设施#xff09;是一种安全体系结构#xff0c;用于管理数字证书和密钥对#xff0c;以确保安全的数据传输和身份验证。PKI 采用了公钥加密技术#xff0c;其中每个实…PKI 公钥基础设施
https 基于 PKI 技术。PKIPublic Key Infrastructure公钥基础设施是一种安全体系结构用于管理数字证书和密钥对以确保安全的数据传输和身份验证。PKI 采用了公钥加密技术其中每个实体都有一个公钥和一个私钥这对密钥用于加密和解密通信。
信息摘要
使用一个哈希函数对文档进行摘要运算生成一个固定长度的哈希值这个哈希值通常称为信息摘要。 在前端领域关于哈希函数这个概念还有哪些地方会用到 1路由导航的 #号 表示的哈希路由 2资源打包之后会给文件名加上哈希值用于静态资源完整性校验 3前端缓存管理也可以使用哈希函数对数据进行缓存防止健名冲突 常用的信息摘要算法
md5 生成128位的哈希值但由于其容易被碰撞攻击破解已经不再被广泛使用于安全领域但是在业务逻辑中常用把一个文件进行摘要获得唯一的哈希值可以用来判断文件是否被修改。【前端经常用到的 md5 的npm 包】SHA-256、SHA-384、SHA-512 属于SHA-2系列分别生成256位、384位和512位的哈希值。目前在许多安全应用中仍然广泛使用。【前端经常使用crypto-js】 1信息摘要的目的主要是为了防止数据被篡改所以哈希算法是不可逆的 2信息摘要是唯一的同一个数据用同样的哈希函数得到的值是一定的。 对称加密和非对称加密
对称加密非对称加密一个密钥两个密钥【公钥、私钥】速度快速度慢DES、AESRSA、ECC
公钥和私钥
在加密通信中公钥和私钥是一对密钥通常用于非对称加密算法。这些算法允许一个密钥用于加密而另一个密钥用于解密其中 公钥Public Key 公钥是一种可以自由分发的密钥用于加密数据。任何人都可以使用公钥对数据进行加密但只有拥有与之配对的私钥的实体才能解密这些数据。公钥通常用于加密通信中的敏感信息例如用于建立安全连接或传输敏感数据。 私钥Private Key 私钥是一种保密的密钥只有密钥的所有者知道。私钥用于解密由相应的公钥加密的数据。私钥通常用于解密接收到的加密数据以及对数字签名进行生成或验证。私钥必须始终保持保密以确保通信的机密性和完整性。 那么问题来了如何生成公钥和私钥 有公钥和私钥一定是非对称加密通常使用 OpenSSL 生成公钥和私钥。【这看起来也不是前端的工作哈哈】 数字签名
数字签名是一种用于验证电子文档真实性和完整性的技术。通过数字签名发送者可以在文档上附加一个数字签名接收者可以使用签名验证工具来确认文档的来源和是否在传输过程中被篡改。 数字签名防止数据被篡改这一点和信息摘要算法的作用是一样的。但是数字签名有更多的信息相当于是信息摘要的一个扩展应用。 1数字签名生成的过程 选择哈希算法 首先选择一个哈希算法例如SHA-256。哈希算法用于将消息或文档转换为固定长度的哈希值。【生成签名一定要有哈希算法】 创建消息摘要 使用选择的哈希算法对消息或文档进行哈希得到一个称为消息摘要message digest的固定长度字符串。这个摘要是消息内容的唯一表示。 使用私钥进行加密 数字签名的生成涉及使用私钥对消息摘要进行加密。这个过程使用的是非对称加密算法通常是使用数字签名算法中的私钥。 将签名附加到原始消息或文档 将生成的数字签名附加到原始消息或文档中形成带有数字签名的消息。
2数字签名的基本原理包括 消息摘要Message Digest 发送者使用一个哈希函数对要签名的文档进行摘要运算生成一个固定长度的哈希值。这个哈希值通常称为消息摘要。【消息摘要就是信息摘要】 私钥签名 发送者使用自己的私钥对消息摘要进行加密形成数字签名。 公钥验证 接收者使用发送者的公钥对数字签名进行解密得到消息摘要。 验证摘要 接收者再次对接收到的文档进行哈希运算得到一个新的消息摘要。 比较摘要 接收者将用公钥解密得到的消息摘要与重新计算得到的摘要进行比较。如果两者一致说明文档未被篡改且确实来自于私钥持有者。
数字证书
数字证书是一种用于在网络通信中验证身份和确保数据传输安全的安全工具。它是由数字签名和公钥加密技术结合而成的一种电子凭证。数字证书通常包含以下信息 主体信息Subject 证书中标识了证书的所有者通常是一个实体个人、组织或设备的名称。 公钥 证书中包含了与证书所有者相关联的公钥用于加密和解密通信中的数据。 数字签名 数字证书通过使用颁发者Certificate AuthorityCA的私钥对证书中的数据进行签名以确保证书的完整性和真实性。 颁发者信息Issuer 证书中标识了颁发该证书的CA的信息。 有效期 证书包含了一个指定的有效期范围确保证书在一段时间后会过期从而促使证书的定期更新。
数字证书形成步骤 生成密钥对 实体首先生成一对非对称密钥包括公钥和私钥。通常使用算法如RSA或ECC进行密钥对的生成。 创建证书请求CSR 实体生成一个包含其公钥以及其他相关信息的证书请求。这个请求包括实体的标识信息例如域名、组织名称等。 提交证书请求 将证书请求发送给证书颁发机构CA。CA是一个受信任的第三方机构负责验证请求者的身份并颁发数字证书。 验证身份 CA对证书请求进行身份验证以确保请求者拥有提供的标识信息域名、组织等。这可能包括域名验证、组织验证等。 颁发数字证书 CA验证成功后颁发数字证书。数字证书包含实体的公钥以及与证书相关的元数据如证书有效期、签名算法等。 证书签名 CA 使用自己的私钥对数字证书中的信息进行签名生成数字签名。这个签名可以被验证以确保证书的完整性和真实性。 证书发布 CA将数字证书返回给实体实体将其安装在其服务器或应用程序中。 使用数字证书 数字证书现在可以用于建立安全的通信通道例如在HTTPS中客户端和服务器可以相互验证身份并使用证书中的公钥进行加密通信。
PKI 关键组件的功能
证书颁发机构Certificate Authority CA 是 PKI 的核心组成部分负责验证个体或实体的身份并颁发数字证书。CA 签署证书用于证明数字证书的真实性。中国的 CA 机构有。【注意这是一个机构或者说一个公司】 中国互联网络信息中心CNNICCFCA中国金融认证中心WoSign沃通根证书认证机构数字证书 数字证书是包含公钥及相关身份信息的文件由CA签发。数字证书用于在网络上建立信任确保通信方的身份。注册机构Registration Authority RA 是 CA 的协助机构负责验证证书请求者的身份信息并将验证结果提交给 CA。RA在某些情况下可以由 CA 直接处理。证书存储库 证书存储库用于存储和检索数字证书。它是一个安全的存储区域通常由 CA进行管理。密钥对生成和管理 PKI 系统支持生成和管理加密算法所需的密钥对包括公钥和私钥。这确保了通信的安全性同时也涉及密钥的定期轮换和更新。证书撤销列表CRL CRL 是CA 发布的一个列表包含被吊销的数字证书的信息。这允许验证方检查证书是否仍然有效。数字签名 PKI 使用数字签名来保证证书的真实性和完整性。数字签名是用私钥生成的可通过公钥验证。
更多关于 https 中间人攻击的知识请参考这篇文章。