我记得早几年我第一次用网银的时候还是一张口令卡,和充值卡一样需要刮掉上面那层脏兮兮的东西才能看到口令,网上支付的时候需要根据网站提供的横排和竖排位置提交准确的字符才能支付成功,这怕是我见过的最原始的身份验证方式。
现在那种身份验证方式早就被淘汰了,取而代之的是越来越先进的产品。我印象中有那种U盾和银行分别独立按某个逻辑定时更换的动态密码,还有现在的短信验证码以及K宝一类的产品,也就是所谓的令牌(Token)。
现在登录网银时经常用令牌验证。令牌生成动态口令,而动态口令则是根据专门算法生成的一个不可预测的随机数字组合,一个密码使用一次有效。动态口令是一种安全便捷的帐号防盗技术,可以有效保护交易和登录的认证安全,目前被广泛运用在网银、网游、电信运营商、电子政务、企业等应用领域。
动态令牌从终端来分包含硬件令牌和手机令牌两种,手机令牌是安装在手机上用来生成动态口令的客户端软件,动态口令与手机绑定进行身份认证。目前,各类网上银行、电子商务、企业业务系统等都采用了手机令牌进行二次身份验证,许多移动应用开发者也采用了手机令牌来加强其APP的安全性。
早期的硬件令牌特别贵,所以只有很少土豪在用,绝大多数用户的账号得不到相应保护,那时某某人拥有一个硬件令牌往往就成为了高大上的象征。现在的U盾也是一种硬件令牌,虽然能够提供增强的安全防护,但成本也不低,便携性虽然好却很容易丢失,办起来就很麻烦了,排队是必不可少的。
手机令牌的出现避免了硬件令牌种种弊端,不过手机令牌在使用时需要安装独立的客户端,导致用户体验差,易用性不强。另外,客户端手机令牌本身的安全性无法得到保证,容易被恶意攻击者去掉或者绕过。
现在许多开发者都在借助手机令牌实施二次身份认证提高APP登录的安全性。现在市场上出现了一些令牌插件,他们会获取当前应用ID、用户名、令牌序列号和当前生成的动态口令,服务器根据绑定关系进行认证,用这种方法保证用户账号的安全。
针对恶意攻击者的攻击,插件能够采用传输通道安全、存储信息保护、密钥变轨等方式运行,防止插件被去掉或者绕过,保护机制还算比较多重,插件本身也需要有很强的自我保护机制。
令牌的安全很大程度上关系到财产安全,因为我们的网银基本都是用的令牌,银行的安全系统还算比较保险,但我们自己开发出的APP却存在很多漏洞,还是需要多多实践,多积累经验才好。大家共勉
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)