加密
加密使用代码转换数据,以便只有特定收件人可以使用密钥来读取数据。 加密强制实施隐私,以防止除预期收件人以外的任何人读取数据、确保数据完整性(确保数据不受篡改)以及验证身份的身份验证,以确保通信安全。 Windows 中的加密堆栈从芯片扩展到云,使 Windows、应用程序和服务能够保护系统和用户机密。
Windows 中的加密是联邦信息处理标准 (FIPS) 140 认证。 FIPS 140 认证确保美国政府批准的算法 (RSA 进行签名,将 ECDH 与 NIST 曲线用于密钥协议,使用 AES 进行对称加密,将 SHA2 用于哈希) ,测试模块完整性,以证明未发生篡改并证明其随机性。
Windows 加密模块提供低级别基元,例如:
- 随机数生成器 (RNG)
- 对称和非对称加密 (支持 AES 128/256 和 RSA 512 到 16384,增量为 64 位,ECDSA 超过 NIST 标准质曲线 P-256、P-384、P-521)
- 哈希 (对 SHA-256、SHA-384、SHA-512 和 SHA-3*)
- OAEP、PSS、PKCS1) 的签名和验证 (填充支持
- 关键协议和密钥派生 (支持 ECDH over NIST 标准质曲线 P-256、P-384、P-521 和HKDF)
这些模块通过加密 API (CAPI) 和由 Microsoft 的开源加密库 SymCrypt 提供支持的加密下一代 API (CNG) 在 Windows 上本机公开。 应用程序开发人员可以使用这些 API (BCrypt) 执行低级别加密作、 (NCrypt) 的密钥存储作、 (DPAPI) 保护静态数据,以及安全地 (DPAPI-NG) 共享机密。
*在此版本中,我们添加了对 SHA-3 系列哈希函数和 SHA-3 派生函数的支持, (SHAKE、cSHAKE 和 KMAC) 。 这些是美国国家标准与技术研究院 (NIST) 的最新标准化哈希函数,可通过 Windows CNG 库进行利用。 下面是支持的 SHA-3 函数的列表:
支持的 SHA-3 哈希函数:SHA3-256、SHA3-384、SHA3-512 (SHA3-224 不受支持) 支持的 SHA-3 HMAC 算法:HMAC-SHA3-256、 HMAC-SHA3-384、HMAC-SHA3-512 支持的 SHA-3 派生算法:扩展输出函数 (XOF) (SHAKE128、SHAKE256) 、可自定义的 XOF (cSHAKE128、cSHAKE256) 和 KMAC (KMAC128、KMAC256、KMACXOF128、KMACXOF256) 。
证书管理
Windows 提供了多个 API 来作和管理证书。 证书对于公钥基础结构 (PKI) 至关重要,因为它们提供了保护和验证信息的方法。 证书是用于声明公钥所有权的电子文档。 公钥用于证明服务器和客户端标识、验证代码完整性,并在安全电子邮件中使用。 Windows 使用户能够使用 组策略 在 Active Directory 中自动注册和续订证书,以降低由于证书过期或配置错误而导致的潜在中断风险。 Windows 通过自动更新机制验证证书,该机制每天下载证书信任列表 (CTL) 。 受信任的根证书由应用程序用作可信 PKI 层次结构和数字证书的参考。 受信任证书和不受信任的证书列表存储在 CTL 中,可由管理员更新。 在证书吊销的情况下,证书在 CTL 中添加为不受信任的证书,导致该证书立即跨用户设备全局吊销。
Windows 还提供企业证书固定功能,使用户能够保护其内部域名,使其不链接到不需要的证书,从而帮助减少中间人攻击。 将检查 Web 应用程序的服务器身份验证证书链,以确保它与一组受限的证书匹配。 任何触发名称不匹配的 Web 应用程序都启动事件日志记录,并阻止用户访问 Microsoft Edge。