基于在线离线签名的抗量子计算节能通信方法和系统、以及计算机设备与流程

文档序号:18629932发布日期:2019-09-06 23:29阅读:323来源:国知局
基于在线离线签名的抗量子计算节能通信方法和系统、以及计算机设备与流程

本申请属于智能应用终端技术领域,具体涉及一种基于在线离线签名的抗量子计算节能通信方法和系统、以及计算机设备。



背景技术:

随着信息化技术和社会经济的不断发展,人们的生活水平得到了不断的提高,生活节奏也逐渐加快,人们在日常生活中逐渐出现了各种需要近距离身份认证的场景,如门禁刷卡、交通刷卡、上班考勤等。随着智能化设备的逐渐增加,人们对智能化的操作以及数据传输的安全提出了更高的要求。一般使用非对称密钥加密来保证数据的安全性,非对称密钥加密需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公钥,另一个由用户自己秘密保存,即私钥。信息发送者用公钥去加密,而信息接收者用私钥去解密;或者信息发送者用私钥去加密,而信息接收者用公钥去解密。一般身份认证方法中需要使用数字签名技术,由于应用客户端常为低性能设备,计算能力和存储空间是有限的,而且电池的容量也不能使设备持续使用,因此不能进行复杂的运算,必须选择合适的数字签名算法。

在线离线签名方案是一种不错的选择。在线离线签名把签名过程分为两个阶段,第一阶段为离线阶段,第二阶段为在线阶段。把复杂的、大量的运算放在离线阶段也即设备空闲时进行,在线阶段只需少量的计算即可,提高了系统签名的反应速度。在所签名的消息到达之前,我们把这个签名阶段的计算称为离线签名计算,在消息到来后的签名计算称为在线签名计算。

正如大多数人所了解的,量子计算机在密码破解上有着巨大潜力。当今主流的非对称(公钥)加密算法,如rsa加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。他们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为rsa、离散对数加密算法的破解提供可能。

现有技术存在的问题:

(1)现有技术中,应用服务器没有可靠的防护措施。应用服务器是应用系统的中心网元,而且有internet上网能力,很有可能被感染病毒木马,从而被窃取信息;或者被攻击导致瘫痪,从而导致整个应用系统方案的瘫痪。

(2)现有技术中,应用客户端密钥存储于应用客户端存储器中,暴露于应用客户端的病毒木马的威胁之下,可以被恶意软件或恶意操作窃取。

(3)由于量子计算机能快速通过公钥得到对应的私钥,因此现有的建立在公私钥基础之上的应用系统通信方法容易被量子计算机破解。

(4)如果对低功耗的应用客户端进行公钥、私钥算法计算,则低功耗的应用客户端难以承受其计算量,不仅计算缓慢,而且如果其为电池供电则容易导致电量迅速消耗完毕。

(5)如果密钥卡内存储对称密钥池,则作为通信中心的应用服务器需要存储多个大容量对称密钥池,将极大消耗应用服务器的存储空间。



技术实现要素:

基于此,有必要针对上述问题,提供一种基于在线离线签名的抗量子计算节能通信方法和系统、以及计算机设备。

本申请提供基于在线离线签名的抗量子计算节能通信方法,实施在第一终端,所述抗量子计算节能通信方法包括:

生成第一终端随机数,向第二终端发送所述第一终端随机数,所述第一终端随机数用于第二终端生成会话编码并提供给应用服务器;

获取来自第二终端的会话编码、票据和应用服务器随机数,根据所述应用服务器随机数会话编码中的第一终端随机数对密钥卡内的密钥表查表获得密钥km,利用密钥km解密所述票据得到会话密钥,利用会话密钥进行消息认证;所述票据由第二终端对第一签名验证后解析消息msc得到;所述第一签名由应用服务器生成,所述票据为包含会话密钥的密文,所述票据由应用服务器根据所述会话编码得到,所述消息msc由应用服务器根据票据生成;

消息认证通过后,利用第一终端随机数生成第二签名和第三签名发送至第二终端,其中所述第三签名供第二终端验证通过后生成第四签名,所述第二签名和所述第四签名用于供应用服务器进行验证以完成第一终端和第二终端之间的密钥协商。

本申请提供基于在线离线签名的抗量子计算节能通信方法,实施在第二终端,所述抗量子计算节能通信方法包括:

获取来自第一终端的第一终端随机数;

利用所述第一终端随机数生成会话编码并提供给应用服务器;

获取来自应用服务器的消息msc和第一签名,对第一签名进行验证,并在验证通过后解析消息msc得到票据;所述第一签名由应用服务器生成,所述票据由应用服务器根据所述会话编码得到,所述票据为包含会话密钥的密文,所述消息msc由应用服务器根据票据生成;

向第一终端发送会话编码、票据和应用服务器随机数,所述会话编码供第一终端得到第一终端随机数,所述第一终端随机数和应用服务器随机数供第一终端对密钥卡内的密钥表查表获得密钥km,所述密钥km供第一终端解密所述票据得到会话密钥,所述会话密钥供第一终端进行消息认证;

获取来自第一终端的第二签名和第三签名,对第三签名验证通过后生成第四签名;所述第二签名和第三签名由第一终端根据第一终端随机数生成;

向应用服务器发送第二签名和所述第四签名,所述第二签名和所述第四签名供应用服务器进行验证以完成第一终端和第二终端之间的密钥协商。

本申请提供基于在线离线签名的抗量子计算节能通信方法,实施在应用服务器,所述抗量子计算节能通信方法包括:

获取来自第二终端的会话编码,所述会话编码由第二终端根据第一终端随机数生成,所述第一终端随机数由第一终端生成;

根据所述会话编码生成票据,并由票据得到消息msc,同时生成第一签名,将所述第一签名和所述消息msc发送至第二终端;所述票据为包含会话密钥的密文,所述第一签名供第二终端验证,所述消息msc用于供第二终端验证第一签名后解析并得到票据,所述会话编码供第一终端得到第一终端随机数,所述第一终端随机数供第一终端对密钥卡内的密钥表查表获得密钥km,所述密钥km供第一终端解密所述票据得到会话密钥,所述会话密钥供第一终端进行消息认证;

获取来自第二终端的第二签名和所述第四签名,以完成第一终端和第二终端之间的密钥协商;所述第二签名由第一终端根据第一终端随机数生成,所述第四签名由第二终端对第三签名验证通过后生成,所述第三签名由第一终端根据第一终端随机数生成。

本申请提供基于在线离线签名的抗量子计算节能通信方法,所述抗量子计算节能通信方法包括:

第一终端生成第一终端随机数,向第二终端发送所述第一终端随机数;

所述第二终端获取并利用所述第一终端随机数生成会话编码并提供给应用服务器;

所述应用服务器获取并根据所述会话编码生成票据,并由票据得到消息msc,同时生成第一签名和应用服务器随机数,将所述第一签名、应用服务器随机数和所述消息msc发送至第二终端,所述票据为包含会话密钥的密文;

所述第二终端获取来自应用服务器的消息msc、应用服务器随机数和第一签名,对第一签名进行验证,并在验证通过后解析消息msc得到票据,向第一终端发送会话编码、应用服务器随机数和票据;

所述第一终端获取来自第二终端的会话编码、应用服务器随机数和票据,根据所述应用服务器随机数和会话编码中的第一终端随机数对密钥卡内的密钥表查表获得密钥km,利用密钥km解密所述票据得到会话密钥,利用会话密钥进行消息认证,消息认证通过后,利用第一终端随机数生成第二签名和第三签名发送至第二终端;

所述第二终端获取来自第一终端的第二签名和第三签名,对第三签名验证通过后生成第四签名,向应用服务器发送第二签名和所述第四签名;

所述应用服务器根据来自第二终端的第二签名和所述第四签名,完成第一终端和第二终端之间的密钥协商。

进一步的,所述应用服务器配置有应用服务器密钥卡,所述应用服务器密钥卡内存储有公钥池和私钥池;所述第二终端配置有第二终端密钥卡,所述第二终端密钥卡内存储有公钥池和私钥池;所述第一终端配置有第一终端密钥卡,所述第一终端密钥卡内存储有临时公钥池、临时私钥池、公钥池、私钥池和对称密钥池,所述对称密钥池中存储有密钥表。

进一步的,所述第一终端根据应用服务器随机数和会话编码中的第一终端随机数对密钥卡内的密钥表查表获得密钥km,包括:

根据会话编码得到第一终端随机数,同时提取应用服务器随机数;

将所述第一终端随机数与所述应用服务器随机数分别与指针函数结合获得第一终端私钥指针及应用服务器私钥指针,所述第一终端私钥指针及所述应用服务器私钥指针对应所述密钥表的行和列,进而获得密钥km。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述的基于在线离线签名的抗量子计算节能通信方法的步骤。

本申请还提供基于在线离线签名的抗量子计算节能通信系统,所述抗量子计算节能通信系统包括第一终端、第二终端、应用服务器和通信网络;所述应用服务器配置有应用服务器密钥卡,所述应用服务器密钥卡内存储有公钥池和私钥池;所述第二终端配置有第二终端密钥卡,所述第二终端密钥卡内存储有公钥池和私钥池;所述第一终端配置有第一终端密钥卡,所述第一终端密钥卡内存储有临时公钥池、临时私钥池、公钥池、私钥池和对称密钥池,所述对称密钥池中存储有密钥表;

所述第一终端、第二终端和应用服务器通过所述通信网络实现所述的基于在线离线签名的抗量子计算节能通信方法。

本申请中,低功耗的第一终端不使用公钥、私钥进行公私钥算法计算,仅需查表即可获得与应用服务器加密通信的共享密钥,另外其签名过程采用临时密钥池辅助的在线离线签名方法,仅需查找和少量计算即可得到签名。因此本申请计算量小,速度快,并能为其节能,延长第一终端的电池使用时间。作为通信中心的应用服务器无需存储多个大容量对称密钥池,仅需存储多组公钥池,极大节省应用服务器的存储空间。应用服务器新增第n个第二终端时,根据对称密钥池方法,原先需要新增存储与第n个第二终端相同的密钥量,即m*n;现在仅需新增存储第n个第二终端对应的公钥池的密钥量,即n,新增密钥量大大降低。因此极大节省应用服务器的存储空间。

附图说明

图1为本申请实施例提供的应用系统组网图;

图2为应用服务器密钥卡密钥区的结构示意图;

图3为应用服务器密钥卡密钥区中公钥池的结构示意图;

图4为应用ic卡密钥卡内密钥区的结构示意图;

图5为应用客户端密钥卡密钥区中对称密钥池的结构示意图;

图6为本申请实施例提供的获取应用服务器公私钥的流程图;

图7为本申请实施例提供的获取应用终端公钥的流程图;

图8为密钥协商过程的通信时序图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在应用系统近距离节能通信方案中,应用系统可以是各类需要近距离身份认证的系统,包括应用服务器和若干应用客户端,包括应用终端、应用ic卡,其中应用ic卡为低性能设备。应用服务器运行业务服务程序,应用客户端运行业务客户端程序。本申请的应用系统可以但不限于是:门禁系统;交通刷卡系统;考勤系统等等。前述三种应用系统的情况下,其应用服务器分别为:门禁系统服务器、交通刷卡系统服务器、考勤系统服务器;其应用终端分别为:门禁刷卡机、交通刷卡机、考勤刷卡机;其应用ic卡分别为:门禁卡、交通卡、考勤卡。应用ic卡的物理形式可以是智能卡形式密钥卡或者手机sdkey形式密钥卡。

应用系统结构如图1所示,应用服务器(下文用字母“s”表示应用服务器)用于颁发密钥卡(给应用终端)和应用ic卡,还用于颁发会话密钥。应用服务器和应用终端使用有线网络或无线网络连接。应用ic卡和应用终端使用近距离通信方式(例如ble/nfc/红外)连接。

本文假设应用服务器id(应用服务器编码)为sid,使用s密钥卡。应用服务器s密钥卡密钥区具体结构如图2所示,包括公钥池和私钥池。公钥池具体结构如图3所示,包括服务器公钥池和n个客户端的n个客户端公钥池。服务器公钥池起始位置为kp0,大小为ks0。服务器私钥池的大小也为ks0。n个客户端公钥池的起始位置分别为kp1,kp2,……,kpn,n个客户端私钥池的大小分别为ks1,ks2,……,ksn。密钥池的大小从1g~4096g不等。设服务器密钥编号分别为1~m,服务器私钥池为{s1,s2,……,sm},服务器公钥池为{s1,s2,……,sm}。根据diffie-hellman协议,定义一个大素数p和一个生成元为g的乘法群g,g为模p的原根,g和p均为diffie-hellman协议的参数。服务器根据匹配的密钥卡产生真随机大整数si(i∈{1,2,……,m})作为自己的私钥,通过计算得到公钥si=gsimodp(i∈{1,2,……,m})。

服务器随机选择a、b、z三个整数(z=p)以及使用生成元为g的乘法群g用于作为本发明中使用的在线离线签名的算法参数(本文所用在线离线签名方法来源于参考资料《ontheflyauthenticationandsignatureschemesbasedongroupsofunknownorder》)。服务器还将根据在线离线算法选择一个输出范围在[0,b-1]内的哈希函数h。所述在线离线算法参数{a,b,z,g,g,h}会存储在各类密钥卡或ic卡内。

应用客户端包括应用终端(下文用字母“c”表示应用服务器)和应用ic卡(下文用字母“m”表示应用服务器),应用终端c为高性能设备,应用ic卡m为低性能设备。本文假设应用终端id(应用终端编码)为cid,使用c密钥卡,应用ic卡id(应用ic卡编码)为mid,使用m密钥卡。c密钥卡结构与s密钥卡结构一致。m密钥卡密钥区具体结构如图4所示,包括应用ic卡的临时公钥池/临时私钥池、应用ic卡的公钥池/私钥池和对称密钥池。设应用ic卡临时私钥编号为1~tn,临时私钥池为{m1,m2,……,(m)tn},临时公钥池为{m1,m2,……,mtn}。应用ic卡的临时私钥(m)o(o∈{1,2,……,tn})均为在范围[0,a-1]内的随机大整数,通过计算得到公钥mo=g(m)omodp(o∈{1,2,……,tn})。其中,对称密钥池的具体结构如图5所示。设某ic卡客户端密钥编号分别为1~n,ic卡客户端私钥池为{c1,c2,……,cn},ic卡客户端公钥池为{c1,c2,……,cn},其中,cj=gcjmodp,j∈{1,2,……,n}。密钥卡颁发者即应用服务器为应用ic卡计算出所有的kij,计算方式为kij=(si)cjmodp,将密钥区(即图5中灰色区域)复制入密钥卡内形成密钥表。

在一实施例中,基于在线离线签名的抗量子计算节能通信方法,所述抗量子计算节能通信方法包括:

第一终端生成第一终端随机数,向第二终端发送所述第一终端随机数;

第二终端获取并利用所述第一终端随机数生成会话编码并提供给应用服务器;

应用服务器获取并根据所述会话编码生成票据,并由票据得到消息msc,同时生成第一签名和应用服务器随机数,将所述第一签名、应用服务器随机数和所述消息msc发送至第二终端,所述票据为包含会话密钥的密文;

第二终端获取来自应用服务器的消息msc、应用服务器随机数和第一签名,对第一签名进行验证,并在验证通过后解析消息msc得到票据,向第一终端发送会话编码、应用服务器随机数和票据;

第一终端获取来自第二终端的会话编码、应用服务器随机数和票据,根据所述应用服务器随机数和会话编码中的第一终端随机数对密钥卡内的密钥表查表获得密钥km,利用密钥km解密所述票据得到会话密钥,利用会话密钥进行消息认证,消息认证通过后,利用第一终端随机数生成第二签名和第三签名发送至第二终端;

第二终端获取来自第一终端的第二签名和第三签名,对第三签名验证通过后生成第四签名,向应用服务器发送第二签名和所述第四签名;

应用服务器根据来自第二终端的第二签名和所述第四签名,完成第一终端和第二终端之间的密钥协商。

本实施例中的第一终端不使用公钥、私钥进行公私钥算法计算,仅需查表即可获得与应用服务器加密通信的共享密钥,计算量小,速度快,并能为其节能,延长第一终端的电池使用时间。

在一实施例中,所述应用服务器配置有应用服务器密钥卡,所述应用服务器密钥卡内存储有公钥池和私钥池;所述第二终端配置有第二终端密钥卡,所述第二终端密钥卡内存储有公钥池和私钥池;所述第一终端配置有第一终端密钥卡,所述第一终端密钥卡内存储有临时公钥池、临时私钥池、公钥池、私钥池和对称密钥池,所述对称密钥池中存储有密钥表。

本实施例中的应用服务器无需存储多个大容量对称密钥池,仅需存储多组公钥池,极大节省应用服务器的存储空间。

在一实施例中,所述第一终端根据应用服务器随机数和会话编码中的第一终端随机数对密钥卡内的密钥表查表获得密钥km,包括:

根据会话编码得到第一终端随机数,同时提取应用服务器随机数;

将所述第一终端随机数与所述应用服务器随机数分别与指针函数结合获得第一终端私钥指针及应用服务器私钥指针,所述第一终端私钥指针及所述应用服务器私钥指针对应所述密钥表的行和列,进而获得密钥km。

在未做特殊说明的情况下本申请中的各名称以字母和数字组合为准,例如s,应用服务器,应用服务器s,服务器在下文中表示同一含义,即应用服务器s;再如密钥km,km在下文中表示同一含义,即密钥km;其余名称同理。且密钥km、应用终端c、随机数nc等表述中的km、c和nc仅仅是为了便于区分和叙述,并不对参数本身有额外限定,例如应用服务器s、应用ic卡m中的s、m;又如指针随机数rs、消息msc中的rs和msc;其他同理。

本实施例中,利用两个随机数得到查表所需的指针,并根据指针对应至密钥表的行和列,即可得到对称密钥,查表操作简单,速度快。

在具体应用场景中,为了便于描述,第一终端设为应用ic卡m,第二终端设为应用终端c,应用服务器设为应用服务器s。

实施例1

本实施例以应用终端c和应用ic卡m通过应用服务器s进行密钥协商,并在通信过程中进行消息认证的过程为例,对基于在线离线签名的抗量子计算节能通信方法进一步详述。

由于本实施例中具有多次协商密钥的过程,为简化主体通信流程,以下以应用服务器与应用终端协商密钥的过程为例对协商密钥进行详述:

应用服务器s得到应用服务器非对称密钥指针随机数rs和应用终端非对称密钥指针随机数rc。根据rs和rc,得到kc。过程如图6~7所示,文字描述如下:

使用rs结合特定的应用服务器非对称密钥指针函数fs得到应用服务器私钥指针ps,通过ps从应用服务器私钥池中提取应用服务器私钥sks。还可以通过ps加上应用服务器公钥池起始位置ks0得到应用服务器公钥指针kss,通过kss从公钥池中提取应用服务器公钥pks。

使用rc结合特定的应用终端非对称密钥指针函数fc得到应用终端私钥指针pc,通过pc加上应用终端公钥池起始位置ksn得到应用终端公钥指针ksc,通过ksc从公钥池中提取应用终端公钥pkc。

计算kc=(pkc)sksmodp。

应用服务器s使用kc作为密钥与应用终端c进行通信。

应用终端c收到后,根据ps和pc,利用ps加上应用服务器公钥池起始位置ks0得到应用服务器公钥指针kss,通过kss从公钥池中提取应用服务器公钥pks,利用pc从应用终端私钥池中提取应用终端私钥skc,计算得到kc=(pks)skcmodp。

具体地,应用ic卡m与应用终端c通过应用服务器s协商密钥的过程如图8所示,文字描述如下:

1、应用ic卡和应用终端向应用服务器发送密钥协商基本信息。

1.1、应用ic卡m根据匹配的m密钥卡中的随机数发生器生成随机数nm(即为第一终端随机数,此处所述nm相当于上文中的rc。),随机数nm与应用ic卡编码idm一起发送至应用终端c。

1.2、应用终端c收到后,根据匹配的c密钥卡中的随机数发生器生成随机数nc(此处所述nc相当于上文中的rc。),将{idc||nc||idm||nm}发送至应用服务器s。该消息也作为该次密钥协商的会话id(即会话编码),可表示为sessid=idc||nc||idm||nm。同时,应用终端c保留sessid和nc。

2、应用服务器分发票据。

2.1、应用服务器s收到应用终端c的消息后,根据匹配的s密钥卡中的随机数发生器生成随机数ns(即应用服务器随机数,此处所述ns相当于上文中的rs。),还生成应用ic卡m与应用终端c之间的会话密钥kmc并制作票据tm。tm由km加密,km由nm和ns计算确定,计算过程与上文相同,tm可表示为{kmc||idc||nm}km。应用服务器s将tm、kmc、idm以及nc作为消息msc。应用服务器s根据匹配的s密钥卡中的随机数发生器生成在范围[0,a-1]内的随机数skst,并通过计算得到pkst=gskstmodp。应用服务器s根据随机数ns从私钥池中取出私钥sksns。应用服务器s通过如下计算得到第一签名(csc,ysc)。

csc=h(msc,pkst)

ysc=skst+csc×sksns

使用kc对msc以及(csc,ysc)进行加密,kc由nc和ns计算确定,计算过程与上文相同。应用服务器s向应用终端c发送的内容可表示为sessid||ns||{msc||csc||ysc}kc。

2.2、应用终端c收到消息后,根据sessid找到nc,利用nc以及收到的ns计算得到kc,使用kc解密得到msc和msc的签名(即第一签名)。应用终端c根据ns从密钥区公钥池中的服务器公钥池取出公钥pksns,应用终端c利用公钥pksns对第一签名(csc,ysc)进行验证,进行如下计算得到csc’,比较csc’和csc,如果相同,则验证通过,否则签名验证失败。

pkst’=gysc/(pksns)csc

csc’=h(msc,pkst’)

验证通过后对msc进行解析,得到kmc,对msc中的nc与本地存储的nc验证相等后,信任kmc。然后使用kmc对nm、nc以及idc制作消息认证码,可表示为maccm=mac(kmc,nm||nc||idc)。其中mac(k,m)表示以k为密钥、以m为消息的消息认证码。将sessid||ns||tm||maccm发送至应用ic卡m。

3、进行消息认证。

3.1、应用ic卡m收到后,根据sessid找到nm,使用nm结合特定的指针函数获得第一终端私钥指针,使用收到的ns结合特定的指针函数获得应用服务器私钥指针,将第一终端私钥指针及应用服务器私钥指针对应密钥表的行和列,查表获得密钥km,利用km解密tm得到kmc,对tm中的nm与本地存储的nm进行验证后,信任kmc。然后使用kmc对nm||nc||idc计算出maccm’,与maccm对比,若相等则完成消息认证。

对maccm验证通过后,应用ic卡m计算nm得到两个在[1,m]范围内的数nm1和nm2。应用ic卡m根据nm1和nm2从ic卡临时公钥池分别取出临时公钥pkmt1和pkmt2,应用ic卡m根据nm1和nm2从ic卡临时私钥池分别取出临时私钥skmt1和skmt2。应用ic卡m根据nm1和nm2从ic卡私钥池中分别取出私钥skmnm1和skmnm2。使用pkmt1、skmt1和skmnm1对nm和ns进行数字签名算法得到第二签名(cm,ym)。数字签名算法参照步骤2.1中所述,即cm=h(nm||ns,pkmt1),ym=skmt1+cm*skmnm1。使用km加密得到signm={cm||ym}km。使用pkmt2、skmt2和skmnm2对nm和nc进行数字签名算法得到第三签名(cmc,ymc)。数字签名算法参照步骤2.1中所述,即cmc=h(nm||nc,pkmt2),ymc=skmt2+csc*skmnm2。使用kmc加密得到signmc={cmc||ymc}kmc,将sessid||signm||signmc发送至应用终端c。

3.2、应用终端c收到后,使用kmc解密signmc得到(cmc,ymc),应用终端根据nm计算得到nm1和nm2,从密钥卡公钥池中取出应用ic卡的公钥pkmnm2。使用pkmnm2对第三签名(cmc,ymc)进行数字签名验证,验证方式参照步骤2.2所述。验证通过后,应用终端c根据匹配的c密钥卡中的随机数发生器生成在范围[0,a-1]内的随机数skct,并通过计算得到pkct=gskctmodp。应用终端c根据nc从私钥池中取出自身私钥skcnc。使用pkct、skct和skcnc对nc和ns进行数字签名算法得到第四签名(cc,yc)。数字签名算法参照步骤2.1中所述,即cc=h(nc||ns,pkct),yc=skct+cc*skcnc。使用kc加密得到signc={cc||yc}kc。

将sessid||signc||signm发送至应用服务器s。

3.3、应用服务器s收到后,使用应用终端c和应用ic卡m的公钥对signc和signm进行数字签名验证,验证方式参照步骤2.2所述。验证通过后,完成应用ic卡m与应用终端c之间的密钥协商,并在日志中记录该事件以备事后审计。

上述基于在线离线签名的抗量子计算节能通信方法中,通过对技术特征进行合理推导,实现能够解决背景技术中所提出的技术问题的有益效果。本实施例就每个步骤而言可视为针对前述相应的实施例,就所有步骤而言也可视为前述相应实施例的结合。

为了便于对基于在线离线签名的抗量子计算节能通信方法的理解,以通信过程中的单侧方为主体进行描述。

在一实施例中,基于在线离线签名的抗量子计算节能通信方法,实施在第一终端包括:

生成第一终端随机数,向第二终端发送所述第一终端随机数,所述第一终端随机数用于第二终端生成会话编码并提供给应用服务器;

获取来自第二终端的会话编码、票据和应用服务器随机数,根据所述应用服务器随机数和会话编码中的第一终端随机数对密钥卡内的密钥表查表获得密钥km,利用密钥km解密所述票据得到会话密钥,利用会话密钥进行消息认证;所述票据由第二终端对第一签名验证后解析消息msc得到;所述第一签名由应用服务器生成,所述票据为包含会话密钥的密文,所述票据由应用服务器根据所述会话编码得到,所述消息msc由应用服务器根据票据生成;

消息认证通过后,利用第一终端随机数生成第二签名和第三签名发送至第二终端,其中所述第三签名供第二终端验证后通过生成第四签名,所述第二签名和所述第四签名用于供应用服务器进行验证以完成第一终端和第二终端之间的密钥协商。

本实施例中的第一终端不使用公钥、私钥进行公私钥算法计算,仅需查表即可获得与应用服务器加密通信的共享密钥,计算量小,速度快,并能为其节能,延长第一终端的电池使用时间。

在一实施例中,基于在线离线签名的抗量子计算节能通信方法,实施在第二终端包括:

获取来自第一终端的第一终端随机数;

利用所述第一终端随机数生成会话编码并提供给应用服务器;

获取来自应用服务器的消息msc和第一签名,对第一签名进行验证,并在验证通过后解析消息msc得到票据;所述第一签名由应用服务器生成,所述票据由应用服务器根据所述会话编码得到,所述票据为包含会话密钥的密文,所述消息msc由应用服务器根据票据生成;

向第一终端发送会话编码、票据和应用服务器随机数,所述会话编码供第一终端得到第一终端随机数,所述第一终端随机数和应用服务器随机数供第一终端对密钥卡内的密钥表查表获得密钥km,所述密钥km供第一终端解密所述票据得到会话密钥,所述会话密钥供第一终端进行消息认证;

获取来自第一终端的第二签名和第三签名,对第三签名验证通过后生成第四签名;所述第二签名和第三签名由第一终端根据第一终端随机数生成;

向应用服务器发送第二签名和所述第四签名,所述第二签名和所述第四签名供应用服务器进行验证以完成第一终端和第二终端之间的密钥协商。

本实施例中的第一终端不使用公钥、私钥进行公私钥算法计算,仅需查表即可获得与应用服务器加密通信的共享密钥,计算量小,速度快,并能为其节能,延长第一终端的电池使用时间。

在一实施例中基于在线离线签名的抗量子计算节能通信方法,实施在应用服务器包括:

获取来自第二终端的会话编码,所述会话编码由第二终端根据第一终端随机数生成,所述第一终端随机数由第一终端生成;

根据所述会话编码生成票据,并由票据得到消息msc,同时生成第一签名,将所述第一签名和所述消息msc发送至第二终端;所述票据为包含会话密钥的密文,所述第一签名供第二终端验证,所述消息msc用于供第二终端验证第一签名后解析并得到票据,所述会话编码供第一终端得到第一终端随机数,所述第一终端随机数供第一终端对密钥卡内的密钥表查表获得密钥km,所述密钥km供第一终端解密所述票据得到会话密钥,所述会话密钥供第一终端进行消息认证;

获取来自第二终端的第二签名和所述第四签名,以完成第一终端和第二终端之间的密钥协商;所述第二签名由第一终端根据第一终端随机数生成,所述第四签名由第二终端对第三签名验证通过后生成,所述第三签名由第一终端根据第一终端随机数生成。

本实施例中的第一终端不使用公钥、私钥进行公私钥算法计算,仅需查表即可获得与应用服务器加密通信的共享密钥,计算量小,速度快,并能为其节能,延长第一终端的电池使用时间。

对以各单侧为主体执行的流程的限定可参考对按序执行的流程的限定,在此不再进行赘述。

密钥卡是结合了密码学技术、硬件安全隔离技术、量子物理学技术(搭载量子随机数发生器的情况下)的身份认证和加解密产品。密钥卡的内嵌芯片和操作系统可以提供密钥的安全存储和密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,密钥卡成为私钥和密钥池的安全载体。每一个密钥卡可以有硬件pin码保护,pin码和硬件构成了用户使用密钥卡的两个必要因素,即所谓“双因子认证”,用户只有同时取得保存了相关认证信息的密钥卡和用户pin码,才可以登录系统。即使用户的pin码被泄露,只要用户持有的密钥卡不被盗取,合法用户的身份就不会被仿冒;如果用户的密钥卡遗失,拾到者由于不知道用户pin码,也无法仿冒合法用户的身份。总之,密钥卡使得密钥等绝密信息不以明文形式出现在主机的磁盘及内存中,从而能有效保证绝密信息的安全。

应用系统成员均配备有密钥卡,使用密钥卡存储密钥,密钥卡是独立的硬件设备,被恶意软件或恶意操作窃取密钥的可能性大大降低。同时,各所述成员利用随机数结合所述非对称密钥池提取所需应用系统成员的公钥,且应用系统成员的公钥存储在密钥卡内,保证量子计算机无法得到用户公钥,进而无法得到对应的私钥,因此降低被量子计算机破解风险。

低功耗的应用ic卡不使用公钥、私钥进行公私钥算法计算,仅需查表即可获得与应用服务器加密通信的共享密钥,另外其签名过程采用临时密钥池辅助的在线离线签名方法,仅需查找和少量计算即可得到签名。因此本方案计算量小,速度快;并能为其节能,延长使用电池的应用ic卡的电池使用时间。

作为通信中心的应用服务器无需存储多个大容量对称密钥池,仅需存储多组公钥池,极大节省应用服务器的存储空间。根据上述实施例,应用服务器新增第n个应用终端时,根据对称密钥池方法,原先需要新增存储与第n个应用终端相同的密钥量,即m*n;现在仅需新增存储第n个应用终端对应的公钥池的密钥量,即n,新增密钥量大大降低。因此上述实施例极大节省应用服务器的存储空间。

在一实施例中,本申请还提供一种计算机设备,该计算机设备可以是第一终端设备、第二终端设备或应用服务器设备,计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述的基于在线离线签名的抗量子计算节能通信方法的步骤。

关于计算机设备的具体限定可以参见上文中对抗量子计算节能通信方法的限定,在此不再赘述。上述计算机设备中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

计算机设备可以是终端,其内部结构可以包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,计算机设备的处理器用于提供计算和控制能力。各设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述基于在线离线签名的抗量子计算节能通信方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

在另一实施例中,提供了一种基于在线离线签名的抗量子计算节能通信系统,包括第一终端、第二终端、应用服务器和通信网络;所述应用服务器配置有应用服务器密钥卡,所述应用服务器密钥卡内存储有公钥池和私钥池;所述第二终端配置有第二终端密钥卡,所述第二终端密钥卡内存储有公钥池和私钥池;所述第一终端配置有第一终端密钥卡,所述第一终端密钥卡内存储有临时公钥池、临时私钥池、公钥池、私钥池和对称密钥池,所述对称密钥池中存储有密钥表;

所述第一终端、第二终端和应用服务器通过所述通信网络实现所述的基于在线离线签名的抗量子计算节能通信方法。

关于基于在线离线签名的抗量子计算节能通信系统的具体限定可以参见上文中对于基于在线离线签名的抗量子计算节能通信方法的限定,在此不再赘述。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1