System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于不可信云FPGA的可信通信方法及系统技术方案_技高网
当前位置: 首页 > 专利查询>济南大学专利>正文

一种基于不可信云FPGA的可信通信方法及系统技术方案

技术编号:40051833 阅读:15 留言:0更新日期:2024-01-16 21:19
本发明专利技术提出了一种基于不可信云FPGA的可信通信方法及系统,涉及安全通信技术领域,具体方案包括:远程用户在租赁云端FPGA使用权时,从FPGA生产厂商那获取所租赁区域的认证信息,包括所租赁区域的认证码、二进制填充比特流以及其填充后所计算的哈希值;远程用户在与云端FPGA进行通信前,基于认证信息进行远程认证,在认证过程中同时进行密钥协商,生成会话密钥;利用会话密钥将隐私数据上传到租赁区域,远程用户与远程认证后的云端FPGA进行可信通信;本发明专利技术对不可信云FPGA进行远程认证和密钥协商,通过密钥协商后的会话密钥,将隐私数据上传到认证后的FPGA中,从而实现可信通信,极大增强通信的安全性。

【技术实现步骤摘要】

本专利技术属于安全通信,尤其涉及一种基于不可信云fpga的可信通信方法及系统。


技术介绍

1、本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。

2、随着大数据时代的到来,互联网时时刻刻释放出海量的数据;为了从这些海量的数据中获取有用的信息,人们开始分析并计算这些数据,从而获得自己想要的结果;但是,如果想要计算这些数据,必须考虑软硬件设备的开销,来保证计算的灵活性和可靠性;因此,远程计算服务应运而生。

3、远程计算服务提供了在远程服务器上运行应用程序和处理数据的能力,用户只需在支付一定的费用后,上传想要计算的数据到远程服务器上,就可以高效地处理大量数据的计算;虽然远程计算服务商已经采取了很多种措施来保护用户的数据安全和隐私,但在海量数据背后隐藏的巨大经济利益之下,还是会有一些攻击者通过非法的手段来从中获取利益。

4、比如,在一种软件即服务的云中,包括应用程序和远程用户数据在内的一切都由云服务器管理,在这种计算模型下,远程服务器的内部管理员本身就存在威胁,他们可以对用户的隐私数据进行无限制的访问;在这种情况下,负责管理远程计算服务器的内部人员是不可信的;同时,恶意内部工作人员还可能会在用户使用fpga之前将恶意代码植入fpga的配置内存中,使fpga变为恶意硬件模块。

5、因此,现有方案中远程计算服务商的不可信云依然存在漏洞,面临恶意威胁,难以保护用户的数据安全和隐私。


技术实现思路

1、为克服上述现有技术的不足,本专利技术提供了一种基于不可信云fpga的可信通信方法及系统,对不可信云fpga进行远程认证和密钥协商,通过密钥协商后的会话密钥,将隐私数据上传到认证后的fpga中,从而实现可信通信,极大增强通信的安全性。

2、为实现上述目的,本专利技术的一个或多个实施例提供了如下技术方案:

3、本专利技术第一方面提供了一种基于不可信云fpga的可信通信方法。

4、一种基于不可信云fpga的可信通信方法,包括:

5、远程用户在租赁云端fpga使用权时,从fpga生产厂商那获取所租赁区域的认证信息,包括所租赁区域的认证码、二进制填充比特流以及其填充后所计算的哈希值;

6、远程用户在与云端fpga进行通信前,基于认证信息进行远程认证,在认证过程中同时进行密钥协商,生成会话密钥;

7、利用会话密钥将隐私数据上传到租赁区域,远程用户与远程认证后的云端fpga进行可信通信;

8、其中,所述远程认证是远程用户将签名后的认证码、二进制填充比特流发送给云端fpga,云端fpga依据认证码确定所租赁的区域,通过二进制填充比特流对区域进行填充,计算填充后的哈希值并回传给远程用户;远程用户通过比对fpga生产厂商提供的哈希值与云端fpga回传过来的哈希值是否相同,判断fpga是否是可信的,从而完成远程认证。

9、进一步的,所述fpga生产厂商在fpga出厂前,将fpga内部可重构的动态区域分成若干块,每个动态区域块在物理和逻辑上都是相互独立的,每个动态区域块生成自己唯一的认证码和二进制填充比特流;

10、所述远程用户租赁云端fpga使用权,是从划分的动态区域中分配动态区域块给远程用户使用。

11、进一步的,所述fpga生产厂商在fpga出厂前,还会在fpga内部嵌入一个用于加解密认证的主私钥,每块fpga板都会对应不同的主私钥,将主私钥储存到安全代理sp中。

12、进一步的,所述远程用户的远程认证和密钥协商,都是通过云端fpga中的安全代理sp实现的,远程用户向sp验证所租赁区域的真实性与完整性,sp在与远程认证的过程中参与密钥协商的过程;当远程用户完成对云端fpga的认证后获得与其通信的会话密钥,通过此会话密钥远程用户将自已本地隐私数据传输给sp,sp将隐私数据使用会话密钥解密并在fpga内部将数据传送到所租赁区域,数据进入分区后再进行下一步计算。

13、进一步的,所述远程认证的具体步骤为:

14、远程用户通过自己的id租赁云端fpga使用权后用sm2算法生成自己的公私钥对,并向fpga生产厂商公布自己的公钥;

15、云端fpga中的安全代理sp通过安全比特流加载机制加载sp功能并安装在静态区域;sp安装完成后,sp自动加载fpga生产厂商在sp中嵌入的主私钥;

16、远程用户使用数字签名算法签名自己的id,向fpga生产厂商请求其所租赁部分的认证信息,为防止重放攻击需要添加时间戳一同发往fpga端;

17、fpga生产厂商将远程用户所租赁区域di的认证码dmaci、二进制填充比特流bbai以及其填充后所计算的哈希值发送给远程用户,供用户认证云端fpga的正确性及完整性;其次,fpga生产厂商将公布给用户云端fpga上所嵌入主私钥的公钥;

18、远程用户用sp公钥加密被签名认证的认证码dmaci以及其对应的bbai发送给sp,为防止重放攻击同样需要添加时间戳发送给sp;

19、sp认证远程用户并使用嵌入在sp中的主私钥解密远程用户的信息,通过认证码寻找到其所对应的租赁区域di,将二进制填充比特流bbai对区域进行填充,并计算其填充后的hash′i值;

20、sp通过使用远程用户的公钥加密被其签名认证的hash′i值以及时间戳返回给用户方;

21、远程用户通过比对fpga生产厂商提供的哈希值与sp端发送过来的hash′i值是否相同,从而判断fpga是否是可信的。

22、进一步的,所述密钥协商的具体步骤为:

23、在正式进入密钥协商之前,将密钥协商过程中的公共参数及原始数据都包含在用户所注册的id信息中,包括椭圆曲线参数,远程用户端与云端fpga的安全代理sp通过随机数生成器生成一定安全长度的随机数,分别为ra和rb;

24、远程用户在自己的客户端利用随机数生成器生成的随机数ra计算其临时密钥值ra,通过用户使用加密消息ufq一同发送给云端fpga;

25、sp利用随机数生成器生成随机数rb,之后进行与远程用户端相同的操作得到其临时密钥值rb,当云端fpga收到ufq消息后,使用其自己主私钥进行解密得到远程用户的临时密钥ra,sp得到ra之后,进行临时密钥的验证、共享密钥kb的计算和共享密钥kb的hash值s2的计算,在使用sm2数字签名算法后密文fkr中添加rb及s2一同发给远程用户;

26、远程用户收到消息fkr值后,使用自己的私钥解密该消息,用数字签名算法验证是否是云端fpga发送过来的,当远程用户解密得到rb后进行与远程用户相同的操作后得到密钥交换协议商定的共享密钥ka,以及为验证共享密钥ka正确性的hash值s1以供远程用户与云端fpga发送过来的s1进行认证;

27、在远程用户远程认证云端fpga通过后,远程用户进一步判断密钥协商后所得的哈希值s1与云端fpga发送过来本文档来自技高网...

【技术保护点】

1.一种基于不可信云FPGA的可信通信方法,其特征在于,包括:

2.如权利要求1所述的一种基于不可信云FPGA的可信通信方法,其特征在于,所述FPGA生产厂商在FPGA出厂前,将FPGA内部可重构的动态区域分成若干块,每个动态区域块在物理和逻辑上都是相互独立的,每个动态区域块生成自己唯一的认证码和二进制填充比特流;

3.如权利要求1所述的一种基于不可信云FPGA的可信通信方法,其特征在于,所述FPGA生产厂商在FPGA出厂前,还会在FPGA内部嵌入一个用于加解密认证的主私钥,每块FPGA板都会对应不同的主私钥,将主私钥储存到安全代理SP中。

4.如权利要求1所述的一种基于不可信云FPGA的可信通信方法,其特征在于,所述远程用户的远程认证和密钥协商,都是通过云端FPGA中的安全代理SP实现的,远程用户向SP验证所租赁区域的真实性与完整性,SP在与远程认证的过程中参与密钥协商的过程;当远程用户完成对云端FPGA的认证后获得与其通信的会话密钥,通过此会话密钥远程用户将自己本地隐私数据传输给SP,SP将隐私数据使用会话密钥解密并在FPGA内部将数据传送到所租赁区域,数据进入分区后再进行下一步计算。

5.如权利要求1所述的一种基于不可信云FPGA的可信通信方法,其特征在于,所述远程认证的具体步骤为:

6.如权利要求1所述的一种基于不可信云FPGA的可信通信方法,其特征在于,所述密钥协商的具体步骤为:

7.如权利要求1所述的一种基于不可信云FPGA的可信通信方法,其特征在于,所述二进制填充比特流,是根据动态区域块上存储的数据生成的,通过二进制填充比特流对区域进行填充,利用安全可擦除证明机制,完成对区域的初始化,实现对恶意代码的清除。

8.一种基于不可信云FPGA的可信通信系统,其特征在于,包括用户租赁模块、认证协商模块和可信通信模块:

9.一种电子设备,其特征是,包括:

10.一种存储介质,其特征是,非暂时性地存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时,执行权利要求1-7任一项所述方法的指令。

...

【技术特征摘要】

1.一种基于不可信云fpga的可信通信方法,其特征在于,包括:

2.如权利要求1所述的一种基于不可信云fpga的可信通信方法,其特征在于,所述fpga生产厂商在fpga出厂前,将fpga内部可重构的动态区域分成若干块,每个动态区域块在物理和逻辑上都是相互独立的,每个动态区域块生成自己唯一的认证码和二进制填充比特流;

3.如权利要求1所述的一种基于不可信云fpga的可信通信方法,其特征在于,所述fpga生产厂商在fpga出厂前,还会在fpga内部嵌入一个用于加解密认证的主私钥,每块fpga板都会对应不同的主私钥,将主私钥储存到安全代理sp中。

4.如权利要求1所述的一种基于不可信云fpga的可信通信方法,其特征在于,所述远程用户的远程认证和密钥协商,都是通过云端fpga中的安全代理sp实现的,远程用户向sp验证所租赁区域的真实性与完整性,sp在与远程认证的过程中参与密钥协商的过程;当远程用户完成对云端fpga的认证后获得与其通信的会话密钥,通过此会话密钥远程用户将自己本地隐私...

【专利技术属性】
技术研发人员:赵川孔繁星王豪赵圣楠荆山陈贞翔刘伟王洪良
申请(专利权)人:济南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1