一种加密卡及其加密方法与流程

文档序号:29943520发布日期:2022-05-07 15:19阅读:307来源:国知局
一种加密卡及其加密方法与流程

1.本技术涉及信息安全领域,尤其是一种加密卡及其加密方法。


背景技术:

2.在信息安全领域,pcie加密卡的实现方式是通过fpga连接、协调和调度各加密芯片和密钥存储芯片之间的交互操作。由于fpga很难通过逻辑组合实现复杂的加密业务处理流程,折衷的方法是将加密芯片和密钥存储芯片之间的中间数据从pcie加密卡转到电脑主机端,然后在电脑主机端将中间数据按业务流程分配到各加密芯片。然而,由于敏感数据传播路径的增加,安全风险必然随之增加。因此,中间数据等敏感数据从pcie加密卡转到电脑主机端增大了泄密的风险。


技术实现要素:

3.本发明的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
4.为此,本发明实施例的一个目的在于提供一种加密卡及其加密方法,以减少加密卡中数据的传播路径,降低泄密风险。
5.为了达到上述技术目的,本发明实施例所采取的技术方案包括:
6.第一方面,本发明实施例提供了一种加密卡,包括:
7.密钥存储芯片,用于存储密钥;
8.随机数芯片,用于生成随机数;
9.处理器,用于获取签名数据和密钥编号,用于根据所述密钥编号从所述密钥存储芯片中读取所述密钥,用于打包所述密钥和所述签名数据,生成第一请求;
10.加密芯片,用于根据所述随机数生成所述密钥,用于根据所述第一请求进行所述签名数据的验签。
11.另外,根据本发明上述实施例的一种加密卡,还可以具有以下附加的技术特征:
12.进一步地,本发明实施例的一种加密卡中,还包括fpga,所述处理器设置在所述fpga内部。
13.进一步地,在本发明的一个实施例中,所述fpga还包括密钥存储模块、加密芯片模块、随机数模块、第一总线和第二总线,所述密钥存储模块与所述密钥存储芯片连接,所述加密芯片模块与所述加密芯片连接,所述随机数模块与所述随机数芯片连接,所述密钥存储模块、所述加密芯片模块、所述随机数模块和所述处理器分别与所述第一总线连接,所述第一总线与所述第二总线连接,所述第二总线用于连接电脑主机端;
14.所述处理器通过所述第一总线和所述第二总线获取电脑主机端下发的所述签名数据和所述密钥编号,所述处理器根据所述密钥编号,通过所述第一总线向所述密钥存储模块发送第二请求,所述密钥存储模块根据所述第二请求从所述密钥存储芯片中读取所述密钥,所述处理器通过所述第一总线向所述加密芯片模块发送所述第一请求;
15.所述处理器生成第三请求,所述随机数模块根据所述第三请求,从所述随机数芯
片中读取所述随机数,并通过所述第一总线将所述随机数发送给所述加密芯片模块,所述加密芯片模块根据所述随机数,通过所述加密芯片生成所述密钥,所述密钥存储模块通过所述第一总线获取所述密钥,并将所述密钥存储到所述密钥存储芯片。
16.进一步地,在本发明的一个实施例中,所述第一总线为avalon总线,所述第二总线为pcie总线,所述处理器为nios处理器。
17.进一步地,在本发明的一个实施例中,所述加密芯片模块、所述密钥存储模块和所述随机数模块中分别设置有寄存器,所述寄存器包括操作寄存器和状态寄存器。
18.第二方面,本发明实施例提出了一种加密方法,所述方法应用于加密卡,所述加密卡包括密钥存储芯片、随机数芯片、处理器和加密芯片,所述方法包括:
19.通过所述随机数芯片生成随机数;
20.根据所述随机数,通过所述加密芯片生成密钥,并将所述密钥存储到所述密钥存储芯片;
21.通过所述处理器获取签名数据和密钥编号;
22.根据所述密钥编号,通过所述处理器从所述密钥存储芯片中读取所述密钥;
23.通过所述处理器打包所述密钥和所述签名数据,生成第一请求;
24.根据所述第一请求,通过所述加密芯片进行所述签名数据的验签。
25.进一步地,在本发明的一个实施例中,所述加密卡还包括fpga,所述处理器设置在所述fpga内部,所述fpga包括密钥存储模块、加密芯片模块、随机数模块、第一总线和第二总线;
26.所述根据所述随机数,通过所述加密芯片生成密钥,并将所述密钥存储到所述密钥存储芯片,包括:
27.通过所述处理器生成第三请求;
28.根据所述第三请求,通过所述随机数模块从所述随机数芯片中读取所述随机数,并通过所述第一总线将所述随机数发送给所述加密芯片模块;
29.根据所述随机数,通过所述加密芯片生成所述密钥,并通过所述第一总线将所述密钥发送给所述密钥存储模块;
30.将所述密钥存储到所述密钥存储芯片。
31.进一步地,在本发明的一个实施例中,所述通过所述处理器获取签名数据和密钥编号,包括:
32.通过所述第一总线和所述第二总线获取电脑主机端下发的所述签名数据和所述密钥编号。
33.进一步地,在本发明的一个实施例中,所述根据所述密钥编号,通过所述处理器从所述密钥存储芯片中读取密钥,包括:
34.根据所述密钥编号,通过所述第一总线向所述密钥存储模块发送第二请求;
35.根据所述第二请求,通过所述密钥存储模块从所述密钥存储芯片中读取所述密钥。
36.进一步地,在本发明的一个实施例中,所述根据所述第一请求,通过所述加密芯片进行所述签名数据的验签,包括:
37.根据所述第一请求,通过所述密钥解密所述签名数据,生成验签结果;
38.将所述验签结果写到第一区域,所述第一区域通过所述第一总线和所述第二总线与电脑主机端连接。
39.本发明的优点和有益效果将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到:
40.本发明实施例通过在加密卡中设置处理器,处理加密卡内加密芯片和密钥存储芯片之间的业务,使得业务中间数据不超出加密卡的边界,减少了加密卡中数据的传播路径,降低了泄密风险,提高了加密卡中数据的安全性。
附图说明
41.为了更清楚地说明本技术实施例或者现有技术中的技术方案,下面对本技术实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本技术的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
42.图1为本发明一种加密卡具体实施例的结构图;
43.图2为本发明一种加密方法具体实施例的流程示意图。
具体实施方式
44.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能理解为对本技术的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
45.本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
46.在本发明中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
47.在信息安全领域,pcie加密卡的实现方式是通过fpga连接、协调和调度各加密芯片和密钥存储芯片之间的交互操作。由于fpga很难通过逻辑组合实现复杂的加密业务处理流程,折衷的方法是将加密芯片和密钥存储芯片之间的中间数据从pcie加密卡转到电脑主机端,然后在电脑主机端将中间数据按业务流程分配到各加密芯片。然而,由于敏感数据传播路径的增加,安全风险必然随之增加。因此,中间数据等敏感数据从pcie加密卡转到电脑主机端增大了泄密的风险。
48.为此,本发明提出了一种加密卡和方法,本发明通过在加密卡中设置处理器,处理加密卡内加密芯片和密钥存储芯片之间的业务,使得业务中间数据不超出加密卡的边界,
减少了加密卡中数据的传播路径,降低了泄密风险,提高了加密卡中数据的安全性。
49.下面参照附图详细描述根据本发明实施例提出的一种加密卡和方法,首先将参照附图描述根据本发明实施例提出的一种加密卡。
50.参照图1,本发明实施例中的一种加密卡包括:
51.密钥存储芯片,用于存储密钥;
52.随机数芯片,用于生成随机数;
53.处理器,用于获取签名数据和密钥编号,用于根据所述密钥编号从所述密钥存储芯片中读取所述密钥,用于打包所述密钥和所述签名数据,生成第一请求;
54.加密芯片,用于根据所述随机数生成所述密钥,用于根据所述第一请求进行所述签名数据的验签。
55.通过在加密卡中设置处理器,处理加密卡内加密芯片和密钥存储芯片之间的业务,使得业务中间数据不超出加密卡的边界,减少了加密卡中数据的传播路径,降低了泄密风险,提高了加密卡中数据的安全性。
56.作为一种可选的实施方式,本发明实施例的加密卡还包括fpga,所述处理器设置在所述fpga内部。
57.作为一种可选的实施方式,所述fpga还包括密钥存储模块、加密芯片模块、随机数模块、第一总线和第二总线,所述密钥存储模块与所述密钥存储芯片连接,所述加密芯片模块与所述加密芯片连接,所述随机数模块与所述随机数芯片连接,所述密钥存储模块、所述加密芯片模块、所述随机数模块和所述处理器分别与所述第一总线连接,所述第一总线与所述第二总线连接,所述第二总线用于连接电脑主机端;
58.所述处理器通过所述第一总线和所述第二总线获取电脑主机端下发的所述签名数据和所述密钥编号,所述处理器根据所述密钥编号,通过所述第一总线向所述密钥存储模块发送第二请求,所述密钥存储模块根据所述第二请求从所述密钥存储芯片中读取所述密钥,所述处理器通过所述第一总线向所述加密芯片模块发送所述第一请求;
59.所述处理器生成第三请求,所述随机数模块根据所述第三请求,从所述随机数芯片中读取所述随机数,并通过所述第一总线将所述随机数发送给所述加密芯片模块,所述加密芯片模块根据所述随机数,通过所述加密芯片生成所述密钥,所述密钥存储模块通过所述第一总线获取所述密钥,并将所述密钥存储到所述密钥存储芯片。
60.作为一种可选的实施方式,所述第一总线为avalon总线,所述第二总线为pcie总线,所述处理器为nios处理器。
61.具体地,分别为所述密钥存储模块、所述加密芯片模块、所述随机数模块和所述处理器分配一个总线地址。
62.作为一种可选的实施方式,所述加密芯片模块、所述密钥存储模块和所述随机数模块中分别设置有寄存器,所述寄存器包括操作寄存器和状态寄存器。
63.具体地,各个操作寄存器和状态寄存器的读写操作通过第一总线和第二总线完成。
64.其次,参照图2,本发明实施例提出了一种加密方法,所述方法应用于加密卡,所述加密卡包括密钥存储芯片、随机数芯片、处理器和加密芯片,所述方法包括:
65.s101、通过所述随机数芯片生成随机数;
66.s102、根据所述随机数,通过所述加密芯片生成密钥,并将所述密钥存储到所述密钥存储芯片;
67.其中,所述加密卡还包括fpga,所述处理器设置在所述fpga内部,所述fpga包括密钥存储模块、加密芯片模块、随机数模块、第一总线和第二总线。
68.s102可以进一步划分为以下步骤s1021-s1024:
69.步骤s1021、通过所述处理器生成第三请求;
70.步骤s1022、根据所述第三请求,通过所述随机数模块从所述随机数芯片中读取所述随机数,并通过所述第一总线将所述随机数发送给所述加密芯片模块;
71.步骤s1023、根据所述随机数,通过所述加密芯片生成所述密钥,并通过所述第一总线将所述密钥发送给所述密钥存储模块;
72.步骤s1024、将所述密钥存储到所述密钥存储芯片。
73.s103、通过所述处理器获取签名数据和密钥编号;
74.具体地,通过所述第一总线和所述第二总线获取电脑主机端下发的所述签名数据和所述密钥编号。
75.s104、根据所述密钥编号,通过所述处理器从所述密钥存储芯片中读取所述密钥;
76.s104可以进一步划分为以下步骤s1041-s1042:
77.步骤s1041、根据所述密钥编号,通过所述第一总线向所述密钥存储模块发送第二请求;
78.步骤s1042、根据所述第二请求,通过所述密钥存储模块从所述密钥存储芯片中读取所述密钥。
79.s105、通过所述处理器打包所述密钥和所述签名数据,生成第一请求;
80.具体地,通过所述处理器打包所述密钥和所述签名数据,生成第一请求,并将所述第一请求通过所述第一总线发送给加密芯片模块。
81.s106、根据所述第一请求,通过所述加密芯片进行所述签名数据的验签。
82.具体地,所述加密芯片模块接收到所述第一请求后,通过所述加密芯片进行所述签名数据的验签。
83.s106可以进一步划分为以下步骤s1061-s1062:
84.步骤s1061、根据所述第一请求,通过所述密钥解密所述签名数据,生成验签结果;
85.步骤s1062、将所述验签结果写到第一区域,所述第一区域通过所述第一总线和所述第二总线与电脑主机端连接。
86.具体地,将所述验签结果写到第一区域后,电脑主机端通过所述第一总线和所述第二总线读取所述验签结果。
87.上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
88.在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本技术的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不
限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
89.此外,虽然在功能性模块的背景下描述了本技术,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本技术是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本技术。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本技术的范围,本技术的范围由所附权利要求书及其等同方案的全部范围来决定。
90.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的程序执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
91.在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
92.尽管已经示出和描述了本技术的实施方式,本领域的普通技术人员可以理解:在不脱离本技术的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本技术的范围由权利要求及其等同物限定。
93.以上是对本技术的较佳实施进行了具体说明,但本技术并不限于所述实施例,熟悉本领域的技术人员在不违背本技术精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1