CN117375910A - 一种基于不可信云fpga的可信通信方法及系统 - Google Patents

一种基于不可信云fpga的可信通信方法及系统 Download PDF

Info

Publication number
CN117375910A
CN117375910A CN202311307951.9A CN202311307951A CN117375910A CN 117375910 A CN117375910 A CN 117375910A CN 202311307951 A CN202311307951 A CN 202311307951A CN 117375910 A CN117375910 A CN 117375910A
Authority
CN
China
Prior art keywords
fpga
cloud
remote user
authentication
key
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.)
Pending
Application number
CN202311307951.9A
Other languages
English (en)
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.)
University of Jinan
Original Assignee
University of Jinan
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 University of Jinan filed Critical University of Jinan
Priority to CN202311307951.9A priority Critical patent/CN117375910A/zh
Publication of CN117375910A publication Critical patent/CN117375910A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

一种基于不可信云FPGA的可信通信方法及系统
技术领域
本发明属于安全通信技术领域,尤其涉及一种基于不可信云FPGA的可信通信方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
随着大数据时代的到来,互联网时时刻刻释放出海量的数据;为了从这些海量的数据中获取有用的信息,人们开始分析并计算这些数据,从而获得自己想要的结果;但是,如果想要计算这些数据,必须考虑软硬件设备的开销,来保证计算的灵活性和可靠性;因此,远程计算服务应运而生。
远程计算服务提供了在远程服务器上运行应用程序和处理数据的能力,用户只需在支付一定的费用后,上传想要计算的数据到远程服务器上,就可以高效地处理大量数据的计算;虽然远程计算服务商已经采取了很多种措施来保护用户的数据安全和隐私,但在海量数据背后隐藏的巨大经济利益之下,还是会有一些攻击者通过非法的手段来从中获取利益。
比如,在一种软件即服务的云中,包括应用程序和远程用户数据在内的一切都由云服务器管理,在这种计算模型下,远程服务器的内部管理员本身就存在威胁,他们可以对用户的隐私数据进行无限制的访问;在这种情况下,负责管理远程计算服务器的内部人员是不可信的;同时,恶意内部工作人员还可能会在用户使用FPGA之前将恶意代码植入FPGA的配置内存中,使FPGA变为恶意硬件模块。
因此,现有方案中远程计算服务商的不可信云依然存在漏洞,面临恶意威胁,难以保护用户的数据安全和隐私。
发明内容
为克服上述现有技术的不足,本发明提供了一种基于不可信云FPGA的可信通信方法及系统,对不可信云FPGA进行远程认证和密钥协商,通过密钥协商后的会话密钥,将隐私数据上传到认证后的FPGA中,从而实现可信通信,极大增强通信的安全性。
为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
本发明第一方面提供了一种基于不可信云FPGA的可信通信方法。
一种基于不可信云FPGA的可信通信方法,包括:
远程用户在租赁云端FPGA使用权时,从FPGA生产厂商那获取所租赁区域的认证信息,包括所租赁区域的认证码、二进制填充比特流以及其填充后所计算的哈希值;
远程用户在与云端FPGA进行通信前,基于认证信息进行远程认证,在认证过程中同时进行密钥协商,生成会话密钥;
利用会话密钥将隐私数据上传到租赁区域,远程用户与远程认证后的云端FPGA进行可信通信;
其中,所述远程认证是远程用户将签名后的认证码、二进制填充比特流发送给云端FPGA,云端FPGA依据认证码确定所租赁的区域,通过二进制填充比特流对区域进行填充,计算填充后的哈希值并回传给远程用户;远程用户通过比对FPGA生产厂商提供的哈希值与云端FPGA回传过来的哈希值是否相同,判断FPGA是否是可信的,从而完成远程认证。
进一步的,所述FPGA生产厂商在FPGA出厂前,将FPGA内部可重构的动态区域分成若干块,每个动态区域块在物理和逻辑上都是相互独立的,每个动态区域块生成自己唯一的认证码和二进制填充比特流;
所述远程用户租赁云端FPGA使用权,是从划分的动态区域中分配动态区域块给远程用户使用。
进一步的,所述FPGA生产厂商在FPGA出厂前,还会在FPGA内部嵌入一个用于加解密认证的主私钥,每块FPGA板都会对应不同的主私钥,将主私钥储存到安全代理SP中。
进一步的,所述远程用户的远程认证和密钥协商,都是通过云端FPGA中的安全代理SP实现的,远程用户向SP验证所租赁区域的真实性与完整性,SP在与远程认证的过程中参与密钥协商的过程;当远程用户完成对云端FPGA的认证后获得与其通信的会话密钥,通过此会话密钥远程用户将自已本地隐私数据传输给SP,SP将隐私数据使用会话密钥解密并在FPGA内部将数据传送到所租赁区域,数据进入分区后再进行下一步计算。
进一步的,所述远程认证的具体步骤为:
远程用户通过自己的ID租赁云端FPGA使用权后用SM2算法生成自己的公私钥对,并向FPGA生产厂商公布自己的公钥;
云端FPGA中的安全代理SP通过安全比特流加载机制加载SP功能并安装在静态区域;SP安装完成后,SP自动加载FPGA生产厂商在SP中嵌入的主私钥;
远程用户使用数字签名算法签名自己的ID,向FPGA生产厂商请求其所租赁部分的认证信息,为防止重放攻击需要添加时间戳一同发往FPGA端;
FPGA生产厂商将远程用户所租赁区域Di的认证码Dmaci、二进制填充比特流BBAi以及其填充后所计算的哈希值发送给远程用户,供用户认证云端FPGA的正确性及完整性;其次,FPGA生产厂商将公布给用户云端FPGA上所嵌入主私钥的公钥;
远程用户用SP公钥加密被签名认证的认证码Dmaci以及其对应的BBAi发送给SP,为防止重放攻击同样需要添加时间戳发送给SP;
SP认证远程用户并使用嵌入在SP中的主私钥解密远程用户的信息,通过认证码寻找到其所对应的租赁区域Di,将二进制填充比特流BBAi对区域进行填充,并计算其填充后的Hash′i值;
SP通过使用远程用户的公钥加密被其签名认证的Hash′i值以及时间戳返回给用户方;
远程用户通过比对FPGA生产厂商提供的哈希值与SP端发送过来的Hash′i值是否相同,从而判断FPGA是否是可信的。
进一步的,所述密钥协商的具体步骤为:
在正式进入密钥协商之前,将密钥协商过程中的公共参数及原始数据都包含在用户所注册的ID信息中,包括椭圆曲线参数,远程用户端与云端FPGA的安全代理SP通过随机数生成器生成一定安全长度的随机数,分别为rA和rB
远程用户在自己的客户端利用随机数生成器生成的随机数rA计算其临时密钥值RA,通过用户使用加密消息UFq一同发送给云端FPGA;
SP利用随机数生成器生成随机数rB,之后进行与远程用户端相同的操作得到其临时密钥值RB,当云端FPGA收到UFq消息后,使用其自己主私钥进行解密得到远程用户的临时密钥RA,SP得到RA之后,进行临时密钥的验证、共享密钥KB的计算和共享密钥KB的Hash值S2的计算,在使用SM2数字签名算法后密文FKr中添加RB及S2一同发给远程用户;
远程用户收到消息FKr值后,使用自己的私钥解密该消息,用数字签名算法验证是否是云端FPGA发送过来的,当远程用户解密得到RB后进行与远程用户相同的操作后得到密钥交换协议商定的共享密钥KA,以及为验证共享密钥KA正确性的Hash值S1以供远程用户与云端FPGA发送过来的S1进行认证;
在远程用户远程认证云端FPGA通过后,远程用户进一步判断密钥协商后所得的哈希值S1与云端FPGA发送过来的哈希值S2是否相同,如果相同则安全会话密钥KAB=KA=KB也建立完成。
进一步的,所述二进制填充比特流,是根据动态区域块上存储的数据生成的,通过二进制填充比特流对区域进行填充,利用安全可擦除证明机制,完成对区域的初始化,实现对恶意代码的清除。
本发明第二方面提供了一种基于不可信云FPGA的可信通信系统。
一种基于不可信云FPGA的可信通信系统,包括用户租赁模块、认证协商模块和可信通信模块:
用户租赁模块,被配置为:远程用户在租赁云端FPGA使用权时,从FPGA生产厂商那获取所租赁区域的认证信息,包括所租赁区域的认证码、二进制填充比特流以及其填充后所计算的哈希值;
认证协商模块,被配置为:远程用户在与云端FPGA进行通信前,基于认证信息进行远程认证,在认证过程中同时进行密钥协商,生成会话密钥;
可信通信模块,被配置为:利用会话密钥将隐私数据上传到租赁区域,远程用户与远程认证后的云端FPGA进行可信通信;
其中,所述远程认证是远程用户将签名后的认证码、二进制填充比特流发送给云端FPGA,云端FPGA依据认证码确定所租赁的区域,通过二进制填充比特流对区域进行填充,计算填充后的哈希值并回传给远程用户;远程用户通过比对FPGA生产厂商提供的哈希值与云端FPGA回传过来的哈希值是否相同,判断FPGA是否是可信的,从而完成远程认证。
本发明第三方面提供了计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本发明第一方面所述的一种基于不可信云FPGA的可信通信方法中的步骤。
本发明第四方面提供了电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明第一方面所述的一种基于不可信云FPGA的可信通信方法中的步骤。
以上一个或多个技术方案存在以下有益效果:
为了实现远程用户与不可信云FPGA间的隐私数据可信通信,本发明在不可信云FPGA中构建安全代理作为可信计算方,在FPGA出厂时内嵌安全代理SP完成认证及通信过程;通过对恶意云端FPGA的安全远程认证,在认证过程中完成密钥协商后获得会话密钥,最后通过此会话密钥实现隐私数据可信通信。
本发明在远程认证过程中完成密钥协商的过程,极大减少了远程用户与云端FPGA建立安全通信时的通信轮数;并采用国密SM2加解密算法、数字签名算法以及密钥协商算法完成安全通信的建立,极大增强了安全通信的安全性。
本发明通过设计FPGA硬件框架,使用安全可擦除证明机制用来验证FPGA内置模块是可信的,完全杜绝了云服务提供商中恶意内部人员或上一任租户者对FPGA内部进行一系列恶意操作。
本发明在密钥协商后远程用户使用对称会话密钥与云端FPGA的安全代理进行通信,安全代理SP对用户租赁区域拥有独占访问权,安装在租赁区域的隐私数据或应用程序仅通过SP以加密方式与远程用户沟通;因为密钥协商后的会话秘钥K是安全的,因此远程用户使用云端的FPGA进行远程计算也是安全的。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为第一个实施例的方法流程图。
图2为第一个实施例FPGA生产厂商、远程用户和云端FPGA的关系图。
图3为第一个实施例远程认证与密钥协商的时序图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本发明使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
现有的研究表明,保护数据不受内部人员攻击的方法就是构建可信执行环境,而如今可信执行环境主要是应用在CPU上,如英特尔的SGX;但是,对于执行数据密集型计算来说,CPU并不能够胜任,因此拥用可信执行环境的CPU很难完成高度并行的工作负载。
适合高度并行计算的硬件器件有GPU、FPGA、ASIC等,对于GPU来说它最大的问题就是功耗太大,中等性能的GPU功耗都普遍超过了200W;而FPGA无论是在是在性能和功耗上都有着明显的优势,FPGA有高效流水线并行计算的特点,在处理少量数据时,以流水线的方式同时进行多种任务的处理,因此计算延迟远低于GPU,并且相对于ASIC来说FPGA的灵活性是毋容置疑的。因此,在云端硬件FPGA上来实现隐私保护机器学习,无论是在安全性方面还是性能方面都是一个非常重要的领域。
名词解释:
部分重新配置机制:部分重新配置(Partial Reconfiguration)是一种特性,允许在运行时对FPGA中的部分逻辑资源进行重新配置,而不需要重新配置整个芯片。这使得设计人员能够动态修改或更新特定区域的电路功能,而无需停止整个系统。部分重新配置机制将FPGA内部分为静态区域和动态区域。静态区域通常是指的FPGA内的一些固定的区域,这些区域的逻辑在FPGA设计时就已经确定,并不能在运行时进行重新配置。而动态区域则允许FPGA的其他部分还在正常运行的情况下改变器件的一部分,每个动态区域包含一组逻辑资源和相关的互连资源,并可以单独进行重新配置。重新配置区域之间的连接通路被保持不变,从而实现了对指定区域的重新配置。。因此,由于动态区域的功能可以根据自己的需要进行修改和升级,所以可以将云端FPGA的动态区域供远程用户所使用。
安全可擦除证明机制:FPGA的安全可擦除证明机制(Secure Erase Proof)是一种保护FPGA敏感信息的机制,它确保在FPGA芯片被擦除后无法恢复原始配置位流或敏感数据。当需要销毁或重新配置FPGA芯片时,常规的擦除操作并不能完全保证数据的安全。因为在某些情况下,即使执行了擦除操作,仍然有可能通过物理分析或其他技术手段恢复出原始配置位流或敏感数据。为了解决这个问题,引入了安全可擦除证明机制。安全可擦除证明机制涉及在FPGA芯片上添加额外的硬件或软件功能,以确保在擦除过程中不仅将配置位流删除,还能够证明其已被安全地擦除。通过安全可擦除证明机制,可以提供更高的数据安全性和保护,确保敏感信息无法被恢复或非法获取。
安全比特流加载机制:FPGA的安全比特流加载机制是一种保护FPGA配置比特流(Bitstream)的机制,以防止未经授权的访问和篡改。在FPGA中,配置比特流包含了描述逻辑资源和互连资源的信息,它决定了FPGA的功能和行为。由于配置位流的重要性,确保其完整性和安全性对于防止恶意攻击和非法访问至关重要。在安全比特流加载机制可以实现安全启动过程,通过安全启动可以确保只有来自可信源的配置位流被加载到FPGA中。这样可以预防恶意攻击者通过替换配置位流来执行未经授权的操作。
实施例一
在一个或多个实施方式中,公开了一种基于不可信云FPGA的可信通信方法,如图1所示,包括如下步骤:
步骤S1:远程用户在租赁云端FPGA使用权时,从FPGA生产厂商那获取所租赁区域的认证信息,包括所租赁区域的认证码、二进制填充比特流以及其填充后所计算的哈希值;
步骤S2:远程用户在与云端FPGA进行通信前,基于认证信息进行远程认证,在认证过程中同时进行密钥协商,生成会话密钥;
步骤S3:利用会话密钥将隐私数据上传到租赁区域,远程用户与远程认证后的云端FPGA进行可信通信;
其中,所述远程认证是远程用户将签名后的认证码、二进制填充比特流发送给云端FPGA,云端FPGA依据认证码确定所租赁的区域,通过二进制填充比特流对区域进行填充,计算填充后的哈希值并回传给远程用户;远程用户通过比对FPGA生产厂商提供的哈希值与云端FPGA回传过来的哈希值是否相同,判断FPGA是否是可信的,从而完成远程认证。
下面对本实施例一种基于不可信云FPGA的可信通信方法的实现过程进行详细说明,其中涉及三方:FPGA生产厂商、远程用户和云端FPGA,具体关系如图2所示。
为了解决远程计算服务商的内部管理员存在的威胁,本实施例将云端FPGA作为可信执行环境方,只有经授权的用户才能对云端FPGA进行认证并获取会话密钥从而以将数据以加密的形式发往云端FPGA并在解密后使用FPGA资源进行计算。首先,设计了一种安全认证协议,经授权的远程用户可以通过此认证协议完成对云端FPGA的远程认证;其次,提供了全新FPGA架构,并通过安全可擦除证明机制来确保FPGA内置分区模块是可信的;最后,通过远程用户与云端FPGA的密钥协商建立一个安全的会话秘钥,通过此会话密钥可以确保远程用户安全地将隐私计算数据比特流加载到FPGA上。
针对本实施例设计的安全认证协议,在云端FPGA上设计了一个安全代理(SecureProxy,SP),SP内部设有国密SM2算法模块,以加解密的方式与经授权的远程用户进行安全通信;通过本认证协议的交互,远程用户可以向SP验证所租赁FPGA区域的真实性与完整性。此外,SP在与远程用户认证的过程中同样参与会话密钥协商的过程,这样极大减少了交互过程中的通信量;当远程用户完成对云端FPGA的认证后同样会获得与其通信的会话密钥,通过此会话密钥远程用户可以将自己本地隐私计算数据安全的传输给SP端,SP将隐私计算数据使用会话密钥解密并在FPGA内部将数据传送到用户所租赁的分区,数据进入分区后再进行下一步计算。
本实施例认为云服务提供商的内部工作人员是不可信的,同时认为FPGA的内置模块也可能被内部工作人员或上一任租户残留了恶意代码或恶意应用程序,从而使得FPGA的内置模块也是不可信的;因此本实施例提出了全新的FPGA架构,该架构可以使远程用户证明其所租赁的FPGA分区是可信的;针对云端FPGA内部结构,本实施例采用了部分重新配置机制来配置FPGA内部,首先将FPGA静态区域设置的足够小,仅能满足加载上面描述的安全代理SP,其余部分均为FPGA的动态可重构区域,将FPGA的静态区域设置成仅能容纳运行SP的大小,通过这种方式来防止恶意人员将不可信比特流加载到静态区域,从而影响FPGA的安全运行,FPGA内部动态区域的所有消息都会通过SP进行加密后传输给远程用户,因此SP对动态区域的每一分区拥有独占访问权,而且各分区之间不能进行任何通信。
本实施例只认为FPGA的生产厂商是可信的,FPGA生产厂商在FPGA出厂时就将可重构的动态区域分成若干块,每块动态分区在物理和逻辑上都是相互独立的,在独立划分时生成它们自己唯一的认证码Dmac,并根据每一块动态区域的大小生成其对应区域的填充比特流认证(Binary Bitstream Authentication,BBA),通过安全可擦除证明机制确保FPGA内置模块是可信的;该比特流可以完全对其所对应的动态区域进行初始化,通过对该区域的覆盖可以实现对恶意代码的清除。其中每一块动态区域都可以作为远程用户所租赁的区域,且支持多用户共同使用。云端只需根据计算资源的多少设置一定的价格,并将FPGA动态块租赁给远程用户。FPGA将区域认证码Dmac以及填充比特流BBA共同存储到生产厂商的服务器中,只有经授权认证的用户才能获取该信息,并利用该信息对云端FPGA进行认证。同时,FPGA生产商也会将FPGA每一块动态区域的Dmac存储到SP中,SP通过Dmac对远程用户所租赁的区域进行识别。其次,在FPGA出厂前都会在FPGA内部嵌入一个用于加解密认证的主私钥,每块FPGA板都会对应不同的主私钥,该主私钥是本协议的关键;将主私钥储存到安全代理SP中,只要确保SP可以被安全加载出来,主私钥就是安全的;主私钥永远不会离开SP,并且SP对主私钥拥有独占访问权,而每一主私钥所对应的公钥也会存储在FPGA生产商的服务器中,只有经授权的用户才能获取该公钥。
为防止SP加载的比特流被恶意访问或非法篡改,SP比特流通过安全比特流加载机制加载到FPGA静态区域。安全比特流加载机制可以将SP比特流以加密的形式存储在非易失的存储器中,在FPGA启动时,SP安全比特流将会被加载;SP安全比特流同时被加载后,SP比特流将覆盖整个静态区域;需要注意的是,远程用户仅与SP以加密的形式进行交流,同时SP对远程用户所租赁的动态区域中加载的任何数据或程序拥有独占访问权,动态区域中的数据仅仅能通过SP以加密的形式与远程用户进行交流。
总之,在云端FPGA方的安全代理SP具有远程证明FPGA本身的真实性和完整性,以及使远程用户和FPGA上建立安全通信的功能。需要注意的是,该方案是对FPGA生产厂商是可信的。基于对FPGA制造商的信任,FPGA生产商以安全的方式将远程用户所租赁区域的区域认证码Dmaci、BBA以及BBA在填充后所计算得到的Hashi发给远程用户,从而使远程用户完成安全远程证明。
本实施例的密码学方案使用国密SM2算法,其中在用户本身所生成以及FPGA生产厂商嵌入SP内部的公私钥对都用的SM2算法生成密钥。此外,在远程认证过程中的数字签名,远程用户与云端FPGA协商会话密钥也是用的SM2算法中的数字签名算法及密钥协商协议。
本实施例主要分为两大部分,分别是远程认证部分及密钥协商部分。在远程认证部分主要是远程用户端、FPGA生产厂商以及云端FPGA三方的沟通,从而实现远程认证的过程;在密钥协商部分主要是远程用户端与云FPGA端之间的协商,其中本实施例认为在远程认证过程中可以直接进行密钥协商部分,因此可以大大减少前期准备工作中的通信量。若远程用户与云端FPGA的远程认证过程失败,则用户可以直接终止与FPGA之间通信,若认证通过用户可以使用协商密钥直接与云端FPGA进行安全通信。当远程认证和密钥协商阶段完成之后,FPGA便可执行远程用户发送过来的具体应用。
图3是远程认证与密钥协商的时序图,1-①至1-⑧为远程认证过程中的八个步骤,2-①至2-④为密钥协商过程中的四个步骤,图中虚线表示结束与FPGA生产厂商通信,远程认证与密钥协商正式开始。
如图3所示,远程认证的具体过程如下:
1.远程用户通过自己的ID注册购买云端FPGA使用权后用SM2算法生成自己的公私钥对,并向FPGA生产厂商公布自己的公钥。
2.云端FPGA中的安全代理SP(此后称SP)通过安全比特流加载机制加载SP功能并安装在静态区域。SP安装完成后,SP自动加载FPGA生产厂商在SP中嵌入的主私钥。
3.远程用户使用数字签名算法签名自己ID信息向FPGA生产厂商请求其所租赁部分的认证信息,为防止重放攻击需要添加时间戳一同发往FPGA端。
4.FPGA生产厂商将用户所租赁区域Di的认证码Dmaci、二进制填充比特流BBAi以及其填充后所计算的哈希值发送给用户端,供用户认证云端FPGA的正确性及完整性。其次,FPGA生产厂商将公布给用户云端FPGA上所嵌入主私钥的公钥。
5.用户用SP公钥加密被签名认证的Dmaci以及其对应的BBAi发送给SP,为防止重放攻击同样需要添加时间戳发送给SP。
6.SP认证用户并使用嵌入在SP中的主私钥解密用户的信息,通过安全代理寻找到其所对应的动态模块Di,将填充代码BBAi对区域进行填充,并计算其填充后的Hash′i值。
7.SP通过使用用户的公钥加密被其签名认证的Hash′i值以及时间戳返回给用户方。
8.用户方通过比对FPGA生产厂商提供的哈希值与SP端发送过来的Hash′i值是否相同,从而判断FPGA是否是可信的。
上述步骤详细描述如下:
在步骤1中,用户租赁云端FPGA使用权后获得自己的使用ID信息,用户在自己的PC端使用国密SM2密钥生成算法生成自己的公私钥对(UKPriv,UKPub),并将自己的公钥UKPub公布给FPGA生产厂商以及云端FPGA中的安全代理SP。
在步骤2中,SP通过安全比特流加载机制加载SP功能并安装在静态区域。SP在FPGA未启动时以加密的形式存储在FPGA中非易失性存储器中,当FPGA一旦被启动,SP就会被加载出来,即使这个时候有恶意人员对SP进行攻击也无法破坏FPGA内部的隐私数据。SP安装完成后,SP自动加载FPGA生产厂商在SP中嵌入的主私钥FKPriv。需要注意的是SP中的FKpriv永远不会离开SP端,SP仅与授权的用户以加密的形式进行通信。
在步骤3中,用户用SM2数字签名算法签名租赁时使用的ID信息以及为防止重放攻击所使用的时间戳Timei发送给FPGA生产厂商,即UMq=Sign(ID|Timei)。以此来请求Di的认证信息。
在步骤4中,FPGA生产厂商认证用户信息,并通过用户ID信息获取用户所租赁的动态区域Di。由于FPGA在出厂时就根据购买云厂商的需求设计好每一块动态区域的认证码Dmac,并生成了验证每一动态区域完整性安全性的填充代码BBA及其填充后的Hash。因此,当FPGA生产厂商获取请求信息时,FPGA生产厂商将用户所租赁区域Di的认证码Dmaci、二进制填充比特流BBAi以及其所对应的Hashi值发送给用户端,除此之外,FPGA生产厂商还需要公布给用户所用云端FPGA上所嵌入主私钥的公钥FKPub,用户需要以此来完成云端FPGA的远程认证。即MUr=UKPub(Dmaci|BBAi|Hashi|Timei)+FKPub。以此,将FPGA中区域Di的认证信息发送给用户端。同样只要用户端的UKPriv不被泄露,恶意用户则无法获取FPGA的关键信息。
在步骤5中,用户获得了认证云端FPGA中Di区域的认证信息后,用户用FPGA生产商发送过来的公钥FKPub加密Di的认证信息,即:UFq=FKPub(Sign(ID)|Dmaci|BBAi|Timei)。其中Sign(ID)表示用户使用数字签名算法签名自己的ID信息以证明确实是真实用户发送的,另外添加时间戳Timei以防止重放攻击。将加密后的信息UFq发送给云端FPGA的安全代理SP。由于SP端生成的私钥FkPriv不会离开SP,因此只要私钥不被泄露则以上信息都是安全的。
在步骤6中,当SP获取到信息UFq后,它就会用自己的主私钥FkPriv解密该消息。当SP获取到Dmaci信息并验证正确后,就在SP内部建立一张表,将用户信息ID和Dmaci与后面将要产生的会话密钥一一绑定起来,如图所示。之后,SP将填充证明代码BBAi加载到Di所对应的区域,并在填充完成后计算其哈希值为Hash′i,最后将该哈希存储到刚刚建立的表格中。
在步骤7中,SP同样使用数字签名算法将Hash′i进行签名,并用远程用户的公钥的进行加密返回给远程用户,即:FKr=UKPub(Sign(Hash′i)|Timei)。其中SP使用数字签名算法进行签名是为了确保发送方为真实云端FPGA,并添加时间戳来防止重放攻击。
在步骤8中,通过计算比对FPGA生产厂商提供的Hashi值与SP端发送过来的Hash′i值是否相同,即:Hashi==Hash′i是否成立,从而判断FPGA是否是可信的。若两个哈希值相同则远程用户可以确定云端FPGA是其租赁的那块区域,反之不是。
至此远程认证部分结束。
如图3所示,密钥协商的具体过程如下:
另一部分则是远程用户与云端FPGA的安全通信,只有当会话密钥建立后才能进行安全通信。本实施例采用的则是国密SM2中密钥协商来实现会话秘钥的建立。在本实施例中,认为密钥协商过程可在远程认证过程中发生,因此,认为密钥协商过程从上文中的第5步开始,到上文中的第8步结束。
详细过程如下:
在正式进入密钥协商之前,在发生在密钥协商过程中的公共参数及原始数据都包含在用户所注册的ID信息中,其中包括椭圆曲线参数,zA,zB,dA,dB,PA,PB等。远程用户端与云端FPGA的安全代理SP都会通过随机数生成器生成一定安全长度的随机数,分别为rA和rB
在上文步骤5中,为同时实现远程证明和密钥协商的过程,远程用户在自己的客户端利用随机数生成器生成的随机数rA计算其临时密钥值RA,即:RA=[rA]G=(x1,y1)。之后,在RA中取出域元素x1,并取将x1的数据类型转化为整数。最后计算以供后面计算使用。用户在自己的客户端生成自己临时密钥值RA,通过用户使用加密消息UFq一同发送给云端FPGA,使用加密后的UFq消息可以防止在不安全的信道中通信时其他恶意人员的攻击,同时使用数字签名算法防止此过程中的中间人攻击。
在上文步骤6中,SP端利用随机数生成器生成随机数rB,之后进行与远程用户端相同的操作得到其临时密钥值RB,域元素x2,又经计算得到tB。当云端FPGA收到UFq消息后,使用其自己主私钥进行解密得到远程用户的临时密钥RA。SP得到RA之后进行如下操作:首先,在SM2算法模块中首先对临时密钥RA进行验证,判断其是否满足椭圆方程。其次,取RA中的x1,并计算之后,通过之前计算的tB以及刚刚获得的/>计算椭圆曲线点而后,通过密钥派生函数KDF()计算出密钥交换协议商定的共享密钥KB,即:KB=KDF(xv|yv|zA|zB,klen)。最后,为验证共享密钥KB的正确性,计算其Hash值S2以供远程用户认证使用。通过上文中描述的第6步骤中SP将建立一个一一对应的表格,通过本次计算同样将共享密钥KB以及哈希值S2存储到与用户ID对应的表中。
在上文步骤7中,SP计算Hash′i后。由于SP先前计算好的临时密钥值RB,以及哈希值S2。在使用SM2数字签名算法后密文FKr中添加RB及S2一同发给远程用户端,即:FKr=UKPub(Sign(Hash′i)|Timei|RB|S2)。
在上文步骤8中,用户收到消息FKr值后,使用自己的私钥解密该消息,并为了防止中间人攻击用数字签名算法验证是否是云端FPGA发送过来的。当远程用户解密得到RB后进行与远程用户相同的操作后得到密钥交换协议商定的共享密钥KA,以及为验证共享密钥KA正确性的Hash值S1以供远程用户与云端FPGA发送过来的S1进行认证。
最后,在远程用户远程认证云端FPGA通过后,即:Hashi==Hash′i。则,远程用户进一步判断密钥协商后所得的哈希值S1与云端FPGA发送过来的哈希值S2是否相同,如果相同则安全会话密钥KAB=KA=KB也建立完成。
至此,远程用户与云端FPGA进行的远程认证与会话密钥的建立已成功实现。
由于FPGA无论是在是在性能和功耗上都有着明显的优势,而且FPGA具有并行处理的能力,可以同时执行多个操作或任务。这对于密集的计算和数据处理非常有利,例如在隐私计算中进行加密、解密、哈希函数等操作,在机器学习中的矩阵运算、卷积运算等密集计算任务也是非常有利。远程用户端想要通过云FPGA端的计算资源来计算隐私保护机器学习的隐私数据时,远程用户通过上述八个步骤认证云端FPGA的真实性以及安全性,并通过对上述八个步骤的补充来实现协商密钥的建立。远程用户认证云端FPGA并对协商密钥确认后,远程用户通过协商密钥KAB来传输自己的隐私保护数据。远程用户将自己隐私保护数据用此会话密钥进行加密发送给FPGA端的安全代理SP。SP通过经确认后的协商密钥K解密隐私数据,并进行下一步操作。
通过设计本实施例框架,由于所有的消息都是通过加密传输的,并且通过添加时间戳可以有效的防止中间人攻击。通过国密SM2密钥协商算法,并且以加密的形式进行密钥协商,最终只有远程用户与云端FPGA安全代理获得协商密钥KAB,因此对手也无法通过提取KAB而对隐私数据进行获取。由于之前租户或恶意敌手可能会在上一次租赁完云端FPGA区域时将恶意代码或恶意程序遗留到FPGA内部使其成为恶意模块,本实施例通过安全擦除证明机制将填充比特流BBAi对所租赁区域进行填充,并计算哈希值进行验证可以有效清除遗留恶意比特流。最后恶意攻击者还可能对FPGA本身进行注入故障攻击或侧信道攻击,对于这一类攻击我们认为云服务提供商应该对云端FPGA进行诸如此类攻击的保护,此类攻击不在本实施例的考虑范围内。对于远程用户端,若其并不能对本身所使用的隐私数据做到一个安全的保护,则可以使用面向CPU的SGX等安全可信执行环境与云端FPGA服务提供商进行通信。
实施例二
在一个或多个实施例中,公开了一种基于不可信云FPGA的可信通信系统,包括用户租赁模块、认证协商模块和可信通信模块:
用户租赁模块,被配置为:远程用户在租赁云端FPGA使用权时,从FPGA生产厂商那获取所租赁区域的认证信息,包括所租赁区域的认证码、二进制填充比特流以及其填充后所计算的哈希值;
认证协商模块,被配置为:远程用户在与云端FPGA进行通信前,基于认证信息进行远程认证,在认证过程中同时进行密钥协商,生成会话密钥;
可信通信模块,被配置为:利用会话密钥将隐私数据上传到租赁区域,远程用户与远程认证后的云端FPGA进行可信通信;
其中,所述远程认证是远程用户将签名后的认证码、二进制填充比特流发送给云端FPGA,云端FPGA依据认证码确定所租赁的区域,通过二进制填充比特流对区域进行填充,计算填充后的哈希值并回传给远程用户;远程用户通过比对FPGA生产厂商提供的哈希值与云端FPGA回传过来的哈希值是否相同,判断FPGA是否是可信的,从而完成远程认证。
实施例三
本实施例的目的是提供计算机可读存储介质。
计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开实施例一所述的一种基于不可信云FPGA的可信通信方法中的步骤。
实施例四
本实施例的目的是提供电子设备。
电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开实施例一所述的一种基于不可信云FPGA的可信通信方法中的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于不可信云FPGA的可信通信方法,其特征在于,包括:
远程用户在租赁云端FPGA使用权时,从FPGA生产厂商那获取所租赁区域的认证信息,包括所租赁区域的认证码、二进制填充比特流以及其填充后所计算的哈希值;
远程用户在与云端FPGA进行通信前,基于认证信息进行远程认证,在认证过程中同时进行密钥协商,生成会话密钥;
利用会话密钥将隐私数据上传到租赁区域,远程用户与远程认证后的云端FPGA进行可信通信;
其中,所述远程认证是远程用户将签名后的认证码、二进制填充比特流发送给云端FPGA,云端FPGA依据认证码确定所租赁的区域,通过二进制填充比特流对区域进行填充,计算填充后的哈希值并回传给远程用户;远程用户通过比对FPGA生产厂商提供的哈希值与云端FPGA回传过来的哈希值是否相同,判断FPGA是否是可信的,从而完成远程认证。
2.如权利要求1所述的一种基于不可信云FPGA的可信通信方法,其特征在于,所述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的可信通信方法,其特征在于,所述远程认证的具体步骤为:
远程用户通过自己的ID租赁云端FPGA使用权后用SM2算法生成自己的公私钥对,并向FPGA生产厂商公布自己的公钥;
云端FPGA中的安全代理SP通过安全比特流加载机制加载SP功能并安装在静态区域;SP安装完成后,SP自动加载FPGA生产厂商在SP中嵌入的主私钥;
远程用户使用数字签名算法签名自己的ID,向FPGA生产厂商请求其所租赁部分的认证信息,为防止重放攻击需要添加时间戳一同发往FPGA端;
FPGA生产厂商将远程用户所租赁区域Di的认证码Dmaci、二进制填充比特流BBAi以及其填充后所计算的哈希值发送给远程用户,供用户认证云端FPGA的正确性及完整性;其次,FPGA生产厂商将公布给用户云端FPGA上所嵌入主私钥的公钥;
远程用户用SP公钥加密被签名认证的认证码Dmaci以及其对应的BBAi发送给SP,为防止重放攻击同样需要添加时间戳发送给SP;
SP认证远程用户并使用嵌入在SP中的主私钥解密远程用户的信息,通过认证码寻找到其所对应的租赁区域Di,将二进制填充比特流BBAi对区域进行填充,并计算其填充后的Hash′i值;
SP通过使用远程用户的公钥加密被其签名认证的Hash′i值以及时间戳返回给用户方;
远程用户通过比对FPGA生产厂商提供的哈希值与SP端发送过来的Hash′i值是否相同,从而判断FPGA是否是可信的。
6.如权利要求1所述的一种基于不可信云FPGA的可信通信方法,其特征在于,所述密钥协商的具体步骤为:
在正式进入密钥协商之前,将密钥协商过程中的公共参数及原始数据都包含在用户所注册的ID信息中,包括椭圆曲线参数,远程用户端与云端FPGA的安全代理SP通过随机数生成器生成一定安全长度的随机数,分别为rA和rB
远程用户在自己的客户端利用随机数生成器生成的随机数rA计算其临时密钥值RA,通过用户使用加密消息UFq一同发送给云端FPGA;
SP利用随机数生成器生成随机数rB,之后进行与远程用户端相同的操作得到其临时密钥值RB,当云端FPGA收到UFq消息后,使用其自己主私钥进行解密得到远程用户的临时密钥RA,SP得到Ra之后,进行临时密钥的验证、共享密钥KB的计算和共享密钥KB的Hash值S2的计算,在使用SM2数字签名算法后密文FKr中添加RB及S2一同发给远程用户;
远程用户收到消息FKr值后,使用自己的私钥解密该消息,用数字签名算法验证是否是云端FPGA发送过来的,当远程用户解密得到RB后进行与远程用户相同的操作后得到密钥交换协议商定的共享密钥KA,以及为验证共享密钥KA正确性的Hash值S1以供远程用户与云端FPGA发送过来的S1进行认证;
在远程用户远程认证云端FPGA通过后,远程用户进一步判断密钥协商后所得的哈希值S1与云端FPGA发送过来的哈希值S2是否相同,如果相同则安全会话密钥KAB=KA=KB也建立完成。
7.如权利要求1所述的一种基于不可信云FPGA的可信通信方法,其特征在于,所述二进制填充比特流,是根据动态区域块上存储的数据生成的,通过二进制填充比特流对区域进行填充,利用安全可擦除证明机制,完成对区域的初始化,实现对恶意代码的清除。
8.一种基于不可信云FPGA的可信通信系统,其特征在于,包括用户租赁模块、认证协商模块和可信通信模块:
用户租赁模块,被配置为:远程用户在租赁云端FPGA使用权时,从FPGA生产厂商那获取所租赁区域的认证信息,包括所租赁区域的认证码、二进制填充比特流以及其填充后所计算的哈希值;
认证协商模块,被配置为:远程用户在与云端FPGA进行通信前,基于认证信息进行远程认证,在认证过程中同时进行密钥协商,生成会话密钥;
可信通信模块,被配置为:利用会话密钥将隐私数据上传到租赁区域,远程用户与远程认证后的云端FPGA进行可信通信;
其中,所述远程认证是远程用户将签名后的认证码、二进制填充比特流发送给云端FPGA,云端FPGA依据认证码确定所租赁的区域,通过二进制填充比特流对区域进行填充,计算填充后的哈希值并回传给远程用户;远程用户通过比对FPGA生产厂商提供的哈希值与云端FPGA回传过来的哈希值是否相同,判断FPGA是否是可信的,从而完成远程认证。
9.一种电子设备,其特征是,包括:
存储器,用于非暂时性存储计算机可读指令;以及
处理器,用于运行所述计算机可读指令,
其中,所述计算机可读指令被所述处理器运行时,执行上述权利要求1-7任一项所述的方法。
10.一种存储介质,其特征是,非暂时性地存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时,执行权利要求1-7任一项所述方法的指令。
CN202311307951.9A 2023-10-10 2023-10-10 一种基于不可信云fpga的可信通信方法及系统 Pending CN117375910A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311307951.9A CN117375910A (zh) 2023-10-10 2023-10-10 一种基于不可信云fpga的可信通信方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311307951.9A CN117375910A (zh) 2023-10-10 2023-10-10 一种基于不可信云fpga的可信通信方法及系统

Publications (1)

Publication Number Publication Date
CN117375910A true CN117375910A (zh) 2024-01-09

Family

ID=89405208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311307951.9A Pending CN117375910A (zh) 2023-10-10 2023-10-10 一种基于不可信云fpga的可信通信方法及系统

Country Status (1)

Country Link
CN (1) CN117375910A (zh)

Similar Documents

Publication Publication Date Title
CN110784491B (zh) 一种物联网安全管理系统
TWI754046B (zh) 使用受信任硬體的安全動態臨限簽名方法
CN109361668B (zh) 一种数据可信传输方法
CN110214440B (zh) 计算系统,传送受保护数据的方法和可读存储介质
JP5860815B2 (ja) コンピューターポリシーを施行するためのシステムおよび方法
US9846778B1 (en) Encrypted boot volume access in resource-on-demand environments
WO2022073264A1 (en) Systems and methods for secure and fast machine learning inference in trusted execution environment
US20140112470A1 (en) Method and system for key generation, backup, and migration based on trusted computing
TW201814578A (zh) 資料安全保障系統及方法、裝置
US11853438B2 (en) Providing cryptographically secure post-secrets-provisioning services
JP2006505041A (ja) 機器固有の機密保護データの安全な組み込みと利用
US10516655B1 (en) Encrypted boot volume access in resource-on-demand environments
Amelino et al. An IP core remote anonymous activation protocol
WO2023019964A1 (zh) 一种数据安全处理方法和装置
Hao et al. Trusted block as a service: Towards sensitive applications on the cloud
KR101068855B1 (ko) 정보 데이터의 권한 변경을 방지하는 방법
Wang et al. MA-TEECM: Mutual Anonymous Authentication-Based Credential Migration Technology for Mobile Trusted Execution Environments
Jang-Jaccard et al. Portable key management service for cloud storage
CN117375910A (zh) 一种基于不可信云fpga的可信通信方法及系统
CN102647273B (zh) 可信计算平台用户根密钥和用户密钥生成方法和装置
CN117972802B (zh) 现场可编程门阵列芯片、聚合方法、装置、设备及介质
Wu et al. Secure key management of mobile agent system using tpm-based technology on trusted computing platform
Faisal et al. Research Article Establishment of Trust in Internet of Things by Integrating Trusted Platform Module: To Counter Cybersecurity Challenges
Kravitz et al. Secure open systems for protecting privacy and digital services
CN118214566A (zh) 一种基于属性加密的可验证csac的swim云存储访问控制方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination