首页 > 代码库 > 如何保护敏感信息不被篡改
如何保护敏感信息不被篡改
问题背景
系统中的敏感信息,如账户余额,需要给予特殊保护,不能被篡改。
如何从程序角度给予保证?
分析
采用非对称加解密算法,原理如下:
1、网站生成一对公钥和密钥,使用时必须成对使用。
2、公钥发布给公众,私钥自己保存,需要保证私密性。私钥不泄露是这套体系生效的前提。
3、只有自己用私钥加密产生的密文,用自己发布出去的公钥才能打开。(一般用于签名,防抵赖)
4、我们采用私钥加密,公钥打开,是以后可能有数据交互的需要。
5、灵活使用各种小技巧,可以进一步提高安全性。
方案
以下方案只是框架方案,实际实现时需要进一步充实。
1、网站生成私钥、公钥对。
2、需要保存(或更新)余额时候,用私钥对余额加密,得到密文。
3、网站只保存密文。
4、需要读取余额时,读取密文,用公钥解密,得到余额数组。
优点:
通过非对称加密体系,极大提高了系统安全性。
缺点:
体系安全取决于密钥的私密性,可以使用KeyStore(通过密码保护私钥)、物理证书(在服务器上插证书U盘或卡,容易造成性能瓶颈,可以指定策略多整几个)、物理加密机(效果最好、成本高、容易形成性能瓶颈)等方法进一步加强。
加解密算法会带来额外的计算工作,但几乎可以忽略不计。
实现
实现时,以下技巧需要注意:
1、通过摘要算法,进一步确认数据没有被篡改。
2、多种非对称加密算法可以组合使用。
3、最大程度保护程序算法私密性,不公开程序逻辑,防止程序被反编译。
如何保护敏感信息不被篡改
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。