基于网络的在线签名验证系统的设计与研究
- 格式:pdf
- 大小:306.89 KB
- 文档页数:6
基于BYOD的校园网安全认证计费系统的设计与实现的开题报告一、选题背景及研究意义近年来,由于智能手机、平板电脑等移动设备的广泛普及,校园网中出现了大量的BYOD现象。
BYOD指的是“Bring Your Own Device”的缩写,意为“自带设备”,即员工或学生自行携带私人或公司的移动设备使用在企业或学校的工作场所网络。
BYOD的出现可以提高员工或学生的工作效率,但同时也给校园网带来了安全风险,如未经授权的设备连接网络,可能会导致病毒和恶意软件的传播,甚至会泄露个人隐私信息。
因此,加强校园网安全管理十分必要。
在校园网中,需要使用认证和计费系统来确保合法用户可以安全地访问网络资源。
认证和计费系统可以有效地防止未授权的设备连接网络,并对用户的网络使用行为进行监控和计算网络使用费用。
但是,传统的认证和计费系统存在一些问题,如需要使用繁琐的账号和密码进行登录认证;对于不同设备的认证方式不同,用户体验较差;计费方式不灵活,无法根据用户的网络使用量进行差异化收费。
因此,在BYOD环境下,需要设计一种基于BYOD的校园网安全认证计费系统,实现灵活、安全、便捷的校园网管理。
本文旨在通过对现有认证和计费系统的研究,考虑BYOD环境下的校园网特点和安全需求,设计一种基于BYOD的校园网安全认证计费系统,并进行实现和测试,以达到提高校园网安全性和用户体验的目的。
二、研究内容和研究方法(一)研究内容:1. 校园网认证和计费系统的现状分析和缺陷探讨;2. 基于BYOD的校园网特点和安全需求分析;3. 基于BYOD的校园网安全认证计费系统的设计与实现;4. 基于实验结果对系统进行性能评估,并通过实验数据来比较优化前后的系统性能。
(二)研究方法:1. 调研和分析现有校园网认证和计费系统的应用场景、特点、实现原理等;2. 通过实验和对比分析,评估不同认证和计费系统的优劣;3. 设计基于BYOD的校园网安全认证计费系统的系统流程,提出改进措施。
基于身份认证的电子签名系统设计及实现随着数字化时代的到来,越来越多的交易和合同都使用了电子化的方式,从而节省了不少纸张和人力成本。
电子签名系统作为电子化交易和合同的核心技术之一,在现代化社会发挥了重要的作用。
本文将介绍一种基于身份认证的电子签名系统的设计及实现。
一、电子签名系统的基本原理电子签名系统是指对电子文档进行数字签名,使其在发送和接收的过程中保持完整、不可篡改和具有认证效力的一种技术。
电子签名系统的基本原理涉及到以下几个方面:1.数字证书:数字证书是一种电子文档,它包含了签名者的公钥和身份证明等信息。
在数字签名的过程中,数字证书起到了在网络中验证签名者身份和签名合法性的作用。
2.数字签名:数字签名是将签名者的私钥和电子文档进行特殊的计算后生成的一种数字指纹,并且具有抗否认性、真实性、不可抵赖性等特点。
3.电子文档的完整性:电子文档的完整性是指电子文档的内容在传输和存储过程中没有被篡改或修改。
常见的方法是采用哈希算法对文档进行摘要计算,并且将摘要值与签名绑定,从而保证文档的完整性。
二、基于身份认证的电子签名系统设计基于身份认证的电子签名系统是指在电子签名的基础上,利用身份认证技术实现电子交易和合同的安全可信。
具体的设计方案如下:1. 用户身份认证:用户在进入系统前需要进行身份认证,可以采用数字证书、密码验证等方式验证用户身份。
2. 签名者身份认证:签名者需要进行身份认证,可以采用密码验证、指纹识别等方式验证签名者身份。
3. 文档的完整性验证:系统需要实现文档完整性验证功能,对于每个签名者,系统都需要对文档的完整性进行验证。
4. 电子文档的时间戳:在签名完成后,系统会为签名生成一个时间戳,并且将时间戳与签名绑定实现时间上的可追溯性。
5. 安全存储:为保证系统的安全性,签名系统需要对数字证书、签名密钥和其他敏感信息进行安全存储,防止信息泄露。
三、基于身份认证的电子签名系统实现本文基于Java平台,采用Bouncy Castle作为密码学库,实现了一个基于身份认证的电子签名系统。
第31卷第1期北京电子科技学院学报2023年3月Vol.31No.1Journal of Beijing Electronic Science and Technology Institute Mar.2023基于SM2的云端双方协同签名方案设计与应用∗许盛伟㊀邓㊀烨㊀田㊀宇北京电子科技学院,北京市㊀100070摘㊀要:针对当前国内对基于国密算法的协同签名方案的相关研究较少,方案的效率和安全性难以达到实际应用需求等问题,本文对基于SM2的协同签名方案进行优化设计和应用㊂通过提出私钥分片方案和移动智能终端私钥安全管理技术,保障了用户私钥安全㊂方案中私钥分别存储在移动智能终端和云端,移动智能终端使用私钥进行数字签名时,需要和云端联合签名服务器协同工作,保证在签名过程中的敏感数据安全性和签名结果的合法性㊂同时本方案结合SM2算法的特点优化实现了云端双方协同签名系统,采用自主设计的预计算技术提高了协同签名效率㊂通过实验验证和性能测试,本方案在安全性方面优于同类且在效率上不受损失,易于成果转化,可以广泛应用于移动办公㊁即时通信和网络音视频会议等应用中㊂关键词:私钥分片;协同签名;移动智能终端;国密算法中图分类号:TN915.08㊀㊀㊀文献标识码:A文章编号:1672-464X (2023)1-01-08∗㊀基金项目:国家重点研发计划(项目编号:2022YFB3104402);中央高校基本科研业务费专项资金资助(项目编号:328202221)∗∗㊀作者简介:许盛伟(1976-),男,教授,博士生导师,研究方向为大数据安全㊁人工智能与密码应用㊂邓㊀烨(1999-),男,硕士研究生,主要研究方向为密码应用(E-mail:dyaipai@)㊂田㊀宇(1998-),男,硕士研究生,主要研究方向为零信任安全㊂引㊀言㊀㊀当前国外的密码研究水平处于前沿位置,并且有较为完善的密码产品和体系,国内的大型企业㊁银行等资本雄厚的机构也青睐于使用外国的密码产品,但在美国的 棱镜门 事件发生后,我们不得不考虑其存在的后门问题,这使得我国网络安全甚至国家安全都受到了严重的威胁㊂上述这些数据和事件不断提醒我们推动国产化信息安全产品的研发和使用,把相关技术掌握在自己手中,努力建立健全密码产品体系及管理体制,亟需推进信息产品㊁密码产品的国产化替代㊂目前国内在对于保障信息安全的手段中起到重要作用的协同签名方案的研究多是基于国外算法如AES 等,基于国密算法的协同签名方案仅有几篇专利和少数论文,在安全性和效率方面都无法适应用户的需求㊂例如‘基于国密算法分片密钥技术的政务移动安全接入研究“[4]一文提出的基于SM9密钥分片的政务方案,虽然有着密钥分片的思想,但是缺乏对私钥安全性保护的方案,不符合密码安全要求,而本方案则提出了终端安全管理技术,通过PIN 码的设计保证了密钥管理的安全性,通过测试验证了本系统的设计思路是可行的㊂另如在‘基于组合密钥的智能电网多源数据安全保护“[5]中,提出了根据不同条件获得分片方案,把一个密钥分成若干个互不相同的子密钥片,然后把这些密钥分片组合生成新的密钥,分配到系统中的不同终端北京电子科技学院学报2023年上,这种方案过程繁琐,效率不高,在实际应用中难以适配,本系统与其相比在安全性得到保证的前提下运行效率有所提高㊂因此,本文基于这些问题与应用需求,在国家政务信息系统和关键基础设施国产化密码应用要求的指导下,对基于国密算法的协同签名方案进行设计和优化,该方案满足了移动智能终端对于协同签名以及一些通用密码服务等方面的安全需求,同时提升了协同签名过程的效率㊂本文提出的基于SM2算法的协同签名方案,主要贡献有三个方面:应用分片密钥技术,根据相关密码模块技术要求,提出了基于门限思想的密钥分片技术,实现移动智能终端和云端的密钥分片存储,使移动智能终端和云端不再存储完整的用户私钥,提高了抵抗同时攻击的能力,解决密钥管理的安全和密码运算的安全问题㊂同时基于密钥分片存储,提出移动智能终端私钥安全管理技术㊂该技术使用PIN码来设计实现,移动智能终端在执行数字签名㊁数据加密等操作时需要与云端联合运算,通过在移动智能终端设置PIN码并在云端验证,能够有效抵抗针对移动智能终端PIN码的离线暴力攻击,提升了安全强度㊂提出基于SM2国密算法的快速协同签名技术,针对国密算法的特点,设计了预计算的处理环节㊂简化了协同签名流程,提高了协同签名效率,且网络资源㊁硬件资源消耗较低,并具备很好的安全性㊂相较于之前的类似方案,本方案在安全性和效率方面皆得到了提高,具有很好的应用前景㊂基于SM2算法的协同签名方案的设计依托于拥有我国自主知识产权的SM2椭圆曲线公钥密码算法,可解决签名安全㊁终端存储密钥安全㊁个人隐私安全㊁数据安全㊁移动办公等安全问题,下一步将对本文成果进行系统集成,为日后的实际应用做好准备,为我国关键信息基础设施的国产化替代作出卓越贡献㊂1㊀相关知识1.1㊀门限法Shamir教授在1979年曾提出基于门限秘密共享的分布式签名[6],门限秘密共享指的是n 个实体分别持有私钥的一部分,当且仅当凑齐超过阈值数量的被分割密钥才可以恢复成完整密钥,从而完成签名或解密的工作㊂这种方法虽然实现了分布式签名,然而一旦私钥被恢复,持有完整私钥的一方就可以在其他实体不知晓的情况下任意使用私钥,造成极大的安全隐患㊂1.2㊀SM2签名算法2010年底,国家密码管理局公布了我国自主研制的 椭圆曲线公钥密码算法 (SM2算法)[7]㊂SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议, SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能㊂SM2签名算法包含了以下四个步骤㊂(1)初始化(Setup):给定安全参数λ,生成椭圆曲线参数params=(p,a,b,P,q)并输出㊂(2)密钥生成(Key):给定参数后,选择随机数xɪZ∗q作为私钥,计算Q=x㊃P作为公钥,输出(Q,x)作为公私钥对㊂(3)签名算法(Sign):给定参数params,私钥x以及消息m,签名者将执行以下步骤:①计算Z=H v(ENTL||IDA||a||b||pk),其中IDA是用户的可辩别标识,ENTL是IDA的长度,计算M=Z||M;②计算e=H v(M);③选择随机数kɪZ∗q,计算椭圆曲线点R =k㊃P=(x1,y1);㊃2㊃第31卷基于SM2的云端双方协同签名方案设计与应用㊀④计算r=x1+e mod q,s=(1+x)-1(k-r㊃x)mod q;⑤输出签名δ=(r,s)㊂(4)验证算法(Ver):给定参数params公钥Q=x㊃P,消息mᶄ以及它的签名δᶄ=(rᶄ,sᶄ),验证算法运行如下:①检验rᶄ,sᶄɪZ∗q是否成立;②设Mᶄ=Z||Mᶄ,计算eᶄ=H v(Mᶄ);③计算t=rᶄ+sᶄ,若t=0则验证不通过;否则计算椭圆曲线点Rᶄ=sᶄˑP+t㊃Q=(x1ᶄ, y1ᶄ),验证rᶄ=eᶄ+x1ᶄmod q是否成立,验证通过则输出1,否则输出0㊂2㊀方案设计及实现方法㊀㊀针对移动智能终端中对于身份认证㊁数字签名等密码应用的需求,本文设计并优化了基于SM2算法的协同签名方案,实现了在移动智能终端可以进行密钥分片的生成和安全存储㊂在本方案中主要是基于SM2算法,采用了密钥分片存储㊁协同签名技术以及终端私钥安全管理技术,同时针对SM2算法的特点对协同签名流程进行优化,实现了签名过程中的敏感数据安全性和签名结果的合法性,同时在签名速度方面得到提高㊂2.1㊀方案设计如图1所示,本方案设计了一个由云端㊁移动智能终端组成的基于SM2的云端双方协同签名方案㊂通过创新性的快速协同签名技术㊁密钥分片技术㊁终端私钥安全管理技术,使得本方案相较于同类方案,在安全性得到大大提升的同时保证了运行效率不受太多损耗㊂方案中的云端负责响应移动智能终端的密钥分片㊁协同签名请求,提供云端公㊁私钥分片生成功能;在密钥分片过程中向移动智能终端发送云端产生的云端公钥分片,同时接收移动智能终端发送的终端公钥分片,与移动智能终端交互完成密钥的分片;在协同签名过程中发送和接收移图1㊀本方案的设计架构图动智能终端发送的协同签名的各种中间值,与移动智能终端交互完成协同签名,接收到用户的ID㊁PIN码及公钥分片后,将向服务器密码设备发出储存申请将用户的ID㊁PIN码及公钥分片储存至服务器密码设备中,在云端需要用户口令㊁密钥数据时临时向服务器密码设备进行申请㊂移动智能终端部分通过app上集成的密码模块即移动智能终端密码模块提供分片密钥生成㊁更新和存储功能㊂其中封装了多种安全接口,支持多种开发语言,提供分片密钥存储和管理功能等㊂它由多个模块组成,包括SM2协同签名模块㊁验签模块㊁SM3杂凑模块㊁SM4加解密模块㊁密钥管理模块和通信模块,上层封装成SM2协同签名㊁验签接口,作为对外部提供的接口㊂其中密钥管理模块又包含密钥的生成㊁更新和存储㊂移动智能终端基于java实现,在安卓系统上运行㊂通过调用GmSSL库函数来完成一系列功能,其中GmSSL是个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密算法㊂云端密码模块则与密钥管理模块相互配合达成包括密钥生成㊁更新和存储等功能(通过调用云端密码设备)㊂密码机设备用于储存用户的PIN码,以及私钥分片㊂设备使用中安网脉基于云端密码设备的软硬件设备㊂㊃3㊃北京电子科技学院学报2023年本系统进行协同签名主要分为两个步骤,即密钥分片和协同签名㊂(1)密钥分片进行密钥分片时,主要调用密钥生成模块生成部分私钥,使用密钥存储模块进行公私钥的存储,在云端会将公私钥存储在云端密码设备中,此外,本系统还利用PIN码对移动智能终端私钥分片进行保护㊂(2)协同签名进行协同签名时,主要调用SM2协同签名模块;移动智能终端和云端的通信模块负责协同签名过程中的参数传递㊂(3)安全的传输协议移动智能终端与云端通信使用HTTPS安全传输协议,以保证用户PIN码㊁签名计算中间值不会泄露,以及预防可能遭到的重放攻击㊂2.2㊀实现方法(1)密钥分片技术密钥分片技术即将私钥分割为两个部分:第一分片子密钥和第二分片子密钥㊂第一分片子密钥存放到移动智能终端,第二分片子密钥则由云端服务器派生生成,两个分片子密钥完成协同签名㊂最后,完成的协同签名在移动智能终端生成,完整签名可以实现数据的不可否认和操作的不可抵赖㊂密钥分片具体流程如图2所示㊂定义p为大素数,Fp为有限域㊂选择a,bɪFp作为椭圆曲线E的参数,定义P为椭圆曲线E上的一点,并且将其作为群G的生成元㊂群G 的阶为q,M为待签名的消息,ENTL为IDT的长度,IDT为签名用户的名字㊂其余未注明变量均为计算的中间变量,pk为联合公钥,pk A为移动智能终端公钥分片,pk B为云端公钥分片,d A为移动智能终端私钥分片㊁d B为云端私钥分片㊂①移动智能终端随机秘密选择私钥分片d A ɪZ q,并计算公钥分片pk A=d AˑP,后将pk A传给云端㊂②云端随机秘密选择私钥分片d BɪZ q,计图2㊀密钥分片流程图算出公钥分片pk B=d BˑP与完整公钥pk= d A d B P-P,即pk=d B pk A-P,并将(pk,d B,pk A)储存至UsbKey中,将pk B传输给移动智能终端㊂③移动智能终端接受到云端的公钥分片后即可计算出公钥pk,pk=d A d B P-P,即pk=d A pk B-P,存储(pk,d A,pk B)㊂④移动智能终端设置PIN码,该PIN码和用户ID及其私钥绑定,并存储在Usbkey中㊂(2)快速协同签名技术移动智能终端密码模块使用第一分片子密钥对消息进行签名后,将部分签名结果s传递给云端服务器,云端服务器使用第二分片子密钥对签名结果变换后生成t并传回给移动智能终端㊂整个协同签名只使用两个报文(1个来回)就完成整个过程,简化了协同签名流程,提高了协同签名效率,网络资源㊁硬件资源消耗较低,也具备很好的安全性㊂协同签名流程如图3所示㊂①移动智能终端输入PIN码,加载密钥分片㊂②移动智能终端和云端进行相互验证,云端通过身份验证后即可向UsbKey申请与用户对应的密钥分片㊂移动智能终端秘密选择k AɪZ∗q,㊃4㊃第31卷基于SM2的云端双方协同签名方案设计与应用㊀图3㊀协同签名流程图并计算R A=k AˑP,RᶄA=k Aˑpk B,并将R A与RᶄA的值传给云端;在云端验证是否满足R A=d BˑRᶄA,若满足,则计算R B=k Bˑpk A,RᶄB=k BˑP,并将R B,RᶄB发送给移动智能终端㊂移动智能终端收到消息后,验证是否满足R B=d AˑRᶄB,若满足,则开始进行签名㊂③移动智能终端使用分片私钥生成部分签名sᶄ计算Rᶄ=R A+R B=(x A,y A),Z A=SM3 (ENTL ID T a b P pk),r=SM3(Z A M) +x A mod q,计算sᶄ=(k A+r)d A-1mod q然后将sᶄ的值发送给云端并请求云端进行协同签名㊂④云端计算t=(sᶄ+k B)d B-1mod q,生成部分签名,然后将t的值发送给移动智能终端㊂⑤移动智能终端计算s=t-r,并输出协同签名(r,s)㊂3㊀性能测试与分析㊀㊀云端测试环境:硬件环境:CPU:Intel Xeon(R)Bronze3106CPU@1.70GHzˑ16RAM:16.0GB软件环境:系统:Ubuntu20.04.3LTS64位测试平台:Qt Creator4.8.0Based on Qt 5.12.0(GCC5.3.1)移动智能终端测试环境:硬件环境:CPU:海思麒麟970处理器RAM:6.0GB软件环境:系统:Android10测试平台:Android studio11测试范围:对该协同签名方案的实际性能进行测试㊂3.1㊀性能测试性能数据如下图所示,程序运行资源消耗较低,资源占比仅维持在百分之十左右㊂图4㊀移动智能终端CPU测试图图5㊀移动智能终端内存测试图表1㊀性能测试数据序号测试项测试项描述值1协同签名速度平均每秒签名速度40次/秒2密钥生成速度平均每秒密钥生成90次/秒3.2㊀性能分析(1)密钥分片密钥分片技术将私钥分成两个部分,分别存㊃5㊃北京电子科技学院学报2023年放在移动智能终端与云端(移动智能终端私钥自己存储,云端私钥放在云端密码设备)㊂经过理论分析,SM2协议与ECMQV协议二者都基于椭圆曲线的计算,两者每次运算大约都需要1.5次标量乘,而经过实际运算,本系统实际测的公私钥生成并分片的效率与理论分析相差不大,大约在100次每秒,总体在可接受范围内㊂(2)协同签名从签名流程图来看,在传统的签名(r,s)中,r生成后s根据r的值随后生成,平均签名速度大约在40次每秒㊂但在本系统中r生成后,会由云端生成中间值t,随后在移动智能终端由r和t的值计算出s,虽然步骤变多,但是极大的提升了整个过程的安全性,并且由于创新性的加入了预计算处理过程,在代码中预先用SM3得到摘要缩短了所需时间㊂相较于市面上其他的联合签名系统,本系统优势明显㊂如罗永安,司亚利,刘文远[11]设计的联合签名需要双方公私钥,更多的初始数据带来了更多的计算过程,因此本方案在性能实现上更加优秀㊂4㊀安全性分析㊀㊀(1)有效防范中间人攻击防范中间人攻击的原则是必须对认证过程的传输者或是认证过程的本身真实性进行认证㊂为确保连接云端的移动智能终端安全,必须对每一用户或与之相连的终端设备进行有效的标识与鉴别,只有通过鉴别的用户才能被赋予相应的权限,进入APP并在规定的权限内操作㊂用户使用终端APP时,需要输入设定的密码才能使用,以保证对使用终端的用户的身份鉴别㊂同时,为防止非法用户能够通过反复输入密码,达到猜测用户密码的目的,本系统限制用户登录过程中连续输入错误密码的次数㊂当用户多次输入错误密码后,移动智能终端会自动锁定该用户或一段时间内禁止该用户登录,从而增加猜测密㊀㊀㊀码难度的目的㊂同时,本系统在移动智能终端APP中加入对设备MAC地址的识别,以保证对移动智能终端设备本身的身份鉴别;此外在用户还需要通过移动智能终端自带的身份识别(例如指纹识别㊁人脸识别等),再次保证使用移动智能终端的用户的身份的合法性㊂(2)有效防止抵赖问题完整的签名由移动智能终端和云端联合生成㊂可以实现数据的不可否认和操作的不可抵赖㊂随时间变化的椭圆曲线初始化参数可以防止重放攻击所导致的抗抵赖问题㊂(3)有效抵抗暴力破解移动智能终端密钥分片使用PIN码保护,但攻击人无法离线通过暴力尝试不同PIN码来恢复私钥分片㊂移动智能终端的保护方案并不报告加载私钥时使用的PIN码是否正确,加载的私钥是否恢复成功,必须请求云端服务器提供信息,方可知道尝试PIN码的正确性㊂云端服务器可以有效确认移动智能终端的签名的合法性,进而确认移动智能终端是否正确地恢复了私钥分片,可以有效锁定在线暴力破解PIN码的行为㊂5㊀结束语㊀㊀本文设计并实现了一个基于SM2算法的协同签名方案㊂该方案创新性地使用密钥分片技术㊁协同签名技术和移动智能终端私钥安全管理技术,可以为移动智能终端应用提供易用㊁安全的增强认证和数据安全保护,实现移动智能终端私钥的安全存储㊂此外,本方案对协议进行创新,通过针对SM2国密算法的特点对签名流程进行重新设计与算法优化,实现快速协同签名技术,通过功能测试和性能测试,与其他同类方案相比,本方案在提高了安全性的同时不损失其性能,且易于成果转化,对推动我国关键信息基础设施国密算法应用起到重要作用㊂㊃6㊃第31卷基于SM2的云端双方协同签名方案设计与应用㊀参考文献[1]㊀The43rd CNNIC China Internet Report.ChinaBroadcasts,2019,04:48(in Chinese). [2]㊀李兆斌,刘丹丹,黄鑫,等.基于国密算法的安全接入设备设计与实现[J].信息网络安全,2016.[3]㊀国家密码管理局.GM/T0009-2012.北京:中国标准出版社,2012:13-14.[4]㊀焦迪.基于国密算法分片密钥技术的政务移动安全接入研究[J].网络安全技术与应用,2020(9):28-30.[5]㊀高建,陈文彬,庞建民,等.基于组合密钥的智能电网多源数据安全保护[J].电信科学,2020,36(1):134-138.[6]㊀Shamir A.How to share a secret[J].Communi-cations of the ACM,1979,22(11):612-613.[7]㊀Chen Li-Quan,Zhu Zheng,Wang Mu-Yang,etal.A Threshold Group Signature Scheme forMobile Internet Application,Chinese Journalof Computers,2018,425(5):86-101(in Chi-nese).[8]㊀国家密码管理局.GM/T0028-2014.北京:中国标准出版社,2014:11-12.[9]㊀Chinese Encryption Administration.GM/T0003-2012SM2Elliptic Curve Public-KeyCryptography Algorithm.Beijing,China,2010.[10]㊀汪朝晖,张振峰.SM2椭圆曲线公钥密码算法综述[J].信息安全研究,2016,2(11):972-982.[11]㊀罗永安,司亚利,刘文远.基于椭圆曲线的联合签名及其在电子现金中的应用[J].华中师范大学学报(自然科学版),2008(3):350-354.[12]㊀苏吟雪,田海博.基于SM2的双方共同签名协议及其应用[J].计算机学报,2020,43(4):701-710.[13]㊀刘培鹤,闫翔宇,何文才,等.基于Android的密钥分存方案[J].计算机应用与软件,2018,35(2):320-324+333.[14]㊀王小云,于红波.SM3密码杂凑算法[J].信息安全研究,2016,2(11):983-994. [15]㊀彭绪富.电子政务中多方联合签名审批系统设计[J].微计算机应用,2008(4):29-32.[16]㊀陈明帅.基于Android的国密SSLVPN终端的研究与实现[D].北京:华北电力大学(北京),2021.[17]㊀施晓芳,赵少卡,王震懿.基于国密算法的Android智能终端SSL协议设计与实现[J].福建师大福清分校学报,2019(2):45-55+64.[18]㊀缪雨润.基于Qt的图形用户界面的研究与实现[D].南京:东南大学,2015.㊃7㊃㊃8㊃北京电子科技学院学报2023年Design and Application of a Cloud Bilateral CollaborativeSignature Scheme Based on SM2∗XU Shengwei㊀DENG Ye㊀TIAN YuBeijing Electronic Science and Technology Institute,Beijing100070,P.R.China Abstract:For the issue that few domestic research on collaborative signature scheme based on state crypto algorithm is available at present and existing schemes hardly satisfy the efficiency and security re-quirements for practical applications,an optimization design and applications of collaborative signature scheme based on SM2are presented in this paper,where a private key sharding scheme and a private key security management technology for the mobile intelligent terminal are proposed to ensure the secur-ity of the users private key.In our scheme,private key is separately stored in the mobile intelligent terminal and the cloud.When the private key is used by the mobile intelligent terminal for the digital signature,the mobile intelligent terminal is required to cooperate with the cloud collaborative signature server to guarantee the security of the sensitive data in the signature process and the legality of the sig-nature result.Meanwhile,combined with the characteristics of the SM2algorithm,an optimal cloud bi-lateral collaborative signature system is implemented,where an independently designed pre-calculation technology is adopted to improve the efficiency of the collaborative signature.Experimental verification and performance tests indicate that our design is superior in security than existing similar designs while keeping the efficiency,and is suitable for commercialization.Our design has a broad application pros-pect in mobile office,instant communication,network audio and video conference,etc. Keywords:private key sharding;collaborative signature;mobile intelligent terminal;state crypto algo-rithm(责任编辑:鞠㊀磊)。
电子签名验证方案1. 简介随着数字化时代的发展,越来越多的电子文档和交易需要进行签名验证。
电子签名是一种用于验证电子文档或数据的身份和完整性的技术手段。
本文档将介绍一种电子签名验证方案,旨在保证签名的真实性、完整性和不可篡改性。
2. 电子签名的基本原理电子签名的基本原理是利用非对称加密算法对数据进行加密和签名。
具体步骤如下:1.生成公钥和私钥对:首先,参与签名的用户需要生成一对公钥和私钥。
公钥用于加密数据,私钥用于签名数据。
2.数据加密:用户使用对方的公钥对要签名的数据进行加密,生成加密后的数据。
3.数据签名:用户使用自己的私钥对加密后的数据进行签名,生成签名数据。
4.数据验证:接收方使用发送方的公钥对接收到的数据进行验证。
首先,使用公钥解密签名数据,得到解密后的数据。
然后,使用解密后的数据对接收到的数据进行哈希运算,生成哈希值。
最后,将生成的哈希值与解密后的数据进行比对,如果一致,则验证通过。
3. 电子签名验证方案基于上述电子签名的基本原理,我们提出了以下电子签名验证方案:3.1. 生成公钥和私钥对在该方案中,参与签名的用户需要生成一对公钥和私钥对。
可以使用如下命令生成:$ openssl genpkey -algorithm RSA -out private.key $ openssl rsa -pubout -in private.key -out public.key3.2. 数据加密和签名在该方案中,发送方需要对要签名的数据进行加密和签名。
可以使用如下命令:$ openssl rsautl -encrypt -pubin -inkey public.key -in data.txt -out encrypted.data$ openssl dgst -sha256 -sign private.key -out signature.data data.txt3.3. 数据验证在该方案中,接收方需要对接收到的数据进行验证。
一、实验目的1. 理解数字签名的概念和原理;2. 掌握数字签名算法的设计与实现;3. 了解数字签名在信息安全中的应用。
二、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C#三、实验内容1. 数字签名算法的选择与设计本实验选用RSA算法作为数字签名算法,RSA算法是一种非对称加密算法,具有较好的安全性。
2. 数字签名算法的实现(1)RSA密钥对的生成RSA算法首先需要生成一对密钥,包括公钥和私钥。
公钥用于加密和解密,私钥用于签名和验证签名。
(2)数字签名生成使用公钥对数据进行加密,得到数字签名。
数字签名是对原始数据的加密,只有使用对应的私钥才能解密。
(3)数字签名验证使用公钥对数字签名进行解密,得到解密后的数据。
将解密后的数据与原始数据进行比较,若一致,则验证成功。
3. 数字签名系统设计(1)系统架构数字签名系统采用分层架构,包括以下层次:- 应用层:负责用户交互、数据处理和存储;- 业务逻辑层:负责数字签名算法的实现;- 数据访问层:负责数据存储和读取。
(2)功能模块- 用户注册与登录:用户注册账号,登录系统;- 数据上传与下载:用户上传待签名的数据,系统生成数字签名,用户下载签名后的数据;- 数字签名验证:用户上传签名后的数据,系统验证签名是否有效。
四、实验步骤1. 创建RSA密钥对在Visual Studio 2019中,使用C#语言创建RSA密钥对。
2. 实现数字签名算法(1)生成数字签名使用公钥对原始数据进行加密,得到数字签名。
(2)验证数字签名使用公钥对数字签名进行解密,得到解密后的数据,并与原始数据进行比较。
3. 设计数字签名系统(1)创建系统架构根据系统需求,设计系统架构。
(2)实现功能模块编写代码实现用户注册、登录、数据上传、下载、签名生成、签名验证等功能。
五、实验结果与分析1. 实验结果本实验成功实现了数字签名系统,用户可以上传待签名的数据,系统生成数字签名,用户可以下载签名后的数据,并对签名进行验证。
在 Delphi 的 Code Explorer 窗口中,用户可以方便地浏览 AutoCAD 的 ActiveX 对象及 这些对象的属性和方法,并可以了解调用这些属性和方法时可用的参数及形式。
在开发程序时还可以引用该单元文件,从而 可 以使用 库中 声明 的变 量类型 和常 量定 义。
在编写程序时可以利用 Delphi 的自 动完成功能减少错误,编译程序时函数、 方法和属性可以得到自动检查。
(1)对 AutoCAD 的 Activex Au tomation 初 始化。
在 Delphi 环境下进行 AutoCAD 的 Ac- tivex Au tomation 设计需要进行 3 方面的初始 化:uses 语句引用 Comobj 单元,它是 Delphi 应用程序中处理 Activex Au tomation 的关键 代码;获取AutoCAD 的 Application 和 document 对象,用来管理 Au toC AD 应用程序和操纵 当前活动图形文件。
下列代码可进行必要的初始化工作:uses ComObj;// 引用 ComObj 单元var Acad,AcadDwg:OleV ariant; // 定义 Application 和 docu ment 对象变量 Acad:=GetActiveOleObject ('AutoCAD. Application');// 获取 Application 对象AcadDwg:=Acad.ActiveDocument; //获取AutoCAD 当前活动文档Document 对象(2)获取和设置 AutoCAD 系统变量。
当需要获取并修改 AutoCAD 的系统变量时,可使用 Document 对象的以下 2 个方法:RetV al:=ObjDocument. GetV ariable (Sy s- Name:String ); // 返回系统变量 sysname 的当前值 ObjDo cument. Set V ariable (SysName: string,SysV alue );// 设置系统变量 SysName 的当前值为 新值 SysV alue使用这两个方法时需注意GetVariable 函数返回值和 SetV ariable 函数中参数 sys- V alue 的类型随着系统变量的不同而变化, 例如多点线线宽返回实数、当前颜色返回 整数等。
基于网络的在线签名验证系统的设计与研究1张巍1,郑建彬21.武汉理工大学信息工程学院,武汉(430070)2.华中科技大学电信系,武汉(430074)E-mail:tang0204@摘要:结合VC++开发环境,实现了基于网络的在线手写签名验证系统。
采用C/S模式对系统进行整体架构,首先对于系统的功能进行了详细的模块化介绍,再结合图示给出了系统结构设计,然后对于系统实现的关键技术进行了详细的说明,最后对系统的性能与要求进行了研究与讨论。
通过对系统进行调试运行,实现了基于网络的在线手写签名的验证。
关键词:签名认证;C/S模式;统计识别中图分类号:TP311 文献标识码:A1. 引言计算机与通信技术的飞速发展在给人们日常生活带来极大便利的同时,也使信息安全问题受到前所未有的挑战,因此实时准确的个人身份认证突显重要。
基于生物特征的身份识别克服了传统认证方法的大量缺陷而得到越来越广泛的应用。
在线手写签名验证是众多基于生物特征的身份识别方法中的一种,该技术在模式识别、信号处理等领域都属前沿课题。
签名作为人的一种行为特征,与其它生物特征相比,具有非侵犯性、易为人接受等特点[1]。
同时手写签名验证技术以其特有的稳定性、唯一性和方便性,得到越来越广泛地应用。
由于签名易于获取,主特征明显、稳定、可分性强等特点,以及签名自动验证系统具有友好、方便、应用范围广的优点,因此是一种很有发展潜力的身份识别方法。
同时由于当今社会高度信息化网络化,基于网络的信息安全显示出前所未有的重要性,在以纸质作为传媒的时代,对附在主体内容之后的手写签名的真伪鉴别只能是离线(Off-line)的方法;而在信息以数字化、网络化传递飞速发展的时代,就必须用在线(On-line)的方法,以实现信息实时准确的传递,信息采集端与认证端分离,所以基于网络的在线手写签名验证系统应用范围很广阔,具有很大的潜力[2]。
2. 在线签名验证系统功能与结构2.1 系统功能描述出于网络安全与高效率的考虑,在线签名验证系统的设计一般采用C/S结构来实现基于网络的异地验证,信息采集端应与验证端分离,信息存储和传输必须是在加密机制基础上实现。
系统可采用大型关系数据库,如Oracle等,通过C/S方式实现基于网络的异地验证查询。
充分利用人员的有效信息,为用户提供便利。
该系统主要实现以下几方面的功能:人员信息建库:在客户端利用手写板、触摸屏等输入设备输入手写签名及人员的ID 等基本信息,在本地做预处理并提取特征,并把以上信息均存入服务器端的数据库中。
由于采用C/S结构,实现了异地远程建库的功能。
信息验证查询:通过在客户端获得待测人员的有效信息(可以包括签名特征和ID等基本信息),根据用户需求将信息提交给服务器端,在服务器端的数据库中进行验证查询,并把查询结果返回给客户端。
1本课题得到国家自然科学基金资助项目(69672014)的资助。
用户管理:在客户端进行异地管理,提供普通查询用户、操作员和系统管理员三个用户安全等级。
普通查询用户只能进行查询工作;操作员可以增加、修改和删除数据记录,进行人员信息管理;系统管理员具有最大权限,可以创建用户、删除用户及进行其他的系统管理工作。
2.2系统结构设计对于实际应用的在线手写签名验证系统,其整体结构如图1所示,分为客户机和服务器两层,允许多客户端远程操作,支持服务器端多机并行处理。
客户端包括人机交互界面、预处理模块、特征提取模块和系统管理模块,来实现手写签名的输入,交互查询,结果显示,用户管理等;服务器端包括数据库、签名特征识别模块、并行处理模块,其各个模块均实现为数据库的外部存储过程。
当需要认证时,用户在配备手写板的网络终端签名,客户端获得有效信息并作预处理与特征提取操作后,将所得信息序列经通讯模块加密后通过互联网传输给服务器,进而完成相应的解密、在数据库中的ID检索及匹配判决,并将验证结果返回给客户端。
这种信息采集模块与验证模块分离成C/S的特性及在开放的网络环境下传输签名特征信息的方式,极大增强了整个认证系统架构的安全性与灵活性。
图1 应用系统的结构示意图3. 系统实现的关键技术在线手写签名验证从其学科分类来说是一个典型的模式识别问题,具有模式识别系统的普遍特性。
有两种基本的模式识别方法,即统计模式识别方法和结构模式识别方法,与此相应的模式识别系统都由两个过程所组成,即设计和实现。
设计是指用一定数量的样本进行分类器的设计。
实现是指用所设计的分类器对待识别的样本进行分类决策[3]。
基于准确性与效率考虑,采用统计模式识别的方法来分析在线手写签名验证。
3.1统计模式识别方法的基本流程统计模式识别方法的基本流程如图2所示。
图2 统计模式识别方法的基本流程(1) 数据获取为了使计算机能够对这种对象进行分类识别,要用计算机可以运算的符号来表示所研究的对象。
通常输入对象的信息有下列3种类型,即①二维图像,如文字、指纹、地图、照片这类对象。
②一维波形,如脑电图、心电图、机械震动波形等。
③物理参量和逻辑值,前者如在疾病诊断中病人的体温及各种化验数据等;后者如对某参量正常与否的判断或对症状有无的描述,如疼与不疼,可用逻辑值即0和1表示。
在引入模糊逻辑的系统中,这些值还可以包括模糊逻辑值,比如很大、大、比较大等。
通过测量、采集和量化,可以用矩阵或向量表示二维图像或一维波形。
这就是数据采集的过程。
(2) 预处理预处理的目的是去除噪声,加强有用的信息,并对输入测量仪器或其他因素所造成的退化信号进行复原[4]。
(3) 特征提取和选择由图像或波形所获得的数据量是相当大的。
例如,一个文字图像可以有几千个数据,一个心电图波形也可能有几千个数据,一个卫星遥感图像的数据量就更大。
为了有效地实现分类识别,就要对原始数据进行变换,得到最能反映分类本质的特征,这就是特征提取和选择的过程。
一般我们把原始数据组成的空间叫测量空间,把分类识别赖以进行的空间叫特征空间,通过变换,可把在维数较高的测量空间中表示的模式变为在维数较低的特征空间中表示的模式。
在特征空间中的一个模式通常也叫做一个样本,它往往可以表示为一个向量,即特征空间中的一个点。
(4) 分类决策分类决策就是在特征空间中用统计方法把被识别对象归为某一类别。
基本做法是在训练样本集基础上确定某个判决规则,使按这种判决规则对被识别对象进行分类所造成的错误识别率最小或引起的损失最小。
3.2系统的处理流程作为模式识别技术的一个分支,签名验证具有模式识别研究所常有的系统实现过程。
典型的在线手写签名验证的原型系统包括四个主要的技术环节:(1)签名信号的数据获取(Data Acquisition),就是经输入设备采集实时的手写签名信息后输入计算机。
(2)预处理(Preprocessing)。
预处理包括对签名的缩放,旋转,以及计算部分导出数据(如计算速度),对数据的前期处理以消除签名时的随机因素。
(3)特征提取(Feature Extraction)。
利用预处理后的数据计算签名的特征数据,即提取出能充分反映签名的书写风格,同时又相对稳定的特征。
签名的特征主要包括全局特征和局部特征两部分。
全局特征是由签名的所有采样点的数据计算而得,如签名的平均速度、平均压力等。
局部特征则是在签名的每个采样点上读取的或计算出来的数据,如该点的速度、压力等,由于采样的频率比较高,所得的数据中有很多冗余,不能把所有的采样点用于后续匹配,必须从中选取特征点。
(4)特征匹配(Feature Matching )和判决,即根据提取的特征信息,采用某种判别规则,与标准签名样本进行匹配,得出验证结果。
这个过程是一对一的匹配过程,即验证输入签名的人的身份是否属实。
整个在线手写签名验证的原型系统的处理流程如图3所示。
图 3 原型系统的处理流程4. 系统要求分析在实际的应用中,给在线手写签名验证系统提出了众多要求,如:(1)性能的要求:所选择的在线手写签名特征能够达到多高的识别率,对于资源的要求如何,识别的效率如何。
据此,人们引入了两个数字指标来描述该系统的精确度,错误拒绝率(False Rejection Rate ,FRR )和错误接受率(False Accept Rate ,FAR )。
错误拒绝率又称误拒率,指将相同的签名误认为是不同的签名,而加以拒绝的出错比率。
其定义为:FRR 100×错位拒绝的样本个数=%待测样本总数公式(1) 错误接受率又称误识率,指将不同的签名误认为是相同的签名,而加以接受的出错比率。
其定义为:FRR 100×错位接受的样本个数=%待测样本总数公式(2) 这两个指标均为阈值d T 的函数,其关系如图4所示。
其中一个重要指标是阈值为EER T 时的交迭率ERR ,即FAR =FRR 时的情形。
T EERd图4 FRR与FAR的关系曲线对于理想系统来说,这两个错误率都应该是零。
但实际中,这两个指标是相关的,由上图可见,FAR和FRR是成反比的,当误拒率比较低时,误识率就会比较高,反之亦然。
应用中应当根据实际需求来调节阈值,从而调整系统的安全性和易用性。
例如在用ATM 提取现金则需要一个较低FRR避免给有效用户带来不便,而在福利支付中心将需要较高FRR避免资金损失。
对于一个良好的在线签名验证系统而言,应该在FAR和FRR两者之间取得平衡,在两个错误率之间取一个折衷[5]。
(2)可接受性:使用者在多大程度上愿意接受该系统,是否会侵犯用户隐私,引起用户排斥。
(3)安全性能:系统是否能够防止被攻击;是否具有相关的、可信的研究背景作为技术支持。
(4)可实用性:提取的特征容量,特征模板是否占有较小的存储空间;价格是否能为用户所接受;是否具有较高的注册和验证速度。
(5)处理时间:签名验证系统的处理时间主要由采集时间、信号处理时间、匹配时间等几项指标构成。
采集时间通常包含了采集的操作时间和信号的传输时间;信号处理时间,指的是从计算机处理签名信号到提取所有特征、输出特征模板所耗费的时间;匹配时间,指计算机对两组签名信号进行比对并给出结果所耗费的时间。
在线签名验证系统的其他重要技术指标还有:参考模板的数据大小、性能价格比等。
5. 结论结合C/S模式,对基于网络的在线签名验证系统进行了设计与研究。
本文通过对整个系统进行划分模块分析研究,实现了系统的整体架构,同时对系统实现的关键技术进行了阐述。
本系统签名认证算法采用的是统计识别法,但由于签名认证方法是一个长期研究的课题,基于系统的误差考虑,该系统有待进一步的改进与提高。
参考文献1.张敏贵,潘泉,张洪才,张绍武. 多生物特征识别.信息与控制,V ol.31 No.6 Dec.20022.柯晶,乔谊正.联机自动签名鉴定系统的设计与实现.计算机与现代化,1998(2):5~103. Mingfu Zou,Jianjun Tong,Changping Liu. On-line Signature Verification Using Local Shape Analysis. IEEE,20034.Zheng Jianbin, Zhu Guangxi. A new algorithm for on-line handwriting signature verification based on evolutionary computation. Wuhan University Journal of Natural Sciences, 2006, 11(3): 596-6005.郑建彬, 郭震, 黄樟灿, 朱光喜. 在线手写签名验证的演化设计. 计算机工程与应用, 2006, 42(21): 28-31Design and Research of Online Signature VerificationSystem Based on NetworkZhang Wei1, Zheng Jianbin21.School of Information Engineering, Wuhan University of Technology, Wuhan (430070)2.Department of Electronics and Information, Huazhong University of Science and Technology,Wuhan (430074)AbstractUnifying the VC++ development environment,the hand-written signature confirmation system based on the network was ing the C/S pattern to carry on the construction to the system,firstly it has carried on the detailed modular introduction of the system function and has given system structural design showing with the recombination graphical representation.Then it has carried on the detailed explanation to the system realization key technologies .Finally,it has conducted the research and the discussion to the system performance and the request.Through carrying on the debugging movement to the system,the online writing signature authentication system based on network was finished .Keywords: Signature authentication; C/S pattern; Statistical recognition作者简介:张巍(1982-),男,湖北省黄冈市人,武汉理工大学硕士研究生,主要研究方向为信息处理、模式识别;郑建彬(1966-),男,湖北省黄冈市人,华中科技大学博士研究生,武汉理工大学教授,主要研究方向为信号与信息处理,模式识别。