CN111556174B - 一种信息交互方法、装置及系统 - Google Patents
一种信息交互方法、装置及系统 Download PDFInfo
- Publication number
- CN111556174B CN111556174B CN202010598107.6A CN202010598107A CN111556174B CN 111556174 B CN111556174 B CN 111556174B CN 202010598107 A CN202010598107 A CN 202010598107A CN 111556174 B CN111556174 B CN 111556174B
- Authority
- CN
- China
- Prior art keywords
- group
- authorized party
- authorization
- authorized
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种信息交互方法、装置及系统,信息交互方法包括:通过区块链将被授权方的授权编码和授权方的公钥发送给被授权方,向被授权方授权;加密明文数据,获得第一密文,并将第一密文发送给区块链,使区块链进行信息传输;或者,接收区块链发送的第二密文,并利用自身授权编码对第二密文进行解密,获得明文数据。本申请的实施例利用区块链技术实现了信息交互,解除了对中心化服务器的依赖。
Description
技术领域
本申请涉及通讯技术领域,具体涉及一种信息交互方法、装置及系统。
背景技术
提到沟通工具,相信每一个人都会想到微信。除了微信,国内还有QQ、支付宝、米聊和talkbox等,韩国的kakaotalk,日本的line等众多产品,但这些产品在交流方面,都没有微信做的风生水起。微信的崛起,是因为它功能强大,例如长按发送语音,重新定义二维码,摇一摇,漂流瓶,附近的人,朋友圈,微信公众号平台,微信红包,微商,微信支付等功能,这些功能极大地丰富了用户的视野。
但是,随着微信的普及,方便管理,所有用户均被要求实名认证,用户隐私问题变得不容忽视,我们在微信里说的每句话都会被微信的中心服务器获取并转发,我们发的每一个红包,每一次转账都是通过微信的中心服务器去操作,对此,我们只能无条件的信任微信,一旦微信的安全受到了攻击,用户的隐私都会被泄露,这是一个很大的安全隐患。其他的沟通工具也存在相同的问题。
因此,现有的沟通工具都采取中心化服务,对中心服务器的依赖性较强。一旦中心服务器遭受攻击,就会导致用户隐私泄露;
另外,利用沟通工具交流时全部通过明文数据传输,安全性差。
发明内容
本申请的目的在于提供一种信息交互方法、装置及系统,实现了去中心化,解除了对中心化服务器的依赖。
本申请提供了一种信息交互方法,包括:通过区块链将被授权方的授权编码和授权方的公钥发送给被授权方,向被授权方授权;加密明文数据,获得第一密文,并将第一密文发送给区块链,使区块链进行信息传输;或者,接收区块链发送的第二密文,并利用自身授权编码对第二密文进行解密,获得明文数据。
优选地,对于授权方,信息交互具体包括如下步骤:响应于被授权方通过区块链发送的授权请求和被授权方的公钥,计算被授权方的授权编码;通过区块链将被授权方的授权编码和授权方的公钥发送给被授权方,向被授权方授权。
优选地,对于被授权方,信息交互具体包括如下步骤:通过区块链发送被授权方的公钥和授权请求;接收授权方通过区块链发送的被授权方的授权编码和授权方公钥,获得授权;向区块链发送获取信息请求;接收区块链发送的第三密文;利用被授权方的授权编码解密第三密文。
优选地,在群组沟通方式中,授权方为群主,被授权方为群成员;群主向群成员发送授权编码后,区块链对群成员的授权状态进行设置。
优选地,群组建立后,第一群成员发送信息包括如下步骤:利用第一群成员的授权编码加密明文数据,得到第四密文;将第四密文、群名称以及第一群成员的公钥发送给区块链;响应于区块链检查第一群成员处于被授权状态,接收区块链的发送成功信息。
优选地,第二群成员接收信息包括如下步骤:接收区块链发送的第四密文、第一群成员的公钥以及状态更新请求;利用第二群成员的授权编码解密第四密文,获得明文数据。
本申请还一种信息交互系统,包括授权方、被授权方以及区块链;授权方通过区块链将被授权方的授权编码和授权方的公钥发送给被授权方,向被授权方授权;被授权方利用被授权方的授权编码解密信息。
本申请还提供一种信息交互装置,包括授权编码计算模块和授权模块;授权编码计算模块根据授权方的私钥和被授权方的公钥计算被授权方的授权编码;授权模块通过区块链将被授权方的授权编码和授权方的公钥发送给被授权方,向被授权方授权。
优选地,还包括建群请求模块,建群请求模块向区块链发送群主公钥和群名称,发起建群请求。
优选地,还包括退群模块,退群模块向区块链提出群成员的退群请求,使区块链更新群成员的授权状态。
优选地,还包括加密模块和信息发送模块;其中,加密模块将明文数据加密,获得密文;信息发送模块将密文发送给区块链。
优选地,还包括解密模块,解密模块接收区块链发送的密文、信息发送者的公钥,并利用自身的授权编码解密得到明文数据。
本申请还提供一种信息交互装置,包括授权请求发送模块和授权编码接收模块;其中,授权请求发送模块通过区块链向授权方的区块链客户端发送授权请求及自身的公钥;授权编码接收模块接收授权方的区块链客户端通过区块链发送的授权编码及授权方的公钥。
优选地,还包括入群请求模块,入群请求模块向区块链发送群名称和自身的公钥并请求入群。
优选地,还包括退群模块,退群模块向区块链提出退群请求,使区块链重新设置群成员的授权状态。
优选地,还包括信息获取请求模块、密文接收模块以及解密模块;其中,信息获取请求模块向区块链发送获取信息请求;密文接收模块接收区块链发送的密文;解密模块利用自身的授权编码解密密文,获得明文数据。
优选地,还包括信息发送模块,信息发送模块将明文数据加密,获得密文,并将密文发送给区块链。
优选地,信息发送模块还将群名称和自身的公钥发送给区块链。
本申请还提供一种通讯设备,包括处理器和计算机程序;计算机程序被处理器执行时实现上述的信息交互方法。
本申请的有益效果如下:
1、本申请的实施例利用区块链技术实现了信息交互,解除了对中心化服务器的依赖。
2、本申请实施例通过区块链传输利用密码学技术加密后的信息数据,增强了用户的隐私安全。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请提供的信息交互方法的流程图;
图2 是本申请提供的基于一对一的信息交互方法的流程图;
图3 是本申请提供的基于一对一的信息交互系统的结构示意图;
图4 是本申请提供的基于群组沟通的建立群组的流程图;
图5 是本申请提供的基于群组沟通的收发信息的流程图;
图6是本申请提供的基于群组沟通的信息交互系统的结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种基于区块链技术的信息交互方法及系统,用户首先在区块链上创建一个账户,利用客户端进行信息交互。用户在沟通时,通过国密SM2加密算法将信息加密后上传到区块链上,被授权的用户可以解密和查看信息,未被授权的用户无法解密加密后的信息数据。
如图1所示,本申请提供的信息交互方法包括如下步骤:
S110:授权方通过区块链将被授权方的授权编码和授权方的公钥发送给被授权方,向被授权方授权。
S120:信息发送方加密明文数据,获得第一密文,并将第一密文发送给区块链,通过区块链进行信息传输。
S130:信息接收方接收区块链发送的第二密文,并利用自身授权编码对第二密文进行解密,获得明文数据。
本申请中,信息交互包括一对一、一对多以及群组沟通三种方式。
实施例一
本实施例是基于一对一和一对多沟通方式的信息交互方法。授权方和被授权方需要预先在区块链上注册,注册过程中区块链保存授权方和被授权方的名称和公钥。
图2 是本申请提供的基于一对一的信息交互方法的流程图。图2以信息发送方A向信息接收方B发送信息为例,信息发送方(即授权方)A需先向信息接收方(即被授权方)B授权,被授权方B才能接收并解密消息。如图2所示,信息交互方法包括如下步骤:
S210:授权方A向其区块链客户端发送明文数据M。
S220:授权方A的区块链客户端按照加密流程对明文数据M进行加密,获得密文C,并发送给区块链。
具体地,加密明文数据M获得密文C具体包括如下步骤:
S2201:生成随机数k。
S2202:计算C1=(x1,y1)= kG;其中,(x1,y1)是SM2椭圆曲线上的点的坐标,G表示SM2椭圆曲线的基点。 C1是SM2加密输出的一部分结果,授权方计算授权编码时使用,但是可以不上传到区块链。
S2203:计算C2=(x2,y2)=kQ,(x2,y2)为SM2椭圆曲线上的点的坐标,Q为公钥,为SM2椭圆曲线上任意一个点(如授权方的公钥Q A ),d为Q对应的私钥。
S2204:按照SM2规则,计算位串t=KDF(x2||y2,klen);其中,KDF为国密SM2使用的密钥派生函数,klen为明文M的位长,位串t的位长也为klen。
S2205:计算密文C=M or t;其中,or为数据的异或操作。
S2206:输出密文C。
S230:被授权方B向其区块链客户端发送向授权方A请求授权的信息。
S240:被授权方B的区块链客户端通过区块链向授权方A的区块链客户端发送授权方公钥Q A 、被授权方公钥Q B 和授权请求。
S250:授权方A的区块链客户端向授权方A发送授权请求信息。
S260:授权方A判断被授权方B是否满足授权条件,若满足(人为判定),则执行S270。
S270:授权方A向其区块链客户端发送同意授权响应。
S280:授权方A的区块链客户端计算授权编码S B ,并通过区块链将授权编码S B 和授权方A的公钥Q A 发送给被授权方B的区块链客户端。
计算授权编码S B 包括如下步骤:
S2801:生成随机数r。
S2802:计算R1=r(x1,y1)+d A Q B ,R1是SM2椭圆曲线上的点;(x1,y1)为S2202中获得的C1。
S2803:计算R2=(d+ r)(x1,y1),R2是SM2椭圆曲线上的点。
S2804:R1和R2拼接起来作为被授权方的授权编码S B 。
S290:被授权方B的区块链客户端向被授权方B返回授权成功信息。
S2100:被授权方B的区块链客户端向区块链发送获取信息请求。
S2110:区块链向被授权方B的区块链客户端发送密文C。
S2120:被授权方B的区块链客户端利用授权编码S B 解密密文C,获得明文数据M并发送给被授权方B。
利用授权编码S B 解密密文C包括如下步骤:
S2121:计算R2-R1+d B Q A =d(x1,y1)- d A Q B + d B Q A =d(x1,y1)=(x2,y2);其中,R1、R2是SM2椭圆曲线上的点,d B 为信息接收方的私钥,Q B 为信息接收方的公钥,(x1,y1)、(x2,y2)是SM2椭圆曲线上的点的坐标,d A 为授权方的私钥,Q A 为授权方的公钥。
S2122:按照SM2规则,计算位串t=KDF(x2||y2,klen),klen为密文C的位长。
S2123:计算明文数据M=C or t。
S2124:输出明文数据M。
S2130:被授权方查看明文数据M。
可以理解地,无论被授权方是否被授权成功,响应于被授权方的获取信息请求,区块链均将密文发送给被授权方。若未被授权,被授权方无法解密密文。
图2示出了授权方A和被授权方B之间的一对一信息交互。可以理解地,授权方A可以先对被授权方B进行授权,然后再加密明文并发送给区块链。
本申请还提供一种一对多的信息交互方法,以授权方A为例,其还可以同时给其他用户授权和发送消息,实现一对多沟通。授权方A对其他用户授权和发送消息的方法与其对用户B的授权和发送消息的方式相同。
本实施例中,授权方只给其期望阅读的目标对象授权,只有被授权方能看到其发送的信息,并且被授权方无法对授权方发送的信息进行回复。
可以理解地,作为另一个实施例,授权方对被授权方授权后,被授权方也可以将明文信息加密后通过区块链发送给被授权方,在该实施例中,授权方需要计算自身的授权编码并保存。信息发送者是被授权方时,其信息发送流程与图2中的授权方的信息发送流程相同,先加密明文信息获得密文,然后发送到区块链上。信息接收者为授权方,其信息接收流程与图2的被授权方接收信息的流程相同,先向区块链请求接收信息,然后区块链向其发送密文,最后授权方利用其授权编码解密。
本申请采用国密SM2部分加解密流程作为信息加解密方案,去除了计算哈希的步骤,确保信息的密文与明文长度相等,减少上传到区块链上的数据量,提高了数据传输速度。
作为另一个实施例,本申请也可采用完整的SM2加解密流程,将mac随密文一起输出,防止数据被篡改。
实施例二
本申请还提供了一种与实施例一的信息交互方法匹配的信息交互系统。如图3所示,信息交互系统包括授权方、授权方的区块链客户端310、区块链320、被授权方的区块链客户端330以及被授权方。授权方的区块链客户端310由授权方操控,被授权方的区块链客户端330由被授权方操控。
授权方的区块链客户端310包括加密模块3101、第一密文发送模块3102、授权编码计算模块3103以及授权模块3104。加密模块3101将明文数据M加密,获得密文C。第一密文发送模块3102将密文C发送给区块链。授权编码计算模块3103响应于接收到被授权方的授权请求和被授权方公钥Q B ,计算授权编码S B 。授权模块3104通过区块链将授权编码S B 和授权方公钥Q A 发送给被授权方,向被授权方授权。
区块链320包括第一密文接收模块3201、授权请求发送模块3202、授权信息发送模块3203、获取信息请求接收模块3204以及第二密文发送模块3205。第一密文接收模块3201接收授权方的区块链客户端发送的密文。授权请求发送模块3202向授权方的区块链客户端发送被授权方的区块链客户端发送的授权请求及其公钥。授权信息发送模块3203向被授权方的区块链客户端发送授权方的区块链客户端发送的授权编码和授权方的公钥。获取信息请求接收模块3204接收被授权方的区块链客户端发送的获取信息请求。第二密文发送模块3205向被授权方的区块链客户端发送密文。
被授权方的区块链客户端330包括授权请求接收模块3301、授权请求发送模块3302、授权编码接收模块3303、授权成功发送模块3304、信息获取请求模块3305、第二密文接收模块3306、解密模块3307以及明文数据发送模块3308。授权请求接收模块3301接收被授权方B发送的授权请求。授权请求发送模块3302通过区块链向授权方的区块链客户端发送授权请求及被授权方的公钥。授权编码接收模块3303接收授权方的区块链客户端通过区块链发送的授权编码及授权方的公钥。授权成功发送模块3304向被授权方发送授权成功信息。信息获取请求模块3305向区块链发送获取信息请求。第二密文接收模块3306接收区块链发送的密文。解密模块3307利用被授权方的授权编码解密密文,获得明文数据。明文数据发送模块3308向被授权方B发送明文数据。
实施例三
本实施例是基于群组沟通方式的信息交互方法。
图4 是本申请提供的基于群组沟通的建立群组的流程图。图4示出了群主(即授权方)A向群成员(即被授权方)B和C授权以建立群组的方法。可以理解地,建立群组时群主A还可以给其他多个群成员授权。如图4所示,建群包括如下步骤:
S410:群主A向群主A的区块链客户端发送发起建群并邀请好友用户B和C的入群请求并设置群名称。
S420:群主A的区块链客户端向区块链发送群主公钥Q A 和群名称。
S430:区块链收到群主公钥Q A 和群名称后向群主A的区块链客户端返回建群成功消息。
S440:群主A的区块链客户端计算和记录群主A的授权编码S A ,并查询好友用户B的公钥Q B 。
计算授权编码S A 包括如下步骤:
S4401:生成随机数r,并记录下来。
S4402:计算R1=r(x1,y1)+d A Q A ;其中,(x1,y1)是SM2椭圆曲线上的一个点的坐标,d A 为群主A的私钥,Q A 为群主A的公钥。
S4403:计算R2=(d A + r)(x1,y1)。
S4404:发送R1和R2,拼接起来作为A的授权编码S A 。
群主A利用S A 可以发送(加密)和读取(解密)信息。
S450:群主A的区块链客户端计算好友用户B的授权编码S B ,连同群名称、群主A的公钥Q A 通过区块链一并发送给好友用户B。
计算授权编码S B 时,不再重新生成随机数r和计算R2,此举是为了保证群成员之间是可以互相读取和发送群信息的。具体包括如下步骤:
S4501:重新计算R1=r(x1,y1)+d A Q B 。
S4502:发送R1和R2,拼接起来作为B的授权编码S B 。
好友用户B利用S B 可以发送(加密)和读取(解密)信息。
S460:好友用户B的区块链客户端收到此群的授权编码S B 后将其记录下来。
S470:好友用户B的区块链客户端向区块链发送群名称和好友用户B的公钥Q B 请求入群。
S480:区块链找到群名称,添加好友用户B的公钥Q B 并设置其对应的授权状态。作为一个实施例,用授权标志flagB来标记好友用户B的授权状态,例如flagB设置为1代表好友用户B处于被授权状态。
S490:区块链向好友用户B的区块链客户端返回入群成功信息。
S4100:好友用户B的区块链客户端向好友用户B返回群名称,代表已被授权并入群成功。
S4110:区块链向群主A的区块链客户端返回好友用户B入群成功的信息。
S4120:群主A的区块链客户端查询好友用户C的公钥Q C 。
S4130:群主A的区块链客户端计算好友用户C的授权编码S C ,连同群名称、群主A的公钥Q A 通过区块链一并发送给好友用户C。
S4140:好友用户C的区块链客户端记录下此群的授权编码S C 。
S4150:好友用户C的区块链客户端向区块链发送群名称和好友用户C的公钥Q C 请求入群。
S4160:区块链找到群名称,添加好友用户C的公钥Q C 及其对应的授权标志flagC,例如授权标志flagC设置为1。
S4170:区块链向好友用户C的区块链客户端返回入群成功信息。
S4180:好友用户C的区块链客户端向好友用户C返回群名称,代表已被授权并入群成功。
S4190:区块链向群主A的区块链客户端返回好友用户C入群成功的信息。
S4200:群主A的区块链客户端向群主A返回建群成功信息,并显示好友用户B和C已入群。
群组建立成功后,其他好友用户可以通过向区块链发送入群请求进行入群。以待入群成员(好友用户)D为例,具体包括如下步骤:
P1:好友用户D的区块链客户端向区块链发送群名称和公钥Q D ,请求入群。
P2:群主A的区块链客户端计算好友用户D的授权编码S D ,连同群主A的公钥Q A 通过区块链一并发送给好友用户D。
P3:好友用户D的区块链客户端记录下此群的授权编码S D 。
P4:区块链找到群名称,添加好友用户D的公钥Q D 及其对应的授权标志flagD,并设置flagD为1。
成员入群之后,区块链还会将用来标识成员是否存在于群里的flag标志上,一旦群成员被剔除或者自动退出,flag就会被标志成成员已离群,那么该成员的授权编码将失效,不能再用来发送群消息,也不能再用来解密群信息,提升群消息的安全性及管理的便利性。
P5:区块链向好友用户D的区块链客户端返回入群成功信息。
作为另一个实施例,在入群过程中区块链不设置群成员的授权标志,而是在群成员入群后再设置授权标志。
群成员入群后,如果群主向区块链提出某已入群的群成员的退群请求或某已入群的群成员主动向区块链提出退群请求,则区块链将预退群的群成员的授权标志从1修改为0,并向预退群的群成员发送该群成员退群成功的消息。此后,已成功退群的群成员无法接收和解密区块链发送的群消息。
优选地,在修改授权标志的同时或在某群成员退群后,或定期地,群主A的区块链客户端重新生成随机数r,并依据重新生成的随机数计算自身以及群内的群成员的授权编码,并发送给区块链和群内的群成员进行更新。通过更新授权编码,已成功退群的群成员的授权编码失效,不能再用来发送群消息,也不能再用来接收和解密群信息。
群组建立成功后,群内的群成员(包括群主)可以向群内发送信息、接收信息。图5是本申请提供的基于群组沟通的收发信息的流程图。
如图5所示,以群内的群成员B向群内发送信息为例,收发信息包括如下步骤:
S510:群成员B向群成员B的区块链客户端发送明文数据M。
S520:群成员B的区块链客户端利用授权编码S B 加密信息M,得到密文C,并向区块链发送密文C、群名称、和群成员B的公钥Q B 。
S530:区块链找到群名称,判断Q B 对应的flagB是否为1。若为1(处于被授权状态),则添加密文C。
S540:区块链向群成员B的区块链客户端返回发送成功信息。
S550:群成员B的区块链客户端在群内显示自己发送的信息M,表示发送成功。
S560:区块链向群成员A的区块链客户端发送密文C、Q B 以及状态更新请求。
S570:群成员A的区块链客户端利用群成员A的授权编码S A 解密得到明文数据M。
S580:群成员A的区块链客户端的群内显示成员B发送的信息M。
S590:区块链向群成员C的区块链客户端发送密文C和Q B 以及状态更新请求。
S5100:群成员C的区块链客户端利用群成员C的授权编码S C 解密得到明文数据M。
S5110:群成员C的区块链客户端的群内显示群成员B发送的信息M。
可以理解地,S560-S580以及S590-S5110可以同时进行,也可以先后进行。并且,区块链以相同的方式向群内的其他群成员发送密文,以便群内的其他群成员读取群成员B发送的信息。
可以理解地,群组建立后,群主收发信息的方法与群成员相同。
实施例四
本申请提供一种与实施例三匹配的信息交互系统。图6是本申请提供的基于群组沟通的信息交互系统的结构示意图。图6中显示群主A和群成员B,可以理解的是本实施例中也包括其他群成员,如群成员C,其他群成员的结构与群成员B相同。
如图6所示,信息交互系统包括群主A、群主A的区块链客户端610、区块链620、群成员B以及群成员B的区块链客户端630。群主A的区块链客户端610由群主A操控, 群成员B的区块链客户端630由群成员B操控。
群主A的区块链客户端610包括建群请求模块6101、建群结果接收模块6102、授权编码计算模块6103、查询模块6104、授权模块6105、加好友结果接收模块6106、第一信息发送模块6107、第一信息发送结果接收模块6108、第一解密模块6109、第一显示模块6110以及第一退群模块6120。
建群请求模块6101向区块链发送群主公钥Q A 和群名称,发起建群请求。
建群结果接收模块6102接收区块链返回的建群成功消息。
授权编码计算模块6103计算和记录群主A的授权编码S A 。
查询模块6104查询好友用户B的公钥Q B 。
授权模块6105计算好友用户B的授权编码S B ,连同群名称、群主A的公钥Q A 一并发给好友用户B。
加好友结果接收模块6106接收区块链返回的好友用户B入群成功的信息。
第一信息发送模块6107利用授权编码S B 加密信息M,得到密文C,并向区块链发送密文C、群名称、和群成员B的公钥Q B 。
第一信息发送结果接收模块6108接收区块链返回的发送成功信息。
第一解密模块6109接收区块链发送的密文C、Q B 以及状态更新请求,并利用群成员A的授权编码S A 解密得到明文数据M。
第一显示模块6110在群内显示群成员B发送的信息M。
第一退群模块6120向区块链提出群成员的退群请求。
区块链620包括建群请求接收模块6201、建群结果返回模块6202、授权发送模块6203、入群请求接收模块6204、设置模块6205、入群结果返回模块6206、加好友结果发送模块6207、密文接收模块6208、信息发送结果返回模块6209、密文发送模块6210。
建群请求接收模块6201接收群主A的区块链客户端发送的群主公钥Q A 和群名称。
建群结果返回模块6202向群主A的区块链客户端返回建群成功消息。
授权发送模块6203发送群主A的区块链客户端向好友用户B发送的好友用户B的授权编码S B 、群名称、群主A的公钥Q A 。
入群请求接收模块6204接收好友用户B的区块链客户端发送的入群请求。
设置模块6205找到群名称,添加好友用户B的公钥Q B 及其对应的授权标志flagB,并设置flagB为1,并在群成员退群时将授权标志从1修改为0。
入群结果返回模块6206向好友用户B的区块链客户端返回入群成功信息。
加好友结果发送模块6207向群主A的区块链客户端返回好友用户B入群成功的信息。
密文接收模块6208接收群成员B发送的密文C、群名称、和群成员B的公钥Q B ,并找到群名称,判断Q B 对应的flagB是否为1。若为1,则添加密文C。
若flagB为1,则信息发送结果返回模块6209向群成员B的区块链客户端返回发送成功信息。
密文发送模块6210向群成员A的区块链客户端发送密文C、Q B 以及状态更新请求。
群成员B的区块链客户端630包括授权编码记录模块6301、入群请求模块6302、群名称返回模块6303、第二解密模块6304、第二显示模块6305、第二信息发送模块6306、第二信息发送结果接收模块6307以及第二退群模块6308。
授权编码记录模块6301接收群主A的区块链客户端发送的授权编码S B 并记录。
入群请求模块6302向区块链发送群名称和好友用户B的公钥Q B 请求入群。
群名称返回模块6303向好友用户B返回群名称,代表已被授权并入群成功。
第二解密模块6304接收区块链发送的密文,并利用群成员B的授权编码S B 解密得到明文数据M。
第二显示模块6305在群内显示群成员发送的信息M。
第二信息发送模块6306利用授权编码S B 加密信息M,得到密文C,并向区块链发送密文C、群名称、和群成员B的公钥Q B 。
第二信息发送结果接收模块6307接收区块链返回的发送成功信息。
第二退群模块6308向区块链提出退群请求。
本申请的有益效果如下:
1、本申请的实施例利用区块链技术实现了信息交互,解除了对中心化服务器的依赖。
2、本申请实施例通过区块链传输利用密码学技术加密后的信息数据,增强了用户的隐私安全。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (19)
1.一种信息交互方法,其特征在于,包括:
通过区块链将被授权方的授权编码和授权方的公钥发送给被授权方,向被授权方授权;
加密明文数据,获得第一密文,并将第一密文发送给区块链,使区块链进行信息传输;或者,接收区块链发送的第二密文,并利用自身授权编码对第二密文进行解密,获得明文数据;
其中,通过授权方的区块链客户端计算授权编码,信息交互包括一对一、一对多以及群组沟通三种方式;
其中,当信息交互为一对一或一对多沟通时,计算授权编码SB包括如下步骤:
生成随机数r;
计算R1=r(x1,y1)+dAQB,R1是SM2椭圆曲线上的点;(x1,y1)为C1,是SM2加密输出的一部分结果;dA为授权方A的私钥,QB为被授权方B的公钥;
计算R2=(d+r)(x1,y1),R2是SM2椭圆曲线上的点;d为公钥Q对应的私钥;
R1和R2拼接起来作为被授权方的授权编码SB;
其中,当信息交互为群组沟通时,群主A为授权方,计算授权编码SA包括如下步骤:
生成随机数r,并记录下来;
计算R1=r(x1,y1)+dAQA;其中,(x1,y1)是SM2椭圆曲线上的一个点的坐标,dA为群主A的私钥,QA为群主A的公钥;
计算R2=(dA+r)(x1,y1);
发送R1和R2,拼接起来作为群主A的授权编码SA;
计算除群主以外的成员的授权编码SB包括如下步骤:不再重新生成随机数r和计算R2,其中,(x1,y1)是SM2椭圆曲线上的一个点的坐标,dA为群主A的私钥,QB为被授权成员B的公钥;发送R1和R2,拼接起来作为被授权成员B的授权编码SB。
2.如权利要求1所述的信息交互方法,其特征在于,对于授权方,信息交互具体包括如下步骤:
响应于被授权方通过区块链发送的授权请求和被授权方的公钥,计算被授权方的授权编码;
通过区块链将被授权方的授权编码和授权方的公钥发送给被授权方,向被授权方授权。
3.如权利要求2所述的信息交互方法,其特征在于,对于被授权方,信息交互具体包括如下步骤:
通过区块链发送被授权方的公钥和授权请求;
接收授权方通过区块链发送的被授权方的授权编码和授权方公钥,获得授权;
向区块链发送获取信息请求;
接收区块链发送的第三密文;
利用被授权方的授权编码解密第三密文。
4.如权利要求3所述的信息交互方法,其特征在于,在群组沟通方式中,授权方为群主,被授权方为群成员;
群主向群成员发送授权编码后,区块链对群成员的授权状态进行设置。
5.如权利要求4所述的信息交互方法,其特征在于,群组建立后,第一群成员发送信息包括如下步骤:
利用第一群成员的授权编码加密明文数据,得到第四密文;
将第四密文、群名称以及第一群成员的公钥发送给区块链;
响应于区块链检查第一群成员处于被授权状态,接收区块链的发送成功信息。
6.如权利要求5所述的信息交互方法,其特征在于,第二群成员接收信息包括如下步骤:
接收区块链发送的第四密文、第一群成员的公钥以及状态更新请求;
利用第二群成员的授权编码解密第四密文,获得明文数据。
7.一种信息交互系统,其特征在于,包括授权方、被授权方以及区块链;
所述授权方通过区块链将被授权方的授权编码和授权方的公钥发送给被授权方,向被授权方授权;
所述被授权方利用被授权方的授权编码解密信息;
其中,通过授权方的区块链客户端计算授权编码,信息交互包括一对一、一对多以及群组沟通三种方式;
其中,当信息交互为一对一或一对多沟通时,计算授权编码SB包括如下步骤:
生成随机数r;
计算R1=r(x1,y1)+dAQB,R1是SM2椭圆曲线上的点;(x1,y1)为C1,是SM2加密输出的一部分结果;dA为授权方A的私钥,QB为被授权方B的公钥;
计算R2=(d+r)(x1,y1),R2是SM2椭圆曲线上的点;d为公钥Q对应的私钥;
R1和R2拼接起来作为被授权方的授权编码SB;
其中,当信息交互为群组沟通时,群主A为授权方,计算授权编码SA包括如下步骤:
生成随机数r,并记录下来;
计算R1=r(x1,y1)+dAQA;其中,(x1,y1)是SM2椭圆曲线上的一个点的坐标,dA为群主A的私钥,QA为群主A的公钥;
计算R2=(dA+r)(x1,y1);
发送R1和R2,拼接起来作为群主A的授权编码SA;
计算除群主以外的成员的授权编码SB包括如下步骤:不再重新生成随机数r和计算R2,其中,(x1,y1)是SM2椭圆曲线上的一个点的坐标,dA为群主A的私钥,QB为被授权成员B的公钥;发送R1和R2,拼接起来作为被授权成员B的授权编码SB。
8.一种信息交互装置,其特征在于,包括授权编码计算模块和授权模块;
所述授权编码计算模块根据授权方的私钥和被授权方的公钥计算被授权方的授权编码;
授权模块通过区块链将被授权方的授权编码和授权方的公钥发送给被授权方,向被授权方授权;
其中,信息交互包括一对一、一对多以及群组沟通三种方式;
其中,当信息交互为一对一或一对多沟通时,计算授权编码SB包括如下步骤:
生成随机数r;
计算R1=r(x1,y1)+dAQB,R1是SM2椭圆曲线上的点;(x1,y1)为C1,是SM2加密输出的一部分结果;dA为授权方A的私钥,QB为被授权方B的公钥;
计算R2=(d+r)(x1,y1),R2是SM2椭圆曲线上的点;d为公钥Q对应的私钥;
R1和R2拼接起来作为被授权方的授权编码SB;
其中,当信息交互为群组沟通时,群主A为授权方,计算授权编码SA包括如下步骤:
生成随机数r,并记录下来;
计算R1=r(x1,y1)+dAQA;其中,(x1,y1)是SM2椭圆曲线上的一个点的坐标,dA为群主A的私钥,QA为群主A的公钥;
计算R2=(dA+r)(x1,y1);
发送R1和R2,拼接起来作为群主A的授权编码SA;
计算除群主以外的成员的授权编码SB包括如下步骤:不再重新生成随机数r和计算R2,其中,(x1,y1)是SM2椭圆曲线上的一个点的坐标,dA为群主A的私钥,QB为被授权成员B的公钥;发送R1和R2,拼接起来作为被授权成员B的授权编码SB。
9.如权利要求8所述的信息交互装置,其特征在于,还包括建群请求模块,所述建群请求模块向区块链发送群主公钥和群名称,发起建群请求。
10.如权利要求9所述的信息交互装置,其特征在于,还包括退群模块,所述退群模块向区块链提出群成员的退群请求,使区块链更新群成员的授权状态。
11.如权利要求8或10所述的信息交互装置,其特征在于,还包括加密模块和信息发送模块;
其中,所述加密模块将明文数据加密,获得密文;
所述信息发送模块将所述密文发送给区块链。
12.如权利要求11所述的信息交互装置,其特征在于,还包括解密模块,所述解密模块接收区块链发送的密文、信息发送者的公钥,并利用自身的授权编码解密得到明文数据。
13.一种信息交互装置,其特征在于,包括授权请求发送模块和授权编码接收模块;
其中,所述授权请求发送模块通过区块链向授权方的区块链客户端发送授权请求及自身的公钥;
所述授权编码接收模块接收授权方的区块链客户端通过区块链发送的授权编码及授权方的公钥;
其中,信息交互包括一对一、一对多以及群组沟通三种方式;
其中,当信息交互为一对一或一对多沟通时,计算授权编码SB包括如下步骤:
生成随机数r;
计算R1=r(x1,y1)+dAQB,R1是SM2椭圆曲线上的点;(x1,y1)为C1,是SM2加密输出的一部分结果;dA为授权方A的私钥,QB为被授权方B的公钥;
计算R2=(d+r)(x1,y1),R2是SM2椭圆曲线上的点;d为公钥Q对应的私钥;
R1和R2拼接起来作为被授权方的授权编码SB;
其中,当信息交互为群组沟通时,群主A为授权方,计算授权编码SA包括如下步骤:
生成随机数r,并记录下来;
计算R1=r(x1,y1)+dAQA;其中,(x1,y1)是SM2椭圆曲线上的一个点的坐标,dA为群主A的私钥,QA为群主A的公钥;
计算R2=(dA+r)(x1,y1);
发送R1和R2,拼接起来作为群主A的授权编码SA;
计算除群主以外的成员的授权编码SB包括如下步骤:不再重新生成随机数r和计算R2,其中,(x1,y1)是SM2椭圆曲线上的一个点的坐标,dA为群主A的私钥,QB为被授权成员B的公钥;发送R1和R2,拼接起来作为被授权成员B的授权编码SB。
14.如权利要求13所述的信息交互装置,其特征在于,还包括入群请求模块,所述入群请求模块向区块链发送群名称和自身的公钥并请求入群。
15.如权利要求14所述的信息交互装置,其特征在于,还包括退群模块,所述退群模块向区块链提出退群请求,使区块链重新设置群成员的授权状态。
16.如权利要求13或15所述的信息交互装置,其特征在于,还包括信息获取请求模块、密文接收模块以及解密模块;
其中,所述信息获取请求模块向区块链发送获取信息请求;
所述密文接收模块接收区块链发送的密文;
所述解密模块利用自身的授权编码解密密文,获得明文数据。
17.如权利要求16所述的信息交互装置,其特征在于,还包括信息发送模块,所述信息发送模块将明文数据加密,获得密文,并将所述密文发送给区块链。
18.如权利要求17所述的信息交互装置,其特征在于,所述信息发送模块还将群名称和自身的公钥发送给区块链。
19.一种通讯设备,包括处理器和计算机程序;
所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的信息交互方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010598107.6A CN111556174B (zh) | 2020-06-28 | 2020-06-28 | 一种信息交互方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010598107.6A CN111556174B (zh) | 2020-06-28 | 2020-06-28 | 一种信息交互方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111556174A CN111556174A (zh) | 2020-08-18 |
CN111556174B true CN111556174B (zh) | 2021-07-20 |
Family
ID=72008830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010598107.6A Active CN111556174B (zh) | 2020-06-28 | 2020-06-28 | 一种信息交互方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111556174B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112866040B (zh) * | 2021-04-23 | 2021-11-30 | 睿至科技集团有限公司 | 一种通过区块链技术对用户的数据实现点对点的传输方法 |
CN116743505B (zh) * | 2023-08-14 | 2023-10-20 | 上海特高信息技术有限公司 | 一种基于国密的安全传输加密方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506505A (zh) * | 2016-11-15 | 2017-03-15 | 深圳银链科技有限公司 | 一种基于区块链的单密聊和群密聊方法及其系统 |
US9673973B1 (en) * | 2015-12-18 | 2017-06-06 | Wickr Inc. | Decentralized authoritative messaging |
CN108650077A (zh) * | 2018-05-17 | 2018-10-12 | 深圳前海微众银行股份有限公司 | 基于区块链的信息传输方法、终端、设备及可读存储介质 |
CN109600374A (zh) * | 2018-12-12 | 2019-04-09 | 四川商通实业有限公司 | 基于区块链的用户数据安全发送方法及其系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110061845A (zh) * | 2019-03-14 | 2019-07-26 | 深圳壹账通智能科技有限公司 | 区块链数据加密方法、装置、计算机设备及存储介质 |
CN111191288B (zh) * | 2019-12-30 | 2023-10-13 | 中电海康集团有限公司 | 一种基于代理重加密的区块链数据访问权限控制方法 |
-
2020
- 2020-06-28 CN CN202010598107.6A patent/CN111556174B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9673973B1 (en) * | 2015-12-18 | 2017-06-06 | Wickr Inc. | Decentralized authoritative messaging |
CN106506505A (zh) * | 2016-11-15 | 2017-03-15 | 深圳银链科技有限公司 | 一种基于区块链的单密聊和群密聊方法及其系统 |
CN108650077A (zh) * | 2018-05-17 | 2018-10-12 | 深圳前海微众银行股份有限公司 | 基于区块链的信息传输方法、终端、设备及可读存储介质 |
CN109600374A (zh) * | 2018-12-12 | 2019-04-09 | 四川商通实业有限公司 | 基于区块链的用户数据安全发送方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111556174A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6904521B1 (en) | Non-repudiation of e-mail messages | |
US5812671A (en) | Cryptographic communication system | |
CN107483505B (zh) | 一种对视频聊天中的用户隐私进行保护的方法及系统 | |
US20060005033A1 (en) | System and method for secure communications between at least one user device and a network entity | |
US20080285756A1 (en) | Random shared key | |
CA2464361A1 (en) | Multiple-stage system and method for processing encoded messages | |
JP2001202014A (ja) | データ認証方法、メッセージ伝送方法及び分散型システム | |
CN1234662A (zh) | 密码点火处理方法及其装置 | |
CA2527718A1 (en) | System, method and computer product for sending encrypted messages to recipients where the sender does not possess the credentials of the recipient | |
HRP20090506T1 (hr) | Metoda enkripcije i prijenosa podataka između pošiljatelja i primatelja koristeći mrežu | |
CN111556174B (zh) | 一种信息交互方法、装置及系统 | |
CN105391676A (zh) | 即时通讯消息处理方法及装置和系统 | |
CN111914291A (zh) | 消息处理方法、装置、设备及存储介质 | |
US20180083935A1 (en) | Method and system for secure sms communications | |
CN109962924B (zh) | 群聊构建方法、群消息发送方法、群消息接收方法及系统 | |
CN111541603B (zh) | 独立智能安全邮件终端及加密方法 | |
US11265298B2 (en) | Method for end-to-end transmission of a piece of encrypted digital information, application of this method and object implementing this method | |
CN112291196B (zh) | 适用于即时通信的端到端加密方法及系统 | |
CN112235320B (zh) | 一种基于密码的视联网组播通信方法及装置 | |
CN113918971A (zh) | 基于区块链的消息传输方法、装置、设备及可读存储介质 | |
WO2010124549A1 (zh) | 获取公钥的方法、装置和系统 | |
CN101729535B (zh) | 一种媒体点播业务的实现方法 | |
CN111130796B (zh) | 即时通信中安全在线云存储方法 | |
CN110890968B (zh) | 一种即时通信方法、装置、设备及计算机可读存储介质 | |
JP2001352320A (ja) | 暗号文の転送方法及び暗号文の転送装置 |
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 |