本发明涉及量子安全,具体涉及一种量子密钥管理方法及其应用系统。
背景技术:
1、操作系统中的文件系统是非常重要的,除了普通的文件和目录,块设备、管道等都被视为文件。文件系统是操作系统中负责管理持久数据的子系统,负责把用户的文件存到磁盘硬件中,这样即使计算机断电,磁盘里的数据也不会因此丢失,可以做到持久化的保存文件。文件系统的基本数据单位是文件,它的目的是对磁盘上的文件进行组织管理,因组织管理方式的不同,所形成的文件系统也存在不同,例如:ext4、xfs、zfs、nfs等等。
2、操作系统为提供用户统一接口,在用户层与文件系统层之间引入中间层,该中间层即为虚拟文件系统。虚拟文件系统定义了一组所有文件系统都支持的数据结构和标准接口,这样在做应用开发时,则无需关注文件系统的工作原理、文件系统的使用类型,可直接调用fopen、fread、fclose来实现应用程序的功能。
3、量子加解密过程中使用到的密钥是以文件的形式存储在各个网元端,随着量子计算机的问世,量子加密成为了一种更为安全的加密方式。量子加解密过程中,当需要按量读取密钥文件中的密钥时,就需频繁的进行文件打开、读取、关闭操作,尤其是量子安全通信系统中对接多个用户端的基站,其文件操作会更为复杂。在量子加解密中,由于基站可支持连接的用户数很大,因此面对多个用户的多个请求时,需打开大量的文件,而系统资源是有限,能支持打开的文件数也是有限的,因此这会非常占用系统资源,影响系统性能和吞吐量,影响量子加解密的性能,不利于维护密钥文件的统一性。对于单个用户的多个请求来说,由于读取的是同一个密钥文件,所以不支持并发操作,需要等前一个请求获取到密钥后才能继续下一个请求,该请求过程中需进行大量的文件打开关闭操作,也会造成资源的占用、浪费。
技术实现思路
1、发明目的:本发明目的是提供一种量子密钥管理方法及其应用系统,解决了当前量子加解密读取密钥文件获取密钥过程中反复打开关闭文件造成资源占用、浪费问题及单用户多请求不支持并发操作问题。本发明有效的减少了系统资源占用,提升了系统性能,并有利于支持单用户多请求的多并发操作,同时减少了密钥读取的程序和步骤,并可以实现进程、线程间密钥共享,极大的维护了密钥消耗、统计、补充的统一性。
2、技术方案:一种量子密钥管理方法,该方法是将量子密钥文件读取并排入设置的量子密钥队列中,所需的量子密钥由读取量子密钥队列获得;
3、其中,量子密钥队列被读取变短后,量子密钥文件会被再次读取并补充至量子密钥队列中。
4、进一步的,量子密钥文件读取至量子密钥队列的具体操作为:使用mmap将量子密钥文件的页缓存地址映射到用户空间的虚拟内存地址上,而后再读取至量子密钥队列中。
5、进一步的,一种基于量子密钥管理方法的应用系统,该系统包括基站端及与基站端量子网络连接的若干用户端;
6、基站端设置基站端密钥队列,基站端将其密钥文件读取并排入基站端密钥队列中,基站端所需密钥由读取基站端密钥队列获得,基站端密钥队列被读取变短后,基站端的密钥文件会被再次读取并补充至基站端密钥队列中;
7、用户端设置用户端密钥队列,用户端将其密钥文件读取并排入用户端密钥队列中,用户端所需密钥由读取用户端密钥队列获得,用户端密钥队列被读取变短后,用户端的密钥文件会被再次读取并补充至用户端密钥队列中。
8、进一步的,基站端与每个用户端之间都存在有相同的密钥池,基站端中与用户端相同的密钥池会根据该用户端的身份进行标识,用户端之间通信过程中,基站端所需密钥由读取基站端密钥队列获得。
9、进一步的,用户端之间通信过程中,基站端会根据消息接收的用户端的身份本地查找是否存在相应身份的基站端密钥队列,若存在,则基站端所需密钥由读取该相应身份的基站端密钥队列获得;若不存在,则基站端会先根据消息接收的用户端的身份设置相应身份的基站端密钥队列,而后基站端会根据消息接收的用户端的身份本地查找相应身份的密钥池,并将该密钥池中的密钥文件读取并排入相应身份的基站端密钥队列中,基站端所需密钥由读取该基站端密钥队列获得。
10、进一步的,基站端密钥队列被读取变短后,基站端会根据该基站端密钥队列的身份本地查找相应身份的密钥池,并将该密钥池中的密钥文件再次读取补充至该基站端密钥队列中。
11、进一步的,基站端的密钥文件读取至基站端密钥队列的具体操作为:基站端使用mmap将基站端的密钥文件的页缓存地址映射到基站端的用户空间的虚拟内存地址上,而后再读取至基站端密钥队列中。
12、进一步的,用户端设置至少一个用户端密钥队列,用户端的密钥文件读取并排入用户端密钥队列中。
13、进一步的,用户端的密钥文件读取至用户端密钥队列的具体操作为:用户端使用mmap将用户端的密钥文件的页缓存地址映射到用户端的用户空间的虚拟内存地址上,而后再读取至用户端密钥队列中。
14、本发明的有益效果:
15、1、本发明量子加解密读取密钥文件获取密钥的过程中,不需要频繁打开关闭文件,减少了系统程序操作和资源占用;
16、2、本发明使用mmap将密钥文件的页缓存地址映射到用户空间的虚拟内存地址上,这样会占用极少的内存,可以极大的优化性能;
17、3、本发明设置密钥队列,通过读取密钥队列获得密钥,这样减少了密钥读取的消耗和步骤,提高了并发能力;
18、4、本发明映射的虚拟内存地址是用户空间的,可以实现进程间的共享,可以维护密钥的统一性,为后续新功能的实现提供可能性。
1.一种量子密钥管理方法,其特征在于,该方法是将量子密钥文件读取并排入设置的量子密钥队列中,所需的量子密钥由读取量子密钥队列获得;
2.根据权利要求1所述一种量子密钥管理方法,其特征在于,量子密钥文件读取至量子密钥队列的具体操作为:使用mmap将量子密钥文件的页缓存地址映射到用户空间的虚拟内存地址上,而后再读取至量子密钥队列中。
3.一种基于量子密钥管理方法的应用系统,其特征在于,该系统包括基站端及与基站端量子网络连接的若干用户端;
4.根据权利要求3所述的一种基于量子密钥管理方法的应用系统,其特征在于,基站端与每个用户端之间都存在有相同的密钥池,基站端中与用户端相同的密钥池会根据该用户端的身份进行标识,用户端之间通信过程中,基站端所需密钥由读取基站端密钥队列获得。
5.根据权利要求4所述的一种基于量子密钥管理方法的应用系统,其特征在于,用户端之间通信过程中,基站端会根据消息接收的用户端的身份本地查找是否存在相应身份的基站端密钥队列,若存在,则基站端所需密钥由读取该相应身份的基站端密钥队列获得;若不存在,则基站端会先根据消息接收的用户端的身份设置相应身份的基站端密钥队列,而后基站端会根据消息接收的用户端的身份本地查找相应身份的密钥池,并将该密钥池中的密钥文件读取并排入相应身份的基站端密钥队列中,基站端所需密钥由读取该基站端密钥队列获得。
6.根据权利要求5所述的一种基于量子密钥管理方法的应用系统,其特征在于,基站端密钥队列被读取变短后,基站端会根据该基站端密钥队列的身份本地查找相应身份的密钥池,并将该密钥池中的密钥文件再次读取补充至该基站端密钥队列中。
7.根据权利要求3所述的一种基于量子密钥管理方法的应用系统,其特征在于,基站端的密钥文件读取至基站端密钥队列的具体操作为:基站端使用mmap将基站端的密钥文件的页缓存地址映射到基站端的用户空间的虚拟内存地址上,而后再读取至基站端密钥队列中。
8.根据权利要求3所述的一种基于量子密钥管理方法的应用系统,其特征在于,用户端设置至少一个用户端密钥队列,用户端的密钥文件读取并排入用户端密钥队列中。
9.根据权利要求3所述的一种基于量子密钥管理方法的应用系统,其特征在于,用户端的密钥文件读取至用户端密钥队列的具体操作为:用户端使用mmap将用户端的密钥文件的页缓存地址映射到用户端的用户空间的虚拟内存地址上,而后再读取至用户端密钥队列中。