CN114302178A - 形象模型文件传输方法及装置 - Google Patents
形象模型文件传输方法及装置 Download PDFInfo
- Publication number
- CN114302178A CN114302178A CN202111615417.5A CN202111615417A CN114302178A CN 114302178 A CN114302178 A CN 114302178A CN 202111615417 A CN202111615417 A CN 202111615417A CN 114302178 A CN114302178 A CN 114302178A
- Authority
- CN
- China
- Prior art keywords
- anchor
- file
- image model
- client
- image
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
-
- 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
- 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/0825—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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/26613—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8545—Content authoring for generating interactive applications
Abstract
本申请提供形象模型文件传输方法及装置,其中形象模型文件传输方法包括:接收第一客户端发送的第一主播的形象模型文件;获取目标密钥,基于目标密钥对形象模型文件进行加密处理,得到形象模型加密文件;若接收到针对第一主播与第二主播的互动请求,则基于互动请求携带的第二主播的主播标识,将形象模型加密文件发送至第二客户端;在接收到第二客户端发送的解密请求的情况下,将目标密钥发送至第二客户端,其中,目标密钥用于第二客户端对形象模型加密文件进行解密,获得形象模型文件。有效降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性,应用简单,降低了对各客户端的改造成本。
Description
技术领域
本申请涉及计算机技术领域,特别涉及形象模型文件传输方法。本申请同时涉及形象模型文件传输装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着计算机技术的不断发展,网络社交平台上的直播逐渐成为受欢迎的实时互动形式。在直播领域,越来越多的主播选择以虚拟形象进行直播,主播以虚拟形象在直播业内成为一种新颖的内容形式。直播过程中,主播以虚拟形象之间进行互动,不论是对直播内容,还是对主播的用户关注度等,都有很强的助力和正向效果。
然而,在主播互动连接成功后,需要下载互动对象的虚拟形象资源,也即多个主播需要交换各自的虚拟形象,存在一定的风险。也即虚拟形象本地化,最大的缺陷是主播的虚拟形象安全性低,容易外泄,导致被其他用户盗用,有损主播的权益。
发明内容
有鉴于此,本申请实施例提供了形象模型文件传输方法。本申请同时涉及形象模型文件传输装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的主播的虚拟形象安全性低的技术缺陷。
根据本申请实施例的第一方面,提供了一种形象模型文件传输方法,应用于服务端,包括:
接收第一客户端发送的第一主播的形象模型文件;
获取目标密钥,基于所述目标密钥对所述形象模型文件进行加密处理,得到形象模型加密文件;
若接收到针对所述第一主播与第二主播的互动请求,则基于所述互动请求携带的所述第二主播的主播标识,将所述形象模型加密文件发送至第二客户端;
在接收到所述第二客户端发送的解密请求的情况下,将所述目标密钥发送至所述第二客户端,其中,所述目标密钥用于所述第二客户端对所述形象模型加密文件进行解密,获得所述形象模型文件。
根据本申请实施例的第二方面,提供了一种形象模型文件传输方法,应用于第二客户端,包括:
接收服务端发送的形象模型加密文件,其中,所述形象模型加密文件为所述服务端基于目标密钥对所述第一主播的形象模型文件进行加密处理得到;
根据所述形象模型加密文件生成解密请求,将所述解密请求发送至所述服务端;
根据所述服务端基于所述解密请求发送的所述目标密钥,对所述形象模型加密文件进行解密,获得所述形象模型文件。
根据本申请实施例的第三方面,提供了一种形象模型文件传输装置,应用于服务端,包括:
第一接收模块,被配置为接收第一客户端发送的第一主播的形象模型文件;
加密模块,被配置为获取目标密钥,基于所述目标密钥对所述形象模型文件进行加密处理,得到形象模型加密文件;
第一发送模块,被配置为若接收到针对所述第一主播与第二主播的互动请求,则基于所述互动请求携带的所述第二主播的主播标识,将所述形象模型加密文件发送至第二客户端;
第二发送模块,被配置为在接收到所述第二客户端发送的解密请求的情况下,将所述目标密钥发送至所述第二客户端,其中,所述目标密钥用于所述第二客户端对所述形象模型加密文件进行解密,获得所述形象模型文件。
根据本申请实施例的第四方面,提供了一种形象模型文件传输装置,应用于第二客户端,包括:
第二接收模块,被配置为接收服务端发送的形象模型加密文件,其中,所述形象模型加密文件为所述服务端基于目标密钥对所述第一主播的形象模型文件进行加密处理得到;
生成模块,被配置为根据所述形象模型加密文件生成解密请求,将所述解密请求发送至所述服务端;
解密模块,被配置为根据所述服务端基于所述解密请求发送的所述目标密钥,对所述形象模型加密文件进行解密,获得所述形象模型文件。
根据本申请实施例的第五方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述形象模型文件传输方法的步骤。
根据本申请实施例的第六方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述形象模型文件传输方法的步骤。
本申请提供的形象模型文件传输方法,首先接收第一客户端发送的第一主播的形象模型文件;然后获取目标密钥,基于所述目标密钥对所述形象模型文件进行加密处理,得到形象模型加密文件;若接收到针对所述第一主播与第二主播的互动请求,则基于所述互动请求携带的所述第二主播的主播标识,将所述形象模型加密文件发送至第二客户端;在接收到所述第二客户端发送的解密请求的情况下,将所述目标密钥发送至所述第二客户端,其中,所述目标密钥用于所述第二客户端对所述形象模型加密文件进行解密,获得所述形象模型文件。通过对形象模型文件进行加密处理,从而使内存中存储的形象模型文件都是经过加密的,保障了主播的形象模型文件在内存里面不被获取到、且在第二客户端使用中安全,有效降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而服务端在接收到互动请求之前,就将形象模型文件加密完成,有利于在接收到互动请求之后,可以及时将形象模型文件发送给第二客户端,而不是在接收到互动请求之后再进行加密,如此,可以提高第二客户端的响应效率,能够使直播达到及时响应的效果;且在接收到第一主播的形象模型文件就进行加密,而不是在接收到互动请求之后再进行加密,可以为加密过程提供充足的时间,进而选择加密程度较高的加密算法进行加密,提高对形象模型文件的破译难度,从而进一步降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而将形象模型加密文件与目标密钥分开发送,只有第二客户端发送解密请求时,服务端才发送目标密钥,实现了动态管理目标密钥,进一步增加了形象模型文件的破译难度。此外,本申请提供的方法应用简单,降低了对各客户端的改造成本。
附图说明
图1是本申请一实施例提供的一种形象模型文件传输方法的流程图;
图2是本申请一实施例提供的一种形象模型文件传输方法中,上传形象模型文件的方法的流程图;
图3是本申请一实施例提供的另一种形象模型文件传输方法中,上传形象模型文件的方法的流程图;
图4是本申请一实施例提供的一种形象模型文件传输方法中,加密形象模型文件的方法的流程图;
图5是本申请一实施例提供的一种形象模型文件传输方法中,加密图片数据的效果示意图;
图6是本申请一实施例提供的另一种形象模型文件传输方法的流程图;
图7是本申请一实施例提供的一种形象模型文件传输方法中,下载形象模型文件的方法的流程图;
图8是本申请一实施例提供的另一种形象模型文件传输方法中,下载形象模型文件的方法的流程图;
图9是本申请一实施例提供的一种应用于主播连麦的形象模型文件传输方法的处理流程图;
图10是本申请一实施例提供的一种形象模型文件传输装置的结构示意图;
图11是本申请一实施例提供的另一种形象模型文件传输装置的结构示意图;
图12是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
Live2D:是一种应用于电子游戏的绘图渲染技术。
Live2D文件:即以Live2D渲染技术的动画模型文件。
椭圆曲线迪菲-赫尔曼秘钥交换(ECDH,Elliptic Curve Diffie-Hellman keyExchange):用来在一个不安全的通道中建立起安全的共有加密资料的密钥交换协议。
高级加密标准(AES,Advanced Encryption Standard)一种对称加密算法。
采用计数器模式的高级加密标准,也即AES-GCM,其中GCM(Galois/Counter Mode)指的是该对称加密采用计数器(Counter)模式,并带有千兆网媒体访问控制(GMAC,Gigabitnetwork media access control)消息认证码和计数器模式(CTR,Counter)的特点,同时确保数据的保密性、完整性及真实性。并可以提供附加消息的完整性校验。
RSA:一种使用不同的加密密钥与解密密钥的非对称加密算法。
IP形象:互联网IP形象(Intellectual Property),意为知识产权,主要由著作权、专利权、商标权等三个部分组成
硬件解码:即通过GPU进行解码,对CPU性能消耗很低。
透明度:表示一张图片的透明度(A)的色彩。
ARGB值:表示一张图片的透明度(A,Alpha)、红色(R,Red)、绿色(G,Green)和蓝色(B,Blue)的4个数值。
RGB值:表示一张图片的红色(R,Red)、绿色(G,Green)和蓝色(B,Blue)的3个数值。
FFmpeg:开源软件,可以运行音频和视频多种格式的录影、转换、合成等等功能。FFmpeg的名称来自MPEG(Moving Picture Experts Group,动态图像专家组)视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
纹理采样:即从图片中采集一个像素颜色的操作。
然后,对本申请提供的形象模型文件传输方法进行说明。
目前主播以虚拟形象的方式直播,在竞争白热化的直播业内是一种新颖的内容形式。在直播过程中,多主播间的联动对内容会带来1+1>2的正向效果。不论是对内容生态还是主播的营收能力等,都有很强的助力。在虚拟业务中,好友之间与虚拟团体(或工会)间,连麦、PK等联动方式深受主播青睐。但目前因为虚拟形象隐私(大多需要下载虚拟形象)、技术实现难度、成本问题,被掌握在工会手里,并不能很好的将连麦能力赋能给更多的头部和中长尾主播。
主播之间的互动在技术上主要采用虚拟形象本地化方案:主播在互动连接成功后下载互动对象的虚拟形象资源、面部捕捉等,数据通过信令传输链路进行同步,可以节约视频推流的流量,对清晰度可保证。后期扩展性比较强兼容性好。然而上述方法,在主播互动的最开始阶段,两主播需要交换各自的形象模型文件,存在一定的风险,例如主播w可以从内存中提取并获取主播u的形象模型文件,这对主播u来说是一种损失,也即容易使主播的IP形象外泄,容易导致被不法用户盗用并损害IP形象所有人的权益。
因此,本申请提供的形象模型文件传输方法,首先接收第一客户端发送的第一主播的形象模型文件;然后获取目标密钥,基于所述目标密钥对所述形象模型文件进行加密处理,得到形象模型加密文件;若接收到针对所述第一主播与第二主播的互动请求,则基于所述互动请求携带的所述第二主播的主播标识,将所述形象模型加密文件发送至第二客户端;在接收到所述第二客户端发送的解密请求的情况下,将所述目标密钥发送至所述第二客户端,其中,所述目标密钥用于所述第二客户端对所述形象模型加密文件进行解密,获得所述形象模型文件。通过对形象模型文件进行加密处理,从而使内存中存储的形象模型文件都是经过加密的,保障了主播的形象模型文件在内存里面不被获取到、且在第二客户端使用中安全,有效降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而服务端在接收到互动请求之前,就将形象模型文件加密完成,有利于在接收到互动请求之后,可以及时将形象模型文件发送给第二客户端,而不是在接收到互动请求之后再进行加密,如此,可以提高第二客户端的响应效率,能够使直播达到及时响应的效果;且在接收到第一主播的形象模型文件就进行加密,而不是在接收到互动请求之后再进行加密,可以为加密过程提供充足的时间,进而选择加密程度较高的加密算法进行加密,提高对形象模型文件的破译难度,从而进一步降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而将形象模型加密文件与目标密钥分开发送,只有第二客户端发送解密请求时,服务端才发送目标密钥,实现了动态管理目标密钥,进一步增加了形象模型文件的破译难度。此外,本申请提供的方法应用简单,降低了对各客户端的改造成本。
在本申请中,提供了形象模型文件传输方法,本申请同时涉及形象模型文件传输装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种形象模型文件传输方法的流程图,应用服务端,具体包括以下步骤:
步骤102:接收第一客户端发送的第一主播的形象模型文件。
具体的,主播,也即网络主播,是指在互联网节目或活动中,负责参与一系列策划、编辑、录制、制作、观众互动等工作,并由本人担当主持工作的人;第一主播是指任意一个主播,优选地,第一主播是指以虚拟的形象或者非真实人物的形象进行直播的任意一个主播;第一客户端是指第一主播所在的客户端,可以是任意一种智能设备,例如手机、平板电脑、智能计算机等;形象模型文件是指构成第一主播虚拟形象所使用的图片、模型等资源。
实际应用中,当某个主播通过该主播所在的客户端,在上传界面,选择自己需要上传的用于构建该主播形象的形象模型文件,在点击“确认”或者任意表示确认上传的按键之后,客户端将该主播的形象模型文件发送给服务端,即第一客户端将第一主播的形象模型文件发送给服务端,也即服务端接收到第一客户端发送的第一主播的形象模型文件。
例如,某游戏主播通过直播平台的上传界面,从本地数据库中选择了该游戏主播想要展示的虚拟的形象所对应的形象模型文件MX,然后添加至上传界面并点击“确认”上传的按键,该直播平台将形象模型文件MX上传至服务端。
需要说明的是,形象模型文件中可以包含形象图片和形象模型,该形象模型可以是二维的、还可以是三维的,本申请对此不作限定。
步骤104:获取目标密钥,基于所述目标密钥对所述形象模型文件进行加密处理,得到形象模型加密文件。
在接收第一客户端发送的第一主播的形象模型文件的基础上,进一步地,获取目标密钥,基于目标密钥对形象模型文件进行加密处理,得到形象模型加密文件。
具体的,密钥是一种参数,是在将明文转换为密文或将密文转换为明文的算法中输入的参数;目标密钥是指针对形象模型文件的密钥;形象模型加密文件是指加密后的形象模型文件;加密处理是指以某种特殊的算法改变原有的信息数据的过程。
实际应用中,服务端可以获取目标密钥,然后基于目标密钥,对形象模型文件进行处理,也即基于目标密钥对形象模型文件进行加密处理,得到形象图片对应的形象加密图片。
此外,为了提高形象模型文件在传输过程中的传输速度,减少传输时长,可以对形象模型文件的大小进行压缩处理,也即在所述基于所述目标密钥对所述形象模型文件进行加密处理,得到形象模型加密文件之前,还包括:
将所述形象模型文件中的图片数据进行缩放处理,得到更新的形象模型文件;
相应地,所述基于所述目标密钥对将所述形象模型文件进行加密处理,得到形象模型加密文件,包括:
基于所述目标密钥对所述更新的形象模型文件进行加密处理,得到形象模型加密文件。
具体的,缩放处理是指通过改变图片数据的一些格式,减少图片数据的数据量的过程。
实际应用中,可以根据预设的缩放规则,对形象模型文件中的图片数据进行缩放处理,进而减少形象模型文件的包体大小,得到更新后的形象模型文件,然后基于目标密钥对更新后的形象模型文件进行加密处理,从而得到形象模型加密文件。
例如,形象模型文件中的图片数据大小为3M,则对图片数据进行压缩处理,得到100k的图片数据,则100k的图片数据与形象模型文件中的非图片数据构成了更新的形象模型文件。然后,基于目标密钥对1O0k的图片数据对应的形象模型文件进行加密处理,也即对更新的形象模型文件进行加密处理,得到形象模型加密文件。
在本申请一个或多个可选的实施例中,为了提高第二客户端对形象模型文件的加载速度,可以根据常用的一种或多种应用场景对图片数据进行缩放处理,以根据第二客户端的应用场景不同发送不同缩放处理后的形象模型文件。也即所述将所述形象模型文件中的图片数据进行缩放处理,得到更新的形象模型文件,具体实现过程可以如下:
获取预设缩放规格表,所述预设缩放规格表中包括至少一个缩放规格;
利用所述缩放规格,对所述形象模型文件中的图片数据进行缩放处理,得到图片数据缩放后更新的形象模型文件。
具体的,缩放规格是指对图片数据进行缩放的标准,以使缩放处理后的图片数据符合该缩放规格;预设缩放规格表是指缩放规格的集合。
实际应用中,针对第二客户端的应用场景不同,如第二客户端的显示器分辨率不同、屏幕尺寸不同,预先设置了至少一个常用的缩放规格,然后针对各个缩放规格,分别将图片数据进行缩放处理,得到各缩放规格对应的缩放后的图片数据,也即缩放规格与图片数据一一对应,有几种缩放规格,就对图片数据进行几次缩放处理。在得到缩放后的图片数据的基础上,进一步得到图片数据缩放后更新的形象模型文件。
例如,预设缩放规格表为分辨率规格表,其中包含4个缩放规格,也即4个分辨率规格:512*512、1024*1024、2048*2048和4096*4096。则将形象模型文件中的图片数据分别按照512*512、1024*1024、2048*2048和4096*4096进行缩放处理,得到512*512分辨率的图片数据、1024*1024分辨率的图片数据、2048*2048分辨率的图片数据和4096*4096分辨率的图片数据。然后512*512分辨率的图片数据对应一个更新的形象模型文件,1024*1024分辨率的图片数据对应一个更新的形象模型文件,2048*2048分辨率的图片数据对应一个更新的形象模型文件,4096*4096分辨率的图片数据对应一个。
为了进一步提高形象模型文件传输的安全性,增加形象模型加密文件的破破译难度,可以对形象模型文件进行两次加密处理,基于预设混淆加密算法对形象模型文件进行第一加密处理,基于预设对称加密算法对形象模型文件进行第二加密处理,也即在所述目标密钥包括混淆密钥和对称密钥的情况下,所述基于所述目标密钥对所述形象模型文件进行加密处理,得到形象模型加密文件,具体实现过程可以如下:
获取预设混淆加密算法和混淆密钥,根据所述预设混淆加密算法和所述混淆密钥,对所述形象模型文件进行第一加密处理,得到中间形象模型文件;
获取预设对称加密算法和对称密钥,根据所述预设对称加密算法和所述对称密钥,对所述中间形象模型文件进行第二加密处理,得到形象模型加密文件。
具体的,混淆是一种使密钥与密文(形象模型文件)之间的关系尽可能模糊的加密操作;混淆密钥是指混淆对应的密钥,可以是字符串,如数字、字母和符号中至少一种的组合,还可以是矩阵、数组等形式;预设混淆加密算法是预先设定的一种混淆加密算法,可以是异或混淆加密算法,还可以是与混淆加密算法等,本申请对此不作限定;对称加密算法是指采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,也称为单密钥加密;预设对称加密算法是指预先设定的一种对称加密算法,可以是数据加密标准算法(DES,Data Encryption Standard),还可以是高级加密标准算法(AES,AdvancedEncryption Standard),本申请对此不作限定;对称密钥是指预设对称加密算法对应的密钥。
实际应用中,目标密钥可以包括混淆密钥和对称密钥。可以先获取预设混淆加密算法以及形象模型文件对应的混淆密钥,然后读取形象模型文件中的形象图片,然后基于混淆密钥,利用预设混淆加密算法对形象图片中各像素点的色彩值进行加密处理,生成形象图片加密后的中间形象模型文件。然后获取预设对称加密算法以及形象模型文件对应的对称密钥,基于对称密钥,利用预设对称加密算法对中间形象模型文件进行加密,得到形象模型加密文件。
可选地,在所述色彩值包括透明度和颜色值的情况下,基于混淆密钥,利用预设混淆加密算法对形象图片中各像素点的色彩值进行加密处理,可以为:从所述形象图片中的第i像素点开始,其中,i=1;将所述形象图片中第i像素点的透明度与所述目标混淆密钥中第(2i-1)位的数值进行异或运算,得到所述第i像素点的加密透明度;将所述形象图片中第i像素点的颜色值与所述目标混淆密钥中第2i位的数值进行异或运算,得到所述第i像素点的加密颜色值;根据所述第i像素点的所述加密透明度和所述加密颜色值,得到所述第i像素点的加密色彩值;判断所述形象图片中的第i像素点是否为最后一个像素点;若否,则将i自增l,返回执行所述将所述形象图片中第i像素点的透明度与所述目标混淆密钥中第(2i-1)位的数值进行异或运算的步骤。
具体的,透明度用于表示像素点的透明程度,透明度越高,像素越透明;颜色值是指像素点显示时的颜色对应的数值,如RGB值。
实际应用中,先选择形象图片的第一像素点,然后确定第一像素点透明度和颜色值,接着选择目标混淆密钥中第一位的数值与第一像素点的透明度进行异或运算,得到第一像素点的加密透明度,选择目标混淆密钥中第二位的数值与第一像素点的颜色值进行异或运算,得到第一像素点的加密颜色值,基于第一像素点的加密透明度和加密颜色值得到第一像素点的加密色彩值。进而选择形象图片的第二像素点,将确定第二像素点透明度和颜色值,接着选择目标混淆密钥中第三位的数值与第二像素点的透明度进行异或运算,得到第二像素点的加密透明度,选择目标混淆密钥中第四位的数值与第二像素点的颜色值进行异或运算,得到第二像素点的加密颜色值,基于第二像素点的加密透明度和加密颜色值得到第二像素点的加密色彩值。以此类推,直至确定出形象图片的最后一个像素点的加密色彩值。如此,采用对透明度和颜色值进行加密的方式,可以更细粒度地实现对形象图片的加密,进一步提高形象加密图片与形象图片的差异性,进而提高形象图片在传输过程中的安全性。
可选地,在所述色彩值包括透明度、第一颜色值、第二颜色值和第三颜色之的情况下,基于混淆密钥,利用预设混淆加密算法对形象图片中各像素点的色彩值进行加密处理,可以为:从所述形象图片中的第j像素点开始,其中,j=1;将所述形象图片中第j像素点的透明度与所述目标混淆密钥中第(4j-3)位的数值进行异或运算,得到所述第j像素点的加密透明度;将所述形象图片中第j像素点的第一颜色值与所述目标混淆密钥中第(4j-2)位的数值进行异或运算,得到所述第j像素点的加密第一颜色值;将所述形象图片中第j像素点的第二颜色值与所述目标混淆密钥中第(4j-1)位的数值进行异或运算,得到所述第j像素点的加密第二颜色值;将所述形象图片中第j像素点的第三颜色值与所述目标混淆密钥中第4j位的数值进行异或运算,得到所述第j像素点的加密第三颜色值;根据所述第j像素点的所述加密透明度、所述加密第一颜色值、所述加密第二颜色值和所述加密第三颜色值,得到所述第j像素点的加密色彩值;判断所述形象图片中的第j像素点是否为最后一个像素点;若否,则将j自增1,返回执行所述将所述形象图片中第j像素点的透明度与所述目标混淆密钥中第(4j-1)位的数值进行异或运算的步骤。
具体的,透明度用于表示像素点的透明程度,透明度越高,像素越透明;第一颜色值、第二颜色值和第三颜色值是指像素点显示时的红色、绿色和蓝色分别对应的数值,也即第一颜色值、第二颜色值和第三颜色值分别为R值、G值、B值。
实际应用中,可以先选择形象图片的第一像素点,然后确定第一像素点透明度、第一颜色值、第二颜色值和第三颜色值,接着选择目标混淆密钥中第一位的数值与第一像素点的透明度进行异或运算,得到第一像素点的加密透明度,选择目标混淆密钥中第二位的数值与第一像素点的第一颜色值进行异或运算,得到第一像素点的加密第一颜色值,选择目标混淆密钥中第三位的数值与第一像素点的第二颜色值进行异或运算,得到第一像素点的加密第二颜色值,选择目标混淆密钥中第四位的数值与第一像素点的第三颜色值进行异或运算,得到第一像素点的加密第三颜色值,再根据第一像素点的加密透明度、加密第一颜色值、加密第二颜色值和加密第三颜色值,得到第一像素点的加密色彩值。进而选择形象图片的第二像素点,然后确定第二像素点透明度、第一颜色值、第二颜色值和第三颜色值,接着选择目标混淆密钥中第五位的数值与第二像素点的透明度进行异或运算,得到第二像素点的加密透明度,选择目标混淆密钥中第六位的数值与第二像素点的第一颜色值进行异或运算,得到第二像素点的加密第一颜色值,选择目标混淆密钥中第七位的数值与第二像素点的第二颜色值进行异或运算,得到第二像素点的加密第二颜色值,选择目标混淆密钥中第八位的数值与第二像素点的第三颜色值进行异或运算,得到第二像素点的加密第三颜色值,再根据第二像素点的加密透明度、加密第一颜色值、加密第二颜色值和加密第三颜色值,得到第二像素点的加密色彩值。以此类推,直至确定出形象图片的最后一个像素点的加密色彩值。如此,采用对透明度、第一颜色值、第二颜色值和第三颜色值进行加密的方式,可以更细粒度地实现对形象图片的加密,进一步提高形象加密图片与形象图片的差异性,进而提高形象图片在传输过程中的安全性。
参见图2,图2示出了本申请一实施例提供的一种形象模型文件传输方法中,上传形象模型文件的方法的流程图,其中服务端包括管理区、数据库和处理区:第一客户端在接收到第一主播的形象模型文件后,上传形象模型文件至服务端。服务端通过数据库保存形象模型文件并确定形象信息,其中形象信息为数据库基于形象模型文件确定的信息,包括形象模型文件的唯一标识,也即形象唯一标识。数据库将形象信息传给服务端的管理区,由管理区将形象信息返回给第一客户端,且管理区推送形象信息至任务处理队列,由处理区进行处理。处理区基于形象信息,向数据库请求形象模型文件,接着数据库返回形象信息至处理区。处理区对形象模型文件进行缩放、加密等处理,得到形象模型加密文件。然后处理完成信息并更新状态。
参见图3,图3示出了本申请一实施例提供的另一种形象模型文件传输方法中,上传形象模型文件的方法的流程图,其中服务端包括执行区(管理区和处理区的总称)和数据库:第一客户端在接收到第一主播的形象模型文件后,打包形象模型文件,上传形象模型文件至服务端。服务端通过数据库保存形象模型文件并确定存储链接,其中存储链接为形象模型文件在数据库中的存储地址。数据库将存储链接发送至第一客户端,然后第一客户端保存存储链接,并将存储链接发送至执行区。执行区保存存储链接,并确定形象唯一标识,也即基于存储链接确定形象唯一标识。进一步地,执行区获取处理配置,然后将形象唯一标识推送至异步处理队列,由异步处理队列基于处理配置对形象唯一标识压缩处理,处理完成,得到形象信息,其中形象信息包括形象唯一标识。之后,执行区返回形象信息至第一客户端。然后,可以执行如图4所示的加密形象模型文件的方法。
参见图4,图4示出了本申请一实施例提供的一种形象模型文件传输方法中,加密形象模型文件的方法的流程图:执行区接收推送任务,然后获取形象信息,从而确认形象信息对应的形象模型文件是否已完成加密,如已加密则退出流程,如未加密,则根据形象信息向数据库请求形象模型文件,若请求失败,则再次请求形象模型文件,若请求成功,数据库返回形象模型文件。然后执行区使用解压算法解压形象模型文件,并调用FFmpeg命令,根据预设缩放规格表对进行形象模型文件的图片数据进行缩放处理。接着生成混淆密钥,并使用预设混淆加密算法对形象模型文件的图片数据进行第一次加密处理,得到中间形象模型文件并记录混淆密钥;获取对称密钥,对中间形象模型文件进行第二加密处理,也即对称加密,其中对称密钥可以为256位密钥,每个形象模型加密文件对应一个独立的对称密钥。然后对第二加密处理后的中间形象模型文件压缩处理,得到形象模型加密文件。接着形象模型加密文件发送至数据库,由数据库保存形象加密文件,并返回保存成功后,执行区确定单任务处理完成,然后在所有任务处理完成后,更新任务处理状态,完成推送任务。
图5示出了本申请一实施例提供的一种形象模型文件传输方法中,加密图片数据的效果示意图:加密前的图片数据即为形象模型文件中的图片数据,在对图片数据进行第一加密处理之后,得到加密图片数据,加密图片数据与加密前的图片数据完全不同。
步骤106:若接收到针对所述第一主播与第二主播的互动请求,则基于所述互动请求携带的所述第二主播的主播标识,将所述形象模型加密文件发送至第二客户端。
在基于目标混淆密钥和形象图片的图片信息,对所述形象图片进行加密处理,得到形象加密图片的基础上,进一步地,在接收到针对第一主播与第二主播的互动请求的情况下,根据互动请求中第二主播的主播标识,将形象模型加密文件发送至第二客户端。
具体的,互动请求是指基于两个主播之间互动的需求进而生成的请求,可以是连麦请求,还可以是挑战(pk)请求,如第一主播向第二主播发起的连麦请求,又如第二主播向第一主播发起的挑战请求;第二主播是指与第一主播进行互动的主播,需要说明的是,与第一主播同时进行互动的主播可以只有一个,也可以有多个,在与第一主播同时进行互动的主播有多个时,第二主播为与第一主播同时进行互动的主播中的任意一个,例如第一主播为主播A1,主播A1、主播A2、主播A3和主播A4这4个主播同时进行互动,第二主播可以是主播A2、主播A3和主播A4中的任意一个;主播标识可以是主播的名称,还可以是主播的ID(Identity Document),也即序列号或帐号,本申请对此不作限定;第二客户端是指与第二主播关联的客户端,也即第二主播对应的客户端。
实际应用中,服务端接收到第一主播发送的与第二主播进行互动的请求,或者接收到第二主播发送的与第一主播进行互动的请求后,也即服务端接收到针对第一主播与第二主播的互动请求,服务器根据该互动请求中的第二主播的主播标识,确定第二主播对应的第二客户端,将形象模型加密文件发送至第二客户端。
例如,主播A与主播B需要进行互动,则主播A或者主播B向服务端发送针对主播A与主播B的互动请求:在将主播A作为第一主播的情况下,服务端基于互动请求中主播B的主播标识,将主播A对应的形象模型加密文件a发送至主播B对应的第二客户端,也即发送至主播B所在的客户端;在将主播B作为第一主播的情况下,服务端基于互动请求中主播A的主播标识,将主播B对应的形象模型加密文件b发送至主播A对应的第二客户端,也即发送至主播A所在的客户端。
在本说明书一个或多个可选的实施例中,服务器在接收到针对所述第一主播与第二主播的互动请求后,可以基于互动请求携带的第二主播的主播标识,将形象模型加密文件的下载链接发送至第二客户端,然后第二客户端基于下载链接从服务端的数据库中下载对应的形象模型加密文件。
步骤108:在接收到所述第二客户端发送的解密请求的情况下,将所述目标密钥发送至所述第二客户端,其中,所述目标密钥用于所述第二客户端对所述形象模型加密文件进行解密,获得所述形象模型文件。
在根据互动请求中第二主播的主播标识,将形象模型加密文件发送至第二客户端的基础上,进一步地,服务端在接收到解密请求的情况下,将目标密钥发送至第二客户端。
实际应用中,第二客户端在接收到形象加密图片后,需要向服务端请求目标混淆密钥,此时第二客户端基于形象模型加密文件生成解密请求,然后将该解密请求发送至服务端,也即服务端接收到第二客户端发送的解密请求。进一步地,第二客户端基于解密请求携带的形象模型加密文件的标识,将形象模型加密文件对应的目标密钥发送给第二客户端。然后,第二客户端根据目标密钥对形象模型加密文件进行解密,得到第一主播的形象模型文件,进而基于第一主播的形象模型文件在第二客户端渲染第一主播的形象。
沿用上例,在将主播A作为第一主播的情况下,主播B对应的第二客户端接收到形象模型加密文件a后,会基于形象模型加密文件a生成解密请求a1,然后将解密请求a1发送至服务端,服务端在基于解密请求a1,将形象模型加密文件a对应的目标密钥a2发送至第二客户端,然后第二客户端基于目标密钥a2对形象模型加密文件a进行解密,得到主播A的形象模型文件a3。在将主播B作为第一主播的情况下,主播A对应的第二客户端接收到形象模型加密文件b后,会基于形象模型加密文件a生成解密请求b1,然后将解密请求b1发送至服务端,服务端在基于解密请求b1,将形象模型加密文件b对应的目标密钥b2发送至第二客户端,然后第二客户端基于目标密钥b2对形象模型加密文件b进行解密,得到主播B的形象模型文件b3。
图5示出了本申请一实施例提供的一种形象模型文件传输方法中,加密图片数据的效果示意图加密前的图片数据即为形象模型文件中的图片数据,在对图片数据进行第一加密处理之后,得到加密图片数据,加密图片数据与加密前的图片数据完全不同;在对加密图片数据进行解密之后,得到解密后的图片数据,解密后的图片数据与加密前的图片数据相同,均为形象模型文件中原始的图片数据。
为了提高形象模型文件的安全性,服务端在接收到解密请求时,需要对解密请求进行验证,以判断发送解密请求的客户端使用目标密钥的合理性,若验证通过,则返回目标密钥。也即所述将所述目标密钥发送至所述第二客户端,具体实现过程可以如下:
对所述第二客户端发送的所述解密请求进行校验,判断所述解密请求是否符合预设解密规则;
若是,将所述目标密钥发送至所述第二客户端;
若否,则不响应所述解密请求。
具体的,预设解密规则是指确定客户端请求目标密钥是否合理的规则,也即确定解密请求是否合理的规则,如判断发送该解密请求的客户端是否为第二主播所在的第二客户端。
实际应用中,服务端在接收到解密请求之后,需要对解密请求进行合理性校验,即判断解密请求是否符合预设解密规则,也即根据主播与主播之间的交互关系,确定是否可以返回目标密钥。若是,则将目标密钥发送至该客户端,若否,则不响应该解密请求,或者返回请求失败信息至该第二客户端。如此,根据对解密请求的校验,确定是否可以反馈目标密钥,而不是在收到解密请求时直接发送目标密钥,避免了非第二客户端获取目标密钥,盗用第一主播的形象模型文件,从而提高了形象模型文件传输的安全性。
例如,客户端R1向服务端发送了解密请求r1,服务器根据预设解密规则对对解密请求r1进行校验,验证结果为客户端R1不是第二主播对应的第二客户端,则不响应解密请求r1;客户端R2向服务端发送了解密请求r2,服务端根据预设解密规则对对解密请求r2进行校验,验证结果为发送客户端R2为第二主播对应的第二客户端,则将目标密钥发送至客户端R2。
可选地,为了保证目标密钥在从服务端发送至第二客户端的过程中,被截取,或者服务端误将目标密钥发送至其他客户端,导致目标密钥外泄进而造成形象模型文件外泄,第二客户端发送的解密请求中将携带有第二客户端公钥,以便于服务端基于第二客户端公钥对目标密钥进行加密,以防目标密钥外泄。也即在所述解密请求中携带有第二客户端公钥的情况下,所述将所述目标密钥发送至所述第二客户端,具体实现过程可以为:
根据所述第二客户端公钥,对所述目标密钥进行第三加密处理,得到加密后的目标密钥;
将所述加密后的目标密钥发送至所述第二客户端。
具体的,第二客户端公钥是指第二客户端提供的一个用于加密目标密钥的密钥。
实际应用中,服务端在解密请求符合预设解密规则的情况下,根据解密请求中的第二客户端公钥,对第二客户端所请求的目标密钥进行加密,得到加密后的目标密钥,进而将加密后的目标密钥发送至第二客户端。然后第二客户端用第二客户端公钥对加密后的目标密钥进行解密,得到目标密钥。
例如,第二客户端公钥为“123123”,目标密钥为“123456”,服务端对目标密钥进行加密处理,得到了加密后的目标密钥“******”。然后服务端将“******”发送至第二客户端。第二客户端再利用第二客户端公钥“123123”,对“******”进行解密,得到目标密钥“123456”。
可选地,为了保证目标密钥在从服务端发送至第二客户端的过程中,被截取,或者服务端误将目标密钥发送至其他客户端,导致目标密钥外泄进而造成形象模型文件外泄,在所述解密请求中携带有第二客户端公钥的情况下,所述将所述目标密钥发送至所述第二客户端,具体实现过程还可以为:
生成服务端私钥和服务端公钥,所述服务端私钥和所述服务端公钥为一组密钥对;
根据所述第二客户端公钥和所述服务端私钥生成第一密钥,并基于所述第一密钥对所述目标密钥进行第三加密处理,得到加密后的目标密钥;
将所述加密后的目标密钥和所述服务端公钥发送至所述第二客户端,所述服务端公钥用于所述第二客户端结合第二客户端私钥生成第二密钥,基于所述第二密钥对所述加密后的目标密钥进行解密,所述第二客户端私钥和所述第二客户端公钥为一组密钥对。
实际应用中,第二客户端生成一对公私钥,也即第二客户端私钥和第二客户端公钥。第二客户端会生成携带有第二客户端公钥的解密请求,并发送至服务端。服务端在收到解密请求后,也生成一对公私钥,即服务端私钥和服务端公钥,然后根据服务端私钥和第二客户端公钥,计算出第一密钥,进而基于第一密钥对目标密钥进行加密,得到加密后的目标密钥。服务端将加密后的目标密钥和服务器端公钥返回给第二客户端,第二客户端根据服务端公钥和第二客户端私钥进行计算,得到第二密钥,其中第二密钥和第一密钥A相同。进一步地,第二客户端基于第二密钥对加密后的目标密钥进行解密,得到目标密钥。
例如,第二客户端私钥为“112233”,第二客户端公钥为“123123”,服务端私钥为“223344”,服务端公钥为“234234”,目标密钥为“123456”。第二客户端将携带有“123123”的解密请求发送至服务端,然后服务端基于“123123”和“223344”生成第一密钥“346467”,并基于346467”对目标密钥进行加密处理,得到了加密后的目标密钥“******”。然后服务端将“******”和“234234”发送至第二客户端。接着第二客户端基于“234234”和“112233”生成第二密钥“346467”,进而第二客户端利用第“346467”,对“******”进行解密,得到目标密钥“123456”。
此外,为了保证形象图片传输的安全性,或者为了在后期溯源追查泄露途径,服务端在向第二客户端发送目标密钥前,还需要记录第二客户端的文件使用信息,也即所述将所述目标密钥发送至所述第二客户端之前,还包括:
在所述解密请求符合所述预设解密规则的情况下,提取并记录所述解密请求中携带的所述第二客户端的文件使用信息,所述文件使用信息包括所述第二客户端对应的用户标识、使用场景、使用范围、使用文件标识和使用时间中的至少一种。
具体的,用户标识是指第二客户端对应的用户,也即是第二主播的用户标识;使用场景是指第二客户端对应的计算机设备的显示器的分辨率,如手机屏幕的分辨率、电脑显示器的分辨率;使用范围是指第二客户端使用目标密钥和形象模型加密文件的用途,例如在第二客户端显示第一主播的形象;使用文件标识是指第二客户端使用的目标密钥以及形象模型加密文件对应的标识;使用时间是指第二客户端使用目标密钥以及形象模型加密文件的时间,可以用第二客户端发送加密请求的时间表征使用时间。
实际应用中,在解密请求符合预设解密规则的情况下,服务端需要将目标密钥发送至第二客户端,为了做到目标混淆密钥使用的可溯源行,能追查泄漏途径,为对不幸外泄后的追责保全提供线索与数据支持,在发送目标密钥之前,服务端需要将解密请求中的第二客户端的文件使用信息提取出来,并进行记录。其中文件使用信息包括所述第二客户端对应的用户标识、使用场景、使用范围、使用文件标识和使用时间中的至少一种。
例如,客户端M发送到的解密请求符合预设解密规则,则从解密请求中提取客户端M的文件使用信息,包括:用户m1(用户表示)、分辨率512*512(使用场景)、直播观看(使用场景)、目标密钥m2和形象模型加密文件m3(使用文件标识)以及2021年11月18日下午16时30分(使用时间),并记录客户端M的文件使用信息。
在第一主播与第二主播进行互动期间,第二客户端还需要基于形象模型文件在第二客户端渲染第一主播动态的形象,生成第一主播与第二主播进行互动的互动视频流,发送给服务端,然后服务端将该视频流发送给第二主播的观众所在的客户端。也即所述将所述目标密钥发送至所述第二客户端之后,还包括:
接收所述第二客户端发送的互动视频流,所述互动视频流为所述第二客户端基于所述形象模型文件生成;
确定所述第二主播对应的观众标识;
将所述互动视频流发送至所述观众标识对应的观众客户端,所述互动视频流用于所述观众客户端展示所述第一主播与所述第二主播的互动画面。
具体的,互动视频流是指第一主播与第二主播进行互动生成的视频流,用于展示所述第一主播与第二主播的互动内容;观众标识是指观看第二主播的观众对应的标识,观众客户端是指第二主播观众所在的客户端。
实际应用中,第二客户端在对形象模型加密文件进行解密,得到形象模型文件之后,第二客户端基于形象模型文件在第二客户端渲染第一主播动态的形象,并结合第二主播的形象,生成第一主播与第二主播进行互动的互动视频流,然后推送给服务端。服务端在接收到互动视频流之后,确定第二主播对应的而观众标识,也即确定观看第二主播的观众,然后将互动视频流发送给第二主播的观众所在的观众客户端,以便于观众客户端基于互动视频流展示第一主播与第二主播进行互动的画面。
以主播一和主播二进行直播PK为例,对形象模型文件传输方法进行说明:
1)主播一通过客户端①将主播一的形象模型文件P上传至服务端,主播二通过客户端②将主播二的形象模型文件Q上传至服务端,服务端对形象模型文件P和形象模型文件Q分别进行存储和加密,得到形象模型加密文件p和形象模型加密文件q。
2)主播一通过服务端向主播二发起直播PK请求,主播二通过服务端接收主播一发起的直播PK请求;服务端存储主播一和主播二的信息以及对应关系,如主播一和主播二的ID、房间信息等。
3)客户端①查询本地缓存是否存在主播二的形象模型文件Q,如果不存在,则向服务端请求下载形象模型文件Q和形象模型文件Q对应的目标密钥,如果存在,则向服务端请求形象模型文件Q对应的密钥。
同时,客户端②查询本地缓存是否存在主播二的形象模型文件P,如果不存在,则向服务端请求下载形象模型文件P和形象模型文件P对应的目标密钥;如果存在,则向服务端请求形象模型文件P对应的密钥。
4)服务端基于直播PK请求中的主播一和主播二的标识,对客户端①获取形象模型加密文件q或者形象模型加密文件q对应的目标密钥的请求进行认证、对客户端②获取形象模型加密文件p或者形象模型加密文件p对应的目标密钥的请求进行认证。认证通过后,服务端将形象模型加密文件q和形象模型加密文件q对应的目标密钥发送至客户端①,将服务端将形象模型加密文件p和形象模型加密文件p对应的目标密钥发送至客户端②。
例如,直播PK请求对应于主播一和主播二,则服务端绑定主播一和主播二的对应关系,当接收到客户端①获取形象模型文件P的请求时,确认主播一和主播二是否存在对应关系,如果存在,在认证通过。
5)客户端①基于目标密钥对形象模型加密文件q进行解密,获得形象模型文件Q;客户端②基于目标密钥对形象模型加密文件p进行解密,形象模型文件P。
6)在主播一与主播二PK的过程中,客户端①基于形象模型文件Q和形象模型文件P渲染主播一与主播二通过虚拟形象进行PK的画面,并生成第一互动视频流发送至服务端;客户端②基于形象模型文件P和形象模型文件Q渲染主播一与主播二通过虚拟形象进行PK的画面,并生成第二互动视频流发送至服务端。
7)服务端确定第一主播对应的第一观众客户端,将第一互动视频流发送至第一观众客户端,以使第一观众客户端基于第一互动视频渲染主播一与主播二通过虚拟形象进行PK的画面;服务端确定第二主播对应的第二观众客户端,将第二互动视频流发送至第二观众客户端,以使第二观众客户端基于第二互动视频渲染主播二与主播一通过虚拟形象进行PK的画面。
本申请提供的形象模型文件传输方法,首先接收第一客户端发送的第一主播的形象模型文件;然后获取目标密钥,基于所述目标密钥对所述形象模型文件进行加密处理,得到形象模型加密文件;若接收到针对所述第一主播与第二主播的互动请求,则基于所述互动请求携带的所述第二主播的主播标识,将所述形象模型加密文件发送至第二客户端;在接收到所述第二客户端发送的解密请求的情况下,将所述目标密钥发送至所述第二客户端,其中,所述目标密钥用于所述第二客户端对所述形象模型加密文件进行解密,获得所述形象模型文件。通过对形象模型文件进行加密处理,从而使内存中存储的形象模型文件都是经过加密的,保障了主播的形象模型文件在内存里面不被获取到、且在第二客户端使用中安全,有效降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而服务端在接收到互动请求之前,就将形象模型文件加密完成,有利于在接收到互动请求之后,可以及时将形象模型文件发送给第二客户端,而不是在接收到互动请求之后再进行加密,如此,可以提高第二客户端的响应效率,能够使直播达到及时响应的效果;且在接收到第一主播的形象模型文件就进行加密,而不是在接收到互动请求之后再进行加密,可以为加密过程提供充足的时间,进而选择加密程度较高的加密算法进行加密,提高对形象模型文件的破译难度,从而进一步降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而将形象模型加密文件与目标密钥分开发送,只有第二客户端发送解密请求时,服务端才发送目标密钥,实现了动态管理目标密钥,进一步增加了形象模型文件的破译难度。此外,本申请提供的方法应用简单,降低了对各客户端的改造成本。
图6示出了根据本申请一实施例提供的另一种形象模型文件传输方法的流程图,应用第二客户端,具体包括以下步骤:
步骤602:接收服务端发送的形象模型加密文件,其中,所述形象模型加密文件为所述服务端基于目标密钥对所述第一主播的形象模型文件进行加密处理得到。
具体的,第一主播是指任意一个主播,优选地,第一主播是指以虚拟的形象或者非真实人物的形象进行直播的任意一个主播;第二主播是指与第一主播进行互动的主播,需要说明的是,与第一主播同时进行互动的主播可以只有一个,也可以有多个,在与第一主播同时进行互动的主播有多个时,第二主播为与第一主播同时进行互动的主播中的任意一个;第一客户端是指第一主播所在的客户端;第二客户端是指与第二主播关联的客户端,也即第二主播对应的第二客户端;形象模型文件是指构成第一主播虚拟形象所使用的图片、模型等资源;密钥是一种参数,是在将明文转换为密文或将密文转换为明文的算法中输入的参数;目标密钥是指针对形象模型文件的密钥;形象模型加密文件是指加密后的形象模型文件;加密处理是指以某种特殊的算法改变原有的信息数据的过程。
实际应用中,服务端在接收第一客户端发送的第一主播的形象模型文件后,获取目标密钥,然后基于目标密钥对形象模型文件进行加密处理,得到形象模型加密文件。之后服务端接收到针对第一主播与第二主播的互动请求后,服务器根据该互动请求中的第二主播的主播标识,确定第二主播对应的第二客户端和观看第二主播的观众对应的观众客户端,也即确定第二客户端,将形象模型加密文件发送至第二客户端。也即第二客户端接收服务端发送的形象模型加密文件。
需要说明的是,为了避免重复接收形象模型加密文件,在接收服务端发送的形象模型加密文件之前,还需要先查看本地是否存储有第一主播对应的形象模型加密文件,如果没有,再向服务端请求形象模型加密文件,由服务端发送形象模型加密文件,也即所述接收服务端发送的形象模型加密文件之前,还包括:
查询本地是否存储有所述形象模型加密文件;
若否,则生成形象模型加密文件获取请求,并将所述形象模型加密文件获取请求发送至所述服务端。
实际应用中,在第一主播与第二主播开启互动时,第二主播所在的客户端,也即第二客户端在本地进行查询,查看是否存储有形象模型加密文件,例如查看本地的缓存、内存等中是否存在形象模型加密文件,如果没有,则第二客户端生成针对第一主播的形象模型加密文件获取请求,然后将形象模型加密文件获取请求发送至服务端,以使服务端基于该形象模型加密文件获取请求,将第一主播对应的形象模型加密文件发送至第二客户端,即接收服务端发送的形象模型加密文件。
此外,在若查询本地存储有形象模型加密文件,则需要第二客户端需要向服务器获取形象模型加密文件,此时,第二客户端可以根据所述形象模型加密文件生成解密请求,将所述解密请求发送至所述服务端。即:若是,则根据所述形象模型加密文件生成解密请求,将所述解密请求发送至所述服务端。
例如,第一主播邀请第二主播直播连麦,在第二主播接收邀请之后,第二主播所在的第二客户端会查询本地是否存储有第一主播对应的形象模型加密文件,如果有,则生成解密请求并发送给服务端,即向服务端请求目标密钥;如果没有,则生成针对第一主播的形象模型加密文件获取请求并发送给服务端,即向服务端请求形象模型加密文件。
步骤604:根据所述形象模型加密文件生成解密请求,将所述解密请求发送至所述服务端。
在接收服务端发送的形象模型加密文件的基础上,进一步地,根据形象模型加密文件生成解密请求,并发送至服务端。
实际应用中,第二客户端在接收到形象模型加密文件后,提取形象模型加密文件的标识,如名称、标识号等,生成携带有形象模型加密文件的标识的解密请求,然后将该解密请求发送至服务端,用于向服务端请求形象模型加密文件对应的目标密钥。
步骤606:根据所述服务端基于所述解密请求发送的所述目标密钥,对所述形象模型加密文件进行解密,获得所述形象模型文件。
在根据形象模型加密文件生成解密请求并发送至服务端的基础上,进一步地,根据服务端反馈的目标密钥对形象模型加密文件进行解密。
实际应用中,服务端接收到解密请求后,会基于解密请求携带的形象模型加密文件的标识,获取该形象模型加密文件对应的目标密钥,进而将该目标密钥发送至第二客户端。然后第二客户端使用目标密钥对形象模型加密文件进行解密,从而获取第一主播的形象模型文件。
需要说明的是,第二客户端在得到第一主播的形象模型文件后,需要基于该形象模型文件,在第二客户端上渲染出第一主播的形象,并生成互动视频流,发送给服务端。也即所述根据所述服务端基于所述解密请求发送的所述目标密钥,对所述形象模型加密文件进行解密,获得所述形象模型文件之后,还包括:
根据所述形象模型文件,渲染所述第一主播的形象;
根据所述第一主播的形象和第二主播的形象,生成所述第一主播与所述第二主播的互动视频流,所述互动视频流用于展示所述第一主播与所述第二主播的互动画面。
具体的,互动视频流是指第一主播与第二主播进行互动生成的视频流,用于展示所述第一主播与第二主播的互动内容。
实际应用中,第二客户端在对形象模型加密文件进行解密,得到形象模型文件之后,第二客户端基于形象模型文件在第二客户端渲染第一主播动态的形象,并结合第二主播的形象,生成第一主播与第二主播进行互动的互动视频流。也即在第二客户端展示第一主播与第二进行互动的画面。如此可以提高互动观赏性,提高主播进行互动的兴趣,进而提高用户粘度。此外,在生成互动视频流之后,还需要将互动视频流发送给服务端,也即所述根据所述第一主播的形象和第二主播的形象,生成所述第一主播与所述第二主播的互动视频流之后,还包括:
将所述互动视频流发送至所述服务端,所述互动视频流用于所述服务端转发至所述第二主播对应的观众客户端。
实际一个用中,在第二客户端生成第一主播与第二主播进行互动的互动视频流之后,还需要将互动视频流推送给服务端。服务端在接收到互动视频流之后,确定第二主播对应的而观众标识,也即确定观看第二主播的观众,然后将互动视频流发送给第二主播的观众所在的观众客户端,以便于观众客户端基于互动视频流展示第一主播与第二主播进行互动的画面。
参见图7,图7示出了本申请一实施例提供的一种形象模型文件传输方法中,下载形象模型文件的方法的流程图,其中服务端包括管理区、数据库和处理区:第二客户端确定使用场景,也即确定第二客户端的对应的计算机设备的显示器的分辨率,然后根据使用场景向管理区请求形象模型加密文件。接着管理区基于使用场景,返回使用场景对应的存储链接,也即返回使用场景对应的形象模型加密文件的存储链接。在此基础上,第二客户端根据存储链接请求形象模型加密文件,也即向数据库请求形象模型加密文件,然后数据库将存储链接对应的形象模型加密文件返回给第二客户端,进而第二客户端基于形象模型加密文件向管理区请求目标密钥,在管理区返回目标密钥之后,第二客户端基于目标密钥对形象模型加密文件进行解密处理,得到形象模型文件。
参见图8,图8示出了本申请一实施例提供的另一种形象模型文件传输方法中,下载形象模型文件的方法的流程图,其中服务端包括执行区(管理区和处理区的总称)和数据库:第二客户端获取使用场景,也即确定第二客户端的对应的计算机设备的显示器的分辨率,然后根将使用场景上传至执行区,也即根据使用场景向执行区请求形象模型加密文件。执行区根据基于使用场景,返回存储链接,也即返回使用场景对应的形象模型加密文件的存储链接。在此基础上,第二客户端根据存储链接请求形象模型加密文件,也即向数据库请求形象模型加密文件,然后数据库将存储链接对应的形象模型加密文件返回给第二客户端,也即返回形象模型加密文件。进而第二客户端基于形象模型加密文件向执行区请求目标密钥,执行区确定形象模型加密文件的目标密钥,也即第二客户端生成第二客户端公钥,并添加至解密请求,将解密请求发送给执行区。执行区根据解密请求进行合理性校验,即判断解密请求是否符合预设解密规则,也即根据用户与模型所有人的交互关系决定是否返回对应密钥信息,如符合,记录使用信息,然后根据第二客户端公钥加密目标密钥,并返回加密后的目标密钥。第二客户端收到加密后的加密目标密钥后,结合服务端公钥解密得到目标密钥,也即根据服务端公钥对加密后的目标密钥进行解密,得到目标密钥。然后基于目标密钥对形象模型加密文件进行第一解密处理和第二解密处理,得到形象模型文件。然后第二客户端根据形象模型文件进行渲染。第二客户端在互动结束后及时清理内存中文件缓存(形象模型文件),也即主播下播,删除形象模型文件,下次使用时再次执行本流程。
本申请提供的形象模型文件传输方法,接收服务端发送的形象模型加密文件,其中,所述形象模型加密文件为所述服务端基于目标密钥对所述第一主播的形象模型文件进行加密处理得到;根据所述形象模型加密文件生成解密请求,将所述解密请求发送至所述服务端;根据所述服务端基于所述解密请求发送的所述目标密钥,对所述形象模型加密文件进行解密,获得所述形象模型文件。通过对形象模型文件进行加密处理,从而使内存中存储的形象模型文件都是经过加密的,保障了主播的形象模型文件在内存里面不被获取到、且在第二客户端使用中安全,有效降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而服务端在接收到互动请求之前,就将形象模型文件加密完成,有利于在接收到互动请求之后,可以及时将形象模型文件发送给第二客户端,而不是在接收到互动请求之后再进行加密,如此,可以提高第二客户端的响应效率,能够使直播达到及时响应的效果;且在接收到第一主播的形象模型文件就进行加密,而不是在接收到互动请求之后再进行加密,可以为加密过程提供充足的时间,进而选择加密程度较高的加密算法进行加密,提高对形象模型文件的破译难度,从而进一步降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而将形象模型加密文件与目标密钥分开发送,只有第二客户端发送解密请求时,服务端才发送目标密钥,实现了动态管理目标密钥,进一步增加了形象模型文件的破译难度。此外,本申请提供的方法应用简单,降低了对各客户端的改造成本。
上述为本实施例的一种应用于第二客户端的形象模型文件传输方法的示意性方案。需要说明的是,该应用于第二客户端的形象模型文件传输方法的技术方案与上述的应用于服务端的形象模型文件传输方法的技术方案属于同一构思,应用于第二客户端的形象模型文件传输方法的技术方案未详细描述的细节内容,均可以参见上述应用于服务端的形象模型文件传输方法的技术方案的描述。
下述结合附图9,以本申请提供的形象模型文件传输方法在主播连麦的应用为例,对所述形象模型文件传输方法进行进一步说明。其中,图9示出了本申请一实施例提供的一种应用于主播连麦的形象模型文件传输方法的处理流程图,具体包括以下步骤:
步骤902:服务端接收第一客户端发送的第一主播的形象模型文件。
步骤904:服务端获取预设缩放规格表,预设缩放规格表中包括至少一个缩放规格。
步骤906:服务端利用缩放规格,对形象模型文件中的图片数据进行缩放处理,得到图片数据缩放后更新的形象模型文件。
步骤908:服务端获取预设混淆加密算法和混淆密钥。
步骤910:服务端根据预设混淆加密算法和混淆密钥,对更新的形象模型文件进行第一加密处理,得到中间形象模型文件。
步骤912:服务端获取预设对称加密算法和对称密钥。
步骤914:服务端根据预设对称加密算法和对称密钥,对中间形象模型文件进行第二加密处理,得到形象模型加密文件。
步骤916:服务端接收到针对第一主播与第二主播的连麦请求。
步骤918:服务端基于连麦请求携带的第二主播的主播标识,发送形象模型加密文件至第二客户端。
步骤920:第二客户端根据形象模型加密文件生成解密请求。
步骤922:第二客户端发送解密请求至服务端。
步骤924:服务端对解密请求进行校验。
步骤926:服务端若解密请求符合预设解密规则,根据解密请求中携带的第二客户端公钥,对目标密钥进行第三加密处理,得到加密后的目标密钥。
步骤928:服务端提取并记录解密请求中携带的第二客户端的文件使用信息。
其中,文件使用信息包括第二客户端对应的用户标识、使用场景、使用范围、使用文件标识和使用时间中的至少一种。
步骤930:服务端发送加密后的目标密钥至第二客户端。
步骤932:第二客户端根据公钥对加密后的目标密钥进行解密,得到目标密钥。
步骤934:第二客户端根据目标密钥,对形象模型加密文件进行解密,获得形象模型文件。
步骤936:第二客户端基于形象模型文件生成互动视频流。
步骤938:第二客户端发送互动视频流至服务端。
步骤940:服务端确定第二主播对应的观众标识。
步骤942:服务端发送互动视频流至观众标识对应的观众客户端,以使观众客户端基于互动视频流展示第一主播与第二主播的互动画面。
本申请提供的形象模型文件传输方法,通过对形象模型文件进行加密处理,从而使内存中存储的形象模型文件都是经过加密的,保障了主播的形象模型文件在内存里面不被获取到、且在第二客户端使用中安全,有效降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而服务端在接收到互动请求之前,就将形象模型文件加密完成,有利于在接收到互动请求之后,可以及时将形象模型文件发送给第二客户端,而不是在接收到互动请求之后再进行加密,如此,可以提高第二客户端的响应效率,能够使直播达到及时响应的效果;且在接收到第一主播的形象模型文件就进行加密,而不是在接收到互动请求之后再进行加密,可以为加密过程提供充足的时间,进而选择加密程度较高的加密算法进行加密,提高对形象模型文件的破译难度,从而进一步降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而将形象模型加密文件与目标密钥分开发送,只有第二客户端发送解密请求时,服务端才发送目标密钥,实现了动态管理目标密钥,进一步增加了形象模型文件的破译难度。此外,本申请提供的方法应用简单,降低了对各客户端的改造成本。
在本申请提供的一种形象模型文件传输方法的基础上,还可以对形象模型文件中主播形象图片进行传输,也即本申请另一实施例提供了的一种直播互动中主播形象图片的传输方法,应用于服务端,具体包括以下步骤:
步骤A2:接收第一客户端发送的主播形象图片,并获取目标混淆密钥。
具体的,主播,也即网络主播,是指在互联网节目或活动中,负责参与一系列策划、编辑、录制、制作、观众互动等工作,并由本人担当主持工作的人;第一主播是指任意一个主播,优选地,第一主播是指以虚拟的形象或者非真实人物的形象进行直播的任意一个主播;第一客户端是指第一主播所在的客户端,可以是任意一种智能设备,例如手机、平板电脑、智能计算机等;主播形象图片是指构成主播虚拟形象时使用的图片资源,即虚拟形象的模型纹理贴图资源,也即是形象模型文件中的图片数据;混淆是一种使密钥与密文(主播形象图片)之间的关系尽可能模糊的加密操作;目标混淆密钥是指混淆对应的密钥,可以是字符串,如数字、字母和符号中至少一种的组合,还可以是矩阵、数组等形式。
实际应用中,当某个主播通过该主播所在的客户端,也即客户端,在上传主播形象图片的界面,选择自己需要上传的用于构建该主播的虚拟形象的主播形象图片,在点击“确认”或者任意表示确认上传的按键之后,客户端将该主播形象图片发送给服务端,即第一客户端将主播形象图片发送给服务端,也即服务端接收到第一客户端发送的主播形象图片。进一步地,服务端为了保证在将主播形象图片发送给其他客户端,也即其他客户端时的安全,需要对该主播形象图片进行加密,因此,可以先获取对该主播形象图片进行加密的密钥,也即目标混淆密钥。
例如,某游戏主播通过直播平台的上传界面,从本地数据库中选择了该游戏主播想要展示的虚拟的形象所对应的主播形象图片XX,然后添加至上传界面并点击“确认”上传的按键,该直播平台将主播形象图片XX上传至服务端。进而服务端获取目标混淆密钥,以便对主播形象图片XX进行加密。
需要说明的是,第一主播还可以通过第一客户端向服务端发送第一主播需要上传的用于构建该主播形象的主播形象模型文件,该形象模型文件中包含主播形象图片和主播形象模型,该主播形象模型可以是二维的、还可以是三维的,本申请对此不作限定。服务端可以先接收第一客户端发送的主播形象模型文件,然后可以从主播形象模型文件中获取主播形象图片,再获取目标混淆密钥,并记录该目标混淆密钥与该主播形象图片的对应关系,也即目标混淆密钥与该主播形象图片唯一对应。
为了提高目标混淆密钥的安全性,服务端可以先获取一个初始混淆密钥,然后对初始混淆密钥进行转换,得到目标混淆密钥,也即所述获取目标混淆密钥,具体实现过程可以如下:
获取初始混淆密钥;
对所述初始混淆密钥进行预设位运算处理,得到目标混淆密钥。
具体的,初始混淆密钥是指服务器直接获取的未进行任何处理的混淆密钥;位运算处理是指直接对二进制位的数进行操作的过程,如按位与、按位或、左移、右移等操作;预设位运算处理是指对初始混淆密钥对应的二进制位进行预先设定的位运算处理。
实际应用中,服务端可以先随机生成一个初始混淆密钥。由于随机生成的初始混淆密钥,可以从服务端的内存中获取到,且数据在计算机(服务器或客户端)中都是以二进制的形式存在的,因此为了保证混淆密钥的安全性,增加破解难度,需要对获取的初始混淆密钥进行预设位运算处理,进而得到目标混淆密钥。
例如,服务端随机生成的初始混淆密钥为11,则11对应的二进制形式为1011,预设位运算处理为按位取反处理,则1011将变为0100,0100对应的数为4,也即目标混淆密钥为4。
为了进一步提高目标混淆密钥的安全性,进而提高主播形象图片传输的安全性,可以对初始混淆密钥的每一位进行随机化处理,也即所述对所述初始混淆密钥进行预设位运算处理,得到目标混淆密钥,具体实现过程可以如下:
针对所述初始混淆密钥的任意一位,利用预设随机算法对该位的数值进行随机化处理,得到该位的新数值;
根据各位的新数值,生成目标混淆密钥。
具体的,当初始混淆密钥为字符串形式时,初始混淆密钥的任意一位是指字符串中的任意一个字符;当初始混淆密钥为矩阵或者数组时,初始混淆密钥的任意一位是指矩阵或者数组中的任意一个元素;随机算法是指在算法中使用了随机函数,且随机函数的返回值直接或者间接的影响了算法的执行流程或执行结果;随机算法基于随机方法,依赖于概率大小。
实际应用中,在获取了初始混淆密钥之后,可以利用预设随机算法,分别对初始混淆密钥中每一位的数值进行随机化处理,得到初始混淆密钥中每一位数值对应的新数值。
例如,初始混淆密钥为字符串“1234567”,则可以利用预设随机算法,分别对1、2、3、4、5、6和7进行随机化处理,得到1、2、3、4、5、6和7分别对应的新数值,进而将1对应的新数值、2对应的新数值、3对应的新数值、4对应的新数值、5对应的新数值、6对应的新数值和7对应的新数值进行组合,得到目标混淆密钥。
例如,初始混淆密钥为数组“12,8,22,50”,则可以利用预设随机算法,分别对12、8、22和50进行随机化处理,得到12、8、22和50分别对应的新数值,进而将12对应的新数值、8对应的新数值、22对应的新数值和50对应的新数值进行组合,得到目标混淆密钥。
需要说明的是,在获取了初始混淆密钥后,可以将初始混淆密钥从第一位到最后一位的数值按照顺序记录在索引表(key_array_index)中,然后从索引表先取出第一个数值,然后利用预设随机算法对该数值进行随机处理,具体随机处理参见式(1),得到初始混淆密钥的第一位对应的新数值,然后从索引表先取出第二个数值,然后利用预设随机算法对该数值进行随机处理,得到初始混淆密钥的第二位对应的新数值,以此类推,直至得到初始混淆密钥的最后一位对应的新数值。
F(k)=Function(f(k)) (式1)
式(1)中,k为正整数,F(k)表示初始混淆密钥的第k位对应的新数值,f(k)表示初始混淆密钥的第k位对应的数值,Function表示随机化处理。
优选地,随机化处理可以为针对位运算的随机化处理。
步骤A4:基于所述目标混淆密钥和所述主播形象图片的图片信息,对所述主播形象图片进行加密处理,得到主播形象加密图片。
在接收到主播形象图片并获取到目标混淆密钥的基础上,进一步的,基于目标混淆密钥和主播形象图片的图片信息,对所述主播形象图片进行加密处理,得到主播形象加密图片。
具体的,图片信息也即图片数据,或者图像数据,是指表示图片的数据集合,例如像素点的色彩值、像素点的数量、图片的大小等;加密处理是指以某种特殊的算法改变原有的信息数据的过程,可以是异或加密算法、移位加密算法、与或算法等等。
实际应用中,服务端可以先读取主播形象图片的图片信息,然后结合目标混淆密钥,对主播形象图片进行加密处理,也即基于目标混淆密钥对主播形象图片的图片信息进行加密处理,得到主播形象图片对应的主播形象加密图片。
可选地,图片信息包括主播形象图片中各像素点的色彩值。可以对主播形象图片中各像素点的色彩值进行加密处理,实现对主播形象图片的加密处理。也即所述基于所述目标混淆密钥和所述主播形象图片的图片信息,对所述主播形象图片进行加密处理,得到主播形象加密图片,具体实现过程可以如下:
根据目标混淆密钥,对各像素点的色彩值进行加密处理,得到各像素点的加密色彩值;
基于各加密色彩值,生成主播形象加密图片。
具体的,像素点也即像素,是指组成主播形象图片的最基本单元要素,各像素点都有一个明确的位置和被分配的色彩值。色彩值可以是像素点显示时的色彩对应的数值,例如ARGB值、RGB值。
实际应用中,可以获取主播形象图片中各像素点的色彩值,然后基于目标混淆密钥,对应各像素点的色彩值进行加密处理,在所有像素点的色彩值均加密完成后,基于各像素点的加密色彩值,得到主播形象加密图片。如此,对主播形象图片的每个像素点的色彩值进行加密,可以提高主播形象加密图片与主播形象图片的差异性,进而提高主播形象图片在传输过程中的安全性。
例如,目标混淆密钥为“1,2,3,4”,主播形象图片有4个像素点,其中第一个像素点的色彩值为6,第二个像素点的色彩值为3,第三个像素点的色彩值为11,第四个像素点的色彩值为7,若加密处理为与运算的加密处理,则将第一个像素点的色彩值6(0110)与目标混淆密钥的第一位1(0001)进行与运算,则加密色彩值为0(0000);将第二个像素点的色彩值3(0011)与目标混淆密钥的第二位2(0010)进行与运算,则加密色彩值为1(0010);将第三个像素点的色彩值11(1011)与目标混淆密钥的第三位3(0011)进行与运算,则加密色彩值为3(0011);将第四个像素点的色彩值7(0111)与目标混淆密钥的第四位4(0100)进行与运算,则加密色彩值为4(0100)。然后基于加密色彩值0、加密色彩值1、加密色彩值3和加密色彩值4生成主播形象加密图片,也即主播形象加密图片的四个像素点的色彩值分别为0、1、3、4。
以主播形象图片的左下角的顶点为原点、以水平向右的方向为x轴、以竖直向上的方向为y轴建立直角坐标系,以Pxy代表主播形象图片的各像素点。根据x和y取值的不同,可以获取到主播形象图片的所有像素点。
可选地,色彩值可以包括透明度和颜色值两种,因此,在对于色彩值进行加密时,可以分别对透明度和颜色值进行加密,也即在所述色彩值包括透明度和颜色值的情况下,所述根据目标混淆密钥,对各像素点的色彩值进行加密处理,得到各像素点的加密色彩值的具体实现过程可以如下:
从所述主播形象图片中的第i像素点开始,其中,i=1;
将所述主播形象图片中第i像素点的透明度与所述目标混淆密钥中第(2i-1)位的数值进行异或运算,得到所述第i像素点的加密透明度;
将所述主播形象图片中第i像素点的颜色值与所述目标混淆密钥中第2i位的数值进行异或运算,得到所述第i像素点的加密颜色值;
根据所述第i像素点的所述加密透明度和所述加密颜色值,得到所述第i像素点的加密色彩值;
判断所述主播形象图片中的第i像素点是否为最后一个像素点;
若否,则将i自增1,返回执行所述将所述主播形象图片中第i像素点的透明度与所述目标混淆密钥中第(2i-1)位的数值进行异或运算的步骤。
具体的,透明度用于表示像素点的透明程度,透明度越高,像素越透明;颜色值是指像素点显示时的颜色对应的数值,如RGB值。
实际应用中,可以先选择主播形象图片的第一像素点,然后确定第一像素点透明度和颜色值,接着选择目标混淆密钥中第一位的数值与第一像素点的透明度进行异或运算,得到第一像素点的加密透明度,选择目标混淆密钥中第二位的数值与第一像素点的颜色值进行异或运算,得到第一像素点的加密颜色值,基于第一像素点的加密透明度和加密颜色值得到第一像素点的加密色彩值。进而选择主播形象图片的第二像素点,将确定第二像素点透明度和颜色值,接着选择目标混淆密钥中第三位的数值与第二像素点的透明度进行异或运算,得到第二像素点的加密透明度,选择目标混淆密钥中第四位的数值与第二像素点的颜色值进行异或运算,得到第二像素点的加密颜色值,基于第二像素点的加密透明度和加密颜色值得到第二像素点的加密色彩值。以此类推,直至确定出主播形象图片的最后一个像素点的加密色彩值。如此,采用对透明度和颜色值进行加密的方式,可以更细粒度地实现对主播形象图片的加密,进一步提高主播形象加密图片与主播形象图片的差异性,进而提高主播形象图片在传输过程中的安全性。
例如,目标混淆密钥为“15,13,8,1”,主播形象图片有2个像素点,其中第一像素点的透明度为11、颜色值为13,第二像素点的透明度为7、颜色值为9,则将第一像素点的透明度11(1011)与目标混淆密钥中第一位的数值15(1111)进行异或运算,则第一像素点的加密透明度为4(0100),将第一像素点的颜色值13(1101)与目标混淆密钥中第二位的数值13(1101)进行异或运算,则第一像素点的加密颜色值为0(0000),然后根据第一像素点的加密透明度4和加密颜色值0得到第一像素点的加密色彩值。然后将第二像素点的透明度7(0111)与目标混淆密钥中第三位的数值8(1000)进行异或运算,则第二像素点的加密透明度为15(1111),将第二像素点的颜色值9(1001)与目标混淆密钥中第四位的数值1(0001)进行异或运算,则第二像素点的加密颜色值为14(1110),然后根据第二像素点的加密透明度15和加密颜色值14得到第二像素点的加密色彩值。
可选地,色彩值可以包括透明度、第一颜色值、第二颜色值以及第三颜色四种,因此,在对于色彩值进行加密时,可以分别对透明度、第一颜色值、第二颜色值以及第三颜色值进行加密,也即在所述色彩值包括透明度、第一颜色值、第二颜色值和第三颜色值的情况下,所述根据目标混淆密钥,对各像素点的色彩值进行加密处理,得到各像素点的加密色彩值的具体实现过程可以如下:
从所述主播形象图片中的第j像素点开始,其中,j=1;
将所述主播形象图片中第j像素点的透明度与所述目标混淆密钥中第(4j-3)位的数值进行异或运算,得到所述第j像素点的加密透明度;
将所述主播形象图片中第j像素点的第一颜色值与所述目标混淆密钥中第(4j-2)位的数值进行异或运算,得到所述第j像素点的加密第一颜色值;
将所述主播形象图片中第j像素点的第二颜色值与所述目标混淆密钥中第(4j-1)位的数值进行异或运算,得到所述第j像素点的加密第二颜色值;
将所述主播形象图片中第j像素点的第三颜色值与所述目标混淆密钥中第4j位的数值进行异或运算,得到所述第j像素点的加密第三颜色值;
根据所述第j像素点的所述加密透明度、所述加密第一颜色值、所述加密第二颜色值和所述加密第三颜色值,得到所述第j像素点的加密色彩值;
判断所述主播形象图片中的第j像素点是否为最后一个像素点;
若否,则将j自增1,返回执行所述将所述主播形象图片中第j像素点的透明度与所述目标混淆密钥中第(4j-1)位的数值进行异或运算的步骤。
具体的,透明度用于表示像素点的透明程度,透明度越高,像素越透明;第一颜色值、第二颜色值和第三颜色值是指像素点显示时的红色、绿色和蓝色分别对应的数值,也即第一颜色值、第二颜色值和第三颜色值分别为R值、G值、B值。
实际应用中,可以先选择主播形象图片的第一像素点,然后确定第一像素点透明度、第一颜色值、第二颜色值和第三颜色值,接着选择目标混淆密钥中第一位的数值与第一像素点的透明度进行异或运算,得到第一像素点的加密透明度,选择目标混淆密钥中第二位的数值与第一像素点的第一颜色值进行异或运算,得到第一像素点的加密第一颜色值,选择目标混淆密钥中第三位的数值与第一像素点的第二颜色值进行异或运算,得到第一像素点的加密第二颜色值,选择目标混淆密钥中第四位的数值与第一像素点的第三颜色值进行异或运算,得到第一像素点的加密第三颜色值,再根据第一像素点的加密透明度、加密第一颜色值、加密第二颜色值和加密第三颜色值,得到第一像素点的加密色彩值。进而选择主播形象图片的第二像素点,然后确定第二像素点透明度、第一颜色值、第二颜色值和第三颜色值,接着选择目标混淆密钥中第五位的数值与第二像素点的透明度进行异或运算,得到第二像素点的加密透明度,选择目标混淆密钥中第六位的数值与第二像素点的第一颜色值进行异或运算,得到第二像素点的加密第一颜色值,选择目标混淆密钥中第七位的数值与第二像素点的第二颜色值进行异或运算,得到第二像素点的加密第二颜色值,选择目标混淆密钥中第八位的数值与第二像素点的第三颜色值进行异或运算,得到第二像素点的加密第三颜色值,再根据第二像素点的加密透明度、加密第一颜色值、加密第二颜色值和加密第三颜色值,得到第二像素点的加密色彩值。以此类推,直至确定出主播形象图片的最后一个像素点的加密色彩值,具体如式(2)所示。如此,采用对透明度、第一颜色值、第二颜色值和第三颜色值进行加密的方式,可以更细粒度地实现对主播形象图片的加密,进一步提高主播形象加密图片与主播形象图片的差异性,进而提高主播形象图片在传输过程中的安全性。
Pj(A)=Qj(A)^F(4j-3)
Pj(R)=Qj(R)^F(4j-2)
Pj(G)=Qj(G)^F(4j-1)
Pj(B)=Qj(B)^F(4j)
Pj(ARGB)=(Pj(A),Pj(R),Pj(G),Pj(B)) (式2)
式2中,j为任一正整数,Pj(A)为第j像素点的加密透明度;Qj(A)为第j像素点的透明度;F(4j-3)为目标混淆密钥中第(4j-3)位的数值;Pj(R)为第j像素点的加密第一颜色值;Qj(R)为第j像素点的第一颜色值;F(4i-2)为目标混淆密钥中第(4j-2)位的数值;Pj(G)为第j像素点的加密第二颜色值;Qj(G)为第j像素点的第二颜色值;F(4j-1)为目标混淆密钥中第(4j-1)位的数值;Pj(B)为第j像素点的加密第三颜色值;Qj(B)为第j像素点的第三颜色值;F(4j)为目标混淆密钥中第4j位的数值;Pj(ARGB)为第j像素点的加密色彩值。
例如,目标混淆密钥为“15,13,8,1,1,2,3,4”,主播形象图片有2个像素点,其中第一像素点的透明度为11、第一颜色值为13、第二颜色值为7、第三颜色值为9,第二像素点的透明度为7、第一颜色值为9、第二颜色值为5、第三颜色值为6。将第一像素点的透明度11(1011)与目标混淆密钥中第一位的数值15(1111)进行异或运算,则第一像素点的加密透明度为4(0100),将第一像素点的第一颜色值13(1101)与目标混淆密钥中第二位的数值13(1101)进行异或运算,则第一像素点的加密第一颜色值为0(0000),将第一像素点的第二颜色值7(0111)与目标混淆密钥中第三位的数值8(1000)进行异或运算,则第一像素点的加密第二颜色值为15(1111),将第一像素点的第三颜色值9(1001)与目标混淆密钥中第四位的数值1(0001)进行异或运算,则第一像素点的加密第三颜色值为14(1110),进而根据第一像素点的加密透明度4、加密第一颜色值0、加密第二颜色值15和加密第三颜色值14得到第一像素点的加密色彩值。然后将第二像素点的透明度7(0111)与目标混淆密钥中第五位的数值1(0001)进行异或运算,则第二像素点的加密透明度为14(1110),将第二像素点的第一颜色值9(1001)与目标混淆密钥中第六位的数值2(0010)进行异或运算,则第二像素点的加密第一颜色值为10(1010),将第二像素点的第二颜色值5(0101)与目标混淆密钥中第七位的数值3(0011)进行异或运算,则第二像素点的加密第二颜色值为6(0110),将第二像素点的第三颜色值6(0110)与目标混淆密钥中第八位的数值4(0100)进行异或运算,则第二像素点的加密第三颜色值为2(0010),进而根据第二像素点的加密透明度14、加密第一颜色值10、加密第二颜色值6和加密第三颜色值2得到第二像素点的加密色彩值。
需要说明的是,由于主播形象图片的像素点数量众多,在对像素点的色彩值进行加密时,如果需要目标混淆密钥中各位的数值与各像素点的透明度和颜色值一一对应,或者需要目标混淆密钥中各位的数值与与各像素点的透明度、第一颜色值、第二颜色值和第三颜色值一一对应,则目标混淆密钥将极其复杂、庞大,从而增加服务器针对目标混淆密钥的数据处理量。因此,为了降低服务器的数据处理量,可以将目标混淆密钥中各位的数值循环使用,也即在对像素点的色彩值还未加密完成时,已经取到了目标混淆密码最后一位的数值,则下个取数值时,可以继续从目标混淆密码第一位的数值开始取,以此往复。
例如,目标混淆密码为“1,2,3,4”,主播形象图片包含4个像素点,且色彩值包括透明度和颜色值,则将第一像素点的透明度与“1”、第一像素点的颜色值与“2”进行异或运算;将第二像素点的透明度与“3”、第一像素点的颜色值与“4”进行异或运算;将第三像素点的透明度与“1”、第三像素点的颜色值与“2”进行异或运算;将第四像素点的透明度与“3”、第四像素点的颜色值与“4”进行异或运算。
又如,目标混淆密码为“1,2,3,4,5,6”,主播形象图片包含4个像素点,且色彩值包括透明度值、第一颜色值、第二颜色值以及第三颜色值,则将第一像素点的透明度与“1”、第一像素点的第一颜色值与“2”、第一像素点的第二颜色值与“3”、第一像素点的第三颜色值与“4”进行异或运算;将第二像素点的透明度与“5”、第二像素点的第一颜色值与“6”、第二像素点的第二颜色值与“1”、第二像素点的第三颜色值与“2”进行异或运算;将第三像素点的透明度与“5”、第三像素点的第一颜色值与“6”、第三像素点的第二颜色值与“1”、第三像素点的第三颜色值与“2”进行异或运算;将第四像素点的透明度与“3”、第四像素点的第一颜色值与“4”、第四像素点的第二颜色值与“5”、第四像素点的第三颜色值与“6”进行异或运算。
步骤A6:若接收到针对所述第一客户端与第二客户端的直播互动请求,则将所述主播形象加密图片和所述目标混淆密钥发送至所述第二客户端。
在基于目标混淆密钥和主播形象图片的图片信息,对所述主播形象图片进行加密处理,得到主播形象加密图片的基础上,进一步地,在接收到针对第一客户端与第二客户端的直播互动请求的情况下,将主播形象加密图片发送至第二客户端。
具体的,直播互动请求是指基于两个主播直播时基于互动的需求进而生成的请求,可以是连麦请求,还可以是挑战(pk)请求,需要说明的是,与第一主播同时进行互动的主播可以只有一个,也可以有多个,在与第一主播同时进行互动的主播有多个时,第二主播为与第一主播同时进行互动的主播中的任意一个,例如第一主播为主播A1,主播A1、主播A2、主播A3和主播A4这4个主播同时进行互动,第二主播可以是主播A2、主播A3和主播A4中的任意一个;第二主播是指与第一主播进行互动的主播;主播标识可以是主播的名称,还可以是主播的ID(Identity Document),也即序列号或帐号,本申请对此不作限定;第二客户端是指与第二主播关联的客户端,也即第二主播对应的客户端。针对第一客户端与第二客户端的直播互动请求也即针对第一主播与第二主播的互动请求。
实际应用中,服务端接收到第一主播发送的与第二主播进行直播互动的请求,或者接收到第二主播发送的与第一主播进行直播互动的请求后,也即服务端接收到针对第一客户端与第二客户端的直播互动请求,服务器根据该直播互动请求,将第一主播的主播形象加密图片和目标混淆密钥发送至第二客户端。
此外,直播互动请求中可以携带有第二主播的主播标识,如此服务端可以基于直播互动请求中的第二主播的主播标识,确定第二主播对应的第二客户端,将主播形象加密图片和目标混淆密钥发送至第二客户端。然后第二客户端根据目标混淆密钥对主播形象加密图片进行解密,得到第一主播的主播形象图片,进而基于第一主播的主播形象图片在第二客户端渲染第一主播的形象。
需要说明的是,为了保证主播形象图片传输的安全性,服务端会将主播形象加密图片和目标混淆密钥分两次发送到第二客户端:首先服务端在接收针对第一客户端与第二客户端的直播互动请求的情况下,根据直播互动请求中第二主播的主播标识,将主播形象加密图片发送至第二主播关联的第二客户端。然后第二客户端在接收到主播形象加密图片后,向服务端请求目标混淆密钥,此时服务端才会向第二客户端发送目标混淆密钥。服务端在向第二客户端发送目标混淆密钥前,还需要记录第二客户端的文件使用信息,所述文件使用信息包括所述第二客户端对应的用户标识、使用场景、使用范围、使用文件标识和使用时间中的至少一种。如此,可以做到目标混淆密钥使用的可溯源行,能追查泄漏途径,为对不幸丢失后的追责保全提供线索与数据支持。
此外,第二客户端在接收到目标混淆密钥后,可以直接基于目标混淆密钥生成密钥图片,然后再基于密钥图片和主播形象加密图片,得到第一主播的主播形象图片;还可以直接基于目标混淆密钥对主播形象加密图片进行解密,得到第一主播的主播形象图片。
需要说明的是,第二客户端在得到第一主播的主播形象图片后,需要基于该主播形象图片,在第二客户端上渲染出第一主播的形象,并结合第二主播的形象,生成第一主播与第二主播进行互动的互动视频流,然后推送给服务端。服务端在接收到互动视频流之后,确定第二主播对应的观众标识,也即确定观看第二主播的观众,然后将互动视频流发送给第二主播的观众所在的观众客户端,以便于观众客户端基于互动视频流展示第一主播与第二主播进行互动的画面。
本申请提供的直播互动中主播形象图片的传输方法,通过目标混淆密钥和主播形象图片的图片信息,对主播形象图片进行加密处理,从而使内存中存储的主播形象图片都是经过加密的,保障了主播形象图片在内存里面不被获取到、且在第二主播端使用中安全,有效降低主播形象图片外泄的风险,提高了主播形象图片传输的安全性。而服务端在接收到直播互动请求之前,就将主播形象图片加密完成,有利于在接收到直播互动请求之后,可以及时将主播形象加密图片发送给第二主播端,而不是在接收到直播互动请求之后再进行加密,如此,可以提高第二主播端的响应效率,能够使直播达到及时响应的效果;且在接收到第一主播的主播形象图片就进行加密,而不是在接收到直播互动请求之后再进行加密,可以为加密过程提供充足的时间,进而选择加密程度较高的目标混淆密钥进行加密,提高对主播形象加密图片的破译难度,从而进一步降低主播形象图片外泄的风险,提高了主播形象图片传输的安全性。此外,本申请提供的方法应用简单,降低了对各客户端的改造成本。
在本申请还提供了另一种的直播互动中主播形象图片的传输方法,应用于第二客户端,具体包括以下步骤:
步骤B2:接收服务端发送的主播形象加密图片和目标混淆密钥,其中所述主播形象加密图片为所述服务端基于所述目标混淆密钥和第一客户端发送的主播形象图片的图片信息,对所述主播形象图片进行加密处理得到。
具体的,第一主播是指任意一个主播,优选地,第一主播是指以虚拟的形象或者非真实人物的形象进行直播的任意一个主播;第二主播是指与第一主播进行互动的主播,需要说明的是,与第一主播同时进行互动的主播可以只有一个,也可以有多个,在与第一主播同时进行互动的主播有多个时,第二主播为与第一主播同时进行互动的主播中的任意一个;第一客户端是指第一主播所在的客户端;第二客户端是指与第二主播关联的客户端,也即第二主播对应的客户端;主播形象图片是指构成第一主播虚拟形象所使用的图片资源,即虚拟形象的模型纹理贴图资源,也即是形象模型文件中的图片数据;目标混淆密钥是指混淆对应的密钥,可以是字符串,如数字、字母和符号中至少一种的组合,还可以是矩阵、数组等形式。
实际应用中,服务端在接收第一客户端发送的主播形象图片后,获取目标混淆密钥,然后基于目标混淆密钥和主播形象图片的图片信息,对主播形象图片进行加密处理,得到主播形象加密图片。之后服务端接收到针对第一客户端与第二客户端的直播互动请求后,服务器根据该直播互动请求中的第二主播的主播标识,确定第二主播对应的第二客户端,将主播形象加密图片和目标混淆密钥发送至第二客户端。也即第二客户端接收服务端发送的主播形象加密图片和目标混淆密钥。
步骤B4:根据所述目标混淆密钥,生成所述主播形象加密图片对应的密钥图片。
在接收到主播形象加密图片和目标混淆密钥的基础上,进一步地,根据目标混淆密钥,生成密钥图片。
具体的,密钥图片是指将目标混淆密钥中各位的数值分别作为像素点的色彩值得到的密钥图片。
可选地,可以将目标混淆密钥中各位的数值分别作为像素点的色彩值,根据得到的色彩值对应的像素点生成密钥图片。
例如,目标密钥为“1,2,3,4”,则将1作为第一个像素点的色彩值、将2作为第二个像素点的色彩值、将3作为第三个像素点的色彩值、将4作为第四个像素点的色彩值,然后根据这4个像素点生成主播形象加密图片对应的密钥图片。
可选地,色彩值包括透明度和颜色值,此时可以将目标混淆密钥中相邻的每两位的数值分别作为像素点的透明度和颜色值,根据得到的透明度和颜色值对应的像素点生成密钥图片。
例如,目标密钥为“1,2,3,4”,则将1作为第一个像素点的透明度、将2作为第一个像素点的颜色值、将3作为第二个像素点的透明度、将4作为第二个像素点的颜色值,然后根据这2个像素点生成主播形象加密图片对应的密钥图片。
可选地,色彩值包括透明度、第一颜色值、第二颜色值和第三颜色值,此时可以将目标混淆密钥中相邻的每四位的数值分别作为像素点的透明度、第一颜色值、第二颜色值和第三颜色值,根据得到的透明度、第一颜色值、第二颜色值和第三颜色值对应的像素点生成密钥图片。
例如,目标密钥为“1,2,3,4,5,6,7,8”,则将1作为第一个像素点的透明度、将2作为第一个像素点的第一颜色值、将3作为第一个像素点的第二颜色值、将4作为第一个像素点的第三颜色值,将5作为第二个像素点的透明度、将6作为第二个像素点的第一颜色值、将7作为第二个像素点的第二颜色值、将8作为第二个像素点的第三颜色值,然后根据这2个像素点生成主播形象加密图片对应的密钥图片。
步骤B6:基于所述密钥图片对所述主播形象加密图片进行解密处理,得到所述主播形象图片。
在根据目标混淆密钥,生成密钥图片的基础上,进一步地,基于密钥图片和主播形象加密图片,得到主播形象图片。
实际应用中,第二客户端在生成了密钥图片后,可以基于密钥图片对主播形象加密图片进行还原,也即解密处理,从而得到第一主播的主播形象图片。
例如,第二客户端使用密钥图片和主播形象加密图片,在第二客户端的图形处理器(GPU,graphics processing unit)中进行每帧运算(解密处理),渲染出主播解密形象图片,也即第一主播的主播形象图片。
需要说明的是,第二客户端在得到第一主播的主播形象图片后,需要基于该主播形象图片,在第二客户端上渲染出第一主播的形象,并结合第二主播的形象,生成第一主播与第二主播进行互动的互动视频流,然后推送给服务端。服务端在接收到互动视频流之后,确定第二主播对应的观众标识,也即确定观看第二主播的观众,然后将互动视频流发送给第二主播的观众所在的观众客户端,以便于观众客户端基于互动视频流展示第一主播与第二主播进行互动的画面。
本申请提供的直播互动中主播形象图片的传输方法,通过目标混淆密钥和主播形象图片的图片信息,对主播形象图片进行加密处理,从而使内存中存储的主播形象图片都是经过加密的,保障了主播形象图片在内存里面不被获取到、且在第二主播端使用中安全,有效降低主播形象图片外泄的风险,提高了主播形象图片传输的安全性。而服务端在接收到直播互动请求之前,就将主播形象图片加密完成,有利于在接收到直播互动请求之后,可以及时将主播形象加密图片发送给第二主播端,而不是在接收到直播互动请求之后再进行加密,如此,可以提高第二主播端的响应效率,能够使直播达到及时响应的效果;且在接收到第一主播的主播形象图片就进行加密,而不是在接收到直播互动请求之后再进行加密,可以为加密过程提供充足的时间,进而选择加密程度较高的目标混淆密钥进行加密,提高对主播形象加密图片的破译难度,从而进一步降低主播形象图片外泄的风险,提高了主播形象图片传输的安全性。此外,本申请提供的方法应用简单,降低了对各客户端的改造成本。
在本申请提供的一种形象模型文件传输方法的基础上,本申请另一实施例提供了的主播形象模型文件的传输方法,应用于服务端,具体包括以下步骤:
步骤C2:接收第一主播端发送的主播形象模型文件,并获取目标混淆密钥和目标加密类型。
具体的,第一主播端是指第一主播所在的客户端,可以是任意一种智能设备,例如手机、平板电脑、智能计算机等;主播,也即网络主播,是指在互联网节目或活动中,负责参与一系列策划、编辑、录制、制作、观众互动等工作,并由本人担当主持工作的人,第一主播端即为第一客户端;第一主播是指任意一个主播,优选地,第一主播是指以虚拟的形象或者非真实人物的形象进行直播的任意一个主播;主播形象模型文件是指在生成主播对应的主播虚拟形象时所需的属性信息组成的文件,也即形象模型文件。例如,主播形象模型文件中包含虚拟形象A在直播场景中的位置信息、虚拟形象A的动作信息等;密钥是指在明文转换为密文或将密文转换为明文的算法中输入的参数;目标混淆密钥是指对第一主播的主播形象模型文件进行加密的密钥,其中,混淆是指一种加密操作,例如,采用异或运算作为加密操作对主播形象模型文件进行加密的操作;。
实际应用中,第一主播所在的第一主播端生成主播形象模型文件,并发送至服务器,其中,第一主播端对应的主播形象模型文件存储于主播形象模型文件列表,可以基于实际的业务需求在主播形象模型文件列表中确定待加密的主播形象模型文件;在确定了待加密的主播形象模型文件后,确定预设的加密算法,并基于加密算法确定用于对主播形象模型文件进行加密的目标混淆密钥。
具体的,获取目标混淆密钥的方法包括:
确定目标加密算法;
基于所述目标加密算法生成目标混淆密钥。
其中,目标加密算法是指对主播形象模型文件进行加密的算法,例如,AES、DES等加密算法;目标混淆密钥是指基于目标加密算法随机确定的密钥。
在实际应用中,为了提高主播形象模型文件在传输中的安全性,可以对每一个主播形象模型文件采用不同的加密算法进行加密,即在确定待加密的主播形象模型文件后,可以基于系统预先配置的算法信息确定目标加密算法,或基于预设算法选取规则为待加密的主播形象模型文件随机确定加密算法作为对主播形象模型文件进行加密的目标加密算法。
在本申请一具体实施方式中,以根据系统预先配置的算法信息确定目标加密算法为例,基于业务需求确定待加密的主播形象模型文件A,获取系统预先配置的算法信息AES-GCM算法,即AES算法中的GCM加密模型,将AES-GCM算法作为对主播形象模型文件A进行加密的目标加密算法。
在本申请另一具体实施方式中,以根据预设算法选取规则为待加密的主播形象模型文件随机确定加密算法为例,基于业务需求确定待加密的主播形象模型文件B,获取预设算法选取规则,其中,预设算法选取规则中包含了可以对主播形象模型文件进行加密的加密算法组成的加密算法列表,加密算法列表中包含AES算法、DES算法等;基于预设算法选取规则在加密算法列表中随机选取到DES算法,则将DES算法作为对主播形象模型文件进行加密的加密算法。
通过随机确定待加密的主播形象模型文件的加密算法,便于基于不同的加密算法确定对应的混淆密钥,从而便于后续基于不同的加密算法对主播形象模型文件进行加密,进而提高主播形象模型文件的传输安全性。
确定目标加密算法后,可以基于目标加密算法随机生成目标混淆密钥,例如,确定AES加密算法,AES加密算法可支持的密钥长度为128bits,则根据AES算法随机生成对应位数的密钥作为目标混淆密钥。
在确定了对主播形象模型文件进行加密的加密算法以及对应的目标混淆密钥后,还需要确定对主播形象模型文件进行加密的文件加密策略,即目标加密类型。
具体的,获取目标加密类型的方法包括:
获取预设选取规则;
基于所述预设选取规则确定目标加密类型。
其中,预设选取规则是指选取待加密的主播形象模型文件的文件加密策略的规则;目标加密类型是指对主播形象模型文件进行加密时采用的目标文件加密策略,例如,对主播形象模型文件A采用全量加密策略进行加密,即对主播形象模型文件A中包含的所有字节进行加密。
在实际应用中,为了进一步增强主播形象模型文件的传输安全性,除了可以为每个主播形象模型文件采用不同的加密算法外,还可以对每个主播形象模型文件采用不同的文件加密类型进行加密,即在确定待加密的主播形象模型文件后,可以基于系统预先配置的加密类型信息确定目标加密类型,或基于预设选取规则为待加密的主播形象模型文件随机选取加密类型作为对主播形象模型文件进行加密时的目标加密类型。
在本申请一具体实施方式中,以基于预设选取规则为待加密的主播形象模型文件随机选取目标加密类型为例,确定待加密的主播形象模型文件B,获取预设选取规则,其中,预设选取规则中包含文件加密类型列表,在文件加密类型列表中随机选取到全量加密类型,则将全量加密类型作为对主播形象模型文件B进行加密的目标加密类型。
需要说明的是,除接收第一主播端发送的包含属性信息的主播形象模型文件外,还可以接收包含模型图片的资源文件;对于包含模型图片的资源文件可采用对应的图片加密方法对包含模型图片的资源文件进行加密和传输,从而对主播虚拟形象文件进行多方位的保护,降低主播形象模型文件的传输风险。
本申请通过为不同的主播形象模型文件确定不同的加密算法、不同的混淆密钥以及不同的加密类型,以便后基于不同的加密算法、不同的混淆密钥以及不同的加密类型对不同的主播形象模型文件进行加密,进而便于后续最大程度的降低主播形象模型文件被攻破的损失。
步骤C4:基于所述目标加密类型确定所述主播形象模型文件中的待加密字节,并根据所述目标混淆密钥对所述待加密字节进行加密,获得主播形象加密文件。
具体的,在确定了对待加密的主播形象模型文件进行加密时的目标混淆密钥以及目标加密类型后,可以基于目标混淆密钥以及目标加密类型对主播形象模型文件进行加密,从而获得基于加密得到的主播形象加密文件。
在实际应用中,为了满足实际的业务需求,提升加密效率,在基于所述目标混淆密钥和所述目标加密类型对所述主播形象模型文件进行加密处理之前还包括:
接收主播形象模型文件加密请求,所述主播形象模型文件加密请求中包含业务需求信息;
响应于所述主播形象模型文件加密请求,遍历所述第一主播端对应的模型文件列表,并确定所述模型文件列表中符合所述业务需求信息的主播形象模型文件。
其中,主播形象模型文件加密请求是指对待加密的主播形象模型文件进行加密的请求;模型文件列表是指由第一主播对应的至少一个主播形象模型文件组成的列表。
具体的,每个主播端均存在对应的模型文件列表,每个模型文件列表中包含多个主播形象模型文件,为了提高主播形象模型文件的传输效率可以基于加密请求中的业务需求信息确定待加密的主播形象模型文件进行加密。
在本申请一具体实施方式中,以主播形象模型文件A为例,服务器接收到主播形象模型文件加密请求后,响应于加密请求,遍历主播端对应的模型文件列表,并基于加密请求中携带的位置需求信息,确定模型文件列表中携带有位置信息的主播形象模型文件A作为待加密的主播形象模型列表。
通过基于加密请求中业务需求信息,在模型文件列表中确定待加密的主播形象模型文件,即后续仅对确定的待加密的主播形象模型文件进行加密即可,从而提升了对主播形象模型文件进行加密的加密效率。
在确定了待加密的主播形象模型文件,以及主播形象模型文件的目标混淆密钥以及目标加密类型后,根据目标混淆密钥以及目标加密类型对主播形象模型文件进行加密。
在实际应用中,基于所述目标混淆密钥和所述目标加密类型对所述主播形象模型文件进行加密处理,获得主播形象加密文件的方法可以包括:
C4-1-2、若所述目标加密类型为前缀加密类型,则基于所述主播形象模型文件的文件属性信息确定密文长度信息。
其中,前缀加密类型是指对主播形象模型文件中的部分字节进行加密的加密策略;文件属性信息是指主播形象模型文件的大小,例如,主播形象模型文件A的属性信息为文件大小3k;密文长度信息是指主播形象模型文件中需要加密的字节长度。
具体的,以主播形象模型文件大小为10字节为例,在2的N次幂大于10的情况下,将N的值作为密文长度信息,例如,密文长度信息为4个字节。
C4-1-4、基于所述密文长度信息确定所述主播形象模型文件中的待加密字节及明文字节。
其中,待加密字节是指主播形象模型文件中需要加密的字节;明文字节是指主播形象模型文件中无需进行加密的字节。
具体的,沿用上例,根据密文长度信息4字节,在主播形象模型文件中确定4个字节作为后续进行加密的待加密字节,则剩余的6个字节为明文字节。
C4-1-6、根据所述目标混淆密钥对所述待加密字节进行加密获得加密密文。
其中,加密密文是指根据混淆密钥对待加密字节进行加密获得的加密字节。
具体的,沿用上例,根据目标混淆密钥对4个待加密字节进行加密获得4个字节的加密密文。
C4-1-8、基于所述加密密文、所述明文字节以及所述密文长度信息生成主播形象加密文件。
其中,主播形象加密文件是指对主播形象模型文件进行加密获得的文件。
具体的,沿用上例,将密文长度信息、加密密文以及明文字节封装为主播形象加密文件。
通过前缀加密类型以及目标混淆密钥对主播形象模型文件进行加密处理,即采用随机的加密算法以及文件加密策略对主播形象模型文件进行加密,从而提升主播形象模型文件的传输安全性。
在实际应用中,基于所述目标混淆密钥和所述目标加密类型对所述主播形象模型文件进行加密处理,获得主播形象加密文件的方法可以包括:
C4-2-2、若所述目标加密类型为分段加密类型,则基于预设分割规则确定所述主播形象模型文件中的至少两个字节分段,其中,每个字节分段中均包含待加密字节及明文字节。
其中,分段加密类型是指对主播形象模型中的字节分段进行加密的加密策略;预设分割规则是指在主播形象模型文件中分割出至少两个字节分段的规则,具体规则可以为每隔N个字节取M个字节进行加密,其中,M、N为正整数且不等于零,若分割至剩余Q个字节并且Q小于M,则可以将剩余的Q个字节组成一个字节分段;字节分段是指主播形象模型文件中的部分字节组成的字节段,例如,确定5个连续的字节,前3个字节为待加密字节,后2个字节为明文字节,由5个字节组成一个字节分段。
具体的,以主播形象模型文件B为例,确定预设分割规则的内容为每隔3个字节选取2个字节,则基于预设分割规则对主播形象模型文件进行分段,获得多个字节分段,每个字节分段中包含3个待加密字节以及2个明文字节。
C4-2-4、基于所述目标混淆密钥对每个字节分段中的待加密字节进行加密,获得加密密文,并统计加密密文的密文数量。
其中,每个字节分段中包含待加密字段,循环读取每个字节分段,并对字节分段中的待加密字节进行分段,获得加密密文;在每个字节分段中均包含加密字节的情况下,密文数量即主播形象模型文件中字节分段的数量。
具体的,沿用上例,循环读取每个字节分段中的待加密字节,并基于目标混淆密钥对每个字节分段中的待加密字节进行加密,获得加密密文;同时统计加密密文的密文数量。
C4-2-6、根据每个字节分段的加密密文和明文字节以及所述密文数量生成主播形象加密文件。
具体的,沿用上例,基于每个字节分段中的加密密文、明文字节以及统计的密文数量和分隔符封装为主播形象加密文件,具体为按照加密密文分行存储、明文字节连续存储的存储方式进行存储,其中,分隔符是指根据加密密文的长度确定的分隔长度。
通过分段加密类型以及目标混淆密钥对主播形象模型文件进行加密处理,即采用随机的加密算法以及文件加密策略对形象模型文件进行加密,从而提升主播形象模型文件的传输安全性。
在实际应用中,基于所述目标混淆密钥和所述目标加密类型对所述主播形象模型文件进行加密处理,获得主播形象加密文件的方法可以包括:
C4-3-2、若所述目标加密类型为全量加密类型,则若所述目标加密类型为全量加密类型,则将所述主播形象模型文件中的每个字节作为待加密字节,并基于所述目标混淆密钥对所述待加密字节进行加密,获得加密密文。
其中,全量加密类型是指对主播形象模型文件中的全部字节进行加密的加密策略。
具体的,以主播形象模型文件C为例,确定主播形象模型文件C中的待加密字节,并基于目标混淆密钥对待加密字节进行加密,获得加密密文。
B4-3-4、根据所述加密密文生成主播形象加密文件。
具体的,沿用上例,封装加密密文获得主播形象加密文件。
通过全量加密类型以及目标混淆密钥对主播形象模型文件进行加密处理,即采用随机的加密算法以及文件加密策略对主播形象模型文件进行加密,从而提升主播形象模型文件的传输安全性。
实际应用中,除上述的文件加密类型外,也可以采用其他文件加密类型对主播形象模型文件进行加密,本申请不做具体限制,可实现对待加密的主播形象模型文件进行加密的文件加密类型均可。
在确定了待加密的主播形象模型文件的加密方式后,建立加密方式与被加密文件之间的映射关系,并序列化存储至数据库中,以便后续确定如何对主播形象模型文件进行解密,具体的,加密方式中包括加密类型、加密算法以及混淆密钥。
通过随机确定的混淆密钥以及随机确定的加密类型对主播形象模型文件进行加密,便于提升后续传输主播形象模型文件的安全性。
步骤C6:接收所述第一主播端与第二主播端的互动请求,并基于所述互动请求将所述主播形象加密文件发送至所述第二主播端。
具体的,互动请求是指基于两个主播之间互动的需求进而生成的请求,可以是连麦请求,还可以是挑战(pk)请求等等;第二主播端是指第二主播所在的客户端,可以是任意一种智能设备,例如手机、平板电脑、智能计算机等,还可以是第二主播的观众对应的客户端,也即第二客户端。第二主播是指与第一主播进行互动的主播。
实际应用中,服务器接收到第一主播端发送的与第二主播端进行互动的请求,或者接收到第二主播端发送的与第一主播端进行互动的请求后,也即服务器接收到针对第一主播端与第二主播端的互动请求后,服务器根据该互动请求中的第二主播的主播标识,确定第二主播对应的第二主播端和观看第二主播的观众对应的观众客户端;将主播形象加密文件和目标混淆密钥发送至第二主播端。然后第二主播端根据目标混淆密钥对主播形象加密文件进行解密,得到第一主播的主播形象模型文件,进而基于第一主播的主播形象模型文件在第二主播端渲染并展示第一主播的虚拟形象。
需要说明的是,为了保证主播形象模型文件传输的安全性,服务器会将主播形象加密文件和目标混淆密钥分两次发送至第二主播端:首先服务器在接收针对第一主播端与第二主播端的互动请求的情况下,根据互动请求中第二主播的主播标识,将主播形象加密文件发送至与第二主播关联的第二主播端。然后第二主播端在接收到主播形象加密文件后,向服务器请求目标混淆密钥,此时服务器才会向目标客户端发送目标混淆密钥,为了提高密钥的传输安全性,可基于密钥传输协议(如ECDH协议等)建立用于传输密钥的传输连接。服务器在向第二主播端发送目标混淆密钥前,还需要记录第二主播端的文件使用信息,所述文件使用信息包括所述第二主播端对应的用户标识、使用场景、使用范围、使用文件标识和使用时间中的至少一种。如此,可以做到目标混淆密钥使用的可溯源行,能追查泄漏途径,为对不幸丢失后的追责保全提供线索与数据支持。
本申请直播连麦中主播形象模型文件的传输方法,接收第一主播端发送的主播形象模型文件,并获取目标混淆密钥以及目标加密类型;基于所述目标加密类型确定所述主播形象模型文件中的待加密字节,并根据所述目标混淆密钥对所述待加密字节进行加密,获得主播形象加密文件;接收所述第一主播端与第二主播端的互动请求,并基于所述互动请求将所述主播形象加密文件发送至所述第二主播端。通过目标混淆密钥以及目标加密类型对主播形象模型文件进行加密,保障了主播形象模型文件不易被获取,有效降低主播形象模型文件外泄的风险,提高了主播形象模型文件传输的安全性。
在本申请还提供了另一种的播形象模型文件的传输方法,应用于第二主播端,具体包括以下步骤:
步骤D2:接收服务器发送的主播形象加密文件和目标混淆密钥。
具体的,第二主播端是指第二主播所在的客户端,可以是任意一种智能设备,例如手机、平板电脑、智能计算机等,还可以是第二主播的观众对应的客户端,即为第二客户端;主播形象加密文件是指对主播形象模型文件进行加密处理获得的文件;目标混淆密钥是指对主播形象模型文件进行加密的密钥,可以是字符串,如数字、字母和符号中至少一种的组合,还可以是矩阵、数组等形式。第一主播端即为第一客户端,也即第一主播对应的客户端;第二主播端即为第二客户端,也即第二主播对应的客户端。
实际应用中,服务器在接收第一主播端发送的第一主播的主播形象模型文件后,获取目标混淆密钥和目标加密类型,然后基于目标混淆密钥和目标加密类型,对形象模型文件进行加密处理,得到主播形象加密文件。之后,服务器接收到第一主播端与第二主播端的互动请求后,服务器根据该互动请求中的第二主播的主播标识,确定第二主播对应的第二客户端或第二主播的观众对应的客户端,即第二主播端,将主播形象加密文件和目标混淆密钥发送至第二主播端,也即第二主播端接收服务器发送的主播形象加密文件和目标混淆密钥。
步骤D4:根据所述主播形象加密文件确定所述主播形象加密文件的目标加密类型。
具体的,服务器接收到主播形象加密文件后,对主播形象加密文件进行解析,确定主播形象加密文件的加密类型,如,解析主播形象加密文件,确定主播形象加密文件中不包含明文字节,则确定主播形象加密文件对应的目标加密类型为全量加密类型。
步骤D6:基于所述目标混淆密钥和所述目标加密类型对所述主播形象加密文件进行解密处理,得到所述主播形象模型文件。
实际应用中,基于所述目标混淆密钥和所述目标加密类型对所述主播形象加密文件进行解密处理,得到所述主播形象模型文件的方法可以包括:
若所述目标加密类型为前缀加密类型,则获取所述主播形象加密文件中的密文长度信息;
根据所述密文长度信息确定所述主播形象加密文件的加密密文和明文字节,并根据所述目标混淆密钥对所述加密密文进行解密处理,获得待加密字节;
基于所述待加密字节和所述明文字节获得所述主播形象模型文件。
例如,确定主播形象加密文件A的目标加密类型为前缀加密类型,则获取主播形象加密文件A的密文长度信息10个字节;基于密文长度信息10个字节确定主播形象加密文件A中10个字节的加密密文;基于目标混淆密钥对加密密文进行解密获得解密后的字节;由解密获得的字节与明文字节进行组合得到主播形象模型文件。
实际应用中,基于所述目标混淆密钥和所述目标加密类型对所述主播形象加密文件进行解密处理,得到所述主播形象模型文件的方法可以包括:
若所述目标加密类型为分段加密类型,则获取所述主播形象加密文件中的密文数量;
根据所述密文数量确定所述主播形象加密文件中的字节分段,并基于所述目标混淆密钥对每个字节分段中的加密密文进行解密,获得待加密字节和明文字节;
基于所述待加密字节和明文字节获得主播形象模型文件。
例如,确定主播形象加密文件B的目标加密类型为分段加密,则获取主播形象加密文件B的密文数量,根据密文数量确定主播形象加密文件B中的字节分段,并基于目标混淆密钥对每个字节分段中加密密文进行解密,获得解密后的字节;确定主播形象加密文件B中的分隔符,并将每个字节分段中获得的解密后的字节插入对应的分割符区域,从而使解密后的字节与明文字节封装为主播形象模型文件。
实际应用中,基于所述目标混淆密钥和所述目标加密类型对所述主播形象加密文件进行解密处理,得到所述主播形象模型文件的方法可以包括:
若所述目标加密类型为全量加密类型,则基于所述目标混淆密钥对所述主播形象加密文件中的加密密文进行解密,获得待加密字节;
基于所述待加密字节获得主播形象模型文件。
例如,确定主播形象加密文件C的目标加密类型为全量加密,则基于目标混淆密钥对主播形象加密文件C中的加密密文进行解密获得解密后的字节,由解密后的字节组成主播形象模型文件。
本申请应用于第二主播端的主播形象模型文件的传输方法,接收服务器发送的主播形象加密文件和目标混淆密钥;根据所述主播形象加密文件确定所述主播形象加密文件的目标加密类型;基于所述目标混淆密钥和所述目标加密类型对所述主播形象加密文件进行解密处理,得到主播形象模型文件。通过将基于目标混淆密钥以及目标加密类型对主播形象模型文件进行加密得到的主播形象加密文件进行解密,保障了主播形象模型文件不易被获取,有效降低主播形象模型文件外泄的风险,提高了主播形象模型文件传输的安全性。
与上述方法实施例相对应,本申请还提供了形象模型文件传输装置实施例,图10示出了本申请一实施例提供的一种形象模型文件传输装置的结构示意图。如图10所示,该装置应用于服务端,包括:
第一接收模块1002,被配置为接收第一客户端发送的第一主播的形象模型文件;
加密模块1004,被配置为获取目标密钥,基于所述目标密钥对所述形象模型文件进行加密处理,得到形象模型加密文件;
第一发送模块1006,被配置为若接收到针对所述第一主播与第二主播的互动请求,则基于所述互动请求携带的所述第二主播的主播标识,将所述形象模型加密文件发送至第二客户端;
第二发送模块1008,被配置为在接收到所述第二客户端发送的解密请求的情况下,将所述目标密钥发送至所述第二客户端,其中,所述目标密钥用于所述第二客户端对所述形象模型加密文件进行解密,获得所述形象模型文件。
可选地,所述装置还包括缩放模块,被配置为:
将所述形象模型文件中的图片数据进行缩放处理,得到更新的形象模型文件;
所述加密模块1004,还被配置为:
基于所述目标密钥对所述更新的形象模型文件进行加密处理,得到形象模型加密文件。
可选地,所述缩放模块,被配置为:
获取预设缩放规格表,所述预设缩放规格表中包括至少一个缩放规格;
利用所述缩放规格,对所述形象模型文件中的图片数据进行缩放处理,得到图片数据缩放后更新的形象模型文件。
可选地,所述第二发送模块1008,还被配置为:
对所述第二客户端发送的所述解密请求进行校验,判断所述解密请求是否符合预设解密规则;
若是,将所述目标密钥发送至所述第二客户端。
可选地,所述解密请求中携带有第二客户端公钥;
所述第二发送模块1008,还被配置为:
根据所述第二客户端公钥,对所述目标密钥进行第三加密处理,得到加密后的目标密钥;
将所述加密后的目标密钥发送至所述第二客户端。
可选地,所述装置还包括记录模块,被配置为:
在所述解密请求符合所述预设解密规则的情况下,提取并记录所述解密请求中携带的所述第二客户端的文件使用信息,所述文件使用信息包括所述第二客户端对应的用户标识、使用场景、使用范围、使用文件标识和使用时间中的至少一种。
可选地,所述装置还包括处理模块,被配置为:
接收所述第二客户端发送的互动视频流,所述互动视频流为所述第二客户端基于所述形象模型文件生成;
确定所述第二主播对应的观众标识:
将所述互动视频流发送至所述观众标识对应的观众客户端,所述互动视频流用于所述观众客户端展示所述第一主播与所述第二主播的互动画面。
本申请提供的形象模型文件传输装置,首先接收第一客户端发送的第一主播的形象模型文件;然后获取目标密钥,基于所述目标密钥对所述形象模型文件进行加密处理,得到形象模型加密文件;若接收到针对所述第一主播与第二主播的互动请求,则基于所述互动请求携带的所述第二主播的主播标识,将所述形象模型加密文件发送至第二客户端;在接收到所述第二客户端发送的解密请求的情况下,将所述目标密钥发送至所述第二客户端,其中,所述目标密钥用于所述第二客户端对所述形象模型加密文件进行解密,获得所述形象模型文件。通过对形象模型文件进行加密处理,从而使内存中存储的形象模型文件都是经过加密的,保障了主播的形象模型文件在内存里面不被获取到、且在第二客户端使用中安全,有效降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而服务端在接收到互动请求之前,就将形象模型文件加密完成,有利于在接收到互动请求之后,可以及时将形象模型文件发送给第二客户端,而不是在接收到互动请求之后再进行加密,如此,可以提高第二客户端的响应效率,能够使直播达到及时响应的效果;且在接收到第一主播的形象模型文件就进行加密,而不是在接收到互动请求之后再进行加密,可以为加密过程提供充足的时间,进而选择加密程度较高的加密算法进行加密,提高对形象模型文件的破译难度,从而进一步降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而将形象模型加密文件与目标密钥分开发送,只有第二客户端发送解密请求时,服务端才发送目标密钥,实现了动态管理目标密钥,进一步增加了形象模型文件的破译难度。此外,本申请提供的方法应用简单,降低了对各客户端的改造成本。
上述为本实施例的一种应用于服务端的形象模型文件传输装置的示意性方案。需要说明的是,该应用于服务端的形象模型文件传输装置的技术方案与上述的应用于服务端的形象模型文件传输方法的技术方案属于同一构思,应用于服务端的形象模型文件传输装置的技术方案未详细描述的细节内容,均可以参见上述应用于服务端的形象模型文件传输方法的技术方案的描述。
与上述方法实施例相对应,本申请还提供了形象模型文件传输装置实施例,图11示出了本申请一实施例提供的另一种形象模型文件传输装置的结构示意图。如图11所示,该装置应用于第二客户端,包括:
第二接收模块1102,被配置为接收服务端发送的形象模型加密文件,其中,所述形象模型加密文件为所述服务端基于目标密钥对所述第一主播的形象模型文件进行加密处理得到;
生成模块1104,被配置为根据所述形象模型加密文件生成解密请求,将所述解密请求发送至所述服务端;
解密模块1106,被配置为根据所述服务端基于所述解密请求发送的所述目标密钥,对所述形象模型加密文件进行解密,获得所述形象模型文件。
可选地,所述装置还包括查询模块,被配置为:
查询本地是否存储有所述形象模型加密文件;
若否,则生成形象模型加密文件获取请求,并将所述形象模型加密文件获取请求发送至所述服务端。
可选地,所述装置还包括渲染模块,被配置为:
根据所述形象模型文件,渲染所述第一主播的形象;
根据所述第一主播的形象和第二主播的形象,生成所述第一主播与所述第二主播的互动视频流,所述互动视频流用于展示所述第一主播与所述第二主播的互动画面。
可选地,所述装置还包括第三发送模块,被配置为:
将所述互动视频流发送至所述服务端,所述互动视频流用于所述服务端转发至所述第二主播对应的观众客户端。
本申请提供的形象模型文件传输装置,接收服务端发送的形象模型加密文件,其中,所述形象模型加密文件为所述服务端基于目标密钥对所述第一主播的形象模型文件进行加密处理得到;根据所述形象模型加密文件生成解密请求,将所述解密请求发送至所述服务端;根据所述服务端基于所述解密请求发送的所述目标密钥,对所述形象模型加密文件进行解密,获得所述形象模型文件。通过对形象模型文件进行加密处理,从而使内存中存储的形象模型文件都是经过加密的,保障了主播的形象模型文件在内存里面不被获取到、且在第二客户端使用中安全,有效降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而服务端在接收到互动请求之前,就将形象模型文件加密完成,有利于在接收到互动请求之后,可以及时将形象模型文件发送给第二客户端,而不是在接收到互动请求之后再进行加密,如此,可以提高第二客户端的响应效率,能够使直播达到及时响应的效果;且在接收到第一主播的形象模型文件就进行加密,而不是在接收到互动请求之后再进行加密,可以为加密过程提供充足的时间,进而选择加密程度较高的加密算法进行加密,提高对形象模型文件的破译难度,从而进一步降低主播的形象模型文件外泄的风险,提高了形象模型文件传输的安全性。而将形象模型加密文件与目标密钥分开发送,只有第二客户端发送解密请求时,服务端才发送目标密钥,实现了动态管理目标密钥,进一步增加了形象模型文件的破译难度。此外,本申请提供的方法应用简单,降低了对各客户端的改造成本。
上述为本实施例的一种应用于第二客户端的形象模型文件传输装置的示意性方案。需要说明的是,该应用于第二客户端的形象模型文件传输装置的技术方案与上述的应用于第二客户端的形象模型文件传输方法的技术方案属于同一构思,应用于第二客户端的形象模型文件传输装置的技术方案未详细描述的细节内容,均可以参见上述应用于第二客户端的形象模型文件传输方法的技术方案的描述。
图12示出了根据本申请一实施例提供的一种计算设备1200的结构框图。该计算设备1200的部件包括但不限于存储器1210和处理器1220。处理器1220与存储器1210通过总线1230相连接,数据库1250用于保存数据。
计算设备1200还包括接入设备1240,接入设备1240使得计算设备1200能够经由一个或多个网络1260通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备1240可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,NetworkInterface Controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本申请的一个实施例中,计算设备1200的上述部件以及图12中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图12所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备1200可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备1200还可以是移动式或静止式的服务器。
其中,处理器1220执行所述计算机指令时实现所述的形象模型文件传输方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的形象模型文件传输方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述形象模型文件传输方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述形象模型文件传输方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的形象模型文件传输方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述形象模型文件传输方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (15)
1.一种形象模型文件传输方法,其特征在于,应用于服务端,包括:
接收第一客户端发送的第一主播的形象模型文件;
获取目标密钥,基于所述目标密钥对所述形象模型文件进行加密处理,得到形象模型加密文件;
若接收到针对所述第一主播与第二主播的互动请求,则基于所述互动请求携带的所述第二主播的主播标识,将所述形象模型加密文件发送至第二客户端;
在接收到所述第二客户端发送的解密请求的情况下,将所述目标密钥发送至所述第二客户端,其中,所述目标密钥用于所述第二客户端对所述形象模型加密文件进行解密,获得所述形象模型文件。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标密钥对所述形象模型文件进行加密处理,得到形象模型加密文件之前,还包括:
将所述形象模型文件中的图片数据进行缩放处理,得到更新的形象模型文件;
所述基于所述目标密钥对将所述形象模型文件进行加密处理,得到形象模型加密文件,包括:
基于所述目标密钥对所述更新的形象模型文件进行加密处理,得到形象模型加密文件。
3.根据权利要求2所述的方法,其特征在于,所述将所述形象模型文件中的图片数据进行缩放处理,得到更新的形象模型文件,包括:
获取预设缩放规格表,所述预设缩放规格表中包括至少一个缩放规格;
利用所述缩放规格,对所述形象模型文件中的图片数据进行缩放处理,得到图片数据缩放后更新的形象模型文件。
4.根据权利要求1所述的方法,其特征在于,所述将所述目标密钥发送至所述第二客户端,包括:
对所述第二客户端发送的所述解密请求进行校验,判断所述解密请求是否符合预设解密规则;
若是,将所述目标密钥发送至所述第二客户端。
5.根据权利要求4所述的方法,其特征在于,所述解密请求中携带有第二客户端公钥;
所述将所述目标密钥发送至所述第二客户端,包括:
根据所述第二客户端公钥,对所述目标密钥进行第三加密处理,得到加密后的目标密钥;
将所述加密后的目标密钥发送至所述第二客户端。
6.根据权利要求4或5所述的方法,其特征在于,所述将所述目标密钥发送至所述第二客户端之前,还包括:
在所述解密请求符合所述预设解密规则的情况下,提取并记录所述解密请求中携带的所述第二客户端的文件使用信息,所述文件使用信息包括所述第二客户端对应的用户标识、使用场景、使用范围、使用文件标识和使用时间中的至少一种。
7.根据权利要求1所述的方法,其特征在于,所述在接收到所述第二客户端发送的解密请求的情况下,将所述目标密钥发送至所述第二客户端之后,还包括:
接收所述第二客户端发送的互动视频流,所述互动视频流为所述第二客户端基于所述形象模型文件生成;
确定所述第二主播对应的观众标识;
将所述互动视频流发送至所述观众标识对应的观众客户端,所述互动视频流用于所述观众客户端展示所述第一主播与所述第二主播的互动画面。
8.一种形象模型文件传输方法,其特征在于,应用于第二客户端,包括:
接收服务端发送的形象模型加密文件,其中,所述形象模型加密文件为所述服务端基于目标密钥对所述第一主播的形象模型文件进行加密处理得到;
根据所述形象模型加密文件生成解密请求,将所述解密请求发送至所述服务端;
根据所述服务端基于所述解密请求发送的所述目标密钥,对所述形象模型加密文件进行解密,获得所述形象模型文件。
9.根据权利要求8所述的方法,其特征在于,所述接收服务端发送的形象模型加密文件之前,还包括:
查询本地是否存储有所述形象模型加密文件;
若否,则生成形象模型加密文件获取请求,并将所述形象模型加密文件获取请求发送至所述服务端。
10.根据权利要求8所述的方法,其特征在于,所述根据所述服务端基于所述解密请求发送的所述目标密钥,对所述形象模型加密文件进行解密,获得所述形象模型文件之后,还包括:
根据所述形象模型文件,渲染所述第一主播的形象;
根据所述第一主播的形象和第二主播的形象,生成所述第一主播与所述第二主播的互动视频流,所述互动视频流用于展示所述第一主播与所述第二主播的互动画面。
11.根据权利要求10所述的方法,其特征在于,所述根据所述第一主播的形象和第二主播的形象,生成所述第一主播与所述第二主播的互动视频流之后,还包括:
将所述互动视频流发送至所述服务端,所述互动视频流用于所述服务端转发至所述第二主播对应的观众客户端。
12.一种形象模型文件传输装置,其特征在于,应用于服务端,包括:
第一接收模块,被配置为接收第一客户端发送的第一主播的形象模型文件;
加密模块,被配置为获取目标密钥,基于所述目标密钥对所述形象模型文件进行加密处理,得到形象模型加密文件;
第一发送模块,被配置为若接收到针对所述第一主播与第二主播的互动请求,则基于所述互动请求携带的所述第二主播的主播标识,将所述形象模型加密文件发送至第二客户端;
第二发送模块,被配置为在接收到所述第二客户端发送的解密请求的情况下,将所述目标密钥发送至所述第二客户端,其中,所述目标密钥用于所述第二客户端对所述形象模型加密文件进行解密,获得所述形象模型文件。
13.一种形象模型文件传输装置,其特征在于,应用于第二客户端,包括:
第二接收模块,被配置为接收服务端发送的形象模型加密文件,其中,所述形象模型加密文件为所述服务端基于目标密钥对所述第一主播的形象模型文件进行加密处理得到;
生成模块,被配置为根据所述形象模型加密文件生成解密请求,将所述解密请求发送至所述服务端;
解密模块,被配置为根据所述服务端基于所述解密请求发送的所述目标密钥,对所述形象模型加密文件进行解密,获得所述形象模型文件。
14.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述计算机指令时实现权利要求1-7或8-11任意一项所述方法的步骤。
15.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-7或8-11任意一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111615417.5A CN114302178A (zh) | 2021-12-27 | 2021-12-27 | 形象模型文件传输方法及装置 |
US18/070,033 US20230208618A1 (en) | 2021-12-27 | 2022-11-28 | Image Model File Transmission |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111615417.5A CN114302178A (zh) | 2021-12-27 | 2021-12-27 | 形象模型文件传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114302178A true CN114302178A (zh) | 2022-04-08 |
Family
ID=80970039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111615417.5A Pending CN114302178A (zh) | 2021-12-27 | 2021-12-27 | 形象模型文件传输方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230208618A1 (zh) |
CN (1) | CN114302178A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110268719A (zh) * | 2017-02-09 | 2019-09-20 | 耐瑞唯信有限公司 | 保护媒体内容 |
CN111079163A (zh) * | 2019-12-16 | 2020-04-28 | 国网山东省电力公司威海市文登区供电公司 | 加解密信息系统 |
CN111246225A (zh) * | 2019-12-25 | 2020-06-05 | 北京达佳互联信息技术有限公司 | 信息交互方法、装置、电子设备及计算机可读存储介质 |
US20200357174A1 (en) * | 2019-05-10 | 2020-11-12 | Qualcomm Incorporated | Virtual models for communications between autonomous vehicles and external observers |
CN113420317A (zh) * | 2021-03-20 | 2021-09-21 | 贵州北斗空间信息技术有限公司 | 一种三维模型的加密存储方法及系统 |
US20210360197A1 (en) * | 2020-05-12 | 2021-11-18 | True Meeting Inc. | Circumstances based 3d representations of participants of virtual 3d communications |
-
2021
- 2021-12-27 CN CN202111615417.5A patent/CN114302178A/zh active Pending
-
2022
- 2022-11-28 US US18/070,033 patent/US20230208618A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110268719A (zh) * | 2017-02-09 | 2019-09-20 | 耐瑞唯信有限公司 | 保护媒体内容 |
US20200357174A1 (en) * | 2019-05-10 | 2020-11-12 | Qualcomm Incorporated | Virtual models for communications between autonomous vehicles and external observers |
CN111079163A (zh) * | 2019-12-16 | 2020-04-28 | 国网山东省电力公司威海市文登区供电公司 | 加解密信息系统 |
CN111246225A (zh) * | 2019-12-25 | 2020-06-05 | 北京达佳互联信息技术有限公司 | 信息交互方法、装置、电子设备及计算机可读存储介质 |
US20210360197A1 (en) * | 2020-05-12 | 2021-11-18 | True Meeting Inc. | Circumstances based 3d representations of participants of virtual 3d communications |
CN113420317A (zh) * | 2021-03-20 | 2021-09-21 | 贵州北斗空间信息技术有限公司 | 一种三维模型的加密存储方法及系统 |
Non-Patent Citations (1)
Title |
---|
MOONKEY: "《csdn,https://blog.csdn.net/weixin_57881605/article/details/116419298》", 5 May 2021 * |
Also Published As
Publication number | Publication date |
---|---|
US20230208618A1 (en) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9276745B2 (en) | Preserving image privacy when manipulated by cloud services | |
WO2022247576A1 (zh) | 一种数据处理方法、装置、设备及计算机可读存储介质 | |
US9094733B2 (en) | Methods and systems for cryptographic access control of video | |
US9306744B2 (en) | Video cryptography system and method | |
CN102123026A (zh) | 基于混沌与超混沌的两层次视频流媒体加密方法 | |
Wajgade et al. | Enhancing data security using video steganography | |
CN106131008B (zh) | 视音频监控设备及其安全认证方法、视音频展示设备 | |
US20230208615A1 (en) | Online-Streamer Image Model File Transmission in Co-Hosting During Livestreaming | |
CN105744294A (zh) | 一种手机实现的视频混沌保密通信方法 | |
CN110598427B (zh) | 数据的处理方法、系统和存储介质 | |
CN107484161A (zh) | 一种基于移动自组网络的信息高效推送与安全分享方法 | |
CN114302178A (zh) | 形象模型文件传输方法及装置 | |
CN111131270B (zh) | 数据加密和解密方法、装置、电子设备及存储介质 | |
CN114339282A (zh) | 直播互动中主播形象图片的传输方法及装置 | |
Somaiya et al. | Implementation and evaluation of EMAES–A hybrid encryption algorithm for sharing multimedia files with more security and speed | |
KR102236897B1 (ko) | 영상 데이터 위변조 방지 방법 및 시스템 | |
Dixit et al. | Multilevel network security combining cryptography and steganography on ARM platform | |
Jolfaei | Robust encryption schemes for 3D content protection | |
KR102564618B1 (ko) | 송신자 또는 수신자의 미디어 콘텐츠 파일을 이용한 암호 시스템 및 방법 | |
CN116847127B (zh) | 混合图像与加密远程传输系统、方法及设备 | |
Liu et al. | Hiding media data via shaders: Enabling private sharing in the clouds | |
Raja et al. | Deep Steg Block: Deep Learning-Enhanced Steganography for Secure Communication in IoT Devices Using Blockchain | |
CN107426625B (zh) | 模式识别多媒体信息加密通讯系统 | |
Jayashree et al. | An improved multilevel resource handling strategy for cloud based video streaming | |
Zhou | An end-to-end encryption plugin for video call software |
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 |