发明内容
本发明所要解决的技术问题是提供一种安全性更高的文件加密方法。
本发明的目的是通过以下技术方案来实现的:
一种文件加密方法,包括步骤:
客户端请求文件;
客户端接收服务端根据服务密钥使用对称加密算法加密的文件,所述服务密钥包括一个时间因子,所述时间因子由服务端在一个时间窗口通过时间一次性口令因子算法获取;
客户端获取加密后的文件,客户端使用相同的时间一次性口令因子算法在同一个时间窗口内获取相同的时间因子;
客户端通过时间因子构造出服务密钥;
客户端根据服务密钥对加密后的文件解密。
进一步的,客户端请求文件时生成一对非对称密钥,所述一对非对称密钥包括公钥和私钥,客户端将公钥发送给服务端;
所述服务密钥还包括一个随机因子,所述服务端将随机因子根据公钥进行非对称加密得到中间文件;
客户端接收所述中间文件;
客户端获取加密后的文件时还获取中间文件,根据私钥解密中间文件获取随机因子;
客户端通过时间因子构造出服务密钥包括客户端通过随机因子和时间因子构造出服务密钥。
客户端生成一对非对称密钥,服务端将随机因子根据公钥进行非对称加密得到中间文件,客户端根据私钥解密中间文件获取随机因子客户端通过随机因子和时间因子构造出服务密钥,进而解密加密的文件,在这个过程中,完整的对称密钥并没有出现在传输过程,客户端将通过密钥中的随机因子重新构造对称密钥进行解密,因此安全性更高,可以每次请求文件都使用不同的密钥,确保密钥安全性。
进一步的,时间一次性口令因子算法包括将一个时间值输入映射为一个随机值。
提高安全性。
进一步的,客户端使用相同的时间一次性口令因子算法在同一个时间窗口内获取相同的时间因子包括客户端和服务端都会将本地时间映射到一个时间窗口,当客户端和服务端处于同一个时间窗口时,根据一次性口令算法可以得到相同的随机值。
用这种方式,时间窗口便解决了有效期的问题。
进一步的,客户端将公钥发送给服务端同时将令牌发送至服务端,服务端根据所述令牌验证是否具有文件权限。
验证是否具有文件权限,如果没有权限则返回空值,不需要再进行后面的加密解密,提高效率。
进一步的,服务端根据所述令牌验证是否具有文件权限包括服务端将所述令牌发送至认证端,并根据认证端返回的结果对文件请求处理。
通过认证端进行认证,提高安全性,软件服务器压力。
一种文件加密系统,包括客户端和服务端;
所述客户端请求文件,
所述服务端根据服务密钥使用对称加密算法加密文件,所述服务密钥包括一个时间因子生成,所述时间因子由服务端在一个时间窗口通过时间一次性口令因子算法获取,所述服务端将加密后的文件发送给客户端;
所述客户端获取加密后的文件,所述客户端使用相同的时间一次性口令因子算法在同一个时间窗口内获取相同的时间因子,所述客户端通过时间因子构造出服务密钥,所述客户端根据服务密钥对文件解密。
同样使用对称加密技术对文件加密,在对称密钥中加入由时间因子,可实现解密的时效性;提高安全性。
进一步的,所述客户端请求文件时生成一对非对称密钥,所述一对非对称密钥包括公钥和私钥,所述客户端将公钥发送给服务端;
所述服务密钥还包括一个随机因子,所述服务端将随机因子根据公钥进行非对称加密得到中间文件;
所述客户端接收所述中间文件;所述客户端获取加密后的文件时还获取中间文件,根据私钥解密中间文件获取随机因子;所述客户端通过时间因子构造出服务密钥包括客户端通过随机因子和时间因子构造出服务密钥。
客户端生成一对非对称密钥,服务端将随机因子根据公钥进行非对称加密得到中间文件,客户端根据私钥解密中间文件获取随机因子客户端通过随机因子和时间因子构造出服务密钥,进而解密加密的文件,在这个过程中,完整的对称密钥并没有出现在传输过程,客户端将通过密钥中的随机因子重新构造对称密钥进行解密,因此安全性更高,可以每次请求文件都使用不同的密钥,确保密钥安全性
进一步的,客户端将公钥发送给服务端同时将令牌发送至服务端;服务端根据所述令牌验证是否具有文件权限。
验证是否具有文件权限,如果没有权限则返回空值,不需要再进行后面的加密解密,提高效率。
进一步的,服务端根据所述令牌验证是否具有文件权限包括服务端将所述令牌发送至认证端,并根据认证端返回的结果对文件请求处理。
通过认证端进行认证,提高安全性,软件服务器压力。
本发明由于服务端根据服务密钥使用对称加密算法加密文件,服务密钥包括一个时间因子,客户端根据时间因子解密加密后的文件,同样使用对称加密技术对文件加密,在对称密钥中加入由时间因子,可实现解密的时效性,提高安全性,时间因子是服务端和服务端在相同的一个时间窗口通过相同的时间一次性口令因子算法获取,没有直接传输时间因子,提高了服务密钥的安全性。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图和较佳的实施例对本发明作进一步说明。
如图1至图5所示,一种文件加密方法,包括步骤:
S1:客户端请求文件;
S2:客户端接收服务端根据服务密钥使用对称加密算法加密的文件,所述服务密钥包括一个时间因子,所述时间因子由服务端在一个时间窗口通过时间一次性口令因子算法获取;
S3:客户端获取加密后的文件,客户端使用相同的时间一次性口令因子算法在同一个时间窗口内获取相同的时间因子;
S4:客户端通过时间因子构造出服务密钥;
S5:客户端根据服务密钥对加密后的文件解密。
由于服务端根据服务密钥使用对称加密算法加密文件,服务密钥包括一个时间因子,客户端根据时间因子解密加密后的文件,同样使用对称加密技术对文件加密,在对称密钥中加入由时间因子,可实现解密的时效性,提高安全性,时间因子是服务端和服务端在相同的一个时间窗口通过相同的时间一次性口令因子算法获取,没有直接传输时间因子,提高了服务密钥的安全性。能提供体验良好的文件加密解决方案,支持加解密的时效性,同时具有很高的安全性。特别在数字版权保护领域,比如商业文档,电子书籍,视频等领域有很广的应用。
客户端请求文件时生成一对非对称密钥,所述一对非对称密钥包括公钥和私钥,客户端将公钥发送给服务端;
所述服务密钥还包括一个随机因子,所述服务端将随机因子根据公钥进行非对称加密得到中间文件;
客户端接收所述中间文件;
客户端获取加密后的文件时还获取中间文件,根据私钥解密中间文件获取随机因子;
客户端通过时间因子构造出服务密钥包括客户端通过随机因子和时间因子构造出服务密钥。
客户端生成一对非对称密钥,服务端将随机因子根据公钥进行非对称加密得到中间文件,客户端根据私钥解密中间文件获取随机因子客户端通过随机因子和时间因子构造出服务密钥,进而解密加密的文件,在这个过程中,完整的对称密钥并没有出现在传输过程,客户端将通过密钥中的随机因子重新构造对称密钥进行解密,因此安全性更高,可以每次请求文件都使用不同的密钥,确保密钥安全性。
本发明的另一优选实施例,一种文件加密方法,包括步骤:
S11:客户端请求文件时生成一对非对称密钥,所述一对非对称密钥包括公钥和私钥,客户端将公钥发送给服务端;
S12:客户端接收服务端根据服务密钥使用对称加密算法加密的文件,所述服务密钥包括一个时间因子和一个随机因子,所述时间因子由服务端在一个时间窗口通过时间一次性口令因子算法获取,所述服务端将随机因子根据公钥进行非对称加密得到中间文件;
S13:客户端获取加密后的文件和中间文件,客户端使用相同的时间一次性口令因子算法在同一个时间窗口内获取相同的时间因子,根据私钥解密中间文件获取随机因子;
S14:客户端通过时间因子和随机因子构造出服务密钥;
S15:客户端根据服务密钥对加密后的文件解密。
由于服务端根据服务密钥使用对称加密算法加密文件,服务密钥包括一个时间因子,客户端根据时间因子解密加密后的文件,同样使用对称加密技术对文件加密,在对称密钥中加入由时间因子,可实现解密的时效性,提高安全性,时间因子是服务端和服务端在相同的一个时间窗口通过相同的时间一次性口令因子算法获取,没有直接传输时间因子,提高了服务密钥的安全性。能提供体验良好的文件加密解决方案,支持加解密的时效性,同时具有很高的安全性。特别在数字版权保护领域,比如商业文档,电子书籍,视频等领域有很广的应用。
客户端生成一对非对称密钥,服务端将随机因子根据公钥进行非对称加密得到中间文件,客户端根据私钥解密中间文件获取随机因子客户端通过随机因子和时间因子构造出服务密钥,进而解密加密的文件,在这个过程中,完整的对称密钥并没有出现在传输过程,客户端将通过密钥中的随机因子重新构造对称密钥进行解密,因此安全性更高,可以每次请求文件都使用不同的密钥,确保密钥安全性。
时间一次性口令因子算法包括将一个时间值输入映射为一个随机值。提高安全性。
客户端使用相同的时间一次性口令因子算法在同一个时间窗口内获取相同的时间因子包括客户端和服务端都会将本地时间映射到一个时间窗口,当客户端和服务端处于同一个时间窗口时,根据一次性口令算法可以得到相同的随机值。用这种方式,时间窗口便解决了有效期的问题。
客户端将公钥发送给服务端同时将令牌发送至服务端,服务端根据所述令牌验证是否具有文件权限。验证是否具有文件权限,如果没有权限则返回空值,不需要再进行后面的加密解密,提高效率。
服务端根据所述令牌验证是否具有文件权限包括服务端将所述令牌发送至认证端,并根据认证端返回的结果对文件请求处理。通过认证端进行认证,提高安全性,软件服务器压力。
本发明的另一优选实施例,一种文件加密方法,当客户端向服务器请求一个文件时,先根据约定的算法(如RSA)生成一对非对称密钥:公钥publicKey,私钥privateKey,然后将公钥publicKey和令牌token发送给服务器(token用于验证是否具有文件权限,如无权限返回空值),服务器收到公钥publicKey后,开始对文件执行加密流程,将加密的文件等内容返回客户端。
文件加密使用对称加密算法,其服务密钥secretKey由一个随机因子(srand)和一个时间一次性口令因子(TOTP)生成。将随机因子srand使用公钥publicKey进行非对称加密得到中间文件e_srand,然后将中间文件e_srand和加密后的文件返回给客户端即可。
在这个过程中,完整的对称密钥并没有出现在传输过程,客户端将通过密钥中的随机因子重新构造对称密钥进行解密,因此安全性更高。
客户端得到加密文件和中间文件e_srand,使用私钥privateKey解密中间文件e_srand可得到随机因子srand,使用相同的时间一次性口令因子(TOTP)算法在同一个时间窗口内可得到相同的时间因子,于是可构造出对称服务密钥secretKey,对文件解密。
本实施例中的时间一次性口令因子(TOTP)是一个算法,将每一个不同的时间值输入映射为一个不同的随机值。客户端和服务器都会将本地时间映射到一个时间窗口(比如以1天或1个星期作为一个窗口),当客户端和服务器处于同一个时间窗口时,根据一次性口令算法可以得到相同的随机值,就能解密成功,否则无法解密。用这种方式,时间窗口便解决了有效期的问题。
本实施例同样使用对称加密技术对文件加密,在对称密钥中加入时间因子(由时间一次性口令算法生成),可实现解密的时效性;并且使用非对称加密算法加密对称密钥,可以每次请求文件都使用不同的密钥,确保密钥安全性。本实施例能提供体验良好的文件加密解决方案,支持加解密的时效性,同时具有很高的安全性。特别在数字版权保护领域,比如商业文档,电子书籍,视频等领域有很广的应用。
本发明的另一优选实施例,一种文件加密系统,包括客户端和服务端;
所述客户端请求文件,
所述服务端根据服务密钥使用对称加密算法加密文件,所述服务密钥包括一个时间因子生成,所述时间因子由服务端在一个时间窗口通过时间一次性口令因子算法获取,所述服务端将加密后的文件发送给客户端;
所述客户端获取加密后的文件,所述客户端使用相同的时间一次性口令因子算法在同一个时间窗口内获取相同的时间因子,所述客户端通过时间因子构造出服务密钥,所述客户端根据服务密钥对文件解密。
同样使用对称加密技术对文件加密,在对称密钥中加入由时间因子,可实现解密的时效性;提高安全性。
所述客户端请求文件时生成一对非对称密钥,所述一对非对称密钥包括公钥和私钥,所述客户端将公钥发送给服务端;
所述服务密钥还包括一个随机因子,所述服务端将随机因子根据公钥进行非对称加密得到中间文件,
所述客户端接收所述中间文件;所述客户端获取加密后的文件时还获取中间文件,根据私钥解密中间文件获取随机因子;所述客户端通过时间因子构造出服务密钥包括客户端通过随机因子和时间因子构造出服务密钥。
客户端生成一对非对称密钥,服务端将随机因子根据公钥进行非对称加密得到中间文件,客户端根据私钥解密中间文件获取随机因子客户端通过随机因子和时间因子构造出服务密钥,进而解密加密的文件,在这个过程中,完整的对称密钥并没有出现在传输过程,客户端将通过密钥中的随机因子重新构造对称密钥进行解密,因此安全性更高,可以每次请求文件都使用不同的密钥,确保密钥安全性
客户端将公钥发送给服务端同时将令牌发送至服务端;服务端根据所述令牌验证是否具有文件权限。验证是否具有文件权限,如果没有权限则返回空值,不需要再进行后面的加密解密,提高效率。
服务端根据所述令牌验证是否具有文件权限包括服务端将所述令牌发送至认证端,并根据认证端返回的结果对文件请求处理。通过认证端进行认证,提高安全性,软件服务器压力。
对称加密包括但不限于DES加密、AES加密、3DES加密、TDEA加密、Blowfish加密、RC2加密、RC4加密、RC5加密、IDEA加密、SKIPJACK加密。
非对称加密包括但不限于RSA加密、Elgamal加密、背包算法加密、Rabin加密、D-H加密、ECC(椭圆曲线加密算法)加密。
所述服务端包括但不限于计算机、服务器、云端服务器。服务端包括但不限于计算机、手机、平板电脑、音频播放器。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。