GB/T32213-2015

信息安全技术公钥基础设施远程口令鉴别与密钥建立规范

Informationsecuritytechnology—Publickeyinfrastructure—Specificationsforremotepasswordauthenticationandkeyestablishment

本文分享国家标准信息安全技术公钥基础设施远程口令鉴别与密钥建立规范的全文阅读和高清PDF的下载,信息安全技术公钥基础设施远程口令鉴别与密钥建立规范的编号:GB/T32213-2015。信息安全技术公钥基础设施远程口令鉴别与密钥建立规范共有41页,发布于2016-08-01
  • 中国标准分类号(CCS)L80
  • 国际标准分类号(ICS)35.040
  • 实施日期2016-08-01
  • 文件格式PDF
  • 文本页数41页
  • 文件大小646.55KB

以图片形式预览信息安全技术公钥基础设施远程口令鉴别与密钥建立规范

信息安全技术公钥基础设施远程口令鉴别与密钥建立规范


国家标准 GB/T32213一2015 信息安全技术公钥基础设施 远程口令鉴别与密钥建立规范 nftormatiosurityteehmology一Pbieckeyinfrastrueure Speeifrieationforremotepasswordauthentieationandkeyestablishment 2015-12-10发布 2016-08-01实施 国家质量监督检验检疫总局 发布 国家标准化管理委员会国家标准
GB/T32213一2015 目 次 前言 引言 范围 规范性引用文件 术语和定义 缩略语 符号 文档约定 6.1括号 6.2步骤与顺序 6.3方法参数 6.4参与方 数学定义 7.1群运算 7.2离散对数体制 7.3椭圆曲线体制 模型 8.1概述 8.2原语 8.3协议 8.4密码函数 原语 概述 9.1 9,2数据类型转换原语 9.3连带口令公钥生成原语 公钥生成原语 1 9.4 9.5口令验证数据生成原语 9.6随机元素导出原语 秘密值导出原语 9.7 9.8密钥检索原语 10 口令鉴别密钥建立协议 19 10.l BPKA-1 10.2BPKA-2 20 10.3BPKA-3 22 22 10.4APKA-1
GB/T32213一2015 26 10.5[DL]APKA-2,3 2r 10.6[EC]APKA-4 29 10.7APKA-5 10.8PKR-1 31 32 11密码函数 32 11.1散列函数 1.2掩码生成函数 32 33 11.3密钥证实函数 33 11.4乘法元生成函数 34 11.5密钥导出原语 参考文献 36
GB/T32213一2015 前 言 本标准按照GB/T1.1一2009给出的规则起草 请注意本文件的某些内容可能涉及专利 本文件的发布机构不承担识别这些专利的责任 本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口 本标淮起草单位;科学院软件研究所、科学院研究生院、电子技术标准化研究院 本标准主要起草人;张立武、冯登国、张振峰、高志刚荆继武、张严、王鹏翩、李强、段美姣、高能、 陈星 m
GB/T32213一2015 引 言 目前,基于口令的实体鉴别技术是应用最广泛的鉴别技术,并且可以预见在未来的相当长时间内还 将作为一种重要的鉴别技术存在 这一方面是因为口令容易记忆、不需要额外的载体,使用方便;另 方面基于口令的鉴别协议通常简单高效,适用于用户量巨大的信息系统 然而,由于口令一般由可打印 的AsCI字符组成,选择空间较小,因此安全的基于口令的鉴别协议的设计和实现较为困难 更为不 利的因素是用户通常会选择能方便记忆且易于使用的具有特定意义的单词或者词组作为口令,更容易 遭受字典式攻击的影响 因此,在构建基于口令的鉴别系统时选择安全的口令鉴别协议变得尤为重要 非对称密码学的发展为基于口令的身份鉴别和密钥建立协议的构造提供了一种新的方向 通过结 合非对称密码学和口令可以构造更安全的口令鉴别密钥建立协议,并能提供抵抗离线蛮力攻击、抵抗字 典式攻击,前向安全性等重要安全性质 本标准选取了数个经过广泛理论分析和应用验证的协议,定义 了这些协议的数学基础、协议流程 本标准为基于口令鉴别系统的设计和开发提供了参考
GB/T32213一2015 信息安全技术公钥基础设施 远程口令鉴别与密钥建立规范 范围 本标准定义了基于非对称密码技术实现远程口令鉴别与密钥建立的数学定义和协议构造 本标准适用于采用基于口令鉴别与密钥建立技术的鉴别系统的设计和开发 规范性引用文件 下列文件对于本文件的应用是必不可少的 凡是注日期的引用文件,仅注日期的版本适用于本文 件 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件 GB/T18238.3一2002信息技术安全技术散列丽数第3部分;专用散列函数 GB/T250692010信息安全技术术语 术语和定义 GB/T250692010界定的以及下列术语和定义适用于本文件 口令穷举/蛮力攻击passwordexhaustieattaek/brutec-foreeattaek 通过尝试口令所有可能的值,以获取实际口令,并实施违反信息安全策略的行为 3.2 口令破解passworderack 成功的穷举/蛮力攻击口令及口令相关秘密数据或者成功攻击一个基于口令的密码系统 3.3 多重散列iteratedhash 重复多次使用散列函数对输人进行散列计算的方法 3.4 低等级口令 owgradepassword 易于受口令穷举/蛮力攻击的口令 3.5 连带口令公钥password-entangledpubliekey 从口令和私钥计算得出的公钥 3.6 口令限制私钥paswrtlmtedprvaekey 从口令计算得到的私钥,该私钥的随机性完全来自于口令,并且其随机性受口令随机性的限制 口令限制公钥passwrt-ltmtedpubickey 从口令限制私钥生成的用于验证口令正确性的数据
GB/T32213一2015 缩略语 下列缩略语适用于本文件 )rd-authenticat tedkey APKA增强型口令鉴别密钥协商(augmentedpasswor agreement lancedpassword-authenticat tedkey BPKA平衡型口令鉴别密钥协商(bala agreementD CLIENT客户端(clie ent DL离散对数(discretelogarithm EC椭圆曲线(elipse" curve GE2FEP群元素到域元素值转换原语(g roupelementtofieldelementconversionprimitive GE2OSP群元素到八位位组串转换原语(groupelementtooctetstringconversionprimitive FE2OsP域元素到八位位组串转换原语(fieldelementtooctetstringconversionprimmitive) I2FEP整数到域元素转换原语(integertofieldelementconversionprimitive) 12OSP整数到八位位组串转换原语(integer tooctetstringconversionprimitive) KCF密钥证实函数(keyconfirmationfunetion) KDF密钥导出函数(keyderivationfunetion KRBP密钥检索盲化原语(keyretrievalblindingprimittive) KRPP密钥检索置换原语(keyretrievalpermutationprimitivey KRUP密钥检索解盲化原语(keyretrievalunblindingprimitive) MGF掩码生成函数 maskgenerationfunction MVCF多重值产生函数(multipliervalueereationfunetion) Os2IP八位位组串到整数转换原语(octetstringtointegerconversionprimitive) PEPKGP连带口令公钥生成原语(paswordemtanglcdPKGP PKA 口令鉴别密钥协商 password-authenticatedkeyagreement) PKGP公钥生成原语(pubie keygenerationprimitive PKR口令鉴别密钥检索(password authentieatedkeyretrieval passwordverification PVDGP口令验证数据生成原语( datagenerationprimitive) REDP随机元素导出原语(r randomelementderivationprimitive SERVER服务器(server) sword SRP安全远程口令(seeureremotepass SVDP秘密值导出原语(secretvaluederivationprimitive 符号 下列符号适用于本文件 a,b有限域GFr(q)的元素,是定义椭圆曲线E的两个系数 由a,b定义的,定义在有限域GF(p)上的椭圆曲线 群或有限域上的元素 ee1,e2 error出错 在本标准中如果某个原语或者函数输出eror,表示该原语或者丽数执行过程中出 错.不能得到预期结果 exp指数运算,exp(g,a)=ga GF(qg) 一个阶为9的有限域 G 椭圆曲线E上阶为r的点,该点可以生成一个阶为r的子群
GB/I32213一2015 有限域GF(g)上的阶为的乘法子群的一个生成元,用来定义离散对数域参数 g hash散列函数 hex十六进制编码函数,把输人的八位位组串编码成十六进制串 协议生成的由两个参与方共享的密钥 在离散对数体制中等于(q-1/r,用来定义离散对数域参数;在椭圆曲线体制中等于#井E/r,用 来定义椭圆曲线域参数,其中井E为E上点的数量 og对数运算符 M消息一般为八位位组串 mod求余操作 N 自然数,非负整数 P.Q -般指代椭圆曲线上的点 正整数,一般用来表示有限域的阶 在离散对数体制中为g一1的素因子,用来定义离散对数域参数;在椭圆曲线体制中为井E的 素因子,用来定义椭圆曲线域参数 某一实体的私钥组,一般是正整数 ,4 , 某一实体的公钥组,一般为GF(q)上的元素 u w,U,w” 有效,无效 在本标准中表示输出结果是否是有效的,如果协议的输出是invalid,则 valid,invalid 表示协议执行出错,不能继续执行后续操作 椭圆曲线上的点 对应的横坐标 ,Z, 椭圆曲线上的点e对应的纵坐标 y 共享秘密值,为GF(g)上的元素,由秘密值生成原语产生 您1,必" c.dl 数字签名对,一对整数,通过一个签名原语产生 w),u,u)椭圆曲线密钥对,其中、和u是私钥w和口是公钥 加法操作符 例如P+Q表示椭圆曲线上的点尸和点Q相加 标量乘法操作符,表示一个域元素P和一个整数n的标量乘法 例如n×P,也可以省略×, 记作nP 除法操作符 群或者域中的乘法操作符 例如e关e,表示在群元素e,和e,间应用乘法运算 指数运算符,表示对*操作符的迭代 例如en表示对群元素《进行n次迭代操作 *e**e 其中n必须为正整数,也可省略,记做e" 赋值运算符 a=h表示把b赋值给a 八位位组串的连接操作符 求和操作符 比特向右移位操作符 大于或等于 且小于或等于y的整数的集合 [r,y 大于或者等于工的最小整数 [.r] lr」小于或者等于工的最大整数 6 文档约定 6.1括号 包括以下两种:
GB/T32213一2015 描述了两个或者多个相关的但运行在不同的上下文环境中的方法,如下所示 a 0 1 DL,EC}用来描述使用离散对数和椭圆曲线的方法; 2) CLIENT,SERVER}用来描述在协议中两个参与方客户端/服务器使用的成对方法; 3 DL,ECPKA-1-CLIENT,SERVER相当于DLPKA-1CLIENT,DLPKA-1 SERVER,EECPKA-1-CLIENT,ECPKA-1-SERVER b 使用方括号限定的方法表示仅使用于该情况 例如[DL]表示仅适用于离散对数体制的 方法 6.2步骤与顺序 本标准中所描述的包含有序的步骤序列的方法,一般可以在保证结果相同的情况下以任意的顺序 执行 但包含子步骤的步骤,所有的子步骤必须在父步骤完成之前完成 “输出信息并停止”步骤用来限制敏感信息的泄露 这些步骤必须按照本标准指出的顺序执行并在 输出信息后结束方法的执行 6.3方法参数 本标准中的协议,原语通过选择输人域参数,函数和相关的值进行初始化 这些参数通常认为是协 议,原语的选项 因此,两个参与方要使用一个方法成功交互,必须使用相同的选项或者参数 6.4参与方 本标准中定义的远程口令鉴别密钥建立协议采用客户和服务器指代参与协议运行的两个实体 其中客户端指代协议的发起者,服务器指代协议的响应者 客户端和服务器仅是从逻辑上区分协议参 与方 一个实体既可以作为客户端参与协议,也可以作为服务器参与协议 数学定义 7.1群运算 在本标准中,采用小写字母表示群/有限域中的元素 操作符“关”和“-”被用来描述离散对数密码 椭圆曲线密码体制中的乘法和指数运算 注:本章中的群运算,离散对数体制和椭圆曲线体制定义是参照IEEE1363-20o0中第5章和IEEE1363a2004中 第5章定义,详见参考文献[9,l0 7.2离散对数体制 离散对数域参数 7.2.1 每个离散对数原语和协议都需要离散对数域参数,离散对数域参数也是每一个离散对数密钥隐含 的组成部分 离散对数域应指定以下参数 一个有限域GF(g),其中g可以取值为一个正的奇素数声2"(m为正整数)、"(p为奇素 a 数,n为正整数且m多2); b 个整除q-1的正素数r; 有限域GFq)的一个r阶子群的生成元g c 若q=2",则应同时指定以下参数 有限域GFg)上元素的记法,用于9.2数据类型转换原语中; a
GB/T32213一2015 b 余因子k=(q-1)/r 7.2.2离散对数密钥对 对于给定的离散对数域参数,一对离散对数密钥对包含一个离散对数私钥、和一个离散对数公钥 为保证离散对数私钥的 ,其中,为1r一1门之间的整数w为有限域GF(q)上的元素且w Z心 =gs 安全性,其生成应当是不可预测的其存储应当无法被攻击者获取 离散对数密钥对与生成它的域参数密切相关,而且只能用于该域参数的上下文中 一个密钥对不 应当用于除生成其的域参数之外的域参数环境中 一组域参数可能被多个密钥对共享 离散对数密钥对不一定由使用它的参与方生成,这取决于信任模型 密钥管理中参与方建立的离散对数密钥可能符合密钥的一般形式,但却并不满足密钥的定义,这取 决于所采用的密钥管理技术 因此,本标准中“离散对数公钥”及“离散对数私钥”表示符合一般形式的 密钥,而“有效离散对数公钥”及“有效离散对数私钥”则表示满足定义的密钥 密钥确认是确定一个密 钥是否为“有效”的过程 7.3椭圆曲线体制 7.3.1椭圆曲线域参数 每个椭圆曲线原语和协议都需要椭圆曲线域参数,椭圆曲线域参数是每一个椭圆曲线密钥隐含的 组成部分 椭圆曲线域应指定以下参数 一个有限域GF(q),其中9是一个正奇素数,或者2"(为正整数) a) b) 两个有限域GFg)中的元素4和b,它们是定义椭圆曲线E的系数; e)一个能整除椭圆曲线E上点数量的正素数r; d 一个阶为r的点G.该点也是它所生成的子群的生成元 若q=2",则应同时指定以下参数 有限域GF(g)上元素的记法,用于9.2数据类型转换原语中 同时,上述参数隐含定义了余因子k=井E/r,其中井E表示椭圆曲线上的点的个数 7.3.2椭圆曲线密钥对 对于给定的椭圆曲线域参数,一对椭圆曲线密钥对包含一个椭圆曲线私钥、和一个椭圆曲线公钥 w,其中、为[1,r一1]之间的整数,w为椭圆曲线E上的点,且w=sG 为保证椭圆曲线私钥的安全 性,其生成应当是不可预测的,其存储应当不能被攻击者获取 椭圆曲线密钥对与生成它的域参数密切相关,而且只能用于该域参数的上下文中 一个密钥对不 应当用于其被生成的域参数之外的域参数环境中 组域参数可能被多个密钥对共享 椭圆曲线密钥对不一定由使用它的参与方生成,这取决于信任模型 参与方建立椭圆曲线密钥对是密钥管理的一部分内容 可能会存在参与方建立的椭圆曲线密钥对 符合密钥的一般形式,但却并不满足所希望的密钥定义,这取决于所采用的密钥管理技术 因此,本标 准中“椭圆曲线公钥”及“椭圆曲线私钥”表示符合一般形式的密钥,而“有效椭圆曲线公钥”及“有效椭圆 曲线私钥”则表示满足定义的密钥 密钥确认是确定一个密钥是否为“有效”的过程 模型 8.1概述 本标准的目标在于为采用基于口令身份鉴别技术的鉴别系统提供安全的基于非对称密码技术的口
GB/T32213一2015 令鉴别与密钥建立协议 因此,在一个通用的、允许不同安全需求和不同应用需求的鉴别系统选择合适 的协议的框架下描述这些安全协议是有意义的 本标准中的安全协议可以抽象地理解为由原语、协议 和密码函数构成 -原语是具有原子性的方法,提供确定的功能,是构建协议的基础 部分原语具有基于数论上的 困难问题的安全性 协议是由一系列原语、密码函数构成的集合,提供基于复杂性理论的安全性 -密码函数是提供特定密码学功能的函数,包括密钥产生函数、散列函数、密钥证实函数等 口令鉴别与密钥建立协议和一般鉴别与密钥建立协议的主要不同在于证明参与方身份的秘密是一个 或者多个预先分发的低等级口令 当使用口令进行相互鉴别时,口令通常被当作共享的秘密,而不是静 态的公钥和私钥 协议包括部分密钥管理操作,例如生成一个私钥或者获取其他参与方的公钥 参与方应该保证密 钥和域参数的有效性,也应该保证密钥和域参数生成过程的正确性 因此参与方应采用适当的密钥管 理方案,但密钥管理方案超出了本标准的范围 协议的规范描述由以下几部分组成 a)协议选项;协议中使用到的原语和密码函数等; b操作;协议按照一定顺序执行的步骤 从实现的观点看,这里定义的原语可以看作是底层的实现,密码函数可以看作中层实现,协议可以 看作高层或者称为应用层的实现 8.2原语 本标准中原语并不提供安全上的保证,只有当使用这些原语和其他操作构成协议时才能提供基于 计算复杂性理论的安全性 原语假设它们的输人符合某些假设,这些假设会在描述原语时列出 只要输人不影响原语实现的 进一步操作,原语的实现不强制约束输人必须符合假设 在原语的实现中,出现错误时可以自主决定是 否输出错误信息 例如,一个公钥生成原语实现当输人不符合假设时,可以输出一个看起来像是公钥的 输出,也可以拒绝输出 这需要原语的使用者来验证输人是否符合前提假设 例如,用户可以选择使用 相关的密钥和域参数验证技术 原语规范是功能性规范,而不是接口规范 输人、输出的格式和实现超出了本标准的范围 8.3协议 8.3.1口令鉴别密钥协商 在口令鉴别密钥协商协议中,参与方使用口令(口令相关数据)和私钥与另一参与方的公钥一起产 生一个或者多个会话密钥 如果参与方使用相关的口令,密钥和一致的域参数,并且协议正确地完成, 则所有参与方能得到相同的会话密钥 同时,口令鉴别与密钥协商协议定义了密钥证实操作,协议参与方互相确认对方已经正确获得会话 密钥 口令鉴别密钥协商协议提供以下安全属性 -通过协议可以成功的产生一个共享会话密钥,并且不知道口令或者基于口令秘密的实体无法 成功执行协议; -获得口令相关的公钥和协议中交换的任何信息不能使第三方可以验证对于口令或者口令相关 值的猜测或者确定协议产生的共享会话密钥 -不知道口令或者口令相关值的参与方在一次协议执行中最多只有一次机会猜测口令或者口令 相关的值
GB/I32213一2015 本标准中的口令鉴别密钥协商协议具有以下形式的操作序列 a)建立有效的域参数 b 根据域参数建立一个或者多个口令及口令相关值; 根据域参数为参与方选择一个有效的私钥 使用PEPKG;P或者PKGP操作根据步骤c)产生的私钥建立一个或者多个公钥 分发公钥给协议的其他参与方; 获取其他参与方的公钥; 选择合适的方法验证域参数和其他参与方的公钥,如果无效则输出“invalid”并停止操作 h)根据自己的私钥和其他参与方的公钥产生一个共享秘密值; 使用密钥产生函数根据步骤h)产生的秘密值和域参数产生会话密钥 8.3.2口令鉴别密钥检索 在口令鉴别密钥检索协议中,拥有口令的客户端与至少一个拥有与口令相关的秘密值的服务器交 互,最终建立一个或多个长期密钥 为了成功的执行口令鉴别密钥检索协议,客户端仅需要拥有口令值r,服务器也仅需要拥有与不相 关联的秘密值,而不需要知道客户端的口令值开或者客户端最终获取的长期密钥 客户端通过与服务 器交互并执行密钥检索操作来检索与口令相关联的密钥 1令鉴别密钥协商主要有两个不同点 口令鉴别密钥检索与口 a 口令鉴别密钥检索建立长期密钥,而口令鉴别密钥协商建立的是临时会话密钥 口令鉴别密钥检索为客户端建立的长期密钥对于服务器可能是无法获取的,而口令鉴别密钥 b 协商所建立的临时密钥对于客户端和服务器是共享的 口令鉴别密钥检索和口令鉴别密钥协商同样可以在多服务器的系统中使用,客户端使用口令获取 存储在各个服务器的密钥片段并最终检索出密钥 8.4密码函数 本标准定义了适用于口令鉴别与密钥建立协议的散列函数、掩码生成丽数、密钥证实丽数、乘法元 生成函数和密钥导出函数 若在协议中采用本标准之外的丽数,用户应对实现的安全性进行分析和 评估 原语 9.1概述 本标准中定义了数据类型转换原语、连带口令公钥生成原语、公钥生成原语、口令验证数据生成原 语、随机元素导出原语、秘密值导出原语和密钥检索原语 原语采用通用的方式进行描述,除非特别指 明,忽略原语所依赖的密码体制 9.2数据类型转换原语 9.2.1 OS2IP 对于给定的长度为人的八位位组串M,通过以下步骤或者相当的过程转换成整数i: a把M按字节分解为M,-llM-,llllIM.,其中M,-是最左侧的字节.M是最右侧字节 b)对于所有的[0,k一1],计算i=习2'M; 输出i c
GB/T32213一2015 9.2.2I20SP 对于给定的非负整数i和目标八位位组串长度l,应通过以下步骤或者相当的过程转换成八位位组 串M 如果>256l,则输出“整数过大” a b) 对于所有的jE[O0,一1].计算m;=imod(256)>>(8j) e)设M,是m,对应的字节表示,则M=M-llM-;llllM d)输出M. 9.2.312rEP 对于给定的整数i[O,9一1],应通过以下步骤或者相当的过程转换成有限域GF(q)中的元 素: 应用OsP转换】到log细9长度的八位位组串 a b 应用O)S2FEP转换结果八位位组串到城元素; 输出 c) g.2.4GE2FEP 对于给定的群元素e -在离散对数体制中,群元素就是域元素,直接输出域元素e; 在椭圆曲线体制中 a)如果 是无穷远点,则输出域元素“0”并停止; b)否则设置域元素r =e的x坐标; c 输出域元素.r 9.2.5FE20SP 对于给定的有限域GF(o)中的元素e -如果q为奇素数,则《是区间[1,g一1]中的整数,则应用120OSP转换《到八位位组串; 如果q为2m的形式,则 即是长度为1/8的八位位组事,其中/=Iog9门. 9.2.60S2FEP 对于给定的长度为!的八位位组串m -如果q为奇素数,应用OS2IP转换m为整数i 若iE[1,q-1],则输出i;否则输出“er error -如果q为2m的形式,则把朋表示成长度为8'的比特串i 若81GB/T32213一2015 输人 a)参与方的私钥(整数)s; b基于口令生成的群元素开丽; e)与密钥、和群元素开相关的域参数(包括尽,r) 假设;私钥、和域参数是有效的,群元素开 可以生成阶群 输出;连带口令公钥u 操作 计算一个群元素w=(g)关务 a 开; b)输出w作为连带口令公钥 9.3.2PEPKGP-2 DL,EC}PEPKGP2原语使用DL,EC}域参数、参与方私钥和口令生成一个连带口令公钥 输人: 参与方的私钥(整数)s; b)基于口令生成的群生成元g; 与密钥、和群元素丛,相关的(DL,EC)域参数 c) 假设;私钥、和域参数是有效的,群元素片.可以生成阶群 输出;连带口令公钥w 操作: 计算一个群元素w= =g s; b)输出w作为连带口令公钥 9.3.3[DLPEPKGP-'3,4}-SERVER [DL]PEPKGP(3,4)-SERVER原语使用DL域参数、服务器私钥和口令验证数据生成一个连带 口令公钥 PEPKGP4-SERVER需要一个乘法元生成函数,可选项为MvCF-1 客户端应该使用和服 务器相同的MVCF和相关的参数 输人: a服务器的私钥整数)s; b)口令验证数据U,,其中u,是口令限制公钥; e)与密钥、和验证数据,相关的DL域参数(包括g -,和g). 假设: 私钥s,验证数据u,和域参数是有效的g-的阶为q-1 输出 连带口令公钥w,其中u,是域GF(9)的元素 操作 a)计算域元素r=exp(g -1,s):; b)如下方法计算域元素m 1)PEPKGP3;m=1 2) PEPKGP4:m,=MVCF(); 计算w, =(U×m1,十.r); c d)输出zw,, 9.3.4[EC]PEPKGP5-SERVER [EEC]PEPKGP5-SERVER原语使用EC域参数、服务器私钥和口令验证数据生成连带口令公钥,
GB/T32213一2015 该原语在[ECAPKA-4-SERVER中使用 该原语需要一个随机元素生成函数作为参数,该参数的可选函数为[Ec]REDP1和[Ec]REDP-2 并应该保证该函数与客户端使用的随机元素生成函数相同 输人: 服务器的私钥(整数) a b) 日 1令验证数据,.,其中v,是口令限制公钥: 与密钥、和公钥u,相关的EC域参数(包括g) c 假设 私钥、、公钥?和域参数是有效的 输出: 连带口令公钥w, 操作 a)计算八位位组串o=GE2OsP(t.); b计算群元素ei=REDP(d (o1; c 计算群元素uw,=gs关e1; d输出w' 9.4公钥生成原语 9.4.1PKGP-1 DL,Ec)PKGP-1使用私钥和域参数来生成公钥 输人 a)私钥整数)s; 私钥 相关的域参数(包括 和r) b 假设 私钥和相应的域参数有效 输出: 与私钥对应的公钥e 操作;公钥w的计算应执行以下两步: a)计算公钥组元素w=片s; b)输出w作为公钥 9.4.2[DLPKGP-2-CLIENT [DL]PKGP-2CLIENT是离散对数公钥生成原语,该原语根据DL域参数和客户端的私钥生成客 户端的公钥,该原语应用在[DL]APKA-{2,3)-CLIENT 输人: a)客户端的私钥(整数)s; b 与密钥、相关的DL域参数(包括g,-和g). 假设 私钥s、验证数据u.和域参数是有效的,g-,的阶为q-1 输出 公钥w.,其中u是GF(g)中的非零元素 操作 a 计算域元素w=exp(g"-1,s); b)输出w' 10o
GB/I32213一2015 9.5口令验证数据生成原语 9.5.1PVDGP-1 DL,ECPVIGP1原语根据域参数和参与方的口令生成口令验证数据,该原语在{DL,EC APKA-1-CLIENT和DL.EC)APKA-5-CLIENT中用来生成口令限制私钥.在DL.ECAPKA-1 SERVER和{DL.,EC}APKA-5-SERVER中用来生成口令验证数据 该原语需要一个随机元素生成函数和一个散列函数作为参数,其中随机元素生成函数的可选项为 DL.,Ec)REDP1和(DL.,EC)REDP-2,散列函数的选择项为11.1中定义的散列函数和MGF1 输人: a)八位位组串口令开; b)DL,EC}域参数 输出 口令限制私钥u-和口令验证数据,口令验证数据包括阶为,的生成元越-和口令限制公钥u 操作 a)计算八位位组串o,=hash(开); 计算私钥(整数)u-=O52Ir(o. b modr; 计算元素g =REDP(o.); c d)计算群元素u,=gu 输出u.和口令验证数据(g e g U 9.5.2[DLPVDGP-2 [DL]PVDGP-2原语根据DL域参数和参与方的口令生成口令验证数据和其他相关值,该原语在 [DL]APKA-{2,3)-CLIENT中用来生产口令限制私钥,在[DL]APKA-(2,3)-SERVER中用来生成口 令验证数据 [[DL]PVDGP3需要一个散列函数作为参数,散列函数的选择项为11.1中定义的散列函数 和MGF1 输人 a)八位位组串口令开; b)与口令相关的DL域参数(包括g-,和g. 输出 口令限制私钥u.和口令验证数据,口令验证数据包括口令限制公钥u 假设: 口令不和DL域参数是有效的,"-的阶为q-1 操作: a)计算八位位组串o,=hash(T); b计算私钥u=(Os2IP(o,)mod(q一1); 计算口令限制公钥-=exp(g,,u.)5 c) D 输出u,和口令验证数据U 9.5.3[EC]PVDGP-3 [EEC]PVDGP3原语根据域参数和参与方的口令生成口令验证数据,该原语在[EEC]APKA-4-CLI ENT中用来生产口令限制私钥,在[EC]APKA-4-SERVER中用来生成口令验证数据 11
GB/T32213一2015 该原语需要一个散列函数作为参数,散列函数的选择项为11.1中定义的散列函数和MGF1 输人 a)八位位组串口令开; b与口令相关的椭圆曲线域参数(包括片和r) 输出: 口令限制私钥u-和口令验证数据,口令验证数据u 操作: a)计算八位位组串o,=hash(开); b) 计算私钥u,=Os2IP(o.modr; o计算群元素口-一尽w. d)输出u 和口令验证数据v. 9.6随机元素导出原语 9.6.1[DL]REDP1 [DL]REDP1是离散对数随机元素生成原语,该原语采用一个散列函数根据一个口令输人选取一个 伪随机群元素 该原语可以用在[DL]BPKA-3,[DL]APKA-1,[DL]APKA-5中产生生成元元素,也 可以用在[DL]BPKA-1,[DL]BPKA-2生成一个掩码元素 该原语需要一个散列函数作为参数,其中散列函数的选择项为11.1中定义的散列函数和MGF1 输人: a基于口令生成的八位位组串o.; bDL 域参数(包括q和) 输出;选择的r阶的群元素e 操作: a)计算八位位组串o=hash(o.); b)计算域元素r=12FEP(Os2IP(onmodg);如果x=0,则输出“nvalid”并终止; e计算域元素e=exp(r,k);如果《=1,则输出“invalid”并终止; d)输出e 9.6.2[c]REDP1 [Ec]REDP-1原语基于[DL]REDP1,该原语采用一个散列函数根据一个口令输人选取一个伪随 机群元素,该元素属于椭圆曲线口令鉴别密钥协商方案所选择的群 该原语可以用在[EC]BPKA-3 [Ec]APKA-1.[Ec]APKA-5中产生生成元元素,也可以用在[Ec]BPKA-11.[Ec]BPKA-2生成一个 掩码元素 该原语需要一个输出长度为oLen的散列函数作为参数,其中散列的选择项为11.1中定义的散列 丽数和MGF1 输人: a)基于口令生成的八位位组串o,; 与w.有关的椭圆曲线域参数(包捐," b ,m,a,b和k 输出;选择的有效的,阶的群元素e,或者“invalid” 操作 计算o=hash(o.) a b)计算=(OS2IP(o); 12
GB/T32213一2015 计算oLen长度的八位位组串o2=I2OSP(i); d)计算o;=hash(o2); 计算一个域元素r=12FEP(OS2IP(o,)modq);如果.r=0,输出“invalid”并终止; 计算" f =imod2; 如果9是偶数.,则跳转到第)步 g h如果q是奇数则: ,3 设置a;如果(p>3),则设置a -esp(c,3)十aXr十b;如果(p=3),.则设置a=exp(c r,2)十b 十aXexp(.r 2) 如果a=0,输出“invalid”并终止; 37 如果a存在平方根,则计算a的一个平方根8 4 如果a不存在平方根,则跳转到第j)步; 5)设置y=exp(p-1,"×8; 6 设置点T=(.r,y并跳转到第k)步; 如果q是偶数则 1) 设置b=r十4十b×exp(.r, 2) 找到一个域元素-,使得exp(:.2)十怎=b; 3) 如果不存在这样的=,则表明没有这样的结果,跳转到)继续流程; 设置y=(=十A×r,其中m是0,1}表示了域元素{0,1}; 4 设置点T=(r,y)并跳转到)步 5 如果椭圆曲线上在.r上不存在点,则: 设置i=i十1, 1 2)跳转到e)步; k 计算群元素e=k×T;如果 是曲线上的无穷远点,则输出“invalid”并停止; 输出e 9.6.3REDP2 REDP2原语采用一个散列函数根据口令选取一个伪随机群元素 该原语可以用在(DL,EC BPKA-3DL,EC}APKA-1,DL.EC}APKA-5中产生生成元元素.也可以用在{DL.ECBPKA-1. DL,EC}BPKA-2生成一个掩码元素 该原语需要一个散列函数和两个随机群元素 和 作为参数,其中散列的选择项为11.1中定义 的散列函数和MGFl.片 和片,是由生成的群中的,阶元素 输人: a 基于口令生成的八位位组串o.; b ,o,相关的域参数(包括片和r). ggh" 假设;假设域参数是有效的,并且 和及,在群上符合均匀分布,因此没有实体能获得及 和尽之间 的指数关系,也没有实体可以获得从,相《之间的指数关系 输出;选择的”阶的群元素e 操作 计算八位位组串o=hash(e a o; b计算证书ig=(OS2IP(omodr;如果ig=0,则输出“invalid”并终止; o计算域元素《=以 *(E,);如果《=1,则输出“nvalid”并终止; D 输出e 13
GB/T32213一2015 9.7秘密值导出原语 9.7.1SVDP-1-CLIENT {DL,ECsVDP-1-CLIENT原语适用于客户端 该原语使用客户端的私钥和服务器的公钥生成共 享的秘密值 输人 a)客户端私钥s; b) 服务器公钥w, 与密钥、和w相关的(DL.,EBc)域参数(包括g》和g). 假设;私钥、和域参数是有效的 输出;一个属于有限域GF(g)中的元素交 操作: a)计算了 =w,s b 计算==GE2FEP(c ); e)输出 9.7.2SVDP-2 DL.EC)svDP2原语使用参与方的私钥、口令相关值和另一参与方的连带口令公钥生成共享的 秘密值 输人: 参与方的私钥s; a b)基于口令的掩码群元素开 另一参与方的连带口令公钥w' C D 与密钥s,u'和开 相关的(DL,EC}域参数(包括g,r) 假设;私钥、和域参数是有效的,w'属于一个父群,开是目标群的一个r阶生成元 输出:一个属于有限域GF(q)中的元素= 操作 计算之 =(w’关开 (一1))s; a 计算=- b =(GE2FEP(c.); 输出z 9.7.3sDP3 DL,EC)sVDP3原语使用参与方的私钥、口令相关值和另一参与方的连带口令公钥生成共享的 秘密值 输人 a)参与方的私钥s; b 另一参与方的连带口令公钥w'; e)与密钥s,w'和开 相关的(DL,EC}域参数(包括q) 个布尔值b标识是否使用乘法因子 d 假设私钥、和域参数是有效的,w’属于一个父群,、和w’使用相同的域参数生成,所有的参与方 协商确定是否使用乘法因子 14
GB/T32213一2015 输出:一个属于有限域GF(q)中的元素= 操作: a)如果b表示不使用乘法因子;计算群元素,=w" 如果b表示使用乘法因子计算= =w(ks); b c 计算北=GE2FEP(: 心); d输出您 9.7.4[DL]sVDP(4,5)-CLIENT [DL]sVDP(4,5)-CLIENT原语适用于客户端 该原语根据客户端的私钥,服务器的连带口令公 钥和一个口令相关值生成一个共享秘密数据,应保证输人的口令由相同的域参数生成 SVDP(4,5需要一个散列函数,该散列函数的可选择项为l1.1中定义的函数和MGF1 同时应 该保证服务器在原语[DL]sVDP{4,5)-SERVER选择相同的散列函数 SVDP5需要一个乘法元生成丽数MVCF,该MVCF应该选择MVCF-1,同时应该保证服务器在 原语[DL]sVDP-5-SERVER选择相同的MVCF函数 输人: a)客户端的私钥s; b 口令限制私钥u. 口令验证数据(口令限制公钥)v; 仅适用于sVDP5:客户端的DL私钥w; 服务器的连带口令私钥w, ,w,相关的域参数 与s,u.,u.,w 假设;客户端的私钥、,u,和域参数都是有效的.w,,是父群的元素 输出;一个属于有限域GF(e)中的元素您 操作 计算八位位组串os =FE2OSP(ce,); a b)计算整数ia 在SVDP-!中;计算o=hash(o2);计算整数门=OsS2IP(o.);计算ig=L/21s」 1) 2) 在sVDP5中;计算八位位组串o=FE2OsP(o2);计算八位位组串o;=hash(ollo); 计算整数i=0S2IP(o.) 计算域元素m, 1在sVDP4中;m 在sVDP5中;m =MvCF() 2 小》计算==cesp(Ce w,一u.Xm),(s十ia×u.)); 输出 e 9.7.5[DLSVDP-4,5)-SERVER [DL]sVDP{4,5)-SERVER原语适用于服务器 该原语根据服务器的私钥、客户端的公钥和 口令相关值生成一个共享秘密数据,应该保证输人的口令由相同的域参数生成 [DL]sVDP(4,5)-SERVER原语需要一个散列函数,该散列函数的可选择项为l1.1中定义的丽 数和MGF1 同时应该保证服务器在原语[DL]SVDP{4,5)-CLIENT选择相同的散列函数 输人 服务器的私钥s; a 15
GB/T32213一2015 b口令验证数据(口令限制公钥)u.; 客户端的私钥w,; c 服务器的连带口令私钥w, 与s,.,w.,w,相关的城参数 e 假设;客户端的私钥s,,和域参数都是有效的,w,w,是父群的元素 输出:一个属于有限域GF(q)中的元素怎 操作 a)计算八位位组串o=FE2OSP(e,); b)计算整数; 1)在svDP4中;计算o=hash(o.);计算整数i=Os2IP(o,);计算i,=[l/21= 在svDP5中计算八位位组串=FE2Osr(o.);计算八位位组申=hash(ollo.). 2 计算整数i,=(OS2IP(o); c 计算北=exp(w,Xexp(v,, ,ia),s); d输出 2 9.7.6[EC]SVDP-6-CLIENT [EC]sVDP6-CLIENT原语适用于客户端 该原语根据客户端的私钥服务器的连带口令公钥和 一个口令相关值生成一个共享秘密数据,应该保证输人的口令由相同的域参数生成 该原语需要以下两个参数: 个散列函数,该散列函数的可选择项为11.1中定义的函数和MG;F1 同时应该保证服务器 在原语[EEC]SVDP6-SERVER选择相同的散列函数 -个随机元素生成原语REDP,该REDP应该选择[EC]REDP-1和[EEC]REDP2,同时应该保 证服务器在原语[EC]SVDP6-SERVER选择相同的随机元素生成函数 客户端的私钥、 b)口令限制私钥u.; 口令限制公钥=[EC]PVDG;P3(开); 客户端的公钥w. d 服务器的连带口令公钥w,; 与s,u..u.,w,w,相关的域参数 假设;客户端的私钥s,u.,u.和域参数都是有效的,w.,w,是父群的元素 输出:一个属于有限域GF(q)中的元素= 操作 a)计算o=GE2OSP(w.); b) 计算o,=GE2OSP(w,); 计算o,=hash(ollo.); 计算i,=OS2IP(o); 计算o=GE2OSP(u); f 计算群元素e=REDP(o4); g计算e = e1( 一l); h)计算 =e2(s十(i2u.); 计算:=GE2FEP(s.) i 16
GB/T32213一2015 输出 j 9.7.7[EC]SVDP6-SERVER [EC]sVDP6-SERVER原语适用于服务器 该原语根据服务器的私钥、服务器的连带口令公钥、 口令验证数据和客户端的连带口令公钥生成一个共享秘密值 调用该原语的方案应该保证输人的口令 由相同的域参数生成 该原语需要一个散列函数作为参数,该散列函数的可选择项为11.1中定义的丽数和MGF1 同时 应该保证服务器在原语ECsVDP6-CLIENT选择相同的散列函数 输人: 服务器的私钥 a s b 口令验证数据u.; 客户端的公钥w; d)服务器的连带口令公钥w,; 与s ,w,相关的域参数 x,', 假设;客户端的私钥 ,w,和域参数都是有效的 ,l贾,Ux, 输出:一个属于有限域GF(e)中的元素 操作: 计算oi=GE2OSP(w.); a b)计算o;-GE20SP(w.,); 计算o,=hash(oillo); d计算=Os2IP(G o3); 计算- =(u *(u;)) e) fD 计算丈=GE2FEP(文.); g)输出怎 9.7.8sVDP-7-CL.IENT,sVDP-7-SERVER DL,ECsVDP-7-(CLIENT,SERVER}是(离散对数,椭圆曲线)秘密值产生原语,该原语适用于 客户端和服务器 原语sVDP7-CLIENT使用客户端的口令相关值、私钥、和服务器的连带口令公钥 生成共享的秘密值 sVDP7-SERVER根据口令验证数据,服务器的连带口令私钥和连带口令公钥及 客户端的连带口令公钥生成一个共享秘密 该原语需要一个散列函数作为参数,该散列函数的可选择项为l1.1中定义的函数和MGF1 同时 应该保证SVDP-7-CLIENT,sVDP7-SERVER选择相同的散列函数 输人: 参与方的私钥s; a b适用于客户端;连带口令私钥u 适用于服务器;口令验证数据,; C 适用于服务器;客户端的连带口令公钥w, 服务器的连带口令公钥w,; u,w,相关的1DL.,Ec)城参数(包括) 与密钥s,u,w,w 假设;密钥s,u.,v,w,w,和相关的DL,EC}域参数是有效的 输出;一个属于有限域GF(q)中的元素 义 操作 17
GB/T32213一2015 a)计算o=GE2OSP( w',); b 计算o=hash(o); e计算i=0S2IP(o.); d)计算群元素, 1适用于客户端:= =w,(s十u) 2)适用于服务器; =(w,着(u))、; e)计算=GE2FEP(c.); f 输出 文 9.8密钥检索原语 9.8.1KRBP-1 {DL,EC}KRBP-1原语用于生成盲化的口令 {DLEC}KRBP-1使用客户端的私钥、基于口令生 成的群生成元,生成盲化的口令 输人 a)客户端的私钥、 从口令生成的群生成元 b 昌; 与密钥、和w,相关的DL.BC)域参数(包括,和发》. c 假设;私钥、和域参数是有效的g.是阶为,的群的生成元 输出;一个公开的且被盲化的口令值w 操作: a)计算w,=片、 b输出盲化的口令值w. 9.8.2KRPp-1 DL,Ec}KRPP1原语用于密钥抽取的置换 DL,EC}KRPP1使用服务器私钥、盲化的口令生 成置换后的盲化口令 输人 a)服务器的私钥u; b客户端发送的盲化口令w; 与密钥u和w.相关的(DL,EEC)}域参数(包括). c 假设;私钥u,w.和域参数是有效的 输出:置换后的盲化口令w, 操作: a)计算w,=w, u; b 输出置换的盲化口令w, 9.8.3KRUP1 DL,EC}KRUP1原语用于从置换后的盲化口令中恢复置换后的口令 输人: 客户端的私钥、; a b)服务器发送的置换的盲化口令uw,; 18
GB/I32213一2015 与密钥、和w,相关的(DL,EC)域参数(包括,和g 假设;私钥s,w,和域参数是有效的 输出:父群上的一个元素作为置换后的口令值 操作: 计算=;,=w,'mnd) a b)输出置换的口令值恋, 口令鉴别密钥建立协议 l 10.1BPKA-1 10.1.1概述 DL.,EC}BPKA-1-CLIENT,SERVER}是离散对数,椭圆曲线}平衡型口令鉴别密钥协商协议, 包含参与方CLIENT,sERVER) BPKA-1方案中客户端必须在使用乙或者Ki,KK,之前确认服务器正确获得了Z 注:BPKA-1方案基于参考文献[1] 10.1.2协议选项 客户端和服务器应建立或协商确定以下选项 公钥产生原语、秘密值产生原语和相关的参数;可选项为PEPKGP1,PKGP1,sVDP1-CLI ENT,sVDP2; b共享的八位位组串口令x; 和不相关的有效的1DL.,Bc)城参数,包捐g,密钥," ,U,; d)随机元素生成函数:可选项为{DL,EC}REDP-1,{DL,EC}REDP2 密钥产生函数KDF:可选项为KDF1,KDF2 e -个或者多个密钥产生参数八位位组串组(P,P); g密钥证实函数;可选项为KCF1 10.1.3密钥协商操作 10.1.3.,1客户端密钥协商 客户端执行以下操作: 由不计算群元素不 =REDP(开); a b)随机选择一个整数se[l,r-1],作为私钥 计算连带口令公钥w =DL,EC}PEPKGP-1(s,开 ); 发送w给服务器; 从服务器接收公钥w,; 如果w,不是群的有效元素,则输出“invalid”并停止 计算域元素={DL.,ECSVDP-1-CLIENT(s,w,); 计算八位位组串Z=FE20SP(:); h 对每一个密钥产生参数P,根据Z,产生一个共享密钥K,=KDF(Z,P,); i 输出产生的密钥K,K,K i 19
GB/T32213一2015 10.1.3.2服务器密钥协商 服务器执行以下操作: a)由不计算群元素开用=REDP(T); b)随机选择一个整数se[l,r-1],作为私钥 计算连带口令公钥w,=(DL,EC}PKGP-1(s); 发送w,给客户端 从客户端接收连带口令公钥u 如果w,不是群的有效元素,则输出“invalid”并停止; 计算域元素={DL,ECsVDP2(s,开,w,); h)计算八位位组串Z=FE20OSP(:); 一个密钥产生参数P,根据Z,产生一个共享密钥K 对每 =KDF(Z,P); i 输出产生的密钥Ki,,K K, 10.1.4密钥证实操作 10.1.4.1服务器密钥证实 客户端执行以下操作 a)必选项 计算o=GE20SP(开,); 计算o,=KCF(hex(03),w ,w',,Z,o.); 2 3)发送o,给客户端 可选项 b 从客户端接收八位位组串o; 1) 2)计算o,=GE2(0SP(开.); 3)计算o=KCF(hex(04),w.,w,,Z.o.); 如果oo,输出“invalid”并停止 4 10.1.4.2客户端密钥证实 服务器执行以下操作: a)必选项 1) 从服务器接收八位位组串o, 2) 计算o=GE2OsP(开.); 计算o=KCF(hex(03),w.,w,,Z,o.); 3) 4 如果夭o,,输出“invalid”并停止 b 可选项 1 计算o,=GE20SP(开); 2) 计算o,=KCF(hex(04), ),w.,we,Z,o.); 3)发送o给服务器 10.2BPKA-2 10.2.1概述 DL,EC}BPKA-2-(CLIENT,SERVER}是{离散对数,椭圆曲线}口令鉴别密钥协商方案,其中方 20
GB/T32213一2015 案包含参与方CLIENT,SERVER) BPKA-2方案中客户端可以选择是否在使用乙或者Ki,K K之前确认服务器正确获得了Z 对于服务器而言该步骤同样是可选的 注:BPKA-2方案基于参考文献[1] 10.2.2协议选项 客户端和服务器应该建立或者协商确定以下选项 a)公钥产生原语和秘密值产生原语:应选择PEPKGP-1,SVDP-2 b共享的基于口令的八位位组串开; 和严相关的有效的DL,EC)域参数包括q,r,以及密钥s,w.,w, 随机元素生成函数REDP可选项为{DL,EC}REDP-1,{DL.,EC}REDP2; 密钥产生函数KDF;可选项为KDF1,KDF2; -个或者多个密钥产生参数八位位组串{Pi,P) 密钥证实函数;可选项为KCF1 10.2.3密钥协商操作 10.2.3.1客户端密钥协商 客户端执行以下操作 计算第一个群元素开下=REDP(hex(01ll开); D 计算第二个群元素开只一REDP(hex(02llr); 随机选择一个整数sE[1,r-1],作为私钥 d)计算连带口令公钥w=DL,EC)PEPKGP-1(s,不r); 发送w,给服务器; e) 从服务器接收公钥w, 如果w,不是群的有效元素,则输出“invalid”并停止; g h)计算域元素:={DL.,Ec}svDP2(s,开k,w,); 计算八位位组串Z一FE2OSP(:); iD 对每一个密钥产生参数P,根据Z,产生一个共享密钥K,=KDF(Z,P) jD k)输出产生的密钥K1,KK, 10.2.3.2服务器密钥协商 服务器执行以下操作: a)》计算第一个群元素不下=REDP(hex(02)lr); 计算第二个群元素x只=REDP(hex(01lr): b 随机选择一个整数sE[l,-1],作为私钥 c d 计算连带口令公钥w,={DL,EECPEPKGP1(s,开r); 发送w,给客户端; 从客户端接收公钥w 如果w不是群的有效元素,则输出“invalid”并停止; g h计算域元素:={DL.,Ec)svDP2(s,开R,w.); 计算八位位组串Z一FE2OsP(:). i 对每一个密钥产生参数P,根据Z,产生一个共享密钥K,=KDF(z,P) i 21
GB/T32213一2015 输出产生的密钥K,K K, k 10.2.4密钥证实操作 10.2.4.1服务器密钥证实 客户端执行以下操作 可选项 a 计算r=GE2OSP(开了). 2)计算o,=KCF(hex(03). e,w,,Z ,or); 3 发送o,给客户端 b 可选项 1从客户端接收八位位组串o.; 2计算ok=GE2OSP(而) 3 计算o=KCF(hex(04),w.,w,,Z, oR); 4 如果oo.,输出“invalid”并停止 10.2.4.2客户端密钥证实 服务器执行以下操作: 可选项 a 从服务器接收八位位组串o. 计算oa=GE20sP(开e) 2) 计算“ 3 o;=KCF(hex(03),we,w,,Z,oR); 如果o,o,输出“invalid”并停止 4 b 可选项 计算=GE20sP(开了). 1 2)计算o,=KCF(hex(o4),w,w,,Z,o.); 3 发送o.给服务器 10.3BPKA-3 10.3.1概述 DL,Ec\BPKA-3-CLIENT,SERVER}是{离散对数,椭圆曲线}口令鉴别密钥协商方案,包含参 与方CIIENT,SERVER BPKA-3方案中客户端可以选择是否在使用Z或者Ki,K;K,之前确认服务器正确获得了Z 对于服务器而言该步骤同样是可选的 洼BPKA3方案基于参考文献[2,3] 10.3.2协议选项 客户端和服务器应该建立或者协商确定以下选项 公钥产生原语和秘密值产生原语和相关的参数,应为PEPKGP2,SVDP3; a b 一个布尔值b表示是否使用乘法因子; 共享的基于口令的八位位组串开 d 和开相关的有效的(DL,EC)}域参数,包括q,r;以及密钥s, s.7e. 随机元素生成函数REDP:可选项为DL,EC}REDP1,{DL,EEC}REDP-2 e 22
GB/I32213一2015 f 密钥产生函数KDF:可选项为KDF1,KDF2; 一个或者多个密钥产生参数八位位组串P,尸g); g h 密钥证实函数可选项为KCF1 10.3.3密钥协商操作 两个参与方应该执行如下(或者等同的)操作产生共享的密钥K1,KgK,: a)计算群元素g,=REDP(开); 随机选择一个整数sE[1,r-1],作为私钥 b) 计算连带口令公钥w=(DL.,EC)PEPKGP2(s,段.); d)发送w给另一参与方(另一参与方收到后作为w') 从另 参与方接收公钥w” 如果w'不是群的有效元素,则输出“invalid”并停止 1 如果w’的阶过小不能接受,则输出“invalid”并停止; 2 可选)如果w'不是有效的公钥,则输出“invalid”并停止 3 f计算域元素={DL,Ec}sVDP3(s,xw,b); g)计算八位位组串Z=FE2O)SP(:); h)对每一个密钥产生参数P,根据Z,产生一个共享密钥K;=KDF(Z,P,); 输出产生的密钥K,K,K iD 0.3.4密钥证实操作 10.3.4.1服务器密钥证实 客户端执行以下操作 可选项 a 计算o. =GE2(OSP(g); 计算o 2 =KCF(hex(03),e',w,Z,o); 3 发送o,给客户端 b 可选项 1) 从客户端接收八位位组串o.; 2) 计算 =GE2OSPg.); 一 3) 计算o=KCF(hex(04),w',w ,o.); 4 如果o子o.,输出“invalid”并停止 10.3.4.2客户端密钥证实 服务器执行以下操作 可选项 a 从服务器接收八位位组串o. 1) 2) 计算o,=GE2(0sP(g); 3)计算o=KCF(hex(03),w,w',Z.o.); 如果oo,,输出“invalid”并停止 4 可选项 b 计算o =GE2osP(g.): 1 计算o=KcF(hex(o4),w,w',Z.o.); 2 23
GB/T32213一2015 发送o.给服务器 10.4APKA-1 10.4.1概述 DL,EC}APKA-1-CLIENT,SERVER}是{离散对数,椭圆曲线}口令鉴别密钥协商方案,该方案 是增强型口令鉴别密钥协商方案,包含参与方(CLIENT,SERVER) 在该方案中,客户端拥有口令,而 服务器拥有口令的验证数据 APKA-1方案中客户端可以选择是否在使用Z或者K1,K K之前确认服务器正确获得了Z 对于服务器而言该步骤同样是可选的 注:APKA-1方案基于参考文献[3,] 10.4.2协议选项 客户端和服务器应该建立或者协商确定以下选项: 口令相关数据 a 1) 适用于客户端;口令开; 2 适用于服务器;使用DL,EECPVDG;P1根据开生成口令验证元素g 和口令限制公 钥u,; 公钥产生原语和秘密值产生原语和相关的参数可选原语为PVDGP-1,PEPKGP-2,sVDP3; 和v,g,不相关的有效的DL,EC}域参数,包括q,g,r,以及密钥s,,w,; 个布尔值表明是否希望进行因子乘法运算; 密钥产生函数KDF:可选项为KDF1,KDF2; -个或者多个密钥产生参数八位位组串(P,P); 密钥证实函数;可选项为KCF1 10.43密钥协商操作 10.4.3.1客户端密钥协商 客户端执行以下操作 使用DL,EC}PVDGP1(开计算生成元g.和受限于口令的私钥u.; a b)随机选择一个整数se[l,r-1],作为私钥 c 计算连带口令公钥uw,=(DL,EC)PEPKGP-2(s, ,g); D 发送w,给服务器; 从服务器接收连带口令公钥uw, 如果u,不是群的有效元素,则输出“invalid”并停止; 2 如果w,的阶过小不能接受,则输出“invalid”并停止; 可选)如果w,不是有效的公钥,则输出“invalid"并停止; 计算域元素1={DL,ECsVDP-3(s,w,,b1); DL,EC)svDP3(w. w',b); 计算域元素 文2= g h 计算八位位组串Z=FE2OSP(); 计算八位位组串Z =FE2OSP(); Z=ZZ2; -个密钥产生参数P,根据Z,产生一 k对每一 个共享密钥K;=KDF(Z,P; 输出产生的密钥K,K,K 2
GB/T32213一2015 10.43.2服务器密钥协商 服务器执行以下操作: 随机选择一个整数sE[1,尸-1]作为私钥 a b)计算连带口令公钥w,={DL,EC)PEPKG;P2(s,g.); 发送w,给客户端 从客户端接收连带口令公钥w 如果w,不是群的有效元素,则输出“invalid”并停止; 如果w,的阶过小不能接受,则输出“invalid”并停止 2 可选)如果w,不是有效的公钥,则输出“nvalid"并停止; 5 计算域元素=1=(DL,EC)svDP3(s,w,b)); 计算域元素;=(DL,EC}svDP3(s,w,,b)); 计算八位位组串Z=FE20SP(3) g h)计算八位位组串Z,=FE2OSP(空,) i Z=ZZ; 一个密钥产生参数尸”根据Z,产生一个共享密钥K=KDF(z,尸)7 对每 k)输出产生的密钥K1,KK, 10.4.4密钥证实操作 10.4.4.1服务器密钥证实 客户端执行以下操作 a 可选项 计算o,=G;E2OSPg.); 2) 计算o,=KCF(hex(03),w.,w,,Z, ,o); 3 发送o,给客户端 b 可选项 从客户端接收八位位组串o.; 2) 计算o,=GE20SPg.); 计算o=KCF(hex(04),w,w,,Z.o.); 3 如果o;o.,输出“invalid”并停止 10.4.4.2客户端密钥证实 服务器执行以下操作: a)可选项 1从服务器接收八位位组串o, 2) 计算o,=GE2(OSP(g); 计算o,=KCF(hex(03),w.,w,,Z,o,); 3 如果o;o,,输出“invalid”并停止 4 可选项 b 1计算o,=GE20OsP(s.) 2)计算o=KCF(hex(o4),w,w,Z.o.) 发送o给服务器 3 25

信息安全技术公钥基础设施远程口令鉴别与密钥建立规范GB/T32213-2015

在当今数字化时代,信息安全问题越来越受到人们的关注。为了加强网络安全保护,我国制定了一系列的信息安全技术标准和规范,其中GB/T32213-2015《信息安全技术 公钥基础设施 远程口令鉴别与密钥建立规范》就是其中之一。 该规范主要包含了公钥基础设施(PKI)中远程口令鉴别与密钥建立方面的要求和规定。公钥基础设施是一种用于保障信息传输安全的技术体系,它利用公钥、私钥以及数字证书等手段来确保通信的机密性、完整性和真实性。而远程口令鉴别与密钥建立则是PKI中的两个重要环节,它们对于保证通信的安全性起着至关重要的作用。 在GB/T32213-2015规范中,远程口令鉴别的要求主要包括以下三个方面:一是要求鉴别机制必须采用具有强度和不可预测性的随机数;二是要求鉴别信息必须加密传输,且要求使用HTTPS协议进行通信;三是要求限制尝试次数和间隔时间,以防止暴力破解攻击。同时,在密钥建立方面,规范也提出了具体的要求,如要求采用安全的密钥交换算法、要求使用安全随机数等。 总之,GB/T32213-2015规范的制定为公钥基础设施中的远程口令鉴别与密钥建立提供了明确的规范和指导,有助于提高网络通信的安全性和可靠性,保护用户的数据和隐私。对于企业和组织来说,遵循规范所提出的要求将成为其有效管理信息安全的重要手段。

信息安全技术公钥基础设施远程口令鉴别与密钥建立规范的相关资料

    和信息安全技术公钥基础设施远程口令鉴别与密钥建立规范类似的标准

    农业科技成果评价技术规范
    上一篇 本文分享国家标准农业科技成果评价技术规范的全文阅读和高清PDF的下载,农业科技成果评价技术规范的编号:GB/T32225-2015。农业科技成果评价技术规范共有16页,发布于2016-02-01
    硅片表面金属沾污的全反射X光荧光光谱测试方法
    本文分享国家标准硅片表面金属沾污的全反射X光荧光光谱测试方法的全文阅读和高清PDF的下载,硅片表面金属沾污的全反射X光荧光光谱测试方法的编号:GB/T24578-2015。硅片表面金属沾污的全反射X光荧光光谱测试方法共有12页,发布于2017-01-01 下一篇
    相关推荐