网页数据加解密方法、装置和系统与流程

文档序号:11951616阅读:164来源:国知局
网页数据加解密方法、装置和系统与流程

本发明涉及网页技术领域,特别是涉及一种网页数据加解密方法、装置和系统。



背景技术:

超文本标记语言(Hyper Text Markup Language,HTML),是万维网的核心语言,其发展使原来静态的网页变成了JavaScript编写的网页(web)应用。随着JavaScript越来越复杂和庞大,用户在使用web应用的过程中已经感觉不到传统网页的刷新和跳转,大大提升了用户的使用体验。

但是,包括JavaScript文件在内的网页数据在服务端和客户端之间进行传输时,存在着安全性差的问题。



技术实现要素:

本发明实施例解决的是如何提高提高网页数据传输时的安全性。

为解决上述问题,本发明实施例提供了一种网页数据加密方法,所述方法包括:

获取待发送网页数据;

将所获取的待发送网页数据进行分块,得到多个数据分块;

将所述多个数据分块进行随机排序;

生成随机排序后的所述多个数据分块对应的索引数据,所述索引数据中包括所述多个数据分块的大小和在所述网页数据中的位置信息;

对所得到的索引数据进行加密,得到经过加密的索引数据;

将随机排序后的数据分块和经过加密的索引数据进行封装处理,生成加密后的网页数据并发送。

可选地,所述对所得到的索引数据进行加密,得到经过加密的索引数据,包括:

生成加密密钥和解密密钥;

采用所生成的加密密钥加密所述索引数据,得到加密后的索引数据;

对所述加密后的索引数据进行MD5运算,得到对应的MD5值;

采用服务端RSA密钥加密得到的MD5值,得到第一签名信息;

采用客户端RSA公钥加密所述加密密钥,得到加密后的加密密钥;

采用得到的加密后的加密密钥、第一签名信息、对应的MD5值、与所述RSA密钥对应的服务端RSA公钥、加密后的索引数据和随机排序后的数据分块,生成对应的文件,并在所生成的文件开始部分添加相应的文件头信息,得到所述加密后的网页数据;其中,所述文件头信息包括加密标识、加密后的加密密钥、第一签名信息、对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、加密后的索引数据和随机排序后的数据分块的位置和大小的信息,所述加密标识用于标识所述加密的网页数据。

可选地,所述加密密钥和所述解密密钥相同。

可选地,所述多个数据块的大小相同。

可选地,在将所获取的网页数据进行分块,得到多个数据分块之前,还包括:对所述网页数据进行加扰。

可选地,所述网页数据为JavaScript文件。

本发明实施例还提供了一种网页数据解密方法,所述网页数据解密方法包括:

接收加密后的网页数据,所述加密后的网页数据包括随机排序后的多个数据分块和经过加密的索引数据的信息,所述索引数据包括所述多个数据分块的大小和在所述网页数据中的位置信息;

解密所述经过加密的索引数据,得到所述索引数据;

采用解密后得到的索引数据,将所述排序后的数据分块恢复至所述网页数据中的对应位置,得到所述网页数据。

可选地,所述加密后的网页数据包括文件头、加密后的加密密钥、第一 签名信息、对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、加密后的索引数据和随机排序后的数据分块的信息,其中,所述文件头中包括加密标识、所述加密后的加密密钥、所述第一签名信息、所述对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、所述加密后的索引数据和所述随机排序后的数据分块的位置和大小的信息,所述加密标识用于标识所述加密后的网页数据;

所述解密所述经过加密的索引数据,得到所述索引数据,包括:

判断所述文件头中是否存在所述加密标识;

当确定所述文件头中存在所述加密标识时,获取所述文件头中的所述加密后的加密密钥、所述第一签名信息、所述对应的MD5值、所述与所述服务端RSA密钥对应的服务端RSA公钥、所述加密后的索引数据和所述排序后的数据分块的位置和大小的信息;

根据所获取所述加密后的加密密钥、所述第一签名信息、所述对应的MD5值、所述与所述服务端RSA密钥对应的服务端RSA公钥、所述加密后的索引数据和所述排序后的数据分块的位置和大小的信息,在所述经过加密后的网页数据的相应位置处分别获取所述第一签名信息、对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、加密后的索引数据和排序后的数据分块的信息;

采用客户端RSA密钥解密所述加密后的加密密钥,得到所述加密密钥;

根据所述加密密钥,得到对应的解密密钥;

采用所获取的与所述服务端RSA密钥对应的服务端RSA公钥解密所述第一签名信息,计算得到MD5值;

将解密得到的MD5值与所获取的所述对应的MD5值进行比较;

当确定计算得到的MD5值与所获取的所述对应的MD5值相同时,采用得到的解密密钥解密所述加密后的索引数据,得到所述解密后的索引数据。

可选地,所述加密密钥和所述解密密钥相同。

可选地,所述采用解密后得到的索引数据,将所述排序后的数据分块恢 复至所述网页数据中的对应位置,得到所述网页数据之后,还包括:对所述网页数据进行解扰。

可选地,所述网页数据为JavaScript文件。

本发明实施例还提供了一种网页数据加密装置,所述网页数据加密装置包括:

获取单元,适于获取待发送网页数据;

分块单元,适于将所获取的待发送网页数据进行分块,得到多个数据分块;

排序单元,适于将所述多个数据分块进行随机排序;

索引生成单元,适于生成随机排序后的所述多个数据分块对应的索引数据,所述索引数据中包括所述多个数据分块的大小和在所述网页数据中的位置信息;

加密单元,适于对所得到的索引数据进行加密,得到经过加密的索引数据;

封装处理单元,适于将随机排序后的数据分块和经过加密的索引数据进行封装处理,生成加密后的网页数据并发送。

可选地,所述加密单元适于:生成加密密钥和解密密钥;采用所生成的加密密钥加密所述索引数据,得到加密后的索引数据;对所述加密后的索引数据进行MD5运算,得到对应的MD5值;采用服务端RSA密钥加密得到的MD5值,得到第一签名信息;采用客户端RSA公钥加密所述加密密钥,得到加密后的加密密钥;采用得到的加密后的加密密钥、第一签名信息、对应的MD5值、与所述RSA密钥对应的服务端RSA公钥、加密后的索引数据和随机排序后的数据分块,生成对应的文件,并在所生成的文件开始部分添加相应的文件头信息,得到所述加密后的网页数据;其中,所述文件头信息包括加密标识、加密后的加密密钥、第一签名信息、对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、加密后的索引数据和随机排序后的数据分块的位置和大小的信息,所述加密标识用于标识所述加密的网页数据。

可选地,所述加密密钥和所述解密密钥相同。

可选地,所述多个数据块的大小相同。

可选地,所述装置还包括:加扰单元,适于在将所获取的网页数据进行分块,得到多个数据分块之前,对所述网页数据进行加扰。

可选地,所述网页数据为JavaScript文件。

本发明实施例还提供了一种网页数据解密装置,所述网页数据解密装置包括:

接收单元,适于接收加密后的网页数据,所述加密后的网页数据包括随机排序后的多个数据分块和经过加密的索引数据的信息,所述索引数据包括所述多个数据分块的大小和在所述网页数据中的位置信息;

解密单元,适于解密所述经过加密的索引数据,得到所述索引数据;

恢复单元,适于采用解密后得到的索引数据,将所述排序后的数据分块恢复至所述网页数据中的对应位置,得到所述网页数据。

可选地,所述加密后的网页数据包括文件头、加密后的加密密钥、第一签名信息、对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、加密后的索引数据和随机排序后的数据分块的信息,其中,所述文件头中包括加密标识、所述加密后的加密密钥、所述第一签名信息、所述对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、所述加密后的索引数据和所述随机排序后的数据分块的位置和大小的信息,所述加密标识用于标识所述加密后的网页数据;

所述解密单元,适于判断所述文件头中是否存在所述加密标识;当确定所述文件头中存在所述加密标识时,,获取所述文件头中的所述加密后的加密密钥、所述第一签名信息、所述对应的MD5值、所述与所述服务端RSA密钥对应的服务端RSA公钥、所述加密后的索引数据和所述排序后的数据分块的位置和大小的信息;根据所获取所述加密后的加密密钥、所述第一签名信息、所述对应的MD5值、所述与所述服务端RSA密钥对应的服务端RSA公钥、所述加密后的索引数据和所述排序后的数据分块的位置和大小的信息, 在所述经过加密后的网页数据的相应位置处分别获取所述第一签名信息、对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、加密后的索引数据和排序后的数据分块的信息;采用客户端RSA密钥解密所述加密后的加密密钥,得到所述加密密钥;根据所述加密密钥,得到对应的解密密钥;采用所获取的与所述服务端RSA密钥对应的服务端RSA公钥解密所述第一签名信息,计算得到MD5值;将解密得到的MD5值与所获取的所述对应的MD5值进行比较;当确定计算得到的MD5值与所获取的所述对应的MD5值相同时,采用得到的解密密钥解密所述加密后的索引数据,得到所述解密后的索引数据。

可选地,所述加密密钥和所述解密密钥相同。

可选地,所述装置还包括:解扰单元,适于所述采用解密后得到的索引数据,将所述排序后的数据分块恢复至所述网页数据中的对应位置,得到所述网页数据之后,对所述网页数据进行解扰。

可选地,所述网页数据为JavaScript文件。

本发明实施例还提供了一种网页数据加解密系统,所述系统包括客户端和服务端,所述服务端包括上述的网页数据加密装置,所述客户端包括权利要求上述的网页数据解密装置。

与现有技术相比,本发明的技术方案具有以下的优点:

上述的方案,将待发送的网页数据进行分块,将得到的多个数据分块进行随机排序,生成随即排序后的多个数据分块对应的索引数据,并对得到的索引数据进行加密后发送至客户端。由于需要首先将加密的索引数据解密后,通过解密后的索引数据,才可以恢复各个数据分块在网页数据中的位置信息,因此,可以提高网页数据传输的安全性。

进一步地,由于加密密钥和解密密钥相同,可以提高网页数据解密的速度。

进一步地,由于划分得到的多个数据分块大小相同,可以简化数据划分的步骤,因此,可以提高网页数据加密的速度,进而可以提升服务端和客户端之间的数据传输速度,提升用户的使用体验。

附图说明

图1是本发明实施例中的一种网页数据传输系统的示意图;

图2是本发明实施例中的一种网页数据加密方法的流程图;

图3是本发明实施例中的对所得到的索引数据进行加密,得到经过加密的索引数据的流程图;

图4是本发明实施例中的一种网页数据解密方法的流程图;

图5是本发明实施例中的解密所述经过加密的索引数据,得到所述索引数据的的流程图;

图6是本发明实施例中的一种网页数据加密装置的结构示意图;

图7是本发明实施例中的一种网页数据解密装置的结构示意图。

具体实施方式

JavaScript是一种属于网络的脚本语言,其已经被广泛用于Web应用的开发,例如,可以用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果等。Web应用在运行使用过程中,JavaScript文件需要在服务端和客户端之间传输。

现有技术中,在服务端和客户端之间传输的JavaScript文件通常在传输之前首先进行加扰,这种方式可以使得JavaScript文件不宜阅读,并可以同时减少JavaScript文件的大小,提高数据传输的速率。

但是,采用简单的加扰方式虽然可以在一定程度上保护JavaScript文件被非法篡改,但是,只要知道加扰过程的算法,用可逆的方法并可以轻易实现JavaScript文件的反加扰。

因此,现有技术中的JavaScript文件在服务端和客户端之间进行传输时存在时安全性差的问题。

为解决现有技术中存在的上述问题,本发明实施例采用的技术方案通过将待发送的网页数据进行分块,将得到的多个数据分块进行随机排序,生成随即排序后的多个数据分块对应的索引数据,并对得到的索引数据进行加密 后发送至客户端。由于需要首先将加密的索引数据解密后,通过解密后的索引数据,才可以恢复各个数据分块在网页数据中的位置信息,因此,可以提高网页数据传输的安全性。

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

为了便于理解,首先对本发明实施例还提供了一种网页数据加解密系统做详细的介绍。

图1示出了本发明实施例中的一种网页数据加解密系统的结构示意图。如图1所述的网页数据加解密系统,可以包括服务端101和客户端102。其中,服务端101包括网页数据加密装置1011,客户端102包括网页数据解密装置1021。

在具体实施中,服务端101用于生成相应的网页数据,例如,JavaScript文件,并将生成的网页数据采用网页数据加密装置1011经过加密处理后发送至客户端102。客户端102在接收到服务端101发送的经过加密的网页数据后,采用网页数据解密装置1021对接收的经过加密的网页数据进行相应的解密处理,得到对应的网页数据。

在本发明一实施例中,服务端中的网页数据加密装置为JavaScript编译器,网页数据解密装置可以为JavaScript加载单元。

下面对本发明实施例中的服务端对网页数据进行加密处理以及客户端对接收的网页数据进行解密处理的方法进行详细的介绍。

图2示出了本发明实施例中的一种网页数据加密方法的流程图。如图2所示的网页数据加密方法,可以包括:

步骤S201:获取待发送网页数据。

在具体实施中,所述待发送的网页数据由服务端生成。在本发明一实施例中,所述网页数据为JavaScript文件。

在具体实施中,本发明实施例中的网页数据加密方法还可以进一步包括:

步骤S202:对所述待发送网页数据进行加扰。

在具体实施中,通过加扰的方式可以对网页数据起到保密作用,提高数据传输的安全性,并可以同时减少所述待发送网页数据的大小,可以提升数据传输的速度。

步骤S203:将所获取的待发送网页数据进行分块,得到多个数据分块。

在具体实施中,可以根据实际的需要,将待发送的网页数据进行分块,得到多个数据分块。其中,各个数据分块的大小可以根据实际的需要进行设置。在本发明实施例中,可以将待发送的网页数据划分成N个大小相同的数据分块,与划分成为不同大小的数据分块相比,可以提升数据加密的速度。

步骤S204:将所述多个数据分块进行随机排序。

在具体实施中,在得到所述待发送的网页数据的数据分块之后,可以采用将随机排序的方式,将各个数据分块在待发送网页数据中的顺序打乱,以使得打乱后的网页数据不可辨识,以起到加密的作用。

步骤S205:生成随机排序后的所述多个数据分块对应的索引数据。

在具体实施中,为了可以将打乱顺序后的多个数据分块恢复至所述待发送的网页数据中的原有位置,从而恢复所述网页数据,可以生成与随机排序后的所述多个数据分块对应的索引数据。其中,所生成的索引数据中包括各个数据块的大小和在所述待发送网页数据中的位置的信息。

步骤S206:对所得到的索引数据进行加密,得到经过加密的索引数据。

在具体实施中,由于所述索引数据中包括各个数据分块在所述待发送网页数据中的位置和大小的信息,当获取到所述索引数据时,便可以将随机排序后的多个数据分块恢复至所述待发送网页数据中的相应位置。因此,为了对待发送的网页数据进行保护,可以采用对随机排序后的所述多个数据分块的索引数据进行加密的方式,使得所述索引数据不以获取,从而对待发送的网页数据进行保护。

步骤S207:将随机排序后的数据分块和经过加密的索引数据进行封装处理,生成加密后的网页数据并发送。

在具体实施中,当得到随机排序后的数据分块和经过加密的所述随机排 序的多个数据分块的索引数据之后,便可以将随机排序后的数据分块和经过加密的索引数据进行封装处理,得到加密后的网页数据并发送至客户端。

图3示出了本发明实施例中的对所得到的索引数据进行加密,得到经过加密的索引数据的流程图。如图3所示的对所得到的索引数据进行加密,得到经过加密的索引数据,可以包括:

步骤301:生成加密密钥和解密密钥。

在具体实施中,可以根据实际的需要采用不同的方式生成加密密钥和解密密钥。在本发明一实施例中,所生成的加密密钥和解密密钥相同,当得到加密密钥时便同时得到了对应的解密密钥,因此,使用相同的加密密钥和解密密钥可以有效提高后续步骤中解密速度,进而对客户端加载网页数据不会产生较大的影响,可以提升用户的体验。

步骤302:采用所生成的加密密钥加密所述索引数据,得到加密后的索引数据。

在具体实施中,采用随机生成的加密密钥(Km)对随机排序后的所述多个数据分块的索引数据(M)进行加密,得到加密后的索引数据(Me)。

步骤303:对所述加密后的索引数据进行MD5运算,得到对应的MD5值。

在具体实施中,当得到加密后的索引数据Me之后,采用中文名为消息摘要算法第五版(Message Digest Algorithm,MD5)对加密后的索引数据Me进行运算,得到128位的加密后的索引数据Me的MD5值Me-md5。

步骤304:采用服务端RSA密钥加密所得到的MD5值,得到第一签名信息。

在具体实施中,当得到加密后的索引数据Me的MD5值Me-md5之后,可以采用服务端中存储的服务端RSA密钥对所得到的加密后的索引数据Me的MD5值Me-md5进行加密,得到第一签名信息Me-md5-sign,作为服务端的签名信息。其中,所述服务端RSA密钥预先存储在服务端中,可以在需要的时候直接使用。

步骤305:采用客户端RSA公钥加密所述加密密钥,得到加密后的加密密钥。

在具体实施中,为了进一步对加密密钥进行保护,提高索引数据的安全性,可以采用客户端RSA公钥加密所述加密密钥Km,得到加密后的加密密钥Km-e。其中,客户端RSA公钥是公开发布的,服务端可以通过相应的方式获取到客户端RSA公钥,并用于对加密密钥Km进行加密。

步骤306:采用得到的加密后的加密密钥、第一签名信息、对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、加密后的索引数据和随机排序后的数据分块,生成对应的文件,并在所生成的文件开始部分添加相应的文件头信息,得到所述加密后的网页数据。

在具体实施中,所述加密后的网页数据包括以下内容:(1)文件头:包括加密标识和以下各部分的位置和大小的信息,其中,所述加密表示用于标识所述加密后的网页数据;(2)加密后的加密密钥Km-e;(3)与服务端RSA密钥对应的服务端RSA公钥;(4)加密后的索引数据Me的MD5值Me-md5;(5)第一签名信息Me-md5-sign;(6)加密后的索引数据Me;(7)随机排序后的多个数据分块。

其中,为了解密第一签名信息Me-md5-sign,得到加密后的索引数据Me的MD5值Me-md5,可以将与服务端RSA密钥对应的服务端RSA公钥添加至所述加密后的网页数据中一起发送至客户端,以便于客户端获取与服务端RSA密钥对应的服务端RSA公钥。

图4示出了本发明实施例中的网页数据解密方法的流程图。如图3所示的网页数据解密方法,可以包括:

步骤401:接收加密后的网页数据。

步骤402:解密所述经过加密的索引数据,得到所述索引数据。

在具体实施中,所述加密后的网页数据包括随机排序后的多个数据分块和经过加密的索引数据的信息。其中,所述多个数据分块为将所述网页数据进行划分得到。所述索引数据中包括按照随机排序后各个数据分块所在的位置记录的各个数据分块在所述网页数据中的位置和大小的信息。

当采用相应的解密方法得到所述索引数据时,便可以得到随机排序后的多个数据分块在原网页数据中的位置和大小的信息,从而可以将随机排序后的数据分块恢复至网页数据中的原有位置。

步骤403:采用解密后得到的索引数据,将所述排序后的数据分块恢复至所述网页数据中的对应位置,得到所述网页数据。

在具体实施中,由于所得到的索引数据中包括随机排序后的多个数据分块在原网页数据中的位置和大小的信息,当通过解密得到正确的索引数据时,并可以采用所得到的索引数据将随机排序后的数据分块恢复至网页数据中的原有(对应)位置,从而得到所述网页数据。

这里需要指出的是,图4所示的网页数据解密方法为图2所示的网页数据加密方法的逆过程,图4所示的网页数据解密方法和图2所示的网页数据加密方法两者之间可以互相参照进行理解。

图5示出了本发明实施例中的解密所述经过加密的索引数据,得到所述索引数据的流程图。如图5所示的解密所述经过加密的索引数据,得到所述索引数据,可以包括:

步骤S501:判断所述文件头中是否存在加密标识。

在具体实施中,当客户端接收到服务端发送的网页数据时,首先获取所接收的网页数据中的文件头的信息。在本发明一实施例中,所接收的加密后的网页数据的文件头中会存在对应的加密标识的信息。通过判断文件头中是否存在加密标识,便可以确定所接收的网页数据是否经过了相应的加密处理。当文件头中存在加密标识时,说明接收的网页数据是经过加密处理后得到的经过加密的网页数据。反之,则说明所接收的网页数据未经过加密处理,按照通常的方式进行处理即可。

在具体实施中,当判断结果为是时,可以执行步骤S502,否则,则不执行任何操作。

步骤S502:获取所述文件头中的所述加密后的加密密钥、所述第一签名信息、所述对应的MD5值、所述与所述服务端RSA密钥对应的服务端RSA公钥、所述加密后的索引数据和所述排序后的数据分块的位置和大小的信息。

在本发明一实施例中,所述加密后的网页数据包括:(1)文件头:包括加密标识和以下各部分的位置和大小的信息,其中,所述加密表示用于标识所述加密后的网页数据;(2)加密后的加密密钥Km-e;(3)与服务端RSA密钥对应的服务端RSA公钥;(4)加密后的索引数据Me的MD5值Me-md5;(5)第一签名信息Me-md5-sign;(6)加密后的索引数据Me;(7)随机排序后的多个数据分块。

当确定所述文件头中存在加密标识时,接着便可以从文件头中获取上述的(2-(7)项的位置和大小的信息。

步骤S503:根据所获取所述加密后的加密密钥Km-e、所述第一签名信息Km-e、所述对应的MD5值、所述与所述服务端RSA密钥对应的服务端RSA公钥、所述加密后的索引数据和所述排序后的数据分块的位置和大小的信息,在所述经过加密后的网页数据的相应位置处分别获取所述第一签名信息、对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、加密后的索引数据和排序后的数据分块的信息。

在具体实施中,当获取到文件头中的(2-(7)项中的加密后的加密密钥、所述第一签名信息Me-md5-sign、所述对应的MD5值Me-md5、所述与所述服务端RSA密钥对应的服务端RSA公钥、所述加密后的索引数据Me和所述排序后的数据分块的位置和大小的信息时,便可以在所接收的加密后的网页数据中的相应位置处获取相应大小的加密后的加密密钥、所述第一签名信息、所述对应的MD5值、所述与所述服务端RSA密钥对应的服务端RSA公钥、所述加密后的索引数据和所述排序后的数据分块的信息。

步骤S504:采用客户端RSA密钥解密所述加密后的加密密钥,得到所述加密密钥。

在具体实施中,客户端RSA密钥存储在客户端中,当获取到与客户端RSA公钥对应的客户端RSA密钥时,便可以对加密后的加密密钥Km-e进行解密,得到加密密钥Km。

步骤S505:根据所述加密密钥,得到对应的解密密钥。

在具体实施中,随机生成的用于加密和解密使用的加密密钥和解密密钥 具有预设的对应关系,当解密得到加密密钥时,便可以得到对应的解密密钥。

在本发明一实施例中,随机生成的加密密钥Km和解密密钥相同,当通过解密得到加密密钥Km时,也便得到了对应的解密密钥。

步骤S506:采用所获取的与所述服务端RSA密钥对应的服务端RSA公钥解密所述第一签名信息,计算得到MD5值。

在具体实施中,当获取的与所述服务端RSA密钥对应的服务端RSA公钥时,便可以采用与服务端RSA密钥对应的服务端RSA公钥来解密第一签名信息Me-md5-sign,得到MD5值。

步骤S507:将解密得到的MD5值与所获取的所述对应的MD5值进行比较。

在具体实施中,当采用服务端RSA密钥对应的服务端RSA公钥解密所述第一签名信息得到的MD5值,与在加密后的网页数据的对应位置处所获取的MD5值进行比较,以确定所接收的加密后的网页数据是否被篡改。

步骤S508:当确定计算得到的MD5值与所获取的所述对应的MD5值相同时,采用得到的解密密钥解密所述加密后的索引数据,得到所述解密后的索引数据。

在具体实施中,当采用服务端RSA密钥对应的服务端RSA公钥解密所述第一签名信息得到的MD5值,与在加密后的网页数据的对应位置处所获取的MD5值相同时,则说明所接收的加密后的网页数据未被篡改过。此时,便可以采用得到的与加密密对应的解密密钥解密所述加密后的索引数据,得到索引数据。那么,在后续的步骤中,便可以采用所得到的索引数据中随机排序后的数据分块在网页数据中的位置和大小的信息,将随机排序后的数据分块恢复至网页数据的位置,从而得到正确的网页数据。

这里需要指出的是,图5所示的网页数据解密方法为图3所示的网页数据加密方法的逆过程,因此,图5所示的网页数据解密方法和图3所示的网页数据加密方法可以互相参照进行理解。

图6示出了本发明实施例中的一种网页数据加密装置。如图6所示的网 页数据加密装置600,可以包括获取单元601、分块单元602、排序单元603、索引生成单元604、加密单元605和封装处理单元606,其中:

获取单元601,适于获取待发送网页数据。

分块单元602,适于将所获取的待发送网页数据进行分块,得到多个数据分块。

排序单元603,适于将所述多个数据分块进行随机排序。

索引生成单元604,适于生成随机排序后的所述多个数据分块对应的索引数据,所述索引数据中包括所述多个数据分块的大小和在所述网页数据中的位置信息。

加密单元605,适于对所得到的索引数据进行加密,得到经过加密的索引数据。在具体实施中,所述加密单元605适于生成加密密钥和解密密钥;采用所生成的加密密钥加密所述索引数据,得到加密后的索引数据;对所述加密后的索引数据进行MD5运算,得到对应的MD5值;采用服务端RSA密钥加密得到的MD5值,得到第一签名信息;采用客户端RSA公钥加密所述加密密钥,得到加密后的加密密钥;采用得到的加密后的加密密钥、第一签名信息、对应的MD5值、与所述RSA密钥对应的服务端RSA公钥、加密后的索引数据和随机排序后的数据分块,生成对应的文件,并在所生成的文件开始部分添加相应的文件头信息,得到所述加密后的网页数据;其中,所述文件头信息包括加密标识、加密后的加密密钥、第一签名信息、对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、加密后的索引数据和随机排序后的数据分块的位置和大小的信息,所述加密标识用于标识所述加密的网页数据。

封装处理单元606,适于将随机排序后的数据分块和经过加密的索引数据进行封装处理,生成加密后的网页数据并发送。

在具体实施中,本发明实施例中的一种网页数据加密装置600还可以还包括加扰单元607,其中:

加扰单元607,适于在将所获取的网页数据进行分块,得到多个数据分块之前,对所述网页数据进行加扰。

图7示出了本发明实施例中的一种网页数据解密装置。如图7所示的网页数据解密装置700,可以包括接收单元701、解密单元702和恢复单元703,其中:

接收单元701,适于接收加密后的网页数据,所述加密后的网页数据包括随机排序后的多个数据分块和经过加密的索引数据的信息,所述索引数据包括所述多个数据分块的大小和在所述网页数据中的位置信息。其中,所述网页数据把包括JavaScript文件。在具体实施中,所述加密后的网页数据包括文件头、加密后的加密密钥、第一签名信息、对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、加密后的索引数据和随机排序后的数据分块的信息,其中,所述文件头中包括加密标识、所述加密后的加密密钥、所述第一签名信息、所述对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、所述加密后的索引数据和所述随机排序后的数据分块的位置和大小的信息,所述加密标识用于标识所述加密后的网页数据。

解密单元702,适于解密所述经过加密的索引数据,得到所述索引数据。在具体实施中,所述解密单元702适于获取所述文件头中的加密标识;当确定所述加密标识为预设的加密标识时,获取所述文件头中的所述加密后的加密密钥、所述第一签名信息、所述对应的MD5值、所述与所述服务端RSA密钥对应的服务端RSA公钥、所述加密后的索引数据和所述排序后的数据分块的位置和大小的信息;根据所获取所述加密后的加密密钥、所述第一签名信息、所述对应的MD5值、所述与所述服务端RSA密钥对应的服务端RSA公钥、所述加密后的索引数据和所述排序后的数据分块的位置和大小的信息,在所述经过加密后的网页数据的相应位置处分别获取所述第一签名信息、对应的MD5值、与所述服务端RSA密钥对应的服务端RSA公钥、加密后的索引数据和排序后的数据分块的信息;采用客户端RSA密钥解密所述加密后的加密密钥,得到所述加密密钥;根据所述加密密钥,得到对应的解密密钥;采用所获取的与所述服务端RSA密钥对应的服务端RSA公钥解密所述第一签名信息,计算得到MD5值;将解密得到的MD5值与所获取的所述对应的MD5值进行比较;当确定计算得到的MD5值与所获取的所述对应的MD5值相同时,采用得到的解密密钥解密所述加密后的索引数据,得到所述解密后的索 引数据。

恢复单元703,适于采用解密后得到的索引数据,将所述排序后的数据分块恢复至所述网页数据中的对应位置,得到所述网页数据。

在具体实施中,如图7所示的网页数据解密装置700还可以包括解扰单元704,其中:

解扰单元704,适于所述采用解密后得到的索引数据,将所述排序后的数据分块恢复至所述网页数据中的对应位置,得到所述网页数据之后,对所述网页数据进行解扰。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。

以上对本发明实施例的方法及系统做了详细的介绍,本发明并不限于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1