CN112487441A - 用于数据处理(dp)加速器的使用模糊处理单元进行模糊处理的数据传输 - Google Patents

用于数据处理(dp)加速器的使用模糊处理单元进行模糊处理的数据传输 Download PDF

Info

Publication number
CN112487441A
CN112487441A CN202010146546.3A CN202010146546A CN112487441A CN 112487441 A CN112487441 A CN 112487441A CN 202010146546 A CN202010146546 A CN 202010146546A CN 112487441 A CN112487441 A CN 112487441A
Authority
CN
China
Prior art keywords
data
algorithm
accelerator
obfuscation
training
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
CN202010146546.3A
Other languages
English (en)
Other versions
CN112487441B (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.)
Kunlun Core Beijing Technology Co ltd
Baidu USA LLC
Original Assignee
Baidu USA LLC
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 Baidu USA LLC filed Critical Baidu USA LLC
Publication of CN112487441A publication Critical patent/CN112487441A/zh
Application granted granted Critical
Publication of CN112487441B publication Critical patent/CN112487441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1066Hiding content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2125Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Bioethics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Molecular Biology (AREA)
  • Fuzzy Systems (AREA)
  • Biomedical Technology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Automation & Control Theory (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Advance Control (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

根据一个实施方式,主机使用模糊处理方案与数据处理(DP)加速器通信。DP加速器从主机接收训练请求,该训练请求包括经模糊处理的数据,经模糊处理的数据包括一个或多个AI模型和/或训练输入数据。DP加速器通过DP加速器的模糊处理单元对经模糊处理的数据进行去模糊处理,以获得一个或多个AI模型。DP加速器基于训练输入数据来训练一个或多个AI模型。

Description

用于数据处理(DP)加速器的使用模糊处理单元进行模糊处理 的数据传输
技术领域
本发明的实施方式总体上涉及模糊处理多方计算。更具体地,本发明的实施方式涉及用于数据处理(DP)加速器的使用模糊处理单元进行模糊处理的数据传输。
背景技术
诸如人工智能(AI)加速器或协作处理器的数据处理(DP)加速器越来越多地执行敏感交易。这增加了保护用于DP加速器的通信信道的需求,以及保护主机系统的环境以保护主机系统免经未授权访问的需求。
例如,用于AI训练数据、模型和推理输出的数据传输可能不受保护,并且可能被泄漏给不受信任的各方。此外,基于密码密钥的解决方案可能很慢且不实用。因此,需要一种无论是否使用密码均能使用于DP加速器的数据传输变得模糊的系统。
发明内容
本申请的一个方面提供了对数据进行去模糊处理的方法,该方法可包括:由数据处理(DP)加速器通过链路从主机接收训练请求,训练请求包括经模糊处理的数据,经模糊处理的数据包括一个或多个人工智能(AI)模型和/或训练输入数据;通过所述DP加速器的模糊处理单元对所述经模糊处理的数据进行去模糊处理,以获得一个或多个 AI模型;以及基于训练输入数据来训练一个或多个AI模型。
本申请的另一方面提供了对数据进行模糊处理的方法,该方法可包括:由主机通过对一个或多个人工智能(AI)模型和/或训练输入数据进行模糊处理,来生成经模糊处理的数据;生成由数据处理(DP) 加速器执行AI模型训练的训练请求,其中,训练请求包括经模糊处理的数据;以及向DP加速器发送训练请求,其中,DP加速器的模糊处理单元应用模糊处理算法以获得一个或多个AI模型和/或所述训练输入数据,其中,使用训练输入数据来训练一个或多个AI模型。
本申请的又一方面提供了其中存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时使得所述处理器执行操作。所述操作可包括:由数据处理(DP)加速器通过链路从主机接收训练请求,训练请求包括经模糊处理的数据,经模糊处理的数据包括一个或多个人工智能(AI)模型和/或训练输入数据;通过所述DP加速器的模糊处理单元对所述经模糊处理的数据进行去模糊处理,以获得一个或多个 AI模型;以及基于训练输入数据来训练一个或多个AI模型。
附图说明
本发明的实施方式在附图的各图中以示例而非限制的方式示出,附图中相似的附图标记指示相似的元件。
图1是示出根据一些实施方式的用于保护主机和数据进程(DP) 加速器之间的通信的系统配置的示例的框图。
图2是示出根据一些实施方式的用于在主机与数据处理(DP)加速器之间进行模糊通信的多层保护解决方案的示例的框图。
图3是示出根据一个实施方式的与DP加速器通信的主机的示例的框图。
图4是示出根据一个实施方式的在主机与DP加速器之间进行模糊通信的示例的流程图。
图5是示出根据一个实施方式的方法的示例的流程图。
图6是示出根据一个实施方式的方法的示例的流程图。
图7是示出根据一个实施方式的与具有模糊处理单元的DP加速器通信的主机的示例的框图。
图8是示出根据一个实施方式的在主机与DP加速器之间进行模糊通信的示例的流程图。
图9是示出根据一个实施方式的方法的示例的流程图。
图10是示出根据一个实施方式的方法的示例的流程图。
图11是示出根据一个实施方式的数据处理系统的框图。
具体实施方式
将参考以下所讨论的细节来描述本发明的各种实施方式和方面,附图将示出所述各种实施方式。下列描述和附图是对本发明的说明,而不应当解释为限制本发明。描述了许多特定细节以提供对本发明各种实施方式的全面理解。然而,在某些情况下,并未描述众所周知的或常规的细节以提供对本发明的实施方式的简洁讨论。
本说明书中对“一个实施方式”或“实施方式”的引述意味着结合该实施方式所描述的特定特征、结构或特性可包括在本发明的至少一个实施方式中。短语“在一个实施方式中”在本说明书中各处的记载不必全部指同一实施方式。
根据本公开的第一方面,主机使用模糊处理方案与数据处理(DP) 加速器通信。DP加速器(或系统)接收模糊处理内核算法(或模糊处理算法),其中,模糊处理内核算法用于对与主机的通信数据进行模糊处理和去模糊处理。系统使用模糊处理内核算法来对从主机接收的、用于预测请求的经模糊处理的数据进行去模糊处理,以获得一个或多个AI模型。系统通过将一个或多个AI模型应用于预测输入来生成预测结果。系统使用模糊处理内核算法对预测结果进行模糊处理。系统将经模糊处理的预测结果发送到主机,其中,主机通过对经模糊处理的预测结果进行去模糊处理来恢复预测结果。
根据本公开的第二方面,系统生成通过DP加速器使用一个或多个人工智能(AI)模型来执行AI预测的预测请求,其中,所述预测请求包括基于模糊处理内核算法来使一个或多个AI模型模糊的经模糊处理的数据。系统将模糊处理内核算法和预测请求发送到DP加速器,其中,使用模糊处理内核算法对经模糊处理的数据进行去模糊处理,来获得一个或多个AI模型以生成预测结果,其中,DP加速器使用模糊处理内核算法对预测结果进行模糊处理。系统从DP加速器接收经模糊处理的预测结果。系统对经模糊处理的预测结果进行去模糊处理,以恢复预测结果。
根据本公开的第三方面,系统通过DP加速器接收来自主机的训练请求,所述训练请求包括经模糊处理的数据,所述经模糊处理的数据包括一个或多个AI模型和/或训练输入数据。系统通过DP加速器的模糊处理单元对经模糊处理的数据进行去模糊处理,以获得一个或多个AI模型。系统基于训练输入数据来训练一个或多个AI模型。
根据本公开的第四方面,系统(例如,主机)通过对一个或多个 AI模型和/或训练输入数据进行模糊处理来生成经模糊处理的数据。系统生成由DP加速器执行AI模型训练的训练请求,其中,训练请求包括经模糊处理的数据。该系统向DP加速器发送训练请求,其中DP 加速器的模糊处理单元应用模糊处理算法来获得一个或多个AI模型和/或训练输入数据,其中,使用训练输入数据来训练一个或多个AI 模型。
图1是示出根据一些实施方式的用于保护主机和数据处理(DP) 加速器之间的通信的系统配置的示例的框图。参照图1,系统配置100 包括但不限于通过网络103通信地联接至DP服务器104的一个或多个客户端装置101至102。客户端装置101至102可以是任何类型的客户端装置,诸如个人计算机(例如,台式计算机、膝上型计算机和平板计算机)、“瘦(thin)”客户端、个人数字助理(PDA),支持Web 的设备、智能手表或移动电话(例如,智能电话)等。可选地,客户端装置101至102可以是其它服务器。网络103可以是任何类型的网络,诸如有线或无线的局域网(LAN)、诸如互联网的广域网(WAN) 或其组合。
服务器(例如,主机)104可以是任何类型的服务器或服务器群集,诸如Web或云服务器、应用服务器、后端服务器或其组合。服务器104还包括接口(未示出),以允许诸如客户端装置101至102的客户端访问由服务器104提供的资源或服务(诸如经由服务器104由DP加速器提供的资源和服务)。例如,服务器104可以是向客户端提供多种云服务(诸如,云存储、云计算服务、机器学习训练服务、数据挖掘服务等)的云服务器或数据中心的服务器。服务器104可以配置为云上的软件即服务(SaaS)或平台即服务(PaaS)系统的一部分,所示云可以是私有云、公共云或混合云。接口可以包括Web接口、应用编程接口(API)和/或命令行接口(CLI)。
例如,客户端(在该示例中,客户端装置101的用户应用程序(例如,Web浏览器、应用程序))可以向服务器104发送或传输用于执行的指令(例如,人工智能(AI)训练、推理指令等),并且服务器104 通过网络103上的接口接收所述指令。响应于所述指令,服务器104与DP加速器105至107通信以完成指令的执行。在一些实施方式中,指令是机器学习类型的指令,其中,DP加速器作为专用机器或处理器可以比服务器104快许多倍地执行指令。因此,服务器104可以以分布式的方式控制/管理一个或多个DP加速器的执行工作。然后,服务器104将执行结果返回至客户端装置101至102。DP加速器或AI加速器可以包括一个或多个专用处理器,诸如百度公司的百度人工智能 (AI)芯片集,或者可选地,DP加速器可以是NVIDIA、Intel或一些其它AI芯片集提供商的AI芯片集。
根据一个实施方式,对由数据处理服务器104(也称为主机)托管的DP加速器105至107中的任一个进行访问的应用程序中的每一个可以验证该应用程序是由可信源或供应商提供的。可以在由主机 104的中央处理单元(CPU)专门配置和执行的可信的执行环境内启动和执行应用程序中的每个。当应用程序配置成访问DP加速器105 至107中的任何一个时,可以在主机104与DP加速器105至107中相应的一个之间建立模糊连接,从而保护在主机104与DP加速器105 至107之间交换的数据免受恶意软件/入侵的攻击。
图2是示出根据一些实施方式的用于主机系统与数据处理(DP) 加速器之间进行模糊通信的多层保护解决方案的示例的框图。在一个实施方式中,系统200在对DP加速器进行或不进行硬件修改的情况下提供用于在主机与DP加速器之间进行模糊通信的保护方案。参照图2,主机或服务器104可以描述为具有待受保护以避免被入侵的一个或多个层(诸如,用户应用程序203、运行时间库205、驱动器209、操作系统211和硬件213(例如,安全模块(可信的平台模块(TPM)) /中央处理单元(CPU)))的系统。主机104通常是可以控制和管理主机104或DP加速器105至107上的执行作业的CPU系统。为了保护 /模糊DP加速器105至107与主机104之间的通信信道,可能需要不同的部件来保护主机系统中易于受到数据入侵或攻击的不同层。例如,可信的执行环境(TEE)可以保护用户应用程序层和运行时间库层免被数据入侵。
参照图2,根据一些实施方式,系统200包括主机系统104和DP 加速器105至107。DP加速器可以包括可执行AI密集计算任务的百度AI芯片集或任何其它AI芯片集,诸如NVIDIA图形处理单元 (GPU)。在一个实施方式中,主机系统104包括具有一个或多个CPU 的硬件213,其在主机104内配备有安全模块(诸如,可信的平台模块(TPM))。TPM是端点装置上的专用芯片,其存储专用于主机系统的用于硬件认证的密码密钥(例如,RSA密码密钥)。每个TPM芯片可包括一个或多个RSA密钥对(例如,公钥和私钥对),其被称为签注密钥(EK)或签注凭证(EC),即根密钥。密钥对保持在TPM芯片内部,并且无法通过软件访问。然后,固件和软件的关键部分可以在执行之前被EK或EC散列,以保护系统免遭未授权的固件和软件修改。因此,主机上的TPM芯片可以用作用于安全启动的可信根。
TPM芯片还确保工作内核空间中的驱动器209和操作系统(OS) 211与DP加速器通信。这里,驱动器209由DP加速器供应商提供,并且可以用作用户应用程序的驱动器,以控制主机和DP加速器之间的通信信道215。由于TPM芯片和安全启动保护其内核空间中的OS 和驱动器,因此TPM还有效地保护驱动器209和操作系统211。
由于DP加速器105至107的通信信道215可以被OS和驱动器独占,因此,通信信道215可以通过TPM芯片受到保护。在一个实施方式中,通信信道215包括外围部件互连信道或外围部件互连快速 (PCIE)信道。在一个实施方式中,通信信道215是模糊的通信信道。
主机104可以包括可信的执行环境(TEE)201,其通过TPM/CPU 213强制执行以受到保护。TEE是安全的环境。TEE可以保证加载在 TEE内的代码和数据在机密性和完整性方面受到保护。TEE的示例可以是Intel软件保护扩展(SGX),或AMD安全加密虚拟化(SEV)。Intel SGX和/或AMD SEV可以包括中央处理单元(CPU)指令代码集,其允许用户级代码分配CPU的存储器的私有区域、这些区域被保护从而免受以较高权限级别运行的进程的影响。这里,TEE 201可以保护用户应用程序203和运行时间库205,其中用户应用程序203和运行时间库205可以分别由终端用户和DP加速器供应商提供。这里,运行时间库205可以将API调用转换成用于DP加速器的执行、配置和/ 或控制的命令。在一个实施方式中,运行时间库205提供由用户应用程序执行的预定的(例如,预定义的)内核集合。
主机104可包括存储器安全应用程序207,其使用存储器安全语言(诸如,Rust和GoLang等)来实现。在存储器安全Linux发布版 (诸如,MesaLock Linux)上运行的这些存储器安全应用程序可以进一步保护系统200免受数据机密性和完整性攻击。然而,操作系统可以是任何Linux发行版、UNIX、Windows OS或Mac OS。
主机可以进行如下设置:将存储器安全Linux发布版安装到配备有TPM安全启动的系统上。可以在制造或准备阶段期间离线执行此安装。该安装还可以确保使用存储器安全编程语言对主机系统的用户空间的应用程序进行编程。确保在主机系统104上运行的其它应用程序是存储器安全应用程序可以进一步减轻潜在的对主机系统104的机密性和完整性攻击。
在安装之后,然后可以通过基于TPM的安全启动来启动系统。 TPM安全启动确保仅启动内核空间中的提供加速器服务的经签署/认证的操作系统和加速器驱动器。在一个实施方式中,可以通过管理程序来加载操作系统。应注意的是,管理程序或虚拟机管理器是创建和运行虚拟机的计算机软件、固件或硬件。应注意的是,内核空间是一种声明性区域或范围,其中,内核(即,用于执行的预定的(例如,预定义的)函数集)被识别以向用户应用程序提供功能和服务。在系统的完整性受到损害的情况下,TPM安全启动可能无法启动,并且代替地关闭系统。
在安全启动之后,运行时间库205运行并创建TEE 201,TEE 201 将运行时间库205置于与CPU 213相关联的可信存储器空间中。接下来,在TEE 201中启动用户应用程序203。在一个实施方式中,用户应用程序203和运行时间库205被静态链接并一起启动。在另一实施方式中,首先在TEE中启动运行时间库205,并且然后在TEE 201中动态加载用户应用程序203。在另一实施方式中,首先在TEE中启动用户应用程序203,并且然后在TEE 201中动态加载运行时间库205。应注意的是,静态链接的库是在编译时链接到应用程序的库。动态加载可以通过动态链接器执行。动态链接器加载并链接共享库,以便在运行时运行用户应用程序。在这里,TEE 201内的用户应用程序203 和运行时间库205在运行时彼此可见,例如,所有处理数据彼此可见。然而,拒绝从外部访问TEE。
在一个实施方式中,用户应用程序只能从由运行时间库205预先确定的内核集调用内核。在另一实施方式中,用户应用程序203和运行时间库205利用旁道自由算法(sidechannel free algorithm)强化,以防御旁道攻击,诸如基于高速缓存的旁道攻击。旁道攻击是基于从计算机系统的实现中获得的信息的任何攻击,而非基于所实施的算法本身中的弱点(例如,密码分析和软件缺陷)的攻击。旁道攻击的示例包括高速缓存攻击,其是基于攻击者监视虚拟化环境或云环境中共享物理系统的高速缓存的能力的攻击。强化可以包括屏蔽高速缓存、由算法生成的放置在高速缓存上的输出。接下来,当完成执行用户应用程序时,用户应用程序终止其执行并退出TEE。
在一个实施方式中,TEE 201和/或存储器安全应用程序207不是必需的,例如,用户应用程序203和/或运行时间库205被托管在主机 104的操作系统环境中。
在一个实施方式中,内核集包括模糊处理内核算法。在一个实施方式中,模糊处理内核算法可以是对称或非对称算法。对称模糊处理算法可以使用相同的算法来对数据通信进行模糊和去模糊处理。非对称模糊处理算法需要算法对,其中该算法对中的第一个算法被用于模糊处理,而该算法对中的第二个算法被用于去模糊处理,且反之亦然。在另一实施方式中,非对称模糊处理算法包括用于模糊处理数据集的单个模糊处理算法,但是该数据集不旨在进行去模糊处理,例如,不存在对应的去模糊处理算法。模糊处理是指通过使通信消息难以理解 (通常使用混淆性和不明确的语言),来对通信的预期含义进行模糊处理。对数据进行模糊处理对于逆向工程来说更困难且更复杂。可以在传送数据之前应用模糊处理算法来对数据通信进行模糊处理(加密/ 解密),从而减少窃听的机会。在一个实施方式中,模糊处理算法还可以包括加密方案,以对经模糊处理的数据进行进一步加密,从而对层进行附加的保护。与可能需要大量计算的加密不同,模糊处理算法可以使计算简化。一些模糊处理技术可以包括但不限于字母模糊处理、名称模糊处理、数据模糊处理、控制流模糊处理等。字母模糊处理是用特定的替换字母代替数据中的一个或多个字母而使数据无意义的过程。字母模糊处理的示例包括字母旋转功能,其中,每个字母按照字母表沿着预定的位置量移位或旋转。另一示例是基于特定图案将字母重新排序或使字母杂乱。名称模糊处理是利用无意义字符串代替特定的目标字符串的过程。控制流模糊处理可以利用附加代码(插入死代码、插入不受控制的跳转、插入替换结构)改变程序中的控制流的顺序,以隐藏算法/AI模型的真实控制流。
总之,系统200为DP加速器(用于包括机器学习模型、训练数据和推理输出的数据传输)提供多层保护,以免丢失数据机密性和完整性。系统200可以包括基于TPM的安全启动保护层、TEE保护层和内核确认/验证层。此外,系统200可以通过确保主机上的其它应用程序是利用存储器安全编程语言实施的,来提供存储器安全用户空间,这可以通过消除潜在的存储器损坏/漏洞来进一步消除攻击。此外,系统200可以包括使用旁道自由算法来防御旁道攻击(诸如,基于高速缓存的旁道攻击)的应用程序。
最后,运行时间库可以提供模糊处理内核算法来对主机与DP加速器之间的数据通信进行模糊处理。在一个实施方式中,所述模糊处理可以与密码方案成对使用。在另一实施方式中,模糊处理是唯一的保护方案,并且使得DP加速器不需要基于密码的硬件。
图3是示出根据一个实施方式的与DP加速器通信的主机的示例的框图。参照图3,系统300可以包括与DP加速器105通信的主机104的TEE 201。DP加速器包括永久性或非永久性存储装置305。存储装置305可以包括用于模糊处理内核算法301的存储空间和用于其它数据(例如,AI模型、输入/输出数据302)的存储空间。主机104 的用户应用程序203可以建立与DP加速器105的模糊的通信信道(例如,经模糊处理和/或加密的)信道215。主机104可以通过生成模糊处理内核算法(作为内核运行时间库205的一部分)来建立模糊的通信信道。然后,主机104向DP加速器(例如,DP加速器105)发送用于DP加速器的模糊处理内核算法,以对通过通信信道215的任何数据包进行模糊或去模糊处理。在另一实施方式中,信道215上的来自主机104的输出通信数据包使用第一模糊处理算法,而信道上的来自主机104的输入数据使用不同于第一模糊处理算法的第二模糊处理算法。在另一实施方式中,当通信信道掉线或终止时,可以重新建立模糊处理算法,其中由主机104针对该通信信道生成当前模糊处理算法或新的模糊处理算法。在另一实施方式中,用于信道215的模糊处理算法/方案不同于用于主机104与其它DP加速器(例如,DP加速器 106至107)之间的其它信道的模糊处理方案。在一个实施方式中,主机104包括模糊处理接口,其存储用于DP加速器105至107的每个通信会话的模糊处理算法。尽管示出了主机104与DP加速器105之间的模糊通信,但是模糊通信(例如,模糊处理)可以被应用于其它通信信道,诸如客户端101至102与主机104之间的通信信道。
图4是示出根据一个实施方式的主机与DP加速器之间的模糊处理通信协议的示例的流程图。参照图4,可以由图1的系统100或图3 的系统300执行协议的操作400。在一个实施方式中,客户端装置(诸如客户端装置(例如,客户端/用户)101)向主机104发送AI模型推理/训练请求。该请求可以是针对资源或服务的请求(诸如,针对大数据分析、建模、机器学习/训练任务等的请求),其可以由主机104的一个或多个DP加速器来完成。在一个实施方式中,在操作401,主机 104准备模糊处理算法以建立模糊(例如,经模糊处理的)通信信道。模糊处理算法可以是任何类型的模糊处理算法,并且可以是对称的或非对称的。在操作402,主机104向DP加速器105发送模糊处理算法,以在主机104与DP加速器105之间建立模糊(例如,经模糊处理的) 的通信信道。然后,主机104利用模糊处理算法对有效负载(例如, AI模型和/或输入数据)进行模糊处理,并将经模糊处理的有效负载(例如,数据)发送到DP加速器105。在另一实施方式中,可以经由专用信道(例如,与数据分开)来发送模糊处理算法,该专用信道可以被加密或可以不被加密。在另一实施方式中,主机104在不与发送模糊处理算法相同的时刻发送经模糊处理的数据。
在操作403,一旦DP加速器105接收到模糊处理内核算法和经模糊处理的数据二者,DP加速器105便使用模糊处理算法来对经模糊处理的数据进行去模糊处理,以获得原本的数据,例如AI模型和/或输入数据(用于AI推理或训练)。在操作404,如果请求是AI推理请求,则DP加速器使用输入数据来运行AI模型,以生成推理输出。如果请求是训练请求,则DP加速器基于训练输入数据启动用于AI模型的训练会话。在操作405,DP加速器105使用模糊处理算法来对所生成的输出进行模糊处理。在操作406,DP将经模糊处理的输出返回到主机104。在操作407,主机104对经模糊处理的输出进行去模糊处理,以获得原本的输出。因此,主机104与DP加速器105之间的通信对入侵者/窃听者来说是遮挡的。
图5是示出根据一个实施方式的方法的示例的流程图。过程500 可以由处理逻辑来执行,所述处理逻辑可以包括软件、硬件或其组合。例如,过程500可以由DP加速器执行,例如图1的DP加速器105。参照图5,在框501,处理逻辑接收模糊处理内核算法,其中模糊处理内核算法被用于对与主机通信的数据进行模糊处理和去模糊处理。在框502,处理逻辑使用模糊处理内核算法来对从主机接收的、用于预测请求的经模糊处理的数据进行去模糊处理,以获得一个或多个AI 模型。在框503,处理逻辑通过将一个或多个AI模型应用于预测输入来生成预测结果。在框504,处理逻辑使用模糊处理内核算法来对预测结果进行模糊处理。在框505,处理逻辑将经模糊处理的预测结果发送到主机,其中主机通过对经模糊处理的预测结果进行去模糊处理来恢复预测结果。
在一个实施方式中,模糊处理内核算法由主机生成。在一个实施方式中,在与用于传送经模糊处理的数据的数据信道不同的专用通信信道上接收模糊处理内核算法。
在一个实施方式中,经模糊处理的数据包括训练输入数据,并且使用训练输入数据训练一个或多个AI模型。在一个实施方式中,模糊处理内核算法是对称算法,从而使用相同的算法进行去模糊处理和模糊处理。在一个实施方式中,模糊处理内核算法是基于名称的模糊处理算法。
在一个实施方式中,处理逻辑还从主机接收针对一个或多个AI 模型的请求;对所请求的一个或多个AI模型进行模糊处理;并且将经模糊处理的AI模型发送到主机,其中主机将通过对经模糊处理的AI 模型进行去模糊处理来恢复AI模型。
图6是示出根据一个实施方式的方法的示例的流程图。过程600 可以由处理逻辑来执行,所述处理逻辑可包括软件、硬件或其组合。例如,过程600可以由图1的主机104执行。参照图6,在框601,处理逻辑生成由数据处理(DP)加速器使用一个或多个人工智能(AI)模型来执行AI预测的预测请求,其中预测请求包括基于模糊处理内核算法来使所述一个或多个AI模型模糊的经模糊处理的数据。在框602,处理逻辑向DP加速器发送模糊处理内核算法和预测请求,其中使用模糊处理内核算法对经模糊处理的数据进行去模糊处理,以获得一个或多个AI模型来生成预测结果,其中DP加速器使用模糊处理内核算法对预测结果进行模糊处理。在框603,处理逻辑从DP加速器接收经模糊处理的预测结果。在框604,处理逻辑对经模糊处理的预测结果进行去模糊处理,以恢复预测结果。
在一个实施方式中,模糊处理内核算法由主机生成。在一个实施方式中,在与用于传送经模糊处理的数据的数据信道不同的专用通信信道上接收模糊处理内核算法。在一个实施方式中,经模糊处理的数据包括训练输入数据,并且使用训练输入数据训练一个或多个AI模型。在一个实施方式中,模糊处理内核算法是对称算法,从而使用相同的算法来进行去模糊处理和模糊处理。在另一实施方式中,模糊处理内核算法是基于名称的模糊处理算法。
在一个实施方式中,处理逻辑还生成恢复来自DP加速器的一个或多个AI模型的请求;向DP加速器发送请求;从DP加速器接收表示一个或多个AI模型的经模糊处理的数据;以及对经模糊处理的AI 模型进行去模糊处理以恢复AI模型。
图7是示出根据一个实施方式的与具有模糊处理单元的DP加速器通信的主机的示例的框图。参照图7,除了系统700还包括模糊处理单元701之外,系统700可以类似于图3的系统300。模糊处理单元701可以是专用硬件模块,其包括具有多个模糊处理算法的永久性或非永久性存储装置702。模糊处理算法可以在制造或准备阶段预先安装。在一个实施方式中,预先从主机104接收模糊处理算法。在一个实施方式中,模糊处理单元701包括一个或多个处理器703以执行模糊处理/去模糊处理功能。由于可以由模糊处理单元701作为专用处理来进行模糊处理,因而不需要DP加速器105的额外的处理资源。这在DP加速器105正在服务于客户端或者忙于执行训练而不能增添资源时是有用的。此外,因为模糊处理单元701包括模糊处理算法,所以用于通信会话的模糊处理算法可以从主机104传送到DP加速器,或者可以不从主机104传送到DP加速器。
在一个实施方式中,主机104包括由模糊处理单元701支持的相应模糊处理算法。在一个实施方式中,当主机104发送经模糊处理的数据时,主机104发送指示用于对数据进行模糊处理的相应模糊处理算法的指示符。指示符(或者选择器或模糊处理算法选择)可以预先从DP加速器105传送到主机104,其列出DP加速器105所支持的可用模糊处理算法。在一个实施方式中,用于模糊处理算法选择的指示符可以被加密或者可以不被加密。在另一实施方式中,选择器可以在与对数据进行模糊处理的数据信道分开的信道中被发送。
图8是示出根据一个实施方式的主机与DP加速器之间进行模糊通信的示例的流程图。参照图8,可以由图1的系统100或图7的系统700执行协议的操作800。在一个实施方式中,客户端装置(诸如,客户端装置101)向主机104发送AI模型推理/训练请求。该请求可以是针对资源或服务的请求(诸如,针对大数据分析、建模、机器学习/ 训练任务等的请求),其可以由一个或多个DP加速器来完成。然后,主机104与DP加速器105通信以履行该请求。在一个实施方式中,在操作801,为了确定DP加速器105的模糊处理单元所支持的可用模糊处理算法,主机104发送针对可用模糊处理算法的请求。在操作802, DP加速器105响应于该请求返回模糊处理算法选择器的列表。在一个实施方式中,操作801至802是可选的。在操作803,基于选择器的列表,主机104选择模糊处理算法之一,并使用模糊处理算法选择器对服务请求有效负载(例如,AI模型和/或输入数据)进行模糊处理以准备服务请求。在操作804,主机104将算法选择器连同服务请求和经模糊处理的数据一起发送到DP加速器105。在另一实施方式中,如果DP加速器105的模糊处理单元701包括默认选择器或者仅支持一种模糊处理算法,则算法选择器可以是可选参数,并且不必在主机104 与DP加速器105之间通信算法选择器。
在操作805,DP加速器105基于算法选择器对经模糊的数据进行去模糊处理,以获得AI模型和/或输入数据。在操作806,如果请求是训练请求,则DP加速器启动AI模型的训练会话。
在一个实施方式中,在操作807,一旦完成训练,DP加速器105 基于选择器对输出数据(例如,训练完成数据或所训练的AI模型)进行模糊处理。在操作808,DP加速器105将经模糊处理的输出数据返回到主机104。在操作809,主机104基于选择器对所述数据进行去模糊处理,以获得训练完成数据或所训练的AI模型。
图9是示出根据一个实施方式的方法的示例的流程图。过程900 可以由处理逻辑来执行,所述处理逻辑可包括软件、硬件或其组合。例如,过程900可以由DP加速器(例如,图7的DP加速器105)执行。参照图9,在框901,处理逻辑从主机接收训练请求,该训练请求包括经模糊处理的数据,经模糊处理的数据包括一个或多个AI模型和 /或训练输入数据。在框902,处理逻辑通过DP加速器的模糊处理单元对经模糊处理的数据进行去模糊处理,以获得一个或多个AI模型。在框903,处理逻辑基于训练输入数据训练一个或多个AI模型。
在一个实施方式中,处理逻辑还选择模糊处理单元所支持的多个模糊处理算法中的一个,并且由模糊处理单元的处理器来处理,以基于所选择的模糊处理算法来对经模糊处理的数据进行去模糊处理。在一个实施方式中,模糊处理单元的处理器与DP加速器的处理器分离,使得可以同时执行模糊处理算法与AI模型训练的执行。
在一个实施方式中,经模糊处理的数据包括训练输入数据,并且基于训练输入数据来训练AI模型。在一个实施方式中,模糊处理内核算法是对称算法,从而使用相同的算法来进行去模糊处理和模糊处理。在一个实施方式中,模糊处理内核算法是控制流模糊处理算法。
在一个实施方式中,处理逻辑还从主机接收针对一个或多个AI 模型的请求;通过所述模糊处理单元来对所请求的一个或多个AI模型进行模糊处理;并且将经模糊处理的AI模型发送到主机,其中主机通过对经模糊处理的AI模型进行去模糊处理来恢复AI模型。
图10是示出根据一个实施方式的方法的示例的流程图。过程1000 可以由处理逻辑来执行,所述处理逻辑可包括软件、硬件或其组合。例如,过程1000可以由图7的主机104执行。参照图10,在框1001,处理逻辑通过对一个或多个人工智能(AI)模型和/或训练输入数据进行模糊处理,来生成经模糊处理的数据。在框1002,处理逻辑生成由 DP加速器执行AI模型训练的训练请求,其中训练请求包括经模糊处理的数据。在框1003,处理逻辑将训练请求发送到DP加速器,其中 DP加速器的模糊处理单元应用模糊处理算法来获得一个或多个AI模型和/或训练输入数据,其中使用训练输入数据对一个或多个AI模型进行训练。
在一个实施方式中,处理逻辑还从DP加速器接收训练结果。在一个实施方式中,处理逻辑还选择作为由DP加速器的模糊处理单元所支持的多种模糊处理算法中的一种的模糊处理算法,其中模糊或去模糊处理由DP加速器的模糊处理单元的处理器使用所选择的模糊处理算法来执行。
在一个实施方式中,模糊处理单元的处理器与DP加速器的处理器分离,使得可以同时执行模糊处理算法与AI模型训练的执行。在一个实施方式中,模糊处理算法是对称算法,从而使用相同的算法来进行去模糊处理和模糊处理。在一个实施方式中,模糊处理内核算法是控制流模糊处理算法。
在一个实施方式中,处理逻辑还生成恢复来自DP加速器的一个或多个AI模型的请求;从DP加速器接收表示经模糊处理的一个或多个AI模型的经模糊处理的数据;接收DP加速器的模糊处理单元所支持的多个模糊处理算法中的一种模糊处理算法的指示;以及基于该指示对经模糊处理的AI模型进行去模糊处理,以恢复AI模型。
应注意,如上文示出和描述的部件中的一些或全部可以在软件、硬件或其组合中实施。例如,此类部件可以实施为安装并存储在永久性存储装置中的软件,所述软件可以通过处理器(未示出)加载在存储器中并在存储器中执行以实施本申请全文中所述的过程或操作。替代地,此类部件可以实施为编程或嵌入到专用硬件(诸如,集成电路 (例如,专用集成电路或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA))中的可执行代码,所述可执行代码可以经由来自应用的相应驱动器和/或操作系统来访问。此外,此类部件可以实施为处理器或处理器内核中的特定硬件逻辑,作为可由软件部件通过一个或多个特定指令访问的指令集的一部分。
图11是示出可以与本发明的一个实施方式一起使用的数据处理系统的示例的框图。例如,系统1500可以表示以上所述的执行上述过程或方法中的任一个的任何数据处理系统,例如,如上所述的主机104 或DP加速器105至107。
系统1500可包括许多不同的部件。这些部件可以实施为集成电路 (IC)、集成电路的部分、分立电子装置或适用于电路板(诸如,计算机系统的主板或插入卡)的其它模块或者实施为以其它方式并入计算机系统的机架内的部件。
还应注意,系统1500旨在示出计算机系统的许多部件的高阶视图。然而,应当理解的是,某些实现方式中可以具有附加的部件,此外,其它实现方式中可以呈现所示部件的不同布置。系统1500可以表示台式计算机、膝上型计算机、平板计算机、服务器、移动电话、媒体播放器、个人数字助理(PDA)、智能手表、个人通信器、游戏装置、网络路由器或集线器、无线接入点(AP)或中继器、机顶盒或其组合。此外,虽然仅示出单个机器或系统,但是术语“机器”或“系统”还应当被理解为包括单独地或共同地执行一个(或多个)指令集以执行本文所讨论的方法中的任何一种或多种的机器或系统的任何集合。
在一个实施方式中,系统1500包括经由总线或互连件1510连接的处理器1501、存储器1503以及装置1505至1508。处理器1501可以表示其中包括单个处理器内核或多个处理器内核的单个处理器或多个处理器。处理器1501可以表示一个或多个通用处理器,诸如,微处理器、中央处理单元(CPU)等。更具体地,处理器1501可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实施其它指令集的处理器、或实施指令集组合的处理器。处理器1501还可以是一个或多个专用处理器,诸如,专用集成电路(ASIC)、蜂窝或基带处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、网络处理器、通信处理器、加密处理器、协作处理器、嵌入式处理器、或者能够处理指令的任何其它类型的逻辑。
处理器1501(其可以是低功率多核处理器插槽,诸如超低电压处理器)可以用作用于与所述系统的各种部件通信的主处理单元和中央集线器。这种处理器可以实施为片上系统(SoC)。处理器1501配置成执行用于执行本文所讨论的操作和步骤的指令。系统1500还可包括与可选的图形子系统1504通信的图形接口,图形子系统1504可包括显示控制器、图形处理器和/或显示装置。
处理器1501可以与存储器1503通信,在一个实施方式中,存储器1503可以通过多个存储器装置实现以提供给定量的系统存储。存储器1503可包括一个或多个易失性存储(或存储器)装置,诸如,随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或者其它类型的存储装置。存储器1503可以存储包括由处理器1501或任何其它装置执行的指令序列的信息。例如,各种操作系统、装置驱动器、固件(例如,输入输出基本系统或BIOS) 和/或应用的可执行代码和/或数据可以加载到存储器1503中并由处理器1501执行。操作系统可以是任何类型的操作系统,例如,
Figure BDA0002400941320000181
公司的
Figure BDA0002400941320000182
操作系统、苹果公司的Mac
Figure BDA0002400941320000183
公司的
Figure BDA0002400941320000184
或者诸如VxWorks的其它实时或嵌入式操作系统。
系统1500还可包括IO装置,诸如装置1505至1508,IO装置包括网络接口装置1505、可选的输入装置1506,以及其它可选的IO装置1507。网络接口装置1505可包括无线收发器和/或网络接口卡 (NIC)。无线收发器可以是WiFi收发器、红外收发器、蓝牙收发器、 WiMax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位系统(GPS)收发器)或其它射频(RF)收发器或者它们的组合。NIC 可以是以太网卡。
输入装置1506可包括鼠标、触摸板、触敏屏幕(其可以与显示装置1504集成在一起)、指针装置(诸如,手写笔)和/或键盘(例如,物理键盘或作为触敏屏幕的一部分显示的虚拟键盘)。例如,输入装置 1506可包括联接到触摸屏的触摸屏控制器。触摸屏和触摸屏控制器例如可以使用多种触敏技术(包括但不限于电容、电阻、红外和表面声波技术)中的任一种以及其它接近传感器阵列或用于确定与触摸屏接触的一个或多个点的其它元件来检测其接触和移动或间断。
IO装置1507可包括音频装置。音频装置可包括扬声器和/或麦克风,以促进支持语音的功能,诸如语音识别、语音复制、数字记录和/ 或电话功能。其它IO装置1507还可包括通用串行总线(USB)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如,PCI-PCI桥)、传感器(例如,诸如加速度计的运动传感器、陀螺仪、磁强计、光传感器、罗盘、接近传感器等)或者它们的组合。装置1507还可包括成像处理子系统(例如,相机),所述成像处理子系统可包括用于实现相机功能(诸如,记录照片和视频片段)的光学传感器,诸如电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。某些传感器可以经由传感器集线器(未示出)联接到互连件1510,而诸如键盘或热传感器的其它装置可以根据系统1500的具体配置或设计由嵌入式控制器(未示出)控制。
为了提供对诸如数据、应用、一个或多个操作系统等信息的永久性存储,大容量存储装置(未示出)也可以联接到处理器1501。在各种实施方式中,为了实现更薄且更轻的系统设计并且为了改进系统响应性,这种大容量存储装置可以经由固态装置(SSD)来实现。然而,在其它实施方式中,大容量存储装置可以主要使用硬盘驱动器(HDD) 来实现,其中较小量的SSD存储装置充当SSD高速缓存以在断电事件期间实现上下文状态以及其它此类信息的非易失性存储,从而使得在系统活动重新启动时能够实现快速通电。另外,闪存装置可以例如经由串行外围接口(SPI)联接到处理器1501。这种闪存装置可以提供系统软件的非易失性存储,所述系统软件包括所述系统的基础输入/ 输出软件(BIOS)以及其它固件。
存储装置1508可包括计算机可访问的存储介质1509(也被称为机器可读存储介质或计算机可读介质),其上存储有体现本文所述的任何一种或多种方法或功能的一个或多个指令集或软件(例如,模块、单元和/或逻辑1528)。处理模块/单元/逻辑1528可以表示上述部件中的任一个,例如,如上所述的图1的主机104或者图3或图7的DP 加速器105。处理模块/单元/逻辑1528还可以在其由数据处理系统 1500、存储器1503和处理器1501执行期间完全地或至少部分地驻留在存储器1503内和/或处理器1501内,数据处理系统1500、存储器1503和处理器1501也构成机器可访问的存储介质。处理模块/单元/ 逻辑1528还可以通过网络经由网络接口装置1505进行传输或接收。
计算机可读存储介质1509也可以用来永久性地存储以上描述的一些软件功能。虽然计算机可读存储介质1509在示例性实施方式中被示为单个介质,但是术语“计算机可读存储介质”应当被认为包括存储所述一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应当被认为包括能够存储或编码指令集的任何介质,所述指令集用于由机器执行并且使得所述机器执行本发明的任何一种或多种方法。因此,术语“计算机可读存储介质”应当被认为包括但不限于固态存储器以及光学介质和磁性介质,或者任何其它非暂时性机器可读介质。
本文所述的处理模块/单元/逻辑1528、部件以及其它特征可以实施为分立硬件部件或集成在硬件部件(诸如,ASICS、FPGA、DSP或相似装置)的功能中。此外,处理模块/单元/逻辑1528可以实施为硬件装置内的固件或功能电路。此外,处理模块/单元/逻辑1528可以以硬件装置和软件部件的任何组合来实施。
应注意,虽然系统1500被示出为具有数据处理系统的各种部件,但是并不旨在表示使部件互连的任何特定架构或方式;因为此类细节和本发明的实施方式没有密切关系。还应当认识到,具有更少部件或可能具有更多部件的网络计算机、手持计算机、移动电话、服务器和/ 或其它数据处理系统也可以与本发明的实施方式一起使用。
前述详细描述中的一些部分已经根据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方式,以将他们的工作实质最有效地传达给本领域中的其他技术人员。本文中,算法通常被认为是导致所期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。
然而,应当牢记,所有这些和相似的术语均旨在与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非在以上讨论中以其它方式明确地指出,否则应当了解,在整个说明书中,利用术语(诸如所附权利要求书中所阐述的术语)进行的讨论是指计算机系统或相似电子计算装置的动作和处理,所述计算机系统或电子计算装置操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据,并将所述数据变换成计算机系统存储器或寄存器或者其它此类信息存储设备、传输或显示装置内相似地表示为物理量的其它数据。
图中所示的技术可以使用在一个或多个电子装置上存储并运行的代码和数据来实现。这种电子装置使用计算机可读介质,诸如非暂时性计算机可读存储介质(例如磁盘;光盘;随机存取存储器;只读存储器;闪速存储器装置;相变存储器)和暂时性计算机可读传输介质(例如,电、光、声或其它形式的传播信号(诸如载波、红外信号、数字信号)),来存储并传输(内部地传输和/或通过网络与其它电子装置传输)代码和数据。
前述附图中所描绘的过程或方法可以由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、固件、软件(例如,体现在非暂时性计算机可读介质上)或它们的组合。尽管所述过程或方法在上文是依据一些顺序操作来描述的,但是应当了解,所述操作中的一些可以按不同的顺序执行。此外,一些操作可以并行地执行而不是顺序地执行。
在以上的说明书中,已经参考本发明的具体示例性实施方式对本发明的实施方式进行了描述。将显而易见的是,在不脱离所附权利要求书中阐述的本发明的更宽泛精神和范围的情况下,可以对本发明作出各种修改。因此,应当在说明性意义而不是限制性意义上来理解本说明书和附图。

Claims (20)

1.对数据进行去模糊处理的方法,所述方法包括:
由数据处理加速器通过链路从主机接收训练请求,所述训练请求包括经模糊处理的数据,所述经模糊处理的数据包括一个或多个人工智能模型和/或训练输入数据;
通过所述数据处理加速器的模糊处理单元对所述经模糊处理的数据进行去模糊处理,以获得所述一个或多个人工智能模型;以及
基于所述训练输入数据来训练所述一个或多个人工智能模型。
2.根据权利要求1所述的方法,还包括:
选择所述模糊处理单元支持的多个模糊处理算法中的一个;以及
由所述模糊处理单元的处理器基于所选择的模糊处理算法对经模糊处理的数据进行去模糊处理。
3.根据权利要求2所述的方法,其中,所述模糊处理单元的处理器与所述数据处理加速器的处理器分离,使得能够在执行人工智能模型训练的同时执行模糊处理算法。
4.根据权利要求1所述的方法,其中,所述经模糊处理的数据包括训练输入数据,并且基于所述训练输入数据来训练所述人工智能模型。
5.根据权利要求2所述的方法,其中,所述模糊处理算法是对称算法,从而使用相同的算法来进行所述去模糊处理和模糊处理。
6.根据权利要求2所述的方法,其中,所述模糊处理算法是控制流模糊处理算法。
7.根据权利要求1所述的方法,还包括:
从所述主机接收针对一个或多个人工智能模型的请求;
通过所述模糊处理单元对所请求的一个或多个AI模型进行模糊处理;以及
将经模糊处理的人工智能模型发送到所述主机,其中,所述主机通过对所述经模糊处理的人工智能模型进行去模糊处理来恢复所述人工智能模型。
8.对数据进行模糊处理的方法,所述方法包括:
由主机通过对一个或多个人工智能模型和/或训练输入数据进行模糊处理,来生成经模糊处理的数据;
生成由数据处理加速器执行人工智能模型训练的训练请求,其中,所述训练请求包括所述经模糊处理的数据;以及
向所述数据处理加速器发送所述训练请求,其中,所述数据处理加速器的模糊处理单元应用模糊处理算法以获得所述一个或多个人工智能模型和/或所述训练输入数据,其中,使用所述训练输入数据来训练所述一个或多个人工智能模型。
9.根据权利要求8所述的方法,还包括从所述数据处理加速器接收训练结果。
10.根据权利要求8所述的方法,还包括选择所述模糊处理算法,所述模糊处理算法是所述数据处理加速器的模糊处理单元支持的多个模糊处理算法中的一个,其中,所述数据处理加速器的模糊处理单元的处理器使用所选择的模糊处理算法来进行模糊处理或去模糊处理。
11.根据权利要求8所述的方法,其中,所述模糊处理单元的处理器与所述DP加速器的处理器分离,使得能够在执行人工智能模型训练的同时执行模糊处理算法。
12.根据权利要求8所述的方法,其中,所述模糊处理算法是对称算法,从而使用相同的算法来进行所述去模糊处理和所述模糊处理。
13.根据权利要求8所述的方法,其中,所述模糊处理算法是控制流模糊处理算法。
14.根据权利要求8所述的方法,还包括:
生成恢复来自所述数据处理加速器的一个或多个人工智能模型的请求;
从所述数据处理加速器接收表示经模糊处理的一个或多个人工智能模型的经模糊处理的数据;
接收用于所述数据处理加速器的模糊处理单元支持的多个模糊处理算法中的一种模糊处理算法的指示;以及
基于所述指示对所述经模糊处理的人工智能模型进行去模糊处理,以恢复所述人工智能模型。
15.其中存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时使得所述处理器执行以下操作,所述操作包括:
由数据处理加速器通过链路从主机接收训练请求,所述训练请求包括经模糊处理的数据,所述经模糊处理的数据包括一个或多个人工智能模型和/或训练输入数据;
通过所述数据处理加速器的模糊处理单元对所述经模糊处理的数据进行去模糊处理,以获得所述一个或多个人工智能模型;以及
基于所述训练输入数据来训练所述一个或多个人工智能模型。
16.根据权利要求15所述的非暂时性机器可读介质,其中,所述操作还包括:
选择所述模糊处理单元支持的多个模糊处理算法中的一个;以及
通过所述模糊处理单元的处理器基于所选择的模糊处理算法对经模糊处理的数据进行去模糊处理。
17.根据权利要求16所述的非暂时性机器可读介质,其中,所述模糊处理单元的处理器与所述数据处理加速器的处理器分离,使得能够在执行人工智能模型训练的同时执行模糊处理算法。
18.根据权利要求15所述的非暂时性机器可读介质,其中,所述经模糊处理的数据包括训练输入数据,并且基于所述训练输入数据来训练所述人工智能模型。
19.根据权利要求16所述的非暂时性机器可读介质,其中,所述模糊处理算法是对称算法,从而使用相同的算法来进行去模糊处理和模糊处理。
20.根据权利要求16所述的非暂时性机器可读介质,其中,所述模糊处理算法是控制流模糊处理算法。
CN202010146546.3A 2019-09-11 2020-03-05 用于数据处理(dp)加速器的使用模糊处理单元进行模糊处理的数据传输 Active CN112487441B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/568,143 2019-09-11
US16/568,143 US20210073041A1 (en) 2019-09-11 2019-09-11 Data transmission with obfuscation using an obfuscation unit for a data processing (dp) accelerator

Publications (2)

Publication Number Publication Date
CN112487441A true CN112487441A (zh) 2021-03-12
CN112487441B CN112487441B (zh) 2024-04-09

Family

ID=69770734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010146546.3A Active CN112487441B (zh) 2019-09-11 2020-03-05 用于数据处理(dp)加速器的使用模糊处理单元进行模糊处理的数据传输

Country Status (5)

Country Link
US (1) US20210073041A1 (zh)
EP (1) EP3793162B1 (zh)
JP (1) JP2021043432A (zh)
KR (2) KR20210031360A (zh)
CN (1) CN112487441B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180241760A1 (en) * 2017-02-21 2018-08-23 Sanctum Solutions Inc. Network data obfuscation
US20190044918A1 (en) * 2018-03-30 2019-02-07 Intel Corporation Ai model and data camouflaging techniques for cloud edge

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694025B1 (en) * 1999-06-02 2004-02-17 Koninklijke Philips Electronics N.V. Method and apparatus for secure distribution of public/private key pairs
JP2004180318A (ja) * 2002-11-26 2004-06-24 Matsushita Electric Ind Co Ltd データの暗号化又は解読方法及びデータの暗号化又は解読装置
JP2009031895A (ja) * 2007-07-25 2009-02-12 Sony Corp 認証システム、サーバ装置、端末装置及びプログラム
JP2011524049A (ja) 2008-06-04 2011-08-25 エヌイーシー ラボラトリーズ アメリカ インク 超並列アクセラレータを使用して学習機械の訓練と分類とを並列化し高速化するシステム及び方法
KR101600016B1 (ko) 2014-12-10 2016-03-15 서울대학교기술지주 주식회사 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치
US20160358099A1 (en) * 2015-06-04 2016-12-08 The Boeing Company Advanced analytical infrastructure for machine learning
EP3273380B1 (en) * 2016-07-20 2018-12-12 Siemens Healthcare GmbH Protecting data exchanged between a service user and a service provider
EP3367309A1 (en) * 2017-02-28 2018-08-29 Fujitsu Limited Method and apparatus to distribute memory requirements of deep neural networks
US10838902B2 (en) * 2017-06-23 2020-11-17 Facebook, Inc. Apparatus, system, and method for performing hardware acceleration via expansion cards
US10839091B2 (en) * 2017-12-05 2020-11-17 International Business Machines Corporation Protection of data privacy for cognitive demand forecasting
US11588796B2 (en) * 2019-09-11 2023-02-21 Baidu Usa Llc Data transmission with obfuscation for a data processing (DP) accelerator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180241760A1 (en) * 2017-02-21 2018-08-23 Sanctum Solutions Inc. Network data obfuscation
US20190044918A1 (en) * 2018-03-30 2019-02-07 Intel Corporation Ai model and data camouflaging techniques for cloud edge

Also Published As

Publication number Publication date
KR102565414B1 (ko) 2023-08-08
EP3793162B1 (en) 2023-05-10
CN112487441B (zh) 2024-04-09
EP3793162A1 (en) 2021-03-17
KR20230088877A (ko) 2023-06-20
KR20210031360A (ko) 2021-03-19
US20210073041A1 (en) 2021-03-11
JP2021043432A (ja) 2021-03-18

Similar Documents

Publication Publication Date Title
JP7196132B2 (ja) データプロセッシング(dp)アクセラレータのための難読化を用いたデータ伝送
US11210136B2 (en) Systems and methods for an operating system module for a data processing accelerator
CN112953855A (zh) 将消息广播给加速器的系统和方法
CN112948139B (zh) 使用交换机向加速器安全地广播消息的系统和方法
KR102363080B1 (ko) 우회-불가능한 게이트웨이를 이용한 tpm-기반의 안전한 다자간 컴퓨팅 시스템
US11574032B2 (en) Systems and methods for signing an AI model with a watermark for a data processing accelerator
CN112650982B (zh) 数据处理加速器及由数据处理加速器执行的计算机实现的方法
CN112953886B (zh) 使用具有交换机的虚拟信道向加速器安全地广播消息的系统和方法
US11579928B2 (en) Systems and methods for configuring a watermark unit with watermark algorithms for a data processing accelerator
US11481678B2 (en) Systems and methods for learning new watermark algorithms for a data processing accelerator
US11582260B2 (en) Systems and methods for verifying a watermark of an AI model for a data processing accelerator
US11775347B2 (en) Method for implanting a watermark in a trained artificial intelligence model for a data processing accelerator
CN112487441B (zh) 用于数据处理(dp)加速器的使用模糊处理单元进行模糊处理的数据传输
US11709712B2 (en) Method and system for artificial intelligence model training using a watermark-enabled kernel for a data processing accelerator
US11645116B2 (en) Method and system for making an artificial intelligence inference using a watermark-enabled kernel for a data processing accelerator
US11645586B2 (en) Watermark unit for a data processing accelerator
CN112650987B (zh) 使用内核签名人工智能水印的方法和系统
CN112650983B (zh) 数据处理加速器及由数据处理加速器执行的计算机实现的方法
CN112650981B (zh) 数据处理加速器及由数据处理加速器执行的计算机实现的方法
US11740940B2 (en) Method and system for making an artifical intelligence inference using a watermark-inherited kernel for a data processing accelerator

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
TA01 Transfer of patent application right

Effective date of registration: 20211008

Address after: California, USA

Applicant after: Baidu (USA) Co.,Ltd.

Applicant after: Kunlun core (Beijing) Technology Co.,Ltd.

Address before: California, USA

Applicant before: Baidu (USA) Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant