zoukankan      html  css  js  c++  java
  • Android手机令牌,WEB安全之硬件绑定变向思路

    【问题引出】

    由于公司主要是基于虚拟交易的电商业务,WEB系统一直存在帐号硬件绑定的需求,以提升系统的安全性和可靠性,防止密码盗用和木马侵入导致的财产损失。

    大家也知道,手机端(不管是android还是IOS)或者windows的C/S模式的系统都非常容易获取MAC地址、硬盘编号等物理信息,记录校验,也就不难实现所谓的“硬件绑定”;可是由于浏览器的多样化且需要控件的支持,导致WEB上的“硬件绑定”相对麻烦,业内通常的技术实现是用web端程序调用第三方的控件(OCX、DDL)来实现硬件的读取,但是控件加载又限制用户只能使用ie系列的浏览器实现这一功能(银行网站如农行站就存在这样的控件兼容性问题),某种程度降低了用户体验。

    【方案对比】

    其实本人一直对安全这块很感兴趣,工作以来对这一块的内容也比较关注。

    1、加密:

    普通应用对密码会进行各种加密操作,如对称加密RSA、DES,签名算法MD5等等,其中RSA多用用于证书,MD5不可逆多用于签名;缺点是对称加密密钥保存存在安全隐患,而MD5虽然不可逆,但是网上有人专门弄了“键值库”,暴力破解;

    2、外置狗(U盾)鉴权

    各大银行多采用外置u盾来实现物理鉴权,u盾与计算机分离,且可靠性高;缺点是抽插麻烦,容易弄丢;

    3、短信、邮件验证

    这一方式也为多数企业沿用,安全级别算是比较高的;缺点是短信服务器需要耗费较高的成本,而第三方的邮箱对大量邮件可能不支持,需自己搭建邮件服务器;

    4、移动令牌

    眼下,随着移动互联网火热发展,移动令牌粉墨登场;小米系统的“小米手机令牌”、支付宝的“手机宝令”,腾讯QQ安全管家的“令牌”如出一辙,通过android客户端或者IOS客户端生成一组随机字符实现鉴权——高效、可绑定手机IMEI编号(变向硬件绑定)、低成本(仅流量)、还很酷;不瞒说,也有缺点:需要智能手机的支持。

    实现思路:

    1、保证手机令牌和服务端生成字串的一致性(算法一致);

    2、按时间刷新;

    3、区别不同用户;

    4、算法保护;

    5、防止时间不同步;

  • 相关阅读:
    静态链接到 MFC 的规则 DLL
    DLLAFX_MANAGE_STATE(AfxGetStaticModuleState())模块状态切换保护
    多线程专题之线程同步(1)
    UVa 4256 Salesmen dp
    nefu 661 Clockwise 水DP+略几何
    10635 Prince and Princess LCS&LIS
    UVa 3882 And Then There Was One 递推无力orz
    UVa 10192 Vacation 字符串dp
    UVa 11584 Partitioning by Palindromes 回文串dp
    UVa 10534 Wavio Sequence LIS
  • 原文地址:https://www.cnblogs.com/qsl568/p/3416259.html
Copyright © 2011-2022 走看看