尽管Windows不再具备往日那样的统治地位,在智能手机领域,甚至已经沦落为一种小众平台,Windows仍然是主要的商业应用运行平台、软件开发平台、硬件及结构等设计软件运行平台。大多数人在学习计算机时,会首先面对一台Windows计算机。多年来,为了应对不断演化的安全环境,Windows发展起来了一套相当完善的,基于严格规范的密码学的加密安全体系。

今天所广泛使用的桌面Windows版本,如7、8以及不再更新的XP、即将发布的版本10,其基本构架都来自开始于1988年11月开发的Windows NT,可以认为它们都是源自NT的同构架演进版本。其演进次序可以认为是这样子的:NT、2000、XP、Vista、7、8、10。这些源于NT架构的Windows的一个基本特性是,利用386以后CPU硬件的特权保护机制,建立了用户态和内核态隔离的系统模型。操作系统核心组件运行在高特权级的内核态,通过硬件机制保证了运行于用户态的一般应用程序无法破坏操作系统的完整性和安全性。遗憾的是,由于这一架构下的大多数硬件设备驱动程序也是运行在内核态,一些恶意软件把自己编译成设备驱动程序的形态,通过盗版、诱骗、系统漏洞等途径渗入系统,仍然严重的威胁着系统的安全。Windows 7以后,特别是64位版本,对驱动程序的加载给予更严格的限制,结合用户态驱动程序框架(UMDF)的逐渐推广,这一问题得到了一定的缓解。

Windows 2000在2002年10月,被认定为满足CC的“受控访问“级别的安全需求,相当于桔皮书TCSEC中的C2安全级别。windowsXP/2003公共安全标准安全目标明确指出了以下加密技术需求:

1.基于密码学的自主访问控制功能;

2.敏感数据保护;

3.VPN;

4.公钥基础设施;

5.数字证书颁发和管理。

这些加密技术在Windows安全机制中的实现,一方面使得Windows系统自身成为一个较强的加密系统;另一方面,基于Windows的加密技术,应用软件比较容易获得一个有着较完整保护机制的加密。Windows加密机制的架构设计也可以作为我们设计自己的加密系统的重要参考。

Windows加密系统有这样一些特性:

1.基于现代密码学理论;

2.与硬件安全机制结合;

3.与系统安全机制紧密结合;

4.符合Kerboros、SSL、IPSec等公开的通用安全协议规范;

5.支持附加的硬件,如智能卡,USBkey等;

6.符合很多国家和地区的法律法规要求,经过了美国、欧洲等国家权威机构安全认证;

7.提供应用软件编程接口(API),第三方应用软件可以调用Windows实现的基本加密函数,也可以直接利用windows的系统加密存储或者传输保护功能

8.支持扩展新的算法,各种加密硬件,一般都有windows驱动,支持windows的加密硬件,是最丰富的。

Windows系统加密功能一个缺点是,出口到北美以外地区的使用的算法不够强,NSA限制了其包含的加密算法强度。就连在其他国家和地区开发实现的加密软件包,如果需要微软签署以加入windows加密体制,都必须符合美国政府的出口限制策略,送到微软总部进行数字签名。这也是一些应用在windows平台使用OpenSSL等第三方加密软件包的原因之一。

尽管如此,对于一般商业用途,windows内置的加密软件包方便够用。Vista以后,美国政府在含有强加密算法产品出口策略上有所改变,像Suite B这样,达到美国政府和军队机密级别信息保护要求的算法套件,也被内置在Windows系统中。除非考虑NSA为对手,Windows内置的加密算法强度是足够的。在商用环境里,使用USB Key等扩展的加密硬件,一般是为了加强密钥保护或是提高加密性能。

Windows的加密能力的更多相关文章

  1. windows 磁盘加密

      windows 磁盘加密 CreateTime--2018年4月25日18:37:45 Author:Marydon 以win10为例 选中磁盘-->你会发现上面的管理BitLocker是置 ...

  2. windows端加密程序,lua代码,ZeroBrane调试

    发一个自己改的zerobrane版本(启动中文,快捷键改成和一样:F5启动调试,F9断点,F10逐过程,F11逐语句,F12跳出函数) 在zerobrane 1.0(2015.3.13)发布的基础上改 ...

  3. 扩展 Windows Azure 运营能力 – 巴西

    今天早些时候,在巴西圣保罗的一个活动上,我宣布了我们将在巴西设立一个 Windows Azure 区域数据中心的计划.我们希望该区域中心可以在 2014 年年初上线,并且我们很高兴地宣布将在未来 4 ...

  4. 无需软件windows如何加密文件夹

    在百部百科上看到,放在博客中以便查看. 1.首先打开记事本,当然如果你的电脑里装有类似notepad++的文本编辑软件的也可以,但是不能用word.用这类软件好处是代码高亮,看上去舒服,减少错误率. ...

  5. windows DPAPI加密解密学习

    #include "stdafx.h" #include <windows.h> #include <Wincrypt.h> #include <io ...

  6. Windows加密技术概述

    Windows加密是安全体系的重要基础和组成部分.现代CPU的保护模式是系统安全的硬件基石,基于CPU硬件的特权分级,Windows让自身的关键系统代码运行在高处理器特权级的内核模式,各种应用程序则运 ...

  7. (转)笔记320 SQLSERVER中的加密函数 2013-7-11

    1 --SQLSERVER中的加密函数 2013-7-11 2 ENCRYPTBYASYMKEY() --非对称密钥 3 ENCRYPTBYCERT() --证书加密 4 ENCRYPTBYKEY() ...

  8. CODING 代码资产安全系列之 —— 构建全链路安全能力,守护代码资产安全

    本文作者:王振威 - CODING 研发总监 CODING 创始团队成员之一,多年系统软件开发经验,擅长 Linux,Golang,Java,Ruby,Docker 等技术领域.近两年来一直在 COD ...

  9. 深度剖析Linux与Windows系统的区别

    当我们每个人接触Linux之前,应该先接触的都是windows吧?但我们一般接触Linux后,习惯linux的管理和使用方法后,我们再回过头再来使用windows的时候,内心其实是拒绝的.我们会觉得图 ...

随机推荐

  1. C#静态类 静态方法与非静态方法比较

    静态类 在类(class)上加入static修饰,表示该类无法被实例化,并将该类中,无法实例化变量或函数 静态类的主要特性 仅包含静态成员 无法实例化 静态类的本质,时一个抽象的密封类,所以不能被继承 ...

  2. go与c互相调用

    此例子来自于go源码中,借此来和大家分享一下两者如何调用,网上很多文章语言不详,也没有一个完整的测试例子 目录结构 首先src 目录下有 testcgowin目录下: 这里的_obj目录是cgo生成的 ...

  3. HTML4.0 需要掌握的主要内容

    常用标签: <html></html> 创建一个HTML文档 <head></head> 设置文档标题和其它在网页中不显示的信息 <title&g ...

  4. [转] Draw Call未被批处理?告诉你在Unity 5.6中如何查找原因 [复制链接]

    Unity在5.6之前的版本中并未提供很直接的方式来查找Draw Call未被批处理的原因,但Unity 5.6在Frame Debugger中新增了一项功能,帮助开发者查找相关信息.今天这篇文章就为 ...

  5. 通过get_FOO_display 查找模型中的choice值

    在django的models.py 中,我们定义了一些choices的元组,类似一些字典值,一般都是下拉框或者单多选框,例如 0对应男 1对应女等. class Area(models.Model): ...

  6. 老男孩Day10作业:主机管理程序

    一.作业需求: 1, 运行程序列出主机组或者主机列表 2,选择指定主机或主机组 3,选择主机或主机组传送文件(上传/下载) 4,充分使用多线程或多进程 5,不同主机的用户名,密码,端口可以不同 6,可 ...

  7. postgreSQL PL/SQL编程学习笔记(一)

    1.Structure of PL/pgSQL The structure of PL/pgSQL is like below: [ <<label>> ] [ DECLARE ...

  8. html基础知识,整理

    # HMTL 基础知识 ###查看网页源代码吗 ``` ctrl + u``` ###dom元素 一个标签即代表一个dom元素 ###dom元素属性 ``` <p id ="first ...

  9. 获取 stoken 或者id MVC写法

    //获取地址栏 painting_idvar painting_id = "{$_GET['painting_id']}"; var stoken = "{$_SESSI ...

  10. cmd命令窗口相关操作指南

    cmd命令窗口打开方式:win+R cmd 1.盘符切换 d: 回车 (d为磁盘名) 2.查看当前目录下的文件和文件夹 输入dir 3.进入指定目录(若需跨盘符操作,应先切换盘符) cd(空格)+绝对 ...