CN114844688A - 数据传输方法、装置、设备及计算机存储介质 - Google Patents

数据传输方法、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN114844688A
CN114844688A CN202210400065.XA CN202210400065A CN114844688A CN 114844688 A CN114844688 A CN 114844688A CN 202210400065 A CN202210400065 A CN 202210400065A CN 114844688 A CN114844688 A CN 114844688A
Authority
CN
China
Prior art keywords
white
box
data
terminal devices
terminal device
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
Application number
CN202210400065.XA
Other languages
English (en)
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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202210400065.XA priority Critical patent/CN114844688A/zh
Publication of CN114844688A publication Critical patent/CN114844688A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/043Masking or blinding of tables, e.g. lookup, substitution or mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation 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

本申请提供了一种数据传输方法、装置、设备及计算机存储介质,涉及数据传输技术领域,用于解决多路数据传输中需要多次加密造成节点资源消耗太多影响其他业务的问题,所述方法包括:接收多个终端设备的数据流请求,所述数据流请求用于请求目标数据;响应于所述数据流请求,基于所述目标数据的加密密钥对所述目标数据进行加密处理,获得密文数据;基于所述多个终端设备的身份标识,获取所述多个终端设备各自对应的白盒库文件,并分别基于白盒库文件对所述加密密钥进行白盒化操作,获得所述多个终端设备各自对应的白盒密钥;将所述密文数据以及所述多个终端设备各自的白盒密钥,分别发送给所述多个终端设备。

Description

数据传输方法、装置、设备及计算机存储介质
技术领域
本申请涉及数据传输技术领域,尤其涉及一种数据传输方法、装置、设备及计算机存储介质。
背景技术
随着网络技术的发展,电子设备之间的数据传输必不可少,数据传输的安全性成为了尤为关注的问题。为了保障数据的安全传输,目前通常对数据进行加密成为密文数据后进行传输,目前有关于数据加密的方法众多。
但是,在涉及到多路传输数据,即数据发送端需要将同一数据同时传输给不同数据接收端时,数据发送端通常需要分别对各数据接收端的数据进行加密后,分别将密文数据发送给数据接收端。
可见,这种方式需要对各数据接收端的数据分别进行加密,需要消耗大量的节点资源,当数据传输的设备比较多时,可能会造成数据发送端资源大量的消耗,从而影响其他业务的正常运行。
发明内容
本申请提供一种数据传输方法、装置、设备及计算机存储介质,用于解决多路数据传输中需要多次加密造成节点资源消耗太多影响其他业务的问题。
一方面,提供一种数据传输方法,应用于服务器,所述方法包括:
接收多个终端设备的数据流请求,所述数据流请求用于请求目标数据;
响应于所述数据流请求,基于所述目标数据的加密密钥对所述目标数据进行加密处理,获得密文数据;
基于所述多个终端设备的身份标识,获取所述多个终端设备各自对应的白盒库文件,并分别基于白盒库文件对所述加密密钥进行白盒化操作,获得所述多个终端设备各自对应的白盒密钥;
将所述密文数据以及所述多个终端设备各自的白盒密钥,分别发送给所述多个终端设备。
一方面,提供一种数据传输方法,应用于终端设备,所述方法包括:
向服务器发送数据流请求,所述数据流请求用于请求目标数据;
接收所述服务器响应于所述数据流请求返回的密文数据和白盒密钥,所述密文数据为所述服务器采用加密密钥对所述目标数据进行加密后得到的,所述白盒密钥为所述服务器采用所述终端设备的白盒库文件对所述加密密钥进行白盒化操作得到的;
基于自身存储的所述白盒库文件,采用所述白盒密钥对所述密文数据进行解密,获得所述目标数据。
一方面,提供一种数据传输装置,所述装置包括:
接收单元,用于接收多个终端设备的数据流请求,所述数据流请求用于请求目标数据;
数据加密单元,用于响应于所述数据流请求,基于所述目标数据的加密密钥对所述目标数据进行加密处理,获得密文数据;
白盒密钥生成单元,用于基于所述多个终端设备的身份标识,获取所述多个终端设备各自对应的白盒库文件,并分别基于白盒库文件对所述加密密钥进行白盒化操作,获得所述多个终端设备各自对应的白盒密钥;
发送单元,用于将所述密文数据以及所述多个终端设备各自的白盒密钥,分别发送给所述多个终端设备。
可选的,所述装置还包括白盒文件生成单元,用于:
根据第一终端设备的第一身份标识,为所述第一终端设备生成第一白盒库文件;所述第一终端设备为所述多个终端设备中的任一终端设备;
建立所述第一身份标识与所述第一白盒库文件之间的映射关系;并,
将所述第一白盒库文件发送给所述第一终端设备。
可选的,所述白盒文件生成单元,具体用于:
获得多个输入值,所述输入值为所述加密密钥对应的密钥生产方法的输出值;
针对所述多个输入值,分别执行如下操作:
针对一个输入值,从设定的双射关系库中,随机选取第一双射关系,并采用所述第一双射关系对所述一个输入值进行编码,得到第一中间值;
对所述第一中间值进行至少一轮轮函数的迭代处理,获得目标中间值;
从所述双射关系库中,随机选取第二双射关系,并采用所述第二双射关系对所述目标中间值进行编码,获得一个输入值对应的白盒密钥;
基于所述多个输入值对应的所述第一中间值、所述目标中间值和白盒密钥,生成所述第一白盒库文件。
可选的,每一轮迭代处理包括如下操作:
对输入的初始中间值进行行移位处理,得到第二中间值;其中,所述初始中间值为所述第一中间值或者上一轮迭代处理的输出中间值;
从设定的双射矩阵库中,随机选取目标双射矩阵,并采用所述目标双射矩阵对所述第二中间值进行编码,得到第三中间值;
采用所述目标双射矩阵的逆矩阵对所述第三中间值进行编码,得到本轮迭代的输出中间值。
可选的,所述装置还包括白盒文件更新单元,用于:
接收所述第一终端设备的文件更新请求;
若所述更新请求未携带文件标识,则根据所述第一终端设备的第一身份标识生成对应的第一白盒库文件,并将所述第一白盒库文件发送给所述第一终端设备;
若所述更新请求携带文件标识,并根据文件标识确定所述第一终端设备已存储的第一白盒库文件需要更新时,将更新后的第二白盒库文件发送给所述第一终端设备。
可选的,白盒密钥生成单元,具体用于:
针对所述多个终端设备,分别执行如下操作:
针对一个终端设备,获取所述终端设备的白盒库文件,所述白盒库文件包括多个查找表,每个查找表对应每一轮轮函数迭代处理时的一种操作类型;
基于设定的混淆规则,将所述加密密钥与所述不同查找表进行混淆处理,获得相应的白盒密钥。
可选的,所述装置还包括认证单元;
所述接收单元,还用于接收所述多个终端设备发送的认证请求,每个认证请求携带所述相应终端设备的身份信息;
所述认证单元,用于基于所述多个终端设备各自对应的身份信息,分别对所述多个终端设备进行身份认证;以及,若身份认证通过,则与已认证通过的终端设备建立连接。
可选的,所述装置还包括完整性校验单元,用于:
对所述目标数据进行哈希计算,获取所述目标数据的目标哈希值;
基于所述加密密钥对所述目标哈希值进行加密处理,获得密文哈希值;
则所述发送单元,还用于将所述密文哈希值分别发送所述多个终端设备,使得各个终端设备根据自身接收到的白盒密钥分别对所述密文数据和所述密文哈希值进行解密后,基于解密得到的明文数据和哈希值校验接收到的目标数据的完整性。
一方面,一种数据传输装置,应用于终端设备,所述装置包括:
发送单元,用于向服务器发送数据流请求,所述数据流请求用于请求目标数据;
接收单元,用于接收所述服务器响应于所述数据流请求返回的密文数据和白盒密钥,所述密文数据为所述服务器采用加密密钥对所述目标数据进行加密后得到的,所述白盒密钥为所述服务器采用所述终端设备的白盒库文件对所述加密密钥进行白盒化操作得到的;
解密单元,用于基于自身存储的所述白盒库文件,采用所述白盒密钥对所述密文数据进行解密,获得所述目标数据。
一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法的步骤。
一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
一方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种方法的步骤。
本申请实施例中,通过在终端设备中引入动态白盒库文件,在需要向多个终端设备传输同一目标数据时,可以利用加密密钥对目标数据进行加密生成密文数据,同时对加密密钥进行白盒化操作生成白盒密钥,然后将加密后的密文数据通过多路传输到终端设备,同时白盒密钥也通过安全的方式传输给对应的终端设备,实现数据传输的安全高效保护,并且,由于只需将目标数据加密一次,解决了需要对各个终端设备的数据分别加密的问题,从而节省了服务器的节点资源,从而在待数据传输的终端设备很多的情况下,也不会影响其他业务的正常运行。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的应用场景示意图;
图2为本申请实施例所提供的系统架构示意图;
图3为本申请实施例提供的数据传输方法的流程示意图;
图4为本申请实施例提供的服务器生成白盒库文件的流程示意图;
图5为本申请实施例提供的认证过程的流程示意图;
图6为本申请实施例提供的一种数据传输装置的结构示意图;
图7为申请实施例还提供了另一种数据传输装置的结构示意图;
图8为本申请实施例提供的计算机设备的一种结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解本申请实施例提供的技术方案,这里先对本申请实施例提供的一些关键名词进行解释:
动态白盒技术:是指白盒库在生成后不需要再进行更新,原始密钥经过同样的白盒密码技术转化为白盒密钥的一种加密技术。白盒密钥在传入相匹配的白盒库后可以进行正常的加密或解密功能。白盒密钥在经过白盒密码处理后是安全的,攻击者并不能通过分析白盒密钥得到任何关于原始密钥的信息。
下面对本申请实施例的设计思想进行简要介绍。
目前,为了保障数据的安全传输,通常对数据进行加密成为密文数据后进行传输,且有关于数据加密的方法众多。
但是,在涉及到多路传输数据,即数据发送端需要将同一数据同时传输给不同数据接收端时,数据发送端通常需要分别对各数据接收端的数据进行加密后,分别将密文数据发送给数据接收端。
可见,这种方式需要对各数据接收端的数据分别进行加密,需要消耗大量的节点资源,当数据传输的设备比较多时,可能会造成数据发送端资源大量的消耗,从而影响其他业务的正常运行。
基于此,本申请实施例提供了一种数据传输方法,该方法通过在终端设备中引入动态白盒库文件,在需要向多个终端设备传输同一目标数据时,可以利用加密密钥对目标数据进行加密生成密文数据,同时对加密密钥进行白盒化操作生成白盒密钥,然后将加密后的密文数据通过多路传输到终端设备,同时白盒密钥也通过安全的方式传输给对应的终端设备,实现数据传输的安全高效保护,并且,由于只需将目标数据加密一次,解决了需要对各个终端设备的数据分别加密的问题,从而节省了服务器的节点资源,从而在待数据传输的终端设备很多的情况下,也不会影响其他业务的正常运行。
请参见图1,为本申请实施例所提供的应用场景示意图。在该场景中,可以包括多个终端设备102(参见图1中的终端设备1~n)和服务器101。需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
终端设备102例如可以为手机、平板电脑(PAD)、笔记本电脑、台式电脑、智能电视、智能车载设备以及智能可穿戴设备等。终端设备102可以安装有目标应用,目标应用可以为即时通讯应用、视频应用、音频应用等任何可能触发数据流请求的应用,本申请实施例涉及的应用可以是软件客户端,也可以是网页、小程序等客户端,服务器则是与软件或是网页、小程序等相对应的后台服务器,不限制客户端的具体类型。除此之外,终端设备作为数据接收端,其也可以通过服务器来实现,例如可以为智能分析服务器。
服务器101可以为终端设备102上安装的目标应用所对应的后台服务器,其可以实现本申请实施例所提供的数据传输方法中服务器侧执行的步骤。例如可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、即内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。此外,服务器和终端设备均可以为智能物联网(Internet of Things,IoT)设备。
以目标数据为视频码流数据为例,基于终端设备类型的不同,终端设备102中可以安装相应类型的目标应用,例如终端设备102为视频平台中的设备时,则目标应用可以为视频平台的平台客户端;当终端设备102为手机时,则目标应用可以为手机客户端。当各个终端设备102上的目标应用需要播放目标视频时,则各个终端设备102可以分别向服务器101发送视频请求,以请求目标视频的视频码流数据,服务器101则基于该视频请求,采用本申请实施例提供的数据传输方法,使用加密密钥对视频码流数据加密生成密文数据,并根据各个终端设备102的白盒库文件对加密密钥进行白盒化操作生成白盒密钥,并将密文数据和各个终端设备102的白盒密钥分别发送给相应的终端设备102,进而各个终端设备102收到密文数据和白盒密钥后进行存储,当客户端需要进行视频播放时,利用白盒密钥对密文数据解密,得到明文码流数据,客户端获取明文码流数据进行视频播放。
本申请实施例中,终端设备102和服务器101之间可以通过一个或者多个网络进行直接或间接的通信连接。该网络可以是有线网络,也可以是无线网络,例如无线网络可以是移动蜂窝网络,或者可以是无线保真(Wireless-Fidelity,WIFI)网络,当然还可以是其他可能的网络,本发明实施例对此不做限制。
需要说明的是,在本申请实施例中,对于终端设备102的数量并不进行限制。
请参见图2,为本申请实施例所提供的系统架构示意图。在该架构中,包括服务端201和客户端202。
具体的,服务端201包含算法关联模块、白盒密钥生成模块、加密模块、接入认证模块和流媒体服务模块。各个模块的介绍如下:
(1)算法关联模块
算法关联模块集成了生成白盒库文件所需要的白盒密码集成算法,包含算法仓库和算法调度模块,主要用于对白盒密钥算法的管理、存储和调度。在需要生成白盒库文件时,调用算法关联模块中的各算法生成相应的白盒库文件。
(2)白盒密钥生成模块
白盒密钥生成模块用于对加密密钥进行白盒化操作,生成多份白盒密钥。
(3)加密模块
加密模块用于生成视频码流的加密密钥以及利用生成的加密密钥对目标数据(如视频码流数据)进行加密。
(4)接入认证模块
接入认证模块用于对接入到服务端201的设备/客户端进行身份认证,以判断是否准入。
(5)流媒体服务模块
用于目标数据的编码和下发到对应的设备/客户端。
客户端202包含接入模块、白盒解密模块、存储模块。各个模块的介绍如下:
(1)接入模块
接入模块用于对接服务端201,负责客户端202的接入认证相关过程,以接入服务端201来获取目标数据。
(2)白盒解密模块
白盒解密模块用于对接收到的白盒密钥对密文数据进行解密,例如针对视频码流而言,白盒解密模块则用于采用白盒密钥对加密视频码流进行解密,获得明文视频码流。
(3)存储模块
存储模块用于对服务端201下发的密文数据与白盒密钥进行存储。
需要说明的是,在本申请实施例中,服务器101的数量也可以为一个,也可以为多个,也就是说对于,服务器101的数量并不进行限制。
下面结合说明书附图介绍本申请实施例提供的技术方案。
请参见图3,为本申请实施例提供的数据传输方法的流程示意图,该方法的流程介绍如下。
步骤S1:多个终端设备向服务器发送数据流请求,服务器接收多个终端设备的数据流请求,数据流请求用于请求目标数据。
本申请实施例中,目标数据可以是视频码流数据,也可以是生物特征数据(例如人脸信息数据),当然还可以是其他任意可能的数据,本申请实施例对此并不进行限制。
以视频码流数据为例,当终端设备中触发针对目标视频的播放请求时,则触发终端设备向服务器发起数据流请求,以请求目标视频对应的视频码流数据,参见图3所示,终端设备1向服务器发送数据流请求1,终端设备2向服务器发送数据流请求2,以此类推。
步骤S2:服务器响应于数据流请求,基于目标数据的加密密钥对目标数据进行加密处理,获得密文数据。
本申请实施例中,服务器在收到终端设备的数据流请求后,服务器根据数据流请求中携带的数据标识,获取相应的目标数据。同样以视频码流数据为例,例如目标视频可以存储于数据库中,则服务器可以根据数据流请求中携带的视频标识,在数据库中进行查找以获取目标视频,并根据目标视频生成相应的视频码流数据。
为了数据传输的安全性,服务器可以对目标数据进行加密传输。具体的,服务器基于自身的加密密钥生成方法,生成目标数据的加密密钥,并基于目标数据的加密密钥对目标数据进行加密处理,以获得密文数据。
具体的,加密密钥构成的密钥表存储在服务器中,只有密钥产生器才能对此表进行增加、修改、删除和更换密钥。在需要对目标数据进行加密的时候,通过随机比特产生器(如噪声二极管振荡器等)或伪随机数产生器生成相应的加密密钥。
本申请实施例中,服务器中还可以存储对目标数据进行加密所需的加密算法,进而服务器根据目标数据的加密密钥,调用对应的加密算法来对目标数据进行加密。
以目标数据为视频码流为例,服务器可以为视频码流设备,则视频码流设备生成视频码流数据后,根据其加密密钥调用对应的加密算法K对视频码流进行加密,表示如下:
C=E(Stream,K)
其中,K表示调用的加密算法,Stream表示视频码流数据,E表示通过加密算法K对视频码流进行加密,C表示加密后的视频码流。
本申请实施例中,为了防止在数据传输过程中数据丢失或者被篡改,还可以增加对目标数据进行完整性校验的过程,那么当需要对目标数据进行完整性包含校验时,服务器可以采用哈希计算方法对目标数据进行哈希计算,并对生成的目标哈希值进行加密后传输至终端设备,以使得终端设备基于加密哈希值进行完整性校验。
具体的,同样以视频码流为例,通过对视频码流进行哈希计算,表示如下:
H=hash(Stream)
其中,H表示视频码流经过哈希计算得到的目标哈希值,Stream表示视频码流数据,hash表征采用的哈希算法。
获得目标哈希值之后,为了保障哈希值的传输安全,同样可以通过加密算法K对目标哈希值进行加密,表示如下:
H’=E(H,K)
其中,H’表示通过加密算法K对目标哈希值进行加密后的密文哈希值。
服务器通过对视频码流进行哈希计算得到目标哈希值以及调用对应的加密算法对其进行加密得到密文哈希值后,则会将C和H’一并发送至终端设备。
本申请实施例中,加密算法K既可以采用AES加密算法,也可以采用SM4算法的加密的方式来进行加密,当然,还可以采用其他可能的算法,本申请实施例对此不进行限制。
步骤S3:服务器基于多个终端设备的身份标识,分别获取多个终端设备各自对应的白盒库文件。
本申请实施例中,数据流请求中除了携带所请求的目标数据之外,还可以携带请求数据的终端设备的身份标识,从而服务器能够基于终端设备的身份标识,来获取该终端设备对应的白盒库文件。其中,白盒库文件是一个文件库,包含多个查找表,每个查找表对应每一轮轮函数迭代处理时的一种操作类型,用于存储每种操作类型进行操作后得到的中间值,如在AES加密算法中,一轮轮函数需要经过四次变换过程,即一轮迭代处理,包括字节代换层、ShiftRows层、Mixcolumn层和密钥加法层,通过每一轮迭代处理的操作类型得到一种查找表。
本申请实施例中,采用动态白盒技术,白盒库文件在生成后不需要进行更新,可以各自在服务器和终端设备中进行存储,当服务器需要为某个终端设备生成白盒密钥,则可以将加密密钥传入相匹配的白盒库文件中可以白盒化操作,生成白盒密钥,同样的,在终端设备侧,终端设备可以可以将白盒密钥传入自身的白盒库文件中实现解密功能。
在一种可能的实施方式中,服务器可以预先为每个终端设备生成白盒库文件,并下发给相应的终端设备,从而在服务器和终端设备中均存储了白盒库文件,为了方便服务器进行查询,服务器可以在生成白盒库文件后,建立终端设备的身份标识与白盒库文件之间的映射关系,那么则可以基于身份标识以及存储的映射关系,查询到终端设备对应的白盒库文件。
在一种可能的实施方式中,若服务器尚未为请求数据的终端设备生成白盒库文件,那么服务器可以基于其身份标识为其生成白盒库文件,并使用生成的白盒库文件用于后续的白盒化操作。
参见图4所示,为服务器为终端设备生成白盒库文件的流程示意图,由于为每个终端设备生成白盒库文件的过程是类似的,因而这里具体以一个终端设备为例进行介绍。
步骤S401:获得多个输入值。
本申请实施例中,所有的输入值为加密密钥对应的密钥生产方法的所有可能输出值,例如将前述通过随机比特器或伪随机数产生器生成的所有可能的加密密钥作为输入值,通过对每个输入值进行后续的操作,来得到每个输入值对应的白盒密钥,形成白盒库文件。后续主要针对一个输入值为例进行介绍。
步骤S402:针对每个输入值,从设定的双射关系库中,随机选取第一双射关系,并采用第一双射关系对该输入值进行编码,得到第一中间值。
本申请实施例中,满足双射函数关系的映射关系称为双射关系,由所有双射关系构成的函数库称为双射关系库,第一双射关系为双射关系库中的任一双射关系,记为双射F,从而采用随机选取的双射F对每个输入值进行外部编码,得到每个输入值对应的第一中间值。
步骤S403:对第一中间值进行至少一轮轮函数的迭代处理,获得目标中间值。
本申请实施例中,每一次迭代包括如下步骤:
步骤S4031:对该第一中间值进行行移位(shiftrows)处理。
具体的,第一中间值可以采用矩阵形式进行表示,针对一个矩阵而言,行移位处理过程为针对第n行移位n个字节,以4*4的矩阵为例,则行移位过程为第0行不变,第1行循环左移1个字节,第2行循环左移两个字节,第3行循环左移3个字节,得到行移位处理后的第二中间值。
步骤S4032:从设定的双射矩阵库中,随机选取目标双射矩阵,并采用目标双射矩阵对第二中间值进行编码,得到第三中间值。
在本申请实施例中,由于选取的矩阵是满秩的,且矩阵的每个列向量线性无关,所以选取的矩阵称为双射矩阵。
步骤S4033:采用目标双射矩阵的逆矩阵对第三中间值进行编码,得到本轮迭代的输出中间值。
具体的,随机选取10个32*32比特的双射矩阵MB和4个8*8比特的双射矩阵mb对行移位处理后得到的第二中间值进行线性编码,得到第三中间值。
在得到第三中间值后,针对该第三中间值,采用目标双射矩阵的逆矩阵对第三中间值进行编码,得到第四中间值,具体的,选取10个32*32比特的双射矩阵MB-和4个8*8比特的双射矩阵mb-对行移位处理后得到的第三中间值进行线性编码,得到第四中间值。其中,双射矩阵MB-和mb-为双射矩阵MB和mb的逆矩阵。
在得到第四中间值后,将该第四中间值重新执行n轮上述操作,得到迭代处理后的目标中间值。
步骤S404:在得到迭代处理后的目标中间值后,从设定的双射关系库中,随机选取第二双射关系,并采用第二双射对目标中间值进行外部编码,获得每个输入值对应的白盒密钥。
具体的,从该双射关系库中,采用随机选取的双射G对目标中间值进行外部编译。
步骤S405:通过多个输入值各自对应的第一中间值、目标中间值和白盒密钥,生成第一白盒库文件。
具体的,上述生成的各个中间值分别存储于各个操作类型相应的查找表中,从而形成第一终端设备对应的第一白盒库文件。在白盒库文件生成后,则可以基于白盒库文件与终端设备的身份标识进行关联,形成映射关系,以便于后续需要使用时方便查找。当然,为了提升白盒库文件的安全性,还可以在形成白盒库文件的过程中,加入身份标识因子,即将身份标识作为其中的一个参数进行输入。
本申请实施例中,通过多种类型的操作来生成白盒密钥,在每种操作时均采用随机选取的方式,使得最终得到的白盒含混度更高,安全性更强。
示例性的,以Chow的白盒AES算法(一种白盒算法)为例,对于同样的一个key,可以看到,在整个白盒生成过程中,需要随机选取128*8比特的双射F、128*8比特的双射G、10个32*32比特的双射矩阵MB和4个8*8比特的双射矩阵mb。外部来看,对于固定的一个key,各个类型的查找表的白盒含混度如下:
TypeⅠ(双射F):(16!)2×2016032≈2546
TypeⅡ(双射矩阵MB和mb):(16!)2×201602≈2117
TypeⅢ(双射矩阵MB-和mb-):(16!)2×201602≈2117
TypeⅣ(双射G):(16!)2×16≈248
因此,对相同的key,其可以产生不同的白盒解密库,且不会降低白盒密钥的安全性。
下面,请继续参见图3。
步骤S4:分别基于白盒库文件对加密密钥进行白盒化操作,获得多个终端设备各自对应的白盒密钥。
本申请实施例中,通过不同终端设备的白盒库文件对加密密钥进行白盒化操作,获得多个终端设备各自对应的白盒密钥。
本申请实施例中,在得到每个终端设备对应的白盒库文件后,通过将加密密钥输入对应的白盒库文件中,将加密密钥与对应的白盒库文件中不同类型的查找表进行混淆,混淆后得到不同终端设备各自对应的白盒密钥。
在一种可能的实施方式中,对于每个终端设备来请求目标数据时,服务器还可以根据当前的加密密钥和设备特征因子结合生成不同的白盒密钥。
步骤S5:将密文数据以及多个终端设备各自的白盒密钥,分别发送给多个终端设备,各个终端设备接收密文数据和自身对应的白盒密钥。
参见图3所示,将密文数据和终端设备1的白盒密钥发送给终端设备1,将密文数据和终端设备2的白盒密钥发送给终端设备2,以此类推。
本申请实施例中,服务器将加密后的密文数据以及生成的多个设备各自的白盒密钥发送给多个对应的终端设备后,终端设备对服务器下发的密文数据与白盒密钥进行存储。
具体的,以目标数据为视频码流数据为例,服务器通过加密密钥加密后的密文视频码流数据以及生成的多个终端设备各自对应的白盒密钥发送给对应的终端设备,同时,当需要对该视频码流数据进行完整性校验时,服务器对视频码流进行哈希计算,获得视频码流的目标哈希值,服务器根据加密密钥对得到的视频码流的目标哈希值进行加密处理,得到加密后的密文哈希值。
在终端设备需要进行视频播放时,终端设备根据白盒密钥调用对应的白盒解密算法(即终端设备自身存储的白盒库文件)对加密的视频码流数据进行解密,表示如下:
Stream=D(C,WIDi)
其中,WIDi表示第IDi个终端设备的白盒密钥,D表示调用WIDi对应的白盒解密算法。
将密文视频码流解密得到明文视频码流后,同时,当需要对该视频码流数据进行完整性校验时,终端设备同样通过对应的白盒解密算法对密文哈希值进行解密,表示如下:
H”=D(H’,WIDi)
其中,H’表示密文哈希值,H”表示对H’通过对应的白盒解密算法得到的解密后的目标哈希值。
同时,终端设备通过对解密得到的明文视频码流采用哈希算法进行哈希计算,在此得到一个哈希值,进而判断自身计算得到的哈希值和与解密得到的目标哈希值是否相等来判断视频码流数据的来源是否可靠且数据无篡改。
本申请实施例中,在服务器接收多个终端设备的数据流请求之前,首先需进行服务器与终端设备间的认证。请参见图5,为本申请实施例提供的终端设备认证过程的流程示意图。
步骤501:终端设备向服务器发送认证请求。
具体的,终端设备认证的过程在于判断终端设备是否具备接入的资格。
在一种可能的实施方式中,可以通过终端设备是否正确登录服务器来校验是否允许终端设备进行接入,那么,终端设备请求数据之前,需要通过安全的方式登录服务器,既可以通过人脸、指纹等生物信息,也可以通过密码来登录服务器,相应的,服务器可以接收到多个终端设备发送的认证请求,也就是携带登录信息的登录请求。
步骤502:服务器响应于认证请求,对接入的终端设备进行认证。
具体的,每个终端设备的认证请求携带着其相应的身份标识和身份校验内容(例如上述的生物信息或者登录密码等),基于各个终端设备各自对应的身份标识与身份校验内容,服务器对这些终端设备分别进行身份信息验证,若验证通过的话,则同意与终端设备建立连接,若验证未通过的话,则拒绝终端设备的接入。
步骤503:服务器分别向各个终端设备返回认证结果。
具体的,服务器向通过认证通过的终端设备返回认证结果,认证完成后,与终端设备建立连接,并接收终端设备的白盒库文件更新请求。
步骤504:终端设备向服务器发送文件更新请求。
以第一终端设备为例,当第一终端设备通过身份认证后,则第一终端设备可以读取自身存储的白盒库文件的文件标识,若自身已存储白盒库文件,则可以读取得到文件标识,例如读取到文件标识W0,同时获取第一终端设备自身的身份标识F1,例如设备序列号、中央处理器标识(central processing unit identity,CPUID)、物理地址(Media AccessControl Address,MAC)等信息,将W0和F1携带于文件更新请求中发送到服务器。
若自身未存储白盒库文件,则无法读取得到文件标识,若无法读取到则获取第一终端设备自身的身份标识F1,并将F1携带于文件更新请求中发送到服务器。
步骤505:服务器确定文件更新请求是否携带文件标识。
步骤506:若服务器确定文件更新请求未携带文件标识,则根据终端设备的身份标识生成对应的白盒库文件,并将生成的白盒库文件发送给终端设备。
以上述第一终端设备为例,若第一终端设备的文件更新请求未携带文件标识,则表明第一终端设备并未存储白盒库文件,那么服务器则需要根据第一终端设备的第一身份标识F1生成对应的第一白盒库文件,并将第一白盒库文件发送给第一终端设备进行存储。
步骤507:若服务器确定文件更新请求携带文件标识,且根据文件标识确定终端设备已存储的白盒库文件需要更新时,将更新后的白盒库文件发送给终端设备。
以上述第一终端设备为例,若接收到文件标识W0,但服务器中存储的第一终端设备的文件标识为W1,那么需要对第一终端设备的白盒库文件进行更新,则服务器将文件标识W1对应的白盒库文件下发给第一终端设备,并且将新的文件标识W1与第一终端设备的身份标识F1进行绑定。若同时需要生成白盒密钥,则根据文件标识为W1的白盒库文件对加密密钥进行白盒化操作,并将白盒密钥和文件标识为W1的白盒库文件下发给第一终端设备。
综上所述,本申请实施例中,通过在终端设备中引入动态白盒库文件,在需要向多个数据接收端传输同一目标数据时,可以利用加密密钥对目标数据进行加密生成密文数据,同时对加密密钥进行白盒化操作生成白盒密钥,然后将加密后的密文数据通过多路传输到数据接收端,同时白盒密钥也通过安全的方式传输给对应的数据接收端,实现数据传输的安全高效保护。同时,在向多个数据接收端传输过程中,只需将目标数据加密一次,通过白盒化操作生成不同的白盒密钥发送给对应的数据接收端,解决了需要对各个数据端的数据分别加密的问题,从而节省了节点资源,在数据传输的设备多的情况下,也不会影响其他业务的正常运行。
本申请实施例利用白盒库文件中相同加密密钥可生成多个不同的白盒密钥特性,可以仅对一份数据进行加密,而在不同客户端进行解密操作,从而保障加密效率,且不泄露加密密钥,采用白盒密码算法,在不增加额外算法的情况下,保障传输数据的完整性和不可否认性;此外,采用动态白盒技术并与设备标识绑定,保证传输数据的解密白盒库文件可更新,同时,在生成解密白盒库文件时会绑定设备标识,因此可以限制解密白盒库文件共享给其他非授权的终端设备。
值得说明的是,本申请实施例通过软件实现的方式,相对于安全芯片或引入其他三方系统,宜扩展,且适用性更广,并且,通过将加密视频码流的密钥进行白盒化,保证智能IoT设备无需再进行额外的加密操作对白盒密钥进行保护,减少了设备的计算和存储开销。
请参见图6,基于同一发明构思,本申请实施例还提供了一种数据传输装置60,应用于服务器,该装置包括:
接收单元601,用于接收多个终端设备的数据流请求,数据流请求用于请求目标数据;
数据加密单元602,用于响应于数据流请求,基于目标数据的加密密钥对目标数据进行加密处理,获得密文数据;
白盒密钥生成单元603,用于基于多个终端设备的身份标识,获取多个终端设备各自对应的白盒库文件,并分别基于白盒库文件对加密密钥进行白盒化操作,获得多个终端设备各自对应的白盒密钥;
发送单元604,用于将密文数据以及多个终端设备各自的白盒密钥,分别发送给多个终端设备。
可选的,该装置还包括白盒文件生成单元605,用于:
根据第一终端设备的第一身份标识,为第一终端设备生成第一白盒库文件;第一终端设备为多个终端设备中的任一终端设备;
建立第一身份标识与第一白盒库文件之间的映射关系;并,
将第一白盒库文件发送给第一终端设备。
可选的,白盒文件生成单元605,具体用于:
获得多个输入值,输入值为加密密钥对应的密钥生产方法的输出值;
针对多个输入值,分别执行如下操作:
针对一个输入值,从设定的双射关系库中,随机选取第一双射关系,并采用第一双射关系对一个输入值进行编码,得到第一中间值;
对第一中间值进行至少一轮轮函数的迭代处理,获得目标中间值;
从双射关系库中,随机选取第二双射关系,并采用第二双射关系对目标中间值进行编码,获得一个输入值对应的白盒密钥;
基于多个输入值对应的第一中间值、目标中间值和白盒密钥,生成第一白盒库文件。
可选的,每一轮迭代处理包括如下操作:
对输入的初始中间值进行行移位处理,得到第二中间值;其中,初始中间值为第一中间值或者上一轮迭代处理的输出中间值;
从设定的双射矩阵库中,随机选取目标双射矩阵,并采用目标双射矩阵对第二中间值进行编码,得到第三中间值;
采用目标双射矩阵的逆矩阵对第三中间值进行编码,得到本轮迭代的输出中间值。
可选的,该装置还包括白盒文件更新单元606,用于:
接收第一终端设备的文件更新请求;
若更新请求未携带文件标识,则根据第一终端设备的第一身份标识生成对应的第一白盒库文件,并将第一白盒库文件发送给第一终端设备;
若更新请求携带文件标识,并根据文件标识确定第一终端设备已存储的第一白盒库文件需要更新时,将更新后的第二白盒库文件发送给第一终端设备。
可选的,白盒密钥生成单元603,具体用于:
针对多个终端设备,分别执行如下操作:
针对一个终端设备,获取终端设备的白盒库文件,白盒库文件包括多个查找表,每个查找表对应每一轮轮函数迭代处理时的一种操作类型;
基于设定的混淆规则,将加密密钥与不同查找表进行混淆处理,获得相应的白盒密钥。
可选的,该装置还包括认证单元607;
接收单元601,还用于接收多个终端设备发送的认证请求,每个认证请求携带相应终端设备的身份信息;
认证单元607,用于基于多个终端设备各自对应的身份信息,分别对多个终端设备进行身份认证;以及,若身份认证通过,则与已认证通过的终端设备建立连接。
可选的,该装置还包括完整性校验单元608,用于:
对目标数据进行哈希计算,获取目标数据的目标哈希值;
基于加密密钥对目标哈希值进行加密处理,获得密文哈希值;
则发送单元604,还用于将密文哈希值分别发送多个终端设备,使得各个终端设备根据自身接收到的白盒密钥分别对密文数据和密文哈希值进行解密后,基于解密得到的明文数据和哈希值校验接收到的目标数据的完整性。
请参见图7,基于同一发明构思,本申请实施例还提供了一种数据传输装置70,应用于终端设备,装置包括:
发送单元701,用于向服务器发送数据流请求,数据流请求用于请求目标数据;
接收单元702,用于接收服务器响应于数据流请求返回的密文数据和白盒密钥,密文数据为服务器采用加密密钥对目标数据进行加密后得到的,白盒密钥为服务器采用终端设备的白盒库文件对加密密钥进行白盒化操作得到的;
解密单元703,用于基于自身存储的白盒库文件,采用白盒密钥对密文数据进行解密,获得目标数据。
通过上述装置,可以实现在终端设备节点中引入动态白盒密码库,在多路传输数据时,服务器节点对数据的加密密钥进行白盒化操作,然后将加密后的密文数据多路传输到终端设备节点,同时白盒密钥也通过安全的方式传输给对应的设备终端节点,实现数据传输的安全高效保护。同时,将动态白盒密码库与数据存储进行结合,保证了数据在设备节点中存储的安全性。
该装置可以用于执行本申请各实施例中所示的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考前述实施例的描述,不多赘述。
请参见图8,基于同一技术构思,本申请实施例还提供了一种计算机设备80,该计算机设备80可以为终端设备或服务器,该计算机设备80可以包括存储器801和处理器802。
所述存储器801,用于存储处理器802执行的计算机程序。存储器801可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。处理器802,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。本申请实施例中不限定上述存储器801和处理器802之间的具体连接介质。本申请实施例在图8中以存储器801和处理器802之间通过总线803连接,总线803在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线803可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等;被设置为实现所述存储器801以及至少一个处理器802等之间的连接通信。可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器801可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器801也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器801是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器801可以是上述存储器的组合。
处理器802,用于调用所述存储器801中存储的计算机程序时执行本申请各实施例中设备所执行的方法。
计算机设备还可以包括通信接口,用于与其他设备之间的通信,包括网络接口和用户接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。所述用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
图8仅示出了具有部件的计算机设备,本领域技术人员可以理解的是,图8示出的结构并不构成对所述计算机设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述计算机设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
可选地,该计算机设备还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行本申请各实施例中设备所执行的方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (14)

1.一种数据传输方法,其特征在于,应用于服务器,所述方法包括:
接收多个终端设备的数据流请求,所述数据流请求用于请求目标数据;
响应于所述数据流请求,基于所述目标数据的加密密钥对所述目标数据进行加密处理,获得密文数据;
基于所述多个终端设备的身份标识,获取所述多个终端设备各自对应的白盒库文件,并分别基于白盒库文件对所述加密密钥进行白盒化操作,获得所述多个终端设备各自对应的白盒密钥;
将所述密文数据以及所述多个终端设备各自的白盒密钥,分别发送给所述多个终端设备。
2.如权利要求1所述的方法,其特征在于,在基于所述多个终端设备的身份标识,获取所述多个终端设备各自对应的白盒库文件之前,所述方法还包括:
根据第一终端设备的第一身份标识,为所述第一终端设备生成第一白盒库文件;所述第一终端设备为所述多个终端设备中的任一终端设备;
建立所述第一身份标识与所述第一白盒库文件之间的映射关系;并,
将所述第一白盒库文件发送给所述第一终端设备。
3.如权利要求2所述的方法,其特征在于,所述根据第一终端设备的第一身份标识,为所述第一终端设备生成第一白盒库文件,包括:
获得多个输入值,所述输入值为所述加密密钥对应的密钥生产方法的输出值;
针对所述多个输入值,分别执行如下操作:
针对一个输入值,从设定的双射关系库中,随机选取第一双射关系,并采用所述第一双射关系对所述一个输入值进行编码,得到第一中间值;
对所述第一中间值进行至少一轮轮函数的迭代处理,获得目标中间值;
从所述双射关系库中,随机选取第二双射关系,并采用所述第二双射关系对所述目标中间值进行编码,获得一个输入值对应的白盒密钥;
基于所述多个输入值对应的所述第一中间值、所述目标中间值和白盒密钥,生成所述第一白盒库文件。
4.如权利要求3所述的方法,其特征在于,每一轮迭代处理包括如下操作:
对输入的初始中间值进行行移位处理,得到第二中间值;其中,所述初始中间值为所述第一中间值或者上一轮迭代处理的输出中间值;
从设定的双射矩阵库中,随机选取目标双射矩阵,并采用所述目标双射矩阵对所述第二中间值进行编码,得到第三中间值;
采用所述目标双射矩阵的逆矩阵对所述第三中间值进行编码,得到本轮迭代的输出中间值。
5.如权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述第一终端设备的文件更新请求;
若所述更新请求未携带文件标识,则根据所述第一终端设备的第一身份标识生成对应的第一白盒库文件,并将所述第一白盒库文件发送给所述第一终端设备;
若所述更新请求携带文件标识,并根据文件标识确定所述第一终端设备已存储的第一白盒库文件需要更新时,将更新后的第二白盒库文件发送给所述第一终端设备。
6.如权利要求1所述的方法,其特征在于,分别基于白盒库文件对所述加密密钥进行白盒化操作,获得所述多个终端设备各自对应的白盒密钥,包括:
针对所述多个终端设备,分别执行如下操作:
针对一个终端设备,获取所述终端设备的白盒库文件,所述白盒库文件包括多个查找表,每个查找表对应每一轮轮函数迭代处理时的一种操作类型;
基于设定的混淆规则,将所述加密密钥与所述不同查找表进行混淆处理,获得相应的白盒密钥。
7.如权利要求1所述的方法,其特征在于,在接收多个终端设备的数据流请求之前,所述方法还包括:
接收所述多个终端设备发送的认证请求,每个认证请求携带所述相应终端设备的身份信息;
基于所述多个终端设备各自对应的身份信息,分别对所述多个终端设备进行身份认证;
若身份认证通过,则与已认证通过的终端设备建立连接。
8.如权利要求1~7任一所述的方法,其特征在于,所述方法还包括:
对所述目标数据进行哈希计算,获取所述目标数据的目标哈希值;
基于所述加密密钥对所述目标哈希值进行加密处理,获得密文哈希值;
将所述密文哈希值分别发送所述多个终端设备,使得各个终端设备根据自身接收到的白盒密钥分别对所述密文数据和所述密文哈希值进行解密后,基于解密得到的明文数据和哈希值校验接收到的目标数据的完整性。
9.一种数据传输方法,其特征在于,应用于终端设备,所述方法包括:
向服务器发送数据流请求,所述数据流请求用于请求目标数据;
接收所述服务器响应于所述数据流请求返回的密文数据和白盒密钥,所述密文数据为所述服务器采用加密密钥对所述目标数据进行加密后得到的,所述白盒密钥为所述服务器采用所述终端设备的白盒库文件对所述加密密钥进行白盒化操作得到的;
基于自身存储的所述白盒库文件,采用所述白盒密钥对所述密文数据进行解密,获得所述目标数据。
10.一种数据传输装置,其特征在于,应用于服务器,所述装置包括:
接收单元,用于接收多个终端设备的数据流请求,所述数据流请求用于请求目标数据;
数据加密单元,用于响应于所述数据流请求,基于所述目标数据的加密密钥对所述目标数据进行加密处理,获得密文数据;
白盒密钥生成单元,用于基于所述多个终端设备的身份标识,获取所述多个终端设备各自对应的白盒库文件,并分别基于白盒库文件对所述加密密钥进行白盒化操作,获得所述多个终端设备各自对应的白盒密钥;
发送单元,用于将所述密文数据以及所述多个终端设备各自的白盒密钥,分别发送给所述多个终端设备。
11.一种数据传输装置,其特征在于,应用于终端设备,所述方法包括:
发送单元,用于向服务器发送数据流请求,所述数据流请求用于请求目标数据;
接收单元,用于接收所述服务器响应于所述数据流请求返回的密文数据和白盒密钥,所述密文数据为所述服务器采用加密密钥对所述目标数据进行加密后得到的,所述白盒密钥为所述服务器采用所述终端设备的白盒库文件对所述加密密钥进行白盒化操作得到的;
解密单元,用于基于自身存储的所述白盒库文件,采用所述白盒密钥对所述密文数据进行解密,获得所述目标数据。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现权利要求1~8或者9任一项所述方法的步骤。
13.一种计算机存储介质,其上存储有计算机程序指令,其特征在于,
该计算机程序指令被处理器执行时实现权利要求1~8任一项所述方法的步骤。
14.一种计算机程序产品,包括计算机程序指令,其特征在于,
该计算机程序指令被处理器执行时实现权利要求1~8或者9任一项所述方法的步骤。
CN202210400065.XA 2022-04-15 2022-04-15 数据传输方法、装置、设备及计算机存储介质 Pending CN114844688A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210400065.XA CN114844688A (zh) 2022-04-15 2022-04-15 数据传输方法、装置、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210400065.XA CN114844688A (zh) 2022-04-15 2022-04-15 数据传输方法、装置、设备及计算机存储介质

Publications (1)

Publication Number Publication Date
CN114844688A true CN114844688A (zh) 2022-08-02

Family

ID=82564859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210400065.XA Pending CN114844688A (zh) 2022-04-15 2022-04-15 数据传输方法、装置、设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN114844688A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115396103A (zh) * 2022-10-26 2022-11-25 杭州海康威视数字技术股份有限公司 基于白盒密钥的ai数据共享方法、系统和装置
CN116543488A (zh) * 2023-07-06 2023-08-04 鼎铉商用密码测评技术(深圳)有限公司 门禁解锁方法、门禁系统以及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483387A (zh) * 2016-06-08 2017-12-15 北京数码视讯软件技术发展有限公司 一种安全控制方法及装置
CN109688584A (zh) * 2018-12-27 2019-04-26 绍兴心越科技有限公司 适用于资源受限网络节点的数据安全存储系统及方法
CN113300999A (zh) * 2020-02-21 2021-08-24 北京沃东天骏信息技术有限公司 信息处理方法、电子设备和可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483387A (zh) * 2016-06-08 2017-12-15 北京数码视讯软件技术发展有限公司 一种安全控制方法及装置
CN109688584A (zh) * 2018-12-27 2019-04-26 绍兴心越科技有限公司 适用于资源受限网络节点的数据安全存储系统及方法
CN113300999A (zh) * 2020-02-21 2021-08-24 北京沃东天骏信息技术有限公司 信息处理方法、电子设备和可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115396103A (zh) * 2022-10-26 2022-11-25 杭州海康威视数字技术股份有限公司 基于白盒密钥的ai数据共享方法、系统和装置
CN116543488A (zh) * 2023-07-06 2023-08-04 鼎铉商用密码测评技术(深圳)有限公司 门禁解锁方法、门禁系统以及可读存储介质

Similar Documents

Publication Publication Date Title
US10142107B2 (en) Token binding using trust module protected keys
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
CN112131316B (zh) 应用于区块链系统的数据处理方法及装置
CN111737366B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
US8984295B2 (en) Secure access to electronic devices
CN111565107B (zh) 基于云服务平台的密钥处理方法、装置和计算机设备
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
CN110535641B (zh) 密钥管理方法和装置、计算机设备和存储介质
CN111294203B (zh) 信息传输方法
CN114844688A (zh) 数据传输方法、装置、设备及计算机存储介质
CN110781140B (zh) 区块链中数据签名的方法、装置、计算机设备及存储介质
CN111131336B (zh) 多方授权场景下的资源访问方法、装置、设备及存储介质
JP2021511743A (ja) Iotサービスを実施するための方法、アプリケーションサーバ、iot装置および媒体
CN112073467A (zh) 基于区块链的数据传输方法、装置、存储介质及电子设备
CN111400728A (zh) 应用于区块链的数据加密解密方法及装置
CN111414640B (zh) 秘钥访问控制方法和装置
CN113422679A (zh) 密钥生成方法、装置和系统、加密方法、电子设备以及计算机可读存储介质
CN111241492A (zh) 一种产品多租户安全授信方法、系统及电子设备
CN114826702A (zh) 数据库访问密码加密方法、装置和计算机设备
CN114553557B (zh) 密钥调用方法、装置、计算机设备和存储介质
CN115766244A (zh) 车联网信息加密方法、装置、计算机设备和存储介质
KR101812311B1 (ko) 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법
CN116318698A (zh) 数据处理方法、装置及系统
CN116095671B (zh) 一种基于元宇宙的资源共享方法及其相关设备
CN116561820B (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