基于安全芯片的门禁系统加密方法、装置、设备及介质与流程

文档序号:32305653发布日期:2022-11-23 09:54阅读:115来源:国知局
基于安全芯片的门禁系统加密方法、装置、设备及介质与流程

1.本发明涉及通信加密的技术领域,尤其是涉及一种基于安全芯片的门禁系统加密方法、装置、设备及介质。


背景技术:

2.目前,随着大数据时代的到来,工业控制和物联网技术的快速发展,也对数据传输的信息安全提出了新的要求,尤其是在各种小型嵌入式设备接入云端时,如果不重视嵌入式设备与云端数据进行信息交互的安全性,一旦被网络犯罪分子攻破,则会造成个人信息的外泄,例如应用于各大场所的门禁系统,当门禁系统上传至云端的开锁数据信息被攻破,则可能会被犯罪分子利用攻破后的门锁信息进行数据篡改或盗窃,造成用户的个人信息外泄以及财物的损失等。
3.现有的对门禁系统与云端数据库之间的数据加密方式,大多采用国际通用标准的aes或者rsa等国际加密算法,但是由外国主导开发的国际加密算法存在不可控因素,一旦被不法分子利用攻击,就会造成大量个人信息的泄露,存在安全隐患。
4.针对上述中的相关技术,发明人认为存在有通过国际加密算法对门禁数据进行加密的方式存在安全隐患的缺陷。


技术实现要素:

5.为了提高对门禁数据的数据安全性,本技术提供一种基于安全芯片的门禁系统加密方法、装置、设备及介质。
6.本技术的上述发明目的一是通过以下技术方案得以实现的:提供一种基于安全芯片的门禁系统加密方法,所述基于安全芯片的门禁系统加密方法应用于门禁客户端和门禁服务端之间的业务数据加密,包括:获取所述门禁客户端发送的数据加密请求,所述数据加密请求包括客户端身份信息和客户端数据传输协议;将所述客户端数据传输协议和安全芯片中预先封装好的数据加密算法进行数据匹配,得到符合所述数据加密请求的数据加密模型;将所述客户端身份信息和门禁服务端发送的服务端身份信息输入到所述数据加密模型中,得到用于对所述门禁客户端和所述门禁服务端进行数据加密的共享密钥;通过所述共享密钥对所述门禁客户端与门禁服务端之间的业务数据进行数据加密封装,得到门禁系统的业务数据密文。
7.通过采用上述技术方案,由于目前大多数门禁系统的数据加密方式都采用国际通用标准的国际加密算法,如aes算法或rsa算法,存在较大的安全隐患,因此本技术通过符合国密认证的安全芯片对门禁客户端与门禁服务端之间传输的数据进行加密,来提高门禁系统的数据安全性,具体的,将客户端数据传输协议和安全芯片中对应的数据加密算法进行集成得到数据加密模型,通过数据加密模型对客户端身份信息和服务端身份信息进行计
算,得到共享密钥,从而通过共享密钥对门禁客户端和门禁服务端之间的业务数据进行数据加密封装,从而实现对门禁系统的数据加密传输,提高门禁系统的数据安全性。
8.本技术在一较佳示例中可以进一步配置为:所述将所述客户端数据传输协议和安全芯片中预先封装好的数据加密算法进行数据匹配,得到符合所述数据加密请求的数据加密模型,具体包括:根据所述客户端数据传输协议的协议类型,与所述安全芯片所支持的协议类型进行匹配,得到关于客户端传输协议是否与安全芯片相匹配的类型匹配结果;根据所述类型匹配结果,判断所述安全芯片是否支持客户端数据传输协议;若是,则调用安全芯片中预先封装好的,且与所述客户端数据传输协议相匹配的目标数据加密算法,来构建符合所述数据加密请求的数据加密模型。
9.通过采用上述技术方案,由于安全芯片所支持的数据传输协议类型可能与客户端所采用的数据传输协议不相同,通过数据传输协议的类型匹配结果有助于判断所述安全芯片是否支持客户端数据传输协议,当安全芯片支持客户端数据传输协议时,说明门禁客户端为符合安全芯片的合法设备,则调用安全芯片中预先封装好的,且与所述客户端数据传输协议相匹配的目标数据加密算法,来构建符合所述数据加密请求的数据加密模型,有助于根据数据加密模型生成对所述业务数据进行数据加密的共享密钥,本技术通过数据加密模型可以直接生成符合所述门禁系统的共享密钥,减少门禁客户端和门禁服务端在进行数据传输时对每一次数据交互加密计算工作量,提高门禁系统的数据传输速率。
10.本技术在一较佳示例中可以进一步配置为:所述调用安全芯片中预先封装好的,且与所述客户端数据传输协议相匹配的目标数据加密算法,来构建符合所述数据加密请求的数据加密模型,具体包括:根据所述客户端传输协议,识别所述安全芯片中,与所述客户端数据传输协议相对应的数据调用接口;通过所述数据调用接口,建立所述门禁客户端与所述目标数据加密算法之间的数据调用通道;根据所述数据调用通道,构建用于调用目标数据加密算法对门禁系统的业务数据进行加密的数据加密模型。
11.通过采用上述技术方案,由于安全芯片中封装有大量的数据加密算法和与之相对应的通讯接口,因此通过客户端传输协议,识别安全芯片中与所述客户端传输协议相对应的数据调用接口,有助于建立门禁客户端和目标数据加密算法之间的数据调用通道,从而构建数据加密模型,用于快速调用对应的目标数据加密算法对门禁系统的业务数据进行数据加密,提高门禁系统的数据传输速率。
12.本技术在一较佳示例中可以进一步配置为:所述将所述客户端身份信息和门禁服务端发送的服务端身份信息输入到所述数据加密模型中,得到用于对所述门禁客户端和所述门禁服务端进行数据加密的共享密钥,具体包括:根据所述客户端身份信息与所述服务端身份信息进行身份适配处理,得到关于门禁客户端是否与门禁服务端相匹配的身份匹配结果;根据所述身份匹配结果,判断所述门禁客户端与所述门禁服务端是否匹配;若是,则生成用于对门禁客户端和门禁服务端之间的业务数据进行数据加密的共
享密钥。
13.通过采用上述技术方案,由于在门禁系统进行数据传输的过程中,容易被不明身份的非法设备捕获门禁数据,为了防止非法设备对门禁数据的截获,因此设置门禁数据只在互相匹配的门禁客户端和门禁服务端之间进行数据传输,因此通过客户端身份信息和服务端身份信息的身份匹配结果,来判断门禁客户端和门禁服务端之间是否匹配,只有当门禁客户端和门禁服务端的身份相互匹配时,才生成对业务数据进行数据加密的共享密钥,从而提高门禁数据的数据安全性。
14.本技术在一较佳示例中可以进一步配置为:所述根据所述客户端身份信息与所述服务端身份信息进行身份匹配处理,得到关于门禁客户端是否与门禁服务端相匹配的身份匹配结果,具体包括:将所述服务端身份信息中的服务端证书数据进行合格性校验处理,得到关于服务端证书是否有效的第一校验结果;当所述第一校验结果处于有效状态时,对所述客户端身份信息中的客户端证书数据进行合格性校验处理,得到关于客户端证书是否有效的第二校验结果;当所述第二校验结果处于有效状态时,对所述门禁客户端和门禁服务端进行身份匹配,得到门禁客户端与门禁服务端之间的身份匹配结果。
15.通过采用上述技术方案,由于数据证书会因为超过有效期、签发机构变更等造成数据证书不合格,在不合格的数据证书之间进行数据传输容易造成门禁数据的泄露,影响门禁客户端和门禁服务端之间的数据安全性,因此,在接收到客户端发送的数据加密请求时,对服务端证书进行合格性校验处理,包括证书的有效期、签发机构资质的校验,在服务端证书处于有效状态时,将数据加密请求的处理结果反馈至门禁客户端,并对门禁客户端发送的客户端证书进行合格性校验,当客户端证书的有效期、签发机构资质均处于有效状态时,输出数据门禁客户端与门禁服务端之间的身份匹配结果,有助于建立门禁客户端与门禁服务端之间的正确连接,防止证书不合格的非法设备对门禁数据的非法获取,从而提高门禁系统的数据安全性。
16.本技术在一较佳示例中可以进一步配置为:所述生成用于对门禁客户端和门禁服务端之间的业务数据进行数据加密的共享密钥,还包括:通过预设的完整性校验算法,分别对所述服务端证书数据和客户端证书数据进行完整性校验,得到关于门禁客户端和门禁服务端的数据是否完整的完整性校验结果;根据所述完整性校验结果,判断所述门禁客户端和门禁服务端之间传输的数据是否完整一致;若是,则根据预设的密钥生成算法对所述客户端身份信息和所述服务端身份信息进行计算,得到符合所述门禁客户端和门禁服务端的数据传输协议的共享密钥。
17.通过采用上述技术方案,由于在某些场景下,非法设备仅需要修改密文中的某些字段就可以对门禁系统进行攻击,并不需要破解密钥原文,因此为了避免在数据传输过程中出现数据丢失的现象,本技术通过预设的完整性校验算法,分别对服务端证书数据和客户端证书数据进行完整性校验,根据完整性校验结果有助于判断门禁客户端与门禁服务端之间传输的数据是否完整一致,当校验到的数据完整一致时,说明证书数据没有丢失或者被篡改,则生成用于对门禁系统的业务数据进行数据加密的共享密钥,从而提高门禁系统
的数据安全性。
18.本技术在一较佳示例中可以进一步配置为:所述通过预设的完整性校验算法,分别对所述服务端证书数据和客户端证书数据进行完整性检验,得到关于门禁客户端和门禁服务端的数据是否完整的完整性校验结果,具体包括:通过预设的完整性校验算法对所述服务端证书数据进行运算,得到所述服务端证书数据的服务端校验值;通过预设的完整性校验算法对所述客户端证书数据进行运算,得到所述客户端证书数据的客户端校验值;将所述服务端校验值与所述客户端校验值进行比对,得到关于所述门禁客户端和门禁服务端的数据是否完整的完整性校验结果。
19.通过采用上述技术方案,由于门禁服务端证书和门禁客户端证书都具有唯一性,为减少数据传输过程中出现数据丢失而导致门禁客户端和门禁服务端不相匹配的情况,因此通过预设的完整性校验算法计算得到的客户端校验值和服务端校验值进行比对,并根据异或结果判断门禁客户端和门禁服务端的数据是否完整的完整性校验结果,有助于根据完整性校验结果判断数据传输过程中是否出现数据丢失现象,从而验证所述门禁客户端和门禁服务端的门禁数据是否被篡改过,从而提高门禁数据的数据安全性。
20.本技术的上述发明目的二是通过以下技术方案得以实现的:提供一种基于安全芯片的门禁系统加密装置,所述基于安全芯片的门禁系统加密装置应用于门禁客户端和门禁服务端之间的数据加密,包括:数据获取模块,用于获取所述门禁客户端发送的数据加密请求,所述数据加密请求包括客户端身份信息和客户端数据传输协议;数据匹配模块,用于将所述客户端数据传输协议和安全芯片中预先封装好的数据加密算法进行数据匹配,得到符合所述数据加密请求的数据加密模型;密钥生成模块,用于将所述客户端身份信息和门禁服务端发送的服务端身份信息输入到所述数据加密模型中,得到用于对所述门禁客户端和所述门禁服务端进行数据加密的共享密钥;数据加密模块,用于通过所述共享密钥对所述门禁客户端与门禁服务端之间的业务数据进行数据加密封装,得到门禁系统的业务数据密文。
21.通过采用上述技术方案,由于目前大多数门禁系统的数据加密方式都采用国际通用标准的国际加密算法,如aes算法或rsa算法,存在较大的安全隐患,因此本技术通过符合国密认证的安全芯片对门禁客户端与门禁服务端之间传输的数据进行加密,来提高门禁系统的数据安全性,具体的,将客户端数据传输协议和安全芯片中对应的数据加密算法进行集成得到数据加密模型,通过数据加密模型对客户端身份信息和服务端身份信息进行计算,得到共享密钥,从而通过共享密钥对门禁客户端和门禁服务端之间的业务数据进行数据加密封装,从而实现对门禁系统的数据加密传输,提高门禁系统的数据安全性。
22.本技术的上述目的三是通过以下技术方案得以实现的:一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于安全芯片的门禁系统加密方法的步骤。
23.本技术的上述目的四是通过以下技术方案得以实现的:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于安全芯片的门禁系统加密方法的步骤。
24.综上所述,本技术包括以下至少一种有益技术效果:1、通过符合国密认证的安全芯片对门禁客户端与门禁服务端之间传输的数据进行加密,来提高门禁系统的数据安全性,具体的,将客户端数据传输协议和安全芯片中对应的数据加密算法进行集成得到数据加密模型,通过数据加密模型对客户端身份信息和服务端身份信息进行计算,得到共享密钥,通过共享密钥对门禁客户端和门禁服务端之间的业务数据进行数据加密封装,从而实现对门禁系统的数据加密传输,提高门禁系统的数据安全性;2、通过数据传输协议的类型匹配结果有助于判断所述安全芯片是否支持客户端数据传输协议,当安全芯片支持客户端数据传输协议时,说明门禁客户端为符合安全芯片的合法设备,则调用安全芯片中预先封装好的,且与所述客户端数据传输协议相匹配的目标数据加密算法,来构建符合所述数据加密请求的数据加密模型,有助于根据数据加密模型生成对所述业务数据进行数据加密的共享密钥,通过数据加密模型可以直接生成符合所述门禁系统的共享密钥,减少门禁客户端和门禁服务端在进行数据传输时对每一次数据交互加密计算工作量,提高门禁系统的数据传输速率;3、通过预设的完整性校验算法,分别对服务端证书数据和客户端证书数据进行完整性校验,根据完整性校验结果有助于判断门禁客户端与门禁服务端之间传输的数据是否完整一致,当校验到的数据完整一致时,说明证书数据没有丢失或者被篡改,则生成用于对门禁系统的业务数据进行数据加密的共享密钥,从而提高门禁系统的数据安全性。
附图说明
25.图1是本技术一实施例中的一种基于安全芯片的门禁系统加密方法的实现流程图。
26.图2是本技术一实施例中基于安全芯片的门禁系统加密方法步骤s20的实现流程图。
27.图3是本技术一实施例中基于安全芯片的门禁系统加密方法步骤s101的实现流程图。
28.图4是本技术一实施例中基于安全芯片的门禁系统加密方法步骤s30的实现流程图。
29.图5是本技术一实施例中基于安全芯片的门禁系统加密方法步骤s301的实现流程图。
30.图6是本技术一实施例中基于安全芯片的门禁系统加密方法步骤s303的实现流程图。
31.图7是本技术一实施例中基于安全芯片的门禁系统加密方法步骤s501的实现流程图。
32.图8是本技术一实施例中的一种基于安全芯片的门禁系统加密装置的模块结构示意图。
33.图9是本技术一实施例中的实现基于安全芯片的门禁系统加密方法的一种计算机设备的内部结构图。
具体实施方式
34.以下结合附图对本技术作进一步详细说明。
35.在一实施例中,如图1所示,本技术公开了一种基于安全芯片的门禁系统加密方法,本技术的基于安全芯片的门禁系统加密方法应用于门禁客户端和门禁服务端之间的数据加密,具体包括如下步骤:s10:获取门禁客户端发送的数据加密请求,数据加密请求包括客户端身份信息和客户端数据传输协议。
36.具体的,当用户在门禁客户端输入开门密码时,或者门禁客户端的人脸识别模块识别到门禁用户人脸信息时,生成与开门密码或者门禁用户人脸信息相对应的门禁密码流,根据门禁密码流向门禁服务端发送数据加密请求,门禁服务端通过串口通信或者tcp/ip 协议接收来自门禁客户端的数据加密请求,其中,数据加密请求包括客户端身份信息和客户端数据传输协议,需要说明的是,本实施例中所采用的客户端数据传输协议为tls协议,也可以根据实际需要设置为ssl协议,不局限于本实施例中的一种。
37.需要说明的是,由于门禁数据中携带有大量的用户个人信息,若通过明文的网络传输方式,对裸露的用户个人信息的安全性不能提供有力的保障,因此本技术通过给门禁系统搭载一个符合国密局认证的安全芯片进行门禁数据的加密,本技术的基于安全芯片的门禁系统加密方法应用于安全芯片上,且用于对门禁客户端和门禁服务端之间的门禁数据进行加密,通过调用rammbedtls库实现本技术的基于安全芯片的门禁系统加密方法,具体的,通过对mbedtls库的宏定义进行配置,将mbedtls库中的tls协议以及用于对门禁系统的数据证书进行格式重组的x.509证书处理库集成到安全芯片中,实现安全芯片的国密tls数据传输协议集成化。
38.s20:将客户端数据传输协议和安全芯片中预先封装好的数据加密算法进行数据匹配,得到符合数据加密请求的数据加密模型。
39.具体的,结合图2,步骤s20具体包括以下步骤:s101:根据客户端数据传输协议的协议类型,与安全芯片所支持的协议类型进行匹配,得到关于客户端传输协议是否与安全芯片相匹配的类型匹配结果。
40.具体的,本实施例中的客户端数据传输协议设置为tls协议,由于安全芯片所支持的数据传输协议类型可能与客户端所采用的数据传输协议不相同,如安全芯片所支持的数据传输协议类型可能是tls协议和/或ssl协议,因此通过关键字识别,在安全芯片所支持的协议类型列表中查找与tls协议相匹配的数据传输协议,根据查找结果得到关于客户端传输协议是否与安全芯片相匹配的类型匹配结果。
41.s102:根据类型匹配结果,判断安全芯片是否支持客户端数据传输协议。
42.具体的,若在安全芯片所支持的协议类型列表中查找不到与tls协议相匹配的数据传输协议类型,则判断安全芯片不支持门禁客户端的数据传输协议,则说明门禁客户端与安全芯片不匹配,向门禁客户端返回一个错误值,以便于告知门禁客户端不可进行书安全芯片的数据通讯,若在安全芯片所支持的协议类型中查找到与tls协议相匹配的数据传
输协议类型,则判断安全芯片支持门禁客户端的数据传输协议,则说明门禁客户端与安全芯片相匹配,此时可以通过安全芯片对门禁客户端的数据加密请求进行处理。
43.s103:若是,则调用安全芯片中预先封装好的,且与客户端数据传输协议相匹配的目标数据加密算法,来构建符合数据加密请求的数据加密模型。
44.本实施例中,当安全芯片支持客户端数据传输协议时,说明门禁客户端为符合安全芯片的合法设备,则调用安全芯片中预先封装好的,且与客户端数据传输协议相匹配的目标数据加密算法,来构建符合数据加密请求的数据加密模型,有助于根据数据加密模型生成对业务数据进行数据加密的共享密钥。
45.具体的,结合图3所示,步骤s101具体包括以下步骤:s201:根据客户端传输协议,识别安全芯片中与客户端数据传输协议相对应的数据调用接口。
46.具体的,由于安全芯片中封装有大量的数据加密算法和与之相对应的通讯接口,如封装有符合国密标准的国密算法库和与国密算法库相对应的通讯接口,则通过门禁客户端所支持的tls协议,在安全芯片中识别与tls协议相对应的数据调用接口,从而建立tls协议与国密算法库之间的数据调用接口。
47.s202:通过数据调用接口,建立门禁客户端与目标数据加密算法之间的数据调用通道。
48.具体的,通过tls协议与安全芯片的国密算法库之间的数据调用接口,建立门禁客户端与目标数据加密算法之间的数据调用通道,有助于筛选出国密算法库中符合tls协议的目标数据加密算法,减少其它无关加密算法的干扰,如国密算法库中与ssl协议相对应的数据加密算法。
49.s203:根据数据调用通道,构建用于调用目标数据加密算法对门禁系统的业务数据进行加密的数据加密模型。
50.具体的,通过tls协议与目标数据加密算法之间的数据调用通道,构建集成有tls协议的目标数据加密算法的数据加密模型,本实施例中的数据加密模型用于调用目标数据加密算法对门禁系统的业务数据进行加密处理,从而可以快速计算出符合tls协议的共享密钥,本实施例的数据调用通道可以是tls协议与目标数据加密算法之间一一对应调用,也可以是一对多或者多对一进行数据调用,本实施例中与tls协议相对应的目标数据加密算法设置为符合国密认证标准的sm1算法、sm2算法、sm3算法和/或sm4算法中的一种,也可以根据实际需要进行设置,不局限于本实施例中的一种实施方式。
51.s104:若否,则向门禁客户端发送关于安全芯片不支持客户端数据传输协议的反馈信息。
52.具体的,如安全芯片不支持tls协议,则说明门禁客户端与安全芯片不匹配,则需要向门禁客户端发送对应的反馈信息,以便于门禁客户端进行数据传输协议的及时更换或者重新匹配。
53.s30:将客户端身份信息和门禁服务端发送的服务端身份信息输入到数据加密模型中,得到用于对门禁客户端和门禁服务端进行数据加密的共享密钥。
54.本实施例中,将客户端身份信息如客户端证书、安全芯片接收到数据加密请求时随机生成的第一随机数,和门禁服务端发送的服务端身份信息,如服务端证书和根据服务
端证书生成的第二随机数,和客户端根据服务端证书的校验结果生成的第三随机数,将第一随机数、第二随机数和第三随机数输入到数据加密模型中,生成符合客户端身份信息和服务端身份信息的共享密钥,其中,共享密钥用于对门禁客户端和门禁服务端之间的业务数据进行数据加密。
55.具体的,结合图4,步骤s30具体包括以下步骤:s301:根据客户端身份信息与服务端身份信息进行身份适配处理,得到关于门禁客户端是否与门禁服务端相匹配的身份匹配结果。
56.本实施例中,由于在门禁系统进行数据传输的过程中,容易被不明身份的非法设备捕获门禁数据,为了防止非法设备对门禁数据的截获,因此设置门禁数据只在互相匹配的门禁客户端和门禁服务端之间进行数据传输,如通过对客户端证书和服务端证书的双向认定,来获取门禁客户端与门禁服务端之间的身份匹配结果。
57.具体的,结合图5,步骤s301具体包括以下步骤:s401:将服务端身份信息中的服务端证书数据进行合格性校验处理,得到关于服务端证书是否有效的第一校验结果。
58.具体的,由于数据证书会因为超过有效期、签发机构变更等造成数据证书不合格,在不合格的数据证书之间进行数据传输容易造成门禁数据的泄露,影响门禁客户端和门禁服务端之间的数据安全性,因此,在接收到客户端发送的数据加密请求时,对服务端证书进行合格性校验处理,包括证书的有效期、签发机构资质的校验,如服务端证书是否处于有效期内,服务端证书的签发机构资质是否有效等,根据校验处理结果输出关于服务端证书是否有效的第一校验结果。
59.s402:当第一校验结果处于有效状态时,对客户端身份信息中的客户端证书数据进行合格性校验处理,得到关于客户端证书是否有效的第二校验结果。
60.具体的,在服务端证书处于有效状态时,将数据加密请求的处理结果反馈至门禁客户端,门禁客户端接收到请求处理结果后,将携带有门禁客户端证书信息的客户端证书校验请求发送至门禁服务端,门禁服务端对门禁客户端发送的客户端证书进行合格性校验,如客户端证书是否处于有效期、客户端证书的签发机构资质是否有效等。
61.s403:当第二校验结果处于有效状态时,对门禁客户端和门禁服务端进行身份匹配,得到门禁客户端与门禁服务端之间的身份匹配结果。
62.具体的,当客户端证书处于有效期,且签发机构资质处于有效状态时,说明门禁客户端和门禁服务端均为合格设备,则输出门禁客户端和门禁服务端之间的身份匹配结果,有助于建立门禁客户端与门禁服务端之间的正确连接,防止证书不合格的非法设备对门禁数据的非法获取。
63.s302:根据身份匹配结果,判断门禁客户端与门禁服务端是否匹配。
64.具体的,若门禁客户端和门禁服务端在证书匹配的过程中,出现门禁服务端和/或门禁客户端的证书数据过期,或者签发机构变更等情况,则身份匹配结果为失败,若门禁客户端和门禁服务端的证书数据均处于有效状态,则身份匹配结果为成功。
65.s303:若是,则生成用于对门禁客户端和门禁服务端之间的业务数据进行数据加密的共享密钥。
66.具体的,结合图6,步骤s303具体包括以下步骤:
s501:通过预设的完整性校验算法,分别对服务端证书数据和客户端证书数据进行完整性校验,得到关于门禁客户端和门禁服务端的数据是否完整的完整性校验结果。
67.具体的,由于在某些场景下,非法设备仅需要修改密文中的某些字段就可以对门禁系统进行攻击,并不需要破解密钥原文,因此为了避免在数据传输过程中出现数据丢失的现象,本技术通过预设的完整性校验算法,分别对服务端证书数据和客户端证书数据进行完整性校验。
68.具体的,结合图7,步骤s501具体包括以下步骤:s601:通过预设的完整性校验算法对服务端证书数据进行运算,得到服务端证书数据的服务端校验值。
69.具体的,通过预设的hmac算法对服务端证书数据进行计算得到关于服务端证书数据的哈希值,即服务端校验值,通过服务端校验值对门禁服务端发送过来的服务端证书数据进行数据验证,从而在正式的门禁业务数据传输之前确保不会出现数据丢失的情况。
70.s602:通过预设的完整性校验算法对客户端证书数据进行运算,得到客户端证书数据的客户端校验值。
71.具体的,通过预设的hmac算法对客户端证书数据进行计算得到关于客户端证书数据的哈希值,即客户端校验值,通过客户端校验值对门禁客户端发送过来的客户端证书数据进行数据验证,通过对服务端证书数据和客户端证书数据的双重认证,从而在正式的门禁业务数据传输之前确保不会出现数据丢失的情况。
72.s603:将服务端校验值与客户端校验值进行比对,得到关于门禁客户端和门禁服务端的数据是否完整的完整性校验结果。
73.具体的,将服务端校验值和客户端校验值进行比对,如将服务端校验值和客户端校验值进行异或运算,若异或结果为1,则说明门禁客户端和门禁服务端之间的数据存在差异,则说明在数据传输过程中可能出现了数据丢失或者数据解密算法存在差异而导致解析出来的数据不完整,若异或结果为0,则说明门禁客户端和门禁服务端之间的数据完整,在数据传输过程中未出现数据丢失的情况,则说明门禁客户端和门禁服务端所采用的数据加密和/或解密算法相匹配,将比对结果作为完整性校验结果输出至门禁服务端。
74.s502:根据完整性校验结果,判断门禁客户端和门禁服务端之间传输的数据是否完整一致。
75.具体的,如若完整性校验的异或结果为1,则判定门禁客户端和门禁服务端之间的数据完整一致,若完整性校验的异或结果为0,则判定门禁客户端和门禁服务端之间的数据不完整。
76.s503:若是,则根据预设的密钥生成算法对客户端身份信息和服务端身份信息进行计算,得到符合门禁客户端和门禁服务端的数据传输协议的共享密钥。
77.具体的,若门禁客户端与门禁服务端之间传输的数据完整一致,则说明未出现数据丢失或被篡改的情况,则根据预设的密钥生成算法对客户端身份信息和服务端身份信息进行计算,得到符合门禁客户端和门禁服务端的数据传输协议的共享密钥,如根据与门禁客户端和门禁服务端相匹配的加密算法,对第一随机数、第二随机数和第三随机数进行运算,得到用于对门禁系统业务数据进行数据加密的共享密钥。本实施例中的加密算法设置为符合国密标准的sm4算法,需要说明的是,也可以设置为sm1算法、sm2算法或者sm3算法中
的其中一种,可以根据实际需要进行设置,不局限于本实施例中的一种。
78.s504:若否,则分别向门禁客户端和门禁服务端发送数据不一致的完整性反馈消息。
79.具体的,若完整性校验的异或结果为0,则判定门禁客户端和门禁服务端之间的数据不完整,说明数据在传输过程中出现数据丢失或者被非法设备篡改的情况,则分别向门禁客户端和门禁服务端发送数据不一致的完整性反馈消息,以便于门禁服务端和门禁客户端及时进行加密算法变更或者证书更新。
80.s304:若否,则向门禁客户端和门禁服务端分别发送关于匹配不成功的反馈消息。
81.具体的,若门禁客户端与门禁服务端之间传输的数据不完整一致,则说明在数据传输过程中出现数据丢失或被篡改的情况,则分别向门禁客户端和门禁服务端发送关于匹配不成功的反馈消息,以便于门禁客户端和门禁服务端及时进行加密算法更新。
82.s40:通过共享密钥对门禁客户端与门禁服务端之间的业务数据进行数据加密封装,得到门禁系统的业务数据密文。
83.具体的,通过与共享密钥相匹配的加密算法,如通过调用安全芯片中符合国密认证的sm4算法,对门禁客户端接收到的开锁数据进行加密运算,得到携带有开锁数据的开锁数据密文,将开锁数据密文进行广播处理,从而将开锁数据密文传输至门禁服务端,门禁服务端通过与共享密钥相匹配的解密算法,如通过与sm4算法相对称的解密算法对开锁数据密文进行解密,得到开锁数据原文,从而实现通过共享密钥对门禁系统业务数据的数据加密。
84.本实施例中,由于目前大多数门禁系统的数据加密方式都采用国际通用标准的国际加密算法,如aes算法或rsa算法,存在较大的安全隐患,因此本技术通过符合国密认证的安全芯片对门禁客户端与门禁服务端之间传输的数据进行加密,来提高门禁系统的数据安全性,具体的,将客户端数据传输协议和安全芯片中对应的数据加密算法进行集成得到数据加密模型,通过数据加密模型对客户端身份信息和服务端身份信息进行计算,得到共享密钥,从而通过共享密钥对门禁客户端和门禁服务端之间的业务数据进行数据加密封装,从而实现对门禁系统的数据加密传输,提高门禁系统的数据安全性。
85.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
86.在一实施例中,提供一种基于安全芯片的门禁系统加密装置,该基于安全芯片的门禁系统加密装置与上述实施例中基于安全芯片的门禁系统加密方法一一对应。如图8所示,该基于安全芯片的门禁系统加密装置应用于门禁客户端和门禁服务端之间的数据加密,包括数据获取模块、数据匹配模块、密钥生成模块和数据加密模块。各功能模块详细说明如下:数据获取模块,用于获取门禁客户端发送的数据加密请求,数据加密请求包括客户端身份信息和客户端数据传输协议。
87.数据匹配模块,用于将客户端数据传输协议和安全芯片中预先封装好的数据加密算法进行数据匹配,得到符合数据加密请求的数据加密模型。
88.密钥生成模块,用于将客户端身份信息和门禁服务端发送的服务端身份信息输入
到数据加密模型中,得到用于对门禁客户端和门禁服务端进行数据加密的共享密钥。
89.数据加密模块,用于通过共享密钥对门禁客户端与门禁服务端之间的业务数据进行数据加密封装,得到门禁系统的业务数据密文。
90.可选的,数据匹配模块包括:协议匹配子模块,用于根据客户端数据传输协议的协议类型,与安全芯片所支持的协议类型进行匹配,得到关于客户端传输协议是否与安全芯片相匹配的类型匹配结果。
91.协议匹配判断子模块,用于根据类型匹配结果,判断安全芯片是否支持客户端传输协议。
92.模型构建子模块,用于若是,则调用安全芯片中预先封装好的,且与客户端数据传输协议相匹配的目标数据加密算法,来构建符合数据加密请求的数据加密模型。
93.可选的,模型构建子模块包括:接口识别单元,用于根据客户端传输协议,识别安全芯片中与客户端数据传输协议相对应的数据调用接口。
94.通道构建单元,用于通过数据调用接口,建立门禁客户端与目标数据加密算法之间的数据调用通道。
95.模型构建单元,用于根据数据调用通道,构建用于调用目标数据加密算法对门禁系统的业务数据进行加密的数据加密模型。
96.可选的,密钥生成模块包括:身份匹配子模块,用于根据客户端身份信息与服务端身份信息进行身份适配处理,得到关于门禁客户端是否与门禁服务端相匹配的身份匹配结果。
97.身份匹配判断子模块,用于根据身份匹配结果,判断门禁客户端与门禁服务端是否匹配。
98.密钥生成子模块,用于若是,则生成用于对门禁客户端和门禁服务端之间的业务数据进行数据加密的共享密钥。
99.可选的,身份匹配子模块包括:服务端证书校验单元,用于将服务端身份信息中的服务端证书数据进行合格性校验处理,得到关于服务端证书是否有效的第一校验结果。
100.客户端证书校验单元,用于当第一校验结果处于有效状态时,对客户端身份信息中的客户端证书数据进行合格性校验处理,得到关于客户端证书是否有效的第二校验结果。
101.匹配结果输出单元,用于当第二校验结果处于有效状态时,对门禁客户端和门禁服务端进行身份匹配,得到门禁客户端与门禁服务端之间的身份匹配结果。
102.可选的,密钥生成子模块包括:完整性校验单元,用于通过预设的完整性校验算法,分别对服务端证书数据和客户端证书数据进行完整性校验,得到关于门禁客户端和门禁服务端的数据是否完整的完整性校验结果。
103.完整性判断单元,用于根据完整性校验结果,判断门禁客户端和门禁服务端之间传输的数据是否完整一致。
104.密钥计算单元,用于若是,则根据预设的密钥生成算法对客户端身份信息和服务
端身份信息进行计算,得到符合门禁客户端和门禁服务端的数据传输协议的共享密钥。
105.可选的,完整性校验单元包括:服务端校验值运算子单元,用于通过预设的完整性校验算法对服务端证书数据进行运算,得到服务端证书数据的服务端校验值。
106.客户端校验值运算子单元,用于通过预设的完整性校验算法对客户端证书数据进行运算,得到客户端证书数据的客户端校验值。
107.校验值运算子单元,用于将服务端校验值与客户端校验值进行比对,得到关于门禁客户端和门禁服务端的数据是否完整的完整性校验结果。
108.关于基于安全芯片的门禁系统加密装置的具体限定可以参见上文中对于基于安全芯片的门禁系统加密方法的限定,在此不再赘述。上述基于安全芯片的门禁系统加密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
109.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于安全芯片的门禁系统加密方法。
110.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述基于安全芯片的门禁系统加密方法的步骤。
111.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
112.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
113.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改
或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1