面向云存储的量子密钥管理系统

2022-09-07 04:06张建国
信息记录材料 2022年7期
关键词:管理器解密密钥

张建国

(1安徽科大擎天科技有限公司 安徽 合肥 230000)

(2安徽建筑大学电子信息工程学院 安徽 合肥 230601)

0 引言

随着我国不断向全面建成法治国家的目标迈进,集实时音视频摄录、定位、存储功能于一身的执法记录仪广泛应用于公检法等部门。执法者随身携带的记录仪,能够对执法过程中进行动态、静态的现场情况数字化记录,有力保障了执法的公开性和透明性[1]。但是目前大多数的执法记录仪只是将采集的各种数据进行记录并在本地存储。这样分布零散的本地存储,不仅大大增加了存储和管理的成本,也使得执法机关难以对数据统合并且进行有效的分析和处理[2-3]。此外,将数据存储在本地,其安全性和容灾性非常差,有可能因为本地的存储故障而导致关键的执法依据被损毁。

云存储和云计算作为一种网络应用的新型模式,能够整合互联网中分布的资源并且对数据进行存储和计算,具有很强大的数据管理和运算能力[4]。相较于传统的存储方式,云存储技术对数据储存的本地硬件要求更低、存储容量更大、保护数据安全的容灾机制更健全,并且能够利用互联网实现数据的远距离共享,以此来提升执法数据的处理效率效果[5]。因此,将执法记录仪采集的数据上传到云端进行统一管理是目前大势所趋。

为保障云端数据的安全,传统的安全厂商一般提供加密技术。但是随着计算机技术的飞速发展,以计算复杂度为依托的传统加密技术终究会因为算力的提高而变得不再可靠[6]。因此,基于上述原因,我们提出了以量子加密为依托的面向云端数据存储的量子密钥管理系统。该系统涉及量子加密、量子密钥分发、密钥更新、用户身份认证、访问控制等过程。通过对数据传输信道采用量子加密,对于云端密钥管理系统采用量子密钥更新管理访问权限等处理方法来建立一套更加安全的密钥管理机制,从而实现云端数据存储的机密性和可靠性,提高用户对于云端存储数据的管理支配能为,保障云端公共安全数据库的可靠性和安全性[7-8]。

1 密码学基础

1.1 传统密码学

1.1.1 对称加密算法

传统的加密通信过程如下:(1)发送方将要发送的明文通过加密算法和密钥编制成密文;(2)通过数据传输通道,发送方将加密好的密文发送给接收方;(3)接收方用解密算法和密钥把密文翻译还原成明文。

因此,在加密通信过程中,“密钥”是非常重要的。密钥需要传输给接收方,但是在传输过程会面临密钥泄露的问题。

1.1.2 非对称加密算法

非对称加密是在对称加密的基础上提出的,有效地解决了对称加密的问题。非对称加密是利用一些函数的数学特性,例如有些函数根据其参数计算函数值是比较容易的,但是根据函数值很难逆推其参数。非对称加密一般用公钥进行加密,用私钥进行解密,为了保证通信数据的安全,在通信时只传输公钥。然而,非对称加密算法是建立在一个理想的情况下的,即加密函数的反函数很难获得[9]。但是,随着计算机技术的不断发展和算力的提高,用更快的计算速度快速暴力破解将会直接威胁到这种加密技术。从长远来看,随着计算机算力的不断提高,这种单纯依靠计算复杂度的加密技术会逐渐变得不再安全。

1.2 量子密码学

量子加密是一个新的加密思路。它是一种不可窃听、不可破译,是一种理论上无条件安全的通信加密方式。量子加密通信主要分为两步:(1)通过量子信道进行量子密钥分发。通信双方通过量子密钥分发获取一对完全随机且只有通信双方知道的量子密钥,在这一步中,只产生和分发密钥。(2)通过传统信道进行密文传递。利用获得的量子密钥,发送方把信息进行加密变成一段密文,接收方将收到的密文解密,进而实现通信的完全保密[10]。

由此可见,量子加密保护的就是传统加密通信中的“密钥”。因此,在加密过程中,对密钥的管理是整个云存储加密的核心。

1.3 量子密钥分发

接下来介绍一下量子加密密钥的分发过程。

量子是物理界最小的基本单位,比如光的最小单位“光量子”,就是一种量子。在量子通信中,使用光子的偏振态(也可以是光子的相位信息)传递信息。光子的偏振见图1。

单光子被调制到指定偏振角度,接收端通过一个偏振分波器将光子进行分束。然后在D1和D2处放置两个探测器。

其中:D1检测到单光子的概率为:

D2检测到单光子的概率为:

接收端:如果偏振基和发送端相同,则能准确测量;如果不同,会随机分配到某一个接收器。量子态逻辑见表3。

表3 量子态逻辑

下面结合一个具体的过程来介绍,量子通信偏振态过程,见图3。

(1)Alice随机生成密钥。

(2)Alice随机选择偏振基。

(3)Alice根据偏振基调制单光子信号,见图2。

(4)Bob随机选择的偏振基,用于接收。

(5)如表3所示,Bob根据单光子偏振态测量转换出的密钥比特,可以看出当Alice和Bob选同一偏振基时,可以测的正确的密钥比特;当两人选择不同偏振基时,会测出不正确的密钥比特。

(6)Bob通过普通信道将自己选择的基发送给Alice。

(7)Alice将正确的基选择的子集通过普通信道送给Bob。

(8)Alice和Bob把相同基选择对应的密钥,选择一段公布(y所示)。如果在出现的序列中出现了不同,说明有人在窃听,则这次通信作废。如果没有不同,则相同基选择对应密钥未公布的部分作为最终的密钥bit。

在上述过程中,进行了两次公布,第1次公布的是双方随机选择的基组的情况,基组一样的就认为是要保留的;第2次公布是保留下来的数据的一部分;然后进行数据公布,如果发现公布出来的那一部分双方有很大差异,就说明有人窃听,由此量子加密的安全性得以保障[11-12]。

2 量子密钥管理系统

2.1 密钥管理

密钥管理是指对密钥从生成到撤销的整个过程进行的管理。包括整个云环境的系统初始化、数据文件传输到云端需要进行加密时密钥的产生、存储和备份,以及当密钥过期后密钥的恢复,当数据权限变更后密钥的更新和数据删除后密钥的销毁等过程,共同组成了密钥管理的整个流程[13-14],见图4。

在密钥管理的整个流程中,主要有密钥生成和分配、存储、备份和恢复、密钥更新、撤销等具体过程。

其中,关于密钥的生成,为了保证生成密钥的安全性,本文的密钥都是基于属性基(身份识别、生物信息)生成密钥,由于每个用户的属性基都不同,所以其密钥算法虽然公开,但是由于系统端隐藏用户信息,因此攻击者因缺乏必要条件而无法破解生成的密钥。

密钥存储时,在本系统中所产生的过程密钥和根密钥都统一存储在私有云的量子密钥管理器当中,通过量子加密信道与公有云连接。既方便密钥的分发管理,又通过量子加密的手段保护了存储的密钥的安全性[15]。

当用户的权限发生变化时,需要对相应的授权密钥及时更新。由于量子密钥的生成开销较大,为了避免重复生成量子密钥,本文通过计算该文件存储的根密钥派生矩阵来生成新的权限下发密钥,以此来达到降低密钥开销的目的。

2.2 系统组成

2.2.1 方案设计架构

本文的方案设计架构见图5,整个系统主要有4个部分。

(1)用户端:即云存储的用户,所有云端存储的数据都是先由用户进行上传。用户端在注册的时候会根据本地属性生成本地属性基,进而进行身份验证。

(2)公有云:公有云用来具体的存储用户的数据和文件。即公有云用来存储加密的数据,并且提供密文搜索服务。

(3)量子密钥管理器:一般部署在私有云上,由弱相干态光源生成量子密钥,并且负责存储和分发量子密钥。

(4)私有云:通过验证用户的属性基确定用户身份,并且在文件加密和搜索期间分担用户的计算开销。例如计算索引表、计算Hash函数用以判断文件完整性、对数据文件进行加密解密等[16]。

本方案所涉及的应用场景见图5,用户端将数据流通过私有云加密后存储在公有云中。当用户将数据上传并存储到公有云端时,数据的加解密过程如下。

Step 1:在身份和权限认证通过后,用户将明文数据发送到私有云。

Step 2:量子密钥管理器生成数据加密密钥,私有云生成相应的文件索引,并将已加密的数据存储到公有云。

Step 3:当用户请求云端数据时,首先将数据请求上传到私有云。

Step 4:私有云接到数据请求后,根据量子密钥管理器中存储的文件根密钥信息计算索引表后,向公有云转发数据请求。

Step 5:公共云根据上传的索引表找到所存储的数据后,将加密的数据下发给私有云。

Step 6:私有云用量子密钥管理器保存的密钥计算出解密密钥并解密数据后,将明文数据发送给用户。

2.2.2 密钥设计

为了保证云端数据的安全,同时降低数据管理的开销,本文提出了以下几种密钥,用于管理和加密数据。

(1)根密钥Mk:在量子密钥管理器中产生,在新用户注册时,由系统自动随即采集该用户属性基信息,并且通过计算得到一个用于该用户后续整个密钥管理周期的基础密钥。当用户需要数据加密时,由根密钥结合派生算法来计算密钥加密密钥;当用户注销时,彻底删除此密钥。

(2)用户密钥Uk:由系统分配给用户的专属密钥,用于计算该用户的权限信息,当用户权限变更时需要更新该密钥。

(3)数据加密密钥Dk:用于对上传的明文数据进行加密,由根密钥Mk派生而来。

(4)密钥加密密钥:该密钥是基于SM4算法的对称密钥,保存在量子密钥管理器中,当进行数据加解密时,由其提供密钥索引。

2.3 密钥管理方案设计

一般来说,将数据存储在云端时,先计算要上传的文件的大小,再将大的文件分成几个部分,分别上传存储。为了保证数据安全,同一个文件的每个部分使用不同的密钥进行加密。为了保证文件的连贯性,这几个部分还要建立安全索引。因此,当要存储的文件较大时,直接导致密钥开销几何倍数增长。此外,为了提高系统的安全性,本文所用的密钥大多数都是量子密钥,而量子密钥的生成成本一般密钥更大。因此,为了重复大量的生成数据加解密量子密钥,本文利用密钥派生的算法,根据根密钥和用户属性基动态计算出需要的加解密密钥。

2.3.1 密钥的分发过程

在本系统中,数据的加解密都是在私有云上完成,具体分为数据上传时的加密过程和数据下载时的解密过程,见图6。

数据加密上传时,密钥分发的步骤如下。

(1)用户A请求上传数据,私有云端量子密钥管理器根据用户A注册时生成的根密钥分别将公钥KUKMS和KUA公开并保存对应的私钥。

(2)客户端将密钥请求以及明文密码箱发送到私有云中的量子密钥管理器。

(3)量子密钥管理器基于密码箱配置生成量子密钥并通过量子信道发送到私有云客户端。

(4)客户端则使用量子密钥管理器派生计算的量子密钥加密相应的数据文件,将加密后的密码箱和密文数据存储到公有云。

数据下载时,密钥分发步骤如下。

(1)用户请求下载数据时,私有云在接收到用户请求后向量子密钥管理器申请对应的数据解密量子密钥。

(2)量子密钥管理器在验证通过用户的身份信息(用户属性基)后,向公有云请求对应密文数据的加密密码箱,并使用保存在量子密钥管理器的加密私钥解密密码箱。

(3)量子密钥管理器通过判断密码箱中的访问权限列表来控制用户的访问权限。如果访问权限不匹配,则拒绝用户的数据申请。访问权限匹配后,则量子密钥管理器将派生计算相应的解密密钥,并发送到私有云,进行云端数据的解密操作。

(4)私有云收到密钥后解密数据密文,将明文数据文件通过量子信道发送给用户。

2.3.2 密钥派生计算

本文的密钥分发方案中,数据加密密钥是由用户的根密钥矩阵派生计算而来,密钥矩阵中的每个值都是由系统根据用户的属性基进行采样得到,具有很高的安全性。

本方案的所有数据加密叶子节点的密钥值都是通过根密钥Uk计算得到,密钥矩阵中第x行第y列的密钥值由以下公式计算得出:

在式(3)中,Uk为根密钥,H()表示用户属性基的采样算法,‖是串联运算符号。密钥矩阵的行数M和列数N作为密码箱的配置,其形式如下:

首先根据密码箱的配置,可以知道派生矩阵的大小和形状,再根据式(4)即可知道矩阵具体数值,最后由派生矩阵进行加解密密钥的计算。以此生成的每个密钥直接用于数据加密,每个计算节点为不同文件块派生加密密钥。这种基于矩阵形式的派生密钥,把密钥树的深度降为两层,当加密密钥需求量大时,只需存储和管理根密钥以及派生配置矩阵就可以高效生成为大量数据加密的加密密钥,以此达到减轻密钥分发开销的目的。

2.4 密钥更新设计

在云环境下,为了防止密钥长时间不更换而被盗窃,通常同一个用户的权限也是经常变更的。为了防止由于权限变更产生的系统安全漏洞,当用户权限变更时,其相应的密钥也要及时更新。为了降低密钥更新的开销,本文设计一个基于CRT的密钥更新方案,以达到降低密钥更新成本的目的。

给定s个素数n1,n2,…,ns和一个秘密值cr,E为加密函数,D为解密函数,CRT通过使用用户权限认证密钥k1,k2,…,ks生成s个随机值EK1(cr),EK2(cr),…,EKs(cr)。然后,CRT解以下同余方程组的解进而求出数据所有者已经计算好的密码值xr。

系统在计算上述方程时,主要步骤如下:

(1)先求M=n1n2…ns=nimi;其中,Mi=ni,(i=1,2,…s)。

(2)由Mi ′Mi ≡1(modni)(i=1,2,…s)求出Mi ′。

(3)计算x=(∑sri=1EKi(cr)·MI)modM,(i=1,2,…s)。

通过CRT的解得到同余方程组的解后,将计算出的xr和数据所有者在加密数据时计算的xr做对比。如果用户被授权,即计算的xr的值和所有者在加密时数据的xr的值相同,则权限验证通过,服务器将加密的数据转发给用户。采用这种方法,可以经过计算直接发放密钥,不需要来回认证,当用户量较大的时候,能够大大减轻授权密钥开销。

基于上述的CRT权限计算方法,为了科学和安全的管理用户的权限授予和业务申请,本文的量子密钥更新管理的流程见图7。

首先,当用户进行云端业务申请时,云端会对该用户的身份查验。如果在私有云获取到的用户的身份属性和用户本身的身份属性匹配,则开始验证用户的权限。否则就查看保存在量子密钥管理器的授权密钥是否被窃取。根据量子的不可复制性,当量子密钥发生变化时,则意味着密钥可能被窃取,需要重新颁发新的授权密钥。

当用户通过身份验证后,数据所有者在私有云端生成身份验证密钥并且计算其秘密值,然后并将该值发送给云端。由云端根据用数据所有者上传的资料对授权密钥进行更新,然后再下发给业务申请者,实现业务授权。

最后,得到授权的用户向公有云发送业务请求。公有云收到查询请求时,在数据库中查找到保存的加密数据,并将该数据和加密数据的密码配置箱一同下发给数据请求者的私有云端,进行数据解密。

3 安全性分析

本文提出的量子密钥管理系统在传统的密钥管理的基础上引入了目前新兴的量子加密技术。整个系统的数据安全主要由两部分共同保证:首先是由量子信道进行明文传输,保证客户端和私有云之间数据传输的绝对安全;其次是设置在私有云中的量子密钥管理器来负责管理整个系统的密钥生命周期[17]。

3.1 备份容灾机制

量子密钥管理器在生成一个密钥时会将其索引值导出到多个基类Ukey中,当根密钥丢失或者损坏时,可以根据备份在多个Ukey中的秘密值重新合成原根密钥,有效保证了系统容灾性能,提高整个系统的安全性和可靠性。

3.2 传输信道安全

用户端和私有云之间以量子信道进行密钥的通信。首先建立量子信道,保护数据传输过程中不被非法窃取或者篡改;然后在量子信道中进行用户与私有云之间的数据传输。鉴于量子通信的高度保密性和量子信道的可靠性,大大减轻了数据在传输过程中被截取和篡改的风险。

3.3 身份认证

在私有云端配置了基于用户的属性基过滤机制,私有云端只接受用户注册时属性基列表中有记录的主机提出的连接或者数据请求,未在注册表的名单上的非法主机的所有请求都会被驳回,以此来保证系统不被匿名攻击者伪装成用户端进行攻击。

3.4 会话过程中的密钥协商

量子密钥在每次数据通道建立时通过协商机制由量子密钥管理器生成,并在数据通道断开后进行销毁,系统只保存建立数据链路的根密钥。在会话成功建立后,系统会根据根密钥重新计算加密密钥,并配合量子加密对所有后续传输的报文进行加密,以此保证了系统不会因数据加解密密钥丢失而造成通信数据泄露的情况。

本文提出的解决方案所涉及的数据都是先在私有云加密好后存储在公共云中。公有云中的数据即使被窃取,黑客也只能获取密文数据,无法解析这些数据。要想进一步解密数据,还需要获取到该用户的根密钥和全部的属性基信息。这对于攻击者来讲是非常困难的。因此可以利用完善的密钥更新系统及时更新密钥,来保证系统和数据的安全性[18]。

4 展望与总结

4.1 总结

近年来,随着国家积极倡导法治中国建设,执法记录仪越来越普遍地应用于公检法领域,有效地保证了执法过程的透明性。将警用执法记录仪数据上传到云端,既方便了数据的分析和处理,提升追溯问题时的效率;又可以对执法的关键证据进行保存。为了保障云端数据安全,本文结合了量子加密技术和云存储密钥管理技术进行研究。具体内容如下。

(1)本文分析了现有方案中密钥存储管理的不足,提出一个基于量子密钥派生计算的解决方案。该方案不用直接存储量子加密密钥,而是采用密钥矩阵进行派生计算,由此可以不需要保存管理每个数据文件的加密密钥,大大节省了量子密钥的派发开销。

(2)设计一种基于CRT的量子密钥更新方案,可以更加安全和高效地管理量子密钥的分发和更新。如果用户权限变更,则由云端对用户身份进行重新认证,认证通过后更新用户的授权密钥。以此来保障用户权限的安全授予,进而确保用户权限不会被非法窃用,保护云端数据的安全。

4.2 研究展望

云环境下存储数据的安全性管理涉及多方面,密钥的分发、存储和更新只是其中的一部分。要确保云环境下数据安全,要深入研究的地方还很多。目前,随着许多专家学者的不断研究,密钥管理技术越来越被广泛应用。本文创新性地将目前新兴的量子通信技术应用到云端密钥管理系统,有效保障了云端量子密钥的安全性能。但是随着研究的深入,量子密钥的制备成本较高是一个无法回避的问题。因为在现实环境下,可用的标准单光子源几乎是不存在的。所以我们通常使用弱相干光进行替代。虽然现在通过法拉第-迈克尔逊干涉系统能够制备出有效的量子密钥,但是其密钥的生成成本还是高于普通密钥。因此,如何有效提高量子密钥的利用率将是今后研究的重点。

猜你喜欢
管理器解密密钥
幻中邂逅之金色密钥
幻中邂逅之金色密钥
炫词解密
启动Windows11任务管理器的几种方法
密码系统中密钥的状态与保护*
应急状态启动磁盘管理器
炫词解密
炫词解密
Android密钥库简析
用好Windows 10任务管理器