Windows加密技术概述
Windows加密是安全体系的重要基础和组成部分。现代CPU的保护模式是系统安全的硬件基石,基于CPU硬件的特权分级,Windows让自身的关键系统代码运行在高处理器特权级的内核模式,各种应用程序则运行在低处理器特权级的用户态,保证了系统层面的基本安全控制逻辑(如内存、文件等系统资源的访问控制机制等)的有效性。加密技术与系统安全控制逻辑的结合,使得用户信息在面对一定程度上不可靠的存储和传输环境时,如计算机失窃、存在网络嗅探的情形下,仍能保持其私密性、不可篡改的完整性等安全属性。
Windows加密技术可以从两个层面予以讨论。其一是基本的加密算法服务,这是基本的层面,在这个层面上,摘要,对称加密,非对称加密等基本的加密算法可以通过CryptoAPI等操作系统API接口,为应用程序所用。其二是Windows系统加密功能,这个层面的内容包括EFS,用户信息保护,SSL等网络加密协议等等。Windows在其基本加密算法服务的基础上,建立一个较为完善的加密系统。这个加密系统一方面保护Windows系统(单机和域)的安全,另一方面,也提供了可供应用程序直接使用的系统级加密保护服务。
Windows加密算法以服务提供软件包(CSP)机制组织管理。Windows定义了CSP的架构及其API。通过这些API函数,应用程序可以枚举系统中存在的CSP,选择符合自己需要的CSP,使用CSP所实现的算法进行加密操作。每个CSP包含有来自某个厂商实现的一组加密算法和密钥保护机制,不同的CSP可以含有相同算法的不同实现。有的CSP是与硬件结合的,算法逻辑和密钥保护实现在独立的硬件上,这种CSP起着接口适配作用,使得应用软件与这些加密硬件隔离开来。微软在Windows中预置了几个CSP,这些CSP所包含的加密算法在所有的Windows计算机上都是立即可用的。通过CSP框架,应用软件可以使用Windows定义的统一API,实施加密操作。这样,应用很容易适应不同的加密算法实现方式。看上去差异很大的加密实现方式,对于应用程序来说,只是CSP名称的差异。CSP的选用很容易做成可以配置的选项,有应用系统集中管控或者由终端用户自行选择。
Windows加密系统的目标有,保护Windows计算机和Windows网络自身、用户账户安全、用户数据安全。Windows系统发行介质含有微软的公钥,使用基于数字签名技术的代码签名机制,来验证系统组件的完整性。这一完整性保证了系统代码的确来自微软官方,不会被第三方篡改。
在Windows被安装到一台计算机上的时候,会随机生成该计算机的安全标识(SID)和设备主密钥。设备主密钥被用来保护本地计算机边界之内的数据,验证设备在Windows域中成员身份。
在Windows中创建一个用户帐户时,会产生一个用户SID和用户主密钥。用户主密钥密钥被用户口令加密保护。Windows系统为用户对一些重要的安全数据进行了加密,如数字证书私钥、系统工具保存的网络登录口令等等,这些都是由用户主密钥所保护的。由于用户主密钥使用用户口令加密存储,所以管理员强制重置用户口令时,是无法解密恢复原来的主密钥的。这时,我们会看到这样的提示:“您正在重置xxxx的密码。如果这样做,xxxx将丢失网站或网络资源的所有个人证书和存储的密码”。这也意味着即使是管理员,也不能通过重置口令这一途径读取用户的加密信息。值得注意的是,用户口令本身使用了摘要算法加密,为了对抗字典攻击,Windows在注册表中只保存了摘要值的一半比特。由于还原主密钥需要全部的比特,这使得攻击者即使“碰”上了注册表中的这一半比特,也不能解密还原用户的主密钥。
Windows加密文件系统(EFS)对用户数据提供了保护。加密文件系统使用混合加密体制保护文件内容。每个EFS加密的文件都使用随机生成的不同对称密钥(FEK)保护。FEK被用户数字证书公钥加密保护,还原FEK需要能够访问用户的文件加密证书私钥。这一私钥又得到用户主密钥的保护,用户主密钥又在用户口令的保护之下。由于重置用户密码会失去原先的主密钥,从而失去EFS的访问能力,所以会导致不再能够打开原先使用EFS加密的文件。这种情况下,唯一的途径是使用在第一次加密文件时,备份的EFS文件加密证书私钥。EFS加密与不加密的区别在于,对于不加密的文件,具有管理员权限的账户,不登录用户账户,也能打开这些文件。设备或者硬盘失窃时,信息窃贼是很容易得到这样一个权限的,把硬盘挂在自己的计算机上就可以了。EFS以强加密阻止这一情况的发生。如果冠希当初勾选了文件夹的加密属性以开启EFS,再配合以一个不易猜测的Windows开机登录口令,他就不会因送修电脑而被那么早的被送上新闻头条。
在保护本地各种加密要素安全的基础上,Windows实现了一系列网络加密协议,有些是Windows网络专用的,如RDP协议;有些是互联网通用的,如SSL、IPSec等。应用程序可以通过相关的加密API,利用这些系统中实现了的加密协议,加密保护应用程序在网络上传输的信息。
Windows加密技术概述的更多相关文章
- .NET加密技术概述
微软.NET 的System.Security.Cryptography中的类实现了各种具体的加密算法和技术.这些类,有一些是非托管 Microsoft CryptoAPI 的包装,而另一些则是纯粹的 ...
- IM-即时通讯技术概述
IM-即时通讯技术概述 简述 即时通讯技术(IM)支持用户在线实时交谈.如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容.大多数常用的即时通讯发 ...
- android 数据加密——加密的概述
数据加密又称密码学,它是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文.数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法.它利 ...
- 【云安全与同态加密_调研分析(8)】同态加密技术及其应用分析——By Me
◆同态加密技术(Homomorphic Encryption, HE)及其应用◆ ◆加密方案◆ ◆应用领域◆ ◆厂商◆ ◆同态加密现有产品形态和工程实现◆ ◆参考链接◆ ◆备注(其他参考信息)◆ 同态 ...
- Windows加密API的功能分类
本地数据加密保护本地数据加密保护机制提供了简单的DAPI调用接口,密钥管理等等一概由系统来处理.DAPI的数据加密保护机制在用户登录会话范围或者本地计算范围,使用操作系统设计的方式加密保护数据和解密还 ...
- Windows加密API的层次
Windows平台下的应用程序可以分为托管的.NET程序和本机的Win32(以及Win64)两大类..NET有着类似于JAVA的虚拟机和二进制码托管运行环境,提供了在不同Windows平台上的代码可携 ...
- Windows加密服务架构
Windows加密是安全体系的重要基础和组成部分.现代CPU的保护模式是系统安全的硬件基石,基于CPU硬件的特权分级,Windows让自身的关键系统代码运行在高处理器特权级的内核模式,各种应用程序则运 ...
- PHP加密技术
一.MD5加密 直接干,这里以一个登录页面为例: <?php require_once 'config/database.config.php'; $act=$_REQUEST['act']; ...
- Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC
Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC 博客分类: Java/Security Javabase64macmd5sha 加密解密,曾经是我一 ...
随机推荐
- 【SQL】- 基础知识梳理(八) - 事务与锁
事务的概念 事务:若干条T-SQL指令组成的一个操作数据库的最小执行单元,这个整体要么全部成功,要么全部失败.(并发控制) 事务的四个属性:原子性.一致性.隔离性.持久性.称为事务的ACID特性. 原 ...
- RealSense R400系列深度相机的图像获取保存和格式转换
关于RealSense的基础使用的博文用的库有点混杂,挺多博文都是早期maneger的那个库,对那个不是很了解,主要记录一下使用最新的函数库的基础使用. 相机型号:RealSense R435 使用函 ...
- 数据解析之xpath
一.环境安装 下载lxml pip install lxml 二.使用 XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) 来选取 ...
- arx创建作用域(于)当前文档全局变量
普通的全局变量是作用于整个AutoCAD程序中,所有的文档都将能存取,某些时候,我们需要某一个全局变量仅仅在当前文档有效,便于程序之间通信或者变量值记忆. 在高版本的objectARX向导中,已经为我 ...
- Tomcat类加载机制触发的Too many open files问题分析(转)
https://blog.csdn.net/ctrip_tech/article/details/53337137 说起Too many open files这个报错,想必大家一定不陌生.在Linux ...
- 推荐分享一个牛X的自定义PHP加密解密类
通俗点说,用它来进行加密,同一个字符串,每次进行加密,得出的结果都是不一样的,大大加强了数据安全性.同时还可设定加密后数据的有效期,简直牛掰了 #食用方法 将下面的第二份模块代码保存为 Mcrypt. ...
- css实现正方形div的3种方式
网上百度了几种可以按照百分比画方框的方法 1.CSS3 vw 单位 1vw = 1% viewport width <div class="vw">hello,view ...
- What Goes Up UVA - 481 LIS+打印路径 【模板】
打印严格上升子序列: #include<iostream> #include<cstdio> #include<algorithm> #include<cst ...
- 获取一个表中的字段总数(mysql) Navicat如何导出Excel格式表结构 获取某个库中的一个表中的所有字段和数据类型
如何获取一个表中的字段总数 1.function show columns from 表明: 结果 : 2.functiuon select count(*) from INFORMATION_SCH ...
- word的样式设置
一般自己写文档就用typora了,便捷美观,但是在工作上又不得不用word写文档,我对审美.格式比较有强迫症,有的小公司没有形成自己的文档规范,或者所谓的规范也只是写好了格式的文档,你往里面填内容就可 ...