加密解密技术基础,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)将原始数据分割成为固定大小的块,逐个进行加密;
        缺陷:
        (1)密钥过多;
        (2)密钥分发困难;

    2.公钥加密:密钥分为公钥与私钥

    公钥:从私钥中提取产生;可公开给所有人;pubkey
    私钥:通过工具创建,使用者自己留存,必须保证其私密性;secret key;
    特点:用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然;
    用途:
        数字签名:主要在于让接收方确认发送方的身份;
       密钥交换:发送方用对方公钥加密一个对称密钥,并发送给对方;
       数据加密
    算法:RSA, DSA, ELGamal
              DSS: Digital Signature Standard
            DSA:Digital Signature Algorithm

    3.单向加密:即提出数据指纹;只能加密,不能解密;

    特性:定长输出、雪崩效应;
       功能:完整性;
       算法:
             md5:Message Digest 5, 128bits
             sha1:Secure Hash Algorithm 1, 160bits
           sha224, sha256, sha384, sha512

    4.密钥交换: IKE(Internet Key Exchange)

    公钥加密
        DH(Deffie-Hellman)
               例如:   A:p, g
                         B:p, g
                         A: x--> p^x%g ==> B
                             A: (p^y%g)^x=p^yx%g
                             B: y--> p^y%g ==> A
                             B: (p^x%g)^y=p^xy%g

    5.一次加密通信过程:

    A: (1):128bit的特征码单向加密成数字摘要
    (2):将数字摘要和原文前面加上A的私钥
    (3):将A的私钥和特征码用对称加密
    (4)对称加密前面加上B的公钥
    B:(1):B用自己的私钥解密获得对称空间
    (2):用对称密钥解密加密内容
    (3):用A的公钥单向加密生成特征码
    (4):用此特征码和原来的比较是否一样

  • PKI以及SSL会话
    1. PKI:公钥基础设施
      签证机构:CA
      注册机构:RA
      证书吊销列表:CRL
      证书存取库
      X.509:定义了证书的结构以及认证协议标准
      版本号;序列号;签名算法ID;发行者名称;有效期限;主体名称;主体公钥;发行者的惟一标识;主体的惟一标识;扩展;发行者的签名
      2.SSL会话主要三步:
      客户端向服务器端索要并验正证书;
      双方协商生成“会话密钥”;
      双方采用“会话密钥”进行加密通信;

      SSL Handshake Protocol:
      第一阶段:ClientHello:
      支持的协议版本,比如tls 1.2;
      客户端生成一个随机数,稍后用户生成“会话密钥”
      支持的加密算法,比如AES、3DES、RSA;
      支持的压缩算法;
      第二阶段:ServerHello
      确认使用的加密通信协议版本,比如tls 1.2;
      服务器端生成一个随机数,稍后用于生成“会话密钥”
      确认使用的加密方法;
      服务器证书;
      第三阶段:
      验正服务器证书,在确认无误后取出其公钥;(发证机构、证书完整性、证书持有者、证书有效期、吊销列表)
      发送以下信息给服务器端:
      一个随机数;
      编码变更通知,表示随后的信息都将用双方商定的加密方法和密钥发送
      客户端握手结束通知;
      第四阶段:
      收到客户端发来的第三个随机数pre-master-key后,计算生成本次会话所有到的“会话密钥”;
      向客户端发送如下信息:
      编码变更通知,表示随后的信息都将用双方商定的加密方法和密钥发送;
      服务端握手结束通知;
  • 创建私有CA
    1.构建私有CA:
    在确定配置为CA的服务上生成一个自签证书,并为CA提供所需要的目录及文件即可
    步骤:
               (1)生成私钥:
                     (umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
                        ():作用域子shell进程
                (2) 生成自签证书;
                      openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655
                       -new:生成新证书签署请求;
                       -x509:生成自签格式证书,专用于创建私有CA时;
                       -key:生成请求时用到的私有文件路径;
                       -out:生成的请求文件路径;如果自签操作将直接生成签署过的证书;
                       -days:证书的有效时长,单位是day;
                (3)为CA提供所需的目录及文件;
                       mkdir  -pv  /etc/pki/CA/{certs,crl,newcerts}
                       touch  /etc/pki/CA/{serial,index.txt}
                       echo  01 > /etc/pki/CA/serial

    2.要用到证书进行安全通信的服务器,需要向CA请求签署证书

    步骤:(以nginx为例)
            (1) 用到证书的主机生成私钥;
                    mkdir  /etc/nginx/ssl
                    cd  /etc/nginx/ssl
                    (umask  077; openssl  genrsa -out  /etc/httpd/ssl/httpd.key  2048)
            (2) 生成证书签署请求
                      openssl req -new -key /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.csr -days 365
            (3) 将请求通过可靠方式发送给CA主机;
                      scp /etc/nginx/ssl/nginx.csr [email protected]:/tmp/
            (4) 在CA主机上签署证书;
                      openssl ca -in /tmp/nginx.csr  -out /etc/pki/CA/certs/nginx.crt -days 365
            (5)查看证书中的信息:
                     openssl  x509  -in /etc/pki/CA/certs/httpd.crt  -noout  -serial  -subject
                        [[email protected] /]# openssl x509 -in /etc/pki/CA/certs/nginx.crt -noout -
                        serial -subject
                         serial=01
                         subject=/C=CN/ST=Shanghai/O=cern/OU=devops/CN=devops.com

    3.吊销证书:
    步骤:

    
    (1) 客户端获取要吊销的证书的serial(在使用证书的主机执行):
                  openssl  x509  -in /etc/pki/CA/certs/nginx.crt  -noout  -serial  -subject
            (2) CA主机吊销证书:
                  先根据客户提交的serial和subject信息,对比其与本机数据库index.txt中存储的是否一致;
                         吊销:
                             openssl  ca  -revoke  /etc/pki/CA/newcerts/SERIAL.pem
                             其中的SERIAL要换成证书真正的序列号;
            (3) 生成吊销证书的吊销编号(第一次吊销证书时执行)
               echo  01  > /etc/pki/CA/crlnumber
            (4) 更新证书吊销列表
               openssl  ca  -gencrl  -out  thisca.crl 

原文地址:https://blog.51cto.com/14418331/2426210

时间: 2024-10-29 19:10:30

加密解密技术基础,PKI以及创建私有CA的相关文章

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

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

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

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

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

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

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

Linux基础中的加密.解密及openssl 数据为什么要加密?      由于互联网刚开始时使用的人非常少,在互联网中交流信息的人都比较"单纯"几乎没有安全问题:但随着互联网的快速发展,整个互联网中涌入了大量的用户,正所谓林子大了什么鸟都有,随之而来的就是数据的安全性得不到保障:因此就有了对数据的加密及解密. 安全的目标       信息加密的目的是为了确保所传输的信息具有保密性,不被其他人所劫持后篡改信息:如果被篡改后接收方也应该能知道,而且也应该确保没被劫持的信息接收方可以读取.

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

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

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

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

加密解密技术基础及PKI

为了保证网络通信安全,就对其数据进行加密和解密,涉及了密钥分发: 网警公司为http协议通信安全研发了一个库,放在应用层和传输层中间,这个库就叫ssl安全的套接字层,ssl是一个库,是公共功能,加密解密也是协议实现的: 只要应用层的程序在研发时加入了调用ssl这个库,在通信时就会自动完成加解密,实现后续网络通信: SSL: Secure Sockets Layer http --> ssl --> https http协议调用ssl后,就变成了https协议,两者实现方式差别很大,但是加密解密

加密解密技术基础以及公钥基础设施(PKI)

网络之间的通信通过传递报文的方式实现,在传递这些报文的过程中,为了保护报文内容不随意被窃取和修改,对报文进行加密就起到了至关重要的作用. 加密和解密:传统加密方法.现代加密方法. 传统加密算法:替换加密算法.置换加密算法. 现代加密方法:现代块加密方法. 加密和解密都依赖于算法的实现,但加密的安全性不能依赖于算法本身,因为算法是公开的,人人都可以知道.所以就需要通过另一种更安全的方式实现对数据报文的封装,这就需要密钥来实现. 密钥算法和协议:对称加密.公钥加密.单向加密.认证协议. 对称加密:加

加密解密技术介绍和OpenSSL介绍

网络上实现安全传输是一件非常必要的事情,此篇博文主要介绍一下四种常见的加密解密技术和PKI机制以及如何通过openssl建立私有CA. 一.加密解密技术 (1)对称加密 主要加密算法: 1.DES:Data Encryption Standard 数据加密标准 加密端:将明文划分为64bits为一块,用密钥加密产生64bits的密文 解密端:还原回64bits密文 加密和解密均使用56bits的密钥 2.3DES:Triple DES:也就是进行三次DES加密 3.AES:Advanced En