关于加密那点事

作者【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给每一个创建用户提供了一个UID。当使用用户名登录时,系统换自动对应UID来识别该用户身份。 而用户名与UID的对应信息就储存在一…

    Linux干货 2016-10-23
  • Linux DNS服务系列之原理介绍及正反向解析配置

    前言 我们在访问一个网站的时候,只要输入该网站的网址就会跳转到该网站页面,而实现这一过程就需要DNS服务器将域名解析为IP地址,进而实现数据通信。那么DNS服务器是如何工作的呢?本系列分为两部分,本文将详解DNS服务原理及正反向解析配置。 DNS服务原理详解 DNS相关知识 DNS:Domain Name Service,域名解析服务 监听端口:udp/53…

    Linux干货 2015-04-13
  • MySQL优化大全

     1. 优化SQL   1)通过show status了解各种sql的执行频率         show status like 'Com_%'        了解 Com_select,Com_in…

    Linux干货 2015-04-13
  • vsftpd基于mysql存储认证(centos7)

    (1)首先开发包组和服务器平平台开发包组 (2)yum安装需要的依赖包 (3)编译安装pam_mysql模块 (4)配置mysql,并添加mysql中的vsftpd进程用户,且创建vsftpd数据库,并将vsftpd数据库授权给vsftpd用户,且创建vsftpd.users表,并在表中添加用户tom (5)创建vsftpd要上传和下载的URL (6)创建基…

    Linux干货 2016-10-15
  • 第四周作业

    Linux系统文件管理使用案例 1、 复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 首先,利用cp命令将/etc/skel目录复制为/home/tuser1: [root@localhost ~]# cp -r /etc/skel /home/tuser1 随后通过chmo…

    Linux干货 2018-03-24
  • 集中管理利器-puppet快速入门-上

    带着问题来学习 Ø  从如下内容来看,如何自定义安装用户想要的东西呢?                                        …

    Linux干货 2015-04-22