CN115001865B - 通信处理方法及系统、客户端、通信服务端和监管服务端 - Google Patents
通信处理方法及系统、客户端、通信服务端和监管服务端 Download PDFInfo
- Publication number
- CN115001865B CN115001865B CN202210897419.6A CN202210897419A CN115001865B CN 115001865 B CN115001865 B CN 115001865B CN 202210897419 A CN202210897419 A CN 202210897419A CN 115001865 B CN115001865 B CN 115001865B
- Authority
- CN
- China
- Prior art keywords
- key
- fragments
- encrypted
- encryption
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及通信处理方法及系统、客户端、通信服务端和监管服务端。由客户端执行的通信处理方法包括:生成客户端的用户或群组的用于密钥交换的公钥和私钥;利用保护密钥,对私钥进行加密;对保护密钥执行门限加密算法,得到多个密钥分片,还原保护密钥需至少预设数量的密钥分片;对多个密钥分片加密,得到多个加密分片,多个加密分片包括利用通信服务端无法感知的用户侧密钥加密得到的第一加密分片;发送并存储加密后的私钥和多个加密分片到通信服务端,大于或等于预设数量的加密分片无法被通信服务端解密,加密后的私钥和至少预设数量的加密分片用于客户端或监管服务端在内存中通过相应解密还原的保护密钥来还原私钥,从而对消息加密或解密。
Description
技术领域
本公开涉及信息安全技术领域,特别涉及通信处理方法及系统、客户端、通信服务端和监管服务端、电子设备、计算机可存储介质。
背景技术
随着社会的发展,个人数据的隐私问题越来越受到人们的重视。在即时通信场景中,基于端到端加密技术的通信产品也被更多的用户使用。在加密通信场景下,私聊会话、群组聊天等消息内容都会以密文形式通过通信服务端在客户端之间进行传输。
相关技术中,通信服务端通常代理生成并保存用户或群组的用于密钥交换的公钥和私钥。客户端利用其用户或群组的私钥,对从客户端发出的消息进行加密或者对由客户端接收的利用用户或群组的公钥加密得到的加密消息进行解密。。
发明内容
相关技术中,通信服务端和用户通过非对称加密的公钥和私钥或密钥交换的算法,可以解决通信消息在网络传输过程中的信息安全问题。但是,从发送客户端发出的加密消息通常会由通信服务端解密后再加密转发接收客户端,或由通信服务端代持用户的公钥和私钥,即便使用Signal协议里的双棘轮密钥产生方式,也可被通信服务端以同样的技术方式对加密消息进行解密,这使得通信服务端可以基于当前监管要求,通过代持密钥的方式或通信服务端技术重放的方式对从客户端发出的加密消息或者由客户端接收的加密消息进行解密,得到客户端的消息明文。由于通信服务端时整个通信链路的中心,如果通信服务端存在信息泄露将导致所有用户信息的泄露,从而引发用户隐私信息的安全问题。
另外,通信服务端可以通过技术手段得到用户的消息明文的同时,也会以监管的名义对用户信息进行提取, 但由于该操作过程缺乏监管,操作过程也很难被外界感知和举证,相应操作人员也属于法律规定之外的信息接触方,整个过程中无论从信息安全和法律法规流程来看,都可能带来各种安全问题。可见,相关技术存在用户隐私泄露的安全隐患,从而引发基于端到端的加密通信的安全问题。另外,相关技术中,监管方通常通过从通信服务端获取消息明文来实现监管,这将引发监管方进行消息监管过程中的安全问题。
针对上述技术问题,本公开提出了一种解决方案,可以在消息发送客户端和消息接收客户端之间建立端到端信息安全的通信通道,并且通信服务端无论在任何时候以任何技术手段都无法获得通信消息原文,从而可以提高基于端到端的加密通信的安全性。另外,本公开还考虑了监管服务端的监管服务,可以实现在通信服务端无法获取通信消息原文的情况下,使得监管服务端可以获取通信消息原文用于消息监管,实现了基于端到端的加密的安全监管。安全监管为本公开提出,是指在不破坏端到端加密且避免通信服务端获取消息明文的情况下的仅由监管方操作来获取消息明文的监管。
根据本公开的第一方面,提供了一种通信处理方法,其特征在于,由客户端执行,包括:生成所述客户端的用户或群组的用于密钥交换的公钥和私钥,所述私钥不以明文方式进行存储;利用保护密钥,对所述私钥进行加密,得到加密后的私钥,所述保护密钥为所述客户端产生的不可重放的随机生成密钥;对所述保护密钥执行门限加密算法,得到多个密钥分片,其中,还原所述保护密钥需要至少预设数量的密钥分片;对所述多个密钥分片进行加密,得到多个加密分片,所述多个加密分片包括利用通信服务端无法感知的用户侧密钥加密得到的第一加密分片;发送并存储所述加密后的私钥和所述多个加密分片到通信服务端,其中,大于或等于预设数量的加密分片无法被所述通信服务端解密,所述加密后的私钥和至少预设数量的加密分片用于所述客户端在内存中通过根据所述用户侧密钥还原的所述保护密钥来还原所述私钥,所还原的私钥用于对从所述客户端发出的消息进行加密或者对由所述客户端接收的利用所述公钥加密得到的加密消息进行解密。
在一些实施例中,所述用户侧密钥包括所述用户的个人密码、手势密码、数字证书和预设图片特征中的至少一种。
在一些实施例中,通信处理方法还包括:在所述用户或群组登录所述客户端的情况下,从所述通信服务端获取所述加密后的私钥和至少预设数量的加密分片,其中,至少预设数量的加密分片包括所述第一加密分片;利用所述用户侧密钥和所述至少预设数量的加密分片,从所述加密后的私钥中,还原所述私钥;利用所还原的私钥对从所述客户端发出的消息进行加密或者对由所述客户端接收的利用所述公钥加密得到的加密消息进行解密。
在一些实施例中,从所述加密后的私钥中,还原所述私钥包括:利用所述用户侧密钥,从所述至少预设数量的加密分片中的第一加密分片,还原与所述第一加密分片对应的密钥分片;在所还原的密钥分片的数量大于或等于所述预设数量的情况下,利用所还原的密钥分片,从所述加密后的私钥中,还原所述用户或群组的私钥。
在一些实施例中,对所述多个密钥分片进行加密,得到多个加密分片还包括:利用所述通信服务端的公钥,对少于所述预设数量的密钥分片进行加密,得到少于所述预设数量的第二加密分片,其中,所述第二加密分片由所述通信服务端采用根据所述通信服务端的私钥解密并加密的方式进行更新,所述至少预设数量的加密分片还包括更新后的第二加密分片,所述通信服务端包括一个通信服务端或去中心化的多个通信服务端。
在一些实施例中,从所述加密后的私钥中,还原所述私钥包括:利用所述用户侧密钥,从所述至少预设数量的加密分片中的第一加密分片,还原与所述第一加密分片对应的密钥分片;利用所述通信服务端的公钥,从所述至少预设数量的加密分片中的更新后的第二加密分片,还原与所述第二加密分片对应的密钥分片;在所还原的密钥分片的数量大于或等于所述预设数量的情况下,利用所还原的密钥分片,从所述加密后的私钥中,还原所述用户或群组的私钥。
在一些实施例中,通信处理方法还包括:在所述用户侧密钥变更的情况下,利用所述用户侧密钥,还原所述第一加密分片,得到与所述第一加密分片对应的密钥分片;利用变更后的用户侧密钥,重新加密所还原的与所述第一加密分片对应的密钥分片,得到更新后的第一加密分片;发送并存储更新后的第一加密分片到所述通信服务端。
在一些实施例中,对所述多个密钥分片进行加密,得到多个加密分片包括:利用至少一个监管服务端中的每个监管服务端的公钥,对密钥分片进行加密,得到至少预设数量的第三加密分片,其中,所述每个监管服务端的公钥为所述客户端通过所述通信服务端获得,所述多个加密分片还包括所述至少预设数量的第三加密分片,所述预设数量的第三加密分片用于所述每个监管服务端从所述客户端发出的或由所述客户端接收的加密消息中还原消息,并监测所还原的消息是否满足预设条件,所述至少一个监管服务端对应一个监管方或者对应多个不同监管方,同一监管方的不同监管服务端具有相同的监管服务端的公钥和私钥。
在一些实施例中,对所述多个密钥分片进行加密,得到多个加密分片包括:利用通信服务端的公钥,对少于所述预设数量的密钥分片进行加密,得到少于所述预设数量的第二加密分片,其中,所述第二加密分片由所述通信服务端采用根据所述通信服务端的私钥解密并加密的方式进行更新,所述通信服务端包括一个通信服务端或去中心化的多个通信服务端;利用至少一个监管服务端中的每个监管服务端的公钥,对密钥分片进行加密,得到至少一个第三加密分片,其中,所述每个监管服务端的公钥为所述客户端通过所述通信服务端获得,所述至少一个第三加密分片和更新后的第二加密分片的总数量大于或等于所述预设数量,用于所述每个监管服务端从所述客户端发出的或由所述客户端接收的加密消息中还原消息,并监测所还原的消息是否满足预设条件,所述至少一个监管服务端对应一个监管方或者对应多个不同监管方,同一监管方的不同监管服务端具有相同的监管服务端的公钥和私钥。
在一些实施例中,通信处理方法还包括:在新增监管服务端的情况下,根据所述用户侧密钥和至少预设数量的加密分片,还原所述保护密钥;重新对所述保护密钥执行门限加密算法,得到多个密钥分片;重新对多个密钥分片进行加密,得到多个加密分片,包括:重新利用通信服务端的公钥,对少于所述预设数量的密钥分片进行加密,得到少于所述预设数量的第二加密分片,其中,重新得到的第二加密分片由所述通信服务端重新采用根据所述通信服务端的私钥解密并加密的方式进行更新;重新利用每个监管服务端的公钥,对密钥分片进行加密,得到至少一个第三加密分片;重新发送并存储重新得到的多个加密分片到通信服务端。
根据本公开第二方面,提供了一种通信处理方法,其特征在于,由通信服务端执行,包括:接收并存储来自客户端的加密后的私钥和多个加密分片,其中,所述加密后的私钥和所述多个加密分片通过上述实施例任一项所述的由客户端执行的通信处理方法得到。
在一些实施例中,所述多个加密分片包括所述客户端利用所述通信服务端无法感知的用户侧密钥对密钥分片进行加密得到的第一加密分片和所述客户端利用所述通信服务端的公钥对少于预设数量的密钥分片进行加密得到的第二加密分片,所述通信处理方法还包括:利用所述通信服务端的私钥,解密所述第二加密分片;利用所述通信服务端的私钥,加密所解密的第二加密分片,得到更新后的第二加密分片,其中,所述第一加密分片和更新后的第二加密分片用于还原所述客户端的用户或群组的私钥。
在一些实施例中,通信处理方法还包括:在所述用户或群组登录所述客户端的情况下,发送所述第一加密分片和所述更新后的第二加密分片到所述客户端,用于所述客户端还原用户或群组的的私钥;和/或在所述用户或群组登录除所述客户端以外的其他客户端的情况下,发送所述第一加密分片和所述更新后的第二加密分片到所述其他客户端,用于所述用户或群组进行多客户端登录。
在一些实施例中,所述多个加密分片还包括利用至少一个监管服务端的公钥对密钥分片进行加密得到的至少一个第三加密分片,所述通信处理方法还包括:生成并部署至少一个监管服务包到监管服务端,其中,所述至少一个监管服务端对应一个监管方或者对应多个不同监管方,同一监管方的不同监管服务端具有相同的监管服务端的公钥和私钥,部署到每个监管服务端的监管服务包被配置为:利用所述每个监管服务端的私钥,从利用所述每个监管服务端的公钥加密得到的第三加密分片,还原与该第三加密分片对应的密钥分片;利用所述通信服务端的公钥,从更新后的第二加密分片,还原与所述更新后的第二加密分片对应的密钥分片;在所述还原的密钥分片的数量大于或等于所述预设数量的情况下,利用所还原的密钥分片,从所述用户或群组的加密后的私钥,还原所述用户或群组的私钥;利用所还原的用户或群组的私钥,对从所述客户端发出的加密消息进行解密或者对由所述客户端接收的利用所述用户或群组的公钥加密得到的加密消息进行解密;监测解密后的加密消息是否满足预设条件。
在一些实施例中,所述部署到每个监管服务端的监管服务包还被配置为:在完成监测后,清除所述每个监管服务端的内存中的所还原的用户或群组的私钥。
根据本公开第三方面,提供了一种通信处理方法,其特征在于,由监管服务端执行,包括:在存在加密消息监管需求的情况下,获取利用通信服务端的私钥加密得到的更新后的第二加密分片和利用所述监管服务端的公钥加密得到的第三加密分片;根据所述监管服务端的私钥和所述通信服务端的公钥,调用部署在所述监管服务端的监管服务包对所获取的更新后的第二加密分片和第三加密分片进行处理,以完成对加密消息的监管,其中,所述监管服务包通过上述实施例所述的由通信服务端执行的通信处理方法生成并部署。
在一些实施例中,通信处理方法还包括:在不存在利用所述监管服务端的公钥加密得到的第三加密分片的情况下,通过所述通信服务端,发送所述监管服务端的公钥到客户端,并通知所述客户端重新对保护密钥执行门限加密算法,得到多个密钥分片、重新对多个密钥分片进行加密,得到包括利用所述监管服务端的公钥加密得到的第三加密分片的多个加密分片以及重新发送并存储重新得到的多个加密分片到所述通信服务端。
根据本公开第四方面,提供了一种客户端,其特征在于,被配置为执行上述由客户端执行的任一项所述的通信处理方法。
根据本公开第五方面,提供了一种通信服务端,其特征在于,被配置为执行上述由通信服务端执行的任一项所述的通信处理方法。
根据本公开第六方面,提供了一种监管服务端,其特征在于,被配置为执行上述由监管服务端执行的任一项所述的通信处理方法。
根据本公开第七方面,提供了一种通信处理系统,其特征在于,包括上述任一实施例所述的客户端。
在一些实施例中,通信处理系统还包括上述任一实施例所述的通信服务端。
在一些实施例中,通信处理系统还包括上述任一实施例所述的监管服务端。
根据本公开第八方面,提供了一种电子设备,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行上述任一实施例所述的通信处理方法。
根据本公开的第九方面,提供了一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任一实施例所述的通信处理方法。
在上述实施例中,可以在消息发送客户端和消息接收客户端之间建立端到端信息安全的通信通道,并且通信服务端无论在任何时候以任何技术手段都无法获得通信消息原文,从而可以提高基于端到端的加密通信的安全性。另外,本公开还考虑了监管服务端的监管服务,可以实现在通信服务端无法获取通信消息原文的情况下,使得监管服务端可以获取通信消息原文用于消息监管,实现了基于端到端的加密的安全监管。安全监管为本公开提出,是指在不破坏端到端加密且避免通信服务端获取消息明文的情况下的仅由监管方操作来获取消息明文的监管。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是示出根据本公开一些实施例的通信处理方法的流程图;
图2是示出根据本公开一些实施例的得到多个加密分片的示意图;
图3是示出根据本公开另一些实施例的通信处理方法的流程图;
图4是示出根据本公开一些实施例的通信处理方法的示意图;
图5是示出根据本公开再一些实施例的通信处理方法的流程图;
图6是示出根据本公开一些实施例的通信处理系统的框图;
图7是示出根据本公开一些实施例的电子设备的框图;
图8是示出用于实现本公开一些实施例的计算机系统的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示出根据本公开一些实施例的通信处理方法的流程图。
如图1所示,由客户端执行的通信处理方法包括:步骤S110,生成客户端的用户或群组的用于密钥交换的公钥和私钥,私钥不以明文方式进行存储;步骤S120,利用保护密钥,对用户或群组的私钥进行加密,得到加密后的私钥,保护密钥为客户端产生的不可重放的随机生成密钥;步骤S130,对保护密钥执行门限加密算法,得到多个密钥分片,其中,还原保护密钥需要至少预设数量的密钥分片;步骤S140,对多个密钥分片进行加密,得到多个加密分片,多个加密分片包括利用通信服务端无法感知的用户侧密钥加密得到的第一加密分片;和步骤S150,发送并存储加密后的私钥和多个加密分片到通信服务端,其中,大于或等于预设数量的加密分片无法被通信服务端解密,加密后的私钥和至少预设数量的加密分片用于客户端在内存中通过根据用户侧密钥还原的保护密钥来还原用户或群组的私钥,所还原的私钥用于对从客户端发出的消息进行加密或者对由客户端接收的利用用户或群组的公钥加密得到的加密消息进行解密。私钥不以明文方式在任何端(包括客户端和通信服务端)进行存储。在一些实施例中,私钥也不以明文方式存储在监管服务端。
在上述实施例中,由客户端生成其用户或群组的公钥和私钥,使得通信服务端不感知用户或群组的私钥的生成规则且无法以任何方式重复生成私钥。保护密钥由客户端产生且不可重放,利用该保护密钥对私钥进行加密,并对保护密钥执行门限加密算法后加密,还原用户的私钥变得更加困难。另外,进一步控制通信服务端不能解密的加密分片的数量大于或等于可还原保护密钥的密钥分片的最少数量(即预设数量),使得通信服务端即使存储或代持了所有加密分片和加密后的私钥也无法解密足够数量的加密分片来还原保护密钥,从而也就无法还原用户或群组的私钥。客户端将加密后的私钥和多个加密分片发送到通信服务端存储,可以保证用户或群组的私钥能够得到安全保存,也能保证通信服务端为客户端提供多端登录服务。
综合上述分析,上述实施例可以保证用户的私钥得到安全保存,在提供基于端到端的加密通信的服务的同时,保证通信服务端无论在任何时候以任何技术手段都无法获得通信消息原文,提高通信消息的安全性,保护用户的消息等隐私信息,从而提高基于端到端的加密通信的安全性。另外,通过通信服务端代持加密后的私钥和多个加密分片,使得用户或群组在更换客户端时,仍然可以正常登录使用,在提高基于端到端的加密通信的安全性的基础上,实现了用户或群组的多客户端登录。
在步骤S110中,生成客户端的用户或群组的用于密钥交换的公钥和私钥。用户或群组的私钥自生成起不以明文方式进行存储。用户或群组的公钥和私钥构成非对称加密的公私钥对。在一些实施例中,在客户端注册用户账号注册创建或者用户群组注册创建的情况下,客户端生成一次性不可重放性的非对称加密的公私钥对。例如,用户或群组的公私钥对被保存为用户密钥包(Key Bundle)。
在一些实施例中,用户的公钥和私钥包括用于用户单聊的公钥和私钥。群组的公钥和私钥包括用于用户群聊的公钥和私钥。在一些实施例中,生成用于密钥交换的公钥和私钥的算法包括但不限于非对称加密算法、DH算法以及ECDH算法等基于DH的扩展算法。例如,非对称加密算法包括RSA算法。用户或群组的私钥为非公开密钥,其可以是多个甚至可以是动态的。
在步骤S120中,利用保护密钥,对用户或群组的私钥进行加密,得到加密后的私钥。保护密钥为客户端产生的不可重放的随机生成密钥。在一些实施例中,对于客户端注册创建情况下产生的私钥,可以利用预设对称加密算法,通过随机盐值(salt)生成保护密钥(Recovery Bundle Key,RBK)。通过这种方式实现对私钥的对称加密。例如,加密后的私钥可以表示为RBK_Encrypt。不可重放表示不能以任何技术手段重新生成。
保护密钥可进行堆成加密或其他加密方式,只需客户端的通信客户端仅需了解还原算法即可。
在步骤S130中,对保护密钥执行门限加密算法,得到多个密钥分片。还原保护密钥需要至少预设数量的密钥分片。在一些实施例中,可以利用门限加密算法对保护密钥进行拆分,得到多个密钥分片。以密钥分片的数量为N、预设数量为P为例,P为密钥重建门限,P大于或等于2且小于N。在一些实施例中,N和P均可以根据实际情况进行配置。
在一些实施例中,以基于端到端的加密通信场景包括客户端和通信服务端为例,多个密钥分片存在2个,预设数量为2。在一些实施例中,以基于端到端的加密通信场景包括客户端、通信服务端和1个监管服务端为例,多个密钥分片存在3个,预设数量为2。这里列举的数量仅仅作为示例,不构成其他限定,例如,基于端到端的加密通信场景还可以包括客户端、一个或多个通信服务端和多个监管服务端。
以N为3、P为2为例,RBK被拆分为3份密钥分片,分别表示为RBK_1、RBK_2、RBK_3。在还原保护密钥时,仅需任意2份密钥分片即可还原RBK,从而再利用RBK还原私钥。
在步骤S140中,对多个密钥分片进行加密,得到多个加密分片,其中,多个加密分片包括利用通信服务端无法感知的用户侧密钥加密得到的第一加密分片。例如,第一加密分片存在一个或多个。通信服务端无法直接或间接感知用户侧密钥。
在一些实施例中,用户侧密钥可以包括用户的个人密码、手势密码、数字证书和预设图片特征中的至少一种。例如,用户的个人密码通常是经过不可逆的加密过程进行加密后存储的,仅由客户端的用户获取,通信服务端等客户端以外的设备无法感知。通过这种方式,可以进一步控制用于客户端还原私钥的加密分片无法被通信服务端解密,从而进一步提高基于端到端的加密通信的安全性。
在一些实施例中,用户的个人密码包括用户的账户密码等用户自行设定的密码。
例如,利用用户的个人密码,对密钥分片RBK_1进行对称加密,得到第一加密分片RBK_1_C。第一加密分片脱离客户端将无法被还原。例如,根据用户的个人密码,利用SM2加密算法,对密钥分片RBK_1进行对称加密,得到第一加密分片RBK_1_C。
在步骤S150中,发送并存储加密后的私钥和多个加密分片到通信服务端。大于或等于预设数量的加密分片无法被通信服务端解密但能被客户端解密。加密后的私钥和至少预设数量的加密分片用于客户端每次通信时在内存中通过根据用户侧密钥还原的保护密钥来还原用户或群组的私钥。所还原的私钥用于对从客户端发出的消息进行加密或者对由客户端接收的利用用户或群组的公钥加密得到的加密消息进行解密。这里客户端还原私钥为内存中的临时还原或恢复,其不会永久存储在客户端。
在一些实施例中,以多个加密分片包括第一加密分片为例,通信处理方法还包括如下步骤1)-3)。
在步骤1)中,在用户或群组登录客户端的情况下,从通信服务端获取加密后的私钥和至少预设数量的加密分片。至少预设数量的加密分片包括第一加密分片。例如,在用户需要通过单聊或群聊发送加密消息到其他用户或者需要从其他用户接收加密消息的情况下,用户或群组登录客户端。
在步骤2)中,利用用户侧密钥和至少预设数量的加密分片,从加密后的私钥中,还原用户或群组的私钥。
在一些实施例中,可以利用用户侧密钥和至少预设数量的加密分片,从至少预设数量的加密分片,还原至少预设数量的密钥分片;利用还原得到的至少预设数量的密钥分片,从加密后的私钥中,还原用户或群组的私钥。
在一些实施例中,可以利用用户侧密钥,从至少预设数量的加密分片中的第一加密分片,还原与第一加密分片对应的密钥分片,并在所还原的密钥分片的数量大于或等于预设数量的情况下,利用所还原的密钥分片,从加密后的私钥中,还原用户或群组的私钥。在一些实施例中,第一加密分片的数量大于或等于预设数量。客户端可以对所有第一加密分片进行还原得到相应的密钥分片,也可以对预设数量的第一加密分片进行还原得到相应的密钥分片,还可以对少于预设数量的第一加密分片进行还原。对于客户端对少于预设数量的第一加密分片进行还原的情况,需结合其他客户端可还原得到的密钥分片来还原用户或群组的私钥。
以存在至少预设数量的第一加密分片为例,可以利用用户侧密钥,从至少预设数量的第一加密分片中还原相应的至少预设数量的密钥分片,并利用与至少预设数量的第一加密分片对应的至少预设数量的密钥分片还原用户的私钥。
在一些实施例中,对多个密钥分片进行加密,得到多个加密分片还可以包括利用通信服务端的公钥,对少于预设数量的密钥分片进行加密,得到少于预设数量的第二加密分片。第二加密分片由通信服务端采用根据通信服务端的私钥解密并加密的方式进行更新。在一些实施例中,通信服务端包括一个通信服务端或去中心化的多个通信服务端。在通信服务端包括去中心化的多个通信服务端的情况下,不同通信服务端对应不同的通信服务端的公钥,从而对应不同的第二加密分片。至少预设数量的加密分片还包括更新后的第二加密分片。对第二加密分片更新,使得客户端和监管服务端均可以通过公开的通信服务端的公钥解密第二加密分片,以辅助还原用户的私钥。在上述实施例中,通过去中心化的多个通信服务端,可以防止中间人劫持通信服务端,进一步提高基于端到端的加密通信的安全性。
在一些实施例中,利用通信服务端的公钥对密钥分片RBK_2进行加密,得到第二加密分片RBK_2_S。例如,根据通信服务端的公钥,利用SM2加密算法,对密钥分片RBK_2进行加密,得到第二加密分片RBK_2_S。在一些实施例中,更新后的第二加密分片可以表示为RBK_2_S_C。
在一些实施例中,以至少预设数量的加密分片还包括更新后的第二加密分片为例,可以通过如下方式还原用户或群组的私钥。
首先,利用用户侧密钥,从至少预设数量的加密分片中的第一加密分片,还原与第一加密分片对应的密钥分片。
然后,利用通信服务端的公钥,从至少预设数量的加密分片中的更新后的第二加密分片,还原与第二加密分片对应的密钥分片。在一些实施例中,第一加密分片和更新后的第二加密分片的总数量大于或等于预设数量。
最后,在所还原的密钥分片的数量大于或等于所述预设数量的情况下,利用所还原的密钥分片,从加密后的私钥中,还原用户或群组的私钥。利用不同方式对不同加密分片进行加密,增加还原用户或群组的私钥的难度,从而进一步提高用户或群组的私钥的安全性,从而进一步提高基于端到端的加密通信的安全性。
在步骤3)中,利用所还原的私钥对从客户端发出的消息进行加密或者对由客户端接收的利用用户或群组的公钥加密得到的加密消息进行解密。
在一些实施例中,在用户侧密钥变更的情况下,用用户侧密钥,还原第一加密分片,得到与第一加密分片对应的密钥分片;利用变更后的用户侧密钥,重新加密所还原的与第一加密分片对应的密钥分片,得到更新后的第一加密分片;发送并存储更新后的第一加密分片到通信服务端。例如,可以单独更新第一加密分片,也可以重新对保护密钥执行门限加密算法、加密得到多个新的加密分片,发送并存储新的加密分片到通信服务端。
在一些实施例中,客户端还原用户1或群组1的私钥后,利用该用户1或群组1的私钥和该用户的通信用户2或通信群组2的公钥对消息进行加密,得到加密消息。该加密消息通过加密互联网络传输到通信服务端。通信服务端存储加密消息并通过加密互联网络发送给该用户的通信用户2或通信群组2。该用户的通信用户2或通信群组2所使用的客户端也可以获取与通信用户2或通信群组2对应的加密后的私钥和多个加密分片,从而可以还原该通信用户2或通信群组2的私钥。该通信用户2或通信群组2的客户端利用该通信用户2或通信群组2的私钥和用户1或群组1的公钥对加密消息进行解密得到消息。
在一些实施例中,客户端还原用户1或群组1的私钥后,利用该用户1或群组1的私钥和该用户1的通信用户2或通信群组2的公钥对加密消息进行解密,得到来自该用户1的通信用户2或通信群组2的消息。
在一些实施例中,以存在通信消息监管需求的端到端加密通信场景为例,多个加密分片还用于至少一个监管服务端还原其监管的加密消息所对应的用户或群组的私钥,并利用所还原的私钥,从客户端发出的或由客户端接收的加密消息中还原消息,并监测所还原的消息是否满足预设条件。对于每个监管服务端,多个加密分片存在至少预设数量的加密分片能够被每个监管服务端解密。在一些实施例中,预设条件包括所还原的消息或消息内容不存在不符合通信规范的内容。例如,不符合通信规范的内容包括敏感信息、违法信息等。在一些实施例中,至少一个监管服务端对应一个监管方或者对应多个不同监管方。同一监管方的不同监管服务端具有相同的监管服务端的公钥和私钥。
在上述实施例中,多个加密分片中存在至少预设数量的加密分片能够被监管服务端解密,从而可以在保护用户或群组的私钥的前提下,提高通信安全性并实现在通信服务端无法获取通信消息原文的情况下监管服务端可以对通信消息的安全监管或安全巡查,可以安全处理好用户、通信服务商、监管方三种身份对于加密消息查看的权限,可以满足即时通信服务的安全管理要求。上述实施例支持多监管服务端,支持同一监管方的多监管服务端登录,也支持多个监管方的安全监管。
在一些实施例中,对多个密钥分片进行加密,得到多个加密分片包括:利用至少一个监管服务端中的每个监管服务端的公钥,对密钥分片进行加密,得到至少预设数量的第三加密分片。每个监管服务端的公钥为客户端通过通信服务端获得。多个加密分片还包括至少预设数量的第三加密分片,预设数量的第三加密分片用于每个监管服务端从客户端发出的或由客户端接收的加密消息中还原消息,并监测所还原的消息是否满足预设条件。利用每个监管服务端的公钥得到第三加密分片,只能用该监管服务端的私钥进行解密,而每个监管服务端的私钥由其自身产生,无法被其他设备感知,从而可以进一步提高监管的安全性,不仅可以实现单个监管服务端对通信消息的安全监管,还可以实现多监管服务端对通信消息的安全监管。
例如,利用监管服务端的公钥对密钥分片RBK_3进行加密,得到第三加密分片RBK_3_A_X,其中,X标识第X个监管服务端。在例如,根据监管服务端的公钥,利用SM2加密算法,对密钥分片RBK_3进行加密,得到第三加密分片RBK_3_A_X。在存在多个监管服务端的情况下,存在多个第三加密分片。监管服务端的公钥也可以称为风控公钥。
在一些实施例中,对多个密钥分片进行加密,得到多个加密分片包括如下步骤。
首先,利用通信服务端的公钥,对少于预设数量的密钥分片进行加密,得到少于预设数量的第二加密分片。第二加密分片由通信服务端采用根据通信服务端的私钥解密并加密的方式进行更新,通信服务端包括一个通信服务端或去中心化的多个通信服务端。
然后,利用至少一个监管服务端中的每个监管服务端的公钥,对至少一个密钥分片进行加密,得到至少一个第三加密分片。每个监管服务端的公钥为客户端通过通信服务端获得。至少一个第三加密分片和更新后的第二加密分片的总数量大于或等于预设数量,用于每个监管服务端从客户端发出的或由客户端接收的加密消息中还原消息,并监测所还原的消息是否满足预设条件。在存在多个监管服务端的情况下,每个监管服务端利用与其公钥对应的第三加密分片进行监管。在客户端上线初期,通信服务端默认会对接一个监管服务端。服务端也可以称为服务器。至少一个监管服务端对应一个监管方或者对应多个不同监管方。同一监管方的不同监管服务端具有相同的监管服务端的公钥和私钥,可以实现同一监管方的多监管服务端登录。
在一些实施例中,多个加密分片也可以同时包括第一加密分片、第二加密分片和第三加密分片。第二加密分片的数量少于预设数量,第一加密分片和第二加密分片的总数量大于或等于预设数量,第二加密分片和第三加密分片的总数量大于或等于预设数量。通过不同加密方式,对多个密钥分片以客户端的通信服务端无法感知的用户侧密钥、通信服务端的公钥以及一个或多个监管方的监管服务端的公钥进行加密,得到多个加密分片,使得客户端、通信服务端、监管服务端对不同加密分片具有不同的解密权限,从而保证通信服务端无法解密得到保护密钥、客户端和监管服务端可以解密得到保护密钥,提高通信安全的同时,实现通信服务端无信息泄露的通信消息安全监管。
下面将结合图2并以密钥分片包括RBK_1、RBK_2和RBK_3为例,详细描述得到多个加密分片的过程。
图2是示出根据本公开一些实施例的得到多个加密分片的示意图。
如图2所示,客户端根据保护密钥RBK,利用加密算法对用户或群组的私钥进行加密,得到用户或群组的加密后的私钥。客户端对保护密钥RBK执行门限加密算法,得到3个密钥分片RBK_1、RBK_2和RBK_3。例如,门限加密算法设定还原用户或群组的私钥的恢复门限为2。在一些实施例中,可以利用SM4加密算法对用户或群组的私钥进行加密。
在一些实施例中,客户端根据通信服务端无法感知的用户侧密钥,对密钥分片RBK_1进行加密,得到RBK_1密文,作为第一加密分片。客户端还根据通信服务端的公钥,对密钥分片RBK_2进行加密,得到RBK_2密文,作为第二加密分片。客户端还根据监管服务端的公钥,对密钥分片RBK_3进行加密,得到RBK_3密文,作为第三加密分片。例如,可以利用SM2加密算法对密钥分片进行加密。
在一些实施例中,用户或群组的加密后的私钥、RBK_1密文、RBK_2密文、以及RBK_3密文由客户端发送到通信服务端。RBK_2密文在通信服务端采用其私钥解密并加密的方式进行更新,得到更新后的RBK_2密文。
在一些实施例中,RBK_1密文和更新后的RBK_2密文用于客户端解密用户或群组的加密后的私钥,得到用户或群组的私钥。
在一些实施例中,RBK_3密文和更新后的RBK_2密文用于监管服务端解密用户或群组的加密后的私钥,得到用户或群组的私钥。
需要注意的是,上述附图2仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。
在一些实施例中,在新增监管服务端的情况下,根据用户侧密钥和至少预设数量的加密分片,还原保护密钥;重新对保护密钥执行门限加密算法,得到多个密钥分片,重新对多个密钥分片进行加密,得到多个加密分片,并重新发送并存储加密后的私钥和重新得到的多个加密分片到通信服务端。重新对保护密钥执行门限加密算法包括重新利用通信服务端的公钥,对少于预设数量的密钥分片进行加密,得到少于预设数量的第二加密分片,并重新利用每个监管服务端的公钥,对密钥分片进行加密,得到至少一个第三加密分片。重新得到的第二加密分片由通信服务端重新采用根据通信服务端的私钥解密并加密的方式进行更新。
在一些实施例中,在新增监管服务端的情况下,重新利用用户侧密钥,对至少一个密钥分片进行加密,得到至少一个第一加密分片;利用通信服务端的公钥,对少于预设数量的密钥分片进行加密,得到少于预设数量的第二加密分片,其中,重新得到的第二加密分片由所述通信服务端重新采用根据所述通信服务端的私钥解密并加密的方式进行更新,第一加密分片和更新后的第二加密分片的总数量大于或等于预设数量;重新利用每个监管服务端的公钥,对至少一个密钥分片进行加密,得到至少一个第三加密分片。这种情况下,重新得到的多个加密分片包括第一加密分片、第二加密分片和第三加密分片。
图3是示出根据本公开另一些实施例的通信处理方法的流程图。
如图3所示,由通信服务端执行的通信处理方法包括步骤S310。
在步骤S310中,通信服务端接收并存储来自客户端的加密后的私钥和多个加密分片,其中,加密后的私钥和多个加密分片通过前述任意实施例中的由客户端执行的通信处理方法得到。例如,在用户或群组登录客户端的情况下,客户端发送登录请求到通信服务端,通信服务端接收来自客户端的登录请求,并对客户端进行登录鉴权。在登录鉴权通过的情况下,通信服务端发送客户端的加密后的私钥和至少预设数量的能够被客户端解密的加密分片到客户端。
在一些实施例中,通信服务端存储来自客户端的加密后的私钥和多个加密分片。
在一些实施例中,以多个加密分片包括前述的客户端利用所述通信服务端无法感知的用户侧密钥对密钥分片进行加密得到的第一加密分片和客户端利用所述通信服务端的公钥对少于预设数量的密钥分片进行加密得到的第二加密分片为例,由通信服务端执行的通信处理方法还包括步骤S320-步骤S330。
在步骤S320中,利用通信服务端的私钥,解密第二加密分片。
在步骤S330中,利用通信服务端的私钥,加密所解密的第二加密分片,得到更新后的第二加密分片。第一加密分片和更新后的第二加密分片用于还原客户端的用户或群组的私钥。例如,第一加密分片和更新后的第二加密分片的总数量大于或等于预设数量。引入更新的第二加密分片,便于客户端和/或监管服务端用于还原保护密钥,尤其是在客户端和监管服务端共同存在的情况下,可以共用第二加密分片,减少加密分片的总数量,提高通信处理效率。
在一些实施例中,通信服务端还可以在用户或群组登录客户端的情况下,发送第一加密分片和更新后的第二加密分片到客户端,用于客户端还原用户或群组的的私钥。
在一些实施例中,在用户或群组登录除客户端以外的其他客户端(即同一个用户或群组更换客户端)的情况下,发送第一加密分片和更新后的第二加密分片到其他客户端,用于用户或群组进行多客户端登录。
在一些实施例中,以多个加密分片还包括利用至少一个监管服务端的公钥对密钥分片进行加密得到的至少一个第三加密分片为例,由通信服务端执行的通信处理方法还包括步骤S340-步骤S350。至少一个监管服务端对应一个监管方或者对应多个不同监管方。同一监管方的不同监管服务端具有相同的监管服务端的公钥和私钥。
在步骤S340中,生成每个监管服务端的监管服务包。每个监管服务端的监管服务包被配置为:利用每个监管服务端的私钥,从利用每个监管服务端的公钥加密得到的第三加密分片,还原与该第三加密分片对应的密钥分片;利用通信服务端的公钥,从更新后的第二加密分片,还原与更新后的第二加密分片对应的密钥分片;在所述还原的密钥分片的数量大于或等于所述预设数量的情况下,利用所还原的密钥分片,从用户或群组的加密后的私钥,还原用户或群组的私钥;利用所还原的用户或群组的私钥,对从客户端发出的加密消息进行解密或者对由客户端接收的利用用户或群组的公钥加密得到的加密消息进行解密;监测解密后的加密消息是否满足预设条件。
在一些实施例中,监管服务包可以为SDK(Software Development Kit,软件开发工具包),也可以为具有消息解密服务的安全监管系统。
在一些实施例中,每个监管服务端的监管服务包还被配置为在完成监测后,清除该每个监管服务端的内存中的所还原的用户或群组的私钥。
在步骤S350中,部署监管服务包到每个监管服务端。例如,可以部署每个监管服务端的监管服务包到该每个监管服务端的私有化服务器上,进一步提高通信安全性。
在上述实施例中,通过由通信服务端生成并部署监管服务包,尤其提高了多监管服务端完成监管的效率。通过完成监测后清除内存中的私钥,进一步提高私钥安全性。
在一些实施例中,通信服务端还将加密消息、加密后的私钥、监管服务端可以解密的加密分片同步到监管服务端。通过这种方式,可以提高监管效率。
例如,在某个监管服务端存在加密消息监管需求的情况下,通信服务端接收该监管服务端提交的密文巡查任务,并验证该监管服务端的合法性。在通信服务端验证该监管服务端满足合法性条件的情况下,通信服务端同步加密消息(消息密文)、监管服务端能够解密的至少预设数量的加密分片(例如,RBK_2_S_C、RBK_3_A_X)和加密后的私钥到该监管服务端。例如,对于文件类的消息,需要额外提供存储空间,作为加密文件的同步。
下面将结合图4详细描述本公开一些实施例的由通信服务端执行的通信处理方法的示意图。
图4是示出根据本公开一些实施例的通信处理方法的示意图。
如图4所示,通信服务端生成某个监管服务端的监管服务包。监管服务包用于根据监管服务端的私钥和通信服务端的公钥,对更新后的RBK_2密文和RBK_3密文进行解密得到RBK_2和RBK_3。根据RBK_2和RBK_3,进行门限恢复,得到保护密钥RBK。根据保护密钥RBK对用户或群组的加密后的私钥进行解密得到用户或群组的私钥。根据用户的私钥对消息密文或加密消息进行解密,得到消息原文(即解密后的加密消息)。在得到消息原文后,对消息原文进行消息监管。在一些实施例中,监管服务包还可以对相应监管服务端的内存进行用户的私钥的清除操作。图4作为基于图2的一种实施例给出的示例性说明,不作限制目的。
在一些实施例中,如图4所示,通信服务端提前或响应于监管服务端的需求,将加密消息、用户或群组的加密后的私钥、更新后的RBK_2密文和RBK_3密文同步给监管服务端。
图5是示出根据本公开再一些实施例的通信处理方法的流程图。
如图5所示,由监管服务端执行的通信处理方法包括步骤S510-步骤S520。
在步骤S510中,在存在加密消息监管需求的情况下,获取利用通信服务端的私钥加密得到的更新后的第二加密分片和利用所述监管服务端的公钥加密得到的第三加密分片。在一些实施例中,可以从通信服务端获取,也可以由通信服务端预先同步到监管服务端,进而从监管服务端获取。监管服务端的公钥和私钥由监管服务端生成。同一监管方的不同监管服务端具有相同的监管服务端的公钥和私钥。
在一些实施例中,可以经过资质认证的网络服务商申请CA(CertificationAuthority,认证机构)证书,生成监管服务端的公私钥对,并将监管服务端的公钥提供给通信服务端,以便通信服务端发送给客户端。
在一些实施例中,在监管服务端存在加密消息监管需求的情况下,监管服务端提交密文巡查任务到通信服务端,以便通信服务端验证监管服务端的合法性。在通信服务端验证监管服务端满足合法性条件的情况下,监管服务端接收由通信服务端同步的加密消息(消息密文)、监管服务端能够解密的至少预设数量的加密分片(例如,RBK_2_S_C、RBK_3_A_X)和加密后的私钥。例如,对于文件类的消息,需要额外提供存储空间,作为加密文件的同步。
在步骤S520中,根据监管服务端的私钥和通信服务端的公钥,调用部署在监管服务端的监管服务包对所获取的更新后的第二加密分片和第三加密分片进行处理,以对加密消息的监管。监管服务包通过前述实施例中由通信服务端执行的通信处理方法生成并部署。上述实施例在提高通信安全的同时,实现通信服务端无信息泄露的通信消息安全监管。
在一些实施例中,监管服务端还可以通过通信服务端发送监管服务端的公钥到客户端,用于客户端对密钥分片进行加密得到第三加密分片。
在一些实施例中,在不存在利用所述监管服务端的公钥加密得到的第三加密分片的情况下,通过通信服务端,发送监管服务端的公钥到客户端,并通知客户端重新对保护密钥执行门限加密算法,得到多个密钥分片、重新对多个密钥分片进行加密,得到包括利用所述监管服务端的公钥加密得到的第三加密分片的多个加密分片以及重新发送并存储重新得到的多个加密分片到通信服务端。这种情况下,表明监管服务端为新增监管服务端。
在一些实施例中,本公开还提供了一种客户端。客户端被配置为执行本公开任意一些实施例中的由客户端执行的通信处理方法。
在一些实施例中,本公开还提供了一种通信服务端。通信服务端被配置为执行本公开任意一些实施例中的由通信服务端执行的通信处理方法。
在一些实施例中,本公开还提供了一种监管服务端。监管服务端被配置为执行本公开任意一些实施例中的由监管服务端执行的通信处理方法。
图6是示出根据本公开一些实施例的通信处理系统的框图。
如图6所示,通信处理系统6包括客户端61。客户端61为本公开任意一些实施例中的客户端,被配置为执行本公开任意一些实施例中的由客户端执行的通信处理方法。
在一些实施例中,通信处理系统6还包括通信服务端62。通信服务端62为本公开任意一些实施例中的通信服务端,被配置为执行本公开任意一些实施例中的由通信服务端执行的通信处理方法。
在一些实施例中,通信处理系统6还包括监管服务端63。监管服务端63为本公开任意一些实施例中的监管服务端,被配置为执行本公开任意一些实施例中的由监管服务端执行的通信处理方法。
图7是示出根据本公开一些实施例的电子设备的框图。
如图7所示,电子设备7包括存储器71;以及耦接至该存储器71的处理器72。存储器71用于存储执行通信处理方法对应实施例的指令。处理器72被配置为基于存储在存储器71中的指令,执行本公开中任意一些实施例中的通信处理方法。
图8是示出用于实现本公开一些实施例的计算机系统的框图。
如图8所示,计算机系统80可以通用计算设备的形式表现。计算机系统80包括存储器810、处理器820和连接不同系统组件的总线800。
存储器810例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行通信处理方法中的至少一种的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
处理器820可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如判断模块和确定模块的每个模块,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
总线800可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线。
计算机系统80还可以包括输入输出接口830、网络接口840、存储接口850等。这些接口830、840、850以及存储器810和处理器820之间可以通过总线800连接。输入输出接口830可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口840为各种联网设备提供连接接口。存储接口850为软盘、U盘、SD卡等外部存储设备提供连接接口。
这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
通过上述实施例中的通信处理方法及系统、客户端、通信服务端和监管服务端、电子设备、计算机可存储介质,可以提高基于端到端的加密通信的安全性。
至此,已经详细描述了根据本公开的通信处理方法及系统、客户端、通信服务端和监管服务端、电子设备、计算机可存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
Claims (25)
1.一种通信处理方法,其特征在于,由客户端执行,包括:
生成所述客户端的用户或群组的用于密钥交换的公钥和私钥,所述私钥不以明文方式进行存储;
利用保护密钥,对所述私钥进行加密,得到加密后的私钥,所述保护密钥为所述客户端产生的不可重放的随机生成密钥;
对所述保护密钥执行门限加密算法,得到多个密钥分片,其中,还原所述保护密钥需要至少预设数量的密钥分片;
对所述多个密钥分片进行加密,得到多个加密分片,所述多个加密分片包括利用通信服务端无法感知的用户侧密钥加密得到的第一加密分片;
发送并存储所述加密后的私钥和所述多个加密分片到通信服务端,其中,大于或等于预设数量的加密分片无法被所述通信服务端解密,所述加密后的私钥和至少预设数量的加密分片用于所述客户端在内存中通过根据所述用户侧密钥还原的所述保护密钥来还原所述私钥,所还原的私钥用于对从所述客户端发出的消息进行加密或者对由所述客户端接收的利用所述公钥加密得到的加密消息进行解密。
2.根据权利要求1所述的通信处理方法,其特征在于,所述用户侧密钥包括所述用户的个人密码、手势密码、数字证书和预设图片特征中的至少一种。
3.根据权利要求1所述的通信处理方法,其特征在于,还包括:
在所述用户或群组登录所述客户端的情况下,从所述通信服务端获取所述加密后的私钥和至少预设数量的加密分片,其中,至少预设数量的加密分片包括所述第一加密分片;
利用所述用户侧密钥和所述至少预设数量的加密分片,从所述加密后的私钥中,还原所述私钥;
利用所还原的私钥对从所述客户端发出的消息进行加密或者对由所述客户端接收的利用所述公钥加密得到的加密消息进行解密。
4.根据权利要求3所述的通信处理方法,其特征在于,从所述加密后的私钥中,还原所述私钥包括:
利用所述用户侧密钥,从所述至少预设数量的加密分片中的第一加密分片,还原与所述第一加密分片对应的密钥分片;
在所还原的密钥分片的数量大于或等于所述预设数量的情况下,利用所还原的密钥分片,从所述加密后的私钥中,还原所述私钥。
5.根据权利要求3所述的通信处理方法,其特征在于,对所述多个密钥分片进行加密,得到多个加密分片还包括:
利用所述通信服务端的公钥,对少于所述预设数量的密钥分片进行加密,得到少于所述预设数量的第二加密分片,其中,所述第二加密分片由所述通信服务端采用根据所述通信服务端的私钥解密并加密的方式进行更新,所述至少预设数量的加密分片还包括更新后的第二加密分片,所述通信服务端包括一个通信服务端或去中心化的多个通信服务端。
6.根据权利要求5所述的通信处理方法,其特征在于,从所述加密后的私钥中,还原所述私钥包括:
利用所述用户侧密钥,从所述至少预设数量的加密分片中的第一加密分片,还原与所述第一加密分片对应的密钥分片;
利用所述通信服务端的公钥,从所述至少预设数量的加密分片中的更新后的第二加密分片,还原与所述第二加密分片对应的密钥分片;
在所还原的密钥分片的数量大于或等于所述预设数量的情况下,利用所还原的密钥分片,从所述加密后的私钥中,还原所述用户或群组的私钥。
7.根据权利要求1-6任一项所述的通信处理方法,其特征在于,还包括:
在所述用户侧密钥变更的情况下,利用所述用户侧密钥,还原所述第一加密分片,得到与所述第一加密分片对应的密钥分片;
利用变更后的用户侧密钥,重新加密所还原的与所述第一加密分片对应的密钥分片,得到更新后的第一加密分片;
发送并存储更新后的第一加密分片到所述通信服务端。
8.根据权利要求1-6任一项所述的通信处理方法,其特征在于,对所述多个密钥分片进行加密,得到多个加密分片包括:
利用至少一个监管服务端中的每个监管服务端的公钥,对密钥分片进行加密,得到至少预设数量的第三加密分片,其中,所述每个监管服务端的公钥为所述客户端通过所述通信服务端获得,所述多个加密分片还包括所述至少预设数量的第三加密分片,所述预设数量的第三加密分片用于所述每个监管服务端从所述客户端发出的或由所述客户端接收的加密消息中还原消息,并监测所还原的消息是否满足预设条件,所述至少一个监管服务端对应一个监管方或者对应多个不同监管方,同一监管方的不同监管服务端具有相同的监管服务端的公钥和私钥。
9.根据权利要求1-6任一项所述的通信处理方法,其特征在于,对所述多个密钥分片进行加密,得到多个加密分片包括:
利用通信服务端的公钥,对少于所述预设数量的密钥分片进行加密,得到少于所述预设数量的第二加密分片,其中,所述第二加密分片由所述通信服务端采用根据所述通信服务端的私钥解密并加密的方式进行更新,所述通信服务端包括一个通信服务端或去中心化的多个通信服务端;
利用至少一个监管服务端中的每个监管服务端的公钥,对密钥分片进行加密,得到至少一个第三加密分片,其中,所述每个监管服务端的公钥为所述客户端通过所述通信服务端获得,所述至少一个第三加密分片和更新后的第二加密分片的总数量大于或等于所述预设数量,用于所述每个监管服务端从所述客户端发出的或由所述客户端接收的加密消息中还原消息,并监测所还原的消息是否满足预设条件,所述至少一个监管服务端对应一个监管方或者对应多个不同监管方,同一监管方的不同监管服务端具有相同的监管服务端的公钥和私钥。
10.根据权利要求9所述的通信处理方法,其特征在于,还包括:
在新增监管服务端的情况下,根据所述用户侧密钥和至少预设数量的加密分片,还原所述保护密钥;
重新对所述保护密钥执行门限加密算法,得到多个密钥分片;
重新对多个密钥分片进行加密,得到多个加密分片,包括:重新利用通信服务端的公钥,对少于所述预设数量的密钥分片进行加密,得到少于所述预设数量的第二加密分片,其中,重新得到的第二加密分片由所述通信服务端重新采用根据所述通信服务端的私钥解密并加密的方式进行更新;重新利用每个监管服务端的公钥,对密钥分片进行加密,得到至少一个第三加密分片;
重新发送并存储重新得到的多个加密分片到通信服务端。
11.一种通信处理方法,其特征在于,由通信服务端执行,包括:
接收并存储来自客户端的加密后的私钥和多个加密分片,其中,所述加密后的私钥和所述多个加密分片通过权利要求1-10任一项所述的通信处理方法得到。
12.根据权利要求11所述的通信处理方法,其特征在于,所述多个加密分片包括所述客户端利用所述通信服务端无法感知的用户侧密钥对密钥分片进行加密得到的第一加密分片和所述客户端利用所述通信服务端的公钥对少于预设数量的密钥分片进行加密得到的第二加密分片,所述通信处理方法还包括:
利用所述通信服务端的私钥,解密所述第二加密分片;
利用所述通信服务端的私钥,加密所解密的第二加密分片,得到更新后的第二加密分片,其中,所述第一加密分片和更新后的第二加密分片用于还原所述客户端的用户或群组的私钥。
13.根据权利要求12所述的通信处理方法,其特征在于,还包括:
在所述用户或群组登录所述客户端的情况下,发送所述第一加密分片和所述更新后的第二加密分片到所述客户端,用于所述客户端还原用户或群组的私钥;和/或
在所述用户或群组登录除所述客户端以外的其他客户端的情况下,发送所述第一加密分片和所述更新后的第二加密分片到所述其他客户端,用于所述用户或群组进行多客户端登录。
14.根据权利要求12-13任一项所述的通信处理方法,其特征在于,所述多个加密分片还包括利用至少一个监管服务端的公钥对密钥分片进行加密得到的至少一个第三加密分片,所述通信处理方法还包括:
生成并部署监管服务包到至少一个监管服务端,其中,所述至少一个监管服务端对应一个监管方或者对应多个不同监管方,同一监管方的不同监管服务端具有相同的监管服务端的公钥和私钥,部署到每个监管服务端的监管服务包被配置为:
利用所述每个监管服务端的私钥,从利用所述每个监管服务端的公钥加密得到的第三加密分片,还原与该第三加密分片对应的密钥分片;
利用所述通信服务端的公钥,从更新后的第二加密分片,还原与所述更新后的第二加密分片对应的密钥分片;
在所述还原的密钥分片的数量大于或等于所述预设数量的情况下,利用所还原的密钥分片,从所述加密后的私钥,还原所述用户或群组的私钥;
利用所还原的用户或群组的私钥,对从所述客户端发出的加密消息进行解密或者对由所述客户端接收的利用所述用户或群组的公钥加密得到的加密消息进行解密;
监测解密后的加密消息是否满足预设条件。
15.根据权利要求14所述的通信处理方法,其特征在于,所述部署到每个监管服务端的监管服务包还被配置为:
在完成监测后,清除所述每个监管服务端的内存中的所还原的用户或群组的私钥。
16.一种通信处理方法,其特征在于,由监管服务端执行,包括:
在存在加密消息监管需求的情况下,获取利用通信服务端的私钥加密得到的更新后的第二加密分片和利用所述监管服务端的公钥加密得到的第三加密分片;
根据所述监管服务端的私钥和所述通信服务端的公钥,调用部署在所述监管服务端的监管服务包对所获取的更新后的第二加密分片和第三加密分片进行处理,以完成对加密消息的监管,其中,所述监管服务包通过如权利要求14或15所述的通信处理方法生成并部署。
17.根据权利要求16所述的通信处理方法,其特征在于,还包括:
在不存在利用所述监管服务端的公钥加密得到的第三加密分片的情况下,通过所述通信服务端,发送所述监管服务端的公钥到客户端,并通知所述客户端重新对保护密钥执行门限加密算法,得到多个密钥分片、重新对多个密钥分片进行加密,得到包括利用所述监管服务端的公钥加密得到的第三加密分片的多个加密分片以及重新发送并存储重新得到的多个加密分片到所述通信服务端。
18.一种客户端,其特征在于,被配置为执行如权利要求1-10任一项所述的通信处理方法。
19.一种通信服务端,其特征在于,被配置为执行如权利要求11-15任一项所述的通信处理方法。
20.一种监管服务端,其特征在于,被配置为执行如权利要求16或17所述的通信处理方法。
21.一种通信处理系统,其特征在于,包括:
如权利要求18所述的客户端。
22.根据权利要求21所述的通信处理系统,其特征在于,还包括:
如权利要求19所述的通信服务端。
23.根据权利要求21或22所述的通信处理系统,其特征在于,还包括:
如权利要求20所述的监管服务端。
24.一种电子设备,其特征在于,包括:
存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行如权利要求1至17任一项所述的通信处理方法。
25.一种计算机可存储介质,其特征在于,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1至17任一项所述的通信处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210897419.6A CN115001865B (zh) | 2022-07-28 | 2022-07-28 | 通信处理方法及系统、客户端、通信服务端和监管服务端 |
PCT/CN2023/102571 WO2024021958A1 (zh) | 2022-07-28 | 2023-06-27 | 通信处理方法及系统、客户端、通信服务端和监管服务端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210897419.6A CN115001865B (zh) | 2022-07-28 | 2022-07-28 | 通信处理方法及系统、客户端、通信服务端和监管服务端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115001865A CN115001865A (zh) | 2022-09-02 |
CN115001865B true CN115001865B (zh) | 2022-12-02 |
Family
ID=83022456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210897419.6A Active CN115001865B (zh) | 2022-07-28 | 2022-07-28 | 通信处理方法及系统、客户端、通信服务端和监管服务端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115001865B (zh) |
WO (1) | WO2024021958A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001865B (zh) * | 2022-07-28 | 2022-12-02 | 杭州安司源科技有限公司 | 通信处理方法及系统、客户端、通信服务端和监管服务端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634276A (zh) * | 2012-08-23 | 2014-03-12 | 上海凌攀信息科技有限公司 | 一种针对即时通信消息的隐私保护方法 |
CN104219051A (zh) * | 2014-08-20 | 2014-12-17 | 北京奇艺世纪科技有限公司 | 一种群组内消息的通信方法和系统 |
CN111193695A (zh) * | 2019-07-26 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 一种第三方账号登录的加密方法、装置及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030204741A1 (en) * | 2002-04-26 | 2003-10-30 | Isadore Schoen | Secure PKI proxy and method for instant messaging clients |
US8510558B2 (en) * | 2009-02-17 | 2013-08-13 | Alcatel Lucent | Identity based authenticated key agreement protocol |
US9705859B2 (en) * | 2015-12-11 | 2017-07-11 | Amazon Technologies, Inc. | Key exchange through partially trusted third party |
CN111865956A (zh) * | 2020-07-13 | 2020-10-30 | 杭州萤石软件有限公司 | 一种防服务劫持系统、方法、装置及存储介质 |
CN115001865B (zh) * | 2022-07-28 | 2022-12-02 | 杭州安司源科技有限公司 | 通信处理方法及系统、客户端、通信服务端和监管服务端 |
-
2022
- 2022-07-28 CN CN202210897419.6A patent/CN115001865B/zh active Active
-
2023
- 2023-06-27 WO PCT/CN2023/102571 patent/WO2024021958A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634276A (zh) * | 2012-08-23 | 2014-03-12 | 上海凌攀信息科技有限公司 | 一种针对即时通信消息的隐私保护方法 |
CN104219051A (zh) * | 2014-08-20 | 2014-12-17 | 北京奇艺世纪科技有限公司 | 一种群组内消息的通信方法和系统 |
CN111193695A (zh) * | 2019-07-26 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 一种第三方账号登录的加密方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
端到端安全即时通信软件SIM设计与实现;诸亿郎等;《科技广场》;20170430(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115001865A (zh) | 2022-09-02 |
WO2024021958A1 (zh) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105553951B (zh) | 数据传输方法和装置 | |
CN110069918B (zh) | 一种基于区块链技术的高效双因子跨域认证方法 | |
EP3324572B1 (en) | Information transmission method and mobile device | |
CN106357690B (zh) | 一种数据传输方法、数据发送装置及数据接收装置 | |
CN103001976A (zh) | 一种安全的网络信息传输方法 | |
CN111371549A (zh) | 一种报文数据传输方法、装置及系统 | |
JP2008250931A (ja) | 分散情報復元システム、情報利用装置、および、検証装置 | |
CN113806772A (zh) | 基于区块链的信息加密传输方法及装置 | |
CN113067828A (zh) | 报文处理方法、装置、服务器、计算机设备及存储介质 | |
WO2020114377A1 (en) | Secure distributed key management system | |
CN107579903B (zh) | 一种基于移动设备的图片消息安全传输方法及系统 | |
CN106941404A (zh) | 密钥保护方法及装置 | |
CN111914291A (zh) | 消息处理方法、装置、设备及存储介质 | |
CN115499250B (zh) | 一种数据加密方法及装置 | |
CN111010399A (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN114520727B (zh) | 安全芯片数据防护方法及系统 | |
CN113572788A (zh) | BACnet/IP协议设备认证安全方法 | |
CN115001865B (zh) | 通信处理方法及系统、客户端、通信服务端和监管服务端 | |
Huang et al. | A secure communication over wireless environments by using a data connection core | |
CN104811451A (zh) | 登陆链接方法及系统 | |
CN114499837A (zh) | 一种报文防泄露方法、装置、系统和设备 | |
CN108737087B (zh) | 邮箱账号密码的保护方法及计算机可读存储介质 | |
CN114928503B (zh) | 一种安全通道的实现方法及数据传输方法 | |
CN115834038A (zh) | 基于国家商用密码算法的加密方法及装置 | |
CN115150076A (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 |