U2F装备平安测试 | 申博官网
登录
  • 欢迎进入Sunbet!
  • 如果您觉得Sunbet对你有帮助,那么赶紧使用Ctrl+D 收藏Sunbet并分享出去吧
  • 您好,这里是Sunbet!

U2F装备平安测试

U2F装备平安测试 U2F装备平安测试

在上一篇文章中,我对U2F装备的种种平安密钥住手了一个很深刻的平安引见,这其中就包孕了:基础功用,物理特征等,若是你感兴趣能够点此相识概况。在明天的这篇文章中,我会从一个更低级其余特征来测试U2F装备的平安性。

平安密钥用的是FIDO U2F范例,U2F (Universal 2nd Factor) 是 Yubico, Yahoo 和 Google 联合开发的基于物理装备的双要素认证协定,现在曾经完成规范化,从属于 FIDO (Fast Identity Online) 同盟名下。其余,FIDO U2F范例自创了智能卡ISO7816-4范例中的很多规范。FIDO U2F尽能够对每种能够的传输(USB,NFC或蓝牙)都住手范例,已肯定它们在传输时是怎样封装U2F音讯的,比方,USB接口会怎样封装U2F音讯。 现在FIDO正在对现在的规范住手订正,以应对将来能够的状况,不外现在一切的平安密钥规范都完成了基础的平安功用。简而言之,U2F包罗三大部分:注册,考证和搜检。

注册时U2F装备会建立一个新的密钥对,更准确地说,注册时服务器会发生一个32字节的Challenge数据和一个32字节的运用id。

注册请求音讯有两部分,如下图所示:

U2F装备平安测试 U2F装备平安测试

challenge parameter[32 bytes], challenge parameter是对客户端数据住手SHA-256运算失掉的哈希值,其余Challenge是一个随机数。Client Data是一个由FIDO客户端预备的JSON数据结构。

application parameter[32 bytes],application parameter是请求注册的运用id的SHA-256效果。而关于浏览器,运用id是登录页面的肇端地点中的URL的哈希值。

U2F装备密钥

U2F装备发生的密钥对是服务器联系关系的,一对密钥对应一个服务器,而不是一个U2F装备对应一个服务器。在注册的时刻,服务器给U2F装备传入服务器相干信息,U2F装备发生一对密钥对,将此密钥对和服务器相干信息相联系关系,给此密钥对分派一个key handle,将其和公钥传给服务器,服务器将注册的账户信息,公钥,key handle悉数联系关系在一同并生存。

当用户须要运用U2F考证操纵时,服务器发生Challenge数据,运用U2F装备做署名,此时服务器将key Handle和服务器信息经由过程浏览器传给U2F装备,U2F装备运用Key Handle,寻觅对应的密钥对,若是密钥对存在,磨练密钥对应的服务器信息是不是和传入的服务器信息婚配,若是不婚配,申明服务器是捏造或许不准确的。若是准确,U2F装备守候用户按键确认,用户按键后,U2F装备对Challenge数据做署名,运用id前往给服务器,服务器考证运用id,若是署名准确,申明此公钥对应的独一私钥是准确的,注解用户具有正当的U2F装备,若是署名不准确,申明此用户正在捏造身份登录。

U2F装备平安特征

然则一个对照风趣的中央是,U2F装备不带无穷大的平安存储空间。在现实研讨过程当中,我发明key handle现实上是一个加密的私钥,即用令牌卸载存储的公有密钥。然则,从实际上讲,key handle能够只是一个整数,用于对令牌内的存储密钥住手索引。以是为了包管平安性,私钥的珍爱很主要。U2F协定许可一个低价的装备,同时包管此装备不会泄漏私钥。Key handle能够不是U2F装备上一个私钥的索引,相反,Key Handle能够用来存储私钥和服务器相干信息,这些信息能够被加密生存到一个Key Handle中(比方运用aes加密私钥和服务器数据)。

鉴于此,在新订正的FIDO U2F范例中,有很多症结的平安范例照样应当保存上去,好比:

1.Key Handle应加密,以防备在那里找到ECDSA私钥。
2.一个平安密钥的Key Handle不克不及与另一个平安密钥一同运用,即使是相反的范例。
3.若是一个平安密钥被请求天生数百个密钥对,那末它们都应当是分歧的。
4.一切的署名都应当有独一的随机数,不然就能够涌现平安破绽,让人提取你的私钥。
5.应当对运用id住手搜检。

但除此以外,另有其他一些平安性须要住手测试:

1.Key Handle是不是是U2F令牌发生的,若是U2F令牌发明key handle不是本身建立的,直接住手毛病前往,若是是,U2F令牌必需前往一个认证相应。
2.署名是不是被准确编码了?U2F装备的署名接纳的是ASN.1编码。
3.USB协定传输的是64字节数据包,最初的添补字节应悉数为零,而不是随机的内存字节。

给了这么多实际的平安发起,但终究照样要实际连系理论,上面就让我们看看现在市场上的U2F装备是怎样住手密钥治理的。

Yubico

Yubico的产物现在还处于对照抢先的地位,产物还临时没有发明甚么破绽,肯定U2F的规范就是Yubico牵头制订的。

———————————————-

申博|网络安全巴士站【www.bus123.net】

申博|网络安全巴士站是一个专注于网络安全、系统安全、互联网安全、信息安全,全新视界的互联网安全新媒体。。

———————————————-

Vasco公司的SecureClick

Vasco公司的SecureClick也是一款很不错的产物,详细引见点此https://github.com/hillbrad/U2FReviews#secureclick。这是一个蓝牙低功耗(BLE)令牌,这意味着它能够与Android和iOS装备合营运用。关于非挪动装备,它包孕一个USB-A BLE加密狗。 SecureClick运用Chrome扩大来设置装备摆设和配对跨平台的加密狗。加密狗看起来像一个一般的USB装备,但区分就是它能从令牌中检测到到一个BLE旌旗灯号,此时它会“断开”,并住手从新衔接,以实行U2F操纵。一旦须要用户注册或认证的操纵完成,则令牌就会主动断电,并且加密狗再次断开并从新规复到原始USB装备的状况。

若是你正在运用Linux,那设置装备摆设的udev(装备治理器)就能够一般显现令牌供应商的ID和产物ID的接见权限,不外由于供应商ID和产物ID是分歧的,以是令牌没法一般事情, Chrome扩大顺序也很杂沓。另有一个题目就是BLE令牌装备的电池经常会因电量耗尽而住手事情。 

飞天诚信的ePass

ePass系列是由飞天诚信公司推出USB Key,主如果用作基于公钥系统的数字证书和私钥的平安载体,巨细犹如房间钥匙,外形和市面上的U盘相像,能够穿在钥匙环上随身携带。现在飞天诚信已获FIDO UAF认证,成为海内独一一家具有U2F和UAF双证的企业

ASN.1 DER被设想为可辨其余编码,即关于给定值,应当住手独一的分列,如许一切其他透露表现都是有用的。因而,数字应当被最小化编码,没有前导零。

不外ePass实在不具有如许的平安密钥,由于从9个前导零位最先的数字在最先时都有一个有用的零字节。能够推想,从17个零位最先的数字在最先时都有两个有用的零字节,然则我没有充足的时候来寻觅详细的案例。不外我能够推想这类平安密钥天生的256个署名中,只要一个属于有用编码。

另外,Key Handle的最初八个字节似乎是过剩的,也就是说,你能够将它们更改成你喜好的任何值,至于是不是能起到平安密钥就不肯定了。实在这倒不是甚么题目,真正的题目是,它们是不是会被运用?其余,USB数据包中的添补数据不为零,不外这只是明显了传输缓冲区的之前内容,实在不会泄漏甚么敏感数据。

Thetis

不知是甚么缘由,我没法在此装备上测试一些平安特征,好比Key Handle的可变性,运用id是不是经过了搜检等。对Key Handle的可变性搜检的相应是有用的,依据FIDO U2F范例,搜检相应的前往状况为0x9000 (“NO_ERROR”),但实在前往状况应当为0x6985或0x6a80。以后,它最先谢绝一切的含有0x6a80的Key Handle(包孕有用的)的相应。

该装备具有与飞天诚信的ePass相反的非最小署名编码题目,另外,若是你按键的速率太快,这个平安密钥就会堕入杂沓并谢绝一些status 0x6ffe请求。其余,USB添补字节也不为零。

U2F Zero

1KiB ping音讯瓦解此装备(即它住手相应USB音讯,须要拔下并从新拔出)。测试一个破坏的钥匙柄也会瓦解,因而我没法运转很多测试。

一个1KiB的 ping音讯即会让U2F Zero瓦解,并住手相应任何USB音讯,若是要从新运转就要拔上去从新拔出。其余测试一个瓦解的Key Handle也会瓦解,以是最初我只能摒弃对其的平安性测试。

KEY-ID/HyperFIDO

Key-ID和HyperFIDO装备,具有相反的固件,它们具有与ePass相反的非最小编码题目,除此以外,还存在ASN.1缺点。在ASN.1 DER中,若是一个数字的最高有用位被设置,那该数字就是正数。若是不是正数,则须要一个零添补字节。当测试最高有用位时平安密钥会搜检第一个字节是不是是> 0x80,但依照范例应当搜检第一个字节是不是是>= 0x80。如许搜检的效果就是有时会发生含有正数的署名,使得搜检有用。

其余,USB添补字节不是零,并且还包孕了不属于请求或相应的一部分数据。固然这些数据不太能够有甚么本质的影响,但它们是从哪里来的呢?这个确实是个有待研讨的题目。

另有就是封装的密钥也有一些题目。起首,字节16到31是装备和运用id的函数,因而,在分歧的帐户运用时,给定站点能够被动地识别到相反的符号。字节48至79未经身份考证,并且在更改时,除署名毛病以外,一切内容依然有用,这注解这些字节就是加密的私钥或天生它的加密种子。最初,固然字节32到47不克不及被恣意操纵,然则能够用来自分歧的key handle的替代相反的字节,这就会致使署名毛病。

本文翻译自:https://www.imperialviolet.org/2017/10/08/securitykeytest.html ,如若转载,请说明原文地点: http://www.4hou.com/tools/7935.html


Sunbet|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明U2F装备平安测试
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址