加密类型及其相关算法

加密类型及其相关算法

§·TCP/IP安全:

※·机密性:

数据在网络上传输是明文传输(ftphttpsmtptelnet):

※·数据的完整性:

数据在网络上传输,不能被其它人篡改,保证数据的完整性:

※·身份验证:

访问的主机有一种机制可以表明就是你需要通信的主机。

※·保证机密性:对数据进行加密。

·如何加密:发送方通过转换规(转换算法)则把明文转换为密文;

·如何解密:接收方通过转换规(转换算法)则把密文转换为明文即可:

提问:双方每见过面如何知道使用何种算法?

·转换算法是复杂的数学原理,如果转换算法被拿走怎么办?

注意一点:转换算法人人都可以取得,但是我们实际使用的主要还是密钥。

※·机密性保证机制(加密机制 密钥)

·对称加密:

分为加密算法和解密算法,本身是两种不同的算法,不过使用的密钥是一样,使用相同的密钥加密和解密数据。 

注意:如何用户A与不同用户通信时,不可能使用相同的密钥,如果使用相同的密钥,A与其他用户通信,密钥要是公开了,A与其他人的数据都会被别人知道,所以在实际中,A不可能使用相关的密钥与其他用户通信。

※·数据完整性保证机制(单向加密算法)

保证数据还是最原始的数据,保证数据本身是它本身,我们使用单项加密算法。

·单项加密算法:提取数据的特征码(相当于把数据的指纹信息提起出来)。

A有一段明文,通过单向加密算法,提取出明文的特征码,把特征码附加在明文后面;

B收到数据后,通过单向加密算法,也提取出明文的特征码,比较两段特征码是否一致;

·单向加密算法:提取数据特征码:

输入一样,输出必然相同;

雪崩效应:输入的微小变化,将会引起结果的巨大变化;

定长输出:无论原始数据多长,结果大小都相同的;

不可逆:无法根据特征码还原原来的数据。

注意:如果出现这种情况,AB传输数据,并且通过单项加密算法生成特征码,C截取A发送的数据,提取出明文后,修改数据,再使用相同的单项加密算法生成特征码,把数据传输给BB同样还是可以计算出特征码,肯定与C的特征码是一样,导致数据被篡改,而B不知道。 

·如何预防C如果篡改了数据,B可以发现呢(AB协商相同密码对特征码进行加密)?

可以再来对特征码进行加密,前提是 A B 需要协商相同的密码对特征码进行加密,只有AB协商的密码才可以解密特征码的数据。即使C截取到数据,无法解密特征码数据,即使C修改了数据,生成的特征码再发送BB无法使用协商好的密码进行解密,即可认为数据被篡改过。 

·如何预防A B协商的密码在网络上传输不被别人知道呢?(IKE(互联网密钥交换 )协商生成密码)

Diffie-Hellman协议:实现互联网密钥交换 (Internet  Key  Exchange  IKE

第一阶段:

A : 选择一个大素数(离散数学对数)  p

B : 选择一个大素数 :g

p  g可以通过网络交换,使得A B 都知道 p   g

第二阶段:

A :本地随机一个数 : x

A : g ^x%p 的结果发送给 B

B:本地随机一个数 :  y

B : g^y%p 的结果发送给  A

注意:在互联网上就只有四个数字的传输: p  g   g ^x%p  g^y%p ,根据离散数学原理,x  y 这两个数字是不可能被计算出来的

第三阶段:

A :就取得B发给自己的:g^y%p  A是知道自己的随机数x的)

B:就取得A发给自己的: g ^x%p   B是知道自己的随机数y的)

A B协商的密码为 :  g^xy%p 

Diffie-Hellman协议:可以通过软件管理每次的特征码加密的密码,不需要人为的参与。

※·身份验证保证机制(非对称加密算法)

以上解决的是数据的机密性与数据完整性。但是如何保证数据的身份信息呢?

公钥加密算法:非对称加密算法

密钥对:

公钥 p (是通过某中机制从私钥中提取出来的)

私匙 s  (私钥一般情况下非常长有1024 2048 4096位) 

发送方使用自己的私钥加密数据,可以实现身份验证;

发送方使用对方的公钥加密数据,可以保证数据机密性; 

公钥机密算法很少用来加密数据,速度太慢,公钥太长了;

通常情况下:对称加密是公钥加密数据速度的1000 

如下模型:

加密解密.jpg 

这个模型保证了身份验证的问题,但是无法保证数据的机密性。

※·如何获取用户的公钥(如何获取真正的公钥),保证数据机密性

·获取用户公钥

由于双方建立通信的第一次根本就无法确定对方的身份,根本就无法获取到对方的公钥,需要公钥就需要先通信,但是先通信就得需要对方的公钥加密数据,死循环。

我们就必须借助第三方信任机构,自己生成公钥和私钥,把自己的公钥想办法放在第三方信任机构上,其它用户想办法在第三方机构取得对方的公钥。

第三方信任机构把用户的公钥颁发证书:

姓名:住址:公钥:第三方信息机构私钥加密数据  ————–> 生成数字证书

第三方信任机构为:CA

§·网络传输上的数据加密 解密模型(基于IKE

 IKE加密解密.jpg

§·实际运行中数据加密 解密模型(基于随机密码)

随机密码-加密解密.jpg 

 

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

(1)
linux_rootlinux_root
上一篇 2016-09-06 13:00
下一篇 2016-09-06 15:21

相关推荐

  • centos启动流程

    加电自检 检测硬件是否存在并且能够正常运行,如cpu、内存、硬盘是否存在并能正常运行,以及外围得输入输出设备是否存在,如键盘、鼠标、显示器。 bios启动次序,按照次序查找个引导设备,启动第一个具有引导程序的设备,即为本次启动需要加载的设备。 加载boot loader bootloader安装在mbr中,linux的bootloader程序为grub和li…

    Linux干货 2017-11-14
  • CentOS系统启动流程–上

    centos6启动流程 1.加载BIOS的硬件信息,获取第一个启动设备。 2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息 3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱 动所有的硬件设备。 4.核型执行init程序并获取运行信息。 5.Init执行/etc/rc.d/rc.sysinit文件。 6.启动核心的外挂模块(/etc/m…

    Linux干货 2016-09-13
  • 基于Redis的开源分布式服务Codis

    Redis在豌豆荚的使用历程——单实例==》多实例,业务代码中做sharding==》单个Twemproxy==》多个Twemproxy==》Codis,豌豆荚自己开发的分布式Redis服务。在大规模的Redis使用过程中,他们发现Redis受限于多个方面:单机内存有限、带宽压力、单点问题、不能动态扩容以及磁盘损坏时的数据抢救。 Redis通常有3个使用途径…

    Linux干货 2015-02-25
  • AIDE入侵检测

    AIDE

    当一个入侵者进入了你的系统并且种植了木马,通常会想 办法来隐蔽这个木马(除了木马自身的一些隐蔽特性外, 他会尽量给你检查系统的过程设置障碍),通常入侵者会 修改一些文件,比如管理员通常用ps -aux来查看系统进 程,那么入侵者很可能用自己经过修改的ps程序来替换掉 你系统上的ps程序,以使用ps命令查不到正在运行的木马 程序。如果入侵者发现管理员正在运行crontab作业,也 有可能替换掉crontab程序等等。所以由此可以看出对于 系统文件或是关键文件的检查是很必要的。目前就系统完 整性检查的工具用的比较多的有两款:Tripwire和AIDE ,前者是一款商业软件,后者是一款免费的但功能也很强 大的工具

    2018-01-08
  • linux终端类型

    人机交互界面:GUI、CLI GUI: gnome:c,gtk kde:c++,qt CLI: bash,zsh,sh,csh,ksh 不同CLI间跳转:alt+f1\f2\f3\f4   终端类型: 物理终端、控制台终端:/dev/console,控制台console 计算机显示器通常被称为控制台终端(Console) 虚拟终端:/dev/tty…

    Linux干货 2016-10-14
  • N21_第5周作业find

    第5周作业 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@iZ28zld7ztoZ ~]# grep '^[[:space:]]' /boot/grub/grub.conf [root@iZ28zld7ztoZ ~]# grep&nbsp…

    Linux干货 2016-08-08