当前位置: 首页 > news >正文

Office 2010 中的数字签名

大家好,可信计算安全团队向各位介绍 Office 2010 中数字签名的一些新增功能。首先,我将简要说明什么是数字签名以及如何使用数字签名,然后将详细介绍数字签名在 Office 2010 中的工作原理。

什么是数字签名?

现在,越来越多的商业交易以电子方式开展。因此,为了从法律上保证信赖方履行交易义务,数字签名的使用越来越广泛。数字签名用于验证签署文档的用户的身份,并确认将数字签名应用于文档后内容未经修改。数字签名提供基于加密技术的安全性,并帮助缓解与电子业务交易相关的风险。通过对数字签名的改进,Office 可以满足全球企业和公共部门实体的信息安全需要。

要创建数字签名,必须具有数字证书,数字证书用于向信赖方证明您的身份,您应该从可信的证书颁发机构 (CA) 获得该证书。如果您还没有数字证书,可在 Office 市场中获得 Microsoft 合作伙伴提供的数字证书以及集成到 Office 中的其他高级签名服务。

插入数字签名

在 Word、Excel 和 PowerPoint 2010 中,可以通过转到 Office Backstage 视图添加数字签名:

图像

在 Word、Excel 和 InfoPath 中,可以通过转到“插入”(Insert) 选项卡添加签名行或签名图章:

图像

签名行的外观如下:

图像

签名图章(通常在东亚地区使用)的外观如下:

图像

签名在 Office 中的工作原理

Office 2007 及其更高版本使用称为 XML-DSig 的开放式签名标准,它取代了 Office 2003 以及更早版本中不太完善的二进制签名。符合 XML-DSig 标准的签名采用用户通常可读的 XML 格式。有关 XML-DSig 的详细信息,请参阅 http://www.w3.org/Signature。

Office 2010 数字签名可以使用 Windows Vista 以及更高版本中支持的高级算法(如椭圆曲线公钥算法)。所有受支持的操作系统还允许使用更可靠的哈希算法,如 SHA-512。

数字签名的最紧迫问题是您使用的证书将过期(通常在一年之内)。证书过期后,任何人都不会信任该签名。如果希望能在更长的时间段内信任签名,必须保存验证证书所需的信息的副本。可能还需要考虑加密过时的问题。

幸运的是,对 XML-DSig 标准的扩展 ( XAdES) 中提供了这些问题的解决方案。

什么是 XAdES?

XAdES(XML 高级电子签名)是 XML-DSig 的一组分层扩展,它分为多个级别,每个级别都在上一级别的基础上构建以提供越来越可靠的数字签名。

通过实施 XAdES,Office 将符合 1999/93/EC 指令中的欧盟高级电子签名标准,以及将 XAdES 定义为巴西公认数字签名标准的一项巴西政府新指令。

Office 2010 可在 XML-DSig 签名基础上创建不同级别的 XAdES 签名:

包含不同类型的数字签名级别的表。如果您看不到该图像中的信息,请发送电子邮件至 OffTeam@microsoft.com,只请求支持该文章的基于文本的信息。谢谢。

Office 2010 Beta 只能创建 XAdES-T 签名以及更低级别的签名,但是 Office 2010 RTM 能够创建上表中的所有签名。

时间戳数字签名(XAdES-T 签名)是 Office 2010 中着重考虑的重要方案。为了创建时间戳签名,您将需要:

  • 设置符合 RFC 3161 的时间戳服务器。
  • 配置签名策略以使客户端系统了解时间戳服务器的位置。您还需要将时间戳服务器的根证书添加到根证书存储中。

配置完成后,即可按照通常使用的方式创建签名。受信任时间戳服务器中的时间戳可以延长签名的有效期,这是因为即使证书过期,时间戳仍可以证明在签署时证书未过期。因此,时间戳有效解决了证书过期问题,即使应用签名后证书被吊销,签名仍然有效。

在 Office 2010 RTM 中创建 XAdES 签名

默认情况下,Office 2010 创建 XAdES-EPES 签名,并使用注册表设置指定要创建的签名的级别。有两个用于控制 Office 创建的签名类型的注册表设置:XAdESLevel 和 MinXAdESLevel。

包含不同类型的数字签名级别的表。如果您看不到该图像中的信息,请发送电子邮件至 OffTeam@microsoft.com,只请求支持该文章的基于文本的信息。。谢谢。

包含不同类型的数字签名级别的表。如果您看不到该图像中的信息,请发送电子邮件至 OffTeam@microsoft.com,只请求支持该文章的基于文本的信息。。谢谢。

通过 MinXAdESLevel 设置,您可以确保创建的签名符合所需的 XAdES 级别。如果时间戳服务器不可用,XAdES-T 或更高级别的签名将失败;如果吊销信息不可用,XAdES-C 或更高级别的签名将失败。如果具有最低设置,您就可以尝试创建 XAdES-X-L 签名,但如果时间戳服务器停机,则将回退到 XAdES-EPES。

要创建 XAdES-T 签名以及更高级别的签名,需要为 Office 提供时间戳服务器以便查询时间戳:

包含不同类型的数字签名级别的表。如果您看不到该图像中的信息,请发送电子邮件至 OffTeam@microsoft.com,只请求支持该文章的基于文本的信息。。谢谢。

有关 XAdES 签名的建议

如果要创建 XAdES 签名,建议使用下列三种级别之一:

  • XAdES-EPES — 此设置为默认设置,因为创建这种签名的要求与创建普通 XML-DSig 签名的要求相同,没有其他要求。
  • XAdES-T — 此设置要求提供符合 RFC 3161 的时间戳服务器,并且将 Office 配置为使用该服务器。如果具有时间戳服务器,应该将 XAdES-T 配置为默认设置。
  • XAdES-X-L — 如果具有时间戳服务器并且需要包含完整的吊销和证书链信息的签名,请使用此设置。

示例:

Sam 要创建 XAdES-X-L 签名。如果无法实现,他可以接受的签名级别最低为 XAdES-T。他进行了如下设置:

  • XAdESLevel = 5(他请求建立 XAdES-X-L)
  • MinXAdESLevel = 2(他可以接受的签名类型最低为 XAdES-T 签名)

在本示例中,Office 会尝试创建 –X-L 级别的签名。如果 Office 无法创建 XAdES-X-L 签名,Office 会回退到上次成功创建的 XAdES 级别,条件是该级别不低于 MinXAdESLevel。在本示例中,如果 Office 无法创建 XAdES-X-L 签名,XAdES-T、XAdES-C 和 XAdES-X 签名也是可以接受的。否则,Office 不能添加签名。

在 Office 2010 Beta 中创建 XAdES 签名

如前所述,Office 2010 Beta 只能创建 XAdES-T 及更低级别的签名,这是因为我们在 Beta 之后的版本中才添加了其余的 XAdES 签名。上面介绍的 XAdESLevel 注册表设置仍然适用,但是最高级别为 2 (XAdES-T)。MinXAdESLevel 设置不存在,但是只能创建两种类型的 XAdES 签名 — 包含时间戳的签名和不包含时间戳的签名,具体由 TimestampRequired 设置(该设置在 RTM 版本中不存在)控制。

包含不同类型的数字签名级别的表。如果您看不到该图像中的信息,请发送电子邮件至 OffTeam@microsoft.com,只请求支持该文章的基于文本的信息。。谢谢。

要创建 XAdES-T 签名,您还需要设置 TimestampRequired(请参阅下面的说明)和 TSALocation(请参阅上面的说明):

包含不同类型的数字签名级别的表。如果您看不到该图像中的信息,请发送电子邮件至 OffTeam@microsoft.com,只请求支持该文章的基于文本的信息。。谢谢。

XAdES 功能是 Office 2010 中的众多安全增强功能之一。感谢您阅读这篇文章,我们期待着您的反馈!

转载于:https://www.cnblogs.com/chinatechnet/archive/2010/03/18/1689319.html

相关文章:

  • OpenJ_Bailian - 2995-登山(两遍最长上升子序列+枚举顶点)
  • 今天还好
  • HDU - 1261-字串数 (排列组合+大数)
  • 【CSDN博客之星评选】我为什么坚持写博客
  • php io
  • 音视频学习之 - 基础概念
  • 注册“Oracle Provider for OLE DB”和创建链接服务器
  • SpringBoot Admin 使用指南
  • HDU-6608-Fansblog(威尔逊定理+快速乘)(多校)
  • scanf函数的返回值问题
  • 图论基本模板总结
  • 线性表完整代码
  • ELKB安装配置及近实时搜索案例分析-搜索系统线上实战
  • 面向对象之高级篇 反射,元类
  • F5 BIG-IP – Useful SNMP oids to monitor
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • JSDuck 与 AngularJS 融合技巧
  • JS题目及答案整理
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Node项目之评分系统(二)- 数据库设计
  • NSTimer学习笔记
  • python大佬养成计划----difflib模块
  • spring boot下thymeleaf全局静态变量配置
  • 成为一名优秀的Developer的书单
  • 高性能JavaScript阅读简记(三)
  • 技术胖1-4季视频复习— (看视频笔记)
  • 解决iview多表头动态更改列元素发生的错误
  • 京东美团研发面经
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 前端知识点整理(待续)
  • 使用Gradle第一次构建Java程序
  • 我建了一个叫Hello World的项目
  • 写代码的正确姿势
  • 源码安装memcached和php memcache扩展
  • ionic异常记录
  • 如何在招聘中考核.NET架构师
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​iOS安全加固方法及实现
  • #13 yum、编译安装与sed命令的使用
  • #HarmonyOS:软件安装window和mac预览Hello World
  • $.ajax()参数及用法
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (arch)linux 转换文件编码格式
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (Note)C++中的继承方式
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (全注解开发)学习Spring-MVC的第三天
  • (三)终结任务
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)程序员技术练级攻略
  • .gitignore文件_Git:.gitignore
  • .htaccess 强制https 单独排除某个目录