关键字:
KingbaseES、information security、安全传输
1.信息安全的基本要素
信息安全,ISO定义为:为数据处理系统建立和采用的技术,管理上的安全保护,指信息系统不受偶然或恶意的原因遭到破坏、更改、泄露等。其主要有五个基本要素。
机密性(Confidentiality):保证信息,无法被未授权的方式获取。
完整性(Integrity):保证信息在传输过程中,信息不会被篡改。
可用性(Availability):信息可以在需要时可以被获得授权的实体访问。
可控性(Controllability):可以对传输的信息进行监管。
抗抵赖性(Non-Repudiation):发出信息的实体无法否认自身是信息来源。
2.KingbaseES的传输安全机制
KingbaseES使用了SSL协议对数据安全传输进行支持。KingbaseES可以配置ssl设置为on来开启SSL支持。但需要注意启用SSL模式需要配置服务器证书和私钥(server.crt和server.key)。下面列出了服务器的SSL文件作用。在服务器启动时会读取这些文件,若检测出文件错误,服务器将拒绝启动。
文件 | 作用 |
---|---|
ssl_cert_file | 发送给客户端,说明自身的合法性 |
ssl_key_file | 证明服务器证书是其所有者发送 |
ssl_ca_file | 检查证书是否由可信机构签名 |
ssl_crl_file | 撤销证书列表 |
KingbaseES针对不同环境的安全需求提供了多种服务器证书验证方式。在默认情况下,KingbaseES不会验证服务器证书,可以将sslmode设置为verify-ca,将检测证书签名的合法性。在更为敏感的环境中可以将参数设置verify-full,此参数下不仅验证证书的合法性,还会对证书中的主机信息进行验证。
3.国密算法的支持
Kingbase也支持采用国产加密算法进行数据加密验证。如果要使用国密算法进行加密需要使用GMSSL。GMSSL使用步骤如下:
1.移动server.crt、server.key和root.crt放到data目录中,并修改权限为600;
2.修改kingbase.conf文件如下;
3.启动服务器。 KingbaseES也实现了基于国密sm3和sm3_HMAC算法的校验。
- 可以在初始化时指定使用的校验算法。
- 也可以使用sys_checksums来切换校验算法。
4.证书生成
服务器端:
1.为服务器创建一个快速的自签名的证书,填充 openssl 要求的信息。
openssl req -new -text -out server.req
2.将一个证书变成自签名的证书,并将密钥和证书复制到服务器查找它们的路径下:
3.修改文件权限,如果权限过高服务器将拒绝该文件。
客户端:
1.生成客户端私钥文件:
- 生成 kingbase8.crt 客户端证书(公钥):
5.总结
KingbaseES提供了对数据的保护,并在数据传输中提供了加密手段保证数据不好再未经授权的情况下被获取。 更多信息,参见https://help.kingbase.com.cn/v8/index.html