CN118171295A - 数据处理方法、模型加密方法、终端设备和服务器 - Google Patents
数据处理方法、模型加密方法、终端设备和服务器 Download PDFInfo
- Publication number
- CN118171295A CN118171295A CN202410295184.2A CN202410295184A CN118171295A CN 118171295 A CN118171295 A CN 118171295A CN 202410295184 A CN202410295184 A CN 202410295184A CN 118171295 A CN118171295 A CN 118171295A
- Authority
- CN
- China
- Prior art keywords
- key
- model
- signature
- server
- application
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 57
- 238000004806 packaging method and process Methods 0.000 claims description 66
- 238000012795 verification Methods 0.000 claims description 26
- 238000005538 encapsulation Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 description 11
- 238000013473 artificial intelligence Methods 0.000 description 9
- 238000009795 derivation Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本申请公开一种数据处理方法、模型加密方法、终端设备和服务器,其中数据处理方法应用于终端设备,数据处理方法包括,响应于获得待处理数据,利用终端设备的安全密钥解封终端设备的第一封装密钥,得到第一应用密钥;根据第一应用密钥解密终端设备的第一密文模型,得到对应的第一明文模型;根据第一明文模型处理待处理数据,得到数据处理结果。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种数据处理方法、模型加密方法、终端设备和服务器。
背景技术
随着信息技术的发展,越来越多的终端设备会利用各种人工智能模型来处理数据。在一些场景中,为了保护用户的隐私数据不被泄露,人工智能模型会被部署在终端设备本地,这样终端设备在使用模型处理数据时可以直接调用本地存储的模型,无需将用户的隐私数据发给服务器。
然而,相比于服务器设备,终端设备的防护能力较差,终端设备受到攻击时,存储在终端设备本地的模型容易暴露给攻击方,所以,这种在终端设备本地部署模型的方案存在安全性较弱的问题。
发明内容
为此,本申请公开如下技术方案:
本申请第一方面提供一种数据处理方法,应用于终端设备,所述方法包括:
响应于获得待处理数据,利用所述终端设备的安全密钥解封所述终端设备的第一封装密钥,得到第一应用密钥;
根据所述第一应用密钥解密所述终端设备的第一密文模型,得到对应的第一明文模型;
根据所述第一明文模型处理所述待处理数据,得到数据处理结果。
可选的,还包括:
验证所述终端设备的第一封装密钥签名,得到所述第一封装密钥签名的验证结果;
所述利用所述终端设备的安全密钥解封所述终端设备的第一封装密钥,得到第一应用密钥,包括:
在所述验证结果为验证通过的情况下,利用所述终端设备的安全密钥解封所述终端设备的第一封装密钥,得到第一应用密钥。
可选的,所述验证所述终端设备的第一封装密钥签名,得到所述第一封装密钥签名的验证结果,包括:
根据所述终端设备的签名公钥验证所述终端设备的第一封装密钥签名,得到所述第一封装密钥签名的验证结果,所述签名公钥与签名私钥对应,所述签名私钥用于处理所述第一封装密钥得到所述第一封装密钥签名。
可选的,所述签名公钥和所述签名私钥由服务器生成,所述签名公钥由所述服务器提供给所述终端设备。
可选的,还包括:
接收服务器提供的应用程序,所述应用程序包括所述第一封装密钥,所述第一封装密钥签名和所述第一密文模型。
可选的,还包括:
向所述服务器发送更新请求,所述更新请求携带所述终端设备的设备标识;
接收所述服务器反馈的更新后应用程序,所述更新后应用程序包括根据所述设备标识确定的第二封装密钥、第二封装密钥签名和第二密文模型。
可选的,所述安全密钥由所述终端设备的安全芯片生成,所述安全密钥存储在所述安全芯片中。
本申请第二方面提供一种模型加密方法,应用于服务器,所述方法包括:
获得第一应用密钥和待加密的第一明文模型;
利用所述第一应用密钥加密所述第一明文模型,得到第一密文模型,以及利用终端设备的安全密钥加密所述第一应用密钥,得到第一封装密钥;
将所述第一封装密钥和所述第一密文模型提供给所述终端设备。
可选的,还包括:
随机生成签名公钥和签名私钥;
根据所述签名私钥处理所述第一封装密钥,得到第一封装密钥签名;
所述将所述第一封装密钥和所述第一密文模型提供给所述终端设备,包括:
将所述第一封装密钥、所述第一封装密钥签名和所述第一密文模型提供给所述终端设备;
将所述签名公钥发送给所述终端设备。
可选的,所述将所述第一封装密钥、所述第一封装密钥签名和所述第一密文模型提供给所述终端设备,包括:
获得包含所述第一封装密钥、所述第一封装密钥签名和所述第一密文模型的应用程序;
将所述应用程序发送给所述终端设备。
可选的,还包括:
接收所述终端设备的更新请求,所述更新请求携带所述终端设备的设备标识;
根据所述设备标识确定第二封装密钥、第二封装密钥签名和第二密文模型;
获得包含所述第二封装密钥、所述第二封装密钥签名和所述第二密文模型的更新后应用程序;
将所述更新后应用程序发送给所述终端设备。
可选的,所述根据所述设备标识确定第二封装密钥、第二封装密钥签名和第二密文模型,包括:
根据所述设备标识对应的密钥版本确定更新后的密钥版本;
根据所述设备标识和所述更新后的密钥版本获得第二应用密钥;
利用所述第二应用密钥加密第二明文模型,得到第二密文模型,以及利用所述安全密钥加密所述第二应用密钥,得到第二封装密钥,所述第二明文模型由所述第一明文模型更新得到;
根据所述签名私钥处理所述第二封装密钥,得到第二封装密钥签名。
可选的,所述获得第一应用密钥,包括:
随机生成根密钥;
获得所述终端设备的设备标识和所述设备标识对应的密钥版本;
根据所述根密钥、所述设备标识和所述密钥版本生成第一应用密钥。
可选的,还包括:
在所述服务器备份所述第一封装密钥和所述第一密文模型。
本申请第三方面提供一种终端设备,包括处理器和存储器;
所述存储器用于存储所述终端设备的第一密文模型和第一封装密钥;
所述处理器用于:
响应于获得待处理数据,利用所述终端设备的安全密钥解封所述第一封装密钥,得到第一应用密钥;
根据所述第一应用密钥解密所述第一密文模型,得到对应的第一明文模型;
根据所述第一明文模型处理所述待处理数据,得到数据处理结果。
本申请第四方面提供一种服务器,包括处理模组,数据库和传输模组;
所述数据库用于存储待加密的第一明文模型;
所述处理模组用于:
获得第一应用密钥和所述第一明文模型;
利用所述第一应用密钥加密所述第一明文模型,得到第一密文模型,以及利用终端设备的安全密钥加密所述第一应用密钥,得到第一封装密钥;
所述传输模组用于将所述第一封装密钥和所述第一密文模型提供给所述终端设备。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请实施例提供的一种数据处理方法的流程图;
图2是本申请实施例提供的一种解密模型的流程图;
图3是本申请实施例提供的一种更新模型的流程图;
图4是本申请实施例提供的一种模型加密方法的流程图;
图5是本申请实施例提供的一种生成应用密钥的流程图;
图6是本申请实施例提供的一种服务器向终端设备提供应用程序的流程图;
图7是本申请实施例提供的一种终端设备和服务器的交互流程图;
图8是本申请实施例提供的一种终端设备的结构示意图;
图9是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种数据处理方法,应用于终端设备,请参见图1,为该方法的流程图,该方法可以包括如下步骤。
S101,响应于获得待处理数据,利用终端设备的安全密钥解封终端设备的第一封装密钥,得到第一应用密钥。
上述待处理数据,是指终端设备获得的,需要利用部署在终端设备本地的人工智能(AI)模型处理的数据。待处理数据的获得方式不限,根据应用场景的不同,终端设备可以通过不同的方式获得待处理数据,作为示例,终端设备可以通过如下方式获得待处理数据。
在一个示例中,终端设备可以响应于用户的操作获得一张图像作为待处理数据,该图像可以是终端设备根据用户操作从网络下载的图像,可以是终端设备存在本地的多张图像中用户指定的一张图像,还可以是终端设备根据用户操作拍摄的一张图像,终端设备可以将该图像输入到AI模型,从而利用AI模型识别该图像显示的内容,例如识别图像中显示有哪些物体。
在另一个示例中,终端设备可以响应于用户的操作,获得一份文档作为待处理数据,该文档可以是终端设备根据用户操作从网络下载的文档,可以是终端设备存在本地的多份文档中用户指定的一份文档,终端设备可以将该文档输入到AI模型,利用AI模型处理该文档,以获得该文档的文档信息,例如获得该文档的文档结构,文档主题,文档摘要等信息。
在又一个示例中,终端设备可以响应于用户的操作,采集一段语音作为待处理数据,终端设备可以利用AI模型处理该段语音,得到该段语音的语音识别结果。
安全密钥和第一封装密钥可以在终端设备获得待处理数据之前,预先存储在终端设备中。
安全密钥可以由终端设备的安全芯片生成,安全密钥可以存储在安全芯片中,也可以存储在终端设备的存储器中。
第一封装密钥可以由服务器提供给终端设备。终端设备获得第一封装密钥后,可以将第一封装密钥存储在安全芯片中,也可以将第一封装密钥存储在终端设备的存储器中。
服务器获得第一封装密钥的方式可以是,服务器生成第一应用密钥,然后使用安全密钥加密该第一应用密钥,得到第一封装密钥。
基于安全密钥加密第一应用密钥时所用的加密算法,可以是加解密技术领域中任一加密算法,本实施例对所用加密算法不做限定。作为一示例,加密第一应用密钥时所用加密算法可以是基于高级加密标准(Advanced Encryption Standard,AES)的加密算法。
终端设备执行S101时,可以基于服务器所用的加密算法对应的解密算法,结合安全密钥来解密第一封装密钥,以得到第一应用密钥。
当安全密钥存储在终端设备的安全芯片时,终端设备的处理器可以从安全芯片中读出安全密钥,然后由该处理器执行对应的解密算法,从而利用安全密钥解密第一封装密钥。
或者,请参见图2,终端设备的处理器也可以将第一封装密钥输入到安全芯片中,由安全芯片执行对应的解密算法,利用安全芯片存储的安全密钥解密第一封装密钥,然后安全芯片输出解密得到的第一应用密钥。
将安全密钥存储在安全芯片中,并将第一封装密钥输入安全芯片进行解密的好处在于:
相比于终端设备的存储器,安全芯片具有更强的安全性能,将安全密钥存储在安全芯片中并将第一封装密钥输入安全芯片进行解密,可以防止安全密钥暴露在安全性能较弱的存储器中,如此可以降低安全密钥被窃取的概率,进而降低被安全密钥加密的第一应用密钥,以及被第一应用密钥加密的第一明文模型被窃取的概率。
S102,根据第一应用密钥解密终端设备的第一密文模型,得到对应的第一明文模型。
第一明文模型,可以是用于处理S101中获得的待处理数据的人工智能模型,例如是神经网络模型、机器学习模型、大语言模型中任意一种。
第一密文模型可以由服务器提供给终端设备。服务器获得第一密文模型的方式可以是,服务器获得构建好的第一明文模型,且生成了第一应用密钥后,利用第一应用密钥加密第一明文模型,得到第一密文模型。
服务器加密第一明文模型的方式可以是,服务器利用第一应用密钥,对第一明文模型包含的模型参数进行加密,得到加密模型参数,由加密模型参数组成的模型作为第一密文模型。
终端设备解密第一密文模型时,可以利用第一应用密钥解密第一密文模型包含的加密模型参数,解密后得到的各项模型参数组成的第一明文模型。
S103,根据第一明文模型处理待处理数据,得到数据处理结果。
根据待处理数据的不同,对应的数据处理结果可以不同。
结合前述示例,在待处理数据为图像时,数据处理结果可以包括该图像的图像识别结果,例如可以包括图像中显示的物体的数量和类型;在待处理数据为文档时,数据处理结果可以包括该文档的文档信息,例如包括该文档的文档结构,文档主题,文档摘要等信息;在待处理数据为语音时,数据处理结果可以包括该语音的语音识别结果。
可选的,终端设备使用第一明文模型处理待处理数据期间,第一明文模型可以存储在终端设备的存储器中,或者存储在处理器的内存中,在待处理数据处理完毕之后,终端设备可以从存储器或内存中删除第一明文模型,从而防止第一明文模型被窃取。
本实施例的有益效果在于:
在未获得待处理数据时,用于处理待处理数据的模型以密文模型的形式存储在终端设备中,并且终端设备不直接存储用于加密该密文模型的第一应用密钥,而是存储第一封装密钥,在获得待处理数据时,终端设备再利用安全密钥解封得到第一应用密钥,进而利用第一应用密钥解密第一密文模型。因此,本实施例的数据处理方法既能够满足终端设备在设备本地使用模型处理数据的需求,又能够降低终端设备受到攻击时模型暴露的风险,增强了终端设备在本地使用模型的安全性。
在一些可选的实施例中,终端设备可以存有第一封装密钥对应的第一封装密钥签名,第一封装密钥签名可以由服务器提供给终端设备。
服务器获得第一封装密钥签名的方式可以是:
服务器生成相对应的签名公钥和签名私钥。服务器按前述方式获得第一封装密钥后,服务器利用签名私钥对第一封装密钥进行签名处理,获得第一封装密钥签。对第一封装密钥进行签名处理时所用的算法,可以是数字签名领域中任意一种签名算法,本实施例对所用签名算法不做限定。
在一些实施例中,服务器获得第一封装密钥签名时所用的签名算法,可以是基于后量子密码学(Post-Quantum Cryptography,PQC)的任一签名算法。
服务器可以在获得第一封装密钥前就生成签名公钥和签名私钥,也可以在获得第一封装密钥后才生成签名公钥和签名私钥。
在存有第一封装密钥签名的情况下,终端设备解封第一封装密钥前可以执行如下步骤:
验证终端设备的第一封装密钥签名,得到第一封装密钥签名的验证结果。
获得验证结果后,终端设备根据验证结果决定是否解封第一封装密钥。终端设备可以在验证结果为验证通过的情况下,利用终端设备的安全密钥解封终端设备的第一封装密钥,得到第一应用密钥;相应的,在验证结果为验证不通过的情况下,终端设备可以不解封第一封装密钥,并且终端设备可以输出异常提示信息,该异常提示信息用于指示第一封装密钥和第一封装密钥签名不可信,或者说存在安全风险。
其中,终端设备验证第一封装密钥签名的方式可以是:
根据终端设备的签名公钥验证终端设备的第一封装密钥签名,得到第一封装密钥签名的验证结果,签名公钥与签名私钥对应,签名私钥用于处理第一封装密钥得到第一封装密钥签名。
服务器可以在生成相对应的签名公钥和签名私钥后,将签名公钥提供给终端设备。服务器可以在生成第一封装密钥签名之前就将签名公钥提供给终端设备,也可以在生成第一封装密钥签名之后,将签名公钥和第一封装密钥签名一并提供给终端设备。
终端设备获得签名公钥后,可以将签名公钥存储在安全芯片中,也可以将签名公钥存储在存储器中。
签名公钥存储在存储器的情况下,终端设备的处理器可以直接从存储器读取签名公钥,基于签名公钥对第一封装密钥签名进行验证。
签名公钥存储在安全芯片的情况下,终端设备的处理器可以从安全芯片读出签名公钥,然后基于签名公钥对第一封装密钥签名进行验证。
或者,请参见图2,终端设备的处理器也可以将第一封装密钥签名输入安全芯片,安全芯片根据自身存储的签名公钥对第一封装密钥签名进行验证,然后输出验证结果。
终端设备验证第一封装密钥签名时所用的算法,可以是服务器进行签名处理时所用的签名算法对应的验证算法,验证原理和过程可以参见数字签名领域的相关技术,不做赘述。
终端设备在解密第一封装密钥前对第一封装密钥签名进行验证的好处在于:
确保解封的第一封装密钥是服务器提供的第一封装密钥,避免解封不可信的设备提供的封装密钥,减少安全隐患。
本实施例中,终端设备可以通过多种方式从服务器获得上述第一封装密钥,第一封装密钥签名和第一密文模型等数据。
作为一种示例,服务器可以将第一封装密钥,第一封装密钥签名和第一密文模型打包成一个应用程序,然后服务器将该应用程序发送给终端设备,终端设备接收服务器提供的应用程序,即可获得应用程序包含的第一封装密钥,第一封装密钥签名和第一密文模型。
在一些实施例中,终端设备可以按如下方式更新本地的模型:
向服务器发送更新请求,更新请求携带终端设备的设备标识;
接收服务器反馈的更新后应用程序,更新后应用程序包括根据设备标识确定的第二封装密钥、第二封装密钥签名和第二密文模型。
请参见图3,终端设备向服务器发送更新请求后,服务器可以产生第二应用密钥,利用终端设备的安全密钥加密第二应用密钥得到第二封装密钥,利用签名私钥对第二封装密钥进行签名,得到第二封装密钥签名,同时,服务器用第二应用密钥加密第二明文模型,得到第二密文模型,最后,服务器将第二封装密钥、第二封装密钥签名和第二密文模型打包形成更新后应用程序,然后将更新后应用程序发送给终端设备,终端设备接收更新后应用程序,获得其中携带的第二封装密钥、第二封装密钥签名和第二密文模型。
第二明文模型可以和第一明文模型相同或不同。例如,第二明文模型可以是在第一明文模型的基础上更新后的模型,或者,第二明文模型可以是第一明文模型在服务器的备份。
终端设备可以定期发送更新请求,例如每隔10天向服务器发送一次更新请求。
终端设备也可以在本地存储的包含模型和封装密钥等数据的应用程序被删除的情况下,向服务器发送更新请求。
终端设备也可以在收到服务器的推送消息时,向服务器发送更新请求,该推送消息用于指示服务器已获得更新后的明文模型。
终端设备还可以响应于用户的操作,向服务器发送更新请求。
本申请实施例还提供一种模型加密方法,应用于服务器,请参见图4,为该方法的流程图,该方法可以包括如下步骤。
S401,获得第一应用密钥和待加密的第一明文模型。
获得第一明文模型的方式不限,服务器可以利用样本数据以及样本数据对应的样本处理结果训练得到第一明文模型,也可以从其他电子设备获取第一明文模型,例如通过网络或者数据线接收另一服务器发来的第一明文模型,还可以从***服务器的存储设备读取第一明文模型。
服务器可以通过多种方式获得第一应用密钥。
第一种获得第一应用密钥的方式是,服务器利用随机数生成器随机生成一个字符串作为第一应用密钥。
第二种获得第一应用密钥的方式是,服务器获得终端设备的设备标识,根据终端设备的设备标识生成第一应用密钥。按此种方式获得第一应用密钥,可以使每个终端设备的第一应用密钥均与其他终端设备的第一应用密钥不同,进一步提高安全性。此种方式中,服务器可以采用包括但不限于数据摘要算法的多种密码学算法对终端设备的设备标识进行计算而得到第一应用密钥,本实施例对所用算法不做限定。
第三种获得第一应用密钥的方式包括:
随机生成根密钥;
获得终端设备的设备标识和设备标识对应的密钥版本;
根据根密钥、设备标识和密钥版本生成第一应用密钥。
请参见图5,在第三种获得方式中,服务器首先可以利用随机数生成器生成一个随机的字符串,以此作为根密钥。
对于每一个需要服务器提供第一封装密钥和第一密文模型的终端设备,服务器可以从该终端设备获得其设备标识,进而获得该设备标识对应的密钥版本。
以图5为示例,终端设备1至4均需要服务器第一封装密钥和第一密文模型,为了生成第一应用密钥,服务器可以先获得终端设备1至4对应的设备标识,也就是设备标识1至4,然后获得设备标识1至4中,每一设备标识对应的密钥版本。
其中,密钥版本可以是用于区分不同版本的编号,也就是版本号。
对任一设备标识,服务器获得该设备标识对应的密钥版本的方式可以是,服务器首先在存储设备标识和对应密钥版本的数据库中查找该设备标识对应的密钥版本,如果查找到该设备标识对应的密钥版本,则服务器从读出数据库中该设备标识对应的密钥版本,根据数据库中读出的密钥版本确定新的密钥版本,将新的密钥版本作为用于生成第一应用密钥的密钥版本。
根据数据库中读出的密钥版本确定新的密钥版本的方式可以是,将数据库中读出的版本号加1作为新的版本号。
示例性的,服务器根据设备标识1在数据库中找到对应的密钥版本v1,然后服务器将数据库中的密钥版本v1加上1,得到新的密钥版本v2,用新的密钥版本v2和设备标识1生成第一应用密钥。
服务器如果在数据库中未查找到该设备标识对应的密钥版本,则服务器可以随机生成一个密钥版本作为该设备标识对应的密钥版本,或者可以获得相关人员输入的密钥版本,以此作为该设备标识对应的密钥版本。
可选的,按第三种方式生成第一应用密钥时,服务器可以将生成第一应用密钥所用的设备标识和密钥版本相对应地存储在上述数据库中,同时对用于派生出应用密钥的根密钥进行备份。
获得根密钥、设备标识和密钥版本后,服务器利用密钥派生算法处理根密钥、设备标识和密钥版本,从而获得该设备标识对应的第一应用密钥。密钥派生算法的实现原理和过程可以参见密码学领域的相关技术,不做赘述。
仍以图5为示例,获得设备标识1至4以及对应的密钥版本1至4后,服务器利用密钥派生算法处理根密钥、设备标识1和对应的密钥版本1,得到终端设备1对应的第一应用密钥1;利用密钥派生算法处理根密钥、设备标识2和对应的密钥版本2,得到终端设备2对应的第一应用密钥2;利用密钥派生算法处理根密钥、设备标识3和对应的密钥版本3,得到终端设备3对应的第一应用密钥3;利用密钥派生算法处理根密钥、设备标识4和对应的密钥版本4,得到终端设备4对应的第一应用密钥4。
服务器获得的第一明文模型可以存储在数据库中。
S402,利用第一应用密钥加密第一明文模型,得到第一密文模型,以及利用终端设备的安全密钥加密第一应用密钥,得到第一封装密钥。
终端设备的安全密钥可以由终端设备生成后提供的服务器。
安全密钥可以由终端设备的处理器生成。这种情况下,服务器可以向终端设备发送安全密钥获取请求,终端设备的处理器响应该请求,生成安全密钥并发给服务器,其中,终端设备的处理器可以在收到安全密钥获取请求前就生成安全密钥,也可以在收到安全密钥获取请求之后才生成安全密钥。
如图6所示,安全密钥也可以由终端设备的安全芯片生成。这种情况下,服务器可以通过自身与终端设备之间的通信连接(可以是有线连接或无线连接),调用终端设备的安全芯片的接口,安全芯片响应于接口被调用,生成安全密钥并将安全密钥发给服务器,或者将已经生成并存储在安全芯片的安全密钥直接发给服务器。
S403,将第一封装密钥和第一密文模型提供给终端设备。
在一些可选的实施例中,服务器获得第一封装密钥和第一密文模型后,还可以在服务器备份第一封装密钥和第一密文模型,备份的第一封装密钥和第一密文模型可以存储在与服务器连接的数据库中。
在数据库中,第一封装密钥和第一密文模型可以与所属的终端设备的设备标识对应存储。
示例性的,假设终端设备1的设备标识为设备标识1,对提供给终端设备1的第一封装密钥1和第一密文模型1,服务器可以将第一封装密钥1、第一密文模型1和设备标识1相对应地存储在数据库中,在需要向终端设备1提供备份的封装密钥和密文模型时,服务器就可以根据终端设备的设备标识在数据库中快速查找到备份的第一封装密钥1和第一密文模型1。
在一些可选的实施例中,服务器将第一封装密钥、第一封装密钥签名和第一密文模型提供给终端设备的方式可以是:
获得包含第一封装密钥、第一封装密钥签名和第一密文模型的应用程序;
将应用程序发送给终端设备。
请参见图6,服务器获得第一封装密钥、第一封装密钥签名和第一密文模型后,可以将这些数据打包形成一个应用程序,然后将该应用程序发送给终端设备。
其中,服务器可以通过互联网与终端设备通信连接,通过互联网向终端设备发送应用程序;或者,服务器也可以通过数据线与终端设备通信连接,通过数据线向终端设备发送应用程序。
本实施例的有益效果在于:
服务器利用安全密钥加密第一应用密钥得到第一封装密钥,以及利用第一应用密钥加密第一明文模型得到第一密文模型后,向终端设备提供第一封装密钥和第一密文模型,而不直接提供第一明文模型,一方面,这样可以避免数据传输过程以及终端设备存储模型期间受到攻击造成模型泄露,另一方面,服务器用于加密第一应用密钥的是终端设备持有的安全密钥,终端设备可以利用安全密钥解封第一封装密钥,然后利用解封得到的第一应用模型解密第一密文模型,从而满足终端设备使用模型处理数据的需求。
在一些可选的实施例中,请参见图6,服务器向终端设备提供第一封装密钥和第一密文模型之前,还可以执行如下步骤:
随机生成签名公钥和签名私钥;
根据签名私钥处理第一封装密钥,得到第一封装密钥签名;
对应的,服务器将第一封装密钥和第一密文模型提供给终端设备时,可以将第一封装密钥、第一封装密钥签名和第一密文模型提供给终端设备,并且可以将签名公钥发送给终端设备。
如图6所示,服务器将第一封装密钥、第一封装密钥签名和第一密文模型提供给终端设备的方式可以是,服务器将第一封装密钥、第一封装密钥签名和第一密文模型打包成应用程序,然后将该应用程序发送给终端设备。
签名公钥可以由服务器通过终端设备的安全芯片的接口,直接发给终端设备的安全芯片,并由终端设备的安全芯片存储。
本实施例对签名公钥和签名私钥的生成时机不做限定。如图5所示,服务器可以在生成根密钥时,一并生成上述签名公钥和签名私钥。
或者,服务器也可以在获得第一封装密钥之后,再生成签名公钥和签名私钥。
获得签名私钥后,服务器基于数字签名领域中任意一种签名算法,利用签名私钥对第一封装密钥进行签名处理,即可得到第一封装密钥签名。
在一些可选的实施例中,服务器可以根据终端设备的更新请求,向终端设备提供包含第二封装密钥、第二封装密钥签名和第二密文模型的更新后应用程序。
请参见图3,服务器可以按如下方式向终端设备提供更新后应用程序:
接收终端设备的更新请求,更新请求携带终端设备的设备标识;
根据设备标识确定第二封装密钥、第二封装密钥签名和第二密文模型;
获得包含第二封装密钥、第二封装密钥签名和第二密文模型的更新后应用程序;
将更新后应用程序发送给终端设备。
其中,根据设备标识确定第二封装密钥、第二封装密钥签名和第二密文模型的方式可以是:
根据设备标识对应的密钥版本确定更新后的密钥版本;
根据设备标识和更新后的密钥版本获得第二应用密钥;
利用第二应用密钥加密第二明文模型,得到第二密文模型,以及利用安全密钥加密第二应用密钥,得到第二封装密钥,第二明文模型由第一明文模型更新得到;
根据签名私钥处理第二封装密钥,得到第二封装密钥签名。
密钥版本可以用版本号表示。服务器获得设备标识后,可以在数据库中找到该设备标识对应的,用于生成第一应用密钥的版本号,将找到的版本号递增1作为更新后的版本号。
示例性的,服务器根据设备标识1在数据库中找到对应的用于生成第一应用密钥的版本号v2,然后服务器将数据库中的号v2加上1,将得到的版本号v3作为更新后的密钥版本。
获得更新后的密钥版本,服务器利用密钥派生算法处理设备标识、更新后的密钥版本和备份在服务器的根密钥,得到第二应用密钥。
服务器可以在加密第二应用密钥时,与终端设备通信,以获得终端设备的安全密钥;或者,终端设备可以在发送更新请求时,直接在更新请求中添加安全密钥,通过更新请求将安全密钥发给服务器。
加密第二明文模型,加密第二应用密钥以及对第二封装密钥进行签名的方式,与加密第一明文模型,加密第一应用密钥以及对第一封装密钥进行签名的方式一致,不再赘述。
最后,服务器可以将第二封装密钥、第二封装密钥签名和第二密文模型打包形成更新后的应用程序。
上述实施例的有益效果在于,终端设备每次发送更新请求后,服务器均响应更新请求提供新的密钥,以及利用新的密钥加密后的新的密文模型,如此可以缩短每个密钥的有效期,从而降低密钥被破解或窃取的概率,进一步增强模型的安全性。
在一些可选的实施例中,服务器收到更新请求后,也可以直接根据设备标识在数据库中查找出备份在服务器的该终端设备对应的第一应用密钥和第一封装密钥签名,然后用第一应用密钥加密更新后的模型,也就是加密第二明文模型得到对应的第二密文模型,最后向终端设备提供包含第一封装密钥、第一封装密钥签名和第二密文模型的更新后应用程序。
可选的,服务器生成第二封装密钥后,可以在服务器备份第二封装密钥,同时将用于生成第二应用密钥的更新后的密钥版本存入数据库,替换之前存储的用于生成第一应用密钥的密钥版本。
根据上述实施例提供的数据处理方法和模型加密方法,终端设备和服务器之间可以按图7所示的流程进行交互。
S701,服务器随机生成根密钥。
S702,服务器获得设备标识和对应的密钥版本。
S703,服务器通过密钥派生生成第一应用密钥。
S704,服务器存储设备标识和对应的密钥版本。
S705,服务器调用安全芯片生成安全密钥。
S706,服务器备份安全密钥和根密钥。
S707,服务器利用安全密钥加密第一应用密钥,得到第一封装密钥。
S708,服务器利用第一应用密钥加密第一明文模型,得到第一密文模型。
S709,服务器向终端设备发送含第一封装密钥和第一密文模型的应用程序。
S710,终端设备用安全密钥解密第一封装密钥得到第一应用密钥。
S711,终端设备用第一应用密钥解密第一密文模型,得到第一明文模型。
S712,终端设备向服务器发送携带设备标识的更新请求。
S713,服务器根据设备标识提供含第二封装密钥和第二密文模型的更新后应用。
以上交互流程中各步骤的实施方式可以参见前述实施例中数据处理方法和模型加密方法的对应步骤,不再赘述。
本申请实施例还提供一种终端设备,请参见图8,该终端设备包括处理器801和存储器802。
存储器801用于存储终端设备的第一密文模型和第一封装密钥;
处理器802用于:
响应于获得待处理数据,利用终端设备的安全密钥解封第一封装密钥,得到第一应用密钥;
根据第一应用密钥解密第一密文模型,得到对应的第一明文模型;
根据第一明文模型处理待处理数据,得到数据处理结果。
可选的,处理器802还用于:
验证终端设备的第一封装密钥签名,得到第一封装密钥签名的验证结果;
处理器802利用终端设备的安全密钥解封终端设备的第一封装密钥,得到第一应用密钥时,具体用于:
在验证结果为验证通过的情况下,利用终端设备的安全密钥解封终端设备的第一封装密钥,得到第一应用密钥。
可选的,处理器802验证终端设备的第一封装密钥签名,得到第一封装密钥签名的验证结果时,具体用于:
根据终端设备的签名公钥验证终端设备的第一封装密钥签名,得到第一封装密钥签名的验证结果,签名公钥与签名私钥对应,签名私钥用于处理第一封装密钥得到第一封装密钥签名。
可选的,签名公钥和签名私钥由服务器生成,签名公钥由服务器提供给终端设备。
可选的,处理器802还用于:
接收服务器提供的应用程序,应用程序包括第一封装密钥,第一封装密钥签名和第一密文模型。
可选的,处理器802还用于:
向服务器发送更新请求,更新请求携带终端设备的设备标识;
接收服务器反馈的更新后应用程序,更新后应用程序包括根据设备标识确定的第二封装密钥、第二封装密钥签名和第二密文模型。
可选的,该终端设备还包括安全芯片,安全密钥由终端设备的安全芯片生成,安全密钥存储在安全芯片中。
本申请实施例还提供一种服务器,请参见图9,包括数据库901,处理模组902和传输模组903。
数据库901用于存储待加密的第一明文模型;
处理模组902用于:
获得第一应用密钥和第一明文模型;
利用第一应用密钥加密第一明文模型,得到第一密文模型,以及利用终端设备的安全密钥加密第一应用密钥,得到第一封装密钥;
传输模组903用于将第一封装密钥和第一密文模型提供给终端设备。
可选的,处理模组902还用于:
随机生成签名公钥和签名私钥;
根据签名私钥处理第一封装密钥,得到第一封装密钥签名;
传输模组903将第一封装密钥和第一密文模型提供给终端设备时,具体用于:
将第一封装密钥、第一封装密钥签名和第一密文模型提供给终端设备;
将签名公钥发送给终端设备。
可选的,传输模组903将第一封装密钥、第一封装密钥签名和第一密文模型提供给终端设备时,具体用于:
获得包含第一封装密钥、第一封装密钥签名和第一密文模型的应用程序;
将应用程序发送给终端设备。
其中,应用程序可以由处理模组将第一封装密钥、第一封装密钥签名和第一密文模型打包得到。
可选的,传输模组903还用于接收终端设备的更新请求,更新请求携带终端设备的设备标识;
处理模组902还用于根据设备标识确定第二封装密钥、第二封装密钥签名和第二密文模型;
获得包含第二封装密钥、第二封装密钥签名和第二密文模型的更新后应用程序;
传输模组903还用于将更新后应用程序发送给终端设备。
可选的,处理模组902根据设备标识确定第二封装密钥、第二封装密钥签名和第二密文模型时,具体用于:
根据设备标识对应的密钥版本确定更新后的密钥版本;
根据设备标识和更新后的密钥版本获得第二应用密钥;
利用第二应用密钥加密第二明文模型,得到第二密文模型,以及利用安全密钥加密第二应用密钥,得到第二封装密钥,第二明文模型由第一明文模型更新得到;
根据签名私钥处理第二封装密钥,得到第二封装密钥签名。
可选的,处理模组902获得第一应用密钥时,具体用于:
随机生成根密钥;
获得终端设备的设备标识和设备标识对应的密钥版本;
根据根密钥、设备标识和密钥版本生成第一应用密钥。
可选的,处理模组902还用于:
在服务器备份第一封装密钥和第一密文模型。
以上实施例提供的终端设备和服务器的工作原理,可以参见前述实施例的数据处理方法和模型加密方法的对应步骤,不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上***或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种数据处理方法,应用于终端设备,所述方法包括:
响应于获得待处理数据,利用所述终端设备的安全密钥解封所述终端设备的第一封装密钥,得到第一应用密钥;
根据所述第一应用密钥解密所述终端设备的第一密文模型,得到对应的第一明文模型;
根据所述第一明文模型处理所述待处理数据,得到数据处理结果。
2.根据权利要求1所述的方法,还包括:
验证所述终端设备的第一封装密钥签名,得到所述第一封装密钥签名的验证结果;
所述利用所述终端设备的安全密钥解封所述终端设备的第一封装密钥,得到第一应用密钥,包括:
在所述验证结果为验证通过的情况下,利用所述终端设备的安全密钥解封所述终端设备的第一封装密钥,得到第一应用密钥。
3.根据权利要求2所述的方法,所述验证所述终端设备的第一封装密钥签名,得到所述第一封装密钥签名的验证结果,包括:
根据所述终端设备的签名公钥验证所述终端设备的第一封装密钥签名,得到所述第一封装密钥签名的验证结果,所述签名公钥与签名私钥对应,所述签名私钥用于处理所述第一封装密钥得到所述第一封装密钥签名。
4.根据权利要求3所述的方法,所述签名公钥和所述签名私钥由服务器生成,所述签名公钥由所述服务器提供给所述终端设备。
5.根据权利要求2所述的方法,还包括:
接收服务器提供的应用程序,所述应用程序包括所述第一封装密钥,所述第一封装密钥签名和所述第一密文模型。
6.根据权利要求5所述的方法,还包括:
向所述服务器发送更新请求,所述更新请求携带所述终端设备的设备标识;
接收所述服务器反馈的更新后应用程序,所述更新后应用程序包括根据所述设备标识确定的第二封装密钥、第二封装密钥签名和第二密文模型。
7.根据权利要求1所述的方法,所述安全密钥由所述终端设备的安全芯片生成,所述安全密钥存储在所述安全芯片中。
8.一种模型加密方法,应用于服务器,所述方法包括:
获得第一应用密钥和待加密的第一明文模型;
利用所述第一应用密钥加密所述第一明文模型,得到第一密文模型,以及利用终端设备的安全密钥加密所述第一应用密钥,得到第一封装密钥;
将所述第一封装密钥和所述第一密文模型提供给所述终端设备。
9.一种终端设备,包括处理器和存储器;
所述存储器用于存储所述终端设备的第一密文模型和第一封装密钥;
所述处理器用于:
响应于获得待处理数据,利用所述终端设备的安全密钥解封所述第一封装密钥,得到第一应用密钥;
根据所述第一应用密钥解密所述第一密文模型,得到对应的第一明文模型;
根据所述第一明文模型处理所述待处理数据,得到数据处理结果。
10.一种服务器,包括处理模组,数据库和传输模组;
所述数据库用于存储待加密的第一明文模型;
所述处理模组用于:
获得第一应用密钥和所述第一明文模型;
利用所述第一应用密钥加密所述第一明文模型,得到第一密文模型,以及利用终端设备的安全密钥加密所述第一应用密钥,得到第一封装密钥;
所述传输模组用于将所述第一封装密钥和所述第一密文模型提供给所述终端设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410295184.2A CN118171295A (zh) | 2024-03-14 | 2024-03-14 | 数据处理方法、模型加密方法、终端设备和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410295184.2A CN118171295A (zh) | 2024-03-14 | 2024-03-14 | 数据处理方法、模型加密方法、终端设备和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118171295A true CN118171295A (zh) | 2024-06-11 |
Family
ID=91357874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410295184.2A Pending CN118171295A (zh) | 2024-03-14 | 2024-03-14 | 数据处理方法、模型加密方法、终端设备和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118171295A (zh) |
-
2024
- 2024-03-14 CN CN202410295184.2A patent/CN118171295A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519260B (zh) | 一种信息处理方法及信息处理装置 | |
JP4668619B2 (ja) | 装置鍵 | |
JP4113274B2 (ja) | 認証装置および方法 | |
CN112737779B (zh) | 一种密码机服务方法、装置、密码机及存储介质 | |
CN111654367B (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
CN102484638B (zh) | 经由多个中间客户端在线递送的身份数据的分层保护和验证 | |
CN112685786B (zh) | 一种金融数据加密、解密方法、***、设备及存储介质 | |
CN109754226B (zh) | 数据管理方法、设备和存储介质 | |
CN111191195A (zh) | 一种用于保护apk的方法和装置 | |
CN112241527B (zh) | 物联网终端设备的密钥生成方法、***及电子设备 | |
CN114915504B (zh) | 安全芯片初始认证方法及*** | |
CN114499875A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN113452526B (zh) | 电子文件存证方法、验证方法及相应装置 | |
CN117155549A (zh) | 密钥分发方法、装置、计算机设备和存储介质 | |
CN112398861B (zh) | web组态化***中敏感数据的加密***及方法 | |
CN116455572A (zh) | 数据加密方法、装置及设备 | |
CN113672955B (zh) | 一种数据处理方法、***及装置 | |
CN115442046A (zh) | 签名方法、装置、电子设备和存储介质 | |
CN112579112B (zh) | 一种镜像安全处理、部署方法、装置及存储介质 | |
CN118171295A (zh) | 数据处理方法、模型加密方法、终端设备和服务器 | |
CN115022042A (zh) | 一种保护数据隐私的合规码验证方法和计算机可读介质 | |
CN115242382A (zh) | 一种多租户模型的数据加解密方法、***及存储介质 | |
JPH11215121A (ja) | 認証装置および方法 | |
CN118296618A (zh) | 一种数据处理方法和终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |