CN117521149B - 基于量子密码设备的文件系统流加解密方法及系统 - Google Patents
基于量子密码设备的文件系统流加解密方法及系统 Download PDFInfo
- Publication number
- CN117521149B CN117521149B CN202410004791.9A CN202410004791A CN117521149B CN 117521149 B CN117521149 B CN 117521149B CN 202410004791 A CN202410004791 A CN 202410004791A CN 117521149 B CN117521149 B CN 117521149B
- Authority
- CN
- China
- Prior art keywords
- file
- key
- quantum cryptography
- value
- index
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000013507 mapping Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000005429 filling process Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 238000005336 cracking Methods 0.000 abstract description 7
- 238000000926 separation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
Abstract
本发明公开一种基于量子密码设备的文件系统流加解密方法及系统,方法包括接收文件访问操作请求;根据目标文件的inode值从量子密码设备获取目标文件对应的索引号;将目标文件及对应的索引号传递至量子密码设备,以使量子密码设备基于索引号查询流密钥块表获取密钥流或基于索引号查询密钥键值获取加密密钥;接收量子密码设备返回的文件操作结果,文件操作结果为量子密码设备基于密钥流或加密密钥对目标文件进行加密运算或解密运算得到;本发明可实现更高强度的文件加密保护,且提升反破解能力。
Description
技术领域
本发明涉及密码应用和计算机文件系统技术领域,具体涉及一种基于量子密码设备的文件系统流加解密方法及系统。
背景技术
文件系统是一种存储和组织计算机数据的方法,它使用户在读写数据时,无需实际操作存储设备或介质,数据管理被抽象为“文件”管理。在Unix类的操作系统中,内核通过inode编号识别文件而不是文件名,每个文件有独立的inode编号,与内容一起存储到磁盘分区。
加密文件系统是一种文件系统,它在文件写磁盘前加密文件数据,防止磁盘上的敏感信息外泄。在写入与读取数据时都会进行加密与解密操作,确保只有授权用户才能访问数据明文。加密文件系统技术常用于企业级计算机与服务器,防止未经授权的人员窃取敏感数据。
流密码又称流加密,是一种对称加密算法,加密和解密双方使用相同随机加密数据流作为密钥,明文数据每次与密钥数据流顺次对应加密,得到密文数据流。实践中数据通常按位(bit)使用异或(xor)操作加密。在密码学中,如果流密钥随机性得到保障,流加密可视为高安全性的对称加密算法。
相关技术中,公布号为CN116361749A的专利申请文献中实现了对可执行文件的量子密码应用,公布号为CN115842654A的专利申请文献中实现了对独立文件的存储加密和传输加密,但二者均不是针对linux操作系统中的文件系统层的量子加解密应用。
传统文件系统加密技术,关注实现物理储存介质上的数据加解密,对密钥管理的安全设计缺乏考量,文件系统的兼容性、可用性、易用性、安全强度方面也存在不同程度的缺陷,归纳如下:
(1)加解密多在内核层中实现,调用过程出现问题会导致操作系统崩溃,影响其他用户软件。
(2)受保护文件与密钥被放置在同一段数据中,增加了被逆向破解的风险。
(3)只依靠软件实现,在加解密与密钥管理的设计中没有引入安全等级更高的密码部件。
(4)仅通过用户口令来保护加密存储区。
发明内容
本发明所要解决的技术问题在于如何提供一种易用、安全的文件数据加密方案。
本发明通过以下技术手段解决上述技术问题的:
第一方面,本发明提出了一种基于量子密码设备的文件系统流加解密方法,应用于用户主机,所述方法包括:
接收文件访问操作请求,所述文件访问操作请求携带有目标文件的inode值;
根据目标文件的inode值从量子密码设备获取目标文件对应的索引号;
将目标文件及对应的索引号传递至所述量子密码设备,以使所述量子密码设备基于所述索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
接收所述量子密码设备返回的文件操作结果,所述文件操作结果为所述量子密码设备基于所述密钥流或所述加密密钥对所述目标文件进行加密运算或解密运算得到。
第二方面,本发明提出了一种基于量子密码设备的文件系统流加解密方法,接收由用户主机发送的目标文件的inode值;
在索引表区中查询所述目标文件的inode值对应的索引号并返回至所述用户主机;
接收所述用户主机发送的目标文件的内容及索引号,并基于索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
利用所述密钥流或所述加密密钥对所述目标文件的内容进行加密运算或解密运算,得到文件操作结果并返回所述用户主机。
第三方面,本发明提出了一种用户主机,所述用户主机中运行用户文件系统,所述用户文件系统创建有守护进程、文件节点查询模块以及量子加解密接口,其中:
所述守护进程,用于接收文件访问操作请求,所述文件访问操作请求携带有目标文件的inode值;
所述文件节点查询模块,用于根据目标文件的inode值从量子密码设备获取目标文件对应的索引号,并将目标文件的inode值、索引号以及文件访问操作请求发送至所述量子加解密接口;
所述量子加解密接口,用于解析所述文件访问操作请求,并将所述将目标文件的内容及对应的索引号传递至所述量子密码设备,以使所述量子密码设备基于所述索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
所述守护进程,还用于接收所述量子密码设备返回的文件操作结果,所述文件操作结果为所述量子密码设备基于所述密钥流或所述加密密钥对所述目标文件进行加密运算或解密运算得到。
第四方面,本发明提出了一种量子密码设备,所述量子密码设备内设置主控制器和安全存储区,所述安全存储中设置有索引表区,所述主控制器包括:
索引号查询模块,用于接收由用户主机发送的目标文件的inode值,并在索引表区中查询所述目标文件的inode值对应的索引号并返回至所述用户主机;
密钥查询模块,用于接收所述用户主机发送的目标文件的内容及索引号,并基于索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
加/解密运算模块,用于利用所述密钥流或所述加密密钥对所述目标文件的内容进行加密运算或解密运算,得到文件操作结果并返回所述用户主机。
第五方面,本发明提出了一种基于量子密码设备的文件系统流加解密系统,所述系统包括用户主机和量子密码设备,所述用户主机中运行用户文件系统,所述量子密码设备和存储设备接入所述用户主机,所述用户文件系统创建有守护进程、文件节点查询模块以及量子加解密接口,所述量子密码设备内设置主控制器和安全存储区,所述安全存储中设置有索引表区,所述主控制器包括索引号查询模块、密钥查询模块和加/解密运算模块;
所述守护进程,用于接收用户触发的文件访问操作请求,所述文件访问操作请求携带有目标文件的inode值;
所述文件节点查询模块,用于根据目标文件的inode值从所述索引号查询模块中获取目标文件对应的索引号,并将目标文件的inode值、索引号以及文件访问操作请求发送至所述量子加解密接口;
所述量子加解密接口,用于解析所述文件访问操作请求,并将所述目标文件的内容及对应的索引号传递至所述密钥查询模块;
所述密钥查询模块,用于基于索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
所述加/解密运算模块,用于利用所述密钥流或所述加密密钥对所述目标文件的内容进行加密运算或解密运算,得到文件操作结果并返回所述守护进程。
本发明的优点在于:
(1)本发明基于量子密码设备,采用具有对称加密完善保密性的流密钥,实现更高强度的文件加密保护,或者采用加密密钥对文件数据实施对称加密保护,并且实现密文、密钥、用户口令的存储分离,提升反破解能力。
(2)本发明创建块表结构实现了流密钥的存储与提取,该结构同时关联inode索引方法,提升了安全区文件的读写效率,块表结构仅在量子密码设备内部产生与存储,消除了敏感文件被还原破解的安全威胁。
(3)采取用户文件系统模式,与操作系统内核无关,对非易失性存储介质形态没有要求,兼容性与易用性得到提升。
(4)实现了存储设备与密码部件的绑定,提升安全防护强度,实现了用户、文件系统与密码设备的绑定,泄露敏感文件信息的风险大幅降低。
(5)充分利用了量子随机数熵源的真随机性、随机数生成快的特点,将流密码应用到计算机文件系统技术领域,且密钥由量子随机数熵源内部产生,不离开密码设备的安全存储区,而密文存储在磁盘,实现了密钥与密文分离。
(6)对单个文件的操作才会触发加解密,相比磁盘分区全加密的方式,性能开销更低。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是本发明第一实施例提出的一种基于量子密码设备的文件系统流加解密方法的流程示意图;
图2是本发明第二实施例提出的一种基于量子密码设备的文件系统流加解密方法的流程示意图;
图3是本发明第三实施例提出的一种用户文件系统的结构示意图;
图4是本发明第四实施例提出的一种量子密码设备的结构示意图;
图5是本发明中安全存储区的结构示意图;
图6是本发明中根目录索引表的结构示意图;
图7是本发明中文件索引句柄的结构示意图;
图8是本发明中流密钥块表的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本发明第一实施例公开了一种基于量子密码设备的文件系统流加解密方法,应用于用户主机,所述方法包括以下步骤:
S101、接收文件访问操作请求,所述文件访问操作请求携带有目标文件的inode值;
S102、根据目标文件的inode值从量子密码设备获取目标文件对应的索引号;
S103、将目标文件及对应的索引号传递至所述量子密码设备,以使所述量子密码设备基于所述索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
S104、接收所述量子密码设备返回的文件操作结果,所述文件操作结果为所述量子密码设备基于所述密钥流或所述加密密钥对所述目标文件进行加密运算或解密运算得到。
需要说明的是,本实施例在用户主机中运行用户文件系统,利用用户文件系统与量子密码设备进行交互,基于量子密码设备,采用具有对称加密完善保密性的流密钥,实现更高强度的文件加密保护,或者采用加密密钥对文件数据实施对称加密保护,并且实现密文、密钥、用户口令的存储分离,提升反破解能力。
在一实施例中,在所述步骤S101:接收文件访问操作请求之前,所述方法还包括以下步骤:
S111、在检测到量子密码设备uevent事件时问讯所述量子密码设备的证书状态;
S112、在证书状态为无设备证书时绑定存储设备,对用户输入目录所在的存储设备的硬盘序列号进行验证;
S113、在证书状态为存在设备证书时,对用户输入目录所在的存储设备的硬盘序列号进行验证。
其中,所述用户主机中运行用户文件系统,由用户文件系统创建守护进程,用于监听内核传递的file操作请求,监听量子密码设备的uevent,处理量子密码设备的收发请求。
在一实施例中,所述步骤S112中,在证书状态为无设备证书时绑定存储设备,具体包括以下步骤:
获取用户输入的待绑定的存储设备的标识;
获取待绑定的存储设备的硬盘序列号并计算hash值,导入临时文件;
将所述临时文件传递至所述量子密码设备,以使所述量子密码设备使用设备私钥匙对所述临时文件进行签名,并将签名证书保存在所述量子密码设备的证书区;
接收所述量子密码设备返回的设备公钥。
本实施例实现了存储设备与密码部件的绑定,提升了安全防护强度。
在一实施例中,所述步骤S112或S113中,对用户输入目录所在的存储设备的硬盘序列号进行验证,包括:
等待用户输入保护目录路径;
获取所述保护目录路径所在存储设备的硬盘序列号,并将所述硬盘序列号的hash值下发至所述量子密码设备,以使所述量子密码设备检查所述硬盘序列号的hash值是否为注册硬盘序列号;
接收所述量子密码设备返回的硬盘序列号验证结果。
需要说明的是,本实施例根据流密码的特点,将密码设备和存储设备绑定使用,对与用户主机连接的存储介质的硬盘序列号进行验证。
在一实施例中,在对硬盘序列号进行验证通过后,所述方法还包括:
获取传入目录名文件的inode值,并将所述inode值传入所述量子密码设备,以使所述量子密码设备基于所述inode值查询对应的根目录索引表;
在所述inode值对应的根目录索引表存在时,获取用户输入的鉴权口令;
将所述鉴权口令传递至所述量子密码设备,以使所述量子密码设备计算所述鉴权口令的hash值一,并将hash值一与hash值二进行比较生成鉴权结果,所述hash值二为所述量子密码设备从所述inode值对应的根目录索引表中取出;
在所述鉴权结果为鉴权成功时,接收所述量子密码设备返回的目录的安全模式值;
在所述鉴权结果为鉴权失败时,退出流程。
在一实施例中,在对硬盘序列号进行验证通过后,所述方法还包括:
获取传入目录名文件的inode值,并将所述inode值传入所述量子密码设备,以使所述量子密码设备基于所述inode值查询对应的根目录索引表;
在所述inode值对应的根目录索引表不存在时,获取用户输入的鉴权口令与安全模式值;
将所述inode值、鉴权口令以及安全模式值传递至所述量子密码设备,以使所述量子密码设备计算鉴权口令的hash值,并将所述inode值、鉴权口令的hash值和安全模式字段填入所创建的根目录索引表中;
发送挂载指令至所述量子密码设备以使所述量子密码设备置位挂载根目录索引表锁定状态字段;
执行操作系统的挂载流程并退出流程。
本实施例进行挂载目录鉴权,实现用户身份鉴别,只有目录的创建者允许完成挂载操作。
在一实施例中,所述方法还包括:
接收文件新建操作请求,所述文件新建操作请求携带有新建文件的inode值;
将所述新建文件的inode值发送至所述量子密码设备,以使所述量子密码设备在根目录索引表中检索所述新建文件的inode值,将新建文件的inode值添加在根目录索引表的尾部,创建与新建文件的inode值对应的文件索引句柄,并将索引号添加至根目录索引表的尾部;
接收所述量子密码设备返回的文件新建操作结果。
在一实施例中,所述方法还包括:
接收文件删除操作请求,所述文件删除操作请求携带有待删除文件的inode值;
将所述待删除文件的inode值发送至所述量子密码设备,以使所述量子密码设备在根目录索引文件中查询所述待删除文件的inode值对应的索引号,并删除所述待删除文件的文件索引句柄及根目录索引表中所述待删除文件的inode值所在字段及inode值对应索引号所在字段;
接收所述量子密码设备返回的文件删除操作结果;
执行本机目录节点数与磁盘文件删除操作。
实施例2
如图2所示,本发明第二实施例公开了一种基于量子密码设备的文件系统流加解密方法,应用于量子密码设备,所述方法包括以下步骤:
S201、接收由用户主机发送的目标文件的inode值;
S202、在索引表区中查询所述目标文件的inode值对应的索引号并返回至所述用户主机;
S203、接收所述用户主机发送的目标文件的内容及索引号,并基于索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
S203、利用所述密钥流或所述加密密钥对所述目标文件的内容进行加密运算或解密运算,得到文件操作结果并返回所述用户主机。
需要说明的是,本实施例基于量子密码设备,采用具有对称加密完善保密性的流密钥,实现更高强度的文件加密保护,或者采用加密密钥对文件数据实施对称加密保护,并且实现密文、密钥、用户口令的存储分离,提升反破解能力。
在一实施例中,所述量子密码设备中设置有安全存储区,用于在物理上保护索引表、句柄、块表等关键数据信息,不允许计算机CPU直接访问,防止非法读写操作。所述安全存储区包括索引表区和密钥存储区,所述索引表区包括根目录索引表、文件索引句柄和流密钥块表,每个挂载根目录对应一张根目录索引表,所述根目录索引表记录该挂载根目录中全部加密文件的inode值及索引值,所述文件索引句柄记录文件与流密钥块表或分组密钥键值的映射关系,所述流密钥块表记录一组密钥块的行列编号;
所述密钥存储区包括流密钥块阵列和密钥键值,所述流密钥块阵列中存储流密钥,所述密钥键值以键值对的方式存放SM4算法使用的加密密钥,所述流密钥和所述加密密钥均由量子随机数熵源生成。
本实施例实现了密文、密钥、用户口令的存储分离,提升反破解能力。
在一实施例中,所述安全存储区中还包括证书区,所述证书区用于存放保护密钥和设备证书,在所述接收由用户主机发送的目标文件的inode值之前,所述方法还包括:
自检确定所述安全存储区为空时,在所述安全存储区内新建根目录索引空表、流密钥块空表、空的流密钥块阵列;
调用所述随机数熵源生成随机数并充注到空的流密钥块阵列中;
初始化所述证书区,生成设备公私钥对作为保护密钥,并将保护密钥存放到所述证书区;
切换为监听模式,响应外部用户主机的请求。
在一实施例中,在所述量子密码设备进行自检初始化之后,所述方法还包括:
触发所述用户主机生成量子密码设备uevent事件,以使所述用户主机查询量子密码设备的证书状态;
在无设备证书时,触发所述用户主机绑定存储设备,然后触发所述用户主机对用户输入目录所在的存储设备的硬盘序列号进行验证;
在存在设备证书时,触发所述用户主机对用户输入目录所在的存储设备的硬盘序列号进行验证。
在一实施例中,所述在无设备证书时,触发所述用户主机绑定存储设备,包括:
接收所述用户主机发送的临时文件,所述临时文件中导入有绑定的存储设备的硬盘序列号所计算的hash值;
使用设备私钥对所述临时文件进行签名,并件签名保存在证书区;
将设备公钥返回至所述用户主机。
在一实施例中,所述触发所述用户主机对用户输入目录所在的存储设备的硬盘序列号进行验证,包括:
接收所述用户主机发送的硬盘序列号的hash值,所述硬盘序列号为用户输入保护目录所在的存储设备的硬盘序列号;
验证所述硬盘序列号的hash值是否为注册的硬盘序列号,并将验证结果返回至所述用户主机以使所述用户主机执行挂载目录鉴权或继续等待用户输入保护目录。
在一实施例中,所述挂载目录鉴权的过程包括:
接收所述用户主机发送的目录名文件的inode值;
在查找所述目录名文件的inode值对应的根目录索引表存在时,接收所述用户主机发送的鉴权口令,并计算所述鉴权口令的hash值一;
从所述目录名文件的inode值对应的根目录索引表中取出口令的hash值二;
在hash值一与hash值二相等时,返回目录的安全模式值至所述用户主机,然后置位挂载所述目录名文件的inode值对应的根目录索引表为锁定状态字段;
在hash值一与hash值二不相等时,退出挂载目录鉴权流程。
在一实施例中,所述挂载目录鉴权的过程包括:
接收所述用户主机发送的目录名文件的inode值;
在查找所述目录名文件的inode值对应的根目录索引表不存在时,接收所述用户主机发送的鉴权口令及安全模式值;
计算所述鉴权口令的hash值,在所述安全存储区内创建根目录索引表,并在创建的根目录索引表中填入目录名文件的inode值、鉴权口令的hash值和安全模式值;
置位挂载新创建的根目录索引表为锁定状态字段。
在一实施例中,所述步骤S203:接收所述用户主机发送的目标文件的内容及索引号,并基于索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥,包括:
接收所述用户主机发送的目标文件的明文或密文以及索引号,并查询根目录索引表中挂载的安全模式;
在安全模式为强安全模式时,基于索引号查询流密钥块表号,并获取相应的流密钥块表上的密钥流;
在安全模式为普通模式时,基于索引号查询密钥键值获取加密密钥;
相应地,所述利用所述密钥流或所述加密密钥对所述目标文件的内容进行加密运算或解密运算,具体为:
利用所述密钥流或所述加密密钥对目标文件的明文进行加密运算或对目标文件的密文进行解密运算。
在一实施例中,在基于索引号查询流密钥块表号时,若流密钥块的块数不足,则触发密钥块填充流程,包括:
查询流密钥块阵列,获取一个空闲块号并添加到流密钥块表;
传递所述块号至量子随机数熵源,以使所述量子随机数熵源产生随机数并将随机数充注至该块号对应的流密钥块。
在一实施例中,在基于索引号查询密钥键值获取加密密钥时,若密钥键值为空,则触发密钥填充流程,包括:
分配一个密钥键值,并将该密钥键值传递至量子随机数熵源,以使所述量子随机数熵源产生随机数,并将随机数和键值填充至所述密钥存储区。
在一实施例中,所述方法还包括:
接收所述用户主机发送的新建文件的inode值;
在根目录索引表中检查新建文件的inode值,并将新建文件的inode值添加到根目录索引表的尾部;
创建文件索引句柄,并将文件索引句柄的索引号添加到根目录索引表中新建文件的inode值的后一个字段;
将文件新建操作结果返回至所述用户主机。
在一实施例中,所述方法还包括:
接收所述用户主机发送的待删除文件的inode值;
在根目录索引表中查询所述待删除文件的inode值,获取所述待删除文件的inode值位置后的索引号;
删除与该索引号对应的文件索引句柄;
删除根目录索引表中所述待删除文件的inode值所在字段及其后一个字段;
将文件删除操作结果返回至所述用户主机。
实施例3
如图3所示,本发明第三实施例公开了一种用户主机,所述用户主机中运行用户文件系统,所述用户文件系统创建有守护进程11、文件节点查询模块12以及量子加解密接口13,其中:
所述守护进程11,用于接收文件访问操作请求,所述文件访问操作请求携带有目标文件的inode值;
所述文件节点查询模块12,用于根据目标文件的inode值从量子密码设备获取目标文件对应的索引号,并将目标文件的inode值、索引号以及文件访问操作请求发送至所述量子加解密接口;
所述量子加解密接口13,用于解析所述文件访问操作请求,并将所述将目标文件的内容及对应的索引号传递至所述量子密码设备,以使所述量子密码设备基于所述索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
所述守护进程11,还用于接收所述量子密码设备返回的文件操作结果,所述文件操作结果为所述量子密码设备基于所述密钥流或所述加密密钥对所述目标文件进行加密运算或解密运算得到。
本实施例基于量子密码设备,采用具有对称加密完善保密性的流密钥,实现更高强度的文件加密保护,或者采用加密密钥对文件数据实施对称加密保护,并且实现密文、密钥、用户口令的存储分离,提升反破解能力;并且采取用户文件系统模式,与操作系统内核无关,对非易失性存储介质形态没有要求,兼容性与易用性得到提升。
在一实施例中,所述用户文件系统还创建有虚拟文件系统事件14,其中:
所述虚拟文件系统事件14,用于获取内核传递的量子密码设备uevent事件并传递至所述守护进程,由所述守护进程问讯所述量子密码设备的证书状态;
所述守护进程11,用于在证书状态为无设备证书时绑定存储设备,对用户输入目录所在的存储设备的硬盘序列号进行验证;以及在证书状态为存在设备证书时,对用户输入目录所在的存储设备的硬盘序列号进行验证。
在一实施例中,所述用户文件系统还创建有量子密码设备认证模块15,用于检测绑定的量子密码设备的合法性,并初始化量子密码设备的安全存储区。
在一实施例中,所述用户文件系统还创建有挂载目录鉴权模块16,用于触发目录查表流程或目录映射流程,使得所述量子密码设备置位挂载根目录索引表锁定状态字段。
进一步地,目录查表流程包括:
在所述inode值对应的根目录索引表存在时,获取用户输入的鉴权口令;
将所述鉴权口令传递至所述量子密码设备,以使所述量子密码设备计算所述鉴权口令的hash值一,并将hash值一与hash值二进行比较生成鉴权结果,所述hash值二为所述量子密码设备从所述inode值对应的根目录索引表中取出;
在所述鉴权结果为鉴权成功时,接收所述量子密码设备返回的目录的安全模式值。
进一步地,目录映射流程包括:
在所述inode值对应的根目录索引表不存在时,获取用户输入的鉴权口令与安全模式值;
将所述inode值、鉴权口令以及安全模式值传递至所述量子密码设备,以使所述量子密码设备计算鉴权口令的hash值,并将所述inode值、鉴权口令的hash值和安全模式字段填入所创建的根目录索引表中。
需要说明的是,如果索引表区需要新建,则鉴权口令是直接录入;如索引表区已经存在了,则鉴权口令要和已存在索引表区中保存的口令进行hash比对,确认用户身份是否正确。
具体地,用户文件系统quantum-Ecryptfs用于提供用户态的文件系统服务,通过量子密码服务接口,对用户文件提供加解密服务,对磁盘文件实施保护。
用户文件系统创建有:
文件系统守护进程(QEncryptfs-daemon):用于初始化各功能模块,监听内核传递的file操作请求,监听量子密码设备的uevent,处理量子密码设备的收发请求。
虚拟文件系统事件(VFS-notify):用于获取内核传递的file-event,向内部传递文件节点信息。
量子密码设备认证(QDev-verify):用于绑定量子密码设备,检测设备合法性,初始化设备安全存储区。
挂载目录鉴权(Mount-verify):用于挂载指定的目录文件,鉴别用户身份,设置安全模式。
文件节点查询(inode-traversal):用于通过目标文件inode号,获取设备内的文件句柄索引。
量子加解密接口(QEncrypt):用于提供量子密码设备的抽象接口,提供流加密和国密算法。
本实施例采取用户文件系统模式,与操作系统内核无关,对非易失性存储介质形态没有要求,兼容性与易用性得到提升。
需要说明的是,本发明所述用户主机的其他实施例或具有实现方法可参照上述各方法实施例1,此处不再赘余。
实施例4
如图4所示,本发明第四实施例公开了一种量子密码设备,所述量子密码设备内设置主控制器21和安全存储区22,所述安全存储22中设置有索引表区,所述主控制器21包括:
索引号查询模块,用于接收由用户主机发送的目标文件的inode值,并在索引表区中查询所述目标文件的inode值对应的索引号并返回至所述用户主机;
密钥查询模块,用于接收所述用户主机发送的目标文件的内容及索引号,并基于索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
加/解密运算模块,用于利用所述密钥流或所述加密密钥对所述目标文件的内容进行加密运算或解密运算,得到文件操作结果并返回所述用户主机。
在一实施例中,如图5、图6、图7及图8所示,所述安全存储区包括索引表区和密钥存储区,所述索引表区包括根目录索引表、文件索引句柄和流密钥块表,每个挂载根目录对应一张根目录索引表,所述根目录索引表记录该挂载根目录中全部加密文件的inode值及索引值,所述文件索引句柄记录文件与流密钥块表或分组密钥键值的映射关系,所述流密钥块表记录一组密钥块的行列编号;
所述密钥存储区包括流密钥块阵列和密钥键值,所述流密钥块阵列中存储流密钥,所述密钥键值以键值对的方式存放SM4算法使用的加密密钥。
具体地,一个挂载根目录对应一张根目录索引表,根目录索引表内记录有该挂载目录中全部加密文件的节点号与内部索引值,最多可以创建32张索引表。
文件索引句柄记录该文件与密钥映射关系数据的地址,按安全模式,分为流密钥块表号(强安全模式)或密钥键值(普通模式)。
流密钥块表在处于强安全模式保护时,每个文件索引映射一个块表,该表记录一组密钥块的行列编号,支持最多8192个块表。
密钥储存区存储流密钥块阵列,块阵列为地址连续的内部存储空间,单位为块,块大小4096字节,阵列大小根据密码安全设备的存储规格调整,块表在阵列中按行号与列号方式寻址每个块,阵列中的块用于存储流密钥,只能由量子随机数熵源填充。
密钥键值以键值对的方式,存放SM4算法密钥,密钥只能由量子随机数熵源产生。
安全存储区还包括证书区,用于存放保护密钥、设备证书。
在一实施例中,所述量子密码设备中还设置有量子随机数熵源,所述流密钥和所述加密密钥均由量子随机数熵源生成。
需要说明的是,密钥由量子随机数熵源内部产生,不离开密码设备的安全存储区,而密文存储在磁盘,实现了密钥与密文分离。
在一实施例中,所述量子密码设备中还设置有国密算法器,用于根据所述加密密钥对所述目标文件的内容进行加密或解密运算。
具体地,量子随机数熵源为密码类设备,提供高安全性、高性能的真随机数源,随机数生成速率快,可直接对大容量的安全存储区进行写操作。
国密算法器可提供国密算法SM2/SM3/SM4的硬件算法器,国密算法即国家商用密码算法,代表算法为SM2/3/4/9等。
安全存储区(TRUST ZONE)用于放置根目录数据结构,文件索引表、流密钥块阵列等。
主控制器中运行固件代码,控制与调用其他子模块,对外提供密码服务接口。
内置ROM为只读方式储存密码设备固件。
在一实施例中,所述主控制器还包括初始化模块,用于:
自检确定所述安全存储区为空时,在所述安全存储区内新建根目录索引空表、流密钥块空表、空的流密钥块阵列;
调用所述随机数熵源生成随机数并充注到空的流密钥块阵列中;
初始化所述证书区,生成设备公私钥对作为保护密钥,并将保护密钥存放到所述证书区;
切换为监听模式,响应外部用户主机的请求。
在一实施例中,所述主控制器还包括设备绑定模块,具体用于:
触发所述用户主机生成量子密码设备uevent事件,以使所述用户主机查询量子密码设备的证书状态;
在无设备证书时,触发所述用户主机绑定存储设备,然后触发所述用户主机对用户输入目录所在的存储设备的硬盘序列号进行验证;
在存在设备证书时,触发所述用户主机对用户输入目录所在的存储设备的硬盘序列号进行验证。
在一实施例中,所述设备绑定模块包括验证单元,具体用于:
接收所述用户主机发送的硬盘序列号的hash值,所述硬盘序列号为用户输入保护目录所在的存储设备的硬盘序列号;
验证所述硬盘序列号的hash值是否为注册的硬盘序列号,并将验证结果返回至所述用户主机以使所述用户主机执行挂载目录鉴权或继续等待用户输入保护目录。
在一实施例中,所述控制器还包括挂载目录鉴权模块,具体用于:
接收所述用户主机发送的目录名文件的inode值;
在查找所述目录名文件的inode值对应的根目录索引表存在时,接收所述用户主机发送的鉴权口令,并计算所述鉴权口令的hash值一;
从所述目录名文件的inode值对应的根目录索引表中取出口令的hash值二;
在hash值一与hash值二相等时,返回目录的安全模式值至所述用户主机,然后置位挂载所述目录名文件的inode值对应的根目录索引表为锁定状态字段;
在hash值一与hash值二不相等时,退出挂载目录鉴权流程。
在一实施例中,所述挂载目录鉴权模块,具体用于:
接收所述用户主机发送的目录名文件的inode值;
在查找所述目录名文件的inode值对应的根目录索引表不存在时,接收所述用户主机发送的鉴权口令及安全模式值;
计算所述鉴权口令的hash值,在所述安全存储区内创建根目录索引表,并在创建的根目录索引表中填入目录名文件的inode值、鉴权口令的hash值和安全模式值;
置位挂载新创建的根目录索引表为锁定状态字段。
需要说明的是,本发明所述量子密码设备的其他实施例或具有实现方法可参照上述各方法实施例,此处不再赘余。
实施例5
本发明第五实施例公开了一种基于量子密码设备的文件系统流加解密系统,所述系统包括用户主机和量子密码设备,所述用户主机中运行用户文件系统,所述量子密码设备和存储设备接入所述用户主机,所述用户文件系统创建有守护进程、文件节点查询模块以及量子加解密接口,所述量子密码设备内设置主控制器和安全存储区,所述安全存储中设置有索引表区,所述主控制器包括索引号查询模块、密钥查询模块和加/解密运算模块;
所述守护进程,用于接收用户触发的文件访问操作请求,所述文件访问操作请求携带有目标文件的inode值;
所述文件节点查询模块,用于根据目标文件的inode值从所述索引号查询模块中获取目标文件对应的索引号,并将目标文件的inode值、索引号以及文件访问操作请求发送至所述量子加解密接口;
所述量子加解密接口,用于解析所述文件访问操作请求,并将所述目标文件的内容及对应的索引号传递至所述密钥查询模块;
所述密钥查询模块,用于基于索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
所述加/解密运算模块,用于利用所述密钥流或所述加密密钥对所述目标文件的内容进行加密运算或解密运算,得到文件操作结果并返回所述守护进程。
具体地,基于量子密码设备的文件系统流加解密系统的工作流程为:
(1)量子密码设备初始化:
S1、设备自检。
S2、若安全储存区为空,则执行初始化安全储存区子流程:
S2-1、初始化索引表区,新建根目录索引空表。
S2-2、初始化密钥储存区,新建流密钥块空表。
S2-3、创建空的流密钥块阵列,每个块4096字节。
S2-4、量子密码设备调用随机数熵源,充注随机数到阵列块上。
S2-5、初始化证书区,生成设备公私密钥对,将密钥对存放到证书区。
S3、主控制器切换为监听模式,响应外部请求。
(2)储存设备的绑定与验证:
QEncryptfs-daemon是由quantum-Ecryptfs文件系统软件创建的守护进程(后文表述为守护进程),启动流程如下:
S1、主机开机后,自动启用quantum-Ecryptfs用户文件系统,加载守护进程。
S2、插入量子密码设备到主机,内核传递量子密码设备uevent事件给守护进程。
S3、守护进程问讯密码设备的证书状态。若证书区无设备证书,守护进程触发设备绑定子流程;若证书区存在设备证书,则执行S4。
设备绑定子流程如下:
S3-1、守护进程获取用户输入的待绑定存储设备名。
S3-2、守护进程获取绑定设备的SN(硬盘序列)号并计算hash值,导入到临时文件。
S3-3、守护进程传递临时文件给密码设备。
S3-4、密码设备使用设备私钥匙对文件进行签名,将签名证书保存在证书区。
S3-5、密码设备将设备公钥返回给守护进程。
S4、守护进程阻塞等待用户输入保护目录路径。
S5、守护进程自动获取用户输入目录所在的储存设备SN号。
S6、守护进程将SN号的hash值下发给密码设备。
S7、密码设备检查hash值是否为注册SN号,返回验证结果。
S8、验证通过,守护进程执行“挂载目录鉴权”流程;若否,则守护进程跳转到S4。
(3)挂载目录鉴权:
S1、获取传入目录名文件的inode号。
S2、将inode号传入量子密码设备,查询该inode的根目录索引表是否存在,若存在,进入目录查表子流程,否则触发目录映射子流程。
目录查表流程:
S1-1、用户输入鉴权口令。
S1-2、传递口令到量子密码设备,密码设备计算得到口令hash值1。
S1-3、量子密码设备从inode的根目录索引表中取出口令hash值2。
S1-4、如值1不等于值2,密码设备返回鉴权失败结果,跳转到流程S5;否则,跳转到S1-5。
S1-5、量子密码设备返回目录的Encryp-Mode安全模式值。
目录映射流程:
S2-1、确认用户输入新的鉴权口令与安全模式。
S2-2、传递inode值/新口令/安全模式值到量子密码设备,设备计算得到口令hash值。
S2-3、设备在安全储存区创建根目录索引表,填入inode/口令hash/安全模式字段。
S3、通知量子密码设备,置位挂载inode根目录索引表锁定状态字段(lock mark)。
S4、执行操作系统的挂载流程。
S5、退出流程。
(4)文件节点查询
按文件操作类型,触发如下流程:
4-1)文件新建操作:
S1、创建文件。
S2、获取新文件的inode信息。
S3、将文件inode值传递给量子密码设备。
S4、密码设备在根目录索引表中检查inode值,将inode值添加到表尾部。
S5、密码设备创建文件索引句柄,并将索引号添加到表尾部。
S6、密码设备返回操作结果。
4-2)文件访问操作
S1、获取文件的inode信息。
S2、将文件inode值传递给量子密码设备。
S3、量子密码设备在根目录索引表中查询文件inode值,返回inode在表中位置的后一个字段(索引号)。
S4、将inode、文件操作码与索引号传递给量子加解密接口。
4-3)文件删除操作
S1、获取文件的inode信息。
S2、将文件inode值传递给量子密码设备。
S3、量子密码设备在根目录索引表中查询文件inode值,获取索引号。
S4、量子密码设备删除该文件的文件索引句柄,释放句柄映射的存储区域。
S5、量子密码设备删除根目录索引表中该inode字段与它后一个字段(索引号),并确保根目录索引表连续性。
S6、量子密码设备返回操作结果。
S7、继续执行本机目录节点数与磁盘文件删除操作。
(5)量子加解密接口:
解析文件操作码,写操作触发加密接口,读操作触发解密接口。与量子密码设备主控器(后称主控器)交互,完成加解密流程。读取根目录挂载的安全模式,强安全模式调用密钥流接口,普通模式调用国密算法。
5-1)强安全模式(密钥流)的加密流程:
S1、通过inode打开文件,获取文件大小size。
S2、获取4096字节文件明文,传递索引号给量子密码设备。
S3、主控器通过索引号,查询流密钥块表,获取块号;发现块数不足,触发密钥块充注流程。
密钥块充注子流程:
S3-1、主控器查询流密钥块阵列,获取到一个空闲块号添加到块表。
S3-2、主控器传递块号给量子随机数熵源。
S3-3、量子随机数熵源产生随机数,充注到该块上。
S3-4、随机数熵源返回操作结果给主控器。
S4、主控器读取块上的密钥流,与4096字节明文作异或运算。
S5、主控器将密文返回给算法接口。
S6、重复执行S2-S5,直到全部size完成操作。
S7、操作系统将密文从缓存写到磁盘。
5-2)强安全模式(密钥流)的解密流程:
S1、通过inode打开磁盘文件,获取文件大小size。
S2、传递4096字节文件密文、索引号给量子密码设备。
S3、主控器通过索引号,找到流密钥块表,读取块号。
S4、主控器读取块上的密钥流,与传入的文件内容作异或运算。
S5、主控器返回明文给算法接口。
S6、重复执行S2-S5,直到全部size完成操作。
S7、用户在缓存上读取明文。
5-3)普通模式(国密算法)的加密流程:
S1、通过inode打开文件,获取文件大小size。
S2、传递4096字节文件明文、索引号给量子密码设备。
S3、主控器通过索引号,查询密钥键值。若发现密钥键值为空,触发密钥填充流程。
密钥填充子流程:
S3-1、主控器分配一个密钥键值。
S3-2、主控器传递键值给量子随机数熵源。
S3-3、量子随机数熵源产生随机数,和键值一起填充到密钥存储区。
S3-4、随机数熵源返回操作结果给主控器。
S4、主控器查询键值获取加密密钥,调用国密算法器加密明文。
S5、主控器返回加密结果。
S6、重复执行S2-S5,直到全部size完成操作。
S7、写文件密文到磁盘分区。
5-4)普通模式(国密算法)的解密流程:
S1、通过inode打开文件密文,获取文件大小size。
S2、传递4096字节密文与索引号给量子密码设备。
S3、主控器通过索引号,查询密钥键值。
S4、主控器查询键值获取密钥,调用国密算法器解密密文。
S5、主控器返回明文结果。
S6、重复执行S2-S5,直到全部size完成操作。
S7、用户在缓存上读取明文。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (30)
1.一种基于量子密码设备的文件系统流加解密方法,其特征在于,应用于用户主机,所述方法包括:
接收文件访问操作请求,所述文件访问操作请求携带有目标文件的inode值;
根据目标文件的inode值从量子密码设备获取目标文件对应的索引号;
将目标文件及对应的索引号传递至所述量子密码设备,以使所述量子密码设备基于所述索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
接收所述量子密码设备返回的文件操作结果,所述文件操作结果为所述量子密码设备基于所述密钥流或所述加密密钥对所述目标文件进行加密运算或解密运算得到。
2.如权利要求1所述的基于量子密码设备的文件系统流加解密方法,其特征在于,在所述接收文件访问操作请求之前,所述方法还包括:
在检测到量子密码设备uevent事件时问讯所述量子密码设备的证书状态;
在证书状态为无设备证书时绑定存储设备,对用户输入目录所在的存储设备的硬盘序列号进行验证;
在证书状态为存在设备证书时,对用户输入目录所在的存储设备的硬盘序列号进行验证。
3.如权利要求2所述的基于量子密码设备的文件系统流加解密方法,其特征在于,所述在证书状态为无设备证书时绑定存储设备,包括:
获取用户输入的待绑定的存储设备的标识;
获取待绑定的存储设备的硬盘序列号并计算hash值,导入临时文件;
将所述临时文件传递至所述量子密码设备,以使所述量子密码设备使用设备私钥匙对所述临时文件进行签名,并将签名证书保存在所述量子密码设备的证书区;
接收所述量子密码设备返回的设备公钥。
4.如权利要求2所述的基于量子密码设备的文件系统流加解密方法,其特征在于,所述对用户输入目录所在的存储设备的硬盘序列号进行验证,包括:
等待用户输入保护目录路径;
获取所述保护目录路径所在存储设备的硬盘序列号,并将所述硬盘序列号的hash值下发至所述量子密码设备,以使所述量子密码设备检查所述硬盘序列号的hash值是否为注册硬盘序列号;
接收所述量子密码设备返回的硬盘序列号验证结果。
5.如权利要求2或4所述的基于量子密码设备的文件系统流加解密方法,其特征在于,在对硬盘序列号进行验证通过后,所述方法还包括:
获取传入目录名文件的inode值,并将所述inode值传入所述量子密码设备,以使所述量子密码设备基于所述inode值查询对应的根目录索引表;
在所述inode值对应的根目录索引表存在时,获取用户输入的鉴权口令;
将所述鉴权口令传递至所述量子密码设备,以使所述量子密码设备计算所述鉴权口令的hash值一,并将hash值一与hash值二进行比较生成鉴权结果,所述hash值二为所述量子密码设备从所述inode值对应的根目录索引表中取出;
在所述鉴权结果为鉴权成功时,接收所述量子密码设备返回的目录的安全模式值;
在所述鉴权结果为鉴权失败时,退出流程。
6.如权利要求2或4所述的基于量子密码设备的文件系统流加解密方法,其特征在于,在对硬盘序列号进行验证通过后,所述方法还包括:
获取传入目录名文件的inode值,并将所述inode值传入所述量子密码设备,以使所述量子密码设备基于所述inode值查询对应的根目录索引表;
在所述inode值对应的根目录索引表不存在时,获取用户输入的鉴权口令与安全模式值;
将所述inode值、鉴权口令以及安全模式值传递至所述量子密码设备,以使所述量子密码设备计算鉴权口令的hash值,并将所述inode值、鉴权口令的hash值和安全模式字段填入所创建的根目录索引表中;
发送挂载指令至所述量子密码设备以使所述量子密码设备置位挂载根目录索引表锁定状态字段;
执行操作系统的挂载流程并退出流程。
7.如权利要求1所述的基于量子密码设备的文件系统流加解密方法,其特征在于,所述方法还包括:
接收文件新建操作请求,所述文件新建操作请求携带有新建文件的inode值;
将所述新建文件的inode值发送至所述量子密码设备,以使所述量子密码设备在根目录索引表中检索所述新建文件的inode值,将新建文件的inode值添加在根目录索引表的尾部,创建与新建文件的inode值对应的文件索引句柄,并将索引号添加至根目录索引表的尾部;
接收所述量子密码设备返回的文件新建操作结果。
8.如权利要求1所述的基于量子密码设备的文件系统流加解密方法,其特征在于,所述方法还包括:
接收文件删除操作请求,所述文件删除操作请求携带有待删除文件的inode值;
将所述待删除文件的inode值发送至所述量子密码设备,以使所述量子密码设备在根目录索引文件中查询所述待删除文件的inode值对应的索引号,并删除所述待删除文件的文件索引句柄及根目录索引表中所述待删除文件的inode值所在字段及inode值对应索引号所在字段;
接收所述量子密码设备返回的文件删除操作结果;
执行本机目录节点数与磁盘文件删除操作。
9.一种基于量子密码设备的文件系统流加解密方法,其特征在于,应用于量子密码设备,所述方法包括:
接收由用户主机发送的目标文件的inode值;
在索引表区中查询所述目标文件的inode值对应的索引号并返回至所述用户主机;
接收所述用户主机发送的目标文件的内容及索引号,并基于索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
利用所述密钥流或所述加密密钥对所述目标文件的内容进行加密运算或解密运算,得到文件操作结果并返回所述用户主机。
10.如权利要求9所述的基于量子密码设备的文件系统流加解密方法,其特征在于,所述量子密码设备中设置有安全存储区,所述安全存储区包括索引表区和密钥存储区,所述索引表区包括根目录索引表、文件索引句柄和流密钥块表,每个挂载根目录对应一张根目录索引表,所述根目录索引表记录该挂载根目录中全部加密文件的inode值及索引值,所述文件索引句柄记录文件与流密钥块表或分组密钥键值的映射关系,所述流密钥块表记录一组密钥块的行列编号;
所述密钥存储区包括流密钥块阵列和密钥键值,所述流密钥块阵列中存储流密钥,所述密钥键值以键值对的方式存放SM4算法使用的加密密钥,所述流密钥和所述加密密钥均由量子随机数熵源生成。
11.如权利要求10所述的基于量子密码设备的文件系统流加解密方法,其特征在于,所述安全存储区中还包括证书区,所述证书区用于存放保护密钥和设备证书,在所述接收由用户主机发送的目标文件的inode值之前,所述方法还包括:
自检确定所述安全存储区为空时,在所述安全存储区内新建根目录索引空表、流密钥块空表、空的流密钥块阵列;
调用所述随机数熵源生成随机数并充注到空的流密钥块阵列中;
初始化所述证书区,生成设备公私钥对作为保护密钥,并将保护密钥存放到所述证书区;
切换为监听模式,响应外部用户主机的请求。
12.如权利要求10所述的基于量子密码设备的文件系统流加解密方法,其特征在于,在所述量子密码设备进行自检初始化之后,所述方法还包括:
触发所述用户主机生成量子密码设备uevent事件,以使所述用户主机查询量子密码设备的证书状态;
在无设备证书时,触发所述用户主机绑定存储设备,然后触发所述用户主机对用户输入目录所在的存储设备的硬盘序列号进行验证;
在存在设备证书时,触发所述用户主机对用户输入目录所在的存储设备的硬盘序列号进行验证。
13.如权利要求12所述的基于量子密码设备的文件系统流加解密方法,其特征在于,所述在无设备证书时,触发所述用户主机绑定存储设备,包括:
接收所述用户主机发送的临时文件,所述临时文件中导入有绑定的存储设备的硬盘序列号所计算的hash值;
使用设备私钥对所述临时文件进行签名,并件签名保存在证书区;
将设备公钥返回至所述用户主机。
14.如权利要求12所述的基于量子密码设备的文件系统流加解密方法,其特征在于,所述触发所述用户主机对用户输入目录所在的存储设备的硬盘序列号进行验证,包括:
接收所述用户主机发送的硬盘序列号的hash值,所述硬盘序列号为用户输入保护目录所在的存储设备的硬盘序列号;
验证所述硬盘序列号的hash值是否为注册的硬盘序列号,并将验证结果返回至所述用户主机以使所述用户主机执行挂载目录鉴权或继续等待用户输入保护目录。
15.如权利要求14所述的基于量子密码设备的文件系统流加解密方法,其特征在于,所述挂载目录鉴权的过程包括:
接收所述用户主机发送的目录名文件的inode值;
在查找所述目录名文件的inode值对应的根目录索引表存在时,接收所述用户主机发送的鉴权口令,并计算所述鉴权口令的hash值一;
从所述目录名文件的inode值对应的根目录索引表中取出口令的hash值二;
在hash值一与hash值二相等时,返回目录的安全模式值至所述用户主机,然后置位挂载所述目录名文件的inode值对应的根目录索引表为锁定状态字段;
在hash值一与hash值二不相等时,退出挂载目录鉴权流程。
16.如权利要求14所述的基于量子密码设备的文件系统流加解密方法,其特征在于,所述挂载目录鉴权的过程包括:
接收所述用户主机发送的目录名文件的inode值;
在查找所述目录名文件的inode值对应的根目录索引表不存在时,接收所述用户主机发送的鉴权口令及安全模式值;
计算所述鉴权口令的hash值,在所述安全存储区内创建根目录索引表,并在创建的根目录索引表中填入目录名文件的inode值、鉴权口令的hash值和安全模式值;
置位挂载新创建的根目录索引表为锁定状态字段。
17.如权利要求10所述的基于量子密码设备的文件系统流加解密方法,其特征在于,所述接收所述用户主机发送的目标文件的内容及索引号,并基于索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥,包括:
接收所述用户主机发送的目标文件的明文或密文以及索引号,并查询根目录索引表中挂载的安全模式;
在安全模式为强安全模式时,基于索引号查询流密钥块表号,并获取相应的流密钥块表上的密钥流;
在安全模式为普通模式时,基于索引号查询密钥键值获取加密密钥;
相应地,所述利用所述密钥流或所述加密密钥对所述目标文件的内容进行加密运算或解密运算,具体为:
利用所述密钥流或所述加密密钥对目标文件的明文进行加密运算或对目标文件的密文进行解密运算。
18.如权利要求17所述的基于量子密码设备的文件系统流加解密方法,其特征在于,在基于索引号查询流密钥块表号时,若流密钥块的块数不足,则触发密钥块填充流程,包括:
查询流密钥块阵列,获取一个空闲块号并添加到流密钥块表;
传递所述块号至量子随机数熵源,以使所述量子随机数熵源产生随机数并将随机数充注至该块号对应的流密钥块。
19.如权利要求17所述的基于量子密码设备的文件系统流加解密方法,其特征在于,在基于索引号查询密钥键值获取加密密钥时,若密钥键值为空,则触发密钥填充流程,包括:
分配一个密钥键值,并将该密钥键值传递至量子随机数熵源,以使所述量子随机数熵源产生随机数,并将随机数和键值填充至所述密钥存储区。
20.如权利要求10所述的基于量子密码设备的文件系统流加解密方法,其特征在于,所述方法还包括:
接收所述用户主机发送的新建文件的inode值;
在根目录索引表中检查新建文件的inode值,并将新建文件的inode值添加到根目录索引表的尾部;
创建文件索引句柄,并将文件索引句柄的索引号添加到根目录索引表中新建文件的inode值的后一个字段;
将文件新建操作结果返回至所述用户主机。
21.如权利要求10所述的基于量子密码设备的文件系统流加解密方法,其特征在于,所述方法还包括:
接收所述用户主机发送的待删除文件的inode值;
在根目录索引表中查询所述待删除文件的inode值,获取所述待删除文件的inode值位置后的索引号;
删除与该索引号对应的文件索引句柄;
删除根目录索引表中所述待删除文件的inode值所在字段及其后一个字段;
将文件删除操作结果返回至所述用户主机。
22.一种用户主机,其特征在于,所述用户主机中运行用户文件系统,所述用户文件系统创建有守护进程、文件节点查询模块以及量子加解密接口,其中:
所述守护进程,用于接收文件访问操作请求,所述文件访问操作请求携带有目标文件的inode值;
所述文件节点查询模块,用于根据目标文件的inode值从量子密码设备获取目标文件对应的索引号,并将目标文件的inode值、索引号以及文件访问操作请求发送至所述量子加解密接口;
所述量子加解密接口,用于解析所述文件访问操作请求,并将所述将目标文件的内容及对应的索引号传递至所述量子密码设备,以使所述量子密码设备基于所述索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
所述守护进程,还用于接收所述量子密码设备返回的文件操作结果,所述文件操作结果为所述量子密码设备基于所述密钥流或所述加密密钥对所述目标文件进行加密运算或解密运算得到。
23.如权利要求22所述的用户主机,其特征在于,所述用户文件系统还创建有虚拟文件系统事件,其中:
所述虚拟文件系统事件,用于获取内核传递的量子密码设备uevent事件并传递至所述守护进程,由所述守护进程问讯所述量子密码设备的证书状态;
所述守护进程,用于在证书状态为无设备证书时绑定存储设备,对用户输入目录所在的存储设备的硬盘序列号进行验证;以及在证书状态为存在设备证书时,对用户输入目录所在的存储设备的硬盘序列号进行验证。
24.如权利要求22所述的用户主机,其特征在于,所述用户文件系统还创建有量子密码设备认证模块,用于检测绑定的量子密码设备的合法性,并初始化量子密码设备的安全存储区。
25.如权利要求22所述的用户主机,其特征在于,所述用户文件系统还创建有挂载目录鉴权模块,用于触发目录查表流程或目录映射流程,使得所述量子密码设备置位挂载根目录索引表锁定状态字段。
26.一种量子密码设备,其特征在于,所述量子密码设备内设置主控制器和安全存储区,所述安全存储中设置有索引表区,所述主控制器包括:
索引号查询模块,用于接收由用户主机发送的目标文件的inode值,并在索引表区中查询所述目标文件的inode值对应的索引号并返回至所述用户主机;
密钥查询模块,用于接收所述用户主机发送的目标文件的内容及索引号,并基于索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
加/解密运算模块,用于利用所述密钥流或所述加密密钥对所述目标文件的内容进行加密运算或解密运算,得到文件操作结果并返回所述用户主机。
27.如权利要求26所述的量子密码设备,其特征在于,所述安全存储区包括索引表区和密钥存储区,所述索引表区包括根目录索引表、文件索引句柄和流密钥块表,每个挂载根目录对应一张根目录索引表,所述根目录索引表记录该挂载根目录中全部加密文件的inode值及索引值,所述文件索引句柄记录文件与流密钥块表或分组密钥键值的映射关系,所述流密钥块表记录一组密钥块的行列编号;
所述密钥存储区包括流密钥块阵列和密钥键值,所述流密钥块阵列中存储流密钥,所述密钥键值以键值对的方式存放SM4算法使用的加密密钥。
28.如权利要求27所述的量子密码设备,其特征在于,所述量子密码设备中还设置有量子随机数熵源,所述流密钥和所述加密密钥均由量子随机数熵源生成。
29.如权利要求27所述的量子密码设备,其特征在于,所述量子密码设备中还设置有国密算法器,用于根据所述加密密钥对所述目标文件的内容进行加密或解密运算。
30.一种基于量子密码设备的文件系统流加解密系统,其特征在于,所述系统包括用户主机和量子密码设备,所述用户主机中运行用户文件系统,所述量子密码设备和存储设备接入所述用户主机,所述用户文件系统创建有守护进程、文件节点查询模块以及量子加解密接口,所述量子密码设备内设置主控制器和安全存储区,所述安全存储中设置有索引表区,所述主控制器包括索引号查询模块、密钥查询模块和加/解密运算模块;
所述守护进程,用于接收用户触发的文件访问操作请求,所述文件访问操作请求携带有目标文件的inode值;
所述文件节点查询模块,用于根据目标文件的inode值从所述索引号查询模块中获取目标文件对应的索引号,并将目标文件的inode值、索引号以及文件访问操作请求发送至所述量子加解密接口;
所述量子加解密接口,用于解析所述文件访问操作请求,并将所述目标文件的内容及对应的索引号传递至所述密钥查询模块;
所述密钥查询模块,用于基于索引号查询流密钥块表获取密钥流或基于所述索引号查询密钥键值获取加密密钥;
所述加/解密运算模块,用于利用所述密钥流或所述加密密钥对所述目标文件的内容进行加密运算或解密运算,得到文件操作结果并返回所述守护进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410004791.9A CN117521149B (zh) | 2024-01-03 | 2024-01-03 | 基于量子密码设备的文件系统流加解密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410004791.9A CN117521149B (zh) | 2024-01-03 | 2024-01-03 | 基于量子密码设备的文件系统流加解密方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117521149A CN117521149A (zh) | 2024-02-06 |
CN117521149B true CN117521149B (zh) | 2024-03-19 |
Family
ID=89751611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410004791.9A Active CN117521149B (zh) | 2024-01-03 | 2024-01-03 | 基于量子密码设备的文件系统流加解密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117521149B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105933281A (zh) * | 2016-03-29 | 2016-09-07 | 深圳大学 | 一种量子同态对称可搜索加密的方法及系统 |
CN113194078A (zh) * | 2021-04-22 | 2021-07-30 | 西安电子科技大学 | 一种云端支持隐私保护的排序多关键字搜索加密方法 |
WO2021179743A1 (zh) * | 2020-03-09 | 2021-09-16 | 支付宝(杭州)信息技术有限公司 | 区块链中账户隐私信息的查询方法及装置 |
CN113626484A (zh) * | 2021-07-03 | 2021-11-09 | 西安电子科技大学 | 一种可灵活替换密文可搜索加密方法、系统及计算机设备 |
KR20230000412A (ko) * | 2021-06-24 | 2023-01-02 | 삼성전자주식회사 | 키-밸류 스토리지 장치, 호스트, 및 호스트-스토리지 시스템 |
CN116361749A (zh) * | 2023-04-28 | 2023-06-30 | 中电信量子科技有限公司 | 基于量子随机数熵源的软件加壳方法及脱壳方法 |
CN116599655A (zh) * | 2023-04-24 | 2023-08-15 | 矩阵时光数字科技有限公司 | 一种量子安全设备数据通信方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984574B (zh) * | 2010-11-29 | 2012-09-05 | 北京卓微天成科技咨询有限公司 | 一种数据加解密方法及装置 |
US9824233B2 (en) * | 2015-11-17 | 2017-11-21 | International Business Machines Corporation | Posixly secure open and access files by inode number |
-
2024
- 2024-01-03 CN CN202410004791.9A patent/CN117521149B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105933281A (zh) * | 2016-03-29 | 2016-09-07 | 深圳大学 | 一种量子同态对称可搜索加密的方法及系统 |
WO2021179743A1 (zh) * | 2020-03-09 | 2021-09-16 | 支付宝(杭州)信息技术有限公司 | 区块链中账户隐私信息的查询方法及装置 |
CN113194078A (zh) * | 2021-04-22 | 2021-07-30 | 西安电子科技大学 | 一种云端支持隐私保护的排序多关键字搜索加密方法 |
KR20230000412A (ko) * | 2021-06-24 | 2023-01-02 | 삼성전자주식회사 | 키-밸류 스토리지 장치, 호스트, 및 호스트-스토리지 시스템 |
CN113626484A (zh) * | 2021-07-03 | 2021-11-09 | 西安电子科技大学 | 一种可灵活替换密文可搜索加密方法、系统及计算机设备 |
CN116599655A (zh) * | 2023-04-24 | 2023-08-15 | 矩阵时光数字科技有限公司 | 一种量子安全设备数据通信方法 |
CN116361749A (zh) * | 2023-04-28 | 2023-06-30 | 中电信量子科技有限公司 | 基于量子随机数熵源的软件加壳方法及脱壳方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117521149A (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8997198B1 (en) | Techniques for securing a centralized metadata distributed filesystem | |
Li et al. | A hybrid cloud approach for secure authorized deduplication | |
US9547774B2 (en) | System and method for distributed deduplication of encrypted chunks | |
US9037856B2 (en) | System and method for distributed deduplication of encrypted chunks | |
US20140112470A1 (en) | Method and system for key generation, backup, and migration based on trusted computing | |
CN106101257B (zh) | 一种基于布隆过滤器的云存储数据管理方法及装置 | |
US8369521B2 (en) | Smart card based encryption key and password generation and management | |
WO2011075281A1 (en) | Content control method using certificate revocation lists | |
EP3694142A1 (en) | Management and distribution of keys in distributed environments (ie cloud) | |
CN113541935B (zh) | 一种支持密钥托管的加密云存储方法、系统、设备、终端 | |
CN111464561B (zh) | 一种数据摆渡管理系统 | |
CN114826652A (zh) | 一种基于双区块链的可溯源访问控制方法 | |
CN114826702A (zh) | 数据库访问密码加密方法、装置和计算机设备 | |
US8667278B2 (en) | Information processing apparatus and data transmission method of information processing apparatus | |
CN112182615A (zh) | 一种基于sgx与oram技术的云计算密钥保护系统 | |
CN117521149B (zh) | 基于量子密码设备的文件系统流加解密方法及系统 | |
CN114553557B (zh) | 密钥调用方法、装置、计算机设备和存储介质 | |
CN112787996B (zh) | 一种密码设备管理方法及系统 | |
WO2022184456A1 (en) | Authorized encryption | |
WO2022199796A1 (en) | Method and computer-based system for key management | |
CN112804195A (zh) | 一种数据安全存储方法及系统 | |
KR101049472B1 (ko) | 휴대용 usb 보안 모듈 장치, 휴대용 usb 보안 모듈 장치를 이용한 문서 파일의 등록 및 조회 방법, 및 그 방법을 실행하기 위한 프로그램 기록매체 | |
CN113383335A (zh) | 数据存储设备事件的安全日志记录 | |
Nandini et al. | Implementation of hybrid cloud approach for secure authorized deduplication | |
Venkatesh et al. | Secure authorised deduplication by using hybrid cloud approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |