最近在做国内某银行的现金管理项目,把这个项目中遇到的一些感受简单的总结一下:
1:银行项目对软件的安全要求比较高,信息的发送接收都需要有安全保障,这个与其他项目的差别比较大,而且需要通过安全认证才可以,需要通过权威部门的安全检查,并能拿到证明才可以在银行真正实施。
我们现在是采用的WCF通讯技术、采用数字证书的方式进行安全验证、类似SSL的信息通讯等来保证数据的安全性。
2:需要多重密码,来保证系统的安全性,例如登录时有登录密码、进行数字签名确认时有签名密码、跟银行发生交互时需要进行安全交易、安全通讯密码,例如某个人破解了其中的一个密码,接着再持续破解2个密码比较难,所以至少进行了3道安全防护措施。
3:所有的数据都需要进行数字签名,采用公钥、私钥的方式进行不对称的签名验证,已确保数据没有被别人篡改过,保证最终送交到银行的转账信息是绝对安全的,而且银行对所有传输过来的数据进行2次验证。
4:所有的转账操作,都需要走工作流程,有至少2个签名或者至少3个人的签名等需求,意思是不光是一个人数字签名确认就可以了,还需要多个人的数字签名确认才可以进行最终的过账操作。
5:数字签名有必要时还需要集成银行办法的Ukey方式的数字签名、而不是程序自己产生的数字签名方式,需支持多种数字签名方式的。
6:所有的窗体、数据、按钮等都需要有严格的权限控制,并不是开放的系统,每个功能都需要严格达到银行的需要才可以通过功能验收。
这段时间深入研究学习了 WCF安全通讯方面的知识、数字证书、数字签名、非对称加密解密等,感觉这段日子过得很充实有兴趣的朋友们也可以往这方面多看看,不能成天研究 这个架构、那个框架、客户的实际需要才是最真实的。
将权限管理、工作流管理做到我能力的***,一个人只能做好那么很少的几件事情。
原文链接:http://www.cnblogs.com/jirigala/archive/2011/05/17/2049107.html
【编辑推荐】