CN116232639B - 数据传输方法、装置、计算机设备和存储介质 - Google Patents

数据传输方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN116232639B
CN116232639B CN202211563695.5A CN202211563695A CN116232639B CN 116232639 B CN116232639 B CN 116232639B CN 202211563695 A CN202211563695 A CN 202211563695A CN 116232639 B CN116232639 B CN 116232639B
Authority
CN
China
Prior art keywords
data
key
terminal
random number
transmission
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
CN202211563695.5A
Other languages
English (en)
Other versions
CN116232639A (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.)
Shenzhen Kedun Quantum Information Technology Co ltd
Original Assignee
Shenzhen Kedun Quantum 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 Shenzhen Kedun Quantum Information Technology Co ltd filed Critical Shenzhen Kedun Quantum Information Technology Co ltd
Priority to CN202211563695.5A priority Critical patent/CN116232639B/zh
Publication of CN116232639A publication Critical patent/CN116232639A/zh
Application granted granted Critical
Publication of CN116232639B publication Critical patent/CN116232639B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本申请涉及一种数据传输方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:当接收终端发送的数据传输请求时,对所述终端进行身份认证,得到身份认证结果;当身份认证结果为认证通过时,生成随机数,并将所述随机数发送给所述终端;获取与所述数据传输请求对应的第一密文数据,并根据第一密钥对所述第一密文数据进行解密,得到第一明文数据;根据第二密钥对所述第一明文数据进行加密,得到第二密文数据;所述第二密钥根据所述随机数和所述终端对应的种子密钥所确定;将所述第二密文数据发送给所述终端。该方法通过传送加密数据,可保证数据传输的安全,防止数据在传输过程中被非法截取。

Description

数据传输方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据传输方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着互联网技术的发展,数字化服务的使用变得更加的方便快捷,也为各类数字化应用的数据共享提供必要条件,但同时也给数据的安全防护带来了许多挑战。其中,数据的安全防护包括数据安全存储和数据安全传输。
目前,传统的数据传输过程中,通常以公钥和私钥构成的密钥对对数据进行加密,通过加密得到的密文进行数据的传输。然而,公钥和私钥构成的密钥对仍然存在被破解的风险,导致数据传输过程中的安全性较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高传输安全性的数据传输方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种数据传输方法。所述方法包括:
当接收终端发送的数据传输请求时,对所述终端进行身份认证,得到身份认证结果;
当身份认证结果为认证通过时,生成随机数,并将所述随机数发送给所述终端;
获取与所述数据传输请求对应的第一密文数据,并根据第一密钥对所述第一密文数据进行解密,得到第一明文数据;
根据第二密钥对所述第一明文数据进行加密,得到第二密文数据;所述第二密钥根据所述随机数和所述终端对应的种子密钥所确定;
将所述第二密文数据发送给所述终端。
在其中一个实施例中,在接收终端发送的数据传输请求之前,所述方法还包括:
接收所述终端发送的初始数据;
当所述初始数据满足预设加密条件时,根据所述第一密钥对所述初始数据进行加密,得到所述第一密文数据。
在其中一个实施例中,在所述根据第一密钥对第一密文数据进行解密,得到第一明文数据之后,所述方法还包括:
根据所述初始数据的第一哈希值与所述第一明文数据的第二哈希值,验证所述第一明文数据的完整性,得到所述第一明文数据的完整性验证结果;
当所述第一明文数据的完整性验证结果为验证通过时,执行所述根据第二密钥对所述第一明文数据进行加密,得到第二密文数据的步骤。
在其中一个实施例中,所述方法还包括:
将所述第一明文数据的第二哈希值发送至终端,以指示所述终端根据所述第二哈希值验证目标数据的完整性,所述目标数据是所述终端根据第二密钥对所述第二密文数据进行解密得到。
在其中一个实施例中,所述种子密钥通过密管平台根据传输保护密钥下发和更新;所述传输保护密钥的获取方式,包括:
当所述密管平台与密码设备之间身份验证通过后,所述密管平台向所述密码设备发送第一随机数,以及接收所述密码设备发送的第二随机数,并根据所述第一随机数和所述第二随机数确定第一传输密钥;
所述密管平台根据与密码设备对目标量子密钥的协商结果,确定第二传输密钥;
所述密管平台根据所述第一传输密钥和所述第二传输密钥,确定所述传输保护密钥。
第二方面,本申请还提供了一种数据传输装置。所述装置包括:
身份认证模块,用于当接收终端发送的数据传输请求时,对所述终端进行身份认证,得到身份认证结果;
随机数生成模块,用于当身份认证结果为认证通过时,生成随机数,并将所述随机数发送给所述终端;
第一密钥模块,用于获取与所述数据传输请求对应的第一密文数据,并根据第一密钥对所述第一密文数据进行解密,得到第一明文数据;
第二密钥模块,用于根据第二密钥对所述第一明文数据进行加密,得到第二密文数据;所述第二密钥根据所述随机数和所述终端对应的种子密钥所确定;
数据发送模块,用于将所述第二密文数据发送给终端。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述数据传输方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据传输方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据传输方法的步骤。
上述数据传输方法、装置、计算机设备、存储介质和计算机程序产品,通过当接收终端发送的数据传输请求时,对终端进行身份认证,得到身份认证结果;当身份认证结果为认证通过时,生成随机数,并将随机数发送给终端,获取与数据传输请求对应的第一密文数据,并根据第一密钥对第一密文数据进行解密得到第一明文数据;根据第二密钥对第一明文数据进行加密,得到第二密文数据,其中第二密钥是根据随机数和终端对应的种子密钥确定的,然后将第二密文数据发送给终端。本申请针对不同的终端或者不同的数据传输请求,可产生不同的第二密钥,从而在很大程度上增强第二密钥的安全性,同时通过将第二密文数据发送给发起数据传输请求的终端,即服务器直接传送给终端的是加密性较高的数据,可保证数据传输的安全,防止数据在传输过程中发生泄露。
第六方面,本申请提供了一种数据传输方法,应用于终端,所述方法包括:
向服务器发送数据传输请求;
接收所述服务器发送的随机数;所述随机数是所述服务器接收到终端发送的数据传输请求时对所述终端进行身份认证,当身份认证结果为认证通过时生成的;
接收服务器发送的第二密文数据;所述第二密文数据是由所述服务器根据第一密钥对第一密文数据进行解密,得到第一明文数据,并根据第二密钥对所述第一明文数据加密得到,其中,第一密文数据与所述数据传输请求相对应;所述第二密钥根据所述随机数和所述终端对应的种子密钥所确定。
在其中一个实施例中,所述种子密钥通过密管平台根据传输保护密钥下发和更新;所述传输保护密钥的获取方式,包括:
当所述密管平台与密码设备之间身份验证通过后,所述密管平台向所述密码设备发送第一随机数,以及接收所述密码设备发送的第二随机数,并根据所述第一随机数和所述第二随机数确定第一传输密钥;
所述密管平台根据与密码设备对目标量子密钥的协商结果,确定第二传输密钥;
所述密管平台根据所述第一传输密钥和所述第二传输密钥,确定所述传输保护密钥。
第七方面,本申请还提供了一种数据传输装置,应用于终端。所述装置包括:
传输请求模块,用于向服务器发送数据传输请求;
第一接收模块,用于接收所述服务器发送的随机数;所述随机数是所述服务器接收到终端发送的数据传输请求时对所述终端进行身份认证,当身份认证结果为认证通过时生成的;
第二接收模块,用于接收服务器发送的第二密文数据;所述第二密文数据是由所述服务器根据第一密钥对第一密文数据进行解密,得到第一明文数据,并根据第二密钥对所述第一明文数据加密得到,其中,第一密文数据与所述数据传输请求相对应;所述第二密钥根据所述随机数和所述终端对应的种子密钥所确定。
第八方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述数据传输方法的步骤。
第九方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据传输方法的步骤。
第十方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据传输方法的步骤。
上述数据传输方法、装置、计算机设备、存储介质和计算机程序产品,终端向服务器发送数据传输请求,接收服务器发送的随机数,该随机数是服务器接收到终端发送的数据传输请求时对终端进行身份认证,当身份认证结果为认证通过时生成的;接收服务器发送的第二密文数据,该第二密文数据是由服务器根据第一密钥对第一密文数据进行解密,得到第一明文数据,并根据第二密钥对第一明文数据加密得到,其中,第一密文数据与数据传输请求相对应;第二密钥根据随机数和终端对应的种子密钥所确定。本申请中,终端可以根据接收到的随机数和自身的种子密钥确定第二密钥,第二密钥的安全性较高,通过第二密钥对接收到的第二密文数据进行解密即可得到相应的明文数据,避免进行密钥的传输,从而较大程度上降低了密钥泄露的风险。另外,终端根据数据传输请求接收到的是第二密文数据,避免了传输明文数据导致数据泄露的风险。
附图说明
图1为一个实施例中数据传输方法的应用环境图;
图2为一个实施例中数据传输方法的流程示意图;
图3为一个实施例中传输保护密钥的确定流程示意图;
图4为另一个实施例中数据传输方法的流程示意图;
图5为另一个实施例中数据传输方法的应用环境图;
图6为另一个实施例中数据传输方法的流程示意图;
图7为一个实施例中数据传输装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据传输方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储***可以存储服务器104需要处理的数据。数据存储***可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102向服务器104发送数据传输请求,服务器104在接收到终端102发送的数据传输请求时,对终端102进行身份认证,得到身份认证结果,当身份认证结果为通过时,生成随机数,并将随机数发送给终端102;服务器104获取与数据传输请求对应的第一密文数据,并根据第一密钥对第一密文数据进行解密,得到第一明文数据;根据第二密钥对第一明文数据进行加密,得到第二密文数据,其中,第二密钥根据随机数和终端对应的种子密钥所确定;服务器104将第二密文数据发送给终端102,终端102接收到服务器发送的第二密文数据。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据传输方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤202至步骤210。
步骤202,当接收终端发送的数据传输请求时,对终端进行身份认证,得到身份认证结果。
当服务器接收到终端发送的数据传输请求时,对终端进行身份认证,得到身份认证结果。数据传输请求由终端发起,用于向服务器请求相应的数据,例如从服务器请求获取交易数据或者通信数据等。
可选地,当服务器接收到终端发送的数据传输请求时,服务器可以通过口令验证、数字证书认证、随机数认证或者量子密钥认证等中的至少一种身份认证方式,对终端进行身份认证,得到身份认证结果。其中,身份认证结果可以包括认证通过和认证不通过。
步骤204,当身份认证结果为认证通过时,生成随机数,并将随机数发送给终端。
其中,随机数可以是任意数、量子随机数或随机标识等。例如,随机数为通过随机算法生成的随机数或者随机标识,或者是通过量子随机数发生器生成的量子随机数。
可选地,当对终端的身份认证结果为认证通过时,服务器可以通过随机数发生器生成随机数,并将生成的随机数发送给终端。针对不同终端发送的不同的数据传输请求,生成的随机数不同。
传统的随机数发生器,主要依靠计算机软件模拟产生伪随机数,或从某些经典物理噪声(如热噪声、电噪声等)中提取随机数。然而经典物理过程在掌握所有变量的情况下是可以被模拟的,只有某些量子物理过程所产生的随机性是完全真随机的,比如量子态的坍缩过程。采用量子随机数发生器生成的量子随机数是基于量子物理过程产生的随机数,其随机性、不可预测性、不可复制性更高。量子随机数的随机性来源更加清晰,并可采用物理熵理论严格证明其随机性,具有更高的安全性。
步骤206,获取与数据传输请求对应的第一密文数据,并根据第一密钥对第一密文数据进行解密,得到第一明文数据。
服务器获取与数据传输请求对应的第一密文数据,并通过密码机根据第一密钥对第一密文数据进行解密,得到第一明文数据。其中,第一密钥可以是量子密钥,可以由第一密钥对初始数据加密得到第一密文数据。可选地,目前有些信息***采用软件加密的方式,采用的加密算法也是国际通用的密码算法,存在安全风险,本实施例中可以将加密和解密等密码运算使用匹配的硬件密码卡或密码芯片来实现,相应的密钥除了在更新时,其他过程都被保存在密码卡或密码芯片中,密码机还具有防电磁辐射的功能。
量子密钥利用量子力学的特性来实施加密任务。传统的公开密钥加密,一般称为有条件的安全,而量子密钥加密可以做到无条件的安全。量子密钥之所以可靠,主要是由量子力学的基本特性决定的,最重要的是海森堡测不准原理,即量子力学中对任意一个未知的量子进行完全相同的复制的过程是不可实现的,因为复制的前提是测量,而测量一般会改变该量子的状态。
步骤208,根据第二密钥对第一明文数据进行加密,得到第二密文数据;其中,第二密钥根据随机数和终端对应的种子密钥所确定。
可选地,服务器通过密码机根据第二密钥对第一明文数据进行加密,得到第二密文数据,其中,第二密钥根据随机数和终端对应的种子密钥所确定。可选地,加密算法可以使用SM3或者SM4等国密算法。
示例性地,服务器在接收到终端发送的数据传输请求时,对终端进行身份认证,当身份认证结果为认证通过时,产生随机数并将随机数进行存储,进一步根据随机数和终端的种子密钥确定第二密钥,服务器根据第二密钥对第一明文数据进行加密,得到第二密文数据。终端的种子密钥是由密管平台下发至终端并定期更新的,同时通过身份认证的终端与对应种子密钥的对应关系也存储在服务器,例如可以存储在服务器的数据库或者存储介质中,不同的终端对应的种子密钥不同。
可选地,可以将随机数和终端对应的种子密钥进行异或计算后,得到第二密钥;或者,可以将随机数和终端对应的种子密钥进行拼接作为第二密钥,或者是拼接结果的哈希值作为第二密钥等。
步骤210,将第二密文数据发送给终端。
服务器将第二密文数据发送给终端。可选地,服务器可以直接通过网络将第二密文数据发送给终端,也可以通过传输保护密钥将第二密文数据发送给终端,其中,传输保护密钥用于对所发送的数据在传输过程中进行保护,避免所传输的数据被拦截或者破译后盗取。
上述数据传输方法中,当接收终端发送的数据传输请求时,对终端进行身份认证,得到身份认证结果;当身份认证结果为认证通过时,生成随机数,并将随机数发送给终端,获取与数据传输请求对应的第一密文数据,并根据第一密钥对第一密文数据进行解密得到第一明文数据;根据第二密钥对第一明文数据进行加密,得到第二密文数据,其中第二密钥是根据随机数和终端对应的种子密钥确定的,然后将第二密文数据发送给终端。该方法针对不同的终端或者不同的数据传输请求,可产生不同的第二密钥,从而在很大程度上增强第二密钥的安全性,同时将根据第二密钥加密得到的第二密文数据发送给发起数据传输请求的终端,即服务器向终端发送的是加密数据,可保证数据传输的安全,防止数据在传输过程中发生泄露。
在一个实施例中,在接收终端发送的数据传输请求之前,方法还包括:
接收终端发送的初始数据;当初始数据满足预设加密条件时,根据第一密钥对初始数据进行加密,得到第一密文数据。
可选地,当有初始数据需要加密进行存储时,从终端录入初始数据,终端将初始数据发送给服务器,服务器接收到终端发送的初始数据时,对初始数据的类别及相应安全等级进行识别,当满足预设加密条件时,例如,初始数据的类别满足预设加密条件中的预设加密类别以及安全等级达到预设加密条件中的预设加密等级时,通过密码机根据第一密钥对初始数据进行加密,得到第一密文数据,并将第一密文数据进行存储。
本实施例中,当初始数据满足预设加密条件时,根据第一密钥对初始数据进行加密,得到第一密文数据,即筛选满足预设加密条件的数据进行加密和存储,可减少对服务器资源的占用率,同时,还可以确保存储数据的安全性。
在一个实施例中,在根据第一密钥对第一密文数据进行解密,得到第一明文数据之后,方法还包括:
根据初始数据的第一哈希值与第一明文数据的第二哈希值,验证第一明文数据的完整性,得到第一明文数据的完整性验证结果;当第一明文数据的完整性验证结果为验证通过时,执行根据第二密钥对第一明文数据进行加密,得到第二密文数据的步骤。
本实施例中,根据第一密钥对第一密文数据进行解密,得到第一明文数据,获取初始数据的第一哈希值,计算第一明文数据的第二哈希值,当第一哈希值与第二哈希值相同时,说明第一明文数据与初始数据相同,即第一明文数据是完整的,第一明文数据的完整性验证结果为验证通过;反之,当第一哈希值与第二哈希值不同时,说明第一明文数据与初始数据不同,即第一明文数据是不完整的,可能遭到破坏,第一明文数据的完整性验证结果为验证不通过。当第一明文数据的完整性验证结果为验证通过时,根据第二密钥对第一明文数据进行加密,得到第二密文数据。可选地,可以是服务器在获取初始数据时,计算初始数据的第一哈希值,并将第一哈希值进行存储;也可以是将初始数据进行复制保存,直接计算所保存的初始数据的第一哈希值,从而获取第一哈希值。
本实施例中,在得到第一明文数据之后,根据初始数据的第一哈希值和第一明文数据的第二哈希值对第一明文数据的完整性进行验证,确保第一明文数据完整后再执行根据第二密钥对第一明文数据进行加密得到第二密文数据的步骤,从而提升第二密文数据的传输质量。
在一个实施例中,数据传输方法还包括:将第一明文数据的第二哈希值发送至终端,以指示终端根据第二哈希值验证目标数据的完整性,其中,目标数据是终端根据第二密钥对第二密文数据进行解密得到。
服务器将第一明文数据的第二哈希值发送至终端,终端可以计算目标数据的哈希值,通过比较目标数据的哈希值与第二哈希值是否相同,以验证目标数据是否完整。当目标数据的哈希值与第二哈希值相同时,说明目标数据是完整的,否则,当目标数据的哈希值与第二哈希值不同时,说明目标数据并不完整。
本实施例中,服务器在得到第一明文数据之后,计算第一明文数据的第二哈希值,并将第二哈希值发送至终端,可使得终端根据第二哈希值验证目标数据的完整性。在第一明文数据完整的前提下,终端接收到第二密文数据后,根据第二密钥对第二密文数据进行解密,得到目标数据,从而根据第一明文数据验证目标数据的完整性,保证终端获取的目标数据与数据传输请求相符,即确保目标数据的准确性。
在一个实施例中,如图3所示,种子密钥通过密管平台根据传输保护密钥下发和更新;传输保护密钥的获取方式,包括以下步骤302至步骤306。
步骤302,当密管平台与密码设备之间身份验证通过后,密管平台向密码设备发送第一随机数,以及接收密码设备发送的第二随机数,并根据第一随机数和第二随机数确定第一传输密钥。
本实施例中,密码设备是指通过密码对信息实施加解密处理和认证的专用设备,例如可以是密码机、Ukey等。密管平台是指对密码设备进行控制和管理的平台。密管平台可与多个密码设备进行通信连接。种子密钥可以由密管平台根据传输保护密钥下发至密码设备,并根据预设条件进行更新,例如周期性进行更新,或者接收到更新请求时进行更新等。传输保护密钥用于对密管平台与密码设备之间所传输的密钥等进行加密保护。
可选地,密管平台与密码设备之间进行双向身份验证,例如通过相互交换签发证书的方式进行验证,当身份验证通过后,可以根据《GM/T0050-2016密码设备管理设备管理技术规范》,密管平台向密码设备发送第一随机数,密码设备向密管平台发送第二随机数,从而根据第一随机数和第二随机数确定第一传输密钥,例如将第一随机数与第二随机数进行异或运算后,得到的异或结果作为第一传输密钥。
步骤304,密管平台根据与密码设备对目标量子密钥的协商结果,确定第二传输密钥。
量子密钥表,可以是在密管平台和密码设备之间进行身份验证之前,通过密管平台在线或离线的方式分发到密码设备,量子密钥表中包括多组量子密钥。可选地,密管平台与密码设备通过在线或离线的协商方式,从量子密钥表中共同确定一个量子密钥作为目标量子密钥,作为第二传输密钥。
步骤306,密管平台根据第一传输密钥和第二传输密钥,确定传输保护密钥。
可选地,密管平台将第一传输密钥和第二传输密钥的异或运算结果,作为传输保护密钥。或者,密管平台可以将第一传输密钥和第二传输密钥的拼接结果,作为传输保护密钥。密管平台可以通过传输保护密钥将种子密钥下发至密码设备。示例性地,密码设备包括终端的Ukey和密码机,密管平台可以通过传输保护密钥将种子密钥发送至终端的Ukey和密码机中,因此,终端可以从Ukey中获取种子密钥,服务器可以从密码机中获取种子密钥。
本实施例中,通过在第一传输密钥的基础上,根据密管平台和密码设备之间对目标量子密钥的协商结果确定第二传输密钥,再根据第一传输密钥和第二传输密钥确定最终的传输保护密钥;不同的密码设备与密管平台之间的协商结果不同,确定的第二传输密钥也就不同,从而大大增强了传输保护密钥的安全性,同时也增强了密管平台与密码设备之间的传输通道的安全性。
在一个实施例中,如图4所示,提供了一种数据传输方法,应用于终端,该方法包括以下步骤402至步骤406。
步骤402,向服务器发送数据传输请求。
终端向服务器发送数据传输请求。其中,数据传输请求用于获取对应的目标数据。
步骤404,接收服务器发送的随机数;其中,随机数是服务器接收到终端发送的数据传输请求时对终端进行身份认证,当身份认证结果为认证通过时生成的。
终端接收到服务器发送的随机数,其中,随机数是服务器接收到终端发送的数据传输请求时对终端进行身份认证,当身份认证结果为认证通过时生成的。具体地,服务器可以通过随机数发生器生成随机数。
步骤406,接收服务器发送的第二密文数据;其中,第二密文数据是由服务器根据第一密钥对第一密文数据进行解密,得到第一明文数据,并根据第二密钥对第一明文数据加密得到,第一密文数据与数据传输请求相对应;第二密钥根据随机数和终端对应的种子密钥所确定。
可选地,终端接收服务器发送的第二密文数据。其中,第二密文数据是由服务器根据第一密钥对与数据传输请求相对应的第一密文数据进行解密,得到第一明文数据,并通过密码机根据第二密钥对第一明文数据加密得到;第二密钥根据随机数和终端对应的种子密钥所确定。
可选地,终端根据接收到的随机数和自身种子密钥得到第二密钥,并根据第二密钥对第二密文数据进行解密,得到目标数据,其中,目标数据为明文数据。
可选地,终端接收服务器发送的第一明文数据对应的第二哈希值,并根据第二哈希值对目标数据的完整性进行校验。具体地,通过计算目标数据的哈希值,若目标数据的哈希值与第二哈希值相同,说明目标数据是完整的;反之,则说明目标数据不完整。
上述数据传输方法,终端向服务器发送数据传输请求,接收服务器发送的随机数,该随机数是服务器接收到终端发送的数据传输请求时对终端进行身份认证,当身份认证结果为认证通过时生成的;接收服务器发送的第二密文数据,该第二密文数据是由服务器根据第一密钥对第一密文数据进行解密,得到第一明文数据,并根据第二密钥对第一明文数据加密得到,其中,第一密文数据与数据传输请求相对应;第二密钥根据随机数和终端对应的种子密钥所确定。该方法中,终端可以根据接收到的随机数和自身的种子密钥确定第二密钥,第二密钥的安全性较高,通过第二密钥对接收到的第二密文数据进行解密即可得到相应的明文数据,避免进行密钥的传输,从而较大程度上降低了密钥泄露的风险。另外,终端根据数据传输请求接收到的是第二密文数据,避免了传输明文数据导致数据泄露的风险。
在一个实施例中,种子密钥通过密管平台根据传输保护密钥下发和更新;传输保护密钥的获取方式,包括:
当密管平台与密码设备之间身份验证通过后,密管平台向密码设备发送第一随机数,以及接收密码设备发送的第二随机数,并根据第一随机数和第二随机数确定第一传输密钥;密管平台根据与密码设备对目标量子密钥的协商结果,确定第二传输密钥;密管平台根据第一传输密钥和第二传输密钥,确定传输保护密钥。
本实施例中关于术语的解释以及相应说明可参见上述图3所示实施例中的说明,在此不再赘述。
在一个示例中,如图5所示,提供了一种档案馆数据传输的应用场景,该应用场景应用上述数据传输方法。档案管理服务器和终端可以进行通信,档案管理服务器可向终端传输区域档案数据。档案管理服务器可以包括密管平台、密码机模块、量子密钥充注模块、量子随机数发生模块等;终端包括Ukey模块。其中,密码机模块可以为档案管理服务器提供密码服务,以实现服务器对存储的档案数据进行加密。密管平台包括支持密码设备的证书签发服务、密码设备在线管理服务、量子密钥生产及量子密钥管理等功能服务。密管平台连接密码机模块,可以为密码机模块提供密码设备管理和量子密钥更新;密管平台还连接密钥充注模块,提供Ukey的量子密钥更新;密管平台还连接量子随机数发生模块,获取量子随机数;密管平台还连接量子密钥管理工具集,提供量子密钥管理、设备管理初始化等。
在一个实施例中,如图6所示,数据传输方法包括以下步骤602至步骤622。
步骤602,终端向服务器发起数据传输请求。
步骤604,服务器接收数据传输请求,对终端进行身份认证,得到身份认证结果。
步骤606,当身份认证结果为认证通过时,服务器生成随机数,并将随机数发送给终端。
步骤608,终端接收服务器发送的随机数。
步骤610,服务器获取与数据传输请求对应的第一密文数据,根据第一密钥对第一密文数据进行解密,得到第一明文数据;其中,第一密钥对初始数据进行加密得到第一密文数据。
步骤612,服务器根据初始数据的第一哈希值与第一明文数据的第二哈希值,验证第一明文数据的完整性,得到第一明文数据的完整性验证结果。
步骤614,当第一明文数据的完整性验证结果为验证通过时,服务器根据第二密钥对第一明文数据进行加密,得到第二密文数据;第二密钥根据随机数和终端的种子密钥确定。
步骤616,服务器将第二密文数据以及第一明文数据的第二哈希值发送给终端。
步骤618,终端接收服务器发送的第二密文数据以及第二哈希值。
步骤620,终端根据第二密钥对第二密文数据进行解密,得到目标数据,其中,第二密钥是终端根据服务器发送的随机数和种子密钥所确定。
步骤622,终端根据目标数据的哈希值与第一明文数据的哈希值,验证目标数据的完整性。
上述数据传输方法,通过随机数和量子密钥确定第二密钥,针对不同终端或者不同的数据传输请求对应的第二密钥不同,使用第二密钥对第一明文数据进行加密,得到第二密文数据,将第二密文数据发给终端,增强了第二密文数据的加密安全性,避免明文传输导致的数据泄露的问题,提升加密***抵抗重放攻击的能力;在对数据进行解密为明文后,都进行数据的完整性校验,防止数据被篡改,可以保障所获取数据的完整性,从而提高数据传输质量。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据方法的数据传输装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据传输装置实施例中的具体限定可以参见上文中对于数据传输方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种数据传输装置,包括:身份认证模块702、随机数生成模块704、第一密钥模块706、第二密钥模块708和数据发送模块710,其中:
身份认证模块702,用于当接收终端发送的数据传输请求时,对所述终端进行身份认证,得到身份认证结果;
随机数生成模块704,用于当身份认证结果为认证通过时,生成随机数,并将所述随机数发送给所述终端;
第一密钥模块706,用于获取与所述数据传输请求对应的第一密文数据,并根据第一密钥对所述第一密文数据进行解密,得到第一明文数据;
第二密钥模块708,用于根据第二密钥对所述第一明文数据进行加密,得到第二密文数据;所述第二密钥根据所述随机数和所述终端对应的种子密钥所确定;
数据发送模块710,用于将所述第二密文数据发送给终端。
在一个实施例中,所述装置还包括初始加密模块,用于:
接收所述终端发送的初始数据;当所述初始数据满足预设加密条件时,根据所述第一密钥对所述初始数据进行加密,得到所述第一密文数据。
在一个实施例中,所述装置还包括完整性校验模块,用于:
根据所述初始数据的第一哈希值与所述第一明文数据的第二哈希值,验证所述第一明文数据的完整性,得到所述第一明文数据的完整性验证结果;当所述第一明文数据的完整性验证结果为验证通过时,执行所述根据第二密钥对所述第一明文数据进行加密,得到第二密文数据的步骤。
在一个实施例中,所述装置还包括哈希发送模块,用于:
将所述第一明文数据的第二哈希值发送至终端,以指示所述终端根据所述第二哈希值验证目标数据的完整性,所述目标数据是所述终端根据第二密钥对所述第二密文数据进行解密得到。
在一个实施例中,所述种子密钥通过密管平台根据传输保护密钥下发和更新;所述装置还包括传输保护模块,用于获取传输保护密钥,其中,传输保护密钥的确定方式包括:当所述密管平台与密码设备之间身份验证通过后,所述密管平台向所述密码设备发送第一随机数,以及接收所述密码设备发送的第二随机数,并根据所述第一随机数和所述第二随机数确定第一传输密钥;所述密管平台根据与密码设备对目标量子密钥的协商结果,确定第二传输密钥;所述密管平台根据所述第一传输密钥和所述第二传输密钥,确定所述传输保护密钥。
在一个实施例中,提供了一种数据传输装置,应用于终端,包括:传输请求模块、第一接收模块和第二接收模块,其中:
传输请求模块,用于向服务器发送数据传输请求;
第一接收模块,用于接收所述服务器发送的随机数;所述随机数是所述服务器接收到终端发送的数据传输请求时对所述终端进行身份认证,当身份认证结果为认证通过时生成的;
第二接收模块,用于接收服务器发送的第二密文数据;所述第二密文数据是由所述服务器根据第一密钥对第一密文数据进行解密,得到第一明文数据,并根据第二密钥对所述第一明文数据加密得到,其中,第一密文数据与所述数据传输请求相对应;所述第二密钥根据所述随机数和所述终端对应的种子密钥所确定。
在一个实施例中,所述种子密钥通过密管平台根据传输保护密钥下发和更新;所述装置还包括传输保护模块,用于获取传输保护密钥,其中,传输保护密钥的确定方式包括:当所述密管平台与密码设备之间身份验证通过后,所述密管平台向所述密码设备发送第一随机数,以及接收所述密码设备发送的第二随机数,并根据所述第一随机数和所述第二随机数确定第一传输密钥;所述密管平台根据与密码设备对目标量子密钥的协商结果,确定第二传输密钥;所述密管平台根据所述第一传输密钥和所述第二传输密钥,确定所述传输保护密钥。
上述数据传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储终端对应的种子密钥数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据传输方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述数据传输方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述数据传输方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据传输方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据传输方法,其特征在于,所述方法包括:
当接收终端发送的数据传输请求时,对所述终端进行身份认证,得到身份认证结果;
当身份认证结果为认证通过时,生成随机数,并将所述随机数发送给所述终端;
获取与所述数据传输请求对应的第一密文数据,并根据第一密钥对所述第一密文数据进行解密,得到第一明文数据;
根据第二密钥对所述第一明文数据进行加密,得到第二密文数据;所述第二密钥根据所述随机数和所述终端对应的种子密钥所确定;其中,不同的终端对应的种子密钥不同;
将所述第二密文数据发送给所述终端。
2.根据权利要求1所述的方法,其特征在于,在接收终端发送的数据传输请求之前,所述方法还包括:
接收所述终端发送的初始数据;
当所述初始数据满足预设加密条件时,根据所述第一密钥对所述初始数据进行加密,得到所述第一密文数据。
3.根据权利要求2所述的方法,其特征在于,在所述根据第一密钥对第一密文数据进行解密,得到第一明文数据之后,所述方法还包括:
根据所述初始数据的第一哈希值与所述第一明文数据的第二哈希值,验证所述第一明文数据的完整性,得到所述第一明文数据的完整性验证结果;
当所述第一明文数据的完整性验证结果为验证通过时,执行所述根据第二密钥对所述第一明文数据进行加密,得到第二密文数据的步骤。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第一明文数据的第二哈希值发送至终端,以指示所述终端根据所述第二哈希值验证目标数据的完整性,所述目标数据是所述终端根据第二密钥对所述第二密文数据进行解密得到。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述种子密钥通过密管平台根据传输保护密钥下发和更新;所述传输保护密钥的获取方式,包括:
当所述密管平台与密码设备之间身份验证通过后,所述密管平台向所述密码设备发送第一随机数,以及接收所述密码设备发送的第二随机数,并根据所述第一随机数和所述第二随机数确定第一传输密钥;
所述密管平台根据与密码设备对目标量子密钥的协商结果,确定第二传输密钥;
所述密管平台根据所述第一传输密钥和所述第二传输密钥,确定所述传输保护密钥。
6.一种数据传输方法,其特征在于,应用于终端,所述方法包括:
向服务器发送数据传输请求;
接收所述服务器发送的随机数;所述随机数是所述服务器接收到终端发送的数据传输请求时对所述终端进行身份认证,当身份认证结果为认证通过时生成的;
接收服务器发送的第二密文数据;所述第二密文数据是由所述服务器根据第一密钥对第一密文数据进行解密,得到第一明文数据,并根据第二密钥对所述第一明文数据加密得到,其中,第一密文数据与所述数据传输请求相对应;所述第二密钥根据所述随机数和所述终端对应的种子密钥所确定,不同的终端对应的种子密钥不同。
7.根据权利要求6所述的方法,其特征在于,所述种子密钥通过密管平台根据传输保护密钥下发和更新;所述传输保护密钥的获取方式,包括:
当所述密管平台与密码设备之间身份验证通过后,所述密管平台向所述密码设备发送第一随机数,以及接收所述密码设备发送的第二随机数,并根据所述第一随机数和所述第二随机数确定第一传输密钥;
所述密管平台根据与密码设备对目标量子密钥的协商结果,确定第二传输密钥;
所述密管平台根据所述第一传输密钥和所述第二传输密钥,确定所述传输保护密钥。
8.一种数据传输装置,其特征在于,所述装置包括:
身份认证模块,用于当接收终端发送的数据传输请求时,对所述终端进行身份认证,得到身份认证结果;
随机数生成模块,用于当身份认证结果为认证通过时,生成随机数,并将所述随机数发送给所述终端;
第一密钥模块,用于获取与所述数据传输请求对应的第一密文数据,并根据第一密钥对所述第一密文数据进行解密,得到第一明文数据;
第二密钥模块,用于根据第二密钥对所述第一明文数据进行加密,得到第二密文数据;所述第二密钥根据所述随机数和所述终端对应的种子密钥所确定;其中,不同的终端对应的种子密钥不同;
数据发送模块,用于将所述第二密文数据发送给终端。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202211563695.5A 2022-12-07 2022-12-07 数据传输方法、装置、计算机设备和存储介质 Active CN116232639B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211563695.5A CN116232639B (zh) 2022-12-07 2022-12-07 数据传输方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211563695.5A CN116232639B (zh) 2022-12-07 2022-12-07 数据传输方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN116232639A CN116232639A (zh) 2023-06-06
CN116232639B true CN116232639B (zh) 2024-05-03

Family

ID=86584860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211563695.5A Active CN116232639B (zh) 2022-12-07 2022-12-07 数据传输方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN116232639B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118018336B (zh) * 2024-04-10 2024-06-11 江苏中天互联科技有限公司 数据传输方法、服务器及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719826A (zh) * 2009-05-13 2010-06-02 北京宏基恒信科技有限责任公司 具有种子密钥更新功能的动态令牌及其种子密钥的更新方法
CN103001771A (zh) * 2012-11-14 2013-03-27 广东电网公司电力科学研究院 一种计量自动化***数据传输安全加密方法
KR20200024426A (ko) * 2018-08-28 2020-03-09 주식회사 이와이엘 사용자 패턴인증과 양자난수를 조합한 사용자 인증 시스템 및 방법
CN112910644A (zh) * 2021-03-29 2021-06-04 安徽华典大数据科技有限公司 一种基于量子保密数据的安全认证***
CN113067699A (zh) * 2021-03-04 2021-07-02 深圳科盾量子信息科技有限公司 基于量子密钥的数据共享方法、装置和计算机设备
CN113079022A (zh) * 2021-03-31 2021-07-06 郑州信大捷安信息技术股份有限公司 一种基于sm2密钥协商机制的安全传输方法和***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719826A (zh) * 2009-05-13 2010-06-02 北京宏基恒信科技有限责任公司 具有种子密钥更新功能的动态令牌及其种子密钥的更新方法
CN103001771A (zh) * 2012-11-14 2013-03-27 广东电网公司电力科学研究院 一种计量自动化***数据传输安全加密方法
KR20200024426A (ko) * 2018-08-28 2020-03-09 주식회사 이와이엘 사용자 패턴인증과 양자난수를 조합한 사용자 인증 시스템 및 방법
CN113067699A (zh) * 2021-03-04 2021-07-02 深圳科盾量子信息科技有限公司 基于量子密钥的数据共享方法、装置和计算机设备
CN112910644A (zh) * 2021-03-29 2021-06-04 安徽华典大数据科技有限公司 一种基于量子保密数据的安全认证***
CN113079022A (zh) * 2021-03-31 2021-07-06 郑州信大捷安信息技术股份有限公司 一种基于sm2密钥协商机制的安全传输方法和***

Also Published As

Publication number Publication date
CN116232639A (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
US11449641B2 (en) Integrity of communications between blockchain networks and external data sources
CN110855671B (zh) 一种可信计算方法和***
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
CN110519260B (zh) 一种信息处理方法及信息处理装置
TWI709314B (zh) 資料處理方法和裝置
CN106534092B (zh) 基于消息依赖于密钥的隐私数据加密方法
US7697691B2 (en) Method of delivering Direct Proof private keys to devices using an on-line service
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
CN111130757A (zh) 一种基于区块链的多云cp-abe访问控制方法
US10868669B2 (en) Method for role-based data transmission using physically unclonable function (PUF)-based keys
US9178881B2 (en) Proof of device genuineness
CN108132977A (zh) 基于垂直划分的密文数据库查询方法及***
CN111740995B (zh) 一种授权认证方法及相关装置
US20060013399A1 (en) Method of delivering direct proof private keys to devices using a distribution CD
CN117155549A (zh) 密钥分发方法、装置、计算机设备和存储介质
CN116232639B (zh) 数据传输方法、装置、计算机设备和存储介质
CN116049802B (zh) 应用单点登陆方法、***、计算机设备和存储介质
CN116318784B (zh) 身份认证方法、装置、计算机设备和存储介质
CN114553557B (zh) 密钥调用方法、装置、计算机设备和存储介质
CN115022057A (zh) 安全认证方法、装置和设备及存储介质
Kamboj et al. DEDUP: Deduplication system for encrypted data in cloud
CN116599771B (zh) 数据分级保护传输方法及装置、存储介质和终端
CN105262743A (zh) 数据存储方法及安全装置、网络存储***
CN117914499A (zh) 证书申请和验证方法、装置、设备以及存储介质
CN116112268A (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