试卷安全分发系统

news2024/11/16 10:48:15

摘要

高校教务管理过程中,试卷以明文形式传输和集中存储,存在数据泄漏安全隐患。现提出了一个基于数字证书的试卷防泄漏方案,采用算法加密试卷,试卷在传输过程中中以密文的形式传输,每次传输的时候都会对试卷进行签名以及加密,在此之前,对文件进行MD5处理,保证文件内容的一致性。对试卷的上传、递交、下载进行了详细设计。

关键词:试卷;防泄漏;非对称加密算法;MD5算法;教务管理;

Abstract

In the process of educational administration management in colleges and universities, test papers are transmitted and stored in clear text, which leads to potential data leakage. This paper proposes a leakage prevention scheme for test papers based on digital certificates. The algorithm is used to encrypt the test papers. During the transmission, the test papers are transmitted in the form of ciphertext. Each time the test papers are transmitted, they will be signed and encrypted. Before this, MD5 processing is performed on the files to ensure the consistency of the file contents. The upload, submission and download of the test paper are designed in detail.

一、开发背景

高校教务管理过程中,试卷在印刷之前,都是以电子文档的形式进行传输和集中存储。目前常见的试卷传输和存储的方式主要有两类;

(1)利用电子邮件或者QQ文件的形式进行传输,教务管理人员在硬盘中以Word文档的形式存储每一份试卷;

(2)利用教务管理系统传递试卷,系统提供文件上传和下载功能,试卷在数据库中以记录的形式存储。

目前试卷的管理只是实现了基本的无纸化办公目标,但对于试卷在传输、集中存储过程中可能发生的信息安全问题,很少引起关注。由于试卷在传输的时候是明文形式,有可能受到黑客的窃听攻击或者针对试卷存储邮箱的窃取攻击;由于试卷在教务管理部门(校、院、系各级)以Word文档的形式在硬盘中集中存储,容易成为少数不爱学习、又具有一定黑客知识的学生的攻击目标;教务管理系统的数据库也有可能成为黑客的攻击目标,若受到“拖库”攻击(指网站遭到入侵后,数据库被黑客复制),以明文存储的试卷将会全部被泄露。

二、系统环境

每个人本地拥有属于自己的私钥,以及公开的公钥。

网络中有可以使用的公钥服务器。

三、系统流程

  1. 老师出完卷后首先对试卷取一个MD5,然后将这个MD5公布给每一个审批人,审批人进行本地保存。
  2. 等步骤一结束完后,对试卷进行加密,加密流程是从公钥服务器上下载下一个审批人的公钥,并使用下一个审批人的公钥进行加密,加密的内容包含试卷本身的内容和当前人的签名,签名则是使用自己本地的私钥进行签名。
  3. 审批人收到完后,首先使用自己本地的私钥对试卷进行解密,解密的内容包含了试卷本身和上一个人的签名,签名是为了防止中间人攻击,所以还需要使用上一个人的的公钥进行验证这个签名,然后对解密出来的试卷取一次MD5值,跟本地的试卷的MD5值进行比较,防止试卷内容被修改。

由于试卷在传输和存储环节是加密的,即使传输过程中的试卷被截获,又因为不知道授权用户的数字证书中的私钥,也就无法对试卷访问密钥进行解密,不可能解密试卷,因此能够实现防泄漏的目标。

即使有中间人拦截了目标并且使用上级审批人的公钥进行了书卷加密,也会因为MD5值的不一致发现试卷内容被篡改。

出卷系统流程图

四、试卷下载和转交

经过层层审批后,此时加密的试卷已经存放在数据库内。此时还需要注意:

  1. 不得透露参加的课程考试命题及试做工作;
  2. 不得泄露试卷内容;
  3. 不得将试卷、试卷草稿及电子稿带到教室;
  4. 确保命题所用电脑的安全性和保密性;
  5. 对命题所用电脑加设密码,并保证密码不泄露;
  6. 禁止学生接触命题所用电脑;命题结束后及时删除电脑上的试卷电子稿;
  7. 命题结束后立即销毁与试卷有关的草稿纸、打印校对稿;
  8. 不得保留纸质副本,妥善保管电子稿,确保与命题工作无关人员不能接触到存有试题的介质;
  9. 及时认真清除命题用参考书内的命题标记;
  10. 试做试卷应及时交命题教师统一存档,不得保留副本。

通过以上措施,降低从物理方式通过本人泄露已加密试卷的可能。

试卷下载时,由于传输时使用的都是试卷的密文。因此无需担心明文的试卷被泄露的问题,即使有人拿到了试卷的加密文件,也无法使用审核人的私钥对试卷进行解密。即使有中间人伪造了试卷,也会因为MD5值的不同发现试卷已经被篡改。

再有极端一点的情况,即使教师发出的MD5、教师发出的试卷加密文件都被篡改,也会因为试卷的电子签名的不同发现试卷内容被篡改的情况。

通过以上整套系统的应用,可以有效防止教师试卷被篡改的情况,保证试卷的安全性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/108019.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CadQuery二维Sketch教程

2D草图是3D CAD的基础。本文介绍如何在CadQuery中使用不同的方法构建二维草图(Sketch)。 1、基于面的 API 构建2D草图的主要方法是基于构建面并使用布尔运算将它们组合起来。 import cadquery as cqresult (cq.Sketch().trapezoid(4,3,90).vertices…

【GO】 K8s 管理系统项目[API部分--StatefulSet]

K8s 管理系统项目[API部分–StatefulSet] 1. 接口实现 service/dataselector.go // statefulSetCell type statefulSetCell appsv1.StatefulSetfunc(s statefulSetCell) GetCreation() time.Time {return s.CreationTimestamp.Time }func(s statefulSetCell) GetName() stri…

河道水文标尺监测系统 OpenCv

河道水文标尺监测系统借助PythonOpenCv深度学习架构模型对江河湖泊进行全天候不间断实时检测,当PythonOpenCv深度学习架构模型监测到水位异常时,立即抓拍存档告警,同步告警截图和视频推送给相关人员。OpenCV的全称是Open Source Computer Vis…

JUC之ABA问题

什么是ABA问题? ABA问题是由CAS而导致的一个问题 CAS算法实现一个重要前提需要取出内存中某时刻的数据并在当下时刻比较并交换,那么在这个时间差内会导致数据的变化。 比如说一个线程一从内存位置V中取出A,这是另一个线程二也从内存中取出…

从注解入手理解springboot原理

一、理解注解 1、注解是什么? 注解可以理解为一个标记或者标签,范围可以是类、方法、属性。 2、自定义一个注解,进行理解spring的自动装配。 自定义自己的注解:JDK官方提供提供了一些基础元注解,就是标记注解的注解…

Android设计模式详解之状态模式

前言 状态模式中的行为是由状态来决定的,不同的状态下有不同的行为。 状态模式和策略模式的结构几乎完全一样,但他们的目的、本质却完全不一样。 状态模式的行为是平行的、不可替换的,而策略模式的行为是彼此独立、可互相替换的。 状态模式把…

满足耐压24V的USB3.0 USB3.1 Type-C防静电器件

什么是USB3.1 Type-C 现有的USB 2.0协议允许高达480Mbps的数据传输速率,并支持即插即用、热插拔安装和运行。与之相比,USB 3.0规范允许高达5Gbps的数据传输速率,并向后支持较低速的USB 2.0规范。 USB 3.0增加了4个接到连接器的新引脚&#…

湖北移动M411A_ZN-S905L3AB-UWE5621DS原机制作语音线刷包

湖北移动M411A_ZN-S905L3AB-UWE5621DS原机制作语音线刷包,打开原机屏蔽的WIFI,设置、首页、语音正常。 固件特点: 1、修改dns,三网通用; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、无开机广告&am…

非零基础自学Golang 第16章 正则表达式 16.1 正则表达式介绍 16.2 正则表达式语法

非零基础自学Golang 文章目录非零基础自学Golang第16章 正则表达式16.1 正则表达式介绍16.2 正则表达式语法16.2.1 普通字符16.2.2 字符转义16.2.3 元字符16.2.4 限定符16.2.5 定位符16.2.6 分组构造16.2.7 匹配模式第16章 正则表达式 正则表达式(Regular Expressi…

Docker高级:Redis集群实战!4主4从缩容到3主3从,怎么处理?

在上一篇,我们学会了redis集群的扩容。从3主3从扩容到4主4从。 那么,接着,活动过去了。流量没有那么大了。需要缩容了。从4主4从缩容到3主3从了。那么这个时候又该怎么处理呢? PS本系列:《Docker学习系列》教程已经发布的内容,凯哥会在文末加上。 缩容思考问题: 1:…

TypeScript 前端工程最佳实践

作者:王春雨 前言 随着前端工程化的快速发展, TypeScript 变得越来越受欢迎,它已经成为前端开发人员必备技能。 TypeScript 最初是由微软开发并开源的一种编程语言,自2012年10月发布首个公开版本以来,它已得到了人们…

Docker自定义镜像上传阿里云

目录 1. alpine 简介 2. 基于alpine构建jdk8镜像 2.1 Dockerfile 2.2 将构建目录上传到linux中 2.3 执行构建 3. 镜像瘦身 4. 上传阿里云镜像仓库 1. alpine 简介 Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了mus…

斯坦福联合Meta提出多模态模型RA-CM3,检索增强机制或成文本图像领域新制胜法宝

原文链接:https://www.techbeat.net/article-info?id4403 作者:seven_ 论文链接: https://arxiv.org/abs/2211.12561 相信目前很多AI大模型研究者都会遇到一个非常困难的问题,那就是很难控制的模型参数和容量,由于参与…

【Three.js入门】纹理及其常用属性、透明纹理、环境遮挡贴图与强度

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…

消息队列—RabbitMQ(万字详解)

消息队列—RabbitMQ 笔记整理自 【涛哥】最适合小白入门的RabbitMQ教程 1. 消息队列介绍 Ⅰ. 消息队列需求场景 在基于微服务开发的电商项目中,商品的查询和商品的修改是通过两个服务实现的,如果修改了商品的价格,如何保证商品查询服务查询出…

矢量网络分析仪如何测量史密斯图及滤波器的带宽?

矢量网络分析仪是一种很神奇的测量仪器,它的功能很强大也值得人们去探索。今天,安泰测试工程师就针对矢量网络分析仪中的史密斯图及滤波器的带宽测量进行简单的介绍,希望能够让更多的人对此有所了解,并产生兴趣。 首先仪器了解一下…

数字孪生可视化图表:了解堆叠的条形图

数据可视化已成为我们日常数据分析工作当中的重要组成部分,可视化大屏是数据可视化发展的产物。这又不得不说到一个概念:可视化组件。可视化组件是制作数字孪生可视化大屏必不可少的一部分,在一个完整的数字孪生可视化大屏中用到的图表可不少…

Android系统之路(初识MTK) ------Android11.0给辅助工具-手电筒添加低电Toast提醒

Android11.0给辅助工具-手电筒添加低电Toast提醒 今天因为在复测昨天的一个monkey压测并且还没测完,所以打算记录最近做系统开发的一些心得和经验,也记录一下自己的系统开发历程 修改前的效果图: 修改后的效果图: 后期补上… 修改前当电量小于等于15%时,按钮依旧可以打…

11条非常实用的Git 和 Git 命令,值得你收藏

基本命令 01. init git init 在当前目录中创建一个新的空仓库。 02. clone git clone https://github.com/facebook/react.git 将远程存储库复制到当前目录。 03. add git add 命令将工作目录中的新文件或更改的文件添加到 Git 暂存区。 git add <file1> <file2&…

【WAF绕过-4】漏洞利用之注入上传跨站等绕过

1、SQL注入 如需sqlmap注入测试&#xff0c; 防cc拦截&#xff1a;修改user-agent头代理&#xff08;付费代理池&#xff09; 修改user-agent头&#xff1a; &#xff08;1&#xff09;加参数&#xff1a;--random-agent &#xff08;2&#xff09;加参数&#xff1a;--user-a…