第 6 章 数字签名和认证技术

34
6 6 第 第第第第第第第第第 第 第第第第第第第第第 第第第第第第第第第第 第第第第第第第第第第第第 第第第第第第第 第第第第第第第第第第 第第第第第第第第第第第第 第第第第第第第 第第 第第第第第第第第第第第第第 第第第第第第 第第第 第第第第第第第第第第 ,(), 第第 第第第第第第第第第第第第第 第第第第第第 第第第 第第第第第第第第第第 ,(), 第第第第第第第第 第第第 ,。 第第第第第第第第 第第第 ,。 第第第第第第第第第第第第第第 第第第第第 第第第第第第第第第第第第 、、。 第第第第第第第第第第第第第第 第第第第第 第第第第第第第第第第第第 、、。

Upload: milek

Post on 19-Mar-2016

160 views

Category:

Documents


4 download

DESCRIPTION

第 6 章 数字签名和认证技术. 数字信息在计算机网络传输过程中可以被窃听或篡改,数据可以被任意复制,无法确认和自己通信的对方(人或者机器)是谁,而且还要提防对方篡改和否认通信的内容,等等。 本章将介绍与之相关的数字签名、身份认证、信息认证和数字水印技术。. 6.1 数字签名. 数字签名的概念 DSS 数字签名标准 数字水印技术. 6.1.1 数字签名的概念. ( 1 )基于对称密码系统的数字签名 在对称密码系统中,实现数字签名的前提是,存在一个公众都信赖的、具有权威的仲裁者 T 。 签名协议按如下步骤实现数字签名: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 6 章 数字签名和认证技术

第第 66 章 数字签名和认证技术章 数字签名和认证技术 数字信息在计算机网络传输过程中可以被窃听或数字信息在计算机网络传输过程中可以被窃听或篡改,数据可以被任意复制,无法确认和自己通信篡改,数据可以被任意复制,无法确认和自己通信的对方(人或者机器)是谁,而且还要提防对方篡的对方(人或者机器)是谁,而且还要提防对方篡改和否认通信的内容,等等。改和否认通信的内容,等等。 本章将介绍与之相关的数字签名、身份认证、信本章将介绍与之相关的数字签名、身份认证、信息认证和数字水印技术。息认证和数字水印技术。

Page 2: 第 6 章 数字签名和认证技术

6.16.1 数字签名数字签名 数字签名的概念数字签名的概念 DSSDSS 数字签名标准数字签名标准 数字水印技术数字水印技术

Page 3: 第 6 章 数字签名和认证技术

6.1.1 6.1.1 数字签名的概念数字签名的概念(( 11 )基于对称密码系统的数字签名)基于对称密码系统的数字签名 在对称密码系统中,实现数字签名的前提是,存在一在对称密码系统中,实现数字签名的前提是,存在一个公众都信赖的、具有权威的仲裁者个公众都信赖的、具有权威的仲裁者 TT 。。 签名协议按如下步骤实现数字签名:签名协议按如下步骤实现数字签名: ① ① AA 用用 KAKA 加密要传送给加密要传送给 BB 的消息的消息 MM ,得到,得到 MM11 ,,然后将然后将 MM11 传送给传送给 TT ;; ② ② TT 用用 KAKA 解密解密 MM11 ,恢复,恢复 MM ;; ③ ③ TT 将将 MM 以及消息以及消息 MM 来自来自 AA 的证书(包含的证书(包含 MM11 )一)一起用密钥起用密钥 KBKB 加密,得到加密,得到 MM22 ;; ④ ④ TT 将将 MM22 传送给传送给 BB ;; ⑤ ⑤ BB 用用 KBKB 解密解密 MM22 ,恢复消息,恢复消息 MM 和和 TT 的证书。的证书。

Page 4: 第 6 章 数字签名和认证技术

(( 22 )基于非对称密码系统的数字签名)基于非对称密码系统的数字签名 基于非对称密码系统的数字签名机制:基于非对称密码系统的数字签名机制: ① ① AA 用自己的私钥用自己的私钥 dAdA 对信息对信息 MM 加密,得到加密,得到 MM11 ,, MM

11 即是经过即是经过 AA 签名的消息;签名的消息; ② ② AA 将将 MM11 发送给发送给 BB ;; ③ ③ BB 保存保存 M1M1 ,并用,并用 AA 的公钥的公钥 eAeA 解密解密 MM11 ,恢复,恢复 MM 。。 前述协议虽然可以保证签名不可重用,但无法防止他前述协议虽然可以保证签名不可重用,但无法防止他人将签名和经过签名的信息合在一起重复使用。人将签名和经过签名的信息合在一起重复使用。

Page 5: 第 6 章 数字签名和认证技术

(( 33 )时间标记和单向散列函数与数字签名)时间标记和单向散列函数与数字签名 单向散列函数单向散列函数 HH((MM)) 的自变量是一任意长度的消息的自变量是一任意长度的消息 MM ,散列值,散列值 hh

= = HH((MM)) 为定长为定长 mm (通常是(通常是 128128 位或者更多)。单向散列函数必须满位或者更多)。单向散列函数必须满足下述三个条件:① 给定足下述三个条件:① 给定 MM ,很容易计算出散列值,很容易计算出散列值 hh ;② 给定;② 给定 hh ,,根据根据 HH((MM) = ) = hh 计算计算 MM 很难(所以称其为单向散列函数);③ 给定很难(所以称其为单向散列函数);③ 给定 MM ,,找到另一消息找到另一消息 MM11 并满足并满足 HH((MM) = ) = HH((MM1)1) 同样很难。同样很难。 为了提高签名的效率,签名者不对信息为了提高签名的效率,签名者不对信息 MM 签名,而仅对签名,而仅对 MM 的散的散列值列值 hh 签名:签名: ① ① AA 计算消息计算消息 MM 的散列值的散列值 hh ;; ② ② AA 用私钥用私钥 dAdA 对散列值对散列值 hh 加密,得到加密,得到 hh11 并将其作为对消息并将其作为对消息 MM的签名;的签名; ③ ③ AA 将消息将消息 MM 和自己的签名和自己的签名 hh11 一起发送给一起发送给 BB ;; ④ ④ BB 用同样的单向散列函数由用同样的单向散列函数由 MM 计算出计算出 hh ,并用,并用 AA 的公钥的公钥 eAeA和和 hh11 计算出计算出 hh22 ,如果,如果 hh22 与与 hh 相等,则相等,则 BB 认可认可 AA 对信息对信息 MM 的签名。的签名。 上述协议不但大大提高了计算速度,还有其他很多优点。例如,仲上述协议不但大大提高了计算速度,还有其他很多优点。例如,仲裁者只需保存裁者只需保存 hh 和相应的时间标记,这样可以节省大量的存储空间;和相应的时间标记,这样可以节省大量的存储空间;通信双方不需要向仲裁者提供消息原件通信双方不需要向仲裁者提供消息原件 MM ,保护了通信隐私;如果,保护了通信隐私;如果有人打算声称拥有某文件的版权,同时又不想公布该文件时,只要简有人打算声称拥有某文件的版权,同时又不想公布该文件时,只要简单地发布该文件的散列值即可。单地发布该文件的散列值即可。

Page 6: 第 6 章 数字签名和认证技术

6.1.26.1.2 DSSDSS 数字签名标准数字签名标准 该标准中提出了数字签名算法该标准中提出了数字签名算法 DSADSA 和安全散列算法和安全散列算法 SHASHA 。。 数字签名算法数字签名算法 DSADSA 有三个参数(全局公开密钥分量)对于一组用有三个参数(全局公开密钥分量)对于一组用户是公开的和公用的:素数户是公开的和公用的:素数 pp ,其中,其中 22 L L – 1 < – 1 < pp < 2 < 2 L L ,, 512 ≤ 512 ≤ LL < 1 < 1

024024 ,且,且 LL 是是 6464 的倍数;素数的倍数;素数 qq ,其中,其中 qq 是(是( pp – 1 – 1 )的因数,)的因数, 212159 <59 < q q < 2160 < 2160 ;常数;常数 g g = = hh ( ( p p – 1 ) / – 1 ) / q q modmod p p ,其中整数,其中整数 hh 满足条满足条件件 1 < 1 < h h < ( < ( pp – 1 ) – 1 ) 且使得且使得 gg > 1 > 1 ;每个用户的私有密钥;每个用户的私有密钥 xx ,, xx 是随是随机或伪随机整数且机或伪随机整数且 1 <1 < x x < < q q 以及公开密钥以及公开密钥 yy = = g x g x mod mod p p 。。

利用上述利用上述 55 个参数以及安全散列算法个参数以及安全散列算法 SHASHA ,可以实现数字签名。,可以实现数字签名。假设假设 AA 对消息对消息 MM 签名:签名: ① ① AA 产生一个随机整数产生一个随机整数 kk ,其中 ,其中 0 < 0 < k k < < qq ;; ② ② 利用利用 kk 和和 SHASHA 散列算法散列算法 HH ,, AA 计算计算 rr = ( = ( g kg k mod mod pp ) mod ) mod qq 和和

ss = ( = ( k k – 1 ( – 1 ( H H ( ( M M ) + ) + x rx r ) ) mod ) ) mod q q ,然后,然后 AA 将将 rr 和和 ss 作为自己作为自己对信息对信息 MM 的签名,把它们发送给的签名,把它们发送给 BB ;; ③ ③ BB 收到收到 AA 的消息的消息 MM11 和签名和签名 ( ( rr1 , 1 , ss1 )1 ) 后,计算后,计算 ww = = s s1 – 1 m1 – 1 m

odod q q ,, uu1 = 1 = HH ( ( M M11 ) ) w w mod mod qq ,, uu2 = 2 = rr1 1 w w mod mod qq ,, vv = ( = ( mod mod pp ) ) mod mod qq ;; 如果 如果 vv = = r1 r1 ,则,则 BB 认为认为 AA 对消息对消息 MM 的签名有效。的签名有效。

Page 7: 第 6 章 数字签名和认证技术

引理 引理 6.16.1 对任何整数对任何整数 tt ,有,有 g g tt mod mod pp ≡ ≡ g g tt mod mod qq mod mod p p 。。 证明:因为( 证明:因为( h h ,, p p )) = 1= 1 ,由,由 FermatFermat 定理,可知定理,可知 h h p p – 1– 1

≡1 mod ≡1 mod pp 。因为任何整数。因为任何整数 tt 可惟一表示为可惟一表示为 tt = = kq kq + ( + ( tt mo mod d qq ) ) ,所以,所以 gg t t mod mod p p ≡( ≡( h h ( ( pp – 1 ) / – 1 ) / qq mod mod p p ) ) k qk q + ( + ( tt mod mod q q )) mod mod pp

≡ ≡(( (( h h kk ( ( pp – 1 ) – 1 ) mod mod pp ) ( ) ( hh ( ( pp – 1 ) / – 1 ) / qq mod mod p p ) ) tt mo mo

d d qq ) mod ) mod pp ≡ ≡(1(1 k k g tg t mod mod qq ) mod ) mod p p

≡≡g tg t mod mod qq mod mod p p 。 证毕。。 证毕。 引理引理 6.26.2 y y r w r w mod mod q q mod mod p p ≡ ≡ g g x r wx r w mod mod q q mod mod pp 。。 证明:按定义证明:按定义 y y == g g xx mod mod pp ,以及引理,以及引理 6.16.1 ,得,得

y y r w r w mod mod q q mod mod p p ≡(≡( g g xx mod mod pp ) ) r wr w mod mod q q mod mod pp ≡ ≡( ( g g xx ( ( r wr w mod mod q q )) mod mod pp ) mod ) mod pp ≡ ≡g g x x (( r w r w mod mod qq ) ) mod mod pp

≡ ≡g g x r w x r w mod mod qq mod mod p p 。证毕。。证毕。

Page 8: 第 6 章 数字签名和认证技术

引理引理 6.36.3 ( ( ( ( HH ( ( MM ) + ) + x rx r ) ) ww ) mod ) mod q q == k k 。。 证明:因为证明:因为 ks ks mod mod q q ≡(≡( k k ( ( kk – 1– 1 ( ( HH ( ( M M ) + ) + x r x r ) mod ) mod q q ) ) mod ) ) mod qq

≡ ≡(( k k k k – 1– 1 ( ( H H ( ( M M ) + ) + x r x r ) mod ) mod qq ) mod ) mod q q ≡ ≡( 1 ( ( 1 ( HH ( ( MM ) + ) + x r x r ) mod ) mod qq ) mod ) mod qq

≡ ≡( ( HH ( ( MM ) + ) + x rx r ) mod ) mod qq 以及以及 ww = = s s – 1– 1 mod mod qq ,, 所以得到所以得到 ( (( ( H H ( ( MM ) + ) + x r x r ) ) ww ) mod ) mod q q ≡(≡( k s k s mod mod qq ) ( ) ( s s –1–1 mod mod qq ) mod ) mod qq

≡ ≡( ( k s sk s s –1–1 mod mod qq ) mod ) mod qq ≡ ≡kk mod mod qq 注意 注意 0 < 0 < kk < < q q ,因此,因此 kk = = k k mod mod qq 。。

Page 9: 第 6 章 数字签名和认证技术

定理定理 6.16.1 对于对于 DSADSA ,必有,必有 vv = = rr 。。 证明:由定义以及引理证明:由定义以及引理 6.36.3 ,有,有 v v = ( = ( ggu1u1 y y u2u2 mod mod pp ) mod ) mod qq

= ( = ( g g ( H ( M ) w ) mod ( H ( M ) w ) mod qq y y r wr w mod mod qq mod mod p p ) mod ) mod qq = (= ( g g ( ( HH ( ( M M ) ) w w ) mod ) mod qq g g x r wx r w mod mod qq mod mod pp ) mod ) mod q q = ( = ( gg ( ( HH ( ( MM ) ) w w ) mod) mod q q ++ x r w x r w mod mod q q mod mod pp ) mod ) mod qq = (= ( g g ( ( HH ( ( MM ) + ) + x r x r )) w w mod mod qq mod mod pp ) mod ) mod qq = ( = ( g g kk mod mod pp ) mod ) mod qq == r r 。。

Page 10: 第 6 章 数字签名和认证技术

6.1.46.1.4 数字水印技术数字水印技术 信息隐藏把被隐藏的信息(水印、指纹、一段秘密消信息隐藏把被隐藏的信息(水印、指纹、一段秘密消息)嵌入到一个载体息)嵌入到一个载体 CC (( CoverCover ,如,如 CDCD载体、视频载体、载体、视频载体、文本载体等)中,从而得到隐秘载体文本载体等)中,从而得到隐秘载体 SS (( Stego CoverStego Cover ),),在版权标记的上下文中称为标记载体(在版权标记的上下文中称为标记载体( CDCD 、视频等)。、视频等)。 数字隐藏技术的基本要求:数字隐藏技术的基本要求: ① ① 鲁棒性 鲁棒性 (robustness)(robustness) : 指隐藏算法有较强的抗攻: 指隐藏算法有较强的抗攻击能力,击能力, ② ② 不可检测性 不可检测性 (undetectability)(undetectability) :指隐蔽载体与原始:指隐蔽载体与原始载体具有一致的特性。载体具有一致的特性。 ③ ③ 不可感知性不可感知性 (imperceptibility)(imperceptibility) :利用人类视觉系统:利用人类视觉系统或人类听觉系统特性,经过一系列处理,嵌入的信息不能或人类听觉系统特性,经过一系列处理,嵌入的信息不能使载体产生可感知的失真,使载体产生可感知的失真, ④ ④ 信息量。信息量。

Page 11: 第 6 章 数字签名和认证技术

图 6.1 信息的隐藏与提取系统模型

Page 12: 第 6 章 数字签名和认证技术

信息隐藏技术的分类信息隐藏技术的分类 ① ① 按密钥分类: 若嵌入与提取用的密钥相同,则称为对 称按密钥分类: 若嵌入与提取用的密钥相同,则称为对 称隐藏算法,否则为公钥隐藏算法。隐藏算法,否则为公钥隐藏算法。 ② ② 按载体类型分类: 分为基于文本、图像、音频和视频的按载体类型分类: 分为基于文本、图像、音频和视频的信息隐藏技术。信息隐藏技术。 ③ ③ 按嵌入域分类: 分为空域(时域)方法和变换域(频按嵌入域分类: 分为空域(时域)方法和变换域(频 域)方法。域)方法。 ④ ④ 按提取要求分类: 在提取隐藏信息时不需要原始载体, 按提取要求分类: 在提取隐藏信息时不需要原始载体, 称为盲隐藏;否则称为非盲隐藏。称为盲隐藏;否则称为非盲隐藏。 ⑤ ⑤ 按保护对象分类: 主要分为隐秘术和数字水印技术,按保护对象分类: 主要分为隐秘术和数字水印技术,隐秘术主要用于保密通信,它要保护隐藏信息;数字水印隐秘术主要用于保密通信,它要保护隐藏信息;数字水印主要用于版权保护及真伪鉴别等,它要保护的是载体。主要用于版权保护及真伪鉴别等,它要保护的是载体。

Page 13: 第 6 章 数字签名和认证技术

数字水印的基本概念数字水印的基本概念 数字水印 数字水印 (digital watermarking)(digital watermarking) 是通过在原始资料中嵌是通过在原始资料中嵌入秘密信息——水印 入秘密信息——水印 (watermark)(watermark) 来证实该资料的所有权。来证实该资料的所有权。 有两种基本类型的标志能被嵌入到一个载体中:指纹和有两种基本类型的标志能被嵌入到一个载体中:指纹和水印。指纹类似于嵌入的序列号,而水印是一个嵌入的版权水印。指纹类似于嵌入的序列号,而水印是一个嵌入的版权信息。信息。 数字水印技术的应用数字水印技术的应用 ① ① 用于版权保护的数字水印用于版权保护的数字水印 ② ② 用于盗版跟踪的数字指纹用于盗版跟踪的数字指纹 ③ ③ 完整性标志(篡改提示)完整性标志(篡改提示) ④ ④ 访问控制和防拷贝控制访问控制和防拷贝控制 ⑤ ⑤ 商务交易中的票据防伪商务交易中的票据防伪

Page 14: 第 6 章 数字签名和认证技术

数字水印技术的分类和基本要求数字水印技术的分类和基本要求① ① 按特性划分。按水印的特性可以将数字水印分为鲁棒数字水印和脆弱按特性划分。按水印的特性可以将数字水印分为鲁棒数字水印和脆弱数字水印两类。鲁棒数字水印主要用于在数字作品中标识著作权信息,数字水印两类。鲁棒数字水印主要用于在数字作品中标识著作权信息,如作者、作品序号等,它要求嵌入的水印能够经受各种常用的编辑处如作者、作品序号等,它要求嵌入的水印能够经受各种常用的编辑处理;脆弱数字水印主要用于完整性保护,与鲁棒水印的要求相反,脆理;脆弱数字水印主要用于完整性保护,与鲁棒水印的要求相反,脆弱水印必须对信号的改动很敏感,人们根据脆弱水印的状态就可以判弱水印必须对信号的改动很敏感,人们根据脆弱水印的状态就可以判断资料是否被篡改过。断资料是否被篡改过。② ② 按水印所附载的媒体划分。按水印所附载的媒体,我们可以将数字水按水印所附载的媒体划分。按水印所附载的媒体,我们可以将数字水印划分为图像水印、音频水印、视频水印、文本水印以及用于三维网印划分为图像水印、音频水印、视频水印、文本水印以及用于三维网格模型的网格水印等。格模型的网格水印等。③ ③ 按检测过程划分。按水印的检测过程可以将数字水印划分为明文水印按检测过程划分。按水印的检测过程可以将数字水印划分为明文水印和盲水印。明文水印在检测过程中需要原始资料,而盲水印的检测只和盲水印。明文水印在检测过程中需要原始资料,而盲水印的检测只需要密钥,不需要原始资料。需要密钥,不需要原始资料。④ ④ 按内容划分。 按数字水印的内容可以将水印划分为有意义水印和无按内容划分。 按数字水印的内容可以将水印划分为有意义水印和无意义水印。有意义水印是指水印本身也是某个数字图像(如商标图意义水印。有意义水印是指水印本身也是某个数字图像(如商标图像)或数字音频片段的编码;无意义水印则只对应于一个序列号。像)或数字音频片段的编码;无意义水印则只对应于一个序列号。

Page 15: 第 6 章 数字签名和认证技术

⑤ ⑤ 按用途划分。票据防伪水印、版权保护水印、篡改提按用途划分。票据防伪水印、版权保护水印、篡改提示水印和隐蔽标识水印等。示水印和隐蔽标识水印等。 ⑥ ⑥ 按水印隐藏的位置划分。时(空)域数字水印、频域按水印隐藏的位置划分。时(空)域数字水印、频域数字水印、时数字水印、时 // 频域数字水印和时间频域数字水印和时间 // 尺度域数字水印。尺度域数字水印。时(空)域数字水印是直接在信号空间上叠加水印信号,时(空)域数字水印是直接在信号空间上叠加水印信号,而频域数字水印、时而频域数字水印、时 // 频域数字水印和时间频域数字水印和时间 // 尺度域数字尺度域数字水印则分别是在水印则分别是在 DCTDCT 变换域、时变换域、时 / / 频变换域和小波变换频变换域和小波变换域上隐藏水印。域上隐藏水印。 根据应用的需要,数字水印的基本要求有:根据应用的需要,数字水印的基本要求有: ① ① 不可感知性。 ② 鲁棒性。不可感知性。 ② 鲁棒性。 ③ ③ 可验证性 ④ 水印安全。可验证性 ④ 水印安全。 ⑤ ⑤ 低复杂性。 ⑥ 通用性。低复杂性。 ⑥ 通用性。 ⑦ ⑦ 自相似性。自相似性。

Page 16: 第 6 章 数字签名和认证技术

6.1.4.6 6.1.4.6 数字水印技术的基本原理数字水印技术的基本原理 数字水印技术包括水印嵌入系统和水印恢复系统。水印嵌入系统主要解决两个问题:数字水印技术包括水印嵌入系统和水印恢复系统。水印嵌入系统主要解决两个问题:一是数字水印的生成,可以是一串伪随机数、文本、图像等形式的数据;二是嵌入算法,一是数字水印的生成,可以是一串伪随机数、文本、图像等形式的数据;二是嵌入算法,目的是使数字水印在不可见性和鲁棒性之间找到一个较好的折衷目的是使数字水印在不可见性和鲁棒性之间找到一个较好的折衷 水印水印 WW 载体数据载体数据 II 加入水印后 加入水印后 的数据 的数据 私钥私钥 // 公钥公钥 KK

图图 6.36.3 一般的数字水印嵌入系统一般的数字水印嵌入系统 图图 6.46.4 是一般水印提取系统。该系统的输入是已嵌入水印的数据、私钥或公钥,以是一般水印提取系统。该系统的输入是已嵌入水印的数据、私钥或公钥,以及原始数据或原始水印。检测的结果是原始水印及原始数据或原始水印。检测的结果是原始水印 WW ,或是基于统计原理的某种可信度,或是基于统计原理的某种可信度的值以判断所考察数据中水印存在与否。的值以判断所考察数据中水印存在与否。 水印水印 WW 或原始数据或原始数据 II 测试数据 水印或可信 测试数据 水印或可信 度测量 度测量 私钥私钥 // 公钥公钥 KK

图图 6.4 6.4 一般的数字水印提取系统一般的数字水印提取系统

水印嵌入算法

水印检测算法'

~I

Page 17: 第 6 章 数字签名和认证技术

一般可用六元组 一般可用六元组 (( I I , , KK , , WW , , GG , , EE , , DD ) ) 来表示通用水来表示通用水印框架印框架 GWFGWF (( General Watermark FrameGeneral Watermark Frame )。)。 图像数字水印的含义如下:图像数字水印的含义如下: ① ① II表示数字信息表示数字信息 ii 的集合;的集合; ② ② KK表示水印密钥表示水印密钥 kk 的集合;的集合; ③ ③ WW表示水印信号表示水印信号 ww 的集合;的集合; ④ ④ GG表示水印生成算法表示水印生成算法 gg 的集合,定义为的集合,定义为 gg :: WW××KK

→ → II , 即 , 即 gg (( ww ,, kk )= )= i i ∈ ∈ I I ,其中,其中 ww ∈ ∈WW 是要加入是要加入的水印 ,的水印 , kk ∈ ∈KK是水印密钥;是水印密钥; ⑤ ⑤ EE 是嵌入算法是嵌入算法 ee 的集合,定义为的集合,定义为 ee :: II××WW××KK → → II ,,即 即 ee (( i ri r ,, gg (( ww ,, kk ))=))= i wi w ∈ ∈ II ,其中,其中 i ri r 表示原表示原始数字信息, 始数字信息, i wi w 则是嵌入水印后的数字信息;则是嵌入水印后的数字信息; ⑥ ⑥ DD表示水印检测算法表示水印检测算法 dd 的集合,定义为的集合,定义为 DD :: II××WW××

KK→ { 0 → { 0 ,, 1 }1 } ,这里 ,这里 dd (( ii ,, ww ,, kk )=)= 11当且仅当对当且仅当对给定的密钥给定的密钥 kk ,可以检测出信息,可以检测出信息 ii 中含有数字水印中含有数字水印 ww 。。

Page 18: 第 6 章 数字签名和认证技术

为了保证一个水印方案的有效性及完全性,为了保证一个水印方案的有效性及完全性,必须满足下列要求:必须满足下列要求: ① ① 密钥惟一性。密钥惟一性。 ② ② 水印相关性。水印相关性。 ③ ③ 不可逆性。不可逆性。 ④ ④ 不可察觉性。不可察觉性。 ⑤ ⑤ 水印合法性。水印合法性。 ⑥ ⑥ 检测可靠性。检测可靠性。 ⑦ ⑦ 稳健性。稳健性。

Page 19: 第 6 章 数字签名和认证技术

6.1.4.7 6.1.4.7 数字水印的典型算法数字水印的典型算法 (( 11 )空域算法)空域算法 该类算法典型的方法是将水印嵌入到随机选择的图像点中最不重要的像素该类算法典型的方法是将水印嵌入到随机选择的图像点中最不重要的像素位上,称为最低有效位算法位上,称为最低有效位算法 LSB(Least Significant Bits)LSB(Least Significant Bits) ,此算法通过把一个,此算法通过把一个密钥输入到一个密钥输入到一个 mm--序列发生器来产生水印信号,然后排列成序列发生器来产生水印信号,然后排列成 22维水印信号,维水印信号,按象素点逐一插入到原始图像象素值的最低几位。按象素点逐一插入到原始图像象素值的最低几位。 由于使用了图像不重要的像素位,算法的鲁棒性差,水印信息很容易为滤由于使用了图像不重要的像素位,算法的鲁棒性差,水印信息很容易为滤波、图像量化、几何变形的操作破坏,波、图像量化、几何变形的操作破坏, (( 22 ) 直接序列扩频水印算法) 直接序列扩频水印算法 扩频水印方法与扩频通信类似,是将水印信息经扩频调制后叠加在原始数扩频水印方法与扩频通信类似,是将水印信息经扩频调制后叠加在原始数据上。从频域上看,水印信息散布于整个频谱,无法通过一般的滤波手段消据上。从频域上看,水印信息散布于整个频谱,无法通过一般的滤波手段消除水印。除水印。 (( 33 ) 基于) 基于 DCTDCT 变换域数字水印算法变换域数字水印算法 这是目前研究最多的算法,它具有鲁棒性强、隐蔽性好的特点。其主要思这是目前研究最多的算法,它具有鲁棒性强、隐蔽性好的特点。其主要思想是在图像的想是在图像的 DCTDCT 变换域上选择中低频系数叠加水印信息。变换域上选择中低频系数叠加水印信息。 (( 44 )文档结构微调方法(文本微调算法))文档结构微调方法(文本微调算法) BrassilBrassil 等提出了三种在通用文档图像(等提出了三种在通用文档图像( PostScriptPostScript )或)或 PDFPDF 文件中隐文件中隐藏特定二进制信息的技术,它们主要是通过轻微改变字符间距,行间距或是藏特定二进制信息的技术,它们主要是通过轻微改变字符间距,行间距或是增加、删除字符特征如底纹线等方法来嵌入水印,或是在符号级或语义级加增加、删除字符特征如底纹线等方法来嵌入水印,或是在符号级或语义级加入水印,入水印,

Page 20: 第 6 章 数字签名和认证技术

(( 55 ) ) PatchworkPatchwork 算法算法 主要用于打印票据的防伪,方法是随机选择主要用于打印票据的防伪,方法是随机选择NN对像素点 对像素点 ((aiai ,, bibi) ) ,然后将每个,然后将每个 aiai点的亮度值加 点的亮度值加 1 1 ,每个,每个 bibi 点的亮度值减 点的亮度值减 11 ,以在这一调整的过程中隐藏,以在这一调整的过程中隐藏 1bit1bit 的信息的信息于数字媒体之中。且整个图像的平均亮度保持不变。适当地调整参数,可使于数字媒体之中。且整个图像的平均亮度保持不变。适当地调整参数,可使 PatchworkPatchwork数字水印隐藏在特定图像区域的统计特性中,该算法具有较高的不易察觉性,鲁棒性很数字水印隐藏在特定图像区域的统计特性中,该算法具有较高的不易察觉性,鲁棒性很强,对强,对 JPEGJPEG压缩、灰度校正,压缩、灰度校正, FIRFIR 滤波以及图像裁剪有一定的抵抗力,但该方法嵌滤波以及图像裁剪有一定的抵抗力,但该方法嵌入的信息量有限,对仿射变换敏感,对多拷贝平均攻击的抵抗力较弱。入的信息量有限,对仿射变换敏感,对多拷贝平均攻击的抵抗力较弱。 (( 66 ) 纹理块映射编码方法) 纹理块映射编码方法 将数字信息隐藏于数字图像的随机纹理区域中,并将隐藏信息的纹理映射到另一个将数字信息隐藏于数字图像的随机纹理区域中,并将隐藏信息的纹理映射到另一个纹理相似的区域,利用纹理间的相似性掩盖水印信息。该算法对于滤波、压缩和扭转等纹理相似的区域,利用纹理间的相似性掩盖水印信息。该算法对于滤波、压缩和扭转等操作具有抵抗的能力,但仅适用于具有大量任意纹理区域的图像,且不能完全自动完成,操作具有抵抗的能力,但仅适用于具有大量任意纹理区域的图像,且不能完全自动完成,需要人工干预。需要人工干预。 (( 77 ) 域算法) 域算法 (( 88 ) ) NECNEC 算法算法 其实现方法是,首先以密钥为种子来产生伪随机序列,该序列具有高斯其实现方法是,首先以密钥为种子来产生伪随机序列,该序列具有高斯 NN(0(0 ,, 1)1) 分分布,密钥一般由作者的标识码和图像的哈希值组成,其次对图像做布,密钥一般由作者的标识码和图像的哈希值组成,其次对图像做 DCTDCT 变换,最后用变换,最后用伪随机高斯序列来调制伪随机高斯序列来调制 ((叠加叠加 )) 该图像除直流该图像除直流 (DC)(DC) 分量外的分量外的 10001000 个最大的个最大的 DCTDCT 系数。系数。该算法具有较强的鲁棒性、安全性、透明性等。该算法具有较强的鲁棒性、安全性、透明性等。 (( 99 ) 生理模型算法) 生理模型算法 人的生理模型包括人类视觉系统人的生理模型包括人类视觉系统 HVSHVS 和人类听觉系统和人类听觉系统 HASHAS 。该模型不仅被多媒体。该模型不仅被多媒体数据压缩系统利用,同样可以供数字水印系统利用。利用视觉模型的基本思想均是利用数据压缩系统利用,同样可以供数字水印系统利用。利用视觉模型的基本思想均是利用从视觉模型导出的从视觉模型导出的 JNDJND (( Just Noticeable DifferenceJust Noticeable Difference )描述来确定在图像的各个部分)描述来确定在图像的各个部分所能容忍的数字水印信号的最大强度,从而能避免破坏视觉质量。也就是说,利用视觉所能容忍的数字水印信号的最大强度,从而能避免破坏视觉质量。也就是说,利用视觉模型来确定与图像相关的调制掩模,然后再利用其来插入水印。模型来确定与图像相关的调制掩模,然后再利用其来插入水印。

Page 21: 第 6 章 数字签名和认证技术

6.26.2 身份认证机制身份认证机制 基于口令的身份认证机制基于口令的身份认证机制 KerberosKerberos 身份认证协议身份认证协议

Page 22: 第 6 章 数字签名和认证技术

6.2.26.2.2 KerberosKerberos 身份认证协议身份认证协议 KerberosKerberos 的第五版的的第五版的 cc代表客户(机),代表客户(机), ss代表服务器,代表服务器,

aa 代表客户的网络地址,代表客户的网络地址, vv代表票据的有效起止时间,代表票据的有效起止时间,tt代表时间标记,代表时间标记, K xK x代表代表 xx 的秘密密钥,的秘密密钥, K x , yK x , y代表代表 xx 与与yy 的会话密钥,的会话密钥, {{mm} K x} K x 为用为用 xx 的密钥加密的消息的密钥加密的消息 mm ,, T x , T x , yy代表使用代表使用 yy 的的 xx 的票据,的票据, A x , yA x , y代表从代表从 xx 到到 yy 的鉴别码。的鉴别码。

KerberosKerberos 使用两类凭证:票据和鉴别码)。票据的格使用两类凭证:票据和鉴别码)。票据的格式为式为 T c , s T c , s = = ss , { , { c c , , aa , , vv , , K c , s K c , s }}K sK s ,它包括服务器名,它包括服务器名ss ,客户名,客户名 cc ,客户的网络地址,客户的网络地址 aa ,票据的有效起止时间,票据的有效起止时间 vv和会话密钥和会话密钥 K c , sK c , s ,并用服务器的密钥对后四项加密。客,并用服务器的密钥对后四项加密。客户持该票据可以多次访问该服务器,直至票据过期。鉴别码户持该票据可以多次访问该服务器,直至票据过期。鉴别码的格式为的格式为 A c , s A c , s = { = { cc , , tt , , keykey } } K c , sK c , s ,鉴别码包括客户名,,鉴别码包括客户名,时间标记和一个可选的附加会话密钥,并用客户与服务器共时间标记和一个可选的附加会话密钥,并用客户与服务器共享的密钥加密。享的密钥加密。 使用鉴别码有两个主要目的:它包括以会话密钥加密的使用鉴别码有两个主要目的:它包括以会话密钥加密的明文,可以证明鉴别码发送者的身份(因为发送者知道该对明文,可以证明鉴别码发送者的身份(因为发送者知道该对称密钥);明文中包含时间标记,可以防止重放攻击。需要称密钥);明文中包含时间标记,可以防止重放攻击。需要注意的是,鉴别码只能使用一次,客户在每次请求使用服务注意的是,鉴别码只能使用一次,客户在每次请求使用服务器上的服务时,都必须产生一个新的鉴别码。器上的服务时,都必须产生一个新的鉴别码。

Page 23: 第 6 章 数字签名和认证技术

KerberosKerberos 鉴别协议的五条消息鉴别协议的五条消息① ① 客户向客户向 KerberosKerberos鉴别服务器申请许可票据鉴别服务器申请许可票据 cc 和和 tgstgs 。客户首先向。客户首先向 KerKer

berosberos鉴别服务器发送一个消息,该消息包括客户名鉴别服务器发送一个消息,该消息包括客户名 cc 和和 TGS ( Ticket TGS ( Ticket Granting ServiceGranting Service票据许可服务 票据许可服务 ))服务器名服务器名 tgstgs (实际上,客户通常只(实际上,客户通常只是输入其用户名,该消息由注册程序发送)。是输入其用户名,该消息由注册程序发送)。 KerberosKerberos鉴别服务器在鉴别服务器在其数据库中查找该客户。其数据库中查找该客户。

② ② KerberosKerberos鉴别服务器向客户发送鉴别服务器向客户发送 TGT(TGT(票据许可票据票据许可票据 ){ ){ K c , tgsK c , tgs } } K c K c 和和 { { T c , tgsT c , tgs } } K tgsK tgs 。如果客户在数据库中,。如果客户在数据库中, KerberosKerberos鉴别服务器便鉴别服务器便产生一个会话密钥产生一个会话密钥 K c , tgsK c , tgs 用于客户和用于客户和 TGSTGS 之间的会话加密,并用客之间的会话加密,并用客户的密钥户的密钥 K cK c 将其加密;同时产生一个将其加密;同时产生一个 TGTTGT 向向 TGSTGS 证实其身份,并用证实其身份,并用TGSTGS 的密钥的密钥 K tgsK tgs 将其加密。将其加密。 KerberosKerberos鉴别服务器把这两个消息发送鉴别服务器把这两个消息发送给客户。给客户。

③ ③ 客户向客户向 TGSTGS请求服务票据请求服务票据 {{ A c , s A c , s } }K c , tgsK c , tgs 和和 { { T c , tgsT c , tgs } }K tgsK tgs 。客。客户的密钥户的密钥 K cK c 实际上就是客户口令的单向散列函数值,因此合法客户一实际上就是客户口令的单向散列函数值,因此合法客户一定可以解密定可以解密 TGTTGT 中的第一个消息,恢复出中的第一个消息,恢复出 K c , tgsK c , tgs 。客户将。客户将 TGTTGT 和和会话密钥保存起来,并销毁口令和单向散列函数值,这样,如果黑客拷会话密钥保存起来,并销毁口令和单向散列函数值,这样,如果黑客拷贝了客户存储器中的内容,他只能得到会话密钥和贝了客户存储器中的内容,他只能得到会话密钥和 TGTTGT ,但当,但当 TGTTGT 过过期以后,这些信息毫无价值。在期以后,这些信息毫无价值。在 TGTTGT 有效期内,客户通过向有效期内,客户通过向 TGSTGS 发送发送上述请求服务票据,一方面证实自己的身份,另一方面请求服务器上述请求服务票据,一方面证实自己的身份,另一方面请求服务器 ss 的的相关服务。通常,该请求由应用程序自动完成,对于客户是透明的。相关服务。通常,该请求由应用程序自动完成,对于客户是透明的。

Page 24: 第 6 章 数字签名和认证技术

④ ④ TGSTGS 向客户发送服务器票据向客户发送服务器票据 { { K c , sK c , s } } K c , tgsK c , tgs 和和 { { T c , sT c , s } } K sK s 。。 TTGSGS 为每个服务器和每项业务分配票据,而客户为了得到服务器的每为每个服务器和每项业务分配票据,而客户为了得到服务器的每项服务必须获得项服务必须获得 TGSTGS 不同的票据。不同的票据。 TGSTGS 收到③中客户发来的请求后,收到③中客户发来的请求后,首先用自己的密钥首先用自己的密钥 K tgsK tgs 解密该解密该 TGTTGT ,然后再用会话密钥,然后再用会话密钥 K c , tgK c , tgss解密鉴别码解密鉴别码 A c , s A c , s 。。 TGSTGS比较鉴别码中的信息和票据中的信息、客比较鉴别码中的信息和票据中的信息、客户的网络地址和发送请求的地址、以及时间标记和当前时间。如果每户的网络地址和发送请求的地址、以及时间标记和当前时间。如果每一项都符合要求,一项都符合要求, TGSTGS 则认为是客户的一个有效请求,则认为是客户的一个有效请求, TGSTGS 为客户为客户和服务器产生一个新的会话密钥和服务器产生一个新的会话密钥 K c , sK c , s ,把它与,把它与 T c , sT c , s 一起加密后一起加密后发给客户。发给客户。

⑤ ⑤ 客户向服务器发送服务请求客户向服务器发送服务请求 {{ A c , s A c , s } } K c , s K c , s 和和 { { T c , s T c , s } } K sK s 。客。客户收到户收到 TGSTGS 发来的服务器票据后,就可以向服务器发送服务请求,发来的服务器票据后,就可以向服务器发送服务请求,同时向服务器证实自己的身份。请求由从同时向服务器证实自己的身份。请求由从 TGSTGS接受到的票据接受到的票据 { { T c , sT c , s } } K sK s 和加密的鉴别码组成,鉴别码和加密的鉴别码组成,鉴别码 A c , sA c , s 包括客户名包括客户名 cc 、客户网络、客户网络地址地址 aa 和时间标记和时间标记 tt 。服务器收到请求后,首先用。服务器收到请求后,首先用 K sK s 解密得到解密得到 T c , T c , ss ,再从,再从 T c , sT c , s 中的中的 K c , sK c , s 解密得到解密得到 K c , sK c , s ,如果一切检查无误,,如果一切检查无误,服务器确信该客户就是所宣称的那个人。服务器确信该客户就是所宣称的那个人。

Page 25: 第 6 章 数字签名和认证技术

6.36.3 信息认证技术信息认证技术 基于私钥和公钥密码的信息认证基于私钥和公钥密码的信息认证 X.509X.509目录认证服务目录认证服务 对等实体的相互认证对等实体的相互认证

Page 26: 第 6 章 数字签名和认证技术

6.3.1 6.3.1 基于私钥和公钥密码的信息认证基于私钥和公钥密码的信息认证(( 11 )基于私钥密码体制的信息认证)基于私钥密码体制的信息认证 假设通信双方为假设通信双方为 AA 和和 BB 。。 AA 、、 BB共享的密钥为共享的密钥为 KKA,BA,B ,,

MM 为为 AA 发送给发送给 BB 的信息。为防止信息的信息。为防止信息 MM 在传输信道被窃在传输信道被窃听,听, AA 将将 MM 加密后再传送,如图加密后再传送,如图 6.156.15 所示。所示。

图图 6.15 6.15 基于私钥的基本信息认证机制基于私钥的基本信息认证机制 由于由于 KKA,BA,B 为用户为用户 AA 和和 BB 的共享密钥,所以用户的共享密钥,所以用户 BB 可以可以确定信息确定信息 MM 是由用户是由用户 AA 所发出的。因此,这种认证方法所发出的。因此,这种认证方法可以对信息来源进行认证,而且它在认证的同时对信息可以对信息来源进行认证,而且它在认证的同时对信息 MM也进行了加密。这种方法的缺点是不能提供信息完整性的也进行了加密。这种方法的缺点是不能提供信息完整性的鉴别。鉴别。

C=EKA,B(M) M=DKA,B(C)

KA,B KA,B

Internet

M

Page 27: 第 6 章 数字签名和认证技术

通过引入单向通过引入单向 hashhash 函数,可以解决信息完整性检测问函数,可以解决信息完整性检测问题,如图题,如图 6.166.16 所示(下页)。所示(下页)。 在图在图 6.166.16 (( aa )的信息认证机制中,用户)的信息认证机制中,用户 AA 首先对信息首先对信息

MM求求 hashhash 值值 H(M)H(M) ,然后将,然后将 MM‖‖H(M)H(M) 加密后传送给用户加密后传送给用户 BB 。。用户用户 BB 通过解密并验证附于信息通过解密并验证附于信息 MM 之后的之后的 hashhash 值是否正确。值是否正确。 图图 6.16 (b)6.16 (b) 的信息认证机制和的信息认证机制和 6.16 (a)6.16 (a) 的信息认证机制惟的信息认证机制惟一不同的地方是对一不同的地方是对 hashhash 值加密。值加密。 在图在图 6.16 (6.16 (cc)) 的信息认证机制中,则使用一种带密钥的的信息认证机制中,则使用一种带密钥的 hh

ashash 函数函数 HH (( HH 可取为可取为 ANSI X9.9ANSI X9.9 标准中规定的标准中规定的 DES CBCDES CBC模式,模式, KKA,BA,B 为为 DESDES 的加密密钥),函数的加密密钥),函数 HH 以以 MM 和和 KA,BKA,B 为为参数。图参数。图 6.16 (6.16 (cc)) 的信息认证机制与图的信息认证机制与图 6.16 (6.16 (bb)) 的信息认证的信息认证机制主要区别在于产生信息认证码(机制主要区别在于产生信息认证码( MACMAC )的方式不同。)的方式不同。 图图 6.166.16 给出的三种信息认证方案均均实现信息来源和完给出的三种信息认证方案均均实现信息来源和完整性的认证。整性的认证。

Page 28: 第 6 章 数字签名和认证技术

图 6.16 基于私钥的信息认证机制

(a)

KA,B

C=EKA,B(M‖H(M)) DKA,B(C)

KA,B

M

H(M)

M

H(M)Internet

(b)

M DKA,B(C)

KA,B KA,B

M

H(M)

M

H(M)M C=EKA,B(H(M)) Internet

(c)

M C=H(KA,B,M)M

C

M

CInternet

Page 29: 第 6 章 数字签名和认证技术

(( 22 )基于公钥体制的信息认证)基于公钥体制的信息认证 基于公钥体制的信息认证技术主要利用数字签名和基于公钥体制的信息认证技术主要利用数字签名和 hashhash 函数来实现。函数来实现。假设用户假设用户 AA 对信息对信息 MM 的的 hashhash 值值 HH((MM)) 的签名为(的签名为( HH (( MM )),其中)),其中 SS

AA 为用户为用户 AA 的私钥。用户的私钥。用户 AA 将将 MM‖‖ (( HH (( MM ))发送给用户))发送给用户 BB 。用户。用户 BB通过通过 AA 的公钥来确认信息是否由的公钥来确认信息是否由 AA 所发出,并且通过计算所发出,并且通过计算 hashhash 值来对值来对信息信息 MM进行完整性鉴别。如果传输的信息需要保密,那么用户进行完整性鉴别。如果传输的信息需要保密,那么用户 AA 和和 BB可以通过密钥分配中心(可以通过密钥分配中心( KDCKDC )获得一个共享密钥)获得一个共享密钥 K K A,A,,,BB ,, AA 将信息签将信息签名和加密后再传送给名和加密后再传送给 BB ,如图,如图 6.176.17 所示。所示。 因为只有用户因为只有用户 AA 和和 BB 拥有共享密钥拥有共享密钥 KKA,BA,B ,所以,所以 BB能够确信信息来能够确信信息来源的可靠性和完整性。源的可靠性和完整性。

图 6.17 基于公钥的信息认证机制

C=EKA,B(M‖SigsA(H(M)))

KA,B

DK A,B (C)

KA,B,PA,

M

SigsA(H(M ))

M

H(M)

Internet

Page 30: 第 6 章 数字签名和认证技术

6.3.26.3.2 X.509X.509 目录认证服务目录认证服务 X .509X .509 的核心是为每个用户提供惟一的基于公开密钥的证书。证的核心是为每个用户提供惟一的基于公开密钥的证书。证书由可信的证书权威机构书由可信的证书权威机构 CACA (( Certificate AuthorityCertificate Authority )创建,由)创建,由 CACA或用户将证书存放于目录中,而目录服务器仅提供证书访问服务。或用户将证书存放于目录中,而目录服务器仅提供证书访问服务。 由由 CACA 签发的证书具有以下两个特点:任何拥有签发的证书具有以下两个特点:任何拥有 CACA 公钥的用户都公钥的用户都可以恢复证书持有者的公钥,除可以恢复证书持有者的公钥,除 CACA 以外任何人都不可能更改证书而以外任何人都不可能更改证书而不被发觉。由于证书是不可伪造的,因此可以将它们存放在同一个目不被发觉。由于证书是不可伪造的,因此可以将它们存放在同一个目录内,而不需要目录提供特殊的保护措施。同时,使用同一录内,而不需要目录提供特殊的保护措施。同时,使用同一 CACA 签发签发证书的用户,意味着这些用户对该证书的用户,意味着这些用户对该 CACA 的共同信任。所以的共同信任。所以 CACA 可以把可以把所有用户的证书存放在他们都能访问的目录内。这样,在同一个所有用户的证书存放在他们都能访问的目录内。这样,在同一个 CACA内的两个用户内的两个用户 AA 和和 BB就可以很方便地获得对方的证书和公钥。就可以很方便地获得对方的证书和公钥。 每个用户证书都有一个有效期,每个用户证书都有一个有效期, CACA 必须在用户证书到期之前向该必须在用户证书到期之前向该用户颁发一个新证书。用户颁发一个新证书。 用户证书必须在过期前撤消。所以每个用户证书必须在过期前撤消。所以每个 CACA 必须保存一份所有已必须保存一份所有已经撤消但还没有过期的证书表,称作经撤消但还没有过期的证书表,称作 CRLCRL (证书撤消表)。(证书撤消表)。 X.509X.509 使用公钥签名的方法实现认证。使用公钥签名的方法实现认证。

Page 31: 第 6 章 数字签名和认证技术

AA 向向 BB 证明自己身份的协议证明自己身份的协议 ① ① AA首先查找目录得到首先查找目录得到 BB 的证书路径和的证书路径和 BB 的公钥。的公钥。 ② ② AA构造一条消息构造一条消息 mm = ( = ( TA TA , , RARA , , IDBIDB , , MM ) ) ,这里当前时间 ,这里当前时间 RARA 是一个随机数。为了安全起见,可用是一个随机数。为了安全起见,可用 BB 的公钥的公钥 EBEB 对消 对消 息息 MM 加密,得到加密,得到 EBEB (( MM )。)。 ③ ③ AA 将(将( CA CA , , DA DA ( ( mm ) ) )发送给)发送给 BB ,这里 ,这里 CACA 是是 AA 的证书,的证书,

DADA 是是 AA 的私钥。的私钥。 ④ ④ BB 确认确认 CACA 并得到并得到 AA 的公钥的公钥 EAEA , , 同时确认它们没有过期。同时确认它们没有过期。 ⑤ ⑤ BB 用用 EAEA 解密解密 DA DA (( m m )) ,恢复,恢复 mm ,这样既证明了,这样既证明了 AA 的签名又的签名又 检查了检查了 mm 的完整性。的完整性。 ⑥ ⑥ BB检查检查 IDBIDB 确认自己是报文的接收者。确认自己是报文的接收者。 ⑦ ⑦ BB检查检查 TATA 确认报文在有效期内。确认报文在有效期内。 ⑧ ⑧ BB 在自己的数据库中搜索在自己的数据库中搜索 RARA ,以确认该报文不被重放。,以确认该报文不被重放。 如果如果 mm 中包含中包含 AA 与与 BB 之间的会话密钥之间的会话密钥 KABKAB ,则必须用,则必须用 BB 的的公钥公钥 EBEB 对对 KABKAB 加密。加密。

Page 32: 第 6 章 数字签名和认证技术

6.3.36.3.3对等实体的相互认证对等实体的相互认证 ZhouZhou 和和 GollmannGollmann 提出的相互对等认证的协议:提出的相互对等认证的协议: ①① AA→→BB :: fNROfNRO ,, AA ,, LL ,, CC ,,(( fNROfNRO ,, BB ,, LL ,, CC );); ②② BB→→AA :: fNRRfNRR ,, AA ,, LL ,,(( fNRRfNRR ,, AA ,, LL ,, CC );); ③③ AA→TTP→TTP :: fSUBfSUB ,, BB ,, LL ,, KK ,,(( fSUBfSUB ,, BB ,, LL ,, KK );); ④④ BB→TTP→TTP :: fCONfCON ,, AA ,, BB ,, LL ,, KK ,,(( fCONfCON ,, AA ,, BB ,, LL ,,

KK );); ⑤⑤ AA→TTP→TTP :: fCONfCON ,, AA ,, BB ,, LL ,, KK ,,(( fCONfCON ,, AA ,, BB ,, LL ,,

KK )。)。 fyfy 和和 LL 分别表示某种信息分别表示某种信息 yy 的标志和本次会话的标识,(的标志和本次会话的标识,( MM )表示)表示使用用户使用用户 xx 的私钥的私钥 SxSx 对信息对信息 MM 的数字签名,的数字签名, CC 为密文,即为密文,即 C=EKC=EK(( MM ))。。 当通信结束以后,如果用户当通信结束以后,如果用户 AA 否认发送过信息给用户否认发送过信息给用户 BB ,那么,那么 BB 可可以出具六元组信息以出具六元组信息 ((MM ,, CC ,, KK ,, LL ,,(( fNROfNRO ,, BB ,, LL ,, CC )),,(( fCONfCON ,, AA ,, BB ,, LL ,, KK )) )) 给仲裁机构仲裁;给仲裁机构仲裁; 反之,如果接收方反之,如果接收方 BB试图否认接收了信息试图否认接收了信息 MM ,那么发送方,那么发送方 AA 可提可提供六元组信息供六元组信息 ((MM ,, CC ,, KK ,, LL ,,(( fNRRfNRR ,, AA ,, LL ,, CC )),,(( fCOfCO

NN ,, AA ,, BB ,, LL ,, KK )) )) 给仲裁机构作出鉴别。给仲裁机构作出鉴别。

Page 33: 第 6 章 数字签名和认证技术

本章小结本章小结 重点介绍了商用重点介绍了商用 DDSDDS 数字签名标准及其算法,数字签名标准及其算法,多重数字签名方案,数字水印技术的原理、方法多重数字签名方案,数字水印技术的原理、方法和应用,基于口令的身份认证机制和和应用,基于口令的身份认证机制和 KerberosKerberos 身身份认证协议,基于私钥和公钥密码体制的信息认份认证协议,基于私钥和公钥密码体制的信息认证技术,以及实现发送方与接收方相互认证的对证技术,以及实现发送方与接收方相互认证的对等认证协议。等认证协议。 在分布式网络环境下以及移动和无线网络环在分布式网络环境下以及移动和无线网络环境下的数字签名技术、数字水印技术、身份认证境下的数字签名技术、数字水印技术、身份认证和信息认证技术等离实用仍然具有相当的距离。和信息认证技术等离实用仍然具有相当的距离。

Page 34: 第 6 章 数字签名和认证技术

思考与练习题思考与练习题 试设计几种单向散列函数。试设计几种单向散列函数。 试编程实现数字签名算法试编程实现数字签名算法 DSADSA 。。 密码技术与信息隐藏有何关系?密码技术与信息隐藏有何关系? 试分析比较几种典型数字水印算法的优缺点。试分析比较几种典型数字水印算法的优缺点。 基于口令的身份认证机制的优缺点是什么?基于口令的身份认证机制的优缺点是什么? 试分析试分析 kerberoskerberos 身份认证协议的计算复杂性。身份认证协议的计算复杂性。 试比较基于私钥和公钥的信息认证机制的优缺点。试比较基于私钥和公钥的信息认证机制的优缺点。