PKI密码学目录

密码学目录

对称密码学

特点
  • 加密秘钥与解密秘钥相同时,密码系统为对称密码系统
  • 最初使用密钥串对原始数据进行异或运算,但是加密强度较弱,很容易被破解,现在也不再使用
  • 替换加密算法:加密后的数据会出现大量的相同字符,加密强度非常弱
  • 分组加密是现在主流的一种对称加密方式,分组加密数据,得到等长加密字符串,未满分组长度的原数据使用填充算法在最后一个字节中指示填充长度,详情参考
分类
  • DES: (Data Encryption System)使用了分组密码设计的两个原则:混淆(confusion)和扩散(diffusion),其目的是抗击敌手对密码系统的统计分析
  • 3DES:3DES是针对DES算法密钥过短、存在安全性的问题而改进的一个措施,被称为“3DES”。其实只是通过简单的执行3次DES来达到增加密钥长度和安全而已
  • AES: (Advance Encryption System)分组长度为128bit,使用128,192,256,512长度秘钥,从而可以抵抗各种攻击,简述AES和DES的区别
  • IDEA: (International Data Encryption Algorithm)IDEA不是开发软件
对称密码模式
  • ECB:electronic codebook 最简单的分组密码模式
  • … …
  • GCM( Galois/Counter Mode ) 目前最有效的加密模式模式详解

非对称加密

使用公私钥进行加解密,另外一个功能是数字签名,数字签名有以下功能和特性
识别发送端,数据完成性校验,接收端不可否认性

  • RSA:目前使用最广的公开秘钥算法,一般用于数字签名
  • DH: 用于共享秘钥协商
  • DSA: 数字签名标准,但不能用于加密
  • ECC: (Elliptic Curve Crypto)椭圆曲线加密

HASH算法

将任意长度字数串M映射成一个较短的定长输出数字串H的函数,
简单理解就是任何数据都有一串32位字节的id,与其纠结其算法如何实现,倒不如看作每个人的DNA是不一样的

  • MD4:运算速度最慢
  • MD5:计算速度最快,但是复杂度不高
  • SHA: 杂凑值长度较长,在逆向攻击与地毯式搜索下,具有较高的安全性
  • HMAC(Hash-based Message Authentication Code): 使用秘钥的单向杂凑函数,多用于SSL或TSL确保同行信息的完整性以及认证对方

证书编码与标准

证书编码

  • PEM(pravacy enhanced mail)base64编码
  • DER(distinguished encoding rules )二进制编码

证书标准

  • X.509

x.509是目前最流行的证书标准,它有三个版本,定义了证书的签名格式和规范

  • PKCS8 定义私钥存储格式
  • PKCS12 定义了一套加密文件存储格式,通常用于JAVA中的JKSFPX 后缀文件

数字证书,公钥,匿名证书,数字签名的区别

  • 公钥:非对称加密中用于发布给所有人进行身份认证和加密的秘钥
  • 匿名证书:只包含公钥或CN和公钥的证书,用于加解密,其并不关心主体身份信息
  • 数字签名:使用私钥加密后的数据或文件
  • 数字证书:包含主体公私钥,主体身份信息,过期与生效时间,颁发与拥有者等信息的电子身份证

SSL/TLS

SSL/TLS发展历史

  • 1994 SSL1 诞生
  • 1995 SSL3 增加了新的加密特性
  • 1996 TLS1.0
  • 2006 TLS1.1
  • 2008 TLS1.2

TLS1.2 套件说明

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

  • ECDHE: “ECC ephemeral DH” 用于密钥交换,并且提供前向保密

简单理解:双方将发送一串随机数,并提供自己的公钥,就能根据真实密钥计算出相同的校验值(数学非常神奇)

  • RSA: 身份验证 (如何证明你妈就是你妈)
  • ASE_128_GCM: 对称加密方式,GCM为目前最新最好用的分组加密模式
  • SHA256: PRF(pseudorandom function)数据完整性校验

常用密钥长度的加密强度说明

保护                   对称        非对称         DH                椭圆曲线                    散列
短期保护10年            96          1776           1776              192                         192
短期保护20年            112         2432           2432              224                         224       
短期保护30年            128         3248           3248              256                         256
长期保护,抵抗量子计算   256         15424          15424             512                         512

TLS选项

0    server_name                主机名
5    status_request             指示支持的OCSP stapling
13   signature_algorithms       支持的散列与签名算法
15   heartbeat                  指示心跳协议
*    *                          参考官方文档

SSL 通信过程

  • Client Hello

你好!服务器,我支持ssl x版本,支持xxx cipher

  • Server Hello

浏览器你好呀!我支持xxx SSL版本,支持xxx cipher,这是我的证书,你看看吧,确实是我呢,不骗你

  • Authentication

好的,让我检查你的证书域名,看你有没有过期,还有你的上级老板是谁;你上级老板确实是公证处的人,有他的担保我相信你了。这是我创建的主秘钥,我用你的公钥加密了

  • Decryption

好吧我刚刚看到了你发的主秘钥了,我们就用xxx-xxx-xxx cipher算法来加密数据

  • Generate Session Keys

我们一起使用这个对称秘钥来加密会话吧

  • Encryption with Session Key

好的,我们后续的通信都会是加密的了哦

PKI描述

X.509证书内容

  • 版本:现在大都采用第三版
  • 序列号:用于唯一标识其所签发的证书
  • 签名算法:证书签名所使用的算法
  • 颁发者:包含国家,组织,组织单元等信息
  • 有效期:证书的到期时间
  • 使用者:存放在subject中,指定颁发给制定的域名
  • 公钥:证书中的公钥信息

  • CRL分发点:记录颁发者的CRL地址
  • 密钥用法:定义了证书密钥的使用场景
  • 基础约束:是否是CA,限制二级CA证书路径深度
  • 名称约束:限制二级CA签发证书的域名对象
  • 使用者可选项:SAN字段,用于扩展多个域名或IP
  • 扩展密钥用法:通过OID来限制公钥的使用场景
  • 证书策略:获取完整的证书把那发策略说明
  • 颁发机构信息访问:包含办法机构的OCSP响应程序,以及CA证书的访问地址
  • 使用者密钥标识符:用于识别包含特别公钥的证书
  • 授权密钥标识符:在构建证书链的时候用于找到颁发者的证书

PKI结构

  • CA(certification authority): 证书颁发机构
  • RA(registration authority):证书注册机构
  • DV(domain validated):仅验证域名
  • OV(organization validated):对身份和真实性进行验证
  • EV(extended validation):OV 扩展验证
吊销机构
  • CRL(certificate revocation list): 包含一组未过期但是已经被吊销的证书序列号
  • OCSP(online certificate status protocol): 用于快速查询证书状态

安全问题

  • 心脏流血漏洞:利用心跳扩展获取到服务器内存信息
  • FREAK:使用512RSA与40位对称秘钥加密数据,这种加密套件安全强度非常弱
  • Logjam:与FREAK类似,破解低强度DHE(1024以下)交换秘钥
  • 自动降级:自动降级到低协议版本会引发地底协议版本的漏洞出现
  • 截断攻击:提前结束一条安全链接,阻止一条或多条消息到达对端
  • 主机混淆:一张掩码域名证书被多个运维团队共享,在一个网站被入侵或者攻破后将会影响到
  • 重新协商:不安全的重新协商使得中间攻击者直接窃取真实用户的信息
  • 旁路压缩,BREACH,TIME,BEAST,Lucky13,POODLE多种复杂攻击方式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值