340 likes | 495 Views
第 6 章 数字签名和认证技术. 数字信息在计算机网络传输过程中可以被窃听或篡改,数据可以被任意复制,无法确认和自己通信的对方(人或者机器)是谁,而且还要提防对方篡改和否认通信的内容,等等。 本章将介绍与之相关的数字签名、身份认证、信息认证和数字水印技术。. 6.1 数字签名. 数字签名的概念 DSS 数字签名标准 数字水印技术. 6.1.1 数字签名的概念. ( 1 )基于对称密码系统的数字签名 在对称密码系统中,实现数字签名的前提是,存在一个公众都信赖的、具有权威的仲裁者 T 。 签名协议按如下步骤实现数字签名:
E N D
第6章 数字签名和认证技术 数字信息在计算机网络传输过程中可以被窃听或篡改,数据可以被任意复制,无法确认和自己通信的对方(人或者机器)是谁,而且还要提防对方篡改和否认通信的内容,等等。 本章将介绍与之相关的数字签名、身份认证、信息认证和数字水印技术。
6.1 数字签名 • 数字签名的概念 • DSS数字签名标准 • 数字水印技术
6.1.1 数字签名的概念 (1)基于对称密码系统的数字签名 在对称密码系统中,实现数字签名的前提是,存在一个公众都信赖的、具有权威的仲裁者T。 签名协议按如下步骤实现数字签名: ① A用KA加密要传送给B的消息M,得到M1,然后将M1传送给T; ② T用KA解密M1,恢复M; ③ T将M以及消息M来自A的证书(包含M1)一起用密钥KB加密,得到M2; ④ T将M2传送给B; ⑤ B用KB解密M2,恢复消息M和T的证书。
(2)基于非对称密码系统的数字签名 基于非对称密码系统的数字签名机制: ① A用自己的私钥dA对信息M加密,得到M1,M1即是经过A签名的消息; ② A将M1发送给B; ③ B保存M1,并用A的公钥eA解密M1,恢复M。 前述协议虽然可以保证签名不可重用,但无法防止他人将签名和经过签名的信息合在一起重复使用。
(3)时间标记和单向散列函数与数字签名 单向散列函数H(M)的自变量是一任意长度的消息M,散列值h = H(M)为定长m(通常是128位或者更多)。单向散列函数必须满足下述三个条件:① 给定M,很容易计算出散列值h;② 给定h,根据H(M) = h计算M很难(所以称其为单向散列函数);③ 给定M,找到另一消息M1并满足H(M) = H(M1)同样很难。 为了提高签名的效率,签名者不对信息M签名,而仅对M的散列值h签名: ① A计算消息M的散列值h; ② A用私钥dA对散列值h加密,得到h1并将其作为对消息M的签名; ③ A将消息M和自己的签名h1一起发送给B; ④ B用同样的单向散列函数由M计算出h,并用A的公钥eA和h1计算出h2,如果h2与h相等,则B认可A对信息M的签名。 上述协议不但大大提高了计算速度,还有其他很多优点。例如,仲裁者只需保存h和相应的时间标记,这样可以节省大量的存储空间;通信双方不需要向仲裁者提供消息原件M,保护了通信隐私;如果有人打算声称拥有某文件的版权,同时又不想公布该文件时,只要简单地发布该文件的散列值即可。
6.1.2 DSS数字签名标准 该标准中提出了数字签名算法DSA和安全散列算法SHA。 数字签名算法DSA有三个参数(全局公开密钥分量)对于一组用户是公开的和公用的:素数p,其中2 L – 1 < p < 2 L,512 ≤ L < 1024,且L是64的倍数;素数q,其中q是(p – 1 )的因数,2159 < q < 2160;常数g = h ( p – 1 ) / q mod p,其中整数h满足条件1 < h < ( p – 1 ) 且使得g > 1;每个用户的私有密钥x,x是随机或伪随机整数且1 < x < q以及公开密钥y = g x mod p。 利用上述5个参数以及安全散列算法SHA,可以实现数字签名。假设A对消息M签名: ① A产生一个随机整数k,其中 0 < k < q; ② 利用k和SHA散列算法H,A计算r = ( g k mod p ) mod q和s = ( k – 1 ( H ( M ) + x r ) ) mod q,然后 A将r和s作为自己对信息M的签名,把它们发送给B; ③ B收到A的消息M1和签名( r1 , s1 )后,计算w = s1 – 1 mod q,u1 = H ( M1) w mod q,u2 = r1 w mod q,v = ( mod p ) mod q; 如果 v = r1,则B认为A对消息M的签名有效。
引理 6.1对任何整数t,有g tmod p ≡ g t mod q mod p。 证明:因为( h , p)= 1,由Fermat定理,可知h p – 1 ≡1 mod p。因为任何整数t可惟一表示为t = kq + ( t mod q ),所以 g t mod p ≡( h( p – 1 ) / q mod p ) k q + ( t mod q ) mod p ≡(( h k ( p – 1 ) mod p ) ( h( p – 1 ) / q mod p ) t mod q ) mod p ≡(1 kg t mod q ) mod p ≡g t mod q mod p。 证毕。 引理6.2 y r w mod q mod p ≡ g x r w mod q mod p。 证明:按定义y = g xmod p,以及引理6.1,得 y r w mod q mod p ≡( g xmod p )r w mod q mod p ≡( g x ( r w mod q ) mod p ) mod p ≡g x ( r w mod q ) mod p ≡g x r w mod q mod p。证毕。
引理6.3 ( ( H ( M ) + x r ) w ) mod q = k。 证明:因为 ks mod q ≡( k ( k– 1 ( H ( M ) + x r ) mod q ) ) mod q ≡( k k– 1 ( H ( M ) + x r ) mod q ) mod q ≡( 1 ( H ( M ) + x r ) mod q ) mod q ≡( H ( M ) + x r ) mod q 以及w = s– 1 mod q, 所以得到 ( ( H ( M ) + x r ) w ) mod q ≡( k s mod q ) ( s –1 mod q ) mod q ≡( k s s–1 mod q ) mod q ≡k mod q 注意 0 < k < q,因此k = k mod q。
定理6.1对于DSA,必有v = r。 证明:由定义以及引理6.3,有 v = ( gu1 y u2 mod p ) mod q = ( g ( H ( M ) w ) mod q y r w mod q mod p ) mod q = ( g ( H ( M ) w ) mod q g x r w mod q mod p ) mod q = ( g( H ( M ) w ) mod q + x r w mod q mod p ) mod q = ( g( H ( M ) + x r ) w mod q mod p ) mod q = ( g k mod p ) mod q = r。
6.1.4 数字水印技术 信息隐藏把被隐藏的信息(水印、指纹、一段秘密消息)嵌入到一个载体C(Cover,如CD载体、视频载体、文本载体等)中,从而得到隐秘载体S(Stego Cover),在版权标记的上下文中称为标记载体(CD、视频等)。 数字隐藏技术的基本要求: ① 鲁棒性 (robustness): 指隐藏算法有较强的抗攻击能力, ② 不可检测性 (undetectability):指隐蔽载体与原始载体具有一致的特性。 ③ 不可感知性(imperceptibility):利用人类视觉系统或人类听觉系统特性,经过一系列处理,嵌入的信息不能使载体产生可感知的失真, ④ 信息量。
信息隐藏技术的分类 ① 按密钥分类: 若嵌入与提取用的密钥相同,则称为对 称隐藏算法,否则为公钥隐藏算法。 ② 按载体类型分类: 分为基于文本、图像、音频和视频的信息隐藏技术。 ③ 按嵌入域分类: 分为空域(时域)方法和变换域(频 域)方法。 ④ 按提取要求分类: 在提取隐藏信息时不需要原始载体, 称为盲隐藏;否则称为非盲隐藏。 ⑤ 按保护对象分类: 主要分为隐秘术和数字水印技术,隐秘术主要用于保密通信,它要保护隐藏信息;数字水印主要用于版权保护及真伪鉴别等,它要保护的是载体。
数字水印的基本概念 数字水印 (digital watermarking)是通过在原始资料中嵌入秘密信息——水印 (watermark)来证实该资料的所有权。 有两种基本类型的标志能被嵌入到一个载体中:指纹和水印。指纹类似于嵌入的序列号,而水印是一个嵌入的版权信息。 数字水印技术的应用 ① 用于版权保护的数字水印 ② 用于盗版跟踪的数字指纹 ③ 完整性标志(篡改提示) ④ 访问控制和防拷贝控制 ⑤ 商务交易中的票据防伪
数字水印技术的分类和基本要求 ① 按特性划分。按水印的特性可以将数字水印分为鲁棒数字水印和脆弱数字水印两类。鲁棒数字水印主要用于在数字作品中标识著作权信息,如作者、作品序号等,它要求嵌入的水印能够经受各种常用的编辑处理;脆弱数字水印主要用于完整性保护,与鲁棒水印的要求相反,脆弱水印必须对信号的改动很敏感,人们根据脆弱水印的状态就可以判断资料是否被篡改过。 ② 按水印所附载的媒体划分。按水印所附载的媒体,我们可以将数字水印划分为图像水印、音频水印、视频水印、文本水印以及用于三维网格模型的网格水印等。 ③ 按检测过程划分。按水印的检测过程可以将数字水印划分为明文水印和盲水印。明文水印在检测过程中需要原始资料,而盲水印的检测只需要密钥,不需要原始资料。 ④ 按内容划分。 按数字水印的内容可以将水印划分为有意义水印和无意义水印。有意义水印是指水印本身也是某个数字图像(如商标图像)或数字音频片段的编码;无意义水印则只对应于一个序列号。
⑤ 按用途划分。票据防伪水印、版权保护水印、篡改提示水印和隐蔽标识水印等。 ⑥ 按水印隐藏的位置划分。时(空)域数字水印、频域数字水印、时/频域数字水印和时间/尺度域数字水印。时(空)域数字水印是直接在信号空间上叠加水印信号,而频域数字水印、时/频域数字水印和时间/尺度域数字水印则分别是在DCT变换域、时/ 频变换域和小波变换域上隐藏水印。 根据应用的需要,数字水印的基本要求有: ① 不可感知性。 ② 鲁棒性。 ③ 可验证性 ④ 水印安全。 ⑤ 低复杂性。 ⑥ 通用性。 ⑦ 自相似性。
6.1.4.6 数字水印技术的基本原理 数字水印技术包括水印嵌入系统和水印恢复系统。水印嵌入系统主要解决两个问题:一是数字水印的生成,可以是一串伪随机数、文本、图像等形式的数据;二是嵌入算法,目的是使数字水印在不可见性和鲁棒性之间找到一个较好的折衷 水印W 载体数据I加入水印后 的数据 私钥/公钥K 图6.3 一般的数字水印嵌入系统 图6.4是一般水印提取系统。该系统的输入是已嵌入水印的数据、私钥或公钥,以及原始数据或原始水印。检测的结果是原始水印W,或是基于统计原理的某种可信度的值以判断所考察数据中水印存在与否。 水印W 或原始数据I 测试数据 水印或可信 度测量 私钥/公钥K 图6.4 一般的数字水印提取系统 水印嵌入算法 水印检测算法
一般可用六元组 ( I , K , W , G , E , D )来表示通用水印框架GWF(General Watermark Frame)。 图像数字水印的含义如下: ① I表示数字信息i的集合; ② K表示水印密钥k的集合; ③W表示水印信号w的集合; ④ G表示水印生成算法g的集合,定义为g:W×K → I, 即 g(w,k)= i ∈ I ,其中w ∈W是要加入的水印 ,k ∈K是水印密钥; ⑤ E是嵌入算法e的集合,定义为e:I×W×K → I,即 e(i r,g(w,k))=i w ∈ I,其中i r表示原始数字信息, i w则是嵌入水印后的数字信息; ⑥ D表示水印检测算法d的集合,定义为D:I×W×K→ { 0 ,1 },这里 d(i,w,k)=1当且仅当对给定的密钥k,可以检测出信息i中含有数字水印w。
为了保证一个水印方案的有效性及完全性,必须满足下列要求:为了保证一个水印方案的有效性及完全性,必须满足下列要求: ① 密钥惟一性。 ② 水印相关性。 ③ 不可逆性。 ④ 不可察觉性。 ⑤ 水印合法性。 ⑥ 检测可靠性。 ⑦ 稳健性。
6.1.4.7 数字水印的典型算法 (1)空域算法 该类算法典型的方法是将水印嵌入到随机选择的图像点中最不重要的像素位上,称为最低有效位算法LSB(Least Significant Bits),此算法通过把一个密钥输入到一个m-序列发生器来产生水印信号,然后排列成2维水印信号,按象素点逐一插入到原始图像象素值的最低几位。 由于使用了图像不重要的像素位,算法的鲁棒性差,水印信息很容易为滤波、图像量化、几何变形的操作破坏, (2) 直接序列扩频水印算法 扩频水印方法与扩频通信类似,是将水印信息经扩频调制后叠加在原始数据上。从频域上看,水印信息散布于整个频谱,无法通过一般的滤波手段消除水印。 (3) 基于DCT变换域数字水印算法 这是目前研究最多的算法,它具有鲁棒性强、隐蔽性好的特点。其主要思想是在图像的DCT变换域上选择中低频系数叠加水印信息。 (4)文档结构微调方法(文本微调算法) Brassil等提出了三种在通用文档图像(PostScript)或PDF文件中隐藏特定二进制信息的技术,它们主要是通过轻微改变字符间距,行间距或是增加、删除字符特征如底纹线等方法来嵌入水印,或是在符号级或语义级加入水印,
(5) Patchwork算法 主要用于打印票据的防伪,方法是随机选择N对像素点 (ai,bi) ,然后将每个ai点的亮度值加 1 ,每个bi点的亮度值减 1,以在这一调整的过程中隐藏1bit的信息于数字媒体之中。且整个图像的平均亮度保持不变。适当地调整参数,可使Patchwork数字水印隐藏在特定图像区域的统计特性中,该算法具有较高的不易察觉性,鲁棒性很强,对JPEG压缩、灰度校正,FIR滤波以及图像裁剪有一定的抵抗力,但该方法嵌入的信息量有限,对仿射变换敏感,对多拷贝平均攻击的抵抗力较弱。 (6) 纹理块映射编码方法 将数字信息隐藏于数字图像的随机纹理区域中,并将隐藏信息的纹理映射到另一个纹理相似的区域,利用纹理间的相似性掩盖水印信息。该算法对于滤波、压缩和扭转等操作具有抵抗的能力,但仅适用于具有大量任意纹理区域的图像,且不能完全自动完成,需要人工干预。 (7) 域算法 (8) NEC算法 其实现方法是,首先以密钥为种子来产生伪随机序列,该序列具有高斯N(0,1)分布,密钥一般由作者的标识码和图像的哈希值组成,其次对图像做DCT变换,最后用伪随机高斯序列来调制(叠加)该图像除直流(DC)分量外的1000个最大的DCT系数。该算法具有较强的鲁棒性、安全性、透明性等。 (9) 生理模型算法 人的生理模型包括人类视觉系统HVS和人类听觉系统HAS。该模型不仅被多媒体数据压缩系统利用,同样可以供数字水印系统利用。利用视觉模型的基本思想均是利用从视觉模型导出的JND(Just Noticeable Difference)描述来确定在图像的各个部分所能容忍的数字水印信号的最大强度,从而能避免破坏视觉质量。也就是说,利用视觉模型来确定与图像相关的调制掩模,然后再利用其来插入水印。
6.2 身份认证机制 • 基于口令的身份认证机制 • Kerberos身份认证协议
6.2.2 Kerberos身份认证协议 Kerberos的第五版的c代表客户(机),s代表服务器,a代表客户的网络地址,v代表票据的有效起止时间,t代表时间标记,K x代表x的秘密密钥,K x , y代表x与y的会话密钥,{m} K x为用x的密钥加密的消息m,T x , y代表使用y的x的票据,A x , y代表从x到y的鉴别码。 Kerberos使用两类凭证:票据和鉴别码)。票据的格式为T c , s = s , { c , a , v , K c , s }K s,它包括服务器名s,客户名c,客户的网络地址a,票据的有效起止时间v和会话密钥K c , s,并用服务器的密钥对后四项加密。客户持该票据可以多次访问该服务器,直至票据过期。鉴别码的格式为A c , s = { c , t , key } K c , s,鉴别码包括客户名,时间标记和一个可选的附加会话密钥,并用客户与服务器共享的密钥加密。 使用鉴别码有两个主要目的:它包括以会话密钥加密的明文,可以证明鉴别码发送者的身份(因为发送者知道该对称密钥);明文中包含时间标记,可以防止重放攻击。需要注意的是,鉴别码只能使用一次,客户在每次请求使用服务器上的服务时,都必须产生一个新的鉴别码。
Kerberos鉴别协议的五条消息 ① 客户向Kerberos鉴别服务器申请许可票据c和tgs。客户首先向Kerberos鉴别服务器发送一个消息,该消息包括客户名c和TGS ( Ticket Granting Service票据许可服务 )服务器名tgs(实际上,客户通常只是输入其用户名,该消息由注册程序发送)。Kerberos鉴别服务器在其数据库中查找该客户。 ② Kerberos鉴别服务器向客户发送TGT(票据许可票据){ K c , tgs } K c和{ T c , tgs } K tgs。如果客户在数据库中,Kerberos鉴别服务器便产生一个会话密钥K c , tgs用于客户和TGS之间的会话加密,并用客户的密钥K c将其加密;同时产生一个TGT向TGS证实其身份,并用TGS的密钥K tgs将其加密。Kerberos鉴别服务器把这两个消息发送给客户。 ③ 客户向TGS请求服务票据{ A c , s }K c , tgs和{ T c , tgs }K tgs。客户的密钥K c实际上就是客户口令的单向散列函数值,因此合法客户一定可以解密TGT中的第一个消息,恢复出K c , tgs。客户将TGT和会话密钥保存起来,并销毁口令和单向散列函数值,这样,如果黑客拷贝了客户存储器中的内容,他只能得到会话密钥和TGT,但当TGT过期以后,这些信息毫无价值。在TGT有效期内,客户通过向TGS发送上述请求服务票据,一方面证实自己的身份,另一方面请求服务器s的相关服务。通常,该请求由应用程序自动完成,对于客户是透明的。
④ TGS向客户发送服务器票据{ K c , s } K c , tgs和{ T c , s } K s。TGS为每个服务器和每项业务分配票据,而客户为了得到服务器的每项服务必须获得TGS不同的票据。TGS收到③中客户发来的请求后,首先用自己的密钥K tgs解密该TGT,然后再用会话密钥K c , tgs解密鉴别码A c , s 。TGS比较鉴别码中的信息和票据中的信息、客户的网络地址和发送请求的地址、以及时间标记和当前时间。如果每一项都符合要求,TGS则认为是客户的一个有效请求,TGS为客户和服务器产生一个新的会话密钥K c , s,把它与T c , s一起加密后发给客户。 ⑤ 客户向服务器发送服务请求{ A c , s } K c , s和{ T c , s } K s。客户收到TGS发来的服务器票据后,就可以向服务器发送服务请求,同时向服务器证实自己的身份。请求由从TGS接受到的票据{ T c , s } K s和加密的鉴别码组成,鉴别码A c , s包括客户名c、客户网络地址a和时间标记t。服务器收到请求后,首先用K s解密得到T c , s,再从T c , s中的K c , s解密得到K c , s,如果一切检查无误,服务器确信该客户就是所宣称的那个人。
6.3 信息认证技术 • 基于私钥和公钥密码的信息认证 • X.509目录认证服务 • 对等实体的相互认证
KA,B KA,B M Internet M=DKA,B(C) C=EKA,B(M) 6.3.1 基于私钥和公钥密码的信息认证 (1)基于私钥密码体制的信息认证 假设通信双方为A和B。A、B共享的密钥为KA,B,M为A发送给B的信息。为防止信息M在传输信道被窃听,A将M加密后再传送,如图6.15所示。 图6.15 基于私钥的基本信息认证机制 由于KA,B为用户A和B的共享密钥,所以用户B可以确定信息M是由用户A所发出的。因此,这种认证方法可以对信息来源进行认证,而且它在认证的同时对信息M也进行了加密。这种方法的缺点是不能提供信息完整性的鉴别。
通过引入单向hash函数,可以解决信息完整性检测问题,如图6.16所示(下页)。通过引入单向hash函数,可以解决信息完整性检测问题,如图6.16所示(下页)。 在图6.16(a)的信息认证机制中,用户A首先对信息M求hash值H(M),然后将M‖H(M)加密后传送给用户B。用户B通过解密并验证附于信息M之后的hash值是否正确。 图6.16 (b)的信息认证机制和6.16 (a)的信息认证机制惟一不同的地方是对hash值加密。 在图6.16 (c)的信息认证机制中,则使用一种带密钥的hash函数H(H可取为ANSI X9.9标准中规定的DES CBC模式,KA,B为DES的加密密钥),函数H以M和KA,B为参数。图6.16 (c)的信息认证机制与图6.16 (b)的信息认证机制主要区别在于产生信息认证码(MAC)的方式不同。 图6.16给出的三种信息认证方案均均实现信息来源和完整性的认证。
M M M M KA,B KA,B H(M) H(M) H(M) H(M) Internet Internet Internet C=EKA,B(M‖H(M)) DKA,B(C) (a) KA,B KA,B 图6.16基于私钥的信息认证机制 M DKA,B(C) M C=EKA,B(H(M)) (b) M M M C=H(KA,B,M) C C (c)
M H(M) Internet KA,B KA,B,PA, M DK A,B(C) C=EKA,B(M‖SigsA(H(M))) SigsA(H(M )) (2)基于公钥体制的信息认证 基于公钥体制的信息认证技术主要利用数字签名和hash函数来实现。假设用户A对信息M的hash值H(M)的签名为(H(M)),其中SA为用户A的私钥。用户A将M‖(H(M))发送给用户B。用户B通过A的公钥来确认信息是否由A所发出,并且通过计算hash值来对信息M进行完整性鉴别。如果传输的信息需要保密,那么用户A和B可以通过密钥分配中心(KDC)获得一个共享密钥K A,,B,A将信息签名和加密后再传送给B,如图6.17所示。 因为只有用户A和B拥有共享密钥KA,B,所以B能够确信信息来源的可靠性和完整性。 图6.17 基于公钥的信息认证机制
6.3.2 X.509目录认证服务 X .509的核心是为每个用户提供惟一的基于公开密钥的证书。证书由可信的证书权威机构CA(Certificate Authority)创建,由CA或用户将证书存放于目录中,而目录服务器仅提供证书访问服务。 由CA签发的证书具有以下两个特点:任何拥有CA公钥的用户都可以恢复证书持有者的公钥,除CA以外任何人都不可能更改证书而不被发觉。由于证书是不可伪造的,因此可以将它们存放在同一个目录内,而不需要目录提供特殊的保护措施。同时,使用同一CA签发证书的用户,意味着这些用户对该CA的共同信任。所以CA可以把所有用户的证书存放在他们都能访问的目录内。这样,在同一个CA内的两个用户A和B就可以很方便地获得对方的证书和公钥。 每个用户证书都有一个有效期,CA必须在用户证书到期之前向该用户颁发一个新证书。 用户证书必须在过期前撤消。所以每个CA必须保存一份所有已经撤消但还没有过期的证书表,称作CRL(证书撤消表)。 X.509使用公钥签名的方法实现认证。
A向B证明自己身份的协议 ① A首先查找目录得到B的证书路径和B的公钥。 ② A构造一条消息m = ( TA , RA , IDB , M ),这里当前时间 RA是一个随机数。为了安全起见,可用B的公钥EB对消 息M加密,得到EB(M)。 ③ A将(CA , DA ( m ))发送给B,这里 CA是A的证书,DA 是A的私钥。 ④ B确认CA并得到A的公钥EA ,同时确认它们没有过期。 ⑤ B用EA解密DA ( m ),恢复m,这样既证明了A的签名又 检查了m的完整性。 ⑥ B检查IDB确认自己是报文的接收者。 ⑦ B检查TA确认报文在有效期内。 ⑧ B在自己的数据库中搜索RA,以确认该报文不被重放。 如果m中包含A与B之间的会话密钥KAB,则必须用B的公钥EB对KAB加密。
6.3.3 对等实体的相互认证 Zhou和Gollmann提出的相互对等认证的协议: ①A→B:fNRO,A,L,C,(fNRO,B,L,C); ②B→A:fNRR,A,L,(fNRR,A,L,C); ③A→TTP:fSUB,B,L,K,(fSUB,B,L,K); ④B→TTP:fCON,A,B,L,K,(fCON,A,B,L,K); ⑤A→TTP:fCON,A,B,L,K,(fCON,A,B,L,K)。 fy和L分别表示某种信息y的标志和本次会话的标识,(M)表示使用用户x的私钥Sx对信息M的数字签名,C为密文,即C=EK(M)。 当通信结束以后,如果用户A否认发送过信息给用户B,那么B可以出具六元组信息(M,C,K,L,(fNRO,B,L,C),(fCON,A,B,L,K))给仲裁机构仲裁; 反之,如果接收方B试图否认接收了信息M,那么发送方A可提供六元组信息(M,C,K,L,(fNRR,A,L,C),(fCON,A,B,L,K))给仲裁机构作出鉴别。
本章小结 重点介绍了商用DDS数字签名标准及其算法,多重数字签名方案,数字水印技术的原理、方法和应用,基于口令的身份认证机制和Kerberos身份认证协议,基于私钥和公钥密码体制的信息认证技术,以及实现发送方与接收方相互认证的对等认证协议。 在分布式网络环境下以及移动和无线网络环境下的数字签名技术、数字水印技术、身份认证和信息认证技术等离实用仍然具有相当的距离。
思考与练习题 • 试设计几种单向散列函数。 • 试编程实现数字签名算法DSA。 • 密码技术与信息隐藏有何关系? • 试分析比较几种典型数字水印算法的优缺点。 • 基于口令的身份认证机制的优缺点是什么? • 试分析kerberos身份认证协议的计算复杂性。 • 试比较基于私钥和公钥的信息认证机制的优缺点。