OPENSSL加密技术及私有CA的搭建

加密方式有对称加密 非对称加密 单向加密

对称加密:

    加密和加密都用同一个对称密钥,但是,这种加密方法存在一定问题,就是密钥传输时,容易被盗窃。还有密钥管理困难,对称加密的方法:DESAESBlowfishTwofishIDEARC6CAST5

 

非对称加密:

公钥和私钥都可以进行加密,解密是公钥和私钥对应解密的,就好像一把锁对应多把相同的钥匙一样,公钥可以公开的,非对称加密解决了密钥传输时带来的问题,同时还解决了密钥管理的繁杂的问题。但是如果你用非对称加密的方式来加密一段数据,速度会非常慢,比对称加密的速度慢几个数量级。非对称加密的方法:RSA DSA

 

单向加密:

单向加密是用来提取数据的特征码,为了保证数据传输时的完整性,哪怕数据发生一点的变化,特征码都会引起巨大的改变,单向加密的方法:MD5 SHA

 

数据的安全传输方式:

(这个图取之于silently的浅谈Openssl与私有CA搭建博客文章的图)

 

1.png

第一步,用户B向服务器A发起访问请求,并携带自己的证书信息。服务器A收到用户B发来的证书后,查找安装系统时内置的证书或通过其它可靠途径获得证书公钥从中挑选出一个对应的公钥解密证书的签名信息,完成CA的合法身份验证,并得到签名信息的特征码,而后使用同样的算法提取签名信息的特征码与之对比,完成签名信息的完整性校验,然后再对比主体的名称与服务器的主机名是否一样,如果一样就从用户B中发来的证书中提取用户B的公钥信息,最后将自己的证书发送给用户B。

 

第二步,用户B收到服务器A发来的证书,使用与之同样的证书验证流程验证证书的合法性以及完整性,提取服务器A的公钥信息。

 

第三步:使用单向加密算法,提取数据的SO的特征码信息,使用自己的私钥加密上一步提取出来的特征码信息,而后将其附在数据S0后面,组成数据段S1,通过算法生成对称密钥,利用对称加密对数据段S1进行加密,生成加密后的数据段S2。使用用户B的公钥将上一步生成的对称密钥加密后将其附在数据段S2后面,生成数据段S3。最后将S3发送给用户

 

第四步:使用自己的私钥解密数据段S3,得到服务器A生成的对称加密密钥和数据段S2。使用上一步解密得到的密钥解密数据段S2得到加密后的数据特征码和明文数据段S0, 使用自己的私钥解密上一步得到的数据特征码,然后使用与服务器A相同的单向加密的算法提取明文数据S0的特征码与之比对,比对结果正确则说明数据时完整的。

 

使用openssl实现加密:

对称加密:

opesnssl enc

-e:表示加密

-d:表示解密

-in file:表示输入需要加密或解密的文件

 

-out file:表示输出加密或解密的文件

-a:表示64位的编码

例子:

     加密:         

2.png 

 

解密

3.png

非对称加密:

私钥生成:

 

      4.png

 

公钥生成:

           

5.png 

 

单向加密:

文件内容单向加密:
6.png
密码的单向加密:
7.png
                 
openssl支持随机数,用随机数作为salt

8.png

 

9.png

 

 

PKI公钥管理:

CA认证机构:证书的签订及颁发机构

RA注册机构:注册证书的地方

数字证书库:用于存储已签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥;

密钥备份及恢复系统:如果用户丢失了用于解密数据的密钥,则数据将无法被解密,这将造成合法数据丢失。为避免这种情况,PKI提供备份与恢复密钥的机制。但须注意,密钥的备份与恢复必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥为确保其唯一性而不能够作备份。

证书作废系统:证书作废处理系统是PKI的一个必备的组件。与日常生活中的各种身份证件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等。为实现这一点,PKI必须提供作废证书的一系列机制。

 

CA证书的x.509格式

       (1) 版本号 (不同x.509格式的版本号)

(2) 序列号(发放证书的序列号)
(3) 签名算法标识符 (标识证书的hash算法和密钥的算法)
(4) 认证机构 (发放证书的机构)
(5) 有效期限 (证书可以使用的时间)
(6) 主体信息 (拥有者的姓名 服务的名字)
(7)主体的公钥信息(公钥的信息)
(8) 认证机构的数字签名 (存放用私钥加密单向加密的证书信息的特征码)

 

构建私有CA

先看一下openssl的配置文件(/etc/pki/tls/openssl.cnf)

 

10.png

 

看到配置文件,需要在/etc/pki/CA/index.txt 和 /etc/pki/CA/serial文件。

11.png

 

 

生成CA的私钥:                 

12.png

为CA自己签证:

 

13.png

这里的证书我放错了,需要放到/etc/pki/CA目录下的.

 

假如,我们在自己的机子上的http上生成一个证书让CA来签:

生成http的私钥:

14.png 

   生成http证书签订的请求:                 

15.png 

上面的配置信息也可以通过配置文件来指定。

 

把请求交给CA签订:

16.png 

 

 

 

下面讲一下吊销证书(如果你的私钥掉失后,应该做吊销证书)

 

第一步,先看一下你证书的信息:

17.png 

-noout:不输出多余的信息

-subject:输出摘要信息

-serial:输出该证书的序列号

 

然后,要对照一下/etc/pki/CA/index.txt文件里的证书信息,如果符合,就可以吊销了。

 

18.png 

 

然后,我们还要跟新吊销列表:

19.png 

20.png 

 

原创文章,作者:13-广州-杨过,如若转载,请注明出处:http://www.178linux.com/7079

(0)
13-广州-杨过13-广州-杨过
上一篇 2015-08-17 11:35
下一篇 2015-08-21 11:00

相关推荐

  • 硬链接与软链接的简述

    我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但…

    Linux干货 2016-10-20
  • N25期第二周作业

    1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 ls 列出文件和目录命令 -a:显示所有档案及目录 -A:显示除隐藏文件”.”和”..”以外的所有文件 -C:多列显示结果,默认选项 -l:单列显示结果,以长格式显示目录下的内容列表 -F:在每个输出项后追加文件的类型标识符 &#822…

    Linux干货 2016-12-11
  • 博客开始的地方

    来北京挺长时间了,一直都在瞎忙,特别想找个地逛逛,约朋友一起去,结果人家只喜欢吃饭,逛街,来北京瞎逛过两次,第一次是面试路过潘家园,然后进去逛了半天,看各种各样的老古董,当然最多的还是手串,那种核桃,当然还是看到了好多好多有意思的东西,比如下面的小和尚和老和尚,小和尚光着头感觉特别可爱,老和尚还卖萌, 当然还有下面这个关老爷,他的肚子为什么被雕刻的那么大,难…

    2018-03-26
  • 硬盘分区及挂载

    标签:文件系统、分区、挂载 一、Linux的基本原则    1、一切皆文件(包括硬件);这个原则会会在很多方面得到体现; 磁盘在Linux中也表现为文件,即/dev目录下:IDE,ATA:/dev/hd[a-z]    SATA,SCSI,USB,SAS:sd[a-z]。    &nbsp…

    Linux干货 2015-05-18
  • 第六章:文本处理工具

    第六章:文本处理工具 文本查看命令(cat) 分页查看文件(more) 文本查看上下翻页(less) 显示头部(head) 显示尾部(tail) 按列抽取文本cut 合并文件paste 收集文本统计数据wc 文本排序sort 删除重复uniq 比较文件diff 复制对文件改变patch 文本搜索工具grep egrep 及扩展的正则表达式 作业: 第六章:文…

    Linux干货 2016-08-10
  • Linux设备驱动Hello World程序介绍

    by Valerie Henson07/05/2007 (译者注:本文的例子是只能在linux的2.6内核下使用的,2.6以上的内核,译者没有做过实验,2.4是要修改make文件才能运行。) 本文的出处:这里 自古以来,学习一门新编程语言的第一步就是写一个打印“hello world”的程序(可以看《hello world 集中营》这个帖子供罗列了300个“…

    Linux干货 2015-04-01