C/S架构数据加密设置
由于用户等保要求,需要对数据传输进行加密。参考了相关资料,经过几个小时的测试对比终于确定可以达到预期效果。系统采用数据库直连的方式,可以使用Oracle自带的加密方式。
server端和client端的加密级别、一致性校验分四种级别
SQLNET.ENCRYPTION_SERVER|CLIENT
SQLNET.CRYPTO_CHECKSUM_SERVER|CLIENT
参数解释:
SQLNET.CRYPTO_CHECKSUM_CLIENT。默认设置为ACCEPTED。
参数说明
ACCEPTED - 客户端不请求使用校验和,但是如果服务器请求校验和,则请求。兼容的服务器参数为REJECTED,REQUESTED和REQUIRED。
REJECTED - 客户端不支持使用校验和。兼容的服务器参数为REJECTED,ACCEPTED和REQUESTED。
REQUESTED - 客户端喜欢使用校验和,但是如果服务器拒绝它们的使用,则不强制该问题。兼容的服务器参数是ACCEPTED,REQUESTED和REQUIRED。
REQUIRED - 客户端要求使用校验和,否则不连接。兼容的服务器参数是ACCEPTED,REQUESTED和REQUIRED。
SQLNET.CRYPTO_CHECKSUM_SERVER。默认设置为ACCEPTED。
参数
ACCEPTED - 服务器不请求使用校验和,但如果客户端请求它们,请继续。兼容的服务器参数有:REJECTED,REQUESTED和REQUIRED。
REJECTED - 服务器根本不支持使用校验和。兼容的客户端参数为REJECTED,ACCEPTED和REQUESTED。
REQUESTED - 服务器更喜欢使用校验和,但是如果客户端拒绝它们的使用,则不强制该问题。兼容的客户端参数是ACCEPTED,REQUESTED和REQUIRED。
REQUIRED - 服务器要求使用校验和,否则不连接。兼容的客户端参数是ACCEPTED,REQUESTED和REQUIRED。
加密参数解释参考一致性校验。
因为系统通过oracle客户端软件连接数据库所以只针对这种情况做测试
测试环境:
服务器
11.2.0.4 winodows2008R2
客户端端
win10
安装抓包工具Wireshark,安装抓包工具的使用可以百度
客户端和服务器端设置如下:
服务器端:
SQLNET.ENCRYPTION_SERVER = REQUIRED ----加密级别
SQLNET.ENCRYPTION_TYPES_SERVER = RC4_256 ----加密算法
SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED — 一致性能校验
客户端
SQLNET.ENCRYPTION_CLIENT = REQUIRED
SQLNET.ENCRYPTION_TYPES_CLIENT = RC4_256
SQLNET.CRYPTO_CHECKSUM_CLIENT = REQUIRED
打开抓包工具后运行系统,可以在转包工具种开到客户端请求和服务端响应的数据都进行了加密
链接: 转自 http://blog.itpub.net/24052272/viewspace-2129175/.