CN113297599A - 数据传输系统、数据获取方法、终端和存储介质 - Google Patents

数据传输系统、数据获取方法、终端和存储介质 Download PDF

Info

Publication number
CN113297599A
CN113297599A CN202110664382.8A CN202110664382A CN113297599A CN 113297599 A CN113297599 A CN 113297599A CN 202110664382 A CN202110664382 A CN 202110664382A CN 113297599 A CN113297599 A CN 113297599A
Authority
CN
China
Prior art keywords
key
terminal
queue
message
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.)
Granted
Application number
CN202110664382.8A
Other languages
English (en)
Other versions
CN113297599B (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.)
China Electronic Product Reliability and Environmental Testing Research Institute
Original Assignee
China Electronic Product Reliability and Environmental Testing Research Institute
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 Electronic Product Reliability and Environmental Testing Research Institute filed Critical China Electronic Product Reliability and Environmental Testing Research Institute
Priority to CN202110664382.8A priority Critical patent/CN113297599B/zh
Publication of CN113297599A publication Critical patent/CN113297599A/zh
Application granted granted Critical
Publication of CN113297599B publication Critical patent/CN113297599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种数据传输系统、数据获取方法、终端和计算机可读存储介质。其中,数据传输系统,包括:数据中心,用于加密数据,且向消息中间件的各个消息队列传输加密后的数据;多个终端,形成若干终端集合,同一终端集合内的各终端订阅消息中间件的同一消息队列;密钥协商服务器,用于与数据中心进行密钥协商,获取终端集合的共享密钥,且将共享密钥分配至终端集合中的各个终端;数据中心用于加密传输至消息队列的明文的密钥与终端集合内的各终端用于解密该消息队列的密文的密钥均为共享密钥。本申请能够有效解决分布式终端的数据安全实时传输问题。

Description

数据传输系统、数据获取方法、终端和存储介质
技术领域
本申请涉及信息安全技术领域,特别是涉及一种数据传输系统、数据获取方法、终端和存储介质。
背景技术
随着信息化和智能化的高速发展,电力行业逐渐实现的网络化、智能化和集成化。依据“安全分区、网络专用、横向隔离、纵向认证”的总体原则,电力行业整体网络结构原则上划分为生产控制大区和管理信息大区,能够较好地实现了电网控制系统边界防护措施。但是由于电力设备种类多样性、系统复杂性、网络复杂性、系统生命周期长、电力数据种类繁多、终端应用分布式部署等特点,所以,在电力系统中,针对分布式终端,不同类型海量数据的安全实时传输依旧是关键问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够解决电力系统中的分布式终端的数据安全实时传输问题的数据传输系统、数据获取方法、终端和存储介质。
一种数据传输系统,包括:
数据中心,用于加密数据,且向消息中间件的各个消息队列传输加密后的所述数据;
多个终端,形成若干终端集合,同一所述终端集合内的各所述终端订阅消息中间件的同一消息队列;
密钥协商服务器,用于与所述数据中心进行密钥协商,获取所述终端集合的共享密钥,且将所述共享密钥分配至所述终端集合中的各个所述终端;
所述数据中心通过所述共享密钥加密传输至所述消息队列的明文,所述终端集合内的各所述终端通过所述共享密钥解密所述消息队列传输的密文。
在其中一个实施例中,所述数据中心和所述密钥协商服务器通过调用椭圆曲线密钥协商算法进行密钥协商,协商出所述共享密钥。
在其中一个实施例中,所述数据中心使用所述共享密钥作为解密算法Trivium的输入而对将要传输到所述消息队列中的数据进行加密。
一种数据获取方法,包括:
获取订阅的消息队列中的密文,多个终端形成若干终端集合,同一所述终端集合内的各所述终端订阅消息中间件的同一消息队列;
获取组密钥,所述组密钥用于实现同一所述终端集合内的各所述终端与所述密钥协商服务器的信息交互;
通过组密钥获取共享密钥,所述共享密钥通过数据中心与密钥协商服务器协商获取,用于加密传输至所述消息队列的明文,且用于解密该消息队列中的密文;
通过共享密钥,解密所述密文。
在其中一个实施例中,所述获取组密钥,包括:
对所述队列名签名进行解签名,获取订阅的消息队列的队列名;
根据所述队列名,获取所述组密钥。
在其中一个实施例中,所述根据所述队列名,获取所述组密钥的同时,还获取所述组密钥对应的组初始值,
所述通过组密钥获取共享密钥,包括:
根据所述组密钥以及所述组初始值获取第一消息摘要;
根据所述第一消息摘要进行终端验证;
根据所述验证结果,获取所述共享密码。
在其中一个实施例中,所述根据所述第一消息摘要进行终端验证,包括:
利用所述第一消息摘要对签名加密信息进行解密,获取所述共享密钥、所述队列名以及所述共享密钥与所述队列名的联合签名;
利用所述密钥协商服务器的公钥对所述联合签名进行解签名,再次获取共享密钥以及所述队列名;
通过两次获取的所述共享密钥以及所述队列名进行第一验证。
在其中一个实施例中,所述通过两次获取的所述共享密钥以及所述队列名进行第一验证之后,还包括:
如果所述第一验证的验证结果通过,则利用所述共享密钥对所述签名加密信息、所述队列名签名、密钥协商服务器的身份以及订阅所述消息队列的所述终端集合内的所有终端的身份的异或值进行哈希算法计算,获取第二消息摘要;
根据所述第二消息摘要进行第二验证。
一种终端,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述的数据获取方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述的数据获取方法的步骤
上述数据传输系统、数据获取方法、终端和存储介质,通过共享密钥而解决分布式终端的数据安全实时传输问题。并且,密钥协商服务器与数据中心共同协商出的共享密钥能同时实现数据中心与订阅同一消息队列的各个终端的数据加密传输,从而可以使得数据中心不必与每个终均进行一对一的密钥协商,从而有效减少数据中心密钥协商的次数,在一定程度上节省密钥协商部分的通信传输的时间,解决分布式终端消息不同步的延时问题,同时可以减少在该部分的计算量,保证实时性。
附图说明
为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中数据传输系统的示意图;
图2为一个实施例中电力系统基本框架图;
图3为一个实施例中数据获取方法的流程示意图;
图4为一个实施例中数据传输系统的密钥协商与分配过程示意图。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使本申请的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
需要说明的是,当一个元件被认为是“连接”另一个元件时,它可以是直接连接到另一个元件,或者通过居中元件连接另一个元件。此外,以下实施例中的“连接”,如果被连接的对象之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。
在一个实施例中,请参阅图1,提供了一种数据传输系统,包括:数据中心100、多个终端200以及密钥协商服务器300。
数据中心100可以为电网调度控制系统的数据中心。
具体地,请参阅图2,电力系统整体网络结构可以划分为生产控制大区和管理信息大区。生产控制大区可以分为控制区和非控制区。控制区中的业务系统实现对电力系统的实时监控,其数据通信使用电力调度数据网的实时子网进行传输。非控制区中的业务系统在线运行但不具备控制功能,使用电力调度数据网,与控制区中的业务系统或功能模块联系紧密,其数据通信使用电力调度数据网的非实时子网。
无论控制区还是非控制区的数据都要通过电力调度数据网上传到电网调度控制系统。电网调度控制系统根据终端功能的不同,可以分为电网地理信息系统、运行管理系统、生产抢修指挥平台和告警系统等。本申请可以解决控制区数据安全实时的传输问题。
多个终端200形成若干终端集合。同一终端集合内的各终端200订阅消息中间件的同一消息队列。
消息中间件(Message Oriented Middleware,MOM)作为一个中间层软件,可以屏蔽底层操作系统以及网络的异构性,为分布式业务逻辑提供统一的接口支持,实现分布式系统中可靠的、高效的、实时的跨平台数据传输。
在电力系统中,终端200是分布式的。消息中间件的数据传递模型采用一对多的发布/订阅模式。在消息中间件的发布/订阅模型中,一个消息发布者将一条消息发布到服务器上的一个目的地上,这个目的地被称作一个消息队列。可由多个订阅该消息队列的订阅者(终端200)去访问该消息队列。消息队列中的消息将一直存储在消息队列中,直到这个消息队列的所有订阅者(终端200)都取走该消息。
基于消息中间件的发布/订阅模式能够很好地实现针对分布式终端200的跨平台数据传输。
密钥协商服务器300用于与数据中心100进行密钥协商,获取终端集合的共享密钥,且将共享密钥分配至终端集合中的各个终端200。
数据中心100通过共享密钥加密传输至消息队列的明文。终端集合中的各个终端200通过共享密钥解密消息队列中的密文。
本实施例可以通过共享密钥而解决电力系统中的分布式终端的数据安全实时传输问题。并且,密钥协商服务器300与数据中心100共同协商出的共享密钥能同时实现数据中心100与订阅同一消息队列的各个终端200的数据加密传输,从而可以使得数据中心100不必与每个终端200均进行一对一的密钥协商,从而有效减少数据中心100密钥协商的次数,在一定程度上节省密钥协商部分的通信传输的时间,解决分布式终端200消息不同步的延时问题,同时可以减少在该部分的计算量,保证实时性。
在一个实施例中,数据中心100和密钥协商服务器300可以通过调用bouncycastle中的椭圆曲线密钥协商算法(ECDH)进行密钥协商,协商出共享密钥k。
椭圆曲线密钥协商算法(ECDH)可以在密钥更短的情况下达到与Diffie-Hellman密钥协商算法相同的安全级别,从而节省密钥存储空间和传输带宽。
当然,在本申请中,密钥协商所采用的算法并不以此为限制。
在一个实施例中,数据中心100使用共享密钥k作为解密算法Trivium的输入而对将要传输到消息队列中的数据进行加密。此时,订阅了消息队列的终端200使用共享密钥k作为解密算法Trivium的输入,从而解密从消息队列中获取的消息密文,进而得到数据中心发送的数据。
本实施例在数据加密部分,采用序列密码Trivium算法。Trivium算法结构设计简单,易于硬件实现,且该算法的安全程度较高。为了保障方案通信的实时性,对AES算法和Trivium算法的加密性能进行了实验对比,实验证明,序列密码Trivium算法在处理大数量级的数据上比分组密钥更加迅速,具有显著的时间优势。所以采用Trivium算法在一定程度上保障了数据传输的实时性。
在一个实施例中,还提供一种数据获取方法,应用于终端200获取数据。
请参阅图3,该方法包括:
步骤S100,获取订阅的消息队列中的密文,多个终端200形成若干终端集合,同一终端集合内的各终端200订阅消息中间件的同一消息队列。
具体地,数据中心100首先确认数据将要传输到的消息队列的队列名quequei。然后数据中心100通过共享密钥k加密其要发送的明文,并将加密后的密文发送至消息中间件的消息队列中。
之后,订阅该消息队列的各个终端200可以获取其存储的密文。
步骤S200,获取组密钥,组密钥ki用于实现同一终端集合内的各终端200与密钥协商服务器300的信息交互。
这里,获取组密钥ki,即获取终端200所在的终端集合所采用的组密钥。
步骤S300,通过组密钥ki获取共享密钥k,共享密钥k通过数据中心100与密钥协商服务器300协商获取,用于加密传输至消息队列的明文,且用于解密该消息队列中的密文。
终端200通过组密钥ki解密密钥协商服务器300向其发送的密文,从而可以获取密钥协商服务器300与数据中心100协商出的共享密钥k。
步骤S400,通过共享密钥,解密密文。
获取共享密钥k后,终端200可以通过共享密钥k解密其订阅的消息队列中的密文,从而获取数据中心100中的数据。
在本实施例方法中,订阅消息队列的各个终端可以通过组密钥获取共享密钥,通过共享密钥解密数据中心100传输至消息队列中的密文,从而可以实现数据的安全实时传输。
在一个实施例中,步骤S200包括:
步骤S210,对队列名签名进行解签名,获取订阅的消息队列的队列名。
具体地,数据中心100发送数据时,首先确认数据将要传输到的消息队列。然后使用共享密钥k加密消息队列的队列名,并将其发送给密钥协商服务器300。
密钥协商服务器300使用共享密钥k解密,可以获知数据将要传输到的消息队列的队列名。
之后,密钥协商服务器300可以使用自己证书的私钥对队列名进行签名,得到队列名签名,并将队列名签名作为信息的一部分而发送至订阅该消息队列的终端200。
步骤S220,根据队列名,获取组密钥。
终端200获取队列名之后,可以查询以获取队列名所对应的组密钥ki
在一个实施例中,终端200获取队列名之后,还可以同时查询以获取队列名所对应的组密钥ki以及组密钥ki对应的组初始值IVi
此时,步骤S300可以包括:
步骤S310,根据组密钥ki以及组初始值IVi获取第一消息摘要a。
第一消息摘要a可以表示为:
a=hash(ki||IVi)
步骤S320,根据第一消息摘要a要进行终端验证。
通过终端验证,可以有效提高信息传输安全性。
步骤S330,根据验证结果,获取共享密码。
具体地,如果验证结果通过,则证明共享密码信息正确,终端获取该共享密码,以用于进行解密消息队列中的密文。
在本实施例中,获取共享密码后,终端200还可以更新组密钥ki以及组初始值IVi。具体地,可以按照下述方式更新:
组密钥ki←hash(ki),
组初始值IVi←IVi+1。
可以理解的是,此时密钥协商服务器300也相应地更新组密钥ki以及组初始值IVi
此时,可以更加有效保障数据传输的安全性。
在一个实施例中,步骤S320包括:
步骤S321,利用第一消息摘要a对签名加密信息进行解密,获取共享密钥k’、队列名quequei’以及共享密钥与队列名的联合签名
Figure BDA0003116276460000101
具体地,签名加密信息为密钥协商服务器300发送至终端200的信息。相应地,密钥协商服务器300使用共享密钥k解密,得到队列名queuei后,可以获取对应的组密钥ki和组初始值IVi,并据此计算第一消息摘要a=hash(ki||IVi)。
然后,密钥协商服务器300可以使用自己证书的私钥Sserver对队列名queuei签名得到队列名签名
Figure BDA0003116276460000102
然后对在密钥协商阶段产生的共享密钥k和队列名queuei签名得到共享密钥与队列名的联合签名
Figure BDA0003116276460000103
之后,密钥协商服务器300使用在之前计算的a加密
Figure BDA0003116276460000104
和(k||queuei)得到签名加密信息
Figure BDA0003116276460000105
步骤S322,利用密钥协商服务器300的公钥对联合签名
Figure BDA0003116276460000106
Figure BDA0003116276460000107
进行解签名,再次获取共享密钥k以及队列名quequei。
密钥协商服务器300使用自己证书的私钥sserver对在密钥协商阶段产生的共享密钥k和队列名queuei签名得到共享密钥与队列名的联合签名
Figure BDA0003116276460000108
Figure BDA0003116276460000109
因此,本步骤中,终端可以通过密钥协商服务器300的公钥pserver对联合签名
Figure BDA00031162764600001010
进行验证。
步骤S323,通过两次获取的共享密钥以及队列名进行第一验证。
具体地,通过比较k’与k,quequei与quequei’而进行第一验证。
若k′=k且queuei′=queuei,则第一验证成功。若k′≠k或queuei′≠queuei,则第一验证失败。当第一验证失败时,步骤S400丢弃所接收的共享密钥k。
在本实施例中,密钥协商服务器300对应的采用先对共享密钥以及队列名进行联合签名,然后再通过第一消息摘要a加密联合签名、共享密钥以及队列名得到签名加密信息的方式,可以更加有效抵御中间人攻击,防A共享密钥以及队列名被篡改。
在一个实施例中,步骤S323之后,还包括:
步骤S324,如果第一验证的验证结果通过,则利用共享密钥k对签名加密信息
Figure BDA0003116276460000111
队列名签名
Figure BDA0003116276460000112
密钥协商服务器的身份IDs以及订阅消息队列的终端集合内的所有终端的身份的异或值IDu进行哈希算法计算,获取第二消息摘要
Figure BDA0003116276460000113
Figure BDA0003116276460000114
相应地,密钥协商服务器300利用共享密钥k对签名加密信息
Figure BDA0003116276460000115
Figure BDA0003116276460000116
队列名签名
Figure BDA0003116276460000117
密钥协商服务器的身份IDs以及订阅消息队列的终端集合内的所有终端的身份的异或值IDu进行哈希算法计算,获取第二消息摘要
Figure BDA0003116276460000118
Figure BDA0003116276460000119
然后,密钥协商服务器300将第二消息摘要HMACi与签名加密信息c以及队列名签名一起作为消息M,发送至各个终端200。即,各个终端收到的消息M可以表示为:
Figure BDA00031162764600001110
步骤S325,根据第二消息摘要进行第二验证。
具体地,可以根据终端200接收到的密钥协商服务器300发送的第二消息摘要HMACi,与终端200计算的第二消息摘要HMACi′进行比较。
当二者相同时,第二验证成功,步骤S400获取所接收的共享密钥k
当二者不同时,第二验证失败,步骤S400丢弃所接收的共享密钥k。
本实施例方法,通过计算第二消息摘要,进而保障获取消息的终端200可以验证消息的完整性和机密性。
应该理解的是,虽然图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,还提供了一种终端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述任一实施例中的数据获取方法的步骤。
在一个实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中的数据获取方法的步骤。
在一个实施例中,假设有n个(第0个至第n-1个)消息队列,n为正整数,0≤i≤n-1。同时,假设有m个终端,m为正整数,则所有终端的集合可以表示为A=(ID0,ID1,ID2...IDm-1),Ai为集合A的子集即
Figure BDA0003116276460000124
同时,当i≠j时,
Figure BDA0003116276460000121
密钥协商服务器存储消息队列queuei所对应的终端集合
Figure BDA0003116276460000122
Figure BDA0003116276460000123
(其中0≤kj≤m-1),以及消息队列queuei对应的组密钥ki和组初始值IVi
此时,请参阅图4,数据传输系统在传输数据的过程中:
首先,数据中心100和密钥协商服务器200通过调用bouncycastle中的椭圆曲线密钥协商算法(ECDH)进行密钥协商,协商出共享密钥k;
然后,数据中心100首先确认数据将要传输到的消息队列的队列名quequei,然后使用共享密钥k加密队列名quequei,得到Enk(queuei)并将其发送给密钥协商服务器300。于此同时,数据中心100通过共享密钥k加密其要发送的明文,并将加密后的密文发送至消息中间件的消息队列中。
之后,密钥协商服务器300使用共享密钥k解密Enk(queuei)得到queuei,获知数据传输的队列名quequei
密钥协商服务器300在得到队列名queuei后,获取到订阅该消息队列queuei的终端集台
Figure BDA0003116276460000131
(其中0≤kj≤m-1),并计算订阅的所有的终端身份的异或值
Figure BDA0003116276460000132
同时,获取订阅该消息队列queuei的终端集合Ai的组密钥ki和组初始值IVi。之后,密钥协商服务器计算第一消息摘要a=hash(ki||IVi)。
之后,密钥协商服务器300使用自己证书的私钥sserver对队列名queuei签名得到队列名签名
Figure BDA0003116276460000133
然后对在密钥协商阶段产生的共享密钥k和队列名queuei签名得到联合签名
Figure BDA0003116276460000134
之后,密钥协商服务器300使用之前计算的第一消息摘要a加密联合签名
Figure BDA0003116276460000135
共享密钥k和队列名queuei得到签名加密信息
Figure BDA0003116276460000136
Figure BDA0003116276460000137
之后,密钥协商服务器300使用共享密钥k对签名加密信息
Figure BDA0003116276460000138
Figure BDA0003116276460000139
队列名签名
Figure BDA00031162764600001310
密钥协商服务器的身份IDs和订阅消息队列queuei的所有终端的身份的异或值IDu进行HMAC-SHA1算法计算,得到第二消息摘要
Figure BDA00031162764600001311
Figure BDA0003116276460000141
之后,密钥协商服务器300将消息
Figure BDA0003116276460000142
发送给订阅消息队列queuei的各个终端200。
完成上述计算之后,密钥协商服务器300更新组密钥ki←hash(ki)和组初始值IVi←IVi+1。
而订阅消息队列queuei的终端在获取M后,首先对队列名签名
Figure BDA0003116276460000143
进行解签名,获取队列名queuei。然后,查询队列名queuei所对应的组密钥ki和组初始值IVi,并计算第一消息摘要a=hash(ki||IVi)。
然后,使用第一消息摘要a解密签名加密信息c=Ena[k||queuei||
Figure BDA0003116276460000144
导到共享密钥k′i和队列名queue′i。然后,使用密钥协商服务器300的公钥pserver对联合签名
Figure BDA0003116276460000145
进行验证。若k′=k且queuei′=queuei,则验证成功,若k′≠k或queuei′≠queuei,则验证失败。
最后,终端200使用密钥协商服务器300的身份IDs、共享密钥k、签名加密信息
Figure BDA0003116276460000146
和所有订阅消息队列queuei的终端的身份的异或值IDu计算第二消息摘要
Figure BDA0003116276460000147
Figure BDA0003116276460000148
从而进行验证。若HMACi′≠HMACi,则验证失败。若HMACi′=HMACi,则验证成功,此时,终端200通过共享密钥k解密从消息中间件的消息队列获取的密文,从而获取数据中心100的消息。
之后,终端200更新密钥ki←hash(ki),和IVi←IVi+1。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据传输系统,其特征在于,包括:
数据中心,用于加密数据,且向消息中间件的各个消息队列传输加密后的所述数据;
多个终端,形成若干终端集合,同一所述终端集合内的各所述终端订阅消息中间件的同一消息队列;
密钥协商服务器,用于与所述数据中心进行密钥协商,获取所述终端集合的共享密钥,且将所述共享密钥分配至所述终端集合中的各个所述终端;
所述数据中心通过所述共享密钥加密传输至所述消息队列的明文,所述终端集合内的各所述终端通过所述共享密钥解密所述消息队列传输的密文。
2.根据权利要求1所述的数据传输系统,其特征在于,所述数据中心和所述密钥协商服务器通过调用椭圆曲线密钥协商算法进行密钥协商,协商出所述共享密钥。
3.根据权利要求1所述的数据传输系统,其特征在于,所述数据中心使用所述共享密钥作为解密算法Trivium的输入而对将要传输到所述消息队列中的数据进行加密。
4.一种数据获取方法,其特征在于,包括:
获取订阅的消息队列中的密文,多个终端形成若干终端集合,同一所述终端集合内的各所述终端订阅消息中间件的同一消息队列;
获取组密钥,所述组密钥用于实现同一所述终端集合内的各所述终端与所述密钥协商服务器的信息交互;
通过组密钥获取共享密钥,所述共享密钥通过数据中心与密钥协商服务器协商获取,用于加密传输至所述消息队列的明文,且用于解密该消息队列中的密文;
通过共享密钥,解密所述密文。
5.根据权利要求1所述的数据获取方法,其特征在于,所述获取组密钥,包括:
对所述队列名签名进行解签名,获取订阅的消息队列的队列名;
根据所述队列名,获取所述组密钥。
6.根据权利要求5所述的数据获取方法,其特征在于,所述根据所述队列名,获取所述组密钥的同时,还获取所述组密钥对应的组初始值,
所述通过组密钥获取共享密钥,包括:
根据所述组密钥以及所述组初始值获取第一消息摘要;
根据所述第一消息摘要进行终端验证;
根据所述验证结果,获取所述共享密码。
7.根据权利要求6所述的数据获取方法,其特征在于,所述根据所述第一消息摘要进行终端验证,包括:
利用所述第一消息摘要对签名加密信息进行解密,获取所述共享密钥、所述队列名以及所述共享密钥与所述队列名的联合签名;
利用所述密钥协商服务器的公钥对所述联合签名进行解签名,再次获取共享密钥以及所述队列名;
通过两次获取的所述共享密钥以及所述队列名进行第一验证。
8.根据权利要求7所述的数据获取方法,其特征在于,所述通过两次获取的所述共享密钥以及所述队列名进行第一验证之后,还包括:
如果所述第一验证的验证结果通过,则利用所述共享密钥对所述签名加密信息、所述队列名签名、密钥协商服务器的身份以及订阅所述消息队列的所述终端集合内的所有终端的身份的异或值进行哈希算法计算,获取第二消息摘要;
根据所述第二消息摘要进行第二验证。
9.一种终端,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求4至8中任一项所述的数据获取方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求4至8中任一项所述的数据获取方法的步骤。
CN202110664382.8A 2021-06-16 2021-06-16 数据传输系统、数据获取方法、终端和存储介质 Active CN113297599B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110664382.8A CN113297599B (zh) 2021-06-16 2021-06-16 数据传输系统、数据获取方法、终端和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110664382.8A CN113297599B (zh) 2021-06-16 2021-06-16 数据传输系统、数据获取方法、终端和存储介质

Publications (2)

Publication Number Publication Date
CN113297599A true CN113297599A (zh) 2021-08-24
CN113297599B CN113297599B (zh) 2023-11-03

Family

ID=77328344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110664382.8A Active CN113297599B (zh) 2021-06-16 2021-06-16 数据传输系统、数据获取方法、终端和存储介质

Country Status (1)

Country Link
CN (1) CN113297599B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113794560A (zh) * 2021-11-05 2021-12-14 深邦智能科技(青岛)有限公司 一种治超仪表数据传输加密方法及其系统
CN114938312A (zh) * 2022-07-25 2022-08-23 北京中电普华信息技术有限公司 一种数据传输方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340443A (zh) * 2008-08-28 2009-01-07 中国电信股份有限公司 一种通信网络中会话密钥协商方法、系统和服务器
CN101583124A (zh) * 2009-06-10 2009-11-18 大唐微电子技术有限公司 一种用户识别模块与终端进行认证的方法和系统
CN109257173A (zh) * 2018-11-21 2019-01-22 郑州轻工业学院 基于权限信息交换的非对称群组密钥协商方法
CN112383395A (zh) * 2020-12-11 2021-02-19 海光信息技术股份有限公司 密钥协商方法及装置
CN112583590A (zh) * 2020-12-14 2021-03-30 联芸科技(杭州)有限公司 基于群组共享密钥的信息发布方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340443A (zh) * 2008-08-28 2009-01-07 中国电信股份有限公司 一种通信网络中会话密钥协商方法、系统和服务器
CN101583124A (zh) * 2009-06-10 2009-11-18 大唐微电子技术有限公司 一种用户识别模块与终端进行认证的方法和系统
CN109257173A (zh) * 2018-11-21 2019-01-22 郑州轻工业学院 基于权限信息交换的非对称群组密钥协商方法
CN112383395A (zh) * 2020-12-11 2021-02-19 海光信息技术股份有限公司 密钥协商方法及装置
CN112583590A (zh) * 2020-12-14 2021-03-30 联芸科技(杭州)有限公司 基于群组共享密钥的信息发布方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OPC: "《OPC10000-14》", pages: 5 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113794560A (zh) * 2021-11-05 2021-12-14 深邦智能科技(青岛)有限公司 一种治超仪表数据传输加密方法及其系统
CN113794560B (zh) * 2021-11-05 2024-05-10 深邦智能科技集团(青岛)有限公司 一种治超仪表数据传输加密方法及其系统
CN114938312A (zh) * 2022-07-25 2022-08-23 北京中电普华信息技术有限公司 一种数据传输方法和装置
CN114938312B (zh) * 2022-07-25 2022-09-23 北京中电普华信息技术有限公司 一种数据传输方法和装置

Also Published As

Publication number Publication date
CN113297599B (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
CN105812141A (zh) 一种面向外包加密数据的可验证交集运算方法及系统
EP4258593A1 (en) Ota update method and apparatus
Bali et al. Lightweight authentication for MQTT to improve the security of IoT communication
CN113300999B (zh) 信息处理方法、电子设备和可读存储介质
CN113297599B (zh) 数据传输系统、数据获取方法、终端和存储介质
CN107682152B (zh) 一种基于对称密码的群组密钥协商方法
WO2023160420A1 (zh) 群组消息加密方法、装置、设备和存储介质
US10630476B1 (en) Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems
CN110635912B (zh) 数据处理方法及装置
CN105376261A (zh) 一种用于即时通讯消息的加密方法及系统
CN116132043B (zh) 会话密钥协商方法、装置及设备
CN115378587B (zh) 密钥获取方法、装置、设备及可读存储介质
CN111416712B (zh) 基于多个移动设备的量子保密通信身份认证系统及方法
CN112260829A (zh) 混合云下支持移动设备的基于多授权的cp-abe方法
CN114362947B (zh) 一种广域量子密钥服务方法与系统
CN112995215B (zh) 解密系统、方法、装置、电子设备及存储介质
CN112738037B (zh) 一种数据加密通信方法
US10880278B1 (en) Broadcasting in supersingular isogeny-based cryptosystems
CN106487761B (zh) 一种消息传输方法和网络设备
CN116232759A (zh) 一种雾-区块链协助的智能电网聚合认证方法
CN114205077B (zh) 基于Blom密钥分配算法的混合加密安全通信方法
CN112423295B (zh) 一种基于区块链技术的轻量级安全认证方法及系统
CN114785527A (zh) 数据传输方法、装置、设备及存储介质
CN114070570A (zh) 一种电力物联网的安全通信方法
CN113422680B (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