CN111212044B - 一种数据的传输方法、装置和存储介质 - Google Patents

一种数据的传输方法、装置和存储介质 Download PDF

Info

Publication number
CN111212044B
CN111212044B CN201911351542.2A CN201911351542A CN111212044B CN 111212044 B CN111212044 B CN 111212044B CN 201911351542 A CN201911351542 A CN 201911351542A CN 111212044 B CN111212044 B CN 111212044B
Authority
CN
China
Prior art keywords
key
data
function
terminal
ciphertext
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
Application number
CN201911351542.2A
Other languages
English (en)
Other versions
CN111212044A (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.)
Visionvera Information Technology Co Ltd
Original Assignee
Visionvera Information 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 Visionvera Information Technology Co Ltd filed Critical Visionvera Information Technology Co Ltd
Priority to CN201911351542.2A priority Critical patent/CN111212044B/zh
Publication of CN111212044A publication Critical patent/CN111212044A/zh
Application granted granted Critical
Publication of CN111212044B publication Critical patent/CN111212044B/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
    • 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Abstract

本发明实施例提供了一种数据的传输方法、装置和存储介质,其中,所述方法包括:分别获取第一密钥、第二密钥和原始数据;调用第一中间件的第一函数根据第一密钥、第二密钥和原始数据进行加密操作得到加密数据;将加密数据传输至第二终端;其中,第一函数的输入项包含第一密钥的索引信息和第二密钥的版本信息,第一函数的输出项包含加密数据。本发明实施例将原始数据加密后由第一终端传输至第二终端,避免了在第一终端和第二终端之间直接传输明文形式的原始数据,提高了数据传输的安全性。而且,第一终端通过调用第一中间件的第一函数生成加密数据,第一中间件的第一函数中配置了生成加密数据的输入项和输出项,简化了第一终端生成加密数据的步骤。

Description

一种数据的传输方法、装置和存储介质
技术领域
本发明涉及网络安全技术领域,特别是涉及一种数据的传输方法、装置和存储介质。
背景技术
目前,视频会议系统通常强调会议的并发数、视频的清晰度、系统的易用性、系统的稳定性等功能指标。但是,系统的安全性问题却被忽略。
相关技术中,为了保证视频会议的实时性,视频会议系统中的音视频数据通常以明文的形式在会议终端之间传输。但是,明文形式的音视频数据容易被窃取,给视频会议系统造成了极大的安全隐患,音视频数据传输的安全性较低。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据的传输方法、装置和存储介质。
为了解决上述问题,根据本发明实施例的第一方面,公开了一种数据的传输方法,应用于视联网中的第一终端,所述第一终端与所述视联网中的第二终端通信连接,所述方法包括:分别获取第一密钥、第二密钥和原始数据;调用第一中间件的第一函数,根据所述第一密钥、所述第二密钥和所述原始数据进行加密操作得到加密数据;将所述加密数据传输至所述第二终端;其中,所述第一函数的输入项包含所述第一密钥的索引信息和所述第二密钥的版本信息,所述第一函数的输出项包含所述加密数据。
可选地,所述调用第一中间件的第一函数,根据所述第一密钥、所述第二密钥和所述原始数据进行加密操作得到加密数据的步骤,包括:调用所述第一函数,根据所述第一密钥对所述原始数据进行加密操作得到数据密文;调用所述第一函数,根据所述第二密钥对所述第一密钥进行加密操作得到密钥密文;将所述数据密文和所述密钥密文封装为所述加密数据。
可选地,所述第一函数的输入项还包含所述原始数据的类型信息、视联网协议通道号和视联网协议数据包序号,所述第一函数的输出项还包含安全配置指示信息和安全配置信息;所述将所述数据密文和所述密钥密文封装为所述加密数据的步骤,包括:将所述数据密文和所述密钥密文封装为支持视联网协议的所述加密数据的数据包本体;将所述类型信息、所述视联网协议通道号、所述视联网协议数据包序号、所述安全配置指示信息和所述安全配置信息封装进所述加密数据的数据包包头。
可选地,所述分别获取第一密钥、第二密钥的步骤,包括:调用所述第一函数,根据所述索引信息从与所述第一终端通信连接的第一密码设备中获取所述第一密钥;根据所述版本信息从与所述第一终端通信连接的网管服务器获取所述第二密钥。
可选地,所述版本信息包括当前版本和新版本;所述根据所述版本信息从与所述第一终端通信连接的网管服务器获取所述第二密钥的步骤,包括:当所述新版本为空时,根据所述当前版本从所述网管服务器获取所述第二密钥;当所述新版本不为空时,根据所述新版本从所述网管服务器获取所述第二密钥。
根据本发明实施例的第二方面,还公开了一种数据的传输方法,应用于视联网中的第二终端,所述第二终端与所述视联网中的第一终端通信连接,所述方法包括:获取第二密钥并接收来自所述第一终端的加密数据;调用第二中间件的第二函数,根据所述第二密钥和所述加密数据进行解密操作得到原始数据;其中,所述第二函数的输入项包含所述第二密钥的版本信息,所述第二函数的输出项包含所述原始数据。
可选地,所述调用第二中间件的第二函数,根据所述第二密钥和所述加密数据进行解密操作得到原始数据的步骤,包括:调用所述第二函数,从所述加密数据的数据包本体中解析得到密钥密文和数据密文;调用所述第二函数,根据所述第二密钥对所述密钥密文进行解密操作得到第一密钥;调用所述第二函数,根据所述第一密钥对所述数据密文进行解密操作得到所述原始数据。
可选地,所述第二函数的输入项还包含所述原始数据的类型信息、视联网协议通道号、视联网协议数据包序号和安全配置指示信息,所述第二函数的输出项还包含安全配置信息;所述方法还包括:调用所述第二函数,从所述加密数据的数据包包头中解析得到所述原始数据的类型信息、所述视联网协议通道号、所述视联网协议数据包序号、所述安全配置指示信息和所述安全配置指示信息。
可选地,所述获取第二密钥的步骤,包括:根据所述版本信息从与所述第二终端通信连接的网管服务器获取所述第二密钥。
可选地,所述版本信息包括当前版本和新版本;所述根据所述版本信息从与所述第二终端通信连接的网管服务器获取所述第二密钥的步骤,包括:当所述新版本为空时,根据所述当前版本从所述网管服务器获取所述第二密钥;当所述新版本不为空时,根据所述新版本从所述网管服务器获取所述第二密钥。
根据本发明实施例的第三方面,还公开了一种数据的传输装置,应用于视联网中的第一终端,所述第一终端与所述视联网中的第二终端通信连接,所述装置包括:第一获取模块,用于分别获取第一密钥、第二密钥和原始数据;加密模块,用于调用第一中间件的第一函数,根据所述第一密钥、所述第二密钥和所述原始数据进行加密操作得到加密数据;传输模块,用于将所述加密数据传输至所述第二终端;其中,所述第一函数的输入项包含所述第一密钥的索引信息和所述第二密钥的版本信息,所述第一函数的输出项包含所述加密数据。
可选地,所述加密模块,包括:密文加密模块,用于调用所述第一函数,根据所述第一密钥对所述原始数据进行加密操作得到数据密文;调用所述第一函数,根据所述第二密钥对所述第一密钥进行加密操作得到密钥密文;密文封装模块,用于将所述数据密文和所述密钥密文封装为所述加密数据。
可选地,所述第一函数的输入项还包含所述原始数据的类型信息、视联网协议通道号和视联网协议数据包序号,所述第一函数的输出项还包含安全配置指示信息和安全配置信息;所述密文封装模块,用于将所述数据密文和所述密钥密文封装为支持视联网协议的所述加密数据的数据包本体;将所述类型信息、所述视联网协议通道号、所述视联网协议数据包序号、所述安全配置指示信息和所述安全配置信息封装进所述加密数据的数据包包头。
可选地,所述第一获取模块,用于调用所述第一函数,根据所述索引信息从与所述第一终端通信连接的第一密码设备中获取所述第一密钥;根据所述版本信息从与所述第一终端通信连接的网管服务器获取所述第二密钥。
可选地,所述版本信息包括当前版本和新版本;所述第一获取模块,用于当所述新版本为空时,根据所述当前版本从所述网管服务器获取所述第二密钥;当所述新版本不为空时,根据所述新版本从所述网管服务器获取所述第二密钥。
根据本发明实施例的第四方面,还公开了一种数据的传输装置,应用于视联网中的第二终端,所述第二终端与所述视联网中的第一终端通信连接,所述装置包括:第二获取模块,用于获取第二密钥并接收来自所述第一终端的加密数据;解密模块,用于调用第二中间件的第二函数,根据所述第二密钥和所述加密数据进行解密操作得到原始数据;其中,所述第二函数的输入项包含所述第二密钥的版本信息,所述第二函数的输出项包含所述原始数据。
可选地,所述解密模块,包括:解析模块,用于调用所述第二函数,从所述加密数据的数据包本体中解析得到密钥密文和数据密文;密钥解密模块,用于调用所述第二函数,根据所述第二密钥对所述密钥密文进行解密操作得到第一密钥;数据解密模块,用于调用所述第二函数,根据所述第一密钥对所述数据密文进行解密操作得到所述原始数据。
可选地,所述第二函数的输入项还包含所述原始数据的类型信息、视联网协议通道号、视联网协议数据包序号和安全配置指示信息,所述第二函数的输出项还包含安全配置信息;所述解析模块,还用于调用所述第二函数,从所述加密数据的数据包包头中解析得到所述原始数据的类型信息、所述视联网协议通道号、所述视联网协议数据包序号、所述安全配置指示信息和所述安全配置指示信息。
可选地,所述第二获取模块,用于根据所述版本信息从与所述第二终端通信连接的网管服务器获取所述第二密钥。
可选地,所述版本信息包括当前版本和新版本;所述第二获取模块,用于当所述新版本为空时,根据所述当前版本从所述网管服务器获取所述第二密钥;当所述新版本不为空时,根据所述新版本从所述网管服务器获取所述第二密钥。
根据本发明实施例的第五方面,还公开了一种装置,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如第一方面和/或第二方面所述的数据的传输方法。
根据本发明实施例的第六方面,还公开了一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如第一方面和/或第二方面所述的数据的传输方法。
本发明实施例包括以下优点:
本发明实施例提供了一种数据的传输方法,应用于视联网的第一终端中。分别获取第一密钥、第二密钥和原始数据。调用第一中间件的第一函数,根据第一密钥、第二密钥和原始数据加密得到加密数据,进而,将加密数据传输至第二终端。第二终端在接收到加密数据之后,调用第二中间件的第二函数从加密数据中解密得到原始数据。至此,实现了原始数据从第一终端到第二终端的传输过程。
第一方面,本发明实施例将原始数据加密后由第一终端传输至第二终端,避免了在第一终端和第二终端之间直接传输明文形式的原始数据,提高了数据传输的安全性。
第二方面,本发明实施例中的第一终端通过调用第一中间件的第一函数生成加密数据,第一中间件的第一函数中配置了生成加密数据的输入项和输出项,简化了第一终端生成加密数据的步骤。
附图说明
图1是本发明的一终数据传输过程中的流向示意图;
图2是本发明的一种数据的传输方法实施例的步骤流程图;
图3是本发明的另一种数据的传输方法实施例的步骤流程图;
图4是本发明的一种终端间的数据传输方法的设计方案示意图;
图5是本发明的一种基于视联网的音视频数据传输方法实施例的流程示意图;
图6是本发明的一种数据的传输装置实施例的结构框图;
图7是本发明的另一种数据的传输装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例中的第一终端将明文形式的原始数据,利用加密算法加密之后传输至第二终端。第二终端利用解密算法将来自第一终端的数据进行解密之后得到原始数据。至此,实现了原始数据从第一终端传输至第二终端。其中,第一终端可以采用硬件加密的方式对原始数据进行加密,即第一终端利用第一终端之外的硬件电路与第一终端进行通信,以便令第一终端内部的应用程序判断是否执行加密操作。硬件加密的方式与软件加密的方式不同之处在于,硬件加密方式可以将加密所使用的密钥存储至一个硬件电路(如芯片)中,第一终端发送原始数据至芯片,芯片利用密钥对原始数据进行加密,并将加密后的数据返回至第一终端。第一终端内部的应用程序可以判断加密后的数据的合法性,并根据判断结果确定是否继续运行,如是否将加密后的数据进行传输或者存储等。相应地,第二终端也可以采用硬件解密方式对从第一终端接收到的数据进行解密,即第二终端利用第二终端之外的硬件电路与第二终端进行通信,以便令第二终端内部的应用程序判断是否执行解密操作。在解密操作时,第二终端从第一终端接收到加密后的数据,并将加密后的数据发送至存储有密钥的芯片,芯片利用密钥对加密后的数据进行解密得到第一终端的原始数据。
需要说明的是,芯片中可以存储有一个或者多个密钥,芯片中的密钥可以为对称加解密机制的密钥,即加密操作和解密操作采用相同的密钥。
如图1所示,终端A在入网认证之后,终端A的入口程序调用第一中间件访问第一UKey,将明文输入的原始数据和密钥的索引信息发送至第一UKey,第一UKey根据索引信息查询到对应的密钥,并利用查询到的密钥对原始数据进行加密得到加密后的数据。第一UKey将加密后的数据传输至终端A的业务程序。终端A的业务程序将加密后的数据和密钥的索引信息传输至终端B,终端B的入口程序调用第二中间件访问第二UKey,将加密后的数据和密钥的索引信息发送至第二UKey,第二UKey根据索引信息查询到对应的密钥,并利用查询到的密钥对加密后的数据进行解密得到明文输出的原始数据。第二UKey将解密得到的原始数据传输至终端B的业务程序。至此,终端B得到终端的原始数据,原始数据在终端A和终端B之间的传输完成。第一UKey加密所采用的密钥与第二UKey解密所采用的密钥可以为同一个密钥。
参照图2,示出了本发明的一种数据的传输方法实施例的步骤流程图,该方法可以应用于视联网中的第一终端,该第一终端可以与视联网中的第二终端通信连接。该方法具体可以包括如下步骤:
步骤201,分别获取第一密钥、第二密钥和原始数据。
在本发明的实施例中,第一终端可以在进行入网认证之后,分别获取第一密钥、第二密钥和原始数据。其中,第一密钥用于对原始数据进行加密。第二密钥用于对第一密钥进行加密。原始数据可以为音视频数据、文本数据、图片数据等等,本发明实施例对原始数据的类型信息、容量、格式等不做具体限制。
第一终端在获取第一密钥时,可以调用第一中间件的第一函数,从与第一终端通信连接的第一密码设备中获取第一密钥。其中,第一密钥可以由第一终端生成并存储在第一密码设备中,或者,第一密钥可以由第一密码设备生成并存储在第一密码设备中。中间件是介于应用程序和系统程序之间的一类软件,它使用系统程序所提供的基础服务(功能),衔接网络上应用程序的各个部分或不同的应用,能够达到资源共享、功能共享的目的。第一中间件的第一函数中可以预先配置了访问第一密码设备的接口,简化了第一终端的应用程序直接从第一密码设备获取第一密钥的步骤。
第一函数的输入项可以包含第一密钥的索引信息,在本发明的一种优选实施例中,在调用第一中间件的第一函数,从与第一终端通信连接的第一密码设备中获取第一密钥时,可以调用第一中间件的第一函数,根据第一密钥的索引信息从第一密码设备中获取第一密钥。
第一终端在获取第二密钥时,可以在进行入网认证之后,从与第一终端通信连接的网管服务器获取第二密钥。
第一函数的输入项还可以包含第二密钥的版本信息,在本发明的一种优选实施例中,从与第一终端通信连接的网管服务器获取第二密钥时,可以根据第二密钥的版本信息从网管服务器中获取第二密钥。其中,第二密钥的版本信息可以包含当前版本和新版本。当新版本为空时,可以根据当前版本从网管服务器获取第二密钥;当新版本不为空时,可以根据新版本从网管服务器获取第二密钥。
步骤202,调用第一中间件的第一函数,根据第一密钥、第二密钥和原始数据进行加密操作得到加密数据。
在本发明的实施例中,第一中间件的第一函数可以用于对原始数据进行加密操作。第一函数的输入项可以包含第一密钥的索引信息、第二密钥的版本信息等。第一函数的输出项可以包含加密数据等。
在本发明的一种优选实施例中,在调用第一函数根据第一密钥、第二密钥和原始数据进行加密操作时,可以调用第一函数,根据第一密钥对原始数据进行加密操作得到数据密文,并调用第一函数,根据第二密钥对第一密钥进行加密操作得到密钥密文。然后,将数据密文和密钥密文封装为加密数据。无论是根据第一密钥对原始数据进行加密操作,还是根据第二密钥对第一密钥进行加密操作,均可以采用分组加密(如sm4)等对称加密算法进行加密操作。
第一函数的输入项还可以包含原始数据的类型信息、视联网协议通道号和视联网协议数据包序号。其中,原始数据的类型信息主要可以为视频数据类型、音频数据类型和普通数据类型。普通数据类型可以理解为非音视频数据类型。视联网协议通道号为加密数据从第一终端传输至第二终端的通道号。视联网协议数据包序号为加密数据封装为视联网协议数据包之后的数据包序号。第一函数的输出项还可以包含安全配置指示信息和安全配置信息。其中,安全配置指示信息可以表示加密数据中是否包含安全配置信息。安全配置信息可以包含安全交互机制的版本、设备信息等等。
由于第一终端和第二终端有位于视联网中,第一终端与第二终端之间传输的数据需要遵循视联网协议,因此,在将数据密文和密钥密文封装为加密数据时,可以将数据密文和密钥密文封装为支持视联网协议的加密数据的数据包本体,将原始数据的类型信息、视联网协议通道号、视联网协议数据包序号、安全配置指示信息和安全配置信息封装进加密数据的数据包包头。最终,将数据包本体和数据包包头共同作为加密数据。
步骤203,将加密数据传输至第二终端。
在本发明的实施例中,可以按照视联网协议通道号传输加密数据至第二终端。
参照图3,示出了本发明的另一种数据的传输方法实施例的步骤流程图,该方法可以应用于视联网中的第二终端,第二终端可以与视联网中的第一终端通信连接。该方法具体可以包括如下步骤:
步骤301,获取第二密钥并接收来自第一终端的加密数据。
在本发明的实施例中,第二终端可以在入网认证之后,从与第二终端通信连接的网管服务器获取第二密钥。并且,第二终端从视联网协议通道接收到来自第一终端的加密数据。
步骤302,调用第二中间件的第二函数,根据第二密钥和加密数据进行解密操作得到原始数据。
在本发明的实施例中,调用第二函数进行解密操作时,可以先调用第二函数从加密数据的数据包本体中解析得到密钥密文和数据密文。然后根据第二密钥对密钥密文进行解密操作得到第一密钥,再根据第一密钥对数据密文进行解密操作得到原始数据。
第二函数的输入项可以包含第二密钥的版本信息。因此,在获取第二密钥时,可以根据第二密钥的版本信息从网管服务器获取第二密钥。在实际应用中,第二密钥的版本信息可以包括当前版本和新版本,当新版本为空时,可以根据当前版本从网管服务器获取第二密钥;当新版本不为空时,可以根据新版本从网管服务器获取第二密钥。
在本发明的一种优选实施例中,第二函数的输入项还可以包含原始数据的类型信息、视联网协议通道号、视联网协议数据包序号和安全配置指示信息,第二函数的输出项还包含安全配置信息。因此,不仅可以调用第二函数从加密数据的数据包本体中解析得到密钥密文和数据密文,还可以调用第二函数,从加密数据的数据包包头中解析得到原始数据的类型信息、视联网协议通道号、视联网协议数据包序号、安全配置指示信息和安全配置指示信息。
参照图4,示出了本发明的一种终端间的数据传输方法的设计方案示意图。如图4所示,终端A上连接有第一UKey,终端A上的操作系统启动,安装第一UKey的驱动程序。终端A的业务程序初始化,当需要执行数据传输时,终端A的业务程序调用第一中间件,通过第一密码模块调用第一UKey的驱动程序对数据进行加密操作。终端A的业务程序将加密后的数据传输至终端B。相对应地,终端B上连接有第二UKey,终端B上的操作系统启动,安装第二UKey的驱动程序。终端B接收到加密后的数据,终端B的业务程序调用第二中间件,通过第二密码模块调用第二UKey的驱动程序对加密的数据进行解密操作。
参照图5,示出了本发明的一种基于视联网的音视频数据传输方法实施例的流程示意图,数据发送端调用第一中间件的第一函数对音视频数据进行加密操作,并将加密后的音视频数据封装为视联网协议数据包,进而将视联网协议数据包传输至数据接收端。数据接收端调用第二中间件的第二函数对视联网协议数据包进行解密操作得到音视频数据。
其中,第一函数可以为“VVSec_StreamingEncrypt”函数。表1示出了“VVSec_StreamingEncrypt”函数的相关说明。
Figure BDA0002334774330000101
Figure BDA0002334774330000111
Figure BDA0002334774330000121
表1
调用“VVSec_StreamingEncrypt”函数进行音视频数据的加密和传输的执行过程如下:
1.终端在和服务器做了身份认证,确认了合法身份以后,终端的应用程序运行到数据的加密流程;
2.应用程序根据已经打开的密码设备句柄pDevice访问密码设备;
3.密码设备默认prokeyVer为1;
4.密码设备根据newprokeyVer查找对应的密钥版本;
5.密码设备根据type类型确定输入数据是音频流数据还是视频流数据;
6.视联网通道号pipeSn默认为0;
7.应用程序自增packageSn,作为包序号传入密码设备;
8.密码设备对输入数据inData做对称加密运算;
9.密码设备将加密后的数据以outData形式输出;
10.应用程序根据密码设备的输出outData获取加密后的数据,通过视联网发送给对端终端。
需要说明的是,在“VVSec_StreamingEncrypt”函数中,newprokeyVer作为输入项,指在对音视频数据进行加密操作之前,利用newprokeyVer确定新音视频密钥的加密密钥的版本号;newprokeyVer作为输出项,指在对音视频数据进行加密操作之后,newprokeyVer携带在视联网协议数据包之中。
第二函数可以为“VVSec_StreamingDecrypt”函数。表2示出了“VVSec_StreamingDecrypt”函数的相关说明。
Figure BDA0002334774330000131
Figure BDA0002334774330000141
Figure BDA0002334774330000151
表2
调用“VVSec_StreamingDecrypt”函数进行音视频数据的解密的执行过程如下:
1.终端在和服务器做了身份认证,确认了合法身份以后,收到对端终端传输的加密的音视频数据,应用程序运行到数据的解密流程;
2.应用程序根据已经打开的密码设备句柄pDevice访问密码设备;
3.密码设备默认prokeyVer为1;
4.密码设备根据newprokeyVer查找对应的密钥版本;
5.密码设备根据type类型确定加密的数据是音频流数据还是视频流数据;
6.视联网通道号pipeSn默认为0;
7.应用程序自增packageSn,作为包序号传入密码设备;
8.密码设备对输入数据inData做对称解密运算;
9.密码设备将解密后的数据以outData形式输出;
10.应用程序根据密码设备的输出outData获取解密后的数据,得到数据明文。
需要说明的是,在“VVSec_StreamingDecrypt”函数中,newprokeyVer作为输入项,指在对加密的音视频数据进行解密操作之前,利用newprokeyVer确定新音视频密钥的解密密钥的版本号;newprokeyVer作为输出项,指在对加密的音视频数据进行解密操作之后,newprokeyVer与音视频数据一同输出。
本发明实施例提供了一种数据的传输方法,应用于视联网的第一终端中。分别获取第一密钥、第二密钥和原始数据。调用第一中间件的第一函数,根据第一密钥、第二密钥和原始数据加密得到加密数据,进而,将加密数据传输至第二终端。第二终端在接收到加密数据之后,调用第二中间件的第二函数从加密数据中解密得到原始数据。至此,实现了原始数据从第一终端到第二终端的传输过程。
第一方面,本发明实施例将原始数据加密后由第一终端传输至第二终端,避免了在第一终端和第二终端之间直接传输明文形式的原始数据,提高了数据传输的安全性。
第二方面,本发明实施例中的第一终端通过调用第一中间件的第一函数生成加密数据,第一中间件的第一函数中配置了生成加密数据的输入项和输出项,简化了第一终端生成加密数据的步骤。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图6,示出了本发明的一种数据的传输装置实施例的结构框图,该装置可以应用于视联网中的第一终端,所述第一终端与所述视联网中的第二终端通信连接,所述装置具体可以包括如下模块:
第一获取模块61,用于分别获取第一密钥、第二密钥和原始数据;
加密模块62,用于调用第一中间件的第一函数,根据所述第一密钥、所述第二密钥和所述原始数据进行加密操作得到加密数据;
传输模块63,用于将所述加密数据传输至所述第二终端;
其中,所述第一函数的输入项包含所述第一密钥的索引信息和所述第二密钥的版本信息,所述第一函数的输出项包含所述加密数据。
在本发明的一种优选实施例中,所述加密模块62,包括:
密文加密模块,用于调用所述第一函数,根据所述第一密钥对所述原始数据进行加密操作得到数据密文;调用所述第一函数,根据所述第二密钥对所述第一密钥进行加密操作得到密钥密文;
密文封装模块,用于将所述数据密文和所述密钥密文封装为所述加密数据。
在本发明的一种优选实施例中,所述第一函数的输入项还包含所述原始数据的类型信息、视联网协议通道号和视联网协议数据包序号,所述第一函数的输出项还包含安全配置指示信息和安全配置信息;
所述密文封装模块,用于将所述数据密文和所述密钥密文封装为支持视联网协议的所述加密数据的数据包本体;将所述类型信息、所述视联网协议通道号、所述视联网协议数据包序号、所述安全配置指示信息和所述安全配置信息封装进所述加密数据的数据包包头。
在本发明的一种优选实施例中,所述第一获取模块61,用于调用所述第一函数,根据所述索引信息从与所述第一终端通信连接的第一密码设备中获取所述第一密钥;根据所述版本信息从与所述第一终端通信连接的网管服务器获取所述第二密钥。
在本发明的一种优选实施例中,所述版本信息包括当前版本和新版本;
所述第一获取模块61,用于当所述新版本为空时,根据所述当前版本从所述网管服务器获取所述第二密钥;当所述新版本不为空时,根据所述新版本从所述网管服务器获取所述第二密钥。
参照图7,示出了本发明的另一种数据的传输装置实施例的结构框图,该装置可以应用于视联网中的第二终端,所述第二终端与所述视联网中的第一终端通信连接,所述装置具体可以包括如下模块:
第二获取模块71,用于获取第二密钥并接收来自所述第一终端的加密数据;
解密模块72,用于调用第二中间件的第二函数,根据所述第二密钥和所述加密数据进行解密操作得到原始数据;
其中,所述第二函数的输入项包含所述第二密钥的版本信息,所述第二函数的输出项包含所述原始数据。
在本发明的一种优选实施例中,所述解密模块72,包括:
解析模块,用于调用所述第二函数,从所述加密数据的数据包本体中解析得到密钥密文和数据密文;
密钥解密模块,用于调用所述第二函数,根据所述第二密钥对所述密钥密文进行解密操作得到第一密钥;
数据解密模块,用于调用所述第二函数,根据所述第一密钥对所述数据密文进行解密操作得到所述原始数据。
在本发明的一种优选实施例中,所述第二函数的输入项还包含所述原始数据的类型信息、视联网协议通道号、视联网协议数据包序号和安全配置指示信息,所述第二函数的输出项还包含安全配置信息;
所述解析模块,还用于调用所述第二函数,从所述加密数据的数据包包头中解析得到所述原始数据的类型信息、所述视联网协议通道号、所述视联网协议数据包序号、所述安全配置指示信息和所述安全配置指示信息。
在本发明的一种优选实施例中,所述第二获取模块71,用于根据所述版本信息从与所述第二终端通信连接的网管服务器获取所述第二密钥。
在本发明的一种优选实施例中,所述版本信息包括当前版本和新版本;
所述第二获取模块71,用于当所述新版本为空时,根据所述当前版本从所述网管服务器获取所述第二密钥;当所述新版本不为空时,根据所述新版本从所述网管服务器获取所述第二密钥。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据的传输方法、装置和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种数据的传输方法,其特征在于,应用于视联网中的第一终端,所述第一终端与所述视联网中的第二终端通信连接,所述方法包括:
分别获取第一密钥、第二密钥和原始数据;
调用第一中间件的第一函数,根据所述第一密钥、所述第二密钥和所述原始数据进行加密操作得到加密数据;
将所述加密数据传输至所述第二终端;
所述调用第一中间件的第一函数,根据所述第一密钥、所述第二密钥和所述原始数据进行加密操作得到加密数据的步骤,包括:
调用所述第一函数,根据所述第一密钥对所述原始数据进行加密操作得到数据密文;
调用所述第一函数,根据所述第二密钥对所述第一密钥进行加密操作得到密钥密文;
将所述数据密文和所述密钥密文封装为所述加密数据;
其中,所述第一函数的输入项包含所述第一密钥的索引信息和所述第二密钥的版本信息,所述第一函数的输出项包含所述加密数据;
所述第一函数的输入项还包含所述原始数据的类型信息、视联网协议通道号和视联网协议数据包序号,所述第一函数的输出项还包含安全配置指示信息和安全配置信息;
所述将所述数据密文和所述密钥密文封装为所述加密数据的步骤,包括:
将所述数据密文和所述密钥密文封装为支持视联网协议的所述加密数据的数据包本体;
将所述类型信息、所述视联网协议通道号、所述视联网协议数据包序号、所述安全配置指示信息和所述安全配置信息封装进所述加密数据的数据包包头。
2.根据权利要求1所述的方法,其特征在于,所述分别获取第一密钥、第二密钥的步骤,包括:
调用所述第一函数,根据所述索引信息从与所述第一终端通信连接的第一密码设备中获取所述第一密钥;
根据所述版本信息从与所述第一终端通信连接的网管服务器获取所述第二密钥。
3.根据权利要求2所述的方法,其特征在于,所述版本信息包括当前版本和新版本;
所述根据所述版本信息从与所述第一终端通信连接的网管服务器获取所述第二密钥的步骤,包括:
当所述新版本为空时,根据所述当前版本从所述网管服务器获取所述第二密钥;
当所述新版本不为空时,根据所述新版本从所述网管服务器获取所述第二密钥。
4.一种数据的传输方法,其特征在于,应用于视联网中的第二终端,所述第二终端与所述视联网中的第一终端通信连接,所述方法包括:
获取第二密钥并接收来自所述第一终端的加密数据;
调用第二中间件的第二函数,根据所述第二密钥和所述加密数据进行解密操作得到原始数据;
所述调用第二中间件的第二函数,根据所述第二密钥和所述加密数据进行解密操作得到原始数据的步骤,包括:
调用所述第二函数,从所述加密数据的数据包本体中解析得到密钥密文和数据密文;
调用所述第二函数,根据所述第二密钥对所述密钥密文进行解密操作得到第一密钥;
调用所述第二函数,根据所述第一密钥对所述数据密文进行解密操作得到所述原始数据;
其中,所述第二函数的输入项包含所述第二密钥的版本信息,所述第二函数的输出项包含所述原始数据;
所述第二函数的输入项还包含所述原始数据的类型信息、视联网协议通道号、视联网协议数据包序号和安全配置指示信息,所述第二函数的输出项还包含安全配置信息;
所述方法还包括:
调用所述第二函数,从所述加密数据的数据包包头中解析得到所述原始数据的类型信息、所述视联网协议通道号、所述视联网协议数据包序号、所述安全配置指示信息和所述安全配置指示信息。
5.根据权利要求4所述的方法,其特征在于,所述获取第二密钥的步骤,包括:
根据所述版本信息从与所述第二终端通信连接的网管服务器获取所述第二密钥。
6.根据权利要求5所述的方法,其特征在于,所述版本信息包括当前版本和新版本;
所述根据所述版本信息从与所述第二终端通信连接的网管服务器获取所述第二密钥的步骤,包括:
当所述新版本为空时,根据所述当前版本从所述网管服务器获取所述第二密钥;
当所述新版本不为空时,根据所述新版本从所述网管服务器获取所述第二密钥。
7.一种数据的传输装置,其特征在于,应用于视联网中的第一终端,所述第一终端与所述视联网中的第二终端通信连接,所述装置包括:
第一获取模块,用于分别获取第一密钥、第二密钥和原始数据;
加密模块,用于调用第一中间件的第一函数,根据所述第一密钥、所述第二密钥和所述原始数据进行加密操作得到加密数据;
传输模块,用于将所述加密数据传输至所述第二终端;
所述加密模块,包括:
密文加密模块,用于调用所述第一函数,根据所述第一密钥对所述原始数据进行加密操作得到数据密文;调用所述第一函数,根据所述第二密钥对所述第一密钥进行加密操作得到密钥密文;
密文封装模块,用于将所述数据密文和所述密钥密文封装为所述加密数据;
其中,所述第一函数的输入项包含所述第一密钥的索引信息和所述第二密钥的版本信息,所述第一函数的输出项包含所述加密数据;
所述第一函数的输入项还包含所述原始数据的类型信息、视联网协议通道号和视联网协议数据包序号,所述第一函数的输出项还包含安全配置指示信息和安全配置信息;
所述密文封装模块,还用于将所述数据密文和所述密钥密文封装为支持视联网协议的所述加密数据的数据包本体;将所述类型信息、所述视联网协议通道号、所述视联网协议数据包序号、所述安全配置指示信息和所述安全配置信息封装进所述加密数据的数据包包头。
8.一种数据的传输装置,其特征在于,应用于视联网中的第二终端,所述第二终端与所述视联网中的第一终端通信连接,所述装置包括:
第二获取模块,用于获取第二密钥并接收来自所述第一终端的加密数据;
解密模块,用于调用第二中间件的第二函数,根据所述第二密钥和所述加密数据进行解密操作得到原始数据;
所述解密模块,包括:
解析模块,用于调用所述第二函数,从所述加密数据的数据包本体中解析得到密钥密文和数据密文;
密钥解密模块,用于调用所述第二函数,根据所述第二密钥对所述密钥密文进行解密操作得到第一密钥;
数据解密模块,用于调用所述第二函数,根据所述第一密钥对所述数据密文进行解密操作得到所述原始数据;其中,所述第二函数的输入项包含所述第二密钥的版本信息,所述第二函数的输出项包含所述原始数据;
所述第二函数的输入项还包含所述原始数据的类型信息、视联网协议通道号、视联网协议数据包序号和安全配置指示信息,所述第二函数的输出项还包含安全配置信息;
所述解析模块,还用于调用所述第二函数,从所述加密数据的数据包包头中解析得到所述原始数据的类型信息、所述视联网协议通道号、所述视联网协议数据包序号、所述安全配置指示信息和所述安全配置指示信息。
9.一种数据传输装置,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如权利要求1至6中任一项所述的数据的传输方法。
10.一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如权利要求1至6中任一项所述的数据的传输方法。
CN201911351542.2A 2019-12-24 2019-12-24 一种数据的传输方法、装置和存储介质 Active CN111212044B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911351542.2A CN111212044B (zh) 2019-12-24 2019-12-24 一种数据的传输方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911351542.2A CN111212044B (zh) 2019-12-24 2019-12-24 一种数据的传输方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN111212044A CN111212044A (zh) 2020-05-29
CN111212044B true CN111212044B (zh) 2022-11-01

Family

ID=70789324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911351542.2A Active CN111212044B (zh) 2019-12-24 2019-12-24 一种数据的传输方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN111212044B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114938464A (zh) * 2022-05-11 2022-08-23 北京欣博电子科技有限公司 视频加密方法和装置、视频解密方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104283687A (zh) * 2013-07-10 2015-01-14 Ca公司 用于预生成用于电子交易的会话密钥的方法及设备
CN107682141A (zh) * 2017-10-26 2018-02-09 广州市雷军游乐设备有限公司 用于数据传输的数据加密方法和系统
CN108347419A (zh) * 2017-01-24 2018-07-31 腾讯科技(深圳)有限公司 数据传输方法和装置
WO2019237304A1 (zh) * 2018-06-14 2019-12-19 华为技术有限公司 一种密钥处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104283687A (zh) * 2013-07-10 2015-01-14 Ca公司 用于预生成用于电子交易的会话密钥的方法及设备
CN108347419A (zh) * 2017-01-24 2018-07-31 腾讯科技(深圳)有限公司 数据传输方法和装置
CN107682141A (zh) * 2017-10-26 2018-02-09 广州市雷军游乐设备有限公司 用于数据传输的数据加密方法和系统
WO2019237304A1 (zh) * 2018-06-14 2019-12-19 华为技术有限公司 一种密钥处理方法及装置

Also Published As

Publication number Publication date
CN111212044A (zh) 2020-05-29

Similar Documents

Publication Publication Date Title
US8930688B2 (en) Apparatus and method for providing security service of user interface
CN109218825B (zh) 一种视频加密系统
CN109151508B (zh) 一种视频加密方法
CN104580086A (zh) 信息传输方法、客户端、服务器及系统
CN109743170B (zh) 一种流媒体登录以及数据传输加密的方法和装置
CN107666386B (zh) 一种数据安全传输方法及装置
CN105516062B (zh) 一种实现L2TP over IPsec接入的方法
CN112272314B (zh) 一种在视联网中视频的安全传输方法、装置、设备及介质
CN105007254A (zh) 数据传输方法和系统、终端
CN112671705A (zh) 报文的处理方法、装置、电子设备及计算机可读存储介质
WO2008050697A1 (en) Network security processing method and system for selecting one of software and hardware cryptographic modules by means of multimedia session information
EP3242444A1 (en) Service processing method and device
CN113094190B (zh) 微服务调用方法、调用装置、电子设备和存储介质
CN111212044B (zh) 一种数据的传输方法、装置和存储介质
US8739306B2 (en) System and method for accessing private digital content
CN113141333B (zh) 入网设备的通信方法、设备、服务器、系统及存储介质
CN114826627A (zh) 信息传输方法、企业安全网关和系统
CN103685239A (zh) 一种移动产品的实时加解密系统及方法
KR101329789B1 (ko) 모바일 디바이스의 데이터베이스 암호화 방법
WO2016111654A1 (en) Encrypted-bypass webrtc-based voice and/or video communication method
CN104243291A (zh) 一种可保障用户通讯内容安全的即时通讯方法及其系统
CN111431846B (zh) 数据传输的方法、装置和系统
CN114501143A (zh) 一种基于端口选择性加密的视频安全接入方法及系统
CN114039723A (zh) 一种共享密钥的生成方法、装置、电子设备及存储介质
CN112738560A (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