一种基于可用密钥流的实时流数据保护方法及装置与流程

文档序号:35277759发布日期:2023-08-31 20:49阅读:32来源:国知局
一种基于可用密钥流的实时流数据保护方法及装置与流程

本公开涉及数据加密保护,特别涉及一种基于可用密钥流的实时流数据保护方法及装置。


背景技术:

1、随着互联网技术的发展和用户需求的驱动,实时流数据体量逐渐增大,尤其是近几年,实时流媒体应用更是得到广泛使用,例如实时视频会议、远程监管和教学、远程医疗等。流媒体数据中携带大量敏感信息,如背景元素、医疗数据、对话内容等。然而,现有技术难以保证流媒体资源不被非法用户窃取,数据一旦被窃取,会造成敏感信息泄露、隐私数据泄露等安全问题。

2、目前,数据加密技术是防止数据泄露的必要方式之一。然而,对实时流数据进行加密处理,势必会增大实时流数据的传输时延,这对流媒体数据、网络监控数据等实时流数据应用而言是一个不小的挑战。特别的,对于一些资源受限的终端,如个人计算机、通用串行总线(universal serial bus,usb)设备等。实时流数据量大,对时延要求更为严格。因此,基于数据加密技术的实时数据保护变得更加困难。


技术实现思路

1、本公开旨在至少解决现有技术中存在的问题之一,提供一种基于可用密钥流的实时流数据保护方法及装置。

2、本公开的一个方面,提供了一种基于可用密钥流的实时流数据保护方法,所述方法包括:

3、初始化长度阈值,生成长度与所述长度阈值相等的密钥流数据,将所述密钥流数据存储至密钥存储空间;

4、对所述密钥存储空间的可用密钥流长度进行实时监测,其中,所述可用密钥流长度用于指示所述密钥存储空间中未被读取过的密钥流数据的长度;

5、响应于接收到发送端发送的待加密流数据,根据所述待加密流数据的长度,从所述密钥存储空间中读取长度与所述待加密流数据的长度相等的密钥流数据作为密钥流;

6、利用所述密钥流对所述待加密流数据进行异或运算,得到加密流数据;

7、监测到所述可用密钥流长度低于阈值下限thresh1时,提高密钥流生成速率,将生成的新的密钥流数据存储至所述密钥存储空间,直至所述可用密钥流长度达到阈值thresh2;监测到所述可用密钥流长度高于阈值上限thresh3时,降低密钥流生成速率,将生成的新的密钥流数据存储至所述密钥存储空间,直至所述可用密钥流长度低至所述阈值thresh2;其中,thresh1<thresh2<thresh3;

8、将所述加密流数据发送至所述发送端。

9、可选地,所述初始化长度阈值,包括:

10、获取所述阈值下限thresh1和所述阈值上限thresh3;

11、将所述阈值thresh2的值设置为所述阈值下限thresh1和所述阈值上限thresh3的平均值;

12、将所述阈值thresh2的值作为所述长度阈值。

13、可选地,所述对所述密钥存储空间的可用密钥流长度进行实时监测,包括:

14、初始化参数:获取密钥流长度n、输出长度为n的密钥流数据所需要的时间t(n),确定n的最小值使密钥流的吞吐率throughput满足throughput<n/t(n),利用公式计算等待时间tinterval;

15、在所述初始化参数完成且throughput不为0时,进入密钥流读取及控制过程:

16、响应于所述可用密钥流长度处于(thresh1,thresh3)之间,直接从生成的密钥流数据中读取长度为n的密钥流数据,利用计时器进行计时,在时间间隔达到tinterval时,计算所述可用密钥流长度,并进入下一个长度为n的密钥流数据的读取过程;

17、响应于所述可用密钥流长度小于等于thresh1,关闭所述计时器,重复从生成的密钥流数据中读取长度为n的密钥流数据,计算所述可用密钥流长度,直至所述可用密钥流长度大于等于thresh2;

18、响应于所述可用密钥流长度大于等于thresh3,重复利用所述计时器进行计时,停止从生成的密钥流数据中读取密钥流数据,当时间间隔达到tinterval时,重复计算所述可用密钥流长度,直至所述可用密钥流长度小于等于thresh2,停止计时。

19、可选地,所述计算所述可用密钥流长度,包括:

20、采用下式(1)计算所述可用密钥流长度:

21、

22、其中,availabilesize表示所述可用密钥流长度,totalsize表示所述密钥存储空间的大小,p1表示指向所述密钥存储空间中未被读取过的第一个密钥流数据的指针,p2表示指向所述密钥存储空间中用于存储所述新的密钥流数据的起始存储地址的指针。

23、可选地,所述可用密钥流长度availabilesize的取值范围为[n,2n];和/或,所述密钥存储空间的大小为3n。

24、可选地,所述阈值下限thresh1的取值为n(1+2σt(n)/t(n)),所述阈值上限thresh3的取值为2n(1-2σt(n))/t(n)),其中,σt(n)表示t(n)的标准差。

25、可选地,所述方法还包括:

26、基于计数器模式生成密钥流数据,生成的密钥流数据组成下式(2)所示的密钥流keystream:

27、keystream={e(k,iv),e(k,iv+1),e(k,iv+2),…,e(k,iv+n-1)}(2)

28、其中,k表示所述计数器模式中的加密密钥,iv表示计数的初始向量,e(k,iv+x_iv)表示在所述计数器模式下对k和iv+x_iv进行加密得到的密钥流数据,x_iv为整数且满足x_iv∈[0,n-1]。

29、可选地,所述方法还包括:

30、根据预设时间段内待加密流数据的吞吐率,调整所述长度阈值,使密钥流的吞吐率与待加密流数据的吞吐率达到平衡。

31、本公开的另一个方面,提供了一种基于可用密钥流的实时流数据保护装置,所述装置包括流量控制模块、加密模块、发送模块,其中,

32、所述流量控制模块,用于初始化长度阈值,生成长度与所述长度阈值相等的密钥流数据,将所述密钥流数据存储至密钥存储空间;对所述密钥存储空间的可用密钥流长度进行实时监测,其中,所述可用密钥流长度用于指示所述密钥存储空间中未被读取过的密钥流数据的长度;响应于接收到发送端发送的待加密流数据,根据所述待加密流数据的长度,从所述密钥存储空间中读取长度与所述待加密流数据的长度相等的密钥流数据作为密钥流;

33、所述加密模块,用于利用所述密钥流对所述待加密流数据进行异或运算,得到加密流数据;

34、所述流量控制模块,还用于监测到所述可用密钥流长度低于阈值下限thresh1时,提高密钥流生成速率,将生成的新的密钥流数据存储至所述密钥存储空间,直至所述可用密钥流长度达到阈值thresh2;监测到所述可用密钥流长度高于阈值上限thresh3时,降低密钥流生成速率,将生成的新的密钥流数据存储至所述密钥存储空间,直至所述可用密钥流长度低至所述阈值thresh2;其中,thresh1<thresh2<thresh3;

35、所述发送模块,用于将所述加密流数据发送至所述发送端。

36、可选地,所述流量控制模块包括密钥流读取模块、密钥生成模块、密钥流控制模块、密钥存储空间,其中,

37、所述密钥流读取模块,用于基于数据加密请求,向所述密钥流控制模块发送密钥流读取请求;接收所述密钥流控制模块基于所述密钥流读取请求返回的密钥流数据;

38、所述密钥生成模块,用于接收所述密钥流控制模块发送的密钥生成请求,根据所述密钥生成请求生成密钥流数据,并将生成的密钥流数据返回至所述密钥流控制模块;

39、所述密钥流控制模块,用于对所述密钥存储空间中的所述可用密钥流长度进行实时监测;在监测到所述可用密钥流长度低于所述长度阈值时,向所述密钥生成模块发送所述密钥生成请求,接收所述密钥生成模块返回的密钥流数据,并将接收到的密钥流数据根据写地址写入所述密钥存储空间;接收所述密钥读取模块发送的所述密钥读取请求,通过读取地址从所述密钥存储空间中读取密钥流数据,并将读取到的密钥流数据返回给所述密钥流读取模块;

40、所述密钥存储空间,用于循环写入和存储密钥流数据,对读取过的密钥流数据进行标记。

41、可选地,所述流量控制模块用于初始化长度阈值,包括:

42、所述密钥流控制模块,用于获取所述阈值下限thresh1和所述阈值上限thresh3;将所述阈值thresh2的值设置为所述阈值下限thresh1和所述阈值上限thresh3的平均值;将所述阈值thresh2的值作为所述长度阈值。

43、可选地,所述流量控制模块用于对所述密钥存储空间的可用密钥流长度进行实时监测,包括:

44、所述密钥流控制模块,用于:

45、初始化参数:获取密钥流长度n、输出长度为n的密钥流数据所需要的时间t(n),确定n的最小值使密钥流的吞吐率throughput满足throughput<n/t(n),利用公式计算等待时间tinterval;

46、在所述初始化参数完成且throughput不为0时,进入密钥流读取及控制过程:

47、响应于所述可用密钥流长度处于(thresh1,thresh3)之间,直接从所述密钥生成模块读取长度为n的密钥流数据,利用计时器进行计时,在时间间隔达到tinterval时,计算所述可用密钥流长度,并进入下一个长度为n的密钥流数据的读取过程;

48、响应于所述可用密钥流长度小于等于thresh1,关闭所述计时器,重复从所述密钥生成模块读取长度为n的密钥流数据,计算所述可用密钥流长度,直至所述可用密钥流长度大于等于thresh2;

49、响应于所述可用密钥流长度大于等于thresh3,重复利用所述计时器进行计时,停止从所述密钥生成模块读取密钥流数据,当时间间隔达到tinterval时,重复计算所述可用密钥流长度,直至所述可用密钥流长度小于等于thresh2,停止计时。

50、可选地,所述密钥流控制模块用于计算所述可用密钥流长度,包括:

51、所述密钥流控制模块,具体用于:

52、采用下式(1)计算所述可用密钥流长度:

53、

54、其中,availabilesize表示所述可用密钥流长度,totalsize表示所述密钥存储空间的大小,p1表示指向所述密钥存储空间中未被读取过的第一个密钥流数据的指针,p2表示指向所述密钥存储空间中用于存储所述新的密钥流数据的起始存储地址的指针。

55、可选地,所述可用密钥流长度availabilesize的取值范围为[n,2n];和/或,所述密钥存储空间的大小为3n。

56、可选地,所述阈值下限thresh1的取值为n(1+2σt(n)/t(n)),所述阈值上限thresh3的取值为2n(1-2σt(n))/t(n)),其中,σt(n)表示t(n)的标准差。

57、可选地,所述密钥生成模块,用于基于计数器模式生成密钥流数据,生成的密钥流数据组成下式(2)所示的密钥流keystream:

58、keystream={e(k,iv),e(k,iv+1),e(k,iv+2),…,e(k,iv+n-1)}(2)

59、其中,k表示所述计数器模式中的加密密钥,iv表示计数的初始向量,e(k,iv+x_iv)表示在所述计数器模式下对k和iv+x_iv进行加密得到的密钥流数据,x_iv为整数且满足x_iv∈[0,n-1]。

60、可选地,所述密钥流控制模块,还用于根据预设时间段内待加密流数据的吞吐率,调整所述长度阈值,使密钥流的吞吐率与待加密流数据的吞吐率达到平衡。

61、本公开实施例相对于现有技术而言,通过对密钥存储空间的可用密钥流长度进行实时监测,动态维持可用密钥流长度,使得密钥存储空间中的密钥流数据能够维持在一定量范围内,在需要对待加密流数据进行加密时,可以从密钥存储空间中直接读取密钥流数据以获得加密所需的密钥流,保证了对实时流数据进行加密时密钥流的充足,缩短了实时流数据的加密处理过程带来的时延,提升了流数据的实时加密处理能力。

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