掌桥专利:专业的专利平台
掌桥专利
首页

一种自诊断的PCI密码卡

文献发布时间:2023-06-19 11:44:10


一种自诊断的PCI密码卡

技术领域

本发明属于信息安全技术领域,更具体的说是涉及一种自诊断的PCI密码卡。

背景技术

PCI密码卡是以PCI局部总线或者PCIExpress为接口,具有密码运算功能、密钥管理功能、物理随机数产生功能和设备自身安全保护措施的密码设备,PCI密码卡可以应用在需要密码运算和密钥管理等安全功能的、具有PCI局部总线或者PCIExpress的通信设备、计算机设备、安全保密设备上,例如:虚拟专网(VPN)设备、证书中心(CA)系统的有关设备、网络密码机、安全服务器、安全终端、安全管理中心、密钥管理设备等。PCI密码卡作为部署在应用端的重要安全设备,实现密钥生成、管理、保护、高速签名、验证、加密和解密操作,是信息安全产业链中最基本的、不可缺少的密码设备。

目前PCI密码卡支持各种密码算法如SM1、SM2、SM3、SM4、SM7、SM9等密码算法。各密码算法实现机制不同有的采用认证的密码算法芯片,有的采用FPGA硬件逻辑实现,因此检测密码卡时各密码算法均需要检测。PCI密码卡的检测需要测试各密码算法、各功能模块的正确性同时测试PCI密码卡的稳定性(持续24小时)。目前检测密码卡需要主机设备、操作系统、安装PCI密码卡驱动、运行PCI密码卡测试程序等,需要占用了大量的软件和硬件资源,造成不同程度的资源浪费。

因此,如何提供一种自诊断的PCI密码卡是本领域技术人员亟需解决的问题。

发明内容

有鉴于此,本发明提供了一种自诊断的PCI密码卡,不需要借助主机设备,不需要Windows或Linux操作系统,不需要安装PCI密码卡驱动和测试程序,仅在PCI密码卡加电的情况下完成各密码算法、各功能模块的诊断以及完成PCI密码卡稳定性测试。

为了实现上述目的,本发明采用如下技术方案:

一种自诊断的PCI密码卡,包括:主控工作模式切换模块、主控工作模式捕获模块、主控自诊断模块和主控状态推送模块;其中,

所述主控工作模式切换模块,用于切换PCI密码卡硬体上配置的PCI密码卡自诊断工作模式和PCI密码卡正常工作模式;

所述主控工作模式捕获模块,用于实时捕获PCI密码卡硬体配置的工作模式;

所述主控自诊断模块,用于在PCI密码卡主控程序内部完成各功能的检测,自检结果回收和诊断数据合成;

所述主控状态推送模块,用于推送工作状态和诊断数据。

优选的,所述主控自诊断模块在诊断过程中对SM1、SM2、SM3、SM4、SM7、SM9、PCIE模块及其他外设模块进行检测,最多支持32个模块检测;每项自检结果用1bit标识,0表示通过,1表示失败;依次配置SM1、SM2、SM3、SM4、SM7、SM9、PCIE模块及其他外设模块为诊断数据的31至24位;采用主控自诊断模块自检结果左移位数的方式,依次合成诊断数据。

优选的,所述主控状态推送模块的推送工作状态包括:自检状态工作模式、正常工作模式及卡死状态。

优选的,所述主控状态推送模块推送诊断数据方法为:将诊断数据进行解析与转换然后推送至PCI密码卡主控程序外部。

优选的,所述主控状态推送模块的数据解析过程为:解析各正常状态包括:密码算法正常状态、PCIE模块正常状态以及其他外设正常状态,诊断数据为0;各种错误状态包括:SM1/SM2/SM3/SM4/SM7/SM9每种密码算法错误状态、PCIE模块错误状态及其他外设错误状态,此时诊断数据中某位为1或多位为1;数据解析后通过主控程序内部的驱动程序结合硬体,将0或1依次发送至PCI密码卡上的装置或PCI密码卡连接的外部装置。

本发明的有益效果在于:

本发明提供了一种自诊断的PCI密码卡,能够在只加电的情况下完成PCI密码卡各密码算法、各功能模块的诊断,完成稳定性测试并将诊断情况展示给检测人员,检测人员可以直观的判断PCI密码卡各模块是否正常工作,如果工作异常,能够准确定位出错模块。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1附图为本发明主控程序工作流程图。

图2附图为本发明诊断数据格式的图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅附图1-2,本发明提供了一种自诊断的PCI密码卡,包括:主控工作模式切换模块、主控工作模式捕获模块、主控自诊断模块和主控状态推送模块;其中,

所述主控工作模式切换模块,用于切换PCI密码卡硬体上配置的PCI密码卡自诊断工作模式和PCI密码卡正常工作模式;

所述主控工作模式捕获模块,用于实时捕获PCI密码卡硬体配置的工作模式;

所述主控自诊断模块,用于在PCI密码卡主控程序内部完成各功能的检测,自检结果回收和诊断数据合成;

所述主控状态推送模块,用于推送工作状态和诊断数据。

PCI密码卡上电时首先工作的是PCI密码卡主控程序,主控程序加载完成后进行初始化工作。初始化PCI密码卡内部RAM、初始化各种外设、复位算法芯片等。主控程序还负责业务接收与解析、密码算法的调度、承载密钥保护系统、业务的发送等工作。主控程序可以访问PCI密码卡内部所有资源,该自诊断的PCI密码卡软件系统在PCI密码卡主控程序中实现,包括主控工作模式切换模块、主控工作模式捕获模块、主控自诊断模块和主控状态推送模块。

主控工作模式切换模块在PCI密码卡硬体上配置PCI密码卡自诊断工作模式和PCI密码卡正常工作模式两种工作模式,两种工作模式可以随意切换。主控程序加载成功且完成各项初始化后进入主控工作模式捕获模块。通过该捕获模块主控程序能够实时捕获硬体配置的工作模式,然后调节密码卡主控程序工作在自诊断工作模式还是正常工作模式。硬体可以手动设置让PCI密码卡持续工作在某种状态下。比如配置为自诊断工作模式,进而可以完成PCI密码卡的稳定性测试。

主控自诊断模块:主控自诊断模块在主控芯片内部完成各功能的检测,自检结果回收和诊断数据合成。诊断过程中对SM1、SM2、SM3、SM4、SM7、SM9、PCIE模块、其他外设等模块进行检测,最多可以支持32个模块检测。每项自检结果用1bit标识,0表示通过,1表示失败。依次配置SM1、SM2、SM3、SM4、SM7、SM9、PCIE模块、其他外设为诊断数据的31至24位(如果有其他检测模块则依次排序)。采用主控自诊断模块自检结果左移位数的方式,依次合成诊断数据。如:诊断数据=SM1自检结果左移31位|SM2检测结果左移30位|SM3检测结果左移29位|SM4检测结果左移28位|SM7检测结果左移27位|SM9检测结果左移26位|PCIE模块检测结果左移25位|其他外设等模块检测结果左移24位|0。

主控自诊断模块将32个模块的检测结果移位组成一个int类型的诊断数据,并将诊断数据发送给主控状态推送模块。

诊断数据的格式如下:

1、诊断数据由32位数据组成,每一位代表一个密码算法或功能模块诊断结果。每一位初始值均为0。

2、每一位数值为0或1。0表示诊断通过,该算法或功能模块正常。1表示诊断失败,该算法或功能模块异常。

3、若各算法或功能模块均正常,则诊断数据为0。

4、若某算法或功能模块错误,则诊断数据非0。通过该对应表可以快速定位错误的算法或功能模块。

主控状态推送模块:主控状态推送模块主要负责推送工作状态和诊断数据。

推送工作状态包括:对外展示PCI密码卡工作状态如:自检状态工作模式、正常工作模式、卡死状态等。

推送诊断数据包括:诊断数据进行解析与转换然后推送至PCI密码卡主控芯片外部。检测人员能够通过观察或者倾听等方式获取密码卡的检测情况。

所述主控状态推送模块的数据解析过程为:解析各正常状态包括:密码算法正常状态、PCIE模块正常状态以及其他外设正常状态,诊断数据为0;各种错误状态包括:SM1/SM2/SM3/SM4/SM7/SM9每种密码算法错误状态、PCIE模块错误状态及其他外设错误状态等,此时诊断数据中某位为1或多位为1;数据解析后通过主控程序内部的驱动程序结合硬体,将0或1依次发送至PCI密码卡上的装置或PCI密码卡连接的外部装置。

本发明提供了一种自诊断的PCI密码卡,能够在只加电的情况下完成PCI密码卡各密码算法、各功能模块的诊断,完成稳定性测试并将诊断情况展示给检测人员,检测人员可以直观的判断PCI密码卡各模块是否正常工作,如果工作异常,能够准确定位出错模块。

自诊断的PCI密码卡的工作流程为:

(1)密码卡上电,仅使用供电模块给PCIE供电即可,不需要插在主机上的PCIE槽。

(2)主控程序完成固件程序加载及完成必须的各项初始化工作,通过状态指示灯提示固件程序加载成功及初始化成功。主控程序启动后进入主控工作模式捕获模块。

(3)主控工作模式捕获模块,如果为自诊断模式则进入自诊断模式否则进入正常工作模式。

(4)进入自诊断模式后,如果诊断正常则跳转再次进行模式判断。

(5)进入正常工作模式后,主控程序侦听是否有业务需要处理,业务处理完成或没有待处理业务后跳转再次进行模式判断。

(6)流程(4)和流程(5),持续工作。

实施例:

PCI密码卡设计了工作模式切换开关,该开关连接PCI密码卡主控芯片的GPI引脚。若GPI引脚为0则PCI密码卡进入正常工作模式。因中断模式可以减少主控芯片的损耗,该实施中采用了中断模式实现主控工作模式切换/捕获模块。主控程序注册中断处理函数,若GPI引脚为1则触发中断,中断处理函数响应。中断处理函数内部实现主控自诊断模块和主控状态推送模块。主控自诊断模块依次进行SM1、SM2、SM3、SM4、SM7、SM9、PCIE模块、其他外设等模块进行检测并返回诊断结果,诊断结果移位填充诊断数据。该实施方案中检测了密码算法和其他功能模块共计8个模块,主控状态模块采用主控芯片的8个GPO引脚输出诊断数据,8个模块和8个GPO引脚一一对应,8个GPO引脚外接红灯。正常状态下所有红灯熄灭,如果出错则通过驱动向GPO端口写1相应的红灯变亮。如SM1算法出错则SM1对应的红灯变亮。主控状态推送模块采用2个主控芯片的GPO引脚推送工作状态,2个GPO引脚外接绿灯。自检状态工作模式绿灯1闪烁,正常工作模式绿灯2闪烁,卡死状态两个等熄灭。

通过该实施方法,只给PCI密码卡电源模块供电,将开关打到自检模式,PCI密码卡绿灯1持续闪烁,24小时稳定性测试后,没有红灯变亮。将SM1芯片断开连接,重新上电,将开关打到自检模式,PCI密码卡绿灯1闪烁,SM1对应的红灯变亮提示SM1算法自检错误。通过测试进一步证明该自诊断的PCI密码卡检测准确无误。整个过程没有借助主机设备、Windows或Linux操作系统、PCI密码卡驱动和测试程序等,大大节约了硬件和软件资源。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种自诊断的PCI密码卡
  • 一种基于PCIe接口的密码卡及该密码卡的数据加密方法
技术分类

06120113034213