Universal 2nd Factor (U2F) 概述(4)-特定的公私秘钥对

来源:互联网 发布:逆战刷枪软件源码 编辑:程序博客网 时间:2024/06/07 03:05

特定的公私秘钥对


U2F设备和协议需要保障用户的隐私和安全。在协议的核心内容中,U2F可以创建源线上服务或网站特定的公私秘钥对(理想上应该是包含在一个SE安全单元中)。U2F设备在用户注册时会将公钥和KeyHandle提供给源线上服务或网站。

当用户执行认证时,源线上服务或网站将KeyHandle通过浏览器返回给U2F设备中。U2F设备使用KeyHandle去验证用户的私钥,同时生成一个签名发送到源线上服务或网站去验证这个U2F设备。因此,这个KeyHandle其实就是U2F设备的唯一的特定标识符。


用户在注册U2F设备是会创建秘钥对。当用户注册时,浏览器发送给U2F设备关于源线上服务或网站的Hash数据(结合协议规范,主机名和端口号)。U2F设备会返回公钥和KeyHandle。非常关键的是,U2F设备会将请求数据编码在KeyHandle中。

然后,当用户尝试去认证时,服务端会将用户的KeyHandle发送到浏览器。浏览器再将KeyHandle数据和服务端的请求验证的Hash数据发送给U2F设备。U2F设备确认它在执行任何签名操作之前,这个KeyHandle特定的Hash数据是已经存在的,如果是不匹配,则不会签名返回。

通过来源检查可以确保U2F设备为特定在线服务或网站的生成的公钥和KeyHandle不能由其他的在线服务或网站来执行使用。这是一个重要的隐私属性,在浏览器是正常工作的情况下,一个站点可以通过用户的U2F设备来验证身份,这个设备只有一个键,它已经被特定的U2F设备发布到特定的站点。如果没有这个来源检查,那么U2F设备发布的公钥和KeyHandle可以被用作“超级cookie”,就允许被多个关联站点对特定用户的身份进行强验证和关联。
阅读全文
0 0
原创粉丝点击