密码学 / PKI 体系概述
CA中心——CA系统——数字证书
CA 中心管理并运营 CA 系统,CA 系统负责颁发数字证书。
专门负责颁发数字证书的系统称为 CA 系统,负责管理并运营 CA 系统的机构称为 CA 中心。所有与数字证书相关的各种概念和技术,统称为 PKI(Public Key Infrastructure)。
传统密码学
- 换位加密法;
- 替换加密法;
现代密码学加密基元
加密基元就是一些基础的密码学算法,通过它们才能够构建更多的密码学算法、协议、应用程序。
说明:
- 散列函数(散列(hash)、指纹、消息摘要、摘要算法、杂凑函数):把任意长度的输入消息数据转化成固定长度的输出数据的一种密码算法。
- 消息验证代码:验证数据完整性,即数据没有被篡改。
- 数字签名:RSA私钥加密,公钥解密,结合散列函数。验证消息真实性。
- 伪随机函数(PRF):生成任意数量的伪随机数据。
- RSA:可以同时用于密钥交换和身份验证(数字签名)。
- DHE_RSA:DHE 算法:密钥协商,RSA 算法:身份验证(数字签名)。
- ECDHE_RSA: ECDHE 算法:密钥协商,RSA 算法:身份验证(数字签名)。
- ECDHE_ECDSA :ECDHE 算法:密钥协商,ECDSA 算法:身份验证(数字签名)。
英文全称:
- AES:Advanced Encryption Standard,高级加密标准
- DES:Data Encryption Standard,数据加密标准
密钥管理
密钥管理
密钥管理模式:
- 无中心模式;
- 有中心模式;
PKI 的本质是把非对称密钥管理标准化
PKI 是 Public Key Infrastructure 的缩写,其主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间
戳服务等)实现通信中各实体的身份认证、完整性、抗抵赖性和保密性。
PKI 模式
- 数字证书:解决公钥与用户映射关系问题;
- CA:解决数字证书签发问题;
- KMC:解决私钥的备份与恢复问题;
- 双证书机制:「签名证书及私钥」只用于签名验签,「加密证书及私钥」只用于加密解密。
- LDAP:解决数字证书查询和下载的性能问题,避免 CA 中心成为性能瓶颈。
- CRL(证书作废列表) 和 OSCP(在线证书状态协议):方便用户快速获得证书状态。
- RA:方便证书业务远程办理、方便证书管理流程与应用系统结合。
- 电子认证服务机构:保证 CA 系统在数字证书管理方面的规范性、合规性和安全性。
数字证书分类
基于数字证书可以实现四种基本安全功能
- 身份认证;
- 保密性;
- 完整性;
- 抗抵赖性;
PKI 基本组件
完整的 PKI 系统必须具有数字证书、认证中心(CA)、证书资料库、证书吊销系统、密钥备份及恢复系统、PKI 应用接口系统等构成部分。
组件 | 描述 |
---|---|
数字证书 | 包含了用于签名和加密数据的公钥的电子凭证,是PKI的核心元素 |
认证中心(CA) | 数字证书的申请及签发机关,CA必须具备权威性 |
证书资料库 | 存储已签发的数字证书和公钥,以及相关证书目录,用户可由此获得所需的其他用户的证书及公钥 |
证书吊销列表(CRL)/OCSP | 在有效期内吊销的证书列表,在线证书状态协议OCSP是获得证书状态的国际协议 |
密钥备份及恢复 | 为避免因用户丢失解密密钥而无法解密合法数据的情况,PKI提供备份与恢复密钥的机制。必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥不能够作备份 |
PKI应用接口(API) | 为各种各样的应用提供安全、一致、 可信的方式与PKI交互,确保建立起来的网络环境安全可靠,并降低管理成本 |
TLS服务安全部署
说明:
- 密码套件决定了本次连接采用哪一种加密算法、密钥协商算法、HMAC 算法,即各个密码学算法的组合。
密码套件的配置
# 密码套件名称构成:密钥交换算法-身份验证算法-加密算法(加密方法-加密强度-模式)-HMAC或PRF算法
# 密钥交换算法/密钥协商算法:ECDHE > DHE > RSA
# 身份验证算法:ECDSA 256 > RSA 2048
# 加密算法:AES-256-GCM、
# PRF(伪随机函数):HMAC、SHA256# 如:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
# 如:TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
列出当前系统所支持的密码套件列表:
$ openssl ciphers -V 'ALL:COMPLEMENTOFALL'# 推荐的配置,同时满足强加密和高性能
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-AES256-SHA
ECDHE-ECDSA-AES128-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-SHA
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES256-SHA384
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES128-SHA
DHE-RSA-AES256-SHA
DHE-RSA-AES128-SHA256
DHE-RSA-AES256-SHA256
EDH-RSA-DES-CBC3-SHA
测试某个服务器是否支持特定的密码套件:
$ openssl s_client -cipher "ECDHE-RSA-AES128-SHA" -connect www.qq.com:443 -tls1_1# 参数说明
# -cipher 参数表示本次连接支持的密码套件
# -connect 表示连接服务器的 443 端口
# -tls1_1 表示客户端最高支持的 TLS/SSL 版本是 TLS v1.1
转载于:PKI 体系概述 - 简书
(SAW:Game Over!)
密码学 / PKI 体系概述相关推荐
- SSL协议安全系列:PKI体系中的证书吊销
GoSSIP_SJTU · 2016/03/03 10:06 0x00 前言 在前面的章节我们讨论了部分SSL/TLS握手协议.记录协议中存在的安全问题,针对它们的攻击以及相应的加固方案.在SSL/T ...
- UML统一建模语言知识体系概述
UML统一建模语言知识体系概述 http://developer.51cto.com/ 2006-01-11 16:46 noahsports.com 我要评论(3 ) UML是一种定义良好 ...
- IPSec 密钥加密体系概述
IPSec VPN 密钥加密体系概述 加密算法 对称加密算法 非对称加密算法: 数字证书 数字信封 数字签名 数字指纹 加密算法没啥可说的,不是他很简单,是它太难了,我也不懂,我已经不学了,有想学的同 ...
- DirectShow编程(3.1)- 关于DirectShow - DirectShow体系概述
3. 关于DirectShow 3.1. DirectShow体系概述 多媒体的难题 处理多媒体有几个主要的难题: *多媒体流包含了巨大的数据量,而这些数据都必须非常快地被处理 ...
- PMP-项目管理知识体系概述
文章目录 前言 PMP-项目管理知识体系概述 1. 项目管理知识体系三个维度 1.1. 时间维度 1.2. 管理维度 1.3. 10大知识领域 2. 十大知识领域之间的关系 3. 项目管理的全链路 3 ...
- 技术知识花园体系概述
技术知识花园体系概述 程序员(尤其是大厂)区别于传统技工,必须与时俱进.技术成长的过程一方面是广度和深度的积累,另一方面就是抽象和升华,获得更高的视野.更大的格局.使自己能看懂和理解更大格局的需求 ...
- 【工控软件 博图(博途)Portal西门子】体系 概述 思维导图
[工控软件 博图(博途)Portal西门子]体系 概述 思维导图
- 蚂蚁金服 mPaaS 服务端核心组件体系概述:移动 API 网关 MGS
根据<开篇 | mPaaS 服务端核心组件体系概述>,我们已经初步了解 mPaaS 平台后端各组件的核心架构体系. 而在 mPaaS 服务端众多组件中,移动 API 网关 MGS 是连接移 ...
- Mendix架构体系概述(三)- 完结篇
欢迎查阅<Mendix架构体系概述(一)>与<Mendix架构体系概述(二)>,本章为您讲解Mendix的Runtime架构以及12-Factor架构. Runtime Ar ...
最新文章
- 欢迎大家观顾【图灵教育社区】
- pat数素数 20 c语言,PAT乙级C语言1013 数素数
- 转:在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程
- how to improve your ielts score on the exam?
- 《集体智慧编程》第五章 优化
- 1G.小a的排列(C++)
- Redis:08---字符串对象
- python定界符有哪些_Python 开发中有哪些高级技巧?
- 新浪sae平台进行数据库的连接
- 【循序渐进学Python】9.异常处理
- mysql更新索引不影响业务_mysql 索引是否能提高UPDATE,DELETE,INSERT 处理速度
- 获取mysql存储过程返回值_从强网杯随便注浅析mysql存储过程
- Nutch 深入浅出
- 真格量化常见报错信息和Debug方法
- 【Web】CSS(No.18)Css经典案例(二)《畅销书排行榜》
- python ImportError: No module named spiders
- R语言快速画出ROC曲线和算出可信区间和p值
- #586 – 冒泡事件和隧道事件通常是成对出现(Bubbling and Tunneling Events Are Typically Paired)
- 持续集成之jenkins下载及安装
- LeetCode151|翻转字符串中的单词III