首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

web 登录使用加密狗的原理

  •  
  •   kayseen · 117 天前 · 1197 次点击
    这是一个创建于 117 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1.最近在做一个 python 的 web 开发,需求是使用加密狗登录进行验证,可是在网上找了很长时间都没有相关的资料,想问下各位,加密狗验证的话, 2. 问题是: 前端需要向后端发送的数据有哪些? 后端需要保存的数据和需要实现的功能是哪些?

    因为是前后端分离,而前端也没做过这个,所以请各位做过的赐教,感激不尽!!!

    13 回复  |  直到 2019-06-28 17:34:35 +08:00
        1
    ziding   117 天前
    首先你你需要前端要有加密狗的访问能力也就是本地操作能力。或者采用标准的 HTTPS 客户端证书认证。3.使用加密狗额原因是啥:
        2
    ziding   117 天前
    使用加密狗额原因是啥:
    1.程序安全,防止非授权使用:首先你你需要前端要有加密狗的访问能力也就是本地操作能力,然后将验证过程封装在加密狗里面,你只是传递的数据的通道,具体的数据内容看加密狗厂商的 SDK
    2.客户端认证:采用标准的 HTTPS 客户端证书认证
        3
    kayseen   117 天前
    @ziding 使用加密狗进行用户登录,验证成功之后才有权限进行后面的操作。我理解的是,加密狗中存在公钥,后端保存的是私钥,但是它是怎么进行验证的我还没太搞懂...
        4
    acess   117 天前
    @kayseen 应该是服务器有服务器私钥,加密狗里也有另一个私钥,也就是客户端私钥吧,就像 SSH 用私钥登录一样。这个私钥应该是无法从加密狗中读取出来的。
        5
    kayseen   117 天前
    @acess 这个原理不应该是 rsa 的公钥去后端匹配私钥吗 就是匹配成功的话就登录成功 如果这个思路是对的话,现在就是不知道前端应该传的除了公钥还有什么数据
        6
    acess   117 天前
    @kayseen 你想想 SSH 是怎么认证的……
        7
    shiji   117 天前 via Android
    ssl 你应该熟悉吧
    然后就是双向 ssl (双公钥,双私钥)
    然后基于双向 ssl,加密狗不让你读取里面存的你的私钥,运算通过加密狗硬件代为进行。
        8
    CallMeReznov   117 天前
        9
    imnpc   117 天前
    请参考 WebAuthn 标准 目前主流浏览器均以支持
    国内飞天诚信生产 FIDO 认证的设备即可
    国外一般 YubiKey
        10
    ziding   117 天前
    @kayseen imnpc 正解
        11
    kimqcn   117 天前
    个人意见:双向 SSL 的方案安全性较高,但不友好。网上资料一搜一大把。
    加密狗不熟悉,USBKey 还行。常规的 web 系统使用证书(保存在 USBKey 里)登陆流程一般是:
    1.服务端产生一个随机数;
    2.客户端调用 USBKey 里的证书最这个随机数做签名;
    3.服务端验证签名,验证证书;
    4.验证都通过了,就允许登陆。

    一般在证书主题里存放登陆账号信息,如 CN=登陆账号。采用证书序列号与账号映射的方法也行,但麻烦一点。
        12
    liuzhiyong   117 天前 via Android
    “ web 登录使用加密狗”,这个不是纯粹前端可以搞定的,需要和加密狗硬件通信。
        13
    kayseen   117 天前
    @aboveall 多谢大家的帮助~~~
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   974 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 17ms · UTC 21:06 · PVG 05:06 · LAX 14:06 · JFK 17:06
    ♥ Do have faith in what you're doing.