江西师范大学商学院电子商务教研室
陈建 副教授
E-mail,88888k@gmail.com
博客, http://unclear.blogchina.com
第 3章 信息安全技术
问题的提出
1996年 7月 9日, 北京市海淀区法院审理
国内第一起电子邮件侵权案 。
此案的原, 被告均系北京大学心理学系 93
级女研究生 。 4月 9日, 原告薛燕戈收到美国密
执安大学发给她的电子邮件, 内容是该校将给
她提供 1.8万美元奖学金的就学机会, 此后久
等正式通知却杳无音讯, 4月 27日查到密执安
大学在 4月 12日收到一封署名薛燕戈的电子邮
件, 表示拒绝该校的邀请 。 因此密执安大学已
将奖学金机会转给他人 。 经过调查, 证实以薛
名义发电子邮件的是其同学张男 。
如果电子邮件的发送
附加了数字签名,也许本
案就不会发生了。
3.1 信息安全概述
3.2 加密技术
3.3 数字签名技术
3.4 密钥管理技术
3.5 验证技术
3.6 数字证书技术
3.1 信息安全概述
安全问题
机密性
完整性
验证
不可否认
访问控制
安全目标 安全技术
信息的保密 加密
探测信息是否被篡改 数字摘要
验证身份 数字签名,提问 ——应答,口令,生物测定法
不能否认信息的发送、接收
及信息内容 数字签名,数字证书,时间戳
只有授权用户才能访问 防火墙,口令,生物测定法
3.2 加密技术
?3.2.1 对称加密系统
? 一、对称加密
? 二、对称加密算法
? 三、消息验证码
?3.2.2 不对称加密系统
? 一、公开密钥加密
? 二,RSA算法
? 三、加密与验证模式的结合
?3.2.3 两种加密方法的联合使用
所谓 加密,就是用基于数学方法的程序
和保密的 密钥 对信息进行编码,把计算机数
据变成一堆杂乱无章难以理解的字符串,也
就是把 明文 变成密文。
3.2加密技术
明文 明文
密文
加密算法 解密算法
密钥
密钥
加解密过程示意图
3.2.0 密码学的起源和发展
? 隐写术 (steganography),
通过隐藏消息的 存在 来保护消息
三个阶段,
?1949年之前:密码学是一门艺术
?1949~ 1975年:密码学成为科学
?1976年以后:密码学的新方向 ——公钥密码
学
3.2 加密技术
1,1949年之前,
古典密码:密码学还不是科学,而是
艺术
密码算法的基本手段 —,替换, 出
现, 针对的是字符
例一 希腊密码(二维字母编码
查表):公元前 2世纪
明文,HELLO
1 2 3 4 5
1 A B C D E
2 F G H IJ K
3 L M N O P
4 Q R S T U
5 V W X Y Z
密文,2315313134
例二 凯撒密码:公元前 50年
A B C D E F G …… X Y Z
D E F G H I J …… A B C
明文,Jiangxi Normal University
密文,mldqjal qrupdo xqlyhuvlwb
公元前 50年,古罗马的凯撒大帝在高
卢战争中采用的加密方法。凯撒密码算法
就是把每个英文字母向前推移 K位。
例三:代码本
? 代码本
?字母、符号、单词、短语 代码
?代码 字母、符号、单词、短语
?应用:第一、二次世界大战
2,1949~ 1975年,
计算机使得基于复杂计算的密码成为可能
?1949年 Shannon的, The Communication Theory
of Secret Systems”
?1967年 David Kahn的, The Codebreakers,
?1971-73年 IBM Watson实验室的 Horst Feistel
等的几篇技术报告
数据的安全基于密钥而不是算法的保密
3,1976年以后,
?1976年美国学者 Diffie和 Hellman根据单向
函数的概念提出了公开密钥密码算法,引起
了密码学的一场革命
?对称密钥密码算法进一步发展, 1977年 DES
正式成为标准
?美 国 麻 省理 工 学 院的 Rivest,Shamir和
Adleman于 1978年提出了 RSA算法
?90年代逐步出现椭圆曲线等其他公钥算法
?3.2.1 对称加密系统 —— 私有密钥
?对称加密特点
? 数据的发送方和接受方使用的是同一把 私有密
钥,即把明文加密成密文和把密文解密成明文
用的是同一把私有密钥。
3.2加密技术
?3.2.1 对称加密系统
?对称加密过程
? 发送方用自己的私有密钥对要发送的信息进行加密
? 发送方将加密后的信息通过网络传送给接收方
? 接收方用发送方进行加密的那把私有密钥对接收到的加
密信息进行解密,得到信息明文
3.2加密技术
密文明文
发送方
I n t e r n e t密文
密钥
发送方
( = 密钥
接收方
)
加密
明文
接收方
密钥
接收方
解密
对称加密的特点
优点,加解密速度快
缺陷, 首先是密钥数目的问题 n× (n-1)
其次是安全传输密钥也是一个难题
第三是无法鉴别彼此身份
3.2加密技术
?3.2.1 对称加密系统
?消息验证码( MAC)
? MAC也称为完整性校验值或信息完整校验
? 常用生成 MAC的方法,
?基于散列函数的方法
?基于对称加密的方法
模运算
? 给定一个正整数 p,任意一个整数 n,一定
存在等式 n=kp+r
其中 k,r是整数,且 0≤ r<p,称呼 k为 n
除以 p的商,r为 n除以 p的余数。
? 对于正整数 p和整数 a,定义取模运算,
a mod p 表示 a除以 p的余数。
例二 凯撒密码:公元前 50年
A B C D E F G …… X Y Z
D E F G H I J …… A B C
明文,Jiangxi Normal University
密文,mldqjal qrupdo xqlyhuvlwb
公元前 50年,古罗马的凯撒大帝在高
卢战争中采用的加密方法。凯撒密码算法
就是把每个英文字母向前推移 K位。
凯撒密码的原理
? 若将字母编号 a-z对应为 1-26
? 凯撒变换 c=(m+k)mod q
?q=26
传统加密系统的分类
? 密码流加密的工作原理
明文,m=m0m1m2… (一般是二进制序列 )
密钥, k=k0k1K2… ( 收发两端都知道)
将 k和 m对应的分量进行简单的模 2相加得到密
文 c=c0c1c2…
密文,ci≡(k i+mi)(mod 2)
解密,mi≡(k i+ci)(mod 2)
? 密码块加密的工作原理:首先将明文分成相同长
度的比特块,然后分别对每个比特块加密产生一
串密文块。解密时,对每个密文块进行解密得到
相应的明文比特块,将所有的明文比特合并起来
即得到明文。
3.2加密技术
?3.2.1 对称加密系统
?对称加密算法
? 数据加密标准( DES)
? 高级加密标准( AES)
? 三重 DES
? Rivest 密码
3.2加密技术
?3.2.2 不对称加密系统 ——公开密钥
?公开密钥加密
? 加密模式过程
?发送方用接收方公开密钥对要发送的信息进行加密
?发送方将加密后的信息通过网络传送给接收方
?接收方用自己的私有密钥对接收到的加密信息进行解
密,得到信息明文
发送方
明文 密文密文
公开密钥
接收方
明文
接收方
私有密钥
接收方
I n t e r n e t
3.2加密技术
?3.2.2 不对称加密系统
?公开密钥加密
? 验证模式过程
?发送方用自己的私有密钥对要发送的信息进行加密
?发送方将加密后的信息通过网络传送给接收方
?接收方用发送方公开密钥对接收到的加密信息进行解
密,得到信息明文
发送方
明文 密文密文
私有密钥
发送方
明文
接收方
公 开 密 钥
放送方
I n t e r n e t
3.2加密技术
?3.2.2 不对称加密系统
?不对称加密系统的基础 — 散列函数的概念
散列函数 f(x),如果给定 x,求 f(x)是容易的;
而给定 f(x),求 x则是困难的。
?RSA算法
? Ronald Rivest,Adi Shamir,Leonard Adleman
? 在美国申请了专利,且已于 2000年 9月到期
? 可逆的公开密钥加密系统,通过一个公共模数
的数字来形成公开密钥的,公共模数是通过两
个形成私人密钥的两个质数的乘数来获得的。
RSA算法的理论基础
? 两个大素数相乘在计算上是容易实现的,但将
其乘积分解为两个大素数因子的计算量却相当
巨大,大到甚至在计算机上也不可能实现。
? Euler定理,a,r是两个互素的正整数,则有
az≡1(mod r),其中 z为与 r互素且不大于 r的正整
数的个数。该算法取两个大素数的乘积作为其
模数 r。
RSA算法的实施
? 设计密钥,
?仔细选取两个互异的大素数 p和 q
?令 n=p× q, z=(p-1)× (q-1);
?接着选取一个随机数 e(0<e<z),满足
gcd(e,z)=1
?使用 Euclidean算法 e× d≡1(mod z) 计算 d
?在目录中公开加密密钥 e和 n,保密 p,q和 d
? 设计密文:把要求发送的明文信息 M数字
化、分块,其加密过程是 C≡ Me(mod n)
? 恢复明文,M≡ Cd(mod n)
一个具体 RSA实现过程的实例
? 假设用户 A需要将明文信息, HI”通过 RSA加密后传
递给用户 B,则其加密解密过程如下,
? 设计密钥 (e,n)和 (d,p,q)
?令 p=5,q=11,取 e=3;
?计算 n,n=p× q=5× 11=55;
?求 z,z=(p-1)× (q-1)=(5-1)× (11-1)=40;
?计算 d,由 e× d=1(mod z),即 3× d= 1(mod z),
可得 d=27。
因此,加密密钥为,(e,n)= (3,55)
解密密钥为,(d,p,q) = (27,5,11)
设计密文
? 将明文信息数字化,并按每块两个数字分组。
假定明文编码为:空格 =0,A=1,B=2,…,
Z=26,则数字化分组后的明文信息为,8,9。
? 用加密密钥 (3,55)将数字化明文分组信息加
密成密文。由 C≡ Me(mod n),得
C1≡ (8)3 (mod55)=512(mod55)=17
C2≡ (9)3 (mod55)=729(mod55)=14
因此,得到相应的密文信息为,17,14
恢复明文
用户 B收到密文,若需将其解密,只需计算
M≡ Cd(mod n),即
M1≡ (17)27 (mod55)=8
M2≡ (14)27 (mod55)=9
用户 B得到的明文信息为,8,9。将其转化为
原文,即得, HI”。
RSA算法实例
? 若 B选择了 p=101和 q=113,那么 n=p× q=11413,
z=(p-1)× (q-1)=110× 112=11200,选 e使
gcd(e,z)=1,假设 B选择了 e=3533,那么用
Euclidean算法 e× d=1(mod z)求得 B的解密密钥
d=6597
? B在一个目录中公开 n=11413和 e=3533
? 现假设 A想发送明文 9726给 B,他计算,
97263533(mod11413)=5761,且在一个信道上发送密文
? B接收到密文 5761时,他用他的私钥 d=6597进行解密
57616597(mod11413)=9726
应用 RSA算法对下列情况实现加密和解密
? P=11; q=13,e=11; M=7
? 设计密钥 (e,n)和 (d,p,q)
?p=11,q=13,e=11;
?计算 n,n=p× q=11× 13=143;
?求 z,z=(p-1)× (q-1)=(11-1)× (13-1)=120;
?计算 d,由 e× d=1(mod z),即 11× d= 1(mod z),
可得 d=11。
因此,加密密钥为,(e,n)= (11,143)
解密密钥为,(d,p,q) = (11,11,13)
设计密文
? 用加密密钥 (11,143)将明文信息 7加密
成密文。由 C≡ Me(mod n),得
C≡ 711(mod143)=?
因此,得到相应的密文信息为:?
恢复明文
接收方收到密文,若需将其解密,只需
计算 M≡ Cd(mod n),即
M≡ (? )11 (mod143)=7
接收方得到的明文信息为,7。
应用 RSA算法对下列情况实现加密和解密
? P=3; q=11,d=7; M=5
? 设计密钥 (e,n)和 (d,p,q)
?p=3,q=11,d=7;
?计算 n,n=p× q=3× 11=33;
?求 z,z=(p-1)× (q-1)=(3-1)× (11-1)=20;
?计算 e,由 e× d=1(mod z),即 e× 7= 1(mod z),
可得 e=3。
因此,加密密钥为,(e,n)= (3,33)
解密密钥为,(d,p,q) = (7,3,11)
设计密文
? 用加密密钥 (3,33)将明文信息 5加密成
密文。由 C≡ Me(mod n),得
因此,得到相应的密文信息为,26
C≡ 53(mod33)=26
恢复明文
接收方收到密文,若需将其解密,只需
计算 M≡ Cd(mod n),即
M≡ (26)7 (mod33)=5
接收方得到的明文信息为,5。
3.2加密技术
?3.2.2 不对称加密系统
?加密与验证模式的结合
? 保障信息机密性 & 验证发送方的身份
? 使用过程,
发送方
明
文
两次加
密的密
文
两次加
密的密
文
公 开 密 钥
接收方
明
文
接收方
私有密钥
接收方
I n t e r n e t
私有密钥
发送方
公 开 密 钥
放送方
优点:免除了传递金钥的困扰
网络中 N个用户之间通信仅需 N对密钥
可以实现数字签名
缺陷,加密、解密速度慢
非对称加密的特点
3.2加密技术
?3.2.3 两种加密方法的联合使用
使用过程,
I n t e r n e t
发送方
对称加密
明文 密文
发送方私
有密钥
接收方
发送方私
有密钥
接收方私
有密钥
加密后
的密钥
密文
加密后
的密钥
+
加密后
的密钥
接收方公
开密钥
发送方私
有密钥
对称解密
密文 明文
发送方私
有密钥
不对称解密
不对称加密
课堂讨论
, 电子商务安全管理, 采用无纸化考
试,为了保密处理,考生考完后需要对
答卷进行加密处理,假设有 DES,RSA两
种加密算法供选择,请问应该选择哪种
算法?为什么?如何处理?
3.2.4 量子密码
1969年美国哥伦比亚大学的 Wiesner创造
性地提出了共轭编码的概念,遗憾的是他的这
一思想当时没有被人们接受。十年后,源于共
轭编码概念的量子密码理论与技术才取得了令
人惊异的进步,已先后在自由空间和商用光纤
中完成了单光子密钥交换协议,英国 BT实验室
通过 30公里的光纤信道实现了每秒 20k比特的
密钥分配。近年来,英、美、日等国的许多大
学和研究机构竞相投入到量子密码的研究之中,
更大的计划在欧洲进行。
3.2 加密技术
? 从理论上来说, 传统的数学计算加密方法都是可以破译的,
再复杂的数学密钥也可以找到规律 。 第一台现代计算机的诞
生, 就是为了破解复杂的数学密码 。 随着计算机的飞速发展,
破译数学密码的难度也逐渐降低 。
? 上世纪下半叶以来, 科学家们在, 海森堡测不准定理, 和
,单量子不可复制定理, 之上, 逐渐建立了量子密码术的概
念 。, 海森堡测不准原理, 是量子力学的基本原理, 指在同
一时刻以相同精度测定量子的位置与动量是不可能的, 只能
精确测定两者之一 。, 单量子不可复制定理, 是, 海森堡测
不准原理, 的推论, 它指在不知道量子状态的情况下复制单
个量子是不可能的, 因为要复制单个量子就只能先作测量,
而测量必然改变量子的状态 。
? 密码术突破了传统加密方法的束缚, 以量子状态作为密钥具
有不可复制性, 可以说是, 绝对安全, 的 。 任何截获或测试
量子密钥的操作都会改变量子状态 。 这样截获者得到的只是
无意义的信息, 而信息的合法接收者也可以从量子态的改变
知道密钥曾被截取过 。
近年来,科学家们已经在量子密码术
的相关研究中取得了一定进展,能在光
纤中传递量子密码。如今人类信息交换
越来越频繁,对信息安全的要求也越来
越迫切,因此量子密码术也更显得重要。
科学家希望,将来可以实现1000公
里距离的量子密码传输。这样就可以利
用卫星来传递信息,并在全球范围内建
立起保密的信息交换体系。
量子密码概念及原理
?, 海森堡测不准原理, 是量子力学的基本原理, 它
表明, 在同一时刻以相同的精度测定量子的位置与
动量是不可能的, 只能精确测定两者之一 。, 单量
子不可复制定理, 是, 海森堡测不准原理, 的推论,
它表明, 在不知道量子状态的情况下复制单个量子
是不可能的, 因为要复制单个量子就只能先作测量,
而测量必然改变量子的状态, 所以说不可能 。
? 量子的上述特性可以用来解决密钥的分配问题, 从
而突破传统信息论的束缚, 设计出无条件安全的密
码 。
? 通常把, 以量子为信息载体, 经由量子信道传送,
在合法用户之间建立共享的密钥的方法,, 称为量
子密钥分配 (QKD),其安全性由, 海森堡测不准原理,
及, 单量子不可复制定理, 保证 。
量子密码进展
? 威斯纳于 1970年提出,可利用单量子态制造不可伪造
的, 电子钞票, 。
? 1984年,贝内特和布拉萨德提出了第一个量子密码术
方案称为 BB84方案
? 1992年,贝内特又提出一种更简单,但效率减半的方
案,即 B92方案
? 英国国防研究部于 1993年首先在光纤中实现了基于
BB84方案的相位编码量子密钥分发,光纤传输长度为
10公里。
? 瑞士日内瓦大学 1993年基于 BB84方案的偏振编码方案,
在 1,1公里长的光纤中传输 1,3微米波长的光子,误
码率仅为 0,54%,并于 1995年在日内瓦湖底铺设的 23
公里长民用光通信光缆中进行了实地表演,误码率为
3,4%。
? 1997年,美国洛斯阿拉莫斯国家实验室,创造了目
前光纤中量子密码通信距离的新纪录。他们采用类
似英国的实验装置,通过先进的电子手段,以 B92方
案成功地在长达 48公里的地下光缆中传送量子密钥,
同时他们在自由空间里也获得了成功。
? 1999年, 瑞典和日本合作, 在光纤中成功地进行了
40公里的量子密码通信实验 。
? 根据国外如 S cience以及 Nature 2002年的公开报
道,量子密码的传递距离在光纤中已经达到 67千米;
德国、英国科学家在自由空间传输量子密码的距离
已经达到 23.4千米,这一实验是在海拔 3000米高山
上做的。应当说,现在量子密码已经处于实用的边
缘。
中科院物理所于 1995年以 BB84方案
在国内首次做了演示性实验,华东师范
大学用 B92方案做了实验,但也是在距
离较短的自由空间里进行的。 2000年,
中科院物理所与研究生院合作,在 850
纳米的单模光纤中完成了 1,1公里的量
子密码通信演示性实验。
3.3 数字签名技术
?3.3.1 散列函数
?3.3.2 RSA数字签名
?3.3.3 数字签名算法( DSA)
?3.3.4 椭圆曲线数字签名算法( ECDSA)
?3.3.5 特殊数字签名方法
?3.3.6 数字签名法律
? 数字签名,其实是伴随着数字化编码的消息一起发
送并与发送的信息有一定逻辑关联的数据项。
3.3数字签名技术
发送方的私钥
发 送 方 的 公 钥
?数字签名功能?数字签名如何实现?
?数字签名类似于 MAC,但不同于 MAC,数字签名
可以支持不可否认服务。
数字签名的要求
? 在书面文件上签名是确认文件的一种手段,其
作用有两点:第一,因为自己的签名难以否认,
从而确认了文件已签署这一事实;第二,因为签
名不易仿冒,从而确定了文件是真的这一事实。
? 数字签名与书面文件签名有相同之处,采用数
字签名,也能确认以下两点:第一,信息是由签
名者发送的;第二,信息自签发后到收到为止未
曾作过任何修改。这样数字签名就可用来防止电
子信息因易被修改而有人作伪,或冒用别人名义
发送信息。或发出(收到)信件后又加以否认等
情况发生。
? 区别:手签是模拟的,易伪造
数字签名的作用
? 可以证明签名者身份和消息完整性
? 提供如下数字鉴别,
接收方伪造
发送者伪造
第三方冒充
接收方篡改
?3.3.1 散列函数
? 定义,
?一种计算相对简单但却很难进行逆运算的函数
? 作用,
?用来在数字签名中生成信息摘要
? 特征,
?函数必须是真正单向的,也就是说不可能根据散列
形成的摘要来重新计算出原始的信息
?散列计算不可能对两条信息求出相同的摘要
3.3数字签名技术
?3.3.2 RSA数字签名
?简化的 RSA数字签名
3.3数字签名技术
?3.3.2 RSA数字签名
?用散列函数进行的 RSA数字签名
3.3数字签名技术
? RSA算法中数字签名技术是通过一个哈希函数来实
现的。数字签名的特点是它代表了文件的特征,
文件如果发生改变,数字签名的值也将发生变化。
不同的文件将得到不同的数字签名。一个最简单
的哈希函数是把文件的二进制码相累加,取最后
的若干位。哈希函数对发送数据的双方都是公开
的。
? 用 RSA或其它公开密钥密码算法的最大方便是没有
密钥分配问题(网络越复杂、网络用户越多,其
优点越明显)。因为公开密钥加密使用两个不同
的密钥,其中有一个是公开的,另一个是保密的。
公开密钥可以保存在系统目录内、未加密的电子
邮件信息中、电话黄页(商业电话)上或公告牌
里,网上的任何用户都可获得公开密钥。而私有
密钥是用户专用的,由用户本身持有,它可以对
由公开密钥加密信息进行解密。
用 Hash函数进行签名的方案如下,
? 发送方 X,准备消息 M,计算其散列码 H(M),
用 X的私钥对散列值构成签名 Kx-1[H(M)],并
将消息 M及签名 Kx-1 [H(M)]发送给 Y
? 接收方 Y,对收到的消息 M′ 计算用 H(M′ ),
利用公钥解密 Kx-1[H(M)],然后比较 Kx [Kx-1
[H(M)]]和 H(M′ ),如果 Kx [Kx-1 [H(M)]] =
H(M′ ),则签名得到验证 。
?3.3.3 数字签名算法( DSA)
? 基于离散对数问题
? 单向不可逆的公开密钥系统
? 验证过程中对资源的处理要比 RSA更彻底
?3.3.4 椭圆曲线数字签名算法( ECDSA)
? 利用离散对数
? 一种运用 RSA和 DSA来实施数字签名的方法
? 在生成签名和进行验证时比 RSA和 DSA快
3.3数字签名技术
3.3.5 特殊数字签名方法
盲签名
? 一般数字签名中, 总是要先知道文件内
容而后才签署, 这正是通常所需要的 。
但有时需要某人对一个文件签名, 但又
不让他知道文件内容, 称为盲签名, 它
是由 Chaum在 1983年最先提出的 。 在选举
投票会使用到 。 利用盲变换可以实现盲
签名 。
利用盲变换可以实现盲签名的基本原理
? ( 1) A取一文件并以一随机值乘之, 称此随机
值为盲因子
( 2) A将此盲文件发送给 B;
( 3) B对盲文件签名;
( 4) A以盲因子除之, 得到 B对原文件的签名
? Chaum将盲变换看做是信封, 盲文件是对文件
加个信封, 而去掉盲因子的过程是打开信封的
过程 。 文件在信封中时无人可读, 而在盲文件
上签名相当于在复写纸信封上签名, 从而得到
了对原文件 ( 信封内容 ) 的签名 。
王先生要买李小姐的一处房产,他发
给李小姐一个购买报价单及对他对银行授
权书的消息,要求银行如果李小姐同意按
此价出卖,则将钱划到李小姐的账上。但
是王先生不想让银行看到报价,也不想让
李小姐看到他的银行账号信息。
双重签名
? 在一次电子商务活动过程中可能同时有两个有
联系的消息 M1和 M2,要对它们同时进行数字签
名 。 例如, 一个是送银行 B的有关转帐财务明
细表, 即消息 M1,另一个是厂商 C的进货清单
即消息 M2; 但要求交送银行 B的数字签名不应
知道 M2,送厂商 C的数字签名不应知道 M1,
?A将发给 C的信息 M1和发给 B的信息 M2分别生成
信息摘要 MD1和 MD2
?A将 MD1和 MD2合在一起生成 MD,并签名 。
? 将 M1,MD2和 MD发给 C,将 M2,MD1和 MD发给 B。
一个公司的每个部门有它自己的打
印机,每台都连在局域网上,只有本部
门的人员才被允许使用他们部门的打印
机。因此,打印前,必须使打印机确信
员工是在那个部门工作的。同时,公司
想保密,不可以暴露员工的姓名。但如
果有人在当天结束时发现打印机用得太
频繁,主管必须能够找出谁滥用了那台
打印机。
团体签名
? 团体签名具有以下特性,
? ① 只有该团体内的成员能对消息签名;
? ② 签名的接收者能够证实消息是该团体
的有效签名 。
? ③ 签名的接收者不能决定是该团体内哪
一个成员签的名;
? ④在出现争议时,签名能够被, 打开,,
以揭示签名者的身份。
? 采用单向 Hash函数, 团体签名是容易实现的,
① A对文件的 hash签名 。
② B对文件的 hash签名 。
③ B将他的签名交给 A。
④ A把文件, 签名和 B的签名发给 C。
⑤ C验证 A和 B的签名 。
? A和 B能同时或顺序地完成①和②,在⑤ C可以只
验证其中一人的签名而不用验证另一人的签名。
具有可信仲裁者 T的团体签名方案
? T生成一大批公开密钥 /私钥密钥对,并且给团
体内每个成员一个不同的唯一私钥表。
? T以随机顺序公开该团体所用的公开密钥主表。
T保持一个哪个密钥属于谁的秘密记录。
? 当团体内成员想对一个文件签名时,他从自己
的密钥表随机取一个密钥。
? 当有人想验证签名是否属于该团体时,只需查
找对应公钥表并验证签名。
? 当争议发生时,T知道哪个公钥对应于哪个成
员。
无可争辩签名
? 不可争辩签名是在没有签名者自己的合作下不可能验
证签名的签名 。 无可争辩签名是为了防止所签名文件
被复制, 有利于产权拥有者控制产品的散发 。
? 不可争辩签名 1989年由 Chaum和 Antwerpen引入, 这类
签名有一些特点, 适用于某些应用, 如电子出版系统,
以利于对知识产权的保护 。
? 在签名人合作下才可能验证签名, 又会给签名者一种
机会, 在不利于他时可拒绝合作, 因而不具有, 不可
否认性, 。 不可争辩签名除了一般签名体制中的签名
算法和验证算法外, 还需要第三个组成部分, 即否认
协议;签名者利用不可争辩签名可向法庭或公众证明
一个伪造的签名的确是假的;但如果签名者拒绝参与
执行否认协议, 就表明签名真的由他签署 。
多重签名
? 一个文件经多个人的私钥签名
? 多重数字签名方案可分为两类,
有序多重数字签名方案
广播多重数字签名方案。
数字时间戳
? 如果在签名时加上一个时间标记,即是有数
字时间戳( digital time stamp) 的数字签
名。
? 时间戳( time-stamp) 是一个经加密后形成
的凭证文档,它包括三个部分,
? ①需加时间戳的文件的摘要( digest);
? ② DTS收到文件的日期和时间;
? ③ DTS的数字签名。
获得数字时间戳的过程
H a s h 算法
原文
摘要
1
加时间
数字
时间戳
I n t e r n e t
用 DTS 机构的私钥加密
发送方 DTS 机构
H a s h 算法
加了时间后
的新摘要
摘要
1
摘 要 1
+ 时间
数字
时间戳
? 数字时间戳协议必须具有如下性质,
①数据本身必须有时间标记,而与它所用
的物理媒介无关。
②不存在哪怕改变文件的 1个比特而文件时
间戳却没有明显变化的情形。
③不可能用不同于当前日期和时间的日期
和时间来签署文件。
3.3.6 数字签名法律
? 数字签名法律的内涵
? 数字签名立法原则
? 全球数字签名立法特点
? 我国数字签名立法现状
数字签名法律的内涵
? 联合国《电子商务示范法》第 7条规定,"如法
律要求要有一个人签字,则对于一项数据电文
而言,倘若情况如下,即满足了该项要求,
①使用了一种方法,鉴定了该人的身份,并且表
明该人认可了数据电文内含的信息;
②从所有各种情况看来,包括根据任何相关协议,
所用方法是可靠的,对生成或传递数据电文的
目的来说也是适当的。
数字签名 立法原则
? 一,,技术中立, 原则
? 二、功能等同方法
? 三、当事人自治原则(合同自由原则)
? 四、合理性原则
全球 数字签名 立法特点
? 一、迅速
? 二、兼容
? 三、法律的制定及时有力地推动了电子商
务、信息化和相关产业的发展
我国 数字签名 立法现状
据了解,目前我国已经有 30多家认证
机构,发放的数字证书也已经达到 50多万
份,2004年 8月 28日,我国第一部信息化
法律 ——《电子签名法》在十届全国人大
常委会第十一次会议上获得通过。
管好你的, 钥匙,
日常生活中, 我们经常碰见这样的事情,
高高兴兴来到办公室却进不了屋, 原来
忘记带钥匙了 。 钥匙成为我们进入特定
门户的必备条件, 同样密钥是整个密码
系统安全的关键, 没有密码, 保险柜是
打不开的, 没有密码在取款机前是提不
了款的 。 除了使用木马, 黑客要完全控
制一个系统往往要首先取得系统管理员
的密码 。
3.4 密钥管理技术
?3.4.1 密钥管理概述
?3.4.2 对称密钥管理
?3.4.3 非对称密钥管理
?3.4.4 第三方托管技术
?3.4.5 PGP公钥管理系统
?3.4.1 密钥管理概述
? 密钥都有时间期限,因为,
?攻击者可以使用数学分析方法来进行密码分析从而破解加密系
统,攻击者获得大量有效的密文可以帮助他们加快密码的分析。
密钥使用的时间越长,攻击者收集密文的机会就越多;
?密钥有可能被泄漏,攻击者可以对用某个特定密钥进行的加密
处理进行密码分析,所以缩短密钥的试用期可以减少危险的发
生。
? 密钥的生命周期
?密钥建立(生成密钥和发布密钥)
?密钥备份 /恢复或第三者保管
?密钥替换 /更新
?密钥吊销
?密钥期满 /终止( /销毁或归档)
3.4密钥管理技术
3.4.2 对称密钥管理
? 采用 对称加密技术 的贸易双方必须要保证
采用的是相同的密钥,要保证彼此密钥的
交换是安全可靠的,同时还要设定防止密
钥泄密和更改密钥的程序 。 这样,对称密
钥的管理和分发工作将变成一件潜在危险
的和繁琐的过程 。 通过公开密钥加密技术
实现对称密钥的管理使相应的管理变得简
单和更加安全,同时还解决了纯对称密钥
模式中存在的可靠性问题和鉴别问题 。
? 一种建立对称加密密钥的常用方法是 RSA
密钥传输法 。 对称密钥能够由一个系统
生成, 然后散发给一个或多个系统, 其
采用的是 RSA的加密模式来进行加密 。
? 另一种建立对称加密密钥的方法,是通
信双方通过某个值来形成对称加密密钥
的方法,它是由 Diffie和 Hellman提出,
这一创造性的技术被称为 Diffie-
Hellman密钥协议
?RSA密钥传输
3.4密钥管理技术
明文的
内容
3.4.3 非对称密钥管理
? 公开密钥加密系统对密钥管理的要求与对称
加密系统本质上是完全不同的。在对称加密
系统中,对彼此间进行通信的信息进行保护
的双方必须持有同一把密钥,该密钥对他们
之外的其他方是保密的。而在公开密钥加密
系统中,一方必须持有一把对其他任何方都
是保密的密钥(私人密钥),同时,还要让
想要与私人密钥的持有者进行安全通信的其
他方知道另一把相应的密钥(公开密钥)。
四类典型的公开密钥分配方案,
?公开宣布;
?公开可以得到的目录;
?公开密钥管理机构;
?公开密钥证书 。
3.4.4 第三方托管技术
? 美国于 1993年提出密钥托管加密技术 。 密钥托管也叫做密钥
恢复, 是一种能够在紧急情况下提供获取信息解密密文新途
径的技术 。 它用于保存用户的私钥备份, 既可在必要时帮助
国家安全部门获取原始明文信息, 也可在用户丢失, 损坏自
己的密钥后恢复密文 。 近几年, 密钥托管加密技术已成为密
码技术研究和应用的焦点 。
? 美国政府于 1993年 4月 16日通过美国商业部颁布了具有密钥
托管功能的加密标准 ( EES) 。
? 该标准规定使用专门授权制造的且算法 ( 将该算法称之为
Skipjack算法, 目前已公布 ) 不予公布的 Clipper芯片实施
商用加密 。 Clipper芯片是实现了 EES标准的防窜扰芯片, 它
是由美国国家安全局 ( NSA) 主持开发的硬件实现的密码部
件 。 由于加密体制具有在法律许可时可以进行密钥合成的功
能, 所以政府在必要时无须花费巨大代价破译密码, 而能够
直接侦听 。
? 目前我们可以从网上搜集到近 40种不同功能的密钥托管系统
3.4.5 PGP公钥管理系统
? 在 PGP中,一个用户必须建一个公钥环形存储
器( PKR),以存储其它用户的公钥。
? PGP将公钥分为三类:完全信赖、部分信赖、
不相识(即不信赖)。由完全可信赖人签字的
公钥为完全信赖公钥;由两位部分不可信赖人
签字的公钥为不完全信赖公钥;虽然可以用不
信赖密钥来证实加密传送 E-mail,但 PGP将以
,不可信赖, 标识此密钥。
PGP软件使用简介
? 一、生成新的密钥对
? 二、散发和获取公开密钥
? 三、签名与信任
? 四、密钥的废除
包括网上证券交易在内的电子
商务和电子政务运行, 如何才能保
证信息传输的真实性, 完整性, 不
可抵赖性呢? 目前普遍采用的方法
是身份验证技术 。
3.5 验证技术
?3.5.1 消息认证
?3.5.2 身份验证的方法
?3.5.3 身份验证协议
?认证的三项主要内容:消息认证, 身份验证
和数字签名 。
?两种主要认证模式:单向验证和双向验证 。
?三类常见身份验证证手段分析:口令验证,
个人令牌验证和生物识别 。
?四个常用身份认证协议分析,一次一密机制,
X.509认证协议, Kerberos认证协议, 零知识
身份识别机制 。
3.5.1 消息认证(验证)
? 消息认证是信息的合法接收者对消息的
真伪进行判定的技术 。 消息认证的内容
包括,
① 信息的来源
② 信息的完整性
③ 信息的序号和时间
消息认证的概念
? 一, 信息的来源认证常用的方法有两种,
一种方法是通信双方事先约定发送消息的
数据加密密钥, 接收者只需证实发送来的消息
是否能用该密钥还原成明文就能鉴定发送者 。
另一种方法是通信双方事先约定各自发送
消息所使用的通行字, 发送消息中含有此通行
字并进行加密, 接收者只需判别消息中解密的
通行字是否等于约定的通行字就能鉴定发送者 。
为了安全起见, 通行字应该是可变的 。
3.5.1 消息认证(验证)
? 二, 信息的完整性
消息内容的认证即消息的完整性检验,
常用的方法是:消息发送者在消息中加
入一个 MAC并经加密后和消息一起发送给
接受者, 接收者利用约定的算法对收到
的消息生成 MAC,并与收到的 MAC值 ( 已
解密 ) 进行比较 。
3.5.1 消息认证(验证)
? 三, 信息的序号和时间
消息的序号和时间性的认证主要是阻
止消息的重放攻击 。 常用的方法有:消息
的流水作业号, 链接认证符, 随机数认证
法和时间戳等 。
3.5.1 消息认证(验证)
消息认证模式
? 单向验证:是从甲到乙的单向通信。它建
立了甲乙双方身份的证明以及从甲到乙的
任何通信信息的完整性。
? 双向验证:与单向验证类似,但增加了来
自乙的应答。它保证是乙而不是冒名顶替
者送来的应答。
3.5.1 消息认证(验证)
单向验证的过程
? 甲产生一个随机数 Ra。
? 甲构造一条消息,M=( Ta,Ra,Ib,d)。 其中,Ta是甲的时
间标记,Ib是乙的身份证明,d为任意的一条数据信息。
为安全起见,数据可用乙的公开密钥 Eb加密。
? 甲将( Ca,Da(M)) 发送给乙。( Ca 为甲的证书,Da为甲
的私人密钥。)
? 乙确认 Ca并得到 Ea。 他确认密钥没有过期。( Ea为甲的公
开密钥)
? 乙用 Ea去解密 Da(M),这样既证明了甲的签名又证明了所
签发信息的完整性。
? 为准确起见,乙检查 M中的 Ib。
? 乙检查 M中的 Ta以证实消息是刚发来的。
? 作为一个可选项,乙对照旧随机数数据库检查 M中的 Ra以
确保消息不是重放的旧消息。
双向验证的过程
双向验证除了完成一个从甲到乙的单向验证,还包括
一个从乙到甲的类似的单向验证,
? 乙产生另一个随机数 Rb。
? 乙构造一条消息,Mm=( Tb,Rb,Ia,Ra,d)。 其中,Tb是乙的
时间标记,Ia是甲的身份证明,d为任意的数据。为确保安
全,可用甲的公开密钥对数据加密。 Ra是甲在第一步产生的
随机数。
? 乙将 Db(Mm)发送给甲。( Db为乙的私人密钥)
? 甲用 Eb去解密 Db(Mm), 以确认乙的签名和消息的完整性。
( Eb为乙的公开密钥)
? 为准确起见,甲检查 Mm中的 Ia。
? 甲检查 Mm中的 Tb,并证实消息是刚发送来的。
? 作为可选项,甲可检查 Mm中的 Rb以确保消息不是重放的旧消
息。
3.5.2 身份验证
? 身份验证概念
? 口令机制
? 一次性口令机制
? 询问 -应答机制
? 个人令牌验证
? 基于个人特征的机制
? 基于地址的机制
身份认证概念
? 身份验证 ( 身份识别 ),证实客户的真
实身份与其所声称的身份是否相符的过
程, 它是通信和数据系统正确识别通信
用户或终端的个人身份的重要途径 。 身
份验证是安全系统中的第一道关卡, 用
户在访问安全系统之前, 首先经过身份
验证系统识别身份, 然后访问控制器根
据用户的身份和授权数据库决定用户是
否能够访问某个资源 。
访问控制器
授权数据库 安全管理员
管理
用户
身份验证
资源
访问控制
身份验证的地位
身份验证的依据
? Something the user know( 所知 )
口令、密码等
? Something the user possesses ( 拥有 )
身份证、护照、密钥盘等
? Something the user is (or How he behaves)
( 特征)
指纹、笔迹、声纹、视网膜,DNA等
或者个人动作方面的一些特征
常见验证方法
? 口令机制
? 一次性口令机制
? 询问 -应答机制
? 个人令牌验证
? 基于个人特征的机制
? 基于地址的机制
基于口令的验证
口令验证的 识别过程,
① 用户将口令传送给计算机;
② 计算机完成口令单向函数值的计算;
③ 计算机把单向函数值和机器存储的值
比较 。
? 常规的口令方案涉及不随时间变化的口令,
提供所谓的 弱鉴别 (Weak authentication)。
? 口令或通行字机制是最广泛研究和使用的
身份鉴别法。通常为长度为 5-8的字符串。
选择原则:易记、难猜、抗分析能力强。
? 口令系统有许多脆弱点,
?外部泄漏
?口令猜测
?线路窃听
?重放
?危及验证者
基于口令的验证
对付外部泄露的措施
? 教育、培训
? 严格组织管理办法和执行手续
? 口令定期改变
? 每个口令只与一个人有关
? 输入的口令不再现在终端上
? 使用易记的口令,不要写在纸上
对付口令猜测的措施
? 教育、培训
? 严格限制非法登录的次数
? 口令验证中插入实时延迟
? 限制最小长度,至少 6~8字节以上
? 防止用户特征相关口令
? 口令定期改变
? 及时更改预设口令
? 使用机器产生的口令
对付线路窃听的措施
使用保护口令的机制,如散列函数
声称者 验证者
对付重放的措施
? 序列号:计数的策略,对付重放攻击的一
种方法是在认证交换中使用一个序数来给
每一个消息编号。仅当收到的消息序数顺
序合法时才接受之。但这种方法的困难是
要求双方必须保持上次消息的序号。
? 时间戳,A接受一个新消息仅当该消息包
含一个时间戳,该时间戳在 A看来,是足
够接近 A所知道的当前时间;这种方法要
求不同参与者之间的时钟需要同步。
? 验证者发送随机值(如询问):不可预测、
不重复。
对付重放攻击的措施
声称者 验证者
基本的对付危及验证者的措施
使用散列函数
声称者 验证者
对付窃听及危及验证者的措施
一次性口令机制
? 一次性口令机制确保在每次鉴别中所使用
的口令不同,以对付重放攻击。
? 确定口令的方法,
?两端共同拥有一串随机口令,在该串的某一
位置保持同步(口令序列 S/Key)
?两端共同使用一个随机序列生成器,在该序
列生成器的初态保持同步
?使用时间戳,两端维持同步的时钟
S/Key验证程序
? 其安全性依赖于一个散列函数。为建立这样的系
统A输入一随机数 R,计算机计算 f(R),f(f(R)),
f(f(f(R))),…, 共计算 100次,计算得到的值为 X1,
X2,X3,…, X100,A打印出这样的表,随身携
带,计算机将 X101存在 A的名字旁边。
? 第一次登录键入 X100。
? 以后依次键入 Xi,计算机计算 f(Xi),并将它与 Xi+1
比较。
S/Key组成
三个组成部分
?客户端程序:为端用户提供登录程序,并在
得到服务器质询值时,获取用户私钥,并调
用口令计算器形成本次鉴别口令,然后发送
给服务器程序。
?口令计算器:负责产生本次口令
?服务器程序:验证用户口令
整个过程中用户的私钥不会暴露在网络上
S/Key验证过程
? 用户登录
? 客户端向服务器发出登录请求
? 服务器向客户端发出 S/Key质询
? 客户端要求用户输入私钥
? 私钥与服务器发出的质询被送入计算器
? 计算器产生本次口令
? 客户端将口令传给服务器,服务器对之进
行验证。
询问 -应答 (Challenge/Response)机制
? A期望从 B获得一个消息
?首先发给 B一个随机值 (Challenge)
?B收到这个值之后,对它作某种变换,并送回去
?A收到 B的 Response,希望包含这个随机值
? 在有的协议中,这个 Challenge也称为 nonce
?可以明文传输,也可以密文传输
?变换条件可以是知道某个口令,也可能是其他的事情
?变换例子:用密钥加密,说明 B知道这个密钥
? 询问 /应答方法不适应非连接性的应用,因为它要
求在传输开始之前先有握手的额外开销,这就抵
消了无连接通信的主要特点。
询问 -应答机制示意
询问 -应答机制鉴别原理
询问 -应答机制
? 询问 -应答原理可以扩张基于口令的方案,
能大大地提高抵抗重放攻击的能力,但通
常通信代价很高。
? 前面所示的对付重放攻击的机制存在两个
重要的问题:一个是为了两端都知道 nrv
值需要维持同步,另一个是验证者要知道
nrv值是否被重复过是比较困难的。
? 询问 -应答方法克服了这些问题。
基于个人令牌的验证
? 个人令牌 ( token) 是一种个人持有物,
它的作用类似于钥匙, 用于启动电子设
备 。 使用比较多的是一种嵌有磁条的塑
料卡, 磁条上记录有用于机器识别的个
人信息 。 这类卡通常和个人识别号 (PIN)
一起使用 。 这类卡易于制造, 而且磁条
上记录的数据也易于转录, 因此要设法
防止仿制 。
双因素动态口令卡
? 基于密钥 /时间双因素的身份鉴别机制
? 用户登录口令随时间变化,口令一次性
使用,无法预测,可以有效抵御密码窃
取和重放攻击行为。
?RSA等多家安全公司
相关产品
? 美国 RSA SecurID公司推出的 RSA SecurID系统是
当前世界领先的双因素身份鉴别系统。形成了硬
件令牌、虚拟令牌(软件令牌)、与智能卡相结
合的令牌等系列产品。鉴别服务器可运行于
Windows 95/98/2000,Windows NT,UNIX等环境。
? 美国另一家公司 Axend( 现被 Symantec兼并)是较
早推出双因素身份认证系统的公司。 Axend不仅
可运行于 Windows 95/98/2000,Windows NT、
UNIX等环境,还能运行于 Netware系统,适应我国
证劵行业的需要。
? 我国一些信息技术公司也相继推出动态口令认证
系统。如网泰金安信息技术公司、北京亿青创新
信息技术有限公司。
基于生物统计特征的验证
? 生物识别依据人类自身所固有的生理或行为特
征 。 生理特征与生俱来, 多为先天性的, 如指
纹, 视网膜, 面容等;行为特征则是习惯使然,
多为后天性的, 如笔迹, 步态等 。 正是因为这
些别人很难具有的个人特征可以作为个人身份
识别的重要依据 。
? 生物识别因此包括指纹识别, 视网膜识别, 面
容识别, 掌纹识别, 声音识别, 签名识别, 笔
迹识别, 手形识别, 步态识别及多种生物特征
融合识别等诸多种类, 其中, 视网膜和指纹识
别被公认为最可靠的生物识别方式 。
基于地址的验证
? 基于地址的机制假定声称者的可鉴别性是以呼叫的
源地址为基础的。
? 在大多数的数据网络中,呼叫地址的辨别都是可行
的。在不能可靠地辨别地址时,可以用一个呼叫 -回
应设备来获得呼叫的源地址。
? 一个验证者对每一个主体都保持一份合法呼叫地址
的文件。
? 这种机制最大的困难是在一个临时的环境里维持一
个连续的主机和网络地址的联系。地址的转换频率、
呼叫 -转发或重定向引起了一些主要问题。
? 基于地址的机制自身不能被作为鉴别机制,但可作
为其他机制的有效补充。
3.5.3 身份验证协议
?一次一密机制
?X.509认证协议
?Kerberos认证协议
?零知识身份识别
一次一密机制
一次一密系统( one-time system),理论上
不可攻破的密码系统。
主要有三种实现方式,
?提问 -答复:用户登录系统时系统随机提示一条
信息,用户根据这一信息连同其个人化数据共
同产生一个口令字。
?时间戳:根据同步时钟信息连同其个人化数据
共同产生一个口令字。
?询问 -应答式协议:验证者提出问题,由识别者
回答,然后验证者验证其真伪性。目前已设计
出许多询问 -应答式协议。
X.509认证协议
X.509对每个用户选择的公钥提供所谓的, 证书, 。 用户
的证书是由可信的证书机构 (CA)产生, 并存放于 X.500目录之
中 。
① 版本 (V),用来区分 X.509不同年份的版本;
② 特定编号 (SN),由 CA给予每一个证书的一个特殊号码;
③ 识别方法 (AI),用于产生证书所用的方法以及一切参数;
④ 颁布者 (CA),CA的识别名字;
⑤ 有效期 (TA),包括两个日期, 在所指定的两个时间之间有
效;
⑥ 使用者 (A),证书拥有者的识别名字;
⑦ 公钥信息 (TP),被证明的公钥值, 加上使用这把公钥的方
法的名称;
⑧数字签名:对这份格式中所有其它信息先用杂凑函数产生
杂凑值,再用 CA的密钥签
X.509对用户识别的三种方法
X.509对用户的识别规定了三种不同
的方法,这三种方法分别是单项识别、
双向识别和三向识别。这些识别方法都
使用了公钥密码技术,同时也假定双方
都已从目录中或都已交换了双方的数字
证书。
Kerberos认证协议
引 言
? Kerberos,part of Project Athena at MIT
? Greek Kerberos,希腊神话故事中一种三
个头的狗,还有一个蛇形尾巴。是地狱之
门的守位。
? Modern Kerberos,意指有三个组成部分
的网络之门的保卫者。
Kerberos 历史
?80年代中期
? 是 MIT的 Athena工程的产物
? 版本
?前三个版本仅用于内部
?第四版得到广泛的应用
?第五版于 1989年开始设计,RFC1510在 1993
年确定。
问 题
在一个开放的分布式网络环境中,用户通过工
作站访问服务器上提供的服务。
? 服务器应能够限制非授权用户的访问并能够鉴别对
服务的请求。
? 工作站无法可信地向网络服务证实用户的身份,即
工作站存在三种威胁。
?一个工作站上一个用户可能冒充另一个用户操作。
?一个用户可能改变一个工作站的网络地址,从而
冒充另一台工作站在工作。
?一个用户可能窃听他人的信息交换,并用重放攻
击获得对一个服务器的访问权或中断服务器的运
行。
Kerberos 要解决的问题
? 所有上述问题都可以归结为一个非授权用户
能够获得其无权访问的服务或数据。
? 不是为每一个服务器构造一个身份鉴别协议,
Kerberos提供一个中心鉴别服务器,提供用户到
服务器和服务器到用户的鉴别服务。
? Kerberos采用传统加密算法。
? Kerberos Version 4和 Version 5( RFC1510)。
零知识证明
下面是一个故事,
? Alice,我知道联邦储备系统计算的口令
? Bob,不,你不知道
? Alice,我知道
? Bob,你不知道
? Alice,我确实知道
? Bob,请你证实这一点
? Alice,好吧,我告诉你。(她悄悄地说出了口令)
? Bob,太有趣了!现在我也知道了。我要告诉华盛
顿邮报。
? Alice,啊呀!
零知识身份识别
? 使用零知识证明来作身份证明最先是由 Uriel
Feige,Amos Fiat 和 Adi Shamir提出的。通
过使用零知识证明,用户能够证明他知道自己
的私钥,并由此证明他的身份。
? 零知识的基本思想是:被验证方 P掌握某些秘
密信息, P想设法让验证方 V相信他确实掌握那
些信息, 但又不想让 V也知道那些信息 ( 如果
连 V都不知道那些秘密信息, 第三者想盗取那
些信息当然就更难了 ) 。
零知识证明技术
? 零知识证明技术可使信息的拥有者无需泄露任
何信息就能够向验证者或任何第三方证明它拥
有该信息。
? 在网络身份鉴别中,已经提出了零知识技术的
一些变形,例如,FFS方案,FS方案和 GQ方案。
一般地,验证者颁布大量的询问给声称者,声
称者对每个询问计算一个回答,而在计算中使
用了秘密信息。
? 大部分技术要求传输的数据量较大,并且要求
一个更复杂的协议,需要一些协议交换。
3.6 数字证书技术
?3.6.1 数字证书
?数字证书的概念和内容
?数字证书的类型
?3.6.2 数字证书管理
?3.6.3 数字证书功能
数字证书的概念
? 数字证书是标志网络用户身份信息的一
系列数据,用来在网络通讯中识别通讯
各方的身份,即在 Internet上解决 "我是
谁 "的问题,就如同现实中我们每一个人
都要拥有一张证明个人身份的身份证或
驾驶执照一样,以表明我们的身份或某
种资格。
3.6.1 数字证书
身份证和证书的比较
3.6.1 数字证书
一个标准的 X.509数字证书包含以下一些内容,
① 版本号:标示证书的版本 (v1,v2,或是 v3);
② 序列号:由证书颁发者分配的本证书的唯一标识符;
③ 签名算法:签名算法标识符;
④ 颁发者:证书颁发者的可识别名 (DN),这是必须说明的;
⑤ 有效期:证书有效的时间段, 本字段由, Not Valid Before”
和, Not Valid After”两项组成;
⑥ 主体:证书拥有者的可识别名, 此字段必须是非空的, 除非使
用了其它的名字形式;
⑦ 主体公钥信息:主体的公钥 (以及算法标识符 ) – 这是必须说明
的;
⑧ 颁发者唯一标识符:证书颁发者的唯一标识符;
⑨ 主体唯一标识符:证书拥有者的唯一标识符;
⑩ 扩展:可选的标准和专用扩展 (仅在版本 3中使用 )。
?数字证书的信息
3.6.1 数字证书 -证书格式
证书类型
? 个人数字证书
? 机构数字证书
? 个人签名证书
? 机构签名证书
? 设备数字证书
? 开发者数字证书
3.6.1 数字证书
3.6.2 数字证书管理
数字证书管理包含,
? 证书颁发
? 证书使用
? 证书验证
? 证书存放等过程 。
? 认证机构
CA—— 认证中心、证书授予机构,是承担
网上认证服务,能签发数字证书并能确认用户
身份的受大家信任的第三方机构。
3.6.2 数字证书管理
3.6.3 数字证书功能
? 信息的保密性
? 交易者身份的确定性
? 不可否认性
? 不可修改性
用户 1
(保存用户 2,3,4密钥)
用户 4
(保存用户 1,2,3密钥)
用户 3
(保存用户 1,2,4密钥)
用户 2
(保存用户 1,3,4密钥)
网络中 4个用户之间使用对称加密技术
用户 1
(保存自己的私钥、公钥)
用户 4
(保存自己的私钥、公钥)
用户 3
(保存自己的私钥、公钥)
用户 2
(保存自己的私钥、公钥)
网络中 4个用户之间使用非对称加密技术
Internet
陈建 副教授
E-mail,88888k@gmail.com
博客, http://unclear.blogchina.com
第 3章 信息安全技术
问题的提出
1996年 7月 9日, 北京市海淀区法院审理
国内第一起电子邮件侵权案 。
此案的原, 被告均系北京大学心理学系 93
级女研究生 。 4月 9日, 原告薛燕戈收到美国密
执安大学发给她的电子邮件, 内容是该校将给
她提供 1.8万美元奖学金的就学机会, 此后久
等正式通知却杳无音讯, 4月 27日查到密执安
大学在 4月 12日收到一封署名薛燕戈的电子邮
件, 表示拒绝该校的邀请 。 因此密执安大学已
将奖学金机会转给他人 。 经过调查, 证实以薛
名义发电子邮件的是其同学张男 。
如果电子邮件的发送
附加了数字签名,也许本
案就不会发生了。
3.1 信息安全概述
3.2 加密技术
3.3 数字签名技术
3.4 密钥管理技术
3.5 验证技术
3.6 数字证书技术
3.1 信息安全概述
安全问题
机密性
完整性
验证
不可否认
访问控制
安全目标 安全技术
信息的保密 加密
探测信息是否被篡改 数字摘要
验证身份 数字签名,提问 ——应答,口令,生物测定法
不能否认信息的发送、接收
及信息内容 数字签名,数字证书,时间戳
只有授权用户才能访问 防火墙,口令,生物测定法
3.2 加密技术
?3.2.1 对称加密系统
? 一、对称加密
? 二、对称加密算法
? 三、消息验证码
?3.2.2 不对称加密系统
? 一、公开密钥加密
? 二,RSA算法
? 三、加密与验证模式的结合
?3.2.3 两种加密方法的联合使用
所谓 加密,就是用基于数学方法的程序
和保密的 密钥 对信息进行编码,把计算机数
据变成一堆杂乱无章难以理解的字符串,也
就是把 明文 变成密文。
3.2加密技术
明文 明文
密文
加密算法 解密算法
密钥
密钥
加解密过程示意图
3.2.0 密码学的起源和发展
? 隐写术 (steganography),
通过隐藏消息的 存在 来保护消息
三个阶段,
?1949年之前:密码学是一门艺术
?1949~ 1975年:密码学成为科学
?1976年以后:密码学的新方向 ——公钥密码
学
3.2 加密技术
1,1949年之前,
古典密码:密码学还不是科学,而是
艺术
密码算法的基本手段 —,替换, 出
现, 针对的是字符
例一 希腊密码(二维字母编码
查表):公元前 2世纪
明文,HELLO
1 2 3 4 5
1 A B C D E
2 F G H IJ K
3 L M N O P
4 Q R S T U
5 V W X Y Z
密文,2315313134
例二 凯撒密码:公元前 50年
A B C D E F G …… X Y Z
D E F G H I J …… A B C
明文,Jiangxi Normal University
密文,mldqjal qrupdo xqlyhuvlwb
公元前 50年,古罗马的凯撒大帝在高
卢战争中采用的加密方法。凯撒密码算法
就是把每个英文字母向前推移 K位。
例三:代码本
? 代码本
?字母、符号、单词、短语 代码
?代码 字母、符号、单词、短语
?应用:第一、二次世界大战
2,1949~ 1975年,
计算机使得基于复杂计算的密码成为可能
?1949年 Shannon的, The Communication Theory
of Secret Systems”
?1967年 David Kahn的, The Codebreakers,
?1971-73年 IBM Watson实验室的 Horst Feistel
等的几篇技术报告
数据的安全基于密钥而不是算法的保密
3,1976年以后,
?1976年美国学者 Diffie和 Hellman根据单向
函数的概念提出了公开密钥密码算法,引起
了密码学的一场革命
?对称密钥密码算法进一步发展, 1977年 DES
正式成为标准
?美 国 麻 省理 工 学 院的 Rivest,Shamir和
Adleman于 1978年提出了 RSA算法
?90年代逐步出现椭圆曲线等其他公钥算法
?3.2.1 对称加密系统 —— 私有密钥
?对称加密特点
? 数据的发送方和接受方使用的是同一把 私有密
钥,即把明文加密成密文和把密文解密成明文
用的是同一把私有密钥。
3.2加密技术
?3.2.1 对称加密系统
?对称加密过程
? 发送方用自己的私有密钥对要发送的信息进行加密
? 发送方将加密后的信息通过网络传送给接收方
? 接收方用发送方进行加密的那把私有密钥对接收到的加
密信息进行解密,得到信息明文
3.2加密技术
密文明文
发送方
I n t e r n e t密文
密钥
发送方
( = 密钥
接收方
)
加密
明文
接收方
密钥
接收方
解密
对称加密的特点
优点,加解密速度快
缺陷, 首先是密钥数目的问题 n× (n-1)
其次是安全传输密钥也是一个难题
第三是无法鉴别彼此身份
3.2加密技术
?3.2.1 对称加密系统
?消息验证码( MAC)
? MAC也称为完整性校验值或信息完整校验
? 常用生成 MAC的方法,
?基于散列函数的方法
?基于对称加密的方法
模运算
? 给定一个正整数 p,任意一个整数 n,一定
存在等式 n=kp+r
其中 k,r是整数,且 0≤ r<p,称呼 k为 n
除以 p的商,r为 n除以 p的余数。
? 对于正整数 p和整数 a,定义取模运算,
a mod p 表示 a除以 p的余数。
例二 凯撒密码:公元前 50年
A B C D E F G …… X Y Z
D E F G H I J …… A B C
明文,Jiangxi Normal University
密文,mldqjal qrupdo xqlyhuvlwb
公元前 50年,古罗马的凯撒大帝在高
卢战争中采用的加密方法。凯撒密码算法
就是把每个英文字母向前推移 K位。
凯撒密码的原理
? 若将字母编号 a-z对应为 1-26
? 凯撒变换 c=(m+k)mod q
?q=26
传统加密系统的分类
? 密码流加密的工作原理
明文,m=m0m1m2… (一般是二进制序列 )
密钥, k=k0k1K2… ( 收发两端都知道)
将 k和 m对应的分量进行简单的模 2相加得到密
文 c=c0c1c2…
密文,ci≡(k i+mi)(mod 2)
解密,mi≡(k i+ci)(mod 2)
? 密码块加密的工作原理:首先将明文分成相同长
度的比特块,然后分别对每个比特块加密产生一
串密文块。解密时,对每个密文块进行解密得到
相应的明文比特块,将所有的明文比特合并起来
即得到明文。
3.2加密技术
?3.2.1 对称加密系统
?对称加密算法
? 数据加密标准( DES)
? 高级加密标准( AES)
? 三重 DES
? Rivest 密码
3.2加密技术
?3.2.2 不对称加密系统 ——公开密钥
?公开密钥加密
? 加密模式过程
?发送方用接收方公开密钥对要发送的信息进行加密
?发送方将加密后的信息通过网络传送给接收方
?接收方用自己的私有密钥对接收到的加密信息进行解
密,得到信息明文
发送方
明文 密文密文
公开密钥
接收方
明文
接收方
私有密钥
接收方
I n t e r n e t
3.2加密技术
?3.2.2 不对称加密系统
?公开密钥加密
? 验证模式过程
?发送方用自己的私有密钥对要发送的信息进行加密
?发送方将加密后的信息通过网络传送给接收方
?接收方用发送方公开密钥对接收到的加密信息进行解
密,得到信息明文
发送方
明文 密文密文
私有密钥
发送方
明文
接收方
公 开 密 钥
放送方
I n t e r n e t
3.2加密技术
?3.2.2 不对称加密系统
?不对称加密系统的基础 — 散列函数的概念
散列函数 f(x),如果给定 x,求 f(x)是容易的;
而给定 f(x),求 x则是困难的。
?RSA算法
? Ronald Rivest,Adi Shamir,Leonard Adleman
? 在美国申请了专利,且已于 2000年 9月到期
? 可逆的公开密钥加密系统,通过一个公共模数
的数字来形成公开密钥的,公共模数是通过两
个形成私人密钥的两个质数的乘数来获得的。
RSA算法的理论基础
? 两个大素数相乘在计算上是容易实现的,但将
其乘积分解为两个大素数因子的计算量却相当
巨大,大到甚至在计算机上也不可能实现。
? Euler定理,a,r是两个互素的正整数,则有
az≡1(mod r),其中 z为与 r互素且不大于 r的正整
数的个数。该算法取两个大素数的乘积作为其
模数 r。
RSA算法的实施
? 设计密钥,
?仔细选取两个互异的大素数 p和 q
?令 n=p× q, z=(p-1)× (q-1);
?接着选取一个随机数 e(0<e<z),满足
gcd(e,z)=1
?使用 Euclidean算法 e× d≡1(mod z) 计算 d
?在目录中公开加密密钥 e和 n,保密 p,q和 d
? 设计密文:把要求发送的明文信息 M数字
化、分块,其加密过程是 C≡ Me(mod n)
? 恢复明文,M≡ Cd(mod n)
一个具体 RSA实现过程的实例
? 假设用户 A需要将明文信息, HI”通过 RSA加密后传
递给用户 B,则其加密解密过程如下,
? 设计密钥 (e,n)和 (d,p,q)
?令 p=5,q=11,取 e=3;
?计算 n,n=p× q=5× 11=55;
?求 z,z=(p-1)× (q-1)=(5-1)× (11-1)=40;
?计算 d,由 e× d=1(mod z),即 3× d= 1(mod z),
可得 d=27。
因此,加密密钥为,(e,n)= (3,55)
解密密钥为,(d,p,q) = (27,5,11)
设计密文
? 将明文信息数字化,并按每块两个数字分组。
假定明文编码为:空格 =0,A=1,B=2,…,
Z=26,则数字化分组后的明文信息为,8,9。
? 用加密密钥 (3,55)将数字化明文分组信息加
密成密文。由 C≡ Me(mod n),得
C1≡ (8)3 (mod55)=512(mod55)=17
C2≡ (9)3 (mod55)=729(mod55)=14
因此,得到相应的密文信息为,17,14
恢复明文
用户 B收到密文,若需将其解密,只需计算
M≡ Cd(mod n),即
M1≡ (17)27 (mod55)=8
M2≡ (14)27 (mod55)=9
用户 B得到的明文信息为,8,9。将其转化为
原文,即得, HI”。
RSA算法实例
? 若 B选择了 p=101和 q=113,那么 n=p× q=11413,
z=(p-1)× (q-1)=110× 112=11200,选 e使
gcd(e,z)=1,假设 B选择了 e=3533,那么用
Euclidean算法 e× d=1(mod z)求得 B的解密密钥
d=6597
? B在一个目录中公开 n=11413和 e=3533
? 现假设 A想发送明文 9726给 B,他计算,
97263533(mod11413)=5761,且在一个信道上发送密文
? B接收到密文 5761时,他用他的私钥 d=6597进行解密
57616597(mod11413)=9726
应用 RSA算法对下列情况实现加密和解密
? P=11; q=13,e=11; M=7
? 设计密钥 (e,n)和 (d,p,q)
?p=11,q=13,e=11;
?计算 n,n=p× q=11× 13=143;
?求 z,z=(p-1)× (q-1)=(11-1)× (13-1)=120;
?计算 d,由 e× d=1(mod z),即 11× d= 1(mod z),
可得 d=11。
因此,加密密钥为,(e,n)= (11,143)
解密密钥为,(d,p,q) = (11,11,13)
设计密文
? 用加密密钥 (11,143)将明文信息 7加密
成密文。由 C≡ Me(mod n),得
C≡ 711(mod143)=?
因此,得到相应的密文信息为:?
恢复明文
接收方收到密文,若需将其解密,只需
计算 M≡ Cd(mod n),即
M≡ (? )11 (mod143)=7
接收方得到的明文信息为,7。
应用 RSA算法对下列情况实现加密和解密
? P=3; q=11,d=7; M=5
? 设计密钥 (e,n)和 (d,p,q)
?p=3,q=11,d=7;
?计算 n,n=p× q=3× 11=33;
?求 z,z=(p-1)× (q-1)=(3-1)× (11-1)=20;
?计算 e,由 e× d=1(mod z),即 e× 7= 1(mod z),
可得 e=3。
因此,加密密钥为,(e,n)= (3,33)
解密密钥为,(d,p,q) = (7,3,11)
设计密文
? 用加密密钥 (3,33)将明文信息 5加密成
密文。由 C≡ Me(mod n),得
因此,得到相应的密文信息为,26
C≡ 53(mod33)=26
恢复明文
接收方收到密文,若需将其解密,只需
计算 M≡ Cd(mod n),即
M≡ (26)7 (mod33)=5
接收方得到的明文信息为,5。
3.2加密技术
?3.2.2 不对称加密系统
?加密与验证模式的结合
? 保障信息机密性 & 验证发送方的身份
? 使用过程,
发送方
明
文
两次加
密的密
文
两次加
密的密
文
公 开 密 钥
接收方
明
文
接收方
私有密钥
接收方
I n t e r n e t
私有密钥
发送方
公 开 密 钥
放送方
优点:免除了传递金钥的困扰
网络中 N个用户之间通信仅需 N对密钥
可以实现数字签名
缺陷,加密、解密速度慢
非对称加密的特点
3.2加密技术
?3.2.3 两种加密方法的联合使用
使用过程,
I n t e r n e t
发送方
对称加密
明文 密文
发送方私
有密钥
接收方
发送方私
有密钥
接收方私
有密钥
加密后
的密钥
密文
加密后
的密钥
+
加密后
的密钥
接收方公
开密钥
发送方私
有密钥
对称解密
密文 明文
发送方私
有密钥
不对称解密
不对称加密
课堂讨论
, 电子商务安全管理, 采用无纸化考
试,为了保密处理,考生考完后需要对
答卷进行加密处理,假设有 DES,RSA两
种加密算法供选择,请问应该选择哪种
算法?为什么?如何处理?
3.2.4 量子密码
1969年美国哥伦比亚大学的 Wiesner创造
性地提出了共轭编码的概念,遗憾的是他的这
一思想当时没有被人们接受。十年后,源于共
轭编码概念的量子密码理论与技术才取得了令
人惊异的进步,已先后在自由空间和商用光纤
中完成了单光子密钥交换协议,英国 BT实验室
通过 30公里的光纤信道实现了每秒 20k比特的
密钥分配。近年来,英、美、日等国的许多大
学和研究机构竞相投入到量子密码的研究之中,
更大的计划在欧洲进行。
3.2 加密技术
? 从理论上来说, 传统的数学计算加密方法都是可以破译的,
再复杂的数学密钥也可以找到规律 。 第一台现代计算机的诞
生, 就是为了破解复杂的数学密码 。 随着计算机的飞速发展,
破译数学密码的难度也逐渐降低 。
? 上世纪下半叶以来, 科学家们在, 海森堡测不准定理, 和
,单量子不可复制定理, 之上, 逐渐建立了量子密码术的概
念 。, 海森堡测不准原理, 是量子力学的基本原理, 指在同
一时刻以相同精度测定量子的位置与动量是不可能的, 只能
精确测定两者之一 。, 单量子不可复制定理, 是, 海森堡测
不准原理, 的推论, 它指在不知道量子状态的情况下复制单
个量子是不可能的, 因为要复制单个量子就只能先作测量,
而测量必然改变量子的状态 。
? 密码术突破了传统加密方法的束缚, 以量子状态作为密钥具
有不可复制性, 可以说是, 绝对安全, 的 。 任何截获或测试
量子密钥的操作都会改变量子状态 。 这样截获者得到的只是
无意义的信息, 而信息的合法接收者也可以从量子态的改变
知道密钥曾被截取过 。
近年来,科学家们已经在量子密码术
的相关研究中取得了一定进展,能在光
纤中传递量子密码。如今人类信息交换
越来越频繁,对信息安全的要求也越来
越迫切,因此量子密码术也更显得重要。
科学家希望,将来可以实现1000公
里距离的量子密码传输。这样就可以利
用卫星来传递信息,并在全球范围内建
立起保密的信息交换体系。
量子密码概念及原理
?, 海森堡测不准原理, 是量子力学的基本原理, 它
表明, 在同一时刻以相同的精度测定量子的位置与
动量是不可能的, 只能精确测定两者之一 。, 单量
子不可复制定理, 是, 海森堡测不准原理, 的推论,
它表明, 在不知道量子状态的情况下复制单个量子
是不可能的, 因为要复制单个量子就只能先作测量,
而测量必然改变量子的状态, 所以说不可能 。
? 量子的上述特性可以用来解决密钥的分配问题, 从
而突破传统信息论的束缚, 设计出无条件安全的密
码 。
? 通常把, 以量子为信息载体, 经由量子信道传送,
在合法用户之间建立共享的密钥的方法,, 称为量
子密钥分配 (QKD),其安全性由, 海森堡测不准原理,
及, 单量子不可复制定理, 保证 。
量子密码进展
? 威斯纳于 1970年提出,可利用单量子态制造不可伪造
的, 电子钞票, 。
? 1984年,贝内特和布拉萨德提出了第一个量子密码术
方案称为 BB84方案
? 1992年,贝内特又提出一种更简单,但效率减半的方
案,即 B92方案
? 英国国防研究部于 1993年首先在光纤中实现了基于
BB84方案的相位编码量子密钥分发,光纤传输长度为
10公里。
? 瑞士日内瓦大学 1993年基于 BB84方案的偏振编码方案,
在 1,1公里长的光纤中传输 1,3微米波长的光子,误
码率仅为 0,54%,并于 1995年在日内瓦湖底铺设的 23
公里长民用光通信光缆中进行了实地表演,误码率为
3,4%。
? 1997年,美国洛斯阿拉莫斯国家实验室,创造了目
前光纤中量子密码通信距离的新纪录。他们采用类
似英国的实验装置,通过先进的电子手段,以 B92方
案成功地在长达 48公里的地下光缆中传送量子密钥,
同时他们在自由空间里也获得了成功。
? 1999年, 瑞典和日本合作, 在光纤中成功地进行了
40公里的量子密码通信实验 。
? 根据国外如 S cience以及 Nature 2002年的公开报
道,量子密码的传递距离在光纤中已经达到 67千米;
德国、英国科学家在自由空间传输量子密码的距离
已经达到 23.4千米,这一实验是在海拔 3000米高山
上做的。应当说,现在量子密码已经处于实用的边
缘。
中科院物理所于 1995年以 BB84方案
在国内首次做了演示性实验,华东师范
大学用 B92方案做了实验,但也是在距
离较短的自由空间里进行的。 2000年,
中科院物理所与研究生院合作,在 850
纳米的单模光纤中完成了 1,1公里的量
子密码通信演示性实验。
3.3 数字签名技术
?3.3.1 散列函数
?3.3.2 RSA数字签名
?3.3.3 数字签名算法( DSA)
?3.3.4 椭圆曲线数字签名算法( ECDSA)
?3.3.5 特殊数字签名方法
?3.3.6 数字签名法律
? 数字签名,其实是伴随着数字化编码的消息一起发
送并与发送的信息有一定逻辑关联的数据项。
3.3数字签名技术
发送方的私钥
发 送 方 的 公 钥
?数字签名功能?数字签名如何实现?
?数字签名类似于 MAC,但不同于 MAC,数字签名
可以支持不可否认服务。
数字签名的要求
? 在书面文件上签名是确认文件的一种手段,其
作用有两点:第一,因为自己的签名难以否认,
从而确认了文件已签署这一事实;第二,因为签
名不易仿冒,从而确定了文件是真的这一事实。
? 数字签名与书面文件签名有相同之处,采用数
字签名,也能确认以下两点:第一,信息是由签
名者发送的;第二,信息自签发后到收到为止未
曾作过任何修改。这样数字签名就可用来防止电
子信息因易被修改而有人作伪,或冒用别人名义
发送信息。或发出(收到)信件后又加以否认等
情况发生。
? 区别:手签是模拟的,易伪造
数字签名的作用
? 可以证明签名者身份和消息完整性
? 提供如下数字鉴别,
接收方伪造
发送者伪造
第三方冒充
接收方篡改
?3.3.1 散列函数
? 定义,
?一种计算相对简单但却很难进行逆运算的函数
? 作用,
?用来在数字签名中生成信息摘要
? 特征,
?函数必须是真正单向的,也就是说不可能根据散列
形成的摘要来重新计算出原始的信息
?散列计算不可能对两条信息求出相同的摘要
3.3数字签名技术
?3.3.2 RSA数字签名
?简化的 RSA数字签名
3.3数字签名技术
?3.3.2 RSA数字签名
?用散列函数进行的 RSA数字签名
3.3数字签名技术
? RSA算法中数字签名技术是通过一个哈希函数来实
现的。数字签名的特点是它代表了文件的特征,
文件如果发生改变,数字签名的值也将发生变化。
不同的文件将得到不同的数字签名。一个最简单
的哈希函数是把文件的二进制码相累加,取最后
的若干位。哈希函数对发送数据的双方都是公开
的。
? 用 RSA或其它公开密钥密码算法的最大方便是没有
密钥分配问题(网络越复杂、网络用户越多,其
优点越明显)。因为公开密钥加密使用两个不同
的密钥,其中有一个是公开的,另一个是保密的。
公开密钥可以保存在系统目录内、未加密的电子
邮件信息中、电话黄页(商业电话)上或公告牌
里,网上的任何用户都可获得公开密钥。而私有
密钥是用户专用的,由用户本身持有,它可以对
由公开密钥加密信息进行解密。
用 Hash函数进行签名的方案如下,
? 发送方 X,准备消息 M,计算其散列码 H(M),
用 X的私钥对散列值构成签名 Kx-1[H(M)],并
将消息 M及签名 Kx-1 [H(M)]发送给 Y
? 接收方 Y,对收到的消息 M′ 计算用 H(M′ ),
利用公钥解密 Kx-1[H(M)],然后比较 Kx [Kx-1
[H(M)]]和 H(M′ ),如果 Kx [Kx-1 [H(M)]] =
H(M′ ),则签名得到验证 。
?3.3.3 数字签名算法( DSA)
? 基于离散对数问题
? 单向不可逆的公开密钥系统
? 验证过程中对资源的处理要比 RSA更彻底
?3.3.4 椭圆曲线数字签名算法( ECDSA)
? 利用离散对数
? 一种运用 RSA和 DSA来实施数字签名的方法
? 在生成签名和进行验证时比 RSA和 DSA快
3.3数字签名技术
3.3.5 特殊数字签名方法
盲签名
? 一般数字签名中, 总是要先知道文件内
容而后才签署, 这正是通常所需要的 。
但有时需要某人对一个文件签名, 但又
不让他知道文件内容, 称为盲签名, 它
是由 Chaum在 1983年最先提出的 。 在选举
投票会使用到 。 利用盲变换可以实现盲
签名 。
利用盲变换可以实现盲签名的基本原理
? ( 1) A取一文件并以一随机值乘之, 称此随机
值为盲因子
( 2) A将此盲文件发送给 B;
( 3) B对盲文件签名;
( 4) A以盲因子除之, 得到 B对原文件的签名
? Chaum将盲变换看做是信封, 盲文件是对文件
加个信封, 而去掉盲因子的过程是打开信封的
过程 。 文件在信封中时无人可读, 而在盲文件
上签名相当于在复写纸信封上签名, 从而得到
了对原文件 ( 信封内容 ) 的签名 。
王先生要买李小姐的一处房产,他发
给李小姐一个购买报价单及对他对银行授
权书的消息,要求银行如果李小姐同意按
此价出卖,则将钱划到李小姐的账上。但
是王先生不想让银行看到报价,也不想让
李小姐看到他的银行账号信息。
双重签名
? 在一次电子商务活动过程中可能同时有两个有
联系的消息 M1和 M2,要对它们同时进行数字签
名 。 例如, 一个是送银行 B的有关转帐财务明
细表, 即消息 M1,另一个是厂商 C的进货清单
即消息 M2; 但要求交送银行 B的数字签名不应
知道 M2,送厂商 C的数字签名不应知道 M1,
?A将发给 C的信息 M1和发给 B的信息 M2分别生成
信息摘要 MD1和 MD2
?A将 MD1和 MD2合在一起生成 MD,并签名 。
? 将 M1,MD2和 MD发给 C,将 M2,MD1和 MD发给 B。
一个公司的每个部门有它自己的打
印机,每台都连在局域网上,只有本部
门的人员才被允许使用他们部门的打印
机。因此,打印前,必须使打印机确信
员工是在那个部门工作的。同时,公司
想保密,不可以暴露员工的姓名。但如
果有人在当天结束时发现打印机用得太
频繁,主管必须能够找出谁滥用了那台
打印机。
团体签名
? 团体签名具有以下特性,
? ① 只有该团体内的成员能对消息签名;
? ② 签名的接收者能够证实消息是该团体
的有效签名 。
? ③ 签名的接收者不能决定是该团体内哪
一个成员签的名;
? ④在出现争议时,签名能够被, 打开,,
以揭示签名者的身份。
? 采用单向 Hash函数, 团体签名是容易实现的,
① A对文件的 hash签名 。
② B对文件的 hash签名 。
③ B将他的签名交给 A。
④ A把文件, 签名和 B的签名发给 C。
⑤ C验证 A和 B的签名 。
? A和 B能同时或顺序地完成①和②,在⑤ C可以只
验证其中一人的签名而不用验证另一人的签名。
具有可信仲裁者 T的团体签名方案
? T生成一大批公开密钥 /私钥密钥对,并且给团
体内每个成员一个不同的唯一私钥表。
? T以随机顺序公开该团体所用的公开密钥主表。
T保持一个哪个密钥属于谁的秘密记录。
? 当团体内成员想对一个文件签名时,他从自己
的密钥表随机取一个密钥。
? 当有人想验证签名是否属于该团体时,只需查
找对应公钥表并验证签名。
? 当争议发生时,T知道哪个公钥对应于哪个成
员。
无可争辩签名
? 不可争辩签名是在没有签名者自己的合作下不可能验
证签名的签名 。 无可争辩签名是为了防止所签名文件
被复制, 有利于产权拥有者控制产品的散发 。
? 不可争辩签名 1989年由 Chaum和 Antwerpen引入, 这类
签名有一些特点, 适用于某些应用, 如电子出版系统,
以利于对知识产权的保护 。
? 在签名人合作下才可能验证签名, 又会给签名者一种
机会, 在不利于他时可拒绝合作, 因而不具有, 不可
否认性, 。 不可争辩签名除了一般签名体制中的签名
算法和验证算法外, 还需要第三个组成部分, 即否认
协议;签名者利用不可争辩签名可向法庭或公众证明
一个伪造的签名的确是假的;但如果签名者拒绝参与
执行否认协议, 就表明签名真的由他签署 。
多重签名
? 一个文件经多个人的私钥签名
? 多重数字签名方案可分为两类,
有序多重数字签名方案
广播多重数字签名方案。
数字时间戳
? 如果在签名时加上一个时间标记,即是有数
字时间戳( digital time stamp) 的数字签
名。
? 时间戳( time-stamp) 是一个经加密后形成
的凭证文档,它包括三个部分,
? ①需加时间戳的文件的摘要( digest);
? ② DTS收到文件的日期和时间;
? ③ DTS的数字签名。
获得数字时间戳的过程
H a s h 算法
原文
摘要
1
加时间
数字
时间戳
I n t e r n e t
用 DTS 机构的私钥加密
发送方 DTS 机构
H a s h 算法
加了时间后
的新摘要
摘要
1
摘 要 1
+ 时间
数字
时间戳
? 数字时间戳协议必须具有如下性质,
①数据本身必须有时间标记,而与它所用
的物理媒介无关。
②不存在哪怕改变文件的 1个比特而文件时
间戳却没有明显变化的情形。
③不可能用不同于当前日期和时间的日期
和时间来签署文件。
3.3.6 数字签名法律
? 数字签名法律的内涵
? 数字签名立法原则
? 全球数字签名立法特点
? 我国数字签名立法现状
数字签名法律的内涵
? 联合国《电子商务示范法》第 7条规定,"如法
律要求要有一个人签字,则对于一项数据电文
而言,倘若情况如下,即满足了该项要求,
①使用了一种方法,鉴定了该人的身份,并且表
明该人认可了数据电文内含的信息;
②从所有各种情况看来,包括根据任何相关协议,
所用方法是可靠的,对生成或传递数据电文的
目的来说也是适当的。
数字签名 立法原则
? 一,,技术中立, 原则
? 二、功能等同方法
? 三、当事人自治原则(合同自由原则)
? 四、合理性原则
全球 数字签名 立法特点
? 一、迅速
? 二、兼容
? 三、法律的制定及时有力地推动了电子商
务、信息化和相关产业的发展
我国 数字签名 立法现状
据了解,目前我国已经有 30多家认证
机构,发放的数字证书也已经达到 50多万
份,2004年 8月 28日,我国第一部信息化
法律 ——《电子签名法》在十届全国人大
常委会第十一次会议上获得通过。
管好你的, 钥匙,
日常生活中, 我们经常碰见这样的事情,
高高兴兴来到办公室却进不了屋, 原来
忘记带钥匙了 。 钥匙成为我们进入特定
门户的必备条件, 同样密钥是整个密码
系统安全的关键, 没有密码, 保险柜是
打不开的, 没有密码在取款机前是提不
了款的 。 除了使用木马, 黑客要完全控
制一个系统往往要首先取得系统管理员
的密码 。
3.4 密钥管理技术
?3.4.1 密钥管理概述
?3.4.2 对称密钥管理
?3.4.3 非对称密钥管理
?3.4.4 第三方托管技术
?3.4.5 PGP公钥管理系统
?3.4.1 密钥管理概述
? 密钥都有时间期限,因为,
?攻击者可以使用数学分析方法来进行密码分析从而破解加密系
统,攻击者获得大量有效的密文可以帮助他们加快密码的分析。
密钥使用的时间越长,攻击者收集密文的机会就越多;
?密钥有可能被泄漏,攻击者可以对用某个特定密钥进行的加密
处理进行密码分析,所以缩短密钥的试用期可以减少危险的发
生。
? 密钥的生命周期
?密钥建立(生成密钥和发布密钥)
?密钥备份 /恢复或第三者保管
?密钥替换 /更新
?密钥吊销
?密钥期满 /终止( /销毁或归档)
3.4密钥管理技术
3.4.2 对称密钥管理
? 采用 对称加密技术 的贸易双方必须要保证
采用的是相同的密钥,要保证彼此密钥的
交换是安全可靠的,同时还要设定防止密
钥泄密和更改密钥的程序 。 这样,对称密
钥的管理和分发工作将变成一件潜在危险
的和繁琐的过程 。 通过公开密钥加密技术
实现对称密钥的管理使相应的管理变得简
单和更加安全,同时还解决了纯对称密钥
模式中存在的可靠性问题和鉴别问题 。
? 一种建立对称加密密钥的常用方法是 RSA
密钥传输法 。 对称密钥能够由一个系统
生成, 然后散发给一个或多个系统, 其
采用的是 RSA的加密模式来进行加密 。
? 另一种建立对称加密密钥的方法,是通
信双方通过某个值来形成对称加密密钥
的方法,它是由 Diffie和 Hellman提出,
这一创造性的技术被称为 Diffie-
Hellman密钥协议
?RSA密钥传输
3.4密钥管理技术
明文的
内容
3.4.3 非对称密钥管理
? 公开密钥加密系统对密钥管理的要求与对称
加密系统本质上是完全不同的。在对称加密
系统中,对彼此间进行通信的信息进行保护
的双方必须持有同一把密钥,该密钥对他们
之外的其他方是保密的。而在公开密钥加密
系统中,一方必须持有一把对其他任何方都
是保密的密钥(私人密钥),同时,还要让
想要与私人密钥的持有者进行安全通信的其
他方知道另一把相应的密钥(公开密钥)。
四类典型的公开密钥分配方案,
?公开宣布;
?公开可以得到的目录;
?公开密钥管理机构;
?公开密钥证书 。
3.4.4 第三方托管技术
? 美国于 1993年提出密钥托管加密技术 。 密钥托管也叫做密钥
恢复, 是一种能够在紧急情况下提供获取信息解密密文新途
径的技术 。 它用于保存用户的私钥备份, 既可在必要时帮助
国家安全部门获取原始明文信息, 也可在用户丢失, 损坏自
己的密钥后恢复密文 。 近几年, 密钥托管加密技术已成为密
码技术研究和应用的焦点 。
? 美国政府于 1993年 4月 16日通过美国商业部颁布了具有密钥
托管功能的加密标准 ( EES) 。
? 该标准规定使用专门授权制造的且算法 ( 将该算法称之为
Skipjack算法, 目前已公布 ) 不予公布的 Clipper芯片实施
商用加密 。 Clipper芯片是实现了 EES标准的防窜扰芯片, 它
是由美国国家安全局 ( NSA) 主持开发的硬件实现的密码部
件 。 由于加密体制具有在法律许可时可以进行密钥合成的功
能, 所以政府在必要时无须花费巨大代价破译密码, 而能够
直接侦听 。
? 目前我们可以从网上搜集到近 40种不同功能的密钥托管系统
3.4.5 PGP公钥管理系统
? 在 PGP中,一个用户必须建一个公钥环形存储
器( PKR),以存储其它用户的公钥。
? PGP将公钥分为三类:完全信赖、部分信赖、
不相识(即不信赖)。由完全可信赖人签字的
公钥为完全信赖公钥;由两位部分不可信赖人
签字的公钥为不完全信赖公钥;虽然可以用不
信赖密钥来证实加密传送 E-mail,但 PGP将以
,不可信赖, 标识此密钥。
PGP软件使用简介
? 一、生成新的密钥对
? 二、散发和获取公开密钥
? 三、签名与信任
? 四、密钥的废除
包括网上证券交易在内的电子
商务和电子政务运行, 如何才能保
证信息传输的真实性, 完整性, 不
可抵赖性呢? 目前普遍采用的方法
是身份验证技术 。
3.5 验证技术
?3.5.1 消息认证
?3.5.2 身份验证的方法
?3.5.3 身份验证协议
?认证的三项主要内容:消息认证, 身份验证
和数字签名 。
?两种主要认证模式:单向验证和双向验证 。
?三类常见身份验证证手段分析:口令验证,
个人令牌验证和生物识别 。
?四个常用身份认证协议分析,一次一密机制,
X.509认证协议, Kerberos认证协议, 零知识
身份识别机制 。
3.5.1 消息认证(验证)
? 消息认证是信息的合法接收者对消息的
真伪进行判定的技术 。 消息认证的内容
包括,
① 信息的来源
② 信息的完整性
③ 信息的序号和时间
消息认证的概念
? 一, 信息的来源认证常用的方法有两种,
一种方法是通信双方事先约定发送消息的
数据加密密钥, 接收者只需证实发送来的消息
是否能用该密钥还原成明文就能鉴定发送者 。
另一种方法是通信双方事先约定各自发送
消息所使用的通行字, 发送消息中含有此通行
字并进行加密, 接收者只需判别消息中解密的
通行字是否等于约定的通行字就能鉴定发送者 。
为了安全起见, 通行字应该是可变的 。
3.5.1 消息认证(验证)
? 二, 信息的完整性
消息内容的认证即消息的完整性检验,
常用的方法是:消息发送者在消息中加
入一个 MAC并经加密后和消息一起发送给
接受者, 接收者利用约定的算法对收到
的消息生成 MAC,并与收到的 MAC值 ( 已
解密 ) 进行比较 。
3.5.1 消息认证(验证)
? 三, 信息的序号和时间
消息的序号和时间性的认证主要是阻
止消息的重放攻击 。 常用的方法有:消息
的流水作业号, 链接认证符, 随机数认证
法和时间戳等 。
3.5.1 消息认证(验证)
消息认证模式
? 单向验证:是从甲到乙的单向通信。它建
立了甲乙双方身份的证明以及从甲到乙的
任何通信信息的完整性。
? 双向验证:与单向验证类似,但增加了来
自乙的应答。它保证是乙而不是冒名顶替
者送来的应答。
3.5.1 消息认证(验证)
单向验证的过程
? 甲产生一个随机数 Ra。
? 甲构造一条消息,M=( Ta,Ra,Ib,d)。 其中,Ta是甲的时
间标记,Ib是乙的身份证明,d为任意的一条数据信息。
为安全起见,数据可用乙的公开密钥 Eb加密。
? 甲将( Ca,Da(M)) 发送给乙。( Ca 为甲的证书,Da为甲
的私人密钥。)
? 乙确认 Ca并得到 Ea。 他确认密钥没有过期。( Ea为甲的公
开密钥)
? 乙用 Ea去解密 Da(M),这样既证明了甲的签名又证明了所
签发信息的完整性。
? 为准确起见,乙检查 M中的 Ib。
? 乙检查 M中的 Ta以证实消息是刚发来的。
? 作为一个可选项,乙对照旧随机数数据库检查 M中的 Ra以
确保消息不是重放的旧消息。
双向验证的过程
双向验证除了完成一个从甲到乙的单向验证,还包括
一个从乙到甲的类似的单向验证,
? 乙产生另一个随机数 Rb。
? 乙构造一条消息,Mm=( Tb,Rb,Ia,Ra,d)。 其中,Tb是乙的
时间标记,Ia是甲的身份证明,d为任意的数据。为确保安
全,可用甲的公开密钥对数据加密。 Ra是甲在第一步产生的
随机数。
? 乙将 Db(Mm)发送给甲。( Db为乙的私人密钥)
? 甲用 Eb去解密 Db(Mm), 以确认乙的签名和消息的完整性。
( Eb为乙的公开密钥)
? 为准确起见,甲检查 Mm中的 Ia。
? 甲检查 Mm中的 Tb,并证实消息是刚发送来的。
? 作为可选项,甲可检查 Mm中的 Rb以确保消息不是重放的旧消
息。
3.5.2 身份验证
? 身份验证概念
? 口令机制
? 一次性口令机制
? 询问 -应答机制
? 个人令牌验证
? 基于个人特征的机制
? 基于地址的机制
身份认证概念
? 身份验证 ( 身份识别 ),证实客户的真
实身份与其所声称的身份是否相符的过
程, 它是通信和数据系统正确识别通信
用户或终端的个人身份的重要途径 。 身
份验证是安全系统中的第一道关卡, 用
户在访问安全系统之前, 首先经过身份
验证系统识别身份, 然后访问控制器根
据用户的身份和授权数据库决定用户是
否能够访问某个资源 。
访问控制器
授权数据库 安全管理员
管理
用户
身份验证
资源
访问控制
身份验证的地位
身份验证的依据
? Something the user know( 所知 )
口令、密码等
? Something the user possesses ( 拥有 )
身份证、护照、密钥盘等
? Something the user is (or How he behaves)
( 特征)
指纹、笔迹、声纹、视网膜,DNA等
或者个人动作方面的一些特征
常见验证方法
? 口令机制
? 一次性口令机制
? 询问 -应答机制
? 个人令牌验证
? 基于个人特征的机制
? 基于地址的机制
基于口令的验证
口令验证的 识别过程,
① 用户将口令传送给计算机;
② 计算机完成口令单向函数值的计算;
③ 计算机把单向函数值和机器存储的值
比较 。
? 常规的口令方案涉及不随时间变化的口令,
提供所谓的 弱鉴别 (Weak authentication)。
? 口令或通行字机制是最广泛研究和使用的
身份鉴别法。通常为长度为 5-8的字符串。
选择原则:易记、难猜、抗分析能力强。
? 口令系统有许多脆弱点,
?外部泄漏
?口令猜测
?线路窃听
?重放
?危及验证者
基于口令的验证
对付外部泄露的措施
? 教育、培训
? 严格组织管理办法和执行手续
? 口令定期改变
? 每个口令只与一个人有关
? 输入的口令不再现在终端上
? 使用易记的口令,不要写在纸上
对付口令猜测的措施
? 教育、培训
? 严格限制非法登录的次数
? 口令验证中插入实时延迟
? 限制最小长度,至少 6~8字节以上
? 防止用户特征相关口令
? 口令定期改变
? 及时更改预设口令
? 使用机器产生的口令
对付线路窃听的措施
使用保护口令的机制,如散列函数
声称者 验证者
对付重放的措施
? 序列号:计数的策略,对付重放攻击的一
种方法是在认证交换中使用一个序数来给
每一个消息编号。仅当收到的消息序数顺
序合法时才接受之。但这种方法的困难是
要求双方必须保持上次消息的序号。
? 时间戳,A接受一个新消息仅当该消息包
含一个时间戳,该时间戳在 A看来,是足
够接近 A所知道的当前时间;这种方法要
求不同参与者之间的时钟需要同步。
? 验证者发送随机值(如询问):不可预测、
不重复。
对付重放攻击的措施
声称者 验证者
基本的对付危及验证者的措施
使用散列函数
声称者 验证者
对付窃听及危及验证者的措施
一次性口令机制
? 一次性口令机制确保在每次鉴别中所使用
的口令不同,以对付重放攻击。
? 确定口令的方法,
?两端共同拥有一串随机口令,在该串的某一
位置保持同步(口令序列 S/Key)
?两端共同使用一个随机序列生成器,在该序
列生成器的初态保持同步
?使用时间戳,两端维持同步的时钟
S/Key验证程序
? 其安全性依赖于一个散列函数。为建立这样的系
统A输入一随机数 R,计算机计算 f(R),f(f(R)),
f(f(f(R))),…, 共计算 100次,计算得到的值为 X1,
X2,X3,…, X100,A打印出这样的表,随身携
带,计算机将 X101存在 A的名字旁边。
? 第一次登录键入 X100。
? 以后依次键入 Xi,计算机计算 f(Xi),并将它与 Xi+1
比较。
S/Key组成
三个组成部分
?客户端程序:为端用户提供登录程序,并在
得到服务器质询值时,获取用户私钥,并调
用口令计算器形成本次鉴别口令,然后发送
给服务器程序。
?口令计算器:负责产生本次口令
?服务器程序:验证用户口令
整个过程中用户的私钥不会暴露在网络上
S/Key验证过程
? 用户登录
? 客户端向服务器发出登录请求
? 服务器向客户端发出 S/Key质询
? 客户端要求用户输入私钥
? 私钥与服务器发出的质询被送入计算器
? 计算器产生本次口令
? 客户端将口令传给服务器,服务器对之进
行验证。
询问 -应答 (Challenge/Response)机制
? A期望从 B获得一个消息
?首先发给 B一个随机值 (Challenge)
?B收到这个值之后,对它作某种变换,并送回去
?A收到 B的 Response,希望包含这个随机值
? 在有的协议中,这个 Challenge也称为 nonce
?可以明文传输,也可以密文传输
?变换条件可以是知道某个口令,也可能是其他的事情
?变换例子:用密钥加密,说明 B知道这个密钥
? 询问 /应答方法不适应非连接性的应用,因为它要
求在传输开始之前先有握手的额外开销,这就抵
消了无连接通信的主要特点。
询问 -应答机制示意
询问 -应答机制鉴别原理
询问 -应答机制
? 询问 -应答原理可以扩张基于口令的方案,
能大大地提高抵抗重放攻击的能力,但通
常通信代价很高。
? 前面所示的对付重放攻击的机制存在两个
重要的问题:一个是为了两端都知道 nrv
值需要维持同步,另一个是验证者要知道
nrv值是否被重复过是比较困难的。
? 询问 -应答方法克服了这些问题。
基于个人令牌的验证
? 个人令牌 ( token) 是一种个人持有物,
它的作用类似于钥匙, 用于启动电子设
备 。 使用比较多的是一种嵌有磁条的塑
料卡, 磁条上记录有用于机器识别的个
人信息 。 这类卡通常和个人识别号 (PIN)
一起使用 。 这类卡易于制造, 而且磁条
上记录的数据也易于转录, 因此要设法
防止仿制 。
双因素动态口令卡
? 基于密钥 /时间双因素的身份鉴别机制
? 用户登录口令随时间变化,口令一次性
使用,无法预测,可以有效抵御密码窃
取和重放攻击行为。
?RSA等多家安全公司
相关产品
? 美国 RSA SecurID公司推出的 RSA SecurID系统是
当前世界领先的双因素身份鉴别系统。形成了硬
件令牌、虚拟令牌(软件令牌)、与智能卡相结
合的令牌等系列产品。鉴别服务器可运行于
Windows 95/98/2000,Windows NT,UNIX等环境。
? 美国另一家公司 Axend( 现被 Symantec兼并)是较
早推出双因素身份认证系统的公司。 Axend不仅
可运行于 Windows 95/98/2000,Windows NT、
UNIX等环境,还能运行于 Netware系统,适应我国
证劵行业的需要。
? 我国一些信息技术公司也相继推出动态口令认证
系统。如网泰金安信息技术公司、北京亿青创新
信息技术有限公司。
基于生物统计特征的验证
? 生物识别依据人类自身所固有的生理或行为特
征 。 生理特征与生俱来, 多为先天性的, 如指
纹, 视网膜, 面容等;行为特征则是习惯使然,
多为后天性的, 如笔迹, 步态等 。 正是因为这
些别人很难具有的个人特征可以作为个人身份
识别的重要依据 。
? 生物识别因此包括指纹识别, 视网膜识别, 面
容识别, 掌纹识别, 声音识别, 签名识别, 笔
迹识别, 手形识别, 步态识别及多种生物特征
融合识别等诸多种类, 其中, 视网膜和指纹识
别被公认为最可靠的生物识别方式 。
基于地址的验证
? 基于地址的机制假定声称者的可鉴别性是以呼叫的
源地址为基础的。
? 在大多数的数据网络中,呼叫地址的辨别都是可行
的。在不能可靠地辨别地址时,可以用一个呼叫 -回
应设备来获得呼叫的源地址。
? 一个验证者对每一个主体都保持一份合法呼叫地址
的文件。
? 这种机制最大的困难是在一个临时的环境里维持一
个连续的主机和网络地址的联系。地址的转换频率、
呼叫 -转发或重定向引起了一些主要问题。
? 基于地址的机制自身不能被作为鉴别机制,但可作
为其他机制的有效补充。
3.5.3 身份验证协议
?一次一密机制
?X.509认证协议
?Kerberos认证协议
?零知识身份识别
一次一密机制
一次一密系统( one-time system),理论上
不可攻破的密码系统。
主要有三种实现方式,
?提问 -答复:用户登录系统时系统随机提示一条
信息,用户根据这一信息连同其个人化数据共
同产生一个口令字。
?时间戳:根据同步时钟信息连同其个人化数据
共同产生一个口令字。
?询问 -应答式协议:验证者提出问题,由识别者
回答,然后验证者验证其真伪性。目前已设计
出许多询问 -应答式协议。
X.509认证协议
X.509对每个用户选择的公钥提供所谓的, 证书, 。 用户
的证书是由可信的证书机构 (CA)产生, 并存放于 X.500目录之
中 。
① 版本 (V),用来区分 X.509不同年份的版本;
② 特定编号 (SN),由 CA给予每一个证书的一个特殊号码;
③ 识别方法 (AI),用于产生证书所用的方法以及一切参数;
④ 颁布者 (CA),CA的识别名字;
⑤ 有效期 (TA),包括两个日期, 在所指定的两个时间之间有
效;
⑥ 使用者 (A),证书拥有者的识别名字;
⑦ 公钥信息 (TP),被证明的公钥值, 加上使用这把公钥的方
法的名称;
⑧数字签名:对这份格式中所有其它信息先用杂凑函数产生
杂凑值,再用 CA的密钥签
X.509对用户识别的三种方法
X.509对用户的识别规定了三种不同
的方法,这三种方法分别是单项识别、
双向识别和三向识别。这些识别方法都
使用了公钥密码技术,同时也假定双方
都已从目录中或都已交换了双方的数字
证书。
Kerberos认证协议
引 言
? Kerberos,part of Project Athena at MIT
? Greek Kerberos,希腊神话故事中一种三
个头的狗,还有一个蛇形尾巴。是地狱之
门的守位。
? Modern Kerberos,意指有三个组成部分
的网络之门的保卫者。
Kerberos 历史
?80年代中期
? 是 MIT的 Athena工程的产物
? 版本
?前三个版本仅用于内部
?第四版得到广泛的应用
?第五版于 1989年开始设计,RFC1510在 1993
年确定。
问 题
在一个开放的分布式网络环境中,用户通过工
作站访问服务器上提供的服务。
? 服务器应能够限制非授权用户的访问并能够鉴别对
服务的请求。
? 工作站无法可信地向网络服务证实用户的身份,即
工作站存在三种威胁。
?一个工作站上一个用户可能冒充另一个用户操作。
?一个用户可能改变一个工作站的网络地址,从而
冒充另一台工作站在工作。
?一个用户可能窃听他人的信息交换,并用重放攻
击获得对一个服务器的访问权或中断服务器的运
行。
Kerberos 要解决的问题
? 所有上述问题都可以归结为一个非授权用户
能够获得其无权访问的服务或数据。
? 不是为每一个服务器构造一个身份鉴别协议,
Kerberos提供一个中心鉴别服务器,提供用户到
服务器和服务器到用户的鉴别服务。
? Kerberos采用传统加密算法。
? Kerberos Version 4和 Version 5( RFC1510)。
零知识证明
下面是一个故事,
? Alice,我知道联邦储备系统计算的口令
? Bob,不,你不知道
? Alice,我知道
? Bob,你不知道
? Alice,我确实知道
? Bob,请你证实这一点
? Alice,好吧,我告诉你。(她悄悄地说出了口令)
? Bob,太有趣了!现在我也知道了。我要告诉华盛
顿邮报。
? Alice,啊呀!
零知识身份识别
? 使用零知识证明来作身份证明最先是由 Uriel
Feige,Amos Fiat 和 Adi Shamir提出的。通
过使用零知识证明,用户能够证明他知道自己
的私钥,并由此证明他的身份。
? 零知识的基本思想是:被验证方 P掌握某些秘
密信息, P想设法让验证方 V相信他确实掌握那
些信息, 但又不想让 V也知道那些信息 ( 如果
连 V都不知道那些秘密信息, 第三者想盗取那
些信息当然就更难了 ) 。
零知识证明技术
? 零知识证明技术可使信息的拥有者无需泄露任
何信息就能够向验证者或任何第三方证明它拥
有该信息。
? 在网络身份鉴别中,已经提出了零知识技术的
一些变形,例如,FFS方案,FS方案和 GQ方案。
一般地,验证者颁布大量的询问给声称者,声
称者对每个询问计算一个回答,而在计算中使
用了秘密信息。
? 大部分技术要求传输的数据量较大,并且要求
一个更复杂的协议,需要一些协议交换。
3.6 数字证书技术
?3.6.1 数字证书
?数字证书的概念和内容
?数字证书的类型
?3.6.2 数字证书管理
?3.6.3 数字证书功能
数字证书的概念
? 数字证书是标志网络用户身份信息的一
系列数据,用来在网络通讯中识别通讯
各方的身份,即在 Internet上解决 "我是
谁 "的问题,就如同现实中我们每一个人
都要拥有一张证明个人身份的身份证或
驾驶执照一样,以表明我们的身份或某
种资格。
3.6.1 数字证书
身份证和证书的比较
3.6.1 数字证书
一个标准的 X.509数字证书包含以下一些内容,
① 版本号:标示证书的版本 (v1,v2,或是 v3);
② 序列号:由证书颁发者分配的本证书的唯一标识符;
③ 签名算法:签名算法标识符;
④ 颁发者:证书颁发者的可识别名 (DN),这是必须说明的;
⑤ 有效期:证书有效的时间段, 本字段由, Not Valid Before”
和, Not Valid After”两项组成;
⑥ 主体:证书拥有者的可识别名, 此字段必须是非空的, 除非使
用了其它的名字形式;
⑦ 主体公钥信息:主体的公钥 (以及算法标识符 ) – 这是必须说明
的;
⑧ 颁发者唯一标识符:证书颁发者的唯一标识符;
⑨ 主体唯一标识符:证书拥有者的唯一标识符;
⑩ 扩展:可选的标准和专用扩展 (仅在版本 3中使用 )。
?数字证书的信息
3.6.1 数字证书 -证书格式
证书类型
? 个人数字证书
? 机构数字证书
? 个人签名证书
? 机构签名证书
? 设备数字证书
? 开发者数字证书
3.6.1 数字证书
3.6.2 数字证书管理
数字证书管理包含,
? 证书颁发
? 证书使用
? 证书验证
? 证书存放等过程 。
? 认证机构
CA—— 认证中心、证书授予机构,是承担
网上认证服务,能签发数字证书并能确认用户
身份的受大家信任的第三方机构。
3.6.2 数字证书管理
3.6.3 数字证书功能
? 信息的保密性
? 交易者身份的确定性
? 不可否认性
? 不可修改性
用户 1
(保存用户 2,3,4密钥)
用户 4
(保存用户 1,2,3密钥)
用户 3
(保存用户 1,2,4密钥)
用户 2
(保存用户 1,3,4密钥)
网络中 4个用户之间使用对称加密技术
用户 1
(保存自己的私钥、公钥)
用户 4
(保存自己的私钥、公钥)
用户 3
(保存自己的私钥、公钥)
用户 2
(保存自己的私钥、公钥)
网络中 4个用户之间使用非对称加密技术
Internet