CN112749780B - 数据的处理方法、装置及设备 - Google Patents
数据的处理方法、装置及设备 Download PDFInfo
- Publication number
- CN112749780B CN112749780B CN201911051316.2A CN201911051316A CN112749780B CN 112749780 B CN112749780 B CN 112749780B CN 201911051316 A CN201911051316 A CN 201911051316A CN 112749780 B CN112749780 B CN 112749780B
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- processed
- node
- processing
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 225
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000010801 machine learning Methods 0.000 claims description 39
- 238000000547 structure data Methods 0.000 claims description 18
- 238000010586 diagram Methods 0.000 description 19
- 238000004590 computer program Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种数据的处理方法、装置及设备。方法包括:获取待处理数据;确定与待处理数据相对应的至少一个操作节点;对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据。本实施例提供的技术方案,通过获取待处理数据,确定与待处理数据相对应的至少一个操作节点,并对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据,有效地实现了将待处理数据加密混淆处理为目标数据,此时,在将目标数据发送给用户或者部署在用户端的本地环境时,不会让使用者或者其他攻击者轻易识别出待处理数据,实现了对待处理数据的有效保护,增加了对待处理数据进行窃取的难度,保证了待处理数据使用的安全可靠性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据的处理方法、装置及设备。
背景技术
机器学习模型是一个团队花费了大量人力物力得到的最宝贵的智力成果。但在某些特定业务场景下,需要将模型私有化部署到客户本地环境中,这可能引发一系列的安全问题。一般情况下,机器学习模型有两部分内容需要保护,一是模型结构,另一个是模型数据,如果模型结构得不到有效保护,就容易被攻击者窃取,并基于窃取的模型结构,攻击者可以采取更多的手段去窃取模型数据,最终容易导致模型泄露。
发明内容
本发明实施例提供了一种数据的处理方法、装置及设备,能够对数据的结构进行有效保护,增加了对数据结构进行窃取的难度,保证了数据使用的安全可靠性。
第一方面,本发明实施例提供一种数据的处理方法,包括:
获取待处理数据;
确定与所述待处理数据相对应的至少一个操作节点;
对至少一个所述操作节点进行加密处理,获得与所述待处理数据相对应的目标数据。
第二方面,本发明实施例提供一种数据的处理装置,包括:
第一获取模块,用于获取待处理数据;
第一确定模块,用于确定与所述待处理数据相对应的至少一个操作节点;
第一处理模块,用于对至少一个所述操作节点进行加密处理,获得与所述待处理数据相对应的目标数据。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面中的数据的处理方法。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第一方面中的数据的处理方法。
第五方面,本发明实施例提供了一种数据的处理方法,包括:
获取待处理数据;
确定与所述待处理数据相对应的至少一个加密节点以及与所述加密节点相对应的至少一个加密算法;
根据至少一个所述加密算法确定与至少一个所述加密节点相对应的至少一个加密运行信息;
根据至少一个所述加密运行信息生成与所述待处理数据相对应的数据运行框架。
第六方面,本发明实施例提供了一种数据的处理装置,包括:
第二获取模块,用于获取待处理数据;
第二确定模块,用于确定与所述待处理数据相对应的至少一个加密节点以及与所述加密节点相对应的至少一个加密算法;
所述第二确定模块,还用于根据至少一个所述加密算法确定与至少一个所述加密节点相对应的至少一个加密运行信息;
第二处理模块,用于根据至少一个所述加密运行信息生成与所述待处理数据相对应的数据运行框架。
第七方面,本发明实施例提供了一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第五方面中的数据的处理方法。
第八方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第五方面中的数据的处理方法。
第九方面,本发明实施例提供了一种数据的处理方法,包括:
获取待处理数据以及与所述待处理数据相对应的数据运行框架;
确定与所述待处理数据相对应的至少一个加密节点以及与至少一个所述加密节点相对应的至少一个加密运行信息;
利用所述数据运行框架、加密运行信息运行所述待处理数据和加密节点,获得与所述待处理数据相对应的数据处理结果。
第十方面,本发明实施例提供了一种数据的混淆装置,包括:
第三获取模块,用于获取待处理数据以及与所述待处理数据相对应的数据运行框架;
第三确定模块,用于确定与所述待处理数据相对应的至少一个加密节点以及与至少一个所述加密节点相对应的至少一个加密运行信息;
第三处理模块,用于利用所述数据运行框架、加密运行信息运行所述待处理数据和加密节点,获得与所述待处理数据相对应的数据处理结果。
第十一方面,本发明实施例提供了一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第九方面中的数据的处理方法。
第十二方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第九方面中的数据的处理方法。
本实施例提供的数据的处理方法、装置及设备,通过获取待处理数据,确定与所述待处理数据相对应的至少一个操作节点,并对至少一个所述操作节点进行加密处理,获得与所述待处理数据相对应的目标数据,有效地实现了将待处理数据加密混淆处理为目标数据,此时,在将目标数据发送给用户或者部署在用户端的本地环境时,不会让使用者或者其他攻击者轻易识别出待处理数据,实现了对待处理数据的有效保护,增加了对待处理数据进行窃取的难度,保证了待处理数据使用的安全可靠性,进而提高了该方法的实用性,有利于市场的推广与应用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据的处理方法的流程图;
图2为本发明实施例提供的与机器学习模型相对应的图结构数据的示意图;
图3为本发明实施例提供的确定与所述待处理数据相对应的至少一个操作节点的流程图;
图4为本发明实施例提供的对至少一个所述操作节点进行加密处理,获得与所述待处理数据相对应的目标数据的流程图;
图5为本发明实施例提供的利用至少一个所述加密算法对至少一个所述操作节点进行加密处理,获得与所述待处理数据相对应的目标数据的流程图;
图6为本发明实施例提供的另一种数据的处理方法的流程图;
图7为本发明实施例提供的确定与所述待处理数据相对应的至少一个加密节点以及与所述加密节点相对应的至少一个加密算法的流程图;
图8为本发明实施例提供的又一种数据的处理方法的流程图;
图9为本发明实施例提供的确定与所述待处理数据相对应的至少一个加密节点的流程图;
图10为本发明实施例提供的利用所述数据运行框架、加密运行信息运行所述待处理数据和加密节点,获得与所述待处理数据相对应的数据处理结果的流程图;
图11为本发明实施例提供的基于所述数据运行框架和加密运行信息运行所述加密节点,获得节点处理结果的流程图;
图12a为本发明应用实施例提供的一种数据的处理方法的示意图一;
图12b为本发明应用实施例提供的一种数据的处理方法的示意图二;
图13为本发明应用实施例提供的一种数据的处理方法的流程图;
图14为本发明实施例提供的一种数据的处理装置的结构示意图;
图15为与图14所示实施例提供的数据的处理装置对应的电子设备的结构示意图;
图16为本发明实施例提供的另一种数据的处理装置的结构示意图;
图17为与图16所示实施例提供的数据的处理装置对应的电子设备的结构示意图;
图18为本发明实施例提供的又一种数据的处理装置的结构示意图;
图19为与图18所示实施例提供的数据的处理装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
为了便于理解本申请的技术方案,下面对现有技术进行简要说明:
机器学习模型是一个团队花费了大量人力物力得到的最宝贵的智力成果。但在某些特定业务场景下,需要将模型私有化部署到客户本地环境中,这可能引发一系列的安全问题。现有技术中,主流机器学习模型的格式和推理框架(如TensorFlow、Caffe等)都是公开的,这就给攻击者或竞争对手提供了天然便利。攻击者或竞争对手可以通过客户本地机器将深度学习模型文件窃取,然后分析破解模型的结构以及相关的参数,最后基于窃取的模型训练出一个精确度更高的模型去获利。
针对上述情况,现有技术中提供的解决方法一般是对机器学习模型进行整体加密处理,在使用的时候再对其进行解密。但是,这样的方式很容易被攻击者通过内存备份文件系统dump将模型结构窃取,进而存在保护强度非常弱,很容易被破解的缺陷。
下面结合附图,对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图1为本发明实施例提供的一种数据的处理方法的流程图;参考附图1所示,本实施例提供了一种数据的处理方法,该处理方法的执行主体是数据的处理装置,可以理解的是,该处理装置可以实现为软件、或者软件和硬件的组合。在处理装置执行该处理方法时,可以对待处理数据进行加密混淆处理,从而可以获得用于发送至客户端的目标数据。具体的,该数据的处理方法可以包括:
S101:获取待处理数据。
其中,待处理数据可以包括与机器学习模型相对应的图结构数据,可以理解的是,不同的机器学习模型对应有不同的图结构数据,如图2所示,提供了一种机器学习模型的图结构,包括:输入节点placeholder、卷积层计算节点conv2D、第一矩阵相加节点relu、第一数据池化层maxpool、第二矩阵相加节点biasAdd、第二数据池化层avgpoll、连接层concat、归一化softmax等等,具体的,placeholder用于输入参数,conv2D用于对输入参数进行分析计算,relu节点和biasAdd用于实现对分析计算后的数据进行矩阵相加处理,maxpool用于对relu节点处理后的最大数据进行池化存储,avgpoll用于对biasAdd节点处理后的平均数据进行池化存储;concat节点用于对池化存储的最大数据和平均数据进行融合处理,softmax节点用于对处理结果进行归一化处理。当然的,本领域技术人员也可以将机器学习模型的图结构根据具体的应用需求和应用场景设置为其他的图结构,在此不再赘述。
需要注意的是,待处理数据可以是指与机器学习模型相对应的图结构数据,也可以是指其他类型的数据,例如,待处理数据可以是某产品或者某系统所对应的框架结构数据、图表数据等等,本领域技术人员可以根据具体的应用场景和应用需求进行设置,在此不再赘述。
另外,本实施例对于获取待处理数据的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,例如:可以通过访问某一预设区域/预设装置来获取待处理数据;或者,可以接收其他装置发送的待处理数据;或者,可以直接接收用户上传或者配置的待处理数据等等,只要能够保证待处理数据获取的稳定可靠性即可,在此不再赘述。
S102:确定与待处理数据相对应的至少一个操作节点。
在获取到待处理数据之后,可以对待处理数据进行分析处理,从而可以确定与待处理数据相对应的至少一个操作节点,可以理解的是,待处理数据中包括多个操作节点,对于操作节点而言,可以根据设计需求和应用需求将操作节点划分为需要进行加密处理的操作节点和不需要进行加密处理的操作节点,此时,为了提高数据处理的质量和效率,可以确定与待处理数据相对应的进行加密处理的至少一个操作节点,以对所确定的操作节点进行加密操作,实现对待处理数据的混淆处理。具体的,参考附图3所示,本实施例中的确定与待处理数据相对应的至少一个操作节点可以包括:
S1021:获取待处理数据包括的所有操作节点。
S1022:根据预设配置参数遍历所有操作节点,确定与待处理数据相对应的至少一个操作节点,其中,预设配置参数与待处理数据中待保护的操作节点相对应。
其中,不同的待处理数据可以对应有不同的操作节点,因此,在获取到待处理数据之后,可以对待处理数据进行分析识别,从而可以获得待处理数据包括的所有操作节点,而所有操作节点中可以包括需要进行保护的操作节点和不需要进行保护的操作节点。因此,在获取到所有操作节点之后,可以获取预设配置参数,该预设配置参数与待处理数据中待保护的操作节点相对应,也即,预设配置参数中包括有与待保护的操作节点相对应的节点标识,因此,根据预设配置参数对所有操作节点进行遍历识别,从而可以确定与待处理数据相对应的至少一个操作节点,上述所确定的至少一个操作节点即为与待处理数据相对应的需要进行保护的操作节点,在确定至少一个操作节点之后,可以对上述的操作节点进行加密混淆处理,进而实现了对待处理数据中包括的需要进行保护、防止被窃取的数据部分进行混淆处理,提高了数据使用的安全可靠性。
通过获取待处理数据包括的所有操作节点,根据预设配置参数遍历所有操作节点,确定与待处理数据相对应的至少一个操作节点,实现方式简单、可靠,数据处理效率高,并且还保证了对操作节点进行确定的准确可靠性,有效地提高了该方法使用的安全可靠性。
需要注意的是,在确定与待处理数据相对应的至少一个操作节点时,还存在另一种可实现的方式,即:获取用户针对待处理数据输入的执行操作;根据执行操作确定与待处理数据相对应的至少一个操作节点。
具体的,待处理数据中包括多个操作节点,对于操作节点而言,若用户想要针对某个操作节点执行加密保护操作,用户可以针对该操作节点输入执行操作,该执行操作可以为点选操作、滑动操作等等;在获取到用户针对操作节点输入的执行操作之后,可以根据执行操作将该操作节点确定为与待处理数据相对应的至少一个操作节点,实现了通过用户的交互操作来确定需要进行加密保护的操作节点,使得所确定的操作节点可以满足用户的需求,进一步保证了对与待处理数据相对应的至少一个操作节点进行确定的准确可靠性。
S103:对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据。
在获取到至少一个操作节点之后,可以对至少一个操作节点进行加密处理,从而可以获得与待处理数据相对应的目标数据,其中,目标数据中包括有进行加密处理后的加密操作节点。举例来说:待处理数据所对应的至少一个操作节点包括:操作节点A、操作节点B和操作节点C,在获取到上述操作节点之后,可以利用预设的第一加密算法对操作节点A、操作节点B和操作节点C进行加密处理,从而可以获得加密操作节点A`、加密操作节点B`和加密操作节点C`,根据上述的加密操作节点A`、加密操作节点B`、加密操作节点C`和待处理数据中的其他操作节点即可确定与待处理数据相对应的目标数据。
需要注意的是,在对操作节点A、操作节点B和操作节点C进行加密处理时,操作节点A、操作节点B和操作节点C所对应的加密算法可以相同或不同,也即,可以利用预设的第一加密算法对操作节点A进行加密处理,利用预设的第二加密算法对操作节点B进行加密处理,利用预设的第三加密算法对操作节点C进行加密处理,或者,可以预设的第一加密算法对操作节点A和操作节点B进行加密处理,利用预设的第二加密算法对操作节点C进行加密处理等等,本领域技术人员可以根据具体的应用需求和设计需求进行设置,只要能够实现对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据即可,在此不再赘述。
本实施例提供的数据的处理方法,通过获取待处理数据,确定与待处理数据相对应的至少一个操作节点,并对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据,有效地实现了将待处理数据加密混淆处理为目标数据,此时,在将目标数据发送给用户或者部署在用户端的本地环境时,不会让使用者或者其他攻击者轻易识别出待处理数据,实现了对待处理数据的有效保护,增加了对待处理数据进行窃取的难度,保证了待处理数据使用的安全可靠性,进而提高了该方法的实用性,有利于市场的推广与应用。
图4为本发明实施例提供的对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据的流程图;在上述实施例的基础上,继续参考附图4所示,本实施例中对于对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,较为优选的,本实施例中的对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据可以包括:
S1031:确定与至少一个操作节点相对应的至少一个加密算法。
其中,不同的操作节点可以对应有不同的加密算法,因此,对于至少一个操作节点而言,可以对应有至少一个加密算法。具体应用时,本实施例对于确定与至少一个操作节点相对应的至少一个加密算法的具体实现方式不做限定,例如:可以预先设置有多个加密算法,在多个加密算法中可以随机选择一个加密算法作为一操作节点所对应的加密算法;或者,可以获得操作节点所对应的加密特征,在多个加密算法中,将与加密特征相匹配的加密算法确定为与操作节点相对应的至少一个加密算法。当然的,本领域技术人员还可以根据具体的应用需求和设计需求采用其他的方式来确定与操作节点相对应的加密算法,只要能够保证对与至少一个操作节点相对应的至少一个加密算法进行确定的稳定可靠性即可,在此不再赘述。
S1032:利用至少一个加密算法对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据。
在获取到与操作节点相对应的加密算法之后,可以利用加密算法对操作节点进行加密处理,可以获取到加密操作节点,而后可以根据加密操作节点获得与待处理数据相对应的目标数据。具体的,本实施例对于利用至少一个加密算法对至少一个操作节点进行加密处理的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,较为优选的,参考附图5所示,本实施例中的利用至少一个加密算法对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据可以包括:
S10321:获取与操作节点相对应的节点参数。
S10322:利用与操作节点相对应的加密算法对节点参数进行加密处理,获得与待处理数据相对应的目标数据。
其中,在获得待处理数据中的操作节点之后,即可以获取与操作节点相对应的节点参数,在获取到与操作节点相对应的节点参数之后,可以利用与操作节点相对应的加密算法对节点参数进行加密处理,从而可以获得加密操作节点,通过加密操作节点可以获得与待处理数据相对应的目标数据。
本实施例中,通过确定与至少一个操作节点相对应的至少一个加密算法,利用至少一个加密算法对至少一个操作节点进行加密处理,有效地实现了对需要进行保护的操作节点进行加密混淆处理,从而获得与待处理数据相对应的目标数据,此时,在将目标数据发送给用户或者部署在用户端的本地环境时,不会让使用者或者其他攻击者轻易识别出待处理数据,实现了对待处理数据的有效保护,增加了对待处理数据进行窃取的难度。
在一个可实施的方式中,在利用至少一个加密算法对至少一个操作节点进行加密处理之后,本实施例中的方法还包括:
S201:根据加密算法对操作节点添加加密标识。
在利用加密算法对操作节点进行加密处理后,为了方便在对待处理数据进行分析识别时,可以快速识别出操作节点是否是经过加密处理后的操作节点,则可以根据加密算法对操作节点添加加密标识,其中,该加密标识与加密算法相对应,不同的加密算法可以对应有不同的加密标识,通过所添加的加密标识可以快速识别出该操作节点是经过加密算法进行加密处理后的操作节点。
在一个可实施的方式中,在获得与待处理数据相对应的目标数据之后,本实施例中的方法还可以包括:
S301:将与待处理数据相对应的目标数据发送至客户端,以使客户端运行目标数据。
在获得与待处理数据相对应的目标数据之后,为了能够使得客户端可以运行待处理数据,可以将与待处理数据相对应的目标数据发送至客户端,在客户端接收到与待处理数据相对应的目标数据之后,可以运行该目标数据,此时,不仅不会让使用者或者其他攻击者轻易识别出待处理数据,实现了对待处理数据的有效保护,增加了对待处理数据进行窃取的难度,并且也保证了对待处理数据进行使用的安全可靠性,进而提高了该方法的实用性,有利于市场的推广与应用。
图6为本发明实施例提供的另一种数据的处理方法的流程图;参考附图6所示,本实施例提供了另一种数据的处理方法,该处理方法的执行主体是数据的处理装置,可以理解的是,该处理装置可以实现为软件、或者软件和硬件的组合。在处理装置执行该处理方法时,可以生成与加密混淆处理后的待处理数据相对应的数据运行框架,而后将数据运行框架发送至客户端,以使客户端可以基于数据运行框架运行加密混淆处理后的待处理数据。具体的,该数据的处理方法可以包括:
S401:获取待处理数据。
本实施例中上述步骤的具体实现方式、实现效果与上述实施例中步骤S101的具体实现方式和实现效果相类似,具体可参考上述陈述内容,在此不再赘述。
S402:确定与待处理数据相对应的至少一个加密节点以及与加密节点相对应的至少一个加密算法。
其中,待处理数据中包括多个操作节点,多个操作节点可以包括进行加密处理的操作节点和不需要进行加密处理的操作节点,此时,可以在多个操作节点中识别出与待处理数据相对应的至少一个加密节点,并确定与加密节点相对应的至少一个加密算法,具体的,参考附图7所示,本实施例中的确定与待处理数据相对应的至少一个加密节点以及与加密节点相对应的至少一个加密算法可以包括:
S4021:获取待处理数据包括的所有操作节点。
S4022:在操作节点对应有加密标识时,则将该操作节点确定为与待处理数据相对应的至少一个加密节点。
S4023:根据加密标识确定与至少一个加密节点相对应的至少一个加密算法。
在获取到待处理数据之后,可以对待处理数据进行分析处理,从而可以确定待处理数据包括的所有操作节点,在获取到所有的操作节点之后,可以判断操作节点是否对应有加密标识,在操作节点没有对应有加密标识时,则可以确定操作节点不是加密节点;在操作节点对应有加密标识时,则可以将该操作节点确定为与待处理数据相对应的至少一个加密节点,并可以根据加密标识确定与至少一个加密节点相对应的至少一个加密算法。
举例来说,待处理数据中所有操作节点包括:操作节点A、操作节点B、操作节点C和操作节点D,在获得上述所有操作节点之后,可以对所有操作节点进行分析识别,识别结果为:操作节点B和操作节点C分别对应有加密标识b和加密标识c,从而则可以将操作节点B和操作节点C确定为与待处理数据相对应的至少一个加密节点,而后可以根据加密标识b确定与操作节点B相对应的加密算法,根据加密标识c确定与操作节点C相对应的加密算法;从而有效地保证了对与待处理数据相对应的至少一个加密节点以及与加密节点相对应的至少一个加密算法进行确定的准确可靠性。
S403:根据至少一个加密算法确定与至少一个加密节点相对应的至少一个加密运行信息。
在获取到至少一个加密算法之后,可以根据加密算法确定与加密节点相对应的加密运行信息,该加密运行信息可以包括以下至少之一:解密信息、执行信息和加密信息,其中,解密信息与加密算法相对应。具体的,解密信息用于对加密节点进行解密处理操作,从而可以获得解密后的操作节点,在获得解密后的操作节点之后,可以利用执行信息运行解密后的操作节点,从而可以获得节点处理结果;在对解密后的操作节点之后,可以利用加密信息对操作节点进行加密处理,从而提高了对操作节点以及待处理数据的保护力度,进一步提高了对待处理数据运行的安全可靠性。
S404:根据至少一个加密运行信息生成与待处理数据相对应的数据运行框架。
在获取到至少一个加密运行信息之后,可以根据加密运行信息生成与待处理数据相对应的数据运行框架,所获得的数据运行框架可以用于运行待处理数据,从而保证了对待处理数据进行运行的稳定可靠性。
本实施例提供的数据的处理方法,通过获取待处理数据,确定与待处理数据相对应的至少一个加密节点以及与加密节点相对应的至少一个加密算法,根据至少一个加密算法确定与至少一个加密节点相对应的至少一个加密运行信息,根据至少一个加密运行信息生成与待处理数据相对应的数据运行框架,有效地保证了数据运行框架获取的准确可靠性,此时,在将待处理数据和数据运行框架发送给用户或者部署在用户端的本地环境时,不仅不会让使用者或者其他攻击者轻易识别出待处理数据,实现了对待处理数据的有效保护,增加了对待处理数据进行窃取的难度,并且也保证了待处理数据使用的安全可靠性,进而提高了该方法的实用性,有利于市场的推广与应用。
在一个可实施的方式中,在根据至少一个加密运行信息生成与待处理数据相对应的数据运行框架之后,本实施例中的方法还可以包括:
S501:将与数据运行框架发送至客户端,以使客户端基于数据运行框架运行待处理数据。
在获得数据运行框架之后,为了能够使得客户端通过数据运行框架运行待处理数据,可以将待处理数据和与待处理数据相对应的数据运行框架发送至客户端,在客户端接收到与待处理数据相对应的数据运行框架之后,可以基于数据运行框架运行该待处理数据,此时,不仅实现了对待处理数据的有效运行,而且也不会让使用者或者其他攻击者轻易识别出待处理数据,实现了对待处理数据的有效保护,增加了对待处理数据进行窃取的难度,同时也保证了对待处理数据进行使用的安全可靠性,进而提高了该方法的实用性,有利于市场的推广与应用。
图8为本发明实施例提供的又一种数据的处理方法的流程图;参考附图8所示,本实施例提供了又一种数据的处理方法,该处理方法的执行主体是客户端,可以理解的是,该客户端可以实现为软件、或者软件和硬件的组合。在客户端执行该处理方法时,可以基于数据运行框架运行待处理数据,从而实现对待处理数据的分析处理,获得与待处理数据相对应的数据处理结果。具体的,该数据的处理方法可以包括:
S601:获取待处理数据以及与待处理数据相对应的数据运行框架。
其中,本实施例中的待处理数据是指经过加密混淆处理后的数据,即上述实施例中与待处理数据相对应的目标数据,数据运行框架用于运行待处理数据;在获取到待处理数据和数据运行框架,并将待处理数据和数据运行框架发送至客户端之后,从而使得客户端可以获得待处理数据和与待处理数据相对应的数据运行框架。
S602:确定与待处理数据相对应的至少一个加密节点以及与至少一个加密节点相对应的至少一个加密运行信息。
由于待处理数据是经过加密混淆处理后的数据,此时,待处理数据中的所有操作节点包括经过加密处理的加密节点和未经过加密处理的操作节点,其中,在对加密节点进行运行时,需要先对加密节点进行解密处理,之后可以对解密处理后的加密节点进行数据处理操作。因此,在获得待处理数据之后,需要确定与待处理数据相对应的至少一个加密节点以及与至少一个加密节点相对应的至少一个加密运行信息,该加密运行信息可以包括解密信息、执行信息和加密信息,其中,解密信息与加密算法相对应。具体的,参考附图9所示,确定与待处理数据相对应的至少一个加密节点可以包括:
S6021:获取待处理数据包括的所有操作节点。
S6022:在操作节点对应有加密标识时,则将该操作节点确定为与待处理数据相对应的至少一个加密节点,并根据加密标识确定与至少一个加密节点相对应的至少一个加密算法。
本实施例中上述步骤的具体实现方式、实现效果与上述实施例中步骤S4021-S4023的具体实现方式和实现效果相类似,具体可参考上述陈述内容,在此不再赘述。
S603:利用数据运行框架、加密运行信息运行待处理数据和加密节点,获得与待处理数据相对应的数据处理结果。
在获得数据运行框架和加密运行信息之后,可以利用数据运行框架和加密运行信息运行待处理数据和加密节点,从而可以获得与待处理数据相对应的数据处理结果。具体的,参考附图10所示,本实施例中的利用数据运行框架、加密运行信息运行待处理数据和加密节点,获得与待处理数据相对应的数据处理结果可以包括:
S6031:基于数据运行框架和加密运行信息运行加密节点,获得节点处理结果。
其中,在基于数据运行框架对待处理数据中的操作节点进行分析处理时,若操作节点为加密节点,则需要基于数据运行框架和加密运行信息运行该加密节点,以获得节点处理结果,具体的,参考附图11所示,基于数据运行框架和加密运行信息运行加密节点,获得节点处理结果可以包括:
S60311:利用解密信息对加密节点进行解密处理,获得解密节点。
S60312:基于数据运行框架和执行信息运行解密节点,获得节点处理结果。
具体的,在利用数据运行框架和加密运行信息运行加密节点时,由于加密界节点是经过加密处理操作后的操作节点,此时,需要利用加密运行信息中的解密信息对加密节点进行解密处理,从而可以获得解密节点;在获得解密节点之后,可以基于数据运行框架和加密运行信息中的执行信息对解密节点进行数据处理,以实现对解密节点的运行过程,从而可以获得节点处理结果。
可以理解的是,在对待处理数据中未经过加密处理的操作节点进行分析处理时,由于操作节点未进行加密处理,因此,可以直接利用数据运行框架对操作节点进行分析处理,从而可以获得与该操作节点相对应的节点处理结果。
S6032:根据数据运行框架运行节点处理结果和待处理数据,获得与待处理数据相对应的数据处理结果。
其中,由于加密节点是待处理数据中的部分节点数据,在对加密节点进行分析处理完毕后,则可以基于根据数据运行框架继续节点处理结果和待处理数据进行分析处理,从而可以获得与待处理数据相对应的数据处理结果。具体应用时,一种可实现的应用场景为,加密节点是待处理数据中的中间节点数据,此时,在获得节点处理结果之后,需要继续利用数据运行框架对节点处理结果和待处理数据进行分析处理,以获得与待处理数据相对应的数据处理结果。或者,又一种可实现的应用场景为,加密节点是待处理数据中的结束节点数据,即加密节点是待处理数据中的最后一个节点数据,此时,在获得节点处理结果之后,则可以直接将节点处理结果确定为与待处理数据相对应的数据处理结果;从而有效地保证了数据处理结果获取的准确可靠性。
本实施例提供的数据的处理方法,通过获取待处理数据以及与待处理数据相对应的数据运行框架,确定与待处理数据相对应的至少一个加密节点以及与至少一个加密节点相对应的至少一个加密运行信息,而后利用数据运行框架、加密运行信息运行待处理数据和加密节点,获得与待处理数据相对应的数据处理结果,有效地保证了对待处理数据进行处理的准确可靠性,具体的,在客户端基于数据运行框架、加密运行信息运行待处理数据时,客户端无需对待处理数据进行解密处理,使得客户端不会获得待处理数据的任何明文数据,这样不仅不会让使用者或者其他攻击者轻易识别出待处理数据,实现了对待处理数据的有效保护,增加了对待处理数据进行窃取的难度,并且也保证了待处理数据使用的安全可靠性,进而提高了该方法的实用性,有利于市场的推广与应用。
在一种可实现的方式中,在获得节点处理结果之后,本实施例中的方法还可以包括:
S701:利用加密信息对解密节点进行加密处理,获得与解密节点相对应的加密后节点。
在对加密节点进行分析处理之后,为了能够提高对待处理数据进行保护的程度,可以再次对进行解密处理后的解密节点进行加密处理,此时,可以利用加密运行信息中的加密信息对解密节点进行再次加密处理,从而可以获得与解密节点相对应的加密后节点,可以理解的是,该加密后节点所对应的加密算法与加密节点所对应的加密算法可以相同或不同。具体的,在加密后节点所对应的加密算法与加密节点所对应的加密算法相同时,则可以保持该加密节点所对应的加密运行信息不变,在加密后节点所对应的加密算法与加密节点所对应的加密算法不同时,则可以根据加密后节点所对应的加密信息更新加密运行信息,以实现可以利用加密运行信息运行加密后节点。
举例来说:待处理数据中包括操作节点A,利用第一加密算法B对操作节点A进行加密处理后,可以获得加密节点A1以及与加密节点A1相对应的加密运行信息a,该加密运行信息a中包括解密信息a1、执行信息a2和加密信息a3,其中,解密信息a1与第一加密算法B相对应。在运行待处理数据中的操作节点A时,可以先利用解密信息a1对加密节点A1进行解密处理,从而可以获得操作节点A,而后可以利用执行信息a2对操作节点A进行分析处理,从而可以获得与操作节点A相对应的节点处理结果。而后,可以利用加密信息a3再次对操作节点A进行加密处理,具体的,在加密信息a3中所对应的加密算法为第一加密算法B时,则可以再次获得与第一加密算法B相对应的加密节点A1以及与加密节点A1相对应的加密运行信息a;在加密信息a3中所对应的加密算法可以为第二加密算法C时,可以获得与第二加密算法C相对应的加密节点A2以及与加密节点A2相对应的加密运行信息b,也即在利用不同的加密算法对操作节点进行加密处理时,可以获得不同的加密节点和加密运行信息。
具体应用时,参考附图12a、图12b-13所示,本应用实施例提供了一种针对神经网络的混淆保护方法,该方法是基于算子粒度的加解密方法,在具体实现的过程中,该方法可以提供多套加密算法(对称加密算法、流加密算法、高级加密算法(Advanced EncryptionStandard,简称AES)以及用户自定义的加密算法等等)供客户选择。在利用加密算法对操作节点(算子)进行加密处理之后,在对操作节点(算子)运行之前,可以先对该操作节点的参数进行解密。在操作节点运行结束之后,还可以对立即操作节点的参数进行加密处理,从而保证使用者或者攻击者无法通过简单的内存dump就将待处理数据破解,从而提高模型窃取难度。
具体应用时,该数据的处理方法的执行主体包括第一数据处理装置、第二数据处理装置和客户端,其中,第一数据处理装置用于将待处理数据加密混淆为目标数据,第二数据处理数据用于生成与待处理数据相对应的数据运行框架。具体的,以机器学习模型的图结构作为待处理数据为例进行说明,该数据的处理方法可以包括如下步骤:
step1:第一数据处理装置对机器学习模型进行加密处理。
在将机器学习模型提供给客户端之前,可以对机器学习模型进行加密处理,具体的,包括如下步骤:
step1a:挑选支持的可加密的操作节点;
step1b:挑选与操作节点相对应的加密算法。
具体应用时,可以在预设的多个加密算法中随机挑选与操作节点相对应的加密算法,也可以获取操作节点需要进行加密的强度信息,根据强度信息确定与操作节点相对应的加密算法。
step1c:利用加密算法对操作节点的参数进行加密处理,获得加密节点。
step1d:根据加密节点可以获得经过加密处理后的目标数据。
step1e:将经过加密处理后的目标数据发送至客户端,以使得客户端可以运行目标数据。
另外,需要注意的是,在对机器学习模型进行加密处理时,可以预先存储有多个不同的加密处理方式,而不同的加密处理方式所对应的加密强度不同,并且还可以针对不同的加密处理方式向用户收取不同的加密处理费用。具体的,在用户存在针对某一机器学习模型进行加密处理的需求时,可以向第一数据处理装置发送加密处理请求以及机器学习模型;在第一数据处理装置获取到加密处理请求以及机器学习模型之后,可以向用户反馈用于对加密学习模型进行加密处理的多个不同的加密处理方式和加密处理费用;用户可以在多个不同的加密处理方式中确定一用于对机器学习模型进行加密处理的加密处理方式,并通过第一数据处理装置支付相对应的加密处理费用;而后,第一数据处理装置可以基于用户所选择的加密处理方式对机器学习模型进行加密处理,从而实现了对于不同用户存在的加密需求,可以通过不同的加密处理方式来实现,有效地满足了用户的不同加密需求。
step2:第二数据处理装置生成与机器学习模型相对应的数据运行框架。
在将机器学习模型进行加密处理之后,可以根据对机器学习模型进行加密处理过程的相关数据生成数据运行框架,以使得客户端可以根据数据运行框架运行经过加密处理后的机器学习模型;具体的,包括如下步骤:
step2a:确定能够支持的加密节点和加密节点所对应的加密算法,例如:机器学习模型中的卷积层算子、BiasAdd层算子等等。
step2b:根据加密算法确定该加密节点的加密运行信息。
其中,加密运行信息包括:对节点参数进行解密的解密逻辑、对解密后的操作节点的推理执行逻辑、推理结束之后将操作节点的节点参数进行加密处理的加密逻辑;这样可以有效地保证节点参数在使用的时候才解密成明文,未使用的时候以加密状态存放在内存中。可以理解的是,加密运行信息可以根据不同的加密算法而自适应的改变。
step2c:根据加密运行信息生成与待处理数据相对应的数据运行框架。
step2d:将数据运行框架发送至客户端,以使得客户端可以基于所接收到的数据运行框架运行待处理数据。
step3:客户端接收经过加密处理后的目标数据和数据运行框架,根据数据运行框架运行目标数据,从而可以获得数据处理结果。
在私有化对外部署机器学习模型时,可以将加密之后的目标数据以及改造之后的数据运行框架提供给客户端,客户端在接收到数据运行框架和目标数据之后,可以基于数据运行框架对目标数据中的单个操作节点进行处理,具体的,对单个操作节点进行处理的流程包括:
step3a:识别当前目标数据中的操作节点是否为加密节点;
step3b:在当前操作节点不是加密节点时,则直接利用数据运行框架对节点进行运行操作,获得节点处理结果;
step3c:在当前操作节点是加密节点时,获得与该加密节点相对应的加密运行信息,该加密运行信息中包括解密信息、执行信息和加密信息;
step3d:利用解密信息对加密节点的节点参数进行解密,获得操作节点;
step3e:利用数据运行框架和执行信息运行操作节点,获得节点处理结果。
step3f:在获得节点处理结果之后,可以再次对操作节点进行加密处理,获得加密后节点。
本应用实施例提供的数据的处理方法,通过将进行加密处理后的待处理数据和与待处理数据相对应的数据运行框架发送给用户或者部署在用户端的本地环境,从而使得客户端无需对待处理数据进行解密处理,直接基于数据运行框架运行待处理数据,这样不仅不会让使用者或者其他攻击者轻易识别出待处理数据,并且也实现了对待处理数据的有效保护,增加了对待处理数据进行窃取的难度,保证了待处理数据使用的安全可靠性,进而提高了该方法的实用性,有利于市场的推广与应用。
图14为本发明实施例提供的一种数据的处理装置的结构示意图;参考附图14所示,本实施例提供了一种数据的处理装置,该数据的处理装置可以执行上述图1的数据的处理方法,具体的,该处理装置可以包括:
第一获取模块11,用于获取待处理数据;
第一确定模块12,用于确定与待处理数据相对应的至少一个操作节点;
第一处理模块13,用于对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据。
进一步的,待处理数据包括与机器学习模型相对应的图结构数据。
进一步的,在第一确定模块12确定与待处理数据相对应的至少一个操作节点时,该第一确定模块12可以用于执行:获取待处理数据包括的所有操作节点;根据预设配置参数遍历所有操作节点,确定与待处理数据相对应的至少一个操作节点,其中,预设配置参数与待处理数据中待保护的操作节点相对应。
进一步的,在第一处理模块13对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据时,该第一处理模块13可以用于执行:确定与至少一个操作节点相对应的至少一个加密算法;利用至少一个加密算法对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据。
进一步的,在第一处理模块13利用至少一个加密算法对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据时,该第一处理模块13可以用于执行:获取与操作节点相对应的节点参数;利用与操作节点相对应的加密算法对节点参数进行加密处理,获得与待处理数据相对应的目标数据。
进一步的,在利用至少一个加密算法对至少一个操作节点进行加密处理之后,本实施例中的第一处理模块13还可以用于执行:根据加密算法对操作节点添加加密标识。
进一步的,在获得与待处理数据相对应的目标数据之后,本实施例中的第一处理模块13还可以用于执行:将与待处理数据相对应的目标数据发送至客户端,以使客户端运行目标数据。
图14所示装置可以执行图1-图5、图12a、图12b-13所示实施例的方法,本实施例未详细描述的部分,可参考对图1-图5、图12a、图12b-13所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1-图5、图12a、图12b-13所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图14所示数据的处理装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器等各种设备。如图15所示,该电子设备可以包括:第一处理器21和第一存储器22。其中,第一存储器22用于存储相对应电子设备执行上述图1-图5、图12a、图12b-13所示实施例中提供的数据的处理方法的程序,第一处理器21被配置为用于执行第一存储器22中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第一处理器21执行时能够实现如下步骤:
获取待处理数据;
确定与待处理数据相对应的至少一个操作节点;
对至少一个操作节点进行加密处理,获得与待处理数据相对应的目标数据。
进一步的,第一处理器21还用于执行前述图1-图5、图12a、图12b-13所示实施例中的全部或部分步骤。
其中,电子设备的结构中还可以包括第一通信接口23,用于电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图1-图5、图12a、图12b-13所示方法实施例中数据的处理方法所涉及的程序。
图16为本发明实施例提供的另一种数据的处理装置的结构示意图;参考附图16所示,本实施例提供了另一种数据的处理装置,该数据的处理装置可以执行上述图6的数据的处理方法,具体的,该处理装置可以包括:
第二获取模块31,用于获取待处理数据;
第二确定模块32,用于确定与待处理数据相对应的至少一个加密节点以及与加密节点相对应的至少一个加密算法;
第二确定模块32,还用于根据至少一个加密算法确定与至少一个加密节点相对应的至少一个加密运行信息;
第二处理模块33,用于根据至少一个加密运行信息生成与待处理数据相对应的数据运行框架。
进一步的,在第二确定模块32确定与待处理数据相对应的至少一个加密节点以及与加密节点相对应的至少一个加密算法时,该第二确定模块32可以用于执行:获取待处理数据包括的所有操作节点;在操作节点对应有加密标识时,则将该操作节点确定为与待处理数据相对应的至少一个加密节点;根据加密标识确定与至少一个加密节点相对应的至少一个加密算法。
进一步的,加密运行信息包括解密信息、执行信息和加密信息,其中,解密信息与加密算法相对应。
进一步的,在根据至少一个加密运行信息生成与待处理数据相对应的数据运行框架之后,本实施例中的第二处理模块33还可以用于执行:将与数据运行框架发送至客户端,以使客户端基于数据运行框架运行待处理数据。
图16所示装置可以执行图6-图7、图12a、图12b-13所示实施例的方法,本实施例未详细描述的部分,可参考对图6-图7、图12a、图12b-13所示实施例的相关说明。该技术方案的执行过程和技术效果参见图6-图7、图12a、图12b-13所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图16所示数据的处理装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器等各种设备。如图17所示,该电子设备可以包括:第二处理器41和第二存储器42。其中,第二存储器42用于存储相对应电子设备执行上述实施例中提供的数据的处理方法的程序,第二处理器41被配置为用于执行第二存储器42中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第二处理器41执行时能够实现如下步骤:
获取待处理数据;
确定与待处理数据相对应的至少一个加密节点以及与加密节点相对应的至少一个加密算法;
根据至少一个加密算法确定与至少一个加密节点相对应的至少一个加密运行信息;
根据至少一个加密运行信息生成与待处理数据相对应的数据运行框架。
其中,电子设备的结构中还可以包括第二通信接口43,用于电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图6-图7、图12a、图12b-13所对应的实施例中的数据的处理方法所涉及的程序。
图18为本发明实施例提供的又一种数据的处理装置的结构示意图;参考附图18所示,本实施例提供了又一种数据的处理装置,该数据的处理装置可以执行上述图8的数据的处理方法,具体的,该处理装置可以包括:
第三获取模块51,用于获取待处理数据以及与待处理数据相对应的数据运行框架;
第三确定模块52,用于确定与待处理数据相对应的至少一个加密节点以及与至少一个加密节点相对应的至少一个加密运行信息;
第三处理模块53,用于利用数据运行框架、加密运行信息运行待处理数据和加密节点,获得与待处理数据相对应的数据处理结果。
进一步的,在第三确定模块52确定与待处理数据相对应的至少一个加密节点时,该第三确定模块52可以用于执行:获取待处理数据包括的所有操作节点;在操作节点对应有加密标识时,则将该操作节点确定为与待处理数据相对应的至少一个加密节点,并根据加密标识确定与至少一个加密节点相对应的至少一个加密算法。
进一步的,加密运行信息包括解密信息、执行信息和加密信息,其中,解密信息与加密算法相对应。
进一步的,在第三处理模块53利用数据运行框架、加密运行信息运行待处理数据和加密节点,获得与待处理数据相对应的数据处理结果时,该第三处理模块53可以用于执行:基于数据运行框架和加密运行信息运行加密节点,获得节点处理结果;根据数据运行框架运行节点处理结果和待处理数据,获得与待处理数据相对应的数据处理结果。
进一步的,在第三处理模块53基于数据运行框架和加密运行信息运行加密节点,获得节点处理结果时,该第三处理模块53可以用于执行:利用解密信息对加密节点进行解密处理,获得解密节点;基于数据运行框架和执行信息运行解密节点,获得节点处理结果。
进一步的,在获得节点处理结果之后,本实施例中的第三处理模块53还可以用于执行:利用加密信息对解密节点进行加密处理,获得与解密节点相对应的加密后节点。
图18所示装置可以执行图8-图13所示实施例的方法,本实施例未详细描述的部分,可参考对图8-图13所示实施例的相关说明。该技术方案的执行过程和技术效果参见图8-图13所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图18所示数据的处理装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器等各种设备。如图19所示,该电子设备可以包括:第三处理器61和第三存储器62。其中,第三存储器62用于存储相对应电子设备执行上述实施例中提供的数据的处理方法的程序,第三处理器61被配置为用于执行第三存储器62中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第三处理器61执行时能够实现如下步骤:
获取待处理数据以及与待处理数据相对应的数据运行框架;
确定与待处理数据相对应的至少一个加密节点以及与至少一个加密节点相对应的至少一个加密运行信息;
利用数据运行框架、加密运行信息运行待处理数据和加密节点,获得与待处理数据相对应的数据处理结果。
其中,电子设备的结构中还可以包括第三通信接口63,用于电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图8-图13所对应的实施例中的数据的处理方法所涉及的程序。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (18)
1.一种数据的处理方法,其特征在于,包括:
获取待处理数据,所述待处理数据包括与机器学习模型相对应的图结构数据;
确定与所述待处理数据相对应的至少一个操作节点,所述操作节点为所述机器学习模型相对应的图结构数据中的算子;
获取所述操作节点所对应的加密特征;
在多个加密算法中,将与所述加密特征相匹配的加密算法确定为与所述操作节点相对应的至少一个加密算法;
利用至少一个所述加密算法对至少一个所述操作节点进行加密处理,获得与所述待处理数据相对应的目标数据;
在利用至少一个所述加密算法对至少一个所述操作节点进行加密处理之后,所述方法还包括:
根据所述加密算法对所述操作节点添加加密标识。
2.根据权利要求1所述的方法,其特征在于,确定与所述待处理数据相对应的至少一个操作节点,包括:
获取所述待处理数据包括的所有操作节点;
根据预设配置参数遍历所有操作节点,确定与所述待处理数据相对应的至少一个操作节点,其中,所述预设配置参数与所述待处理数据中待保护的操作节点相对应。
3.根据权利要求1所述的方法,其特征在于,利用至少一个所述加密算法对至少一个所述操作节点进行加密处理,获得与所述待处理数据相对应的目标数据,包括:
获取与所述操作节点相对应的节点参数;
利用与所述操作节点相对应的加密算法对所述节点参数进行加密处理,获得与所述待处理数据相对应的目标数据。
4.根据权利要求1-3中任意一项所述的方法,其特征在于,在获得与所述待处理数据相对应的目标数据之后,所述方法还包括:
将与所述待处理数据相对应的目标数据发送至客户端,以使客户端运行所述目标数据。
5.一种数据的处理方法,其特征在于,包括:
获取待处理数据,所述待处理数据包括与机器学习模型相对应的图结构数据;
获取所述待处理数据包括的所有操作节点,所述操作节点为所述机器学习模型相对应的图结构数据中的算子;
在所述操作节点对应有加密标识时,则将该操作节点确定为与所述待处理数据相对应的至少一个加密节点;
根据所述加密标识确定与至少一个所述加密节点相对应的至少一个加密算法,不同的加密标识所确定的加密算法不同;
根据至少一个所述加密算法确定与至少一个所述加密节点相对应的至少一个加密运行信息;
根据至少一个所述加密运行信息生成与所述待处理数据相对应的数据运行框架。
6.根据权利要求5所述的方法,其特征在于,所述加密运行信息包括解密信息、执行信息和加密信息,其中,所述解密信息与加密算法相对应。
7.根据权利要求5-6中任意一项所述的方法,其特征在于,在根据至少一个所述加密运行信息生成与所述待处理数据相对应的数据运行框架之后,所述方法还包括:
将与所述数据运行框架发送至客户端,以使客户端基于所述数据运行框架运行所述待处理数据。
8.一种数据的处理方法,其特征在于,包括:
获取待处理数据以及与所述待处理数据相对应的数据运行框架,所述待处理数据包括与机器学习模型相对应的图结构数据;
确定与所述待处理数据相对应的至少一个加密节点以及与至少一个所述加密节点相对应的至少一个加密运行信息;
利用所述数据运行框架、加密运行信息运行所述待处理数据和加密节点,获得与所述待处理数据相对应的数据处理结果;
确定与所述待处理数据相对应的至少一个加密节点,包括:
获取所述待处理数据包括的所有操作节点,所述操作节点为所述机器学习模型相对应的图结构数据中的算子;
在所述操作节点对应有加密标识时,则将该操作节点确定为与所述待处理数据相对应的至少一个加密节点,并根据所述加密标识确定与至少一个所述加密节点相对应的至少一个加密算法,不同的加密标识所确定的加密算法不同。
9.根据权利要求8所述的方法,其特征在于,所述加密运行信息包括解密信息、执行信息和加密信息,其中,所述解密信息与加密算法相对应。
10.根据权利要求9所述的方法,其特征在于,利用所述数据运行框架、加密运行信息运行所述待处理数据和加密节点,获得与所述待处理数据相对应的数据处理结果,包括:
基于所述数据运行框架和加密运行信息运行所述加密节点,获得节点处理结果;
根据所述数据运行框架运行所述节点处理结果和待处理数据,获得与所述待处理数据相对应的数据处理结果。
11.根据权利要求10所述的方法,其特征在于,基于所述数据运行框架和加密运行信息运行所述加密节点,获得节点处理结果,包括:
利用所述解密信息对所述加密节点进行解密处理,获得解密节点;
基于所述数据运行框架和执行信息运行所述解密节点,获得节点处理结果。
12.根据权利要求11所述的方法,其特征在于,在获得节点处理结果之后,所述方法还包括:
利用所述加密信息对所述解密节点进行加密处理,获得与所述解密节点相对应的加密后节点。
13.一种数据的处理装置,其特征在于,包括:
第一获取模块,用于获取待处理数据,所述待处理数据包括与机器学习模型相对应的图结构数据;
第一确定模块,用于确定与所述待处理数据相对应的至少一个操作节点,所述操作节点为所述机器学习模型相对应的图结构数据中的算子;
第一处理模块,用于获取所述操作节点所对应的加密特征;在多个加密算法中,将与所述加密特征相匹配的加密算法确定为与所述操作节点相对应的至少一个加密算法;利用至少一个所述加密算法对至少一个所述操作节点进行加密处理,获得与所述待处理数据相对应的目标数据;
所述第一处理模块,还用于在利用至少一个所述加密算法对至少一个所述操作节点进行加密处理之后,根据所述加密算法对所述操作节点添加加密标识。
14.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1-4中任意一项所述的数据的处理方法。
15.一种数据的处理装置,其特征在于,包括:
第二获取模块,用于获取待处理数据,所述待处理数据包括与机器学习模型相对应的图结构数据;
第二确定模块,用于获取所述待处理数据包括的所有操作节点,所述操作节点为所述机器学习模型相对应的图结构数据中的算子;在所述操作节点对应有加密标识时,则将该操作节点确定为与所述待处理数据相对应的至少一个加密节点;根据所述加密标识确定与至少一个所述加密节点相对应的至少一个加密算法,不同的加密标识所确定的加密算法不同;
所述第二确定模块,还用于根据至少一个所述加密算法确定与至少一个所述加密节点相对应的至少一个加密运行信息;
第二处理模块,用于根据至少一个所述加密运行信息生成与所述待处理数据相对应的数据运行框架。
16.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求5-7中任意一项所述的数据的处理方法。
17.一种数据的混淆装置,其特征在于,包括:
第三获取模块,用于获取待处理数据以及与所述待处理数据相对应的数据运行框架,所述待处理数据包括与机器学习模型相对应的图结构数据;
第三确定模块,用于确定与所述待处理数据相对应的至少一个加密节点以及与至少一个所述加密节点相对应的至少一个加密运行信息;
第三处理模块,用于利用所述数据运行框架、加密运行信息运行所述待处理数据和加密节点,获得与所述待处理数据相对应的数据处理结果;
所述第三确定模块,还用于获取所述待处理数据包括的所有操作节点,所述操作节点为所述机器学习模型相对应的图结构数据中的算子;在所述操作节点对应有加密标识时,则将该操作节点确定为与所述待处理数据相对应的至少一个加密节点,并根据所述加密标识确定与至少一个所述加密节点相对应的至少一个加密算法,不同的加密标识所确定的加密算法不同。
18.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求8-12中任意一项所述的数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911051316.2A CN112749780B (zh) | 2019-10-31 | 2019-10-31 | 数据的处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911051316.2A CN112749780B (zh) | 2019-10-31 | 2019-10-31 | 数据的处理方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112749780A CN112749780A (zh) | 2021-05-04 |
CN112749780B true CN112749780B (zh) | 2024-05-28 |
Family
ID=75641270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911051316.2A Active CN112749780B (zh) | 2019-10-31 | 2019-10-31 | 数据的处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112749780B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115828271A (zh) * | 2021-09-16 | 2023-03-21 | 华为技术有限公司 | 一种模型保护方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009005249A (ja) * | 2007-06-25 | 2009-01-08 | Panasonic Corp | 木構造を持つ鍵管理ソフトウエアにおける、鍵使用の高速化手段、及び装置 |
CN106559782A (zh) * | 2016-05-03 | 2017-04-05 | 华侨大学 | 基于混沌神经网络公钥加密算法的异构传感网加密协议 |
CN108365951A (zh) * | 2018-01-19 | 2018-08-03 | 中国人民解放军陆军工程大学 | 一种基于神经网络的高一致性物理密钥生成方法 |
CN109002883A (zh) * | 2018-07-04 | 2018-12-14 | 中国科学院计算技术研究所 | 卷积神经网络模型计算装置及计算方法 |
CN109040091A (zh) * | 2018-08-17 | 2018-12-18 | 中科物栖(北京)科技有限责任公司 | 深度神经网络模型的加密方法及装置 |
CN109241749A (zh) * | 2017-07-04 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 数据加密、机器学习模型训练方法、装置以及电子设备 |
CN109815710A (zh) * | 2018-12-14 | 2019-05-28 | 开放智能机器(上海)有限公司 | 一种人工智能算法模型文件的保护方法 |
EP3562087A1 (en) * | 2018-04-27 | 2019-10-30 | Nxp B.V. | High-throughput privacy-friendly hardware assisted machine learning on edge nodes |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10425412B2 (en) * | 2017-08-08 | 2019-09-24 | American Megatrends International, Llc | Dynamic generation of key for encrypting data in management node |
-
2019
- 2019-10-31 CN CN201911051316.2A patent/CN112749780B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009005249A (ja) * | 2007-06-25 | 2009-01-08 | Panasonic Corp | 木構造を持つ鍵管理ソフトウエアにおける、鍵使用の高速化手段、及び装置 |
CN106559782A (zh) * | 2016-05-03 | 2017-04-05 | 华侨大学 | 基于混沌神经网络公钥加密算法的异构传感网加密协议 |
CN109241749A (zh) * | 2017-07-04 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 数据加密、机器学习模型训练方法、装置以及电子设备 |
CN108365951A (zh) * | 2018-01-19 | 2018-08-03 | 中国人民解放军陆军工程大学 | 一种基于神经网络的高一致性物理密钥生成方法 |
EP3562087A1 (en) * | 2018-04-27 | 2019-10-30 | Nxp B.V. | High-throughput privacy-friendly hardware assisted machine learning on edge nodes |
CN109002883A (zh) * | 2018-07-04 | 2018-12-14 | 中国科学院计算技术研究所 | 卷积神经网络模型计算装置及计算方法 |
CN109040091A (zh) * | 2018-08-17 | 2018-12-18 | 中科物栖(北京)科技有限责任公司 | 深度神经网络模型的加密方法及装置 |
CN109815710A (zh) * | 2018-12-14 | 2019-05-28 | 开放智能机器(上海)有限公司 | 一种人工智能算法模型文件的保护方法 |
Non-Patent Citations (2)
Title |
---|
A novel encryption model for text messages using delayed chaotic neural network and DNA cryptography;Sudipta Singha Roy 等;2017 20th International Conference of Computer and Information Technology (ICCIT);20180208;全文 * |
光纤网络系统中的数据加密技术研究;李增本;方文英;;激光杂志;20190525(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112749780A (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902424B2 (en) | Secure re-encryption of homomorphically encrypted data | |
US20160294794A1 (en) | Security System For Data Communications Including Key Management And Privacy | |
US8635465B1 (en) | Counter-based encryption of stored data blocks | |
CN111428887B (zh) | 一种基于多个计算节点的模型训练控制方法、装置及系统 | |
US10250387B1 (en) | Quantum computer resistant algorithm cryptographic key generation, storage, and transfer device | |
CN111062045B (zh) | 信息加密、解密方法和装置、电子设备及存储介质 | |
CN111753324A (zh) | 私有数据的处理方法、计算方法及所适用的设备 | |
Rayappan et al. | Lightweight Feistel structure based hybrid-crypto model for multimedia data security over uncertain cloud environment | |
CN111490995A (zh) | 保护隐私的模型训练方法和装置、数据处理方法、服务器 | |
Sharma | ENHANCE DATA SECURITY IN CLOUD COMPUTING USING MACHINE LEARNING AND HYBRID CRYPTOGRAPHY TECHNIQUES. | |
CN112000978B (zh) | 隐私数据的输出方法、数据处理系统及存储介质 | |
Sarwar et al. | A survey on privacy preservation in fog-enabled internet of things | |
CN112749780B (zh) | 数据的处理方法、装置及设备 | |
US20200145200A1 (en) | Attribute-based key management system | |
Yoon et al. | A signature-based data security technique for energy-efficient data aggregation in wireless sensor networks | |
CN104182691B (zh) | 数据保密方法及装置 | |
Odebade et al. | Mitigating anti-forensics in the cloud via resource-based privacy preserving activity attribution | |
Prakash et al. | EB algorithm for effective privacy and security of data processing in MCC | |
CN115118520B (zh) | 数据处理方法、装置和服务器 | |
Anwar | Data security issues in the realm of mobile cloud computing: A survey | |
KR20230083837A (ko) | 기밀 데이터의 보안성을 위한 하이브리드 클라우드 기반 SECaaS 장치 및 방법 | |
Shin et al. | Identification of corrupted cloud storage in batch auditing | |
CN116702215B (zh) | 一种查询处理方法、装置、设备及介质 | |
Majumder et al. | Data security issues and solutions in cloud computing | |
CN114817970B (zh) | 基于数据来源保护的数据分析方法、系统及相关设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |