一种PCI密码卡访问方法、系统、存储介质及计算机设备技术方案

技术编号:22883814 阅读:38 留言:0更新日期:2019-12-21 07:14
本发明专利技术涉及一种PCI密码卡访问方法,包括:应用层DLL和/或内核层DLL收集业务请求;应用层业务均衡处理模块和/或内核层业务均衡处理模块将接收的业务请求按序发送至内核层队列处理模块;内核层队列处理模块按序分析处理接收到的业务请求,并根据分析结果异步调用PCI密码卡中的相应密码运算,获取相应的运算结果。本发明专利技术实现了在Windows操作系统下访问PCI密码卡,满足了Windows内核对国密算法的应用需求,且通过在Windows操作系统下访问PCI密码卡的形式实现国密算法,算法运行速度快。本发明专利技术还涉及一种PCI密码卡访问系统、存储介质及计算机设备。

Access method, system, storage medium and computer equipment of PCI password card

【技术实现步骤摘要】
一种PCI密码卡访问方法、系统、存储介质及计算机设备
本专利技术涉及信息安全
,尤其涉及一种PCI密码卡访问方法、系统、存储介质及计算机设备。
技术介绍
PCI密码卡是以PCI局部总线或者PCIExpress为接口,具有密码运算功能、密钥管理功能、物理随机数产生功能和设备自身安全保护措施的密码设备,PCI密码卡可以应用在需要密码运算和密钥管理等安全功能的、具有PCI局部总线或者PCIExpress的通信设备、计算机设备、安全保密设备上,例如:虚拟专网(VPN)设备、证书中心(CA)系统的有关设备、网络密码机、安全服务器、安全终端、安全管理中心、密钥管理设备等。PCI密码卡作为部署在应用端的重要安全设备,实现密钥生成、管理、保护、高速签名、验证、加密和解密操作,是信息安全产业链中最基本的、不可缺少的密码设备。PCI密码卡是底层的密码产品,国产PCI密码卡提供SM1、SM2、SM3、SM4、SM7、SM9等国产密码算法。Linux属于开源操作系统,开发者较多且生态环境非常的好,Linux内核密码算法算法的种类支持也非常的丰富,也推出了LinuxCryptoDev通过openssl直接访问国产密码卡。利用Linux内核密码算法开发者更便利的开发IPSECVPN、磁盘加密等产品。如:利用Strongswan、Openswan等软件开发IPSECVPN;利用dm-crypt、ecryptfs等软件开发磁盘加密产品。IPSECVPN、磁盘加密等产品通常使用国际密码算法,而研发支持国密算法的IPSECVPN、磁盘加密则需要使用Linux内核中国密算法替代软件中原有的AES、SHA系列等国际密码算法。Linux内核密码算法解决了在Linux内核中使用密码算法的问题,为密码算法及国密密码算法的应用提供了便利。Windows操作系统不同于Linux操作系统,其内核不公开,无法了解具体的内核运行方式,且Windows操作系统内核层无国密算法,但Windows内核中存在需要应用国密算法的场景,如文件系统透明加密/解密驱动、文件加密等。因此,亟需一种能在Windows操作系统访问国密算法的方案。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术存在的问题,提供一种PCI密码卡访问方法、系统、存储介质及计算机设备。为解决上述技术问题,本专利技术实施例提供一种PCI密码卡访问方法,应用于Windows操作系统,包括:应用层DLL收集应用层的业务请求并发送至应用层业务均衡处理模块和/或内核层DLL收集内核层的业务请求并发送至内核层业务均衡处理模块;所述应用层业务均衡处理模块将接收的业务请求按序发送至内核层队列处理模块和/或内核层业务均衡处理模块将接收的业务请求按序发送至内核层队列处理模块;所述内核层队列处理模块按序分析处理接收到的业务请求,并根据分析结果异步调用PCI密码卡中的相应密码运算,获取相应的运算结果;将运算结果通过应用层业务均衡处理模块或内核层业务均衡处理模块返回给应用层DLL和/或内核层DLL。为解决上述技术问题,本专利技术实施例提供一种PCI密码卡访问系统,应用于Windows操作系统,包括:应用层DLL,用于将业务请求发送给应用层业务均衡处理模块;内核层DLL,用于将业务请求发送至内核层业务均衡处理模块;应用层业务均衡处理模块,用于将接收的业务请求按序发送至内核层队列处理模块;内核层业务均衡处理模块,用于将接收的业务请求按序发送至内核层队列处理模块;内核层队列处理模块,用于按序分析处理接收到的业务请求,并根据分析结果调用PCI密码卡中的相应密码运算,获取相应的运算结果;将运算结果通过应用层业务均衡处理模块或内核层业务均衡处理模块返回给应用层DLL和/或内核层DLL。为解决上述技术问题,本专利技术实施例提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使所述计算机执行上述技术方案所述的PCI密码卡访问方法。为解决上述技术问题,本专利技术实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上的并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述技术方案所述的PCI密码卡访问方法。本专利技术的有益效果是:本专利技术通过应用层DLL及内核层DLL收集业务请求,通过应用层业务均衡处理模块和内核层业务均衡处理模块实现应用层或内核层业务高并发情况系下,业务请求能够正常发送至内核层队列处理模块以及业务能正常返回各调用进程;通过内核层队列处理模块实现队列管理、业务分析处理及PCI密码卡调用。实现了在Windows操作系统下的内核层访问国密算法,满足了windows内核对国密算法的应用需求,极大的方便了文件系统透明加密/解密驱动、文件加密等产品的开发;且通过在Windows操作系统下访问PCI密码卡的形式实现国密算法,算法运行速度快。附图说明图1为本专利技术实施例提供的PCI密码卡访问方法的示意性流程图;图2为本专利技术实施例提供的PCI密码卡访问系统的示意性结构框图;图3为本专利技术实施例提供的内核层队列处理模块的示意性结构框图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。图1为本专利技术实施例提供的PCI密码卡访问方法的示意性流程图。如图1所示,该方法应用于Windows操作系统,包括:应用层DLL收集应用层的业务请求并发送至应用层业务均衡处理模块和/或内核层DLL收集内核层的业务请求并发送至内核层业务均衡处理模块;应用层业务均衡处理模块将接收的业务请求按序发送至内核层队列处理模块和/或内核层业务均衡处理模块将接收的业务请求按序发送至内核层队列处理模块;内核层队列处理模块按序分析处理接收到的业务请求,并根据分析结果异步调用PCI密码卡中的相应密码运算,获取相应的运算结果;将运算结果通过应用层业务均衡处理模块或内核层业务均衡处理模块返回给应用层DLL和/或内核层DLL。上述实施例中,通过应用层DLL及内核层DLL收集业务请求,通过应用层业务均衡处理模块和内核层业务均衡处理模块实现应用层或内核层业务高并发情况系下,业务请求能够正常发送至内核层队列处理模块以及业务能正常返回各调用进程;通过内核层队列处理模块实现队列管理、业务分析处理及PCI密码卡调用。实现了在Windows操作系统下的内核层访问国密算法,满足了Windows内核对国密算法的应用需求,极大的方便了文件系统透明加密/解密驱动、文件加密等产品的开发;且通过在Windows操作系统下访问PCI密码卡的形式实现国密算法,算法运行速度快。需要说明的是,上述实施例中,基于通用的PCI密码卡,设计了一种Windows内核驱动程序。PCI密码卡提供密钥保护功能、提供真随机数功能、提供SM1、SM2、SM3、SM4、SM7、SM9等国家密码算法,被内核层队列处理模块调用。上述实施例的本文档来自技高网
...

【技术保护点】
1.一种PCI密码卡访问方法,其特征在于,应用于Windows操作系统,包括:/n应用层DLL收集应用层的业务请求并发送至应用层业务均衡处理模块和/或内核层DLL收集内核层的业务请求并发送至内核层业务均衡处理模块;/n所述应用层业务均衡模块将接收的业务请求按序发送至内核层队列处理模块和/或内核层业务均衡处理模块将接收的业务请求按序发送至内核层队列处理模块;/n所述内核层队列处理模块按序分析处理接收到的业务请求,并根据分析结果异步调用PCI密码卡中的相应密码运算,获取相应的运算结果;/n将运算结果通过应用层业务均衡处理模块或内核层业务均衡处理模块返回给应用层DLL和/或内核层DLL。/n

【技术特征摘要】
1.一种PCI密码卡访问方法,其特征在于,应用于Windows操作系统,包括:
应用层DLL收集应用层的业务请求并发送至应用层业务均衡处理模块和/或内核层DLL收集内核层的业务请求并发送至内核层业务均衡处理模块;
所述应用层业务均衡模块将接收的业务请求按序发送至内核层队列处理模块和/或内核层业务均衡处理模块将接收的业务请求按序发送至内核层队列处理模块;
所述内核层队列处理模块按序分析处理接收到的业务请求,并根据分析结果异步调用PCI密码卡中的相应密码运算,获取相应的运算结果;
将运算结果通过应用层业务均衡处理模块或内核层业务均衡处理模块返回给应用层DLL和/或内核层DLL。


2.根据权利要求1所述的方法,其特征在于,所述应用层DLL收集应用层的业务请求并发送至应用层业务均衡处理模块和/或内核层DLL收集内核层的业务请求并发送至内核层业务均衡处理模块,包括:
应用层DLL收集应用层的业务请求,并进行业务类型的分析,将业务请求的密码运算类型、密码运算的数据长度、密码运算的操作类型打包为业务请求数据包,并将所述业务请求数据包并发送至应用层业务均衡处理模块;
和/或,内核层DLL收集内核层的业务请求,并进行业务类型的分析,将业务请求的密码运算类型、密码运算的数据长度、密码运算的操作类型打包为业务请求数据包,并将所述业务请求数据包并发送至内核层业务均衡处理模块。


3.根据权利要求1所述的方法,其特征在于,所述应用层业务均衡处理模块将接收的业务请求按序发送至内核层队列处理模块和/或内核层业务均衡处理模块将接收的业务请求按序发送至内核层队列处理模块时,记录所述业务请求的调用进程ID并注册回调函数。


4.根据权利要求1至3任一项所述的方法,其特征在于,所述内核层队列处理模块按序分析处理接收到的业务请求,并根据分析结果异步调用PCI密码卡中的相应密码运算,获取相应的运算结果,包括:
将接收的业务请求按序存入内核进队列;
按序取出内核进队列中的业务请求并进行分析处理,根据分析结果异步调用PCI密码卡中的相应密码运算,
根据PCI密码卡的MSI中断机制获得相应的运算结果;
将获得的运算结果按序存入内核出队列。


5.根据权利要求4所述的方法,其特征在于,所述按序取出内核进队列中的业务请求并进行分析处理,根据分析结果调用PCI密码卡中的相应密码运算,包括:
从内核进队列的队首取出一个业务请求;
分析所述业务请求...

【专利技术属性】
技术研发人员:张培帅桑洪波李欢欢王永峰
申请(专利权)人:北京三未信安科技发展有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1