导航:首页 > 文档加密 > 基于属性加密技术共享云盘系统

基于属性加密技术共享云盘系统

发布时间:2024-10-21 23:32:15

Ⅰ 电脑里的重要文件在属性—高级里做了加密,重装系统后拒绝访问了,拜问高人如何才能恢复啊

前段时间,在网络HI里接到一位网友的求助,内容大致类似如下:电脑在重装系统后无法打开某文件夹了,提示没有权限。D盘是NTFS格式,该朋友在重装系统前对该文件夹加了密!又没有导出密钥来备份。总说NTFS格式的安全性比FAT32高,其中一点就体现在这个EFS加密上,基本上无法破解。
先简单介绍一下如何加密吧:右击需要加密的文件或文件夹,选[属性]——[高级]——[加密...]即可。加密后的文件夹为绿色,只有实施加密的用户才能打开,有人会说那重装系统后创建一个同名同密码的用户就行了吧,NO!涉及到很多问题:

EFS加密是通过对称算法加密的,2000支持DES,XP支持DES和3DES。但是加密所用的密钥是经过公钥算法加密的,这种算法几乎无法破解(暴力破解可以,但是不现实),而且加密的关键在于用户的SID,这个东西每次创建用户随机生成,就算用户名一致,也不行的。你的数据已经经过加密了,保存在硬盘上的就不是原来的数据了,所以不可能这么简单就访问到。2000毕竟还是C1级别的操作系统呢,如果企业的重要数据经过EFS加密,如果容易解密,后果不可想象。另外文件权限也是记录在NTFS分区的ACL(访问控制表)里的,所以只要是微软出的操作系统,都会严格检查的,ERD2003是基于Windows PE的,所以也会检查的。Windows XP也可以设置文件权限,只要选择我的文档,属性中设置为私有,就可以保证自己的了。但是更详细的设置,必须解除简单文件共享(不推荐,不安全)。
如果仅仅是权限,你重装系统后,可以用Administrators组的管理员帐号强行获取文件的控制权(先解除简单文件共享,然后在文件的属性-权限里添加你的新管理员帐号,赋予完全控制),但是加密的就无济于事了。

因此:

如果事先保存有密钥的话,那么任何用户只要安装这个密钥就可以打开加密的文件夹了。如何创建密钥呢?运行CERTMGR.MSC会打开证书管理器,找到[个人]证书下的[XXX]证书(XXX就是你的用户名),右击它选择[所有任务]——[导出]导出并保存EFS证书。当你需要时可双击导出的密钥文件,按提示安装即可。

——————————SID安全标识符介绍—————通俗地理解为操作系统的“身份证”—————

SID也就是安全标识符(Security Identifiers),是标识用户、组和计算机帐户的唯一的号码。在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID。Windows 2000 中的内部进程将引用帐户的 SID 而不是帐户的用户或组名。如果创建帐户,再删除帐户,然后使用相同的用户名创建另一个帐户,则新帐户将不具有授权给前一个帐户的权力或权限,原因是该帐户具有不同的 SID 号。安全标识符也被称为安全 ID 或 SID。

SID的作用

用户通过验证后,登陆进程会给用户一个访问令牌,该令牌相当于用户访问系统资源的票证,当用户试图访问系统资源时,将访问令牌提供给 Windows NT,然后 Windows NT 检查用户试图访问对象上的访问控制列表。如果用户被允许访问该对象,Windows NT将会分配给用户适当的访问权限。

访问令牌是用户在通过验证的时候有登陆进程所提供的,所以改变用户的权限需要注销后重新登陆,重新获取访问令牌。

SID号码的组成

如果存在两个同样SID的用户,这两个帐户将被鉴别为同一个帐户,原理上如果帐户无限制增加的时候,会产生同样的SID,在通常的情况下SID是唯一的,他由计算机名、当前时间、当前用户态线程的CPU耗费时间的总和三个参数决定以保证它的唯一性。

一个完整的SID包括:

• 用户和组的安全描述

• 48-bit的ID authority

• 修订版本

• 可变的验证值Variable sub-authority values

例:S-1-5-21-310440588-250036847-580389505-500

我们来先分析这个重要的SID。第一项S表示该字符串是SID;第二项是SID的版本号,对于2000来说,这个就是1;然后是标志符的颁发机构(identifier authority),对于2000内的帐户,颁发机构就是NT,值是5。然后表示一系列的子颁发机构,前面几项是标志域的,最后一个标志着域内的帐户和组。

SID的获得

开始-运行-regedt32-HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Builtin\Aliases\Members,找到本地的域的代码,展开后,得到的就是本地帐号的所有SID列表。

其中很多值都是固定的,比如第一个000001F4(16进制),换算成十进制是500,说明是系统建立的内置管理员帐号administrator,000001F5换算成10进制是501,也就是GUEST帐号了,详细的参照后面的列表。

这一项默认是system可以完全控制,这也就是为什么要获得这个需要一个System的Cmd的Shell的原因了,当然如果权限足够的话你可以把你要添加的帐号添加进去。

或者使用Support Tools的Reg工具:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

还有一种方法可以获得SID和用户名称的对应关系:

1. Regedt32:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion \ProfileList

2. 这个时候可以在左侧的窗口看到SID的值,可以在右侧的窗口中ProfileImagePath看到不同的SID关联的用户名,

比如%SystemDrive%\Documents and Settings\Administrator.momo这个对应的就是本地机器的管理员SID

%SystemDrive%\Documents and Settings\Administrator.domain这个就是对应域的管理员的帐户

另外微软的ResourceKit里面也提供了工具getsid,sysinternals的工具包里面也有Psgetsid,其实感觉原理都是读取注册表的值罢了,就是省了一些事情。

SID重复问题的产生

安装NT/2000系统的时候,产生了一个唯一的SID,但是当你使用类似Ghost的软件克隆机器的时候,就会产生不同的机器使用一个SID的问题。产生了很严重的安全问题。

同样,如果是重复的SID对于对等网来说也会产生很多安全方面的问题。在对等网中帐号的基础是SID加上一个相关的标识符(RID),如果所有的工作站都拥有一样的SID,每个工作站上产生的第一个帐号都是一样的,这样就对用户本身的文件夹和文件的安全产生了隐患。

这个时候某个人在自己的NTFS分区建立了共享,并且设置了自己可以访问,但是实际上另外一台机器的SID号码和这个一样的用户此时也是可以访问这个共享的。

SID重复问题的解决

下面的几个试验带有高危险性,慎用,我已经付出了惨痛的代价!

微软在ResourceKit里面提供了一个工具,叫做SYSPREP,这个可以用在克隆一台工作站以前产生一个新的SID号码。 下图是他的参数

这个工具在DC上是不能运行这个命令的,否则会提示

但是这个工具并不是把所有的帐户完全的产生新的SID,而是针对两个主要的帐户Administrator和Guest,其他的帐号仍然使用原有的SID。

下面做一个试验,先获得目前帐号的SID: S-1-5-21-2000478354-688789844-839522115

然后运行Sysprep,出现提示窗口:

确定以后需要重启,然后安装程序需要重新设置计算机名称、管理员口令等,但是登陆的时候还是需要输入原帐号的口令。

进入2000以后,再次查询SID,得到:

S-1-5-21-759461550-145307086-515799519,发现SID号已经得到了改变,查询注册表,发现注册表已经全部修改了,当然全部修改了。

另外sysinternals公司也提供了类似的工具NTSID,这个到后来才发现是针对NT4的产品,界面如下:

他可不会提示什么再DC上不能用,接受了就开始,结果导致我的一台DC崩溃,重启后提示“安全账号管理器初始化失败,提供给识别代号颁发机构的值为无效值,错误状态0XC0000084,请按确定,重启到目录服务还原模式...”,即使切换到目录服务还原模式也再也进不去了!

想想自己胆子也够大的啊,好在是一台额外DC,但是自己用的机器,导致重装系统半天,重装软件N天,所以再次提醒大家,做以上试验的时候一定要慎重,最好在一台无关紧要的机器上试验,否则出现问题我不负责哦。另外在Ghost的新版企业版本中的控制台已经加入了修改SID的功能,自己还没有尝试,有兴趣的朋友可以自己试验一下,不过从原理上应该都是一样的。

文章发表之前,又发现了微软自己提供的一个工具“Riprep”,这个工具主要用做在远程安装的过程中,想要同时安装上应用程序。管理员安装了一个标准的公司桌面操作系统,并配置好应用软件和一些桌面设置之后,可以使用Riprep从这个标准的公司桌面系统制作一个Image文件。这个Image文件既包括了客户化的应用软件,又把每个桌面系统必须独占的安全ID、计算机账号等删除了。管理员可以它放到远程安装服务器上,供客户端远程启动进行安装时选用。但是要注意的是这个工具只能在单硬盘、单分区而且是Professional的机器上面用。

Ⅱ 003 国密算法【技术】

国密算法:国家密码局认定的国产密码算法,即商用密码。

非对称密码(公钥算法):SM2,SM9

对称密码(分组密码,序列密码):SM1,SM4,SM7,ZUC

杂凑算法(散列,哈希算法):SM3

概述 : 对称加密算法(分组密码) ,分组长度128位,密钥长度128位, 算法不公开 ,通过加密芯片的接口进行调用。

场景 :采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。

概述 : 非对称加密算法(公钥算法) ,加密强度为256位,是一种椭圆曲线算法。

公钥密码学与其他密码学完全不同, 使用这种方法的加密系统,不仅公开加密算法本身,也公开了加密用的密钥。公钥密码系统与只使用一个密钥的对称传统密码不同,算法是基于数学函数而不是基于替换和置换。公钥密码学是非对称的,它使用两个独立的密钥,即密钥分为公钥和私钥,因此称双密钥体制。双钥体制的公钥可以公开,因此称为公钥算法。

使用私钥加密后的密文只能用对应公钥进行解密,反之使用公钥加密的密文也只能用对应的私钥进行解密。通过对私钥进行椭圆曲线运算可以生成公钥,而由于椭圆曲线的特点,知道公钥却很难反推出私钥,这就决定了SM2算法的安全性。SM2算法最常见的应用是进行身份认证,也就是我们熟知的数字签名与验签,通过私钥的私密性来实现身份的唯一性和合法性。

场景: 适用于商用应用中的 数字签名和验证 ,可满足多种密码应用中的 身份认证 和 数据完整性,真实性 的安全需求。

场景: 适用于商用密码应用中的 密钥交换 ,可满足通信双方经过两次或可选三次信息传递过程,计算获取一个由双方共同决定的共享秘密密钥(会话密钥)。

场景: 适用于国家商用密码应用中的 消息加解密 ,消息发送者可以利用接收者的公钥对消息进行加密,接收者用对应的私钥进行解,获取消息。

涉及国密标准: GB/T 32918.1-2016、GB/T 32918.2-2016、GB/T 32918.3-2016、GB/T 32918.4-2016、GB/T 32918.5-2017、GB/T 35275-2017、GB/T 35276-2017。

概述:哈希算法(散列算法,杂凑算法) ,任意长度的数据经过SM3算法后会生成长度固定为256bit的摘要。SM3算法的逆运算在数学上是不可实现的,即通过256bit的摘要无法反推出原数据的内容,因此在信息安全领域内常用SM3算法对信息的完整性进行度量。

场景: 适用于商用密码应用中的 数字签名和验证 , 消息认证码的生成与验证 以及 随机数的生成 ,可满足多种密码应用的安全需求。

涉及国密标准: GB/T 32905-2016

概述:对称加密算法(分组密码) ,分组长度128位,密钥长度128位,使用某一密钥加密后的密文只能用该密钥解密出明文,故而称为对称加密。SM4算法采用32轮非线性迭代实现,加解密速度较快,常应用于大量数据的加密,保存在存储介质上的用户数据往往就使用SM4算法进行加密保护。

场景:大量数据的加密,解密,MAC的计算 。

分组密码就是将明文数据按固定长度进行分组,然后在同一密钥控制下逐组进行加密,从而将各个明文分组变换成一个等长的密文分组的密码。其中二进制明文分组的长度称为该分组密码的分组规模。

分组密码的实现原则如下:必须实现起来比较简单,知道密钥时加密和脱密都十分容易,适合硬件和(或)软件实现。加脱密速度和所消耗的资源和成本较低,能满足具体应用范围的需要。

分组密码的设计基本遵循混淆原则和扩散原则

①混淆原则就是将密文、明文、密钥三者之间的统计关系和代数关系变得尽可能复杂,使得敌手即使获得了密文和明文,也无法求出密钥的任何信息;即使获得了密文和明文的统计规律,也无法求出明文的任何信息。

②扩散原则就是应将明文的统计规律和结构规律散射到相当长的一段统计中去。也就是说让明文中的每一位影响密文中的尽可能多的位,或者说让密文中的每一位都受到明文中的尽可能多位的影响。

涉及国密标准: GB/T 32907-2016

概述 : 对称加密算法(分组密码) ,分组长度128位,密钥长度128位, 算法不公开 ,通过加密芯片的接口进行调用。

场景 :适用于非接触式IC卡,应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通等)。

概述:非对称加密算法(标识密码) ,标识密码将用户的标识(如邮件地址、手机号码、QQ号码等)作为公钥,省略了交换数字证书和公钥过程,使得安全系统变得易于部署和管理,非常适合端对端离线安全通讯、云端数据加密、基于属性加密、基于策略加密的各种场合。

SM9算法不需要申请数字证书,适用于互联网应用的各种新兴应用的安全保障。如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等等。这些安全应用可采用手机号码或邮件地址作为公钥,实现数据加密、身份认证、通话加密、通道加密等安全应用,并具有使用方便,易于部署的特点,从而开启了普及密码算法的大门。

概述 : 对称加密算法(序列密码) ,是中国自主研究的流密码算法,是运用于移动通信4G网络中的国际标准密码算法,该算法包括祖冲之算法(ZUC)、加密算法(128-EEA3)和完整性算法(128-EIA3)三个部分。目前已有对ZUC算法的优化实现,有专门针对128-EEA3和128-EIA3的硬件实现与优化。

阅读全文

与基于属性加密技术共享云盘系统相关的资料

热点内容
女程序员没有晋升 浏览:131
微订点单外卖平台系统源码 浏览:572
云服务器30m 浏览:27
古装程序员电视剧 浏览:182
爱因斯坦传pdf 浏览:495
块存储和云服务器 浏览:352
吃东西的解压生 浏览:916
如何把网页上传到web服务器 浏览:243
外国超级解压实验 浏览:63
pdf阅读器官方免费下载 浏览:46
禁止的命令 浏览:963
java设置button的大小设置 浏览:451
ios程序员提升方向 浏览:528
源码封库时引用的库怎么处理 浏览:524
鲨鱼源码最新版 浏览:677
节点是服务器地址吗 浏览:630
服务器为什么不能搬走 浏览:315
三年无工作经验空窗期的程序员 浏览:561
来球网app怎么样 浏览:302
51单片机哈佛 浏览:571