CN109064606B - 门禁任务执行方法、系统、门禁系统和可读存储介质 - Google Patents

门禁任务执行方法、系统、门禁系统和可读存储介质 Download PDF

Info

Publication number
CN109064606B
CN109064606B CN201810878122.9A CN201810878122A CN109064606B CN 109064606 B CN109064606 B CN 109064606B CN 201810878122 A CN201810878122 A CN 201810878122A CN 109064606 B CN109064606 B CN 109064606B
Authority
CN
China
Prior art keywords
message
task
key
session
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810878122.9A
Other languages
English (en)
Other versions
CN109064606A (zh
Inventor
江泽鑫
常海龙
魏利浩
钟柯佳
王豪博
练金初
李佳佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Bonsoninfo System Co ltd
Original Assignee
Guangzhou Bonsoninfo System Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Bonsoninfo System Co ltd filed Critical Guangzhou Bonsoninfo System Co ltd
Priority to CN201810878122.9A priority Critical patent/CN109064606B/zh
Publication of CN109064606A publication Critical patent/CN109064606A/zh
Application granted granted Critical
Publication of CN109064606B publication Critical patent/CN109064606B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00571Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by interacting with a central unit
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • G07C9/27Individual registration on entry or exit involving the use of a pass with central registration
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • G07C2009/00412Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks the transmitted data signal being encrypted

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请涉及一种门禁任务执行方法、系统、门禁系统和可读存储介质。所述方法包括:接收服务器发送的认证报文,根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,在判定任务报文未被篡改时,将认证报文发送至锁钥端,锁钥端用于执行认证报文中任务报文对应的门禁任务。采用本方法能够将服务器下发的认证报文发送给锁钥端,锁钥端不需要通过与服务器连接获取认证报文,根据认证报文获取门禁任务,减少了锁钥端与服务器连接的需要,可以适应移动通信网络信号差或无移动通信网络的场景,减少锁钥端与服务器连接所需时间,以及减少锁钥端从服务器获取任务报文的时间,提高门禁任务执行的效率。

Description

门禁任务执行方法、系统、门禁系统和可读存储介质
技术领域
本申请涉及门禁系统技术领域,特别是涉及一种门禁任务执行方法、门禁任务执行系统、门禁系统和可读存储介质。
背景技术
门禁系统中,通过服务器和客户端控制锁钥端进行开门或关门等门禁任务,可以很好地保障门禁的安全性,其中,锁钥端包括门锁或钥匙。
但是在实际使用过程中,锁钥端可能在较为偏远的地方或者建筑物密集的地方使用,在上述所处的使用位置下,锁钥端所处环境的网络往往容易出现网络信号强度低的情况,造成无法使锁钥端执行门禁任务或执行门禁任务所花费的时间长,大大降低了门禁任务执行的效率。
发明内容
基于此,有必要针对上述门禁任务执行效率低的问题,提供一种门禁任务执行方法、系统、门禁系统和可读存储介质。
一种门禁任务执行方法,包括以下步骤:
接收服务器发送的认证报文,其中,认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名;
根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,其中,公钥是与私钥相互匹配的密钥;
在判定任务报文未被篡改时,将认证报文发送至锁钥端,其中,锁钥端用于执行认证报文中任务报文对应的门禁任务。
一种门禁任务执行系统,包括:
第一认证报文接收模块,用于接收服务器发送的认证报文,其中,认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名;
第一判断模块,用于根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,其中,公钥是与私钥相互匹配的密钥;
第一认证报文发送模块,用于在判定任务报文未被篡改时,将认证报文发送至锁钥端,其中,锁钥端用于执行认证报文中任务报文对应的门禁任务。
一种门禁任务执行方法,包括以下步骤:
根据私钥加密任务报文的摘要并生成任务签名串,其中,任务报文的摘要为根据任务报文和SM3密码杂凑算法生成的摘要;
根据任务报文和任务签名串生成认证报文;
将认证报文发送至客户端,其中,客户端用于向锁钥端转发认证报文,锁钥端用于执行任务报文对应的门禁任务。
在一个实施例中,将认证报文发送至客户端的步骤,包括以下步骤:
接收客户端发送的用户数据报文,其中,用户数据报文包括客户端根据公钥加密临时会话密钥所生成的报文,公钥是与私钥相互匹配的密钥;
根据私钥解密用户数据报文并获取临时会话密钥;
根据临时会话密钥加密认证报文并生成第一会话加密报文;
向客户端发送第一会话加密报文,其中,客户端还用于根据私钥解密第一会话加密报文并获取认证报文。
一种门禁任务执行系统,包括:
任务签名串生成模块,用于根据私钥加密任务报文的摘要并生成任务签名串,其中,任务报文的摘要为根据任务报文和SM3密码杂凑算法生成的摘要;
认证报文生成模块,用于根据任务报文和任务签名串生成认证报文;
第二认证报文发送模块,用于将认证报文发送至客户端,其中,客户端用于向锁钥端转发认证报文,锁钥端用于执行任务报文对应的门禁任务。
一种门禁任务执行方法,包括以下步骤:
接收客户端发送的认证报文,其中,认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名;
根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,其中,公钥是与私钥相互匹配的密钥;
在判定任务报文未被篡改时,执行认证报文中任务报文对应的门禁任务。
一种门禁任务执行方法,包括以下步骤:
服务器向客户端发送认证报文,其中,认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名;
客户端根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,在判定任务报文未被篡改时,客户端将认证报文发送至锁钥端,其中,公钥是私钥相互匹配的密钥;
锁钥端根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,在判定任务报文未被篡改时,锁钥端执行认证报文中任务报文对应的门禁任务。
一种门禁任务执行系统,包括服务器、客户端和锁钥端:
服务器,用于向客户端发送认证报文,其中,认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名;
客户端,用于根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,在判定任务报文未被篡改时,将认证报文发送至锁钥端,其中,公钥是私钥相互匹配的密钥;
锁钥端,用于根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,在判定任务报文未被篡改时,执行认证报文中任务报文对应的门禁任务。
一种门禁系统,包括锁钥端和服务器,服务器通过客户端与锁钥端连接,锁钥端包括门锁或钥匙;
服务器用于执行门禁任务执行方法的步骤;
门锁用于执行门禁任务执行方法的步骤;
钥匙用于执行门禁任务执行方法的步骤。
一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现门禁任务执行方法的步骤。
上述门禁任务执行方法、系统、门禁系统和可读存储介质,将服务器下发的认证报文发送给锁钥端,锁钥端不需要通过与服务器连接获取认证报文,根据认证报文获取门禁任务,减少了锁钥端与服务器连接的需要,可以适应移动通信网络信号差或无移动通信网络的场景,减少锁钥端与服务器连接所需时间,以及减少锁钥端从服务器获取任务报文的时间,提高门禁任务执行的效率;而且,在接收到认证报文的时候,应当能够验证认证报文的真实性,判断认证报文是否存在被篡改的情况,可以实现认证功能并保证门禁任务执行的安全性。
附图说明
图1为一个实施例中门禁任务执行方法的应用环境图;
图2为一个实施例中门禁任务执行方法的流程图;
图3为一个实施例中认证报文发送的流程图;
图4为一个实施例中门禁任务执行系统的结构示意图;
图5为另一个实施例中门禁任务执行方法的流程图;
图6为另一个实施例中门禁任务执行系统的结构示意图;
图7为再一个实施例中门禁任务执行方法的流程图;
图8为再一个实施例中门禁任务执行系统的结构示意图;
图9为又一个实施例中门禁任务执行方法的流程图;
图10为又一个实施例中门禁任务执行系统的结构示意图;
图11为一个实施例中门禁系统的结构示意图;
图12为一个实施例中服务器与客户端的通信示意图;
图13为一个实施例中客户端与锁钥端的通信示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的门禁任务执行方法,可以应用于如图1所示的应用环境中,图1为一个实施例中门禁任务执行方法的应用环境图。其中,服务器110通过网络与客户端120进行通信,客户端120通过联网与服务器连接,客户端120与锁钥端130进行通信,客户端120不一定通过联网与锁钥端130连接,锁钥端130可以包括门锁或钥匙,锁钥端130用于执行门禁任务,例如可以进行开锁任务。存在一对公钥和私钥,服务器可以使用和访问私钥,而客户端和锁钥端可以使用和访问公钥。客户端120可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器110可以用独立的服务器或者是多个服务器组成的服务器集群,或者是云服务器来实现。本申请中任务报文的摘要可以通过SM3密码杂凑算法对任务报文进行处理而获得。
在一个实施例中,如图2所示,图2为一个实施例中门禁任务执行方法的流程图,本实施例中提供了一种门禁任务执行方法,以该方法应用于图1中的客户端120为例进行说明,包括以下步骤:
步骤S210:接收服务器发送的认证报文,其中,认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名。
可以在联网后,通过网络与服务器连接,接收认证报文。将签名串附在任务报文的后面即可获取认证报文。
步骤S220:根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,其中,公钥是与私钥相互匹配的密钥。
认证报文中包括有任务报文,通过认证报文可以获取对应的任务报文。判断任务报文是否被篡改可以判断任务报文的真实性,提高安全性。
步骤S230:在判定任务报文未被篡改时,将认证报文发送至锁钥端,其中,锁钥端用于执行认证报文中任务报文对应的门禁任务。
上述门禁任务执行方法,将服务器下发的认证报文发送给锁钥端,锁钥端不需要通过与服务器连接获取认证报文,根据认证报文获取门禁任务,减少了锁钥端与服务器连接的需要,可以适应移动通信网络信号差或无移动通信网络的场景,减少锁钥端与服务器连接所需时间,以及减少锁钥端从服务器获取任务报文的时间,提高门禁任务执行的效率;而且,在接收到认证报文的时候,应当能够验证认证报文的真实性,判断认证报文是否存在被篡改的情况,可以实现认证功能并保证门禁任务执行的安全性。
通过验证认证报文的真实性,判断认证报文是否存在被篡改的情况,例如可以发现认证报文是否被伪造或被重放,提高门禁的安全性。
锁钥端包括门锁或钥匙,在传统的门禁系统中,门禁系统通过网络向门锁或钥匙下发任务报文,通过控制门锁实现任务报文对应的开锁任务,或是通过钥匙实现任务报文对应的开锁任务,一般是通过移动通信网络进行任务报文的下发。但是往往在实际使用的过程,门锁安装的位置位于房屋的门口,房屋的门口往往是位于建筑物较为内部的区域,如住宅的门口、写字楼办公室的门口和电梯间,这类的地方往往移动通信网络信号不是很好。移动通信网络信号差,造成无法使锁钥端执行门禁任务或执行门禁任务所花费的时间长,会影响门锁对门禁任务执行的效率。同样对于钥匙使用的位置也是位于房屋的门口,也会影响钥匙对门禁任务执行的效率。
在一个实施例中,根据任务报文、任务签名串和公钥,判断任务报文是否被篡改的步骤,包括以下步骤:
步骤S221:根据任务报文和SM3密码杂凑算法生成任务报文的第一摘要。
步骤S222:根据公钥对任务签名串进行解密并生成解密后的第二摘要。
步骤S223:在第一摘要与第二摘要相同时,判定任务报文未被篡改。
步骤S224:在第一摘要与第二摘要不相同时,判定任务报文已被篡改。
上述门禁任务执行方法,由于认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名,因此在任务报文未被篡改时,根据任务报文获取的摘要和根据任务签名串获取的摘要是相同的,即可以在第一摘要与第二摘要相同时,判定任务报文未被篡改,准确地判断任务报文是否被篡改。
在一个实施例中,接收服务器发送的认证报文的步骤,包括以下步骤:
步骤S211:生成临时会话密钥,根据公钥加密临时会话密钥并生成用户数据报文,将用户数据报文发送至服务器。
步骤S212:接收服务器发送的第一会话加密报文,根据临时会话密钥解密第一会话加密报文并获取认证报文。
上述门禁任务执行方法,通过临时会话密钥,在与服务器之间的通信进行加密,可以防止认证报文被窃听、被重放或被破解,提高门禁任务执行的安全性。
在一个实施例中,生成临时会话密钥的步骤,包括以下步骤:
步骤S213:在接收服务器发送的对称密钥报文请求时,生成随机数并将随机数作为临时会话密钥。
上述门禁任务执行方法,可以通过生成随机数的方式可以生成临时会话密钥,提高加密通信的安全性。
在一个实施例中,如图3所示,图3为一个实施例中认证报文发送的流程图,将认证报文发送至锁钥端的步骤,包括以下步骤:
步骤S231:生成第一会话密钥,其中,第一会话密钥为与锁钥端的第二会话密钥相互匹配的密钥;
步骤S232:根据第一会话密钥加密认证报文并生成第二会话加密报文,将第二会话加密报文发送至锁钥端,其中,锁钥端还用于根据第二会话密钥解密第二会话加密报文并生成认证报文。
上述门禁任务执行方法,通过第一会话密钥和第二会话加密报文,在与锁钥端之间的通信进行加密,可以防止认证报文被窃听、被重放或被破解,提高门禁任务执行的安全性。
在一个实施例中,生成第一会话密钥的步骤,包括以下步骤:
步骤S233:向锁钥端发送第一大素数、第二大素数和第一余数,其中,第一余数为根据第一大素数、第二大素数和第一随机数进行幂取模运算所生成的余数。
步骤S234:接收锁钥端发送的第二余数,根据第一大素数、第二大素数和第二余数进行幂取模运算并生成第一密钥,其中,第二余数为锁钥端根据第一大素数、第二大素数和第二随机数进行幂取模运算所生成的余数。
第一大素数为m,第二大素数为g,第一随机数为a,第一余数为X,第二余数为Y,第一余数满足:X=g^a mod m,第二余数满足Y=g^b mod m,其中,^表示幂运算符号,mod表示取余函数。
步骤S235:根据第一密钥加密第一测试数据并生成第一测试报文,将第一测试报文发送至锁钥端。
步骤S236:接收锁钥端发送的第二测试报文,根据第一密钥解密第二测试报文并生成第二测试数据,其中,第二测试报文为锁钥端根据第二密钥对第一测试报文依次进行解密、添加预设值和加密操作后生成的报文。
第一密钥为keyA,第一密钥满足keyA=Y^a mod m,第二密钥为keyB,第二密钥满足keyB=X^b mod m,其中,^表示幂运算符号,mod表示取余函数。
步骤S237:在第一测试数据和第二测试数据的差值为预设值时,将第一密钥作为第一会话密钥。
预设值可以是一个固定的数据,也可以是一个固定值,例如,预设值可以固定为数值1。
步骤S238:在第一测试数据和第二测试数据的差值不等于预设值时,更新第一随机数,并跳转至步骤S235:向锁钥端发送第一大素数、第二大素数和第一余数的步骤。
上述门禁任务执行方法,通过大素数的幂取模运算分别获取第一密钥和第二密钥,验证第一密钥和第二密钥是否相互匹配,在第一密钥与第二密钥相互匹配时可以进行与锁钥端之间的加密通信,可以提高加密通信的安全性。
为了确保第一密钥和第二密钥相互匹配,根据第一密钥对第一测试数据进行加密并生成第一测试报文。锁钥端接收第一测试报文,根据第二密钥对第一测试报文进行解密;在第一密钥和第二密钥相互匹配时,锁钥端对第一测试报文解密后所获取的数据应该是等于第一测试数据。锁钥端对第一测试报文解密后所获取的数据叠加预设值,将叠加预设值后的数据通过第二密钥进行加密并生成第二测试报文。在第一密钥和第二密钥相互匹配时,通过第一密钥对第二测试报文进行解密后所获取的数据应该与第一测试数据相差预设值。因此,通过第一测试数据、第二测试数据和预设值,可以判断第一密钥和第二密钥是否相互匹配。
在一个实施例中,如图4所示,图4为一个实施例中门禁任务执行系统的结构示意图。本实施例中门禁任务执行系统,包括第一认证报文接收模块310、第一判断模块320和第一认证报文发送模块330,其中:
第一认证报文接收模块310,用于接收服务器发送的认证报文,其中,认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名。
第一认证报文接收模块310可以在联网后,通过网络与服务器连接,接收认证报文。将签名串附在任务报文的后面即可获取认证报文。
第一判断模块320,用于根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,其中,公钥是与私钥相互匹配的密钥。
认证报文中包括有任务报文,通过认证报文可以获取对应的任务报文。第一判断模块320中判断任务报文是否被篡改可以判断任务报文的真实性,提高安全性。
第一认证报文发送模块330,用于在判定任务报文未被篡改时,将认证报文发送至锁钥端,其中,锁钥端用于执行认证报文中任务报文对应的门禁任务。
上述门禁任务执行系统,将服务器下发的认证报文发送给锁钥端,锁钥端不需要通过与服务器连接获取认证报文,根据认证报文获取门禁任务,减少了锁钥端与服务器连接的需要,可以适应移动通信网络信号差或无移动通信网络的场景,减少锁钥端与服务器连接所需时间,以及减少锁钥端从服务器获取任务报文的时间,提高门禁任务执行的效率;而且,在接收到认证报文的时候,应当能够验证认证报文的真实性,判断认证报文是否存在被篡改的情况,可以实现认证功能并保证门禁任务执行的安全性。
通过验证认证报文的真实性,判断认证报文是否存在被篡改的情况,例如可以发现认证报文是否被伪造或被重放,提高门禁的安全性。
在一个实施例中,如图5所示,图5为另一个实施例中门禁任务执行方法的流程图,本实施例中提供了一种门禁任务执行方法,以该方法应用于图1中的服务器110为例进行说明,包括以下步骤:
步骤S410:根据私钥加密任务报文的摘要并生成任务签名串,其中,任务报文的摘要为根据任务报文和SM3密码杂凑算法生成的摘要。
步骤S420:根据任务报文和任务签名串生成认证报文。
步骤S430:将认证报文发送至客户端,其中,客户端用于向锁钥端转发认证报文,锁钥端用于执行任务报文对应的门禁任务。
可以在联网后,通过网络与客户端连接,向客户端发送认证报文。
而且根据任务报文和任务签名串生成认证报文,其中任务签名串是根据私钥加密任务报文的摘要所生成的,任务签名串可以有助于任务报文的真实性的验证,以便于提高门禁任务执行的安全性。
上述门禁任务执行方法,生成的认证报文可以用于被客户端转发至锁钥端,锁钥端不需要通过网络连接获取认证报文,根据认证报文获取门禁任务,减少了锁钥端与网络连接的需要,可以适应移动通信网络信号差或无移动通信网络的场景,减少锁钥端从服务器获取任务报文的时间,提高门禁任务执行的效率。
在一个实施例中,将认证报文发送至客户端的步骤,包括以下步骤:
步骤S431:接收客户端发送的用户数据报文,其中,用户数据报文包括客户端根据公钥加密临时会话密钥所生成的报文,公钥是与私钥相互匹配的密钥。
步骤S432:根据私钥解密用户数据报文并获取临时会话密钥。
步骤S433:根据临时会话密钥加密认证报文并生成第一会话加密报文。
步骤S434:向客户端发送第一会话加密报文,其中,客户端还用于根据私钥解密第一会话加密报文并获取认证报文。
上述门禁任务执行方法,通过临时会话密钥,在与客户端之间的通信进行加密,可以防止认证报文被窃听、被重放或被破解,提高门禁任务执行的安全性。
在一个实施例中,在接收客户端发送的用户数据报文的步骤之前,还包括以下步骤:
在客户端登录成功后,向客户端发送对称密钥报文请求,其中,客户端还用于根据对称密钥报文请求发送用户数据报文。
上述门禁任务执行方法,通过向客户端发送对称密钥报文请求,可以获取临时会话密钥,以便于建立在与客户端之间的通信进行加密,提高门禁任务执行的安全性。
在一个实施例中,如图6所示,图6为另一个实施例中门禁任务执行系统的结构示意图,本实施例中门禁任务执行系统,包括任务签名串生成模块510、认证报文生成模块520和第二认证报文发送模块530,其中:
任务签名串生成模块510,用于根据私钥加密任务报文的摘要并生成任务签名串,其中,任务报文的摘要为根据任务报文和SM3密码杂凑算法生成的摘要;
认证报文生成模块520,用于根据任务报文和任务签名串生成认证报文;
第二认证报文发送模块530,用于将认证报文发送至客户端,其中,客户端用于向锁钥端转发认证报文,锁钥端用于执行任务报文对应的门禁任务。
根据任务报文和任务签名串生成认证报文,其中,任务签名串是根据私钥加密任务报文的摘要所生成的,任务签名串可以有助于任务报文的真实性的验证,以便于提高门禁任务执行的安全性。
上述门禁任务执行系统,生成的认证报文可以用于被客户端转发至锁钥端,锁钥端不需要通过网络连接获取认证报文,根据认证报文获取门禁任务,减少了锁钥端与网络连接的需要,可以适应移动通信网络信号差或无移动通信网络的场景,减少锁钥端从服务器获取任务报文的时间,提高门禁任务执行的效率。
在一个实施例中,如图7所示,图7为再一个实施例中门禁任务执行方法的流程图,本实施例中提供了一种门禁任务执行方法,以该方法应用于图1中的锁钥端130为例进行说明,包括以下步骤:
步骤S610:接收客户端发送的认证报文,其中,认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名。
可以与客户端连接,并接收客户端发送的认证报文。例如可以不通过联接入移动通信网络,而是直接与客户端建立连接。
步骤S620:根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,其中,公钥是与私钥相互匹配的密钥。
认证报文中包括有任务报文,通过认证报文可以获取对应的任务报文。判断任务报文是否被篡改可以判断任务报文的真实性,提高安全性。
步骤S630:在判定任务报文未被篡改时,执行认证报文中任务报文对应的门禁任务。
上述门禁任务执行方法,通过接收客户端发送的认证报文,验证认证报文的真实性,判断认证报文是否存在被篡改的情况,在判定任务报文未被篡改时,执行认证报文中任务报文对应的门禁任务,可以实现认证功能并保证门禁任务执行的安全性。
在一个实施例中,根据任务报文、任务签名串和公钥,判断任务报文是否被篡改的步骤,包括以下步骤:
步骤S621:根据任务报文和SM3密码杂凑算法生成任务报文的第一摘要。
步骤S622:根据公钥对任务签名串进行解密并生成解密后的第二摘要。
步骤S623:在第一摘要与第二摘要相同时,判定任务报文未被篡改。
步骤S624:在第一摘要与第二摘要不相同时,判定任务报文已被篡改。
上述门禁任务执行方法,由于认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名,因此在任务报文未被篡改时,根据任务报文获取的摘要和根据任务签名串获取的摘要是相同的,即可以在第一摘要与第二摘要相同时,判定任务报文未被篡改,准确地判断任务报文是否被篡改。
在一个实施例中,接收客户端发送的认证报文的步骤,包括以下步骤:
步骤S611:生成第二会话密钥,其中,第二会话密钥与客户端的第一会话密钥相互匹配的密钥。
步骤S612:接收客户端发送的第二会话加密报文。
步骤S613:根据第二会话密钥解密第二会话加密报文并获取认证报文。
上述门禁任务执行方法,通过第一会话密钥和第二会话加密报文,在与客户端之间的通信进行加密,可以防止认证报文被窃听、被重放或被破解,提高门禁任务执行的安全性。
在一个实施例中,如图8所示,图8为再一个实施例中门禁任务执行系统的结构示意图。本实施例中门禁任务执行系统,包括第二认证报文接收模块710、第二判断模块720和门禁任务执行模块730,其中:
第二认证报文接收模块710,用于接收客户端发送的认证报文,其中,认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名。
第二认证报文接收模块710可以与客户端连接,并接收客户端发送的认证报文。例如可以不通过联接入移动通信网络,而是直接与客户端建立连接。
第二判断模块720,用于根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,其中,公钥是与私钥相互匹配的密钥。
认证报文中包括有任务报文,通过认证报文可以获取对应的任务报文。判断任务报文是否被篡改可以判断任务报文的真实性,提高安全性。
门禁任务执行模块730,用于在判定任务报文未被篡改时,执行认证报文中任务报文对应的门禁任务。
上述门禁任务执行系统,通过接收客户端发送的认证报文,验证认证报文的真实性,判断认证报文是否存在被篡改的情况,在判定任务报文未被篡改时,执行认证报文中任务报文对应的门禁任务,可以实现认证功能并保证门禁任务执行的安全性。
在一个实施例中,如图9所示,图9为又一个实施例中门禁任务执行方法的流程图,本实施例中门禁任务执行方法,以该方法应用于图1的应用环境为例进行说明包括以下步骤:
步骤S810:服务器向客户端发送认证报文,其中,认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名;
服务器和客户端可以在联网后,服务器通过网络向客户端发送认证报文。将签名串附在任务报文的后面即可获取认证报文。
步骤S820:客户端根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,在判定任务报文未被篡改时,客户端将认证报文发送至锁钥端,其中,公钥是私钥相互匹配的密钥;
客户端可以与锁钥端连接,由客户端向锁钥端发送的认证报文。例如客户端和锁钥端可以不联接入移动通信网络,而是锁钥端直接与客户端建立连接。
步骤S830:锁钥端根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,在判定任务报文未被篡改时,锁钥端执行认证报文中任务报文对应的门禁任务。
认证报文中包括有任务报文,通过认证报文可以获取对应的任务报文。判断任务报文是否被篡改可以判断任务报文的真实性,提高安全性。
上述门禁任务执行方法,客户端将服务器下发的认证报文发送给锁钥端,锁钥端不需要通过与服务器连接获取认证报文,根据认证报文获取门禁任务,减少了锁钥端与服务器连接的需要,可以适应移动通信网络信号差或无移动通信网络的场景,减少锁钥端与服务器连接所需时间,以及减少锁钥端从服务器获取任务报文的时间,提高门禁任务执行的效率;而且,客户端和锁钥端可以在接收到认证报文的时候,能够验证认证报文的真实性,判断认证报文是否存在被篡改的情况,可以实现认证功能并保证门禁任务执行的安全性。
在一个实施例中,如图10所示,图10为又一个实施例中门禁任务执行系统的结构示意图,本实施例中的门禁任务执行系统,包括服务器910、客户端920和锁钥端930:
服务器910,用于向客户端920发送认证报文,其中,认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名;
服务器910和客户端920可以在联网后,服务器910通过网络向客户端920发送认证报文。将签名串附在任务报文的后面即可获取认证报文。
客户端920,用于根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,在判定任务报文未被篡改时,将认证报文发送至锁钥端930,其中,公钥是私钥相互匹配的密钥;
客户端920可以与锁钥端930连接,由客户端920向锁钥端930发送的认证报文。例如客户端920和锁钥端930可以不联接入移动通信网络,而是锁钥端930直接与客户端920建立连接。
锁钥端930,用于根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,在判定任务报文未被篡改时,执行认证报文中任务报文对应的门禁任务。
上述门禁任务执行系统,客户端将服务器下发的认证报文发送给锁钥端,锁钥端不需要通过与服务器连接获取认证报文,根据认证报文获取门禁任务,减少了锁钥端与服务器连接的需要,可以适应移动通信网络信号差或无移动通信网络的场景,减少锁钥端与服务器连接所需时间,以及减少锁钥端从服务器获取任务报文的时间,提高门禁任务执行的效率;而且,客户端和锁钥端可以在接收到认证报文的时候,能够验证认证报文的真实性,判断认证报文是否存在被篡改的情况,可以实现认证功能并保证门禁任务执行的安全性。
在一个实施例中,本实施例中提供一种门锁,该门锁可以通过客户端与服务器连接,门锁用于执行门禁任务执行方法的步骤。
门锁可以接收客户端发送的认证报文,其中,认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名;根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,其中,公钥是与私钥相互匹配的密钥;在判定任务报文未被篡改时,执行认证报文中任务报文对应的门禁任务。
门锁还可以在根据任务报文、任务签名串和公钥,判断任务报文是否被篡改的步骤中,根据任务报文和SM3密码杂凑算法生成任务报文的第一摘要;根据公钥对任务签名串进行解密并生成解密后的第二摘要;在第一摘要与第二摘要相同时,判定任务报文未被篡改;在第一摘要与第二摘要不相同时,判定任务报文已被篡改。
门锁还可以在接收客户端发送的认证报文的步骤中,生成第二会话密钥,其中,第二会话密钥与客户端的第一会话密钥相互匹配的密钥;接收客户端发送的第二会话加密报文;根据第二会话密钥解密第二会话加密报文并获取认证报文。
上述门锁,通过接收客户端发送的认证报文,验证认证报文的真实性,判断认证报文是否存在被篡改的情况,在判定任务报文未被篡改时,执行认证报文中任务报文对应的门禁任务,可以实现认证功能并保证门禁任务执行的安全性。
在一个实施例中,本实施例提供一种钥匙,该钥匙可以通过客户端与服务器连接,钥匙用于执行门禁任务执行方法的步骤。
钥匙可以接收客户端发送的认证报文,其中,认证报文包括任务报文和任务签名串,任务签名串为对任务报文的摘要通过私钥加密所获取的签名;根据任务报文、任务签名串和公钥,判断任务报文是否被篡改,其中,公钥是与私钥相互匹配的密钥;在判定任务报文未被篡改时,执行认证报文中任务报文对应的门禁任务。
钥匙还可以在根据任务报文、任务签名串和公钥,判断任务报文是否被篡改的步骤中,根据任务报文和SM3密码杂凑算法生成任务报文的第一摘要;根据公钥对任务签名串进行解密并生成解密后的第二摘要;在第一摘要与第二摘要相同时,判定任务报文未被篡改;在第一摘要与第二摘要不相同时,判定任务报文已被篡改。
钥匙还可以在接收客户端发送的认证报文的步骤中,生成第二会话密钥,其中,第二会话密钥与客户端的第一会话密钥相互匹配的密钥;接收客户端发送的第二会话加密报文;根据第二会话密钥解密第二会话加密报文并获取认证报文。
上述钥匙,通过接收客户端发送的认证报文,验证认证报文的真实性,判断认证报文是否存在被篡改的情况,在判定任务报文未被篡改时,执行认证报文中任务报文对应的门禁任务,可以实现认证功能并保证门禁任务执行的安全性。
在一个实施例中,本实施例中提供一种服务器,该服务器通过客户端与锁钥端连接,服务器用于执行门禁任务执行方法的步骤。该服务器包括云服务器。
服务器可以根据私钥加密任务报文的摘要并生成任务签名串,其中,任务报文的摘要为根据任务报文和SM3密码杂凑算法生成的摘要;根据任务报文和任务签名串生成认证报文;将认证报文发送至客户端,其中,客户端用于向锁钥端转发认证报文,锁钥端用于执行任务报文对应的门禁任务。
服务器还可以在将认证报文发送至客户端的步骤中,接收客户端发送的用户数据报文,其中,用户数据报文包括客户端根据公钥加密临时会话密钥所生成的报文,公钥是与私钥相互匹配的密钥;根据私钥解密用户数据报文并获取临时会话密钥;根据临时会话密钥加密认证报文并生成第一会话加密报文;向客户端发送第一会话加密报文,其中,客户端还用于根据私钥解密第一会话加密报文并获取认证报文。
服务器还可以在接收客户端发送的用户数据报文的步骤之前,在客户端登录成功后,向客户端发送对称密钥报文请求,其中,客户端还用于根据对称密钥报文请求发送用户数据报文。
上述服务器,生成的认证报文可以用于被客户端转发至锁钥端,锁钥端不需要通过网络连接获取认证报文,根据认证报文获取门禁任务,减少了锁钥端与网络连接的需要,可以适应移动通信网络信号差或无移动通信网络的场景,减少锁钥端从服务器获取任务报文的时间,提高门禁任务执行的效率。
在一个实施例中,如图11所示,图11为一个实施例中门禁系统的结构示意图,本实施例中提供一种门禁系统,该门禁系统包括锁钥端30和服务器10,服务器10通过客户端20与锁钥端30连接,锁钥端30包括门锁31或钥匙32;
服务器10用于执行门禁任务执行方法的步骤;
门锁31用于执行门禁任务执行方法的步骤;
钥匙32用于执行门禁任务执行方法的步骤。
上述门禁系统,服务器10通过客户端20下发的认证报文发送给锁钥端30,锁钥端30不需要通过与服务器10连接获取认证报文,根据认证报文获取门禁任务,减少了锁钥端30与服务器10连接的需要,可以适应移动通信网络信号差或无移动通信网络的场景,减少锁钥端30与服务器10连接所需时间,以及减少锁钥端30从服务器10获取任务报文的时间,提高门禁任务执行的效率;而且,锁钥端30可以在接收到认证报文的时候,能够验证认证报文的真实性,判断认证报文是否存在被篡改的情况,可以实现认证功能并保证门禁任务执行的安全性。
在一个实施例中,智能门禁系统涉及3个主体:云服务器、客户端和锁钥端,客户端可以是装载在手机上的应用程序,锁钥端可以是门锁或钥匙。智能门禁系统的通信交互分为两部分,一是云服务器生成授权码下发给客户端,此时客户端一定联网;二是客户端与锁钥端连接并转发授权码,此时客户端不一定联网。智能门禁系统涉及两个主要功能认证功能和加密功能。在认证功能下,客户端和锁钥端在接收到认证报文时,应当能够验证该认证报文的真实性,判断该认证报文是否存在被篡改、被伪造或被重放的情况。在加密功能下,云服务器与客户端之间的通信进行加密,客户端与锁钥端之间的通信进行加密,确保通信不被窃听、不被重放或不被破解。
智能门禁系统中存在一对公钥和私钥,云服务器可以使用和访问私钥,而客户端和锁钥端可以使用和访问公钥。智能门禁系统中的任务报文为task,通过在任务报文后增加任务签名串,可以生成认证报文,认证报文为task|SM2priv_key(SM3(task)),其中,任务签名串为SM2priv_key(SM3(task)),SM3为SM3密码杂凑算法,SM3(task)为使用SM3密码杂凑算法对任务报文进行处理后生成的摘要,SM2priv_key(SM3(task))为通过私钥对进行摘要加密后生成的任务签名串,priv_key为私钥。将任务签名串附在任务报文的后面,即生成认证报文。
如图12所示,图12为一个实施例中服务器与客户端的通信示意图。其中:
(1)当客户端登录成功后,云服务器向客户端发送对称密钥报文请求,QQMY为对称密钥报文请求。
(2)客户端接收服务器发送的对称密钥报文请求时,生成随机数并将随机数作为临时会话密钥,并删除旧的随机数和旧的临时会话密钥,临时会话密钥为rand。客户端根据客户端的标识号、IP地址和临时会话密钥,生成用户数据报文,用户数据报文为XYMY,具体为:SM2pub_key(客户端的标识号|IP|rand),其中,pub_key为公钥。
(3)云服务器在收到用户数据报文后,使用私钥对用户数据报文解密并获取临时会话密钥。
(4)云服务器使用临时会话密钥对认证报文加密并生成第一会话加密报文,第一会话加密报文为RW,具体为SM4rand(task|SM2priv_key(SM3(task)))。将第一会话加密报文发送至客户端。
(5)客户端通过临时会话密钥对第一会话加密报文进行解密后,获取认证报文。使用SM3密码杂凑算法对任务报文进行处理并获取第一摘要,第一摘要为D1=SM3(task),使用公钥对任务签名串进行解密并获取第二摘要,第二摘要为D2。若D1与D2相同,则判定任务报文未被篡改。
在判定任务报文未被篡改时,客户端将认证报文发送至锁钥端。
其中,若云服务器与客户端之间的连接采用http session id机制,建议每次临时会话密钥的生命周期为session id的生命周期。若云服务器与客户端之间的连接采用socket短连接机制,每次临时会话密钥的生命周期为一个短连接生命周期,变成一次一密。若客户端在向云服务器请求查询类的任务,可以不使用签名,不需要生成认证报文;但对于涉及开门、参数更新等任务应进行签名,生成认证报文。若客户端下载多个任务,则每个任务为原子任务,每个任务独立签名,生成独立的认证报文,然后再串接。
如图13所示,图13为一个实施例中客户端与锁钥端的通信示意图。其中:
(1)客户端生成第一大素数、第二大素数和第一随机数,并获取第一余数,第一大素数为m,第二大素数为g,第一随机数为a,第一余数为X,第一余数满足:X=g^a mod m。客户端向锁钥端发送DHAPP报文,DHAPP报文为DHAPP|m|g|X,DHAPP报文包括第一大素数、第二大素数和第一余数。
(2)锁钥端在接收到DHAPP报文后,生成第二随机数,第二随机数为b,并生成第二余数,第二余数为Y,第二余数满足Y=g^b mod m,锁钥端将第二余数发送给客户端,第二余数为DHMS;锁钥端同时生成第二密钥,第二密钥为keyB,第二密钥满足keyB=X^b mod m。
(3)客户端接收到第二余数后,生成第一密钥,第一密钥为keyA,第一密钥满足keyA=Y^a mod m。此时客户端和锁钥端分别对应得到第一密钥和第二密钥。并且应该需要满足第一密钥与第二密钥相同,因此,为了确保第一密钥与第二密钥相同,客户端生成随机的第一测试数据,第一测试数据为test,通过第一密钥将第一测试数据进行加密并生成第一测试报文,将第一测试报文发送给锁钥端,第一测试报文为MYQRAPP,第一测试报文具体为SM4keyA(test)。
(4)锁钥端在收到第一测试报文后,使用第二密钥对第一测试报文进行解密并获得第一测试数据,对第一测试报文增加数值1,即获得test+1。锁钥端使用第二密钥对test+1进行加密并生成第二测试报文,锁钥端将第二测试报文发送给客户端,第二测试报文为MYQRMS,第二测试报文具体为SM4keyB(test+1)。
(5)客户端在接收第二测试报文后,使用第一密钥对第二测试报文进行解密,得到第二测试数据,第二测试数据为E。如果E=test+1,则判定第一密钥和第二密钥相同;相反如果E≠test+1,则判定第一密钥和第二密钥不相同,则回到客户端生成第一大素数、第二大素数和第一随机数,并获取第一余数的步骤,重新生成第一密钥。
(6)在第一密钥和第二密钥相同时,使用第一密钥对认证报文进行加密,并生成第二会话加密报文,将第二会话加密报文发送给锁钥端。第二会话加密报文为RW,具体为SM4keyA(task|SM2priv_key(SM3(task)))
(7)锁钥端接收到第二会话加密报文后,使用第二密钥进行解密并获得认证报文。认证报文包括任务报文和任务签名串,锁钥端通过SM3密码杂凑算法对任务报文进行处理并生成任务报文的第一摘要,第二摘要为D1,D1=SM3(task),通过公钥对任务签名串进行解密并生成解密后的第二摘要,在第一摘要与第二摘要相同时,判定任务报文未被篡改,表示该任务报文是真实的。若任务报文里包含有门锁ID,门锁ID为该锁钥端的本地ID,则执行门锁动作。
应该理解的是,虽然本申请的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本申请的流程图的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
关于门禁任务执行系统的具体限定可以参见上文中对于门禁任务执行方法的限定,在此不再赘述。上述门禁任务执行系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现任务执行方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种门禁任务执行方法,其特征在于,应用于客户端,包括以下步骤:
接收服务器发送的认证报文,其中,所述认证报文包括任务报文和任务签名串,所述任务签名串为对所述任务报文的摘要通过私钥加密所获取的签名;
根据所述任务报文、所述任务签名串和公钥,判断所述任务报文是否被篡改,其中,所述公钥是与所述私钥相互匹配的密钥;
在判定所述任务报文未被篡改时,将所述认证报文发送至锁钥端,其中,所述锁钥端用于执行所述认证报文中任务报文对应的门禁任务;
所述将所述认证报文发送至锁钥端,包括:
生成第一会话密钥,其中,所述第一会话密钥为与锁钥端的第二会话密钥相互匹配的密钥;
根据所述第一会话密钥加密认证报文并生成第二会话加密报文,将所述第二会话加密报文发送至所述锁钥端,其中,所述锁钥端还用于根据所述第二会话密钥解密所述第二会话加密报文并生成所述认证报文;
所述根据所述任务报文、所述任务签名串和公钥,判断所述任务报文是否被篡改,包括:
根据所述任务报文和SM3密码杂凑算法生成所述任务报文的第一摘要;根据所述公钥对所述任务签名串进行解密并生成解密后的第二摘要;在所述第一摘要与所述第二摘要相同时,判定所述任务报文未被篡改。
2.一种门禁任务执行系统,其特征在于,包括:
第一认证报文接收模块,用于接收服务器发送的认证报文,其中,所述认证报文包括任务报文和任务签名串,所述任务签名串为对所述任务报文的摘要通过私钥加密所获取的签名;
第一判断模块,用于根据所述任务报文、所述任务签名串和公钥,判断所述任务报文是否被篡改,其中,所述公钥是与所述私钥相互匹配的密钥;
第一认证报文发送模块,用于在判定所述任务报文未被篡改时,将所述认证报文发送至锁钥端,其中,所述锁钥端用于执行所述认证报文中任务报文对应的门禁任务;
所述第一认证报文发送模块,还用于生成第一会话密钥,其中,所述第一会话密钥为与锁钥端的第二会话密钥相互匹配的密钥;根据所述第一会话密钥加密认证报文并生成第二会话加密报文,将所述第二会话加密报文发送至所述锁钥端,其中,所述锁钥端还用于根据所述第二会话密钥解密所述第二会话加密报文并生成所述认证报文;
所述第一判断模块,还用于根据所述任务报文和SM3密码杂凑算法生成所述任务报文的第一摘要;根据所述公钥对所述任务签名串进行解密并生成解密后的第二摘要;在所述第一摘要与所述第二摘要相同时,判定所述任务报文未被篡改。
3.一种门禁任务执行方法,其特征在于,应用于服务器,包括以下步骤:
根据私钥加密任务报文的摘要并生成任务签名串,其中,所述任务报文的摘要为根据所述任务报文和SM3密码杂凑算法生成的摘要;
根据所述任务报文和所述任务签名串生成认证报文;
将所述认证报文发送至客户端,其中,客户端用于向锁钥端转发所述认证报文,所述锁钥端用于执行所述任务报文对应的门禁任务;
所述客户端用于生成第一会话密钥,其中,所述第一会话密钥为与所述锁钥端的第二会话密钥相互匹配的密钥;根据所述第一会话密钥加密认证报文并生成第二会话加密报文,将所述第二会话加密报文发送至所述锁钥端,其中,所述锁钥端还用于根据所述第二会话密钥解密所述第二会话加密报文并生成所述认证报文;所述客户端还用于根据所述任务报文和SM3密码杂凑算法生成所述任务报文的第一摘要;根据公钥对所述任务签名串进行解密并生成解密后的第二摘要;在所述第一摘要与所述第二摘要相同时,判定所述任务报文未被篡改。
4.根据权利要求3所述的门禁任务执行方法,其特征在于,所述将所述认证报文发送至客户端的步骤,包括以下步骤:
接收所述客户端发送的用户数据报文,其中,所述用户数据报文包括所述客户端根据公钥加密临时会话密钥所生成的报文,所述公钥是与所述私钥相互匹配的密钥;
根据所述私钥解密所述用户数据报文并获取所述临时会话密钥;
根据所述临时会话密钥加密所述认证报文并生成第一会话加密报文;
向所述客户端发送所述第一会话加密报文,其中,所述客户端还用于根据所述私钥解密所述第一会话加密报文并获取所述认证报文。
5.一种门禁任务执行系统,其特征在于,包括:
任务签名串生成模块,用于根据私钥加密任务报文的摘要并生成任务签名串,其中,所述任务报文的摘要为根据所述任务报文和SM3密码杂凑算法生成的摘要;
认证报文生成模块,用于根据所述任务报文和所述任务签名串生成认证报文;
第二认证报文发送模块,用于将所述认证报文发送至客户端,其中,客户端用于向锁钥端转发所述认证报文,所述锁钥端用于执行所述任务报文对应的门禁任务;
所述客户端用于生成第一会话密钥,其中,所述第一会话密钥为与锁钥端的第二会话密钥相互匹配的密钥;根据所述第一会话密钥加密认证报文并生成第二会话加密报文,将所述第二会话加密报文发送至所述锁钥端,其中,所述锁钥端还用于根据所述第二会话密钥解密所述第二会话加密报文并生成所述认证报文;所述客户端还用于根据所述任务报文和SM3密码杂凑算法生成所述任务报文的第一摘要;根据公钥对所述任务签名串进行解密并生成解密后的第二摘要;在所述第一摘要与所述第二摘要相同时,判定所述任务报文未被篡改。
6.一种门禁任务执行方法,其特征在于,应用于锁钥端,包括以下步骤:
接收客户端发送的认证报文,其中,所述认证报文包括任务报文和任务签名串,所述任务签名串为对所述任务报文的摘要通过私钥加密所获取的签名;
根据所述任务报文、所述任务签名串和公钥,判断所述任务报文是否被篡改,其中,所述公钥是与所述私钥相互匹配的密钥;
在判定所述任务报文未被篡改时,执行所述认证报文中任务报文对应的门禁任务;
所述客户端用于生成第一会话密钥,其中,所述第一会话密钥为与锁钥端的第二会话密钥相互匹配的密钥;根据所述第一会话密钥加密认证报文并生成第二会话加密报文,将所述第二会话加密报文发送至所述锁钥端,其中,所述锁钥端还用于根据所述第二会话密钥解密所述第二会话加密报文并生成所述认证报文;所述客户端还用于根据所述任务报文和SM3密码杂凑算法生成所述任务报文的第一摘要;根据所述公钥对所述任务签名串进行解密并生成解密后的第二摘要;在所述第一摘要与所述第二摘要相同时,判定所述任务报文未被篡改。
7.一种门禁任务执行方法,其特征在于,包括以下步骤:
服务器向客户端发送认证报文,其中,所述认证报文包括任务报文和任务签名串,所述任务签名串为对所述任务报文的摘要通过私钥加密所获取的签名;
所述客户端根据所述任务报文、所述任务签名串和公钥,判断所述任务报文是否被篡改,在判定所述任务报文未被篡改时,所述客户端将所述认证报文发送至锁钥端,其中,所述公钥是所述私钥相互匹配的密钥;所述客户端生成第一会话密钥,其中,所述第一会话密钥为与锁钥端的第二会话密钥相互匹配的密钥;所述客户端根据所述第一会话密钥加密认证报文并生成第二会话加密报文,将所述第二会话加密报文发送至所述锁钥端,其中,所述锁钥端还用于根据所述第二会话密钥解密所述第二会话加密报文并生成所述认证报文;所述客户端根据所述任务报文和SM3密码杂凑算法生成所述任务报文的第一摘要;根据所述公钥对所述任务签名串进行解密并生成解密后的第二摘要;在所述第一摘要与所述第二摘要相同时,判定所述任务报文未被篡改;
所述锁钥端根据所述任务报文、所述任务签名串和所述公钥,判断所述任务报文是否被篡改,在判定所述任务报文未被篡改时,所述锁钥端执行所述认证报文中任务报文对应的门禁任务。
8.一种门禁任务执行系统,其特征在于,包括服务器、客户端和锁钥端:
所述服务器,用于向所述客户端发送认证报文,其中,所述认证报文包括任务报文和任务签名串,所述任务签名串为对所述任务报文的摘要通过私钥加密所获取的签名;
所述客户端,用于根据所述任务报文、所述任务签名串和公钥,判断所述任务报文是否被篡改,在判定所述任务报文未被篡改时,将所述认证报文发送至所述锁钥端,其中,所述公钥是所述私钥相互匹配的密钥;
所述锁钥端,用于根据所述任务报文、所述任务签名串和所述公钥,判断所述任务报文是否被篡改,在判定所述任务报文未被篡改时,执行所述认证报文中任务报文对应的门禁任务;
所述客户端,还用于生成第一会话密钥,其中,所述第一会话密钥为与锁钥端的第二会话密钥相互匹配的密钥;根据所述第一会话密钥加密认证报文并生成第二会话加密报文,将所述第二会话加密报文发送至所述锁钥端,其中,所述锁钥端还用于根据所述第二会话密钥解密所述第二会话加密报文并生成所述认证报文;
所述客户端,还用于根据所述任务报文和SM3密码杂凑算法生成所述任务报文的第一摘要;根据所述公钥对所述任务签名串进行解密并生成解密后的第二摘要;在所述第一摘要与所述第二摘要相同时,判定所述任务报文未被篡改。
9.一种门禁系统,其特征在于,包括锁钥端和服务器,所述服务器通过客户端与所述锁钥端连接,所述锁钥端包括门锁或钥匙;
所述服务器用于执行如权利要求3至4中任一项所述的门禁任务执行方法的步骤;
所述门锁用于执行如权利要求6所述的门禁任务执行方法的步骤;
所述钥匙用于执行如权利要求6所述的门禁任务执行方法的步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1、3、4、6和7中任一项所述的门禁任务执行方法的步骤。
CN201810878122.9A 2018-08-03 2018-08-03 门禁任务执行方法、系统、门禁系统和可读存储介质 Active CN109064606B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810878122.9A CN109064606B (zh) 2018-08-03 2018-08-03 门禁任务执行方法、系统、门禁系统和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810878122.9A CN109064606B (zh) 2018-08-03 2018-08-03 门禁任务执行方法、系统、门禁系统和可读存储介质

Publications (2)

Publication Number Publication Date
CN109064606A CN109064606A (zh) 2018-12-21
CN109064606B true CN109064606B (zh) 2021-09-03

Family

ID=64831491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810878122.9A Active CN109064606B (zh) 2018-08-03 2018-08-03 门禁任务执行方法、系统、门禁系统和可读存储介质

Country Status (1)

Country Link
CN (1) CN109064606B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110190964B (zh) * 2019-05-16 2022-03-15 苏州科达科技股份有限公司 身份认证方法及电子设备
CN111489093A (zh) * 2020-04-15 2020-08-04 山东琅玡科技有限公司 一种新型劳务用工管理系统
CN111629012B (zh) * 2020-07-28 2020-10-30 杭州海康威视数字技术股份有限公司 通信方法、装置及门禁系统、设备、存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUP0500872A2 (en) * 2005-09-21 2007-05-02 Csik Balazs Method and apparatus for creating digital signature defined by biometric identification
JP4892011B2 (ja) * 2007-02-07 2012-03-07 日本電信電話株式会社 クライアント装置、鍵装置、サービス提供装置、ユーザ認証システム、ユーザ認証方法、プログラム、記録媒体
CN101378315B (zh) * 2007-08-27 2011-09-14 华为技术有限公司 认证报文的方法、系统、设备和服务器
CN104851159B (zh) * 2014-12-01 2017-06-06 讯美电子科技有限公司 一种网络型门禁控制系统
CN105069864A (zh) * 2015-07-10 2015-11-18 西安电子科技大学 基于智能手机nfc功能的门锁控制安全通信方案
KR101586831B1 (ko) * 2015-10-06 2016-01-19 현대통신 주식회사 스마트 도어폰 시스템 및 그 호출 방법
CN105813069A (zh) * 2016-03-15 2016-07-27 杭州立方控股股份有限公司 一种带mac地址的智能锁及其控制方法
CN105788050A (zh) * 2016-04-28 2016-07-20 物联网络科技(深圳)有限公司 一种通过蓝牙信号控制的控制门锁适配器及其控制方法
CN106875532B (zh) * 2017-04-07 2019-03-15 杭州行至云起科技有限公司 一种智能门锁及控制设备及系统及远程控制开锁方法
CN108269334A (zh) * 2018-01-10 2018-07-10 北京小米移动软件有限公司 开锁方法、终端设备以及智能锁

Also Published As

Publication number Publication date
CN109064606A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
CN111556025B (zh) 基于加密、解密操作的数据传输方法、系统和计算机设备
CN112637131B (zh) 用户身份认证方法、装置、设备和存储介质
CN111541551B (zh) 门限签名消息的处理方法、系统、存储介质及服务器
CN107040513B (zh) 一种可信访问认证处理方法、用户终端和服务端
JP4709815B2 (ja) 認証方法および装置
EP3841702B1 (en) Method, user device, management device, storage medium and computer program product for key management
CN109064606B (zh) 门禁任务执行方法、系统、门禁系统和可读存储介质
CN113572740B (zh) 一种基于国密的云管理平台认证加密方法
GB2543726B (en) Password-based generation and management of secret cryptographic keys
US9154304B1 (en) Using a token code to control access to data and applications in a mobile platform
CN109347813B (zh) 物联网设备登录方法、系统、计算机设备和存储介质
CN111294203B (zh) 信息传输方法
CN113190860B (zh) 一种基于环签名的区块链传感器数据认证方法及系统
CN112822255A (zh) 基于区块链的邮件处理方法、邮件发送端、接收端及设备
CN115473655B (zh) 接入网络的终端认证方法、装置及存储介质
CN114172747B (zh) 一种基于数字证书的群成员获得认证证书的方法和系统
CN110493177B (zh) 基于非对称密钥池对和序列号的量子通信服务站aka密钥协商方法和系统
CN111654503A (zh) 一种远程管控方法、装置、设备及存储介质
CN111147247A (zh) 密钥更新方法、装置、计算机设备和存储介质
CN114079921B (zh) 会话密钥的生成方法、锚点功能网元以及系统
CN107104888B (zh) 一种安全的即时通信方法
CN110784318B (zh) 群密钥更新方法、装置、电子设备、存储介质及通信系统
CN110048852B (zh) 基于非对称密钥池的量子通信服务站数字签密方法和系统
CN116599719A (zh) 一种用户登录认证方法、装置、设备、存储介质
CN114978542A (zh) 面向全生命周期的物联网设备身份认证方法、系统及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant