zoukankan      html  css  js  c++  java
  • 网银系统的分析

    对网银系统的分析

      

    为何网银密码只使用六位的纯数字密码?

    (1):在尽量减少被偶然试对的概率下,降低用户记忆密码的难度,减少因为忘记密码到银行办理密码挂失业务的人数,降低了银行不必要的工作量。

    (2):降低银行的成本。作为一个必须的物理设备,任何一台ATM机以及柜台都必须配备。相比之下,配置纯数字输入键盘比全键键盘的成本要低很多。它的购买、运输、维护成本,都是银行需要考虑的。

    (3):降低银行存储和管理的难度。因为银行面向的用户量很大,使用六位纯数字密码,不仅所需的存储空间小,管理维护起来也更简单。

    (4):早期的计算机成本太高昂,使用复杂密码对银行而言代价太大,主要是依靠签名。

    (5):为了配适更多的平台。纯数字密码不仅方便在电脑上使用,早期的手机、固定电话,都可以办理银行业务。使用纯数字密码,大大降低了电话银行的工作难度。如果银行账号出现了问题,可以很快通过电话银行来修改密码,避免损失。

    为何银行密码难以破译?

    (1):对内部的存储信息进行物理隔离。存储用户账号密码的计算机只有极少数人能接触到,银行还会对这些人建档,将他们的信息记录在案,无论离职与否,都不会清除。

    (2):对操作终端进行全程监控,使用专用的银行网络。

    (3):国内国外,都运用了法律来保护银行系统。在银行安全强度本来就很高的情况下,又加大了攻击者的风险,使得攻击者的代价大于可能获得的收益。

    (4):对银行安全系统的攻击需要较高的技术水平。

    银行安全系统的原理:USBkey。

    USBkey内置了COS智能卡操作系统,并且具有硬件真随机数发生器、时间因子生成器。密钥可直接从内部生成,保证了密钥的安全,加解密算法完全在硬件内部进行。

    1):登录系统必须同时具备USBkeyPIN码,如果黑客盗取了PIN码,他难以获得USBkey,无法登录系统。如果是USBkey掉落,捡到的人也不知道PIN码,同样无法登录。

    2):公私密钥对。在USBkey初次使用时,就将公私密钥对产生,且保证了密钥算法的对外隔离。私钥存储在USBkey内部,无法读取。

    3):加解密算法通过硬件实现。USBkey内部烧制了加解密算法,外界无法获得它的加解密算法。并且在外界强行打开USBkey的硬件设备时,内部的种子文件会自动进行擦除。所以物理上也无法获得相关信息。

    4):密钥无法被直接读取。密钥的修改和读写都必须由内部CPU调用相关程序,直接在USBkey内部完成,外界无法解除。避免了攻击者通过网络利用相关软件进行攻击。

    5):银行与USBkey均保存了用户的密钥。当需要认证用户身份时,银行对USBkey发送一个随机数,USBkey将密钥与随机数合成消息,对消息进行散列值计算并反馈给银行。银行同时也进行一致的计算,若双方计算结果匹配,则证明是认证用户在发送登录请求。

    6):由CA颁发数字签名证书,保证双方身份和消息的安全。银行与用户均有公私密钥对,在加密消息时,使用公钥加密,解密消息时,使用外界无法解除到的私钥。数字签名时,也使用私钥,由此保证了双方身份的安全和消息发送接收的安全。

    另外需要一提的是,银行存储了一定数量的资金,用来补偿因为安全问题对用户造成的损失。这虽然不是技术上的具体操作,但我认为这也是一个完善的安全体系所需要具备的,即由于意外情况的发生,本系统能够对它造成的损失进行弥补和应对。

    总结:

    一个安全系统,在设计上不能只考虑通过技术手段被攻破的难度。还要考虑到实际使用中可能出现的各种情况,任意一种情况如果没有在设计之初的考虑范围内,则很有可能被以意想不到的方式攻破,如课上提到的有规律的分发银行账号。各个需要认证的系统较为常见的有:忘记密码、账户被锁、第三方冒用、用户错误操作等等,系统在安全上不仅要“是否需要杜绝”,还需要考虑“在发生时系统能进行何种应对”、“发生后如何弥补”。银行的安全系统在这些方面做了十分充分的考量和设计,非常值得参考。由此也可以想到,在设计一个新的方案时,也可以参考市面上大型的系统使用何种方案,由此映射至自己的方案,也许是很好的方法。另外,一个良好的安全方案需要能够做到“与时俱进”。就网银系统而言,利用大数据的统计信息,它能够判断某一笔消费是否是正常消费的范畴,如果超出了预先设定的这个范畴,那么它能够及时停止该笔消费并冻结账户。在经过认证之后,才进行一系列的解冻。新技术的出现往往是出人意料的,完备的安全方案要能够利用好新技术,也要能够应对好新技术可能带来的风险。

    下面是我对一个安全方案需要具备的条件的几点思考,因为有的条件代价较大,是否在实际情况中使用,还需要具体讨论。

    1):重要的文件需要物理隔离。物理隔离是防范内部人员出现问题的必要方法,再好的系统如果从内部攻破都是较为简单的。

          2):对相关人员的信息进行建档,对他们的操作进行监控。

          3):share secret。需要相关人员在场数达到一定数目,才能打开和操作重要的文件。

          4):用户端的信息通过某种途径进行隔离。从根本上来看,USBkey的原理就是使得用户的信息(密钥、私钥)与外界进行隔离,无论是网络上还是物理上,都无法接触到它的内部信息,这样能够杜绝各种获取信息的手段。

           5):双重认证、必要时利用好CA。从CA获取签名证书,保证双方的接触都能证明双方身份,避免第三方通过其他路径冒充其中一方。

           6):多重防线  结合能大大降低风险。

  • 相关阅读:
    php安装扩展的几种方法
    navicat连接linux系统中mysql-错误:10038
    linux下报错bash: service: command not found
    linux配置防火墙和重启防火墙
    linux 环境安装
    匿名函数
    workman的学习总结
    xampp/apache启动失败解决方法
    Linux 查看IP
    慢查询日志
  • 原文地址:https://www.cnblogs.com/hhjfighting/p/7717556.html
Copyright © 2011-2022 走看看