设为首页 收藏本站
查看: 574|回复: 0

[经验分享] Linux之加密解密基础、openssl及CA基础应用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-23 08:22:08 | 显示全部楼层 |阅读模式
   加密解密基础简介
   数据在网络中传输过程中要保证三个要点:
       (1)数据的完整性:防止数据在传输过程中遭到未授权用户的破坏或篡改
       (2)数据的机密性:防止文件数据泄漏给未授权用户从而让其利
       (3)数据的可用性:保证授权用户能按需访问存取文件数据
    因此加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。加密技术包括两个元素:算法和密钥。算法是将普通的信息或者可以理解的信息与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解密的一种算法
    解密:将密文转换成能够直接阅读的文字(即明文)的过程称为解密

    常见加密类型: 对称加密、公钥加密、单向加密
    (1)对称加密:加密和解密同一个密钥,依赖于算法和密钥。
         特性:加密、解密使用同一密钥;将明文分隔成固定大小的块,逐个进行加密
         缺点:密钥过多、密钥分发
         常见的加密算法:DES、3DES(DES增强版)、AES(加密位数128bits、192bits、458bits、384bits、512bits)
     大致的实现原理如下图:
wKioL1YBWf3xwmSrAAEXJOPUEMU738.jpg
    (2)公钥加密:有两个不同的密钥:私钥(private key)和公钥(public key),使用公钥加密的数据只能由对应的私钥解密
         特性:        密钥长度较大;加密解密分别使用密钥对儿中的密钥相对进行;常用于数字签名和密钥交换  
         常见加密算法:RSA 、 DSA(数字签名算法)
     大致的实现原理如下图:
wKiom1YBWgjwbLoVAAEvCXHHRh4611.jpg
    (3)单向加密:只能加密不能解密,提取数据特征码
         特性:输入一样,输出必然相同;输入的微小改变,会造成结果的巨大变化;无法根据特征码还原原来的数据;定场输出
         常见加密算法:MD1,MD5,SHA1,SHA512,CRC-32
     大致的实现原理:单向加密通常用于验证数据的完整性,在数据发送之前,对数据进行单向加密得出特征码,然后接受者再次对接收的数据使用同样的单向加密,如果得到的特征码相同,则说明数据是完整的。因此单纯的使用单向加密,无法保证数据被篡改,因此还需要借助其他加密算法(如数字签名)。

     以上加密的各种算法只是对文件进行了加密,如何保证在网络上进行安全的传输,而不被窃听,篡改等?
     这里先阐述一次加密传输原理过程:
             发送端:
        1)、使用单向加密算法提取生成数据的特征码
        2)、使用自己的私钥加密特征码附加在数据后面
        3)、生成用于对称加密的临时密钥
        4)、用此临时密钥加密数据和已经使用私钥加密后的特征码
        5)、使用接收方的公钥加密此临时密钥,附加在对称加密后的数据后方

        接收端:
        1)、使用自己的私钥解密加密的临时密钥;从而获得对称密钥
        2)、使用对称密钥解密对称加密的数据和私钥加密的特征码密文;从而获得数据和特征码密文
        3)、使用发送方的公钥解密特征码密文,从而获得从计算生成的特征码
        4)、使用与对方同样的单向加密算法计算数据的特征码,并与解密而来的进行比较
    阐述中提到的公钥,用来加密/验章用;私钥是用来解密/签章。公钥与私钥的作用是:用公钥加密的内容只能用私钥解密,用私钥加密的内容只能用公钥解密。

    随着传统模式开始走向电子化和网络化,网络传输迫切需要解决真实身份、数据完整性、机密性、准确性、不可否认性,引入了基于加密技术的数字签名。
    PKI(Public Key Infrastructure)是使用公开密钥密码技术来提供和实施安全服务的基础设施,主要组成部分有:认证中心(CA )、注册中心(RA)、密钥管理中心(KMC)、证书发布;其中CA(Certificate Authority)系统是PKI体系的核心,主要实现数字证书的发放和密钥管理等功能。数字证书由权威公正的CA中心签发,是网络用户的***明。使用数字证书,结合数字签名、数字信封等密码技术,可以实现对网上用户的身份认证,保障网上信息传送的真实性、完整性、保密性和不可否认性。数字证书目前已广泛应用于安全电子邮件、网上商城、网上办公、网上签约、网上银行、网上证券、网上税务

等行业和业务领域。
    数字证书:数字证书为实现双方安全通信提供了电子认证。在因特网、公司内部网或外部网中,使用数字证书实现身份识别和电子信息加密。数字证书中含有密钥对(公钥和私钥)所有者的识别信息,通过验证识别信息的真伪实现对证书持有者身份的认证
    证书格式是 x509 格式,主要内容有:
           版本号(version)
           序列号(serial number),CA 用于唯一标志此证书
           签名算法标志(signatur algotithm ientifier)
           发行者的名称,即 CA 自己的名称
           有效期,起始日期和终止日期
           整数主题明还曾,整数拥有者自己的公钥
           发行商的唯一标识
           整数主题的唯一标志
           扩展信息
           签名:CA 对此证书的数字签名

         SSL:Secure Socket layer(安全套接字层)
              1995年由网景公司设计,发布SSL2.0版本,后推出3.0版本,1999年推出TLS1.0,相当于SSL3.0升级版,现在常用TLS1.2版本
          分层设计:
               1)、最低层:基础算法原语的实现,aes, rsa, md5
               2)、向上一层:各种算法的实现
               3)、再向上一层:组合算法实现的半成品
               4)、用各种组件拼装而成的种种成品密码学协议/软件:tls, ssh

     openssl应用
     OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH。

OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。主要组成部分:libcrypto(通用功能密码算法库)、libssl(SSL协议库,用于实现TLS/SSL的功能)、OpenSSL多功能命令行工具(能够实现生成密钥、创建数字证书、手动加密解密数据)
     openssl命令常见参数选项:
         -e:指定为加密,可以不写默认为加密。
         -des3:指定算法算法
         -salt:默认设置,生成一段字符串放在密码最前面进行加密,提高解密难度。
         -a:基于base64处理数据。加密结果进行base64编码处理
         -in:读取那个文件进行加密
         -out:输出到那里
         -d:指定为解密
      练习:
      1)、用3des 加密/tmp/fstab ,存放于/var/目录中
wKiom1YBWhujqE-SAAUgPUPU47E128.jpg
      2)、解密var/fstab,并存放为/var/fstab.new
wKioL1YBWiWyXEdPAAKWoUMnfe8269.jpg
      3)、提取tmp/fstab特征码
wKiom1YBWjDhh48VAACHg_Kt_9s576.jpg
    openssl私有CA应用
    私有 CA 先要生产 CA 自己的证书,CA的家目录是在/etc/pki/CA,各个目录保存的内容为:
        certs:签发的证书存放的地方
      private:存放CA的私钥(很重要)
          crl:吊销的证书存放的地方
     newcerts:签发新证书存放的地方
       serial:签发证书的序列号(需创建),serial 起始序列号需要指定
    index.txt:数据库的索引文件(需创建)
    crlnumber:吊销证书的序列号(需创建)
    CA证书的路径在 /etc/pki/tls/openssl.conf 中配置, 在 [ CA_default ] 选项下
       dir  =  /etc/pki/CA              #工作目录
       certs =  $dir/certs              #客户端证书保存目录
       crl_dir =  $dir/crl              #证书吊销列表的位置
       database=  $dir/index.txt        #证书发证记录数据库
       new_certs_dir  =  $dir/newcerts  #新生成证书存放目录
       certificate =  $dir/cacert.pem   #CA的证书文件
       serial=  $dir/serial             #签发证书的序列号,一般从01开始
       crlnumber=  $dir/crlnumber       #帧数吊销列表的序列号
       crl=  $dir/crl.pem               #证书吊销列表文件
       private_key=  $dir/private/cakey.pem     #CA的私钥文件
       RANDFILE =  $dir/private/.rand           #随机数生产文件,会自动创建
       default_days= 365                        #默认签发有效期
    建立私有CA
    1)、在/etc/pki/CA/private生成CA私钥文件
wKioL1YBWmqxry5uAAEocO5w6qk360.jpg
    注:-out为输出私钥的位置 ;2048为密钥的长度
    2)、在/etc/pki/CA目录下生成自签署证书
wKioL1YBWlmQGukyAAMU1oouvfU484.jpg
    注:-new 为生成新的证书,会要求用户填写相关的信息;–x509通常用于自签署证书,生成测试证书或用于CA自签署;–key私钥位置;–days申请的天数(默认30天);-out生成位置
    3)、创建所需文件:serial序列号文件、index.txt索引文件、crlnumber文件
wKiom1YBWnmimf-3AADLy_xl1Ng290.jpg
    4)、假设给http服务器(192.168.2.10)发放证书,其位置为/etc/httpd/ssl,ssl自己创建文件夹,在http上申请证书生成私钥
wKioL1YBWoOCKtk7AAC2nTR_oxg380.jpg wKiom1YBWo_RAs63AAJ4DDtoRV8411.jpg
    5)、在CA上给http服务器签署证书(需要书拷贝到CA服务器上,任意位置这里放在/tmp/临时目录下),并回传给http服务器
wKioL1YBWqaA5bKPAAazjWNCGzA910.jpg wKiom1YBWq7xk56JAAFTJ_V7F2k890.jpg wKioL1YBWreAGI7BAAG2uAkXjow959.jpg


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-117434-1-1.html 上篇帖子: btrfs文件系统管理及应用 下篇帖子: redhat5.5 快速搭建本地源 Linux 加密
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表