基于签密的抗量子计算应用系统近距离节能通信方法和系统、以及计算机设备与流程

文档序号:18542881发布日期:2019-08-27 21:24阅读:231来源:国知局
基于签密的抗量子计算应用系统近距离节能通信方法和系统、以及计算机设备与流程

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



背景技术:

随着信息化技术和社会经济的不断发展,人们的生活水平得到了不断的提高,生活节奏也逐渐加快,人们在日常生活中逐渐出现了各种需要近距离身份认证的场景,如门禁刷卡、交通刷卡、上班考勤等。随着智能化设备的逐渐增加,人们对智能化的操作以及数据传输的安全提出了更高的要求。一般使用非对称密钥加密来保证数据的安全性,非对称密钥加密需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公钥,另一个由用户自己秘密保存,即私钥。信息发送者用公钥去加密,而信息接收者用私钥去解密;或者信息发送者用私钥去加密,而信息接收者用公钥去解密。一般身份认证方法中需要在应用客户端之间协商密钥,由于应用客户端常为低性能设备,许多服务无法很好的支持。

目前传统的通信加密和传输安全,都是依赖于复杂的数学算法。即由于目前计算机的计算能力所限,来不及在需求所在的时间段内计算出结果,因此可以说现在的数字密码体系是安全的。但是这种安全性现状已经越来越受到量子计算机的威胁。例如,针对经典密码学中的非对称密钥算法,存在专用的量子计算机算法(shor算法等)进行破解。在计算能力强大的量子计算机面前,即便是再高级的保密通信,只要是通过当前的通信手段,都会面临被破译和窃听的可能。因此,建立实际可用的整套量子通信网络方案已经是迫在眉睫的刚需。

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

现有技术存在的问题:

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

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

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

(4)如果密钥卡内存储公钥、私钥,则低功耗的应用终端难以承受其计算量,不仅计算缓慢,而且容易导致电量迅速消耗完毕。

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



技术实现要素:

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

本申请提供了一种基于签密的抗量子计算应用系统近距离节能通信方法,实施在第一终端,所述抗量子计算应用系统近距离节能通信方法包括:

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

利用所述第二终端随机数生成会话消息并提供给应用服务器;

获取来自应用服务器的服务器随机数和消息tm;所述服务器随机数由所述应用服务器生成,所述消息tm为包含会话密钥的密文,所述消息tm由应用服务器根据所述会话消息得到;

向第二终端发送所述服务器随机数和消息tm;所述服务器随机数用于供第二终端在密钥卡内的对称密钥池中查表获得密钥km,所述密钥km用于供第二终端解密所述消息tm得到会话密钥,所述会话密钥用于供第二终端进行消息认证;

获取来自第二终端的第一签密;所述第一签密由第二终端根据第一签密消息和密钥kij计算得到,所述第一签密消息由第二终端生成,所述密钥kij由第二终端根据服务器随机数在密钥卡内的签密对称密钥池中查表获得;

向所述应用服务器发送所述第一签密;所述第一签密用于供应用服务器解密验证后得到认证结果;

获取来自应用服务器的第二签密,对所述第二签密进行验证,并在验证通过后根据第二签密得到第二签密消息;所述第二签密消息由应用服务器根据所述认证结果生成,所述第二签密由应用服务器利用服务器随机数和所述第二签密消息计算得到。

本申请提供了一种基于签密的抗量子计算应用系统近距离节能通信方法,实施在第二终端,所述抗量子计算应用系统近距离节能通信方法包括:

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

获取来自第一终端的服务器随机数和消息tm,根据服务器随机数在密钥卡内的对称密钥池中查表获得密钥km,利用密钥km解密所述消息tm得到会话密钥,利用会话密钥进行消息认证;所述服务器随机数由所述应用服务器生成,所述消息tm为包含会话密钥的密文,所述消息tm由应用服务器根据所述会话消息得到;

消息认证通过后,根据服务器随机数在密钥卡内的签密对称密钥池中查表获得密钥kij,生成第一签密消息,并利用所述第一签密消息和密钥kij计算得到第一签密并发送至第一终端;所述第一签密用于供应用服务器解密验证后得到认证结果,所述认证结果用于供应用服务器生成第二签密消息,所述第二签密消息用于供应用服务器生成第二签密,所述第二签密用于供第一终端验证通过后得到第二签密消息。

本申请提供了一种基于签密的抗量子计算应用系统近距离节能通信方法,实施在应用服务器,所述抗量子计算应用系统近距离节能通信方法包括:

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

生成服务器随机数并根据所述会话消息得到消息tm,将所服务器随机数和消息tm发送至第一终端;所述消息tm为包含会话密钥的密文,所述服务器随机数用于供第二终端在密钥卡内的对称密钥池中查表获得密钥km,所述密钥km用于供第二终端解密所述消息tm得到会话密钥,所述会话密钥用于供第二终端进行消息认证;

获取来自第一终端的第一签密,对所述第一签密解密验证后得到认证结果,根据所述认证结果生成第二签密消息,利用服务器随机数和所述第二签密消息计算得到第二签密;所述第一签密由第二终端根据第一签密消息和密钥kij计算得到,所述第一签密消息由第二终端生成,所述密钥kij由第二终端根据服务器随机数在密钥卡内的签密对称密钥池中查表获得;

向所述第一终端发送所述第二签密;所述第二签密用于供第一终端验证通过后得到第二签密消息。

本申请提供了一种基于签密的抗量子计算应用系统近距离节能通信方法,所述抗量子计算应用系统近距离节能通信方法包括:

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

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

所述应用服务器获取来自第一终端的会话消息,生成服务器随机数并根据所述会话消息得到消息tm,将所服务器随机数和消息tm发送至第一终端,所述消息tm为包含会话密钥的密文;

所述第一终端获取并向第二终端转发来自应用服务器的服务器随机数和消息tm;

所述第二终端获取来自第一终端的服务器随机数和消息tm,根据服务器随机数在密钥卡内的对称密钥池中查表获得密钥km,利用密钥km解密所述消息tm得到会话密钥,利用会话密钥进行消息认证,并在消息认证通过后,根据服务器随机数在密钥卡内的签密对称密钥池中查表获得密钥kij,生成第一签密消息,利用第一签密消息和密钥kij计算得到第一签密并发送至第一终端;

所述第一终端获取来自第二终端的第一签密,并将所述第一签密转发至应用服务器;

所述应用服务器获取来自第一终端的第一签密,对所述第一签密解密验证后得到认证结果,根据所述认证结果生成第二签密消息,利用服务器随机数和所述第二签密消息计算得到第二签密,向所述第一终端发送所述第二签密;

所述第一终端获取来自应用服务器的第二签密,对所述第二签密进行验证,并在验证通过后根据所述第二签密得到第二签密消息。

作为优选,所述第二终端根据服务器随机数在密钥卡内的对称密钥池中查表获得密钥km,包括:

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

所述第二终端根据服务器随机数在密钥卡内的签密对称密钥池中查表获得密钥kij,包括:

生成随机数rik;将所述服务器随机数与指针函数结合获得应用服务器私钥指针,所述应用服务器私钥指针及所述随机数rik对应签密对称密钥池中密钥表的行和列,进而获得密钥kij。

作为优选,所述应用服务器配置有应用服务器密钥卡,所述应用服务器密钥卡内存储有公钥池和私钥池;所述第一终端配置有第一终端密钥卡,所述第一终端密钥卡内存储有网关公钥池、公钥池和私钥池;所述第二终端配置有第二终端密钥卡,所述第二终端密钥卡内存储有客户端私有私钥池、客户端公钥池、客户端私钥池、对称密钥池和签密对称密钥池,所述对称密钥池和签密对称密钥池中分别存储有独立的密钥表。

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

本申请还提供一种基于签密的抗量子计算应用系统近距离节能通信系统,所述抗量子计算节能通信系统包括第一终端、第二终端、应用服务器和通信网络;所述应用服务器配置有应用服务器密钥卡,所述应用服务器密钥卡内存储有公钥池和私钥池;所述第一终端配置有第一终端密钥卡,所述第一终端密钥卡内存储有网关公钥池、公钥池和私钥池;所述第二终端配置有第二终端密钥卡,所述第二终端密钥卡内存储有客户端私有私钥池、客户端公钥池、客户端私钥池、对称密钥池和签密对称密钥池,所述对称密钥池和签密对称密钥池中分别存储有独立的密钥表;

所述第一终端、第二终端和应用服务器通过所述通信网络实现所述的基于签密的抗量子计算应用系统近距离节能通信方法的步骤。

本申请中的第二终端不使用公钥、私钥进行指数计算,仅需查表即可获得对称密钥,计算量小,速度快,并能为其节能。作为通信中心的应用服务器无需存储多个大容量对称密钥池,仅需存储多组公钥池,极大节省应用服务器的存储空间。应用服务器新增第n个应用终端时,根据对称密钥池方法,原先需要新增存储与第n个应用终端相同的密钥量,即m*n;现在仅需新增存储第n个应用终端对应的公钥池的密钥量,即n,新增密钥量大大降低。因此极大节省应用服务器的存储空间。

附图说明

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

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

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

图4为c密钥卡密钥区的结构示意图;

图5为m密钥卡密钥区的结构示意图;

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

图7为本发明实施例提供的获取应用服务器公私钥的流程图;

图8为本发明实施例提供的获取应用终端公钥的流程图。

具体实施方式

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

其中一实施例中,提供了一种基于签密的抗量子计算应用系统近距离节能通信方法,实施在第一终端,所述抗量子计算应用系统近距离节能通信方法包括:

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

利用所述第二终端随机数生成会话消息并提供给应用服务器;

获取来自应用服务器的服务器随机数和消息tm;所述服务器随机数由所述应用服务器生成,所述消息tm为包含会话密钥的密文,所述消息tm由应用服务器根据所述会话消息得到;

向第二终端发送所述服务器随机数和消息tm;所述服务器随机数用于供第二终端在密钥卡内的对称密钥池中查表获得密钥km,所述密钥km用于供第二终端解密所述消息tm得到会话密钥,所述会话密钥用于供第二终端进行消息认证;

获取来自第二终端的第一签密;所述第一签密由第二终端根据第一签密消息和密钥kij计算得到,所述第一签密消息由第二终端生成,所述密钥kij由第二终端根据服务器随机数在密钥卡内的签密对称密钥池中查表获得;

向所述应用服务器发送所述第一签密;所述第一签密用于供应用服务器解密验证后得到认证结果;

获取来自应用服务器的第二签密,对所述第二签密进行验证,并在验证通过后根据第二签密得到第二签密消息;所述第二签密消息由应用服务器根据所述认证结果生成,所述第二签密由应用服务器利用服务器随机数和所述第二签密消息计算得到。

本申请中,会话的一方不使用公钥、私钥进行指数计算,仅需查表即可获得对称密钥,计算量小,速度快,并能为其节能。

其中一实施例中,提供了一种基于签密的抗量子计算应用系统近距离节能通信方法,实施在第二终端,所述抗量子计算应用系统近距离节能通信方法包括:

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

获取来自第一终端的服务器随机数和消息tm,根据服务器随机数在密钥卡内的对称密钥池中查表获得密钥km,利用密钥km解密所述消息tm得到会话密钥,利用会话密钥进行消息认证;所述服务器随机数由所述应用服务器生成,所述消息tm为包含会话密钥的密文,所述消息tm由应用服务器根据所述会话消息得到;

消息认证通过后,根据服务器随机数在密钥卡内的签密对称密钥池中查表获得密钥kij,生成第一签密消息,并利用所述第一签密消息和密钥kij计算得到第一签密并发送至第一终端;所述第一签密用于供应用服务器解密验证后得到认证结果,所述认证结果用于供应用服务器生成第二签密消息,所述第二签密消息用于供应用服务器生成第二签密,所述第二签密用于供第一终端验证通过后得到第二签密消息。

本实施例中,会话的一方不使用公钥、私钥进行指数计算,仅需查表即可获得对称密钥,计算量小,速度快,并能为其节能。

其中一实施例中,提供了一种基于签密的抗量子计算应用系统近距离节能通信方法,实施在应用服务器,所述抗量子计算应用系统近距离节能通信方法包括:

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

生成服务器随机数并根据所述会话消息得到消息tm,将所服务器随机数和消息tm发送至第一终端;所述消息tm为包含会话密钥的密文,所述服务器随机数用于供第二终端在密钥卡内的对称密钥池中查表获得密钥km,所述密钥km用于供第二终端解密所述消息tm得到会话密钥,所述会话密钥用于供第二终端进行消息认证;

获取来自第一终端的第一签密,对所述第一签密解密验证后得到认证结果,根据所述认证结果生成第二签密消息,利用服务器随机数和所述第二签密消息计算得到第二签密;所述第一签密由第二终端根据第一签密消息和密钥kij计算得到,所述第一签密消息由第二终端生成,所述密钥kij由第二终端根据服务器随机数在密钥卡内的签密对称密钥池中查表获得;

向所述第一终端发送所述第二签密;所述第二签密用于供第一终端验证通过后得到第二签密消息。

本实施例中,会话的一方不使用公钥、私钥进行指数计算,仅需查表即可获得对称密钥,计算量小,速度快,并能为其节能。

其中一实施例中,提供了一种基于签密的抗量子计算应用系统近距离节能通信方法,所述抗量子计算应用系统近距离节能通信方法包括:

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

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

所述应用服务器获取来自第一终端的会话消息,生成服务器随机数并根据所述会话消息得到消息tm,将所服务器随机数和消息tm发送至第一终端,所述消息tm为包含会话密钥的密文;

所述第一终端获取并向第二终端转发来自应用服务器的服务器随机数和消息tm;

所述第二终端获取来自第一终端的服务器随机数和消息tm,根据服务器随机数在密钥卡内的对称密钥池中查表获得密钥km,利用密钥km解密所述消息tm得到会话密钥,利用会话密钥进行消息认证,并在消息认证通过后,根据服务器随机数在密钥卡内的签密对称密钥池中查表获得密钥kij,生成第一签密消息,利用第一签密消息和密钥kij计算得到第一签密并发送至第一终端;

所述第一终端获取来自第二终端的第一签密,并将所述第一签密转发至应用服务器;

所述应用服务器获取来自第一终端的第一签密,对所述第一签密解密验证后得到认证结果,根据所述认证结果生成第二签密消息,利用服务器随机数和所述第二签密消息计算得到第二签密,向所述第一终端发送所述第二签密;

所述第一终端获取来自应用服务器的第二签密,对所述第二签密进行验证,并在验证通过后根据所述第二签密得到第二签密消息。

本实施例中,会话的一方不使用公钥、私钥进行指数计算,仅需查表即可获得对称密钥,计算量小,速度快,并能为其节能。

在另一实施例中,所述第二终端根据服务器随机数在密钥卡内的对称密钥池中查表获得密钥km,包括:

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

所述第二终端根据服务器随机数在密钥卡内的签密对称密钥池中查表获得密钥kij,包括:

生成随机数rik;将所述服务器随机数与指针函数结合获得应用服务器私钥指针,所述应用服务器私钥指针及所述随机数rik对应签密对称密钥池中密钥表的行和列,进而获得密钥kij。

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

在另一实施例中,所述应用服务器配置有应用服务器密钥卡,所述应用服务器密钥卡内存储有公钥池和私钥池;所述第一终端配置有第一终端密钥卡,所述第一终端密钥卡内存储有网关公钥池、公钥池和私钥池;所述第二终端配置有第二终端密钥卡,所述第二终端密钥卡内存储有客户端私有私钥池、客户端公钥池、客户端私钥池、对称密钥池和签密对称密钥池,所述对称密钥池和签密对称密钥池中分别存储有独立的密钥表。

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

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

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

本文假设应用服务器id为ids,使用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为模p的原根,g和p均为diffie-hellman协议的参数。服务器根据匹配的密钥卡产生真随机大整数si(i∈{1,2,……,m})作为自己的私钥,通过计算得到公钥si=gsimodp(i∈{1,2,……,m})。

应用客户端包括应用终端c和应用ic卡m,其中应用ic卡为低性能设备。本文假设应用终端id为idc,使用c密钥卡,c密钥卡的具体结构如图4所示,包括网关密钥池、公钥池和私钥池。应用ic卡id为idm,使用m密钥卡,m密钥卡的具体结构如图5所示,包括本客户端私有私钥池、本客户端公钥池/私钥池、对称密钥池和签密对称密钥池。其中,对称密钥池的具体结构如图6所示,由服务器公钥和客户端私钥参与生成对称密钥。设某客户端密钥编号分别为1~n,客户端私钥池为{c1,c2,……,cn},客户端公钥池为{c1,c2,……,cn},其中,cj=gcjmodp,j∈{1,2,……,n}。密钥卡颁发者即应用服务器为应用客户端计算出所有的kij,计算方式为kij=(si)cjmodp,将密钥区(即图6中灰色区域)复制入密钥卡内,形成密钥表。其中,签密对称密钥池的具体结构和对称密钥池结构相似,区别在于,签密对称密钥池参与生成签密对称密钥的是服务器公钥si和客户端私有私钥xj,即根据公式qij=(si)xjmodp可计算得到签密对称密钥。

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

在具体应用场景中,为了便于描述,第一终端设为应用终端c,配置有第一终端密钥卡(即c密钥卡);第二终端设为应用ic卡m,配置有第二终端密钥卡(即m密钥卡);应用服务器设为应用服务器s,配置有应用服务器密钥卡(即s密钥卡)。

实施例1

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

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

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

使用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。

具体通信过程描述如下:

1、应用ic卡m向应用终端c发送密钥协商基本信息。

1.1、应用ic卡m取第二终端随机数nm,将组合idm||nm发送给应用终端c。

1.2、c收到消息idm||nm后,取第一终端随机数nc,然后将组合idc||nc||idm||nm命名为sessid,并发送给应用服务器s,同时消息sessid也作为本次密钥协商的会话id,即会话消息。

2、应用服务器s收到消息sessid。

取服务器随机数ns,以ns为应用服务器非对称密钥指针随机数(此处的ns相当于上文中的rs),以nm为应用ic卡非对称密钥指针随机数(此处的nm相当于上文中的rc),根据前文提到的方法计算得到km,同理可计算得到kc。s取随机数kmc作为会话密钥,用km加密kmc、idc和nm的组合得到{kmc||idc||nm}km,并将其命名为消息tm;用kc加密kmc、idm和nc的组合得到{kmc||idm||nc}kc,并将其命名为消息tc。s将组合sessid||ns||tm||tc发送给c。

3、c得到消息sessid||ns||tm||tc。

c根据步骤2中的方法用己方已有的nc和ns计算得到kc,再用kc解密tc得到其中的kmc、idm和nc。比较从tc中解密得到的nc和己方原有的nc是否相等,相等则可以验证tc来自于服务器。

c将kmc和nm、nc、idc的组合根据公式maccm=mac{kmc,nm||nc||idc}进行计算,得到mac值maccm。maccm表示以kmc为密钥,以nm||nc||idc为消息的消息认证码。再将组合sessid||ns||tm||maccm发送给m。

4、m收到消息sessid||ns||tm||maccm。

根据己方已有的nm和收到的ns,将nm与ns分别与指针函数结合获得第二终端私钥指针及应用服务器私钥指针,应用服务器私钥指针及第二终端私钥指针对应对称密钥池中密钥表的行和列,进而获得密钥km,用km解密tm可以得到kmc、idc和nm。比较从tm中解密得到的nm和己方原有的nm是否相等,相等则可以验证tm最初来源于服务器。m从sessid中解析出nc,根据公式maccm’=mac{kmc,nm||nc||idc}进行计算,得到mac值maccm’,再将maccm’和得到的maccm进行对比,如果相同则验证成功,m完全信任c的身份。根据公式macmc=mac(kmc,nm||nc)计算得到mac值macmc。

令第一签密消息mreq=nm||ns||req,其中req为m向s发出的应用请求。m用函数fm作用于nm得到ria,用函数fs作用于ns得到rib,再取随机数rik,令i=rib,j=rik,在密钥卡的签密对称密钥池中查表可得密钥kij,然后用函数f1(例如将一个数按照1:1的长度分裂开为两段)作用于kij得到两个数k1和k2。

取带密钥的哈希函数kh作用于签密消息mreq和k2得到r。kh优选为hmac函数。用ria从密钥卡客户端私钥池取出kia,用rik从密钥卡客户端私钥池取出kik。如果是选择使用sdss1签密方案则使用函数fs1来作用于kik、r和kia,具体公式为s=kik/(r+kia)从而算出s;如果是选择使用sdss2签密方案则使用函数fs2来作用于kik、r和kia,具体公式为s=kik/(1+kia*r)从而算出s(其中签密方案sdss1和sdss2来源于参考资料《digitalsigncryptionorhowtoachievecost(signature&encryption)<<cost(signature)+cost(encryption)》)。用k1来加密req得到c,用km加密s得到{s}km。将组合c||r||{s}km作为第一签密,命名为signms。m将消息组合sessid||macmc||signms发送给c。

5、c收到消息sessid||macmc||signms。

根据公式macmc’=mac(kmc,nm||nc)计算得到mac值macmc’,并将macmc’与得到的macmc进行对比,相等则说明验证通过。根据公式maccs=mac(kc,nc||ns)计算得到mac值maccs。c将消息组合sessid||maccs||signms发送给服务器s。

6、s收到消息sessid||maccs||signms。

根据公式maccs’=mac(kc,nc||ns)计算得到mac值maccs’,并将maccs’与得到的maccs进行对比,相等则说明验证通过。

s从signms中得到c、r和{s}km。s用与m相同的函数fm作用于nm得到ria,用与m相同的函数fs作用于ns得到rib,再用ria从密钥卡公钥池取出kia,用rib从密钥卡私钥池取出kib。s根据步骤2中计算得到的km解密{s}km得到s。根据签密选择的签密方案sdss1或者sdss2来使用对应的函数fu1或者fu2来作用于kia、r、s和kib,具体公式为kij=(kia*gr)s*kibmodp(sdss1情形)或者kij=(g*kiar)s*kibmodp(sdss2情形)可以得到密钥kij。再用与m相同的函数f1作用于kij得到k1和k2。

用k1解密c得到req,再将req、nm和ns组合起来得到mreq。取kh作用于第一签密消息mreq和k2,将得到的结果和签密组合里的r对比,如果相同则可以验证m的身份正确并且m传给s的第一签密消息mreq在传送过程中没有被修改,反之则验证失败,并在对比后得到认证结果。

s将第二签密消息组合ns||nc||ntf命名为mntf,其中ntf表示s根据对m的认证结果对c的通知或各类操作指令。用函数fs作用于ns得到ria’,用函数fc作用于nc得到rib’,用ria’从密钥卡私钥池取出kia’,用rib从密钥卡公钥池取出c的公钥kib’。再取随机数kik’,根据公式k’=kib’^kik’modp计算出k’,后用函数f1’(例如将一个数按照1:1的长度分裂开为两段)作用于k’得到两个数k1’和k2’。

取带密钥的哈希函数kh作用于第二签密消息mntf和k2’得到r’。优选为,kh为hmac函数。如果是选择使用sdss1签密方案则使用函数fs1来作用于kik’、r’和kia’,具体公式为s’=kik’/(r’+kia’)从而算出s’;如果是选择使用sdss2签密方案则使用函数fs2来作用于kik’、r’和kia’,具体公式为s’=kik’/(1+kia’*r’)从而算出s’。用k1’来加密ntf得到c’,用kc加密s’得到{s’}kc。将组合c’||r’||{s’}kc作为第二签密,命名为signsc。s将消息组合sessid||signsc发送给c。

7、c收到消息sessid||signsc。

c从signsc中得到c’、r’和{s’}kc。c用与s相同的函数fs作用于ns得到ria’,用与s相同的函数fc作用于nc得到rib’,再用ria’从密钥卡网关公钥池取出kia’,用rib从密钥卡私钥池取出kib’。c根据步骤3中计算得到的kc解密{s’}kc得到s’。根据签密选择的签密方案sdss1或者sdss2来使用对应的函数fu1或者fu2来作用于kia’、r’、s’和kib’,具体公式为k’=(kia’*gr’)s’*kib‘modp(sdss1情形)或者k’=(g*kia’r’)s’*kib‘modp(sdss2情形)可以得到k’。再用与m相同的函数f1’作用于k’得到k1’和k2’。

用k1’解密c’得到ntf,再将ntf、nc和ns组合起来得到mntf。取kh作用于第二签密消息mntf和k2’,将得到的结果和签密组合里的r’对比,如果相同则可以验证s的身份正确并且s传给c的第二签密消息mntf在传送过程中没有被修改。验证成功的话,c从第二签密消息中接收到ntf的内容,并且依次播放通知或者执行各类操作指令。

本实施例就每个步骤而言可视为针对前述相应的实施例,就所有步骤而言也可视为前述相应实施例的结合。

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

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

低功耗的应用ic卡不使用公钥、私钥进行指数计算,仅需查表即可获得对称密钥,计算量小,速度快;并能为其节能,延长应用ic卡的电池使用时间。

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

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

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

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

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

所述第一终端、第二终端和应用服务器通过所述通信网络实现所述的基于签密的抗量子计算应用系统近距离节能通信方法的步骤。

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

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

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

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