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

文档序号:18639018发布日期:2019-09-11 22:44阅读:433来源:国知局
基于密钥卡和序列号的抗量子计算应用系统以及近距离节能通信方法和计算机设备与流程

本发明涉及智能应用终端技术领域,尤其是一种基于密钥卡和序列号的抗量子计算应用系统以及近距离节能通信方法和计算机设备。



背景技术:

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

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

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

现有技术存在的问题:

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

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

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

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

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



技术实现要素:

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

一种基于密钥卡和序列号的抗量子计算应用系统近距离节能通信方法,抗量子计算应用系统包括应用服务器和与所述应用服务器通信连接的至少一个应用客户端,所述应用客户端包括应用终端和应用ic卡,实施于应用ic卡,所述应用ic卡配有包含应用ic卡序列号池的密钥卡,所述序列号池包括序列号和配对者信息,所述应用ic卡利用信任的会话密钥实现与所述应用终端近距离通信,所述信任的会话密钥获取步骤包括:

与应用服务器身份认证,确认应用服务器生成的第一通信密钥与应用ic卡生成的第二通信密钥相等,其中第一通信密钥由利用应用ic卡地址提取的随机数与服务器随机数计算生成;第二通信密钥由应用ic卡地址结合所述应用ic卡序列号池提取的随机数与服务器随机数结合通信密钥表查取;将第一票据请求消息密文发送给应用服务器,该第一票据请求消息密文由第二通信密钥加密第一票据请求参数,第一票据请求参数包括应用ic卡地址、应用终端地址和申请票据的数量;

接收应用服务器发送的总票据并存储,所述总票据由多个子票据组成,子票据数量为申请票据的数量,各所述子票据内包含应用ic卡票据、应用终端票据、服务器第二随机数以及应用终端的序列号池记录应用ic卡信息的位置参数,其中所述应用ic卡票据、应用终端票据内含通信密钥加密的会话密钥,所述通信密钥包括应用服务器与应用ic卡之间的第三通信密钥以及应用服务器与应用终端之间的第四通信密钥;其中第三通信密钥/第四通信密钥由应用ic卡第三随机数/应用终端第一随机数与服务器第二随机数计算获得,其中应用ic卡第三随机数/应用终端第一随机数通过各自地址提取;

提取子票据并以己方地址提取对应序列号计算随机数,利用该随机数结合通信密钥表获得第五通信密钥,所述第五通信密钥解密应用ic卡票据获得会话密钥;

将第一近距离通信消息发送至应用终端,所述第一近距离通信消息包含应用终端的序列号池记录应用ic卡信息的位置参数,所述应用终端根据所述位置参数提取序列号,利用该序列号结合通信密钥表获取第六通信密钥,进而确认会话密钥实现近距离通信。

一种基于密钥卡和序列号的抗量子计算应用系统近距离节能通信方法,抗量子计算应用系统包括应用服务器和与所述应用服务器通信连接的至少一个应用客户端,所述应用客户端包括应用终端和应用ic卡,实施于应用服务器,所述应用服务器配有包含序列号池的密钥卡,所述序列号池包括序列号和配对者,该序列号池包括应用服务器序列号池、应用终端序列号池以及应用ic卡序列号池,应用服务器用于分发总票据进行实现所述应用ic卡与所述应用终端通过信任的会话密钥近距离通信,应用服务器分发总票据步骤包括:

与应用ic卡身份认证,确认应用服务器生成的第一通信密钥与应用ic卡生成的第二通信密钥相等,其中第一通信密钥由利用应用ic卡地址提取的随机数与服务器随机数计算生成;第二通信密钥由应用ic卡地址提取的随机数与服务器随机数结合通信密钥表查取;

接收第一票据请求消息密文,利用第一通信密钥解密获得第一请求参数,该第一票据请求消息密文由第二通信密钥加密第一票据请求参数,第一票据请求参数包括应用ic卡地址、应用终端地址和申请票据的数量;

查看应用服务器密钥卡内存有的应用终端的序列号池中是否存在与应用ic卡配对的信息,提取应用终端序列号并利用该序列号获得应用终端第一随机数,并分别利用应用ic卡第三随机数和应用终端第一随机数与服务器第二随机数相结合计算获取相应通信密钥,利用所述通信密钥分别加密会话密钥进而获得应用ic卡票据、应用终端票据,各内含应用ic卡票据、应用终端票据、服务器第二随机数以及应用终端的序列号池记录应用ic卡的信息的位置参数构成子票据,多个子票据构成总票据并发送至应用ic卡。

一种基于密钥卡和序列号的抗量子计算应用系统近距离节能通信方法,抗量子计算应用系统包括应用服务器和与所述应用服务器通信连接的至少一个应用客户端,所述应用客户端包括应用终端和应用ic卡,实施于应用终端,所述应用终端配有包含应用终端序列号池的密钥卡,所述应用终端序列号池包括序列号和配对者,所述应用终端与所述应用ic卡通过信任的会话密钥近距离通信,所述信任的会话密钥获取步骤包括:

将应用终端地址传输至所述应用ic卡,用于所述应用ic卡与应用服务器身份认证后获取总票据,所述总票据内包含由应用ic卡票据、应用终端票据、服务器第二随机数以及应用终端的序列号池记录应用ic卡的信息的位置参数构成子票据;

接收应用ic卡发送的第一近距离通信消息,所述第一近距离通信消息由应用终端的地址、应用ic卡的地址、应用终端的序列号池记录应用ic卡m的信息的位置参数、应用服务器第二随机数、应用终端票据、第一近距离通信认证码构成;

利用所述位置参数结合应用终端序列号池提取出应用终端的序列号获取应用终端的第二随机数,利用应用终端第二随机数与应用服务器第二随机数结合通信密钥表提取第六通信密钥,利用该第六通信密钥解密应用终端票据进而获取信任的会话密钥实现近距离通信。

一种基于密钥卡和序列号的抗量子计算应用系统近距离节能通信方法,实施于抗量子应用系统,抗量子计算应用系统包括应用服务器和与所述应用服务器通信连接的至少一个应用客户端,所述应用客户端包括应用终端和应用ic卡,抗量子计算应用系统各成员均配有包含序列号池的密钥卡,所述序列号池包括序列号和配对者,所述应用服务器的序列号池还包含应用服务器序列号池、应用终端序列号池以及应用ic卡序列号池,所述应用终端与所述应用ic卡通过信任的会话密钥近距离通信,所述信任的会话密钥获取步骤包括:

应用ic卡与应用服务器身份认证,确认应用服务器生成的第一通信密钥与应用ic卡生成的第二通信密钥相等,其中第一通信密钥由利用应用ic卡地址提取的随机数与服务器随机数计算生成;第二通信密钥由应用ic卡地址提取的随机数与服务器随机数结合通信密钥表查取;

应用ic卡将第一票据请求消息密文发送给应用服务器,该第一票据请求消息密文由第二通信密钥加密第一票据请求参数,第一票据请求参数包括应用ic卡地址、应用终端地址和申请票据的数量;

应用服务器接收第一票据请求消息密文,利用第一通信密钥解密获得第一请求参数;

应用服务器查看应用服务器密钥卡内存有的应用终端的序列号池中是否存在与应用ic卡配对的信息,提取应用终端序列号并利用该序列号获得应用终端第一随机数,并分别利用应用ic卡第三随机数和应用终端第一随机数与服务器第二随机数相结合计算获取相应通信密钥,利用所述通信密钥分别加密会话密钥进而获得应用ic卡票据、应用终端票据,各内包含应用ic卡票据、应用终端票据、服务器第二随机数以及应用终端的序列号池记录应用ic卡的信息的位置参数构成子票据,多个子票据构成总票据并发送至应用ic卡;

应用ic卡接收应用服务器发送的总票据并存储,所述总票据由多个子票据组成,子票据数量为申请票据的数量;

应用ic卡提取子票据并以己方地址提取对应序列号计算随机数,利用该随机数结合通信密钥表获得第五通信密钥,所述第五通信密钥解密应用ic卡票据获得会话密钥;

应用ic卡将第一近距离通信消息发送至应用终端,所述第一近距离通信消息包含应用终端的序列号池记录应用ic卡信息的位置参数,所述应用终端根据所述位置参数提取序列号,利用该序列号结合通信密钥表获取第六通信密钥,进而确认会话密钥实现近距离通信。

在其中一个实施例中,服务器生成的通信密钥的生成方法包括:

通信密钥为应用服务器生成,其生成方法包括:

利用应用ic卡的随机数、应用终端的随机数以及应用服务器的随机数结合指针函数提取应用ic卡公钥、应用终端公钥以及应用服务器私钥,并分别利用应用ic卡公钥和应用终端公钥与应用服务器私钥结合相应算法计算生成对应通信密钥;

通信密钥为应用ic卡/应用终端生成,其生成方法包括:

利用应用ic卡/应用终端的随机数、应用服务器的随机数分别结合指针函数提取对应私钥指针,利用所述私钥指针结合通信密钥表提取对应通信密钥。

一种计算机设备,包括存储器和处理器,所述存一种计算机设备,包括存储器和处理器,所述存储器存储计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法的步骤。

一种基于密钥卡和序列号的抗量子计算应用系统,抗量子计算应用系统包括应用服务器和与所述应用服务器通信连接的至少一个应用客户端,所述应用客户端包括应用终端和应用ic卡,抗量子计算应用系统各成员均配有包含序列号池的密钥卡,所述序列号池包括序列号和配对者,所述应用服务器的序列号池还包含应用服务器序列号池、应用终端序列号池以及应用ic卡序列号池,所述应用终端与所述应用ic卡通过信任的会话密钥近距离通信,

应用ic卡,用于与应用服务器身份认证,并发送第一票据请求消息密文至应用服务器,该第一票据请求消息密文由通信密钥加密第一票据请求参数,第一票据请求参数包括应用ic卡地址、应用终端地址和申请票据的数量,接收申请总票据获取会话密钥实现与应用终端近距离通信;

应用服务器,用于接收第一票据请求消息密文,利用第一通信密钥解密获得第一请求参数,第一请求参数包括应用ic卡地址、应用终端地址和申请票据的数量,查看应用服务器密钥卡内存有的应用终端的序列号池中是否存在与应用ic卡配对的信息,提取应用终端序列号并利用该序列号获得应用终端第一随机数,并分别利用应用ic卡第三随机数和应用终端第一随机数与服务器二随机数相结合计算获取相应通信密钥,利用所述通信密钥分别加密会话密钥进而获得应用ic卡票据、应用终端票据,各内包含应用ic卡票据、应用终端票据、服务器第二随机数以及应用终端的序列号池记录应用ic卡的信息的位置参数构成子票据,多个子票据构成总票据并发送至应用ic卡;

应用终端,用于接收所述应用卡发送的第一近距离通信消息,利用位置参数结合应用终端序列号池提取出应用终端的序列号获取应用终端的第二随机数,利用应用终端第二随机数与应用服务器第二随机数结合通信密钥表提取第六通信密钥,利用该第六通信密钥解密应用终端票据进而获取信任的会话密钥实现近距离通信。

上述基于密钥卡和序列号的抗量子计算应用系统以及近距离节能通信方法和计算机设备,抗量子计算应用系统包括应用服务器和与所述应用服务器通信连接的至少一个应用客户端,所述应用客户端包括应用终端和应用ic卡,抗量子计算应用系统各成员均配有包含序列号池的密钥卡,所述序列号池包括序列号和配对者,所述应用服务器的序列号池还包含应用服务器序列号池、应用终端序列号池以及应用ic卡序列号池,所述应用终端与所述应用ic卡通过信任的会话密钥近距离通信,应用ic卡与应用服务器身份认证,并发送第一票据请求消息密文至应用服务器,该第一票据请求消息密文由通信密钥加密第一票据请求参数,第一票据请求参数包括应用ic卡地址、应用终端地址和申请票据的数量,接收申请总票据获取会话密钥实现与应用终端近距离通信;应用终端,用于接收所述应用卡发送的第一近距离通信消息,利用位置参数结合应用终端序列号池提取出应用终端的序列号获取应用终端的第二随机数,利用应用终端第二随机数与应用服务器第二随机数结合通信密钥表提取第六通信密钥,利用该第六通信密钥解密应用终端票据进而获取信任的会话密钥实现近距离通信。其中抗量子计算应用系统成员均配备有密钥卡并存储密钥,密钥卡是独立的硬件设备,被恶意软件或恶意操作窃取密钥的可能性大大降低,同时各所述成员利用共享用户端所公开的抗量子计算公钥结合所述非对称密钥池提取所需应用系统成员的公钥,且应用系统成员的公钥存储在密钥卡内,保证量子计算机无法得到用户公钥,进而无法得到对应的私钥,因此降低被量子计算机破解风险,应用终端与应用ic卡不使用公钥、私钥进行计算,仅需查表即可获得与应用服务器加密通信的共享密钥,计算量小,速度快;并能为其节能,延长应用终端与应用ic卡的电池使用时间。

附图说明

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

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

图3为本发明中序列号池的结构示意图;

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

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

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

图7为本发明实施例提供的获取公私钥的流程图。

具体实施方式

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

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

在本实施例中,应用服务器地址id为ids,应用服务器s使用应用服务器密钥卡。

应用服务器密钥卡的密钥区具体结构如图2所示,包括公钥池和私钥池。应用服务器密钥卡中,还存有每个应用客户端(应用终端c和应用ic卡m)的sqn值,sqn为序列号。初始化时,不同客户端(应用终端c和应用ic卡m)的sqn值均不同,且均为真随机数,并将序列号sqn值分别存储于应用服务器密钥卡、应用客户端(应用终端c和应用ic卡m)密钥卡中。

序列号sqn值在各应用客户端(应用终端c和应用ic卡m)是以序列号池的形式存在,如图3所示,序列号池包括序列号和配对者;并且每个应用客户端的序列号池在应用服务器密钥池内同样也存有一份,即所述应用服务器配有的序列号池包括应用服务器序列号池、应用终端序列号池以及应用ic卡序列号池,应用终端c和应用ic卡m的序列号池命名为应用终端序列号池以及应用ic卡序列号池。

应用服务器密钥卡密钥区中公钥池如图4所示,所述公钥池包括服务器公钥池和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,均为低性能设备。在本实施例中,应用终端地址id为idc,使用应用终端c的应用终端密钥卡,应用ic卡地址id为idm,使用应用ic卡m的应用ic卡密钥卡。应用客户端密钥卡密钥区即应用终端密钥卡的密钥区和应用ic卡密钥卡的密钥区,具体结构如图5所示,包括该应用客户端(应用终端c或应用ic卡m)的公钥池和对称密钥池。其中,对称密钥池的具体结构如图6所示。设某应用客户端(应用终端c或应用ic卡m)密钥编号分别为1~n,应用客户端(应用终端c或应用ic卡m)私钥池为{c1,c2,……,cn},应用客户端(应用终端c或应用ic卡m)公钥池为{c1,c2,……,cn},其中,根据diffie-hellman协议获得cj=gcjmodp,j∈{1,2,……,n}。密钥卡颁发者即应用服务器为应用客户端(应用终端c和/或应用ic卡m)计算出所有的通信密钥kij,

计算方式为kij=(si)cjmodp,

其中,si为应用服务器公钥,cj为应用客户端(应用终端c或应用ic卡m)私钥,所有的通信密钥kij构成通信密钥表,应用服务器s将通信密钥表(即图6中灰色区域)复制入应用终端c或应用ic卡m所对应的密钥卡内。

本实施例为应用终端c和应用ic卡m通过应用服务器s进行协商密钥,并在通信过程中进行消息认证的过程。

应用服务器s与应用终端c协商密钥的步骤如下:

应用服务器s利用应用服务器密钥卡获得随机数rs和随机数rc。根据随机数rs和随机数rc,得到通信密钥kc。过程如图7所示,文字描述如下:

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

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

计算通信密钥为kc=(pkc)sksmodp

其中pkc为应用终端公钥,sks为应用服务器私钥,p为大素数。

应用服务器s使用通信密钥kc作为密钥加密消息与应用终端c进行通信。应用终端c应用终端收到利用通信密钥kc加密的消息文件后,根据随机数rs和随机数rc计算出应用服务器私钥指针ps和应用终端私钥指针pc,对应通信密钥表(即图6中灰色区域)中行i和列j,查通信密钥表得到通信密钥kc,以通信密钥kc解密所述加密的消息文件,获得消息文件实现信息交互。

应用终端c和应用ic卡m通过应用服务器s进行协商密钥,并在通信过程中进行消息认证的过程,包括以下的步骤1~5,文字描述如下:

步骤1.应用ic卡m与应用服务器s身份认证。

具体地,应用ic卡m与应用服务器s身份认证包括以下步骤1.1~1.4。

步骤1.1应用ic卡m向应用服务器s发送协商密钥基本信息。

具体地:应用ic卡m将应用ic卡地址idm和应用终端地址idc发送至应用服务器s,步骤包括:

步骤1.1.1应用终端c将应用终端地址idc发送至应用ic卡m。

步骤1.1.2应用ic卡m收到后,将应用终端地址idc与应用ic卡地址idm一起发送至应用服务器s。

步骤1.2应用服务器s利用应用ic卡m的第一随机数ra和应用服务器的第一随机数rb计算第一通信密钥kab并制作第一消息认证码,并将第一消息认证码发送至应用ic卡。

具体地,包括1.2.1~1.2.4步骤,步骤如下:

步骤1.2.1应用服务器s收到应用终端地址idc与应用ic卡地址idm后,根据应用ic卡地址idm结合应用服务器密钥卡内存有的应用ic卡的序列号池取出应用ic卡m的序列号sqn值即序列号sqnm,根据应用ic卡m的序列号sqnm得到应用ic卡m的公钥指针nsqnm,

其中得到公钥指针的方法包括:利用应用ic卡m的序列号sqnm随机选取应用ic卡地址idm中的一个数值作为应用ic卡m的公钥指针nsqnm。

步骤1.2.2应用服务器s计算应用ic卡的第一随机数ra

利用应用ic卡m的公钥指针nsqnm取出应用ic卡m的公钥pkmsqnm,计算应用ic卡的第一随机数ra=kh(sqnm,pkmsqnm),其中kh为带密钥的hash函数,如hmac。

步骤1.2.3应用服务器s利用应用ic卡m的第一随机数ra和应用服务器的第一随机数rb计算出第一通信密钥kab。

应用服务器s利用应用服务器密钥卡中的随机数发生器生成应用服务器的第一随机数rb,根据应用ic卡m的第一随机数ra和应用服务器的第一随机数rb计算出第一通信密钥kab,计算过程类似前文的根据随机数rs和随机数rc得到通信密钥kc的过程;具体步骤包括:

应用服务器s使用应用服务器的第一随机数rb结合应用服务器指针函数fs得到应用服务器私钥指针ps,通过应用服务器私钥指针ps从应用服务器私钥池中提取应用服务器私钥sks。还可以通过应用服务器私钥指针ps加上应用服务器公钥池起始位置ks0得到应用服务器公钥指针kss,通过应用服务器公钥指针kss从公钥池中提取应用服务器公钥pks。

应用服务器s使用应用ic卡m的第一随机数ra结合应用ic卡指针函数fm得到应用ic卡私钥指针pm,通过应用ic卡私钥指针pm加上应用ic卡公钥池起始位置ksn得到应用ic卡公钥指针ksm,通过应用ic卡公钥指针ksm从公钥池中提取应用ic卡公钥pkm。

计算第一通信密钥kab=(pkm)sksmodp,此第一通信密钥为应用服务器s与应用ic卡m之间的通信密钥。

步骤1.2.3应用服务器s制作第一消息认证码

应用服务器s将第一通信密钥kab、应用ic卡的第一随机数ra、应用服务器的第一随机数rb、应用服务器地址ids组合制作第一消息认证码macba,第一消息认证码macba根据公式macba=mac{kab,ra||rb||ids}进行计算获得,,其中第一消息认证码mac为带密钥的hash函数,例如hmac。

步骤1.2.4应用服务器s将含有第一消息认证码的第一消息传输至应用ic卡m。

应用服务器s将第一消息idm||ids||rb||macba发送给应用ic卡m,具体地,所述第一消息包括第一消息认证码macba、应用服务器地址ids、应用ic卡地址idm、应用服务器的第一随机数rb。

步骤1.3应用ic卡m利用应用ic卡的第二随机数ra’和应用服务器的第一随机数rb结合通信密钥表得到第二通信密钥kab’,利用该第二通信密钥kab’获得第二消息认证码,利用第二消息认证码实现应用ic卡m对应用服务器s的身份认证。

具体地,包括步骤1.3.1~1.3.3,步骤如下:

步骤1.3.1应用ic卡m收到应用服务器s发来的消息第一消息idm||ids||rb||macba后,用步骤1.2中相同的方式计算得到应用ic卡的第二随机数ra’,根据应用ic卡的第二随机数ra’和应用服务器的随机数rb计算出对应的随机数指针继而查通信密钥表得到第二通信密钥kab’,

具体过程如下:

步骤1.3.1.1根据应用ic卡地址idm结合应用ic卡密钥卡内的序列号池取出应用ic卡m的序列号sqn值即序列号sqnm,根据序列号sqnm得到应用ic卡m的公钥指针nsqnm,利用应用ic卡m的公钥指针nsqnm取出应用ic卡m的公钥pkmsqnm,计算应用ic卡的第二随机数ra’=kh(sqnm,pkmsqnm),其中kh为带密钥的hash函数,如hmac。

步骤1.3.1.2应用ic卡m使用应用服务器的随机数rb结合应用服务器指针函数fs得到应用服务器私钥指针ps;

应用ic卡m使用应用ic卡的第二随机数ra’结合应用ic卡指针函数fm得到应用ic卡私钥指针pm;

步骤1.3.1.3应用服务器私钥指针ps和应用ic卡私钥指针pm,对应通信密钥表(即图6中灰色区域)中行i和列j,查通信密钥表得到第二通信密钥kab’。

步骤1.3.2第二消息认证码与第一消息认证码比较

再根据公式获得新的mac值即第二消息认证码macba’,macba’=mac{kab’,ra’||rb||ids}。应用ic卡m将得到的第一消息认证码macba和己方第二消息认证码macba’进行对比,如果相同则验证成功,应用ic卡m完全信任应用服务器s的身份,并且确认第二通信密钥等于第一通信密钥即kab’=kab。

步骤1.3.3应用ic卡m将含有第三消息认证码的第二消息发送至应用服务器s。

应用ic卡m将利用序列号sqnm获得的应用ic卡的第二随机数ra’及第二通信密钥kab’进一步计算得到第三消息认证码即macab=mac{kab’,ra’||rb},并将第二消息idm||ids||macab发送给应用服务器s,并且对序列号sqnm进行自加操作,即sqnm=sqnm+1。当序列号等于无符号整型最大值时,自加操作后序列号变为0。其中所述第二消息包括第三消息认证码macab、应用服务器地址ids、应用ic卡地址idm。

步骤1.4应用服务器s实现应用服务器s对应用ic卡m的身份认证。

应用服务器s接受到来自应用ic卡m的消息组合第二消息idm||ids||macab后,应用服务器s根据应用ic卡地址idm结合应用服务器密钥卡内存有的应用ic卡的序列号池取出应用ic卡m的序列号sqn值sqnm,计算应用ic卡的第一随机数ra=kh(sqnm,pkmsqnm),并获得第一通信密钥kab=(pkm)sksmodp,继而计算得到第四消息认证码macab’,macab’=mac{kab,ra||rb},并将得到的第三消息认证码macab和第四消息认证码macab’进行对比,如果相同则验证成功,应用服务器s完全信任应用ic卡m的身份。应用服务器s将存在己端的序列号sqnm进行自加操作,即sqnm=sqnm+1。

步骤2.应用ic卡m向应用服务器s申请总票据

步骤2.1应用ic卡m将第一票据请求消息密文发送给应用服务器s。

步骤2.1.1应用ic卡m将应用ic卡地址idm、应用终端地址idc和申请票据的数量num组合为第一票据请求消息reqms,其中第一票据请求消息reqms为idm||idc||num;

步骤2.1.2用步骤1.3中获得的第二通信密钥kab’及第一票据请求消息reqms制作第一票据请求消息认证码mac_reqms,具体地公式为mac_reqms=mac(kab’,reqms);

步骤2.1.3用第二通信密钥kab’加密第一票据请求参数{reqms||mac_reqms}获得第一票据请求消息密文{reqms||mac_reqms}kab’,具体地,所述第一票据请求参数{reqms||mac_reqms}包括第一票据请求消息reqms和第一票据请求消息认证码mac_reqms;

应用ic卡m将第一票据请求消息密文{reqms||mac_reqms}kab’发送给应用服务器s。

步骤3.应用服务器s生成总票据并将内含总票据的第一票据生成消息密文发送至应用ic卡m。

接收第一票据请求消息密文,利用第一通信密钥解密获得第一请求参数,该第一票据请求消息密文由第二通信密钥加密第一票据请求参数,第一票据请求参数包括应用ic卡地址、应用终端地址和申请票据的数量;

查看应用服务器密钥卡内存有的应用终端的序列号池中是否存在与应用ic卡配对的信息,根据不同情况(应用服务器密钥卡内存在/不存在与应用ic卡配对的信息)得到对应的应用终端序列号,并根据该序列号得到应用终端第一随机数,并分别利用应用ic卡第三随机数和应用终端第一随机数与服务器第二随机数相结合计算获取相应通信密钥,利用所述通信密钥分别加密会话密钥进而获得应用ic卡票据、应用终端票据,各内含应用ic卡票据、应用终端票据、服务器第二随机数以及应用终端的序列号池记录应用ic卡的信息的位置参数构成子票据,多个子票据构成总票据并发送至应用ic卡。

具体步骤如下:

步骤3.1应用服务器s接收到来自应用ic卡m的第一票据请求消息密文{reqms||mac_reqms}kab’;

步骤3.2经过应用服务器s与应用ic卡m身份认证后,已确认步骤1.2中第一通信密钥kab与第二通信密钥kab’相等,利用第一通信密钥kab解密第一票据请求消息密文{reqms||mac_reqms}kab’获得第一票据请求参数{reqms||mac_reqms};

步骤3.3应用服务器s对第一票据请求消息认证码mac_reqms进行消息认证,消息认证成功则解析第一票据请求消息reqms得到应用ic卡m申请票据的数量num;

步骤3.4应用服务器s获得应用服务器的第二随机数rs、应用终端c的第一随机数rc、应用ic卡m的第三随机数rm

根据序列号池包括序列号和配对者,其中序列号与配对者一一对应,应用服务器s查看应用服务器密钥卡内存有应用终端c的序列号池是否存在与应用ic卡m配对的信息,以确定应用ic卡m是不是首次申请与应用终端c的认证。如果是首次申请,即应用ic卡m与应用终端c未配对,则应用服务器s从应用终端c的序列号池随机取出第k个未与其他应用ic卡m配对的序列号sqnck,并且在应用终端c的序列号池的第k个位置记录配对者应用ic卡m的信息即应用ic卡地址idm;如果不是首次申请,即应用ic卡m与应用终端c已经配对,则根据配对者应用ic卡m的地址信息idm从应用终端c的序列号池取出应用终端c的第k序列号sqnck,综上所述,故将k命名为应用终端的序列号池记录应用ic卡信息的位置参数。

应用服务器s得到序列号sqnck后,根据应用终端c的序列号sqnck得到应用终端c公钥指针nsqnck,根据应用终端c公钥指针nsqnck取出应用终端c的公钥pkcsqnck,利用应用终端c的公钥pkcsqnck计算应用终端c的第一随机数rc,即rc=kh(sqnck,pkcsqnck),其中kh为带密钥的hash函数,如hmac。

应用服务器s利用应用服务器密钥卡获得随机数rs,并使用步骤1.2中一样的方法获得应用ic卡随机数rm即应用ic卡的第三随机数,

具体地步骤如下:

应用服务器s收到应用ic卡地址idm后,根据应用ic卡地址idm从应用ic卡的序列号池取出应用ic卡m的序列号sqn值即序列号sqnm,根据序列号sqnm得到应用ic卡m的公钥指针nsqnm,其中得到公钥指针的方法包括:利用应用ic卡m的序列号sqnm随机选取应用ic卡地址idm中的一个数值作为应用ic卡m的公钥指针nsqnm。利用应用ic卡m的公钥指针nsqnm取出应用ic卡m的公钥pkmsqnm,计算获得应用ic卡的随机数rm=kh(sqnm,pkmsqnm),应用ic卡的随机数rm为应用ic卡的第三随机数。

步骤3.5应用服务器s利用应用ic卡的第三随机数rm和应用服务器的第二随机数rs可以计算得到应用服务器s与应用ic卡m之间的通信密钥km,此通信密钥km为第三通信密钥,具体步骤如下:

应用服务器s使用应用服务器的第二随机数rs结合应用服务器指针函数fs得到应用服务器私钥指针ps,通过应用服务器私钥指针ps从应用服务器私钥池中提取应用服务器私钥sks。还可以通过应用服务器私钥指针ps加上应用服务器公钥池起始位置ks0得到应用服务器公钥指针kss,通过应用服务器公钥指针kss从公钥池中提取应用服务器公钥pks。

应用服务器s使用应用ic卡m的第三随机数rm结合应用ic卡指针函数fm得到应用ic卡私钥指针pm,通过应用ic卡私钥指针pm加上应用ic卡公钥池起始位置ksn得到应用ic卡公钥指针ksm,通过应用ic卡公钥指针ksm从公钥池中提取应用ic卡公钥pkm。

计算应用服务器s与应用ic卡m之间的通信密钥km=(pkm)sksmodp,所述应用服务器s与应用ic卡m之间的通信密钥km为第三通信密钥。

同理,利用应用终端c的第一随机数rc和应用服务器的第二随机数rs计算得出应用服务器s和应用终端c的通信密钥kc,将所述应用服务器s和应用终端c的通信密钥kc命名为第四通信密钥。

步骤3.6应用服务器s利用应用服务器密钥卡随机选取随机数kmc作为会话密钥,利用会话密钥kmc分别制作应用ic卡票据tm和应用终端票据tc。

具体地,应用ic卡票据tm={kmc||idc||rm}km,由应用服务器s与应用ic卡m之间的通信密钥km即第三通信密钥加密应用ic卡参数{kmc||idc||rm}构成,所述应用ic卡参数包括所述会话密钥kmc、应用终端的地址idc、应用ic卡的第三随机数rm;

同理应用终端票据tc={kmc||idm||rc}kc,即应用终端票据tc由应用服务器s和应用终端c的通信密钥kc即第四通信密钥加密应用终端票据参数{kmc||idm||rc}构成,所述应用终端票据参数{kmc||idm||rc}包括会话密钥kmc、应用ic卡的地址idm及应用终端的第一随机数rc;

步骤3.7应用服务器s制作总票据

应用终端c的序列号池记录配对者应用ic卡m的信息的位置参数k、应用服务器的第二随机数rs、应用ic卡票据tm、应用终端票据tc构成子票据命名为子票据ticket,该子票据ticket为应用ic卡m向应用服务器s申请的票据ticket的其中之一,该子票据表示为{k||rs||tm||tc}。

因为应用ic卡m申请的票据ticket的数量是num个,所以应用服务器s需要生成的票据ticket的数量也为num个。每次生成一个子票据ticket后,应用服务器s对序列号sqnck和sqnm进行自加运算,即sqnck=sqnck+1,sqnm=sqnm+1。接着使用更新后的序列号sqnck和sqnm按照上面的步骤再次生成下一个子票据ticket,直到生成num个子票据ticket,获得总票据表示为σ{ticket}。故而根据应用ic卡m申请的票据ticket的数量为一个或多个,应用服务器s需生成的票据ticket的数量也为一个或多个。在本实施例中,总票据σ{ticket}为应用ic卡m申请的票据。

步骤3.8应用服务器s生成总票据并将内含总票据的第一票据生成消息密文发送至应用ic卡m。

应用服务器s将应用ic卡地址idm、应用终端地址idc和总票据σ{ticket}组合构成第一票据生成消息respsm即idm||idc||σ{ticket}。利用第一通信密钥kab、第一票据生成消息respsm生成第一票据生成消息认证码mac_respsm,具体公式为:mac_respsm=mac(kab,respsm),再将第一票据生成消息respsm和第一票据生成消息认证码mac_respsm的组合respsm||mac_respsm用第一通信密钥kab进行加密,获得第一票据生成消息密文{respsm||mac_respsm}kab并发送给应用ic卡m。

步骤4.应用ic卡m获得总票据

接收到来自应用服务器s的第一票据生成消息密文{respsm||mac_respsm}kab后,取出第二通信密钥kab’解密第一票据生成消息密文{respsm||mac_respsm}kab,对第一票据生成消息认证码mac_respsm进行消息认证,消息认证成功则解析第一票据生成消息respsm,进而应用ic卡m获得第一票据生成消息respsm即idm||idc||σ{ticket}参数值,得到总票据σ{ticket},将其存储在应用ic卡密钥卡内。

步骤5.应用ic卡m与应用终端c近距离通信

步骤5.1应用ic卡m提取子票据并以己方地址提取对应序列号进而计算应用ic卡的随机数rm’,该应用ic卡的随机数rm’为应用ic卡的第四随机数,令其结合通信密钥表可得应用ic卡m与应用服务器s之间的第五通信密钥km,该第五通信密钥km解密子票据ticket,获得信任的会话密钥kmc,利用该会话密钥kmc构成第一近距离通信认证码,并将含有第一近距离通信认证码的第一近距离通信消息传输至应用终端c。

具体地包括如下步骤:

步骤5.1.1应用ic卡m在总票据σ{ticket}中取出第一个子票据ticket,该子票据ticket由应用终端c的序列号池记录配对者应用ic卡m的信息的位置参数k、应用服务器的第二随机数rs、应用ic卡票据tm、应用终端票据tc构成子票据表示为{k||rs||tm||tc}。

步骤5.1.2应用ic卡m获得应用ic卡的第四随机数rm’

应用ic卡m根据应用ic卡的地址idm取出对应应用ic卡的序列号sqnm;

再根据应用ic卡的序列号sqnm得到应用ic卡公钥指针nsqnm,得到应用ic卡公钥指针nsqnm的方法包括:利用应用ic卡m的序列号sqnm随机选取应用ic卡地址idm中的一个数值作为应用ic卡m的公钥指针nsqnm;

根据应用ic卡m的公钥指针nsqnm取出应用ic卡m的公钥pkmsqnm,计算应用ic卡的第四随机数rm’=kh(sqnm,pkmsqnm)。

步骤5.1.3获得应用ic卡m与应用服务器s之间的第五通信密钥km

根据应用ic卡的第四随机数rm’和从ticket中解析出来的应用服务器的第二随机数rs可以计算得到对应的应用ic卡私钥指针、应用服务器私钥指针继而查通信密钥表可得应用ic卡m与应用服务器s之间的第五通信密钥km;

步骤5.1.4确认会话密钥kmc。

利用应用ic卡m与应用服务器s之间的第五通信密钥km解密子票据ticket中应用ic卡票据tm,tm为{kmc||idc||rm}km,获得会话密钥kmc和应用ic卡的第三随机数rm。将解密得到的应用ic卡的第三随机数rm和应用ic卡m计算出来的应用ic卡的第四随机数rm’进行比较,确认是否相等,确认会话密钥kmc。

步骤5.1.5利用会话密钥kmc、应用ic卡的第三随机数rm、应用终端的第一随机rc以及应用ic卡的地址idm构成第一近距离通信认证码macmc。

具体公式为:macmc=mac(kmc,rm||rc||idm);

其中应用终端的随机rc是由应用ic卡m根据应用终端的地址idc取出应用终端c的序列号sqn值即序列号sqnc,根据序列号sqnc得到应用终端c的公钥指针nsqnc,其中得到应用终端c的公钥指针nsqnc的方法包括:利用应用终端c的序列号sqnc随机选取应用终端c地址idc中的一个数值作为应用终端c的公钥指针nsqnc。利用应用终端c的公钥指针nsqnc取出应用终端c的公钥pkmsqnc,计算获得应用终端c的随机数rc=kh(sqnc,pkmsqnc)。

步骤5.1.6应用ic卡m将第一近距离通信消息idc||idm||k||rs||tc||macmc发送给应用终端c。

第一近距离通信消息idc||idm||k||rs||tc||macmc由应用终端的地址idc、应用ic卡的地址idm、应用终端c的序列号池记录配对者应用ic卡m的信息的位置参数k、应用服务器的第二随机数rs、应用终端票据tc、第一近距离通信认证码macmc构成。

步骤5.2应用终端c确认会话密钥kmc

接收应用ic卡发送的第一近距离通信消息,所述第一近距离通信消息由应用终端的地址、应用ic卡的地址、应用终端的序列号池记录应用ic卡m的信息的位置参数、应用服务器第二随机数、应用终端票据、第一近距离通信认证码构成;

利用位置参数结合应用终端序列号池提取出应用终端的序列号获取应用终端的第二随机数,利用应用终端第二随机数与应用服务器第二随机数结合通信密钥表提取第六通信密钥,利用该第六通信密钥解密应用终端票据进而获取信任的会话密钥实现近距离通信。

具体步骤如下:

步骤5.2.1应用终端c接收到来自应用ic卡m的第一近距离通信消息idc||idm||k||rs||tc||macmc。

步骤5.2.2确认会话密钥kmc,并将含有会话密钥kmc的第三近距离通信认证码传输至应用ic卡m。

利用应用终端c的序列号池记录配对者应用ic卡m的信息的位置参数k找到应用终端c的序列号池的第k个单元,存在如下情况:

如果应用终端c的序列号池的第k个单元存在配对者信息即应用ic卡m的信息,则查看应用ic卡m的信息即id值是否等于应用ic卡m的地址idm;如果应用终端c的序列号池的第k个单元不存在配对者信息,则无操作。在第k个单元存在配对者信息的情况下,利用应用终端c的序列号池的第k个单元取出应用终端c的序列号sqnck,计算出应用终端c的第二随机数rc’,利用应用终端c的第二随机数rc’和应用服务器的第二随机数rs可以计算得到对应应用终端私钥指针、应用服务器私钥指针继而查通信密钥表可得应用终端c与应用服务器s之间的通信密钥kc,将应用终端c与应用服务器s之间的通信密钥kc命名为第六通信密钥。利用应用终端c与应用服务器s之间的通信密钥kc解密应用终端票据tc即{kmc||idm||rc}kc,可以得到会话密钥kmc和应用终端c的第一随机数rc。将解密得到的应用终端c的第一随机数rc和应用终端c计算出来的应用终端c的第二随机数rc’进行比较,确认是否相等,确认会话密钥kmc。

应用终端c利用会话密钥kmc、应用ic卡的随机rm、解密得到的应用终端的随机rc以及应用ic卡m的信息id构成第二近距离通信认证码macmc’,具体公式为:macmc’=mac(kmc,rm||rc||id);其中应用ic卡的随机数rm是由应用终端c根据应用ic卡的地址idm取出应用ic卡m的序列号sqn值即序列号sqnm,根据序列号sqnm得到应用ic卡m的公钥指针nsqnm,其中得到应用ic卡m的公钥指针nsqnm的方法包括:利用应用ic卡的序列号sqnm随机选取应用ic卡地址idm中的一个数值作为应用ic卡m的公钥指针nsqnm。利用应用ic卡m的公钥指针nsqnm取出应用ic卡m的公钥pkmsqnm,计算获得应用ic卡m的随机数rm=kh(sqnm,pkmsqnm)。

应用终端c将计算出的第二近距离通信认证码macmc’和解密第一近距离通信消息得到的第一近距离通信认证码macmc进行对比,相等则信任idm,应用ic卡m的信息id等于应用ic卡m的地址idm。

如果序列池的第k个单元不存在配对者信息,则在应用终端c的序列号池的第k个位置记录配对者应用ic卡m的信息即应用ic卡地址idm。

将应用终端c的序列号sqnck自加,即sqnck=sqnck+1,利用会话密钥kmc、应用ic卡m的随机数rm、应用终端c的随机数rc获得第三近距离通信认证码maccm,具体公式为:maccm=mac(kmc,rm||rc),应用终端c将第二近距离通信消息idc||idm||maccm发送给应用ic卡m。

步骤5.3.应用ic卡m利用己方会话密钥与应用终端c进行身份认证,认证通过后双方以会话密钥kmc作为加密密钥进行安全通信。

应用ic卡m接收到来自应用终端c的第二近距离通信消息idc||idm||maccm后,利用己方会话密钥kmc、应用ic卡m的随机数rm、应用终端c的随机数rc获得第四近距离通信认证码maccm’,具体公式为:maccm’=mac(kmc,rm||rc),比较计算得到的第四近距离通信认证码maccm’和来自应用终端c的第三近距离通信认证码maccm,如果相等则信任应用终端c。双方可以使用会话密钥kmc作为加密密钥进行安全通信。最后对应用终端c的序列号sqnck进行自加操作,即sqnck=sqnck+1。应用ic卡m完成与应用终端c的认证和密钥协商流程后,删除本地的当前第一个子票据ticket,将下一个子票据ticket作为新的当前第一个子票据ticket。

一种基于密钥卡和序列号的抗量子计算应用系统近距离节能通信系统,应用于上述基于密钥卡和序列号的抗量子计算应用系统近距离节能通信方法,抗量子计算应用系统包括应用服务器和与所述应用服务器通信连接的至少一个应用客户端,所述应用客户端包括应用终端和应用ic卡,抗量子计算应用系统各成员均配有包含序列号池的密钥卡,所述序列号池包括序列号和配对者,所述应用服务器的序列号池还包含应用服务器序列号池、应用终端序列号池以及应用ic卡序列号池,所述应用终端与所述应用ic卡通过信任的会话密钥近距离通信,其中:

应用ic卡,用于与应用服务器身份认证,并发送第一票据请求消息密文至应用服务器,该第一票据请求消息密文由通信密钥加密第一票据请求参数,第一票据请求参数包括应用ic卡地址、应用终端地址和申请票据的数量,接收申请总票据获取会话密钥实现与应用终端近距离通信;

应用服务器,用于接收第一票据请求消息密文,利用第一通信密钥解密获得第一请求参数,第一请求参数包括应用ic卡地址、应用终端地址和申请票据的数量,查看应用服务器密钥卡内存有的应用终端的序列号池中是否存在与应用ic卡配对的信息,并提取应用终端的序列号池记录应用ic卡的信息的位置参数,利用位置参数以及应用ic卡地址结合应用服务器密钥卡内序列号池提取应用ic卡第三随机数及应用终端第一随机数,并利用应用ic卡第三随机数/应用终端第一随机数与服务器二随机数计算获取相应通信密钥,利用所述通信密钥分别加密会话密钥进而获得应用ic卡票据、应用终端票据,各内包含应用ic卡票据、应用终端票据、服务器第二随机数以及应用终端的序列号池记录应用ic卡的信息的位置参数构成子票据,多个子票据构成总票据并发送至应用ic卡;

应用终端,用于接收所述应用卡发送的第一近距离通信消息,利用位置参数结合应用终端序列号池提取出应用终端的序列号获取应用终端的第二随机数,利用应用终端第二随机数与应用服务器第二随机数结合通信密钥表提取第六通信密钥,利用该第六通信密钥解密应用终端票据进而获取信任的会话密钥实现近距离通信。

一种计算机设备,该计算机设备包括通过系统总线连接的处理器、存储器。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序。该计算机设备的处理器执行所述计算机程序时实现上述任一种基于密钥卡和序列号的抗量子计算应用系统近距离节能通信方法的步骤。

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

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

低功耗的应用终端与应用ic卡不使用公钥、私钥进行计算,仅需查表即可获得与应用服务器加密通信的共享密钥,计算量小,速度快;并能为其节能,延长应用终端与应用ic卡的电池使用时间。

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

以上所述实施例所用的diffie-hellman协议也可以替换为其椭圆曲线版本,即ecdh(ellipticcurvediffie-hellman),其效果是一样的。

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

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

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