孙秀胜
一、前言
当前科技飞速发展,促使银行为客户提供高效、便捷服务的同时,也因系统、软件的漏洞也带来了许多信息安全方面的问题,甚至已经威胁到国家安全。国家密码局在2011年就指出,当前银行使用的1024位的RSA算法正在面临日益严重的安全威胁,为确保信息安全,需要建立以国产密码为主要支撑的金融信息安全保障体系,实现密码算法的自主可控,为此提出覆盖整个金融行业的国产化密码算法和对现有系统和设备进行密码算法国产化改造的要求。
二、国密算法介绍
国密算法是由国密局制定的一系列自主可控国产化密码算法,又称商用算法,主要分为分组密码算法、公钥密码算法和摘要算法。
(一)分组密码算法
该类算法主要有SM1算法和SM4算法。SM1算法对数据保密程度与国际算法的AES基本一致,该算法主要用于各类芯片、卡片的加密保护和身份认证。SM4算法采用128比特长度密钥,可抵抗差分攻击和线性攻击,其安全性稍优于3DES国际算法,主要用于对敏感数据的加解密,确保数据在传输过程中的安全性。
(二)公钥密码算法
该类算法主要指SM2椭圆曲线公钥密码算法。SM2算法是在ECC算法基础上自主设计的一种非对称密码算法,分为用于实现数字签名功能的SM2-1算法、实现密钥交换和密钥协商功能的SM2-2算法和实现敏感数据公私钥加解密功能的SM2-3算法。相对基于分解大整数的困难性的RSA算法,SM2算法的安全性是基于椭圆曲线上点群离散对数难题,SM2算法采用256比特长度的密钥,其在密钥生成速度、解密加密速度和安全性上都要优于密钥长度为2048比特的RSA密钥。
(三)摘要算法
该类算法主要指SM3杂凑算法。SM3算法是在SHA-256基础上自主设计的一种摘要算法,主要用于数字签名和验证、消息认证、数据完整性验证。相较于被碰撞攻击破解的SHA-1和MD5算法,输出长度为256比特的SM3算法具有更高的安全性。
三、自助终端设备国密改造方法
自助终端设备相关交易是银行业务的重要组成部分,自助终端设备的安全性是银行系统安全保障的重要基石。由于终端设备分布广泛、现存数量较多等因素,自助终端设备的国密改造工作属于银行系统国密改造的重点和难点。
自助终端设备的国密改造不僅牵扯到软件层面还牵扯底层硬件。各银行系统之前当前使用的如ATM、智慧柜员机等设备的密码键盘不支持国密算法,由设备厂商人员批次更换支持国密算法的密码键盘硬件设备,升级底层驱动程序,登陆自助终端设备管理平台升级相应应用程序,将算法标识由国际算法修改为国密算法。
在完成国密改造硬件准备后,需要在设备中录入第一把国密终端主密钥(TMK),作为初始国密主密钥,再由银行设备管理人员在自助设备端发起联机申请国密主密钥操作,完成国密改造工作。
根据初始国密主密钥传值方式不同,将国密改造分为基于密码信封的国密改造方法和基于初始密钥的国密改造方法。
(一)基于密码信封的国密改造方法
该方法要求各终端管理人员填写密钥申请单,银行密钥管理平台调用硬件加密机(Hardware and Security Module,HSM)为每台终端设备生成一把国密主密钥,将产生的国密密钥通过特定打印机打印到密码信封中,通过邮寄等方式下发至各管理人员,管理人员采用背靠背方式录入密钥。
其具体处理流程如图1所示:
此外,一些银行借助密钥分发器等工具来完成密钥分发工作,相较与密码信封具有更高的安全性,可重复使用,有效地减少因人工录入导致密钥错误的风险。基于密码信封的国密改造方法主要用于新增自助终端设备或者因键盘故障需更换密码键盘的设备国密改造。
(二)基于初始密钥的国密改造方法
基于密码信封的国密改造方法要求为每台设备打印密码信封,对于存量国际算法终端设备较多、分布较广情况,该方法需人工线下申请国密密钥,耗时较多,国密改造周期较长,效率较低。针对这种情况,可以采用基于初始密钥的国密改造方法。
该方法要求各分行科技人员预先至总行录入商定的密钥明文,经由密钥管理平台调用硬件加密机为各分行生成国密主密钥。各分行内存量设备进行国密改造时,无需为每台设备填写国密密钥申请单,只需将约定好的密钥录入终端,然后由设备管理人员触发联机更换国密主密钥操作,完成国密改造。
其具体处理流程如图2所示:
该方法有效地提高自助终端设备国密改造效率,但存在明文泄露风险,存在一定的安全隐患。
四、总结
本文提出的基于密码信封国密改造方法和基于初始密钥的国密改造方法都能有效地完成国密改造工作,在使用过程中,应结合银行内自助终端设备实际现状,扬长避短,选择合适的方法对设备进行密码算法的国产化改造。