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

网络数据传输的安全性是计算机通信领域的重要课题,数据加密就是保证数据安全性的主要方法。所谓数据加密,即是通过某种算法和秘钥对数据明文进行处理,从而得到密文的过程。计算机网络通信过程中的加密形式主要有以下几种:

1,对称加密,用同一个密钥对信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高,但秘钥有时会很多,难以管理。而且秘钥交换又是一个难以解决的问题。

常见算法:

DES:Data Encryption Standard, 56bits

3DES:

AES: Advanced Encrpytion Standard, (128bits, 192, 256, 384, 512bits)

Blowfish

Twofish

IDEA

RC6

CAST5

2,非对称加密,对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。

非对称加密与对称加密相比,其安全性更好:对称加密的通信双方使用相同的秘钥,如果一方的秘钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对秘钥,一个用来加密,一个用来解密,而且公钥是公开的,秘钥是自己保存的,不需要像对称加密那样在通信之前要先同步秘钥。

非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

其主要算法有:RSA,DSA,ELGamal等

3, 单向加密:即数据的特征码如md5等;其主要特性有:

定长输出:无论原来的数据是多大级别,其加密结果长度一样;

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

不可逆:

对于非对称加密方式来说,公钥的分发就成了一个重要的问题。基于CA签证机构的数字证书认证技术就是解决公钥发布的方式。下面就以私有CA证书的制作分发过程来说明一下数字证书认证的具体流程:

在服务端:

# (umask 077;openssl genrsa -out /etc/pki/CA/private/cacert.key 2048)

# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 1000

# touch index.txt

# echo "01" > serial

在客户端:

#(umask 077;openssl genrsa -out /etc/httpd/httpd.key 2048)

#openssl req -new -key /etc/httpd/httpd.key -out /etc/httpd/httpd.csr

将 httpd.csr 传到服务端签名:

在服务端:

# openssl ca -in /root/httpd.csr -out /root/httpd.crt -days 1000

将签好的证书,httpd.crt 传回到客户端

时间: 2024-12-28 10:14:45

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

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

方今社会,互联网的普及给我们的生活带来了极大的便利,但任何事物都有其两面性:窗户打开了,阳光和新鲜的空气进来了,苍蝇也进来了.如何在利用互联网带来便利的同时,又尽量规避其风险,保护自己网络通信中信息的安全及私密,成为了一个热门话题,下面本文将主要探讨两个方面的问题,不当之处还请各位前辈不吝斧正. (一)加密解密基础 首先要搞清楚的一个问题是,我们平时的网络通信存在哪些风险呢?目前互联网上常见的攻击方式有两种:主动攻击和被动攻击.主动攻击包括报文伪装.重复.消息篡改.拒绝服务等:被动攻击主要是监听

Linux基于OpenSSL实现私有CA构建

前言 随着互联网的迅猛发展,网络通信已经成为传递信息的主要途径.而通信时的数据传输大部分却是明文传输的,在网络这个不安全的环境下,如果没有一套数据加密机制,就会导致敏感信息和重要数据泄露,引起不可估量的损失.而OpenSSL正好弥补了这一缺憾,那什么是OpenSSL呢?OpenSSL是一套强大的具有加密功能的组件,它包含libcrypto(公共加密库).libssl(SSL协议的实现)和openssl(多功能命令工具),因其开源思想,现已广泛应用于数据通信加密领域.OpenSSL还可在局域网内构

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

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

加密解密原理和基于Openssl构建自有CA

一.加密解密过程描述: 互联网数据传输需要实现:数据隐秘性,数据完整性,身份认证和密钥交换: 例如:Alice向Bob传输数据: 数据加密过程: 1.Alice生成原数据,用单向加密算法计算出原数据的特征码: 2.用自己的私钥加密原数据特征码并附加在原数据的后面: 3.用对称加密算法为整个数据加密生成对称加密密匙: 4.用Bob提供的公钥加密对称加密密匙,并附加在加密的数据后面一并发送给Bob. 数据解密过程: 1.Bob接收到数据,用自己的私钥解密对称加密密匙:确定数据接收方Bob的身份: 2

Linux运维之加密/解密原理、自建CA及搭建基于https的Apache

上几次博文我们具体讨论了Apache(httpd)的基础知识: HTTP协议基础(参见博文:http://sweetpotato.blog.51cto.com/533893/1656137) Apache2.2的基本配置(参见博文:http://sweetpotato.blog.51cto.com/533893/1657668) Apache2.2的虚拟主机(参见博文:http://sweetpotato.blog.51cto.com/533893/1660229) 本次博文我们具体讨论下加密/

加密、解密原理和openssl自建CA过程详解

一.加密和解密相关知识简介 1.信息安全标准 NIST(National Institute of Standards and Technology)美国国家标准与技术研究院,制定了网络信息安全与保密的三个要素: 保密性(confidentiality):信息不泄露给非授权用户.实体或过程,或供其利用的特性.(一般包括数据保密性.隐私性.) 完整性(Integrity):数据未经授权不能进行改变的特性.即信息在存储或传输过程中保持不被修改.不被破坏和丢失的特性.(一般包括数据完整性.系统完整性.

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

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

加密解密数据安全1 OpenSSL 安装

加密解密数据安全1  OpenSSL 安装 OpenSSL官方网站:https://www.openssl.org/source/ 解压,编译,安装 解压OpenSSL [email protected]:~ $ cd openssl/ [email protected]:~/openssl $ tar xf openssl-1.1.0 [email protected]:~/openssl $ cd openssl-1.1.0/ 编译环境检查 [email protected]:~/opens

加密、解密原理和openssl自建CA

openssl协议简介 SSL(Secure Socket Layer)是netscape公司提出的主要用于web的安全通信标准.一般情况下的网络协议应用中,数据在机器中经过简单的由上到下的几次包装,就进入网络,如果这些包被截获的话,那么可以很容易的根据网络协议得到里面的数据. SSL就是为了加密这些数据而产生的协议,可以这么理解,它是位与应用层和TCP/IP之间的一层,数据经过它流出的时候被加密,再往TCP/IP送,而数据从TCP/IP流入之后先进入它这一层被解密,同时它也能够验证网络连接俩端