首先你需要去买一个加密狗设备,加密狗是外形酷似U盘的一种硬件设备! 这里我使用的坚石诚信公司的ET99产品

公司项目需要实现一个功能,就是客户使用加密狗登录, 客户不想输入任何密码之类的东西,只需要插上类似U盘的加密狗就验证身份登录! (当然如果U盘掉了,也就不安全了哦), 当时这个分配给我的时候,就给了我个ET99设备(类似于U盘那东西),和官方网站! 去官方下载资料(API & DEMO & DOC ),当时我自己心里也没有底,只有先试试吧! 正好今天“试”出来了,和大家分享一下!

ET99的安全性:

  1. 登录用户必须先输入自己的USER PIN进行验证后才有权限完成计算。
  2. USER PIN有最大重试次数限制,连续输入错误会锁死。从而防止硬件丢失后,被不合法的用户反复重试。
  3. 存储在ET99多功能锁中的密钥不能被任何人获取。
  4. 用户登录时必须具备硬件和保护硬件的USER PIN双重因子时才能登录。有硬件,不知道USER PIN或者知道USER PIN,没有硬件,都是没有办法登录的。比传统的用户名和密码方式大大增加的登录用户的安全性。(类似于银行的U盾)
  5. 保障了系统开发商的利益。使用硬件登录,不存在用户名密码共享的问题

ET99的认证方式

在整个认证过程中,ET99采用冲击响应的认证方式。当需要在网络上验证用户身份时,先由客户端向服务器发出一个验证请求。服务器接到此请求后生成一个随机数并通过网络传输给客户端(此为冲击)。客户端将收到的随机数提供给ET99,由ET99使用该随机数与存储在ET99中的密钥进行HMAC-MD5运算并得到一个结果作为认证证据传给服务器(此为响应)。与此同时,服务器也使用该随机数与存储在服务器数据库中的该客户密钥进行HMAC-MD5运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户。

如何开始:

1、在运行ET99全功能Active控件和ET99网页安全Active控件之前,请把FT_ET99_API.dll、ET99_MOD.dll和ET99_FULL.dll拷贝到系统目录下(一般位于windows系统中的system32目录下),然后注册全功能Active控件和网页Active控件,命令行命令如下:regsvr32 ET99_MOD.dll和 regsvr32 ET99_FULL.dll.

2. 初始化设备:

到这一步还没有结束呢 , 我操作的时候就以为结束了,部署官方的et99_sample_csharp_bs示例程序 , 怎么也登录不进去! 因为这里还没有写入Key!

而就是写入Key到数据库和ET99设备中这里需要我们来开发! (之前不清楚AspInit干什么,一头雾水)!

1. 实现AspInit页面功能, 把key和用户名写入到ET99和数据库中

2.第一步实现了就可以去登录试试了

3. 前面不是说PIN为16位吗? 怎么这里你才输入4位呢? 这样的话,那个客户愿意记住16位的PIN呢? 就需要自己写个修改PIN页面了! 第一次修改的时候,你还得输入16位PIN码,以后就不用了!

4. 现在总是大功告成了吧,还没呢?不是说要自动登录吗?怎么还要我点击登录呢?这个这个,好像不行吧!其他网站也是只有记住用户名和密码啊?好像还是需要去点击一下登录按钮吧! 老大说: "就先这样吧!"。还好今天早上,突然想到了思路, 用户第一次成功登录后,把PID,PIN写入Cookie里面,当下次登录的时候直接在Cookie里面获取,在使用JS调用登录按钮的click()事件即可! 可是很多人说cookie不安全啊,呵呵,就算别人获取到cookie里面的值又想怎么, ET99设备他总没有! 必须拥有PID+PIN+ET99设备才可以成功登录! 有个小插曲,做自动登录的时候,因为onload事件调用登录按钮的click()事件形成了死循环,一直在onload一直在click()!最后在前台JS声明个count计数变量,后台登录成功之后在把count值修改一下即可! 到此基本结束! 
 
结语:
这一周基本都在做这个!其中也遇到过很多错误! 很感谢http://www.cnblogs.com/novawu/archive/2010/02/05/1664444.html这位大哥写的ET99Tools,个人觉得比官方的还好!特别是异常处理那块!(当然我程序中异常处理也是直接copy他的代码过去 ET99_API.cs), 官方的文档也要仔细的看,当时我就是由于走马观的看了看,程序抛出的异常都不知道什么情况,比如执行有些函数必须的前置条件,结果前置条件都没有执行,当然程序会出错! 另:winform程序是引用ET99_MOD.dll,而asp.net程序则是引用ET99_FULL.dll,之前也是DLL引用错了,一直在错!
 
源程序+官方资料+ET99Tools(上面链接哪位仁兄写的)下载

使用USB Key(加密狗)实现身份认证相关推荐

  1. 加密狗,由USB硬件加密狗–软加密狗(软锁)–云授权的转变

    加密狗,由USB硬件加密狗–软加密狗(软锁)–云授权的转变 加密狗软授权常见问题 圣天诺LDK软授权 问:什么是软授权? 答:软授权(也称软锁)是以计算机文件作为载体的软件许可证(License) 类 ...

  2. USB加密锁(加密狗)复制和破解Key解密

    加密狗不是绝对不能复制,专门从事加密狗破解的人,肯不能用USB复制,因为USB和加密狗的构造完全不同,你知道哪些usb加密锁(加密狗)复制和破解的方法?下面由深圳凯基迪科技带大家一起分享: 目前加密锁 ...

  3. HTTPS接口加密和身份认证

    1.为什么要用HTTPS代替HTTP HTTPS和HTTP的区别 1)https协议需要到CA申请证书,一般免费证书很少,需要交费 2)http是超文本传输协议,信息是明文传输,https则是具有安全 ...

  4. 身份认证技术的产业发展

    相信大家都还记得一个经典的漫画,一条狗在计算机面前一边打字,一边对另一条狗说:"在互联网上,没有人知道你是一个人还是一条狗!"这个漫画说明了在互联网上很难识别身份. 身份认证是指计 ...

  5. 谈谈网银和USB Key

    (一) 写下这个题目,一时间又不知道从何说起了.事实上,对于网银和USB Key,有些东西不吐不快,特别是有时在网上的一些论坛里看到有人"分析/评论"使用USB Key的网银的安全 ...

  6. 什么是灵活的软件授权模式,如何选择软件加密狗?

    作为软件和智能设备行业里的人,您很有可能听说过"灵活的软件加密打包"或"灵活的软件授权模式".但这些究竟指的是什么?灵活的软件模式可以归结为扩展客户的选择.它让 ...

  7. asp.net form身份认证不定时认证失败的问题 排查

    1.网站出现form认证不定时认证失败.登陆过后 每隔一会儿就需要重新登陆.首先检查的是form身份认证票据设置的时间(正常) 然后检查加密后的身份认证信息写入的cookie的失效时间(正常) 2.这 ...

  8. 用C#开发加密狗程序

    一些商务管理软件,为了防止盗版,经常使用加密狗将软件加密.下面的两个实例将介绍如何将密码写入加密狗及利用加密狗来设计加密程序. 在使用加密狗时,需要向加密狗中写入或读取数据.例如,将密码写入或读取加密 ...

  9. 深思4加密狗有驱无驱转换_可以将内部无线适配器转换为加密狗吗?

    深思4加密狗有驱无驱转换 If you hate seeing good electronic parts go to waste, then you likely look for ways to ...

最新文章

  1. python小课骗局-谈谈学风变python小课感想,菜鸟表示真的挺简单
  2. 长安大学二级c语言考试题,长安大学03-04C语言A卷试题
  3. Java集合—HashMap为什么2倍扩容
  4. 华科10年保送生计算机考研复试机试
  5. 【英语学习】【Level 07】U04 Rest and Relaxation L2 A rest stop with everything
  6. mysql中为啥只显示一条语句_MySQL 笔记整理(19) --为什么我只查一行的语句,也执行这么慢?...
  7. 处理分页 上一页 下一页首页 末页问题
  8. python学生成绩表_通过excel表格分析学生成绩
  9. MySQL 计算同比环比
  10. Matlab计算质心
  11. java和vue实现滑动拼图验证码
  12. Office Word如何设置页码(MacOS中为例)
  13. 68个Python内置函数详解,进阶必备
  14. 百度财报解析-百度云要变成老大哥
  15. UTF8 中文占几个字节
  16. 解决系统中没有ASPNET用户的烦恼
  17. 记录自已学习之ARM汇编语言ldr和str
  18. 妥妥的去面试之Android基础(六)
  19. 供应思科无线AP 华为无线AP 华三无线AP aruba无线AP ruckus无线AP
  20. win10和ubuntu 双系统安装

热门文章

  1. linux 驱动学习笔记-ALSA声卡驱动(二)
  2. 苹果ceo乔布斯_苹果流年不利,再遭遇集体诉讼,库克为小利却造成惨重损失
  3. 云开发连接mysql_详解小程序云开发数据库
  4. 【NOIP2014模拟11.2B组】超氧化钾
  5. 音视频技术之《直播概念和流程框架》
  6. OCR论文综述(含文字识别、文本检测、端到端和数据集合)
  7. Java设计模式整理
  8. 计算机三员培训个人总结,个人技能培训总结(精选6篇)
  9. 中望3D2022 基准
  10. 基于 Kubernetes 实现 CI/CD 配置