加密文件系统(EFS)是通过单个密钥存储进行的J2文件系统级加密。 这允许进行文件加密,以保护机密数据不受攻击者对计算机的物理访问。 用户身份验证和访问控制列表可以在操作系统运行时保护文件免受未经授权的访问; 但是,如果攻击者获得了对计算机的物理访问权,则很容易绕开控制列表。

一种解决方案是将加密文件存储在计算机的磁盘上。 在EFS中,密钥与每个用户相关联。 这些密钥存储在受密码保护的密钥存储区中,并在成功登录后存储,并且用户的密钥被加载到内核中并与进程凭证关联。 当进程需要打开受EFS保护的文件时,系统将测试凭据。 如果系统找到与文件保护匹配的密钥,则该过程能够解密文件密钥和文件内容。 密码信息保留在每个文件的扩展属性中。 EFS使用扩展属性版本2,并且每个文件在写入磁盘之前都已加密。 从磁盘读取文件到内存时,文件将被解密,因此保存在内存中的文件数据将采用清晰格式。 数据仅解密一次,这是一个主要优势。 当另一个用户需要访问文件时,即使文件数据已经存在于内存中且格式清晰,也要先验证其安全凭据,然后再授予对数据的访问权限。 如果用户无权访问该文件,则拒绝访问。 文件加密并不能消除传统访问权限的作用,但是可以增加粒度和灵活性。

为了能够在系统上创建和使用启用了EFS的文件系统,必须满足以下先决条件:

  • 在C(CliC)加密库中安装CryptoLite。
  • 启用RBAC。
  • 使系统能够使用EFS文件系统。

AIX EFS与市场上的其他产品有何不同?

AIX®EFS加密在文件系统级别。 每个文件都有一个唯一的文件密钥保护,并且针对恶意根创建了保护。

常用命令

合理的

efsenable命令激活系统上的EFS功能。 它创建EFS管理密钥库,用户密钥库和安全组密钥库。 密钥库是包含EFS安全信息的密钥库。 EFS管理密钥库的访问密钥存储在用户密钥库和安全组密钥库中。 efsenable命令创建/ var / efs目录。 执行此命令时,将使用新的EFS属性更新/ etc / security / user和/ etc / security / group文件。

efskeymgr

efskeymgr命令专用于EFS所需的所有密钥管理操作。 用户密钥库的初始密码是用户登录密码。 组密钥库和管理员密钥库不受密码保护,但受访问密钥保护。 访问密钥存储在属于该组的所有用户密钥库中。

当您打开密钥库时(登录时或使用efskeymgr命令明确打开),该密钥库中包含的私钥将被推送到内核并与该进程相关联。 如果在密钥库中找到访问密钥,则还将打开相应的密钥库,并且密钥会自动推入其内核。

efsmgr

efsmgr命令专用于EFS内部的文件加密和解密管理。 只能在启用EFS的JFS2文件系统上创建加密文件。 使用此命令在文件系统或创建文件的目录上设置继承。 在目录上设置继承时,默认情况下会加密在此目录中创建的所有新文件。 用于加密文件的密码是继承的密码。 新目录也继承相同的密码。 如果在子目录上禁用了继承,则在此子目录中创建的新文件将不会被加密。

在目录或文件系统上设置或删除继承对现有文件没有影响。 必须明确使用efsmgr命令来加密或解密文件。

示例场景

让我们以一家拥有三个部门的公司为例,这三个部门分别是销售,市场和财务。 这三个部门共享同一台AIX机器来存储其机密内容。 如果未启用EFS,则在三个部门之间公开数据的可能性非常高。 请参阅下面的清单1 ,了解如何使这种容易受到威胁的机器成为存储数据的安全位置。

启用EFS

要在AIX上启用EFS,请键入以下内容:

清单1. AIX中的EFS启用
# efsenable -a
Enter password to protect your initial keystore:
Enter the same password again:

输入以下内容以查看为促进EFS而创建的目录:

# cd /var/efs
# ls
efs_admin   efsenabled  groups      users

现在应启用所有EFS功能。

现在,您将为所有三个部门创建一个单独的文件系统。 EFS的创建类似于普通文件系统的创建。 唯一的区别是您必须启用EA2 efs = yes属性。

清单2说明了如何通过系统管理界面工具(SMIT)创建加密的文件系统:

清单2.通过SMIT创建EFS
Add an Enhanced Journaled File SystemType or select values in entry fields.
Press Enter AFTER making all desired changes.[Entry Fields]Volume group name                                   rootvgSIZE of file systemUnit Size                                   Megabytes         +
*         Number of units                            [100]              #
* MOUNT POINT                                        [/sales]Mount AUTOMATICALLY at system restart?              no                +PERMISSIONS                                         read/write        +Mount OPTIONS                                      []                 +Block Size (bytes)                                  4096              +Logical Volume for Log                                                +Inline Log size (MBytes)                           []                 #Extended Attribute Format                                             +ENABLE Quota Management?                            no                +Enable EFS?                                         yes               +Allow internal snapshots?                           no                +

您还可以通过命令行创建相同的文件系统,如清单3所示:

清单3.通过命令行创建EFS
#crfs -v jfs2 -g rootvg -m /sales -a size=100M -a efs=yes
#crfs -v jfs2 -g rootvg -m /marketing -a size=100M -a efs=yes
#crfs -v jfs2 -g rootvg -m /finance -a size=100M -a efs=yes

现在,您已经成功为这三个部门创建了三个单独的文件系统。

为用户和组创建密钥库

为了处理或维护这些单独的文件系统,您需要创建三个不同的用户并为其创建密钥库(请参见清单4 )。 (为该用户设置密码后,将为该用户创建密钥库)。

清单4.创建用户
#mkuser salesman
#passwd salesman#mkuser marketingman
#passwd marketingman#mkuser financeman
#passwd financeman

这将在/ var / efs / users目录中为这三个用户创建三个单独的密钥库(请参见清单5 )。

清单5.用户的密钥库位置
# pwd
/var/efs/users
# ls
.lock       salesman    marketingman    financeman  root

您还可以使用EFS为组创建密钥库(请参见清单6 )。

清单6.为组创建密钥库
#efskeymgr -C finance# pwd
/var/efs/groups
# ls
.lock     finance   security

为组创建密钥库至少需要一个用户。

创建EFS目录并设置属性

本节说明如何在EFS文件系统中创建加密的文件和目录以及如何操纵它们的属性。 为了创建EFS目录,您需要安装EFS文件系统(请参见清单7 )。

清单7.创建EFS目录
# mount /finance
# cd /finance#mkdir yearlyreport
# efsmgr -E yearlyreport# efsmgr -L yearlyreport
EFS inheritance is set with algorithm: AES_128_CBC

现在将Annualreport目录设置为继承。 它指示文件或目录从其父目录继承加密属性和所有加密参数。

efsmgr有多种选项,可帮助您设置要在此目录上使用的密码类型,启用和禁用继承,以及从此目录的EFS访问列表中添加或删除用户和组。

加密单个文件

为了执行任何与EFS相关的活动,您需要加载密钥库。 如果您尝试在此加密目录中创建文件而无权访问对其进行保护的密钥库,则将导致以下情况:

# cd yearlyreport
# ls
# touch apr_report
touch: 0652-046 Cannot create apr_report.

当您没有加载用于执行EFS活动的密钥库时,就会发生这种情况(请参见清单8 )。

清单8.将EFS密钥库加载到shell
# efskeymgr -o ksh
financeman's EFS password:
# touch apr_report

现在,您已经加载了密钥库,添加到该文件的所有信息都在文件系统级别被加密(请参见清单9 )。

清单9. EFS中的加密文件
# ls -U apr_report
-rw-r--r--e    1 financeman     system            0 Nov 28 06:14 apr_report

为该文件设置的“ e”表示该文件已加密,拥有密钥存储区的所有者只能访问和读取其内容(请参见清单10 )。

清单10.列出加密文件属性
# efsmgr -l apr_report
EFS File information:Algorithm: AES_128_CBC
List of keys that can open the file:Key #1:Algorithm       : RSA_1024Who             : uid 0Key fingerprint : 4b6c5f5f:63cb8c6f:752b37c3:6bc818e1:7b4961f9

使用efsmgr命令可用的不同标志时,可以更改文件的密码和其他属性。 如果要创建一个不在任何加密目录下的文件,则需要使用以下选项来加密此类独立文件(请参见清单11 ):

清单11.加密单个文件
#cd /finance
#touch companylist
# ls -U
total 16
-rw-r--r---    1 root     system            8 Nov 28 06:21 companylist
drwxr-xr-x-    2 root     system          256 Nov 28 05:52 lost+found
drwxr-xr-xe    2 root     system          256 Nov 28 06:14 yearlyreport# efsmgr -c AES_192_ECB -e companylist# ls -U companylist
-rw-r--r--e    1 root     system            8 Nov 28 06:24 companylist

方便其他用户访问您的文件

现在您已经看到,每个部门都创建了一个单独的文件系统,并具有一个密钥库来保护它们。 如果该场景要求财务人员要访问销售中的加密文件,那么您需要能够授予他或她这样做的权限(请参见清单12和清单13 )。

清单12.加密文件时的vi输出
#vi sales_report~
~
~
~
~
~
~
~"sales_report" Security authentication is denied.
清单13.将密钥库访问权传递给另一个用户
# efskeymgr -k user/salesman -s user/financeman

现在,此命令将“推销员”用户的访问密钥发送给“财务员”用户。

如果您尝试编辑salesman拥有的文件,则可以以其原始格式读取和访问内容,因为您现在拥有创建该文件的用户的密钥库(请参见清单14 )。

清单14.接受密钥库访问后的vi输出
#vi sales_reportSales report for this financial year
~
~
~
~
~
~
~
~"sales_report" [Read only] 1 line, 36 characters

授予和撤消对单个文件的访问权限

除了将完整的访问密钥发送给另一个用户之外,您还可以为EFS上的单个文件设置访问权限。

现在,假设您在/ marketing文件系统目录中有一个文件,并且希望将特定的/marketing/strategy.txt文件的访问权限授予“销售人员”用户和“财务”组。 为了完成此任务,您需要查看清单15和清单16 。

清单15.向用户授予访问权限
# efsmgr -l strategy.txt
EFS File information:Algorithm: AES_128_CBC
List of keys that can open the file:Key #1:Algorithm       : RSA_1024Who             : uid 0Key fingerprint : 4b6c5f5f:63cb8c6f:752b37c3:6bc818e1:7b4961f9# efsmgr -a strategy.txt -u salesman# efsmgr -l strategy.txt
EFS File information:Algorithm: AES_128_CBC
List of keys that can open the file:Key #1:Algorithm       : RSA_1024Who             : uid 0Key fingerprint : 4b6c5f5f:63cb8c6f:752b37c3:6bc818e1:7b4961f9Key #2:Algorithm       : RSA_1024Who             : uid 204Key fingerprint : f91b5a79:53bdd7f1:58987a33:f5701a38:99145b24
清单16.授予对组的访问权限
# efsmgr -a strategy.txt -g finance# efsmgr -l strategy.txt
EFS File information:Algorithm: AES_128_CBC
List of keys that can open the file:Key #1:Algorithm       : RSA_1024Who             : uid 0Key fingerprint : 4b6c5f5f:63cb8c6f:752b37c3:6bc818e1:7b4961f9Key #2:Algorithm       : RSA_1024Who             : uid 204Key fingerprint : f91b5a79:53bdd7f1:58987a33:f5701a38:99145b24Key #3:Algorithm       : RSA_1024Who             : gid 201Key fingerprint : 8cb65011:2a42e9f0:91f7b712:20e36bb7:5eb0db0a

如果您需要撤消提供给“ finance”组的访问,则可以将efsmgr命令与“ -r”标志一起使用,如下面的清单17所示。

清单17.撤消对组的访问
# efsmgr -r strategy.txt -g finance# efsmgr -l strategy.txt
EFS File information:Algorithm: AES_128_CBC
List of keys that can open the file:Key #1:Algorithm       : RSA_1024Who             : uid 0Key fingerprint : 4b6c5f5f:63cb8c6f:752b37c3:6bc818e1:7b4961f9Key #2:Algorithm       : RSA_1024Who             : uid 204Key fingerprint : f91b5a79:53bdd7f1:58987a33:f5701a38:99145b24

有关EFS命令的标志和选项的完整列表,请参阅“ 相关主题”部分。

结论

EFS是AIX 6.1附带的一项重要功能,它可以帮助您加密和保护数据。 本文为您提供了有关EFS的基本信息,这些信息有助于启用具有EFS的AIX 6.1计算机。 您学习了如何创建加密的文件和目录,以及如何通过命令更改密码和继承。 您还检查了一个用例场景,详细描述了EFS的配置和用法。


翻译自: https://www.ibm.com/developerworks/aix/library/au-efs/index.html

高通efs_了解EFS相关推荐

  1. 高通平台modem部分mbn文件的OTA和PDC升级方法

    高通平台modem部分mbn文件的OTA和PDC升级方法 最近需要采用一种移动物联网卡,发现在apns-conf.xml增加了对应apn信息后,部分设备采用新的xml就可以支持新卡,但部分设备还不行, ...

  2. 高通android开发摘要

    一部分是开源的,可以从codeaurora.org上下载,还有一部分是高通产权的,需要从高通的网站上下载. 将高通产权的代码放到:vendor/qcom/proprietary 1. 设置bms一些参 ...

  3. 高通、猎户机型Android典型bootloader分析

    1.bootloader是什么? 简单地说,bootloader 就是在操作系统内核运行之前运行的一段小程序.通过这段小程序,我们可以初始化硬件设备.建立内存空间的映射图,从而将系统的软硬件环境带到一 ...

  4. 高通驱动开发参考(二)

    第1章 Driver相关模块介绍 1.1 REX简介 虽说目前QSC60x5平台上采用L4操作系统,REX只是L4上面的一个Task.但高通为了开发的兼容性,提供的API仍然采用老的一套接口(可能内部 ...

  5. 高通烧录软件QPST的介绍和使用方法

    QPST是一个针对高通芯片开发的传输软件组(包).这个软件的功用,大家通过百度都应该知道了,它能复制铃声.更改手机的一些功能参数,从而实现和达到用户想要的效果.不过,它有很多实用的功能,网上都是一笔带 ...

  6. QPST 2.7.460 高通产品专用支持套件 (Qualcomm Product Support Tools)

    QPST是一个针对高通芯片开发的传输套件.它包含资源管理器(EFS Explorer).工厂测试模式(Factory Test Mode Application).内存调试模式(memory debu ...

  7. 高通平台Android源码bootloader分析之sbl1(一)

    高通8k平台的boot过程搞得比较复杂, 我也是前段时间遇到一些问题深入研究了一下才搞明白.不过虽然弄得很复杂,我们需要动的东西其实很少,modem侧基本就sbl1(全称:Secondary boot ...

  8. 高通烧录软件QPST的介绍和使用方法(简洁实用篇)

     QPST是一个针对高通芯片开发的传输软件组(包).这个软件的功用,大家通过百度都应该知道了,它能复制铃声.更改手机的一些功能参数,从而实现和达到用户想要的效果.不过,它有很多实用的功能,网上都是 ...

  9. 高通的熔丝(Blow eFuse)操作

    参考翻译自高通文档 "kba-170922012113_2_options_for_blowing_efuse_in_factory_process.pdf" 前言 为了安全性考虑 ...

  10. 刷机后IMIE丢失怎么办 高通手机IMEI备份恢复教程

    不少爱刷机的同学肯定都遇到过IMEI丢失的情况,IMEI究竟是个什么玩意?又有什么用呢?简单的来说是移动设备国际身份码的缩写,手机丢失IMEI就意味着手机无法搜索注册SIM卡,这也就是说你只能通过恢复 ...

最新文章

  1. PHP中刷新输出缓冲
  2. MPB:窖泥样品采集与核酸提取
  3. 【旧文新读】解释“闭包”需要几行代码?
  4. PHP 函数dirname()使用实例
  5. Linux及安全课程——相关链接总结
  6. todo已完成任务_uTools 插件介绍 | 「todo」!打工人必备
  7. 操作系统 :银行家算法的实现(C++)
  8. 简单的一个用javascript做的'省市区'三级联动效果
  9. 顺子(51Nod-2510)
  10. 程序员面试宝典——数据结构之单链表
  11. winpe+linux iso,用syslinux引导maxdos,winpe,slax l
  12. 十大排序算法----堆排序(最后一个非叶子节点的序号是n/2-1的推理)
  13. h5 Table表格
  14. linux装完系统需要输入密码,在安装Linux系统的过程中,一定要设置root用户的密码 (5.0分)...
  15. 高精度低功耗RC振荡器设计
  16. html css纯写桌球运动轨迹,纯JS实现椭圆轨迹运动的代码
  17. List集合中 中contains方法的使用详解
  18. html语言设置网页背景,HTML+CSS入门 设置网页中的背景图片的5个属性
  19. 【转载】Android功耗改进
  20. 设计模式之 Interpreter(解释器) 通俗理解

热门文章

  1. 财务自由,整层楼沸腾!万亿蚂蚁IPO来了,诞生几千个亿万富翁?杭州、上海房价又要涨了…...
  2. 基于matlab七轴可伸缩关节机械臂物品抓取
  3. struct和union的区别和存储方式
  4. 实现手机扫描二维码进行登录
  5. springboot整合xxl-job
  6. 单片空间后方交会Matlab程序
  7. 华东理工某ACMer总结
  8. 没有Realek高清音频管理器,Win10系统没有声音怎么办?
  9. 蓝桥杯省赛真题2016题解
  10. 麦吉尔 计算机科学学分,麦吉尔大学计算机