CN113392418B - 数据部署方法及装置、计算机可读存储介质、部署设备、用户端 - Google Patents
数据部署方法及装置、计算机可读存储介质、部署设备、用户端 Download PDFInfo
- Publication number
- CN113392418B CN113392418B CN202110745020.1A CN202110745020A CN113392418B CN 113392418 B CN113392418 B CN 113392418B CN 202110745020 A CN202110745020 A CN 202110745020A CN 113392418 B CN113392418 B CN 113392418B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- user
- deployment
- encrypted
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
一种数据部署方法及装置、计算机可读存储介质、部署设备、用户端,数据部署方法包括:获取第一私钥,所述第一私钥为预先生成并存储的;接收来自用户端的第二公钥、利用第一公钥加密后的所述用户端的序列号以及利用第二私钥加密的签名数据,所述签名数据包括所述第二公钥以及加密后的序列号;利用所述第二公钥验证所述签名数据,并利用所述第一私钥解密获得所述用户端的序列号;将所述用户端的序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性;在所述序列号合法时,对待部署的用户数据进行加密并发送至所述用户端,以供所述用户端部署所述用户数据。本发明技术方案能够提升数据部署过程的安全性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据部署方法及装置、计算机可读存储介质、部署设备、用户端。
背景技术
在终端产品量产阶段,需要写入大量的敏感信息到产品中,例如用于Google认证的keybox、Widevine Level 1的Keybox、高带宽数字内容保护技术(High bandwidthDigital Content Protection,HDCP)的全局常量lc128及其它用户敏感信息等。对于这些重要且有价值的信息,须有一种高安全机制保证其各个阶段私密性、完整性及安全性。
但是,现有部署方案存在以下技术缺陷:加解密敏感信息的密钥使用固定模式(pattern),且预置在部署工具与产品代码中,任意一台产品部署过程密钥泄露,将导致所有产品的敏感信息泄漏。解密后敏感信息直接存储,存在被拷贝其它同类设备使用的风险。
发明内容
本发明解决的技术问题是如何提升数据部署过程的安全性。
为解决上述技术问题,本发明实施例提供一种数据部署方法,数据部署方法包括:获取第一私钥,所述第一私钥为预先生成并存储的;接收来自用户端的第二公钥、利用第一公钥加密后的所述用户端的序列号以及利用第二私钥加密的签名数据,所述签名数据包括所述第二公钥以及加密后的序列号,所述第一公钥和所述第一私钥为密钥对;利用所述第二公钥验证所述签名数据,并利用所述第一私钥解密获得所述用户端的序列号;将所述用户端的序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性;在所述序列号合法时,对待部署的用户数据进行加密并发送至所述用户端,以供所述用户端部署所述用户数据。
可选的,所述签名数据还包括第一加密随机数,所述对待部署的用户数据进行加密包括:计算所述第一加密随机数与第一随机数的乘积,以得到第一验证数据;利用所述第一验证数据计算所述用户数据的加密密钥;利用所述加密密钥对所述用户数据进行加密。
可选的,所述计算所述第一加密数据与第一随机数的乘积之后还包括:计算所述第一验证数据的第一哈希消息认证码;将所述第一哈希消息认证码与加密后的用户数据发送至所述用户端。
可选的,所述利用所述第一验证数据计算所述用户数据的加密密钥包括:将所述第一哈希消息认证码进行倒置,以获得所述加密密钥。
可选的,所述计算所述第一加密数据与第一随机数的乘积之后还包括:利用所述第一私钥对所述第一哈希消息认证码以及所述加密后的用户数据进行签名后发送至所述用户端,以供所述用户端利用所述第一公钥验证。
可选的,所述接收来自用户端的第二公钥以及利用第二私钥加密的签名数据之前还包括:生成第二加密随机数,并发送至所述用户端,以供所述用户端利用生成的第二随机数计算所述第二加密随机数与第二随机数的乘积,以得到第二验证数据,计算所述第二验证数据的第二哈希消息认证码,并验证所述第二哈希验证码与所述第一哈希验证码是否一致。
可选的,所述数据部署方法还包括:接收所述用户端利用第一公钥加密后的部署结果,所述部署结果表示所述用户数据是否部署成功;利用所述第一私钥解密所述部署结果。
可选的,所述用户端利用第二私钥和加密后的部署结果生成签名,所述接收所述用户端利用第一公钥加密后的部署结果之后还包括:利用第二公钥对所述签名进行验证,并在验证通过后解密所述部署结果。
本发明实施例还公开了一种数据部署方法,数据部署方法包括:获取第一公钥,所述第一公钥为预先生成并存储的;生成第二公钥和第二私钥,并利用所述第二私钥加密得到签名数据,所述签名数据包括利用第一公钥加密后的序列号;将所述第二公钥以及所述签名数据发送至部署设备,以供所述部署设备利用所述第二公钥验证所述签名数据,利用第一私钥解密获得所述序列号,将所述序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性,在所述序列号合法时,对待部署的用户数据进行加密并发送出去;接收所述用户数据,并部署所述用户数据。
可选的,所述部署所述用户数据包括:利用硬件唯一密钥加密所述用户数据,并进行存储。
可选的,所述获取第一公钥之前包括:接收第二加密随机数;所述接收所述用户数据之后还包括:计算所述第二加密随机数与第二随机数的乘积,以得到第二验证数据;利用所述第二验证数据计算所述用户数据的解密密钥;利用所述解密密钥对加密后的用户数据进行解密。
可选的,所述利用所述第二验证数据计算所述用户数据的解密密钥包括:计算所述第二验证数据的第二哈希消息认证码;将所述第二哈希消息认证码进行倒置,以获得所述解密密钥。
可选的,所述利用所述第二验证数据计算所述用户数据的解密密钥之前还包括:接收来自所述部署设备的第一哈希消息认证码;计算所述第二验证数据的第二哈希消息认证码;验证所述第二哈希验证码与所述第一哈希验证码是否一致。
本发明实施例还公开了一种数据部署装置,数据部署装置包括:第一私钥获取模块,获取第一私钥,所述第一私钥为预先生成并存储的;第二公钥接收模块,用于接收来自用户端的第二公钥、利用第一公钥加密后的所述用户端的序列号以及利用第二私钥加密的签名数据,所述签名数据包括所述第二公钥以及加密后的序列号,所述第一公钥和所述第一私钥为密钥对;验证模块,用于利用所述第二公钥验证所述签名数据,并利用所述第一私钥解密获得所述用户端的序列号;检查模块,用于将所述用户端的序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性;部署模块,用于在所述序列号合法时,对待部署的用户数据进行加密并发送至所述用户端,以供所述用户端部署所述用户数据。
本发明实施例还公开了一种数据部署装置,数据部署装置包括:第一公钥获取模块,用于获取第一公钥,所述第一公钥为预先生成并存储的;密钥生成模块,用于生成第二公钥和第二私钥,并利用所述第二私钥加密得到签名数据,所述签名数据包括利用第一公钥加密后的序列号;第二公钥发送模块,用于将所述第二公钥以及所述签名数据发送至部署设备,以供所述部署设备利用所述第二公钥验证所述签名数据,利用第一私钥解密获得所述序列号,将所述序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性,在所述序列号合法时,对待部署的用户数据进行加密并发送出去;用户数据接收模块,用于接收所述用户数据,并部署所述用户数据。
本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行所述数据部署方法的步骤。
本发明实施例还公开了一种部署设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行所述数据部署方法的步骤。
本发明实施例还公开了一种用户端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行所述数据部署方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明技术方案中,第一公钥和第一私钥为预先生成并存储的,第二公钥和第二私钥为用户端动态生成的,通过静态密钥与动态密钥相结合的方式实现部署工具和用户端之间的认证,兼顾数据部署的效率和安全性;此外,序列号能够唯一标识用户端,通过对用户端的序列号进行验证,能够保证用户数据被部安全署至合法的用户端产品,最大限度保证数据传输及读写的私密性、完整性及安全性,满足产品量产阶段用户敏感数据部署需求。
进一步地,计算所述第一加密随机数与第一随机数的乘积,以得到第一验证数据;计算所述第一验证数据的第一哈希消息认证码;将所述第一哈希消息认证码进行倒置,以获得所述加密密钥。相应地,用户端也使用相同的方式获得解密密钥。也就是说,本发明技术方案利用预先商定机制得到加解密密钥,且能够通过哈希消息验证码验证数据的正确的,进一步保证了数据部署的安全性。
进一步地,用户端利用硬件唯一密钥加密所述用户数据,并进行存储。本发明技术方案中,硬件唯一密钥(Hardware Unique Key,HUK)通常需要特殊的硬件访问获取,具有较高的安全性,那么利用HUK来加密用户数据并存储在用户端,能够避免用户数据被拷贝以及其它同类设备使用的风险。
附图说明
图1是本发明实施例一种数据部署方法的流程图;
图2是本发明实施例另一种数据部署方法的流程图;
图3是本发明实施例一种具体应用场景的示意图;
图4是本发明实施例一种数据部署装置的结构示意图;
图5是本发明实施例另一种数据部署装置的结构示意图。
具体实施方式
如背景技术中所述,现有部署方案存在以下技术缺陷:加解密敏感信息的密钥使用固定模式(pattern),且预置在部署工具与产品代码中,任意一台产品部署过程密钥泄露,将导致所有产品的敏感信息泄漏。解密后敏感信息直接存储,存在被拷贝其它同类设备使用的风险。
本发明技术方案中,第一公钥和第一私钥为预先生成并存储的,第二公钥和第二私钥为用户端动态生成的,通过静态密钥与动态密钥相结合的方式实现部署工具和用户端之间的认证,兼顾数据部署的效率和安全性;此外,序列号能够唯一标识用户端,通过对用户端的序列号进行验证,能够保证用户数据被部安全署至合法的用户端产品,最大限度保证数据传输及读写的私密性、完整性及安全性,满足产品量产阶段用户敏感数据部署需求。
本发明实施例所称用户数据是指用户敏感数据,例如用于Google认证的keybox、Widevine Level 1的Keybox、高带宽数字内容保护技术(High bandwidth DigitalContent Protection,HDCP)的全局常量lc128及其它用户敏感信息等。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例一种数据部署方法的流程图。
本发明实施例的数据部署方法可以在用户端产品,例如手机、电脑等,的量产阶段执行,用于将用户数据写入至用户端产品。
本发明实施例的数据部署方法可以用于部署设备(也可以称为部署工具)侧,也即可以由部署设备执行图1所示方法的各个步骤。所述部署工具可以是能够执行数据部署功能的硬件设备,例如可以是集成有数据部署功能的模块的设备。
具体地,所述数据部署方法可以包括以下步骤:
步骤S101:获取第一私钥,所述第一私钥为预先生成并存储的;
步骤S102:接收来自用户端的第二公钥、利用第一公钥加密后的所述用户端的序列号以及利用第二私钥加密的签名数据,所述签名数据包括所述第二公钥以及加密后的序列号,所述第一公钥和所述第一私钥为密钥对;
步骤S103:利用所述第二公钥验证所述签名数据,并利用所述第一私钥解密获得所述用户端的序列号;
步骤S104:将所述用户端的序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性;
步骤S105:在所述序列号合法时,对待部署的用户数据进行加密并发送至所述用户端,以供所述用户端部署所述用户数据。
需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
本发明实施例中,第一公钥A和第一私钥d是预先生成的,并分别预置在用户端和部署设备中。也就是说,第一公钥A和第一私钥d在整个部署过程中是固定不变的。
具体实施中,用户端生成第二密钥对,也即第二公钥B和第二私钥e。用户端利用第一公钥A对用户端的序列号(Serial Number,SN)进行加密。利用第二公钥B、加密后的序列号与第二私钥e加密生成签名数据。并将第二公钥B、加密后的序列号以及签名数据发送至部署设备。
在步骤S103的具体实施中,部署设备首先使用第二公钥B验证所述签名数据,也即验证所述签名数据的来源是来自所述用户端。验证通过之后,部署设备利用第一私钥d对加密后的序列号进行解密得到所述用户端的序列号。
由上,通过在部署设备和用户端预置密钥对第一公钥A和第一私钥d,可以在需要时直接调用,提升部署效率。而第二公钥B和第二私钥e则是用户端动态生成的,可以保证安全性。
在步骤S104的具体实施中,部署设备可以将所述用户端的序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性。所述数据库中存储有各个用户端产品的序列号。如果用户端的序列号在数据库中存在匹配的序列号,表示该用户端产品为合法产品。
具体地,序列号具体可以是用户身份证明(User Identification,UID),UID通常在自动实验(Automatic Test Equipment,ATE)阶段写入用户端设备。部署设备需要维护保存用户端SN的数据库。具体可以在芯片出厂移交至客户时,同步移交保存手机SN号的数据文件,并要求客户在用户数据,例如Keybox部署前事先导入保存手机SN的数据文件至部署设备。
由于序列号能够唯一标识用户端设备,因此通过序列号对用户端设备进行验证,可以避免将用户数据部署至非法的产品中,保证产品部署的安全性。
进而在步骤S105的具体实施中,在所述序列号合法时,对待部署的用户数据进行加密并发送至所述用户端。
需要说明的是,关于对待部署的用户数据进行加密的具体实施方式可以采用现有技术中任意可实施的加密算法,也可以使用本发明实施例后续记载的加密方式,本发明实施例对此不作限制。
本发明实施例通过静态密钥与动态密钥相结合的方式实现部署工具和用户端之间的认证,兼顾数据部署的效率和安全性。
在本发明一个非限制性的实施例中,用户端发送至部署设备的签名数据还包括第一加密随机数B1。具体地,第一加密随机数B1可以是用户端生成的随机数b与密钥加密得到。例如,可以将随机数b与椭圆曲线基点G做乘法运算得到第一加密随机数B1。
图1所示步骤S 105可以包括以下步骤:计算所述第一加密随机数与第一随机数的乘积,以得到第一验证数据;利用所述第一验证数据计算所述用户数据的加密密钥;利用所述加密密钥对所述用户数据进行加密。
本实施例中,部署设备在验证序列号的合法性之后,计算第一加密随机数B1与部署设备生成的第一随机数a的乘积,以得到第一验证数据Q。第一验证数据Q用于计算加密密钥key,加密密钥key用于对用户数据进行加密。
本发明实施例中密钥生成方式可以是部署设备和用户端预先约定好的。换言之,部署设备通过上述密钥生成规则生成加密密钥,用户端则可以通过上述密钥生成规则生成解密密钥,通过上述密钥生成规则能够保证密钥的可靠性。
进一步地,部署设备还可以计算所述第一验证数据的第一哈希消息认证码;将所述第一哈希消息认证码与加密后的用户数据发送至所述用户端。
本发明实施例中生成的第一哈希消息验证码Key_mac是用于供用户端验证的,只有在对第一哈希消息验证码Key_mac验证通过后,用户端才会执行生成解密密钥,并解密用户数据的步骤。
具体地,第一哈希消息认证码可以是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code,HMAC),具体可以是基于国产哈希算法SM3、安全Hash函数SHA等算法实现HMAC功能,本发明实施例对此不作限制。
进一步地,部署设备将所述第一哈希消息认证码Key_mac进行倒置,以获得所述加密密钥key。
进一步地,部署设备利用所述第一私钥对所述第一哈希消息认证码以及所述加密后的用户数据进行签名后发送至所述用户端,以供所述用户端利用所述第一公钥验证。
本实施例中,部署设备可以生成签名数据,具体可以利用第一私钥d对第一哈希消息认证码Key_mac以及加密后的用户数据进行加密得到。签名数据、第一哈希消息认证码Key_mac以及加密后的用户数据一并发送至用户端。由于用户端具有第一私钥d对应的第一公钥A,因此可以验证该签名数据的来源是来自部署设备,保证加密数据来源的安全性。
本发明一个非限制性的实施例中,用户端可以对第一希消息认证码Key_mac进行验证,具体可以是采用相同的方式生成第二希消息认证码Key_mac1,并比较两者是否一致。
具体实施中,部署设备生成第二加密随机数A1,并发送至所述用户端,以供所述用户端利用生成的第二随机数b计算所述第二加密随机数A1与第二随机数的乘积,以得到第二验证数据Q1,计算所述第二验证数据Q1的第二哈希消息认证码,并验证所述第二哈希验证码与所述第一哈希验证码是否一致。
具体地,第二加密随机数A1可以是部署设备生成的随机数a与密钥加密得到。例如,可以将随机数a与椭圆曲线基点G做乘法运算得到第二加密随机数A1。
具体地,第一验证数据Q为随机数a×B1=a×b×G;第二验证数据Q1=b×A1=b×a×G。那么在第一验证数据Q与第二验证数据Q1一致的情况下,由第一验证数据Q生成的第一希消息认证码Key_mac与由第二验证数据Q1生成的第二希消息认证码Key_mac1也是一致的,表示验证通过。
本发明一个非限制性的实施例中,用户端将用户数据部署完成后生成部署结果,部署结果表示所述用户数据是否部署成功。用户端利用第一公钥A对部署结果进行加密,并发送至部署设备。部署设备接收加密后的部署结果,并利用第一私钥d解密得到所述部署结果,获知用户数据的部署状态。
请参照图2,本发明实施例还公开了另一种数据部署方法。
图2所示的数据部署方法可以用于用户端侧,也即可以由用户端执行图2所示方法的各个步骤。所述用户端包括但不限于手机、计算机、平板电脑等终端设备。
具体地,所述数据部署方法可以包括以下步骤:
步骤S201:获取第一公钥,所述第一公钥为预先生成并存储的;
步骤S202:生成第二公钥和第二私钥,并利用所述第二私钥加密得到签名数据,所述签名数据包括利用第一公钥加密后的序列号;
步骤S203:将所述第二公钥以及所述签名数据发送至部署设备,以供所述部署设备利用所述第二公钥验证所述签名数据,利用第一私钥解密获得所述序列号,将所述序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性,在所述序列号合法时,对待部署的用户数据进行加密并发送出去;
步骤S204:接收所述用户数据,并部署所述用户数据。
本发明实施例的步骤S201至步骤S204与图1所示方法的步骤S101至步骤S105相对应。关于步骤S201至步骤S204的具体实施方式可以参照前述实施例,此处不再赘述。
在本发明一个非限制性的实施例中,用户端在获得用户数据之后,利用硬件唯一密钥加密所述用户数据,并进行存储。
本发明实施例中,硬件唯一密钥(Hardware Unique Key,HUK)通常需要特殊的硬件访问获取,具有较高的安全性。相较于现有技术中用户端直接存储用户数据,那么利用HUK来加密用户数据并存储在用户端,能够避免用户数据被拷贝以及其它同类设备使用的风险。
在本发明一个非限制性的实施例中,与部署设备生成加密密钥对用户数据进行加密的过程相类似,用户端也可以生成解密密钥并对加密后的用户数据进行解密。
具体地,用户端接收第二加密随机数A1。计算所述第二加密随机数A1与第二随机数b的乘积,以得到第二验证数据Q1;利用所述第二验证数据Q1计算所述用户数据的解密密钥Key;利用所述解密密钥Key对加密后的用户数据进行解密。
进一步地,用户端计算所述第二验证数据Q1的第二哈希消息认证码Key_mac1;将所述第二哈希消息认证码Key_mac1进行倒置,以获得所述解密密钥。
进一步地,用户端接收来自所述部署设备的第一哈希消息认证码Q;计算所述第二验证数据Q1的第二哈希消息认证码Key_mac1;验证所述第二哈希验证码Key_mac1与所述第一哈希验证码Key_mac是否一致。
在本发明一个具体应用场景中,请参照图3,部署设备301和用户端302进行交互实现用户数据的***署。
在步骤S31和步骤S32中,预先生成公私钥对(A,d),A为第一公钥,d为第一私钥。将第一公钥A预置至待部署用户端302,将第一私钥d预置至部署设备端301。
在步骤S33中,部署设备301生成第一随机数a,计算第二加密随机数A1=a×G,G为椭圆曲线基点。
在步骤S34中,部署设备301发送第二加密随机数A1至用户端302。
在步骤S35中,用户端302产生第二公钥B和第二私钥e,生成第二随机数b,计算第一加密随机数B1=b×G;利用第一公钥A对序列号进行加密,以及生成签名数据。
在步骤S36中,用户端302发送第二公钥B、加密后的序列号以及签名数据至部署设备301。具体地,用户端302计算第一加密随机数B1时,同时获取产品唯一的SN值,使用第一公钥A对SN进行加密,将SN密文与B1使用第二私钥e计算签名得到S1,将公钥B、B1、SN密文及S1一并发给部署设备。
在步骤S37中,部署设备301利用第二公钥B验证签名数据,使用第一私钥d解密得到序列号,验证序列号的合法性,计算Q=a×B1,计算Q的HMAC值Key_mac,并计算得到加密密钥key,利用key对用户数据进行加密,利用第一私钥d生成签名数据。具体地,部署设备301查询后台产品数据库,确认产品SN的合法性。基于AES-256-ECB算法使用key加密生成用户数据的密文,将密文与key_mac使用私钥d做签名运算。
在步骤S38中,部署设备301发送加密后的数据、Key_mac以及签名数据至用户端302。
在步骤S39中,用户端302利用第一公钥A验证签名数据,计算Q1=b*A1,计算Q1的HMAC值Key_mac1,判断Key_mac1是否等于Key_mac,并计算得到解密密钥key,利用key对用户数据进行解密,使用HUK加密用户数据,生成密文,部署密文,生成部署结果,利用第一公钥对部署结果进行加密,并生成签名数据。具体地,如果Key_mac1与Key_mac不等,则终止该部署流程。如果Key_mac1与Key_mac相等,则继续执行解密流程。解密用户数据的密文后,并使用HUK加密用户数据,执行用户数据部署操作。使用第一公钥A对部署结果加密并用第二私钥e签名。
在步骤S310中,用户端302发送加密后的部署结果以及签名数据至部署设备301。
在步骤S311中,部署设备301利用第二公钥B验证签名数据,使用第一私钥d解密得到部署结果。部署设备301获取本次部署结果。
至此,本次用户数据的部署操作结束。
需要说明的是,部署设备301和用户端302在加密密钥key的协商过程可以使用椭圆曲线迪菲-赫尔曼秘钥交换(Elliptic Curve Diffie–Hellman key Exchange,ECDH)算法,也可以使用其他任意可实施的共享密钥计算方法,本发明实施例对此不作限制。
请参照图4,本发明实施例还公开了一种数据部署装置40。数据部署装置40可以包括:
第一私钥获取模块401,获取第一私钥,所述第一私钥为预先生成并存储的;
第二公钥接收模块402,用于接收来自用户端的第二公钥、利用第一公钥加密后的所述用户端的序列号以及利用第二私钥加密的签名数据,所述签名数据包括所述第二公钥以及加密后的序列号,所述第一公钥和所述第一私钥为密钥对;
验证模块403,用于利用所述第二公钥验证所述签名数据,并利用所述第一私钥解密获得所述用户端的序列号;
检查模块404,用于将所述用户端的序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性;
部署模块405,用于在所述序列号合法时,对待部署的用户数据进行加密并发送至所述用户端,以供所述用户端部署所述用户数据。
本发明实施例的数据部署装置40可以集成于部署设备侧。
在具体实施中,上述数据部署装置40可以对应于部署设备中具有数据部署功能的芯片,例如SOC(System-On-a-Chip,片上***)、基带芯片等;或者对应于部署设备中包括具有数据部署功能的芯片模组;或者对应于具有数据处理功能芯片的芯片模组,或者对应于部署设备。
请参照图5,本发明实施例还公开了一种数据部署装置50。数据部署装置50可以包括:
第一公钥获取模块501,用于获取第一公钥,所述第一公钥为预先生成并存储的;
密钥生成模块502,用于生成第二公钥和第二私钥,并利用所述第二私钥加密得到签名数据,所述签名数据包括利用第一公钥加密后的序列号;
第二公钥发送模块503,用于将所述第二公钥以及所述签名数据发送至部署设备,以供所述部署设备利用所述第二公钥验证所述签名数据,利用第一私钥解密获得所述序列号,将所述序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性,在所述序列号合法时,对待部署的用户数据进行加密并发送出去;
用户数据接收模块504,用于接收所述用户数据,并部署所述用户数据。
本发明实施例的数据部署装置50可以集成于用户端设备侧。
关于所述数据部署装置40和数据部署装置50的工作原理、工作方式的更多内容,可以参照图1至图3中的相关描述,这里不再赘述。
在具体实施中,上述数据部署装置50可以对应于用户端设备中具有数据部署功能的芯片,例如SOC(System-On-a-Chip,片上***)、基带芯片等;或者对应于用户端设备中包括具有数据部署功能的芯片模组;或者对应于具有数据处理功能芯片的芯片模组,或者对应于用户端设备。
关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
本发明实施例还公开了一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时可以执行图1至图3中所示的数据部署方法的步骤。所述存储介质可以包括ROM、RAM、磁盘或光盘等。所述存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。
本发明实施例还公开了一种部署设备,所述部署设备可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序。所述处理器运行所述计算机程序时可以执行图1中所示的数据部署方法的步骤。
本发明实施例还公开了一种用户端设备,所述用户端设备可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序。所述处理器运行所述计算机程序时可以执行图1中所示的数据部署方法的步骤。
本申请实施例中的用户端可以指各种形式的用户设备(user equipment,简称UE)、接入终端、用户单元、用户站、移动站、移动台(mobile station,建成MS)、远方站、远程终端、移动设备、用户终端、终端设备(terminal equipment)、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(Session InitiationProtocol,简称SIP)电话、无线本地环路(Wireless Local Loop,简称WLL)站、个人数字处理(Personal Digital Assistant,简称PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(Public Land Mobile Network,简称PLMN)中的终端设备等,本申请实施例对此并不限定。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/“,表示前后关联对象是一种“或”的关系。
本申请实施例中出现的“多个”是指两个或两个以上。
本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
应理解,本申请实施例中,所述处理器可以为中央处理单元(central processingunit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(application specific integrated circuit,简称ASIC)、现成可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和***,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (15)
1.一种数据部署方法,其特征在于,包括:
获取第一私钥,所述第一私钥为预先生成并存储的;
接收来自用户端的第二公钥、第一加密随机数、利用第一公钥加密后的所述用户端的序列号以及利用第二私钥签名运算得到的签名数据,所述签名数据是利用所述第二私钥对所述第一加密随机数以及加密后的序列号计算得到的,所述第一公钥和所述第一私钥为密钥对;
利用所述第二公钥验证所述签名数据,并利用所述第一私钥解密获得所述用户端的序列号;
将所述用户端的序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性;
在所述序列号合法时,对待部署的用户数据进行加密并发送至所述用户端,以供所述用户端部署所述用户数据;
所述对待部署的用户数据进行加密包括:
生成第一随机数;
计算所述第一加密随机数与第一随机数的乘积,以得到第一验证数据;
利用所述第一验证数据计算所述用户数据的加密密钥;
利用所述加密密钥对所述用户数据进行加密。
2.根据权利要求1所述的数据部署方法,其特征在于,所述计算所述第一加密随机数与第一随机数的乘积之后还包括:
计算所述第一验证数据的第一哈希消息认证码;
将所述第一哈希消息认证码与加密后的用户数据发送至所述用户端。
3.根据权利要求2所述的数据部署方法,其特征在于,所述利用所述第一验证数据计算所述用户数据的加密密钥包括:
将所述第一哈希消息认证码进行倒置,以获得所述加密密钥。
4.根据权利要求2所述的数据部署方法,其特征在于,所述计算所述第一加密数据与第一随机数的乘积之后还包括:
利用所述第一私钥对所述第一哈希消息认证码以及所述加密后的用户数据进行签名后发送至所述用户端,以供所述用户端利用所述第一公钥验证。
5.根据权利要求2所述的数据部署方法,其特征在于,所述接收来自用户端的第二公钥以及利用第二私钥签名的签名数据之前还包括:
生成第二加密随机数,并发送至所述用户端,以供所述用户端利用生成的第二随机数计算所述第二加密随机数与第二随机数的乘积,以得到第二验证数据,计算所述第二验证数据的第二哈希消息认证码,并验证所述第二哈希消息认证码与所述第一哈希消息认证码是否一致。
6.根据权利要求1所述的数据部署方法,其特征在于,还包括:
接收所述用户端利用第一公钥加密后的部署结果,所述部署结果表示所述用户数据是否部署成功;
利用所述第一私钥解密所述部署结果。
7.根据权利要求6所述的数据部署方法,其特征在于,所述用户端利用第二私钥和加密后的部署结果生成签名,所述接收所述用户端利用第一公钥加密后的部署结果之后还包括:
利用第二公钥对所述签名进行验证,并在验证通过后解密所述部署结果。
8.一种数据部署方法,其特征在于,包括:
获取第一公钥,所述第一公钥为预先生成并存储的;
生成第二公钥和第二私钥,并利用所述第二公钥加密得到签名数据,所述签名数据是利用所述第二私钥对第一加密随机数以及加密后的序列号计算得到的;
生成第二随机数,计算所述第二随机数与基点的乘积得到第一加密随机数;
将所述第二公钥、加密后的序列号、所述第一加密随机数以及所述签名数据发送至部署设备,以供所述部署设备利用所述第二公钥验证所述签名数据,利用第一私钥解密获得所述序列号,将所述序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性,在所述序列号合法时,对待部署的用户数据进行加密并发送出去;
接收所述用户数据,并部署所述用户数据;
采用以下方式对待部署的用户数据进行解密:
计算第二加密随机数与第二随机数的乘积,以得到第二验证数据;
利用所述第二验证数据计算所述用户数据的解密密钥;
利用所述解密密钥对加密后的用户数据进行解密;
所述部署所述用户数据包括:利用硬件唯一密钥加密所述用户数据,并进行存储;
所述获取第一公钥之前还包括:接收第二加密随机数,所述第二加密随机数用于解密所述用户数据。
9.根据权利要求8所述的数据部署方法,其特征在于,所述利用所述第二验证数据计算所述用户数据的解密密钥包括:
计算所述第二验证数据的第二哈希消息认证码;
将所述第二哈希消息认证码进行倒置,以获得所述解密密钥。
10.根据权利要求8所述的数据部署方法,其特征在于,所述利用所述第二验证数据计算所述用户数据的解密密钥之前还包括:
接收来自所述部署设备的第一哈希消息认证码;
计算所述第二验证数据的第二哈希消息认证码;
验证所述第二哈希消息认证码与所述第一哈希消息认证码是否一致。
11.一种数据部署装置,其特征在于,包括:
第一私钥获取模块,获取第一私钥,所述第一私钥为预先生成并存储的;
第二公钥接收模块,用于接收来自用户端的第二公钥、第一加密随机数,并利用第一公钥加密后的所述用户端的序列号以及利用第二私钥签名的签名数据,所述签名数据是利用所述第二私钥对第一加密随机数以及加密后的序列号计算得到的,所述第一公钥和所述第一私钥为密钥对;
验证模块,用于利用所述第二公钥验证所述签名数据,并利用所述第一私钥解密获得所述用户端的序列号;
检查模块,用于将所述用户端的序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性;
部署模块,用于在所述序列号合法时,对待部署的用户数据进行加密并发送至所述用户端,以供所述用户端部署所述用户数据;
所述部署模块生成第一随机数;
计算所述第一加密随机数与第一随机数的乘积,以得到第一验证数据;利用所述第一验证数据计算所述用户数据的加密密钥;利用所述加密密钥对所述用户数据进行加密。
12.一种数据部署装置,其特征在于,包括:
第一公钥获取模块,用于获取第一公钥,所述第一公钥为预先生成并存储的;
密钥生成模块,用于生成第二公钥和第二私钥,并利用所述第二公钥加密用户段的序列号及所述第二私钥签名得到签名数据,所述签名数据是利用所述第二私钥对第一加密随机数以及加密后的序列号计算得到的;
第一加密随机数生成模块,用于生成第二随机数,计算所述第二随机数与基点的乘积得到第一加密随机数;
第二公钥发送模块,用于将所述第二公钥、加密用户端的序列号、第一加密随机数以及所述签名数据发送至部署设备,以供所述部署设备利用所述第二公钥验证所述签名数据,利用第一私钥解密获得所述序列号,将所述序列号与标识数据库中各个序列号进行匹配,以验证所述序列号的合法性,在所述序列号合法时,对待部署的用户数据进行加密并发送出去;
用户数据接收模块,用于接收所述用户数据,并部署所述用户数据;
所述部署设备采用以下方式对待部署的用户数据进行解密:
计算第二加密随机数与第二随机数的乘积,以得到第二验证数据;
利用所述第二验证数据计算所述用户数据的解密密钥;
利用所述解密密钥对加密后的用户数据进行解密;
所述部署所述用户数据包括:利用硬件唯一密钥加密所述用户数据,并进行存储;
所述第一公钥获取模块还用于接收第二加密随机数,所述第二加密随机数用于解密所述用户数据。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至10中任一项所述数据部署方法的步骤。
14.一种部署设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至7中任一项所述数据部署方法的步骤。
15.一种用户端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求8至10中任一项所述数据部署方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110745020.1A CN113392418B (zh) | 2021-06-30 | 2021-06-30 | 数据部署方法及装置、计算机可读存储介质、部署设备、用户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110745020.1A CN113392418B (zh) | 2021-06-30 | 2021-06-30 | 数据部署方法及装置、计算机可读存储介质、部署设备、用户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113392418A CN113392418A (zh) | 2021-09-14 |
CN113392418B true CN113392418B (zh) | 2022-10-11 |
Family
ID=77624936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110745020.1A Active CN113392418B (zh) | 2021-06-30 | 2021-06-30 | 数据部署方法及装置、计算机可读存储介质、部署设备、用户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392418B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598464B (zh) * | 2022-03-08 | 2024-04-16 | 潍柴动力股份有限公司 | 一种数据更新方法和控制器 |
CN115396222B (zh) * | 2022-08-30 | 2024-03-12 | 重庆紫光华山智安科技有限公司 | 设备指令执行方法、***、电子设备及可读存储介质 |
CN116055062A (zh) * | 2023-01-13 | 2023-05-02 | 京东方科技集团股份有限公司 | 验证码的生成方法、验证码的查验方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510333A (zh) * | 2011-09-30 | 2012-06-20 | 飞天诚信科技股份有限公司 | 一种授权认证方法及*** |
CN102594843A (zh) * | 2012-03-22 | 2012-07-18 | 中国农业银行股份有限公司 | 一种身份认证***和方法 |
CN109120649A (zh) * | 2018-11-02 | 2019-01-01 | 美的集团股份有限公司 | 密钥协商方法、云服务器、设备、存储介质以及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112688784B (zh) * | 2020-12-23 | 2023-04-11 | 中科美络科技股份有限公司 | 一种数字签名、验证方法、装置及*** |
-
2021
- 2021-06-30 CN CN202110745020.1A patent/CN113392418B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510333A (zh) * | 2011-09-30 | 2012-06-20 | 飞天诚信科技股份有限公司 | 一种授权认证方法及*** |
CN102594843A (zh) * | 2012-03-22 | 2012-07-18 | 中国农业银行股份有限公司 | 一种身份认证***和方法 |
CN109120649A (zh) * | 2018-11-02 | 2019-01-01 | 美的集团股份有限公司 | 密钥协商方法、云服务器、设备、存储介质以及*** |
Also Published As
Publication number | Publication date |
---|---|
CN113392418A (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113392418B (zh) | 数据部署方法及装置、计算机可读存储介质、部署设备、用户端 | |
US10708062B2 (en) | In-vehicle information communication system and authentication method | |
US10193700B2 (en) | Trust-zone-based end-to-end security | |
CN112291190B (zh) | 一种身份认证方法、终端及服务器 | |
CN101978675B (zh) | 向通信装置安全地发布预订凭证的***和方法 | |
CN104079581B (zh) | 身份认证方法及设备 | |
CN106464498B (zh) | 由第二电子实体认证第一电子实体的方法以及电子实体 | |
WO2018040758A1 (zh) | 认证方法、认证装置和认证*** | |
CN108762791A (zh) | 固件升级方法及装置 | |
CN106227503A (zh) | 安全芯片cos固件更新方法、服务端、终端及*** | |
US9904806B2 (en) | Hardware security module, method of updating integrity check value stored in hardware security module, and method of updating program stored in terminal by using hardware security module | |
CN109728913B (zh) | 一种设备合法性验证方法、相关设备以及*** | |
CN103297403A (zh) | 一种实现动态密码认证的方法和*** | |
US11108548B2 (en) | Authentication method, server, terminal, and gateway | |
CN111865870B (zh) | 一种参数发送方法及装置 | |
CN107707562B (zh) | 一种非对称动态令牌加、解密算法的方法、装置 | |
CN110621016B (zh) | 一种用户身份保护方法、用户终端和基站 | |
CN110475249A (zh) | 一种认证方法、相关设备及*** | |
CN104836784A (zh) | 一种信息处理方法、客户端和服务器 | |
CN110730447B (zh) | 一种用户身份保护方法、用户终端和核心网 | |
CN111769944B (zh) | 一种数据处理方法、拜访网络网元和终端设备 | |
CN114362951B (zh) | 用于更新证书的方法和装置 | |
CN111148098A (zh) | 5g终端设备注册方法、设备及存储介质 | |
CN111107550A (zh) | 5g终端设备双通道接入注册方法、设备及存储介质 | |
CN111836260A (zh) | 一种认证信息处理方法、终端和网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |