互联网安全仍然是很火的话题,不过IT技术更新较快,枝节问题过多大多数人是不了解的,我这里做些乱谈尽量为大家解释清楚并送上安全攻略。
开始说明之前,我先对一些基础概念做出说明。
保护整个互联网安全的核心是一些基于数学原理的加密算法,大致上有这么几种。
1.对称加密算法,典型代表AES算法(市面上见到的AES128,AES256都是AES算法只是密钥(密码)长度上有所区别),对称加密算法很简单,原文和密钥(密码)在一起进行某种运算(不是写给程序员或者数学专家看的这里我都省略具体的过程,后面也一样)得到结果密文,如果要还原密文为原文则必须要使用和原文加密时相同的密钥才可以还原。
看到这里,问题来了,如果我要使用对称加密算法传递给别人信息,那么我就需要发送密文和密钥,而发送的密钥被人看到了不就等于没加密了么?于是乎有了下面第二类算法
2.非对称加密算法,典型代表RSA算法(RSA1024或者RSA2048同样也都是RSA算法只是密钥长度不同),非对称加密算法有2组密钥,密钥A公钥,密钥B私钥,与对称算法不同,如果使用A密钥加密过后的原文,必须要用B密钥解密才能看到原文,反过来B密钥加密的原文也只能用A密钥解密。通常公钥会公开给他人,这样我们自己要发送消息用B密钥加密,其他人只能通过A密钥查看消息,无法修改也无法伪造,这样一来,他人若想进行加密传输只需要使用A密钥加密发送给我,除了我之外没有其他人能看到这则消息的内容了。
把对称加密和非对称加密联合起来使用就能建立一个安全的其他人无法查看的通信(当然,仅使用非对称加密也是可以的)。
最后还有一种经常使用的加密算法
3.哈希算法,典型代表(MD系列算法如MD4,MD5,SHA系列算法如SHA1,SHA256)哈希算法和前面提到的均不同,他对任意长度的数据进行运算后得到一个固定长度的数据,得到的这个值叫哈希值,可用来确认数据的一致性。相同的原文使用同样的哈希算法计算出来的哈希值是相同的,不同的原文使用同样的哈希算法计算出来的哈希值是不同的(不考虑冲撞的情况下)。
我们的互联网就是由以上三种算法来保护的,这些算法本身都是通过数学方法来证明的,目前看安全性毋庸置疑,了解了这些我们就正式开始下面的内容。
作为银粉一枚,会看到有人怀疑网上银行(或者手机银行,后续无特殊说明均包含手机银行)是不是安全?
我的观点很简单,网上银行其实比去银行柜台都要安全,理由很简单,网上银行能用数学方法证明我的身份而柜台不能。柜台只能检查身份证,身份证上的人究竟是不是本人嘛,这事还真说不好
网银常用的2种安全介质大致上有2种,1、密码器,2、U盾。我们一个一个看。
首先是密码器,密码器内部会有微型的处理器,这个微型的处理器会将密码器内用于标识身份的那么一串内置数据(暂且称他为密钥吧)和处理器内其他的一些数据(如时间)或者外部用户输入的一些数据使用某种未知的算法进行运算得到一个6位的密码显示出来。
当网银需要验证身份的时候,银行服务器会把密码器上内置的数据和其他因素(如时间)用同样的方法进行运算,密码器和银行服务器在同样的因素下得到的答案肯定是一样的,所以用户输入密码器上显示的密码,银行就知道了这个人是合法用户。
接着看U盾,U盾内部同样有一颗处理器除此之外还有一样东西叫证书,证书内包含一组非对称密钥(当然还有其他的东西这里略过),在网上银行需要交易的时候,银行端会发送一串数据,要求U盾使用证书私钥进行加密,U盾内部的处理器会使用证书私钥完成加密并发送出去,银行服务器收到后会使用账户对应的证书公钥进行解密,确认无误后验证过程完毕才可以交易。
可以看到,整个流程中最为关键的私钥是不会流出的,U盾内部独立完成处理,所以U盾不可复制,没有U盾也不可能认证成功。
由于U盾不可复制,攻击者可能会选择控制电脑远程操作U盾这样的方式来发起攻击,于是乎U盾也进行了创新,上面加了按键,远程操作总不能碰到物理按键吧,这样就可以防止未经用户授权私自使用U盾远程进行交易。
那万一有木马程序修改了交易对象,但是网页上还是显示正常的交易对象怎么办?所以U盾这玩意又增加了显示屏,上面会清楚的显示交易对象和金额防止此类事件。
如果认真读完前面说过的原理,那么就差不多该理解为什么网上银行实质上比柜台安全。
除此之外,客户端和银行服务器之间的通讯也都采用了TLS协议加密,第三方无法看到你和银行直接通讯的内容。
备注:TLS协议就是使用了非对称和对称加密联合起来建立安全通信的协议。
此外银行还准备了安全控件,用来保护用户输入密码时密码不被第三方程序截获。(当然这个安全控件有没有用,有多大用,这个问题由于太伤心就不明说了)
可以说国内银行在网银安全方面是十分用心的。
接着来掰扯银行卡的安全性
银行卡有纯磁条卡和芯片卡(磁条+芯片卡和纯芯片卡均算在此列),很多人认为更换芯片卡是完全浪费钱的,这样的观点是绝对错误的。
磁条卡上的磁条,可以简单的当初一个U盘,复制了U盘的数据就等于复制了卡片,十分简单。
芯片卡使用的方案和U盾类似,芯片是一个微型处理器,每次交易都是用私钥对交易进行签名,由于每次交易都是不可能一样的,所以芯片卡无法复制。磁条加芯片的复合卡片由于央行已经要求关闭磁条卡通道,所以等同于纯芯片卡了。
那问题来了这么多银行卡被盗的案件是怎么发生的?
大致上根据我看到的案例有这么几种情况。
1.银行卡被复制产生的盗刷,更换芯片卡可以解决
2.银行卡信息泄漏产生的盗刷,对于各种信用卡,不管是银联的还是visa的,也不管有没有设置密码,只需要卡号,姓名,卡片有效期,和银行卡反面的CVV就可以刷卡了(有些通道下面,CVV都不用)这样的盗刷是没有办法的只能自己保护好信息。当然也有辅助性的解决方案,不用的卡片可以设置刷卡限额,要用的时候在打开。
3.通过钓鱼网站,电话诈骗,木马等手段获取短信验证码开通快捷支付进行盗刷。众所周知快捷支付只需要个人信息+短信验证码即可开通(其实快捷支付就是个bug一样的存在,严重破坏银行的安全体系,宇宙行收紧快捷支付并不是毫无道理只可惜大多数人的安全意识)。解决方案,如果是招商银行的客户,可以直接通过网银彻底关闭快捷支付功能这样就无法开通快捷支付了。如果不是招商银行的客户,暂时还没看到其他银行有这样的解决方案,所以只能自己保护好个人信息和短信验证码了。
4.诱骗签约超级网银,骗子会使用各种手段诱骗用户使用网银让自己的卡签约超级网银功能,这样骗子可使用超级网银在用户不知情的情况下转走存款。但是此种方案缺点明显,签约超级网银是一定要U盾或者密码器的,开通的页面银行会有明确提示,多读几遍银行的提示就明白了。
5.冒名补办手机卡,补办手机卡后原用户的手机卡就作废,这样就可以拿到短信验证码通过各种办法转走钱款。解决方案,手机卡必须实名制,招商银行的客户同样可以使用网银彻底关闭快捷支付来抵御此类攻击,此外,不要开通短信验证码转账等功能,尽量使用U盾,密码器等。
6.银行员工作案,这个真心没有什么好办法,只有靠自己抵制诱惑
通过综上所述不难发现,其实网银不仅不容易危害账户安全性,反而可以增加账户安全性。
我下面贴一下怎么通过招商银行网银设置增强账户安全性
备注:部分选项可能由于U盾不同有所区别,本人使用的是招商银行第三代Ukey,部分功能一代Ukey是没有的。
当然这里仅仅使用招商银行举例子,并不是只有招商银行有这样的功能,特此声明。
其实综上所述,网上银行只要保管好了密码和U盾是安全无虞的。当然保护电脑本身的安全也是很重要的。仍然给出如下建议
1.设置管理员密码,不要设置简单密码。(比如Windows账户密码,wifi密码,路由管理密码)
2.安装病毒防护产品,如360安全卫士,腾讯电脑管家等。
个人的碎碎念:其实不太推荐国内使用国外的安全产品,众所周知的由于各种国外网站经常连接不了的原因,国外产品使用起来不一定好用。
3.增强个人安全意识。安全意识带来的成效永远大于任何防护产品所带来的。
至于一些误区,我继续碎碎念一把。
个人用户是无须单独安装防火墙的,大部分用户都会使用路由器一类的产品,路由器本身具有防火墙的作用,除此之外Windows自带防火墙不需要第三方产品也能很好的保证系统不被外部入侵。
大概有空以后还会写写网络安全防护方面的分析,不过这个不一定。