加密解密基础、PKI及SSL、创建私有CA

基本概念:

加密作为数据安全保障的一种方式,它不是近代才产生的,历史已经相当久远;加密算法就是加密的方法.

数据加密解密:

数据加密的基本过程就是对原来为明文的文件或数据按特定算法进行处理,使其成为不可读的一段代码,通常称为"密文",使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程

为什么需要对数据加密:加密在网络上的作用就是防止有用或私有化信息在网络上被拦截和窃取;比如个人的银行账户信息,电话号码等泄露,引来的后果可想而知。

明文和密文

密码学中,明文是指传送方想要接收方获得的可读信息。
明文经过加密所产生的信息被称为密文,而密文经过解密而还原得来的信息被称为明文。

加密技术通常分为两大类:"对称式"和"非对称式"

对称式加密:

对称加密就是将信息使用一个密钥进行加密,解密时使用同样的密钥,同样的算法进行解密。

特点:1.速度快,一般用于加密数据

2.将原始数据分割成固定大小的块,逐个进行加密;

常用的加密算法:

DES(56bits):数据加密标准

3DES

AES(128bits):高级加密标准

Blowfish 对称加密

Twofish

IDEA

RC6

CAST5

Serpent

非对称式加密:

加密和解密用的钥匙不同,通常一个是公开的,称为公钥,另一个保密,称为私钥。

加密和解密所使用的不是同一个密钥,通常有两个密钥,称为"公钥"和"私钥",它们两个必需配对使用,否则不

能打开加密文件。这里的"公钥"是指可以对外公布的,"私钥"则不能,只能由持有人一个人知道。它的优越性就

在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能

被别窃听到。而非对称式的加密方法有两个密钥,且其中的"公钥"是可以公开的,也就不怕别人知道,收件人解

密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。

特点:相对于对称加密速度要慢,

算法:RSA,EIGmal,DSA

单向加密:

一般不用于加密,而是提取数据的特征码。

特点:不可逆,通过算法计算从数据中提取到特征码,不能由特征码算出源数据

算法:

md5:128bits

sha1:160bits

sha512:512bits

---------------------------------------------------------------------------------------------------------------------------

PKI概念:

公开密钥基础建设(英语:Public
Key Infrastructure,缩写:PKI)

是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以

及撤销数字证书。

CA:

数字证书认证机构(英语:Certificate
Authority,缩写为CA),也称为电子商务认证中心、电子商务认证授权

机构,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的

合法性检验的责任。

CA 也拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA
的签字从而信任
CA ,任何人都可以得到

CA 的证书(含公钥),用以验证它所签发的证书。

如果用户想得到一份属于自己的证书,他应先向 CA
提出申请。在 CA 判明申请者的身份后,便为他分配一个公

钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。

如果一个用户想鉴别另一个证书的真伪,他就用
CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证

书就被认为是有效的。证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。

证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等。

------------------------------------------------------------------------------------------------------------------------------------------

SSL介绍:

安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密。

SSL是Netscape于1994年开发的,后来成为了世界上最著名的web安全机制,所有主要的浏览器都支持SSL协议。

目前有三个版本:2、3、3.1,最常用的是第3版,是1995年发布的。

SSL协议的三个特性

① 保密:在握手协议中定义了会话密钥后,所有的消息都被加密。

② 鉴别:可选的客户端认证,和强制的服务器端认证。

③ 完整性:传送的消息包括消息完整性检查(使用MAC)。

-------------------------------------------------------------------------------------------------------------

Openssl创建私有CA:

---------------------------------------------------------------------------

CA服务器自签名

创建私有CA服务器

1.生成密钥对

[[email protected] ~]# cd /etc/pki/CA
[[email protected] CA]#  (umask
077; openssl genrsa -out private/cakey.pem 2048)

2.CA服务器自签名证书

[[email protected] CA]#
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365
You are about to be
asked to enter information that will be incorporated
into your
certificate request.
What you are about
to enter is what is called a Distinguished Name or a DN.
There are quite a
few fields but you can leave some blank
For some fields
there will be a default value,
If you enter ‘.‘,
the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN   #国家
State or Province Name (full name) []:Bei Jing  
#省份
Locality Name (eg, city) [Default City]:Bei Jing  
#城市
Organization Name (eg, company) [Default Company Ltd]:RA Company  
#公司
Organizational Unit Name (eg, section) []:IT  
#部门
Common Name (eg, your name or your server‘s hostname)
[]:ca.server.com   #主机名
Email Address []:[email protected]    #管理员邮箱

-new: 生成新的证书签署请求;
-x509:直接输出自签署的证书文件,通常只有构建CA时才这么用;
-key:私钥文件路径,用于提取公钥;
-days N: 证书有效时长,单位为“天”;
-out:输出文件保存位置;

3.创建需要的文件:

 
[[email protected] CA]# touch index.txt serial crlnumber  
#分别创建 :索引文件,证书序号,吊销证书序号
[[email protected] CA]# echo 01 >serial  #创建证书序列号 
-----------------------------------------------------------------------------------

1.客户机申请证书步骤

1 生成私钥;

[[email protected] tmp]#
(umask 077; openssl genrsa -out httpd.key 1024)
Generating RSA
private key, 1024 bit long modulus
........++++++
......++++++
e is 65537 (0x10001)
-------------------------------------------------------

2.生成证书签署请求:

[[email protected] tmp]#
openssl req -new -key httpd.key -out httpd.csr
You are about to be
asked to enter information that will be incorporated
into your
certificate request.
What you are about
to enter is what is called a Distinguished Name or a DN.
There are quite a
few fields but you can leave some blank
For some fields
there will be a default value,
If you enter ‘.‘,
the field will be left blank.
-----
Country Name (2
letter code) [XX]:CN
State or Province
Name (full name) []:China
Locality Name (eg,
city) [Default City]:Shenzhen
Organization Name
(eg, company) [Default Company Ltd]:IT company
Organizational Unit
Name (eg, section) []:IT ops
Common Name (eg,
your name or your server‘s hostname) []:ca.server.com
Email Address
[]:[email protected]
 
Please enter the
following ‘extra‘ attributes
to be sent with your
certificate request
A challenge password
[]:
An optional company
name []:

3.将请求文件发往CA服务器;

[[email protected] tmp]#
scp httpd.csr 10.76.249.100:/tmp/
The authenticity of
host ‘10.76.249.100 (10.76.249.100)‘ can‘t be established.
RSA key fingerprint
is 52:f6:17:d0:d7:cf:42:96:11:ae:45:ba:2e:fa:0f:61.
Are you sure you
want to continue connecting (yes/no)? yes
Warning: Permanently
added ‘10.76.249.100‘ (RSA) to the list of known hosts.
[email protected]‘s
password:
httpd.csr                                                                   
100%  708     0.7KB/s  
00:00   
 
-----------------------------------------------------------------------------------------

CA服务器给客户机签署证书:

CA服务器签证

[[email protected] tmp]# openssl ca -in httpd.csr -out httpd.crt -days 365
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 2 (0x2)
        Validity
            Not Before: Sep 24 15:47:13 2015 GMT
            Not After : Sep 23 15:47:13 2016 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = Bei Jing
            organizationName          = RA Company
            organizationalUnitName    = IT company
            commonName                = ca.server.com
            emailAddress              = [email protected]
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                93:7C:A2:62:5F:31:28:BC:BC:EA:D9:52:D1:3E:12:09:7E:DF:62:65
            X509v3 Authority Key Identifier: 
                keyid:3D:30:B1:5B:BF:68:40:53:4F:93:E0:74:75:AF:16:1F:1D:13:E5:4D
Certificate is to be certified until Sep 23 15:47:13 2016 GMT (365 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

将签证好的httpd.crt证书发给客户端

------------------------------------------------------------------------------------------------------------------------------

吊销证书

(4) 吊销证书

(a) 客户端获取要吊销的证书的serial

#
openssl x509 -in /PATH/FROM/CERT_FILE -noout -serial -subject

(b) CA

先根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致;

吊销证书:

#
openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem

(c) 生成吊销证书的编号(第一次吊销一个证书)

#
echo 01 > /etc/pki/CA/crlnumber

(d) 更新证书吊销列表

#
openssl ca -gencrl -out thisca.crl

查看crl文件:

#
openssl crl -in /PATH/FROM/CRL_FILE.crl -noout -text

时间: 2024-10-28 20:04:08

加密解密基础、PKI及SSL、创建私有CA的相关文章

linux关于加密解密技术基础、KPI及创建私有CA

linux加密和解密技术基础.KPI及创建私有CA 一.加密方式分为:1.对称加密:加密和解密使用同一个密钥:      对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,在对称加密算法中常用的算法有:DES. 3DES.TDEA.AES.    Blowfish.Twofish          IDE.ARC6.CAST5等.    特性:      1.加密.解密使用同一个密钥:      2.强原始数据分割成固定大小的块,逐个进行加密

加密解密技术基础、PKI、及创建私有CA

一.加密解密技术基础 (一) 安全的目标:      1.保密性,confidentiality      2.完整性,integrity         系统完整性,数据完整性      3.可用性,avaliability(二) 攻击类型:     1. 威胁保密性的攻击:窃听.通信量分析     2. 威胁完整性的攻击:更改.伪装.重放.否认     3. 威胁可用性的攻击:拒绝服务(DoS)(三) 解决方案:      技术(加密和解密).服务(用于抵御攻击的服务以及为了实现上述目标而特

Linux学习笔记—— 基于CentOS创建私有CA及应用

这篇文章应该是有史以来,历时最长最纠结的一次,毫不夸张的讲总结到词穷的地步了.现在每次一到理论知识梳理的过程,总有种茶壶里的饺子,稍微懂点但有说不出来,哎!这辈子估计当不了老师了,话不多说还得撸起袖子接着写不是. 第一章.详细描述一次加密通讯的过程,结合图示最佳. HTTPS在基于SSL建立会话前,会经历4次握手过程以获取会话密钥.流程如下: 图示1 HTTPs 通讯流程详细说明 1. 客户端请求(ClientHello) 客户端向服务器发送会话请求,这一步称为ClientHello.Clien

linux加密解密基础、PKI及SSL、创建私有CA

1.加密解密基础:          数据在网络中传输过程中要保证三个要点: (1)数据的完整性:防止数据在传输过程中遭到未授权用户的破坏或篡改.          (2)数据的机密性:防止文件数据泄漏给未授权用户从而让其利用          (3)数据的可用性:保证授权用户能按需访问存取文件数据 2.常见的加密技术: 对称加密  公钥加密  单向加密          (1)对称加密:加密解密使用同一个密钥,将原始数据分割成固定大小的块,逐个进行加密 加密算法:               

加密和解密技术基础、PKI及创建私有CA

一.数据加密和解密概述 数据加密和解密是一门历史悠久的技术,从古代就已经出现了,一直发展到当代.其中,数据加密的目的有很多,可以是为了保证本地数据存取的安全性,可以是为了保证数据流在网络传输过程中的保密性,也可以是为了验证数据的完整性,还可以通过数据加密来实现密钥的交换等. 数据加密依赖于某种加密算法和加密密钥,而数据解密则依赖于某种解密算法和解密密钥.而在当代加密解密技术中,加密密钥既可以与解密密钥相同,也可以和解密密钥不同,这取决于使用什么方法进行加解密. 二.安全的目标 就信息传输过程来说

加密解密技术基础、PKI及创建私有CA

加密解密技术基础.PKI及创建私有CA 一.背景 随着互联网的快速发展,整个互联网中涌入了大量的用户,正所谓林子大了什么鸟都有,随之而来的就是数据的安全性得不到保障:因此就有了对数据的加密及解密. 二.安全的目标 1.目标: 信息加密的目的是为了确保所传输的信息具有保密性,不被其他人所劫持后篡改信息:如果被篡改后接收方也应该能知道,而且也应该确保没被劫持的信息接收方可以读取. 2.数据在网络中传输过程中要保证三个要点: (1)数据的完整性:防止数据在传输过程中遭到未授权用户的破坏或篡改. (2)

加密解密技术基础,PKI以及创建私有CA

加密解密技术基础,PKI以及创建私有CA 加密算法和协议:1.对称加密:加密和解密使用同一个密钥 DES:Data Encryption Standard; 3DES:Triple DES; AES:Advanced Encryption Standard; (128bits, 192bits, 256bits, 384bits) Blowfish Twofish IDEA RC6 CAST5 特性: (1)加密.解密使用同一个密钥: (2)将原始数据分割成为固定大小的块,逐个进行加密: 缺陷:

加密解密技术基础,pki以及自建私有CA

网络安全议题,几乎是业内人士避不开的话题,要做到网络安全,主要旨在三个方面的目标:保密性,完整性和可用性.本文在此主要对基础的加密和解密技术,ssl协议,以及ssl协议的实现实例做一些简要描述和梳理. 加密和解密: 目前对于网络安全的攻击,很大部分集中在"威胁保密性的攻击",也就是我们进场所说的数据泄露,加密和解密是目前最为直观的解决保密性问题的手段. 几种加密方式: 对称加密: 特点:加密和解密使用同一个密钥:将数据分割成多个固定大小的块,逐个加密: 缺点:密钥过多(对于服务器端,需

加密解密基础及私有CA的实现-2015092801

1. 加密解密简述 2.加密算法 3.加密解密步骤 4.使用openssl自建私有CA 加密解密基础: 由于互联网的数据传输基本上都是明文的(如ftp.http.telnet等),而往往有些数据在互联网传输对于传输方来讲,确实涉及隐私或是一些敏感的内容不想让互联网上其他人看到,因此,引入了加密的机制. 最早起的加密,采用移位的方式对数据进行加密,如数据数"abcd",其对应的在互联网上传输的内容是"efgh".后来的加密方式是采用"密码对照本",