CN114679287B - 数据处理方法、***、电子设备及存储介质 - Google Patents
数据处理方法、***、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114679287B CN114679287B CN202011554074.1A CN202011554074A CN114679287B CN 114679287 B CN114679287 B CN 114679287B CN 202011554074 A CN202011554074 A CN 202011554074A CN 114679287 B CN114679287 B CN 114679287B
- Authority
- CN
- China
- Prior art keywords
- key
- white box
- data
- encryption
- data processing
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及数据处理的安全保护技术领域,提供数据处理方法、***、电子设备及存储介质。数据处理方法,包括:获取加密秘钥,所述加密秘钥基于白盒对会话秘钥进行加密处理得到;建立加密会话通道,所述加密会话通道在所述加密秘钥被解密并确认的条件下建立;通过所述加密会话通道发送数据。根据本发明实施例的数据处理方法,用密钥白盒技术从数据通道上实现加密传输,保护联网模块与后台OTA业务数据、升级包数据信息免遭泄露,或者在其他应用场景下保护相应数据免遭泄露,提升设备的安全等级。其中,通过白盒对会话密钥进行加密,减少了多次交互协商建立会话密钥过程的时间。
Description
技术领域
本发明涉及数据处理的安全保护技术领域,尤其涉及数据处理方法、***、电子设备及存储介质。
背景技术
现有技术中联网模块与后台服务器升级直接采用明文的方式进行数据处理,或者是使用TLS(安全传输层协议)进行加密保护,但是TLS协议对RAM(随机存取存储器)资源占用较大,部分芯片资源不足以支持该协议,因此开发一种对资源占用小,且支持数据加密传输的技术方案成为人们待解决的问题。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种数据处理方法,其采用白盒对会话秘钥进行加密,并通过加密秘钥建立加密会话通道,也即其从数据通道上实现加密传输,可以提升设备的安全等级,且占用资源小。
本发明还提出一种数据处理***。
本发明还提出一种电子设备。
本发明还提出一种非暂态计算机可读存储介质。
根据本发明第一方面实施例的数据处理方法,包括:
获取加密秘钥,所述加密秘钥基于白盒对会话秘钥进行加密处理得到;
建立加密会话通道,所述加密会话通道在所述加密秘钥被解密并确认的条件下建立;
通过所述加密会话通道发送数据。
根据本发明实施例的数据处理方法,用密钥白盒技术从数据通道上实现加密传输,保护联网模块与后台OTA业务数据、升级包数据信息免遭泄露,或者在其他应用场景下保护相应数据免遭泄露,提升设备的安全等级。其中,通过白盒对会话密钥进行加密,减少了多次交互协商建立会话密钥过程的时间。
根据本发明的一个实施例,所述通过所述加密会话通道发送数据的步骤中,所述数据为对初始数据经过加密处理的加密数据。
根据本发明的一个实施例,还包括:
采用所述会话秘钥对所述初始数据进行加密处理得到所述加密数据。
根据本发明的一个实施例,还包括:
采用白盒对所述初始数据进行加密处理得到所述加密数据。
根据本发明的一个实施例,所述采用白盒对所述初始数据进行加密处理得到所述加密数据的步骤,包括:
使用摘要算法对所述初始数据进行哈希运算,得到摘要文件;
采用身份秘钥对所述初始数据进行加密处理得到数字签名;
采用白盒对所述初始数据、所述身份秘钥、所述摘要文件和所述数字签名进行加密处理得到所述加密数据。
根据本发明的一个实施例,所述摘要文件具有N个字节,所述身份秘钥为N个字节的第一随机数据,其中,N为正整数。
根据本发明的一个实施例,所述初始数据包括OTA升级包。
根据本发明的一个实施例,所述获取加密秘钥的步骤,包括:
生成对称秘钥;
将所述对称秘钥输入白盒管理***,生成白盒秘钥和白盒SDK;
将产生的第二随机数据作为所述会话秘钥,并使用所述白盒秘钥和所述白盒SDK对所述会话秘钥进行加密处理得到所述加密秘钥。
根据本发明的一个实施例,所述获取加密秘钥的步骤,包括:
生成对称秘钥;
将所述对称秘钥输入白盒管理***,生成白盒秘钥和白盒SDK,所述加密秘钥为采用下发的所述白盒秘钥对所述会话秘钥进行加密处理,并通过调用下发的所述白盒SDK的网络接口上传得到。
根据本发明第二方面实施例的数据处理方法,包括:
基于白盒对会话秘钥进行加密处理得到加密秘钥;
建立加密会话通道,所述加密会话通道在所述加密秘钥被解密并确认的条件下建立;
通过所述加密会话通道获取数据。
根据本发明实施例的数据处理方法,其技术效果和上述第一方面实施例的数据处理方法的技术效果对应,此处不再赘述。
根据本发明的一个实施例,所述基于白盒对会话秘钥进行加密处理得到加密秘钥的步骤,包括:
获取白盒秘钥和白盒SDK,所述白盒秘钥和白盒SDK为向白盒管理***输入对称秘钥生成并下发得到;
将所述白盒秘钥和所述白盒SDK集成到源码中编译后生成固件;
将所述固件烧录到联网模块;
采用所述白盒秘钥对所述会话秘钥进行加密处理得到加密秘钥;
所述数据处理方法还包括:
调用所述白盒SDK的加密接口发送所述加密秘钥。
根据本发明的一个实施例,还包括:
获取白盒秘钥和白盒SDK,所述白盒秘钥和白盒SDK为向白盒管理***输入对称秘钥生成并下发得到;
将所述白盒秘钥和所述白盒SDK集成到源码中编译后生成固件;
将所述固件烧录到联网模块;
确定所述固件完整和所述固件来源身份合法进入升级准备状态。
根据本发明的一个实施例,所述通过所述加密会话通道获取数据的步骤,包括:
获取密文升级包、密文身份密钥、密文摘要以及密文签名;
所述确定所述固件完整和所述固件来源身份合法进入升级准备状态的步骤,包括:
使用白盒解密密文升级包得到明文升级包,对所述明文升级包进行哈希运算得到摘要值;
使用白盒解密密文身份密钥得到明文身份密钥;
使用所述明文身份密钥对所述明文升级包进行HMAC运算,得到签名值;
使用白盒解密所述密文摘要得到明文摘要;
使用白盒解密所述密文签名得到明文签名;
确定所述摘要值和所述明文摘要一致,且所述签名值和所述明文签名一致,进入所述升级准备状态。
根据本发明的一个实施例,所述白盒密钥保存在Flash中。
根据本发明第三方面实施例的数据处理***,包括:
服务平台,用于实现上述第一方面实施例的数据处理方法;
智能应用程序,用于实现上述第二方面实施例的数据处理方法。
根据本发明实施例的数据处理方法,其包括上述第一方面实施例的数据处理方法的技术效果,和/或,上述第二方面实施例的数据处理方法的技术效果,此处不再赘述。
根据本发明第四方面实施例的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面实施例的数据处理方法的步骤,或实现如上述第二方面实施例的数据处理方法的步骤。
根据本发明实施例的电子设备,其包括上述第一方面实施例的数据处理方法的技术效果,和/或,上述第二方面实施例的数据处理方法的技术效果,此处不再赘述。
根据本发明第五方面实施例的非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面实施例的数据处理方法的步骤,或实现如上述第二方面实施例的数据处理方法的步骤。
根据本发明实施例的非暂态计算机可读存储介质,其包括上述第一方面实施例的数据处理方法的技术效果,和/或,上述第二方面实施例的数据处理方法的技术效果,此处不再赘述。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的数据处理方法的流程示意图;
图2是本发明实施例提供的白盒处理的结构示意图;
图3是本发明实施例提供的一般数据处理方法的结构示意图;
图4是本发明实施例提供的加密数据通道的数据处理方法的结构示意图;
图5是本发明实施例提供的数据处理***的结构示意图;
图6是本发明实施例提供的数据处理***的又一结构示意图;
图7是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明的实施方式作进一步详细描述。以下实施例用于说明本发明,但不能用来限制本发明的范围。
在本发明实施例的描述中,需要说明的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明实施例的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在对本发明实施例做详细说明之前,先对整个应用场景进行描述。本发明实施例的数据处理方法、数据处理***、电子设备和非暂态计算机可读存储介质,即可应用于服务器与智能家电设备之间,也可以应用于不同的智能家电设备和智能家电设备之间。其中,智能家电设备可能包括有手机、平板电脑、笔记本、车载电脑、智能电视、智能冰箱、智能洗衣机、智能厨具和其他智能家电设备等多种不同的类型。
以智能家电设备的OTA(Over-the-Air Technology,空中下载技术)数据升级为例对下面实施例的数据处理方法、数据处理***、电子设备和非暂态计算机可读存储介质进行举例说明。不失一般性,本发明实施例的数据处理方法、数据处理***、电子设备和非暂态计算机可读存储介质还可以应用于其他情况下的数据处理,例如可以应用于数据更新、数据备份、数据共享等。
对于OTA数据升级业务而言,主要通过服务器与智能家电设备的联网模块交互完成,交互信息包括了业务指令的下发、升级数据包的下载等,而为了保证为了OTA数据升级业务的可靠,需要保证这些交互信息的安全性。
根据本发明第一方面实施例的数据处理方法,适用于服务器,请参见图1,包括:
步骤100、获取加密秘钥,加密秘钥基于白盒对会话秘钥进行加密处理得到。
在一个实施例中,会话秘钥可以为服务器产生的第二随机数据(第一随机数据会在后文对应摘要文件的描述部分产生)。该种情况下,服务器通过云端的白盒***对会话秘钥进行加密处理,并将加密秘钥发送给智能家电设备,智能家电设备的相应模组对加密秘钥进行解密处理并对解密之后的秘钥进行确认,在智能家电设备对加密秘钥进行解密以及确定的情况下,智能家电设备和服务器之间会建立起加密会话通道。由此,在服务器和相应的智能家电设备之间,可以通过加密会话通道发送数据。
在另外一个实施例中,会话秘钥可以为智能家电设备的联网模块产生的第三随机数据。该种情况下,智能家电设备的联网模块产生第三随机数据之后,获取从服务器下发的白盒秘钥对第三随机数据进行加密处理得到加密秘钥。之后,智能家电设备调用从服务器下发的白盒SDK(软件开发工具包)的网络接口将加密秘钥上传至服务器。服务器对加密秘钥进行解密以及确定的情况下,智能家电设备和服务器之间会建立起加密会话通道。其中,网络接口的形式不受限制,例如可以采用TCP(传输控制协议)接口传输,也可以采用UDP(用户数据报协议)接口传输。显然,此处的网络接口为加密接口,以在服务器和智能家电设备之间建立加密会话通道。
根据本发明的实施例,将常规秘钥输入白盒管理***,生成白盒秘钥和白盒SDK。其中,常规秘钥可以是服务器生成的对称秘钥,也可以是非对称秘钥。
在一个实施例中,请参见图2,常规秘钥为16字节的AES(高级加密标准)对称秘钥,采用加密算法对AES对称秘钥进行加密处理。其中,加密算法可以为AES-128bit(字节)对称加密。在此基础上,基于查找表混淆的方法建立白盒管理***,将上述对称秘钥和加密算法经过白盒管理***处理,得到白盒秘钥和白盒加密算法。此时,白盒秘钥为16AES对称秘钥,白盒加密算法为白盒AES-128bit对称加密。
步骤200、建立加密会话通道,加密会话通道在加密秘钥被解密并确认的条件下建立。
如步骤100中的描述,步骤200中加密会话通道的建立可以是基于服务器的发起请求建立,也可以是基于智能家电设备的发起请求建立。当服务器向智能家电设备发送加密秘钥的时候,则意味着服务器发起了请求,此时加密秘钥的解密和确认发送在智能家电设备端;当智能家电设备向服务器发送加密秘钥的时候,则意味着智能家电设备发起了请求,此时加密秘钥的解密和确认发送在服务器端。
步骤300、通过加密会话通道发送数据。
根据本发明的实施例,由于用于发送数据的通道为加密会话通道,因此即便发送明文,也可以保证数据发送的安全。当然,此处发送的数据可以为对初始数据经过加密处理的加密数据。该种情况下,加密数据和加密会话通道相当于进行了双重安全设置,保证了数据处理的安全性。
在一个实施例中,服务器采用会话秘钥对初始数据进行加密处理得到加密数据。也即,当会话秘钥由服务器产生的时候,此时可以采用会话秘钥对初始数据进行加密处理,得到加密数据。该种加密方式简单且性能更加稳定。并且,由于服务器处于一个相对可控的环境,因此采用会话秘钥对初始数据进行加密处理也可以保证安全问题,或者通过在服务器部署秘钥管理***就可以解决原始秘钥的安全问题。而智能家电设备处于不可控的环境当中,因此对于智能家电设备的联网模块而言,为了保证数据处理的安全,需要启用白盒功能。
在一个实施例中,服务器采用白盒对初始数据进行加密处理得到加密数据。较之于采用常规加密方法对初始数据进行加密处理,该种加密处理方法更加安全。
根据本实用新型的实施例,采用白盒对初始数据进行加密处理得到加密数据的步骤,包括:
步骤301、使用摘要算法对初始数据进行哈希运算,得到摘要文件;
步骤302、采用身份秘钥对初始数据进行加密处理得到数字签名;
步骤303、采用白盒对初始数据、身份秘钥、摘要文件和数字签名进行加密处理得到加密数据。
在以上基础上,可以为加密之后的初始数据(例如升级包)、加密之后的身份秘钥、加密之后的摘要文件和加密之后的数字签名做字段标识,以便于数据的存储。进而,在服务器和智能家电设备之间发送数据的时候,除了发送加密数据,还发送各项加密数据的字段。例如,服务器通过TCP通道向智能家电设备的联网模块下发密文升级包字段和密文升级包、密文身份密钥字段和密文身份密钥、密文摘要字段和密文摘要、密文签名字段和密文签名。
在以上基础上,对于智能家电设备而言,其执行如下步骤:
步骤400、联网模块获取密文升级包字段和密文升级包并做数据分离解析,且联网模块使用白盒解密密文升级包得到明文升级包,将明文升级包写入备份区。
步骤500、联网模块获取密文身份密钥字段和密文身份密钥,并做数据分离解析,且联网模块使用白盒解密密文身份密钥得到明文身份密钥。
步骤600、联网模块获取密文摘要字段和密文摘要,并做数据分离解析,且联网模块使用白盒解密密文摘要,得到明文摘要。
步骤700、联网模块获取密文签名字段和密文签名,并做数据分离解析,且联网模块使用白盒解密密文签名,得到明文签名。
步骤800、联网模块对上述得到的明文升级包进行哈希运算得到摘要值,并将摘要值和步骤600中的明文摘要进行比较,以检查固件的完整性。
步骤900、联网模块使用身份密钥对明文升级包进行HMAC(密钥相关的哈希运算消息认证码)运算,得到签名值,并将签名值与步骤700中的明文签名进行比较,以检查固件来源身份合法性。
步骤110、当固件的完整性和固件来源身份合法性均校验通过后,设置升级状态标志位为ok,等待上电重启。
步骤120、联网模块上电重启,进入bootload(启动装载),检查状态标志位为ok,读取备份区启动地址,并对该备份区做相应安全检查,检查通过后更新程序启动地址,擦除升级状态标志位,跳转至应用。
步骤130、升级成功。
在一个实施例中,步骤301中的摘要文件具有N个字节,步骤302中的身份秘钥为N个字节的第一随机数据,其中,N为正整数。
在一个实施例中,初始数据包括OTA升级包。此时,数据处理的目的在于实现智能家电设备的数据升级。很显然,初始数据不局限为OTA数据。例如,当本发明实施例的数据处理方法目的在于数据共享的时候,则此处的初始数据可以为共享数据。当数据处理方法的目的在于数据备份,则此处的初始数据可以为待备份数据。
根据本发明的实施例,用密钥白盒技术从数据通道上实现加密传输,保护联网模块与后台OTA业务数据、升级包数据信息免遭泄露,或者在其他应用场景下保护相应数据免遭泄露,提升设备的安全等级。其中,通过白盒对会话密钥进行加密,减少了多次交互协商建立会话密钥过程的时间。
请参见图3和图4,本发明实施例的数据处理方法,其可以避免嗅探攻击获取关键数据,进而保证数据处理安全。
需要说明的是,以上步骤100至步骤130,以及步骤301至303等只是为了方便表述,不构成对数据处理方法中各步骤的时序限定。并且,有些内容在第一方面实施例提供的服务器端的数据处理方法当中有详细的说明,并且所有服务器端的数据处理方法当中的内容也都可适用于第二方面实施例提供的智能家电设备的数据处理方法当中,进而为了避免重复赘述在第二方面实施例提供的智能家电设备的数据处理方法当中没有详细展开说明。同样的,以上两个方面实施例的数据处理方法当中的内容都可以用于解释后面所有方式实施例的内容,因此后面实施例当中对于重复的内容不进行赘述。
根据本发明第二方面的实施例,提供一种数据处理方法,适用于智能家电设备,包括:
步骤100’、基于白盒对会话秘钥进行加密处理得到加密秘钥并发送加密秘钥。
步骤100’中,会话秘钥可以是服务器产生的唯一的第二随机数据。服务器使用白盒密钥和白盒SDK对第二随机数据加密得到加密密钥,通过网络接口例如TCP下发给智能家电设备的模组。智能家电设备的模组获取到加密秘钥之后,使用白盒密钥和白盒SDK对其进行解密得到会话密钥,后续通信数据通过会话密钥加密后传输。当然,步骤100’中,会话秘钥可以是智能家电设备产生的第三随机数据。或者,当数据在不同智能家电设备之间进行传递的时候,此时会话秘钥也可以是其他智能家电设备产生的。
在一个实施例中,步骤100’包括:
S101’、获取白盒秘钥和白盒SDK,白盒秘钥和白盒SDK为向白盒管理***输入对称秘钥生成并下发得到;
S102’、将白盒秘钥和白盒SDK集成到源码中编译后生成固件;
S103’、将固件烧录到联网模块。
当会话秘钥为智能家电设备产生的第三随机数据的时候,此时步骤100’还包括:
S104’、智能家电设备采用白盒秘钥对会话秘钥进行加密处理得到加密秘钥。
在以上基础上,智能家电设备的数据处理方法还包括:调用白盒SDK的加密接口发送加密秘钥。
步骤200’、建立加密会话通道,加密会话通道在加密秘钥被解密并确认的条件下建立。
步骤200’,加密会话通道可以是基于服务器的发起请求建立,也可以是基于智能家电设备的发起请求建立。或者,当加密会话通道建立于不同的智能家电设备的时候,此时也可以基于其他智能家电设备的请求建立。
步骤300’、通过加密会话通道获取数据。
在一个实施例中,白盒密钥保存在Flash(闪存)中,以保证存储的快速和安全。
在一个实施例中,确定所述固件完整和所述固件来源身份合法,进入升级准备状态。
在一个实施例中,进入升级准备状态也即意味着当智能家电设备的联网模块上电,则启动升级。
在一个实施例中,确定所述固件完整和所述固件来源身份合法的方法可以参考上述步骤400至步骤130,此处不再赘述。
根据本发明第三方面的实施例,提供一种数据处理***,包括服务平台和智能应用程序中的至少其中一个。服务平台用于实现第一方面实施例的数据处理方法;智能应用程序用于实现第二方面实施例的数据处理方法。
请参见图5和图6,在一个实施例中,数据处理***包括后台的服务平台,还包括智能应用程序(图5仅示出了后台服务器和智能家电设备的联网模块,未示出服务平台和智能家电设备的智能应用程序,但是并不影响对本发明实施例的理解)。其中,在后台服务器设置秘钥管理***和白盒管理***。秘钥管理***生成对称秘钥之后,将对称秘钥输入白盒管理***,进行白盒化处理得到秘钥文件和白盒LIB库(静态数据连接库),集成之后得到白盒秘钥(也即WBC.key)和白盒SDK。
在一个实施例中,登陆白盒管理***输入对称密钥,生成对应的白盒密钥WBC.key和白盒SDK,白盒密钥WBC.key以字符串形式保存,白盒SDK为lib库(静态数据连接库)或者so库(动态库文件);将字符串形式的密钥文件WBC.key转化成二进制的白盒密钥,集成到源码中,同时将白盒SDK库也集成到源码中,编译后生成固件,烧录到智能家居设备联网模块中,其中可以将白盒密钥保存在Flash(闪存)中。智能家居设备联网模块上电后,读取Flash中白盒密钥,调用白盒SDK加密接口,对OTA数据,如业务指令、升级包数据执行白盒加密操作,传送到后台;后台获取密钥管理***中的对称密钥,执行对应的解密操作,还原设备上传数据,业务处理完成后调用加密接口加密回传给设备;智能家居设备联网模块调用白盒解密接口,还原后台下发的数据,执行相应的业务功能,如版本上报、升级数据写入等操作;联网模块与服务器完成OTA交互后掉电,完成升级;如需再次启动OTA升级,重新执行上述步骤。
根据本发明的实施例,涉及智能家电设备OTA联网模块与服务器交互通信经过加密,即使非授权用户捕获通信数据,也无法解密出明文信息。密钥经过白盒化处理且保存到设备Flash中,只有智能家电设备上电后通过调用对应的白盒SDK才可以执行加解密,而云端密钥保持在密钥管理***中,整个过程密钥始终运行在安全的环境中,极大的提高了逆向破解的难度和成本,提升了设备OTA升级安全的使用等级。
在一个实施例中,服务平台包括:
第一获取模块,用于获取加密秘钥,加密秘钥基于白盒对会话秘钥进行加密处理得到;
第一通道建立模块,用于建立加密会话通道,加密会话通道在加密秘钥被解密并确认的条件下建立;
第一发送模块,用于通过加密会话通道发送数据。
在一个实施例中,第一发送模块通过加密会话通道发送的数据为对初始数据经过加密处理的加密数据。
在一个实施例中,服务平台还包括:
加密模块,用于采用会话秘钥对初始数据进行加密处理得到加密数据,或者,用于采用白盒对初始数据进行加密处理得到加密数据。
在一个实施例中,加密模块包括:
摘要文件子模块,用于使用摘要算法对初始数据进行哈希运算,得到摘要文件;
数字签名子模块,用于采用身份秘钥对初始数据进行加密处理得到数字签名;
第一白盒加密子模块,用于采用白盒对初始数据、身份秘钥、摘要文件和数字签名进行加密处理得到加密数据。
在一个实施例中,第一获取模块包括:
秘钥生成子模块,用于生成对称秘钥;
白盒处理子模块,用于将对称秘钥输入白盒管理***,生成白盒秘钥和白盒SDK。
该种情况下,第一白盒加密子模块用于将产生的第二随机数据作为会话秘钥,并使用白盒秘钥和白盒SDK对会话秘钥进行加密处理得到加密秘钥。
在另外一个实施例中,秘钥生成子模块用于生成对称秘钥,且白盒处理子模块用于将对称秘钥输入白盒管理***,生成白盒秘钥和白盒SDK,加密秘钥为采用下发的白盒秘钥对会话秘钥进行加密处理,并通过调用下发的白盒SDK的网络接口上传得到。
在一个实施例中,智能应用程序包括:
第二获取模块,用于基于白盒对会话秘钥进行加密处理得到加密秘钥;
第二通道建立模块,用于建立加密会话通道,加密会话通道在加密秘钥被解密并确认的条件下建立;
数据下载模块,用于通过加密会话通道获取数据。
在一个实施例中,第二获取模块包括:
获取子模块,用于获取白盒秘钥和白盒SDK,白盒秘钥和白盒SDK为向白盒管理***输入对称秘钥生成并下发得到;
编译子模块,用于将白盒秘钥和白盒SDK集成到源码中编译后生成固件;
烧录子模块,用于将固件烧录到联网模块;
第二白盒加密子模块,用于采用白盒秘钥对会话秘钥进行加密处理得到加密秘钥。
在一个实施例中,智能应用程序还包括:
第二发送模块,用于调用白盒SDK的加密接口发送加密秘钥。
在一个实施例中,智能应用程序还包括:
固件确定模块,用于在确定所述固件完整和所述固件来源身份合法的情况下进入升级准备状态。
在一个实施例中,第二获取模块用于获取密文升级包、密文身份密钥、密文摘要以及密文签名。该种情况下,固件确定模块包括:
摘要值获取子模块,用于使用白盒解密密文升级包得到明文升级包,对所述明文升级包进行哈希运算得到摘要值;
明文身份密钥获取子模块,用于使用白盒解密密文身份密钥得到明文身份密钥;
签名值获取子模块,用于使用所述明文身份密钥对所述明文升级包进行HMAC运算,得到签名值;
明文摘要获取子模块,用于使用白盒解密所述密文摘要得到明文摘要;
明文签名获取子模块,用于使用白盒解密所述密文签名得到明文签名;
判断模块,用于确定所述摘要值和所述明文摘要一致,且所述签名值和所述明文签名一致,并进入所述升级准备状态。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行如下方法:获取加密秘钥,加密秘钥基于白盒对会话秘钥进行加密处理得到;建立加密会话通道,加密会话通道在加密秘钥被解密并确认的条件下建立;通过加密会话通道发送数据。或者,执行如下方法:基于白盒对会话秘钥进行加密处理得到加密秘钥;建立加密会话通道,加密会话通道在加密秘钥被解密并确认的条件下建立;通过加密会话通道获取数据。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
进一步地,本发明实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取加密秘钥,加密秘钥基于白盒对会话秘钥进行加密处理得到;建立加密会话通道,加密会话通道在加密秘钥被解密并确认的条件下建立;通过加密会话通道发送数据。或者包括:基于白盒对会话秘钥进行加密处理得到加密秘钥;建立加密会话通道,加密会话通道在加密秘钥被解密并确认的条件下建立;通过加密会话通道获取数据。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的数据处理方法,例如包括:获取加密秘钥,加密秘钥基于白盒对会话秘钥进行加密处理得到;建立加密会话通道,加密会话通道在加密秘钥被解密并确认的条件下建立;通过加密会话通道发送数据。或者包括:基于白盒对会话秘钥进行加密处理得到加密秘钥;建立加密会话通道,加密会话通道在加密秘钥被解密并确认的条件下建立;通过加密会话通道获取数据。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
获取加密秘钥,所述加密秘钥基于白盒对会话秘钥进行加密处理得到;
建立加密会话通道,所述加密会话通道在所述加密秘钥被解密并确认的条件下建立;
通过所述加密会话通道发送数据,所述数据为对初始数据经过加密处理的加密数据;
获取白盒秘钥和白盒SDK,所述白盒秘钥和白盒SDK为向白盒管理***输入对称秘钥生成并下发得到;
将所述白盒秘钥和所述白盒SDK集成到源码中编译后生成固件;
将所述固件烧录到联网模块;
确定所述固件完整和所述固件来源身份合法进入升级准备状态;
其中,所述通过所述加密会话通道发送数据的步骤,包括:
获取密文升级包、密文身份密钥、密文摘要以及密文签名;
所述确定所述固件完整和所述固件来源身份合法进入升级准备状态的步骤,包括:
使用白盒解密密文升级包得到明文升级包,对所述明文升级包进行哈希运算得到摘要值;
使用白盒解密密文身份密钥得到明文身份密钥;
使用所述明文身份密钥对所述明文升级包进行HMAC运算,得到签名值;
使用白盒解密所述密文摘要得到明文摘要;
使用白盒解密所述密文签名得到明文签名;
确定所述摘要值和所述明文摘要一致,且所述签名值和所述明文签名一致,进入所述升级准备状态。
2.根据权利要求1所述的数据处理方法,其特征在于,所述通过所述加密会话通道发送数据的步骤中,所述数据为对初始数据经过加密处理的加密数据。
3.根据权利要求2所述的数据处理方法,其特征在于,还包括:
采用所述会话秘钥对所述初始数据进行加密处理得到所述加密数据。
4.根据权利要求2所述的数据处理方法,其特征在于,还包括:
采用白盒对所述初始数据进行加密处理得到所述加密数据。
5.根据权利要求4所述的数据处理方法,其特征在于,所述采用白盒对所述初始数据进行加密处理得到所述加密数据的步骤,包括:
使用摘要算法对所述初始数据进行哈希运算,得到摘要文件;
采用身份秘钥对所述初始数据进行加密处理得到数字签名;
采用白盒对所述初始数据、所述身份秘钥、所述摘要文件和所述数字签名进行加密处理得到所述加密数据。
6.根据权利要求5所述的数据处理方法,其特征在于,所述摘要文件具有N个字节,所述身份秘钥为N个字节的第一随机数据,其中,N为正整数。
7.根据权利要求2所述的数据处理方法,其特征在于,所述初始数据包括OTA升级包。
8.根据权利要求1-7中任意一项所述的数据处理方法,其特征在于,所述获取加密秘钥的步骤,包括:
生成对称秘钥;
将所述对称秘钥输入白盒管理***,生成白盒秘钥和白盒SDK;
将产生的第二随机数据作为所述会话秘钥,并使用所述白盒秘钥和所述白盒SDK对所述会话秘钥进行加密处理得到所述加密秘钥。
9.根据权利要求1-7中任意一项所述的数据处理方法,其特征在于,所述获取加密秘钥的步骤,包括:
生成对称秘钥;
将所述对称秘钥输入白盒管理***,生成白盒秘钥和白盒SDK,所述加密秘钥为采用下发的所述白盒秘钥对所述会话秘钥进行加密处理,并通过调用下发的所述白盒SDK的网络接口上传得到。
10.一种数据处理方法,其特征在于,包括:
基于白盒对会话秘钥进行加密处理得到加密秘钥;
建立加密会话通道,所述加密会话通道在所述加密秘钥被解密并确认的条件下建立;
通过所述加密会话通道获取数据;
获取白盒秘钥和白盒SDK,所述白盒秘钥和白盒SDK为向白盒管理***输入对称秘钥生成并下发得到;
将所述白盒秘钥和所述白盒SDK集成到源码中编译后生成固件;
将所述固件烧录到联网模块;
确定所述固件完整和所述固件来源身份合法进入升级准备状态;
其中,所述通过所述加密会话通道获取数据的步骤,包括:
获取密文升级包、密文身份密钥、密文摘要以及密文签名;
所述确定所述固件完整和所述固件来源身份合法进入升级准备状态的步骤,包括:
使用白盒解密密文升级包得到明文升级包,对所述明文升级包进行哈希运算得到摘要值;
使用白盒解密密文身份密钥得到明文身份密钥;
使用所述明文身份密钥对所述明文升级包进行HMAC运算,得到签名值;
使用白盒解密所述密文摘要得到明文摘要;
使用白盒解密所述密文签名得到明文签名;
确定所述摘要值和所述明文摘要一致,且所述签名值和所述明文签名一致,进入所述升级准备状态。
11.根据权利要求10所述的数据处理方法,其特征在于,所述基于白盒对会话秘钥进行加密处理得到加密秘钥的步骤,包括:
获取白盒秘钥和白盒SDK,所述白盒秘钥和白盒SDK为向白盒管理***输入对称秘钥生成并下发得到;
将所述白盒秘钥和所述白盒SDK集成到源码中编译后生成固件;
将所述固件烧录到联网模块;
采用所述白盒秘钥对所述会话秘钥进行加密处理得到加密秘钥;
所述数据处理方法还包括:
调用所述白盒SDK的加密接口发送所述加密秘钥。
12.根据权利要求10至11中任意一项所述的数据处理方法,其特征在于,所述白盒秘钥保存在Flash中。
13.一种数据处理***,其特征在于,包括:
服务平台,用于实现权利要求1至7中任意一项所述的数据处理方法;和/或,
智能应用程序,用于实现权利要求10至12中任意一项所述的数据处理方法。
14.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述数据处理方法的步骤,或实现如权利要求10至12中任意一项所述数据处理方法的步骤。
15.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7中任意一项所述数据处理方法的步骤,或实现如权利要求10至12中任意一项所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011554074.1A CN114679287B (zh) | 2020-12-24 | 2020-12-24 | 数据处理方法、***、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011554074.1A CN114679287B (zh) | 2020-12-24 | 2020-12-24 | 数据处理方法、***、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114679287A CN114679287A (zh) | 2022-06-28 |
CN114679287B true CN114679287B (zh) | 2023-05-09 |
Family
ID=82070165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011554074.1A Active CN114679287B (zh) | 2020-12-24 | 2020-12-24 | 数据处理方法、***、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114679287B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116939599B (zh) * | 2023-08-20 | 2024-06-07 | 敦和安全科技(武汉)有限公司 | 一种面向低性能设备的高速加密通信方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112003868A (zh) * | 2020-08-28 | 2020-11-27 | 苏州中科安源信息技术有限公司 | 一种基于白盒加密的智能家居***安全通信方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10389517B2 (en) * | 2016-06-27 | 2019-08-20 | Nxp B.V. | Using secure key storage to bind a white-box implementation to one platform |
CN108173644A (zh) * | 2017-12-04 | 2018-06-15 | 珠海格力电器股份有限公司 | 数据传输加密方法、装置、存储介质、设备及服务器 |
CN108123794A (zh) * | 2017-12-20 | 2018-06-05 | 上海众人网络安全技术有限公司 | 白盒密钥的生成方法和加密方法、装置及*** |
CN108304722A (zh) * | 2017-12-21 | 2018-07-20 | 广州小鹏汽车科技有限公司 | 一种软件安装包及其生成方法、升级方法和*** |
CN109462477B (zh) * | 2018-12-28 | 2021-05-25 | 芯海科技(深圳)股份有限公司 | 基于物联网嵌入式设备的白盒加密方法 |
CN111538977B (zh) * | 2020-06-23 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 云api密钥的管理、云平台的访问方法、装置及服务器 |
-
2020
- 2020-12-24 CN CN202011554074.1A patent/CN114679287B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112003868A (zh) * | 2020-08-28 | 2020-11-27 | 苏州中科安源信息技术有限公司 | 一种基于白盒加密的智能家居***安全通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114679287A (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106063183B (zh) | 用于云辅助密码学的方法和装置 | |
TWI582638B (zh) | 電子器件、用於建立及強制實行與一存取控制元件相關聯之一安全性原則之方法及安全元件 | |
CN111327583B (zh) | 一种身份认证方法、智能设备及认证服务器 | |
AU2019202163B1 (en) | Provisioning a secure connection using a pre-shared key | |
KR20160078475A (ko) | 키 구성 방법, 시스템, 및 장치 | |
KR101297648B1 (ko) | 서버와 디바이스간 인증방법 | |
CN113992346B (zh) | 一种基于国密加固的安全云桌面的实现方法 | |
CN108111497A (zh) | 摄像机与服务器相互认证方法和装置 | |
US20220245631A1 (en) | Authentication method and apparatus of biometric payment device, computer device, and storage medium | |
CN112632573B (zh) | 智能合约执行方法、装置、***、存储介质及电子设备 | |
CN107729760B (zh) | 基于Android***的CSP实现方法及智能终端 | |
CN107872315B (zh) | 数据处理方法和智能终端 | |
CN114553590A (zh) | 数据传输方法及相关设备 | |
CN111901287B (zh) | 一种为轻应用提供加密信息的方法、装置和智能设备 | |
US20220247729A1 (en) | Message transmitting system with hardware security module | |
CN104994498B (zh) | 一种终端应用与手机卡应用交互的方法及*** | |
CN114679287B (zh) | 数据处理方法、***、电子设备及存储介质 | |
US20240073020A1 (en) | Digital key pairing method, pairing system, and vehicle | |
CN108512824B (zh) | 一种家庭云端文件的管理方法及移动终端 | |
WO2023141876A1 (zh) | 数据传输方法、装置、***、电子设备及可读介质 | |
CN115906196A (zh) | 一种移动存储方法、装置、设备及存储介质 | |
CN106685931B (zh) | 智能卡应用管理方法和***、终端和智能卡 | |
CN108154037B (zh) | 进程间的数据传输方法和装置 | |
CN108769989B (zh) | 一种无线网连接方法、无线接入装置和设备 | |
CN112131597A (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 |