(30 gadget day 2) 最简单也最复杂的Gadget - YubiKey
晚上翻出myo准备继续写的时候,被提示需要升级,于是就update呗。于是...就update了一个小时,现在还在转...
其他设备都在办公室,于是智能在家里翻箱倒柜...先是翻出了Chromecast,拿在手里很开心的开始看Cast文档。看了一会迫不及待的拿出来试。于是...
找了一圈基本确认Cast决定今天不见我以后,继续寻觅下一个下手的目标。于是找到了这只TI的“智能手表”。好吧,谁还认识它?
这次我谨慎审视了下,自然的决定了放弃。因为很显然我基本12个小时内找不到它的专用充电器...好~吧~于是最后翻到了它:YubiKey。
YubiKey呢,是个99.999%的人都不会有兴趣的Gadget,而且剩下的0.001%里顶多按过两三次以后就扔那了(><)
一次一密(OTP)
一次一密是一种简单粗暴有效的加密方式。基本的概念就是,每次加密用的钥匙都来个新的,跟上次用的没啥关系的。这样基本只能用遍历破解。
YubiKey OTP
YubiKey的使用很简单,插在电脑上,它就会亮。按一下那个唯一的按键,它就会往你光标在的位置“吐”一串密码。当然要登录的服务器得支持YubiKey的认证方式(所以基本没几个服务可以用,但是有LastPass)。
YubiKey的OTP实现如下。顶上紫色的是最终产生的一个字符串。其中前面一部分是用户ID,用来对应用户的公钥。后面部分是一个由counter何session key组合产生的密码。由于每次按键都会使得内部的counter自增,所以同一个密码是不能被拿来验证两次的。另外,由于这玩意儿里面的firmware是写死的,所以也基本不用担心算法被篡改的问题。
YubiCloud
刚才说到服务器要支持YubiKey的认证方式,YubiCloud就是Yubico给出的解决方案。流程很简单如下图。
只要在验证的步骤中增加一步跟YubiCloud交互的过程就ok了。一般这种应用会要求三个凭证来作为用户身份验证:用户名,密码,YubiKey产生的OTP。先验证密码的好处是,可以不至于每次输错密码都要重新产生一个OTP。
YubiCloud提供了几个写好的Server-YubiCloud的SDK,同时也给出了兼容这个协议的独立认证服务器实现参考,还有个第三方的go写的哟。
U2F
前段时间Gmail宣布支持U2F,因为有软件的Authenticator,硬件版本的U2F对于大部分二次验证用户来说...没啥用...但...对于在笔记本上使用二次验证的用户来说,买一个他家出的U2F SECURITY KEY,可能还是可以应对“手机没电”,“清空了Authenticator数据”,“手机丢了”等情况的。况且,日子还要过,逼还要装,怎能跟那些厮一样,打开个App看密码...
好吧,我承认今天的blog过于水了...就请看在之前找题材痛苦的份儿上...
晚安~
(30 gadget day 2) 最简单也最复杂的Gadget - YubiKey相关推荐
- 机器人坐标系建立_如何在30分钟内建立一个简单的搜索机器人
机器人坐标系建立 by Quinn Langille 奎因·兰吉尔(Quinn Langille) 如何在30分钟内建立一个简单的搜索机器人 (How to Build A Simple Search ...
- Linux-USB Gadget : Part 4: 最简单的 gadget驱动:g_zero
Linux-USB Gadget : Part 4: 最简单的 gadget驱动:g_zero 作者: zjujoe 转载请注明出处 Email : zjujoe@yahoo.com BLOG : h ...
- python简单代码演示效果-10分钟教你用python 30行代码搞定简单手写识别!
欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 手写笔记还是电子笔记好呢? 毕业季刚结束,眼瞅着2018级小萌新马上就要来了,老腊肉小编为了咱学弟学妹们的学习,绞尽脑汁准备编一套大学秘籍, ...
- 30.Android之百度地图简单学习
今天用了下百度地图,简单写了一个例子,记录下. 一.申请AK(API Key) 要想使用百度地图sdk,就必须申请一个百度地图的api key.申请流程挺简单的. 首先注册成为百度的开发者,然后打开h ...
- 30、python散点图绘制简单操作
散点图:是以一个变量为横坐标,另一个变量为纵坐标,利用三点(坐标点)的分布形态反映变量关系的一种图形 1 散点图绘图函数 plot(x,y,'.',color=(r,g,b)) 参数说明: x,y ...
- 一步步创建 边栏 Gadget(一)
相信朋友们总有这样的经历:通过视频站点看电视剧,由于种种原因全屏时候某个程序(word,Excel)等,而又不想错过看电视剧的机会.看看屏幕右侧边栏上的时钟,主意来咯,要是能够把站点的页面放在边栏上就 ...
- 一步步创建 边栏 Gadget(二)
相信使用上篇中创建的边栏Gadget之后,大家会很郁闷.难道视频窗口就那么小吗?看起来真费劲.我能通过该Gadget看着一部电视剧.而不能够定制自己需要的或者想要看的电视剧. 在上一篇一步步创建 边栏 ...
- USB gadget设备驱动解析
利用Linux USB gadget设备驱动可以实现一些比较有意思的功能,举两个例子: 1.一个嵌入式产品中的某个存储设备,或是一个存储设备的某个分区,可以作为一个U盘被PC:设别,从而非常方便的完成 ...
- android usb_disk2,Android USB gadget configfs学习笔记总结
1.一个config_item 是通过显式用户空间mkdir操作创建的,通过rmdir销毁.属性(文件)在mkdir之后出现,可以通过read和write读取或修改属性文件.与sysfs一样,read ...
最新文章
- 数值分析第三次作业-常微分方程的数值解法
- .NET Core 6.0之读取配置文件
- oracle if=,oracle中if/else的三种实现方式详解
- ClientDataSet 探讨
- Java数据库查询简介
- 大数据WEB阶段(十四)JavaEE开发模式
- sqlcipher java_纯java环境下sqlsqlcipher解密sqlite数据库文件
- cmake 判断操作系统平台
- 022 - cocos creator 3D
- CAD二维图导入UG草图
- 一个程序员的成长之路(持续更新)
- win10更新后耳机没有声音的解决方式
- 示波器FFT频谱分析的使用方法和注意点
- CreateFont比CreateFontIndirect好用啊~
- 340. 至多包含K个不同字符的最长子串
- JS childNodes
- 查看端口号,杀死端口号
- 浮点数比大小(C语言版)
- JavaWeb练习题(含答案)
- 希特管理学(希特)【内容摘要】