1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
11.0.14 | 1)默认传输加密算法类型由「对称加密」更改为「非对称加密」 2)提供 transmission.asymmetric 参数,用于切换默认传输加密算法类型 |
11.0.28 | 1)加密算法入口,由「系统管理>常规」页面,调整到「安全管理>安全防护」界面 2)对于使用默认算法的系统,支持一键更新密钥文件 |
1.2 应用场景
出于行业限制和风险管控,部分行业和公司需要使用国产化加密方式,对系统数据和安全进行管控。
帆软系统内置两种加密算法,支持切换。
管理员可在默认加密和国密算法间切换,切换加密方式后,传输、存储、用户密码等都统一使用国密算法进行加密。
加密方式的切换,不影响帆软系统的正常使用,用户和权限不会变更。
1.3 算法类型介绍
11.0.14 及之后版本的工程默认使用非对称加密算法
11.0.13 及之前版本的工程默认使用对称加密算法
注:本文仅介绍如何切换内置算法。如用户自行购买/开发了商用国密算法,请联系帆软技术支持协助替换算法。技术支持联系方式:「服务>在线支持」
工程版本 | 加密算法类型 | 默认算法 | 国密算法 |
---|---|---|---|
11.0.14 及之后 | 非对称加密算法 | RSA | SM2 |
11.0.13 及之前 | 对称加密算法 | AES | SM4 |
2. 切换加密算法
本示例将从「默认算法」切换至「国密算法」,用户也可从「国密算法」切换至「默认算法」,步骤完全相同。
2.1 切换前须知
1)帆软应用所使用的配置库,必须是「外接配置库」,使用「内置数据库」的系统不支持切换「加密算法」。
所使用的配置库用户,必须有该数据库的读写执行权限。
2)集群环境下切换加密算法后,其他节点无法连接配置库,节点间无法通信,无法做到节点之间加密方式同步切换。
因此如需切换集群环境下的加密算法,请先关闭其他节点,仅在单节点环境下进行切换操作。
成功切换后,请手动拷贝该节点下的/webroot/WEB-INF/config文件夹至其他节点,再启动其他节点,方可成功切换加密算法。
3)系统使用「国密算法」时,工程无法回退到更低版本。
4)切换「加密算法」后,超级管理员密码需要重新设置。
由于切换「加密算法」功能会重置超级管理员的密码,请超级管理员慎重分配「安全管理」的「管理系统权限」。
5)切换「加密算法」后,手动添加/导入/同步且用户信息可编辑的用户密码将自动重置为 123456 。
6)切换「加密算法」后,远程连接该系统的设计器版本必须和系统保持一致,JAR 包不一致会导致远程连接失败或访问系统失败等问题。
7)工程切换外接配置库时,如需启用数据库中的配置数据,必须确保当前工程加密方式与配置库中数据加密方式一致。
若不保持加密方式一致,启用外接配置库后将导致工程无法登录等严重问题。
2.2 功能入口
1)管理员登录FineReport系统,点击「管理系统>安全管理>安全防护」,点击加密算法处的「切换」按钮。
2)选择「国密算法」,点击「一键切换」,跳出提示框,如下图所示:
更改加密方式前将备份当前工程,可能需要较长时间,请确保系统不在使用状态。
更改加密方式时将重置添加/导入/同步且用户信息可编辑的用户密码(重置密码为 123456 )及管理员账号,确定更改?
2.3 自动备份工程
点击「确定」按钮,自动备份当前工程,提示「备份中,请勿关闭服务器」,如下图所示:
注1:备份的文件在「管理系统>智能运维>备份还原>手动备份」下显示,详情请参见:备份还原 。
注2:备份时,正在使用数据决策系统的用户将无法正常使用工程,待超管账号密码重置成功方可正常访问工程。
2.4 切换算法
开始切换加密算法,切换时提示「加密算法切换中...」,如下图所示:
切换完成后,提示「加密算法切换成功,请重置管理员账号,若使用设计器请将其升级至同一版本」,如下图所示:
2.5 重置密码
点击「确定」按钮,加密算法切换成功。超级管理员自动跳转至「重置超级管理员账号密码」界面,如下图所示:
3. 切换算法结果说明
3.1 整体成功
所有的流程正确,传输和存储加密切换成功,加密算法切换成功。
加密算法切换完成后,会自动替换系统中已存的密码。具体如下:
1)超级管理员自动跳转至「重置超级管理员账号密码」界面,重置超管账号密码。
2)对于用户密码
同步用户,但未设置用户信息可编辑,则触发同步,用户密码保留
同步用户,且设置了用户信息可编辑,则重置用户密码,明文为 123456
手动添加/导入的用户,则重置用户密码,明文为 123456
3)系统将自动变更 FineDB 数据库 中密码字段的加密算法,替换为新加密算法生成的密码。
4)系统将自动变更传输过程中的加密算法,变更外接数据库的连接密码算法。
3.2 整体失败
加密算法整体切换失败,传输和存储使用之前的加密算法。
1)使用了错误的商用国密
2)备份工程失败
3)外接数据库密码更新失败
3.3 部分失败
部分密码切换失败,其余切换成功。
1)数据库存储密码切换失败
提示:
数据库存储密码(如数据库连接密码、邮箱密码等)更新失败;
请在重置管理员账号后重新设置,若使用设计器请将其升级至同一版本。
2)用户密码切换失败(内置,同步)
提示:
只有内置失败:同步用户切换成功,内置用户切换失败,用户密码无法更新
只有同步失败:同步用户切换失败,内置用户切换成功,用户密码无法更新
内置+同步都失败:同步用户切换失败,内置用户切换失败,用户密码无法更新
内置+同步都成功:不会出现提示
3)数据库存储密码和用户密码都切换失败
上面两个场景的提示一起出现
4. 其他事项
4.1 默认算法更新密钥文件
在对称加密和非对称加密中,密钥是保护数据安全的关键元素。某些公司企业要求定期更换密钥,以确保系统的长期安全和数据的保密性。
1)使用前提
更新密钥文件前将备份,可能需要较长时间,请确保系统不在使用状态。
使用「默认算法」的工程支持更新密钥文件,「国密算法」不支持。
帆软应用所使用的配置库,必须是「外接配置库」,使用「内置数据库」的系统不支持切换「加密算法」。
2)更新密钥
管理员登录FineReport系统,点击「管理系统>安全管理>安全防护」,点击加密算法处的「一键更新」按钮。
请耐心等待,直到出现提示「密钥文件已更新成功」
4.2 切换非对称/对称加密
11.0.14 及之后版本的工程默认使用非对称加密算法,11.0.13 及之前版本的工程默认使用对称加密算法
工程版本 | 加密算法类型 | 默认算法 | 国密算法 |
---|---|---|---|
11.0.14 及之后 | 非对称加密算法 | RSA | SM2 |
11.0.13 及之前 | 对称加密算法 | AES | SM4 |
1)关闭工程。
2)进入/webroot/WEB-INF/config目录,找到encryption.properties配置文件。
3)编辑encryption.properties文件,修改参数transmission.asymmetric的值
4)重启工程,即可更换加密算法的类型。
参数说明如下:
参数 | 参数值 | 含义 |
---|---|---|
transmission.asymmetric | true | 开启非对称传输加密,传输加密方式为非对称加密 |
false | 关闭非对称传输加密,传输加密方式为对称加密 |