文 / 中国人民银行金融信息中心 董贞良

密码技术是确保金融领域系统的高安全性、交易敏感数据的机密性、交易终端的可认证性的基础和核心技术。本文简要综述了密码算法和商用密码算法国际化的基本情况、金融领域密码技术应用现状,介绍了国际标准化组织(ISO)发布的技术报告—金融服务密码算法及使用建议,为后续密码应用标准化相关工作打下基础。

国密算法国际标准化情况

近10年来,国家密码管理局制订颁布了一系列国家商用密码算法标准,包括SM1算法(对称密码算法)、SM2算法(椭圆曲线公钥密码算法)、SM3算法(密码杂凑算法)、SM4算法(分组密码算法)、SM9算法(标识密码算法)、祖冲之(ZUC)算法(序列密码算法)。国密算法对应的国际算法见表1。

表1 国密算法简介表

从2015年4月,我国陆续提交了三个国密算法国际标准提案,分别是:SM3杂凑算法纳入ISO/IEC 10118-3;SM2数字签名算法和SM9数字签名算法纳入ISO/IEC 14888-3;SM4算法纳入ISO/IEC 18033-3。四个算法均已成功纳入并进入项目编制阶段,其中,SM2和SM9数字签名算法已经进入正式发布阶段,SM3算法处于第二版最终国际标准草案阶段,SM4算法处于第一版补篇草案建议稿阶段。我国国密算法国际化情况见表2。

表2 我国国密算法标准国际化情况简表

密码技术在金融行业应用概述

密码技术广泛应用于金融IC卡、网上银行、网上证券、移动支付、电子保单等多类金融业务系统中。从参与主体来说,金融领域密码应用涉及国家主管部门,行业监管部门,银行、证券、保险金融机构,支付清算机构,应用系统提供商,密码设备、密码基础设施供应商,客户、商户等主体;从涉及的安全目标来说,包括确保金融数据的机密性、交易参与方身份认证(抗抵赖性)、交易数据的完整性、交易的不可否认性;从密码应用的具体支撑来看,包括密码算法支持、密码设备产品支持、密码基础设施支持、终端和机具支持、应用系统支持等。

抽象来看,一般金融领域的应用系统中首先是网络服务层支持,在此之上建立加密技术层和身份认证层。加密技术层通过对称密码算法和非对称密码算法实现,身份认证层通过部署PKI体系下的CA认证体系等认证方式实现。在此之上,再建立密码安全协议层,例如SSL/TLS协议、SET协议、3DS等,实现涉及各方的安全通信。安全协议层之上是应用系统层。

以网银系统为例,浏览器与网银安全网关之间通过建立SSL加密通道的方式确保数据传输过程中的安全性。在密钥协商和通信传输过程中使用了非对称密码算法和对称密码算法;通过客户、服务器建立双向认证机制,数字证书生成、用户身份认证环节使用了非对称密码算法;在对客户提交信息进行签名验签的过程中使用了非对称密码算法和杂凑算法。

目前,金融领域国产密码算法应用稳步推进,取得显著成效。在应用标准方面,金融行业陆续发布《中国金融集成电路(IC)卡规范》《金融电子认证规范》等一系列标准明确采用国产密码算法。在国际标准化跟踪研究方面,持续跟踪研究《银行业务和相关金融服务三重数据加密算法操作模式实施指南》《银行业务采用对称加密技术报文鉴别的要求》《银行业务密钥管理(零售)》《银行业务证书管理》等国际标准并转化为国家标准。这些工作为保障金融关键信息基础设施安全、维护公民权益、完善国家网络空间治理体系建设提供了基础支撑。

金融服务密码算法及使用的建议

国际标准化组织金融服务技术委员会安全分委会(ISO TC68 SC2)组织编制了《金融服务密码算法及其使用建议》技术报告(ISO TR 14742:2010),目前该标准正在结合密码算法研制情况修订。

该标准主要提供了一系列推荐性密码算法,适用于ISO/TC68的金融服务标准,同时还对密钥长度、相关参数和使用期限提供了原则性指导。该标准主要关注算法而不是协议,总体来说,没有包括协议相关内容。但对于一些特例,例如,对某些密钥协议和鉴别协议,其虽然不包括底层算法,但从某种意义上来说是由协议构成了算法。对于这种情况,特别是协议中包含了可调整安全级别高低安全参数时,该标准包括了协议机制。

在金融服务领域,算法安全的脆弱性或密钥长度不足带来的安全危害,就其发生频度而言,远小于其他因素。例如,密钥管理不当或其他管理过程中的失误;密码算法或协议的错误实现等。然而,算法的脆弱性引发的危害更加底层,其恢复难度也更大。本标准主要针对密码算法和密钥长度提出相关建议,涵盖的算法类别如下。a)分组密码;b)流密码;c)哈希函数;d)报文鉴别码;e)非对称算法:带报文恢复的数字签名方案、带附录的数字签名、非对称密码;f)鉴别机制;g)密钥生成和协商机制;h)密钥传输机制。该标准没有对任何密码算法进行定义,但其参见的标准包含必要的实施信息、与安全参数选择、安全分析相关的详细指南,以及其他实施中的考量。

该标准共包括8个章节和1个规范性附录。第1章是范围。第2章是安全性的位度量。其中,说明了“n位安全”的概念,提出了不同位强度算法的推荐使用期。第3章是算法迁移。依照密码学的发展状况和计算能力的增长速度,曾经安全的密码算法和密钥长度可能不再安全。本章提出了除识别出需要向新的算法、更长的密钥及密钥管理机制迁移的金融系统并进行准备外,开展算法迁移的步骤。第4章是分组密钥。主要包括列举的适用于ISO/TC68标准的分组密码、密钥选项、推荐的分组密码、分组大小和密钥的使用、操作模式、短明文加密、TDEA向AES的迁移等内容。第5章是流密码。主要包括流密码的定义、操作模式等内容。第6章是哈希函数。主要包括哈希函数及其属性、基于分组密码的哈希函数、专用的哈希函数、使用模运算的哈希函数、由一个哈希函数向另一个哈希函数的迁移。第7章是报文鉴别码(MAC)等内容。主要包括推荐的报文鉴别码(MAC)算法、基于分组密码的报文鉴别码(MAC)算法、基于哈希函数的报文鉴别码(MAC)算法、报文鉴别码(MAC)的长度、密钥的报文范围。第8章是非对称密码算法等内容。主要包括非对称算法的原理、基于因式分解的安全机制、基于整数离散对数的安全机制、基于椭圆曲线离散对数的安全机制、算法或密钥失效、带报文恢复的数字签名方案、带附录的数字签名、非对称密码等内容。第9章是随机数生成。主要包括随机数生成原则和机制等内容。附录A是实体鉴别和密钥管理机制,主要描述了实体鉴别、密钥生成、协商和传输机制。

声明:本文来自金融电子化,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。