1. 需求背景
根据《中华人民共和国保守国家秘密法》及《金融领域国产密码改造基线要求》等法规,国家明确将密码技术列为核心安全战略。关键信息基础设施领域(如金融、政务、能源)已启动国密算法强制替代计划,未达标系统将面临合规审查风险,因此,金融行业、事业机关等,都要求密码的加密算法必须满足国密的要求。
2. 功能说明
对产品的 用户登录密码、config页面登录密码、数据库密码 进行 SM3/SM4 的国密算法处理。
功能模块 | SM3 | SM4 |
---|---|---|
用户登录密码 | ||
config页面登录密码 | ||
数据库密码 |
SM3是加密后不可逆的,无法解密,故不会对数据源密码进行SM3加密存储,因数据源是需要解密后用原密码进行连接的。
3. 使用说明
3.1. 扩展包部署
扩展包:Smartbi_Special_SMEncryption
详细说明请参考Wiki链接:扩展包部署
3.2. 配置说明
修改加密方式
配置smsetting.propertie文件(位于/src/web/META-INF/目录下)
说明:由于用户密码是不可逆存储在数据库的,就是没办法解密出原来的密码,如果要更换SM4加密,需要把之前保存在数据库上的用户密码都重置为“manager”,然后让客户用该密码登录后再重新修改密码。
注意:部署完需要进行升级,选择升级会把所有的用户密码则将会重置为SM4加密的“manager”支付串存储数据库。
如果还想后面还原为以前的密码格式建议备份知识库数据库表:“t_user”用户表,“t_datasource”数据业务库表
4. 注意事项
现象:使用该扩展包会与 SDK 中的登录接口冲突,因调用后会提示“验证码为空”。
方案:需要修改extension.xml文件,下图所示位置的值。改为客户需要指定的用户名称即可。