数据传输方法、装置、终端、服务器及存储介质【掌桥专利】 |
您所在的位置:网站首页 › 量子密钥协商流程 › 数据传输方法、装置、终端、服务器及存储介质【掌桥专利】 |
技术领域 本发明实施例涉及数据传输技术,尤其涉及一种数据传输方法、装置、终端、服务器及存储介质。 背景技术 量子计算是一种遵循量子力学规律调控量子信息单元进行计算的新型计算模式。SSH文件传输协议(SSH File Transfer Protocol,或者Secret File Transfer Protocol,简称SFTP)用于进行安全的文件传输。SSH文件传输协议使用的RSA加密算法进行加密。然而,量子计算超强的计算性能使得RSA加密算法的RSA密码存在被破解的风险,导致文件传输存在安全隐患。 发明内容 本发明提供一种数据传输方法、装置、终端、服务器及存储介质,以实现提高文件传输的安全性。 第一方面,本发明实施例提供了一种数据传输方法,应用于客户端,包括: 向服务器发送第一消息,第一消息用于触发数据传输的握手过程,第一消息包括第一随机数; 接收服务器发送的第二消息,第二消息包括根据木兰签名算法对第一随机数、第二随机数以及非对称加密公钥进行编码得到的木兰签名、非对称加密公钥以及第二随机数; 若验证木兰签名合法,根据本地生成的第三随机数、第二随机数和非对称加密公钥通过预设非对称加密算法生成封装文本和通信加密密钥; 向服务器发送第三消息,第三消息包括封装文本,以便服务根据非对称加密私钥和封装文本确定通信加密密钥; 根据通信加密密钥与服务器进行目标数据的传输。 第二方面,本发明实施例还提供了一种数据传输方法,应用于服务器,包括: 接收客户端发送的第一消息,第一消息包括第一随机数; 生成第二随机数,生成非对称加密公钥及其非对称加密私钥; 根据第一随机数、第二随机数和非对称加密公钥进行木兰编码,得到木兰签名; 向客户端发送第二消息,第二消息包括木兰签名、第二随机数以及非对称加密公钥; 接收客户端发送的第三消息,第三消息包括封装文本; 根据非对称加密私钥和预设非对称加密算法对封装文本进行解密,根据解密结果确定通信加密密钥; 根据通信加密密钥与客户端进行目标数据的传输。 第三方面,本发明实施例还提供了一种数据传输装置,应用于客户端,包括: 第一消息发送模块,用于向服务器发送第一消息,第一消息用于触发数据传输的握手过程,第一消息包括第一随机数; 第二消息接收模块,用于接收服务器发送的第二消息,第二消息包括根据木兰签名算法对第一随机数、第二随机数以及非对称加密公钥进行编码得到的木兰签名、非对称加密公钥以及第二随机数; 第一生成模块,用于若验证木兰签名合法,根据本地生成的第三随机数、第二随机数和非对称加密公钥通过预设非对称加密算法生成封装文本和通信加密密钥; 第三消息发送模块,用于向服务器发送第三消息,第三消息包括封装文本,以便服务根据非对称加密私钥和封装文本确定通信加密密钥; 第一传输模块,用于根据通信加密密钥与服务器进行目标数据的传输。 第四方面,本发明实施例还提供了一种数据传输装置,应用于服务器,包括: 第一消息接收模块,用于接收客户端发送的第一消息,第一消息包括第一随机数; 第二生成模块,用于生成第二随机数,生成非对称加密公钥及其非对称加密私钥; 签名模块,用于根据第一随机数、第二随机数和非对称加密公钥进行木兰编码,得到木兰签名; 第二消息发送模块,用于向客户端发送第二消息,第二消息包括木兰签名、第二随机数以及非对称加密公钥; 第三消息接收模块,用于接收客户端发送的第三消息,第三消息包括封装文本; 第三生成模块,用于根据非对称加密私钥和预设非对称加密算法对封装文本进行解密,根据解密结果确定通信加密密钥; 第二传输模块,用于根据通信加密密钥与客户端进行目标数据的传输。 第五方面,本发明实施例还提供了一种数据传输终端,数据传输终端包括: 一个或多个处理器; 存储装置,用于存储一个或多个程序, 当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如本发明实施例所示的适用于客户端的数据传输方法。 第六方面,本发明实施例还提供一种服务器,服务器包括: 一个或多个处理器; 存储装置,用于存储一个或多个程序, 当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如本发明实施例所示的适用于服务器的数据传输方法。 第七方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例所示的数据传输方法。 本发明实施例提供的数据传输方法,客户端向服务器发送第一消息,第一消息用于触发数据传输的握手过程,第一消息包括第一随机数;接收服务器发送的第二消息,第二消息包括根据木兰签名算法对第一随机数、第二随机数以及非对称加密公钥进行编码得到的木兰签名、非对称加密公钥以及第二随机数;若验证木兰签名合法,根据本地生成的第三随机数、第二随机数和非对称加密公钥通过预设非对称加密算法生成封装文本和通信加密密钥;向服务器发送第三消息,第三消息包括封装文本,以便服务根据非对称加密私钥和封装文本确定通信加密密钥;根据通信加密密钥与服务器进行目标数据的传输。第二消息中携带的木兰签名,具有抗量子计算的能力,避免伪造服务器冒充合法服务器与客户端进行通信及认证。基于木兰签名算法对木兰签名进行解码,能够得到服务器证书,通过认证服务器对该服务器证书进行验证后,可实现对合法的服务器进行认证。在此基础上,客户端与服务器协商出的通信加密密钥能够用于后续的文件传输,提高文件传输的安全性。 附图说明 图1是本发明实施例一中的数据传输方法的流程图; 图2是本发明实施例二中的数据传输的架构示意图; 图3是本发明实施例二中的数据传输方法的流程图; 图4是本发明实施例三中的数据传输方法的流程图; 图5是本发明实施例四中的数据传输方法的流程图; 图6是本发明实施例五中的数据传输装置的结构示意图; 图7是本发明实施例六中的数据传输装置的结构示意图; 图8是本发明实施例七中的数据传输终端的结构示意图; 图9是本发明实施例八中的服务器的结构示意图。 具体实施方式 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。 实施例一 图1为本发明实施例一提供的数据传输方法的流程图,本实施例可适用于客户端与服务器进行文件的安全数据传输的情况,该方法可以由客户端来执行,客户端可以为个人电脑(Personal Computer,PC)、智能手机、平板电脑等。该方法具体包括如下步骤: 步骤110、向服务器发送第一消息,第一消息用于触发数据传输的握手过程,第一消息包括第一随机数。 在客户端与服务器进行安全文件传输之前,客户端需要与服务器进行密钥协商。密钥协商过程包括本发明实施例步骤110至步骤140,密钥协商过程用于确定通信加密密钥。通信加密密钥用于完成密钥协商过程后,对客户端与服务器之间传输的目标数据进行加密传输。第一随机数可以为随机字符串。 步骤120、接收服务器发送的第二消息,第二消息包括根据木兰签名算法对第一随机数、第二随机数以及非对称加密公钥进行编码得到的木兰签名、非对称加密公钥以及第二随机数。 木兰签名算法一种高效、灵活、安全增强的格基签名算法,木兰签名算法是利用菲亚特-沙米尔(Fiat-Shamir) 转换得到的,在 QROM模型下满足 SEU-CMA 安全性。相对于Dilithium,木兰具有更加通用的算法结构,更大的参数选取范围。特别地,木兰避免了Dilithium 对参数(特别是q)选取的限制。其中,Dilithium 签名算法是NIST后量子密码标准征集中一个非常出众的格基签名方案,是进入NIST后量子密码标准征集第二轮的三个格基签名之一。 木兰签名算法的详细内容可通过中国密码学会官网(https://www.cacrnet.org.cn/)获得。在中国密码学会官网的算法竞赛列表中的第二轮公钥算法可连接到参赛的算法目录,其中包括木兰签名算法的提交文档。木兰签名算法的提交文档中记载有木兰签名算法的实现过程。 服务器在接收到客户端发送的第一随机数后,生成第二随机数以及非对称加密公钥及其非对称加密私钥。其中,第二随机数可以为随机字符串。服务器将第一随机数、第二随机数和非对称加密公钥串接后,使用木兰算法进行编码,得到木兰签名。服务器通过第二消息将木兰签名、第二随机数以及非对称加密公钥发送至客户端。进一步的,非对称加密公钥可以为AKCN-MLWE公钥。 步骤130、若验证木兰签名合法,根据本地生成的第三随机数、第二随机数和非对称加密公钥通过预设非对称加密算法生成封装文本和通信加密密钥。 客户端接收到第二消息后,通过验证服务器对木兰签名进行验证。验证服务器作为第三方对木兰签名进行验证,向客户端返回验证结果。验证结果表示合法或不合法。若返回的验证结果为合法,则表示服务器为合法服务器。若返回的验证结果为不合法,则表示服务器为伪造服务器。 当返回的验证结果为合法时,客户端根据本地生成的第三随机数、第二随机数和非对称加密公钥通过预设非对称加密算法生成封装文本和通信加密密钥。可选的,客户端将第二随机数和第三随机数进行异或操作,得到异或操作结果。将该异或操作结果和非对称加密公钥作为入参,得到出参封装文本和通信加密秘钥。使用非对称加密公钥对封装文本进行加密,得到第三消息。可选的,预设非对称加密算法可以为RSA算法或迪菲-赫尔曼(Diffie-Hellman)算法等。RSA算法为1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的非对称加密算法。 在使用上述预设非对称加密算法进行加密编码时,可能会被量子计算攻击。基于此,为了提高数据安全,进一步的,根据本地生成的第三随机数、第二随机数和非对称加密公钥通过预设非对称加密算法生成封装文本和通信加密密钥,可通过下述方式实施:根据本地生成的第三随机数、第二随机数和AKCN-MLWE公钥通过AKCN-MLWE加密算法生成封装文本和通信加密密钥。 AKCN-MLWE加密算法是基于非对称密钥共识的格基公钥加密和密钥封装算法。与目前主流的抗量子密码算法具有优良的兼容性(具有相同的数学基础和兼容性强的计算操作)。与NIST第二轮的Frodo-KEM相比,可以在和Frodo-KEM相同的安全级别下,密文更短、以及在效率和安全性和错误率之间更好的平衡。 AKCN-MLWE加密算法的详细内容可通过中国密码学会官网(https://www.cacrnet.org.cn/)获得。在中国密码学会官网的算法竞赛列表中的第二轮公钥算法可连接到参赛的算法目录,其中包括AKCN-MLWE加密算法的提交文档。AKCN-MLWE加密算法的提交文档中记载有AKCN-MLWE加密算法的实现过程。 根据AKCN-MLWE公钥使用AKCN-MLWE加密算法对上述异或操作结果进行加密,得到封装文本。 步骤140、向服务器发送第三消息,第三消息包括封装文本,以便服务根据非对称加密私钥和封装文本确定通信加密密钥。 将使用非对称加密公钥加密后的封装文本发送至服务器后,服务器使用非对称加密私钥对加密后的封装文本进行解密,进而得到封装文本。根据封装文本计算出通信加密密钥。 在一种实现方式中,在向服务器发送第三消息后,可完成客户端与服务器之间的通信加密密钥的协商,此时客户端和服务器均具有通信加密密钥。之后,客户端可以将用户名和密码通过通信加密密钥进行加密,发送至服务器进行登录验证。 在另一种实现方式中,为了能够减少信令的发送次数,提高网络利用率,可以在第三消息中携带用户名和密码以进行用户认证。具体可通过下述方式实施: 根据通信加密密钥对用户名和密码进行加密,得到账号加密信息;在第三消息中携带账号加密信息;接收到服务器根据账号加密信息反馈的认证结果。 客户端接收用户输入的用户名和密码,使用通信加密密钥对用户名和密码进行加密,得到账号加密信息。将加密的账号加密信息发送至服务器。服务器使用通信加密密钥对账号加密信息进行解密,得到用户名和密码。服务器对用户名和密码进行认证,以确定用户是否具有进行文件传输的权限,并将认证结果发送至客户端。客户端接收到认证结果后,若认证结果为认证成功,则客户端执行步骤150完成与服务器之间的数据传输。若认证结果为认证失败,则客户端输出该认证结果,以便用户知晓认证失败。 步骤150、根据通信加密密钥与服务器进行目标数据的传输。 当客户端与服务器完成密钥协商过程后,客户端在向服务器发送数据以及接收服务器发送的数据时,可以使用通信加密密钥进行加密和解密。 可选的,根据通信加密密钥和国密算法SM对目标数据进行加密,将加密结果发送至服务器。 将通信加密密钥作为密钥,使用国密算法SM对目标数据进行加密,得到加密结果。将加密结果发送至服务器。国密算法为国家密码局认定的国产密码算法。可以使用国密算法SM3、国密算法SM4进行加密。 可选的,接收服务器发送的加密结果,根据通信加密密钥和国密算法SM对加密结果进行解密,得到目标数据。 将通信加密密钥作为密钥,使用国密算法SM对加密结果进行解密,得到目标数据。国密为国家密码局认定的国产密码算法。可以使用国密算法SM3、国密算法SM4进行解密。 本发明实施例提供的数据传输方法,客户端向服务器发送第一消息,第一消息用于触发数据传输的握手过程,第一消息包括第一随机数;接收服务器发送的第二消息,第二消息包括根据木兰签名算法对第一随机数、第二随机数以及非对称加密公钥进行编码得到的木兰签名、非对称加密公钥以及第二随机数;若验证木兰签名合法,根据本地生成的第三随机数、第二随机数和非对称加密公钥通过预设非对称加密算法生成封装文本和通信加密密钥;向服务器发送第三消息,第三消息包括封装文本,以便服务根据非对称加密私钥和封装文本确定通信加密密钥;根据通信加密密钥与服务器进行目标数据的传输。第二消息中携带的木兰签名,具有抗量子计算的能力,避免伪造服务器冒充合法服务器与客户端进行通信及认证。基于木兰签名算法对木兰签名进行解码,能够得到服务器证书,通过认证服务器对该服务器证书进行验证后,可实现对合法的服务器进行认证。在此基础上,客户端与服务器协商出的通信加密密钥能够用于后续的文件传输,提高文件传输的安全性。AKCN-MLWE加密算法具有抗量子计算能力,使用AKCN-MLWE加密算法进行非对称加密能够提高抗量子计算能力,进一步提高安全性。 实施例二 在实施上述实施例时发现,目前较常用的文件加密传输工具(如vsftp)基于操作系统用户来进行权限管理,这些用户可以进入服务器的大部分目录,下载拥有可读权限的文件,可见使用系统用户进行业务数据的传输共享操作存在安全风险。基于此,本发明实施例还提供了数据传输方法,本发明的客户端和服务器采用客户端-服务器(Client-Server,C/S)结构。多个客户端可同时访问服务器。服务器以服务为单位,响应客户端的数据传输请求。服务器可以启动单个服务来处理所有文件上传下载需求,也可启动多个服务。当启动多个服务时,每个服务为一个独立进程,侦听单独的网络地址(IP地址)和端口,以实现不同部门、不同场景的需求的隔离。 图2为本发明实施例提供的数据传输的架构示意图,示例性的,配置服务a和服务b提供文件传输服务。服务a监听网络地址A上的文件传输请求。客户端m、客户端n和客户端p通过访问网络地址A请求文件传输服务时,服务a进行响应。服务b监听网络地址B上的文件传输请求。客户端n通过访问网络地址B请求文件传输服务时,服务b进行响应。每个服务可支持指定数量的授权客户端并发接入处理。 图3为本发明实施例提供的数据传输方法的流程图,作为对上述实施例的进一步说明,在步骤140、向服务器发送第三消息之后,该方法包括: 步骤210、通过服务器获取用户名对应的目标管理权限以及目标管理权限对应的被管理用户,管理权限包括多个管理权限,低管理权限的用户为高管理权限的用户的被管理用户。 服务器中配置有每个用户的目标管理权限。不同的目标管理权限对应不同的管理级别。示例性的,可以设置超级管理员、管理员、普通用户。需要说明的是,可以设置两个级别的管理权限,或者可以设置大于三个级别的管理权限,本示例以三个级别的管理权限为例进行说明。 超级管理员可修改自身信息和密码,可以增加、删除、修改、查询所有管理员和普通用户的信息及重置密码。管理员可修改自身信息和密码,可增加、删除、修改、查询所有普通用户的信息及重置密码。管理员有自己的主页目录,主页目录中包含被管理员管理的普通用户,以及每个普通用户对应的被管理操纵的权限。普通用户根据管理员为其配置的权限进行文件的读(下载)、写(上传)和目录操作(创建删除)。 步骤220、响应于用户输入的配置操作,将配置操作发送至服务器,配置操作包括文件操作权限配置以及密码配置。 用户还可以输入配置操作,以便对服务对应的文件读取进行配置。 可选的,配置操作用于:配置被管理用户可执行的操作类型,操作类型包括读操作、写操作和删除操作;或者,配置被管理用户可访问的文件目录;或者,配置被管理用户可访问的文件名称的正则表达式。 每个服务具有对应的根目录,以下所提目录均为针对该根目录的相对路径。不同级别的用户(如上例中的超级用户、管理员和普通用户),在自身的主目录范围内,配置被管理用户可访问的文件目录、通过正则表达式配置被管理用户可访问的文件名称,还可以配置被管理用户可执行的操作类型。其中,正则匹配表达式用于精确匹配在对应目录中可操作的文件名列表。操作权限包括子目录创建、写权限、读权限,它用于描述对匹配的文件列表可进行的操作。表1给出了一种示例性的配置内容,假设此时服务的根目录为/uftproot。 表1
表1中,用户zhangsan可对目录/uftproot/department1/project1下面的所有文件可进行读写(上传下载)操作,并可以进行子目录的创建删除及子目录文件的读写操作。用户zhangsan可对目录/uftproot/department1/project2下所有以a开头和以bc开头的文件进行读写操作。用户lisi可对目录/uftproot/department1/project2下所有以a开头的文件进行读操作。用户admin1对共享目录/uftproot/sharedir所有文件有读写权限。所有用户均有对目录/uftproot/sharedir中所有文件的读权限。 步骤230、接收服务器反馈的配置操作结果。 用户在客户端中输入相应的配置操作后,客户端将配置操作发送至服务器,以便服务器根据配置操作进行配置修改,并返回配置操作结果。 本发明实施例提供的数据传输方法,能够为通过服务器获取用户名对应的目标管理权限以及目标管理权限对应的被管理用户,响应于用户输入的配置操作,将配置操作发送至服务器,接收服务器反馈的配置操作结果。实现用户通过客户端对被管理用户进行配置。相对于目前基于操作系统用户来进行权限管理,能够配置多个层级的用户权限,且每个层级的用户可以对其管理的用户的操作权限进行配置,进而实现多级管理。实现以用户、目录、正则匹配表达式+及作权限为核心的文件权限管理,提高文件权限管理效率。 实施例三 图4为本发明实施例三提供的数据传输方法的流程图,本实施例可适用于客户端与服务器进行文件的安全数据传输的情况,该方法可以由服务器来执行,该方法具体包括如下步骤: 步骤310、接收客户端发送的第一消息,第一消息包括第一随机数。 步骤320、生成第二随机数,生成非对称加密公钥及其非对称加密私钥。 服务器接收到第一消息后,生成第二随机数。第二随机数可以为随机字符串。非对称加密公钥及其非对称加密私钥为成对出现的密钥,适用于预设非对称加密算法。非对称加密私钥为服务器本地持有。非对称加密公钥可发送至客户端。 步骤330、根据第一随机数、第二随机数和非对称加密公钥进行木兰编码,得到木兰签名。 服务器在接收到客户端发送的第一随机数后,生成第二随机数以及非对称加密公钥及其非对称加密私钥。其中,第二随机数可以为随机字符串。服务器将第一随机数、第二随机数和非对称加密公钥串接后,使用木兰算法进行编码,得到木兰签名。 步骤340、向客户端发送第二消息,第二消息包括木兰签名、第二随机数以及非对称加密公钥。 通过第二消息携带木兰签名、第二随机数以及非对称加密公钥。以便客户端执行步骤120至步骤140。 步骤350、接收客户端发送的第三消息,第三消息包括封装文本。 进一步的,第三消息还包括账号加密信息,接收客户端发送的第三消息之后,还包括: 根据通信加密密钥对账号加密信息进行解密,得到用户名和密码; 对用户名和密码进行身份认证,得到认证结果; 将认证结果发送至客户端。 步骤360、根据非对称加密私钥和预设非对称加密算法对封装文本进行解密,根据解密结果确定通信加密密钥。 服务器保存有非对称加密私钥。在接收到第三消息后,使用非对称加密私钥通过非对称加密算法对加密后的封装文本进行解密,得到封装文本。客户端使用非对称加密公钥进行封装,得到加密后的封装文本。因此服务器使用与非对称加密公钥对应的非对称加密私钥,通过预设非对称加密算法进行解密,得到封装文本。根据封装文本进行计算,得到通信加密密钥。 进一步的,根据非对称加密私钥和预设非对称加密算法对上述封装文本进行解密,根据解密结果确定通信加密密钥,包括: 根据AKCN-MLWE私钥和AKCN-MLWE算法对封装文本进行解密,根据解密结果确定通信加密密钥。 AKCN-MLWE加密算法具有抗量子计算的功效,因此使用AKCN-MLWE加密算法进行加密,能够进一步提高数据安全。 步骤370、根据通信加密密钥与客户端进行目标数据的传输。 当客户端与服务器完成密钥协商过程后,服务器在向客户端发送数据以及接收客户端发送的数据时,可以使用通信加密密钥进行加密和解密。 可选的,根据通信加密密钥和国密算法SM对目标数据进行加密,将加密结果发送至客户端。 将通信加密密钥作为密钥,使用国密算法SM对目标数据进行加密,得到加密结果。将加密结果发送至客户端。国密为国家密码局认定的国产密码算法。可以使用国密算法SM3、国密算法SM4进行加密。 可选的,接收客户端发送的加密结果,根据通信加密密钥和国密算法SM对加密结果进行解密,得到目标数据。 将通信加密密钥作为密钥,使用国密算法SM对加密结果进行解密,得到目标数据。国密为国家密码局认定的国产密码算法。可以使用国密算法SM3、国密算法SM4进行解密。 本发明实施例提供的数据传输方法,服务器接收客户端发送的第一消息,第一消息包括第一随机数;生成第二随机数,生成非对称加密公钥及其非对称加密私钥;根据第一随机数、第二随机数和非对称加密公钥进行木兰编码,得到木兰签名;向客户端发送第二消息,第二消息包括木兰签名、第二随机数以及非对称加密公钥;接收客户端发送的第三消息,第三消息包括封装文本;根据非对称加密私钥和预设非对称加密算法对上述封装文本进行解密,根据解密结果确定通信加密密钥;根据通信加密密钥与客户端进行目标数据的传输。第二消息中携带的木兰签名,具有抗量子计算的能力,避免伪造服务器冒充合法服务器与客户端进行通信及认证。基于木兰签名算法对木兰签名进行解码,能够得到服务器证书,通过认证服务器对该服务器证书进行验证后,可实现对合法的服务器进行认证。在此基础上,客户端与服务器协商出的通信加密密钥能够用于后续的文件传输,提高文件传输的安全性。AKCN-MLWE加密算法具有抗量子计算能力,使用AKCN-MLWE加密算法进行非对称加密能够提高抗量子计算能力,进一步提高安全性。 实施例四 在实施上述实施例时发现,目前较常用的文件加密传输工具(如vsftp)基于操作系统用户来进行权限管理,这些用户可以进入服务器的大部分目录,下载拥有可读权限的文件,可见使用系统用户进行业务数据的传输共享操作存在安全风险。基于此,本发明实施例还提供了数据传输方法,图5为本发明实施例提供的数据传输方法的流程图,作为对上述实施例的进一步说明,在步骤340、接收客户端发送的第三消息之后,该方法包括: 步骤410、向客户端反馈用户名对应的目标管理权限以及目标管理权限对应的被管理用户,管理权限包括多个管理权限,低管理权限的用户为高管理权限的用户的被管理用户。 客户端通过服务器获取用户名对应的目标管理权限以及目标管理权限对应的被管理用户。服务器向客户端反馈用户名对应的目标管理权限以及目标管理权限对应的被管理用户。 步骤420、响应于客户端发送的配置操作,对被管理用户的配置信息进行配置,得到配置操作结果。 客户端执行步骤220将用户输入的配置操作发送至服务器。服务器接收到配置操作后,根据配置操作对服务器中存储的配置信息进行配置。配置信息包括:被管理用户可执行的操作类型、被管理用户可访问的文件目录、被管理用户可访问的文件名称的正则表达式等。 可选的,响应于用户输入的配置操作,对被管理用户进行管理,包括: 配置被管理用户可执行的操作类型,操作类型包括读操作、写操作和删除操作; 配置被管理用户可访问的文件目录; 配置被管理用户可访问的文件名称的正则表达式。 步骤430、将配置操作结果发送至客户端。 本发明实施例提供的数据传输方法,能够向客户端反馈用户名对应的目标管理权限以及目标管理权限对应的被管理用户,管理权限包括多个管理权限,低管理权限的用户为高管理权限的用户的被管理用户;响应于客户端发送的配置操作,对被管理用户的配置信息进行配置,得到配置操作结果;将配置操作结果发送至客户端相对于目前基于操作系统用户来进行权限管理,能够配置多个层级的用户权限,且每个层级的用户可以对其管理的用户的操作权限进行配置,进而实现多级管理。实现以用户、目录、正则匹配表达式及作权限为核心的文件权限管理,提高文件权限管理效率。 实施例五 图6为本发明实施例五提供的数据传输装置的结构示意图,该装置可由客户端执行,包括第一消息发送模块510、第二消息接收模块520、第一生成模块530、第三消息发送模块540以及第一传输模块550。 第一消息发送模块510,用于向服务器发送第一消息,第一消息用于触发数据传输的握手过程,第一消息包括第一随机数; 第二消息接收模块520,用于接收服务器发送的第二消息,第二消息包括根据木兰签名算法对第一随机数、第二随机数以及非对称加密公钥进行编码得到的木兰签名、非对称加密公钥以及第二随机数; 第一生成模块530,用于若验证木兰签名合法,根据本地生成的第三随机数、第二随机数和非对称加密公钥通过预设非对称加密算法生成封装文本和通信加密密钥; 第三消息发送模块540,用于向服务器发送第三消息,第三消息包括封装文本,以便服务根据非对称加密私钥和封装文本确定通信加密密钥; 第一传输模块550,用于根据通信加密密钥与服务器进行目标数据的传输。 在上述实施例的基础上,第一生成模块530用于: 根据本地生成的第三随机数、第二随机数和AKCN-MLWE公钥通过AKCN-MLWE加密算法生成封装文本和通信加密密钥。 在上述实施例的基础上,还包括账号信息认证模块,账号信息认证模块用于: 根据通信加密密钥对用户名和密码进行加密,得到账号加密信息; 在第三消息中携带账号加密信息; 接收到服务器根据账号加密信息反馈的认证结果。 在上述实施例的基础上,还包括用户权限管理模块,用户权限管理模块用于: 通过服务器获取用户名对应的目标管理权限以及目标管理权限对应的被管理用户,管理权限包括多个管理权限,低管理权限的用户为高管理权限的用户的被管理用户; 响应于用户输入的配置操作,将配置操作发送至服务器,配置操作包括文件操作权限配置以及密码配置; 接收服务器反馈的配置操作结果。 在上述实施例的基础上,配置操作用于: 配置被管理用户可执行的操作类型,操作类型包括读操作、写操作和删除操作;或者, 配置被管理用户可访问的文件目录;或者, 配置被管理用户可访问的文件名称的正则表达式。 在上述实施例的基础上,第一传输模块550用于: 根据通信加密密钥和国密算法SM对目标数据进行加密,将加密结果发送至服务器; 或者, 接收服务器发送的加密结果,根据通信加密密钥和国密算法SM对加密结果进行解密,得到目标数据。 本发明实施例提供的数据传输装置,第一消息发送模块510向服务器发送第一消息,第一消息用于触发数据传输的握手过程,第一消息包括第一随机数;第二消息接收模块520接收服务器发送的第二消息,第二消息包括根据木兰签名算法对第一随机数、第二随机数以及非对称加密公钥进行编码得到的木兰签名、非对称加密公钥以及第二随机数;若验证木兰签名合法,第一生成模块530根据本地生成的第三随机数、第二随机数和非对称加密公钥通过预设非对称加密算法生成封装文本和通信加密密钥;第三消息发送模块540向服务器发送第三消息,第三消息包括封装文本,以便服务根据非对称加密私钥和封装文本确定通信加密密钥;第一传输模块550根据通信加密密钥与服务器进行目标数据的传输。第二消息中携带的木兰签名,具有抗量子计算的能力,避免伪造服务器冒充合法服务器与客户端进行通信及认证。基于木兰签名算法对木兰签名进行解码,能够得到服务器证书,通过认证服务器对该服务器证书进行验证后,可实现对合法的服务器进行认证。在此基础上,客户端与服务器协商出的通信加密密钥能够用于后续的文件传输,提高文件传输的安全性。 实施例六 图7为本发明实施例六提供的数据传输装置的结构示意图,该装置可由服务器执行,包括:第一消息接收模块610、第二生成模块620、签名模块630、第二消息发送模块640、第三消息接收模块650、第三生成模块660以及第二传输模块670。 第一消息接收模块610,用于接收客户端发送的第一消息,第一消息包括第一随机数; 第二生成模块620,用于生成第二随机数,生成非对称加密公钥及其非对称加密私钥; 签名模块630,用于根据第一随机数、第二随机数和非对称加密公钥进行木兰编码,得到木兰签名; 第二消息发送模块640,用于向客户端发送第二消息,第二消息包括木兰签名、第二随机数以及非对称加密公钥; 第三消息接收模块650,用于接收客户端发送的第三消息,第三消息包括封装文本; 第三生成模块660,用于根据非对称加密私钥和预设非对称加密算法对上述封装文本进行解密,根据解密结果确定通信加密密钥; 第二传输模块670,用于根据通信加密密钥与客户端进行目标数据的传输。 在上述实施例的基础上,第三生成模块660用于: 根据AKCN-MLWE私钥和AKCN-MLWE算法对封装文本进行解密,根据解密结果确定通信加密密钥。 在上述实施例的基础上,还包括账号信息认证响应模块用于: 根据通信加密密钥对账号加密信息进行解密,得到用户名和密码; 对用户名和密码进行身份认证,得到认证结果; 将认证结果发送至客户端。 在上述实施例的基础上,还包括用户权限管理响应模块,用户权限管理响应模块用于: 向客户端反馈用户名对应的目标管理权限以及目标管理权限对应的被管理用户,管理权限包括多个管理权限,低管理权限的用户为高管理权限的用户的被管理用户; 响应于客户端发送的配置操作,对被管理用户的配置信息进行配置,得到配置操作结果; 将配置操作结果发送至客户端。 在上述实施例的基础上,用户权限管理响应模块用于: 配置被管理用户可执行的操作类型,操作类型包括读操作、写操作和删除操作; 配置被管理用户可访问的文件目录; 配置被管理用户可访问的文件名称的正则表达式。 在上述实施例的基础上,第二传输模块670用于: 根据通信加密密钥和国密算法SM对目标数据进行加密,将加密结果发送至客户端; 或者, 接收客户端发送的加密结果,根据通信加密密钥和国密算法SM对加密结果进行解密,得到目标数据。 本发明实施例提供的数据传输装置,第一消息接收模块610接收客户端发送的第一消息,第一消息包括第一随机数;第二生成模块620生成第二随机数,生成非对称加密公钥及其非对称加密私钥;签名模块630根据第一随机数、第二随机数和非对称加密公钥进行木兰编码,得到木兰签名;第二消息发送模块640向客户端发送第二消息,第二消息包括木兰签名、第二随机数以及非对称加密公钥;第三消息接收模块650接收客户端发送的第三消息,第三消息包括封装文本;第三生成模块660根据非对称加密私钥和预设非对称加密算法对上述封装文本进行解密,根据解密结果确定通信加密密钥;第二传输模块670根据通信加密密钥与客户端进行目标数据的传输。第二消息中携带的木兰签名,具有抗量子计算的能力,避免伪造服务器冒充合法服务器与客户端进行通信及认证。基于木兰签名算法对木兰签名进行解码,能够得到服务器证书,通过认证服务器对该服务器证书进行验证后,可实现对合法的服务器进行认证。在此基础上,客户端与服务器协商出的通信加密密钥能够用于后续的文件传输,提高文件传输的安全性。 本发明实施例所提供的数据传输装置可执行本发明任意实施例所提供的数据传输方法,具备执行方法相应的功能模块和有益效果。 实施例七 图8为本发明实施例七提供的一种数据传输终端的结构示意图,如图8所示,该数据传输终端包括处理器70、存储器71、输入装置72和输出装置73;数据传输终端中处理器70的数量可以是一个或多个,图8中以一个处理器70为例;数据传输终端中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图8中以通过总线连接为例。 存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据传输方法对应的程序指令/模块(例如,第一消息发送模块510、第二消息接收模块520、第一生成模块530、第三消息发送模块540以及第一传输模块550)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行数据传输终端的各种功能应用以及数据处理,即实现上述的数据传输方法。 存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至数据传输终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。 输入装置72可用于接收输入的数字或字符信息,以及产生与数据传输终端的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。 实施例八 图9为本发明实施例八提供的一种服务器的结构示意图,如图9所示,该服务器包括处理器80、存储器81、输入装置82和输出装置83;服务器中处理器80的数量可以是一个或多个,图9中以一个处理器80为例;服务器中的处理器80、存储器81、输入装置82和输出装置83可以通过总线或其他方式连接,图9中以通过总线连接为例。 存储器81作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据传输方法对应的程序指令/模块(例如,第一消息接收模块610、第二生成模块620、签名模块630、第二消息发送模块640、第三消息接收模块650、第三生成模块660以及第二传输模块670)。处理器80通过运行存储在存储器81中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的数据传输方法。 存储器81可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器81可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器81可进一步包括相对于处理器80远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。 输入装置82可用于接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置83可包括显示屏等显示设备。 实施例九 本发明实施例九还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种数据传输方法。当该方法应用于客户端时,该方法包括: 向服务器发送第一消息,第一消息用于触发数据传输的握手过程,第一消息包括第一随机数; 接收服务器发送的第二消息,第二消息包括根据木兰签名算法对第一随机数、第二随机数以及非对称加密公钥进行编码得到的木兰签名、非对称加密公钥以及第二随机数; 若验证木兰签名合法,根据本地生成的第三随机数、第二随机数和非对称加密公钥通过预设非对称加密算法生成封装文本和通信加密密钥; 向服务器发送第三消息,第三消息包括封装文本,以便服务根据非对称加密私钥和封装文本确定通信加密密钥; 根据通信加密密钥与服务器进行目标数据的传输。 在上述实施方式的基础上,根据本地生成的第三随机数、第二随机数和非对称加密公钥通过预设非对称加密算法生成封装文本和通信加密密钥,包括: 根据本地生成的第三随机数、第二随机数和AKCN-MLWE公钥通过AKCN-MLWE加密算法生成封装文本和通信加密密钥。 在上述实施方式的基础上,在根据本地生成的第三随机数、第二随机数和非对称加密公钥通过预设非对称加密算法生成封装文本和通信加密密钥之后,还包括: 根据通信加密密钥对用户名和密码进行加密,得到账号加密信息; 在第三消息中携带账号加密信息; 接收到服务器根据账号加密信息反馈的认证结果。 在上述实施方式的基础上,在向服务器发送第三消息之后,还包括: 通过服务器获取用户名对应的目标管理权限以及目标管理权限对应的被管理用户,管理权限包括多个管理权限,低管理权限的用户为高管理权限的用户的被管理用户; 响应于用户输入的配置操作,将配置操作发送至服务器,配置操作包括文件操作权限配置以及密码配置; 接收服务器反馈的配置操作结果。 在上述实施方式的基础上,配置操作用于: 配置被管理用户可执行的操作类型,操作类型包括读操作、写操作和删除操作;或者, 配置被管理用户可访问的文件目录;或者, 配置被管理用户可访问的文件名称的正则表达式。 在上述实施方式的基础上,根据通信加密密钥与服务器进行目标数据的传输,包括: 根据通信加密密钥和国密算法SM对目标数据进行加密,将加密结果发送至服务器; 或者, 接收服务器发送的加密结果,根据通信加密密钥和国密算法SM对加密结果进行解密,得到目标数据。 当该方法应用于服务器时,该方法包括: 接收客户端发送的第一消息,第一消息包括第一随机数; 生成第二随机数,生成非对称加密公钥及其非对称加密私钥; 根据第一随机数、第二随机数和非对称加密公钥进行木兰编码,得到木兰签名; 向客户端发送第二消息,第二消息包括木兰签名、第二随机数以及非对称加密公钥; 接收客户端发送的第三消息,第三消息包括封装文本; 根据非对称加密私钥和预设非对称加密算法对上述封装文本进行解密,根据解密结果确定通信加密密钥; 根据通信加密密钥与客户端进行目标数据的传输。 在上述实施方式的基础上,根据非对称加密私钥和预设非对称加密算法对上述封装文本进行解密,根据解密结果确定通信加密密钥,包括: 根据AKCN-MLWE私钥和AKCN-MLWE算法对封装文本进行解密,得到通信加密密钥。 在上述实施方式的基础上,第三消息还包括账号加密信息;在接收客户端发送的第三消息之后,还包括: 根据通信加密密钥对账号加密信息进行解密,得到用户名和密码; 对用户名和密码进行身份认证,得到认证结果; 将认证结果发送至客户端。 在上述实施方式的基础上,在接收客户端发送的第三消息之后,还包括: 向客户端反馈用户名对应的目标管理权限以及目标管理权限对应的被管理用户,管理权限包括多个管理权限,低管理权限的用户为高管理权限的用户的被管理用户; 响应于客户端发送的配置操作,对被管理用户的配置信息进行配置,得到配置操作结果; 将配置操作结果发送至客户端。 在上述实施方式的基础上,响应于用户输入的配置操作,对被管理用户进行管理,包括: 配置被管理用户可执行的操作类型,操作类型包括读操作、写操作和删除操作; 配置被管理用户可访问的文件目录; 配置被管理用户可访问的文件名称的正则表达式。 在上述实施方式的基础上,根据通信加密密钥与服务器进行目标数据的传输,包括: 根据通信加密密钥和国密算法SM对目标数据进行加密,将加密结果发送至客户端; 或者, 接收客户端发送的加密结果,根据通信加密密钥和国密算法SM对加密结果进行解密,得到目标数据。 当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的数据传输方法中的相关操作。 通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(RandomAccess Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。 值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |