双核心密码工程实验系统及实验方法转让专利

申请号 : CN202410031303.3

文献号 : CN117560151B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李秀滢段晓毅张磊胡荣磊李莉张健毅王建新刘学文赵成陈汉林

申请人 : 北京电子科技学院

摘要 :

本发明涉及密码与信息安全技术领域,尤其涉及一种双核心密码工程实验系统及实验方法。其中,双核心密码工程实验系统包括上位机应用系统和双核心密码实验系统,双核心密码实验系统包括安全芯片子系统和密码协处理子系统;用户通过上位机应用系统完成与系统交互和程序编写;安全芯片子系统向上位机应用系统的密码服务中间件的API函数提供密码服务APDU,并将接收密码协处理子系统和其他外部设备的信息交付到上位机应用系统中;密码协处理子系统与外部设备进行信息交互,并向上位机应用系统提供自定义密码算法引擎。本发明提供的双核心密码工程实验方法,用户根据选择实践学习的知识模块创建实验系统模拟架构,完成对所需密码工程技术的学习。

权利要求 :

1.一种双核心密码工程实验系统,包括上位机应用系统,其特征在于,还包括双核心密码实验系统;其中,所述双核心密码实验系统包括安全芯片子系统和密码协处理子系统:所述安全芯片子系统包括指令与数据处理功能模块、密码引擎功能模块和外设驱动层模块;所述密码引擎功能模块通过所述指令与数据处理功能模块向所述上位机应用系统中的密码服务中间件提供API函数;外设驱动层模块接收来自所述上位机应用系统、密码协处理子系统和其他外部设备的信息,通过指令与数据处理功能模块处理后再交付到上位机应用系统中;

所述密码协处理子系统包括FPGA协处理模块和智能IC卡协处理模块;所述FPGA协处理模块和所述智能IC卡协处理模块分别与所述外设驱动层模块进行信息交互;所述FPGA协处理模块通过异步串行信道与自定义FPGA交互程序直接通信,用于向FPGA协处理器模块中部署自定义密码算法引擎或其它功能IP核;

所述上位机应用系统构建在PC机上,包括GUI用户应用程序框架、密码服务中间件、USB CCID驱动程序;用户在所述GUI用户应用程序框架下调用所述密码服务中间件中的API函数设计用户应用程序,用户应用程序通过所述USB CCID驱动程序与所述安全芯片子系统进行信息交互。

2.根据权利要求1所述的双核心密码工程实验系统,其特征在于,所述外设驱动层模块包括USB CCID通信协议模块、QSPI驱动模块和7816M1驱动模块;其中,所述USB CCID通信协议模块用于完成与所述上位机应用系统的通信交互;所述QSPI驱动模块用于完成与所述FPGA协处理模块的通信交互;所述7816M1驱动模块用于完成与所述智能IC卡协处理模块的通信交互。

3.根据权利要求1所述的双核心密码工程实验系统,其特征在于,所述密码服务中间件的API函数是由所述安全芯片子系统提供的APDU封装得到的;所述上位机应用系统与所述安全芯片子系统之间、所述安全芯片子系统与所述密码协处理子系统之间均采用统一的APDU进行通信。

4.一种双核心密码工程实验方法,其特征在于,包括密码应用工程技术实验方法和密码设备测评工程技术实验方法;其中,所述密码应用工程技术实验方法和所述密码设备测评工程技术实验方法均依托于如权利要求1 3中任意一项所述的双核心密码工程实验系~统;

所述密码应用工程技术实验方法包括针对所述密码服务中间件构建的实验案例;所述密码设备测评工程技术实验方法包括针对密码硬件设备构建的实验案例,用户根据选择练习的知识模块创建实验系统模拟环境,使所述用户能够在实验系统模拟架构中实践学习选择的知识模块,形成所述知识模块的工程技术能力。

说明书 :

双核心密码工程实验系统及实验方法

技术领域

[0001] 本发明涉及密码与信息安全技术领域,尤其涉及一种双核心密码工程实验系统及实验方法。

背景技术

[0002] 当前,以商用密码算法为基础的密码设备已成为保障国民信息系统安全的重要基石,密码行业的发展进入了快车道,懂密码、用密码的人才需求急剧增加。近几年我国加大了信息安全工程和密码工程人才培养的力度,培养能设计、开发、应用密码系统或密码设备的高级专门人才是人才能力培养体系的重要组成部分。
[0003] 当前,高校在密码工程、信息安全工程、嵌入式系统等专业课程教学中,多采用纯软件平台或者通用ARM嵌入式处理器平台构建工程实验系统,缺失采用安全处理器构建的实验系统;完全体现国产化信创技术的密码工程类的实验系统和实验方法更是匮乏;符合国家商用密码标准的密码服务中间件技术还未见应用到现有教学实验系统和实验方法中。

发明内容

[0004] 本发明为解决上述问题,提供一种双核心密码工程实验系统,该系统采用国产安全处理器和国产FPGA芯片作为密码工程实验系统的硬件核心,结合国密标准的商用密码算法引擎和密码服务中间件技术,提供了一个基于先进国产化信创技术的双核心密码工程实验系统,以及基于双核心密码工程实验系统的实验方法。
[0005] 本发明提供的双核心密码工程实验系统,包括上位机应用系统和双核心密码实验系统。双核心密码实验系统包括安全芯片子系统和密码协处理子系统。
[0006] 安全芯片子系统包括指令与数据处理功能模块、密码引擎功能模块和外设驱动层模块。密码引擎功能模块通过数据处理功能模块向密码服务中间件提供API函数;外设驱动层模块接收来自上位机应用系统、密码协处理子系统和其他外部设备的信息,通过指令与数据处理功能模块处理后再交付到上位机应用系统中。
[0007] 密码协处理子系统包括FPGA协处理模块和智能IC卡协处理模块。FPGA协处理模块和智能IC卡协处理模块分别与外设驱动层模块进行信息交互;FPGA协处理模块通过异步串行信道与自定义FPGA交互程序直接通信,用于向FPGA协处理器模块中部署自定义密码算法引擎或其它功能IP核。
[0008] 进一步的,上位机应用系统构建在PC机上,包括GUI用户应用程序框架、密码服务中间件、USB CCID驱动程序;用户在GUI用户应用程序框架下调用密码服务中间件中的API函数设计用户应用程序;用户应用程序通过USB CCID驱动程序与安全芯片子系统进行信息交互。
[0009] 进一步的,外设驱动层模块包括USB CCID通信协议模块、QSPI(四通道SPI接口)驱动模块和7816M1驱动模块。其中,USB CCID通信协议模块用于完成与上位机应用系统的通信交互,QSPI驱动模块用于完成与FPGA协处理模块的通信交互,7816M1驱动模块用于完成与智能IC卡协处理模块的通信交互。
[0010] 进一步的,密码服务中间件的API函数是由安全芯片子系统提供的APDU封装得到的;上位机应用系统与安全芯片子系统之间、安全芯片子系统与密码协处理子系统之间均采用统一的APDU进行通信。
[0011] 依托本发明提供的双核心密码工程实验系统,本发明还提供了一种双核心密码工程实验方法,包括密码应用工程技术实验方法和密码设备测评工程技术实验方法;其中,密码应用工程技术实验方法和密码设备测评工程技术实验方法均依托于本发明提出的双核心密码工程实验系统。基于双核心密码工程实验方法构建了GUI用户应用程序框架,为用户提供习得相关知识模块的实验方法。
[0012] 进一步的,密码应用工程技术实验方法包括针对密码服务中间件构建的7个实验案例;密码设备测评工程技术实验方法包括针对密码硬件设备构建的4个实验案例,用户根据选择练习的知识模块创建实验系统模拟环境,使用户能够在实验系统模拟架构中实践学习选择的知识模块,形成所述知识模块的工程技术能力。
[0013] 与现有技术相比,本发明能够取得如下有益效果:
[0014] 依托本发明提供的双核心密码工程实验系统和实验方法,用户选择知识模块创建实验系统模拟架构,并有针对性、有目的性的在密码算法应用技术、密码系统设计技术和密码设备测评技术方面进行实践训练,最终切实有效的提高自身系统化、工程化的密码工程专业技术的认知水平和实践能力。

附图说明

[0015] 图1是根据本发明实施例提供的双核心密码工程实验系统的逻辑架构图。

具体实施方式

[0016] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,而不构成对本发明的限制。
[0017] 本发明提供的双核心密码工程实验系统依托于国产安全处理器和国产FPGA芯片构建的密码工程实验箱,该实验箱采用双核心模块设计,结合国家商用密码技术的相关标准,提供了一个国产化信创技术的双核心密码实验系统。用户依托双核心密码工程实验系统,有针对性、有目的性的开展密码算法应用技术、密码系统设计技术和密码设备测评技术方面的实践训练,最终切实有效的提高自身系统化、工程化的密码工程专业技术的认知水平和实践能力。
[0018] 图1示出了根据本发明实施例提供的双核心密码工程实验系统的逻辑架构。
[0019] 如图1所示,本发明实施例提供的双核心密码工程实验系统包括上位机应用系统和双核心密码实验系统。双核心密码实验系统包括安全芯片子系统和密码协处理子系统。
[0020] 上位机应用系统构建在PC机上,包括GUI用户应用程序框架、密码服务中间件、USB CCID驱动程序。用户在GUI用户应用程序框架下调用密码服务中间件中的API函数设计用户应用程序;用户应用程序通过USB CCID驱动程序与安全芯片子系统完成信息交互。
[0021] 安全芯片子系统包括指令与数据处理功能模块、密码引擎功能模块和外设驱动层模块。密码引擎功能模块和FPGA协处理模块通过命令与数据处理功能模块向密码服务中间件提供APDU,最终封装为密码服务中间件的API函数。
[0022] APDU封装为符合国密“GM/T 0018‑2012密码设备应用接口规范”的密码服务中间件,该密码服务中间件包含三大功能类函数,即密码处理类接口函数集、密钥管理类接口函数集和设备管理类接口函数集,共计76个API函数。
[0023] 外设驱动层模块接收来自上位机应用系统、密码协处理子系统和其他外部设备的信息,并通过指令与数据处理功能模块交付到上位机应用系统中。外设驱动层模块包括USB CCID通信协议模块、QSPI驱动模块和7816M1驱动模块。其中,USB CCID通信协议模块用于完成与上位机应用系统的通信交互,QSPI驱动模块用于完成与FPGA协处理模块的通信交互,7816M1驱动模块用于完成与智能IC卡协处理模块通信交互。
[0024] 密码协处理子系统以密码工程实验箱的FPGA模块为核心,包括FPGA协处理模块和智能IC卡协处理模块。FPGA协处理模块和智能IC卡协处理模块分别与外设驱动层模块进行信息交互。其中,智能IC卡协处理模块基于智能IC卡的COS(Chip Operating System)实现用户私有文件管理、分割密钥存储、用户身份协同认证等功能。FPGA协处理模块通过同步串行QSPI接口信道与应用层接口协议的APDU进行信息交互,用于对FPGA协处理模块中自定义密码算法引擎的调用。
[0025] 安全芯片子系统与上位机应用系统采用USB接口的CCID协议实现通信,安全芯片子系统和智能IC卡协处理模块采用ISO/IEC7816接口的CCID协议实现通信,安全芯片子系统和FPGA协处理模块采用QSPI接口的类CCID协议实现通信。CCID是一种智能卡设备的标准协议,其通信协议包格式为APDU,而本发明基于不同的物理层通信接口,封装了符合CCID应用层协议的APDU。故本发明采用统一的APDU使上位机应用系统、安全芯片子系统之间与密码协处理子系统之间相互通信,这样可以减轻安全芯片子系统的协议转换带来的系统开销过大的问题。
[0026] 本发明依托提供的双核心密码工程实验系统,提出了双核心密码工程实验方法。双核心密码工程实验方法包括密码应用工程技术实验方法和密码设备测评工程技术实验方法。
[0027] 密码应用工程技术实验方法依托密码服务中间件和GUI用户应用程序框架构建了7个实验案例,包括对称密码引擎的加解密实验1‑1、非对称密码引擎的加解密实验1‑2、FPGA自定义密码引擎的设计与实现实验1‑3、FPGA密码协处理器的应用实验1‑4、身份认证与密钥协商协议设计实验1‑5、智能IC卡安全系统设计实验1‑6、密码设备三层密钥管理方案设计实验1‑7。
[0028] 为清楚描述本发明提出的密码设备测评工程技术实验方法,这里引入与双核心密码工程实验系统相配合的密码实验箱。在密码实验箱中,采用THM3682芯片作为安全芯片子系统中的核心处理芯片,采用国产FPGA芯片作为FPGA协处理模块中核心处理芯片。
[0029] 实验1‑1是关于对称密码算法(重点为商密算法)的工程应用实验方法的实施例。首先,用户搭建嵌入式Keil ARM‑MDK开发环境以及C语言开发环境,连接密码实验箱,并进行软件安装(包括密码实验箱驱动的安装、密码服务中间件的安装);然后,用户通过Keil ARM‑MDK软件和JTAG仿真器,将实验一的固件程序下载到密码实验箱中;最后,在PC机端,用户在上位机应用系统中的GUI用户应用程序框架下,参照实验系统相应例程编写C/C++语言程序,调用所述密码服务中间件API函数来间接使用所述实验系统中的硬件密码引擎,反复测试运行结果。最终使用户习得基于密码实验箱的固件程序的装载、调试、测试方法以及对称密码算法的应用技术。
[0030] 实验1‑2是关于非对称算法(重点为商密算法)的工程应用实验方法的实施例。依托实验1‑1搭建的实验环境和其相似的实验步骤,用户在GUI用户应用程序框架下,参照实验系统相应例程编写C/C++语言程序,调用所述密码服务中间件API函数来间接使用所述实验系统中的硬件密码引擎,最终使用户习得非对称密码算法的应用技术。
[0031] 实验1‑3是关于FPGA实现密码算法模块的工程技术实验方法的实施例。搭建Pango Design Suite(PDS)集成开发环境,用户参考实验系统相应例程,在PDS中编写Verilog程序;在Modelsim仿真工具中对程序进行仿真;参考PDS程序下载方法,将仿真成功后的代码载入到FPGA芯片中运行。通过与实验系统提供的自定义FPGA交互程序进行交互,反复测试运行结果。最终使用户习得硬件密码引擎和串行接口的FPGA设计实现技术。
[0032] 实验1‑4是关于FPGA实现密码协处理器的工程技术实验方法的实施例。在实验1‑3搭建的实验环境和相似的实验步骤的基础上,用户实践通过安全芯片子系统调用FPGA协处理模块中自定义密码算法引擎的过程。用户在GUI用户应用程序框架下,参照实验1‑1或实验1‑2的相应例程编写C/C++语言程序,与FPGA协处理模块中的密码引擎进行交互,显示运行结果,最终习得密码协处理器的应用技术。
[0033] 实验1‑5是关于密码协议设计的工程技术实验方法的实施例。依托实验1‑1搭建的实验环境和相似实验步骤,用户在上位机应用系统中的GUI用户应用程序框架下,参照实验系统相应例程,设计密钥交换和密钥协商协议,编写相应的C/C++语言程序,基于密码服务中间件API函数间接使用所述实验系统中的硬件密码引擎。最终使用户习得网络通信环境下的密钥交换和密钥协商协议的设计和应用技术。
[0034] 实验1‑6是关于智能IC卡的工程应用实验方法的实施例。依托实验1‑1搭建的实验环境和相似实验步骤,用户在上位机应用系统中的GUI用户应用程序框架下,参照实验系统的相应例程和《中国金融集成电路(IC)卡应用规范》中的ISO/IEC 7816‑3/4命令格式,在GUI用户应用程序框架下编写相应的C/C++程序。最终使用户习得智能IC卡应用和安全性设计技术。
[0035] 实验1‑7是关于设备密钥管理的工程技术实验方法的实施例。用户依托所述实验1‑1搭建的实验环境,并集成所述实验1‑6的操作内容,在GUI用户应用程序框架下,参照实验系统相应例程和密钥管理的相关技术,设计三层密钥管理方案,在GUI用户应用程序框架下编写相应的C/C++程序,并向密码实验箱中加载相应的固件程序。最终使用户习得密钥管理的相关方案的设计与实现技术。
[0036] 密码设备测评工程技术实验方法依托密码工程实验箱构建了4个实验案例,包括密码设备算法性能评测实验2‑1、能量分析攻击实验2‑2、电压注入攻击与防御实验2‑3、电路破拆攻击与防御实验2‑4。
[0037] 实验2‑1是关于密码算法引擎的工程测评实验方法的实施例。依托实验1‑1和实验1‑3搭建的实验环境,用户在上位机应用系统中的GUI用户应用程序框架下,选择不同的密码算法,算法可选择来自所述密码引擎功能模块,也可以选择来自所述FPGA协处理模块,参照实验1‑1或实验1‑2例程编写C/C++程序,调用安全芯片子系统的APDU,评测不同密码算法引擎的加解密、签名验签等处理速度。最终使用户习得密码算法性能评测技术。
[0038] 实验2‑2是关于密码芯片非入侵式安全测评实验方法的实施例。在实验1‑1搭建的实验环境的基础上,用户通过专用设备采集THM3682芯片和FPGA芯片的密码算法运行时功耗,并参照相应的功耗分析算法示例程序,进行功耗分析攻击,进而使用户掌握密码芯片的功耗分析方法。具体地,用户先向THM3682芯片中下载本实验专用的固件程序;其次,用户将示波器或数字信号采集器的一个探头两端分别连接到THM3682芯片或FPGA芯片上的功耗采集组件的探针两端,另一探头连接到THM3682芯片或FPGA芯片上预留的GPIO接口引脚上;再次,用户利用上位机应用系统中的示例程序,启动安全芯片子系统中的密码引擎功能模块或FPGA协处理模块中自定义密码算法引擎进行某密码引擎的加解密工作,并依托GPIO接口引脚输出的电平信号触发示波器采集功耗曲线;最后,用户可利用GUI用户应用程序框架下预置的功耗分析算法程序对所采集的功耗曲线进行功耗分析。最终使用户习得功耗分析攻击技术。
[0039] 实验2‑3是针对密码芯片物理安全的测评实验方法的实施例。依托实验2‑2搭建的实验环境和相似的实验步骤,用户参考相应的示例程序,在PDS集成开发环境中编写Verilog程序,编译下载到FPGA芯片中;其次,用户利用ChipWhisperer等电压毛刺攻击设备,在FPGA芯片运行密码算法时,向FPGA芯片注入电压毛刺并采集其功耗和GPIO输出;最后,在GUI用户应用程序框架下利用给定的分析算法程序进行分析攻击。最终使用户习得密码芯片注入攻击的相关技术。
[0040] 实验2‑4是针对密码设备物理安全的测评实验方法的实施例。本实验依托密码实验箱上的4个破拆开关完成。用户先参考相应破拆示例程序,在Keil RAM‑MDK集成开发环境中编写C程序,并将其编译为目标代码下载到THM3682芯片中;其次,使THM3682芯片重新上电,进而启动下载程序的运行;最后,用户拨动破拆开关,观察实验箱上相应显示器件(LED灯或LCD)状态,进而测试安全芯片的电路破拆逻辑。最终使用户习得基于安全芯片的密码设备电路破拆防御技术。
[0041] 在本发明的具体实施例中,采用GUI用户应用程序框架的设计思想,用户基于该框架可快速掌握所见即所得交互方式的知识模块的构建。该程序框架利用C/C++语言编程实现,具有跨Windows和Linux平台的兼容性。
[0042] 上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。