路径: 主页 > MISC > 第118页 > GM/T 0099-2020
| 标准编号 | GM/T 0099-2020 (GM/T0099-2020) | | 中文名称 | 开放式版式文档密码应用技术规范 | | 英文名称 | Cryptography application technical specification of open fixed layout documents | | 行业 | Chinese Industry Standard (推荐) | | 中标分类 | L80 | | 字数估计 | 25,241 | | 发布日期 | 2020-12-28 | | 实施日期 | 2021-07-01 | | 标准依据 | 国家密码管理局公告第41号 | | 发布机构 | 国家密码管理局 |
GM/T 0099-2020: 开放式版式文档密码应用技术规范
GM/T 0099-2020 英文名称: Cryptography application technical specification of open fixed layout documents
中华人民共和国密码行业标准
开放式版式文档密码应用技术规范
国家密码管理局 发 布
1 范围
本文件规范了采用密码技术对开放式版式文档进行签名、加密及完整性保护等相关内容。
本文件适用于指导开放式版式文档密码应用相关产品和系统的研发、使用和检测。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文
件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于
本文件。
GB/T 20518 信息安全技术 公钥基础设施 数字证书格式
GB/T 20520 信息安全技术 公钥基础设施 时间戳规范
GB/T 32905 信息安全技术 SM3密码杂凑算法
GB/T 32907 信息安全技术 SM4分组密码算法
GB/T 32918(所有部分) 信息安全技术 SM2椭圆曲线公钥密码算法
GB/T 33190-2016 电子文件存储与交换格式 版式文档
GB/T 35275 信息安全技术 SM2密码算法加密签名消息语法规范
GB/T 35276 信息安全技术 SM2密码算法使用规范
GB/T 38540-2020 信息安全技术 安全电子签章密码技术规范
3 术语和定义
GB/T 33190-2016、GB/T 38540-2020界定的以及下列术语和定义适用于本文件。
5 密码应用机制
OFD是将文字、图形、图像等多种数字内容对象按照一定规则进行版面固化而呈现的电子文档格
式,是我国制定的开放格式标准,也是国家电子文件管理的基础文件格式之一。
OFD采用“容器+文档”的方式描述和存储数据,文档的内容由ZIP包内的多个文件共同决定,
OFD存储逻辑结构如图1所示。
OFD采用“容器(ZIP)+文档(XML)”的文件存储结构,其ZIP包内主要包括OFD基本信息及组
织结构描述文件、OFD页面和OFD密码应用相关文件等。
一个OFD文件内可能包含一个或多个文档,一个OFD文档有一个或多个OFD页面。页面内容
可能由模板、内容和注释组成,分层组织。模板层与内容层主要包括文字、图形、图像及其他类型等图元
内容,两类图层之间共享资源文件。注释可多层添加,主要包括常规图文注释、专用注释、手写签批和签
章等内容,注释内容的资源文件独立。
OFD文档可进行多次签章、签名或加密,其信息采用对应的描述文件集进行记录。签名描述文件
集包括一个签名列表文件和若干组签名描述文件及其签章数据。加密描述文件集包括一个解密入口文
件和若干组映射表及密钥描述文件。OFD文件可包含完整性保护文件,用于防止在压缩包内夹带其他
内容。
上述包内描述文件大都采用XML格式,部分资源本体文件和签章数据、密钥描述文件采用二进制
格式描述。
真实性和不可否认性保护时,可根据OFD签名协议针对DOC_N中OFD页面进行单次或多次签
名,所有签名相关的内容都保存在签名文件夹Signs中。签名列表文件(Signatures.xml,见 GB/T
33190-2016的18.1)用于描述Doc_N中所有签名构成的签名列表。Sign_N文件夹用于保存放每次签
名生成的签名文件(Signature.xml,见GB/T 33190-2016的18.2)和签名值数据(signedvalue.dat)。签
名文件用于描述签名类型、签名保护范围、签名方案、签名值数据文件路径等内容。
机密性保护时,可根据OFD加密协议针对OFD中包含关键信息的描述文件或其他关键资源进行
局部加密,或者对OFD文档涉及的所有包内文件进行整体加密。加密生成的解密入口文件(Encryp-
tions.xml,将在OFD2.0中增补)保存在OFD根目录下。解密入口文件用于描述加密操作简要信息、
加密方案、明密文映射表(EntriesMap.xml或entriesmap.dat)和密钥描述数据(decryptseed.dat)文件路
径等内容。
完整性保护时,可根据 OFD完整性保护协议针对整个ZIP包进行保护,生成的完整性描述文件
(OFDEntries.xml,将在OFD2.0中增补)保存在OFD根目录下,描述支撑文件完整性的包内文件列
表、签名方案、保存的签名值等内容。
上述三种密码应用相关文件共同作用,保证 OFD在存储和传输过程中的机密性、完整性、真实性
和不可否认性。
6 密码应用要求
OFD的密码应用的目标是保证文件的机密性、完整性、真实性和不可否认性。
OFD使用密码机制进行安全保护时,应保证各次的操作人对操作行为的不可否认,各层的独立成
像效果和叠加后的成像效果真实有效,针对有机密性保护需求的内容应保证其机密性,同时还应保证
OFD文件自身的完整性。
保证页面的机密性,应采用对关键信息描述文件进行加密的方式;保证页面及页面叠加效果的真实
性和完整性,保证页面操作人对操作行为的不可否认,应采用操作者签名私钥对各页面所有描述文件进
行数字签名的方式;保证OFD的完整性,应按OFD标准构建包内有效文件列表,并采用OFD文件操
作者的签名私钥对该列表进行数字签名的方式。
7 密码应用协议
7.1 概述
OFD的安全性由签名、加密和完整性保护三个协议共同保证,分别保护文件的真实性和不可否认
性、机密性、完整性。三个协议的入口及对象描述部分属于GB/T 33190的内容(附录),协议中涉及到
对数据进行摘要、加密等变换的机制和数据结构是本标准的内容。
在本标准中,对文档进行签名和加密运算时,使用的签名和加密方案标识及对应的相关内容见附
录A。
7.2 OFD签名协议
7.2.1 协议描述
OFD签名协议用于保证OFD文档的真实性和签名人对签名行为的不可否认性。签名操作后将在
OFD文件内形成新的签名文件和签名值数据,同时在签名列表中增加新形成的签名文件记录。
OFD签名存在两种类型:
a) 电子签章;
b) 数字签名。
OFD签名类型存储在签名列表文件(Signatures.xml)中各Signature节点的Type属性中。
7.2.2 数据格式要求
因OFD签名操作产生的签名文件和签名列表应符合GB/T 33190-2016中第18章的要求。为支
持多种签名类型和自定义参数,签名文件应进行如附录B所示的扩展。
因OFD签名操作产生的签名值的数据格式要求如下:
a) 签名类型为电子签章时,签名值数据应遵循GB/T 38540-2020;
b) 签名类型为数字签名且签名算法使用SM2时,签名值数据应遵循GB/T 35275;
c) 签名类型为数字签名且签名算法为其他时,签名值数据应遵循该算法对应的数据值规范。
7.2.3 密码算法要求
OFD签名对密码算法的要求如下:
a) 签名算法使用SM2时,应遵循GB/T 32918(所有部分)和GB/T 35276;
b) 杂凑算法使用SM3时,应遵循GB/T 32905。
7.2.4 数字证书要求
用于OFD签名的数字证书要求如下:
a) 证书中使用的算法应采用国家密码管理主管部门核准的算法;
b) 使用基于SM2算法的证书时,应遵循GB/T 20518;
c) 使用其他算法的证书时,应符合国家密码标准和行业标准的要求。
7.2.5 时间戳要求
OFD签名对时间戳的要求如下:
a) 签名值可包含时间戳;
b) 签名值包含时间戳时,则时间戳格式和使用应遵循GB/T 20520。
7.2.6 签名流程
OFD数字签名流程要求如下:
a) 确认参与签名的文件列表;
b) 根据签名方案,调用杂凑算法分别计算每个文件的杂凑值;
c) 见附录B所示的数据结构,组装签名文件;
d) 调用杂凑算法计算签名文件的杂凑值;
e) 根据签名方案,使用操作人签名私钥对杂凑值进行数字签名或电子签章;
f) 将签名值数据写入签名文件中。
7.2.7 验签流程
验证签名流程如下:
a) 根据签名文件中的签名方案,调用杂凑算法计算签名文件的杂凑值;
b) 根据签名文件中的签名方案,结合步骤a)所得的杂凑值进行签名验证或签章验证,签章验证
流程遵循GB/T 38540;
c) 根据签名文件中的签名保护范围,逐个读取OFD文件包内的文件内容,计算杂凑值并与签名
文件中的记录值做比对。
7.3 OFD加密协议
7.3.1 协议描述
OFD加密协议用于保障OFD文档中关键图形、图像、文字、印章等内容的机密性,其方案在OFD2.0
规范中描述,见附录C。每次加密操作后将在OFD文件内形成新的映射表和密钥描述文件,同时在解
密入口文件中增加新形成的加密操作记录。
OFD支持以下两种加密方式:
a) 口令加密;
b) 证书加密。
7.3.2 数据格式要求
OFD采用“XML+ZIP”的格式架构,文档的内容由ZIP包内的多个文件共同决定。可根据需要对
不同的包内文件进行加密,实现文档局部或整体加密功能。
加密保护文件的数据结构和内容说明见附录C。
7.3.3 密码算法要求
OFD加密的算法要求如下:
a) 加密方案应符合国家密码管理主管部门的要求;
b) 加密算法采用SM2时,遵循GB/T 32918(所有部分)和GB/T 35276;
c) 加密算法采用SM4时,遵循GB/T 32907;
d) 加密算法采用其他算法时,应符合国家密码标准和行业标准的要求。
7.3.4 加密流程
根据加密方案进行文件加密。流程如下:
a) 生成用于ZIP包内文件加密的对称密钥;
b) 根据加密方案,使用步骤a)生成的文件加密对称密钥调用对称密码算法加密包内文件并写入
ZIP包内;
c) 根据加密方案,对已经生成密文的明文文件进行处理,部分写入ZIP包;
d) 组装明密文映射表文件,根据加密方案对其进行加密后或直接写入ZIP包;
e) 组装加密入口文件,明文写入ZIP包;
f) 根据加密方案,对文件加密对称密钥进行密钥包装或非对称加密生成文件对称加密的包装
密钥;
g) 如果电子文件访问者为多人,则重复7.3.4的步骤e);
h) 组装密钥描述文件,并写入ZIP包。
7.3.5 解密流程
根据加密方案进行文件解密。流程如下:
a) 根据电子文件访问者身份从密钥描述文件的加密信息中获取文件对称加密的包装密钥;
b) 根据电子文件访问者身份,要求输入口令或读取用户私钥对文件对称加密的包装密钥进行解
密,获取文件对称加密密钥;
c) 调用对称算法解密明密文映射表文件;
d) 根据文档解析流程,调用对称算法解密包内密文并用于OFD软件处理。
7.4 OFD完整性保护协议
7.4.1 协议描述
OFD完整性协议用于保证OFD文档自身的完整性。通过OFD完整性保护文件,可以检测OFD
是否存在非法夹带。
7.4.2 数据格式要求
OFD的完整性保护信息使用XML文件描述。完整性保护文件中应记录OFD文件内与文档内容
相关的所有包内文件。应对完整性保护文件实施带有时间戳的数字签名。
完整性保护文件的数据结构和内容说明见附录D。
7.4.3 密码算法要求
完整性保护要求如下:
a) 完整性保护使用的签名方案,应符合国家密码标准和行业标准的要求;
b) 签名算法采用SM2时,遵循GB/T 32918(所有部分)和GB/T 35275;
c) 杂凑算法采用SM3时,遵循GB/T 32905;
d) 签名算法采用其他算法时,应符合国家密码标准和行业标准的要求;
e) 杂凑算法采用其他算法时,应符合国家密码标准......
|