PKI 体系概述_计算机学科体系概述

PKI 体系概述_计算机学科体系概述CA中心——CA系统——数字证书CA中心管理并运营CA系统,CA系统负责颁发数字证书。专门负责颁发数字证书的系统称为CA系统,负责管理并运营CA系统的机构称为CA中心。所有与数字证书相关的各种概念和技术,统称为PKI(PublicKeyInfrastructure)。传统密码学换位加密法; 替换加密法;现代密码学加密基元加密基元就是一些基础的密码学算法,通过它们才能够构建更多的密码学算法、协议、应用程序。说明:散列函数(散列(hash)、指纹.


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

CA中心——CA系统——数字证书

CA 中心管理并运营 CA 系统,CA 系统负责颁发数字证书。

专门负责颁发数字证书的系统称为 CA 系统,负责管理并运营 CA 系统的机构称为 CA 中心。所有与数字证书相关的各种概念和技术,统称为 PKI(Public Key Infrastructure)。

传统密码学

  • 换位加密法;
  • 替换加密法;

现代密码学加密基元

加密基元就是一些基础的密码学算法,通过它们才能够构建更多的密码学算法、协议、应用程序。

PKI 体系概述_计算机学科体系概述

说明:

  • 散列函数(散列(hash)、指纹、消息摘要、摘要算法、杂凑函数):把任意长度的输入消息数据转化成固定长度的输出数据的一种密码算法。
  • 消息验证代码:验证数据完整性,即数据没有被篡改。
  • 数字签名:RSA私钥加密,公钥解密,结合散列函数。验证消息真实性。
  • 伪随机函数(PRF):生成任意数量的伪随机数据。
  • RSA:可以同时用于密钥交换和身份验证(数字签名)。
  • DHE_RSA:DHE 算法:密钥协商,RSA 算法:身份验证(数字签名)。
  • ECDHE_RSA: ECDHE 算法:密钥协商,RSA 算法:身份验证(数字签名)。
  • ECDHE_ECDSA :ECDHE 算法:密钥协商,ECDSA 算法:身份验证(数字签名)。

密钥管理

PKI 体系概述_计算机学科体系概述

密钥管理

密钥管理模式:

  • 无中心模式;
  • 有中心模式;

PKI 的本质是把非对称密钥管理标准化

PKI 是 Public Key Infrastructure 的缩写,其主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等)实现通信中各实体的身份认证、完整性、抗抵赖性和保密性。

PKI 体系概述_计算机学科体系概述

PKI 模式

  • 数字证书:解决公钥与用户映射关系问题;
  • CA:解决数字证书签发问题;

    PKI 体系概述_计算机学科体系概述

    CA管理数字证书的全生命周期

  • KMC:解决私钥的备份与恢复问题;
  • 双证书机制:「签名证书及私钥」只用于签名验签,「加密证书及私钥」只用于加密解密。
  • LDAP:解决数字证书查询和下载的性能问题,避免 CA 中心成为性能瓶颈。
  • CRL(证书作废列表) 和 OSCP(在线证书状态协议):方便用户快速获得证书状态。
  • RA:方便证书业务远程办理、方便证书管理流程与应用系统结合。
  • 电子认证服务机构:保证 CA 系统在数字证书管理方面的规范性、合规性和安全性。

数字证书分类

PKI 体系概述_计算机学科体系概述

数字证书分类

基于数字证书可以实现四种基本安全功能

  1. 身份认证;
  2. 保密性;
  3. 完整性;
  4. 抗抵赖性;

PKI 基本组件

完整的 PKI 系统必须具有数字证书、认证中心(CA)、证书资料库、证书吊销系统、密钥备份及恢复系统、PKI 应用接口系统等构成部分。

组件 描述
数字证书 包含了用于签名和加密数据的公钥的电子凭证,是PKI的核心元素
认证中心(CA) 数字证书的申请及签发机关,CA必须具备权威性
证书资料库 存储已签发的数字证书和公钥,以及相关证书目录,用户可由此获得所需的其他用户的证书及公钥
证书吊销列表(CRL)/OCSP 在有效期内吊销的证书列表,在线证书状态协议OCSP是获得证书状态的国际协议
密钥备份及恢复 为避免因用户丢失解密密钥而无法解密合法数据的情况,PKI提供备份与恢复密钥的机制。必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥不能够作备份
PKI应用接口(API) 为各种各样的应用提供安全、一致、 可信的方式与PKI交互,确保建立起来的网络环境安全可靠,并降低管理成本

TLS服务安全部署

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

HTTPS 最佳实践工具

网站 文档或工具名称 地址 说明
SSL Labs SSL Server Test https://www.ssllabs.com/ssltest/ 对服务器的 HTTPS 配置进行测试,指出潜在的问题,并对安全级别打分。
SSL Labs SSL Client Test https://www.ssllabs.com/ssltest/viewMyClient.html 测试客户端的配置情况
SSL Labs SSL Pulse https://www.ssllabs.com/ssl-pulse/ 对全球顶尖 HTTPS 网站进行长期跟踪,统计和 HTTPS 有关的一些数据
SSL Labs SSL and TLS Deployment Best Practices https://www.ssllabs.com/projects/documentation/ 最佳部署文档
Mozilla 最佳部署文档 https://wiki.mozilla.org/Security/Server_Side_TLS 重点介绍密码套件配置、HTTPS 潜在的攻击、最佳部署等
Mozilla Mozilla SSL Configuration Generator https://mozilla.github.io/server-side-tls/ssl-config-generator/ 用于自动化为服务器配置 HTTPS 协议
RFC Summarizing Known Attacks on TLS https://tools.ietf.org/html/rfc7457 详细描述 TLS/SSL 协议,历史上出现的漏洞
RFC Recommendations for Secure Use of TLS https://tools.ietf.org/html/rfc7525 描述如何更好地部署 HTTPS 网站

——摘自《深入浅出 HTTPS》

参考

作者:独木舟的木
链接:https://www.jianshu.com/p/46a911bd49a7
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

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

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

相关推荐

  • 元素守恒计算方法_元素个数怎么算

    元素守恒计算方法_元素个数怎么算给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。示例:输入:nums = [5,2,6,1]输出:[2,1,1,0] 解释:5 的右侧有 2 个更小的元素 (2 和 1)2 的右侧仅有 1 个更小的元素 (1)6 的右侧有 1 个更小的元素 (1)1 的右侧有 0 个更小的元素提示:0 <= nums.length <= 10^5-10^4

    2022年8月9日
  • tcp为什么要三次握手,两次不行吗_tcp为什么不能二次握手

    tcp为什么要三次握手,两次不行吗_tcp为什么不能二次握手作者:大闲人柴毛毛链接:https://www.zhihu.com/question/24853633/answer/254224088来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转

    2022年8月2日
  • mongodb集群搭建步骤

    mongodb集群搭建步骤

    2021年9月5日
  • WritePrivateProfileString函数说明[通俗易懂]

    WritePrivateProfileString函数说明[通俗易懂]在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下:   一.将信息写入.INI文件中.   .所用的WINAPI函数原型为: BOOLWritePrivateProfileString(   LPCTSTRlpAppName,   LPCTSTRlpKeyN

    2022年7月14日
  • Adobe dreamweaver CS6小白入门教程「建议收藏」

    Adobe dreamweaver CS6小白入门教程「建议收藏」1.界面认识2.创建站点:(针对复杂网站使用)站点是一系列文档的组合,这些文档通过各种链接建立逻辑关联。是管理网页文档场所。DWCS6是一个站点创建和管理工具,使用它不仅可以创建单独文档,还可以创建完整的站点。创建网页:新建。3.管理站点的操作:打开站点、编辑站点、删除站点、复制站点、导入导出站点4.管理站点中的文件1.创建文件夹和文件…

    2022年6月12日
  • 如何对硬盘进行数据恢复_数据恢复用什么软件

    如何对硬盘进行数据恢复_数据恢复用什么软件怎样进行硬盘数据恢复硬盘上的数据如果不小心误删了怎么恢复?以下百分网小编整理的进行硬盘数据恢复的方法,希望对大家有所帮助,更多信息请关注应届毕业生网!1.下载运行DiskGenius数据恢复及磁盘分区软件。首先选择已删除文件所在的分区。然后点击工具栏按钮“恢复文件”,或点击主菜单“工具”中的“已删除或格式化后的文件恢复”菜单项,以打开文件恢复对话框。如下图:2.根据文件正常删除或格式化的不同情况,…

    2022年9月20日

发表回复

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

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