收藏 分销(赏)

数字签名和认证技术课程的渐进式教学案例化设计_张艳硕.pdf

上传人:自信****多点 文档编号:461394 上传时间:2023-10-11 格式:PDF 页数:16 大小:1.49MB
下载 相关 举报
数字签名和认证技术课程的渐进式教学案例化设计_张艳硕.pdf_第1页
第1页 / 共16页
数字签名和认证技术课程的渐进式教学案例化设计_张艳硕.pdf_第2页
第2页 / 共16页
数字签名和认证技术课程的渐进式教学案例化设计_张艳硕.pdf_第3页
第3页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第 30 卷 第 4 期北京电子科技学院学报2022 年 12 月Vol.30 No.4Journal of Beijing Electronic Science and Technology InstituteDec.2022数字签名和认证技术课程的渐进式教学案例化设计张艳硕 刘天宁 李梦东北京电子科技学院,北京市 100070摘 要:数字签名和认证技术作为密码学的重要分支之一,在信息安全领域得到了广泛应用,其重要作用也日益显现。本课程在实际教学过程中面临着理论知识范围广、知识交叉多元化、应用前景广泛、实践性强等特点。本文旨在提出课程的渐进式教学案例化设计,用实践性、教学性强的案例,通过对比

2、的方法,由浅入深,循序渐进地去讲解数字签名和认证技术的理论知识和实际应用,通过数字签名和认证技术课程的理论性、应用性和实践性教学的案例化设计展示使学生直接、快速了解数字签名和认证技术的相关知识,提高学生学习课程的积极性,并逐渐适应和掌握学习课程的方法。最后,还对教学实践经验进行总结,案例化教学设计能够使学生形成更好的密码学应用知识体系,开阔眼界,提高专业素质,为今后的课程学习和实践打下坚实的基础。关键词:数字签名;渐进式教学;教学设计;人才培养中图分类号:G421 文献标识码:A文章编号:1672-464X(2022)4-115-130 基金项目:2020 年教育部新工科项目“新工科背景下数学

3、课程群的教学改革与实践”、基本科研业务费(项目编号:328202008)、“信息安全”国家级一流本科专业建设点项目 作者简介:张艳硕(1979-),男,副教授,博士,硕导,通信作者,从事密码数学理论研究。E-mail:zhang_yanshuo 刘天宁(2000-),男,本科在读,信息安全专业。E-mail:tianning_0518 李梦东(1964-),男,教授,从事密码算法及其应用研究。E-mail:lmd 1 引言 随着信息技术的大规模应用和数字经济的加速发展,信息安全问题日益突出1,其核心技术基础之一的数字签名和认证技术,被广泛地应用于军事、通信、电子商务和电子政务等领域,它在身份认

4、证、数据完整性和抗否认等方面具有其它技术无法替代的作用。数字签名和认证技术课程是密码学专业基础课的必要延伸,是信息安全类课程所用认证技术的更为全面和深入的介绍。本课程在实际教学过程中面临着理论知识范围广、知识交叉多元化、应用前景广泛、实践性强等特点。因此,如何设计数字签名和认证技术课程的教学内容,如何改善课程的教学方法一直是今后需要持续研究的问题。渐进式教学法是我国传统的教学方法,它产生和形成于我国深厚的文化背景中2。循序渐进是渐进式教学法的要旨。渐进式教学具有内容上由浅入深、由易到难的特点,便于学生学习、理解、掌握和综合运用3。从简单到复杂的普遍认知规律和实验教学规律是渐进式教学需要具备的规

5、律。渐进式教学方法已经在众多学科教学中应北京电子科技学院学报2022 年用,其实用性已经得到较为充分的证实。目前,数字签名和认证技术大多作为密码学课程教学的一部分,在教学中往往较少进行较为深入的学习,针对数字签名和认证技术的教学内容主要集中在签名算法和认证技术的简单介绍,然而数字签名和认证技术的重要性日益凸显,同时本课程的教学是一个层次分明的渐进过程,目前数字签名和认证技术教学领域还没有较为系统的渐进式教学模式的提出。数字签名和认证技术课程应采用循序渐进、层次递进并结合具体案例的方式进行渐进式案例化教学。首先将课程分为理论、应用和实践这三个部分,以知识层次递进的方式渐进的教学相应知识。然后再将

6、每个部分的知识从较为基础知识讲起,再在其基础上循序渐进地教授较为综合的相关知识,这样符合渐进式教学的普遍规律。在理论上,主要涉及基础签名算法和认证协议的介绍;在应用上,主要涉及具有附加功能签名和认证协议的各种具体方案和分析方法,以及它们在不同场合的应用;在实践上主要涉及在实际密码系统中具有较好适用性的签名和认证协议的相关知识。本文旨在提出数字签名和认证技术课程的渐进式教学案例设计,用实践性、教学性强的案例,由浅入深,循序渐进地去讲解数字签名和认证技术的理论知识和实际应用。渐进式教学案例设计作为一种较为新颖且实用的教学方法,能让学生直接、快速掌握更多的数字签名和认证的知识,更好地培养学生的应用实

7、践能力,为培养从事密码与信息安全类领域的人才做好相关知识的储备以及学习方法的拓展,从而更好地适应密码应用技术快速发展的大环境。本文首先介绍数字签名和认证技术在理论方面的渐进式教学案例,其次是在应用方面的渐进式教学案例,然后介绍在具体实践中的渐进式教学案例,最后介绍课程教学中的实践经验。2数字签名和认证技术课程的基本特征2.1 课程理论知识范围广数字签名和认证技术是一门理论知识内容多,覆盖面非常广泛的课程。同时也是理论难度大,实践性和应用性均比较强的课程。故本课程的学习需要很多前置课程作为基础,前置课程包含密码学、信息安全数学基础等。前置课程的知识量大、难度高,体现出本门课程对数学和密码学基础的

8、要求。目前数字签名和认证技术在理论和实践上己经形成了丰富的知识体系,因此需要掌握的相关知识也非常广泛。2.2 课程的知识交叉多元化从课程内容的联系上讲,数字签名和认证技术可以说是多个学科的一个交汇点,这些学科包括:密码学、概率论、近世代数、密码学应用技术等。从应用数学的角度看,数字签名和认证技术是计算数论、抽象代数等理论的一种应用4;从通信的角度看,数字签名和认证技术是保密通信和通信网络安全的研究内容;从计算机应用的角度看,数字签名和认证技术是数据安全、计算机安全和网络安全的研究内容。数字签名和认证技术的研究内容决定了它的交叉性和多元化,这使数字签名和认证技术从不同的方面得到研究,从而得以不断

9、发展。2.3 课程应用前景广泛密码法的颁布为签名算法和认证技术的发展保驾护航。签名算法和认证技术及其应用的不断发展与革新,使得课程的内容更加实用,课程的知识更加丰富,课程的应用前景更加广泛。因此课程的教学应做到与时俱进,为学生提供最新签名算法和认证技术的相关知识以及获取最新知识的渠道,利用最新文献资料对相关问题做进一步的研究,有效拓展学生的知识面。2.4 课程实践性强目前,数字签名和认证技术已广泛应用于商611第 30 卷数字签名和认证技术课程的渐进式教学案例化设计 业、金融和办公自动化等系统中,同时作为一种密码学的基础构件,成为安全电子商务和安全电子政务的关键技术之一4。数字签名和认证技术课

10、程的基本目的在于让学生掌握数字签名和认证技术的基础知识并加以实际应用。因此,我们需要重视实践教学,让学生在完成本门课程的学习后可以较为熟练的掌握签名算法和认证协议的实际应用。因此课程的教学不应局限于基础算法以及协议的讲解,还应强化其实践性。3数字签名和认证技术渐进式理论教学案例设计 从本质上讲,本课程的主要内容是一些具体的签名算法和认证协议,由此可见数字签名算法和认证协议的基础理论知识对于本课程的重要性。3.1 DSA 及其标准化 DSS 算法的渐进式教学在进行数字签名内容的教学时,同学们往往对 DSS 签名标准和 DSA 算法分不清,采用渐进式教学方法可以让同学们在了解签名算法后更有效的学习

11、基于这种算法的签名标准3。DSS 数字签名标准使用的算法称为 DSA,它是在 ElGamal 和 Schnorr 两个方案基础上设计出来的。DSA 算法如下:(1)全局公钥 K:p,q,g。p,q,g 作为系统参数,供所有用户使用,在系统内公开。(2)一个长度为 L 比特的大素数 P,L 的大小在 512 到 1024 之间,且为 64 的倍数。(3)q 是能被 p-1 整除的 160 比特的素数。(4)一个 q 阶元素 g Zp。g 可以这样得到,任选 hZp;如果 h(p-1)/qmodp1,则令 gh(p-1)/qmodp,否则重选。(5)一个用户随机选取的整数 x Zp,并计算出 y

12、gxmodp。(6)一个 HASH 函数(SHA-1)H:0,1 Zp。(7)对消息 M 生成数字签名时,随机选取一个 秘 密 整 数kZp,计 算 出r(gkmodp)modq;s k-1(H(m)+xr)modq,输出(r,s)为签名人对 M 的签名。(8)检查 r 和 s 是否属于0,q,若不是,(r,s)不是签名。(9)计算ts-1modq,r(gh(m)tmodqyrtmodqmodp)modq。(10)比较 r=r 是否成立。我们在完成 DSA 算法的学习后可以对基于它的签名标准 DSS 更好地进一步学习,我们将具体的 DSA 算法结合 DSS 框架基础进行讲解,让学生更好理解签名

13、标准的算法以及签名标准,为学生之后学习签名标准提供良好思路。通过表 1 我们来渐进学习 DSS 和 DSA 算法。表 1 DSA 算法和 DSS 的渐进式对比DSADSS签名算法(1)-(7)对应 DSS(2)用私钥对摘要加密:最重要为第(7)r (gkmodp)modq;s k-1(H(m)+xr)modq(1)发送方将发送信息原文用 SHA 函数编码,产生固定长度的数字摘要。(2)发送方用自己的私钥对摘要加密,形成数字签名,附在原文后面。(3)发送方产生通信密钥,用它对带有数字签名信息进行加密,传到接受方。(4)发送方用接受方的公钥对自己的通信密钥进行加密后,传到接受方。接受方收到加密后的

14、通信密钥,用自己的私钥对其进行解密,得到发送方的通信密钥。(5)接受方用发送方的通信密钥对收到的经加密签名原文解密,得到数字签名和原文。签名算法(8)-(9)对应 DSS(6)签名解密:检查 r 和 s 是否属于0,q,计算 t s-1modq,r (gh(m)tmodqyrtmodqmodp)modq 签名算法(10)对应 DSS(7)摘要比较:比较 r=r 是否成立。(6)接受方用发送方公钥对数字签名解密,得到摘要;同时将原文 SHA 函数编码,产生另一个摘要。(7)接受方将两个摘要比较,若一样,说明信息没有被破坏或篡改。711北京电子科技学院学报2022 年 在进行 DSA 算法及 DS

15、S 标准的学习时,我们先介绍 DSA 算法的签名验签过程以及算法具体流程,在掌握算法的基础上,循序渐进的学习基于 DSA 算法的 DSS 签名标准。渐进式教学为我们学习签名算法及其标准提供了新的方法。我们在介绍其签名算法具体过程的基础上,将具体签名算法步骤与签名标准的模型及基础框架相对应,以此来渐进学习基于这种签名算法的签名标准。3.2 OSS 及其改进 ESIGN 算法的渐进式教学我们也可以采用渐进式教学的方法来学习数字签名体制及其改进的签名方案。OSS 签名体制以及 ESIGN 签名方案就是很好的案例。采用渐进式教学方法可以让同学们在了解签名体制后更有效的学习基于这种签名体制的改进方案。O

16、SS 签名体制是由 Ong、Schnorr 与 Shamir于 1984 年所提出,但在 1987 年被证明为不安全,直到 1993 年才有人提出一个安全的改进方法5。ESIGN 是由 Okamoto 和 Sharaishi 在 OSS 的基础上提出的数字签名方案。ESIGN 是日本NTT 院士 Tatsuaki Okamoto 于1990 年提出的6。我们首先学习 OSS 签名体制,在学习 OSS签名体制后,通过表 2 来进一步深入学习基于OSS 签名体制改进版的 ESIGN。表 2 OSS 和 ESIGN 的渐进式对比签名名称对比内容OSSESIGN初始化参数:n=pq,k 满足 gcd(

17、k,n)=1,计算 e-k-2modn=-(k-1)2modn参数:三个不同的大素数 p、q(pq),n=p2q,指数 k(k 4)计算=O(n2/3)签名任选整数 r,满足 gcd(r,n)=1,计算 s112(mr-1+r)modns2k2(mr-1-r)modn。发送 m 和(s1,s2)作为签名选择一个随机数 x(x Zpq)计算:w=h(m)-xk(modn)pqy=wkxk-1modps=x+ypq发送(m,s)做为签名验签计算ms12+es22mod n 并验证 m 和 m是否相等计算h(m)skmod n h(m)+成立,则认为签名有效。安全性已被证明是不安全的安全性至少与 R

18、SA 或 DSA 一样发展情况Okamoto 提出过一种补救措施在 OSS 的基础上提出 OSS 签名方案在 ESIGN 基础上提出阈下信道方案7应用用于计算能力较差的 IC 卡或行动通讯系统的应用进入国际标准 ISO 14888-3 在进行 OSS 签名体制及 ESIGN 方案的学习时,我们先学习 OSS 签名体制,在掌握签名体制的基础上,循序渐进的学习基于 OSS 签名体制改进版的 ESIGN 并分析比较两者区别从而渐进学习这两种签名方案。渐进式教学为我们学习签名标准及其改进方案提供了新的方法。在教学时,我们通过比较两种签名体制在签名参数初始化、签名验签过程、签名安全性、发展情况以及应用等

19、方面来进行渐进式教学。日后,在进行两种数字签名体制教学,尤其是一种是另外一种的改进版时,我们可以继续使用渐进式教学的方法。3.3Needham-Schroeder 协议及其改进协议的渐进式教学认证技术在理论上的教学内容主要在于认证协议的安全性和构造理论,Needham-Schroeder811第 30 卷数字签名和认证技术课程的渐进式教学案例化设计 协议及其改进协议可以作为学习认证技术理论的案例。Needham 和 Schroeder 提出了一个十分著名的安 全 协 议8,即 NS 私 钥 协 议。1981 年Denning 和 Sacco 指出了 NS 私钥协议的一个错误,并提出了 Denn

20、ing-Sacco 协议来对 NS 私钥协议进行改进,但是 Denning-Sacco 协议同样存在问题。2006 年 Deng 等人针对原始的 NS 私钥协议的缺陷进行了改进。在 教 学 中,我 们 首 先 学 习 Needham-Schroeder 协议,然后在分析其安全性缺陷,最后学习改进后的协议。通过表 3 我们来渐进学习Needham-Schroeder 协议、安全缺陷以及解 决方案。表 3 Needham-Schroeder 协议及其改进协议的渐进式对比Needham-Schroeder 协议安全隐患改进协议AS:A,B,NaA:协议的发起者,B:协议的响应者,S:认证服务器,Na

21、:A 生成的随机数,AS:A,B,Na暂无隐患AS:A,B,NaSB:ABS:N0bSA:Na,B,Kab,Kab,AKbsKasKab:S 生成的会话密钥,Kbs:B 和 S 的共享密钥,Kas:A 和 S 的共享密钥。SA:Na,B,Kab,Kab,AKbsKas暂无隐患SA:Na,B,Kab,KasAB:Kab,AKbsAZ(B):Kab,AKbs存在隐患:攻击者 Z 截获 A 发送给 B 的消息SB:Kab,A,N0bKbsBA:NbKabNb:B 生成的随机数Z(B)A:NZ存在隐患:Z 伪装成 B,给 A 发送一个与NbKab格式相同的随机数 NZBA:Nb,KabKabAB:Nb

22、-1KabA 和 B 就能确信他们之间拥有一个仅为他们和认证服务器知道的会话密钥 Kab。AZ(B):NZKab-1Kab存在隐患:A 依协议要求对 Nz 进行解密,将所得结果发回给 B,Z 也截获了此消息。A 认为 B 已经知道了会话密钥 Kab,但 B 实际上并没有参与协议的执行过程。AB:Kab,Nb-1Kab 在进行其他认证协议的理论教学时,我们可以继续采用渐进式教学的方法,首先介绍认证技术的最基础协议,进而初步了解认证协议的基本框架,然后通过分析协议可能存在的安全威胁来更加深入的认识哪些因素或步骤影响认证协议的安全性,最后我们再学习针对安全问题提出的改进协议,从而让学生更加直观感受到

23、认证协议的构造理论以及改进措施,为将来学习类似协议提供一种思路。4数字签名和认证技术渐进式应用教学案例设计 随着数字签名和认证技术的不断发展和进一步深入研究,数字签名和认证技术的知识和应用不断更新换代,数字签名和认证技术在应用上从小规模的商业和个人数据保护开始,伴随着互联网和电子商务的发展,到今天已经发展成为数字社会的安全基石之一9。本课程也应该做到与时俱进,有必要向同学介绍一些基础以及较为新颖的数字签名和认证技术的应用知识。4.1 基于身份的数字签名的渐进式教学数字签名在对信息安全系数要求较高的领域中应用广泛,比如在电子商务、电子政务、电子投票等领域。一般的数字签名是通过数字证书来进行管理,

24、其核心是数字证书机构 CA,自然就会存在证书存储、证书管理和证书托管的问题,这些问题会导致系统成本高昂,管理复杂。为了解决出现的问题,提出了基于身份的数字签911北京电子科技学院学报2022 年名10。基于身份的数字签名也是近几年密码学领域中研究的热点。学习基于身份的数字签名可以拓宽学生数字签名应用知识层面的深度和广度。1984 年 Shamir11提出基于身份的加密、签名、认证的设想,其中身份可以是用户的姓名、身份证号码、地址、电子邮件地址等。基于身份的密码系统不存在传统 CA 颁发证书所带来的存储和管理开销问题。签名的性能往往影响乃至决定签名算法能否有更好的实际应用前景,要判断一个基于身份

25、的数字签名方案其性能的好坏主要有三个标准10:(1)数字签名与系统公开参数的长度;(2)签名与验证过程的计算复杂性;(3)方案的安全性。然而往往签名与验证过程的计算复杂性的分析在教学过程中被忽视。Cha-Cheon 和Hess 这两个签名在系统建立以及密钥生成都没有区别,但在签名与验签过程中的运算不同使得两者在计算复杂性有了较大差异,进而影响两者的方案效率,这两个方案可以作为我们学习数字签名性能的渐进式案例。2002 年 Jae Choon Cha 与 Jung Hee Cheon 以及 Florian Hess 分别发表采用双线性对构造的基于 身 份 的 数 字 签 名 算 法 Cha-Ch

26、eon12和Hess13。Hess 方案的效率要比 Cha-Cheon 方案高很多。我们通过表 4 来渐进学习签名与验签过程中的运算对方案效率的影响。表 4 Cha-Cheon 和 Hess 的渐进式对比签名名称对比内容Cha-CheonHess系统建立G1:q 阶循环加法群G2:为同阶的乘法循环群p:G1的生成元e:G1G2G2s(sZq):主密钥ppub=sp:公钥m:需要传输的消息同 Cha-Cheon密钥生成公钥:Q=H2(ID)私钥:D=sQ同 Cha-Cheon签名随机选择一个 rZq计算:U=rQ,h=H1(m,U),V=(r+h)d)签名为(U,V)随机选择一个 kZq,p1G

27、1计算:r=e(p1,p)k,V=H1(m,r)U=Vd+kp1签名为(U,V)验签验证方计算Q=H2(ID),h=H1(m,U)判断等式e(p,V)=e(ppub,Q)验证方计算r=e(U,p)e(Q,ppub)V,Q=H2(ID)判断等式H1(m,r)=v方案效率签名 2M+1H验证 2D+1M+1A+1HD:双线性映射中对运算,M:G1上的一次标量乘运算,A:G1上的点加法运算,H:哈希函数运算。签名 2M+1A+E验证 1D+EE:G2上的指数运算。在教学中,我们首先对 Cha-Cheon 方案在签名和验签的运算进行分析,因为在计算的时候,双线性映射对的计算 D,G1上的一次标量乘运算

28、 M,最为耗时,所以就以 D 和 M 做为比较标准。在完成 Cha-Cheon 方案运算分析后再和Hess 方案进行比较,在签名过程中,Hess 方案中021第 30 卷数字签名和认证技术课程的渐进式教学案例化设计 的对运算因为与签名消息无关,用户可以预计算,Cha-Cheon 方案与 Hess 方案效率基本相似。在验证的过程中,Hess 方案中的对运算与消息也无关系,同样可以预计算,因此比 Cha-Cheon方案少一个对运算,效率也就高了很多。由于双线性对计算代价最大,所以在签名和验证过程中所包含的对的计算越少越好。数字签名的方案效率对于评判一个签名算法的性能具有重要意义,因此我们在以后进行

29、教学时,通过表格对比基础算法在签名验签进行运算的种类以及数量,例如对运算,点加运算、数乘运算、杂凑运算、乘法运算、指数运算等等来渐进判断他们方案效率的优劣。在教学时,我们通过分析对比签名验签具体运算过程的不同造成的方案效率不同来让学生思考分析影响签名效率的具体因素,为学生今后继续学习、分析乃至设计签名算法提供一个重要思路。4.2 基于离散对数的数字签名的渐进式教学1985 年,T.ElGamal 提出了基于离散对数的公钥加密和签名方法,并奠定了离散对数密码学基础。从那时起,围绕离散对数系统产生了不少研究成果,离散对数也被誉为当代密码学领域的三大基础之一。因此,学习基于离散对数的数字签名对于本课

30、程显得十分重要。(1)EIGamal 与 Schnorr 方案的渐进式教学基于有限域上离散对数问题的公钥加密体制,最著名的是 EIGamal 加密体制。Schnorr 数字签名方案是 ElGamal 型签名方案的一种变形,ElGamal 型签名方案定义中已经把它作为一种类型,该方案于 1989 年由 Schnorr 提出。由于 ElGamal 型签名方案拥有多种变形方案,Schnorr 作为其中一种较为重要的变种方案值得我们进行深入学习,同时学习这两种算法也对学生初步了解基于离散对数的数字签名及其变种算法起到较好的引导作用。我们通过表 5来渐进学习这两种签名算法。表 5 EIGamal 和 S

31、chnorr 的渐进式对比签名名称对比内容EIGamalSchnorr系统参数大素数 p,Zp的生成元 g大素数 p,q(q p-1),gZp,gq1modp,哈希函数 h。p,q,g 作为系统参数。密钥生成私钥:x(0 xp-1)公钥:ygxmodp私钥:x(1xg)公钥:ygxmodp签名选取随机数 k(1kp-1)计算rgkmodps(m-xr)k-1mod(p-1)(r,s)作为消息 m 的签名签名种类:skH(m)+rxmodq随机选择一个 kZq计算:rgkmodpe=h(r,m),sk-xemodq(e,s)为用户对 m 的签名签名种类:H(m)ks+rxmodq验签接收方收到

32、m 和签名(r,s)后,验证 gmyrrsmodp 是否成立验签种类:rsgH(m)yrmodp接收方收到 m 和签名(e,s)后,计算 rgsyemodp,然后计算 e=h(r,m),检验 e=e 是否成立验签种类:rH(m)gsyrmodp签名长度Schnorr 短于 ElGamalSchnorr 长度小于 h()+q,q160,ElGamal 密文的长度为 1024bit,若 h()=128,则前者的密文最多为 288bit运算速度Schnorr 快于 ElGamalSchnorr 签名中,rgkmodp 与被签名的消息 m 无关,可以预先计算,完成签名仅需一次模加和一次模乘运算安全性E

33、lGamal 优于 SchnorrElGamal 本原元的阶为 p-1,大于 Schnorr 签名的本原元的阶 q121北京电子科技学院学报2022 年 在进行基于离散对数的数字签名的基础教学时,我们首先学习 EIGamal 的签名验签过程,其次对比学习 Schnorr 算法的签名验签过程,然后根据两者签名验签的过程来分析两者在安全性、长度以及速度的差异。在教学过程中,我们通过比较 EIGamal 与Schnorr 方案在签名验签过程的差异来渐进分析两者在安全性、签名长度、运算速度等方面的不同,这为我们后续学习更加复杂的离散对数签名打好了基础,也为我们学习离散对数签名及其变种提供一种方法。(2

34、)EIGamal 及其推广方案的渐进式教学Harn 等人14对 ElGamal 及其类似方案进行了总结,给出了 18 个安全可行的方案,称之为广义 ElGamal 签 名 方 案。方 案,称 之 为 广 义ElGamal 签名方案。描述如下:1)初始过程设 p 是一个大素数,整数 g 是有限域 Zp的本原元,h 是一安全的哈希函数,系统中用户 A的私钥为 x(1 x p-1),相应的公钥为 ygxmodp。2)签名过程对于待签消息 m,签名者 A 任意选取一个随机整数 k(1kp-1),满足 gcd(k,p-1)=1,计算r=gkmodp。签名方程的一般模型为axbk+c(modp-1)其中(

35、a,b,c)为(h(m),r,s)的一个置换,由签名方程解出 s,则(r,s)为消息 m 的签名。3)验证过程接收方收到 m 和签名(r,s)后,验证 yarbgcmodp 是否成立,如果成立,则接收签名,否则,拒绝签名。ElGamal 型签名方案的推广问题,其实是签名方程的参数选取问题。学习基于离散对数的数字签名的推广方案可以让学生更加深入、具体学习 ElGamal 型签名方案,不仅让学生更好认识数字签名理论的基础知识,还可以做到以点带面,通过分析签名算法中 a,b,c 三值的不同,进而具体学习更多离散对数签名,为学生日后深入研究该领域签名算法打好基础。在教学时,我们通过表 6 以对比的方法

36、来渐进学习下述算法。表 6 签名算法中 a,b,c 的取值abc签字方程式rsH(m)rks+H(m)xmodqrH(m)srkH(m)+sxmodqsrH(m)skr+H(m)xmodqsH(m)rskH(m)+rxmodqH(m)srH(m)ks+rxmodqH(m)rsH(m)kr+sxmodq表 7 不同参数模式的签名方案签名方程验签方程对应体制rks+H(m)xmodqrrgsyH(m)modpYen,LaihrkH(m)+sxmodqrrgH(m)ysmodpAgnew,YenskH(m)+rxmodqrsgH(m)yrmodpElGamal,DSAH(m)ks+rxmodqrH(

37、m)gsyrmodpSchnorr,Nyberg基于离散对数难题的各种数字签名方案,这部分内容对于刚开始接触数字签名的同学们而言是相对容易的,也是必须掌握的基本知识,相信通过循序渐进的方式学习,同学们会从中感悟数字签名的奥妙,并产生继续深入学习的兴趣。离散对数用于数字签名的优势在于其指数运算的化简和处理比其他运算相对简单,很容易构造不同的方案,因此,签名方案的资源相当丰富。通过渐进式案例教学则可以让学生在学习时更加快速掌握离散对数数字签名的多种构造方法,为以后深入学习研究相关签名做出必要准备。4.3 基于挑战应答身份鉴别协议的渐进式教学挑战应答身份鉴别协议通过向验证者展示与证明者实体有关的秘密

38、知识来证明自己的身份,但在协议中并没有向验证者泄露秘密(私钥)本身。挑战应答身份鉴别协议作为身份认证技术的一种在实际应用中被广泛采用。在教学中我们以表 8 为例进行渐进式教学。221第 30 卷数字签名和认证技术课程的渐进式教学案例化设计 表 8 基于挑战应答身份鉴别协议的渐进式对比基于对称加密基于消息认证码基于公钥加密基于数字签名单 向认证基于时戳AB:EK(tA,B)基于随机数AB:rBAB:EK(rB,B)EK:加密算法tA:时间戳rA,rB:随机数B:身份信息AB:rBAB:hK(rB,A)hK:MAC 算法A,B:声称身份AB:h(r),B,PA(r,B)AB:r基于时戳AB:cer

39、tA,tA,B,SA(tA,B)基于随机数AB:rBAB:certA,rA,B,SA(rA,rB,B)certA,certB:公钥证书SA,SB:私钥双 向认证基于随机数AB:rBAB:EK(rA,rB,B)AB:EK(rB,rA)AB:rBAB:rA,hK(rA,rB,B)AB:hK(rB,rA,A)AB:PB(r1,A)AB:PA(r1,r2)AB:r2AB:rBAB:certA,rA,B,SA(rA,rB,B)AB:certB,A,SB(rB,rA,A)在教学过程中,我们首先学习基于对称加密的挑战应答身份鉴别协议,在了解其单向认证以及双向认证的基础上,渐进学习基于消息认证码、公钥加密、数

40、字签名等其他类型的身份鉴别协议,同时巩固之前学习的相关密码学知识。日后如果也有类型单项认证以及双向认证的教学内容,我们同样可以根据上述表格进行修改,从而渐进学习挑战应答身份鉴别协议。5数字签名和认证技术渐进式实践教学案例设计 数字签名和认证技术在实践中往往作为密码系统的重要组成部分。本课程也应向同学介绍一些实用且具有发展前景的实践知识。5.1 签密体制和方案的渐进式实践教学密码系统提供的基本安全服务有机密性、完整性、认证和不可否认性。在密码学中,机密性可以通过加密来取得15。数字签名提供完整性、认证和不可否认性。如果我们需要同时取得机密性、完整性、认证和不可否认性,一个传统的方法是先对消息进行

41、签名,然后再进行加密,称为“先签名后加密”方法。这种方法的计算量和通信成本是加密和签名代价之和,效率较低。1997 年,Zheng16提出了一种新的密码原语来同时取得这四种安全性质,他称这一密码原语为数字签密。签密作为数字签名在密码系统的重要实践,值得学生进行较为细致的学习。在教学中,我们先通过比较签密和传统方法的区别来进一步了解签密。比起传统的“先签名后加密”,签密具有以下优点:签密在计算量和通信成本上都要低于传统的“先签名后加密”方法;签密允许并行计算一些昂贵的密码操作;合理设计的签密方案可以取得更高的安全水平;签密可以简化同时需要保密和认证的密码协议的设计。(1)基于 PKI 和身份的签

42、密体制的渐进式教学在了解签密的基础知识后,我们通过学习签密的体制来进一步深入了解签密的分类。在教学中,我们以基于 PKI 的签密体制和基于身份的签密体制为例。我们通过表 9 进行教学。在完成基于 PKI 的签密体制和基于身份的签密体制的学习后,我们通过比较签密体制在系统参数、密钥生成、签密、解签密等方面来渐进学习基于无证书的签密体制以及未来可能出现的后量子的新型签密体制。完成签密体制的学习后,我们应进行具体的签密的方案学习,在基于 PKI 的签密体制的学习中,我们以 Zheng 提出的两种方案为例。(2)SCS1 和 SCS2 的渐进式教学Zheng16提出了两个相似的签密方案,称为SCS1

43、和 SCS2。在教学中,我们通过表 10 进行321北京电子科技学院学报2022 年教学。表 9 基于 PKI 和身份的签密体制的渐进式对比签密名称对比内容基于 PKI 的签密体制基于身份的签密体制系统参数无系统初始化算法,由 PKG 完成,输入安全参数 k,输出主密钥 s 和系统参数 params。PKG 保密 s,公开 params。密钥生成输入 1k,k 是一个安全参数;输出发送者和接收者的公钥/私钥对。发送者的公钥/私钥对(pks,sks),接收者的公钥/私钥对(pkr,skr)。输入一个用户的身份 IDU,PKG 计算用户私钥 SU并通过安全方式发送给这个用户。签密输入消息 m,一个

44、发送者的私钥 sks和一个接收者的公钥 pkr,输出一个密文。输出密文=Signcrypt(m,sks,pkr)。输入系统参数 params,明文 m,接收者的身份 IDB和发送者的私钥 SA。输出密文=Signcrypt(m,SA,IDB)。解签密输入一个密文,一个发送者的公钥 pks和一个接收者的私钥 skr,输出一个消息 m 或者错误符号。m=Unsigncrypt(,pks,skr)。输入密文,系统参数 params,接收者的私钥 SB和发送者的身份 IDA,输出明文 m 或符号“”表示解签密失败。m=Unsigncrypt(,SA,IDB)。表 10 SCS1 和 SCS2 的渐进式

45、对比签密名称对比内容SCS1SCS2密钥生成(1)选择大素数 p 和 q,q(p-1);(2)g 是 Zp中的一个 q 阶元素;(3)H 是 Hash 函数,KHk是一个带密钥 k 的 Hash 函数;(4)E 和 D 分别表示一个对称密码体制的加密和解密算法;(5)xa为用户 A 的私钥,1 xa q-1;ya为用户 A 的公钥,yagxamod p;xb为用户 B 的私钥,1xb q-1;yb为用户 B 的公钥,ybgxbmod p同 SCS1签密对于消息 m,发送者 A 执行以下步骤:(1)随机选择整数 x,1 x q-1;(2)计算(k1,k2)H(ybxmod p);(3)计算 c=

46、Ek1(m)and r=KHk2(m);(4)计算 sx/(r+xa)mod q;(5)对消息 m 的签密密文为=(c,r,s)。(1)-(3)和(5)同 SCS1(4)sx/(1+x ar)mod q解签密当收到签密密文时,接收者 B 执行以下步骤:(1)计算(k1,k2)H(yagr)sxbmod p);(2)计算 m-Dk1(c);(3)如果 KHk2(m)=r,接受 m,否则输出错误符号。(1)计算(k1,k2)H(gyar)sxbmod p);剩余同 SCS1 在基于身份的签密体制的学习中,我们通过学习方案在签密、解签密的效率和安全属性等方面,来具体学习这些基于身份的签密方案。其中n

47、u和 nm分别表示身份和消息的比特长度。签密的效率和安全属性对于评判签密设计的好坏具有重要意义,在进行签密教学时,我们通过分析算法在签密和解签密中对运算以及点成运算的数量来判断签密的效率;在安全属性的学习时,通过全方位属性的对比,从而渐进了解签密算法的安全情况。421第 30 卷数字签名和认证技术课程的渐进式教学案例化设计 表 11 基于身份的签密体制的效率对比方案签密解签密对运算G1点成运算G2点成运算对运算G1点成运算G2点成运算Malone-Lee171341Libert-Quisquater-1181(+1)2242Libert-Quisquater-2181(+1)2242Liber

48、t-Quisquater-31812121Chow 等人192241Boyen2013142Chen-Malone-Lee211331Barreto 等人2221211Yu 等人230+(1)nu+nm+115(+1)nu+nmJin-Wen-Du240+(1)nu+nm+115+(1)nu+nmLi 等人25nu+nm+315nu+nm+3表 12 基于身份的签密体制的安全属性对比方案机密性不可伪造性公开验证性前向安全性密文无连接性密文匿名性模型Malone-Lee无有有有无无Libert-Quisquater-1有有有无无无随机Libert-Quisquater-2有有有无无无随机Libe

49、rt-Quisquater-3有有无有无无随机Chow 等人有有有有无无随机Boyen有有有有有有随机Chen-Malone-Lee有有有有有有随机Barreto 等人有有有有无无随机Yu 等人无有有有无无标准Jin-Wen-Du无无有有无无标准Li 等人有有有有无无标准 在进行签密的教学时,我们首先学习签密体制,其次学习签密的具体方案,然后进行签密方案效率分析的学习,最后学习签密的安全属性分析。在学习过程中不断通过对比分析表格中相关数据来渐进学习签密,这为学生学习签密提供了一种较为立体的思路,为学生未来从事相关研究做好基础知识的准备。5.2 典型身份识别方案的渐进式实践教学零知识身份证明在密

50、码学中占有着十分重要的地位,同时也作为身份认证在实际过程中重要实践。零知识交互式证明是由 Goldwasser、Micali和 Rackoff 提出的26。零知识证明是指示证者P 在不向验证者 V 提供任何有用的信息的情况下,向验证者 V 证明某个论断的方法。另外,零知识证明还具备有“零知识性”。即验证者在相信示证者的同时,无法获得有关被证明论断的任何知识。在教学中,我们以 Feige-Fiat-Shamir 体制Guillou-Quisquater 体制和 Schnorr 体制为例。在教学过程中,我们首先学习 F-F-S 体制,对该体制我们进行较为详细的教学;其次学习GQ 体制,通过分析对比

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服