CN103067170B - 一种基于ext2文件***的加密方法 - Google Patents
一种基于ext2文件***的加密方法 Download PDFInfo
- Publication number
- CN103067170B CN103067170B CN201210543698.2A CN201210543698A CN103067170B CN 103067170 B CN103067170 B CN 103067170B CN 201210543698 A CN201210543698 A CN 201210543698A CN 103067170 B CN103067170 B CN 103067170B
- Authority
- CN
- China
- Prior art keywords
- file system
- aes
- index node
- cipher key
- key 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.)
- Expired - Fee Related
Links
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于EXT2文件***的加密文件***,其包括多个块组,每个块组包括如下数据对应的存储空间:超级块、块组描述表、块位图、文件与目录索引节点位图、文件与目录索引节点表、和多个数据块;所述块组描述表对应的存储空间中存有多个块组描述表;其中,所述块组进一步包括位于文件与目录索引节点表之后的密钥索引节点位图和密钥索引节点表对应的存储空间,所述块组描述表对应的存储空间中进一步存有文件***数字证书。本发明的基于EXT2文件***的加密文件***提高了EXT2文件***的安全性。本发明还提供一种基于EXT2文件***的加密方法和解密方法。
Description
技术领域
本发明涉及文件***存储数据安全技术,尤其涉及一种基于EXT2文件***的加密文件***、加密方法及解密方法。
背景技术
文件***是一种存储和组织文件和数据的方法,它使得对其访问和查找变得容易。文件***通常使用SD卡、U盘、硬盘、SPI FLASH、NOR FLASH、NANDFLASH这样的存储设备,并维护文件在设备中的物理位置。目前很多文件***只有管理文件和数据功能,没有文件和数据安全保护功能。如果产品使用透明文件***,当产品遗失,产品中宝贵数据有可能被非法使用。
比如,常用于嵌入式领域的EXT2文件***提供存储和组织文件和数据管理,文件和数据透明方式存储,其不能对文件进行加密,导致其数据安全性不高。
因此,如何解决EXT2文件***中的数据安全的问题,已成为当前急需解决的技术问题之一。
发明内容
本发明的目的是提供一种基于EXT2文件***的加密文件***。
为解决本发明的技术问题,本发明公开一种基于EXT2文件***的加密文件***,其包括多个块组,每个块组包括如下数据对应的存储空间:超级块、块组描述表、块位图、文件与目录索引节点位图、文件与目录索引节点表、和多个数据块;所述块组描述表对应的存储空间中存有多个块组描述表;其中,所述块组进一步包括位于文件与目录索引节点表之后的密钥索引节点位图和密钥索引节点表对应的存储空间,所述块组描述表对应的存储空间中进一步存有文件***数字证书。
其中,所述文件或目录索引节点表项中进一步包括“加密标志”和“密钥索引编号”数据项,“加密标志”表示文件或目录是否加密,如果加密,根据“密钥索引节点编号”的值能找到相应“密钥索引节点表项”、“密钥索引节点表项”中具有文件或目录解密相关信息。
其中,密钥索引节点位图用于管理、跟踪密钥索引节点表的使用情况。
其中,所述密钥索引节点表由密钥索引节点表项数组组成,每一个密钥索引节点表项由魔数、版本号、AES模式、摘要算法模式、AES密钥、AES初始向量、加密内容的明文摘要、保留位(填充零)、随机数填充位组成。
本发明还公开一种基于EXT2文件***的加密方法,其包括:
步骤S11:先根据 AES密钥与AES初始向量生成规则算法,生成AES密钥与AES初始向量;
步骤S12:根据用户配置摘要算法模式,计算文件或目录内容的摘要;
步骤S13:根据AES密钥、AES初始向量、用户配置AES模式,加密文件或目录;
步骤S14:把魔数、版本号、AES模式、摘要算法模式、AES密钥、AES初始向量、加密内容的明文摘要的信息组合成明文“密钥索引节点表项”;
步骤S15:从文件***存储设备中读取“文件***数字证书”到内存中,验证“文件***数字证书”的有效性;如果“文件***数字证书”有效,则提取“文件***数字证书”中的公钥信息;
步骤S16:把步骤S14的明文“密钥索引节点表项”用公钥以RSA加密算法方式加密成密文“密钥索引节点表项”;
步骤S17:根据“密钥索引节点位图”信息寻找一个空闲“密钥索引节点表项”,获得相应“密钥索引编号”信息;
步骤S18:更新“文件或目录索引节点表项”中“加密标志”和“密钥索引节点编号”的数据,根据“密钥索引节点编号”把内存中密文“密钥索引节点表项”写到文件***存储设备中。
步骤S11中,AES的128位密钥的开始8位的值为0x53,后120位通过随机数模块生成;AES的128位初始向量的开始8位的值为0x4D,后120位通过随机数模块生成。
步骤S12中,用户配置摘要算法模式采用SHA1或 SHA256。
步骤S13中,当用户配置AES模式为电子密码本(ECB)模式,用AES密钥对文件或目录分块成128位数据分别加密;当用户配置AES模式为密码分组链(CBC)模式,用AES密钥、AES初始向量对文件或目录分块成128位数据以分组链方式加密。
本发明还提供一种基于EXT2文件***的解密方法,其特征在于包括:
步骤S21:根据访问“文件或目录索引节点表项”中“加密标志”和“密钥索引节点编号”的数据,读取相应密文“密钥索引节点表项”数据到内存中;
步骤S22、把内存中的密文“密钥索引节点表项”数据用私钥以RSA解密算法方式解密成明文“密钥索引节点表项”;
步骤S23、根据明文“密钥索引节点表项”中AES密钥、AES初始向量、AES模式信息解密文件或目录。
所述基于EXT2文件***的解密方法,进一步包括:
步骤S24:根据明文“密钥索引节点表项”中摘要算法类型,重新计算解密后明文的文件或目录的摘要;
步骤S25:比较步骤S24中重新计算出的摘要与明文“密钥索引节点表项”中的摘要值是否一致,如果比较结果一致,则说明解密过程正确,如果比较结果不一致,则说明解密文件或目录过程失败,提示异常。
与现有技术相比,由于本发明的基于EXT2文件***的加密文件***在EXT2文件***的基础上增加了文件***数字证书、密钥索引节点位图和密钥索引节点表,采用本发明提供的文件和目录加密及解密方法即可对文件或目录进行加密或解密,提高了EXT2文件***的安全性。
附图说明
图1是EXT2文件***结构图。
图2 是本发明的基于EXT2文件***的加密文件***结构图。
图3是密钥索引表结构图。
图4 是文件***加密流程图。
图5是AES密钥生成结构图。
图6是AES初始向量生成结构图。
图7是文件或目录内容摘要计算结构图。
图8是文件或目录内容加密结构图。
图9 是文件***解密流程图。
图10 是文件或目录内容解密结构图。
具体实施方式
如图1所示,为EXT2文件***在存储设备上组织数据的结构图。在格式化时,先根据存储设备容量划分多个块组,然后在每个块组都包括独立的超级块、块组描述表、块位图、文件与目录索引节点位图、文件与目录索引节点表、和多个数据块。
文件或目录索引节点表项的内容记录文件或目录的属性及文件或目录实际数据的放置数据块地址。具体记录信息为:存取模式、拥有者与群组、容量大小、创建或状态改变的时间、最近一次的读取时间、最近修改的时间等。
如图2所示,为本发明的基于EXT2文件***的加密文件***在存储设备上组织数据的结构图。其在每个块组中增加安全加密解密相关信息。在块组描述表中增加“文件***数字证书”;在文件与目录索引节点表之后增加“密钥索引节点位图”、“密钥索引节点表”。为了满足公钥基础设施基于安全要求,文件***数字证书使用一般数字证书的格式,便于验证数字证书的有效性。
“密钥索引节点表”中每个表项的数据结构,如图3所示,其包含内容有魔数、版本号、AES模式、摘要算法模式、AES密钥、AES初始向量、加密内容的明文摘要,总长度为2048位。
在文件或目录索引节点表项中增加“加密标志”与“密钥索引节点编号”数据项。“加密标志”表示文件或目录是否加密,如果加密,根据“密钥索引节点编号”的值能找到相应“密钥索引节点表项”。“密钥索引节点表项”中具有文件或目录解密相关信息。
EXT2加密文件***加密文件或目录过程,如图4所示。
具体步骤如下:
步骤S11、当文件或目录需要加密,先根据 AES密钥与AES初始向量生成规则算法,生成AES密钥与AES初始向量。AES的128位密钥:开始8位的值为0x53(State单词中S的ASCII码,作为对称密钥识别信息),后120位通过随机数模块生成,如图5所示。AES的128位初始向量:开始8位的值为0x4D(Micro单词中M的ASCII码,作为初始向量识别信息),后120位通过随机数模块生成,如图6所示。
步骤S12、根据用户配置摘要算法模式,计算文件或目录内容的摘要。如图7所示,当用户配置摘要算法模式为SHA1时,摘要结果长度为160位(向前对齐,后面不足补零)。当用户配置摘要算法模式为SHA256时,摘要结果长度为256位。
步骤S13、根据AES密钥、AES初始向量、用户配置AES模式,加密文件或目录,如图8所示。当用户配置AES模式为电子密码本(ECB)模式,用AES密钥对文件或目录分块成128位数据分别加密。当用户配置AES模式为密码分组链(CBC)模式,用AES密钥、AES初始向量对文件或目录分块成128位数据以分组链方式加密。对于文件或目录的长度不是128位的整数倍时,最后一块尾数据以明文形式直接加入前一组密文后面。
步骤S14、把魔数、版本号、AES模式、摘要算法模式、AES密钥、AES初始向量、加密内容的明文摘要的信息组合成明文“密钥索引节点表项”。“密钥索引节点表项”的结构,如图3所示。
步骤S15、从文件***存储设备中读取“文件***数字证书”到内存中,验证“文件***数字证书”的有效性。具体有效性的检查方面:验证证书信任链,确认证书是有效的;查证书吊销列表CRL(Certificate Revocation List),又称黑名单,检查证书是否吊销。如果“文件***数字证书”无效,报异常,停止后续文件***操作。如果“文件***数字证书”有效,提取“文件***数字证书”中公钥信息。提高运行效率,加载文件***时,执行一次。
步骤S16、把步骤S14的明文“密钥索引节点表项”用公钥以RSA加密算法方式加密成密文“密钥索引节点表项”。
步骤S17、根据“密钥索引节点位图”信息寻找一个空闲“密钥索引节点表项”。如果没有找到,“密钥索引节点表项”已用完,报异常,这次加密文件或目录过程失败。如果找到,获得相应“密钥索引编号”信息。
步骤S18、更新“文件或目录索引节点表项”中“加密标志”和“密钥索引节点编号”的数据。根据“密钥索引节点编号”把内存中密文“密钥索引节点表项”写到文件***存储设备中。
EXT2加密文件***解密文件或目录过程,如图9所示。
具体步骤如下:
步骤S21、根据访问“文件或目录索引节点表项”中“加密标志”和“密钥索引节点编号”的数据,读取相应密文“密钥索引节点表项”数据到内存中。
步骤S22、把内存中准备好、密文“密钥索引节点表项”数据用私钥以RSA解密算法方式解密成明文“密钥索引节点表项”。验证明文“密钥索引节点表项”魔数是否有效,如果魔数无效,可能私钥数据有问题;报异常,停止文件***解密过程。如果魔数有效,明文“密钥索引节点表项”的数据也是有效的。
步骤S23、根据明文“密钥索引节点表项”中AES密钥、AES初始向量、AES模式信息解密文件或目录,如图10所示。当AES模式是电子密码本(ECB)模式,用AES密钥对文件或目录分块成128位数据分别解密。当AES模式是密码分组链(CBC)模式,用AES密钥、AES初始向量对文件或目录分块成128位数据以分组链方式解密。对于文件或目录的长度不是128位的整数倍时,最后一块尾数据就是明文,不需要处理。
步骤S24、根据明文“密钥索引节点表项”中摘要算法类型,重新计算解密后明文的文件或目录的摘要,如图7所示。当摘要算法模式是SHA1时,摘要结果长度为160位。当摘要算法模式是SHA256时,摘要结果长度为256位。
步骤S25、比较步骤S24重新计算出摘要与明文“密钥索引节点表项”中摘要值比较是否一致。如果比较结果一致,则解密过程正确;如果比较结果不一致,则解密文件或目录过程失败,报异常,数据可能被破坏。
综上所述,由于本发明的基于EXT2文件***的加密文件***在EXT2文件***的基础上增加了文件***数字证书、密钥索引节点位图和密钥索引节点表,采用本发明提供的文件和目录加密及解密方法即可对文件或目录进行加密或解密,提高了EXT2文件***的安全性。
Claims (4)
1.一种基于EXT2文件***的加密方法,其特征在于包括:
步骤S11:先根据 AES密钥与AES初始向量生成规则算法,生成AES密钥与AES初始向量;
步骤S12:根据用户配置摘要算法模式,计算文件或目录内容的摘要;
步骤S13:根据AES密钥、AES初始向量、用户配置AES模式,加密文件或目录;
步骤S14:把魔数、版本号、AES模式、摘要算法模式、AES密钥、AES初始向量、加密内容的明文摘要的信息组合成明文“密钥索引节点表项”;
步骤S15:从文件***存储设备中读取“文件***数字证书”到内存中,验证“文件***数字证书”的有效性;如果“文件***数字证书”有效,则提取“文件***数字证书”中的公钥信息;
步骤S16:把步骤S14的明文“密钥索引节点表项”用公钥以RSA加密算法方式加密成密文“密钥索引节点表项”;
步骤S17:根据“密钥索引节点位图”信息寻找一个空闲“密钥索引节点表项”,获得相应“密钥索引编号”信息;
步骤S18:更新“文件或目录索引节点表项”中“加密标志”和“密钥索引节点编号”的数据,根据“密钥索引节点编号”把内存中密文“密钥索引节点表项”写到文件***存储设备中。
2.根据权利要求1所述的基于EXT2文件***的加密方法,其特征在于,步骤S11中,AES的128位密钥的开始8位的值为0x53,后120位通过随机数模块生成;AES的128位初始向量的开始8位的值为0x4D,后120位通过随机数模块生成。
3.根据权利要求1所述的基于EXT2文件***的加密方法,其特征在于,步骤S12中,用户配置摘要算法模式采用SHA1或 SHA256。
4.根据权利要求1所述的基于EXT2文件***的加密方法,其特征在于,步骤S13中,当用户配置AES模式为电子密码本(ECB)模式,用AES密钥对文件或目录分块成128位数据分别加密;当用户配置AES模式为密码分组链(CBC)模式,用AES密钥、AES初始向量对文件或目录分块成128位数据以分组链方式加密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210543698.2A CN103067170B (zh) | 2012-12-14 | 2012-12-14 | 一种基于ext2文件***的加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210543698.2A CN103067170B (zh) | 2012-12-14 | 2012-12-14 | 一种基于ext2文件***的加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103067170A CN103067170A (zh) | 2013-04-24 |
CN103067170B true CN103067170B (zh) | 2015-04-15 |
Family
ID=48109641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210543698.2A Expired - Fee Related CN103067170B (zh) | 2012-12-14 | 2012-12-14 | 一种基于ext2文件***的加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103067170B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761487B (zh) * | 2014-01-27 | 2017-03-15 | 宇龙计算机通信科技(深圳)有限公司 | 文件的隐藏方法及装置 |
CN103955654A (zh) * | 2014-04-02 | 2014-07-30 | 西北工业大学 | 基于虚拟文件***的u盘安全存储方法 |
TWI554073B (zh) * | 2014-07-28 | 2016-10-11 | 柯呈翰 | 供加密檔案和/或通訊協定之多重加密方法與系統 |
CN106709380A (zh) * | 2015-07-20 | 2017-05-24 | 中国科学院声学研究所 | 一种针对磁盘数据存储区的加解密方法及*** |
CN105183401A (zh) * | 2015-10-30 | 2015-12-23 | 深圳市泽云科技有限公司 | 一种固态硬盘数据恢复方法、装置及*** |
CN106021466A (zh) * | 2016-05-17 | 2016-10-12 | 浙江大华技术股份有限公司 | 一种存储数据的方法及装置 |
CN106156639A (zh) * | 2016-06-28 | 2016-11-23 | 北京小米移动软件有限公司 | 数据分区加密方法及装置 |
CN108228647B (zh) * | 2016-12-21 | 2022-05-24 | 伊姆西Ip控股有限责任公司 | 用于数据拷贝的方法和设备 |
JP7105921B2 (ja) * | 2018-07-12 | 2022-07-25 | セクラス ゲー・エム・ベー・ハー | セキュアな階層型参照システムを構築する方法 |
CN109274663A (zh) * | 2018-09-07 | 2019-01-25 | 西安莫贝克半导体科技有限公司 | 基于sm2动态密钥交换与sm4数据加密的通信方法 |
CN109657497B (zh) * | 2018-12-21 | 2023-06-13 | 北京思源理想控股集团有限公司 | 安全文件***及其方法 |
CN110557680B (zh) * | 2019-07-30 | 2020-11-27 | 视联动力信息技术股份有限公司 | 一种音视频数据帧传输方法和*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159556A (zh) * | 2007-11-09 | 2008-04-09 | 清华大学 | 基于组密钥服务器的共享加密文件***中的密钥管理方法 |
CN101247506A (zh) * | 2007-02-14 | 2008-08-20 | 中国科学院声学研究所 | 在数字媒体播放***中的文件加密方法及加密文件结构 |
CN102129532A (zh) * | 2011-03-23 | 2011-07-20 | 阮晓迅 | 一种数字版权保护方法和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2394876A1 (en) * | 1999-12-07 | 2001-06-14 | Irina V. Gerasimov | Scalable storage architecture |
-
2012
- 2012-12-14 CN CN201210543698.2A patent/CN103067170B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247506A (zh) * | 2007-02-14 | 2008-08-20 | 中国科学院声学研究所 | 在数字媒体播放***中的文件加密方法及加密文件结构 |
CN101159556A (zh) * | 2007-11-09 | 2008-04-09 | 清华大学 | 基于组密钥服务器的共享加密文件***中的密钥管理方法 |
CN102129532A (zh) * | 2011-03-23 | 2011-07-20 | 阮晓迅 | 一种数字版权保护方法和*** |
Non-Patent Citations (1)
Title |
---|
基于滚动加密在Linux文件***下的安全存储技术;易飞;《中国优秀硕士学位论文全文数据库》;20101015;正文第2.2节、第3.1.1、3.1.2、3.2.1、3.4.2节,图3-1、3-3 * |
Also Published As
Publication number | Publication date |
---|---|
CN103067170A (zh) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103067170B (zh) | 一种基于ext2文件***的加密方法 | |
CN100468438C (zh) | 实现硬件和软件绑定的加密和解密方法 | |
US11184164B2 (en) | Secure crypto system attributes | |
CN201181472Y (zh) | 硬件密钥装置和移动存储*** | |
CN101149768B (zh) | 一种专用处理器软件的加密和解密方法 | |
US20100005318A1 (en) | Process for securing data in a storage unit | |
CN103701757B (zh) | 业务接入的身份认证方法与*** | |
CN102355352B (zh) | 一种数据机密性和完整性保护方法 | |
CN109067814B (zh) | 媒体数据加密方法、***、设备及存储介质 | |
CN102236756A (zh) | 一种基于TCM可信密码模块和USBKey的文件加密方法 | |
CN110298186B (zh) | 一种基于动态可重构密码芯片的无密钥数据加解密方法 | |
CN103914662A (zh) | 一种基于分区的文件加密***的访问控制方法和装置 | |
CN103544453A (zh) | 一种基于usb key的虚拟桌面文件保护方法及装置 | |
CN103198264A (zh) | 一种加密文件***数据的恢复方法和装置 | |
CN110650011A (zh) | 基于量子密钥的加密存储方法和加密存储卡 | |
CN104410493A (zh) | 基于分布式***基础架构的数据安全存储及读取方法 | |
CN102811124B (zh) | 基于两卡三码技术的***验证方法 | |
KR20110067417A (ko) | 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치 | |
CN102270285B (zh) | 密钥授权信息管理方法及装置 | |
CN107911221A (zh) | 固态盘数据安全存储的密钥管理方法 | |
CN102612025A (zh) | 手机文件保护***及方法 | |
CN112787996B (zh) | 一种密码设备管理方法及*** | |
CN102480353A (zh) | 口令认证和密钥保护的方法 | |
CN100594504C (zh) | 基于隐藏加密分区和pki技术的移动介质防泄密方法 | |
CN102270182B (zh) | 基于同步用户和主机认证的加密可移动存储设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 518000 Guangdong Province Shenzhen Nanshan District High-tech Industrial Park South District High-tech Nandao National Micro-R&D Building 1 Floor West Part, 2 Floors Patentee after: GUOWEI GROUP (SHENZHEN) Co.,Ltd. Address before: 518000 2F, Shenzhen new high tech Industrial Park, Guangdong, China. Patentee before: SHENZHEN STATE MICRO TECHNOLOGY Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150415 Termination date: 20211214 |