CN116866333A - 一种加密文件传输方法、装置、电子设备及存储介质 - Google Patents
一种加密文件传输方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116866333A CN116866333A CN202310794086.9A CN202310794086A CN116866333A CN 116866333 A CN116866333 A CN 116866333A CN 202310794086 A CN202310794086 A CN 202310794086A CN 116866333 A CN116866333 A CN 116866333A
- Authority
- CN
- China
- Prior art keywords
- file
- user
- public key
- encryption
- request
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000005540 biological transmission Effects 0.000 claims abstract description 51
- 230000004044 response Effects 0.000 claims description 138
- 238000012795 verification Methods 0.000 claims description 104
- 238000004422 calculation algorithm Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000007689 inspection Methods 0.000 claims description 2
- 238000012886 linear function Methods 0.000 claims description 2
- 238000004806 packaging method and process Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 235000014510 cooky Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及安全传输技术领域,揭露了一种加密文件传输方法、装置、电子设备及存储介质,具体实现方案为:用户端请求并验证服务器端数字证书;用户端生成用户公钥私钥对,并利用服务器公钥加密后发送至服务器端;服务器端利用服务空闲时间加密文件;用户端利用用户私钥对请求进行加密,服务器端解密请求并查找对应的已经事先加密好的文件,使用户公钥加密密钥后一起发送给用户;用户解密文件,并对原文件进行完整性校验。本发明能提高加密文件传输方法的效率及安全性。
Description
技术领域
本发明涉及安全传输技术领域,尤其涉及一种加密文件传输方法、装置、电子设备及存储介质。
背景技术
为了数据传输的安全性,越来越多的网站采取了https(超文本传输协议)网络传输协议进行文件传输。https采用对称加密对传输的文件进行加密,采用非对称加密算法对加密文件进行身份认证,同时兼顾了安全和加密效率。但是,https网络传输协议存在一些弊端,在每次传输文件时都需要对传输的文件进行加密,对于体积比较大或者访问量比较多的文件,需要的加密处理时间会比较长,导致传输文件的效率低,严重限制了网络传输协议的使用范围。随着https协议的广泛应用,其对文件加密的使用缺陷逐渐表现出来,例如,用户和***首次交换对称加密密钥后,密钥存放于用户浏览器的cookie(本地终端存储数据)中,在以后的传输文件过程中都会采用该对称加密密钥进对文件行加密解密,这样多次使用同一个密钥进行加密解密会产生存在巨大的安全风险,而且密钥存于浏览器的cookie中,容易被泄露;另外,在采用https传输文件时,一次文件传输要经过加密和解密两次操作,特别是服务器端一般同时需要服务多个用户,较长的加密时间会极大地限制服务效率。综上所述,现有的加密文件传输方法存在效率及安全性较低的问题。
发明内容
本发明提供一种加密文件传输方法、装置、电子设备及存储介质,其主要目的在于解决加密文件传输方法存在效率及安全性较低的问题。
为实现上述目的,本发明提供的一种加密文件传输方法,应用于用户端,包括:向服务器端发送证书验证请求;接收服务器端根据证书验证请求所返回的数字证书,根据数字证书对服务器端进行身份验证,得到身份验证结果;当身份验证结果为身份安全时,利用非对称加密算法根据数字证书生成用户密钥对;利用数字证书中的服务器公钥对用户密钥对中的用户公钥加密,得到加密公钥,向服务器端发送加密公钥;利用用户密钥对中的用户私钥对生成的文件请求进行加密,得到加密请求,向服务器端发送加密请求;接收服务器端基于加密公钥以及加密请求所返回的响应文件,对响应文件进行解密,得到原响应文件;对原响应文件进行签名验证,得到签名验证结果。
为实现上述目的,本发明提供的一种加密文件传输方法,应用于服务器端,包括:在接收到用户端发送的证书验证请求之后,向用户端发送数字证书;其中,数字证书用于用户端进行身份验证,得到身份验证结果;接收用户端发送的加密公钥,对加密公钥进行解密处理,得到用户公钥;其中,加密公钥为身份验证结果为身份安全时,用户端对利用非对称加密算法根据数字证书生成用户密钥对中的用户公钥进行加密得到;接收用户端发送的加密请求,根据加密请求获取待处理响应文件;其中,加密请求为用户端利用用户密钥对中的用户私钥对生成的文件请求进行加密得到;根据用户公钥对待处理响应文件进行加密,得到响应文件,向用户端发送响应文件;其中,响应文件用于用户端解密得到原响应文件,原响应文件用于用户端进行签名验证,得到签名验证结果。
本发明还提供一种加密文件传输装置,应用于用户端,包括:身份验证模块,用于向服务器端发送证书验证请求,接收服务器端根据证书验证请求所返回的数字证书,根据数字证书对服务器端进行身份验证,得到身份验证结果;加密公钥生成模块,用于当身份验证结果为身份安全时,利用非对称加密算法根据数字证书生成用户密钥对,利用数字证书中的服务器公钥对用户密钥对中的用户公钥进行加密,得到加密公钥,向服务器端发送加密公钥;文件请求加密模块,用于利用用户密钥对中的用户私钥对生成的文件请求进行加密,得到加密请求,向服务器端发送加密请求;响应文件解密模块,用于接收服务器端基于加密公钥以及加密请求所返回的响应文件,对响应文件进行解密,得到原响应文件;签名验证模块,用于对原响应文件进行签名验证,得到签名验证结果。
本发明还提供一种加密文件传输装置,应用于服务器端,包括:数字证书发送模块,用于在接收到用户端发送的证书验证请求之后,向用户端发送数字证书;其中,数字证书用于用户端进行身份验证,得到身份验证结果;加密公钥解密模块,用于接收用户端发送的加密公钥,对加密公钥进行解密处理,得到用户公钥;其中,加密公钥为身份验证结果为身份安全时,用户端利用非对称加密算法根据数字证书生成用户密钥对中的用户公钥进行加密得到;待处理响应文件获取模块,用于接收用户端发送的加密请求,根据加密请求获取待处理响应文件;其中,加密请求为用户端利用用户密钥对中的用户私钥对生成的文件请求进行加密得到;响应文件生成模块,用于根据用户公钥对待处理响应文件进行加密,得到响应文件,向用户端发送响应文件;其中,响应文件用于用户端解密得到原响应文件,原响应文件用于用户端进行签名验证,得到签名验证结果。
本发明还提供一种电子设备,该电子设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,处理器用于执行存储在存储器上的第一计算机程序或第二计算机程序;处理器执行第一计算机程序时,实现上述应用于用户端的加密文件传输方法中的步骤;处理器执行第二计算机程序时,实现上述应用于服务器端的加密文件传输方法中的步骤。
本发明还提供一种计算机可读存储介质,存储有计算机程序,其特征在于,其上存储有第一计算机程序或第二计算机程序,其特征在于,第一计算机程序被处理器执行时,实现上述应用于用户端的加密文件传输方法中的步骤;第二计算机程序被处理器执行时,实现上述应用于服务器端的加密文件传输方法中的步骤。
本发明实施例提出了一种加密文件传输方法,用户发起请求时,使用用户私钥加密文件请求,服务器端通过用户公钥确认用户端的身份,用户端的身份无法被冒充,提高了文件传输的安全性;根据用户公钥对待处理响应文件进行加密,减少了加密的过程,加快了传输文件效率;对于用户端和服务器端的多次交互,不同文件的加密密钥不相同,当出现密钥泄露时,避免出现全部文件丢失,可以降低文件泄露的风险,提高的传输的安全性。因此本发明提出的加密文件传输方法、装置、电子设备及存储介质,可以解决加密文件传输方法存在效率及安全性较低的问题。
附图说明
图1为本发明一实施例提供的加密文件传输方法的信令流程示意图;
图2为本发明一实施例提供的应用于用户端的加密文件传输方法的流程示意图;
图3为本发明一实施例提供的用户端向服务器端发送加密公钥的交互示意图;
图4为本发明一实施例提供的用户端加密文件请求的示意图;
图5为本发明一实施例提供的用户端解密文件的示意图;
图6为本发明一实施例提供的应用于服务器端的加密文件传输方法的流程示意图;
图7为本发明一实施例提供的服务器端向用户端发送数字证书的交互示意图;
图8为本发明一实施例提供的服务器端对文件进行加密的原理示意图;
图9为本发明一实施例提供的应用于用户端的加密文件传输装置的功能模块图;
图10为本发明一实施例提供的应用于服务器端的加密文件传输装置的功能模块图;
图11为发明一实施例提供的实现加密文件传输方法的电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种加密文件传输方法。加密文件传输方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,加密文件传输方法可以由安装在终端设备或服务端设备的软件或硬件来执行,软件可以是区块链平台。服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1所示,为本发明一实施例提供的加密文件传输方法的信令流程示意图。
在本实施例中,用户端向服务器端发送证书验证请求;服务器端在接收到用户端发送的证书验证请求之后,向用户端发送数字证书;用户端接收服务器端根据证书验证请求所返回的数字证书,根据数字证书对服务器端进行身份验证,得到身份验证结果;当身份验证结果为身份安全时,利用非对称加密算法根据数字证书生成用户密钥对;利用数字证书中的服务器公钥对用户密钥对中的用户公钥加密,得到加密公钥,向服务器端发送加密公钥;服务器端接收用户端发送的加密公钥,对加密公钥进行解密处理,得到用户公钥;用户端利用用户密钥对中的用户私钥对生成的文件请求进行加密,得到加密请求,向服务器端发送加密请求;服务器端接收用户端发送的加密请求,根据加密请求获取待处理响应文件;服务器端根据用户公钥对待处理响应文件进行加密,得到响应文件,向用户端发送响应文件;用户端接收服务器端基于加密公钥以及加密请求所返回的响应文件,对响应文件进行解密,得到原响应文件;对原响应文件进行签名验证,得到签名验证结果。
参照图2所示,为本申请一实施例提供的应用于用户端的加密文件传输方法的流程示意图。在本实施例中,该加密文件传输方法包括:
S21、向服务器端发送证书验证请求。
在一个实施例中,证书验证请求是用于向服务器端索要证书,然后利用证书验证服务器端的身份;证书可以为CA(Certificate Authority,证书授权)证书,证书是数字签名的技术基础保障,也是用于证明网上实体身份及其公钥的合法性。
S22、接收服务器端根据证书验证请求所返回的数字证书,根据数字证书对服务器端进行身份验证,得到身份验证结果。
在一个实施例中,身份验证的目的是验证服务器端的身份信息,防止服务器端的身份被冒充,保证用户端与服务器端之间进行信息交互的安全性;数字证书是用于证明服务器端身份的凭证,包含含公钥、私钥以及密文信息,是公钥的载体,具体的,数字证书内的公钥与服务器端的实体身份相绑定,可以表明实体身份与公钥二者之间的匹配关系。
在一个实施例中,根据数字证书对服务器端进行身份验证,得到身份验证结果,包括:对数字证书进行合法检验,得到合法判断结果;当合法判断结果为数字证书合法,则判定服务器端的身份安全,将身份安全作为身份验证结果;当合法判断结果为数字证书不合法,则判定服务器端的身份不安全,将身份不安全作为身份验证结果。在一个实施例中,合法检验是检验数字证书中的证书有效期、证书链以及黑名单检查;其中,证书链是由根证书、中间证书、用户证书组成的一条完整的证书信任链,只有当证书链上的各个证书都有效时,才说明数字证书为合法的,从而用户端才会通过对服务器端的身份验证。
S23、当身份验证结果为身份安全时,利用非对称加密算法根据数字证书生成用户密钥对。
在一个实施例中,用户密钥对包含一对公钥和私钥,可以采用RSA(非对称加密)算法或者椭圆曲线加密算法进行密钥生成;其中,用户私钥(Private_user)为随机数,用户公钥(Public_user)是根据私钥通过非对称加密算法生成,(Public_user=RSA(Private_user));用户公钥公开后被用作用户的身份凭证,由于无法通过公钥反推出私钥,所以无法伪造出这个公钥对应的私钥,可以保证用户密钥对的安全性。
在一个实施例中,利用非对称加密算法根据数字证书生成用户密钥对,包括:初始化随机大质数,对随机大质数进行计算,得到乘积值;对乘积值进行积性函数计算,得到函数参数;根据数字证书中密文信息对函数参数进行封装,得到密钥对。
在一个实施例中,随机大质数可以是两个质数P、Q,然后计算P、Q的乘积N;积性函数计算可以采用欧拉函数对P、Q进行计算;封装也可以采用非对称的加密方法对函数参数进行加密处理;数字证书中密文信息是由服务器端发起会话密钥后利用数字证书中包含的公钥及私钥进行封装加密得到的,用户端可以采用非对称加密算法对密文信息进行解封装,得到与服务器端相同的会话密钥,根据会话密钥对函数参数中进行封装得到密钥对;函数参数表示为N、e、d,其中,e与Φ(N)是互质的,将N和e封装成用户公钥,N和d封装成用户私钥。
在一个实施例中,利用下式对乘积值进行积性函数计算:
N=P*Q
Φ(N)=(P-1)(Q-1)
1<e<Φ(N)
e*d=1(modΦ(N))
其中,P与Q分别表示为随机大质数;N表示为乘积值;d表示为函数参数中的中间计算参数;e表示为函数参数中的随机参数。
S24、利用数字证书中的服务器公钥对用户密钥对中的用户公钥加密,得到加密公钥,向服务器端发送加密公钥。
在一个实施例中,对用户密钥对中的用户公钥进行加密的目的是保护用户公钥的安全性,根据服务器端的公钥进行加密处理,得到加密公钥,然后将加密公钥发送给服务器端,服务器端对加密公钥进行解密,得到用户公钥,具体过程如图3所示。
具体地,在一个实施例中,服务器端的公钥存储在数字证书中,加密处理可以采用RSA算法,加密过程可以表示为:public_encrypt=RSA_encrypt(Public_server,Public_user);其中,Public_server表示为服务器端的公钥;Public_uSer表示为用户公钥;public_encrypt表示为加密后的公钥。
S25、利用用户密钥对中的用户私钥对生成的文件请求进行加密,得到加密请求,向服务器端发送加密请求。
在一个实施例中,文件请求是服务器端在其***内进行文件查询的依据,由于是利用用户密钥对中的用户私钥对文件请求进行加密,同时用户私钥只存储在用户端中,无法伪造,所以能够避免用户请求在传输过程中受到非法入侵者的篡改。
在一个实施例中,加密可以采用RSA算法如图4所示,加密过程可以表示为:request_encrypt=RSA_encrypt(request,Private_user);其中,request_encrypt表示为加密请求;request表示为文件请求;Private_user表示为用户私钥。
S26、接收服务器端基于加密公钥以及加密请求所返回的响应文件,对响应文件进行解密,得到原响应文件。
在一个实施例中,响应文件是包含加密响应内容、加密后的文件、加密后的随机加密密钥以及文件签名(response_encrypt,file_encrypt,secret_key_encrypt,digest)。
在一个实施例中,对响应文件进行解密,得到原响应文件,包括:利用用户私钥对响应文件对应的密钥进行解密,得到对称加密密钥;利用对称加密密钥对响应文件中加密后的文件进行解密,得到原响应文件。
在一个实施例中,原响应文件包含响应内容、原文件、对称加密密钥以及文件签名,如图5所示,表示为用户端解密文件。
S27、对原响应文件进行签名验证,得到签名验证结果。
在一个实施例中,对原响应文件进行签名验证,得到签名验证结果,包括:对原响应文件中的原文件进行哈希签名计算,得到哈希签名;将哈希签名与原响应文件中的文件签名进行一致性比对,得到签名验证结果。
在一个实施例中,哈希签名计算的过程可以表示为:
digest 1=sha256(file)
其中,digest 1表示为哈希签名;file表示为原文件。
在一个实施例中,一致性比对是对为了校验原响应文件的完整性性;当签名验证结果为哈希签名与文件签名一致,则判定原响应文件没有被篡改;当签名验证结果为哈希签名与文件签名不一致,则判定原响应文件被篡改。
参照图6所示,为本申请一实施例提供的应用于服务器端的加密文件传输方法的流程示意图。在本实施例中,该加密文件传输方法包括:
S61、在接收到用户端发送的证书验证请求之后,向用户端发送数字证书;其中,数字证书用于用户端进行身份验证,得到身份验证结果;。
在一个实施例中,在接收到验证请求时,将存储在本地的CA(CertificateAuthority,证书授权)证书发送给用户端,如图7所示,表示为用户端的用户获取服务端公钥,并验证服务端的身份,其中,用户端验证服务端的CA证书,服务器端包含公钥(Public_server)以及私钥(Private_user);本地的CA证书一般包含服务器端的公钥、签发机构等信息,可以证明服务器端的身份信息。
S62、接收用户端发送的加密公钥,对加密公钥进行解密处理,得到用户公钥;其中,加密公钥为身份验证结果为身份安全时,用户端对利用非对称加密算法根据数字证书生成用户密钥对中的用户公钥进行加密得到。
在一个实施例中,用户公钥是利用预设的服务器私钥对加密公钥进行解密处理得到的,解密过程可以表示为:
Public_user=RSA_decrypt(public_encrypt,Private_server);
其中,Public_user表示为用户公钥;public_encrypt表示为加密公钥;Private_server表示为服务器私钥。
在一个实施例中,由于服务器私钥是存储在服务器端的本地***中,无法被非法入侵者窃取,所以非法入侵者无法经过解密得到用户公钥,保证了用户公钥在传输过程中的安全性;在得到用户公钥后服务器端将其进行保存,作为用户端的身份凭证,服务器端与用户端可以根据用户公钥建立通信联系。
S63、接收用户端发送的加密请求,根据加密请求获取待处理响应文件;其中,加密请求为用户端利用用户密钥对中的用户私钥对生成的文件请求进行加密得到。
在一个实施例中,根据加密请求获取待处理响应文件,包括:根据用户公钥对加密请求进行解密,得到文件请求;获取待处理文件,对待处理文件进行对称加密,得到加密文件对;根据文件请求在加密文件对中进行文件查找,得到待处理响应文件。
在一个实施例中,由于非对称加密算法的时间更长,所以采用对称加密的方法,例如,AES加密算法,由于每一个待处理文件的加密密钥都是随机生成的,因此可以提高文件的安全性;加密文件对包含加密后的文件、随机加密密钥及文件签名(file_encrypt,secret_key,digest),其中,文件签名采用哈希算法(例如sha256)对待处理文件进行摘要生成,得到文件摘要,然后根据加密密钥中的私钥对文件摘要进行签名计算,得到文件签名;文件签名用于用户端进行签名验证,保证文件不被篡改。
在一个实施例中,加密文件对按照加密文件对以及与文件明文一一对应的存储方式存储在服务器端中,文件明文是加密文件对的索引信息;首先利用服务器端的***查询服务根据文件请求进行明文查找,得到文件明文,然后根据文件明文得到与文件明文对应的加密文件对,即待处理响应文件;文件加密可以在服务器端空闲的时候进行,提高文件加密的效率。
在一个实施例中,由于对加密请求进行解密的过程与对加密公钥进行解密的过程类似,在此不做过多赘述。
S64、根据用户公钥对待处理响应文件进行加密,得到响应文件,向用户端发送响应文件;其中,响应文件用于用户端解密得到原响应文件,原响应文件用于用户端进行签名验证,得到签名验证结果。
在一个实施例中,待处理响应文件中的内容是已经保存好的单次响应内容response,根据用户公钥对待处理响应文件进行加密是对待处理响应文件中单次响应内容及待处理响应文件中的随机加密密钥进行加密;特别地,对于不是***已经保存好的单次响应内容,也可以利用随机加密密钥进行加密处理,得到加密响应内容,加密处理的过程可以表示为:
response_encrypt=AES_encrypt(response,secret_key);
其中,response_encrypt表示为加密响应内容;response表示为单次响应内容;secret_key表示为随机加密密钥。
如图8所示为服务器端对文件进行加密的原理示意图,在一个实施例中,将加密响应内容附加在响应文件中,得到响应文件,向用户端发送的响应文件包含加密响应内容(response_encrypt)、加密后的文件(file_encrypt)、加密后的随机加密密钥(secret_key_encrypt)以及文件签名(digest)。采用对待处理响应文件进行加密的方法,不需要对预先已经加密的文件加密,只需要对单次响应内容以及随机加密密钥进行加密,由于单次响应内容以及随机加密密钥的体积比较小,可以节省大量的加密时间,同时,由于随机加密密钥的随机性,在响应文件的传输过程中可以保证加密后的随机加密密钥的安全性。
本发明提出了一种加密文件传输方法,用户发起请求时,使用用户私钥加密文件请求,服务器端通过用户公钥确认用户端的身份,用户端的身份无法被冒充,提高了文件传输的安全性;根据用户公钥对待处理响应文件进行加密,减少了加密的过程,加快了传输文件效率;对于用户端和服务器端的多次交互,不同文件的加密密钥不相同,当出现密钥泄露时,避免出现全部文件丢失,可以降低文件泄露的风险,提高的传输的安全性。因此,本发明提出的一种加密文件传输方法,可以解决加密文件传输方法存在效率及安全性较低的问题。
如图9所示,是本发明一实施例提供的应用于用户端的加密文件传输装置的功能模块图。
本发明加密文件传输装置900可以安装于电子设备中。根据实现的功能,加密文件传输装置900可以包括身份验证模块901、加密公钥生成模块902、文件请求加密模块903、响应文件解密模块904及签名验证模块905。本发明模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:身份验证模块901,用于向服务器端发送证书验证请求,接收服务器端根据证书验证请求所返回的数字证书,根据数字证书对服务器端进行身份验证,得到身份验证结果;加密公钥生成模块902,用于当身份验证结果为身份安全时,利用非对称加密算法根据数字证书生成用户密钥对;利用数字证书中的服务器公钥对用户公钥加密,得到加密公钥,向服务器端发送加密公钥;文件请求加密模块903,用于利用用户密钥对中的用户私钥对生成的文件请求进行加密,得到加密请求,向服务器端发送加密请求;响应文件解密模块904,用于接收服务器端基于加密公钥以及加密请求所返回的响应文件,对响应文件进行解密,得到原响应文件;签名验证模块905,用于对原响应文件进行签名验证,得到签名验证结果。
详细地,本发明实施例中加密文件传输装置900中的各模块在使用时采用与附图中的加密文件传输方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图10所示,是本发明一实施例提供的应用于服务器端的加密文件传输装置的功能模块图。
本发明加密文件传输装置1000可以安装于电子设备中。根据实现的功能,加密文件传输装置1000可以包括数字证书发送模块1001、加密公钥解密模块1002、待处理响应文件获取模块1003及响响应文件生成模块1004。本发明模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:数字证书发送模块1001,用于在接收到用户端发送的证书验证请求之后,向用户端发送数字证书;其中,数字证书用于用户端进行身份验证,得到身份验证结果;加密公钥解密模块1002,用于接收用户端发送的加密公钥,对加密公钥进行解密处理,得到用户公钥;其中,加密公钥为身份验证结果为身份安全时,用户端对利用非对称加密算法根据数字证书生成用户密钥对中的用户公钥进行加密得到;待处理响应文件获取模块1003,用于接收用户端发送的加密请求,根据加密请求获取待处理响应文件;其中,加密请求为用户端利用用户密钥对中的用户私钥对生成的文件请求进行加密得到;响应文件生成模块1004,用于根据用户公钥对待处理响应文件进行加密,得到响应文件,向用户端发送响应文件;其中,响应文件用于用户端解密得到原响应文件,原响应文件用于用户端进行签名验证,得到签名验证结果。
详细地,本发明实施例中加密文件传输装置1000中的各模块在使用时采用与附图中的加密文件传输方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图11所示,是本发明一实施例提供的实现加密文件传输方法的电子设备的结构示意图。
电子设备1100可以包括处理器1101、存储器1102、通信总线1103以及通信接口1104,还可以包括存储在存储器1102中并可在处理器1101上运行的计算机程序,如加密文件传输程序。
其中,处理器1101在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing Unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器1101是电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在存储器1102内的程序或者模块(例如执行加密文件传输程序等),以及调用存储在存储器1102内的数据,以执行电子设备的各种功能和处理数据。
存储器1102至少包括一种类型的可读存储介质,可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器1102在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。存储器1102在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器1102还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器1102不仅可以用于存储安装于电子设备的应用软件及各类数据,例如基于加密文件传输程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
通信总线1103可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。总线被设置为实现存储器1102以及至少一个处理器1101等之间的连接通信。
通信接口1104用于上述电子设备与其他设备之间的通信,包括网络接口和用户接口。可选地,网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
图11仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图11示出的结构并不构成对电子设备1100的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与至少一个处理器1101逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
具体地,处理器1101对上述指令的具体实现方法可参考附图对应实施例中相关步骤的描述,在此不赘述。
进一步地,电子设备1100集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明还提供一种计算机可读存储介质,可读存储介质存储有计算机程序,计算机程序在被处理器所执行时,可以实现上述任一实施例的加密文件传输方法。需要说明的是,计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (11)
1.一种加密文件传输方法,其特征在于,应用于用户端,所述方法包括:
向服务器端发送证书验证请求;
接收所述服务器端根据所述证书验证请求所返回的数字证书,根据所述数字证书对所述服务器端进行身份验证,得到身份验证结果;
当所述身份验证结果为身份安全时,利用非对称加密算法根据所述数字证书生成用户密钥对;
利用所述数字证书中的服务器公钥对所述用户密钥对中的用户公钥加密,得到加密公钥,向所述服务器端发送所述加密公钥;
利用所述用户密钥对中的用户私钥对生成的文件请求进行加密,得到加密请求,向所述服务器端发送所述加密请求;
接收所述服务器端基于所述加密公钥以及所述加密请求所返回的响应文件,对所述响应文件进行解密,得到原响应文件;
对所述原响应文件进行签名验证,得到签名验证结果。
2.如权利要求1所述的加密文件传输方法,其特征在于,所述利用非对称加密算法根据所述数字证书生成用户密钥对,包括:
初始化随机大质数,对所述随机大质数进行计算,得到乘积值;
对所述乘积值进行积性函数计算,得到函数参数;
利用下式对所述乘积值进行积性函数计算:
N=P*Q
Φ(N)=(P-1)(-1)
1< <Φ(N)
e*d=1(modΦ(N))
其中,P与Q分别表示为所述随机大质数;N表示为所述乘积值;d表示为所述函数参数中的中间计算参数;e表示为所述函数参数中的随机参数;
根据数字证书中密文信息对所述函数参数进行封装,得到密钥对。
3.如权利要求1所述的加密文件传输方法,其特征在于,所述对所述原响应文件进行签名验证,得到签名验证结果,包括:
对所述原响应文件中的原文件进行哈希签名计算,得到哈希签名;
利用下式进行哈希签名计算:
digest1=sh256()
其中,digest1表示为所述哈希签名;file表示为所述原文件;
将所述哈希签名与所述原响应文件中的文件签名进行一致性比对,得到签名验证结果。
4.如权利要求1所述的加密文件传输方法,其特征在于,所述对所述响应文件进行解密,得到原响应文件,包括:
利用所述用户私钥对所述响应文件对应的密钥进行解密,得到对称加密密钥;
利用所述对称加密密钥对所述响应文件中加密后的文件进行解密,得到原响应文件。
5.如权利要求1所述的加密文件传输方法,其特征在于,所述根据所述数字证书对所述服务器端进行身份验证,得到身份验证结果,包括:
对所述数字证书进行合法检验,得到合法判断结果;
当所述合法判断结果为数字证书合法,则判定所述服务器端的身份安全,将身份安全作为身份验证结果;
当所述合法判断结果为数字证书不合法,则判定所述服务器端的身份不安全,将身份不安全作为身份验证结果。
6.一种加密文件传输方法,其特征在于,应用于服务器端,所述方法包括:
在接收到用户端发送的证书验证请求之后,向所述用户端发送数字证书;其中,所述数字证书用于所述用户端进行身份验证,得到身份验证结果;
接收所述用户端发送的加密公钥,对所述加密公钥进行解密处理,得到用户公钥;其中,所述加密公钥为所述身份验证结果为身份安全时,所述用户端对利用非对称加密算法根据所述数字证书生成用户密钥对中的用户公钥进行加密得到;
接收所述用户端发送的所述加密请求,根据所述加密请求获取待处理响应文件;其中,所述加密请求为所述用户端利用所述用户密钥对中的用户私钥对生成的文件请求进行加密得到;
根据所述用户公钥对所述待处理响应文件进行加密,得到响应文件,向所述用户端发送所述响应文件;其中,所述响应文件用于所述用户端解密得到原响应文件,所述原响应文件用于所述用户端进行签名验证,得到签名验证结果。
7.如权利要求6所述的加密文件传输方法,其特征在于,所述根据所述加密请求获取待处理响应文件,包括:
根据所述用户公钥对所述加密请求进行解密,得到文件请求;
获取待处理文件,对所述待处理文件进行对称加密,得到加密文件对;
根据所述文件请求在所述加密文件对中进行文件查找,得到待处理响应文件。
8.一种加密文件传输装置,其特征在于,应用于用户端,所述装置包括:
身份验证模块,用于向服务器端发送证书验证请求,接收所述服务器端根据所述证书验证请求所返回的数字证书,根据所述数字证书对所述服务器端进行身份验证,得到身份验证结果;
加密公钥生成模块,用于当所述身份验证结果为身份安全时,利用非对称加密算法根据所述数字证书生成用户密钥对,利用所述数字证书中的服务器公钥对所述用户密钥对中的用户公钥加密,得到加密公钥,向所述服务器端发送所述加密公钥;
文件请求加密模块,用于利用所述用户密钥对中的用户私钥对生成的文件请求进行加密,得到加密请求,向所述服务器端发送所述加密请求;
响应文件解密模块,用于接收所述服务器端基于所述加密公钥以及所述加密请求所返回的响应文件,对所述响应文件进行解密,得到原响应文件;
签名验证模块,用于对所述原响应文件进行签名验证,得到签名验证结果。
9.一种加密文件传输装置,其特征在于,应用于服务器端,所述装置包括:
数字证书发送模块,用于在接收到用户端发送的证书验证请求之后,向所述用户端发送数字证书;其中,所述数字证书用于所述用户端进行身份验证,得到身份验证结果;
加密公钥解密模块,用于接收所述用户端发送的加密公钥,对所述加密公钥进行解密处理,得到用户公钥;其中,所述加密公钥为所述身份验证结果为身份安全时,所述用户端对利用非对称加密算法根据所述数字证书生成用户密钥对中的用户公钥进行加密得到;
待处理响应文件获取模块,用于接收所述用户端发送的所述加密请求,根据所述加密请求获取待处理响应文件;其中,所述加密请求为所述用户端利用所述用户密钥对中的用户私钥对生成的文件请求进行加密得到;
响应文件生成模块,用于根据所述用户公钥对所述待处理响应文件进行加密,得到响应文件,向所述用户端发送所述响应文件;其中,所述响应文件用于所述用户端解密得到原响应文件,所述原响应文件用于所述用户端进行签名验证,得到签名验证结果。
10.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述处理器用于执行存储在所述存储器上的第一计算机程序或第二计算机程序;
所述处理器执行所述第一计算机程序时,实现权利要求1至5中任意一项所述方法中的步骤,所述处理器执行所述第二计算机程序时,实现权利要求6或7中所述方法中的步骤。
11.一种计算机可读存储介质,其上存储有第一计算机程序或第二计算机程序,其特征在于,所述第一计算机程序被处理器执行时,实现权利要求1至5中任意一项所述方法的步骤,所述第二计算机程序被处理器执行时,实现权利要求6或7所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310794086.9A CN116866333A (zh) | 2023-06-29 | 2023-06-29 | 一种加密文件传输方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310794086.9A CN116866333A (zh) | 2023-06-29 | 2023-06-29 | 一种加密文件传输方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116866333A true CN116866333A (zh) | 2023-10-10 |
Family
ID=88235139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310794086.9A Pending CN116866333A (zh) | 2023-06-29 | 2023-06-29 | 一种加密文件传输方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116866333A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117640251A (zh) * | 2024-01-24 | 2024-03-01 | 中国信息通信研究院 | 基于分布式网络的加解密核验方法和装置、设备和介质 |
-
2023
- 2023-06-29 CN CN202310794086.9A patent/CN116866333A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117640251A (zh) * | 2024-01-24 | 2024-03-01 | 中国信息通信研究院 | 基于分布式网络的加解密核验方法和装置、设备和介质 |
CN117640251B (zh) * | 2024-01-24 | 2024-05-31 | 中国信息通信研究院 | 基于分布式网络的加解密核验方法和装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110336774B (zh) | 混合加密解密方法、设备及*** | |
US8660266B2 (en) | Method of delivering direct proof private keys to devices using an on-line service | |
Yang et al. | Provable data possession of resource-constrained mobile devices in cloud computing | |
JP4616345B2 (ja) | 配布cdを用いて直接証明秘密鍵を装置に配布する方法 | |
US7693286B2 (en) | Method of delivering direct proof private keys in signed groups to devices using a distribution CD | |
CN112671720B (zh) | 一种云平台资源访问控制的令牌构造方法、装置及设备 | |
KR20080051753A (ko) | 보안 제공 시스템 및 방법 | |
CN108390866B (zh) | 基于双代理双向匿名认证的可信远程证明方法及*** | |
CN109951276A (zh) | 基于tpm的嵌入式设备远程身份认证方法 | |
CN116866333A (zh) | 一种加密文件传输方法、装置、电子设备及存储介质 | |
CN113918982B (zh) | 一种基于标识信息的数据处理方法及*** | |
US8954728B1 (en) | Generation of exfiltration-resilient cryptographic keys | |
CN111127020B (zh) | 基于区块链的交易数据混淆方法及相关设备 | |
CN112150151B (zh) | 安全支付方法、装置、电子设备及存储介质 | |
KR100883442B1 (ko) | 온라인 서비스를 사용하여 직접 증명 비밀키를 디바이스에전달하는 방법 | |
CN116318637A (zh) | 设备安全入网通信的方法和*** | |
Liu et al. | Video data integrity verification method based on full homomorphic encryption in cloud system | |
CN111971677A (zh) | 用于移动装置的防篡改数据编码 | |
CN114726644B (zh) | 基于密钥加密的数据传输方法、装置、设备及存储介质 | |
CN112865968B (zh) | 数据密文托管方法、***、计算机设备及存储介质 | |
CN114374519B (zh) | 一种数据传输的方法、***及设备 | |
CN110213245B (zh) | 基于非对称密钥池和代理签名的应用***近距离节能通信方法和*** | |
CN114567425B (zh) | 物联网通信方法、***、SoC Sim和物联网终端 | |
US11496287B2 (en) | Privacy preserving fully homomorphic encryption with circuit verification | |
CN113132107B (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 |