USB 登录设计

1、usb 内部包含内容

一般的 usbkey,其内部内置了一套加密算法,并提供了对应的开发 sdk,对于用户而言,其内部存储的信息有:

1)usb PIN 码,用于读取 usb 信息;
2)usb 写密码,用于签发者往 usbkey 中写入账号和密码信息;
3)usb encrypt secret ,用于 usbkey 调用加密算法的秘钥;
4)account,签发者写入的账户信息;
5)password,签发者写入的密码信息。

PIN 码和 usbkey 组成双因子认证,任意一个丢失,都无法仿冒用户身份。

2、基于冲击-响应的双因子认证

下面以基于冲击-响应的双因子认证来说明一般软件加密狗的认证方式:

冲击-响应双因子认证流程

下面阐述一下 server 端校验逻辑:

  1.通过账号 id 在数据库中查询对应的 user;
  2.bcrypt(随机字符串+salt(数据库中记录的 user 加密密钥)== 随机字符串加盐 hash ?
  3.账户密码 == user.password ?
  4.sdk加密算法(随机字符串,user 加密密钥)  == 随机字符串 usb 加密串?

user 表中存储有:
user_read_secret: usb 的读取 PIN 码
user_write_secret: 签发者对该用户 usb 写密码
user_entrypt_sercret: 用户加密密钥

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • Guide to BluetoothSecurity原文 本出版物可免费从以下网址获得:https://doi.o...
    公子小水阅读 8,324评论 0 6
  • 原文地址 http://blog.csdn.net/u012409247/article/details/4985...
    0fbf551ff6fb阅读 3,582评论 0 13
  • 午后,阳光满布的后院,忽的飘入耳际的不仅是那远方传来的凄婉动听的鸟鸣,还有近前骤起于心底的涟漪。我迈着匆忙的步伐直...
    风不千山阅读 230评论 1 1
  • 分娩阵痛强忍住,世上母亲最伟大 生个小孩不容易,九死一生而生下 婴儿哭着来世上,不会走路只会爬 襁褓之中睁开眼,首...
    秋AldrichB果阅读 349评论 1 12