CN111092884A - 对业务数据进行发布订阅的方法、装置和计算机设备 - Google Patents

对业务数据进行发布订阅的方法、装置和计算机设备 Download PDF

Info

Publication number
CN111092884A
CN111092884A CN201911294463.2A CN201911294463A CN111092884A CN 111092884 A CN111092884 A CN 111092884A CN 201911294463 A CN201911294463 A CN 201911294463A CN 111092884 A CN111092884 A CN 111092884A
Authority
CN
China
Prior art keywords
encrypted
service data
private key
key
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911294463.2A
Other languages
English (en)
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.)
China Southern Power Grid Co Ltd
Original Assignee
China Southern Power Grid 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 China Southern Power Grid Co Ltd filed Critical China Southern Power Grid Co Ltd
Priority to CN201911294463.2A priority Critical patent/CN111092884A/zh
Publication of CN111092884A publication Critical patent/CN111092884A/zh
Pending legal-status Critical Current

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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种对业务数据进行发布订阅的方法、装置、计算机设备和存储介质,该方法包括:接收第一端发送的加密私有密钥和加密业务数据;所述加密私有密钥为根据公共密钥,对私有密钥进行加密得到的密钥;所述公共密钥为通过线下方式预先设置的密钥;所述加密业务数据通过所述私有密钥对明文业务数据进行加密得到;对所述加密业务数据进行发布;当接收到第二端针对所述加密业务数据的数据订阅请求时,将所述加密私有密钥和所述加密业务数据发送至所述第二端,触发所述第二端根据所述加密私有密钥和所述加密业务数据得到所述第一端的明文业务数据。采用本方法能够提高业务数据在发布、订阅时的安全性。

Description

对业务数据进行发布订阅的方法、装置和计算机设备
技术领域
本发明涉及设备通信技术领域,特别是涉及一种对业务数据进行发布订阅的方法、装置、计算机设备和存储介质。
背景技术
随着物联网技术的发展,越来越多的设备之间进行通信连接,这些相互通信的设备构成了对应的业务系统。业务系统中的设备如果进行业务数据的发布,则可以直接将业务数据发布在服务器上,其他设备可以直接从该服务器订阅到所需的业务数据。
在传统技术中,虽然存在对数据进行加密的方式,可以降低数据发布或订阅在传输过程中泄露的风险,但是,如果不属于业务系统内部的非法设备获取到业务数据加密的方式,仍然可能导致业务数据的泄露,降低业务数据在发布、订阅过程中的安全性。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高业务数据在发布、订阅过程中安全性的对业务数据进行发布订阅的方法、装置、计算机设备和存储介质。
第一方面,提供一种对业务数据进行发布订阅的方法,包括:
接收第一端发送的加密私有密钥和加密业务数据;所述加密私有密钥为根据公共密钥,对私有密钥进行加密得到;所述公共密钥为通过线下方式预先设置的密钥;所述加密业务数据通过所述私有密钥对明文业务数据进行加密得到;
对所述加密业务数据进行发布;
当接收到第二端针对所述加密业务数据的数据订阅请求时,将所述加密私有密钥和所述加密业务数据发送至所述第二端,触发所述第二端根据所述加密私有密钥和所述加密业务数据得到所述第一端的明文业务数据。
第二方面,提供另一种对业务数据进行发布订阅的方法,包括:
根据私有密钥,对在服务端发布的明文业务数据进行加密,得到加密业务数据;
根据公共密钥,对所述私有密钥进行加密,得到加密私有密钥;所述公共密钥为通过线下方式预先设置的密钥;
将所述加密私有密钥和所述加密业务数据发送至所述服务端;所述加密私有密钥和所述加密业务数据,用于触发所述服务端对所述加密业务数据进行发布,当接收到第二端针对所述加密业务数据的数据订阅请求时,将所述加密私有密钥和所述加密业务数据发送至所述第二端,触发所述第二端根据所述加密私有密钥和所述加密业务数据得到本端的明文业务数据。
第三方面,提供一种对业务数据进行发布订阅的装置,包括:
数据接收模块,用于接收第一端发送的加密私有密钥和加密业务数据;所述加密私有密钥为根据公共密钥,对私有密钥进行加密得到;所述公共密钥为通过线下方式预先设置的密钥;所述加密业务数据通过所述私有密钥对明文业务数据进行加密得到;
数据发布模块,用于对所述加密业务数据进行发布;
数据发送模块,用于当接收到第二端针对所述加密业务数据的数据订阅请求时,将所述加密私有密钥和所述加密业务数据发送至所述第二端,触发所述第二端根据所述加密私有密钥和所述加密业务数据得到所述第一端的明文业务数据。
第四方面,提供另一种对业务数据进行发布订阅的装置,包括:
数据加密模块,用于根据私有密钥,对在服务端发布的明文业务数据进行加密,得到加密业务数据;
密钥加密模块,用于根据公共密钥,对所述私有密钥进行加密,得到加密私有密钥;所述公共密钥为通过线下方式预先设置的密钥;
数据发送模块,用于将所述加密私有密钥和所述加密业务数据发送至所述服务端;所述加密私有密钥和所述加密业务数据,用于触发所述服务端对所述加密业务数据进行发布,当接收到第二端针对所述加密业务数据的数据订阅请求时,将所述加密私有密钥和所述加密业务数据发送至所述第二端,触发所述第二端根据所述加密私有密钥和所述加密业务数据得到本端的明文业务数据。
第五方面,提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收第一端发送的加密私有密钥和加密业务数据;所述加密私有密钥为根据公共密钥,对私有密钥进行加密得到;所述公共密钥为通过线下方式预先设置的密钥;所述加密业务数据通过所述私有密钥对明文业务数据进行加密得到;
对所述加密业务数据进行发布;
当接收到第二端针对所述加密业务数据的数据订阅请求时,将所述加密私有密钥和所述加密业务数据发送至所述第二端,触发所述第二端根据所述加密私有密钥和所述加密业务数据得到所述第一端的明文业务数据。
第六方面,提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
根据私有密钥,对在服务端发布的明文业务数据进行加密,得到加密业务数据;
根据公共密钥,对所述私有密钥进行加密,得到加密私有密钥;所述公共密钥为通过线下方式预先设置的密钥;
将所述加密私有密钥和所述加密业务数据发送至所述服务端;所述加密私有密钥和所述加密业务数据,用于触发所述服务端对所述加密业务数据进行发布,当接收到第二端针对所述加密业务数据的数据订阅请求时,将所述加密私有密钥和所述加密业务数据发送至所述第二端,触发所述第二端根据所述加密私有密钥和所述加密业务数据得到本端的明文业务数据。
第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收第一端发送的加密私有密钥和加密业务数据;所述加密私有密钥为根据公共密钥,对私有密钥进行加密得到;所述公共密钥为通过线下方式预先设置的密钥;所述加密业务数据通过所述私有密钥对明文业务数据进行加密得到;
对所述加密业务数据进行发布;
当接收到第二端针对所述加密业务数据的数据订阅请求时,将所述加密私有密钥和所述加密业务数据发送至所述第二端,触发所述第二端根据所述加密私有密钥和所述加密业务数据得到所述第一端的明文业务数据。
第八方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
根据私有密钥,对在服务端发布的明文业务数据进行加密,得到加密业务数据;
根据公共密钥,对所述私有密钥进行加密,得到加密私有密钥;所述公共密钥为通过线下方式预先设置的密钥;
将所述加密私有密钥和所述加密业务数据发送至所述服务端;所述加密私有密钥和所述加密业务数据,用于触发所述服务端对所述加密业务数据进行发布,当接收到第二端针对所述加密业务数据的数据订阅请求时,将所述加密私有密钥和所述加密业务数据发送至所述第二端,触发所述第二端根据所述加密私有密钥和所述加密业务数据得到本端的明文业务数据。
上述对业务数据进行发布订阅的方法、装置、计算机设备和存储介质,通过线下方式预先设置公共密钥,使得公共密钥不会在线上传播,避免公共密钥被非法设备截取导致泄露的问题,达到类似在多端之间进行协商拟定加密方式的效果,形成一个内部的业务系统;由于加密私有密钥是根据该公共密钥对私有密钥进行加密得到的,所以保证了加密私有密钥在第一端和第二端之间传输的安全性,也就是说,保证了私有密钥的安全性,并且由于业务数据通过该私有密钥进行加密的,因此该业务数据的发布订阅的安全性可以得到保证,最大程度地避免了非法设备在业务数据发布订阅过程中,截取到业务数据的加密方式导致业务数据的泄露的情况,提高了业务数据在发布订阅过程的安全性。
附图说明
图1为一个实施例中对业务数据进行发布订阅的方法的应用环境图;
图2为一个实施例中对业务数据进行发布订阅的方法的流程示意图;
图3为另一个实施例中对业务数据进行发布订阅的方法的流程示意图;
图4为一个实施例中身份认证方法的流程示意图;
图5为又一个实施例中对业务数据进行发布订阅的方法的流程示意图;
图6为一个实施例中进行私有密钥更新方法的流程示意图;
图7为一个实施例中对业务数据进行发布订阅的装置的结构框图;
图8为另一个实施例中对业务数据进行发布订阅的装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明提供的对业务数据进行发布订阅的方法,可以应用于如图1所示的应用环境中。其中,服务端102和第一端104之间、服务端102和第二端106之间通过网络进行通信,并且通过线下方式设置公共密钥;第一端104利用该私有密钥对明文业务数据进行加密,得到加密业务数据,并且第一端104利用公共密钥,对私有密钥进行加密,得到加密私有密钥;第一端104将加密私有密钥和加密业务数据发送至服务端102,服务端102在接收到加密业务数据后,对加密业务数据进行发布;当第二端106要订阅第一端104的加密业务数据时,第二端106可以将数据订阅请求发送至服务端102,服务端102在接收到数据订阅请求后,将加密私有密钥和加密业务数据发送至第二端106;第二端106可以根据加密私有密钥和加密业务数据,得到第一端的明文业务数据。
其中,线下方式可以理解为与网络传播方式等线上方式相对的方式;当涉及到某个设备需要利用公共密钥对相应的数据进行加密或解密时,可以知道的是,此时该设备已经通过线下方式预先设置有公共密钥,这对任何本发明披露的任何一个实施例都适用,因此,在此进行说明,涉及到相关内容时不赘述。此外,服务端102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。业务系统可以理解为由多个设备相互通信连接组成的业务物联网,第一端104和第二端106可以是业务系统中的服务器等设备。
在一个实施例中,如图2所示,提供了一种对业务数据进行发布订阅的方法,以该方法应用于图1中的服务端为例进行说明。其中,通过线下方式设置公共密钥,可以将公共密钥设置在第一端和第二端上;此外,第一端上还设置有私有密钥。本实施例提供的对业务数据进行发布订阅的方法,包括以下步骤:
步骤S202,接收第一端发送的加密私有密钥和加密业务数据;加密私有密钥为根据公共密钥,对私有密钥进行加密得到的密钥;公共密钥为通过线下方式预先设置的密钥;加密业务数据通过私有密钥对明文业务数据进行加密得到。
其中,服务端用于对业务数据进行发布,进一步地,服务端在发布业务数据时,可以以业务数据的加密形式进行发布,也可以以业务数据的明文形式进行发布,而业务数据的加密形式可以称为加密业务数据,业务数据的明文形式可以称为明文业务数据,在本发明的介绍中,可以将业务数据和明文业务数据等同理解,当需要区分加密的业务数据时,则使用加密业务数据进行特指。第一端可以在服务端上发布其业务数据,进一步地,还可以在服务端上订阅其他端的加密业务数据;当第一端要在服务端发布业务数据时,此时第一端的角色是发布端,当第一端要在服务端上请求订阅其他端的加密业务数据时,第一端的角色是订阅端。
在本步骤中,当第一端要在服务端上发布业务数据(此时,业务数据为明文业务数据)时,第一端利用其私有密钥,对明文业务数据进行加密,得到加密业务数据,然后第一端利用公共密钥,对私有密钥进行加密,得到加密私有密钥,并将加密业务数据和加密私有密钥发送至服务端,服务端接收到加密业务数据和加密私有密钥后进入步骤S204。
步骤S204,对加密业务数据进行发布。
在本步骤中,服务端对接收到的加密业务数据进行发布;进一步地,服务端还可以在对接收到的加密私有密钥进行解密后存储,具体地,服务端可以利用公共密钥,对加密私有密钥进行解密,得到解密后的私有密钥,也就是明文私有密钥,并以明文私有密钥的形式进行存储。
步骤S206,当接收到第二端针对加密业务数据的数据订阅请求时,将加密私有密钥和加密业务数据发送至第二端,触发第二端根据加密私有密钥和加密业务数据得到第一端的明文业务数据。
其中,第二端可以在服务端上订阅其它端的加密业务数据,进一步地,还可以在服务端上发布其业务数据;当第二端要在服务端发布业务数据时,此时第二端的角色是发布端,当第二端要在服务端上请求其他端的业务数据时,第二端的角色是订阅端。
在本步骤中,当第二端要在服务端上订阅第一端的加密业务数据时,可以向服务端发送数据订阅请求,该数据订阅请求用于向服务端订阅第一端的加密业务数据;服务端在接收到该数据订阅请求后,第一端的加密业务数据和加密私有密钥发送给第二端;此时,第二端可以利用公共密钥对加密私有密钥进行解密,利用解密得到的明文私有密钥,对加密业务数据进行解密,得到明文业务数据,也就是说,订阅到第一端的明文业务数据。
上述对业务数据进行发布订阅的方法中,通过线下方式预先设置公共密钥,使得公共密钥不会在线上传播,避免公共密钥被非法设备截取导致泄露的问题,达到类似在多端之间进行协商拟定加密方式的效果,形成一个内部的业务系统;由于加密私有密钥是根据该公共密钥对私有密钥进行加密得到的,所以保证了加密私有密钥在第一端和第二端之间传输的安全性,也就是说,保证了私有密钥的安全性,并且由于业务数据通过该私有密钥进行加密的,因此该业务数据的发布订阅的安全性可以得到保证,最大程度地避免了非法设备在业务数据发布订阅过程中,截取到业务数据的加密方式导致业务数据的泄露的情况,提高了业务数据在发布订阅过程的安全性。
在一种可能的情况中,存在非法设备(可以理解为不属于业务系统的设备)在服务端上发布非法数据的情况,导致业务系统内的其他设备订阅到非法设备的非法数据,业务系统内部的设备还需要对订阅到的数据进行验证,增加相关设备在订阅业务数据过程中的不必要操作,并且进一步考虑到第一端既可以是发布端,也可以是订阅端的情况,因而,本发明提供另一个实施例,在本实施例中,服务端可以在对第一端的业务数据进行发布前,对第一端进行身份认证。具体地,第一端根据公共密钥,对第一端的身份识别码进行加密,得到加密身份识别码,身份识别码用于表征第一端的身份;第一端将加密身份识别码发送至服务端,服务端接收到加密身份识别码后,根据公共密钥,对加密身份识别码进行解密,并获取预先存储在服务端内部的身份认证表,将解密得到的身份识别码与身份认证表进行比对,以对第一端进行身份认证,进一步地,如果比对到身份认证表存在与身份识别码对应的识别码,则通过第一端的身份认证;服务端在通过第一端的身份认证后,和第一端建立业务数据传输连接,以接收第一端的加密业务数据,进而发布第一端的加密业务数据。
在一种可能的情况中,如果在第一端的身份认证通过后,第一端就在服务端发布业务数据,此时第一端可能需要再次向服务端发送连接请求报文,以和服务端建立业务数据传输连接,这样就不可避免地增加了两端的数据传输操作,降低业务数据的发布效率。因此,在本发明的另一个实施例中,第一端和服务端之间基于MQTT协议进行数据传输,其中,MQTT协议全称为Message Queuing Telemetry Transport(消息队列遥测传输),该协议是一种基于发布/订阅范式的“轻量级”消息协议;MQTT协议可以被解释为一种低开销,低带宽占用的即时通讯协议,可以用极少的代码和带宽的为连接远程设备提供实时可靠的消息服务,因此MQTT协议在物联网、小型设备应用、移动应用等方面有较广泛的应用;该协议是基于TCP/IP协议栈而构建的,慢慢已成为了物联网通讯的标准。具体地,第一端可以利用公共密钥,对第一端的身份识别码进行加密,得到加密身份识别码,并将加密身份识别码加载到MQTT协议格式的连接请求报文中,其加载的形式可以是在连接请求报文后添加加密身份识别码,得到扩展的连接请求报文,也就是说,得到了加载有加密身份识别码的连接请求报文,并将该连接请求报文发送至服务端;服务端在接收到该连接请求报文后,根据从连接请求报文中解析到加密身份识别码,对第一端进行身份认证,如果服务端通过对第一端的身份认证,则和第一端建立业务数据传输连接,从而使得第一端可以根据该业务数据传输连接向服务端发送加密业务数据,以便在服务端发布业务数据。进一步地,服务端和第一端建立业务数据传输连接的过程可以是服务端向第一端返回连接请求响应,第一端在接收到该连接请求响应后,和服务端建立业务数据传输连接。
在一种可能的情况中,当第一端需要多次在服务端上发布业务数据,并且均使用同一个私有密钥对业务数据进行加密时,第一端可以仅向服务端发送一次加密私有密钥,避免在第一端和服务端之间多次对同一个私有密钥进行传输,导致业务数据发布效率降低的情况,以提高业务数据发布效率。可以理解的是,第一端可以在向服务端进行身份认证的时候,将加密私有密钥和加密身份识别码同时发送至服务端,进一步提高业务数据发布效率。进一步地,当第一端和服务端之间基于MQTT协议进行数据传输时,第一端可以将加密私有密钥和加密身份识别码加载在MQTT协议格式的连接请求报文中,然后将该连接请求报文发送至服务端。
可以理解的是,在步骤S206中,第二端可以根据公共密钥订阅到第一端的明文业务数据,说明公共密钥已经通过线下方式预先设置在第二端上,也就是说,在业务系统中,第二端属于合法设备,服务端可以不用对第二端的身份进行认证。但是在一种可能的情况中,当第二端为不属于业务系统的非法设备时,如果服务端没有对第二端的身份进行认证,就将加密业务数据和加密私有密钥发送至第二端,此时,第二端可以随机选取现有的密钥算法对加密私有密钥进行解密,如果第二端解密成功,则存在业务数据泄露的风险。因此,本发明提供另一个实施例以尽可能避免上述情况。在本实施例中,服务端在接收到第二端的数据订阅请求时,可以先对第二端的身份进行认证,服务端如果通过对第二端的身份认证,进而将加密业务数据和加密私有密钥发送至第二端。其中,服务端对第二端进行身份认证的方式,可以参照服务端对第一端进行身份认证的方式,这里不赘述。
在一个实施例中,第一端将加密私有密钥发送给服务端后,如果服务端以明文私有密钥的形式存储私有密钥,服务端在向第二端发送第一端的私有密钥之前,可以利用公共密钥,对明文私有密钥进行加密,得到加密私有密钥,然后将该加密私有密钥和加密业务数据发送至第二端。进一步地,服务端可以同时将加密私有密钥和加密业务数据发送至第二端,具体地,当服务端和第二端之间是基于MQTT协议进行业务数据的订阅时,服务端可以将加密私有密钥加载到MQTT协议的数据订阅报文中,得到加载有加密私有密钥的数据订阅报文,并将该数据订阅报文发送至第二端,从而避免了服务端需要另外将加密私有密钥发送给第二端,增加订阅业务数据的操作的情况,提高了业务数据的订阅效率。
在另一种可能的情况中,为了进一步确保业务数据发布订阅的安全性,第一端可以对私有密钥进行更新,服务端获取到第一端的更新私有密钥的具体步骤可以包括:第一端可以利用公共密钥对更新私有密钥进行加密,并将加密后的更新私有密钥发送至服务端;服务端根据公共密钥对加密后的更新私有密钥进行解密,从而得到更新私有密钥。
在另一种可能的情况中,如果服务端已经接收到第二端发送的数据订阅请求,并且将第一端为更新前的加密私有密钥发送至第二端,此时,需要使第二端可以及时获取第一端对私有密钥更新的情况。基于此,本发明提供另一个实施例以使第二端可以及时获取到私有密钥更新的情况。具体地,服务端在获取到第一端的更新私有密钥后,利用公共密钥对更新私有密钥进行加密,并将加密后的更新私有密钥发送至第二端;第二端在接收到加密后的更新私有密钥后,根据公共密钥对加密后的更新私有密钥进行解密,进而得到更新私有密钥,完成对第一端的私有密钥的更新,并向服务端返回密钥更新完成消息。
由于设备和设备之间进行数据传输一般都是基于特定协议进行,协议用于规定与设备执行某种操作对应的报文类型,因此,在进行私有密钥更新的过程中,更新私有密钥这类数据的传输是基于报文格式预先定义好的报文进行传输的,例如,将更新私有密钥加载在与密钥更新对应的报文中,又例如,在协议没有规定与密钥更新对应的报文的情况下,可以将更新私有密钥加载在其他已经规定好的报文类型中,如连接请求报文;但是由于报文类型对指示设备进行特定操作对应,如果将更新密钥加载在其他类型的报文中,接收到其他类型的报文在获取到更新私有密钥后,还会执行与其接收到的报文对应的操作,在大多数情况下,这种操作是与密钥更新的操作是无关的。
基于此,本发明提供另一个实施例,可以通过预先定义报文格式的方式,得到与密钥更新操作对应的密钥更新报文。进一步地,服务端在获取到更新私有密钥后,将更新私有密钥加载到密钥更新报文中,并发送至第二端,第二端通过该密钥更新报文,就可以直接执行与密钥更新对应的操作,避免执行其他不相干的操作的情况,提高密钥更新效率。更进一步地,可以将密钥更新报文的格式设置为“0xF”,其中,“0xF”表征该报文类型为与密钥更新操作对应的报文类型,另外,还可以在“0xF”后面添加控制报文标志,该控制报文标志为“0”时,代表该密钥更新报文携带有更新私有密钥,该控制报文标志为“1”时,代表该密钥更新报文无更新私有密钥,具体地,服务端在将更新私有密钥加载到密钥更新报文中时,将密钥更新报文设置为“0xF0”,并将更新私有密钥添加到“0xF0”后面,然后将形成的密钥更新报文发送至第二端,第二端可以从该密钥更新报文中解析到更新私有密钥;进一步地,第二端还可以在得到更新私有密钥后,将密钥更新报文设置为“0xF1”,并将“0xF1”作为密钥更新完成消息返回至服务端,服务端在解析到控制报文标志为“1”时,可以确认第二端已经完成对第一端的私有密钥的更新。
在一个实施例中,如图3所示,提供了一种对业务数据进行发布订阅的方法,以该方法应用于图1中的第一端为例进行说明。其中,通过线下方式设置公共密钥,可以将公共密钥设置在第一端和第二端上;此外,第一端上还设置有私有密钥。本实施例提供的对业务数据进行发布订阅的方法包括以下步骤:
步骤S302,根据私有密钥,对在服务端发布的明文业务数据进行加密,得到加密业务数据。
其中,服务端用于对业务数据进行发布,进一步地,服务端在发布业务数据时,可以以业务数据的加密形式进行发布,也可以以业务数据的明文形式进行发布,而业务数据的加密形式可以称为加密业务数据,业务数据的明文形式可以称为明文业务数据。第一端可以在服务端上发布其业务数据,进一步地,还可以在服务端上订阅其他端的业务数据;当第一端要在服务端发布业务数据时,此时第一端的角色是发布端,当第一端要在服务端上请求其他端的加密业务数据时,第一端的角色是订阅端。
在本步骤中,当第一端要在服务端上发布业务数据(此时,业务数据为明文业务数据)时,第一端利用其私有密钥,对明文业务数据进行加密,得到加密业务数据。
步骤S304,根据公共密钥,对私有密钥进行加密,得到加密私有密钥。
在本步骤中,第一端利用公共密钥,对私有密钥进行加密,得到加密私有密钥。
步骤S306,将加密私有密钥和加密业务数据发送至服务端;加密私有密钥和加密业务数据,触发服务端对加密业务数据进行发布,当接收到第二端针对所发布的加密业务数据的数据订阅请求时,将加密私有密钥和加密业务数据发送至第二端,触发第二端根据公共密钥订阅到明文业务数据。
其中,第二端可以在服务端上订阅其它端的业务数据,进一步地,还可以在服务端上发布其业务数据;当第二端要在服务端发布业务数据时,此时第二端的角色是发布端,当第二端要在服务端上请求其他端的加密业务数据时,第二端的角色是订阅端。
在本步骤中,第一端将加密业务数据和加密私有密钥发送至服务端;当第二端要在服务端上订阅第一端的业务数据时,可以向服务端发送数据订阅请求,该数据订阅请求用于向服务端订阅第一端的业务数据;服务端在接收到该数据订阅请求后,第一端的加密业务数据和加密私有密钥发送给第二端;此时,第二端可以根据公共密钥对加密私有密钥进行解密,利用解密得到的明文私有密钥,对加密业务数据进行解密,得到明文业务数据,也就是说,订阅到第一端的明文业务数据。
上述对业务数据进行发布订阅的方法中,通过线下方式预先设置公共密钥,使得公共密钥不会在线上传播,避免公共密钥被非法设备截取导致泄露的问题,达到类似在多端之间进行协商拟定加密方式的效果,形成一个内部的业务系统;由于加密私有密钥是根据该公共密钥对私有密钥进行加密得到的,所以保证了加密私有密钥在第一端和第二端之间传输的安全性,也就是说,保证了私有密钥的安全性,并且由于业务数据通过该私有密钥进行加密的,因此该业务数据的发布订阅的安全性可以得到保证,最大程度地避免了非法设备在业务数据发布订阅过程中,截取到业务数据的加密方式导致业务数据的泄露的情况,提高了业务数据在发布订阅过程的安全性。
在上述实施例中,其应用场景可以是电力系统这类业务系统的电力物联网,在电力物联网中,各个设备之间可以采用MQTT协议传输对应的传感数据(可以理解为业务数据)。目前使用MQTT协议传输传感数据时,这些传感数据都是以明文的形式进行传输的,如果在传输过程中,本非法设备截取,则直接导致传感数据的泄露;并且设备在进入电力物联网中时,需要与服务端进行连接,而在传统的连接方式,设备直接将用户名和密码发送至服务端,服务端在确认用户名和密码正确后,即可与该设备进行连接,如果非法设备获取到用户名和密码,则会导致非法设备也加入电力物联网中,在这种情况下,服务端无法对设备进行有效的身份验证,无法阻止非法设备的连接。
基于此,本发明提供了一个对业务数据进行发布订阅的方法的应用实施例,在传统的MQTT协议框架的基础上,提供一种带有身份认证及数据加密的可信交互机制,既可防止非法设备恶意连接服务器,同时对明文形式的业务数据进行加密,可以防止对业务数据的偷盗与篡改,以下详细阐述该实施例。
需要说明的是,客户端可以理解为上述实施例中的第一端/第二端;进一步地,当客户端在服务端上发布数据时,此时该客户端可以理解为发布端,当客户端从服务端上订阅数据时,此时该客户端可以理解为订阅端。
另外,当客户端作为发布端时,该发布端可以对自身的私有密钥SKey进行更新,因此,为了区分更新前后的私有密钥,在以下的介绍中,将以S1Key代表发布端更新前的私有密钥,以S2Key代表发布端更新后的私有密钥。
一、身份认证流程,在该身份认证流程中,涉及到客户端和服务端,其中客户端可以是发布端,也可以是订阅端,具体的身份认证流程结合图4进行介绍:
步骤S402、客户端将自身的身份识别码ID及自身的私有密钥SKey,采用AES算法,根据公共密钥AKey,生成密文A(ID)和A(SKey),向服务端发送带有A(ID)和A(SKey)的扩展CONNECT消息类型报文。
其中,A(ID)可以理解为与其他实施例中的加密身份识别码对应,A(SKey)可以理解为与其他实施例中的加密私有密钥对应,CONNECT消息类型报文可以理解为与其他实施例中的连接请求报文对应。
该客户端可以是电力物联网内的汇聚结点也可以是边缘结点,客户端身份识别码ID为该客户端在网络内的唯一身份标识。公共密钥AKey为系统内客户端、服务端约定的共有密钥,预置于客户端与服务端内,不在线上传播,可有效保证传输数据的安全性,而客户端自身的私有密钥SKey是该客户端作为发布端时,用于加密有效载荷PL(有效载荷可以理解为业务数据)的密钥。
扩展CONNECT消息类型报文,在MQTT协议的原CONNECT消息类型报文的基础上,置固定报头中控制报文标志位为0x3,并在原有有效载荷后增加身份识别码ID和私有密钥的密文,即增加A(ID)和A(SKey);
步骤S404、服务端在收到扩展CONNECT消息类型报文后,根据AKey采用AES算法,对A(ID)进行解密,得到客户端身份识别码ID的明文形式,并与预先存储的身份认证表IDList比对,判断ID是否在IDList内,若不在,拒绝和该客户端连接,并且结束认证,否则执行下一步;
在服务端上预先存储的身份认证表IDList是用于存储所有合法客户端的身份识别码ID的列表,由服务端进行维护更新,对于不在身份认证表IDList内的身份识别码ID视为非法ID,服务端将拒绝与该身份识别码ID对应的客户端连接。
步骤S406、服务端根据AKey采用AES算法,解密A(SKey),得到并记录SKey,向客户端发送CONNACK消息类型报文,和客户端建立业务数据传输连接,并结束身份认证流程。
其中,CONNACK消息类型报文可以理解为与其他实施例中的连接请求响应对应。
二、发布订阅流程,在该发布订阅流程中,涉及到发布端、订阅端和服务端,具体的发布订阅流程结合图5进行介绍:
步骤S502、发布端利用自身的私有密钥S1Key,采用AES算法,加密有效载荷PL,得到密文S(PL),并发送S(PL)给服务端,服务端收到S(PL)后向订阅端转发;
在电力物联网中,发布端一般为数据汇聚结点,发布消息流程机制与原MQTT协议相同,只是有效载荷部分被发布端利用自身的私有密钥S1Key加密,传输的是加密后的密文S(PL)。
步骤S504、订阅端向服务端发送SUBSCRIBE类型订阅请求;其中,SUBSCRIBE类型订阅请求可以理解为与其他实施例中的数据订阅请求对应。
步骤S506、服务端收到SUBSCRIBE类型订阅请求后,根据AKey,采用AES算法,将发布端的私有密钥S1Key加密,得到密文A(S1Key),并向订阅端发送带有A(S1Key)的扩展SUBACK类型消息报文;
扩展SUBACK类型消息报文,可以理解为与其他实施例中的数据订阅报文对应。具体地,扩展SUBACK类型消息报文,在MQTT协议的原SUBACK类型消息报文中的有效载荷之后增加发布端私有密钥的密文A(S1Key);其控制类型,固定标志位等均与原有MQTT协议的SUBACK类型消息报文相同,仅有效载荷部分不同,补充了发布端私有密钥的密文A(S1Key),用于订阅端解密有效载荷的密文S(PL)。
步骤S508、订阅端收到扩展SUBACK类型消息报文后,根据AKey采用AES算法,解密A(S1Key),得到并记录S1Key。
步骤S510、利用S1Key解密S(PL),得到所需的有效载荷PL。
三、发布端的私有密钥更新流程,在该流程中,涉及到发布端、订阅端和服务端,具体的私有密钥更新流程结合图6进行介绍:
步骤S602、发布端对私有密钥进行更新,得到更新私有密钥S2Key,根据AKey,采用AES算法加密后得到密文A(S2Key),向服务端发送带有A(S2Key)的PSPUB消息类型报文;
PSPUB消息类型报文,可以理解为与其他实施例的密钥更新报文“0xF0”对应的报文。在私有密钥更新流程中,PSPUB消息类型报文的格式为“0xF”;进一步地,发布端在发布更新私有密钥时,在“0xF”后设置一个控制报文标志位“0”,使用“0xF0”作为新的消息类型PSPUB,对应的加载数据为更新私有密钥的密文A(S2Key)。
步骤S604、服务端收到PSPUB消息类型报文后,根据AKey,采用AES算法,解密A(S2Key),得到S2Key,更新并记录发布端的密钥为S2Key,并向发布端发送PSPUBACK消息类型消息,向发布端确认已接收到发布端的更新私有密钥。
PSPUBACK消息类型消息,可以理解为与其他实施例的密钥更新报文“0xF1”对应。使用0xF1作为新的消息类型PSPUBACK,用来响应更新密钥发布,PSPUBACK类型报文MQTT控制报文类型为0xF,控制报文标志位为0x1,无有效载荷。
步骤S606、服务端向订阅端发送带有A(S2Key)的PSPUB消息类型报文;
步骤S608、订阅端收到PSPUB消息类型报文后,根据AKey,采用AES算法,解密A(S2Key),得到S2Key,更新并记录发布端的密钥为S2Key,并向服务端发送PSPUBACK消息类型消息,向服务端确认以完成对发布端的私有密钥更新,表示私有密钥更新流程结束。
在上述实施例中,服务端对客户端进行身份认证,引入针对客户端的身份验证机制,客户端的身份标识码ID以及自身的私有密钥通过预先设置的公共密钥进行加密,实现类似于通过协商拟定的加密方式进行加密的效果;服务端在对加密的身份识别码ID进行解密后,根据预先存储的身份认证表,验证客户端的身份的真实有效性,以完成和客户端的业务数据传输连接。
另外,发布端采用自身的私有密钥对业务数据进行加密,而订阅端通过身份认证后可以获得发布端的私有密钥,同时引入发布端的密钥更新机制,发布端可根据自身策略,对私有密钥进行更新,大大加强了业务数据传输的安全性。
需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
基于与上述实施例中的对业务数据进行发布订阅的方法相同的思想,本发明还提供对业务数据进行发布订阅的装置,该装置可用于执行上述对业务数据进行发布订阅的方法。为了便于说明,对业务数据进行发布订阅的装置实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在一个实施例中,如图7所示,提供了一种对业务数据进行发布订阅的装置700,包括:数据接收模块702、数据发布模块704和数据发送模块706,其中:
数据接收模块702,用于接收第一端发送的加密私有密钥和加密业务数据;加密私有密钥为根据公共密钥,对私有密钥进行加密得到的密钥;公共密钥为通过线下方式预先设置的密钥;加密业务数据通过私有密钥对明文业务数据进行加密得到;
数据发布模块704,用于对加密业务数据进行发布;
数据发送模块706,用于当接收到第二端针对加密业务数据的数据订阅请求时,将加密私有密钥和加密业务数据发送至第二端,触发第二端根据加密私有密钥和加密业务数据得到第一端的明文业务数据。
在一个实施例中,对业务数据进行发布订阅的装置700,还用于获取第一端的更新私有密钥;利用公共密钥,对更新私有密钥进行加密;将加密后的更新私有密钥发送至第二端,触发第二端返回密钥更新完成消息;密钥更新完成消息用于表征第二端根据更新私有密钥,完成对私有密钥的更新。
在一个实施例中,数据发送模块706,还用于将加密后的更新私有密钥加载到密钥更新报文中;密钥更新报文为格式预先定义的报文;将加载有加密后的更新私有密钥的密钥更新报文,发送至第二端。
在一个实施例中,数据发送模块706,还用于将加密私有密钥加载至数据订阅报文中;数据订阅报文为MQTT协议格式的报文;将加载有加密私有密钥的数据订阅报文,发送至第二端。
在一个实施例中,对业务数据进行发布订阅的装置700,还用于接收第一端发送的加密身份识别码;加密身份识别码为根据公共密钥,对身份识别码进行加密得到的识别码;身份识别码用于表征第一端的身份;根据公共密钥,对加密身份识别码进行解密;将解密得到的身份识别码与身份认证表比对,以对第一端进行身份认证;身份认证表预先存储在本端;若第一端身份认证通过,与第一端建立业务数据传输连接。
在一个实施例中,如图8所示,提供了一种对业务数据进行发布订阅的装置800,包括:数据加密模块802、密钥加密模块804和数据发送模块806,其中:
数据加密模块802,用于根据私有密钥,对在服务端发布的明文业务数据进行加密,得到加密业务数据;
密钥加密模块804,用于根据公共密钥,对私有密钥进行加密,得到加密私有密钥;公共密钥为通过线下方式预先设置的密钥;
数据发送模块806,用于将加密私有密钥和加密业务数据发送至服务端;加密私有密钥和加密业务数据,用于触发服务端对加密业务数据进行发布,当接收到第二端针对加密业务数据的数据订阅请求时,将加密私有密钥和加密业务数据发送至第二端,触发第二端根据加密私有密钥和加密业务数据得到本端的明文业务数据。
在一个实施例中,对业务数据进行发布订阅的装置800,还用于根据公共密钥,对身份识别码进行加密,得到加密身份识别码;身份识别码用于表征本端的身份;将加密身份识别码加载到连接请求报文中;连接请求报文为MQTT协议格式的报文;将加载有加密身份识别码的连接请求报文发送至服务端,触发服务端在通过对本端的身份认证后和本端建立业务数据传输连接。
需要说明的是,本发明的对业务数据进行发布订阅的装置与本发明的对业务数据进行发布订阅的方法一一对应,在上述对业务数据进行发布订阅的方法的实施例阐述的技术特征及其有益效果均适用于对业务数据进行发布订阅的装置的实施例中,具体内容可参见本发明方法实施例中的叙述,此处不再赘述,特此声明。
此外,上述示例的对业务数据进行发布订阅的装置的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将对业务数据进行发布订阅的装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储对业务数据进行发布订阅的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种对业务数据进行发布订阅的方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,作为独立的产品销售或使用。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部件(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本发明实施例的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或(模块)单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种对业务数据进行发布订阅的方法,其特征在于,所述方法包括:
接收第一端发送的加密私有密钥和加密业务数据;所述加密私有密钥为根据公共密钥,对私有密钥进行加密得到;所述公共密钥为通过线下方式预先设置的密钥;所述加密业务数据通过所述私有密钥对明文业务数据进行加密得到;
对所述加密业务数据进行发布;
当接收到第二端针对所述加密业务数据的数据订阅请求时,将所述加密私有密钥和所述加密业务数据发送至所述第二端,触发所述第二端根据所述加密私有密钥和所述加密业务数据得到所述第一端的明文业务数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取所述第一端的更新私有密钥;
利用所述公共密钥,对所述更新私有密钥进行加密;
将加密后的更新私有密钥发送至所述第二端,触发所述第二端返回密钥更新完成消息;所述密钥更新完成消息用于表征所述第二端根据所述更新私有密钥完成对所述私有密钥的更新。
3.根据权利要求2所述的方法,其特征在于,所述将加密后的更新私有密钥发送至所述第二端的步骤,包括:
将所述加密后的更新私有密钥加载到密钥更新报文中;所述密钥更新报文为格式预先定义的报文;
将加载有所述加密后的更新私有密钥的密钥更新报文,发送至所述第二端。
4.根据权利要求1所述的方法,其特征在于,将所述加密私有密钥发送至所述第二端的步骤,包括:
将所述加密私有密钥加载至数据订阅报文中;所述数据订阅报文为MQTT协议格式的报文;
将加载有所述加密私有密钥的数据订阅报文,发送至所述第二端。
5.根据权利要求1所述的方法,其特征在于,还包括:
接收所述第一端发送的加密身份识别码;所述加密身份识别码为根据所述公共密钥对身份识别码进行加密得到的识别码;所述身份识别码用于表征所述第一端的身份;
根据所述公共密钥,对所述加密身份识别码进行解密;
将解密得到的所述身份识别码与身份认证表比对,以对所述第一端进行身份认证;所述身份认证表预先存储在本端;
在接收第一端发送的加密业务数据的步骤之前,还包括:
若所述第一端身份认证通过,与所述第一端建立业务数据传输连接。
6.一种对业务数据进行发布订阅的方法,其特征在于,包括:
根据私有密钥,对在服务端发布的明文业务数据进行加密,得到加密业务数据;
根据公共密钥,对所述私有密钥进行加密,得到加密私有密钥;所述公共密钥为通过线下方式预先设置的密钥;
将所述加密私有密钥和所述加密业务数据发送至所述服务端;所述加密私有密钥和所述加密业务数据,用于触发所述服务端对所述加密业务数据进行发布,当接收到第二端针对所述加密业务数据的数据订阅请求时,将所述加密私有密钥和所述加密业务数据发送至所述第二端,触发所述第二端根据所述加密私有密钥和所述加密业务数据得到本端的明文业务数据。
7.根据权利要求6所述的方法,其特征在于,还包括:
根据所述公共密钥,对身份识别码进行加密,得到加密身份识别码;所述身份识别码用于表征本端的身份;
将所述加密身份识别码加载到连接请求报文中;所述连接请求报文为MQTT协议格式的报文;
将加载有所述加密身份识别码的连接请求报文发送至所述服务端,触发所述服务端在通过对本端的身份认证后和本端建立业务数据传输连接。
8.一种对业务数据进行发布订阅的装置,其特征在于,包括:
数据接收模块,用于接收第一端发送的加密私有密钥和加密业务数据;所述加密私有密钥为根据公共密钥,对私有密钥进行加密得到;所述公共密钥为通过线下方式预先设置的密钥;所述加密业务数据通过所述私有密钥对明文业务数据进行加密得到;
数据发布模块,用于对所述加密业务数据进行发布;
数据发送模块,用于当接收到第二端针对所述加密业务数据的数据订阅请求时,将所述加密私有密钥和所述加密业务数据发送至所述第二端,触发所述第二端根据所述加密私有密钥和所述加密业务数据得到所述第一端的明文业务数据。
9.一种对业务数据进行发布订阅的装置,其特征在于,包括:
数据加密模块,用于根据私有密钥,对在服务端发布的明文业务数据进行加密,得到加密业务数据;
密钥加密模块,用于根据公共密钥,对所述私有密钥进行加密,得到加密私有密钥;所述公共密钥为通过线下方式预先设置的密钥;
数据发送模块,用于将所述加密私有密钥和所述加密业务数据发送至所述服务端;所述加密私有密钥和所述加密业务数据,用于触发所述服务端对所述加密业务数据进行发布,当接收到第二端针对所述加密业务数据的数据订阅请求时,将所述加密私有密钥和所述加密业务数据发送至所述第二端,触发所述第二端根据所述加密私有密钥和所述加密业务数据得到本端的明文业务数据。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201911294463.2A 2019-12-16 2019-12-16 对业务数据进行发布订阅的方法、装置和计算机设备 Pending CN111092884A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911294463.2A CN111092884A (zh) 2019-12-16 2019-12-16 对业务数据进行发布订阅的方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911294463.2A CN111092884A (zh) 2019-12-16 2019-12-16 对业务数据进行发布订阅的方法、装置和计算机设备

Publications (1)

Publication Number Publication Date
CN111092884A true CN111092884A (zh) 2020-05-01

Family

ID=70395104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911294463.2A Pending CN111092884A (zh) 2019-12-16 2019-12-16 对业务数据进行发布订阅的方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN111092884A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160234022A1 (en) * 2015-02-10 2016-08-11 Qualcomm Incorporated Using Secure Elements to Authenticate Devices in Point-to-Point Communication
CN108989026A (zh) * 2018-07-05 2018-12-11 华东师范大学 一种发布/订阅环境下用户属性可撤销的方法
CN109981641A (zh) * 2019-03-26 2019-07-05 北京邮电大学 一种基于区块链技术的安全发布订阅系统及发布订阅方法
CN110266474A (zh) * 2019-05-15 2019-09-20 亚信科技(成都)有限公司 密钥发送方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160234022A1 (en) * 2015-02-10 2016-08-11 Qualcomm Incorporated Using Secure Elements to Authenticate Devices in Point-to-Point Communication
CN108989026A (zh) * 2018-07-05 2018-12-11 华东师范大学 一种发布/订阅环境下用户属性可撤销的方法
CN109981641A (zh) * 2019-03-26 2019-07-05 北京邮电大学 一种基于区块链技术的安全发布订阅系统及发布订阅方法
CN110266474A (zh) * 2019-05-15 2019-09-20 亚信科技(成都)有限公司 密钥发送方法、装置及系统

Similar Documents

Publication Publication Date Title
US11902445B2 (en) System and method for enabling secure service-based communications via 5G proxies
EP3742696B1 (en) Identity management method, equipment, communication network, and storage medium
US10742422B1 (en) Digital transaction signing for multiple client devices using secured encrypted private keys
KR101508360B1 (ko) 데이터 전송 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
US10084760B2 (en) Secure messages for internet of things devices
EP2954448B1 (en) Provisioning sensitive data into third party network-enabled devices
US7131003B2 (en) Secure instant messaging system
CN113691560B (zh) 数据传送方法、控制数据使用的方法以及密码设备
CN111556025A (zh) 基于加密、解密操作的数据传输方法、系统和计算机设备
CN113497778B (zh) 一种数据的传输方法和装置
WO2020206014A1 (en) Digital rights management authorization token pairing
US11936689B2 (en) Transmission of data or messages on board a vehicle using a SOME/IP communication protocol
CN111092878B (zh) 中间人劫持的测试方法、装置、设备及可读存储介质
CN114142995A (zh) 面向区块链中继通信网络的密钥安全分发方法及装置
CN113194057B (zh) 基于as2的数据接收、发送、交互方法和客户端
Ok et al. SIMSec: A key exchange protocol between SIM card and service provider
CN111884988A (zh) 数据的安全传输方法
CN111092884A (zh) 对业务数据进行发布订阅的方法、装置和计算机设备
CN114143038A (zh) 面向区块链中继通信网络的密钥安全分发方法及装置
EP2890074A1 (en) Method for transmitting push messages
CN111404901A (zh) 信息验证方法及装置
US11843636B1 (en) Methods, mediums, and systems for verifying devices in an encrypted messaging system
CN106921623B (zh) 标识密钥更新方法及系统
CN115102698A (zh) 量子加密的数字签名方法及系统
CN116684169A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200501

RJ01 Rejection of invention patent application after publication