计算系统与网络安全 Computer System and Network Security

Slides:



Advertisements
Similar presentations
苗付友 年 12 月.
Advertisements

2.6 隐函数微分法 第二章 第二章 二、高阶导数 一、隐式定义的函数 三、可微函数的有理幂. 一、隐函数的导数 若由方程 可确定 y 是 x 的函数, 由 表示的函数, 称为显函数. 例如, 可确定显函数 可确定 y 是 x 的函数, 但此隐函数不能显化. 函数为隐函数. 则称此 隐函数求导方法.
第六章 杂凑函数 聂旭云
§3.4 空间直线的方程.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
网络安全协议 Network Security Protocols
第5讲 认证技术基础.
06資訊安全-加解密.
计算机网络安全 第五章.
实用操作系统概念 张惠娟 副教授 1.
第5章 定积分及其应用 基本要求 5.1 定积分的概念与性质 5.2 微积分基本公式 5.3 定积分的换元积分法与分部积分法
第三节 格林公式及其应用(2) 一、曲线积分与路径无关的定义 二、曲线积分与路径无关的条件 三、二元函数的全微分的求积 四、小结.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
现代密码学理论与实践 第10章 密钥管理和其他公钥密码体制
计算系统与网络安全 Computer System and Network Security
第三章 多维随机变量及其分布 §2 边缘分布 边缘分布函数 边缘分布律 边缘概率密度.
第十讲公钥加密算法 (续) 公钥密码(续) RSA \ ElGamal algorithms.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
第三章 公钥基础设施PKI 本章学习重点掌握内容: 密码学基本术语 密码体制分类 私钥密码体制的主要特点 公钥密码体制的主要特点
CH19資訊安全 認識資訊安全與其重要性 了解傳統與公開金鑰密碼系統, 以及基本的安全性觀念 了解訊息鑑別與雜湊函數 了解數位簽章法
第二章 矩阵(matrix) 第8次课.
Computer Graphics 计算机图形学基础 张 赐 Mail: CSDN博客地址:
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
基礎密碼學 非對稱式金鑰加密法 樹德科技大學 資訊工程系 林峻立 助理教授.
走进编程 程序的顺序结构(二).
数 控 技 术 华中科技大学机械科学与工程学院.
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
密码学基础(3) 胡建斌 北京大学网络与信息安全研究室
第17章 网站发布.
计算机数学基础 主讲老师: 邓辉文.
现代密码学理论与实践 第9章 公钥密码学与RSA
工业机器人技术基础及应用 主讲人:顾老师
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
计算机安全与保密 古典密码 张 旻 杭 州 电 子 科 技 大 学.
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
实数与向量的积.
概 率 统 计 主讲教师 叶宏 山东大学数学院.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
VisComposer 2019/4/17.
主要内容: 无线局域网的定义 无线传输介质 无线传输的技术 WLAN的架构 无线网络搭建与配置 无线网络加密配置
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
计算系统与网络安全 Computer System and Network Security
密碼學 Chapter 4 基於電腦的非對稱性金鑰密碼學演算法
复习.
IT 安全 第 11节 加密控制.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
现代密码学理论与实践 第7章用对称密码实现保密性
现代密码学理论与实践 第11章 消息认证和散列函数
第16讲 相似矩阵与方阵的对角化 主要内容: 1.相似矩阵 2. 方阵的对角化.
iSIGHT 基本培训 使用 Excel的栅栏问题
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
1.设A和B是集合,证明:A=B当且仅当A∩B=A∪B
第三章 函数的微分学 第二节 导数的四则运算法则 一、导数的四则运算 二、偏导数的求法.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
§2 方阵的特征值与特征向量.
基于列存储的RDF数据管理 朱敏
VoIP组工作汇报 黄权 李光华.
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
第十七讲 密码执行(1).
第十二讲 密码执行(上).
入侵检测技术 大连理工大学软件学院 毕玲.
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
App 加密算法建议 Possible lab 土豪军 小陈.
Presentation transcript:

计算系统与网络安全 Computer System and Network Security 电子科技大学 计算机科学与工程学院 2019/1/3

第3章 密码学基础 密码算法 消息认证 数字签名 身份认证 访问控制 密钥管理 2019/1/3

第3章 密码学基础 密码算法 消息认证 数字签名 身份认证 访问控制 密钥管理 2019/1/3

密码算法 密码算法分类 对称密码学: DES-》AES 非对称密码学:RSA-》ECC 密码算法 基于保密的内容 明文处理方法 基于密钥保密性 基于算法保密性 分组密码算法 流密码算法 对称密码算法 非对称密码算法 对称密码学: DES-》AES 非对称密码学:RSA-》ECC 2019/1/3

DES 2019/1/3

RSA 算法概要: Bob选择保密的素数p和q,并计算n=pq; Bob通过gcd(e,(p-1)(q-1))=1来选择e; Bob通过de≡1(mod(p-1)(q-1))来计算d; Bob将n和e设为公开的,p、q、d设为秘密的; Alice将m加密为c ≡me(mod n),并将c发送给Bob; Bob通过计算m ≡cd(mod n)解密。 2019/1/3

RSA: 例1 选择两个素数: p=17 & q=11 计算 n = pq =17×11=187 选择 e : gcd(e,160)=1; 其中e=7 计算d: de=1 mod 160 且d < 160 ,则 d=23 (因为23×7=161= 10×160+1) 公布公钥KU={7,187} 保存私钥KR={23,17,11} 2019/1/3

RSA: 例1(续) 如果待加密的消息 M = 88 (注意: 88<187) 加密:C = 887 mod 187 = 11 解密:M = 1123 mod 187 = 88 2019/1/3

RSA: 例2 Bob选择 p=885320693, q=238855417, 则可以计算 n=p*q=211463707796206571, 设加密系数为 e=9007,将n和e发送给Alice。 假设Alice传递的信息是cat。 令a=01 c=03 t=20,则cat=030120=30120。 Alice计算:c ≡me ≡301209007 ≡113535859035722866(mod n) 她将c传给Bob。 2019/1/3

RSA: 例2(续) Bob已知p和q的值,他用扩展欧几里德算法计算d: de ≡1(mod(p-1)(q-1)), 得到 cd ≡ 113535859035722866116402471153538991 ≡30120(mod n) 由此他可以得到最初的信息。 2019/1/3

AES 算法概要: 明文Xi 字节代替BS 子密钥K0 行移位SR 列混合MC r轮迭代 Ki-1 密文Y Xi (b) 一轮AES结构 (a)AES算法框图 AES的设计原则:能够抵御已知攻击、硬件实现容易且速度快、设计简单 2019/1/3

ECC ECC: Elliptic Curve Cryptography 1985年,N.Koblitz及V.S.Miller分别提出了椭圆曲线密码体制(ECC)。 已经开发出的椭圆曲线标准的文档有:IEEE P1363 P1363a、ANSI X9.62 X9.63、 ISO/IEC14888等 。 近年来,ECC已走向工程实现和实际应用阶段。 目前,德国、日本、法国、美国、加拿大等许多西方国家的密码学研究小组和公司已经实现了椭圆曲线密码体制。 2019/1/3

ECC(续) 为什么要提出ECC? RSA 主要问题之一: ECC的优势: 为了保证必要的安全强度,其密钥必须很长 2019/1/3

ECC(续) 椭圆曲线指的是由韦尔斯特拉斯(Weierstrass)方程所确定的平面曲线 。 其中,系数 (i =1,2,…,6)定义在基域K上(K可以是有理数域、实数域、复数域,还可以是有限域,椭圆曲线密码体制中用到的椭圆曲线都定义在有限域上)。 椭圆曲线并非椭圆 2019/1/3

ECC(续) 群: 环:对于R上的两个二元运算(+,x)满足: 域:对于F上的两个运算(+,x)满足 对于非空集合G,其上的一个二元运算(.)满足:封闭性、结合率、单位元和可逆性 环:对于R上的两个二元运算(+,x)满足: 关于+是一个交换群(群的条件+交换率) 对于乘法x满足: 封闭性+结合率+分配率 域:对于F上的两个运算(+,x)满足 F是一个整环:交换环+乘法逆元+无零因子 乘法逆元存在 2019/1/3

ECC(续) 2019/1/3

ECC(续) 椭圆曲线加法运算规则: O是加法的单位元,O=-O;对于椭圆曲线上的任一点P,有P+O=P 点P的负元是与P具有现同x坐标和相反y坐标的点,即若P=(x,y),则-P=(x,-y);P+(P)=O 若P=(x1,y),Q=(x2,z),则P+Q=-R。其中R是直线PQ与椭圆曲线的第三个交点。 若P和Q的 x坐标相同,则为无穷远点O 若Q=(x,y),则Q+Q=2Q=-S,其中S为椭圆曲线在Q点的切线与椭圆曲线的另一交点。 2019/1/3

ECC(续) 有限域上椭圆曲线 y2x3+ax+b mod p p是奇素数,且4a3+27b20 mod p (构成Abel群的条件,证明过程略) y2+xyx3+ax2+b mod 2m(Galois 域的椭圆曲线) 2019/1/3

按照上述定义构成了一个椭圆曲线上的Abel群 ECC(续) 有限域上椭圆曲线 y2x3+ax+b mod p (1)P+O=P (4)重复相加: nP=P+…+P (2)P=(x,y) P+(x,y)=O 其中(x,-y)是P的负元-P (3)加法公式: P=(xp,yp), Q=(xQ,yQ) 若xP=xQ且yP=-yQ则P+Q=O 否则 P+Q=(xR,yR) xR=2-xP-xQ yR=(xP-xR)-yP 其中 =(yQ-yP)/(xQ-xP), 如果PQ =(3xP2+a)/(2yP), 如果P=Q 按照上述定义构成了一个椭圆曲线上的Abel群 2019/1/3

ECC(续) y2x3+ax+b mod p 示例:有限域上椭圆曲线 条件:a=1, b=1,x=9,y=7,p=23 y2 =72 mod 23=3 x3+ax+b=(93 +9+1) mod 23=3 2019/1/3

ECC示例 y2x3+ax+b mod p 示例:有限域上椭圆曲线 条件:a=1, b=1,x=9,y=7,p=23 问题: 求满足上述方程的所有整数对(x,y)以及无穷远点O组成的集合Ep(a,b) =E23(1,1)? 2019/1/3

ECC示例(续) E23(1,1) (0,1) (6,4) (12,19) (0,22) (6,19) (13,7) (1,7) (7,11) (13,16) (1,16) (7,12) (17,3) (3,10) (9,7) (17,20) (3,13) (9,16) (18,3) ( 4,0) (11,3) (18,20) (5,4) (11,20) (19,5) (5,19) (12,4) (19,18) 2019/1/3

ECC示例(续) E23(1,1) (0,1) (6,4) (12,19) (0,22) (6,19) (13,7) (1,7) 1)P=(0,1),P+O=(0,1) (0,1) (6,4) (12,19) (0,22) (6,19) (13,7) (1,7) (7,11) (13,16) (1,16) (7,12) (17,3) (3,10) (9,7) (17,20) (3,13) (9,16) (18,3) ( 4,0) (11,3) (18,20) (5,4) (11,20) (19,5) (5,19) (12,4) (19,18) 2)P=(13,7) -P=(13,-7)=(13,16) 3)P=(3,10),Q=(9,7) P+Q=(17,20) 4)P=(3,10) 2P=(7,12) 2019/1/3

ECC示例(续) P+Q计算过程: x3=2-x1-x2 y3=(x1-x3)-y1 其中 =(y2-y1)/(x2-x1), 如果PQ =(3x12+a)/2y1, 如果P=Q 2019/1/3

按照上述定义构成了一个椭圆曲线上的Abel群 ECC(续) 有限域上椭圆曲线 y2+xyx3+ax2+b mod 2m(Galois 域的椭圆曲线) (1)P+O=P (2)P=(x,y) P+(x,-y)=O 其中(x,-y)是P的负元-P (3)加法公式: P=(xP,yP), Q=(xQ,yQ),且P≠-Q, P ≠Q 则 P+Q=(xR,yR) xR=2+  +xP+xQ+a yR=(xP+xR)+xR +yP 其中 =(yQ+yP)/(xQ+xP) (4) 若P=(xP,yP), 则R=2P=(xr,yr) 其中: xR=2+  +a yR=xP2+(  +1)xR =xp+yp/xP 按照上述定义构成了一个椭圆曲线上的Abel群 2019/1/3

ECC(续) 椭圆曲线上的离散对数“难题” 例如: 对于方程Q=kP,其中P,Q属于Ep(a,b)。对于给定的k和P,计算Q比较容易,而对于给定的P和Q,计算k比较困难 例如: 方程y2=(x3+9x+17) mod 23所定义的群E23(9,17)。求:P=(16,5)和Q=(4,5)的离散对数k? 穷举计算: P=(16,5),2P=(20,20), 3P=(14,14),4P=(19,20),5P=13,10);6P=(7,3),7P=(8,7),8P=(12,17),9P=(4,5) 因此k=9 2019/1/3

ECC加密/解密实现 Alice->Bob Step 1:Bob选择Ep(a,b)的元素G,使得G的阶n是一个大素数,秘密选择整数k.计算P=kG,公开(p,a,b,G,P),保密k。其中Kb=kG为Bob公钥,Kb‘=k为Bob私钥 Step 2:将消息m编码为x-y形式的点Pm Step 3:Alice随机选择一个正整数r,对Pm产生密文Cm={rG,Pm+rKb} Step 4:Bob解密 Cm-Kb’(rG) =Pm+rKb-krG =Pm+r(kG)-rkG=Pm 2019/1/3

ECC加密/解密实现(续) Alice->Bob(示例) Step 1:Bob选择E88331(3,45),G=(4,11), Bob私钥Kb‘=K=3, Bob公布公钥Kb=(413,1808) Step 2: Pm=(5,1734) Step 3:Alice随机选择一个正整数r=8,对Pm产生密文: Cm={rG,Pm+rKb}={(5415,6321),(6626,3576)} Step 4:Bob解密 Kb’(rG)=3(5415,6321)=(673,146) Cm -Kb’(rG)=(6626,3576)-(673,146)=(5,1734) 2019/1/3

序列密码 按位处理消息 一般具有一个伪随机密钥流发生器 对明文按位进行异或运算 (XOR) 以随机的密钥流来破坏消息的统计特征 Ci = Mi XOR StreamKeyi 2019/1/3

序列密码(续) 同步流密码原理 安全信道 种子密钥k 种子密钥k 密钥流生成器 密钥流生成器 密钥流Ki 密钥流Ki 公开信道 明文m 加密变换 密文c 密文c 明文m 解密变换 2019/1/3

序列密码(续) 自同步流密码原理 安全信道 种子密钥k 种子密钥k 密钥流生成器 密钥流生成器 密钥流Ki 密钥流Ki 明文m 公开信道 加密变换 明文m 解密变换 密文c 密文c 2019/1/3

序列密码:RC4 RC: “RC” is Ron’s Code or Rivest Cipher 1987年Ron Rivest 为RSA公司所设计的流密码算法 可变密钥长度的、面向字节操作的流密码:8~2048位可变 1994年算法才公开 在SSL/TLS和IEEE 802.11无线网络中有广泛应用:WEP协议 2019/1/3

序列密码:RC4(续) RC4初始化 用从1到256个字节的可变长度密钥初始化矢量S:0..255 ,S[0],S[1],…,S[255] 密钥流字节K由S中255个元素按照一定方式选出一个元素来生成 每生成一个K,S中的元素就被重新置换一次 2019/1/3

序列密码:RC4(续) 密钥生成 初始化S 初始条件:密钥种子 Key[ ],密钥初始化向量S 初始化S:S中元素被置为按升序从0到255: 如果密钥种子Key的长度为256字节,则将Key赋值给K; 否则将K的值赋给K的前N个元素(N为密钥长度), 循环重复用Key的值赋给K剩下的元素,直到K的所有元素都被赋值 然后用K产生S的初始置换 从S[0]到S[255],对每个S[i],根据由K[i]确定的方案,将S[i]置换为S中的另外一个字节 由于对S的操作仅是交换(即置换),因此S仍然包含所有值为0到255的元素 2019/1/3

序列密码:RC4(续) Input :Key[ ], N=len(key) Output: S[ ] /*密钥流初始值*/ /*Array “key” contains N bytes of key*/ /*Array “S” always has a permutation of 0,1,…,255*/ for i = 0 to 255 S[i] = i K[i] = key[i (mod N)] next i j = 0 j = (j + S[i] + K[i]) mod 256 swap(S[i], S[j]) 2019/1/3

序列密码:RC4(续) 加密与解密 密钥流KeyStramByte的生成是从S[0]到S[255],对每个S[i],根据当前S的值,将S[i]与S中另外一个字节置换 当S[255]完成置换后,操作继续重复 加密: 将KeyStreamByte值与下一个明文字节异或 解密: 将KeyStreamByte值与下一个密文字节异或 2019/1/3

序列密码:RC4(续) Input :M, S[ ] Output: C i=j=0 for each message byte Mi i = (i + 1) mod 256 j = (j + S[i]) mod 256 swap(S[i], S[j]) t = (S[i] + S[j]) mod 256 KeyStreamByte = S[t] Ci = Mi XOR KeyStreamByte Next C=C1|C2|…|Cn 2019/1/3

序列密码:RC4(续) RC4安全性 对已知的密码分析很安全 结果非线性 绝对不能重复使用密钥 有很多攻击分析,但不是很实际 结果非线性 绝对不能重复使用密钥 在无线保密协议( WEP)中使用,但是有潜在的安全问题 2019/1/3

第3章 密码学基础 密码学算法 消息认证 数字签名 身份认证 访问控制 密钥管理 2019/1/3

Message Authentication 认证:消息的接收者对消息进行的验证 真实性:消息确实来自于其真正的发送者,而非假冒; 完整性:消息的内容没有被篡改。 是一个证实收到的消息来自可信的源点且未被篡改的过程。它也可以验证消息的顺序和及时性 2019/1/3

消息认证概念 三元组(K,T,V) 密钥生成算法K 标签算法T 验证算法V 攻击者 信宿 信源 认证编码器 认证译码器 安全信道 密钥源 2019/1/3

认证函数 鉴别编码器和鉴别译码器可抽象为认证函数 认证函数 产生一个鉴别标识(Authentication Identification) 给出合理的认证协议(Authentication Protocol) 接收者完成消息的鉴别(Authentication) 2019/1/3

认证函数分类 认证的函数分为三类: 消息加密函数(Message encryption) 用完整信息的密文作为对信息的认证。 消息认证码MAC (Message Authentication Code) 是对信源消息的一个编码函数。 散列函数 (Hash Function) 是一个公开的函数,它将任意长的信息映射成一个固定长度的信息。 2019/1/3

认证函数:加密函数 对称加密:保密性与认证 M M Bob Alice E D EK(M) K K 提供保密 提供认证 不提供签名 2019/1/3

认证函数:加密函数(续) 公钥加密:保密性 M M Bob Alice E D EKa(M) Ka K’a 提供保密 不提供认证 2019/1/3

认证函数:加密函数(续) 公钥加密:认证与签名 M M Bob Alice D E EK’b(M) K’b Kb 提供认证 2019/1/3

认证函数:加密函数(续) 公钥加密:保密、认证与签名 M D E Bob Dk’b(M) EKa(Dk’b(M)) K’b Ka Alice 提供认证 提供保密性 2019/1/3

认证函数:加密函数(续) 公钥加密:保密、认证与签名?? M E D Alice Bob EK’b(Eka(M)) Ea(M) Ka K’b 提供认证 提供保密性 2019/1/3

认证函数:消息认证码 消息认证码: 使用一个密钥生成一个固定大小的短数据块,并将该数据块加载到消息后面,称MAC(或密码校验和) MAC=Ck(M) MAC函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少 2019/1/3

认证函数:消息认证码(续) MAC的基本用法:消息认证 K C M M || 比较 C Bob Alice CK(M) K 提供认证 2019/1/3

认证函数:消息认证码(续) MAC的基本用法:与明文有关的认证 M M M K2 || E D C K2 K1 CK(M) K1 C M 比较 Alice Bob 提供认证 提供保密 2019/1/3

认证函数:消息认证码(续) MAC的基本用法:与密文有关的认证 K2 Ek2(M) M D M M M E || C C K2 K1 比较 K1 Bob Alice 提供认证 提供保密 2019/1/3

认证函数:Hash函数 Hash Function 哈希函数、摘要函数 输入:任意长度的消息报文 M 输出:一个固定长度的散列码值 H(M) 是报文中所有比特的函数值 单向函数 2019/1/3

认证函数:Hash函数(续) 根据是否使用密钥 Hash函数需满足以下条件: 带秘密密钥的Hash函数:消息的散列值由只有通信双方知道的秘密密钥K来控制。此时,散列值称作MAC。 不带秘密密钥的Hash函数:消息的散列值的产生无需使用密钥。此时,散列值称作MDC。 Hash函数需满足以下条件: 输入x可以为任意长度,输出为固定长度 正向计算容易,反向计算困难 抗冲突性(无冲突性) 2019/1/3

认证函数:Hash函数(续) 哈希函数的基本用法(a) K M M M || E D H K H(M) EK(M|H(M)) H M 比较 Bob Alice 提供认证 提供保密 2019/1/3

认证函数:Hash函数(续) 哈希函数的基本用法(b) H M M || 比较 D H E Bob Alice EK(H(M)) K K 提供认证 2019/1/3

认证函数:Hash函数(续) 哈希函数的基本用法(c) H M M || 比较 E H D Bob Alice DK’b(H(M)) Kb 提供认证 2019/1/3

认证函数:Hash函数(续) 哈希函数的基本用法(d) K M M M D || E D K H DK’b(H(M)) Bob Ek(M|DK’b(H(M)) Alice K’b H M 比较 E 提供认证 提供保密 Kb 2019/1/3

认证函数:Hash函数(续) 哈希函数的基本用法(e) S || H M || M 比较 || H S H(M||S) Alice Bob 提供认证 2019/1/3

认证函数:Hash函数(续) 哈希函数的基本用法(f) K M M M || E D || H K S S H(M||S) EK(M||H(M||S) || H M 比较 Bob Alice 提供认证 提供保密 2019/1/3

第3章 密码学基础 密码学算法 消息认证 数字签名 身份认证 访问控制 密钥管理 2019/1/3

数字签名 数字签名:Digital Signature 传统签名的基本特点 数字签名是传统签名的数字化 签名是可信的:能与被签的文件在物理上不可分割 签名是不可抵赖的:签名者不能否认自己的签名 签名不能被伪造:除了合法者外,其他任何人不能伪造其签名 签名是不可复制的:对一个消息的签名不能通过复制的方式变为另外一个消息的签名 签名是不可改变的:经签名的消息不能被篡改 容易被验证 数字签名是传统签名的数字化 能与所签文件“绑定” 签名者不能否认自己的签名 容易被自动验证 签名不能被伪造 2019/1/3

数字签名(续) 五元组(P,A,K,S,V) P是所有消息组成的有限集 A是所有可能的签名组成的有限集 K是所有可能的密钥组成的有限集 D验证算法 2019/1/3

数字签名(续) 可分为两类: 直接数字签名方案(direct digital signature); 基于仲裁的数字签名方案(arbitrated digital signature)。 2019/1/3

直接数字签名 Sa(M) Eb(Sa(M)) Eb(M,Sa(H(M))) M,Sa(H(M)) M M M H S H H H(M) Alice (A) Bob (B) 直接签名 Alice (A) Bob (B) 加密+签名 Eb(M,Sa(H(M))) M,Sa(H(M)) Alice (A) Bob (B) 加密+签名+Hash Alice (A) Bob (B) Hash+签名 M M M H 比较 S H H H(M) Ek(H) Dk(H) 2019/1/3 Hash+签名

仲裁数字签名 Trent (T) Trent (T) Alice (A) Bob (B) Trent (T) Bob (B) Ebt(IDa, M ,Eat(Ida,H(M)), T)) M,Eat(IDa,H(M)) Trent (T) Ida,Sa(Ida,Eb(Sa(M))) Trent (T) St(IDa,Eb(Sa(M)), T) Alice (A) 对称密码+明文传送 Bob (B) Ebt(IDa,Eab( M),Eat(Ida,Eab(H(M), T) Eab(M),Eat(IDa,Eab(H(M))) 公钥密码+密文传送 Trent (T) Bob (B) Alice (A) 对称密码+密文传送 Bob (B) Alice (A) 2019/1/3

数字签名体制 普通数字签名体制 不可否认的数字签名算法 群签名算法 盲签名算法 DSS签名算法我们在后续课程中讲述 RSA EIGamal DSS/DSA 不可否认的数字签名算法 群签名算法 盲签名算法 DSS签名算法我们在后续课程中讲述 2019/1/3

数字签名体制(续) 盲签名算法 t=mkemod n td=(mke)dmod n Alice (A) Bob (B) 2019/1/3

第3章 密码学基础 密码学算法 消息认证 数字签名 身份认证 访问控制 密钥管理 2019/1/3

身份认证 身份认证的定义: 身份认证又叫身份鉴别、实体认证、身份识别 声称者向验证者出示自己的身份的证明过程 证实客户的真实身份与其所声称的身份是否相符的过程 身份认证又叫身份鉴别、实体认证、身份识别 认证目的: 使别的成员(验证者)获得对声称者所声称的事实的信任。身份认证是获得系统服务所必须的第一道关卡。 2019/1/3

身份认证(续) 身份认证可以分为本地和远程两类。 实体鉴别可以是单向的也可以是双向的。 单向认证是指通信双方中只有一方向另一方进行鉴别。 本地:实体在本地环境的初始化鉴别(就是说,作为实体个人,和设备物理接触,不和网络中的其他设备通信)。 远程:连接远程设备、实体和环境的实体鉴别。 实体鉴别可以是单向的也可以是双向的。 单向认证是指通信双方中只有一方向另一方进行鉴别。 双向认证是指通信双方相互进行鉴别。 2019/1/3

身份认证(续) 身份认证系统的组成: 示证者 可信第三方 验证者 攻击者 认证服务器 认证系统用户端软件 认证设备 认证协议 AP 2019/1/3

身份认证协议 常见的协议 PAP CHAP Kerberos X.509 2019/1/3

身份认证依据 主要依据包括三个方面: Something the user know (所知) 密码、口令等 Something the user possesses (拥有) 身份证、护照、密钥盘等 Something the user is (or How he behaves) 指纹、笔迹、声音、虹膜、DNA等 2019/1/3

身份认证机制 认证机制 非密码的鉴别机制 基于密码算法的鉴别 零知识证明协议 采用对称密码算法的机制 采用公开密码算法的机制 采用密码校验函数的机制 零知识证明协议 2019/1/3

非密码身份认证 非密码的鉴别机制 口令机制 一次性口令机制 基于地址的认证机制 基于生物特征的认证机制 个人令牌认证机制 2019/1/3

口令机制:明文 明文口令表 明文形式存放的口令表 用户输入PW 用户输入ID N ID OK? 拒绝 Y ID 查找与该ID对应的PW 身份标识 注册口令 ID1 PW1 ID2 PW2 ID3 PW3 .... .... IDn PWn PW‘ PW N 相同? 拒绝 Y 明文形式存放的口令表 接受 2019/1/3

口令机制:Hash保存 基于单向hash函数的口令表 Hash值形式存放的口令表 用户输入PW 用户输入ID N ID OK? 拒绝 Y 函数计算 查找与该ID对应的H(PW) 身份标识 注册口令 ID1 H(PW1) ID2 H(PW2) ID3 H(PW3) .... .... IDn H(PWn) H(PW‘) H(PW) N 相同? 拒绝 Y Hash值形式存放的口令表 接受 2019/1/3

口令机制:加盐机制 加盐Hash口令表 “加盐”Hash值形式存放的口令表 用户输入PW 用户输入ID N ID OK? 拒绝 Y ID 函数计算 查找与该ID对应的H(PW) 身份标识 注册口令 盐 ID1···· H(PW1+R1) R1 ID2 H(PW2+R2) R2 ID3 H(PW3+R3) R3 .... .... ... IDn H(PWn+Rn) Rn R H(PW‘+R) H(PW+R) N 相同? 拒绝 Y “加盐”Hash值形式存放的口令表 接受 2019/1/3

请依据上述过程描述,设计该一次性口令协议 一次性口令认证机制 4. 输入私钥 1. 用户登录 2. 登录请求 S/KEY 服务器 3. S/KEY质询 客户端 7. 传送口令 5. 私钥与质询输入计算器 6. 产生本次口令 口令计算器 请依据上述过程描述,设计该一次性口令协议 2019/1/3

基于地址的认证机制 基于地址的机制假定声称者的可鉴别性是以呼叫的源地址为基础的。 在大多数的数据网络中,呼叫地址的辨别都是可行的。 在不能可靠地辨别地址时,可以用一个呼叫—回应设备来获得呼叫的源地址。 一个验证者对每一个主体都保持一份合法呼叫地址的文件。 这种机制最大的困难是在一个临时的环境里维持一个连续的主机和网络地址的联系。地址的转换频繁、呼叫—转发或重定向引起了一些主要问题。 基于地址的机制自身不能被作为鉴别机制,但可作为其它机制的有用补充。 2019/1/3

基于生物特征的认证机制 生物特征识别技术主要有: 1)指纹识别; 2)声音识别; 3)手迹识别; 4)视网膜扫描; 5)手形。 生物特征识别技术主要有: 1)指纹识别; 2)声音识别; 3)手迹识别; 4)视网膜扫描; 5)手形。 2019/1/3

个人令牌认证机制 物理特性用于支持认证“某人拥有某东西” ,但通常要与一个口令或PIN结合使用。 这种器件应具有存储功能,通常有键盘、显示器等界面部件,更复杂的能支持一次性口令,甚至可嵌入处理器和自己的网络通信设备(如智能卡)。 这种器件通常还利用其它密码鉴别方法。 2019/1/3

第3章 密码学基础 密码学算法 消息认证 数字签名 身份认证 访问控制 密钥管理 2019/1/3

访问控制 访问控制:Access Control 依据一定的授权规则,对提出的资源访问加以控制。 访问控制是网络安全防护技术的主要安全策略之一,它可以通过关键资源的限制访问,达到防止非法用户使用和合法用户滥用权限所造成的资源破坏。 2019/1/3

访问控制的组成 访问控制三要素 主体、客体、安全访问策略 主体 访问控制实施功能 客体 提交访问请求 提出访问请求 请求决策 决策 访问控制决策功能 2019/1/3

访问控制模型 典型的访问控制模型 自主访问控制模型 强制访问控制模型 基于角色的访问控制模型 基于任务的访问控制模型 2019/1/3

强制访问控制模型 强制访问控制模型 主体和客体均被赋予一定的安全级别,主体不能改变自身和客体的安全级别,只有系统管理员才能够确定主体的权限 系统对访问主体和受控对象实行强制访问控制 依据主体和客体的安全级别决定是否允许访问 2019/1/3

强制访问控制模型(续) 依据主体和客体的安全级别,MAC中主体对客体的访问有四种方式: 向下读(Read Down,rd) 主体安全级别高于客体的安全级别时允许的读操作 向上读(Read Up,ru) 主体安全级别低于客体的安全级别时允许的读操作 向下写(Write Down,wd) 主体安全级别高于客体的安全级别时允许的写操作 向上写(Write Up,wr) 主体安全级别低于客体的安全级别时允许的写操作 2019/1/3

强制访问控制模型(续) 常见的强制访问控制模型 Bell-LaPadula模型 Lattice模型 主体 客体 主体 客体 绝密 绝密 机密 未分类 主体 客体 禁止读 允许读 绝密 机密 未分类 主体 客体 禁止读 允许读 绝密 机密 未分类 允许写 禁止写 Bell-LaPadula模型 绝密 机密 未分类 禁止写 允许写 Lattice模型 2019/1/3

基于角色的访问控制模型 基于角色的访问控制模型(RBAC) .. 。 客体1 用户1 角色1 用户2 客体2 角色2 用户3 客体3 角色 操作 客体 .. 。 权限1 客体1 用户1 属于 角色1 权限2 用户2 客体2 属于 权限3 角色2 属于 用户3 权限4 客体3 2019/1/3

基于任务的访问控制模型 基于任务的访问控制模型 从应用的角度来考虑安全问题 依据工作流来划分访问控制 任务:是工作流中的一个逻辑单元,是一个可区分的动作 基于任务的访问控制模型: 五元组(S,O,P,L,AS) S:主体 O:客体 P:许可 L:生命周期 AS:授权步(表示一个原始的授权处理步骤,是指在一个工作流中对处理对象的一次处理过程) 2019/1/3

访问控制的实现技术 一般实现机制: 常见实现方法: 基于访问控制属性 基于用户和资源分级(“安全标签”) -访问控制表/矩阵 基于用户和资源分级(“安全标签”) -多级访问控制 常见实现方法: 访问控制表ACLs(Access Control Lists) 访问能力表(Capabilities) 访问控制矩阵 授权关系表 访问控制安全标签 2019/1/3

访问控制的实现技术(续) OBJ1 userA userB R O userC R W O 访问控制表 UserA OBJ1 OBJ2 R Own R W O userB R O userC R W O 访问控制表 UserA OBJ1 Own R W O OBJ2 R O OBJ3 R W O 访问能力表 2019/1/3

访问控制的实现技术(续) 访问控制矩阵 目标x R、W、Own 目标y 目标z 用户a 用户b 用户c 用户d R R、W 目标 用户 2019/1/3

访问控制的实现技术(续) UserA Own Obj1 UserA R Obj1 UserA W Obj1 UserB W Obj2 UserB R Obj2 授权关系表 2019/1/3

访问控制的实现技术(续) 用户 安全级别 用户1 绝密 用户2 机密 ...... 用户n 未分类 客体 安全级别 客体1 绝密 客体2 访问控制安全标签 2019/1/3

第3章 密码学基础 密码学算法 消息认证 数字签名 身份认证 访问控制 密钥管理 2019/1/3

密钥管理 密钥管理:Key Management 包括: 在一种安全策略指导下密钥的产生、存储、分配、删除、归档及应用 系统初始化、密钥产生、存储、备份/恢复、分配、保护、更新、控制、丢失、吊销和销毁等。 其中密钥分配和存储是最大的问题 2019/1/3

密钥管理(续) 依据使用的密码体制,密钥管理可分为: 对称密钥的管理 非对称密钥的管理 Oscar x y x Alice 加密机 解密机 存在困难性(???) 非对称密钥的管理 PKI 如何建立安全信道? Oscar x y x Alice 加密机 解密机 Bob k 安全信道 密钥源 2019/1/3

密钥管理(续) 根据不同的场合,密钥可分为: 初始密钥 会话密钥 密钥加密密钥 主密钥 用户专用 安全且易更换 加密数据 加密密钥 加密密钥加密密钥 2019/1/3

密钥管理的主要内容 密钥管理的主要内容 密钥产生 密钥登记 密钥注入 密钥存储 密钥分配 2019/1/3

密钥产生 密钥产生方式:手工/自动 不同密钥的产生方法: 主密钥安全性至关重要,故要保证其完全随机性、不可重复性和不可预测性。可用投硬币、骰子,噪声发生器等方法产生 密钥加密密钥数量大(N(N-1)/2),可由机器自动产生,安全算法、伪随机数发生器等产生 会话密钥可利用密钥加密密钥及某种算法(加密算法,单向函数等)产生。 初始密钥 类似于主密钥或密钥加密密钥的方法产生 2019/1/3

密钥产生(续) 密钥产生方式: 必须在安全环境中产生密钥以防止对密钥的非授权访问。 密钥生产形式现有两种 一种是由中心(或分中心)集中生产,也称有边界生产; 另一种是由个人分散生产,也称无边界生产。 两种方法各有优缺点 2019/1/3

密钥产生(续) 密钥产生技术: 硬件技术 物理噪声源 伪随机序列 物理随机序列 准随机序列 基于力学噪声源的密钥产生 基于电子学噪声源的密钥产生 基于混沌理论的密钥产生 2019/1/3

密钥产生(续) 线性同余算法 基于密码算法的随机数生成器 BBS(Blum-Blum-Shub)生成器。 循环加密; DES的输出反馈(OFB)模式; ANSI X9.17密钥生成器。 BBS(Blum-Blum-Shub)生成器。 2019/1/3

密钥产生:线性同余算法 线性同余算法产生密钥 有四个参数 模数m (m>0); 乘数a (0≤a<m); 增量c (0≤c<m); 种子X0 (0≤X0<m); 由迭代公式 得到随机数数列{Xn}。 2019/1/3

密钥产生:循环加密 循环加密方式生成伪随机数 周期为N 的计数器 C C+1 主密钥Km 加密算法 Xt=Ekm[c+1] 2019/1/3

密钥产生(续) DES的输出反馈(OFB)模式 可以用系统中断向量、系统状态寄存器和系统计数器生成DES密钥;用系统时钟、系统ID号、日期、时间生成初始化向量;用外部生成的64位数据作为明文输入(V0),如系统管理员键入的8个字符。这样,最后的输出就是生成的密钥(随机数)。 2019/1/3

密钥产生(续) 密钥产生技术: X9.17 加密 加密 加密 2019/1/3

密钥产生(续) BBS(Blum-Blum-Shub)生成器 已经被证明的密码强度最高的伪随机数生成器。 工作流程如下: 首先选择两个大素数p,q,满足 ,令 。 再选一个随机数s,使s余n互素。 然后按照以下算法产生比特序列 : 2019/1/3

密钥登记 密钥登记:将产生的密钥与特定的使用捆绑在一起。 例如,用于数字签名的密钥,必须与签名者的身份捆绑在一起。这个捆绑必须通过某一授权机构来完成。 2019/1/3

密钥注入 密钥注入 主密钥: 直接或间接装入,装入时须有电磁屏蔽,装入后不能再读出(但可间接验证) 密钥加密密钥: 直接或间接装入,装入时须有电磁屏蔽,装入后不能再读出,可联机或者间接验证 会话密钥: 初始密钥:直接或间接装入,装入后不能再读出,可联机验证 2019/1/3

密钥存储 密钥存储 一种是将所有密钥或公钥存储在专用媒体(软盘、芯片等)一次性发放给各用户,用户在本机中就可以获得对方的公钥,协议非常简单,又很安全。电脑黑客的入侵破坏,也只能破坏本机而不影响其他终端。 这种形式只有在KDC等集中式方式下才能实现。 第二种是用对方的公钥建立密钥环各自分散保存(如PGP)。 第三种是将各用户的公钥存放在公用媒体中(PKI)。 前两种都需要解决密钥传递技术,以获取对方的公钥 第三种还要解决公用媒体的安全技术,即数据库的安全问题。 2019/1/3

密钥存储(续) 密钥的保护 在实际中,最安全的方法是将其放在物理上安全的地方 除了公钥密码系统中的公钥外,所有的密钥需要保密。 在实际中,最安全的方法是将其放在物理上安全的地方 当一个密钥无法用物理的办法进行安全保护时,密钥必须用其它的方法来保护 – (1)将一个密钥分成两部分,委托给两个不同的人; – (2)通过机密性(例如,用另一个密钥加密)和/或完整性服务来保护。 极少数密钥(主机主密钥)以明文存储于有严密物理保护的密码器中,其他密钥都被(主密钥或次主密钥)加密后存储 2019/1/3

密钥分配 基本术语 密钥分配体制: 密钥分配协议:系统内的一个成员选择密钥,然后将它们安全传给其他成员 密钥协定协议:系统两个或者多个成员在公开的信道上联合建立秘密密钥.两个成员的密钥协定也称为密钥交换. 有些协议既是密钥分配协议,也是密钥协定协议. 密钥分配体制: 集中式 有集中的中心服务器来负责密钥分配 分布式 用户之间直接密钥交换 2019/1/3

密钥分配(续) 密钥分配方法: 人工方式 密钥分配中心方式 基于认证的密钥分发 密钥分发中心(Key distribution center, KDC) 密钥传递中心(Key translation center, KTC) 基于认证的密钥分发 2019/1/3

密钥分配(续) 密钥分发中心(KDC): KDC A B 密钥 请求 拉模式 KDC A B 密钥 请求 推模式 2019/1/3

密钥分配(续) 密钥传递中心(KTC): KTC A B 2 密钥 3 密钥 1 密钥 4 通信 拉模式 KTC A B 2 密钥 4 通信 2 密钥 4 通信 1 密钥 推模式 2019/1/3

教材与参考书 教材: 李毅超 曹跃,网络与系统攻击技术 电子科大出版社 2007 周世杰 陈伟 钟婷,网络与系统防御技术 电子科大出版社 2007 参考书 阙喜戎 等 编著,信息安全原理及应用,清华大学出版社 Christopher M.King, Curitis E.Dalton, T. Ertem Osmanoglu(常晓波等译). 安全体系结构的设计、部署与操作,清华大学出版社,2003(Christopher M.King, et al, Security Architecture, design, deployment & Operations ) William Stallings,密码编码学与网络安全-原理与实践(第三版),电子工业出版社,2004 Stephen Northcutt, 深入剖析网络边界安全,机械工业出版社,2003 冯登国,计算机通信网络安全,2001 Bruce Schneier, Applied Cryptography, Protocols, algorithms, and source code in C (2nd Edition)( 应用密码学 -协议、算法与C源程序, 吴世忠、祝世雄、张文政等译) 蔡皖东,网络与信息安全,西北工业大学出版社,2004 2019/1/3

Any Question? Q&A 2019/1/3