CN102110066A - 一种税控加密卡的控制方法 - Google Patents

一种税控加密卡的控制方法 Download PDF

Info

Publication number
CN102110066A
CN102110066A CN2011100348887A CN201110034888A CN102110066A CN 102110066 A CN102110066 A CN 102110066A CN 2011100348887 A CN2011100348887 A CN 2011100348887A CN 201110034888 A CN201110034888 A CN 201110034888A CN 102110066 A CN102110066 A CN 102110066A
Authority
CN
China
Prior art keywords
dma
data
state machine
algorithm
fpga
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011100348887A
Other languages
English (en)
Other versions
CN102110066B (zh
Inventor
苏振宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201110034888.7A priority Critical patent/CN102110066B/zh
Publication of CN102110066A publication Critical patent/CN102110066A/zh
Application granted granted Critical
Publication of CN102110066B publication Critical patent/CN102110066B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供了一种税控加密卡的控制方法,该方法是通过FPGA的状态机和DMA控制器实现的。本发明采用Moore型状态机作为整个加密卡的核心控制单元,对专用密码算法芯片进行控制和操作。另外通过DMA控制器在内存和加密卡上的RAM区开辟了一条直接传送数据的通路,实现数据的DMA传输,使得加密卡在速度和效率方面大大提高。

Description

一种税控加密卡的控制方法
技术领域
本发明涉及一种计算机应用技术,具体地说是一种税控加密卡的控制方法。
本发明涉及电子信息领域,主要应用于税控行业加密卡对专用密码算法芯片SSX12的控制。核心是利用了FPGA的硬件技术——状态机和DMA控制器,通过硬件描述语言VHDL设计出加密卡的控制方法和状态机,从而使得信息的加解密过程变的快速而高效。
背景技术
状态机电路是一种重要的数字逻辑电路,同时又属于时序逻辑电路的范畴,通常用来描述数字系统的控制单元,是大型控制电路设计的基础。根据其输出与当前输入是否有关可以把状态机分为Mealy型和Moore型两大类。Moore型输出仅是当前状态的函数,Mealy型不仅输出当前状态的函数,而且还与输入信号有关。本发明采用的是Moore型状态机。
DMA传输对于高效能嵌入式系统算法和网络是很重要的,它允许不同速度的硬件装置来沟通,而不需要依赖CPU的大量中断负载。否则,CPU需要从来源把每一片段的资料复制到暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU无法参与别的工作。DMA传输的重要作用是将一个内存区从一个装置复制到另外一个。当CPU初始化DMA传输之后,传输动作本身是由DMA控制器来实行和完成的。
在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。一个完整的DMA传输过程必须经过4个步骤:DMA请求、DMA相应、DMA传输、DMA结束。本发明是利用了FPGA的DMA控制器实现数据的DMA传输的。
发明内容
本发明的目的是提供一种税控加密卡的控制方法。
本发明的目的是按以下方式实现的,包括如下内容,
利用FPGA的算法状态机和DMA控制器实现对密码算法芯片SSX12的控制;或采用FPGA的硬件描述语言VHDL组成算法状态机对密码算法芯片进行高效控制;
采用FPGA的嵌入式DMA控制器,实现数据的高速传输;
在税控加密卡对算法芯片的操作过程中及数据传输的过程中,不需要CPU的干预;
在税控加密卡数据传输的开始和结束阶段,分别由PC机和加密卡的FPGA发起数据的DMA传输;
税控加密卡的工作过程采用“中断”的方式,整个过程产生2次中断,分别为DMA读结束后和算法芯片完成运算后产生2次中断给FPGA相应的模块;
业务流程实施步骤如下:
1)税控加密卡上电、复位及初始化结束后,CPU对DMA控制器初始化,包括:设置待传送的加密或解密数据包,设置FPGA相关的寄存器,提供要传送的数据的起始位置和数据长度;
2)DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求,当CPU执行完当前总线周期释放总线控制权,此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知加密卡开始DMA传输;
3)DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制内存区与加密卡上的RAM区进行DMA传输,此时数据包通过PCI总线依次传入到加密卡上的RAM存储区,以上是DMA读的过程;
4)DMA读完成后,向FPGA的算法控制模块产生中断,算法控制模块收到中断后将其清除,并设置相关程序进程,启动算法状态机,算法控制模块读取相应RAM区中的数据,把数据传到外部的算法芯片SSX12;
5)算法芯片SSX12芯片开始工作,此时FPGA等待运算的完成;
6)算法芯片SSX12运算完成后将加密或解密后的数据传回到相应的RAM区,之后算法控制模块产生结束信号,FPGA收到此信号后设置相应的程序进程,启动DMA写操作,将运算完成的数据再通过PCI总线传回到PC机;
7)当完成DMA写的过程后,DMA控制器释放总线控制权,CPU重新取得总线的控制权并执行一段检查本次DMA传输操作正确性的代码,至此完成了一笔业务运算,包括加密芯片自检;
8)根据PC机的命令处理完所有的业务流程,包括:生成非对称密钥对、产生SK、AK、生成支付密码;
算法状态机的状态转移方式如下:
1)税控加密卡复位时状态机处于“空闲”状态;
2)当算法开始,信号sf_start变为高电平时,进入“算法开始”状态,否则算法状态机一直处于“空闲”状态等待;
3)当算法状态机检测到加密芯片处于不忙的状态时,算法芯片SSX12的B_nRd引脚为低电平,算法状态机进入“写命令”状态,在此状态加密卡要把相应的命令字写入算法芯片SSX12;
4)之后状态机进入“写数据”状态,把待操作的数据依次写入算法芯片SSX12;
5)算法状态机进入“等待”状态,等待加密芯片的运算完成;
6)当检测到B_nRd引脚为低电平时,算法状态机进入“读数据”状态,FPGA将操作完成的数据依次传回到相应的RAM区中;
7)待本次业务的数据读取完毕,算法状态机进入“结束”状态,至此一次状态机流程就完成了;
8)之后算法状态机返回“空闲”状态,等待下一次的业务开始。
本发明的优异效果是:采用Moore型状态机作为整个加密卡的核心控制单元,对专用密码算法芯片进行控制和操作。另外通过DMA控制器在内存和加密卡上的RAM区开辟了一条直接传送数据的通路,实现数据的DMA传输,使得加密卡在速度和效率方面大大提高。
附图说明
图1是税控加密卡的控制流程图;
图2是算法状态机的工作流图。
具体实施方式
参照说明书附图对本发明的税控加密卡的控制方法作以下详细地说明。
税控加密卡的一次业务通常包括多笔运算过程。例如生成一次支付密码的业务包括自检、生成非对称密钥对、读入签名密钥密文、读入账户密钥密文等运算过程。附图1是该发明的业务流程,具体实施方式如下:
1)税控加密卡上电、复位及初始化结束后,CPU对DMA控制器初始化,包括:设置待传送的加密或解密数据包,设置FPGA相关的寄存器,提供要传送的数据的起始位置和数据长度。
2)DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知加密卡开始DMA传输。
3)DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制内存区与加密卡上的RAM区进行DMA传输。此时数据包通过PCI总线依次传入到加密卡上的RAM存储区。以上是DMA读的过程。
4)DMA读完成后,向FPGA的算法控制模块产生中断。算法控制模块收到中断后将其清除,并设置相关程序进程,启动算法状态机。算法控制模块读取相应RAM区中的数据,把数据传到外部的算法芯片SSX12。
5)SSX12芯片开始工作,此时FPGA等待运算的完成。
6)SSX12运算完成后将加密或解密后的数据传回到相应的RAM区,之后算法控制模块产生结束信号,FPGA收到此信号后设置相应的程序进程,启动DMA写操作,将运算完成的数据再通过PCI总线传回到PC机。
7)当完成DMA写的过程后,DMA控制器释放总线控制权,CPU重新取得总线的控制权并执行一段检查本次DMA传输操作正确性的代码,至此完成了一笔业务运算(例如加密芯片自检)。
8)根据PC机的命令处理完所有的业务流程(如生成非对称密钥对、产生SK、AK、生成支付密码等)。
附图2是算法状态机的状态转移图,其实施方式如下:
1)税控加密卡复位时状态机处于“空闲”状态。
2)当算法开始信号sf_start变为高电平时,进入“算法开始”状态,否则状态机一直处于“空闲”状态等待。
3)当状态机检测到加密芯片处于不忙的状态时(SSX12芯片的B_nRd引脚为低电平),状态机进入“写命令”状态,在此状态加密卡要把相应的命令字写入SSX12。
4)之后状态机进入“写数据”状态,把待操作的数据依次写入SSX12。
5)状态机进入“等待”状态,等待加密芯片的运算完成。
6)当检测到B_nRd引脚为低电平时,状态机进入“读数据”状态,FPGA将操作完成的数据依次传回到相应的RAM区中。
7)待本次业务的数据读取完毕,状态机进入“结束”状态,至此一次状态机流程就完成了。
8)之后状态机返回“空闲”状态,等待下一次的业务开始。
该状态机的具体硬件实现是通过FPGA的硬件描述语言VHDL完成的。
实施例
1)PC机设置待传输的数据包,并设置FPGA的寄存器,对DMA控制器初始化。
2)PC机启动DMA读(Master read)的过程,将数据包一次性传入税控加密卡上的RAM存储单元。
3)加密卡启动FPGA的状态机(状态机的算法、工作流图等说明在后面详述),控制密码专用算法芯片SSX12开始工作。
4)密码专用算法芯片SSX12结束工作后,把运算完成的数据传回相应的RAM存储单元。
5)税控加密卡启动DMA写(Master write)的过程,将运算完成的数据包传回到PC机。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (1)

1.一种税控加密卡的控制方法,其特征在于,包括如下内容,
利用FPGA的算法状态机和DMA控制器实现对密码算法芯片SSX12的控制;或采用FPGA的硬件描述语言VHDL组成算法状态机对密码算法芯片进行高效控制;
采用FPGA的嵌入式DMA控制器,实现数据的高速传输;
在税控加密卡对算法芯片的操作过程中及数据传输的过程中,不需要CPU的干预;
在税控加密卡数据传输的开始和结束阶段,分别由PC机和加密卡的FPGA发起数据的DMA传输;
税控加密卡的工作过程采用“中断”的方式,整个过程产生2次中断,分别为DMA读结束后和算法芯片完成运算后产生2次中断给FPGA相应的模块;
业务流程实施步骤如下:
1)税控加密卡上电、复位及初始化结束后,CPU对DMA控制器初始化,包括:设置待传送的加密或解密数据包,设置FPGA相关的寄存器,提供要传送的数据的起始位置和数据长度;
2)DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求,当CPU执行完当前总线周期释放总线控制权,此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知加密卡开始DMA传输;
3)DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制内存区与加密卡上的RAM区进行DMA传输,此时数据包通过PCI总线依次传入到加密卡上的RAM存储区,以上是DMA读的过程;
4)DMA读完成后,向FPGA的算法控制模块产生中断,算法控制模块收到中断后将其清除,并设置相关程序进程,启动算法状态机,算法控制模块读取相应RAM区中的数据,把数据传到外部的算法芯片SSX12;
5)算法芯片SSX12芯片开始工作,此时FPGA等待运算的完成;
6)算法芯片SSX12运算完成后将加密或解密后的数据传回到相应的RAM区,之后算法控制模块产生结束信号,FPGA收到此信号后设置相应的程序进程,启动DMA写操作,将运算完成的数据再通过PCI总线传回到PC机;
7)当完成DMA写的过程后,DMA控制器释放总线控制权,CPU重新取得总线的控制权并执行一段检查本次DMA传输操作正确性的代码,至此完成了一笔业务运算,包括加密芯片自检;
8)根据PC机的命令处理完所有的业务流程,包括:生成非对称密钥对、产生SK、AK、生成支付密码;
算法状态机的工作流程如下:
1)税控加密卡复位时状态机处于“空闲”状态;
2)当算法开始,信号sf_start变为高电平时,进入“算法开始”状态,否则算法状态机一直处于“空闲”状态等待;
3)当算法状态机检测到加密芯片处于不忙的状态时,算法芯片SSX12的B_nRd引脚为低电平,算法状态机进入“写命令”状态,在此状态加密卡要把相应的命令字写入算法芯片SSX12;
4)之后状态机进入“写数据”状态,把待操作的数据依次写入算法芯片SSX12;
5)算法状态机进入“等待”状态,等待加密芯片的运算完成;
6)当检测到B_nRd引脚为低电平时,算法状态机进入“读数据”状态,FPGA将操作完成的数据依次传回到相应的RAM区中;
7)待本次业务的数据读取完毕,算法状态机进入“结束”状态,至此一次状态机流程就完成了;
8)之后算法状态机返回“空闲”状态,等待下一次的业务开始。
CN201110034888.7A 2011-02-09 2011-02-09 一种税控加密卡的控制方法 Active CN102110066B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110034888.7A CN102110066B (zh) 2011-02-09 2011-02-09 一种税控加密卡的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110034888.7A CN102110066B (zh) 2011-02-09 2011-02-09 一种税控加密卡的控制方法

Publications (2)

Publication Number Publication Date
CN102110066A true CN102110066A (zh) 2011-06-29
CN102110066B CN102110066B (zh) 2015-01-28

Family

ID=44174231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110034888.7A Active CN102110066B (zh) 2011-02-09 2011-02-09 一种税控加密卡的控制方法

Country Status (1)

Country Link
CN (1) CN102110066B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455766A (zh) * 2013-09-18 2013-12-18 浪潮电子信息产业股份有限公司 一种基于状态机的国密sm1算法控制方法
CN103746797A (zh) * 2014-01-22 2014-04-23 浪潮电子信息产业股份有限公司 一种基于现场可编程门阵列芯片的rsa算法控制方法
CN103780608A (zh) * 2014-01-14 2014-05-07 浪潮电子信息产业股份有限公司 一种基于可编程门阵列芯片的sm4算法控制方法
CN114760057A (zh) * 2022-04-13 2022-07-15 中金金融认证中心有限公司 用于密码芯片的方法、密码芯片、密码卡以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281502A (zh) * 2008-05-29 2008-10-08 上海交通大学 基于mems密码锁和双fpga的sata硬盘物理加密系统
CN101937599A (zh) * 2010-09-02 2011-01-05 浪潮齐鲁软件产业有限公司 一种基于arm11平台的网络税控加密服务器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281502A (zh) * 2008-05-29 2008-10-08 上海交通大学 基于mems密码锁和双fpga的sata硬盘物理加密系统
CN101937599A (zh) * 2010-09-02 2011-01-05 浪潮齐鲁软件产业有限公司 一种基于arm11平台的网络税控加密服务器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455766A (zh) * 2013-09-18 2013-12-18 浪潮电子信息产业股份有限公司 一种基于状态机的国密sm1算法控制方法
CN103780608A (zh) * 2014-01-14 2014-05-07 浪潮电子信息产业股份有限公司 一种基于可编程门阵列芯片的sm4算法控制方法
CN103746797A (zh) * 2014-01-22 2014-04-23 浪潮电子信息产业股份有限公司 一种基于现场可编程门阵列芯片的rsa算法控制方法
CN114760057A (zh) * 2022-04-13 2022-07-15 中金金融认证中心有限公司 用于密码芯片的方法、密码芯片、密码卡以及存储介质

Also Published As

Publication number Publication date
CN102110066B (zh) 2015-01-28

Similar Documents

Publication Publication Date Title
CN109447225B (zh) 一种高速安全加密Micro SD卡
CN107103472B (zh) 一种用于区块链的算法处理模块
CN101854353B (zh) 一种基于fpga的多芯片并行加密方法
CN102724035B (zh) 一种加密卡的加解密方法
CN107256363B (zh) 一种由加解密模块阵列组成的高速加解密装置
CN112398656A (zh) 通过计算机总线的安全通信
CN109902053A (zh) 一种基于双控制器的spi通信方法、终端设备及存储介质
US9419972B2 (en) Two dimensional direct memory access scheme for enhanced network protocol processing performance
CN102663326B (zh) 用于SoC的数据安全加密模块
CN102521179A (zh) 一种dma读操作的实现装置和方法
CN102110066B (zh) 一种税控加密卡的控制方法
CN110688333A (zh) 一种基于pcie的dma数据传输系统及方法
CN115022076A (zh) 一种数据加/解密方法、装置、系统及介质
CN108171067A (zh) 一种硬盘加密方法与装置
CN106548099A (zh) 一种电路系统安全保护的芯片
CN106599677A (zh) 一种用于基板管理控制器的密码控制系统及控制方法
WO2017071429A1 (zh) 一种数据访问方法及总线
CN103020535B (zh) 一种带比较功能的数据加解密系统
CN203057169U (zh) 基于fpga的网络密码机
CN102708079B (zh) 应用于微控制器的控制数据传输的方法及系统
WO2024074008A1 (zh) 一种总线的安全防护方法、装置及介质
CN114969851B (zh) 一种基于fpga的数据处理方法、装置、设备及介质
WO2020118583A1 (zh) 数据处理方法、电路、终端设备及存储介质
CN104836710A (zh) 一种基于分布式系统一主多从通信的方法与装置
CN107463829A (zh) 一种密码卡中dma请求的处理方法、系统及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant