CN109684839A - 自定义模型防篡改方法、装置、终端设备及存储介质 - Google Patents

自定义模型防篡改方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN109684839A
CN109684839A CN201811557543.8A CN201811557543A CN109684839A CN 109684839 A CN109684839 A CN 109684839A CN 201811557543 A CN201811557543 A CN 201811557543A CN 109684839 A CN109684839 A CN 109684839A
Authority
CN
China
Prior art keywords
self
model
check value
definition model
definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811557543.8A
Other languages
English (en)
Inventor
刘耀勇
陈岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201811557543.8A priority Critical patent/CN109684839A/zh
Publication of CN109684839A publication Critical patent/CN109684839A/zh
Priority to PCT/CN2019/109644 priority patent/WO2020125134A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • 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/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例公开了一种自定义模型防篡改方法、装置、终端设备及存储介质,该方法包括当自定义模型生成时,依据所述自定义模型的模型结构文件计算得到对应的第一校验值;将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境中;当所述自定义模型读入时,在所述可信赖执行环境中读取所述模型结构文件以及所述第一校验值,计算所述模型结构文件对应的第二校验值;如果所述第一校验值和所述第二校验值不同,则触发篡改事件,本方案可以有效的解决自定义模型被篡改的问题,提高了自定义模型的稳定性。

Description

自定义模型防篡改方法、装置、终端设备及存储介质
技术领域
本申请实施例涉及计算机技术,尤其涉及一种自定义模型防篡改方法、装置、终端设备及存储介质。
背景技术
随着终端设备普及程度的提高,越来越多的用户使用终端设备执行各种各样的功能以满足自身需求,如使用终端设备阅读文字、观看视频、听音乐、玩游戏等,同时,伴随着人工智能技术的发展,终端设备中部署有一个或多个学习模型以进行人工智能的运算处理。
现有技术中,存在多种对学习模型进行加密的方法,以对学习模型进行保护,该种方式存在缺陷,需要改进。
发明内容
本申请提供了一种自定义模型防篡改方法、装置、终端设备及存储介质,可以有效的解决自定义模型被篡改的问题,提高了自定义模型的稳定性。
第一方面,本申请实施例提供了一种自定义模型防篡改方法,包括:
当自定义模型生成时,依据所述自定义模型的模型结构文件计算得到对应的第一校验值;
将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境中;
当所述自定义模型读入时,在所述可信赖执行环境中读取所述模型结构文件以及所述第一校验值,计算所述模型结构文件对应的第二校验值;
如果所述第一校验值和所述第二校验值不同,则触发篡改事件。
第二方面,本申请实施例还提供了一种自定义模型防篡改装置,包括:
第一校验值计算模块,用于当自定义模型生成时,依据所述自定义模型的模型结构文件计算得到对应的第一校验值;
校验值存储模块,用于将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境中;
第二校验值计算模块,用于当所述自定义模型读入时,在所述可信赖执行环境中读取所述模型结构文件以及所述第一校验值,计算所述模型结构文件对应的第二校验值;
校验值比对模块,用于如果所述第一校验值和所述第二校验值不同,则触发篡改事件。
第三方面,本申请实施例还提供了一种终端设备,包括:处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的自定义模型防篡改方法。
第四方面,本申请实施例还提供了一种包含终端设备可执行指令的存储介质,所述终端设备可执行指令在由终端设备处理器执行时用于执行本申请实施例所述的自定义模型防篡改方法。
本方案中,当自定义模型生成时,依据所述自定义模型的模型结构文件计算得到对应的第一校验值;将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境中;当所述自定义模型读入时,在所述可信赖执行环境中读取所述模型结构文件以及所述第一校验值,计算所述模型结构文件对应的第二校验值;如果所述第一校验值和所述第二校验值不同,则触发篡改事件,可以有效的解决自定义模型被篡改的问题,提高了自定义模型的稳定性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请实施例提供的一种自定义模型防篡改方法的流程图;
图2是本申请实施例提供的另一种自定义模型防篡改方法的流程图;
图3是本申请实施例提供的另一种自定义模型防篡改方法的流程图;
图4是本申请实施例提供的另一种自定义模型防篡改方法的流程图;
图5是本申请实施例提供的一种自定义模型防篡改装置的结构框图;
图6是本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
图1是本申请实施例提供的一种自定义模型防篡改方法的流程图,可适用于自定义模型部署在终端设备进行运行的情况,,该方法可以由本申请实施例提供的终端设备来执行,该终端设备的自定义模型防篡改装置可采用软件和/或硬件的方式实现,如图1所示,本实施例提供的具体方案如下:
步骤S101、当自定义模型生成时,依据所述自定义模型的模型结构文件计算得到对应的第一校验值。
在一个实施例中,该自定义模型定义了深度学习计算框架的模型格式,可用于人工智能和大数据运算,该自定义模型部署在终端设备中,如通过该自定义模型以实现自动美颜、智能拍照、用户兴趣点分析以及智能化数据推荐等。该自定义模型可依据不同的终端设备的硬件、软件系统适配性的生成,还可以是接收服务器发送的自定义模型压缩包或代码段,当接收完毕后在终端设备中生成该自定义模型以用于深度学习或其它智能化运算。现有技术中关注点均在于如何对自定义模型加密以防止被第三方或恶意软件对自定义模型的破解,但对于自定义模型的防篡改存在设计缺陷。
当自定义模型生成时,依据该自定义模型的模型结构文件计算得到对应的第一校验值。其中,自定义模型主要由模型结构文件组成,示例性可以是如下结构模式。
自定义模型结构:
在一个实施例中,依据自定义模型的模型结构文件计算得到对应的第一校验值可以是(以C语言为例,通过调用API进行实现):
使用CryptCreateHash创建一个哈希对象;
使用CryptHashData对模型结构文件中的数据(如字符串数据、二进制数据和十进制数据等)进行哈希运算得到哈希值;
使用CryptSignHash对该哈希值进行签名运算得到第一校验值。
其中,该第一校验值可以是如上描述的哈希签名值,需要说明的是,还可采用其他签名方式,本申请不做限定。
在上述实例中,对哈希值进行签名运算得到第一校验值使用的可以是服务商提供的私钥,在后续进行验证过程中,使用公钥进行解析以得到对应的校验值。
步骤S102、将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境中。
在一个实施例中,将步骤S101中计算得到的第一校验值附加值自定义模型的末尾,具体结构如下:
自定义模型结构:
需要说明的是,该第一校验值还可以是添加到自定义模型的其他位置,本申请不做限定。
其中,可信赖执行环境(Trusted Execute Environment,简称TEE)包括对存储的文件进行自动加密,在读取存储的文件时进行自动解密的数据存储环境。在一个实施例中,将第一校验值添加至自定义模型并存储在可信赖执行环境中,该可信赖执行环境无法被CPU直接访问,仅可被建立安全连接的程序访问。在一个实施例中,该可信赖执行环境的部署方式包括使用开源工具或者基于TEE开发的SDK进行软件实现,具体的,可以是采用T-base、OP-TEE、securiTEE或者TLK中的任意一种。
步骤S103、当所述自定义模型读入时,在所述可信赖执行环境中读取所述模型结构文件以及所述第一校验值,计算所述模型结构文件对应的第二校验值。
在需要进行深度学习运算时需要调用对应的自定义模型并进行自定义模型文件的读取。在一个实施例中,当自定义模型读入时,在可信赖执行环境中读取模型结构文件以及第一校验值,计算模型结构文件对应的第二校验值,其中,计算模型结构文件对应的第二校验值的方式为采用得到第一校验值对应的验证方式,如可以是计算模型结构文件的哈希值并使用存储记录的公钥对哈希值进行运算得到第二校验值,即该第二校验值可以是哈希签名值。
步骤S104、如果所述第一校验值和所述第二校验值不同,则触发篡改事件。
在一个实施例中,对第一校验值和第二校验值进行比对,如果发现二者不同,则意味着该自定义模型被篡改,需要出发相应的篡改事件。其中,篡改事件为确定出自定义模型被篡改后为保证不使用篡改的自定义模型而定义的事件。示例性的,可以是发送自定义模型更新请求至服务器以重新获取自定义模型。
由上述内容可知,分别在自定义模型生成阶段和读取阶段计算自定义模型的校验值进行校验,避免了使用篡改的自定义模型进行运算带来的信息安全隐患,同时,自定义模型存储在可信赖执行环境中,无法被CPU直接访问,且在自定义模型存储和读取时进行对应的加密和解密进一步保证了自定义模型的稳定性。
图2是本申请实施例提供的另一种自定义模型防篡改方法的流程图,可选的,所述触发篡改事件包括:发送模型更新请求至服务器,用于所述服务器下发更新模型文件;接收所述更新模型文件。如图2所示,技术方案具体如下:
步骤S201、当自定义模型生成时,依据所述自定义模型的模型结构文件计算得到对应的第一校验值。
步骤S202、将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境中。
步骤S203、当所述自定义模型读入时,在所述可信赖执行环境中读取所述模型结构文件以及所述第一校验值,计算所述模型结构文件对应的第二校验值。
步骤S204、如果所述第一校验值和所述第二校验值不同,发送模型更新请求至服务器,用于所述服务器下发更新模型文件。
在一个实施例中,当确定出第一校验值和第二校验值不同,则意味着该自定义模型被其他恶意程序进行了篡改,为了保证用户信息安全以及模型运算结果的正确性,避免使用被篡改的自定义模型,采用发送模型更新请求至服务器以获取服务器下发更新模型文件。
步骤S205、接收所述更新模型文件。
在一个实施例中,接收服务器下发的更新模型文件以替换原有的检测出被篡改的自定义模型。相应的,在接收到更新模型文件后计算该模型文件的第一校验值并将该第一校验值附加值该更新模型中保存在可信赖执行环境下,同理,在后续每次使用该更新模型时,相应的读取该保存的数据并进行校验,如果发现更新模型被篡改则相应的重新从服务器请求更新模型。
需要说明的是,自定义模型可由服务器端生成时,依据自定义模型的模型结构文件计算得到对应的第一校验值,并将第一校验值添加至自定义模型下发至终端设备,终端设备接收到该包含第一校验值的自定义模型后保存在可信赖执行环境中。
由上述可知,当确定自定义模型被篡改后,相应的进行自定义模型的更新,以保证深度学习运算使用的模型为非篡改的自定义模型,保证了运行安全以及计算结果的准确性。
图3是本申请实施例提供的另一种自定义模型防篡改方法的流程图,可选的,还包括生成自定义模型的步骤。如图3所示,技术方案具体如下:
步骤S301、将训练完毕的神经网络模型转化为自定义模型。
在一个实施例中,自定义模型由训练完毕的神经网络模型转化而成,具体的,该自定义模型中的算子配置有对应的期望运行设备类型,期望运行设备类型包括CPU、GPU、DSP和NPU中的至少一种。示例性的,该自定模型的转化生成过程可以是:对训练完毕的神经网络模型进行解析,对解析到的每一个算子对应配置关联的期望运行设备类型,相应的,在后续自定义模型被读入时,需要修改某个算子期望在某个计算处理单元上运行时,相应的修改自定义模型文件,无需重新编译代码生成新的二进制可执行文件,相应的,在重新生成自定义模型后同样进行后续第一校验值生成以及在读取自定义模型时计算第二校验值并进行验证的过程。具体的,模型结构示例性的如下:
在一个实施例中,该自定义模型结构文件中包括至少两个算子以及对应的权值信息,至少两个算子和对应的权值信息通过权值信息中记录的隶属算子名称进行关联,进一步提高了自定义模型的架构稳定性以及运行效率。
步骤S302、当自定义模型生成时,依据所述自定义模型的模型结构文件计算得到对应的第一校验值。
步骤S303、将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境中。
步骤S304、当所述自定义模型读入时,在所述可信赖执行环境中读取所述模型结构文件以及所述第一校验值,计算所述模型结构文件对应的第二校验值。
步骤S305、如果所述第一校验值和所述第二校验值不同,则触发篡改事件。
由上述可知,生成的自定义模型可运行在不同的设备中,仅需要修改自定义模型文件,重新进行模型读入即可,无需重新编译代码生成新的二进制可执行文件,是的深度学习模型的配置更加灵活,同时能够防止其修改配置后被其他恶意程序篡改。
图4是本申请实施例提供的另一种自定义模型防篡改方法的流程图,可选的,如果所述第一校验值和所述第二校验值相同,则确定所述自定义模型的运行设备类型,如果所述运行设备类型和所述自定义模型中记录的期望运行设备类型不同,则修改所述自定义模型中的期望运行设备类型为所述运行设备类型,并重新读入修改后的自定义模型。如图4所示,技术方案具体如下:
步骤S401、当自定义模型生成时,依据所述自定义模型的模型结构文件计算得到对应的第一校验值。
步骤S402、将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境中。
步骤S403、当所述自定义模型读入时,在所述可信赖执行环境中读取所述模型结构文件以及所述第一校验值,计算所述模型结构文件对应的第二校验值。
步骤S404、判断第一校验值和第二校验值是否一致,如果是,则执行步骤S405,如果否,则执行步骤S409。
步骤S405、确定所述自定义模型的运行设备类型。
在一个实施例中,该运行设备类型依据不同的硬件环境确定,包括CPU、GPU、DSP和NPU中的至少一种。
步骤S406、判断自定义模型的运行设备类型和自定义模型中记录的期望运行设备类型是否一致,如果是,则执行步骤S407,否则执行步骤S408。
步骤S407、运行所述自定义模型进行数据运算处理。
步骤S408、修改所述自定义模型中的期望运行设备类型为所述运行设备类型,并重新读入修改后的自定义模型。
在一个实施例中,可在确定出自定义模型的运行设备类型和自定义模型中记录的期望运行设备类型不一致后,对自定义模型执行配置修改,如修改算子结构中的期望运行设备类型为当前运行中的设备类型,并重新读入修改后的自定义模型进行深度学习运算。
步骤S409、发送模型更新请求至服务器,用于所述服务器下发更新模型文件,并接收所述更新模型文件。
由上述可知,通过对自定义模型的文件修改,提高了深度学习运算效率,无需进行复杂的重新编译过程,提高了数据运算效率。
图5是本申请实施例提供的一种自定义模型防篡改装置的结构框图,该装置用于执行上述实施例提供的自定义模型防篡改方法,具备执行方法相应的功能模块和有益效果。如图5所示,该装置具体包括:第一校验值计算模块101、校验值存储模块102、第二校验值计算模块103和校验值比对模块104,其中,
第一校验值计算模块101,用于当自定义模型生成时,依据所述自定义模型的模型结构文件计算得到对应的第一校验值。
在一个实施例中,该自定义模型定义了深度学习计算框架的模型格式,可用于人工智能和大数据运算,该自定义模型部署在终端设备中,如通过该自定义模型以实现自动美颜、智能拍照、用户兴趣点分析以及智能化数据推荐等。该自定义模型可依据不同的终端设备的硬件、软件系统适配性的生成,还可以是接收服务器发送的自定义模型压缩包或代码段,当接收完毕后在终端设备中生成该自定义模型以用于深度学习或其它智能化运算。现有技术中关注点均在于如何对自定义模型加密以防止被第三方或恶意软件对自定义模型的破解,但对于自定义模型的防篡改存在设计缺陷。当自定义模型生成时,依据该自定义模型的模型结构文件计算得到对应的第一校验值。
在一个实施例中,依据自定义模型的模型结构文件计算得到对应的第一校验值可以是(以C语言为例,通过调用API进行实现):
使用CryptCreateHash创建一个哈希对象;
使用CryptHashData对模型结构文件中的数据(如字符串数据、二进制数据和十进制数据等)进行哈希运算得到哈希值;
使用CryptSignHash对该哈希值进行签名运算得到第一校验值。
其中,该第一校验值可以是如上描述的哈希签名值,需要说明的是,还可采用其他签名方式,本申请不做限定。
在上述实例中,对哈希值进行签名运算得到第一校验值使用的可以是服务商提供的私钥,在后续进行验证过程中,使用公钥进行解析以得到对应的校验值。
校验值存储模块102,用于将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境中。
其中,可信赖执行环境(Trusted Execute Environment,简称TEE)包括对存储的文件进行自动加密,在读取存储的文件时进行自动解密的数据存储环境。在一个实施例中,将第一校验值添加至自定义模型并存储在可信赖执行环境中,该可信赖执行环境无法被CPU直接访问,仅可被建立安全连接的程序访问。在一个实施例中,该可信赖执行环境的部署方式包括使用开源工具或者基于TEE开发的SDK进行软件实现,具体的,可以是采用T-base、OP-TEE、securiTEE或者TLK中的任意一种。
第二校验值计算模块103,用于当所述自定义模型读入时,在所述可信赖执行环境中读取所述模型结构文件以及所述第一校验值,计算所述模型结构文件对应的第二校验值。
在需要进行深度学习运算时需要调用对应的自定义模型并进行自定义模型文件的读取。在一个实施例中,当自定义模型读入时,在可信赖执行环境中读取模型结构文件以及第一校验值,计算模型结构文件对应的第二校验值,其中,计算模型结构文件对应的第二校验值的方式为采用得到第一校验值对应的验证方式,如可以是计算模型结构文件的哈希值并使用存储记录的公钥对哈希值进行运算得到第二校验值,即该第二校验值可以是哈希签名值。
校验值比对模块104,用于如果所述第一校验值和所述第二校验值不同,则触发篡改事件。
在一个实施例中,对第一校验值和第二校验值进行比对,如果发现二者不同,则意味着该自定义模型被篡改,需要出发相应的篡改事件。其中,篡改事件为确定出自定义模型被篡改后为保证不使用篡改的自定义模型而定义的事件。示例性的,可以是发送自定义模型更新请求至服务器以重新获取自定义模型。
由上述内容可知,分别在自定义模型生成阶段和读取阶段计算自定义模型的校验值进行校验,避免了使用篡改的自定义模型进行运算带来的信息安全隐患,同时,自定义模型存储在可信赖执行环境中,无法被CPU直接访问,且在自定义模型存储和读取时进行对应的加密和解密进一步保证了自定义模型的稳定性。
在一个可能的实施例中,所述校验值比对模块104具体用于:
发送模型更新请求至服务器,用于所述服务器下发更新模型文件;
接收所述更新模型文件。
在一个可能的实施例中,所述可信赖执行环境用于对存储的文件自动进行加密,在所述存储的文件进行读取时自动进行解密。
在一个可能的实施例中,所述自定义模型由训练完毕的神经网络模型转化而成,所述自定义模型中的算子配置有对应的期望运行设备类型,所述期望运行设备类型包括CPU、GPU、DSP和NPU中的至少一种。
在一个可能的实施例中,所述模型结构文件包括至少两个算子以及对应的权值信息,所述至少两个算子和对应的权值信息通过所述权值信息中记录的隶属算子名称进行关联。
在一个可能的实施例中,所述校验值比对模块104具体用于:
如果所述第一校验值和所述第二校验值相同,则确定所述自定义模型的运行设备类型;
该装置还包括自定义模型配置模块105,用于如果所述运行设备类型和所述自定义模型中记录的期望运行设备类型不同,则修改所述自定义模型中的期望运行设备类型为所述运行设备类型,并重新读入修改后的自定义模型。
在一个可能的实施例中,所述校验值存储模块102还用于:
在将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境之前,依据开源工具或者基于TEE开发的SDK搭建可信赖执行环境。
本实施例在上述各实施例的基础上提供了一种终端设备,图6是本申请实施例提供的一种终端设备的结构示意图,如图6所示,该终端设备200包括:存储器201、处理器(Central Processing Unit,CPU)202、外设接口203、RF(Radio Frequency,射频)电路205、音频电路206、扬声器211、电源管理芯片208、输入/输出(I/O)子系统209、触摸屏212、Wifi模块213、其他输入/控制设备210以及外部端口204,这些部件通过一个或多个通信总线或信号线207来通信。
应该理解的是,图示终端设备200仅仅是终端设备的一个范例,并且终端设备200可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于自定义模型防篡改的终端设备进行详细的描述,该终端设备以智能手机为例。
存储器201,所述存储器201可以被CPU202、外设接口203等访问,所述存储器201可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口203,所述外设接口203可以将设备的输入和输出外设连接到CPU202和存储器201。
I/O子系统209,所述I/O子系统209可以将设备上的输入输出外设,例如触摸屏212和其他输入/控制设备210,连接到外设接口203。I/O子系统209可以包括显示控制器2091和用于控制其他输入/控制设备210的一个或多个输入控制器2092。其中,一个或多个输入控制器2092从其他输入/控制设备210接收电信号或者向其他输入/控制设备210发送电信号,其他输入/控制设备210可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器2092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏212,所述触摸屏212是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子系统209中的显示控制器2091从触摸屏212接收电信号或者向触摸屏212发送电信号。触摸屏212检测触摸屏上的接触,显示控制器2091将检测到的接触转换为与显示在触摸屏212上的用户界面对象的交互,即实现人机交互,显示在触摸屏212上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路205,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路205接收并发送RF信号,RF信号也称为电磁信号,RF电路205将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路205可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路206,主要用于从外设接口203接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器211。
扬声器211,用于将手机通过RF电路205从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片208,用于为CPU202、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
上述实施例中提供的终端设备的自定义模型防篡改装置及终端设备可执行本申请任意实施例所提供的终端设备的自定义模型防篡改方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的终端设备的自定义模型防篡改方法。
本申请实施例还提供一种包含终端设备可执行指令的存储介质,所述终端设备可执行指令在由终端设备处理器执行时用于执行一种自定义模型防篡改方法,该方法包括:
当自定义模型生成时,依据所述自定义模型的模型结构文件计算得到对应的第一校验值;
将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境中;
当所述自定义模型读入时,在所述可信赖执行环境中读取所述模型结构文件以及所述第一校验值,计算所述模型结构文件对应的第二校验值;
如果所述第一校验值和所述第二校验值不同,则触发篡改事件。
在一个可能的实施例中,所述触发篡改事件包括:
发送模型更新请求至服务器,用于所述服务器下发更新模型文件;
接收所述更新模型文件。
在一个可能的实施例中,所述可信赖执行环境用于对存储的文件自动进行加密,在所述存储的文件进行读取时自动进行解密。
在一个可能的实施例中,所述自定义模型由训练完毕的神经网络模型转化而成,所述自定义模型中的算子配置有对应的期望运行设备类型,所述期望运行设备类型包括CPU、GPU、DSP和NPU中的至少一种。
在一个可能的实施例中,所述模型结构文件包括至少两个算子以及对应的权值信息,所述至少两个算子和对应的权值信息通过所述权值信息中记录的隶属算子名称进行关联。
在一个可能的实施例中,如果所述第一校验值和所述第二校验值相同,则确定所述自定义模型的运行设备类型,如果所述运行设备类型和所述自定义模型中记录的期望运行设备类型不同,则修改所述自定义模型中的期望运行设备类型为所述运行设备类型,并重新读入修改后的自定义模型。
在一个可能的实施例中,将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境之前,还包括:
依据开源工具或者基于TEE开发的SDK搭建可信赖执行环境。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (10)

1.自定义模型防篡改方法,其特征在于,包括:
当自定义模型生成时,依据所述自定义模型的模型结构文件计算得到对应的第一校验值;
将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境中;
当所述自定义模型读入时,在所述可信赖执行环境中读取所述模型结构文件以及所述第一校验值,计算所述模型结构文件对应的第二校验值;
如果所述第一校验值和所述第二校验值不同,则触发篡改事件。
2.根据权利要求1所述的方法,其特征在于,所述触发篡改事件包括:
发送模型更新请求至服务器,用于所述服务器下发更新模型文件;
接收所述更新模型文件。
3.根据权利要求1所述的方法,其特征在于,所述可信赖执行环境用于对存储的文件自动进行加密,在所述存储的文件进行读取时自动进行解密。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述自定义模型由训练完毕的神经网络模型转化而成,所述自定义模型中的算子配置有对应的期望运行设备类型,所述期望运行设备类型包括CPU、GPU、DSP和NPU中的至少一种。
5.根据权利要求4所述的方法,其特征在于,所述模型结构文件包括至少两个算子以及对应的权值信息,所述至少两个算子和对应的权值信息通过所述权值信息中记录的隶属算子名称进行关联。
6.根据权利要求4所述的方法,其特征在于,如果所述第一校验值和所述第二校验值相同,则确定所述自定义模型的运行设备类型,如果所述运行设备类型和所述自定义模型中记录的期望运行设备类型不同,则修改所述自定义模型中的期望运行设备类型为所述运行设备类型,并重新读入修改后的自定义模型。
7.根据权利要求4所述的方法,其特征在于,将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境之前,还包括:
依据开源工具或者基于TEE开发的SDK搭建可信赖执行环境。
8.自定义模型防篡改装置,其特征在于,包括:
第一校验值计算模块,用于当自定义模型生成时,依据所述自定义模型的模型结构文件计算得到对应的第一校验值;
校验值存储模块,用于将所述第一校验值添加至所述自定义模型并存储在可信赖执行环境中;
第二校验值计算模块,用于当所述自定义模型读入时,在所述可信赖执行环境中读取所述模型结构文件以及所述第一校验值,计算所述模型结构文件对应的第二校验值;
校验值比对模块,用于如果所述第一校验值和所述第二校验值不同,则触发篡改事件。
9.一种终端设备,包括:处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的自定义模型防篡改方法。
10.一种包含终端设备可执行指令的存储介质,其特征在于,所述终端设备可执行指令在由终端设备处理器执行时用于执行如权利要求1-7中任一项所述的自定义模型防篡改方法。
CN201811557543.8A 2018-12-19 2018-12-19 自定义模型防篡改方法、装置、终端设备及存储介质 Pending CN109684839A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811557543.8A CN109684839A (zh) 2018-12-19 2018-12-19 自定义模型防篡改方法、装置、终端设备及存储介质
PCT/CN2019/109644 WO2020125134A1 (zh) 2018-12-19 2019-09-30 自定义模型防篡改方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811557543.8A CN109684839A (zh) 2018-12-19 2018-12-19 自定义模型防篡改方法、装置、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN109684839A true CN109684839A (zh) 2019-04-26

Family

ID=66186906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811557543.8A Pending CN109684839A (zh) 2018-12-19 2018-12-19 自定义模型防篡改方法、装置、终端设备及存储介质

Country Status (2)

Country Link
CN (1) CN109684839A (zh)
WO (1) WO2020125134A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110619233A (zh) * 2019-09-05 2019-12-27 视联动力信息技术股份有限公司 一种文件保护方法和装置
CN110619220A (zh) * 2019-08-09 2019-12-27 北京小米移动软件有限公司 对神经网络模型加密的方法及装置、存储介质
CN111159776A (zh) * 2019-12-24 2020-05-15 山东浪潮人工智能研究院有限公司 一种自适应神经网络模型验证方法及系统
WO2020125134A1 (zh) * 2018-12-19 2020-06-25 Oppo广东移动通信有限公司 自定义模型防篡改方法、装置、终端设备及存储介质
CN112287334A (zh) * 2020-11-06 2021-01-29 浙江中控技术股份有限公司 自定义库处理方法、装置及系统
CN113268737A (zh) * 2020-02-15 2021-08-17 阿里巴巴集团控股有限公司 环境安全验证方法、系统和客户端
WO2021233183A1 (zh) * 2020-05-22 2021-11-25 深圳前海微众银行股份有限公司 神经网络校验方法、装置、设备及可读存储介质
CN114218166A (zh) * 2021-11-04 2022-03-22 北京百度网讯科技有限公司 数据处理方法、装置、电子设备及可读存储介质
CN117672417A (zh) * 2024-01-31 2024-03-08 中国空气动力研究与发展中心计算空气动力研究所 一种表面有限催化模型自定义接口设计方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219198A (zh) * 2013-05-30 2014-12-17 中国银联股份有限公司 一种WebApp的防篡改方法
KR20150072007A (ko) * 2013-12-19 2015-06-29 한국전자통신연구원 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
CN104954353A (zh) * 2015-02-10 2015-09-30 腾讯科技(深圳)有限公司 Apk文件包的校验方法和装置
CN108764487A (zh) * 2018-05-29 2018-11-06 北京百度网讯科技有限公司 用于生成模型的方法和装置、用于识别信息的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298913B (zh) * 2013-07-18 2018-01-09 中国科学院信息工程研究所 一种通用的智能终端安全启动方法
CN104850466B (zh) * 2015-05-22 2018-07-20 中国电力科学研究院 用于智能变电站icd模型之间的一致性校验方法
CN106775716B (zh) * 2016-12-15 2020-04-17 中国科学院沈阳自动化研究所 一种基于度量机制的可信plc启动方法
CN109684839A (zh) * 2018-12-19 2019-04-26 Oppo广东移动通信有限公司 自定义模型防篡改方法、装置、终端设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219198A (zh) * 2013-05-30 2014-12-17 中国银联股份有限公司 一种WebApp的防篡改方法
KR20150072007A (ko) * 2013-12-19 2015-06-29 한국전자통신연구원 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
CN104954353A (zh) * 2015-02-10 2015-09-30 腾讯科技(深圳)有限公司 Apk文件包的校验方法和装置
CN108764487A (zh) * 2018-05-29 2018-11-06 北京百度网讯科技有限公司 用于生成模型的方法和装置、用于识别信息的方法和装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020125134A1 (zh) * 2018-12-19 2020-06-25 Oppo广东移动通信有限公司 自定义模型防篡改方法、装置、终端设备及存储介质
CN110619220A (zh) * 2019-08-09 2019-12-27 北京小米移动软件有限公司 对神经网络模型加密的方法及装置、存储介质
WO2021027043A1 (zh) * 2019-08-09 2021-02-18 北京小米移动软件有限公司 对神经网络模型加密的方法及装置、存储介质
CN110619233A (zh) * 2019-09-05 2019-12-27 视联动力信息技术股份有限公司 一种文件保护方法和装置
CN111159776A (zh) * 2019-12-24 2020-05-15 山东浪潮人工智能研究院有限公司 一种自适应神经网络模型验证方法及系统
CN113268737A (zh) * 2020-02-15 2021-08-17 阿里巴巴集团控股有限公司 环境安全验证方法、系统和客户端
WO2021233183A1 (zh) * 2020-05-22 2021-11-25 深圳前海微众银行股份有限公司 神经网络校验方法、装置、设备及可读存储介质
CN112287334A (zh) * 2020-11-06 2021-01-29 浙江中控技术股份有限公司 自定义库处理方法、装置及系统
CN112287334B (zh) * 2020-11-06 2024-03-08 浙江中控技术股份有限公司 自定义库处理方法、装置及系统
CN114218166A (zh) * 2021-11-04 2022-03-22 北京百度网讯科技有限公司 数据处理方法、装置、电子设备及可读存储介质
CN117672417A (zh) * 2024-01-31 2024-03-08 中国空气动力研究与发展中心计算空气动力研究所 一种表面有限催化模型自定义接口设计方法
CN117672417B (zh) * 2024-01-31 2024-04-05 中国空气动力研究与发展中心计算空气动力研究所 一种表面有限催化模型自定义接口设计方法

Also Published As

Publication number Publication date
WO2020125134A1 (zh) 2020-06-25

Similar Documents

Publication Publication Date Title
CN109684839A (zh) 自定义模型防篡改方法、装置、终端设备及存储介质
CN112733107B (zh) 一种信息验证的方法、相关装置、设备以及存储介质
CN108595970B (zh) 处理组件的配置方法、装置、终端及存储介质
CN103634294B (zh) 信息验证方法和装置
CN103634109B (zh) 操作权限验证方法和装置
US11057216B2 (en) Protection method and protection system of system partition key data and terminal
WO2017118412A1 (zh) 一种更新密钥的方法、装置和系统
US20150319173A1 (en) Co-verification method, two dimensional code generation method, and device and system therefor
CN105282088A (zh) 验证服务器控制方法及系统,验证控制方法及系统
WO2019042180A1 (zh) 资源配置方法及相关产品
CN109375937A (zh) 系统升级方法、装置、终端设备及存储介质
CN103425736A (zh) 一种网页信息识别方法、装置及系统
CN108920366A (zh) 一种子应用调试方法、装置及系统
CN106375478B (zh) 一种移动终端数据的同步方法、装置及系统
CN110765502B (zh) 信息处理方法及相关产品
CN104679627A (zh) 测试方法及装置
CN104683104B (zh) 身份验证的方法、装置及系统
CN108769027A (zh) 安全通信方法、装置、移动终端和存储介质
CN111339181B (zh) 区块存储方法、装置、节点设备及存储介质
CN107766701A (zh) 电子设备、动态库文件保护方法及装置
CN106255102A (zh) 一种终端设备的鉴定方法及相关设备
CN110278273B (zh) 多媒体文件上传方法、装置、终端、服务器和存储介质
CN105577375A (zh) 身份验证方法及装置
CN109145644A (zh) 私钥混淆及数字签名生成方法、装置、智能设备
CN106709342B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190426

RJ01 Rejection of invention patent application after publication