CN107483505B - 一种对视频聊天中的用户隐私进行保护的方法及系统 - Google Patents

一种对视频聊天中的用户隐私进行保护的方法及系统 Download PDF

Info

Publication number
CN107483505B
CN107483505B CN201710907031.9A CN201710907031A CN107483505B CN 107483505 B CN107483505 B CN 107483505B CN 201710907031 A CN201710907031 A CN 201710907031A CN 107483505 B CN107483505 B CN 107483505B
Authority
CN
China
Prior art keywords
client
key
generated
server
public key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710907031.9A
Other languages
English (en)
Other versions
CN107483505A (zh
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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710907031.9A priority Critical patent/CN107483505B/zh
Publication of CN107483505A publication Critical patent/CN107483505A/zh
Application granted granted Critical
Publication of CN107483505B publication Critical patent/CN107483505B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种对视频聊天中的用户隐私进行保护的方法及系统,通过接收第一客户端发送的用于和第二客户端进行视频聊天交互的交互请求,利用第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文;将第一加密密文发送给第二客户端,使得第二客户端利用和私钥对应的公钥进行解密。由于由于该私钥对应的公钥其他客户端没有,因此第一加密密文即便被其他客户端获得也无法解密。另外接收第二客户端利用共享密钥对第二交互信息进行加密形成的第二加密密文,并将第二加密密文转发给第一客户端。由于共享密钥是基于第二客户端自身生成的私钥和第一客户端自身生成的公钥获得的共享密钥,故而服务器也不能够解密第二加密密文。

Description

一种对视频聊天中的用户隐私进行保护的方法及系统
技术领域
本申请涉及直播视频流播放技术领域,尤其涉及一种对视频聊天中的用户隐私进行保护的方法及系统。
背景技术
目前,视频设计类产品已获得较多的用户所喜爱,特别是在年轻用户中占据了一定的市场。同时视频交友也会设计一些功能使得陌生人可以进行随机匹配或者特定的匹配进行视频聊天。
然而,视频聊天不同于文字聊天,其可以看到对方的人,所以比较文字聊天的社交类产品,其在安全性或者用户隐私角度则需要更加注重用户数据的保密和安全。
发明内容
本发明了提供了一种对视频聊天中的用户隐私进行保护的方法及系统,以解决目前的视频聊天的安全性较低的技术问题。
为解决上述技术问题,本发明提供了一种对视频聊天中的用户隐私进行保护的方法,所述方法包括:
接收第一客户端发送的用于和第二客户端进行视频聊天交互的交互请求;
基于所述交互请求,利用所述第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文;其中,所述第二客户端对应的私钥是服务器利用非加密算法针对所述第二客户端生成的、所述第二客户端独有的私钥;
将所述第一加密密文发送给所述第二客户端,使得所述第二客户端利用和所述私钥对应的公钥进行解密;其中,所述公钥是所述服务器利用所述非对称算法针对所述第二客户端生成的、所述第二客户端独有且和所述私钥对应的公钥;
接收所述第二客户端利用共享密钥对第二交互信息进行加密形成的第二加密密文,并将所述第二加密密文转发给所述第一客户端,其中,所述共享密钥是基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得的共享密钥。
优选的,所述利用所述第二客户端对应的私钥对所述第一交互信息进行加密形成第一加密密文之前,所述方法还包括:
直接接收所述第二客户端发送的加密密钥,并利用所述加密密钥对所述第一交互信息进行加密;其中,所述加密密钥是属于所述第二客户端独有的密钥。
优选的,所述利用所述第二客户端对应的私钥对所述第一交互信息进行加密形成第一加密密文之前,所述方法还包括:
接收所述第二客户端发送的第一编码规则,并利用所述第一编码规则生成加密私钥,并利用所述第一编码规则生成的加密密钥对所述第一交互信息进行加密。
优选的,所述利用所述第二客户端对应的私钥对所述第一交互信息进行加密形成第一加密密文之前,所述方法还包括:
基于第二编码规则生成加密密钥,并利用所述第二编码规则生成的加密密钥对所述第一交互信息进行加密;
将所述第二编码规则发送给所述第二客户端。
优选的,所述利用所述第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文之前,所述方法还包括:
确定所述第一客户端生成所述第一交互信息的当前时间戳;
将所述当前时间戳融入第一交互信息中。
优选的,所述利用所述第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文之前,所述方法还包括:
生成所述第一客户端用于和所述第二客户端进行视频聊天交互的临时标识,所述临时标识和所述第一客户端唯一的用户身份证明标识UID不同;
利用所述临时标识替换所述第一客户端的用户身份证明标识,并融入所述第一交互信息中。
优选的,所述接收所述第二客户端利用共享密钥对第二交互信息进行加密形成的第二加密密文之前,所述方法还包括:
接收所述第一客户端自身生成的公钥,并将所述第一客户端自身生成的公钥转发给所述第二客户端,使得所述第二客户端基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得所述共享密钥;
接收所述第二客户端自身生成的公钥,并将所述第二客户端自身生成的公钥转发给所述第一客户端,使得所述第一客户端基于所述第一客户端自身生成的私钥和所述第二客户端自身生成的公钥获得所述共享密钥。
优选的,所述接收所述第二客户端利用共享密钥对第二交互信息进行加密形成的第二加密密文,并将所述第二加密密文转发给所述第一客户端之后,所述方法还包括:
接收所述第一客户端利用共享密钥对第三交互信息进行加密形成的第三加密密文,并将所述第三加密密文转发给所述第二客户端。
本发明的另一个方面,公开了一种服务器,包括:
第一接收模块,用于接收第一客户端发送的用于和第二客户端进行视频聊天交互的交互请求;
加密模块,用于基于所述交互请求,利用所述第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文;其中,所述第二客户端对应的私钥是服务器利用非加密算法针对所述第二客户端生成的、所述第二客户端独有的私钥;
发送模块,用于将所述第一加密密文发送给所述第二客户端,使得所述第二客户端利用和所述私钥对应的公钥进行解密;其中,所述公钥是所述服务器利用所述非对称算法针对所述第二客户端生成的、所述第二客户端独有且和所述私钥对应的公钥;
第二接收模块,接收所述第二客户端理由共享密钥加密并生成的第二交互信息形成第二加密密文,并将所述第二加密密文发送给所述第一客户端,其中,所述共享密钥是基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥生成的密钥。
优选的,所述加密模块,还用于利用所述第二客户端对应的私钥对所述第一交互信息进行加密形成第一加密密文之前,直接接收所述第二客户端发送的加密密钥,并利用所述加密密钥对所述第一交互信息进行加密;其中,所述加密密钥是属于所述第二客户端独有的密钥。
优选的,所述加密模块,还用于接收所述第二客户端发送的第一编码规则,并利用所述第一编码规则生成加密私钥,并利用所述第一编码规则生成的加密密钥对所述第一交互信息进行加密。
优选的,所述加密模块,还用于基于第二编码规则生成加密密钥,并利用所述第二编码规则生成的加密密钥对所述第一交互信息进行加密;
所述发送模块,还用于将所述第二编码规则发送给所述第二客户端。
优选的,所述系统还包括:
确定模块,用于确定所述第一客户端生成所述第一交互信息的当前时间戳;
第一融入模块,用于将所述当前时间戳融入第一交互信息中。
优选的,所述系统还包括:
生成模块,用于生成所述第一客户端用于和所述第二客户端进行视频聊天交互的临时标识,所述临时标识和所述第一客户端唯一的用户身份证明标识UID不同;
第二融入模块,用于利用所述临时标识替换所述第一客户端的用户身份证明标识,并融入所述第一交互信息中。
优选的,所述第一交互信息至少包括:用户的名称、所述临时标识、用户的性别、用户的喜好、用户的城市、所述第一客户端生成所述第一交互信息的当前时间戳。
优选的,所述第二接收模块,还用于接收所述第一客户端自身生成的公钥,并将所述第一客户端自身生成的公钥转发给所述第二客户端,使得所述第二客户端基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得所述共享密钥;
所述第二接收模块,还用于接收所述第二客户端自身生成的公钥,并将所述第二客户端自身生成的公钥转发给所述第一客户端,使得所述第一客户端基于所述第一客户端自身生成的私钥和所述第二客户端自身生成的公钥获得所述共享密钥。
优选的,所述第二接收模块,还用于接收所述第一客户端利用共享密钥对第三交互信息进行加密形成的第三加密密文,并将所述第三加密密文转发给所述第二客户端。
本发明的另一个方面,公开了一种对视频聊天中的用户隐私进行保护的系统,包括:
第一客户端,用于发送用于和第二客户端进行视频聊天交互的交互请求;
服务器,用于接收所述交互请求;
所述服务器,用于基于所述交互请求,利用所述第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文;其中,所述第二客户端对应的私钥是服务器利用非加密算法针对所述第二客户端生成的、所述第二客户端独有的私钥;
所述服务器,用于将所述第一加密密文发送给所述第二客户端;
所述第二客户端,用于利用和所述私钥对应的公钥进行解密;其中,所述公钥是所述服务器利用所述非对称算法针对所述第二客户端生成的、所述第二客户端独有且和所述私钥对应的公钥;
所述服务器,用于接收所述第二客户端理由共享密钥加密并生成的第二交互信息形成第二加密密文,并将所述第二加密密文发送给所述第一客户端,其中,所述共享密钥是基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥生成的密钥。
优选的,所述第一客户端,用于获得所述第一客户端自身生成的私钥和所述第一客户端自身生成的公钥;
所述第二客户端,用于获得所述第二客户端自身生成的私钥和所述第二客户端自身生成的公钥;
服务器,用于接收所述第一客户端自身生成的公钥并将其转发给所述第二客户端;还用于接收第二客户端自身生成的公钥并将其转发给所述第一客户端;
所述第一客户端,用于基于所述第一客户端自身生成的私钥和所述第二客户端自身生成的公钥获得共享密钥;
所述第二客户端,用于基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得所述共享密钥。
优选的,所述第二客户端,还用于利用所述共享密钥对第二交互消息进行加密形成第二加密密文,并将所述第二加密密文发送给所述服务器;
所述服务器,还用于将所述第二加密密文转发给所述第一客户端;
所述第一客户端,还用于利用所述共享密钥对第三交互消息进行加密形成第三加密密文,并将所述第三加密密文发送给所述服务器;
所述服务器,还用于将所述所述第三加密密文转发给所述第二客户端。
本发明的另一个方面,公开了一种计算机可读存储介质,其上存储有计算机程序,其该程序被处理器执行时实现上述方法技术方案中的步骤。
本发明的另一个方面,公开了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法技术方案中的步骤。
通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:
本发明公开了一种对视频聊天中的用户隐私进行保护的方法和系统,通过接收第一客户端发送的用于和第二客户端进行视频聊天交互的交互请求;然后基于所述交互请求,利用所述第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文;由于该私钥加密只能用对应的公钥解密,而公钥只有第二客户端才有,其他客户端是没有的,故而最后将所述第一加密密文发送给所述第二客户端,使得所述第二客户端利用和所述私钥对应的公钥进行解密。由于第二客户端的公钥只有第二客户端有,其他的客户端是没有第二客户端的公钥的,因此,即便是该第一加密密文被第三方截取,也没有办法解密,进而可以保证第一客户端和第二客户端在视频交互时第一交互信息传输的安全性,另外,为了进一步保证信息传输的安全,还接收所述第二客户端利用共享密钥对第二交互信息进行加密形成的第二加密密文,并将所述第二加密密文转发给所述第一客户端。由于所述共享密钥是基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得的共享密钥,故而服务器也不能够解密第二加密密文,进而能够保证第二加密密文的数据传输的安全性。
附图说明
图1为本发明实施例中客户端和服务器的交互示意图;
图2为本发明实施例中一种对视频聊天中的用户隐私进行保护的方法的流程图;
图3为本发明实施例中一种服务器的示意图。
具体实施方式
为了使本申请所属技术领域中的技术人员更清楚地理解本申请,下面结合附图,通过具体实施例对本申请技术方案作详细描述。
本发明先介绍一种对视频聊天中的用户隐私进行保护的系统的具体架构。
该系统包括以下几个部分:服务器、第一客户端、第二客户端。当然,本发明的客户端并不限于是第一客户端和第二客户端两个,客户端是不限数目的,只是不管有多少客户端,客户端之间的通信和第一客户端、第二客户端之间的通信是类似的,故而本发明只是以第一客户端、第二客户端进行举例。
本发明的服务器,指的是视频直播平台的后台服务器,例如XX直播的后台服务器。视频直播平台是本发明的服务器的一种表现形式。
本发明的客户端,指的是和用户对应的客户端,并不是特指某个设备本身。即便是同一个设备,两个用户利用不同的账户在视频直播平台上分别进行登录,那么就分别称之为:用户1对应的客户端和用户2对应的客户端,被看做是两个不同的客户端。而同一个用户,利用两个账户在视频直播平台上分别登录,也被看做是两个客户端。也就是说,对本发明的单个用户来说,用户、账户、客户端的关系是:1个用户、N个账户、N客户端,N为正整数,也就是说,1个用户可以在直播服务平台上注册有多个账户,每个账户都对应一个客户端。故而,本发明的第一客户端和第二客户端所针对的用户,可能是同一个人,也可能是不同的人。当然,为了便于说明,本发明的第一客户端和第二客户端分别对应的是不同的用户。本发明中的举例中,第一客户端(客户端A)对应的是用户A、第二客户端(客户端B)对应的是用户B。
本发明设计的主要目的是对两个视频交友的用户在进行信息交互时,保证交互信息的保密和安全。由于视频交友的特殊性,所以交互信息的安全更为重要。
首先,各用户使用各自对应的客户端登录到视频服务平台,视频服务平台是以应用程序的形式存在,是服务器呈现的一种形式,例如直播类的应用程序等等。
其次,对于服务器来说,服务器会对登录到视频直播平台的每个客户端利用非对称加密算法生成一对公钥私钥,不同的客户端则生成不同的公钥私钥。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。在具体的实施过程中,当用户利用客户端登录到服务器后,服务器会对该账户进行验证,只有合法的注册用户才能正常登录到平台服务器。登录验证成功后,服务器则会生成一对公钥私钥,服务器将公钥通过网络协议发送给该客户端,私钥服务器自身进行保存。对于每一个账户登录到服务器,服务器都采取相同的策略。具体实现如下:
本文使用非对称算法RSA来生成公钥私钥。
RSA.CreatePairKey(SecretKey,PublicKey);
使用RSA算法来生成一对私钥KEY和公钥KEY。
此公钥私钥则是一对秘钥,其中可以用公钥来加密数据,用私钥来解密数据。服务器则会将公钥PublicKey发送给该用户。
当各客户端登录时,服务器则会针对每个客户端生成各自的一对公钥私钥,然后将生成的公钥发送给对应的客户端。举例来说,参看图1,是客户端和服务器的交互示意图。第一客户端(客户端A)和第二客户端(客户端B)登录平台之后,服务器会针利用对客户端A生成对应的一对公钥a私钥a’,将对应的公钥a发送给客户端A。服务器针对客户端B生成对应的另一对公钥b私钥b’,将对应的公钥b发送给客户端B。这两对公钥私钥是不同的。
再次,对于第一客户端来说,第一客户端自身也会生成一对公钥私钥。参看图1,分别称之为:第一客户端自身生成的公钥c、第一客户端自身生成的私钥c’。
最后,对于第二客户端来说,第二客户端自身也会生成一对公钥私钥。参看图1,分别称之为:第二客户端自身生成的公钥d、第二客户端自身生成的私钥d’。
有了以上架构,本发明的系统的交互过程则如下所示:
第一客户端,用于发送用于和第二客户端进行视频聊天交互的交互请求。
服务器,用于接收所述交互请求。
所述服务器,用于基于所述交互请求,利用所述第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文。其中,所述第二客户端对应的私钥是服务器利用非加密算法针对所述第二客户端生成的、所述第二客户端独有的私钥。
所述服务器,用于将所述第一加密密文发送给所述第二客户端。
所述第二客户端,用于利用和所述私钥对应的公钥进行解密。其中,所述公钥是所述服务器利用所述非对称算法针对所述第二客户端生成的、所述第二客户端独有且和所述私钥对应的公钥。
当用户通过搜索查找视频交友用户时,服务器则会将一对视频交友的第一交互信息,使用对方的私钥进行加密后发送给对方。举例来说,客户端A发送给客户端B的第一交互信息使用客户端B的私钥b’加密。然后,将加密后的第一交互信息发送给客户端B。在客户端B对其进行解密时,由于只有客户端B才有能够解开该加密后的第一交互信息的公钥b,所以此用户信息在网络中传输时,即使被黑客所截取,也没有办法解密,从而可以保证一对视频交友信息中的用户信息是完全加密保护的状态,进而保证信息传输的安全性。
当然,在第二客户端传输交互消息给第一客户端时,服务器也会利用第一客户端对应的公钥进行加密然后传输给第一客户端,使得第一客户端可利用对应的私钥进行解密,而其他的客户端即便得到该交互消息,但是没有对应的解密私钥(第一客户端对应的私钥只有第一客户端独有,其他客户端是没有的),故而其他客户端也是不能够解密该交互消息的,进而能够保证第一客户端和第二客户端在信息传输时的安全性和保密性。
进一步的,为了进一步保证信息传输的安全,本发明在上述基础上还进一步加强了数据传输的保密性,使得服务器也不能够获知交互信息中的具体内容。此处的设计思想如下:
客户端A和客户端B也分别各自生成一对公钥私钥,并且通过服务器分别将各自的公钥发送给对方。那么客户端A则具有客户端B自身生成的公钥d,客户端B则具有A自身生成的公钥c。然后,客户端A调用非对称加密算法使用客户端A自身生成的私钥c’和客户端B自身生成的公钥d来生成一个唯一的共享密钥,客户端B调用非对称加密算法使用客户端B自身生成的私钥d’和客户端A自身生成的公钥c来生成一个唯一的共享密钥。最终客户端A和客户端B都具有了该共享密钥,并且客户端A和客户端B的共享密钥是相同的。当这样即使服务器本身也没有客户端A或者客户端B的私钥,所以服务器也没有办法得到该共享密钥来解密交互信息。
故而,对于所述服务器来说,还用于接收所述第二客户端理由共享密钥加密并生成的第二交互信息形成第二加密密文,并将所述第二加密密文发送给所述第一客户端,其中,所述共享密钥是基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥生成的密钥。
在生成和转发客户端各自生成的公钥私钥的实施过程中:
所述第一客户端,用于获得所述第一客户端自身生成的私钥和所述第一客户端自身生成的公钥。
所述第二客户端,用于获得所述第二客户端自身生成的私钥和所述第二客户端自身生成的公钥。
服务器,用于接收所述第一客户端自身生成的公钥并将其转发给所述第二客户端。还用于接收第二客户端自身生成的公钥并将其转发给所述第一客户端。
所述第一客户端,用于基于所述第一客户端自身生成的私钥和所述第二客户端自身生成的公钥获得共享密钥。
所述第二客户端,用于基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得所述共享密钥。
作为一种可选的实施例,
所述第二客户端,还用于利用所述共享密钥对第二交互消息进行加密形成第二加密密文,并将所述第二加密密文发送给所述服务器。
所述服务器,还用于将所述第二加密密文转发给所述第一客户端。
所述第一客户端,还用于利用所述共享密钥对第三交互消息进行加密形成第三加密密文,并将所述第三加密密文发送给所述服务器。
所述服务器,还用于将所述所述第三加密密文转发给所述第二客户端。
下面举例进行说明。
在视频传输的过程中,为了保证视频数据交互时的安全性,故而会创建视频加解密的共享秘钥。
当视频交友的用户A和用户B都从对方的用户信息(该用户信息则是利用了服务器为各客户端创建的公钥私钥进行加密传输的)中收到了对方的公钥信息后,则可以使用非对称加密算法来对创建一个共享秘钥来用于对后续视频聊天的视频数据进行加解密。在非对称加密算法中,其提供了接口,用于生成共享的秘钥。
在用户A调用客户端A起动应用程序时,客户端A生成了一对自己的公钥和私钥。具体则是私钥SecretKeyA和公钥PublicKeyA。而当用户A和用户B匹配上进行视频交友时,服务器会将客户端B的生成的公钥PublicKeyB通过用户信息转发给客户端A。此时客户端A则具有了客户端B的公钥PublicKeyB。此时则客户端A使用非对称加密算法的接口来生成一个共享的KEY。具体实现如下:
ShredKey=RSA.Shared(SecretKeyA,PublicKeyB);
具体则是使用客户端A的私钥,和客户端B的公钥,从而最终生成共享的ShredKey。
在用户B调用客户端B起动应用程序时,客户端B生成了一对自己的公钥和私钥。具体则是私钥SecretKeyB和公钥PublicKeyB。而当用户A和用户B匹配上进行视频交友时,服务器会将客户端A的生成的公钥PublicKeyA通过用户信息转发给客户端B。此时客户端B则具有了客户端A的公钥PublicKeyA。此时则客户端B使用非对称加密算法的接口来生成一个共享的KEY。具体实现如下:
ShredKey=RSA.Shared(SecretKeyB,PublicKeyA);
具体则是使用客户端B的私钥,和客户端A的公钥,从而最终生成共享的ShredKey。
此时客户端A和客户端B都生成了一个共享的ShredKey,并且此ShredKey的值在客户端A和客户端B上都是一样的。从而后续的视频流加解密则会使用此共享秘钥。
哪怕即使对于视频交友的服务器来说,他也只转发了客户端A和客户端B的公钥,并没有客户端A的私钥或者是客户端B的私钥,所以即使是服务器也无法对视频流进行解密。而只有客户端A和客户端B才能对彼此的视频流进行解密,从而极大的保障了用户的视频流数据的安全性,也极大的保护了用户的隐私。
因为现有的客户端A和客户端B进行视频聊天,那么客户端A的视频流则是加密后发送到服务器,服务器则转发到客户端B,同样的客户端B的视频流则是加密后发送到服务器,服务器则转发到客户端A。服务器则起到一个中转的作用。
在介绍完毕客户端A和客户端B各自生成的公钥私钥之后,下面介绍客户端对视频流使用共享KEY来加密。
而在加密视频流时,可以对整个视频流进行加密传输,但是对于视频聊天来说,视频数据量是非常大的,从而如果对整个视频流数据进行都加密的话,会消耗非常多的用户CPU资源,从而产生终端设备发热等等,而对于视频流数据来说,其是有对视频流进行编码压缩的,所以其数据是有固定格式的。而对于视频流数据来说,视频数据会被压缩成一帧一帧的图片数据,每一帧代表一副静止的图像,其中对数据帧则会分成I帧,P帧和B帧。
其中I帧则标示关键帧,其是一副画面的完整保留,解密视频数据时只需要本帧则可以解密出完整的画面。
其中P帧则标示这一帧和之前的一个关键帧的差别,解密时则需要用之前的缓存的画面叠加上本帧定义的差别,才能生成最终的画面。
其中B帧则标示是双向差别帧,也就是B帧记录的是本帧与前后帧的差别,解密B帧时,不仅要取得之前的缓存画面,还要解密之后的画面,通过前后画面的与本帧的叠加取得最终的画面。
因此其实对于视频帧数据来说,最关键的视频帧数据中的所有的I帧的数据,只需要对其进行加密,则可以实现对整个视频流数据的加密,从而也可以极大的节省视频流加密解密的速度和对CPU的资源消耗。
故而,在具体的实施过程中,第一客户端在传输第一视频数据流给第二客户端时,第一客户端会利用共享密钥对所述第一视频数据流中的I帧进行加密,然后将加密后的I帧传输给服务器,让服务器转发给第二客户端。
第二客户端在传输第二视频数据流给第一客户端时,第二客户端会利用共享密钥对所述第二视频数据流中的I帧进行加密,然后将加密后的I帧传输给服务器,让服务器转发给第一客户端。
具体来说,则是在对用户端采集的视频数据进行编码后上传到服务器时,对编码的视频数据使用对称加密算法来将其中的I帧数据进行加密,从而相当于是对整个视频数据进行了加密。在此使用对称加密算法,是由于本文通过之前客户端A和客户端B进行互换公钥后计算得到一个共享秘钥。客户端A和客户端B则有一个一致的共享秘钥,那么客户端A将视频数据使用对称加密算法加密后,通过服务器转发给客户端B,那么客户端B则可以使用同样的加密算法和KEY解密出原始的数据。同样的对于客户端B也一样。具体实现如下:
Aes.Encrpyt(videoIFramedata,length,ShredKey);
其中videoIFramedata则是视频流数据中的I帧数据,其中length则是其数据的长度,其中ShredKey则是用于加密的KEY值。
此方法将视频数据加密后上传到服务器,服务器自身也是无法对数据进行解密的。而对于收到视频流数据的用户来说,则使用共享的ShredKey来进行解密。具体实现如下:
Aes.Decrpyt(videoIFramedata,length,ShredKey);
至此,就实现了用户在上传视频倒服务器时则使用对称加密算法来对视频的I帧数据进行加密,并且使用共享密钥KEY来做加密,同样的收到加密视频的用户则用共享密钥KEY来进行解密。
以上,则是本发明的系统架构及其具体交互过程,下面具体介绍本发明的服务器侧进行交互的实施过程。
参看图2,本发明公开了一种对视频聊天中的用户隐私进行保护的方法,该方法包括:
步骤11,接收第一客户端发送的用于和第二客户端进行视频聊天交互的交互请求。
在具体的实施过程中,本发明实施例的交互请求可以是视频聊天开始时,在查找好友时生成的交互请求。也可以是成为好友之后,视频聊天时产生的用于发送各自聊天消息的交互请求。
例如,当用户A(即:使用第一客户端的用户)通过视频交友来查找好友时,例如通过昵称或者其他(如:用户位置)来查找到匹配的视频好友用户B(即:使用第二客户端的用户)时,第一客户端根据用户A的操作会生成用于和第二客户端(用户B)进行视频聊天交互的交互请求,服务器则需要根据该交互请求先将用户A的用户信息发送过去,并且接受好友用户B的用户信息,若双方同意,从而匹配的两个用户可以进行视频聊天。
步骤12,基于所述交互请求,利用所述第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文。
在本实施例的具体实施过程中,首先介绍本发明实施例提到的第一交互信息。
第一交互信息,是第一客户端发送给第二客户端用于交互的信息,根据种类划分,包括但不限于是:语音聊天信息、视频聊天信息、文字聊天信息、请求加好友时发送的个人隐私信息等等。举例来说,例如视频数据流。
而第一交互信息的具体内容,包括但不限于是:用户的名称、用户的UID(用户身份证明,User Identification)、用户的性别、用户的喜好、用户的城市、生成第一交互信息的当前时间戳、聊天内容等等。
在这些第一交互信息具体内容中,对于用户的UID来说,由于视频交友的特殊性,对于用户的隐私则需要更多的安全性以及防骚扰。而在视频交友平台中,一个用户的UID则代表了一个用户的唯一标识,是固定的,能够真实的表示该用户的信息。比如,甲在论坛注册后获得UID23,UID23就表示甲。那其后乙注册应该是UID24,UID24就表示乙。
那么此UID一旦被对方所获取,对方就知道了该用户的真实UID,则很可能在此次聊天结束之后,在用户原本不想再接触的情况下受到对方不断的骚扰聊天。故而本发明实施例中将客户端对应的唯一固定的UID修改成临时标识(临时UID)。也就是说,每天或者每次聊天服务器都会对客户端重新生成一个临时UID,该临时UID和用户真实的UID不同,不能够反应用户的的真实情况,只是作为替代的标识,临时UID是可变的,每次视频交互时,服务器都可以为发送第一交互信息的第一客户端分配临时UID(当然,若第二客户端发送第一交互信息时,服务器也会为第二客户端分配临时UID)。进而在视频交友匹配时,第一交互信息中的用户的UID则是被替换成了临时UID,而不是用户真实的UID,从而将用户真实的UID进行了隐藏。而临时UID则总是变化的,则不对应到具体的某一个人,以此来保护用户的安全。
故而,在利用所述第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文之前,服务器会对第一客户端对应的第一交互信息进行处理,在具体的处理过程中,生成所述第一客户端用于和所述第二客户端进行视频聊天交互的临时标识,所述临时标识和所述第一客户端唯一的用户身份证明标识UID不同。然后利用所述临时标识替换所述第一客户端的用户身份证明标识,并融入所述第一交互信息中。如此一来,第一交互信息中的用户用户身份证明标识UID则被替换成了临时UID。
而对于时间戳来说,可以使得信息的加密结果更具有可变性,因为第一客户端对应的用户信息不会变化,从而导致加密的结果不会变化,而引入时间变量,则加密结果每次都会是变化的,从而更加的安全。
故而,在利用所述第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文之前,服务器会确定所述第一客户端生成所述第一交互信息的当前时间戳。将所述当前时间戳融入第一交互信息中。
介绍完毕第一交互信息之后,本发明在服务器利用第一客户端对应的私钥对该第一交互信息进行加密之前,第一客户端会上传该第一交互信息给服务器,在上报第一交互信息到服务器的过程中,第一客户端是使用对应的公钥来进行加密的,进而服务器在接收到该第一交互信息之后,是使用第一客户端对应的私钥来进行解密的。举例来说,当客户端A更新或者上报用户个人信息到服务器时,例如上报自己的位置信息或其他信息到服务器,客户端A则会使用客户端A对应的公钥来对信息加密后再发送到服务器,故而只有服务器才有客户端A对应的私钥解密出该信息,从而保障信息在网络传输过程中的安全性。
而在服务器加密的过程中,会使用第二客户端对应的私钥对第一交互信息进行加密,故而在解密时,只能够使用第二客户端对应的公钥对第一交互信息进行解密,即便是被黑客所截取,也没有办法解密,从而可以保证一对视频交友信息中的用户信息的安全。
所述第二客户端对应的私钥是服务器利用非加密算法针对所述第二客户端生成的、所述第二客户端独有的私钥。也就是说,第二客户端对应的私钥是第二客户端独有的,其他客户端没有,因此即便是其他客户端得到了该第一加密密文,也不能解密,从而保证第一交互信息传输的安全性。
作为一种可选的实施例,为了进一步保证加密的安全性,可以在利用私钥加密之前,先对第一交互信息进行加密。在具体的实施过程中,服务器直接接收所述第二客户端发送的加密密钥,并利用所述加密密钥对所述第一交互信息进行加密。其中,所述加密密钥是属于所述第二客户端独有的密钥。具体来说,加密密钥是由第二客户端发送给服务器的。故而,服务器在发送第一交互信息时,不用再发送加密密钥给第二客户端,第二客户端可以直接调用本地的加密密钥对其进行解密,能够避免传输加密密钥,进而减少被第三方截取盗用的风险,进一步保证信息传输的安全。并且,由于加密密钥只有第二客户端和服务器才有,故而即便加密之后的第一交互信息被另外的客户端获取,也没有办法解密,从而可以保证一对视频交友信息中的用户信息的安全。
作为一种可选的实施例,第二客户端可以不直接发送加密密钥,而只是发送编码加密密钥的编码规则给服务器。具体来说,在利用所述第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文之前,接收所述第二客户端发送的第一编码规则,并利用所述第一编码规则生成加密私钥,并利用所述第一编码规则生成的加密密钥对所述第一交互信息进行加密。这样做的好处是:首先,第一编码规则是由第二客户端发送给服务器的。故而,服务器在发送第一交互信息时,不用再发送加密密钥给第二客户端,第二客户端可以直接调用本地的第一编码规则生成加密密钥对其进行解密,能够避免传输第一编码规则,进而减少被第三方截取盗用的风险,进一步保证信息传输的安全。其次,由于第一编码规则只有第二客户端和服务器才有,故而即便加密之后的第一交互信息被另外的客户端获取,也没有办法解密,从而可以保证一对视频交友信息中的用户信息的安全。
作为一种可选的实施例,在利用所述第二客户端对应的私钥对所述第一交互信息进行加密形成第一加密密文之前,服务器还可以基于第二编码规则生成加密密钥,并利用所述第二编码规则生成的加密密钥对所述第一交互信息进行加密。将所述第二编码规则发送给所述第二客户端。第二编码规则是服务器确定出的编码规则用来对第一交互信息进行加密。故而在传输加密后的第一交互信息给第二客户端之后,还会传输第二编码规则给第二客户端,使得第二客户端可根据第二编码规则生成对应的解密密钥对加密后的第一交互信息进行解密。因此,即便是其他客户端获取到了加密后的第一交互信息,没有得到第二编码规则也是无法对其解密的,进而能够进一步保证信息传输的安全性。
在加密完成之后,则可以进行下一步骤。
步骤13,将所述第一加密密文发送给所述第二客户端,使得所述第二客户端利用和所述私钥对应的公钥进行解密。
而在解密的过程中,首先,本发明实施例提到的公钥,是所述服务器利用所述非对称算法针对所述第二客户端生成的、所述第二客户端独有且和所述私钥对应的公钥。
其次,在第二客户端进行解密的过程中,是利用服务器针对第二客户端生成的一对私钥公钥中的公钥进行解密的,由于该私钥公钥是一对,且是第二客户端独有的,故而只有第二客户端能够对该第一加密密文进行解密。
由于第一客户端和第二客户端实际上是信息交互的过程,所以第二客户端也可以发送消息给第一客户端,然后由第一客户端进行解密。在此过程中,第二客户端在发送消息给第一客户端时,是通过第二客户端的公钥进行加密之后发送的,服务器利用第二客户端对应的私钥对消息进行解密。其后,服务器利用第一客户端对应的私钥对该消息进行加密,再发送给第一客户端,进而第一客户端在接收到该加密之后的消息之后,可以利用自身对应的公钥对其进行解密。
举例来说,假设用户A(使用客户端A)和用户B(使用客户端B)匹配上,先要进行视频聊天,则双方都需要收到对方的用户信息。
首先,将用户信息进行打包。在视频交友中,需要双方互相交换用户信息。具体的用户信息包括,用户的名称、用户的临时UID、用户的性别、用户的喜好、用户的城市、当前时间戳等信息一起进行打包。
其次,对用户信息引进时间戳一起进行加密。
在加密的过程中:
本发明引进时间戳则可以使得信息的加密结果更具有可变性,因为用户信息不会变化,从而导致加密的结果不会变化,而引入时间变量,则加密结果每次都会是变化的,从而更加的安全。
针对于本发明的举例,用户A与用户B进行视频聊天。客户端A需要将用户A的用户信息发送给客户端B,客户端B需要将用户B的用户信息发送给客户端A。
客户端A将用户A的用户信息发送给客户端B时,服务器则会使用客户端B的私钥加密用户A的用户信息,并将加密后的用户信息发送给客户端B,从而只有客户端B才能进行解密。
而客户端B将用户B的用户信息发送给客户端A时,那么服务器则会使用客户端A的私钥加密用户B的用户信息,并将加密的用户信息发送给客户端A,从而只有客户端A才能进行解密。
具体实现如下:
对于用户A的用户信息的加密过程:
EncryptUserInfoA=RSA.Encrypt(UserInfoA+Time,BSecretKey);
本文则是用户A的用户信息UserInfoA,加上时间戳信息Time,然后使用客户端B的SecretKey来对信息进行加密。加密后则发送给客户端B。
同样的对于B的用户信息的加密过程:
EncryptUserInfoB=RSA.Encrypt(UserInfoB+Time,ASecretKey);
本文则是用户B的用户信息UserInfoB,加上时间戳信息Time,然后使用客户端A的SecretKey来对信息进行加密。加密后则发送给客户端A。
由于公钥对于每个客户端都不一样,并且私钥只有服务器有,所以个人用户信息在网络中传输是安全的,并且即使被截获也没有对应的私钥KEY解密则也无法破解其中的明文信息。
至此,就实现了对于用户信息使用接受方的私钥进行加密后并互相发送给对方用户。
而在解密的过程中:
当用户匹配到对应的用户进行视频聊天时,则会收到服务器下发的用户信息,首先用户则会对信息进行解密,从而得到对方用户的明文信息。具体实现如下:
用户在登录时,服务器则下发给客户端一个公钥KEY。
假设客户端A收到用户B的用户信息。
UserInfoB=RSA.Decrypt(EncryptUserInfoB,APublicKeyKey);
那么客户端A则用自己的公钥APublicKeyKey来解密加密的用户B的用户信息,从而得到明文的用户B的用户信息。
至此,就实现了用户将服务器下发的对方的用户信息进行解密的操作。
进一步的,为了进一步保证信息传输的安全,本发明在上述基础上还进一步加强了数据传输的保密性,使得服务器也不能够获知交互信息中的具体内容。此处的设计思想如下:
第一客户端和第二客户端也分别各自生成一对公钥私钥,并且通过服务器分别将各自的公钥发送给对方,进而使得在两者的交互过程中,可利用第一客户端和第二客户端各自生成的共享密钥来加密信息进行传输,使得服务器也无法解开该加密信息,进而只能起到转发的作用。在发送的过程中,两个客户端各自生成的公钥可以融入对应的交互信息中发送给服务器进行转发。故而,各客户端发送的交互信息的内容还包括有各自的客户端生成的公钥。
故而,步骤14,服务器接收所述第二客户端利用共享密钥对第二交互信息进行加密形成的第二加密密文,并将所述第二加密密文转发给所述第一客户端,其中,所述共享密钥是基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得的共享密钥。
在具体的实施过程中,第一客户端获得所述第一客户端自身生成的私钥和所述第一客户端自身生成的公钥;第二客户端获得所述第二客户端自身生成的私钥和所述第二客户端自身生成的公钥。
故而在服务器侧,则会接收所述第一客户端自身生成的公钥并将其转发给所述第二客户端,使得所述第二客户端基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得所述共享密钥;接收所述第二客户端自身生成的公钥,并将所述第二客户端自身生成的公钥转发给所述第一客户端,使得所述第一客户端基于所述第一客户端自身生成的私钥和所述第二客户端自身生成的公钥获得所述共享密钥。
在步骤14的具体实施过程中,服务器接收所述第二客户端利用共享密钥对第二交互信息进行加密形成的第二加密密文,并将所述第二加密密文转发给所述第一客户端,使得所述第一客户端基于所述第一客户端中的共享密钥对所述第二加密密文进行解密。其中,所述第一客户端中的共享密钥是基于所述第一客户端自身生成的私钥和所述第二客户端自身生成的公钥获得的共享密钥。
进一步的,在步骤14的具体实施过程之后,服务器接收所述第一客户端利用所述第一客户端中的共享密钥对第三交互信息进行加密形成的第三加密密文,并将所述第三加密密文转发给所述第二客户端,使得所述第二客户端基于所述第二客户端中的共享密钥对所述第三加密密文进行解密。
进一步的,若交互信息是视频流数据时,在对视频流数据进行加密时,可以利用第一客户端在传输第一视频数据流给第二客户端时,第一客户端会利用共享密钥对所述第一视频数据流中的I帧进行加密,然后将加密后的I帧传输给服务器,让服务器转发给第二客户端。故而在服务器侧,可接收由第一客户端利用所述第一客户端中的共享密钥对所述第一视频数据流中的I帧进行加密后形成的第一加密视频帧流,然后将其转发给第二客户端。
进一步的,第二客户端在传输第二视频数据流给第一客户端时,第二客户端会利用共享密钥对所述第二视频数据流中的I帧进行加密,然后将加密后的I帧传输给服务器,让服务器转发给第一客户端。故而在服务器侧,可接收由第二客户端利用所述第二客户端中的共享密钥对所述第二视频数据流中的I帧进行加密后形成的第二加密视频帧流,然后将其转发给第一客户端。
基于统一发明构思,本发明还公开了一种服务器,参看图3,本发明的服务器包括:
第一接收模块31,用于接收第一客户端发送的用于和第二客户端进行视频聊天交互的交互请求。
加密模块32,用于基于所述交互请求,利用所述第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文。其中,所述第二客户端对应的私钥是服务器利用非加密算法针对所述第二客户端生成的、所述第二客户端独有的私钥。
发送模块33,用于将所述第一加密密文发送给所述第二客户端,使得所述第二客户端利用和所述私钥对应的公钥进行解密。其中,所述公钥是所述服务器利用所述非对称算法针对所述第二客户端生成的、所述第二客户端独有且和所述私钥对应的公钥。
第二接收模块34,接收所述第二客户端理由共享密钥加密并生成的第二交互信息形成第二加密密文,并将所述第二加密密文发送给所述第一客户端,其中,所述共享密钥是基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥生成的密钥。
优选的,所述加密模块32,还用于利用所述第二客户端对应的私钥对所述第一交互信息进行加密形成第一加密密文之前,直接接收所述第二客户端发送的加密密钥,并利用所述加密密钥对所述第一交互信息进行加密。其中,所述加密密钥是属于所述第二客户端独有的密钥。
优选的,所述加密模块32,还用于接收所述第二客户端发送的第一编码规则,并利用所述第一编码规则生成加密私钥,并利用所述第一编码规则生成的加密密钥对所述第一交互信息进行加密。
优选的,所述加密模块32,还用于基于第二编码规则生成加密密钥,并利用所述第二编码规则生成的加密密钥对所述第一交互信息进行加密。
所述发送模块,还用于将所述第二编码规则发送给所述第二客户端。
优选的,所述服务器还包括:
确定模块,用于确定所述第一客户端生成所述第一交互信息的当前时间戳。
第一融入模块,用于将所述当前时间戳融入第一交互信息中。
优选的,所述系统还包括:
生成模块,用于生成所述第一客户端用于和所述第二客户端进行视频聊天交互的临时标识,所述临时标识和所述第一客户端唯一的用户身份证明标识UID不同。
第二融入模块,用于利用所述临时标识替换所述第一客户端的用户身份证明标识,并融入所述第一交互信息中。
优选的,所述第一交互信息至少包括:用户的名称、所述临时标识、用户的性别、用户的喜好、用户的城市、所述第一客户端生成所述第一交互信息的当前时间戳、所述第一客户端生成的公钥、所述第二客户端生成的公钥。
优选的,所述第二接收模块34,具体用于接收所述第一客户端自身生成的公钥,并将所述第一客户端自身生成的公钥转发给所述第二客户端,使得所述第二客户端基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得所述共享密钥;
所述第二接收模块34,具体用于接收所述第二客户端自身生成的公钥,并将所述第二客户端自身生成的公钥转发给所述第一客户端,使得所述第一客户端基于所述第一客户端自身生成的私钥和所述第二客户端自身生成的公钥获得所述共享密钥。
进一步的,所述第二接收模块34,具体用于接收所述第一客户端利用共享密钥对第三交互信息进行加密形成的第三加密密文,并将所述第三加密密文转发给所述第二客户端。
基于与前述实施例中同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文任一所述方法的步骤。
基于与前述实施例中同样的发明构思,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前文任一所述方法的步骤。
通过本发明的一个或者多个实施例,本发明具有以下有益效果或者优点:
本发明公开了一种对视频聊天中的用户隐私进行保护的方法和系统,通过接收第一客户端发送的用于和第二客户端进行视频聊天交互的交互请求;然后基于所述交互请求,利用所述第二客户端对应的私钥对第一交互信息进行加密形成第一加密密文;由于该私钥加密只能用对应的公钥解密,而公钥只有第二客户端才有,其他客户端是没有的,故而最后将所述第一加密密文发送给所述第二客户端,使得所述第二客户端利用和所述私钥对应的公钥进行解密。由于第二客户端的公钥只有第二客户端有,其他的客户端是没有第二客户端的公钥的,因此,即便是该第一加密密文被第三方截取,也没有办法解密,进而可以保证第一客户端和第二客户端在视频交互时第一交互信息传输的安全性,另外,为了进一步保证信息传输的安全,还接收所述第二客户端利用共享密钥对第二交互信息进行加密形成的第二加密密文,并将所述第二加密密文转发给所述第一客户端。由于所述共享密钥是基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得的共享密钥,故而服务器也不能够解密第二加密密文,进而能够保证第二加密密文的数据传输的安全性。
尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (9)

1.一种对视频聊天中的用户隐私进行保护的方法,其特征在于,所述方法包括:
接收第一客户端发送的用于和第二客户端进行视频聊天交互的交互请求;
基于所述交互请求,利用所述第二客户端对应的私钥对第一交互信息的I帧进行加密形成第一加密密文;其中,所述第二客户端对应的私钥是服务器利用非对称 加密算法针对所述第二客户端生成的、所述第二客户端独有的私钥;在利用所述第二客户端对应的私钥对第一交互信息的I帧进行加密形成第一加密密文之前,服务器基于第二编码规则生成加密密钥,并利用所述第二编码规则生成的加密密钥对所述第一交互信息进行加密;将所述第二编码规则发送给所述第二客户端;在利用所述第二客户端对应的私钥对第一交互信息的I帧进行加密形成第一加密密文之前,所述服务器确定所述第一客户端生成所述第一交互信息的当前时间戳,将所述当前时间戳融入第一交互信息中;在利用所述第二客户端对应的私钥对第一交互信息的I帧进行加密形成第一加密密文之前,所述服务器对第一客户端对应的第一交互信息进行处理,生成所述第一客户端用于和所述第二客户端进行视频聊天交互的临时标识,利用所述临时标识替换所述第一客户端的用户身份证明标识,并融入所述第一交互信息中;
将所述第一加密密文发送给所述第二客户端,使得所述第二客户端利用和所述私钥对应的公钥进行解密;其中,所述公钥是所述服务器利用所述非对称加密 算法针对所述第二客户端生成的、所述第二客户端独有且和所述私钥对应的公钥;
接收所述第二客户端利用共享密钥对第二交互信息的I帧进行加密形成的第二加密密文,并将所述第二加密密文转发给所述第一客户端,其中,所述共享密钥是基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得的共享密钥;
所述接收所述第二客户端利用共享密钥对第二交互信息的I帧进行加密形成的第二加密密文之前,所述方法还包括:
接收所述第一客户端自身生成的公钥,并将所述第一客户端自身生成的公钥转发给所述第二客户端,使得所述第二客户端基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得所述共享密钥;
接收所述第二客户端自身生成的公钥,并将所述第二客户端自身生成的公钥转发给所述第一客户端,使得所述第一客户端基于所述第一客户端自身生成的私钥和所述第二客户端自身生成的公钥获得所述共享密钥;
其中,所述交互信息是视频流数据。
2.如权利要求1所述的方法,其特征在于,所述利用所述第二客户端对应的私钥对所述第一交互信息进行加密形成第一加密密文之前,所述方法还包括:
直接接收所述第二客户端发送的加密密钥,并利用所述加密密钥对所述第一交互信息进行加密;其中,所述加密密钥是属于所述第二客户端独有的密钥。
3.如权利要求1所述的方法,其特征在于,所述接收所述第二客户端利用共享密钥对第二交互信息进行加密形成的第二加密密文,并将所述第二加密密文转发给所述第一客户端之后,所述方法还包括:
接收所述第一客户端利用共享密钥对第三交互信息进行加密形成的第三加密密文,并将所述第三加密密文转发给所述第二客户端。
4.一种服务器,其特征在于,包括:
第一接收模块,用于接收第一客户端发送的用于和第二客户端进行视频聊天交互的交互请求;
加密模块,用于基于所述交互请求,利用所述第二客户端对应的私钥对第一交互信息的I帧进行加密形成第一加密密文;其中,所述第二客户端对应的私钥是服务器利用非对称加密算法针对所述第二客户端生成的、所述第二客户端独有的私钥;在利用所述第二客户端对应的私钥对第一交互信息的I帧进行加密形成第一加密密文之前,服务器基于第二编码规则生成加密密钥,并利用所述第二编码规则生成的加密密钥对所述第一交互信息进行加密;将所述第二编码规则发送给所述第二客户端;在利用所述第二客户端对应的私钥对第一交互信息的I帧进行加密形成第一加密密文之前,所述服务器确定所述第一客户端生成所述第一交互信息的当前时间戳,将所述当前时间戳融入第一交互信息中;在利用所述第二客户端对应的私钥对第一交互信息的I帧进行加密形成第一加密密文之前,所述服务器对第一客户端对应的第一交互信息进行处理,生成所述第一客户端用于和所述第二客户端进行视频聊天交互的临时标识,利用所述临时标识替换所述第一客户端的用户身份证明标识,并融入所述第一交互信息中;
发送模块,用于将所述第一加密密文发送给所述第二客户端,使得所述第二客户端利用和所述私钥对应的公钥进行解密;其中,所述公钥是所述服务器利用所述非对称加密 算法针对所述第二客户端生成的、所述第二客户端独有且和所述私钥对应的公钥;
第二接收模块,接收所述第二客户端利用 共享密钥加密并生成的第二交互信息形成第二加密密文,并将所述第二加密密文发送给所述第一客户端,其中,所述共享密钥是基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥生成的密钥;
第一共享密钥生成模块,用于接收所述第一客户端自身生成的公钥,并将所述第一客户端自身生成的公钥转发给所述第二客户端,使得所述第二客户端基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得所述共享密钥;
第二共享密钥生成模块,用于接收所述第二客户端自身生成的公钥,并将所述第二客户端自身生成的公钥转发给所述第一客户端,使得所述第一客户端基于所述第一客户端自身生成的私钥和所述第二客户端自身生成的公钥获得所述共享密钥;
其中,所述交互信息是视频流数据。
5.一种对视频聊天中的用户隐私进行保护的系统,其特征在于,包括:
第一客户端,用于发送用于和第二客户端进行视频聊天交互的交互请求;
服务器,用于接收所述交互请求;
所述服务器,用于基于所述交互请求,利用所述第二客户端对应的私钥对第一交互信息的I帧进行加密形成第一加密密文;其中,所述第二客户端对应的私钥是服务器利用非对称 加密算法针对所述第二客户端生成的、所述第二客户端独有的私钥;在利用所述第二客户端对应的私钥对第一交互信息的I帧进行加密形成第一加密密文之前,服务器基于第二编码规则生成加密密钥,并利用所述第二编码规则生成的加密密钥对所述第一交互信息进行加密;将所述第二编码规则发送给所述第二客户端;在利用所述第二客户端对应的私钥对第一交互信息的I帧进行加密形成第一加密密文之前,所述服务器确定所述第一客户端生成所述第一交互信息的当前时间戳,将所述当前时间戳融入第一交互信息中;在利用所述第二客户端对应的私钥对第一交互信息的I帧进行加密形成第一加密密文之前,所述服务器对第一客户端对应的第一交互信息进行处理,生成所述第一客户端用于和所述第二客户端进行视频聊天交互的临时标识,利用所述临时标识替换所述第一客户端的用户身份证明标识,并融入所述第一交互信息中;
所述服务器,用于将所述第一加密密文发送给所述第二客户端;
所述第二客户端,用于利用和所述私钥对应的公钥进行解密;其中,所述公钥是所述服务器利用所述非对称加密 算法针对所述第二客户端生成的、所述第二客户端独有且和所述私钥对应的公钥;
所述服务器,用于接收所述第二客户端利用 共享密钥加密并生成的第二交互信息形成第二加密密文,并将所述第二加密密文发送给所述第一客户端,其中,所述共享密钥是基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥生成的密钥;
所述服务器,用于接收所述第一客户端自身生成的公钥,并将所述第一客户端自身生成的公钥转发给所述第二客户端,使得所述第二客户端基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得所述共享密钥;
所述服务器,用于接收所述第二客户端自身生成的公钥,并将所述第二客户端自身生成的公钥转发给所述第一客户端,使得所述第一客户端基于所述第一客户端自身生成的私钥和所述第二客户端自身生成的公钥获得所述共享密钥;
其中,所述交互信息是视频流数据。
6.如权利要求5所述的系统,其特征在于,所述第一客户端,用于获得所述第一客户端自身生成的私钥和所述第一客户端自身生成的公钥;
所述第二客户端,用于获得所述第二客户端自身生成的私钥和所述第二客户端自身生成的公钥;
服务器,用于接收所述第一客户端自身生成的公钥并将其转发给所述第二客户端;还用于接收第二客户端自身生成的公钥并将其转发给所述第一客户端;
所述第一客户端,用于基于所述第一客户端自身生成的私钥和所述第二客户端自身生成的公钥获得共享密钥;
所述第二客户端,用于基于所述第二客户端自身生成的私钥和所述第一客户端自身生成的公钥获得所述共享密钥。
7.如权利要求6所述的系统,其特征在于,
所述第二客户端,还用于利用所述共享密钥对第二交互消息进行加密形成第二加密密文,并将所述第二加密密文发送给所述服务器;
所述服务器,还用于将所述第二加密密文转发给所述第一客户端;
所述第一客户端,还用于利用所述共享密钥对第三交互消息进行加密形成第三加密密文,并将所述第三加密密文发送给所述服务器;
所述服务器,还用于将所述所述第三加密密文转发给所述第二客户端。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-3任一项所述方法的步骤。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-3任一项所述方法的步骤。
CN201710907031.9A 2017-09-29 2017-09-29 一种对视频聊天中的用户隐私进行保护的方法及系统 Active CN107483505B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710907031.9A CN107483505B (zh) 2017-09-29 2017-09-29 一种对视频聊天中的用户隐私进行保护的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710907031.9A CN107483505B (zh) 2017-09-29 2017-09-29 一种对视频聊天中的用户隐私进行保护的方法及系统

Publications (2)

Publication Number Publication Date
CN107483505A CN107483505A (zh) 2017-12-15
CN107483505B true CN107483505B (zh) 2020-10-16

Family

ID=60604674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710907031.9A Active CN107483505B (zh) 2017-09-29 2017-09-29 一种对视频聊天中的用户隐私进行保护的方法及系统

Country Status (1)

Country Link
CN (1) CN107483505B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108134789B (zh) * 2017-12-21 2020-03-17 北京深思数盾科技股份有限公司 通过云进行设备间数据同步的方法和云服务器
CN108289096B (zh) * 2018-01-05 2020-10-16 武汉斗鱼网络科技有限公司 一种直播间关注、验证直播间关注的方法及装置
CN109462594A (zh) * 2018-11-28 2019-03-12 视联动力信息技术股份有限公司 一种基于视联网的数据处理方法及系统
CN112261057A (zh) * 2020-10-28 2021-01-22 湖南天琛信息科技有限公司 一种音视频通话的加密处理系统
CN112437044B (zh) * 2020-11-03 2022-12-13 建信金融科技有限责任公司 即时通讯方法和装置
CN112367612B (zh) * 2020-11-06 2023-03-24 歌尔科技有限公司 基于uwb的定位方法、uwb设备及定位系统
CN112468561B (zh) * 2020-11-18 2022-07-26 山东省科学院海洋仪器仪表研究所 一种适用于冰场搬运系统的远程遥控系统
CN112395760A (zh) * 2020-11-18 2021-02-23 山东省科学院海洋仪器仪表研究所 一种适用于行车吊物快速稳定移动的计算方法
CN115412365B (zh) * 2022-10-28 2023-02-03 杭州海康威视数字技术股份有限公司 基于多层加密的数据隐私保护方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005050415A1 (en) * 2003-10-31 2005-06-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and devices for the control of the usage of content
CN1859081A (zh) * 2006-02-17 2006-11-08 华为技术有限公司 一种即时消息加密传输方法和系统
CN101433014A (zh) * 2006-04-28 2009-05-13 松下电器产业株式会社 通信装置及通信系统
CN102546597A (zh) * 2011-12-15 2012-07-04 深圳市易联盛世科技有限公司 通讯终端消息加密传输的方法、通讯终端、服务器及系统
CN104253694A (zh) * 2014-09-27 2014-12-31 杭州电子科技大学 一种用于网络数据传输的保密方法
CN105141568A (zh) * 2014-05-28 2015-12-09 腾讯科技(深圳)有限公司 安全通信通道建立方法及系统、客户端和服务器
CN105872102A (zh) * 2016-06-06 2016-08-17 武汉理工大学 一种文件上传下载方法
CN106713236A (zh) * 2015-11-17 2017-05-24 成都腾甲数据服务有限公司 一种基于cpk标识认证的端对端身份认证及加密方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005050415A1 (en) * 2003-10-31 2005-06-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and devices for the control of the usage of content
CN1859081A (zh) * 2006-02-17 2006-11-08 华为技术有限公司 一种即时消息加密传输方法和系统
CN101433014A (zh) * 2006-04-28 2009-05-13 松下电器产业株式会社 通信装置及通信系统
CN102546597A (zh) * 2011-12-15 2012-07-04 深圳市易联盛世科技有限公司 通讯终端消息加密传输的方法、通讯终端、服务器及系统
CN105141568A (zh) * 2014-05-28 2015-12-09 腾讯科技(深圳)有限公司 安全通信通道建立方法及系统、客户端和服务器
CN104253694A (zh) * 2014-09-27 2014-12-31 杭州电子科技大学 一种用于网络数据传输的保密方法
CN106713236A (zh) * 2015-11-17 2017-05-24 成都腾甲数据服务有限公司 一种基于cpk标识认证的端对端身份认证及加密方法
CN105872102A (zh) * 2016-06-06 2016-08-17 武汉理工大学 一种文件上传下载方法

Also Published As

Publication number Publication date
CN107483505A (zh) 2017-12-15

Similar Documents

Publication Publication Date Title
CN107483505B (zh) 一种对视频聊天中的用户隐私进行保护的方法及系统
US9923877B2 (en) External indexing and search for a secure cloud collaboration system
JP6145806B2 (ja) 即時通信方法及びシステム
KR101508360B1 (ko) 데이터 전송 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
KR100737876B1 (ko) 계층적 문턱 트리에 기반한 브로드캐스트 암호화 방법
KR101021708B1 (ko) 그룹키 분배 방법 및 이를 위한 서버 및 클라이언트
CN109218825B (zh) 一种视频加密系统
WO2019227225A1 (en) Systems and methods for establishing communications via blockchain
CN109151508A (zh) 一种视频加密方法
EP3231182A1 (en) Secure media player
CN113779619A (zh) 一种基于国密算法的ceph分布式对象存储系统加解密方法
CN109962924B (zh) 群聊构建方法、群消息发送方法、群消息接收方法及系统
KR20060078768A (ko) 사용자 개인키의 분산 등록을 이용한 키 복구 시스템 및그 방법
US11265298B2 (en) Method for end-to-end transmission of a piece of encrypted digital information, application of this method and object implementing this method
CN104243291A (zh) 一种可保障用户通讯内容安全的即时通讯方法及其系统
CN112668029A (zh) 私密社交软件及其私密实现方法
CN101729535B (zh) 一种媒体点播业务的实现方法
CN112769783A (zh) 数据传输方法及云服务器、接收端和发送端
CN102739604B (zh) 媒体消息安全传输的方法和系统
CN109587099A (zh) 一种在视频聊天中对用户隐私进行保护方法及装置
CN110890968B (zh) 一种即时通信方法、装置、设备及计算机可读存储介质
CN115134177B (zh) 连网加密通信方法及装置、服务端设备和终端设备
KR20190133249A (ko) 키 배송 시스템 및 방법, 키 생성 장치, 대표 유저 단말, 서버 장치, 유저 단말 및 프로그램
CN110890966A (zh) 一种基于指纹识别和rsa、aes加密算法的通讯系统
CN116886690A (zh) 一种支持多人同时进行的端到端消息文件安全传输的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant