首页> 中国专利> 一种学生身份在线认证方法及系统

一种学生身份在线认证方法及系统

摘要

本发明公开了一种学生身份在线认证方法及系统,其中方法包括:服务器获取与每一学生主体对应的身份数据,并将身份数据进行存储,身份数据包括学生主体的姓名、年龄、性别、所报课程;服务器构造一基于有限域的GRS码,并根据GRS码生成公钥以及私钥;服务器利用私钥对身份数据进行数字签名,得到签名信息,并将身份数据对应的签名信息发送至对应的学生主体;客户端将验证消息发送至服务器,验证消息包括待验证学生主体提供的待验证身份数据以及待验证签名信息;服务器利用公钥对待验证签名信息进行验证,并查询待验证身份数据是否存在与其相同的身份数据,生成验证。

著录项

  • 公开/公告号CN112613008A

    专利类型发明专利

  • 公开/公告日2021-04-06

    原文格式PDF

  • 申请/专利权人 西安科锐盛创新科技有限公司;

    申请/专利号CN202011570341.4

  • 发明设计人 周丽洁;

    申请日2020-12-26

  • 分类号G06F21/31(20130101);G06F21/60(20130101);G06F21/64(20130101);G06Q50/20(20120101);G06K17/00(20060101);G06F17/16(20060101);

  • 代理机构61230 西安嘉思特知识产权代理事务所(普通合伙);

  • 代理人王海栋

  • 地址 710065 陕西省西安市高新区高新路86号领先时代广场(B座)第2幢1单元22层12202号房51号

  • 入库时间 2023-06-19 10:29:05

说明书

技术领域

本发明属于数据安全技术领域,具体涉及一种学生身份在线认证方法及系统。

背景技术

随着互联网技术的成熟,各种基于网络的应用服务得到迅速的发展。在线教育不受时间、空间和地点的限制,使获取知识的渠道变得多样化,同时也能够使老师和学生之间通过网络进行全方位的交流。在线教育系统能够有效管理每位学生的学习过程以及学习阶段,针对不同学生提出个性化学习建议。

然而,在线教育在验证学生信息以及存储学生信息上存在一定的缺陷,主要表现在验证困难以及存储安全性不够等问题。

因此,如何实现一种易于验证且安全的学生身份在线认证方法及系统是目前亟需解决的问题。

发明内容

为了解决现有技术中存在的上述问题,本发明提供了一种学生身份在线认证方法及系统。本发明要解决的技术问题通过以下技术方案实现:

第一方面,本发明实施例提供的一种学生身份在线认证方法,包括:

服务器获取与每一学生主体对应的身份数据,并将所述身份数据进行存储,所述身份数据包括所述学生主体的姓名、年龄、性别、所报课程;

所述服务器构造一基于有限域的GRS码,并根据所述GRS码生成公钥以及私钥;

所述服务器利用所述私钥对所述身份数据进行数字签名,得到签名信息,并将所述身份数据对应的所述签名信息发送至对应的学生主体;

客户端将验证消息发送至所述服务器,所述验证消息包括待验证学生主体提供的待验证身份数据以及待验证签名信息;

所述服务器利用所述公钥对所述待验证签名信息进行验证,并查询所述待验证身份数据是否存在与其相同的身份数据,生成验证结果。

可选的,所述身份数据存储于所述服务器的区块链网络中。

可选的,查询所述待验证身份数据是否存在与其相同的身份数据,包括:

查询所述待验证身份数据是否存在于所述区块链网络中。

可选的,所述构造一基于有限域的GRS码,包括:

构造一有限域,并根据所述有限域构造一个码长为n、维数为k且纠错能力为t的GRS码,其中,n、k和t均为任意正整数,且满足

可选的,所述根据所述GRS码生成公钥以及私钥,包括:

在所述有限域内选取(n-k)×(n-k)的非奇异矩阵、n×n的稠密矩阵以及n×n的稀疏矩阵,且所述稠密矩阵的秩为z,所述稀疏矩阵的平均行重和列重为x,其中,z为自然数,且z小于n,x小于n;

将所述稠密矩阵以及所述稀疏矩阵进行矩阵的加法运算,得到变换矩阵;

将所述非奇异矩阵的逆矩阵、校验矩阵以及所述变换矩阵的转置矩阵进行矩阵的乘法运算得到公钥;其中,所述校验矩阵为所述GRS码(n-k)×n的矩阵;

将所述非奇异矩阵、所述校验矩阵、所述变换矩阵与译码算法作为私钥。

可选的,所述利用所述私钥对所述身份数据进行签名,得到签名信息包括:

对所述身份数据做哈希运算,得到摘要值;

利用所述私钥对所述摘要值进行加密,得到签名信息。

可选的,所述对所述身份数据做哈希运算,得到摘要值,包括:

对所述身份数据进行初次哈希运算;

对初次哈希运算得到的结果再次进行哈希运算,得到摘要值。

可选的,所述利用所述私钥对所述摘要值进行加密,得到签名信息,包括:

将所述非奇异矩阵与所述摘要值进行乘法运算,得到待译校正子;

结合所述私钥的校验矩阵使用所述译码算法对所述待译校正子进行译码,得到第一错误向量;

将所述第一错误向量与所述私钥的变换矩阵的逆矩阵进行矩阵的乘法运算,得到第二错误向量,所述第二错误向量的权重小于等于所述GRS码的纠错能力;

将所述第二错误向量作为所述签名信息。

可选的,所述利用所述公钥对所述待验证签名信息进行验证,包括:

利用所述公钥对所述待验证签名信息解密,得到待验证摘要值;

对所述待验证身份数据进行哈希运算,得到验证摘要值;

将所述待验证摘要值与所述验证摘要值进行比较,若所述待验证摘要值与所述验证摘要值相等,则验证成功。

第二方面,本发明实施例还提供一种学生身份在线认证系统,包括:

获取模块,服务器获取与每一学生主体对应的身份数据,并将所述身份数据进行存储,所述身份数据包括所述学生主体的姓名、年龄、性别、所报课程;

密钥生成模块,所述服务器构造一基于有限域的GRS码,并根据所述GRS码生成公钥以及私钥;

加密模块,所述服务器利用所述私钥对所述身份数据进行数字签名,得到签名信息,并将所述身份数据对应的所述签名信息发送至对应的学生主体;

发送模块,客户端将验证消息发送至所述服务器,所述验证消息包括待验证学生主体提供的待验证身份数据以及待验证签名信息;

验证模块,所述服务器利用公钥对所述待验证签名信息进行验证,并查询所述待验证身份数据是否存在与其相同的身份数据,生成验证结果。

本发明实施例提供的一种学生身份在线认证方法及系统,基于有限域的GRS码生成公钥以及私钥,并利用私钥对每一学生主体的身份数据进行数字签名,得到签名信息,将身份数据以及对应的签名信息存储于服务器中;在学生进行身份验证时,将待验证的身份数据以及待验证签名信息发送至服务器,服务器利用公钥对待验证签名信息进行验证,并将待验证身份数据与现有存储的身份数据进行对比,生成验证结果。本发明实施例的方案,利用基于GRS码生成的密钥对学生主体的身份数据进行签名以及后续验证,将身份数据以及签名信息存储于区块链中,实现易于验证且安全存储;并且,签名信息具有较高的可行性,且产生公钥量小,能够提高数字签名效率,进一步提高认证效率,进而提高学生身份在线认证的安全性。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

以下将结合附图及实施例对本发明做进一步详细说明。

附图说明

图1是本发明实施例提供的一种学生身份在线认证方法的流程图;

图2是本发明实施例提供的方法的可行性仿真结果图;

图3是本发明实施例提供的方法在不同纠错能力下的可行性仿真结果图;

图4是本发明实施例提供的方法在ISD译码攻击下的仿真结果图;

图5是本发明实施例提供的方法在不同纠错能力下的公钥量仿真结果图;

图6是本发明实施例提供的一种学生身份在线认证系统的结构图。

具体实施方式

下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。

第一方面,本发明实施例提供了一种学生身份在线认证方法。下面,首先对该方法进行介绍。

参见图1,图1是本发明实施例提供的一种学生身份在线认证方法的流程图。本发明实施例提供的学生身份在线认证方法,可以包括以下步骤:

S1,服务器获取与每一学生主体对应的身份数据,并将身份数据进行存储,身份数据包括学生主体的姓名、年龄、性别、所报课程。

服务器获取每位参与在线教育的学生主体对应的身份数据,并将身份数据存储起来。

可以理解的是,身份数据不仅仅局限于上述概括的内容,还可以包括学生主体的缴费记录、选课、学籍等信息。

身份数据存储于服务器的区块链网络中。

由于区块链独特的优势在于数据不可篡改、时间戳认证、多个分布式共识节点共同维护可靠可信的数据库,因此本发明实施例根据这些优势将学生主体的身份数据存放在区块链中,保证了学生主体身份数据的公开、公正。学生主体的个人信息包含在区块链的数据库中,只有通过授权的数据才可以被查看,或是授权特定的人查看相应的数据。

S2,服务器构造一基于有限域的GRS码,并根据GRS码生成公钥以及私钥。

优选的,本发明实施例中S2可以包括S21~S22。

S21,构造一有限域,并根据有限域构造一个码长为n、维数为k且纠错能力为t的GRS码(广义Reed-Solomon码),其中,n、k和t均为任意正整数,且满足

其中,有限域可以选择包括q个元素的有限域F

需要说明的是,本发明实施例之所以选择基于有限域F

此外,本发明之所以选择GRS码而不是别的码(比如Goppa码),是因为GRS码是极大距离可分(MDS)码,码的性能好;且GRS码现有编译码器在各领域应用多,实用性好;此外,GRS码比Goppa码更灵活;以及GRS码具有可发展性更强的优势。

S22,根据GRS码生成公钥以及私钥。

本实施例中,基于有限域的GRS码生成公钥以及私钥,可以保证公钥以及私钥具有的安全性能更高且占空间更小。

可选的一种实施方式中,S22可以包括S221~S224。

S221,在有限域内选取(n-k)×(n-k)的非奇异矩阵、n×n的稠密矩阵以及n×n的稀疏矩阵,且稠密矩阵的秩为z,稀疏矩阵的平均行重和列重为x,其中,z为自然数,且z小于n,x小于n。

作为本发明的一种实施方式,可以采用稠密矩阵的秩z远小于n,且稀疏矩阵的平均行重和列重x远小于n。

具体的,稠密矩阵可以用矩阵的转置矩阵与矩阵的乘积表示,即

可选的,本实施例中,对参数m、n、k、t以及x的选取有以下几种选择可供参考,参见表1,有且不限于这几种,但考虑到方案的正确性、可行性与安全性,以及公钥量和签名长度,本发明的方案优选采用表1列出的三组参数值。

表1参数选取

S222,将稠密矩阵以及稀疏矩阵进行矩阵的加法运算,得到变换矩阵。

具体的,加法运算采用公式(1):

其中,

S223,将非奇异矩阵的逆矩阵、校验矩阵以及变换矩阵的转置矩阵进行矩阵的乘法运算得到公钥;其中,校验矩阵为GRS码的(n-k)×n矩阵。

具体的,乘法运算采用公式(2):

其中,

S224,将非奇异矩阵、校验矩阵、变换矩阵与译码算法作为私钥。

可以理解的是,公钥用于对外公开,私钥用于存储。公钥和私钥是一个算法中不同的两个参数集合,但内在又相关联的参数集合,公钥和私钥是同时生成,但可以独立使用的。

S3,服务器利用私钥对身份数据进行数字签名,得到签名信息,并将身份数据与对应的签名信息进行存储。

具体的,利用私钥对身份数据进行签名可以包括S31~S32。

S31,对身份数据做哈希运算,得到摘要值。

哈希运算能够把任意长度的输入向量通过散列算法变成固定长度的输出。需要注意的是,哈希运算是单向、不可逆的。

可选的一种实施方式中,S31可以包括S311~S312。

S311,对身份数据进行初次哈希运算。

本实施例中,对身份数据进行初次哈希运算得到h(M)。

S32,对初次哈希运算得到的结果再次进行哈希运算,得到摘要值。

本实施例中,对初次哈希运算得到的结果h(M)再次进行哈希运算,得到摘要值S

在其他实施例中,也可以使用一次或多次哈希运算得到摘要值,满足固定长度的输出即可。

S32,利用私钥对摘要值进行加密,得到签名信息。

可选的一种实施方式中,S32可以包括S321~S324。

S321,将非奇异矩阵与摘要值进行乘法运算,得到待译校正子。

具体的,乘法运算采用公式(3):

其中,S'

S322,结合私钥的校验矩阵使用译码算法对待译校正子进行译码,得到第一错误向量。

译码算法可以选用现有的任一译码算法,本实施例中,译码算法优选为时域上的迭代译码算法,即:BM迭代译码算法(Berlekamp-Massey)、钱式搜索算法(Chien)以及Forney算法的组合。该译码算法速度快,实现简单,易于用计算机实现,因此是一种快速译码算法。

可选的,译码算法可以包括以下几个步骤:

步骤一:计算校正子;

步骤二:确定错误位置多项式;

步骤三:确定错误估值函数;

步骤四:求解错误位置数和错误数值,并进行纠错。

完成上述四步即可完成一次译码,若译码成功,则直接译出错误向量;否则,将视为译码失败。

结合本发明实施例的方案,若译码失败,则使i'=i+1,从S311重新开始,直到译码成功。

S323,将第一错误向量与私钥的变换矩阵的逆矩阵进行矩阵的乘法运算,得到第二错误向量,第二错误向量的权重小于等于GRS码的纠错能力t。

具体的,参见公式(4):

其中,

S324,将第二错误向量作为签名信息。

至此,已经得到基于错误向量纠错码的签名信息,但该错误向量中由于存在多个0元素,占用较多的比特位。为减小比特位数,本发明提供的方案在上述实施例的基础上,可以进一步优化。

优选的,在得到第二错误向量之后,还包括以下步骤:

对第二错误向量构建索引对,得到第二错误向量的索引对。

具体的,第二错误向量的索引对可以根据公式(5)得到。

其中,I

即提取第二错误向量中的非零元素标记为错误值,用错误位置α以及错误位置c构建第二错误向量的索引对I

相应的,将索引对作为签名信息。

需要说明的是,签名通常对应的还有验签的过程,作为只生成签名信息的步骤,将得到的索引对I

在优选的方案里,通过进一步对生成的第二错误向量建立索引对,并将索引作为签名信息,可以减少比特位数,从而减小签名长度。

在服务器生成学生主体的身份数据对应的签名信息时,将签名信息发送至学生主体保存,作为之后认证身份的凭证。

S4,客户端将验证消息发送至服务器,验证消息包括待验证学生主体提供的待验证身份数据以及待验证签名信息。

当需要进行身份认证时,学生主体通过客户端将用于验证的身份数据以及签名信息发送至服务器,即验证消息。

S5,服务器利用公钥对待验证签名信息进行验证,并查询待验证身份数据是否存在与其相同的身份数据,生成验证结果。

具体的,利用公钥对待验证签名信息进行验证,可以包括S51~S53。

S51,利用公钥对待验证签名信息解密,得到待验证摘要值。

对应于上述数字签名中将得到的第二错误向量作为签名信息的方案,本步骤是利用公钥直接对第二错误向量进行解密,得到待验证摘要值。

对应于上述数字签名中将得到的索引对作为签名信息的方案,本步骤需要先根据索引对恢复出第二错误向量,然后再利用公钥对第二错误向量进行解密,得到待验证摘要值。

具体的,需要根据索引对恢复出第二错误向量,即在索引对I

利用公钥对第二错误向量进行解密,即根据公式(6)得到待验证摘要值:

其中,y表示待验证摘要值。

计算公钥

S52,对待验证身份数据进行哈希运算,得到验证摘要值。

同样的,需要对待验证身份数据进行两次哈希运算,具体步骤与S31相同,在此不再赘述。通过两次哈希运算,得到验证摘要值y'=h(h(M)|i)。

S53,将待验证摘要值与验证摘要值进行比较,若待验证摘要值与验证摘要值相等,则验证成功。

本发明实施例中,比较待验证摘要值y与验证摘要值y',若y=y',即待验证摘要值与验证摘要值相等,学生身份验证成功;否则,学生身份验证失败。

验证成功后还要查询待验证身份数据是否存在于区块链网络中,以便于与服务器区块链网络中存储的身份数据相对应。

本发明实施例提供的一种学生身份在线认证方法,基于有限域的GRS码生成公钥以及私钥,并利用私钥对每一学生主体的身份数据进行数字签名,得到签名信息,将身份数据以及对应的签名信息存储于服务器中;在学生进行身份验证时,将待验证的身份数据以及待验证签名信息发送至服务器,服务器利用公钥对待验证签名信息进行验证,并将待验证身份数据与现有存储的身份数据进行对比,生成验证结果。本发明实施例的方案,利用基于GRS码生成的密钥对学生主体的身份数据进行签名以及后续验证,将身份数据以及签名信息存储于区块链中,实现易于验证且安全存储;并且,签名信息具有较高的可行性,且产生公钥量小,能够提高数字签名效率,进一步提高认证效率,进而提高学生身份在线认证的安全性。

本发明实施例提供的一种学生身份在线认证方法,其核心思想是利用数字签名方法对身份数据进行签名加密,并利用相应的数字签名验证方法对待验证签名信息进行验证,从而使学生主体身份得到验证。因此以下,分别从签名信息的正确性、可行性、安全性、公钥量以及签名长度这五个方面对本发明实施例提供的方案进行验证。

(1)正确性:

正确性的验证也是对签名信息是否验签成功的验证,需要证明利用公钥对第二错误向量进行解密得到的待验证摘要值与加密过程中得到的摘要值相等,即可证明正确性。具体过程如下:

利用公钥对第二错误向量进行解密得到待验证摘要值,其中,公钥是基于非奇异矩阵的逆矩阵、校验矩阵以及变化矩阵的转置矩阵进行矩阵的乘法运算得到的,即上述公式(2);第二错误向量是基于第一错误向量与私钥的变化矩阵的逆矩阵进行矩阵的乘法运算得到的,即上述公式(4);待验证摘要值是基于公钥中的每一列根据α

因此,将公式(2)以及公式(4)代入公式(6)可以得到,

对上述公式(7)进行简化公式,可以得到:

又由于

其中,y表示待验证摘要值,

待译校正子是基于非奇异矩阵与摘要值进行乘法运算得到的,即上述公式(3)。

因此,根据公式(3),得到y=S

(2)可行性:

设基于有限域F

基于有限域F

参见图2,图2是本发明实施例提供的方法的可行性仿真结果图。图中表示了纠错能力t与平均查找次数的对数log

图2中的横线表示千万数量级的运算,图中数据x表示m,y表示log

当纠错能力t的值大于10后,平均查找次数将会过大,因此,纠错能力t选取小于等于10更为合适。

参考图3,图3是本发明实施例提供的方法在不同纠错能力下的可行性仿真结果图。图3表示的是纠错能力t取9和10时,m与平均查找次数的对数的关系。图中数据x表示m,y表示log

另外,根据图3可以得到表2的两组数据:

表2(a)

表2(b)

已知CFS签名使用的参数对(m,t)为(15,10)以及(16,9)。当参数对为(15,10)时,CFS签名的平均查找次数的对数值为27.7911,基于有限域F

相比较来说,在两种参数对下,CFS签名与基于有限域F

(3)安全性:

参考图4,图4是本发明实施例提供的方法在ISD译码攻击下的仿真结果图。图4表示的是在在ISD译码攻击的情况下,m与安全级别SL的关系。

ISD译码攻击下的安全级别系数与m和t的乘积呈指数关系,基于上述条件,t选取小于等于10。即当t确定下,m越大,安全级别系数越高。

图中数据x表示m,y表示SL。从图4可以看出,基于有限域F

在ISD译码攻击下,当参数对为(15,10)时,CFS签名的安全级别系数SL为76.89,基于有限域F

相比较来看,本发明实施例提供的基于有限域F

另外,本发明实施例提供的基于有限域F

(4)公钥量:

本发明实施例中,对GRS码的校验矩阵进行高斯消元化,得到行阶梯型矩阵,即公钥

参考图5,图5是本发明实施例提供的方法在不同纠错能力下的公钥量仿真结果图。图5表示的是纠错能力t取9和10时,m与公钥量的关系。图中数据x表示m,y表示k·(n-k)·log

(5)签名长度:

本发明实施例提供的基于有限域F

表3为基于有限域F

表3不同参数对下基于有限域Fq的GRS码签名与CFS签名的参数对比

从表3可以看出,在不同的参数对下,本发明实施例提供的基于有限域F

因此,选取几组不同的参数对对基于有限域F

表4不同参数对下基于有限域F

本发明实施例提供的基于有限域Fq的GRS码签名,在提升安全级别系数的前提下,能够降低参数对的选择,减少公钥量以及签名长度。

通过以上验证说明本发明的签名信息方案具有正确性、可行性、安全性,以及公钥量降低、签名长度减小等效果。

第二方面,本发明实施例还提供一种学生身份在线认证系统,参考图6,图6是本发明实施例提供的一种学生身份在线认证系统的结构图,包括:

获取模块610,服务器获取与每一学生主体对应的身份数据,并将身份数据进行存储,身份数据包括学生主体的姓名、年龄、性别、所报课程;

密钥生成模块620,服务器构造一基于有限域的GRS码,并根据GRS码生成公钥以及私钥;

加密模块630,服务器利用私钥对身份数据进行数字签名,得到签名信息,并将身份数据对应的签名信息发送至对应的学生主体;

发送模块640,客户端将验证消息发送至服务器,验证消息包括待验证学生主体提供的待验证身份数据以及待验证签名信息;

验证模块650,服务器利用公钥对待验证签名信息进行验证,并查询待验证身份数据是否存在与其相同的身份数据,生成验证结果。

相关具体内容参见第一方面的一种学生身份在线认证方法的内容,在此不再赘述。

本发明实施例提供的一种学生身份在线认证系统,基于有限域的GRS码生成公钥以及私钥,并利用私钥对每一学生主体的身份数据进行数字签名,得到签名信息,将身份数据以及对应的签名信息存储于服务器中;在学生进行身份验证时,将待验证的身份数据以及待验证签名信息发送至服务器,服务器利用公钥对待验证签名信息进行验证,并将待验证身份数据与现有存储的身份数据进行对比,生成验证结果。本发明实施例的方案,利用基于GRS码生成的密钥对学生主体的身份数据进行签名以及后续验证,将身份数据以及签名信息存储于区块链中,实现易于验证且安全存储;并且,签名信息具有较高的可行性,且产生公钥量小,能够提高数字签名效率,进一步提高认证效率,进而提高学生身份在线认证的安全性。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号