关于加密那点事

作者【Jev Tse】 环境:sentos6.8

    【本文预览】
     一、关于加密
     二、对称加密
     三、非对称加密
     四、单向散列
     五、密钥交换
     六、SSL/TLS

一、关于加密
     数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。

二、对称加密
     采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
     常见算法:DES、3DES、AES、IDEA、RC6、CAST5等
   关于加密那点事
   【优特点】
   加密、解密使用同一个密钥,效率高
   【缺点】
   必须商定秘钥:数据传送前,双方必须商定好秘钥。线上商定,存在被窃取风险
   来源无法确认:如果钥匙被窃取,窃取者就可以冒充另一方进行通讯,接收者无法确认来源
   密钥管理麻烦:每对用户都需要唯一秘钥,这会使得双方所拥有的钥匙数量巨大
   实现简单对称加密:
   关于加密那点事

三、非对称加密
    不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。
    常见算法:RSA(加密,数字签名)、DSA(数字签名)、ELGamal等
   1201不对称加密.png
  【优特点】
   密钥是成对出现的,用公钥加密数据,只能使用与之配对的私钥解密;反之亦然
   公钥:(public key)公开给所有人;  
   私钥:(secret key)自己留存,必须保证其私密性;
  【缺点】
   密钥长, 加密解密效率低下

四、单向散列
    单向散列算法,又称hash函数(也称杂凑函数或杂凑算法)就是把任意长的输入消息串变化成固定长的输出串的一种函数。这个输出串称为该消息的杂凑值。一般用于产生消息摘要,密钥加密等。
    常见算法:md5、sha1、sha224、sha256、sha384、sha512

  【特点】
   1、数据相同,摘要必须同
   2、数据不同,摘要必不同
   3、不可通过摘要反推源数据
   4、相同算法,摘要长度必相同
   1201不对称加密-摘要.png
  【密码加密方面】
   可以通过加‘盐’提高密码的安全性
   同一算法相同数据的条件下:
   1、盐相同,结果相同;
   2、盐不同,结果必不相同  
   3、数据不同,结果肯定也不同
      1201不对称加密-MD5加盐.png
   
五、密钥交换
    IPsec IKE:Internet 密钥交换协议(IPsec IKE: Internet Key Exchange Protocol)
    Internet 密钥交换(IPsec IKE)是 IPsec 体系结构中的一种主要协议。它是一种混合协议,使用部分 Oakley 和部分 SKEME,并协同 ISAKMP 提供密钥生成材料和其它安全连系,比如用于 IPsec DOI 的 AH 和 ESP 。
    DH(Diffie-Hellman)一种确保共享KEY安全穿越不安全网络的方法,它是Oakley的一个组成部分。
   这个机制的巧妙在于需要安全通信的双方可以用这个方法确定对称密钥。然后可以用这个密钥进行加密和解密。DH只能用于密钥的交换,而不能进行消息的加密和解密。

   密钥协商过程如下:
   1201不对称加密-协商.png

六、SSL/TLS
    Handshake协议:包括协商安全参数和密码套件、服务器身份认证(客户端身份认证可选)、密钥交换
    ChangeCipherSpec 协议:一条消息表明握手协议已经完成
    Alert 协议:对握手协议中一些异常的错误提醒,分为fatal和warning两个级别, fatal类型错误会直接中断SSL链接,而warning级别的错误SSL链接仍可继续,只是会给出错误警告
    Record 协议:包括对消息的分段、压缩、消息认证和完整性保护、加密等
    HTTPS 协议:就是“ HTTP 协议”和“ SSL/TLS 协议”的组合。 HTTP over SSL”或“ HTTP over TLS”,对http协议的文本数据进行加密处理后,成为二进制形式传输。

   通讯过程大概如下:
   1201不对称加密SSL-TLS.png

【回到页首】

作者【Jev Tse】

原创文章,作者:Jev Tse,如若转载,请注明出处:http://www.178linux.com/61870

(0)
Jev TseJev Tse
上一篇 2016-12-01 18:06
下一篇 2016-12-01 22:16

相关推荐

  • Linux Shell基础脚本示例

    1、编写脚本/root/bin/systeminfo.sh,显示主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小.   2、编写脚本/root/bin/backup.sh,可实现自动将/etc/目录备份到/root/etcYYYY-mm-dd中.   3、编写脚本/root/bin/disk.…

    Linux干货 2016-08-15
  • httpd配置

    httpd配置 修改监听的IP和端口(port) 持久连接 MPM DSO(Dynamic Shared Object) main server的文档页面路径 站点访问控制 定义站点主页面 定义路径别名 设定默认字符集 日志 基于用户的访问控制 虚拟主机 httpd状态页面 使用压缩模块mod_daflate优化速度 基于IP 为每个虚拟主机至少准备一个IP…

    Linux干货 2016-12-21
  • 推荐-运维学习笔记-Puppet应用配置的工作原理

    背景知识 Puppet的核心功能是配置管理。一般来说,用户在master上集中做配置,同时,被管理节点上的agent会定期从master上下载配置数据,再应用(apply)到本地,从而使管理节点的状态(用户,组,文件,安装包,服务等的设置和运行状态)与masters上定义的保持一致。 有时,出于测试的目的,并不希望真的应用配置,那么就需要执行puppet a…

    2016-06-01
  • vim文本编辑器简单用法

    vim最基础的用法

    2017-09-09
  • RAID简介

    RAID是什么? RAID英文名字叫Redundant Arrays of Independent Disks,也叫磁盘阵列?阵列有是什么意思?通俗的理解就是把很多的硬盘组织在一起来使用。       RAID可以根据性能来划分为两种:有无冗余(容错)能力     &n…

    Linux干货 2016-02-14
  • Linux 基础(4)

    file    标准输入输出以及输出重定向 >     tr     |管道      mail 1.file file [options] <filename>… 确定文件内容,是根据文件的头部信息来判断 hexdump -C -n 10…

    2017-07-20