Foxtable(狐表)用户栏目专家坐堂 → [讨论]关于敏感字段加密问题


  共有3102人关注过本帖树形打印复制链接

主题:[讨论]关于敏感字段加密问题

帅哥哟,离线,有人找我吗?
chh2321
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:253 积分:2573 威望:0 精华:0 注册:2016/8/8 9:50:00
[讨论]关于敏感字段加密问题  发帖心情 Post By:2017/4/3 12:38:00 [只看该作者]

老师好,

关于敏感字段加密问题,看了帮助和论坛里的一些帖子,还是没有理清思路,我大体有个认识,不知是否正确,请老师指教
1. 链接父子表的关键字段不能加密,否则会出错
2. 不能用表达式字段来解密加密字段
3. 加密上传的大体思路
   第一种方法
     a、本地加密,上传远程服务器(在服务器上只能看到加密后数据)
     b、加载数据时,用窗体控件在本地解密数据后显示
     c、编辑数据后,上传数据前,加密数据,上传远程服务器
   第二种方法
     a、父表的加密字段增加一列相应的解密字段(数据字段,不能是表达式字段),数据加载后自动解密加密字段
     b、子表的加密字段也增加一列相应的解密字段(数据字段),数据加载后自动解密加密字段
     c、父子表上传前清空解密字段,然后上传

不知道上述思路是否正确,请老师指点

 回到顶部
帅哥哟,离线,有人找我吗?
chh2321
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:253 积分:2573 威望:0 精华:0 注册:2016/8/8 9:50:00
  发帖心情 Post By:2017/4/3 12:42:00 [只看该作者]

 疑惑:

第二种方法中,如果解密字段有DataColChanged事件会出现什么情况?

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110601 积分:562907 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/4 8:57:00 [只看该作者]

加密数据的目的是什么?

 回到顶部
帅哥哟,离线,有人找我吗?
chh2321
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:253 积分:2573 威望:0 精华:0 注册:2016/8/8 9:50:00
  发帖心情 Post By:2017/4/4 12:54:00 [只看该作者]

比如患者诊疗数据库,其中会包括患者的姓名,身份证号等敏感信息,涉及患者隐私,应该加密后上传至服务器上
[此贴子已经被作者于2017/4/4 13:14:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chh2321
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:253 积分:2573 威望:0 精华:0 注册:2016/8/8 9:50:00
  发帖心情 Post By:2017/4/4 12:57:00 [只看该作者]

但是假如身份证号列如果我设置了DataColChanged事件,比如读取性别、出生日期,加密后性别和出生日期列都会出现错误,是吧?

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110601 积分:562907 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/4 13:30:00 [只看该作者]

如果是加密传输,使用Sqlserver数据库的ssl加密连接


回5楼,先解密后再处理

 回到顶部
帅哥哟,离线,有人找我吗?
unverse
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1088 积分:8247 威望:0 精华:4 注册:2012/3/31 18:08:00
  发帖心情 Post By:2019/8/5 0:15:00 [只看该作者]

以下是引用有点蓝在2017/4/4 13:30:00的发言:
如果是加密传输,使用Sqlserver数据库的ssl加密连接


回5楼,先解密后再处理

这个加密其实在某时候时候是很有必要的,比如某些数据如果比较敏感,直接存放在数据库的某个字段是不安全的,如果数据库被别人拿走之后 ,别人就会获取到明文信息,FOXTABLE能不能提供一个函数,可以在加载的时候将某个字段解密后加载到FT当中,保存的时候将某个字段加密后存放在数据库字段中,这样比较好。


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110601 积分:562907 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/5 9:04:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/1346.htm

不要提供直接编辑表格的功能,设计窗口进行编辑,窗口需要加密的控件不要绑定表格,打开窗口时把表格数据解密后赋值到控件,保存时加密后再写回单元格

 回到顶部
帅哥,在线噢!
lur320
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2019/8/6 11:40:00 [只看该作者]

首先,数据库的管理是有要求的,随便阿猫阿狗都可以访问数据库,那么底层的数据就是不安全的。这里不安全不仅指数据被窃取,还有数据丢失。
所以数据库都需要针对每个程序设定专用的账户,只能访问单一的数据库实例。有些会SA走天下,这是不安全的。

另外,我认为最佳的方案就是设定加密规则,服务器里面存放加密后的结果,而程序里面按照既定的规格加密解密,加密的钥匙就是数据段本身。

例如,identify可以做一第一个钥匙,再加上一些泄露也没有问题的字段,例如姓名,性别。用这3个,组成2个钥匙:identify&姓名,identify&性别。

 回到顶部