试卷分析系统中的数字签名技术

时间:2022-08-31 12:50:21

试卷分析系统中的数字签名技术

随着网络的迅猛发展,为了适应高校新的教学和管理模式,高校内部都组建了校园网,并开发了相应的管理系统,基于校园网的试卷分析是学生管理信息系统中的一个很重要的部分,它可以方便教师及时掌握学生的学习情况,为学校教务部门制定相应的教学计划提供一定的帮助,促进教学工作更好地开展。试卷分析系统中,为了防止非法用户录入或者修改试卷分析的内容以及学生的成绩,在身份认证的基础上,使用数字签名技术加强系统的安全性。

身份认证

目前基于公开密钥算法的签名方法已被推荐为数字签名的标准。公开密钥算法是一种不对称的加密方法,即加密密钥和解密密钥不相同,但存在――对应关系。加密方持有的密钥称为私钥,解密方持有的密钥称为公钥。文档创建者S使用私钥对要传输的文档进行加密,文档接收者R使用公钥对接收的文档进行解密,由于由公钥来推算私钥是一个NP问题,因此R也就无法冒充S在篡改接收到的文档后。再将其加密发送给第三方。在数字签名的过程中,一般由S来创建公/私密钥对,并由S向R公布其公钥,由于公/私密钥之间存在――对应关系,因此如果R确认两点:(1)使用S的公钥可以对某个文档D进行解密;(2)公钥确实是属于S的,那么R就完全有理由相信文档D的确是由S发送的,并且S也无法否认这个事实。对于R需要确认的第(1)点,只需执行解密过程便可得到结果;对于第(2)点,或者是S在创建完自己的公/私密钥对后,亲自将公钥交到R手中,或者是由一个第三方仲裁机构。它负责登记S的信息并保管、其公钥,R则应是充分信任这第三方权威机构,并从它那获得S的公钥,公钥的真实隶属关系完全由这第三方来保证。在校园网系统中,办公的主体很可能不是处于同一个地域,而且在自动化的环境下还需手工的交换密钥是一件很不合时宜的事情,因此由S亲自将密钥送到R手中的方法不可行;提供第三方的担保需要切实保证第三方的权威性,如数字证书方法;在办公自动化环境中,也可以使用密钥生产管理子系统的概念,以此作为公钥交换的第三方。密钥生产管理子系统负责为每一个合法的办公主体创建公/私密钥对,负责向S提供其私钥,向R提供S的公钥。密钥生产管理子系统提供了密钥集中式管理的方法,使得密钥的创建与用户无关,避免了用户制造虚假密钥的风险,也使得密钥的管理更加方便、安全。

数字签名是证明当事者的身份与数据真实性的一种手段。在传统的以书面文件为基础的公文处理中采用书面签名形式,而在以计算机文件为基础的信息处理中,则采用电子形式的签名,即数字签名。这个过程需要考虑两个问题:(1)签名S所在的文档是否被篡改;(2)文档接收者如何辨别签名的真实性?即签名S是属于办公主体A的而不是另一个办公主体B所伪造的。第三者可以确认收发双方之间的消息传送,但不能伪造这一过程。

试卷分析系统及加密算法

试卷分析系统是基于校园网运行的管理信息系统,主要用户有学生、教师、教务员和网络维护人员,管理的对象为课程、教师、学生、学生成绩以及密钥等,实现的功能需要较高的安全保密性。成绩和试卷分析内容的录入,由教师登录到试卷分析管理系统直接录入,然后加上数字签名,有效地防止了非法用户录入或者修改试卷分析的内容。

数据录入与修改:学生成绩、题型以及分析结论等的录入。

统计:统计学生总人数以及各分数段人数、计算平均分、列出最高分与最低分。

浏览、查询与打印:学生成绩以及试卷分析表的浏览、查询与打印。

用户管理:对学校的学生、教师和教务管理员权限设置,签名密钥管理等。

采用RSA加密算法是实现数字签名的主流方法。RSA是Rivest,Shamir和Adleman于1978年在美国麻省理工学院研制出来的,它是一种比较典型的公开密钥加密算法,也是迄今为止理论上最为成熟和完善的一种公钥密码体制。该算法利用了数论领域的一个事实,那就是虽然把两个大质数相乘生成一个合数是件十分容易的事情,但要把一个合数分解为两个质数却十分困难。合数分解问题目前仍然是数学领域尚未解决的一大难题,至今没有任何高效的分解方法。RSA算法的体制构造是基于数论的欧拉定理,它的安全性依赖于大数因子分解的困难性。

数字签名算法应用

密钥配制:假设m是需要加密的信息。用户首先选择一对不同的大素数p与q,使得n=p・q;选择一个正整数e,使得e与(p-l)(q-l)互素。利用辗转相除法,计算d,使得:(e・d)mod(p-l)(q-l)=l;这样得到了(e,n),是用于加密的公共密钥,可以公开出去;(d,n)是用于解密的专用钥匙,必须保密。其中mod是整数求余运算。

加密过程:使用(e,n)对明文m进行加密,算法为:c=me mod n;这里的c即是m加密后的密文。

解密过程:使用(d,n)对密文c进行解密,算法为:m=cd mod n;求得的m即为对应于密文c的明文。RSA算法建立在正整数求余运算基础上,同时还保持了指数运算的性质。在RSA算法中,n的长度是控制该算法可靠性的重要因素。目前大多数加密程序均采用1024位以上,因此RSA加密是相当安全的。RSA算法具有明显的优越性,因为它无须收发双方同时参与加密过程,非常适合于电子函件系统的加密。尽管RSA算法既可用于加密、也可以用于数字签名,但其加密、解密运算复杂,速度慢,所以它适用于少量数据的加密。

在试卷分析系统中进行数字签名的具体步骤如下:

教师A通过校园网向教务部门B提出录入或修改试卷请求;

B收到申请后,要求申请者A进行身份认证;

A输入用户名和密码,发送至服务器B:

B通过A发来的信息认证A的身份,如果通过,则继续下一步,否则发送“身份认证没有通过”的信息至用户A;

B提供服务;

A下载试卷分析子系统,并录入/修改学生成绩和试卷分析内容以及其它有关的信息,包括班级名称、课程名称、考试日期等,称为明文;

A用自己的私钥对自己的用户名、所授课的班级名称和课程名称、系统日期和时间进行签名得签名文S;

A将明文和S发送给B,B收到签名后将明文和S分开;

先判断签名是否有效,比较该用户名是否存在?延迟是否太多?如果该用户名不存在或者延迟太多,则该签名无效,否则继续以下步骤;

B用A的公钥对S进行解密;

B将解密所得信息与原有信息比较,如果相等则签名有效,否则为无效;

若服务器B判断签名有效,则立即将试卷分析内容写入数据库并保存签名,否则发送“签名无效”信息至用户。

系统通过对用户名、课程名称、系统日期和时间进行签名,保证每次签名的信息都是唯一的。另外接收方可通过比较系统的日期和时间来辅助判断该签名是否有效,如果延迟太多,则判为无效。在验证签名时,先根据明文判断签名的有效性。这使得在没有对签名进行解密前,就可以排除一些非法签名,大大提高了系统的运行效率。

RSA算法的安全性取决于大数因子分解的困难性。公钥密码非常可靠,具有很强的抗攻击性,而且它的处理速度较快,故此具有广泛的应用前景。将之应用于基于校园网的试卷分析信息系统中,密钥可由教务部门的系统管理员来产生与分配。在系统保证安全的基础上充分提高了效率。每位教职工可向本系统申请一个密钥对(P,Q),保密密钥P由用户自己保管,公开密钥Q由系统管理员保管,不向外界透露,以增加系统的安全性。

上一篇:西风 第3期 下一篇:政府网站:从管理到服务