OpenSSL&搭建私人CA

TLS:Transport Layer Security,以及前身安全套接层(Secure Sockets Layer ,SSL )是一种安全协议,目的是为互联网通信,提供安全及数据完整性保障。网景公司(Netscape)在1994年推出首版Web浏览器,网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布了第一版TLS标准文件。随后又公布了RFC 5246(2008年8月)与RFC 6176(2011年3月)。TLS及SSL在服务器和客户机两端可同时被支持,目前已成为互联网上保密通讯的工业标准。

TLS协议是可选的,所以如果需要使用就必须配置客户端和服务器,有两种主要方式实现这一目标:一个是使用统一的TLS协议端口号(例如:用于HTTPS的端口443);另一个是客户端请求服务器连接到TLS时使用特定的协议机制(例如:邮件、新闻协议和STARTTLS)。一旦客户端和服务器都同意使用TLS协议,他们通过使用一个握手过程协商出一个有状态的连接以传输数据。通过握手,客户端和服务器协商各种参数用于创建安全连接:

当客户端连接到支持TLS协议的服务器要求创建安全连接并列出了受支持的密码组合握手开始。

服务器从该列表中决定加密和散列函数,并通知客户端。

服务器发回其数字证书,此证书通常包含服务器的名称、受信任的证书颁发机构(CA)和服务器的公钥。

客户端确认其颁发的证书的有效性。

为了生成会话密钥用于安全连接,客户端使用服务器的公钥加密随机生成的密钥,并将其发送到服务器,只有服务器才能使用自己的私钥解密。

利用随机数,双方生成用于加密和解密的对称密钥。这就是TLS协议的握手,握手完毕后的连接是安全的,直到连接关闭.

如果上述任何一个步骤失败,TLS握手过程就会失败,并且断开所有的连接。

密码算法和协议:

  • 公钥私钥非对称秘钥保密系统:RSA,Diffie-Hellman,DSA
  • 对称秘钥保密系统:RC2,RC4,IDEA,DES,Triple DES,AES
  • 单向散列函数:MD5,SHA1,以及SHA256

对称加密:加密和解密使用同一个密钥,安全性依赖于秘钥,而非算法。

非对称加密:公钥从私钥中提取而来;使用公钥加密的数据,只能使用与此公钥配对儿的私钥解密;反之亦然。它的作用:

  • 身份认证:私钥拥有者用自己的私钥加密的数据,只要用其公钥能解密,即可认证其身份;
  • 密钥交换:与被通信方通信之前,首先获取到对方的公钥,自己生成一个加密密码,用对方的公钥加密,并发送给对方。
  • 数据加密。

非对称加密的特性:

  • 密钥长度较大,例如512bits, 2048bits, 4096bits
  • 加密解密分别使用密钥对儿中的密钥相对进行
  • 常用于数字签名和密钥交换

单向加密:通过单向散列函数提出数据的特征码。它的用处是保证数据的完整性。它的特性是:

  • 定长输出:无论原来的数据是多大级别,其加密结果长度一样
  • 雪崩效应:原始数据微小改变,将会导致结果巨大变化
  • 不可逆

数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。

数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式。数字证书是一种权威性的电子文档,可以由权威公正的第三方机构,即CA(例如中国各地方的CA公司)中心签发的证书,也可以由企业级CA系统进行签发。

数字证书的颁发:数字证书颁发过程一般为:用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。数字证书由独立的证书发行机构发布。数字证书各不相同,每种证书可提供不同级别的可信度。可以从证书发行机构获得您自己的数字证书。

数字证书的授权机构:CA机构,又称为证书授证(Certificate Authority)中心,作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。

Openssl:

接下来我们使用openss对文件进行加密操作。

以上就是openssl的基本命令,算法及工具。

例1.使用openssl对/etc/passwd文件进行加密

[[email protected] ~]openssl enc -e -des-ede3 -a -salt -in  /etc/passwd -out /etc/passwd.code

参数说明:-e指定加密的Cipher ,-a代表文本输出,-salt加入系统随机生成的东西,-in代表要进行加密的文件,-out文件加密后输出的文件路径。

例2.解密

生成用户密码:

[[email protected] ~]openssl passwd -1 -salt 8

Password:

$1$8$v2p0ZaQFeA2Gn2gboYZUK/

[[email protected] ~]

生成随机数:

[[email protected] ~]openssl rand -base64 8

+mxa+4hTcXo=

公钥加密:

生成秘钥对:# openssl genrsa -out /PATH/TO/PRIVATE_KEYFILE NUM_BITS

注意:在bash命令行上放在小括号中执行的命令,其实是通过打开一个子shell进程进行的;

从私钥中手动提取公钥:# openssl rsa -in /PATH/FROM/PRIVATE_KEY_FILE -pubout

随机数生成器:

/dev/random:仅从熵池中返回随机数,当熵池中的随机数耗尽时,取随机数的进程将会被阻塞

/dev/urandom:先从熵池中取随机数,当熵池中的随机耗尽时,就通过伪随机数生成器生成随机数

OpenSSL&搭建私人CA

时间: 2024-10-14 00:32:49

OpenSSL&搭建私人CA的相关文章

CentOS 6使用openssl搭建根CA

一.简介 OpenSSL是一款开源的加密工具,在Linux环境下,我们能够利用它来搭建一个CA来实现证书的发放,可以用于企业内部使用的加密工具,下面是用OpenSSL这个强大的工具,在Linux下构建一个CA,来实现证书管理. 二.搭建 1.我们首先看一下CA的目录结构 [[email protected] ~]# tree /etc/pki/CA /etc/pki/CA ├── certs ├── crl ├── newcerts └── private 2.切换到/etc/pki/CA/目录

openssl搭建私有CA

数据加密.CA.OpenSSL SSL security socket layer,安全套接字层 openssl (软件) 加密算法和协议: 对称加密:加密和解密使用同一密钥:(依赖于算法和密钥,其安全性依赖于密钥而非算法) 常见算法:des  3des(常用)  idea  cast5 特性:加密.解密使用同一密钥:将明文分隔成固定大小的块,逐个进行加密 缺陷:密钥过多和密钥分发 非对称加密: 密钥对儿:公钥(public key)和私钥(secret key) 公钥从私钥中提取而来,使用公钥

通过OpenSSL搭建私有CA及加密解密介绍

加密incode:对明文(可读懂的信息)进行翻译,使用不同的算法对明文以代码形式(密码)实施加密.该过程的逆过程称为 解密(descode),即将该编码信息转化为明文的过程 常见的加密算法和协议: 1.对称加密 2.公钥加密(非对称加密) 3.单向加密 4.认证协议 对称加密:加密和解密使用同一个密钥,依赖于,算法和密钥,其安全性依赖于密钥而非算法常见算法:DES.3DES. AES.Blowfish.IDEA.Twofish.CAST5.Rc6 特性:1)加密解密使用同一密钥         

OpenSSL <搭建私有CA>

CA  Server : el7-2 (172.16.1.51)  ,颁发证书 CA  Client  : el7-1 (172.16.1.52)  ,申请证书 1)CA自签证书 ###################生成私钥 [[email protected]   ~]# openssl genrsa  -out  /etc/pki/CA/private/cakey.pem 2048 Generating   RSA private key, 2048 bit long modulus ..

OpenSSL以及私有CA的搭建

首先我们肯定会问什么是OpneSSL,以及OpenSSL有什么用?当让这不仅是刚接触Linux的我想知道,相信大多数人和我一样也非常想知道,因为OpenSSL是linux上基础的服务之一,了解它的应用可以帮助我们更好的了解linux.那么我们先了解下什么是OpenSSL已经它有什么用. 一.OpenSSL及其应用 首先我们要了解SSL是什么?SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输.Netscape公司在推出第一个Web浏览

使用OpenSSL 自建CA 以及颁发证书

OpenSSL是套开放源代码的软件库包,实现了SSL与TLS协议.其主要库是以C语言所写成,实现了基本的加密功能. OpenSSL可以运行在绝大多数类Unix操作系统上(包括Solaris,Linux,Mac OS X与各种版本的开放源代码BSD操作系统),OpenVMS与 Microsoft Windows.它也提供了一个移植版本,可以在IBM i(OS/400)上运作. 此软件是以Eric Young以及Tim Hudson两人所写的SSLeay为基础所发展的,SSLeay随着两人前往RSA

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

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

搭建私有CA

一.实验目的 搭建私有CA并使其可以实现公司内部的的签名服务. 二.实验环境: 系统架构:Centos7(服务器).Centos6(需要申请证书的服务器)需要的软件包:openssl.openssl-libs.libssl 三.配置文件解析 搭建CA需要/etc/pki/tls/openssl.cnf文件,该配置文件 由openssl-libs生成 该配置文件中我们主要关注一下这些选项,我只列出了需要关注的,源配置文件不关注的不要修改 [ ca ] default_ca = CA_default

加密 解密过程详解及openssl自建CA  

            加密 解密过程详解及openssl自建CA 为了数据信息能够安全的传输要求数据要有一定的安全性那么数据的安全性包含哪些方面的特性呢?    NIST(美国信息安全署)做了如下的定义:    保密性:       1,数据的保密性 指的是数据或隐私不向非授权者泄漏                   2,隐私性  信息不被随意的收集    完整性:       1,数据的的完整性:信息或程序只能被指定或授权的方式改变不能被随意的             修改