混合型数字签名算法在网络教学平台的应用
2014-05-30孙尧王欣萍
孙尧 王欣萍
[摘要]随着互联网技术的发展,各种网络应用软件快速普及,利用数字签名技术保证网络中数据的安全传输成为密码学领域研究的一项重要问题,如何提高数字签名的效率是数字签名的研究热点之一,本文研究一种基于DES和ECC混合型高效数字签名方案在学校网络教学平台中的具体应用。
随着信息技术全球化,依托校园网的网络教学平台在高校获得广泛的应用。在各种网络教学平台中,教学信息的发布与管理,学生作业和成绩管理,学生签到,考试试题库管理等功能无不涉及到网络安全问题。对于学校而言最重要信息如学生学籍、成绩等数据在网络传输过程中,均存在被截获、篡改、否认等严重的安全问题,因此网络教学平台上传输的数据必须具有抗否定性、完整性、安全性以及有效的身份验证机制,这些要求数字签名技术都能够保证。
一、基于DES和ECC混合型数字签名算法
常用的对称密钥密码体制的数字签名算法具有简单,速度快,占用的空间小等优点,但也存在实现需达成共识、加密者可单方否认加密行为、密钥需求数量大等问题。而非对称密钥密码体制的常用数字签名算法在实际中有广泛的应用,安全性强,缺点是加密速度慢。
我们提出一种将对称密钥密码体制的数字签名算法DES和非对称密钥密码体制的常用数字签名算法ECC混合的数字签名算法H-ECDSA。H-ECDSA利用DES加密明文数据,用ECC算法加密DES的会话密钥,同时利用T-ECDSA对明文的数字摘要进行数字签名。利用H-ECDSA既可以解决明文加解密速度的问题,又能有效解决密钥分发问题,还能更有效的提高数据通信的安全性。
H-ECDSA根据校园网的使用者为教师和学生及校园网实际情况,使用DES算法加密文件以保证传输文件的安全性,可以满足对文件快速加密的要求。利用T-ECDSA对文件进行数字签名,由于T-ECDSA基于椭圆曲线的离散对数问题,所以能够保证文件签名的安全性。
二、H-ECDSA签名及验证工作流程
图1中H-ECDSA算法的源端需要做三项工作,包括数字摘要生成、明文加密和会话密钥的加密。目的端也包括三项工作,分别为会话密钥的解密、密文的解密和数字签名的验证。
三、H-ECDSA在学生成绩管理中的应用
1、成绩文件数字签名过程
为实现学生成绩管理的完整性、不可否认性、身份鉴别和保密性,网络教学平台中成绩管理模块的数字签名算法实现分为密钥分配模块、签名算法模块和验证算法模块,成绩管理模块的数字签名部分功能结构如图2所示。
1)密钥分配及管理
由于高校网络教学平台的特殊性,公钥的交换不需要第三方参与,这样避免了复杂的CA认证体系。密钥由主数据服务器和系统管理员来产生和分配。教师可根据自己的ID、密码和私人信息来申请一对密钥。私钥由教师自己保管,服务器将公钥及用公钥加密的登录口令存放在数据库中,与教师的ID对应,以在认证时使用。密钥的更改可重新申请。系统本身的私钥经加密后保存起来,公钥向教师和管理员公开,服务器的公钥定期更改。
2)成绩文件签名
系统在教师提交成绩后,将成绩文件用SHA-1算法产生160位的数字摘要,再用教师的私钥对数字摘要用T-ECDSA的生成算法签名,系统随机生成DES会话密钥,用DES加密签名成绩文件,将DES会话密钥通过ECC算法加密,最后将成绩签名和加密的原始成绩文件及加密的会话密钥打包形成签名成绩文件。
成绩文件签名页如图3所示。
发送成绩的教师首先导入成绩文件,然后导入私钥文件;导入成功后,点击“查询接收方公钥”按钮,查询公钥;然后点击“生成会话密钥”按钮,生成DES加密密钥,用于加密成绩文件;然后点击“数字签名”按钮,生成数字签名,若签名生成成功则弹出显示“成绩签名成功”的提示框;最后点击“发送”按钮将生成结果发送给负责成绩管理的教师。
3)成绩文件解密
对成绩文件的解密首先要分离收到的文件,分离后得到签名成绩和加密的会话密钥及加密的成绩文件,然后用ECC算法解密DES会话密钥,用得到的会话密钥解密成绩文件,将成绩文件解密后,需要验证成绩的完整性和确认发送人的身份。首先分离签名成绩得到原始成绩和成绩的数字签名,然后将原始成绩用SHA-1算法生成160的数字摘要,并用T-ECDSA验证原成绩的数字签名,最后比较两个数字签名,如果相同则签名有效,收到的成绩未被篡改和窃听,否则接到的成绩不可信。
成绩签名验证页如图4所示。
负责成绩管理的教师收到签名文件后,导入成绩签名验证页;然后导入私钥文件;点击“查询发送方公钥”按钮,查询公钥;然后点击“签名验证”
按钮,若验证成功,则弹出显示“成绩签名验证成功”的提示框,否则弹出显示“成绩签名无效”的提示框,最后点击“确认”按钮,将验证结果发送给发送此成绩文件的教师。
四、数字签名实现效果分析
利用H-ECDSA满足学生成绩传输中6个安全方面的需求:
1、保证成绩文件的真实性和完整性。利用SHA-1算法将成绩文件形成数字摘要,任何对其的篡改都可以被接收方檢测出来,从而保证了成绩的真实性和完整性。
2、快速进行成绩数字签名。用改进的ECC算法对数字摘要进行签名,缩短了签名时间,克服了使用公钥算法直接对原文件签名速度慢的缺点。
3、加、解密的快速性。由于成绩文件的加密工作由DES来完成,整个传输过程中,ECC算法仅对成绩文件的数字摘要进行签名和对DES的会话密钥加、解密,加密量小,利于提高系统的总体加密和解密速度。
4、密钥交换安全。由于加密的会话密钥使用接收方的公钥进行加密,解决了对称密钥的传输问题。此技术安全性很高,结合DES和ECC算法的优点,这种两层加密充分发挥了对称加密的高效性和公钥技术的安全灵活。
5、双方身份的鉴别。由于对称密钥使用接收方的公钥加密,所以只有接收方才能使用私钥解密,实现了接收方的身份鉴别;接收方使用发送方的公钥解密数字签名,认证了该签名文件是从发送方传递的。
6、抗否认性。只有发送方才能生成用自己的公钥解密的签名,所以发送方不能否认曾经对文件进行过签名,并发送给接收方。