内容简介:作者:中国金融认证中心信息安全服务部 谢宗晓河南警察学院信息安全系副教授 刘琦结合ISO/TC68/SC2/WG8的工作进展情况,本文重点介绍以ISO 21188:2018为代表的PKI金融行业应用规范。
作者:中国金融认证中心信息安全服务部 谢宗晓
河南警察学院信息安全系副教授 刘琦
结合ISO/TC68/SC2/WG8的工作进展情况,本文重点介绍以ISO 21188:2018为代表的PKI金融行业应用规范。 主要关注以下方面: 第一,ISO 21188标准与ISO/IEC27002等通用标准之间的关联,以及其中的引用关系。第二,在国家标准采用过程中,与SAC/TC260发布的相关标准之间的词汇翻译异同。第三,ISO/TC68/SC2/WG8的下一步工作重点,包括量子安全技术、轻量级密码和区块链等相关标准的进展。
PKI的定义与范围
PKI是指支持公钥管理体制的基础设施,提供鉴别、加密、完整性和不可否认性服务。通俗讲,PKI是集机构、系统(硬件和软件)、人员、程序、策略和协议为一体,利用公钥概念和技术来实现和提供安全服务的、普适性的安全基础设施。
在公钥密码中,发送者用公钥(加密密钥)加密,接收者用私钥(解密密钥)解密。公钥一般是公开的,不再担心窃听,这解决了对称密码中的密钥配送问题。但是接收者依然无法判断收到的公钥是否合法(有可能是中间人假冒的)。事实上,仅靠公钥密码本身,无法防御中间人攻击。于是,需要(认证机构)对公钥进行签名,从而确认公钥没有被篡改。加了数字签名的公钥称为公钥证书,一般简称证书。
有了证书来认证,可以有效防御中间人攻击,随之带来了一系列非技术性工作。例如,谁来发证书?如何发证书?不同机构的证书怎么互认?纸质证书作废容易,数字证书如何作废?解决这些问题,需要制定统一的规则,即PKI体系。
PKI体系是通过颁发、管理公钥证书的方式为终端用户提供服务的系统,最核心的元素是证书。围绕证书构成了该体系的要素:使用PKI的用户、颁发证书的机构(Certificate Authority,CA)和保存证书的仓库。因此,在本文讨的PKI相关标准中,PKI是一个总称,既包括定义PKI的基础标准,也包括PKI的应用标准。
定义及应用PKI的国际标准
综上所述,PKI可以认为是一系列的规范和标准,为了实现安全基础服务目的的技术都可称为PKI。从这个角度讲, 需要强调两点: 第一, 标准化是PKI的内在要求,或者说PKI本身就是一类标准的总称。 第二, PKI是广义词汇,任何以公钥密码技术为基础的安全基础设施都是PKI。
1.基础标准:ITU-TX.509(10/2016),是PKI体系中最为基础的标准之一。2017年5月被发布为ISO/IEC 9594-8:2017 8th Edition。本文沿用ITU-T的文号标识,因该标识在业界更为深入人心。ITU-TX.509最早发布于1988年,发布伊始即与ISO 9594-8保持合作同步开发。X.509的版本变迁非常复杂,目前最新版本为V8。
ITU-TX.509(10/2016)的重要贡献是定义了公钥证书的数据格式。在此基础上,定义了公钥证书框架和属性证书(attribute certificates)框架。其中包括证书撤销列表(Certificate RevocationLists,CRLs)和特定权限管理基础设施(Privilege Management Infrastructure,PMI)等。
值得指出的是,ISO/IEC 9594为开放系统互连(Open Systems Interconnection,OSI)的系列标准之一,这意味着ISO/IEC 9594-8在互联网应用中有着重要意义。实施情况的确如此,更多的下位标准被陆续开发,PKIX组成立。
2.下位标准:PKIX开发的系列标准。为了在In-ternet应用基于X.509的PKI,互联网工程任务组(TheInternet Engineering Task Force,IETF)在1995年成立了PKIX工作组。 PKIX所开发的标准是典型的领域应用,为其他领域应用提供了良好的模板。
此外,IETF一般以RFC的形式发布文档,这并非正式标准,却是事实标准。这种情形比较常见,例如OSI七层模型是国际标准化组织计算机与信息处理技术委员会(ISO/TC97)开发的国际标准,但并未能实际应用,事实标准是TCP/IP四层模型。
PKIX发布的RFC文档架构及设计,对于其他标准的开发具有较大借鉴意义。表1列出了几个重要的PKIX标准,可以从中体会其与X.509的关系。
表1 几个重要的PKIX标准
3.上位标准:ITU-TX.500及相关。ITU-TX.500~X.599系列标准的概要定义与轻量目录访问协议(Lightweight Directory Access Protocol,LDAP)基本保持一致。之所以将ITU-TX.500列为ITU-TX.509的上位标准,正是由于ITU-TX.509也遵从该框架。ITU-TX.509的附录A基于抽象语法标记(Abstract Syntax Notation One,ASN.1),但这与该标准描述的主要议题关系不大,只是表述方式的选择。
4.相关标准:PKCS系列标准。公钥密码算法标准(Public-Key Cryptography Standards,PKCS)是由RSA实验室与其他安全系统开发商制订的一系列非正式标准。RSA算法是公钥密码的事实标准,因此PKCS也几乎成为了事实上的标准族。
PKCS目前发布了15个标准,包括了公钥密码的各个方面。例如RSA算法定义在PKCS#1《RSA加密标准》、PKCS#3《Diffie-Hellman密钥交换标准》。这些标准经常被采纳为RFC文档或者国际/国家标准,例如PKCS#1被采纳为RFC8017。
金融行业PKI应用的国际标准
1.已发布的PKI相关标准。 与PKIX开发的系列标准类似,PKI在金融领域的应用可以认为是X.509的下位标准。 国际标准化组织金融服务技术委员会(ISO/TC68/SC2),目前发布信息安全标准17项,在研标准4项,其中关于PKI应用的为ISO21188:2018金融服务公钥基础设施时间与策略框架(Public key infrastructure for finan-cialservices—Practices and policy framework)。该标准由金融公钥基础设施工作组(ISO/TC68/SC2/WG8)负责ISO 21188:2018标准的制修订工作。
ISO 21188:2018用一个单独的标准描述了PKI应用场景的管理要求。首先,ISO 21188:2018定了金融机构利用PKI服务客户时可能面临的三种环境:封闭环境、契约环境和开放环境。进而根据这三种环境讨论了不同的业务要求,在业务要求的基础上提出了认证策略。
上述国际标准中,ISO 15782-1:2009被等同采用为GB/T27928.1-2011。ISO 21188:2006被等同采用为GB/T 27913-2011,这其中有值得补充两点。 第一,规程,在ISO 21188:2018用的英文词汇是“procedure”。 在GB/T 27913-2011/ISO 21188:2006中该词汇被译为“程序”。在ISO/IEC 27002:2013引言中,有一句:“Infor-mation security is achieved by implementing a suitable set of controls,including policies,processes,procedures,organizational structures and software and hardware functions.”如果将上述词汇翻译为:“过程”和“程序”,则不易区分。因此,在GB/T 22081-2016/ISO/IEC 27002:2013中,将该句翻译为:“信息安全可通过实现一组合适的控制来达到,包括策略、过程、规程、组织结构和软硬件功能。”基于此,在信息安全情境中,一般认为规程是文件化的程序,程序是一系列的步骤,过程则一般要求有输入输出。
第二,资产分类,是GB/T 27913-2011/ISO 21188:2006的翻译。在ISO 21188:2006用的英文词汇是“asset classification”,这里classification实际上分级的概念。首先,class含有“等级”的含义,而classi-fy以及classification的这种分类本身就包含了等级的含义。因此,ISO/IEC 27002:20138.2 Information classifica-tion,在GB/T 22081-2016/ISO/IEC 27002:2013中翻译为“信息分级”,虽然在之前的GB/T 22081-2008/ISO/IEC 27002:2005也翻译成“信息分类”。此外,不需要过度关注ISO 21188:2018和ISO/IEC 27002:2013中“资产”和“信息”词汇的区别,因为ISO/IEC 27002:2013中“8.2信息分类”的上级标题为:“8资产管理”。或者说,在信息安全中,“信息”是作为最重要的“资产”而出现的。
同时,信息安全分技术委员会安全控制与服务工作组(ISO/IECJTC1/SC27/WG4)参与了ISO 21188:2018的制订工作,因此其中描述与ISO/IEC 27002:2013等标准在某种程度上存在相似之处。后续,ISO/IECJTC1/SC27/WG4计划以ISO 21188:2018为基础,制定PKI的通用标准。
此外,形如ISO 21188:2018这样的PKI行业应用标准,在其他领域也大量存在。例如,ISO 17090系列共5部分,该标准是国际标准化组织健康信息学标准化技术委员会(ISO/TC215)发布的PKI在卫生保健领域的应用指南。
2.正在研发的标准。美国专注于量子安全的ISARA公司与Certified Security Solutions(CSS)发布了第一项量子安全PKI解决方案,该项标准由ISO/TC68SC2 WG8和ITU-T SG17联合制订,并计划以此作为ISO 21188的扩展内容,暂时计划在2019年第一季度启动此工作。
在区块链和分布式账本技术方面,在支付场景中,PKI可以用于DLT,也可用于标识块。目前,ISO/TC68/SC2/WG8与国际标准化组织区块链和分布式记账技术技术委员会(ISO/TC307)已经建立联络关系,预计在2018年第四季度发布标准草案。
轻量级密码目前主要在如物联网、自动驾驶和分布式控制系统等对安全要求较高但又受资源限制的应用场景,该类标准主要由ISO/TC68/SC2/WG8和银行业务中的加密算法工作组(ISO/TC68/SC2/WG11)进行研究,关注点为轻量级密码在金融机构的解决方案,预计在2019年第二季度启动此工作。
PKI相关的国家/行业标准
数字证书格式在不同的领域或者不同的国家,应用时是否需要与ITU-TX.509保持一致,只是习惯问题,或者是否看重国际互认。例如,形如ISO 21188这样关注行业应用的推荐性标准就不再重新定义证书格式。但是,作为PKI体系在各国的应用,一般会重新进行规范,而且类似CA机构建立等问题,本身就是行政管理的范畴。当然,证书格式一般都是“等同/修改”采用。
ITU-TX.509没有特定某个国家标准与之对应,但是主要内容都被分拆至不同标准中。例如GB/T 20518-2006专门定义了数字证书格式,作为配套标准的GB/T 20519-2006和GB/T 16264.8-2005则配合构成完整的权限管理系统标准。整体而言,全国信息安全标准化技术委员会(SAC/TC260)发布的国家标准与上述国际标准基本保持一致,只是成文形式略有区别。
值得指出的是,国内开始陆续用国产密码算法代替国际密码算法,例如GM/T0015-2012《基于SM2密码算法的数字证书格式规范》。如前文所述,证书格式依然是基于ITU-TX.509,只是由于算法不同,数字证书的编码有所不同。
小结
综上所述,PKI已成为以X.509为核心的一系列标准和规范的统称。因此,本文将ITU-TX.509作为基础标准,由此讨论了其上位标准如ITU-TX.500,下位标准如PKIX开发的系列标准,以及相关标准如PKCS系列标准。PKI体系离不开公钥密码算法,常用的公钥密码算法,如RSA、椭圆曲线密码和SM2等都在相关标准中进行定义。
PKI证书认证体系只是提供了其中一种身份认证技术,也就是说,PKI是在公钥密码算法基础上人为建构的一套系统。当然也存在其他的身份认证途径,例如基于标识的密码技术(Identity-Based Cryptograph,IBC)的认证体系,IBC也是基于公钥密码的体系,只是算法不同。不同的体系各有利弊,IBC绕开了CA,解决了CA不可信的问题,但是引入了私钥生成中心(Private Key Generator,PKG),要求可信度更高。 简单来说,同样是基于公钥密码算法,PKI是对公钥加了签名作为认证,IBC是将用户身份标识直接作为公钥。
本文节选自《金融电子化》2018年10月刊
声明:本文来自金融电子化,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如需转载,请联系原作者获取授权。
以上所述就是小编给大家介绍的《公钥基础设施 (PKI) 国际标准进展》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 喜大普奔,又一国标正式进入国际标准
- 华为蒋胜:IPv6国际标准综述和未来发展方向
- 密码算法应用及国际标准化情况
- bitcoin:压缩公钥与未压缩公钥
- [学习笔记] “付款到公钥” 和 “付款到公钥哈希”
- Golang代码搜集-基于RSA的公钥加密私钥解密-私钥签名公钥验证
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python语言程序设计
[美]梁勇(Lang Y. D.) / 李娜 / 机械工业出版社 / 2015-4 / 79.00元
本书采用“问题驱动”、“基础先行”和“实例和实践相结合”的方式,讲述如何使用Python语言进行程序设计。本书首先介绍Python程序设计的基本概念,接着介绍面向对象程序设计方法,最后介绍算法与数据结构方面的内容。为了帮助学生更好地掌握相关知识,本书每章都包括以下模块:学习目标,引言,关键点,检查点,问题,本章总结,测试题,编程题,注意、提示和警告。 本书可以作为高等院校计算机及相关专业Py......一起来看看 《Python语言程序设计》 这本书的介绍吧!