• 快捷搜索
  • 全站搜索

SM3国密算法在基层人行系统的应用探索

2016-11-08 17:52:42作者:中国人民银行芜湖中心支行 李芳芳编辑:金融咨询网
人民银行芜湖中心支行从其自主开发的“芜湖市金融协同统一工作管理平台”系统为切入点,在系统用户登录身份验证环节首次使用国密SM3算法进行数据加签,在此项目测试过程中,SM3算法表现出较好的稳定性、可操作性,从身份验证角度证明国密算法推广的可行性。

人民银行芜湖中心支行从其自主开发的“芜湖市金融协同统一工作管理平台”系统为切入点,在系统用户登录身份验证环节首次使用国密SM3算法进行数据加签,通过多次测试,该算法在系统使用过程中具有高速、稳定的特点,为在其他领域的应用起到了初步探索的重要作用。

  本项目开发技术支撑平台采用J2EE技术体系,数据库采用DB2,应用服务器采用Weblogjc、Tomcat,其各自优势在业界已经得到普通认可。本系统依赖于强大的数据库后台支持,报表数目繁多,数据量大。

  SM3算法在本项目中相关数据表建立。在本项目的UAM P数据库中建立“T_SYS_USERS”表,用来存放用户的用户名、密码等信息。由于本系统是面向人民银行系统定向使用者,因此用户信息由开发人员建立并录入“T_SYS_USERS”表。“T_SYS_USERS”表包含“F_ID”、“F_COD E”、“F_PASSWORD”等22个字段。

  SM3国密算法在本项目中类和方法建立。本项目开发软件平台为MYECPLISE 2014,实现SM3算法的类主要为SM3Process.cIass类和caIculateSign(String signData,String key)方法。signData为登录时用户输入的登录密码,key在类和方法调用过程中可以设定为固定值,无需用户输入。最后返回一个SM3加密后的64位数据,这个数据为用户输入的密码字符串的加签数据。

  SM3国密算法在本项目中的应用。用户在登录界面输入用户名、密码等信息,登录过程中,SM3算法将用户输入的密码转换为SM3加密后的加签数据,之后将该加签数据和“T_SYS_USERS”表中“F_PASSWORD”数据进行比对是否一致。

  在此项目测试过程中,SM3算法表现出较好的稳定性、可操作性,从身份验证角度证明国密算法推广的可行性。

  从算法本身安全性角度来看,国产SM3算法有效提高加密算法可靠性。SM3算法的压缩函数与SHA- 256的压缩函数结构相似,但SM3算法的压缩函数结构和消息拓展过程设计更加复杂。例如MD5散列值输出为32字节杂凑值,SHA-0、SHA-1算法散列值输出为40字节,SM3算法散列值输出长度为64字节。SM3算法安全性要高于MD5算法和SHA-1算法。

  在金融领域,目前依然是国际商用密码算法占主导地位,如能设计出与国际算法兼容的国密算法,可为其在我国相关领域推广和普及提供很好的软件基础。类比国际密码应用场景,SM3国密算法在用户身份验证、传输通道加密、存储加密、秘钥管理、签名验证、终端机具认证等方面具有较强的应用性。

  目前,国密算法在金融IC卡领域的应用成为研究热点。金融IC卡的安全芯片采用国外产品,本身就存在不安全因素。2015年2月15日,长沙银行发行了国内首批支持国密算法跨行交易的金融IC卡,采用我国安全可控的国密算法芯片,实现国密算法在金融IC卡成功跨行交易的应用。这些研究成果既坚定了国密算法应用的信心也为其后续推广奠定了基础。

  虽然,我国自主研发的国密算法在各领域应用取得一些成绩,也未被破解,但由于国密算法公开时间较短,其安全性有待进一步验证。同时,在推广过程中面临的另一个困境是银行系统软硬件和受理环境改造的投入较大,硬件设备更换、软件开发、测试、验证和试用等方面都需要耗费大量人力和财力,多数银行对此持谨慎态度,推广难度较大。

  建议采用渐进替代策略,认真设计平稳过度方案,确保各系统能够顺利开展各项业务。银行业在硬件设备改造时,涉及新增设备,应首先考虑必须支持SM3国密算法,已购置设备尽量实现国密算法的使用和升级,不具备软硬件升级条件的,应遵循生命周期自然淘汰原则适时替换。

(文章来源:《金融电子化》杂志)

扫码即可手机
阅读转发此文

本文评论

相关文章