PKI公钥
Public Key Infrastructure 公钥基础架构
通过公钥技术与数字证书确保信息安全的体系
- 由公钥加密技术、数字证书、CA、RA等共同组成
PKI体系能够实现的功能有:
- 机密性(加密算法)
- 完整性(校验算法)
- 身份验证
- 不可否认性
加密技术简介
- 明文:需要被隐蔽的消息
- 密文:明文经变换形成的隐蔽形式
- 加密:把明文转换为密文的过程
- 解密:把密文还原成明文的过程
- 密钥:在加密或解密的算法中输入的参数
密钥算法
算法 设计者 用途 安全性 RSA RSA数据安全 加密
数字签名
密钥交换大数分解 DSA NSA 数字签名 离散对数 DH Diffie&Hellman 密钥交换 完全向前保密
加密算法
加密算法分为两类:对称加密算法和非对称加密算法
加密算法:公开 经得起推敲;主要的实现方式就是移位和变相
移位: 1234----4321
变相:admin----ushjr
对称加密:加密、解密使用相同的密钥
特点:速度快、密文紧凑、密钥管理复杂(不安全)、用于大量数据的传送
加密算法推荐使用 AES 算法
非对称加密:加密、解密使用不同的密钥(公钥、私钥)
特点:速度慢、密文不紧凑、密钥管理简单、通常只用于数字签名
公钥加密、私钥解密
加密算法推荐使用 RSA 算法
两种加密算法的结合
在实际使用中,通信双方通常会使用公钥密码来交换密钥素材,双方最终计算密钥,而用对称密码学来加密实际的数据,两者配合使用,保证了加密速度和安全性
公钥加密技术
- 非对称加密也叫公钥加密,是PKI的基础
- 公钥 Public Key 和 私钥 Private Key
公钥和私钥是成对生成,互不相同,可以互相加密或解密
根据一个密钥无法推算出另一个密钥
公钥公开,私钥保密(只有持有人知道)
私钥由持有人妥善保管- 根据实现的功能不同,可以分为数据加密和数字签名
数据加密
- 发送方使用接收方的公钥加密数据
- 接收方使用自己的私钥解密数据
- 以此来保证数据机密性
数字签名结合了非对称加密和Hash算法得出来的
发送方使用私钥对信息摘要进行加密的一个过程
过程中所得到的密文即称为签名信息
发送方将签名信息与原始数据发送给接收方
接收方对原始数据进行摘要计算,得出的值和签名信息进行对比
保证数据的完整性、身份验证和不可否认
发送方把数据 Hash 之后,用自己的私钥进行加密,用私钥加密的 Hash 值被成为数字签名
之后接收方使用发送方的公钥对数据进行解密,解密出来说明信息来自于发送方
之后使用相同的方法进行哈希,然后和解密出来的哈希作比较,就可以证明数据是否被篡改
数字签名的漏洞:无法证明手中的公钥是发送方的
数字证书
比喻成身份证
需要公信机构来颁发发送方的公钥和接收方的公钥,接收者收到公钥之后也会去公信机构去校验
- 证书用于保证密钥的合法性
- 证书的主体可以是用户、计算机、服务等
- 证书格式遵循X.509标准
- 证书信息包含
使用者的公钥值
使用者标识信息(名称或邮件地址)
有效期(证书的有效时间)
颁发者的标识信息
颁发者的数字签名- 数字证书由权威单位第三方机构即CA颁发
CA的作用证书颁发机构
- CA的核心功能是颁发和管理数字证书
- CA的作用
处理证书申请
发放证书
更新证书
接受最终用户证书的查询、撤销
产生和发布证书吊销列表(CRL)
数字证书归档- 如果把证书比作身份证,CA就是公安局
CA扩展,Windows下安装证书
- 对于一些内网的IP,通常是不会配置证书的
- 如果需要进行安全访问,就需要去把页面的根证书下载下来,添加到本地的信任证书里面
- 下载证书就不多说了
- 安装证书:一定不要直接双击证书去安装,这样的证书是随机存放的,查看打开 internet 选项
- (第一位置不一样、第二账户不一样,默认双击安装是用户账户,不是计算机账户)
- 正确方法打开本地的 mmc----文件----添加或删除管理单元----证书(添加)----计算机账户—next----next 之后完成
- 打开证书节点----受信任的颁发机构----证书(右键–所有任务)----导入----之后输入正确的文件----导入到受信任的颁发机构
- 不一定会成功,因为导入的必须是颁发机构的根证书才行
- 大公司一般颁发证书使用的是 AD 域
校验算法
用来检验数据的完整性
常见的 CRC;MD5;SHA-1 已经被王晓云破解并且创建了自己的加密算法SM3,但是这些算法在民用的角度还是可以的,但是在技术方面已经不安全了
最好采用 SHA-2xx 这种级别的加密算法
信息摘要
单向散列函数(Hash)
- 给予任意大小的数据,得出一个固定长度的值,类似指纹,DNA
- 不可逆、雪崩效应(添加个空格都可能导致天翻地覆的变化)
项目 MD5 SHA-1 SHA-2 签名长度 128位 160位 SHA-2-256 256位
SHA-2-384 384位
SHA-2-512 512位安全级别 低 中 高
PKI协议
SSL:安全套接层
- 认证用户和服务器,确保数据发送到正确的客户机和服务器
- 加密数据以防止数据中途被篡改
- 维护数据的完整性,确保数据在传输过程中不被改变
- TLS是基于SSL改进过的技术
HTTPS
- 使用SSL来实现安全的通信
IPsec
- VPN解决方案