CN115952529A - 一种用户数据处理方法、计算设备及存储介质 - Google Patents
一种用户数据处理方法、计算设备及存储介质 Download PDFInfo
- Publication number
- CN115952529A CN115952529A CN202310243902.7A CN202310243902A CN115952529A CN 115952529 A CN115952529 A CN 115952529A CN 202310243902 A CN202310243902 A CN 202310243902A CN 115952529 A CN115952529 A CN 115952529A
- Authority
- CN
- China
- Prior art keywords
- encryption
- neural network
- user data
- hidden layer
- hidden
- 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
Images
Abstract
本发明涉及机器学习领域,特别涉及一种用户数据处理方法、计算设备及存储介质,方法包括:从第一神经网络中选择一个或多个第一隐藏层;对选择的一个或多个第一隐藏层进行权重参数加密,得到一个或多个第二隐藏层;用第二隐藏层对应替换第一神经网络中的第一隐藏层,得到第二神经网络;响应于接收到用户数据,将用户数据输入第二神经网络得到加密模型输出结果;对加密模型输出结果进行解密得到第一模型输出结果,第一模型输出结果与未加密的第一神经网络对用户数据进行计算得到的计算结果相同。本发明通过对神经网络中隐藏层的权重参数进行加密,实现对神经网络进行加密,使神经网络使用加密的隐藏层进行运算得到输出结果,实现了对神经网络的保护。
Description
技术领域
本发明涉及机器学习领域,特别涉及一种用户数据处理方法、计算设备及存储介质。
背景技术
随着人工智能技术的发展,越来越多的算法模型将应用在各种设备中,为了避免同行业其他竞争者盗取算法或者避免黑客利用算法模型进行病毒植入,保护用户数据和算法模型成为保护商业秘密的重要工作。
现有技术中,若需要保护用户数据,防止用户数据泄漏,通常可采用联邦学习的机器学习技术。联邦学习是一种分布式机器学习技术,能够让联邦学习各参与方在不披露底层数据和底层数据加密形态的前提下,通过交换加密的机器学习中间结果实现联合建模。但这种方式不能对算法模型提供安全保护方案。
为此,需要一种新的用户数据处理方法。
发明内容
为此,本发明提供一种用户数据处理方法,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种用户数据处理方法,方法包括:从第一神经网络中包括的隐藏层中选择一个或多个第一隐藏层;对选择的一个或多个第一隐藏层进行权重参数加密,得到一个或多个第二隐藏层;用第二隐藏层对应替换第一神经网络中的第一隐藏层,得到第二神经网络;响应于接收到用户数据,将用户数据输入第二神经网络得到加密模型输出结果;对加密模型输出结果进行解密得到第一模型输出结果,第一模型输出结果与未加密的第一神经网络对用户数据进行计算得到的计算结果相同。
可选地,在根据本发明的方法中,响应于接收到用户数据,将用户数据输入第二神经网络得到加密模型输出结果包括:将用户数据输入第二神经网络的输入层,生成关于用户数据的第一特征向量;根据第二神经网络包括的一个或多个隐藏层对第一特征向量进行计算,其中,若隐藏层被加密为第二隐藏层,则根据加密后的第二隐藏层进行计算,直到完成所有隐藏层的计算得到最终计算结果;将最终计算结果输入第二神经网络的输出层得到加密模型输出结果。
可选地,在根据本发明的方法中,用户数据包括加密用户数据,加密用户数据的生成步骤包括:根据第一加密密钥对普通用户数据进行加密得到加密用户数据;方法还包括:根据第一解密密钥对第一模型输出结果进行解密得到第二模型输出结果,将第二模型输出结果作为第一神经网络根据普通用户数据进行运算生成的模型输出结果。
可选地,在根据本发明的方法中,从第一神经网络中包括的隐藏层中选择一个或多个第一隐藏层包括:根据第一神经网络中包括的隐藏层的运算规则确定加密方式;若加密方式为全同态加密,则选择第一神经网络中所有隐藏层作为第一隐藏层进行加密。
可选地,在根据本发明的方法中,还包括:若加密方式为半同态加密,则根据隐藏层的权重参数的个数和/或隐藏层在第一神经网络中所处的层数,选择一个或多个隐藏层作为第一隐藏层。
可选地,在根据本发明的方法中,根据第一神经网络中包括的隐藏层的运算规则确定加密方式包括:若第一神经网络中包括的所有隐藏层的运算规则均支持同态加密,则加密方式为全同态加密;若第一神经网络中包括的部分隐藏层的运算规则支持同态加密,则加密方式为半同态加密。
可选地,在根据本发明的方法中,根据加密后的第二隐藏层进行计算包括:根据第二隐藏层中加密后的权重参数进行计算,得到加密的计算结果,以便后续的隐藏层根据加密的计算结果进行计算。
可选地,在根据本发明的方法中,还包括:若第二隐藏层的下一个隐藏层不支持同态加密,则第二隐藏层在生成加密的计算结果后,对加密的计算结果进行解密,并将解密后的计算结果输入下一个隐藏层进行计算。
可选地,在根据本发明的方法中,对选择的一个或多个第一隐藏层进行权重参数加密,得到一个或多个第二隐藏层包括:根据第二加密密钥对选择的一个或多个第一隐藏层进行权重参数加密,得到一个或多个第二隐藏层;对加密模型输出结果进行解密得到第一模型输出结果包括:获取第二解密密钥,根据述第二解密密钥对加密模型输出结果进行解密得到第一模型输出结果。
可选地,在根据本发明的方法中,用户数据包括人脸数据或人体行为数据。
根据本发明的另一方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中,一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的用户数据处理方法的指令。
根据本发明的再一方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本发明的用户数据处理方法。
本发明中的用户数据处理方法,包括:从第一神经网络中包括的隐藏层中选择一个或多个第一隐藏层;对选择的一个或多个第一隐藏层进行权重参数加密,得到一个或多个第二隐藏层;用第二隐藏层对应替换第一神经网络中的第一隐藏层,得到第二神经网络;响应于接收到用户数据,将用户数据输入第二神经网络得到加密模型输出结果;对加密模型输出结果进行解密得到第一模型输出结果,第一模型输出结果与未加密的第一神经网络对用户数据进行计算得到的计算结果相同。本发明通过对神经网络中隐藏层的权重参数进行加密,实现对神经网络进行加密,使神经网络使用加密的隐藏层进行运算得到输出结果,最后对输出结果进行解密,实现了对神经网络的保护,提高运算安全性。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本发明公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个示范性实施例的服务器与客户端通信连接的示意图;
图2示出了根据本发明一个示范性实施例的计算设备200的结构框图;
图3示出了根据本发明一个示范性实施例的用户数据处理方法300的示意图;
图4示出了根据本发明一个示范性实施例的神经网络的示意图;
图5示出了根据本发明一个示范性实施例的同态加密的示意图;
图6示出了根据本发明一个示范性实施例的执行加密过程的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。相同的附图标记通常指代相同的部件或元素。
根据本发明的一个实施例,本发明中的用户数据处理方法可在服务器中执行,服务器与一个或多个客户端通信连接。
图1示出了根据本发明一个示范性实施例的服务器与客户端通信连接的示意图。如图1所示,服务器120与第一客户端111、第二客户端112和第三客户端113通信连接。本发明对服务器120所连接客户端的具体数量以及与每个客户端连接的具体方式不做限制。服务器还与密钥服务器130通信连接。
本发明中的服务器、客户端以及密钥服务器均可以实现为一种计算设备。
图2示出了根据本发明一个示范性实施例的计算设备的结构框图。在基本配置中,计算设备200包括至少一个处理单元220和系统存储器210。根据一个方面,取决于计算设备的配置和类型,系统存储器210包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器、或者这样的存储器的任何组合。根据一个方面,系统存储器210包括操作系统211。
根据一个方面,操作系统211,例如,适合于控制计算设备200的操作。此外,示例结合图形库、其他操作系统、或任何其他应用程序而被实践,并且不限于任何特定的应用或系统。在图2中通过在虚线215内的那些组件示出了该基本配置。根据一个方面,计算设备200具有额外的特征或功能。例如,根据一个方面,计算设备200包括额外的数据存储设备(可移动的和/或不可移动的),例如磁盘、光盘、或者磁带。
如在上文中所陈述的,根据一个方面,在系统存储器210中存储程序模块212。根据一个方面,程序模块212可包括一个或多个应用程序,本发明不限制应用程序的类型,例如应用还包括:电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片展示应用程序、绘画或计算机辅助应用程序、网络浏览器应用程序等。
根据一个方面,可以在包括分立电子元件的电路、包含逻辑门的封装或集成的电子芯片、利用微处理器的电路、或者在包含电子元件或微处理器的单个芯片上实践示例。例如,可以经由其中在图2中所示出的每个或许多组件可以集成在单个集成电路上的片上系统(SOC)来实践示例。根据一个方面,这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、以及各种应用功能,其全部作为单个集成电路而被集成(或“烧”)到芯片基底上。当经由SOC进行操作时,可以经由在单个集成电路(芯片)上与计算设备200的其他组件集成的专用逻辑来对在本文中所描述的功能进行操作。还可以使用能够执行逻辑操作(例如AND、OR和NOT)的其他技术来实践本发明的实施例,所述其他技术包括但不限于机械、光学、流体、和量子技术。另外,可以在通用计算机内或在任何其他任何电路或系统中实践本发明的实施例。
根据一个方面,计算设备200还可以具有一个或多个输入设备231,例如键盘、鼠标、笔、语音输入设备、触摸输入设备等。还可以包括输出设备232,例如显示器、扬声器、打印机等。前述设备是示例并且也可以使用其他设备。计算设备200可以包括允许与其他计算设备240进行通信的一个或多个通信连接233。合适的通信连接233的示例包括但不限于:RF发射机、接收机和/或收发机电路;通用串行总线(USB)、并行和/或串行端口。计算设备200可通过通信连接233与其他计算设备240通信连接。
本发明实施方式还提供一种非暂态可读存储介质,存储有指令,所述指令用于使所述计算设备执行根据本发明实施方式的方法。本实施例的可读介质包括永久性和非永久性、可移动和非可移动介质,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。可读存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非暂态可读存储介质。
根据一个方面,通信介质是由计算机可读指令、数据结构、程序模块、或者经调制的数据信号(例如,载波或其他传输机制)中的其他数据实施的,并且包括任何信息传递介质。根据一个方面,术语“经调制的数据信号”描述了具有一个或多个特征集或者以将信息编码在信号中的方式改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频(RF)、红外线的、以及其他无线介质之类的无线介质。
需要说明的是,尽管上述计算设备仅示出了处理单元220、系统存储器210、输入设备231、输出设备232、以及通信连接233,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
图3示出了根据本发明一个示范性实施例的用户数据处理方法300的示意图。如图3所示,本发明的用户数据处理方法首先执行步骤310:从第一神经网络中包括的隐藏层中选择一个或多个第一隐藏层。
根据本发明的一个实施例,服务器中可包括预先构建好的第一神经网络,本发明对第一神经网络的具体结构及实现方式不做限制。第一神经网络可具体实现为非深度前馈神经网络或深度神经网络。
根据本发明的一个实施例,神经网络(包括第一神经网络和第二神经网络)中包括输入层,输出层和一个或多个隐藏层。当神经网络中包括一个隐藏层时,神经网络可具体实现为非深度前馈神经网络;当神经网络中包括多个隐藏层时,神经网络可具体实现为深度神经网络。神经网络中的隐藏层可包括卷积层、反卷积层、下采样层、全连接层等,并可具体实现为上述中的任意一种。本发明对神经网络中所包括的隐藏层的具体数量以及具体类型不做限制。
图4示出了根据本发明一个示范性实施例的神经网络的示意图。如图4所示,神经网络包括最左侧的输入层,位于中间的隐藏层和最右侧的输出层。其中,图4所示出的神经网络中,隐藏层包括隐藏层a和隐藏层b。
神经网络中每一层的计算方式的一个具体示例为如下公式:
根据本发明的一个实施例,用户数据可具体实现为图像数据,如摄像头拍摄数据,具体可包括人脸数据,人体行为数据等。本发明对用户数据的具体实现方式不做限制。
根据本发明的一个实施例,神经网络可具体实现为一种人脸识别模型,人体检测算法模型等,如YOLOv5模型,本发明对神经网络的具体实现方式不做限制。
由于智能摄像头可能存在终端安全、后端信息系统安全、数据传输安全、移动应用安全等质量安全隐患,若消费者使用不当或超预期使用,容易导致个人隐私信息泄露、财产损失等危害。用户对隐私安全的需求也日益提升,尤其是音视频数据的泄露是用户非常关心的问题。
随着5G以及AIOT技术的普及,AI等技术使用越来越频繁,和各行各业做大跨度的融合。所以AI安全是一个持久性的安全需求。AI模型的加密是保护技术企业核心资产的重要手段,用户数据的加密是保护用户隐私的重要手段。无论是用户数据上传企业云端进行AI处理还是企业的产品将AI模型下发到用户端侧设备(如手机、摄像头等)中进行AI处理,企业和用户对安全和保密的需求都很强烈。
因此,本发明一种可能的应用场景如下:用户家用摄像头会拍摄画面,通过人脸识别进行陌生人报警,或人体移动检测检测拍摄范围内是否有人体,以实现“看家功能”。
用户侧想要保护的数据是摄像头采集的图像数据,图像中可能包含人脸信息,行为规律等,这些信息被泄露后有可能会被不法分子利用。公司侧想保护算法模型的安全,由于在产品更新维护的过程中,也伴随着优化后的模型在线更新、存储等操作,该过程中无法完全避免黑客的攻击。但对用户数据和神经网络进行加密后,相当于用户侧给自己数据加密,公司给自己的AI模型加密,给用户数据和神经网络提供保护,使得数据安全性大幅提升。
看家功能是采用人工智能算法检测人体,出现人体的时间段会被标注为重要,提醒用户观看。人体检测算法模型可采用YOLOv5模型,YOLOv5模型进行目标检测,输入为摄像头画面,输出为人体框的位置。在进行模型中隐藏层的权重参数时,可随机挑选符合同态加密计算规则的某一层或者连续多层进行加密,如YOLOv5网络结构图中的conv层,上采样层,concat层等都可作为第一隐藏层进行加密。当模型中有隐藏层进行了加密,模型被窃取后,该模型在使用时的计算结果会出错,即模型失效,以此保护模型安全。
用户图像数据的加密可在用户端侧进行,如在与服务器连接的客户端中执行。图像数据可以用矩阵表示,过程是对矩阵数据的加密。图像加密后会经过整个模型的计算,所以该过程可采用全同态加密。图像加密后经过仿射变换、归一化等预处理操作后输入到模型中,根据产品的架构(模型存放在云端或者在端侧摄像头中),可上传云端进行人体检测识别,或在端侧进行人体检测识别。识别过程为模型输入后进行当前层隐藏层是否加密判断,如果判断为当前层模型未加密,即按照当前层的计算规则进行密文(输入数据)与明文(模型权重参数)的运算;当识别到当前层模型进行了加密,则按照当前层网络的计算规则进行密文(输入数据)与密文(模型中加密的权重参数)的运算,直到再次识别到模型未加密层,需要先请求第二解密密钥对当前的结果进行解密,继续按照模型未加密的规则进行计算。按照上述规则,直至模型运行结束。对模型的第一模型输出结果采用第一解密密钥进行解密后得到第二模型输出结果,用于判断场景中是否有人,以及人在画面中位置。当用户设置看家模式后,如果画面中有人,通过手机短信提醒的方式提醒用户,同时对有人这一时间段内的视频帧进行标注,保存在本地中。当用户读取摄像头本地信息回看画面时,通过飘黄、标红等进行提示。
根据本发明的一个实施例,第一神经网络中包括一个或多个隐藏层,其中,被选择要进行加密的隐藏层为第一隐藏层,包括的一个或多个隐藏层中除第一隐藏层以外的隐藏层不进行加密。
根据本发明的一个实施例,从第一神经网络中包括的隐藏层中选择一个或多个第一隐藏层时,根据第一神经网络中包括的隐藏层的运算规则确定加密方式;若加密方式为全同态加密,则对第一神经网络中所有隐藏层选择加密算法进行加密;
若加密方式为半同态加密,则根据隐藏层的权重参数的个数和/或隐藏层在第一神经网络中所处的层数,选择一个或多个隐藏层作为第一隐藏层,并选择加密算法进行加密。
根据本发明的一个实施例,根据第一神经网络中包括的隐藏层的运算规则确定加密方式包括:若第一神经网络中包括的所有隐藏层的运算规则均支持同态加密,则加密方式为全同态加密;若第一神经网络中包括的部分隐藏层的运算规则支持同态加密,则加密方式为半同态加密。
同态加密(Homomorphic Encryption)是指将原始数据经过同态加密后,对得到的密文进行特定的运算,然后将计算结果再进行同态解密后得到的明文等价于原始明文数据直接进行相同计算所得到的数据结果。
图5示出了根据本发明一个示范性实施例的同态加密的示意图。如图5所示,原始明文数据进行计算处理后得到计算结果。同态加密过程为,将原始明文数据进行同态加密后得到密文数据,再对密文数据进行与原始明文数据相同的计算处理,将生成的密文结果进行同态解密后得到的解密数据。解密数据与原始明文数据进行计算处理后得到计算结果相同。
根据本发明的一个实施例,为了更好的对第一神经网络进行保护,使第一神经网络能够正常执行计算处理,保证得到的计算结果不发生改变,本发明采用的加密方式可具体实现为同态加密。本发明对具体加密方式不做限制,可替换的加密方式应实现与同态加密方式相同或类似的技术效果。
根据本发明的一个实施例,判断第一神经网络中包括的所有隐藏层的运算规则是否均支持同态加密时,判断第一神经网络中的每一个隐藏层是否均支持同态加密。第一神经网络中每一个隐藏层是否支持同态加密,可由该隐藏层的计算规则进行确定。若第一神经网络中有隐藏层不支持同态加密,则第一神经网络中包括的部分隐藏层的运算规则支持同态加密。
根据本发明的一个实施例,若第一神经网络中所有隐藏层均支持同态加密,也可以综合考虑加密效率以及加密复杂度,在加密时选择半同态加密的方式进行加密。
根据本发明的一个实施例,选择半同态加密的方式进行加密后,确定要加密的隐藏层在第一神经网络中的具体位置,一种方式为选择权重参数较多的隐藏层作为第一隐藏层,或选择在第一神经网络中所处层数靠后的隐藏层(如可实现为全连接层的倒数第二层),以在降低加密工作量的同时,达到更好的加密效果,
根据本发明的一个实施例,在确定加密方式为半同态加密后,选择一个或多个要加密的隐藏层作为第一隐藏层时,具体的可以综合考虑加密效率以及加密复杂度选择要加密的隐藏层的数量。本发明对具体确定要加密的隐藏的数量不做限制。考虑到计算效率和计算难度,一种方式为按需选取一到两层符合同态加密计算规则的隐藏层进行权重参数的同态加密即可。
算法模型层数少则几层多则上百层,在实际操作中可能无需每一层都进行同态加密,算力消耗太大,只对其中一到两层的权重参数进行同态加密也可以对整个模型进行保护,因为每一层都是模型推理过程中不可缺失的一环,只要有一层进行了加密,其他人拿到模型及权重参数也是无法直接使用的。加密后的用户数据输入到模型中进行计算,当遇到该层的权重参数未加密,进行依据该层网络的计算规则进行正常的计算处理。当遇到该层的权重参数加密时,则在该层网络的计算规则下进行密文与密文的计算处理。依据上述规则,完成一次深度学习算法模型的推理,得到密文结果,密文结果先通过加密模型拥有者的第二解密密钥进行解密,解密结果再进行用户本地的第一解密密钥进行解密,最终得到明文的第一神经网络计算结果。
随后,执行步骤320,对选择的一个或多个第一隐藏层进行权重参数加密,得到一个或多个第二隐藏层。
根据本发明的一个实施例,对第一隐藏层进行同态加密得到第二隐藏层时,选择第二加密密钥对第一隐藏层的一个或多个权重参数进行加密,得到第二隐藏层。对加密模型输出结果进行解密得到第一模型输出结果时,采用的解密密钥为与第二加密密钥相对应的第二解密密钥。本发明对第一隐藏层加密所采用的加密算法不做限制,可根据第一隐藏层的功能或计算方式进行确定。第二密钥包括第二加密密钥和第二解密密钥。本发明对第二密钥的具体存储方式不做限制。根据本发明的一个实施例,第二加密密钥可存储在服务器中,第二解密密钥可存储在与服务器通信连接的密钥服务器中。密钥服务器可具体实现为云端服务器,即第一神经网络拥有者的服务器。
随后,执行步骤330,用第二隐藏层对应替换第一神经网络中的第一隐藏层,得到第二神经网络。
第二神经网络中包括已经加密的第一个或多个第二隐藏层和未加密的隐藏层。其中,各个第二隐藏层在第二神经网络中的次序与加密前的第一隐藏层在第一神经网络中的次序相同。
随后,执行步骤340,响应于接收到用户数据,将用户数据输入第二神经网络得到加密模型输出结果;具体的:将用户数据输入第二神经网络的输入层,生成关于用户数据的第一特征向量;根据第二神经网络包括的一个或多个隐藏层对第一特征向量进行计算,其中,若隐藏层被加密为第二隐藏层,则根据加密后的第二隐藏层进行计算,直到完成所有隐藏层的计算得到最终计算结果;将最终计算结果输入第二神经网络的输出层得到加密模型输出结果。
根据本发明的一个实施例,用户数据可由与服务器通信连接的客户端发送,客户端还在本地根据普通用户数据生成加密用户数据。
根据本发明的一个实施例,用户数据包括加密用户数据和普通用户数据,加密用户数据的生成步骤包括:根据第一加密密钥对普通用户数据进行加密得到加密用户数据,普通用户数据为未加密的用户数据;若客户端发送的用户数据为加密用户数据,服务器接收到的用户数据为加密用户数据时,客户端在接收到第一模型输出结果后,根据第一解密密钥对第一模型输出结果进行解密得到第二模型输出结果,将第二模型输出结果作为第一神经网络根据普通用户数据进行运算生成的模型输出结果。普通用户数据可通过同态加密得到加密用户数据。第二模型输出结果与第一神经网络根据普通用户数据进行运算生成的模型输出结果相同。
最后,执行步骤350,对加密模型输出结果进行解密得到第一模型输出结果,第一模型输出结果与未加密的第一神经网络对用户数据进行计算得到的计算结果相同。对加密模型输出结果进行解密得到第一模型输出结果时,获取第二解密密钥,根据第二解密密钥对加密模型输出结果进行解密得到第一模型输出结果。
根据本发明的一个实施例,本发明中使用的密钥包括第一密钥和第二密钥。第一密钥包括第一加密密钥和第一解密密钥;其中,第一加密密钥为用于对普通用户数据进行加密得到加密用户数据的密钥。第一解密密钥为对第一模型输出结果进行解密得到第二模型输出结果的密钥。每个用户均可拥有不同的第一密钥,或用户的第一加密密钥相同,但拥有不同的第一解密密钥。第一解密密钥可仅存储在客户端,仅客户端的用户可见。
第二密钥包括第二加密密钥和第二解密密钥;其中,第二加密密钥为用于对第一隐藏层进行权重参数加密得到第二隐藏层的密钥,第二解密密钥为用于对加密模型输出结果进行解密得到第一模型输出结果的密钥。对每个隐藏层进行加解密的第二密钥可均不相同,可设置多个对第二神经网络进行加解密的第二密钥。第二解密密钥可仅存储在密钥服务器中,仅神经网络的拥有者可见。
第一加密密钥和第二加密密钥为公钥,第一解密密钥和第二解密密钥为私钥。
根据本发明的一个实施例,本发明中生成公钥和私钥的一种方式为:
由随机算子生成两个素数p和q, p不等于q。令n =pq,λ =lcm(p-1)(q-1),lcm是(p-1)和(q-1)的最小公倍数。随机选择一个整数g=n-x+1,其中x为随机整数,
根据本发明的一个实施例,使用公钥对权重参数进行加密的方式为:
采用并发计算的方式对该矩阵的每个元素同步的进行如下运算,最终得到加密后的权重参数矩阵C。
根据加密后的第二隐藏层进行计算包括:根据第二隐藏层中加密后的权重参数进行计算,得到加密的计算结果,以便后续的隐藏层根据加密的计算结果进行计算。经过逐层的隐藏层计算,最终可得到最后一层隐藏层输出的最终计算结果。
根据本发明的一个实施例,若服务器接收到的用户数据为加密用户数据,则进行密文与密文计算。若实现为全连阶层的隐藏层被加密后得到的权重参数矩阵为C。本发明可使用密文与密文进行计算,提高计算加密程度,加密后得到的权重参数矩阵与前几次处理后的加密用户数据的计算过程为:
图6示出了根据本发明一个示范性实施例的执行加密过程的示意图。如图6所示,在第一神经网络中选取一层或多层的隐藏层,根据第二加密密钥进行同态加密。响应于接收到用户数据,用户数据具体实现为根据第一加密密钥进行同态加密的加密用户数据,以密文形式输入第二神经网络。在第二神经网络中的隐藏层对加密用户数据进行运算时,根据权重是否加密选择需要的操作直至模型结束。若隐藏层没有被加密,则直接使用权重和加密的输入进行密文与明文之间的计算。若隐藏层中的权重参数被第二加密密钥进行同态加密为密文形式的权重参数,得到第二隐藏层,则使用加密权重参数和加密输入进行密文与密文的计算。最终得到密文形式的加密模型输出结果,使用第二解密密钥对加密模型输出结果进行解密得到第一模型输出结果,再使用第一解密密钥对第一模型输出结果进行解密得到第二模型输出结果,得到模型计算生成的明文结果。
根据本发明的一个实施例,若第二隐藏层的下一个隐藏层不支持同态加密,则第二隐藏层在生成加密的计算结果后,对加密的计算结果进行解密,并将解密后的计算结果输入下一个隐藏层进行计算,直到完成所有的隐藏层的计算并输入输出层得到第一模型输出结果。
根据本发明的一个实施例,第二神经网络中包括输入层,隐藏层a,隐藏层b和输出层。隐藏层a被加密为第二隐藏层。第二隐藏层生成加密的计算结果后,若隐藏层b不支持同态加密,则可对加密的计算结果进行解密后,将解密后的计算结果输入隐藏层b进行计算。若隐藏层b支持同态加密,则可直接将加密的计算结果输入隐藏层b进行计算。对加密的计算结果进行解密时使用的密钥为第二解密密钥。第二解密密钥与第二加密密钥共同作为第二密钥,第二加密密钥为用于将选作第一隐藏层的隐藏层进行加密后得到第二隐藏层。
根据本发明的一个实施例,若输出层的前一个隐藏层支持同态加密,且接收到的计算结果为加密的计算结果,或前一个隐藏层被加密为第二隐藏层,则前一个隐藏层根据加密的计算结果进行计算得到最终计算结果。
根据本发明的一个实施例,输出层的前一个隐藏层不支持同态加密,或前一个隐藏层支持同态加密,但接收到的计算结果为未加密的计算结果,则前一个隐藏层根据未加密的计算结果进行计算得到最终计算结果。将最终计算结果输入第二神经网络的输出层,不需要再次解密,直接得到第一模型输出结果。
根据本发明的一个实施例,经过整个模型得到的最终计算结果Y(密文)。
其经过第二解密密钥的解密过程为
根据本发明的一个实施例,加密后得到的权重参数矩阵与加密用户数据(或加密用户数据处理一次或若干次后的特征向量)的进行运算时可采用同态乘法运算,具体的:
为经过前几次处理后的普通用户数据(或普通用户数据处理一次或若干次后的特征向量),为对普通用户数据(或普通用户数据处理一次或若干次后的特征向量)进行加密时选择的随机整数,为未加密的权重参数矩阵,为对权重参数矩阵进行加密时选择的随机整数。
根据本发明的一个实施例,第一加密密钥可由第二加密密钥生成。
根据本发明的一个实施例,第一加密密钥可由第二加密密钥生成。本方案采用的同态加密是非对称加密算法,第一密钥的公钥继承自第一神经网络加密过程中的第二密钥的公钥,在本地的用户数据加密时,公钥是经过已知的第一神经网络的加密公钥加随机数生成的,依据已知的公钥结合随机方法进行私钥的计算。本地数据和云端数据在加密时采用相关联的公钥,能够在保护数据安全性的同时,降低密文与密文的计算复杂度。如果本地用户数据没有加密需求,也可以不进行加密,本地用户数据的处理不会影响神经网络数据的保密性。
同样的,第二加密密钥也可由第一加密密钥生成,第一神经网络数据如果没有加密需求,也可以不进行加密。
根据本发明的一个实施例,本发明可通过对调用密钥的次数进行计数,从而实现对用户使用次数进行计数,以及根据用户使用次数进行计费。如对用户使用第二神经网络时,调用了第二解密密钥多少次进行解密实行统计,即可得到用户使用第二神经网络的次数。
本发明中通过对第一神经网络进行加密,即使被非法得知了计算规则以及加密的权重参数,也无法对加密的权重参数进行破解,从而实现了对神经网络的保护。通过对普通用户数据进行加密后得到加密用户数据,再输入第二神经网络,从而实现对用户数据进行保护。
本发明中的用户数据处理方法,适于在服务器中执行,服务器与一个或多个客户端通信连接,方法包括:从神经网络中包括的隐藏层中选择一个或多个第一隐藏层进行权重参数加密,得到一个或多个第二隐藏层;响应于接收到客户端发送的用户数据,将用户数据输入神经网络的输入层,生成关于用户数据的第一特征向量;根据隐藏层对所述第一特征向量进行计算,其中,若隐藏层被加密为第二隐藏层,则根据加密后的第二隐藏层对第一特征向量进行计算,直到完成所有隐藏层的计算得到最终计算结果;将最终计算结果输入神经网络的输出层得到加密模型输出结果,对加密模型输出结果进行解密得到第一模型输出结果,并将第一模型输出结果返回给客户端,其中,第一模型输出结果与未加密的第一神经网络对用户数据进行计算得到的结果相同。本发明通过对神经网络中隐藏层的权重参数进行加密,实现对神经网络进行加密,使神经网络使用加密的隐藏层进行运算得到输出结果,最后对输出结果进行解密,实现了对神经网络的保护,提高运算安全性。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和、或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和、或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的用户数据处理方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的。
Claims (12)
1.一种用户数据处理方法,所述方法包括:
从第一神经网络中包括的隐藏层中选择一个或多个第一隐藏层;
对选择的一个或多个第一隐藏层进行权重参数加密,得到一个或多个第二隐藏层;
用第二隐藏层对应替换第一神经网络中的第一隐藏层,得到第二神经网络;
响应于接收到用户数据,将所述用户数据输入所述第二神经网络得到加密模型输出结果;
对所述加密模型输出结果进行解密得到第一模型输出结果,所述第一模型输出结果与未加密的第一神经网络对所述用户数据进行计算得到的计算结果相同。
2.如权利要求1所述的方法,其中,响应于接收到用户数据,将所述用户数据输入所述第二神经网络得到加密模型输出结果包括:
将所述用户数据输入所述第二神经网络的输入层,生成关于所述用户数据的第一特征向量;
根据所述第二神经网络包括的一个或多个隐藏层对所述第一特征向量进行计算,其中,若所述隐藏层被加密为第二隐藏层,则根据加密后的第二隐藏层进行计算,直到完成所有隐藏层的计算得到最终计算结果;
将所述最终计算结果输入所述第二神经网络的输出层得到加密模型输出结果。
3.如权利要求1或2所述的方法,其中,所述用户数据包括加密用户数据,所述加密用户数据的生成步骤包括:
根据第一加密密钥对普通用户数据进行加密得到加密用户数据;
所述方法还包括:根据第一解密密钥对所述第一模型输出结果进行解密得到第二模型输出结果,将所述第二模型输出结果作为所述第一神经网络根据所述普通用户数据进行运算生成的模型输出结果。
4.如权利要求1所述的方法,其中,所述从第一神经网络中包括的隐藏层中选择一个或多个第一隐藏层包括:
根据所述第一神经网络中包括的隐藏层的运算规则确定加密方式;
若加密方式为全同态加密,则选择第一神经网络中所有隐藏层作为第一隐藏层进行加密。
5.如权利要求4所述的方法,其中,所述方法还包括:
若加密方式为半同态加密,则根据隐藏层的权重参数的个数和/或隐藏层在所述第一神经网络中所处的层数,选择一个或多个隐藏层作为第一隐藏层。
6.如权利要求4或5所述的方法,其中,所述根据所述第一神经网络中包括的隐藏层的运算规则确定加密方式包括:
若第一神经网络中包括的所有隐藏层的运算规则均支持同态加密,则加密方式为全同态加密;
若第一神经网络中包括的部分隐藏层的运算规则支持同态加密,则加密方式为半同态加密。
7.如权利要求2所述的方法,其中,所述根据加密后的第二隐藏层进行计算包括:
根据所述第二隐藏层中加密后的权重参数进行计算,得到加密的计算结果,以便后续的隐藏层根据加密的计算结果进行计算。
8.如权利要求7所述的方法,其中,所述方法还包括:
若所述第二隐藏层的下一个隐藏层不支持同态加密,则所述第二隐藏层在生成加密的计算结果后,对所述加密的计算结果进行解密,并将解密后的计算结果输入下一个隐藏层进行计算。
9.如权利要求1所述的方法,其中,所述对选择的一个或多个第一隐藏层进行权重参数加密,得到一个或多个第二隐藏层包括:
根据第二加密密钥对选择的一个或多个第一隐藏层进行权重参数加密,得到一个或多个第二隐藏层;
对所述加密模型输出结果进行解密得到第一模型输出结果包括:
获取第二解密密钥,根据所述第二解密密钥对所述加密模型输出结果进行解密得到第一模型输出结果。
10.如权利要求1所述的方法,其中,所述用户数据包括人脸数据或人体行为数据。
11.一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中,一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据权利要求1-10中任一项所述的方法的指令。
12.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310243902.7A CN115952529B (zh) | 2023-03-09 | 2023-03-09 | 一种用户数据处理方法、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310243902.7A CN115952529B (zh) | 2023-03-09 | 2023-03-09 | 一种用户数据处理方法、计算设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115952529A true CN115952529A (zh) | 2023-04-11 |
CN115952529B CN115952529B (zh) | 2023-05-26 |
Family
ID=85891401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310243902.7A Active CN115952529B (zh) | 2023-03-09 | 2023-03-09 | 一种用户数据处理方法、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115952529B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592089A (zh) * | 2024-01-18 | 2024-02-23 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190005248A1 (en) * | 2017-06-30 | 2019-01-03 | Jpmorgan Chase Bank, N.A. | System and method for selective dynamic encryption |
CN110035063A (zh) * | 2019-03-08 | 2019-07-19 | 佛山市云米电器科技有限公司 | 一种基于神经网络的智能家电数据加密方法 |
CN110516464A (zh) * | 2019-09-02 | 2019-11-29 | 深圳市网心科技有限公司 | 基于神经网络计算的数据保护方法及相关设备 |
CN111245610A (zh) * | 2020-01-19 | 2020-06-05 | 浙江工商大学 | 基于ntru同态加密的数据隐私保护深度学习方法 |
US11005829B1 (en) * | 2017-10-16 | 2021-05-11 | Fuze, Inc. | Providing secure end-to-end data encryption between devices |
CN114186256A (zh) * | 2021-12-10 | 2022-03-15 | 北京百度网讯科技有限公司 | 神经网络模型的训练方法、装置、设备和存储介质 |
CN115373718A (zh) * | 2022-10-26 | 2022-11-22 | 小米汽车科技有限公司 | 线上模型的更新方法、装置及电子设备 |
CN115766160A (zh) * | 2022-11-08 | 2023-03-07 | 海尔优家智能科技(北京)有限公司 | 数据处理方法及装置 |
-
2023
- 2023-03-09 CN CN202310243902.7A patent/CN115952529B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190005248A1 (en) * | 2017-06-30 | 2019-01-03 | Jpmorgan Chase Bank, N.A. | System and method for selective dynamic encryption |
US11005829B1 (en) * | 2017-10-16 | 2021-05-11 | Fuze, Inc. | Providing secure end-to-end data encryption between devices |
CN110035063A (zh) * | 2019-03-08 | 2019-07-19 | 佛山市云米电器科技有限公司 | 一种基于神经网络的智能家电数据加密方法 |
CN110516464A (zh) * | 2019-09-02 | 2019-11-29 | 深圳市网心科技有限公司 | 基于神经网络计算的数据保护方法及相关设备 |
CN111245610A (zh) * | 2020-01-19 | 2020-06-05 | 浙江工商大学 | 基于ntru同态加密的数据隐私保护深度学习方法 |
CN114186256A (zh) * | 2021-12-10 | 2022-03-15 | 北京百度网讯科技有限公司 | 神经网络模型的训练方法、装置、设备和存储介质 |
CN115373718A (zh) * | 2022-10-26 | 2022-11-22 | 小米汽车科技有限公司 | 线上模型的更新方法、装置及电子设备 |
CN115766160A (zh) * | 2022-11-08 | 2023-03-07 | 海尔优家智能科技(北京)有限公司 | 数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
蒋瀚等: "隐私保护机器学习的密码学方法", 电子与信息学报 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592089A (zh) * | 2024-01-18 | 2024-02-23 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
CN117592089B (zh) * | 2024-01-18 | 2024-05-07 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115952529B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020006302A1 (en) | Method and apparatus for obtaining input of secure multiparty computation protocol | |
AU2015249057B2 (en) | Method and system for secure order management system data encryption, decryption, and segmentation | |
US10686764B2 (en) | Executable coded cipher keys | |
CN114936650A (zh) | 基于隐私保护的联合训练业务模型的方法及装置 | |
CN111935179B (zh) | 一种基于可信执行环境的模型训练方法和装置 | |
CN115952529B (zh) | 一种用户数据处理方法、计算设备及存储介质 | |
Kaur et al. | A secure data classification model in cloud computing using machine learning approach | |
CN115913537A (zh) | 基于隐私保护的数据求交方法、系统及相关设备 | |
CN112000978B (zh) | 隐私数据的输出方法、数据处理系统及存储介质 | |
Shankar et al. | Secure image transmission in wireless sensor network (WSN) applications | |
CN105743906A (zh) | 一种基于内容关联密钥的图片文件加解密方法及系统 | |
Sultan et al. | A novel image-based homomorphic approach for preserving the privacy of autonomous vehicles connected to the cloud | |
CN113055153B (zh) | 一种基于全同态加密算法的数据加密方法、系统和介质 | |
CN112380404B (zh) | 数据过滤方法、装置及系统 | |
Mandal | Reversible steganography and authentication via transform encoding | |
Sun et al. | An image watermarking scheme using Arnold transform and fuzzy smooth support vector machine | |
Lee et al. | The Usefulness Of Visual Cryptography Techniques: A Literature Review. | |
Al-Hamdani | Elliptic curve for data protection | |
US11438136B2 (en) | Encryption apparatus and method for encrypting encryption target data in data based on homomorphic encryption algorithm | |
CN115834791B (zh) | 利用矩阵密钥的图像加解密传输方法和电子设备 | |
Alyaqobi et al. | A Multi-layer Security Scheme (MLSS) for Digital Images Contents | |
Branstad et al. | Integrity and security standards based on cryptography | |
Weerasinghe et al. | A novel mechanism to detect Cooperate Data Leakages via Digital Watermarking | |
Guhe et al. | Video Cryptography with Chaos | |
Ali et al. | Image Copyright Protection Based on Blockchain Technology Review |
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 |