CN111211894A - 一种数据传输方法、装置及*** - Google Patents

一种数据传输方法、装置及*** Download PDF

Info

Publication number
CN111211894A
CN111211894A CN201811390932.6A CN201811390932A CN111211894A CN 111211894 A CN111211894 A CN 111211894A CN 201811390932 A CN201811390932 A CN 201811390932A CN 111211894 A CN111211894 A CN 111211894A
Authority
CN
China
Prior art keywords
random number
gateway
determined
key
digital
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
CN201811390932.6A
Other languages
English (en)
Other versions
CN111211894B (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.)
SF Technology Co Ltd
Original Assignee
SF 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 SF Technology Co Ltd filed Critical SF Technology Co Ltd
Priority to CN201811390932.6A priority Critical patent/CN111211894B/zh
Publication of CN111211894A publication Critical patent/CN111211894A/zh
Application granted granted Critical
Publication of CN111211894B publication Critical patent/CN111211894B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种数据传输方法、装置及***,涉及通信技术,在服务器与网关建立连接后,根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功,再通过协商确定的密钥进行数据传输。由于服务器与网关之间协商密钥的过程是通过双方所生成的至少两个随机数的摘要比对进行的,通过该方式协商的密钥,极难被破解,通过该密钥进行数据传输,可以提高数据传输的安全性。

Description

一种数据传输方法、装置及***
技术领域
本公开一般涉及通信技术,尤其涉及一种数据传输方法、装置及***。
背景技术
在物联网应用场景通常会存在大量的物联网传感器,这些传感器的数据会通过“计算网关”(或叫:计算节点、网关、集中器、集中控制器等)统一收集和处理后传输至应用***(或叫:***、平台、后台、主站、主机服务器等),架构上表现为一个***对应多个计算网关,一个网关对应多个传感器。
目前大部分的计算网关与应用***之间会采用一种基于TCP/IP协议的方法进行传输数据,虽然可以进行双向实时传输数据,但是存在以下问题:
数据包(或叫:数据帧)不做加密处理(只有简单的CRC校验,只能保证数据完整性),数据明文传输容易被窃取和篡改。或者数据包的部分区域有做加密处理,但是秘钥的传输是明文传输,且每个计算网关的秘钥都一样,一旦秘钥的传输被窃取或某个网关的秘钥被破解则所有网关的数据都会被窃取。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种数据传输方法、装置及***,以提高数据传输的安全性。
第一方面,本发明实施例提供一种数据传输方法,包括:
与网关建立连接;
根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;
通过协商确定的密钥进行数据传输。
第二方面,本发明实施例提供一种数据传输方法,包括:
与服务器建立连接;
根据与服务器进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并发送给服务器,由服务器根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;
通过协商确定的密钥进行数据传输。
第三方面,本发明实施例还提供一种数据传输装置,包括:
连接单元,用于与网关建立连接;
确定单元,用于根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;
传输单元,用于通过协商确定的密钥进行数据传输。
第四方面,本发明实施例还提供一种数据传输装置,包括:
连接建立单元,用于与服务器建立连接;
密钥协商单元,用于根据与服务器进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并发送给服务器,由服务器根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;
数据传输单元,用于通过协商确定的密钥进行数据传输。
第五方面,本发明实施例还提供一种数据传输***,包括网关和服务器,其中:
所述服务器,用于与网关建立连接;根据与服务器进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;通过协商确定的密钥进行数据传输;
所述网关,用于与服务器建立连接;根据与服务器进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并发送给服务器,由服务器根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;通过协商确定的密钥进行数据传输。
本发明实施例提供一种数据传输方法、装置及***,在服务器与网关建立连接后,服务器根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功,再通过协商确定的密钥进行数据传输。由于服务器与网关之间协商密钥的过程是通过双方所生成的至少两个随机数的摘要比对进行的,通过该方式协商的密钥,极难被破解,通过该密钥进行数据传输,可以提高数据传输的安全性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明实施例提供的数据传输方法流程图之一;
图2为本发明实施例提供的网关注册或登录流程图;
图3为本发明实施例提供的密钥协商流程图;
图4为本发明实施例提供的数据传输方法流程图之二;
图5和图6为本发明实施例提供的数据传输装置结构示意图;
图7为本发明实施例提供的数据传输***结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参考图1,本发明实施例提供的数据传输方法,包括:
步骤S101、与网关建立连接;
步骤S102、根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;
步骤S103、通过协商确定的密钥进行数据传输。
由于在步骤S102中,服务器与网关之间协商密钥的过程是通过双方所生成的至少两个随机数的摘要比对进行的,通过该方式协商的密钥,极难被破解,通过该密钥进行数据传输,可以提高数据传输的安全性。
本发明实施例中,以三个随机数为例,进行具体说明。
具体的,在步骤S102中,需要进行随机数、算法及数字摘要的交换,服务器与网关可以根据预先约定的计算方法,确定随机数的数字摘要,并在二者相同时,根据预先约定的计算方法,根据随机数确定密钥。
步骤S102,根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功,具体包括:
接收网关发送的协商密钥请求,该协商密钥请求中携带网关生成的随机数R1;
向网关发送应答报文,应答报文中包括选定的对称加密算法、非对称加密算法、摘要算法、随机数R2以及非对称加密算法的公钥P1;
接收网关发送的密钥协商确认请求,该密钥协商确认请求中包括根据随机数R1、随机数R2以及网关生成的随机数R3确定的数字摘要D2,以及用选定的非对称加密算法和公钥P1对随机数R3进行加密得到的E1;
通过私钥P2对E1进行解密确定随机数R3;并根据随机数R1、随机数R2以及解密确定的随机数R3确定数字摘要D4;
当D2与D4相同时,确定对称加密的密钥为随机数R3的数字摘要D3。
随机数的生成通常是由计算机通过代码生成,例如,在某些语言里,可以通过代码“R1=random()”来生成随机数R1,随机数R2、R3同理。
服务器所选定的对称加密算法、非对称加密算法、摘要算法,可以是人为设定的,也可以是服务器随机选定的。
其中,根据随机数R1、随机数R2以及网关生成的随机数R3确定的数字摘要D2,具体为:
将随机数R1、随机数R2以及网关生成的随机数R3相加后的值用选定的数字摘要算法确定的数字摘要D2;
根据随机数R1、随机数R2以及解密确定的随机数R3确定数字摘要D4,具体为:
将随机数R1、随机数R2以及解密确定的随机数R3相加后的值用选定的数字摘要算法确定的数字摘要D4。
进一步,为提高数据传输的安全性,根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功之前,还包括:
确定网关合法且需要进行加密传输数据。
其中,确定网关合法具体包括:
接收网关发送的注册或登录请求,该注册或登录请求中包括网关的序列号;
验证网关的序列号并确定网关合法。
本发明实施例在网关向应用***注册功能之后,加入协商会话秘钥的流程,并在后续报文传输均采用密文进行传输,确保信息传输过程不被窃取和篡改,保证信息安全。
通过上述步骤,即可使得网关注册/登录时,保证服务器不被非法的网关进行访问。
具体的,如图2所示,网关设备在出厂或安装时会设置具有唯一标识的序列号(或IP地址、MAC地址等),并设置好服务器的IP地址(或域名)、端口号;网关向主机服务器发送注册或登录请求,该请求包含网关的序列号;服务器接收到注册或登录请求后,验证该网关的序列号是否合法(通过对比数据库中是否存在该序列号的网关),如果合法则响应成功(并包括后续报文是否采用加密算法的参数,默认为需要采用加密算法,增加该参数是用于部分***不需要进行报文加密的场景),如果非法则断开与网关的网络连接。
如果网关合法则网关会收到服务器的响应,并根据响应中的是否采用加密算法决定是否进入“协商会话秘钥”过程。
协商会话密钥过程即图1中的步骤S102,用于安全地生成后续报文加解密用的会话秘钥(会话秘钥是指网关每次与服务器断开后,重新连接后用重新生成新的秘钥,即每次连接使用的秘钥是不一样的,且每个网关的会话秘钥也是不一样的)。
具体的,如图3所示,协商密钥过程包括:
步骤S301、网关向服务器发送协商秘钥请求,协商秘钥请求中包括:网关支持的对称加密算法列表(例如:DES,3DES,AES,IDEA等)、非对称加密算法列表(RSA,D-H、ECC等)、摘要算法列表(MD5,SHA等)、随机数R1;
步骤S302、服务器收到协商秘钥请求后,选定相应的对称加密算法、非对称加密算法、摘要算法并缓存;缓存随机数R1;
步骤S303、根据服务器MAC地址结合时间戳和随机数生成非对称加密算法的公私P1和私钥P2,并将私钥P2缓存;生成随机数R2并缓存;
步骤S304、生成应答报文发给网关,应答报文中包括:选定的对称加密算法(例如AES)、非对称加密算法(例如RSA)、摘要算法(例如SHA)、非对称加密算法的公钥P1、随机数R2;
步骤S305、网关收到应答报文后,生成随机数R3,缓存指定的对称加密算法,并用选定的数字摘要算法对R3计算出摘要D1作为对称加密算法的秘钥,并缓存D1;
步骤S306、将随机数R1、随机R2、随机数R3相加后的值用选定数字摘要算法计算出数字摘要D2;用指定的非对称加密算法及公钥P1对R3进行加密,得到E1;
步骤S307、向服务器发送秘钥协商确认请求,秘钥协商确认请求中包括:D2、E1;
步骤S308、服务器收到秘钥协商确认请求后,用非对称加密算法的私钥P2对E1进行解密得到随机数R3;用选定的数字摘要算法对R3计算出摘要D3;
步骤S309、将随机数R1、随机R2、随机数R3相加后的值用选定数字摘要算法计算出数字摘要D4;将D2与D4进行对比,如果相同则代表所有数据未被篡改,协商秘钥成功,即对称加密的秘钥为D3;如果不相同则代表协商会话秘钥失败;
步骤S310、生成应答报文发给网关,报文包括:是否协商成功,发送应答报文后,如果是协商会话秘钥失败则断开与网关连接;网关收到应答报文后,如果协商会话秘钥成功则进入正常通信流程,否则断开与服务器连接。
由于网关与服务器的每次连接都采用不同的会话秘钥,极大保障秘钥的安全性;
每次秘钥的生成都采用随机选取多种高强度的不同类型的加密算法组合计算生成,并通过至少两次交互信息(随机数)生成,中间任何一个环节数据被篡改均会导致最终生成秘钥失败。
用来数据加密的对称秘钥是通过双方按约定的规则协商出来的,并不会在实际的链路中传输该密钥,因此密钥的保密性更高。
在进行数据传输时,通讯协议采用自定义的二进制数据格式(一般单次发送的数据叫数据帧或数据包,一个数据帧主要由三部分组成:帧头、消息体和帧尾),帧头和帧尾数据通常长度固定,消息体长度不固定(长度可以为0),帧的特定位置的字节表示不同的含义。因此,编码和解析数据较为繁琐和麻烦(需要对每一帧的逐个字节进行解析),修改困难、不容易扩展。
本发明实施例提供的数据传输方法中,可以通过如表1中所示的帧结构进行数据传输。
表1数据帧格式
Figure BDA0001874021930000081
其中,数据帧中各部分说明如下:
起始符:2字节,固定为:0xAB 0xCD(用户可自行修改为其他值)。
控制码:1字节,代表某一类操作,例如控制、查询、配置等。
命令码:2字节,代表每一类操作的具体命令,例如控制类命令重启、开关机等。
流水号:8个字节,指报文的生成时间(精确到毫秒)或唯一序号,应答报文的流水号与被应答报文的流水号保持一致。
消息体长度:4字节,表示消息体的总长度。
消息体:n字节(n>=0),表示具体的消息内容。
校验码:2字节,采用美标CRC16算法对帧头和消息体所有数据的校验。
结束符:1字节,固定为0xFF(用户可自行修改为其他值)。
消息体格式说明:
消息体数据域表示具体业务数据。本发明实施例中,使用JSON(JavaScriptObject Notation,是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据)与面向对象之间的关系,即JSON和高级编程语言(例如Java、C++、C#、Objective-C等)的对象可以互相转换,业务编程语言只需要将相应的业务数据传输对象DTO(Data Transfer Object)转换成JSON字符串格式,然后再将JSON字符串按UTF-8格式转换成字节数据存入消息体即可。
此时,步骤S103中,通过协商确定的密钥进行数据传输,具体包括:
将待传输的数据转换成面向对象字符串;
将面向对象字符串转换成字节数据存入数据帧的消息体中;
通过协商确定的密钥传输数据帧。
进一步,还可以通过数据帧的控制码和命令码,传输操作命令。
理论上可以支持255x255=65025种操作。
本发明实施例中,建议消息体对应的JSON字符串对应的数据传输对象格式如表2所示。
表2数据传输对象格式
Figure BDA0001874021930000091
这样,消息体的编解码变得更加方便,整个***只需要一个通用的编解码方法即可,对业务来说只需要关注具体的业务逻辑。
通过该数据帧进行数据传输,由于数据帧的各个功能区域规划清晰简单,降低编程的复杂性;用控制码和命令码结合使用的方式,可以对不同的操作分门别类,易于扩展,理论上可以支持255x255=65025种操作,满足所有业务***使用场景;支持面向对象编程,使得开发更加专注业务本身,便于调试,极大提高开发效率(相对于面向字节码编程)。
在实际应用中,可以通过如表3所示的网关与服务器的通信通用功能集,进行相应操作指令的传输,包括控制、查询、配置、主动上传、告警等,从而便于用户快速实现相应的业务功能,缩短开发时间,快速交付产品。
表3网关与服务器的通信通用功能集
Figure BDA0001874021930000101
Figure BDA0001874021930000111
本发明实施例还提供一种数据传输方法,该方法由网关执行,如图4所示,该方法包括:
步骤S401、与服务器建立连接;
步骤S402、根据与服务器进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定至少两个随机数的数字摘要,并发送给服务器,由服务器根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;
步骤S403、通过协商确定的密钥进行数据传输。
进一步,步骤S402中,根据与服务器进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定至少两个随机数的数字摘要,并发送给服务器,由服务器根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功,具体包括:
向服务器发送协商密钥请求,该协商密钥请求中携带自身生成的随机数R1;
接收服务器返回的应答报文,应答报文中包括选定的对称加密算法、非对称加密算法、摘要算法、随机数R2以及非对称加密算法的公钥P1;
向服务器发送密钥协商确认请求,该密钥协商确认请求中包括根据随机数R1、随机数R2以及网关生成的随机数R3确定的数字摘要D2,以及用选定的非对称加密算法和公钥P1对随机数R3进行加密得到的E1,由服务器通过私钥P2对E1进行解密确定随机数R3,并根据随机数R1、随机数R2以及解密确定的随机数R3确定数字摘要D4,并在D2与D4相同时,确定对称加密的密钥为随机数R3的数字摘要D3。
更进一步,根据随机数R1、随机数R2以及网关生成的随机数R3确定的数字摘要D2,具体为:
将随机数R1、随机数R2以及网关生成的随机数R3相加后的值用选定的数字摘要算法确定的数字摘要D2;
根据随机数R1、随机数R2以及解密确定的随机数R3确定数字摘要D4,具体为:
将随机数R1、随机数R2以及解密确定的随机数R3相加后的值用选定的数字摘要算法确定的数字摘要D4。
进一步,步骤S103中,通过协商确定的密钥进行数据传输,具体包括:
将待传输的数据转换成面向对象字符串;
将面向对象字符串转换成字节数据存入数据帧的消息体中;
通过协商确定的密钥传输数据帧。
更进一步,还包括:
通过数据帧的控制码和命令码,传输操作命令。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本发明实施例还相应提供一种数据传输装置,该装置设置在服务器中,如图5所示,该装置包括:
连接单元501,用于与网关建立连接;
确定单元502,用于根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;
传输单元503,用于通过协商确定的密钥进行数据传输。
进一步,确定单元502具体用于:
接收网关发送的协商密钥请求,该协商密钥请求中携带网关生成的随机数R1;
向网关发送应答报文,应答报文中包括选定的对称加密算法、非对称加密算法、摘要算法、随机数R2以及非对称加密算法的公钥P1;
接收网关发送的密钥协商确认请求,该密钥协商确认请求中包括根据随机数R1、随机数R2以及网关生成的随机数R3确定的数字摘要D2,以及用选定的非对称加密算法和公钥P1对随机数R3进行加密得到的E1;
通过私钥P2对E1进行解密确定随机数R3;并根据随机数R1、随机数R2以及解密确定的随机数R3确定数字摘要D4;
当D2与D4相同时,确定对称加密的密钥为随机数R3的数字摘要D3。
进一步,确定单元502还用于:
根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功之前,确定网关合法且需要进行加密传输数据。
更进一步,确定单元502确定网关合法具体包括:
接收网关发送的注册或登录请求,该注册或登录请求中包括网关的序列号;
验证网关的序列号并确定网关合法。
进一步,传输单元503具体用于:
将待传输的数据转换成面向对象字符串;
将面向对象字符串转换成字节数据存入数据帧的消息体中;
通过协商确定的密钥传输数据帧。
更进一步,传输单元503还用于:
通过数据帧的控制码和命令码,传输操作命令。
应当理解,该装置中记载的诸单元或模块与参考图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于该装置及其中包含的单元,在此不再赘述。该装置可以预先实现在电子设备的浏览器或其他安全应用中,也可以通过下载等方式而加载到电子设备的浏览器或其安全应用中。该装置中的相应单元可以与电子设备中的单元相互配合以实现本申请实施例的方案。
本发明实施例还相应提供一种数据传输装置,该装置设置在网关中,如图6所示,该装置包括:
连接建立单元601,用于与服务器建立连接;
密钥协商单元602,用于根据与服务器进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定至少两个随机数的数字摘要,并发送给服务器,由服务器根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;
数据传输单元603,用于通过协商确定的密钥进行数据传输。
进一步,密钥协商单元602具体用于:
向服务器发送协商密钥请求,该协商密钥请求中携带自身生成的随机数R1;
接收服务器返回的应答报文,应答报文中包括选定的对称加密算法、非对称加密算法、摘要算法、随机数R2以及非对称加密算法的公钥P1;
向服务器发送密钥协商确认请求,该密钥协商确认请求中包括根据随机数R1、随机数R2以及网关生成的随机数R3确定的数字摘要D2,以及用选定的非对称加密算法和公钥P1对随机数R3进行加密得到的E1,由服务器通过私钥P2对E1进行解密确定随机数R3,并根据随机数R1、随机数R2以及解密确定的随机数R3确定数字摘要D4,并在D2与D4相同时,确定对称加密的密钥为随机数R3的数字摘要D3。
进一步,数据传输单元603具体用于:
将待传输的数据转换成面向对象字符串;
将面向对象字符串转换成字节数据存入数据帧的消息体中;
通过协商确定的密钥传输数据帧。
更进一步,数据传输单元603还用于:
通过数据帧的控制码和命令码,传输操作命令。
应当理解,该装置中记载的诸单元或模块与参考图4描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于该装置及其中包含的单元,在此不再赘述。该装置可以预先实现在电子设备的浏览器或其他安全应用中,也可以通过下载等方式而加载到电子设备的浏览器或其安全应用中。该装置中的相应单元可以与电子设备中的单元相互配合以实现本申请实施例的方案。
本发明实施例还相应提供一种数据传输***,如图7所示,该***包括网关701和服务器702,其中:
服务器702,用于与网关701建立连接;根据与网关701进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定至少两个随机数的数字摘要,并与网关701根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;通过协商确定的密钥进行数据传输;
网关701,用于与服务器702建立连接;根据与服务器702进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定至少两个随机数的数字摘要,并发送给服务器702,由服务器702根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;通过协商确定的密钥进行数据传输。
特别地,根据本发明的实施例,上文参考流程图1和图4描述的过程可以被实现为计算机软件程序。例如,本发明如图1所示的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括连接单元、确定单元、传输单元。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,连接单元还可以被描述为“用于与网关建立连接的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的数据传输方法。
例如,所述电子设备可以实现如图1中所示的:步骤S101、与网关建立连接;步骤S102、根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;步骤S103、通过协商确定的密钥进行数据传输。又如,所述电子设备可以实现如图3和图4中所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (14)

1.一种数据传输方法,其特征在于,包括:
与网关建立连接;
根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;
通过协商确定的密钥进行数据传输。
2.如权利要求1所述的方法,其特征在于,所述根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功,具体包括:
接收网关发送的协商密钥请求,该协商密钥请求中携带网关生成的随机数R1;
向网关发送应答报文,所述应答报文中包括选定的对称加密算法、非对称加密算法、用于确定数字摘要的摘要算法、随机数R2以及非对称加密算法的公钥P1;
接收网关发送的密钥协商确认请求,其中,该密钥协商确认请求中包括根据随机数R1、随机数R2以及网关生成的随机数R3确定的数字摘要D2,以及用选定的非对称加密算法和公钥P1对随机数R3进行加密得到的E1;
通过私钥P2对E1进行解密确定随机数R3;并根据随机数R1、随机数R2以及解密确定的随机数R3确定数字摘要D4;
当D2与D4相同时,确定对称加密的密钥为随机数R3的数字摘要D3。
3.如权利要求2所述的方法,其特征在于,所述根据随机数R1、随机数R2以及网关生成的随机数R3确定的数字摘要D2,具体为:
将随机数R1、随机数R2以及网关生成的随机数R3相加后的值用选定的数字摘要算法确定的数字摘要D2;
所述根据随机数R1、随机数R2以及解密确定的随机数R3确定数字摘要D4,具体为:
将随机数R1、随机数R2以及解密确定的随机数R3相加后的值用选定的数字摘要算法确定的数字摘要D4。
4.如权利要求1所述的方法,其特征在于,所述根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功之前,还包括:
确定网关合法且需要进行加密传输数据。
5.如权利要求1所述的方法,其特征在于,所述通过协商确定的密钥进行数据传输,具体包括:
将待传输的数据转换成面向对象字符串;
将所述面向对象字符串转换成字节数据存入数据帧的消息体中;
通过协商确定的密钥传输所述数据帧。
6.如权利要求5所述的方法,其特征在于,还包括:
通过所述数据帧的控制码和命令码,传输操作命令。
7.一种数据传输方法,其特征在于,包括:
与服务器建立连接;
根据与服务器进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并发送给服务器,由服务器根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;
通过协商确定的密钥进行数据传输。
8.如权利要求7所述的方法,其特征在于,所述根据与服务器进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并发送给服务器,由服务器根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功,具体包括:
向服务器发送协商密钥请求,该协商密钥请求中携带自身生成的随机数R1;
接收服务器返回的应答报文,所述应答报文中包括选定的对称加密算法、非对称加密算法、用于确定数字摘要的摘要算法、随机数R2以及非对称加密算法的公钥P1;
向服务器发送密钥协商确认请求,该密钥协商确认请求中包括根据随机数R1、随机数R2以及网关生成的随机数R3确定的数字摘要D2,以及用选定的非对称加密算法和公钥P1对随机数R3进行加密得到的E1,由所述服务器通过私钥P2对E1进行解密确定随机数R3,并根据随机数R1、随机数R2以及解密确定的随机数R3确定数字摘要D4,并在D2与D4相同时,确定对称加密的密钥为随机数R3的数字摘要D3。
9.如权利要求8所述的方法,其特征在于,所述根据随机数R1、随机数R2以及网关生成的随机数R3确定的数字摘要D2,具体为:
将随机数R1、随机数R2以及网关生成的随机数R3相加后的值用选定的数字摘要算法确定的数字摘要D2;
所述根据随机数R1、随机数R2以及解密确定的随机数R3确定数字摘要D4,具体为:
将随机数R1、随机数R2以及解密确定的随机数R3相加后的值用选定的数字摘要算法确定的数字摘要D4。
10.如权利要求9所述的方法,其特征在于,所述通过协商确定的密钥进行数据传输,具体包括:
将待传输的数据转换成面向对象字符串;
将所述面向对象字符串转换成字节数据存入数据帧的消息体中;
通过协商确定的密钥传输所述数据帧。
11.如权利要求10所述的方法,其特征在于,还包括:
通过所述数据帧的控制码和命令码,传输操作命令。
12.一种数据传输装置,其特征在于,包括:
连接单元,用于与网关建立连接;
确定单元,用于根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;
传输单元,用于通过协商确定的密钥进行数据传输。
13.一种数据传输装置,其特征在于,包括:
连接建立单元,用于与服务器建立连接;
密钥协商单元,用于根据与服务器进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并发送给服务器,由服务器根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;
数据传输单元,用于通过协商确定的密钥进行数据传输。
14.一种数据传输***,其特征在于,包括网关和服务器,其中:
所述服务器,用于与网关建立连接;根据与网关进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并与网关根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;通过协商确定的密钥进行数据传输;
所述网关,用于与服务器建立连接;根据与服务器进行交互所生成的至少两个随机数及所选择的对称加密及非对称加密算法,确定所述至少两个随机数的数字摘要,并发送给服务器,由服务器根据同样随机数确定的数字摘要进行比对,在二者相同时,确定密钥协商成功;通过协商确定的密钥进行数据传输。
CN201811390932.6A 2018-11-21 2018-11-21 一种数据传输方法、装置及*** Active CN111211894B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811390932.6A CN111211894B (zh) 2018-11-21 2018-11-21 一种数据传输方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811390932.6A CN111211894B (zh) 2018-11-21 2018-11-21 一种数据传输方法、装置及***

Publications (2)

Publication Number Publication Date
CN111211894A true CN111211894A (zh) 2020-05-29
CN111211894B CN111211894B (zh) 2023-04-07

Family

ID=70786412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811390932.6A Active CN111211894B (zh) 2018-11-21 2018-11-21 一种数据传输方法、装置及***

Country Status (1)

Country Link
CN (1) CN111211894B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112054906A (zh) * 2020-08-21 2020-12-08 郑州信大捷安信息技术股份有限公司 一种密钥协商方法及***
CN112422275A (zh) * 2020-10-26 2021-02-26 深圳Tcl新技术有限公司 Uart通信中的秘钥协商方法、***、设备及计算机存储介质
CN113472792A (zh) * 2021-07-01 2021-10-01 北京玩蟹科技有限公司 一种长连接网络通信加密方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799646B1 (en) * 2011-12-23 2014-08-05 Symantec Corporation Methods and systems for authenticating devices
CN104639534A (zh) * 2014-12-30 2015-05-20 北京奇虎科技有限公司 网站安全信息的加载方法和浏览器装置
CN104735068A (zh) * 2015-03-24 2015-06-24 江苏物联网研究发展中心 基于国密的sip安全认证的方法
US20170366524A1 (en) * 2016-06-16 2017-12-21 International Business Machines Corporation Synchronizing secure session keys
CN108809643A (zh) * 2018-07-11 2018-11-13 飞天诚信科技股份有限公司 一种设备与云端协商密钥的方法、***及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799646B1 (en) * 2011-12-23 2014-08-05 Symantec Corporation Methods and systems for authenticating devices
CN104639534A (zh) * 2014-12-30 2015-05-20 北京奇虎科技有限公司 网站安全信息的加载方法和浏览器装置
CN104735068A (zh) * 2015-03-24 2015-06-24 江苏物联网研究发展中心 基于国密的sip安全认证的方法
US20170366524A1 (en) * 2016-06-16 2017-12-21 International Business Machines Corporation Synchronizing secure session keys
CN108809643A (zh) * 2018-07-11 2018-11-13 飞天诚信科技股份有限公司 一种设备与云端协商密钥的方法、***及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
蔡成杭: "支持国产密码算法的OpenSSL设计实现及应用", 《信息安全研究》 *
谭义红主编: "《Java面向对象程序设计案例教程》", 1 August 2017, 北京邮电大学出版社 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112054906A (zh) * 2020-08-21 2020-12-08 郑州信大捷安信息技术股份有限公司 一种密钥协商方法及***
CN112054906B (zh) * 2020-08-21 2022-02-11 郑州信大捷安信息技术股份有限公司 一种密钥协商方法及***
CN112422275A (zh) * 2020-10-26 2021-02-26 深圳Tcl新技术有限公司 Uart通信中的秘钥协商方法、***、设备及计算机存储介质
CN113472792A (zh) * 2021-07-01 2021-10-01 北京玩蟹科技有限公司 一种长连接网络通信加密方法及***
CN113472792B (zh) * 2021-07-01 2023-05-05 北京玩蟹科技有限公司 一种长连接网络通信加密方法及***

Also Published As

Publication number Publication date
CN111211894B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
CN108347331B (zh) 车联网***中T_Box设备与ECU设备进行安全通信的方法与设备
CN104168267B (zh) 一种接入sip安防视频监控***的身份认证方法
US9608963B2 (en) Scalable intermediate network device leveraging SSL session ticket extension
CN111435913B (zh) 一种物联网终端的身份认证方法、装置和存储介质
CN113225352B (zh) 一种数据传输方法、装置、电子设备及存储介质
US11736304B2 (en) Secure authentication of remote equipment
CN111211894B (zh) 一种数据传输方法、装置及***
US20240146725A1 (en) Mutual Secure Communications
CN111756529B (zh) 一种量子会话密钥分发方法及***
HU223910B1 (hu) Eljárás információadat továbbítására küldőtől fogadóhoz átkódolón keresztül, eljárás információadat átkódolására, eljárás átkódolt információadat fogadására, küldő, fogadó és átkódoló
CN112689014B (zh) 一种双全工通信方法、装置、计算机设备和存储介质
CN107517194B (zh) 一种内容分发网络的回源认证方法和装置
CN112073467A (zh) 基于区块链的数据传输方法、装置、存储介质及电子设备
CN109743170A (zh) 一种流媒体登录以及数据传输加密的方法和装置
CN115378660A (zh) 一种数据传输方法、装置、设备及介质
CN115001720B (zh) 联邦学习建模安全传输的优化方法、装置、介质和设备
CN113992734A (zh) 会话连接方法及装置、设备
CN113891107A (zh) 交互式网络电视无线接入的方法、***、设备及存储介质
CN113922976A (zh) 设备日志传输方法、装置、电子设备及存储介质
CN115296934B (zh) 基于工控网络入侵的信息传输方法、装置、电子设备
CN113206837B (zh) 信息传输方法、装置、电子设备和计算机可读介质
CN117596421B (zh) 基于融合终端的视频加密传输方法、装置及***
CN117749771A (zh) 一种基于国产化平台的实时对讲方法
CN113918980A (zh) 一种产品授权管理方法、装置、设备及介质
CN116545673A (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