18 | 加解密服务平台:如何让敏感数据存储与传输更安全?
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
加解密服务平台“Venus”是一个专门设计用于保护敏感数据存储与传输安全的系统。该系统通过统一的加解密服务和密钥管理,分片存储密钥、多角色多权限管理、统一加解密服务API等功能,保证了数据的安全性、可靠性和性能需求。Venus系统的部署模型包括核心服务器、文件服务器、数据库服务器以及应用程序服务器,通过密钥管理控制台进行密钥申请、更新、审核、查看等操作。此外,Venus对密钥进行分片存储,不同存储服务器由不同运维人员管理,保证了密钥的安全性。系统还支持多版本的密钥,以应对密钥泄露可能带来的影响。Venus系统的核心类设计包括VenusService和VenusData,通过VenusService完成数据加解密操作。VenusData用于表示Venus加解密操作输入和输出的数据。系统还提供了详细的设计模型和测试用例代码demo。文章强调了信息安全的重要性,并鼓励读者在工作中思考并改进加密算法和密钥的安全性。整体而言,Venus系统为敏感数据的安全存储与传输提供了全面的解决方案,对于需要保护敏感数据的应用系统具有重要的参考价值。
《李智慧 · 高并发架构实战课》,新⼈⾸单¥59
全部留言(10)
- 最新
- 精选
- peter请教老师几个问题啊: Q1:在客户端有缓存的情况下,服务端修改密码和算法以后,客户端怎么同步? Q2:客户端的缓存只存于内存中吗?还是会存到硬盘上? Q3:密码一般分几片?
作者回复: 1 等缓存过期。另外,密码和算法不能修改,只能升级版本,修改的话已经加密了的数据怎么办 2 只能在内存中,在硬盘就不安全了 3 建议3片,系统不做要求
2022-03-303 - Realm老师,有没有可能遇到切换版本,造成解密的密钥和加密密钥不一致的情况?
作者回复: 原文 : 属性 dataWithVersion 表示加密后的 VenusData 的 bytes 和 text 中是否包含使用密钥的版本信息 这个属性为true,加密内容自带版本号,解密的时候使用对应版本号密钥解密。
2022-03-3032 - ABC老师,有个疑问,如果密钥缓存在本地。会不会被JVM分析工具解析出来
作者回复: 一般公司的运维安全审计可以防止这种情况,如果觉得运维安全审计的安全等级不够,那就需要部署专门的加解密服务,并提升这些服务的访问权限和安全审计级别。这个专门的加解密服务依然可以用文中的设计,就是文中的应用程序角色。
2022-04-251 - 👽现在工作中,其实主要是两个,一个是摘要算法,也就是MD5这种。众所周知,安全性不是很高,容易被破解。不过,对于安全系数要求不是特别高的业务场景,也足够用了。(不涉及钱的场景) 另一种是,可逆的加密。主要用于处理敏感信息。比如手机号。手机号,通过盐,在数据库存储密文。然后,配置文件里存盐。取出来的时候,逆运算一波即可。 其实,我的理解,加密的核心无非就是防止数据泄漏的风险。这个很好理解,就好像,一个宝箱存着你的所有财产,如果只有一把钥匙,那这把钥匙丢了或者被人复制了,那你的财产就全丢了。所以,可以多上几把锁。每把钥匙放在你不同的亲信那里,必须要集齐所有的钥匙才能打开你的宝箱。比如,如果数据库明文,数据库泄漏了那用户密码就泄漏了。如果加上密钥,就需要同时获取数据库和密钥,如果再加上分片,就需要同时搜集多个分片。大幅度降低了泄漏的几率。毕竟,那么多数据同时泄漏还是太离谱了。 优化的点的话,我认为,我们系统的盐存配置文件也不是很安全。我在想,盐是不是可以做成动态的。通过用户部分不会改变的摘要信息去换取盐。
作者回复: 赞。 盐也是一种密钥,动态的盐也是由确定的信息计算来的,相当于增加了算法复杂度,还是有泄漏风险,保管好密钥才是王道。
2022-03-301 - Steven加解密用过:AES、RSA 单向加密用过:MD5, SHA1 有个疑问:“SDK 加解密服务接口取得加解密密钥,并缓存在本地”,这样会不会有安全风险?
作者回复: 缓存是指缓存在本地内存中,其实就是指创建的密钥对象不释放,不会增加风险。
2022-03-301 - knife请问老师,在获取密匙服务的时候 需要一次远程调用,这时候如果被拦截,有可能泄露密匙,是否只能通过不断升级版本进行解决
作者回复: Venus应用于系统内部加解密服务,数据在内网传输,一般认为这种网络环境是安全的。
2022-05-24 - 无名老师,如果数据加密存储的话,如果要以这些字段做查询条件有没比较高效的搞法?
作者回复: 查询条件也加密
2022-04-032 - 闪耀之星老师,您好,请教个问题: 如果像敏感字段都以加密的方式存储在数据库中,那么像一些复杂的脚本包含加密字段做函数处理的情况或者加密字段作为查询条件进行部分匹配检索、模糊匹配的情况是否有比较搞效的解决方案呢?2022-04-232
- neohope可以优化的点: 1、多数据中心需要做异地双活;而且密钥绝对不能丢失; 2、可以增加机构和APP的概念,机构下有多个APP,APP可以绑定一到多个KeyBox,便于权限管理,也可以防止一些误操作; 3、在确认密钥及加密算法规则时,可以让安全团队全程参与评审的;后续按需选择算法,密钥自动生成即可,可以减少后续安全评审工作量; 4、金融行业还会用到密码机,否则可能无法达到合规性要求; 几个可能痛苦的过程: 1、系统先上线,加密后上线,历史数据加密+去除明文数据会痛苦; 2、系统模糊查询灵活性下降,无法做like类似查询。但可以预先将前缀或后缀进行hash,用前缀或后缀做一些匹配; 3、DB加密后,基于ETL或DB日志的部分任务就无法进行了,需要做调整; 4、密钥版本功能挺好的,换密钥很痛苦;2022-05-051
- 王肖武2个小问题帮忙解答一下: 1.我们公司在做密评,直接用老师的这个设计能通过不呢? 2.听说RSA1024、MD5、SHA-1等不是安全的加密算法,老师推荐哪些对应的算法呢?2022-05-12