一种利用RDMAR_Key进行国密加密的方法与流程

文档序号:26902149发布日期:2021-10-09 13:25阅读:302来源:国知局
一种利用RDMAR_Key进行国密加密的方法与流程
一种利用rdma r_key进行国密加密的方法
技术领域
1.本发明涉及数据安全相关领域,具体为一种利用rdma r_key进行国密加密的方法。


背景技术:

2.rdma(remote direct memory access)技术全称远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的,其中在rdma协议中,mr(memory region)rdma访问时完成注册的用于另一侧访问的虚拟连续内存区域,用于管理内存的本地访问和远端访问;mw(memory window)rdma访问时,可以在已经分配并绑定好的mr中分配部分资源用于远端访问的区域。
3.现有的rdma,没有规定专门的加密方法,数据利用明文传输,极其容易被人窃听和篡改,在rdma当前的协议中,业务类型分为reliable service和unreliable service两种服务类型。reliable service包含一个递增增加的psn号标识交互的包,该psn随着报文传输递增的,保障了交互密钥的有效周期快速变化,而提高加密的安全等级。但是该方法只能保护reliable service类型的服务数据。
4.但是在reliable service和unreliable service两类数据类型中,在每一次有效数据传输时,都会和远端的设备交互传输数据资源的remote key(r_key),每次数据交互时都会进行交互,该r_key可以保护reliable service和unreliable service两类服务,针对这些问题,设计了一种利用rdma r_key进行国密加密的方法。


技术实现要素:

5.本发明的目的在于提供一种利用rdma r_key进行国密加密的方法,以解决上述背景技术中提出的问题。
6.为实现上述目的,本发明提供如下技术方案:一种利用rdma r_key进行国密加密的方法,包括加密步骤和解密步骤,所述加密步骤如下:
7.步骤1、由发送端设备通过管理报文交互获取远端内存区域的r_key,然后rdma对接收端设备进行数据访问;
8.步骤2、将发送端的用户密钥keya和使用步骤1中r_key相叠加,再将上述相叠加的密钥经过sm3的杂凑运算得到加密数据1;
9.步骤3、获取步骤2中加密数据1,取其中低128bit数据得到解密使用的密钥keyb;
10.步骤4、在rdma数据传输时,使用步骤3中keyb作为密钥,通过sm4分组运算的方式对rdma包中数据的明文进行加密;
11.步骤5、rdma结束本次访问,释放r_key,在新一次rdma对接收端设备进行数据访问时重复步骤1的操作;
12.所述解密步骤如下:
13.步骤1、接收端设备根据访问交互获取到r_key;
14.步骤2、接收端设备基于密钥keya,使用步骤1中rdma数据访问时交互时的r_key进行叠加,再使用sm3的杂凑运算得到加密数据2;
15.步骤3、获取步骤2中加密数据2,取其中低128bit数据得到解密使用的密钥keyb;
16.步骤4、利用步骤3中获取的解密密钥keyb,通过sm4分组运算的方式对rdma包中数据的明文进行解密。
17.优选的,所述加密步骤中的keya和keyb只是在本次加密或解密的流程中的mr和mw中有效。
18.优选的,所述加密步骤中mr和mw失效后将根据新的mr和mw交互获取的新的r_key来更新密钥。
19.优选的,所述解密步骤中当mr和mw更新时,使用新获取的r_key重新计算新的keyb,用于该次rdma包中数据部分解密
20.与现有技术相比,本发明的有益效果是:本发明利用了sm4来加密rdma中的数据部分的新方案,然后每次mr和mw生效的r_key和用户密钥keya来加扰,产生新的sm4的keyb,且rdma协议的mr和mw更新失效机制会刷新r_key来切换密钥keyb,更好的保护数据;通过利用r_key方式加密可以保护rdma的reliable service和unreliable service,保护范围更加广泛,且可以和别的加密方法一起,利用r_key加大破解难度。
附图说明
21.图1为本发明的工作流程示意图。
具体实施方式
22.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
23.在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
24.请参阅图1,本发明提供一种技术方案:一种利用rdma r_key进行国密加密的方法,包括加密步骤和解密步骤,加密步骤如下:
25.步骤1、由发送端设备通过管理报文交互获取远端内存区域的r_key,然后rdma对接收端设备进行数据访问;
26.步骤2、将发送端的用户密钥keya和使用步骤1中r_key相叠加,再将上述相叠加的密钥经过sm3的杂凑运算得到加密数据1;
27.步骤3、获取步骤2中加密数据1,取其中低128bit数据得到解密使用的密钥keyb;
28.步骤4、在rdma数据传输时,使用步骤3中keyb作为密钥,通过sm4分组运算的方式对rdma包中数据的明文进行加密;
29.步骤5、rdma结束本次访问,释放r_key,在新一次rdma对接收端设备进行数据访问时重复步骤1的操作;
30.解密步骤如下:
31.步骤1、接收端设备根据访问交互获取到r_key;
32.步骤2、接收端设备基于密钥keya,使用步骤1中rdma数据访问时交互时的r_key进行叠加,再使用sm3的杂凑运算得到加密数据2;
33.步骤3、获取步骤2中加密数据2,取其中低128bit数据得到解密使用的密钥keyb;
34.步骤4、利用步骤3中获取的解密密钥keyb,通过sm4分组运算的方式对rdma包中数据的明文进行解密。
35.进一步的,加密步骤中的keya和keyb只是在本次加密或解密的流程中的mr和mw中有效。
36.进一步的,加密步骤中mr和mw失效后将根据新的mr和mw交互获取的新的r_key来更新密钥。
37.进一步的,解密步骤中当mr和mw更新时,使用新获取的r_key重新计算新的keyb,用于该次rdma包中数据部分解密。
38.本发明利用了sm4来加密rdma中的数据部分的新方案,然后每次mr和mw生效的r_key和用户密钥keya来加扰,产生新的sm4的keyb,且rdma协议的mr和mw更新失效机制会刷新r_key来切换密钥keyb,更好的保护数据;通过利用r_key方式加密可以保护rdma的reliable service和unreliable service,保护范围更加广泛,且可以和别的加密方法一起,利用r_key加大破解难度。
39.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1