CN109962924A - 群聊构建方法、群消息发送方法、群消息接收方法及系统 - Google Patents

群聊构建方法、群消息发送方法、群消息接收方法及系统 Download PDF

Info

Publication number
CN109962924A
CN109962924A CN201910272791.6A CN201910272791A CN109962924A CN 109962924 A CN109962924 A CN 109962924A CN 201910272791 A CN201910272791 A CN 201910272791A CN 109962924 A CN109962924 A CN 109962924A
Authority
CN
China
Prior art keywords
group
key
chat
random
new
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.)
Granted
Application number
CN201910272791.6A
Other languages
English (en)
Other versions
CN109962924B (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.)
Langxin Data Technology Co ltd
Original Assignee
Beijing Syswin Interconnected 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 Beijing Syswin Interconnected Technology Co ltd filed Critical Beijing Syswin Interconnected Technology Co ltd
Priority to CN201910272791.6A priority Critical patent/CN109962924B/zh
Publication of CN109962924A publication Critical patent/CN109962924A/zh
Application granted granted Critical
Publication of CN109962924B publication Critical patent/CN109962924B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及群聊构建方法、群消息发送方法、群消息接收方法及系统。本发明的群聊构建方法,包括以下步骤:服务器接收群主客户端发送的建群请求,并根据所述建群请求为所述群聊生成群标识id;所述服务器根据所述群标识id,为所述群聊设立群虚拟管理员,并为所述群虚拟管理员生成群公私钥对;所述群虚拟管理员根据群成员列表为各群成员随机生成一随机数,并根据所述随机数及预设椭圆曲线算法生成随机交换数据;所述群虚拟管理员将群密钥标识groupkeyid、各群成员的所述随机数及其他群成员的所述随机交换数据分别发送相应的群成员客户端。其有益效果是:服务器不可解密群消息,群成员互相协商共享加密的聊天消息,具备高度的机密和隐私保护。

Description

群聊构建方法、群消息发送方法、群消息接收方法及系统
技术领域
本发明涉及信息安全领域,特别涉及一种基于多方密钥协商的安全群聊构建方法、群消息发送方法、群消息接收方法及系统。
背景技术
目前的安全群聊模式,多采用共享一个对称加密密钥,由群主管理,群成员共享的方式来达到群消息的加解密。共享群的密钥,一般由公私钥对的方式,进行安全的共享传递。在安全沟通范围内,如果群成员的安全等级一致,而又不想受制于群管理员时,上述的安全模型将不再受用。
同时,目前的安全群聊模式对于群内成员的身份确认、消息完整性等问题、群成员退出后消息的持续机密性问题,都亟需改善。
发明内容
本发明的目的在于克服现有技术的不足,提供一种去中心的群聊场景,服务器将不再具备解密群消息的能力的基于多方密钥协商的安全群聊构建方法、群消息发送方法、群消息接收方法及系统。特别适用于小范围沟通且参与沟通人员不会频繁变化,需要提供高密级和动态安全管理的业务场景中。
本发明提供的一种基于多方密钥协商的安全群聊构建方法,其技术方案为:
一种基于多方密钥协商的安全群聊构建方法,包括以下步骤:
服务器接收群主客户端发送的建群请求,并根据所述建群请求为所述群聊生成群标识id,所述建群请求包括所述群主客户端的公钥;
所述服务器根据所述群标识id,为所述群聊设立群虚拟管理员,并为所述群虚拟管理员生成群公私钥对;
所述群虚拟管理员根据群成员列表为各群成员随机生成一随机数,并根据所述随机数及预设椭圆曲线算法生成随机交换数据;
所述群虚拟管理员将各群成员的所述随机数及其他群成员的所述随机交换数据分别发送相应的群成员客户端,同时将群密钥标识groupkeyid发送所有群成员客户端,使得每个群成员均拥有其自身的随机数和其他群成员的随机交换数据以及群密钥标识groupkeyid。
优选地,所述随机交换数据的生成方法为:预设椭圆曲线算法的生成元g与群成员自身的随机数相乘,获得该群成员的所述随机交换数据。
优选地,所述群虚拟管理员发送群成员的随机数、其他群成员的随机交换数据、以及群密钥标识groupkeyid时,使用对应群成员客户端的公钥加密。
优选地,群成员变化时,所述群虚拟管理员根据新的群成员列表重新组织协商新的群聊安全密钥。
优选地,新增群成员时,所述群虚拟管理员为各新成员分别随机生成一随机数rnew,并根据所述随机数rnew及预设椭圆曲线算法计算生成随机交换数据pknew’;所述群虚拟管理员将所述随机交换数据pknew’分别发送给原群成员,并将各新成员的随机数rnew及其他群成员的随机交换数据发送给相应的新成员,同时将原群密钥标识groupkeyid及新群密钥标识groupkeyidnew发送所有群成员,并标记原群密钥标识groupkeyid为无效;或者,
减少群成员时,所述群虚拟管理员根据新的群成员列表为各群成员随机生成一新随机数,并根据所述新随机数及预设椭圆曲线算法生成新随机交换数据;所述群虚拟管理员将各群成员的所述新随机数及其他群成员的所述新随机交换数据分别发送相应的群成员客户端,同时将原群密钥标识groupkeyid及新群密钥标识groupkeyidnew发送所有群成员,并标记原群密钥标识groupkeyid为无效。
本发明还提供了一种用于构建安全群聊的服务器,包括建群请求处理模块和群管理模块;
所述建群请求处理模块用于接收群主客户端发送的建群请求,根据所述建群请求为所述群聊生成群标识id;
所述群管理模块用于管理群成员列表,并根据群成员列表为各群成员生成各自的随机数和随机交换数据,以及为该群聊生成群密钥标识groupkeyid;还用于将各群成员的所述随机数及其他群成员的所述随机交换数据分别发送相应的群成员客户端,同时将群密钥标识groupkeyid发送所有群成员客户端。
本发明还提供了一种群消息发送方法,包括以下步骤:
发送方客户端根据群密钥标识groupkeyid获取协商交互数据,并根据所述协商交互数据及预设的密钥协商算法计算获得群聊安全密钥groupkey;
发送方客户端采用所述群聊安全密钥groupkey加密群消息并发送。
优选地,所述发送方客户端采用所述群聊安全密钥groupkey加密群消息并发送的步骤包括:
发送方客户端采用预设哈希算法获得所述群消息内容的哈希值,并采用其私钥对所述哈希值进行签名获得签名值,将所述群消息内容、所述签名值、及发送方客户端的公钥采用所述群聊安全密钥groupkey进行加密获得群消息密文,将所述群消息密文与所述群密钥标识groupkeyid一并发送接收方客户端。
优选地,所述协商交互数据包括群成员客户端的自身随机数和其他群成员客户端的随机交换数据;所述随机数由群虚拟管理员为群成员随机生成,所述随机交换数据由所述群虚拟管理员根据所述随机数及预设椭圆曲线算法生成,每个群成员拥有一对所述随机数和随机交换数据,不同群成员的所述随机数和随机交换数据不同。
优选地,所述协商交互数据及所述群密钥标识groupkeyid采用客户端公钥加密存储在本地。
优选地,根据所述协商交互数据及预设的密钥协商算法计算获得群聊安全密钥groupkey,包括:
发送方客户端采用其随机数与其他群成员的随机交换数据相乘,获得所述群聊安全密钥groupkey。
本发明还提供了一种群消息接收方法,包括以下步骤:接收方客户端接收群消息,通过读取群密钥标识groupkeyid并获取与群聊对应的协商交互数据,并采用预设的密钥协商算法在本地计算出群聊安全密钥groupkey,使用计算出的群聊安全密钥groupkey解密并显示群消息明文。
优选地,解密群消息的同时采用接收到的发送方客户端的公钥对所述群消息携带的签名值进行验签。
本发明还提供了一种用于群聊的客户端,所述客户端包括储存模块、密钥生成模块、消息处理模块;
所述储存模块用于存储协商交互数据和群密钥标识groupkeyid,所述协商交互数据包括自身随机数和其他群成员的随机交换数据;
所述密钥生成模块用于根据预设的密钥协商算法计算群聊安全密钥groupkey;
所述消息处理模块采用所述群聊安全密钥groupkey加密发送群消息或者解密读取群消息。
本发明还提供了一种基于多方密钥协商的安全群聊系统,包括多个客户端和服务器,所述客户端是上述的客户端,所述服务器是上述的用于构建安全群聊的服务器。
本发明的实施包括以下技术效果:
1)、服务器不可解密群消息,群成员互相协商获得群聊安全密钥groupkey,从而可以共享加密的聊天消息,具备高度的机密和隐私保护。
2)、群虚拟管理员只负责随机数和随机交换数据的生成和发送,以及组织群成员协商群聊安全密钥groupkey,但并不存储这些随机的安全参数,增强了安全性。
3)、各群成员通过本地自动运算获得群聊安全密钥groupkey,该群聊安全密钥groupkey并不会直接存储在任何位置,保证了群聊安全密钥groupkey的安全性。
4)、每次群成员变动,密钥协商会自动动态进行,用户无感知,群聊安全密钥groupkey可动态变化;退群的成员,只可阅读历史消息,而新消息只有当前群成员才可解读。
附图说明
图1为本发明的一种基于多方密钥协商的安全群聊构建方法流程示意图。
图2为本发明的一种群消息发送方法流程示意图。
图3为本发明的一种群消息接收方法流程示意图。
具体实施方式
下面将结合实施例以及附图对本发明加以详细说明,需要指出的是,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。
实施例一
参见图1所示,本实施例提供的一种基于多方密钥协商的安全群聊构建方法,包括以下步骤:首先由群创建者作为群主建立具备高安全级别的群,在设置完群名并确认后,群主发送建群请求;
服务器接收群主客户端发送的建群请求,并根据所述建群请求为所述群聊生成群标识id,所述建群请求包括所述群主客户端的公钥;
所述服务器根据所述群标识id,为所述群聊设立群虚拟管理员,并为所述群虚拟管理员生成群公私钥对;
所述群虚拟管理员根据群成员列表为各群成员随机生成一随机数,并根据所述随机数及预设椭圆曲线算法生成随机交换数据;
所述群虚拟管理员将各群成员的所述随机数及其他群成员的所述随机交换数据分别发送相应的群成员客户端,同时将群密钥标识groupkeyid发送所有群成员客户端,使得每个群成员均拥有其自身的随机数和其他群成员的随机交换数据以及群密钥标识groupkeyid。
具体地,所述随机交换数据的生成方法为:预设椭圆曲线算法的生成元g与群成员自身的随机数相乘,获得该群成员的所述随机交换数据。椭圆曲线算法(Elliptic curvecryptography,缩写为ECC),是一种建立公开密钥加密的演算法,基于椭圆曲线数学实现。假定除群主外有n个群成员,即共有(n+1)个群成员,每个群成员都具有各自的公私钥对,每个群成员的公私钥对分别为(pk,sk)、(pk1,sk1)、(pk2,sk2),(pk3,sk3),……(pkn,skn),其中,(pk,sk)为群主的公私钥对。公私钥对的生成方法为现有技术任意一种公私钥对生成方法,在此不做特殊限定。群主邀请具有公私钥对的其他群成员加入群聊后,所述群虚拟管理员获取所有群成员的公钥存储在用户数据库中;所述群虚拟管理员根据群成员列表为各群成员随机生成的随机数记为r、r1、r2、r3……rn,并根据所述随机数及预设椭圆曲线算法生成随机交换数据,得到随机交换数据为pk’=r*g,pk1’=r1*g,pk2’=r2*g,pk3’=r3*g,……pkn’=rn*g,n为大于等于2的整数。其中r,pk’为群主的随机数和随机交换数据。群虚拟管理员发送群成员的随机数、其他群成员的随机交换数据、以及群密钥标识groupkeyid时,使用对应群成员客户端的公钥加密。具体地,群虚拟管理员将群密钥标识groupkeyid,以及群主随机数r、其他群成员的随机交换数据(pk1’,pk2’……pkn’)以群主的公钥pk加密传递给群主;群虚拟管理员将群密钥标识groupkeyid,以及除群主外某一群成员i的随机数ri、其他所有群成员的随机交换数据(pk’、pk1’、pk2’、…、pki-1’、pki+1’、…pkn’)以该群成员i的公钥pki加密传递给该群成员i,1≤i≤n。以成员1和成员2举例,群虚拟管理员使用pk1加密(r1、pk2’、pk3’、……pkn’、pk’、groupkeyid)传递给成员1,传递给成员2则使用pk2加密(r2,pk1’、pk3’……pkn’、pk’、groupkeyid)。以此类推,传递给群成员n则使用pkn加密(rn,pk1’、pk2’、……pkn-1’、pk’、groupkeyid)传递给群成员n。传递数据之后,所述群虚拟管理员将删除所有的随机数和随机交换数据,只保留当前群成员列表和群密钥标识groupkeyid,存储在服务器。群成员首次上线时即可获取其随机数、其他群成员的随机交换数据、以及群密钥标识groupkeyid。
作为其中的一种实施方式,预设的密钥协商算法是ECDHE算法,群成员发送消息或者读取消息时,基于协商交互数据根据ECDHE等式计算群聊安全密钥groupkey。具体地,群主计算群聊安全密钥groupkey的方法为采用群主的随机数与其他群成员的随机交换数据相乘,可采用等式表示为:r*r1*g*r2*g*…*rn*g=r*pk1’*pk2’*…*pkn’;除群主外任意群成员i计算群聊安全密钥groupkey的方法为采用群成员i的随机数与其他群成员的随机交换数据相乘,可采用等式表示为:ri*r1*g*r2*g*…*ri-1*g*ri+1*g*…*rn*g*r*g=ri*pk1’*pk2’*…*pki-1’*pki+1’*…*pkn’*p k’。具体地,本实施例以一个群主和另外三个群成员构成的群为例进行说明,即:
r1*pk2’*pk3’*pk’=r1*r2*g*r3*g*r*g=groupkey1=群成员1计算的群聊安全密钥;
r2*r1*g*r3*g*r*g=r2*pk1’*pk3’*pk’=groupkey2=群成员2计算的群聊安全密钥;
r3*r1*g*r2*g*r*g=r3*pk1’*pk2’*pk’=groupkey3=群成员3计算的群聊安全密钥;
r*r1*g*r2*g*r3*g=r*pk1’*pk2’*pk3’=groupkey0=群主计算的群聊安全密钥。
至此,根据密钥协商算法ECDHE特性,成员1计算的群聊安全密钥groupkey1、成员2计算的群聊安全密钥groupkey2、成员3计算的群聊安全密钥groupkey3、群主计算的群聊安全密钥groupkey0相同且能够互相加解密群消息,即获得了群聊安全密钥groupkey。ECDHE算法原理为本领域技术人员所公知,根据上述披露,本领域技术人员能够实现本发明,ECDHE算法的原理,本处不再赘述。
当群成员变化时,所述群虚拟管理员根据新的群成员列表重新组织协商新的群聊安全密钥。原群成员存储原密钥标识groupkeyid及原协商交互数据,以继续解密本地存储的原群消息;群成员变更后的新群消息使用预设的密钥协商算法计算获得新的群聊安全密钥groupkey进行加解密。群成员总是使用最新的密钥协商交互数据计算群聊安全密钥,当群成员发生变动时,群虚拟管理员根据新的群成员列表重新组织协商新的群聊安全密钥。具体地,新增群成员时,所述群虚拟管理员为各新成员分别随机生成一随机数rnew,并根据所述随机数rnew及预设椭圆曲线算法计算生成随机交换数据pknew’;所述群虚拟管理员将所述随机交换数据pknew’分别发送给原群成员,并将各新成员的随机数rnew及其他群成员的随机交换数据发送给相应的新成员,同时将原群密钥标识groupkeyid及新群密钥标识groupkeyidnew发送所有群成员,并标记原群密钥标识groupkeyid为无效。减少群成员时,所述群虚拟管理员根据新的群成员列表为各群成员随机生成一新随机数,并根据所述新随机数及预设椭圆曲线算法生成新随机交换数据;所述群虚拟管理员将各群成员的所述新随机数及其他群成员的所述新随机交换数据分别发送相应的群成员客户端,同时将原群密钥标识groupkeyid及新群密钥标识groupkeyidnew发送所有群成员,并标记原群密钥标识groupkeyid为无效。群虚拟管理员标记原群密钥标识groupkeyid为无效后,对收到的使用原群密钥标识的群消息,则不再进行转发。
本实施例还提供了一种用于构建安全群聊的服务器,包括建群请求处理模块和群管理模块;
所述建群请求处理模块用于接收群主客户端发送的建群请求,根据所述建群请求为所述群聊生成群标识id;所述群标识id用于标识该群聊;
所述群管理模块用于管理群成员列表,并根据群成员列表为各群成员生成各自的随机数和随机交换数据,以及为该群聊生成群密钥标识groupkeyid;还用于将各群成员的所述随机数及其他群成员的所述随机交换数据分别发送相应的群成员客户端,同时将群密钥标识groupkeyid发送所有群成员客户端。所述群密钥标识groupkeyid用于标识该群聊的群聊安全密钥groupkey,不同的群聊安全密钥groupkey的群密钥标识groupkeyid不同。
实施例二
本实施例提供一种群聊方法,所述群聊方法基于实施例一限定的群聊构建方法进行。
具体地,参见图2所示,群聊方法包括群消息发送方法,包括以下步骤:
发送方客户端根据群密钥标识groupkeyid获取协商交互数据,并根据所述协商交互数据及预设的密钥协商算法计算获得群聊安全密钥groupkey;
具体地,所述协商交互数据包括群成员客户端的自身随机数和其它所有群成员客户端的随机交换数据;所述随机数由群虚拟管理员为群成员随机生成,所述随机交换数据由所述群虚拟管理员根据所述随机数及预设椭圆曲线算法生成,每个群成员拥有一对所述随机数和随机交换数据,不同群成员的所述随机数和随机交换数据不同。发送方客户端采用其随机数与其他群成员的随机交换数据相乘,获得所述群聊安全密钥groupkey。
发送方客户端采用所述群聊安全密钥groupkey加密群消息并发送到接收方客户端。
参见图3所示,群聊方法还包括群消息接收方法,包括以下步骤:接收方客户端接收群消息,通过读取群密钥标识groupkeyid并获取与群聊对应的协商交互数据,并采用预设的密钥协商算法在本地计算出群聊安全密钥groupkey,使用计算出的群聊安全密钥groupkey解密并显示群消息明文。优选地,所述协商交互数据及所述群密钥标识groupkeyid采用客户端公钥加密存储在本地。
优选地,所述发送方客户端采用所述群聊安全密钥groupkey加密群消息并发送的步骤包括:发送方客户端采用预设哈希算法获得群消息内容的哈希值,并采用其私钥对所述哈希值进行签名获得签名值,将所述群消息内容、所述签名值、及发送方客户端的公钥采用所述群聊安全密钥groupkey进行加密获得群消息密文,将所述群消息密文与所述群密钥标识groupkeyid一并发送接收方客户端。
该实施方式下,接收方客户端在解密群消息的同时采用接收到的发送方客户端的公钥对所述签名值进行验签。
作为本发明的一种实施方式,所述群聊安全密钥groupkey作为AES256算法的密钥用于加密群消息,令群消息为m,使用发送方客户端的私钥对群消息内容的哈希值进行签名,同时将签名值、群消息内容、及自身的公钥使用群聊安全密钥groupkey进行加密发布,并附带此群消息的群密钥标识groupkeyid,即最终发布的群聊消息为AES256【groupkey,m|ecdsa(hash(m))|自身的公钥】+groupkeyid,其中,“|”为连接符。AES(The AdvancedEncryption Standard)是一种高级数据加密标准(AES),AES是一个新的可以用于保护电子数据的加密算法。明确地说,AES是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据。AES的加解密原理在此不再赘述。
所述接收方客户端通过读取群密钥标识groupkeyid,使用接收方客户端私钥解密在本地存储的与群聊对应的协商交互数据,在所述协商交互数据中根据群密钥标识groupkeyid查找出对应的随机数和随机交换数据,通过预设的密钥协商算法在本地计算出群聊安全密钥groupkey,计算出群聊安全密钥后,即可解密获得群消息明文,同时采用发送方客户端的公钥及椭圆曲线数字签名算法ECDSA验证签名是否正确,来判断消息的完整性是否被破坏;群聊安全密钥是本地计算协商而出,无需存储,以保证群聊安全密钥的安全性。椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线密码(ECC)对数字签名算法(DSA)的模拟,是本领域常用的一种签名算法,在此不再赘述。
本实施例还提供了一种用于群聊的客户端,所述客户端包括储存模块、密钥生成模块、消息处理模块;
所述储存模块用于存储协商交互数据和群密钥标识groupkeyid,所述协商交互数据包括自身随机数和其他群成员的随机交换数据;
所述密钥生成模块用于根据预设的密钥协商算法计算群聊安全密钥groupkey;
所述消息处理模块采用所述群聊安全密钥groupkey加密发送群消息或者解密读取群消息。
实施例三
本实施例提供一种基于多方密钥协商的安全群聊系统,包括多个客户端和服务器,所述服务器是实施例一限定的用于构建安全群聊的服务器,所述客户端是实施例二限定的客户端。本处不再对客户端和服务器的功能赘述。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。

Claims (15)

1.一种基于多方密钥协商的安全群聊构建方法,其特征在于,包括以下步骤:
服务器接收群主客户端发送的建群请求,并根据所述建群请求为所述群聊生成群标识id,所述建群请求包括所述群主客户端的公钥;
所述服务器根据所述群标识id,为所述群聊设立群虚拟管理员,并为所述群虚拟管理员生成群公私钥对;
所述群虚拟管理员根据群成员列表为各群成员随机生成一随机数,并根据所述随机数及预设椭圆曲线算法生成随机交换数据;
所述群虚拟管理员将各群成员的所述随机数及其他群成员的所述随机交换数据分别发送相应的群成员客户端,同时将群密钥标识groupkeyid发送所有群成员客户端,使得每个群成员均拥有其自身的随机数和其他群成员的随机交换数据以及群密钥标识groupkeyid。
2.根据权利要求1所述的一种基于多方密钥协商的安全群聊构建方法,其特征在于,所述随机交换数据的生成方法为:预设椭圆曲线算法的生成元g与群成员自身的随机数相乘,获得该群成员的所述随机交换数据。
3.根据权利要求1所述的一种基于多方密钥协商的安全群聊构建方法,其特征在于,所述群虚拟管理员发送群成员的随机数、其他群成员的随机交换数据、以及群密钥标识groupkeyid时,使用对应群成员客户端的公钥加密。
4.根据权利要求1所述的一种基于多方密钥协商的安全群聊构建方法,其特征在于,群成员变化时,所述群虚拟管理员根据新的群成员列表重新组织协商新的群聊安全密钥。
5.根据权利要求4所述的一种基于多方密钥协商的安全群聊构建方法,其特征在于,新增群成员时,所述群虚拟管理员为各新成员分别随机生成一随机数rnew,并根据所述随机数rnew及预设椭圆曲线算法计算生成随机交换数据pknew’;所述群虚拟管理员将所述随机交换数据pknew’分别发送给原群成员,并将各新成员的随机数rnew及其他群成员的随机交换数据发送给相应的新成员,同时将原群密钥标识groupkeyid及新群密钥标识groupkeyidnew发送所有群成员,并标记原群密钥标识groupkeyid为无效;或者,
减少群成员时,所述群虚拟管理员根据新的群成员列表为各群成员随机生成一新随机数,并根据所述新随机数及预设椭圆曲线算法生成新随机交换数据;所述群虚拟管理员将各群成员的所述新随机数及其他群成员的所述新随机交换数据分别发送相应的群成员客户端,同时将原群密钥标识groupkeyid及新群密钥标识groupkeyidnew发送所有群成员,并标记原群密钥标识groupkeyid为无效。
6.一种用于构建安全群聊的服务器,其特征在于,包括建群请求处理模块和群管理模块;
所述建群请求处理模块用于接收群主客户端发送的建群请求,根据所述建群请求为所述群聊生成群标识id;
所述群管理模块用于管理群成员列表,并根据群成员列表为各群成员生成各自的随机数和随机交换数据,以及为该群聊生成群密钥标识groupkeyid;还用于将各群成员的所述随机数及其他群成员的所述随机交换数据分别发送相应的群成员客户端,同时将群密钥标识groupkeyid发送所有群成员客户端。
7.一种群消息发送方法,其特征在于,包括以下步骤:
发送方客户端根据群密钥标识groupkeyid获取协商交互数据,并根据所述协商交互数据及预设的密钥协商算法计算获得群聊安全密钥groupkey;
发送方客户端采用所述群聊安全密钥groupkey加密群消息并发送。
8.根据权利要求7所述的一种群消息发送方法,其特征在于,所述发送方客户端采用所述群聊安全密钥groupkey加密群消息并发送的步骤包括:
发送方客户端采用预设哈希算法获得所述群消息内容的哈希值,并采用其私钥对所述哈希值进行签名获得签名值,将所述群消息内容、所述签名值、及发送方客户端的公钥采用所述群聊安全密钥groupkey进行加密获得群消息密文,将所述群消息密文与所述群密钥标识groupkeyid一并发送接收方客户端。
9.根据权利要求7所述的一种群消息发送方法,其特征在于,所述协商交互数据包括群成员客户端的自身随机数和其他群成员客户端的随机交换数据;所述随机数由群虚拟管理员为群成员随机生成,所述随机交换数据由所述群虚拟管理员根据所述随机数及预设椭圆曲线算法生成,每个群成员拥有一对所述随机数和随机交换数据,不同群成员的所述随机数和随机交换数据不同。
10.根据权利要求7所述的一种群消息发送方法,其特征在于,所述协商交互数据及所述群密钥标识groupkeyid采用客户端公钥加密存储在本地。
11.根据权利要求7所述的一种群消息发送方法,其特征在于,根据所述协商交互数据及预设的密钥协商算法计算获得群聊安全密钥groupkey,包括:
发送方客户端采用其随机数与其他群成员的随机交换数据相乘,获得所述群聊安全密钥groupkey。
12.一种群消息接收方法,其特征在于,包括以下步骤:接收方客户端接收群消息,通过读取群密钥标识groupkeyid并获取与群聊对应的协商交互数据,并采用预设的密钥协商算法在本地计算出群聊安全密钥groupkey,使用计算出的群聊安全密钥groupkey解密并显示群消息明文。
13.根据权利要求12所述的一种群消息接收方法,其特征在于,解密群消息的同时采用接收到的发送方客户端的公钥对所述群消息携带的签名值进行验签。
14.一种用于群聊的客户端,其特征在于,所述客户端包括储存模块、密钥生成模块、消息处理模块;
所述储存模块用于存储协商交互数据和群密钥标识groupkeyid,所述协商交互数据包括自身随机数和其他群成员的随机交换数据;
所述密钥生成模块用于根据预设的密钥协商算法计算群聊安全密钥groupkey;
所述消息处理模块采用所述群聊安全密钥groupkey加密发送群消息或者解密读取群消息。
15.一种基于多方密钥协商的安全群聊系统,包括多个客户端和服务器,其特征在于,所述客户端是权利要求14所述的客户端,所述服务器是权利要求6所述的用于构建安全群聊的服务器。
CN201910272791.6A 2019-04-04 2019-04-04 群聊构建方法、群消息发送方法、群消息接收方法及系统 Active CN109962924B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910272791.6A CN109962924B (zh) 2019-04-04 2019-04-04 群聊构建方法、群消息发送方法、群消息接收方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910272791.6A CN109962924B (zh) 2019-04-04 2019-04-04 群聊构建方法、群消息发送方法、群消息接收方法及系统

Publications (2)

Publication Number Publication Date
CN109962924A true CN109962924A (zh) 2019-07-02
CN109962924B CN109962924B (zh) 2021-07-16

Family

ID=67025825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910272791.6A Active CN109962924B (zh) 2019-04-04 2019-04-04 群聊构建方法、群消息发送方法、群消息接收方法及系统

Country Status (1)

Country Link
CN (1) CN109962924B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363858A (zh) * 2022-03-21 2022-04-15 苏州浪潮智能科技有限公司 蜂窝车联网协同通信的会话及注册方法、系统及相关组件
CN115361222A (zh) * 2022-08-26 2022-11-18 杭州安司源科技有限公司 通信处理方法、装置和系统
CN115499250A (zh) * 2022-11-17 2022-12-20 北京搜狐新动力信息技术有限公司 一种数据加密方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130042313A1 (en) * 2011-08-08 2013-02-14 Paul A. Lambert Key derivative function for network communications
CN103781026A (zh) * 2012-10-19 2014-05-07 中国移动通信集团公司 通用认证机制的认证方法
WO2014084711A1 (en) * 2012-11-27 2014-06-05 Mimos Berhad A system and method for duty-shared authenticated group key transport
CN105306492A (zh) * 2015-11-25 2016-02-03 成都三零瑞通移动通信有限公司 一种针对安全即时通信的异步密钥协商方法及装置
CN105610789A (zh) * 2015-12-18 2016-05-25 成都三零瑞通移动通信有限公司 一种适用于多人群聊即时通信的数据加密方法
CN106209774A (zh) * 2016-06-24 2016-12-07 西安电子科技大学 基于不可区分混淆的云服务外包访问权限控制方法
CN106301788A (zh) * 2016-08-12 2017-01-04 武汉大学 一种支持用户身份认证的群组密钥管理方法
CN106357397A (zh) * 2016-09-29 2017-01-25 华东师范大学 发送者可认证的非对称群密钥协商方法
CN107682152A (zh) * 2017-10-31 2018-02-09 洛阳师范学院 一种基于对称密码的群组密钥协商方法
CN108155987A (zh) * 2017-12-22 2018-06-12 中国联合网络通信集团有限公司 群组消息发送方法、接收方法及其系统和通讯终端

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130042313A1 (en) * 2011-08-08 2013-02-14 Paul A. Lambert Key derivative function for network communications
CN103781026A (zh) * 2012-10-19 2014-05-07 中国移动通信集团公司 通用认证机制的认证方法
WO2014084711A1 (en) * 2012-11-27 2014-06-05 Mimos Berhad A system and method for duty-shared authenticated group key transport
CN105306492A (zh) * 2015-11-25 2016-02-03 成都三零瑞通移动通信有限公司 一种针对安全即时通信的异步密钥协商方法及装置
CN105610789A (zh) * 2015-12-18 2016-05-25 成都三零瑞通移动通信有限公司 一种适用于多人群聊即时通信的数据加密方法
CN106209774A (zh) * 2016-06-24 2016-12-07 西安电子科技大学 基于不可区分混淆的云服务外包访问权限控制方法
CN106301788A (zh) * 2016-08-12 2017-01-04 武汉大学 一种支持用户身份认证的群组密钥管理方法
CN106357397A (zh) * 2016-09-29 2017-01-25 华东师范大学 发送者可认证的非对称群密钥协商方法
CN107682152A (zh) * 2017-10-31 2018-02-09 洛阳师范学院 一种基于对称密码的群组密钥协商方法
CN108155987A (zh) * 2017-12-22 2018-06-12 中国联合网络通信集团有限公司 群组消息发送方法、接收方法及其系统和通讯终端

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363858A (zh) * 2022-03-21 2022-04-15 苏州浪潮智能科技有限公司 蜂窝车联网协同通信的会话及注册方法、系统及相关组件
CN115361222A (zh) * 2022-08-26 2022-11-18 杭州安司源科技有限公司 通信处理方法、装置和系统
CN115361222B (zh) * 2022-08-26 2023-08-01 杭州安司源科技有限公司 通信处理方法、装置和系统
CN115499250A (zh) * 2022-11-17 2022-12-20 北京搜狐新动力信息技术有限公司 一种数据加密方法及装置

Also Published As

Publication number Publication date
CN109962924B (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
US10903991B1 (en) Systems and methods for generating signatures
US10785019B2 (en) Data transmission method and apparatus
US8484469B2 (en) Method, system and equipment for key distribution
CN104301108B (zh) 一种从基于身份环境到无证书环境的签密方法
US9130744B1 (en) Sending an encrypted key pair and a secret shared by two devices to a trusted intermediary
CN110635901B (zh) 用于物联网设备的本地蓝牙动态认证方法和系统
CN109962924B (zh) 群聊构建方法、群消息发送方法、群消息接收方法及系统
CN110535626B (zh) 基于身份的量子通信服务站保密通信方法和系统
CN109639680B (zh) 一种三元对等的即时通信身份认证和权限控制方法
CN111914291A (zh) 消息处理方法、装置、设备及存储介质
CN113779619B (zh) 一种基于国密算法的ceph分布式对象存储系统加解密方法
CN111478911A (zh) 一种采用轻量化密钥交换算法的即时通信加密方法
CN111049738B (zh) 基于混合加密的电子邮件数据安全保护方法
CN106878005B (zh) 一种基于网络好友的根密钥管理方法及装置
CN112291196B (zh) 适用于即时通信的端到端加密方法及系统
CN110881019A (zh) 安全通讯终端、安全通讯系统及其通讯方法
TWI761243B (zh) 群組即時通訊的加密系統和加密方法
CN113918971A (zh) 基于区块链的消息传输方法、装置、设备及可读存储介质
CN111488618B (zh) 基于区块链的一次一密密码方法、装置及存储介质
CN113824713A (zh) 一种密钥生成方法、系统及存储介质
AU2012311701B2 (en) System and method for the safe spontaneous transmission of confidential data over unsecure connections and switching computers
CN114050897A (zh) 一种基于sm9的异步密钥协商方法及装置
CN111431846A (zh) 数据传输的方法、装置和系统
CN111901101B (zh) 一种密钥更新方法与系统
CN116112458B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20191113

Address after: 102300 no.6-1-21, office building, building 20, Pudong, Mentougou District, Beijing

Applicant after: Beijing Siyuan ideal Holding Group Co., Ltd

Address before: 100102 No. 301, No. 316 building, Nanhu garden, Chaoyang District, Beijing 18

Applicant before: Beijing Siyuan Internet Technology Co. Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220428

Address after: 214135 room 1150, building B, swan tower, Wuxi Software Park, No. 111, Linghu Avenue, Xinwu District, Wuxi City, Jiangsu Province

Patentee after: Langxin Data Technology Co.,Ltd.

Address before: 102300 6-1-21, office building, building 20, Pudong, Mentougou District, Beijing

Patentee before: Beijing Siyuan ideal Holding Group Co.,Ltd.