一种基于密码卡的数据通信系统及方法技术方案

技术编号:26598311 阅读:28 留言:0更新日期:2020-12-04 21:20
本发明专利技术提出一种基于密码卡的数据通信系统,包括通过PCI‑E接口物理连接的主机和密码卡,所述密码卡包括密码算法运算单元、主处理器单元和DMA控制器,所述主机和所述密码卡之间设置有命令逻辑通道和运算逻辑通道;所述主机,用于采用所述命令逻辑通道,通过空间映射的方式与所述主处理器单元进行管理类数据的交互,以及对所述DMA控制器进行配置;所述主机,还用于采用所述运算逻辑通道,通过所述DMA控制器使用环形队列机制与所述密码算法运算单元进行密码运算类数据的交互。本发明专利技术还提供一种基于密码卡的数据通信方法;本发明专利技术能够通过命令逻辑通道和运算逻辑通道实现管理类和密码运算类数据的传输,且有效利用DMA、环形队列的方式,提高主机和密码卡之间的数据传输效率。

【技术实现步骤摘要】
一种基于密码卡的数据通信系统及方法
本专利技术涉及密码卡
,具体涉及一种基于密码卡的数据通信系统及方法。
技术介绍
如今网络上信息安全问题逐渐成为人们关注的焦点,而加密技术是解决安全问题的有效手段;加密技术主要有两种,软件加密和硬件加密。软件加密需要计算机的全程参与,具有消耗大量的系统资源、加密速度慢和容易被破解等缺点;而硬件加密具有速度快、保密性强等特点,因此硬件加密被广泛采用。硬件加密基本上采用密码卡的形式,密码卡具有成本低、性能高的特点。密码卡是为各类安全平台提供加密服务的专用插卡式密码设备。它以应用程序接口的方式为计算机应用系统提供各种安全保密服务、包括数据加密、数字签名、信息完整性验证、身份认证和访问控制等,主要应用于电子政务、电子商务、电子金融等行业。目前,主机与密码卡之间可采用DMA方式进行数据包的传输来实现密码相关处理,然而在实际的数据传输中,主机和密码卡需要传输多个数据包或者传输数据由多部分组成,这些数据存放的地址可能不连续,这样需要多次设置和启动DMA,从而影响整体的传输效率,因此如何有效利用DMA的方式,提高主机和密码卡之间的数据传输效率是目前急需解决的问题。
技术实现思路
本专利技术针对上述问题,有必要提供一种基于密码卡的数据通信系统及方法,能够有效利用DMA的方式,提高主机和密码卡之间的数据传输效率。本专利技术第一方面提出一种基于密码卡的数据通信系统,包括通过PCI-E接口物理连接的主机和密码卡,所述密码卡包括密码算法运算单元、主处理器单元和DMA控制器,所述主机和所述密码卡之间设置有命令逻辑通道和运算逻辑通道;所述主机,用于采用所述命令逻辑通道,通过空间映射的方式与所述主处理器单元进行管理类数据的交互,以及对所述DMA控制器进行配置;所述主机,还用于采用所述运算逻辑通道,通过所述DMA控制器使用环形队列机制与所述密码算法运算单元进行密码运算类数据的交互。进一步的,所述主机的内存中设置有环形发送队列缓冲区和环形接收队列缓冲区,所述DMA控制器中设置有发送控制器和接收控制器,所述发送控制器和所述接收控制器分别与所述密码运算单元连接;所述接收控制器,用于采用所述运算逻辑通道,以请求数据包的形式从所述环形发送队列缓冲区搬运所述主机的请求报文,并转发至所述密码运算单元,以进行解析和密码运算;所述发送控制器,用于从所述密码运算单元接收响应报文,并采用所述运算逻辑通道,以响应数据包的形式将所述密码运算单元的响应报文搬运至所述环形接收队列缓冲区,供所述主机解析和读取。进一步的,所述密码卡的配置空间中设置有BAR寄存器;所述BAR寄存器与所述密码卡的密码算法运算单元的寄存器地址进行空间映射;所述密码算法运算单元的寄存器通过片内总线连接所述主处理器单元和所述DMA控制器;所述主机,采用所述命令逻辑通道,将其内存中要发送的管理类指令数据和DMA配置数据通过BAR空间映射传输至所述高性能密码卡的密码算法运算单元的寄存器;所述主处理器单元通过片内总线从所述高性能密码卡的密码算法运算单元的寄存器里读取管理类指令数据;以及通过片内总线将其对所述管理类指令数据的执行结果发送至所述高性能密码卡的密码算法运算单元的寄存器;所述主机采用所述命令逻辑通道,通过BAR空间映射从所述高性能密码卡的密码算法运算单元的寄存器中读取执行结果;所述DMA控制器,通过片内总线从所述高性能密码卡的密码算法运算单元的寄存器里读取DMA配置数据;以及通过片内总线将其对所述DMA配置数据的执行结果发送至所述高性能密码卡的密码算法运算单元的寄存器;所述主机采用所述命令逻辑通道,通过BAR空间映射从所述高性能密码卡的密码算法运算单元的寄存器中读取执行结果。进一步的,所述发送控制器内置有接收队列基地址寄存器、接收队列头寄存器、接收队列尾寄存器和接收队列单包大小寄存器;所述接收控制器内置有发送队列基地址寄存器、发送队列头寄存器、发送队列尾寄存器和发送队列单包大小寄存器;所述发送队列基地址寄存器用于存储所述环形发送队列缓冲区的首地址值,所述发送队列单包大小寄存器用于存储单个请求数据包内允许包含的请求报文的最大个数;所述接收队列基地址寄存器用于存储所述环形接收队列缓冲区的首地址值,所述接收队列单包大小寄存器用于存储单个响应数据包内允许包含的响应报文的最大个数;所述发送队列头寄存器用于存储所述环形发送队列缓冲区累计待发送的请求报文个数,所述发送队列尾寄存器用于存储所述接收控制器累计接收的请求报文个数;所述接收队列头寄存器用于存储所述发送控制器累计待发送的响应报文个数,所述发送队列尾寄存器用于存储所述环形接收队列缓冲区累计接收的响应报文个数;所述接收控制器根据发送队列头寄存器、发送队列尾寄存器的值进行启动,以接收外界主机下发的请求数据包;所述发送控制器根据所述接收队列头寄存器和所述接收队列尾寄存器的值进行启动,以向外部主机发送响应数据包。进一步的,所述DMA配置数据包括所述环形发送队列缓冲区的首地址值、所述环形接收队列缓冲区的首地址值、单个请求数据包内允许包含的请求报文的最大个数和单个响应数据包内允许包含的响应报文的最大个数;所述DMA控制器将所述环形发送队列缓冲区的首地址值写入所述接收控制器内置的发送队列基地址寄存器,将所述环形接收队列缓冲区的首地址值写入所述发送控制器内置的接收队列基地址寄存器,将单个请求数据包内允许包含的请求报文的最大个数写入所述接收控制器内置的发送队列单包大小寄存器,将单个响应数据包内允许包含的响应报文的最大个数写入所述发送控制器内置的接收队列单包大小寄存器。本专利技术第二方面还一种基于密码卡的数据通信方法,包括通过PCI-E接口物理连接的主机和密码卡,所述主机和所述密码卡之间设置有命令逻辑通道和运算逻辑通道,所述主机,采用所述命令逻辑通道,通过空间映射的方式与所述密码卡的主处理器单元进行管理类数据的交互;所述主机,采用所述命令逻辑通道,通过空间映射的方式对所述密码卡的DMA控制器进行配置;所述主机,采用所述运算逻辑通道,通过所述DMA控制器使用环形队列机制与所述密码算法运算单元进行密码运算类数据的交互。进一步的,所述主机,采用所述命令逻辑通道,通过空间映射的方式与所述密码卡的主处理器单元进行管理类数据的交互,具体包括:所述密码卡的配置空间中设置有BAR寄存器;所述BAR寄存器与所述密码卡的密码算法运算单元的寄存器地址进行空间映射;所述密码算法运算单元的寄存器通过片内总线连接所述主处理器单元;所述主机,采用所述命令逻辑通道,将其内存中要发送的管理类指令数据通过BAR空间映射传输至所述高性能密码卡的密码算法运算单元的寄存器;所述管理类指令数据包括密钥管理、身份认证、密码卡配置信息;所述主处理器单元通过片内总线从所述高性能密码卡的密码算法运算单元的寄存器里读取管理类指令数据;以及通过片内总线将其对所述管理类指令数据的执行结果发送至所述高性能密码卡的密码算法运算单元本文档来自技高网...

【技术保护点】
1.一种基于密码卡的数据通信系统,其特征在于,包括通过PCI-E接口物理连接的主机和密码卡,所述密码卡包括密码算法运算单元、主处理器单元和DMA控制器,/n所述主机和所述密码卡之间设置有命令逻辑通道和运算逻辑通道;/n所述主机,用于采用所述命令逻辑通道,通过空间映射的方式与所述主处理器单元进行管理类数据的交互,以及对所述DMA控制器进行配置;/n所述主机,还用于采用所述运算逻辑通道,通过所述DMA控制器使用环形队列机制与所述密码算法运算单元进行密码运算类数据的交互。/n

【技术特征摘要】
1.一种基于密码卡的数据通信系统,其特征在于,包括通过PCI-E接口物理连接的主机和密码卡,所述密码卡包括密码算法运算单元、主处理器单元和DMA控制器,
所述主机和所述密码卡之间设置有命令逻辑通道和运算逻辑通道;
所述主机,用于采用所述命令逻辑通道,通过空间映射的方式与所述主处理器单元进行管理类数据的交互,以及对所述DMA控制器进行配置;
所述主机,还用于采用所述运算逻辑通道,通过所述DMA控制器使用环形队列机制与所述密码算法运算单元进行密码运算类数据的交互。


2.根据权利要求1所述的数据通信系统,其特征在于,所述主机的内存中设置有环形发送队列缓冲区和环形接收队列缓冲区,所述DMA控制器中设置有发送控制器和接收控制器,所述发送控制器和所述接收控制器分别与所述密码运算单元连接;
所述接收控制器,用于采用所述运算逻辑通道,以请求数据包的形式从所述环形发送队列缓冲区搬运所述主机的请求报文,并转发至所述密码运算单元,以进行解析和密码运算;
所述发送控制器,用于从所述密码运算单元接收响应报文,并采用所述运算逻辑通道,以响应数据包的形式将所述密码运算单元的响应报文搬运至所述环形接收队列缓冲区,供所述主机解析和读取。


3.根据权利要求2所述的数据通信系统,其特征在于,所述密码卡的配置空间中设置有BAR寄存器;所述BAR寄存器与所述密码卡的密码算法运算单元的寄存器地址进行空间映射;所述密码算法运算单元的寄存器通过片内总线连接所述主处理器单元和所述DMA控制器;
所述主机,采用所述命令逻辑通道,将其内存中要发送的管理类指令数据和DMA配置数据通过BAR空间映射传输至所述高性能密码卡的密码算法运算单元的寄存器;
所述主处理器单元通过片内总线从所述高性能密码卡的密码算法运算单元的寄存器里读取管理类指令数据;以及通过片内总线将其对所述管理类指令数据的执行结果发送至所述高性能密码卡的密码算法运算单元的寄存器;所述主机采用所述命令逻辑通道,通过BAR空间映射从所述高性能密码卡的密码算法运算单元的寄存器中读取执行结果;
所述DMA控制器,通过片内总线从所述高性能密码卡的密码算法运算单元的寄存器里读取DMA配置数据;以及通过片内总线将其对所述DMA配置数据的执行结果发送至所述高性能密码卡的密码算法运算单元的寄存器;所述主机采用所述命令逻辑通道,通过BAR空间映射从所述高性能密码卡的密码算法运算单元的寄存器中读取执行结果。


4.根据权利要求3所述的数据通信系统,其特征在于,
所述发送控制器内置有接收队列基地址寄存器、接收队列头寄存器、接收队列尾寄存器和接收队列单包大小寄存器;所述接收控制器内置有发送队列基地址寄存器、发送队列头寄存器、发送队列尾寄存器和发送队列单包大小寄存器;
所述发送队列基地址寄存器用于存储所述环形发送队列缓冲区的首地址值,所述发送队列单包大小寄存器用于存储单个请求数据包内允许包含的请求报文的最大个数;所述接收队列基地址寄存器用于存储所述环形接收队列缓冲区的首地址值,所述接收队列单包大小寄存器用于存储单个响应数据包内允许包含的响应报文的最大个数;
所述发送队列头寄存器用于存储所述环形发送队列缓冲区累计待发送的请求报文个数,所述发送队列尾寄存器用于存储所述接收控制器累计接收的请求报文个数;所述接收队列头寄存器用于存储所述发送控制器累计待发送的响应报文个数,所述发送队列尾寄存器用于存储所述环形接收队列缓冲区累计接收的响应报文个数;
所述接收控制器根据发送队列头寄存器、发送队列尾寄存器的值进行启动,以接收外界主机下发的请求数据包;所述发送控制器根据所述接收队列头寄存器和所述接收队列尾寄存器的值进行启动,以向外部主机发送响应数据包。


5.根据权利要求4所述的数据通信系统,其特征在于,所述DMA配置数据包括所述环形发送队列缓冲区的首地址值、所述环形接收队列缓冲区的首地址值、单个请求数据包内允许包含的请求报文的最大个数和单个响应数据包内允许包含的响应报文的最大个数;
所述DMA控制器将所述环形发送队列缓冲区的首地址值写入所述接收控制器内置的发送队列基地址寄存器,将所述环形接收队列缓冲区的首地址值写入所述发送控制器内置的接收队列基地址寄存器,将单个请求数据包内允许包含的请求报文的最大个数写入所述接收控制器内置的发送队列单包大小寄存器,将单个响应数据包内允许包含的响应报文的最大个数写入所述发送控制器内置的接收队列单包大小寄存器。


6.一种基于密码卡的数据通信方法,其特征在于,包括通过PCI-E接口物理连接的主机和密码卡,所述主机和所述密码卡之间设置有命令逻辑通道和运算逻辑通道,其特征在于,
所述主机,采用所述命令逻辑通道,通过空间映射的方式与所述密码卡的主处理器单元进行管理类数据的交互;
所述主机,采用所述命令逻辑通道,通过空间映射的方式对所述密码卡的DMA控制器进行配置;
所述主机,采用所述运算逻辑通道,通过所述DMA控制器使用环形队列机制与所述密码算法运算单元进行密码运算类数据的交互。


7.根据权利要求6所述的数据通信方法,其特征在于,所述主机,采用所述命令逻辑通道,通过空间映...

【专利技术属性】
技术研发人员:彭金辉雷宗华王阳阳陈万顺习道彬杨廷
申请(专利权)人:郑州信大捷安信息技术股份有限公司
类型:发明
国别省市:河南;41

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

1