GB_T 17902.1-2023 信息技术 安全技术 带附录的数字签名 第1部分:概述.docx
ICS35.050CCSI.XOG日中华人民共和家标准GBZT17902.12023/ISO/IEC14888-1:2008代,CBT17902.11999信息技术安全技术带附录的数字签名第1部分:概述Informationtechno1.ogySecuritytechniquesDigita1.signatureswithappendixPart1.Genera1.(ISO/IEC14888-1:2008,1DT)2023T001实施2023-03-17发布国家市场监督管理总局国家标准化管理委员会前古III引言IV1范围12斑数性引用文件13术语和定义I4符号、惯例和图例35通则46通用模型47签名机制和杂凑函数绑定方式的选项58密钥生成59签名过程5IO验证过程7附录A(资料性)关于杂凑函数标识符8参考文献9本文件按照GB,T1.120204标准化工作导则第1部分:标准化文件的结构和起草规则3的规定起草.本文件是GBJT17902£信息技术安全技术带附录的数字签名的第1部分,GBT17902已羟发布了以下部分;第1部分:概述:-第2部分:基于身份的机制: 第3部分;范于证书的机制。本文件代替GB/T17902.11999信息技术安全技术带网录的数字签名第1部分:梅AJJGBrr17902.11999比除结构调整和编版性改动外,要技术变化如下:一一将原“概述”部分调整至第5章(见第5章,1999年版的笫3a); 删除了“赋忙“无鼬J瞰列函数”“确定性的”“放列IE标”“做列ft姆“偿名”“西机化”随机(ft""签名方程”“签名函数”及“献值”等术语(见1咽年版的第嶂),增加了“抗碰揄朵漆函数”“妣元”域”杂图寸”环广及“消息”等术语(见第3章); »赊了“i三计算的数列权标”嘴融f的部分消息”"赋做”“预答名”重新计算的顼器名”等符号以及“比较”的图例(见1999年版的第5章,增加了“可选数据”的图例(见儿3),并增加了“惯例”内容(见4.2); 增加了“签名机制和杂澳函数的绑定选项”一章,描述了签名机制和杂凑函数绑定的几类选项(见第7章); 将签名过程内容合并至笫9章,并用通用模型,统一描述现存机制,较原内容更具有普适性(见第9章,1999年版的第8章、第9章);将脸证过程合并至第ICI率,井更新了通用模型描述现有机制,我原内容更具有普适性(见第10章,1999年版的第9章)。本文件等同等用ISO/IEC14888-1:2008信息技术安全技术带附录的数字签名第I部分:颐。本文件做了下列m小限度的煽辑性改动: 第10章验证签名部分刷加了注,便于理解.请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的货任本文件由全国信息安全标准化技术委员会(SAcTC260)提出并归口。本文件起草单位:中国科学院软件研究所、成都卫士通信总产业股份有限公司、北京数字认证股份有限公司、中国电子技术标准化研咒院、中国信忠遹信研究院.本文件主要起草人:弓娥峰、何双羽、E1.yat、白J1.飙、掷春亮、张立廷、王现方、博大鹏.王惠莅、王格.本文件及其所代首文件的历次版本发布情况为: 1999年首次发布为GB,T17902.11999: 本次为笫一次修订。数字筌名机制是一类非对称密码机制,被广泛用于实体鉴别、数据来源鉴别、数据完整性和抗抵赖服务.有两种数字签名机制:若在验证过程中,种要消息作为输入的一部分,则此类称为“带附录的数字签名",附录计算需要使用柴流函数:若在舱证过程中,披露全部或是部分消息,则此类机制称为“带消息恢友的数字签名“,签名生成和验证也会使用到条设函数,带附录的数字签名在GB/T17902中进行了规范,带消息快发的数字签名在ISO10118中进行了规范.杂凑函数则是在GBT18238(所有部分)中进行了规范.GBT17902M信息技术安全技术带附录的数字卷名?由三个部分组成.第1部分:概述。目的在于规范通用的带附录数字签名的条体框架和通用模型。第2部分:基于身份的机制.目的在于规范基于身份的潜附录数字维名机制.第3部分:基于证书的机制.目的在于规范拓于证书的数字签名机制,信息技术安全技术带附录的数字签名第1部分:概述1CTGB,T17902规定了几种对任意长度消息进行签名的带附录的数字签名机制.本文件包括带附录的数字签名的一般原理与要求,同时也包括GB门,17902各部分用到的定义与符号。证书和密的管理等相关技术不在本文件的规范范围内.更算此类怕恩见GB,T16264.8-25(2.ISQ'IEC11770-38以及ISOnEC15945:2002(9).2爆范性引用文件本文件没有规范性引用文件。3*WWX下列术语和定义适用于本文件.3.1附录appendix由签名和一个可选文本字段构成的比特串。32抗硬票决函数co1.1.ision-resistanthash-function抗幽H例的数满足如下性质的杂凑函数:找出映材到同一输出的任何两个不同输入在计算上不可行.注:计算是否可行依赖于具体的安全甯求格丽想柬政:ISO,IECIO11S-1.2O16133数据元datae1.ement整数.比特串、整数集合或比特小集合。3.4域domain在唯一安全策略下运行的一组实体.示例:由单-机构或飒打时安全策略的机内创建的公慵正书.35域参数domainparameter对域中所有实体都是公共的且已知或可访问的数据元.杂SMhash-code散列码朵凑函数输出的比特串.来源;ISO1.EC10118-1:2OI63.3J3.7余法函数hash-fxncticn散列函敷将任意比特率映射到固定长度比特小的函数,满足下面两个特征:一对于给定猫出,找舟唉射为该帖出的输入.在计算上是不可行的:对于给定输入,找出映射为同输出的第:个输入,在计算上是不可行的.注I:计算上的可行作取决利疑安全要求ff1.环卷注2:该条次函数的定义也被称为单向柴黑函数。来源:IS。,1IEC10118-1:2016.3,43.8标识CdSidcnti11cuti(mdata分足给某一实体,用于对我标识的数据元序列(包括实体的可区分标识符.&标识数据蹴外包含数据无例如,签名过程标识符、签名密例标识符、签名轴Hi效期、时密钥用法的限制、关联的安全策珞参数、密物系列号或域参数.3.9三<RMkeypair由一个签名密初和一个骗证诙钥组成的对,即:卷名密钥是完全或部分保密的、只由被签名者使用的数据元集合:-验证密钻是能终完全公开、供任何验证者使用的数据元集合.3.10消息BeSSaee任意长度的比特串.3.11弁数parameter整数、比特串或杂语函数。3.12签名SigmHure锭名过程产生的一个或多个数据元。3.13笈名富娟signaturekey签名过程中实体所特有的且只能由该实体使用的私有数据元集合.注:有时在其他标ift中也被称为“私有签名密钥”,例如ISOn3C97%2GBT158513和IsCHEC9T98*3.14签名过程signatureprocess以消息、签名密钥和域参数作为输入,给出签名作为输出的过程.3.15已签消息SiRnedmessage由笈名、无法从签名恢及的消息部分和一个可选文本字段组成的一组数据元.注:在本文件中,整个消息被包含在已签消息中并且消息的任何官盼郴H纵签约I帙复.3.16IE声的verificationkey在数学上与实体的签名密钥相关,并由5金证方在5金证过程中使用的公开数据元集合.注:在其他标准中也被称“公开骁证密钥",例如ISQ1.EC97%ZGBTI585I3JSQ1BC9798-3.3.17殴证过程VerinCaUOnprocess输入签名消息、脸证密钥和域参数,添出签名验证结果(有效或无效)的过程。4m.Rm4.1 m1:列符号适用于GB"17902的所有部分。H杂凑码K随机数发生零M消息R签名的第一部分注,R也被称为证据“R柬新计算的签名第一部分S签名的第二部分X签名密钥Y验证密钥Z域参数集合签名AIIKK1.N在0到N-I中的唯整数B,使得N能整除A-B=B(nodN)整数A与整数B模N相等,即(A-B)modN=O4.2 慎例在GBjT17902所有部分中的整数(或位、字节)以最左侧为最高有效位.4.3 m下列图例适用FGB门'17902的所有部分。数据可选数据过程主过程.可选主过程丁二数据流-一可选数据流-另一个可选数据流_两条数据流,其中至少一条是必备的5GB.T17902描述的机制法于非对称密码技术。非对称数字签名机制由以下三个地本操作祖成。a生成密切时的过程,称为密钥生成过程。每一个密钥对都由一个签名率初和对应的一个验证密钥纲成.b)使用签名密钥签名的过程,也被称为签名过程:D对一个给定消息和签名密钥,若然得两个相同签名的概率是可忽略的,则称运算是概率性的:2)对一个给定消息和签名密的,生成的所有签名掷相同,则称运算是确定性的.0使用验证密钥验证签名的过程,也被称为验证过程.骁证一个数字签名需要使用签名者的验证密钥,因此,登证者要能将正确的验证密钥与签名者关联起来,或是翌和签名者的(部分)标识数据关联起来,这种关联由验证密钥自身提供的,称这种机制是“基于号份的”这种关联由包含验证玄钥的证1$提供,这种机制被称为“基于证书的”.6MMfi帚附录的数字签名机制包含以下过程:密钥生成过程:签名过程:验证过程.在签名过程中,签名者对一个给定的消息计算数字签名,这个数字签名和一个可选的文本字段构成附录,冏录附加在消息上形成己签消息,如图1所示。Mm茨幺文本tBB1.已翻!息根据实际应用,有多种生成附录井附加在消息上的方法。这些方法能使粉证者将消息和正确签名关联起来。骁证者在验证签名之前,获汨签名时应的正确的答名骆证密钥。这对于成功验证签名非常R要,可选的文本字段可用于向验证者传递签名者的标识数据,或是用于卷别验证密饱信息的数据.某些情况下,签名者的标识数据可作为消息M的一部分,以获得签名的保护,数字签名机制应满足以下的要求:a)只给定验证密钥,而不给定签名密钥,产生任一消息的有效签名在计算上是不可行的:b)签名者产生的签名不能用于生成新消息及其对应的有效签.名,也不可用来恢复签名密钥:C)找到签名相同但内容不同的两个消息在计编上是不可行的,即使对签名者在计算上也是不可行的。注:计算上的可行性依梗于用户的具体安全要求和环境7签名机和菸函敷审定方式的渔事使用本文件中的数字签名机制需要选择一个抗碰撞杂凑函数.在使用中应物条凑函数与签名机制绑定使用。否则,攻击者可使用一个弱杂凑函数(不是实际使用的)伪造锭名。已有一系列方式实现此类绑定.以下方法按照伪造签名风险从低到高排列。a)当使用特定签名机制时要求使用特定的杂法函数。在签名脸证过程中应只使用此杂次函数“b)允许使用一套杂凑函数.在证书的城参数里明确指定使川的杂次函数.在证书管理域内.脸证者在签名脸证过程中只使用证H指定的杂凑函数进行签名购证.但是在域外,公因为证书机构不遵循用户的策略而产生风险,例如,域外的证书机构签发一个允许使用其他杂流函数的证书,签名伪造的问题可能出现,在这种情况卜I一个被误导的脸证者将无法确定采用何种杂凑函数进行验证.O允许使用一组可选的杂凑函数,并通过除b)之外的方式指定使用物一个杂凌函数.例如.通过消息或是双方怫商指定杂凌函数.物证过程应只使用由该方式指定的杂次函数.然而.存在攻击者通过使用其他杂凑函数伪造签名的风哙(具体攻击方法见附录A)。注:在c)迩及的“除b>Z外的方式”包括通过朵凑函数标识符的方式.余凑函数标识符与杂流网肱成余设令睥包含在签名中.在此方式下,即使验i正者接受的签名使了的朵泓函数傩脚通过朵凑玛!捌对应输入的杂魂函却,对于不同的消息,攻击者也不能重用这个笈名.但是,正如参考文献中所述(见附录A)I使用该类弱杂次函数,攻击者依然能修通过计对包命!谶杂凑函数标识符的黑名,才四对应的消息.数字签名机制的用户宜嫁合考虑不同绑定方式的技术优势和开销,进行风险评估。风险评估还宜考虑伪造签名的开镣8数字签名机制的密钥生成过程包括以下两个步探:a)生成域参数:b)生成签名密钥和物证密钥.第一个步骤只在建立域时执行一次,第二个步骤,计时域内的年个签名者分别执行,密钥生成过程的输出是签名密钥X和验证密钥Y,对于一组指定的域参数,避免X的值与之前使用的假相同.&域等散用够钊的有效性验证不在木义伟懒定颌J内,9签名过程am签名过程衢要以下数据元:一-域参数集合Z:签名密钥X:消息M;杂漆函数标识符hid(可选):其他文本t(可选).杂泌困数的标识符能泌用于绑定签名机制和杂漆函数,具体内容见第7收。带网录的数字签名机制的签名过程由以卜步骤组成:计算签名:构建附录:构建已签消9.2计算筌名该过程的输入为消息M.签名密优X以及城参数集合Z.输出为签名Z,由第部分R和第二部分S如成,第二部分是否存在取决于签名机制,见图2.附录由签名和可选文本字段构成.记为(2,t).文本字段可包含一个证书,该证书的作用是用密码机制关联验证密钥和彩名者的标识数据,注:根据应用的的司,附录彳侈种不同的翎排称其附加在消且E的方式,网录确保验证抑邮划怔确的消息和对应旌名。验证者能聊关联签名的正嗨证密钥是成功完鳏i1.1.渊前提,9.4构已翎嬉已签消息由消息M和附录构成,即MJHD验证过程需包含以下数据元:一一域参数集合Z: 验证密钥Y;消息M; 签名£ 标识数据Id(可选);一一使用中的杂渔函数标识符hid若没有使用其他方式确定(见第7章):其他文本1(可选)。验证过程的输入为消息M.域参数乙验证密钥Y.签名X以及与签2机制对应的标识数据R1.,验整个验证过程由以下证过程的怆出是验证签名结果的布尔依:是(接受)/否(拒绝),整个过程见图3.函数犯合之一构成:a)签名打开、计尊杂凑值并比较:b)签名打开、恢应消息代表和险证恢发的酒息代表;注1:消息代表是指田消息H化生成的比特瑞用于与签经翎酷令产整名.C)恢笑证据、恢红赋货、虫新计算预签名、Hi新计算证据、会证证据。注2:证据是预签名和部分消息的值经过证据函数计算后的输出.是签名的第一部分,注3映值是iiH«和郃分行息级IsWft数计算后的包数据元.注包预鞋名椒檄钿程中生则明3机蚓彳j解幡II果,与消息无关。关于靛制k标识将如笫7章所述,使用GB,T17902中描述的数字签名机制在选择抗研撞柒凑函数.为保证验证过程能够被安全执行,对验证者而吉,确定签名生成时采用的杂凑函数也常重要.如果恶意的第一:方使验证者相仿在生成签名时使用了一个“弱”杂凑函数(例如,缺乏单向性的杂凑函数),此第三方能够放骗脸证者接受一个“错误”消息的合法签名.GB,T17902允许通过“杂凑令牌”指定一个签名所使用的杂法函数,该令牌由一个杂凑函数标识符与一个杂凑码拼接组成,用于绑定杂凑函数与数字签名机制。如果杂凑函数标识符通过此类方式包含杂凌令牌中,对于不同的消息,攻击者无法重用一个已存在的合法签名,即便验证者接受的签名使用了崩到能够找到原象的杂演函数,此类攻击也不起效.这被认为是解决上网中提到攻击的有效手段.然而,正如在参考文献10中详细讨论的,如果一个验证者被欺脏并相信签名生成时采用了某个“弱”杂凑函数.即使将杂灌函数标识符用“杂凑令牌”的方式包含在签名中,依然可能存在其他攻击.此处的“弱”的是指杂潴函数缺乏单向性,即找到一个输入使其输出是某个给定的杂次码在计驾上是可行的.(缺乏单向性的杂次函数可能引起的安全风险,促使将杂浜函数标识符以杂凑令牌的形式包含在签名中予以保妒.)在参考文献口0中描述了两类攻击方法.a)在攻击者能监完全捽制签名中的杂凑令牌值的情况下,攻击者在某个版机生成的签名中倏入弱杂凑函数的杂泌函数标识符,攻击者通过弱杂凑函数反向计匏获得消息M,从而形成消息M和它的签名.在此种情况中,即使弱杂凑函数只是对一部分杂凄码存在脆弱性依然有可能伪造该部分杂凑码对应消息的器名。b)在某些允许使用长杂避函数标识符的情况下,攻击若生成一个以1机签名弁尝试计算信息代表T(正常情况下,信息代表T是利用验证密钥从签名中计尊出的比特小).如果攻击者找到一个湎足条件的T.使得T的形式满足T=PadiIH1.DIIH(其中Pad是一个常量的比特笊,II1.D是随机生成的杂凑函数标识符但是在结构上与杂漆函数标识符相同,H是消息输出的杂漆码)。攻击者通过攻击弱架凑函数,从H中反算出某个消息M,当Pad的长度不足且签名机制允许氏HID存在时,攻击者通过尝试不同Pad值找到符合条件T的概率就是不可忽略的,在此类攻击中,攻击成功的前提是攻击者能够使脸证者相信签名使用了某个新随机生成但符合语法结构的杂次函数标识符,给定这样一个“签名”,攻击好蒙得倏在签名中或是嵌在恢任出的常息代发中的杂流码,并利用烟杂淡函数找到一个时应此杂黑码的消息,由此,攻击者成功伪造了一个新签名。因此除了拼接杂谶函数标识符和杂凑码的方式外,有时验证者也需要有安全独立的途径知晓签名验证时使用的杂凑函数,在GB,,T17902中的大多数的数字签名机制需要在域参数中指定所使用的杂凑函数如第7章a项中所描述,或者签名机制自身指定可供选择的杂凑函数(如第7章b)项中所描述)。数字签名机制的使用者宜综合考虑不同方式的开销和优势,进行风险评估。此项评估包含W估伪造签名的开销,考文Itt1GBT15851.3信息技术安全技术带消息恢复的数字签名方案第3部分:基于宙散对数的机制(GB,T15851320I8,ISO9796-326.MOD)(2GB16264.8-2005信息技术开放系统互连目录第8部分:公仍和属性证书框架(ISOqEC9594-8:2()01.1DT)3IGBZT18238(所有部分)信息技术安全技术散列函数ISO.'IEC10118(所有部分)4GB7T250692022信息安全技术术语5JISO/IEC9796-2:2010Infoniiationtechno1.ogySecuritytechniquesDigita1.signatureschemesgivingmessagerecoveryPart2:In1.egerfactorizationbasedmechanisms6)ISO/IEC9798-3ITSecuritytechniquesEntityauthenticationPart3:MCChaniSm、usingdigita1.Signaiurctechniques7JISOIEC)0118-1:2016Informationtechno1.ogySecuritytechniquesHash-func(ionsPartI:Gcncra1.8ISO/IEC11770-3InformaiionsecurityKeymanagementPari3:MeChaniSinSusingasymmetrictechniques911SO1EC15945:2002Informationtechno1.ogy-SecuritytechniquesSpecifkationofTTPservicestosupporttheapp1.icationofdigita1.signaturesIOB.Ka1.iski.Onhashfunctionfirewa1.1.sinsignaturescheme.inPrOC.Cryp1.ograpbersTrackRSConference2OO2.Prenee1.Ed.1.eciureNotesinComputerScience.Vo1.2271.1-16.Ber1.inSpringcr-vcr1.ag,2002.