加密解密基础及openssl构建私有CA初步

方今社会,互联网的普及给我们的生活带来了极大的便利,但任何事物都有其两面性:窗户打开了,阳光和新鲜的空气进来了,苍蝇也进来了。如何在利用互联网带来便利的同时,又尽量规避其风险,保护自己网络通信中信息的安全及私密,成为了一个热门话题,下面本文将主要探讨两个方面的问题,不当之处还请各位前辈不吝斧正。

(一)加密解密基础

首先要搞清楚的一个问题是,我们平时的网络通信存在哪些风险呢?目前互联网上常见的攻击方式有两种:主动攻击和被动攻击。主动攻击包括报文伪装、重复、消息篡改、拒绝服务等;被动攻击主要是监听等。

基于对抗这种种攻击的目的,我们就需要对自己在网络通信中的数据进行加密,常见的加密方式有三种:对称加密、公钥加密和单向加密。

对称加密:加密和解密使用同一个密钥

依赖于:算法和密钥

因为算法可以公开,所以其安全性依赖于密钥,而非算法

常见算法:

DES:(Data Encryption Standard),使用56bits密钥

3DES

AES:(Advanced Encryption Standard),可自定密钥长度,最长512bits

Blowfish

Twofish

IDEA

RC6

CAST5

特性:

1、加密、解密使用同一密钥;

2、将明文分隔成固定大小的块,逐个进行加密;

缺陷:

1、密钥过多

2、密钥分发难

非对称加密(公钥加密):密钥成对儿出现,公钥从私钥中提取而来

公钥:public key--公开给所有人获取

私钥:secret key--仅允许个人使用

常见算法:

RSA

DSA:仅能做数字签名,用于身份认证

ELGamal

特性:

1、使用公钥加密的数据,只能使用与此公钥配对儿的私钥解密;反之亦然;

2、密钥长度较大,最短512bits,常见2048bits、4096bits;

3、常用于数字签名和密钥交换;

用处:

身份认证:私钥拥有者用自己的私钥加密的数据,只要能用其公钥解密,即可认证其身份

密钥交换:与被通信方通信前,首先获取对方的公钥,自己生成一个加密密码,用对方的公钥加密,并发给对方--用于密钥交换

数据加密:因加密速度太慢(比对称加密慢3个数量级0,所以很少用于数据加密

单向加密:用于提取数据特征码

依赖于算法

特性:

1、定长输出:无论原来数据大小,加密结果的长度一样;

2、雪崩效应:原始数据的微小变化,将会导致结果的巨大变化;

3、不可逆;

常见算法:

MD5:128bits定长输出

SHA1:160bits定长输出

SHA256

SHA384

SHA512

CRC32:循环冗余校验码

用处:

数据完整性校验

由上述三种加密方式的特性我们可以知道,在网络通信中,我们主要借助于对称加密来加密我们的通信数据,借助于公钥加密来完成对称加密密钥的交换及身份认证,借助于单向加密来验证数据的完整性,那么一次完整的加密通信过程应该如下:

发送者:

1、使用单向加密算法提取生成数据的特征码;

2、使用自己的私钥加密特征码附加在数据后面;

3、生成用于对称加密的临时密钥;

4、用此临时密钥加密数据和已经使用私钥加密后的特征码;

5、使用接收方的公钥加密此临时密钥,附加在对称加密后的数据后方;

接收方:

1、使用自己的私钥解密加密的临时密钥;从而获得对称密钥;

2、使用对称密钥解密对称加密的数据和私钥加密的特征码密文;获得数据和特征码密文;

3、使用发送方的公钥解密特征码密文,从而获得从计算生成的特征码;

4、使用与对方同样的单向加密算法计算数据的特征码,并与解密而来的进行比较;

上述加密方式就基本保障了整个通信过程的安全性,但是不知各位有没有发现,其中有一个极大的漏洞:我们如何确保自己获得的对方的公钥是安全合法的呢?由此我们要引入PKI和CA的概念。

1、PKI

PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范;包含四个部分:签证机构(CA)、注册机构(RA)、证书吊销列表(CRL)和证书存取库。

2、CA

CA是PKI系统中通信双方都信任的实体,被称为可信第三方(Trusted Third Party,简称TTP),是整个PKI组成的基石和灵魂。目前其证书版本为x509的v3版,格式如下图所示:

(二)使用openssl命令构建私有CA

openssl命令初解

1、使用openssl命令生成密钥对儿

2、openssl命令的配置文件及工作目录

使用openssl构建私有CA及证书签发、吊销流程

    

   前期准备:构建私有CA

 

  

  

证书签发及吊销流程

   

   

   

   

   

   

时间: 2024-10-07 11:26:02

加密解密基础及openssl构建私有CA初步的相关文章

加密/解密&利用OpenSSL构建私有CA

在互联网安全及个人隐私状况日益严峻的今天,加密技术变得尤为重要并且不可或缺.在密码雪中,加密是指将明文信息隐匿起来,使之在缺少特殊信息时不可读.本文所讲的主要是在互联网传输数据时所用的加密方式.我们都知道OSI&TCP/IP网络参考模型,通常我们会把这两个模型分为通信子网和资源子网两部分,但是在构建网络的初期,信息从发送端送达到接受端都非常困难所以在设计模型之初并没有考虑过多的安全因素,以至于通信子网和资源子网都没有涉及到数据加密的内容.为了解决这个问题,网景公司在资源子网和通信子网之间添加了半

使用Openssl构建私有CA

使用Openssl构建私有CA Openssl是SSL的开源实现,是一种安全机密程序,主要用于提高远程登录访问的安全性.也是目前加密算法所使用的工具之一,功能很强大. Openssl为网络通信提供安全及数据完整性的一种安全协议,包括了主要的密码算法.常用的密钥和证书封装管理功能(CA)以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用,例如我们将会使用Openssl实现私有CA,并实现证书颁发. OpenSSL:SSL的开源实现 libcrypto:通用加密库,提供了各种加密函数 lib

使用Openssl 构建私有CA

环境准备:  一.准备两台测试机,CA服务器ip地址是192.168.10.103,证书申请者ip是192.168.10.120  二.确保Linux主机以安装openssl软件包,可以使用rpm查看  三.确保有openssl加密功能组件: openssl(多功能命令工具).libcrypto(公共加密库).libssl(SSL协议的实现) Openssl构建私有CA:  一. 构建私有CA:      1.生成私有秘钥 命令解释: # (umask 077; openssl   genrsa

利用OpenSSL构建私有CA

实验环境: CentOS release 6.6(Final)  两台 IP地址: 服务器端:172.16.31.3 客户端:172.16.31.2 查看系统书否已安装openSSL执行命令"rpm –qa openssl" [[email protected] ~]# rpm -qa openssl openssl-1.0.1e-30.el6.x86_64 OpenSSL本身是一种ssl的开源方式用以实现https的数据加密传输,但OpenSSL的功能绝不仅限于此,OpenSSL提供

Linux之加密解密基础、openssl及CA基础应用

加密解密基础简介 数据在网络中传输过程中要保证三个要点: (1)数据的完整性:防止数据在传输过程中遭到未授权用户的破坏或篡改 (2)数据的机密性:防止文件数据泄漏给未授权用户从而让其利 (3)数据的可用性:保证授权用户能按需访问存取文件数据 因此加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密).加密技术包括两个元素:算法和密钥.算法是将普通的信息或者可以理解的信息与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来

加密、解密,以及OpenSSL建立私有CA

概述: 理论部分主要介绍了: 对称加密.非对称加密.单向加密.密钥交换.CA.PKI 操作部分主要有: 对称加密.非对称加密.单向加密的实现,已经openssl常用功能,生成密码.生成随机数已经使用openssl创建私有CA 系统环境说明: [[email protected] ~]# cat /etc/redhat-release  CentOS release 6.6 (Final) [[email protected] ~]# uname -rm 2.6.32-504.el6.x86_64

linux网络数据传输的加密,解密以及基于openssl的私有CA的建立

网络数据传输的安全性是计算机通信领域的重要课题,数据加密就是保证数据安全性的主要方法.所谓数据加密,即是通过某种算法和秘钥对数据明文进行处理,从而得到密文的过程.计算机网络通信过程中的加密形式主要有以下几种: 1,对称加密,用同一个密钥对信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密.对称加密算法的优点是算法公开.计算量小.加密速度快.加密效率高,但秘钥有时会很多,难以管理.而且秘钥交换又是一个难以解决的问题. 常见算法: DES:Data Encryption Standard,

加密学原理及openssl,私有CA搭建

公钥加密:密钥是成对儿出现    公钥:公开给所有人:pubkey    私钥:自己留存,必须保证其私密性:secret key    特点:用公钥加密的数据,只能使用与之配对儿的私钥解密:反之亦然:实现:    数字签名:主要在于让接收方确认发送方身份:用自己的私钥加密:    密钥交换 方式(IKE): ①.发送方用对方的公钥加密一个对称密钥,并发送给对方: ②.DH算法,不会在网络上发送秘钥,所以就算破解了也拿不到秘钥,想了解DH算法请google 安全通信过程解析:(假设A和B要安全传输

openssl的加密、解密以及构建私有CA

SSL.TLS介绍: SSL:安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密. TLS:安全传输层协议(Transport Layer Security)用于在两个通信应用程序之间提供保密性和数据完整性.该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake).较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面,与具体