CN115344886A - 一种模型加密方法、模型解密方法及装置 - Google Patents
一种模型加密方法、模型解密方法及装置 Download PDFInfo
- Publication number
- CN115344886A CN115344886A CN202210867884.5A CN202210867884A CN115344886A CN 115344886 A CN115344886 A CN 115344886A CN 202210867884 A CN202210867884 A CN 202210867884A CN 115344886 A CN115344886 A CN 115344886A
- Authority
- CN
- China
- Prior art keywords
- file
- model
- information
- decryption
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000013135 deep learning Methods 0.000 claims abstract description 103
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 92
- 238000012545 processing Methods 0.000 claims description 130
- 238000012549 training Methods 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 238000012856 packing Methods 0.000 claims description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 238000004519 manufacturing process Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000008676 import Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000013478 data encryption standard Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 239000010813 municipal solid waste Substances 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000002689 soil Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- 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)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Bioethics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种模型加密方法、模型解密方法及装置,涉及人工智能技术领域,其中,模型解密方法包括:获取目标网络模型的加密文件;将所述加密文件导入所述深度学习框架中,利用所述深度学习框架中配置的解密算法对所述加密文件进行解密,得到所述目标网络模型的模型数据,并在所述深度学习框架中加载所述模型数据,以使得所述目标网络模型能够在所述深度学习框架中运行。采用本申请提供的模型解密方法,可以直接将加密文件导入深度学习框架,由深度学习框架在内部完成目标网络模型的加密文件的解密操作,提高目标网络模型的机密性。
Description
技术领域
本申请属于人工智能(Artificial Intelligence,AI)技术领域,尤其涉及一种模型加密方法、模型解密方法及装置。
背景技术
深度学习是AI技术领域中的核心技术,基于深度学习的网络模型在包括图像识别、语音识别、自动检测等领域中均具备优异的表现,因而被大量应用于各种相关的场景中,例如,自动驾驶、医疗自动诊断、情绪分类、目标跟踪、语音翻译等一系列感知、决策场景中,用以解决相关技术问题。
为了提高网络模型的开发和部署效率,各种类型的深度学习框架应运而生,例如,TensorFlow、PaddlePaddle、Mxnet、PyTorch以及darknet等。深度学习框架可以视为一种资源库,包括很多不同类型的算子组件,提供网络模型的运行环境。在一个安装有深度学习框架的设备上,算法供应方可以直接通过选择组件的方式来搭建网络模型,然后通过大量训练集训练网络模型内的相关参数,最终得到能够实现相关任务的网络模型,极大的提高了网络模型的开发效率。当完成训练后,即可将训练好的网络模型的相关数据发送给处于生产环境中的模型处理设备,该模型处理设备中同样安装有深度学习框架,模型处理设备可以直接将相关数据导入深度学习框架内运行。
然而,目前训练好的网络模型的相关数据在设备间进行传输的过程中,常常发生模型数据泄露的问题,无法保证网络模型的安全性。
发明内容
本申请实施例提供了一种模型加密方法、模型解密方法及装置,能够提高网络模型的安全性。
第一方面,本申请实施例提供一种模型解密方法,所述方法应用于第一模型处理设备,所述第一模型处理设备安装有深度学习框架,所述深度学习框架中融合有解密算法,所述方法包括:
获取目标网络模型的加密文件;
将所述加密文件导入所述深度学习框架中,利用所述解密算法对所述加密文件进行解密,得到所述目标网络模型的模型数据,并在所述深度学习框架中加载所述模型数据,以使得所述目标网络模型能够在所述深度学习框架中运行。
采用本申请实施例提供的模型解密方法,设备之间可以传输目标模型的加密文件,避免目标模型的数据直接泄露,提高目标网络模型的机密性。且第一模型处理设备上安装的深度学习框架中融合有解密算法,第一模型处理设备可以直接将加密文件导入深度学习框架,由深度学习框架在内部完成目标网络模型的加密文件的解密操作,无需利用第三方解密算法对加密文件进行解密,从而避免了利用第三方解密算法解密过程中可能发生的数据泄露问题,从而提高了目标网络模型的机密性。
在一种可能的实现方式中,所述模型数据包括所述目标网络模型的多个配置文件的数据,所述解密算法包括与每个所述配置文件关联的第一标识信息;
所述利用所述解密算法对所述加密文件进行解密,得到所述目标网络模型的模型数据,包括:
通过在所述加密文件中识别每个所述配置文件的第一标识信息,解码得到每个所述配置文件的数据。
在一种可能的实现方式中,所述模型数据包括所述目标网络模型的多个配置文件的数据,所述解密算法包括一个或多个解密信息;所述利用所述解密算法对所述加密文件进行解密,得到所述目标网络模型的模型数据,包括:
根据所述加密文件的文件头信息确定第二标识信息和每个所述配置文件的第一标识信息;
根据所述第二标识信息确定所述一个或多个解密信息中的目标解密信息;
根据所述目标解密信息对所述加密文件进行解密,得到目标文件;
通过在所述目标文件中识别每个所述配置文件的所述第一标识信息,解码得到每个所述配置文件的数据。
在一种可能的实现方式中,所述模型数据包括所述目标网络模型的多个配置文件的数据,所述解密算法包括多个解密信息;所述利用所述解密算法对所述加密文件进行解密,得到所述目标网络模型的模型数据,包括:
根据所述加密文件的文件头信息确定所述多个配置文件的个数和每个所述配置文件的第一标识信息;
根据所述个数确定所述多个解密信息中的目标解密信息;
根据所述目标解密信息对所述加密文件进行解密,得到目标文件;
通过在所述目标文件中识别每个所述配置文件的所述第一标识信息,解码得到每个所述配置文件的数据。
在一种可能的实现方式中,所述模型数据包括所述目标网络模型的多个配置文件的数据,所述解密算法包括预设的密码生成器;所述利用所述解密算法对所述加密文件进行解密,得到所述目标网络模型的模型数据,包括:
根据所述加密文件的文件头信息确定所述多个配置文件的个数、初始密码和每个所述配置文件的第一标识信息;
基于所述密码生成器,根据所述个数和所述初始密码生成与每个所述配置文件对应的解密信息;
通过在所述加密文件的数据部中识别每个所述配置文件的所述第一标识信息,解码得到每个所述配置文件的子加密文件;
针对每个所述配置文件的子加密文件,根据所述配置文件对应的解密信息,对所述子加密文件行解密,得到所述配置文件的数据。
第二方面,本申请实施例提供一种模型加密方法,所述方法应用于第二模型处理设备中,所述方法包括:
获取基于深度学习框架训练得到的目标网络模型的多个配置文件;
根据预设的加密算法对多个所述配置文件的数据进行加密,得到加密文件;
向第一模型处理设备发送所述加密文件,所述第一模型处理设备安装有所述深度学习框架,所述深度学习框架中融合有与所述加密算法对应的解密算法。
基于本申请实施例提供的模型加密方法,一方面能够与融合有解密算法的深度学习框架适配,使得深度学习框架可以直接导入加密文件,避免在深度学习框架外进行解密时,导致模型参数泄露的问题。另一方面,该加密方法与对应的解密方法异步处理,这样在模型版本升级时,只需要在第二模型处理设备加密升级后的网络模型即可,不依赖于硬件环境,不影响升级。
在一种可能的实现方式中,所述根据预设的加密算法对多个所述配置文件的数据进行加密,得到加密文件,包括:
获取每个所述配置文件的第一标识信息;
根据每个所述配置文件的所述第一标识信息,对多个所述配置文件的数据进行打包,得到所述加密文件。
在一种可能的实现方式中,所述加密算法包括一个或者多个加密信息,所述根据预设的加密算法对多个所述配置文件进行加密,得到加密文件,包括:
获取每个所述配置文件的第一标识信息;
根据每个所述配置文件的所述第一标识信息,对多个所述配置文件的数据进行打包,得到目标文件;
确定所述一个或者多个加密信息中的目标加密信息;
根据所述目标加密信息对所述目标文件进行加密,得到所述加密文件,所述加密文件的文件头信息包括所述目标加密信息的第二标识信息和每个所述配置文件的所述第一标识信息。
在一种可能的实现方式中,所述加密算法包括多个加密信息,所述根据预设的加密算法对多个所述配置文件进行加密,得到加密文件,包括:
获取每个所述配置文件的第一标识信息;
根据每个所述配置文件的所述第一标识信息,对多个所述配置文件的数据进行打包,得到目标文件;
根据多个所述配置文件的个数确定多个所述加密信息中的目标加密信息;
根据所述目标加密信息对所述目标文件进行加密,得到所述加密文件,所述加密文件的文件头信息包括所述个数和每个所述配置文件的所述第一标识信息。
在一种可能的实现方式中,所述加密算法包括预设的密码生成器和初始密码,所述根据预设的加密算法对多个所述配置文件进行加密,得到加密文件,包括:
基于所述密码生成器,根据所述个数和所述初始密码生成与每个所述配置文件对应的加密信息;
根据各个所述配置文件对应的所述加密信息,分别对各个所述配置文件的数据进行加密,得到各个所述配置文件的子加密文件;
获取每个所述配置文件的第一标识信息;
根据每个所述配置文件的所述第一标识信息,对多个所述子加密文件进行打包,得到所述加密文件,所述加密文件的文件头信息包括所述个数、所述初始密码和每个所述配置文件的所述第一标识信息。
第三方面,本申请实施例提供一种第一模型处理设备,第一模型处理设备被配置为执行如上述第一方面或第一方面的任一可选方式所述的模型解密方法。
在一种可能的实现方式中,所述第一模型处理设备为边缘设备。
第四方面,本申请实施例提供一种第二模型处理设备,第二模型处理设备被配置为执行如上述第二方面或第二方面的任一可选方式所述的模型加密方法。
在一种可能的实现方式中,所述第二模型处理设备为服务器。
第五方面,本申请实施例提供一种安全通信***,该***包括:第一模型处理设备和与所述第一模型处理设备通信的第二模型处理设备,所述第二模型处理设备用于执行上述第二方面或第二方面的各种可能的实现方式中所述的模型加密方法,所述第一模型处理设备用于执行上述第一方面或第一方面的各种可能的实现方式中所述的模型解密方法。
第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有加密模块的控制程序,所述加密模块的控制程序被处理器执行时实现上述第一方面或第一方面的各种可能的实现方式中所述的模型解密方法。
第七方面,本申请实施例提供一种计算机可读存储介质,其上存储有加密模块的控制程序,所述加密模块的控制程序被处理器执行时实现上述第二方面或第二方面的各种可能的实现方式中所述的模型加密方法。
第八方面,本申请实施例提供一种芯片,所述芯片包括处理器,所述处理器和存储器耦合,所述处理器执行所述存储器中存储的计算机程序或指令,以实现上述第一方面或第一方面的各种可能的实现方式中所述的模型解密方法。
第九方面,本申请实施例提供一种芯片,所述芯片包括处理器,所述处理器和存储器耦合,所述处理器执行所述存储器中存储的计算机程序或指令,以实现上述第二方面或第二方面的各种可能的实现方式中所述的模型加密方法。可选的,该第九方面描述的芯片部署在具有深度学习框架的模型处理设备中。
第十方面,提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面或第一方面的各种可能的实现方式中所述的模型解密方法。
第十一方面,提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第二方面或第二方面的各种可能的实现方式中所述的模型加密方法。
附图说明
图1为本申请实施例提供的一种安全通信***的结构示意图;
图2为本申请实施例提供的一种模型加密方法的流程示意图;
图3为本申请实施例提供的一种模型解密方法的流程示意图;
图4为本申请实施例提供的一种第二模型处理设备的结构示意图;
图5为本申请实施例提供的一种第一模型处理设备的结构示意图;
图6为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在很多AI项目中,网络模型的开发、维护(例如升级)和部署都是在不同模型处理设备上进行。例如,很多企业会在服务器端开发和维护网络模型,而为了提响应速度(例如,若模型部署在服务端,则需要将从生产环境中采集的数据发回服务器处理,可能导致响应速度慢),将模型部署在边缘设备。又或者,模型提供方和模型使用方为不同的企业,模型使用方为了保证生产环境内数据的隐私性,则需要模型提供方将网络模型部署在生产化境中的模型处理设备上。
因此,基于对响应速度的考虑,和/或部分生产环境内数据的隐私性要求,很多时候,网络模型需要部署在处于生产环境中的模型处理设备(例如,边缘设备)上,以在生产环境执行对应业务场景的检测任务。其中,生产环境是指网络模型所对应的业务场景的检测对象。
例如,在自动驾驶场景中,生产环境可以指自动驾驶设备和/或自动驾驶设备周边的交通环境,假设自动驾驶场景中网络模型为对象识别模型,用于将自动驾驶设备所处周边环境中的对象进行不用颜色的标记(汽车用蓝色标记,人用红色标记,树用绿色标记,建筑物用灰色标记等),那么,生产环境则为自动驾驶设备所处周边环境。
又例如,在道路巡检场景中,假设网络模型为道路异常检测模型,用于识别路面是否存在异常物,例如,障碍物(比如,垃圾桶、土堆、警示桶等)、横幅、破损道路(比如,网裂、纵缝、恒缝、坑槽等)。那么生产环境是指巡检车经过的道路区。
又例如,在监控场景中,假设网络模型为目标跟踪,用于标记监控场景中出现的目标对象,那么生产环境即为对应的监控区域,边缘设备即为监控区域内设置的摄像头或者与摄像头连接的监控设备等。
针对上述道路巡检场景、自动驾驶场景等,若网络模型部署在服务器端,边缘设备将检测到的交通环境信息、路面信息发回服务器处理,那么当服务器同时处理大量边缘设备返回的信息时,则会产生较大的延迟,无法及时返回响应。因此,在道路巡检场景、自动驾驶场景中,更适合将网络模型部署在边缘设备上。而对于上述监控场景,由于监控区域内信息具有一定的隐私性,若将监控信息发回服务器处理,则会存在隐私泄露的隐患,因此,在监控场景中,同样更适合将网络模型部署在边缘设备上。
为了提高网络模型在边缘设备上的部署效率,边缘设备上通常安装对应的深度学习模型,当算法供应方通过服务器将训练好的网络模型的相关数据发送给边缘设备,边缘设备可以直接将相关数据导入深度学习框架内运行。
然而,目前训练好的网络模型的相关数据在设备间进行传输的过程中,常常发生模型数据泄露的问题,无法保证网络模型的安全性。为此,本申请提供一种模型加密方法和模型解密方法,以保证网络模型的相关数据在传输过程中的安全性。
下面结合具体实施例,对本申请提供的模型加密方法、模型解密方法进行是示例性的说明。
参见图1,为本申请提供的一种通信***示意图,包括至少一个第一模型处理设备和第二模型处理设备。其中,第二模型处理设备用于对训练好的网络模型进行加密,并将加密文件传输给第一模型处理设备。可选的,第二模型处理设备上可以安装深度学习框架,用于训练以及维护网络模型。
第一模型处理设备内安装有本申请提供的深度学习框架,该深度学习框架中融合有解密算法,能够直接导入网络模型的加密文件,使得深度学习框架可以实现网络模型的功能。在本申请实施例中,融合有解密算法的深度学习框架在安装到第一模型处理设备中时,可以先对深度学习框架进行编译,即将深度学习框架的代码编译成二进制代码,第一模型处理设备可以通过运行该二进制代码来实现该深度学习框架的功能。值得说明的是,经过编译后,能够保护该深度学习框架的代码在该第一模型处理设备上的隐私性,从而提高该深度学习框架的安全性,从而进一步保证运行在该深度学习框架中的网络模型的安全性,以及解密算法的安全性。
基于图1所示通信***,参见图2为本申请提供的一种模型加密算法,应用于上述第二模型处理设备,如图2所示,该模型加密算法包括:
S201,获取基于深度学习框架训练得到的目标网络模型的多个配置文件。
示例性的,其中,深度学习框架可以是TensorFlow、PaddlePaddle、Mxnet、PyTorch以及darknet等。
在一个示例中,该深度学习框架可以安装在第二模型处理设备内,算法供应方可以直接按照业务场景的业务需求,在第二模型处理设备上基于深度学习框架搭建并训练网络模型,得到训练好的目标网络模型的多个配置文件。
可选的,目标网络模型也可以在其他计算机上训练,算法供应方也可以在其他计算机上训练得到目标网络模型的多个配置文件后,将多个配置文件上传到第二模型处理设备中,以供第一模型处理设备下载。
示例性的,以darknet框架为例,darknet框架是一个较为轻型的完全基于C与CUDA的开源深度学习框架,其主要特点就是容易安装,没有任何依赖项(OpenCV都可以不用),移植性非常好,支持CPU与GPU两种计算方式。该基于darknet深度学习框架的目标网络模型可以为神经网络模型,该神经网络模型关联的多个配置文件包括:模型文件、权重文件、数据文件以及类别名文件。
其中,权重文件包括网络结构中各个节点的权重值。数据文件包括:所述目标网络模型中需要关联的各种数据的路径,包括训练数据路径、训练模型生成路径、验证数据路径、类别数以及类别名文件路径。其中,类别名文件用于确定所述模型输出的结果的类别名。比如,类别名文件包括模型检测或分类的类别名,比如在道路巡检项目中,类别名文件可以包括如下类别名:obstacle、banner、crack、tfcone、shade、tfindicator、bdmarker。
S202,根据预设的加密算法对多个所述配置文件的数据进行加密,得到加密文件。
其中,加密算法为与第一模型处理设备中安装的深度学习框架中融合的解密算法对应的算法。下面列举几种可能的加密方式进行示例性的说明:
在一种实现方式中,第二模型处理设备可以对各个配置文件进行单独加密,获得多个加密文件,例如,如下方式一和方式二。
方式一:第二模型处理设备可以采用不同的加密信息对各个配置文件进行单独加密,获得多个加密文件。例如,加密算法包括多个约定好的加密信息(例如,密钥),每个加密信息对应一个第二标识信息。假设,第二标识信息为编号,第二模型处理设备可以按照多个配置文件的加载顺序,依次选择对应编号的加密信息对配置文件的数据进行加密。通过所采用的加密信息的编号顺序来标记每个配置文件的加载顺序。
其中,多个配置文件的加载顺序是指将多个配置文件的数据导入深度学习框架时,深度学习框架加载各个配置文件的数据时的顺序。例如,针对darknet深度学习框架,多个配置文件包括模型文件、权重文件、数据文件以及类别名文件。那么,在加载多个配置文件的数据时,需要先在darknet深度学习框架中导入模型文件,以在darknet深度学习框架中构建该目标网络模型的网络架构,然后再导入权重文件,以在darknet深度学习框架中确定该目标网络架构各个节点的权重,之后再可以导入类别名文件和数据文件。
方式二:第二模型处理设备也可以采用相同的加密信息对各个配置文件分别进行加密,获得多个加密文件。例如,加密算法包括一个或多个约定好的加密信息,每个加密信息关联有一个第二标识信息,在该方式中,上述S202可以包括:
获取每个所述配置文件的第一标识信息,根据一个或多个所述加密信息中的目标加密信息,分别对每个所述配置文件中的数据进行加密,得到多个加密文件。此时,各个配置文件对应的加密文件的文件头信息包括该配置文件的第一标识信息和目标加密信息的第二标识信息。
其中,第一标识信息可以为预先设定的编号信息,通过编号信息,第一模型处理设备上安装的深度学习框架可以通过编号信息来识别解码得到的各个配置文件的数据的加载顺序。或者,第一标识信息也可以根据每个配置文件的属性来设置。例如,可以将各个配置文件的扩展名作为对应的第一标识信息。深度学习框架可以根据扩展名来识别各个配置文件的数据的加载顺序。
在另一个实施例中,第二模型处理设备也可以将多个配置文件的数据打包为一个文件进行加密。例如,如下多种可选的方式。
方式三:当深度学习框架中融合的解密算法中包括各个配置文件的第一标识信息,即解密方和加密方已知各个配置文件对应的第一标识信息,那么上述S202可以包括:
获取每个所述配置文件的第一标识信息;根据每个所述配置文件的所述第一标识信息,对多个所述配置文件的数据进行打包,得到所述加密文件。
即加密文件的数据部中包括各个配置文件的数据和各个配置文件的第一标识信息。例如,第一标识信息可以位于对应的配置文件的数据之前。比如,模型文件的第一标识信息为A,数据为010101,权重文件的第一标识信息为B,数据为101010,数据文件的第一标识信息为C,数据为110,类别名文件的第一标识信息为D,数据为001,那么加密文件的数据部包括A010101B101010C110D001。
可以理解的是,当深度学习框架中融合的解密算法中不包括各个配置文件的第一标识信息时,那么在方式三中,第二模型处理设备可以在所述加密文件的文件头信息中增加第一标识信息的列表,以使得深度学习框架可以根据从文件头信息中提取的第一标识信息的列表,对加密文件的数据部的数据进行解密。
方式四、为了进一步增强数据的保密性,在方式三的基础上,第二模型处理设备还可以对打包的文件进行进一步加密。即在方式五中,所述加密算法包括一个或者多个加密信息,上述S202具体可以包括:
获取每个所述配置文件的第一标识信息;根据每个所述配置文件的所述第一标识信息,对多个所述配置文件的数据进行打包,得到目标文件;确定所述一个或者多个加密信息中的目标加密信息;根据所述目标加密信息对所述目标文件进行加密,得到所述加密文件,所述加密文件的文件头信息包括所述目标加密信息的第二标识信息。
可以理解的是,当深度学习框架中融合的解密算法中不包括各个配置文件的第一标识信息时,那么在方式四中,第二模型处理设备可以在所述加密文件的文件头信息中增加第一标识信息的列表(所述加密文件的文件头信息包括所述目标加密信息的第二标识信息和每个所述配置文件的第一标识信息),以使得深度学习框架可以根据从文件头信息中提取的第一标识信息的列表,对加密文件的数据部的数据进行解密。
方式五、当加密算法包括多个约定好的加密信息时,第二模型处理设备也可以根据待加密的配置文件的个数选择对应的加密信息作为目标加密信息。例如,当目标网络模型存在3个需要发送的配置文件时,则可以选择第三个加密信息作为目标加密信息,目标网络模型存在4个需要发送的配置文件时,则可以选择第四个加密信息作为目标加密信息等。那么,示例性的,上述S202具体可以包括:
获取每个所述配置文件的第一标识信息;根据每个所述配置文件的所述第一标识信息,对多个所述配置文件的数据进行打包,得到目标文件;根据多个所述配置文件的个数确定多个所述加密信息中的目标加密信息;根据所述目标加密信息对所述目标文件进行加密,得到所述加密文件,所述加密文件的文件头信息包括所述个数。
如此,第一模型处理设备中安装的深度学习框架,则可以根据所述个数确定对应的解密信息。同理,当深度学习框架中融合的解密算法中不包括各个配置文件的第一标识信息时,那么在方式五中,第二模型处理设备可以在所述加密文件的文件头信息中增加第一标识信息的列表即所述加密文件的文件头信息包括所述个数和每个所述配置文件的第一标识信息。
方式六、第二模型处理设备也可以根据待加密的配置文件的个数对应生成多个加密密钥。例如,加密算法包括至少一个初始密码和约定好的密码生成器,例如高级加密标准(Advanced Encryption Standard,AES)、数据加密标准(Data Encryption Standard,DES)等。示例性的,在方式六中,上述S202具体可以包括:
基于所述密码生成器,根据所述个数和所述初始密码生成与每个所述配置文件对应的加密信息;根据各个所述配置文件对应的所述加密信息,分别对各个所述配置文件的数据进行加密,得到各个所述配置文件的子加密文件;获取每个所述配置文件的第一标识信息;根据每个所述配置文件的所述第一标识信息,对多个所述子加密文件进行打包,得到所述加密文件,所述加密文件的文件头信息包括所述个数和所述初始密码。
可选的,当深度学习框架中融合的解密算法中不包括各个配置文件的第一标识信息时,那么在方式六中,第二模型处理设备可以在所述加密文件的文件头信息中增加第一标识信息的列表,即所述加密文件的文件头信息包括所述个数、所述初始密码和每个所述配置文件的所述第一标识信息。
值得说明的是,上述列举的六种加密方式仅为示例性的列举,并不是本申请所包含的所有加密方式。
在上述列举的各种加密方式中,目标文件的格式可以为指定格式,该指定格式为使用模型的设备可以解析的格式,比如,strike格式。通过多个配置文件的数据打包为一个目标文件,一方面便于深度学习框架一次性解密多个配置文件的数据,另一方面,提高了异地加密的加密程度。
S203,向第一模型处理设备发送所述加密文件。
所述第一模型处理设备安装有所述融合有解密算法的深度学习框架,且所述深度学习框架中配置有与所述加密算法对应的解密算法。
值得说明的是,采用本申请提供的加密方法,一方面能够与融合有解密算法的深度学习框架适配,使得深度学习框架可以直接导入加密文件,避免在深度学习框架外进行解密时,导致模型参数泄露的问题。另一方面,该加密方法与对应的解密方法异步处理,这样在模型版本升级时,只需要在第二模型处理设备加密升级后的网络模型即可,不依赖于硬件环境,不影响升级。
相应的,基于上述模型加密方法,参见图3为本申请提供的一种模型解密算法,应用于图1所示通信***中的第一模型处理设备,如图3所示,该模型解密算法包括:
S301,获取目标网络模型的加密文件。
可以理解的是,第一模型处理设备可以从第二模型处理设备下载目标网络模型的加密文件,或者接收第二模型处理设备直接发送的加密文件。
S302,将所述加密文件导入所述深度学习框架中。
第一模型处理设备在将加密文件导入深度学习框架后,深度学习框架即可执行相关的解密以及加载操作,使得所述目标网络模型能够在所述深度学习框架中运行。
具体的,深度学习框架在接收到加密文件后,可以先根据配置的解密算法对加密文件进行解密,得到所述目标网络模型的模型数据,之后加载解码得到的模型数据,以使得目标网络模型能够在所述深度学习框架中运行。
下面分别对应上述列举的六种加密方式,结合如下六种解密方式,对上述S302进行示例性的说明。
针对上述方式一所述的加密方式,一种可能的解密方式为:解密算法可以包括一个或多个解密信息,和每个解密信息对应的第二标识信息。当第一模型处理设备将接收到的每个配置文件对应的加密文件,并将多个加密文件导入深度学习框架后,深度学习框架可以针对每个加密文件,先从文件头信息中解析出来的对应的第二标识信息,然后根据第二标识信息对应的解码信息从加密文件中解码得到对应的配置文件的数据。且在后续深度学习框架加载各个配置文件的数据时,可以按照加密文件所采用的解码信息的第二标识信息,来确定各个配置文件的数据的加载顺序,并按照顺序进行加载。
针对上述方式二所述的加密方式,一种可能的解密方式为:第一模型处理设备接收到的多个加密文件的文件头信息包括该配置文件的第一标识信息和目标加密信息的第二标识信息。那么,第一模型处理设备将多个加密文件导入深度学习框架后,针对每个加密文件,深度学习框架可以先根据文件头信息确定该加密文件所携带的第二标识信息和第一标识信息,然后根据第一标识信息确定目标解密信息,利用目标解密信息对该加密文件进行解密,得到对应的配置文件的数据。之后,在进行加载时,则可以根据各个配置文件的数据对应的第一标识信息,确定各个配置文件的数据的加载顺序,并按照顺序加载。
针对上述方式三所述的加密方式,第一模型处理设备接收到的加密文件为目标网络模型的多个配置文件的数据打包加密得到的,那么一种可能的解密方式为:所述解密算法包括双方(加密方和解密方)约定的与每个所述配置文件关联的第一标识信息;此时,上述S302可以包括:
通过在所述加密文件中识别每个所述配置文件的第一标识信息,解码得到每个所述配置文件的数据。
可选的,若双方未约定配置文件的第一标识信息,那么可以由第二模型处理设备通过加密文件的文件头信息向第一模型处理设备指示第一标识信息。例如,若第一模型处理设备接收到的加密文件的文件头信息中携带有各个配置文件的第一标识信息,那么此时,上述S302可以包括:
根据所述加密文件的文件头信息确定每个所述配置文件的第一标识信息;通过在所述加密文件中识别每个所述配置文件的第一标识信息,解码得到每个所述配置文件的数据。
针对上述方式四所述的加密方式,第一模型处理设备接收到的加密文件的文件头信息包括第二标识信息。相应的,解密算法可以包括一个或多个解密信息,和每个解密信息对应的第二标识信息,以及所述解密算法包括与每个所述配置文件关联的第一标识信息,那么此时,上述S302可以包括:
根据所述加密文件的文件头信息确定第二标识信息;根据所述第二标识信息确定所述一个或多个解密信息中的目标解密信息;根据所述目标解密信息对所述加密文件进行解密,得到目标文件;通过在所述目标文件中识别每个所述配置文件的所述第一标识信息,解码得到每个所述配置文件的数据。
可选的,各个配置文件的第一标识信息也可以通过携带在加密文件的文件头信息中发送给所述深度学习框架,即第一模型处理设备接收到的加密文件的文件头信息包括第二标识信息和与每个所述配置文件关联的第一标识信息。相应的,解密算法可以包括一个或多个解密信息,和每个解密信息对应的第二标识信息,那么此时,上述S302可以包括:
根据所述加密文件的文件头信息确定第二标识信息和每个所述配置文件的第一标识信息;根据所述第二标识信息确定所述一个或多个解密信息中的目标解密信息;根据所述目标解密信息对所述加密文件进行解密,得到目标文件;通过在所述目标文件中识别每个所述配置文件的所述第一标识信息,解码得到每个所述配置文件的数据。
针对上述方式五所述的加密方式,当第二模型处理设备根据待加密的配置文件的个数选择目标加密信息时,第一模型处理设备中安装的深度学习框架中融合的解密算法则可以包括与不同个数对应的多个解密信息和各个配置的第一标识信息。那么,当第二模型处理设备发送的加密文件的文件头信息中包括目标多个配置文件的个数时,上述S302可以包括:
根据所述加密文件的文件头信息确定所述多个配置文件的个数;根据所述个数确定所述多个解密信息中的目标解密信息;根据所述目标解密信息对所述加密文件进行解密,得到目标文件;通过在所述目标文件中识别每个所述配置文件的所述第一标识信息,解码得到每个所述配置文件的数据。
可选的,在该示例中,各个配置文件的第一标识信息也可以通过携带在加密文件的文件头信息中发送给所述深度学习框架,即第一模型处理设备接收到的加密文件的文件头信息包括配置文件的个数和与每个所述配置文件关联的第一标识信息。相应的,解密算法可以包括与不同数量对应的多个解密信息,那么此时,上述S302可以包括:
根据所述加密文件的文件头信息确定所述多个配置文件的个数和每个所述配置文件的第一标识信息;根据所述个数确定所述多个解密信息中的目标解密信息;根据所述目标解密信息对所述加密文件进行解密,得到目标文件;通过在所述目标文件中识别每个所述配置文件的所述第一标识信息,解码得到每个所述配置文件的数据。
针对上述方式六所述的加密方式,当第二模型处理设备利用预设的密码生成器生成多个密钥,并完成各个配置文件的数据加密时,第一模型处理设备中安装的深度学习框架中融合的解密算法则可以包括对应的密码生成器(例如AES、DES等)和各个配置文件的第一标识信息。那么,当第二模型处理设备发送的加密文件的文件头信息中包括目标多个配置文件的个数和初始密码时,上述S302可以包括:
根据所述加密文件的文件头信息确定所述多个配置文件的个数和初始密码;基于所述密码生成器,根据所述个数和所述初始密码生成与每个所述配置文件对应的解密信息;通过在所述加密文件的数据部中识别每个所述配置文件的所述第一标识信息,解码得到每个所述配置文件的子加密文件;针对每个所述配置文件的子加密文件,根据所述配置文件对应的解密信息,对所述子加密文件行解密,得到所述配置文件的数据。
同理,在该示例中,各个配置文件的第一标识信息也可以通过携带在加密文件的文件头信息中发送给所述深度学习框架,即第一模型处理设备接收到的加密文件的文件头信息包括配置文件的个数、初始密码和与每个所述配置文件的第一标识信息。相应的,解密算法可以包括对应的密码生成器,那么此时,上述S302可以包括:
根据所述加密文件的文件头信息确定所述多个配置文件的个数、初始密码和每个所述配置文件的第一标识信息;基于所述密码生成器,根据所述个数和所述初始密码生成与每个所述配置文件对应的解密信息;通过在所述加密文件的数据部中识别每个所述配置文件的所述第一标识信息,解码得到每个所述配置文件的子加密文件;针对每个所述配置文件的子加密文件,根据所述配置文件对应的解密信息,对所述子加密文件行解密,得到所述配置文件的数据。
可以理解的是,上述解密方式仅为示例性的列举,针对与第二模型处理设备约定的不同加密-解密方式,深度学习框架中的解密算法可以灵活设置。对此,本申请不做限制。
当深度学习框架完成解密后,即可按照加载顺序加载模型数据,使得所述目标网络模型能够在所述深度学习框架中运行。可以理解的是,当模型数据包括多个配置文件的数据时,深度学习框架则可以根据每个配置文件关联第一标识信息确定各个配置文件的数据的加载顺序,或者按照第二标识信息确定加载顺序,然后按照加载顺序加载各个配置文件的数据。
采用本申请实施例提供的模型解密方法,设备之间可以传输目标模型的加密文件,避免目标模型的数据直接泄露,提高目标网络模型的机密性。且第一模型处理设备上安装的深度学习框架中融合有解密算法,第一模型处理设备可以直接将加密文件导入深度学习框架,由深度学习框架在内部完成目标网络模型的加密文件的解密操作,无需利用第三方解密算法对加密文件进行解密,从而避免了利用第三方解密算法解密过程中可能发生的数据泄露问题,从而提高了目标网络模型的机密性。
值得说明的是,当第一模型处理设备和第二模型处理设备为不同的设备时,使得网络模型的加密过程与对应的解密过程异步处理,这样在网络模型版本升级时,只需要在第二模型处理设备对网络模型进行更新升级,并加密更新升级后的网络模型的相关数据即可,不影响第一模型处理设备上网络模型的正常运行。第一模型处理设备只需要在接收到新的加密文件时,及时将加密文件导入深度学习框架,以更新网络模型的版本即可。从而使得模型的升级、加密不依赖于第一模型处理设备的硬件环境,保证升级、加密的效率。
在本申请的一个可能的实施例中,在未成功解密所述模型包文件的情况下,本申请实施例提供的方法还可以包括:发出提示信息,该提示信息用于提示密码错误。
上面结合图1~图3,对本申请实施例的方法进行了说明,下面对本申请实施例提供的执行上述方法的模型处理设备进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的模型处理设备可以执行上述模型解密方法、模型解密方法的步骤。
可以理解的是,各个模型处理设备,例如上述第一模型处理设备和第二模型处理设备等为了实现上述功能,其包括了执行各个功能相应的结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例的第一模型处理设备和第二模型处理设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成单元的情况下,图4示出了上述实施例中所涉及的第二模型处理设备的结构,该第二模型处理设备可以包括:获取单元401、加密单元402以及发送单元403。
获取单元401,用于获取基于深度学习框架训练得到的目标网络模型的多个配置文件。
加密单元402,用于根据预设的加密算法对多个所述配置文件的数据进行加密,得到加密文件。
其中,加密单元402具体采用的加密方式具体可以参考上述如图2所示方法实施例中的相关描述,此处不在赘述。
发送单元403,用于向第一模型处理设备发送所述加密文件,所述第一模型处理设备安装有所述深度学习框架,所述深度学习框架中融合有与所述加密算法对应的解密算法。
在一种可选的实现方式中,该第二模型处理设备还可以包括存储单元,用于存储第二模型处理设备的程序代码和数据。
在采用集成单元的情况下,图5示出了上述实施例中所涉及的第一模型处理设备的结构,该第一模型处理设备可以包括:获取单元501和处理单元502。
获取单元501,用于获取目标网络模型的加密文件。
处理单元502,用于将所述加密文件导入所述深度学习框架中,利用所述解密算法对所述加密文件进行解密,得到所述目标网络模型的模型数据,并在所述深度学习框架中加载所述模型数据,以使得所述目标网络模型能够在所述深度学习框架中运行。
上述单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
举例说明,第二模型处理设备还可以包括处理器和通信接口,上述获取单元401和加密单元402可以部署在处理器上,上述发送单元403可以部署在通信接口上。
举例说明,第一模型处理设备还可以包括处理器和通信接口,上述处理单元502可以部署在处理器上,上述获取单元501可以部署在通信接口上。
处理器也可以称之为控制器,例如可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。通信接口可以是收发器、收发电路或通信接口等。存储单元可以是存储器。
图6是本申请实施例提供的芯片60的结构示意图。芯片60包括一个或两个以上(包括两个)处理器610和通信接口630。
可选的,该芯片60还包括存储器640,存储器640可以包括只读存储器和随机存取存储器,并向处理器610提供操作指令和数据。存储器640的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,存储器640存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本申请实施例中,通过调用存储器640存储的操作指令(该操作指令可存储在操作***中),执行相应的操作。
处理器610控制模型处理设备的处理操作,处理器610还可以称为中央处理单元(central processing unit,CPU)。
存储器640可以包括只读存储器和随机存取存储器,并向处理器610提供指令和数据。存储器640的一部分还可以包括NVRAM。例如应用中存储器640、通信接口630以及存储器640通过总线***620耦合在一起,其中总线***620除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图6中将各种总线都标为总线***620。
上述本申请实施例揭示的方法可以应用于处理器610中,或者由处理器610实现。处理器610可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器610中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器610可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器640,处理器610读取存储器640中的信息,结合其硬件完成上述方法的步骤。
一方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令被运行时,实现如图2中由第二模型处理设备执行的功能。
一方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令被运行时,实现如图3中由第一模型处理设备执行的功能。
一方面,提供一种包括指令的计算机程序产品,计算机程序产品中包括指令,当指令被运行时,实现如图2中由第二模型处理设备执行的功能。
一方面,提供一种包括指令的计算机程序产品,计算机程序产品中包括指令,当指令被运行时,实现如图3中由第一模型处理设备执行的功能。
一方面,提供一种芯片,该芯片应用于第二模型处理设备中,芯片包括至少一个处理器和通信接口,通信接口和至少一个处理器耦合,处理器用于运行指令,以实现如图2中由第二模型处理设备执行的功能。
一方面,提供一种芯片,该芯片应用于第一模型处理设备中,芯片包括至少一个处理器和通信接口,通信接口和至少一个处理器耦合,处理器用于运行指令,以实现如图3中由第一模型处理设备执行的功能。
以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种模型解密方法,其特征在于,所述方法应用于第一模型处理设备,所述第一模型处理设备安装有深度学习框架,所述深度学习框架中融合有解密算法,所述方法包括:
获取目标网络模型的加密文件;
将所述加密文件导入所述深度学习框架中,利用所述解密算法对所述加密文件进行解密,得到所述目标网络模型的模型数据,并在所述深度学习框架中加载所述模型数据,以使得所述目标网络模型能够在所述深度学习框架中运行。
2.根据权利要求1所述的方法,其特征在于,所述模型数据包括所述目标网络模型的多个配置文件的数据,所述解密算法包括与每个所述配置文件关联的第一标识信息;
所述利用所述解密算法对所述加密文件进行解密,得到所述目标网络模型的模型数据,包括:
通过在所述加密文件中识别每个所述配置文件的第一标识信息,解码得到每个所述配置文件的数据。
3.根据权利要求1所述的方法,其特征在于,所述模型数据包括所述目标网络模型的多个配置文件的数据,所述解密算法包括一个或多个解密信息;所述利用所述解密算法对所述加密文件进行解密,得到所述目标网络模型的模型数据,包括:
根据所述加密文件的文件头信息确定第二标识信息和每个所述配置文件的第一标识信息;
根据所述第二标识信息确定所述一个或多个解密信息中的目标解密信息;
根据所述目标解密信息对所述加密文件进行解密,得到目标文件;
通过在所述目标文件中识别每个所述配置文件的所述第一标识信息,解码得到每个所述配置文件的数据。
4.根据权利要求1所述的方法,其特征在于,所述模型数据包括所述目标网络模型的多个配置文件的数据,所述解密算法包括多个解密信息;所述利用所述解密算法对所述加密文件进行解密,得到所述目标网络模型的模型数据,包括:
根据所述加密文件的文件头信息确定所述多个配置文件的个数和每个所述配置文件的第一标识信息;
根据所述个数确定所述多个解密信息中的目标解密信息;
根据所述目标解密信息对所述加密文件进行解密,得到目标文件;
通过在所述目标文件中识别每个所述配置文件的所述第一标识信息,解码得到每个所述配置文件的数据。
5.根据权利要求1所述的方法,其特征在于,所述模型数据包括所述目标网络模型的多个配置文件的数据,所述解密算法包括预设的密码生成器;所述利用所述解密算法对所述加密文件进行解密,得到所述目标网络模型的模型数据,包括:
根据所述加密文件的文件头信息确定所述多个配置文件的个数、初始密码和每个所述配置文件的第一标识信息;
基于所述密码生成器,根据所述个数和所述初始密码生成与每个所述配置文件对应的解密信息;
通过在所述加密文件的数据部中识别每个所述配置文件的所述第一标识信息,解码得到每个所述配置文件的子加密文件;
针对每个所述配置文件的子加密文件,根据所述配置文件对应的解密信息,对所述子加密文件行解密,得到所述配置文件的数据。
6.一种模型加密方法,其特征在于,所述方法应用于第二模型处理设备中,所述方法包括:
获取基于深度学习框架训练得到的目标网络模型的多个配置文件;
根据预设的加密算法对多个所述配置文件的数据进行加密,得到加密文件;
向第一模型处理设备发送所述加密文件,所述第一模型处理设备安装有所述深度学习框架,所述深度学习框架中融合有与所述加密算法对应的解密算法。
7.根据权利要求6所述的方法,其特征在于,所述加密算法包括一个或者多个加密信息,所述根据预设的加密算法对多个所述配置文件进行加密,得到加密文件,包括:
获取每个所述配置文件的第一标识信息;
根据每个所述配置文件的所述第一标识信息,对多个所述配置文件的数据进行打包,得到目标文件;
确定所述一个或者多个加密信息中的目标加密信息;
根据所述目标加密信息对所述目标文件进行加密,得到所述加密文件,所述加密文件的文件头信息包括所述目标加密信息的第二标识信息和每个所述配置文件的所述第一标识信息。
8.根据权利要求6所述的方法,其特征在于,所述加密算法包括多个加密信息,所述根据预设的加密算法对多个所述配置文件进行加密,得到加密文件,包括:
获取每个所述配置文件的第一标识信息;
根据每个所述配置文件的所述第一标识信息,对多个所述配置文件的数据进行打包,得到目标文件;
根据多个所述配置文件的个数确定多个所述加密信息中的目标加密信息;
根据所述目标加密信息对所述目标文件进行加密,得到所述加密文件,所述加密文件的文件头信息包括所述个数和每个所述配置文件的所述第一标识信息。
9.根据权利要求6所述的方法,其特征在于,所述加密算法包括预设的密码生成器和初始密码,所述根据预设的加密算法对多个所述配置文件进行加密,得到加密文件,包括:
基于所述密码生成器,根据所述个数和所述初始密码生成与每个所述配置文件对应的加密信息;
根据各个所述配置文件对应的所述加密信息,分别对各个所述配置文件的数据进行加密,得到各个所述配置文件的子加密文件;
获取每个所述配置文件的第一标识信息;
根据每个所述配置文件的所述第一标识信息,对多个所述子加密文件进行打包,得到所述加密文件,所述加密文件的文件头信息包括所述个数、所述初始密码和每个所述配置文件的所述第一标识信息。
10.一种模型处理设备,其特征在于,被配置为执行如权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210867884.5A CN115344886B (zh) | 2022-07-22 | 2022-07-22 | 一种模型加密方法、模型解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210867884.5A CN115344886B (zh) | 2022-07-22 | 2022-07-22 | 一种模型加密方法、模型解密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115344886A true CN115344886A (zh) | 2022-11-15 |
CN115344886B CN115344886B (zh) | 2023-11-24 |
Family
ID=83949802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210867884.5A Active CN115344886B (zh) | 2022-07-22 | 2022-07-22 | 一种模型加密方法、模型解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115344886B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190087689A1 (en) * | 2017-09-15 | 2019-03-21 | NovuMind Limited | Methods and processes of encrypted deep learning services |
CN110062014A (zh) * | 2019-06-11 | 2019-07-26 | 苏州思必驰信息科技有限公司 | 网络模型的加密、解密方法及*** |
US20200082270A1 (en) * | 2018-09-07 | 2020-03-12 | International Business Machines Corporation | Verifiable Deep Learning Training Service |
CN111191267A (zh) * | 2019-12-04 | 2020-05-22 | 杭州海康威视数字技术股份有限公司 | 一种模型数据的处理方法、装置及设备 |
CN111460472A (zh) * | 2020-03-20 | 2020-07-28 | 西北大学 | 一种基于深度学习图网络的加密算法识别方法 |
CN112508200A (zh) * | 2020-12-18 | 2021-03-16 | 北京百度网讯科技有限公司 | 处理机器学习模型文件的方法、装置、设备、介质和程序 |
US20210133558A1 (en) * | 2019-10-31 | 2021-05-06 | International Business Machines Corporation | Deep-learning model creation recommendations |
CN112819153A (zh) * | 2020-12-31 | 2021-05-18 | 杭州海康威视数字技术股份有限公司 | 一种模型转化方法及装置 |
CN113190877A (zh) * | 2021-04-29 | 2021-07-30 | 网易(杭州)网络有限公司 | 一种模型加载方法、装置、可读存储介质及电子设备 |
CN113849179A (zh) * | 2020-06-28 | 2021-12-28 | 华为技术有限公司 | 一种人工智能模型发布方法及装置 |
CN114117490A (zh) * | 2021-11-29 | 2022-03-01 | 安徽百诚慧通科技有限公司 | 基于AES算法的pytorch模型加密方法、***及设备 |
CN114329504A (zh) * | 2020-09-30 | 2022-04-12 | 华为技术有限公司 | 一种模型加密方法以及相关设备 |
-
2022
- 2022-07-22 CN CN202210867884.5A patent/CN115344886B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190087689A1 (en) * | 2017-09-15 | 2019-03-21 | NovuMind Limited | Methods and processes of encrypted deep learning services |
US20200082270A1 (en) * | 2018-09-07 | 2020-03-12 | International Business Machines Corporation | Verifiable Deep Learning Training Service |
CN110062014A (zh) * | 2019-06-11 | 2019-07-26 | 苏州思必驰信息科技有限公司 | 网络模型的加密、解密方法及*** |
US20210133558A1 (en) * | 2019-10-31 | 2021-05-06 | International Business Machines Corporation | Deep-learning model creation recommendations |
CN111191267A (zh) * | 2019-12-04 | 2020-05-22 | 杭州海康威视数字技术股份有限公司 | 一种模型数据的处理方法、装置及设备 |
CN111460472A (zh) * | 2020-03-20 | 2020-07-28 | 西北大学 | 一种基于深度学习图网络的加密算法识别方法 |
CN113849179A (zh) * | 2020-06-28 | 2021-12-28 | 华为技术有限公司 | 一种人工智能模型发布方法及装置 |
CN114329504A (zh) * | 2020-09-30 | 2022-04-12 | 华为技术有限公司 | 一种模型加密方法以及相关设备 |
CN112508200A (zh) * | 2020-12-18 | 2021-03-16 | 北京百度网讯科技有限公司 | 处理机器学习模型文件的方法、装置、设备、介质和程序 |
CN112819153A (zh) * | 2020-12-31 | 2021-05-18 | 杭州海康威视数字技术股份有限公司 | 一种模型转化方法及装置 |
CN113190877A (zh) * | 2021-04-29 | 2021-07-30 | 网易(杭州)网络有限公司 | 一种模型加载方法、装置、可读存储介质及电子设备 |
CN114117490A (zh) * | 2021-11-29 | 2022-03-01 | 安徽百诚慧通科技有限公司 | 基于AES算法的pytorch模型加密方法、***及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115344886B (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284313B (zh) | 基于半监督学习的联邦建模方法、设备及可读存储介质 | |
CN104321782B (zh) | web应用的安全执行 | |
Jürjens | Sound methods and effective tools for model-based security engineering with UML | |
US8407800B2 (en) | Method for software vulnerability flow analysis, generation of vulnerability-covering code, and multi-generation of functionally-equivalent code | |
Pal et al. | IoT technical challenges and solutions | |
CN110138731B (zh) | 一种基于大数据的网络防攻击方法 | |
CN116599766B (zh) | 智能电表的检测方法、装置、设备及存储介质 | |
Levshun et al. | The application of the methodology for secure cyber–physical systems design to improve the semi-natural model of the railway infrastructure | |
Marksteiner et al. | Using cyber digital twins for automated automotive cybersecurity testing | |
Nigam et al. | Automated construction of security integrity wrappers for industry 4.0 applications | |
Vasilevskaya et al. | Integrating security mechanisms into embedded systems by domain‐specific modelling | |
Awad et al. | Towards generic memory forensic framework for programmable logic controllers | |
CN115344886B (zh) | 一种模型加密方法、模型解密方法及装置 | |
CN108809731B (zh) | 一种基于地铁调光投影***业务数据链的控制方法 | |
CN115225365B (zh) | 基于国密算法的数据安全传输方法、平台、及*** | |
CN107977225B (zh) | 一种安全漏洞的统一描述方法和描述*** | |
EP4031949B1 (en) | Methods and systems for providing data from an internal data processing system of an industrial plant to an external data processing system | |
Ebert | Cyber security requirements engineering | |
CN107403103A (zh) | 文件解密方法和装置 | |
CN111739190A (zh) | 车辆诊断文件加密方法、装置、设备及存储介质 | |
CN117056896B (zh) | 一种智能控制***形式化验证方法及装置 | |
Dantas | Vulnerability analysis of smart meters | |
Marksteiner et al. | From TARA to Test: Automated Automotive Cybersecurity Test Generation Out of Threat Modeling | |
WO2023102117A1 (en) | Computer security systems and methods using machine learning models | |
CN114124542B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 533, 5th Floor, Building A3A4, Phase I, Zhong'an Chuanggu Science and Technology Park, No. 900 Wangjiang West Road, High tech Zone, Hefei City, Anhui Province, 230031 Applicant after: Anhui Xinxin Science and Technology Innovation Information Technology Co.,Ltd. Address before: 11 / F, building B2, yunhuigu, 156 Tiangu 8th Road, software new town, Yuhua Street office, high tech Zone, Xi'an, Shaanxi 710000 Applicant before: Xi'an Xinxin Information Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |