EFS加密
EFS简介
EFS(Encrypting File System,加密文件系统)是Windows操作系统中基于NTFS(New Technology File System,新技术文件系统)实现对文件进行加密与解密服务的一项技术。EFS采用核心文件加密技术,当文件或文件夹被加密之后,对于合法Windows用户来说不会改变其使用习惯。当操作经EFS加密后的文件时与操作普通文件没有任何区别,所有的用户身份认证和解密操作由系统在后台自动完成。而对于非法Windows用户来说,则无法打开经EFS加密的文件或文件夹。在多用户Windows操作系统中,不同的用户,可通过EFS加密自己的文件或文件夹,实现对重要数据的安全保护。
EFS的特点
EFS技术的特点主要体现在以下几个方面。
- 对于用户来说,EFS技术采用了透明加密操作方式,即所有的加密和解密过程对用户来说是感觉不到的。这是因为EFS运行在操作系统的内核模式下,通过操作文件系统,向整个系统提供实时、透明、动态的数据加密和解密服务。当合法用户操作经EFS加密的数据时,系统将自动进行解密操作。
- 由于FEK和用户主密钥的生成都与登录账户的用户名和口令相关,所以用户登录操作系统的同时已经完成了身份验证。在用户访问经EFS技术加密的文件时,用户身份的合法性已经得到验证,无须再次输入其认证信息。
- EFS允许文件的原加密者指派其他的合法用户以数据恢复代理的身份来解密经加密的数据,同一个加密文件可以根据需要由多个合法用户访问。
- EFS技术可以与Windows操作系统的权限管理机制结合,实现对数据的安全管理。
EFS的缺陷
- EFS技术中密钥的生成基于登录账户的用户名和口令,但并不完全依赖于登录账户的用户名和口令,如FEK由用户的SID生成。当重新安装了操作系统后,虽然创建了与之前完全相同的用户名和口令,但此账户非彼账户,导致原来加密的文件无法访问。为解决此问题,EFS提供了密钥导出或备份功能,但此操作仅取决于用户的安全意识。
- 由于EFS将所有的密钥都保存在Windows分区中,攻击者可以通过破解登录账户进一步获取所需要的密钥,以解密并得到加密文件。
- EFS技术可以防止非法用户访问受保护的数据,但是具有删除权限的用户可以删除经EFS加密的文件或文件夹,安全性受到威胁。
EFS证书
文件加密后,即使被复制到其他电脑中,如果没有同时复制该文件的EFS证书,也是不能正常访问的
证书的导出
使用快捷键win+R,输入CertMgr.msc,点击确定打开证书管理界面
在出现的“证书”对话框中依次双击展开“证书-当前用户→个人→证书”选项,在右侧栏目里会出现以你的用户名为名称的证书
接着点击鼠标右键,选择“所有任务→导出”命令,打开“证书导出向导”对话框
点击下一步
当出现“是否要将私钥跟证书一起导出”提示时,要选择“是,导出私钥”选项
选择要导出的文件格式,默认选择个人信息交换—PKCS#12(.PFX),格式,点击下一步
输入证书加密的密码,点击下一步
选择好保存的文件名及文件路径后,点击“完成”按钮即可顺利将证书导出,此时会发现在保存路径上出现一个以PFX为后缀的文件
证书的安装
EFS加密
方法一
选中要加密的文件夹,右键点击属性
在属性页面点击高级,勾选加密内容以便保护数据,点击确定
回到文件夹属性页面,点击应用,点击确定
加密完成后,文件夹多了上锁的标识。若需解密,按照上述步骤,取消勾选【加密内容以便保护数据即可】
解密时如果出错,如下图所示:
首先看在高级设置里面电脑是否没有将存档和索引属性下面的可以存档文件夹(A)子选项勾选上
如果勾选上之后还是无法解密在对文件夹进行加密以后鼠标右键会有一个文件所有权的属性,我们将鼠标移动到哪里,选择右边的个人,然后再进行解密就行了
方法二
- 同时按下Win键+R键,输入regedit回车
- 在注册表中定位到
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced,空白处右击鼠标,选择新建DWORD(32位)值
- 将数值名称重命名为EncryptionContextMenu,修改数值数据为1,确认选择了十六进制(H),点击确定即可
- 在任意文件上右击,即可看到菜单中新增了加密的选项,一键加密
解密时,鼠标右键点击需解密的文件或文件夹,点击解密即可。如果出错,参照方法一种的解决办法
EFS加密的更多相关文章
- EFS加密解密----重装系统后
重装系统尤其是格式化重装系统之后,如果没有正确地备份私钥,那么加密的文件将无法打开,加密的文件也暂时没有办法进行快速破解. 并非重装后用相同用户名+密码就可以解密的. Advanced EFS Dat ...
- 记一次重装系统后恢复EFS加密文件过程
之前用了8年的win7系统被我删注册表给折腾挂了, 无法进入系统, 无法进入安全模式, 无法使用光盘修复 只能重装系统,习惯性的重装前GHOST备份了一下 今天忽然发现有好几个项目文件居然成了绿色的, ...
- 清除windows的EFS加密
所使用软件为aefsdr_setup_en,搜索名为advanced.efs.data.recovery 1. 创建需要加密的文件 2. 进行加密 ...
- 使用Windows EFS(怎么给文件夹加密)进行文件加密
和Windows BitLocker一样,Encrypting File System(EFS,加密文件系统)是Windows内置的一套基于公共密钥的加密机制,可以加密NTFS分区上的文件和文件夹,能 ...
- EFS解密----未重装系统
一种方法.(手动删除私钥测试通过) 利用软件advanced efs data recovery 二种方法. 前提:在系统未重装或私钥未丢失.两个软件: PsExec和 IceSword.前者是国外 ...
- powershell小工具,efs加解密三剑客。
powershell efs 加密 解密 列出 decryption list --------前言:我编写这两个脚本的目的,大家不可不知!-------- 1 是为系统管理员,网管员编写 ...
- 加密入门(三):TrueCrypt(转)
http://terrychen.info/encryption-truecrypt/ TrueCrypt 是一款功能强大的开源加密工具,利用 TrueCrypt 可以创建一个加密文件作为虚拟加密卷, ...
- EFS 你应该知道的事
需要备份或者还保留这个路径 %USERPROFILE%\AppData\Roaming\Microsoft\Crypto\RSA certmgr.msc 个人证书导出你开始使用EFS加密后的证书 ci ...
- Windows加密技术概述
Windows加密是安全体系的重要基础和组成部分.现代CPU的保护模式是系统安全的硬件基石,基于CPU硬件的特权分级,Windows让自身的关键系统代码运行在高处理器特权级的内核模式,各种应用程序则运 ...
随机推荐
- docker 部署 zabbix
docker部署zabbix 我相信大家都已经会再物理机上跑zabbix并且监控了,那么有没有想过在docker中跑zabbix?下面咱们来看看如何在docker中搭建zabbix并且监控 部署环 ...
- php第一天-分支结构,循环结构,特殊的流程控制语句
1.单向条件分支结构 <?php if(true) { echo "yes"; } ?> 2.双向条件分支结构 <?php $a = 10; if($a < ...
- selenium执行js--并绕过webdriver监测常见方法
目录 selenium执行js 常见的selenium监测手段 常用绕过selenium监测1 常用绕过selenium监测2 常用绕过selenium监测3 selenium执行js 优点:直接调用 ...
- 刷题[GKCTF2020]
[GKCTF2020]CheckIN 解题思路 打开直接是源码: <title>Check_In</title> <?php highlight_file(__FILE_ ...
- 用Docker swarm快速部署Nebula Graph集群
用Docker swarm快速部署Nebula Graph集群 一.前言 本文介绍如何使用 Docker Swarm 来部署 Nebula Graph 集群. 二.nebula集群搭建 2.1 环境准 ...
- springboot实现防重复提交和防重复点击
背景 同一条数据被用户点击了多次,导致数据冗余,需要防止弱网络等环境下的重复点击 目标 通过在指定的接口处添加注解,实现根据指定的接口参数来防重复点击 说明 这里的重复点击是指在指定的时间段内多次点击 ...
- 烦人的Null,你可以走开点了
1. Null 的问题 假设现在有一个需要三个参数的方法.其中第一个参数是必须的,后两个参数是可有可无的. 第一种情况,在我们调用这个方法的时候,我们只能传入两个参数,对第三个参数,我们在上下文里是没 ...
- Leetcode-哈希表
136. 只出现一次的数字 https://leetcode-cn.com/problems/single-number/ 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找 ...
- jQuery中使用$.each()遍历数组时要注意的地方
使用jQuery中 $.each()遍历数组,要遍历的数组不能为空(arry!="") 例如: $.each(arry, function (i, item) ...
- 题目:写出一条SQL语句,查询工资高于10000,且与他所在部门的经理年龄相同的职工姓名。
create table Emp( eid char(20) primary key, ename char(20), age integer check (age > 0), did char ...