关于加密那点事

作者【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

相关推荐

  • 9、varnish实现动静分离、负载均衡、后端服务器健康状态检测

    varnish 4.0 版本 varnish实现动静分离 # vim /etc/varnish/varnish.params VARNISH_LISTEN_PORT=80 –> 修改为80端口 # vim /etc/varnish/default.vcl backend html {    .host = “1…

    Linux干货 2016-11-13
  • 软链接和硬链接及两者之间的不同

    在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号…

    Linux干货 2016-12-05
  • LVS详解及基于LVS实现web服务器负载均衡

    前言 LVS(Linux Virtual Server)Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。通过LVS提供的负载均衡技术和Linux操作系统可实现一个高性能、高可用的服务器群集,从而以低成本实现最优的服务性能。 集群基础 集群简介 集群(Cluster)是一组相互独立…

    Linux干货 2015-06-01
  • iptables的DNAT、SNAT配置

    DNAT:目的地址转换。当外网主机访问内网的某台服务器的时候,如果直接暴露服务器的IP于公网,可能会遭受各种各样的攻击,而DNAT的主要作用就是在服务器前面添加一台防火墙。将防火墙的地址公布出去,让外网客户端通过访问防火墙的地址就可以访问到本地服务器。这样就起到了保护服务器的目的; SNAT:源地址转换。内网主机在访问互联网的时候所有源地址都转换为防火墙的外…

    2017-06-12
  • redis-cli的一些有趣也很有用的功能

    redis-cli我们最常用的三个参数就是-h、-p、-a选项,分配用来指定连接的redis-server的host、port和登录密码。 通过redis-cli –help发现,redis-cli还提供了其他很多的参数和功能。 1)-x-x选项从标准输入(stdin)读取最后一个参数。 比如从管道中读取输入: echo -en “chen.qun” | r…

    Linux干货 2015-03-16
  • 用户和组管理类命令详解

    用户和组管理类命令详解 组管理 groupadd 功能描述:创建一个新组 命令格式: groupadd [选项] GROUP 选项: -g GID 表示指定GID,默认情况下使用的是最小的未使用过的GID -r 表示创建一个系统组 groupmod 功能描述:修改组属性 命令格式:groupmod [选项] GROUP 选项: -g GID 表示修改GID …

    Linux干货 2017-07-16