推进国产密码算法应用 实现信息系统自主可控

2015-12-26 06:47付朋侠
科学家 2015年10期

付朋侠

摘要 密码技术是信息安全保障的核心,为确保密码算法的自主可控,降低敏感信息泄露和信息系统遭受攻击的风险,国家密码管理局制定并发布了国产密码算法及相关密码行业标准。本文对国产密码算法的现状进行简单的介绍,并对信息系统进行国产密码算法升级提出改造方案。

关键词 国产密码算法;数字证书认证系统;SSL网关

中图分类号 TN91

文献标识码 A

文章编号2095-6363(2015)10-0104-02

1 背景

2013年的棱镜门事件,暴露出我国计算机及网络系统等信息化基础设施长期依赖国外产品,面临安全隐患。2014年2月,中央网络安全和信息化领导小组宣告成立,习近平总书记亲自担任组长,信息安全被提升至国家层面。

密码技术是信息安全保障的核心,我国绝大部分行业核心领域长期以来都是沿用国际通用的密码算法体系,主要包括DES、3DES、AES、RSA、SHA-1、MD5等密码算法。国产密码算法是我国自主研制、具有自主知识产权的一系列密码算法,具有较高安全性,由国家密码管理局认可和推广,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。随着密码技术和计算技术的发展,以及RSA预留后门、RSA1024算法风险等事件影响,根据国家密码管理局的要求,公钥密码算法要尽快升级为国产密码算法,中央办公厅也提出要求,“各金融机构要在2013-2015年全面完成主要应用系统使用国产密码算法的升级改造”,信息系统进行国产密码算法升级改造已成为当务之急,成为我国实现信息安全自主可控的主要手段之一。

2 国产密码现状

近年来,国家密码管理局公开了自主研发的SM2、SM3、SM4等一系列密码算法和标准,用以保障我国信息安全。算法简要介绍如下。

1)国产SM2算法。国产SM2算法是一种基于椭圆曲线理论实现的非对称算法,是国际上ECC椭圆曲线算法的优化。与椭圆曲线算法的主要区别在于选择的一些参数不同,少数实现细节有细微调整优化。SM2算法的总体安全性和性能等方面和ECC算法一样,是目前已知的公钥体制中对每比特所提供加密强度最高的一种算法。SM2加密强度为256位,其安全性与目前使用的RSA1024相比具有明显的优势。

2)国产SM3算法。国产SM3算法,是一种杂凑算法。即对于给定长度为k(k<264)的消息,SM3杂凑算法经过填充、迭代压缩和选裁,生成杂凑值,杂凑值长度为256比特。该算法与非对称算法组合能够实现数字签名功能。

3)国产SM4算法。国产SM4算法,是一种分组对称密码算法。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。

据国家商用密码管理办公室网站统计,目前,国家密码管理局已组织引导产业界开发并公布了967项商用密码通用产品;224项支持SM2/3/4密码算法的商用密码产品;352项支持SM2椭圆曲线密码算法的通用产品。密码产品包括SSL网关、数字证书认证系统、密钥管理系统、金融数据加密机、智能密码钥匙、智能IC卡、PCI密码卡等多种类型,目前已初步形成形式多样、功能互补的产品链,并保持着持续增长的势头,在国家主导的行业中更多地采用国家密码管理局的密码算法,必将成为趋势。

3 典型信息系统架构及改造方案

目前,我国典型的信息系统通常都涉及到数字证书认证系统、SSL网关以及口令加密、数据加密等功能,典型系统架构如图1所示。

在实施国产密码算法改造过程中,通常包括以下几方面工作。

3.1 改造数字证书认证系统

根据国家密码管理局要求,全国大部分电子认证服务机构目前已完成了电子认证服务系统公钥密码算法升级,支持SM2椭圆曲线密码算法,并接入国家电子认证信任源点。各机构若是采用第三方电子认证服务,则只需要改造注册审批系统(RA);若是自建数字证书系统,则需要对密钥管理中心(KMC)、认证中心(CA)以及注册审批系统(RA)进行改造。

1) KMC系统。KMC系统是电子认证系统的子系统。它的功能是管理加密证书的密钥,并为CA的证书用户提供加密密钥。KMC系统通过改造后能够全面支持国产密码算法,产生基于国产密码算法的加密密钥。2)CA系统。CA系统是电子认证系统的核心,主要功能是实现数字证书生命周期的管理,同时还负责用户证书状态的发布。电子认证机构升级CA系统后须能够完成国产算法证书的签发,并能够进行国产算法证书的申请、下载、冻结、更新、吊销等操作。3)RA系统。RA系统实现电子认证系统中证书的注册审核工作,完成对证书申请信息的录入和审核,代用户向CA申请并下载数字证书。RA在进行数字证书申请过程中,可以支持产生国产密码算法的申请,并能够进行国产算法数字证书的下载与更新。

3.2 改造应用信息系统

1)客户端。客户端若使用USBKey作为证书介质,应需要更换证书,则应考虑USBKey介质的适配性,采用支持国密证书的USBKey产品供应商。如果使用文件证书,则无需考虑介质。

2) SSL网关。若采用硬件方式,可采用支持国密算法的SSL网关。若采用软件方式,目前主流的应用服务器中间件如WebLogic、WebSphere暂不支持国密算法,修改系统配置后,可以支持2048位的RSA算法以保障安全性。

3)密码算法。若系统中采用了加密或者哈希算法,应采用对应的国产密码算法替代对应的国际算法,国产密码算法与国际密码算法的对应关系如表1所示。

4)其他密码产品。其他密码产品如签名验签服务器、密码卡等,可按照国家密码管理局公布的产品目录进行升级或替换。

推进国产密码算法实施建议。国产密码算法在不同领域的应用,涉及芯片,操作系统,密码专用产品,应用产品,中间件、数据库等多个环节,需要从最底层芯片到应用的完整产业链支持。而完整产业链的培育是一个长期的工作,包括了标准规范制定、产品研发、检测体系建设、应用验证、大规模应用等不同工作。为顺利实施国产密码在金融、电力、医疗、通信等关键行业的推广,需要确定指导全局、委托可行的总体实施策略,顺利推进相关工作的开展。

根据实际工作需要特点,不同领域国产密码算法应用推广实施的可按照如下图路径实施。