后页 退出前页数据加密
数据加密:
– 加密:将信息变成不同的、不可读的形式。
– 解密:将加密后的信息还原成它原来的形式
– 原来的信息叫明文,加密后的信息叫做密文后页 退出前页
恺撒密码
– 将明文中的每个字符替换成另一个字符。
– 容易被破解:因为该编码方法未作任何处理以掩盖经常使用的字母或字母组合,这样可以根据字母出现的统计特性破解
Enigma加密系统
– 二战期间德国采用的加密系统
– 实际上是一个多字密码,对消息中的每个字母用不同的替换集(字母表)来替代。
后页 退出前页数据加密:网络加密
链路加密
– 所有消息在被传输之前进行加密,在每一个节点对接收到的消息解密,然后先使用下一链路的密钥对消息进行加密,再传输。
– 可以掩盖消息的频率和长度特性,防止对通信业务进行分析
– 要求先对在链路两端的加密设备进行同步,然后使用一种链模式对链路上传输的数据进行加密。
– 链路加密仅在通信链路上提供安全性,消息在网络节点中以明文形式存在
– 密钥分配也是一个非常复杂的问题后页 退出前页数据加密:网络加密(续)
节点加密
– 操作方式上与链路加密是类似的,两者均在通信链路上为传输的消息提供安全性 ; 都在中间节点先对消息进行解密,然后进行加密。
– 与链路加密不同,节点加密不允许消息在网络节点以明文形式存在,它先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,这一过程是在节点上的一个安全模块中进行。
– 节点加密要求报头和路由信息以明文形式传输,以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击者分析通信业务是脆弱的后页 退出前页数据加密:网络加密(续)
端到端加密
– 数据在从源点到终点的传输过程中始终以密文形式存在
– 通常不允许对消息的目的地址进行加密,这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点,因此它对于防止攻击者分析通信业务是脆弱的后页 退出前页数据加密算法
按照收发双方密钥是否相同来分类
– 对称密钥算法
收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。
密钥管理成为系统安全的重要因素
比较著名 的算法是 DES等后页 退出前页
– 公开密钥算法
收信方和发信方使用的密钥互不相同,而且几乎不可能从加密密钥推导解密密钥
比较著名的公开密钥算法是 RSA等
算法复杂,加密数据的速率较低
密钥管理较为简单,可方便地实现数字签名和验证
– 实际应用中人们通常将私密密钥算法和公开密钥算法结合在一起使用,比如:利用 DES
或者 IDEA来加密信息,而采用 RSA来传递会话密钥。
后页 退出前页对称密钥密码体系
基本原理:
假设 Alice和 Bob使用对称密钥进行通信,则:
( 1) Alice和 Bob同意一个密码系统;
( 2) Alice和 Bob同意一个密钥;
( 3) Alice取她的明文,用加密算法和密钥加密明文信息,产生一个密文信息;
( 4) Alice发密文给 Bob;
( 5) Bob 用相同的算法和密钥解密密文信息然后阅读。
后页 退出前页
DES算法
DES是一种用 56位密钥来加密 64位数据的方法,它通过 16轮代替和置换间复杂算法的结合,使得跟踪数据的变化是相当复杂的,籍于此种复杂性及一些未被公开的 DES敏感的关键技术部分,保证了这种算法的安全性。
后页 退出前页
DES算法:密钥变换
取得 64位密钥,作初始变换得到 56位密钥:初始变换后的密钥分为两个部分,
前面 28位为 C[0],后面 28位为 D[0]
后页 退出前页
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
后页 退出前页
DES算法:密钥生成
根据初始变换后的密码生成 16个子密钥 K[I],每轮:
– 将 C[I],D[I]左移,根据 I值决定左移的位数。
– 然后 C[I]D[I]作为一个整体按下表( PC-2)变换,得到 48位的 K[I]
I 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
左移位数 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
后页 退出前页
14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
后页 退出前页
DES算法:数据初始变换
取得 64位的数据,如果数据长度不足 64
位,通过补 0将其扩展为 64位
然后进行初始变换,变换后的数据分为两部分,开始的 32位称为 L[0],最后的 32
位称为 R[0]:
后页 退出前页
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
后页 退出前页
DES算法,16轮加密
用前面产生的 16个子密钥加密数据:
– 将上一轮的 R[I-1]扩展为 48位的 E[I-1],然后与子密钥 K[I]异或,E[I-1] XOR K[I]
– 异或后的结果分为 8个 6位长的部分,第 1位到第 6位称为 B[1],第 7位到第 12位称为 B[2],依此类推,第
43位到第 48位称为 B[8]。
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
后页 退出前页
DES算法,16轮加密
用前面产生的 16个子密钥加密数据
(续):
– 对于异或后的 8个单元 B[J](初始 J=1),进行 S
盒替换( S盒中的值当作 4位长度处理)
将 B[J]的第 1位和第 6位组合为一个 2位长度的变量 M,M作为在 S[J]中的行号。
将 B[J]的第 2位到第 5位组合,作为一个 4位长度的变量 N,N作为在 S[J]中的列号。
用 S[J][M][N]来取代 B[J]。
后页 退出前页
14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
后页 退出前页
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
后页 退出前页
DES算法,16轮加密
用前面产生的 16个子密钥加密数据(续):
– 经过 S盒替换的结果 B[1]到 B[8]组合,按下表( P)
变换,得到 P。
– 然后将 P和 L[I-1]异或,R[I]=P XOR L[I-1]
– L[I]=R[I-1],然后开始下一轮加密
16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25
后页 退出前页
DES算法:最后逆变换
将前面经过 16轮加密的结果 R[16]L[16]按下表( IP-1)变换得到最后的结果。
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
后页 退出前页公开密钥密码体制
基本原理:
– 在公钥体制中,系统拥有有一对称为(公开密钥,私有密钥)对的密钥组,这对密钥互逆,系统可以公开其中的一个密钥。
P=D(d,E(e,P)) ( 1)
P=E(e,D(d,P)) ( 2)
其中,P=明文; D=解密算法; E=加密算法;
d=私有密钥; e=公开密钥后页 退出前页
RSA算法
RSA算法的安全性是基于数论:将两个大的质数合成一个大数很容易,
而相反的过程则非常困难。
– 密钥的产生
1,选择两个大素数,p 和 q 。
后页 退出前页
2,计算,n = p * q (p,q分别为两个互异的大素数,
p,q 必须保密,一般要求 p,q为安全素数,n的长度大于 512bit,这主要是因为 RSA算法的安全性依赖于因子分解大数问题 )。有欧拉函数
(n)=(p-1)(q-1)。
3,然后随机选择加密密钥 e,要求 e 和 ( p - 1 ) * ( q
- 1 ) 互质。
4,最后,利用 Euclid 算法计算解密密钥 d,满足
de≡ 1(mod φ (n))。其中 n和 d也要互质。数 e和 n
是公钥,d是私钥。两个素数 p和 q不再需要,应该丢弃,不要让任何人知道。
后页 退出前页
RSA算法
基本原理:
– 加密与解密
1,加密信息 m( 二进制表示 ) 时,首先把 m分成等长数据块 m1,m2,...,mi,块长 s,其中
2^s <= n,s 尽可能的大 。
2,对应的密文是,ci ≡mi^e ( mod n ) ( a )
3,解密时作如下计算,mi ≡ ci^d ( mod n ) ( b )
– RSA 可用于数字签名,方案是用 ( a ) 式签名,( b )式验证后页 退出前页
RSA算法
RSA的缺点
– 产生密钥很麻烦,受到素数产生技术的限制,
因而难以做到一次一密
– 分组长度太大,为保证安全性,n 至少也要
600 bits以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级
– 一般只用于少量数据加密后页 退出前页数据加密,PGP
PGP是一个基于 RSA公钥 加密体系的邮件加密软件。可以用它对邮件保密以防止非授权者的阅读,还可对邮件加上数字签名从而使收信人可以确信邮件的发送方。
– PGP以一个随机生成的密钥(每次加密不同)
用 IDEA算法对明文加密,然后用 RSA算法对该密钥加密。
后页 退出前页
– 数字签名
首先采用 MD5算法计算邮件的消息摘要
( 128位),然后用自己的私人密钥加密进行签名,对方通过发送者的公开密钥解密邮件,然后计算消息摘要进行比较。
– PGP还可以只数字签名,不对邮件进行加密后页 退出前页身份鉴别
身份鉴别是对网络中的主体进行验证的过程,通常有三种方法:
– 只有该主体了解的秘密,如口令、密钥。
一次密码、基于时间的密码等
– 主体携带的物品,如智能卡和令牌卡。
– 只有该主体具有的独一无二的特征或能力,
如指纹、声音、视网膜或签字等。
后页 退出前页生物识别技术
虹膜识别
视网膜识别
面部识别
签名识别
声音识别
指纹识别后页 退出前页数字签名
数字签名必须:
– 接收者能够核实发送者对报文的签名
– 发送者事后不能抵赖对报文的签名
– 接收者不能伪造对报文的签名。
散列函数常用于创建和验证数字签名,
它是一种创建标准长度散列值(散列结果)形式的数字表示或,指纹,(也称为,消息摘要,)的算法。
后页 退出前页数字签名
创建数字签名
– 使用从被签名的消息及给定的私有密钥两者而导出的且唯一于它们的散列结果。
验证签名:
– 通过参照原始消息和给定的公开密钥来检查数字签名的过程
Message
Digital SignatureSigning
Function
Hash Function Hash ResultMessage
Private
Key
To Verifier
Only Private Key
Holder Can Sign
Message
Digital Signature
Hash
Function
Verify
Function
Hash Result
Public Key
From Signer
Anyone Can Verify
ValidY/N?
后页 退出前页数字签名
创建和验证数字签名的过程实现了法律上对签名的多种要求
– 签名者的认证:数字签名不能被伪造,除非签名者失去对私有密钥的控制
– 消息认证,验证过程能够通过比较散列结果发现任何篡改
– 确认行为:创建数字签名要求签名者使用自己的私有密钥
– 效率:实现完全的自动后页 退出前页数字签名:对称加密算法
Lamport发明 Lamport-Diffie的对称加密算法:
利用一组长度是报文的比特数( n)两倍的密钥 A,来产生对签名的验证信息,即随机选择
2n个数 B,由签名密钥对这 2n个数 B进行一次加密变换,得到另一组 2n个数 C
– 发送方从报文分组 M的第一位开始,依次检查 M的第 i位,若为 0时,取密钥 A的第 i位,若为 1则取密钥
A的第 i+1位; 直至报文全部检查完毕。所选取的 n
个密钥位形成了最后的签名。
后页 退出前页
– 接收方对签名进行验证时,也是首先从第一位开始依次检查报文 M,如果 M的第 i位为 0
时,它就认为签名中的第 I组信息是密钥 A的第 i位,若为 1则为密钥 A的第 i+1位; 直至报文全部验证完毕后,就得到了 n个密钥,由于接收方具有发送方的验证信息 C,所以可以利用得到的 n个密钥检验验证信息,从而确认报文是否是由发送方所发送。
– 采用逐位签名,安全性好,但签名太长,且签名密钥及相应的验证信息不能重复使用后页 退出前页数字证书
网络通信中标志通信各方身份信息的一系列数据,它提供了一种在网络上验证实体身份的方式,由一个证书授权中心 CA发行
– 由一个独立的且受信任的第三方( CA机构)数字签名的包含公开密钥拥有者信息以及公开密钥的文件
– 证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般还包括密钥的有效时间,发证机关
(证书授权中心 )的名称,该证书的序列号等信息。
后页 退出前页数字证书
工作过程:
– 想发送加密消息的实体向 CA机构提交申请,CA就向其发放一个包含了申请者公开密钥和其它身份信息的加密了的数字证书。
– CA将自己的公开密钥向公众发布或可以从因特网上获取。
– 加密消息的接收方使用 CA的公开密钥来解开附接在消息上的数字证书,并验证证书确实是由 CA发放的,
然后获得证书中发送者的公开密钥和身份信息。
后页 退出前页
CA机构 ( 发放数字证书,提供自己的公开密钥 )
实体从 CA获得数字证书及私有 /公开密钥对数字签名接收方以 CA的公开密钥认证消息来源的真实性,
并以数字证书中发送方的公开密钥解密消息待发送的信息散列函数用私有密钥加密
CA的公开密钥发送给接收方散列值后页 退出前页防火墙
防火墙位于内部网络和 Internet之间,阻断来自外部通过网络对本网络的威胁和入侵,提供扼守本网络的安全和审计的唯一关卡
– 所有来自和去往 Internet的信息都必须经过防火墙,
接受防火墙的检查。防火墙必须只允许授权的数据通过,并且防火墙本身也必须能够免于渗透。
– 防火墙是安全策略的一个部分,需要有全面的安全策略后页 退出前页防火墙
两类设置防火墙的基本准则
– 一切未被允许的就是禁止的
防火墙封锁所有信息流,然后对希望提供的服务逐项开放
– 一切未被禁止的就是允许的
防火墙就转发所有信息流,然后逐项屏蔽可能有害的服务后页 退出前页防火墙
防火墙的作用:
– 集中的网络安全,可作为中心“扼制点”
– 产生安全报警
– 监视并记录 Internet的使用
– NAT(网络地址转换)的理想位置
– WWW和 FTP等服务器的理想位置后页 退出前页
防火墙的限制,
– 无法防范通过除防火墙以外的其它途径的攻击
– 不能防止来自内部人员和不经心的用户们带来的威胁
– 不能完全防止传送已感染病毒得软件或文件
– 无法防范数据驱动型的攻击。
后页 退出前页防火墙的主要组件
网络策略
– 高层策略是网络服务访问策略,它定义允许或显式禁止的服务,服务的使用方法,以及允许例外时的条件;
– 低层策略描述防火墙如何实际限制访问和过滤那些在高层中定义的服务。
后页 退出前页
高级认证机制
– 采用如智能卡、认证令牌和基于软件的机制等克服传统口令的缺陷。
– 产生的口令不能被监视一次连接的攻击者再使用
数据包过滤
– 过滤可基于源 IP地址、目标 IP地址、
TCP/UDP源端口或目的端口后页 退出前页
应用网关:使用软件为服务转发及过滤连接
– 只允许那些有,代理,的服务通过
– 协议可能被过滤,如有些防火墙可以过滤
FTP连接并拒绝 FTP,put”命令的使用,这样就确保了匿名 FTP服务器不被用户写入后页 退出前页防火墙类型
数据包过滤防火墙
– 数据包过滤路由器安置在 Internet(或任何子网)网关上并配置过滤规则,
以阻塞或过滤协议和地址。
– 一般用于小站点后页 退出前页
site systems
IP Packet Filtering Router
数据包过滤防火墙后页 退出前页防火墙类型
双宿网关防火墙
– 由一个带两块网络接口卡的主机系统组成,
并使主机的 IP转发功能禁用(即在缺省条件下主机不再为两个相连网络的数据包寻径)
– 完全阻塞 Internet和被保护站点间的 通信 。
服务和访问由网关上的,代理服务器,来提供,只有存在,代理,的服务才被允许后页 退出前页
All Application
Traffic
IP Filtering
Internet
Application Gateway
HTTP/Gopher/FTP
Application TrafficInfo,Server
双宿网关防火墙后页 退出前页防火墙类型
屏蔽主机防火墙
– 将数据包过滤路由器和安置在路由器一侧受保护子网上的应用网关相结合。
– 应用网关只需一块网络接口卡,其,代理服务,传送允许的服务给站点系统。路由器过滤或屏蔽有危险的协议到达应用网关或站点系统,它根据下列原则处理通信:从 Internet到应用网关的通信被路由;
其它来自 Internet的通信被拒绝;除非来自应用网关,
所有源于内部的通信被拒绝。
后页 退出前页
IP Filtering
Internet
Application
Gateway
Other Trusted Traffic
All Application Traffic
Info,Server
屏蔽主机防火墙后页 退出前页防火墙类型
屏蔽子网防火墙
– 是双宿网关防火墙和屏蔽主机防火墙的变形。
它将防火墙的各组件放置在分离的系统上,
因而获得更大的吞吐量和灵活性。每个防火墙组件系统只需实现某一特定任务,减少了配置的复杂度。
后页 退出前页
Internet
Application
Gateway
Other Trusted Traffic
Application Traffic
Info,Server
Email Server
屏蔽子网防火墙
数据加密:
– 加密:将信息变成不同的、不可读的形式。
– 解密:将加密后的信息还原成它原来的形式
– 原来的信息叫明文,加密后的信息叫做密文后页 退出前页
恺撒密码
– 将明文中的每个字符替换成另一个字符。
– 容易被破解:因为该编码方法未作任何处理以掩盖经常使用的字母或字母组合,这样可以根据字母出现的统计特性破解
Enigma加密系统
– 二战期间德国采用的加密系统
– 实际上是一个多字密码,对消息中的每个字母用不同的替换集(字母表)来替代。
后页 退出前页数据加密:网络加密
链路加密
– 所有消息在被传输之前进行加密,在每一个节点对接收到的消息解密,然后先使用下一链路的密钥对消息进行加密,再传输。
– 可以掩盖消息的频率和长度特性,防止对通信业务进行分析
– 要求先对在链路两端的加密设备进行同步,然后使用一种链模式对链路上传输的数据进行加密。
– 链路加密仅在通信链路上提供安全性,消息在网络节点中以明文形式存在
– 密钥分配也是一个非常复杂的问题后页 退出前页数据加密:网络加密(续)
节点加密
– 操作方式上与链路加密是类似的,两者均在通信链路上为传输的消息提供安全性 ; 都在中间节点先对消息进行解密,然后进行加密。
– 与链路加密不同,节点加密不允许消息在网络节点以明文形式存在,它先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,这一过程是在节点上的一个安全模块中进行。
– 节点加密要求报头和路由信息以明文形式传输,以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击者分析通信业务是脆弱的后页 退出前页数据加密:网络加密(续)
端到端加密
– 数据在从源点到终点的传输过程中始终以密文形式存在
– 通常不允许对消息的目的地址进行加密,这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点,因此它对于防止攻击者分析通信业务是脆弱的后页 退出前页数据加密算法
按照收发双方密钥是否相同来分类
– 对称密钥算法
收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。
密钥管理成为系统安全的重要因素
比较著名 的算法是 DES等后页 退出前页
– 公开密钥算法
收信方和发信方使用的密钥互不相同,而且几乎不可能从加密密钥推导解密密钥
比较著名的公开密钥算法是 RSA等
算法复杂,加密数据的速率较低
密钥管理较为简单,可方便地实现数字签名和验证
– 实际应用中人们通常将私密密钥算法和公开密钥算法结合在一起使用,比如:利用 DES
或者 IDEA来加密信息,而采用 RSA来传递会话密钥。
后页 退出前页对称密钥密码体系
基本原理:
假设 Alice和 Bob使用对称密钥进行通信,则:
( 1) Alice和 Bob同意一个密码系统;
( 2) Alice和 Bob同意一个密钥;
( 3) Alice取她的明文,用加密算法和密钥加密明文信息,产生一个密文信息;
( 4) Alice发密文给 Bob;
( 5) Bob 用相同的算法和密钥解密密文信息然后阅读。
后页 退出前页
DES算法
DES是一种用 56位密钥来加密 64位数据的方法,它通过 16轮代替和置换间复杂算法的结合,使得跟踪数据的变化是相当复杂的,籍于此种复杂性及一些未被公开的 DES敏感的关键技术部分,保证了这种算法的安全性。
后页 退出前页
DES算法:密钥变换
取得 64位密钥,作初始变换得到 56位密钥:初始变换后的密钥分为两个部分,
前面 28位为 C[0],后面 28位为 D[0]
后页 退出前页
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
后页 退出前页
DES算法:密钥生成
根据初始变换后的密码生成 16个子密钥 K[I],每轮:
– 将 C[I],D[I]左移,根据 I值决定左移的位数。
– 然后 C[I]D[I]作为一个整体按下表( PC-2)变换,得到 48位的 K[I]
I 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
左移位数 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
后页 退出前页
14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
后页 退出前页
DES算法:数据初始变换
取得 64位的数据,如果数据长度不足 64
位,通过补 0将其扩展为 64位
然后进行初始变换,变换后的数据分为两部分,开始的 32位称为 L[0],最后的 32
位称为 R[0]:
后页 退出前页
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
后页 退出前页
DES算法,16轮加密
用前面产生的 16个子密钥加密数据:
– 将上一轮的 R[I-1]扩展为 48位的 E[I-1],然后与子密钥 K[I]异或,E[I-1] XOR K[I]
– 异或后的结果分为 8个 6位长的部分,第 1位到第 6位称为 B[1],第 7位到第 12位称为 B[2],依此类推,第
43位到第 48位称为 B[8]。
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
后页 退出前页
DES算法,16轮加密
用前面产生的 16个子密钥加密数据
(续):
– 对于异或后的 8个单元 B[J](初始 J=1),进行 S
盒替换( S盒中的值当作 4位长度处理)
将 B[J]的第 1位和第 6位组合为一个 2位长度的变量 M,M作为在 S[J]中的行号。
将 B[J]的第 2位到第 5位组合,作为一个 4位长度的变量 N,N作为在 S[J]中的列号。
用 S[J][M][N]来取代 B[J]。
后页 退出前页
14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
后页 退出前页
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
后页 退出前页
DES算法,16轮加密
用前面产生的 16个子密钥加密数据(续):
– 经过 S盒替换的结果 B[1]到 B[8]组合,按下表( P)
变换,得到 P。
– 然后将 P和 L[I-1]异或,R[I]=P XOR L[I-1]
– L[I]=R[I-1],然后开始下一轮加密
16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25
后页 退出前页
DES算法:最后逆变换
将前面经过 16轮加密的结果 R[16]L[16]按下表( IP-1)变换得到最后的结果。
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
后页 退出前页公开密钥密码体制
基本原理:
– 在公钥体制中,系统拥有有一对称为(公开密钥,私有密钥)对的密钥组,这对密钥互逆,系统可以公开其中的一个密钥。
P=D(d,E(e,P)) ( 1)
P=E(e,D(d,P)) ( 2)
其中,P=明文; D=解密算法; E=加密算法;
d=私有密钥; e=公开密钥后页 退出前页
RSA算法
RSA算法的安全性是基于数论:将两个大的质数合成一个大数很容易,
而相反的过程则非常困难。
– 密钥的产生
1,选择两个大素数,p 和 q 。
后页 退出前页
2,计算,n = p * q (p,q分别为两个互异的大素数,
p,q 必须保密,一般要求 p,q为安全素数,n的长度大于 512bit,这主要是因为 RSA算法的安全性依赖于因子分解大数问题 )。有欧拉函数
(n)=(p-1)(q-1)。
3,然后随机选择加密密钥 e,要求 e 和 ( p - 1 ) * ( q
- 1 ) 互质。
4,最后,利用 Euclid 算法计算解密密钥 d,满足
de≡ 1(mod φ (n))。其中 n和 d也要互质。数 e和 n
是公钥,d是私钥。两个素数 p和 q不再需要,应该丢弃,不要让任何人知道。
后页 退出前页
RSA算法
基本原理:
– 加密与解密
1,加密信息 m( 二进制表示 ) 时,首先把 m分成等长数据块 m1,m2,...,mi,块长 s,其中
2^s <= n,s 尽可能的大 。
2,对应的密文是,ci ≡mi^e ( mod n ) ( a )
3,解密时作如下计算,mi ≡ ci^d ( mod n ) ( b )
– RSA 可用于数字签名,方案是用 ( a ) 式签名,( b )式验证后页 退出前页
RSA算法
RSA的缺点
– 产生密钥很麻烦,受到素数产生技术的限制,
因而难以做到一次一密
– 分组长度太大,为保证安全性,n 至少也要
600 bits以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级
– 一般只用于少量数据加密后页 退出前页数据加密,PGP
PGP是一个基于 RSA公钥 加密体系的邮件加密软件。可以用它对邮件保密以防止非授权者的阅读,还可对邮件加上数字签名从而使收信人可以确信邮件的发送方。
– PGP以一个随机生成的密钥(每次加密不同)
用 IDEA算法对明文加密,然后用 RSA算法对该密钥加密。
后页 退出前页
– 数字签名
首先采用 MD5算法计算邮件的消息摘要
( 128位),然后用自己的私人密钥加密进行签名,对方通过发送者的公开密钥解密邮件,然后计算消息摘要进行比较。
– PGP还可以只数字签名,不对邮件进行加密后页 退出前页身份鉴别
身份鉴别是对网络中的主体进行验证的过程,通常有三种方法:
– 只有该主体了解的秘密,如口令、密钥。
一次密码、基于时间的密码等
– 主体携带的物品,如智能卡和令牌卡。
– 只有该主体具有的独一无二的特征或能力,
如指纹、声音、视网膜或签字等。
后页 退出前页生物识别技术
虹膜识别
视网膜识别
面部识别
签名识别
声音识别
指纹识别后页 退出前页数字签名
数字签名必须:
– 接收者能够核实发送者对报文的签名
– 发送者事后不能抵赖对报文的签名
– 接收者不能伪造对报文的签名。
散列函数常用于创建和验证数字签名,
它是一种创建标准长度散列值(散列结果)形式的数字表示或,指纹,(也称为,消息摘要,)的算法。
后页 退出前页数字签名
创建数字签名
– 使用从被签名的消息及给定的私有密钥两者而导出的且唯一于它们的散列结果。
验证签名:
– 通过参照原始消息和给定的公开密钥来检查数字签名的过程
Message
Digital SignatureSigning
Function
Hash Function Hash ResultMessage
Private
Key
To Verifier
Only Private Key
Holder Can Sign
Message
Digital Signature
Hash
Function
Verify
Function
Hash Result
Public Key
From Signer
Anyone Can Verify
ValidY/N?
后页 退出前页数字签名
创建和验证数字签名的过程实现了法律上对签名的多种要求
– 签名者的认证:数字签名不能被伪造,除非签名者失去对私有密钥的控制
– 消息认证,验证过程能够通过比较散列结果发现任何篡改
– 确认行为:创建数字签名要求签名者使用自己的私有密钥
– 效率:实现完全的自动后页 退出前页数字签名:对称加密算法
Lamport发明 Lamport-Diffie的对称加密算法:
利用一组长度是报文的比特数( n)两倍的密钥 A,来产生对签名的验证信息,即随机选择
2n个数 B,由签名密钥对这 2n个数 B进行一次加密变换,得到另一组 2n个数 C
– 发送方从报文分组 M的第一位开始,依次检查 M的第 i位,若为 0时,取密钥 A的第 i位,若为 1则取密钥
A的第 i+1位; 直至报文全部检查完毕。所选取的 n
个密钥位形成了最后的签名。
后页 退出前页
– 接收方对签名进行验证时,也是首先从第一位开始依次检查报文 M,如果 M的第 i位为 0
时,它就认为签名中的第 I组信息是密钥 A的第 i位,若为 1则为密钥 A的第 i+1位; 直至报文全部验证完毕后,就得到了 n个密钥,由于接收方具有发送方的验证信息 C,所以可以利用得到的 n个密钥检验验证信息,从而确认报文是否是由发送方所发送。
– 采用逐位签名,安全性好,但签名太长,且签名密钥及相应的验证信息不能重复使用后页 退出前页数字证书
网络通信中标志通信各方身份信息的一系列数据,它提供了一种在网络上验证实体身份的方式,由一个证书授权中心 CA发行
– 由一个独立的且受信任的第三方( CA机构)数字签名的包含公开密钥拥有者信息以及公开密钥的文件
– 证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般还包括密钥的有效时间,发证机关
(证书授权中心 )的名称,该证书的序列号等信息。
后页 退出前页数字证书
工作过程:
– 想发送加密消息的实体向 CA机构提交申请,CA就向其发放一个包含了申请者公开密钥和其它身份信息的加密了的数字证书。
– CA将自己的公开密钥向公众发布或可以从因特网上获取。
– 加密消息的接收方使用 CA的公开密钥来解开附接在消息上的数字证书,并验证证书确实是由 CA发放的,
然后获得证书中发送者的公开密钥和身份信息。
后页 退出前页
CA机构 ( 发放数字证书,提供自己的公开密钥 )
实体从 CA获得数字证书及私有 /公开密钥对数字签名接收方以 CA的公开密钥认证消息来源的真实性,
并以数字证书中发送方的公开密钥解密消息待发送的信息散列函数用私有密钥加密
CA的公开密钥发送给接收方散列值后页 退出前页防火墙
防火墙位于内部网络和 Internet之间,阻断来自外部通过网络对本网络的威胁和入侵,提供扼守本网络的安全和审计的唯一关卡
– 所有来自和去往 Internet的信息都必须经过防火墙,
接受防火墙的检查。防火墙必须只允许授权的数据通过,并且防火墙本身也必须能够免于渗透。
– 防火墙是安全策略的一个部分,需要有全面的安全策略后页 退出前页防火墙
两类设置防火墙的基本准则
– 一切未被允许的就是禁止的
防火墙封锁所有信息流,然后对希望提供的服务逐项开放
– 一切未被禁止的就是允许的
防火墙就转发所有信息流,然后逐项屏蔽可能有害的服务后页 退出前页防火墙
防火墙的作用:
– 集中的网络安全,可作为中心“扼制点”
– 产生安全报警
– 监视并记录 Internet的使用
– NAT(网络地址转换)的理想位置
– WWW和 FTP等服务器的理想位置后页 退出前页
防火墙的限制,
– 无法防范通过除防火墙以外的其它途径的攻击
– 不能防止来自内部人员和不经心的用户们带来的威胁
– 不能完全防止传送已感染病毒得软件或文件
– 无法防范数据驱动型的攻击。
后页 退出前页防火墙的主要组件
网络策略
– 高层策略是网络服务访问策略,它定义允许或显式禁止的服务,服务的使用方法,以及允许例外时的条件;
– 低层策略描述防火墙如何实际限制访问和过滤那些在高层中定义的服务。
后页 退出前页
高级认证机制
– 采用如智能卡、认证令牌和基于软件的机制等克服传统口令的缺陷。
– 产生的口令不能被监视一次连接的攻击者再使用
数据包过滤
– 过滤可基于源 IP地址、目标 IP地址、
TCP/UDP源端口或目的端口后页 退出前页
应用网关:使用软件为服务转发及过滤连接
– 只允许那些有,代理,的服务通过
– 协议可能被过滤,如有些防火墙可以过滤
FTP连接并拒绝 FTP,put”命令的使用,这样就确保了匿名 FTP服务器不被用户写入后页 退出前页防火墙类型
数据包过滤防火墙
– 数据包过滤路由器安置在 Internet(或任何子网)网关上并配置过滤规则,
以阻塞或过滤协议和地址。
– 一般用于小站点后页 退出前页
site systems
IP Packet Filtering Router
数据包过滤防火墙后页 退出前页防火墙类型
双宿网关防火墙
– 由一个带两块网络接口卡的主机系统组成,
并使主机的 IP转发功能禁用(即在缺省条件下主机不再为两个相连网络的数据包寻径)
– 完全阻塞 Internet和被保护站点间的 通信 。
服务和访问由网关上的,代理服务器,来提供,只有存在,代理,的服务才被允许后页 退出前页
All Application
Traffic
IP Filtering
Internet
Application Gateway
HTTP/Gopher/FTP
Application TrafficInfo,Server
双宿网关防火墙后页 退出前页防火墙类型
屏蔽主机防火墙
– 将数据包过滤路由器和安置在路由器一侧受保护子网上的应用网关相结合。
– 应用网关只需一块网络接口卡,其,代理服务,传送允许的服务给站点系统。路由器过滤或屏蔽有危险的协议到达应用网关或站点系统,它根据下列原则处理通信:从 Internet到应用网关的通信被路由;
其它来自 Internet的通信被拒绝;除非来自应用网关,
所有源于内部的通信被拒绝。
后页 退出前页
IP Filtering
Internet
Application
Gateway
Other Trusted Traffic
All Application Traffic
Info,Server
屏蔽主机防火墙后页 退出前页防火墙类型
屏蔽子网防火墙
– 是双宿网关防火墙和屏蔽主机防火墙的变形。
它将防火墙的各组件放置在分离的系统上,
因而获得更大的吞吐量和灵活性。每个防火墙组件系统只需实现某一特定任务,减少了配置的复杂度。
后页 退出前页
Internet
Application
Gateway
Other Trusted Traffic
Application Traffic
Info,Server
Email Server
屏蔽子网防火墙