PKI 笔记
PKI – Public Key Infrastructure , 通常翻译为公钥基础设施。
PKI 安全平台提供的4个服务,来保证安全的数据,分别是:
l 身份识别
l 数据保密
l 数据完整
l 不可抵赖
PKI 体系现存问题
l 密钥管理
l 相关法律体系建立
l 相关法律、政策的缺乏
l 技术各异,国内各个认证机构发放的证书在相互兼容,互通互用的方面存在问题。
l 用户认识不足
l 重复建设
l 缺乏统一规范和服务效率
l 安全管理急待加强
PKI基于的理论:公钥密码理论
密码算法表示:
C = F (M,K)
C 密文,加密后的字符序列
M 待加密的字符序列
K 密钥
密码学的原则是:算法公开,密钥保密。
密码学俩大体制:
l 对称密码体制(单密钥密码体制 / 秘密密钥密码体制 / 对称密钥密码体制)
l 非对称密码体制(双密钥密码体制 / 公开密钥密码体制 / 非对称密钥密码体制)
密码算法对明文的加密方式有俩种:
l 分组加密
l 序列加密

对称加密的缺点:
l 需要密钥交换,这就要确保交换密钥的手段需要很安全。
l 规模复杂,每个人之间传输的密钥不应该一样,不然A和B的密钥和A和C的密钥如果一样的话,C可以窃取到B的信息,或者B能窃取到C的信息。所以,如果有1000个人中,A就要有999个密钥。不能用同样的密钥加密太多内容,还得跟换密钥,情况比较复杂
l 初次通讯,身份识别有问题,A要和B通讯,肯定要用某种安全的途径发送自己的密钥给对方,A如何来保证对方是B,而不是C呢?
一些常见的对称密码:
l DES(Data Encryption Standard)56位密钥 + 8 位奇偶校验位,产生64位分组大小。攻击DES的主要方式是穷举,重复试密钥,知道找出密钥。DES用软件解密很慢,硬件则很快。1977年,人们要用2000万美元才能建成一个专门的DES破解机器,而且需要12小时才能破解。除非你想盗取比尔盖茨的账号,不然花这么多钱去盗取一个只有10块钱的账户,那就亏大了。如今,计算机飞速发展,可以用20W美元就制造出这一台机器。
l AES(Advance Encryption Standard),使用DES的算法,而换取了更长的密钥(112位),对资料进行3次加密,也叫3DES。速度当然比DES也慢了3倍。
l IDEA 基于DES发展而来,128位密钥,弱密钥空间大,特点是软硬件加密速度同样快。
l RC2,RC4,RC5 由RSA算法发明人之一Ron Rivest发明。
l SDBI 由山东大学网络信息安全研究所研制的。通过了国家密码委员会的批准。
l One Time Pad,一次一密乱码本,保密性很强,在特殊场合(尤其是战争)使用。

对称密码最容易被攻击的地方就是密钥共享的问题。非对称密码可以解决这个问题。在网络上传输的密钥(公钥)是可以公开的,此密钥是用来加密数据的。不过加密密钥和解密密钥在非对称密码中,是不一样的。
非对称密码的第二个的作用是身份识别的功能,用私钥加密的数据,用公钥可以解密器加密的数据,所以这样对我们来说没什么用,私钥只有一个人拥有,所以使用公钥能解密出正确数据的人就能确认对方是谁。即。私钥相当于这个人的身份证,世界独一无二。
非对称密码缺点:
l 某些方面也容易被攻击
l 速度慢,加密数据过大的话,会让人我发容忍太长时间的等待。
常用非对称密钥算法
l RSA (由Ron Rivest, Adi Shamir, Leonard Adleman提出),提供加密/解密,签名/验证和密钥建立(特别是密钥传输)等服务。
l DH/DSA(Diffie-Hellman)DH用于建立密钥,不能用于加/解密报文。DSA(Digital Signature Algorithm,数字签名算法),为接受者验证数据完整性和数据发送者身份。
l Elgamal 既能用于数据加密,也能用于数字签名。
l ECC 椭圆曲线加密算法

公开密钥和对称密钥结合。解决了俩种方式的缺点,互相弥补。但是此处不能保证数据的完整性和发送方(A)的身份。
散列算法(用于验证数据完整性)
单向性,已知x,很容易计算出f(x)。但已知f(x),很难计算出x。所以此算法不能用作加密。
单向Hash函数,功能:输入一串任意长度的串,将其转变成固定长度的数输出。(长度一般式128或160)。
常用算法:
MD(Message Digest Algorithm),信息摘要算法。发展到现在的MD5.(MD4有很大的漏洞)。
SHA(Secure Hash Algorithm),安全散列算法。SHA-1,SHA-2(正在研制)。
HMAC(Hashed Message Authentication Code),散列信息验证码。利用对称密钥和现有的单向函数(如MD5,SHA-1等)生成信息验证码的一种散列算法。

===================================A端工作===Start=============================
1. 用对称密钥(会话密钥)加密原文,A先用随机生成的会话密钥对数据加密
2. 生成数字签名,通过散列算法,计算出信息摘要,并且用A的私钥加密。得到数字签名。这样B就要用A的公钥解密摘要(B就知道是A,不是别人了),然后验证摘要(确保了信息完整)
3. 加密会话密钥(对称密钥),用B的公钥加密会话密钥。这样即便信息被窃取,由于对方没有B的私钥,导致无法得到会话密钥(对称密钥),也就无法解密加密的数据。
===================================A端工作====End=============================
4. 发送
===================================A端工作===Start=============================
5. 用自己的私钥对会话密钥解密,得到会话密钥。
6. 用会话密钥对原文解密,得到原文
7. 用A的公钥对签名解密。得到信息摘要。
8. 从解密到的原文信息中用同等的散列算法算出信息摘要。
9. 对比信息摘要是否相同,就等于是验证了数据的完整性。
===================================A端工作====End=============================
PKI 笔记的更多相关文章
- PKI(公钥基础设施)基础知识笔记
数字签名 数字签名(又称公钥数字签名.电子签章)是一种类似写在纸上的普通的物理签名,可是使用了公钥加密领域的技术实现.用于鉴别数字信息的方法. 一套数字签名通常定义两种互补的运算.一个用于签名,还有一 ...
- 《HTTPS权威指南》读书笔记——PKI
互联网公钥基础设施 基于可信的第三方机构(CA,certification authority)实现不同成员在不见面的情况下进行安全通信 订阅人 需要证书来提供安全服务的团体 登记机构(RA) 完成证 ...
- SSL读书笔记
摘要: 第一次写博客,为读书笔记,参考书目如下: <HTTP权威指南> <图解HTTP> <大型分布式网站架构设计与实践> 作者:陈康贤 一. HTTP+SSL=H ...
- Java加密与解密笔记(四) 高级应用
术语列表: CA:证书颁发认证机构(Certificate Authority) PEM:隐私增强邮件(Privacy Enhanced Mail),是OpenSSL使用的一种密钥文件. PKI:公钥 ...
- CentOS6.8下MySQL MHA架构搭建笔记
转载请注明出处,本文地址:http://www.cnblogs.com/ajiangg/p/6552855.html 以下是CentOS6.8下MySQL MHA架构搭建笔记 IP资源规划: 192. ...
- 一点感悟:《Node.js学习笔记》star数突破1000+
写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...
- https学习笔记三----OpenSSL生成root CA及签发证书
在https学习笔记二,已经弄清了数字证书的概念,组成和在https连接过程中,客户端是如何验证服务器端的证书的.这一章,主要介绍下如何使用openssl库来创建key file,以及生成root C ...
- OpenStack 学习笔记 (一)
后续的文章都贴在:臭蛋上 这一系列笔记已经记录很长一段时间了,种种原因没有贴出来,现在陆陆续续的贴出来.可能由于自己理解的 错误和疏忽,导致存在错误,欢迎大家指正,交流. 所有的源码分析都是基于Ope ...
- CentOS7和OpenStack的笔记(一)
CentOS7和OpenStack的笔记(一) 最近搞CentOS7系统和OpenStack框架,整了近一个星期,系统装了好几次,框架搭了又从搭.虽然最后的实例没能启动成功,但是在这专研的一个星期里, ...
随机推荐
- Chapter 2 Open Book——22
I dropped my head, letting my hair fall to conceal my face. 我低下了我的头,让我的头发垂下来隐藏我的脸. I was sure,though ...
- YII2 小部件(widgets)
小部件基本上在views中使用,在视图中可调用 yii\base\Widget::widget() 方法使用小部件. 该方法使用 配置 数组初始化小部件并返回小部件渲染后的结果. 例如如下代码插入一个 ...
- hdu_5763_Another Meaning(dp)
题目链接:hdu_5763_Another Meaning 题意: 一个文本串A,一个模式串B,如果文本串含有模式串B,那么就能组合成多种意思,如下: In the first case, “ heh ...
- css3 media媒体查询器用法总结 兼容ie8以下的方法
总结一下响应式设计的核心CSS技术Media(媒体查询器)的用法. http://www.360doc.com/content/14/0704/06/10734150_391862769.shtml ...
- springsecurity源码查看网址
http://www.boyunjian.com/javasrc/org.springframework.security/spring-security-web/3.1.3.RELEASE/_/or ...
- 【转载】CentOS 6.4下PXE+Kickstart无人值守安装操作系统
[转载]CentOS 6.4下PXE+Kickstart无人值守安装操作系统 转自:CentOS 6.4下PXE+Kickstart无人值守安装操作系统 - David_Tang - 博客园 http ...
- MySQL-测试卷一
MySQL-测试卷一 一.单项选择题 1 下面不属于Msql数据库特点的是( ) A. 免费使用 B.不能跨平台 C.开源软件 D.功能强大 2 定义表的一个字段, 要求能表示4位整数,2位小 ...
- ListView控件的Insert、Edit和Delete功能第三部分(自我总结)
1.刚开始在第一部分显示数据的时候出现如下错误: 修改: @Page 中的EnableEventValidation="false" 2.点击各个按钮没有反应. 修改:为page_ ...
- Java学习笔记之基于TCP协议的socket
可以一直输入,而不是一问一答: 开两个线程,一个负责收,一个负责发. 1.先运行: package com.zr.javase0825; import java.io.BufferedReader; ...
- 使用Spring 3的@value简化配置文件的读取 (转)
Spring 3支持@value注解的方式获取properties文件中的配置值,大简化了读取配置文件的代码. 1.在applicationContext.xml文件中配置properties文件 & ...