CN111949972A - 人工智能模型的验证方法、系统、设备及存储介质 - Google Patents

人工智能模型的验证方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN111949972A
CN111949972A CN202010103299.9A CN202010103299A CN111949972A CN 111949972 A CN111949972 A CN 111949972A CN 202010103299 A CN202010103299 A CN 202010103299A CN 111949972 A CN111949972 A CN 111949972A
Authority
CN
China
Prior art keywords
verification
artificial intelligence
intelligence model
execution environment
trusted
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
CN202010103299.9A
Other languages
English (en)
Other versions
CN111949972B (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.)
Huakong Tsingjiao Information Technology Beijing Co Ltd
Original Assignee
Huakong Tsingjiao Information Technology Beijing Co 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 Huakong Tsingjiao Information Technology Beijing Co Ltd filed Critical Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority to CN202010103299.9A priority Critical patent/CN111949972B/zh
Publication of CN111949972A publication Critical patent/CN111949972A/zh
Application granted granted Critical
Publication of CN111949972B publication Critical patent/CN111949972B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • 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
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

本申请公开一种人工智能模型的验证方法、系统、设备及存储介质。其中验证方法运行于包含可信任执行环境和不可信任执行环境的终端设备中,所述方法包括:在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到可信性验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型所输出数据的计算机设备进行可信性验证。本申请能够确保验证过程及所得到的可信性验证结果是诚实的、未被篡改的,由此可为业务处理任务可将人工智能模型所提供的运行结果作为安全级数据使用。

Description

人工智能模型的验证方法、系统、设备及存储介质
技术领域
本申请涉及计算机领域,尤其涉及一种人工智能模型的验证方法、终端设备、人工智能模型的可信验证服务端、人工智能模型的可信验证系统、人工智能模型的软件可信验证系统、人工智能模型的可信验证方法、人工智能模型的可信验证设备、人工智能模型的软件可信验证系统、人工智能模型的可信验证系统、及计算机可读存储介质。
背景技术
随着终端设备的硬件升级,越来越多的终端设备能够处理人工智能模型,例如,经训练的神经网络模型等。其中,一些人工智能模型的输入涉及安全级的数据,例如PIN码、指纹特征等,这使得终端设备需具备较高的保护安全级的数据的能力。
然而,终端设备种类繁多且安全性参差不齐;不仅如此,安全级的数据也未必需要或能够稳定的保存在终端设备中,一些如人脸特征、指纹特征、声纹特征等。这使得安装在终端设备中的处理安全级数据的程序本身的可信性需要得到保证。
发明内容
鉴于以上所述相关技术的缺点,本申请的目的在于提供一种人工智能模型的验证方法、终端设备、人工智能模型的可信验证服务端、人工智能模型的可信验证系统、人工智能模型的软件可信验证系统、人工智能模型的可信验证方法、人工智能模型的可信验证设备、人工智能模型的软件可信验证系统、人工智能模型的可信验证系统、及计算机可读存储介质。
为实现上述目的及其他相关目的,在第一方面,本申请公开一种人工智能模型的可信验证方法,其特征在于,所述方法运行于包含可信任执行环境和不可信任执行环境的终端设备中,所述方法包括:在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到可信性验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型的运行结果的计算机设备进行可信性验证。
本申请第二方面提供一种终端设备,包括:存储装置,用于存储人工智能模型,以及存储至少一个验证执行程序和至少一个业务处理程序;处理装置,通过总线与所述存储装置通信,包括:第一处理单元,被配置于不可信任执行环境中,用于调用并执行所述至少一个业务处理程序,以及在所述不可信任执行环境中运行所述人工智能模型;第二处理单元,被配置于可信任执行环境中,用于在所述可信任执行环境中执行所述至少一个验证执行程序以执行如权第一方面描述的验证方法;其中,所述可信任执行环境与所述不可信任执行环境之间数据通信。
在第三方面本申请提供一种人工智能模型的可信验证服务端,包括:接口装置,用于接收待验证的人工智能模型;存储装置,用于存储对应所述人工智能模型的至少一个验证执行程序;处理装置,用于协调所述接口装置和存储装置以执行以下步骤:将所述至少一个验证执行程序发送至安装有所述人工智能模型的终端设备;其中,所述至少一个验证执行程序用于对运行于所述终端设备的不可信任执行环境中的所述人工智能模型进行可信性验证。
在第四方面本申请提供一种人工智能模型的可信验证系统,包括:如第三方面所述的可信验证服务端;如第二方面所述的终端设备。
在第五方面,本申请提供一种人工智能模型的软件可信验证系统,其运行于包含可信任执行环境和不可信任执行环境的终端设备中,所述软件可信验证系统包括验证模块,用于在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型所输出的数据的计算机设备进行可信性验证。
在第六方面,本申请提供一种人工智能模型的可信验证方法,其运行于包括可信任执行环境中的验证设备,所述验证设备与一终端设备之间数据通信,所述终端设备包含不可信任执行环境,其中,所述方法包括:在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到可信性验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型的运行结果的计算机设备进行可信性验证。
在第七方面,本身请提供一种人工智能模型的可信验证设备,包括配置在可信任执行环境中中的以下各单元:接口单元,用于与一终端设备之间数据通信,所述终端设备包含不可信任执行环境;存储单元,用于存储至少一个验证执行程序;处理单元,与所述接口单元和存储单元相连,用于在调用至少一个验证执行程序时执行并实现如第六方面所述的验证方法。
在第八方面,本申请提供一种人工智能模型的软件可信验证系统,所述软件可信验证系统运行于包括可信任执行环境中的验证设备,所述验证设备与一终端设备之间数据通信,所述终端设备包含不可信任执行环境,其中,所述软件可信验证系统包括:验证模块,用于在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到可信性验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型所输出数据的计算机设备进行可信性验证。
在第九方面,本申请提供一种人工智能模型的可信验证系统,包括:如第二方面所述的可信验证服务端;如第七方面中任一所述的验证设备。
在第十方面,本申请提供一种计算机可读存储介质,存储至少一种程序,所述至少一种程序在被调用时执行并实现如第一方面所述的验证方法,或者实现如第六方面所述的验证方法。
综上所述,本申请所提供的一种人工智能模型的验证方法、终端设备、人工智能模型的可信验证服务端、人工智能模型的可信验证系统、人工智能模型的软件可信验证系统、人工智能模型的可信验证方法、人工智能模型的可信验证设备、人工智能模型的软件可信验证系统、人工智能模型的可信验证系统、及计算机可读存储介质,通过在可信任执行环境中对运行在不可信任执行环境中的人工智能模型执行可信性验证,能够确保验证过程及所得到的可信性验证结果是诚实的、未被篡改的,如此确保业务处理任务可将人工智能模型所提供的运行结果作为安全级数据使用。特别适用于安防、金融、保险、投资等领域。
附图说明
本申请所涉及的发明的具体特征如所附权利要求书所显示。通过参考下文中详细描述的示例性实施方式和附图能够更好地理解本申请所涉及发明的特点和优势。对附图简要说明书如下:
图1显示为本申请中终端设备在一实施方式中的结构示意图。
图2显示为本申请中验证方法中执行运行安全性验证在一实施方式中的流程示意图。
图3显示为本申请中验证方法中执行可操作性验证在一实施方式中的流程示意图。
图4显示为本申请中验证方法中执行完整性验证在一实施方式中的流程示意图。
图5显示为本申请中业务处理系统利用所述可信性验证结果执行业务处理在一实施方式中的流程图。
图6显示为本申请中业务处理系统执行业务处理任务在一实施方式中的流程图。
图7显示为本申请中第一软件可信验证系统在一实施方式中的架构图。
图8显示为本申请中基于本申请所述的验证方案及业务处理方案而提供的网络架构在一实施方式中的示意图。
图9显示为本申请基于本申请中所述的可信验证设备在一实施方式中的结构示意图。
图10显示为本申请基于本申请中第二软件可信验证系统在一实施方式中的架构示意图。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。
虽然在一些实例中术语第一、第二等在本文中用来描述各种元件或参数,但是这些元件或参数不应当被这些术语限制。这些术语仅用来将一个参数与另一个参数进行区分。例如,第一运行结果可以被称作第二运行结果,并且类似地,第二运行结果可以被称作第一运行结果,而不脱离各种所描述的实施例的范围。第一运行结果和第二运行结果均是在描述一个运行结果,但是除非上下文以其他方式明确指出,否则它们不是同一个运行结果。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
终端设备通常指经由通信设施向远程计算机输入如程序和/或数据等信息、或接收远程计算机输出如处理结果等信息的设备。终端设备通常设置在能利用通信设施与远程计算机联接工作的方便场所,众多分散的终端设备经由通信设施而与远程计算机通信连接。
所述终端设备不仅具备输入信息和输出信息的功能,还适应于工作场所以提供与工作场所相匹配的计算处理操作。在此,所述终端设备所执行的计算处理操作通常由预先存储在终端设备中的业务处理程序(又可称为Application,APP)执行。当业务处理程序被调用时,终端设备可对本地获取的信息、或远程计算机输入的信息进行计算处理以提供相应业务处理任务。
其中,所述业务处理程序通常是由终端设备单独执行的、或由终端设备和远程计算机配合执行的,其为了完善终端设备原始系统的不足与个性化,为持有终端设备的用户提供更丰富的使用体验的程序。业务处理程序举例包括:为所述用户提供互联网业务的程序,为所述用户提供本地操作的程序。根据终端设备的工作场所,其预存的业务处理程序可来自于应用商城(APP Store),或者出厂前植入的程序。以终端设备为移动终端设备为例,业务处理程序包括:社交类应用程序、电商购物类应用程序、酒店旅游类应用程序、搜索类应用程序等。以终端设备为安防监控终端设备为例,所述业务处理程序包括:活体识别类程序、姿态跟踪/识别类程序、交通监控类程序等。以终端设备为支付终端设备为例,所述业务处理程序包括:自助付款类程序、转账交易类程序、商品识别类程序等。以终端设备为门禁终端设备为例,所述业务处理程序包括:依据经识别的用户权限、依据用户姿态而提供门禁业务类程序等。
在上述举例的终端设备中,为便于携带和安装,所述终端设备大多通过移动网络与位于互联网中的远程计算机进行数据通信。为此,终端设备中通常配置有用于接入移动网络的SIM卡,SIM卡中设有存储PIN码的安全存储单元,这使得终端设备在硬件上提供了一些存储安全级的数据的安全存储器。然而,随着终端设备的算力增强,以PIN码为例的安全级的数据在运算时需要从安全存储器中被读出,这使得PIN码可能处于不可信任执行环境中。或者,另一些安全级的数据并非来自于安全存储器,而是来自于终端设备的采集硬件装置、来自于远程计算机、或者来自于其他终端设备等。为了保持隐私和数据安全,在一些示例中,终端设备将处理安全级的数据的程序存储并由终端设备单独配置的可信任执行环境执行。在市面上终端设备的硬件配置各不相同的情况下,市面上各终端设备中所配置的可信任执行环境也并不统一,这使得可信任执行环境处理数据的能力各不相同,因此,对运算能力要求较高的程序通常运行在不可信任执行环境中。这类程序举例包括利用人工智能模型而设计的程序、或前述提及的业务处理程序等。其中,人工智能模型是指利用可机器学习的算法而设计的数据处理逻辑,其用于对所输入的数据进行与业务处理相关的识别、分类、验证等。人工智能模型通过程序描述相应处理逻辑,并在不可信任执行环境中运行。其中,当描述人工智能模型的程序被调用执行时称为运行所述人工智能模型。其中,所述可机器学习的算法包括但不限于:神经网络算法、决策树算法、聚类算法、随机森林算法、遗传算法等。人工智能模型从功能上包含但不限于以下任一种:生物特征识别模型、图像识别模型、或文字识别模型。在与用户权限鉴权、安防等相关的场景下,人工智能模型在不可信任执行环境中运行时用于对所述终端设备所采集的生物数据进行生物特征数据提取、身份识别、或姿态识别。其中,所述生物特征数据包括但不限于:基于摄像装置所提供的图像数据而生成的生物特征数据、或基于指纹采集装置所提供的指纹数据而生成的生物特征数据。其中,所述图像数据包括人脸图像数据、人体姿态图像数据、或如植物、动物等其他图像数据。人脸图像数据包括但不限于人脸五官图像数据、人脸表情图像数据等。人体姿态图像数据包括但不限于:带有遮挡/不带遮挡的半身姿态图像数据、带有遮挡/不带遮挡的全身姿态图像数据等。所述身份识别举例包括:识别用户真实身份、识别用户在终端设备中预先设置的身份等;其中,真实身份包括可由证件证明的身份;预先设置的身份包括可由终端设备的身份配置信息证明的身份。例如,人工智能模型在不可信任执行环境中运行以识别用户脸部特征数据与身份证中的脸部特征数据的匹配度。又如,人工智能模型在不可信任执行环境中运行以识别用户的指纹特征数据与预存的指纹特征数据的匹配度。所述姿态识别举例包括识别人的表情、识别人体静态动作、或者识别人体动态动作等。例如识别眨眼、头部、嘴唇等动作、识别手势动作、识别肢体动作等。
为了为运行在不可信任执行环境中的人工智能模型及其运行结果被业务处理任务视为可信任的,为使用人工智能模型及其运行结果的业务处理任务提供相应的可信性验证结果,可帮助业务处理任务将人工智能模型的运行过程及其运行结果视为具有如PIN码一样的安全级别。
为此,在一些示例中,终端设备中内置有具备更强运算能力的可信任执行环境以执行所述可信性验证。在另一些示例中,终端设备外置有能够提供可信任执行环境的可信验证设备(又称为验证设备)。为此,所述终端设备包括用于连接该验证设备的接口装置。其中,所述可信验证设备为一种外置设备,其包括但不限于:与终端设备通过数据接口连接的主设备或从设备、或远程服务器等。其中,可信验证设备可与终端设备通过有线接口相连,例如通过USB接口相连。例如,作为主设备,可信验证设备可以为便携式终端(如智能手机、PAD等),其控制终端设备在验证模式/运行模式,其中,在验证模式中,可信验证设备为运行在终端设备中人工智能模型进行可信性验证;在运行模式,可信验证设备辅助终端设备执行业务处理任务,其中业务处理任务需通过运行人工智能模型而执行。又如,作为从设备,可信验证设备可以为具有处理能力的集成电路(如U盾等),其在终端设备中所运行的业务处理任务的调度下执行可信性验证。可信验证设备还可与终端设备通过网络接口通信,例如,可信验证设备为与终端设备通信的服务器设备,利用通信机制,所述可信验证设备对终端设备中运行的人工智能模型进行可信性验证。
其中,所述可信任执行环境至少包括运行在终端设备中的安全操作系统(TrustyOS),该安全操作系统用来为所运行的程序提供版权、数据安全等保护措施。其保护措施可依据如TEE等规范,或者其他自定义的保护规范。所述可信任执行环境还包括在所述安全操作系统对硬件的驱动操作下而运行的第一硬件单元。其中,所述第一硬件单元可以与终端设备中的不可信任执行环境共用,或单独配置。例如,所述可信任执行环境中的第一硬件单元包含单独配置的处理器,或者是主处理器中多个独立的虚拟处理器中的一个。又如,所述可信任执行环境中的第一硬件单元包含独立的存储器、安全存储器(如SIM卡中的安全存储器),或对终端设备中的存储装置进行配置而得到的独立存储区域。再如,所述可信任环境中的第一硬件单元还包括终端设备中进行网络通信的网络接口和进行内部数据传输的总线接口,可信任环境中的各类接口在相应接口协议基础上在保护规范下实现数据传输。
在终端设备中配置有不可信任执行环境。所述不可信任执行环境至少包括运行在终端设备中的、与安全操作系统(Trusty OS)并列的操作系统(OS)。换言之,所述终端设备可配置有独立的安全操作系统(Trusty OS)和操作系统(OS)。该操作系统(OS)举例包括:IOS架构的操作系统、Android架构的操作系统、或Window架构的操作系统等。终端设备中的操作系统(OS)用于为运行业务处理程序及运行人工智能模型的程序提供如管理与配置内存、决定系统资源供需的优先次序、控制所述终端设备的输入与输出装置、操作网络与管理文件系统等基本事务。所述不可信任执行环境还包括终端设备中在所述操作系统(OS)对硬件的驱动操作下而运行的第二硬件单元。其中,所述第二硬件单元可以与可信任执行环境共用,或单独配置。例如,所述不可信任执行环境中的第二硬件单元包含单独配置的处理器,或者是对主处理器配置而得到的多个独立的虚拟处理器中的一个。又如,所述不可信任执行环境中的第二硬件单元包含独立的存储器(如非易失性存储器、易失性存储器等存储装置),或对终端设备中的存储装置配置进行而得到的不可读写可信任执行环境中的存储区域的其他存储区域。再如,所述可信任环境中的第二硬件单元还包括终端设备中进行网络通信的网络接口和进行内部数据传输的总线接口,不可信任环境中的各类接口可依据相应的接口协议执行数据传输。
以可信任执行环境配置于终端设备中为例,所述终端设备包括存储装置、处理装置。其中,所述处理装置还包括第一处理单元和第二处理单元。
其中,存储装置用于存储人工智能模型,存储至少一个验证执行程序和至少一个业务处理程序,以及存储执行下述验证方法而得到的可信性验证结果等。在一些示例中,存储装置可依据存储权限被配置于可信任执行环境和不可信任执行环境中。例如,存储装置为至少一个验证执行程序设置更高的读写权限,业务处理程序等较低读写权限的程序在运行时五大调用任一验证执行程序。在另一些示例中,请参阅图1,其显示为终端设备在一些示例中的结构示意图,存储装置中包含被配置于不可信任执行环境11中的第一存储单元111和被配置为可信任执行环境12中的第二存储单元121。其中,第二存储单元121中包含前述提及的安全存储器,还可以包括缓存等易失性存储介质等。至少一个验证执行程序存储于第二存储单元121。第一存储单元111中包含非易失性存储器,还可以包括缓存等易失性存储介质、存储器控制器等。所述描述人工智能模型的程序和至少一个业务处理程序等保存在第一存储单元111中。
所述处理装置与存储装置通过总线等计算机内部的通信标准进行连接,其中,以图1为例,第一处理单元112被配置于不可信任执行环境11中,用于调用并执行所述至少一个业务处理程序,以及在所述不可信任执行环境11中运行所述人工智能模型,以执行业务处理方法;第二处理单元122被配置于可信任执行环境12中,用于调用并执行所述至少一个验证执行程序,以执行验证方法。
以可信任执行环境配置在可信验证设备为例,请参阅图9,其显示为可信验证设备的结构示意图。其中,所述可信验证设备3包含配置于可信任执行环境中的:接口单元303、处理单元302、存储单元301。其中,接口单元303至少用于与终端设备进行数据通信,其包括串行接口、和/或网络接口。所述验证设备3可以仅包含串行接口,例如USB接口,以连接终端设备1;还可以仅包含网络接口,例如SIM卡读卡器、wifi网络接口,以与终端设备通信;还可以包含串行接口和网络接口,其中通过串行接口连接终端设备1,以及通过网络接口与其他服务器(如可信验证服务端2)通信等。其中,所述存储单元301可对应于上述示例中的第二存储单元,或其他存储器。例如,存储单元包括非易失性存储器和易失性存储器等。处理单元302可对应于上述示例中的第二处理单元,或其他可执行数据处理和数学计算的处理器,如FPGA、CPU、或包含处理器的集成电路等。
在一些示例中,所述终端设备还包括采集装置(未予图示),其用于采集生物数据;所述人工智能模型用于对所采集的生物数据进行特征提取、或识别处理以得到待处理数据。此示例中所涉及的业务处理过程及验证过程还将在后续详述。
为便于描述,后续涉及由可信任执行环境中的各硬件单元在所调用程序的协调下所执行的过程称为由可信任执行环境执行的操作(过程)、或可信任执行环境运行的操作(或过程)。后续涉及由不可信任执行环境中的各硬件单元在所调用程序的协调下所执行的过程称为由不可信任执行环境执行的操作(过程)、或不可信任执行环境运行的操作(或过程)。
在此,所述不可信任执行环境和可信任执行环境之间进行数据通信以使在一种执行环境中存储的数据可在另一种执行环境中被处理。例如,在不可信任执行环境中所运行的支付程序通过读取可信任执行环境中所存储的安全级数据以执行相应的支付处理逻辑。又如,运行在可信任执行环境中的验证执行程序通过读取运行在不可信任执行环境中的人工智能模型所产生的数据以进行可信性验证。
为提高不可信任执行环境和可信任执行环境之间数据通信的安全性,即防止在两执行环境数据通信期间的数据泄露、篡改等安全问题,所述终端设备为所述不可信任执行环境与可信任执行环境之间所交互的数据进行安全保护。在一些示例中,不可信任执行环境和可信任执行环境之间基于密码学技术进行数据通信。例如,利用密钥对不可信任执行环境和可信任执行环境之间传输的数据进行加密以保护数据安全。又如,利用证书对不可信任执行环境和可信任执行环境之间传输的数据进行验证。
当不可信任执行环境运行的人工智能模型影响一些业务处理结果,并且该业务处理结果对治安监控、账号权限、楼宇门禁、资金流转等造成影响时,这类人工智能模型及其所输出的数据需要是可信的。为此,本申请提供一种人工智能模型的可信验证方法。其中,所述可信验证方法适用在至少包含终端设备的可信验证系统中。其中,所述终端设备中的可信任执行环境存储有对应所述人工智能模型的至少一个验证执行程序。所述至少一个验证执行程序用于在调用运行时执行对所述终端设备中不可信任执行环境所运行的人工智能模型进行可信性验证的过程。
其中,在一些实施例中,所述至少一个验证执行程序包含在人工智能模型的业务处理程序(APP)中,并随着用户下载的操作与业务处理程序一并下载到终端设备(或可信验证设备)。
在又一些实施例中,所述至少一个验证执行程序来自于所述可信验证系统,其不仅包含所述终端设备(或可信验证设备),还包括可信验证服务端(或称为可信验证服务端设备)。
在此,为便于举例,以下以终端设备中内置可信任执行环境为例,需要说明的是,利用与终端设备外置连接的可信验证设备的软件和硬件同样可以执行下述过程。
其中,所述可信验证服务端可以是为多个配置有人工智能模型的终端设备提供验证执行程序的单台服务器、服务器集群、分布式服务器群、云服务端等。在此,根据实际设计,所述服务端由云提供商所提供的云服务端提供。其中,所述云服务端包括公共云(Public Cloud)服务端与私有云(Private Cloud)服务端,其中,所述公共或私有云服务端包括Software-as-a-Service(软件即服务,SaaS)、Platform-as-a-Service(平台即服务,PaaS)及Infrastructure-as-a-Service(基础设施即服务,IaaS)等。所述私有云服务端例如阿里云计算服务平台、亚马逊(Amazon)云计算服务平台、百度云计算平台、腾讯云计算平台等等。
在一些示例中,所述可信验证服务端包含接口装置、存储装置、和处理装置。
其中,所述接口装置与处理装置数据连接,其可以通过总线连接,或通过通信网络进行数据传递。为此,所述接口装置包括但不限于网卡、移动网络接入模块、通过总线与处理装置相连的总线接口、以及如USB等串行接口等。各所述接口装置通过互联网、移动网络、及局域网络进行数据通信。例如,可信验证服务端的接口装置与人工智能模型提供商的接口装置、终端设备的接口装置等通信连接,人工智能模型提供商将待发布的描述人工智能模型数据处理关系的程序通过所通信的接口装置上传到所述可信验证服务端。其中,所述人工智能模型运行时用于对所述终端设备所采集的生物数据进行身份识别或姿态识别。例如,对所采集的图像中的人脸特征、体态特征进行特征提取。又如,对所采集的指纹信息进行指纹特征提取。再如,对所提取的人脸特征、体态特征、或指纹特征中的至少一种进行身份识别。还如,对所提取的人脸特征进行表情识别。还如,对所提取的体态特征进行姿态识别等。
所述存储装置包括但不限于:只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、非易失性存储器(Nonvolatile RAM,简称NVRAM)。例如,存储装置包括闪存设备或其他非易失性固态存储设备。在某些实施例中,存储装置还可以包括远离一个或多个处理装置的存储器,例如,经由RF电路或外部端口以及通信网络访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网(LAN)、广域网(WAN)、存储局域网(SAN)等,或其适当组合。存储装置还包括存储器控制器,其可控制移动设备的诸如中央处理器(CPU)和接口装置之类或其他组件对存储器的访问控制。存储装置中存储有从接口装置所接收的描述人工智能模型数据处理关系的程序,以及对应所述人工智能模型的至少一个验证执行程序。
所述处理装置与所述接口装置和存储装置相连,用于调用并执行至少一种程序,以协调所述接口装置、存储装置执行将所述至少一个验证执行程序发送至安装有所述人工智能模型的终端设备。所述处理装置包括一个或多个通中央处理器CPU、一个或多个专用处理器(ASIC)、一个或多个数字信号处理器(Digital Signal Processor,简称DSP)、一个或多个现场可编程逻辑阵列(Field Programmable Gate Array,简称FPGA)、一个或多个图形处理器GPU、或它们的任何组合。处理装置还与接口装置可操作地耦接,该接口装置可使得处理装置能够与各种终端设备进行交互。例如,处理装置读取存储于存储装置的验证执行程序等。
其中,所述至少一个验证执行程序用于在调用时执行针对终端设备所运行的人工智能模型的可信性验证,其包括经编译代码而得到的程序本身以及程序本身执行时所需的验证配置信息。其中,所述可信性验证是一种验证人工智能模型的运行过程和运行结果,以供确认在不可信任执行环境中所运行的人工智能模型的运行过程中是诚实的且未被篡改的,以及其运行结果也为诚实的、未被篡改及未被破坏的。由此,当终端设备执行业务处理任务时所使用的由人工智能模型所提供的运行结果符合客观事实。
其中,所述验证输入数据是指验证人工智能模型所需的输入数据,验证配置信息是指与至少一个验证执行程序所能够验证的种类相关的配置信息,其举例包括以下至少一种:与验证运行结果相关的信息、与调度终端设备中可信任执行环境运行的信息。在此,所述至少一个验证执行程序可依据所运行的人工智能模型的类型、启动人工智能模型的业务处理任务、人工智能模型运行期间易产生的漏洞等方面而确定,其运行时用于保障人工智能模型运行所输出的运行结果在业务处理过程中是可被信任的。在如支付、安防、账户鉴权等业务处理任务中,该验证结果用于为运行在不可信任执行环境中的人工智能模型所输出的运行结果提供其具有安全级数据的可信性的依据。
在一些示例中,所述可信验证服务端的接口装置接收对应某一人工智能模型的至少一个验证执行程序,并通过处理装置将其存储在存储装置中,并当终端设备请求下载描述该人工智能模型的程序时,处理装置从存储装置中读取对应的至少一个验证执行程序,并与描述该人工智能模型的程序一并通过接口装置发送至相应终端设备。
在又一些示例中,所述处理装置基于所述人工智能模型,从验证执行程序集中选择至少一个与所述人工智能模型匹配的验证执行程序。
在此,人工智能模型提供商不仅提供描述人工智能模型的程序本身,还提供了人工智能模型的相关信息。其中,所述相关信息包括以下至少一种:所上传的人工智能模型的文件信息、人工智能模型的类型、输入/输出数据规范、和运行环境等。例如,所述处理装置通过向提供商展示用于上传描述人工智能模型的程序及其相关信息的界面,以获取所述描述人工智能模型的程序和相关信息。其中,文件信息包括但不限于版本信息、文件头信息等。所述人工智能模型的类型包括但不限于与使用场景相关的类型,或与所包含的算法相关的类型等。所述与使用场景相关的类型举例包括以下至少一种:面部识别类型、动物/植物识别类型、表情识别类型、姿态识别类型、文字识别类型等。所述与所包含的算法相关的类型举例包括以下至少一种:CNN算法类型、马尔科夫算法类型、随机森林算法类型、遗传算法类型、LSTM算法类型等。输入/输出数据规范包括但不限于:输入数据规范、输出数据规范、或资源占用规范等。输入数据规范举例包括以下至少一种:数据类型、数据量等,例如,输入数据类型包括以下至少一种:数据对象、数据对象格式、字符串、整型数字、浮点型数字等。输出数据规范举例包括:数据类型、数据量等,例如,输出数据类型包括以下至少一种:数据对象、数据对象的格式、字符串、整型数字、浮点型数字等。资源占用规范举例包括以下至少一种:内存占用量、需调用的外部资源类型等,其中外部资源类型举例包括以下至少一种:终端设备内部资源及权限、互联网服务端所提供服务的类型等。
处理装置将所述相关信息转换成数据库操作语句,从数据库中选择至少一个与所述人工智能模型匹配的验证执行程序的存储地址,并获取各验证执行程序。其中,所述数据库为供处理装置按照相关信息对所存储的信息进行查询、写入、读取、删除等操作的数据管理系统,其举例但不限于:Oracle、MySQL等。验证执行程序集可被存储在所述可信验证服务端的存储装置中,或存储在于与所述可信验证服务端通信的一存储服务器中,利用数据库中所存储的地址链接,处理装置确定被选取的至少一个验证执行程序,以及将相应验证执行程序发送给终端设备。
在再一些示例中,处理装置优先从数据库中选择验证执行程序,若所选择的验证执行程序的类型或数量不满足可信性验证的需求,则提示工作人员生成与相关信息关联的且所缺少的验证执行程序,并将其补充到数据库和验证执行程序集中。
需要说明的是,触发可信验证服务端发送相应验证执行程序的方式不只是如上述举例的下载请求所触发的,还可以当终端设备调用需运行人工智能模型的业务处理程序时,由相应的业务处理任务发出获取相应验证执行程序的请求信息。所述请求信息包括但不限于:人工智能模型的版本信息和终端设备信息等。
在此,所述至少一个验证执行程序中包括以下至少一种:用于对人工智能模型进行运行安全性验证的验证执行程序,用于对人工智能模型进行单操作安全验证的验证执行程序,用于对人工智能模型进行多操作安全验证的验证执行程序,或用于对人工智能模型进行完整性验证的验证执行程序。
所述运行安全性验证是指当描述人工智能模型的程序因被调用而运行人工智能模型时对所调用资源的安全性进行验证。所述资源包括但不限于:终端设备的内存资源、处理器资源、安装在终端设备中的软件资源等。
所述单操作安全验证是指当描述人工智能模型的程序因被调用而运行人工智能模型时,基于单次输入数据而对所运行的人工智能模型所输出的数据进行安全性验证,其包括但不限于:验证所输出的数据的数据格式、验证所输出的数据的数值等。
所述多操作安全验证是指当描述人工智能模型的程序因被调用而运行人工智能模型时基于批量输入数据而对所运行的人工智能模型所批量输出的数据进行安全性验证,其包括但不限于:验证所批量输出的数据的概率分布等。
所述完整性验证是指对描述人工智能模型的程序文件及其配置文件的完整性进行验证,其包括但不限于基于密码技术验证描述人工智能模型的程序文件及其配置文件的完整性,其中,所述密码技术举例包括利用对应于各文件的数值签名、或散列值等进行验证的技术。在一些示例中,可信验证服务端还生成对应人工智能模型的第二密钥,该第二密钥用于被验证执行程序读取并进行所述完整性验证。其中所述第二密钥为利用随机数生成的与人工智能模型的程序文件、和/或配置文件相关的密钥。
可信验证服务端将对应于人工智能模型的至少一个验证执行程序发送至相应终端设备中的可信任执行环境中的安全存储器,以便在终端设备运行来执行验证操作。
为了提高可信验证服务端与终端设备之间数据传输的安全性,所述可信验证服务端与终端设备建立安全通信通道。为此,可信验证服务端可生成或选取对应终端设备的、且用于安全通信的第一密钥,并利用基于密码技术设置的数据传输机制将至少一个验证执行程序发送给相应终端设备。其中,所述数据传输机制举例包括:利用共享密钥技术/非对称密钥技术将加密的至少一个验证执行程序发送给相应终端设备;或者,利用经认证机构签名的数字证书将至少一个验证执行程序发送给相应终端设备。在此,所述第一密钥对应为所述共享密钥、非对称密钥中的一个密钥、或数字证书等。
终端设备的可信任执行环境中的安全存储器所存储的至少一个验证执行程序。为匹配人工智能模型的版本,和/或为防止至少一个验证执行程序或验证执行程序所使用的验证输入信息被破解、损坏等,可信任执行环境中所存储的至少一个验证执行程序可被更新。在一些示例中,所述更新操作所需的更新程序可基于可信验证服务端的更新周期、和/或人工智能模型的版本更新而获取。例如,可信任执行环境获取可信验证服务端所提供的更新程序并运行后得到更新后的至少一个验证执行程序。其中,为确保更新程序在数据传输过程中的数据安全,所述可信任执行环境和可信验证服务端之间的数据通信可基于密码学技术而执行。例如,利用密钥加密更新程序。又如,利用被认可的数字证书来签名更新程序等。
当可信任执行环境调用所安装的或所更新的至少一个验证执行程序时,对在不可信任环境中所运行的人工智能模型进行可信性验证。在此,所述至少一个验证执行程序可基于验证启动步骤来执行可信性验证。
在一些示例中,至少一个验证执行程序被调用执行是基于所监测到的所述人工智能模型的更新操作而启动的,所述至少一个验证执行程序在被可信任执行环境调用时执行对更新后的人工智能模型的可信性验证。其中,所述人工智能模型的更新操作是指更新描述人工智能模型的程序的版本,其包括更新程序、增加或删除程序的配置信息、更新程序版本信息等。
在此,可信任执行环境或不可信任执行环境执行监测描述人工智能模型的程序的更新操作,并在监测到所述更新操作时,调用所述至少一个验证执行程序。例如,当不可信任执行环境监测到终端设备系统升级操作和/或安装在终端设备中描述人工智能模型的程序的版本被更新时,向可信任执行环境发出启动指令,所述可信任执行环境基于所述启动指令调用所述至少一个验证执行程序,以对更新后的人工智能模型进行可信性验证。又如,可信任执行环境监测描述人工智能模型的程序的版本信息,并在监测到版本信息变动时,调用所述至少一个验证执行程序,以对更新后的人工智能模型进行可信性验证。
在又一些示例中,基于所监测到的所述人工智能模型的被调用操作,启动对被调用的人工智能模型的可信性验证。其中,所述人工智能模型的被调用操作是指依据指令调用描述人工智能模型的程序以运行人工智能模型的操作。在此,可信任执行环境监测到人工智能模型运行时,调用所述至少一个验证执行程序。
在再一些示例中,按照预设的验证周期,启动对所述人工智能模型的可信性验证。在此,可信任执行环境按照预设的验证周期调用所述至少一个验证执行程序并向不可信任执行环境发出运行人工智能模型的指令,以对所述人工智能模型进行可信性验证。其中,所述验证周期可以是固定的,也可以以上一次执行可信性验证的起始时刻/结束时刻为起点而设置时间间隔。例如,可信任执行环境执行上一次执行可信性验证是依据人工智能模型的更新操作,则按照验证周期的时间间隔,从上一次执行结束时开始计时,以确定再次执行可信性验证的起始时刻。
需要说明的是,可信任执行环境可根据上述至少一种启动方式来启动所述可信性验证的步骤。
所启动的可信性验证的执行过程包括:在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到可信性验证结果。其中,所述可信性验证信息包括但不限于:人工智能模型运行期间对不可信任执行环境中的软件、硬件资源的占用信息、人工智能模型运行期间所产生的临时数据和/或输出数据等。
在一些示例中,可信任执行环境依据人工智能模型的运行而启动可信性验证的操作,其以人工智能模型在运行时所需输入的数据为验证输入数据,并获取相应的可信性验证信息。
在另一些示例中,可信任执行环境还向不可信任执行环境输出各类可信性验证的验证输入数据,令所述人工智能模型运行在不可信任执行环境中,由此获取相应的可信性验证信息。
按照上述各示例所描述的启动方式、验证输入数据的多种来源、以及可信性验证操作的多种种类,所述可信性验证操作至少包括以下至少一种:
请参阅图2,其显示为进行运行安全性验证的流程示意图。在步骤S110中,利用从所述可信任执行环境所提取的第一验证输入数据,令所述人工智能模型在不可信任执行环境中运行,得到第一运行结果。在步骤S120中,在所述可信任执行环境中,对所述第一运行结果予以运行安全性验证。
在此,第一验证输入数据预先存储于可信任执行环境中,并用于对人工智能模型进行运行安全性验证。当执行运行安全性验证时,第一验证输入数据被可信任执行环境读取,并传输至不可信任执行环境中以使人工智能模型对所述第一验证输入数据进行处理;其中,不可信任执行环境将运行人工智能模型期间所产生的第一运行结果传输给可信任执行环境,所述可信任执行环境对第一运行结果进行运行安全性验证。其中,所述人工智能模型运行期间包括运行开始、运行过程中和运行结束,对应地,所述第一运行结果包括上述运行期间任一时刻所产生的运行信息。其中,第一运行结果包括以下至少一种:与内存占用相关的运行结果、或者与请求外部程序相关的运行结果。与内存占用相关的运行结果举例包括人工智能模型运行期间所占用的内存是否溢出的运行信息等。与请求外部程序相关的运行结果举例包括人工智能模型运行期间所产生的请求外部程序的请求信息、监听信息等。例如,人工智能模型运行期间产生用于与互联网中某服务器建立通信的请求信息;又如,人工智能模型运行期间产生用于启动终端设备中的其他业务的请求信息、或用于监听终端设备预设功能端口的监听信息等。可信任执行环境根据对应运行安全验证类型的各验证执行程序的执行逻辑,将所获取的第一运行结果进行运行安全性验证。例如,将表示内存无溢出的第一运行结果确定为运行安全性合格的验证结果。又如,分析第一运行结果中请求信息中的服务器IP地址是否在白名单/黑名单中,并根据分析结果确定为运行安全性合格/不合格的验证结果。再如,分析第一运行结果中监听信息的监听权限,并根据分析结果确定为运行安全性合格/不合格的验证结果。
请参阅图3,其显示为进行可操作性验证的流程示意图。在步骤S210中,利用从所述可信任执行环境所提取的至少一个第二验证输入数据,令所述人工智能模型在不可信任执行环境中运行并输出与各第二验证输入数据相应的各第二运行结果。在步骤S220中,在所述可信任执行环境中,对各所述第二运行结果进行可操作性验证。
在此,第二验证输入数据存储在可信任执行环境中,并用于对人工智能模型进行可操作性验证。当执行可操作性验证时,第二验证输入数据被可信任执行环境读取,并传输至不可信任执行环境中以使人工智能模型对所述第二验证输入数据进行处理;其中,不可信任执行环境将运行人工智能模型期间所产生的第二运行结果传输给可信任执行环境,所述可信任执行环境对第二运行结果进行可操作性验证。其中,所述可操作性验证包括:单操作性安全验证和多操作性安全验证。其中,所述第二验证输入数据可以与图2示例中所提及的第一验证输入数据为同一验证输入数据或为不同的验证输入数据。所述第二运行结果为人工智能模型对第二验证输入数据进行数据处理后所输出的运行结果,其根据人工智能模型所处理的数据种类和所集成的功能输出相应的运行结果;所述第二运行结果包括以下至少一种:与数据格式相关的运行结果、与数值相关的运行结果,其中,数据格式举例包括布尔类型、字符串类型、数值类型、或自定义类型等格式,数值举例包括整数数值、浮点数值等。例如,所述人工智能模型运行时用于对图像数据中的人脸进行身份验证,则所输出的运行结果为验证人脸身份为用户A或不为用户A,或者所输出的运行结果为验证人脸身份分别为用户A、用户B和用户C的置信度。
在单操作性安全验证期间,所述步骤S220包括将所述人工智能模型单次运行时所产生的第二运行结果与预存储的目标运行结果进行匹配,以便根据相应的匹配结果确定所述人工智能模型是否具备可操作性。以所述人工智能模型单次运行时所产生的第二运行结果为识别图像数据中的人体姿态为姿态A的置信度a%,可信任执行环境分析所述置信度a%与预存储的目标运行结果a’%是否在预设的误差范围内,若二者在预设误差范围内,则确定匹配结果为具备可操作性,反之则确定匹配结果为不具备可操作性。以所述人工智能模型单次运行时所产生的第二运行结果为识别图像数据中的人体姿态为姿态B,可信任执行环境比较所述人体姿态为姿态B与预存储的目标运行结果B’是否一致,若二者一致,则确定匹配结果为具备可操作性,反之则确定匹配结果为不具备可操作性。再比如,可信任执行环境检测第二运行结果的位数、数据类型等是否与目标运行结果相匹配,若匹配,则确定匹配结果为具备可操作性,反之则确定匹配结果为不具备可操作性。
在多操作性安全验证期间,可信任执行环境将所存储的多个第二验证输入数据输入不可信任执行环境所运行的人工智能模型,以使人工智能模型执行批量处理,对应地,所述步骤S220包括统计所述人工智能模型批量运行时所产生的多个第二运行结果的分布;以及根据所统计的分布结果与预期分布之间的相似性,确定所述人工智能模型是否具备可操作性。其中,所述预期分布可以预设固定的,或基于统计预存储的目标运行结果而确定的。例如,所述预期分布是可信任执行环境对对应各第二验证输入数据的各目标运行结果进行统计得到的。
以测试用于安防监控的人工智能模型为例,可信任执行环境将所存储的模拟安防监控多样性的多个第二验证输入数据输入不可信任执行环境所运行的人工智能模型,人工智能模型在执行批量处理期间输出对应各第二验证输入数据的第二运行结果,并反馈给可信任执行环境,所述可信任执行环境根据安防监控场景中所涉及的多种事件类型统计第二运行数据,以得到人工智能模型在处理所述安防监控场景下数据的概率分布,将所得到的分布结果与预期分布进行相似性匹配,若相似性在预设误差范围内,则确定匹配结果为具备可操作性,反之,则确定为不具备可操作性。其中,安防监控场景中所涉及的事件类型根据所监控的安防场景相关,例如,安防场景为道路、商铺等公共场所,则事件类型包括以下至少一种:暴力事件类型、偷窃事件类型、违法/违章事件类型等。又如,安防场景为居家等四人场所,则事件类型包括以下至少一种:盗窃事件类型、宠物事件类型、人的突发疾病事件类型等。
需要说明的是,上述示例还可应用于终端支付、账户登录等账户鉴权场景下。以测试用于终端支付的人工智能模型为例,可信任执行环境将所存储的模拟终端支付的多个指纹信息的第二验证输入数据输入不可信任执行环境所运行的人工智能模型,人工智能模型在执行批量处理期间输出对应各第二验证输入数据的第二运行结果,并反馈给可信任执行环境,所述可信任执行环境根据终端支付场景所涉及的多种事件类型统计第二运行数据,以得到人工智能模型在处理所述终端支付场景下数据的概率分布,将所得到的分布结果与预期分布进行相似性匹配,若相似性在预设误差范围内,则确定匹配结果为具备可操作性,反之,则确定为不具备可操作性。其中,终端支付场景所涉及的事件类型包括:个人/公司/母子/亲情账户匹配成功、个人/公司/母子/亲情账户匹配失败、支付成功、支付失败、资金流转状态等。
其中,上述各示例中提及的目标运行结果可来自于终端设备的历史验证操作中通过可信性验证的各运行结果,或来自于验证服务端。在一些示例中,所述可信性执行环境将历次运行的被验证可信的运行结果及其输入数据予以保存,并在执行操作性验证时作为目标运行结果及其第二验证输入数据。在又一些示例中,所述可信性执行环境将历次运行的被验证可信的运行结果及其输入数据进行统计并得到预期分布,所得到的预期分布用于在进行操作性验证时被使用。在再一些示例中,所述可信性执行环境获取来自于验证服务端所提供的第二验证输入数据及其目标运行结果。
其中,利用上述各示例的获取方式,目标运行结果包含以下至少一种:所述人工智能模型的历次执行所述可操作性验证时所得到的经验证的第二运行结果;所述人工智能模型的历史版本在执行所述可操作性验证时所得到的经验证的第二运行结果;或者与所述人工智能模型同类的其他人工智能模型在执行所述可操作性验证时所得到的经验证的第二运行结果。例如,可信任执行环境将同一版本的人工智能模型的历次可信性验证中具有操作性验证的第二运行结果作为目标运行结果,并将目标运行结果所对应的输入信息作为第二验证输入信息,以供后续对该版本人工智能模型进行同一类操作性验证时使用。又如,可信任执行环境将不同版本的人工智能模型的历次可信性验证中具有操作性验证的第二运行结果作为目标运行结果,并将目标运行结果所对应的输入信息作为第二验证输入信息予以保存,并根据针对当前版本的相关验证配置信息,从所存储的各第二验证输入信息及其目标运行结果中选取相符的第二验证输入信息及其目标运行结果,以执行当前次的操作性验证。再如,可信任执行环境所获取的目标运行结果为验证服务端提供的,其中,验证服务端所提供的目标运行结果为其对所述人工智能模型、或与所述人工智能模型同类的其他人工智能模型在执行所述可操作性验证时所得到的经验证的第二运行结果,其验证方式与前述终端设备所执行的验证方式相同或相似,在此不再详述。
请参阅图4,其显示为进行完整性验证的流程示意图。在步骤S310中,建立可信任执行环境和不可信任执行环境之间的数据通信。在步骤S320中,在所述可信任执行环境中,基于密码技术对运行所述人工智能模型所需的各文件进行完整性验证。
在此,建立数据通信的过程可以为单独步骤,或者所述可信任执行环境在进行完整性验证期间为读取不可信任执行环境中所存储的与各文件相关的信息而执行的步骤。其中,与各文件相关的信息包括但不限于:文件签名、证书等。例如,运行所述人工智能模型所需的各文件配置有各文件签名,在可信任执行环境中预存有用于验证文件签名的密钥,可信任执行环境读取各文件签名,并利用密钥对各签名进行解析以得到可用于检测人工智能模型的完整性的版本信息、文件头信息等信息,将所解析的各信息与各文件进行匹配,以得到相应文件的完整性的验证结果。
需要说明的是,上述任一种进行可信性验证的示例可同时执行或者依顺序执行。例如,在人工智性能模型运行期间可同步地执行可操作性验证和运行安全性验证。上述各可信性验证的示例可采用不同的策略启动。例如,可仅在初装或版本更新时执行完整性验证。又如,可采用预定周期或人工智能模型运行时执行所有类型的可信性验证。上述各可信性验证的示例并非一定全部配置于终端设备中,可信任执行环境可通过任一种或多种类型的可信性验证来认定人工智能模型是可信的。
还需要说明的是,上述各可信性验证的示例中的至少一种可以在终端设备中的某个业务处理任务而运行人工智能模型期间,实现对人工智能模型的可信性验证。换言之,在不可信任执行环境中运行所述人工智能模型期间,在所述可信任执行环境中执行以下步骤:从所述不可信任执行环境中读取所述人工智能模型提供的可信性验证信息,以及依据所述可信性验证信息对所述人工智能模型进行可信性验证,以得到可信性验证结果。其中,所述业务处理任务为终端设备中的业务处理程序被调动时所执行的业务逻辑;所述业务处理任务启动人工智能模型以将与业务处理相关的输入数据输入所述人工智能模型,并获取人工智能模型所提供的运行结果,利用所述运行结果业务处理任务执行后续业务逻辑。
在一些示例中,所述业务处理任务利用人工智能模型的运行来执行终端屏幕的解锁操作,业务处理任务协调终端设备的采集装置来获取用户的生物特征数据,并启动运行人工智能模型以便对生物特征数据进行识别,根据人工智能模型所输出的运行结果执行解锁/不解锁操作;所述可信任执行环境通过监听终端设备的任务列表确定不可信任执行环境运行人工智能模型,并获取人工智能模型运行期间所提供的可信性验证信息,并利用上述各示例所提供的方式对所获取的可信性验证信息进行可信性验证。其中,运行安全性验证举例包括验证可信性验证信息中的内存是否溢出、或数据格式是否符合预设格式等,可操作性验证包括验证可信性验证信息中运行结果的数据类型是否符合预设格式、或数值是否在预设范围内、或者统计累积运行的运行结果的分布是否符合预期分布等,完整性验证举例包括检查当前所运行的人工智能模型所需的各文件签名中的信息是否与各文件的相关信息相符等。
根据上述各示例所描述的可信性验证方式,为运行在某一终端设备的人工智能模型进行可信性验证的过程举例如下:某人工智能模型的提供商预先将待发布的描述人工智能模型的程序及所述人工智能模型的相关信息上传至可信验证服务端以供技术人员生成至少一个验证执行程序,所述至少一个验证执行程序被发布在所述可信验证服务端;在描述人工智能模型的程序发布后,用户利用程序安装操作将描述人工智能模型的程序安装在终端设备的不可信任执行环境中,其中,安装在终端设备中的程序还包括业务处理程序,业务处理程序运行时执行业务处理任务,其中,业务处理任务在执行过程中不仅调用人工智能模型的程序以运行人工智能模型,还需获取人工智能模型的验证结果以确认人工智能模型所提供的运行结果是可信任的,为此,基于业务处理任务的读取请求,终端设备的可信任执行环境基于密码学技术与可信验证服务端建立安全的数据通信,并从可信验证服务端获取并运行对应人工智能模型的至少一个验证执行程序以执行可信性验证,直到得到各种类型的可信性验证的验证结果。其中,所执行的可信性验证的方式可如前述示例描述的方式,在此不再详述。业务处理任务依据所得到的验证结果确定继续执行/退出当前任务。
借由上述涉及利用密码学技术实现数据安全的各示例可知,为配合终端设备获取和运行至少一个验证执行程序,可信验证服务端还管理用于安全通信传输所述至少一个验证执行程序的第一密钥、和/或用于对所述人工智能模型进行完整性验证所需的第二密钥。
在此,根据预设的可信验证服务端和终端设备之间的通信方式,以及为相应人工智能模型的可信性验证所配置的验证类型,所述第一密钥和第二密钥可以择其一而使用或均使用。可信验证服务端可通过管理各密钥的有效期对各密钥进行更新处理,或者根据翻库的周期对各密钥进行更新处理。所述可信验证服务端还可依据与终端设备的数据通信获取各类人工智能模型的运行频次,由此确定已不再使用的人工智能模型及其版本信息等,并依据所确定的不再使用的人工智能模型的版本信息对相应的密钥进行删除或失效处理。所述可信验证服务端还依据人工智能模型的提供商所上传的更新版本(或新的人工智能模型)及其各相关信息来生成相应的第一密钥和/或第二密钥。由此实现对各类密钥的动态管理。
需要说明的是,所述可信验证服务端还可以管理与所述可信性验证相关的其他密钥,例如,终端设备内部的可信任执行环境与不可信任执行环境之间进行数据传输所需密钥等。可信验证服务端对这些其他密钥的管理应视为在本申请所提供的可信性验证的技术框架下的对各类密钥的动态管理的方式之一,并与第一密钥和第二密钥的管理方式相同或相似,在此不再详述。
参与业务处理任务的计算机设备可依据利用各类可信性验证所得到的可信性验证结果,对所述人工智能模型所输出的运行结果的可信性进行确认,换言之,所述可信性验证结果用于为所执行的业务处理任务提供相应人工智能模型是可信/不可信的验证信息。在此,所述计算机设备可以是所述终端设备,也可以是与所述终端设备通信的服务端设备。其中该服务端设备可包含验证服务端所提供的各功能,还可以是单独的、用于配合终端设备完成业务处理任务的业务服务设备,或者用于配合终端设备完成业务处理任务的其他终端或服务端的计算设备等。以终端设备的可信任执行环境中存储有可信性验证结果为例,所述终端设备的不可信任执行环境在执行业务处理任务期间对所述可信任验证结果进行确认;或者所述可信任执行环境将所述可信性验证结果发送至与所述终端设备通信的业务处理服务端设备,由业务处理服务端设备执行确认操作,以供所述业务处理任务在确认所述可信性验证结果可信时对所述人工智能模型的运行结果进行后续处理。以验证设备的可信任执行环境中存储有可信性验证结果为例,所述验证设备将可信性验证结果发送至终端设备,使得终端设备对所述可信任验证结果进行确认;或者所述验证设备将所述可信性验证结果发送至与所述终端设备通信的业务处理服务端设备,由业务处理服务端设备执行确认操作,以供所述业务处理任务在确认所述可信性验证结果可信时对所述人工智能模型的运行结果进行后续处理。
请参阅图5,其显示为利用所述可信性验证结果执行业务处理的流程图。具体地,在步骤S410中,在所述终端设备运行业务处理任务期间,在所述不可信任执行环境中运行所述人工智能模型,以得到待处理数据。在步骤S420中,在确认所述人工智能模型的可信性验证结果为可信的状态下,利用所述待处理数据执行所述业务处理任务;所述可信性验证结果来自于所述可信任执行环境。
在此,终端设备根据当前设备状态执行某一业务处理任务,或根据所监听的用户操作的事件执行某一业务处理任务。在所述终端设备运行业务处理任务期间,业务处理任务指示终端设备中的不可信任执行环境中运行经可信性验证测试过的人工智能模型,基于所运行的人工智能模型得到运行结果,以及基于运行结果得到待处理数据;该待处理数据需在确认存储在可信任执行环境中对应人工智能模型的可信性验证结果是可信的状态下继续处理,以完成相应的业务处理任务。其中,所述待处理数据可以是运行结果,其表示人工智能模型所输出的数据是待业务处理任务进行后续处理的;所述待处理数据可以是业务处理任务对运行结果进行后续处理后得到的业务处理任务执行过程中的中间数据。
在一些示例中,所述步骤S420中确认所述可信性验证结果的方式包括:在运行所述业务处理任务期间,在所述不可信任执行环境中确认从所述可信任执行环境中所读取的所述可信性验证结果,以确认所运行的人工智能模型是可信的;以及在所述不可信任执行环境中对所述待处理数据执行所述业务处理任务中的数据处理操作。
以所述业务处理任务为屏幕解锁任务为例,在终端设备处于锁屏状态时,终端设备的不可信任执行环境启动解锁任务并监听终端设备的摄像装置或指纹采集装置所提供的生物数据,解锁任务在接收到生物数据时将生物数据输入人工智能模型以得到是否与预设生物特征相匹配的运行结果,该运行结果作为待处理数据,业务处理任务在利用该待处理数据执行解锁/维持锁屏的后续任务时,还读取存储在该终端设备的可信任执行环境中的可信性验证结果进行确认,当可信性验证结果表示该人工智能模型的各类可信性验证均可信时,业务处理任务执行解锁操作,即将终端设备的显示界面从锁屏界面切换至解锁界面(如桌面界面等);反之,则维持锁屏界面或给出警告提示等。
需要说明的是,上述解锁示例仅为举例,实际上任何完全由终端设备执行的业务处理任务均可使用在业务处理任务中对人工智能模型的运行结果进行处理前、运行人工智能模型之前、或者业务处理任务完成之前任意环节对可信性验证结果进行确认,以使得人工智能模型及其运行结果具有安全级数据的可信性。其中,适用上述操作的业务处理任务举例还包括:植物识别类的业务处理任务、手机系统账号鉴权类的业务处理任务等。
在另一些示例中,所述步骤S420中确认所述可信性验证结果的方式包括:将所述可信性验证结果发送至所述业务处理系统中的服务端设备,以供所述服务端设备对所述可信性验证结果进行确认。
仍以上述解锁任务为例,在解锁任务尚未执行完成的任一时刻,将可信任执行环境中的可信性验证结果发送至服务端设备,并获取服务端设备所反馈的确认信息,若确认信息为可信,则在可信状态下,继续执行解锁任务,反之则维持锁屏状态。
以所述业务处理任务为支付任务为例,终端设备在用户的支付操作下执行将用户的资金账户P中的金额为c的支付款转移至资金账户为Q的支付任务,支付任务在执行时接收终端设备的摄像装置或指纹采集装置所提供的生物数据,并将生物数据输入人工智能模型以得到提取的生物特征信息,将该生物特征信息发送至服务端设备,以使该服务端设备进行特征匹配并确定该生物特征信息所对应的资金账户P,以及执行将资金账户P中的支付款c转移至资金账户为Q的后续支付任务。其中,该服务端设备在进行特征匹配之前或在执行转移操作之前,还获取终端设备中可信任执行环境下的可信性验证结果并进行确认,当可信性验证结果表示该人工智能模型的各类可信性验证均可信时,业务处理任务执行后续特征匹配操作或执行转移操作;反之,则给出转移失败提示或匹配不成功提示等。
需要说明的是,上述确认的方式仅为举例,该确认方式还可以在终端设备中执行,与解锁示例中类似,在此不再详述。
还需要说明的是,上述支付示例仅为举例,实际上任何利用终端设备和服务端设备协同执行的业务处理任务均可使用在业务处理任务中对人工智能模型的运行结果进行处理前、运行人工智能模型之前、或者业务处理任务完成之前任意环节对可信性验证结果进行确认,以使得人工智能模型及其运行结果具有安全级数据的可信性。其中,适用上述操作的业务处理任务举例还包括:安防监控类的业务处理任务、门禁类的业务处理任务、远程账户鉴权类的业务处理任务等。
还需要说明的是,上述示例中确认可信性验证结果的步骤还可在终端设备的不可信任执行环境中执行。
另外,一方面,为了确保在数据通信期间服务端设备和终端设备之间的数据通信具有安全性,至少在传输可信性验证结果时,所述将可信性验证结果发送至所述服务端设备的步骤包括:利用所述可信任执行环境与所述服务端设备之间的安全数据通信,将所述可信性验证结果发送至所述服务端设备。例如,可信任执行环境与服务端设备利用共享密钥的方式传输可信性验证结果。又如,可信任执行环境与服务端设备利用经认证的数字证书的方式传输可信性验证结果。
另一方面,为确保在终端设备和服务端设备之间所传输的包含待处理数据在内的业务处理任务所需的各种数据是安全的,在执行业务处理任务期间,所述业务处理方法还包括将与业务处理任务相关的包含所述待处理数据的数据进行加密处理的步骤。
以对待处理数据进行加密处理,并利用加密的待处理数据执行后续业务任务为例描述包含终端设备和服务端设备的业务处理系统执行业务处理任务的过程。
在一些具体示例中,终端设备对基于人工智能模型的运行结果而得到的待处理数据进行加密的方式包括利用密钥加密待处理数据,并将加密的待处理数据发送至服务端设备,以使所述服务端设备利用经加密的待处理数据执行所述业务处理任务中的数据处理操作。其中,所述密钥可以是终端设备与服务端设备之间的共享密钥,也可以是不对称密钥。利用密钥,服务端设备通过解密操作获得待处理数据,并将待处理数据进行后续处理以完成业务处理任务。
在另一些具体示例中,所述加密处理的方式包括:将所述待处理数据分散成N个待处理数据分片;其中,N>1。在此,分散方式可以是随机数求和方式进行分散处理。例如,随机生成x1和x2,将待处理数据为X分成三份待处理数据分片分别是x1、x2、和(X-x1-x2)。分散方式还可以是基于Shamir分散算法而进行的分散处理,其中,分散的数量N大于等于可恢复待处理数据所需分片最小数量Kmin,N≥Kmin。其中,所分散的数量N大于所述最小数量Kmin可有效防止部分处理/部分存储待处理数据分片的计算设备出现异常时,不影响恢复待处理数据,进而不影响整个业务处理任务的执行。
利用上述分散处理方式,利用经分散的N个待处理数据分片执行后续业务处理任务的过程包括:将至少部分待处理数据分片发送至与所述业务处理系统通信的多方安全计算系统,以供所述多方安全计算系统基于多方安全协议对各待处理数据分片执行所述业务处理任务。
在此,所述多方安全计算系统为利用多个计算节点通过安全多方计算(SecureMulti-Party Computation)的手段对业务处理任务中的部分任务进行数据处理,以针对无可信第三方的情况下,安全地计算一个约定的数据处理的问题。
其中,所述多方安全计算系统中的计算节点可以为单台计算机设备、或基于云架构的服务系统中被使用的实体设备或虚拟设备等。其中,所述单台计算机设备可以是自主配置的可执行所述业务处理任务的计算机设备,其可位于私有机房或位于公共机房中的某个被租用的机位中。所述计算节点还可以为业务服务系统中的计算机设备,例如,所述计算节点为终端设备、和/或服务端设备。例如,所述服务端设备中的至少一个计算机设备为多方安全计算系统中的至少一个计算节点。另外,计算节点的实体或虚拟设备的形态和所设置的地理位置不做限定。例如,计算节点可以位于同一实体服务器的不同虚拟设备上且通过管理权限进行单独管理。所述云架构的服务系统包括公共云服务端与私有云服务端,其中,所述公共或私有云服务端包括SaaS、PaaS及IaaS等。所述私有云服务端例如阿里云计算服务平台、亚马逊云计算服务平台、百度云计算平台、腾讯云计算平台等等。其中,所述虚拟设备可以是实体服务器通过虚拟技术将一台独占设备虚拟成多台逻辑设备,供多个业务处理任务同时使用的设备之一。
其中,多方安全协议是一种计算协议,其根据参与多方安全计算系统中计算节点的数量而设置的用于协调各计算节点执行数学计算、逻辑计算、数据传输计算等规则。例如,多方安全协议是利用最多四个计算节点并采用秘密分享算法而设置的计算规则,其包括但不限于:包含加、减、乘、位提取、不经意传输等。其中,各计算节点利用共享的随机数执行本地计算以得到可供抵消的中间数据或计算结果。
以利用四个计算节点协同计算两个数字的乘法为例,令所述第一计算节点和第二计算节点共享随机数r12和r’12,以及令所述第三计算节点和第四计算节点共享随机数rab和r’ab;令所述第一计算节点和第二计算节点分别对各自所持有的私密数据组进行乘法计算和用于抵消随机数r12和r’12的数学计算,以便第一计算节点得到中间数据t1和t’1,以及第二计算节点得到中间数据t2和t’2;令所述第三计算节点和第四计算节点分别对各自所持有的私密数据组进行乘法计算和用于抵消随机数rab和r’ab的数学计算,以便第一计算节点得到中间数据ta和t’a,以及第二计算节点得到中间数据tb和t’b;令第一计算节点和第三计算节点置换各自的一个中间数据,以及第一计算节点和第四计算节点置换各自的一个中间数据;令第二计算节点和第三计算节点置换各自的一个中间数据,以及第二计算节点和第四计算节点置换各自的一个中间数据;令各计算节点分别利用基于置换操作而配对的中间数据执行包含加法的本地计算,以便每个计算节点得到两个包含可抵消随机数的计算结果。
例如,预先将数字X被分散成{x1,x2}和{x′1,x′2};数字Y被分散成{y1,y2}和{y′1,y′2}。令第一计算节点执行基于公式t1=x1×y'1-r12,和t'1=x'1×y1-r'12的本地计算并得到中间数据t1和t'1;以及令所述第二计算节点进行基于公式t2=x2×y'2+r12,以及基于公式t'2=x'2×y2+r'12本地计算得到中间数据t2和t'2。其中,r12和r′12为第一计算节点和第二计算节点之间的共享随机数。
需要说明的是,上述采用令第一计算节点对随机数做减法,以及令第二计算节点对随机数做加法的方式仅为举例,也可以采用令第一计算节点对随机数做加法,以及令第二计算节点对随机数做减法的方式。
令所述第三计算节点执行基于公式ta=xa×y'a-rab,以及基于公式t'a=x'a×ya-r'ab本地计算得到中间数据ta和t'a;以及令所述第四计算节点执行基于公式tb=xb×y'b+rab,以及基于公式t'b=x'b×yb+r'ab本地计算得到中间数据tb和t'b。其中,rab和r′ab为第一计算节点和第二计算节点之间的共享随机数。
需要说明的是,上述采用令第三计算节点对随机数做减法,以及令第四计算节点对随机数做加法的方式仅为举例,也可以采用令第三计算节点对随机数做加法,以及令第四计算节点对随机数做减法的方式。
令第一计算节点将中间数据t1发送至第四计算节点,以及将中间数据t'1发送至第三计算节点;令第二计算节点将中间数据t2发送至第三计算节点,以及将中间数据t'2发送至第四计算节点;令第三计算节点将中间数据ta发送至第二计算节点,以及将中间数据t'a发送至第一计算节点;以及令第四计算节点将中间数据tb发送至第一计算节点,以及将中间数据t'b发送至第二计算节点。
需要说明的是,上述置换方式是依据于多方乘法计算而设置的,根据实际计算节点执行的乘法本地计算,上述置换方式可做适应性调整,在此不再一一举例。
令第一计算节点执行基于公式z1=t1+tb和z'1=t'1+t'a的本地计算,得到计算结果z1和z'1;第二计算节点执行基于公式z2=t2+ta和z'2=t'2+t'b的本地计算,得到计算结果z2和z'2;第三计算节点执行基于公式za=ta+t2和z'a=t'a+t'1的本地计算,得到计算结果za和z'a;第四计算节点执行基于公式zb=tb+t1和z'b=t'b+t'2的本地计算,得到计算结果zb和z'b
在此,利用上述第一计算节点和第二计算节点,以及第三计算节点和第四计算节点各自所得到的计算结果可恢复成X乘Y的计算结果。例如,(z1+z2)为X乘Y的计算结果。
以利用四个计算节点协同提取数字X的二进制数中的第k位数为例,令各计算节点分别对各自所获取的数据组进行本地计算,以及将本地计算所产生的中间数据进行交互,得到经由各计算节点分别持有的计算结果的步骤包括:四个所述计算节点利用k轮次1比特置换数据的数据交互得到各自持有的计算结果,其中,所述计算结果用于提取数据X中二进制位;k为对应所述数据X的待提取的二进制位数。其中,数据组为数据X被分散后得到的。
例如,所述多方安全计算系统中的第一计算节点、第二计算节点、第三计算节点和第四计算节点依次获取数据组{x1},数据组{x2},数据组{xa},以及数据组{xb};其中,{x1,x2,xa,xb}是数据X经随机分散处理得到的二进制表示的私密数据,其中,各数据组与数据X具有相同的二进制位数k。所述多方安全计算系统执行以下步骤:
各计算节点分别初始化用于输出的比特位值{c1,c'1},{c2,c'2},{ca,c'a},{cb,c'b};以及令所述第一计算节点和第二计算节点共享随机数r12和b12;以及令所述第三计算节点和第四计算节点共享随机数bab;其中,所述随机数r12、b12和bab是基于提取位数k而生成的二进制随机数。
令第一计算节点和第二计算节点利用随机数r12对各自持有的私密数据x1和x2对第k位进行逻辑处理,以得到具有第k位统一的二进制中间数据u1和u2
令第一计算节点将中间数据u1发送给第三计算节点,并由第三计算节点进行基于公式u1∧xa的逻辑计算并得到中间数据ua
基于k值而设置以下循环计算:各计算节点对私密数据x1的第i位和输出比特位置进行带有基于所共享的随机数b12或bab的逻辑计算,并得到第i轮次的中间数据;以及将每轮次得到的中间数据进行置换处理,并赋值相应的输出比特位;其中,第一计算节点与第三计算节点进行中间数据的置换处理,以及第二计算节点与第四计算节点进行中间数据的置换处理;
各计算节点利用被赋值的输出比特位、随机数对各自持有的私密数据的第k位比特值进行逻辑计算得到计算结果。
第一计算节点将计算结果c'1提供给第三计算节点;第二计算节点将计算结果c'2提供给第四计算节点;第三计算节点将计算结果ca提供给第二计算节点;第四计算节点将计算结果cb提供给第一计算节点,以便每个计算节点持有两个计算结果。各计算节点各自持有的计算结果可恢复成所提取的第k位的二进制位数。
以利用四个计算节点协同不经意传输数据X为例,令四个所述计算节点基于用于表示传输/不传输数据C的可分享随机比特值进行本地计算和数据交互,并得到各自持有的计算结果;其中,所述计算结果包含用于表示传输相应数据X的结果,或用于表示不传输相应私密数据的结果。
例如,各计算节点所获取的被分散处理的数据X的分片所组成的数组依次为{x1,x'1},{x2,x'2},{xa,x'a},{xb,x'b};换言之,数据{x1,x'1,x2,x'2,xa,x'a,xb,x'b}为数据X经随机分散处理得到的;各计算节点获取分别基于待分享的私密数据而设置的可分享随机比特值{c1,c'1},{c2,c'2},{ca,c'a},{cb,c'b};所述多方安全计算系统执行以下步骤:
令所述第一计算节点和第二计算节点共享第一类随机数r12和r'12;所述第一计算节点和第三计算节点共享第二类随机数r'1a;所述第一计算节点和第四计算节点共享第二类随机数r1b;令所述第二计算节点和第三计算节点共享第二类随机数r2a;所述第二计算节点和第四计算节点共享第二类随机数r'2b;令所述第三计算节点和第四计算节点共享第一类随机数rab和r'ab
令各计算节点利用各自配置的比特值对是否传输数组进行带有第一类随机数的数学计算,以及利用各自配置的比特值对是否传输第一类随机数进行带有第二类随机数的数学计算以得到中间数据和中间随机数。
令第一计算节点和第二计算节点分别与第三计算节点和第四计算节点进行中间数据和中间随机数的置换操作。
令各计算节点执行包含抵消第二类随机数的数学计算,并得到各自持有的计算结果。各计算节点各自持有的计算结果可恢复成被传输的数据X或空。
在上述提及的包含四个计算节点的多方安全计算系统的多方安全计算协议下,还可得到更优化的、执行更复杂的数学或逻辑计算。在此不再一一详述。另外,包含四个计算节点的多方安全计算系统并非一定借助四个计算节点来执行计算,例如,加法和减法计算可使用其中的两个或三个计算节点进行多方安全计算。
基于上述包含四个计算节点的多方安全计算系统所执行多方安全协议的示例可知,业务处理任务中的部分数据处理可借由多方安全计算系统来执行。例如将在终端设备或服务端设备独自完成的部分业务处理任务交由多方安全计算系统来执行。由此便于业务处理任务的中间数据/业务处理结果等具备较高的安全性,有效减少单台计算设备易于泄露隐私数据等问题。
为此,对于分散加密的待处理数据分片,所述步骤S420还包括将至少部分待处理数据分片发送至与所述业务处理系统通信的多方安全计算系统,以供所述多方安全计算系统基于多方安全协议对各待处理数据分片执行所述业务处理任务。
在此,依据业务处理系统与多方安全计算系统的数据分片的传输协议,终端设备将至少部分待处理数据分片发送至多方安全计算系统。其中,所述业务处理系统至少包括终端设备,根据业务处理任务的逻辑,还可以包括服务端设备。依据多方安全计算协议,多方计算安全系统中各计算节点对所接收的待处理数据分片进行多方安全计算,并得到分散持有的计算结果分片。业务处理系统可通过选取多个计算结果分片来恢复计算结果,该计算结果用于完成业务处理任务。
以终端设备为收银终端设备,其不可信任执行环境所运行的人工智能模型用于提取人脸图像中的人脸特征数据为例描述,收银终端设备在业务员的操作下运行支付业务处理任务,在执行支付业务处理任务期间,收银终端设备获取业务员输入的收款金额,以及获取与收银终端设备相连的摄像装置所拍摄的人脸图像,在收银终端设备的不可信任执行环境中运行人工智能模型以提取人脸图像中的人脸特征数据,并将人脸特征数据分散处理成人脸特征数据分片,在服务端设备的协调下,收银终端设备向多方安全计算系统中的某一或多个计算节点发出请求信息以便分发人脸特征数据分片,各计算节点基于密码学技术构建各自与收银终端设备的安全传输通信,并获得至少部分人脸特征数据分片;多方安全计算系统中各计算节点根据预设的多方安全协议执行人脸特征数据的识别操作,以将人脸特征数据与资金账户相匹配,所匹配的计算结果在服务端设备被恢复,服务端设备继续执行将所匹配的资金账户中的收款金额转至收银终端设备所对应的资金账户中。其中,对可信性验证结果进行确认的步骤可由多方安全计算系统来执行,为此,多方安全计算系统在接收到为传输人脸特征数据分片而产生的请求信息时,还与收银终端设备构建安全传输通信以获取可信性验证结果,在确认可信性验证结果确实可信时,完成与收银终端设备的不可信任执行环境之间构建的安全传输通信,由此保证支付业务处理任务所使用的人工智能模型及其提供的人脸特征数据是安全的。对可信性验证结果进行确认的步骤还可以由服务端设备(或终端设备)来执行,多方安全计算系统在接收到人脸特征数据分片时还需得到服务端设备(或终端设备)的授权,该授权可以是服务端设备(或终端设备)在确认可信性验证结果之后发送给多方安全计算系统的。
需要说明的是,上述支付业务处理任务仅为举例,在其他支付业务处理任务中,所述待处理数据包括:经识别得到的生物特征的识别结果数据,或者经提取得到的生物特征数据。其中,生物特征的识别结果数据可以是身份识别结果数据等;生物特征数据可以是指纹特征数据、或唇语特征数据等。
还需要说明的是,所涉及的业务处理任务还可以是基于身份验证的业务处理任务,或基于生物特征识别的业务处理任务等其他业务处理任务。其中,基于身份验证的业务处理任务举例包括:门禁类业务处理任务、金融账户类业务处理任务、或保险类业务处理任务等。基于生物特征识别的业务处理任务举例包含:动植物识别类业务处理任务、账户鉴权类业务处理任务等。
在其他业务处理任务中,人工智能模型还可包括以下至少一种:生物特征识别模型、图像识别模型、或文字识别模型。相应的,所述待处理数据包括:所述人工智能模型的识别结果数据,或者所述人工智能模型所提取的数据。其中,所述人工智能模型的识别结果数据举例包括植物识别结果数据、表情识别结果数据、姿态识别结果数据、或语义识别结果数据等。所提取的数据举例包括:用于聚类的特征数据、局部特征数据、全局特征数据等。
另外,根据前述提及的关于启动验证的各种示例的描述,可信任执行环境为可信性验证结果设置与版本或时间相关的使用限制。
在一些示例中,所述可信性验证结果与所述人工智能模型的版本相关。换言之,可信性验证的启动依据人工智能模型的版本更新而设置。对应地,在确认可信性验证结果时,还确认可信性验证结果所对应的人工智能模型的版本信息。例如,终端设备的可信任执行环境根据不可信任执行环境的读取操作,提供可信性验证结果及所对应的人工智能模型的版本信息,不可信任执行环境比较自身存储的人工智能模型的版本信息以及来自于可信任执行环境的版本信息,以及确认可信任验证结果是否可信。又如,服务端设备从终端设备的可信任执行环境获取可信性验证结果及所对应的人工智能模型的版本信息V1,以及获取终端设备的不可信任执行环境所提供的人工智能模型的版本信息V1’,比较版本信息V1和V1’,以及确认可信任验证结果是否可信。
需要说明的是,在业务处理任务期间,与业务处理任务相关的计算机设备结合版本信息和可信性验证结果进行确认的方式仅为举例,还可以利用可信性验证结果和版本信息生成签名,以供计算机设备进行签名验证等方式进行确认等。
在又一些示例中,所述可信性验证结果是具有有效期限的。换言之,可信性验证的启动依据人工智能模型的验证周期、验证间隔等而设置。对应地,在确认可信性验证结果时,还确认可信性验证结果所对应的人工智能模型的与时间相关的信息。例如,终端设备的可信任执行环境根据不可信任执行环境的读取操作,提供可信性验证结果及当前验证周期的信息,不可信任执行环境根据系统时间确认当前时刻是否处于当前验证周期内以确认可信性验证结果有效,以及确认可信任验证结果是否可信。又如,服务端设备从终端设备的可信任执行环境获取可信性验证结果及所对应的验证完成时刻,确认当前系统时间与验证完成时刻的时间差不大于验证间隔,以及确认可信任验证结果是否可信。
在另一些示例中,所述可信任执行环境监测所存储的可信性验证结果的使用限制,并在使用期限超出时删除可信性验证结果或标记可信性验证结果失效,以便在业务处理任务执行期间据此进行确认操作。
需要说明的是,上述与使用限制相关的各示例可择一或结合使用,在此不再一一详述。
以包含终端设备和服务端设备所构建的业务处理系统为例,描述业务处理系统执行业务处理任务的执行过程,请参阅图6,其显示为业务处理系统执行业务处理任务的流程图。
在步骤S510中,终端设备在运行业务处理任务期间,在其不可信任执行环境中运行所述人工智能模型,以得到待处理数据。
在此,所述步骤S510与前述步骤S410相同或相似,在此不再详述。
在步骤S520中,在运行所述业务处理任务期间,在确认所述可信性验证结果为可信的状态下,服务端设备与所述终端设备协同处理所述终端设备中的待处理数据以执行相应的业务处理任务。
在此,所述步骤S520与前述步骤S420中利用服务端设备和终端设备协同执行业务处理任务的各示例相同或相似,在此不再详述。
本申请还提供了一种第一软件可信验证系统,所述第一软件可信验证系统运行于包含可信任执行环境和不可信任执行环境的终端设备中。在此,所述第一软件可信验证系统为所述至少一个验证执行程序运行时所提供的软件功能,其内部各模块及模块之间的协同合作,为人工智能模型的可信性进行验证。其中,所述第一软件可信验证系统包括:验证启动模块、验证模块。在一些示例中,请参阅图7,其显示为第一软件可信验证系统的架构图,其中,第一软件可信验证系统还包括第一接口模块613。
其中,参见图7,所述第一接口模块613用于获取所述可信性验证所需的验证执行程序;其中,所述验证执行程序被执行于所述可信任执行环境中以对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证。在此,所述第一接口模块613为可信任执行环境中基于网络接口协议设置的与外部设备进行网络传输的软件模块,其对应于前述验证方法中与可信验证服务端通信的通信步骤,以从可信验证服务端2获得所述可信性验证所需的验证执行程序。在此,所述第一接口模块613获取验证执行程序的方式与前述验证方法中获取验证执行程序的方式相同或相似,在此不再详述。例如,利用密码学技术构建安全通信来传输验证执行程序等。
参见图7,所述验证启动模块612用于启动验证模块611。在此,所述验证启动模块612启动验证模块611的方式可对应于前述验证方法中任一种或多种验证启动步骤。故而,验证启动步骤所涉及的逻辑和功能引用于此。例如,基于所监测到的所述人工智能模型710的更新操作,启动对更新后的人工智能模型的可信性验证。又如,基于所监测到的所述人工智能模型710的调用操作,启动对所调用的人工智能模型710的可信性验证。再如按照预设的验证周期,启动对所述人工智能模型710的可信性验证。
所述验证模块用于在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型所输出的数据的计算机设备进行可信性验证。在此,所述验证模块执行时对应于验证方法中的验证步骤,故而,验证步骤所涉及的逻辑和功能引用于此。
根据可信性验证的验证种类,所述验证模块包括第一验证子模块、第二验证子模块和第三验证子模块(均未予图示)。
其中,第一验证子模块用于利用从所述可信任执行环境所提取的第一验证输入数据,令所述人工智能模型在不可信任执行环境中运行;以及在所述可信任执行环境中,对所述人工智能模型运行期间所产生的第一运行结果予以运行安全性验证。在此,所述第一验证子模块执行时对应于验证方法中的运行安全验证步骤,故而,运行安全验证步骤所涉及的逻辑和功能引用于此。
第二验证子模块用于利用从所述可信任执行环境所提取的至少一个第二验证输入数据,令所述人工智能模型在不可信任执行环境中运行并输出与各第二验证输入数据相应的各第二运行结果;以及在所述可信任执行环境中,对各所述第二验证结果进行可操作性验证。在此,所述第二验证子模块执行时对应于验证方法中的可操作性验证步骤,故而,可操作性验证步骤所涉及的逻辑和功能引用于此。
第三验证子模块用于在所述可信任执行环境中,基于密码技术对运行所述人工智能模型所需的各文件进行完整性验证。在此,所述第三验证子模块执行时对应于验证方法中的完整性验证步骤,故而,完整性验证步骤所涉及的逻辑和功能引用于此。
借由所述软件可信验证系统的可信性验证操作而得到的可信性验证结果,在终端设备执行业务处理任务时被使用,以供确认人工智能模型及其运行结果是可信的。为此,所述软件可信验证系统还提供了第二接口模块(未予图示),其用于供对可信性验证结果调用时提供传输功能。在此,所述第二接口模块用于提供以下任一传输:1)将所述可信性验证结果提供给配置于所述终端设备中的业务处理任务,以供所述业务处理任务在确认所述可信性验证结果可信时对所述人工智能模型的运行结果进行后续处理;2)将所述可信性验证结果发送至与所述终端设备通信的业务处理服务端设备,以供所述业务处理任务在确认所述可信性验证结果可信时对所述人工智能模型的运行结果进行后续处理。
在此,所述第二接口模块在执行应用于业务处理方法中的确认步骤,故而,确认步骤所涉及的与可信性验证结果读取操作、网络传输操作等逻辑和功能引用于此。
请参阅图10,本申请还提供了一种第二软件可信验证系统。与前述第一软件可信验证系统不同的是,所述第二软件可信验证系统配置于前述提及的验证设备8中,且运行于包括可信任执行环境中的所述验证设备8,所述验证设备8与包含不可信任执行环境的终端设备7之间数据通信,以对运行于不可信任执行环境的人工智能模型710进行可信性验证。该人工智能模型710还被业务处理任务720调用运行,以为业务处理任务提供运行结果。
在此,与前述第一软件可信验证系统相比,所述第二软件可信验证系统中所包含的验证模块811、第一接口模块813、和验证启动模块812的执行过程分别与第一软件可信验证系统中对应的验证模块611、第一接口模块613、和验证启动模块612的执行过程相同或相似,在此不再详述。其中,与第一软件可信验证系统不同的是,在一示例中,请参阅图10,第二软件可信验证系统中的第二接口模块814可利用串行接口的传输协议或网络接口的传输协议等数据传输协议,将所述可信性验证结果提供给所述终端设备以供其执行确认操作。在又一示例中,第二软件可信验证系统中的第二接口模块(未予图示)还利用串行接口的传输协议或网络接口的传输协议等数据传输协议,将所述可信性验证结果提供给与所述终端设备通信的业务处理服务端设备以供其执行确认操作。如此,业务处理任务在确认所述可信性验证结果可信时对所述人工智能模型的运行结果进行后续处理。
基于上述业务处理技术思想,本申请还提供业务处理软件系统,其配置于至少包括终端设备的业务处理系统中,其中,所述终端设备用于提供不可信任执行环境和可信任执行环境,其中,所述不可信任执行环境中安装有人工智能模型。
所述业务处理软件系统为配置与业务处理系统中的软件模块,其借由业务处理程序的调用执行业务处理功能,其至少包括配置在终端设备中的业务处理模块。
所述业务处理模块用于在运行所述业务处理任务期间,在所述不可信任执行环境中运行所述人工智能模型,以得到待处理数据;以及用于在确认可信性验证结果为可信的状态下,利用所述待处理数据执行所述业务处理任务;其中,所述可信性验证结果是对所述不可信任执行环境中所运行的人工智能模型进行可信性验证得到的,所述可信性验证结果来自于所述可信任执行环境。
在此,所述业务处理模块的执行过程对应于前述步骤S410-S420中终端设备所执行的各步骤。
在一些示例中,所述终端设备中还包括确认模块,其用于在所述业务处理模块执行所述业务处理任务期间,在所述不可信任执行环境中确认从所述可信任执行环境中所读取的所述可信性验证结果,以确认所运行的人工智能模型是可信的。
以所述业务处理模块执行屏幕解锁任务为例,在终端设备处于锁屏状态时,业务处理模块执行解锁任务并监听终端设备的摄像装置或指纹采集装置所提供的生物数据,并在接收到生物数据时将生物数据输入人工智能模型以得到是否与预设生物特征相匹配的运行结果,该运行结果作为待处理数据,确认模块在利用该待处理数据执行解锁/维持锁屏的后续任务时,还读取存储在该终端设备的可信任执行环境中的可信性验证结果进行确认,当可信性验证结果表示该人工智能模型的各类可信性验证均可信时,业务处理模块依据确认模块的反馈继续执行解锁操作,即将终端设备的显示界面从锁屏界面切换至解锁界面(如桌面界面等);反之,则维持锁屏界面或给出警告提示等。
上述示例提供了终端设备中的业务处理模块执行业务处理任务的方式,但仅为举例并非对业务处理模块所能执行的业务处理任务的限制。
在另一些示例中,所述确认模块将所述可信性验证结果发送至所述业务处理系统中的服务端设备,以供所述服务端设备对所述可信性验证结果进行确认。仍以上述解锁任务为例,业务任务模块在尚未执行完成解锁任务的任一时刻指示确认模块将可信任执行环境中的可信性验证结果发送至服务端设备,并获取服务端设备所反馈的确认信息,若确认信息为可信,则在可信状态下,继续执行解锁任务,反之则维持锁屏状态。
在另一实施方式中,所述业务处理系统还包括服务端设备。为便于后续描述,配置于终端设备中的业务运行模块被称为第一业务运行模块,配置于服务端设备的业务运行模块被称为第二业务运行模块。配置于终端设备中的确认模块被称为第一确认模块,配置于服务端设备的确认模块被称为第二确认模块。
所述第一业务运行模块和第二业务运行模块可对应于步骤S410-S420中利用终端设备和服务端设备协同执行的业务处理任务。
以所述第一业务运行模块和第二业务运行模块协同执行支付任务为例,第一业务运行模块在用户的支付操作下执行将用户的资金账户P中的金额为c的支付款转移至资金账户为Q的支付任务,第一业务运行模块在执行时接收终端设备的摄像装置或指纹采集装置所提供的生物数据,并将生物数据输入人工智能模型以得到提取的生物特征信息,将该生物特征信息发送至第二业务运行模块,第二业务运行模块进行特征匹配并确定该生物特征信息所对应的资金账户P,以及执行将资金账户P中的支付款c转移至资金账户为Q的后续支付任务。其中,在一些示例中,该第二业务运行模块在进行特征匹配之前或在执行转移等操作之前,第二确认模块获取终端设备中可信任执行环境下的可信性验证结果并进行确认,当可信性验证结果表示该人工智能模型的各类可信性验证均可信时,第二业务运行模块基于第二确认模块所提供的确认信息执行后续特征匹配操作或执行转移操作;反之,则第二业务运行模块给出转移失败提示或匹配不成功提示等。在另一些示例中,在第一业务处理模块在启动人工智能模型或发出待处理数据之前,由确认模块读取可信任执行环境下的可信性验证结果并进行确认,当可信性验证结果表示该人工智能模型的各类可信性验证均可信时,第二业务运行模块基于第二确认模块所提供的确认信息执行启动人工智能模型或发出待处理数据,并将待处理数据发送给第二业务运行模块,以供其继续执行后续操作。
所述第一业务处理模块和第二业务处理模块还可针对加密的待处理数据执行业务处理任务,其对应于前述步骤S420中处理加密待处理数据的过程,在此不再详述。
以终端设备为收银终端设备,其不可信任执行环境所运行的人工智能模型用于提取人脸图像中的人脸特征数据为例描述,在业务员的操作下运行第一业务处理模块以执行支付业务处理任务,在执行支付业务处理任务期间,第一业务处理模块获取业务员输入的收款金额,以及获取与收银终端设备相连的摄像装置所拍摄的人脸图像,并在收银终端设备的不可信任执行环境中运行人工智能模型以提取人脸图像中的人脸特征数据,第一业务处理模块将人脸特征数据分散处理成人脸特征数据分片,第二业务处理模块协调所能通信的计算节点组成多方安全计算系统,并指示第一业务处理模块向多方安全计算系统中的某一或多个计算节点发出请求信息以便分发人脸特征数据分片,各计算节点基于密码学技术构建各自与收银终端设备的安全传输通信,并获得至少部分人脸特征数据分片;多方安全计算系统中各计算节点根据预设的多方安全协议执行人脸特征数据的识别操作,以将人脸特征数据与资金账户相匹配,所匹配的计算结果在第二业务处理模块被恢复,第二业务处理模块继续执行将所匹配的资金账户中的收款金额转至收银终端设备所对应的资金账户中。其中,对可信性验证结果进行确认的步骤可由多方安全计算系统来执行,为此,多方安全计算系统在接收到为传输人脸特征数据分片而产生的请求信息时,还与收银终端设备构建安全传输通信以获取可信性验证结果,在确认可信性验证结果确实可信时,完成与收银终端设备的不可信任执行环境之间构建的安全传输通信,由此保证支付业务处理任务所使用的人工智能模型及其提供的人脸特征数据是安全的。对可信性验证结果进行确认的步骤还可以由第二确认模块(或第一确认模块)来执行,多方安全计算系统在接收到人脸特征数据分片时还需得到第二确认模块(或第一确认模块)的授权,该授权可以是第二确认模块(或第一确认模块)在确认可信性验证结果之后发送给多方安全计算系统的。
请参阅图8,其显示为基于本申请所述的验证方案及业务处理方案而提供的网络架构的示意图。以图8中所示举例,终端设备利用各硬件装置以及预先安装的各软件程序,配置有不可信任执行环境和可信任执行环境。其中,硬件装置如存储装置、处理装置、采集装置等,软件程序如验证执行程序、业务处理程序、描述人工智能模型的程序等。在不可信任执行环境中调用相应程序以运行人工智能模型和业务处理模块等并存储运行所述人工智能模型和业务处理模块期间的各类数据,如生物数据、运行结果等;在可信任执行环境中调用相应程序以运行验证模块等并存储验证模块所得到的可信性验证结果。服务端设备包含可信验证服务端、多方安全计算系统和业务服务设备。其中,可信验证服务端为配合终端设备进行可信性验证的计算机设备;多方安全计算系统为利用多方安全计算协议(SecureMulti-Party Computation,简称MPC)执行业务处理任务中的部分数据处理;业务服务设备为协同终端设备执行业务处理任务的计算机设备。其中,业务服务设备与可信性验证服务端和多方安全计算系统通信连接。其中,可信验证服务端预先将验证执行程序通过安全通信通道下载至终端设备的可信任执行环境中。
业务处理模块在运行期间执行一业务处理任务,根据业务处理任务通过采集装置获取生物数据,并将生物数据输入所运行的人工智能模型,该人工智能模型在运行时被验证启动模块检测并启动验证模块,验证模块利用所述生物数据对人工智能模型进行可信性验证,并将所得到的可信性验证结果存储于可信任执行环境中,人工智能模型所运行得到的运行结果被加密处理后得到待处理数据分片,终端设备请求业务服务设备对待处理数据分片进行后续处理以继续执行业务处理任务。业务服务设备一方面获取可信性验证结果对所述终端设备中的人工智能模型及待处理数据分片的可信性进行确认,另一方面选择多个计算节点组成多方安全计算系统,在确认可信后指示终端设备将至少部分待处理数据分片发送至多方安全计算系统,以执行多方安全计算得到由多个计算节点各自持有的计算结果,业务服务设备或者业务服务设备指定外部服务设备利用多个计算结果进行恢复操作,得到多方安全计算系统所执行的业务处理部分的处理数据,并基于该处理数据完成业务处理任务。
需要说明的是,上述示例仅为举例,根据前面所提及的各示例部分进行替换,所得到的新的示例仍在本方案的技术架构下。
本申请还提供一种计算机可读写存储介质,存储有数据处理方法的计算机程序,所述数据处理方法的计算机程序被执行时实现上述实施例所述的验证方法、和/或业务处理方法。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
在一个或多个示例性方面,本申请所述数据处理方法的计算机程序所描述的功能可以用硬件、软件、固件或者其任意组合的方式来实现。当用软件实现时,可以将这些功能作为一个或多个指令或代码存储或传送到计算机可读介质上。本申请所公开的方法或算法的步骤可以用处理器可执行软件模块来体现,其中处理器可执行软件模块可以位于有形、非临时性计算机可读写存储介质上。有形、非临时性计算机可读写存储介质可以是计算机能够存取的任何可用介质。
本申请上述的附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
基于上述的人工智能模型的验证方法、终端设备、人工智能模型的可信验证服务端、人工智能模型的可信验证系统、人工智能模型的软件可信验证系统、人工智能模型的可信验证方法、人工智能模型的可信验证设备、人工智能模型的软件可信验证系统、人工智能模型的可信验证系统、及计算机可读存储介质所描述的各示例所反映的技术框架下,本申请公开以下技术方案:
1.一种人工智能模型的可信验证方法,其特征在于,所述方法运行于包含可信任执行环境和不可信任执行环境的终端设备中,所述方法包括:在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到可信性验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型的运行结果的计算机设备进行可信性验证。
2.根据实施方式1所述的人工智能模型的可信验证方法,其中,还包括为所述不可信任执行环境与可信任执行环境之间所交互的数据进行安全保护的步骤。
3.根据实施方式1所述的人工智能模型的可信验证方法,其中,所述对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到可信性验证结果的步骤包括:依据所述人工智能模型提供的可信性验证信息对所述人工智能模型进行可信性验证。
4.根据实施方式1所述的人工智能模型的可信验证方法,其中,所述可信性验证包括以下至少一种:运行安全性验证、单操作安全验证、多操作安全验证、或完整性验证。
5.根据实施方式1所述的人工智能模型的可信验证方法,其中,所述对运行于不可信任执行环境中的所述人工智能模型进行可信性验证的步骤包括:
利用从所述可信任执行环境所提取的第一验证输入数据,令所述人工智能模型在不可信任执行环境中运行,得到第一运行结果;
在所述可信任执行环境中,对所述第一运行结果予以运行安全性验证。
6.根据实施方式5所述的人工智能模型的可信验证方法,其中,所述第一运行结果包括以下至少一种:与内存占用相关的运行结果、或者与请求外部程序相关的运行结果。
7.根据实施方式1所述的人工智能模型的可信验证方法,其中,所述对运行于不可信任执行环境中的所述人工智能模型进行可信性验证的步骤包括:
利用从所述可信任执行环境所提取的至少一个第二验证输入数据,令所述人工智能模型在不可信任执行环境中运行并输出与各第二验证输入数据相应的各第二运行结果;
在所述可信任执行环境中,对各所述第二运行结果进行可操作性验证。
8.根据实施方式7所述的人工智能模型的可信验证方法,其中,所述对各第二运行结果进行可操作性验证的步骤包括:
将所述人工智能模型单次运行时所产生的第二运行结果与预存储的目标运行结果进行匹配,以便根据相应的匹配结果确定所述人工智能模型是否具备可操作性。
9.根据实施方式7所述的人工智能模型的可信验证方法,其中,所述对各第二运行结果进行可操作性验证的步骤包括:
统计所述人工智能模型批量运行时所产生的多个第二运行结果的分布;
根据所统计的分布结果与预期分布之间的相似性,确定所述人工智能模型是否具备可操作性。
10.根据实施方式9所述的人工智能模型的可信验证方法,其中,所述预期分布是基于统计预存储的目标运行结果而确定的。
11.根据实施方式8或10所述的人工智能模型的可信验证方法,其中,所述目标运行结果来自于以下至少一种:
所述人工智能模型的历次执行所述可操作性验证时所得到的经验证的第二运行结果;
所述人工智能模型的历史版本在执行所述可操作性验证时所得到的经验证的第二运行结果;或者
与所述人工智能模型同类的其他人工智能模型在执行所述可操作性验证时所得到的经验证的第二运行结果。
12.根据实施方式7所述的人工智能模型的可信验证方法,其中,所述第二运行结果包括以下至少一种:与数据格式相关的运行结果、与数值相关的运行结果。
13.根据实施方式1所述的人工智能模型的可信验证方法,其中,所述对运行于不可信任执行环境中的所述人工智能模型进行可信性验证的步骤包括:在所述可信任执行环境中,基于密码技术对运行所述人工智能模型所需的各文件进行完整性验证。
14.根据实施方式1所述的人工智能模型的可信验证方法,其中,还包括:获取至少一个验证执行程序;所述至少一个验证执行程序被执行于所述可信任执行环境中以对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证。
15.根据实施方式14所述的人工智能模型的可信验证方法,其中,所述验证执行程序是基于所述终端设备与一可信验证服务端所建立的安全通信通道传输获得的;其中,所述可信验证服务端基于所管理的密钥与所述终端设备进行数据传输。
16.根据实施方式14所述的人工智能模型的可信验证方法,其中,还包括:更新所述至少一个验证执行程序的步骤。
17.根据实施方式14所述的人工智能模型的可信验证方法,其中,所述验证执行程序是所述可信验证服务端基于所述人工智能模型而得到的。
18.根据实施方式14所述的人工智能模型的可信验证方法,其中,所述验证执行程序是所述可信验证服务端从验证执行程序集中选择的与所述人工智能模型相匹配的验证执行程序。
19.根据实施方式1所述的人工智能模型的可信验证方法,其中,还包括以下至少一种验证启动步骤:
基于所监测到的所述人工智能模型的更新操作,启动对更新后的人工智能模型的可信性验证;
基于所监测到的所述人工智能模型的被调用操作,启动对被调用的人工智能模型的可信性验证;
按照预设的验证周期,启动对所述人工智能模型的可信性验证。
20.根据实施方式1所述的人工智能模型的可信验证方法,其中,所述终端设备包括以下任一种:支付终端设备、移动终端设备、门禁终端设备、或安防监控终端设备。
21.根据实施方式1所述的人工智能模型的可信验证方法,其中,所述人工智能模型在不可信任执行环境中运行时用于对所述终端设备所采集的生物数据进行身份识别或姿态识别。
22.根据实施方式1所述的人工智能模型的可信验证方法,其中,还包括以下任一步骤:
在不可信任执行环境中确认所述可信性验证结果,以供所述业务处理任务在确认所述可信性验证结果可信时对所述人工智能模型的运行结果进行后续处理;或者
将所述可信性验证结果发送至与所述终端设备通信的业务处理服务端设备,以供所述业务处理任务在确认所述可信性验证结果可信时对所述人工智能模型的运行结果进行后续处理。
23.一种终端设备,其中,包括:
存储装置,用于存储人工智能模型,以及存储至少一个验证执行程序和至少一个业务处理程序;
处理装置,通过总线与所述存储装置通信,包括:
第一处理单元,被配置于不可信任执行环境中,用于调用并执行所述至少一个业务处理程序,以及在所述不可信任执行环境中运行所述人工智能模型;
第二处理单元,被配置于可信任执行环境中,用于在所述可信任执行环境中执行所述至少一个验证执行程序以执行如实施方式1-22中任一所述的验证方法;
其中,所述可信任执行环境与所述不可信任执行环境之间数据通信。
24.根据实施方式23所述的终端设备,其中,所述终端设备还包括采集装置,用于采集生物数据;所述人工智能模型用于对所采集的生物数据进行特征提取或识别。
25.一种人工智能模型的可信验证服务端,其中,包括:
接口装置,用于接收待验证的人工智能模型;
存储装置,用于存储对应所述人工智能模型的至少一个验证执行程序;
处理装置,用于协调所述接口装置和存储装置以执行以下步骤:将所述至少一个验证执行程序发送至安装有所述人工智能模型的终端设备;
其中,所述至少一个验证执行程序用于对运行于所述终端设备的不可信任执行环境中的所述人工智能模型进行可信性验证。
26.根据实施方式25所述的人工智能模型的可信验证服务端,其中,所述处理装置所执行的步骤还包括:基于所述人工智能模型获取所述至少一个验证执行程序。
27.根据实施方式26所述的人工智能模型的可信验证服务端,其中,所述处理装置所执行的步骤还包括:更新对应人工智能模型的至少一个验证执行程序。
28.根据实施方式25所述的人工智能模型的可信验证服务端,其中,所述处理装置所执行的基于人工智能模型获取所述至少一个验证执行程序的步骤包括:
基于所述人工智能模型,从验证执行程序集中选择至少一个与所述人工智能模型匹配的验证执行程序。
29.根据实施方式25所述的人工智能模型的可信验证服务端,其中,所述处理装置还提供包括用于安全通信传输的第一密钥、和/或用于对所述人工智能模型进行完整性验证所需的第二密钥。
30.根据实施方式29所述的人工智能模型的可信验证服务端,其中,所述处理装置还对多个人工智能模型的各验证执行程序和各密钥进行管理。
31.根据实施方式25所述的人工智能模型的可信验证服务端,其中,所述人工智能模型用于对所采集的生物数据进行身份识别或姿态识别。
32.一种人工智能模型的可信验证系统,其中,包括:
如实施方式25-31中任一所述的可信验证服务端;
如实施方式23-24中任一所述的终端设备。
33.一种人工智能模型的软件可信验证系统,其中,所述软件可信验证系统运行于包含可信任执行环境和不可信任执行环境的终端设备中,所述软件可信验证系统包括验证模块,用于在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型所输出的数据的计算机设备进行可信性验证。
34.根据实施方式33所述的人工智能模型的软件可信验证系统,其中,所述验证模块还用于为所述不可信任执行环境与可信任执行环境之间所交互的数据进行安全保护。
35.根据实施方式33所述的人工智能模型的软件可信验证系统,其中,所述验证模块用于依据所述人工智能模型提供的可信性验证信息对所述人工智能模型进行可信性验证。
36.根据实施方式33所述的人工智能模型的软件可信验证系统,其中,所述可信性验证包括以下至少一种:运行安全性验证、单操作安全验证、多操作安全验证、或完整性验证。
37.根据实施方式33所述的人工智能模型的软件可信验证系统,其中,所述验证模块包括第一验证子模块,用于利用从所述可信任执行环境所提取的第一验证输入数据,令所述人工智能模型在不可信任执行环境中运行;以及在所述可信任执行环境中,对所述人工智能模型运行期间所产生的第一运行结果予以运行安全性验证。
38.根据实施方式37所述的人工智能模型的软件可信验证系统,其中,所述第一运行结果包括以下至少一种:与内存占用相关的验证结果或者与请求外部程序相关的验证结果。
39.根据实施方式33所述的人工智能模型的软件可信验证系统,其中,所述验证模块包括:第二验证子模块,用于利用从所述可信任执行环境所提取的至少一个第二验证输入数据,令所述人工智能模型在不可信任执行环境中运行并输出与各第二验证输入数据相应的各第二运行结果;以及在所述可信任执行环境中,对各所述第二验证结果进行可操作性验证。
40.根据实施方式39所述的人工智能模型的软件可信验证系统,其中,所述第二验证子模块用于将所述人工智能模型单次运行时所产生的第二运行结果与预存储的目标运行结果进行匹配,以便根据相应的匹配结果确定在所述人工智能模型是否具备可操作性。
41.根据实施方式39所述的人工智能模型的软件可信验证系统,其中,所述第二验证子模块用于统计所述人工智能模型批量运行时所产生的多个第二运行结果的分布;以及根据所统计的分布结果与预期分布之间的相似性,确定所述人工智能模型是否具备可操作性。
42.根据实施方式41所述的人工智能模型的软件可信验证系统,其中,所述预期分布是基于统计预存储的目标运行结果而确定的。
43.根据实施方式40或42所述的人工智能模型的软件可信验证系统,其中,所述目标运行结果来自于以下至少一种:
所述人工智能模型的历次执行所述可操作性验证时所得到的经验证的第二运行结果;
所述人工智能模型的历史版本在执行所述可操作性验证时所得到的经验证的第二运行结果;或者
与所述人工智能模型同类的其他人工智能模型在执行所述可操作性验证时所得到的经验证的第二运行结果。
44.根据实施方式40所述的人工智能模型的软件可信验证系统,其中,所述第二运行结果包括以下至少一种:与数据格式相关的运行结果、与数值相关的运行结果。
45.根据实施方式33所述的人工智能模型的软件可信验证系统,其中,所述验证模块包括:第三验证子模块,用于在所述可信任执行环境中,基于密码技术对运行所述人工智能模型所需的各文件进行完整性验证。
46.根据实施方式33所述的人工智能模型的软件可信验证系统,其中,还包括第一接口模块,用于获取至少一个验证执行程序;其中,所述至少一个验证执行程序被执行于所述可信任执行环境中以对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证。
47.根据实施方式46所述的人工智能模型的软件可信验证系统,其中,所述验证执行程序是所述可信验证服务端基于所述人工智能模型而得到的。
48.根据实施方式46所述的人工智能模型的软件可信验证系统,其中,所述验证执行程序是所述可信验证服务端从验证执行程序集中选择的与所述人工智能模型相匹配的验证执行程序。
49.根据实施方式46所述的人工智能模型的软件可信验证系统,其中,所述验证模块还用于基于所获取的至少一个验证执行程序进行更新操作;其中,所述至少一个验证执行程序被执行于所述可信任执行环境中以对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证。
50.根据实施方式33所述的人工智能模型的软件可信验证系统,其中,还包括验证启动模块,执行以下至少一种:
基于所监测到的所述人工智能模型的更新操作,启动对更新后的人工智能模型的可信性验证;
基于所监测到的所述人工智能模型的调用操作,启动对所调用的人工智能模型的可信性验证;
按照预设的验证周期,启动对所述人工智能模型的可信性验证。
51.根据实施方式33所述的人工智能模型的软件可信验证系统,其中,所述终端设备包括以下任一种:支付终端设备、移动终端设备、或监控终端设备。
52.根据实施方式33所述的人工智能模型的软件可信验证系统,其中,所述人工智能模型在不可信任执行环境中运行时用于对所述终端设备所采集的生物数据进行身份识别或姿态识别。
53.根据实施方式33所述的人工智能模型的软件可信验证系统,其中,还包括第二接口模块,用于提供以下任一传输:
将所述可信性验证结果提供给配置于所述终端设备中的不可信任执行环境以供其执行确认操作,以供所述业务处理任务在确认所述可信性验证结果可信时对所述人工智能模型的运行结果进行后续处理;或者
将所述可信性验证结果发送至与所述终端设备通信的业务处理服务端设备以执行确认操作,以供所述业务处理任务在确认所述可信性验证结果可信时对所述人工智能模型的运行结果进行后续处理。
54.一种人工智能模型的可信验证方法,其中,所述方法运行于包括可信任执行环境中的验证设备,所述验证设备与一终端设备之间数据通信,所述终端设备包含不可信任执行环境,其中,所述方法包括:在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到可信性验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型的运行结果的计算机设备进行可信性验证。
55.根据实施方式54所述的人工智能模型的可信验证方法,其中,还包括为所述不可信任执行环境与可信任执行环境之间所交互的数据进行安全保护的步骤。
56.根据实施方式55所述的人工智能模型的可信验证方法,其中,所述对运行于不可信任执行环境中的所述人工智能模型进行可信性验证以得到可信性验证结果的步骤包括:依据所述人工智能模型提供的可信性验证信息对所述人工智能模型进行可信性验证。
57.根据实施方式54所述的人工智能模型的可信验证方法,其中,所述可信性验证包括以下至少一种:运行安全性验证、单操作安全验证、多操作安全验证、或完整性验证。
58.根据实施方式54所述的人工智能模型的可信验证方法,其中,所述对运行于不可信任执行环境中的所述人工智能模型进行可信性验证的步骤包括:
利用从所述可信任执行环境所提取的第一验证输入数据,令所述人工智能模型在不可信任执行环境中运行,得到第一运行结果;
在所述可信任执行环境中,对所述第一运行结果予以运行安全性验证。
59.根据实施方式58所述的人工智能模型的可信验证方法,其中,所述第一运行结果包括以下至少一种:与内存占用相关的运行结果、或者与请求外部程序相关的运行结果。
60.根据实施方式54所述的人工智能模型的可信验证方法,其中,所述对运行于不可信任执行环境中的所述人工智能模型进行可信性验证的步骤包括:
利用从所述可信任执行环境所提取的至少一个第二验证输入数据,令所述人工智能模型在不可信任执行环境中运行并输出与各第二验证输入数据相应的各第二运行结果;
在所述可信任执行环境中,对各所述第二运行结果进行可操作性验证。
61.根据实施方式60所述的人工智能模型的可信验证方法,其中,所述对各第二运行结果进行可操作性验证的步骤包括:
将所述人工智能模型单次运行时所产生的第二运行结果与预存储的目标运行结果进行匹配,以便根据相应的匹配结果确定所述人工智能模型是否具备可操作性。
62.根据实施方式60所述的人工智能模型的可信验证方法,其中,所述对各第二运行结果进行可操作性验证的步骤包括:
统计所述人工智能模型批量运行时所产生的多个第二运行结果的分布;
根据所统计的分布结果与预期分布之间的相似性,确定所述人工智能模型是否具备可操作性。
63.根据实施方式62所述的人工智能模型的可信验证方法,其中,所述预期分布是基于统计预存储的目标运行结果而确定的。
64.根据实施方式61或63所述的人工智能模型的可信验证方法,其中,所述目标运行结果来自于以下至少一种:
所述人工智能模型的历次执行所述可操作性验证时所得到的经验证的第二运行结果;
所述人工智能模型的历史版本在执行所述可操作性验证时所得到的经验证的第二运行结果;或者
与所述人工智能模型同类的其他人工智能模型在执行所述可操作性验证时所得到的经验证的第二运行结果。
65.根据实施方式60所述的人工智能模型的可信验证方法,其中,所述第二运行结果包括以下至少一种:与数据格式相关的运行结果、与数值相关的运行结果。
66.根据实施方式54所述的人工智能模型的验证方法,其中,所述对运行于不可信任执行环境中的所述人工智能模型进行可信性验证的步骤包括:在所述可信任执行环境中,基于密码技术对运行所述人工智能模型所需的各文件进行完整性验证。
67.根据实施方式54所述的人工智能模型的可信验证方法,其中,还包括:获取至少一个验证执行程序;所述验证执行程序被执行于所述可信任执行环境中以对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证。
68.根据实施方式67所述的人工智能模型的可信验证方法,其中,还包括:更新所述至少一个验证执行程序的步骤。
69.根据实施方式67所述的人工智能模型的可信验证方法,其中,所述验证执行程序是所述可信验证服务端基于所述人工智能模型而得到的。
70.根据实施方式67所述的人工智能模型的可信验证方法,其中,所述验证执行程序是所述可信验证服务端从验证执行程序集中选择的与所述人工智能模型相匹配的验证执行程序。
71.根据实施方式67所述的人工智能模型的可信验证方法,其中,所述验证执行程序是基于所述验证设备与一可信验证服务端所建立的安全通信通道传输获得的;其中,所述可信验证服务端基于所管理的密钥与所述验证设备进行数据传输。
72.根据实施方式54所述的人工智能模型的可信验证方法,其中,还包括以下至少一种验证启动步骤:
基于所监测到的所述人工智能模型的更新操作,启动对更新后的人工智能模型的可信性验证;
基于所监测到的所述人工智能模型的被调用操作,启动对被调用的人工智能模型的可信性验证;
按照预设的验证周期,启动对所述人工智能模型的可信性验证。
73.根据实施方式54所述的人工智能模型的可信验证方法,其中,所述终端设备包括以下任一种:支付终端设备、移动终端设备、门禁终端设备、或安防监控终端设备。
74.根据实施方式54所述的人工智能模型的可信验证方法,其中,所述人工智能模型在不可信任执行环境中运行时用于对所述终端设备所采集的生物数据进行身份识别或姿态识别。
75.根据实施方式54所述的人工智能模型的可信验证方法,其中,还包括以下任一步骤:
将所述可信性验证结果发送至所述终端设备,以供所述业务处理任务在确认所述可信性验证结果可信时对所述人工智能模型的运行结果进行后续处理;或者
将所述可信性验证结果发送至与所述终端设备通信的业务处理服务端设备,以供所述业务处理服务端设备在确认所述可信性验证结果可信时对所述人工智能模型的运行结果进行后续处理。
76.一种人工智能模型的可信验证设备,其中,包括配置在可信任执行环境中中的以下各单元:
接口单元,用于与一终端设备之间数据通信,所述终端设备包含不可信任执行环境;
存储单元,用于存储至少一个验证执行程序;
处理单元,与所述接口单元和存储单元相连,用于在调用至少一个验证执行程序时执行并实现如实施方式54-75中任一所述的验证方法。
77.根据实施方式76所述的人工智能模型的可信验证设备,其中,所述接口单元包括串行接口、和/或网络接口。
78.一种人工智能模型的软件可信验证系统,其中,所述软件可信验证系统运行于包括可信任执行环境中的验证设备,所述验证设备与一终端设备之间数据通信,所述终端设备包含不可信任执行环境,其中,所述软件可信验证系统包括:验证模块,用于在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到可信性验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型所输出数据的计算机设备进行可信性验证。
79.根据实施方式78所述的人工智能模型的软件可信验证系统,其中,所述验证模块还用于为所述不可信任执行环境与可信任执行环境之间所交互的数据进行安全保护。
80.根据实施方式78所述的人工智能模型的软件可信验证系统,其中,所述验证模块用于依据所述人工智能模型提供的可信性验证信息对所述人工智能模型进行可信性验证。
81.根据实施方式78所述的人工智能模型的软件可信验证系统,其中,所述可信性验证包括以下至少一种:运行安全性验证、单操作安全验证、多操作安全验证、或完整性验证。
82.根据实施方式78所述的人工智能模型的软件可信验证系统,其中,所述验证模块包括第一验证子模块,用于利用从所述可信任执行环境所提取的第一验证输入数据,令所述人工智能模型在不可信任执行环境中运行;以及在所述可信任执行环境中,对所述人工智能模型运行期间所产生的第一运行结果予以运行安全性验证。
83.根据实施方式82所述的人工智能模型的软件可信验证系统,其中,所述第一运行结果包括以下至少一种:与内存占用相关的验证结果或者与请求外部程序相关的验证结果。
84.根据实施方式82所述的人工智能模型的软件可信验证系统,其中,所述验证模块包括:第二验证子模块,用于利用从所述可信任执行环境所提取的至少一个第二验证输入数据,令所述人工智能模型在不可信任执行环境中运行并输出与各第二验证输入数据相应的各第二运行结果;以及在所述可信任执行环境中,对各所述第二验证结果进行可操作性验证。
85.根据实施方式84所述的人工智能模型的软件可信验证系统,其中,所述第二验证子模块用于将所述人工智能模型单次运行时所产生的第二运行结果与预存储的目标运行结果进行匹配,以便根据相应的匹配结果确定在所述人工智能模型是否具备可操作性。
86.根据实施方式85所述的人工智能模型的软件可信验证系统,其中,所述第二验证子模块用于统计所述人工智能模型批量运行时所产生的多个第二运行结果的分布;以及根据所统计的分布结果与预期分布之间的相似性,确定所述人工智能模型是否具备可操作性。
87.根据实施方式86所述的人工智能模型的软件可信验证系统,其中,所述预期分布是基于统计预存储的目标运行结果而确定的。
88.根据实施方式85或87所述的人工智能模型的软件可信验证系统,其中,所述目标运行结果来自于以下至少一种:
所述人工智能模型的历次执行所述可操作性验证时所得到的经验证的第二运行结果;
所述人工智能模型的历史版本在执行所述可操作性验证时所得到的经验证的第二运行结果;或者
与所述人工智能模型同类的其他人工智能模型在执行所述可操作性验证时所得到的经验证的第二运行结果。
89.根据实施方式84所述的人工智能模型的软件可信验证系统,其中,所述第二运行结果包括以下至少一种:与数据格式相关的运行结果、与数值相关的运行结果。
90.根据实施方式78所述的人工智能模型的软件可信验证系统,其中,所述验证模块包括:第三验证子模块,用于在所述可信任执行环境中,基于密码技术对运行所述人工智能模型所需的各文件进行完整性验证。
91.根据实施方式78所述的人工智能模型的软件可信验证系统,其中,还包括第一接口模块,用于获取至少一个验证执行程序;其中,所述至少一个验证执行程序被执行于所述可信任执行环境中以对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证。
92.根据实施方式91所述的人工智能模型的软件可信验证系统,其中,所述验证模块还用于基于所获取的至少一个验证执行程序进行更新操作。
93.根据实施方式91所述的人工智能模型的软件可信验证系统,其中,所述验证执行程序是所述可信验证服务端基于所述人工智能模型而得到的。
94.根据实施方式91所述的人工智能模型的软件可信验证系统,其中,所述验证执行程序是所述可信验证服务端从验证执行程序集中选择的与所述人工智能模型相匹配的验证执行程序。
95.根据实施方式78所述的人工智能模型的软件可信验证系统,其中,还包括验证启动模块,执行以下至少一种:
基于所监测到的所述人工智能模型的更新操作,启动对更新后的人工智能模型的可信性验证;
基于所监测到的所述人工智能模型的调用操作,启动对所调用的人工智能模型的可信性验证;
按照预设的验证周期,启动对所述人工智能模型的可信性验证。
96.根据实施方式78所述的人工智能模型的软件可信验证系统,其中,所述终端设备包括以下任一种:支付终端设备、移动终端设备、或监控终端设备。
97.根据实施方式78所述的人工智能模型的软件可信验证系统,其中,所述人工智能模型在不可信任执行环境中运行时用于对所述终端设备所采集的生物数据进行身份识别或姿态识别。
98.根据实施方式78所述的人工智能模型的软件可信验证系统,其中,还包括第二接口模块,用于提供以下任一传输:
将所述可信性验证结果发送至所述终端设备,以供所述业务处理任务在确认所述可信性验证结果可信时对所述人工智能模型的运行结果进行后续处理;或者
将所述可信性验证结果发送至与所述终端设备通信的业务处理服务端设备,以供所述业务处理服务端设备在确认所述可信性验证结果可信时对所述人工智能模型的运行结果进行后续处理。
99.一种人工智能模型的可信验证系统,其中,包括:
如实施方式25-31中任一所述的可信验证服务端;
如实施方式76-77中任一所述的验证设备。
100.一种计算机可读存储介质,其中,存储至少一种程序,所述至少一种程序在被调用时执行并实现如实施方式1-24中任一所述的验证方法,或者实现如实施方式54-75中任一所述的验证方法。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。

Claims (10)

1.一种人工智能模型的可信验证方法,其特征在于,所述方法运行于包含可信任执行环境和不可信任执行环境的终端设备中,所述方法包括:在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到可信性验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型的运行结果的计算机设备进行可信性验证。
2.一种终端设备,其特征在于,包括:
存储装置,用于存储人工智能模型,以及存储至少一个验证执行程序和至少一个业务处理程序;
处理装置,通过总线与所述存储装置通信,包括:
第一处理单元,被配置于不可信任执行环境中,用于调用并执行所述至少一个业务处理程序,以及在所述不可信任执行环境中运行所述人工智能模型;
第二处理单元,被配置于可信任执行环境中,用于在所述可信任执行环境中执行所述至少一个验证执行程序以执行如权利要求1所述的可信验证方法;
其中,所述可信任执行环境与所述不可信任执行环境之间数据通信。
3.一种人工智能模型的可信验证服务端,其特征在于,包括:
接口装置,用于接收待验证的人工智能模型;
存储装置,用于存储对应所述人工智能模型的至少一个验证执行程序;
处理装置,用于协调所述接口装置和存储装置以执行以下步骤:将所述至少一个验证执行程序发送至安装有所述人工智能模型的终端设备;
其中,所述至少一个验证执行程序用于对运行于所述终端设备的不可信任执行环境中的所述人工智能模型进行可信性验证。
4.一种人工智能模型的可信验证系统,其特征在于,包括:
如权利要求3所述的可信验证服务端;
如权利要求2所述的终端设备。
5.一种人工智能模型的软件可信验证系统,其特征在于,所述软件可信验证系统运行于包含可信任执行环境和不可信任执行环境的终端设备中,所述软件可信验证系统包括验证模块,用于在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型所输出的数据的计算机设备进行可信性验证。
6.一种人工智能模型的可信验证方法,其特征在于,所述方法运行于包括可信任执行环境中的验证设备,所述验证设备与一终端设备之间数据通信,所述终端设备包含不可信任执行环境,其中,所述方法包括:在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到可信性验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型的运行结果的计算机设备进行可信性验证。
7.一种人工智能模型的可信验证设备,其特征在于,包括配置在可信任执行环境中中的以下各单元:
接口单元,用于与一终端设备之间数据通信,所述终端设备包含不可信任执行环境;
存储单元,用于存储至少一个验证执行程序;
处理单元,与所述接口单元和存储单元相连,用于在调用至少一个验证执行程序时执行并实现如权利要求6所述的可信验证方法。
8.一种人工智能模型的软件可信验证系统,其特征在于,所述软件可信验证系统运行于包括可信任执行环境中的验证设备,所述验证设备与一终端设备之间数据通信,所述终端设备包含不可信任执行环境,其中,所述软件可信验证系统包括:验证模块,用于在所述可信任执行环境中,对运行于所述不可信任执行环境中的所述人工智能模型进行可信性验证以得到可信性验证结果;其中,所述可信性验证结果用于供处理所述人工智能模型所输出数据的计算机设备进行可信性验证。
9.一种人工智能模型的可信验证系统,其特征在于,包括:
如权利要求3所述的可信验证服务端;
如权利要求7所述的可信验证设备。
10.一种计算机可读存储介质,其特征在于,存储至少一种程序,所述至少一种程序在被调用时执行并实现如权利要求1所述的可信验证方法,或者实现如权利要求6所述的可信验证方法。
CN202010103299.9A 2020-02-19 2020-02-19 人工智能模型的验证方法、系统、设备及存储介质 Active CN111949972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010103299.9A CN111949972B (zh) 2020-02-19 2020-02-19 人工智能模型的验证方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010103299.9A CN111949972B (zh) 2020-02-19 2020-02-19 人工智能模型的验证方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111949972A true CN111949972A (zh) 2020-11-17
CN111949972B CN111949972B (zh) 2023-10-03

Family

ID=73336934

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010103299.9A Active CN111949972B (zh) 2020-02-19 2020-02-19 人工智能模型的验证方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111949972B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113095430A (zh) * 2021-04-26 2021-07-09 北京瑞莱智慧科技有限公司 可保护隐私的模型更新方法、对象识别方法、系统、装置、介质和设备
CN113722683A (zh) * 2021-08-30 2021-11-30 北京百度网讯科技有限公司 模型保护方法、装置、设备、系统以及存储介质
WO2023088241A1 (zh) * 2021-11-16 2023-05-25 华为技术有限公司 一种人工智能ai通信方法及装置
WO2024017074A1 (zh) * 2022-07-21 2024-01-25 华为技术有限公司 一种通信方法及通信装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080282084A1 (en) * 2007-05-09 2008-11-13 Sony Computer Entertainment Inc. Methods and apparatus for secure operating system distribution in a multiprocessor system
CN102193861A (zh) * 2011-03-15 2011-09-21 北京邮电大学 一种基于数据挖掘的软件可信性度量与评估方法
US20140325644A1 (en) * 2013-04-29 2014-10-30 Sri International Operating system-independent integrity verification
CN105429808A (zh) * 2015-12-31 2016-03-23 公安部第三研究所 基于可信计算的动态管理业务系统及方法
CN107808098A (zh) * 2017-09-07 2018-03-16 阿里巴巴集团控股有限公司 一种模型安全检测方法、装置以及电子设备
US20180276392A1 (en) * 2017-03-21 2018-09-27 Nxp B.V. Method and system for operating a cache in a trusted execution environment
WO2019144640A1 (zh) * 2018-01-23 2019-08-01 晶晨半导体(上海)股份有限公司 一种提高可信应用程序安全的方法
CN110555706A (zh) * 2019-08-30 2019-12-10 北京银联金卡科技有限公司 基于安全单元和可信执行环境的人脸支付安全方法及平台
US20190392305A1 (en) * 2018-06-25 2019-12-26 International Business Machines Corporation Privacy Enhancing Deep Learning Cloud Service Using a Trusted Execution Environment
CN110704850A (zh) * 2019-09-03 2020-01-17 华为技术有限公司 人工智能ai模型的运行方法和装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080282084A1 (en) * 2007-05-09 2008-11-13 Sony Computer Entertainment Inc. Methods and apparatus for secure operating system distribution in a multiprocessor system
CN102193861A (zh) * 2011-03-15 2011-09-21 北京邮电大学 一种基于数据挖掘的软件可信性度量与评估方法
US20140325644A1 (en) * 2013-04-29 2014-10-30 Sri International Operating system-independent integrity verification
CN105429808A (zh) * 2015-12-31 2016-03-23 公安部第三研究所 基于可信计算的动态管理业务系统及方法
US20180276392A1 (en) * 2017-03-21 2018-09-27 Nxp B.V. Method and system for operating a cache in a trusted execution environment
CN107808098A (zh) * 2017-09-07 2018-03-16 阿里巴巴集团控股有限公司 一种模型安全检测方法、装置以及电子设备
WO2019144640A1 (zh) * 2018-01-23 2019-08-01 晶晨半导体(上海)股份有限公司 一种提高可信应用程序安全的方法
US20190392305A1 (en) * 2018-06-25 2019-12-26 International Business Machines Corporation Privacy Enhancing Deep Learning Cloud Service Using a Trusted Execution Environment
CN110555706A (zh) * 2019-08-30 2019-12-10 北京银联金卡科技有限公司 基于安全单元和可信执行环境的人脸支付安全方法及平台
CN110704850A (zh) * 2019-09-03 2020-01-17 华为技术有限公司 人工智能ai模型的运行方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
魏凡星;傅山;王嘉义;余泉;: "TEE技术应用到智能设备生物识别场景的安全性分析", 移动通信, no. 21 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113095430A (zh) * 2021-04-26 2021-07-09 北京瑞莱智慧科技有限公司 可保护隐私的模型更新方法、对象识别方法、系统、装置、介质和设备
CN113722683A (zh) * 2021-08-30 2021-11-30 北京百度网讯科技有限公司 模型保护方法、装置、设备、系统以及存储介质
CN113722683B (zh) * 2021-08-30 2023-10-13 北京百度网讯科技有限公司 模型保护方法、装置、设备、系统以及存储介质
WO2023088241A1 (zh) * 2021-11-16 2023-05-25 华为技术有限公司 一种人工智能ai通信方法及装置
WO2024017074A1 (zh) * 2022-07-21 2024-01-25 华为技术有限公司 一种通信方法及通信装置

Also Published As

Publication number Publication date
CN111949972B (zh) 2023-10-03

Similar Documents

Publication Publication Date Title
CN110519062B (zh) 基于区块链的身份认证方法、认证系统及存储介质
US10068076B1 (en) Behavioral authentication system using a behavior server for authentication of multiple users based on their behavior
US11457019B2 (en) Access control authentication scheme based on continuous authentication
US20230006975A1 (en) Blockchain joining for a limited processing capability device and device access security
CN111949972B (zh) 人工智能模型的验证方法、系统、设备及存储介质
US11689513B2 (en) Blockchain operating system
CN111949986B (zh) 业务处理方法、系统及存储介质
US11601421B1 (en) Identity management system
CN105493538B (zh) 用于安全元件中心式nfc架构的nfc访问控制的系统和方法
CN110494854B (zh) 使用安全多方计算的认证系统
US11063749B2 (en) Cryptographic key management based on identity information
CN107077574A (zh) 用于客户端设备的信任服务
CN112631605A (zh) 联邦学习模型的代码编译方法、装置、设备及存储介质
US20180218364A1 (en) Managing distributed content using layered permissions
CN115296794A (zh) 基于区块链的密钥管理方法及装置
CN110431803A (zh) 基于身份信息管理加密密钥
CN114826604A (zh) 基于人脸识别的小程序登录验证方法、装置、设备及存储介质
US11528134B2 (en) Authentication using transformation verification
CN113762968A (zh) 一种交易设备的认证方法、相关装置、设备以及存储介质
US20220318389A1 (en) Transforming dataflows into secure dataflows using trusted and isolated computing environments
US11936649B2 (en) Multi-factor authentication
US20200082397A1 (en) System and method for iot device authentication and secure transaction authorization
US11334887B2 (en) Payment card authentication management
EP4237957A1 (en) System, method and computer program product for authentication of digital service end-users
Khalili Design and Implementation of a Blockchain-based Global Authentication System Using Biometrics and Subscriber Identification Module

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